@sbb-esta/lyne-elements 4.0.0-next.2 → 4.0.0-next.4

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 (1585) hide show
  1. package/accordion/accordion.component.d.ts +2 -2
  2. package/accordion/accordion.component.d.ts.map +1 -1
  3. package/accordion/accordion.component.js +29 -27
  4. package/accordion.d.ts +1 -1
  5. package/action-group/action-group.component.d.ts +3 -3
  6. package/action-group/action-group.component.js +1 -1
  7. package/action-group.d.ts +1 -1
  8. package/alert/alert/alert.component.d.ts +2 -2
  9. package/alert/alert/alert.component.js +7 -7
  10. package/alert/alert-group/alert-group.component.d.ts +2 -2
  11. package/alert/alert-group/alert-group.component.d.ts.map +1 -1
  12. package/alert/alert-group/alert-group.component.js +23 -23
  13. package/alert/alert-group.d.ts +1 -1
  14. package/alert/alert.d.ts +1 -1
  15. package/alert.d.ts +2 -2
  16. package/autocomplete/autocomplete-base-element.d.ts +4 -3
  17. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  18. package/autocomplete/autocomplete-base-element.js +58 -56
  19. package/autocomplete/autocomplete.component.d.ts +2 -2
  20. package/autocomplete/autocomplete.component.d.ts.map +1 -1
  21. package/autocomplete/autocomplete.component.js +14 -14
  22. package/autocomplete.d.ts +2 -2
  23. package/breadcrumb/breadcrumb/breadcrumb.component.d.ts +2 -2
  24. package/breadcrumb/breadcrumb/breadcrumb.component.js +5 -5
  25. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts +4 -5
  26. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  27. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +53 -47
  28. package/breadcrumb/breadcrumb-group.d.ts +1 -1
  29. package/breadcrumb/breadcrumb.d.ts +1 -1
  30. package/breadcrumb.d.ts +2 -2
  31. package/button/accent-button/accent-button.component.d.ts +2 -2
  32. package/button/accent-button-link/accent-button-link.component.d.ts +2 -2
  33. package/button/accent-button-link.d.ts +1 -1
  34. package/button/accent-button-static/accent-button-static.component.d.ts +2 -2
  35. package/button/accent-button-static.d.ts +1 -1
  36. package/button/accent-button.d.ts +1 -1
  37. package/button/button/button.component.d.ts +2 -2
  38. package/button/button-link/button-link.component.d.ts +2 -2
  39. package/button/button-link.d.ts +1 -1
  40. package/button/button-static/button-static.component.d.ts +2 -2
  41. package/button/button-static.d.ts +1 -1
  42. package/button/button.d.ts +1 -1
  43. package/button/common/button-common.d.ts +3 -3
  44. package/button/common/button-common.d.ts.map +1 -1
  45. package/button/common/button-common.js +40 -42
  46. package/button/common.d.ts +1 -1
  47. package/button/common.js +1 -1
  48. package/button/mini-button/mini-button.component.d.ts +2 -2
  49. package/button/mini-button-group/mini-button-group.component.d.ts +2 -2
  50. package/button/mini-button-group.d.ts +1 -1
  51. package/button/mini-button.d.ts +1 -1
  52. package/button/secondary-button/secondary-button.component.d.ts +2 -2
  53. package/button/secondary-button-link/secondary-button-link.component.d.ts +2 -2
  54. package/button/secondary-button-link.d.ts +1 -1
  55. package/button/secondary-button-static/secondary-button-static.component.d.ts +2 -2
  56. package/button/secondary-button-static.d.ts +1 -1
  57. package/button/secondary-button.d.ts +1 -1
  58. package/button/transparent-button/transparent-button.component.d.ts +2 -2
  59. package/button/transparent-button-link/transparent-button-link.component.d.ts +2 -2
  60. package/button/transparent-button-link.d.ts +1 -1
  61. package/button/transparent-button-static/transparent-button-static.component.d.ts +2 -2
  62. package/button/transparent-button-static.d.ts +1 -1
  63. package/button/transparent-button.d.ts +1 -1
  64. package/button.d.ts +15 -15
  65. package/button.js +1 -1
  66. package/calendar/calendar.component.d.ts +5 -5
  67. package/calendar/calendar.component.d.ts.map +1 -1
  68. package/calendar/calendar.component.js +183 -183
  69. package/calendar.d.ts +1 -1
  70. package/card/card/card.component.d.ts +3 -6
  71. package/card/card/card.component.d.ts.map +1 -1
  72. package/card/card/card.component.js +32 -47
  73. package/card/card-badge/card-badge.component.d.ts +1 -3
  74. package/card/card-badge/card-badge.component.d.ts.map +1 -1
  75. package/card/card-badge/card-badge.component.js +29 -36
  76. package/card/card-badge.d.ts +1 -1
  77. package/card/card-button/card-button.component.d.ts +2 -2
  78. package/card/card-button.d.ts +1 -1
  79. package/card/card-link/card-link.component.d.ts +2 -2
  80. package/card/card-link.d.ts +1 -1
  81. package/card/card.d.ts +1 -1
  82. package/card/common/card-action-common.d.ts +2 -2
  83. package/card/common/card-action-common.d.ts.map +1 -1
  84. package/card/common/card-action-common.js +36 -24
  85. package/card/common.d.ts +1 -1
  86. package/card.d.ts +5 -5
  87. package/carousel/carousel/carousel.component.d.ts +1 -1
  88. package/carousel/carousel-item/carousel-item.component.d.ts +1 -1
  89. package/carousel/carousel-item.d.ts +1 -1
  90. package/carousel/carousel-list/carousel-list.component.d.ts +1 -1
  91. package/carousel/carousel-list.d.ts +1 -1
  92. package/carousel/carousel.d.ts +1 -1
  93. package/carousel.d.ts +3 -3
  94. package/checkbox/checkbox/checkbox.component.d.ts +4 -4
  95. package/checkbox/checkbox/checkbox.component.js +34 -34
  96. package/checkbox/checkbox-group/checkbox-group.component.d.ts +7 -8
  97. package/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
  98. package/checkbox/checkbox-group/checkbox-group.component.js +58 -59
  99. package/checkbox/checkbox-group.d.ts +1 -1
  100. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts +2 -15
  101. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  102. package/checkbox/checkbox-panel/checkbox-panel.component.js +35 -55
  103. package/checkbox/checkbox-panel.d.ts +1 -1
  104. package/checkbox/checkbox.d.ts +1 -1
  105. package/checkbox/common/checkbox-common.d.ts +3 -3
  106. package/checkbox/common.d.ts +1 -1
  107. package/checkbox/common.js +1 -1
  108. package/checkbox-common-t04WeA36.js +5 -0
  109. package/checkbox.d.ts +4 -4
  110. package/checkbox.js +1 -1
  111. package/chip/chip/chip.component.d.ts +1 -1
  112. package/chip/chip/chip.component.js +7 -7
  113. package/chip/chip-group/chip-group.component.d.ts +3 -2
  114. package/chip/chip-group/chip-group.component.d.ts.map +1 -1
  115. package/chip/chip-group/chip-group.component.js +23 -23
  116. package/chip/chip-group.d.ts +1 -1
  117. package/chip/chip.d.ts +1 -1
  118. package/chip-label.d.ts +1 -1
  119. package/chip.d.ts +2 -2
  120. package/clock/clock.component.d.ts +4 -2
  121. package/clock/clock.component.d.ts.map +1 -1
  122. package/clock/clock.component.js +40 -39
  123. package/clock.d.ts +1 -1
  124. package/container/container/container.component.d.ts +1 -1
  125. package/container/container/container.component.d.ts.map +1 -1
  126. package/container/container/container.component.js +27 -24
  127. package/container/container.d.ts +1 -1
  128. package/container/sticky-bar/sticky-bar.component.d.ts +3 -1
  129. package/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  130. package/container/sticky-bar/sticky-bar.component.js +41 -41
  131. package/container/sticky-bar.d.ts +1 -1
  132. package/container.d.ts +2 -2
  133. package/core/a11y/focus-visible-within-controller.d.ts +2 -1
  134. package/core/a11y/focus-visible-within-controller.d.ts.map +1 -1
  135. package/core/a11y/focus-visible-within-controller.js +8 -7
  136. package/core/a11y.d.ts +8 -8
  137. package/core/base-elements/action-base-element.d.ts +2 -1
  138. package/core/base-elements/action-base-element.d.ts.map +1 -1
  139. package/core/base-elements/action-base-element.js +37 -45
  140. package/core/base-elements/button-base-element.d.ts +4 -4
  141. package/core/base-elements/button-base-element.d.ts.map +1 -1
  142. package/core/base-elements/button-base-element.js +55 -56
  143. package/core/base-elements/link-base-element.d.ts +2 -2
  144. package/core/base-elements/link-base-element.d.ts.map +1 -1
  145. package/core/base-elements/link-base-element.js +62 -64
  146. package/core/base-elements/open-close-base-element.d.ts +4 -3
  147. package/core/base-elements/open-close-base-element.d.ts.map +1 -1
  148. package/core/base-elements/open-close-base-element.js +8 -8
  149. package/core/base-elements.d.ts +4 -4
  150. package/core/config/config.d.ts +1 -1
  151. package/core/config.d.ts +1 -1
  152. package/core/controllers/escapable-overlay-controller.d.ts +1 -1
  153. package/core/controllers/inert-controller.d.ts +1 -1
  154. package/core/controllers/media-matchers-controller.d.ts +5 -2
  155. package/core/controllers/media-matchers-controller.d.ts.map +1 -1
  156. package/core/controllers/media-matchers-controller.js +30 -26
  157. package/core/controllers/overlay-position-controller.d.ts +3 -2
  158. package/core/controllers/overlay-position-controller.d.ts.map +1 -1
  159. package/core/controllers/overlay-position-controller.js +35 -35
  160. package/core/controllers/property-watcher-controller.d.ts +16 -0
  161. package/core/controllers/property-watcher-controller.d.ts.map +1 -0
  162. package/core/controllers/property-watcher-controller.js +58 -0
  163. package/core/controllers.d.ts +8 -7
  164. package/core/controllers.d.ts.map +1 -1
  165. package/core/controllers.js +26 -21
  166. package/core/datetime/date-adapter.d.ts +1 -3
  167. package/core/datetime/date-adapter.d.ts.map +1 -1
  168. package/core/datetime/native-date-adapter.d.ts +1 -1
  169. package/core/datetime.d.ts +2 -2
  170. package/core/decorators/force-type.d.ts +1 -1
  171. package/core/decorators/get-override.d.ts +1 -1
  172. package/core/decorators/handle-distinct-change.d.ts +1 -1
  173. package/core/decorators/host-attributes.d.ts +1 -1
  174. package/core/decorators/id-reference.d.ts +1 -1
  175. package/core/decorators/plain-date.d.ts +2 -2
  176. package/core/decorators.d.ts +7 -7
  177. package/core/dom/animation.d.ts.map +1 -1
  178. package/core/dom/animation.js +2 -2
  179. package/core/dom/set-or-remove-attribute.d.ts +0 -14
  180. package/core/dom/set-or-remove-attribute.d.ts.map +1 -1
  181. package/core/dom/set-or-remove-attribute.js +3 -11
  182. package/core/dom.d.ts +7 -9
  183. package/core/dom.d.ts.map +1 -1
  184. package/core/dom.js +25 -33
  185. package/core/eventing.d.ts +6 -6
  186. package/core/i18n/i18n.d.ts +1 -3
  187. package/core/i18n/i18n.d.ts.map +1 -1
  188. package/core/i18n/i18n.js +60 -66
  189. package/core/i18n.d.ts +1 -1
  190. package/core/i18n.js +53 -54
  191. package/core/interfaces/types.d.ts +0 -14
  192. package/core/interfaces/types.d.ts.map +1 -1
  193. package/core/interfaces.d.ts +3 -3
  194. package/core/mixins/animation-complete-mixin.d.ts +1 -1
  195. package/core/mixins/disabled-mixin.d.ts +2 -2
  196. package/core/mixins/element-internals-mixin.d.ts +15 -2
  197. package/core/mixins/element-internals-mixin.d.ts.map +1 -1
  198. package/core/mixins/element-internals-mixin.js +102 -75
  199. package/core/mixins/form-associated-checkbox-mixin.d.ts +3 -3
  200. package/core/mixins/form-associated-input-mixin.d.ts +4 -4
  201. package/core/mixins/form-associated-mixin.d.ts +2 -2
  202. package/core/mixins/form-associated-mixin.js +1 -1
  203. package/core/mixins/form-associated-radio-button-mixin.d.ts +3 -3
  204. package/core/mixins/form-associated-radio-button-mixin.js +16 -16
  205. package/core/mixins/hydration-mixin.d.ts +1 -1
  206. package/core/mixins/named-slot-list-mixin.d.ts +2 -2
  207. package/core/mixins/negative-mixin.d.ts +1 -1
  208. package/core/mixins/panel-mixin.d.ts +11 -3
  209. package/core/mixins/panel-mixin.d.ts.map +1 -1
  210. package/core/mixins/panel-mixin.js +51 -37
  211. package/core/mixins/readonly-mixin.d.ts +1 -1
  212. package/core/mixins/required-mixin.d.ts +2 -2
  213. package/core/mixins/selection-panel-mixin.d.ts +9 -15
  214. package/core/mixins/selection-panel-mixin.d.ts.map +1 -1
  215. package/core/mixins/selection-panel-mixin.js +35 -83
  216. package/core/mixins/update-scheduler-mixin.d.ts +1 -1
  217. package/core/mixins.d.ts +16 -16
  218. package/core/mixins.js +23 -22
  219. package/core/overlay/overlay-option-panel.d.ts +2 -1
  220. package/core/overlay/overlay-option-panel.d.ts.map +1 -1
  221. package/core/overlay/overlay-option-panel.js +9 -6
  222. package/core/overlay.d.ts +5 -5
  223. package/core/styles/core/functions.scss +20 -0
  224. package/core/styles/core.scss +68 -12
  225. package/core/styles/lean-theme.scss +3 -0
  226. package/core/styles/mixins/card.scss +71 -55
  227. package/core/styles/mixins/lists.scss +8 -0
  228. package/core/styles/mixins/overlay.scss +0 -1
  229. package/core/testing/wait-for-image-ready.d.ts +1 -1
  230. package/core/testing/wait-for-render.d.ts +2 -2
  231. package/core/testing.d.ts +5 -5
  232. package/core.css +292 -11
  233. package/custom-elements.json +21815 -24517
  234. package/date-input/date-input.component.d.ts +2 -7
  235. package/date-input/date-input.component.d.ts.map +1 -1
  236. package/date-input/date-input.component.js +0 -7
  237. package/date-input.d.ts +1 -1
  238. package/datepicker/common/datepicker-button.d.ts +5 -5
  239. package/datepicker/common.d.ts +1 -1
  240. package/datepicker/datepicker/datepicker.component.d.ts +4 -4
  241. package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +1 -1
  242. package/datepicker/datepicker-next-day.d.ts +1 -1
  243. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +1 -1
  244. package/datepicker/datepicker-previous-day.d.ts +1 -1
  245. package/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts +2 -2
  246. package/datepicker/datepicker-toggle.d.ts +1 -1
  247. package/datepicker/datepicker.d.ts +1 -1
  248. package/datepicker.d.ts +5 -5
  249. package/development/accordion/accordion.component.d.ts +2 -2
  250. package/development/accordion/accordion.component.d.ts.map +1 -1
  251. package/development/accordion/accordion.component.js +5 -4
  252. package/development/accordion.d.ts +1 -1
  253. package/development/action-group/action-group.component.d.ts +3 -3
  254. package/development/action-group/action-group.component.js +2 -2
  255. package/development/action-group.d.ts +1 -1
  256. package/development/alert/alert/alert.component.d.ts +2 -2
  257. package/development/alert/alert/alert.component.js +6 -7
  258. package/development/alert/alert-group/alert-group.component.d.ts +2 -2
  259. package/development/alert/alert-group/alert-group.component.d.ts.map +1 -1
  260. package/development/alert/alert-group/alert-group.component.js +5 -5
  261. package/development/alert/alert-group.d.ts +1 -1
  262. package/development/alert/alert.d.ts +1 -1
  263. package/development/alert.d.ts +2 -2
  264. package/development/autocomplete/autocomplete-base-element.d.ts +4 -3
  265. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  266. package/development/autocomplete/autocomplete-base-element.js +28 -33
  267. package/development/autocomplete/autocomplete.component.d.ts +2 -2
  268. package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
  269. package/development/autocomplete/autocomplete.component.js +2 -3
  270. package/development/autocomplete.d.ts +2 -2
  271. package/development/breadcrumb/breadcrumb/breadcrumb.component.d.ts +2 -2
  272. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +2 -2
  273. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts +4 -5
  274. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  275. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +33 -24
  276. package/development/breadcrumb/breadcrumb-group.d.ts +1 -1
  277. package/development/breadcrumb/breadcrumb.d.ts +1 -1
  278. package/development/breadcrumb.d.ts +2 -2
  279. package/development/button/accent-button/accent-button.component.d.ts +2 -2
  280. package/development/button/accent-button/accent-button.component.js +1 -1
  281. package/development/button/accent-button-link/accent-button-link.component.d.ts +2 -2
  282. package/development/button/accent-button-link/accent-button-link.component.js +1 -1
  283. package/development/button/accent-button-link.d.ts +1 -1
  284. package/development/button/accent-button-static/accent-button-static.component.d.ts +2 -2
  285. package/development/button/accent-button-static/accent-button-static.component.js +1 -1
  286. package/development/button/accent-button-static.d.ts +1 -1
  287. package/development/button/accent-button.d.ts +1 -1
  288. package/development/button/button/button.component.d.ts +2 -2
  289. package/development/button/button/button.component.js +1 -1
  290. package/development/button/button-link/button-link.component.d.ts +2 -2
  291. package/development/button/button-link/button-link.component.js +1 -1
  292. package/development/button/button-link.d.ts +1 -1
  293. package/development/button/button-static/button-static.component.d.ts +2 -2
  294. package/development/button/button-static/button-static.component.js +1 -1
  295. package/development/button/button-static.d.ts +1 -1
  296. package/development/button/button.d.ts +1 -1
  297. package/development/button/common/button-common.d.ts +3 -3
  298. package/development/button/common/button-common.d.ts.map +1 -1
  299. package/development/button/common/button-common.js +8 -17
  300. package/development/button/common.d.ts +1 -1
  301. package/development/button/common.js +1 -1
  302. package/development/button/mini-button/mini-button.component.d.ts +2 -2
  303. package/development/button/mini-button/mini-button.component.js +1 -1
  304. package/development/button/mini-button-group/mini-button-group.component.d.ts +2 -2
  305. package/development/button/mini-button-group/mini-button-group.component.js +1 -1
  306. package/development/button/mini-button-group.d.ts +1 -1
  307. package/development/button/mini-button.d.ts +1 -1
  308. package/development/button/secondary-button/secondary-button.component.d.ts +2 -2
  309. package/development/button/secondary-button/secondary-button.component.js +1 -1
  310. package/development/button/secondary-button-link/secondary-button-link.component.d.ts +2 -2
  311. package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
  312. package/development/button/secondary-button-link.d.ts +1 -1
  313. package/development/button/secondary-button-static/secondary-button-static.component.d.ts +2 -2
  314. package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
  315. package/development/button/secondary-button-static.d.ts +1 -1
  316. package/development/button/secondary-button.d.ts +1 -1
  317. package/development/button/transparent-button/transparent-button.component.d.ts +2 -2
  318. package/development/button/transparent-button/transparent-button.component.js +1 -1
  319. package/development/button/transparent-button-link/transparent-button-link.component.d.ts +2 -2
  320. package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
  321. package/development/button/transparent-button-link.d.ts +1 -1
  322. package/development/button/transparent-button-static/transparent-button-static.component.d.ts +2 -2
  323. package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
  324. package/development/button/transparent-button-static.d.ts +1 -1
  325. package/development/button/transparent-button.d.ts +1 -1
  326. package/development/button.d.ts +15 -15
  327. package/development/button.js +1 -1
  328. package/development/calendar/calendar.component.d.ts +5 -5
  329. package/development/calendar/calendar.component.d.ts.map +1 -1
  330. package/development/calendar/calendar.component.js +11 -11
  331. package/development/calendar.d.ts +1 -1
  332. package/development/card/card/card.component.d.ts +3 -6
  333. package/development/card/card/card.component.d.ts.map +1 -1
  334. package/development/card/card/card.component.js +91 -146
  335. package/development/card/card-badge/card-badge.component.d.ts +1 -3
  336. package/development/card/card-badge/card-badge.component.d.ts.map +1 -1
  337. package/development/card/card-badge/card-badge.component.js +34 -71
  338. package/development/card/card-badge.d.ts +1 -1
  339. package/development/card/card-button/card-button.component.d.ts +2 -2
  340. package/development/card/card-button/card-button.component.js +1 -1
  341. package/development/card/card-button.d.ts +1 -1
  342. package/development/card/card-link/card-link.component.d.ts +2 -2
  343. package/development/card/card-link/card-link.component.js +1 -1
  344. package/development/card/card-link.d.ts +1 -1
  345. package/development/card/card.d.ts +1 -1
  346. package/development/card/common/card-action-common.d.ts +2 -2
  347. package/development/card/common/card-action-common.d.ts.map +1 -1
  348. package/development/card/common/card-action-common.js +21 -10
  349. package/development/card/common.d.ts +1 -1
  350. package/development/card.d.ts +5 -5
  351. package/development/carousel/carousel/carousel.component.d.ts +1 -1
  352. package/development/carousel/carousel/carousel.component.js +1 -1
  353. package/development/carousel/carousel-item/carousel-item.component.d.ts +1 -1
  354. package/development/carousel/carousel-item/carousel-item.component.js +1 -1
  355. package/development/carousel/carousel-item.d.ts +1 -1
  356. package/development/carousel/carousel-list/carousel-list.component.d.ts +1 -1
  357. package/development/carousel/carousel-list/carousel-list.component.js +1 -1
  358. package/development/carousel/carousel-list.d.ts +1 -1
  359. package/development/carousel/carousel.d.ts +1 -1
  360. package/development/carousel.d.ts +3 -3
  361. package/development/checkbox/checkbox/checkbox.component.d.ts +4 -4
  362. package/development/checkbox/checkbox/checkbox.component.js +22 -27
  363. package/development/checkbox/checkbox-group/checkbox-group.component.d.ts +7 -8
  364. package/development/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
  365. package/development/checkbox/checkbox-group/checkbox-group.component.js +25 -47
  366. package/development/checkbox/checkbox-group.d.ts +1 -1
  367. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts +2 -15
  368. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  369. package/development/checkbox/checkbox-panel/checkbox-panel.component.js +6 -41
  370. package/development/checkbox/checkbox-panel.d.ts +1 -1
  371. package/development/checkbox/checkbox.d.ts +1 -1
  372. package/development/checkbox/common/checkbox-common.d.ts +3 -3
  373. package/development/checkbox/common/checkbox-common.js +1 -1
  374. package/development/checkbox/common.d.ts +1 -1
  375. package/development/checkbox/common.js +1 -1
  376. package/development/{checkbox-common-BKjxH3Rp.js → checkbox-common-D2-QcV8n.js} +15 -27
  377. package/development/checkbox.d.ts +4 -4
  378. package/development/checkbox.js +1 -1
  379. package/development/chip/chip/chip.component.d.ts +1 -1
  380. package/development/chip/chip/chip.component.js +1 -3
  381. package/development/chip/chip-group/chip-group.component.d.ts +3 -2
  382. package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
  383. package/development/chip/chip-group/chip-group.component.js +11 -5
  384. package/development/chip/chip-group.d.ts +1 -1
  385. package/development/chip/chip.d.ts +1 -1
  386. package/development/chip-label/chip-label.component.js +1 -1
  387. package/development/chip-label.d.ts +1 -1
  388. package/development/chip.d.ts +2 -2
  389. package/development/clock/clock.component.d.ts +4 -2
  390. package/development/clock/clock.component.d.ts.map +1 -1
  391. package/development/clock/clock.component.js +5 -4
  392. package/development/clock.d.ts +1 -1
  393. package/development/container/container/container.component.d.ts +1 -1
  394. package/development/container/container/container.component.d.ts.map +1 -1
  395. package/development/container/container/container.component.js +4 -3
  396. package/development/container/container.d.ts +1 -1
  397. package/development/container/sticky-bar/sticky-bar.component.d.ts +3 -1
  398. package/development/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  399. package/development/container/sticky-bar/sticky-bar.component.js +40 -34
  400. package/development/container/sticky-bar.d.ts +1 -1
  401. package/development/container.d.ts +2 -2
  402. package/development/core/a11y/focus-trap-controller.js +1 -1
  403. package/development/core/a11y/focus-visible-within-controller.d.ts +2 -1
  404. package/development/core/a11y/focus-visible-within-controller.d.ts.map +1 -1
  405. package/development/core/a11y/focus-visible-within-controller.js +4 -3
  406. package/development/core/a11y/input-modality-detector.js +1 -1
  407. package/development/core/a11y/interactivity-checker.js +1 -1
  408. package/development/core/a11y.d.ts +8 -8
  409. package/development/core/base-elements/action-base-element.d.ts +2 -1
  410. package/development/core/base-elements/action-base-element.d.ts.map +1 -1
  411. package/development/core/base-elements/action-base-element.js +41 -56
  412. package/development/core/base-elements/button-base-element.d.ts +4 -4
  413. package/development/core/base-elements/button-base-element.d.ts.map +1 -1
  414. package/development/core/base-elements/button-base-element.js +7 -7
  415. package/development/core/base-elements/link-base-element.d.ts +2 -2
  416. package/development/core/base-elements/link-base-element.d.ts.map +1 -1
  417. package/development/core/base-elements/link-base-element.js +6 -15
  418. package/development/core/base-elements/open-close-base-element.d.ts +4 -3
  419. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
  420. package/development/core/base-elements/open-close-base-element.js +12 -6
  421. package/development/core/base-elements.d.ts +4 -4
  422. package/development/core/config/config.d.ts +1 -1
  423. package/development/core/config/config.js +1 -1
  424. package/development/core/config.d.ts +1 -1
  425. package/development/core/controllers/escapable-overlay-controller.d.ts +1 -1
  426. package/development/core/controllers/escapable-overlay-controller.js +1 -1
  427. package/development/core/controllers/inert-controller.d.ts +1 -1
  428. package/development/core/controllers/inert-controller.js +1 -1
  429. package/development/core/controllers/language-controller.js +1 -1
  430. package/development/core/controllers/media-matchers-controller.d.ts +5 -2
  431. package/development/core/controllers/media-matchers-controller.d.ts.map +1 -1
  432. package/development/core/controllers/media-matchers-controller.js +12 -5
  433. package/development/core/controllers/overlay-position-controller.d.ts +3 -2
  434. package/development/core/controllers/overlay-position-controller.d.ts.map +1 -1
  435. package/development/core/controllers/overlay-position-controller.js +3 -3
  436. package/development/core/controllers/property-watcher-controller.d.ts +16 -0
  437. package/development/core/controllers/property-watcher-controller.d.ts.map +1 -0
  438. package/development/core/controllers/property-watcher-controller.js +101 -0
  439. package/development/core/controllers.d.ts +8 -7
  440. package/development/core/controllers.d.ts.map +1 -1
  441. package/development/core/controllers.js +7 -2
  442. package/development/core/datetime/date-adapter.d.ts +1 -3
  443. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  444. package/development/core/datetime/date-adapter.js +1 -1
  445. package/development/core/datetime/native-date-adapter.d.ts +1 -1
  446. package/development/core/datetime/native-date-adapter.js +1 -1
  447. package/development/core/datetime.d.ts +2 -2
  448. package/development/core/decorators/force-type.d.ts +1 -1
  449. package/development/core/decorators/force-type.js +1 -1
  450. package/development/core/decorators/get-override.d.ts +1 -1
  451. package/development/core/decorators/get-override.js +1 -1
  452. package/development/core/decorators/handle-distinct-change.d.ts +1 -1
  453. package/development/core/decorators/handle-distinct-change.js +1 -1
  454. package/development/core/decorators/host-attributes.d.ts +1 -1
  455. package/development/core/decorators/host-attributes.js +1 -1
  456. package/development/core/decorators/id-reference.d.ts +1 -1
  457. package/development/core/decorators/id-reference.js +1 -1
  458. package/development/core/decorators/plain-date.d.ts +2 -2
  459. package/development/core/decorators/plain-date.js +1 -1
  460. package/development/core/decorators.d.ts +7 -7
  461. package/development/core/dom/animation.d.ts.map +1 -1
  462. package/development/core/dom/animation.js +2 -2
  463. package/development/core/dom/set-or-remove-attribute.d.ts +0 -14
  464. package/development/core/dom/set-or-remove-attribute.d.ts.map +1 -1
  465. package/development/core/dom/set-or-remove-attribute.js +1 -9
  466. package/development/core/dom.d.ts +7 -9
  467. package/development/core/dom.d.ts.map +1 -1
  468. package/development/core/dom.js +2 -10
  469. package/development/core/eventing.d.ts +6 -6
  470. package/development/core/i18n/i18n.d.ts +1 -3
  471. package/development/core/i18n/i18n.d.ts.map +1 -1
  472. package/development/core/i18n/i18n.js +1 -8
  473. package/development/core/i18n.d.ts +1 -1
  474. package/development/core/i18n.js +1 -2
  475. package/development/core/interfaces/types.d.ts +0 -14
  476. package/development/core/interfaces/types.d.ts.map +1 -1
  477. package/development/core/interfaces.d.ts +3 -3
  478. package/development/core/mixins/animation-complete-mixin.d.ts +1 -1
  479. package/development/core/mixins/animation-complete-mixin.js +1 -1
  480. package/development/core/mixins/disabled-mixin.d.ts +2 -2
  481. package/development/core/mixins/disabled-mixin.js +1 -1
  482. package/development/core/mixins/element-internals-mixin.d.ts +15 -2
  483. package/development/core/mixins/element-internals-mixin.d.ts.map +1 -1
  484. package/development/core/mixins/element-internals-mixin.js +58 -10
  485. package/development/core/mixins/form-associated-checkbox-mixin.d.ts +3 -3
  486. package/development/core/mixins/form-associated-checkbox-mixin.js +1 -1
  487. package/development/core/mixins/form-associated-input-mixin.d.ts +4 -4
  488. package/development/core/mixins/form-associated-input-mixin.js +1 -1
  489. package/development/core/mixins/form-associated-mixin.d.ts +2 -2
  490. package/development/core/mixins/form-associated-mixin.js +2 -2
  491. package/development/core/mixins/form-associated-radio-button-mixin.d.ts +3 -3
  492. package/development/core/mixins/form-associated-radio-button-mixin.js +2 -2
  493. package/development/core/mixins/hydration-mixin.d.ts +1 -1
  494. package/development/core/mixins/hydration-mixin.js +1 -1
  495. package/development/core/mixins/named-slot-list-mixin.d.ts +2 -2
  496. package/development/core/mixins/named-slot-list-mixin.js +1 -1
  497. package/development/core/mixins/negative-mixin.d.ts +1 -1
  498. package/development/core/mixins/negative-mixin.js +1 -1
  499. package/development/core/mixins/panel-mixin.d.ts +11 -3
  500. package/development/core/mixins/panel-mixin.d.ts.map +1 -1
  501. package/development/core/mixins/panel-mixin.js +24 -6
  502. package/development/core/mixins/readonly-mixin.d.ts +1 -1
  503. package/development/core/mixins/readonly-mixin.js +1 -1
  504. package/development/core/mixins/required-mixin.d.ts +2 -2
  505. package/development/core/mixins/required-mixin.js +1 -1
  506. package/development/core/mixins/selection-panel-mixin.d.ts +9 -15
  507. package/development/core/mixins/selection-panel-mixin.d.ts.map +1 -1
  508. package/development/core/mixins/selection-panel-mixin.js +47 -111
  509. package/development/core/mixins/update-scheduler-mixin.d.ts +1 -1
  510. package/development/core/mixins/update-scheduler-mixin.js +1 -1
  511. package/development/core/mixins.d.ts +16 -16
  512. package/development/core/mixins.js +28 -25
  513. package/development/core/overlay/overlay-option-panel.d.ts +2 -1
  514. package/development/core/overlay/overlay-option-panel.d.ts.map +1 -1
  515. package/development/core/overlay/overlay-option-panel.js +10 -2
  516. package/development/core/overlay/overlay-outside-pointer-event-listener.js +1 -1
  517. package/development/core/overlay/position.js +1 -1
  518. package/development/core/overlay.d.ts +5 -5
  519. package/development/core/testing/wait-for-image-ready.d.ts +1 -1
  520. package/development/core/testing/wait-for-image-ready.js +1 -1
  521. package/development/core/testing/wait-for-render.d.ts +2 -2
  522. package/development/core/testing/wait-for-render.js +1 -1
  523. package/development/core/testing.d.ts +5 -5
  524. package/development/date-input/date-input.component.d.ts +2 -7
  525. package/development/date-input/date-input.component.d.ts.map +1 -1
  526. package/development/date-input/date-input.component.js +1 -8
  527. package/development/date-input.d.ts +1 -1
  528. package/development/datepicker/common/datepicker-button.d.ts +5 -5
  529. package/development/datepicker/common/datepicker-button.js +1 -1
  530. package/development/datepicker/common.d.ts +1 -1
  531. package/development/datepicker/datepicker/datepicker.component.d.ts +4 -4
  532. package/development/datepicker/datepicker/datepicker.component.js +1 -1
  533. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +1 -1
  534. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
  535. package/development/datepicker/datepicker-next-day.d.ts +1 -1
  536. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +1 -1
  537. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
  538. package/development/datepicker/datepicker-previous-day.d.ts +1 -1
  539. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts +2 -2
  540. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +1 -1
  541. package/development/datepicker/datepicker-toggle.d.ts +1 -1
  542. package/development/datepicker/datepicker.d.ts +1 -1
  543. package/development/datepicker.d.ts +5 -5
  544. package/development/dialog/dialog/dialog.component.d.ts +1 -1
  545. package/development/dialog/dialog/dialog.component.js +8 -8
  546. package/development/dialog/dialog-actions/dialog-actions.component.d.ts +1 -1
  547. package/development/dialog/dialog-actions/dialog-actions.component.js +1 -1
  548. package/development/dialog/dialog-actions.d.ts +1 -1
  549. package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts +1 -1
  550. package/development/dialog/dialog-close-button/dialog-close-button.component.js +1 -1
  551. package/development/dialog/dialog-close-button.d.ts +1 -1
  552. package/development/dialog/dialog-content.d.ts +1 -1
  553. package/development/dialog/dialog-title/dialog-title.component.d.ts +2 -2
  554. package/development/dialog/dialog-title/dialog-title.component.js +1 -1
  555. package/development/dialog/dialog-title.d.ts +1 -1
  556. package/development/dialog/dialog.d.ts +1 -1
  557. package/development/dialog.d.ts +5 -5
  558. package/development/divider/divider.component.d.ts +2 -2
  559. package/development/divider/divider.component.js +1 -1
  560. package/development/divider.d.ts +1 -1
  561. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts +5 -7
  562. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  563. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +30 -33
  564. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts +3 -1
  565. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
  566. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +17 -2
  567. package/development/expansion-panel/expansion-panel-content.d.ts +1 -1
  568. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +3 -2
  569. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  570. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +17 -6
  571. package/development/expansion-panel/expansion-panel-header.d.ts +1 -1
  572. package/development/expansion-panel/expansion-panel.d.ts +1 -1
  573. package/development/expansion-panel.d.ts +3 -3
  574. package/development/file-selector/common/file-selector-common.d.ts +4 -4
  575. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  576. package/development/file-selector/common/file-selector-common.js +5 -5
  577. package/development/file-selector/common.d.ts +1 -1
  578. package/development/file-selector/file-selector/file-selector.component.d.ts +2 -2
  579. package/development/file-selector/file-selector/file-selector.component.js +1 -1
  580. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts +2 -2
  581. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  582. package/development/file-selector/file-selector-dropzone.d.ts +1 -1
  583. package/development/file-selector/file-selector.d.ts +1 -1
  584. package/development/file-selector.d.ts +3 -3
  585. package/development/flip-card/flip-card/flip-card.component.d.ts +4 -3
  586. package/development/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  587. package/development/flip-card/flip-card/flip-card.component.js +25 -14
  588. package/development/flip-card/flip-card-details/flip-card-details.component.d.ts +3 -1
  589. package/development/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
  590. package/development/flip-card/flip-card-details/flip-card-details.component.js +7 -6
  591. package/development/flip-card/flip-card-details.d.ts +1 -1
  592. package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts +1 -2
  593. package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
  594. package/development/flip-card/flip-card-summary/flip-card-summary.component.js +1 -7
  595. package/development/flip-card/flip-card-summary.d.ts +1 -1
  596. package/development/flip-card/flip-card.d.ts +1 -1
  597. package/development/flip-card.d.ts +3 -3
  598. package/development/footer/footer.component.d.ts +2 -2
  599. package/development/footer/footer.component.js +1 -1
  600. package/development/footer.d.ts +1 -1
  601. package/{form-error/form-error.component.d.ts → development/form-field/error/error.component.d.ts} +4 -4
  602. package/development/form-field/error/error.component.d.ts.map +1 -0
  603. package/development/form-field/error/error.component.js +101 -0
  604. package/development/form-field/error.d.ts +5 -0
  605. package/development/form-field/error.d.ts.map +1 -0
  606. package/development/form-field/error.js +5 -0
  607. package/development/form-field/form-field/form-field.component.d.ts +3 -3
  608. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  609. package/development/form-field/form-field/form-field.component.js +5 -5
  610. package/development/form-field/form-field-clear/form-field-clear.component.d.ts +2 -2
  611. package/development/form-field/form-field-clear/form-field-clear.component.js +2 -2
  612. package/development/form-field/form-field-clear.d.ts +1 -1
  613. package/development/form-field/form-field.d.ts +1 -1
  614. package/development/form-field.d.ts +3 -2
  615. package/development/form-field.d.ts.map +1 -1
  616. package/development/form-field.js +3 -1
  617. package/development/header/common/header-action-common.d.ts +4 -4
  618. package/development/header/common/header-action-common.js +6 -6
  619. package/development/header/common.d.ts +1 -1
  620. package/development/header/header/header.component.d.ts +1 -1
  621. package/development/header/header/header.component.d.ts.map +1 -1
  622. package/development/header/header/header.component.js +14 -14
  623. package/development/header/header-button/header-button.component.d.ts +2 -2
  624. package/development/header/header-button/header-button.component.js +1 -1
  625. package/development/header/header-button.d.ts +1 -1
  626. package/development/header/header-environment/header-environment.component.d.ts +2 -1
  627. package/development/header/header-environment/header-environment.component.d.ts.map +1 -1
  628. package/development/header/header-environment/header-environment.component.js +8 -5
  629. package/development/header/header-environment.d.ts +1 -1
  630. package/development/header/header-link/header-link.component.d.ts +2 -2
  631. package/development/header/header-link/header-link.component.js +1 -1
  632. package/development/header/header-link.d.ts +1 -1
  633. package/development/header/header.d.ts +1 -1
  634. package/development/header.d.ts +4 -4
  635. package/development/icon/icon-base.d.ts +2 -1
  636. package/development/icon/icon-base.d.ts.map +1 -1
  637. package/development/icon/icon-base.js +21 -25
  638. package/development/icon/icon-name-mixin.d.ts +1 -1
  639. package/development/icon/icon-name-mixin.js +1 -1
  640. package/development/icon/icon-request.js +1 -1
  641. package/development/icon/icon-validate.js +2 -2
  642. package/development/icon/icon.component.d.ts +1 -1
  643. package/development/icon/icon.component.js +1 -1
  644. package/{sidebar → development/icon-sidebar}/icon-sidebar/icon-sidebar.component.d.ts +2 -2
  645. package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.d.ts.map +1 -0
  646. package/development/{sidebar → icon-sidebar}/icon-sidebar/icon-sidebar.component.js +1 -1
  647. package/{sidebar → development/icon-sidebar}/icon-sidebar-button/icon-sidebar-button.component.d.ts +3 -3
  648. package/development/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -0
  649. package/development/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.js +33 -0
  650. package/development/{sidebar → icon-sidebar}/icon-sidebar-button.d.ts +1 -1
  651. package/development/icon-sidebar/icon-sidebar-button.d.ts.map +1 -0
  652. package/development/{sidebar → icon-sidebar}/icon-sidebar-container/icon-sidebar-container.component.d.ts +1 -1
  653. package/development/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.d.ts.map +1 -0
  654. package/development/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.js +42 -0
  655. package/development/{sidebar → icon-sidebar}/icon-sidebar-container.d.ts +1 -1
  656. package/development/icon-sidebar/icon-sidebar-container.d.ts.map +1 -0
  657. package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.d.ts.map +1 -0
  658. package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +34 -0
  659. package/development/{sidebar → icon-sidebar}/icon-sidebar-content.d.ts +1 -1
  660. package/development/icon-sidebar/icon-sidebar-content.d.ts.map +1 -0
  661. package/development/{sidebar → icon-sidebar}/icon-sidebar-link/icon-sidebar-link.component.d.ts +3 -3
  662. package/development/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts.map +1 -0
  663. package/development/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.js +33 -0
  664. package/development/icon-sidebar/icon-sidebar-link.d.ts +5 -0
  665. package/development/icon-sidebar/icon-sidebar-link.d.ts.map +1 -0
  666. package/development/icon-sidebar/icon-sidebar.d.ts +5 -0
  667. package/development/icon-sidebar/icon-sidebar.d.ts.map +1 -0
  668. package/development/{icon-sidebar-button-common-C6QChtaa.js → icon-sidebar-button-common-DR6eQvkq.js} +4 -4
  669. package/development/icon-sidebar.d.ts +9 -0
  670. package/development/icon-sidebar.d.ts.map +1 -0
  671. package/development/icon-sidebar.js +13 -0
  672. package/development/icon.d.ts +5 -5
  673. package/development/image/image.component.d.ts +5 -3
  674. package/development/image/image.component.d.ts.map +1 -1
  675. package/development/image/image.component.js +10 -9
  676. package/development/image.d.ts +1 -1
  677. package/development/journey-header/journey-header.component.d.ts +2 -2
  678. package/development/journey-header/journey-header.component.js +1 -1
  679. package/development/journey-header.d.ts +1 -1
  680. package/development/lead-container/lead-container.component.js +1 -1
  681. package/development/lead-container.d.ts +1 -1
  682. package/development/link/block-link/block-link.component.d.ts +2 -2
  683. package/development/link/block-link/block-link.component.js +1 -1
  684. package/development/link/block-link-button/block-link-button.component.d.ts +2 -2
  685. package/development/link/block-link-button/block-link-button.component.js +1 -1
  686. package/development/link/block-link-button.d.ts +1 -1
  687. package/development/link/block-link-static/block-link-static.component.d.ts +2 -2
  688. package/development/link/block-link-static/block-link-static.component.js +1 -1
  689. package/development/link/block-link-static.d.ts +1 -1
  690. package/development/link/block-link.d.ts +1 -1
  691. package/development/link/common/block-link-common.d.ts +4 -4
  692. package/development/link/common/block-link-common.js +2 -2
  693. package/development/link/common/inline-link-common.d.ts +3 -3
  694. package/development/link/common/inline-link-common.js +2 -2
  695. package/development/link/common/link-common.d.ts +3 -3
  696. package/development/link/common/link-common.d.ts.map +1 -1
  697. package/development/link/common/link-common.js +2 -3
  698. package/development/link/common.d.ts +3 -3
  699. package/development/link/common.js +1 -1
  700. package/development/link/link/link.component.d.ts +2 -2
  701. package/development/link/link/link.component.js +1 -1
  702. package/development/link/link-button/link-button.component.d.ts +2 -2
  703. package/development/link/link-button/link-button.component.js +1 -1
  704. package/development/link/link-button.d.ts +1 -1
  705. package/development/link/link-static/link-static.component.d.ts +2 -2
  706. package/development/link/link-static/link-static.component.js +1 -1
  707. package/development/link/link-static.d.ts +1 -1
  708. package/development/link/link.d.ts +1 -1
  709. package/development/{link-common-DYZHRSSJ.js → link-common-CYr3PeRf.js} +9 -16
  710. package/development/link-list/common/link-list-base.d.ts +4 -4
  711. package/development/link-list/common/link-list-base.js +1 -1
  712. package/development/link-list/common.d.ts +1 -1
  713. package/development/link-list/link-list/link-list.component.d.ts +2 -2
  714. package/development/link-list/link-list/link-list.component.js +1 -1
  715. package/development/link-list/link-list-anchor/link-list-anchor.component.d.ts +1 -1
  716. package/development/link-list/link-list-anchor/link-list-anchor.component.js +7 -7
  717. package/development/link-list/link-list-anchor.d.ts +1 -1
  718. package/development/link-list/link-list.d.ts +1 -1
  719. package/development/link-list.d.ts +3 -3
  720. package/development/link.d.ts +7 -7
  721. package/development/link.js +1 -1
  722. package/development/loading-indicator/loading-indicator.component.d.ts +1 -1
  723. package/development/loading-indicator/loading-indicator.component.js +1 -2
  724. package/development/loading-indicator-circle/loading-indicator-circle.component.d.ts +1 -1
  725. package/development/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
  726. package/development/loading-indicator-circle.d.ts +1 -1
  727. package/development/loading-indicator.d.ts +1 -1
  728. package/development/logo/logo.component.d.ts +2 -2
  729. package/development/logo/logo.component.js +1 -2
  730. package/development/logo.d.ts +1 -1
  731. package/development/map-container/map-container.component.d.ts +3 -1
  732. package/development/map-container/map-container.component.d.ts.map +1 -1
  733. package/development/map-container/map-container.component.js +5 -4
  734. package/development/map-container.d.ts +1 -1
  735. package/development/menu/common/menu-action-common.d.ts +3 -3
  736. package/development/menu/common/menu-action-common.js +3 -3
  737. package/development/menu/common.d.ts +1 -1
  738. package/development/menu/menu/menu.component.d.ts +2 -2
  739. package/development/menu/menu/menu.component.d.ts.map +1 -1
  740. package/development/menu/menu/menu.component.js +29 -23
  741. package/development/menu/menu-button/menu-button.component.d.ts +2 -2
  742. package/development/menu/menu-button/menu-button.component.js +1 -1
  743. package/development/menu/menu-button.d.ts +1 -1
  744. package/development/menu/menu-link/menu-link.component.d.ts +2 -2
  745. package/development/menu/menu-link/menu-link.component.js +1 -1
  746. package/development/menu/menu-link.d.ts +1 -1
  747. package/development/menu/menu.d.ts +1 -1
  748. package/development/menu.d.ts +4 -4
  749. package/development/message/message.component.js +1 -1
  750. package/development/message.d.ts +1 -1
  751. package/development/{mini-button-common-D1dU4MgN.js → mini-button-common-CWTMR_Lu.js} +15 -16
  752. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts +1 -1
  753. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -1
  754. package/development/mini-calendar/mini-calendar/mini-calendar.component.js +7 -6
  755. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts +1 -1
  756. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +1 -1
  757. package/development/mini-calendar/mini-calendar-day.d.ts +1 -1
  758. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts +1 -1
  759. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +4 -4
  760. package/development/mini-calendar/mini-calendar-month.d.ts +1 -1
  761. package/development/mini-calendar/mini-calendar.d.ts +1 -1
  762. package/development/mini-calendar.d.ts +3 -3
  763. package/development/navigation/common/navigation-action-common.d.ts +4 -4
  764. package/development/navigation/common/navigation-action-common.js +7 -7
  765. package/development/navigation/common.d.ts +1 -1
  766. package/development/navigation/navigation/navigation.component.d.ts +3 -4
  767. package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
  768. package/development/navigation/navigation/navigation.component.js +26 -38
  769. package/development/navigation/navigation-button/navigation-button.component.d.ts +2 -2
  770. package/development/navigation/navigation-button/navigation-button.component.js +1 -1
  771. package/development/navigation/navigation-button.d.ts +1 -1
  772. package/development/navigation/navigation-link/navigation-link.component.d.ts +2 -2
  773. package/development/navigation/navigation-link/navigation-link.component.js +1 -1
  774. package/development/navigation/navigation-link.d.ts +1 -1
  775. package/development/navigation/navigation-list/navigation-list.component.d.ts +4 -4
  776. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  777. package/development/navigation/navigation-list.d.ts +1 -1
  778. package/development/navigation/navigation-marker/navigation-marker.component.d.ts +4 -4
  779. package/development/navigation/navigation-marker/navigation-marker.component.d.ts.map +1 -1
  780. package/development/navigation/navigation-marker/navigation-marker.component.js +8 -8
  781. package/development/navigation/navigation-marker.d.ts +1 -1
  782. package/development/navigation/navigation-section/navigation-section.component.d.ts +8 -7
  783. package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  784. package/development/navigation/navigation-section/navigation-section.component.js +48 -45
  785. package/development/navigation/navigation-section.d.ts +1 -1
  786. package/development/navigation/navigation.d.ts +1 -1
  787. package/development/navigation.d.ts +7 -7
  788. package/development/notification/notification.component.d.ts +4 -3
  789. package/development/notification/notification.component.d.ts.map +1 -1
  790. package/development/notification/notification.component.js +22 -20
  791. package/development/notification.d.ts +1 -1
  792. package/development/option/optgroup/optgroup-base-element.d.ts +4 -8
  793. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  794. package/development/option/optgroup/optgroup-base-element.js +11 -63
  795. package/development/option/optgroup/optgroup.component.d.ts +5 -5
  796. package/development/option/optgroup/optgroup.component.d.ts.map +1 -1
  797. package/development/option/optgroup/optgroup.component.js +21 -13
  798. package/development/option/optgroup.d.ts +2 -2
  799. package/development/option/option/option-base-element.d.ts +4 -9
  800. package/development/option/option/option-base-element.d.ts.map +1 -1
  801. package/development/option/option/option-base-element.js +34 -65
  802. package/development/option/option/option.component.d.ts +7 -5
  803. package/development/option/option/option.component.d.ts.map +1 -1
  804. package/development/option/option/option.component.js +62 -49
  805. package/development/option/option-hint/option-hint.component.d.ts +1 -1
  806. package/development/option/option-hint/option-hint.component.js +1 -1
  807. package/development/option/option-hint.d.ts +1 -1
  808. package/development/option/option.d.ts +2 -2
  809. package/development/option.d.ts +3 -3
  810. package/development/overlay/overlay-base-element.d.ts +7 -7
  811. package/development/overlay/overlay-base-element.js +2 -2
  812. package/development/overlay/overlay.component.d.ts +1 -1
  813. package/development/overlay/overlay.component.js +8 -8
  814. package/development/overlay.d.ts +2 -2
  815. package/development/paginator/common/paginator-common.d.ts +4 -5
  816. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  817. package/development/paginator/common/paginator-common.js +1 -1
  818. package/development/paginator/common.d.ts +1 -1
  819. package/development/paginator/compact-paginator/compact-paginator.component.d.ts +1 -1
  820. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  821. package/development/paginator/compact-paginator.d.ts +1 -1
  822. package/development/paginator/paginator/paginator.component.d.ts +2 -2
  823. package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
  824. package/development/paginator/paginator/paginator.component.js +8 -14
  825. package/development/paginator/paginator.d.ts +1 -1
  826. package/development/paginator.d.ts +3 -3
  827. package/development/popover/{popover/popover.component.d.ts → popover.component.d.ts} +2 -2
  828. package/development/popover/popover.component.d.ts.map +1 -0
  829. package/development/popover/popover.component.js +720 -0
  830. package/development/popover.d.ts +1 -1
  831. package/development/popover.d.ts.map +1 -1
  832. package/development/popover.js +1 -1
  833. package/development/radio-button/common/radio-button-common.d.ts +3 -3
  834. package/development/radio-button/common/radio-button-common.js +1 -1
  835. package/development/radio-button/common.d.ts +1 -1
  836. package/development/radio-button/common.js +1 -1
  837. package/development/radio-button/radio-button/radio-button.component.d.ts +2 -3
  838. package/development/radio-button/radio-button/radio-button.component.d.ts.map +1 -1
  839. package/development/radio-button/radio-button/radio-button.component.js +1 -2
  840. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts +6 -7
  841. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  842. package/development/radio-button/radio-button-group/radio-button-group.component.js +28 -43
  843. package/development/radio-button/radio-button-group.d.ts +1 -1
  844. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts +1 -13
  845. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  846. package/development/radio-button/radio-button-panel/radio-button-panel.component.js +5 -37
  847. package/development/radio-button/radio-button-panel.d.ts +1 -1
  848. package/development/radio-button/radio-button.d.ts +1 -1
  849. package/development/{radio-button-common-BPrInmpg.js → radio-button-common-B3kVD7QV.js} +19 -42
  850. package/development/radio-button.d.ts +4 -4
  851. package/development/radio-button.js +1 -1
  852. package/development/{sbb-tokens-DZrHvErO.js → sbb-tokens-CZCt5L4q.js} +9 -9
  853. package/development/screen-reader-only.d.ts +1 -1
  854. package/development/select/select.component.d.ts +5 -5
  855. package/development/select/select.component.d.ts.map +1 -1
  856. package/development/select/select.component.js +31 -37
  857. package/development/select.d.ts +1 -1
  858. package/development/selection-action-panel/selection-action-panel.component.d.ts +1 -2
  859. package/development/selection-action-panel/selection-action-panel.component.d.ts.map +1 -1
  860. package/development/selection-action-panel/selection-action-panel.component.js +28 -19
  861. package/development/selection-action-panel.d.ts +1 -1
  862. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts +6 -7
  863. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  864. package/development/selection-expansion-panel/selection-expansion-panel.component.js +78 -76
  865. package/development/selection-expansion-panel.d.ts +1 -1
  866. package/development/sidebar/common.js +1 -1
  867. package/development/sidebar/sidebar/sidebar.component.d.ts +3 -3
  868. package/development/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  869. package/development/sidebar/sidebar/sidebar.component.js +13 -14
  870. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +1 -1
  871. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
  872. package/development/sidebar/sidebar-close-button.d.ts +1 -1
  873. package/development/sidebar/sidebar-container/sidebar-container.component.d.ts +1 -1
  874. package/development/sidebar/sidebar-container/sidebar-container.component.d.ts.map +1 -1
  875. package/development/sidebar/sidebar-container/sidebar-container.component.js +10 -8
  876. package/development/sidebar/sidebar-container.d.ts +1 -1
  877. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  878. package/development/sidebar/sidebar-content.d.ts +1 -1
  879. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts +1 -1
  880. package/development/sidebar/sidebar-title/sidebar-title.component.js +1 -1
  881. package/development/sidebar/sidebar-title.d.ts +1 -1
  882. package/development/sidebar/sidebar.d.ts +1 -1
  883. package/development/sidebar.d.ts +6 -11
  884. package/development/sidebar.d.ts.map +1 -1
  885. package/development/sidebar.js +2 -12
  886. package/development/signet/signet.component.d.ts +1 -1
  887. package/development/signet/signet.component.js +1 -1
  888. package/development/signet.d.ts +1 -1
  889. package/development/skiplink-list/skiplink-list.component.d.ts +4 -4
  890. package/development/skiplink-list/skiplink-list.component.js +2 -2
  891. package/development/skiplink-list.d.ts +1 -1
  892. package/development/slider/slider.component.d.ts +2 -2
  893. package/development/slider/slider.component.js +1 -1
  894. package/development/slider.d.ts +1 -1
  895. package/development/status/status.component.d.ts +1 -1
  896. package/development/status/status.component.js +1 -1
  897. package/development/status.d.ts +1 -1
  898. package/development/stepper/step/step.component.d.ts +5 -3
  899. package/development/stepper/step/step.component.d.ts.map +1 -1
  900. package/development/stepper/step/step.component.js +25 -12
  901. package/development/stepper/step-label/step-label.component.d.ts +7 -4
  902. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  903. package/development/stepper/step-label/step-label.component.js +40 -17
  904. package/development/stepper/step-label.d.ts +1 -1
  905. package/development/stepper/step.d.ts +1 -1
  906. package/development/stepper/stepper/stepper.component.d.ts +4 -4
  907. package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
  908. package/development/stepper/stepper/stepper.component.js +21 -22
  909. package/development/stepper/stepper.d.ts +1 -1
  910. package/development/stepper.d.ts +3 -3
  911. package/development/table/table-wrapper/table-wrapper.component.d.ts +1 -1
  912. package/development/table/table-wrapper/table-wrapper.component.js +1 -1
  913. package/development/table/table-wrapper.d.ts +1 -1
  914. package/development/table.d.ts +1 -1
  915. package/development/tabs/tab/tab.component.d.ts +3 -8
  916. package/development/tabs/tab/tab.component.d.ts.map +1 -1
  917. package/development/tabs/tab/tab.component.js +3 -9
  918. package/development/tabs/tab-group/tab-group.component.d.ts +4 -28
  919. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  920. package/development/tabs/tab-group/tab-group.component.js +19 -23
  921. package/development/tabs/tab-group.d.ts +1 -1
  922. package/development/tabs/tab-label/tab-label.component.d.ts +5 -4
  923. package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  924. package/development/tabs/tab-label/tab-label.component.js +20 -8
  925. package/development/tabs/tab-label.d.ts +1 -1
  926. package/development/tabs/tab.d.ts +1 -1
  927. package/development/tabs.d.ts +3 -3
  928. package/development/tag/tag/tag.component.d.ts +3 -3
  929. package/development/tag/tag/tag.component.js +9 -9
  930. package/development/tag/tag-group/tag-group.component.d.ts +3 -3
  931. package/development/tag/tag-group/tag-group.component.js +1 -1
  932. package/development/tag/tag-group.d.ts +1 -1
  933. package/development/tag/tag.d.ts +1 -1
  934. package/development/tag.d.ts +2 -2
  935. package/development/teaser/teaser.component.d.ts +1 -1
  936. package/development/teaser/teaser.component.js +13 -10
  937. package/development/teaser-hero/teaser-hero.component.d.ts +1 -1
  938. package/development/teaser-hero/teaser-hero.component.js +1 -1
  939. package/development/teaser-hero.d.ts +1 -1
  940. package/development/teaser-product/common/teaser-product-common.d.ts +3 -3
  941. package/development/teaser-product/common/teaser-product-common.js +1 -1
  942. package/development/teaser-product/common.d.ts +1 -1
  943. package/development/teaser-product/common.js +1 -1
  944. package/development/teaser-product/teaser-product/teaser-product.component.d.ts +2 -2
  945. package/development/teaser-product/teaser-product/teaser-product.component.js +2 -2
  946. package/development/teaser-product/teaser-product-static/teaser-product-static.component.d.ts +2 -2
  947. package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +1 -1
  948. package/development/teaser-product/teaser-product-static.d.ts +1 -1
  949. package/development/teaser-product/teaser-product.d.ts +1 -1
  950. package/development/{teaser-product-common-v3BvyFdH.js → teaser-product-common-CJfmvweQ.js} +2 -2
  951. package/development/teaser-product.d.ts +3 -3
  952. package/development/teaser-product.js +1 -1
  953. package/development/teaser.d.ts +1 -1
  954. package/development/time-input/time-input.component.d.ts +1 -6
  955. package/development/time-input/time-input.component.d.ts.map +1 -1
  956. package/development/time-input/time-input.component.js +1 -8
  957. package/development/time-input.d.ts +1 -1
  958. package/development/timetable-form/timetable-form-details.d.ts +1 -1
  959. package/development/timetable-form/timetable-form-field/timetable-form-field.component.d.ts +1 -1
  960. package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  961. package/development/timetable-form/timetable-form-field.d.ts +1 -1
  962. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts +1 -1
  963. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  964. package/development/timetable-form/timetable-form-swap-button.d.ts +1 -1
  965. package/development/timetable-form/timetable-form.d.ts +1 -1
  966. package/development/timetable-form.d.ts +4 -4
  967. package/development/timetable-occupancy/timetable-occupancy.component.d.ts +2 -2
  968. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  969. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts +3 -3
  970. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  971. package/development/timetable-occupancy-icon.d.ts +1 -1
  972. package/development/timetable-occupancy.d.ts +1 -1
  973. package/development/title/title-base.d.ts +1 -1
  974. package/development/title/title-base.js +1 -1
  975. package/development/title/title.component.d.ts +2 -2
  976. package/development/title/title.component.js +1 -1
  977. package/development/title.d.ts +2 -2
  978. package/development/toast/toast.component.d.ts +2 -2
  979. package/development/toast/toast.component.js +5 -5
  980. package/development/toast.d.ts +1 -1
  981. package/development/toggle/toggle/toggle.component.d.ts +3 -3
  982. package/development/toggle/toggle/toggle.component.js +4 -4
  983. package/development/toggle/toggle-option/toggle-option.component.d.ts +1 -1
  984. package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  985. package/development/toggle/toggle-option/toggle-option.component.js +2 -3
  986. package/development/toggle/toggle-option.d.ts +1 -1
  987. package/development/toggle/toggle.d.ts +1 -1
  988. package/development/toggle-check/toggle-check.component.d.ts +1 -1
  989. package/development/toggle-check/toggle-check.component.js +4 -4
  990. package/development/toggle-check.d.ts +1 -1
  991. package/development/toggle.d.ts +2 -2
  992. package/development/tooltip/tooltip.component.d.ts +2 -2
  993. package/development/tooltip/tooltip.component.d.ts.map +1 -1
  994. package/development/tooltip/tooltip.component.js +7 -7
  995. package/development/tooltip.d.ts +1 -1
  996. package/development/train/train/train.component.d.ts +5 -5
  997. package/development/train/train/train.component.js +1 -1
  998. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  999. package/development/train/train-blocked-passage.d.ts +1 -1
  1000. package/development/train/train-formation/train-formation.component.d.ts +3 -3
  1001. package/development/train/train-formation/train-formation.component.js +1 -1
  1002. package/development/train/train-formation.d.ts +1 -1
  1003. package/development/train/train-wagon/train-wagon.component.d.ts +3 -3
  1004. package/development/train/train-wagon/train-wagon.component.js +1 -1
  1005. package/development/train/train-wagon.d.ts +1 -1
  1006. package/development/train/train.d.ts +1 -1
  1007. package/development/train.d.ts +4 -4
  1008. package/development/visual-checkbox/visual-checkbox.component.d.ts +2 -2
  1009. package/development/visual-checkbox/visual-checkbox.component.d.ts.map +1 -1
  1010. package/development/visual-checkbox/visual-checkbox.component.js +53 -99
  1011. package/development/visual-checkbox.d.ts +1 -1
  1012. package/dialog/dialog/dialog.component.d.ts +1 -1
  1013. package/dialog/dialog/dialog.component.js +20 -20
  1014. package/dialog/dialog-actions/dialog-actions.component.d.ts +1 -1
  1015. package/dialog/dialog-actions.d.ts +1 -1
  1016. package/dialog/dialog-close-button/dialog-close-button.component.d.ts +1 -1
  1017. package/dialog/dialog-close-button.d.ts +1 -1
  1018. package/dialog/dialog-content.d.ts +1 -1
  1019. package/dialog/dialog-title/dialog-title.component.d.ts +2 -2
  1020. package/dialog/dialog-title.d.ts +1 -1
  1021. package/dialog/dialog.d.ts +1 -1
  1022. package/dialog.d.ts +5 -5
  1023. package/divider/divider.component.d.ts +2 -2
  1024. package/divider.d.ts +1 -1
  1025. package/expansion-panel/expansion-panel/expansion-panel.component.d.ts +5 -7
  1026. package/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  1027. package/expansion-panel/expansion-panel/expansion-panel.component.js +51 -56
  1028. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts +3 -1
  1029. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
  1030. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +21 -13
  1031. package/expansion-panel/expansion-panel-content.d.ts +1 -1
  1032. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +3 -2
  1033. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  1034. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +24 -20
  1035. package/expansion-panel/expansion-panel-header.d.ts +1 -1
  1036. package/expansion-panel/expansion-panel.d.ts +1 -1
  1037. package/expansion-panel.d.ts +3 -3
  1038. package/file-selector/common/file-selector-common.d.ts +4 -4
  1039. package/file-selector/common/file-selector-common.d.ts.map +1 -1
  1040. package/file-selector/common/file-selector-common.js +28 -28
  1041. package/file-selector/common.d.ts +1 -1
  1042. package/file-selector/file-selector/file-selector.component.d.ts +2 -2
  1043. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts +2 -2
  1044. package/file-selector/file-selector-dropzone.d.ts +1 -1
  1045. package/file-selector/file-selector.d.ts +1 -1
  1046. package/file-selector.d.ts +3 -3
  1047. package/flip-card/flip-card/flip-card.component.d.ts +4 -3
  1048. package/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  1049. package/flip-card/flip-card/flip-card.component.js +44 -40
  1050. package/flip-card/flip-card-details/flip-card-details.component.d.ts +3 -1
  1051. package/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
  1052. package/flip-card/flip-card-details/flip-card-details.component.js +15 -14
  1053. package/flip-card/flip-card-details.d.ts +1 -1
  1054. package/flip-card/flip-card-summary/flip-card-summary.component.d.ts +1 -2
  1055. package/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
  1056. package/flip-card/flip-card-summary/flip-card-summary.component.js +23 -26
  1057. package/flip-card/flip-card-summary.d.ts +1 -1
  1058. package/flip-card/flip-card.d.ts +1 -1
  1059. package/flip-card.d.ts +3 -3
  1060. package/footer/footer.component.d.ts +2 -2
  1061. package/footer.d.ts +1 -1
  1062. package/{development/form-error/form-error.component.d.ts → form-field/error/error.component.d.ts} +4 -4
  1063. package/form-field/error/error.component.d.ts.map +1 -0
  1064. package/form-field/error/error.component.js +47 -0
  1065. package/form-field/error.d.ts +5 -0
  1066. package/form-field/error.d.ts.map +1 -0
  1067. package/form-field/error.js +4 -0
  1068. package/form-field/form-field/form-field.component.d.ts +3 -3
  1069. package/form-field/form-field/form-field.component.d.ts.map +1 -1
  1070. package/form-field/form-field/form-field.component.js +4 -4
  1071. package/form-field/form-field-clear/form-field-clear.component.d.ts +2 -2
  1072. package/form-field/form-field-clear/form-field-clear.component.js +7 -7
  1073. package/form-field/form-field-clear.d.ts +1 -1
  1074. package/form-field/form-field.d.ts +1 -1
  1075. package/form-field.d.ts +3 -2
  1076. package/form-field.d.ts.map +1 -1
  1077. package/form-field.js +6 -4
  1078. package/header/common/header-action-common.d.ts +4 -4
  1079. package/header/common/header-action-common.js +14 -14
  1080. package/header/common.d.ts +1 -1
  1081. package/header/header/header.component.d.ts +1 -1
  1082. package/header/header/header.component.d.ts.map +1 -1
  1083. package/header/header/header.component.js +40 -40
  1084. package/header/header-button/header-button.component.d.ts +2 -2
  1085. package/header/header-button.d.ts +1 -1
  1086. package/header/header-environment/header-environment.component.d.ts +2 -1
  1087. package/header/header-environment/header-environment.component.d.ts.map +1 -1
  1088. package/header/header-environment/header-environment.component.js +8 -9
  1089. package/header/header-environment.d.ts +1 -1
  1090. package/header/header-link/header-link.component.d.ts +2 -2
  1091. package/header/header-link.d.ts +1 -1
  1092. package/header/header.d.ts +1 -1
  1093. package/header.d.ts +4 -4
  1094. package/icon/icon-base.d.ts +2 -1
  1095. package/icon/icon-base.d.ts.map +1 -1
  1096. package/icon/icon-base.js +45 -48
  1097. package/icon/icon-name-mixin.d.ts +1 -1
  1098. package/icon/icon-validate.js +3 -3
  1099. package/icon/icon.component.d.ts +1 -1
  1100. package/{development/sidebar → icon-sidebar}/icon-sidebar/icon-sidebar.component.d.ts +2 -2
  1101. package/icon-sidebar/icon-sidebar/icon-sidebar.component.d.ts.map +1 -0
  1102. package/{development/sidebar → icon-sidebar}/icon-sidebar-button/icon-sidebar-button.component.d.ts +3 -3
  1103. package/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -0
  1104. package/{sidebar → icon-sidebar}/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
  1105. package/{sidebar → icon-sidebar}/icon-sidebar-button.d.ts +1 -1
  1106. package/icon-sidebar/icon-sidebar-button.d.ts.map +1 -0
  1107. package/{sidebar → icon-sidebar}/icon-sidebar-container/icon-sidebar-container.component.d.ts +1 -1
  1108. package/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.d.ts.map +1 -0
  1109. package/{sidebar → icon-sidebar}/icon-sidebar-container/icon-sidebar-container.component.js +1 -1
  1110. package/{sidebar → icon-sidebar}/icon-sidebar-container.d.ts +1 -1
  1111. package/icon-sidebar/icon-sidebar-container.d.ts.map +1 -0
  1112. package/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.d.ts.map +1 -0
  1113. package/{sidebar → icon-sidebar}/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  1114. package/{sidebar → icon-sidebar}/icon-sidebar-content.d.ts +1 -1
  1115. package/icon-sidebar/icon-sidebar-content.d.ts.map +1 -0
  1116. package/{sidebar → icon-sidebar}/icon-sidebar-link/icon-sidebar-link.component.d.ts +3 -3
  1117. package/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts.map +1 -0
  1118. package/{sidebar → icon-sidebar}/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
  1119. package/icon-sidebar/icon-sidebar-link.d.ts +5 -0
  1120. package/icon-sidebar/icon-sidebar-link.d.ts.map +1 -0
  1121. package/icon-sidebar/icon-sidebar.d.ts +5 -0
  1122. package/icon-sidebar/icon-sidebar.d.ts.map +1 -0
  1123. package/{icon-sidebar-button-common-W6GYJbVt.js → icon-sidebar-button-common-ffAscVDk.js} +1 -1
  1124. package/icon-sidebar.d.ts +9 -0
  1125. package/icon-sidebar.d.ts.map +1 -0
  1126. package/icon-sidebar.js +12 -0
  1127. package/icon.d.ts +5 -5
  1128. package/image/image.component.d.ts +5 -3
  1129. package/image/image.component.d.ts.map +1 -1
  1130. package/image/image.component.js +31 -30
  1131. package/image.d.ts +1 -1
  1132. package/index.d.ts +8 -20
  1133. package/index.js +8 -20
  1134. package/journey-header/journey-header.component.d.ts +2 -2
  1135. package/journey-header.d.ts +1 -1
  1136. package/lead-container.d.ts +1 -1
  1137. package/link/block-link/block-link.component.d.ts +2 -2
  1138. package/link/block-link-button/block-link-button.component.d.ts +2 -2
  1139. package/link/block-link-button.d.ts +1 -1
  1140. package/link/block-link-static/block-link-static.component.d.ts +2 -2
  1141. package/link/block-link-static.d.ts +1 -1
  1142. package/link/block-link.d.ts +1 -1
  1143. package/link/common/block-link-common.d.ts +4 -4
  1144. package/link/common/block-link-common.js +1 -1
  1145. package/link/common/inline-link-common.d.ts +3 -3
  1146. package/link/common/inline-link-common.js +1 -1
  1147. package/link/common/link-common.d.ts +3 -3
  1148. package/link/common/link-common.d.ts.map +1 -1
  1149. package/link/common/link-common.js +2 -3
  1150. package/link/common.d.ts +3 -3
  1151. package/link/common.js +1 -1
  1152. package/link/link/link.component.d.ts +2 -2
  1153. package/link/link-button/link-button.component.d.ts +2 -2
  1154. package/link/link-button.d.ts +1 -1
  1155. package/link/link-static/link-static.component.d.ts +2 -2
  1156. package/link/link-static.d.ts +1 -1
  1157. package/link/link.d.ts +1 -1
  1158. package/link-common-D9TmX32v.js +45 -0
  1159. package/link-list/common/link-list-base.d.ts +4 -4
  1160. package/link-list/common.d.ts +1 -1
  1161. package/link-list/link-list/link-list.component.d.ts +2 -2
  1162. package/link-list/link-list-anchor/link-list-anchor.component.d.ts +1 -1
  1163. package/link-list/link-list-anchor/link-list-anchor.component.js +9 -9
  1164. package/link-list/link-list-anchor.d.ts +1 -1
  1165. package/link-list/link-list.d.ts +1 -1
  1166. package/link-list.d.ts +3 -3
  1167. package/link.d.ts +7 -7
  1168. package/link.js +1 -1
  1169. package/lists.css +5 -0
  1170. package/loading-indicator/loading-indicator.component.d.ts +1 -1
  1171. package/loading-indicator/loading-indicator.component.js +1 -1
  1172. package/loading-indicator-circle/loading-indicator-circle.component.d.ts +1 -1
  1173. package/loading-indicator-circle.d.ts +1 -1
  1174. package/loading-indicator.d.ts +1 -1
  1175. package/logo/logo.component.d.ts +2 -2
  1176. package/logo/logo.component.js +4 -4
  1177. package/logo.d.ts +1 -1
  1178. package/map-container/map-container.component.d.ts +3 -1
  1179. package/map-container/map-container.component.d.ts.map +1 -1
  1180. package/map-container/map-container.component.js +18 -17
  1181. package/map-container.d.ts +1 -1
  1182. package/menu/common/menu-action-common.d.ts +3 -3
  1183. package/menu/common/menu-action-common.js +5 -5
  1184. package/menu/common.d.ts +1 -1
  1185. package/menu/menu/menu.component.d.ts +2 -2
  1186. package/menu/menu/menu.component.d.ts.map +1 -1
  1187. package/menu/menu/menu.component.js +29 -28
  1188. package/menu/menu-button/menu-button.component.d.ts +2 -2
  1189. package/menu/menu-button.d.ts +1 -1
  1190. package/menu/menu-link/menu-link.component.d.ts +2 -2
  1191. package/menu/menu-link.d.ts +1 -1
  1192. package/menu/menu.d.ts +1 -1
  1193. package/menu.d.ts +4 -4
  1194. package/message.d.ts +1 -1
  1195. package/mini-button-common-Bb4ri3Rn.js +10 -0
  1196. package/mini-calendar/mini-calendar/mini-calendar.component.d.ts +1 -1
  1197. package/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -1
  1198. package/mini-calendar/mini-calendar/mini-calendar.component.js +22 -21
  1199. package/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts +1 -1
  1200. package/mini-calendar/mini-calendar-day.d.ts +1 -1
  1201. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts +1 -1
  1202. package/mini-calendar/mini-calendar-month.d.ts +1 -1
  1203. package/mini-calendar/mini-calendar.d.ts +1 -1
  1204. package/mini-calendar.d.ts +3 -3
  1205. package/navigation/common/navigation-action-common.d.ts +4 -4
  1206. package/navigation/common/navigation-action-common.js +10 -10
  1207. package/navigation/common.d.ts +1 -1
  1208. package/navigation/navigation/navigation.component.d.ts +3 -4
  1209. package/navigation/navigation/navigation.component.d.ts.map +1 -1
  1210. package/navigation/navigation/navigation.component.js +46 -55
  1211. package/navigation/navigation-button/navigation-button.component.d.ts +2 -2
  1212. package/navigation/navigation-button.d.ts +1 -1
  1213. package/navigation/navigation-link/navigation-link.component.d.ts +2 -2
  1214. package/navigation/navigation-link.d.ts +1 -1
  1215. package/navigation/navigation-list/navigation-list.component.d.ts +4 -4
  1216. package/navigation/navigation-list.d.ts +1 -1
  1217. package/navigation/navigation-marker/navigation-marker.component.d.ts +4 -4
  1218. package/navigation/navigation-marker/navigation-marker.component.d.ts.map +1 -1
  1219. package/navigation/navigation-marker/navigation-marker.component.js +20 -20
  1220. package/navigation/navigation-marker.d.ts +1 -1
  1221. package/navigation/navigation-section/navigation-section.component.d.ts +8 -7
  1222. package/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  1223. package/navigation/navigation-section/navigation-section.component.js +65 -65
  1224. package/navigation/navigation-section.d.ts +1 -1
  1225. package/navigation/navigation.d.ts +1 -1
  1226. package/navigation.d.ts +7 -7
  1227. package/notification/notification.component.d.ts +4 -3
  1228. package/notification/notification.component.d.ts.map +1 -1
  1229. package/notification/notification.component.js +26 -29
  1230. package/notification.d.ts +1 -1
  1231. package/off-brand-theme.css +297 -11
  1232. package/option/optgroup/optgroup-base-element.d.ts +4 -8
  1233. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  1234. package/option/optgroup/optgroup-base-element.js +48 -82
  1235. package/option/optgroup/optgroup.component.d.ts +5 -5
  1236. package/option/optgroup/optgroup.component.d.ts.map +1 -1
  1237. package/option/optgroup/optgroup.component.js +27 -19
  1238. package/option/optgroup.d.ts +2 -2
  1239. package/option/option/option-base-element.d.ts +4 -9
  1240. package/option/option/option-base-element.d.ts.map +1 -1
  1241. package/option/option/option-base-element.js +46 -59
  1242. package/option/option/option.component.d.ts +7 -5
  1243. package/option/option/option.component.d.ts.map +1 -1
  1244. package/option/option/option.component.js +46 -39
  1245. package/option/option-hint/option-hint.component.d.ts +1 -1
  1246. package/option/option-hint.d.ts +1 -1
  1247. package/option/option.d.ts +2 -2
  1248. package/option.d.ts +3 -3
  1249. package/overlay/overlay-base-element.d.ts +7 -7
  1250. package/overlay/overlay-base-element.js +1 -1
  1251. package/overlay/overlay.component.d.ts +1 -1
  1252. package/overlay/overlay.component.js +28 -28
  1253. package/overlay.d.ts +2 -2
  1254. package/package.json +36 -71
  1255. package/paginator/common/paginator-common.d.ts +4 -5
  1256. package/paginator/common/paginator-common.d.ts.map +1 -1
  1257. package/paginator/common.d.ts +1 -1
  1258. package/paginator/compact-paginator/compact-paginator.component.d.ts +1 -1
  1259. package/paginator/compact-paginator.d.ts +1 -1
  1260. package/paginator/paginator/paginator.component.d.ts +2 -2
  1261. package/paginator/paginator/paginator.component.d.ts.map +1 -1
  1262. package/paginator/paginator/paginator.component.js +17 -20
  1263. package/paginator/paginator.d.ts +1 -1
  1264. package/paginator.d.ts +3 -3
  1265. package/popover/{popover/popover.component.d.ts → popover.component.d.ts} +2 -2
  1266. package/popover/popover.component.d.ts.map +1 -0
  1267. package/popover/popover.component.js +316 -0
  1268. package/popover.d.ts +1 -1
  1269. package/popover.d.ts.map +1 -1
  1270. package/popover.js +1 -1
  1271. package/radio-button/common/radio-button-common.d.ts +3 -3
  1272. package/radio-button/common.d.ts +1 -1
  1273. package/radio-button/common.js +1 -1
  1274. package/radio-button/radio-button/radio-button.component.d.ts +2 -3
  1275. package/radio-button/radio-button/radio-button.component.d.ts.map +1 -1
  1276. package/radio-button/radio-button/radio-button.component.js +4 -5
  1277. package/radio-button/radio-button-group/radio-button-group.component.d.ts +6 -7
  1278. package/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  1279. package/radio-button/radio-button-group/radio-button-group.component.js +45 -46
  1280. package/radio-button/radio-button-group.d.ts +1 -1
  1281. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts +1 -13
  1282. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  1283. package/radio-button/radio-button-panel/radio-button-panel.component.js +36 -54
  1284. package/radio-button/radio-button-panel.d.ts +1 -1
  1285. package/radio-button/radio-button.d.ts +1 -1
  1286. package/radio-button-common-1Yg7p8dc.js +5 -0
  1287. package/radio-button.d.ts +4 -4
  1288. package/radio-button.js +1 -1
  1289. package/safety-theme.css +297 -11
  1290. package/{sbb-tokens-BNWpZrLn.js → sbb-tokens-DruExozg.js} +8 -8
  1291. package/screen-reader-only.d.ts +1 -1
  1292. package/select/select.component.d.ts +5 -5
  1293. package/select/select.component.d.ts.map +1 -1
  1294. package/select/select.component.js +52 -52
  1295. package/select.d.ts +1 -1
  1296. package/selection-action-panel/selection-action-panel.component.d.ts +1 -2
  1297. package/selection-action-panel/selection-action-panel.component.d.ts.map +1 -1
  1298. package/selection-action-panel/selection-action-panel.component.js +10 -14
  1299. package/selection-action-panel.d.ts +1 -1
  1300. package/selection-expansion-panel/selection-expansion-panel.component.d.ts +6 -7
  1301. package/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  1302. package/selection-expansion-panel/selection-expansion-panel.component.js +60 -68
  1303. package/selection-expansion-panel.d.ts +1 -1
  1304. package/sidebar/common.js +1 -1
  1305. package/sidebar/sidebar/sidebar.component.d.ts +3 -3
  1306. package/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  1307. package/sidebar/sidebar/sidebar.component.js +26 -32
  1308. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +1 -1
  1309. package/sidebar/sidebar-close-button.d.ts +1 -1
  1310. package/sidebar/sidebar-container/sidebar-container.component.d.ts +1 -1
  1311. package/sidebar/sidebar-container/sidebar-container.component.d.ts.map +1 -1
  1312. package/sidebar/sidebar-container/sidebar-container.component.js +33 -32
  1313. package/sidebar/sidebar-container.d.ts +1 -1
  1314. package/sidebar/sidebar-content.d.ts +1 -1
  1315. package/sidebar/sidebar-title/sidebar-title.component.d.ts +1 -1
  1316. package/sidebar/sidebar-title.d.ts +1 -1
  1317. package/sidebar/sidebar.d.ts +1 -1
  1318. package/sidebar.d.ts +6 -11
  1319. package/sidebar.d.ts.map +1 -1
  1320. package/sidebar.js +11 -21
  1321. package/signet/signet.component.d.ts +1 -1
  1322. package/signet.d.ts +1 -1
  1323. package/skiplink-list/skiplink-list.component.d.ts +4 -4
  1324. package/skiplink-list/skiplink-list.component.js +1 -1
  1325. package/skiplink-list.d.ts +1 -1
  1326. package/slider/slider.component.d.ts +2 -2
  1327. package/slider.d.ts +1 -1
  1328. package/standard-theme.css +297 -11
  1329. package/status/status.component.d.ts +1 -1
  1330. package/status.d.ts +1 -1
  1331. package/stepper/step/step.component.d.ts +5 -3
  1332. package/stepper/step/step.component.d.ts.map +1 -1
  1333. package/stepper/step/step.component.js +28 -20
  1334. package/stepper/step-label/step-label.component.d.ts +7 -4
  1335. package/stepper/step-label/step-label.component.d.ts.map +1 -1
  1336. package/stepper/step-label/step-label.component.js +35 -23
  1337. package/stepper/step-label.d.ts +1 -1
  1338. package/stepper/step.d.ts +1 -1
  1339. package/stepper/stepper/stepper.component.d.ts +4 -4
  1340. package/stepper/stepper/stepper.component.d.ts.map +1 -1
  1341. package/stepper/stepper/stepper.component.js +49 -48
  1342. package/stepper/stepper.d.ts +1 -1
  1343. package/stepper.d.ts +3 -3
  1344. package/table/table-wrapper/table-wrapper.component.d.ts +1 -1
  1345. package/table/table-wrapper.d.ts +1 -1
  1346. package/table.d.ts +1 -1
  1347. package/tabs/tab/tab.component.d.ts +3 -8
  1348. package/tabs/tab/tab.component.d.ts.map +1 -1
  1349. package/tabs/tab/tab.component.js +12 -18
  1350. package/tabs/tab-group/tab-group.component.d.ts +4 -28
  1351. package/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  1352. package/tabs/tab-group/tab-group.component.js +48 -50
  1353. package/tabs/tab-group.d.ts +1 -1
  1354. package/tabs/tab-label/tab-label.component.d.ts +5 -4
  1355. package/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  1356. package/tabs/tab-label/tab-label.component.js +34 -29
  1357. package/tabs/tab-label.d.ts +1 -1
  1358. package/tabs/tab.d.ts +1 -1
  1359. package/tabs.d.ts +3 -3
  1360. package/tag/tag/tag.component.d.ts +3 -3
  1361. package/tag/tag/tag.component.js +12 -12
  1362. package/tag/tag-group/tag-group.component.d.ts +3 -3
  1363. package/tag/tag-group.d.ts +1 -1
  1364. package/tag/tag.d.ts +1 -1
  1365. package/tag.d.ts +2 -2
  1366. package/teaser/teaser.component.d.ts +1 -1
  1367. package/teaser/teaser.component.js +10 -10
  1368. package/teaser-hero/teaser-hero.component.d.ts +1 -1
  1369. package/teaser-hero.d.ts +1 -1
  1370. package/teaser-product/common/teaser-product-common.d.ts +3 -3
  1371. package/teaser-product/common.d.ts +1 -1
  1372. package/teaser-product/common.js +1 -1
  1373. package/teaser-product/teaser-product/teaser-product.component.d.ts +2 -2
  1374. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  1375. package/teaser-product/teaser-product-static/teaser-product-static.component.d.ts +2 -2
  1376. package/teaser-product/teaser-product-static.d.ts +1 -1
  1377. package/teaser-product/teaser-product.d.ts +1 -1
  1378. package/teaser-product-common-DwaWdQEh.js +5 -0
  1379. package/teaser-product.d.ts +3 -3
  1380. package/teaser-product.js +1 -1
  1381. package/teaser.d.ts +1 -1
  1382. package/time-input/time-input.component.d.ts +1 -6
  1383. package/time-input/time-input.component.d.ts.map +1 -1
  1384. package/time-input/time-input.component.js +3 -10
  1385. package/time-input.d.ts +1 -1
  1386. package/timetable-form/timetable-form-details.d.ts +1 -1
  1387. package/timetable-form/timetable-form-field/timetable-form-field.component.d.ts +1 -1
  1388. package/timetable-form/timetable-form-field.d.ts +1 -1
  1389. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts +1 -1
  1390. package/timetable-form/timetable-form-swap-button.d.ts +1 -1
  1391. package/timetable-form/timetable-form.d.ts +1 -1
  1392. package/timetable-form.d.ts +4 -4
  1393. package/timetable-occupancy/timetable-occupancy.component.d.ts +2 -2
  1394. package/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts +3 -3
  1395. package/timetable-occupancy-icon.d.ts +1 -1
  1396. package/timetable-occupancy.d.ts +1 -1
  1397. package/title/title-base.d.ts +1 -1
  1398. package/title/title.component.d.ts +2 -2
  1399. package/title.d.ts +2 -2
  1400. package/toast/toast.component.d.ts +2 -2
  1401. package/toast/toast.component.js +23 -23
  1402. package/toast.d.ts +1 -1
  1403. package/toggle/toggle/toggle.component.d.ts +3 -3
  1404. package/toggle/toggle/toggle.component.js +13 -13
  1405. package/toggle/toggle-option/toggle-option.component.d.ts +1 -1
  1406. package/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  1407. package/toggle/toggle-option/toggle-option.component.js +20 -21
  1408. package/toggle/toggle-option.d.ts +1 -1
  1409. package/toggle/toggle.d.ts +1 -1
  1410. package/toggle-check/toggle-check.component.d.ts +1 -1
  1411. package/toggle-check/toggle-check.component.js +8 -8
  1412. package/toggle-check.d.ts +1 -1
  1413. package/toggle.d.ts +2 -2
  1414. package/tooltip/tooltip.component.d.ts +2 -2
  1415. package/tooltip/tooltip.component.d.ts.map +1 -1
  1416. package/tooltip/tooltip.component.js +39 -39
  1417. package/tooltip.d.ts +1 -1
  1418. package/train/train/train.component.d.ts +5 -5
  1419. package/train/train-blocked-passage.d.ts +1 -1
  1420. package/train/train-formation/train-formation.component.d.ts +3 -3
  1421. package/train/train-formation.d.ts +1 -1
  1422. package/train/train-wagon/train-wagon.component.d.ts +3 -3
  1423. package/train/train-wagon.d.ts +1 -1
  1424. package/train/train.d.ts +1 -1
  1425. package/train.d.ts +4 -4
  1426. package/visual-checkbox/visual-checkbox.component.d.ts +2 -2
  1427. package/visual-checkbox/visual-checkbox.component.d.ts.map +1 -1
  1428. package/visual-checkbox/visual-checkbox.component.js +48 -52
  1429. package/visual-checkbox.d.ts +1 -1
  1430. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +0 -38
  1431. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +0 -1
  1432. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +0 -88
  1433. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +0 -31
  1434. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +0 -1
  1435. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +0 -62
  1436. package/autocomplete-grid/autocomplete-grid-button.d.ts +0 -5
  1437. package/autocomplete-grid/autocomplete-grid-button.d.ts.map +0 -1
  1438. package/autocomplete-grid/autocomplete-grid-button.js +0 -4
  1439. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts +0 -19
  1440. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +0 -1
  1441. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +0 -25
  1442. package/autocomplete-grid/autocomplete-grid-cell.d.ts +0 -5
  1443. package/autocomplete-grid/autocomplete-grid-cell.d.ts.map +0 -1
  1444. package/autocomplete-grid/autocomplete-grid-cell.js +0 -4
  1445. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts +0 -20
  1446. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts.map +0 -1
  1447. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +0 -30
  1448. package/autocomplete-grid/autocomplete-grid-optgroup.d.ts +0 -5
  1449. package/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +0 -1
  1450. package/autocomplete-grid/autocomplete-grid-optgroup.js +0 -4
  1451. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +0 -27
  1452. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +0 -1
  1453. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +0 -39
  1454. package/autocomplete-grid/autocomplete-grid-option.d.ts +0 -5
  1455. package/autocomplete-grid/autocomplete-grid-option.d.ts.map +0 -1
  1456. package/autocomplete-grid/autocomplete-grid-option.js +0 -5
  1457. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts +0 -20
  1458. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +0 -1
  1459. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +0 -28
  1460. package/autocomplete-grid/autocomplete-grid-row.d.ts +0 -5
  1461. package/autocomplete-grid/autocomplete-grid-row.d.ts.map +0 -1
  1462. package/autocomplete-grid/autocomplete-grid-row.js +0 -4
  1463. package/autocomplete-grid/autocomplete-grid.d.ts +0 -5
  1464. package/autocomplete-grid/autocomplete-grid.d.ts.map +0 -1
  1465. package/autocomplete-grid/autocomplete-grid.js +0 -4
  1466. package/autocomplete-grid.d.ts +0 -10
  1467. package/autocomplete-grid.d.ts.map +0 -1
  1468. package/autocomplete-grid.js +0 -15
  1469. package/checkbox-common-CrwfdL9V.js +0 -5
  1470. package/core/dom/breakpoint.d.ts +0 -16
  1471. package/core/dom/breakpoint.d.ts.map +0 -1
  1472. package/core/dom/breakpoint.js +0 -12
  1473. package/core/dom/host-context.d.ts +0 -11
  1474. package/core/dom/host-context.d.ts.map +0 -1
  1475. package/core/dom/host-context.js +0 -17
  1476. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +0 -38
  1477. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +0 -1
  1478. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +0 -139
  1479. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +0 -31
  1480. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +0 -1
  1481. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +0 -90
  1482. package/development/autocomplete-grid/autocomplete-grid-button.d.ts +0 -5
  1483. package/development/autocomplete-grid/autocomplete-grid-button.d.ts.map +0 -1
  1484. package/development/autocomplete-grid/autocomplete-grid-button.js +0 -5
  1485. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts +0 -19
  1486. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +0 -1
  1487. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +0 -40
  1488. package/development/autocomplete-grid/autocomplete-grid-cell.d.ts +0 -5
  1489. package/development/autocomplete-grid/autocomplete-grid-cell.d.ts.map +0 -1
  1490. package/development/autocomplete-grid/autocomplete-grid-cell.js +0 -5
  1491. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts +0 -20
  1492. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts.map +0 -1
  1493. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +0 -41
  1494. package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts +0 -5
  1495. package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +0 -1
  1496. package/development/autocomplete-grid/autocomplete-grid-optgroup.js +0 -5
  1497. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +0 -27
  1498. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +0 -1
  1499. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +0 -135
  1500. package/development/autocomplete-grid/autocomplete-grid-option.d.ts +0 -5
  1501. package/development/autocomplete-grid/autocomplete-grid-option.d.ts.map +0 -1
  1502. package/development/autocomplete-grid/autocomplete-grid-option.js +0 -6
  1503. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts +0 -20
  1504. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +0 -1
  1505. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +0 -125
  1506. package/development/autocomplete-grid/autocomplete-grid-row.d.ts +0 -5
  1507. package/development/autocomplete-grid/autocomplete-grid-row.d.ts.map +0 -1
  1508. package/development/autocomplete-grid/autocomplete-grid-row.js +0 -5
  1509. package/development/autocomplete-grid/autocomplete-grid.d.ts +0 -5
  1510. package/development/autocomplete-grid/autocomplete-grid.d.ts.map +0 -1
  1511. package/development/autocomplete-grid/autocomplete-grid.js +0 -5
  1512. package/development/autocomplete-grid.d.ts +0 -10
  1513. package/development/autocomplete-grid.d.ts.map +0 -1
  1514. package/development/autocomplete-grid.js +0 -16
  1515. package/development/core/dom/breakpoint.d.ts +0 -16
  1516. package/development/core/dom/breakpoint.d.ts.map +0 -1
  1517. package/development/core/dom/breakpoint.js +0 -19
  1518. package/development/core/dom/host-context.d.ts +0 -11
  1519. package/development/core/dom/host-context.d.ts.map +0 -1
  1520. package/development/core/dom/host-context.js +0 -21
  1521. package/development/form-error/form-error.component.d.ts.map +0 -1
  1522. package/development/form-error/form-error.component.js +0 -101
  1523. package/development/form-error.d.ts +0 -5
  1524. package/development/form-error.d.ts.map +0 -1
  1525. package/development/form-error.js +0 -5
  1526. package/development/popover/popover/popover.component.d.ts.map +0 -1
  1527. package/development/popover/popover/popover.component.js +0 -722
  1528. package/development/popover/popover.d.ts +0 -5
  1529. package/development/popover/popover.d.ts.map +0 -1
  1530. package/development/popover/popover.js +0 -6
  1531. package/development/sidebar/icon-sidebar/icon-sidebar.component.d.ts.map +0 -1
  1532. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +0 -1
  1533. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +0 -33
  1534. package/development/sidebar/icon-sidebar-button.d.ts.map +0 -1
  1535. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.component.d.ts.map +0 -1
  1536. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +0 -42
  1537. package/development/sidebar/icon-sidebar-container.d.ts.map +0 -1
  1538. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.component.d.ts.map +0 -1
  1539. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.component.js +0 -34
  1540. package/development/sidebar/icon-sidebar-content.d.ts.map +0 -1
  1541. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts.map +0 -1
  1542. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +0 -33
  1543. package/development/sidebar/icon-sidebar-link.d.ts +0 -5
  1544. package/development/sidebar/icon-sidebar-link.d.ts.map +0 -1
  1545. package/development/sidebar/icon-sidebar.d.ts +0 -5
  1546. package/development/sidebar/icon-sidebar.d.ts.map +0 -1
  1547. package/form-error/form-error.component.d.ts.map +0 -1
  1548. package/form-error/form-error.component.js +0 -47
  1549. package/form-error.d.ts +0 -5
  1550. package/form-error.d.ts.map +0 -1
  1551. package/form-error.js +0 -4
  1552. package/link-common-CdQBSga7.js +0 -46
  1553. package/mini-button-common-DSGLaplg.js +0 -10
  1554. package/popover/popover/popover.component.d.ts.map +0 -1
  1555. package/popover/popover/popover.component.js +0 -321
  1556. package/popover/popover.d.ts +0 -5
  1557. package/popover/popover.d.ts.map +0 -1
  1558. package/popover/popover.js +0 -5
  1559. package/radio-button-common-chJrmIBn.js +0 -5
  1560. package/sidebar/icon-sidebar/icon-sidebar.component.d.ts.map +0 -1
  1561. package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +0 -1
  1562. package/sidebar/icon-sidebar-button.d.ts.map +0 -1
  1563. package/sidebar/icon-sidebar-container/icon-sidebar-container.component.d.ts.map +0 -1
  1564. package/sidebar/icon-sidebar-container.d.ts.map +0 -1
  1565. package/sidebar/icon-sidebar-content/icon-sidebar-content.component.d.ts.map +0 -1
  1566. package/sidebar/icon-sidebar-content.d.ts.map +0 -1
  1567. package/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts.map +0 -1
  1568. package/sidebar/icon-sidebar-link.d.ts +0 -5
  1569. package/sidebar/icon-sidebar-link.d.ts.map +0 -1
  1570. package/sidebar/icon-sidebar.d.ts +0 -5
  1571. package/sidebar/icon-sidebar.d.ts.map +0 -1
  1572. package/teaser-product-common-a4NenpSA.js +0 -5
  1573. /package/development/{sidebar → icon-sidebar}/icon-sidebar-button.js +0 -0
  1574. /package/development/{sidebar → icon-sidebar}/icon-sidebar-container.js +0 -0
  1575. /package/development/{sidebar → icon-sidebar}/icon-sidebar-content/icon-sidebar-content.component.d.ts +0 -0
  1576. /package/development/{sidebar → icon-sidebar}/icon-sidebar-content.js +0 -0
  1577. /package/development/{sidebar → icon-sidebar}/icon-sidebar-link.js +0 -0
  1578. /package/development/{sidebar → icon-sidebar}/icon-sidebar.js +0 -0
  1579. /package/{sidebar → icon-sidebar}/icon-sidebar/icon-sidebar.component.js +0 -0
  1580. /package/{sidebar → icon-sidebar}/icon-sidebar-button.js +0 -0
  1581. /package/{sidebar → icon-sidebar}/icon-sidebar-container.js +0 -0
  1582. /package/{sidebar → icon-sidebar}/icon-sidebar-content/icon-sidebar-content.component.d.ts +0 -0
  1583. /package/{sidebar → icon-sidebar}/icon-sidebar-content.js +0 -0
  1584. /package/{sidebar → icon-sidebar}/icon-sidebar-link.js +0 -0
  1585. /package/{sidebar → icon-sidebar}/icon-sidebar.js +0 -0
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @entrypoint
3
3
  */
