@sbb-esta/lyne-elements 1.16.0 → 2.0.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 (675) hide show
  1. package/accordion/accordion.d.ts +4 -1
  2. package/accordion/accordion.d.ts.map +1 -1
  3. package/accordion.js +31 -22
  4. package/action-group/action-group.d.ts +6 -4
  5. package/action-group/action-group.d.ts.map +1 -1
  6. package/action-group.js +20 -17
  7. package/alert/alert/alert.d.ts +7 -23
  8. package/alert/alert/alert.d.ts.map +1 -1
  9. package/alert/alert-group/alert-group.d.ts +0 -4
  10. package/alert/alert-group/alert-group.d.ts.map +1 -1
  11. package/alert/alert-group.js +46 -47
  12. package/alert/alert.js +74 -132
  13. package/animation.css +4 -8
  14. package/autocomplete/autocomplete-base-element.d.ts +7 -6
  15. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  16. package/autocomplete/autocomplete.d.ts +0 -1
  17. package/autocomplete/autocomplete.d.ts.map +1 -1
  18. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +0 -1
  19. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  20. package/autocomplete-grid/autocomplete-grid-button.js +11 -11
  21. package/autocomplete-grid/autocomplete-grid.js +0 -3
  22. package/autocomplete.js +68 -67
  23. package/button/accent-button/accent-button.d.ts +19 -0
  24. package/button/accent-button/accent-button.d.ts.map +1 -0
  25. package/button/accent-button-link/accent-button-link.d.ts +19 -0
  26. package/button/accent-button-link/accent-button-link.d.ts.map +1 -0
  27. package/button/accent-button-link.d.ts +2 -0
  28. package/button/accent-button-link.d.ts.map +1 -0
  29. package/button/accent-button-link.js +17 -0
  30. package/button/accent-button-static/accent-button-static.d.ts +19 -0
  31. package/button/accent-button-static/accent-button-static.d.ts.map +1 -0
  32. package/button/accent-button-static.d.ts +2 -0
  33. package/button/accent-button-static.d.ts.map +1 -0
  34. package/button/accent-button-static.js +17 -0
  35. package/button/accent-button.d.ts +2 -0
  36. package/button/accent-button.d.ts.map +1 -0
  37. package/button/accent-button.js +17 -0
  38. package/button/common/button-common.d.ts.map +1 -1
  39. package/button/common.d.ts.map +1 -1
  40. package/button/common.js +20 -16
  41. package/button/mini-button/mini-button.d.ts +4 -3
  42. package/button/mini-button/mini-button.d.ts.map +1 -1
  43. package/button/mini-button-group/mini-button-group.d.ts +4 -1
  44. package/button/mini-button-group/mini-button-group.d.ts.map +1 -1
  45. package/button/mini-button-group.js +12 -8
  46. package/button/mini-button.d.ts +0 -1
  47. package/button/mini-button.d.ts.map +1 -1
  48. package/button/mini-button.js +10 -20
  49. package/button.d.ts +3 -3
  50. package/button.d.ts.map +1 -1
  51. package/button.js +3 -3
  52. package/calendar.js +25 -25
  53. package/card/card/card.d.ts +4 -1
  54. package/card/card/card.d.ts.map +1 -1
  55. package/card/card.js +10 -6
  56. package/checkbox/checkbox/checkbox.d.ts +4 -6
  57. package/checkbox/checkbox/checkbox.d.ts.map +1 -1
  58. package/checkbox/checkbox-group/checkbox-group.d.ts +4 -1
  59. package/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  60. package/checkbox/checkbox-group.js +14 -10
  61. package/checkbox/checkbox-panel/checkbox-panel.d.ts +4 -4
  62. package/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
  63. package/checkbox/checkbox-panel.js +21 -18
  64. package/checkbox/checkbox.js +28 -26
  65. package/{chip/chip.d.ts → chip-label/chip-label.d.ts} +4 -4
  66. package/chip-label/chip-label.d.ts.map +1 -0
  67. package/chip-label.d.ts +2 -0
  68. package/chip-label.d.ts.map +1 -0
  69. package/chip-label.js +54 -0
  70. package/clock.js +1 -1
  71. package/container/container.js +21 -21
  72. package/container/sticky-bar/sticky-bar.d.ts +1 -0
  73. package/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  74. package/container/sticky-bar.js +20 -12
  75. package/core/base-elements/button-base-element.d.ts +27 -18
  76. package/core/base-elements/button-base-element.d.ts.map +1 -1
  77. package/core/base-elements/open-close-base-element.d.ts.map +1 -1
  78. package/core/base-elements.js +135 -138
  79. package/core/datetime/date-adapter.d.ts +2 -1
  80. package/core/datetime/date-adapter.d.ts.map +1 -1
  81. package/core/datetime/native-date-adapter.d.ts +1 -1
  82. package/core/datetime/native-date-adapter.d.ts.map +1 -1
  83. package/core/datetime.js +29 -28
  84. package/core/dom/animation.d.ts +2 -0
  85. package/core/dom/animation.d.ts.map +1 -0
  86. package/core/dom/lean-context.d.ts +5 -0
  87. package/core/dom/lean-context.d.ts.map +1 -0
  88. package/core/dom.d.ts +2 -2
  89. package/core/dom.d.ts.map +1 -1
  90. package/core/dom.js +50 -55
  91. package/core/eventing/form-element-handlers.d.ts +0 -7
  92. package/core/eventing/form-element-handlers.d.ts.map +1 -1
  93. package/core/eventing.d.ts +0 -1
  94. package/core/eventing.d.ts.map +1 -1
  95. package/core/eventing.js +28 -49
  96. package/core/i18n/i18n.d.ts +4 -2
  97. package/core/i18n/i18n.d.ts.map +1 -1
  98. package/core/i18n.js +147 -140
  99. package/core/mixins/disabled-mixin.d.ts +2 -7
  100. package/core/mixins/disabled-mixin.d.ts.map +1 -1
  101. package/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  102. package/core/mixins/form-associated-radio-button-mixin.d.ts +35 -0
  103. package/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -0
  104. package/core/mixins.d.ts +1 -0
  105. package/core/mixins.d.ts.map +1 -1
  106. package/core/mixins.js +347 -220
  107. package/core/styles/_index.scss +1 -0
  108. package/core/styles/core.scss +150 -0
  109. package/core/styles/image.scss +66 -0
  110. package/core/styles/mixins/animation.scss +2 -4
  111. package/core/styles/mixins/buttons.scss +7 -4
  112. package/core/styles/mixins/card.scss +1 -1
  113. package/core/styles/mixins/chip.scss +35 -35
  114. package/core/styles/mixins/image.scss +34 -0
  115. package/core/styles/mixins/overlay.scss +1 -1
  116. package/core/styles/mixins/panel.scss +1 -1
  117. package/core/styles/standard-theme.scss +1 -0
  118. package/core/styles/table.scss +4 -0
  119. package/core/testing/event-spy.d.ts +2 -1
  120. package/core/testing/event-spy.d.ts.map +1 -1
  121. package/core/testing.d.ts +0 -1
  122. package/core/testing.d.ts.map +1 -1
  123. package/core/testing.js +48 -57
  124. package/core.css +113 -0
  125. package/custom-elements.json +25946 -21671
  126. package/datepicker/common/datepicker-button.d.ts +3 -5
  127. package/datepicker/common/datepicker-button.d.ts.map +1 -1
  128. package/datepicker/common.js +30 -29
  129. package/datepicker/datepicker/datepicker.d.ts +25 -72
  130. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  131. package/datepicker/datepicker-next-day/datepicker-next-day.d.ts +1 -3
  132. package/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
  133. package/datepicker/datepicker-next-day.js +10 -12
  134. package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts +1 -3
  135. package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
  136. package/datepicker/datepicker-previous-day.js +11 -13
  137. package/datepicker/datepicker.js +129 -157
  138. package/development/accordion/accordion.d.ts +4 -1
  139. package/development/accordion/accordion.d.ts.map +1 -1
  140. package/development/accordion.js +16 -5
  141. package/development/action-group/action-group.d.ts +6 -4
  142. package/development/action-group/action-group.d.ts.map +1 -1
  143. package/development/action-group.js +10 -7
  144. package/development/alert/alert/alert.d.ts +7 -23
  145. package/development/alert/alert/alert.d.ts.map +1 -1
  146. package/development/alert/alert-group/alert-group.d.ts +0 -4
  147. package/development/alert/alert-group/alert-group.d.ts.map +1 -1
  148. package/development/alert/alert-group.js +10 -12
  149. package/development/alert/alert.js +38 -122
  150. package/development/autocomplete/autocomplete-base-element.d.ts +7 -6
  151. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  152. package/development/autocomplete/autocomplete.d.ts +0 -1
  153. package/development/autocomplete/autocomplete.d.ts.map +1 -1
  154. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +0 -1
  155. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  156. package/development/autocomplete-grid/autocomplete-grid-button.js +6 -6
  157. package/development/autocomplete-grid/autocomplete-grid.js +1 -7
  158. package/development/autocomplete.js +23 -19
  159. package/development/button/accent-button/accent-button.d.ts +19 -0
  160. package/development/button/accent-button/accent-button.d.ts.map +1 -0
  161. package/development/button/accent-button-link/accent-button-link.d.ts +19 -0
  162. package/development/button/accent-button-link/accent-button-link.d.ts.map +1 -0
  163. package/development/button/accent-button-link.d.ts +2 -0
  164. package/development/button/accent-button-link.d.ts.map +1 -0
  165. package/development/button/accent-button-link.js +25 -0
  166. package/development/button/accent-button-static/accent-button-static.d.ts +19 -0
  167. package/development/button/accent-button-static/accent-button-static.d.ts.map +1 -0
  168. package/development/button/accent-button-static.d.ts +2 -0
  169. package/development/button/accent-button-static.d.ts.map +1 -0
  170. package/development/button/accent-button-static.js +25 -0
  171. package/development/button/accent-button.d.ts +2 -0
  172. package/development/button/accent-button.d.ts.map +1 -0
  173. package/development/button/accent-button.js +25 -0
  174. package/development/button/common/button-common.d.ts.map +1 -1
  175. package/development/button/common.d.ts.map +1 -1
  176. package/development/button/common.js +20 -16
  177. package/development/button/mini-button/mini-button.d.ts +4 -3
  178. package/development/button/mini-button/mini-button.d.ts.map +1 -1
  179. package/development/button/mini-button-group/mini-button-group.d.ts +4 -1
  180. package/development/button/mini-button-group/mini-button-group.d.ts.map +1 -1
  181. package/development/button/mini-button-group.js +7 -3
  182. package/development/button/mini-button.d.ts +0 -1
  183. package/development/button/mini-button.d.ts.map +1 -1
  184. package/development/button/mini-button.js +14 -32
  185. package/development/button.d.ts +3 -3
  186. package/development/button.d.ts.map +1 -1
  187. package/development/button.js +3 -3
  188. package/development/calendar.js +1 -1
  189. package/development/card/card/card.d.ts +4 -1
  190. package/development/card/card/card.d.ts.map +1 -1
  191. package/development/card/card.js +8 -4
  192. package/development/checkbox/checkbox/checkbox.d.ts +4 -6
  193. package/development/checkbox/checkbox/checkbox.d.ts.map +1 -1
  194. package/development/checkbox/checkbox-group/checkbox-group.d.ts +4 -1
  195. package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  196. package/development/checkbox/checkbox-group.js +7 -3
  197. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts +4 -4
  198. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
  199. package/development/checkbox/checkbox-panel.js +7 -4
  200. package/development/checkbox/checkbox.js +8 -6
  201. package/development/{chip/chip.d.ts → chip-label/chip-label.d.ts} +4 -4
  202. package/development/chip-label/chip-label.d.ts.map +1 -0
  203. package/development/chip-label.d.ts +2 -0
  204. package/development/chip-label.d.ts.map +1 -0
  205. package/development/{chip.js → chip-label.js} +26 -26
  206. package/development/clock.js +1 -1
  207. package/development/container/container.js +8 -12
  208. package/development/container/sticky-bar/sticky-bar.d.ts +1 -0
  209. package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  210. package/development/container/sticky-bar.js +18 -10
  211. package/development/core/base-elements/button-base-element.d.ts +27 -18
  212. package/development/core/base-elements/button-base-element.d.ts.map +1 -1
  213. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
  214. package/development/core/base-elements.js +66 -74
  215. package/development/core/datetime/date-adapter.d.ts +2 -1
  216. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  217. package/development/core/datetime/native-date-adapter.d.ts +1 -1
  218. package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
  219. package/development/core/datetime.js +4 -3
  220. package/development/core/dom/animation.d.ts +2 -0
  221. package/development/core/dom/animation.d.ts.map +1 -0
  222. package/development/core/dom/lean-context.d.ts +5 -0
  223. package/development/core/dom/lean-context.d.ts.map +1 -0
  224. package/development/core/dom.d.ts +2 -2
  225. package/development/core/dom.d.ts.map +1 -1
  226. package/development/core/dom.js +13 -21
  227. package/development/core/eventing/form-element-handlers.d.ts +0 -7
  228. package/development/core/eventing/form-element-handlers.d.ts.map +1 -1
  229. package/development/core/eventing.d.ts +0 -1
  230. package/development/core/eventing.d.ts.map +1 -1
  231. package/development/core/eventing.js +1 -25
  232. package/development/core/i18n/i18n.d.ts +4 -2
  233. package/development/core/i18n/i18n.d.ts.map +1 -1
  234. package/development/core/i18n.js +27 -23
  235. package/development/core/mixins/disabled-mixin.d.ts +2 -7
  236. package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
  237. package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  238. package/development/core/mixins/form-associated-radio-button-mixin.d.ts +35 -0
  239. package/development/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -0
  240. package/development/core/mixins.d.ts +1 -0
  241. package/development/core/mixins.d.ts.map +1 -1
  242. package/development/core/mixins.js +221 -30
  243. package/development/core/testing/event-spy.d.ts +2 -1
  244. package/development/core/testing/event-spy.d.ts.map +1 -1
  245. package/development/core/testing.d.ts +0 -1
  246. package/development/core/testing.d.ts.map +1 -1
  247. package/development/core/testing.js +4 -15
  248. package/development/datepicker/common/datepicker-button.d.ts +3 -5
  249. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  250. package/development/datepicker/common.js +13 -12
  251. package/development/datepicker/datepicker/datepicker.d.ts +25 -72
  252. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  253. package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts +1 -3
  254. package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
  255. package/development/datepicker/datepicker-next-day.js +9 -15
  256. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts +1 -3
  257. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
  258. package/development/datepicker/datepicker-previous-day.js +9 -15
  259. package/development/datepicker/datepicker.js +74 -115
  260. package/development/dialog/dialog/dialog.d.ts +3 -0
  261. package/development/dialog/dialog/dialog.d.ts.map +1 -1
  262. package/development/dialog/dialog-title.js +2 -1
  263. package/development/dialog/dialog.js +46 -39
  264. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts +7 -1
  265. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  266. package/development/expansion-panel/expansion-panel-header.js +3 -3
  267. package/development/expansion-panel/expansion-panel.js +32 -17
  268. package/development/file-selector/common/file-selector-common.d.ts +23 -0
  269. package/development/file-selector/common/file-selector-common.d.ts.map +1 -0
  270. package/development/file-selector/common.d.ts +2 -0
  271. package/development/file-selector/common.d.ts.map +1 -0
  272. package/development/file-selector/common.js +382 -0
  273. package/development/file-selector/file-selector/file-selector.d.ts +24 -0
  274. package/development/file-selector/file-selector/file-selector.d.ts.map +1 -0
  275. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.d.ts +33 -0
  276. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.d.ts.map +1 -0
  277. package/development/file-selector/file-selector-dropzone.d.ts +2 -0
  278. package/development/file-selector/file-selector-dropzone.d.ts.map +1 -0
  279. package/development/file-selector/file-selector-dropzone.js +181 -0
  280. package/development/file-selector/file-selector.d.ts +1 -87
  281. package/development/file-selector/file-selector.d.ts.map +1 -1
  282. package/development/file-selector/file-selector.js +52 -0
  283. package/development/file-selector.d.ts +2 -0
  284. package/development/file-selector.d.ts.map +1 -1
  285. package/development/file-selector.js +4 -552
  286. package/development/flip-card/flip-card-details.js +1 -1
  287. package/development/flip-card/flip-card-summary.js +3 -11
  288. package/development/flip-card/flip-card.js +6 -6
  289. package/development/form-field/form-field/form-field.d.ts +5 -10
  290. package/development/form-field/form-field/form-field.d.ts.map +1 -1
  291. package/development/form-field/form-field-clear.js +6 -6
  292. package/development/form-field/form-field.js +32 -40
  293. package/development/header/common.js +2 -2
  294. package/development/header/header/header.d.ts +5 -3
  295. package/development/header/header/header.d.ts.map +1 -1
  296. package/development/header/header.js +15 -20
  297. package/development/image/image.d.ts +0 -30
  298. package/development/image/image.d.ts.map +1 -1
  299. package/development/image.js +62 -273
  300. package/development/journey-header/journey-header.d.ts +4 -1
  301. package/development/journey-header/journey-header.d.ts.map +1 -1
  302. package/development/journey-header.js +7 -3
  303. package/development/lead-container.js +2 -10
  304. package/development/link/common/link-common.d.ts.map +1 -1
  305. package/development/link/common.js +9 -8
  306. package/development/link-list/common/link-list-base.d.ts +1 -0
  307. package/development/link-list/common/link-list-base.d.ts.map +1 -1
  308. package/development/link-list/common.js +4 -2
  309. package/development/link-list/link-list-anchor.js +4 -4
  310. package/development/loading-indicator/loading-indicator.d.ts +1 -3
  311. package/development/loading-indicator/loading-indicator.d.ts.map +1 -1
  312. package/development/loading-indicator-circle/loading-indicator-circle.d.ts +16 -0
  313. package/development/loading-indicator-circle/loading-indicator-circle.d.ts.map +1 -0
  314. package/development/loading-indicator-circle.d.ts +2 -0
  315. package/development/loading-indicator-circle.d.ts.map +1 -0
  316. package/development/loading-indicator-circle.js +146 -0
  317. package/development/loading-indicator.js +81 -182
  318. package/development/map-container/map-container.d.ts.map +1 -1
  319. package/development/map-container.js +5 -5
  320. package/development/menu/common.js +5 -5
  321. package/development/menu/menu/menu.d.ts +3 -0
  322. package/development/menu/menu/menu.d.ts.map +1 -1
  323. package/development/menu/menu.js +39 -24
  324. package/development/message.js +4 -2
  325. package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
  326. package/development/navigation/common.js +9 -5
  327. package/development/navigation/navigation/navigation.d.ts +3 -0
  328. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  329. package/development/navigation/navigation-list/navigation-list.d.ts.map +1 -1
  330. package/development/navigation/navigation-list.js +3 -2
  331. package/development/navigation/navigation-marker/navigation-marker.d.ts +2 -1
  332. package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  333. package/development/navigation/navigation-marker.js +6 -4
  334. package/development/navigation/navigation-section/navigation-section.d.ts +3 -0
  335. package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  336. package/development/navigation/navigation-section.js +38 -22
  337. package/development/navigation/navigation.js +42 -27
  338. package/development/notification/notification.d.ts +6 -2
  339. package/development/notification/notification.d.ts.map +1 -1
  340. package/development/notification.js +27 -21
  341. package/development/option/option/option-base-element.d.ts +0 -7
  342. package/development/option/option/option-base-element.d.ts.map +1 -1
  343. package/development/option/option.js +5 -26
  344. package/development/overlay/overlay-base-element.d.ts +2 -0
  345. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  346. package/development/overlay/overlay.d.ts +3 -0
  347. package/development/overlay/overlay.d.ts.map +1 -1
  348. package/development/overlay.js +43 -31
  349. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  350. package/development/paginator/common.js +7 -3
  351. package/development/paginator/paginator.js +1 -1
  352. package/development/popover/popover/popover.d.ts +3 -0
  353. package/development/popover/popover/popover.d.ts.map +1 -1
  354. package/development/popover/popover-trigger.js +9 -9
  355. package/development/popover/popover.js +41 -26
  356. package/development/radio-button/common/radio-button-common.d.ts +3 -10
  357. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  358. package/development/radio-button/common.js +44 -121
  359. package/development/radio-button/radio-button/radio-button.d.ts +9 -1
  360. package/development/radio-button/radio-button/radio-button.d.ts.map +1 -1
  361. package/development/radio-button/radio-button-group/radio-button-group.d.ts +19 -26
  362. package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  363. package/development/radio-button/radio-button-group.js +87 -123
  364. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +19 -1
  365. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
  366. package/development/radio-button/radio-button-panel.js +35 -15
  367. package/development/radio-button/radio-button.js +11 -15
  368. package/development/select/select.d.ts +3 -9
  369. package/development/select/select.d.ts.map +1 -1
  370. package/development/select.js +27 -25
  371. package/development/selection-expansion-panel/selection-expansion-panel.d.ts +4 -1
  372. package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  373. package/development/selection-expansion-panel.js +28 -16
  374. package/development/skiplink-list/skiplink-list.d.ts.map +1 -1
  375. package/development/skiplink-list.js +3 -2
  376. package/development/slider/slider.d.ts +0 -1
  377. package/development/slider/slider.d.ts.map +1 -1
  378. package/development/slider.js +2 -2
  379. package/development/stepper/step-label/step-label.d.ts +0 -2
  380. package/development/stepper/step-label/step-label.d.ts.map +1 -1
  381. package/development/stepper/step-label.js +10 -11
  382. package/development/stepper/step.js +1 -1
  383. package/development/stepper/stepper/stepper.d.ts +4 -1
  384. package/development/stepper/stepper/stepper.d.ts.map +1 -1
  385. package/development/stepper/stepper.js +9 -7
  386. package/development/tabs/tab-group/tab-group.d.ts +4 -1
  387. package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
  388. package/development/tabs/tab-group.js +8 -4
  389. package/development/tabs/tab-label.js +1 -1
  390. package/development/tag/tag/tag.d.ts +4 -1
  391. package/development/tag/tag/tag.d.ts.map +1 -1
  392. package/development/tag/tag-group/tag-group.d.ts +5 -2
  393. package/development/tag/tag-group/tag-group.d.ts.map +1 -1
  394. package/development/tag/tag-group.js +7 -4
  395. package/development/tag/tag.js +16 -12
  396. package/development/teaser/teaser.d.ts +2 -2
  397. package/development/teaser/teaser.d.ts.map +1 -1
  398. package/development/teaser-hero/teaser-hero.d.ts +2 -6
  399. package/development/teaser-hero/teaser-hero.d.ts.map +1 -1
  400. package/development/teaser-hero.js +9 -60
  401. package/development/teaser-product/common.js +7 -14
  402. package/development/teaser-product/teaser-product.js +1 -21
  403. package/development/teaser.js +14 -32
  404. package/development/time-input/time-input.d.ts +3 -6
  405. package/development/time-input/time-input.d.ts.map +1 -1
  406. package/development/time-input.js +33 -27
  407. package/development/toast/toast.d.ts +3 -0
  408. package/development/toast/toast.d.ts.map +1 -1
  409. package/development/toast.js +27 -13
  410. package/development/toggle/toggle/toggle.d.ts +4 -8
  411. package/development/toggle/toggle/toggle.d.ts.map +1 -1
  412. package/development/toggle/toggle.js +9 -12
  413. package/development/toggle-check/toggle-check.d.ts +4 -6
  414. package/development/toggle-check/toggle-check.d.ts.map +1 -1
  415. package/development/toggle-check.js +9 -7
  416. package/development/train/train/train.d.ts.map +1 -1
  417. package/development/train/train-blocked-passage.js +2 -2
  418. package/development/train/train-formation/train-formation.d.ts +3 -11
  419. package/development/train/train-formation/train-formation.d.ts.map +1 -1
  420. package/development/train/train-formation.js +43 -74
  421. package/development/train/train-wagon/train-wagon.d.ts +11 -8
  422. package/development/train/train-wagon/train-wagon.d.ts.map +1 -1
  423. package/development/train/train-wagon.js +149 -124
  424. package/development/train/train.js +35 -112
  425. package/development/visual-checkbox/visual-checkbox.d.ts +4 -1
  426. package/development/visual-checkbox/visual-checkbox.d.ts.map +1 -1
  427. package/development/visual-checkbox.js +7 -3
  428. package/dialog/dialog/dialog.d.ts +3 -0
  429. package/dialog/dialog/dialog.d.ts.map +1 -1
  430. package/dialog/dialog-title.js +9 -9
  431. package/dialog/dialog.js +56 -51
  432. package/expansion-panel/expansion-panel/expansion-panel.d.ts +7 -1
  433. package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  434. package/expansion-panel/expansion-panel-header.js +1 -1
  435. package/expansion-panel/expansion-panel.js +41 -28
  436. package/file-selector/common/file-selector-common.d.ts +23 -0
  437. package/file-selector/common/file-selector-common.d.ts.map +1 -0
  438. package/file-selector/common.d.ts +2 -0
  439. package/file-selector/common.d.ts.map +1 -0
  440. package/file-selector/common.js +210 -0
  441. package/file-selector/file-selector/file-selector.d.ts +24 -0
  442. package/file-selector/file-selector/file-selector.d.ts.map +1 -0
  443. package/file-selector/file-selector-dropzone/file-selector-dropzone.d.ts +33 -0
  444. package/file-selector/file-selector-dropzone/file-selector-dropzone.d.ts.map +1 -0
  445. package/file-selector/file-selector-dropzone.d.ts +2 -0
  446. package/file-selector/file-selector-dropzone.d.ts.map +1 -0
  447. package/file-selector/file-selector-dropzone.js +97 -0
  448. package/file-selector/file-selector.d.ts +1 -87
  449. package/file-selector/file-selector.d.ts.map +1 -1
  450. package/file-selector/file-selector.js +44 -0
  451. package/file-selector.d.ts +2 -0
  452. package/file-selector.d.ts.map +1 -1
  453. package/file-selector.js +3 -301
  454. package/flip-card/flip-card-details.js +5 -5
  455. package/flip-card/flip-card-summary.js +7 -7
  456. package/flip-card/flip-card.js +9 -9
  457. package/form-field/form-field/form-field.d.ts +5 -10
  458. package/form-field/form-field/form-field.d.ts.map +1 -1
  459. package/form-field/form-field-clear.js +12 -12
  460. package/form-field/form-field.js +143 -141
  461. package/header/common.js +10 -10
  462. package/header/header/header.d.ts +5 -3
  463. package/header/header/header.d.ts.map +1 -1
  464. package/header/header.js +28 -31
  465. package/image/image.d.ts +0 -30
  466. package/image/image.d.ts.map +1 -1
  467. package/image.js +187 -281
  468. package/index.d.ts +13 -9
  469. package/index.js +13 -9
  470. package/journey-header/journey-header.d.ts +4 -1
  471. package/journey-header/journey-header.d.ts.map +1 -1
  472. package/journey-header.js +29 -25
  473. package/lead-container.js +5 -5
  474. package/link/common/link-common.d.ts.map +1 -1
  475. package/link/common.js +18 -16
  476. package/link-list/common/link-list-base.d.ts +1 -0
  477. package/link-list/common/link-list-base.d.ts.map +1 -1
  478. package/link-list/common.js +11 -9
  479. package/link-list/link-list-anchor.js +8 -8
  480. package/loading-indicator/loading-indicator.d.ts +1 -3
  481. package/loading-indicator/loading-indicator.d.ts.map +1 -1
  482. package/loading-indicator-circle/loading-indicator-circle.d.ts +16 -0
  483. package/loading-indicator-circle/loading-indicator-circle.d.ts.map +1 -0
  484. package/loading-indicator-circle.d.ts +2 -0
  485. package/loading-indicator-circle.d.ts.map +1 -0
  486. package/loading-indicator-circle.js +46 -0
  487. package/loading-indicator.js +41 -51
  488. package/map-container/map-container.d.ts.map +1 -1
  489. package/map-container.js +7 -7
  490. package/menu/common.js +8 -8
  491. package/menu/menu/menu.d.ts +3 -0
  492. package/menu/menu/menu.d.ts.map +1 -1
  493. package/menu/menu.js +52 -43
  494. package/message.js +12 -12
  495. package/navigation/common/navigation-action-common.d.ts.map +1 -1
  496. package/navigation/common.js +10 -6
  497. package/navigation/navigation/navigation.d.ts +3 -0
  498. package/navigation/navigation/navigation.d.ts.map +1 -1
  499. package/navigation/navigation-list/navigation-list.d.ts.map +1 -1
  500. package/navigation/navigation-list.js +17 -16
  501. package/navigation/navigation-marker/navigation-marker.d.ts +2 -1
  502. package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  503. package/navigation/navigation-marker.js +12 -10
  504. package/navigation/navigation-section/navigation-section.d.ts +3 -0
  505. package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  506. package/navigation/navigation-section.js +46 -37
  507. package/navigation/navigation.js +30 -21
  508. package/notification/notification.d.ts +6 -2
  509. package/notification/notification.d.ts.map +1 -1
  510. package/notification.js +55 -51
  511. package/option/option/option-base-element.d.ts +0 -7
  512. package/option/option/option-base-element.d.ts.map +1 -1
  513. package/option/option.js +110 -125
  514. package/overlay/overlay-base-element.d.ts +2 -0
  515. package/overlay/overlay-base-element.d.ts.map +1 -1
  516. package/overlay/overlay.d.ts +3 -0
  517. package/overlay/overlay.d.ts.map +1 -1
  518. package/overlay.js +83 -77
  519. package/package.json +40 -25
  520. package/paginator/common/paginator-common.d.ts.map +1 -1
  521. package/paginator/common.js +21 -17
  522. package/paginator/paginator.js +1 -1
  523. package/popover/popover/popover.d.ts +3 -0
  524. package/popover/popover/popover.d.ts.map +1 -1
  525. package/popover/popover-trigger.js +6 -6
  526. package/popover/popover.js +114 -109
  527. package/radio-button/common/radio-button-common.d.ts +3 -10
  528. package/radio-button/common/radio-button-common.d.ts.map +1 -1
  529. package/radio-button/common.js +43 -90
  530. package/radio-button/radio-button/radio-button.d.ts +9 -1
  531. package/radio-button/radio-button/radio-button.d.ts.map +1 -1
  532. package/radio-button/radio-button-group/radio-button-group.d.ts +19 -26
  533. package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  534. package/radio-button/radio-button-group.js +112 -131
  535. package/radio-button/radio-button-panel/radio-button-panel.d.ts +19 -1
  536. package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
  537. package/radio-button/radio-button-panel.js +56 -44
  538. package/radio-button/radio-button.js +34 -38
  539. package/select/select.d.ts +3 -9
  540. package/select/select.d.ts.map +1 -1
  541. package/select.js +65 -66
  542. package/selection-expansion-panel/selection-expansion-panel.d.ts +4 -1
  543. package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  544. package/selection-expansion-panel.js +41 -31
  545. package/skiplink-list/skiplink-list.d.ts.map +1 -1
  546. package/skiplink-list.js +14 -13
  547. package/slider/slider.d.ts +0 -1
  548. package/slider/slider.d.ts.map +1 -1
  549. package/slider.js +1 -1
  550. package/standard-theme.css +238 -8
  551. package/stepper/step-label/step-label.d.ts +0 -2
  552. package/stepper/step-label/step-label.d.ts.map +1 -1
  553. package/stepper/step-label.js +6 -6
  554. package/stepper/step.js +4 -4
  555. package/stepper/stepper/stepper.d.ts +4 -1
  556. package/stepper/stepper/stepper.d.ts.map +1 -1
  557. package/stepper/stepper.js +22 -19
  558. package/table.css +15 -0
  559. package/tabs/tab-group/tab-group.d.ts +4 -1
  560. package/tabs/tab-group/tab-group.d.ts.map +1 -1
  561. package/tabs/tab-group.js +24 -20
  562. package/tabs/tab-label.js +1 -1
  563. package/tag/tag/tag.d.ts +4 -1
  564. package/tag/tag/tag.d.ts.map +1 -1
  565. package/tag/tag-group/tag-group.d.ts +5 -2
  566. package/tag/tag-group/tag-group.d.ts.map +1 -1
  567. package/tag/tag-group.js +13 -10
  568. package/tag/tag.js +25 -21
  569. package/teaser/teaser.d.ts +2 -2
  570. package/teaser/teaser.d.ts.map +1 -1
  571. package/teaser-hero/teaser-hero.d.ts +2 -6
  572. package/teaser-hero/teaser-hero.d.ts.map +1 -1
  573. package/teaser-hero.js +32 -57
  574. package/teaser-product/common.js +1 -1
  575. package/teaser-product/teaser-product.js +13 -13
  576. package/teaser.js +28 -28
  577. package/time-input/time-input.d.ts +3 -6
  578. package/time-input/time-input.d.ts.map +1 -1
  579. package/time-input.js +56 -55
  580. package/toast/toast.d.ts +3 -0
  581. package/toast/toast.d.ts.map +1 -1
  582. package/toast.js +51 -42
  583. package/toggle/toggle/toggle.d.ts +4 -8
  584. package/toggle/toggle/toggle.d.ts.map +1 -1
  585. package/toggle/toggle.js +48 -48
  586. package/toggle-check/toggle-check.d.ts +4 -6
  587. package/toggle-check/toggle-check.d.ts.map +1 -1
  588. package/toggle-check.js +23 -21
  589. package/train/train/train.d.ts.map +1 -1
  590. package/train/train-blocked-passage.js +1 -1
  591. package/train/train-formation/train-formation.d.ts +3 -11
  592. package/train/train-formation/train-formation.d.ts.map +1 -1
  593. package/train/train-formation.js +47 -65
  594. package/train/train-wagon/train-wagon.d.ts +11 -8
  595. package/train/train-wagon/train-wagon.d.ts.map +1 -1
  596. package/train/train-wagon.js +123 -134
  597. package/train/train.js +74 -78
  598. package/visual-checkbox/visual-checkbox.d.ts +4 -1
  599. package/visual-checkbox/visual-checkbox.d.ts.map +1 -1
  600. package/visual-checkbox.js +21 -17
  601. package/button/mini-button/mini-button-base-element.d.ts +0 -8
  602. package/button/mini-button/mini-button-base-element.d.ts.map +0 -1
  603. package/button/tertiary-button/tertiary-button.d.ts +0 -19
  604. package/button/tertiary-button/tertiary-button.d.ts.map +0 -1
  605. package/button/tertiary-button-link/tertiary-button-link.d.ts +0 -19
  606. package/button/tertiary-button-link/tertiary-button-link.d.ts.map +0 -1
  607. package/button/tertiary-button-link.d.ts +0 -2
  608. package/button/tertiary-button-link.d.ts.map +0 -1
  609. package/button/tertiary-button-link.js +0 -17
  610. package/button/tertiary-button-static/tertiary-button-static.d.ts +0 -19
  611. package/button/tertiary-button-static/tertiary-button-static.d.ts.map +0 -1
  612. package/button/tertiary-button-static.d.ts +0 -2
  613. package/button/tertiary-button-static.d.ts.map +0 -1
  614. package/button/tertiary-button-static.js +0 -17
  615. package/button/tertiary-button.d.ts +0 -2
  616. package/button/tertiary-button.d.ts.map +0 -1
  617. package/button/tertiary-button.js +0 -17
  618. package/chip/chip.d.ts.map +0 -1
  619. package/chip.d.ts +0 -2
  620. package/chip.d.ts.map +0 -1
  621. package/chip.js +0 -54
  622. package/core/dom/get-document-writing-mode.d.ts +0 -5
  623. package/core/dom/get-document-writing-mode.d.ts.map +0 -1
  624. package/core/dom/ssr.d.ts +0 -13
  625. package/core/dom/ssr.d.ts.map +0 -1
  626. package/core/eventing/handler-repository.d.ts +0 -28
  627. package/core/eventing/handler-repository.d.ts.map +0 -1
  628. package/core/observers/intersection-observer.d.ts +0 -20
  629. package/core/observers/intersection-observer.d.ts.map +0 -1
  630. package/core/observers/mutation-observer.d.ts +0 -13
  631. package/core/observers/mutation-observer.d.ts.map +0 -1
  632. package/core/observers/resize-observer.d.ts +0 -16
  633. package/core/observers/resize-observer.d.ts.map +0 -1
  634. package/core/observers.d.ts +0 -4
  635. package/core/observers.d.ts.map +0 -1
  636. package/core/observers.js +0 -38
  637. package/core/testing/wait-for-event.d.ts +0 -2
  638. package/core/testing/wait-for-event.d.ts.map +0 -1
  639. package/development/button/mini-button/mini-button-base-element.d.ts +0 -8
  640. package/development/button/mini-button/mini-button-base-element.d.ts.map +0 -1
  641. package/development/button/tertiary-button/tertiary-button.d.ts +0 -19
  642. package/development/button/tertiary-button/tertiary-button.d.ts.map +0 -1
  643. package/development/button/tertiary-button-link/tertiary-button-link.d.ts +0 -19
  644. package/development/button/tertiary-button-link/tertiary-button-link.d.ts.map +0 -1
  645. package/development/button/tertiary-button-link.d.ts +0 -2
  646. package/development/button/tertiary-button-link.d.ts.map +0 -1
  647. package/development/button/tertiary-button-link.js +0 -25
  648. package/development/button/tertiary-button-static/tertiary-button-static.d.ts +0 -19
  649. package/development/button/tertiary-button-static/tertiary-button-static.d.ts.map +0 -1
  650. package/development/button/tertiary-button-static.d.ts +0 -2
  651. package/development/button/tertiary-button-static.d.ts.map +0 -1
  652. package/development/button/tertiary-button-static.js +0 -25
  653. package/development/button/tertiary-button.d.ts +0 -2
  654. package/development/button/tertiary-button.d.ts.map +0 -1
  655. package/development/button/tertiary-button.js +0 -25
  656. package/development/chip/chip.d.ts.map +0 -1
  657. package/development/chip.d.ts +0 -2
  658. package/development/chip.d.ts.map +0 -1
  659. package/development/core/dom/get-document-writing-mode.d.ts +0 -5
  660. package/development/core/dom/get-document-writing-mode.d.ts.map +0 -1
  661. package/development/core/dom/ssr.d.ts +0 -13
  662. package/development/core/dom/ssr.d.ts.map +0 -1
  663. package/development/core/eventing/handler-repository.d.ts +0 -28
  664. package/development/core/eventing/handler-repository.d.ts.map +0 -1
  665. package/development/core/observers/intersection-observer.d.ts +0 -20
  666. package/development/core/observers/intersection-observer.d.ts.map +0 -1
  667. package/development/core/observers/mutation-observer.d.ts +0 -13
  668. package/development/core/observers/mutation-observer.d.ts.map +0 -1
  669. package/development/core/observers/resize-observer.d.ts +0 -16
  670. package/development/core/observers/resize-observer.d.ts.map +0 -1
  671. package/development/core/observers.d.ts +0 -4
  672. package/development/core/observers.d.ts.map +0 -1
  673. package/development/core/observers.js +0 -39
  674. package/development/core/testing/wait-for-event.d.ts +0 -2
  675. package/development/core/testing/wait-for-event.d.ts.map +0 -1
