@sbb-esta/lyne-elements 2.11.2 → 3.0.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (956) hide show
  1. package/_index.scss +1 -1
  2. package/accordion/accordion.component.js +22 -19
  3. package/action-group/action-group.component.d.ts.map +1 -1
  4. package/action-group/action-group.component.js +5 -3
  5. package/alert/alert/alert.component.d.ts +2 -7
  6. package/alert/alert/alert.component.d.ts.map +1 -1
  7. package/alert/alert/alert.component.js +57 -68
  8. package/alert/alert-group/alert-group.component.js +3 -2
  9. package/autocomplete/autocomplete-base-element.d.ts +26 -17
  10. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  11. package/autocomplete/autocomplete-base-element.js +120 -81
  12. package/autocomplete/autocomplete.component.d.ts +3 -2
  13. package/autocomplete/autocomplete.component.d.ts.map +1 -1
  14. package/autocomplete/autocomplete.component.js +31 -29
  15. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +3 -2
  16. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  17. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +46 -41
  18. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +1 -0
  19. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
  20. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +10 -10
  21. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts +4 -1
  22. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +1 -1
  23. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +11 -13
  24. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +20 -17
  25. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +4 -6
  26. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  27. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +22 -23
  28. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts +4 -1
  29. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +1 -1
  30. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +10 -12
  31. package/autocomplete.js +4 -5
  32. package/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  33. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts +1 -0
  34. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  35. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +29 -28
  36. package/button/accent-button/accent-button.component.d.ts +1 -0
  37. package/button/accent-button/accent-button.component.d.ts.map +1 -1
  38. package/button/button/button.component.d.ts +1 -0
  39. package/button/button/button.component.d.ts.map +1 -1
  40. package/button/common/button-common.d.ts +4 -6
  41. package/button/common/button-common.d.ts.map +1 -1
  42. package/button/mini-button/mini-button.component.d.ts +1 -0
  43. package/button/mini-button/mini-button.component.d.ts.map +1 -1
  44. package/button/mini-button/mini-button.component.js +1 -1
  45. package/button/mini-button-group/mini-button-group.component.js +2 -1
  46. package/button/secondary-button/secondary-button.component.d.ts +1 -0
  47. package/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  48. package/button/transparent-button/transparent-button.component.d.ts +1 -0
  49. package/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  50. package/calendar/calendar.component.d.ts +16 -14
  51. package/calendar/calendar.component.d.ts.map +1 -1
  52. package/calendar/calendar.component.js +144 -127
  53. package/card/card/card.component.js +12 -12
  54. package/card/card-badge/card-badge.component.d.ts +4 -1
  55. package/card/card-badge/card-badge.component.d.ts.map +1 -1
  56. package/card/card-badge/card-badge.component.js +18 -21
  57. package/card/card-button/card-button.component.d.ts +1 -0
  58. package/card/card-button/card-button.component.d.ts.map +1 -1
  59. package/card/common/card-action-common.d.ts.map +1 -1
  60. package/card/common/card-action-common.js +21 -22
  61. package/checkbox/checkbox/checkbox.component.d.ts +4 -1
  62. package/checkbox/checkbox/checkbox.component.d.ts.map +1 -1
  63. package/checkbox/checkbox/checkbox.component.js +48 -35
  64. package/checkbox/checkbox-group/checkbox-group.component.js +52 -39
  65. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts +4 -1
  66. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  67. package/checkbox/checkbox-panel/checkbox-panel.component.js +46 -33
  68. package/checkbox/common/checkbox-common.d.ts +4 -2
  69. package/checkbox/common/checkbox-common.d.ts.map +1 -1
  70. package/checkbox/common/checkbox-common.js +15 -13
  71. package/chip/chip/chip.component.d.ts +5 -6
  72. package/chip/chip/chip.component.d.ts.map +1 -1
  73. package/chip/chip/chip.component.js +37 -50
  74. package/chip/chip-group/chip-group.component.d.ts +22 -10
  75. package/chip/chip-group/chip-group.component.d.ts.map +1 -1
  76. package/chip/chip-group/chip-group.component.js +134 -108
  77. package/clock/clock.component.d.ts +1 -1
  78. package/clock/clock.component.d.ts.map +1 -1
  79. package/clock/clock.component.js +61 -51
  80. package/container/container/container.component.js +29 -28
  81. package/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  82. package/container/sticky-bar/sticky-bar.component.js +21 -23
  83. package/core/a11y/focus-trap-controller.js +14 -11
  84. package/core/a11y/focus.d.ts +0 -32
  85. package/core/a11y/focus.d.ts.map +1 -1
  86. package/core/a11y/focus.js +3 -63
  87. package/core/a11y/input-modality-detector.d.ts +0 -5
  88. package/core/a11y/input-modality-detector.d.ts.map +1 -1
  89. package/core/a11y/input-modality-detector.js +17 -27
  90. package/core/a11y/interactivity-checker.d.ts +0 -11
  91. package/core/a11y/interactivity-checker.d.ts.map +1 -1
  92. package/core/a11y/interactivity-checker.js +10 -11
  93. package/core/a11y/live-announcer.d.ts +62 -0
  94. package/core/a11y/live-announcer.d.ts.map +1 -0
  95. package/core/a11y/live-announcer.js +47 -0
  96. package/core/a11y.d.ts +1 -0
  97. package/core/a11y.d.ts.map +1 -1
  98. package/core/a11y.js +19 -21
  99. package/core/base-elements/action-base-element.d.ts +3 -1
  100. package/core/base-elements/action-base-element.d.ts.map +1 -1
  101. package/core/base-elements/action-base-element.js +12 -11
  102. package/core/base-elements/button-base-element.d.ts +25 -18
  103. package/core/base-elements/button-base-element.d.ts.map +1 -1
  104. package/core/base-elements/button-base-element.js +103 -66
  105. package/core/base-elements/link-base-element.js +6 -3
  106. package/core/base-elements/open-close-base-element.d.ts +3 -1
  107. package/core/base-elements/open-close-base-element.d.ts.map +1 -1
  108. package/core/base-elements/open-close-base-element.js +3 -2
  109. package/core/base-elements.js +9 -8
  110. package/core/controllers/escapable-overlay-controller.js +12 -10
  111. package/core/controllers/id-reference-controller.js +14 -13
  112. package/core/controllers/inert-controller.d.ts.map +1 -1
  113. package/core/controllers/inert-controller.js +10 -8
  114. package/core/controllers/slot-state-controller.js +26 -16
  115. package/core/controllers.d.ts +0 -1
  116. package/core/controllers.d.ts.map +1 -1
  117. package/core/controllers.js +17 -19
  118. package/core/datetime/date-adapter.d.ts +2 -2
  119. package/core/datetime/date-adapter.d.ts.map +1 -1
  120. package/core/datetime/date-adapter.js +22 -22
  121. package/core/datetime/native-date-adapter.d.ts +2 -3
  122. package/core/datetime/native-date-adapter.d.ts.map +1 -1
  123. package/core/datetime/native-date-adapter.js +71 -75
  124. package/core/decorators/force-type.js +5 -4
  125. package/core/decorators/id-reference.d.ts +11 -0
  126. package/core/decorators/id-reference.d.ts.map +1 -0
  127. package/core/decorators/id-reference.js +79 -0
  128. package/core/decorators/plain-date.d.ts +23 -0
  129. package/core/decorators/plain-date.d.ts.map +1 -0
  130. package/core/decorators/plain-date.js +29 -0
  131. package/core/decorators.d.ts +2 -2
  132. package/core/decorators.d.ts.map +1 -1
  133. package/core/decorators.js +17 -16
  134. package/core/dom/breakpoint.js +8 -8
  135. package/core/dom.d.ts +0 -2
  136. package/core/dom.d.ts.map +1 -1
  137. package/core/dom.js +22 -26
  138. package/core/eventing/event-emitter.js +5 -4
  139. package/core/eventing/forward-event.d.ts +0 -6
  140. package/core/eventing/forward-event.d.ts.map +1 -1
  141. package/core/eventing/forward-event.js +4 -6
  142. package/core/eventing.js +12 -13
  143. package/core/i18n/i18n.d.ts +4 -1
  144. package/core/i18n/i18n.d.ts.map +1 -1
  145. package/core/i18n/i18n.js +106 -88
  146. package/core/i18n.js +42 -39
  147. package/core/interfaces/types.d.ts +0 -1
  148. package/core/interfaces/types.d.ts.map +1 -1
  149. package/core/mixins/animation-complete-mixin.d.ts +1 -1
  150. package/core/mixins/animation-complete-mixin.d.ts.map +1 -1
  151. package/core/mixins/disabled-mixin.d.ts +2 -2
  152. package/core/mixins/disabled-mixin.d.ts.map +1 -1
  153. package/core/mixins/element-internals-mixin.d.ts +15 -0
  154. package/core/mixins/element-internals-mixin.d.ts.map +1 -0
  155. package/core/mixins/element-internals-mixin.js +41 -0
  156. package/core/mixins/form-associated-checkbox-mixin.d.ts +7 -13
  157. package/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  158. package/core/mixins/form-associated-checkbox-mixin.js +41 -32
  159. package/core/mixins/form-associated-input-mixin.d.ts +15 -9
  160. package/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  161. package/core/mixins/form-associated-input-mixin.js +89 -67
  162. package/core/mixins/form-associated-mixin.d.ts +8 -7
  163. package/core/mixins/form-associated-mixin.d.ts.map +1 -1
  164. package/core/mixins/form-associated-mixin.js +54 -44
  165. package/core/mixins/form-associated-radio-button-mixin.d.ts +6 -14
  166. package/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
  167. package/core/mixins/form-associated-radio-button-mixin.js +36 -25
  168. package/core/mixins/hydration-mixin.js +13 -12
  169. package/core/mixins/named-slot-list-mixin.js +37 -32
  170. package/core/mixins/panel-mixin.js +27 -26
  171. package/core/mixins/readonly-mixin.d.ts +10 -0
  172. package/core/mixins/readonly-mixin.d.ts.map +1 -0
  173. package/core/mixins/readonly-mixin.js +30 -0
  174. package/core/mixins/required-mixin.d.ts +2 -2
  175. package/core/mixins/required-mixin.d.ts.map +1 -1
  176. package/core/mixins.d.ts +2 -0
  177. package/core/mixins.d.ts.map +1 -1
  178. package/core/mixins.js +25 -21
  179. package/core/overlay/position.js +23 -23
  180. package/core/styles/core/mediaqueries.scss +1 -1
  181. package/core/styles/core.scss +65 -42
  182. package/core/styles/mixins/font-face.scss +6 -18
  183. package/core/styles/mixins/link.scss +3 -7
  184. package/core/styles/mixins/lists.scss +0 -63
  185. package/core/styles/mixins/overlay.scss +7 -1
  186. package/core/styles/mixins/table.scss +24 -8
  187. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +530 -0
  188. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +1123 -0
  189. package/core/styles/table.scss +0 -4
  190. package/core/testing/event-spy.js +4 -2
  191. package/core/testing/wait-for-image-ready.js +9 -8
  192. package/core/testing/wait-for-render.js +9 -8
  193. package/core/testing.d.ts +0 -1
  194. package/core/testing.d.ts.map +1 -1
  195. package/core/testing.js +8 -10
  196. package/core.css +41 -18
  197. package/custom-elements.json +19267 -12207
  198. package/date-input/date-input.component.d.ts +12 -14
  199. package/date-input/date-input.component.d.ts.map +1 -1
  200. package/date-input/date-input.component.js +56 -58
  201. package/datepicker/common/datepicker-association-controllers.d.ts.map +1 -1
  202. package/datepicker/common/datepicker-association-controllers.js +28 -25
  203. package/datepicker/common/datepicker-button.d.ts +0 -12
  204. package/datepicker/common/datepicker-button.d.ts.map +1 -1
  205. package/datepicker/common/datepicker-button.js +43 -53
  206. package/datepicker/datepicker/datepicker.component.d.ts +3 -20
  207. package/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  208. package/datepicker/datepicker/datepicker.component.js +97 -94
  209. package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +2 -0
  210. package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  211. package/datepicker/datepicker-next-day/datepicker-next-day.component.js +12 -12
  212. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +2 -0
  213. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  214. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +13 -13
  215. package/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts +0 -8
  216. package/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts.map +1 -1
  217. package/datepicker/datepicker-toggle/datepicker-toggle.component.js +75 -82
  218. package/datepicker/datepicker.js +2 -4
  219. package/datepicker.js +10 -12
  220. package/development/accordion/accordion.component.js +7 -4
  221. package/development/action-group/action-group.component.d.ts.map +1 -1
  222. package/development/action-group/action-group.component.js +5 -3
  223. package/development/alert/alert/alert.component.d.ts +2 -7
  224. package/development/alert/alert/alert.component.d.ts.map +1 -1
  225. package/development/alert/alert/alert.component.js +10 -27
  226. package/development/alert/alert-group/alert-group.component.js +3 -2
  227. package/development/autocomplete/autocomplete-base-element.d.ts +26 -17
  228. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  229. package/development/autocomplete/autocomplete-base-element.js +96 -55
  230. package/development/autocomplete/autocomplete.component.d.ts +3 -2
  231. package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
  232. package/development/autocomplete/autocomplete.component.js +15 -14
  233. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +3 -2
  234. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  235. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +20 -16
  236. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +1 -0
  237. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
  238. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +5 -5
  239. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts +4 -1
  240. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +1 -1
  241. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +5 -7
  242. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +7 -4
  243. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +4 -6
  244. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  245. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +26 -22
  246. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts +4 -1
  247. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +1 -1
  248. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +6 -8
  249. package/development/autocomplete.js +2 -3
  250. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +3 -3
  251. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts +1 -0
  252. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  253. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +13 -12
  254. package/development/button/accent-button/accent-button.component.d.ts +1 -0
  255. package/development/button/accent-button/accent-button.component.d.ts.map +1 -1
  256. package/development/button/accent-button/accent-button.component.js +1 -1
  257. package/development/button/accent-button-link/accent-button-link.component.js +1 -1
  258. package/development/button/accent-button-static/accent-button-static.component.js +1 -1
  259. package/development/button/button/button.component.d.ts +1 -0
  260. package/development/button/button/button.component.d.ts.map +1 -1
  261. package/development/button/button/button.component.js +1 -1
  262. package/development/button/button-link/button-link.component.js +1 -1
  263. package/development/button/button-static/button-static.component.js +1 -1
  264. package/development/button/common/button-common.d.ts +4 -6
  265. package/development/button/common/button-common.d.ts.map +1 -1
  266. package/development/button/common/button-common.js +1 -1
  267. package/development/button/mini-button/mini-button.component.d.ts +1 -0
  268. package/development/button/mini-button/mini-button.component.d.ts.map +1 -1
  269. package/development/button/mini-button/mini-button.component.js +1 -1
  270. package/development/button/mini-button-group/mini-button-group.component.js +3 -2
  271. package/development/button/secondary-button/secondary-button.component.d.ts +1 -0
  272. package/development/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  273. package/development/button/secondary-button/secondary-button.component.js +1 -1
  274. package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
  275. package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
  276. package/development/button/transparent-button/transparent-button.component.d.ts +1 -0
  277. package/development/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  278. package/development/button/transparent-button/transparent-button.component.js +1 -1
  279. package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
  280. package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
  281. package/development/calendar/calendar.component.d.ts +16 -14
  282. package/development/calendar/calendar.component.d.ts.map +1 -1
  283. package/development/calendar/calendar.component.js +65 -40
  284. package/development/card/card/card.component.js +1 -1
  285. package/development/card/card-badge/card-badge.component.d.ts +4 -1
  286. package/development/card/card-badge/card-badge.component.d.ts.map +1 -1
  287. package/development/card/card-badge/card-badge.component.js +6 -8
  288. package/development/card/card-button/card-button.component.d.ts +1 -0
  289. package/development/card/card-button/card-button.component.d.ts.map +1 -1
  290. package/development/card/card-button/card-button.component.js +1 -1
  291. package/development/card/card-link/card-link.component.js +1 -1
  292. package/development/card/common/card-action-common.d.ts.map +1 -1
  293. package/development/card/common/card-action-common.js +10 -17
  294. package/development/checkbox/checkbox/checkbox.component.d.ts +4 -1
  295. package/development/checkbox/checkbox/checkbox.component.d.ts.map +1 -1
  296. package/development/checkbox/checkbox/checkbox.component.js +23 -5
  297. package/development/checkbox/checkbox-group/checkbox-group.component.js +21 -8
  298. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts +4 -1
  299. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  300. package/development/checkbox/checkbox-panel/checkbox-panel.component.js +24 -5
  301. package/development/checkbox/common/checkbox-common.d.ts +4 -2
  302. package/development/checkbox/common/checkbox-common.d.ts.map +1 -1
  303. package/development/checkbox/common/checkbox-common.js +5 -3
  304. package/development/chip/chip/chip.component.d.ts +5 -6
  305. package/development/chip/chip/chip.component.d.ts.map +1 -1
  306. package/development/chip/chip/chip.component.js +12 -31
  307. package/development/chip/chip-group/chip-group.component.d.ts +22 -10
  308. package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
  309. package/development/chip/chip-group/chip-group.component.js +76 -40
  310. package/development/chip-label/chip-label.component.js +1 -1
  311. package/development/clock/clock.component.d.ts +1 -1
  312. package/development/clock/clock.component.d.ts.map +1 -1
  313. package/development/clock/clock.component.js +35 -25
  314. package/development/container/container/container.component.js +3 -2
  315. package/development/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  316. package/development/container/sticky-bar/sticky-bar.component.js +5 -6
  317. package/development/core/a11y/arrow-navigation.js +1 -1
  318. package/development/core/a11y/fake-event-detection.js +1 -1
  319. package/development/core/a11y/focus-trap-controller.js +9 -6
  320. package/development/core/a11y/focus-visible-within-controller.js +1 -1
  321. package/development/core/a11y/focus.d.ts +0 -32
  322. package/development/core/a11y/focus.d.ts.map +1 -1
  323. package/development/core/a11y/focus.js +2 -80
  324. package/development/core/a11y/input-modality-detector.d.ts +0 -5
  325. package/development/core/a11y/input-modality-detector.d.ts.map +1 -1
  326. package/development/core/a11y/input-modality-detector.js +4 -19
  327. package/development/core/a11y/interactivity-checker.d.ts +0 -11
  328. package/development/core/a11y/interactivity-checker.d.ts.map +1 -1
  329. package/development/core/a11y/interactivity-checker.js +2 -3
  330. package/development/core/a11y/live-announcer.d.ts +62 -0
  331. package/development/core/a11y/live-announcer.d.ts.map +1 -0
  332. package/development/core/a11y/live-announcer.js +87 -0
  333. package/development/core/a11y.d.ts +1 -0
  334. package/development/core/a11y.d.ts.map +1 -1
  335. package/development/core/a11y.js +7 -9
  336. package/development/core/base-elements/action-base-element.d.ts +3 -1
  337. package/development/core/base-elements/action-base-element.d.ts.map +1 -1
  338. package/development/core/base-elements/action-base-element.js +5 -3
  339. package/development/core/base-elements/button-base-element.d.ts +25 -18
  340. package/development/core/base-elements/button-base-element.d.ts.map +1 -1
  341. package/development/core/base-elements/button-base-element.js +109 -66
  342. package/development/core/base-elements/link-base-element.js +7 -4
  343. package/development/core/base-elements/open-close-base-element.d.ts +3 -1
  344. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
  345. package/development/core/base-elements/open-close-base-element.js +4 -3
  346. package/development/core/base-elements.js +2 -1
  347. package/development/core/config/config.js +1 -1
  348. package/development/core/controllers/escapable-overlay-controller.js +5 -3
  349. package/development/core/controllers/id-reference-controller.js +3 -2
  350. package/development/core/controllers/inert-controller.d.ts.map +1 -1
  351. package/development/core/controllers/inert-controller.js +6 -4
  352. package/development/core/controllers/language-controller.js +1 -1
  353. package/development/core/controllers/media-matchers-controller.js +1 -1
  354. package/development/core/controllers/slot-state-controller.js +18 -8
  355. package/development/core/controllers.d.ts +0 -1
  356. package/development/core/controllers.d.ts.map +1 -1
  357. package/development/core/controllers.js +1 -3
  358. package/development/core/datetime/date-adapter.d.ts +2 -2
  359. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  360. package/development/core/datetime/date-adapter.js +6 -6
  361. package/development/core/datetime/native-date-adapter.d.ts +2 -3
  362. package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
  363. package/development/core/datetime/native-date-adapter.js +3 -7
  364. package/development/core/decorators/force-type.js +4 -3
  365. package/development/core/decorators/get-override.js +1 -1
  366. package/development/core/decorators/handle-distinct-change.js +1 -1
  367. package/development/core/decorators/host-attributes.js +1 -1
  368. package/development/core/decorators/id-reference.d.ts +11 -0
  369. package/development/core/decorators/id-reference.d.ts.map +1 -0
  370. package/development/core/decorators/id-reference.js +123 -0
  371. package/development/core/decorators/plain-date.d.ts +23 -0
  372. package/development/core/decorators/plain-date.d.ts.map +1 -0
  373. package/development/core/decorators/plain-date.js +37 -0
  374. package/development/core/decorators/slot-state.js +1 -1
  375. package/development/core/decorators.d.ts +2 -2
  376. package/development/core/decorators.d.ts.map +1 -1
  377. package/development/core/decorators.js +5 -4
  378. package/development/core/dom/animation.js +1 -1
  379. package/development/core/dom/breakpoint.js +2 -2
  380. package/development/core/dom/host-context.js +1 -1
  381. package/development/core/dom/platform.js +1 -1
  382. package/development/core/dom/scroll.js +1 -1
  383. package/development/core/dom/set-or-remove-attribute.js +1 -1
  384. package/development/core/dom.d.ts +0 -2
  385. package/development/core/dom.d.ts.map +1 -1
  386. package/development/core/dom.js +1 -5
  387. package/development/core/eventing/composed-path-has-attribute.js +1 -1
  388. package/development/core/eventing/event-emitter.js +3 -2
  389. package/development/core/eventing/form-element-handlers.js +1 -1
  390. package/development/core/eventing/forward-event.d.ts +0 -6
  391. package/development/core/eventing/forward-event.d.ts.map +1 -1
  392. package/development/core/eventing/forward-event.js +2 -4
  393. package/development/core/eventing/throttle.js +1 -1
  394. package/development/core/eventing.js +1 -2
  395. package/development/core/i18n/i18n.d.ts +4 -1
  396. package/development/core/i18n/i18n.d.ts.map +1 -1
  397. package/development/core/i18n/i18n.js +43 -22
  398. package/development/core/i18n.js +4 -1
  399. package/development/core/interfaces/types.d.ts +0 -1
  400. package/development/core/interfaces/types.d.ts.map +1 -1
  401. package/development/core/mixins/animation-complete-mixin.d.ts +1 -1
  402. package/development/core/mixins/animation-complete-mixin.d.ts.map +1 -1
  403. package/development/core/mixins/animation-complete-mixin.js +1 -1
  404. package/development/core/mixins/disabled-mixin.d.ts +2 -2
  405. package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
  406. package/development/core/mixins/disabled-mixin.js +1 -1
  407. package/development/core/mixins/element-internals-mixin.d.ts +15 -0
  408. package/development/core/mixins/element-internals-mixin.d.ts.map +1 -0
  409. package/development/core/mixins/element-internals-mixin.js +59 -0
  410. package/development/core/mixins/form-associated-checkbox-mixin.d.ts +7 -13
  411. package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  412. package/development/core/mixins/form-associated-checkbox-mixin.js +16 -11
  413. package/development/core/mixins/form-associated-input-mixin.d.ts +15 -9
  414. package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  415. package/development/core/mixins/form-associated-input-mixin.js +58 -33
  416. package/development/core/mixins/form-associated-mixin.d.ts +8 -7
  417. package/development/core/mixins/form-associated-mixin.d.ts.map +1 -1
  418. package/development/core/mixins/form-associated-mixin.js +37 -21
  419. package/development/core/mixins/form-associated-radio-button-mixin.d.ts +6 -14
  420. package/development/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
  421. package/development/core/mixins/form-associated-radio-button-mixin.js +28 -14
  422. package/development/core/mixins/hydration-mixin.js +4 -3
  423. package/development/core/mixins/named-slot-list-mixin.js +7 -4
  424. package/development/core/mixins/negative-mixin.js +1 -1
  425. package/development/core/mixins/panel-mixin.js +3 -2
  426. package/development/core/mixins/readonly-mixin.d.ts +10 -0
  427. package/development/core/mixins/readonly-mixin.d.ts.map +1 -0
  428. package/development/core/mixins/readonly-mixin.js +40 -0
  429. package/development/core/mixins/required-mixin.d.ts +2 -2
  430. package/development/core/mixins/required-mixin.d.ts.map +1 -1
  431. package/development/core/mixins/required-mixin.js +1 -1
  432. package/development/core/mixins/update-scheduler-mixin.js +1 -1
  433. package/development/core/mixins.d.ts +2 -0
  434. package/development/core/mixins.d.ts.map +1 -1
  435. package/development/core/mixins.js +5 -1
  436. package/development/core/overlay/overlay-option-panel.js +1 -1
  437. package/development/core/overlay/overlay-trigger-attributes.js +1 -1
  438. package/development/core/overlay/overlay.js +1 -1
  439. package/development/core/overlay/position.js +5 -5
  440. package/development/core/testing/event-spy.js +5 -3
  441. package/development/core/testing/mocha-extensions.js +1 -1
  442. package/development/core/testing/wait-for-condition.js +1 -1
  443. package/development/core/testing/wait-for-image-ready.js +3 -2
  444. package/development/core/testing/wait-for-render.js +3 -2
  445. package/development/core/testing.d.ts +0 -1
  446. package/development/core/testing.d.ts.map +1 -1
  447. package/development/core/testing.js +1 -3
  448. package/development/date-input/date-input.component.d.ts +12 -14
  449. package/development/date-input/date-input.component.d.ts.map +1 -1
  450. package/development/date-input/date-input.component.js +22 -25
  451. package/development/datepicker/common/datepicker-association-controllers.d.ts.map +1 -1
  452. package/development/datepicker/common/datepicker-association-controllers.js +11 -8
  453. package/development/datepicker/common/datepicker-button.d.ts +0 -12
  454. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  455. package/development/datepicker/common/datepicker-button.js +11 -29
  456. package/development/datepicker/datepicker/datepicker.component.d.ts +3 -20
  457. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  458. package/development/datepicker/datepicker/datepicker.component.js +56 -52
  459. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +2 -0
  460. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  461. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +7 -6
  462. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +2 -0
  463. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  464. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +7 -6
  465. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts +0 -8
  466. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts.map +1 -1
  467. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +20 -33
  468. package/development/datepicker/datepicker.js +2 -4
  469. package/development/datepicker.js +2 -4
  470. package/development/dialog/dialog/dialog.component.js +27 -16
  471. package/development/dialog/dialog-actions/dialog-actions.component.js +1 -1
  472. package/development/dialog/dialog-content/dialog-content.component.js +1 -1
  473. package/development/dialog/dialog-title/dialog-title.component.js +1 -1
  474. package/development/divider/divider.component.d.ts +2 -1
  475. package/development/divider/divider.component.d.ts.map +1 -1
  476. package/development/divider/divider.component.js +5 -8
  477. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +13 -9
  478. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts +5 -1
  479. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
  480. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +9 -8
  481. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +2 -0
  482. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  483. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +10 -8
  484. package/development/file-selector/common/file-selector-common.d.ts +6 -5
  485. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  486. package/development/file-selector/common/file-selector-common.js +6 -5
  487. package/development/file-selector/file-selector/file-selector.component.d.ts +1 -0
  488. package/development/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
  489. package/development/file-selector/file-selector/file-selector.component.js +1 -1
  490. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts +1 -0
  491. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  492. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  493. package/development/flip-card/flip-card/flip-card.component.js +13 -7
  494. package/development/flip-card/flip-card-details/flip-card-details.component.d.ts +1 -0
  495. package/development/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
  496. package/development/flip-card/flip-card-details/flip-card-details.component.js +8 -6
  497. package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts +1 -0
  498. package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
  499. package/development/flip-card/flip-card-summary/flip-card-summary.component.js +8 -6
  500. package/development/footer/footer.component.js +2 -2
  501. package/development/form-error/form-error.component.js +4 -3
  502. package/development/form-field/form-field/form-field.component.d.ts +9 -10
  503. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  504. package/development/form-field/form-field/form-field.component.js +183 -183
  505. package/development/form-field/form-field-clear/form-field-clear.component.d.ts +1 -0
  506. package/development/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  507. package/development/form-field/form-field-clear/form-field-clear.component.js +8 -8
  508. package/development/header/common/header-action-common.d.ts +3 -3
  509. package/development/header/common/header-action-common.d.ts.map +1 -1
  510. package/development/header/common/header-action-common.js +1 -1
  511. package/development/header/header/header.component.d.ts +6 -3
  512. package/development/header/header/header.component.d.ts.map +1 -1
  513. package/development/header/header/header.component.js +17 -13
  514. package/development/header/header-button/header-button.component.d.ts +1 -0
  515. package/development/header/header-button/header-button.component.d.ts.map +1 -1
  516. package/development/header/header-button/header-button.component.js +1 -1
  517. package/development/header/header-link/header-link.component.js +1 -1
  518. package/development/icon/icon-base.js +1 -1
  519. package/development/icon/icon-name-mixin.js +1 -1
  520. package/development/icon/icon-request.js +3 -2
  521. package/development/icon/icon-validate.js +1 -1
  522. package/development/icon/icon.component.js +1 -1
  523. package/development/image/image.component.d.ts +1 -1
  524. package/development/image/image.component.d.ts.map +1 -1
  525. package/development/image/image.component.js +15 -12
  526. package/development/journey-header/journey-header.component.js +1 -1
  527. package/development/lead-container/lead-container.component.js +1 -1
  528. package/development/link/block-link/block-link.component.js +1 -1
  529. package/development/link/block-link-button/block-link-button.component.d.ts +1 -0
  530. package/development/link/block-link-button/block-link-button.component.d.ts.map +1 -1
  531. package/development/link/block-link-button/block-link-button.component.js +1 -1
  532. package/development/link/block-link-static/block-link-static.component.js +1 -1
  533. package/development/link/common/block-link-common.d.ts +3 -4
  534. package/development/link/common/block-link-common.d.ts.map +1 -1
  535. package/development/link/common/block-link-common.js +4 -4
  536. package/development/link/common/inline-link-common.d.ts +3 -2
  537. package/development/link/common/inline-link-common.d.ts.map +1 -1
  538. package/development/link/common/inline-link-common.js +2 -2
  539. package/development/link/common/link-common.d.ts +4 -2
  540. package/development/link/common/link-common.d.ts.map +1 -1
  541. package/development/link/common/link-common.js +1 -1
  542. package/development/link/common.js +1 -1
  543. package/development/link/link/link.component.js +1 -1
  544. package/development/link/link-button/link-button.component.d.ts +1 -0
  545. package/development/link/link-button/link-button.component.d.ts.map +1 -1
  546. package/development/link/link-button/link-button.component.js +1 -1
  547. package/development/link/link-static/link-static.component.js +1 -1
  548. package/development/{link-common-CJEWffDZ.js → link-common-DPLJx5Uo.js} +2 -2
  549. package/development/link-list/common/link-list-base.js +1 -1
  550. package/development/link-list/link-list/link-list.component.js +1 -1
  551. package/development/link-list/link-list-anchor/link-list-anchor.component.js +2 -2
  552. package/development/link.js +1 -1
  553. package/development/loading-indicator/loading-indicator.component.d.ts +5 -1
  554. package/development/loading-indicator/loading-indicator.component.d.ts.map +1 -1
  555. package/development/loading-indicator/loading-indicator.component.js +9 -8
  556. package/development/loading-indicator-circle/loading-indicator-circle.component.d.ts +5 -1
  557. package/development/loading-indicator-circle/loading-indicator-circle.component.d.ts.map +1 -1
  558. package/development/loading-indicator-circle/loading-indicator-circle.component.js +9 -8
  559. package/development/logo/logo.component.js +1 -1
  560. package/development/map-container/map-container.component.js +3 -2
  561. package/development/menu/common/menu-action-common.d.ts +4 -8
  562. package/development/menu/common/menu-action-common.d.ts.map +1 -1
  563. package/development/menu/common/menu-action-common.js +5 -63
  564. package/development/menu/menu/menu.component.d.ts +3 -3
  565. package/development/menu/menu/menu.component.d.ts.map +1 -1
  566. package/development/menu/menu/menu.component.js +34 -28
  567. package/development/menu/menu-button/menu-button.component.d.ts +1 -0
  568. package/development/menu/menu-button/menu-button.component.d.ts.map +1 -1
  569. package/development/menu/menu-button/menu-button.component.js +1 -1
  570. package/development/menu/menu-link/menu-link.component.js +1 -1
  571. package/development/message/message.component.js +1 -1
  572. package/development/navigation/common/navigation-action-common.js +5 -3
  573. package/development/navigation/navigation/navigation.component.d.ts +4 -3
  574. package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
  575. package/development/navigation/navigation/navigation.component.js +45 -32
  576. package/development/navigation/navigation-button/navigation-button.component.d.ts +1 -0
  577. package/development/navigation/navigation-button/navigation-button.component.d.ts.map +1 -1
  578. package/development/navigation/navigation-button/navigation-button.component.js +1 -1
  579. package/development/navigation/navigation-link/navigation-link.component.js +1 -1
  580. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  581. package/development/navigation/navigation-marker/navigation-marker.component.js +6 -4
  582. package/development/navigation/navigation-section/navigation-section.component.d.ts +3 -3
  583. package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  584. package/development/navigation/navigation-section/navigation-section.component.js +41 -33
  585. package/development/notification/notification.component.d.ts +4 -7
  586. package/development/notification/notification.component.d.ts.map +1 -1
  587. package/development/notification/notification.component.js +35 -50
  588. package/development/option/optgroup/optgroup-base-element.d.ts +2 -1
  589. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  590. package/development/option/optgroup/optgroup-base-element.js +21 -40
  591. package/development/option/optgroup/optgroup.component.js +10 -6
  592. package/development/option/option/option-base-element.d.ts +6 -12
  593. package/development/option/option/option-base-element.d.ts.map +1 -1
  594. package/development/option/option/option-base-element.js +28 -23
  595. package/development/option/option/option.component.d.ts +5 -2
  596. package/development/option/option/option.component.d.ts.map +1 -1
  597. package/development/option/option/option.component.js +33 -27
  598. package/development/overlay/overlay-base-element.d.ts +1 -8
  599. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  600. package/development/overlay/overlay-base-element.js +10 -28
  601. package/development/overlay/overlay.component.js +9 -7
  602. package/development/paginator/common/paginator-common.d.ts +3 -7
  603. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  604. package/development/paginator/common/paginator-common.js +9 -27
  605. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  606. package/development/paginator/paginator/paginator.component.js +3 -2
  607. package/development/popover/popover/popover.component.d.ts +3 -3
  608. package/development/popover/popover/popover.component.d.ts.map +1 -1
  609. package/development/popover/popover/popover.component.js +26 -21
  610. package/development/popover/popover-trigger/popover-trigger.component.d.ts +1 -0
  611. package/development/popover/popover-trigger/popover-trigger.component.d.ts.map +1 -1
  612. package/development/popover/popover-trigger/popover-trigger.component.js +1 -1
  613. package/development/radio-button/common/radio-button-common.d.ts +4 -2
  614. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  615. package/development/radio-button/common/radio-button-common.js +10 -6
  616. package/development/radio-button/radio-button/radio-button.component.d.ts +6 -2
  617. package/development/radio-button/radio-button/radio-button.component.d.ts.map +1 -1
  618. package/development/radio-button/radio-button/radio-button.component.js +25 -5
  619. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts +8 -6
  620. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  621. package/development/radio-button/radio-button-group/radio-button-group.component.js +31 -18
  622. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts +6 -2
  623. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  624. package/development/radio-button/radio-button-panel/radio-button-panel.component.js +28 -6
  625. package/development/screen-reader-only/screen-reader-only.component.js +1 -1
  626. package/development/select/select.component.d.ts +14 -12
  627. package/development/select/select.component.d.ts.map +1 -1
  628. package/development/select/select.component.js +156 -90
  629. package/development/selection-expansion-panel/selection-expansion-panel.component.js +11 -7
  630. package/development/sidebar/icon-sidebar/icon-sidebar.component.d.ts +4 -2
  631. package/development/sidebar/icon-sidebar/icon-sidebar.component.d.ts.map +1 -1
  632. package/development/sidebar/icon-sidebar/icon-sidebar.component.js +5 -6
  633. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +1 -0
  634. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
  635. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
  636. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +7 -4
  637. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  638. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
  639. package/development/sidebar/sidebar/sidebar.component.js +16 -9
  640. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +2 -0
  641. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  642. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +6 -3
  643. package/development/sidebar/sidebar-container/sidebar-container.component.js +13 -9
  644. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  645. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts +1 -0
  646. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts.map +1 -1
  647. package/development/sidebar/sidebar-title/sidebar-title.component.js +7 -4
  648. package/development/signet/signet.component.js +1 -1
  649. package/development/skiplink-list/skiplink-list.component.js +1 -1
  650. package/development/slider/slider.component.d.ts +6 -15
  651. package/development/slider/slider.component.d.ts.map +1 -1
  652. package/development/slider/slider.component.js +40 -87
  653. package/development/status/status.component.js +1 -1
  654. package/development/stepper/step/step.component.d.ts +4 -1
  655. package/development/stepper/step/step.component.d.ts.map +1 -1
  656. package/development/stepper/step/step.component.js +12 -12
  657. package/development/stepper/step-label/step-label.component.d.ts +2 -0
  658. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  659. package/development/stepper/step-label/step-label.component.js +8 -10
  660. package/development/stepper/stepper/stepper.component.d.ts +1 -1
  661. package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
  662. package/development/stepper/stepper/stepper.component.js +37 -23
  663. package/development/table/table-wrapper/table-wrapper.component.d.ts +2 -1
  664. package/development/table/table-wrapper/table-wrapper.component.d.ts.map +1 -1
  665. package/development/table/table-wrapper/table-wrapper.component.js +10 -7
  666. package/development/tabs/tab/tab.component.d.ts +4 -1
  667. package/development/tabs/tab/tab.component.d.ts.map +1 -1
  668. package/development/tabs/tab/tab.component.js +4 -3
  669. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  670. package/development/tabs/tab-group/tab-group.component.js +39 -26
  671. package/development/tabs/tab-label/tab-label.component.d.ts +2 -1
  672. package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  673. package/development/tabs/tab-label/tab-label.component.js +4 -4
  674. package/development/tag/tag/tag.component.d.ts +7 -3
  675. package/development/tag/tag/tag.component.d.ts.map +1 -1
  676. package/development/tag/tag/tag.component.js +37 -12
  677. package/development/tag/tag-group/tag-group.component.d.ts +7 -5
  678. package/development/tag/tag-group/tag-group.component.d.ts.map +1 -1
  679. package/development/tag/tag-group/tag-group.component.js +40 -24
  680. package/development/teaser/teaser.component.js +1 -1
  681. package/development/teaser-hero/teaser-hero.component.js +1 -1
  682. package/development/teaser-product/common/teaser-product-common.d.ts +4 -2
  683. package/development/teaser-product/common/teaser-product-common.d.ts.map +1 -1
  684. package/development/teaser-product/common/teaser-product-common.js +1 -1
  685. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  686. package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +1 -1
  687. package/development/time-input/time-input.component.d.ts +29 -42
  688. package/development/time-input/time-input.component.d.ts.map +1 -1
  689. package/development/time-input/time-input.component.js +158 -201
  690. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  691. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +3 -2
  692. package/development/title/title-base.d.ts +4 -1
  693. package/development/title/title-base.d.ts.map +1 -1
  694. package/development/title/title-base.js +9 -17
  695. package/development/title/title.component.js +1 -1
  696. package/development/toast/toast.component.d.ts +3 -4
  697. package/development/toast/toast.component.d.ts.map +1 -1
  698. package/development/toast/toast.component.js +59 -76
  699. package/development/toggle/toggle/toggle.component.d.ts +13 -9
  700. package/development/toggle/toggle/toggle.component.d.ts.map +1 -1
  701. package/development/toggle/toggle/toggle.component.js +59 -53
  702. package/development/toggle/toggle-option/toggle-option.component.d.ts +5 -3
  703. package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  704. package/development/toggle/toggle-option/toggle-option.component.js +23 -18
  705. package/development/toggle-check/toggle-check.component.d.ts +5 -2
  706. package/development/toggle-check/toggle-check.component.d.ts.map +1 -1
  707. package/development/toggle-check/toggle-check.component.js +19 -4
  708. package/development/train/train/train.component.js +1 -1
  709. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  710. package/development/train/train-formation/train-formation.component.js +7 -5
  711. package/development/train/train-wagon/train-wagon.component.js +1 -1
  712. package/development/visual-checkbox/visual-checkbox.component.js +1 -1
  713. package/dialog/dialog/dialog.component.js +70 -59
  714. package/divider/divider.component.d.ts +2 -1
  715. package/divider/divider.component.d.ts.map +1 -1
  716. package/divider/divider.component.js +26 -29
  717. package/expansion-panel/expansion-panel/expansion-panel.component.js +9 -5
  718. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts +5 -1
  719. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
  720. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +14 -14
  721. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +2 -0
  722. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  723. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +33 -32
  724. package/file-selector/common/file-selector-common.d.ts +6 -5
  725. package/file-selector/common/file-selector-common.d.ts.map +1 -1
  726. package/file-selector/common/file-selector-common.js +37 -36
  727. package/file-selector/file-selector/file-selector.component.d.ts +1 -0
  728. package/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
  729. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts +1 -0
  730. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  731. package/flip-card/flip-card/flip-card.component.js +54 -48
  732. package/flip-card/flip-card-details/flip-card-details.component.d.ts +1 -0
  733. package/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
  734. package/flip-card/flip-card-details/flip-card-details.component.js +19 -18
  735. package/flip-card/flip-card-summary/flip-card-summary.component.d.ts +1 -0
  736. package/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
  737. package/flip-card/flip-card-summary/flip-card-summary.component.js +24 -23
  738. package/font-characters-extension.css +3 -3
  739. package/footer/footer.component.js +1 -1
  740. package/form-error/form-error.component.js +14 -13
  741. package/form-field/form-field/form-field.component.d.ts +9 -10
  742. package/form-field/form-field/form-field.component.d.ts.map +1 -1
  743. package/form-field/form-field/form-field.component.js +171 -175
  744. package/form-field/form-field-clear/form-field-clear.component.d.ts +1 -0
  745. package/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  746. package/form-field/form-field-clear/form-field-clear.component.js +19 -20
  747. package/header/common/header-action-common.d.ts +3 -3
  748. package/header/common/header-action-common.d.ts.map +1 -1
  749. package/header/header/header.component.d.ts +6 -3
  750. package/header/header/header.component.d.ts.map +1 -1
  751. package/header/header/header.component.js +52 -47
  752. package/header/header-button/header-button.component.d.ts +1 -0
  753. package/header/header-button/header-button.component.d.ts.map +1 -1
  754. package/icon/icon-request.js +11 -10
  755. package/icon-sidebar-button-common-DG8bnrBu.js +7 -0
  756. package/image/image.component.d.ts +1 -1
  757. package/image/image.component.d.ts.map +1 -1
  758. package/image/image.component.js +10 -6
  759. package/link/block-link-button/block-link-button.component.d.ts +1 -0
  760. package/link/block-link-button/block-link-button.component.d.ts.map +1 -1
  761. package/link/common/block-link-common.d.ts +3 -4
  762. package/link/common/block-link-common.d.ts.map +1 -1
  763. package/link/common/block-link-common.js +6 -6
  764. package/link/common/inline-link-common.d.ts +3 -2
  765. package/link/common/inline-link-common.d.ts.map +1 -1
  766. package/link/common/inline-link-common.js +1 -1
  767. package/link/common/link-common.d.ts +4 -2
  768. package/link/common/link-common.d.ts.map +1 -1
  769. package/link/common/link-common.js +1 -1
  770. package/link/common.js +1 -1
  771. package/link/link-button/link-button.component.d.ts +1 -0
  772. package/link/link-button/link-button.component.d.ts.map +1 -1
  773. package/{link-common-DZrQ-32d.js → link-common-BBKGg9HN.js} +1 -1
  774. package/link-list/link-list-anchor/link-list-anchor.component.js +4 -4
  775. package/link.js +1 -1
  776. package/loading-indicator/loading-indicator.component.d.ts +5 -1
  777. package/loading-indicator/loading-indicator.component.d.ts.map +1 -1
  778. package/loading-indicator/loading-indicator.component.js +9 -9
  779. package/loading-indicator-circle/loading-indicator-circle.component.d.ts +5 -1
  780. package/loading-indicator-circle/loading-indicator-circle.component.d.ts.map +1 -1
  781. package/loading-indicator-circle/loading-indicator-circle.component.js +14 -14
  782. package/map-container/map-container.component.js +2 -1
  783. package/menu/common/menu-action-common.d.ts +4 -8
  784. package/menu/common/menu-action-common.d.ts.map +1 -1
  785. package/menu/common/menu-action-common.js +16 -41
  786. package/menu/menu/menu.component.d.ts +3 -3
  787. package/menu/menu/menu.component.d.ts.map +1 -1
  788. package/menu/menu/menu.component.js +76 -70
  789. package/menu/menu-button/menu-button.component.d.ts +1 -0
  790. package/menu/menu-button/menu-button.component.d.ts.map +1 -1
  791. package/navigation/common/navigation-action-common.js +21 -19
  792. package/navigation/navigation/navigation.component.d.ts +4 -3
  793. package/navigation/navigation/navigation.component.d.ts.map +1 -1
  794. package/navigation/navigation/navigation.component.js +94 -78
  795. package/navigation/navigation-button/navigation-button.component.d.ts +1 -0
  796. package/navigation/navigation-button/navigation-button.component.d.ts.map +1 -1
  797. package/navigation/navigation-marker/navigation-marker.component.js +28 -26
  798. package/navigation/navigation-section/navigation-section.component.d.ts +3 -3
  799. package/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  800. package/navigation/navigation-section/navigation-section.component.js +84 -76
  801. package/notification/notification.component.d.ts +4 -7
  802. package/notification/notification.component.d.ts.map +1 -1
  803. package/notification/notification.component.js +67 -75
  804. package/option/optgroup/optgroup-base-element.d.ts +2 -1
  805. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  806. package/option/optgroup/optgroup-base-element.js +40 -38
  807. package/option/optgroup/optgroup.component.js +20 -16
  808. package/option/option/option-base-element.d.ts +6 -12
  809. package/option/option/option-base-element.d.ts.map +1 -1
  810. package/option/option/option-base-element.js +58 -64
  811. package/option/option/option.component.d.ts +5 -2
  812. package/option/option/option.component.d.ts.map +1 -1
  813. package/option/option/option.component.js +30 -30
  814. package/overlay/overlay-base-element.d.ts +1 -8
  815. package/overlay/overlay-base-element.d.ts.map +1 -1
  816. package/overlay/overlay-base-element.js +39 -48
  817. package/overlay/overlay.component.js +40 -38
  818. package/package.json +1 -1
  819. package/paginator/common/paginator-common.d.ts +3 -7
  820. package/paginator/common/paginator-common.d.ts.map +1 -1
  821. package/paginator/common/paginator-common.js +43 -55
  822. package/paginator/paginator/paginator.component.js +4 -3
  823. package/popover/popover/popover.component.d.ts +3 -3
  824. package/popover/popover/popover.component.d.ts.map +1 -1
  825. package/popover/popover/popover.component.js +78 -68
  826. package/popover/popover-trigger/popover-trigger.component.d.ts +1 -0
  827. package/popover/popover-trigger/popover-trigger.component.d.ts.map +1 -1
  828. package/popover/popover-trigger/popover-trigger.component.js +1 -1
  829. package/radio-button/common/radio-button-common.d.ts +4 -2
  830. package/radio-button/common/radio-button-common.d.ts.map +1 -1
  831. package/radio-button/common/radio-button-common.js +15 -11
  832. package/radio-button/radio-button/radio-button.component.d.ts +6 -2
  833. package/radio-button/radio-button/radio-button.component.d.ts.map +1 -1
  834. package/radio-button/radio-button/radio-button.component.js +43 -28
  835. package/radio-button/radio-button-group/radio-button-group.component.d.ts +8 -6
  836. package/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  837. package/radio-button/radio-button-group/radio-button-group.component.js +55 -41
  838. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts +6 -2
  839. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  840. package/radio-button/radio-button-panel/radio-button-panel.component.js +54 -38
  841. package/select/select.component.d.ts +14 -12
  842. package/select/select.component.d.ts.map +1 -1
  843. package/select/select.component.js +168 -129
  844. package/selection-expansion-panel/selection-expansion-panel.component.js +39 -35
  845. package/sidebar/common.js +1 -1
  846. package/sidebar/icon-sidebar/icon-sidebar.component.d.ts +4 -2
  847. package/sidebar/icon-sidebar/icon-sidebar.component.d.ts.map +1 -1
  848. package/sidebar/icon-sidebar/icon-sidebar.component.js +19 -20
  849. package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +1 -0
  850. package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
  851. package/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +13 -10
  852. package/sidebar/sidebar/sidebar.component.js +69 -62
  853. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +2 -0
  854. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  855. package/sidebar/sidebar-close-button/sidebar-close-button.component.js +11 -9
  856. package/sidebar/sidebar-container/sidebar-container.component.js +33 -29
  857. package/sidebar/sidebar-title/sidebar-title.component.d.ts +1 -0
  858. package/sidebar/sidebar-title/sidebar-title.component.d.ts.map +1 -1
  859. package/sidebar/sidebar-title/sidebar-title.component.js +18 -16
  860. package/sidebar.js +1 -1
  861. package/slider/slider.component.d.ts +6 -15
  862. package/slider/slider.component.d.ts.map +1 -1
  863. package/slider/slider.component.js +73 -99
  864. package/standard-theme.css +66 -18
  865. package/stepper/step/step.component.d.ts +4 -1
  866. package/stepper/step/step.component.d.ts.map +1 -1
  867. package/stepper/step/step.component.js +23 -24
  868. package/stepper/step-label/step-label.component.d.ts +2 -0
  869. package/stepper/step-label/step-label.component.d.ts.map +1 -1
  870. package/stepper/step-label/step-label.component.js +14 -18
  871. package/stepper/stepper/stepper.component.d.ts +1 -1
  872. package/stepper/stepper/stepper.component.d.ts.map +1 -1
  873. package/stepper/stepper/stepper.component.js +89 -73
  874. package/table/table-wrapper/table-wrapper.component.d.ts +2 -1
  875. package/table/table-wrapper/table-wrapper.component.d.ts.map +1 -1
  876. package/table/table-wrapper/table-wrapper.component.js +10 -11
  877. package/table.css +25 -0
  878. package/tabs/tab/tab.component.d.ts +4 -1
  879. package/tabs/tab/tab.component.d.ts.map +1 -1
  880. package/tabs/tab/tab.component.js +10 -9
  881. package/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  882. package/tabs/tab-group/tab-group.component.js +93 -78
  883. package/tabs/tab-label/tab-label.component.d.ts +2 -1
  884. package/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  885. package/tabs/tab-label/tab-label.component.js +17 -17
  886. package/tag/tag/tag.component.d.ts +7 -3
  887. package/tag/tag/tag.component.d.ts.map +1 -1
  888. package/tag/tag/tag.component.js +63 -44
  889. package/tag/tag-group/tag-group.component.d.ts +7 -5
  890. package/tag/tag-group/tag-group.component.d.ts.map +1 -1
  891. package/tag/tag-group/tag-group.component.js +72 -59
  892. package/teaser/teaser.component.js +1 -1
  893. package/teaser-product/common/teaser-product-common.d.ts +4 -2
  894. package/teaser-product/common/teaser-product-common.d.ts.map +1 -1
  895. package/teaser-product/common.js +1 -1
  896. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  897. package/teaser-product-common-CpMAlYEp.js +5 -0
  898. package/teaser-product.js +1 -1
  899. package/time-input/time-input.component.d.ts +29 -42
  900. package/time-input/time-input.component.d.ts.map +1 -1
  901. package/time-input/time-input.component.js +100 -139
  902. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +10 -9
  903. package/title/title-base.d.ts +4 -1
  904. package/title/title-base.d.ts.map +1 -1
  905. package/title/title-base.js +27 -28
  906. package/toast/toast.component.d.ts +3 -4
  907. package/toast/toast.component.d.ts.map +1 -1
  908. package/toast/toast.component.js +69 -72
  909. package/toggle/toggle/toggle.component.d.ts +13 -9
  910. package/toggle/toggle/toggle.component.d.ts.map +1 -1
  911. package/toggle/toggle/toggle.component.js +62 -59
  912. package/toggle/toggle-option/toggle-option.component.d.ts +5 -3
  913. package/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  914. package/toggle/toggle-option/toggle-option.component.js +51 -46
  915. package/toggle-check/toggle-check.component.d.ts +5 -2
  916. package/toggle-check/toggle-check.component.d.ts.map +1 -1
  917. package/toggle-check/toggle-check.component.js +53 -43
  918. package/train/train-formation/train-formation.component.js +43 -41
  919. package/core/controllers/connected-abort-controller.d.ts +0 -14
  920. package/core/controllers/connected-abort-controller.d.ts.map +0 -1
  921. package/core/controllers/connected-abort-controller.js +0 -17
  922. package/core/decorators/date-converter.d.ts +0 -8
  923. package/core/decorators/date-converter.d.ts.map +0 -1
  924. package/core/decorators/date-converter.js +0 -15
  925. package/core/decorators/date-only-type.d.ts +0 -8
  926. package/core/decorators/date-only-type.d.ts.map +0 -1
  927. package/core/decorators/date-only-type.js +0 -9
  928. package/core/dom/find-referenced-element.d.ts +0 -8
  929. package/core/dom/find-referenced-element.d.ts.map +0 -1
  930. package/core/dom/find-referenced-element.js +0 -7
  931. package/core/dom/input-element.d.ts +0 -12
  932. package/core/dom/input-element.d.ts.map +0 -1
  933. package/core/dom/input-element.js +0 -7
  934. package/core/testing/scroll.d.ts +0 -7
  935. package/core/testing/scroll.d.ts.map +0 -1
  936. package/core/testing/scroll.js +0 -6
  937. package/development/core/controllers/connected-abort-controller.d.ts +0 -14
  938. package/development/core/controllers/connected-abort-controller.d.ts.map +0 -1
  939. package/development/core/controllers/connected-abort-controller.js +0 -23
  940. package/development/core/decorators/date-converter.d.ts +0 -8
  941. package/development/core/decorators/date-converter.d.ts.map +0 -1
  942. package/development/core/decorators/date-converter.js +0 -16
  943. package/development/core/decorators/date-only-type.d.ts +0 -8
  944. package/development/core/decorators/date-only-type.d.ts.map +0 -1
  945. package/development/core/decorators/date-only-type.js +0 -10
  946. package/development/core/dom/find-referenced-element.d.ts +0 -8
  947. package/development/core/dom/find-referenced-element.d.ts.map +0 -1
  948. package/development/core/dom/find-referenced-element.js +0 -15
  949. package/development/core/dom/input-element.d.ts +0 -12
  950. package/development/core/dom/input-element.d.ts.map +0 -1
  951. package/development/core/dom/input-element.js +0 -12
  952. package/development/core/testing/scroll.d.ts +0 -7
  953. package/development/core/testing/scroll.d.ts.map +0 -1
  954. package/development/core/testing/scroll.js +0 -8
  955. package/icon-sidebar-button-common-CM-ueEhH.js +0 -7
  956. package/teaser-product-common-C8oSkIxy.js +0 -5
