@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
@@ -42,20 +42,18 @@ const SbbFormAssociatedMixin = (superClass) => {
42
42
  let _classSuper = superClass;
43
43
  let _instanceExtraInitializers = [];
44
44
  let _set_name_decorators;
45
- let _set_value_decorators;
46
45
  let _formDisabled_decorators;
47
46
  let _formDisabled_initializers = [];
48
47
  let _formDisabled_extraInitializers = [];
49
48
  return _a = class extends _classSuper {
50
49
  constructor(...args) {
50
+ var _a2;
51
51
  super(...args);
52
52
  __privateAdd(this, _formDisabled_accessor_storage);
53
- this._value = (__runInitializers(this, _instanceExtraInitializers), null);
54
- this.internals = this.attachInternals();
55
- this._validityStates = /* @__PURE__ */ new Map();
53
+ this._validityStates = (__runInitializers(this, _instanceExtraInitializers), /* @__PURE__ */ new Map());
56
54
  __privateSet(this, _formDisabled_accessor_storage, __runInitializers(this, _formDisabled_initializers, false));
57
55
  __runInitializers(this, _formDisabled_extraInitializers);
58
- this.addEventListener?.("invalid", (e) => e.preventDefault());
56
+ (_a2 = this.addEventListener) == null ? void 0 : _a2.call(this, "invalid", (e) => e.preventDefault());
59
57
  }
60
58
  /**
61
59
  * Returns the form owner of this element.
@@ -80,14 +78,6 @@ const SbbFormAssociatedMixin = (superClass) => {
80
78
  get type() {
81
79
  return this.localName;
82
80
  }
83
- /** Value of the form element. */
84
- set value(value) {
85
- this._value = value;
86
- this.updateFormValue();
87
- }
88
- get value() {
89
- return this._value;
90
- }
91
81
  /**
92
82
  * Returns the ValidityState object for this element.
93
83
  */
@@ -164,6 +154,9 @@ const SbbFormAssociatedMixin = (superClass) => {
164
154
  }
165
155
  requestUpdate(name, oldValue, options) {
166
156
  super.requestUpdate(name, oldValue, options);
157
+ if (name === "value") {
158
+ this.updateFormValue();
159
+ }
167
160
  if (this.hasUpdated && this.shouldValidate(name)) {
168
161
  this.validate();
169
162
  }
@@ -172,6 +165,32 @@ const SbbFormAssociatedMixin = (superClass) => {
172
165
  super.firstUpdated(changedProperties);
173
166
  this.validate();
174
167
  }
168
+ /**
169
+ * Should be called when form value is changed.
170
+ * Adapts and sets the formValue in the supported format (string | FormData | File | null)
171
+ * https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/setFormValue
172
+ */
173
+ updateFormValue() {
174
+ var _a2;
175
+ let formValue;
176
+ const name = this.name ?? this.getAttribute("name");
177
+ if (typeof this.value === "string" || this.value == null) {
178
+ formValue = this.value;
179
+ } else if (Array.isArray(this.value)) {
180
+ formValue = new FormData();
181
+ this.value.forEach((el) => {
182
+ formValue.append(name, typeof el === "string" ? el : new Blob([JSON.stringify(el)], {
183
+ type: "application/json"
184
+ }));
185
+ });
186
+ } else {
187
+ formValue = new FormData();
188
+ formValue.append(name, new Blob([JSON.stringify(this.value)], {
189
+ type: "application/json"
190
+ }));
191
+ }
192
+ this.internals.setFormValue(formValue, (_a2 = this.formState) == null ? void 0 : _a2.call(this));
193
+ }
175
194
  /**
176
195
  * Marks this element as suffering from the constraint indicated by the
177
196
  * flag argument and associates the given message to it.
@@ -197,7 +216,7 @@ const SbbFormAssociatedMixin = (superClass) => {
197
216
  * }
198
217
  */
199
218
  setValidityFlag(flag, message, flagValue) {
200
- flagValue ??= true;
219
+ flagValue ?? (flagValue = true);
201
220
  const validityState = this._validityStates.get(flag);
202
221
  if (!validityState || validityState.message !== message || validityState.flagValue !== flagValue) {
203
222
  this._validityStates.set(flag, { flagValue, message });
@@ -219,11 +238,12 @@ const SbbFormAssociatedMixin = (superClass) => {
219
238
  return !name;
220
239
  }
221
240
  _setInternalValidity() {
222
- let outputMessage = this._validityStates.get("customError")?.message;
241
+ var _a2;
242
+ let outputMessage = (_a2 = this._validityStates.get("customError")) == null ? void 0 : _a2.message;
223
243
  const flags = {};
224
244
  this._validityStates.forEach(({ flagValue, message }, flag) => {
225
245
  flags[flag] = flagValue;
226
- outputMessage ||= message;
246
+ outputMessage || (outputMessage = message);
227
247
  });
228
248
  const customFlags = Object.keys(ValidityState.prototype).filter((f) => !(f in validityKeys) && f !== "valid");
229
249
  for (const flag of customFlags) {
@@ -244,14 +264,10 @@ const SbbFormAssociatedMixin = (superClass) => {
244
264
  }, _formDisabled_accessor_storage = new WeakMap(), (() => {
245
265
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
246
266
  _set_name_decorators = [property()];
247
- _set_value_decorators = [property()];
248
267
  _formDisabled_decorators = [state()];
249
268
  __esDecorate(_a, null, _set_name_decorators, { kind: "setter", name: "name", static: false, private: false, access: { has: (obj) => "name" in obj, set: (obj, value) => {
250
269
  obj.name = value;
251
270
  } }, metadata: _metadata }, null, _instanceExtraInitializers);
252
- __esDecorate(_a, null, _set_value_decorators, { kind: "setter", name: "value", static: false, private: false, access: { has: (obj) => "value" in obj, set: (obj, value) => {
253
- obj.value = value;
254
- } }, metadata: _metadata }, null, _instanceExtraInitializers);
255
271
  __esDecorate(_a, null, _formDisabled_decorators, { kind: "accessor", name: "formDisabled", static: false, private: false, access: { has: (obj) => "formDisabled" in obj, get: (obj) => obj.formDisabled, set: (obj, value) => {
256
272
  obj.formDisabled = value;
257
273
  } }, metadata: _metadata }, _formDisabled_initializers, _formDisabled_extraInitializers);
@@ -263,4 +279,4 @@ const SbbFormAssociatedMixin = (superClass) => {
263
279
  export {
264
280
  SbbFormAssociatedMixin
265
281
  };
266
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvZm9ybS1hc3NvY2lhdGVkLW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZSAqL1xuaW1wb3J0IHR5cGUgeyBMaXRFbGVtZW50LCBQcm9wZXJ0eURlY2xhcmF0aW9uLCBQcm9wZXJ0eVZhbHVlcyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGlzV2Via2l0IH0gZnJvbSAnLi4vZG9tLmpzJztcblxuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3Rvci5qcyc7XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgLyoqXG4gICAqIERlZmluZXMgY3VzdG9tIHZhbGlkaWR0eSBzdGF0ZSBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgaW50ZXJmYWNlIEN1c3RvbVZhbGlkaXR5U3RhdGUge31cbiAgaW50ZXJmYWNlIFZhbGlkaXR5U3RhdGUgZXh0ZW5kcyBDdXN0b21WYWxpZGl0eVN0YXRlIHt9XG4gIGludGVyZmFjZSBWYWxpZGl0eVN0YXRlRmxhZ3MgZXh0ZW5kcyBQYXJ0aWFsPEN1c3RvbVZhbGlkaXR5U3RhdGU+IHt9XG59XG5cbmNvbnN0IHZhbGlkaXR5S2V5czogUmVxdWlyZWQ8T21pdDxWYWxpZGl0eVN0YXRlRmxhZ3MsIGtleW9mIEN1c3RvbVZhbGlkaXR5U3RhdGU+PiA9IHtcbiAgYmFkSW5wdXQ6IGZhbHNlLFxuICBjdXN0b21FcnJvcjogZmFsc2UsXG4gIHBhdHRlcm5NaXNtYXRjaDogZmFsc2UsXG4gIHJhbmdlT3ZlcmZsb3c6IGZhbHNlLFxuICByYW5nZVVuZGVyZmxvdzogZmFsc2UsXG4gIHN0ZXBNaXNtYXRjaDogZmFsc2UsXG4gIHRvb0xvbmc6IGZhbHNlLFxuICB0b29TaG9ydDogZmFsc2UsXG4gIHR5cGVNaXNtYXRjaDogZmFsc2UsXG4gIHZhbHVlTWlzc2luZzogZmFsc2UsXG59O1xuLy8gV2UgbmVlZCBWYWxpZGl0eVN0YXRlIGluIHRoZSBnbG9iYWwgY29udGV4dCwgYXMgd2UgY2hlY2sgdGhlIHByb3RvdHlwZSBmb3Jcbi8vIGV4dGVuc2lvbnMuIEluIGVudmlyb25tZW50cyB3aGVyZSB0aGF0IGlzIG5vdCB0aGUgY2FzZSAoZS5nLiBOb2RlLmpzKSB3ZVxuLy8gcGF0Y2ggaXQgd2l0aCBhIG1pbmltYWwgc2hpbS5cbmlmICh0eXBlb2YgVmFsaWRpdHlTdGF0ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgY29uc3QgdmFsaWRpdHlDbGFzcyA9IGNsYXNzIFZhbGlkaXR5U3RhdGUge1xuICAgIHB1YmxpYyBnZXQgdmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0lsbGVnYWwgY29uc3RydWN0b3InKTtcbiAgICB9XG4gIH07XG4gIE9iamVjdC5lbnRyaWVzKHZhbGlkaXR5S2V5cykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PlxuICAgIE9iamVjdC5hc3NpZ24odmFsaWRpdHlDbGFzcy5wcm90b3R5cGUsIHtcbiAgICAgIGdldCBba2V5XSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfSxcbiAgICB9KSxcbiAgKTtcbiAgZ2xvYmFsVGhpcy5WYWxpZGl0eVN0YXRlID0gdmFsaWRpdHlDbGFzcyBhcyB1bmtub3duIGFzIHR5cGVvZiBWYWxpZGl0eVN0YXRlO1xufVxuXG5leHBvcnQgZGVjbGFyZSBhYnN0cmFjdCBjbGFzcyBTYmJGb3JtQXNzb2NpYXRlZE1peGluVHlwZTxWID0gc3RyaW5nPiB7XG4gIHB1YmxpYyBnZXQgZm9ybSgpOiBIVE1MRm9ybUVsZW1lbnQgfCBudWxsO1xuICBwdWJsaWMgYWNjZXNzb3IgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgZ2V0IHR5cGUoKTogc3RyaW5nO1xuICBwdWJsaWMgYWNjZXNzb3IgdmFsdWU6IFYgfCBudWxsO1xuXG4gIHB1YmxpYyBnZXQgdmFsaWRpdHkoKTogVmFsaWRpdHlTdGF0ZTtcbiAgcHVibGljIGdldCB2YWxpZGF0aW9uTWVzc2FnZSgpOiBzdHJpbmc7XG4gIHB1YmxpYyBnZXQgd2lsbFZhbGlkYXRlKCk6IGJvb2xlYW47XG5cbiAgcHJvdGVjdGVkIGZvcm1EaXNhYmxlZDogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGludGVybmFsczogRWxlbWVudEludGVybmFscztcblxuICBwdWJsaWMgY2hlY2tWYWxpZGl0eSgpOiBib29sZWFuO1xuICBwdWJsaWMgcmVwb3J0VmFsaWRpdHkoKTogYm9vbGVhbjtcbiAgcHVibGljIHNldEN1c3RvbVZhbGlkaXR5KG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQ7XG5cbiAgcHVibGljIGZvcm1Bc3NvY2lhdGVkQ2FsbGJhY2s/KGZvcm06IEhUTUxGb3JtRWxlbWVudCB8IG51bGwpOiB2b2lkO1xuICBwdWJsaWMgZm9ybURpc2FibGVkQ2FsbGJhY2soZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkO1xuICBwdWJsaWMgYWJzdHJhY3QgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZDtcbiAgcHVibGljIGFic3RyYWN0IGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhcbiAgICBzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsXG4gICAgcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgKTogdm9pZDtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQ7XG4gIHByb3RlY3RlZCBzZXRWYWxpZGl0eUZsYWc8VCBleHRlbmRzIGtleW9mIFZhbGlkaXR5U3RhdGVGbGFncz4oXG4gICAgZmxhZzogVCxcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgZmxhZ1ZhbHVlPzogVmFsaWRpdHlTdGF0ZUZsYWdzW1RdLFxuICApOiB2b2lkO1xuICBwcm90ZWN0ZWQgcmVtb3ZlVmFsaWRpdHlGbGFnPFQgZXh0ZW5kcyBrZXlvZiBWYWxpZGl0eVN0YXRlRmxhZ3M+KGZsYWc6IFQpOiB2b2lkO1xuICBwcm90ZWN0ZWQgdmFsaWRhdGUoKTogdm9pZDtcbiAgcHJvdGVjdGVkIHNob3VsZFZhbGlkYXRlKG5hbWU6IFByb3BlcnR5S2V5IHwgdW5kZWZpbmVkKTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGUgRm9ybUFzc29jaWF0ZWRNaXhpbiBlbmFibGVzIG5hdGl2ZSBmb3JtIHN1cHBvcnQgZm9yIGN1c3RvbSBjb250cm9scy5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4gPSA8VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8TGl0RWxlbWVudD4sIFYgPSBzdHJpbmc+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJGb3JtQXNzb2NpYXRlZE1peGluVHlwZTxWPj4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRFbGVtZW50XG4gICAgZXh0ZW5kcyBzdXBlckNsYXNzXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW5UeXBlPFY+PlxuICB7XG4gICAgcHVibGljIHN0YXRpYyBmb3JtQXNzb2NpYXRlZCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBmb3JtIG93bmVyIG9mIHRoaXMgZWxlbWVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGZvcm0oKTogSFRNTEZvcm1FbGVtZW50IHwgbnVsbCB7XG4gICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbHMuZm9ybTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBmb3JtIGVsZW1lbnQuIFdpbGwgYmUgcmVhZCBmcm9tIG5hbWUgYXR0cmlidXRlLlxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIERldmVsb3BlciBub3RlOiBJbiB0aGlzIGNhc2UgdXBkYXRpbmcgdGhlIGF0dHJpYnV0ZSBtdXN0IGJlIHN5bmNocm9ub3VzLlxuICAgICAqIER1ZSB0byB0aGlzIGl0IGlzIGltcGxlbWVudGVkIGFzIGEgZ2V0dGVyL3NldHRlciBhbmQgdGhlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjaygpIGhhbmRsZXMgdGhlIGRpZmYgY2hlY2suXG4gICAgICovXG4gICAgQHByb3BlcnR5KClcbiAgICBwdWJsaWMgc2V0IG5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnbmFtZScsIGAke25hbWV9YCk7XG5cbiAgICAgIC8vIEZvciBgRm9ybURhdGFgIHZhbHVlcywgd2UgaGF2ZSB0byBtYW51YWxseSB1cGRhdGUgdGhlIGZpZWxkTmFtZSBrZXlcbiAgICAgIHRoaXMudXBkYXRlRm9ybVZhbHVlKCk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCduYW1lJykgPz8gJyc7XG4gICAgfVxuXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMubG9jYWxOYW1lO1xuICAgIH1cblxuICAgIC8qKiBWYWx1ZSBvZiB0aGUgZm9ybSBlbGVtZW50LiAqL1xuICAgIEBwcm9wZXJ0eSgpXG4gICAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogViB8IG51bGwpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLnVwZGF0ZUZvcm1WYWx1ZSgpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCk6IFYgfCBudWxsIHtcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfdmFsdWU6IFYgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIFZhbGlkaXR5U3RhdGUgb2JqZWN0IGZvciB0aGlzIGVsZW1lbnQuXG4gICAgICovXG4gICAgcHVibGljIGdldCB2YWxpZGl0eSgpOiBWYWxpZGl0eVN0YXRlIHtcbiAgICAgIHJldHVybiB0aGlzLmludGVybmFscy52YWxpZGl0eTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGVycm9yIG1lc3NhZ2UsIGlmIGF2YWlsYWJsZSwgd2hpY2ggY29ycmVzcG9uZHNcbiAgICAgKiB0byB0aGUgY3VycmVudCB2YWxpZGF0aW9uIHN0YXRlLlxuICAgICAqIFBsZWFzZSBub3RlIHRoYXQgb25seSBvbmUgbWVzc2FnZSBpcyByZXR1cm5lZCBhdCBhIHRpbWUgKGUuZy4gaWZcbiAgICAgKiBtdWx0aXBsZSB2YWxpZGl0eSBzdGF0ZXMgYXJlIGludmFsaWQsIG9ubHkgdGhlIGNocm9ub2xvZ2ljYWxseSBmaXJzdCBvbmVcbiAgICAgKiBpcyByZXR1cm5lZCB1bnRpbCBpdCBpcyBmaXhlZCwgYXQgd2hpY2ggcG9pbnQgdGhlIG5leHQgbWVzc2FnZSBtaWdodCBiZVxuICAgICAqIHJldHVybmVkLCBpZiBpdCBpcyBzdGlsbCBhcHBsaWNhYmxlKS4gQWxzbyBhIGN1c3RvbSB2YWxpZGl0eSBtZXNzYWdlXG4gICAgICogKHNlZSBiZWxvdykgaGFzIHByZWNlZGVuY2Ugb3ZlciBuYXRpdmUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHZhbGlkYXRpb25NZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbHMudmFsaWRhdGlvbk1lc3NhZ2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoaXMgZWxlbWVudCB3aWxsIGJlIHZhbGlkYXRlZFxuICAgICAqIHdoZW4gdGhlIGZvcm0gaXMgc3VibWl0dGVkOyBmYWxzZSBvdGhlcndpc2UuXG4gICAgICovXG4gICAgcHVibGljIGdldCB3aWxsVmFsaWRhdGUoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbHMud2lsbFZhbGlkYXRlO1xuICAgIH1cblxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW50ZXJuYWxzOiBFbGVtZW50SW50ZXJuYWxzID0gdGhpcy5hdHRhY2hJbnRlcm5hbHMoKTtcblxuICAgIHByaXZhdGUgX3ZhbGlkaXR5U3RhdGVzID0gbmV3IE1hcDxcbiAgICAgIGtleW9mIFZhbGlkaXR5U3RhdGVGbGFncyxcbiAgICAgIHsgZmxhZ1ZhbHVlOiB1bmtub3duOyBtZXNzYWdlOiBzdHJpbmcgfVxuICAgID4oKTtcblxuICAgIC8qKiBXaGVuZXZlciBhIHN1cnJvdW5kaW5nIGZvcm0gb3IgZmllbGRzZXQgaXMgY2hhbmdpbmcgaXRzIGRpc2FibGVkIHN0YXRlLiAqL1xuICAgIEBzdGF0ZSgpIHByb3RlY3RlZCBhY2Nlc3NvciBmb3JtRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvciguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgc3VwZXIoLi4uYXJncyk7XG4gICAgICAvLyBXZSB3YW50IHRvIHByZXZlbnQgdGhlIG5hdGl2ZSBicm93c2VyIHZhbGlkYXRpb24gbWVzc2FnZSBwb3BvdmVyXG4gICAgICAvLyB0byBiZSBzaG93bi4gVGhpcyBhbHNvIHByZXZlbnRzIGEgYnVnIGluIFdlYktpdCwgd2hpY2ggd291bGQgbm90XG4gICAgICAvLyBhbGxvdyBob3N0IGFzIHRoZSB2YWxpZGl0eSBhbmNob3I6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjk4MzJcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdpbnZhbGlkJywgKGUpID0+IGUucHJldmVudERlZmF1bHQoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhcbiAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgIG9sZDogc3RyaW5nIHwgbnVsbCxcbiAgICAgIHZhbHVlOiBzdHJpbmcgfCBudWxsLFxuICAgICk6IHZvaWQge1xuICAgICAgaWYgKG5hbWUgIT09ICduYW1lJyB8fCBvbGQgIT09IHZhbHVlKSB7XG4gICAgICAgIHN1cGVyLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhuYW1lLCBvbGQsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRydWUgaWYgdGhpcyBlbGVtZW50IGhhcyBubyB2YWxpZGl0eSBwcm9ibGVtczsgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqIEZpcmVzIGFuIGludmFsaWQgZXZlbnQgYXQgdGhlIGVsZW1lbnQgaW4gdGhlIGxhdHRlciBjYXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBjaGVja1ZhbGlkaXR5KCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxzLmNoZWNrVmFsaWRpdHkoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRydWUgaWYgdGhpcyBlbGVtZW50IGhhcyBubyB2YWxpZGl0eSBwcm9ibGVtczsgb3RoZXJ3aXNlLFxuICAgICAqIHJldHVybnMgZmFsc2UsIGZpcmVzIGFuIGludmFsaWQgZXZlbnQgYXQgdGhlIGVsZW1lbnQsXG4gICAgICogYW5kIChpZiB0aGUgZXZlbnQgaXNuJ3QgY2FuY2VsZWQpIHJlcG9ydHMgdGhlIHByb2JsZW0gdG8gdGhlIHVzZXIuXG4gICAgICovXG4gICAgcHVibGljIHJlcG9ydFZhbGlkaXR5KCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxzLnJlcG9ydFZhbGlkaXR5KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY3VzdG9tIHZhbGlkaXR5IG1lc3NhZ2UgZm9yIHRoaXMgZWxlbWVudC4gVXNlIHRoZSBlbXB0eSBzdHJpbmdcbiAgICAgKiB0byBpbmRpY2F0ZSB0aGF0IHRoZSBlbGVtZW50IGRvZXMgbm90IGhhdmUgYSBjdXN0b20gdmFsaWRpdHkgZXJyb3IuXG4gICAgICovXG4gICAgcHVibGljIHNldEN1c3RvbVZhbGlkaXR5KG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgaWYgKG1lc3NhZ2UpIHtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGl0eUZsYWcoJ2N1c3RvbUVycm9yJywgbWVzc2FnZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbW92ZVZhbGlkaXR5RmxhZygnY3VzdG9tRXJyb3InKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsZWQgd2hlbiB0aGUgYXNzb2NpYXRlZCBmb3JtIGVsZW1lbnQgY2hhbmdlcy5cbiAgICAgKiBFbGVtZW50SW50ZXJuYWxzLmZvcm0gcmV0dXJucyB0aGUgYXNzb2NpYXRlZCBmcm9tIGVsZW1lbnQuXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZm9ybUFzc29jaWF0ZWRDYWxsYmFjaz8oZm9ybTogSFRNTEZvcm1FbGVtZW50IHwgbnVsbCk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBJcyBjYWxsZWQgd2hlbmV2ZXIgYSBzdXJyb3VuZGluZyBmb3JtIC8gZmllbGRzZXQgY2hhbmdlcyBkaXNhYmxlZCBzdGF0ZS5cbiAgICAgKiBAcGFyYW0gZGlzYWJsZWRcbiAgICAgKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBmb3JtRGlzYWJsZWRDYWxsYmFjayhkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgLy8gVGhpcyBjYWxsYmFjayBpcyB0cmlnZ2VyZWQgaWYgdGhlIGRpc2FibGVkIHByb3BlcnR5IGNoYW5nZXMgb3IgdGhlIGRpc2FibGVkIGF0dHJpYnV0ZSBvZiBhIGZpZWxkc2V0IG9yIGZvcm0gY2hhbmdlcy5cbiAgICAgIC8vIFdlIG5lZWQgdG8gcG9zdHBvbmUgdGhlIGFzc2lnbm1lbnQsIG90aGVyd2lzZSBpdCBpbnRlcmZlcmVzIHdpdGggZGlzYWJsZWQgc3RhdHVzIHNldHRpbmdcbiAgICAgIC8vIGFuZCBsZWFkcyB0byBhIHdyb25nIHN0YXRlIChlLmcuIGVtYmVkZGVkIHNiYi12aXN1YWwtY2hlY2tib3gpLlxuICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuZm9ybURpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJcyBjYWxsZWQgd2hlbmV2ZXIgdGhlIGZvcm0gaXMgYmVpbmcgcmVzZXQuXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqICBDYWxsZWQgd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gcmVzdG9yZSBlbGVtZW504oCZcyBzdGF0ZSB0byBzdGF0ZSBpbiB3aGljaCBjYXNlXG4gICAgICogIHJlYXNvbiBpcyBcInJlc3RvcmVcIiwgb3Igd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gZnVsZmlsbCBhdXRvZmlsbCBvbiBiZWhhbGYgb2ZcbiAgICAgKiAgdXNlciBpbiB3aGljaCBjYXNlIHJlYXNvbiBpcyBcImF1dG9jb21wbGV0ZVwiLlxuICAgICAqICBJbiB0aGUgY2FzZSBvZiBcInJlc3RvcmVcIiwgc3RhdGUgaXMgYSBzdHJpbmcsIEZpbGUsIG9yIEZvcm1EYXRhIG9iamVjdFxuICAgICAqICBwcmV2aW91c2x5IHNldCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIHNldEZvcm1WYWx1ZS5cbiAgICAgKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgICBzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsXG4gICAgICByZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICAgICk6IHZvaWQ7XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICAgIG9sZFZhbHVlPzogdW5rbm93bixcbiAgICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICAgICk6IHZvaWQge1xuICAgICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgICBpZiAodGhpcy5oYXNVcGRhdGVkICYmIHRoaXMuc2hvdWxkVmFsaWRhdGUobmFtZSkpIHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgICAgdGhpcy52YWxpZGF0ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3VsZCBiZSBjYWxsZWQgd2hlbiBmb3JtIHZhbHVlIGlzIGNoYW5nZWQuXG4gICAgICogQWRhcHRzIGFuZCBzZXRzIHRoZSBmb3JtVmFsdWUgaW4gdGhlIHN1cHBvcnRlZCBmb3JtYXQgKHN0cmluZyB8IEZvcm1EYXRhIHwgRmlsZSB8IG51bGwpXG4gICAgICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0VsZW1lbnRJbnRlcm5hbHMvc2V0Rm9ybVZhbHVlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogTWFya3MgdGhpcyBlbGVtZW50IGFzIHN1ZmZlcmluZyBmcm9tIHRoZSBjb25zdHJhaW50IGluZGljYXRlZCBieSB0aGVcbiAgICAgKiBmbGFnIGFyZ3VtZW50IGFuZCBhc3NvY2lhdGVzIHRoZSBnaXZlbiBtZXNzYWdlIHRvIGl0LlxuICAgICAqIE5vdGUgdGhhdCBvbmx5IG9uZSBtZXNzYWdlIGlzIGRpc3BsYXllZCBhdCBhIHRpbWUgYW5kIGN1c3RvbSBtZXNzYWdlcyBieVxuICAgICAqIGNvbnN1bWVycyBhcmUgYWx3YXlzIGRpc3BsYXllZCBiZWZvcmUgaW50ZXJuYWwgbWVzc2FnZXMgYW5kIGludGVybmFsXG4gICAgICogbWVzc2FnZXMgYXJlIGRpc3BsYXllZCBpbiB0aGUgb3JkZXIgdGhleSB3ZXJlIGFkZGVkLlxuICAgICAqIFRvIHNldC9kZWZpbmUgY3VzdG9tIHZhbGlkaXR5IHN0YXRlIGZsYWdzLCB5b3UgbmVlZCB0byBleHRlbmQgdGhlXG4gICAgICogVmFsaWRpdHlTdGF0ZSBwcm90b3R5cGUgKGFuZCB0aGUgQ3VzdG9tVmFsaWRpdHlTdGF0ZSBpbnRlcmZhY2UpLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqICAgLy8gVGhlIHR5cGUgb2YgdGhlIGN1c3RvbSB2YWxpZGl0eSBzdGF0ZSBkb2VzIG5vdCBuZWVkIHRvIGJlIGJvb2xlYW4uXG4gICAgICogICBPYmplY3QuYXNzaWduKFZhbGlkaXR5U3RhdGUucHJvdG90eXBlLCB7XG4gICAgICogICAgIGdldCBteUVycm9yKCk6IGJvb2xlYW4ge1xuICAgICAqICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgKiAgICAgfSxcbiAgICAgKiAgIH0pO1xuICAgICAqXG4gICAgICogICBkZWNsYXJlIGdsb2JhbCB7XG4gICAgICogICAgIGludGVyZmFjZSBDdXN0b21WYWxpZGl0eVN0YXRlIHtcbiAgICAgKiAgICAgICBteUVycm9yOiBib29sZWFuO1xuICAgICAqICAgICB9XG4gICAgICogICB9XG4gICAgICovXG4gICAgcHJvdGVjdGVkIHNldFZhbGlkaXR5RmxhZzxUIGV4dGVuZHMga2V5b2YgVmFsaWRpdHlTdGF0ZUZsYWdzPihcbiAgICAgIGZsYWc6IFQsXG4gICAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgICBmbGFnVmFsdWU/OiBWYWxpZGl0eVN0YXRlRmxhZ3NbVF0sXG4gICAgKTogdm9pZCB7XG4gICAgICBmbGFnVmFsdWUgPz89IHRydWU7XG4gICAgICBjb25zdCB2YWxpZGl0eVN0YXRlID0gdGhpcy5fdmFsaWRpdHlTdGF0ZXMuZ2V0KGZsYWcpO1xuICAgICAgaWYgKFxuICAgICAgICAhdmFsaWRpdHlTdGF0ZSB8fFxuICAgICAgICB2YWxpZGl0eVN0YXRlLm1lc3NhZ2UgIT09IG1lc3NhZ2UgfHxcbiAgICAgICAgdmFsaWRpdHlTdGF0ZS5mbGFnVmFsdWUgIT09IGZsYWdWYWx1ZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuX3ZhbGlkaXR5U3RhdGVzLnNldChmbGFnLCB7IGZsYWdWYWx1ZSwgbWVzc2FnZSB9KTtcbiAgICAgICAgdGhpcy5fc2V0SW50ZXJuYWxWYWxpZGl0eSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBSZW1vdmVzIHRoZSB2YWxpZGl0eSBzdGF0ZSBmbGFnIGVudHJ5IGFuZCB1cGRhdGVzIHZhbGlkaXR5IHN0YXRlLiAqL1xuICAgIHByb3RlY3RlZCByZW1vdmVWYWxpZGl0eUZsYWc8VCBleHRlbmRzIGtleW9mIFZhbGlkaXR5U3RhdGVGbGFncz4oZmxhZzogVCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuX3ZhbGlkaXR5U3RhdGVzLmhhcyhmbGFnKSkge1xuICAgICAgICB0aGlzLl92YWxpZGl0eVN0YXRlcy5kZWxldGUoZmxhZyk7XG4gICAgICAgIHRoaXMuX3NldEludGVybmFsVmFsaWRpdHkoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogVG8gYmUgY2FsbGVkIHdoZW5ldmVyIHRoZSBjdXJyZW50IGVsZW1lbnQgbmVlZHMgdG8gYmUgdmFsaWRhdGVkLiAqL1xuICAgIHByb3RlY3RlZCB2YWxpZGF0ZSgpOiB2b2lkIHt9XG5cbiAgICAvKiogV2hldGhlciB2YWxpZGF0aW9uIHNob3VsZCBiZSBydW4gb24gYSBwcm9wZXJ0eSBjaGFuZ2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZS4gKi9cbiAgICBwcm90ZWN0ZWQgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiAhbmFtZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRJbnRlcm5hbFZhbGlkaXR5KCk6IHZvaWQge1xuICAgICAgbGV0IG91dHB1dE1lc3NhZ2UgPSB0aGlzLl92YWxpZGl0eVN0YXRlcy5nZXQoJ2N1c3RvbUVycm9yJyk/Lm1lc3NhZ2U7XG4gICAgICBjb25zdCBmbGFnczogVmFsaWRpdHlTdGF0ZUZsYWdzID0ge307XG4gICAgICB0aGlzLl92YWxpZGl0eVN0YXRlcy5mb3JFYWNoKCh7IGZsYWdWYWx1ZSwgbWVzc2FnZSB9LCBmbGFnKSA9PiB7XG4gICAgICAgIGZsYWdzW2ZsYWddID0gZmxhZ1ZhbHVlIGFzIGFueTtcbiAgICAgICAgb3V0cHV0TWVzc2FnZSB8fD0gbWVzc2FnZTtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBjdXN0b21GbGFncyA9IE9iamVjdC5rZXlzKFZhbGlkaXR5U3RhdGUucHJvdG90eXBlKS5maWx0ZXIoXG4gICAgICAgIChmKSA9PiAhKGYgaW4gdmFsaWRpdHlLZXlzKSAmJiBmICE9PSAndmFsaWQnLFxuICAgICAgKTtcbiAgICAgIGZvciAoY29uc3QgZmxhZyBvZiBjdXN0b21GbGFncykge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGZsYWcgaW4gZmxhZ3MgPyBmbGFnc1tmbGFnIGFzIGtleW9mIFZhbGlkaXR5U3RhdGVGbGFnc10gOiBmYWxzZTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMuaW50ZXJuYWxzLnZhbGlkaXR5LCBmbGFnLCB7IHZhbHVlLCBjb25maWd1cmFibGU6IHRydWUgfSk7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIC8vIElmIGFueSBjdXN0b20gZXJyb3JzIGFyZSBwcm92aWRlZCwgd2UgbmVlZCB0byBzZXQgY3VzdG9tRXJyb3IgdG8gdHJ1ZSxcbiAgICAgICAgICAvLyBhcyB0aGlzIGlzIHRoZSBvbmx5IGN1c3RvbSBlcnJvciBwcm9wZXJ0eSBicm93c2VycyBhY2NlcHQuXG4gICAgICAgICAgZmxhZ3MuY3VzdG9tRXJyb3IgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaW50ZXJuYWxzLnNldFZhbGlkaXR5KGZsYWdzLCBvdXRwdXRNZXNzYWdlKTtcblxuICAgICAgLy8gV2ViS2l0IHNlZW1zIHRvIGFsd2F5cyBzZXQgY3VzdG9tRXJyb3IgdG8gdHJ1ZSwgaWYgYW55IGVycm9yIGlzIGFjdGl2ZS5cbiAgICAgIC8vIER1ZSB0byB0aGlzIHdlIHBhdGNoIHRoZSBjdXN0b21FcnJvciB2YWx1ZSBtYW51YWxseS5cbiAgICAgIGlmIChpc1dlYmtpdCkge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcy5pbnRlcm5hbHMudmFsaWRpdHksICdjdXN0b21FcnJvcicsIHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5fdmFsaWRpdHlTdGF0ZXMuaGFzKCdjdXN0b21FcnJvcicpIHx8ICEhZmxhZ3MuY3VzdG9tRXJyb3IsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYkZvcm1Bc3NvY2lhdGVkRWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGU8Vj4+ICZcbiAgICBUO1xufTtcblxuLyoqXG4gKiBBIHZhbHVlIHRvIGJlIHJlc3RvcmVkIGZvciBhIGNvbXBvbmVudCdzIGZvcm0gdmFsdWUuIElmIGEgY29tcG9uZW50J3MgZm9ybVxuICogc3RhdGUgaXMgYSBgRm9ybURhdGFgIG9iamVjdCwgaXRzIGVudHJ5IGxpc3Qgb2YgbmFtZSBhbmQgdmFsdWVzIHdpbGwgYmVcbiAqIHByb3ZpZGVkLlxuICovXG5leHBvcnQgdHlwZSBGb3JtUmVzdG9yZVN0YXRlID0gRmlsZSB8IHN0cmluZyB8IFtzdHJpbmcsIEZvcm1EYXRhRW50cnlWYWx1ZV1bXTtcblxuLyoqXG4gKiBUaGUgcmVhc29uIGEgZm9ybSBjb21wb25lbnQgaXMgYmVpbmcgcmVzdG9yZWQgZm9yLCBlaXRoZXIgYCdyZXN0b3JlJ2AgZm9yXG4gKiBicm93c2VyIHJlc3RvcmF0aW9uIG9yIGAnYXV0b2NvbXBsZXRlJ2AgZm9yIHJlc3RvcmluZyB1c2VyIHZhbHVlcy5cbiAqL1xuZXhwb3J0IHR5cGUgRm9ybVJlc3RvcmVSZWFzb24gPSAncmVzdG9yZScgfCAnYXV0b2NvbXBsZXRlJztcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBaUJBLE1BQU0sZUFBOEU7QUFBQSxFQUNsRixVQUFVO0FBQUEsRUFDVixhQUFhO0FBQUEsRUFDYixpQkFBaUI7QUFBQSxFQUNqQixlQUFlO0FBQUEsRUFDZixnQkFBZ0I7QUFBQSxFQUNoQixjQUFjO0FBQUEsRUFDZCxTQUFTO0FBQUEsRUFDVCxVQUFVO0FBQUEsRUFDVixjQUFjO0FBQUEsRUFDZCxjQUFjOztBQUtoQixJQUFJLE9BQU8sa0JBQWtCLGFBQWE7QUFDeEMsUUFBTSxnQkFBZ0IsTUFBTSxjQUFhO0FBQUEsSUFDdkMsSUFBVyxRQUFLO0FBQ2QsYUFBTztBQUFBLElBQUE7QUFBQSxJQUVULGNBQUE7QUFDRSxZQUFNLElBQUksVUFBVSxxQkFBcUI7QUFBQSxJQUFBO0FBQUEsRUFDM0M7QUFFRixTQUFPLFFBQVEsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEtBQUssS0FBSyxN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
282
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvZm9ybS1hc3NvY2lhdGVkLW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZSAqL1xuaW1wb3J0IHR5cGUgeyBMaXRFbGVtZW50LCBQcm9wZXJ0eURlY2xhcmF0aW9uLCBQcm9wZXJ0eVZhbHVlcyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGlzV2Via2l0IH0gZnJvbSAnLi4vZG9tLmpzJztcblxuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3Rvci5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpblR5cGUgfSBmcm9tICcuL2VsZW1lbnQtaW50ZXJuYWxzLW1peGluLmpzJztcblxuZGVjbGFyZSBnbG9iYWwge1xuICAvKipcbiAgICogRGVmaW5lcyBjdXN0b20gdmFsaWRpdHkgc3RhdGUgcHJvcGVydGllcy5cbiAgICovXG4gIGludGVyZmFjZSBDdXN0b21WYWxpZGl0eVN0YXRlIHt9XG4gIGludGVyZmFjZSBWYWxpZGl0eVN0YXRlIGV4dGVuZHMgQ3VzdG9tVmFsaWRpdHlTdGF0ZSB7fVxuICBpbnRlcmZhY2UgVmFsaWRpdHlTdGF0ZUZsYWdzIGV4dGVuZHMgUGFydGlhbDxDdXN0b21WYWxpZGl0eVN0YXRlPiB7fVxufVxuXG5jb25zdCB2YWxpZGl0eUtleXM6IFJlcXVpcmVkPE9taXQ8VmFsaWRpdHlTdGF0ZUZsYWdzLCBrZXlvZiBDdXN0b21WYWxpZGl0eVN0YXRlPj4gPSB7XG4gIGJhZElucHV0OiBmYWxzZSxcbiAgY3VzdG9tRXJyb3I6IGZhbHNlLFxuICBwYXR0ZXJuTWlzbWF0Y2g6IGZhbHNlLFxuICByYW5nZU92ZXJmbG93OiBmYWxzZSxcbiAgcmFuZ2VVbmRlcmZsb3c6IGZhbHNlLFxuICBzdGVwTWlzbWF0Y2g6IGZhbHNlLFxuICB0b29Mb25nOiBmYWxzZSxcbiAgdG9vU2hvcnQ6IGZhbHNlLFxuICB0eXBlTWlzbWF0Y2g6IGZhbHNlLFxuICB2YWx1ZU1pc3Npbmc6IGZhbHNlLFxufTtcbi8vIFdlIG5lZWQgVmFsaWRpdHlTdGF0ZSBpbiB0aGUgZ2xvYmFsIGNvbnRleHQsIGFzIHdlIGNoZWNrIHRoZSBwcm90b3R5cGUgZm9yXG4vLyBleHRlbnNpb25zLiBJbiBlbnZpcm9ubWVudHMgd2hlcmUgdGhhdCBpcyBub3QgdGhlIGNhc2UgKGUuZy4gTm9kZS5qcykgd2Vcbi8vIHBhdGNoIGl0IHdpdGggYSBtaW5pbWFsIHNoaW0uXG5pZiAodHlwZW9mIFZhbGlkaXR5U3RhdGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIGNvbnN0IHZhbGlkaXR5Q2xhc3MgPSBjbGFzcyBWYWxpZGl0eVN0YXRlIHtcbiAgICBwdWJsaWMgZ2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbGxlZ2FsIGNvbnN0cnVjdG9yJyk7XG4gICAgfVxuICB9O1xuICBPYmplY3QuZW50cmllcyh2YWxpZGl0eUtleXMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT5cbiAgICBPYmplY3QuYXNzaWduKHZhbGlkaXR5Q2xhc3MucHJvdG90eXBlLCB7XG4gICAgICBnZXQgW2tleV0oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH0sXG4gICAgfSksXG4gICk7XG4gIGdsb2JhbFRoaXMuVmFsaWRpdHlTdGF0ZSA9IHZhbGlkaXR5Q2xhc3MgYXMgdW5rbm93biBhcyB0eXBlb2YgVmFsaWRpdHlTdGF0ZTtcbn1cblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGUge1xuICBwdWJsaWMgZ2V0IGZvcm0oKTogSFRNTEZvcm1FbGVtZW50IHwgbnVsbDtcbiAgcHVibGljIGFjY2Vzc29yIG5hbWU6IHN0cmluZztcbiAgcHVibGljIGdldCB0eXBlKCk6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgYWNjZXNzb3IgdmFsdWU6IHVua25vd247XG5cbiAgcHVibGljIGdldCB2YWxpZGl0eSgpOiBWYWxpZGl0eVN0YXRlO1xuICBwdWJsaWMgZ2V0IHZhbGlkYXRpb25NZXNzYWdlKCk6IHN0cmluZztcbiAgcHVibGljIGdldCB3aWxsVmFsaWRhdGUoKTogYm9vbGVhbjtcblxuICBwcm90ZWN0ZWQgZm9ybURpc2FibGVkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBjaGVja1ZhbGlkaXR5KCk6IGJvb2xlYW47XG4gIHB1YmxpYyByZXBvcnRWYWxpZGl0eSgpOiBib29sZWFuO1xuICBwdWJsaWMgc2V0Q3VzdG9tVmFsaWRpdHkobWVzc2FnZTogc3RyaW5nKTogdm9pZDtcblxuICBwdWJsaWMgZm9ybUFzc29jaWF0ZWRDYWxsYmFjaz8oZm9ybTogSFRNTEZvcm1FbGVtZW50IHwgbnVsbCk6IHZvaWQ7XG4gIHB1YmxpYyBmb3JtRGlzYWJsZWRDYWxsYmFjayhkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQ7XG4gIHB1YmxpYyBhYnN0cmFjdCBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkO1xuICBwdWJsaWMgYWJzdHJhY3QgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKFxuICAgIHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICByZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICApOiB2b2lkO1xuXG4gIHByb3RlY3RlZCB1cGRhdGVGb3JtVmFsdWUoKTogdm9pZDtcbiAgcHJvdGVjdGVkIGZvcm1TdGF0ZT8oKTogRm9ybVJlc3RvcmVTdGF0ZTtcbiAgcHJvdGVjdGVkIHNldFZhbGlkaXR5RmxhZzxUIGV4dGVuZHMga2V5b2YgVmFsaWRpdHlTdGF0ZUZsYWdzPihcbiAgICBmbGFnOiBULFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBmbGFnVmFsdWU/OiBWYWxpZGl0eVN0YXRlRmxhZ3NbVF0sXG4gICk6IHZvaWQ7XG4gIHByb3RlY3RlZCByZW1vdmVWYWxpZGl0eUZsYWc8VCBleHRlbmRzIGtleW9mIFZhbGlkaXR5U3RhdGVGbGFncz4oZmxhZzogVCk6IHZvaWQ7XG4gIHByb3RlY3RlZCB2YWxpZGF0ZSgpOiB2b2lkO1xuICBwcm90ZWN0ZWQgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRoZSBGb3JtQXNzb2NpYXRlZE1peGluIGVuYWJsZXMgbmF0aXZlIGZvcm0gc3VwcG9ydCBmb3IgY3VzdG9tIGNvbnRyb2xzLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiRm9ybUFzc29jaWF0ZWRNaXhpbiA9IDxcbiAgVCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8TGl0RWxlbWVudCAmIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpblR5cGU+LFxuPihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYkZvcm1Bc3NvY2lhdGVkRWxlbWVudFxuICAgIGV4dGVuZHMgc3VwZXJDbGFzc1xuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJGb3JtQXNzb2NpYXRlZE1peGluVHlwZT5cbiAge1xuICAgIHB1YmxpYyBzdGF0aWMgZm9ybUFzc29jaWF0ZWQgPSB0cnVlO1xuXG4gICAgcHVibGljIGFic3RyYWN0IGFjY2Vzc29yIHZhbHVlOiB1bmtub3duO1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgZm9ybSBvd25lciBvZiB0aGlzIGVsZW1lbnQuXG4gICAgICovXG4gICAgcHVibGljIGdldCBmb3JtKCk6IEhUTUxGb3JtRWxlbWVudCB8IG51bGwge1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxzLmZvcm07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgZm9ybSBlbGVtZW50LiBXaWxsIGJlIHJlYWQgZnJvbSBuYW1lIGF0dHJpYnV0ZS5cbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBEZXZlbG9wZXIgbm90ZTogSW4gdGhpcyBjYXNlIHVwZGF0aW5nIHRoZSBhdHRyaWJ1dGUgbXVzdCBiZSBzeW5jaHJvbm91cy5cbiAgICAgKiBEdWUgdG8gdGhpcyBpdCBpcyBpbXBsZW1lbnRlZCBhcyBhIGdldHRlci9zZXR0ZXIgYW5kIHRoZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soKSBoYW5kbGVzIHRoZSBkaWZmIGNoZWNrLlxuICAgICAqL1xuICAgIEBwcm9wZXJ0eSgpXG4gICAgcHVibGljIHNldCBuYW1lKG5hbWU6IHN0cmluZykge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ25hbWUnLCBgJHtuYW1lfWApO1xuXG4gICAgICAvLyBGb3IgYEZvcm1EYXRhYCB2YWx1ZXMsIHdlIGhhdmUgdG8gbWFudWFsbHkgdXBkYXRlIHRoZSBmaWVsZE5hbWUga2V5XG4gICAgICB0aGlzLnVwZGF0ZUZvcm1WYWx1ZSgpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnbmFtZScpID8/ICcnO1xuICAgIH1cblxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLmxvY2FsTmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBWYWxpZGl0eVN0YXRlIG9iamVjdCBmb3IgdGhpcyBlbGVtZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgdmFsaWRpdHkoKTogVmFsaWRpdHlTdGF0ZSB7XG4gICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbHMudmFsaWRpdHk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgY3VycmVudCBlcnJvciBtZXNzYWdlLCBpZiBhdmFpbGFibGUsIHdoaWNoIGNvcnJlc3BvbmRzXG4gICAgICogdG8gdGhlIGN1cnJlbnQgdmFsaWRhdGlvbiBzdGF0ZS5cbiAgICAgKiBQbGVhc2Ugbm90ZSB0aGF0IG9ubHkgb25lIG1lc3NhZ2UgaXMgcmV0dXJuZWQgYXQgYSB0aW1lIChlLmcuIGlmXG4gICAgICogbXVsdGlwbGUgdmFsaWRpdHkgc3RhdGVzIGFyZSBpbnZhbGlkLCBvbmx5IHRoZSBjaHJvbm9sb2dpY2FsbHkgZmlyc3Qgb25lXG4gICAgICogaXMgcmV0dXJuZWQgdW50aWwgaXQgaXMgZml4ZWQsIGF0IHdoaWNoIHBvaW50IHRoZSBuZXh0IG1lc3NhZ2UgbWlnaHQgYmVcbiAgICAgKiByZXR1cm5lZCwgaWYgaXQgaXMgc3RpbGwgYXBwbGljYWJsZSkuIEFsc28gYSBjdXN0b20gdmFsaWRpdHkgbWVzc2FnZVxuICAgICAqIChzZWUgYmVsb3cpIGhhcyBwcmVjZWRlbmNlIG92ZXIgbmF0aXZlIHZhbGlkYXRpb24gbWVzc2FnZXMuXG4gICAgICovXG4gICAgcHVibGljIGdldCB2YWxpZGF0aW9uTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxzLnZhbGlkYXRpb25NZXNzYWdlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGlzIGVsZW1lbnQgd2lsbCBiZSB2YWxpZGF0ZWRcbiAgICAgKiB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZDsgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgd2lsbFZhbGlkYXRlKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxzLndpbGxWYWxpZGF0ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF92YWxpZGl0eVN0YXRlcyA9IG5ldyBNYXA8XG4gICAgICBrZXlvZiBWYWxpZGl0eVN0YXRlRmxhZ3MsXG4gICAgICB7IGZsYWdWYWx1ZTogdW5rbm93bjsgbWVzc2FnZTogc3RyaW5nIH1cbiAgICA+KCk7XG5cbiAgICAvKiogV2hlbmV2ZXIgYSBzdXJyb3VuZGluZyBmb3JtIG9yIGZpZWxkc2V0IGlzIGNoYW5naW5nIGl0cyBkaXNhYmxlZCBzdGF0ZS4gKi9cbiAgICBAc3RhdGUoKSBwcm90ZWN0ZWQgYWNjZXNzb3IgZm9ybURpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgICAgLy8gV2Ugd2FudCB0byBwcmV2ZW50IHRoZSBuYXRpdmUgYnJvd3NlciB2YWxpZGF0aW9uIG1lc3NhZ2UgcG9wb3ZlclxuICAgICAgLy8gdG8gYmUgc2hvd24uIFRoaXMgYWxzbyBwcmV2ZW50cyBhIGJ1ZyBpbiBXZWJLaXQsIHdoaWNoIHdvdWxkIG5vdFxuICAgICAgLy8gYWxsb3cgaG9zdCBhcyB0aGUgdmFsaWRpdHkgYW5jaG9yOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY5ODMyXG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignaW52YWxpZCcsIChlKSA9PiBlLnByZXZlbnREZWZhdWx0KCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soXG4gICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICBvbGQ6IHN0cmluZyB8IG51bGwsXG4gICAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbCxcbiAgICApOiB2b2lkIHtcbiAgICAgIGlmIChuYW1lICE9PSAnbmFtZScgfHwgb2xkICE9PSB2YWx1ZSkge1xuICAgICAgICBzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgb2xkLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoaXMgZWxlbWVudCBoYXMgbm8gdmFsaWRpdHkgcHJvYmxlbXM7IGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKiBGaXJlcyBhbiBpbnZhbGlkIGV2ZW50IGF0IHRoZSBlbGVtZW50IGluIHRoZSBsYXR0ZXIgY2FzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2hlY2tWYWxpZGl0eSgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmludGVybmFscy5jaGVja1ZhbGlkaXR5KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoaXMgZWxlbWVudCBoYXMgbm8gdmFsaWRpdHkgcHJvYmxlbXM7IG90aGVyd2lzZSxcbiAgICAgKiByZXR1cm5zIGZhbHNlLCBmaXJlcyBhbiBpbnZhbGlkIGV2ZW50IGF0IHRoZSBlbGVtZW50LFxuICAgICAqIGFuZCAoaWYgdGhlIGV2ZW50IGlzbid0IGNhbmNlbGVkKSByZXBvcnRzIHRoZSBwcm9ibGVtIHRvIHRoZSB1c2VyLlxuICAgICAqL1xuICAgIHB1YmxpYyByZXBvcnRWYWxpZGl0eSgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmludGVybmFscy5yZXBvcnRWYWxpZGl0eSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGN1c3RvbSB2YWxpZGl0eSBtZXNzYWdlIGZvciB0aGlzIGVsZW1lbnQuIFVzZSB0aGUgZW1wdHkgc3RyaW5nXG4gICAgICogdG8gaW5kaWNhdGUgdGhhdCB0aGUgZWxlbWVudCBkb2VzIG5vdCBoYXZlIGEgY3VzdG9tIHZhbGlkaXR5IGVycm9yLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRDdXN0b21WYWxpZGl0eShtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgIGlmIChtZXNzYWdlKSB7XG4gICAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCdjdXN0b21FcnJvcicsIG1lc3NhZ2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGl0eUZsYWcoJ2N1c3RvbUVycm9yJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgZm9ybSBlbGVtZW50IGNoYW5nZXMuXG4gICAgICogRWxlbWVudEludGVybmFscy5mb3JtIHJldHVybnMgdGhlIGFzc29jaWF0ZWQgZnJvbSBlbGVtZW50LlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGZvcm1Bc3NvY2lhdGVkQ2FsbGJhY2s/KGZvcm06IEhUTUxGb3JtRWxlbWVudCB8IG51bGwpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIHdoZW5ldmVyIGEgc3Vycm91bmRpbmcgZm9ybSAvIGZpZWxkc2V0IGNoYW5nZXMgZGlzYWJsZWQgc3RhdGUuXG4gICAgICogQHBhcmFtIGRpc2FibGVkXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZm9ybURpc2FibGVkQ2FsbGJhY2soZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgIC8vIFRoaXMgY2FsbGJhY2sgaXMgdHJpZ2dlcmVkIGlmIHRoZSBkaXNhYmxlZCBwcm9wZXJ0eSBjaGFuZ2VzIG9yIHRoZSBkaXNhYmxlZCBhdHRyaWJ1dGUgb2YgYSBmaWVsZHNldCBvciBmb3JtIGNoYW5nZXMuXG4gICAgICAvLyBXZSBuZWVkIHRvIHBvc3Rwb25lIHRoZSBhc3NpZ25tZW50LCBvdGhlcndpc2UgaXQgaW50ZXJmZXJlcyB3aXRoIGRpc2FibGVkIHN0YXR1cyBzZXR0aW5nXG4gICAgICAvLyBhbmQgbGVhZHMgdG8gYSB3cm9uZyBzdGF0ZSAoZS5nLiBlbWJlZGRlZCBzYmItdmlzdWFsLWNoZWNrYm94KS5cbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmZvcm1EaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIHdoZW5ldmVyIHRoZSBmb3JtIGlzIGJlaW5nIHJlc2V0LlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiAgQ2FsbGVkIHdoZW4gdGhlIGJyb3dzZXIgaXMgdHJ5aW5nIHRvIHJlc3RvcmUgZWxlbWVudOKAmXMgc3RhdGUgdG8gc3RhdGUgaW4gd2hpY2ggY2FzZVxuICAgICAqICByZWFzb24gaXMgXCJyZXN0b3JlXCIsIG9yIHdoZW4gdGhlIGJyb3dzZXIgaXMgdHJ5aW5nIHRvIGZ1bGZpbGwgYXV0b2ZpbGwgb24gYmVoYWxmIG9mXG4gICAgICogIHVzZXIgaW4gd2hpY2ggY2FzZSByZWFzb24gaXMgXCJhdXRvY29tcGxldGVcIi5cbiAgICAgKiAgSW4gdGhlIGNhc2Ugb2YgXCJyZXN0b3JlXCIsIHN0YXRlIGlzIGEgc3RyaW5nLCBGaWxlLCBvciBGb3JtRGF0YSBvYmplY3RcbiAgICAgKiAgcHJldmlvdXNseSBzZXQgYXMgdGhlIHNlY29uZCBhcmd1bWVudCB0byBzZXRGb3JtVmFsdWUuXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKFxuICAgICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgICAgcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgICApOiB2b2lkO1xuXG4gICAgcHVibGljIG92ZXJyaWRlIHJlcXVlc3RVcGRhdGUoXG4gICAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgICApOiB2b2lkIHtcbiAgICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuICAgICAgaWYgKG5hbWUgPT09ICd2YWx1ZScpIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb3JtVmFsdWUoKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQgJiYgdGhpcy5zaG91bGRWYWxpZGF0ZShuYW1lKSkge1xuICAgICAgICB0aGlzLnZhbGlkYXRlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgICB0aGlzLnZhbGlkYXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdWxkIGJlIGNhbGxlZCB3aGVuIGZvcm0gdmFsdWUgaXMgY2hhbmdlZC5cbiAgICAgKiBBZGFwdHMgYW5kIHNldHMgdGhlIGZvcm1WYWx1ZSBpbiB0aGUgc3VwcG9ydGVkIGZvcm1hdCAoc3RyaW5nIHwgRm9ybURhdGEgfCBGaWxlIHwgbnVsbClcbiAgICAgKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRWxlbWVudEludGVybmFscy9zZXRGb3JtVmFsdWVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQge1xuICAgICAgbGV0IGZvcm1WYWx1ZTogRm9ybURhdGEgfCBzdHJpbmcgfCBudWxsO1xuICAgICAgY29uc3QgbmFtZSA9IHRoaXMubmFtZSA/PyB0aGlzLmdldEF0dHJpYnV0ZSgnbmFtZScpO1xuXG4gICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdzdHJpbmcnIHx8IHRoaXMudmFsdWUgPT0gbnVsbCkge1xuICAgICAgICBmb3JtVmFsdWUgPSB0aGlzLnZhbHVlIGFzIHN0cmluZyB8IG51bGw7XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHtcbiAgICAgICAgZm9ybVZhbHVlID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICAgIHRoaXMudmFsdWUuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgICAgICAoZm9ybVZhbHVlIGFzIEZvcm1EYXRhKS5hcHBlbmQoXG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgdHlwZW9mIGVsID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgICA/IGVsXG4gICAgICAgICAgICAgIDogbmV3IEJsb2IoW0pTT04uc3RyaW5naWZ5KGVsKV0sIHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvcm1WYWx1ZSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICBmb3JtVmFsdWUuYXBwZW5kKFxuICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgbmV3IEJsb2IoW0pTT04uc3RyaW5naWZ5KHRoaXMudmFsdWUpXSwge1xuICAgICAgICAgICAgdHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGUgZm9ybSBzdGF0ZSBpcyB1bmRlZmluZWQgdGhlbiBmb3JtIHZhbHVlIHdpbGwgYmUgY29waWVkIHRvIHN0YXRlLlxuICAgICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKGZvcm1WYWx1ZSwgdGhpcy5mb3JtU3RhdGU/LigpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZm9ybVN0YXRlPygpOiBGb3JtUmVzdG9yZVN0YXRlO1xuXG4gICAgLyoqXG4gICAgICogTWFya3MgdGhpcyBlbGVtZW50IGFzIHN1ZmZlcmluZyBmcm9tIHRoZSBjb25zdHJhaW50IGluZGljYXRlZCBieSB0aGVcbiAgICAgKiBmbGFnIGFyZ3VtZW50IGFuZCBhc3NvY2lhdGVzIHRoZSBnaXZlbiBtZXNzYWdlIHRvIGl0LlxuICAgICAqIE5vdGUgdGhhdCBvbmx5IG9uZSBtZXNzYWdlIGlzIGRpc3BsYXllZCBhdCBhIHRpbWUgYW5kIGN1c3RvbSBtZXNzYWdlcyBieVxuICAgICAqIGNvbnN1bWVycyBhcmUgYWx3YXlzIGRpc3BsYXllZCBiZWZvcmUgaW50ZXJuYWwgbWVzc2FnZXMgYW5kIGludGVybmFsXG4gICAgICogbWVzc2FnZXMgYXJlIGRpc3BsYXllZCBpbiB0aGUgb3JkZXIgdGhleSB3ZXJlIGFkZGVkLlxuICAgICAqIFRvIHNldC9kZWZpbmUgY3VzdG9tIHZhbGlkaXR5IHN0YXRlIGZsYWdzLCB5b3UgbmVlZCB0byBleHRlbmQgdGhlXG4gICAgICogVmFsaWRpdHlTdGF0ZSBwcm90b3R5cGUgKGFuZCB0aGUgQ3VzdG9tVmFsaWRpdHlTdGF0ZSBpbnRlcmZhY2UpLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqICAgLy8gVGhlIHR5cGUgb2YgdGhlIGN1c3RvbSB2YWxpZGl0eSBzdGF0ZSBkb2VzIG5vdCBuZWVkIHRvIGJlIGJvb2xlYW4uXG4gICAgICogICBPYmplY3QuYXNzaWduKFZhbGlkaXR5U3RhdGUucHJvdG90eXBlLCB7XG4gICAgICogICAgIGdldCBteUVycm9yKCk6IGJvb2xlYW4ge1xuICAgICAqICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgKiAgICAgfSxcbiAgICAgKiAgIH0pO1xuICAgICAqXG4gICAgICogICBkZWNsYXJlIGdsb2JhbCB7XG4gICAgICogICAgIGludGVyZmFjZSBDdXN0b21WYWxpZGl0eVN0YXRlIHtcbiAgICAgKiAgICAgICBteUVycm9yOiBib29sZWFuO1xuICAgICAqICAgICB9XG4gICAgICogICB9XG4gICAgICovXG4gICAgcHJvdGVjdGVkIHNldFZhbGlkaXR5RmxhZzxUIGV4dGVuZHMga2V5b2YgVmFsaWRpdHlTdGF0ZUZsYWdzPihcbiAgICAgIGZsYWc6IFQsXG4gICAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgICBmbGFnVmFsdWU/OiBWYWxpZGl0eVN0YXRlRmxhZ3NbVF0sXG4gICAgKTogdm9pZCB7XG4gICAgICBmbGFnVmFsdWUgPz89IHRydWU7XG4gICAgICBjb25zdCB2YWxpZGl0eVN0YXRlID0gdGhpcy5fdmFsaWRpdHlTdGF0ZXMuZ2V0KGZsYWcpO1xuICAgICAgaWYgKFxuICAgICAgICAhdmFsaWRpdHlTdGF0ZSB8fFxuICAgICAgICB2YWxpZGl0eVN0YXRlLm1lc3NhZ2UgIT09IG1lc3NhZ2UgfHxcbiAgICAgICAgdmFsaWRpdHlTdGF0ZS5mbGFnVmFsdWUgIT09IGZsYWdWYWx1ZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuX3ZhbGlkaXR5U3RhdGVzLnNldChmbGFnLCB7IGZsYWdWYWx1ZSwgbWVzc2FnZSB9KTtcbiAgICAgICAgdGhpcy5fc2V0SW50ZXJuYWxWYWxpZGl0eSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBSZW1vdmVzIHRoZSB2YWxpZGl0eSBzdGF0ZSBmbGFnIGVudHJ5IGFuZCB1cGRhdGVzIHZhbGlkaXR5IHN0YXRlLiAqL1xuICAgIHByb3RlY3RlZCByZW1vdmVWYWxpZGl0eUZsYWc8VCBleHRlbmRzIGtleW9mIFZhbGlkaXR5U3RhdGVGbGFncz4oZmxhZzogVCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuX3ZhbGlkaXR5U3RhdGVzLmhhcyhmbGFnKSkge1xuICAgICAgICB0aGlzLl92YWxpZGl0eVN0YXRlcy5kZWxldGUoZmxhZyk7XG4gICAgICAgIHRoaXMuX3NldEludGVybmFsVmFsaWRpdHkoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogVG8gYmUgY2FsbGVkIHdoZW5ldmVyIHRoZSBjdXJyZW50IGVsZW1lbnQgbmVlZHMgdG8gYmUgdmFsaWRhdGVkLiAqL1xuICAgIHByb3RlY3RlZCB2YWxpZGF0ZSgpOiB2b2lkIHt9XG5cbiAgICAvKiogV2hldGhlciB2YWxpZGF0aW9uIHNob3VsZCBiZSBydW4gb24gYSBwcm9wZXJ0eSBjaGFuZ2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZS4gKi9cbiAgICBwcm90ZWN0ZWQgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiAhbmFtZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRJbnRlcm5hbFZhbGlkaXR5KCk6IHZvaWQge1xuICAgICAgbGV0IG91dHB1dE1lc3NhZ2UgPSB0aGlzLl92YWxpZGl0eVN0YXRlcy5nZXQoJ2N1c3RvbUVycm9yJyk/Lm1lc3NhZ2U7XG4gICAgICBjb25zdCBmbGFnczogVmFsaWRpdHlTdGF0ZUZsYWdzID0ge307XG4gICAgICB0aGlzLl92YWxpZGl0eVN0YXRlcy5mb3JFYWNoKCh7IGZsYWdWYWx1ZSwgbWVzc2FnZSB9LCBmbGFnKSA9PiB7XG4gICAgICAgIGZsYWdzW2ZsYWddID0gZmxhZ1ZhbHVlIGFzIGFueTtcbiAgICAgICAgb3V0cHV0TWVzc2FnZSB8fD0gbWVzc2FnZTtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBjdXN0b21GbGFncyA9IE9iamVjdC5rZXlzKFZhbGlkaXR5U3RhdGUucHJvdG90eXBlKS5maWx0ZXIoXG4gICAgICAgIChmKSA9PiAhKGYgaW4gdmFsaWRpdHlLZXlzKSAmJiBmICE9PSAndmFsaWQnLFxuICAgICAgKTtcbiAgICAgIGZvciAoY29uc3QgZmxhZyBvZiBjdXN0b21GbGFncykge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGZsYWcgaW4gZmxhZ3MgPyBmbGFnc1tmbGFnIGFzIGtleW9mIFZhbGlkaXR5U3RhdGVGbGFnc10gOiBmYWxzZTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMuaW50ZXJuYWxzLnZhbGlkaXR5LCBmbGFnLCB7IHZhbHVlLCBjb25maWd1cmFibGU6IHRydWUgfSk7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIC8vIElmIGFueSBjdXN0b20gZXJyb3JzIGFyZSBwcm92aWRlZCwgd2UgbmVlZCB0byBzZXQgY3VzdG9tRXJyb3IgdG8gdHJ1ZSxcbiAgICAgICAgICAvLyBhcyB0aGlzIGlzIHRoZSBvbmx5IGN1c3RvbSBlcnJvciBwcm9wZXJ0eSBicm93c2VycyBhY2NlcHQuXG4gICAgICAgICAgZmxhZ3MuY3VzdG9tRXJyb3IgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaW50ZXJuYWxzLnNldFZhbGlkaXR5KGZsYWdzLCBvdXRwdXRNZXNzYWdlKTtcblxuICAgICAgLy8gV2ViS2l0IHNlZW1zIHRvIGFsd2F5cyBzZXQgY3VzdG9tRXJyb3IgdG8gdHJ1ZSwgaWYgYW55IGVycm9yIGlzIGFjdGl2ZS5cbiAgICAgIC8vIER1ZSB0byB0aGlzIHdlIHBhdGNoIHRoZSBjdXN0b21FcnJvciB2YWx1ZSBtYW51YWxseS5cbiAgICAgIGlmIChpc1dlYmtpdCkge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcy5pbnRlcm5hbHMudmFsaWRpdHksICdjdXN0b21FcnJvcicsIHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5fdmFsaWRpdHlTdGF0ZXMuaGFzKCdjdXN0b21FcnJvcicpIHx8ICEhZmxhZ3MuY3VzdG9tRXJyb3IsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYkZvcm1Bc3NvY2lhdGVkRWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGU+ICYgVDtcbn07XG5cbi8qKlxuICogQSB2YWx1ZSB0byBiZSByZXN0b3JlZCBmb3IgYSBjb21wb25lbnQncyBmb3JtIHZhbHVlLiBJZiBhIGNvbXBvbmVudCdzIGZvcm1cbiAqIHN0YXRlIGlzIGEgYEZvcm1EYXRhYCBvYmplY3QsIGl0cyBlbnRyeSBsaXN0IG9mIG5hbWUgYW5kIHZhbHVlcyB3aWxsIGJlXG4gKiBwcm92aWRlZC5cbiAqL1xuZXhwb3J0IHR5cGUgRm9ybVJlc3RvcmVTdGF0ZSA9IHN0cmluZyB8IEZvcm1EYXRhIHwgRmlsZTtcblxuLyoqXG4gKiBUaGUgcmVhc29uIGEgZm9ybSBjb21wb25lbnQgaXMgYmVpbmcgcmVzdG9yZWQgZm9yLCBlaXRoZXIgYCdyZXN0b3JlJ2AgZm9yXG4gKiBicm93c2VyIHJlc3RvcmF0aW9uIG9yIGAnYXV0b2NvbXBsZXRlJ2AgZm9yIHJlc3RvcmluZyB1c2VyIHZhbHVlcy5cbiAqL1xuZXhwb3J0IHR5cGUgRm9ybVJlc3RvcmVSZWFzb24gPSAncmVzdG9yZScgfCAnYXV0b2NvbXBsZXRlJztcbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQWtCQSxNQUFNLGVBQThFO0FBQUEsRUFDbEYsVUFBVTtBQUFBLEVBQ1YsYUFBYTtBQUFBLEVBQ2IsaUJBQWlCO0FBQUEsRUFDakIsZUFBZTtBQUFBLEVBQ2YsZ0JBQWdCO0FBQUEsRUFDaEIsY0FBYztBQUFBLEVBQ2QsU0FBUztBQUFBLEVBQ1QsVUFBVTtBQUFBLEVBQ1YsY0FBYztBQUFBLEVBQ2QsY0FBYzs7QUFLaEIsSUFBSSxPQUFPLGtCQUFrQixhQUFhO0FBQ2xDLFFBQUEsZ0JBQWdCLE1BQU0sY0FBYTtBQUFBLElBQ3ZDLElBQVcsUUFBSztBQUNQLGFBQUE7QUFBQSxJQUFBO0FBQUEsSUFFVCxjQUFBO0FBQ1EsWUFBQSxJQUFJLFVBQVUscUJBQXFCO0FBQUEsSUFBQTtBQUFBO0FBRzdDLFNBQU8sUUFBUSxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUMsS0FBSyxLQUFLLE1BQy9DLE9BQU8sT0FBTyxjQUFjLFdBQVc7QUFBQSxJQUNyQyxLQUFLLEdBQUcsSUFBQztBQUNBLGFBQUE7QUFBQSxJ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
@@ -1,9 +1,6 @@
1
1
  import { LitElement } from 'lit';
2
- import { SbbConnectedAbortController } from '../controllers.js';
3
- import { Constructor } from './constructor.js';
4
- import { SbbDisabledMixinType } from './disabled-mixin.js';
5
- import { FormRestoreReason, FormRestoreState, SbbFormAssociatedMixinType } from './form-associated-mixin.js';
6
- import { SbbRequiredMixinType } from './required-mixin.js';
2
+ import { AbstractConstructor } from './constructor.js';
3
+ import { FormRestoreReason, FormRestoreState } from './form-associated-mixin.js';
7
4
  /**
8
5
  * A static registry that holds a collection of grouped `radio-buttons`.
9
6
  * Groups of radio buttons are local to the form they belong (or the `renderRoot` if they're not part of any form)
@@ -12,18 +9,12 @@ import { SbbRequiredMixinType } from './required-mixin.js';
12
9
  * @internal
13
10
  */
14
11
  export declare const radioButtonRegistry: WeakMap<Node, Map<string, Set<SbbFormAssociatedRadioButtonMixinType>>>;
15
- export declare class SbbFormAssociatedRadioButtonMixinType extends SbbFormAssociatedMixinType implements Partial<SbbDisabledMixinType>, Partial<SbbRequiredMixinType> {
12
+ declare const SbbFormAssociatedRadioButtonMixinType_base: AbstractConstructor<import('./disabled-mixin.js').SbbDisabledMixinType> & AbstractConstructor<import('./required-mixin.js').SbbRequiredMixinType> & AbstractConstructor<import('./form-associated-mixin.js').SbbFormAssociatedMixinType> & AbstractConstructor<import('./element-internals-mixin.js').SbbElementInternalsMixinType> & typeof LitElement & import('./element-internals-mixin.js').SbbElementInternalsConstructor;
13
+ export declare abstract class SbbFormAssociatedRadioButtonMixinType extends SbbFormAssociatedRadioButtonMixinType_base {
16
14
  accessor checked: boolean;
17
- accessor disabled: boolean;
18
- accessor required: boolean;
19
15
  protected associatedRadioButtons?: Set<SbbFormAssociatedRadioButtonMixinType>;
20
- /** @deprecated No longer used internally. */
21
- protected abort: SbbConnectedAbortController;
22
16
  formResetCallback(): void;
23
17
  formStateRestoreCallback(state: FormRestoreState | null, reason: FormRestoreReason): void;
24
- protected isDisabledExternally(): boolean;
25
- protected isRequiredExternally(): boolean;
26
- protected withUserInteraction?(): void;
27
18
  protected updateFormValue(): void;
28
19
  protected updateFocusableRadios(): void;
29
20
  protected emitChangeEvents(): void;
@@ -32,5 +23,6 @@ export declare class SbbFormAssociatedRadioButtonMixinType extends SbbFormAssoci
32
23
  /**
33
24
  * The SbbFormAssociatedRadioButtonMixin enables native form support for radio controls.
34
25
  */
35
- export declare const SbbFormAssociatedRadioButtonMixin: <T extends Constructor<LitElement>>(superClass: T) => Constructor<SbbFormAssociatedRadioButtonMixinType> & T;
26
+ export declare const SbbFormAssociatedRadioButtonMixin: <T extends AbstractConstructor<LitElement>>(superClass: T) => AbstractConstructor<SbbFormAssociatedRadioButtonMixinType> & T;
27
+ export {};
36
28
  //# sourceMappingURL=form-associated-radio-button-mixin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-associated-radio-button-mixin.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/mixins/form-associated-radio-button-mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,UAAU,EAAuB,MAAM,KAAK,CAAC;AAIrE,OAAO,EAAE,2BAA2B,EAAyB,MAAM,mBAAmB,CAAC;AAGvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAoB,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAErB,KAAK,0BAA0B,EAChC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAoB,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAElF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,wEAG7B,CAAC;AAEJ,MAAM,CAAC,OAAO,OAAO,qCACnB,SAAQ,0BACR,YAAW,OAAO,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAEvE,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAClC,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAElC,SAAS,CAAC,sBAAsB,CAAC,EAAE,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAC9E,6CAA6C;IAC7C,SAAS,CAAC,KAAK,EAAE,2BAA2B,CAAC;IAEtC,iBAAiB,IAAI,IAAI;IACzB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAEhG,SAAS,CAAC,oBAAoB,IAAI,OAAO;IACzC,SAAS,CAAC,oBAAoB,IAAI,OAAO;IACzC,SAAS,CAAC,mBAAmB,CAAC,IAAI,IAAI;IACtC,SAAS,CAAC,eAAe,IAAI,IAAI;IACjC,SAAS,CAAC,qBAAqB,IAAI,IAAI;IACvC,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAClC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,qCAAqC,GAAG,OAAO,CAAC,IAAI,CAAC;CAC1F;AAED;;GAEG;AAEH,eAAO,MAAM,iCAAiC,GAAI,CAAC,SAAS,WAAW,CAAC,UAAU,CAAC,EACjF,YAAY,CAAC,KACZ,WAAW,CAAC,qCAAqC,CAAC,GAAG,CA8SvD,CAAC"}
1
+ {"version":3,"file":"form-associated-radio-button-mixin.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/mixins/form-associated-radio-button-mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,UAAU,EAAuB,MAAM,KAAK,CAAC;AAOrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAEtB,MAAM,4BAA4B,CAAC;AAGpC;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,wEAG7B,CAAC;;AAEJ,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,qCAAsC,SAAQ,0CAE3E;IACC,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC,SAAS,CAAC,sBAAsB,CAAC,EAAE,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAEvE,iBAAiB,IAAI,IAAI;IACzB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAEhG,SAAS,CAAC,eAAe,IAAI,IAAI;IACjC,SAAS,CAAC,qBAAqB,IAAI,IAAI;IACvC,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAClC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,qCAAqC,GAAG,OAAO,CAAC,IAAI,CAAC;CAC1F;AAED;;GAEG;AAEH,eAAO,MAAM,iCAAiC,GAAI,CAAC,SAAS,mBAAmB,CAAC,UAAU,CAAC,EACzF,YAAY,CAAC,KACZ,mBAAmB,CAAC,qCAAqC,CAAC,GAAG,CAsT/D,CAAC"}
@@ -2,18 +2,20 @@ import { __esDecorate, __runInitializers } from "tslib";
2
2
  import { isServer } from "lit";
3
3
  import { property } from "lit/decorators.js";
4
4
  import { interactivityChecker, isArrowKeyPressed, getNextElementIndex } from "../a11y.js";
5
- import { SbbConnectedAbortController, SbbLanguageController } from "../controllers.js";
5
+ import { SbbLanguageController } from "../controllers.js";
6
6
  import { i18nSelectionRequired } from "../i18n.js";
7
7
  import { SbbDisabledMixin } from "./disabled-mixin.js";
8
+ import { SbbElementInternalsMixin } from "./element-internals-mixin.js";
8
9
  import { SbbFormAssociatedMixin } from "./form-associated-mixin.js";
9
10
  import { SbbRequiredMixin } from "./required-mixin.js";
10
11
  const radioButtonRegistry = /* @__PURE__ */ new WeakMap();
11
12
  const SbbFormAssociatedRadioButtonMixin = (superClass) => {
12
13
  let SbbFormAssociatedRadioButtonElement = (() => {
13
14
  var _a;
14
- let _classSuper = SbbDisabledMixin(SbbRequiredMixin(SbbFormAssociatedMixin(superClass)));
15
+ let _classSuper = SbbDisabledMixin(SbbRequiredMixin(SbbFormAssociatedMixin(SbbElementInternalsMixin(superClass))));
15
16
  let _instanceExtraInitializers = [];
16
17
  let _set_checked_decorators;
18
+ let _set_name_decorators;
17
19
  return _a = class extends _classSuper {
18
20
  /**
19
21
  * Whether the radio button is checked.
@@ -45,12 +47,11 @@ const SbbFormAssociatedRadioButtonMixin = (superClass) => {
45
47
  return "radio";
46
48
  }
47
49
  constructor() {
50
+ var _a2;
48
51
  super();
49
52
  this._checked = (__runInitializers(this, _instanceExtraInitializers), false);
50
- this.abort = new SbbConnectedAbortController(this);
51
53
  this._languageController = new SbbLanguageController(this);
52
- this.internals.role = "radio";
53
- this.addEventListener?.("keydown", (e) => this._handleArrowKeyDown(e));
54
+ (_a2 = this.addEventListener) == null ? void 0 : _a2.call(this, "keydown", (e) => this._handleArrowKeyDown(e));
54
55
  }
55
56
  connectedCallback() {
56
57
  super.connectedCallback();
@@ -75,10 +76,18 @@ const SbbFormAssociatedRadioButtonMixin = (superClass) => {
75
76
  * @internal
76
77
  */
77
78
  formStateRestoreCallback(state, _reason) {
78
- if (state) {
79
+ if (typeof state === "string" || state == null) {
79
80
  this.checked = state === this.value;
81
+ } else if (state instanceof FormData) {
82
+ this._readFormData(state).then((data) => {
83
+ this.checked = data === this.value;
84
+ });
80
85
  }
81
86
  }
87
+ async _readFormData(formData) {
88
+ const data = formData.get(this.name);
89
+ return data instanceof Blob ? JSON.parse(await data.text()) : data;
90
+ }
82
91
  willUpdate(changedProperties) {
83
92
  super.willUpdate(changedProperties);
84
93
  if (changedProperties.has("disabled")) {
@@ -95,7 +104,7 @@ const SbbFormAssociatedRadioButtonMixin = (superClass) => {
95
104
  */
96
105
  updateFormValue() {
97
106
  if (this.checked) {
98
- this.internals.setFormValue(this.value, this.value);
107
+ super.updateFormValue();
99
108
  } else {
100
109
  this.internals.setFormValue(null);
101
110
  }
@@ -115,8 +124,8 @@ const SbbFormAssociatedRadioButtonMixin = (superClass) => {
115
124
  let required = false;
116
125
  let checked = false;
117
126
  for (const radio of this.associatedRadioButtons) {
118
- required ||= radio.required;
119
- checked ||= radio.checked;
127
+ required || (required = radio.required);
128
+ checked || (checked = radio.checked);
120
129
  }
121
130
  if (required && !checked) {
122
131
  this.associatedRadioButtons.forEach((r) => r.setValidityFlag("valueMissing", i18nSelectionRequired[this._languageController.current]));
@@ -191,9 +200,10 @@ const SbbFormAssociatedRadioButtonMixin = (superClass) => {
191
200
  * Remove `this` from the radioButton registry and, if the group is empty, delete the entry from the groups Map
192
201
  */
193
202
  _disconnectFromRegistry() {
194
- this.associatedRadioButtons?.delete(this);
195
- if (this.associatedRadioButtons?.size === 0) {
196
- this._radioButtonGroupsMap?.delete(this.name);
203
+ var _a2, _b, _c;
204
+ (_a2 = this.associatedRadioButtons) == null ? void 0 : _a2.delete(this);
205
+ if (((_b = this.associatedRadioButtons) == null ? void 0 : _b.size) === 0) {
206
+ (_c = this._radioButtonGroupsMap) == null ? void 0 : _c.delete(this.name);
197
207
  } else {
198
208
  this.validate();
199
209
  }
@@ -225,11 +235,15 @@ const SbbFormAssociatedRadioButtonMixin = (superClass) => {
225
235
  }, (() => {
226
236
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
227
237
  _set_checked_decorators = [property({ type: Boolean })];
238
+ _set_name_decorators = [property()];
228
239
  __esDecorate(_a, null, _set_checked_decorators, { kind: "setter", name: "checked", static: false, private: false, access: { has: (obj) => "checked" in obj, set: (obj, value) => {
229
240
  obj.checked = value;
230
241
  } }, metadata: _metadata }, null, _instanceExtraInitializers);
242
+ __esDecorate(_a, null, _set_name_decorators, { kind: "setter", name: "name", static: false, private: false, access: { has: (obj) => "name" in obj, set: (obj, value) => {
243
+ obj.name = value;
244
+ } }, metadata: _metadata }, null, _instanceExtraInitializers);
231
245
  if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
232
- })(), _a;
246
+ })(), _a.role = "radio", _a;
233
247
  })();
234
248
  return SbbFormAssociatedRadioButtonElement;
235
249
  };
@@ -237,4 +251,4 @@ export {
237
251
  SbbFormAssociatedRadioButtonMixin,
238
252
  radioButtonRegistry
239
253
  };
240
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLXJhZGlvLWJ1dHRvbi1taXhpbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvbWl4aW5zL2Zvcm0tYXNzb2NpYXRlZC1yYWRpby1idXR0b24tbWl4aW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNTZXJ2ZXIsIHR5cGUgTGl0RWxlbWVudCwgdHlwZSBQcm9wZXJ0eVZhbHVlcyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaW50ZXJhY3Rpdml0eUNoZWNrZXIsIGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIsIFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGkxOG5TZWxlY3Rpb25SZXF1aXJlZCB9IGZyb20gJy4uL2kxOG4uanMnO1xuXG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3Rvci5qcyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluLCB0eXBlIFNiYkRpc2FibGVkTWl4aW5UeXBlIH0gZnJvbSAnLi9kaXNhYmxlZC1taXhpbi5qcyc7XG5pbXBvcnQge1xuICB0eXBlIEZvcm1SZXN0b3JlUmVhc29uLFxuICB0eXBlIEZvcm1SZXN0b3JlU3RhdGUsXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4sXG4gIHR5cGUgU2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGUsXG59IGZyb20gJy4vZm9ybS1hc3NvY2lhdGVkLW1peGluLmpzJztcbmltcG9ydCB7IFNiYlJlcXVpcmVkTWl4aW4sIHR5cGUgU2JiUmVxdWlyZWRNaXhpblR5cGUgfSBmcm9tICcuL3JlcXVpcmVkLW1peGluLmpzJztcblxuLyoqXG4gKiBBIHN0YXRpYyByZWdpc3RyeSB0aGF0IGhvbGRzIGEgY29sbGVjdGlvbiBvZiBncm91cGVkIGByYWRpby1idXR0b25zYC5cbiAqIEdyb3VwcyBvZiByYWRpbyBidXR0b25zIGFyZSBsb2NhbCB0byB0aGUgZm9ybSB0aGV5IGJlbG9uZyAob3IgdGhlIGByZW5kZXJSb290YCBpZiB0aGV5J3JlIG5vdCBwYXJ0IG9mIGFueSBmb3JtKVxuICogTXVsdGlwbGUgZ3JvdXBzIG9mIHJhZGlvIHdpdGggdGhlIHNhbWUgbmFtZSBjYW4gY29leGlzdCAoYXMgbG9uZyBhcyB0aGV5IGJlbG9uZyB0byBhIGRpZmZlcmVudCBmb3JtIC8gcmVuZGVyUm9vdClcbiAqIEl0IGlzIG1haW5seSB1c2VkIHRvIHN1cHBvcnQgdGhlIHN0YW5kYWxvbmUgZ3JvdXBzIG9mIHJhZGlvcy5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgcmFkaW9CdXR0b25SZWdpc3RyeSA9IG5ldyBXZWFrTWFwPFxuICBOb2RlLFxuICBNYXA8c3RyaW5nLCBTZXQ8U2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluVHlwZT4+XG4+KCk7XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIFNiYkZvcm1Bc3NvY2lhdGVkUmFkaW9CdXR0b25NaXhpblR5cGVcbiAgZXh0ZW5kcyBTYmJGb3JtQXNzb2NpYXRlZE1peGluVHlwZVxuICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiRGlzYWJsZWRNaXhpblR5cGU+LCBQYXJ0aWFsPFNiYlJlcXVpcmVkTWl4aW5UeXBlPlxue1xuICBwdWJsaWMgYWNjZXNzb3IgY2hlY2tlZDogYm9vbGVhbjtcbiAgcHVibGljIGFjY2Vzc29yIGRpc2FibGVkOiBib29sZWFuO1xuICBwdWJsaWMgYWNjZXNzb3IgcmVxdWlyZWQ6IGJvb2xlYW47XG5cbiAgcHJvdGVjdGVkIGFzc29jaWF0ZWRSYWRpb0J1dHRvbnM/OiBTZXQ8U2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluVHlwZT47XG4gIC8qKiBAZGVwcmVjYXRlZCBObyBsb25nZXIgdXNlZCBpbnRlcm5hbGx5LiAqL1xuICBwcm90ZWN0ZWQgYWJvcnQ6IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlcjtcblxuICBwdWJsaWMgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZDtcbiAgcHVibGljIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsIHJlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24pOiB2b2lkO1xuXG4gIHByb3RlY3RlZCBpc0Rpc2FibGVkRXh0ZXJuYWxseSgpOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgaXNSZXF1aXJlZEV4dGVybmFsbHkoKTogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIHdpdGhVc2VySW50ZXJhY3Rpb24/KCk6IHZvaWQ7XG4gIHByb3RlY3RlZCB1cGRhdGVGb3JtVmFsdWUoKTogdm9pZDtcbiAgcHJvdGVjdGVkIHVwZGF0ZUZvY3VzYWJsZVJhZGlvcygpOiB2b2lkO1xuICBwcm90ZWN0ZWQgZW1pdENoYW5nZUV2ZW50cygpOiB2b2lkO1xuICBwcm90ZWN0ZWQgbmF2aWdhdGVCeUtleWJvYXJkKHJhZGlvOiBTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW5UeXBlKTogUHJvbWlzZTx2b2lkPjtcbn1cblxuLyoqXG4gKiBUaGUgU2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluIGVuYWJsZXMgbmF0aXZlIGZvcm0gc3VwcG9ydCBmb3IgcmFkaW8gY29udHJvbHMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW4gPSA8VCBleHRlbmRzIENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IENvbnN0cnVjdG9yPFNiYkZvcm1Bc3NvY2lhdGVkUmFkaW9CdXR0b25NaXhpblR5cGU+ICYgVCA9PiB7XG4gIGNsYXNzIFNiYkZvcm1Bc3NvY2lhdGVkUmFkaW9CdXR0b25FbGVtZW50XG4gICAgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFNiYlJlcXVpcmVkTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihzdXBlckNsYXNzKSkpXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkZvcm1Bc3NvY2lhdGVkUmFkaW9CdXR0b25NaXhpblR5cGU+XG4gIHtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSByYWRpbyBidXR0b24gaXMgY2hlY2tlZC5cbiAgICAgKi9cbiAgICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gICAgcHVibGljIHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICB0aGlzLl9jaGVja2VkID0gISF2YWx1ZTtcblxuICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtY2hlY2tlZCcsIHRoaXMuY2hlY2tlZCk7XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhQ2hlY2tlZCA9IHRoaXMuY2hlY2tlZC50b1N0cmluZygpO1xuICAgICAgdGhpcy51cGRhdGVGb3JtVmFsdWUoKTtcbiAgICAgIHRoaXMuX3N5bmNocm9uaXplR3JvdXBTdGF0ZSgpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5fY2hlY2tlZDtcbiAgICB9XG4gICAgcHJpdmF0ZSBfY2hlY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIG92ZXJyaWRlIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgIHN1cGVyLm5hbWUgPSB2YWx1ZTtcblxuICAgICAgdGhpcy5fZGlzY29ubmVjdEZyb21SZWdpc3RyeSgpO1xuICAgICAgdGhpcy5fY29ubmVjdFRvUmVnaXN0cnkoKTtcbiAgICAgIHRoaXMuX3N5bmNocm9uaXplR3JvdXBTdGF0ZSgpO1xuICAgIH1cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBzdXBlci5uYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvcm0gdHlwZSBvZiBlbGVtZW50LlxuICAgICAqIEBkZWZhdWx0ICdyYWRpbydcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAncmFkaW8nO1xuICAgIH1cblxuICAgIC8qKiBAZGVwcmVjYXRlZCBObyBsb25nZXIgdXNlZCBpbnRlcm5hbGx5LiAqL1xuICAgIHByb3RlY3RlZCBhYm9ydCA9IG5ldyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIodGhpcyk7XG5cbiAgICAvKipcbiAgICAgKiBTZXQgb2YgcmFkaW8gYnV0dG9ucyB0aGF0IGJlbG9uZ3MgdG8gdGhlIHNhbWUgZ3JvdXAgb2YgYHRoaXNgLlxuICAgICAqIEFzc3VtZSB0aGVtIG9yZGVyZWQgaW4gRE9NIG9yZGVyXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFzc29jaWF0ZWRSYWRpb0J1dHRvbnM/OiBTZXQ8U2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbkVsZW1lbnQ+O1xuICAgIHByaXZhdGUgX3JhZGlvQnV0dG9uR3JvdXBzTWFwPzogTWFwPHN0cmluZywgU2V0PFNiYkZvcm1Bc3NvY2lhdGVkUmFkaW9CdXR0b25NaXhpblR5cGU+PjtcbiAgICBwcml2YXRlIF9sYW5ndWFnZUNvbnRyb2xsZXIgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKCkge1xuICAgICAgc3VwZXIoKTtcbiAgICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICAgIHRoaXMuaW50ZXJuYWxzLnJvbGUgPSAncmFkaW8nO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlQXJyb3dLZXlEb3duKGUpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgICAgdGhpcy5fY29ubmVjdFRvUmVnaXN0cnkoKTtcbiAgICAgIHRoaXMuX3N5bmNocm9uaXplR3JvdXBTdGF0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLl9kaXNjb25uZWN0RnJvbVJlZ2lzdHJ5KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIHdoZW5ldmVyIHRoZSBmb3JtIGlzIGJlaW5nIHJlc2V0LlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHRoaXMuY2hlY2tlZCA9IHRoaXMuaGFzQXR0cmlidXRlKCdjaGVja2VkJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIENhbGxlZCB3aGVuIHRoZSBicm93c2VyIGlzIHRyeWluZyB0byByZXN0b3JlIGVsZW1lbnTigJlzIHN0YXRlIHRvIHN0YXRlIGluIHdoaWNoIGNhc2VcbiAgICAgKiAgcmVhc29uIGlzIFwicmVzdG9yZVwiLCBvciB3aGVuIHRoZSBicm93c2VyIGlzIHRyeWluZyB0byBmdWxmaWxsIGF1dG9maWxsIG9uIGJlaGFsZiBvZlxuICAgICAqICB1c2VyIGluIHdoaWNoIGNhc2UgcmVhc29uIGlzIFwiYXV0b2NvbXBsZXRlXCIuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhcbiAgICAgIHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICAgIF9yZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICAgICk6IHZvaWQge1xuICAgICAgaWYgKHN0YXRlKSB7XG4gICAgICAgIHRoaXMuY2hlY2tlZCA9IHN0YXRlID09PSB0aGlzLnZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykpIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2FibGVSYWRpb3MoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICAgIHRoaXMudXBkYXRlRm9jdXNhYmxlUmFkaW9zKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIG9uIGB2YWx1ZWAgY2hhbmdlXG4gICAgICogSWYgJ2NoZWNrZWQnLCB1cGRhdGUgdGhlIHZhbHVlLiBPdGhlcndpc2UsIGRvIG5vdGhpbmcuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLmNoZWNrZWQpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKHRoaXMudmFsdWUsIHRoaXMudmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKG51bGwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBzaG91bGRWYWxpZGF0ZShuYW1lOiBQcm9wZXJ0eUtleSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHN1cGVyLnNob3VsZFZhbGlkYXRlKG5hbWUpIHx8IG5hbWUgPT09ICdjaGVja2VkJyB8fCBuYW1lID09PSAncmVxdWlyZWQnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHZhbGlkaXR5IG9mIGFsbCBhc3NvY2lhdGVkIHJhZGlvIGJ1dHRvbnMuXG4gICAgICogSWYgYW55IHJhZGlvIGJ1dHRvbiBpcyByZXF1aXJlZCwgYWxsIGFzc29jaWF0ZWQgYXJlIHJlcXVpcmVkIGFzIHdlbGwuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbGlkYXRlKCk6IHZvaWQge1xuICAgICAgc3VwZXIudmFsaWRhdGUoKTtcbiAgICAgIGlmICghdGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbGV0IHJlcXVpcmVkID0gZmFsc2U7XG4gICAgICBsZXQgY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgZm9yIChjb25zdCByYWRpbyBvZiB0aGlzLmFzc29jaWF0ZWRSYWRpb0J1dHRvbnMpIHtcbiAgICAgICAgcmVxdWlyZWQgfHw9IHJhZGlvLnJlcXVpcmVkO1xuICAgICAgICBjaGVja2VkIHx8PSByYWRpby5jaGVja2VkO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVxdWlyZWQgJiYgIWNoZWNrZWQpIHtcbiAgICAgICAgdGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zLmZvckVhY2goKHIpID0+XG4gICAgICAgICAgci5zZXRWYWxpZGl0eUZsYWcoXG4gICAgICAgICAgICAndmFsdWVNaXNzaW5nJyxcbiAgICAgICAgICAgIGkxOG5TZWxlY3Rpb25SZXF1aXJlZFt0aGlzLl9sYW5ndWFnZUNvbnRyb2xsZXIuY3VycmVudF0sXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucy5mb3JFYWNoKChyKSA9PiByLnJlbW92ZVZhbGlkaXR5RmxhZygndmFsdWVNaXNzaW5nJykpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9ubHkgYSBzaW5nbGUgcmFkaW8gc2hvdWxkIGJlIGZvY3VzYWJsZSBpbiB0aGUgZ3JvdXAuIERlZmluZWQgYXM6XG4gICAgICogLSB0aGUgY2hlY2tlZCByYWRpbztcbiAgICAgKiAtIHRoZSBmaXJzdCBub24tZGlzYWJsZWQgcmFkaW8gaW4gRE9NIG9yZGVyO1xuICAgICAqL1xuICAgIHByb3RlY3RlZCB1cGRhdGVGb2N1c2FibGVSYWRpb3MoKTogdm9pZCB7XG4gICAgICBpZiAoIXRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCByYWRpb3MgPSB0aGlzLl9pbnRlcmFjdGFibGVHcm91cGVkUmFkaW9zKCk7XG4gICAgICBjb25zdCBjaGVja2VkSW5kZXggPSByYWRpb3MuZmluZEluZGV4KChyKSA9PiByLmNoZWNrZWQgJiYgIXIuZGlzYWJsZWQgJiYgIXIuZm9ybURpc2FibGVkKTtcbiAgICAgIGNvbnN0IGZvY3VzYWJsZUluZGV4ID1cbiAgICAgICAgY2hlY2tlZEluZGV4ICE9PSAtMVxuICAgICAgICAgID8gY2hlY2tlZEluZGV4XG4gICAgICAgICAgOiByYWRpb3MuZmluZEluZGV4KChyKSA9PiAhci5kaXNhYmxlZCAmJiAhci5mb3JtRGlzYWJsZWQpOyAvLyBHZXQgdGhlIGZpcnN0IGZvY3VzYWJsZSByYWRpb1xuXG4gICAgICBpZiAoZm9jdXNhYmxlSW5kZXggIT09IC0xKSB7XG4gICAgICAgIHJhZGlvc1tmb2N1c2FibGVJbmRleF0udGFiSW5kZXggPSAwO1xuICAgICAgICByYWRpb3Muc3BsaWNlKGZvY3VzYWJsZUluZGV4LCAxKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzZXQgdGFiSW5kZXggb24gb3RoZXIgcmFkaW9zXG4gICAgICByYWRpb3MuZm9yRWFjaCgocikgPT4gci5yZW1vdmVBdHRyaWJ1dGUoJ3RhYmluZGV4JykpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBuYXZpZ2F0ZUJ5S2V5Ym9hcmQobmV4dDogU2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbkVsZW1lbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgIG5leHQuY2hlY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLmVtaXRDaGFuZ2VFdmVudHMoKTtcblxuICAgICAgYXdhaXQgbmV4dC51cGRhdGVDb21wbGV0ZTtcbiAgICAgIG5leHQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZW1pdENoYW5nZUV2ZW50cygpOiB2b2lkIHtcbiAgICAgIC8vIE1hbnVhbGx5IGRpc3BhdGNoIGV2ZW50cyB0byBzaW11bGF0ZSBhIHVzZXIgaW50ZXJhY3Rpb25cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgbmV3IElucHV0RXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSxcbiAgICAgICk7XG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3N5bmNocm9uaXplR3JvdXBTdGF0ZSgpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLmNoZWNrZWQpIHtcbiAgICAgICAgdGhpcy5fZGVzZWxlY3RHcm91cGVkUmFkaW9zKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnVwZGF0ZUZvY3VzYWJsZVJhZGlvcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCBgdGhpc2AgdG8gdGhlIHJhZGlvQnV0dG9uIHJlZ2lzdHJ5XG4gICAgICovXG4gICAgcHJpdmF0ZSBfY29ubmVjdFRvUmVnaXN0cnkoKTogdm9pZCB7XG4gICAgICBpZiAoIXRoaXMubmFtZSB8fCBpc1NlcnZlcikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJvb3QgPSB0aGlzLmZvcm0gPz8gdGhpcy5nZXRSb290Tm9kZSgpO1xuICAgICAgdGhpcy5fcmFkaW9CdXR0b25Hcm91cHNNYXAgPSByYWRpb0J1dHRvblJlZ2lzdHJ5LmdldChyb290KTtcblxuICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgJ3Jvb3QnIG1hcCBlbnRyeVxuICAgICAgaWYgKCF0aGlzLl9yYWRpb0J1dHRvbkdyb3Vwc01hcCkge1xuICAgICAgICB0aGlzLl9yYWRpb0J1dHRvbkdyb3Vwc01hcCA9IG5ldyBNYXAoKTtcbiAgICAgICAgcmFkaW9CdXR0b25SZWdpc3RyeS5zZXQocm9vdCwgdGhpcy5fcmFkaW9CdXR0b25Hcm91cHNNYXApO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmFzc29jaWF0ZWRSYWRpb0J1dHRvbnMgPSB0aGlzLl9yYWRpb0J1dHRvbkdyb3Vwc01hcC5nZXQoXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICkgYXMgdW5rbm93biBhcyBTZXQ8U2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbkVsZW1lbnQ+O1xuXG4gICAgICAvLyBJbml0aWFsaXplIHRoZSBncm91cCBzZXRcbiAgICAgIGlmICghdGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zKSB7XG4gICAgICAgIHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucyA9IG5ldyBTZXQoKTtcbiAgICAgICAgdGhpcy5fcmFkaW9CdXR0b25Hcm91cHNNYXAuc2V0KFxuICAgICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgICB0aGlzLmFzc29jaWF0ZWRSYWRpb0J1dHRvbnMgYXMgdW5rbm93biBhcyBTZXQ8U2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluVHlwZT4sXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIEluc2VydCB0aGUgbmV3IHJhZGlvIGludG8gdGhlIHNldCBhbmQgc29ydCBmb2xsb3dpbmcgdGhlIERPTSBvcmRlci5cbiAgICAgIC8vIFNpbmNlIHRoZSBvcmRlciBvZiBhICdTZXQnIGlzIHRoZSBpbnNlcnQgb3JkZXIsIHdlIGhhdmUgdG8gZW1wdHkgaXQgYW5kIHJlLWluc2VydCByYWRpb3MgaW4gb3JkZXJcbiAgICAgIGNvbnN0IGVudHJpZXMgPSBBcnJheS5mcm9tKHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucyk7XG4gICAgICB0aGlzLmFzc29jaWF0ZWRSYWRpb0J1dHRvbnMuY2xlYXIoKTtcblxuICAgICAgLy8gRmluZCBgdGhpc2AgcG9zaXRpb24gYW5kIGluc2VydCBpdFxuICAgICAgY29uc3QgaW5kZXggPSBlbnRyaWVzLmZpbmRJbmRleChcbiAgICAgICAgKHIpID0+IHRoaXMuY29tcGFyZURvY3VtZW50UG9zaXRpb24ocikgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyxcbiAgICAgICk7XG4gICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIGVudHJpZXMuc3BsaWNlKGluZGV4LCAwLCB0aGlzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVudHJpZXMucHVzaCh0aGlzKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVwb3B1bGF0ZSB0aGUgU2V0XG4gICAgICBlbnRyaWVzLmZvckVhY2goKHIpID0+IHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucyEuYWRkKHIpKTtcblxuICAgICAgdGhpcy52YWxpZGF0ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSBgdGhpc2AgZnJvbSB0aGUgcmFkaW9CdXR0b24gcmVnaXN0cnkgYW5kLCBpZiB0aGUgZ3JvdXAgaXMgZW1wdHksIGRlbGV0ZSB0aGUgZW50cnkgZnJvbSB0aGUgZ3JvdXBzIE1hcFxuICAgICAqL1xuICAgIHByaXZhdGUgX2Rpc2Nvbm5lY3RGcm9tUmVnaXN0cnkoKTogdm9pZCB7XG4gICAgICB0aGlzLmFzc29jaWF0ZWRSYWRpb0J1dHRvbnM/LmRlbGV0ZSh0aGlzKTtcblxuICAgICAgaWYgKHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucz8uc2l6ZSA9PT0gMCkge1xuICAgICAgICB0aGlzLl9yYWRpb0J1dHRvbkdyb3Vwc01hcD8uZGVsZXRlKHRoaXMubmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnZhbGlkYXRlKCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucyA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuX3JhZGlvQnV0dG9uR3JvdXBzTWFwID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybiBhIGxpc3Qgb2YgJ2ludGVyYWN0YWJsZScgZ3JvdXBlZCByYWRpb3MsIG9yZGVyZWQgaW4gRE9NIG9yZGVyXG4gICAgICovXG4gICAgcHJpdmF0ZSBfaW50ZXJhY3RhYmxlR3JvdXBlZFJhZGlvcygpOiBTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uRWxlbWVudFtdIHtcbiAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucyA/PyBbXSkuZmlsdGVyKChlbCkgPT5cbiAgICAgICAgaW50ZXJhY3Rpdml0eUNoZWNrZXIuaXNWaXNpYmxlKGVsKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVzZWxlY3Qgb3RoZXIgcmFkaW8gb2YgdGhlIHNhbWUgZ3JvdXBcbiAgICAgKi9cbiAgICBwcml2YXRlIF9kZXNlbGVjdEdyb3VwZWRSYWRpb3MoKTogdm9pZCB7XG4gICAgICBBcnJheS5mcm9tKHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucyA/PyBbXSlcbiAgICAgICAgLmZpbHRlcigocikgPT4gciAhPT0gdGhpcylcbiAgICAgICAgLmZvckVhY2goKHIpID0+IChyLmNoZWNrZWQgPSBmYWxzZSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX2hhbmRsZUFycm93S2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgIGlmICghaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBldnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgY29uc3QgZW5hYmxlZFJhZGlvcyA9IHRoaXMuX2ludGVyYWN0YWJsZUdyb3VwZWRSYWRpb3MoKS5maWx0ZXIoXG4gICAgICAgIChyKSA9PiAhci5kaXNhYmxlZCAmJiAhci5mb3JtRGlzYWJsZWQsXG4gICAgICApO1xuICAgICAgY29uc3QgY3VycmVudDogbnVtYmVyID0gZW5hYmxlZFJhZGlvcy5pbmRleE9mKHRoaXMpO1xuICAgICAgY29uc3QgbmV4dEluZGV4OiBudW1iZXIgPSBnZXROZXh0RWxlbWVudEluZGV4KGV2dCwgY3VycmVudCwgZW5hYmxlZFJhZGlvcy5sZW5ndGgpO1xuXG4gICAgICBhd2FpdCB0aGlzLm5hdmlnYXRlQnlLZXlib2FyZChlbmFibGVkUmFkaW9zW25leHRJbmRleF0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uRWxlbWVudCBhcyB1bmtub3duIGFzIENvbnN0cnVjdG9yPFNiYkZvcm1Bc3NvY2lhdGVkUmFkaW9CdXR0b25NaXhpblR5cGU+ICZcbiAgICBUO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUF3Qk8sTUFBTSwwQ0FBMEIsUUFBQTtBQWlDaEMsTUFBTSxvQ0FBb0MsQ0FDL0MsZUFDMEQ7TUFDcEQsdUNBQW1DLE1BQUE7O3NCQUMvQixpQkFBaUIsaUJBQWlCLHVCQUF1QixVQUFVLENBQUMsQ0FBQzs7O0FBRHpFLFdBQUEsbUJBQ0ksWUFBc0U7QUFBQTtBQUFBO0FBQUE7QUFBQSxNQU85RSxJQUFXLFFBQVEsT0FBYztBQUMvQixhQUFLLFdBQVcsQ0FBQyxDQUFDO0FBRWxCLGFBQUssZ0JBQWdCLGdCQUFnQixLQUFLLE9BQU87QUFDakQsYUFBSyxVQUFVLGNBQWMsS0FBSyxRQUFRLFNBQUE7QUFDMUMsYUFBSyxnQkFBQTtBQUNMLGFBQUssdUJBQUE7QUFBQSxNQUFzQjtBQUFBLE1BRTdCLElBQVcsVUFBTztBQUNoQixlQUFPLEtBQUs7QUFBQSxNQUFBO0FBQUEsTUFJZCxJQUFvQixLQUFLLE9BQWE7QUFDcEMsY0FBTSxPQUFPO0FBRWIsYUFBSyx3QkFBQTtBQUNMLGFBQUssbUJBQUE7QUFDTCxhQUFLLHVCQUFBO0FBQUEsTUFBc0I7QUFBQSxNQUU3QixJQUFvQixPQUFJO0FBQ3RCLGVBQU8sTUFBTTtBQUFBLE1BQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLE1BT2YsSUFBb0IsT0FBSTtBQUN0QixlQUFPO0FBQUEsTUFBQTtBQUFBLE1BY1QsY0FBQTtBQUNFLGNBQUE7QUFqQ00sYUFBQSxZQW5CSixrQkFBQSxNQUFBLDBCQUFBLEdBbUJ3QjtBQXNCbEIsYUFBQSxRQUFRLElBQUksNEJBQTRCLElBQUk7QUFROUMsYUFBQSxzQkFBc0IsSUFBSSxzQkFBc0IsSUFBSTtBQUsxRCxhQUFLLFVBQVUsT0FBTztBQUN0QixhQUFLLG1CQUFtQixXQUFXLENBQUMsTUFBTSxLQUFLLG9CQUFvQixDQUFDLENBQUM7QUFBQSxNQUFBO0FBQUEsTUFHdkQsb0JBQWlCO0FBQy9CLGNBQU0sa0JBQUE7QUFDTixhQUFLLG1CQUFBO0FBQ0wsYUFBSyx1QkFBQTtBQUFBLE1BQXNCO0FBQUEsTUFHYix1QkFBb0I7QUFDbEMsY0FBTSxxQkFBQTtBQUNOLGFBQUssd0JBQUE7QUFBQSxNQUF1QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsTUFPZCxvQkFBaUI7QUFDL0IsYUFBSyxVQUFVLEtBQUssYUFBYSxTQUFTO0FBQUEsTUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLE1BUzVCLHlCQUNkLE9BQ0EsU0FBMEI7QUFFMUIsWUFBSSxPQUFPO0FBQ1QsZUFBSyxVQUFVLFVBQVUsS0FBSztBQUFBLFFBQUE7QUFBQSxNQUNoQztBQUFBLE1BR2lCLFdBQVcsbUJBQXVDO0FBQ25FLGNBQU0sV0FBVyxpQkFBaUI7QUFFbEMsWUFBSSxrQkFBa0IsSUFBSSxVQUFVLEdBQUc7QUFDckMsZUFBSyxzQkFBQTtBQUFBLFFBQXFCO0FBQUEsTUFDNUI7QUFBQSxNQUdpQixhQUFhLG1CQUF1QztBQUNyRSxjQUFNLGFBQWEsaUJBQWlCO0FBQ3BDLGFBQUssc0JBQUE7QUFBQSxNQUFxQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsTUFPVCxrQkFBZTtBQUNoQyxZQUFJLEtBQUssU0FBUztBQUNoQixlQUFLLFVBQVUsYUFBYSxLQUFLLE9BQU8sS0FBSyxLQUFLO0FBQUEsUUFBQSxPQUM3QztBQUNMLGVBQUssVUFBVSxhQUFhLElBQUk7QUFBQSxRQUFBO0FBQUEsTUFDbEM7QUFBQSxNQUdpQixlQUFlLE1BQTZCO0FBQzdELGVBQU8sTUFBTSxlQUFlLElBQUksS0FBSyxTQUFTLGFBQWEsU0FBUztBQUFBLE1BQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLE1BT25ELFdBQVE7QUFDekIsY0FBTSxTQUFBO0FBQ04sWUFBSSxDQUFDLEtBQUssd0JBQXdCO0FBQ2hDO0FBQUEsUUFBQTtBQUdGLFlBQUksV0FBVztBQUNmLFlBQUksVUFBVTtBQUNkLG1CQUFXLFNBQVMsS0FBSyx3QkFBd0I7QUFDL0MsdUJBQWEsTUFBTTtBQUNuQixzQkFBWSxNQUFNO0FBQUEsUUFBQTtBQUdwQixZQUFJLFlBQVksQ0FBQyxTQUFTO0FBQ3hCLGVBQUssdUJBQXVCLFFBQVEsQ0FBQyxNQUNuQyxFQUFFLGdCQUNBLGdCQUNBLHNCQUFzQixLQUFLLG9CQUFvQixPQUFPLENBQUMsQ0FDeEQ7QUFBQSxRQUFBLE9BRUU7QUFDTCxlQUFLLHVCQUF1QixRQUFRLENBQUMsTUFBTSxFQUFFLG1CQUFtQixjQUFjLENBQUM7QUFBQSxRQUFBO0FBQUEsTUFDakY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsTUFRUSx3QkFBcUI7QUFDN0IsWUFBSSxDQUFDLEtBQUssWUFBWTtBQUNwQjtBQUFBLFFBQUE7QUFFRixjQUFNLFNBQVMsS0FBSywyQkFBQTtBQUNwQixjQUFNLGVBQWUsT0FBTyxVQUFVLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUFFLFlBQVksQ0FBQyxFQUFFLFlBQVk7QUFDeEYsY0FBTSxpQkFDSixpQkFBaUIsS0FDYixlQUNBLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFlBQVksQ0FBQyxFQUFFLFlBQVk7QUFFNUQsWUFBSSxtQkFBbUIsSUFBSTtBQUN6QixpQkFBTyxjQUFjLEVBQUUsV0FBVztBQUNsQyxpQkFBTyxPQUFPLGdCQUFnQixDQUFDO0FBQUEsUUFBQTtBQUlqQyxlQUFPLFFBQVEsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLFVBQVUsQ0FBQztBQUFBLE1BQUE7QUFBQSxNQUczQyxNQUFNLG1CQUFtQixNQUF5QztBQUMxRSxhQUFLLFVBQVU7QUFDZixhQUFLLGlCQUFBO0FBRUwsY0FBTSxLQUFLO0FBQ1gsYUFBSyxNQUFBO0FBQUEsTUFBSztBQUFBLE1BR0YsbUJBQWdCO0FBRXhCLGFBQUssY0FDSCxJQUFJLFdBQVcsU0FBUyxFQUFFLFNBQVMsTUFBTSxZQUFZLE1BQU0sVUFBVSxLQUFBLENBQU0sQ0FBQztBQUU5RSxhQUFLLGNBQWMsSUFBSSxNQUFNLFVBQVUsRUFBRSxTQUFTLEtBQUEsQ0FBTSxDQUFDO0FBQUEsTUFBQTtBQUFBLE1BR25ELHlCQUFzQjtBQUM1QixZQUFJLEtBQUssU0FBUztBQUNoQixlQUFLLHVCQUFBO0FBQUEsUUFBc0I7QUFFN0IsYUFBSyxzQkFBQTtBQUFBLE1BQXFCO0FBQUE7QUFBQTtBQUFBO0FBQUEsTUFNcEIscUJBQWtCO0FBQ3hCLFlBQUksQ0FBQyxLQUFLLFFBQVEsVUFBVTtBQUMxQjtBQUFBLFFBQUE7QUFHRixjQUFNLE9BQU8sS0FBSyxRQUFRLEtBQUssWUFBQTtBQUMvQixhQUFLLHdCQUF3QixvQkFBb0IsSUFBSSxJQUFJO0FBR3pELFlBQUksQ0FBQyxLQUFLLHVCQUF1QjtBQUMvQixlQUFLLDRDQUE0QixJQUFBO0FBQ2pDLDhCQUFvQixJQUFJLE1BQU0sS0FBSyxxQkFBcUI7QUFBQSxRQUFBO0FBRzFELGFBQUsseUJBQXlCLEtBQUssc0JBQXNCLElBQ3ZELEtBQUssSUFBSTtBQUlYLFlBQUksQ0FBQyxLQUFLLHdCQUF3QjtBQUNoQyxlQUFLLDZDQUE2QixJQUFBO0FBQ2xDLGVBQUssc0JBQXNCLElBQ3pCLEtBQUssTUFDTCxLQUFLLHNCQUErRTtBQUFBLFFBQUE7QUFNeEYsY0FBTSxVQUFVLE1BQU0sS0FBSyxLQUFLLHNCQUFzQjtBQUN0RCxhQUFLLHVCQUF1QixNQUFBO0FBRzVCLGNBQU0sUUFBUSxRQUFRLFVBQ3BCLENBQUMsTUFBTSxLQUFLLHdCQUF3QixDQUFDLElBQUksS0FBSywyQkFBMkI7QUFFM0UsWUFBSSxVQUFVLElBQUk7QUFDaEIsa0JBQVEsT0FBTyxPQUFPLEdBQUcsSUFBSTtBQUFBLFFBQUEsT0FDeEI7QUFDTCxrQkFBUSxLQUFLLElBQUk7QUFBQSxRQUFBO0FBSW5CLGdCQUFRLFFBQVEsQ0FBQyxNQUFNLEtBQUssdUJBQXdCLElBQUksQ0FBQyxDQUFDO0FBRTFELGFBQUssU0FBQTtBQUFBLE1BQVE7QUFBQTtBQUFBO0FBQUE7QUFBQSxNQU1QLDBCQUF1QjtBQUM3QixhQUFLLHdCQUF3QixPQUFPLElBQUk7QUFFeEMsWUFBSSxLQUFLLHdCQUF3QixTQUFTLEdBQUc7QUFDM0MsZUFBSyx1QkFBdUIsT0FBTyxLQUFLLElBQUk7QUFBQSxRQUFBLE9BQ3ZDO0FBQ0wsZUFBSyxTQUFBO0FBQUEsUUFBUTtBQUdmLGFBQUsseUJBQXlCO0FBQzlCLGFBQUssd0JBQXdCO0FBQUEsTUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLE1BTXZCLDZCQUEwQjtBQUNoQyxlQUFPLE1BQU0sS0FBSyxLQUFLLDBCQUEwQixDQUFBLENBQUUsRUFBRSxPQUFPLENBQUMsT0FDM0QscUJBQXFCLFVBQVUsRUFBRSxDQUFDO0FBQUEsTUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLE1BTzlCLHlCQUFzQjtBQUM1QixjQUFNLEtBQUssS0FBSywwQkFBMEIsQ0FBQSxDQUFFLEVBQ3pDLE9BQU8sQ0FBQyxNQUFNLE1BQU0sSUFBSSxFQUN4QixRQUFRLENBQUMsTUFBTyxFQUFFLFVBQVUsS0FBTTtBQUFBLE1BQUE7QUFBQSxNQUcvQixNQUFNLG9CQUFvQixLQUFrQjtBQUNsRCxZQUFJLENBQUMsa0JBQWtCLEdBQUcsR0FBRztBQUMzQjtBQUFBLFFBQUE7QUFFRixZQUFJLGVBQUE7QUFFSixjQUFNLGdCQUFnQixLQUFLLDJCQUFBLEVBQTZCLE9BQ3RELENBQUMsTUFBTSxDQUFDLEVBQUUsWUFBWSxDQUFDLEVBQUUsWUFBWTtBQUV2QyxjQUFNLFVBQWtCLGNBQWMsUUFBUSxJQUFJO0FBQ2xELGNBQU0sWUFBb0Isb0JBQW9CLEtBQUssU0FBUyxjQUFjLE1BQU07QUFFaEYsY0FBTSxLQUFLLG1CQUFtQixjQUFjLFNBQVMsQ0FBQztBQUFBLE1BQUE7QUFBQSxJQUN4RDs7QUFqU0MsZ0NBQUEsQ0FBQSxTQUFTLEVBQUUsTUFBTSxRQUFBLENBQVMsQ0FBQztBQUM1QixtQkFBQSxJQUFBLE1BQUEseUJBQUEsRUFBQSxNQUFBLFVBQUEsTUFBQSxXQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLGFBQUEsS0FBQSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsWUFBVyxVQUFPO0FBQUEsTUFBQSxLQUFBLFVBQUEsYUFBQSxNQUFBLDBCQUFBOztVQVJkO0FBQUE7QUEyU04sU0FBTztBQUVUOyJ9
254
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hc3NvY2lhdGVkLXJhZGlvLWJ1dHRvbi1taXhpbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvbWl4aW5zL2Zvcm0tYXNzb2NpYXRlZC1yYWRpby1idXR0b24tbWl4aW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNTZXJ2ZXIsIHR5cGUgTGl0RWxlbWVudCwgdHlwZSBQcm9wZXJ0eVZhbHVlcyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaW50ZXJhY3Rpdml0eUNoZWNrZXIsIGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBpMThuU2VsZWN0aW9uUmVxdWlyZWQgfSBmcm9tICcuLi9pMThuLmpzJztcblxuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3Rvci5qcyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluIH0gZnJvbSAnLi9kaXNhYmxlZC1taXhpbi5qcyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4gfSBmcm9tICcuL2VsZW1lbnQtaW50ZXJuYWxzLW1peGluLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgRm9ybVJlc3RvcmVSZWFzb24sXG4gIHR5cGUgRm9ybVJlc3RvcmVTdGF0ZSxcbiAgU2JiRm9ybUFzc29jaWF0ZWRNaXhpbixcbn0gZnJvbSAnLi9mb3JtLWFzc29jaWF0ZWQtbWl4aW4uanMnO1xuaW1wb3J0IHsgU2JiUmVxdWlyZWRNaXhpbiB9IGZyb20gJy4vcmVxdWlyZWQtbWl4aW4uanMnO1xuXG4vKipcbiAqIEEgc3RhdGljIHJlZ2lzdHJ5IHRoYXQgaG9sZHMgYSBjb2xsZWN0aW9uIG9mIGdyb3VwZWQgYHJhZGlvLWJ1dHRvbnNgLlxuICogR3JvdXBzIG9mIHJhZGlvIGJ1dHRvbnMgYXJlIGxvY2FsIHRvIHRoZSBmb3JtIHRoZXkgYmVsb25nIChvciB0aGUgYHJlbmRlclJvb3RgIGlmIHRoZXkncmUgbm90IHBhcnQgb2YgYW55IGZvcm0pXG4gKiBNdWx0aXBsZSBncm91cHMgb2YgcmFkaW8gd2l0aCB0aGUgc2FtZSBuYW1lIGNhbiBjb2V4aXN0IChhcyBsb25nIGFzIHRoZXkgYmVsb25nIHRvIGEgZGlmZmVyZW50IGZvcm0gLyByZW5kZXJSb290KVxuICogSXQgaXMgbWFpbmx5IHVzZWQgdG8gc3VwcG9ydCB0aGUgc3RhbmRhbG9uZSBncm91cHMgb2YgcmFkaW9zLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCByYWRpb0J1dHRvblJlZ2lzdHJ5ID0gbmV3IFdlYWtNYXA8XG4gIE5vZGUsXG4gIE1hcDxzdHJpbmcsIFNldDxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW5UeXBlPj5cbj4oKTtcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluVHlwZSBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oXG4gIFNiYlJlcXVpcmVkTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkpKSxcbikge1xuICBwdWJsaWMgYWNjZXNzb3IgY2hlY2tlZDogYm9vbGVhbjtcblxuICBwcm90ZWN0ZWQgYXNzb2NpYXRlZFJhZGlvQnV0dG9ucz86IFNldDxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW5UeXBlPjtcblxuICBwdWJsaWMgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZDtcbiAgcHVibGljIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsIHJlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24pOiB2b2lkO1xuXG4gIHByb3RlY3RlZCB1cGRhdGVGb3JtVmFsdWUoKTogdm9pZDtcbiAgcHJvdGVjdGVkIHVwZGF0ZUZvY3VzYWJsZVJhZGlvcygpOiB2b2lkO1xuICBwcm90ZWN0ZWQgZW1pdENoYW5nZUV2ZW50cygpOiB2b2lkO1xuICBwcm90ZWN0ZWQgbmF2aWdhdGVCeUtleWJvYXJkKHJhZGlvOiBTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW5UeXBlKTogUHJvbWlzZTx2b2lkPjtcbn1cblxuLyoqXG4gKiBUaGUgU2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluIGVuYWJsZXMgbmF0aXZlIGZvcm0gc3VwcG9ydCBmb3IgcmFkaW8gY29udHJvbHMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW4gPSA8VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8TGl0RWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW5UeXBlPiAmIFQgPT4ge1xuICBhYnN0cmFjdCBjbGFzcyBTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uRWxlbWVudFxuICAgIGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihcbiAgICAgIFNiYlJlcXVpcmVkTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oc3VwZXJDbGFzcykpKSxcbiAgICApXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkZvcm1Bc3NvY2lhdGVkUmFkaW9CdXR0b25NaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAncmFkaW8nO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgcmFkaW8gYnV0dG9uIGlzIGNoZWNrZWQuXG4gICAgICovXG4gICAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICAgIHB1YmxpYyBzZXQgY2hlY2tlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgdGhpcy5fY2hlY2tlZCA9ICEhdmFsdWU7XG5cbiAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWNoZWNrZWQnLCB0aGlzLmNoZWNrZWQpO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNoZWNrZWQgPSB0aGlzLmNoZWNrZWQudG9TdHJpbmcoKTtcbiAgICAgIHRoaXMudXBkYXRlRm9ybVZhbHVlKCk7XG4gICAgICB0aGlzLl9zeW5jaHJvbml6ZUdyb3VwU3RhdGUoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2NoZWNrZWQ7XG4gICAgfVxuICAgIHByaXZhdGUgX2NoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBwcm9wZXJ0eSgpXG4gICAgcHVibGljIG92ZXJyaWRlIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgIHN1cGVyLm5hbWUgPSB2YWx1ZTtcblxuICAgICAgdGhpcy5fZGlzY29ubmVjdEZyb21SZWdpc3RyeSgpO1xuICAgICAgdGhpcy5fY29ubmVjdFRvUmVnaXN0cnkoKTtcbiAgICAgIHRoaXMuX3N5bmNocm9uaXplR3JvdXBTdGF0ZSgpO1xuICAgIH1cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBzdXBlci5uYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvcm0gdHlwZSBvZiBlbGVtZW50LlxuICAgICAqIEBkZWZhdWx0ICdyYWRpbydcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiAncmFkaW8nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCBvZiByYWRpbyBidXR0b25zIHRoYXQgYmVsb25ncyB0byB0aGUgc2FtZSBncm91cCBvZiBgdGhpc2AuXG4gICAgICogQXNzdW1lIHRoZW0gb3JkZXJlZCBpbiBET00gb3JkZXJcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXNzb2NpYXRlZFJhZGlvQnV0dG9ucz86IFNldDxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uRWxlbWVudD47XG4gICAgcHJpdmF0ZSBfcmFkaW9CdXR0b25Hcm91cHNNYXA/OiBNYXA8c3RyaW5nLCBTZXQ8U2JiRm9ybUFzc29jaWF0ZWRSYWRpb0J1dHRvbk1peGluVHlwZT4+O1xuICAgIHByaXZhdGUgX2xhbmd1YWdlQ29udHJvbGxlciA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICBzdXBlcigpO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlQXJyb3dLZXlEb3duKGUpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgICAgdGhpcy5fY29ubmVjdFRvUmVnaXN0cnkoKTtcbiAgICAgIHRoaXMuX3N5bmNocm9uaXplR3JvdXBTdGF0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLl9kaXNjb25uZWN0RnJvbVJlZ2lzdHJ5KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXMgY2FsbGVkIHdoZW5ldmVyIHRoZSBmb3JtIGlzIGJlaW5nIHJlc2V0LlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHRoaXMuY2hlY2tlZCA9IHRoaXMuaGFzQXR0cmlidXRlKCdjaGVja2VkJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogIENhbGxlZCB3aGVuIHRoZSBicm93c2VyIGlzIHRyeWluZyB0byByZXN0b3JlIGVsZW1lbnTigJlzIHN0YXRlIHRvIHN0YXRlIGluIHdoaWNoIGNhc2VcbiAgICAgKiAgcmVhc29uIGlzIFwicmVzdG9yZVwiLCBvciB3aGVuIHRoZSBicm93c2VyIGlzIHRyeWluZyB0byBmdWxmaWxsIGF1dG9maWxsIG9uIGJlaGFsZiBvZlxuICAgICAqICB1c2VyIGluIHdoaWNoIGNhc2UgcmVhc29uIGlzIFwiYXV0b2NvbXBsZXRlXCIuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhcbiAgICAgIHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICAgIF9yZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICAgICk6IHZvaWQge1xuICAgICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gJ3N0cmluZycgfHwgc3RhdGUgPT0gbnVsbCkge1xuICAgICAgICB0aGlzLmNoZWNrZWQgPSBzdGF0ZSA9PT0gdGhpcy52YWx1ZTtcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUgaW5zdGFuY2VvZiBGb3JtRGF0YSkge1xuICAgICAgICB0aGlzLl9yZWFkRm9ybURhdGEoc3RhdGUpLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgICAgICB0aGlzLmNoZWNrZWQgPSBkYXRhID09PSB0aGlzLnZhbHVlO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9yZWFkRm9ybURhdGEoZm9ybURhdGE6IEZvcm1EYXRhKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICBjb25zdCBkYXRhID0gZm9ybURhdGEuZ2V0KHRoaXMubmFtZSk7XG4gICAgICByZXR1cm4gZGF0YSBpbnN0YW5jZW9mIEJsb2IgPyBKU09OLnBhcnNlKGF3YWl0IGRhdGEudGV4dCgpKSA6IGRhdGE7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZGlzYWJsZWQnKSkge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzYWJsZVJhZGlvcygpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgICAgdGhpcy51cGRhdGVGb2N1c2FibGVSYWRpb3MoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsZWQgb24gYHZhbHVlYCBjaGFuZ2VcbiAgICAgKiBJZiAnY2hlY2tlZCcsIHVwZGF0ZSB0aGUgdmFsdWUuIE90aGVyd2lzZSwgZG8gbm90aGluZy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuY2hlY2tlZCkge1xuICAgICAgICBzdXBlci51cGRhdGVGb3JtVmFsdWUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLnNldEZvcm1WYWx1ZShudWxsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBzdXBlci5zaG91bGRWYWxpZGF0ZShuYW1lKSB8fCBuYW1lID09PSAnY2hlY2tlZCcgfHwgbmFtZSA9PT0gJ3JlcXVpcmVkJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSB2YWxpZGl0eSBvZiBhbGwgYXNzb2NpYXRlZCByYWRpbyBidXR0b25zLlxuICAgICAqIElmIGFueSByYWRpbyBidXR0b24gaXMgcmVxdWlyZWQsIGFsbCBhc3NvY2lhdGVkIGFyZSByZXF1aXJlZCBhcyB3ZWxsLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBvdmVycmlkZSB2YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICAgIHN1cGVyLnZhbGlkYXRlKCk7XG4gICAgICBpZiAoIXRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGxldCByZXF1aXJlZCA9IGZhbHNlO1xuICAgICAgbGV0IGNoZWNrZWQgPSBmYWxzZTtcbiAgICAgIGZvciAoY29uc3QgcmFkaW8gb2YgdGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zKSB7XG4gICAgICAgIHJlcXVpcmVkIHx8PSByYWRpby5yZXF1aXJlZDtcbiAgICAgICAgY2hlY2tlZCB8fD0gcmFkaW8uY2hlY2tlZDtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlcXVpcmVkICYmICFjaGVja2VkKSB7XG4gICAgICAgIHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucy5mb3JFYWNoKChyKSA9PlxuICAgICAgICAgIHIuc2V0VmFsaWRpdHlGbGFnKFxuICAgICAgICAgICAgJ3ZhbHVlTWlzc2luZycsXG4gICAgICAgICAgICBpMThuU2VsZWN0aW9uUmVxdWlyZWRbdGhpcy5fbGFuZ3VhZ2VDb250cm9sbGVyLmN1cnJlbnRdLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFzc29jaWF0ZWRSYWRpb0J1dHRvbnMuZm9yRWFjaCgocikgPT4gci5yZW1vdmVWYWxpZGl0eUZsYWcoJ3ZhbHVlTWlzc2luZycpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPbmx5IGEgc2luZ2xlIHJhZGlvIHNob3VsZCBiZSBmb2N1c2FibGUgaW4gdGhlIGdyb3VwLiBEZWZpbmVkIGFzOlxuICAgICAqIC0gdGhlIGNoZWNrZWQgcmFkaW87XG4gICAgICogLSB0aGUgZmlyc3Qgbm9uLWRpc2FibGVkIHJhZGlvIGluIERPTSBvcmRlcjtcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgdXBkYXRlRm9jdXNhYmxlUmFkaW9zKCk6IHZvaWQge1xuICAgICAgaWYgKCF0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgcmFkaW9zID0gdGhpcy5faW50ZXJhY3RhYmxlR3JvdXBlZFJhZGlvcygpO1xuICAgICAgY29uc3QgY2hlY2tlZEluZGV4ID0gcmFkaW9zLmZpbmRJbmRleCgocikgPT4gci5jaGVja2VkICYmICFyLmRpc2FibGVkICYmICFyLmZvcm1EaXNhYmxlZCk7XG4gICAgICBjb25zdCBmb2N1c2FibGVJbmRleCA9XG4gICAgICAgIGNoZWNrZWRJbmRleCAhPT0gLTFcbiAgICAgICAgICA/IGNoZWNrZWRJbmRleFxuICAgICAgICAgIDogcmFkaW9zLmZpbmRJbmRleCgocikgPT4gIXIuZGlzYWJsZWQgJiYgIXIuZm9ybURpc2FibGVkKTsgLy8gR2V0IHRoZSBmaXJzdCBmb2N1c2FibGUgcmFkaW9cblxuICAgICAgaWYgKGZvY3VzYWJsZUluZGV4ICE9PSAtMSkge1xuICAgICAgICByYWRpb3NbZm9jdXNhYmxlSW5kZXhdLnRhYkluZGV4ID0gMDtcbiAgICAgICAgcmFkaW9zLnNwbGljZShmb2N1c2FibGVJbmRleCwgMSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc2V0IHRhYkluZGV4IG9uIG90aGVyIHJhZGlvc1xuICAgICAgcmFkaW9zLmZvckVhY2goKHIpID0+IHIucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgbmF2aWdhdGVCeUtleWJvYXJkKG5leHQ6IFNiYkZvcm1Bc3NvY2lhdGVkUmFkaW9CdXR0b25FbGVtZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICBuZXh0LmNoZWNrZWQgPSB0cnVlO1xuICAgICAgdGhpcy5lbWl0Q2hhbmdlRXZlbnRzKCk7XG5cbiAgICAgIGF3YWl0IG5leHQudXBkYXRlQ29tcGxldGU7XG4gICAgICBuZXh0LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGVtaXRDaGFuZ2VFdmVudHMoKTogdm9pZCB7XG4gICAgICAvLyBNYW51YWxseSBkaXNwYXRjaCBldmVudHMgdG8gc2ltdWxhdGUgYSB1c2VyIGludGVyYWN0aW9uXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICAgIG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSksXG4gICAgICApO1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zeW5jaHJvbml6ZUdyb3VwU3RhdGUoKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5jaGVja2VkKSB7XG4gICAgICAgIHRoaXMuX2Rlc2VsZWN0R3JvdXBlZFJhZGlvcygpO1xuICAgICAgfVxuICAgICAgdGhpcy51cGRhdGVGb2N1c2FibGVSYWRpb3MoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgYHRoaXNgIHRvIHRoZSByYWRpb0J1dHRvbiByZWdpc3RyeVxuICAgICAqL1xuICAgIHByaXZhdGUgX2Nvbm5lY3RUb1JlZ2lzdHJ5KCk6IHZvaWQge1xuICAgICAgaWYgKCF0aGlzLm5hbWUgfHwgaXNTZXJ2ZXIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3Qgcm9vdCA9IHRoaXMuZm9ybSA/PyB0aGlzLmdldFJvb3ROb2RlKCk7XG4gICAgICB0aGlzLl9yYWRpb0J1dHRvbkdyb3Vwc01hcCA9IHJhZGlvQnV0dG9uUmVnaXN0cnkuZ2V0KHJvb3QpO1xuXG4gICAgICAvLyBJbml0aWFsaXplIHRoZSAncm9vdCcgbWFwIGVudHJ5XG4gICAgICBpZiAoIXRoaXMuX3JhZGlvQnV0dG9uR3JvdXBzTWFwKSB7XG4gICAgICAgIHRoaXMuX3JhZGlvQnV0dG9uR3JvdXBzTWFwID0gbmV3IE1hcCgpO1xuICAgICAgICByYWRpb0J1dHRvblJlZ2lzdHJ5LnNldChyb290LCB0aGlzLl9yYWRpb0J1dHRvbkdyb3Vwc01hcCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucyA9IHRoaXMuX3JhZGlvQnV0dG9uR3JvdXBzTWFwLmdldChcbiAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgKSBhcyB1bmtub3duIGFzIFNldDxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uRWxlbWVudD47XG5cbiAgICAgIC8vIEluaXRpYWxpemUgdGhlIGdyb3VwIHNldFxuICAgICAgaWYgKCF0aGlzLmFzc29jaWF0ZWRSYWRpb0J1dHRvbnMpIHtcbiAgICAgICAgdGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zID0gbmV3IFNldCgpO1xuICAgICAgICB0aGlzLl9yYWRpb0J1dHRvbkdyb3Vwc01hcC5zZXQoXG4gICAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgICAgIHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucyBhcyB1bmtub3duIGFzIFNldDxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW5UeXBlPixcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gSW5zZXJ0IHRoZSBuZXcgcmFkaW8gaW50byB0aGUgc2V0IGFuZCBzb3J0IGZvbGxvd2luZyB0aGUgRE9NIG9yZGVyLlxuICAgICAgLy8gU2luY2UgdGhlIG9yZGVyIG9mIGEgJ1NldCcgaXMgdGhlIGluc2VydCBvcmRlciwgd2UgaGF2ZSB0byBlbXB0eSBpdCBhbmQgcmUtaW5zZXJ0IHJhZGlvcyBpbiBvcmRlclxuICAgICAgY29uc3QgZW50cmllcyA9IEFycmF5LmZyb20odGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zKTtcbiAgICAgIHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucy5jbGVhcigpO1xuXG4gICAgICAvLyBGaW5kIGB0aGlzYCBwb3NpdGlvbiBhbmQgaW5zZXJ0IGl0XG4gICAgICBjb25zdCBpbmRleCA9IGVudHJpZXMuZmluZEluZGV4KFxuICAgICAgICAocikgPT4gdGhpcy5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihyKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HLFxuICAgICAgKTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgZW50cmllcy5zcGxpY2UoaW5kZXgsIDAsIHRoaXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZW50cmllcy5wdXNoKHRoaXMpO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXBvcHVsYXRlIHRoZSBTZXRcbiAgICAgIGVudHJpZXMuZm9yRWFjaCgocikgPT4gdGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zIS5hZGQocikpO1xuXG4gICAgICB0aGlzLnZhbGlkYXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIGB0aGlzYCBmcm9tIHRoZSByYWRpb0J1dHRvbiByZWdpc3RyeSBhbmQsIGlmIHRoZSBncm91cCBpcyBlbXB0eSwgZGVsZXRlIHRoZSBlbnRyeSBmcm9tIHRoZSBncm91cHMgTWFwXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZGlzY29ubmVjdEZyb21SZWdpc3RyeSgpOiB2b2lkIHtcbiAgICAgIHRoaXMuYXNzb2NpYXRlZFJhZGlvQnV0dG9ucz8uZGVsZXRlKHRoaXMpO1xuXG4gICAgICBpZiAodGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zPy5zaXplID09PSAwKSB7XG4gICAgICAgIHRoaXMuX3JhZGlvQnV0dG9uR3JvdXBzTWFwPy5kZWxldGUodGhpcy5uYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGUoKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fcmFkaW9CdXR0b25Hcm91cHNNYXAgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIGEgbGlzdCBvZiAnaW50ZXJhY3RhYmxlJyBncm91cGVkIHJhZGlvcywgb3JkZXJlZCBpbiBET00gb3JkZXJcbiAgICAgKi9cbiAgICBwcml2YXRlIF9pbnRlcmFjdGFibGVHcm91cGVkUmFkaW9zKCk6IFNiYkZvcm1Bc3NvY2lhdGVkUmFkaW9CdXR0b25FbGVtZW50W10ge1xuICAgICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zID8/IFtdKS5maWx0ZXIoKGVsKSA9PlxuICAgICAgICBpbnRlcmFjdGl2aXR5Q2hlY2tlci5pc1Zpc2libGUoZWwpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXNlbGVjdCBvdGhlciByYWRpbyBvZiB0aGUgc2FtZSBncm91cFxuICAgICAqL1xuICAgIHByaXZhdGUgX2Rlc2VsZWN0R3JvdXBlZFJhZGlvcygpOiB2b2lkIHtcbiAgICAgIEFycmF5LmZyb20odGhpcy5hc3NvY2lhdGVkUmFkaW9CdXR0b25zID8/IFtdKVxuICAgICAgICAuZmlsdGVyKChyKSA9PiByICE9PSB0aGlzKVxuICAgICAgICAuZm9yRWFjaCgocikgPT4gKHIuY2hlY2tlZCA9IGZhbHNlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlQXJyb3dLZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgaWYgKCFpc0Fycm93S2V5UHJlc3NlZChldnQpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCBlbmFibGVkUmFkaW9zID0gdGhpcy5faW50ZXJhY3RhYmxlR3JvdXBlZFJhZGlvcygpLmZpbHRlcihcbiAgICAgICAgKHIpID0+ICFyLmRpc2FibGVkICYmICFyLmZvcm1EaXNhYmxlZCxcbiAgICAgICk7XG4gICAgICBjb25zdCBjdXJyZW50OiBudW1iZXIgPSBlbmFibGVkUmFkaW9zLmluZGV4T2YodGhpcyk7XG4gICAgICBjb25zdCBuZXh0SW5kZXg6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZ0LCBjdXJyZW50LCBlbmFibGVkUmFkaW9zLmxlbmd0aCk7XG5cbiAgICAgIGF3YWl0IHRoaXMubmF2aWdhdGVCeUtleWJvYXJkKGVuYWJsZWRSYWRpb3NbbmV4dEluZGV4XSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFNiYkZvcm1Bc3NvY2lhdGVkUmFkaW9CdXR0b25FbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJGb3JtQXNzb2NpYXRlZFJhZGlvQnV0dG9uTWl4aW5UeXBlPiAmXG4gICAgVDtcbn07XG4iXSwibmFtZXMiOlsiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUF3QmEsTUFBQSwwQ0FBMEI7QUF5QjFCLE1BQUEsb0NBQW9DLENBQy9DLGVBQ2tFO01BQ25ELHVDQUFtQyxNQUFBOztzQkFDeEMsaUJBQ04saUJBQWlCLHVCQUF1Qix5QkFBeUIsVUFBVSxDQUFDLENBQUMsQ0FBQzs7OztBQUZuRSxXQUFBLG1CQUNMLFlBRVA7QUFBQTtBQUFBO0FBQUE7QUFBQSxNQVNELElBQVcsUUFBUSxPQUFjO0FBQzFCLGFBQUEsV0FBVyxDQUFDLENBQUM7QUFFYixhQUFBLGdCQUFnQixnQkFBZ0IsS0FBSyxPQUFP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
@@ -16,6 +16,7 @@ const SbbHydrationMixin = (base) => {
16
16
  return this._hydrationRequired;
17
17
  }
18
18
  constructor(...args) {
19
+ var _a;
19
20
  super(...args);
20
21
  this._hydrationComplete = new Promise((resolve) => this._resolveHydration = resolve);
21
22
  this._hydrationRequired = !!this.shadowRoot;
@@ -28,8 +29,8 @@ const SbbHydrationMixin = (base) => {
28
29
  }
29
30
  };
30
31
  const eventOptions = { capture: true };
31
- const slots = this.shadowRoot?.querySelectorAll("slot");
32
- if (slots?.length) {
32
+ const slots = (_a = this.shadowRoot) == null ? void 0 : _a.querySelectorAll("slot");
33
+ if (slots == null ? void 0 : slots.length) {
33
34
  slots.forEach((slot) => slot.addEventListener("slotchange", suppressSlotchangeEvent, eventOptions));
34
35
  this.hydrationComplete.then(() => slots.forEach((slot) => {
35
36
  slot.removeEventListener("slotchange", suppressSlotchangeEvent, eventOptions);
@@ -53,4 +54,4 @@ const SbbHydrationMixin = (base) => {
53
54
  export {
54
55
  SbbHydrationMixin
55
56
  };
56
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHlkcmF0aW9uLW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvaHlkcmF0aW9uLW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGl0RWxlbWVudCwgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9yLmpzJztcblxuLy8gRGVmaW5lIHRoZSBpbnRlcmZhY2UgZm9yIHRoZSBtaXhpblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiSHlkcmF0aW9uTWl4aW5UeXBlIHtcbiAgLyoqXG4gICAqIFJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZWxlbWVudCBoYXMgY29tcGxldGVkIGh5ZHJhdGlvbi5cbiAgICogVGhlIFByb21pc2UgdmFsdWUgaXMgYSBib29sZWFuIHRoYXQgaXMgYHRydWVgIGlmIHRoZSBlbGVtZW50IHJlcXVpcmVkIGh5ZHJhdGlvblxuICAgKiBhbmQgYGZhbHNlYCBpZiBub3QuXG4gICAqXG4gICAqIEByZXR1cm4gQSBwcm9taXNlIG9mIGEgYm9vbGVhbiB0aGF0IHJlc29sdmVzIHRvIHRydWUgb25jZSB0aGUgaHlkcmF0aW9uIGNvbXBsZXRlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgaHlkcmF0aW9uQ29tcGxldGUoKTogUHJvbWlzZTxib29sZWFuPjtcblxuICAvKiogUmV0dXJucyB3aGV0aGVyIGh5ZHJhdGlvbiBpcyByZXF1aXJlZCBhbmQgbm90IGNvbXBsZXRlZC4gKi9cbiAgcHJvdGVjdGVkIGdldCBoeWRyYXRpb25SZXF1aXJlZCgpOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRoaXMgbWl4aW4gZXh0ZW5kcyBhIGJhc2UgY2xhc3Mgd2l0aCBmdW5jdGlvbmFsaXR5IHRvIGNoZWNrIGlmIGh5ZHJhdGlvbiBpcyBjb21wbGV0ZWQuXG4gKiBJdCBhbHNvIGRlbGF5cyBzbG90Y2hhbmdlIGV2ZW50cyB1bnRpbCBoeWRyYXRpb24gaXMgY29tcGxldGUuXG4gKlxuICogQHBhcmFtIGJhc2UgVGhlIGNsYXNzIHRvIGV4dGVuZC5cbiAqIEByZXR1cm5zIEEgY2xhc3MgZXh0ZW5kZWQgd2l0aCB0aGUgaHlkcmF0aW9uIGNoZWNrIGZ1bmN0aW9uYWxpdHkuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJIeWRyYXRpb25NaXhpbiA9IDxUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxMaXRFbGVtZW50Pj4oXG4gIGJhc2U6IFQsXG4pOiBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkh5ZHJhdGlvbk1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiSHlkcmF0aW9uTWl4aW5DbGFzcyBleHRlbmRzIGJhc2UgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkh5ZHJhdGlvbk1peGluVHlwZT4ge1xuICAgIHByaXZhdGUgX2h5ZHJhdGlvblJlcXVpcmVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgX2h5ZHJhdGlvbkNvbXBsZXRlID0gbmV3IFByb21pc2U8Ym9vbGVhbj4oXG4gICAgICAocmVzb2x2ZSkgPT4gKHRoaXMuX3Jlc29sdmVIeWRyYXRpb24gPSByZXNvbHZlKSxcbiAgICApO1xuICAgIHByaXZhdGUgX3Jlc29sdmVIeWRyYXRpb24hOiAoaHlkcmF0aW9uUmVxdWlyZWQ6IGJvb2xlYW4pID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGVsZW1lbnQgaGFzIGNvbXBsZXRlZCBoeWRyYXRpb24uXG4gICAgICogVGhlIFByb21pc2UgdmFsdWUgaXMgYSBib29sZWFuIHRoYXQgaXMgYHRydWVgIGlmIHRoZSBlbGVtZW50IHJlcXVpcmVkIGh5ZHJhdGlvblxuICAgICAqIGFuZCBgZmFsc2VgIGlmIG5vdC5cbiAgICAgKlxuICAgICAqIEByZXR1cm4gQSBwcm9taXNlIG9mIGEgYm9vbGVhbiB0aGF0IHJlc29sdmVzIHRvIHRydWUgb25jZSB0aGUgaHlkcmF0aW9uIGNvbXBsZXRlZC5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGh5ZHJhdGlvbkNvbXBsZXRlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2h5ZHJhdGlvbkNvbXBsZXRlO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIHdoZXRoZXIgaHlkcmF0aW9uIGlzIHJlcXVpcmVkIGFuZCBub3QgY29tcGxldGVkLiAqL1xuICAgIHByb3RlY3RlZCBnZXQgaHlkcmF0aW9uUmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5faHlkcmF0aW9uUmVxdWlyZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBzdXBlciguLi5hcmdzKTtcbiAgICAgIC8vIENoZWNrIHdoZXRoZXIgaHlkcmF0aW9uIGlzIG5lZWRlZCBieSBjaGVja2luZyB3aGV0aGVyIHRoZSBzaGFkb3cgcm9vdFxuICAgICAgLy8gaXMgYXZhaWxhYmxlIGR1cmluZyBjb25zdHJ1Y3Rpb24vdXBncmFkZSBwaGFzZS5cbiAgICAgIHRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkID0gISF0aGlzLnNoYWRvd1Jvb3Q7XG4gICAgICBpZiAoIXRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICAgIHRoaXMuX3Jlc29sdmVIeWRyYXRpb24oZmFsc2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gRHVyaW5nIGh5ZHJhdGlvbiBwaGFzZSwgd2Ugd2FudCB0byBzdXBwcmVzcyBzbG90Y2hhbmdlIGV2ZW50cyBhcyB0aGV5XG4gICAgICAgIC8vIGNhbiBjYXVzZSByZW5kZXIgZGlmZmVyZW5jZXMsIHdoaWNoIHdvdWxkIGJyZWFrIGh5ZHJhdGlvbi4gQWZ0ZXJcbiAgICAgICAgLy8gaHlkcmF0aW9uIGlzIGNvbXBsZXRlLCB3ZSBkaXNwYXRjaCBhIG1hbnVhbCBzbG90Y2hhbmdlIGV2ZW50LCBpZiB0aGVyZVxuICAgICAgICAvLyBhcmUgZWxlbWVudHMgYXNzaWduZWQgdG8gYSBzbG90LlxuICAgICAgICBjb25zdCBzdXBwcmVzc1Nsb3RjaGFuZ2VFdmVudCA9IChldmVudDogRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5faHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZXZlbnRPcHRpb25zOiBFdmVudExpc3RlbmVyT3B0aW9ucyA9IHsgY2FwdHVyZTogdHJ1ZSB9O1xuICAgICAgICBjb25zdCBzbG90cyA9IHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvckFsbCgnc2xvdCcpO1xuICAgICAgICBpZiAoc2xvdHM/Lmxlbmd0aCkge1xuICAgICAgICAgIHNsb3RzLmZvckVhY2goKHNsb3QpID0+XG4gICAgICAgICAgICBzbG90LmFkZEV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCBzdXBwcmVzc1Nsb3RjaGFuZ2VFdmVudCwgZXZlbnRPcHRpb25zKSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PlxuICAgICAgICAgICAgc2xvdHMuZm9yRWFjaCgoc2xvdCkgPT4ge1xuICAgICAgICAgICAgICBzbG90LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCBzdXBwcmVzc1Nsb3RjaGFuZ2VFdmVudCwgZXZlbnRPcHRpb25zKTtcbiAgICAgICAgICAgICAgaWYgKHNsb3QuYXNzaWduZWROb2RlcygpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHNsb3QuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Nsb3RjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIC8vIFdoZW4gaHlkcmF0aW9uIGlzIG5lZWRlZCwgd2Ugd2FpdCB0aGUgaHlkcmF0aW9uIHByb2Nlc3MgdG8gZmluaXNoLCB3aGljaCBpcyBwYXRjaGVkXG4gICAgICAvLyBpbnRvIHRoZSB1cGRhdGUgbWV0aG9kIG9mIHRoZSBMaXRFbGVtZW50IGJhc2UgY2xhc3MuXG4gICAgICBzdXBlci51cGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgICBpZiAodGhpcy5faHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgICAgdGhpcy5faHlkcmF0aW9uUmVxdWlyZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fcmVzb2x2ZUh5ZHJhdGlvbih0cnVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYkh5ZHJhdGlvbk1peGluQ2xhc3MgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkh5ZHJhdGlvbk1peGluVHlwZT4gJiBUO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyQk8sTUFBTSxvQkFBb0IsQ0FDL0IsU0FDa0Q7QUFBQSxFQUNsRCxNQUFlLCtCQUErQixLQUFJO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBZWhELElBQVcsb0JBQWlCO0FBQzFCLGFBQU8sS0FBSztBQUFBLElBQUE7QUFBQTtBQUFBLElBSWQsSUFBYyxvQkFBaUI7QUFDN0IsYUFBTyxLQUFLO0FBQUEsSUFBQTtBQUFBLElBR2QsZUFBc0IsTUFBVztBQUMvQixZQUFNLEdBQUcsSUFBSTtBQXZCUCxXQUFBLHFCQUFxQixJQUFJLFFBQy9CLENBQUMsWUFBYSxLQUFLLG9CQUFvQixPQUFRO0FBeUIvQyxXQUFLLHFCQUFxQixDQUFDLENBQUMsS0FBSztBQUNqQyxVQUFJLENBQUMsS0FBSyxvQkFBb0I7QUFDNUIsYUFBSyxrQkFBa0IsS0FBSztBQUFBLE1BQUEsT0FDdkI7QUFLTCxjQUFNLDBCQUEwQixDQUFDLFVBQXNCO0FBQ3JELGNBQUksS0FBSyxvQkFBb0I7QUFDM0Isa0JBQU0seUJBQUE7QUFBQSxVQUF3QjtBQUFBLFFBQ2hDO0FBRUYsY0FBTSxlQUFxQyxFQUFFLFNBQVMsS0FBQTtBQUN0RCxjQUFNLFFBQVEsS0FBSyxZQUFZLGlCQUFpQixNQUFNO0FBQ3RELFlBQUksT0FBTyxRQUFRO0FBQ2pCLGdCQUFNLFFBQVEsQ0FBQyxTQUNiLEtBQUssaUJBQWlCLGNBQWMseUJBQXlCLFlBQVksQ0FBQztBQUU1RSxlQUFLLGtCQUFrQixLQUFLLE1BQzFCLE1BQU0sUUFBUSxDQUFDLFNBQVE7QUFDckIsaUJBQUssb0JBQW9CLGNBQWMseUJBQXlCLFlBQVk7QUFDNUUsZ0JBQUksS0FBSyxjQUFBLEVBQWdCLFFBQVE7QUFDL0IsbUJBQUssY0FBYyxJQUFJLE1BQU0sY0FBYyxFQUFFLFNBQVMsS0FBQSxDQUFNLENBQUM7QUFBQSxZQUFBO0FBQUEsVUFDL0QsQ0FDRCxDQUFDO0FBQUEsUUFBQTtBQUFBLE1BRU47QUFBQSxJQUNGO0FBQUEsSUFHaUIsT0FBTyxtQkFBdUM7QUFHL0QsWUFBTSxPQUFPLGlCQUFpQjtBQUU5QixVQUFJLEtBQUssb0JBQW9CO0FBQzNCLGFBQUsscUJBQXFCO0FBQzFCLGFBQUssa0JBQWtCLElBQUk7QUFBQSxNQUFBO0FBQUEsSUFDN0I7QUFBQSxFQUNGO0FBRUYsU0FBTztBQUNUOyJ9
57
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHlkcmF0aW9uLW1peGluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvaHlkcmF0aW9uLW1peGluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGl0RWxlbWVudCwgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9yLmpzJztcblxuLy8gRGVmaW5lIHRoZSBpbnRlcmZhY2UgZm9yIHRoZSBtaXhpblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiSHlkcmF0aW9uTWl4aW5UeXBlIHtcbiAgLyoqXG4gICAqIFJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZWxlbWVudCBoYXMgY29tcGxldGVkIGh5ZHJhdGlvbi5cbiAgICogVGhlIFByb21pc2UgdmFsdWUgaXMgYSBib29sZWFuIHRoYXQgaXMgYHRydWVgIGlmIHRoZSBlbGVtZW50IHJlcXVpcmVkIGh5ZHJhdGlvblxuICAgKiBhbmQgYGZhbHNlYCBpZiBub3QuXG4gICAqXG4gICAqIEByZXR1cm4gQSBwcm9taXNlIG9mIGEgYm9vbGVhbiB0aGF0IHJlc29sdmVzIHRvIHRydWUgb25jZSB0aGUgaHlkcmF0aW9uIGNvbXBsZXRlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgaHlkcmF0aW9uQ29tcGxldGUoKTogUHJvbWlzZTxib29sZWFuPjtcblxuICAvKiogUmV0dXJucyB3aGV0aGVyIGh5ZHJhdGlvbiBpcyByZXF1aXJlZCBhbmQgbm90IGNvbXBsZXRlZC4gKi9cbiAgcHJvdGVjdGVkIGdldCBoeWRyYXRpb25SZXF1aXJlZCgpOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRoaXMgbWl4aW4gZXh0ZW5kcyBhIGJhc2UgY2xhc3Mgd2l0aCBmdW5jdGlvbmFsaXR5IHRvIGNoZWNrIGlmIGh5ZHJhdGlvbiBpcyBjb21wbGV0ZWQuXG4gKiBJdCBhbHNvIGRlbGF5cyBzbG90Y2hhbmdlIGV2ZW50cyB1bnRpbCBoeWRyYXRpb24gaXMgY29tcGxldGUuXG4gKlxuICogQHBhcmFtIGJhc2UgVGhlIGNsYXNzIHRvIGV4dGVuZC5cbiAqIEByZXR1cm5zIEEgY2xhc3MgZXh0ZW5kZWQgd2l0aCB0aGUgaHlkcmF0aW9uIGNoZWNrIGZ1bmN0aW9uYWxpdHkuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJIeWRyYXRpb25NaXhpbiA9IDxUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxMaXRFbGVtZW50Pj4oXG4gIGJhc2U6IFQsXG4pOiBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkh5ZHJhdGlvbk1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiSHlkcmF0aW9uTWl4aW5DbGFzcyBleHRlbmRzIGJhc2UgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkh5ZHJhdGlvbk1peGluVHlwZT4ge1xuICAgIHByaXZhdGUgX2h5ZHJhdGlvblJlcXVpcmVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgX2h5ZHJhdGlvbkNvbXBsZXRlID0gbmV3IFByb21pc2U8Ym9vbGVhbj4oXG4gICAgICAocmVzb2x2ZSkgPT4gKHRoaXMuX3Jlc29sdmVIeWRyYXRpb24gPSByZXNvbHZlKSxcbiAgICApO1xuICAgIHByaXZhdGUgX3Jlc29sdmVIeWRyYXRpb24hOiAoaHlkcmF0aW9uUmVxdWlyZWQ6IGJvb2xlYW4pID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGVsZW1lbnQgaGFzIGNvbXBsZXRlZCBoeWRyYXRpb24uXG4gICAgICogVGhlIFByb21pc2UgdmFsdWUgaXMgYSBib29sZWFuIHRoYXQgaXMgYHRydWVgIGlmIHRoZSBlbGVtZW50IHJlcXVpcmVkIGh5ZHJhdGlvblxuICAgICAqIGFuZCBgZmFsc2VgIGlmIG5vdC5cbiAgICAgKlxuICAgICAqIEByZXR1cm4gQSBwcm9taXNlIG9mIGEgYm9vbGVhbiB0aGF0IHJlc29sdmVzIHRvIHRydWUgb25jZSB0aGUgaHlkcmF0aW9uIGNvbXBsZXRlZC5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGh5ZHJhdGlvbkNvbXBsZXRlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2h5ZHJhdGlvbkNvbXBsZXRlO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIHdoZXRoZXIgaHlkcmF0aW9uIGlzIHJlcXVpcmVkIGFuZCBub3QgY29tcGxldGVkLiAqL1xuICAgIHByb3RlY3RlZCBnZXQgaHlkcmF0aW9uUmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5faHlkcmF0aW9uUmVxdWlyZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBzdXBlciguLi5hcmdzKTtcbiAgICAgIC8vIENoZWNrIHdoZXRoZXIgaHlkcmF0aW9uIGlzIG5lZWRlZCBieSBjaGVja2luZyB3aGV0aGVyIHRoZSBzaGFkb3cgcm9vdFxuICAgICAgLy8gaXMgYXZhaWxhYmxlIGR1cmluZyBjb25zdHJ1Y3Rpb24vdXBncmFkZSBwaGFzZS5cbiAgICAgIHRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkID0gISF0aGlzLnNoYWRvd1Jvb3Q7XG4gICAgICBpZiAoIXRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICAgIHRoaXMuX3Jlc29sdmVIeWRyYXRpb24oZmFsc2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gRHVyaW5nIGh5ZHJhdGlvbiBwaGFzZSwgd2Ugd2FudCB0byBzdXBwcmVzcyBzbG90Y2hhbmdlIGV2ZW50cyBhcyB0aGV5XG4gICAgICAgIC8vIGNhbiBjYXVzZSByZW5kZXIgZGlmZmVyZW5jZXMsIHdoaWNoIHdvdWxkIGJyZWFrIGh5ZHJhdGlvbi4gQWZ0ZXJcbiAgICAgICAgLy8gaHlkcmF0aW9uIGlzIGNvbXBsZXRlLCB3ZSBkaXNwYXRjaCBhIG1hbnVhbCBzbG90Y2hhbmdlIGV2ZW50LCBpZiB0aGVyZVxuICAgICAgICAvLyBhcmUgZWxlbWVudHMgYXNzaWduZWQgdG8gYSBzbG90LlxuICAgICAgICBjb25zdCBzdXBwcmVzc1Nsb3RjaGFuZ2VFdmVudCA9IChldmVudDogRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5faHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZXZlbnRPcHRpb25zOiBFdmVudExpc3RlbmVyT3B0aW9ucyA9IHsgY2FwdHVyZTogdHJ1ZSB9O1xuICAgICAgICBjb25zdCBzbG90cyA9IHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvckFsbCgnc2xvdCcpO1xuICAgICAgICBpZiAoc2xvdHM/Lmxlbmd0aCkge1xuICAgICAgICAgIHNsb3RzLmZvckVhY2goKHNsb3QpID0+XG4gICAgICAgICAgICBzbG90LmFkZEV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCBzdXBwcmVzc1Nsb3RjaGFuZ2VFdmVudCwgZXZlbnRPcHRpb25zKSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PlxuICAgICAgICAgICAgc2xvdHMuZm9yRWFjaCgoc2xvdCkgPT4ge1xuICAgICAgICAgICAgICBzbG90LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCBzdXBwcmVzc1Nsb3RjaGFuZ2VFdmVudCwgZXZlbnRPcHRpb25zKTtcbiAgICAgICAgICAgICAgaWYgKHNsb3QuYXNzaWduZWROb2RlcygpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHNsb3QuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Nsb3RjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIC8vIFdoZW4gaHlkcmF0aW9uIGlzIG5lZWRlZCwgd2Ugd2FpdCB0aGUgaHlkcmF0aW9uIHByb2Nlc3MgdG8gZmluaXNoLCB3aGljaCBpcyBwYXRjaGVkXG4gICAgICAvLyBpbnRvIHRoZSB1cGRhdGUgbWV0aG9kIG9mIHRoZSBMaXRFbGVtZW50IGJhc2UgY2xhc3MuXG4gICAgICBzdXBlci51cGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgICBpZiAodGhpcy5faHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgICAgdGhpcy5faHlkcmF0aW9uUmVxdWlyZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fcmVzb2x2ZUh5ZHJhdGlvbih0cnVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYkh5ZHJhdGlvbk1peGluQ2xhc3MgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkh5ZHJhdGlvbk1peGluVHlwZT4gJiBUO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyQmEsTUFBQSxvQkFBb0IsQ0FDL0IsU0FDa0Q7QUFBQSxFQUNsRCxNQUFlLCtCQUErQixLQUFJO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBZWhELElBQVcsb0JBQWlCO0FBQzFCLGFBQU8sS0FBSztBQUFBLElBQUE7QUFBQTtBQUFBLElBSWQsSUFBYyxvQkFBaUI7QUFDN0IsYUFBTyxLQUFLO0FBQUEsSUFBQTtBQUFBLElBR2QsZUFBc0IsTUFBVztBQTNCeEI7QUE0QlAsWUFBTSxHQUFHLElBQUk7QUF2QlAsV0FBQSxxQkFBcUIsSUFBSSxRQUMvQixDQUFDLFlBQWEsS0FBSyxvQkFBb0IsT0FBUTtBQXlCMUMsV0FBQSxxQkFBcUIsQ0FBQyxDQUFDLEtBQUs7QUFDN0IsVUFBQSxDQUFDLEtBQUssb0JBQW9CO0FBQzVCLGFBQUssa0JBQWtCLEtBQUs7QUFBQSxNQUFBLE9BQ3ZCO0FBS0MsY0FBQSwwQkFBMEIsQ0FBQyxVQUFzQjtBQUNyRCxjQUFJLEtBQUssb0JBQW9CO0FBQzNCLGtCQUFNLHlCQUF3QjtBQUFBLFVBQUE7QUFBQSxRQUVsQztBQUNNLGNBQUEsZUFBcUMsRUFBRSxTQUFTO0FBQ3RELGNBQU0sU0FBUSxVQUFLLGVBQUwsbUJBQWlCLGlCQUFpQjtBQUNoRCxZQUFJLCtCQUFPLFFBQVE7QUFDWCxnQkFBQSxRQUFRLENBQUMsU0FDYixLQUFLLGlCQUFpQixjQUFjLHlCQUF5QixZQUFZLENBQUM7QUFFNUUsZUFBSyxrQkFBa0IsS0FBSyxNQUMxQixNQUFNLFFBQVEsQ0FBQyxTQUFRO0FBQ2hCLGlCQUFBLG9CQUFvQixjQUFjLHlCQUF5QixZQUFZO0FBQ3hFLGdCQUFBLEtBQUssZ0JBQWdCLFFBQVE7QUFDMUIsbUJBQUEsY0FBYyxJQUFJLE1BQU0sY0FBYyxFQUFFLFNBQVMsS0FBQSxDQUFNLENBQUM7QUFBQSxZQUFBO0FBQUEsVUFDL0QsQ0FDRCxDQUFDO0FBQUEsUUFBQTtBQUFBLE1BRU47QUFBQSxJQUNGO0FBQUEsSUFHaUIsT0FBTyxtQkFBdUM7QUFHL0QsWUFBTSxPQUFPLGlCQUFpQjtBQUU5QixVQUFJLEtBQUssb0JBQW9CO0FBQzNCLGFBQUsscUJBQXFCO0FBQzFCLGFBQUssa0JBQWtCLElBQUk7QUFBQSxNQUFBO0FBQUEsSUFDN0I7QUFBQSxFQUNGO0FBRUssU0FBQTtBQUNUOyJ9