@@ -30,6 +30,7 @@ const style = css`:host {
30
30
  flex: 1;
31
31
  overflow: hidden;
32
32
  align-self: center;
33
+ hyphens: auto;
33
34
  margin: 0;
34
35
  }
35
36
 
@@ -205,4 +206,4 @@ let SbbDialogTitleElement = (() => {
205
206
  export {
206
207
  SbbDialogTitleElement
207
208
  };
208
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXRpdGxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy10aXRsZS9kaWFsb2ctdGl0bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IG5vdGhpbmcgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sLCB1bnNhZmVTdGF0aWMgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBTYmJGb2N1c1Zpc2libGVXaXRoaW5Db250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB0eXBlIHsgQnJlYWtwb2ludCB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJy4uLy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHsgaTE4bkNsb3NlRGlhbG9nLCBpMThuR29CYWNrIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYlRpdGxlQmFzZSB9IGZyb20gJy4uLy4uL3RpdGxlLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZGlhbG9nLXRpdGxlLnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vYnV0dG9uL3NlY29uZGFyeS1idXR0b24uanMnO1xuaW1wb3J0ICcuLi8uLi9idXR0b24vdHJhbnNwYXJlbnQtYnV0dG9uLmpzJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIHRpdGxlIGluc2lkZSBhIGRpYWxvZyBoZWFkZXIuXG4gKlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gcmVxdWVzdEJhY2tBY3Rpb24gLSBFbWl0cyB3aGVuZXZlciB0aGUgYmFjayBidXR0b24gaXMgY2xpY2tlZC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWRpYWxvZy10aXRsZScpXG5jbGFzcyBTYmJEaWFsb2dUaXRsZUVsZW1lbnQgZXh0ZW5kcyBTYmJUaXRsZUJhc2Uge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbU2JiVGl0bGVCYXNlLnN0eWxlcywgc3R5bGVdO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBiYWNrQ2xpY2s6ICdyZXF1ZXN0QmFja0FjdGlvbicsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBiYWNrIGJ1dHRvbiBpcyBkaXNwbGF5ZWQgbmV4dCB0byB0aGUgdGl0bGUuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYmFjay1idXR0b24nLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBiYWNrQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCBiZSBmb3J3YXJkZWQgYXMgYXJpYS1sYWJlbCB0byB0aGUgY2xvc2UgYnV0dG9uIGVsZW1lbnQuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1jbG9zZS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBiYWNrIGJ1dHRvbiBlbGVtZW50LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktYmFjay1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlCYWNrTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGhpZGUgdGhlIHRpdGxlIHVwIHRvIGEgY2VydGFpbiBicmVha3BvaW50LlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaGlkZS1vbi1zY3JvbGwnIH0pXG4gIHB1YmxpYyBzZXQgaGlkZU9uU2Nyb2xsKHZhbHVlOiAnJyB8IEJyZWFrcG9pbnQgfCBib29sZWFuKSB7XG4gICAgdGhpcy5faGlkZU9uU2Nyb2xsID0gdmFsdWUgPT09ICcnID8gdHJ1ZSA6IHZhbHVlO1xuICB9XG4gIHB1YmxpYyBnZXQgaGlkZU9uU2Nyb2xsKCk6IEJyZWFrcG9pbnQgfCBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGlkZU9uU2Nyb2xsO1xuICB9XG4gIHByaXZhdGUgX2hpZGVPblNjcm9sbDogQnJlYWtwb2ludCB8IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9iYWNrQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYkRpYWxvZ1RpdGxlRWxlbWVudC5ldmVudHMuYmFja0NsaWNrLFxuICApO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5sZXZlbCA9ICcyJztcbiAgICB0aGlzLnZpc3VhbExldmVsID0gJzMnO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgbmV3IFNiYkZvY3VzVmlzaWJsZVdpdGhpbkNvbnRyb2xsZXIodGhpcyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2JhY2tCdXR0b24nKSB8fCBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2FjY2Vzc2liaWxpdHlCYWNrTGFiZWwnKSkge1xuICAgICAgdGhpcy5iYWNrQnV0dG9uID0gIXRoaXMuYmFja0J1dHRvbiAmJiAhIXRoaXMuYWNjZXNzaWJpbGl0eUJhY2tMYWJlbCA/IHRydWUgOiB0aGlzLmJhY2tCdXR0b247XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgVEFHX05BTUUgPSB0aGlzLm5lZ2F0aXZlID8gJ3NiYi10cmFuc3BhcmVudC1idXR0b24nIDogJ3NiYi1zZWNvbmRhcnktYnV0dG9uJztcblxuICAgIC8qIGVzbGludC1kaXNhYmxlIGxpdC9iaW5kaW5nLXBvc2l0aW9ucyAqL1xuICAgIGNvbnN0IGNsb3NlQnV0dG9uID0gaHRtbGBcbiAgICAgIDwke3Vuc2FmZVN0YXRpYyhUQUdfTkFNRSl9XG4gICAgICAgIGNsYXNzPVwic2JiLWRpYWxvZ19fY2xvc2VcIlxuICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5Q2xvc2VMYWJlbCB8fCBpMThuQ2xvc2VEaWFsb2dbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGljb24tbmFtZT1cImNyb3NzLXNtYWxsXCJcbiAgICAgICAgc2JiLWRpYWxvZy1jbG9zZVxuICAgICAgPjwvJHt1bnNhZmVTdGF0aWMoVEFHX05BTUUpfT5cbiAgICBgO1xuXG4gICAgY29uc3QgYmFja0J1dHRvbiA9IGh0bWxgXG4gICAgICA8JHt1bnNhZmVTdGF0aWMoVEFHX05BTUUpfVxuICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2dfX2JhY2tcIlxuICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5QmFja0xhYmVsIHx8IGkxOG5Hb0JhY2tbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGljb24tbmFtZT1cImNoZXZyb24tc21hbGwtbGVmdC1zbWFsbFwiXG4gICAgICAgIEBjbGljaz0keygpID0+IHRoaXMuX2JhY2tDbGljay5lbWl0KCl9XG4gICAgICA+PC8ke3Vuc2FmZVN0YXRpYyhUQUdfTkFNRSl9PlxuICAgIGA7XG4gICAgLyogZXNsaW50LWVuYWJsZSBsaXQvYmluZGluZy1wb3NpdGlvbnMgKi9cblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1kaWFsb2dfX2hlYWRlclwiPlxuICAgICAgICAke3RoaXMuYmFja0J1dHRvbiA/IGJhY2tCdXR0b24gOiBub3RoaW5nfSAke3N1cGVyLnJlbmRlcigpfSAke2Nsb3NlQnV0dG9ufVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpYWxvZy10aXRsZSc6IFNiYkRpYWxvZ1RpdGxlRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlNiYkRpYWxvZ1RpdGxlRWxlbWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBeUJNLHlCQUFxQixNQUFBOzswQkFEMUIsY0FBYyxrQkFBa0IsQ0FBQzs7OztvQkFDRTs7Ozs7Ozs7Ozs7O0FBQVJBLE1BQUFBLDBCQUFBLG1CQUFRLFlBQVk7QUFBQSxJQTZDOUMsY0FBQTs7QUFsQ0E7QUFPQTtBQU9BO0FBekJJLHlCQUFBLCtCQUFBLGtCQUFBLE1BQUEsMEJBQUEsR0FXa0Msa0JBQUEsTUFBQSwwQkFBQSxLQUFLO0FBTzNCLHlCQUFBLDRDQUFBLGtCQUFBLE1BQUEsNkJBQUEsR0FBQSxrQkFBQSxNQUFBLHVDQUFrQyxFQUFFO0FBT3BDLHlCQUFBLDJDQUFBLGtCQUFBLE1BQUEsMENBQUEsR0FBQSxrQkFBQSxNQUFBLHNDQUFpQyxFQUFFO0FBWTNDLFdBQWEsaUJBQUEsa0JBQUEsTUFBQSx5Q0FBQSxHQUF5QjtBQUV0QyxXQUFBLGFBQWdDLElBQUksYUFDMUMsTUFDQUEsdUJBQXNCLE9BQU8sU0FBUztBQUVoQyxXQUFBLFlBQVksSUFBSSxzQkFBc0IsSUFBSTtBQUloRCxXQUFLLFFBQVE7QUFDYixXQUFLLGNBQWM7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFyQ3JCLElBQWdCLGFBQTRCO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUE1QyxJQUFnQixXQUE0QixPQUFBO0FBQUEseUJBQUEsOEJBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFPNUMsSUFBZ0IsMEJBQXFDO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUFyRCxJQUFnQix3QkFBcUMsT0FBQTtBQUFBLHlCQUFBLDJDQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUE7QUFBQTtB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
209
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXRpdGxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy10aXRsZS9kaWFsb2ctdGl0bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IG5vdGhpbmcgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sLCB1bnNhZmVTdGF0aWMgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBTYmJGb2N1c1Zpc2libGVXaXRoaW5Db250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB0eXBlIHsgQnJlYWtwb2ludCB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJy4uLy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHsgaTE4bkNsb3NlRGlhbG9nLCBpMThuR29CYWNrIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYlRpdGxlQmFzZSB9IGZyb20gJy4uLy4uL3RpdGxlLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZGlhbG9nLXRpdGxlLnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vYnV0dG9uL3NlY29uZGFyeS1idXR0b24uanMnO1xuaW1wb3J0ICcuLi8uLi9idXR0b24vdHJhbnNwYXJlbnQtYnV0dG9uLmpzJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIHRpdGxlIGluc2lkZSBhIGRpYWxvZyBoZWFkZXIuXG4gKlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gcmVxdWVzdEJhY2tBY3Rpb24gLSBFbWl0cyB3aGVuZXZlciB0aGUgYmFjayBidXR0b24gaXMgY2xpY2tlZC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWRpYWxvZy10aXRsZScpXG5jbGFzcyBTYmJEaWFsb2dUaXRsZUVsZW1lbnQgZXh0ZW5kcyBTYmJUaXRsZUJhc2Uge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbU2JiVGl0bGVCYXNlLnN0eWxlcywgc3R5bGVdO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBiYWNrQ2xpY2s6ICdyZXF1ZXN0QmFja0FjdGlvbicsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBiYWNrIGJ1dHRvbiBpcyBkaXNwbGF5ZWQgbmV4dCB0byB0aGUgdGl0bGUuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYmFjay1idXR0b24nLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBiYWNrQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCBiZSBmb3J3YXJkZWQgYXMgYXJpYS1sYWJlbCB0byB0aGUgY2xvc2UgYnV0dG9uIGVsZW1lbnQuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1jbG9zZS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBiYWNrIGJ1dHRvbiBlbGVtZW50LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktYmFjay1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlCYWNrTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGhpZGUgdGhlIHRpdGxlIHVwIHRvIGEgY2VydGFpbiBicmVha3BvaW50LlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaGlkZS1vbi1zY3JvbGwnIH0pXG4gIHB1YmxpYyBzZXQgaGlkZU9uU2Nyb2xsKHZhbHVlOiAnJyB8IEJyZWFrcG9pbnQgfCBib29sZWFuKSB7XG4gICAgdGhpcy5faGlkZU9uU2Nyb2xsID0gdmFsdWUgPT09ICcnID8gdHJ1ZSA6IHZhbHVlO1xuICB9XG4gIHB1YmxpYyBnZXQgaGlkZU9uU2Nyb2xsKCk6IEJyZWFrcG9pbnQgfCBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGlkZU9uU2Nyb2xsO1xuICB9XG4gIHByaXZhdGUgX2hpZGVPblNjcm9sbDogQnJlYWtwb2ludCB8IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9iYWNrQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYkRpYWxvZ1RpdGxlRWxlbWVudC5ldmVudHMuYmFja0NsaWNrLFxuICApO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5sZXZlbCA9ICcyJztcbiAgICB0aGlzLnZpc3VhbExldmVsID0gJzMnO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgbmV3IFNiYkZvY3VzVmlzaWJsZVdpdGhpbkNvbnRyb2xsZXIodGhpcyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2JhY2tCdXR0b24nKSB8fCBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2FjY2Vzc2liaWxpdHlCYWNrTGFiZWwnKSkge1xuICAgICAgdGhpcy5iYWNrQnV0dG9uID0gIXRoaXMuYmFja0J1dHRvbiAmJiAhIXRoaXMuYWNjZXNzaWJpbGl0eUJhY2tMYWJlbCA/IHRydWUgOiB0aGlzLmJhY2tCdXR0b247XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgVEFHX05BTUUgPSB0aGlzLm5lZ2F0aXZlID8gJ3NiYi10cmFuc3BhcmVudC1idXR0b24nIDogJ3NiYi1zZWNvbmRhcnktYnV0dG9uJztcblxuICAgIC8qIGVzbGludC1kaXNhYmxlIGxpdC9iaW5kaW5nLXBvc2l0aW9ucyAqL1xuICAgIGNvbnN0IGNsb3NlQnV0dG9uID0gaHRtbGBcbiAgICAgIDwke3Vuc2FmZVN0YXRpYyhUQUdfTkFNRSl9XG4gICAgICAgIGNsYXNzPVwic2JiLWRpYWxvZ19fY2xvc2VcIlxuICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5Q2xvc2VMYWJlbCB8fCBpMThuQ2xvc2VEaWFsb2dbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGljb24tbmFtZT1cImNyb3NzLXNtYWxsXCJcbiAgICAgICAgc2JiLWRpYWxvZy1jbG9zZVxuICAgICAgPjwvJHt1bnNhZmVTdGF0aWMoVEFHX05BTUUpfT5cbiAgICBgO1xuXG4gICAgY29uc3QgYmFja0J1dHRvbiA9IGh0bWxgXG4gICAgICA8JHt1bnNhZmVTdGF0aWMoVEFHX05BTUUpfVxuICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2dfX2JhY2tcIlxuICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5QmFja0xhYmVsIHx8IGkxOG5Hb0JhY2tbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGljb24tbmFtZT1cImNoZXZyb24tc21hbGwtbGVmdC1zbWFsbFwiXG4gICAgICAgIEBjbGljaz0keygpID0+IHRoaXMuX2JhY2tDbGljay5lbWl0KCl9XG4gICAgICA+PC8ke3Vuc2FmZVN0YXRpYyhUQUdfTkFNRSl9PlxuICAgIGA7XG4gICAgLyogZXNsaW50LWVuYWJsZSBsaXQvYmluZGluZy1wb3NpdGlvbnMgKi9cblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1kaWFsb2dfX2hlYWRlclwiPlxuICAgICAgICAke3RoaXMuYmFja0J1dHRvbiA/IGJhY2tCdXR0b24gOiBub3RoaW5nfSAke3N1cGVyLnJlbmRlcigpfSAke2Nsb3NlQnV0dG9ufVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpYWxvZy10aXRsZSc6IFNiYkRpYWxvZ1RpdGxlRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlNiYkRpYWxvZ1RpdGxlRWxlbWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXlCTSx5QkFBcUIsTUFBQTs7MEJBRDFCLGNBQWMsa0JBQWtCLENBQUM7Ozs7b0JBQ0U7Ozs7Ozs7Ozs7OztBQUFSQSxNQUFBQSwwQkFBQSxtQkFBUSxZQUFZO0FBQUEsSUE2QzlDLGNBQUE7O0FBbENBO0FBT0E7QUFPQTtBQXpCSSx5QkFBQSwrQkFBQSxrQkFBQSxNQUFBLDBCQUFBLEdBV2tDLGtCQUFBLE1BQUEsMEJBQUEsS0FBSztBQU8zQix5QkFBQSw0Q0FBQSxrQkFBQSxNQUFBLDZCQUFBLEdBQUEsa0JBQUEsTUFBQSx1Q0FBa0MsRUFBRTtBQU9wQyx5QkFBQSwyQ0FBQSxrQkFBQSxNQUFBLDBDQUFBLEdBQUEsa0JBQUEsTUFBQSxzQ0FBaUMsRUFBRTtBQVkzQyxXQUFhLGlCQUFBLGtCQUFBLE1BQUEseUNBQUEsR0FBeUI7QUFFdEMsV0FBQSxhQUFnQyxJQUFJLGFBQzFDLE1BQ0FBLHVCQUFzQixPQUFPLFNBQVM7QUFFaEMsV0FBQSxZQUFZLElBQUksc0JBQXNCLElBQUk7QUFJaEQsV0FBSyxRQUFRO0FBQ2IsV0FBSyxjQUFjO0FBQUEsSUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBckNyQixJQUFnQixhQUE0QjtBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBNUMsSUFBZ0IsV0FBNEIsT0FBQTtBQUFBLHlCQUFBLDhCQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBTzVDLElBQWdCLDBCQUFxQztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBckQsSUFBZ0Isd0JBQXFDLE9BQUE7QUFBQSx5QkFBQSwyQ0FBQTtBQUFBLElBQUE7QUFBQTtBQUFBO0FBQUE7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
@@ -10,7 +10,7 @@ import { ResizeController } from "@lit-labs/observers/resize-controller.js";
10
10
  import { customElement, property } from "lit/decorators.js";
11
11
  import { html } from "lit/static-html.js";
12
12
  import { setModalityOnNextFocus, getFirstFocusableElement } from "../core/a11y.js";
13
- import { isBreakpoint } from "../core/dom.js";
13
+ import { isZeroAnimationDuration, isBreakpoint } from "../core/dom.js";
14
14
  import { overlayRefs, SbbOverlayBaseElement } from "../overlay.js";
15
15
  import { css } from "lit";
16
16
  import "../screen-reader-only.js";
@@ -39,7 +39,7 @@ const style = css`*,
39
39
  --sbb-dialog-border-radius: var(--sbb-border-radius-8x);