@@ -8,13 +8,12 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
8
8
  import { __esDecorate, __runInitializers } from "tslib";
9
9
  import { css, LitElement, isServer, html } from "lit";
10
10
  import { customElement, property } from "lit/decorators.js";
11
- import { inputAutocompleteEvent } from "../../autocomplete.js";
12
11
  import { isArrowKeyPressed, getNextElementIndex } from "../../core/a11y.js";
13
12
  import { SbbLanguageController } from "../../core/controllers.js";
14
13
  import { isLean } from "../../core/dom.js";
15
14
  import { EventEmitter } from "../../core/eventing.js";
16
15
  import { i18nSelectionRequired, i18nChipGroupInputDescription } from "../../core/i18n.js";
17
- import { SbbRequiredMixin, SbbDisabledMixin, SbbNegativeMixin, SbbFormAssociatedMixin } from "../../core/mixins.js";
16
+ import { SbbRequiredMixin, SbbDisabledMixin, SbbNegativeMixin, SbbFormAssociatedMixin, SbbElementInternalsMixin } from "../../core/mixins.js";
18
17
  import { SbbChipElement } from "../chip.js";
19
18
  const style = css`*,
20
19
  ::before,
@@ -52,37 +51,42 @@ const style = css`*,
52
51
  align-items: center;