4
- export * from './alert/alert.js';
5
- export * from './alert/alert-group.js';
4
+ export * from './alert/alert.ts';
5
+ export * from './alert/alert-group.ts';
6
6
  //# sourceMappingURL=alert.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import { CSSResultGroup, PropertyDeclaration, PropertyValues, TemplateResult } from 'lit';
2
- import { SbbOpenCloseBaseElement } from '../core/base-elements.js';
3
- import { SbbOptionBaseElement } from '../option.js';
4
- declare const SbbAutocompleteBaseElement_base: import('../core/mixins.js').AbstractConstructor<import('../core/mixins.js').SbbNegativeMixinType> & import('../core/mixins.js').AbstractConstructor<import('../core/mixins.js').SbbHydrationMixinType> & typeof SbbOpenCloseBaseElement;
2
+ import { SbbOpenCloseBaseElement } from '../core/base-elements.ts';
3
+ import { SbbOptionBaseElement } from '../option.ts';
4
+ declare const SbbAutocompleteBaseElement_base: import('../core/mixins.ts').AbstractConstructor<import('../core/mixins.ts').SbbNegativeMixinType> & import('../core/mixins.ts').AbstractConstructor<import('../core/mixins.ts').SbbHydrationMixinType> & typeof SbbOpenCloseBaseElement;
5
5
  export declare abstract class SbbAutocompleteBaseElement<T = string> extends SbbAutocompleteBaseElement_base {
6
6
  static styles: CSSResultGroup;
7
7
  /**
@@ -67,6 +67,7 @@ export declare abstract class SbbAutocompleteBaseElement<T = string> extends Sbb
67
67
  /** Tracks input from keyboard. */
68
68
  private _lastUserInput;
69
69
  protected abstract get options(): SbbOptionBaseElement<T>[];
70
+ constructor();
70
71
  protected abstract syncNegative(): void;
71
72
  protected abstract setTriggerAttributes(element: HTMLInputElement): void;
72
73
  protected abstract openedPanelKeyboardInteraction(event: KeyboardEvent): void;
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete-base-element.d.ts","sourceRoot":"","sources":["../../../../src/elements/autocomplete/autocomplete-base-element.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAInB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAIb,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAYnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;;AAUzD,8BAAsB,0BAA0B,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,+BAEpE;IACC,OAAuB,MAAM,EAAE,cAAc,CAA4B;IAEzE;;;;;;;OAOG;IACH,SAEgB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAQ;IAElD;;;;;;OAMG;IACH,SAEgB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IAExD,+DAA+D;IAC/D,SAEgB,iBAAiB,EAAE,OAAO,CAAS;IAEnD,2FAA2F;IAC3F,SAEgB,qBAAqB,EAAE,OAAO,CAAS;IAEvD,wFAAwF;IACxF,SACgB,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,GAAG,IAAI,CAAQ;IAElE;;;OAGG;IACH,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,CAAwB;IAEpF,8EAA8E;IAC9E,SAEgB,sBAAsB,EAAE,OAAO,CAAS;IAExD;;;;;OAKG;IACH,SAEgB,gBAAgB,EAAE,OAAO,CAAS;IAElD;;;OAGG;IACH,SACgB,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAU;IAE9D,qEAAqE;IACrE,IAAW,aAAa,IAAI,WAAW,GAAG,IAAI,CAO7C;IAED,mCAAmC;IACnC,IAAW,cAAc,IAAI,gBAAgB,GAAG,IAAI,CAEnD;IACD,OAAO,CAAC,eAAe,CAAC,CAA0B;IAElD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAQ;IAC9D,OAAO,CAAC,qBAAqB,CAQ1B;IACH,uFAAuF;IACvF,OAAO,CAAC,yBAAyB,CAOxB;IACT,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,gBAAgB,CAAe;IACvC,OAAO,CAAC,uBAAuB,CAAmB;IAClD,OAAO,CAAC,0BAA0B,CAAmB;IACrD,OAAO,CAAC,yBAAyB,CAAkB;IACnD,OAAO,CAAC,2BAA2B,CAA2C;IAC9E,OAAO,CAAC,aAAa,CAAK;IAE1B,kCAAkC;IAClC,OAAO,CAAC,cAAc,CAAuB;IAE7C,SAAS,CAAC,QAAQ,KAAK,OAAO,IAAI,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI;IACvC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IACxE,SAAS,CAAC,QAAQ,CAAC,8BAA8B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAC7E,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAC/D,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI;IACnE,SAAS,CAAC,QAAQ,CAAC,kBAAkB,IAAI,IAAI;IAE7C,8BAA8B;IACvB,IAAI,IAAI,IAAI;IAgCnB,+BAA+B;IACxB,KAAK,IAAI,IAAI;IAmBpB,OAAO,CAAC,wBAAwB;IAIhB,iBAAiB,IAAI,IAAI;cAkBtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAYzD,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAK9D,oBAAoB,IAAI,IAAI;IAO5B,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;IAaP,qFAAqF;IACrF,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAM9C,qFAAqF;IACrF,SAAS,CAAC,sBAAsB,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI;IAK7E,OAAO,CAAC,0BAA0B;IAiClC,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,2CAA2C;IAOnD,yEAAyE;IACzE,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,iBAAiB;IA2DzB,OAAO,CAAC,mBAAmB;IAgB3B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,sBAAsB;IAmD9B,OAAO,CAAC,oBAAoB,CAE1B;IAGF,OAAO,CAAC,qBAAqB,CAQ3B;IAEF,OAAO,CAAC,+BAA+B;IAcvC,kDAAkD;IAClD,OAAO,CAAC,iBAAiB;cAON,MAAM,IAAI,cAAc;CAyB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,mBAAmB;QAC3B,iBAAiB,EAAE,WAAW,CAAC;YAAE,MAAM,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAA;SAAE,CAAC,CAAC;KACvE;CACF"}
1
+ {"version":3,"file":"autocomplete-base-element.d.ts","sourceRoot":"","sources":["../../../../src/elements/autocomplete/autocomplete-base-element.ts"],"names":[],"mappings":"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"}
@@ -5,13 +5,13 @@ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot
5
5
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
6
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
7
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
- import { __runInitializers, __esDecorate } from "tslib";
8
+ import { __esDecorate, __runInitializers } from "tslib";
9
9
  import { ResizeController } from "@lit-labs/observers/resize-controller.js";
10
10
  import { css, isServer, nothing, html } from "lit";
11
11
  import { property } from "lit/decorators.js";
12
12
  import { ref } from "lit/directives/ref.js";
13
13
  import { SbbOpenCloseBaseElement } from "../core/base-elements.js";
14
- import { SbbEscapableOverlayController } from "../core/controllers.js";
14
+ import { SbbEscapableOverlayController, SbbPropertyWatcherController } from "../core/controllers.js";
15
15
  import { idReference, forceType } from "../core/decorators.js";
16
16
  import { isLean, isZeroAnimationDuration, isSafari } from "../core/dom.js";
17
17
  import { SbbNegativeMixin, SbbHydrationMixin } from "../core/mixins.js";
@@ -67,7 +67,6 @@ const style = css`.sbb-gap-fix-wrapper {
67
67
  --sbb-scrollbar-track-color: transparent;
68
68
  --sbb-options-panel-position-x: 0;
69
69
  --sbb-options-panel-position-y: 0;
70
- --sbb-options-panel-active-option-y: 0;
71
70
  --sbb-options-panel-max-height: calc(85vh - var(--sbb-spacing-fixed-8x));
72
71
  --sbb-options-panel-min-height: var(--sbb-options-panel-origin-height);
73
72
  --sbb-options-panel-visibility: visible;
@@ -105,7 +104,7 @@ const style = css`.sbb-gap-fix-wrapper {
105
104
  --sbb-options-panel-padding-block: var(--sbb-spacing-fixed-1x);
106
105
  }
107
106
 
108
- :host([data-state]:not([data-state=closed])) {
107
+ :host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) {
109
108
  display: block;
110
109
  }
111
110
 
@@ -116,32 +115,32 @@ const style = css`.sbb-gap-fix-wrapper {
116
115
  --sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);
117
116
  }
118
117
 
119
- :host(:not([data-state])),
120
- :host([data-state=closed]) {
118
+ :host(:not(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))),
119
+ :host(:is(:state(state-closed),[state--state-closed])) {
121
120
  --sbb-options-panel-visibility: hidden;
122
121
  --sbb-options-pointer-events: none;
123
122
  }
124
123
 
125
- :host([data-state=opening]) {
124
+ :host(:is(:state(state-opening),[state--state-opening])) {
126
125
  --sbb-options-panel-animation-name: open;
127
126
  }
128
127
 
129
- :host([data-state=closing]) {
128
+ :host(:is(:state(state-closing),[state--state-closing])) {
130
129
  --sbb-options-panel-animation-name: close;
131
130
  }
132
131
 
133
- :host([data-state=opened]),
134
- :host([data-state=opening]) {
132
+ :host(:is(:state(state-opened),[state--state-opened])),
133
+ :host(:is(:state(state-opening),[state--state-opening])) {
135
134
  --sbb-options-panel-gap-fix-opacity: 1;
136
135
  }
137
136
 
138
- :host([data-options-panel-position=below]) {
137
+ :host(:is(:state(options-panel-position-below),[state--options-panel-position-below])) {
139
138
  --sbb-options-panel-animation-transform: translateY(
140
139
  calc((var(--sbb-options-panel-origin-height) / 2) * -1)
141
140
  );
142
141
  }
143
142
 
144
- :host([data-options-panel-position=above]) {
143
+ :host(:is(:state(options-panel-position-above),[state--options-panel-position-above])) {
145
144
  --sbb-options-panel-options-border-radius: var(--sbb-options-panel-border-radius)
146
145
  var(--sbb-options-panel-border-radius) 0 0;
147
146
  --sbb-options-panel-gap-fix-top: var(--sbb-options-panel-max-height);
@@ -206,27 +205,25 @@ const style = css`.sbb-gap-fix-wrapper {
206
205
  transition: box-shadow var(--sbb-options-panel-animation-duration) var(--sbb-options-panel-animation-timing-function);
207
206
  z-index: 1;
208
207
  }
209
- :host([data-options-panel-position=below]) .sbb-autocomplete__panel {
208
+ :host(:is(:state(options-panel-position-below),[state--options-panel-position-below])) .sbb-autocomplete__panel {
210
209
  inset-block-start: calc(var(--sbb-options-panel-position-y) - var(--sbb-options-panel-origin-height));
211
210
  }
212
- :host(:is([data-state=opened], [data-state=opening])) .sbb-autocomplete__panel {
211
+ :host(:is(:is(:state(state-opened),[state--state-opened]), :is(:state(state-opening),[state--state-opening]))) .sbb-autocomplete__panel {
213
212
  box-shadow: var(--sbb-box-shadow-level-5-hard);
214
213
  }
215
- :host(:is([data-state=opened], [data-state=opening])[negative]) .sbb-autocomplete__panel {
214
+ :host(:is(:is(:state(state-opened),[state--state-opened]), :is(:state(state-opening),[state--state-opening]))[negative]) .sbb-autocomplete__panel {
216
215
  box-shadow: var(--sbb-box-shadow-level-5-hard-negative);
217
216
  }
218
- :host([data-options-panel-position=below]) .sbb-autocomplete__panel::before {
217
+ :host(:is(:state(options-panel-position-below),[state--options-panel-position-below])) .sbb-autocomplete__panel::before {
219
218
  display: block;
220
219
  }
221
- :host([data-options-panel-position=above]) .sbb-autocomplete__panel::after {
220
+ :host(:is(:state(options-panel-position-above),[state--options-panel-position-above])) .sbb-autocomplete__panel::after {
222
221
  display: block;
223
222
  }
224
- :host(:is([data-state=opened], [data-state=opening])[data-option-panel-origin-borderless]) .sbb-autocomplete__panel::before, :host(:is([data-state=opened], [data-state=opening])[data-option-panel-origin-borderless]) .sbb-autocomplete__panel::after {
223
+ :host(:is(:is(:state(state-opened),[state--state-opened]), :is(:state(state-opening),[state--state-opening])):is(:state(option-panel-origin-borderless),[state--option-panel-origin-borderless])) .sbb-autocomplete__panel::before, :host(:is(:is(:state(state-opened),[state--state-opened]), :is(:state(state-opening),[state--state-opening])):is(:state(option-panel-origin-borderless),[state--option-panel-origin-borderless])) .sbb-autocomplete__panel::after {
225
224
  box-shadow: var(--sbb-box-shadow-level-5-hard);
226
225
  }
227
- :host(:is([data-state=opened],
228
- [data-state=opening])[data-option-panel-origin-borderless][negative]) .sbb-autocomplete__panel::before, :host(:is([data-state=opened],
229
- [data-state=opening])[data-option-panel-origin-borderless][negative]) .sbb-autocomplete__panel::after {
226
+ :host(:is(:is(:state(state-opened),[state--state-opened]), :is(:state(state-opening),[state--state-opening])):is(:state(option-panel-origin-borderless),[state--option-panel-origin-borderless])[negative]) .sbb-autocomplete__panel::before, :host(:is(:is(:state(state-opened),[state--state-opened]), :is(:state(state-opening),[state--state-opening])):is(:state(option-panel-origin-borderless),[state--option-panel-origin-borderless])[negative]) .sbb-autocomplete__panel::after {
230
227
  box-shadow: var(--sbb-box-shadow-level-5-hard-negative);
231
228
  }
232
229
 
@@ -338,7 +335,7 @@ let SbbAutocompleteBaseElement = (() => {
338
335
  let _position_extraInitializers = [];
339
336
  return _a = class extends _classSuper {
340
337
  constructor() {
341
- super(...arguments);
338
+ super();
342
339
  __privateAdd(this, _origin_accessor_storage);
343
340
  __privateAdd(this, _trigger_accessor_storage);
344
341
  __privateAdd(this, _preserveIconSpace_accessor_storage);
@@ -386,6 +383,13 @@ let SbbAutocompleteBaseElement = (() => {
386
383
  this.close();
387
384
  }
388
385
  };
386
+ this.addController(new SbbPropertyWatcherController(this, () => this.closest("sbb-form-field"), {
387
+ negative: (e) => {
388
+ this.negative = e.negative;
389
+ this.syncNegative();
390
+ },
391
+ borderless: (e) => this.toggleState("option-panel-origin-borderless", e.borderless)
392
+ }));
389
393
  }
390
394
  /**
391
395
  * The element where the autocomplete will attach.
@@ -484,10 +488,7 @@ let SbbAutocompleteBaseElement = (() => {
484
488
  }
485
489
  /** Opens the autocomplete. */
486
490
  open() {
487
- if (this.state !== "closed" || !this._overlay || this.options.length === 0 || this._readonly()) {
488
- return;
489
- }
490
- if (!this.dispatchBeforeOpenEvent()) {
491
+ if (this.state !== "closed" || !this._overlay || this.options.length === 0 || this._readonly() || !this.dispatchBeforeOpenEvent()) {
491
492
  return;
492
493
  }
493
494
  this.showPopover?.();
@@ -527,10 +528,6 @@ let SbbAutocompleteBaseElement = (() => {
527
528
  if (ariaRoleOnHost) {
528
529
  this.id ||= this.overlayId;
529
530
  }
530
- const formField = this.closest("sbb-form-field") ?? this.closest("[data-form-field]");
531
- if (formField) {
532
- this.negative = formField.hasAttribute("negative");
533
- }
534
531
  if (this.hasUpdated) {
535
532
  this._componentSetup();
536
533
  }
@@ -623,7 +620,6 @@ let SbbAutocompleteBaseElement = (() => {
623
620
  if (isServer) {
624
621
  return;
625
622
  }
626
- this.toggleAttribute("data-option-panel-origin-borderless", !!this.closest?.("sbb-form-field")?.hasAttribute("borderless"));
627
623
  this._configureTrigger();
628
624
  }
629
625
  _configureTrigger() {
@@ -772,7 +768,6 @@ let SbbAutocompleteBaseElement = (() => {
772
768
  <div
773
769
  @animationend=${this._onAnimationEnd}
774
770
  class="sbb-autocomplete__panel"
775
- ?data-open=${this.state === "opened" || this.state === "opening"}
776
771
  ${ref((overlayRef) => this._overlay = overlayRef)}
777
772
  >
778
773
  <div class="sbb-autocomplete__wrapper">
@@ -833,4 +828,4 @@ let SbbAutocompleteBaseElement = (() => {
833
828
  export {
834
829
  SbbAutocompleteBaseElement
835
830
  };
836
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWJhc2UtZWxlbWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtYmFzZS1lbGVtZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24sXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5cbmltcG9ydCB7IFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyIH0gZnJvbSAnLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUsIGlkUmVmZXJlbmNlIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzTGVhbiwgaXNTYWZhcmksIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uIH0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgU2JiSHlkcmF0aW9uTWl4aW4sIFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQge1xuICBpc0V2ZW50T25FbGVtZW50LFxuICBvdmVybGF5R2FwRml4Q29ybmVycyxcbiAgcmVtb3ZlQXJpYUNvbWJvQm94QXR0cmlidXRlcyxcbiAgc2V0T3ZlcmxheVBvc2l0aW9uLFxufSBmcm9tICcuLi9jb3JlL292ZXJsYXkuanMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vY29yZS9zdHlsZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcHRpb25CYXNlRWxlbWVudCB9IGZyb20gJy4uL29wdGlvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2F1dG9jb21wbGV0ZS1iYXNlLWVsZW1lbnQuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBPbiBTYWZhcmksIHRoZSBhcmlhIHJvbGUgJ2xpc3Rib3gnIG11c3QgYmUgb24gdGhlIGhvc3QgZWxlbWVudCwgb3IgZWxzZSBWb2ljZU92ZXIgd29uJ3Qgd29yayBhdCBhbGwuXG4gKiBPbiB0aGUgb3RoZXIgaGFuZCwgSkFXUyBhbmQgTlZEQSBuZWVkIHRoZSByb2xlIHRvIGJlIFwiY2xvc2VyXCIgdG8gdGhlIG9wdGlvbnMsIG9yIGVsc2Ugb3B0Z3JvdXBzIHdvbid0IHdvcmsuXG4gKi9cbmNvbnN0IGFyaWFSb2xlT25Ib3N0ID0gaXNTYWZhcmk7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oXG4gIFNiYkh5ZHJhdGlvbk1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCBzdHlsZV07XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHdoZXJlIHRoZSBhdXRvY29tcGxldGUgd2lsbCBhdHRhY2guXG4gICAqIElmIG5vdCBzZXQsIGFzIGZhbGxiYWNrIHRoZXJlIGFyZSB0d28gZWxlbWVudHMgd2hpY2ggY2FuIGFjdCBhcyBvcmlnaW4gd2l0aCBmb2xsb3dpbmcgcHJpb3JpdHkgb3JkZXI6XG4gICAqIDEuIGBzYmItZm9ybS1maWVsZGAgaWYgaXQgaXMgYW4gYW5jZXN0b3IuXG4gICAqIDIuIHRyaWdnZXIgZWxlbWVudCBpZiBzZXQuXG4gICAqXG4gICAqIEZvciBhdHRyaWJ1dGUgdXNhZ2UsIHByb3ZpZGUgYW4gaWQgcmVmZXJlbmNlLlxuICAgKi9cbiAgQGlkUmVmZXJlbmNlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIG9yaWdpbjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogVGhlIGlucHV0IGVsZW1lbnQgdGhhdCB3aWxsIHRyaWdnZXIgdGhlIGF1dG9jb21wbGV0ZSBvcGVuaW5nLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgYXV0b2NvbXBsZXRlIHdpbGwgb3BlbiBvbiBmb2N1cywgY2xpY2ssIGlucHV0IG9yIGBBcnJvd0Rvd25gIGtleXByZXNzIG9mIHRoZSAndHJpZ2dlcicgZWxlbWVudC5cbiAgICogSWYgbm90IHNldCwgd2lsbCBzZWFyY2ggZm9yIHRoZSBmaXJzdCAnaW5wdXQnIGNoaWxkIG9mIGEgJ3NiYi1mb3JtLWZpZWxkJyBhbmNlc3Rvci5cbiAgICpcbiAgICogRm9yIGF0dHJpYnV0ZSB1c2FnZSwgcHJvdmlkZSBhbiBpZCByZWZlcmVuY2UuXG4gICAqL1xuICBAaWRSZWZlcmVuY2UoKVxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgdHJpZ2dlcjogSFRNTElucHV0RWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBpY29uIHNwYWNlIGlzIHByZXNlcnZlZCB3aGVuIG5vIGljb24gaXMgc2V0LiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncHJlc2VydmUtaWNvbi1zcGFjZScsIHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIHByZXNlcnZlSWNvblNwYWNlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGZpcnN0IG9wdGlvbiBpcyBhdXRvbWF0aWNhbGx5IGFjdGl2YXRlZCB3aGVuIHRoZSBhdXRvY29tcGxldGUgaXMgb3BlbmVkLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYXV0by1hY3RpdmUtZmlyc3Qtb3B0aW9uJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYXV0b0FjdGl2ZUZpcnN0T3B0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIEZ1bmN0aW9uIHRoYXQgbWFwcyBhbiBvcHRpb24ncyBjb250cm9sIHZhbHVlIHRvIGl0cyBkaXNwbGF5IHZhbHVlIGluIHRoZSB0cmlnZ2VyLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBkaXNwbGF5V2l0aDogKCh2YWx1ZTogVCkgPT4gc3RyaW5nKSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBtIG9yIHMuXG4gICAqIEBkZWZhdWx0ICdtJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdtJyB8ICdzJyA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBhY3RpdmUgb3B0aW9uIHNob3VsZCBiZSBzZWxlY3RlZCBhcyB0aGUgdXNlciBpcyBuYXZpZ2F0aW5nLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYXV0by1zZWxlY3QtYWN0aXZlLW9wdGlvbicsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGF1dG9TZWxlY3RBY3RpdmVPcHRpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdXNlciBpcyByZXF1aXJlZCB0byBtYWtlIGEgc2VsZWN0aW9uIHdoZW4gdGhleSdyZSBpbnRlcmFjdGluZyB3aXRoIHRoZVxuICAgKiBhdXRvY29tcGxldGUuIElmIHRoZSB1c2VyIG1vdmVzIGF3YXkgZnJvbSB0aGUgYXV0b2NvbXBsZXRlIHdpdGhvdXQgc2VsZWN0aW5nIGFuIG9wdGlvbiBmcm9tXG4gICAqIHRoZSBsaXN0LCB0aGUgdmFsdWUgd2lsbCBiZSByZXNldC4gSWYgdGhlIHVzZXIgb3BlbnMgdGhlIHBhbmVsIGFuZCBjbG9zZXMgaXQgd2l0aG91dFxuICAgKiBpbnRlcmFjdGluZyBvciBzZWxlY3RpbmcgYSB2YWx1ZSwgdGhlIGluaXRpYWwgdmFsdWUgd2lsbCBiZSBrZXB0LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3JlcXVpcmUtc2VsZWN0aW9uJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgcmVxdWlyZVNlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgcG9zaXRpb24gb2YgdGhlIGF1dG9jb21wbGV0ZSBwYW5lbCByZWxhdGl2ZSB0byB0aGUgdHJpZ2dlci5cbiAgICogQGRlZmF1bHQgJ2F1dG8nXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgcG9zaXRpb246ICdhdXRvJyB8ICdhYm92ZScgfCAnYmVsb3cnID0gJ2F1dG8nO1xuXG4gIC8qKiBSZXR1cm5zIHRoZSBlbGVtZW50IHdoZXJlIGF1dG9jb21wbGV0ZSBvdmVybGF5IGlzIGF0dGFjaGVkIHRvLiAqL1xuICBwdWJsaWMgZ2V0IG9yaWdpbkVsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5vcmlnaW4gPz9cbiAgICAgIHRoaXMuY2xvc2VzdD8uKCdzYmItZm9ybS1maWVsZCcpPy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yPy4oJyNvdmVybGF5LWFuY2hvcicpID8/XG4gICAgICB0aGlzLnRyaWdnZXIgPz9cbiAgICAgIG51bGxcbiAgICApO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIHRyaWdnZXIgZWxlbWVudC4gKi9cbiAgcHVibGljIGdldCB0cmlnZ2VyRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3RyaWdnZXJFbGVtZW50ID8/IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfdHJpZ2dlckVsZW1lbnQ/OiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbDtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb3ZlcmxheUlkOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBwYW5lbFJvbGU6IHN0cmluZztcbiAgcHJvdGVjdGVkIGFjdGl2ZU9wdGlvbjogU2JiT3B0aW9uQmFzZUVsZW1lbnQ8VD4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfb3JpZ2luUmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcpIHtcbiAgICAgICAgdGhpcy5fc2V0T3ZlcmxheVBvc2l0aW9uKCk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG4gIC8qKiBMaXN0ZW5zIHRvIHRoZSBjaGFuZ2VzIG9uIHRoZSBgZGlzYWJsZWRgIG9yIGByZWFkb25seWAgYXR0cmlidXRlIG9mIHRoZSB0cmlnZ2VyLiAqL1xuICBwcml2YXRlIF90cmlnZ2VyQXR0cmlidXRlT2JzZXJ2ZXIgPSAhaXNTZXJ2ZXJcbiAgICA/IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnM6IE11dGF0aW9uUmVjb3JkW10pOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBtdXRhdGlvbnNbMF0udGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGlmIChpbnB1dC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykgfHwgaW5wdXQuaGFzQXR0cmlidXRlKCdyZWFkb25seScpKSB7XG4gICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIDogbnVsbDtcbiAgcHJpdmF0ZSBfb3ZlcmxheSE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9vcHRpb25Db250YWluZXIhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckFib3J0Q29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfaXNQb2ludGVyRG93bkV2ZW50T25NZW51OiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyID0gbmV3IFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9vcHRpb25zQ291bnQgPSAwO1xuXG4gIC8qKiBUcmFja3MgaW5wdXQgZnJvbSBrZXlib2FyZC4gKi9cbiAgcHJpdmF0ZSBfbGFzdFVzZXJJbnB1dDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBvcHRpb25zKCk6IFNiYk9wdGlvbkJhc2VFbGVtZW50PFQ+W107XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzeW5jTmVnYXRpdmUoKTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNldFRyaWdnZXJBdHRyaWJ1dGVzKGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb3BlbmVkUGFuZWxLZXlib2FyZEludGVyYWN0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNlbGVjdEJ5S2V5Ym9hcmQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0TmV4dEFjdGl2ZU9wdGlvbihldmVudD86IEtleWJvYXJkRXZlbnQpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVzZXRBY3RpdmVFbGVtZW50KCk6IHZvaWQ7XG5cbiAgLyoqIE9wZW5zIHRoZSBhdXRvY29tcGxldGUuICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuc3RhdGUgIT09ICdjbG9zZWQnIHx8XG4gICAgICAhdGhpcy5fb3ZlcmxheSB8fFxuICAgICAgdGhpcy5vcHRpb25zLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgdGhpcy5fcmVhZG9ubHkoKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuZGlzcGF0Y2hCZWZvcmVPcGVuRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2hvd1BvcG92ZXI/LigpO1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1leHBhbmRlZCcsIHRydWUpO1xuICAgIGNvbnN0IG9yaWdpbkVsZW1lbnQgPSB0aGlzLm9yaWdpbkVsZW1lbnQ7XG4gICAgaWYgKCFvcmlnaW5FbGVtZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDYW5ub3QgZmluZCB0aGUgb3JpZ2luIGVsZW1lbnQuIFBsZWFzZSBzcGVjaWZ5IGEgdmFsaWQgZWxlbWVudCBvciBjaGVjayB0aGUgdXNhZ2Ugb2YgdGhlIFwib3JpZ2luXCIgcHJvcGVydHkgZnJvbSB0aGUgZG9jdW1lbnRhdGlvbicsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLl9zZXRPdmVybGF5UG9zaXRpb24ob3JpZ2luRWxlbWVudCk7XG4gICAgdGhpcy5fc2V0TmV4dEFjdGl2ZU9wdGlvbklmQXV0b0FjdGl2ZUZpcnN0T3B0aW9uKCk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIGF1dG9jb21wbGV0ZS4gKi9cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmVkJyB8fCAhdGhpcy5kaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2luZyc7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1leHBhbmRlZCcsIGZhbHNlKTtcbiAgICB0aGlzLl9vcGVuUGFuZWxFdmVudHNDb250cm9sbGVyLmFib3J0KCk7XG4gICAgaWYgKHRoaXMub3JpZ2luRWxlbWVudCkge1xuICAgICAgdGhpcy5fb3JpZ2luUmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMub3JpZ2luRWxlbWVudCk7XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYGNsb3NlZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLW9wdGlvbnMtcGFuZWwtYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5wb3BvdmVyID0gJ21hbnVhbCc7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBpZiAoYXJpYVJvbGVPbkhvc3QpIHtcbiAgICAgIHRoaXMuaWQgfHw9IHRoaXMub3ZlcmxheUlkO1xuICAgIH1cbiAgICBjb25zdCBmb3JtRmllbGQgPSB0aGlzLmNsb3Nlc3QoJ3NiYi1mb3JtLWZpZWxkJykgPz8gdGhpcy5jbG9zZXN0KCdbZGF0YS1mb3JtLWZpZWxkXScpO1xuXG4gICAgaWYgKGZvcm1GaWVsZCkge1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IGZvcm1GaWVsZC5oYXNBdHRyaWJ1dGUoJ25lZ2F0aXZlJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29tcG9uZW50U2V0dXAoKTtcbiAgICB9XG4gICAgdGhpcy5zeW5jTmVnYXRpdmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbmVnYXRpdmUnKSkge1xuICAgICAgdGhpcy5zeW5jTmVnYXRpdmUoKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdhdXRvQWN0aXZlRmlyc3RPcHRpb24nKSAmJiB0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy5fc2V0TmV4dEFjdGl2ZU9wdGlvbklmQXV0b0FjdGl2ZUZpcnN0T3B0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIHRoaXMuX2NvbXBvbmVudFNldHVwKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9vcGVuUGFuZWxFdmVudHNDb250cm9sbGVyPy5hYm9ydCgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlcXVlc3RVcGRhdGUoXG4gICAgbmFtZT86IFByb3BlcnR5S2V5LFxuICAgIG9sZFZhbHVlPzogdW5rbm93bixcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZCB7XG4gICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucyk7XG5cbiAgICBpZiAoaXNTZXJ2ZXIgfHwgIXRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIW5hbWUgfHwgbmFtZSA9PT0gJ3RyaWdnZXInKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gICAgfSBlbHNlIGlmICgoIW5hbWUgfHwgbmFtZSA9PT0gJ29yaWdpbicpICYmIHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLl9zZXRPdmVybGF5UG9zaXRpb24oKTtcbiAgICB9XG4gIH1cblxuICAvKiogV2hlbiBhbiBvcHRpb24gaXMgc2VsZWN0ZWQsIHVwZGF0ZSB0aGUgaW5wdXQgdmFsdWUgYW5kIGNsb3NlIHRoZSBhdXRvY29tcGxldGUuICovXG4gIHByb3RlY3RlZCBvbk9wdGlvblNlbGVjdGVkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBTYmJPcHRpb25CYXNlRWxlbWVudDxUPjtcbiAgICB0aGlzLl9zZXRWYWx1ZUFuZERpc3BhdGNoRXZlbnRzKHRhcmdldCk7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgLyoqIFdoZW4gYW4gb3B0aW9uIGlzIHNlbGVjdGVkLCB1cGRhdGUgdGhlIGlucHV0IHZhbHVlIGFuZCBjbG9zZSB0aGUgYXV0b2NvbXBsZXRlLiAqL1xuICBwcm90ZWN0ZWQgb25PcHRpb25BcnJvd3NTZWxlY3RlZChhY3RpdmVPcHRpb246IFNiYk9wdGlvbkJhc2VFbGVtZW50PFQ+KTogdm9pZCB7XG4gICAgYWN0aXZlT3B0aW9uLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICB0aGlzLl9zZXRWYWx1ZUFuZERpc3BhdGNoRXZlbnRzKGFjdGl2ZU9wdGlvbik7XG4gIH1cblxuICBwcml2YXRlIF9zZXRWYWx1ZUFuZERpc3BhdGNoRXZlbnRzKHNlbGVjdGVkT3B0aW9uOiBTYmJPcHRpb25CYXNlRWxlbWVudDxUPik6IHZvaWQge1xuICAgIC8vIERlc2VsZWN0IHRoZSBwcmV2aW91cyBvcHRpb25zXG4gICAgdGhpcy5vcHRpb25zXG4gICAgICAuZmlsdGVyKChvcHRpb24pID0+IG9wdGlvbi5pZCAhPT0gc2VsZWN0ZWRPcHRpb24uaWQgJiYgb3B0aW9uLnNlbGVjdGVkKVxuICAgICAgLmZvckVhY2goKG9wdGlvbikgPT4gKG9wdGlvbi5zZWxlY3RlZCA9IGZhbHNlKSk7XG5cbiAgICBpZiAodGhpcy50cmlnZ2VyRWxlbWVudCkge1xuICAgICAgLy8gR2l2ZW4gYSB2YWx1ZSwgcmV0dXJucyB0aGUgc3RyaW5nIHRoYXQgc2hvdWxkIGJlIHNob3duIHdpdGhpbiB0aGUgaW5wdXQuXG4gICAgICBjb25zdCB0b0Rpc3BsYXkgPSB0aGlzLmRpc3BsYXlXaXRoPy4oc2VsZWN0ZWRPcHRpb24udmFsdWUgYXMgVCkgPz8gc2VsZWN0ZWRPcHRpb24udmFsdWU7XG5cbiAgICAgIC8vIFNldCB0aGUgb3B0aW9uIHZhbHVlXG4gICAgICAvLyBJbiBvcmRlciB0byBzdXBwb3J0IFJlYWN0IG9uQ2hhbmdlIGV2ZW50LCB3ZSBoYXZlIHRvIGdldCB0aGUgc2V0dGVyIGFuZCBjYWxsIGl0LlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMTYwMCNpc3N1ZWNvbW1lbnQtMzQ1ODEzMTMwXG4gICAgICBjb25zdCBzZXRWYWx1ZSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSFRNTElucHV0RWxlbWVudC5wcm90b3R5cGUsICd2YWx1ZScpIS5zZXQhO1xuICAgICAgc2V0VmFsdWUuY2FsbCh0aGlzLnRyaWdnZXJFbGVtZW50LCB0b0Rpc3BsYXkpO1xuXG4gICAgICAvLyBNYW51YWxseSB0cmlnZ2VyIHRoZSBjaGFuZ2UgZXZlbnRzXG4gICAgICB0aGlzLnRyaWdnZXJFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgdGhpcy50cmlnZ2VyRWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuXG4gICAgICAvLyBEaXNwYXRjaGluZyB0aGUgaW5wdXQgZXZlbnQgY2hhbmdlcyBfbGFzdElucHV0LCB3aGljaCBzaG91bGQgc3RheSBlbXB0eSBzaW5jZSB0aGVyZSdzIG5vIGtleWJvYXJkIGludGVyYWN0aW9uLlxuICAgICAgdGhpcy5fbGFzdFVzZXJJbnB1dCA9IG51bGw7XG5cbiAgICAgIC8vIEN1c3RvbSBpbnB1dCBldmVudCBlbWl0dGVkIHdoZW4gaW5wdXQgdmFsdWUgY2hhbmdlcyBhZnRlciBhbiBvcHRpb24gaXMgc2VsZWN0ZWRcbiAgICAgIHRoaXMudHJpZ2dlckVsZW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgbmV3IEN1c3RvbUV2ZW50PHsgb3B0aW9uOiBTYmJPcHRpb25CYXNlRWxlbWVudDxUPiB9PignaW5wdXRBdXRvY29tcGxldGUnLCB7XG4gICAgICAgICAgZGV0YWlsOiB7IG9wdGlvbjogc2VsZWN0ZWRPcHRpb24gfSxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgICAgdGhpcy50cmlnZ2VyRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5faGlnaGxpZ2h0T3B0aW9ucyh0aGlzLnRyaWdnZXJFbGVtZW50Py52YWx1ZSk7XG5cbiAgICAvKipcbiAgICAgKiBJdCdzIHBvc3NpYmxlIHRvIGZpbHRlciBvdXQgb3B0aW9ucyB3aXRoIGFuIG9wZW5lZCBwYW5lbCBvbiBpbnB1dCBjaGFuZ2UuXG4gICAgICogSW4gdGhpcyBjYXNlLCB0aGUgcGFuZWwncyBwb3NpdGlvbiBtdXN0IGJlIHJlY2FsY3VsYXRlZCBjb25zaWRlcmluZyB0aGUgbmV3IG9wdGlvbidzIGxpc3QuXG4gICAgICovXG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLl9zZXRPdmVybGF5UG9zaXRpb24oKTtcbiAgICAgIHRoaXMuX3NldE5leHRBY3RpdmVPcHRpb25JZkF1dG9BY3RpdmVGaXJzdE9wdGlvbigpO1xuXG4gICAgICAvLyBJZiB0aGUgYXV0b2NvbXBsZXRlIGlzIG9wZW4gYW5kIHRoZSBvcHRpb24gY291bnQgZ2V0cyB0byB6ZXJvLCB3ZSBjbG9zZSB0aGUgYXV0b2NvbXBsZXRlLlxuICAgICAgaWYgKHRoaXMuX29wdGlvbnNDb3VudCA+IDAgJiYgdGhpcy5vcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIC8vIElmIHRoZSAnaW5wdXQnIGlzIGZvY3VzZWQgYW5kIHRoZSBjb3VudCBvZiBvcHRpb25zIGNoYW5nZXMgZnJvbSAwIHRvID4gMCxcbiAgICAgIC8vIHRoZSBhdXRvY29tcGxldGUgc2hvdWxkIG9wZW4gYXV0b21hdGljYWxseS5cbiAgICAgIGRvY3VtZW50Py5hY3RpdmVFbGVtZW50ID09PSB0aGlzLnRyaWdnZXJFbGVtZW50ICYmXG4gICAgICB0aGlzLl9vcHRpb25zQ291bnQgPT09IDAgJiZcbiAgICAgIHRoaXMub3B0aW9ucy5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICB0aGlzLm9wZW4oKTtcbiAgICB9XG5cbiAgICB0aGlzLl9vcHRpb25zQ291bnQgPSB0aGlzLm9wdGlvbnMubGVuZ3RoO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0TmV4dEFjdGl2ZU9wdGlvbklmQXV0b0FjdGl2ZUZpcnN0T3B0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmF1dG9BY3RpdmVGaXJzdE9wdGlvbikge1xuICAgICAgdGhpcy5yZXNldEFjdGl2ZUVsZW1lbnQoKTtcbiAgICAgIHRoaXMuc2V0TmV4dEFjdGl2ZU9wdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBUaGUgYXV0b2NvbXBsZXRlIHNob3VsZCBpbmhlcml0ICdyZWFkb25seScgc3RhdGUgZnJvbSB0aGUgdHJpZ2dlci4gKi9cbiAgcHJpdmF0ZSBfcmVhZG9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHJpZ2dlckVsZW1lbnQ/Lmhhc0F0dHJpYnV0ZSgncmVhZG9ubHknKSA/PyBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbXBvbmVudFNldHVwKCk6IHZvaWQge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKFxuICAgICAgJ2RhdGEtb3B0aW9uLXBhbmVsLW9yaWdpbi1ib3JkZXJsZXNzJyxcbiAgICAgICEhdGhpcy5jbG9zZXN0Py4oJ3NiYi1mb3JtLWZpZWxkJyk/Lmhhc0F0dHJpYnV0ZSgnYm9yZGVybGVzcycpLFxuICAgICk7XG5cbiAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gIH1cblxuICBwcml2YXRlIF9jb25maWd1cmVUcmlnZ2VyKCk6IHZvaWQge1xuICAgIGNvbnN0IHRyaWdnZXJFbGVtZW50ID0gKHRoaXMudHJpZ2dlciA/P1xuICAgICAgdGhpcy5jbG9zZXN0Py4oJ3NiYi1mb3JtLWZpZWxkJyk/LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykpIGFzIEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsO1xuICAgIGlmICh0cmlnZ2VyRWxlbWVudCA9PT0gdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHJlbW92ZUFyaWFDb21ib0JveEF0dHJpYnV0ZXModGhpcy50cmlnZ2VyRWxlbWVudCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSB0cmlnZ2VyRWxlbWVudDtcblxuICAgIGlmICghdGhpcy50cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEFzIHRoZSB0cmlnZ2VyIGNhbiBiZSB0aGUgZmFsbGJhY2sgb2YgdGhlIG9yaWdpbiwgd2UgZXZlbnR1YWxseSBoYXZlIHRvIHVwZGF0ZSB0aGUgcG9zaXRpb24uXG4gICAgY29uc3Qgb3JpZ2luRWxlbWVudCA9IHRoaXMub3JpZ2luRWxlbWVudDtcbiAgICBpZiAodGhpcy50cmlnZ2VyRWxlbWVudCA9PT0gb3JpZ2luRWxlbWVudCAmJiB0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy5fc2V0T3ZlcmxheVBvc2l0aW9uKG9yaWdpbkVsZW1lbnQpO1xuICAgIH1cblxuICAgIHRoaXMuX3RyaWdnZXJBdHRyaWJ1dGVPYnNlcnZlcj8ub2JzZXJ2ZSh0aGlzLl90cmlnZ2VyRWxlbWVudCEsIHtcbiAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsnZGlzYWJsZWQnLCAncmVhZG9ubHknXSxcbiAgICB9KTtcblxuICAgIHRoaXMuc2V0VHJpZ2dlckF0dHJpYnV0ZXModGhpcy50cmlnZ2VyRWxlbWVudCk7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAgIC8vIE9wZW4gdGhlIG92ZXJsYXkgb24gZm9jdXMsIGNsaWNrLCBpbnB1dCBhbmQgYEFycm93RG93bmAgZXZlbnRcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgKCkgPT4gdGhpcy5vcGVuKCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgdGhpcy50cmlnZ2VyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbigpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdpbnB1dCcsXG4gICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgICAgICB0aGlzLl9oaWdobGlnaHRPcHRpb25zKHZhbHVlKTtcbiAgICAgICAgdGhpcy5fbGFzdFVzZXJJbnB1dCA9IHZhbHVlO1xuICAgICAgfSxcbiAgICAgIHsgc2lnbmFsOiB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyLnNpZ25hbCB9LFxuICAgICk7XG4gICAgdGhpcy50cmlnZ2VyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2tleWRvd24nLFxuICAgICAgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLl9jbG9zZWRQYW5lbEtleWJvYXJkSW50ZXJhY3Rpb24oZXZlbnQpLFxuICAgICAge1xuICAgICAgICBzaWduYWw6IHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgICAvLyBXZSBuZWVkIGtleSBldmVudCB0byBydW4gYmVmb3JlIGFueSBvdGhlciBzdWJzY3JpcHRpb24gdG8gZ3VhcmFudGVlIGEgY29ycmVjdFxuICAgICAgICAvLyBpbnRlcmFjdGlvbiB3aXRoIG90aGVyIGNvbXBvbmVudHMgKG5lY2Vzc2FyeSBmb3IgdGhlICdzYmItY2hpcC1ncm91cCcgdXNlIGNhc2UpLlxuICAgICAgICBjYXB0dXJlOiB0cnVlLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgLy8gU2V0IG92ZXJsYXkgcG9zaXRpb24sIHdpZHRoIGFuZCBtYXggaGVpZ2h0XG4gIHByaXZhdGUgX3NldE92ZXJsYXlQb3NpdGlvbihvcmlnaW5FbGVtZW50ID0gdGhpcy5vcmlnaW5FbGVtZW50KTogdm9pZCB7XG4gICAgLy8gQW4gdW5kZWZpbmVkIG9yaWdpbkVsZW1lbnQgc2hvdWxkIG9ubHkgb2NjdXIgaW4gdGhlIHVubGlrZWx5IGV2ZW50XG4gICAgLy8gdGhhdCB0aGUgYXV0b2NvbXBsZXRlIGxvc2VzIGl0cyBvcmlnaW5FbGVtZW50IGFuZCB0cmlnZ2VyRWxlbWVudCBkdXJpbmcgYW4gb3BlbiBzdGF0ZS5cbiAgICBpZiAoIW9yaWdpbkVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc2V0T3ZlcmxheVBvc2l0aW9uKFxuICAgICAgdGhpcy5fb3ZlcmxheSxcbiAgICAgIG9yaWdpbkVsZW1lbnQsXG4gICAgICB0aGlzLl9vcHRpb25Db250YWluZXIsXG4gICAgICB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJy5zYmItYXV0b2NvbXBsZXRlX19jb250YWluZXInKSEsXG4gICAgICB0aGlzLFxuICAgICAgdGhpcy5wb3NpdGlvbixcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uIG9wZW4vY2xvc2UgYW5pbWF0aW9uIGVuZC5cbiAgICogSW4gcmFyZSBjYXNlcyBpdCBjYW4gYmUgdGhhdCB0aGUgYW5pbWF0aW9uRW5kIGV2ZW50IGlzIHRyaWdnZXJlZCB0d2ljZS5cbiAgICogVG8gYXZvaWQgZW50ZXJpbmcgYSBjb3JydXB0IHN0YXRlLCBleGl0IHdoZW4gc3RhdGUgaXMgbm90IGV4cGVjdGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBfb25BbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJyAmJiB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgJiYgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5fYXR0YWNoT3BlblBhbmVsRXZlbnRzKCk7XG4gICAgaWYgKHRoaXMub3JpZ2luRWxlbWVudCkge1xuICAgICAgdGhpcy5fb3JpZ2luUmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLm9yaWdpbkVsZW1lbnQpO1xuICAgIH1cbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAndHJ1ZScpO1xuICAgIHRoaXMuX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmNvbm5lY3QoKTtcbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmhpZGVQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKTtcbiAgICAvLyBDbGVhcnMgdGhlIGlucHV0IGlmIHRoZXJlJ3MgdXNlciBpbnRlcmFjdGlvbiB3aXRob3V0IHNlbGVjdGlvbiAoc2VsZWN0aW9uIGNsZWFycyBgX2xhc3RVc2VySW5wdXRgKS5cbiAgICBpZiAodGhpcy5yZXF1aXJlU2VsZWN0aW9uICYmIHRoaXMudHJpZ2dlckVsZW1lbnQgJiYgdGhpcy5fbGFzdFVzZXJJbnB1dCkge1xuICAgICAgY29uc3Qgc2V0VmFsdWUgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEhUTUxJbnB1dEVsZW1lbnQucHJvdG90eXBlLCAndmFsdWUnKSEuc2V0ITtcbiAgICAgIHNldFZhbHVlLmNhbGwodGhpcy50cmlnZ2VyRWxlbWVudCwgJycpO1xuICAgICAgdGhpcy5faGlnaGxpZ2h0T3B0aW9ucygnJyk7XG4gICAgICB0aGlzLnRyaWdnZXJFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgdGhpcy50cmlnZ2VyRWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgIH1cbiAgICB0aGlzLnJlc2V0QWN0aXZlRWxlbWVudCgpO1xuICAgIHRoaXMuX29wdGlvbkNvbnRhaW5lci5zY3JvbGxUb3AgPSAwO1xuICAgIHRoaXMuX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLmRpc3BhdGNoQ2xvc2VFdmVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXR0YWNoT3BlblBhbmVsRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuX29wZW5QYW5lbEV2ZW50c0NvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgICAvLyBSZWNhbGN1bGF0ZSB0aGUgb3ZlcmxheSBwb3NpdGlvbiBvbiBzY3JvbGwgYW5kIHdpbmRvdyByZXNpemVcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCAoKSA9PiB0aGlzLl9zZXRPdmVybGF5UG9zaXRpb24oKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgICAvLyBXaXRob3V0IGNhcHR1cmUsIG90aGVyIHNjcm9sbCBjb250ZXh0cyB3b3VsZCBub3QgYnViYmxlIHRvIHRoaXMgZXZlbnQgbGlzdGVuZXIuXG4gICAgICAvLyBDYXB0dXJlIGFsbG93cyB1cyB0byByZWFjdCB0byBhbGwgc2Nyb2xsIGNvbnRleHRzIGluIHRoaXMgRE9NLlxuICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCkgPT4gdGhpcy5fc2V0T3ZlcmxheVBvc2l0aW9uKCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBzaWduYWw6IHRoaXMuX29wZW5QYW5lbEV2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuXG4gICAgLy8gQ2xvc2UgYXV0b2NvbXBsZXRlIG9uIGJhY2tkcm9wIGNsaWNrXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgKGV2KSA9PiB0aGlzLl9wb2ludGVyRG93bkxpc3RlbmVyKGV2KSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuUGFuZWxFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgKGV2KSA9PiB0aGlzLl9jbG9zZU9uQmFja2Ryb3BDbGljayhldiksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnybVkaXNhYmxlZGNoYW5nZScsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZU9wdGlvbj8uZGlzYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLnJlc2V0QWN0aXZlRWxlbWVudCgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NldE5leHRBY3RpdmVPcHRpb25JZkF1dG9BY3RpdmVGaXJzdE9wdGlvbigpO1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuUGFuZWxFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIC8vIEtleWJvYXJkIGludGVyYWN0aW9uc1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAna2V5ZG93bicsXG4gICAgICAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHRoaXMub3BlbmVkUGFuZWxLZXlib2FyZEludGVyYWN0aW9uKGV2ZW50KSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuUGFuZWxFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgICAgLy8gV2UgbmVlZCBrZXkgZXZlbnQgdG8gcnVuIGJlZm9yZSBhbnkgb3RoZXIgc3Vic2NyaXB0aW9uIHRvIGd1YXJhbnRlZSBhIGNvcnJlY3RcbiAgICAgICAgLy8gaW50ZXJhY3Rpb24gd2l0aCBvdGhlciBjb21wb25lbnRzIChuZWNlc3NhcnkgZm9yIHRoZSAnc2JiLWNoaXAtZ3JvdXAnIHVzZSBjYXNlKS5cbiAgICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBwb2ludGVyZG93biBldmVudCB0YXJnZXQgaXMgdHJpZ2dlcmVkIG9uIHRoZSBtZW51LlxuICBwcml2YXRlIF9wb2ludGVyRG93bkxpc3RlbmVyID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICB0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbk1lbnUgPSBpc0V2ZW50T25FbGVtZW50KHRoaXMuX292ZXJsYXksIGV2ZW50KTtcbiAgfTtcblxuICAvLyBJZiB0aGUgY2xpY2sgaXMgb3V0c2lkZSB0aGUgYXV0b2NvbXBsZXRlLCBjbG9zZXMgdGhlIHBhbmVsLlxuICBwcml2YXRlIF9jbG9zZU9uQmFja2Ryb3BDbGljayA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uTWVudSAmJlxuICAgICAgIWlzRXZlbnRPbkVsZW1lbnQodGhpcy5fb3ZlcmxheSwgZXZlbnQpICYmXG4gICAgICAhaXNFdmVudE9uRWxlbWVudCh0aGlzLm9yaWdpbkVsZW1lbnQsIGV2ZW50KVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9jbG9zZWRQYW5lbEtleWJvYXJkSW50ZXJhY3Rpb24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ2Nsb3NlZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqIEhpZ2hsaWdodCB0aGUgc2VhcmNoZWQgdGV4dCBvbiB0aGUgb3B0aW9ucy4gKi9cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0T3B0aW9ucyhzZWFyY2hUZXJtPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHNlYXJjaFRlcm0gPT09IG51bGwgfHwgc2VhcmNoVGVybSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKChvcHRpb24pID0+IG9wdGlvbi5oaWdobGlnaHQoc2VhcmNoVGVybSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWF1dG9jb21wbGV0ZV9fZ2FwLWZpeFwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1hdXRvY29tcGxldGVfX2NvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWF1dG9jb21wbGV0ZV9fZ2FwLWZpeFwiPiR7b3ZlcmxheUdhcEZpeENvcm5lcnMoKX08L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIEBhbmltYXRpb25lbmQ9JHt0aGlzLl9vbkFuaW1hdGlvbkVuZH1cbiAgICAgICAgICBjbGFzcz1cInNiYi1hdXRvY29tcGxldGVfX3BhbmVsXCJcbiAgICAgICAgICA/ZGF0YS1vcGVuPSR7dGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcgfHwgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnfVxuICAgICAgICAgICR7cmVmKChvdmVybGF5UmVmPzogRWxlbWVudCkgPT4gKHRoaXMuX292ZXJsYXkgPSBvdmVybGF5UmVmIGFzIEhUTUxFbGVtZW50KSl9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWF1dG9jb21wbGV0ZV9fd3JhcHBlclwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInNiYi1hdXRvY29tcGxldGVfX29wdGlvbnNcIlxuICAgICAgICAgICAgICByb2xlPSR7IWFyaWFSb2xlT25Ib3N0ID8gdGhpcy5wYW5lbFJvbGUgOiBub3RoaW5nfVxuICAgICAgICAgICAgICBpZD0keyFhcmlhUm9sZU9uSG9zdCA/IHRoaXMub3ZlcmxheUlkIDogbm90aGluZ31cbiAgICAgICAgICAgICAgJHtyZWYoKGNvbnRhaW5lclJlZikgPT4gKHRoaXMuX29wdGlvbkNvbnRhaW5lciA9IGNvbnRhaW5lclJlZiBhcyBIVE1MRWxlbWVudCkpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX2hhbmRsZVNsb3RjaGFuZ2V9Pjwvc2xvdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRFdmVudE1hcCB7XG4gICAgaW5wdXRBdXRvY29tcGxldGU6IEN1c3RvbUV2ZW50PHsgb3B0aW9uOiBTYmJPcHRpb25CYXNlRWxlbWVudDxhbnk+IH0+O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlDQSxNQUFNLGlCQUFpQjtJQUVELDhCQUEwQixNQUFBOztBQUFx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
831
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWJhc2UtZWxlbWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtYmFzZS1lbGVtZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24sXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5cbmltcG9ydCB7IFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7XG4gIFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIsXG4gIFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLFxufSBmcm9tICcuLi9jb3JlL2NvbnRyb2xsZXJzLnRzJztcbmltcG9ydCB7IGZvcmNlVHlwZSwgaWRSZWZlcmVuY2UgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHsgaXNMZWFuLCBpc1NhZmFyaSwgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24gfSBmcm9tICcuLi9jb3JlL2RvbS50cyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiwgU2JiTmVnYXRpdmVNaXhpbiB9IGZyb20gJy4uL2NvcmUvbWl4aW5zLnRzJztcbmltcG9ydCB7XG4gIGlzRXZlbnRPbkVsZW1lbnQsXG4gIG92ZXJsYXlHYXBGaXhDb3JuZXJzLFxuICByZW1vdmVBcmlhQ29tYm9Cb3hBdHRyaWJ1dGVzLFxuICBzZXRPdmVybGF5UG9zaXRpb24sXG59IGZyb20gJy4uL2NvcmUvb3ZlcmxheS50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkZvcm1GaWVsZEVsZW1lbnQgfSBmcm9tICcuLi9mb3JtLWZpZWxkL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcHRpb25CYXNlRWxlbWVudCB9IGZyb20gJy4uL29wdGlvbi50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2F1dG9jb21wbGV0ZS1iYXNlLWVsZW1lbnQuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBPbiBTYWZhcmksIHRoZSBhcmlhIHJvbGUgJ2xpc3Rib3gnIG11c3QgYmUgb24gdGhlIGhvc3QgZWxlbWVudCwgb3IgZWxzZSBWb2ljZU92ZXIgd29uJ3Qgd29yayBhdCBhbGwuXG4gKiBPbiB0aGUgb3RoZXIgaGFuZCwgSkFXUyBhbmQgTlZEQSBuZWVkIHRoZSByb2xlIHRvIGJlIFwiY2xvc2VyXCIgdG8gdGhlIG9wdGlvbnMsIG9yIGVsc2Ugb3B0Z3JvdXBzIHdvbid0IHdvcmsuXG4gKi9cbmNvbnN0IGFyaWFSb2xlT25Ib3N0ID0gaXNTYWZhcmk7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oXG4gIFNiYkh5ZHJhdGlvbk1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCBzdHlsZV07XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHdoZXJlIHRoZSBhdXRvY29tcGxldGUgd2lsbCBhdHRhY2guXG4gICAqIElmIG5vdCBzZXQsIGFzIGZhbGxiYWNrIHRoZXJlIGFyZSB0d28gZWxlbWVudHMgd2hpY2ggY2FuIGFjdCBhcyBvcmlnaW4gd2l0aCBmb2xsb3dpbmcgcHJpb3JpdHkgb3JkZXI6XG4gICAqIDEuIGBzYmItZm9ybS1maWVsZGAgaWYgaXQgaXMgYW4gYW5jZXN0b3IuXG4gICAqIDIuIHRyaWdnZXIgZWxlbWVudCBpZiBzZXQuXG4gICAqXG4gICAqIEZvciBhdHRyaWJ1dGUgdXNhZ2UsIHByb3ZpZGUgYW4gaWQgcmVmZXJlbmNlLlxuICAgKi9cbiAgQGlkUmVmZXJlbmNlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIG9yaWdpbjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogVGhlIGlucHV0IGVsZW1lbnQgdGhhdCB3aWxsIHRyaWdnZXIgdGhlIGF1dG9jb21wbGV0ZSBvcGVuaW5nLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgYXV0b2NvbXBsZXRlIHdpbGwgb3BlbiBvbiBmb2N1cywgY2xpY2ssIGlucHV0IG9yIGBBcnJvd0Rvd25gIGtleXByZXNzIG9mIHRoZSAndHJpZ2dlcicgZWxlbWVudC5cbiAgICogSWYgbm90IHNldCwgd2lsbCBzZWFyY2ggZm9yIHRoZSBmaXJzdCAnaW5wdXQnIGNoaWxkIG9mIGEgJ3NiYi1mb3JtLWZpZWxkJyBhbmNlc3Rvci5cbiAgICpcbiAgICogRm9yIGF0dHJpYnV0ZSB1c2FnZSwgcHJvdmlkZSBhbiBpZCByZWZlcmVuY2UuXG4gICAqL1xuICBAaWRSZWZlcmVuY2UoKVxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgdHJpZ2dlcjogSFRNTElucHV0RWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBpY29uIHNwYWNlIGlzIHByZXNlcnZlZCB3aGVuIG5vIGljb24gaXMgc2V0LiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncHJlc2VydmUtaWNvbi1zcGFjZScsIHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIHByZXNlcnZlSWNvblNwYWNlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGZpcnN0IG9wdGlvbiBpcyBhdXRvbWF0aWNhbGx5IGFjdGl2YXRlZCB3aGVuIHRoZSBhdXRvY29tcGxldGUgaXMgb3BlbmVkLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYXV0by1hY3RpdmUtZmlyc3Qtb3B0aW9uJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYXV0b0FjdGl2ZUZpcnN0T3B0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIEZ1bmN0aW9uIHRoYXQgbWFwcyBhbiBvcHRpb24ncyBjb250cm9sIHZhbHVlIHRvIGl0cyBkaXNwbGF5IHZhbHVlIGluIHRoZSB0cmlnZ2VyLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBkaXNwbGF5V2l0aDogKCh2YWx1ZTogVCkgPT4gc3RyaW5nKSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBtIG9yIHMuXG4gICAqIEBkZWZhdWx0ICdtJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdtJyB8ICdzJyA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBhY3RpdmUgb3B0aW9uIHNob3VsZCBiZSBzZWxlY3RlZCBhcyB0aGUgdXNlciBpcyBuYXZpZ2F0aW5nLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYXV0by1zZWxlY3QtYWN0aXZlLW9wdGlvbicsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGF1dG9TZWxlY3RBY3RpdmVPcHRpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdXNlciBpcyByZXF1aXJlZCB0byBtYWtlIGEgc2VsZWN0aW9uIHdoZW4gdGhleSdyZSBpbnRlcmFjdGluZyB3aXRoIHRoZVxuICAgKiBhdXRvY29tcGxldGUuIElmIHRoZSB1c2VyIG1vdmVzIGF3YXkgZnJvbSB0aGUgYXV0b2NvbXBsZXRlIHdpdGhvdXQgc2VsZWN0aW5nIGFuIG9wdGlvbiBmcm9tXG4gICAqIHRoZSBsaXN0LCB0aGUgdmFsdWUgd2lsbCBiZSByZXNldC4gSWYgdGhlIHVzZXIgb3BlbnMgdGhlIHBhbmVsIGFuZCBjbG9zZXMgaXQgd2l0aG91dFxuICAgKiBpbnRlcmFjdGluZyBvciBzZWxlY3RpbmcgYSB2YWx1ZSwgdGhlIGluaXRpYWwgdmFsdWUgd2lsbCBiZSBrZXB0LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3JlcXVpcmUtc2VsZWN0aW9uJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgcmVxdWlyZVNlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgcG9zaXRpb24gb2YgdGhlIGF1dG9jb21wbGV0ZSBwYW5lbCByZWxhdGl2ZSB0byB0aGUgdHJpZ2dlci5cbiAgICogQGRlZmF1bHQgJ2F1dG8nXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgcG9zaXRpb246ICdhdXRvJyB8ICdhYm92ZScgfCAnYmVsb3cnID0gJ2F1dG8nO1xuXG4gIC8qKiBSZXR1cm5zIHRoZSBlbGVtZW50IHdoZXJlIGF1dG9jb21wbGV0ZSBvdmVybGF5IGlzIGF0dGFjaGVkIHRvLiAqL1xuICBwdWJsaWMgZ2V0IG9yaWdpbkVsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5vcmlnaW4gPz9cbiAgICAgIHRoaXMuY2xvc2VzdD8uKCdzYmItZm9ybS1maWVsZCcpPy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yPy4oJyNvdmVybGF5LWFuY2hvcicpID8/XG4gICAgICB0aGlzLnRyaWdnZXIgPz9cbiAgICAgIG51bGxcbiAgICApO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIHRyaWdnZXIgZWxlbWVudC4gKi9cbiAgcHVibGljIGdldCB0cmlnZ2VyRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3RyaWdnZXJFbGVtZW50ID8/IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBfdHJpZ2dlckVsZW1lbnQ/OiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbDtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb3ZlcmxheUlkOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBwYW5lbFJvbGU6IHN0cmluZztcbiAgcHJvdGVjdGVkIGFjdGl2ZU9wdGlvbjogU2JiT3B0aW9uQmFzZUVsZW1lbnQ8VD4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfb3JpZ2luUmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcpIHtcbiAgICAgICAgdGhpcy5fc2V0T3ZlcmxheVBvc2l0aW9uKCk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG4gIC8qKiBMaXN0ZW5zIHRvIHRoZSBjaGFuZ2VzIG9uIHRoZSBgZGlzYWJsZWRgIG9yIGByZWFkb25seWAgYXR0cmlidXRlIG9mIHRoZSB0cmlnZ2VyLiAqL1xuICBwcml2YXRlIF90cmlnZ2VyQXR0cmlidXRlT2JzZXJ2ZXIgPSAhaXNTZXJ2ZXJcbiAgICA/IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnM6IE11dGF0aW9uUmVjb3JkW10pOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBtdXRhdGlvbnNbMF0udGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGlmIChpbnB1dC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykgfHwgaW5wdXQuaGFzQXR0cmlidXRlKCdyZWFkb25seScpKSB7XG4gICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIDogbnVsbDtcbiAgcHJpdmF0ZSBfb3ZlcmxheSE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9vcHRpb25Db250YWluZXIhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckFib3J0Q29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfaXNQb2ludGVyRG93bkV2ZW50T25NZW51OiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyID0gbmV3IFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9vcHRpb25zQ291bnQgPSAwO1xuXG4gIC8qKiBUcmFja3MgaW5wdXQgZnJvbSBrZXlib2FyZC4gKi9cbiAgcHJpdmF0ZSBfbGFzdFVzZXJJbnB1dDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBvcHRpb25zKCk6IFNiYk9wdGlvbkJhc2VFbGVtZW50PFQ+W107XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFkZENvbnRyb2xsZXIoXG4gICAgICBuZXcgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcihcbiAgICAgICAgdGhpcyxcbiAgICAgICAgKCkgPT4gdGhpcy5jbG9zZXN0PFNiYkZvcm1GaWVsZEVsZW1lbnQ+KCdzYmItZm9ybS1maWVsZCcpLFxuICAgICAgICB7XG4gICAgICAgICAgbmVnYXRpdmU6IChlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm5lZ2F0aXZlID0gZS5uZWdhdGl2ZTtcbiAgICAgICAgICAgIHRoaXMuc3luY05lZ2F0aXZlKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBib3JkZXJsZXNzOiAoZSkgPT4gdGhpcy50b2dnbGVTdGF0ZSgnb3B0aW9uLXBhbmVsLW9yaWdpbi1ib3JkZXJsZXNzJywgZS5ib3JkZXJsZXNzKSxcbiAgICAgICAgfSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzeW5jTmVnYXRpdmUoKTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNldFRyaWdnZXJBdHRyaWJ1dGVzKGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb3BlbmVkUGFuZWxLZXlib2FyZEludGVyYWN0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNlbGVjdEJ5S2V5Ym9hcmQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0TmV4dEFjdGl2ZU9wdGlvbihldmVudD86IEtleWJvYXJkRXZlbnQpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVzZXRBY3RpdmVFbGVtZW50KCk6IHZvaWQ7XG5cbiAgLyoqIE9wZW5zIHRoZSBhdXRvY29tcGxldGUuICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuc3RhdGUgIT09ICdjbG9zZWQnIHx8XG4gICAgICAhdGhpcy5fb3ZlcmxheSB8fFxuICAgICAgdGhpcy5vcHRpb25zLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgdGhpcy5fcmVhZG9ubHkoKSB8fFxuICAgICAgIXRoaXMuZGlzcGF0Y2hCZWZvcmVPcGVuRXZlbnQoKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2hvd1BvcG92ZXI/LigpO1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1leHBhbmRlZCcsIHRydWUpO1xuICAgIGNvbnN0IG9yaWdpbkVsZW1lbnQgPSB0aGlzLm9yaWdpbkVsZW1lbnQ7XG4gICAgaWYgKCFvcmlnaW5FbGVtZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDYW5ub3QgZmluZCB0aGUgb3JpZ2luIGVsZW1lbnQuIFBsZWFzZSBzcGVjaWZ5IGEgdmFsaWQgZWxlbWVudCBvciBjaGVjayB0aGUgdXNhZ2Ugb2YgdGhlIFwib3JpZ2luXCIgcHJvcGVydHkgZnJvbSB0aGUgZG9jdW1lbnRhdGlvbicsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLl9zZXRPdmVybGF5UG9zaXRpb24ob3JpZ2luRWxlbWVudCk7XG4gICAgdGhpcy5fc2V0TmV4dEFjdGl2ZU9wdGlvbklmQXV0b0FjdGl2ZUZpcnN0T3B0aW9uKCk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIGF1dG9jb21wbGV0ZS4gKi9cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmVkJyB8fCAhdGhpcy5kaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2luZyc7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1leHBhbmRlZCcsIGZhbHNlKTtcbiAgICB0aGlzLl9vcGVuUGFuZWxFdmVudHNDb250cm9sbGVyLmFib3J0KCk7XG4gICAgaWYgKHRoaXMub3JpZ2luRWxlbWVudCkge1xuICAgICAgdGhpcy5fb3JpZ2luUmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMub3JpZ2luRWxlbWVudCk7XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYGNsb3NlZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLW9wdGlvbnMtcGFuZWwtYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5wb3BvdmVyID0gJ21hbnVhbCc7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBpZiAoYXJpYVJvbGVPbkhvc3QpIHtcbiAgICAgIHRoaXMuaWQgfHw9IHRoaXMub3ZlcmxheUlkO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX2NvbXBvbmVudFNldHVwKCk7XG4gICAgfVxuICAgIHRoaXMuc3luY05lZ2F0aXZlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJykpIHtcbiAgICAgIHRoaXMuc3luY05lZ2F0aXZlKCk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnYXV0b0FjdGl2ZUZpcnN0T3B0aW9uJykgJiYgdGhpcy5pc09wZW4pIHtcbiAgICAgIHRoaXMuX3NldE5leHRBY3RpdmVPcHRpb25JZkF1dG9BY3RpdmVGaXJzdE9wdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICB0aGlzLl9jb21wb25lbnRTZXR1cCgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuXG4gICAgaWYgKGlzU2VydmVyIHx8ICF0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFuYW1lIHx8IG5hbWUgPT09ICd0cmlnZ2VyJykge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH0gZWxzZSBpZiAoKCFuYW1lIHx8IG5hbWUgPT09ICdvcmlnaW4nKSAmJiB0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy5fc2V0T3ZlcmxheVBvc2l0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFdoZW4gYW4gb3B0aW9uIGlzIHNlbGVjdGVkLCB1cGRhdGUgdGhlIGlucHV0IHZhbHVlIGFuZCBjbG9zZSB0aGUgYXV0b2NvbXBsZXRlLiAqL1xuICBwcm90ZWN0ZWQgb25PcHRpb25TZWxlY3RlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgU2JiT3B0aW9uQmFzZUVsZW1lbnQ8VD47XG4gICAgdGhpcy5fc2V0VmFsdWVBbmREaXNwYXRjaEV2ZW50cyh0YXJnZXQpO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIC8qKiBXaGVuIGFuIG9wdGlvbiBpcyBzZWxlY3RlZCwgdXBkYXRlIHRoZSBpbnB1dCB2YWx1ZSBhbmQgY2xvc2UgdGhlIGF1dG9jb21wbGV0ZS4gKi9cbiAgcHJvdGVjdGVkIG9uT3B0aW9uQXJyb3dzU2VsZWN0ZWQoYWN0aXZlT3B0aW9uOiBTYmJPcHRpb25CYXNlRWxlbWVudDxUPik6IHZvaWQge1xuICAgIGFjdGl2ZU9wdGlvbi5zZWxlY3RlZCA9IHRydWU7XG4gICAgdGhpcy5fc2V0VmFsdWVBbmREaXNwYXRjaEV2ZW50cyhhY3RpdmVPcHRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0VmFsdWVBbmREaXNwYXRjaEV2ZW50cyhzZWxlY3RlZE9wdGlvbjogU2JiT3B0aW9uQmFzZUVsZW1lbnQ8VD4pOiB2b2lkIHtcbiAgICAvLyBEZXNlbGVjdCB0aGUgcHJldmlvdXMgb3B0aW9uc1xuICAgIHRoaXMub3B0aW9uc1xuICAgICAgLmZpbHRlcigob3B0aW9uKSA9PiBvcHRpb24uaWQgIT09IHNlbGVjdGVkT3B0aW9uLmlkICYmIG9wdGlvbi5zZWxlY3RlZClcbiAgICAgIC5mb3JFYWNoKChvcHRpb24pID0+IChvcHRpb24uc2VsZWN0ZWQgPSBmYWxzZSkpO1xuXG4gICAgaWYgKHRoaXMudHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIC8vIEdpdmVuIGEgdmFsdWUsIHJldHVybnMgdGhlIHN0cmluZyB0aGF0IHNob3VsZCBiZSBzaG93biB3aXRoaW4gdGhlIGlucHV0LlxuICAgICAgY29uc3QgdG9EaXNwbGF5ID0gdGhpcy5kaXNwbGF5V2l0aD8uKHNlbGVjdGVkT3B0aW9uLnZhbHVlIGFzIFQpID8/IHNlbGVjdGVkT3B0aW9uLnZhbHVlO1xuXG4gICAgICAvLyBTZXQgdGhlIG9wdGlvbiB2YWx1ZVxuICAgICAgLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCBSZWFjdCBvbkNoYW5nZSBldmVudCwgd2UgaGF2ZSB0byBnZXQgdGhlIHNldHRlciBhbmQgY2FsbCBpdC5cbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTE2MDAjaXNzdWVjb21tZW50LTM0NTgxMzEzMFxuICAgICAgY29uc3Qgc2V0VmFsdWUgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEhUTUxJbnB1dEVsZW1lbnQucHJvdG90eXBlLCAndmFsdWUnKSEuc2V0ITtcbiAgICAgIHNldFZhbHVlLmNhbGwodGhpcy50cmlnZ2VyRWxlbWVudCwgdG9EaXNwbGF5KTtcblxuICAgICAgLy8gTWFudWFsbHkgdHJpZ2dlciB0aGUgY2hhbmdlIGV2ZW50c1xuICAgICAgdGhpcy50cmlnZ2VyRWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICAgIHRoaXMudHJpZ2dlckVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgSW5wdXRFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pKTtcblxuICAgICAgLy8gRGlzcGF0Y2hpbmcgdGhlIGlucHV0IGV2ZW50IGNoYW5nZXMgX2xhc3RJbnB1dCwgd2hpY2ggc2hvdWxkIHN0YXkgZW1wdHkgc2luY2UgdGhlcmUncyBubyBrZXlib2FyZCBpbnRlcmFjdGlvbi5cbiAgICAgIHRoaXMuX2xhc3RVc2VySW5wdXQgPSBudWxsO1xuXG4gICAgICAvLyBDdXN0b20gaW5wdXQgZXZlbnQgZW1pdHRlZCB3aGVuIGlucHV0IHZhbHVlIGNoYW5nZXMgYWZ0ZXIgYW4gb3B0aW9uIGlzIHNlbGVjdGVkXG4gICAgICB0aGlzLnRyaWdnZXJFbGVtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgIG5ldyBDdXN0b21FdmVudDx7IG9wdGlvbjogU2JiT3B0aW9uQmFzZUVsZW1lbnQ8VD4gfT4oJ2lucHV0QXV0b2NvbXBsZXRlJywge1xuICAgICAgICAgIGRldGFpbDogeyBvcHRpb246IHNlbGVjdGVkT3B0aW9uIH0sXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICAgIHRoaXMudHJpZ2dlckVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuX2hpZ2hsaWdodE9wdGlvbnModGhpcy50cmlnZ2VyRWxlbWVudD8udmFsdWUpO1xuXG4gICAgLyoqXG4gICAgICogSXQncyBwb3NzaWJsZSB0byBmaWx0ZXIgb3V0IG9wdGlvbnMgd2l0aCBhbiBvcGVuZWQgcGFuZWwgb24gaW5wdXQgY2hhbmdlLlxuICAgICAqIEluIHRoaXMgY2FzZSwgdGhlIHBhbmVsJ3MgcG9zaXRpb24gbXVzdCBiZSByZWNhbGN1bGF0ZWQgY29uc2lkZXJpbmcgdGhlIG5ldyBvcHRpb24ncyBsaXN0LlxuICAgICAqL1xuICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy5fc2V0T3ZlcmxheVBvc2l0aW9uKCk7XG4gICAgICB0aGlzLl9zZXROZXh0QWN0aXZlT3B0aW9uSWZBdXRvQWN0aXZlRmlyc3RPcHRpb24oKTtcblxuICAgICAgLy8gSWYgdGhlIGF1dG9jb21wbGV0ZSBpcyBvcGVuIGFuZCB0aGUgb3B0aW9uIGNvdW50IGdldHMgdG8gemVybywgd2UgY2xvc2UgdGhlIGF1dG9jb21wbGV0ZS5cbiAgICAgIGlmICh0aGlzLl9vcHRpb25zQ291bnQgPiAwICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICAvLyBJZiB0aGUgJ2lucHV0JyBpcyBmb2N1c2VkIGFuZCB0aGUgY291bnQgb2Ygb3B0aW9ucyBjaGFuZ2VzIGZyb20gMCB0byA+IDAsXG4gICAgICAvLyB0aGUgYXV0b2NvbXBsZXRlIHNob3VsZCBvcGVuIGF1dG9tYXRpY2FsbHkuXG4gICAgICBkb2N1bWVudD8uYWN0aXZlRWxlbWVudCA9PT0gdGhpcy50cmlnZ2VyRWxlbWVudCAmJlxuICAgICAgdGhpcy5fb3B0aW9uc0NvdW50ID09PSAwICYmXG4gICAgICB0aGlzLm9wdGlvbnMubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fb3B0aW9uc0NvdW50ID0gdGhpcy5vcHRpb25zLmxlbmd0aDtcbiAgfVxuXG4gIHByaXZhdGUgX3NldE5leHRBY3RpdmVPcHRpb25JZkF1dG9BY3RpdmVGaXJzdE9wdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hdXRvQWN0aXZlRmlyc3RPcHRpb24pIHtcbiAgICAgIHRoaXMucmVzZXRBY3RpdmVFbGVtZW50KCk7XG4gICAgICB0aGlzLnNldE5leHRBY3RpdmVPcHRpb24oKTtcbiAgICB9XG4gIH1cblxuICAvKiogVGhlIGF1dG9jb21wbGV0ZSBzaG91bGQgaW5oZXJpdCAncmVhZG9ubHknIHN0YXRlIGZyb20gdGhlIHRyaWdnZXIuICovXG4gIHByaXZhdGUgX3JlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRyaWdnZXJFbGVtZW50Py5oYXNBdHRyaWJ1dGUoJ3JlYWRvbmx5JykgPz8gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIF9jb21wb25lbnRTZXR1cCgpOiB2b2lkIHtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gIH1cblxuICBwcml2YXRlIF9jb25maWd1cmVUcmlnZ2VyKCk6IHZvaWQge1xuICAgIGNvbnN0IHRyaWdnZXJFbGVtZW50ID0gKHRoaXMudHJpZ2dlciA/P1xuICAgICAgdGhpcy5jbG9zZXN0Py4oJ3NiYi1mb3JtLWZpZWxkJyk/LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykpIGFzIEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsO1xuICAgIGlmICh0cmlnZ2VyRWxlbWVudCA9PT0gdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHJlbW92ZUFyaWFDb21ib0JveEF0dHJpYnV0ZXModGhpcy50cmlnZ2VyRWxlbWVudCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSB0cmlnZ2VyRWxlbWVudDtcblxuICAgIGlmICghdGhpcy50cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEFzIHRoZSB0cmlnZ2VyIGNhbiBiZSB0aGUgZmFsbGJhY2sgb2YgdGhlIG9yaWdpbiwgd2UgZXZlbnR1YWxseSBoYXZlIHRvIHVwZGF0ZSB0aGUgcG9zaXRpb24uXG4gICAgY29uc3Qgb3JpZ2luRWxlbWVudCA9IHRoaXMub3JpZ2luRWxlbWVudDtcbiAgICBpZiAodGhpcy50cmlnZ2VyRWxlbWVudCA9PT0gb3JpZ2luRWxlbWVudCAmJiB0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy5fc2V0T3ZlcmxheVBvc2l0aW9uKG9yaWdpbkVsZW1lbnQpO1xuICAgIH1cblxuICAgIHRoaXMuX3RyaWdnZXJBdHRyaWJ1dGVPYnNlcnZlcj8ub2JzZXJ2ZSh0aGlzLl90cmlnZ2VyRWxlbWVudCEsIHtcbiAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsnZGlzYWJsZWQnLCAncmVhZG9ubHknXSxcbiAgICB9KTtcblxuICAgIHRoaXMuc2V0VHJpZ2dlckF0dHJpYnV0ZXModGhpcy50cmlnZ2VyRWxlbWVudCk7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAgIC8vIE9wZW4gdGhlIG92ZXJsYXkgb24gZm9jdXMsIGNsaWNrLCBpbnB1dCBhbmQgYEFycm93RG93bmAgZXZlbnRcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgKCkgPT4gdGhpcy5vcGVuKCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgdGhpcy50cmlnZ2VyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbigpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdpbnB1dCcsXG4gICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgICAgICB0aGlzLl9oaWdobGlnaHRPcHRpb25zKHZhbHVlKTtcbiAgICAgICAgdGhpcy5fbGFzdFVzZXJJbnB1dCA9IHZhbHVlO1xuICAgICAgfSxcbiAgICAgIHsgc2lnbmFsOiB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyLnNpZ25hbCB9LFxuICAgICk7XG4gICAgdGhpcy50cmlnZ2VyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2tleWRvd24nLFxuICAgICAgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLl9jbG9zZWRQYW5lbEtleWJvYXJkSW50ZXJhY3Rpb24oZXZlbnQpLFxuICAgICAge1xuICAgICAgICBzaWduYWw6IHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgICAvLyBXZSBuZWVkIGtleSBldmVudCB0byBydW4gYmVmb3JlIGFueSBvdGhlciBzdWJzY3JpcHRpb24gdG8gZ3VhcmFudGVlIGEgY29ycmVjdFxuICAgICAgICAvLyBpbnRlcmFjdGlvbiB3aXRoIG90aGVyIGNvbXBvbmVudHMgKG5lY2Vzc2FyeSBmb3IgdGhlICdzYmItY2hpcC1ncm91cCcgdXNlIGNhc2UpLlxuICAgICAgICBjYXB0dXJlOiB0cnVlLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgLy8gU2V0IG92ZXJsYXkgcG9zaXRpb24sIHdpZHRoIGFuZCBtYXggaGVpZ2h0XG4gIHByaXZhdGUgX3NldE92ZXJsYXlQb3NpdGlvbihvcmlnaW5FbGVtZW50ID0gdGhpcy5vcmlnaW5FbGVtZW50KTogdm9pZCB7XG4gICAgLy8gQW4gdW5kZWZpbmVkIG9yaWdpbkVsZW1lbnQgc2hvdWxkIG9ubHkgb2NjdXIgaW4gdGhlIHVubGlrZWx5IGV2ZW50XG4gICAgLy8gdGhhdCB0aGUgYXV0b2NvbXBsZXRlIGxvc2VzIGl0cyBvcmlnaW5FbGVtZW50IGFuZCB0cmlnZ2VyRWxlbWVudCBkdXJpbmcgYW4gb3BlbiBzdGF0ZS5cbiAgICBpZiAoIW9yaWdpbkVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc2V0T3ZlcmxheVBvc2l0aW9uKFxuICAgICAgdGhpcy5fb3ZlcmxheSxcbiAgICAgIG9yaWdpbkVsZW1lbnQsXG4gICAgICB0aGlzLl9vcHRpb25Db250YWluZXIsXG4gICAgICB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJy5zYmItYXV0b2NvbXBsZXRlX19jb250YWluZXInKSEsXG4gICAgICB0aGlzLFxuICAgICAgdGhpcy5wb3NpdGlvbixcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uIG9wZW4vY2xvc2UgYW5pbWF0aW9uIGVuZC5cbiAgICogSW4gcmFyZSBjYXNlcyBpdCBjYW4gYmUgdGhhdCB0aGUgYW5pbWF0aW9uRW5kIGV2ZW50IGlzIHRyaWdnZXJlZCB0d2ljZS5cbiAgICogVG8gYXZvaWQgZW50ZXJpbmcgYSBjb3JydXB0IHN0YXRlLCBleGl0IHdoZW4gc3RhdGUgaXMgbm90IGV4cGVjdGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBfb25BbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJyAmJiB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgJiYgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5fYXR0YWNoT3BlblBhbmVsRXZlbnRzKCk7XG4gICAgaWYgKHRoaXMub3JpZ2luRWxlbWVudCkge1xuICAgICAgdGhpcy5fb3JpZ2luUmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLm9yaWdpbkVsZW1lbnQpO1xuICAgIH1cbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAndHJ1ZScpO1xuICAgIHRoaXMuX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmNvbm5lY3QoKTtcbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmhpZGVQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKTtcbiAgICAvLyBDbGVhcnMgdGhlIGlucHV0IGlmIHRoZXJlJ3MgdXNlciBpbnRlcmFjdGlvbiB3aXRob3V0IHNlbGVjdGlvbiAoc2VsZWN0aW9uIGNsZWFycyBgX2xhc3RVc2VySW5wdXRgKS5cbiAgICBpZiAodGhpcy5yZXF1aXJlU2VsZWN0aW9uICYmIHRoaXMudHJpZ2dlckVsZW1lbnQgJiYgdGhpcy5fbGFzdFVzZXJJbnB1dCkge1xuICAgICAgY29uc3Qgc2V0VmFsdWUgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEhUTUxJbnB1dEVsZW1lbnQucHJvdG90eXBlLCAndmFsdWUnKSEuc2V0ITtcbiAgICAgIHNldFZhbHVlLmNhbGwodGhpcy50cmlnZ2VyRWxlbWVudCwgJycpO1xuICAgICAgdGhpcy5faGlnaGxpZ2h0T3B0aW9ucygnJyk7XG4gICAgICB0aGlzLnRyaWdnZXJFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgdGhpcy50cmlnZ2VyRWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgIH1cbiAgICB0aGlzLnJlc2V0QWN0aXZlRWxlbWVudCgpO1xuICAgIHRoaXMuX29wdGlvbkNvbnRhaW5lci5zY3JvbGxUb3AgPSAwO1xuICAgIHRoaXMuX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLmRpc3BhdGNoQ2xvc2VFdmVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXR0YWNoT3BlblBhbmVsRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuX29wZW5QYW5lbEV2ZW50c0NvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgICAvLyBSZWNhbGN1bGF0ZSB0aGUgb3ZlcmxheSBwb3NpdGlvbiBvbiBzY3JvbGwgYW5kIHdpbmRvdyByZXNpemVcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCAoKSA9PiB0aGlzLl9zZXRPdmVybGF5UG9zaXRpb24oKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgICAvLyBXaXRob3V0IGNhcHR1cmUsIG90aGVyIHNjcm9sbCBjb250ZXh0cyB3b3VsZCBub3QgYnViYmxlIHRvIHRoaXMgZXZlbnQgbGlzdGVuZXIuXG4gICAgICAvLyBDYXB0dXJlIGFsbG93cyB1cyB0byByZWFjdCB0byBhbGwgc2Nyb2xsIGNvbnRleHRzIGluIHRoaXMgRE9NLlxuICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCkgPT4gdGhpcy5fc2V0T3ZlcmxheVBvc2l0aW9uKCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBzaWduYWw6IHRoaXMuX29wZW5QYW5lbEV2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuXG4gICAgLy8gQ2xvc2UgYXV0b2NvbXBsZXRlIG9uIGJhY2tkcm9wIGNsaWNrXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgKGV2KSA9PiB0aGlzLl9wb2ludGVyRG93bkxpc3RlbmVyKGV2KSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuUGFuZWxFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgKGV2KSA9PiB0aGlzLl9jbG9zZU9uQmFja2Ryb3BDbGljayhldiksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnybVkaXNhYmxlZGNoYW5nZScsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZU9wdGlvbj8uZGlzYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLnJlc2V0QWN0aXZlRWxlbWVudCgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NldE5leHRBY3RpdmVPcHRpb25JZkF1dG9BY3RpdmVGaXJzdE9wdGlvbigpO1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuUGFuZWxFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIC8vIEtleWJvYXJkIGludGVyYWN0aW9uc1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAna2V5ZG93bicsXG4gICAgICAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHRoaXMub3BlbmVkUGFuZWxLZXlib2FyZEludGVyYWN0aW9uKGV2ZW50KSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuUGFuZWxFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgICAgLy8gV2UgbmVlZCBrZXkgZXZlbnQgdG8gcnVuIGJlZm9yZSBhbnkgb3RoZXIgc3Vic2NyaXB0aW9uIHRvIGd1YXJhbnRlZSBhIGNvcnJlY3RcbiAgICAgICAgLy8gaW50ZXJhY3Rpb24gd2l0aCBvdGhlciBjb21wb25lbnRzIChuZWNlc3NhcnkgZm9yIHRoZSAnc2JiLWNoaXAtZ3JvdXAnIHVzZSBjYXNlKS5cbiAgICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBwb2ludGVyZG93biBldmVudCB0YXJnZXQgaXMgdHJpZ2dlcmVkIG9uIHRoZSBtZW51LlxuICBwcml2YXRlIF9wb2ludGVyRG93bkxpc3RlbmVyID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICB0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbk1lbnUgPSBpc0V2ZW50T25FbGVtZW50KHRoaXMuX292ZXJsYXksIGV2ZW50KTtcbiAgfTtcblxuICAvLyBJZiB0aGUgY2xpY2sgaXMgb3V0c2lkZSB0aGUgYXV0b2NvbXBsZXRlLCBjbG9zZXMgdGhlIHBhbmVsLlxuICBwcml2YXRlIF9jbG9zZU9uQmFja2Ryb3BDbGljayA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uTWVudSAmJlxuICAgICAgIWlzRXZlbnRPbkVsZW1lbnQodGhpcy5fb3ZlcmxheSwgZXZlbnQpICYmXG4gICAgICAhaXNFdmVudE9uRWxlbWVudCh0aGlzLm9yaWdpbkVsZW1lbnQsIGV2ZW50KVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9jbG9zZWRQYW5lbEtleWJvYXJkSW50ZXJhY3Rpb24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ2Nsb3NlZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqIEhpZ2hsaWdodCB0aGUgc2VhcmNoZWQgdGV4dCBvbiB0aGUgb3B0aW9ucy4gKi9cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0T3B0aW9ucyhzZWFyY2hUZXJtPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHNlYXJjaFRlcm0gPT09IG51bGwgfHwgc2VhcmNoVGVybSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKChvcHRpb24pID0+IG9wdGlvbi5oaWdobGlnaHQoc2VhcmNoVGVybSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWF1dG9jb21wbGV0ZV9fZ2FwLWZpeFwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1hdXRvY29tcGxldGVfX2NvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWF1dG9jb21wbGV0ZV9fZ2FwLWZpeFwiPiR7b3ZlcmxheUdhcEZpeENvcm5lcnMoKX08L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIEBhbmltYXRpb25lbmQ9JHt0aGlzLl9vbkFuaW1hdGlvbkVuZH1cbiAgICAgICAgICBjbGFzcz1cInNiYi1hdXRvY29tcGxldGVfX3BhbmVsXCJcbiAgICAgICAgICAke3JlZigob3ZlcmxheVJlZj86IEVsZW1lbnQpID0+ICh0aGlzLl9vdmVybGF5ID0gb3ZlcmxheVJlZiBhcyBIVE1MRWxlbWVudCkpfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1hdXRvY29tcGxldGVfX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJzYmItYXV0b2NvbXBsZXRlX19vcHRpb25zXCJcbiAgICAgICAgICAgICAgcm9sZT0keyFhcmlhUm9sZU9uSG9zdCA/IHRoaXMucGFuZWxSb2xlIDogbm90aGluZ31cbiAgICAgICAgICAgICAgaWQ9JHshYXJpYVJvbGVPbkhvc3QgPyB0aGlzLm92ZXJsYXlJZCA6IG5vdGhpbmd9XG4gICAgICAgICAgICAgICR7cmVmKChjb250YWluZXJSZWYpID0+ICh0aGlzLl9vcHRpb25Db250YWluZXIgPSBjb250YWluZXJSZWYgYXMgSFRNTEVsZW1lbnQpKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9oYW5kbGVTbG90Y2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50RXZlbnRNYXAge1xuICAgIGlucHV0QXV0b2NvbXBsZXRlOiBDdXN0b21FdmVudDx7IG9wdGlvbjogU2JiT3B0aW9uQmFzZUVsZW1lbnQ8YW55PiB9PjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxQ0EsTUFBTSxpQkFBaUI7SUFFRCw4QkFBMEIsTUFBQTs7QUFBcUIsTUFBQSxjQUFBLGlCQUNuRSxrQkFBa0IsdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFEdEIsU0FBQSxtQkFBK0MsWUFFcEU7QUFBQSxJQXNIQyxjQUFBO0FBQ0UsWUFBQTtBQTFHRjtBQVdBO0FBS0E7QUFLQTtBQUlBO0FBTTZCO0FBSzdCO0FBVUE7QUFPQTtBQXJEZ0IseUJBQUEsMEJBQUEsa0JBQUEsTUFBQSxzQkFBNkIsSUFBSTtBQVdqQyx5QkFBQSw0QkFBQSxrQkFBQSxNQUFBLHlCQUFBLEdBQUEsa0JBQUEsTUFBQSx1QkFBbUMsSUFBSTtBQUt2Qyx5QkFBQSxzQ0FBQSxrQkFBQSxNQUFBLDBCQUFBLEdBQUEsa0JBQUEsTUFBQSxpQ0FBNkIsS0FBSztBQUtsQyx5QkFBQSwwQ0FBQSxrQkFBQSxNQUFBLG9DQUFBLEdBQUEsa0JBQUEsTUFBQSxxQ0FBaUMsS0FBSztBQUl0Qyx5QkFBQSxnQ0FBQSxrQkFBQSxNQUFBLHdDQUFBLEdBQUEsa0JBQUEsTUFBQSwyQkFBNkMsSUFBSTtBQU1wQix5QkFBQSx5QkFBQSxrQkFBQSxNQUFBLDhCQUFBLEdBQUEsa0JBQUEsTUFBQSxvQkFBa0IsT0FBQSxJQUFXLE1BQU0sR0FBRztBQUtuRSx5QkFBQSwyQ0FBQSxrQkFBQSxNQUFBLHVCQUFBLEdBQUEsa0JBQUEsTUFBQSxzQ0FBa0MsS0FBSztBQVV2Qyx5QkFBQSxxQ0FBQSxrQkFBQSxNQUFBLHlDQUFBLEdBQUEsa0JBQUEsTUFBQSxnQ0FBNEIsS0FBSztBQU9qQyx5QkFBQSw2QkFBQSxrQkFBQSxNQUFBLG1DQUFBLEdBQUEsa0JBQUEsTUFBQSx3QkFBdUMsTUFBTTtBQWdCckQsV0FBQSxrQkFBZSxrQkFBQSxNQUFBLDJCQUFBO0FBSWIsV0FBQSxlQUErQztBQUNqRCxXQUFBLHdCQUF3QixJQUFJLGlCQUFpQixNQUFNO0FBQUEsUUFDekQsUUFBUTtBQUFBLFFBQ1IsYUFBYTtBQUFBLFFBQ2IsVUFBVSxNQUFLO0FBQ2IsY0FBSSxLQUFLLFVBQVUsVUFBVTtBQUMzQixpQkFBSyxvQkFBQTtBQUFBLFVBQ1A7QUFBQSxRQUNGO0FBQUEsTUFBQSxDQUNEO0FBRU8sV0FBQSw0QkFBNEIsQ0FBQyxXQUNqQyxJQUFJLGlCQUFpQixDQUFDLGNBQXFDO0FBQ3pELGNBQU0sUUFBUSxVQUFVLENBQUMsRUFBRTtBQUMzQixZQUFJLE1BQU0sYUFBYSxVQUFVLEtBQUssTUFBTSxhQUFhLFVBQVUsR0FBRztBQUNwRSxlQUFLLE1BQUE7QUFBQSxRQUNQO0FBQUEsTUFDRixDQUFDLElBQ0Q7QUFLSSxXQUFBLDRCQUFxQztBQUNyQyxXQUFBLDhCQUE4QixJQUFJLDhCQUE4QixJQUFJO0FBQ3BFLFdBQUEsZ0JBQWdCO0FBR2hCLFdBQUEsaUJBQWdDO0FBZ1poQyxXQUFBLHVCQUF1QixDQUFDLFVBQTZCO0FBQzNELGFBQUssNEJBQTRCLGlCQUFpQixLQUFLLFVBQVUsS0FBSztBQUFBLE1BQ3hFO0FBR1EsV0FBQSx3QkFBd0IsQ0FBQyxVQUE2QjtBQUM1RCxZQUNFLENBQUMsS0FBSyw2QkFDTixDQUFDLGlCQUFpQixLQUFLLFVBQVUsS0FBSyxLQUN0QyxDQUFDLGlCQUFpQixLQUFLLGVBQWUsS0FBSyxHQUMzQztBQUNBLGVBQUssTUFBQTtBQUFBLFFBQ1A7QUFBQSxNQUNGO0FBdFpFLFdBQUssY0FDSCxJQUFJLDZCQUNGLE1BQ0EsTUFBTSxLQUFLLFFBQTZCLGdCQUFnQixHQUN4RDtBQUFBLFFBQ0UsVUFBVSxDQUFDLE1BQUs7QUFDZCxlQUFLLFdBQVcsRUFBRTtBQUNsQixlQUFLLGFBQUE7QUFBQSxRQUNQO0FBQUEsUUFDQSxZQUFZLENBQUMsTUFBTSxLQUFLLFlBQVksa0NBQWtDLEVBQUUsVUFBVTtBQUFBLE1BQUEsQ0FDbkYsQ0FDRjtBQUFBLElBRUw7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUF6SEEsSUFBZ0IsU0FBTTtBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBdEIsSUFBZ0IsT0FBTSxPQUFBO0FBQUEseUJBQUEsMEJBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQVd0QixJQUFnQixVQUFPO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUF2QixJQUFnQixRQUFPLE9BQUE7QUFBQSx5QkFBQSwyQkFBQTtBQUFBLElBQUE7QUFBQTtBQUFBLElBS3ZCLElBQWdCLG9CQUFpQjtBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBakMsSUFBZ0Isa0JBQWlCLE9BQUE7QUFBQSx5QkFBQSxxQ0FBQTtBQUFBLElBQUE7QUFBQTtBQUFBLElBS2pDLElBQWdCLHdCQUFxQjtBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBckMsSUFBZ0Isc0JBQXFCLE9BQUE7QUFBQSx5QkFBQSx5Q0FBQTtBQUFBLElBQUE7QUFBQTtBQUFBLElBSXJDLElBQWdCLGNBQVc7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQTNCLElBQWdCLFlBQVcsT0FBQTtBQUFBLHlCQUFBLCtCQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFNRSxJQUFnQixPQUFJO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUFwQixJQUFnQixLQUFJLE9BQUE7QUFBQSx5QkFBQSx3QkFBQTtBQUFBLElBQUE7QUFBQTtBQUFBLElBS2pELElBQWdCLHlCQUFzQjtBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBdEMsSUFBZ0IsdUJBQXNCLE9BQUE7QUFBQSx5QkFBQSwwQ0FBQTtBQUFBLElBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQVV0QyxJQUFnQixtQkFBZ0I7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQWhDLElBQWdCLGlCQUFnQixPQUFBO0FBQUEseUJBQUEsb0NBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQU9oQyxJQUFnQixXQUFRO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUF4QixJQUFnQixTQUFRLE9BQUE7QUFBQSx5QkFBQSw0QkFBQTtBQUFBLElBQUE7QUFBQTtBQUFBLElBR3hCLElBQVcsZ0JBQWE7QUFDdEIsYUFDRSxLQUFLLFVBQ0wsS0FBSyxVQUFVLGdCQUFnQixHQUFHLFlBQVksZ0JBQWdCLGlCQUFpQixLQUMvRSxLQUFLLFdBQ0w7QUFBQSxJQUVKO0FBQUE7QUFBQSxJQUdBLElBQVcsaUJBQWM7QUFDdkIsYUFBTyxLQUFLLG1CQUFtQjtBQUFBLElBQ2pDO0FBQUE7QUFBQSxJQStETyxPQUFJO0FBQ1QsVUFDRSxLQUFLLFVBQVUsWUFDZixDQUFDLEtBQUssWUFDTixLQUFLLFFBQVEsV0FBVyxLQUN4QixLQUFLLFVBQUEsS0FDTCxDQUFDLEtBQUssMkJBQ047QUFDQTtBQUFBLE1BQ0Y7QUFFQSxXQUFLLGNBQUE7QUFDTCxXQUFLLFFBQVE7QUFDYixXQUFLLGlCQUFpQixnQkFBZ0IsaUJBQWlCLElBQUk7QUFDM0QsWUFBTSxnQkFBZ0IsS0FBSztBQUMzQixVQUFJLENBQUMsZUFBZTtBQUNsQixjQUFNLElBQUksTUFDUixtSUFBbUk7QUFBQSxNQUV2STtBQUNBLFdBQUssb0JBQW9CLGFBQWE7QUFDdEMsV0FBSyw0Q0FBQTtBQUlMLFVBQUksS0FBSyw0QkFBNEI7QUFDbkMsYUFBSyxlQUFBO0FBQUEsTUFDUDtBQUFBLElBQ0Y7QUFBQTtBQUFBLElBR08sUUFBSztBQUNWLFVBQUksS0FBSyxVQUFVLFlBQVksQ0FBQyxLQUFLLDRCQUE0QjtBQUMvRDtBQUFBLE1BQ0Y7QUFFQSxXQUFLLFFBQVE7QUFDYixXQUFLLGlCQUFpQixnQkFBZ0IsaUJBQWlCLEtBQUs7QUFDNUQsV0FBSywyQkFBMkIsTUFBQTtBQUNoQyxVQUFJLEtBQUssZUFBZTtBQUN0QixhQUFLLHNCQUFzQixVQUFVLEtBQUssYUFBYTtBQUFBLE1BQ3pEO0FBSUEsVUFBSSxLQUFLLDRCQUE0QjtBQUNuQyxhQUFLLGVBQUE7QUFBQSxNQUNQO0FBQUEsSUFDRjtBQUFBLElBRVEsMkJBQXdCO0FBQzlCLGFBQU8sd0JBQXdCLE1BQU0sd0NBQXdDO0FBQUEsSUFDL0U7QUFBQSxJQUVnQixvQkFBaUI7QUFDL0IsV0FBSyxVQUFVO0FBQ2YsWUFBTSxrQkFBQTtBQUNOLFVBQUksZ0JBQWdCO0FBQ2xCLGFBQUssT0FBTyxLQUFLO0FBQUEsTUFDbkI7QUFFQSxVQUFJLEtBQUssWUFBWTtBQUNuQixhQUFLLGdCQUFBO0FBQUEsTUFDUDtBQUNBLFdBQUssYUFBQTtBQUFBLElBQ1A7QUFBQSxJQUVtQixXQUFXLG1CQUF1QztBQUNuRSxZQUFNLFdBQVcsaUJBQWlCO0FBRWxDLFVBQUksa0JBQWtCLElBQUksVUFBVSxHQUFHO0FBQ3JDLGFBQUssYUFBQTtBQUFBLE1BQ1A7QUFFQSxVQUFJLGtCQUFrQixJQUFJLHVCQUF1QixLQUFLLEtBQUssUUFBUTtBQUNqRSxhQUFLLDRDQUFBO0FBQUEsTUFDUDtBQUFBLElBQ0Y7QUFBQSxJQUVtQixhQUFhLG1CQUF1QztBQUNyRSxZQUFNLGFBQWEsaUJBQWlCO0FBQ3BDLFdBQUssZ0JBQUE7QUFBQSxJQUNQO0FBQUEsSUFFZ0IsdUJBQW9CO0FBQ2xDLFlBQU0scUJBQUE7QUFDTixXQUFLLGtCQUFrQjtBQUN2QixXQUFLLHlCQUF5QixNQUFBO0FBQzlCLFdBQUssNEJBQTRCLE1BQUE7QUFBQSxJQUNuQztBQUFBLElBRWdCLGNBQ2QsTUFDQSxVQUNBLFNBQTZCO0FBRTdCLFlBQU0sY0FBYyxNQUFNLFVBQVUsT0FBTztBQUUzQyxVQUFJLFlBQVksQ0FBQyxLQUFLLFlBQVk7QUFDaEM7QUFBQSxNQUNGO0FBQ0EsVUFBSSxDQUFDLFFBQVEsU0FBUyxXQUFXO0FBQy9CLGFBQUssa0JBQUE7QUFBQSxNQUNQLFlBQVksQ0FBQyxRQUFRLFNBQVMsYUFBYSxLQUFLLFFBQVE7QUFDdEQsYUFBSyxvQkFBQTtBQUFBLE1BQ1A7QUFBQSxJQUNGO0FBQUE7QUFBQSxJQUdVLGlCQUFpQixPQUFZO0FBQ3JDLFlBQU0sU0FBUyxNQUFNO0FBQ3JCLFdBQUssMkJBQTJCLE1BQU07QUFDdEMsV0FBSyxNQUFBO0FBQUEsSUFDUDtBQUFBO0FBQUEsSUFHVSx1QkFBdUIsY0FBcUM7QUFDcEUsbUJBQWEsV0FBVztBQUN4QixXQUFLLDJCQUEyQixZQUFZO0FBQUEsSUFDOUM7QUFBQSxJQUVRLDJCQUEyQixnQkFBdUM7QUFFeEUsV0FBSyxRQUNGLE9BQU8sQ0FBQyxXQUFXLE9BQU8sT0FBTyxlQUFlLE1BQU0sT0FBTyxRQUFRLEVBQ3JFLFFBQVEsQ0FBQyxXQUFZLE9BQU8sV0FBVyxLQUFNO0FBRWhELFVBQUksS0FBSyxnQkFBZ0I7QUFFdkIsY0FBTSxZQUFZLEtBQUssY0FBYyxlQUFlLEtBQVUsS0FBSyxlQUFlO0FBS2xGLGNBQU0sV0FBVyxPQUFPLHlCQUF5QixpQkFBaUIsV0FBVyxPQUFPLEVBQUc7QUFDdkYsaUJBQVMsS0FBSyxLQUFLLGdCQUFnQixTQUFTO0FBRzVDLGFBQUssZUFBZSxjQUFjLElBQUksTUFBTSxVQUFVLEVBQUUsU0FBUyxLQUFBLENBQU0sQ0FBQztBQUN4RSxhQUFLLGVBQWUsY0FBYyxJQUFJLFdBQVcsU0FBUyxFQUFFLFNBQVMsTUFBTSxVQUFVLEtBQUEsQ0FBTSxDQUFDO0FBRzVGLGFBQUssaUJBQWlCO0FBR3RCLGFBQUssZUFBZSxjQUNsQixJQUFJLFlBQWlELHFCQUFxQjtBQUFBLFVBQ3hFLFFBQVEsRUFBRSxRQUFRLGVBQUE7QUFBQSxRQUFjLENBQ2pDLENBQUM7QUFFSixhQUFLLGVBQWUsTUFBQTtBQUFBLE1BQ3RCO0FBQUEsSUFDRjtBQUFBLElBRVEsb0JBQWlCO0FBQ3ZCLFdBQUssa0JBQWtCLEtBQUssZ0JBQWdCLEtBQUs7QUFNakQsVUFBSSxLQUFLLFFBQVE7QUFDZixhQUFLLG9CQUFBO0FBQ0wsYUFBSyw0Q0FBQTtBQUdMLFlBQUksS0FBSyxnQkFBZ0IsS0FBSyxLQUFLLFFBQVEsV0FBVyxHQUFHO0FBQ3ZELGVBQUssTUFBQTtBQUFBLFFBQ1A7QUFBQSxNQUNGO0FBQUE7QUFBQTtBQUFBLFFBR0UsVUFBVSxrQkFBa0IsS0FBSyxrQkFDakMsS0FBSyxrQkFBa0IsS0FDdkIsS0FBSyxRQUFRLFNBQVM7QUFBQSxRQUN0QjtBQUNBLGFBQUssS0FBQTtBQUFBLE1BQ1A7QUFFQSxXQUFLLGdCQUFnQixLQUFLLFFBQVE7QUFBQSxJQUNwQztBQUFBLElBRVEsOENBQTJDO0FBQ2pELFVBQUksS0FBSyx1QkFBdUI7QUFDOUIsYUFBSyxtQkFBQTtBQUNMLGFBQUssb0JBQUE7QUFBQSxNQUNQO0FBQUEsSUFDRjtBQUFBO0FBQUEsSUFHUSxZQUFTO0FBQ2YsYUFBTyxLQUFLLGdCQUFnQixhQUFhLFVBQVUsS0FBSztBQUFBLElBQzFEO0FBQUEsSUFFUSxrQkFBZTtBQUNyQixVQUFJLFVBQVU7QUFDWjtBQUFBLE1BQ0Y7QUFFQSxXQUFLLGtCQUFBO0FBQUEsSUFDUDtBQUFBLElBRVEsb0JBQWlCO0FBQ3ZCLFlBQU0saUJBQWtCLEtBQUssV0FDM0IsS0FBSyxVQUFVLGdCQUFnQixHQUFHLGNBQWMsT0FBTztBQUN6RCxVQUFJLG1CQUFtQixLQUFLLGlCQUFpQjtBQUMzQztBQUFBLE1BQ0Y7QUFFQSxXQUFLLHlCQUF5QixNQUFBO0FBQzlCLG1DQUE2QixLQUFLLGNBQWM7QUFDaEQsV0FBSyxrQkFBa0I7QUFFdkIsVUFBSSxDQUFDLEtBQUssZ0JBQWdCO0FBQ3hCO0FBQUEsTUFDRjtBQUdBLFlBQU0sZ0JBQWdCLEtBQUs7QUFDM0IsVUFBSSxLQUFLLG1CQUFtQixpQkFBaUIsS0FBSyxRQUFRO0FBQ3hELGFBQUssb0JBQW9CLGFBQWE7QUFBQSxNQUN4QztBQUVBLFdBQUssMkJBQTJCLFFBQVEsS0FBSyxpQkFBa0I7QUFBQSxRQUM3RCxZQUFZO0FBQUEsUUFDWixpQkFBaUIsQ0FBQyxZQUFZLFVBQVU7QUFBQSxNQUFBLENBQ3pDO0FBRUQsV0FBSyxxQkFBcUIsS0FBSyxjQUFjO0FBQzdDLFdBQUssMEJBQTBCLElBQUksZ0JBQUE7QUFHbkMsV0FBSyxlQUFlLGlCQUFpQixTQUFTLE1BQU0sS0FBSyxRQUFRO0FBQUEsUUFDL0QsUUFBUSxLQUFLLHdCQUF3QjtBQUFBLE1BQUEsQ0FDdEM7QUFDRCxXQUFLLGVBQWUsaUJBQWlCLFNBQVMsTUFBTSxLQUFLLFFBQVE7QUFBQSxRQUMvRCxRQUFRLEtBQUssd0JBQXdCO0FBQUEsTUFBQSxDQUN0QztBQUNELFdBQUssZUFBZSxpQkFDbEIsU0FDQSxDQUFDLFVBQVM7QUFDUixhQUFLLEtBQUE7QUFDTCxjQUFNLFFBQWlCLE1BQU0sT0FBNEI7QUFDekQsYUFBSyxrQkFBa0IsS0FBSztBQUM1QixhQUFLLGlCQUFpQjtBQUFBLE1BQ3hCLEdBQ0EsRUFBRSxRQUFRLEtBQUssd0JBQXdCLFFBQVE7QUFFakQsV0FBSyxlQUFlLGlCQUNsQixXQUNBLENBQUMsVUFBeUIsS0FBSyxnQ0FBZ0MsS0FBSyxHQUNwRTtBQUFBLFFBQ0UsUUFBUSxLQUFLLHdCQUF3QjtBQUFBO0FBQUE7QUFBQSxRQUdyQyxTQUFTO0FBQUEsTUFBQSxDQUNWO0FBQUEsSUFFTDtBQUFBO0FBQUEsSUFHUSxvQkFBb0IsZ0JBQWdCLEtBQUssZUFBYTtBQUc1RCxVQUFJLENBQUMsZUFBZTtBQUNsQjtBQUFBLE1BQ0Y7QUFDQSx5QkFDRSxLQUFLLFVBQ0wsZUFDQSxLQUFLLGtCQUNMLEtBQUssV0FBWSxjQUFjLDhCQUE4QixHQUM3RCxNQUNBLEtBQUssUUFBUTtBQUFBLElBRWpCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBT1EsZ0JBQWdCLE9BQXFCO0FBQzNDLFVBQUksTUFBTSxrQkFBa0IsVUFBVSxLQUFLLFVBQVUsV0FBVztBQUM5RCxhQUFLLGVBQUE7QUFBQSxNQUNQLFdBQVcsTUFBTSxrQkFBa0IsV0FBVyxLQUFLLFVBQVUsV0FBVztBQUN0RSxhQUFLLGVBQUE7QUFBQSxNQUNQO0FBQUEsSUFDRjtBQUFBLElBRVEsaUJBQWM7QUFDcEIsV0FBSyxRQUFRO0FBQ2IsV0FBSyx1QkFBQTtBQUNMLFVBQUksS0FBSyxlQUFlO0FBQ3RCLGFBQUssc0JBQXNCLFFBQVEsS0FBSyxhQUFhO0FBQUEsTUFDdkQ7QUFDQSxXQUFLLGdCQUFnQixhQUFhLGlCQUFpQixNQUFNO0FBQ3pELFdBQUssNEJBQTRCLFFBQUE7QUFDakMsV0FBSyxrQkFBQTtBQUFBLElBQ1A7QUFBQSxJQUVRLGlCQUFjO0FBQ3BCLFdBQUssUUFBUTtBQUNiLFdBQUssY0FBQTtBQUNMLFdBQUssZ0JBQWdCLGFBQWEsaUJBQWlCLE9BQU87QUFFMUQsVUFBSSxLQUFLLG9CQUFvQixLQUFLLGtCQUFrQixLQUFLLGdCQUFnQjtBQUN2RSxjQUFNLFdBQVcsT0FBTyx5QkFBeUIsaUJBQWlCLFdBQVcsT0FBTyxFQUFHO0FBQ3ZGLGlCQUFTLEtBQUssS0FBSyxnQkFBZ0IsRUFBRTtBQUNyQyxhQUFLLGtCQUFrQixFQUFFO0FBQ3pCLGFBQUssZUFBZSxjQUFjLElBQUksTUFBTSxVQUFVLEVBQUUsU0FBUyxLQUFBLENBQU0sQ0FBQztBQUN4RSxhQUFLLGVBQWUsY0FBYyxJQUFJLFdBQVcsU0FBUyxFQUFFLFNBQVMsTUFBTSxVQUFVLEtBQUEsQ0FBTSxDQUFDO0FBQUEsTUFDOUY7QUFDQSxXQUFLLG1CQUFBO0FBQ0wsV0FBSyxpQkFBaUIsWUFBWTtBQUNsQyxXQUFLLDRCQUE0QixXQUFBO0FBQ2pDLFdBQUssbUJBQUE7QUFBQSxJQUNQO0FBQUEsSUFFUSx5QkFBc0I7QUFDNUIsV0FBSyw2QkFBNkIsSUFBSSxnQkFBQTtBQUd0QyxlQUFTLGlCQUFpQixVQUFVLE1BQU0sS0FBSyx1QkFBdUI7QUFBQSxRQUNwRSxTQUFTO0FBQUEsUUFDVCxRQUFRLEtBQUssMkJBQTJCO0FBQUE7QUFBQTtBQUFBLFFBR3hDLFNBQVM7QUFBQSxNQUFBLENBQ1Y7QUFDRCxhQUFPLGlCQUFpQixVQUFVLE1BQU0sS0FBSyx1QkFBdUI7QUFBQSxRQUNsRSxTQUFTO0FBQUEsUUFDVCxRQUFRLEtBQUssMkJBQTJCO0FBQUEsTUFBQSxDQUN6QztBQUdELGFBQU8saUJBQWlCLGVBQWUsQ0FBQyxPQUFPLEtBQUsscUJBQXFCLEVBQUUsR0FBRztBQUFBLFFBQzVFLFFBQVEsS0FBSywyQkFBMkI7QUFBQSxNQUFBLENBQ3pDO0FBQ0QsYUFBTyxpQkFBaUIsYUFBYSxDQUFDLE9BQU8sS0FBSyxzQkFBc0IsRUFBRSxHQUFHO0FBQUEsUUFDM0UsUUFBUSxLQUFLLDJCQUEyQjtBQUFBLE1BQUEsQ0FDekM7QUFFRCxXQUFLLGlCQUNILG1CQUNBLE1BQUs7QUFDSCxZQUFJLEtBQUssY0FBYyxVQUFVO0FBQy9CLGVBQUssbUJBQUE7QUFBQSxRQUNQO0FBQ0EsYUFBSyw0Q0FBQTtBQUFBLE1BQ1AsR0FDQTtBQUFBLFFBQ0UsUUFBUSxLQUFLLDJCQUEyQjtBQUFBLE1BQUEsQ0FDekM7QUFJSCxXQUFLLGdCQUFnQixpQkFDbkIsV0FDQSxDQUFDLFVBQXlCLEtBQUssK0JBQStCLEtBQUssR0FDbkU7QUFBQSxRQUNFLFFBQVEsS0FBSywyQkFBMkI7QUFBQTtBQUFBO0FBQUEsUUFHeEMsU0FBUztBQUFBLE1BQUEsQ0FDVjtBQUFBLElBRUw7QUFBQSxJQWtCUSxnQ0FBZ0MsT0FBb0I7QUFDMUQsVUFBSSxLQUFLLFVBQVUsVUFBVTtBQUMzQjtBQUFBLE1BQ0Y7QUFFQSxjQUFRLE1BQU0sS0FBQTtBQUFBLFFBQ1osS0FBSztBQUFBLFFBQ0wsS0FBSztBQUFBLFFBQ0wsS0FBSztBQUNILGVBQUssS0FBQTtBQUNMO0FBQUEsTUFBQTtBQUFBLElBRU47QUFBQTtBQUFBLElBR1Esa0JBQWtCLFlBQW1CO0FBQzNDLFVBQUksZUFBZSxRQUFRLGVBQWUsUUFBVztBQUNuRDtBQUFBLE1BQ0Y7QUFDQSxXQUFLLFFBQVEsUUFBUSxDQUFDLFdBQVcsT0FBTyxVQUFVLFVBQVUsQ0FBQztBQUFBLElBQy9EO0FBQUEsSUFFbUIsU0FBTTtBQUN2QixhQUFPO0FBQUE7QUFBQTtBQUFBLGlEQUdzQyxzQkFBc0I7QUFBQTtBQUFBLDBCQUU3QyxLQUFLLGVBQWU7QUFBQTtBQUFBLFlBRWxDLElBQUksQ0FBQyxlQUEwQixLQUFLLFdBQVcsVUFBMEIsQ0FBQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEscUJBS2pFLENBQUMsaUJBQWlCLEtBQUssWUFBWSxPQUFPO0FBQUEsbUJBQzVDLENBQUMsaUJBQWlCLEtBQUssWUFBWSxPQUFPO0FBQUEsZ0JBQzdDLElBQUksQ0FBQyxpQkFBa0IsS0FBSyxtQkFBbUIsWUFBNEIsQ0FBQztBQUFBO0FBQUEsa0NBRTFELEtBQUssaUJBQWlCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBTXREO0FBQUEsRUFBQSxHQWpqQkEsMENBV0EsMkNBS0EscURBS0EseURBSUEsK0NBTTZCLHdDQUs3QiwwREFVQSxvREFPQTs7MEJBdkRDLGVBQ0EsVUFBVTsyQkFVVixlQUNBLFVBQVU7QUFJVixvQ0FBQSxDQUFBLGFBQ0EsU0FBUyxFQUFFLFdBQVcsdUJBQXVCLFNBQVMsTUFBTSxNQUFNLFFBQUEsQ0FBUyxDQUFDO0FBSTVFLHdDQUFBLENBQUEsVUFBQSxHQUNBLFNBQVMsRUFBRSxXQUFXLDRCQUE0QixNQUFNLFFBQUEsQ0FBUyxDQUFDO0FBSWxFLDhCQUFBLENBQUEsU0FBUyxFQUFFLFdBQVcsTUFBQSxDQUFPLENBQUM7QUFPOUIsdUJBQUEsQ0FBQSxTQUFTLEVBQUUsU0FBUyxLQUFBLENBQU0sQ0FBQztBQUczQix5Q0FBQSxDQUFBLFVBQUEsR0FDQSxTQUFTLEVBQUUsV0FBVyw2QkFBNkIsTUFBTSxRQUFBLENBQVMsQ0FBQztBQVNuRSxtQ0FBQSxDQUFBLFVBQUEsR0FDQSxTQUFTLEVBQUUsV0FBVyxxQkFBcUIsTUFBTSxRQUFBLENBQVMsQ0FBQztBQU8zRCwyQkFBQSxDQUFBLFVBQVU7QUFwRFgsaUJBQUEsSUFBQSxNQUFBLG9CQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsVUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxZQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0IsUUFBTSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBTixTQUFNO0FBQUEsSUFBQSxLQUFBLFVBQUEsVUFBQSxHQUFBLHNCQUFBLHlCQUFBO0FBV3RCLGlCQUFBLElBQUEsTUFBQSxxQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFdBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsYUFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLFNBQU8sS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVAsVUFBTztBQUFBLElBQUEsS0FBQSxVQUFBLFVBQUEsR0FBQSx1QkFBQSwwQkFBQTtBQUt2QixpQkFBQSxJQUFBLE1BQUEsK0JBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxxQkFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSx1QkFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLG1CQUFpQixLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBakIsb0JBQWlCO0FBQUEsSUFBQSxLQUFBLFVBQUEsVUFBQSxHQUFBLGlDQUFBLG9DQUFBO0FBS2pDLGlCQUFBLElBQUEsTUFBQSxtQ0FBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLHlCQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLDJCQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0IsdUJBQXFCLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFyQix3QkFBcUI7QUFBQSxJQUFBLEtBQUEsVUFBQSxVQUFBLEdBQUEscUNBQUEsd0NBQUE7QUFJckMsaUJBQUEsSUFBQSxNQUFBLHlCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsZUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxpQkFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLGFBQVcsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVgsY0FBVztBQUFBLElBQUEsS0FBQSxVQUFBLFVBQUEsR0FBQSwyQkFBQSw4QkFBQTtBQU1FLGlCQUFBLElBQUEsTUFBQSxrQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFFBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsVUFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLE1BQUksS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUosT0FBSTtBQUFBLElBQUEsS0FBQSxVQUFBLFVBQUEsR0FBQSxvQkFBQSx1QkFBQTtBQUtqRCxpQkFBQSxJQUFBLE1BQUEsb0NBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSwwQkFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSw0QkFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLHdCQUFzQixLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBdEIseUJBQXNCO0FBQUEsSUFBQSxLQUFBLFVBQUEsVUFBQSxHQUFBLHNDQUFBLHlDQUFBO0FBVXRDLGlCQUFBLElBQUEsTUFBQSw4QkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLG9CQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLHNCQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0Isa0JBQWdCLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFoQixtQkFBZ0I7QUFBQSxJQUFBLEtBQUEsVUFBQSxVQUFBLEdBQUEsZ0NBQUEsbUNBQUE7QUFPaEMsaUJBQUEsSUFBQSxNQUFBLHNCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsWUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxjQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0IsVUFBUSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBUixXQUFRO0FBQUEsSUFBQSxLQUFBLFVBQUEsVUFBQSxHQUFBLHdCQUFBLDJCQUFBOztRQWpFRCxHQUFBLFNBQXlCLENBQUMsaUJBQWlCLEtBQUssR0FIbkQ7OyJ9
@@ -1,5 +1,5 @@
1
- import { SbbOptionElement } from '../option.js';
2
- import { SbbAutocompleteBaseElement } from './autocomplete-base-element.js';
1
+ import { SbbOptionElement } from '../option.ts';
2
+ import { SbbAutocompleteBaseElement } from './autocomplete-base-element.ts';
3
3
  /**
4
4
  * Combined with a native input, it displays a panel with a list of available options.
5
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/autocomplete/autocomplete.component.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAsB,gBAAgB,EAAwB,MAAM,cAAc,CAAC;AAE/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAU5E;;;;;;;GAOG;AACH,qBAEM,sBAAsB,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,0BAA0B,CAAC,CAAC,CAAC;IAC5E,gBAAgC,IAAI,gBAAqC;IACzE,SAAS,CAAC,SAAS,SAAkC;IACrD,SAAS,CAAC,SAAS,SAAa;IAEhC,SAAS,KAAK,OAAO,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAE7C;;IAOD,SAAS,CAAC,YAAY,IAAI,IAAI;IAU9B,SAAS,CAAC,8BAA8B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAqBpE,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAMtD,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI;IA6B1D,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAMpC,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;CAGhE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,kBAAkB,EAAE,sBAAsB,CAAC;KAC5C;CACF"}
1
+ {"version":3,"file":"autocomplete.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/autocomplete/autocomplete.component.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAwB,MAAM,cAAc,CAAC;AAE3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAU5E;;;;;;;GAOG;AACH,qBAEM,sBAAsB,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,0BAA0B,CAAC,CAAC,CAAC;IAC5E,gBAAgC,IAAI,gBAAqC;IACzE,SAAS,CAAC,SAAS,SAAkC;IACrD,SAAS,CAAC,SAAS,SAAa;IAEhC,SAAS,KAAK,OAAO,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAE7C;;IAOD,SAAS,CAAC,YAAY,IAAI,IAAI;IAM9B,SAAS,CAAC,8BAA8B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAqBpE,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAMtD,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI;IA2B1D,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAMpC,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;CAGhE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,kBAAkB,EAAE,sBAAsB,CAAC;KAC5C;CACF"}
@@ -25,7 +25,6 @@ let SbbAutocompleteElement = (() => {
25
25
  }
26
26
  syncNegative() {
27
27
  this.querySelectorAll?.("sbb-divider, sbb-option-hint").forEach((el) => el.negative = this.negative);
28
- this.querySelectorAll?.("sbb-option, sbb-optgroup").forEach((element) => element.toggleAttribute("data-negative", this.negative));
29
28
  }
30
29
  openedPanelKeyboardInteraction(event) {
31
30
  if (this.state !== "opened") {
@@ -49,7 +48,7 @@ let SbbAutocompleteElement = (() => {
49
48
  this.activeOption?.["selectViaUserInteraction"](true);
50
49
  }
51
50
  setNextActiveOption(event) {
52
- const enabledOptions = this.options.filter((opt) => !opt.disabled && !opt.hasAttribute("data-group-disabled"));
51
+ const enabledOptions = this.options.filter((opt) => !opt.matches(":is(:state(disabled),[state--disabled])"));
53
52
  this.activeOption?.setActive(false);
54
53
  this.triggerElement?.removeAttribute("aria-activedescendant");
55
54
  if (!enabledOptions.length) {
@@ -85,4 +84,4 @@ let SbbAutocompleteElement = (() => {
85
84
  export {
86
85
  SbbAutocompleteElement
87
86
  };
88
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGdldE5leHRFbGVtZW50SW5kZXggfSBmcm9tICcuLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgaXNTYWZhcmkgfSBmcm9tICcuLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBzZXRBcmlhQ29tYm9Cb3hBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vY29yZS9vdmVybGF5LmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRGl2aWRlckVsZW1lbnQgfSBmcm9tICcuLi9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50LmpzJztcbmltcG9ydCB0eXBlIHsgU2JiT3B0R3JvdXBFbGVtZW50LCBTYmJPcHRpb25FbGVtZW50LCBTYmJPcHRpb25IaW50RWxlbWVudCB9IGZyb20gJy4uL29wdGlvbi5qcyc7XG5cbmltcG9ydCB7IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IH0gZnJvbSAnLi9hdXRvY29tcGxldGUtYmFzZS1lbGVtZW50LmpzJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogT24gU2FmYXJpLCB0aGUgYXJpYSByb2xlICdsaXN0Ym94JyBtdXN0IGJlIG9uIHRoZSBob3N0IGVsZW1lbnQsIG9yIGVsc2UgVm9pY2VPdmVyIHdvbid0IHdvcmsgYXQgYWxsLlxuICogT24gdGhlIG90aGVyIGhhbmQsIEpBV1MgYW5kIE5WREEgbmVlZCB0aGUgcm9sZSB0byBiZSBcImNsb3NlclwiIHRvIHRoZSBvcHRpb25zLCBvciBlbHNlIG9wdGdyb3VwcyB3b24ndCB3b3JrLlxuICovXG5jb25zdCBhcmlhUm9sZU9uSG9zdCA9IGlzU2FmYXJpO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBuYXRpdmUgaW5wdXQsIGl0IGRpc3BsYXlzIGEgcGFuZWwgd2l0aCBhIGxpc3Qgb2YgYXZhaWxhYmxlIG9wdGlvbnMuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1vcHRpb25gIG9yIGBzYmItb3B0Z3JvdXBgIGVsZW1lbnRzIHRvIHRoZSBgc2JiLWF1dG9jb21wbGV0ZWAuXG4gKiBAY3NzcHJvcCBbLS1zYmItYXV0b2NvbXBsZXRlLXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWF1dG9jb21wbGV0ZScpXG5jbGFzcyBTYmJBdXRvY29tcGxldGVFbGVtZW50PFQgPSBzdHJpbmc+IGV4dGVuZHMgU2JiQXV0b2NvbXBsZXRlQmFzZUVsZW1lbnQ8VD4ge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSBhcmlhUm9sZU9uSG9zdCA/ICdsaXN0Ym94JyA6IG51bGw7XG4gIHByb3RlY3RlZCBvdmVybGF5SWQgPSBgc2JiLWF1dG9jb21wbGV0ZS0keysrbmV4dElkfWA7XG4gIHByb3RlY3RlZCBwYW5lbFJvbGUgPSAnbGlzdGJveCc7XG5cbiAgcHJvdGVjdGVkIGdldCBvcHRpb25zKCk6IFNiYk9wdGlvbkVsZW1lbnQ8VD5bXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy48U2JiT3B0aW9uRWxlbWVudDxUPj4oJ3NiYi1vcHRpb24nKSA/PyBbXSk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Lignb3B0aW9uc2VsZWN0ZWQnLCAoZTogRXZlbnQpID0+IHRoaXMub25PcHRpb25TZWxlY3RlZChlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3luY05lZ2F0aXZlKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uPFNiYkRpdmlkZXJFbGVtZW50IHwgU2JiT3B0aW9uSGludEVsZW1lbnQ+KFxuICAgICAgJ3NiYi1kaXZpZGVyLCBzYmItb3B0aW9uLWhpbnQnLFxuICAgICkuZm9yRWFjaCgoZWwpID0+IChlbC5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmUpKTtcblxuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uPFNiYk9wdGlvbkVsZW1lbnQ8VD4gfCBTYmJPcHRHcm91cEVsZW1lbnQ+KFxuICAgICAgJ3NiYi1vcHRpb24sIHNiYi1vcHRncm91cCcsXG4gICAgKS5mb3JFYWNoKChlbGVtZW50KSA9PiBlbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1uZWdhdGl2ZScsIHRoaXMubmVnYXRpdmUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvcGVuZWRQYW5lbEtleWJvYXJkSW50ZXJhY3Rpb24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnVGFiJzpcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICB0aGlzLnNlbGVjdEJ5S2V5Ym9hcmQoZXZlbnQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICB0aGlzLnNldE5leHRBY3RpdmVPcHRpb24oZXZlbnQpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0QnlLZXlib2FyZChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICB0aGlzLmFjdGl2ZU9wdGlvbj8uWydzZWxlY3RWaWFVc2VySW50ZXJhY3Rpb24nXSh0cnVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXROZXh0QWN0aXZlT3B0aW9uKGV2ZW50PzogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZWRPcHRpb25zID0gdGhpcy5vcHRpb25zLmZpbHRlcihcbiAgICAgIChvcHQpID0+ICFvcHQuZGlzYWJsZWQgJiYgIW9wdC5oYXNBdHRyaWJ1dGUoJ2RhdGEtZ3JvdXAtZGlzYWJsZWQnKSxcbiAgICApO1xuXG4gICAgLy8gUmVzZXQgcG90ZW50aWFsbHkgYWN0aXZlIG9wdGlvblxuICAgIHRoaXMuYWN0aXZlT3B0aW9uPy5zZXRBY3RpdmUoZmFsc2UpO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1hY3RpdmVkZXNjZW5kYW50Jyk7XG5cbiAgICBpZiAoIWVuYWJsZWRPcHRpb25zLmxlbmd0aCkge1xuICAgICAgdGhpcy5hY3RpdmVPcHRpb24gPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGFjdGl2ZUl0ZW1JbmRleCA9IHRoaXMuYWN0aXZlT3B0aW9uXG4gICAgICA/IGVuYWJsZWRPcHRpb25zLmluZGV4T2YodGhpcy5hY3RpdmVPcHRpb24gYXMgU2JiT3B0aW9uRWxlbWVudDxUPilcbiAgICAgIDogLTE7XG5cbiAgICAvLyBHZXQgYW5kIGFjdGl2YXRlIHRoZSBuZXh0IGFjdGl2ZSBvcHRpb25cbiAgICBjb25zdCBuZXh0ID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldmVudCwgYWN0aXZlSXRlbUluZGV4LCBlbmFibGVkT3B0aW9ucy5sZW5ndGgpO1xuICAgIHRoaXMuYWN0aXZlT3B0aW9uID0gZW5hYmxlZE9wdGlvbnNbbmV4dF07XG4gICAgdGhpcy5hY3RpdmVPcHRpb24uc2V0QWN0aXZlKHRydWUpO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1hY3RpdmVkZXNjZW5kYW50JywgdGhpcy5hY3RpdmVPcHRpb24uaWQpO1xuICAgIHRoaXMuYWN0aXZlT3B0aW9uLnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JyB9KTtcbiAgICBpZiAodGhpcy5hdXRvU2VsZWN0QWN0aXZlT3B0aW9uKSB7XG4gICAgICB0aGlzLm9uT3B0aW9uQXJyb3dzU2VsZWN0ZWQodGhpcy5hY3RpdmVPcHRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCByZXNldEFjdGl2ZUVsZW1lbnQoKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVPcHRpb24/LnNldEFjdGl2ZShmYWxzZSk7XG4gICAgdGhpcy50cmlnZ2VyRWxlbWVudD8ucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnKTtcbiAgICB0aGlzLmFjdGl2ZU9wdGlvbiA9IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0VHJpZ2dlckF0dHJpYnV0ZXMoZWxlbWVudDogSFRNTElucHV0RWxlbWVudCk6IHZvaWQge1xuICAgIHNldEFyaWFDb21ib0JveEF0dHJpYnV0ZXMoZWxlbWVudCwgYXJpYVJvbGVPbkhvc3QgPyB0aGlzLmlkIDogdGhpcy5vdmVybGF5SWQsIGZhbHNlKTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWF1dG9jb21wbGV0ZSc6IFNiYkF1dG9jb21wbGV0ZUVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFVQSxJQUFJLFNBQVM7QUFNYixNQUFNLGlCQUFpQjtJQVlqQiwwQkFBc0IsTUFBQTs7MEJBRDNCLGNBQWMsa0JBQWtCLENBQUM7Ozs7b0JBQ2U7QUFBUixFQUFBLG1CQUFRLFlBQTZCO0FBQUEsSUFLNUUsSUFBYyxVQUFPO0FBQ25CLGFBQU8sTUFBTSxLQUFLLEtBQUssbUJBQXdDLFlBQVksS0FBSyxFQUFFO0FBQUEsSUFDcEY7QUFBQSxJQUVBLGNBQUE7QUFDRSxZQUFBO0FBUlEsV0FBQSxZQUFZLG9CQUFvQixFQUFFLE1BQU07QUFDeEMsV0FBQSxZQUFZO0FBUXBCLFdBQUssbUJBQW1CLGtCQUFrQixDQUFDLE1BQWEsS0FBSyxpQkFBaUIsQ0FBQyxDQUFDO0FBQUEsSUFDbEY7QUFBQSxJQUVVLGVBQVk7QUFDcEIsV0FBSyxtQkFDSCw4QkFBOEIsRUFDOUIsUUFBUSxDQUFDLE9BQVEsR0FBRyxXQUFXLEtBQUssUUFBUztBQUUvQyxXQUFLLG1CQUNILDBCQUEwQixFQUMxQixRQUFRLENBQUMsWUFBWSxRQUFRLGdCQUFnQixpQkFBaUIsS0FBSyxRQUFRLENBQUM7QUFBQSxJQUNoRjtBQUFBLElBRVUsK0JBQStCLE9BQW9CO0FBQzNELFVBQUksS0FBSyxVQUFVLFVBQVU7QUFDM0I7QUFBQSxNQUNGO0FBRUEsY0FBUSxNQUFNLEtBQUE7QUFBQSxRQUNaLEtBQUs7QUFDSCxlQUFLLE1BQUE7QUFDTDtBQUFBLFFBRUYsS0FBSztBQUNILGVBQUssaUJBQWlCLEtBQUs7QUFDM0I7QUFBQSxRQUVGLEtBQUs7QUFBQSxRQUNMLEtBQUs7QUFDSCxlQUFLLG9CQUFvQixLQUFLO0FBQzlCO0FBQUEsTUFBQTtBQUFBLElBRU47QUFBQSxJQUVVLGlCQUFpQixPQUFvQjtBQUM3QyxZQUFNLGVBQUE7QUFFTixXQUFLLGVBQWUsMEJBQTBCLEVBQUUsSUFBSTtBQUFBLElBQ3REO0FBQUEsSUFFVSxvQkFBb0IsT0FBcUI7QUFDakQsWUFBTSxpQkFBaUIsS0FBSyxRQUFRLE9BQ2xDLENBQUMsUUFBUSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksYUFBYSxxQkFBcUIsQ0FBQztBQUlwRSxXQUFLLGNBQWMsVUFBVSxLQUFLO0FBQ2xDLFdBQUssZ0JBQWdCLGdCQUFnQix1QkFBdUI7QUFFNUQsVUFBSSxDQUFDLGVBQWUsUUFBUTtBQUMxQixhQUFLLGVBQWU7QUFDcEI7QUFBQSxNQUNGO0FBRUEsWUFBTSxrQkFBa0IsS0FBSyxlQUN6QixlQUFlLFFBQVEsS0FBSyxZQUFtQyxJQUMvRDtBQUdKLFlBQU0sT0FBTyxvQkFBb0IsT0FBTyxpQkFBaUIsZUFBZSxNQUFNO0FBQzlFLFdBQUssZUFBZSxlQUFlLElBQUk7QUFDdkMsV0FBSyxhQUFhLFVBQVUsSUFBSTtBQUNoQyxXQUFLLGdCQUFnQixhQUFhLHlCQUF5QixLQUFLLGFBQWEsRUFBRTtBQUMvRSxXQUFLLGFBQWEsZUFBZSxFQUFFLE9BQU8sV0FBVztBQUNyRCxVQUFJLEtBQUssd0JBQXdCO0FBQy9CLGFBQUssdUJBQXVCLEtBQUssWUFBWTtBQUFBLE1BQy9DO0FBQUEsSUFDRjtBQUFBLElBRVUscUJBQWtCO0FBQzFCLFdBQUssY0FBYyxVQUFVLEtBQUs7QUFDbEMsV0FBSyxnQkFBZ0IsZ0JBQWdCLHVCQUF1QjtBQUM1RCxXQUFLLGVBQWU7QUFBQSxJQUN0QjtBQUFBLElBRVUscUJBQXFCLFNBQXlCO0FBQ3RELGdDQUEwQixTQUFTLGlCQUFpQixLQUFLLEtBQUssS0FBSyxXQUFXLEtBQUs7QUFBQSxJQUNyRjtBQUFBOztBQXhGRixpQkFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBQ2tDLEdBQUEsT0FBTyxpQkFBaUIsWUFBWSxNQURoRSxrQkFBQSxZQUFBLHVCQUFBLEdBQW1DOzs7In0=
87
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGdldE5leHRFbGVtZW50SW5kZXggfSBmcm9tICcuLi9jb3JlL2ExMXkudHMnO1xuaW1wb3J0IHsgaXNTYWZhcmkgfSBmcm9tICcuLi9jb3JlL2RvbS50cyc7XG5pbXBvcnQgeyBzZXRBcmlhQ29tYm9Cb3hBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vY29yZS9vdmVybGF5LnRzJztcbmltcG9ydCB0eXBlIHsgU2JiRGl2aWRlckVsZW1lbnQgfSBmcm9tICcuLi9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHsgU2JiT3B0aW9uRWxlbWVudCwgU2JiT3B0aW9uSGludEVsZW1lbnQgfSBmcm9tICcuLi9vcHRpb24udHMnO1xuXG5pbXBvcnQgeyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLWJhc2UtZWxlbWVudC50cyc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIE9uIFNhZmFyaSwgdGhlIGFyaWEgcm9sZSAnbGlzdGJveCcgbXVzdCBiZSBvbiB0aGUgaG9zdCBlbGVtZW50LCBvciBlbHNlIFZvaWNlT3ZlciB3b24ndCB3b3JrIGF0IGFsbC5cbiAqIE9uIHRoZSBvdGhlciBoYW5kLCBKQVdTIGFuZCBOVkRBIG5lZWQgdGhlIHJvbGUgdG8gYmUgXCJjbG9zZXJcIiB0byB0aGUgb3B0aW9ucywgb3IgZWxzZSBvcHRncm91cHMgd29uJ3Qgd29yay5cbiAqL1xuY29uc3QgYXJpYVJvbGVPbkhvc3QgPSBpc1NhZmFyaTtcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgbmF0aXZlIGlucHV0LCBpdCBkaXNwbGF5cyBhIHBhbmVsIHdpdGggYSBsaXN0IG9mIGF2YWlsYWJsZSBvcHRpb25zLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItb3B0aW9uYCBvciBgc2JiLW9wdGdyb3VwYCBlbGVtZW50cyB0byB0aGUgYHNiYi1hdXRvY29tcGxldGVgLlxuICogQGNzc3Byb3AgWy0tc2JiLWF1dG9jb21wbGV0ZS16LWluZGV4PXZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCldIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuIFRoZSBkZWZhdWx0IGB6LWluZGV4YCBvZiB0aGVcbiAqIGNvbXBvbmVudCBpcyBzZXQgdG8gYHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleClgIHdpdGggYSB2YWx1ZSBvZiBgMTAwMGAuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1hdXRvY29tcGxldGUnKVxuY2xhc3MgU2JiQXV0b2NvbXBsZXRlRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50PFQ+IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gYXJpYVJvbGVPbkhvc3QgPyAnbGlzdGJveCcgOiBudWxsO1xuICBwcm90ZWN0ZWQgb3ZlcmxheUlkID0gYHNiYi1hdXRvY29tcGxldGUtJHsrK25leHRJZH1gO1xuICBwcm90ZWN0ZWQgcGFuZWxSb2xlID0gJ2xpc3Rib3gnO1xuXG4gIHByb3RlY3RlZCBnZXQgb3B0aW9ucygpOiBTYmJPcHRpb25FbGVtZW50PFQ+W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uPFNiYk9wdGlvbkVsZW1lbnQ8VD4+KCdzYmItb3B0aW9uJykgPz8gW10pO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ29wdGlvbnNlbGVjdGVkJywgKGU6IEV2ZW50KSA9PiB0aGlzLm9uT3B0aW9uU2VsZWN0ZWQoZSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bmNOZWdhdGl2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/LjxTYmJEaXZpZGVyRWxlbWVudCB8IFNiYk9wdGlvbkhpbnRFbGVtZW50PihcbiAgICAgICdzYmItZGl2aWRlciwgc2JiLW9wdGlvbi1oaW50JyxcbiAgICApLmZvckVhY2goKGVsKSA9PiAoZWwubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3BlbmVkUGFuZWxLZXlib2FyZEludGVyYWN0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgdGhpcy5zZWxlY3RCeUtleWJvYXJkKGV2ZW50KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgdGhpcy5zZXROZXh0QWN0aXZlT3B0aW9uKGV2ZW50KTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNlbGVjdEJ5S2V5Ym9hcmQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgdGhpcy5hY3RpdmVPcHRpb24/Llsnc2VsZWN0VmlhVXNlckludGVyYWN0aW9uJ10odHJ1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0TmV4dEFjdGl2ZU9wdGlvbihldmVudD86IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucy5maWx0ZXIoKG9wdCkgPT4gIW9wdC5tYXRjaGVzKCc6c3RhdGUoZGlzYWJsZWQpJykpO1xuXG4gICAgLy8gUmVzZXQgcG90ZW50aWFsbHkgYWN0aXZlIG9wdGlvblxuICAgIHRoaXMuYWN0aXZlT3B0aW9uPy5zZXRBY3RpdmUoZmFsc2UpO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1hY3RpdmVkZXNjZW5kYW50Jyk7XG5cbiAgICBpZiAoIWVuYWJsZWRPcHRpb25zLmxlbmd0aCkge1xuICAgICAgdGhpcy5hY3RpdmVPcHRpb24gPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGFjdGl2ZUl0ZW1JbmRleCA9IHRoaXMuYWN0aXZlT3B0aW9uXG4gICAgICA/IGVuYWJsZWRPcHRpb25zLmluZGV4T2YodGhpcy5hY3RpdmVPcHRpb24gYXMgU2JiT3B0aW9uRWxlbWVudDxUPilcbiAgICAgIDogLTE7XG5cbiAgICAvLyBHZXQgYW5kIGFjdGl2YXRlIHRoZSBuZXh0IGFjdGl2ZSBvcHRpb25cbiAgICBjb25zdCBuZXh0ID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldmVudCwgYWN0aXZlSXRlbUluZGV4LCBlbmFibGVkT3B0aW9ucy5sZW5ndGgpO1xuICAgIHRoaXMuYWN0aXZlT3B0aW9uID0gZW5hYmxlZE9wdGlvbnNbbmV4dF07XG4gICAgdGhpcy5hY3RpdmVPcHRpb24uc2V0QWN0aXZlKHRydWUpO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1hY3RpdmVkZXNjZW5kYW50JywgdGhpcy5hY3RpdmVPcHRpb24uaWQpO1xuICAgIHRoaXMuYWN0aXZlT3B0aW9uLnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JyB9KTtcbiAgICBpZiAodGhpcy5hdXRvU2VsZWN0QWN0aXZlT3B0aW9uKSB7XG4gICAgICB0aGlzLm9uT3B0aW9uQXJyb3dzU2VsZWN0ZWQodGhpcy5hY3RpdmVPcHRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCByZXNldEFjdGl2ZUVsZW1lbnQoKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVPcHRpb24/LnNldEFjdGl2ZShmYWxzZSk7XG4gICAgdGhpcy50cmlnZ2VyRWxlbWVudD8ucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnKTtcbiAgICB0aGlzLmFjdGl2ZU9wdGlvbiA9IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0VHJpZ2dlckF0dHJpYnV0ZXMoZWxlbWVudDogSFRNTElucHV0RWxlbWVudCk6IHZvaWQge1xuICAgIHNldEFyaWFDb21ib0JveEF0dHJpYnV0ZXMoZWxlbWVudCwgYXJpYVJvbGVPbkhvc3QgPyB0aGlzLmlkIDogdGhpcy5vdmVybGF5SWQsIGZhbHNlKTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWF1dG9jb21wbGV0ZSc6IFNiYkF1dG9jb21wbGV0ZUVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFVQSxJQUFJLFNBQVM7QUFNYixNQUFNLGlCQUFpQjtJQVlqQiwwQkFBc0IsTUFBQTs7MEJBRDNCLGNBQWMsa0JBQWtCLENBQUM7Ozs7b0JBQ2U7QUFBUixFQUFBLG1CQUFRLFlBQTZCO0FBQUEsSUFLNUUsSUFBYyxVQUFPO0FBQ25CLGFBQU8sTUFBTSxLQUFLLEtBQUssbUJBQXdDLFlBQVksS0FBSyxFQUFFO0FBQUEsSUFDcEY7QUFBQSxJQUVBLGNBQUE7QUFDRSxZQUFBO0FBUlEsV0FBQSxZQUFZLG9CQUFvQixFQUFFLE1BQU07QUFDeEMsV0FBQSxZQUFZO0FBUXBCLFdBQUssbUJBQW1CLGtCQUFrQixDQUFDLE1BQWEsS0FBSyxpQkFBaUIsQ0FBQyxDQUFDO0FBQUEsSUFDbEY7QUFBQSxJQUVVLGVBQVk7QUFDcEIsV0FBSyxtQkFDSCw4QkFBOEIsRUFDOUIsUUFBUSxDQUFDLE9BQVEsR0FBRyxXQUFXLEtBQUssUUFBUztBQUFBLElBQ2pEO0FBQUEsSUFFVSwrQkFBK0IsT0FBb0I7QUFDM0QsVUFBSSxLQUFLLFVBQVUsVUFBVTtBQUMzQjtBQUFBLE1BQ0Y7QUFFQSxjQUFRLE1BQU0sS0FBQTtBQUFBLFFBQ1osS0FBSztBQUNILGVBQUssTUFBQTtBQUNMO0FBQUEsUUFFRixLQUFLO0FBQ0gsZUFBSyxpQkFBaUIsS0FBSztBQUMzQjtBQUFBLFFBRUYsS0FBSztBQUFBLFFBQ0wsS0FBSztBQUNILGVBQUssb0JBQW9CLEtBQUs7QUFDOUI7QUFBQSxNQUFBO0FBQUEsSUFFTjtBQUFBLElBRVUsaUJBQWlCLE9BQW9CO0FBQzdDLFlBQU0sZUFBQTtBQUVOLFdBQUssZUFBZSwwQkFBMEIsRUFBRSxJQUFJO0FBQUEsSUFDdEQ7QUFBQSxJQUVVLG9CQUFvQixPQUFxQjtBQUNqRCxZQUFNLGlCQUFpQixLQUFLLFFBQVEsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEseUNBQWtCLENBQUM7QUFHcEYsV0FBSyxjQUFjLFVBQVUsS0FBSztBQUNsQyxXQUFLLGdCQUFnQixnQkFBZ0IsdUJBQXVCO0FBRTVELFVBQUksQ0FBQyxlQUFlLFFBQVE7QUFDMUIsYUFBSyxlQUFlO0FBQ3BCO0FBQUEsTUFDRjtBQUVBLFlBQU0sa0JBQWtCLEtBQUssZUFDekIsZUFBZSxRQUFRLEtBQUssWUFBbUMsSUFDL0Q7QUFHSixZQUFNLE9BQU8sb0JBQW9CLE9BQU8saUJBQWlCLGVBQWUsTUFBTTtBQUM5RSxXQUFLLGVBQWUsZUFBZSxJQUFJO0FBQ3ZDLFdBQUssYUFBYSxVQUFVLElBQUk7QUFDaEMsV0FBSyxnQkFBZ0IsYUFBYSx5QkFBeUIsS0FBSyxhQUFhLEVBQUU7QUFDL0UsV0FBSyxhQUFhLGVBQWUsRUFBRSxPQUFPLFdBQVc7QUFDckQsVUFBSSxLQUFLLHdCQUF3QjtBQUMvQixhQUFLLHVCQUF1QixLQUFLLFlBQVk7QUFBQSxNQUMvQztBQUFBLElBQ0Y7QUFBQSxJQUVVLHFCQUFrQjtBQUMxQixXQUFLLGNBQWMsVUFBVSxLQUFLO0FBQ2xDLFdBQUssZ0JBQWdCLGdCQUFnQix1QkFBdUI7QUFDNUQsV0FBSyxlQUFlO0FBQUEsSUFDdEI7QUFBQSxJQUVVLHFCQUFxQixTQUF5QjtBQUN0RCxnQ0FBMEIsU0FBUyxpQkFBaUIsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLO0FBQUEsSUFDckY7QUFBQTs7QUFsRkYsaUJBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQUNrQyxHQUFBLE9BQU8saUJBQWlCLFlBQVksTUFEaEUsa0JBQUEsWUFBQSx1QkFBQSxHQUFtQzs7OyJ9
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @entrypoint
3
3
  */
4
- export * from './autocomplete/autocomplete.component.js';
5
- export * from './autocomplete/autocomplete-base-element.js';
4
+ export * from './autocomplete/autocomplete.component.ts';
5
+ export * from './autocomplete/autocomplete-base-element.ts';
6
6
  //# sourceMappingURL=autocomplete.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import { CSSResultGroup, TemplateResult } from 'lit';
2
- import { SbbLinkBaseElement } from '../../core/base-elements.js';
3
- declare const SbbBreadcrumbElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../icon.js').SbbIconNameMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbHydrationMixinType> & typeof SbbLinkBaseElement;
2
+ import { SbbLinkBaseElement } from '../../core/base-elements.ts';
3
+ declare const SbbBreadcrumbElement_base: import('../../core/mixins.ts').AbstractConstructor<import('../../icon.ts').SbbIconNameMixinType> & import('../../core/mixins.ts').AbstractConstructor<import('../../core/mixins.ts').SbbHydrationMixinType> & typeof SbbLinkBaseElement;
4
4
  /**
5
5
  * It displays a link to a page; used within a `sbb-breadcrumb-group` it can display the path to the current page.
6
6
  *
@@ -18,7 +18,7 @@ const style = css`:host {
18
18
  --sbb-breadcrumb-color: light-dark(var(--sbb-color-charcoal), var(--sbb-color-smoke));
19
19
  }
20
20
  }
21
- :host(:is(:active, [data-active])) {
21
+ :host(:is(:active, :is(:state(active),[state--active]))) {
22
22
  --sbb-breadcrumb-color: var(--sbb-color-anthracite);
23
23
  --sbb-breadcrumb-color: light-dark(var(--sbb-color-anthracite), var(--sbb-color-cloud));
24
24
  }
@@ -102,4 +102,4 @@ let SbbBreadcrumbElement = (() => {
102
102
  export {
103
103
  SbbBreadcrumbElement
104
104
  };
105
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBTYmJMaW5rQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgU2JiSHlkcmF0aW9uTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy5qcyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2JyZWFkY3J1bWIuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGxpbmsgdG8gYSBwYWdlOyB1c2VkIHdpdGhpbiBhIGBzYmItYnJlYWRjcnVtYi1ncm91cGAgaXQgY2FuIGRpc3BsYXkgdGhlIHBhdGggdG8gdGhlIGN1cnJlbnQgcGFnZS5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBicmVhZGNydW1iLlxuICogQHNsb3QgaWNvbiAtIFVzZSB0aGlzIHRvIGRpc3BsYXkgYW4gaWNvbiBhcyBicmVhZGNydW1iLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItYnJlYWRjcnVtYicpXG5jbGFzcyBTYmJCcmVhZGNydW1iRWxlbWVudCBleHRlbmRzIFNiYkljb25OYW1lTWl4aW4oU2JiSHlkcmF0aW9uTWl4aW4oU2JiTGlua0Jhc2VFbGVtZW50KSkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCBzdHlsZV07XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgICR7dGhpcy5yZW5kZXJJY29uU2xvdCgnc2JiLWJyZWFkY3J1bWJfX2ljb24nKX1cbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWJyZWFkY3J1bWJfX2xhYmVsXCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItYnJlYWRjcnVtYic6IFNiYkJyZWFkY3J1bWJFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFtQk0sd0JBQW9CLE1BQUE7OzBCQUR6QixjQUFjLGdCQUFnQixDQUFDOzs7O0FBQ0csTUFBQSxjQUFBLGlCQUFpQixrQkFBa0Isa0JBQWtCLENBQUM7QUFBOUQsRUFBQSxtQkFBUSxZQUF1RDtBQUFBLElBR3JFLGlCQUFjO0FBQy9CLGFBQU87QUFBQSxRQUNILEtBQUssZUFBZSxzQkFBc0IsQ0FBQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFLakQ7QUFBQTs7QUFWRixpQkFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBQ3lCLEdBQUEsU0FBeUIsQ0FBQyxpQkFBaUIsS0FBSyxHQURuRSxrQkFBQSxZQUFBLHVCQUFBLEdBQXFCOzs7In0=
105
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBTYmJMaW5rQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuaW1wb3J0IHsgU2JiSHlkcmF0aW9uTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2JyZWFkY3J1bWIuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGxpbmsgdG8gYSBwYWdlOyB1c2VkIHdpdGhpbiBhIGBzYmItYnJlYWRjcnVtYi1ncm91cGAgaXQgY2FuIGRpc3BsYXkgdGhlIHBhdGggdG8gdGhlIGN1cnJlbnQgcGFnZS5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBicmVhZGNydW1iLlxuICogQHNsb3QgaWNvbiAtIFVzZSB0aGlzIHRvIGRpc3BsYXkgYW4gaWNvbiBhcyBicmVhZGNydW1iLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItYnJlYWRjcnVtYicpXG5jbGFzcyBTYmJCcmVhZGNydW1iRWxlbWVudCBleHRlbmRzIFNiYkljb25OYW1lTWl4aW4oU2JiSHlkcmF0aW9uTWl4aW4oU2JiTGlua0Jhc2VFbGVtZW50KSkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCBzdHlsZV07XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgICR7dGhpcy5yZW5kZXJJY29uU2xvdCgnc2JiLWJyZWFkY3J1bWJfX2ljb24nKX1cbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWJyZWFkY3J1bWJfX2xhYmVsXCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItYnJlYWRjcnVtYic6IFNiYkJyZWFkY3J1bWJFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFtQk0sd0JBQW9CLE1BQUE7OzBCQUR6QixjQUFjLGdCQUFnQixDQUFDOzs7O0FBQ0csTUFBQSxjQUFBLGlCQUFpQixrQkFBa0Isa0JBQWtCLENBQUM7QUFBOUQsRUFBQSxtQkFBUSxZQUF1RDtBQUFBLElBR3JFLGlCQUFjO0FBQy9CLGFBQU87QUFBQSxRQUNILEtBQUssZUFBZSxzQkFBc0IsQ0FBQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFLakQ7QUFBQTs7QUFWRixpQkFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBQ3lCLEdBQUEsU0FBeUIsQ0FBQyxpQkFBaUIsS0FBSyxHQURuRSxrQkFBQSxZQUFBLHVCQUFBLEdBQXFCOzs7In0=
@@ -1,7 +1,7 @@
1
1
  import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from 'lit';
2
- import { WithListChildren } from '../../core/mixins.js';
3
- import { SbbBreadcrumbElement } from '../breadcrumb.js';
4
- declare const SbbBreadcrumbGroupElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbNamedSlotListMixinType<SbbBreadcrumbElement>> & typeof LitElement;
2
+ import { WithListChildren } from '../../core/mixins.ts';
3
+ import { SbbBreadcrumbElement } from '../breadcrumb.ts';
4
+ declare const SbbBreadcrumbGroupElement_base: import('../../core/mixins.ts').AbstractConstructor<import('../../core/mixins.ts').SbbElementInternalsMixinType> & import('../../core/mixins.ts').AbstractConstructor<import('../../core/mixins.ts').SbbNamedSlotListMixinType<SbbBreadcrumbElement>> & typeof LitElement & import('../../core/mixins.ts').SbbElementInternalsConstructor;
5
5
  /**
6
6
  * It can be used as a container for one or more `sbb-breadcrumb` component.
7
7
  *
@@ -12,8 +12,7 @@ export declare class SbbBreadcrumbGroupElement extends SbbBreadcrumbGroupElement
12
12
  static styles: CSSResultGroup;
13
13
  protected readonly listChildLocalNames: string[];
14
14
  /** The state of the breadcrumb group. */
15
- private set _state(value);
16
- private get _state();
15
+ private accessor _state;
17
16
  private _resizeObserver;
18
17
  private _language;
19
18
  private _markForFocus;
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb-group.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/breadcrumb/breadcrumb-group/breadcrumb-group.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAWb,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAI7D,OAAO,eAAe,CAAC;;AAIvB;;;;GAIG;AACH,qBAEM,yBAA0B,SAAQ,8BAGD;IACrC,gBAAuB,IAAI,gBAAgB;IAC3C,OAAuB,MAAM,EAAE,cAAc,CAA4B;IACzE,mBAA4B,mBAAmB,WAAsB;IAErE,yCAAyC;IAEzC,OAAO,KAAK,MAAM,QAEjB;IACD,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,eAAe,CAIpB;IACH,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,aAAa,CAAS;;IAO9B,OAAO,CAAC,cAAc;cAiBH,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAO3D,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;cAQ3E,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;IAa3F,2EAA2E;IAC3E,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,UAAU;IAYlB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAK1B,kGAAkG;IAClG,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,eAAe;cAgBJ,MAAM,IAAI,cAAc;CAQ5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,sBAAsB,EAAE,yBAAyB,CAAC;KACnD;CACF"}
1
+ {"version":3,"file":"breadcrumb-group.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/breadcrumb/breadcrumb-group/breadcrumb-group.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAUb,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAI7D,OAAO,eAAe,CAAC;;AAIvB;;;;GAIG;AACH,qBAEM,yBAA0B,SAAQ,8BAEvC;IACC,gBAAgC,IAAI,gBAAgB;IACpD,OAAuB,MAAM,EAAE,cAAc,CAA4B;IACzE,mBAA4B,mBAAmB,WAAsB;IAErE,yCAAyC;IAEzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkD;IAEzE,OAAO,CAAC,eAAe,CAIpB;IACH,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,aAAa,CAAS;;IAO9B,OAAO,CAAC,cAAc;cAiBH,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAO3D,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;cAQ3E,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;IAa3F,2EAA2E;IAC3E,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,UAAU;IAYlB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAK1B,kGAAkG;IAClG,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,eAAe;cAgBJ,MAAM,IAAI,cAAc;CAQ5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,sBAAsB,EAAE,yBAAyB,CAAC;KACnD;CACF"}