40
40
  --sbb-dialog-padding-block: var(--sbb-spacing-responsive-s);
41
41
  --sbb-dialog-animation-duration: var(
42
- --sbb-disable-animation-time,
42
+ --sbb-disable-animation-duration,
43
43
  var(--sbb-animation-duration-6x)
44
44
  );
45
45
  --sbb-dialog-animation-easing: ease;
@@ -174,7 +174,6 @@ const style = css`*,
174
174
  max-height: var(--sbb-dialog-max-height);
175
175
  outline: none;
176
176
  position: fixed;
177
- word-break: break-word;
178
177
  }
179
178
  @media (min-width: calc(52.5rem)) {
180
179
  .sbb-dialog__wrapper {
@@ -273,6 +272,46 @@ let SbbDialogElement = (() => {
273
272
  overlayRefs.push(this);
274
273
  this._dialogContentResizeObserver.observe(this._dialogContentElement);
275
274
  this.scrollHandler.disableScroll();
275
+ if (this.isZeroAnimationDuration()) {
276
+ this._handleOpening();
277
+ }
278
+ }
279
+ isZeroAnimationDuration() {
280
+ return isZeroAnimationDuration(this, "--sbb-dialog-animation-duration");
281
+ }
282
+ handleClosing() {
283
+ var _a2, _b, _c;
284
+ this._setHideHeaderDataAttribute(false);
285
+ (_a2 = this._dialogContentElement) == null ? void 0 : _a2.scrollTo(0, 0);
286
+ this.state = "closed";
287
+ this.inertController.deactivate();
288
+ setModalityOnNextFocus(this.lastFocusedElement);
289
+ (_b = this.lastFocusedElement) == null ? void 0 : _b.focus();
290
+ (_c = this.openOverlayController) == null ? void 0 : _c.abort();
291
+ this.focusHandler.disconnect();
292
+ if (this._dialogContentElement) {
293
+ this._dialogContentResizeObserver.unobserve(this._dialogContentElement);
294
+ }
295
+ this.removeInstanceFromGlobalCollection();
296
+ if (!overlayRefs.length) {
297
+ this.scrollHandler.enableScroll();
298
+ }
299
+ this.didClose.emit({
300
+ returnValue: this.returnValue,
301
+ closeTarget: this.overlayCloseElement
302
+ });
303
+ }
304
+ _handleOpening() {
305
+ this.state = "opened";
306
+ this.didOpen.emit();
307
+ this.inertController.activate();
308
+ this.attachOpenOverlayEvents();
309
+ this.setOverlayFocus();
310
+ setTimeout(() => {
311
+ var _a2;
312
+ return this.setAriaLiveRefContent(this.accessibilityLabel || ((_a2 = this._dialogTitleElement) == null ? void 0 : _a2.innerText.trim()));
313
+ });
314
+ this.focusHandler.trap(this);
276
315
  }
277
316
  connectedCallback() {
278
317
  super.connectedCallback();
@@ -309,38 +348,10 @@ let SbbDialogElement = (() => {
309
348
  // In rare cases, it can be that the animationEnd event is triggered twice.
310
349
  // To avoid entering a corrupt state, exit when state is not expected.
311
350
  onOverlayAnimationEnd(event) {
312
- var _a2, _b, _c;
313
351
  if (event.animationName === "open" && this.state === "opening") {
314
- this.state = "opened";
315
- this.didOpen.emit();
316
- this.inertController.activate();
317
- this.attachOpenOverlayEvents();
318
- this.setOverlayFocus();
319
- setTimeout(() => {
320
- var _a3;
321
- return this.setAriaLiveRefContent(this.accessibilityLabel || ((_a3 = this._dialogTitleElement) == null ? void 0 : _a3.innerText.trim()));
322
- });
323
- this.focusHandler.trap(this);
352
+ this._handleOpening();
324
353
  } else if (event.animationName === "close" && this.state === "closing") {
325
- this._setHideHeaderDataAttribute(false);
326
- (_a2 = this._dialogContentElement) == null ? void 0 : _a2.scrollTo(0, 0);
327
- this.state = "closed";
328
- this.inertController.deactivate();
329
- setModalityOnNextFocus(this.lastFocusedElement);
330
- (_b = this.lastFocusedElement) == null ? void 0 : _b.focus();
331
- (_c = this.openOverlayController) == null ? void 0 : _c.abort();
332
- this.focusHandler.disconnect();
333
- if (this._dialogContentElement) {
334
- this._dialogContentResizeObserver.unobserve(this._dialogContentElement);
335
- }
336
- this.removeInstanceFromGlobalCollection();
337
- if (!overlayRefs.length) {
338
- this.scrollHandler.enableScroll();
339
- }
340
- this.didClose.emit({
341
- returnValue: this.returnValue,
342
- closeTarget: this.overlayCloseElement
343
- });
354
+ this.handleClosing();
344
355
  }
345
356
  }
346
357
  // Set focus on the first focusable element.
@@ -405,11 +416,7 @@ let SbbDialogElement = (() => {
405
416
  render() {
406
417
  return html`