53
52
  margin-block: var(--sbb-chip-group-margin-block);
54
53
  }`;
54
+ let displayWithWarningLogged = false;
55
55
  let SbbChipGroupElement = (() => {
56
- var _separatorKeys_accessor_storage, _a;
56
+ var _displayWith_accessor_storage, _separatorKeys_accessor_storage, _a;
57
57
  let _classDecorators = [customElement("sbb-chip-group")];
58
58
  let _classDescriptor;
59
59
  let _classExtraInitializers = [];
60
60
  let _classThis;
61
- let _classSuper = SbbRequiredMixin(SbbDisabledMixin(SbbNegativeMixin(SbbFormAssociatedMixin(LitElement))));
61
+ let _classSuper = SbbRequiredMixin(SbbDisabledMixin(SbbNegativeMixin(SbbFormAssociatedMixin(SbbElementInternalsMixin(LitElement)))));
62
62
  let _instanceExtraInitializers = [];
63
63
  let _set_value_decorators;
64
+ let _displayWith_decorators;
65
+ let _displayWith_initializers = [];
66
+ let _displayWith_extraInitializers = [];
64
67
  let _separatorKeys_decorators;
65
68
  let _separatorKeys_initializers = [];
66
69
  let _separatorKeys_extraInitializers = [];
67
70
  var SbbChipGroupElement2 = (_a = class extends _classSuper {
68
71
  constructor() {
72
+ var _a2, _b;
69
73
  super();
74
+ __privateAdd(this, _displayWith_accessor_storage);
70
75
  __privateAdd(this, _separatorKeys_accessor_storage);
71
- __privateSet(this, _separatorKeys_accessor_storage, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _separatorKeys_initializers, ["Enter"])));
76
+ __privateSet(this, _displayWith_accessor_storage, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _displayWith_initializers, null)));
77
+ __privateSet(this, _separatorKeys_accessor_storage, (__runInitializers(this, _displayWith_extraInitializers), __runInitializers(this, _separatorKeys_initializers, ["Enter"])));
72
78
  this._change = (__runInitializers(this, _separatorKeys_extraInitializers), new EventEmitter(this, SbbChipGroupElement2.events.change));
73
79
  this._input = new EventEmitter(this, SbbChipGroupElement2.events.input);
74
80
  this._chipInputTokenEnd = new EventEmitter(this, SbbChipGroupElement2.events.chipInputTokenEnd);
75
81
  this._inputAttributeObserver = !isServer ? new MutationObserver(() => this._reactToInputChanges()) : null;
76
82
  this._formFieldAttributeObserver = !isServer ? new MutationObserver(() => this._inheritSize()) : null;
77
83
  this._language = new SbbLanguageController(this);
78
- this.internals.role = "listbox";
79
- this.addEventListener?.(SbbChipElement.events.requestDelete, (ev) => this._deleteChip(ev.target));
80
- this.addEventListener?.("keydown", (ev) => this._onChipKeyDown(ev));
84
+ (_a2 = this.addEventListener) == null ? void 0 : _a2.call(this, SbbChipElement.events.requestDelete, (ev) => this._deleteChip(ev.target));
85
+ (_b = this.addEventListener) == null ? void 0 : _b.call(this, "keydown", (ev) => this._onChipKeyDown(ev));
81
86
  }
82
87
  /** Value of the form element. */
83
88
  set value(value) {
84
89
  value = value ?? [];
85
- super.value = value;
86
90
  const oldValue = this.value;
87
91
  const toRemove = [...oldValue];
88
92
  for (const c of value) {
@@ -90,7 +94,10 @@ let SbbChipGroupElement = (() => {
90
94
  toRemove.splice(toRemove.indexOf(c), 1);
91
95
  }
92
96
  }
93
- toRemove.forEach((value2) => this._chipElements().find((c) => c.value === value2)?.remove());
97
+ toRemove.forEach((value2) => {
98
+ var _a2;
99
+ return (_a2 = this._chipElements().find((c) => c.value === value2)) == null ? void 0 : _a2.remove();
100
+ });
94
101
  const toAdd = [...value];
95
102
  for (const c of oldValue) {
96
103
  if (toAdd.includes(c)) {
@@ -102,6 +109,13 @@ let SbbChipGroupElement = (() => {
102
109
  get value() {
103
110
  return this._chipElements().map((c) => c.value);
104
111
  }
112
+ /** Function that maps a chip's value to its display value. */
113
+ get displayWith() {
114
+ return __privateGet(this, _displayWith_accessor_storage);
115
+ }
116
+ set displayWith(value) {
117
+ __privateSet(this, _displayWith_accessor_storage, value);
118
+ }
105
119
  /** The array of keys that will trigger a `chipInputTokenEnd` event. Default `['Enter']` */
106
120
  get separatorKeys() {
107
121
  return __privateGet(this, _separatorKeys_accessor_storage);
@@ -129,17 +143,13 @@ let SbbChipGroupElement = (() => {
129
143
  this.value = null;
130
144
  return;
131
145
  }
132
- this.value = state.map((entries) => entries[1]);
146
+ this._readFormData(state).then((array) => this.value = array);
133
147
  }
134
- updateFormValue() {
135
- const data = new FormData();
136
- this.value.forEach((el) => data.append(this.name, el));
137
- this.internals.setFormValue(data);
138
- this.validate();
139
- this._updateInputDescription();
148
+ async _readFormData(formData) {
149
+ return Promise.all(formData.getAll(this.name).map(async (entry) => entry instanceof Blob ? JSON.parse(await entry.text()) : entry));
140
150
  }
141
151
  shouldValidate(name) {
142
- return super.shouldValidate(name) || name === "required";
152
+ return super.shouldValidate(name) || name === "required" || name === "value";
143
153
  }
144
154
  validate() {
145
155
  super.validate();
@@ -151,41 +161,48 @@ let SbbChipGroupElement = (() => {
151
161
  }
152
162
  /** Return the list of chip elements **/
153
163
  _chipElements() {
154
- return Array.from(this.querySelectorAll?.("sbb-chip") ?? []);
164
+ var _a2;
165
+ return Array.from(((_a2 = this.querySelectorAll) == null ? void 0 : _a2.call(this, "sbb-chip")) ?? []);
155
166
  }
156
167
  /** Return the list of enabled chip elements **/
157
168
  _enabledChipElements() {
158
- return Array.from(this.querySelectorAll?.("sbb-chip:not([disabled])") ?? []);
169
+ var _a2;
170
+ return Array.from(((_a2 = this.querySelectorAll) == null ? void 0 : _a2.call(this, "sbb-chip:not([disabled])")) ?? []);
159
171
  }
160
172
  _setupComponent() {
173
+ var _a2, _b, _c, _d, _e;
161
174
  const input = this.querySelector("input");
162
175
  if (input && input !== this._inputElement) {
163
- this._inputAbortController?.abort();
164
- this._inputAttributeObserver?.disconnect();
176
+ (_a2 = this._inputAbortController) == null ? void 0 : _a2.abort();
177
+ (_b = this._inputAttributeObserver) == null ? void 0 : _b.disconnect();
165
178
  this._inputElement = input;
166
179
  this._inputAbortController = new AbortController();
167
180
  this._inputElement.addEventListener("keydown", (ev) => this._onInputKeyDown(ev), {
168
181
  signal: this._inputAbortController.signal
169
182
  });
170
- this._inputElement.addEventListener(inputAutocompleteEvent, () => this._createChipFromInput("autocomplete"), {
183
+ this._inputElement.addEventListener("inputAutocomplete", (event) => {
184
+ var _a3;
185
+ this._createChipFromInput("autocomplete", (_a3 = event.detail) == null ? void 0 : _a3.option.value);
186
+ }, {
171
187
  signal: this._inputAbortController.signal
172
188
  });
173
- this._inputAttributeObserver?.observe(this._inputElement, {
189
+ (_c = this._inputAttributeObserver) == null ? void 0 : _c.observe(this._inputElement, {
174
190
  attributes: true,
175
191
  attributeFilter: ["readonly", "disabled"]
176
192
  });
177
193
  }
178
194
  this._inheritSize();
179
- this._formFieldAttributeObserver?.disconnect();
195
+ (_d = this._formFieldAttributeObserver) == null ? void 0 : _d.disconnect();
180
196
  const formField = this.closest("sbb-form-field");
181
197
  if (formField) {
182
- this._formFieldAttributeObserver?.observe(formField, {
198
+ (_e = this._formFieldAttributeObserver) == null ? void 0 : _e.observe(formField, {
183
199
  attributes: true,
184
200
  attributeFilter: ["size"]
185
201
  });
186
202
  }
187
203
  this.toggleAttribute("data-empty", this.value.length === 0);
188
204
  this._reactToInputChanges();
205
+ this._updateInputDescription();
189
206
  this.updateFormValue();
190
207
  }
191
208
  /**
@@ -205,7 +222,7 @@ let SbbChipGroupElement = (() => {
205
222
  switch (event.key) {
206
223
  case "Backspace":
207
224
  case "Delete":
208
- if (!eventTarget.readonly && !eventTarget.disabled) {
225
+ if (!eventTarget.readOnly && !eventTarget.disabled) {
209
226
  event.preventDefault();
210
227
  this._deleteChip(eventTarget);
211
228
  }
@@ -235,16 +252,17 @@ let SbbChipGroupElement = (() => {
235
252
  /**
236
253
  * If the input is not empty, create a chip with its value
237
254
  */
238
- _createChipFromInput(origin = "input") {
239
- const inputValue = this._inputElement.value.trim();
255
+ _createChipFromInput(origin = "input", value) {
256
+ var _a2;
257
+ const inputValue = value ?? this._inputElement.value.trim();
240
258
  if (!inputValue) {
241
259
  return;
242
260
  }
243
261
  const eventDetail = {
244
262
  origin,
245
263
  value: inputValue,
246
- label: void 0,
247
- setValue: (value) => eventDetail.value = value,
264
+ label: (value ? (_a2 = this.displayWith) == null ? void 0 : _a2.call(this, value) : null) ?? void 0,
265
+ setValue: (value2) => eventDetail.value = value2,
248
266
  setLabel: (label) => eventDetail.label = label
249
267
  };
250
268
  if (!this._chipInputTokenEnd.emit(eventDetail)) {
@@ -265,6 +283,7 @@ let SbbChipGroupElement = (() => {
265
283
  * @param index The index of the enabled chip. If null, focus the last one.
266
284
  */
267
285
  _focusChip(index) {
286
+ var _a2;
268
287
  const enabledChips = this._enabledChipElements();
269
288
  if (index !== void 0 && enabledChips[index]) {
270
289
  enabledChips[index].focus();
@@ -274,31 +293,44 @@ let SbbChipGroupElement = (() => {
274
293
  enabledChips[enabledChips.length - 1].focus();
275
294
  return;
276
295
  }
277
- this._inputElement?.focus();
296
+ (_a2 = this._inputElement) == null ? void 0 : _a2.focus();
278
297
  }
279
298
  _emitInputEvents() {
280
299
  this._input.emit();
281
300
  this._change.emit();
282
301
  }
283
302
  _createChipElement(value, label) {
303
+ var _a2;
304
+ if (isServer) {
305
+ return;
306
+ }
284
307
  const newChip = document.createElement("sbb-chip");
285
- newChip.setAttribute("value", value);
286
- newChip.innerText = label ?? "";
308
+ newChip.value = value;
309
+ newChip.innerText = label ?? (value ? (_a2 = this.displayWith) == null ? void 0 : _a2.call(this, value) : null) ?? "";
310
+ if (!displayWithWarningLogged && !label && typeof value === "object" && !this.displayWith) {
311
+ console.warn(`displayWith has not been set yet for sbb-chip-group and value is an object.
312
+ If you are using object values, you need to provide displayWidth before
313
+ setting or selecting any value.`);
314
+ displayWithWarningLogged = true;
315
+ }
287
316
  this.insertBefore(newChip, this._inputElement ?? this.querySelector("input"));
288
317
  }
289
318
  _reactToInputChanges() {
290
- this.disabled = this._inputElement?.disabled ?? false;
319
+ var _a2;
320
+ this.disabled = ((_a2 = this._inputElement) == null ? void 0 : _a2.disabled) ?? false;
291
321
  this._proxyStateToChips();
292
322
  }
293
323
  _proxyStateToChips() {
294
324
  this._chipElements().forEach((c) => {
325
+ var _a2;
295
326
  c.disabled = this.disabled || this.formDisabled;
296
- c.readonly = this._inputElement?.hasAttribute("readonly") ?? false;
327
+ c.readOnly = ((_a2 = this._inputElement) == null ? void 0 : _a2.hasAttribute("readonly")) ?? false;
297
328
  c.negative = this.negative;
298
329
  });
299
330
  }
300
331
  _inheritSize() {
301
- this.setAttribute("data-size", this.closest("sbb-form-field")?.size ?? (isLean() ? "s" : "m"));
332
+ var _a2;
333
+ this.setAttribute("data-size", ((_a2 = this.closest("sbb-form-field")) == null ? void 0 : _a2.size) ?? (isLean() ? "s" : "m"));
302
334
  }
303
335
  _updateInputDescription() {
304
336
  if (!this._inputElement) {
@@ -313,20 +345,24 @@ let SbbChipGroupElement = (() => {
313
345
  </div>
314
346
  `;
