@sbb-esta/lyne-elements 5.0.0-next → 5.0.0-next.1

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 (984) hide show
  1. package/action-group/action-group.component.js +1 -1
  2. package/{action-group.component-L7G0Vv-N.js → action-group.component-B6X5FjkQ.js} +25 -25
  3. package/action-group.js +1 -1
  4. package/action-group.pure.js +1 -1
  5. package/alert/alert/alert.component.js +1 -1
  6. package/alert/alert-group/alert-group.component.js +1 -1
  7. package/{alert-group.component-CAjj3FtE.js → alert-group.component-BCYOVicl.js} +5 -7
  8. package/alert.component-BQsF0R1M.js +161 -0
  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 +3 -2
  13. package/{autocomplete-base-element-BysEZecQ.js → autocomplete-base-element-CSCv_WVh.js} +14 -9
  14. package/autocomplete.js +1 -1
  15. package/autocomplete.pure.js +1 -1
  16. package/{block-link-common-CDrCAdGP.js → block-link-common-BiM6tnUZ.js} +1 -1
  17. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  18. package/{breadcrumb-group.component-Bfm4RZu7.js → breadcrumb-group.component-De3Lu3lx.js} +1 -1
  19. package/breadcrumb.js +1 -1
  20. package/breadcrumb.pure.js +1 -1
  21. package/button/common/button-common.js +1 -1
  22. package/button-common-U0ZsZMjC.js +85 -0
  23. package/button.js +1 -1
  24. package/button.pure.js +1 -1
  25. package/calendar/calendar/calendar.component.js +1 -1
  26. package/{calendar.component-D6mdi1Q3.js → calendar.component-nWdtZYqg.js} +3 -3
  27. package/calendar.js +1 -1
  28. package/calendar.pure.js +1 -1
  29. package/card/card-badge/card-badge.component.js +1 -1
  30. package/{card-badge.component-CsEpGTHm.js → card-badge.component-CEqox6TU.js} +1 -1
  31. package/card.js +1 -1
  32. package/card.pure.js +1 -1
  33. package/checkbox/checkbox.component.js +1 -1
  34. package/checkbox/common/checkbox-common.js +1 -1
  35. package/{checkbox-common-Bo4u1RXX.js → checkbox-common-DSmxKbmR.js} +1 -1
  36. package/{checkbox.component-vjqZh2aC.js → checkbox.component-CR2aIgjA.js} +1 -1
  37. package/checkbox.js +2 -2
  38. package/checkbox.pure.js +2 -2
  39. package/chip/chip-group/chip-group.component.js +1 -1
  40. package/{chip-group.component-DPzfaV_H.js → chip-group.component-DbNctvjy.js} +1 -1
  41. package/chip-label/chip-label.component.js +1 -1
  42. package/chip-label.component-zRiHSxbn.js +77 -0
  43. package/chip-label.js +1 -1
  44. package/chip-label.pure.js +1 -1
  45. package/chip.js +1 -1
  46. package/chip.pure.js +1 -1
  47. package/{compact-paginator.component-DEEhXiMm.js → compact-paginator.component-Dyu9bezr.js} +1 -1
  48. package/core/controllers/overlay-position-controller.js +4 -1
  49. package/core/mixins/named-slot-list-mixin.js +4 -1
  50. package/core/overlay/overlay-trigger-attributes.js +3 -3
  51. package/core/styles/_index.scss +0 -1
  52. package/core/styles/core.scss +81 -78
  53. package/core/styles/host-scrollbar.scss +6 -0
  54. package/core/styles/mixins/helpers.scss +3 -3
  55. package/core/styles/mixins/overlay.scss +2 -2
  56. package/core/styles/mixins/panel.scss +5 -1
  57. package/core/styles/mixins/scrollbar.scss +5 -8
  58. package/core/styles/mixins/typo.scss +2 -2
  59. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables-as-css.scss +8 -0
  60. package/core/styles/scrollbar.scss +10 -8
  61. package/core/styles/styles.js +2 -2
  62. package/core.css +266 -85
  63. package/core.js +3 -3
  64. package/custom-elements.json +1359 -740
  65. package/datepicker/datepicker/datepicker.component.js +1 -1
  66. package/{datepicker.component-BBmEvmW3.js → datepicker.component-CNQGkdr-.js} +11 -11
  67. package/datepicker.js +1 -1
  68. package/datepicker.pure.js +1 -1
  69. package/development/accordion/accordion.component.d.ts.map +1 -1
  70. package/development/accordion.component-DGUoG6p2.js +1 -1
  71. package/development/action-group/action-group.component.d.ts +2 -4
  72. package/development/action-group/action-group.component.d.ts.map +1 -1
  73. package/development/action-group/action-group.component.js +1 -1
  74. package/development/{action-group.component-CJT4RArG.js → action-group.component-9Bkne2tt.js} +6 -6
  75. package/development/action-group.js +1 -1
  76. package/development/action-group.pure.js +1 -1
  77. package/development/alert/alert/alert.component.d.ts +2 -1
  78. package/development/alert/alert/alert.component.d.ts.map +1 -1
  79. package/development/alert/alert/alert.component.js +1 -1
  80. package/development/alert/alert-group/alert-group.component.d.ts.map +1 -1
  81. package/development/alert/alert-group/alert-group.component.js +1 -1
  82. package/development/alert-group.component-D4KxKTd2.js +186 -0
  83. package/development/alert.component-Pv-Ol6XU.js +213 -0
  84. package/development/alert.js +2 -2
  85. package/development/alert.pure.js +2 -2
  86. package/development/autocomplete/autocomplete-base-element.d.ts +8 -1
  87. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  88. package/development/autocomplete/autocomplete-base-element.js +1 -1
  89. package/development/autocomplete/autocomplete.component.js +4 -3
  90. package/development/autocomplete-base-element-Bwkns3IL.js +686 -0
  91. package/development/autocomplete.js +1 -1
  92. package/development/autocomplete.pure.js +1 -1
  93. package/development/{block-link-common-CwurjMj1.js → block-link-common-qMULXu4g.js} +2 -2
  94. package/development/breadcrumb/breadcrumb/breadcrumb.component.d.ts.map +1 -1
  95. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  96. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  97. package/development/breadcrumb-group.component-BC1mWiQE.js +193 -0
  98. package/development/breadcrumb.component-BLxRIaje.js +1 -1
  99. package/development/breadcrumb.js +1 -1
  100. package/development/breadcrumb.pure.js +1 -1
  101. package/development/button/accent-button/accent-button.component.d.ts.map +1 -1
  102. package/development/button/accent-button/accent-button.component.js +1 -1
  103. package/development/button/accent-button-link/accent-button-link.component.d.ts.map +1 -1
  104. package/development/button/accent-button-link/accent-button-link.component.js +1 -1
  105. package/development/button/accent-button-static/accent-button-static.component.d.ts.map +1 -1
  106. package/development/button/accent-button-static/accent-button-static.component.js +1 -1
  107. package/development/button/button/button.component.d.ts.map +1 -1
  108. package/development/button/button/button.component.js +1 -1
  109. package/development/button/button-link/button-link.component.d.ts.map +1 -1
  110. package/development/button/button-link/button-link.component.js +1 -1
  111. package/development/button/button-static/button-static.component.d.ts.map +1 -1
  112. package/development/button/button-static/button-static.component.js +1 -1
  113. package/development/button/common/button-common.d.ts +1 -1
  114. package/development/button/common/button-common.d.ts.map +1 -1
  115. package/development/button/common/button-common.js +1 -1
  116. package/development/button/mini-button/mini-button.component.d.ts.map +1 -1
  117. package/development/button/mini-button/mini-button.component.js +1 -1
  118. package/development/button/mini-button-group/mini-button-group.component.d.ts.map +1 -1
  119. package/development/button/mini-button-link/mini-button-link.component.d.ts.map +1 -1
  120. package/development/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  121. package/development/button/secondary-button/secondary-button.component.js +1 -1
  122. package/development/button/secondary-button-link/secondary-button-link.component.d.ts.map +1 -1
  123. package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
  124. package/development/button/secondary-button-static/secondary-button-static.component.d.ts.map +1 -1
  125. package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
  126. package/development/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  127. package/development/button/transparent-button/transparent-button.component.js +1 -1
  128. package/development/button/transparent-button-link/transparent-button-link.component.d.ts.map +1 -1
  129. package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
  130. package/development/button/transparent-button-static/transparent-button-static.component.d.ts.map +1 -1
  131. package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
  132. package/development/{button-common-jaQVRdwS.js → button-common-BdW88MAX.js} +5 -5
  133. package/development/button.js +1 -1
  134. package/development/button.pure.js +1 -1
  135. package/development/calendar/calendar/calendar.component.d.ts.map +1 -1
  136. package/development/calendar/calendar/calendar.component.js +1 -1
  137. package/development/calendar/calendar-day/calendar-day.component.d.ts.map +1 -1
  138. package/development/calendar/calendar-month/calendar-month.component.d.ts.map +1 -1
  139. package/development/calendar/calendar-month/calendar-month.component.js +1 -1
  140. package/development/calendar/calendar-weekday/calendar-weekday.component.d.ts.map +1 -1
  141. package/development/calendar/calendar-weekday/calendar-weekday.component.js +1 -1
  142. package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.d.ts.map +1 -1
  143. package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.js +1 -1
  144. package/development/calendar/calendar-year/calendar-year.component.d.ts.map +1 -1
  145. package/development/calendar/calendar-year/calendar-year.component.js +1 -1
  146. package/development/calendar/common/calendar-cell-base-element.d.ts +1 -1
  147. package/development/calendar/common/calendar-cell-base-element.d.ts.map +1 -1
  148. package/development/calendar-cell-base-element-DDNYX7UQ.js +1 -1
  149. package/development/calendar-day.component-CnNml44_.js +1 -1
  150. package/development/calendar.component-B5dz7mau.js +1451 -0
  151. package/development/calendar.js +2 -2
  152. package/development/calendar.pure.js +1 -1
  153. package/development/card/card/card.component.d.ts.map +1 -1
  154. package/development/card/card-badge/card-badge.component.d.ts.map +1 -1
  155. package/development/card/card-badge/card-badge.component.js +1 -1
  156. package/development/card/common/card-action-common.d.ts.map +1 -1
  157. package/development/card-action-common-HYrFMTkA.js +1 -1
  158. package/development/card-badge.component-CQBLpmpo.js +83 -0
  159. package/development/card.component-B2cQYSCD.js +1 -1
  160. package/development/card.js +2 -2
  161. package/development/card.pure.js +1 -1
  162. package/development/carousel/carousel/carousel.component.d.ts.map +1 -1
  163. package/development/carousel/carousel-item/carousel-item.component.d.ts.map +1 -1
  164. package/development/carousel/carousel-list/carousel-list.component.d.ts.map +1 -1
  165. package/development/carousel-item.component-MZIypyNR.js +1 -1
  166. package/development/carousel-list.component-z40-4ANn.js +1 -1
  167. package/development/carousel.component-BHYBvOm7.js +1 -1
  168. package/development/checkbox/checkbox.component.d.ts +1 -1
  169. package/development/checkbox/checkbox.component.d.ts.map +1 -1
  170. package/development/checkbox/checkbox.component.js +1 -1
  171. package/development/checkbox/common/checkbox-common.d.ts +1 -1
  172. package/development/checkbox/common/checkbox-common.d.ts.map +1 -1
  173. package/development/checkbox/common/checkbox-common.js +1 -1
  174. package/development/checkbox-common-DOoEKgML.js +84 -0
  175. package/development/checkbox-group/checkbox-group.component.js +1 -1
  176. package/development/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  177. package/development/checkbox-panel/checkbox-panel.component.js +1 -1
  178. package/development/{checkbox.component-DgrfkdyZ.js → checkbox.component-DZjhQhbB.js} +2 -2
  179. package/development/checkbox.js +2 -2
  180. package/development/checkbox.pure.js +2 -2
  181. package/development/chip/chip/chip.component.d.ts.map +1 -1
  182. package/development/chip/chip-group/chip-group.component.d.ts +1 -1
  183. package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
  184. package/development/chip/chip-group/chip-group.component.js +1 -1
  185. package/development/chip-group.component-B4Mjcep2.js +402 -0
  186. package/development/chip-label/chip-label.component.d.ts +1 -1
  187. package/development/chip-label/chip-label.component.d.ts.map +1 -1
  188. package/development/chip-label/chip-label.component.js +1 -1
  189. package/development/chip-label.component-Cx8mfi0y.js +100 -0
  190. package/development/chip-label.js +1 -1
  191. package/development/chip-label.pure.js +1 -1
  192. package/development/chip.component-zwTaIBf2.js +1 -1
  193. package/development/chip.js +1 -1
  194. package/development/chip.pure.js +1 -1
  195. package/development/clock/clock.component.d.ts.map +1 -1
  196. package/development/clock.component-EqFTxYod.js +1 -1
  197. package/development/compact-paginator.component-CRojCci5.js +51 -0
  198. package/development/container/container/container.component.d.ts.map +1 -1
  199. package/development/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  200. package/development/container.component-CM10qyHy.js +1 -1
  201. package/development/core/a11y/input-modality-detector.js +1 -1
  202. package/development/core/base-elements/button-base-element.d.ts +1 -1
  203. package/development/core/base-elements/button-base-element.d.ts.map +1 -1
  204. package/development/core/base-elements/button-base-element.js +1 -1
  205. package/development/core/base-elements/element.js +1 -1
  206. package/development/core/base-elements/selection-group-base-element.d.ts.map +1 -1
  207. package/development/core/controllers/media-matchers-controller.js +1 -1
  208. package/development/core/controllers/overlay-position-controller.js +3 -2
  209. package/development/core/controllers/property-watcher-controller.d.ts +1 -1
  210. package/development/core/controllers/property-watcher-controller.d.ts.map +1 -1
  211. package/development/core/controllers/property-watcher-controller.js +1 -1
  212. package/development/core/datetime/date-adapter.js +1 -1
  213. package/development/core/datetime/native-date-adapter.js +1 -1
  214. package/development/core/datetime/temporal-date-adapter.js +1 -1
  215. package/development/core/decorators/omit-empty-converter.d.ts.map +1 -1
  216. package/development/core/decorators/omit-empty-converter.js +1 -1
  217. package/development/core/eventing/throttle.d.ts +1 -0
  218. package/development/core/eventing/throttle.d.ts.map +1 -1
  219. package/development/core/eventing/throttle.js +2 -1
  220. package/development/core/mixins/disabled-mixin.js +1 -1
  221. package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  222. package/development/core/mixins/form-associated-checkbox-mixin.js +1 -1
  223. package/development/core/mixins/form-associated-input-mixin.js +1 -1
  224. package/development/core/mixins/form-associated-mixin.js +1 -1
  225. package/development/core/mixins/form-associated-radio-button-mixin.js +1 -1
  226. package/development/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
  227. package/development/core/mixins/named-slot-list-mixin.js +5 -2
  228. package/development/core/mixins/negative-mixin.js +1 -1
  229. package/development/core/mixins/panel-mixin.d.ts.map +1 -1
  230. package/development/core/mixins/readonly-mixin.js +1 -1
  231. package/development/core/mixins/required-mixin.js +1 -1
  232. package/development/core/overlay/overlay-trigger-attributes.d.ts +4 -4
  233. package/development/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
  234. package/development/core/overlay/overlay-trigger-attributes.js +12 -12
  235. package/development/core/screen-reader-only/screen-reader-only.component.d.ts.map +1 -1
  236. package/development/core/styles/styles.d.ts +1 -0
  237. package/development/core/styles/styles.d.ts.map +1 -1
  238. package/development/core/styles/styles.js +2 -2
  239. package/development/core/testing/event-spy.js +1 -1
  240. package/development/core.js +3 -3
  241. package/development/date-input/date-input.component.d.ts.map +1 -1
  242. package/development/date-input.component-osVJFOS-.js +1 -1
  243. package/development/datepicker/common/datepicker-button.d.ts +8 -2
  244. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  245. package/development/datepicker/common/datepicker-button.js +1 -1
  246. package/development/datepicker/datepicker/datepicker.component.d.ts +3 -0
  247. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  248. package/development/datepicker/datepicker/datepicker.component.js +1 -1
  249. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
  250. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
  251. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +1 -1
  252. package/development/datepicker-button-BI5R118p.js +166 -0
  253. package/development/datepicker.component-Chnvwnp7.js +212 -0
  254. package/development/datepicker.js +2 -2
  255. package/development/datepicker.pure.js +2 -2
  256. package/development/dialog/dialog/dialog.component.d.ts +0 -1
  257. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  258. package/development/dialog/dialog/dialog.component.js +1 -1
  259. package/development/dialog/dialog-actions/dialog-actions.component.d.ts +0 -1
  260. package/development/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  261. package/development/dialog/dialog-actions/dialog-actions.component.js +1 -1
  262. package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts.map +1 -1
  263. package/development/dialog/dialog-content/dialog-content.component.d.ts +1 -0
  264. package/development/dialog/dialog-content/dialog-content.component.d.ts.map +1 -1
  265. package/development/dialog/dialog-content/dialog-content.component.js +1 -1
  266. package/development/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  267. package/development/{dialog-actions.component-DErVa4WR.js → dialog-actions.component-Bu950dM-.js} +1 -9
  268. package/development/dialog-close-button.component-CxtWzXR4.js +1 -1
  269. package/development/dialog-content.component-DlSxpY_e.js +34 -0
  270. package/development/dialog-title.component-CNMzIUB2.js +1 -1
  271. package/development/dialog.component-BTXyWi17.js +233 -0
  272. package/development/dialog.js +4 -4
  273. package/development/dialog.pure.js +3 -3
  274. package/development/divider/divider.component.d.ts.map +1 -1
  275. package/development/divider.component-BvmLUhzD.js +1 -1
  276. package/development/error.component-TvgLhaZh.js +53 -0
  277. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  278. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
  279. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  280. package/development/expansion-panel-content.component-B-SV6ier.js +1 -1
  281. package/development/expansion-panel-header.component-Ok8Qmq5K.js +82 -0
  282. package/development/expansion-panel.component-q7cJOmUs.js +1 -1
  283. package/development/expansion-panel.js +2 -2
  284. package/development/expansion-panel.pure.js +1 -1
  285. package/development/file-selector/common/file-selector-common.d.ts +1 -1
  286. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  287. package/development/file-selector/common/file-selector-common.js +1 -1
  288. package/development/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
  289. package/development/file-selector/file-selector/file-selector.component.js +1 -1
  290. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  291. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  292. package/development/file-selector-common-BX5f18cJ.js +409 -0
  293. package/development/file-selector-dropzone.component-DMNom2OW.js +110 -0
  294. package/development/file-selector.js +3 -3
  295. package/development/file-selector.pure.js +2 -2
  296. package/development/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  297. package/development/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
  298. package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
  299. package/development/flip-card-details.component-CKRovHqO.js +1 -1
  300. package/development/flip-card-summary.component-THvJF3Cl.js +1 -1
  301. package/development/flip-card.component-qnodzif2.js +1 -1
  302. package/development/flip-card.js +1 -1
  303. package/development/footer/footer.component.d.ts.map +1 -1
  304. package/development/footer/footer.component.js +1 -1
  305. package/development/footer.component-kFeZqO-Q.js +169 -0
  306. package/development/footer.js +1 -1
  307. package/development/footer.pure.js +1 -1
  308. package/development/form-field/error/error.component.d.ts.map +1 -1
  309. package/development/form-field/error/error.component.js +1 -1
  310. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  311. package/development/form-field/form-field/form-field.component.js +1 -1
  312. package/development/form-field/form-field-clear/form-field-clear.component.d.ts +3 -0
  313. package/development/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  314. package/development/form-field/form-field-clear/form-field-clear.component.js +4 -1
  315. package/development/form-field/form-field-text-counter/form-field-text-counter.component.d.ts.map +1 -1
  316. package/development/form-field/form-field-text-counter/form-field-text-counter.component.js +1 -1
  317. package/development/form-field/hint/hint.component.d.ts.map +1 -1
  318. package/development/form-field/hint/hint.component.js +1 -1
  319. package/development/form-field.component-CdTnOAi2.js +703 -0
  320. package/development/form-field.js +3 -3
  321. package/development/form-field.pure.js +3 -3
  322. package/development/header/common/header-action-common.d.ts +1 -1
  323. package/development/header/common/header-action-common.d.ts.map +1 -1
  324. package/development/header/header/header.component.d.ts.map +1 -1
  325. package/development/header/header/header.component.js +1 -1
  326. package/development/header/header-environment/header-environment.component.d.ts.map +1 -1
  327. package/development/header-action-common-BEnsweEr.js +1 -1
  328. package/development/header-environment.component-D-SLP3CC.js +1 -1
  329. package/development/header.component-BmZkCs9m.js +335 -0
  330. package/development/header.js +2 -2
  331. package/development/header.pure.js +1 -1
  332. package/development/hint.component-D5rTFJ-O.js +36 -0
  333. package/development/icon/icon-base.d.ts.map +1 -1
  334. package/development/icon/icon-name-mixin.d.ts +1 -1
  335. package/development/icon/icon-name-mixin.d.ts.map +1 -1
  336. package/development/icon/icon-name-mixin.js +1 -1
  337. package/development/icon-base-VYmbZT1-.js +1 -1
  338. package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.d.ts.map +1 -1
  339. package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  340. package/development/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
  341. package/development/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
  342. package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.d.ts.map +1 -1
  343. package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  344. package/development/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts.map +1 -1
  345. package/development/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
  346. package/development/icon-sidebar-content.component-CfkM9k--.js +35 -0
  347. package/development/{icon-sidebar.component-xzwoc_4y.js → icon-sidebar.component-Cgvuxg4k.js} +3 -3
  348. package/development/icon-sidebar.js +3 -3
  349. package/development/icon-sidebar.pure.js +2 -2
  350. package/development/image/image.component.d.ts.map +1 -1
  351. package/development/image.component-BuAPmhIt.js +1 -1
  352. package/development/inline-link-common-CONiCeR9.js +1 -1
  353. package/development/journey-header/journey-header.component.d.ts.map +1 -1
  354. package/development/journey-header.component-BKX1K6cf.js +1 -1
  355. package/development/lead-container/lead-container.component.d.ts.map +1 -1
  356. package/development/lead-container.component-B1eW6Xgb.js +1 -1
  357. package/development/link/block-link/block-link.component.d.ts.map +1 -1
  358. package/development/link/block-link/block-link.component.js +1 -1
  359. package/development/link/common/block-link-common.d.ts +1 -1
  360. package/development/link/common/block-link-common.d.ts.map +1 -1
  361. package/development/link/common/block-link-common.js +1 -1
  362. package/development/link/common/inline-link-common.d.ts +1 -1
  363. package/development/link/common/inline-link-common.d.ts.map +1 -1
  364. package/development/link/common/link-common.d.ts +1 -1
  365. package/development/link/common/link-common.d.ts.map +1 -1
  366. package/development/link/link/link.component.d.ts.map +1 -1
  367. package/development/link/link/link.component.js +1 -1
  368. package/development/link-common-4Ag6Mio-.js +1 -1
  369. package/development/link-list/common/link-list-base.d.ts.map +1 -1
  370. package/development/link-list/link-list.component.d.ts.map +1 -1
  371. package/development/link-list-anchor/link-list-anchor.component.d.ts.map +1 -1
  372. package/development/link-list-anchor.component-Cotg5LDT.js +1 -1
  373. package/development/link-list-base-B7vidwUW.js +1 -1
  374. package/development/link-list.component-BFbrLjs0.js +1 -1
  375. package/development/link.js +1 -1
  376. package/development/link.pure.js +1 -1
  377. package/development/loading-indicator/loading-indicator.component.d.ts.map +1 -1
  378. package/development/loading-indicator-circle/loading-indicator-circle.component.d.ts.map +1 -1
  379. package/development/loading-indicator-circle.component-nc-RH0jT.js +1 -1
  380. package/development/loading-indicator.component-DNCUlh6S.js +1 -1
  381. package/development/logo/logo.component.d.ts.map +1 -1
  382. package/development/logo.component-tFe_T36e.js +1 -1
  383. package/development/map-container/map-container.component.d.ts.map +1 -1
  384. package/development/map-container/map-container.component.js +1 -1
  385. package/development/{map-container.component-mzZ_K_fR.js → map-container.component-DvHVJZEZ.js} +2 -3
  386. package/development/map-container.js +1 -1
  387. package/development/map-container.pure.js +1 -1
  388. package/development/menu/common/menu-action-common.d.ts +1 -1
  389. package/development/menu/common/menu-action-common.d.ts.map +1 -1
  390. package/development/menu/common/menu-action-common.js +1 -1
  391. package/development/menu/menu/menu.component.d.ts +1 -1
  392. package/development/menu/menu/menu.component.d.ts.map +1 -1
  393. package/development/menu/menu/menu.component.js +1 -1
  394. package/development/menu/menu-link/menu-link.component.d.ts.map +1 -1
  395. package/development/menu/menu-link/menu-link.component.js +1 -1
  396. package/development/menu-action-common-CEnwq60Z.js +32 -0
  397. package/development/menu.component-DbNRrGYy.js +365 -0
  398. package/development/menu.js +3 -3
  399. package/development/menu.pure.js +2 -2
  400. package/development/message/message.component.d.ts.map +1 -1
  401. package/development/message/message.component.js +1 -1
  402. package/development/message.component-Dzah9lXK.js +43 -0
  403. package/development/message.js +1 -1
  404. package/development/message.pure.js +1 -1
  405. package/development/mini-button-group.component-DNFyLMg_.js +1 -1
  406. package/development/mini-button-link.component-DflgG59S.js +1 -1
  407. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts +1 -1
  408. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -1
  409. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts.map +1 -1
  410. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts.map +1 -1
  411. package/development/mini-calendar-day.component-Bmx2GYGZ.js +1 -1
  412. package/development/mini-calendar-month.component-CdIsxUAx.js +1 -1
  413. package/development/mini-calendar.component-Ddxgy4Tj.js +1 -1
  414. package/development/mini-calendar.js +1 -1
  415. package/development/navigation/common/navigation-action-common.d.ts +1 -1
  416. package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
  417. package/development/navigation/common/navigation-action-common.js +1 -1
  418. package/development/navigation/navigation/navigation.component.d.ts +1 -1
  419. package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
  420. package/development/navigation/navigation/navigation.component.js +1 -1
  421. package/development/navigation/navigation-list/navigation-list.component.d.ts.map +1 -1
  422. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  423. package/development/navigation/navigation-marker/navigation-marker.component.d.ts +0 -1
  424. package/development/navigation/navigation-marker/navigation-marker.component.d.ts.map +1 -1
  425. package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
  426. package/development/navigation/navigation-section/navigation-section.component.d.ts +1 -1
  427. package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  428. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  429. package/development/navigation-action-common-Cv1AOqUk.js +92 -0
  430. package/development/navigation-list.component-CQ4q671G.js +90 -0
  431. package/development/navigation-marker.component-D7ks8vbC.js +121 -0
  432. package/development/navigation-section.component-t36xyaq4.js +346 -0
  433. package/development/navigation.component-Djm0PFOA.js +315 -0
  434. package/development/navigation.js +6 -6
  435. package/development/navigation.pure.js +5 -5
  436. package/development/notification/notification.component.d.ts.map +1 -1
  437. package/development/notification/notification.component.js +1 -1
  438. package/development/notification.component-BgF5aGrn.js +271 -0
  439. package/development/notification.js +1 -1
  440. package/development/notification.pure.js +1 -1
  441. package/development/optgroup-base-element-er7EBllh.js +1 -1
  442. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  443. package/development/option/option/option-base-element.d.ts.map +1 -1
  444. package/development/option/option/option-base-element.js +3 -1
  445. package/development/option/option/option.component.d.ts +1 -1
  446. package/development/option/option/option.component.d.ts.map +1 -1
  447. package/development/option/option/option.component.js +1 -1
  448. package/development/option/option-hint/option-hint.component.d.ts.map +1 -1
  449. package/development/option-hint.component-DLp9rQrk.js +1 -1
  450. package/development/option.component-B2EO4N0R.js +132 -0
  451. package/development/option.js +1 -1
  452. package/development/option.pure.js +1 -1
  453. package/development/overlay/overlay-base-element.d.ts +1 -1
  454. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  455. package/development/overlay/overlay-base-element.js +6 -6
  456. package/development/overlay/overlay.component.d.ts +0 -1
  457. package/development/overlay/overlay.component.d.ts.map +1 -1
  458. package/development/overlay/overlay.component.js +1 -1
  459. package/development/overlay.component-BcOBxY6k.js +210 -0
  460. package/development/overlay.js +1 -1
  461. package/development/overlay.pure.js +1 -1
  462. package/development/paginator/common/paginator-common.d.ts +1 -1
  463. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  464. package/development/paginator/common/paginator-common.js +1 -1
  465. package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  466. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  467. package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
  468. package/development/paginator/paginator/paginator.component.js +1 -1
  469. package/development/paginator.component-BlyTYIs0.js +261 -0
  470. package/development/paginator.js +2 -2
  471. package/development/paginator.pure.js +2 -2
  472. package/development/panel-mixin-CKHxLmjh.js +1 -1
  473. package/development/popover/popover.component.d.ts +2 -1
  474. package/development/popover/popover.component.d.ts.map +1 -1
  475. package/development/popover/popover.component.js +1 -1
  476. package/development/popover.component-DM9Bn8xl.js +535 -0
  477. package/development/popover.js +1 -1
  478. package/development/popover.pure.js +1 -1
  479. package/development/radio-button/common/radio-button-common.d.ts +1 -1
  480. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  481. package/development/radio-button/common/radio-button-common.js +1 -1
  482. package/development/radio-button/radio-button.component.d.ts.map +1 -1
  483. package/development/radio-button/radio-button.component.js +1 -1
  484. package/development/radio-button-common-ZMs5IFm2.js +125 -0
  485. package/development/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  486. package/development/radio-button-group/radio-button-group.component.js +1 -1
  487. package/development/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  488. package/development/radio-button-panel/radio-button-panel.component.js +1 -1
  489. package/development/{radio-button.component-DAgH41z0.js → radio-button.component-DggZ7RZD.js} +2 -2
  490. package/development/radio-button.js +2 -2
  491. package/development/radio-button.pure.js +2 -2
  492. package/development/screen-reader-only.component-D60AmiFy.js +1 -1
  493. package/development/select/select.component.d.ts +1 -1
  494. package/development/select/select.component.d.ts.map +1 -1
  495. package/development/select/select.component.js +1 -1
  496. package/development/select.component-BnHx3v3c.js +806 -0
  497. package/development/select.js +1 -1
  498. package/development/select.pure.js +1 -1
  499. package/development/selection-action-panel/selection-action-panel.component.d.ts.map +1 -1
  500. package/development/selection-action-panel.component-DvhL5Z_Q.js +1 -1
  501. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  502. package/development/selection-expansion-panel.component-D_HF9lzq.js +1 -1
  503. package/development/selection-group-base-element-rKKX4OAJ.js +1 -1
  504. package/development/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  505. package/development/sidebar/sidebar/sidebar.component.js +1 -1
  506. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  507. package/development/sidebar/sidebar-container/sidebar-container.component.d.ts.map +1 -1
  508. package/development/sidebar/sidebar-content/sidebar-content.component.d.ts +1 -2
  509. package/development/sidebar/sidebar-content/sidebar-content.component.d.ts.map +1 -1
  510. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  511. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts.map +1 -1
  512. package/development/sidebar-close-button.component-DYE0tK-I.js +1 -1
  513. package/development/sidebar-container.component-CC9TtB6I.js +1 -1
  514. package/development/{sidebar-content.component-Os9gd7zB.js → sidebar-content.component-DbcREBUa.js} +8 -5
  515. package/development/sidebar-title.component-DBb5MfIC.js +1 -1
  516. package/development/{sidebar.component-CwuT6dno.js → sidebar.component-zMWbdz0h.js} +2 -2
  517. package/development/sidebar.js +3 -3
  518. package/development/sidebar.pure.js +2 -2
  519. package/development/signet/signet.component.d.ts.map +1 -1
  520. package/development/signet.component-DO73qKor.js +1 -1
  521. package/development/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  522. package/development/skiplink-list.component-DqYT2mmv.js +1 -1
  523. package/development/slider/slider.component.d.ts +1 -1
  524. package/development/slider/slider.component.d.ts.map +1 -1
  525. package/development/slider/slider.component.js +1 -1
  526. package/development/slider.component-CXrGIpkh.js +346 -0
  527. package/development/slider.js +1 -1
  528. package/development/slider.pure.js +1 -1
  529. package/development/status/status.component.d.ts.map +1 -1
  530. package/development/status/status.component.js +1 -1
  531. package/development/status.component-BtJ8ri61.js +110 -0
  532. package/development/status.js +1 -1
  533. package/development/status.pure.js +1 -1
  534. package/development/step-label.component-Dfx9rLcN.js +126 -0
  535. package/development/step.component-D1Gq0VRW.js +146 -0
  536. package/development/stepper/step/step.component.d.ts.map +1 -1
  537. package/development/stepper/step/step.component.js +1 -1
  538. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  539. package/development/stepper/step-label/step-label.component.js +1 -1
  540. package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
  541. package/development/stepper.component-BTwJttZt.js +1 -1
  542. package/development/stepper.js +2 -2
  543. package/development/stepper.pure.js +2 -2
  544. package/development/sticky-bar.component-MMBSPa2B.js +1 -1
  545. package/development/styles-DcuJgwEt.js +14 -0
  546. package/development/styles-WppEBrlW.js +14 -0
  547. package/development/tab-group.component-DX7BY7Xy.js +270 -0
  548. package/development/{tab-label.component-Du1W0dxN.js → tab-label.component-Ggx6qaIk.js} +2 -2
  549. package/development/tab-nav-bar.component-BTPTHy2C.js +1 -1
  550. package/development/tab.component-BVhYPy5Y.js +68 -0
  551. package/development/table/table-wrapper/table-wrapper.component.d.ts.map +1 -1
  552. package/development/table/table-wrapper/table-wrapper.component.js +1 -1
  553. package/development/table-wrapper.component-DcLwEDzr.js +119 -0
  554. package/development/table.js +1 -1
  555. package/development/table.pure.js +1 -1
  556. package/development/tabs/common/styles.js +1 -1
  557. package/development/tabs/tab/tab.component.d.ts.map +1 -1
  558. package/development/tabs/tab/tab.component.js +1 -1
  559. package/development/tabs/tab-group/tab-group.component.d.ts +1 -0
  560. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  561. package/development/tabs/tab-group/tab-group.component.js +1 -1
  562. package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  563. package/development/tabs/tab-label/tab-label.component.js +1 -1
  564. package/development/tabs/tab-nav-bar/tab-nav-bar.component.d.ts.map +1 -1
  565. package/development/tabs.js +4 -4
  566. package/development/tabs.pure.js +4 -4
  567. package/development/tag/tag/tag.component.d.ts +1 -1
  568. package/development/tag/tag/tag.component.d.ts.map +1 -1
  569. package/development/tag/tag/tag.component.js +1 -1
  570. package/development/tag/tag-group/tag-group.component.d.ts.map +1 -1
  571. package/development/tag-group.component-SEbOfnip.js +1 -1
  572. package/development/tag.component-Davxisfj.js +241 -0
  573. package/development/tag.js +1 -1
  574. package/development/tag.pure.js +1 -1
  575. package/development/teaser/teaser.component.d.ts.map +1 -1
  576. package/development/teaser/teaser.component.js +1 -1
  577. package/development/teaser-hero/teaser-hero.component.d.ts +1 -1
  578. package/development/teaser-hero/teaser-hero.component.d.ts.map +1 -1
  579. package/development/teaser-hero/teaser-hero.component.js +1 -1
  580. package/development/teaser-hero.component-bp9IsVmY.js +100 -0
  581. package/development/teaser-hero.js +1 -1
  582. package/development/teaser-hero.pure.js +1 -1
  583. package/development/teaser-panel/teaser-panel.component.d.ts +19 -0
  584. package/development/teaser-panel/teaser-panel.component.d.ts.map +1 -0
  585. package/development/teaser-panel/teaser-panel.component.js +2 -0
  586. package/development/teaser-panel.component-CjSrfJYG.js +32 -0
  587. package/development/teaser-panel.d.ts +2 -0
  588. package/development/teaser-panel.d.ts.map +1 -0
  589. package/development/teaser-panel.js +9 -0
  590. package/development/teaser-panel.pure.d.ts +3 -0
  591. package/development/teaser-panel.pure.d.ts.map +1 -0
  592. package/development/teaser-panel.pure.js +2 -0
  593. package/development/teaser-product/common/teaser-product-common.d.ts +1 -1
  594. package/development/teaser-product/common/teaser-product-common.d.ts.map +1 -1
  595. package/development/teaser-product/common/teaser-product-common.js +1 -1
  596. package/development/teaser-product/teaser-product/teaser-product.component.d.ts +1 -1
  597. package/development/teaser-product/teaser-product/teaser-product.component.d.ts.map +1 -1
  598. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  599. package/development/teaser-product/teaser-product-static/teaser-product-static.component.d.ts.map +1 -1
  600. package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +1 -1
  601. package/development/{teaser-product-common-DhbAGnQN.js → teaser-product-common-DasV_SDa.js} +1 -1
  602. package/development/{teaser-product.component-C3PZbA5W.js → teaser-product.component-CB6fOX7T.js} +1 -1
  603. package/development/teaser-product.js +2 -2
  604. package/development/teaser-product.pure.js +2 -2
  605. package/development/{teaser.component-BJso_6lz.js → teaser.component-C7uXEaPK.js} +2 -2
  606. package/development/teaser.js +1 -1
  607. package/development/teaser.pure.js +1 -1
  608. package/development/time-input/time-input.component.d.ts.map +1 -1
  609. package/development/time-input/time-input.component.js +1 -1
  610. package/development/{time-input.component-BWMBV6fm.js → time-input.component-x-QOtbwE.js} +1 -1
  611. package/development/time-input.js +1 -1
  612. package/development/time-input.pure.js +1 -1
  613. package/development/timetable-form/timetable-form/timetable-form.component.d.ts.map +1 -1
  614. package/development/timetable-form/timetable-form/timetable-form.component.js +1 -1
  615. package/development/timetable-form/timetable-form-details/timetable-form-details.component.d.ts.map +1 -1
  616. package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  617. package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  618. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts +3 -0
  619. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts.map +1 -1
  620. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  621. package/development/{timetable-form-details.component-C8EdT4rZ.js → timetable-form-details.component-B7mwIQoz.js} +1 -1
  622. package/development/{timetable-form-field.component-CoANLGWk.js → timetable-form-field.component-BIpoMaJW.js} +1 -1
  623. package/development/{timetable-form-swap-button.component-BGziVzB8.js → timetable-form-swap-button.component-CyHdctws.js} +5 -1
  624. package/development/{timetable-form.component-DLjBbFRv.js → timetable-form.component-BBkeono7.js} +1 -1
  625. package/development/timetable-form.js +5 -5
  626. package/development/timetable-form.pure.js +4 -4
  627. package/development/timetable-occupancy/timetable-occupancy.component.d.ts +1 -1
  628. package/development/timetable-occupancy/timetable-occupancy.component.d.ts.map +1 -1
  629. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  630. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts.map +1 -1
  631. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  632. package/development/{timetable-occupancy-icon.component-DXFUx67a.js → timetable-occupancy-icon.component-CRayfWIo.js} +1 -1
  633. package/development/timetable-occupancy-icon.js +1 -1
  634. package/development/timetable-occupancy-icon.pure.js +1 -1
  635. package/development/{timetable-occupancy.component-By7X3Sj2.js → timetable-occupancy.component-B-uVA9KC.js} +2 -2
  636. package/development/timetable-occupancy.js +1 -1
  637. package/development/timetable-occupancy.pure.js +1 -1
  638. package/development/title/title-base.d.ts.map +1 -1
  639. package/development/title/title-base.js +1 -1
  640. package/development/title/title.component.d.ts.map +1 -1
  641. package/development/title/title.component.js +1 -1
  642. package/development/{title-base-Bc3biGfy.js → title-base-DKVyL7TQ.js} +2 -2
  643. package/development/{title.component-B7rIqG0N.js → title.component-BEEzA9cF.js} +2 -2
  644. package/development/title.js +2 -2
  645. package/development/title.pure.js +2 -2
  646. package/development/toast/toast.component.d.ts +1 -1
  647. package/development/toast/toast.component.d.ts.map +1 -1
  648. package/development/toast/toast.component.js +1 -1
  649. package/development/toast.component-DvVY7zpe.js +268 -0
  650. package/development/toast.js +1 -1
  651. package/development/toast.pure.js +1 -1
  652. package/development/toggle/toggle/toggle.component.d.ts +1 -1
  653. package/development/toggle/toggle/toggle.component.d.ts.map +1 -1
  654. package/development/toggle/toggle/toggle.component.js +1 -1
  655. package/development/toggle/toggle-option/toggle-option.component.d.ts +1 -0
  656. package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  657. package/development/toggle/toggle-option/toggle-option.component.js +1 -1
  658. package/development/toggle-check/toggle-check.component.d.ts.map +1 -1
  659. package/development/toggle-check/toggle-check.component.js +1 -1
  660. package/development/toggle-check.component-LYr7DJj1.js +156 -0
  661. package/development/toggle-check.js +1 -1
  662. package/development/toggle-check.pure.js +1 -1
  663. package/development/toggle-option.component-DRAJ11fp.js +164 -0
  664. package/development/toggle.component-CQYpVyvs.js +244 -0
  665. package/development/toggle.js +2 -2
  666. package/development/toggle.pure.js +2 -2
  667. package/development/tooltip/tooltip.component.d.ts.map +1 -1
  668. package/development/tooltip/tooltip.component.js +1 -1
  669. package/development/tooltip.component-Br7aDPFn.js +369 -0
  670. package/development/tooltip.js +1 -1
  671. package/development/tooltip.pure.js +1 -1
  672. package/development/train/train/train.component.d.ts.map +1 -1
  673. package/development/train/train/train.component.js +1 -1
  674. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  675. package/development/train/train-formation/train-formation.component.js +1 -1
  676. package/development/train/train-wagon/train-wagon.component.js +1 -1
  677. package/development/{train-blocked-passage.component-C6XmqBo_.js → train-blocked-passage.component-Bh2dR1gn.js} +1 -1
  678. package/development/{train-formation.component-CfdHRBsd.js → train-formation.component-Dm0t9N_h.js} +2 -2
  679. package/development/{train-wagon.component-zQVbqhIL.js → train-wagon.component-B6V4dPKn.js} +2 -2
  680. package/development/{train.component-D5Z4vgej.js → train.component-BvbNBkZF.js} +1 -1
  681. package/development/train.js +5 -5
  682. package/development/train.pure.js +4 -4
  683. package/development/visual-checkbox/visual-checkbox.component.d.ts.map +1 -1
  684. package/development/visual-checkbox/visual-checkbox.component.js +1 -1
  685. package/development/{visual-checkbox.component-jRksxrOu.js → visual-checkbox.component-DJ30EugM.js} +1 -1
  686. package/development/visual-checkbox.js +1 -1
  687. package/development/visual-checkbox.pure.js +1 -1
  688. package/dialog/dialog/dialog.component.js +1 -1
  689. package/dialog/dialog-actions/dialog-actions.component.js +1 -1
  690. package/dialog/dialog-content/dialog-content.component.js +1 -1
  691. package/{dialog-actions.component-ConxJ3VW.js → dialog-actions.component-DjBJ65tV.js} +4 -8
  692. package/dialog-content.component-C_Gr8BNL.js +22 -0
  693. package/{dialog.component-ca14M0hZ.js → dialog.component-ChB9gCyY.js} +7 -10
  694. package/dialog.js +3 -3
  695. package/dialog.pure.js +3 -3
  696. package/{error.component-BLChP2fE.js → error.component-D3JgDJfN.js} +1 -1
  697. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  698. package/{expansion-panel-header.component-DdRIlyms.js → expansion-panel-header.component-DYvq-uUi.js} +1 -1
  699. package/expansion-panel.js +1 -1
  700. package/expansion-panel.pure.js +1 -1
  701. package/file-selector/common/file-selector-common.js +1 -1
  702. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  703. package/{file-selector-common-DpccuOQ4.js → file-selector-common-CMLaHuDP.js} +38 -40
  704. package/{file-selector-dropzone.component-Bz3Wpl0X.js → file-selector-dropzone.component-CWwpvAVD.js} +3 -4
  705. package/file-selector.js +2 -2
  706. package/file-selector.pure.js +2 -2
  707. package/footer/footer.component.js +1 -1
  708. package/{footer.component-Don15vOd.js → footer.component-CdTEaV6u.js} +1 -1
  709. package/footer.js +1 -1
  710. package/footer.pure.js +1 -1
  711. package/form-field/error/error.component.js +1 -1
  712. package/form-field/form-field/form-field.component.js +1 -1
  713. package/form-field/hint/hint.component.js +1 -1
  714. package/{form-field.component-Do5eratI.js → form-field.component-Dtzbp6-e.js} +3 -2
  715. package/form-field.js +3 -3
  716. package/form-field.pure.js +3 -3
  717. package/header/header/header.component.js +1 -1
  718. package/{header.component-BxizSy1O.js → header.component-DoAFSXgO.js} +3 -3
  719. package/header.js +1 -1
  720. package/header.pure.js +1 -1
  721. package/{hint.component-CaF6CBCN.js → hint.component-BB_h0G6v.js} +1 -1
  722. package/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  723. package/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  724. package/{icon-sidebar-content.component-DlUqWEAX.js → icon-sidebar-content.component-lFstg91Y.js} +9 -5
  725. package/{icon-sidebar.component-DbA4omxc.js → icon-sidebar.component-D0TtF-kR.js} +11 -11
  726. package/icon-sidebar.js +2 -2
  727. package/icon-sidebar.pure.js +2 -2
  728. package/index.d.ts +2 -0
  729. package/index.js +2 -0
  730. package/link/common/block-link-common.js +1 -1
  731. package/link.js +1 -1
  732. package/link.pure.js +1 -1
  733. package/map-container/map-container.component.js +1 -1
  734. package/{map-container.component-Cqn9mKoo.js → map-container.component-BlrPWANi.js} +1 -2
  735. package/map-container.js +1 -1
  736. package/map-container.pure.js +1 -1
  737. package/menu/common/menu-action-common.js +1 -1
  738. package/menu/menu/menu.component.js +1 -1
  739. package/{menu-action-common-DY4RrfCy.js → menu-action-common-krzD_Ca2.js} +1 -1
  740. package/{menu.component-XvtyRok7.js → menu.component-KdXwqe55.js} +15 -15
  741. package/menu.js +2 -2
  742. package/menu.pure.js +2 -2
  743. package/message/message.component.js +1 -1
  744. package/message.component-CF-_MD7m.js +26 -0
  745. package/message.js +1 -1
  746. package/message.pure.js +1 -1
  747. package/navigation/common/navigation-action-common.js +1 -1
  748. package/navigation/navigation/navigation.component.js +1 -1
  749. package/navigation/navigation-list/navigation-list.component.js +1 -1
  750. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  751. package/navigation/navigation-section/navigation-section.component.js +1 -1
  752. package/navigation-action-common-BKI1MS1v.js +66 -0
  753. package/{navigation-list.component-DQeyXtOA.js → navigation-list.component-BX-kv06z.js} +13 -13
  754. package/navigation-marker.component-iSodFQRj.js +85 -0
  755. package/navigation-section.component-K4Pa53K7.js +230 -0
  756. package/navigation.component-BFejmwjr.js +202 -0
  757. package/navigation.js +5 -5
  758. package/navigation.pure.js +5 -5
  759. package/notification/notification.component.js +1 -1
  760. package/{notification.component-IsSZe3Ul.js → notification.component-D9oxjMJs.js} +1 -1
  761. package/notification.js +1 -1
  762. package/notification.pure.js +1 -1
  763. package/off-brand-theme.css +317 -138
  764. package/option/option/option-base-element.js +1 -1
  765. package/option/option/option.component.js +1 -1
  766. package/{option.component-C1Mm3ZFh.js → option.component-B8PivDHD.js} +1 -1
  767. package/option.js +1 -1
  768. package/option.pure.js +1 -1
  769. package/overlay/overlay-base-element.js +4 -4
  770. package/overlay/overlay.component.js +1 -1
  771. package/overlay.component-C6i5RA4B.js +160 -0
  772. package/overlay.js +1 -1
  773. package/overlay.pure.js +1 -1
  774. package/package.json +11 -1
  775. package/paginator/compact-paginator/compact-paginator.component.js +1 -1
  776. package/paginator/paginator/paginator.component.js +1 -1
  777. package/{paginator.component-BkECB-iV.js → paginator.component-DA_wUypF.js} +1 -1
  778. package/paginator.js +2 -2
  779. package/paginator.pure.js +2 -2
  780. package/popover/popover.component.js +1 -1
  781. package/{popover.component-BfSXNxKK.js → popover.component-BkhmysoH.js} +18 -15
  782. package/popover.js +1 -1
  783. package/popover.pure.js +1 -1
  784. package/radio-button/common/radio-button-common.js +1 -1
  785. package/radio-button/radio-button.component.js +1 -1
  786. package/{radio-button-common-CQyKqDLJ.js → radio-button-common-iNYco_B8.js} +1 -1
  787. package/{radio-button.component-Cenb6FL5.js → radio-button.component-v5czJYC3.js} +1 -1
  788. package/radio-button.js +2 -2
  789. package/radio-button.pure.js +2 -2
  790. package/safety-theme.css +317 -138
  791. package/scrollbar.css +51 -53
  792. package/select/select.component.js +1 -1
  793. package/{select.component-Cu3ewc4i.js → select.component-De-aDcuf.js} +3 -3
  794. package/select.js +1 -1
  795. package/select.pure.js +1 -1
  796. package/sidebar/sidebar/sidebar.component.js +1 -1
  797. package/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  798. package/{sidebar-content.component-DEgmt4BB.js → sidebar-content.component-CYupfsq_.js} +9 -5
  799. package/{sidebar.component-Bxt8pWMf.js → sidebar.component-Sw06otwx.js} +1 -1
  800. package/sidebar.js +2 -2
  801. package/sidebar.pure.js +2 -2
  802. package/slider/slider.component.js +1 -1
  803. package/{slider.component-B3V7sjSF.js → slider.component-DfMkuXac.js} +1 -1
  804. package/slider.js +1 -1
  805. package/slider.pure.js +1 -1
  806. package/standard-theme.css +317 -138
  807. package/status/status.component.js +1 -1
  808. package/{status.component-CgMvY4Pe.js → status.component-5SKEusnj.js} +1 -1
  809. package/status.js +1 -1
  810. package/status.pure.js +1 -1
  811. package/step-label.component-DM7lQw8b.js +77 -0
  812. package/{step.component-aBAfTJyO.js → step.component-DuLOqjZk.js} +5 -7
  813. package/stepper/step/step.component.js +1 -1
  814. package/stepper/step-label/step-label.component.js +1 -1
  815. package/stepper.js +2 -2
  816. package/stepper.pure.js +2 -2
  817. package/styles-DisU4TWi.js +5 -0
  818. package/styles-swTeDfst.js +5 -0
  819. package/{tab-group.component-sdbLQtoj.js → tab-group.component-B3uz-8FA.js} +31 -27
  820. package/{tab-label.component-CH24fqmB.js → tab-label.component-JjktN30A.js} +1 -1
  821. package/{tab.component-DGzqld4u.js → tab.component-D6hfhlZw.js} +6 -6
  822. package/table/table-wrapper/table-wrapper.component.js +1 -1
  823. package/{table-wrapper.component-C36NdMWS.js → table-wrapper.component-Dxb8kzV3.js} +13 -13
  824. package/table.js +1 -1
  825. package/table.pure.js +1 -1
  826. package/tabs/common/styles.js +1 -1
  827. package/tabs/tab/tab.component.js +1 -1
  828. package/tabs/tab-group/tab-group.component.js +1 -1
  829. package/tabs/tab-label/tab-label.component.js +1 -1
  830. package/tabs.js +4 -4
  831. package/tabs.pure.js +4 -4
  832. package/tag/tag/tag.component.js +1 -1
  833. package/{tag.component-B7YExnbA.js → tag.component-BGYVbfUx.js} +1 -1
  834. package/tag.js +1 -1
  835. package/tag.pure.js +1 -1
  836. package/teaser/teaser.component.js +1 -1
  837. package/teaser-hero/teaser-hero.component.js +1 -1
  838. package/teaser-hero.component-By1HInfz.js +80 -0
  839. package/teaser-hero.js +1 -1
  840. package/teaser-hero.pure.js +1 -1
  841. package/teaser-panel/teaser-panel.component.js +2 -0
  842. package/teaser-panel.component-C4auDYCc.js +21 -0
  843. package/teaser-panel.js +6 -0
  844. package/teaser-panel.pure.js +2 -0
  845. package/teaser-product/common/teaser-product-common.js +1 -1
  846. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  847. package/teaser-product.js +2 -2
  848. package/teaser-product.pure.js +2 -2
  849. package/{teaser.component-BaxumXCl.js → teaser.component-B2y2AlAx.js} +1 -1
  850. package/teaser.js +1 -1
  851. package/teaser.pure.js +1 -1
  852. package/time-input/time-input.component.js +1 -1
  853. package/time-input.js +1 -1
  854. package/time-input.pure.js +1 -1
  855. package/timetable-form/timetable-form/timetable-form.component.js +1 -1
  856. package/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  857. package/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  858. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  859. package/{timetable-form-swap-button.component-BT36u2L9.js → timetable-form-swap-button.component-D9wBQQkG.js} +1 -1
  860. package/timetable-form.js +4 -4
  861. package/timetable-form.pure.js +4 -4
  862. package/timetable-occupancy/timetable-occupancy.component.js +1 -1
  863. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  864. package/timetable-occupancy-icon.js +1 -1
  865. package/timetable-occupancy-icon.pure.js +1 -1
  866. package/{timetable-occupancy.component-BbHtiw_F.js → timetable-occupancy.component-Dq9RM6qS.js} +1 -1
  867. package/timetable-occupancy.js +1 -1
  868. package/timetable-occupancy.pure.js +1 -1
  869. package/title/title-base.js +1 -1
  870. package/title/title.component.js +1 -1
  871. package/{title-base-Cbe4eNS1.js → title-base-B43-Q_7r.js} +1 -1
  872. package/{title.component-7zqQqbRJ.js → title.component-DXJHJ6p6.js} +1 -1
  873. package/title.js +2 -2
  874. package/title.pure.js +2 -2
  875. package/toast/toast.component.js +1 -1
  876. package/toast.component-2hmfUgsX.js +184 -0
  877. package/toast.js +1 -1
  878. package/toast.pure.js +1 -1
  879. package/toggle/toggle/toggle.component.js +1 -1
  880. package/toggle/toggle-option/toggle-option.component.js +1 -1
  881. package/toggle-check/toggle-check.component.js +1 -1
  882. package/toggle-check.component-WVQ4NM-R.js +116 -0
  883. package/toggle-check.js +1 -1
  884. package/toggle-check.pure.js +1 -1
  885. package/{toggle-option.component-BF95HWOF.js → toggle-option.component-DeePQ-NW.js} +5 -7
  886. package/{toggle.component-2e_7FeR4.js → toggle.component-BGgAnHau.js} +6 -10
  887. package/toggle.js +2 -2
  888. package/toggle.pure.js +2 -2
  889. package/tooltip/tooltip.component.js +1 -1
  890. package/{tooltip.component-C5y6zCtF.js → tooltip.component-Bp-8vRoA.js} +12 -12
  891. package/tooltip.js +1 -1
  892. package/tooltip.pure.js +1 -1
  893. package/train/train/train.component.js +1 -1
  894. package/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  895. package/train/train-formation/train-formation.component.js +1 -1
  896. package/train/train-wagon/train-wagon.component.js +1 -1
  897. package/{train-formation.component-5AASBGSX.js → train-formation.component-DS4EDwPY.js} +1 -1
  898. package/{train-wagon.component-CLMLEf6I.js → train-wagon.component-LwKwwuta.js} +1 -1
  899. package/train.js +4 -4
  900. package/train.pure.js +4 -4
  901. package/visual-checkbox/visual-checkbox.component.js +1 -1
  902. package/visual-checkbox.js +1 -1
  903. package/visual-checkbox.pure.js +1 -1
  904. package/alert.component-C42LwoGa.js +0 -163
  905. package/button-common-C3wYY-UK.js +0 -85
  906. package/chip-label.component-CUJTTb1-.js +0 -79
  907. package/core/styles/mixins/chip.scss +0 -95
  908. package/development/alert-group.component-DeI6kuwn.js +0 -188
  909. package/development/alert.component-Cn36k_Hf.js +0 -214
  910. package/development/autocomplete-base-element-B5n-eCMO.js +0 -672
  911. package/development/breadcrumb-group.component-DP9X9qV1.js +0 -193
  912. package/development/calendar.component-CByyksy8.js +0 -1450
  913. package/development/card-badge.component-Be4gXazr.js +0 -83
  914. package/development/checkbox-common-DpE48IrV.js +0 -84
  915. package/development/chip-group.component-CxM8l839.js +0 -402
  916. package/development/chip-label.component-C1CGL8zb.js +0 -102
  917. package/development/compact-paginator.component-DiMeNNTc.js +0 -51
  918. package/development/datepicker-button-CIvIHG8k.js +0 -160
  919. package/development/datepicker.component-BEiMYEc-.js +0 -211
  920. package/development/dialog-content.component-B3VB2ptp.js +0 -30
  921. package/development/dialog.component-BYVTZAUU.js +0 -238
  922. package/development/error.component-C8JQQqSB.js +0 -53
  923. package/development/expansion-panel-header.component-CWojFAB-.js +0 -82
  924. package/development/file-selector-common-DE_jT1fa.js +0 -411
  925. package/development/file-selector-dropzone.component-dyv_u-Ga.js +0 -111
  926. package/development/footer.component-Dbc5xFqr.js +0 -169
  927. package/development/form-field.component-DGOrnYkc.js +0 -702
  928. package/development/header.component-Hfgz9sSb.js +0 -336
  929. package/development/hint.component-hKw1TLvO.js +0 -36
  930. package/development/icon-sidebar-content.component-CMzp1ewD.js +0 -31
  931. package/development/menu-action-common-Crx-dDgH.js +0 -32
  932. package/development/menu.component-DOv7PKIi.js +0 -367
  933. package/development/message.component-CrXtMprr.js +0 -43
  934. package/development/navigation-action-common-ZBiv0Xiw.js +0 -93
  935. package/development/navigation-list.component-DilKlDwx.js +0 -90
  936. package/development/navigation-marker.component-BsfPR_uk.js +0 -122
  937. package/development/navigation-section.component-C_9myQKr.js +0 -349
  938. package/development/navigation.component-C8MhqBLY.js +0 -318
  939. package/development/notification.component-CKyNdgbx.js +0 -271
  940. package/development/option.component-Dod6JgbH.js +0 -132
  941. package/development/overlay.component-BuCkqG6Q.js +0 -216
  942. package/development/paginator.component-Cqm7MuRD.js +0 -261
  943. package/development/popover.component-B15jFLe9.js +0 -529
  944. package/development/radio-button-common-u7NYOI2p.js +0 -125
  945. package/development/select.component-CqwBdtsN.js +0 -804
  946. package/development/slider.component-ZBdkbZei.js +0 -346
  947. package/development/status.component-p-egQ_U4.js +0 -110
  948. package/development/step-label.component-CxqPgbzK.js +0 -128
  949. package/development/step.component-B2qbHl0l.js +0 -150
  950. package/development/styles-CcYw6JtZ.js +0 -8
  951. package/development/styles-D_8dMc_0.js +0 -14
  952. package/development/tab-group.component-C3R8ZTbg.js +0 -266
  953. package/development/tab.component-DteuwiHv.js +0 -70
  954. package/development/table-wrapper.component-iSeT-FPH.js +0 -119
  955. package/development/tag.component-CWL9jJTW.js +0 -241
  956. package/development/teaser-hero.component-7KeR7bPf.js +0 -101
  957. package/development/toast.component-Cy13egVy.js +0 -269
  958. package/development/toggle-check.component-CuODx4cx.js +0 -156
  959. package/development/toggle-option.component-BWT4kEZo.js +0 -165
  960. package/development/toggle.component-DjLnSv3R.js +0 -249
  961. package/development/tooltip.component-BtWTK2R0.js +0 -371
  962. package/dialog-content.component-DvJiuDJI.js +0 -19
  963. package/message.component-DgTPvDym.js +0 -26
  964. package/navigation-action-common-Dm47M2BG.js +0 -66
  965. package/navigation-marker.component-1VHe19c9.js +0 -85
  966. package/navigation-section.component-CLcdmPV3.js +0 -231
  967. package/navigation.component-Cnyb5_4R.js +0 -203
  968. package/overlay.component-OzDUV8t1.js +0 -164
  969. package/step-label.component-qdfunibJ.js +0 -77
  970. package/styles-DMLyYaea.js +0 -5
  971. package/styles-x5HG0xjp.js +0 -6
  972. package/teaser-hero.component-CLuVP2ba.js +0 -81
  973. package/toast.component-BY72fOXh.js +0 -185
  974. package/toggle-check.component-DkOBgRQM.js +0 -116
  975. /package/{teaser-product-common-B8NakRRV.js → teaser-product-common-Kz3ApcVE.js} +0 -0
  976. /package/{teaser-product.component-Dqapk40c.js → teaser-product.component-C7KoSqcP.js} +0 -0
  977. /package/{time-input.component-N0DexLd9.js → time-input.component-BVoO7JLV.js} +0 -0
  978. /package/{timetable-form-details.component-CIY5ZAQJ.js → timetable-form-details.component-BQmF3WLu.js} +0 -0
  979. /package/{timetable-form-field.component-LuzgeDdh.js → timetable-form-field.component-DrQuTOJr.js} +0 -0
  980. /package/{timetable-form.component-YNDnJnkX.js → timetable-form.component-AbZF15Tg.js} +0 -0
  981. /package/{timetable-occupancy-icon.component-DPNwMhLs.js → timetable-occupancy-icon.component-B6pF-j0D.js} +0 -0
  982. /package/{train-blocked-passage.component-EET0Kobk.js → train-blocked-passage.component-DIh8dbU9.js} +0 -0
  983. /package/{train.component-D_ysGCwu.js → train.component-DuFi_iBX.js} +0 -0
  984. /package/{visual-checkbox.component-CdqoYyEe.js → visual-checkbox.component-BsjmJgcn.js} +0 -0