407
418
  <div class="sbb-dialog__container">
408
- <div
409
- @animationend=${(event) => this.onOverlayAnimationEnd(event)}
410
- class="sbb-dialog"
411
- id=${this._dialogId}
412
- >
419
+ <div @animationend=${this.onOverlayAnimationEnd} class="sbb-dialog" id=${this._dialogId}>
413
420
  <div
414
421
  @click=${(event) => this.closeOnSbbOverlayCloseClick(event)}
415
422
  class="sbb-dialog__wrapper"
@@ -436,4 +443,4 @@ let SbbDialogElement = (() => {
436
443
  export {
437
444
  SbbDialogElement
438
445
  };
439
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB7IGdldEZpcnN0Rm9jdXNhYmxlRWxlbWVudCwgc2V0TW9kYWxpdHlPbk5leHRGb2N1cyB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBpc0JyZWFrcG9pbnQgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBvdmVybGF5UmVmcywgU2JiT3ZlcmxheUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vb3ZlcmxheS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRpYWxvZ0FjdGlvbnNFbGVtZW50IH0gZnJvbSAnLi4vZGlhbG9nLWFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEaWFsb2dUaXRsZUVsZW1lbnQgfSBmcm9tICcuLi9kaWFsb2ctdGl0bGUuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaWFsb2cuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9zY3JlZW4tcmVhZGVyLW9ubHkuanMnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBpbnRlcmFjdGl2ZSBvdmVybGF5IGVsZW1lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBwcm92aWRlIGEgYHNiYi1kaWFsb2ctdGl0bGVgLCBgc2JiLWRpYWxvZy1jb250ZW50YCBhbmQgYW4gb3B0aW9uYWwgYHNiYi1kaWFsb2ctYWN0aW9uc2AuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWRpYWxvZ2Agc3RhcnRzIHRoZSBvcGVuaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZE9wZW4gLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1kaWFsb2dgIGlzIG9wZW5lZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWRpYWxvZ2AgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8U2JiT3ZlcmxheUNsb3NlRXZlbnREZXRhaWxzPn0gZGlkQ2xvc2UgLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1kaWFsb2dgIGlzIGNsb3NlZC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1kaWFsb2ctei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItZGlhbG9nJylcbmNsYXNzIFNiYkRpYWxvZ0VsZW1lbnQgZXh0ZW5kcyBTYmJPdmVybGF5QmFzZUVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKiogQmFja2Ryb3AgY2xpY2sgYWN0aW9uLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdiYWNrZHJvcC1hY3Rpb24nIH0pIHB1YmxpYyBhY2Nlc3NvciBiYWNrZHJvcEFjdGlvbjogJ2Nsb3NlJyB8ICdub25lJyA9XG4gICAgJ2Nsb3NlJztcblxuICAvLyBXZSB1c2UgYSB0aW1lb3V0IGFzIGEgd29ya2Fyb3VuZCB0byB0aGUgXCJSZXNpemVPYnNlcnZlciBsb29wIGNvbXBsZXRlZCB3aXRoIHVuZGVsaXZlcmVkIG5vdGlmaWNhdGlvbnNcIiBlcnJvci5cbiAgLy8gRm9yIG1vcmUgZGV0YWlsczpcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9yZXNpemUtb2JzZXJ2ZXIvaXNzdWVzLzM4I2lzc3VlY29tbWVudC00MjIxMjYwMDZcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vanVnZ2xlL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvMTAzI2lzc3VlY29tbWVudC0xNzExMTQ4Mjg1XG4gIHByaXZhdGUgX2RpYWxvZ0NvbnRlbnRSZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fb25Db250ZW50UmVzaXplKCkpLFxuICB9KTtcblxuICBwcml2YXRlIF9kaWFsb2dUaXRsZUVsZW1lbnQ6IFNiYkRpYWxvZ1RpdGxlRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9kaWFsb2dUaXRsZUhlaWdodD86IG51bWJlcjtcbiAgcHJpdmF0ZSBfZGlhbG9nQ29udGVudEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2RpYWxvZ0FjdGlvbnNFbGVtZW50OiBTYmJEaWFsb2dBY3Rpb25zRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9pc1BvaW50ZXJEb3duRXZlbnRPbkRpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9vdmVyZmxvd3M6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfbGFzdFNjcm9sbCA9IDA7XG4gIHByaXZhdGUgX2RpYWxvZ0lkID0gYHNiYi1kaWFsb2ctJHtuZXh0SWQrK31gO1xuICBwcm90ZWN0ZWQgY2xvc2VBdHRyaWJ1dGU6IHN0cmluZyA9ICdzYmItZGlhbG9nLWNsb3NlJztcblxuICAvKiogT3BlbnMgdGhlIGNvbXBvbmVudC4gKi9cbiAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdjbG9zZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubGFzdEZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcblxuICAgIC8vIEluaXRpYWxpemUgZGlhbG9nIGVsZW1lbnRzXG4gICAgdGhpcy5fZGlhbG9nVGl0bGVFbGVtZW50ID0gdGhpcy5xdWVyeVNlbGVjdG9yKCdzYmItZGlhbG9nLXRpdGxlJyk7XG4gICAgdGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQgPSB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ3NiYi1kaWFsb2ctY29udGVudCcpPy5zaGFkb3dSb290IVxuICAgICAgLmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxFbGVtZW50O1xuICAgIHRoaXMuX2RpYWxvZ0FjdGlvbnNFbGVtZW50ID0gdGhpcy5xdWVyeVNlbGVjdG9yKCdzYmItZGlhbG9nLWFjdGlvbnMnKTtcblxuICAgIHRoaXMuX3N5bmNOZWdhdGl2ZSgpO1xuXG4gICAgaWYgKCF0aGlzLndpbGxPcGVuLmVtaXQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuXG4gICAgLy8gQWRkIHRoaXMgZGlhbG9nIHRvIHRoZSBnbG9iYWwgY29sbGVjdGlvblxuICAgIG92ZXJsYXlSZWZzLnB1c2godGhpcyBhcyBTYmJEaWFsb2dFbGVtZW50KTtcbiAgICB0aGlzLl9kaWFsb2dDb250ZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudCk7XG5cbiAgICAvLyBEaXNhYmxlIHNjcm9sbGluZyBmb3IgY29udGVudCBiZWxvdyB0aGUgZGlhbG9nXG4gICAgdGhpcy5zY3JvbGxIYW5kbGVyLmRpc2FibGVTY3JvbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgLy8gQ2xvc2UgZGlhbG9nIG9uIGJhY2tkcm9wIGNsaWNrXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIsIHtcbiAgICAgIHNpZ25hbDogdGhpcy5vdmVybGF5Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVydXAnLCB0aGlzLl9jbG9zZU9uQmFja2Ryb3BDbGljaywge1xuICAgICAgc2lnbmFsOiB0aGlzLm92ZXJsYXlDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgLy8gU3luY2hyb25pemUgdGhlIG5lZ2F0aXZlIHN0YXRlIGJlZm9yZSB0aGUgZmlyc3Qgb3BlbmluZyB0byBhdm9pZCBhIHBvc3NpYmxlIGNvbG9yIGZsYXNoIGlmIGl0IGlzIG5lZ2F0aXZlLlxuICAgIHRoaXMuX2RpYWxvZ1RpdGxlRWxlbWVudCA9IHRoaXMucXVlcnlTZWxlY3Rvcignc2JiLWRpYWxvZy10aXRsZScpITtcbiAgICB0aGlzLl9zeW5jTmVnYXRpdmUoKTtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCduZWdhdGl2ZScpKSB7XG4gICAgICB0aGlzLl9zeW5jTmVnYXRpdmUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXR0YWNoT3Blbk92ZXJsYXlFdmVudHMoKTogdm9pZCB7XG4gICAgc3VwZXIuYXR0YWNoT3Blbk92ZXJsYXlFdmVudHMoKTtcblxuICAgIC8vIElmIHRoZSBjb250ZW50IG92ZXJmbG93cywgc2hvdy9oaWRlIHRoZSBkaWFsb2cgaGVhZGVyIG9uIHNjcm9sbC5cbiAgICB0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgKCkgPT4gdGhpcy5fb25Db250ZW50U2Nyb2xsKCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBzaWduYWw6IHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCkgPT4gdGhpcy5fc2V0SGlkZUhlYWRlckRhdGFBdHRyaWJ1dGUoZmFsc2UpLCB7XG4gICAgICBzaWduYWw6IHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIFdhaXQgZm9yIGRpYWxvZyB0cmFuc2l0aW9uIHRvIGNvbXBsZXRlLlxuICAvLyBJbiByYXJlIGNhc2VzLCBpdCBjYW4gYmUgdGhhdCB0aGUgYW5pbWF0aW9uRW5kIGV2ZW50IGlzIHRyaWdnZXJlZCB0d2ljZS5cbiAgLy8gVG8gYXZvaWQgZW50ZXJpbmcgYSBjb3JydXB0IHN0YXRlLCBleGl0IHdoZW4gc3RhdGUgaXMgbm90IGV4cGVjdGVkLlxuICBwcm90ZWN0ZWQgb25PdmVybGF5QW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicgJiYgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgICB0aGlzLmRpZE9wZW4uZW1pdCgpO1xuICAgICAgdGhpcy5pbmVydENvbnRyb2xsZXIuYWN0aXZhdGUoKTtcbiAgICAgIHRoaXMuYXR0YWNoT3Blbk92ZXJsYXlFdmVudHMoKTtcbiAgICAgIHRoaXMuc2V0T3ZlcmxheUZvY3VzKCk7XG4gICAgICAvLyBVc2UgdGltZW91dCB0byByZWFkIGxhYmVsIGFmdGVyIGZvY3VzZWQgZWxlbWVudFxuICAgICAgc2V0VGltZW91dCgoKSA9PlxuICAgICAgICB0aGlzLnNldEFyaWFMaXZlUmVmQ29udGVudChcbiAgICAgICAgICB0aGlzLmFjY2Vzc2liaWxpdHlMYWJlbCB8fCB0aGlzLl9kaWFsb2dUaXRsZUVsZW1lbnQ/LmlubmVyVGV4dC50cmltKCksXG4gICAgICAgICksXG4gICAgICApO1xuICAgICAgdGhpcy5mb2N1c0hhbmRsZXIudHJhcCh0aGlzKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgJiYgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9zZXRIaWRlSGVhZGVyRGF0YUF0dHJpYnV0ZShmYWxzZSk7XG4gICAgICB0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudD8uc2Nyb2xsVG8oMCwgMCk7XG4gICAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgICB0aGlzLmluZXJ0Q29udHJvbGxlci5kZWFjdGl2YXRlKCk7XG4gICAgICBzZXRNb2RhbGl0eU9uTmV4dEZvY3VzKHRoaXMubGFzdEZvY3VzZWRFbGVtZW50KTtcbiAgICAgIC8vIE1hbnVhbGx5IGZvY3VzIGxhc3QgZm9jdXNlZCBlbGVtZW50XG4gICAgICB0aGlzLmxhc3RGb2N1c2VkRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgIHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5mb2N1c0hhbmRsZXIuZGlzY29ubmVjdCgpO1xuICAgICAgaWYgKHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuX2RpYWxvZ0NvbnRlbnRSZXNpemVPYnNlcnZlci51bm9ic2VydmUodGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQpO1xuICAgICAgfVxuICAgICAgdGhpcy5yZW1vdmVJbnN0YW5jZUZyb21HbG9iYWxDb2xsZWN0aW9uKCk7XG4gICAgICAvLyBFbmFibGUgc2Nyb2xsaW5nIGZvciBjb250ZW50IGJlbG93IHRoZSBkaWFsb2cgaWYgbm8gZGlhbG9nIGlzIG9wZW5cbiAgICAgIGlmICghb3ZlcmxheVJlZnMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZGlkQ2xvc2UuZW1pdCh7XG4gICAgICAgIHJldHVyblZhbHVlOiB0aGlzLnJldHVyblZhbHVlLFxuICAgICAgICBjbG9zZVRhcmdldDogdGhpcy5vdmVybGF5Q2xvc2VFbGVtZW50LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IGZvY3VzIG9uIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudC5cbiAgcHJvdGVjdGVkIHNldE92ZXJsYXlGb2N1cygpOiB2b2lkIHtcbiAgICBjb25zdCBmaXJzdEZvY3VzYWJsZSA9IGdldEZpcnN0Rm9jdXNhYmxlRWxlbWVudChcbiAgICAgIEFycmF5LmZyb20odGhpcy5jaGlsZHJlbikuZmlsdGVyKChlKTogZSBpcyBIVE1MRWxlbWVudCA9PiBlIGluc3RhbmNlb2Ygd2luZG93LkhUTUxFbGVtZW50KSxcbiAgICApO1xuICAgIHNldE1vZGFsaXR5T25OZXh0Rm9jdXMoZmlyc3RGb2N1c2FibGUpO1xuICAgIGZpcnN0Rm9jdXNhYmxlPy5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3luY05lZ2F0aXZlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9kaWFsb2dUaXRsZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2RpYWxvZ1RpdGxlRWxlbWVudC5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2RpYWxvZ0FjdGlvbnNFbGVtZW50KSB7XG4gICAgICB0aGlzLl9kaWFsb2dBY3Rpb25zRWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtbmVnYXRpdmUnLCB0aGlzLm5lZ2F0aXZlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbkNvbnRlbnRTY3JvbGwoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGhhc1Zpc2libGVIZWFkZXIgPSB0aGlzLmRhdGFzZXQuaGlkZUhlYWRlciA9PT0gdW5kZWZpbmVkO1xuXG4gICAgLy8gQ2hlY2sgd2hldGhlciBoaWRpbmcgdGhlIGhlYWRlciB3b3VsZCBtYWtlIHRoZSBzY3JvbGxiYXIgZGlzYXBwZWFyXG4gICAgLy8gYW5kIHByZXZlbnQgdGhlIGhpZGluZyBhbmltYXRpb24gaWYgc28uXG4gICAgaWYgKFxuICAgICAgaGFzVmlzaWJsZUhlYWRlciAmJlxuICAgICAgdGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQuY2xpZW50SGVpZ2h0ICsgdGhpcy5fZGlhbG9nVGl0bGVIZWlnaHQhID49XG4gICAgICAgIHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50LnNjcm9sbEhlaWdodFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRTY3JvbGwgPSB0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudC5zY3JvbGxUb3A7XG4gICAgaWYgKFxuICAgICAgTWF0aC5yb3VuZChjdXJyZW50U2Nyb2xsICsgdGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KSA+PVxuICAgICAgdGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0XG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIENoZWNrIHdoZXRoZXIgaXMgc2Nyb2xsaW5nIGRvd24gb3IgdXAuXG4gICAgaWYgKGN1cnJlbnRTY3JvbGwgPiAwICYmIHRoaXMuX2xhc3RTY3JvbGwgPCBjdXJyZW50U2Nyb2xsKSB7XG4gICAgICAvLyBTY3JvbGxpbmcgZG93blxuICAgICAgdGhpcy5fc2V0SGlkZUhlYWRlckRhdGFBdHRyaWJ1dGUodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFNjcm9sbGluZyB1cFxuICAgICAgdGhpcy5fc2V0SGlkZUhlYWRlckRhdGFBdHRyaWJ1dGUoZmFsc2UpO1xuICAgIH1cbiAgICAvLyBgY3VycmVudFNjcm9sbGAgY2FuIGJlIG5lZ2F0aXZlLCBlLmcuIG9uIG1vYmlsZTsgdGhpcyBpcyBub3QgYWxsb3dlZC5cbiAgICB0aGlzLl9sYXN0U2Nyb2xsID0gY3VycmVudFNjcm9sbCA8PSAwID8gMCA6IGN1cnJlbnRTY3JvbGw7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgcG9pbnRlcmRvd24gZXZlbnQgdGFyZ2V0IGlzIHRyaWdnZXJlZCBvbiB0aGUgZGlhbG9nLlxuICBwcml2YXRlIF9wb2ludGVyRG93bkxpc3RlbmVyID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5iYWNrZHJvcEFjdGlvbiAhPT0gJ2Nsb3NlJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uRGlhbG9nID0gZXZlbnRcbiAgICAgIC5jb21wb3NlZFBhdGgoKVxuICAgICAgLmZpbHRlcigoZSk6IGUgaXMgSFRNTEVsZW1lbnQgPT4gZSBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudClcbiAgICAgIC5zb21lKCh0YXJnZXQpID0+IHRhcmdldC5pZCA9PT0gdGhpcy5fZGlhbG9nSWQpO1xuICB9O1xuXG4gIC8vIENsb3NlIGRpYWxvZyBvbiBiYWNrZHJvcCBjbGljay5cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLmJhY2tkcm9wQWN0aW9uICE9PSAnY2xvc2UnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgIXRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uRGlhbG9nICYmXG4gICAgICAhZXZlbnRcbiAgICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAgIC5maWx0ZXIoKGUpOiBlIGlzIEhUTUxFbGVtZW50ID0+IGUgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpXG4gICAgICAgIC5zb21lKCh0YXJnZXQpID0+IHRhcmdldC5pZCA9PT0gdGhpcy5fZGlhbG9nSWQpXG4gICAgKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX3NldERpYWxvZ0hlYWRlckhlaWdodCgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaWFsb2dUaXRsZUhlaWdodCA9IHRoaXMuX2RpYWxvZ1RpdGxlRWxlbWVudD8uc2hhZG93Um9vdCEuZmlyc3RFbGVtZW50Q2hpbGQhLmNsaWVudEhlaWdodDtcbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1kaWFsb2ctaGVhZGVyLWhlaWdodCcsIGAke3RoaXMuX2RpYWxvZ1RpdGxlSGVpZ2h0fXB4YCk7XG4gIH1cblxuICBwcml2YXRlIF9vbkNvbnRlbnRSZXNpemUoKTogdm9pZCB7XG4gICAgdGhpcy5fc2V0RGlhbG9nSGVhZGVySGVpZ2h0KCk7XG4gICAgLy8gQ2hlY2sgd2hldGhlciB0aGUgY29udGVudCBvdmVyZmxvd3MgYW5kIHNldCB0aGUgYG92ZXJmbG93c2AgYXR0cmlidXRlLlxuICAgIHRoaXMuX292ZXJmbG93cyA9IHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50XG4gICAgICA/IHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50Py5zY3JvbGxIZWlnaHQgPiB0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudD8uY2xpZW50SGVpZ2h0XG4gICAgICA6IGZhbHNlO1xuICAgIHRoaXMuX3NldE92ZXJmbG93c0RhdGFBdHRyaWJ1dGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldEhpZGVIZWFkZXJEYXRhQXR0cmlidXRlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgY29uc3QgaGlkZU9uU2Nyb2xsID0gdGhpcy5fZGlhbG9nVGl0bGVFbGVtZW50Py5oaWRlT25TY3JvbGwgPz8gZmFsc2U7XG4gICAgY29uc3QgaGlkZUhlYWRlciA9XG4gICAgICB0eXBlb2YgaGlkZU9uU2Nyb2xsID09PSAnYm9vbGVhbidcbiAgICAgICAgPyBoaWRlT25TY3JvbGxcbiAgICAgICAgOiAoaXNCcmVha3BvaW50KCd6ZXJvJywgaGlkZU9uU2Nyb2xsLCB7IGluY2x1ZGVNYXhCcmVha3BvaW50OiB0cnVlIH0pID8/IGZhbHNlKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1oaWRlLWhlYWRlcicsICFoaWRlSGVhZGVyID8gZmFsc2UgOiB2YWx1ZSk7XG4gICAgaWYgKHRoaXMuX2RpYWxvZ1RpdGxlRWxlbWVudCkge1xuICAgICAgdGhpcy5fZGlhbG9nVGl0bGVFbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1oaWRlLWhlYWRlcicsICFoaWRlSGVhZGVyID8gZmFsc2UgOiB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0T3ZlcmZsb3dzRGF0YUF0dHJpYnV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1vdmVyZmxvd3MnLCB0aGlzLl9vdmVyZmxvd3MpO1xuICAgIHRoaXMuX2RpYWxvZ1RpdGxlRWxlbWVudD8udG9nZ2xlQXR0cmlidXRlKCdkYXRhLW92ZXJmbG93cycsIHRoaXMuX292ZXJmbG93cyk7XG4gICAgdGhpcy5fZGlhbG9nQWN0aW9uc0VsZW1lbnQ/LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1vdmVyZmxvd3MnLCB0aGlzLl9vdmVyZmxvd3MpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWRpYWxvZ19fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7KGV2ZW50OiBBbmltYXRpb25FdmVudCkgPT4gdGhpcy5vbk92ZXJsYXlBbmltYXRpb25FbmQoZXZlbnQpfVxuICAgICAgICAgIGNsYXNzPVwic2JiLWRpYWxvZ1wiXG4gICAgICAgICAgaWQ9JHt0aGlzLl9kaWFsb2dJZH1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIEBjbGljaz0keyhldmVudDogRXZlbnQpID0+IHRoaXMuY2xvc2VPblNiYk92ZXJsYXlDbG9zZUNsaWNrKGV2ZW50KX1cbiAgICAgICAgICAgIGNsYXNzPVwic2JiLWRpYWxvZ19fd3JhcHBlclwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHkgYXJpYS1saXZlPVwicG9saXRlXCI+PC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1kaWFsb2cnOiBTYmJEaWFsb2dFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZUEsSUFBSSxTQUFTO0lBZ0JQLG9CQUFnQixNQUFBOzswQkFEckIsY0FBYyxZQUFZLENBQUM7Ozs7b0JBQ0c7Ozs7QUFBUixFQUFBLG1CQUFRLFlBQXFCO0FBQUE7O0FBSU47QUFBZ0IseUJBQUEsa0NBQUEsa0JBQUEsTUFBQSw4QkFDMUQsT0FBTztBQU1ELFdBQUEsZ0NBQStCLGtCQUFBLE1BQUEsaUNBQUEsR0FBQSxJQUFJLGlCQUFpQixNQUFNO0FBQUEsUUFDaEUsUUFBUTtBQUFBLFFBQ1IsYUFBYTtBQUFBLFFBQ2IsVUFBVSxNQUFNLFdBQVcsTUFBTSxLQUFLLGlCQUFrQixDQUFBO0FBQUEsTUFBQSxDQUN6RDtBQUVPLFdBQW1CLHNCQUFpQztBQUVwRCxXQUFxQix3QkFBdUI7QUFDNUMsV0FBcUIsd0JBQW1DO0FBQ3hELFdBQTJCLDhCQUFZO0FBQ3ZDLFdBQVUsYUFBWTtBQUN0QixXQUFXLGNBQUc7QUFDZCxXQUFBLFlBQVksY0FBYyxRQUFRO0FBQ2hDLFdBQWMsaUJBQVc7QUF3SzNCLFdBQUEsdUJBQXVC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
446
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB7IGdldEZpcnN0Rm9jdXNhYmxlRWxlbWVudCwgc2V0TW9kYWxpdHlPbk5leHRGb2N1cyB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBpc0JyZWFrcG9pbnQsIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgb3ZlcmxheVJlZnMsIFNiYk92ZXJsYXlCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL292ZXJsYXkuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEaWFsb2dBY3Rpb25zRWxlbWVudCB9IGZyb20gJy4uL2RpYWxvZy1hY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRGlhbG9nVGl0bGVFbGVtZW50IH0gZnJvbSAnLi4vZGlhbG9nLXRpdGxlLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZGlhbG9nLnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gaW50ZXJhY3RpdmUgb3ZlcmxheSBlbGVtZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gcHJvdmlkZSBhIGBzYmItZGlhbG9nLXRpdGxlYCwgYHNiYi1kaWFsb2ctY29udGVudGAgYW5kIGFuIG9wdGlvbmFsIGBzYmItZGlhbG9nLWFjdGlvbnNgLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gd2lsbE9wZW4gLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1kaWFsb2dgIHN0YXJ0cyB0aGUgb3BlbmluZyB0cmFuc2l0aW9uLiBDYW4gYmUgY2FuY2VsZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRPcGVuIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItZGlhbG9nYCBpcyBvcGVuZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsQ2xvc2UgLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1kaWFsb2dgIGJlZ2lucyB0aGUgY2xvc2luZyB0cmFuc2l0aW9uLiBDYW4gYmUgY2FuY2VsZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscz59IGRpZENsb3NlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItZGlhbG9nYCBpcyBjbG9zZWQuXG4gKiBAY3NzcHJvcCBbLS1zYmItZGlhbG9nLXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWRpYWxvZycpXG5jbGFzcyBTYmJEaWFsb2dFbGVtZW50IGV4dGVuZHMgU2JiT3ZlcmxheUJhc2VFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIEJhY2tkcm9wIGNsaWNrIGFjdGlvbi4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYmFja2Ryb3AtYWN0aW9uJyB9KSBwdWJsaWMgYWNjZXNzb3IgYmFja2Ryb3BBY3Rpb246ICdjbG9zZScgfCAnbm9uZScgPVxuICAgICdjbG9zZSc7XG5cbiAgLy8gV2UgdXNlIGEgdGltZW91dCBhcyBhIHdvcmthcm91bmQgdG8gdGhlIFwiUmVzaXplT2JzZXJ2ZXIgbG9vcCBjb21wbGV0ZWQgd2l0aCB1bmRlbGl2ZXJlZCBub3RpZmljYXRpb25zXCIgZXJyb3IuXG4gIC8vIEZvciBtb3JlIGRldGFpbHM6XG4gIC8vIC0gaHR0cHM6Ly9naXRodWIuY29tL1dJQ0cvcmVzaXplLW9ic2VydmVyL2lzc3Vlcy8zOCNpc3N1ZWNvbW1lbnQtNDIyMTI2MDA2XG4gIC8vIC0gaHR0cHM6Ly9naXRodWIuY29tL2p1Z2dsZS9yZXNpemUtb2JzZXJ2ZXIvaXNzdWVzLzEwMyNpc3N1ZWNvbW1lbnQtMTcxMTE0ODI4NVxuICBwcml2YXRlIF9kaWFsb2dDb250ZW50UmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoKSA9PiBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX29uQ29udGVudFJlc2l6ZSgpKSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfZGlhbG9nVGl0bGVFbGVtZW50OiBTYmJEaWFsb2dUaXRsZUVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfZGlhbG9nVGl0bGVIZWlnaHQ/OiBudW1iZXI7XG4gIHByaXZhdGUgX2RpYWxvZ0NvbnRlbnRFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9kaWFsb2dBY3Rpb25zRWxlbWVudDogU2JiRGlhbG9nQWN0aW9uc0VsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfaXNQb2ludGVyRG93bkV2ZW50T25EaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfb3ZlcmZsb3dzOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2xhc3RTY3JvbGwgPSAwO1xuICBwcml2YXRlIF9kaWFsb2dJZCA9IGBzYmItZGlhbG9nLSR7bmV4dElkKyt9YDtcbiAgcHJvdGVjdGVkIGNsb3NlQXR0cmlidXRlOiBzdHJpbmcgPSAnc2JiLWRpYWxvZy1jbG9zZSc7XG5cbiAgLyoqIE9wZW5zIHRoZSBjb21wb25lbnQuICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnY2xvc2VkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmxhc3RGb2N1c2VkRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAvLyBJbml0aWFsaXplIGRpYWxvZyBlbGVtZW50c1xuICAgIHRoaXMuX2RpYWxvZ1RpdGxlRWxlbWVudCA9IHRoaXMucXVlcnlTZWxlY3Rvcignc2JiLWRpYWxvZy10aXRsZScpO1xuICAgIHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50ID0gdGhpcy5xdWVyeVNlbGVjdG9yKCdzYmItZGlhbG9nLWNvbnRlbnQnKT8uc2hhZG93Um9vdCFcbiAgICAgIC5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MRWxlbWVudDtcbiAgICB0aGlzLl9kaWFsb2dBY3Rpb25zRWxlbWVudCA9IHRoaXMucXVlcnlTZWxlY3Rvcignc2JiLWRpYWxvZy1hY3Rpb25zJyk7XG5cbiAgICB0aGlzLl9zeW5jTmVnYXRpdmUoKTtcblxuICAgIGlmICghdGhpcy53aWxsT3Blbi5lbWl0KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuaW5nJztcblxuICAgIC8vIEFkZCB0aGlzIGRpYWxvZyB0byB0aGUgZ2xvYmFsIGNvbGxlY3Rpb25cbiAgICBvdmVybGF5UmVmcy5wdXNoKHRoaXMgYXMgU2JiRGlhbG9nRWxlbWVudCk7XG4gICAgdGhpcy5fZGlhbG9nQ29udGVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQpO1xuXG4gICAgLy8gRGlzYWJsZSBzY3JvbGxpbmcgZm9yIGNvbnRlbnQgYmVsb3cgdGhlIGRpYWxvZ1xuICAgIHRoaXMuc2Nyb2xsSGFuZGxlci5kaXNhYmxlU2Nyb2xsKCk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc2V0SGlkZUhlYWRlckRhdGFBdHRyaWJ1dGUoZmFsc2UpO1xuICAgIHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50Py5zY3JvbGxUbygwLCAwKTtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgdGhpcy5pbmVydENvbnRyb2xsZXIuZGVhY3RpdmF0ZSgpO1xuICAgIHNldE1vZGFsaXR5T25OZXh0Rm9jdXModGhpcy5sYXN0Rm9jdXNlZEVsZW1lbnQpO1xuICAgIC8vIE1hbnVhbGx5IGZvY3VzIGxhc3QgZm9jdXNlZCBlbGVtZW50XG4gICAgdGhpcy5sYXN0Rm9jdXNlZEVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgdGhpcy5vcGVuT3ZlcmxheUNvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5mb2N1c0hhbmRsZXIuZGlzY29ubmVjdCgpO1xuICAgIGlmICh0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudCkge1xuICAgICAgdGhpcy5fZGlhbG9nQ29udGVudFJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudCk7XG4gICAgfVxuICAgIHRoaXMucmVtb3ZlSW5zdGFuY2VGcm9tR2xvYmFsQ29sbGVjdGlvbigpO1xuICAgIC8vIEVuYWJsZSBzY3JvbGxpbmcgZm9yIGNvbnRlbnQgYmVsb3cgdGhlIGRpYWxvZyBpZiBubyBkaWFsb2cgaXMgb3BlblxuICAgIGlmICghb3ZlcmxheVJlZnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gICAgfVxuICAgIHRoaXMuZGlkQ2xvc2UuZW1pdCh7XG4gICAgICByZXR1cm5WYWx1ZTogdGhpcy5yZXR1cm5WYWx1ZSxcbiAgICAgIGNsb3NlVGFyZ2V0OiB0aGlzLm92ZXJsYXlDbG9zZUVsZW1lbnQsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLmRpZE9wZW4uZW1pdCgpO1xuICAgIHRoaXMuaW5lcnRDb250cm9sbGVyLmFjdGl2YXRlKCk7XG4gICAgdGhpcy5hdHRhY2hPcGVuT3ZlcmxheUV2ZW50cygpO1xuICAgIHRoaXMuc2V0T3ZlcmxheUZvY3VzKCk7XG4gICAgLy8gVXNlIHRpbWVvdXQgdG8gcmVhZCBsYWJlbCBhZnRlciBmb2N1c2VkIGVsZW1lbnRcbiAgICBzZXRUaW1lb3V0KCgpID0+XG4gICAgICB0aGlzLnNldEFyaWFMaXZlUmVmQ29udGVudChcbiAgICAgICAgdGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWwgfHwgdGhpcy5fZGlhbG9nVGl0bGVFbGVtZW50Py5pbm5lclRleHQudHJpbSgpLFxuICAgICAgKSxcbiAgICApO1xuICAgIHRoaXMuZm9jdXNIYW5kbGVyLnRyYXAodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIC8vIENsb3NlIGRpYWxvZyBvbiBiYWNrZHJvcCBjbGlja1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcmRvd24nLCB0aGlzLl9wb2ludGVyRG93bkxpc3RlbmVyLCB7XG4gICAgICBzaWduYWw6IHRoaXMub3ZlcmxheUNvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgdGhpcy5fY2xvc2VPbkJhY2tkcm9wQ2xpY2ssIHtcbiAgICAgIHNpZ25hbDogdGhpcy5vdmVybGF5Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIC8vIFN5bmNocm9uaXplIHRoZSBuZWdhdGl2ZSBzdGF0ZSBiZWZvcmUgdGhlIGZpcnN0IG9wZW5pbmcgdG8gYXZvaWQgYSBwb3NzaWJsZSBjb2xvciBmbGFzaCBpZiBpdCBpcyBuZWdhdGl2ZS5cbiAgICB0aGlzLl9kaWFsb2dUaXRsZUVsZW1lbnQgPSB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ3NiYi1kaWFsb2ctdGl0bGUnKSE7XG4gICAgdGhpcy5fc3luY05lZ2F0aXZlKCk7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbmVnYXRpdmUnKSkge1xuICAgICAgdGhpcy5fc3luY05lZ2F0aXZlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGF0dGFjaE9wZW5PdmVybGF5RXZlbnRzKCk6IHZvaWQge1xuICAgIHN1cGVyLmF0dGFjaE9wZW5PdmVybGF5RXZlbnRzKCk7XG5cbiAgICAvLyBJZiB0aGUgY29udGVudCBvdmVyZmxvd3MsIHNob3cvaGlkZSB0aGUgZGlhbG9nIGhlYWRlciBvbiBzY3JvbGwuXG4gICAgdGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsICgpID0+IHRoaXMuX29uQ29udGVudFNjcm9sbCgpLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgc2lnbmFsOiB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsICgpID0+IHRoaXMuX3NldEhpZGVIZWFkZXJEYXRhQXR0cmlidXRlKGZhbHNlKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gIH1cblxuICAvLyBXYWl0IGZvciBkaWFsb2cgdHJhbnNpdGlvbiB0byBjb21wbGV0ZS5cbiAgLy8gSW4gcmFyZSBjYXNlcywgaXQgY2FuIGJlIHRoYXQgdGhlIGFuaW1hdGlvbkVuZCBldmVudCBpcyB0cmlnZ2VyZWQgdHdpY2UuXG4gIC8vIFRvIGF2b2lkIGVudGVyaW5nIGEgY29ycnVwdCBzdGF0ZSwgZXhpdCB3aGVuIHN0YXRlIGlzIG5vdCBleHBlY3RlZC5cbiAgcHJvdGVjdGVkIG9uT3ZlcmxheUFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldCBmb2N1cyBvbiB0aGUgZmlyc3QgZm9jdXNhYmxlIGVsZW1lbnQuXG4gIHByb3RlY3RlZCBzZXRPdmVybGF5Rm9jdXMoKTogdm9pZCB7XG4gICAgY29uc3QgZmlyc3RGb2N1c2FibGUgPSBnZXRGaXJzdEZvY3VzYWJsZUVsZW1lbnQoXG4gICAgICBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4pLmZpbHRlcigoZSk6IGUgaXMgSFRNTEVsZW1lbnQgPT4gZSBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudCksXG4gICAgKTtcbiAgICBzZXRNb2RhbGl0eU9uTmV4dEZvY3VzKGZpcnN0Rm9jdXNhYmxlKTtcbiAgICBmaXJzdEZvY3VzYWJsZT8uZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNOZWdhdGl2ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fZGlhbG9nVGl0bGVFbGVtZW50KSB7XG4gICAgICB0aGlzLl9kaWFsb2dUaXRsZUVsZW1lbnQubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9kaWFsb2dBY3Rpb25zRWxlbWVudCkge1xuICAgICAgdGhpcy5fZGlhbG9nQWN0aW9uc0VsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCdkYXRhLW5lZ2F0aXZlJywgdGhpcy5uZWdhdGl2ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25Db250ZW50U2Nyb2xsKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBoYXNWaXNpYmxlSGVhZGVyID0gdGhpcy5kYXRhc2V0LmhpZGVIZWFkZXIgPT09IHVuZGVmaW5lZDtcblxuICAgIC8vIENoZWNrIHdoZXRoZXIgaGlkaW5nIHRoZSBoZWFkZXIgd291bGQgbWFrZSB0aGUgc2Nyb2xsYmFyIGRpc2FwcGVhclxuICAgIC8vIGFuZCBwcmV2ZW50IHRoZSBoaWRpbmcgYW5pbWF0aW9uIGlmIHNvLlxuICAgIGlmIChcbiAgICAgIGhhc1Zpc2libGVIZWFkZXIgJiZcbiAgICAgIHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50LmNsaWVudEhlaWdodCArIHRoaXMuX2RpYWxvZ1RpdGxlSGVpZ2h0ISA+PVxuICAgICAgICB0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudC5zY3JvbGxIZWlnaHRcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50U2Nyb2xsID0gdGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQuc2Nyb2xsVG9wO1xuICAgIGlmIChcbiAgICAgIE1hdGgucm91bmQoY3VycmVudFNjcm9sbCArIHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50LmNsaWVudEhlaWdodCkgPj1cbiAgICAgIHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50LnNjcm9sbEhlaWdodFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBDaGVjayB3aGV0aGVyIGlzIHNjcm9sbGluZyBkb3duIG9yIHVwLlxuICAgIGlmIChjdXJyZW50U2Nyb2xsID4gMCAmJiB0aGlzLl9sYXN0U2Nyb2xsIDwgY3VycmVudFNjcm9sbCkge1xuICAgICAgLy8gU2Nyb2xsaW5nIGRvd25cbiAgICAgIHRoaXMuX3NldEhpZGVIZWFkZXJEYXRhQXR0cmlidXRlKHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTY3JvbGxpbmcgdXBcbiAgICAgIHRoaXMuX3NldEhpZGVIZWFkZXJEYXRhQXR0cmlidXRlKGZhbHNlKTtcbiAgICB9XG4gICAgLy8gYGN1cnJlbnRTY3JvbGxgIGNhbiBiZSBuZWdhdGl2ZSwgZS5nLiBvbiBtb2JpbGU7IHRoaXMgaXMgbm90IGFsbG93ZWQuXG4gICAgdGhpcy5fbGFzdFNjcm9sbCA9IGN1cnJlbnRTY3JvbGwgPD0gMCA/IDAgOiBjdXJyZW50U2Nyb2xsO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHBvaW50ZXJkb3duIGV2ZW50IHRhcmdldCBpcyB0cmlnZ2VyZWQgb24gdGhlIGRpYWxvZy5cbiAgcHJpdmF0ZSBfcG9pbnRlckRvd25MaXN0ZW5lciA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMuYmFja2Ryb3BBY3Rpb24gIT09ICdjbG9zZScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbkRpYWxvZyA9IGV2ZW50XG4gICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgIC5maWx0ZXIoKGUpOiBlIGlzIEhUTUxFbGVtZW50ID0+IGUgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpXG4gICAgICAuc29tZSgodGFyZ2V0KSA9PiB0YXJnZXQuaWQgPT09IHRoaXMuX2RpYWxvZ0lkKTtcbiAgfTtcblxuICAvLyBDbG9zZSBkaWFsb2cgb24gYmFja2Ryb3AgY2xpY2suXG4gIHByaXZhdGUgX2Nsb3NlT25CYWNrZHJvcENsaWNrID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5iYWNrZHJvcEFjdGlvbiAhPT0gJ2Nsb3NlJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICF0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbkRpYWxvZyAmJlxuICAgICAgIWV2ZW50XG4gICAgICAgIC5jb21wb3NlZFBhdGgoKVxuICAgICAgICAuZmlsdGVyKChlKTogZSBpcyBIVE1MRWxlbWVudCA9PiBlIGluc3RhbmNlb2Ygd2luZG93LkhUTUxFbGVtZW50KVxuICAgICAgICAuc29tZSgodGFyZ2V0KSA9PiB0YXJnZXQuaWQgPT09IHRoaXMuX2RpYWxvZ0lkKVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9zZXREaWFsb2dIZWFkZXJIZWlnaHQoKTogdm9pZCB7XG4gICAgdGhpcy5fZGlhbG9nVGl0bGVIZWlnaHQgPSB0aGlzLl9kaWFsb2dUaXRsZUVsZW1lbnQ/LnNoYWRvd1Jvb3QhLmZpcnN0RWxlbWVudENoaWxkIS5jbGllbnRIZWlnaHQ7XG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItZGlhbG9nLWhlYWRlci1oZWlnaHQnLCBgJHt0aGlzLl9kaWFsb2dUaXRsZUhlaWdodH1weGApO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Db250ZW50UmVzaXplKCk6IHZvaWQge1xuICAgIHRoaXMuX3NldERpYWxvZ0hlYWRlckhlaWdodCgpO1xuICAgIC8vIENoZWNrIHdoZXRoZXIgdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGFuZCBzZXQgdGhlIGBvdmVyZmxvd3NgIGF0dHJpYnV0ZS5cbiAgICB0aGlzLl9vdmVyZmxvd3MgPSB0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudFxuICAgICAgPyB0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudD8uc2Nyb2xsSGVpZ2h0ID4gdGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQ/LmNsaWVudEhlaWdodFxuICAgICAgOiBmYWxzZTtcbiAgICB0aGlzLl9zZXRPdmVyZmxvd3NEYXRhQXR0cmlidXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRIaWRlSGVhZGVyRGF0YUF0dHJpYnV0ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IGhpZGVPblNjcm9sbCA9IHRoaXMuX2RpYWxvZ1RpdGxlRWxlbWVudD8uaGlkZU9uU2Nyb2xsID8/IGZhbHNlO1xuICAgIGNvbnN0IGhpZGVIZWFkZXIgPVxuICAgICAgdHlwZW9mIGhpZGVPblNjcm9sbCA9PT0gJ2Jvb2xlYW4nXG4gICAgICAgID8gaGlkZU9uU2Nyb2xsXG4gICAgICAgIDogKGlzQnJlYWtwb2ludCgnemVybycsIGhpZGVPblNjcm9sbCwgeyBpbmNsdWRlTWF4QnJlYWtwb2ludDogdHJ1ZSB9KSA/PyBmYWxzZSk7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaGlkZS1oZWFkZXInLCAhaGlkZUhlYWRlciA/IGZhbHNlIDogdmFsdWUpO1xuICAgIGlmICh0aGlzLl9kaWFsb2dUaXRsZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2RpYWxvZ1RpdGxlRWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaGlkZS1oZWFkZXInLCAhaGlkZUhlYWRlciA/IGZhbHNlIDogdmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldE92ZXJmbG93c0RhdGFBdHRyaWJ1dGUoKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtb3ZlcmZsb3dzJywgdGhpcy5fb3ZlcmZsb3dzKTtcbiAgICB0aGlzLl9kaWFsb2dUaXRsZUVsZW1lbnQ/LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1vdmVyZmxvd3MnLCB0aGlzLl9vdmVyZmxvd3MpO1xuICAgIHRoaXMuX2RpYWxvZ0FjdGlvbnNFbGVtZW50Py50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtb3ZlcmZsb3dzJywgdGhpcy5fb3ZlcmZsb3dzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1kaWFsb2dfX2NvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IEBhbmltYXRpb25lbmQ9JHt0aGlzLm9uT3ZlcmxheUFuaW1hdGlvbkVuZH0gY2xhc3M9XCJzYmItZGlhbG9nXCIgaWQ9JHt0aGlzLl9kaWFsb2dJZH0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgQGNsaWNrPSR7KGV2ZW50OiBFdmVudCkgPT4gdGhpcy5jbG9zZU9uU2JiT3ZlcmxheUNsb3NlQ2xpY2soZXZlbnQpfVxuICAgICAgICAgICAgY2xhc3M9XCJzYmItZGlhbG9nX193cmFwcGVyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8c2JiLXNjcmVlbi1yZWFkZXItb25seSBhcmlhLWxpdmU9XCJwb2xpdGVcIj48L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpYWxvZyc6IFNiYkRpYWxvZ0VsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWVBLElBQUksU0FBUztJQWdCUCxvQkFBZ0IsTUFBQTs7MEJBRHJCLGNBQWMsWUFBWSxDQUFDOzs7O29C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
@@ -32,7 +32,10 @@ export declare class SbbExpansionPanelElement extends SbbExpansionPanelElement_b
32
32
  private _disabled;
33
33
  /** Whether the panel has no border. */
34
34
  accessor borderless: boolean;
35
- /** Size variant, either l or s. */
35
+ /**
36
+ * Size variant, either l or s.
37
+ * @default 'l' / 's' (lean)
38
+ */
36
39
  accessor size: 's' | 'l';
37
40
  /**
38
41
  * The state of the notification.
@@ -60,6 +63,9 @@ export declare class SbbExpansionPanelElement extends SbbExpansionPanelElement_b
60
63
  private _onExpandedChange;
61
64
  private _open;
62
65
  private _close;
66
+ private _isZeroAnimationDuration;
67
+ private _handleOpening;
68
+ private _handleClosing;
63
69
  private _updateDisabledOnHeader;
64
70
  private _handleSlotchange;
65
71
  private _onAnimationEnd;
@@ -1 +1 @@
1
- {"version":3,"file":"expansion-panel.d.ts","sourceRoot":"","sources":["../../../../../src/elements/expansion-panel/expansion-panel/expansion-panel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AASjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;;AAQpD;;;;;;;;GAQG;AACH,qBAEM,wBAAyB,SAAQ,6BAA6B;IAClE,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;;;MAKlB;IAEX,yDAAyD;IACzD,SAAwD,UAAU,EAAE,aAAa,GAAG,IAAI,CAAQ;IAEhG,yCAAyC;IACzC,SAA4B,KAAK,EAAE,OAAO,GAAG,MAAM,CAAW;IAE9D,qCAAqC;IACrC,IACW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAGjC;IACD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IACD,OAAO,CAAC,SAAS,CAAkB;IAEnC,6EAA6E;IAC7E,IACW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAGjC;IACD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IACD,OAAO,CAAC,SAAS,CAAkB;IAEnC,uCAAuC;IACvC,SAEgB,UAAU,EAAE,OAAO,CAAS;IAE5C,mCAAmC;IACnC,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,CAAO;IAEnE;;OAEG;IACH,OAAO,KAAK,MAAM,QAEjB;IACD,OAAO,KAAK,MAAM,GAEjB;IAED,8EAA8E;IAC9E,OAAO,CAAC,SAAS,CAGf;IAEF,0DAA0D;IAC1D,OAAO,CAAC,QAAQ,CAGd;IAEF,8EAA8E;IAC9E,OAAO,CAAC,UAAU,CAGhB;IAEF,0DAA0D;IAC1D,OAAO,CAAC,SAAS,CAGf;IAEF,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,UAAU,CAAC,CAAiC;IACpD,OAAO,CAAC,WAAW,CAAC,CAAkC;IACtD,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,YAAY,CAAkB;IAEtB,iBAAiB,IAAI,IAAI;cAOtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAS5D,oBAAoB,IAAI,IAAI;cAKzB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAM9E,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,KAAK;IAUb,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,iBAAiB;IAmCzB,OAAO,CAAC,eAAe;cAUJ,MAAM,IAAI,cAAc;CAkB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,qBAAqB,EAAE,wBAAwB,CAAC;KACjD;CACF"}
1
+ {"version":3,"file":"expansion-panel.d.ts","sourceRoot":"","sources":["../../../../../src/elements/expansion-panel/expansion-panel/expansion-panel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAUjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;;AAQpD;;;;;;;;GAQG;AACH,qBAEM,wBAAyB,SAAQ,6BAA6B;IAClE,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;;;MAKlB;IAEX,yDAAyD;IACzD,SAAwD,UAAU,EAAE,aAAa,GAAG,IAAI,CAAQ;IAEhG,yCAAyC;IACzC,SAA4B,KAAK,EAAE,OAAO,GAAG,MAAM,CAAW;IAE9D,qCAAqC;IACrC,IACW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAGjC;IACD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IACD,OAAO,CAAC,SAAS,CAAkB;IAEnC,6EAA6E;IAC7E,IACW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAGjC;IACD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IACD,OAAO,CAAC,SAAS,CAAkB;IAEnC,uCAAuC;IACvC,SAEgB,UAAU,EAAE,OAAO,CAAS;IAE5C;;;OAGG;IACH,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,CAAwB;IAEpF;;OAEG;IACH,OAAO,KAAK,MAAM,QAEjB;IACD,OAAO,KAAK,MAAM,GAEjB;IAED,8EAA8E;IAC9E,OAAO,CAAC,SAAS,CAIf;IAEF,0DAA0D;IAC1D,OAAO,CAAC,QAAQ,CAId;IAEF,8EAA8E;IAC9E,OAAO,CAAC,UAAU,CAIhB;IAEF,0DAA0D;IAC1D,OAAO,CAAC,SAAS,CAIf;IAEF,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,UAAU,CAAC,CAAiC;IACpD,OAAO,CAAC,WAAW,CAAC,CAAkC;IACtD,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,YAAY,CAAkB;IAEtB,iBAAiB,IAAI,IAAI;cAOtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAS5D,oBAAoB,IAAI,IAAI;cAKzB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAM9E,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,KAAK;IAWb,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,iBAAiB;IAmCzB,OAAO,CAAC,eAAe;cAQJ,MAAM,IAAI,cAAc;CAkB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,qBAAqB,EAAE,wBAAwB,CAAC;KACjD;CACF"}
@@ -33,12 +33,12 @@ const style = css`*,
33
33
  --sbb-expansion-panel-header-padding-inline: var(--sbb-spacing-fixed-5x);
34
34
  }
35
35
 
36
- :host([disabled]) {
36
+ :host(:is(:disabled, [disabled-interactive])) {
37
37
  --sbb-expansion-panel-header-cursor: default;
38
38
  --sbb-expansion-panel-header-text-color: var(--sbb-color-granite);
39
39
  }
40
40
  @media (forced-colors: active) {
41
- :host([disabled]) {
41
+ :host(:is(:disabled, [disabled-interactive])) {
42
42
  --sbb-expansion-panel-header-text-color: GrayText;
43
43
  }
44
44
  }
@@ -92,7 +92,7 @@ const style = css`*,
92
92
  }
93
93
 
94
94
  .sbb-expansion-panel-header__toggle-icon {
95
- transition: transform var(--sbb-disable-animation-zero-time, var(--sbb-animation-duration-4x));
95
+ transition: transform var(--sbb-disable-animation-duration, var(--sbb-animation-duration-4x));
96
96
  }
97
97
  :host([aria-expanded]:not([aria-expanded=false])) .sbb-expansion-panel-header__toggle-icon {
98
98
  transform: rotate(-180deg);
@@ -11,6 +11,7 @@ import { customElement, property } from "lit/decorators.js";
11
11
  import { html, unsafeStatic } from "lit/static-html.js";
12
12
  import { SbbConnectedAbortController } from "../core/controllers.js";
13
13
  import { forceType } from "../core/decorators.js";
14
+ import { isLean, isZeroAnimationDuration } from "../core/dom.js";
14
15
  import { EventEmitter } from "../core/eventing.js";
15
16
  import { SbbHydrationMixin } from "../core/mixins.js";
16
17
  const style = css`*,
@@ -21,7 +22,7 @@ const style = css`*,
21
22
 
22
23
  :host {
23
24
  --sbb-expansion-panel-animation-duration: var(
24
- --sbb-disable-animation-zero-time,
25
+ --sbb-disable-animation-duration,
25
26
  var(--sbb-animation-duration-4x)
26
27
  );
27
28
  --sbb-expansion-panel-background-color: var(--sbb-color-white);
@@ -218,11 +219,11 @@ let SbbExpansionPanelElement = (() => {
218
219
  this._expanded = (__runInitializers(this, _color_extraInitializers), false);
219
220
  this._disabled = false;
220
221
  __privateSet(this, _borderless_accessor_storage, __runInitializers(this, _borderless_initializers, false));
221
- __privateSet(this, _size_accessor_storage, (__runInitializers(this, _borderless_extraInitializers), __runInitializers(this, _size_initializers, "l")));
222
- this._willOpen = (__runInitializers(this, _size_extraInitializers), new EventEmitter(this, SbbExpansionPanelElement2.events.willOpen));
223
- this._didOpen = new EventEmitter(this, SbbExpansionPanelElement2.events.didOpen);
224
- this._willClose = new EventEmitter(this, SbbExpansionPanelElement2.events.willClose);
225
- this._didClose = new EventEmitter(this, SbbExpansionPanelElement2.events.didClose);
222
+ __privateSet(this, _size_accessor_storage, (__runInitializers(this, _borderless_extraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "l")));
223
+ this._willOpen = (__runInitializers(this, _size_extraInitializers), new EventEmitter(this, SbbExpansionPanelElement2.events.willOpen, { cancelable: true }));
224
+ this._didOpen = new EventEmitter(this, SbbExpansionPanelElement2.events.didOpen, { cancelable: true });
225
+ this._willClose = new EventEmitter(this, SbbExpansionPanelElement2.events.willClose, { cancelable: true });
226
+ this._didClose = new EventEmitter(this, SbbExpansionPanelElement2.events.didClose, { cancelable: true });
226
227
  this._progressiveId = `-${++nextId}`;
227
228
  this._abort = new SbbConnectedAbortController(this);
228
229
  this._initialized = false;
@@ -264,7 +265,10 @@ let SbbExpansionPanelElement = (() => {
264
265
  set borderless(value) {
265
266
  __privateSet(this, _borderless_accessor_storage, value);
266
267
  }
267
- /** Size variant, either l or s. */
268
+ /**
269
+ * Size variant, either l or s.
270
+ * @default 'l' / 's' (lean)
271
+ */
268
272
  get size() {
269
273
  return __privateGet(this, _size_accessor_storage);
270
274
  }
@@ -311,22 +315,35 @@ let SbbExpansionPanelElement = (() => {
311
315
  (_a2 = this._headerRef) == null ? void 0 : _a2.setAttribute("aria-expanded", String(this.expanded));
312
316
  (_b = this._contentRef) == null ? void 0 : _b.setAttribute("aria-hidden", String(!this.expanded));
313
317
  if (this.expanded) {
314
- this._open(!this._initialized);
318
+ this._open();
315
319
  } else if (this._state === "opened") {
316
320
  this._close();
317
321
  }
318
322
  }
319
- _open(skipAnimation = false) {
323
+ _open() {
320
324
  this._state = "opening";
321
325
  this._willOpen.emit();
322
- if (skipAnimation) {
323
- this._state = "opened";
324
- this._didOpen.emit();
326
+ if (!this._initialized || this._isZeroAnimationDuration()) {
327
+ this._handleOpening();
325
328
  }
326
329
  }
327
330
  _close() {
328
331
  this._state = "closing";
329
332
  this._willClose.emit();
333
+ if (this._isZeroAnimationDuration()) {
334
+ this._handleClosing();
335
+ }
336
+ }
337
+ _isZeroAnimationDuration() {
338
+ return isZeroAnimationDuration(this, "--sbb-expansion-panel-animation-duration");
339
+ }
340
+ _handleOpening() {
341
+ this._state = "opened";
342
+ this._didOpen.emit();
343
+ }
344
+ _handleClosing() {
345
+ this._state = "closed";
346
+ this._didClose.emit();
330
347
  }
331
348
  _updateDisabledOnHeader(newDisabledValue) {
332
349
  if (this._headerRef) {
@@ -361,11 +378,9 @@ let SbbExpansionPanelElement = (() => {
361
378
  }
362
379
  _onAnimationEnd(event) {
363
380
  if (event.animationName === "open-opacity" && this._state === "opening") {
364
- this._state = "opened";
365
- this._didOpen.emit();
381
+ this._handleOpening();
366
382
  } else if (event.animationName === "close" && this._state === "closing") {
367
- this._state = "closed";
368
- this._didClose.emit();
383
+ this._handleClosing();
369
384
  }
370
385
  }
371
386
  render() {
@@ -423,4 +438,4 @@ let SbbExpansionPanelElement = (() => {
423
438
  export {
424
439
  SbbExpansionPanelElement
425
440
  };
426
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sLCB1bnNhZmVTdGF0aWMgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiT3BlbmVkQ2xvc2VkU3RhdGUgfSBmcm9tICcuLi8uLi9jb3JlL2ludGVyZmFjZXMuanMnO1xuaW1wb3J0IHsgU2JiSHlkcmF0aW9uTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRpdGxlTGV2ZWwgfSBmcm9tICcuLi8uLi90aXRsZS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkV4cGFuc2lvblBhbmVsQ29udGVudEVsZW1lbnQgfSBmcm9tICcuLi9leHBhbnNpb24tcGFuZWwtY29udGVudC5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkV4cGFuc2lvblBhbmVsSGVhZGVyRWxlbWVudCB9IGZyb20gJy4uL2V4cGFuc2lvbi1wYW5lbC1oZWFkZXIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9leHBhbnNpb24tcGFuZWwuc2Nzcz9saXQmaW5saW5lJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gZXhwYW5kYWJsZSBzdW1tYXJ5LWRldGFpbHMgd2lkZ2V0LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGEgYHNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyYCBhbmQgYSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50YCBlbGVtZW50LlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gd2lsbE9wZW4gLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1leHBhbnNpb24tcGFuZWxgIHN0YXJ0cyB0aGUgb3BlbmluZyB0cmFuc2l0aW9uLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWV4cGFuc2lvbi1wYW5lbGAgaXMgb3BlbmVkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gd2lsbENsb3NlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBiZWdpbnMgdGhlIGNsb3NpbmcgdHJhbnNpdGlvbi5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZENsb3NlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBpcyBjbG9zZWQuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1leHBhbnNpb24tcGFuZWwnKVxuY2xhc3MgU2JiRXhwYW5zaW9uUGFuZWxFbGVtZW50IGV4dGVuZHMgU2JiSHlkcmF0aW9uTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgd2lsbE9wZW46ICd3aWxsT3BlbicsXG4gICAgZGlkT3BlbjogJ2RpZE9wZW4nLFxuICAgIHdpbGxDbG9zZTogJ3dpbGxDbG9zZScsXG4gICAgZGlkQ2xvc2U6ICdkaWRDbG9zZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIEhlYWRpbmcgbGV2ZWw7IGlmIHVuc2V0LCBhIGBkaXZgIHdpbGwgYmUgcmVuZGVyZWQuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RpdGxlLWxldmVsJyB9KSBwdWJsaWMgYWNjZXNzb3IgdGl0bGVMZXZlbDogU2JiVGl0bGVMZXZlbCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgcGFuZWwuICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBhY2Nlc3NvciBjb2xvcjogJ3doaXRlJyB8ICdtaWxrJyA9ICd3aGl0ZSc7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHBhbmVsIGlzIGV4cGFuZGVkLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBzZXQgZXhwYW5kZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9leHBhbmRlZCA9IHZhbHVlO1xuICAgIHRoaXMuX29uRXhwYW5kZWRDaGFuZ2UoKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGV4cGFuZGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9leHBhbmRlZDtcbiAgfVxuICBwcml2YXRlIF9leHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBwYW5lbCBpcyBkaXNhYmxlZCwgc28gaXRzIGV4cGFuZGVkIHN0YXRlIGNhbid0IGJlIGNoYW5nZWQuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gICAgdGhpcy5fdXBkYXRlRGlzYWJsZWRPbkhlYWRlcih0aGlzLl9kaXNhYmxlZCk7XG4gIH1cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogV2hldGhlciB0aGUgcGFuZWwgaGFzIG5vIGJvcmRlci4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGJvcmRlcmxlc3M6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogU2l6ZSB2YXJpYW50LCBlaXRoZXIgbCBvciBzLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAncycgfCAnbCcgPSAnbCc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdGF0ZSBvZiB0aGUgbm90aWZpY2F0aW9uLlxuICAgKi9cbiAgcHJpdmF0ZSBzZXQgX3N0YXRlKHN0YXRlOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSkge1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLXN0YXRlJywgc3RhdGUpO1xuICB9XG4gIHByaXZhdGUgZ2V0IF9zdGF0ZSgpOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLXN0YXRlJykgYXMgU2JiT3BlbmVkQ2xvc2VkU3RhdGU7XG4gIH1cblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBzdGFydHMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi4gKi9cbiAgcHJpdmF0ZSBfd2lsbE9wZW46IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJFeHBhbnNpb25QYW5lbEVsZW1lbnQuZXZlbnRzLndpbGxPcGVuLFxuICApO1xuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1leHBhbnNpb24tcGFuZWxgIGlzIG9wZW5lZC4gKi9cbiAgcHJpdmF0ZSBfZGlkT3BlbjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudC5ldmVudHMuZGlkT3BlbixcbiAgKTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBiZWdpbnMgdGhlIGNsb3NpbmcgdHJhbnNpdGlvbi4gKi9cbiAgcHJpdmF0ZSBfd2lsbENsb3NlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKFxuICAgIHRoaXMsXG4gICAgU2JiRXhwYW5zaW9uUGFuZWxFbGVtZW50LmV2ZW50cy53aWxsQ2xvc2UsXG4gICk7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWV4cGFuc2lvbi1wYW5lbGAgaXMgY2xvc2VkLiAqL1xuICBwcml2YXRlIF9kaWRDbG9zZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudC5ldmVudHMuZGlkQ2xvc2UsXG4gICk7XG5cbiAgcHJpdmF0ZSBfcHJvZ3Jlc3NpdmVJZCA9IGAtJHsrK25leHRJZH1gO1xuICBwcml2YXRlIF9oZWFkZXJSZWY/OiBTYmJFeHBhbnNpb25QYW5lbEhlYWRlckVsZW1lbnQ7XG4gIHByaXZhdGUgX2NvbnRlbnRSZWY/OiBTYmJFeHBhbnNpb25QYW5lbENvbnRlbnRFbGVtZW50O1xuICBwcml2YXRlIF9hYm9ydCA9IG5ldyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2luaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgY29uc3Qgc2lnbmFsID0gdGhpcy5fYWJvcnQuc2lnbmFsO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigndG9nZ2xlRXhwYW5kZWQnLCAoKSA9PiB0aGlzLl90b2dnbGVFeHBhbmRlZCgpLCB7IHNpZ25hbCB9KTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1hY2NvcmRpb24nLCAhIXRoaXMuY2xvc2VzdD8uKCdzYmItYWNjb3JkaW9uJykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdzaXplJykpIHtcbiAgICAgIHRoaXMuX2hlYWRlclJlZj8uc2V0QXR0cmlidXRlKCdkYXRhLXNpemUnLCBTdHJpbmcodGhpcy5zaXplKSk7XG4gICAgICB0aGlzLl9jb250ZW50UmVmPy5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2l6ZScsIFN0cmluZyh0aGlzLnNpemUpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1hY2NvcmRpb24nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuX2luaXRpYWxpemVkID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX3RvZ2dsZUV4cGFuZGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgfVxuXG4gIHByaXZhdGUgX29uRXhwYW5kZWRDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5faGVhZGVyUmVmPy5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBTdHJpbmcodGhpcy5leHBhbmRlZCkpO1xuICAgIHRoaXMuX2NvbnRlbnRSZWY/LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCBTdHJpbmcoIXRoaXMuZXhwYW5kZWQpKTtcblxuICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XG4gICAgICB0aGlzLl9vcGVuKCF0aGlzLl9pbml0aWFsaXplZCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ29wZW5lZCcpIHtcbiAgICAgIHRoaXMuX2Nsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb3Blbihza2lwQW5pbWF0aW9uID0gZmFsc2UpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICB0aGlzLl93aWxsT3Blbi5lbWl0KCk7XG5cbiAgICBpZiAoc2tpcEFuaW1hdGlvbikge1xuICAgICAgdGhpcy5fc3RhdGUgPSAnb3BlbmVkJztcbiAgICAgIHRoaXMuX2RpZE9wZW4uZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Nsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuX3dpbGxDbG9zZS5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVEaXNhYmxlZE9uSGVhZGVyKG5ld0Rpc2FibGVkVmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faGVhZGVyUmVmKSB7XG4gICAgICB0aGlzLl9oZWFkZXJSZWYuZGlzYWJsZWQgPSBuZXdEaXNhYmxlZFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4gPz8gW10pO1xuICAgIGNvbnN0IGhlYWRlciA9IGNoaWxkcmVuLmZpbmQoXG4gICAgICAoZSk6IGUgaXMgU2JiRXhwYW5zaW9uUGFuZWxIZWFkZXJFbGVtZW50ID0+IGUubG9jYWxOYW1lID09PSAnc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXInLFxuICAgICk7XG4gICAgY29uc3QgY29udGVudCA9IGNoaWxkcmVuLmZpbmQoXG4gICAgICAoZSk6IGUgaXMgU2JiRXhwYW5zaW9uUGFuZWxDb250ZW50RWxlbWVudCA9PiBlLmxvY2FsTmFtZSA9PT0gJ3NiYi1leHBhbnNpb24tcGFuZWwtY29udGVudCcsXG4gICAgKTtcbiAgICBpZiAodGhpcy5faGVhZGVyUmVmID09PSBoZWFkZXIgJiYgdGhpcy5fY29udGVudFJlZiA9PT0gY29udGVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoaGVhZGVyICYmIHRoaXMuX2hlYWRlclJlZiAhPT0gaGVhZGVyKSB7XG4gICAgICBoZWFkZXIuaWQgfHw9IGBzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlciR7dGhpcy5fcHJvZ3Jlc3NpdmVJZH1gO1xuICAgICAgaGVhZGVyLnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsIFN0cmluZyh0aGlzLmV4cGFuZGVkKSk7XG4gICAgICBoZWFkZXIudG9nZ2xlQXR0cmlidXRlKCdkaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQpO1xuICAgICAgaGVhZGVyLnNldEF0dHJpYnV0ZSgnZGF0YS1zaXplJywgU3RyaW5nKHRoaXMuc2l6ZSkpO1xuICAgIH1cbiAgICBpZiAoY29udGVudCAmJiB0aGlzLl9jb250ZW50UmVmICE9PSBjb250ZW50KSB7XG4gICAgICBjb250ZW50LmlkIHx8PSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50JHt0aGlzLl9wcm9ncmVzc2l2ZUlkfWA7XG4gICAgICBjb250ZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCBTdHJpbmcoIXRoaXMuZXhwYW5kZWQpKTtcbiAgICAgIGNvbnRlbnQuc2V0QXR0cmlidXRlKCdkYXRhLXNpemUnLCBTdHJpbmcodGhpcy5zaXplKSk7XG4gICAgfVxuXG4gICAgdGhpcy5faGVhZGVyUmVmID0gaGVhZGVyO1xuICAgIHRoaXMuX2NvbnRlbnRSZWYgPSBjb250ZW50O1xuICAgIGlmICh0aGlzLl9oZWFkZXJSZWYgJiYgdGhpcy5fY29udGVudFJlZikge1xuICAgICAgdGhpcy5faGVhZGVyUmVmLnNldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycsIHRoaXMuX2NvbnRlbnRSZWYuaWQpO1xuICAgICAgdGhpcy5fY29udGVudFJlZi5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWxsZWRieScsIHRoaXMuX2hlYWRlclJlZi5pZCk7XG4gICAgICB0aGlzLl9jb250ZW50UmVmLnRvZ2dsZUF0dHJpYnV0ZShcbiAgICAgICAgJ2RhdGEtaWNvbi1zcGFjZScsXG4gICAgICAgIHRoaXMuX2hlYWRlclJlZi5oYXNBdHRyaWJ1dGUoJ2RhdGEtaWNvbicpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4tb3BhY2l0eScgJiYgdGhpcy5fc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5fc3RhdGUgPSAnb3BlbmVkJztcbiAgICAgIHRoaXMuX2RpZE9wZW4uZW1pdCgpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLl9zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9zdGF0ZSA9ICdjbG9zZWQnO1xuICAgICAgdGhpcy5fZGlkQ2xvc2UuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IFRBR05BTUUgPSB0aGlzLnRpdGxlTGV2ZWwgPyBgaCR7dGhpcy50aXRsZUxldmVsfWAgOiAnZGl2JztcblxuICAgIC8qIGVzbGludC1kaXNhYmxlIGxpdC9iaW5kaW5nLXBvc2l0aW9ucyAqL1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1leHBhbnNpb24tcGFuZWxcIj5cbiAgICAgICAgPCR7dW5zYWZlU3RhdGljKFRBR05BTUUpfSBjbGFzcz1cInNiYi1leHBhbnNpb24tcGFuZWxfX2hlYWRlclwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJoZWFkZXJcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX2hhbmRsZVNsb3RjaGFuZ2V9Pjwvc2xvdD5cbiAgICAgICAgPC8ke3Vuc2FmZVN0YXRpYyhUQUdOQU1FKX0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItZXhwYW5zaW9uLXBhbmVsX19jb250ZW50LXdyYXBwZXJcIiBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25BbmltYXRpb25FbmR9PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWV4cGFuc2lvbi1wYW5lbF9fY29udGVudFwiPlxuICAgICAgICAgICAgPHNsb3QgbmFtZT1cImNvbnRlbnRcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX2hhbmRsZVNsb3RjaGFuZ2V9Pjwvc2xvdD5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgICAvKiBlc2xpbnQtZW5hYmxlIGxpdC9iaW5kaW5nLXBvc2l0aW9ucyAqL1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZXhwYW5zaW9uLXBhbmVsJzogU2JiRXhwYW5zaW9uUGFuZWxFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiU2JiRXhwYW5zaW9uUGFuZWxFbGVtZW50IiwiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JBLElBQUksU0FBUztJQWFQLDRCQUF3QixNQUFBOzswQkFEN0IsY0FBYyxxQkFBcUIsQ0FBQzs7OztvQkFDRSxrQkFBa0IsVUFBVTs7Ozs7Ozs7Ozs7Ozs7OztBQUFwQ0EsTUFBQUEsNkJBQUEsbUJBQVEsWUFBNkI7QUFBQTs7QUFVMUI7QUFHNUI7QUEyQlo7QUFHNkI7QUEzQ3pCLHlCQUFBLCtCQUFBLGtCQUFBLE1BQUEsMEJBQUEsR0FVdUYsa0JBQUEsTUFBQSwwQkFBQSxJQUFJO0FBR25FLHlCQUFBLDBCQUFBLGtCQUFBLE1BQUEsNkJBQUEsR0FBQSxrQkFBQSxNQUFBLHFCQUEwQixPQUFPO0FBV3JELFdBQVMsYUFBQSxrQkFBQSxNQUFBLHdCQUFBLEdBQVk7QUFXckIsV0FBUyxZQUFZO0FBS2IseUJBQUEsOEJBQUEsa0JBQUEsTUFBQSwwQkFBc0IsS0FBSztBQUdFLHlCQUFBLHlCQUFBLGtCQUFBLE1BQUEsNkJBQUEsR0FBQSxrQkFBQSxNQUFBLG9CQUFrQixHQUFHO0FBYTFELFdBQUEsYUFBZ0Msa0JBQUEsTUFBQSx1QkFBQSxHQUFBLElBQUksYUFDMUMsTUFDQUEsMEJBQXlCLE9BQU8sUUFBUTtBQUlsQyxXQUFBLFdBQStCLElBQUksYUFDekMsTUFDQUEsMEJBQXlCLE9BQU8sT0FBTztBQUlqQyxXQUFBLGFBQWlDLElBQUksYUFDM0Ms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
441
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sLCB1bnNhZmVTdGF0aWMgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4sIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wZW5lZENsb3NlZFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUaXRsZUxldmVsIH0gZnJvbSAnLi4vLi4vdGl0bGUuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJFeHBhbnNpb25QYW5lbENvbnRlbnRFbGVtZW50IH0gZnJvbSAnLi4vZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJFeHBhbnNpb25QYW5lbEhlYWRlckVsZW1lbnQgfSBmcm9tICcuLi9leHBhbnNpb24tcGFuZWwtaGVhZGVyLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZXhwYW5zaW9uLXBhbmVsLnNjc3M/bGl0JmlubGluZSc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGV4cGFuZGFibGUgc3VtbWFyeS1kZXRhaWxzIHdpZGdldC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBhIGBzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcmAgYW5kIGEgYHNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudGAgZWxlbWVudC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxPcGVuIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBzdGFydHMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZE9wZW4gLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1leHBhbnNpb24tcGFuZWxgIGlzIG9wZW5lZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWV4cGFuc2lvbi1wYW5lbGAgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWV4cGFuc2lvbi1wYW5lbGAgaXMgY2xvc2VkLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItZXhwYW5zaW9uLXBhbmVsJylcbmNsYXNzIFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudCBleHRlbmRzIFNiYkh5ZHJhdGlvbk1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHdpbGxPcGVuOiAnd2lsbE9wZW4nLFxuICAgIGRpZE9wZW46ICdkaWRPcGVuJyxcbiAgICB3aWxsQ2xvc2U6ICd3aWxsQ2xvc2UnLFxuICAgIGRpZENsb3NlOiAnZGlkQ2xvc2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBIZWFkaW5nIGxldmVsOyBpZiB1bnNldCwgYSBgZGl2YCB3aWxsIGJlIHJlbmRlcmVkLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0aXRsZS1sZXZlbCcgfSkgcHVibGljIGFjY2Vzc29yIHRpdGxlTGV2ZWw6IFNiYlRpdGxlTGV2ZWwgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHBhbmVsLiAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3IgY29sb3I6ICd3aGl0ZScgfCAnbWlsaycgPSAnd2hpdGUnO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBwYW5lbCBpcyBleHBhbmRlZC4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgc2V0IGV4cGFuZGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZXhwYW5kZWQgPSB2YWx1ZTtcbiAgICB0aGlzLl9vbkV4cGFuZGVkQ2hhbmdlKCk7XG4gIH1cbiAgcHVibGljIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZXhwYW5kZWQ7XG4gIH1cbiAgcHJpdmF0ZSBfZXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogV2hldGhlciB0aGUgcGFuZWwgaXMgZGlzYWJsZWQsIHNvIGl0cyBleHBhbmRlZCBzdGF0ZSBjYW4ndCBiZSBjaGFuZ2VkLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICAgIHRoaXMuX3VwZGF0ZURpc2FibGVkT25IZWFkZXIodGhpcy5fZGlzYWJsZWQpO1xuICB9XG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHBhbmVsIGhhcyBubyBib3JkZXIuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBib3JkZXJsZXNzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIGwgb3Igcy5cbiAgICogQGRlZmF1bHQgJ2wnIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ3MnIHwgJ2wnID0gaXNMZWFuKCkgPyAncycgOiAnbCc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdGF0ZSBvZiB0aGUgbm90aWZpY2F0aW9uLlxuICAgKi9cbiAgcHJpdmF0ZSBzZXQgX3N0YXRlKHN0YXRlOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSkge1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLXN0YXRlJywgc3RhdGUpO1xuICB9XG4gIHByaXZhdGUgZ2V0IF9zdGF0ZSgpOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLXN0YXRlJykgYXMgU2JiT3BlbmVkQ2xvc2VkU3RhdGU7XG4gIH1cblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBzdGFydHMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi4gKi9cbiAgcHJpdmF0ZSBfd2lsbE9wZW46IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJFeHBhbnNpb25QYW5lbEVsZW1lbnQuZXZlbnRzLndpbGxPcGVuLFxuICAgIHsgY2FuY2VsYWJsZTogdHJ1ZSB9LFxuICApO1xuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1leHBhbnNpb24tcGFuZWxgIGlzIG9wZW5lZC4gKi9cbiAgcHJpdmF0ZSBfZGlkT3BlbjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudC5ldmVudHMuZGlkT3BlbixcbiAgICB7IGNhbmNlbGFibGU6IHRydWUgfSxcbiAgKTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBiZWdpbnMgdGhlIGNsb3NpbmcgdHJhbnNpdGlvbi4gKi9cbiAgcHJpdmF0ZSBfd2lsbENsb3NlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKFxuICAgIHRoaXMsXG4gICAgU2JiRXhwYW5zaW9uUGFuZWxFbGVtZW50LmV2ZW50cy53aWxsQ2xvc2UsXG4gICAgeyBjYW5jZWxhYmxlOiB0cnVlIH0sXG4gICk7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWV4cGFuc2lvbi1wYW5lbGAgaXMgY2xvc2VkLiAqL1xuICBwcml2YXRlIF9kaWRDbG9zZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudC5ldmVudHMuZGlkQ2xvc2UsXG4gICAgeyBjYW5jZWxhYmxlOiB0cnVlIH0sXG4gICk7XG5cbiAgcHJpdmF0ZSBfcHJvZ3Jlc3NpdmVJZCA9IGAtJHsrK25leHRJZH1gO1xuICBwcml2YXRlIF9oZWFkZXJSZWY/OiBTYmJFeHBhbnNpb25QYW5lbEhlYWRlckVsZW1lbnQ7XG4gIHByaXZhdGUgX2NvbnRlbnRSZWY/OiBTYmJFeHBhbnNpb25QYW5lbENvbnRlbnRFbGVtZW50O1xuICBwcml2YXRlIF9hYm9ydCA9IG5ldyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2luaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgY29uc3Qgc2lnbmFsID0gdGhpcy5fYWJvcnQuc2lnbmFsO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigndG9nZ2xlRXhwYW5kZWQnLCAoKSA9PiB0aGlzLl90b2dnbGVFeHBhbmRlZCgpLCB7IHNpZ25hbCB9KTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1hY2NvcmRpb24nLCAhIXRoaXMuY2xvc2VzdD8uKCdzYmItYWNjb3JkaW9uJykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdzaXplJykpIHtcbiAgICAgIHRoaXMuX2hlYWRlclJlZj8uc2V0QXR0cmlidXRlKCdkYXRhLXNpemUnLCBTdHJpbmcodGhpcy5zaXplKSk7XG4gICAgICB0aGlzLl9jb250ZW50UmVmPy5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2l6ZScsIFN0cmluZyh0aGlzLnNpemUpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1hY2NvcmRpb24nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuX2luaXRpYWxpemVkID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX3RvZ2dsZUV4cGFuZGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgfVxuXG4gIHByaXZhdGUgX29uRXhwYW5kZWRDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5faGVhZGVyUmVmPy5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBTdHJpbmcodGhpcy5leHBhbmRlZCkpO1xuICAgIHRoaXMuX2NvbnRlbnRSZWY/LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCBTdHJpbmcoIXRoaXMuZXhwYW5kZWQpKTtcblxuICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XG4gICAgICB0aGlzLl9vcGVuKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ29wZW5lZCcpIHtcbiAgICAgIHRoaXMuX2Nsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb3BlbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICB0aGlzLl93aWxsT3Blbi5lbWl0KCk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAoIXRoaXMuX2luaXRpYWxpemVkIHx8IHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZSA9ICdjbG9zaW5nJztcbiAgICB0aGlzLl93aWxsQ2xvc2UuZW1pdCgpO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYGNsb3NlZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLWV4cGFuc2lvbi1wYW5lbC1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLl9kaWRPcGVuLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLl9kaWRDbG9zZS5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVEaXNhYmxlZE9uSGVhZGVyKG5ld0Rpc2FibGVkVmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faGVhZGVyUmVmKSB7XG4gICAgICB0aGlzLl9oZWFkZXJSZWYuZGlzYWJsZWQgPSBuZXdEaXNhYmxlZFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4gPz8gW10pO1xuICAgIGNvbnN0IGhlYWRlciA9IGNoaWxkcmVuLmZpbmQoXG4gICAgICAoZSk6IGUgaXMgU2JiRXhwYW5zaW9uUGFuZWxIZWFkZXJFbGVtZW50ID0+IGUubG9jYWxOYW1lID09PSAnc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXInLFxuICAgICk7XG4gICAgY29uc3QgY29udGVudCA9IGNoaWxkcmVuLmZpbmQoXG4gICAgICAoZSk6IGUgaXMgU2JiRXhwYW5zaW9uUGFuZWxDb250ZW50RWxlbWVudCA9PiBlLmxvY2FsTmFtZSA9PT0gJ3NiYi1leHBhbnNpb24tcGFuZWwtY29udGVudCcsXG4gICAgKTtcbiAgICBpZiAodGhpcy5faGVhZGVyUmVmID09PSBoZWFkZXIgJiYgdGhpcy5fY29udGVudFJlZiA9PT0gY29udGVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoaGVhZGVyICYmIHRoaXMuX2hlYWRlclJlZiAhPT0gaGVhZGVyKSB7XG4gICAgICBoZWFkZXIuaWQgfHw9IGBzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlciR7dGhpcy5fcHJvZ3Jlc3NpdmVJZH1gO1xuICAgICAgaGVhZGVyLnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsIFN0cmluZyh0aGlzLmV4cGFuZGVkKSk7XG4gICAgICBoZWFkZXIudG9nZ2xlQXR0cmlidXRlKCdkaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQpO1xuICAgICAgaGVhZGVyLnNldEF0dHJpYnV0ZSgnZGF0YS1zaXplJywgU3RyaW5nKHRoaXMuc2l6ZSkpO1xuICAgIH1cbiAgICBpZiAoY29udGVudCAmJiB0aGlzLl9jb250ZW50UmVmICE9PSBjb250ZW50KSB7XG4gICAgICBjb250ZW50LmlkIHx8PSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50JHt0aGlzLl9wcm9ncmVzc2l2ZUlkfWA7XG4gICAgICBjb250ZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCBTdHJpbmcoIXRoaXMuZXhwYW5kZWQpKTtcbiAgICAgIGNvbnRlbnQuc2V0QXR0cmlidXRlKCdkYXRhLXNpemUnLCBTdHJpbmcodGhpcy5zaXplKSk7XG4gICAgfVxuXG4gICAgdGhpcy5faGVhZGVyUmVmID0gaGVhZGVyO1xuICAgIHRoaXMuX2NvbnRlbnRSZWYgPSBjb250ZW50O1xuICAgIGlmICh0aGlzLl9oZWFkZXJSZWYgJiYgdGhpcy5fY29udGVudFJlZikge1xuICAgICAgdGhpcy5faGVhZGVyUmVmLnNldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycsIHRoaXMuX2NvbnRlbnRSZWYuaWQpO1xuICAgICAgdGhpcy5fY29udGVudFJlZi5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWxsZWRieScsIHRoaXMuX2hlYWRlclJlZi5pZCk7XG4gICAgICB0aGlzLl9jb250ZW50UmVmLnRvZ2dsZUF0dHJpYnV0ZShcbiAgICAgICAgJ2RhdGEtaWNvbi1zcGFjZScsXG4gICAgICAgIHRoaXMuX2hlYWRlclJlZi5oYXNBdHRyaWJ1dGUoJ2RhdGEtaWNvbicpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4tb3BhY2l0eScgJiYgdGhpcy5fc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLl9zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgVEFHTkFNRSA9IHRoaXMudGl0bGVMZXZlbCA/IGBoJHt0aGlzLnRpdGxlTGV2ZWx9YCA6ICdkaXYnO1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgbGl0L2JpbmRpbmctcG9zaXRpb25zICovXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWV4cGFuc2lvbi1wYW5lbFwiPlxuICAgICAgICA8JHt1bnNhZmVTdGF0aWMoVEFHTkFNRSl9IGNsYXNzPVwic2JiLWV4cGFuc2lvbi1wYW5lbF9faGVhZGVyXCI+XG4gICAgICAgICAgPHNsb3QgbmFtZT1cImhlYWRlclwiIEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PlxuICAgICAgICA8LyR7dW5zYWZlU3RhdGljKFRBR05BTUUpfT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1leHBhbnNpb24tcGFuZWxfX2NvbnRlbnQtd3JhcHBlclwiIEBhbmltYXRpb25lbmQ9JHt0aGlzLl9vbkFuaW1hdGlvbkVuZH0+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZXhwYW5zaW9uLXBhbmVsX19jb250ZW50XCI+XG4gICAgICAgICAgICA8c2xvdCBuYW1lPVwiY29udGVudFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICAgIC8qIGVzbGludC1lbmFibGUgbGl0L2JpbmRpbmctcG9zaXRpb25zICovXG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1leHBhbnNpb24tcGFuZWwnOiBTYmJFeHBhbnNpb25QYW5lbEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJFeHBhbnNpb25QYW5lbEVsZW1lbnQiLCJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaUJBLElBQUksU0FBUztJQWFQLDRCQUF3QixNQUFBOzswQkFEN0IsY0FBYyxxQkFBcUIsQ0FBQzs7OztvQkFDRSxrQkFBa0IsVUFBVTs7Ozs7Ozs7Ozs7Ozs7OztBQUFwQ0EsTUFBQUEsNkJBQUEsbUJBQVEsWUFBNkI7QUFBQTs7QUFVMUI7QUFHNUI7QUEyQlo7QUFNNkI7QUE5Q3pCLHlCQUFBLCtCQUFBLGtCQUFBLE1BQUEsMEJBQUEsR0FVdUYsa0JBQUEsTUFBQSwwQkFBQSxJQUFJO0FBR25FLHlCQUFBLDBCQUFBLGtCQUFBLE1BQUEsNkJBQUEsR0FBQSxrQkFBQSxNQUFBLHFCQUEwQixPQUFPO0FBV3JELFdBQVMsYUFBQSxrQkFBQSxNQUFBLHdCQUFBLEdBQVk7QUFXckIsV0FBUyxZQUFZO0FBS2IseUJBQUEsOEJBQUEsa0JBQUEsTUFBQSwwQkFBc0IsS0FBSztBQU1vQix5QkFBQSx5QkFBQSxrQkFBQSxNQUFBLDZCQUFBLEdBQUEsa0JBQUEsTUFBQSxvQkFBQSxPQUFBLElBQVcsTUFBTSxHQUFHO0FBYTNFLFdBQUEsK0RBQWdDLElBQUksYUFDMUMsTUFDQUEsMEJBQXlCLE9BQU8sVUFDaEMsRUFBRSxZQUFZLEtBQU0sQ0FBQTtBQUlkLFdBQUEsV0FBK0IsSUFBSSxhQUN6QyxNQUNBQSwwQkFBeUIsT0FBTyxTQUNoQyxFQUFFLFlBQVksTUFBTTtBQUlkLFdBQUEsYUFBaUMsSUFBSSxhQUMzQyxNQUNBQSwwQkFBeUIsT0FBTyxXQUNoQyxFQUFFLFlBQVksTUFBTTtBQUlkLFdBQUEsWUFBZ0MsSUFBSSxhQUMxQyxNQUNBQSwwQkFBeUIsT0FBTyxVQUNoQyxFQUFFLFlBQVksTUFBTTtBQUdkLFdBQUEsaUJBQWlCLElBQUksRUFBRSxNQUFNO0FBRzdCLFdBQUEsU0FBUyxJQUFJLDRCQUE0QixJQUFJO0FBQzdDLFdBQVksZUFBWTtBQUFBLElBQUE7QUFBQTtBQUFBLElBaEZRLElBQWdCLGFBQXdDO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUF4RCxJQUFnQixXQUF3QyxPQUFBO0FBQUEseUJBQUEsOEJBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQSxJQUdwRixJQUFnQixRQUFrQztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBbEQsSUFBZ0IsTUFBa0MsT0FBQTtBQUFBLHlCQUFBLHlCQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFJOUQsSUFBVyxTQUFTLE9BQWM7QUFDaEMsV0FBSyxZQUFZO0FBQ2pCLFdBQUssa0JBQWlCO0FBQUEsSUFBQTtBQUFBLElBRXhCLElBQVcsV0FBUTtBQUNqQixhQUFPLEtBQUs7QUFBQSxJQUFBO0FBQUE7QUFBQSxJQU1kLElBQVcsU0FBUyxPQUFjO0FBQ2hDLFdBQUssWUFBWTtBQUNaLFdBQUEsd0JBQXdCLEtBQUssU0FBUztBQUFBLElBQUE7QUFBQSxJQUU3QyxJQUFXLFdBQVE7QUFDakIsYUFBTyxLQUFLO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFPZCxJQUFnQixhQUE0QjtBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBNUMsSUFBZ0IsV0FBNEIsT0FBQTtBQUFBLHlCQUFBLDhCQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFNZixJQUFnQixPQUF1QztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBdkQsSUFBZ0IsS0FBdUMsT0FBQTtBQUFBLHlCQUFBLHdCQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBS3BGLElBQVksT0FBTyxPQUEyQjtBQUN2QyxXQUFBLGFBQWEsY0FBYyxLQUFLO0FBQUEsSUFBQTtBQUFBLElBRXZDLElBQVksU0FBTTtBQUNULGFBQUEsS0FBSyxhQUFhLFlBQVk7QUFBQSxJQUFBO0FBQUEsSUFxQ3ZCLG9CQUFpQjs7QUFDL0IsWUFBTSxrQkFBaUI7QUFDakIsWUFBQSxTQUFTLEtBQUssT0FBTztBQUN0QixXQUFBLGlCQUFpQixrQkFBa0IsTUFBTSxLQUFLLGdCQUFtQixHQUFBLEVBQUUsUUFBUTtBQUNoRixXQUFLLGdCQUFnQixrQkFBa0IsQ0FBQyxHQUFDQyxNQUFBLEtBQUssWUFBTCxnQkFBQUEsSUFBQSxXQUFlLGlCQUFnQjtBQUFBLElBQUE7QUFBQSxJQUd2RCxXQUFXLG1CQUF1Qzs7QUFDbkUsWUFBTSxXQUFXLGlCQUFpQjtBQUU5QixVQUFBLGtCQUFrQixJQUFJLE1BQU0sR0FBRztBQUNqQyxTQUFBQSxNQUFBLEtBQUssZUFBTCxnQkFBQUEsSUFBaUIsYUFBYSxhQUFhLE9BQU8sS0FBSyxJQUFJO0FBQzNELG1CQUFLLGdCQUFMLG1CQUFrQixhQUFhLGFBQWEsT0FBTyxLQUFLLElBQUk7QUFBQSxNQUFDO0FBQUEsSUFDL0Q7QUFBQSxJQUdjLHVCQUFvQjtBQUNsQyxZQUFNLHFCQUFvQjtBQUMxQixXQUFLLGdCQUFnQixnQkFBZ0I7QUFBQSxJQUFBO0FBQUEsSUFHcEIsYUFBYSxtQkFBdUM7QUFDckUsWUFBTSxhQUFhLGlCQUFpQjtBQUVwQyxXQUFLLGVBQWU7QUFBQSxJQUFBO0FBQUEsSUFHZCxrQkFBZTtBQUNoQixXQUFBLFdBQVcsQ0FBQyxLQUFLO0FBQUEsSUFBQTtBQUFBLElBR2hCLG9CQUFpQjs7QUFDdkIsT0FBQUEsTUFBQSxLQUFLLGVBQUwsZ0JBQUFBLElBQWlCLGFBQWEsaUJBQWlCLE9BQU8sS0FBSyxRQUFRO0FBQ25FLGlCQUFLLGdCQUFMLG1CQUFrQixhQUFhLGVBQWUsT0FBTyxDQUFDLEtBQUssUUFBUTtBQUVuRSxVQUFJLEtBQUssVUFBVTtBQUNqQixhQUFLLE1BQUs7QUFBQSxNQUFBLFdBQ0QsS0FBSyxXQUFXLFVBQVU7QUFDbkMsYUFBSyxPQUFNO0FBQUEsTUFBQTtBQUFBLElBQ2I7QUFBQSxJQUdNLFFBQUs7QUFDWCxXQUFLLFNBQVM7QUFDZCxXQUFLLFVBQVU7QUFJZixVQUFJLENBQUMsS0FBSyxnQkFBZ0IsS0FBSyw0QkFBNEI7QUFDekQsYUFBSyxlQUFjO0FBQUEsTUFBQTtBQUFBLElBQ3JCO0FBQUEsSUFHTSxTQUFNO0FBQ1osV0FBSyxTQUFTO0FBQ2QsV0FBSyxXQUFXO0FBSVosVUFBQSxLQUFLLDRCQUE0QjtBQUNuQyxhQUFLLGVBQWM7QUFBQSxNQUFBO0FBQUEsSUFDckI7QUFBQSxJQUdNLDJCQUF3QjtBQUN2QixhQUFBLHdCQUF3QixNQUFNLDBDQUEwQztBQUFBLElBQUE7QUFBQSxJQUd6RSxpQkFBYztBQUNwQixXQUFLLFNBQVM7QUFDZCxXQUFLLFNBQVM7O0lBR1IsaUJBQWM7QUFDcEIsV0FBSyxTQUFTO0FBQ2QsV0FBSyxVQUFVOztJQUdULHdCQUF3QixrQkFBeUI7QUFDdkQsVUFBSSxLQUFLLFlBQVk7QUFDbkIsYUFBSyxXQUFXLFdBQVc7QUFBQSxNQUFBO0FBQUEsSUFDN0I7QUFBQSxJQUdNLG9CQUFpQjtBQUN2QixZQUFNLFdBQVcsTUFBTSxLQUFLLEtBQUssWUFBWSxDQUFBLENBQUU7QUFDL0MsWUFBTSxTQUFTLFNBQVMsS0FDdEIsQ0FBQyxNQUEyQyxFQUFFLGNBQWMsNEJBQTRCO0FBRTFGLFlBQU0sVUFBVSxTQUFTLEtBQ3ZCLENBQUMsTUFBNEMsRUFBRSxjQUFjLDZCQUE2QjtBQUU1RixVQUFJLEtBQUssZUFBZSxVQUFVLEtBQUssZ0JBQWdCLFNBQVM7QUFDOUQ7QUFBQSxNQUFBO0FBRUUsVUFBQSxVQUFVLEtBQUssZUFBZSxRQUFRO0FBQ2pDLGVBQUEsT0FBQSxPQUFBLEtBQU8sNkJBQTZCLEtBQUssY0FBYztBQUM5RCxlQUFPLGFBQWEsaUJBQWlCLE9BQU8sS0FBSyxRQUFRLENBQUM7QUFDbkQsZUFBQSxnQkFBZ0IsWUFBWSxLQUFLLFFBQVE7QUFDaEQsZUFBTyxhQUFhLGFBQWEsT0FBTyxLQUFLLElBQUksQ0FBQztBQUFBLE1BQUE7QUFFaEQsVUFBQSxXQUFXLEtBQUssZ0JBQWdCLFNBQVM7QUFDbkMsZ0JBQUEsT0FBQSxRQUFBLEtBQU8sOEJBQThCLEtBQUssY0FBYztBQUNoRSxnQkFBUSxhQUFhLGVBQWUsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDO0FBQzFELGdCQUFRLGFBQWEsYUFBYSxPQUFPLEtBQUssSUFBSSxDQUFDO0FBQUEsTUFBQTtBQUdyRCxXQUFLLGFBQWE7QUFDbEIsV0FBSyxjQUFjO0FBQ2YsVUFBQSxLQUFLLGNBQWMsS0FBSyxhQUFhO0FBQ3ZDLGFBQUssV0FBVyxhQUFhLGlCQUFpQixLQUFLLFlBQVksRUFBRTtBQUNqRSxhQUFLLFlBQVksYUFBYSxtQkFBbUIsS0FBSyxXQUFXLEVBQUU7QUFDbkUsYUFBSyxZQUFZLGdCQUNmLG1CQUNBLEtBQUssV0FBVyxhQUFhLFdBQVcsQ0FBQztBQUFBLE1BQUE7QUFBQSxJQUU3QztBQUFBLElBR00sZ0JBQWdCLE9BQXFCO0FBQzNDLFVBQUksTUFBTSxrQkFBa0Isa0JBQWtCLEtBQUssV0FBVyxXQUFXO0FBQ3ZFLGFBQUssZUFBYztBQUFBLE1BQUEsV0FDVixNQUFNLGtCQUFrQixXQUFXLEtBQUssV0FBVyxXQUFXO0FBQ3ZFLGFBQUssZUFBYztBQUFBLE1BQUE7QUFBQSxJQUNyQjtBQUFBLElBR2lCLFNBQU07QUFDdkIsWUFBTSxVQUFVLEtBQUssYUFBYSxJQUFJLEtBQUssVUFBVSxLQUFLO0FBR25ELGFBQUE7QUFBQTtBQUFBLFdBRUEsYUFBYSxPQUFPLENBQUM7QUFBQSw0Q0FDWSxLQUFLLGlCQUFpQjtBQUFBLFlBQ3RELGFBQWEsT0FBTyxDQUFDO0FBQUEsMEVBQ3lDLEtBQUssZUFBZTtBQUFBO0FBQUEsK0NBRS9DLEtBQUssaUJBQWlCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQUFBO0FBQUEsS0E1TjNCLDhDQUc1Qix5Q0EyQlosOENBTTZCOztBQXBDNUIsNkJBQUEsQ0FBQSxTQUFTLEVBQUUsV0FBVyxjQUFlLENBQUEsQ0FBQztBQUd0Qyx3QkFBQSxDQUFBLFVBQVU7Z0NBR1YsU0FBUyxFQUFFLFNBQVMsTUFBTSxNQUFNLFFBQUEsQ0FBUyxDQUFDO2dDQVcxQyxTQUFTLEVBQUUsU0FBUyxNQUFNLE1BQU0sUUFBQSxDQUFTLENBQUM7QUFXMUMsNkJBQUEsQ0FBQSxVQUFXLEdBQ1gsU0FBUyxFQUFFLFNBQVMsTUFBTSxNQUFNLFNBQVMsQ0FBQztBQU8xQyx1QkFBQSxDQUFBLFNBQVMsRUFBRSxTQUFTLEtBQU0sQ0FBQSxDQUFDO0FBcEM0QixpQkFBQSxJQUFBLE1BQUEsd0JBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxjQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLGdCQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBQSxZQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFBLGFBQXdDO0FBQUEsU0FBQSxVQUFBLGFBQUEsMEJBQUEsNkJBQUE7QUFHcEUsaUJBQUEsSUFBQSxNQUFBLG1CQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsU0FBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxXQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBQSxPQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFBLFFBQWtDO0FBQUEsU0FBQSxVQUFBLGFBQUEscUJBQUEsd0JBQUE7QUFJOUQsaUJBQUEsSUFBQSxNQUFBLDBCQUFBLEVBQUEsTUFBQSxVQUFBLE1BQUEsWUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxjQUFBLEtBQUEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVcsV0FHVjtBQUFBLFNBQUEsVUFBQSxhQUFBLE1BQUEsMEJBQUE7QUFRRCxpQkFBQSxJQUFBLE1BQUEsMEJBQUEsRUFBQSxNQUFBLFVBQUEsTUFBQSxZQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLGNBQUEsS0FBQSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBVyxXQUdWO0FBQUEsU0FBQSxVQUFBLGFBQUEsTUFBQSwwQkFBQTtBQVNlLGlCQUFBLElBQUEsTUFBQSx3QkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLGNBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsZ0JBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFBLFlBQUEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUEsYUFBNEI7QUFBQSxTQUFBLFVBQUEsYUFBQSwwQkFBQSw2QkFBQTtBQU1DLGlCQUFBLElBQUEsTUFBQSxrQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFFBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsVUFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQUEsTUFBQSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBQSxPQUF1QztBQUFBLFNBQUEsVUFBQSxhQUFBLG9CQUFBLHVCQUFBO0FBOUN0RixpQkE2T0MsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQTVPd0IsR0FBTSxTQUFtQixPQUN6QixHQUFBLFNBQVM7QUFBQSxJQUM5QixVQUFVO0FBQUEsSUFDVixTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxVQUFVO0FBQUEsRUFDRixHQVBOLGtCQUF3QixZQUFBLHVCQUFBLEdBQUM7OzsifQ==
@@ -0,0 +1,23 @@
1
+ import { LitElement, TemplateResult } from 'lit';
2
+ import { SbbSecondaryButtonStaticElement } from '../../button.js';
3
+ import { SbbLanguageController } from '../../core/controllers.js';
4
+ import { FormRestoreReason, FormRestoreState, SbbFormAssociatedMixinType, Constructor } from '../../core/mixins.js';
5
+ export declare abstract class SbbFileSelectorCommonElementMixinType extends SbbFormAssociatedMixinType {
6
+ accessor size: 's' | 'm';
7
+ accessor multiple: boolean;
8
+ accessor multipleMode: 'default' | 'persistent';
9
+ accessor accept: string;
10
+ accessor accessibilityLabel: string;
11
+ accessor disabled: boolean;
12
+ accessor files: Readonly<File>[];
13
+ protected formDisabled: boolean;
14
+ protected loadButton: SbbSecondaryButtonStaticElement;
15
+ protected language: SbbLanguageController;
16
+ protected abstract renderTemplate(input: TemplateResult): TemplateResult;
17
+ protected createFileList(files: FileList): void;
18
+ protected updateFormValue(): void;
19
+ formResetCallback(): void;
20
+ formStateRestoreCallback(state: FormRestoreState | null, reason: FormRestoreReason): void;
21
+ }
22
+ export declare const SbbFileSelectorCommonElementMixin: <T extends Constructor<LitElement>>(superclass: T) => Constructor<SbbFileSelectorCommonElementMixinType> & T;
23
+ //# sourceMappingURL=file-selector-common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-selector-common.d.ts","sourceRoot":"","sources":["../../../../../src/elements/file-selector/common/file-selector-common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAMtD,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AASlE,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGrB,KAAK,0BAA0B,EAC/B,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,kCAAkC,CAAC;AAC1C,OAAO,yCAAyC,CAAC;AACjD,OAAO,eAAe,CAAC;AAEvB,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,qCAAsC,SAAQ,0BAA0B;IACpG,SAAgB,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IAChC,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAClC,SAAgB,YAAY,EAAE,SAAS,GAAG,YAAY,CAAC;IACvD,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,kBAAkB,EAAE,MAAM,CAAC;IAC3C,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAClC,SAAgB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACxC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC;IAChC,SAAS,CAAC,UAAU,EAAE,+BAA+B,CAAC;IACtD,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc;IACxE,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAC/C,SAAS,CAAC,eAAe,IAAI,IAAI;IAC1B,iBAAiB,IAAI,IAAI;IACzB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;CACjG;AAGD,eAAO,MAAM,iCAAiC,GAAI,CAAC,SAAS,WAAW,CAAC,UAAU,CAAC,cACrE,CAAC,KACZ,WAAW,CAAC,qCAAqC,CAAC,GAAG,CAmPvD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './common/file-selector-common.js';
2
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/elements/file-selector/common.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AAEjD,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,+CAA+C,CAAC"}