315
347
  }
316
- }, _separatorKeys_accessor_storage = new WeakMap(), _classThis = _a, (() => {
348
+ }, _displayWith_accessor_storage = new WeakMap(), _separatorKeys_accessor_storage = new WeakMap(), _classThis = _a, (() => {
317
349
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
318
350
  _set_value_decorators = [property({ type: Array })];
351
+ _displayWith_decorators = [property({ attribute: false })];
319
352
  _separatorKeys_decorators = [property({ attribute: "separator-keys", type: Array })];
320
353
  __esDecorate(_a, null, _set_value_decorators, { kind: "setter", name: "value", static: false, private: false, access: { has: (obj) => "value" in obj, set: (obj, value) => {
321
354
  obj.value = value;
322
355
  } }, metadata: _metadata }, null, _instanceExtraInitializers);
356
+ __esDecorate(_a, null, _displayWith_decorators, { kind: "accessor", name: "displayWith", static: false, private: false, access: { has: (obj) => "displayWith" in obj, get: (obj) => obj.displayWith, set: (obj, value) => {
357
+ obj.displayWith = value;
358
+ } }, metadata: _metadata }, _displayWith_initializers, _displayWith_extraInitializers);
323
359
  __esDecorate(_a, null, _separatorKeys_decorators, { kind: "accessor", name: "separatorKeys", static: false, private: false, access: { has: (obj) => "separatorKeys" in obj, get: (obj) => obj.separatorKeys, set: (obj, value) => {
324
360
  obj.separatorKeys = value;
325
361
  } }, metadata: _metadata }, _separatorKeys_initializers, _separatorKeys_extraInitializers);
326
362
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
327
363
  SbbChipGroupElement2 = _classThis = _classDescriptor.value;
328
364
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
329
- })(), _a.styles = style, _a.events = {
365
+ })(), _a.role = "listbox", _a.styles = style, _a.events = {
330
366
  input: "input",
331
367
  change: "change",
332
368
  chipInputTokenEnd: "chipInputTokenEnd"
@@ -336,4 +372,4 @@ let SbbChipGroupElement = (() => {
336
372
  export {
337
373
  SbbChipGroupElement
338
374
  };
339
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGlwL2NoaXAtZ3JvdXAvY2hpcC1ncm91cC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgaW5wdXRBdXRvY29tcGxldGVFdmVudCB9IGZyb20gJy4uLy4uL2F1dG9jb21wbGV0ZS5qcyc7XG5pbXBvcnQgeyBnZXROZXh0RWxlbWVudEluZGV4LCBpc0Fycm93S2V5UHJlc3NlZCB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJy4uLy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHsgaTE4bkNoaXBHcm91cElucHV0RGVzY3JpcHRpb24sIGkxOG5TZWxlY3Rpb25SZXF1aXJlZCB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQge1xuICB0eXBlIEZvcm1SZXN0b3JlUmVhc29uLFxuICB0eXBlIEZvcm1SZXN0b3JlU3RhdGUsXG4gIFNiYkRpc2FibGVkTWl4aW4sXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4sXG4gIFNiYk5lZ2F0aXZlTWl4aW4sXG4gIFNiYlJlcXVpcmVkTWl4aW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYkNoaXBFbGVtZW50IH0gZnJvbSAnLi4vY2hpcC5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2NoaXAtZ3JvdXAuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IGludGVyZmFjZSBTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50RGV0YWlscyB7XG4gIC8qKiBUaGUgZWxlbWVudCB0aGF0IHRyaWdnZXJlZCB0aGUgY2hpcCBjcmVhdGlvbiAqL1xuICBvcmlnaW46ICdpbnB1dCcgfCAnYXV0b2NvbXBsZXRlJztcbiAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgbmV3IGNoaXAuIEVpdGhlciB0aGUgaW5wdXQgb3IgdGhlIG9wdGlvbiB2YWx1ZSBkZXBlbmRpbmcgb24gdGhlIG9yaWdpbiAqL1xuICB2YWx1ZTogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgLyoqIFNldCBhIG5ldyB2YWx1ZSBmb3IgdGhlIGNoaXAgdGhhdCB3aWxsIGJlIGNyZWF0ZWQgKi9cbiAgc2V0VmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQ7XG4gIC8qKiBTZXQgYSBsYWJlbCBmb3IgdGhlIGNoaXAgdGhhdCB3aWxsIGJlIGNyZWF0ZWQgKi9cbiAgc2V0TGFiZWwodmFsdWU6IHN0cmluZyk6IHZvaWQ7XG59XG5cbi8qKlxuICogVGhlIGBzYmItY2hpcC1ncm91cGAgY29tcG9uZW50IGlzIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIG9uZSBvciBtdWx0aXBsZSBgc2JiLWNoaXBgLlxuICpcbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGNoYW5nZSAtIE5vdGlmaWVzIHRoYXQgdGhlIGNvbXBvbmVudCdzIHZhbHVlIGhhcyBjaGFuZ2VkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gaW5wdXQgLSBOb3RpZmllcyB0aGF0IHRoZSBjb21wb25lbnQncyB2YWx1ZSBoYXMgY2hhbmdlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8U2JiQ2hpcElucHV0VG9rZW5FbmRFdmVudERldGFpbHM+fSBjaGlwSW5wdXRUb2tlbkVuZCAtIE5vdGlmaWVzIHRoYXQgYSBjaGlwIGlzIGFib3V0IHRvIGJlIGNyZWF0ZWQuIENhbiBiZSB1c2VkIHRvIGN1c3RvbWl6ZSB0aGUgdmFsdWUgYW5kIHRoZSBsYWJlbC4gQ2FuIGJlIHByZXZlbnRlZC5cbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItY2hpcGAgZWxlbWVudHMuXG4gKiBAb3ZlcnJpZGVUeXBlIHZhbHVlIC0gc3RyaW5nW10gfCBudWxsXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1jaGlwLWdyb3VwJylcbmNsYXNzIFNiYkNoaXBHcm91cEVsZW1lbnQgZXh0ZW5kcyBTYmJSZXF1aXJlZE1peGluKFxuICBTYmJEaXNhYmxlZE1peGluKFxuICAgIFNiYk5lZ2F0aXZlTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbjx0eXBlb2YgTGl0RWxlbWVudCwgc3RyaW5nW10+KExpdEVsZW1lbnQpKSxcbiAgKSxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgaW5wdXQ6ICdpbnB1dCcsXG4gICAgY2hhbmdlOiAnY2hhbmdlJyxcbiAgICBjaGlwSW5wdXRUb2tlbkVuZDogJ2NoaXBJbnB1dFRva2VuRW5kJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogVmFsdWUgb2YgdGhlIGZvcm0gZWxlbWVudC4gKi9cbiAgQHByb3BlcnR5KHsgdHlwZTogQXJyYXkgfSlcbiAgcHVibGljIG92ZXJyaWRlIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nW10gfCBudWxsKSB7XG4gICAgdmFsdWUgPSB2YWx1ZSA/PyBbXTtcbiAgICBzdXBlci52YWx1ZSA9IHZhbHVlO1xuICAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy52YWx1ZTtcblxuICAgIC8vIFN1YnRyYWN0IGZyb20gJ29sZFZhbHVlJyB0aGUgbmV3ICd2YWx1ZSdcbiAgICAvLyBUaGUgcmVzdWx0IGFyZSB0aGUgY2hpcHMgdG8gcmVtb3ZlIChoYW5kbGUgZHVwbGljYXRlcylcbiAgICBjb25zdCB0b1JlbW92ZSA9IFsuLi5vbGRWYWx1ZV07XG4gICAgZm9yIChjb25zdCBjIG9mIHZhbHVlKSB7XG4gICAgICBpZiAodG9SZW1vdmUuaW5jbHVkZXMoYykpIHtcbiAgICAgICAgdG9SZW1vdmUuc3BsaWNlKHRvUmVtb3ZlLmluZGV4T2YoYyksIDEpO1xuICAgICAgfVxuICAgIH1cbiAgICB0b1JlbW92ZS5mb3JFYWNoKCh2YWx1ZSkgPT5cbiAgICAgIHRoaXMuX2NoaXBFbGVtZW50cygpXG4gICAgICAgIC5maW5kKChjKSA9PiBjLnZhbHVlID09PSB2YWx1ZSlcbiAgICAgICAgPy5yZW1vdmUoKSxcbiAgICApO1xuXG4gICAgLy8gU3VidHJhY3QgZnJvbSB0aGUgbmV3ICd2YWx1ZScgd2hhdCB3YXMgYWxyZWFkeSBwcmVzZW50XG4gICAgLy8gVGhlIHJlc3VsdCBhcmUgdGhlIG5ldyBjaGlwcyB0byBhZGQgKGhhbmRsZSBkdXBsaWNhdGVzKVxuICAgIGNvbnN0IHRvQWRkID0gWy4uLnZhbHVlXTtcbiAgICBmb3IgKGNvbnN0IGMgb2Ygb2xkVmFsdWUpIHtcbiAgICAgIGlmICh0b0FkZC5pbmNsdWRlcyhjKSkge1xuICAgICAgICB0b0FkZC5zcGxpY2UodG9BZGQuaW5kZXhPZihjKSwgMSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRvQWRkLmZvckVhY2goKGMpID0+IHRoaXMuX2NyZWF0ZUNoaXBFbGVtZW50KGMpKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHZhbHVlKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fY2hpcEVsZW1lbnRzKCkubWFwKChjKSA9PiBjLnZhbHVlKTtcbiAgfVxuXG4gIC8qKiBUaGUgYXJyYXkgb2Yga2V5cyB0aGF0IHdpbGwgdHJpZ2dlciBhIGBjaGlwSW5wdXRUb2tlbkVuZGAgZXZlbnQuIERlZmF1bHQgYFsnRW50ZXInXWAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc2VwYXJhdG9yLWtleXMnLCB0eXBlOiBBcnJheSB9KVxuICBwdWJsaWMgYWNjZXNzb3Igc2VwYXJhdG9yS2V5czogc3RyaW5nW10gPSBbJ0VudGVyJ107XG5cbiAgLyoqIE5vdGlmaWVzIHRoYXQgdGhlIGNvbXBvbmVudCdzIHZhbHVlIGhhcyBjaGFuZ2VkLiAqL1xuICBwcml2YXRlIF9jaGFuZ2U6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIodGhpcywgU2JiQ2hpcEdyb3VwRWxlbWVudC5ldmVudHMuY2hhbmdlKTtcblxuICAvKiogTm90aWZpZXMgdGhhdCB0aGUgY29tcG9uZW50J3MgdmFsdWUgaGFzIGNoYW5nZWQuICovXG4gIHByaXZhdGUgX2lucHV0OiBFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKHRoaXMsIFNiYkNoaXBHcm91cEVsZW1lbnQuZXZlbnRzLmlucHV0KTtcblxuICAvKiogTm90aWZpZXMgdGhhdCBhIGNoaXAgaXMgYWJvdXQgdG8gYmUgY3JlYXRlZC4gQ2FuIGJlIHByZXZlbnRlZC4gKi9cbiAgcHJpdmF0ZSBfY2hpcElucHV0VG9rZW5FbmQgPSBuZXcgRXZlbnRFbWl0dGVyPFNiYkNoaXBJbnB1dFRva2VuRW5kRXZlbnREZXRhaWxzPihcbiAgICB0aGlzLFxuICAgIFNiYkNoaXBHcm91cEVsZW1lbnQuZXZlbnRzLmNoaXBJbnB1dFRva2VuRW5kLFxuICApO1xuXG4gIC8qKlxuICAgKiBMaXN0ZW5zIHRvIHRoZSBjaGFuZ2VzIG9uIGByZWFkb25seWAgYW5kIGBkaXNhYmxlZGAgYXR0cmlidXRlcyBvZiBgPGlucHV0PmAuXG4gICAqL1xuICBwcml2YXRlIF9pbnB1dEF0dHJpYnV0ZU9ic2VydmVyID0gIWlzU2VydmVyXG4gICAgPyBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB0aGlzLl9yZWFjdFRvSW5wdXRDaGFuZ2VzKCkpXG4gICAgOiBudWxsO1xuXG4gIC8qKlxuICAgKiBMaXN0ZW5zIHRvIHRoZSAnc2l6ZScgY2hhbmdlcyBvbiB0aGUgYHNiYi1mb3JtLWZpZWxkYC5cbiAgICovXG4gIHByaXZhdGUgX2Zvcm1GaWVsZEF0dHJpYnV0ZU9ic2VydmVyID0gIWlzU2VydmVyXG4gICAgPyBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB0aGlzLl9pbmhlcml0U2l6ZSgpKVxuICAgIDogbnVsbDtcblxuICBwcml2YXRlIF9pbnB1dEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX2lucHV0QWJvcnRDb250cm9sbGVyOiBBYm9ydENvbnRyb2xsZXIgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICB0aGlzLmludGVybmFscy5yb2xlID0gJ2xpc3Rib3gnO1xuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oU2JiQ2hpcEVsZW1lbnQuZXZlbnRzLnJlcXVlc3REZWxldGUsIChldikgPT5cbiAgICAgIHRoaXMuX2RlbGV0ZUNoaXAoZXYudGFyZ2V0IGFzIFNiYkNoaXBFbGVtZW50KSxcbiAgICApO1xuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZXYpID0+IHRoaXMuX29uQ2hpcEtleURvd24oZXYpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX3NldHVwQ29tcG9uZW50KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXMpOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChcbiAgICAgIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZGlzYWJsZWQnKSB8fFxuICAgICAgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdmb3JtRGlzYWJsZWQnKSB8fFxuICAgICAgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCduZWdhdGl2ZScpXG4gICAgKSB7XG4gICAgICB0aGlzLl9wcm94eVN0YXRlVG9DaGlwcygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHVibGljIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwdWJsaWMgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKFxuICAgIHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICBfcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgKTogdm9pZCB7XG4gICAgaWYgKCFzdGF0ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gdGhlIHN0YXRlIGZvcm1hdCBpcyBbJ2ZpZWxkLW5hbWUnLCAndmFsdWUnXVtdXG4gICAgdGhpcy52YWx1ZSA9IChzdGF0ZSBhcyBbc3RyaW5nLCBzdHJpbmddW10pLm1hcCgoZW50cmllcykgPT4gZW50cmllc1sxXSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICB0aGlzLnZhbHVlLmZvckVhY2goKGVsKSA9PiBkYXRhLmFwcGVuZCh0aGlzLm5hbWUsIGVsKSk7XG4gICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKGRhdGEpO1xuICAgIHRoaXMudmFsaWRhdGUoKTtcbiAgICB0aGlzLl91cGRhdGVJbnB1dERlc2NyaXB0aW9uKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuc2hvdWxkVmFsaWRhdGUobmFtZSkgfHwgbmFtZSA9PT0gJ3JlcXVpcmVkJztcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB2YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICBzdXBlci52YWxpZGF0ZSgpO1xuICAgIGlmICh0aGlzLnJlcXVpcmVkICYmIHRoaXMudmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZygndmFsdWVNaXNzaW5nJywgaTE4blNlbGVjdGlvblJlcXVpcmVkW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW1vdmVWYWxpZGl0eUZsYWcoJ3ZhbHVlTWlzc2luZycpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBSZXR1cm4gdGhlIGxpc3Qgb2YgY2hpcCBlbGVtZW50cyAqKi9cbiAgcHJpdmF0ZSBfY2hpcEVsZW1lbnRzKCk6IFNiYkNoaXBFbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItY2hpcCcpID8/IFtdKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm4gdGhlIGxpc3Qgb2YgZW5hYmxlZCBjaGlwIGVsZW1lbnRzICoqL1xuICBwcml2YXRlIF9lbmFibGVkQ2hpcEVsZW1lbnRzKCk6IFNiYkNoaXBFbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItY2hpcDpub3QoW2Rpc2FibGVkXSknKSA/PyBbXSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXR1cENvbXBvbmVudCgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcblxuICAgIC8vIENvbm5lY3QgdG8gdGhlIGlucHV0XG4gICAgaWYgKGlucHV0ICYmIGlucHV0ICE9PSB0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5faW5wdXRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50ID0gaW5wdXQ7XG5cbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXYpID0+IHRoaXMuX29uSW5wdXRLZXlEb3duKGV2KSwge1xuICAgICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgIGlucHV0QXV0b2NvbXBsZXRlRXZlbnQsXG4gICAgICAgICgpID0+IHRoaXMuX2NyZWF0ZUNoaXBGcm9tSW5wdXQoJ2F1dG9jb21wbGV0ZScpLFxuICAgICAgICB7XG4gICAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICB0aGlzLl9pbnB1dEF0dHJpYnV0ZU9ic2VydmVyPy5vYnNlcnZlKHRoaXMuX2lucHV0RWxlbWVudCwge1xuICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsncmVhZG9ubHknLCAnZGlzYWJsZWQnXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEluaGVyaXQgc2l6ZSBmcm9tIHRoZSBmb3JtLWZpZWxkIGFuZCBvYnNlcnZlIGZvciBjaGFuZ2VzXG4gICAgdGhpcy5faW5oZXJpdFNpemUoKTtcbiAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuY2xvc2VzdCgnc2JiLWZvcm0tZmllbGQnKTtcbiAgICBpZiAoZm9ybUZpZWxkKSB7XG4gICAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlcj8ub2JzZXJ2ZShmb3JtRmllbGQsIHtcbiAgICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ3NpemUnXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWVtcHR5JywgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApO1xuICAgIHRoaXMuX3JlYWN0VG9JbnB1dENoYW5nZXMoKTtcbiAgICB0aGlzLnVwZGF0ZUZvcm1WYWx1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiBmb3Iga2V5Ym9hcmQgZXZlbnRzIG9uIHRoZSBjaGlwIGVsZW1lbnRzXG4gICAqKi9cbiAgcHJpdmF0ZSBfb25DaGlwS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGV2ZW50VGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIFNiYkNoaXBFbGVtZW50O1xuICAgIGlmIChldmVudFRhcmdldC5sb2NhbE5hbWUgIT09ICdzYmItY2hpcCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBBcnJvdyBrZXlzIGFsbG93IG5hdmlnYXRpb24gYmV0d2VlbiBjaGlwcyBmb2N1cyBzdGVwc1xuICAgIGlmIChpc0Fycm93S2V5UHJlc3NlZChldmVudCkpIHtcbiAgICAgIGNvbnN0IGZvY3VzU3RlcHMgPSB0aGlzLl9lbmFibGVkQ2hpcEVsZW1lbnRzKCk7XG4gICAgICBjb25zdCBuZXh0ID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldmVudCwgZm9jdXNTdGVwcy5pbmRleE9mKGV2ZW50VGFyZ2V0KSwgZm9jdXNTdGVwcy5sZW5ndGgpO1xuICAgICAgZm9jdXNTdGVwc1tuZXh0XS5mb2N1cygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdCYWNrc3BhY2UnOlxuICAgICAgY2FzZSAnRGVsZXRlJzpcbiAgICAgICAgaWYgKCFldmVudFRhcmdldC5yZWFkb25seSAmJiAhZXZlbnRUYXJnZXQuZGlzYWJsZWQpIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIHRoaXMuX2RlbGV0ZUNoaXAoZXZlbnRUYXJnZXQpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gZm9yIGtleWJvYXJkIGV2ZW50cyBvbiB0aGUgaW5wdXRcbiAgICoqL1xuICBwcml2YXRlIF9vbklucHV0S2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdCYWNrc3BhY2UnOlxuICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgaWYgKCF0aGlzLl9pbnB1dEVsZW1lbnQhLnZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5fZm9jdXNDaGlwKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFbnRlcic6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IC8vIFByZXZlbnRzIHRoZSBmb3JtIHN1Ym1pdFxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICAvLyBpZiB0aGUgdXNlciB0eXBlZCBvbmUgb2YgdGhlIHNlcGFyYXRvciBrZXlzLCB0cmlnZ2VyIGEgY2hpcElucHV0VG9rZW5FbmQgZXZlbnRcbiAgICBpZiAodGhpcy5zZXBhcmF0b3JLZXlzLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IC8vIHByZXZlbnQgdHlwaW5nIHRoZSBzZXBhcmF0b3Iga2V5IGludG8gdGhlIGlucHV0XG4gICAgICB0aGlzLl9jcmVhdGVDaGlwRnJvbUlucHV0KCdpbnB1dCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGUgaW5wdXQgaXMgbm90IGVtcHR5LCBjcmVhdGUgYSBjaGlwIHdpdGggaXRzIHZhbHVlXG4gICAqL1xuICBwcml2YXRlIF9jcmVhdGVDaGlwRnJvbUlucHV0KG9yaWdpbjogJ2lucHV0JyB8ICdhdXRvY29tcGxldGUnID0gJ2lucHV0Jyk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0VmFsdWUgPSB0aGlzLl9pbnB1dEVsZW1lbnQhLnZhbHVlLnRyaW0oKTtcbiAgICBpZiAoIWlucHV0VmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBldmVudERldGFpbDogU2JiQ2hpcElucHV0VG9rZW5FbmRFdmVudERldGFpbHMgPSB7XG4gICAgICBvcmlnaW46IG9yaWdpbixcbiAgICAgIHZhbHVlOiBpbnB1dFZhbHVlLFxuICAgICAgbGFiZWw6IHVuZGVmaW5lZCxcbiAgICAgIHNldFZhbHVlOiAodmFsdWU6IHN0cmluZykgPT4gKGV2ZW50RGV0YWlsLnZhbHVlID0gdmFsdWUpLFxuICAgICAgc2V0TGFiZWw6IChsYWJlbDogc3RyaW5nKSA9PiAoZXZlbnREZXRhaWwubGFiZWwgPSBsYWJlbCksXG4gICAgfTtcblxuICAgIGlmICghdGhpcy5fY2hpcElucHV0VG9rZW5FbmQuZW1pdChldmVudERldGFpbCkpIHtcbiAgICAgIHJldHVybjsgLy8gZXZlbnQgcHJldmVudGVkOyBkbyBub3RoaW5nICh0aGUgY29uc3VtZXIgaGFzIHRvIGNyZWF0ZSB0aGUgY2hpcClcbiAgICB9XG5cbiAgICB0aGlzLl9jcmVhdGVDaGlwRWxlbWVudChldmVudERldGFpbC52YWx1ZSwgZXZlbnREZXRhaWwubGFiZWwpO1xuICAgIHRoaXMuX2lucHV0RWxlbWVudCEudmFsdWUgPSAnJzsgLy8gRW1wdHkgdGhlIGlucHV0XG4gICAgdGhpcy5fZW1pdElucHV0RXZlbnRzKCk7XG4gIH1cblxuICBwcml2YXRlIF9kZWxldGVDaGlwKGNoaXA6IFNiYkNoaXBFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3QgY2hpcHMgPSB0aGlzLl9lbmFibGVkQ2hpcEVsZW1lbnRzKCk7XG4gICAgY2hpcC5yZW1vdmUoKTtcbiAgICB0aGlzLl9lbWl0SW5wdXRFdmVudHMoKTtcbiAgICB0aGlzLl9mb2N1c0NoaXAoY2hpcHMuaW5kZXhPZihjaGlwKSk7IC8vIEZvY3VzIHRoZSBuZXh0IGNoaXBcbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1cyBhbiBlbmFibGVkIGNoaXAuIElmIG5vbmUgYXJlIHByZXNlbnQsIGZvY3VzIHRoZSBpbnB1dFxuICAgKiBAcGFyYW0gaW5kZXggVGhlIGluZGV4IG9mIHRoZSBlbmFibGVkIGNoaXAuIElmIG51bGwsIGZvY3VzIHRoZSBsYXN0IG9uZS5cbiAgICovXG4gIHByaXZhdGUgX2ZvY3VzQ2hpcChpbmRleD86IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZWRDaGlwcyA9IHRoaXMuX2VuYWJsZWRDaGlwRWxlbWVudHMoKTtcblxuICAgIGlmIChpbmRleCAhPT0gdW5kZWZpbmVkICYmIGVuYWJsZWRDaGlwc1tpbmRleF0pIHtcbiAgICAgIGVuYWJsZWRDaGlwc1tpbmRleF0uZm9jdXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZW5hYmxlZENoaXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIGVuYWJsZWRDaGlwc1tlbmFibGVkQ2hpcHMubGVuZ3RoIC0gMV0uZm9jdXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pbnB1dEVsZW1lbnQ/LmZvY3VzKCk7XG4gIH1cblxuICBwcml2YXRlIF9lbWl0SW5wdXRFdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5faW5wdXQuZW1pdCgpO1xuICAgIHRoaXMuX2NoYW5nZS5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVDaGlwRWxlbWVudCh2YWx1ZTogc3RyaW5nLCBsYWJlbD86IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG5ld0NoaXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzYmItY2hpcCcpO1xuICAgIG5ld0NoaXAuc2V0QXR0cmlidXRlKCd2YWx1ZScsIHZhbHVlKTtcbiAgICBuZXdDaGlwLmlubmVyVGV4dCA9IGxhYmVsID8/ICcnO1xuICAgIHRoaXMuaW5zZXJ0QmVmb3JlKG5ld0NoaXAsIHRoaXMuX2lucHV0RWxlbWVudCA/PyB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVhY3RUb0lucHV0Q2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5faW5wdXRFbGVtZW50Py5kaXNhYmxlZCA/PyBmYWxzZTtcbiAgICB0aGlzLl9wcm94eVN0YXRlVG9DaGlwcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJveHlTdGF0ZVRvQ2hpcHMoKTogdm9pZCB7XG4gICAgdGhpcy5fY2hpcEVsZW1lbnRzKCkuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgYy5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5mb3JtRGlzYWJsZWQ7XG4gICAgICBjLnJlYWRvbmx5ID0gdGhpcy5faW5wdXRFbGVtZW50Py5oYXNBdHRyaWJ1dGUoJ3JlYWRvbmx5JykgPz8gZmFsc2U7XG4gICAgICBjLm5lZ2F0aXZlID0gdGhpcy5uZWdhdGl2ZTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaGVyaXRTaXplKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLXNpemUnLCB0aGlzLmNsb3Nlc3QoJ3NiYi1mb3JtLWZpZWxkJyk/LnNpemUgPz8gKGlzTGVhbigpID8gJ3MnIDogJ20nKSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVJbnB1dERlc2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faW5wdXRFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2lucHV0RWxlbWVudC5zZXRBdHRyaWJ1dGUoXG4gICAgICAnYXJpYS1kZXNjcmlwdGlvbicsXG4gICAgICBgJHtpMThuQ2hpcEdyb3VwSW5wdXREZXNjcmlwdGlvblt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0gJHt0aGlzLnZhbHVlLmxlbmd0aH1gLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItY2hpcC1ncm91cFwiPlxuICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX3NldHVwQ29tcG9uZW50fT48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItY2hpcC1ncm91cCc6IFNiYkNoaXBHcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJDaGlwR3JvdXBFbGVtZW50IiwidmFsdWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQW1ETSx1QkFBbUIsTUFBQTs7MEJBRHhCLGNBQWMsZ0JBQWdCLENBQUM7Ozs7b0JBQ0UsaUJBQ2hDLGlCQUNFLGlCQUFpQix1QkFBb0QsVUFBVSxDQUFDLENBQUMsQ0FDbEY7Ozs7OztBQUh1QixNQUFBQSx3QkFBQSxtQkFBUSxZQUlqQztBQUFBLElBNkVDLGNBQUE7QUFDRSxZQUFBO0FBakNG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
375
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGlwL2NoaXAtZ3JvdXAvY2hpcC1ncm91cC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IGkxOG5DaGlwR3JvdXBJbnB1dERlc2NyaXB0aW9uLCBpMThuU2VsZWN0aW9uUmVxdWlyZWQgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4sXG4gIFNiYk5lZ2F0aXZlTWl4aW4sXG4gIFNiYlJlcXVpcmVkTWl4aW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiT3B0aW9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9vcHRpb24vb3B0aW9uL29wdGlvbi1iYXNlLWVsZW1lbnQuanMnO1xuaW1wb3J0IHsgU2JiQ2hpcEVsZW1lbnQgfSBmcm9tICcuLi9jaGlwLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vY2hpcC1ncm91cC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5sZXQgZGlzcGxheVdpdGhXYXJuaW5nTG9nZ2VkID0gZmFsc2U7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiQ2hpcElucHV0VG9rZW5FbmRFdmVudERldGFpbHM8VCA9IHN0cmluZz4ge1xuICAvKiogVGhlIGVsZW1lbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIGNoaXAgY3JlYXRpb24gKi9cbiAgb3JpZ2luOiAnaW5wdXQnIHwgJ2F1dG9jb21wbGV0ZSc7XG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIG5ldyBjaGlwLiBFaXRoZXIgdGhlIGlucHV0IG9yIHRoZSBvcHRpb24gdmFsdWUgZGVwZW5kaW5nIG9uIHRoZSBvcmlnaW4uXG4gICAqIEVpdGhlciB0aGUgdmFsdWUgZnJvbSB0aGUgaW5wdXQgd2hpY2ggaXMgYWx3YXlzIGBzdHJpbmdgIG9yIHRoZSB2YWx1ZSBmcm9tIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgICogZnJvbSBhbiBhdXRvY29tcGxldGUsIHdoaWNoIGNhbiBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYW55IG90aGVyIHR5cGUuXG4gICAqL1xuICB2YWx1ZTogVCB8IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIC8qKiBTZXQgYSBuZXcgdmFsdWUgZm9yIHRoZSBjaGlwIHRoYXQgd2lsbCBiZSBjcmVhdGVkICovXG4gIHNldFZhbHVlKHZhbHVlOiBUKTogdm9pZDtcbiAgLyoqIFNldCBhIGxhYmVsIGZvciB0aGUgY2hpcCB0aGF0IHdpbGwgYmUgY3JlYXRlZCAqL1xuICBzZXRMYWJlbCh2YWx1ZTogc3RyaW5nKTogdm9pZDtcbn1cblxuLyoqXG4gKiBUaGUgYHNiYi1jaGlwLWdyb3VwYCBjb21wb25lbnQgaXMgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3Igb25lIG9yIG11bHRpcGxlIGBzYmItY2hpcGAuXG4gKlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gY2hhbmdlIC0gTm90aWZpZXMgdGhhdCB0aGUgY29tcG9uZW50J3MgdmFsdWUgaGFzIGNoYW5nZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBpbnB1dCAtIE5vdGlmaWVzIHRoYXQgdGhlIGNvbXBvbmVudCdzIHZhbHVlIGhhcyBjaGFuZ2VkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDxTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50RGV0YWlscz59IGNoaXBJbnB1dFRva2VuRW5kIC0gTm90aWZpZXMgdGhhdCBhIGNoaXAgaXMgYWJvdXQgdG8gYmUgY3JlYXRlZC4gQ2FuIGJlIHVzZWQgdG8gY3VzdG9taXplIHRoZSB2YWx1ZSBhbmQgdGhlIGxhYmVsLiBDYW4gYmUgcHJldmVudGVkLlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1jaGlwYCBlbGVtZW50cy5cbiAqIEBvdmVycmlkZVR5cGUgdmFsdWUgLSAoVCA9IHN0cmluZ1tdKSB8IG51bGxcbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWNoaXAtZ3JvdXAnKVxuY2xhc3MgU2JiQ2hpcEdyb3VwRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYlJlcXVpcmVkTWl4aW4oXG4gIFNiYkRpc2FibGVkTWl4aW4oU2JiTmVnYXRpdmVNaXhpbihTYmJGb3JtQXNzb2NpYXRlZE1peGluKFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihMaXRFbGVtZW50KSkpKSxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAnbGlzdGJveCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBpbnB1dDogJ2lucHV0JyxcbiAgICBjaGFuZ2U6ICdjaGFuZ2UnLFxuICAgIGNoaXBJbnB1dFRva2VuRW5kOiAnY2hpcElucHV0VG9rZW5FbmQnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBWYWx1ZSBvZiB0aGUgZm9ybSBlbGVtZW50LiAqL1xuICBAcHJvcGVydHkoeyB0eXBlOiBBcnJheSB9KVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiAoVCB8IG51bGwpW10gfCBudWxsKSB7XG4gICAgdmFsdWUgPSB2YWx1ZSA/PyBbXTtcbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMudmFsdWU7XG5cbiAgICAvLyBTdWJ0cmFjdCBmcm9tICdvbGRWYWx1ZScgdGhlIG5ldyAndmFsdWUnXG4gICAgLy8gVGhlIHJlc3VsdCBhcmUgdGhlIGNoaXBzIHRvIHJlbW92ZSAoaGFuZGxlIGR1cGxpY2F0ZXMpXG4gICAgY29uc3QgdG9SZW1vdmUgPSBbLi4ub2xkVmFsdWVdO1xuICAgIGZvciAoY29uc3QgYyBvZiB2YWx1ZSkge1xuICAgICAgaWYgKHRvUmVtb3ZlLmluY2x1ZGVzKGMpKSB7XG4gICAgICAgIHRvUmVtb3ZlLnNwbGljZSh0b1JlbW92ZS5pbmRleE9mKGMpLCAxKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdG9SZW1vdmUuZm9yRWFjaCgodmFsdWUpID0+XG4gICAgICB0aGlzLl9jaGlwRWxlbWVudHMoKVxuICAgICAgICAuZmluZCgoYykgPT4gYy52YWx1ZSA9PT0gdmFsdWUpXG4gICAgICAgID8ucmVtb3ZlKCksXG4gICAgKTtcblxuICAgIC8vIFN1YnRyYWN0IGZyb20gdGhlIG5ldyAndmFsdWUnIHdoYXQgd2FzIGFscmVhZHkgcHJlc2VudFxuICAgIC8vIFRoZSByZXN1bHQgYXJlIHRoZSBuZXcgY2hpcHMgdG8gYWRkIChoYW5kbGUgZHVwbGljYXRlcylcbiAgICBjb25zdCB0b0FkZCA9IFsuLi52YWx1ZV07XG4gICAgZm9yIChjb25zdCBjIG9mIG9sZFZhbHVlKSB7XG4gICAgICBpZiAodG9BZGQuaW5jbHVkZXMoYykpIHtcbiAgICAgICAgdG9BZGQuc3BsaWNlKHRvQWRkLmluZGV4T2YoYyksIDEpO1xuICAgICAgfVxuICAgIH1cbiAgICB0b0FkZC5mb3JFYWNoKChjKSA9PiB0aGlzLl9jcmVhdGVDaGlwRWxlbWVudChjKSk7XG4gIH1cbiAgcHVibGljIGdldCB2YWx1ZSgpOiAoVCB8IG51bGwpW10ge1xuICAgIHJldHVybiB0aGlzLl9jaGlwRWxlbWVudHMoKS5tYXAoKGMpID0+IGMudmFsdWUpO1xuICB9XG5cbiAgLyoqIEZ1bmN0aW9uIHRoYXQgbWFwcyBhIGNoaXAncyB2YWx1ZSB0byBpdHMgZGlzcGxheSB2YWx1ZS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZGlzcGxheVdpdGg6ICgodmFsdWU6IFQpID0+IHN0cmluZykgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIGFycmF5IG9mIGtleXMgdGhhdCB3aWxsIHRyaWdnZXIgYSBgY2hpcElucHV0VG9rZW5FbmRgIGV2ZW50LiBEZWZhdWx0IGBbJ0VudGVyJ11gICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3NlcGFyYXRvci1rZXlzJywgdHlwZTogQXJyYXkgfSlcbiAgcHVibGljIGFjY2Vzc29yIHNlcGFyYXRvcktleXM6IHN0cmluZ1tdID0gWydFbnRlciddO1xuXG4gIC8qKiBOb3RpZmllcyB0aGF0IHRoZSBjb21wb25lbnQncyB2YWx1ZSBoYXMgY2hhbmdlZC4gKi9cbiAgcHJpdmF0ZSBfY2hhbmdlOiBFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKHRoaXMsIFNiYkNoaXBHcm91cEVsZW1lbnQuZXZlbnRzLmNoYW5nZSk7XG5cbiAgLyoqIE5vdGlmaWVzIHRoYXQgdGhlIGNvbXBvbmVudCdzIHZhbHVlIGhhcyBjaGFuZ2VkLiAqL1xuICBwcml2YXRlIF9pbnB1dDogRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcih0aGlzLCBTYmJDaGlwR3JvdXBFbGVtZW50LmV2ZW50cy5pbnB1dCk7XG5cbiAgLyoqIE5vdGlmaWVzIHRoYXQgYSBjaGlwIGlzIGFib3V0IHRvIGJlIGNyZWF0ZWQuIENhbiBiZSBwcmV2ZW50ZWQuICovXG4gIHByaXZhdGUgX2NoaXBJbnB1dFRva2VuRW5kID0gbmV3IEV2ZW50RW1pdHRlcjxTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50RGV0YWlsczxUPj4oXG4gICAgdGhpcyxcbiAgICBTYmJDaGlwR3JvdXBFbGVtZW50LmV2ZW50cy5jaGlwSW5wdXRUb2tlbkVuZCxcbiAgKTtcblxuICAvKipcbiAgICogTGlzdGVucyB0byB0aGUgY2hhbmdlcyBvbiBgcmVhZG9ubHlgIGFuZCBgZGlzYWJsZWRgIGF0dHJpYnV0ZXMgb2YgYDxpbnB1dD5gLlxuICAgKi9cbiAgcHJpdmF0ZSBfaW5wdXRBdHRyaWJ1dGVPYnNlcnZlciA9ICFpc1NlcnZlclxuICAgID8gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4gdGhpcy5fcmVhY3RUb0lucHV0Q2hhbmdlcygpKVxuICAgIDogbnVsbDtcblxuICAvKipcbiAgICogTGlzdGVucyB0byB0aGUgJ3NpemUnIGNoYW5nZXMgb24gdGhlIGBzYmItZm9ybS1maWVsZGAuXG4gICAqL1xuICBwcml2YXRlIF9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlciA9ICFpc1NlcnZlclxuICAgID8gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4gdGhpcy5faW5oZXJpdFNpemUoKSlcbiAgICA6IG51bGw7XG5cbiAgcHJpdmF0ZSBfaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9pbnB1dEFib3J0Q29udHJvbGxlcjogQWJvcnRDb250cm9sbGVyIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LihTYmJDaGlwRWxlbWVudC5ldmVudHMucmVxdWVzdERlbGV0ZSwgKGV2KSA9PlxuICAgICAgdGhpcy5fZGVsZXRlQ2hpcChldi50YXJnZXQgYXMgU2JiQ2hpcEVsZW1lbnQ8VD4pLFxuICAgICk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChldikgPT4gdGhpcy5fb25DaGlwS2V5RG93bihldikpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fc2V0dXBDb21wb25lbnQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKFxuICAgICAgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpIHx8XG4gICAgICBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Zvcm1EaXNhYmxlZCcpIHx8XG4gICAgICBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJylcbiAgICApIHtcbiAgICAgIHRoaXMuX3Byb3h5U3RhdGVUb0NoaXBzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwdWJsaWMgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHB1YmxpYyBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgIF9yZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICApOiB2b2lkIHtcbiAgICBpZiAoIXN0YXRlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9yZWFkRm9ybURhdGEoc3RhdGUgYXMgRm9ybURhdGEpLnRoZW4oKGFycmF5KSA9PiAodGhpcy52YWx1ZSA9IGFycmF5KSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9yZWFkRm9ybURhdGEoZm9ybURhdGE6IEZvcm1EYXRhKTogUHJvbWlzZTxUW10+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICBmb3JtRGF0YVxuICAgICAgICAuZ2V0QWxsKHRoaXMubmFtZSlcbiAgICAgICAgLm1hcChhc3luYyAoZW50cnkpID0+XG4gICAgICAgICAgZW50cnkgaW5zdGFuY2VvZiBCbG9iID8gSlNPTi5wYXJzZShhd2FpdCBlbnRyeS50ZXh0KCkpIDogKGVudHJ5IGFzIFQpLFxuICAgICAgICApLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuc2hvdWxkVmFsaWRhdGUobmFtZSkgfHwgbmFtZSA9PT0gJ3JlcXVpcmVkJyB8fCBuYW1lID09PSAndmFsdWUnO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbGlkYXRlKCk6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlKCk7XG4gICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCd2YWx1ZU1pc3NpbmcnLCBpMThuU2VsZWN0aW9uUmVxdWlyZWRbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbW92ZVZhbGlkaXR5RmxhZygndmFsdWVNaXNzaW5nJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJldHVybiB0aGUgbGlzdCBvZiBjaGlwIGVsZW1lbnRzICoqL1xuICBwcml2YXRlIF9jaGlwRWxlbWVudHMoKTogU2JiQ2hpcEVsZW1lbnQ8VD5bXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy48U2JiQ2hpcEVsZW1lbnQ8VD4+KCdzYmItY2hpcCcpID8/IFtdKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm4gdGhlIGxpc3Qgb2YgZW5hYmxlZCBjaGlwIGVsZW1lbnRzICoqL1xuICBwcml2YXRlIF9lbmFibGVkQ2hpcEVsZW1lbnRzKCk6IFNiYkNoaXBFbGVtZW50PFQ+W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItY2hpcDpub3QoW2Rpc2FibGVkXSknKSA/PyBbXSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXR1cENvbXBvbmVudCgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcblxuICAgIC8vIENvbm5lY3QgdG8gdGhlIGlucHV0XG4gICAgaWYgKGlucHV0ICYmIGlucHV0ICE9PSB0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5faW5wdXRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50ID0gaW5wdXQ7XG5cbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXYpID0+IHRoaXMuX29uSW5wdXRLZXlEb3duKGV2KSwge1xuICAgICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdpbnB1dEF1dG9jb21wbGV0ZScsXG4gICAgICAgIChldmVudDogQ3VzdG9tRXZlbnQ8eyBvcHRpb246IFNiYk9wdGlvbkJhc2VFbGVtZW50PFQ+IH0+KSA9PiB7XG4gICAgICAgICAgdGhpcy5fY3JlYXRlQ2hpcEZyb21JbnB1dCgnYXV0b2NvbXBsZXRlJywgZXZlbnQuZGV0YWlsPy5vcHRpb24udmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICB0aGlzLl9pbnB1dEF0dHJpYnV0ZU9ic2VydmVyPy5vYnNlcnZlKHRoaXMuX2lucHV0RWxlbWVudCwge1xuICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsncmVhZG9ubHknLCAnZGlzYWJsZWQnXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEluaGVyaXQgc2l6ZSBmcm9tIHRoZSBmb3JtLWZpZWxkIGFuZCBvYnNlcnZlIGZvciBjaGFuZ2VzXG4gICAgdGhpcy5faW5oZXJpdFNpemUoKTtcbiAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuY2xvc2VzdCgnc2JiLWZvcm0tZmllbGQnKTtcbiAgICBpZiAoZm9ybUZpZWxkKSB7XG4gICAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlcj8ub2JzZXJ2ZShmb3JtRmllbGQsIHtcbiAgICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ3NpemUnXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWVtcHR5JywgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApO1xuICAgIHRoaXMuX3JlYWN0VG9JbnB1dENoYW5nZXMoKTtcbiAgICB0aGlzLl91cGRhdGVJbnB1dERlc2NyaXB0aW9uKCk7XG4gICAgdGhpcy51cGRhdGVGb3JtVmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gZm9yIGtleWJvYXJkIGV2ZW50cyBvbiB0aGUgY2hpcCBlbGVtZW50c1xuICAgKiovXG4gIHByaXZhdGUgX29uQ2hpcEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBldmVudFRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBTYmJDaGlwRWxlbWVudDxUPjtcbiAgICBpZiAoZXZlbnRUYXJnZXQubG9jYWxOYW1lICE9PSAnc2JiLWNoaXAnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQXJyb3cga2V5cyBhbGxvdyBuYXZpZ2F0aW9uIGJldHdlZW4gY2hpcHMgZm9jdXMgc3RlcHNcbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZlbnQpKSB7XG4gICAgICBjb25zdCBmb2N1c1N0ZXBzID0gdGhpcy5fZW5hYmxlZENoaXBFbGVtZW50cygpO1xuICAgICAgY29uc3QgbmV4dCA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZlbnQsIGZvY3VzU3RlcHMuaW5kZXhPZihldmVudFRhcmdldCksIGZvY3VzU3RlcHMubGVuZ3RoKTtcbiAgICAgIGZvY3VzU3RlcHNbbmV4dF0uZm9jdXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQmFja3NwYWNlJzpcbiAgICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICAgIGlmICghZXZlbnRUYXJnZXQucmVhZE9ubHkgJiYgIWV2ZW50VGFyZ2V0LmRpc2FibGVkKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLl9kZWxldGVDaGlwKGV2ZW50VGFyZ2V0KTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIGZvciBrZXlib2FyZCBldmVudHMgb24gdGhlIGlucHV0XG4gICAqKi9cbiAgcHJpdmF0ZSBfb25JbnB1dEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQmFja3NwYWNlJzpcbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgIGlmICghdGhpcy5faW5wdXRFbGVtZW50IS52YWx1ZSkge1xuICAgICAgICAgIHRoaXMuX2ZvY3VzQ2hpcCgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBQcmV2ZW50cyB0aGUgZm9ybSBzdWJtaXRcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gaWYgdGhlIHVzZXIgdHlwZWQgb25lIG9mIHRoZSBzZXBhcmF0b3Iga2V5cywgdHJpZ2dlciBhIGNoaXBJbnB1dFRva2VuRW5kIGV2ZW50XG4gICAgaWYgKHRoaXMuc2VwYXJhdG9yS2V5cy5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBwcmV2ZW50IHR5cGluZyB0aGUgc2VwYXJhdG9yIGtleSBpbnRvIHRoZSBpbnB1dFxuICAgICAgdGhpcy5fY3JlYXRlQ2hpcEZyb21JbnB1dCgnaW5wdXQnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSWYgdGhlIGlucHV0IGlzIG5vdCBlbXB0eSwgY3JlYXRlIGEgY2hpcCB3aXRoIGl0cyB2YWx1ZVxuICAgKi9cbiAgcHJpdmF0ZSBfY3JlYXRlQ2hpcEZyb21JbnB1dChvcmlnaW46ICdpbnB1dCcgfCAnYXV0b2NvbXBsZXRlJyA9ICdpbnB1dCcsIHZhbHVlPzogVCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0VmFsdWUgPSB2YWx1ZSA/PyB0aGlzLl9pbnB1dEVsZW1lbnQhLnZhbHVlLnRyaW0oKTtcbiAgICBpZiAoIWlucHV0VmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBldmVudERldGFpbDogU2JiQ2hpcElucHV0VG9rZW5FbmRFdmVudERldGFpbHM8VD4gPSB7XG4gICAgICBvcmlnaW46IG9yaWdpbixcbiAgICAgIHZhbHVlOiBpbnB1dFZhbHVlLFxuICAgICAgbGFiZWw6ICh2YWx1ZSA/IHRoaXMuZGlzcGxheVdpdGg/Lih2YWx1ZSkgOiBudWxsKSA/PyB1bmRlZmluZWQsXG4gICAgICBzZXRWYWx1ZTogKHZhbHVlOiBUKSA9PiAoZXZlbnREZXRhaWwudmFsdWUgPSB2YWx1ZSksXG4gICAgICBzZXRMYWJlbDogKGxhYmVsOiBzdHJpbmcpID0+IChldmVudERldGFpbC5sYWJlbCA9IGxhYmVsKSxcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLl9jaGlwSW5wdXRUb2tlbkVuZC5lbWl0KGV2ZW50RGV0YWlsKSkge1xuICAgICAgcmV0dXJuOyAvLyBldmVudCBwcmV2ZW50ZWQ7IGRvIG5vdGhpbmcgKHRoZSBjb25zdW1lciBoYXMgdG8gY3JlYXRlIHRoZSBjaGlwKVxuICAgIH1cblxuICAgIHRoaXMuX2NyZWF0ZUNoaXBFbGVtZW50KGV2ZW50RGV0YWlsLnZhbHVlIGFzIFQsIGV2ZW50RGV0YWlsLmxhYmVsKTtcbiAgICB0aGlzLl9pbnB1dEVsZW1lbnQhLnZhbHVlID0gJyc7IC8vIEVtcHR5IHRoZSBpbnB1dFxuICAgIHRoaXMuX2VtaXRJbnB1dEV2ZW50cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGVsZXRlQ2hpcChjaGlwOiBTYmJDaGlwRWxlbWVudDxUPik6IHZvaWQge1xuICAgIGNvbnN0IGNoaXBzID0gdGhpcy5fZW5hYmxlZENoaXBFbGVtZW50cygpO1xuICAgIGNoaXAucmVtb3ZlKCk7XG4gICAgdGhpcy5fZW1pdElucHV0RXZlbnRzKCk7XG4gICAgdGhpcy5fZm9jdXNDaGlwKGNoaXBzLmluZGV4T2YoY2hpcCkpOyAvLyBGb2N1cyB0aGUgbmV4dCBjaGlwXG4gIH1cblxuICAvKipcbiAgICogRm9jdXMgYW4gZW5hYmxlZCBjaGlwLiBJZiBub25lIGFyZSBwcmVzZW50LCBmb2N1cyB0aGUgaW5wdXRcbiAgICogQHBhcmFtIGluZGV4IFRoZSBpbmRleCBvZiB0aGUgZW5hYmxlZCBjaGlwLiBJZiBudWxsLCBmb2N1cyB0aGUgbGFzdCBvbmUuXG4gICAqL1xuICBwcml2YXRlIF9mb2N1c0NoaXAoaW5kZXg/OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkQ2hpcHMgPSB0aGlzLl9lbmFibGVkQ2hpcEVsZW1lbnRzKCk7XG5cbiAgICBpZiAoaW5kZXggIT09IHVuZGVmaW5lZCAmJiBlbmFibGVkQ2hpcHNbaW5kZXhdKSB7XG4gICAgICBlbmFibGVkQ2hpcHNbaW5kZXhdLmZvY3VzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGVuYWJsZWRDaGlwcy5sZW5ndGggPiAwKSB7XG4gICAgICBlbmFibGVkQ2hpcHNbZW5hYmxlZENoaXBzLmxlbmd0aCAtIDFdLmZvY3VzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faW5wdXRFbGVtZW50Py5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdElucHV0RXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuX2lucHV0LmVtaXQoKTtcbiAgICB0aGlzLl9jaGFuZ2UuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQ2hpcEVsZW1lbnQodmFsdWU6IFQgfCBudWxsLCBsYWJlbD86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBuZXdDaGlwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2JiLWNoaXAnKSBhcyBTYmJDaGlwRWxlbWVudDxUPjtcbiAgICBuZXdDaGlwLnZhbHVlID0gdmFsdWU7XG4gICAgbmV3Q2hpcC5pbm5lclRleHQgPSBsYWJlbCA/PyAodmFsdWUgPyB0aGlzLmRpc3BsYXlXaXRoPy4odmFsdWUpIDogbnVsbCkgPz8gJyc7XG4gICAgaWYgKFxuICAgICAgaW1wb3J0Lm1ldGEuZW52LkRFViAmJlxuICAgICAgIWRpc3BsYXlXaXRoV2FybmluZ0xvZ2dlZCAmJlxuICAgICAgIWxhYmVsICYmXG4gICAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgICAhdGhpcy5kaXNwbGF5V2l0aFxuICAgICkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgZGlzcGxheVdpdGggaGFzIG5vdCBiZWVuIHNldCB5ZXQgZm9yIHNiYi1jaGlwLWdyb3VwIGFuZCB2YWx1ZSBpcyBhbiBvYmplY3QuXG4gICAgICAgICBJZiB5b3UgYXJlIHVzaW5nIG9iamVjdCB2YWx1ZXMsIHlvdSBuZWVkIHRvIHByb3ZpZGUgZGlzcGxheVdpZHRoIGJlZm9yZVxuICAgICAgICAgc2V0dGluZyBvciBzZWxlY3RpbmcgYW55IHZhbHVlLmAsXG4gICAgICApO1xuICAgICAgZGlzcGxheVdpdGhXYXJuaW5nTG9nZ2VkID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5pbnNlcnRCZWZvcmUobmV3Q2hpcCwgdGhpcy5faW5wdXRFbGVtZW50ID8/IHRoaXMucXVlcnlTZWxlY3RvcignaW5wdXQnKSk7XG4gIH1cblxuICBwcml2YXRlIF9yZWFjdFRvSW5wdXRDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLl9pbnB1dEVsZW1lbnQ/LmRpc2FibGVkID8/IGZhbHNlO1xuICAgIHRoaXMuX3Byb3h5U3RhdGVUb0NoaXBzKCk7XG4gIH1cblxuICBwcml2YXRlIF9wcm94eVN0YXRlVG9DaGlwcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jaGlwRWxlbWVudHMoKS5mb3JFYWNoKChjKSA9PiB7XG4gICAgICBjLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmZvcm1EaXNhYmxlZDtcbiAgICAgIGMucmVhZE9ubHkgPSB0aGlzLl9pbnB1dEVsZW1lbnQ/Lmhhc0F0dHJpYnV0ZSgncmVhZG9ubHknKSA/PyBmYWxzZTtcbiAgICAgIGMubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5oZXJpdFNpemUoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2l6ZScsIHRoaXMuY2xvc2VzdCgnc2JiLWZvcm0tZmllbGQnKT8uc2l6ZSA/PyAoaXNMZWFuKCkgPyAncycgOiAnbScpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUlucHV0RGVzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5faW5wdXRFbGVtZW50LnNldEF0dHJpYnV0ZShcbiAgICAgICdhcmlhLWRlc2NyaXB0aW9uJyxcbiAgICAgIGAke2kxOG5DaGlwR3JvdXBJbnB1dERlc2NyaXB0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSAke3RoaXMudmFsdWUubGVuZ3RofWAsXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1jaGlwLWdyb3VwXCI+XG4gICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5fc2V0dXBDb21wb25lbnR9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jaGlwLWdyb3VwJzogU2JiQ2hpcEdyb3VwRWxlbWVudDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudEV2ZW50TWFwIHtcbiAgICBjaGlwSW5wdXRUb2tlbkVuZDogQ3VzdG9tRXZlbnQ8U2JiQ2hpcElucHV0VG9rZW5FbmRFdmVudERldGFpbHM8YW55Pj47XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJDaGlwR3JvdXBFbGVtZW50IiwiX2EiLCJ2YWx1ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2QkEsSUFBSSwyQkFBMkI7SUE2QnpCLHVCQUFtQixNQUFBOzswQkFEeEIsY0FBYyxnQkFBZ0IsQ0FBQzs7OztBQUNjLE1BQUEsY0FBQSxpQkFDNUMsaUJBQWlCLGlCQUFpQix1QkFBdUIseUJBQXlCLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7Ozs7Ozs7O0FBRDVEQSxNQUFBQSx3QkFBQSxtQkFBUSxZQUU3QztBQUFBLElBaUZDLGNBQUE7OztBQXBDQTtBQUlBO0FBbkRJLHlCQUFBLGdDQUFBLGtCQUFBLE1BQUEsMEJBQUEsR0ErQ3lELGtCQUFBLE1BQUEsMkJBQUEsSUFBSTtBQUl2Qix5QkFBQSxrQ0FBQSxrQkFBQSxNQUFBLDhCQUFBLEdBQUEsa0JBQUEsTUFBQSw2QkFBQSxDQUFDLE9BQU8sQ0FBQztBQUczQyxXQUFBLFdBQXdCLGtCQUFBLE1BQUEsZ0NBQUEsR0FBQSxJQUFJLGFBQWEsTUFBTUEscUJBQW9CLE9BQU8sTUFBTTtBQUdoRixXQUFBLFNBQXVCLElBQUksYUFBYSxNQUFNQSxxQkFBb0IsT0FBTyxLQUFLO0FBRzlFLFdBQUEscUJBQXFCLElBQUksYUFDL0IsTUFDQUEscUJBQW9CLE9BQU8saUJBQWlCO0FBTWYsV0FBQSwwQkFBRyxDQUFDLFdBQy9CLElBQUksaUJBQWlCLE1BQU0sS0FBSyxxQkFBc0IsQ0FBQSxJQUN0RDtBQUsrQixX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
@@ -151,4 +151,4 @@ let SbbChipLabelElement = (() => {
151
151
  export {
152
152
  SbbChipLabelElement
153
153
  };
154
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGlwLWxhYmVsL2NoaXAtbGFiZWwuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2NoaXAtbGFiZWwuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBicmllZiBhbmQgY29tcGFjdCBpbmZvcm1hdGlvbi5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLWNoaXAtbGFiZWxgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItY2hpcC1sYWJlbCcpXG5jbGFzcyBTYmJDaGlwTGFiZWxFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBTaXplIG9mIHRoZSBjaGlwLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAneHhzJyB8ICd4cycgfCAncycgPSAneHhzJztcblxuICAvKiogQ29sb3Igb2YgdGhlIGNoaXAuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIGNvbG9yOiAnbWlsaycgfCAnY2hhcmNvYWwnIHwgJ3doaXRlJyB8ICdncmFuaXRlJyA9ICdtaWxrJztcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWNoaXAtbGFiZWxcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItY2hpcF9fdGV4dC13cmFwcGVyXCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNoaXAtbGFiZWwnOiBTYmJDaGlwTGFiZWxFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWFNLHVCQUFtQixNQUFBOzswQkFEeEIsY0FBYyxnQkFBZ0IsQ0FBQzs7OztvQkFDRTs7Ozs7OztBQUFSLEVBQUEsbUJBQVEsWUFBVTtBQUFBOztBQUsxQyxpREFBQSxrQkFBQSxNQUFBLG9CQUEyQyxLQUFLO0FBSWhELG1EQUFBLGtCQUFBLE1BQUEsdUJBQUEsR0FBQSxrQkFBQSxNQUFBLHFCQUFtRSxNQUFNOzs7O0lBSnpFLElBQWdCLE9BQUk7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQXBCLElBQWdCLEtBQUksT0FBQTtBQUFBLHlCQUFBLHdCQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFJcEIsSUFBZ0IsUUFBSztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBckIsSUFBZ0IsTUFBSyxPQUFBO0FBQUEseUJBQUEseUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFFRixTQUFNO0FBQ3ZCLGFBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQUFBO0FBQUEsS0FQVCx3Q0FJQTs7QUFMQyx1QkFBQSxDQUFBLFNBQVMsRUFBRSxTQUFTLEtBQUEsQ0FBTSxDQUFDO0FBSTNCLHdCQUFBLENBQUEsU0FBUyxFQUFFLFNBQVMsS0FBQSxDQUFNLENBQUM7QUFINUIsaUJBQUEsSUFBQSxNQUFBLGtCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsUUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxVQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0IsTUFBSSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBSixPQUFJO0FBQUEsSUFBQSxLQUFBLFVBQUEsYUFBQSxvQkFBQSx1QkFBQTtBQUlwQixpQkFBQSxJQUFBLE1BQUEsbUJBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxTQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLFdBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFnQixPQUFLLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFMLFFBQUs7QUFBQSxJQUFBLEtBQUEsVUFBQSxhQUFBLHFCQUFBLHdCQUFBO0FBVHZCLGlCQUFBLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7UUFDeUIsR0FBQSxTQUF5QixPQUQ1QyxrQkFBQSxZQUFBLHVCQUFBLEdBQW9COzs7In0=
154
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGlwLWxhYmVsL2NoaXAtbGFiZWwuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2NoaXAtbGFiZWwuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBicmllZiBhbmQgY29tcGFjdCBpbmZvcm1hdGlvbi5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLWNoaXAtbGFiZWxgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItY2hpcC1sYWJlbCcpXG5jbGFzcyBTYmJDaGlwTGFiZWxFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBTaXplIG9mIHRoZSBjaGlwLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAneHhzJyB8ICd4cycgfCAncycgPSAneHhzJztcblxuICAvKiogQ29sb3Igb2YgdGhlIGNoaXAuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIGNvbG9yOiAnbWlsaycgfCAnY2hhcmNvYWwnIHwgJ3doaXRlJyB8ICdncmFuaXRlJyA9ICdtaWxrJztcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWNoaXAtbGFiZWxcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItY2hpcF9fdGV4dC13cmFwcGVyXCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNoaXAtbGFiZWwnOiBTYmJDaGlwTGFiZWxFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWFNLHVCQUFtQixNQUFBOzswQkFEeEIsY0FBYyxnQkFBZ0IsQ0FBQzs7OztvQkFDRTs7Ozs7OztBQUFSLEVBQUEsbUJBQVEsWUFBVTtBQUFBOztBQUsxQyxpREFBQSxrQkFBQSxNQUFBLG9CQUEyQyxLQUFLO0FBSWhELG1EQUFBLGtCQUFBLE1BQUEsdUJBQUEsR0FBQSxrQkFBQSxNQUFBLHFCQUFtRSxNQUFNOzs7O0lBSnpFLElBQWdCLE9BQWlDO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUFqRCxJQUFnQixLQUFpQyxPQUFBO0FBQUEseUJBQUEsd0JBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQSxJQUlqRCxJQUFnQixRQUEwRDtBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBMUUsSUFBZ0IsTUFBMEQsT0FBQTtBQUFBLHlCQUFBLHlCQUFBO0FBQUEsSUFBQTtBQUFBLElBRXZELFNBQU07QUFDaEIsYUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBQUE7QUFBQSxLQVBULHdDQUlBOztBQUxDLHVCQUFBLENBQUEsU0FBUyxFQUFFLFNBQVMsS0FBTSxDQUFBLENBQUM7QUFJM0Isd0JBQUEsQ0FBQSxTQUFTLEVBQUUsU0FBUyxLQUFNLENBQUEsQ0FBQztBQUhaLGlCQUFBLElBQUEsTUFBQSxrQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFFBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsVUFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQUEsTUFBQSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBQSxPQUFpQztBQUFBLFNBQUEsVUFBQSxhQUFBLG9CQUFBLHVCQUFBO0FBSWpDLGlCQUFBLElBQUEsTUFBQSxtQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFNBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsV0FBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQUEsT0FBQSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBQSxRQUEwRDtBQUFBLFNBQUEsVUFBQSxhQUFBLHFCQUFBLHdCQUFBO0FBVDVFLGlCQW9CQyxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBbkJ3QixHQUFNLFNBQW1CLE9BRDVDLGtCQUFtQixZQUFBLHVCQUFBLEdBQUM7OzsifQ==
@@ -33,7 +33,7 @@ export declare class SbbClockElement extends LitElement {
33
33
  private _moveMinutesHandFn;
34
34
  connectedCallback(): void;
35
35
  protected willUpdate(changedProperties: PropertyValues<this>): void;
36
- protected firstUpdated(changedProperties: PropertyValues<this>): Promise<void>;
36
+ protected firstUpdated(changedProperties: PropertyValues<this>): void;
37
37
  disconnectedCallback(): void;
38
38
  private _handlePageVisibilityChange;
39
39
  private _startOrConfigureClock;
@@ -1 +1 @@
1
- {"version":3,"file":"clock.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/clock/clock.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAkB,UAAU,EAAE,MAAM,KAAK,CAAC;AAIjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AA8CrD;;GAEG;AACH,qBAEM,eAAgB,SAAQ,UAAU;IACtC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;OAGG;IACH,SAA4B,GAAG,EAAE,OAAO,GAAG,IAAI,CAAQ;IAEvD,0CAA0C;IAC1C,OAAO,CAAC,MAAM,CAAkC;IAEhD,kCAAkC;IAClC,OAAO,CAAC,eAAe,CAAe;IAEtC,oCAAoC;IACpC,OAAO,CAAC,iBAAiB,CAAe;IAExC,oCAAoC;IACpC,OAAO,CAAC,iBAAiB,CAAe;IAExC,wCAAwC;IACxC,OAAO,CAAC,MAAM,CAAU;IAExB,0CAA0C;IAC1C,OAAO,CAAC,QAAQ,CAAU;IAE1B,0CAA0C;IAC1C,OAAO,CAAC,QAAQ,CAAU;IAE1B,0CAA0C;IAC1C,OAAO,CAAC,aAAa,CAAC,CAAiC;IAEvD,OAAO,CAAC,gBAAgB,CAAC,CAAiC;IAE1D,wCAAwC;IACxC,OAAO,CAAC,gBAAgB,CAAqC;IAE7D,0CAA0C;IAC1C,OAAO,CAAC,kBAAkB,CAAuC;IAEjD,iBAAiB,IAAI,IAAI;cAMtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAQnD,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7E,oBAAoB,IAAI,IAAI;IAM5C,OAAO,CAAC,2BAA2B,CAUjC;YAEY,sBAAsB;IAUpC,6FAA6F;YAC/E,WAAW;IAuBzB,sDAAsD;YACxC,UAAU;IAexB;;OAEG;YACW,WAAW;IAQzB,uEAAuE;IACvE,OAAO,CAAC,yBAAyB;IA4CjC,yGAAyG;IACzG,OAAO,CAAC,kBAAkB;IAW1B,sDAAsD;IACtD,OAAO,CAAC,eAAe;IAOvB,6CAA6C;IAC7C,OAAO,CAAC,cAAc;IAYtB,+CAA+C;IAC/C,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,sBAAsB;IAK9B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,2BAA2B;IAMnC,OAAO,CAAC,6BAA6B;cAOlB,MAAM,IAAI,cAAc;CA4B5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,WAAW,EAAE,eAAe,CAAC;KAC9B;CACF"}
1
+ {"version":3,"file":"clock.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/clock/clock.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAkB,UAAU,EAAE,MAAM,KAAK,CAAC;AAIjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AA8CrD;;GAEG;AACH,qBAEM,eAAgB,SAAQ,UAAU;IACtC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;OAGG;IACH,SAA4B,GAAG,EAAE,OAAO,GAAG,IAAI,CAAQ;IAEvD,0CAA0C;IAC1C,OAAO,CAAC,MAAM,CAAkC;IAEhD,kCAAkC;IAClC,OAAO,CAAC,eAAe,CAAe;IAEtC,oCAAoC;IACpC,OAAO,CAAC,iBAAiB,CAAe;IAExC,oCAAoC;IACpC,OAAO,CAAC,iBAAiB,CAAe;IAExC,wCAAwC;IACxC,OAAO,CAAC,MAAM,CAAU;IAExB,0CAA0C;IAC1C,OAAO,CAAC,QAAQ,CAAU;IAE1B,0CAA0C;IAC1C,OAAO,CAAC,QAAQ,CAAU;IAE1B,0CAA0C;IAC1C,OAAO,CAAC,aAAa,CAAC,CAAiC;IAEvD,OAAO,CAAC,gBAAgB,CAAC,CAAiC;IAE1D,wCAAwC;IACxC,OAAO,CAAC,gBAAgB,CAAqC;IAE7D,0CAA0C;IAC1C,OAAO,CAAC,kBAAkB,CAAuC;IAEjD,iBAAiB,IAAI,IAAI;cAMtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAQzD,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAS9D,oBAAoB,IAAI,IAAI;IAM5C,OAAO,CAAC,2BAA2B,CAUjC;YAEY,sBAAsB;IAUpC,6FAA6F;YAC/E,WAAW;IAuBzB,sDAAsD;YACxC,UAAU;IAexB;;OAEG;YACW,WAAW;IAQzB,uEAAuE;IACvE,OAAO,CAAC,yBAAyB;IA4CjC,yGAAyG;IACzG,OAAO,CAAC,kBAAkB;IAW1B,sDAAsD;IACtD,OAAO,CAAC,eAAe;IAOvB,6CAA6C;IAC7C,OAAO,CAAC,cAAc;IAYtB,+CAA+C;IAC/C,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,sBAAsB;IAK9B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,2BAA2B;IAMnC,OAAO,CAAC,6BAA6B;cAOlB,MAAM,IAAI,cAAc;CA4B5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,WAAW,EAAE,eAAe,CAAC;KAC9B;CACF"}