@@ -1,271 +0,0 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { html, nothing, unsafeCSS } from "lit";
3
- import { property } from "lit/decorators.js";
4
- import { SbbElement, SbbLanguageController, SbbReadonlyMixin, boxSizingStyles, i18nCloseNotification, isLean, isZeroAnimationDuration } from "./core.js";
5
- import { SbbSecondaryButtonElement } from "./button.pure.js";
6
- import { SbbDividerElement } from "./divider.pure.js";
7
- import { SbbIconNameMixin } from "./icon.pure.js";
8
- import { ResizeController } from "@lit-labs/observers/resize-controller.js";
9
- //#region src/elements/notification/notification.scss?inline
10
- var notification_default = ":host {\n --sbb-notification-border: var(--sbb-notification-border-width) solid\n var(--sbb-notification-type-color);\n --sbb-notification-background-color: color-mix(in srgb, var(--sbb-notification-type-color) 5%, white);\n --sbb-notification-background-color: light-dark(\n color-mix(in srgb, var(--sbb-notification-type-color) 5%, white),\n color-mix(in srgb, var(--sbb-notification-type-color) 35%, white)\n );\n --sbb-notification-icon-color: var(--sbb-notification-type-color);\n --sbb-notification-border-radius-start: calc(var(--sbb-notification-base-border-radius) / 2);\n --sbb-notification-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-4x)\n );\n --_sbb-notification-icon-authoritative-font-size: 1em;\n --_sbb-notification-icon-authoritative-line-height: var(--sbb-typo-line-height-text);\n --_sbb-notification-inset-inline-start: calc(\n var(--sbb-notification-base-border-radius) - var(--sbb-notification-border-width)\n );\n --sbb-focus-outline-color: var(--sbb-focus-outline-color-default);\n display: block;\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n font-size: var(--sbb-notification-font-size);\n}\n\n:host(:is(:state(state-opening),[state--state-opening]):not([animation=open], [animation=all])) {\n --sbb-disable-animation-duration: 0s;\n}\n\n:host(:is(:state(state-closing),[state--state-closing]):not([animation=close], [animation=all])) {\n --sbb-disable-animation-duration: 0s;\n}\n\n:host(:is(:state(resize-disable-animation),[state--resize-disable-animation])) {\n --sbb-disable-animation-duration: 0s;\n}\n\n:host(:is(:state(slotted-title),[state--slotted-title])) {\n --_sbb-notification-icon-authoritative-font-size: var(--sbb-heading-font-size-5);\n --_sbb-notification-icon-authoritative-line-height: var(--sbb-typo-line-height-heading);\n}\n\n:host(:is(:state(slotted-title),[state--slotted-title])[size=s]) {\n --_sbb-notification-icon-authoritative-font-size: var(--sbb-heading-font-size-6);\n --_sbb-notification-icon-authoritative-line-height: var(--sbb-typo-line-height-text);\n}\n\n:host([size=m]) {\n --sbb-notification-font-size: var(--sbb-text-font-size-s);\n --sbb-notification-padding-block: var(--sbb-spacing-responsive-xxs);\n --sbb-notification-padding-inline: var(--sbb-spacing-responsive-xs);\n --sbb-notification-content-padding-inline: var(--sbb-spacing-responsive-xxxs)\n var(--sbb-spacing-responsive-xs);\n}\n\n:host([size=s]) {\n --sbb-notification-font-size: var(--sbb-text-font-size-xs);\n --sbb-notification-padding-block: var(--sbb-spacing-responsive-xxxs);\n --sbb-notification-padding-inline: var(--sbb-spacing-responsive-xxs)\n var(--sbb-spacing-responsive-xxxs);\n --sbb-notification-content-padding-inline: var(--sbb-spacing-responsive-xxxs)\n var(--sbb-spacing-responsive-xxs);\n}\n@media (min-width: calc(37.5rem)) {\n :host([size=s]) {\n --sbb-notification-padding-inline: var(--sbb-spacing-responsive-xxs);\n }\n}\n\n:host(:is(:not([type]), [type=info])) {\n --sbb-notification-type-color: var(--sbb-color-smoke);\n --sbb-notification-icon-color: var(--sbb-notification-color);\n --sbb-notification-divider-opacity-light: 20%;\n --sbb-notification-divider-opacity-dark: 20%;\n}\n\n:host([type=note]) {\n --sbb-notification-type-color: var(--sbb-color-sky);\n --sbb-notification-divider-opacity-light: 20%;\n --sbb-notification-divider-opacity-dark: 20%;\n}\n\n:host([type=success]) {\n --sbb-notification-type-color: var(--sbb-color-success);\n --sbb-notification-divider-opacity-light: 15%;\n --sbb-notification-divider-opacity-dark: 30%;\n}\n\n:host([type=warn]) {\n --sbb-notification-type-color: var(--sbb-color-warning);\n --sbb-notification-icon-color: var(--sbb-notification-color);\n --sbb-notification-divider-opacity-light: 25%;\n --sbb-notification-divider-opacity-dark: 40%;\n}\n\n:host([type=error]) {\n --sbb-notification-type-color: var(--sbb-color-error);\n --sbb-notification-divider-opacity-light: 10%;\n --sbb-notification-divider-opacity-dark: 25%;\n}\n\n.sbb-notification__wrapper {\n position: relative;\n inset-inline-start: var(--_sbb-notification-inset-inline-start);\n width: calc(100% - var(--_sbb-notification-inset-inline-start));\n border: var(--sbb-notification-border);\n border-radius: var(--sbb-notification-border-radius-start) var(--sbb-notification-base-border-radius) var(--sbb-notification-base-border-radius) var(--sbb-notification-border-radius-start);\n opacity: 0;\n max-height: 0;\n margin: 0;\n}\n.sbb-notification__wrapper::before {\n content: \"\";\n position: absolute;\n inset: calc(var(--sbb-notification-border-width) * -1) var(--sbb-notification-base-border-radius) calc(var(--sbb-notification-border-width) * -1) calc(var(--sbb-notification-base-border-radius) * -1);\n background-color: var(--sbb-notification-type-color);\n border: var(--sbb-notification-border);\n border-radius: var(--sbb-notification-base-border-radius);\n}\n:host(:is(:is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) .sbb-notification__wrapper {\n opacity: 1;\n max-height: calc(var(--sbb-notification-height) + var(--sbb-notification-border-width) * 2);\n margin: var(--sbb-notification-margin, 0);\n}\n:host(:is(:state(state-opening),[state--state-opening])) .sbb-notification__wrapper {\n animation-name: open;\n animation-fill-mode: forwards;\n animation-duration: var(--sbb-notification-animation-duration);\n animation-timing-function: var(--sbb-notification-timing-function);\n}\n:host(:is(:state(state-closing),[state--state-closing])) .sbb-notification__wrapper {\n animation-name: close, close-height;\n animation-fill-mode: forwards;\n animation-duration: var(--sbb-notification-animation-duration);\n animation-timing-function: var(--sbb-notification-timing-function);\n animation-delay: 0s, var(--sbb-disable-animation-duration, var(--sbb-animation-duration-2x));\n}\n\n.sbb-notification {\n position: relative;\n display: grid;\n grid-template-columns: 1fr auto;\n align-items: center;\n padding-block: var(--sbb-notification-padding-block);\n padding-inline: var(--sbb-notification-padding-inline);\n color: var(--sbb-notification-color);\n border-radius: var(--sbb-notification-border-radius-start) calc(var(--sbb-notification-base-border-radius) - var(--sbb-notification-border-width)) calc(var(--sbb-notification-base-border-radius) - var(--sbb-notification-border-width)) var(--sbb-notification-border-radius-start);\n overflow: hidden;\n background-color: var(--sbb-notification-background-color);\n}\n@media (min-width: calc(37.5rem)) {\n .sbb-notification {\n grid-template-columns: auto 1fr auto auto;\n }\n}\n\n.sbb-notification__icon,\n::slotted(sbb-icon) {\n color: var(--sbb-notification-icon-color);\n align-self: var(--sbb-notification-icon-align-self);\n --sbb-icon-svg-width: var(--sbb-notification-icon-size);\n}\n@media (min-width: calc(37.5rem)) {\n .sbb-notification__icon,\n ::slotted(sbb-icon) {\n margin-block-start: max(0rem, (var(--_sbb-notification-icon-authoritative-font-size) * var(--_sbb-notification-icon-authoritative-line-height) - var(--sbb-size-icon-ui-small)) / 2);\n }\n}\n\n.sbb-notification__content {\n color-scheme: only light;\n order: 3;\n grid-area: 2/1/3/3;\n align-self: flex-start;\n margin-block-start: var(--sbb-notification-content-margin-block-start);\n}\n@media (min-width: calc(37.5rem)) {\n .sbb-notification__content {\n order: initial;\n grid-area: initial;\n margin-block-start: 0;\n padding-inline: var(--sbb-notification-content-padding-inline);\n }\n}\n\n.sbb-notification__text {\n display: inline;\n margin: 0;\n padding: 0;\n}\n\n.sbb-notification__divider {\n --sbb-divider-color: color-mix(\n in srgb,\n var(--sbb-notification-type-color) var(--sbb-notification-divider-opacity-light),\n var(--sbb-notification-background-color)\n );\n --sbb-divider-color: light-dark(\n color-mix(\n in srgb,\n var(--sbb-notification-type-color) var(--sbb-notification-divider-opacity-light),\n var(--sbb-notification-background-color)\n ),\n color-mix(\n in srgb,\n var(--sbb-notification-type-color) var(--sbb-notification-divider-opacity-dark),\n var(--sbb-notification-background-color)\n )\n );\n display: none;\n position: relative;\n inset-inline-start: var(--sbb-border-width-1x);\n}\n@media (min-width: calc(37.5rem)) {\n .sbb-notification__divider {\n display: block;\n margin-inline-end: var(--sbb-notification-close-wrapper-gap);\n height: calc(100% - var(--sbb-spacing-fixed-1x) * 2);\n }\n}\n\n@keyframes open {\n from {\n opacity: 0;\n max-height: 0;\n margin: 0;\n }\n to {\n opacity: 1;\n max-height: calc(var(--sbb-notification-height) + var(--sbb-notification-border-width) * 2);\n margin: var(--sbb-notification-margin, 0);\n }\n}\n@keyframes close {\n from {\n opacity: 1;\n margin: var(--sbb-notification-margin, 0);\n }\n to {\n opacity: 0;\n margin: 0;\n }\n}\n@keyframes close-height {\n from {\n max-height: calc(var(--sbb-notification-height) + var(--sbb-notification-border-width) * 2);\n }\n to {\n max-height: 0;\n }\n}\n::slotted(sbb-title) {\n margin: 0;\n}";
11
- //#endregion
12
- //#region src/elements/notification/notification.component.ts
13
- var notificationTypes = new Map([
14
- ["info", "circle-information-small"],
15
- ["note", "circle-information-small"],
16
- ["success", "circle-tick-small"],
17
- ["warn", "circle-exclamation-point-small"],
18
- ["error", "circle-cross-small"]
19
- ]);
20
- var DEBOUNCE_TIME = 150;
21
- /**
22
- * It displays messages which require a user's attention without interrupting its tasks.
23
- *
24
- * @slot - Use the unnamed slot to add content to the `sbb-notification`. Content should consist of an optional `sbb-title` element and text content.
25
- * @slot title - Slot for the title. For the standard `sbb-title` element, the slot is automatically assigned when slotted in the unnamed slot.
26
- * @slot icon - Use this slot to display a custom icon by providing an `sbb-icon` component.
27
- * @cssprop [--sbb-notification-margin=0] - Can be used to modify the margin in order to get a smoother animation.
28
- * See style section for more information.
29
- */
30
- var SbbNotificationElement = (() => {
31
- let _classSuper = SbbIconNameMixin(SbbReadonlyMixin(SbbElement));
32
- let _type_decorators;
33
- let _type_initializers = [];
34
- let _type_extraInitializers = [];
35
- let _size_decorators;
36
- let _size_initializers = [];
37
- let _size_extraInitializers = [];
38
- let _animation_decorators;
39
- let _animation_initializers = [];
40
- let _animation_extraInitializers = [];
41
- return class SbbNotificationElement extends _classSuper {
42
- static {
43
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
44
- _type_decorators = [property({ reflect: true })];
45
- _size_decorators = [property({ reflect: true })];
46
- _animation_decorators = [property({ reflect: true })];
47
- __esDecorate(this, null, _type_decorators, {
48
- kind: "accessor",
49
- name: "type",
50
- static: false,
51
- private: false,
52
- access: {
53
- has: (obj) => "type" in obj,
54
- get: (obj) => obj.type,
55
- set: (obj, value) => {
56
- obj.type = value;
57
- }
58
- },
59
- metadata: _metadata
60
- }, _type_initializers, _type_extraInitializers);
61
- __esDecorate(this, null, _size_decorators, {
62
- kind: "accessor",
63
- name: "size",
64
- static: false,
65
- private: false,
66
- access: {
67
- has: (obj) => "size" in obj,
68
- get: (obj) => obj.size,
69
- set: (obj, value) => {
70
- obj.size = value;
71
- }
72
- },
73
- metadata: _metadata
74
- }, _size_initializers, _size_extraInitializers);
75
- __esDecorate(this, null, _animation_decorators, {
76
- kind: "accessor",
77
- name: "animation",
78
- static: false,
79
- private: false,
80
- access: {
81
- has: (obj) => "animation" in obj,
82
- get: (obj) => obj.animation,
83
- set: (obj, value) => {
84
- obj.animation = value;
85
- }
86
- },
87
- metadata: _metadata
88
- }, _animation_initializers, _animation_extraInitializers);
89
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
90
- enumerable: true,
91
- configurable: true,
92
- writable: true,
93
- value: _metadata
94
- });
95
- }
96
- static {
97
- this.elementName = "sbb-notification";
98
- }
99
- static {
100
- this.elementDependencies = [SbbSecondaryButtonElement, SbbDividerElement];
101
- }
102
- static {
103
- this.styles = [boxSizingStyles, unsafeCSS(notification_default)];
104
- }
105
- static {
106
- this.events = {
107
- beforeopen: "beforeopen",
108
- open: "open",
109
- beforeclose: "beforeclose",
110
- close: "close"
111
- };
112
- }
113
- #type_accessor_storage;
114
- /** The type of the notification. */
115
- get type() {
116
- return this.#type_accessor_storage;
117
- }
118
- set type(value) {
119
- this.#type_accessor_storage = value;
120
- }
121
- #size_accessor_storage;
122
- /**
123
- * Size variant, either s or m.
124
- * @default 'm' / 's' (lean)
125
- */
126
- get size() {
127
- return this.#size_accessor_storage;
128
- }
129
- set size(value) {
130
- this.#size_accessor_storage = value;
131
- }
132
- #animation_accessor_storage;
133
- /** The enabled animations. */
134
- get animation() {
135
- return this.#animation_accessor_storage;
136
- }
137
- set animation(value) {
138
- this.#animation_accessor_storage = value;
139
- }
140
- /** The state of the component. */
141
- set _state(state) {
142
- if (this._stateInternal) this.internals.states.delete(`state-${this._stateInternal}`);
143
- this._stateInternal = state;
144
- if (this._stateInternal) this.internals.states.add(`state-${this._stateInternal}`);
145
- }
146
- get _state() {
147
- return this._stateInternal;
148
- }
149
- constructor() {
150
- super();
151
- this.#type_accessor_storage = __runInitializers(this, _type_initializers, "info");
152
- this.#size_accessor_storage = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "m"));
153
- this.#animation_accessor_storage = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _animation_initializers, "all"));
154
- this._stateInternal = __runInitializers(this, _animation_extraInitializers);
155
- this._resizeObserverTimeout = null;
156
- this._language = new SbbLanguageController(this);
157
- this._notificationResizeObserver = new ResizeController(this, {
158
- target: null,
159
- skipInitial: true,
160
- callback: () => this._onNotificationResize()
161
- });
162
- this._state = "closed";
163
- }
164
- willUpdate(changedProperties) {
165
- super.willUpdate(changedProperties);
166
- if (changedProperties.has("size")) this._configureTitle();
167
- }
168
- _open() {
169
- if (this._state === "closed") {
170
- this._state = "opening";
171
- /** Emits when the opening animation starts. */
172
- this.dispatchEvent(new Event("beforeopen"));
173
- if (this._isZeroAnimationDuration()) this._handleOpening();
174
- }
175
- }
176
- close() {
177
- if (this._state === "opened" && this._dispatchBeforeCloseEvent()) {
178
- this._state = "closing";
179
- if (this._isZeroAnimationDuration()) this._handleClosing();
180
- }
181
- }
182
- _dispatchBeforeCloseEvent() {
183
- /** Emits when the closing animation starts. Can be canceled to prevent the component from closing. */
184
- return this.dispatchEvent(new Event("beforeclose", { cancelable: true }));
185
- }
186
- firstUpdated(changedProperties) {
187
- super.firstUpdated(changedProperties);
188
- this._notificationElement = this.shadowRoot?.querySelector(".sbb-notification__wrapper");
189
- this.updateComplete.then(() => {
190
- this._setNotificationHeight();
191
- this._open();
192
- });
193
- }
194
- _isZeroAnimationDuration() {
195
- return isZeroAnimationDuration(this, "--sbb-notification-animation-duration");
196
- }
197
- _setNotificationHeight() {
198
- if (!this._notificationElement?.scrollHeight) return;
199
- const notificationHeight = `${this._notificationElement.scrollHeight}px`;
200
- this.style.setProperty("--sbb-notification-height", notificationHeight);
201
- }
202
- _onNotificationResize() {
203
- if (this._state !== "opened") return;
204
- if (this._resizeObserverTimeout) clearTimeout(this._resizeObserverTimeout);
205
- this.internals.states.add("resize-disable-animation");
206
- this._resizeObserverTimeout = setTimeout(() => this.internals.states.delete("resize-disable-animation"), DEBOUNCE_TIME);
207
- setTimeout(() => this._setNotificationHeight());
208
- }
209
- _onNotificationAnimationEnd(event) {
210
- if (this._state === "opening" && event.animationName === "open") this._handleOpening();
211
- if (this._state === "closing" && event.animationName === "close-height") this._handleClosing();
212
- }
213
- _handleOpening() {
214
- this._state = "opened";
215
- this._notificationResizeObserver.observe(this._notificationElement);
216
- /** Emits when the opening animation ends. */
217
- this.dispatchEvent(new Event("open"));
218
- }
219
- _handleClosing() {
220
- this._state = "closed";
221
- /** Emits when the closing animation ends. */
222
- this.dispatchEvent(new Event("close"));
223
- this._notificationResizeObserver.unobserve(this._notificationElement);
224
- setTimeout(() => this.remove());
225
- }
226
- _handleSlotchange() {
227
- const title = Array.from(this.children).find((el) => el.localName === "sbb-title");
228
- if (title) title.slot = "title";
229
- }
230
- _configureTitle() {
231
- const title = this.querySelector?.("sbb-title");
232
- if (title) {
233
- customElements.upgrade(title);
234
- title.visualLevel = this.size === "m" ? "5" : "6";
235
- }
236
- }
237
- renderIconName() {
238
- return super.renderIconName() || notificationTypes.get(this.type);
239
- }
240
- render() {
241
- return html`
242
- <div class="sbb-notification__wrapper" @animationend=${this._onNotificationAnimationEnd}>
243
- <div class="sbb-notification">
244
- ${this.renderIconSlot("sbb-notification__icon")}
245
- <span class="sbb-notification__content">
246
- <slot name="title" @slotchange=${this._configureTitle}></slot>
247
- <p class="sbb-notification__text">
248
- <slot @slotchange=${this._handleSlotchange}></slot>
249
- </p>
250
- </span>
251
-
252
- ${!this.readOnly ? html`
253
- <sbb-divider class="sbb-notification__divider" orientation="vertical"></sbb-divider>
254
- <sbb-secondary-button
255
- size=${this.size}
256
- icon-name="cross-small"
257
- @click=${() => this.close()}
258
- aria-label=${i18nCloseNotification[this._language.current]}
259
- class="sbb-notification__close"
260
- ></sbb-secondary-button>
261
- ` : nothing}
262
- </div>
263
- </div>
264
- `;
265
- }
266
- };
267
- })();
268
- //#endregion
269
- export { SbbNotificationElement as t };
270
-
271
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC1DS3lOZGdieC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG4vLyBPcGVuL0Nsb3NlIGFuaW1hdGlvbiB2YXJzXG4kb3Blbi1hbmltLW1hcmdpbi1mcm9tOiAwO1xuJG9wZW4tYW5pbS1tYXJnaW4tdG86IHZhcigtLXNiYi1ub3RpZmljYXRpb24tbWFyZ2luLCAwKTtcbiRvcGVuLWFuaW0tb3BhY2l0eS1mcm9tOiAwO1xuJG9wZW4tYW5pbS1vcGFjaXR5LXRvOiAxO1xuJG9wZW4tYW5pbS1oZWlnaHQtZnJvbTogMDtcbiRvcGVuLWFuaW0taGVpZ2h0LXRvOiBjYWxjKFxuICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWhlaWdodCkgKyAodmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpICogMilcbik7XG5cbjpob3N0IHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkXG4gICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3I6IGxpZ2h0LWRhcmsoXG4gICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcikgNSUsIHdoaXRlKSxcbiAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKSAzNSUsIHdoaXRlKVxuICApO1xuICAtLXNiYi1ub3RpZmljYXRpb24taWNvbi1jb2xvcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci1yYWRpdXMtc3RhcnQ6IGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpIC8gMik7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWljb24tYXV0aG9yaXRhdGl2ZS1mb250LXNpemU6IDFlbTtcbiAgLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWluc2V0LWlubGluZS1zdGFydDogY2FsYyhcbiAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cykgLSB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci13aWR0aClcbiAgKTtcblxuICAvLyBBcyB0aGUgbm90aWZpY2F0aW9uIGhhcyBhbHdheXMgYSBsaWdodCBiYWNrZ3JvdW5kLCB3ZSBoYXZlIHRvIGZpeCB0aGUgZm9jdXMgb3V0bGluZSBjb2xvclxuICAvLyB0byBkZWZhdWx0IGNvbG9yIGZvciBjYXNlcyB3aGVyZSB0aGUgbm90aWZpY2F0aW9uIGlzIHVzZWQgaW4gYSBuZWdhdGl2ZSBjb250ZXh0LlxuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kZWZhdWx0KTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXNiYi10eXBvLWxldHRlci1zcGFjaW5nLXRleHQpO1xuICBmb250LXNpemU6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tZm9udC1zaXplKTtcbn1cblxuLy8gQnkgZGVmYXVsdCwgdGhlIG9wZW4gYW5pbWF0aW9uIGlzIGRpc2FibGVkXG46aG9zdCg6c3RhdGUoc3RhdGUtb3BlbmluZyk6bm90KFthbmltYXRpb249J29wZW4nXSwgW2FuaW1hdGlvbj0nYWxsJ10pKSB7XG4gIEBpbmNsdWRlIHNiYi5kaXNhYmxlLWFuaW1hdGlvbjtcbn1cblxuOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpOm5vdChbYW5pbWF0aW9uPSdjbG9zZSddLCBbYW5pbWF0aW9uPSdhbGwnXSkpIHtcbiAgQGluY2x1ZGUgc2JiLmRpc2FibGUtYW5pbWF0aW9uO1xufVxuXG46aG9zdCg6c3RhdGUocmVzaXplLWRpc2FibGUtYW5pbWF0aW9uKSkge1xuICBAaW5jbHVkZSBzYmIuZGlzYWJsZS1hbmltYXRpb247XG59XG5cbjpob3N0KDpzdGF0ZShzbG90dGVkLXRpdGxlKSkge1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWljb24tYXV0aG9yaXRhdGl2ZS1mb250LXNpemU6IHZhcigtLXNiYi1oZWFkaW5nLWZvbnQtc2l6ZS01KTtcbiAgLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LWhlYWRpbmcpO1xufVxuXG46aG9zdCg6c3RhdGUoc2xvdHRlZC10aXRsZSlbc2l6ZT0ncyddKSB7XG4gIC0tX3NiYi1ub3RpZmljYXRpb24taWNvbi1hdXRob3JpdGF0aXZlLWZvbnQtc2l6ZTogdmFyKC0tc2JiLWhlYWRpbmctZm9udC1zaXplLTYpO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWljb24tYXV0aG9yaXRhdGl2ZS1saW5lLWhlaWdodDogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCk7XG59XG5cbjpob3N0KFtzaXplPSdtJ10pIHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXMpO1xuICAtLXNiYi1ub3RpZmljYXRpb24tcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHMpO1xuICAtLXNiYi1ub3RpZmljYXRpb24tcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHMpO1xuICAtLXNiYi1ub3RpZmljYXRpb24tY29udGVudC1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHhzKVxuICAgIHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHMpO1xufVxuXG46aG9zdChbc2l6ZT0ncyddKSB7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1mb250LXNpemU6IHZhcigtLXNiYi10ZXh0LWZvbnQtc2l6ZS14cyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4eHMpO1xuICAtLXNiYi1ub3RpZmljYXRpb24tcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHhzKVxuICAgIHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHh4cyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1jb250ZW50LXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4eHMpXG4gICAgdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHMpO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogc21hbGwpIHtcbiAgICAtLXNiYi1ub3RpZmljYXRpb24tcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHhzKTtcbiAgfVxufVxuXG4vLyBUeXBlc1xuOmhvc3QoOmlzKDpub3QoW3R5cGVdKSwgW3R5cGU9J2luZm8nXSkpIHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLXR5cGUtY29sb3I6IHZhcigtLXNiYi1jb2xvci1zbW9rZSk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1pY29uLWNvbG9yOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1saWdodDogMjAlO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWRhcms6IDIwJTtcbn1cblxuOmhvc3QoW3R5cGU9J25vdGUnXSkge1xuICAtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLXNreSk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktbGlnaHQ6IDIwJTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1kYXJrOiAyMCU7XG59XG5cbjpob3N0KFt0eXBlPSdzdWNjZXNzJ10pIHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLXR5cGUtY29sb3I6IHZhcigtLXNiYi1jb2xvci1zdWNjZXNzKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1saWdodDogMTUlO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWRhcms6IDMwJTtcbn1cblxuOmhvc3QoW3R5cGU9J3dhcm4nXSkge1xuICAtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLXdhcm5pbmcpO1xuICAtLXNiYi1ub3RpZmljYXRpb24taWNvbi1jb2xvcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1jb2xvcik7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktbGlnaHQ6IDI1JTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1kYXJrOiA0MCU7XG59XG5cbjpob3N0KFt0eXBlPSdlcnJvciddKSB7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItZXJyb3IpO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWxpZ2h0OiAxMCU7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktZGFyazogMjUlO1xufVxuXG4uc2JiLW5vdGlmaWNhdGlvbl9fd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS1fc2JiLW5vdGlmaWNhdGlvbi1pbnNldC1pbmxpbmUtc3RhcnQpO1xuICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tX3NiYi1ub3RpZmljYXRpb24taW5zZXQtaW5saW5lLXN0YXJ0KSk7XG4gIGJvcmRlcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci1yYWRpdXMtc3RhcnQpXG4gICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpIHZhcigtLXNiYi1ub3RpZmljYXRpb24tYmFzZS1ib3JkZXItcmFkaXVzKVxuICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXJhZGl1cy1zdGFydCk7XG4gIG9wYWNpdHk6ICN7JG9wZW4tYW5pbS1vcGFjaXR5LWZyb219O1xuICBtYXgtaGVpZ2h0OiAjeyRvcGVuLWFuaW0taGVpZ2h0LWZyb219O1xuICBtYXJnaW46ICN7JG9wZW4tYW5pbS1tYXJnaW4tZnJvbX07XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpICogLTEpXG4gICAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cykgY2FsYyh2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci13aWR0aCkgKiAtMSlcbiAgICAgIGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpICogLTEpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcik7XG4gICAgYm9yZGVyOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSAmIHtcbiAgICBvcGFjaXR5OiAjeyRvcGVuLWFuaW0tb3BhY2l0eS10b307XG4gICAgbWF4LWhlaWdodDogI3skb3Blbi1hbmltLWhlaWdodC10b307XG4gICAgbWFyZ2luOiAjeyRvcGVuLWFuaW0tbWFyZ2luLXRvfTtcbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSkgJiB7XG4gICAgYW5pbWF0aW9uOiB7XG4gICAgICBuYW1lOiBvcGVuO1xuICAgICAgZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1ub3RpZmljYXRpb24tdGltaW5nLWZ1bmN0aW9uKTtcbiAgICB9XG4gIH1cblxuICA6aG9zdCg6c3RhdGUoc3RhdGUtY2xvc2luZykpICYge1xuICAgIGFuaW1hdGlvbjoge1xuICAgICAgbmFtZTogY2xvc2UsIGNsb3NlLWhlaWdodDtcbiAgICAgIGZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLXRpbWluZy1mdW5jdGlvbik7XG4gICAgICBkZWxheTogMHMsIHZhcigtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbiwgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi0yeCkpO1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLW5vdGlmaWNhdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWJsb2NrKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tcGFkZGluZy1pbmxpbmUpO1xuICBjb2xvcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXJhZGl1cy1zdGFydClcbiAgICBjYWxjKHZhcigtLXNiYi1ub3RpZmljYXRpb24tYmFzZS1ib3JkZXItcmFkaXVzKSAtIHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXdpZHRoKSlcbiAgICBjYWxjKHZhcigtLXNiYi1ub3RpZmljYXRpb24tYmFzZS1ib3JkZXItcmFkaXVzKSAtIHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXdpZHRoKSlcbiAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci1yYWRpdXMtc3RhcnQpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3IpO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogc21hbGwpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG8gYXV0bztcbiAgfVxufVxuXG4uc2JiLW5vdGlmaWNhdGlvbl9faWNvbixcbjo6c2xvdHRlZChzYmItaWNvbikge1xuICBjb2xvcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1pY29uLWNvbG9yKTtcbiAgYWxpZ24tc2VsZjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1pY29uLWFsaWduLXNlbGYpO1xuXG4gIC8vIFRoaXMgaXMgYW4gdW5kb2N1bWVudGVkIGZlYXR1cmUgZm9yIHNiYi5jaCwgdG8gaGF2ZSB0aGUgYWJpbGl0eSB0byBoaWRlIHRoZSBpY29uLlxuICAtLXNiYi1pY29uLXN2Zy13aWR0aDogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1pY29uLXNpemUpO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogc21hbGwpIHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IG1heChcbiAgICAgIDByZW0sXG4gICAgICBjYWxjKFxuICAgICAgICAoXG4gICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgdmFyKC0tX3NiYi1ub3RpZmljYXRpb24taWNvbi1hdXRob3JpdGF0aXZlLWZvbnQtc2l6ZSkgKlxuICAgICAgICAgICAgICAgICAgdmFyKC0tX3NiYi1ub3RpZmljYXRpb24taWNvbi1hdXRob3JpdGF0aXZlLWxpbmUtaGVpZ2h0KVxuICAgICAgICAgICAgICApIC0gdmFyKC0tc2JiLXNpemUtaWNvbi11aS1zbWFsbClcbiAgICAgICAgICApIC9cbiAgICAgICAgICAyXG4gICAgICApXG4gICAgKTtcbiAgfVxufVxuXG4uc2JiLW5vdGlmaWNhdGlvbl9fY29udGVudCB7XG4gIC8vIFRoZSBjb250ZW50IG9mIHRoZSBub3RpZmljYXRpb24gaXMgYWx3YXlzIGRpc3BsYXllZCBpbiBwb3NpdGl2ZSBtb2RlLFxuICAvLyB0aGVyZWZvcmUsIHRvIGhhdmUgc2xvdHRlZCBjb250ZW50IGNvcnJlY3RseSBkaXNwbGF5LCB3ZSBuZWVkIG9ubHkgYWxsb3cgbGlnaHQgbW9kZS5cbiAgY29sb3Itc2NoZW1lOiBvbmx5IGxpZ2h0O1xuICBvcmRlcjogMztcbiAgZ3JpZC1hcmVhOiAyIC8gMSAvIDMgLyAzO1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tY29udGVudC1tYXJnaW4tYmxvY2stc3RhcnQpO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogc21hbGwpIHtcbiAgICBvcmRlcjogaW5pdGlhbDtcbiAgICBncmlkLWFyZWE6IGluaXRpYWw7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWNvbnRlbnQtcGFkZGluZy1pbmxpbmUpO1xuICB9XG59XG5cbi5zYmItbm90aWZpY2F0aW9uX190ZXh0IHtcbiAgLy8gUmVzZXQgcGFyYWdyYXBoIHN0eWxlc1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLnNiYi1ub3RpZmljYXRpb25fX2RpdmlkZXIge1xuICAtLXNiYi1kaXZpZGVyLWNvbG9yOiBsaWdodC1kYXJrKFxuICAgIGNvbG9yLW1peChcbiAgICAgIGluIHNyZ2IsXG4gICAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLXR5cGUtY29sb3IpIHZhcigtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWxpZ2h0KSxcbiAgICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tYmFja2dyb3VuZC1jb2xvcilcbiAgICApLFxuICAgIGNvbG9yLW1peChcbiAgICAgIGluIHNyZ2IsXG4gICAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLXR5cGUtY29sb3IpIHZhcigtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWRhcmspLFxuICAgICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLWNvbG9yKVxuICAgIClcbiAgKTtcblxuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGluc2V0LWlubGluZS1zdGFydDogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWNsb3NlLXdyYXBwZXItZ2FwKTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICh2YXIoLS1zYmItc3BhY2luZy1maXhlZC0xeCkgKiAyKSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBvcGVuIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktZnJvbX07XG4gICAgbWF4LWhlaWdodDogI3skb3Blbi1hbmltLWhlaWdodC1mcm9tfTtcbiAgICBtYXJnaW46ICN7JG9wZW4tYW5pbS1tYXJnaW4tZnJvbX07XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktdG99O1xuICAgIG1heC1oZWlnaHQ6ICN7JG9wZW4tYW5pbS1oZWlnaHQtdG99O1xuICAgIG1hcmdpbjogI3skb3Blbi1hbmltLW1hcmdpbi10b307XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbG9zZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6ICN7JG9wZW4tYW5pbS1vcGFjaXR5LXRvfTtcbiAgICBtYXJnaW46ICN7JG9wZW4tYW5pbS1tYXJnaW4tdG99O1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6ICN7JG9wZW4tYW5pbS1vcGFjaXR5LWZyb219O1xuICAgIG1hcmdpbjogI3skb3Blbi1hbmltLW1hcmdpbi1mcm9tfTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlLWhlaWdodCB7XG4gIGZyb20ge1xuICAgIG1heC1oZWlnaHQ6ICN7JG9wZW4tYW5pbS1oZWlnaHQtdG99O1xuICB9XG5cbiAgdG8ge1xuICAgIG1heC1oZWlnaHQ6ICN7JG9wZW4tYW5pbS1oZWlnaHQtZnJvbX07XG4gIH1cbn1cblxuOjpzbG90dGVkKHNiYi10aXRsZSkge1xuICAvLyBPdmVyd3JpdGUgc2JiLXRpdGxlIGRlZmF1bHQgbWFyZ2luXG4gIG1hcmdpbjogMDtcbn1cbiIsImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJTZWNvbmRhcnlCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vYnV0dG9uLnB1cmUudHMnO1xuaW1wb3J0IHsgdHlwZSBTYmJPcGVuZWRDbG9zZWRTdGF0ZSwgU2JiRWxlbWVudCwgdHlwZSBTYmJFbGVtZW50VHlwZSB9IGZyb20gJy4uL2NvcmUudHMnO1xuaW1wb3J0IHtcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxuICBpc0xlYW4sXG4gIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uLFxuICBpMThuQ2xvc2VOb3RpZmljYXRpb24sXG4gIFNiYlJlYWRvbmx5TWl4aW4sXG4gIGJveFNpemluZ1N0eWxlcyxcbn0gZnJvbSAnLi4vY29yZS50cyc7XG5pbXBvcnQgeyBTYmJEaXZpZGVyRWxlbWVudCB9IGZyb20gJy4uL2RpdmlkZXIucHVyZS50cyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vaWNvbi5wdXJlLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiVGl0bGVFbGVtZW50IH0gZnJvbSAnLi4vdGl0bGUucHVyZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL25vdGlmaWNhdGlvbi5zY3NzP2lubGluZSc7XG5cbmNvbnN0IG5vdGlmaWNhdGlvblR5cGVzID0gbmV3IE1hcChbXG4gIFsnaW5mbycsICdjaXJjbGUtaW5mb3JtYXRpb24tc21hbGwnXSxcbiAgWydub3RlJywgJ2NpcmNsZS1pbmZvcm1hdGlvbi1zbWFsbCddLFxuICBbJ3N1Y2Nlc3MnLCAnY2lyY2xlLXRpY2stc21hbGwnXSxcbiAgWyd3YXJuJywgJ2NpcmNsZS1leGNsYW1hdGlvbi1wb2ludC1zbWFsbCddLFxuICBbJ2Vycm9yJywgJ2NpcmNsZS1jcm9zcy1zbWFsbCddLFxuXSk7XG5cbmNvbnN0IERFQk9VTkNFX1RJTUUgPSAxNTA7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgbWVzc2FnZXMgd2hpY2ggcmVxdWlyZSBhIHVzZXIncyBhdHRlbnRpb24gd2l0aG91dCBpbnRlcnJ1cHRpbmcgaXRzIHRhc2tzLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGBzYmItbm90aWZpY2F0aW9uYC4gQ29udGVudCBzaG91bGQgY29uc2lzdCBvZiBhbiBvcHRpb25hbCBgc2JiLXRpdGxlYCBlbGVtZW50IGFuZCB0ZXh0IGNvbnRlbnQuXG4gKiBAc2xvdCB0aXRsZSAtIFNsb3QgZm9yIHRoZSB0aXRsZS4gRm9yIHRoZSBzdGFuZGFyZCBgc2JiLXRpdGxlYCBlbGVtZW50LCB0aGUgc2xvdCBpcyBhdXRvbWF0aWNhbGx5IGFzc2lnbmVkIHdoZW4gc2xvdHRlZCBpbiB0aGUgdW5uYW1lZCBzbG90LlxuICogQHNsb3QgaWNvbiAtIFVzZSB0aGlzIHNsb3QgdG8gZGlzcGxheSBhIGN1c3RvbSBpY29uIGJ5IHByb3ZpZGluZyBhbiBgc2JiLWljb25gIGNvbXBvbmVudC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1ub3RpZmljYXRpb24tbWFyZ2luPTBdIC0gQ2FuIGJlIHVzZWQgdG8gbW9kaWZ5IHRoZSBtYXJnaW4gaW4gb3JkZXIgdG8gZ2V0IGEgc21vb3RoZXIgYW5pbWF0aW9uLlxuICogU2VlIHN0eWxlIHNlY3Rpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJOb3RpZmljYXRpb25FbGVtZW50IGV4dGVuZHMgU2JiSWNvbk5hbWVNaXhpbihTYmJSZWFkb25seU1peGluKFNiYkVsZW1lbnQpKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItbm90aWZpY2F0aW9uJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBlbGVtZW50RGVwZW5kZW5jaWVzOiBTYmJFbGVtZW50VHlwZVtdID0gW1xuICAgIFNiYlNlY29uZGFyeUJ1dHRvbkVsZW1lbnQsXG4gICAgU2JiRGl2aWRlckVsZW1lbnQsXG4gIF07XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBiZWZvcmVvcGVuOiAnYmVmb3Jlb3BlbicsXG4gICAgb3BlbjogJ29wZW4nLFxuICAgIGJlZm9yZWNsb3NlOiAnYmVmb3JlY2xvc2UnLFxuICAgIGNsb3NlOiAnY2xvc2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBUaGUgdHlwZSBvZiB0aGUgbm90aWZpY2F0aW9uLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciB0eXBlOlxuICAgIHwgJ2luZm8nXG4gICAgfCAnbm90ZSdcbiAgICB8ICdzdWNjZXNzJ1xuICAgIHwgJ3dhcm4nXG4gICAgfCAnZXJyb3InID0gJ2luZm8nO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBzIG9yIG0uXG4gICAqIEBkZWZhdWx0ICdtJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdzJyB8ICdtJyA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuXG4gIC8qKiBUaGUgZW5hYmxlZCBhbmltYXRpb25zLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBhbmltYXRpb246ICdvcGVuJyB8ICdjbG9zZScgfCAnYWxsJyB8ICdub25lJyA9ICdhbGwnO1xuXG4gIC8qKiBUaGUgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC4gKi9cbiAgcHJpdmF0ZSBzZXQgX3N0YXRlKHN0YXRlOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSkge1xuICAgIGlmICh0aGlzLl9zdGF0ZUludGVybmFsKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBzdGF0ZS0ke3RoaXMuX3N0YXRlSW50ZXJuYWx9YCk7XG4gICAgfVxuICAgIHRoaXMuX3N0YXRlSW50ZXJuYWwgPSBzdGF0ZTtcbiAgICBpZiAodGhpcy5fc3RhdGVJbnRlcm5hbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgc3RhdGUtJHt0aGlzLl9zdGF0ZUludGVybmFsfWApO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGdldCBfc3RhdGUoKTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZUludGVybmFsO1xuICB9XG4gIHByaXZhdGUgX3N0YXRlSW50ZXJuYWwhOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZTtcblxuICBwcml2YXRlIF9ub3RpZmljYXRpb25FbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyVGltZW91dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9ub3RpZmljYXRpb25SZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX29uTm90aWZpY2F0aW9uUmVzaXplKCksXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NlZCc7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3NpemUnKSkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVGl0bGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ2Nsb3NlZCcpIHtcbiAgICAgIHRoaXMuX3N0YXRlID0gJ29wZW5pbmcnO1xuICAgICAgLyoqIEVtaXRzIHdoZW4gdGhlIG9wZW5pbmcgYW5pbWF0aW9uIHN0YXJ0cy4gKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2JlZm9yZW9wZW4nKSk7XG5cbiAgICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYG9wZW5lZGAgc3RhdGUuXG4gICAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ29wZW5lZCcgJiYgdGhpcy5fZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KCkpIHtcbiAgICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NpbmcnO1xuXG4gICAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudCgpOiBib29sZWFuIHtcbiAgICAvKiogRW1pdHMgd2hlbiB0aGUgY2xvc2luZyBhbmltYXRpb24gc3RhcnRzLiBDYW4gYmUgY2FuY2VsZWQgdG8gcHJldmVudCB0aGUgY29tcG9uZW50IGZyb20gY2xvc2luZy4gKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYmVmb3JlY2xvc2UnLCB7IGNhbmNlbGFibGU6IHRydWUgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihcbiAgICAgICcuc2JiLW5vdGlmaWNhdGlvbl9fd3JhcHBlcicsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcbiAgICAvLyBXZSBuZWVkIHRvIHdhaXQgZm9yIHRoZSBjb21wb25lbnQncyBgdXBkYXRlQ29tcGxldGVgIGluIG9yZGVyIHRvIHNldCB0aGUgY29ycmVjdFxuICAgIC8vIGhlaWdodCB0byB0aGUgbm90aWZpY2F0aW9uIGVsZW1lbnQuXG4gICAgdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMuX3NldE5vdGlmaWNhdGlvbkhlaWdodCgpO1xuICAgICAgdGhpcy5fb3BlbigpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1ub3RpZmljYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9zZXROb3RpZmljYXRpb25IZWlnaHQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50Py5zY3JvbGxIZWlnaHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgbm90aWZpY2F0aW9uSGVpZ2h0ID0gYCR7dGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudC5zY3JvbGxIZWlnaHR9cHhgO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW5vdGlmaWNhdGlvbi1oZWlnaHQnLCBub3RpZmljYXRpb25IZWlnaHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Ob3RpZmljYXRpb25SZXNpemUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAnb3BlbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQpO1xuICAgIH1cblxuICAgIC8vIERpc2FibGUgdGhlIGFuaW1hdGlvbiB3aGVuIHJlc2l6aW5nIHRoZSBub3RpZmljYXRpb24gdG8gYXZvaWQgc3RyYW5nZSBoZWlnaHQgdHJhbnNpdGlvbiBlZmZlY3RzLlxuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ3Jlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbicpO1xuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCA9IHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdyZXNpemUtZGlzYWJsZS1hbmltYXRpb24nKSxcbiAgICAgIERFQk9VTkNFX1RJTUUsXG4gICAgKTtcblxuICAgIC8vIFRvIGF2b2lkIFJlc2l6ZU9ic2VydmVyIGxvb3BzLCB3ZSBzZXQgdGhlIGhlaWdodCBhIHRpY2sgbGF0ZXIuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9zZXROb3RpZmljYXRpb25IZWlnaHQoKSk7XG4gIH1cblxuICBwcml2YXRlIF9vbk5vdGlmaWNhdGlvbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhdGUgPT09ICdvcGVuaW5nJyAmJiBldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fc3RhdGUgPT09ICdjbG9zaW5nJyAmJiBldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2UtaGVpZ2h0Jykge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLl9ub3RpZmljYXRpb25SZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQpO1xuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBvcGVuaW5nIGFuaW1hdGlvbiBlbmRzLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ29wZW4nKSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NlZCc7XG4gICAgLyoqIEVtaXRzIHdoZW4gdGhlIGNsb3NpbmcgYW5pbWF0aW9uIGVuZHMuICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2xvc2UnKSk7XG4gICAgdGhpcy5fbm90aWZpY2F0aW9uUmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZW1vdmUoKSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIGNvbnN0IHRpdGxlID0gQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuKS5maW5kKChlbCkgPT4gZWwubG9jYWxOYW1lID09PSAnc2JiLXRpdGxlJyk7XG4gICAgaWYgKHRpdGxlKSB7XG4gICAgICB0aXRsZS5zbG90ID0gJ3RpdGxlJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jb25maWd1cmVUaXRsZSgpOiB2b2lkIHtcbiAgICBjb25zdCB0aXRsZSA9IHRoaXMucXVlcnlTZWxlY3Rvcj8uPFNiYlRpdGxlRWxlbWVudD4oJ3NiYi10aXRsZScpO1xuICAgIGlmICh0aXRsZSkge1xuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZSh0aXRsZSk7XG4gICAgICB0aXRsZS52aXN1YWxMZXZlbCA9IHRoaXMuc2l6ZSA9PT0gJ20nID8gJzUnIDogJzYnO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJJY29uTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdXBlci5yZW5kZXJJY29uTmFtZSgpIHx8IG5vdGlmaWNhdGlvblR5cGVzLmdldCh0aGlzLnR5cGUpITtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25fX3dyYXBwZXJcIiBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25Ob3RpZmljYXRpb25BbmltYXRpb25FbmR9PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvblwiPlxuICAgICAgICAgICR7dGhpcy5yZW5kZXJJY29uU2xvdCgnc2JiLW5vdGlmaWNhdGlvbl9faWNvbicpfVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fY29udGVudFwiPlxuICAgICAgICAgICAgPHNsb3QgbmFtZT1cInRpdGxlXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9jb25maWd1cmVUaXRsZX0+PC9zbG90PlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX190ZXh0XCI+XG4gICAgICAgICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICR7IXRoaXMucmVhZE9ubHlcbiAgICAgICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgICAgICA8c2JiLWRpdmlkZXIgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19kaXZpZGVyXCIgb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiPjwvc2JiLWRpdmlkZXI+XG4gICAgICAgICAgICAgICAgPHNiYi1zZWNvbmRhcnktYnV0dG9uXG4gICAgICAgICAgICAgICAgICBzaXplPSR7dGhpcy5zaXplfVxuICAgICAgICAgICAgICAgICAgaWNvbi1uYW1lPVwiY3Jvc3Mtc21hbGxcIlxuICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCkgPT4gdGhpcy5jbG9zZSgpfVxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0ke2kxOG5DbG9zZU5vdGlmaWNhdGlvblt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fY2xvc2VcIlxuICAgICAgICAgICAgICAgID48L3NiYi1zZWNvbmRhcnktYnV0dG9uPlxuICAgICAgICAgICAgICBgXG4gICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW5vdGlmaWNhdGlvbic6IFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FDMkJBLElBQU0sb0JBQW9CLElBQUksSUFBSTtDQUNoQyxDQUFDLFFBQVEsMkJBQTJCO0NBQ3BDLENBQUMsUUFBUSwyQkFBMkI7Q0FDcEMsQ0FBQyxXQUFXLG9CQUFvQjtDQUNoQyxDQUFDLFFBQVEsaUNBQWlDO0NBQzFDLENBQUMsU0FBUyxxQkFBQTtDQUNYLENBQUM7QUFFRixJQUFNLGdCQUFnQjs7Ozs7Ozs7OztJQVdULGdDQUFzQjttQkFBUyxpQkFBaUIsaUJBQWlCLFdBQVcsQ0FBQzs7Ozs7Ozs7OztjQUE3RSwrQkFBK0IsWUFBOEM7Ozt1QkFldkYsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7dUJBVzNCLFNBQVMsRUFBRSxTQUFTLE1BQU0sQ0FBQyxDQUFBOzRCQUczQixTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQTtBQWRDLGdCQUFBLE1BQUEsTUFBQSxrQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFVBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBSSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUosT0FBSTs7S0FBQTtJQUFBLFVBQUE7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
@@ -1,132 +0,0 @@
1
- import { SbbOptionBaseElement } from "./option/option/option-base-element.js";
2
- import { html, nothing, unsafeCSS } from "lit";
3
- import { SbbPropertyWatcherController, boxSizingStyles } from "./core.js";
4
- import { SbbVisualCheckboxElement } from "./visual-checkbox.pure.js";
5
- //#region src/elements/option/option/option.scss?inline
6
- var option_default = ":host {\n display: block;\n background-color: var(--sbb-option-background-color);\n font-size: var(--sbb-option-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n}\n\n:host(:is(:state(negative),[state--negative])) {\n --sbb-option-color: var(--sbb-color-3-negative);\n --sbb-option-icon-color: var(--sbb-color-5);\n --sbb-option-background-color-hover: var(--sbb-background-color-3-negative);\n --sbb-option-background-color-active: var(--sbb-background-color-4-negative);\n --sbb-option-disabled-border-color: var(--sbb-border-color-5);\n --sbb-option-disabled-background-color: var(--sbb-background-color-3-negative);\n --sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);\n}\n\n@media (any-hover: hover) {\n :host(:hover:not(:is(:state(disabled),[state--disabled]))) {\n --sbb-option-background-color: var(--sbb-option-background-color-hover);\n }\n}\n\n:host(:active:not(:is(:state(disabled),[state--disabled]))) {\n --sbb-option-background-color: var(--sbb-option-background-color-active);\n}\n\n:host(:not(:is(:state(disable-highlight),[state--disable-highlight]))) .sbb-option__label slot {\n display: none;\n}\n\n:host(:is(:state(disabled),[state--disabled])) {\n --sbb-option-cursor: var(--sbb-cursor-default);\n}\n@media (forced-colors: active) {\n :host(:is(:state(disabled),[state--disabled])) {\n --sbb-option-color: GrayText;\n }\n}\n\n:host(:is(:state(variant-select),[state--variant-select])) {\n --sbb-option-column-gap: var(--sbb-spacing-fixed-2x);\n --sbb-option-justify-content: space-between;\n}\n\n:host(:is(:state(variant-select),[state--variant-select]):is(:state(multiple),[state--multiple])) {\n --sbb-option-justify-content: start;\n}\n\n:host(:is(:state(active),[state--active])) {\n --sbb-option-focus-outline-color: var(--sbb-focus-outline-color);\n}\n\n:host(:not(:is(:is(:state(disabled),[state--disabled])))) .sbb-option__label--highlight {\n font-weight: bold;\n}\n@media (forced-colors: active) {\n :host(:not(:is(:is(:state(disabled),[state--disabled])))) .sbb-option__label--highlight {\n color: Highlight;\n }\n}\n\n.sbb-option {\n position: relative;\n display: flex;\n min-height: var(--sbb-option-min-height);\n align-items: center;\n column-gap: var(--sbb-option-column-gap);\n padding-inline: var(--sbb-option-padding-inline);\n justify-content: var(--sbb-option-justify-content);\n color: var(--sbb-option-color);\n cursor: var(--sbb-option-cursor);\n -webkit-tap-highlight-color: transparent;\n -webkit-text-fill-color: var(--sbb-option-color);\n}\n.sbb-option::after {\n content: \"\";\n display: block;\n position: absolute;\n inset: var(--sbb-option-focus-outline-inset);\n pointer-events: none;\n border: var(--sbb-focus-outline-width) solid var(--sbb-option-focus-outline-color);\n border-radius: var(--sbb-option-border-radius);\n}\n:host(:is(:state(disabled),[state--disabled]):not(:is(:state(multiple),[state--multiple]))) .sbb-option {\n position: relative;\n z-index: 0;\n}\n:host(:is(:state(disabled),[state--disabled]):not(:is(:state(multiple),[state--multiple]))) .sbb-option::before {\n content: \"\";\n display: block;\n position: absolute;\n inset: 0.375rem;\n border: var(--sbb-border-width-1x) dashed var(--sbb-option-disabled-border-color);\n border-radius: var(--sbb-border-radius-2x);\n background-color: var(--sbb-option-disabled-background-color);\n z-index: -1;\n}\n@media (forced-colors: active) {\n :host(:is(:state(disabled),[state--disabled]):not(:is(:state(multiple),[state--multiple]))) .sbb-option::before {\n border-color: GrayText;\n }\n}\n\n.sbb-option__icon {\n display: flex;\n min-width: var(--sbb-size-icon-ui-small);\n min-height: var(--sbb-size-icon-ui-small);\n color: var(--sbb-option-icon-color);\n}\n:host(:not(:is(:state(slotted-icon),[state--slotted-icon]), :is(:state(has-icon-name),[state--has-icon-name]))) .sbb-option__icon {\n display: var(--sbb-option-icon-container-display, none);\n}\n\n.sbb-option__label {\n text-overflow: var(--sbb-option-text-overflow);\n overflow: var(--sbb-option-overflow);\n white-space: var(--sbb-option-white-space, initial);\n}";
7
- //#endregion
8
- //#region src/elements/option/option/option.component.ts
9
- /**
10
- * It displays on option item which can be used in `sbb-select` or `sbb-autocomplete`.
11
- *
12
- * @slot - Use the unnamed slot to add content to the option label.
13
- * @slot icon - Use this slot to provide an icon. If `icon-name` is set, a sbb-icon will be used.
14
- * @cssprop [--sbb-option-icon-container-display=none] - Can be used to reserve space even
15
- * when preserve-icon-space on autocomplete is not set or iconName is not set.
16
- * @overrideType value - (T = string) | null
17
- */
18
- var SbbOptionElement = class extends SbbOptionBaseElement {
19
- static {
20
- this.elementName = "sbb-option";
21
- }
22
- static {
23
- this.elementDependencies = [SbbVisualCheckboxElement];
24
- }
25
- static {
26
- this.role = "option";
27
- }
28
- static {
29
- this.styles = [boxSizingStyles, unsafeCSS(option_default)];
30
- }
31
- static {
32
- this.events = {
33
- optionselectionchange: "optionselectionchange",
34
- optionselected: "optionselected"
35
- };
36
- }
37
- set _variant(variant) {
38
- if (this._variantInternal) this.internals.states.delete(`variant-${this._variantInternal}`);
39
- this._variantInternal = variant;
40
- if (this._variantInternal) this.internals.states.add(`variant-${this._variantInternal}`);
41
- }
42
- get _variant() {
43
- return this._variantInternal ?? null;
44
- }
45
- constructor() {
46
- super();
47
- this.optionId = `sbb-option`;
48
- this.addController(new SbbPropertyWatcherController(this, () => this.closest("sbb-optgroup"), {
49
- disabled: (p) => this.disabledFromGroup = p.disabled,
50
- label: (p) => this.groupLabel = p.label
51
- }));
52
- this.addController(new SbbPropertyWatcherController(this, () => this.closest("sbb-autocomplete"), { negative: (e) => this._handleNegativeChange(e) }));
53
- this.addController(new SbbPropertyWatcherController(this, () => this.closest("sbb-select"), {
54
- multiple: (ancestor) => {
55
- this.toggleState("multiple", ancestor.multiple);
56
- this.requestUpdate();
57
- },
58
- negative: (e) => this._handleNegativeChange(e)
59
- }));
60
- }
61
- _isMultiple() {
62
- return !this.hydrationRequired && this.internals.states.has("multiple");
63
- }
64
- _handleNegativeChange(ancestor) {
65
- this.toggleState("negative", ancestor.negative);
66
- this.requestUpdate();
67
- }
68
- connectedCallback() {
69
- super.connectedCallback();
70
- if (this.hydrationRequired) this.hydrationComplete.then(() => this._init());
71
- else this._init();
72
- }
73
- _init() {
74
- this._setVariantByContext();
75
- this.handleHighlightState();
76
- }
77
- selectByClick(event) {
78
- if (this.disabled || this.disabledFromGroup) {
79
- event.stopPropagation();
80
- return;
81
- }
82
- if (this._isMultiple()) {
83
- event.stopPropagation();
84
- this.selectViaUserInteraction(!this.selected);
85
- } else this.selectViaUserInteraction(true);
86
- }
87
- selectViaUserInteraction(selected) {
88
- super.selectViaUserInteraction(selected);
89
- /** The optionselectionchange event is dispatched when the option selection status changes. */
90
- this.dispatchEvent(new Event("optionselectionchange", {
91
- bubbles: true,
92
- composed: true
93
- }));
94
- }
95
- _setVariantByContext() {
96
- if (this.closest?.("sbb-autocomplete")) this._variant = "autocomplete";
97
- else if (this.closest?.("sbb-select")) this._variant = "select";
98
- }
99
- handleHighlightState() {
100
- if (this._variant !== "autocomplete") {
101
- this.updateDisableHighlight(true);
102
- return;
103
- }
104
- super.handleHighlightState();
105
- }
106
- renderIcon() {
107
- return html`
108
- <!-- Icon -->
109
- ${!this._isMultiple() ? html` <span class="sbb-option__icon"> ${this.renderIconSlot()} </span>` : nothing}
110
-
111
- <!-- Checkbox -->
112
- ${this._isMultiple() ? html`
113
- <sbb-visual-checkbox
114
- ?checked=${this.selected}
115
- ?disabled=${this.disabled || this.disabledFromGroup}
116
- ?negative=${this.matches?.(":is(:state(negative),[state--negative])")}
117
- ></sbb-visual-checkbox>
118
- ` : nothing}
119
- `;
120
- }
121
- renderLabel() {
122
- if (this._variant !== "autocomplete") return nothing;
123
- return super.renderLabel();
124
- }
125
- renderTick() {
126
- return this._variant === "select" && !this._isMultiple() && this.selected ? html`<sbb-icon name="tick-small"></sbb-icon>` : nothing;
127
- }
128
- };
129
- //#endregion
130
- export { SbbOptionElement as t };
131
-
132
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC1Eb2Q2SmdiSC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvb3B0aW9uL29wdGlvbi9vcHRpb24uc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvb3B0aW9uL29wdGlvbi9vcHRpb24uY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1vcHRpb24tYmFja2dyb3VuZC1jb2xvcik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLW9wdGlvbi1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG59XG5cbjpob3N0KDpzdGF0ZShuZWdhdGl2ZSkpIHtcbiAgLS1zYmItb3B0aW9uLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMy1uZWdhdGl2ZSk7XG4gIC0tc2JiLW9wdGlvbi1pY29uLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItNSk7XG4gIC0tc2JiLW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zLW5lZ2F0aXZlKTtcbiAgLS1zYmItb3B0aW9uLWJhY2tncm91bmQtY29sb3ItYWN0aXZlOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci00LW5lZ2F0aXZlKTtcbiAgLS1zYmItb3B0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJvcmRlci1jb2xvci01KTtcbiAgLS1zYmItb3B0aW9uLWRpc2FibGVkLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMtbmVnYXRpdmUpO1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKTtcbn1cblxuOmhvc3QoOmhvdmVyOm5vdCg6c3RhdGUoZGlzYWJsZWQpKSkge1xuICBAaW5jbHVkZSBzYmIuaG92ZXItbXEoJGhvdmVyOiB0cnVlKSB7XG4gICAgLS1zYmItb3B0aW9uLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1vcHRpb24tYmFja2dyb3VuZC1jb2xvci1ob3Zlcik7XG4gIH1cbn1cblxuOmhvc3QoOmFjdGl2ZTpub3QoOnN0YXRlKGRpc2FibGVkKSkpIHtcbiAgLS1zYmItb3B0aW9uLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1vcHRpb24tYmFja2dyb3VuZC1jb2xvci1hY3RpdmUpO1xufVxuXG4vLyBJZiBoaWdobGlnaHRpbmcgaXMgZW5hYmxlZCwgaGlkZSB0aGUgb3JpZ2luYWwgc2xvdCBjb250ZW50XG46aG9zdCg6bm90KDpzdGF0ZShkaXNhYmxlLWhpZ2hsaWdodCkpKSB7XG4gIC5zYmItb3B0aW9uX19sYWJlbCBzbG90IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZShkaXNhYmxlZCkpIHtcbiAgLS1zYmItb3B0aW9uLWN1cnNvcjogdmFyKC0tc2JiLWN1cnNvci1kZWZhdWx0KTtcblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItb3B0aW9uLWNvbG9yOiBHcmF5VGV4dDtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUodmFyaWFudC1zZWxlY3QpKSB7XG4gIC0tc2JiLW9wdGlvbi1jb2x1bW4tZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yeCk7XG4gIC0tc2JiLW9wdGlvbi1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbjpob3N0KDpzdGF0ZSh2YXJpYW50LXNlbGVjdCk6c3RhdGUobXVsdGlwbGUpKSB7XG4gIC0tc2JiLW9wdGlvbi1qdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xufVxuXG46aG9zdCg6c3RhdGUoYWN0aXZlKSkge1xuICAtLXNiYi1vcHRpb24tZm9jdXMtb3V0bGluZS1jb2xvcjogdmFyKC0tc2JiLWZvY3VzLW91dGxpbmUtY29sb3IpO1xufVxuXG4uc2JiLW9wdGlvbl9fbGFiZWwtLWhpZ2hsaWdodCB7XG4gIDpob3N0KDpub3QoOmlzKDpzdGF0ZShkaXNhYmxlZCkpKSkgJiB7XG4gICAgQGluY2x1ZGUgc2JiLnRleHQtLWJvbGQ7XG4gICAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgICAgY29sb3I6IEhpZ2hsaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLnNiYi1vcHRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLXNiYi1vcHRpb24tbWluLWhlaWdodCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IHZhcigtLXNiYi1vcHRpb24tY29sdW1uLWdhcCk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItb3B0aW9uLXBhZGRpbmctaW5saW5lKTtcbiAganVzdGlmeS1jb250ZW50OiB2YXIoLS1zYmItb3B0aW9uLWp1c3RpZnktY29udGVudCk7XG4gIGNvbG9yOiB2YXIoLS1zYmItb3B0aW9uLWNvbG9yKTtcbiAgY3Vyc29yOiB2YXIoLS1zYmItb3B0aW9uLWN1cnNvcik7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB2YXIoLS1zYmItb3B0aW9uLWNvbG9yKTtcblxuICAvLyBXZSB1c2UgdGhlIHBzZXVkbyBlbGVtZW50IHRvIGRpc3BsYXkgdGhlIGZvY3VzIG91dGxpbmUgKGlubGluZSBpbiB0aGlzIGNhc2UpXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IHZhcigtLXNiYi1vcHRpb24tZm9jdXMtb3V0bGluZS1pbnNldCk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS13aWR0aCkgc29saWQgdmFyKC0tc2JiLW9wdGlvbi1mb2N1cy1vdXRsaW5lLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItb3B0aW9uLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLy8gQWRkIGlubmVyIGJvcmRlciBhbmQgYmFja2dyb3VuZCBmb3IgZGlzYWJsZWQgb3B0aW9uIHdoZW4gaXQncyBub3QgbXVsdGlwbGVcbiAgOmhvc3QoOnN0YXRlKGRpc2FibGVkKTpub3QoOnN0YXRlKG11bHRpcGxlKSkpICYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDYpfTtcbiAgICAgIGJvcmRlcjogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCkgZGFzaGVkIHZhcigtLXNiYi1vcHRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1ib3JkZXItcmFkaXVzLTJ4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1vcHRpb24tZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgICAgICBib3JkZXItY29sb3I6IEdyYXlUZXh0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2JiLW9wdGlvbl9faWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi13aWR0aDogdmFyKC0tc2JiLXNpemUtaWNvbi11aS1zbWFsbCk7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWljb24tdWktc21hbGwpO1xuICBjb2xvcjogdmFyKC0tc2JiLW9wdGlvbi1pY29uLWNvbG9yKTtcblxuICA6aG9zdCg6bm90KDpzdGF0ZShzbG90dGVkLWljb24pLCA6c3RhdGUoaGFzLWljb24tbmFtZSkpKSAmIHtcbiAgICAvLyBDYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgJ3ByZXNlcnZlLWljb24tc3BhY2UnIG9uIHRoZSBhdXRvY29tcGxldGVcbiAgICBkaXNwbGF5OiB2YXIoLS1zYmItb3B0aW9uLWljb24tY29udGFpbmVyLWRpc3BsYXksIG5vbmUpO1xuICB9XG59XG5cbi5zYmItb3B0aW9uX19sYWJlbCB7XG4gIHRleHQtb3ZlcmZsb3c6IHZhcigtLXNiYi1vcHRpb24tdGV4dC1vdmVyZmxvdyk7XG4gIG92ZXJmbG93OiB2YXIoLS1zYmItb3B0aW9uLW92ZXJmbG93KTtcbiAgd2hpdGUtc3BhY2U6IHZhcigtLXNiYi1vcHRpb24td2hpdGUtc3BhY2UsIGluaXRpYWwpO1xufVxuIiwiaW1wb3J0IHsgaHRtbCwgbm90aGluZywgdW5zYWZlQ1NTLCB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHR5cGUgeyBTYmJBdXRvY29tcGxldGVFbGVtZW50IH0gZnJvbSAnLi4vLi4vYXV0b2NvbXBsZXRlLnB1cmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJFbGVtZW50VHlwZSB9IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHsgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlciwgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlNlbGVjdEVsZW1lbnQgfSBmcm9tICcuLi8uLi9zZWxlY3QucHVyZS50cyc7XG5pbXBvcnQgeyBTYmJWaXN1YWxDaGVja2JveEVsZW1lbnQgfSBmcm9tICcuLi8uLi92aXN1YWwtY2hlY2tib3gucHVyZS50cyc7XG5cbmltcG9ydCB7IFNiYk9wdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi9vcHRpb24tYmFzZS1lbGVtZW50LnRzJztcbmltcG9ydCBzdHlsZSBmcm9tICcuL29wdGlvbi5zY3NzP2lubGluZSc7XG5cbmV4cG9ydCB0eXBlIFNiYk9wdGlvblZhcmlhbnQgPSAnYXV0b2NvbXBsZXRlJyB8ICdzZWxlY3QnIHwgbnVsbDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBvbiBvcHRpb24gaXRlbSB3aGljaCBjYW4gYmUgdXNlZCBpbiBgc2JiLXNlbGVjdGAgb3IgYHNiYi1hdXRvY29tcGxldGVgLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIG9wdGlvbiBsYWJlbC5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gaWNvbi4gSWYgYGljb24tbmFtZWAgaXMgc2V0LCBhIHNiYi1pY29uIHdpbGwgYmUgdXNlZC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1vcHRpb24taWNvbi1jb250YWluZXItZGlzcGxheT1ub25lXSAtIENhbiBiZSB1c2VkIHRvIHJlc2VydmUgc3BhY2UgZXZlblxuICogd2hlbiBwcmVzZXJ2ZS1pY29uLXNwYWNlIG9uIGF1dG9jb21wbGV0ZSBpcyBub3Qgc2V0IG9yIGljb25OYW1lIGlzIG5vdCBzZXQuXG4gKiBAb3ZlcnJpZGVUeXBlIHZhbHVlIC0gKFQgPSBzdHJpbmcpIHwgbnVsbFxuICovXG5leHBvcnQgY2xhc3MgU2JiT3B0aW9uRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYk9wdGlvbkJhc2VFbGVtZW50PFQ+IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1vcHRpb24nO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbU2JiVmlzdWFsQ2hlY2tib3hFbGVtZW50XTtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ29wdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBvcHRpb25zZWxlY3Rpb25jaGFuZ2U6ICdvcHRpb25zZWxlY3Rpb25jaGFuZ2UnLFxuICAgIG9wdGlvbnNlbGVjdGVkOiAnb3B0aW9uc2VsZWN0ZWQnLFxuICB9IGFzIGNvbnN0O1xuXG4gIHByb3RlY3RlZCBvcHRpb25JZCA9IGBzYmItb3B0aW9uYDtcblxuICBwcml2YXRlIHNldCBfdmFyaWFudCh2YXJpYW50OiBTYmJPcHRpb25WYXJpYW50KSB7XG4gICAgaWYgKHRoaXMuX3ZhcmlhbnRJbnRlcm5hbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgdmFyaWFudC0ke3RoaXMuX3ZhcmlhbnRJbnRlcm5hbH1gKTtcbiAgICB9XG4gICAgdGhpcy5fdmFyaWFudEludGVybmFsID0gdmFyaWFudDtcbiAgICBpZiAodGhpcy5fdmFyaWFudEludGVybmFsKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKGB2YXJpYW50LSR7dGhpcy5fdmFyaWFudEludGVybmFsfWApO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGdldCBfdmFyaWFudCgpOiBTYmJPcHRpb25WYXJpYW50IHtcbiAgICByZXR1cm4gdGhpcy5fdmFyaWFudEludGVybmFsID8/IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfdmFyaWFudEludGVybmFsPzogU2JiT3B0aW9uVmFyaWFudDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZENvbnRyb2xsZXIoXG4gICAgICBuZXcgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcih0aGlzLCAoKSA9PiB0aGlzLmNsb3Nlc3QoJ3NiYi1vcHRncm91cCcpLCB7XG4gICAgICAgIGRpc2FibGVkOiAocCkgPT4gKHRoaXMuZGlzYWJsZWRGcm9tR3JvdXAgPSBwLmRpc2FibGVkKSxcbiAgICAgICAgbGFiZWw6IChwKSA9PiAodGhpcy5ncm91cExhYmVsID0gcC5sYWJlbCksXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIodGhpcywgKCkgPT4gdGhpcy5jbG9zZXN0KCdzYmItYXV0b2NvbXBsZXRlJyksIHtcbiAgICAgICAgbmVnYXRpdmU6IChlKSA9PiB0aGlzLl9oYW5kbGVOZWdhdGl2ZUNoYW5nZShlKSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICB0aGlzLmFkZENvbnRyb2xsZXIoXG4gICAgICBuZXcgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcih0aGlzLCAoKSA9PiB0aGlzLmNsb3Nlc3QoJ3NiYi1zZWxlY3QnKSwge1xuICAgICAgICBtdWx0aXBsZTogKGFuY2VzdG9yKSA9PiB7XG4gICAgICAgICAgdGhpcy50b2dnbGVTdGF0ZSgnbXVsdGlwbGUnLCBhbmNlc3Rvci5tdWx0aXBsZSk7XG5cbiAgICAgICAgICAvLyBNdWx0aXBsZSBoYXMgdG8gYmUgcHJvcGFnYXRlZCB0byBzYmItdmlzdWFsLWNoZWNrYm94IGluc2lkZSB0aGUgb3B0aW9uLlxuICAgICAgICAgIHRoaXMucmVxdWVzdFVwZGF0ZSgpO1xuICAgICAgICB9LFxuICAgICAgICBuZWdhdGl2ZTogKGUpID0+IHRoaXMuX2hhbmRsZU5lZ2F0aXZlQ2hhbmdlKGUpLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzTXVsdGlwbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmh5ZHJhdGlvblJlcXVpcmVkICYmIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5oYXMoJ211bHRpcGxlJyk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVOZWdhdGl2ZUNoYW5nZShhbmNlc3RvcjogU2JiQXV0b2NvbXBsZXRlRWxlbWVudCB8IFNiYlNlbGVjdEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCduZWdhdGl2ZScsIGFuY2VzdG9yLm5lZ2F0aXZlKTtcblxuICAgIC8vIE5lZ2F0aXZlIGhhcyB0byBiZSBwcm9wYWdhdGVkIHRvIHNiYi12aXN1YWwtY2hlY2tib3ggaW5zaWRlIHRoZSBvcHRpb24uXG4gICAgdGhpcy5yZXF1ZXN0VXBkYXRlKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgaGlnaGxpZ2h0IHN0YXRlIGJvdGggb24gc2xvdCBjaGFuZ2UsIGJ1dCBhbHNvIHdoZW4gY29ubmVjdGluZ1xuICAgIC8vIHRoZSBlbGVtZW50IHRvIHRoZSBET00uIFRoZSBzbG90IGNoYW5nZSBldmVudHMgbWlnaHQgYmUgc3dhbGxvd2VkIHdoZW4gdXNpbmcgZGVjbGFyYXRpdmVcbiAgICAvLyBzaGFkb3cgRE9NIHdpdGggU1NSIG9yIGlmIHRoZSBET00gaXMgY2hhbmdlZCB3aGVuIGRpc2Nvbm5lY3RlZC5cbiAgICBpZiAodGhpcy5oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgdGhpcy5oeWRyYXRpb25Db21wbGV0ZS50aGVuKCgpID0+IHRoaXMuX2luaXQoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2luaXQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3NldFZhcmlhbnRCeUNvbnRleHQoKTtcbiAgICB0aGlzLmhhbmRsZUhpZ2hsaWdodFN0YXRlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0QnlDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWRGcm9tR3JvdXApIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9pc011bHRpcGxlKCkpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5zZWxlY3RWaWFVc2VySW50ZXJhY3Rpb24oIXRoaXMuc2VsZWN0ZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdFZpYVVzZXJJbnRlcmFjdGlvbih0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2VsZWN0VmlhVXNlckludGVyYWN0aW9uKHNlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgc3VwZXIuc2VsZWN0VmlhVXNlckludGVyYWN0aW9uKHNlbGVjdGVkKTtcbiAgICAvKiogVGhlIG9wdGlvbnNlbGVjdGlvbmNoYW5nZSBldmVudCBpcyBkaXNwYXRjaGVkIHdoZW4gdGhlIG9wdGlvbiBzZWxlY3Rpb24gc3RhdHVzIGNoYW5nZXMuICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnb3B0aW9uc2VsZWN0aW9uY2hhbmdlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRWYXJpYW50QnlDb250ZXh0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsb3Nlc3Q/Lignc2JiLWF1dG9jb21wbGV0ZScpKSB7XG4gICAgICB0aGlzLl92YXJpYW50ID0gJ2F1dG9jb21wbGV0ZSc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNsb3Nlc3Q/Lignc2JiLXNlbGVjdCcpKSB7XG4gICAgICB0aGlzLl92YXJpYW50ID0gJ3NlbGVjdCc7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGhhbmRsZUhpZ2hsaWdodFN0YXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl92YXJpYW50ICE9PSAnYXV0b2NvbXBsZXRlJykge1xuICAgICAgdGhpcy51cGRhdGVEaXNhYmxlSGlnaGxpZ2h0KHRydWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN1cGVyLmhhbmRsZUhpZ2hsaWdodFN0YXRlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVySWNvbigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8IS0tIEljb24gLS0+XG4gICAgICAkeyF0aGlzLl9pc011bHRpcGxlKClcbiAgICAgICAgPyBodG1sYCA8c3BhbiBjbGFzcz1cInNiYi1vcHRpb25fX2ljb25cIj4gJHt0aGlzLnJlbmRlckljb25TbG90KCl9IDwvc3Bhbj5gXG4gICAgICAgIDogbm90aGluZ31cblxuICAgICAgPCEtLSBDaGVja2JveCAtLT5cbiAgICAgICR7dGhpcy5faXNNdWx0aXBsZSgpXG4gICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgIDxzYmItdmlzdWFsLWNoZWNrYm94XG4gICAgICAgICAgICAgID9jaGVja2VkPSR7dGhpcy5zZWxlY3RlZH1cbiAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkRnJvbUdyb3VwfVxuICAgICAgICAgICAgICA/bmVnYXRpdmU9JHt0aGlzLm1hdGNoZXM/LignOnN0YXRlKG5lZ2F0aXZlKScpfVxuICAgICAgICAgICAgPjwvc2JiLXZpc3VhbC1jaGVja2JveD5cbiAgICAgICAgICBgXG4gICAgICAgIDogbm90aGluZ31cbiAgICBgO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlckxhYmVsKCk6IFRlbXBsYXRlUmVzdWx0IHwgdHlwZW9mIG5vdGhpbmcge1xuICAgIGlmICh0aGlzLl92YXJpYW50ICE9PSAnYXV0b2NvbXBsZXRlJykge1xuICAgICAgcmV0dXJuIG5vdGhpbmc7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5yZW5kZXJMYWJlbCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclRpY2soKTogVGVtcGxhdGVSZXN1bHQgfCB0eXBlb2Ygbm90aGluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhcmlhbnQgPT09ICdzZWxlY3QnICYmICF0aGlzLl9pc011bHRpcGxlKCkgJiYgdGhpcy5zZWxlY3RlZFxuICAgICAgPyBodG1sYDxzYmItaWNvbiBuYW1lPVwidGljay1zbWFsbFwiPjwvc2JiLWljb24+YFxuICAgICAgOiBub3RoaW5nO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItb3B0aW9uJzogU2JiT3B0aW9uRWxlbWVudDtcbiAgfVxuXG4gIGludGVyZmFjZSBHbG9iYWxFdmVudEhhbmRsZXJzRXZlbnRNYXAge1xuICAgIG9wdGlvbnNlbGVjdGlvbmNoYW5nZTogRXZlbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNzQkEsSUFBYSxtQkFBYixjQUFrRCxxQkFBdUI7O0FBQ3ZDLE9BQUEsY0FBc0I7OztBQUMvQixPQUFBLHNCQUF3QyxDQUFDLHlCQUF5Qjs7O0FBQ3pELE9BQUEsT0FBTzs7O0FBQ2hCLE9BQUEsU0FBeUIsQ0FBQyxpQkFBaUIsVUFBVSxlQUFNLENBQUM7OztBQUNuRCxPQUFBLFNBQVM7R0FDdkMsdUJBQXVCO0dBQ3ZCLGdCQUFnQjtHQUNSOztDQUlWLElBQVksU0FBUyxTQUF5QjtBQUM1QyxNQUFJLEtBQUssaUJBQ1AsTUFBSyxVQUFVLE9BQU8sT0FBTyxXQUFXLEtBQUssbUJBQW1CO0FBRWxFLE9BQUssbUJBQW1CO0FBQ3hCLE1BQUksS0FBSyxpQkFDUCxNQUFLLFVBQVUsT0FBTyxJQUFJLFdBQVcsS0FBSyxtQkFBbUI7O0NBR2pFLElBQVksV0FBUTtBQUNsQixTQUFPLEtBQUssb0JBQW9COztDQUlsQyxjQUFBO0FBQ0UsU0FBTztBQWpCQyxPQUFBLFdBQVc7QUFrQm5CLE9BQUssY0FDSCxJQUFJLDZCQUE2QixZQUFZLEtBQUssUUFBUSxlQUFlLEVBQUU7R0FDekUsV0FBVyxNQUFPLEtBQUssb0JBQW9CLEVBQUU7R0FDN0MsUUFBUSxNQUFPLEtBQUssYUFBYSxFQUFFO0dBQ3BDLENBQUMsQ0FDSDtBQUVELE9BQUssY0FDSCxJQUFJLDZCQUE2QixZQUFZLEtBQUssUUFBUSxtQkFBbUIsRUFBRSxFQUM3RSxXQUFXLE1BQU0sS0FBSyxzQkFBc0IsRUFBRSxFQUMvQyxDQUFDLENBQ0g7QUFFRCxPQUFLLGNBQ0gsSUFBSSw2QkFBNkIsWUFBWSxLQUFLLFFBQVEsYUFBYSxFQUFFO0dBQ3ZFLFdBQVcsYUFBWTtBQUNyQixTQUFLLFlBQVksWUFBWSxTQUFTLFNBQVM7QUFHL0MsU0FBSyxlQUFlOztHQUV0QixXQUFXLE1BQU0sS0FBSyxzQkFBc0IsRUFBQTtHQUM3QyxDQUFDLENBQ0g7O0NBR0ssY0FBVztBQUNqQixTQUFPLENBQUMsS0FBSyxxQkFBcUIsS0FBSyxVQUFVLE9BQU8sSUFBSSxXQUFXOztDQUdqRSxzQkFBc0IsVUFBbUQ7QUFDL0UsT0FBSyxZQUFZLFlBQVksU0FBUyxTQUFTO0FBRy9DLE9BQUssZUFBZTs7Q0FHTixvQkFBaUI7QUFDL0IsUUFBTSxtQkFBbUI7QUFLekIsTUFBSSxLQUFLLGtCQUNQLE1BQUssa0JBQWtCLFdBQVcsS0FBSyxPQUFPLENBQUM7TUFFL0MsTUFBSyxPQUFPOztDQUlSLFFBQUs7QUFDWCxPQUFLLHNCQUFzQjtBQUMzQixPQUFLLHNCQUFzQjs7Q0FHbkIsY0FBYyxPQUFpQjtBQUN2QyxNQUFJLEtBQUssWUFBWSxLQUFLLG1CQUFtQjtBQUMzQyxTQUFNLGlCQUFpQjtBQUN2Qjs7QUFHRixNQUFJLEtBQUssYUFBYSxFQUFFO0FBQ3RCLFNBQU0saUJBQWlCO0FBQ3ZCLFFBQUsseUJBQXlCLENBQUMsS0FBSyxTQUFTO1FBRTdDLE1BQUsseUJBQXlCLEtBQUs7O0NBSXBCLHlCQUF5QixVQUFpQjtBQUMzRCxRQUFNLHlCQUF5QixTQUFTOztBQUV4QyxPQUFLLGNBQWMsSUFBSSxNQUFNLHlCQUF5QjtHQUFFLFNBQVM7R0FBTSxVQUFVO0dBQU0sQ0FBQyxDQUFDOztDQUduRix1QkFBb0I7QUFDMUIsTUFBSSxLQUFLLFVBQVUsbUJBQW1CLENBQ3BDLE1BQUssV0FBVztXQUNQLEtBQUssVUFBVSxhQUFhLENBQ3JDLE1BQUssV0FBVzs7Q0FJRCx1QkFBb0I7QUFDckMsTUFBSSxLQUFLLGFBQWEsZ0JBQWdCO0FBQ3BDLFFBQUssdUJBQXVCLEtBQUs7QUFDakM7O0FBR0YsUUFBTSxzQkFBc0I7O0NBR1gsYUFBVTtBQUMzQixTQUFPLElBQUk7O1FBRVAsQ0FBQyxLQUFLLGFBQWEsR0FDakIsSUFBSSxvQ0FBb0MsS0FBSyxnQkFBZ0IsQ0FBQSxZQUM3RCxRQUFBOzs7UUFHRixLQUFLLGFBQWEsR0FDaEIsSUFBSTs7eUJBRVcsS0FBSyxTQUFBOzBCQUNKLEtBQUssWUFBWSxLQUFLLGtCQUFBOzBCQUN0QixLQUFLLFVBQVUsMENBQW1CLENBQUE7O2NBR2xELFFBQUE7OztDQUlXLGNBQVc7QUFDNUIsTUFBSSxLQUFLLGFBQWEsZUFDcEIsUUFBTztBQUVULFNBQU8sTUFBTSxhQUFhOztDQUdULGFBQVU7QUFDM0IsU0FBTyxLQUFLLGFBQWEsWUFBWSxDQUFDLEtBQUssYUFBYSxJQUFJLEtBQUssV0FDN0QsSUFBSSw0Q0FDSiJ9