@sbb-esta/lyne-elements 3.0.1 → 3.2.0

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 (274) hide show
  1. package/autocomplete/autocomplete.component.d.ts.map +1 -1
  2. package/autocomplete/autocomplete.component.js +1 -1
  3. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  4. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +4 -4
  5. package/button/accent-button/accent-button.component.d.ts +2 -1
  6. package/button/accent-button/accent-button.component.d.ts.map +1 -1
  7. package/button/accent-button-link/accent-button-link.component.d.ts +2 -1
  8. package/button/accent-button-link/accent-button-link.component.d.ts.map +1 -1
  9. package/button/accent-button-static/accent-button-static.component.d.ts +2 -1
  10. package/button/accent-button-static/accent-button-static.component.d.ts.map +1 -1
  11. package/button/button/button.component.d.ts +2 -1
  12. package/button/button/button.component.d.ts.map +1 -1
  13. package/button/button-link/button-link.component.d.ts +2 -1
  14. package/button/button-link/button-link.component.d.ts.map +1 -1
  15. package/button/button-static/button-static.component.d.ts +2 -1
  16. package/button/button-static/button-static.component.d.ts.map +1 -1
  17. package/button/common/button-common.d.ts +1 -0
  18. package/button/common/button-common.d.ts.map +1 -1
  19. package/button/common/button-common.js +52 -28
  20. package/button/common.js +1 -1
  21. package/button/mini-button/mini-button.component.d.ts +1 -0
  22. package/button/mini-button/mini-button.component.d.ts.map +1 -1
  23. package/button/mini-button/mini-button.component.js +20 -14
  24. package/button/secondary-button/secondary-button.component.d.ts +2 -1
  25. package/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  26. package/button/secondary-button-link/secondary-button-link.component.d.ts +2 -1
  27. package/button/secondary-button-link/secondary-button-link.component.d.ts.map +1 -1
  28. package/button/secondary-button-static/secondary-button-static.component.d.ts +2 -1
  29. package/button/secondary-button-static/secondary-button-static.component.d.ts.map +1 -1
  30. package/button/transparent-button/transparent-button.component.d.ts +2 -1
  31. package/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  32. package/button/transparent-button-link/transparent-button-link.component.d.ts +2 -1
  33. package/button/transparent-button-link/transparent-button-link.component.d.ts.map +1 -1
  34. package/button/transparent-button-static/transparent-button-static.component.d.ts +2 -1
  35. package/button/transparent-button-static/transparent-button-static.component.d.ts.map +1 -1
  36. package/button.js +1 -1
  37. package/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
  38. package/checkbox/checkbox-group/checkbox-group.component.js +4 -4
  39. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts +3 -0
  40. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  41. package/core/a11y/live-announcer.d.ts.map +1 -1
  42. package/core/a11y/live-announcer.js +10 -8
  43. package/core/base-elements/link-base-element.d.ts +1 -0
  44. package/core/base-elements/link-base-element.d.ts.map +1 -1
  45. package/core/base-elements/link-base-element.js +18 -17
  46. package/core/config/config.d.ts +5 -0
  47. package/core/config/config.d.ts.map +1 -1
  48. package/core/mixins/selection-panel-mixin.d.ts +23 -0
  49. package/core/mixins/selection-panel-mixin.d.ts.map +1 -0
  50. package/core/mixins/selection-panel-mixin.js +87 -0
  51. package/core/mixins.d.ts +1 -0
  52. package/core/mixins.d.ts.map +1 -1
  53. package/core/mixins.js +12 -10
  54. package/core/styles/_index.scss +1 -0
  55. package/core/styles/core.scss +44 -15
  56. package/core/styles/mixins/popover.scss +14 -0
  57. package/core.css +22 -1
  58. package/custom-elements.json +3603 -913
  59. package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
  60. package/development/autocomplete/autocomplete.component.js +2 -2
  61. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  62. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +2 -2
  63. package/development/button/accent-button/accent-button.component.d.ts +2 -1
  64. package/development/button/accent-button/accent-button.component.d.ts.map +1 -1
  65. package/development/button/accent-button/accent-button.component.js +1 -1
  66. package/development/button/accent-button-link/accent-button-link.component.d.ts +2 -1
  67. package/development/button/accent-button-link/accent-button-link.component.d.ts.map +1 -1
  68. package/development/button/accent-button-link/accent-button-link.component.js +1 -1
  69. package/development/button/accent-button-static/accent-button-static.component.d.ts +2 -1
  70. package/development/button/accent-button-static/accent-button-static.component.d.ts.map +1 -1
  71. package/development/button/accent-button-static/accent-button-static.component.js +1 -1
  72. package/development/button/button/button.component.d.ts +2 -1
  73. package/development/button/button/button.component.d.ts.map +1 -1
  74. package/development/button/button/button.component.js +1 -1
  75. package/development/button/button-link/button-link.component.d.ts +2 -1
  76. package/development/button/button-link/button-link.component.d.ts.map +1 -1
  77. package/development/button/button-link/button-link.component.js +1 -1
  78. package/development/button/button-static/button-static.component.d.ts +2 -1
  79. package/development/button/button-static/button-static.component.d.ts.map +1 -1
  80. package/development/button/button-static/button-static.component.js +1 -1
  81. package/development/button/common/button-common.d.ts +1 -0
  82. package/development/button/common/button-common.d.ts.map +1 -1
  83. package/development/button/common/button-common.js +42 -5
  84. package/development/button/common.js +1 -1
  85. package/development/button/mini-button/mini-button.component.d.ts +1 -0
  86. package/development/button/mini-button/mini-button.component.d.ts.map +1 -1
  87. package/development/button/mini-button/mini-button.component.js +41 -2
  88. package/development/button/secondary-button/secondary-button.component.d.ts +2 -1
  89. package/development/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  90. package/development/button/secondary-button/secondary-button.component.js +1 -1
  91. package/development/button/secondary-button-link/secondary-button-link.component.d.ts +2 -1
  92. package/development/button/secondary-button-link/secondary-button-link.component.d.ts.map +1 -1
  93. package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
  94. package/development/button/secondary-button-static/secondary-button-static.component.d.ts +2 -1
  95. package/development/button/secondary-button-static/secondary-button-static.component.d.ts.map +1 -1
  96. package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
  97. package/development/button/transparent-button/transparent-button.component.d.ts +2 -1
  98. package/development/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  99. package/development/button/transparent-button/transparent-button.component.js +1 -1
  100. package/development/button/transparent-button-link/transparent-button-link.component.d.ts +2 -1
  101. package/development/button/transparent-button-link/transparent-button-link.component.d.ts.map +1 -1
  102. package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
  103. package/development/button/transparent-button-static/transparent-button-static.component.d.ts +2 -1
  104. package/development/button/transparent-button-static/transparent-button-static.component.d.ts.map +1 -1
  105. package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
  106. package/development/button.js +1 -1
  107. package/development/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
  108. package/development/checkbox/checkbox-group/checkbox-group.component.js +2 -2
  109. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts +3 -0
  110. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  111. package/development/checkbox/checkbox-panel/checkbox-panel.component.js +1 -1
  112. package/development/core/a11y/live-announcer.d.ts.map +1 -1
  113. package/development/core/a11y/live-announcer.js +10 -6
  114. package/development/core/base-elements/link-base-element.d.ts +1 -0
  115. package/development/core/base-elements/link-base-element.d.ts.map +1 -1
  116. package/development/core/base-elements/link-base-element.js +3 -1
  117. package/development/core/config/config.d.ts +5 -0
  118. package/development/core/config/config.d.ts.map +1 -1
  119. package/development/core/config/config.js +1 -1
  120. package/development/core/mixins/selection-panel-mixin.d.ts +23 -0
  121. package/development/core/mixins/selection-panel-mixin.d.ts.map +1 -0
  122. package/development/core/mixins/selection-panel-mixin.js +120 -0
  123. package/development/core/mixins.d.ts +1 -0
  124. package/development/core/mixins.d.ts.map +1 -1
  125. package/development/core/mixins.js +7 -5
  126. package/development/dialog/dialog/dialog.component.d.ts +4 -2
  127. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  128. package/development/dialog/dialog/dialog.component.js +61 -11
  129. package/development/dialog/dialog-actions/dialog-actions.component.d.ts +1 -0
  130. package/development/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  131. package/development/dialog/dialog-actions/dialog-actions.component.js +10 -1
  132. package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts +22 -0
  133. package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts.map +1 -0
  134. package/development/dialog/dialog-close-button/dialog-close-button.component.js +53 -0
  135. package/development/dialog/dialog-close-button.d.ts +5 -0
  136. package/development/dialog/dialog-close-button.d.ts.map +1 -0
  137. package/development/dialog/dialog-close-button.js +5 -0
  138. package/development/dialog/dialog-content/dialog-content.component.js +1 -1
  139. package/development/dialog/dialog-title/dialog-title.component.d.ts +1 -0
  140. package/development/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  141. package/development/dialog/dialog-title/dialog-title.component.js +6 -2
  142. package/development/dialog.d.ts +1 -0
  143. package/development/dialog.d.ts.map +1 -1
  144. package/development/dialog.js +3 -1
  145. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +3 -2
  146. package/development/form-field/form-field/form-field.component.d.ts +23 -1
  147. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  148. package/development/form-field/form-field/form-field.component.js +39 -12
  149. package/development/form-field/form-field.js +2 -1
  150. package/development/form-field.js +2 -1
  151. package/development/header/header-environment/header-environment.component.d.ts +23 -0
  152. package/development/header/header-environment/header-environment.component.d.ts.map +1 -0
  153. package/development/header/header-environment/header-environment.component.js +111 -0
  154. package/development/header/header-environment.d.ts +5 -0
  155. package/development/header/header-environment.d.ts.map +1 -0
  156. package/development/header/header-environment.js +5 -0
  157. package/development/menu/menu/menu.component.d.ts +1 -0
  158. package/development/menu/menu/menu.component.d.ts.map +1 -1
  159. package/development/menu/menu/menu.component.js +2 -2
  160. package/development/menu/menu-button/menu-button.component.d.ts +1 -0
  161. package/development/menu/menu-button/menu-button.component.d.ts.map +1 -1
  162. package/development/menu/menu-button/menu-button.component.js +2 -3
  163. package/development/menu/menu-link/menu-link.component.d.ts +1 -0
  164. package/development/menu/menu-link/menu-link.component.d.ts.map +1 -1
  165. package/development/menu/menu-link/menu-link.component.js +5 -1
  166. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  167. package/development/option/optgroup/optgroup-base-element.js +8 -6
  168. package/development/option/option-hint/option-hint.component.d.ts +18 -0
  169. package/development/option/option-hint/option-hint.component.d.ts.map +1 -0
  170. package/development/option/option-hint/option-hint.component.js +74 -0
  171. package/development/option/option-hint.d.ts +5 -0
  172. package/development/option/option-hint.d.ts.map +1 -0
  173. package/development/option/option-hint.js +5 -0
  174. package/development/option.d.ts +1 -0
  175. package/development/option.d.ts.map +1 -1
  176. package/development/option.js +4 -2
  177. package/development/overlay/overlay-base-element.d.ts +1 -0
  178. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  179. package/development/overlay/overlay-base-element.js +3 -3
  180. package/development/popover/popover/popover.component.d.ts +18 -4
  181. package/development/popover/popover/popover.component.d.ts.map +1 -1
  182. package/development/popover/popover/popover.component.js +35 -30
  183. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts +6 -3
  184. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  185. package/development/radio-button/radio-button-panel/radio-button-panel.component.js +7 -7
  186. package/development/select/select.component.d.ts.map +1 -1
  187. package/development/select/select.component.js +2 -2
  188. package/development/selection-action-panel/selection-action-panel.component.d.ts +22 -0
  189. package/development/selection-action-panel/selection-action-panel.component.d.ts.map +1 -0
  190. package/development/selection-action-panel/selection-action-panel.component.js +105 -0
  191. package/development/selection-action-panel.d.ts +5 -0
  192. package/development/selection-action-panel.d.ts.map +1 -0
  193. package/development/selection-action-panel.js +5 -0
  194. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts +4 -24
  195. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  196. package/development/selection-expansion-panel/selection-expansion-panel.component.js +26 -106
  197. package/development/{transparent-button-Ddb_s0a0.js → transparent-button-Dun6bh2G.js} +89 -8
  198. package/dialog/dialog/dialog.component.d.ts +4 -2
  199. package/dialog/dialog/dialog.component.d.ts.map +1 -1
  200. package/dialog/dialog/dialog.component.js +63 -56
  201. package/dialog/dialog-actions/dialog-actions.component.d.ts +1 -0
  202. package/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  203. package/dialog/dialog-actions/dialog-actions.component.js +13 -9
  204. package/dialog/dialog-close-button/dialog-close-button.component.d.ts +22 -0
  205. package/dialog/dialog-close-button/dialog-close-button.component.d.ts.map +1 -0
  206. package/dialog/dialog-close-button/dialog-close-button.component.js +31 -0
  207. package/dialog/dialog-close-button.d.ts +5 -0
  208. package/dialog/dialog-close-button.d.ts.map +1 -0
  209. package/dialog/dialog-close-button.js +4 -0
  210. package/dialog/dialog-content/dialog-content.component.js +6 -6
  211. package/dialog/dialog-title/dialog-title.component.d.ts +1 -0
  212. package/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  213. package/dialog/dialog-title/dialog-title.component.js +11 -8
  214. package/dialog.d.ts +1 -0
  215. package/dialog.d.ts.map +1 -1
  216. package/dialog.js +6 -4
  217. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +7 -7
  218. package/form-field/form-field/form-field.component.d.ts +23 -1
  219. package/form-field/form-field/form-field.component.d.ts.map +1 -1
  220. package/form-field/form-field/form-field.component.js +52 -41
  221. package/form-field/form-field.js +3 -2
  222. package/form-field.js +5 -4
  223. package/header/header-environment/header-environment.component.d.ts +23 -0
  224. package/header/header-environment/header-environment.component.d.ts.map +1 -0
  225. package/header/header-environment/header-environment.component.js +37 -0
  226. package/header/header-environment.d.ts +5 -0
  227. package/header/header-environment.d.ts.map +1 -0
  228. package/header/header-environment.js +4 -0
  229. package/index.d.ts +8 -0
  230. package/index.js +8 -0
  231. package/menu/menu/menu.component.d.ts +1 -0
  232. package/menu/menu/menu.component.d.ts.map +1 -1
  233. package/menu/menu/menu.component.js +1 -1
  234. package/menu/menu-button/menu-button.component.d.ts +1 -0
  235. package/menu/menu-button/menu-button.component.d.ts.map +1 -1
  236. package/menu/menu-button/menu-button.component.js +8 -8
  237. package/menu/menu-link/menu-link.component.d.ts +1 -0
  238. package/menu/menu-link/menu-link.component.d.ts.map +1 -1
  239. package/menu/menu-link/menu-link.component.js +9 -6
  240. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  241. package/option/optgroup/optgroup-base-element.js +19 -17
  242. package/option/option-hint/option-hint.component.d.ts +18 -0
  243. package/option/option-hint/option-hint.component.d.ts.map +1 -0
  244. package/option/option-hint/option-hint.component.js +27 -0
  245. package/option/option-hint.d.ts +5 -0
  246. package/option/option-hint.d.ts.map +1 -0
  247. package/option/option-hint.js +4 -0
  248. package/option.d.ts +1 -0
  249. package/option.d.ts.map +1 -1
  250. package/option.js +5 -3
  251. package/overlay/overlay-base-element.d.ts +1 -0
  252. package/overlay/overlay-base-element.d.ts.map +1 -1
  253. package/overlay/overlay-base-element.js +21 -21
  254. package/package.json +23 -3
  255. package/popover/popover/popover.component.d.ts +18 -4
  256. package/popover/popover/popover.component.d.ts.map +1 -1
  257. package/popover/popover/popover.component.js +104 -95
  258. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts +6 -3
  259. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  260. package/radio-button/radio-button-panel/radio-button-panel.component.js +9 -9
  261. package/select/select.component.d.ts.map +1 -1
  262. package/select/select.component.js +1 -1
  263. package/selection-action-panel/selection-action-panel.component.d.ts +22 -0
  264. package/selection-action-panel/selection-action-panel.component.d.ts.map +1 -0
  265. package/selection-action-panel/selection-action-panel.component.js +34 -0
  266. package/selection-action-panel.d.ts +5 -0
  267. package/selection-action-panel.d.ts.map +1 -0
  268. package/selection-action-panel.js +4 -0
  269. package/selection-expansion-panel/selection-expansion-panel.component.d.ts +4 -24
  270. package/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  271. package/selection-expansion-panel/selection-expansion-panel.component.js +45 -102
  272. package/standard-theme.css +22 -1
  273. package/transparent-button-rf30m88X.js +9 -0
  274. package/transparent-button-BlbvexCb.js +0 -9
@@ -1,5 +1,6 @@
1
- import { SbbFormFieldElement } from "./form-field/form-field.component.js";
1
+ import { SbbFormFieldControlEvent, SbbFormFieldElement } from "./form-field/form-field.component.js";
2
2
  export {
3
+ SbbFormFieldControlEvent,
3
4
  SbbFormFieldElement
4
5
  };
5
6
  //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W10sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7In0=
@@ -1,7 +1,8 @@
1
- import { SbbFormFieldElement } from "./form-field/form-field/form-field.component.js";
1
+ import { SbbFormFieldControlEvent, SbbFormFieldElement } from "./form-field/form-field/form-field.component.js";
2
2
  import { SbbFormFieldClearElement } from "./form-field/form-field-clear/form-field-clear.component.js";
3
3
  export {
4
4
  SbbFormFieldClearElement,
5
+ SbbFormFieldControlEvent,
5
6
  SbbFormFieldElement
6
7
  };
7
8
  //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W10sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OyJ9
@@ -0,0 +1,23 @@
1
+ import { CSSResultGroup, LitElement, TemplateResult } from 'lit';
2
+ declare const SbbHeaderEnvironmentElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbElementInternalsMixinType> & typeof LitElement & import('../../core/mixins.js').SbbElementInternalsConstructor;
3
+ /**
4
+ * It displays a ribbon inside the header to indicate the current environment.
5
+ *
6
+ * @slot - Use the unnamed slot to add the environment.
7
+ *
8
+ * @cssprop [--sbb-header-environment-background-color=var(sbb-color-granite)] - Can be used change the ribbon color.
9
+ * @cssprop [--sbb-header-environment-color=var(sbb-color-white)] - Can be used change the text color.
10
+ */
11
+ export declare class SbbHeaderEnvironmentElement extends SbbHeaderEnvironmentElement_base {
12
+ static styles: CSSResultGroup;
13
+ constructor();
14
+ private _slottedTextChange;
15
+ protected render(): TemplateResult;
16
+ }
17
+ declare global {
18
+ interface HTMLElementTagNameMap {
19
+ 'sbb-header-environment': SbbHeaderEnvironmentElement;
20
+ }
21
+ }
22
+ export {};
23
+ //# sourceMappingURL=header-environment.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header-environment.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/header/header-environment/header-environment.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAQ,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;;AAOjF;;;;;;;GAOG;AACH,qBAEM,2BAA4B,SAAQ,gCAAoC;IAC5E,OAAuB,MAAM,EAAE,cAAc,CAAS;;IActD,OAAO,CAAC,kBAAkB;cAQP,MAAM,IAAI,cAAc;CAO5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,wBAAwB,EAAE,2BAA2B,CAAC;KACvD;CACF"}
@@ -0,0 +1,111 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { MutationController } from "@lit-labs/observers/mutation-controller.js";
3
+ import { css, LitElement, html } from "lit";
4
+ import { customElement } from "lit/decorators.js";
5
+ import { SbbElementInternalsMixin } from "../../core/mixins.js";
6
+ const style = css`*,
7
+ ::before,
8
+ ::after {
9
+ box-sizing: border-box;
10
+ }
11
+
12
+ :host {
13
+ --sbb-header-environment-background-color: var(--sbb-color-granite);
14
+ --sbb-header-environment-color: var(--sbb-color-white);
15
+ --sbb-header-environment-size: 2.375rem;
16
+ --sbb-header-environment-rotate: 45deg;
17
+ position: absolute;
18
+ inset-inline-end: 0;
19
+ inset-block-start: 0;
20
+ display: flex;
21
+ align-items: center;
22
+ justify-content: center;
23
+ }
24
+
25
+ :host(:dir(rtl)) {
26
+ --sbb-header-environment-rotate: -45deg;
27
+ }
28
+
29
+ :host(:is(:state(env-dev), [state--env-dev])) {
30
+ --sbb-header-environment-background-color: var(--sbb-color-orange);
31
+ }
32
+
33
+ :host(:is(:state(env-edu), [state--env-edu])) {
34
+ --sbb-header-environment-background-color: var(--sbb-color-green);
35
+ }
36
+
37
+ :host(:is(:state(env-int), [state--env-int])),
38
+ :host(:is(:state(env-inte), [state--env-inte])) {
39
+ --sbb-header-environment-background-color: var(--sbb-color-granite);
40
+ }
41
+
42
+ :host(:is(:state(env-loc), [state--env-loc])) {
43
+ --sbb-header-environment-background-color: var(--sbb-color-pink);
44
+ }
45
+
46
+ :host(:is(:state(env-test), [state--env-test])) {
47
+ --sbb-header-environment-background-color: var(--sbb-color-sky);
48
+ }
49
+
50
+ :host::before {
51
+ content: "";
52
+ border-block-start: var(--sbb-header-environment-size) solid var(--sbb-header-environment-background-color);
53
+ border-inline-start: var(--sbb-header-environment-size) solid transparent;
54
+ }
55
+
56
+ .sbb-header-environment__text {
57
+ --sbb-text-font-size: var(--sbb-font-size-text-xxs);
58
+ font-family: var(--sbb-typo-font-family);
59
+ font-weight: normal;
60
+ line-height: var(--sbb-typo-line-height-body-text);
61
+ letter-spacing: var(--sbb-typo-letter-spacing-body-text);
62
+ font-size: var(--sbb-text-font-size);
63
+ font-weight: bold;
64
+ position: absolute;
65
+ color: var(--sbb-header-environment-color);
66
+ rotate: var(--sbb-header-environment-rotate);
67
+ padding-block-end: var(--sbb-spacing-fixed-4x);
68
+ }`;
69
+ let SbbHeaderEnvironmentElement = (() => {
70
+ var _a;
71
+ let _classDecorators = [customElement("sbb-header-environment")];
72
+ let _classDescriptor;
73
+ let _classExtraInitializers = [];
74
+ let _classThis;
75
+ let _classSuper = SbbElementInternalsMixin(LitElement);
76
+ _a = class extends _classSuper {
77
+ constructor() {
78
+ super();
79
+ this.addController(new MutationController(this, {
80
+ config: { characterData: true, subtree: true },
81
+ callback: () => {
82
+ this._slottedTextChange();
83
+ }
84
+ }));
85
+ }
86
+ _slottedTextChange() {
87
+ const env = this.textContent?.trim();
88
+ this.internals.states.clear();
89
+ if (env) {
90
+ this.toggleState(`env-${env}`, true);
91
+ }
92
+ }
93
+ render() {
94
+ return html`
95
+ <span class="sbb-header-environment__text">
96
+ <slot></slot>
97
+ </span>
98
+ `;
99
+ }
100
+ }, _classThis = _a, (() => {
101
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
102
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
103
+ _classThis = _classDescriptor.value;
104
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
105
+ })(), _a.styles = style, __runInitializers(_classThis, _classExtraInitializers), _a;
106
+ return _classThis;
107
+ })();
108
+ export {
109
+ SbbHeaderEnvironmentElement
110
+ };
111
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWVudmlyb25tZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2hlYWRlci9oZWFkZXItZW52aXJvbm1lbnQvaGVhZGVyLWVudmlyb25tZW50LmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNdXRhdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL211dGF0aW9uLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgTGl0RWxlbWVudCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2hlYWRlci1lbnZpcm9ubWVudC5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgcmliYm9uIGluc2lkZSB0aGUgaGVhZGVyIHRvIGluZGljYXRlIHRoZSBjdXJyZW50IGVudmlyb25tZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIHRoZSBlbnZpcm9ubWVudC5cbiAqXG4gKiBAY3NzcHJvcCBbLS1zYmItaGVhZGVyLWVudmlyb25tZW50LWJhY2tncm91bmQtY29sb3I9dmFyKHNiYi1jb2xvci1ncmFuaXRlKV0gLSBDYW4gYmUgdXNlZCBjaGFuZ2UgdGhlIHJpYmJvbiBjb2xvci5cbiAqIEBjc3Nwcm9wIFstLXNiYi1oZWFkZXItZW52aXJvbm1lbnQtY29sb3I9dmFyKHNiYi1jb2xvci13aGl0ZSldIC0gQ2FuIGJlIHVzZWQgY2hhbmdlIHRoZSB0ZXh0IGNvbG9yLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItaGVhZGVyLWVudmlyb25tZW50JylcbmNsYXNzIFNiYkhlYWRlckVudmlyb25tZW50RWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBNdXRhdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgICAgICBjb25maWc6IHsgY2hhcmFjdGVyRGF0YTogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9LFxuICAgICAgICBjYWxsYmFjazogKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX3Nsb3R0ZWRUZXh0Q2hhbmdlKCk7XG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2xvdHRlZFRleHRDaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgZW52ID0gdGhpcy50ZXh0Q29udGVudD8udHJpbSgpO1xuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5jbGVhcigpO1xuICAgIGlmIChlbnYpIHtcbiAgICAgIHRoaXMudG9nZ2xlU3RhdGUoYGVudi0ke2Vudn1gLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWhlYWRlci1lbnZpcm9ubWVudF9fdGV4dFwiPlxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWhlYWRlci1lbnZpcm9ubWVudCc6IFNiYkhlYWRlckVudmlyb25tZW50RWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBa0JNLCtCQUEyQixNQUFBOzswQkFEaEMsY0FBYyx3QkFBd0IsQ0FBQzs7OztvQkFDRSx5QkFBeUIsVUFBVTtBQUEzQyxFQUFBLG1CQUFRLFlBQW9DO0FBQUEsSUFHNUUsY0FBQTtBQUNFLFlBQUE7QUFDQSxXQUFLLGNBQ0gsSUFBSSxtQkFBbUIsTUFBTTtBQUFBLFFBQzNCLFFBQVEsRUFBRSxlQUFlLE1BQU0sU0FBUyxLQUFBO0FBQUEsUUFDeEMsVUFBVSxNQUFLO0FBQ2IsZUFBSyxtQkFBQTtBQUFBLFFBQ1A7QUFBQSxNQUFBLENBQ0QsQ0FBQztBQUFBLElBRU47QUFBQSxJQUVRLHFCQUFrQjtBQUN4QixZQUFNLE1BQU0sS0FBSyxhQUFhLEtBQUE7QUFDOUIsV0FBSyxVQUFVLE9BQU8sTUFBQTtBQUN0QixVQUFJLEtBQUs7QUFDUCxhQUFLLFlBQVksT0FBTyxHQUFHLElBQUksSUFBSTtBQUFBLE1BQ3JDO0FBQUEsSUFDRjtBQUFBLElBRW1CLFNBQU07QUFDdkIsYUFBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFLVDtBQUFBOztBQTdCRixpQkFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBQ3lCLEdBQUEsU0FBeUIsT0FENUMsa0JBQUEsWUFBQSx1QkFBQSxHQUE0Qjs7OyJ9
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @entrypoint
3
+ */
4
+ export * from './header-environment/header-environment.component.js';
5
+ //# sourceMappingURL=header-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header-environment.d.ts","sourceRoot":"","sources":["../../../../src/elements/header/header-environment.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,sDAAsD,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { SbbHeaderEnvironmentElement } from "./header-environment/header-environment.component.js";
2
+ export {
3
+ SbbHeaderEnvironmentElement
4
+ };
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWVudmlyb25tZW50LmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjsifQ==
@@ -13,6 +13,7 @@ declare const SbbMenuElement_base: import('../../core/mixins.js').AbstractConstr
13
13
  */
14
14
  export declare class SbbMenuElement extends SbbMenuElement_base {
15
15
  static styles: CSSResultGroup;
16
+ static readonly role = "menu";
16
17
  protected readonly listChildLocalNames: string[];
17
18
  /**
18
19
  * The element that will trigger the menu overlay.
@@ -1 +1 @@
1
- {"version":3,"file":"menu.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/menu/menu/menu.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAUb,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAiBtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;;AAkB1D;;;;;;;GAOG;AACH,qBAEM,cAAe,SAAQ,mBAGH;IACxB,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,mBAA4B,mBAAmB,WAAwC;IAEvF;;;;OAIG;IACH,SAEgB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAEnD;;;OAGG;IACH,SAEgB,sBAAsB,EAAE,MAAM,CAAM;IAEpD,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,uBAAuB,CAAmB;IAClD,OAAO,CAAC,yBAAyB,CAAkB;IACnD,OAAO,CAAC,uBAAuB,CAAmB;IAClD,OAAO,CAAC,2BAA2B,CAA2C;IAC9E,OAAO,CAAC,oBAAoB,CAAoC;IAChE,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,aAAa,CAQlB;;IAQH;;OAEG;IACI,IAAI,IAAI,IAAI;IAyBnB;;OAEG;IACI,KAAK,IAAI,IAAI;IAepB,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,cAAc;IAsBtB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,cAAc;cA2CH,gBAAgB,IAAI,WAAW,GAAG,gBAAgB;IAWrD,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAQ5B,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;cAQY,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAK9E,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,+BAA+B;IAQvC,OAAO,CAAC,oBAAoB,CAE1B;IAGF,OAAO,CAAC,qBAAqB,CAI3B;IAMF,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,gBAAgB;cAyBL,MAAM,IAAI,cAAc;CAsB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,UAAU,EAAE,cAAc,CAAC;KAC5B;CACF"}
1
+ {"version":3,"file":"menu.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/menu/menu/menu.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAUb,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAiBtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;;AAkB1D;;;;;;;GAOG;AACH,qBAEM,cAAe,SAAQ,mBAGH;IACxB,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAgC,IAAI,UAAU;IAC9C,mBAA4B,mBAAmB,WAAwC;IAEvF;;;;OAIG;IACH,SAEgB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAEnD;;;OAGG;IACH,SAEgB,sBAAsB,EAAE,MAAM,CAAM;IAEpD,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,uBAAuB,CAAmB;IAClD,OAAO,CAAC,yBAAyB,CAAkB;IACnD,OAAO,CAAC,uBAAuB,CAAmB;IAClD,OAAO,CAAC,2BAA2B,CAA2C;IAC9E,OAAO,CAAC,oBAAoB,CAAoC;IAChE,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,aAAa,CAQlB;;IAQH;;OAEG;IACI,IAAI,IAAI,IAAI;IAyBnB;;OAEG;IACI,KAAK,IAAI,IAAI;IAepB,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,cAAc;IAsBtB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,cAAc;cA2CH,gBAAgB,IAAI,WAAW,GAAG,gBAAgB;IAWrD,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAQ5B,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;cAQY,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAK9E,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,+BAA+B;IAQvC,OAAO,CAAC,oBAAoB,CAE1B;IAGF,OAAO,CAAC,qBAAqB,CAI3B;IAMF,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,gBAAgB;cAyBL,MAAM,IAAI,cAAc;CAsB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,UAAU,EAAE,cAAc,CAAC;KAC5B;CACF"}
@@ -557,10 +557,10 @@ let SbbMenuElement = (() => {
557
557
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
558
558
  _classThis = _classDescriptor.value;
559
559
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
560
- })(), _a.styles = style, __runInitializers(_classThis, _classExtraInitializers), _a;
560
+ })(), _a.styles = style, _a.role = "menu", __runInitializers(_classThis, _classExtraInitializers), _a;
561
561
  return _classThis;
562
562
  })();
563
563
  export {
564
564
  SbbMenuElement
565
565
  };
566
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9tZW51L21lbnUvbWVudS5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHtcbiAgZ2V0TmV4dEVsZW1lbnRJbmRleCxcbiAgaW50ZXJhY3Rpdml0eUNoZWNrZXIsXG4gIGlzQXJyb3dLZXlPclBhZ2VLZXlzUHJlc3NlZCxcbiAgU2JiRm9jdXNUcmFwQ29udHJvbGxlcixcbn0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7XG4gIFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLFxuICBTYmJJbmVydENvbnRyb2xsZXIsXG4gIFNiYk1lZGlhTWF0Y2hlckNvbnRyb2xsZXIsXG4gIFNiYk1lZGlhUXVlcnlCcmVha3BvaW50U21hbGxBbmRCZWxvdyxcbn0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUsIGlkUmVmZXJlbmNlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uLCBTYmJTY3JvbGxIYW5kbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgZm9yd2FyZEV2ZW50IH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBTYmJOYW1lZFNsb3RMaXN0TWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQge1xuICBnZXRFbGVtZW50UG9zaXRpb24sXG4gIGlzRXZlbnRPbkVsZW1lbnQsXG4gIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXMsXG4gIHNldEFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXMsXG59IGZyb20gJy4uLy4uL2NvcmUvb3ZlcmxheS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk1lbnVCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vbWVudS1idXR0b24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJNZW51TGlua0VsZW1lbnQgfSBmcm9tICcuLi9tZW51LWxpbmsuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9tZW51LnNjc3M/bGl0JmlubGluZSc7XG5cbmNvbnN0IE1FTlVfT0ZGU0VUID0gODtcbmNvbnN0IElOVEVSQUNUSVZFX0VMRU1FTlRTID0gW1xuICAnQScsXG4gICdCVVRUT04nLFxuICAnU0JCLUJVVFRPTicsXG4gICdTQkItQlVUVE9OLUxJTksnLFxuICAnU0JCLUxJTksnLFxuICAnU0JCLUJMT0NLLUxJTksnLFxuICAnU0JCLUxJTkstQlVUVE9OJyxcbiAgJ1NCQi1CTE9DSy1MSU5LLUJVVFRPTicsXG5dO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGNvbnRleHR1YWwgbWVudSB3aXRoIG9uZSBvciBtb3JlIGFjdGlvbiBlbGVtZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItbWVudS1idXR0b25gL2BzYmItbWVudS1saW5rYCBvciBvdGhlciBlbGVtZW50cyB0byB0aGUgbWVudS5cbiAqIEBjc3Nwcm9wIFstLXNiYi1tZW51LXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLW1lbnUnKVxuY2xhc3MgU2JiTWVudUVsZW1lbnQgZXh0ZW5kcyBTYmJOYW1lZFNsb3RMaXN0TWl4aW48XG4gIFNiYk1lbnVCdXR0b25FbGVtZW50IHwgU2JiTWVudUxpbmtFbGVtZW50LFxuICB0eXBlb2YgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnRcbj4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBsaXN0Q2hpbGRMb2NhbE5hbWVzID0gWydzYmItbWVudS1idXR0b24nLCAnc2JiLW1lbnUtbGluayddO1xuXG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgbWVudSBvdmVybGF5LlxuICAgKlxuICAgKiBGb3IgYXR0cmlidXRlIHVzYWdlLCBwcm92aWRlIGFuIGlkIHJlZmVyZW5jZS5cbiAgICovXG4gIEBpZFJlZmVyZW5jZSgpXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB0cmlnZ2VyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIGlubmVyIGxpc3QuXG4gICAqIFVzZWQgb25seSBpZiB0aGUgbWVudSBhdXRvbWF0aWNhbGx5IHJlbmRlcnMgdGhlIGFjdGlvbnMgaW5zaWRlIGFzIGEgbGlzdC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdsaXN0LWFjY2Vzc2liaWxpdHktbGFiZWwnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBsaXN0QWNjZXNzaWJpbGl0eUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICBwcml2YXRlIF9tZW51ITogSFRNTERpdkVsZW1lbnQ7XG4gIHByaXZhdGUgX3RyaWdnZXJFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF90cmlnZ2VyQWJvcnRDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9pc1BvaW50ZXJEb3duRXZlbnRPbk1lbnU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfd2luZG93RXZlbnRzQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIgPSBuZXcgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2ZvY3VzVHJhcENvbnRyb2xsZXIgPSBuZXcgU2JiRm9jdXNUcmFwQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfc2Nyb2xsSGFuZGxlciA9IG5ldyBTYmJTY3JvbGxIYW5kbGVyKCk7XG4gIHByaXZhdGUgX2luZXJ0Q29udHJvbGxlciA9IG5ldyBTYmJJbmVydENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX21lZGlhTWF0Y2hlciA9IG5ldyBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyKHRoaXMsIHtcbiAgICBbU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRTbWFsbEFuZEJlbG93XTogKG1hdGNoZXMpID0+IHtcbiAgICAgIGlmIChtYXRjaGVzICYmICh0aGlzLnN0YXRlID09PSAnb3BlbmluZycgfHwgdGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcpKSB7XG4gICAgICAgIHRoaXMuX3Njcm9sbEhhbmRsZXIuZGlzYWJsZVNjcm9sbCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgICAgIH1cbiAgICB9LFxuICB9KTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2xpY2snLCAoZSkgPT4gdGhpcy5fb25DbGljayhlKSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlS2V5RG93bihlKSk7XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgdGhlIG1lbnUgb24gdHJpZ2dlciBjbGljay5cbiAgICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlID09PSAnY2xvc2luZycgfHwgIXRoaXMuX21lbnUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNob3dQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuX3NldE1lbnVQb3NpdGlvbigpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAndHJ1ZScpO1xuXG4gICAgLy8gRnJvbSB6ZXJvIHRvIG1lZGl1bSwgZGlzYWJsZSBzY3JvbGxcbiAgICBpZiAodGhpcy5fbWVkaWFNYXRjaGVyLm1hdGNoZXMoU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRTbWFsbEFuZEJlbG93KSkge1xuICAgICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5kaXNhYmxlU2Nyb2xsKCk7XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYG9wZW5lZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBtZW51LlxuICAgKi9cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlID09PSAnb3BlbmluZycgfHwgIXRoaXMuZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1tZW51LWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5faW5lcnRDb250cm9sbGVyLmFjdGl2YXRlKCk7XG4gICAgdGhpcy5fZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuY29ubmVjdCgpO1xuICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZm9jdXNJbml0aWFsRWxlbWVudCgpO1xuICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZW5hYmxlZCA9IHRydWU7XG4gICAgdGhpcy5fYXR0YWNoV2luZG93RXZlbnRzKCk7XG4gICAgdGhpcy5kaXNwYXRjaE9wZW5FdmVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgdGhpcy5oaWRlUG9wb3Zlcj8uKCk7XG5cbiAgICB0aGlzLl9tZW51Py5maXJzdEVsZW1lbnRDaGlsZD8uc2Nyb2xsVG8oMCwgMCk7XG4gICAgdGhpcy5faW5lcnRDb250cm9sbGVyLmRlYWN0aXZhdGUoKTtcbiAgICAvLyBNYW51YWxseSBmb2N1cyBsYXN0IGZvY3VzZWQgZWxlbWVudFxuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5mb2N1cyh7XG4gICAgICAvLyBXaGVuIGluc2lkZSB0aGUgc2JiLWhlYWRlciwgd2UgcHJldmVudCB0aGUgc2Nyb2xsIHRvIGF2b2lkIHRoZSBzbmFwcGluZyB0byB0aGUgdG9wIG9mIHRoZSBwYWdlXG4gICAgICBwcmV2ZW50U2Nyb2xsOlxuICAgICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5sb2NhbE5hbWUgPT09ICdzYmItaGVhZGVyLWJ1dHRvbicgfHxcbiAgICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQubG9jYWxOYW1lID09PSAnc2JiLWhlYWRlci1saW5rJyxcbiAgICB9KTtcbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5kaXNwYXRjaENsb3NlRXZlbnQoKTtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZW5hYmxlZCA9IGZhbHNlO1xuXG4gICAgLy8gU3RhcnRpbmcgZnJvbSBicmVha3BvaW50IG1lZGl1bSwgZW5hYmxlIHNjcm9sbFxuICAgIHRoaXMuX3Njcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyBjbGljayBhbmQgY2hlY2tzIGlmIGl0cyB0YXJnZXQgaXMgYSBzYmItbWVudS1idXR0b24vc2JiLW1lbnUtbGluay5cbiAgICovXG4gIHByaXZhdGUgX29uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgIGlmICh0YXJnZXQ/LmxvY2FsTmFtZSA9PT0gJ3NiYi1tZW51LWJ1dHRvbicgfHwgdGFyZ2V0Py5sb2NhbE5hbWUgPT09ICdzYmItbWVudS1saW5rJykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCFpc0Fycm93S2V5T3JQYWdlS2V5c1ByZXNzZWQoZXZ0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGNvbnN0IGVuYWJsZWRBY3Rpb25zOiBFbGVtZW50W10gPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPFNiYk1lbnVCdXR0b25FbGVtZW50IHwgU2JiTWVudUxpbmtFbGVtZW50PihcbiAgICAgICAgJ3NiYi1tZW51LWJ1dHRvbiwgc2JiLW1lbnUtbGluaycsXG4gICAgICApLFxuICAgICkuZmlsdGVyKFxuICAgICAgKGVsKSA9PiAoIWVsLmRpc2FibGVkIHx8IGVsLmRpc2FibGVkSW50ZXJhY3RpdmUpICYmIGludGVyYWN0aXZpdHlDaGVja2VyLmlzVmlzaWJsZShlbCksXG4gICAgKTtcbiAgICBjb25zdCBjdXJyZW50ID0gZW5hYmxlZEFjdGlvbnMuZmluZEluZGV4KChlOiBFbGVtZW50KSA9PiBlID09PSBldnQudGFyZ2V0KTtcblxuICAgIGxldCBuZXh0SW5kZXg7XG4gICAgc3dpdGNoIChldnQua2V5KSB7XG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XG4gICAgICAgIG5leHRJbmRleCA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZ0LCBjdXJyZW50LCBlbmFibGVkQWN0aW9ucy5sZW5ndGgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnUGFnZVVwJzpcbiAgICAgIGNhc2UgJ0hvbWUnOlxuICAgICAgICBuZXh0SW5kZXggPSAwO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnRW5kJzpcbiAgICAgIGNhc2UgJ1BhZ2VEb3duJzpcbiAgICAgICAgbmV4dEluZGV4ID0gZW5hYmxlZEFjdGlvbnMubGVuZ3RoIC0gMTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIC8vIHRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlbiBzaW5jZSBhbGwgdGhlIGNhc2UgYWxsb3dlZCBieSBgaXNBcnJvd0tleU9yUGFnZUtleXNQcmVzc2VkYCBzaG91bGQgYmUgY292ZXJlZFxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgbmV4dEluZGV4ID0gMDtcbiAgICB9XG5cbiAgICAoZW5hYmxlZEFjdGlvbnNbbmV4dEluZGV4XSBhcyBIVE1MRWxlbWVudCkuZm9jdXMoKTtcbiAgfVxuXG4gIC8vIFJlbW92ZXMgdHJpZ2dlciBjbGljayBsaXN0ZW5lciBvbiB0cmlnZ2VyIGNoYW5nZS5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGNyZWF0ZVJlbmRlclJvb3QoKTogSFRNTEVsZW1lbnQgfCBEb2N1bWVudEZyYWdtZW50IHtcbiAgICBjb25zdCByZW5kZXJSb290ID0gc3VwZXIuY3JlYXRlUmVuZGVyUm9vdCgpO1xuICAgIC8vIER1ZSB0byB0aGUgZmFjdCB0aGF0IG1lbnUgY2FuIGJvdGggYmUgYSBsaXN0IGFuZCBqdXN0IGEgY29udGFpbmVyLCB3ZSBuZWVkIHRvIGNoZWNrIGl0c1xuICAgIC8vIHN0YXRlIGJlZm9yZSB0aGUgU2JiTmFtZWRTbG90TGlzdE1peGluIGhhbmRsZXMgdGhlIHNsb3RjaGFuZ2UgZXZlbnQsIGluIG9yZGVyIHRvIGF2b2lkXG4gICAgLy8gaXQgaW50ZXJwcmV0aW5nIHRoZSBub24gbGlzdCBjYXNlIGFzIGEgbGlzdC5cbiAgICB0aGlzLnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCAoZSkgPT4gdGhpcy5fY2hlY2tMaXN0Q2FzZShlKSwge1xuICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICB9KTtcbiAgICByZXR1cm4gcmVuZGVyUm9vdDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXIgPSAnbWFudWFsJztcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuaWQgfHw9IGBzYmItbWVudS0ke25leHRJZCsrfWA7XG4gICAgaWYgKHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gbnVsbDtcbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuXG4gICAgaWYgKCFpc1NlcnZlciAmJiAoIW5hbWUgfHwgbmFtZSA9PT0gJ3RyaWdnZXInKSAmJiB0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZVRyaWdnZXIoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tMaXN0Q2FzZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBJZiBhbGwgY2hpbGRyZW4gYXJlIHNiYi1tZW51LWJ1dHRvbi9tZW51LWxpbmsgaW5zdGFuY2VzLCB3ZSByZW5kZXIgdGhlbSBhcyBhIGxpc3QuXG4gICAgaWYgKFxuICAgICAgdGhpcy5jaGlsZHJlbj8ubGVuZ3RoICYmXG4gICAgICBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4gPz8gW10pLmV2ZXJ5KFxuICAgICAgICAoYykgPT4gYy5sb2NhbE5hbWUgPT09ICdzYmItbWVudS1idXR0b24nIHx8IGMubG9jYWxOYW1lID09PSAnc2JiLW1lbnUtbGluaycsXG4gICAgICApXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKHRoaXMubGlzdENoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgdGhpcy5saXN0Q2hpbGRyZW4uZm9yRWFjaCgoYykgPT4gYy5yZW1vdmVBdHRyaWJ1dGUoJ3Nsb3QnKSk7XG4gICAgICB0aGlzLmxpc3RDaGlsZHJlbiA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSB0cmlnZ2VyIGlzIHZhbGlkIGFuZCBhdHRhY2ggY2xpY2sgZXZlbnQgbGlzdGVuZXJzLlxuICBwcml2YXRlIF9jb25maWd1cmVUcmlnZ2VyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRyaWdnZXIgPT09IHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMudHJpZ2dlcjtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50LCAnbWVudScsIHRoaXMuaWQsIHRoaXMuc3RhdGUpO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLm9wZW4oKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaFdpbmRvd0V2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsICgpID0+IHRoaXMuX3NldE1lbnVQb3NpdGlvbigpLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgc2lnbmFsOiB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIC8vIFdpdGhvdXQgY2FwdHVyZSwgb3RoZXIgc2Nyb2xsIGNvbnRleHRzIHdvdWxkIG5vdCBidWJibGUgdG8gdGhpcyBldmVudCBsaXN0ZW5lci5cbiAgICAgIC8vIENhcHR1cmUgYWxsb3dzIHVzIHRvIHJlYWN0IHRvIGFsbCBzY3JvbGwgY29udGV4dHMgaW4gdGhpcyBET00uXG4gICAgICBjYXB0dXJlOiB0cnVlLFxuICAgIH0pO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB0aGlzLl9zZXRNZW51UG9zaXRpb24oKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgLy8gQ2xvc2UgbWVudSBvbiBiYWNrZHJvcCBjbGlja1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIsIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsIHRoaXMuX2Nsb3NlT25CYWNrZHJvcENsaWNrLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gQ2xvc2UgbWVudSBhdCBhbnkgY2xpY2sgb24gYW4gaW50ZXJhY3RpdmUgZWxlbWVudCBpbnNpZGUgdGhlIDxzYmItbWVudT4gdGhhdCBidWJibGVzIHRvIHRoZSBjb250YWluZXIuXG4gIHByaXZhdGUgX2Nsb3NlT25JbnRlcmFjdGl2ZUVsZW1lbnRDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgaWYgKElOVEVSQUNUSVZFX0VMRU1FTlRTLmluY2x1ZGVzKHRhcmdldC5ub2RlTmFtZSkgJiYgIXRhcmdldC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgcG9pbnRlcmRvd24gZXZlbnQgdGFyZ2V0IGlzIHRyaWdnZXJlZCBvbiB0aGUgbWVudS5cbiAgcHJpdmF0ZSBfcG9pbnRlckRvd25MaXN0ZW5lciA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25NZW51ID0gaXNFdmVudE9uRWxlbWVudCh0aGlzLl9tZW51LCBldmVudCk7XG4gIH07XG5cbiAgLy8gQ2xvc2UgbWVudSBvbiBiYWNrZHJvcCBjbGljay5cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICghdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25NZW51ICYmICFpc0V2ZW50T25FbGVtZW50KHRoaXMuX21lbnUsIGV2ZW50KSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICAvLyBTZXQgbWVudSBwb3NpdGlvbiAoeCwgeSkgdG8gJzAnIG9uY2UgdGhlIG1lbnUgaXMgY2xvc2VkIGFuZCB0aGUgdHJhbnNpdGlvbiBlbmRlZCB0byBwcmV2ZW50IHRoZVxuICAvLyB2aWV3cG9ydCBmcm9tIG92ZXJmbG93aW5nLiBBbmQgc2V0IHRoZSBmb2N1cyB0byB0aGUgZmlyc3QgZm9jdXNhYmxlIGVsZW1lbnQgb25jZSB0aGUgbWVudSBpcyBvcGVuLlxuICAvLyBJbiByYXJlIGNhc2VzIGl0IGNhbiBiZSB0aGF0IHRoZSBhbmltYXRpb25FbmQgZXZlbnQgaXMgdHJpZ2dlcmVkIHR3aWNlLlxuICAvLyBUbyBhdm9pZCBlbnRlcmluZyBhIGNvcnJ1cHQgc3RhdGUsIGV4aXQgd2hlbiBzdGF0ZSBpcyBub3QgZXhwZWN0ZWQuXG4gIHByaXZhdGUgX29uTWVudUFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICAvLyBTZXQgbWVudSBwb3NpdGlvbiBhbmQgbWF4IGhlaWdodCBpZiB0aGUgYnJlYWtwb2ludCBpcyBtZWRpdW0tdWx0cmEuXG4gIHByaXZhdGUgX3NldE1lbnVQb3NpdGlvbigpOiB2b2lkIHtcbiAgICAvLyBTdGFydGluZyBmcm9tIGJyZWFrcG9pbnQgbWVkaXVtXG4gICAgaWYgKFxuICAgICAgKHRoaXMuX21lZGlhTWF0Y2hlci5tYXRjaGVzKFNiYk1lZGlhUXVlcnlCcmVha3BvaW50U21hbGxBbmRCZWxvdykgPz8gdHJ1ZSkgfHxcbiAgICAgICF0aGlzLl9tZW51IHx8XG4gICAgICAhdGhpcy5fdHJpZ2dlckVsZW1lbnQgfHxcbiAgICAgIHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJ1xuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1lbnVQb3NpdGlvbiA9IGdldEVsZW1lbnRQb3NpdGlvbihcbiAgICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignLnNiYi1tZW51X19jb250ZW50JykhLFxuICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQsXG4gICAgICB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJy5zYmItbWVudV9fY29udGFpbmVyJykhLFxuICAgICAge1xuICAgICAgICB2ZXJ0aWNhbE9mZnNldDogTUVOVV9PRkZTRVQsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1tZW51LXBvc2l0aW9uLXgnLCBgJHttZW51UG9zaXRpb24ubGVmdH1weGApO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW1lbnUtcG9zaXRpb24teScsIGAke21lbnVQb3NpdGlvbi50b3B9cHhgKTtcbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1tZW51LW1heC1oZWlnaHQnLCBtZW51UG9zaXRpb24ubWF4SGVpZ2h0KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIC8vIFRPRE86IEhhbmRsZSBjYXNlIHdpdGggb3RoZXIgZWxlbWVudHMgdGhhbiBzYmItbWVudS1idXR0b24vc2JiLW1lbnUtbGluay5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItbWVudV9fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25NZW51QW5pbWF0aW9uRW5kfVxuICAgICAgICAgIGNsYXNzPVwic2JiLW1lbnVcIlxuICAgICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpID0+ICh0aGlzLl9tZW51ID0gZWwgYXMgSFRNTERpdkVsZW1lbnQpKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIEBjbGljaz0keyhldmVudDogRXZlbnQpID0+IHRoaXMuX2Nsb3NlT25JbnRlcmFjdGl2ZUVsZW1lbnRDbGljayhldmVudCl9XG4gICAgICAgICAgICBAc2Nyb2xsPSR7KGU6IEV2ZW50KSA9PiBmb3J3YXJkRXZlbnQoZSwgZG9jdW1lbnQpfVxuICAgICAgICAgICAgY2xhc3M9XCJzYmItbWVudV9fY29udGVudFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgJHt0aGlzLmxpc3RDaGlsZHJlbi5sZW5ndGhcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlckxpc3QoeyBjbGFzczogJ3NiYi1tZW51LWxpc3QnLCBhcmlhTGFiZWw6IHRoaXMubGlzdEFjY2Vzc2liaWxpdHlMYWJlbCB9KVxuICAgICAgICAgICAgICA6IGh0bWxgPHNsb3Q+PC9zbG90PmB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW1lbnUnOiBTYmJNZW51RWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXVDQSxNQUFNLGNBQWM7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
566
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9tZW51L21lbnUvbWVudS5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHtcbiAgZ2V0TmV4dEVsZW1lbnRJbmRleCxcbiAgaW50ZXJhY3Rpdml0eUNoZWNrZXIsXG4gIGlzQXJyb3dLZXlPclBhZ2VLZXlzUHJlc3NlZCxcbiAgU2JiRm9jdXNUcmFwQ29udHJvbGxlcixcbn0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7XG4gIFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLFxuICBTYmJJbmVydENvbnRyb2xsZXIsXG4gIFNiYk1lZGlhTWF0Y2hlckNvbnRyb2xsZXIsXG4gIFNiYk1lZGlhUXVlcnlCcmVha3BvaW50U21hbGxBbmRCZWxvdyxcbn0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUsIGlkUmVmZXJlbmNlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uLCBTYmJTY3JvbGxIYW5kbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgZm9yd2FyZEV2ZW50IH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBTYmJOYW1lZFNsb3RMaXN0TWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQge1xuICBnZXRFbGVtZW50UG9zaXRpb24sXG4gIGlzRXZlbnRPbkVsZW1lbnQsXG4gIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXMsXG4gIHNldEFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXMsXG59IGZyb20gJy4uLy4uL2NvcmUvb3ZlcmxheS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk1lbnVCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vbWVudS1idXR0b24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJNZW51TGlua0VsZW1lbnQgfSBmcm9tICcuLi9tZW51LWxpbmsuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9tZW51LnNjc3M/bGl0JmlubGluZSc7XG5cbmNvbnN0IE1FTlVfT0ZGU0VUID0gODtcbmNvbnN0IElOVEVSQUNUSVZFX0VMRU1FTlRTID0gW1xuICAnQScsXG4gICdCVVRUT04nLFxuICAnU0JCLUJVVFRPTicsXG4gICdTQkItQlVUVE9OLUxJTksnLFxuICAnU0JCLUxJTksnLFxuICAnU0JCLUJMT0NLLUxJTksnLFxuICAnU0JCLUxJTkstQlVUVE9OJyxcbiAgJ1NCQi1CTE9DSy1MSU5LLUJVVFRPTicsXG5dO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGNvbnRleHR1YWwgbWVudSB3aXRoIG9uZSBvciBtb3JlIGFjdGlvbiBlbGVtZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItbWVudS1idXR0b25gL2BzYmItbWVudS1saW5rYCBvciBvdGhlciBlbGVtZW50cyB0byB0aGUgbWVudS5cbiAqIEBjc3Nwcm9wIFstLXNiYi1tZW51LXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLW1lbnUnKVxuY2xhc3MgU2JiTWVudUVsZW1lbnQgZXh0ZW5kcyBTYmJOYW1lZFNsb3RMaXN0TWl4aW48XG4gIFNiYk1lbnVCdXR0b25FbGVtZW50IHwgU2JiTWVudUxpbmtFbGVtZW50LFxuICB0eXBlb2YgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnRcbj4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICdtZW51JztcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IGxpc3RDaGlsZExvY2FsTmFtZXMgPSBbJ3NiYi1tZW51LWJ1dHRvbicsICdzYmItbWVudS1saW5rJ107XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHRoYXQgd2lsbCB0cmlnZ2VyIHRoZSBtZW51IG92ZXJsYXkuXG4gICAqXG4gICAqIEZvciBhdHRyaWJ1dGUgdXNhZ2UsIHByb3ZpZGUgYW4gaWQgcmVmZXJlbmNlLlxuICAgKi9cbiAgQGlkUmVmZXJlbmNlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIHRyaWdnZXI6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCBiZSBmb3J3YXJkZWQgYXMgYXJpYS1sYWJlbCB0byB0aGUgaW5uZXIgbGlzdC5cbiAgICogVXNlZCBvbmx5IGlmIHRoZSBtZW51IGF1dG9tYXRpY2FsbHkgcmVuZGVycyB0aGUgYWN0aW9ucyBpbnNpZGUgYXMgYSBsaXN0LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2xpc3QtYWNjZXNzaWJpbGl0eS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGxpc3RBY2Nlc3NpYmlsaXR5TGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgX21lbnUhOiBIVE1MRGl2RWxlbWVudDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX2lzUG9pbnRlckRvd25FdmVudE9uTWVudTogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF93aW5kb3dFdmVudHNDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlciA9IG5ldyBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfZm9jdXNUcmFwQ29udHJvbGxlciA9IG5ldyBTYmJGb2N1c1RyYXBDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9zY3JvbGxIYW5kbGVyID0gbmV3IFNiYlNjcm9sbEhhbmRsZXIoKTtcbiAgcHJpdmF0ZSBfaW5lcnRDb250cm9sbGVyID0gbmV3IFNiYkluZXJ0Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfbWVkaWFNYXRjaGVyID0gbmV3IFNiYk1lZGlhTWF0Y2hlckNvbnRyb2xsZXIodGhpcywge1xuICAgIFtTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQmVsb3ddOiAobWF0Y2hlcykgPT4ge1xuICAgICAgaWYgKG1hdGNoZXMgJiYgKHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJyB8fCB0aGlzLnN0YXRlID09PSAnb3BlbmVkJykpIHtcbiAgICAgICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5kaXNhYmxlU2Nyb2xsKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9zY3JvbGxIYW5kbGVyLmVuYWJsZVNjcm9sbCgpO1xuICAgICAgfVxuICAgIH0sXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsIChlKSA9PiB0aGlzLl9vbkNsaWNrKGUpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChlKSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyB0aGUgbWVudSBvbiB0cmlnZ2VyIGNsaWNrLlxuICAgKi9cbiAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJyB8fCAhdGhpcy5fbWVudSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuZGlzcGF0Y2hCZWZvcmVPcGVuRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2hvd1BvcG92ZXI/LigpO1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgdGhpcy5fc2V0TWVudVBvc2l0aW9uKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICd0cnVlJyk7XG5cbiAgICAvLyBGcm9tIHplcm8gdG8gbWVkaXVtLCBkaXNhYmxlIHNjcm9sbFxuICAgIGlmICh0aGlzLl9tZWRpYU1hdGNoZXIubWF0Y2hlcyhTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQmVsb3cpKSB7XG4gICAgICB0aGlzLl9zY3JvbGxIYW5kbGVyLmRpc2FibGVTY3JvbGwoKTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIG1lbnUuXG4gICAqL1xuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJyB8fCAhdGhpcy5kaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2luZyc7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICdmYWxzZScpO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYGNsb3NlZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLW1lbnUtYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLl9pbmVydENvbnRyb2xsZXIuYWN0aXZhdGUoKTtcbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5mb2N1c0luaXRpYWxFbGVtZW50KCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gdHJ1ZTtcbiAgICB0aGlzLl9hdHRhY2hXaW5kb3dFdmVudHMoKTtcbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmhpZGVQb3BvdmVyPy4oKTtcblxuICAgIHRoaXMuX21lbnU/LmZpcnN0RWxlbWVudENoaWxkPy5zY3JvbGxUbygwLCAwKTtcbiAgICB0aGlzLl9pbmVydENvbnRyb2xsZXIuZGVhY3RpdmF0ZSgpO1xuICAgIC8vIE1hbnVhbGx5IGZvY3VzIGxhc3QgZm9jdXNlZCBlbGVtZW50XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LmZvY3VzKHtcbiAgICAgIC8vIFdoZW4gaW5zaWRlIHRoZSBzYmItaGVhZGVyLCB3ZSBwcmV2ZW50IHRoZSBzY3JvbGwgdG8gYXZvaWQgdGhlIHNuYXBwaW5nIHRvIHRoZSB0b3Agb2YgdGhlIHBhZ2VcbiAgICAgIHByZXZlbnRTY3JvbGw6XG4gICAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmxvY2FsTmFtZSA9PT0gJ3NiYi1oZWFkZXItYnV0dG9uJyB8fFxuICAgICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5sb2NhbE5hbWUgPT09ICdzYmItaGVhZGVyLWxpbmsnLFxuICAgIH0pO1xuICAgIHRoaXMuX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLmRpc3BhdGNoQ2xvc2VFdmVudCgpO1xuICAgIHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gZmFsc2U7XG5cbiAgICAvLyBTdGFydGluZyBmcm9tIGJyZWFrcG9pbnQgbWVkaXVtLCBlbmFibGUgc2Nyb2xsXG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIGNsaWNrIGFuZCBjaGVja3MgaWYgaXRzIHRhcmdldCBpcyBhIHNiYi1tZW51LWJ1dHRvbi9zYmItbWVudS1saW5rLlxuICAgKi9cbiAgcHJpdmF0ZSBfb25DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gICAgaWYgKHRhcmdldD8ubG9jYWxOYW1lID09PSAnc2JiLW1lbnUtYnV0dG9uJyB8fCB0YXJnZXQ/LmxvY2FsTmFtZSA9PT0gJ3NiYi1tZW51LWxpbmsnKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIWlzQXJyb3dLZXlPclBhZ2VLZXlzUHJlc3NlZChldnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgY29uc3QgZW5hYmxlZEFjdGlvbnM6IEVsZW1lbnRbXSA9IEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw8U2JiTWVudUJ1dHRvbkVsZW1lbnQgfCBTYmJNZW51TGlua0VsZW1lbnQ+KFxuICAgICAgICAnc2JiLW1lbnUtYnV0dG9uLCBzYmItbWVudS1saW5rJyxcbiAgICAgICksXG4gICAgKS5maWx0ZXIoXG4gICAgICAoZWwpID0+ICghZWwuZGlzYWJsZWQgfHwgZWwuZGlzYWJsZWRJbnRlcmFjdGl2ZSkgJiYgaW50ZXJhY3Rpdml0eUNoZWNrZXIuaXNWaXNpYmxlKGVsKSxcbiAgICApO1xuICAgIGNvbnN0IGN1cnJlbnQgPSBlbmFibGVkQWN0aW9ucy5maW5kSW5kZXgoKGU6IEVsZW1lbnQpID0+IGUgPT09IGV2dC50YXJnZXQpO1xuXG4gICAgbGV0IG5leHRJbmRleDtcbiAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgbmV4dEluZGV4ID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldnQsIGN1cnJlbnQsIGVuYWJsZWRBY3Rpb25zLmxlbmd0aCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdQYWdlVXAnOlxuICAgICAgY2FzZSAnSG9tZSc6XG4gICAgICAgIG5leHRJbmRleCA9IDA7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdFbmQnOlxuICAgICAgY2FzZSAnUGFnZURvd24nOlxuICAgICAgICBuZXh0SW5kZXggPSBlbmFibGVkQWN0aW9ucy5sZW5ndGggLSAxO1xuICAgICAgICBicmVhaztcblxuICAgICAgLy8gdGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuIHNpbmNlIGFsbCB0aGUgY2FzZSBhbGxvd2VkIGJ5IGBpc0Fycm93S2V5T3JQYWdlS2V5c1ByZXNzZWRgIHNob3VsZCBiZSBjb3ZlcmVkXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBuZXh0SW5kZXggPSAwO1xuICAgIH1cblxuICAgIChlbmFibGVkQWN0aW9uc1tuZXh0SW5kZXhdIGFzIEhUTUxFbGVtZW50KS5mb2N1cygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlcyB0cmlnZ2VyIGNsaWNrIGxpc3RlbmVyIG9uIHRyaWdnZXIgY2hhbmdlLlxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY3JlYXRlUmVuZGVyUm9vdCgpOiBIVE1MRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQge1xuICAgIGNvbnN0IHJlbmRlclJvb3QgPSBzdXBlci5jcmVhdGVSZW5kZXJSb290KCk7XG4gICAgLy8gRHVlIHRvIHRoZSBmYWN0IHRoYXQgbWVudSBjYW4gYm90aCBiZSBhIGxpc3QgYW5kIGp1c3QgYSBjb250YWluZXIsIHdlIG5lZWQgdG8gY2hlY2sgaXRzXG4gICAgLy8gc3RhdGUgYmVmb3JlIHRoZSBTYmJOYW1lZFNsb3RMaXN0TWl4aW4gaGFuZGxlcyB0aGUgc2xvdGNoYW5nZSBldmVudCwgaW4gb3JkZXIgdG8gYXZvaWRcbiAgICAvLyBpdCBpbnRlcnByZXRpbmcgdGhlIG5vbiBsaXN0IGNhc2UgYXMgYSBsaXN0LlxuICAgIHRoaXMuc2hhZG93Um9vdD8uYWRkRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIChlKSA9PiB0aGlzLl9jaGVja0xpc3RDYXNlKGUpLCB7XG4gICAgICBjYXB0dXJlOiB0cnVlLFxuICAgIH0pO1xuICAgIHJldHVybiByZW5kZXJSb290O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3ZlciA9ICdtYW51YWwnO1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi1tZW51LSR7bmV4dElkKyt9YDtcbiAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9zY3JvbGxIYW5kbGVyLmVuYWJsZVNjcm9sbCgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlcXVlc3RVcGRhdGUoXG4gICAgbmFtZT86IFByb3BlcnR5S2V5LFxuICAgIG9sZFZhbHVlPzogdW5rbm93bixcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZCB7XG4gICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucyk7XG5cbiAgICBpZiAoIWlzU2VydmVyICYmICghbmFtZSB8fCBuYW1lID09PSAndHJpZ2dlcicpICYmIHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0xpc3RDYXNlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIC8vIElmIGFsbCBjaGlsZHJlbiBhcmUgc2JiLW1lbnUtYnV0dG9uL21lbnUtbGluayBpbnN0YW5jZXMsIHdlIHJlbmRlciB0aGVtIGFzIGEgbGlzdC5cbiAgICBpZiAoXG4gICAgICB0aGlzLmNoaWxkcmVuPy5sZW5ndGggJiZcbiAgICAgIEFycmF5LmZyb20odGhpcy5jaGlsZHJlbiA/PyBbXSkuZXZlcnkoXG4gICAgICAgIChjKSA9PiBjLmxvY2FsTmFtZSA9PT0gJ3NiYi1tZW51LWJ1dHRvbicgfHwgYy5sb2NhbE5hbWUgPT09ICdzYmItbWVudS1saW5rJyxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICBpZiAodGhpcy5saXN0Q2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmxpc3RDaGlsZHJlbi5mb3JFYWNoKChjKSA9PiBjLnJlbW92ZUF0dHJpYnV0ZSgnc2xvdCcpKTtcbiAgICAgIHRoaXMubGlzdENoaWxkcmVuID0gW107XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHRyaWdnZXIgaXMgdmFsaWQgYW5kIGF0dGFjaCBjbGljayBldmVudCBsaXN0ZW5lcnMuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZVRyaWdnZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudHJpZ2dlciA9PT0gdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXModGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gdGhpcy50cmlnZ2VyO1xuXG4gICAgaWYgKCF0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldEFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXModGhpcy5fdHJpZ2dlckVsZW1lbnQsICdtZW51JywgdGhpcy5pZCwgdGhpcy5zdGF0ZSk7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbigpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXR0YWNoV2luZG93RXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgKCkgPT4gdGhpcy5fc2V0TWVudVBvc2l0aW9uKCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBzaWduYWw6IHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgLy8gV2l0aG91dCBjYXB0dXJlLCBvdGhlciBzY3JvbGwgY29udGV4dHMgd291bGQgbm90IGJ1YmJsZSB0byB0aGlzIGV2ZW50IGxpc3RlbmVyLlxuICAgICAgLy8gQ2FwdHVyZSBhbGxvd3MgdXMgdG8gcmVhY3QgdG8gYWxsIHNjcm9sbCBjb250ZXh0cyBpbiB0aGlzIERPTS5cbiAgICAgIGNhcHR1cmU6IHRydWUsXG4gICAgfSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsICgpID0+IHRoaXMuX3NldE1lbnVQb3NpdGlvbigpLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgc2lnbmFsOiB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICAvLyBDbG9zZSBtZW51IG9uIGJhY2tkcm9wIGNsaWNrXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgdGhpcy5fcG9pbnRlckRvd25MaXN0ZW5lciwge1xuICAgICAgc2lnbmFsOiB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgdGhpcy5fY2xvc2VPbkJhY2tkcm9wQ2xpY2ssIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gIH1cblxuICAvLyBDbG9zZSBtZW51IGF0IGFueSBjbGljayBvbiBhbiBpbnRlcmFjdGl2ZSBlbGVtZW50IGluc2lkZSB0aGUgPHNiYi1tZW51PiB0aGF0IGJ1YmJsZXMgdG8gdGhlIGNvbnRhaW5lci5cbiAgcHJpdmF0ZSBfY2xvc2VPbkludGVyYWN0aXZlRWxlbWVudENsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAoSU5URVJBQ1RJVkVfRUxFTUVOVFMuaW5jbHVkZXModGFyZ2V0Lm5vZGVOYW1lKSAmJiAhdGFyZ2V0Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBwb2ludGVyZG93biBldmVudCB0YXJnZXQgaXMgdHJpZ2dlcmVkIG9uIHRoZSBtZW51LlxuICBwcml2YXRlIF9wb2ludGVyRG93bkxpc3RlbmVyID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICB0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbk1lbnUgPSBpc0V2ZW50T25FbGVtZW50KHRoaXMuX21lbnUsIGV2ZW50KTtcbiAgfTtcblxuICAvLyBDbG9zZSBtZW51IG9uIGJhY2tkcm9wIGNsaWNrLlxuICBwcml2YXRlIF9jbG9zZU9uQmFja2Ryb3BDbGljayA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgaWYgKCF0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbk1lbnUgJiYgIWlzRXZlbnRPbkVsZW1lbnQodGhpcy5fbWVudSwgZXZlbnQpKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9O1xuXG4gIC8vIFNldCBtZW51IHBvc2l0aW9uICh4LCB5KSB0byAnMCcgb25jZSB0aGUgbWVudSBpcyBjbG9zZWQgYW5kIHRoZSB0cmFuc2l0aW9uIGVuZGVkIHRvIHByZXZlbnQgdGhlXG4gIC8vIHZpZXdwb3J0IGZyb20gb3ZlcmZsb3dpbmcuIEFuZCBzZXQgdGhlIGZvY3VzIHRvIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudCBvbmNlIHRoZSBtZW51IGlzIG9wZW4uXG4gIC8vIEluIHJhcmUgY2FzZXMgaXQgY2FuIGJlIHRoYXQgdGhlIGFuaW1hdGlvbkVuZCBldmVudCBpcyB0cmlnZ2VyZWQgdHdpY2UuXG4gIC8vIFRvIGF2b2lkIGVudGVyaW5nIGEgY29ycnVwdCBzdGF0ZSwgZXhpdCB3aGVuIHN0YXRlIGlzIG5vdCBleHBlY3RlZC5cbiAgcHJpdmF0ZSBfb25NZW51QW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicgJiYgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2UnICYmIHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldCBtZW51IHBvc2l0aW9uIGFuZCBtYXggaGVpZ2h0IGlmIHRoZSBicmVha3BvaW50IGlzIG1lZGl1bS11bHRyYS5cbiAgcHJpdmF0ZSBfc2V0TWVudVBvc2l0aW9uKCk6IHZvaWQge1xuICAgIC8vIFN0YXJ0aW5nIGZyb20gYnJlYWtwb2ludCBtZWRpdW1cbiAgICBpZiAoXG4gICAgICAodGhpcy5fbWVkaWFNYXRjaGVyLm1hdGNoZXMoU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRTbWFsbEFuZEJlbG93KSA/PyB0cnVlKSB8fFxuICAgICAgIXRoaXMuX21lbnUgfHxcbiAgICAgICF0aGlzLl90cmlnZ2VyRWxlbWVudCB8fFxuICAgICAgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbWVudVBvc2l0aW9uID0gZ2V0RWxlbWVudFBvc2l0aW9uKFxuICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcuc2JiLW1lbnVfX2NvbnRlbnQnKSEsXG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCxcbiAgICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignLnNiYi1tZW51X19jb250YWluZXInKSEsXG4gICAgICB7XG4gICAgICAgIHZlcnRpY2FsT2Zmc2V0OiBNRU5VX09GRlNFVCxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW1lbnUtcG9zaXRpb24teCcsIGAke21lbnVQb3NpdGlvbi5sZWZ0fXB4YCk7XG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItbWVudS1wb3NpdGlvbi15JywgYCR7bWVudVBvc2l0aW9uLnRvcH1weGApO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW1lbnUtbWF4LWhlaWdodCcsIG1lbnVQb3NpdGlvbi5tYXhIZWlnaHQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgLy8gVE9ETzogSGFuZGxlIGNhc2Ugd2l0aCBvdGhlciBlbGVtZW50cyB0aGFuIHNiYi1tZW51LWJ1dHRvbi9zYmItbWVudS1saW5rLlxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1tZW51X19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIEBhbmltYXRpb25lbmQ9JHt0aGlzLl9vbk1lbnVBbmltYXRpb25FbmR9XG4gICAgICAgICAgY2xhc3M9XCJzYmItbWVudVwiXG4gICAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCkgPT4gKHRoaXMuX21lbnUgPSBlbCBhcyBIVE1MRGl2RWxlbWVudCkpfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgQGNsaWNrPSR7KGV2ZW50OiBFdmVudCkgPT4gdGhpcy5fY2xvc2VPbkludGVyYWN0aXZlRWxlbWVudENsaWNrKGV2ZW50KX1cbiAgICAgICAgICAgIEBzY3JvbGw9JHsoZTogRXZlbnQpID0+IGZvcndhcmRFdmVudChlLCBkb2N1bWVudCl9XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1tZW51X19jb250ZW50XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICAke3RoaXMubGlzdENoaWxkcmVuLmxlbmd0aFxuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyTGlzdCh7IGNsYXNzOiAnc2JiLW1lbnUtbGlzdCcsIGFyaWFMYWJlbDogdGhpcy5saXN0QWNjZXNzaWJpbGl0eUxhYmVsIH0pXG4gICAgICAgICAgICAgIDogaHRtbGA8c2xvdD48L3Nsb3Q+YH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbWVudSc6IFNiYk1lbnVFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -9,6 +9,7 @@ declare const SbbMenuButtonElement_base: import('../../core/mixins.js').Abstract
9
9
  * to modify horizontal padding.
10
10
  */
11
11
  export declare class SbbMenuButtonElement extends SbbMenuButtonElement_base {
12
+ static readonly role: ElementInternals['role'];
12
13
  }
13
14
  declare global {
14
15
  interface HTMLElementTagNameMap {
@@ -1 +1 @@
1
- {"version":3,"file":"menu-button.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/menu/menu-button/menu-button.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;;AAInE;;;;;;;GAOG;AACH,qBAEM,oBAAqB,SAAQ,yBAElC;CAAG;AAEJ,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,iBAAiB,EAAE,oBAAoB,CAAC;KACzC;CACF"}
1
+ {"version":3,"file":"menu-button.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/menu/menu-button/menu-button.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;;AAInE;;;;;;;GAOG;AACH,qBAEM,oBAAqB,SAAQ,yBAElC;IACC,gBAAgC,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAc;CAC7E;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,iBAAiB,EAAE,oBAAoB,CAAC;KACzC;CACF"}
@@ -16,11 +16,10 @@ let SbbMenuButtonElement = (() => {
16
16
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
17
17
  _classThis = _classDescriptor.value;
18
18
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
19
- __runInitializers(_classThis, _classExtraInitializers);
20
- })(), _a;
19
+ })(), _a.role = "menuitem", __runInitializers(_classThis, _classExtraInitializers), _a;
21
20
  return _classThis;
22
21
  })();
23
22
  export {
24
23
  SbbMenuButtonElement
25
24
  };
26
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbWVudS9tZW51LWJ1dHRvbi9tZW51LWJ1dHRvbi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiQnV0dG9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRUYWJJbmRleEFjdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHsgU2JiTWVudUFjdGlvbkNvbW1vbkVsZW1lbnRNaXhpbiB9IGZyb20gJy4uL2NvbW1vbi5qcyc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBidXR0b24gZWxlbWVudCB0aGF0IGNhbiBiZSB1c2VkIGluIHRoZSBgc2JiLW1lbnVgIGNvbXBvbmVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLW1lbnUtYnV0dG9uYC5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gaWNvbi4gSWYgYGljb24tbmFtZWAgaXMgc2V0LCBhIGBzYmItaWNvbmAgd2lsbCBiZSB1c2VkLlxuICogQGNzc3Byb3AgWy0tc2JiLW1lbnUtYWN0aW9uLW91dGVyLWhvcml6b250YWwtcGFkZGluZz12YXIoLS1zYmItc3BhY2luZy1maXhlZC0zeCldIC0gQ2FuIGJlIHVzZWRcbiAqIHRvIG1vZGlmeSBob3Jpem9udGFsIHBhZGRpbmcuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1tZW51LWJ1dHRvbicpXG5jbGFzcyBTYmJNZW51QnV0dG9uRWxlbWVudCBleHRlbmRzIFNiYkRpc2FibGVkVGFiSW5kZXhBY3Rpb25NaXhpbihcbiAgU2JiTWVudUFjdGlvbkNvbW1vbkVsZW1lbnRNaXhpbihTYmJCdXR0b25CYXNlRWxlbWVudCksXG4pIHt9XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbWVudS1idXR0b24nOiBTYmJNZW51QnV0dG9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0lBZ0JNLHdCQUFvQixNQUFBOzswQkFEekIsY0FBYyxpQkFBaUIsQ0FBQzs7OztBQUNFLE1BQUEsY0FBQSwrQkFDakMsZ0NBQWdDLG9CQUFvQixDQUFDO0FBRDVCLEVBQUEsbUJBQVEsWUFFbEM7QUFBQTs7QUFGRCxpQkFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O0FBQU0sc0JBQUEsWUFBQSx1QkFBQTtBQUFBLEVBQUEsTUFBcUI7OzsifQ==
25
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbWVudS9tZW51LWJ1dHRvbi9tZW51LWJ1dHRvbi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiQnV0dG9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRUYWJJbmRleEFjdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHsgU2JiTWVudUFjdGlvbkNvbW1vbkVsZW1lbnRNaXhpbiB9IGZyb20gJy4uL2NvbW1vbi5qcyc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBidXR0b24gZWxlbWVudCB0aGF0IGNhbiBiZSB1c2VkIGluIHRoZSBgc2JiLW1lbnVgIGNvbXBvbmVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLW1lbnUtYnV0dG9uYC5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gaWNvbi4gSWYgYGljb24tbmFtZWAgaXMgc2V0LCBhIGBzYmItaWNvbmAgd2lsbCBiZSB1c2VkLlxuICogQGNzc3Byb3AgWy0tc2JiLW1lbnUtYWN0aW9uLW91dGVyLWhvcml6b250YWwtcGFkZGluZz12YXIoLS1zYmItc3BhY2luZy1maXhlZC0zeCldIC0gQ2FuIGJlIHVzZWRcbiAqIHRvIG1vZGlmeSBob3Jpem9udGFsIHBhZGRpbmcuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1tZW51LWJ1dHRvbicpXG5jbGFzcyBTYmJNZW51QnV0dG9uRWxlbWVudCBleHRlbmRzIFNiYkRpc2FibGVkVGFiSW5kZXhBY3Rpb25NaXhpbihcbiAgU2JiTWVudUFjdGlvbkNvbW1vbkVsZW1lbnRNaXhpbihTYmJCdXR0b25CYXNlRWxlbWVudCksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlOiBFbGVtZW50SW50ZXJuYWxzWydyb2xlJ10gPSAnbWVudWl0ZW0nO1xufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW1lbnUtYnV0dG9uJzogU2JiTWVudUJ1dHRvbkVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztJQWdCTSx3QkFBb0IsTUFBQTs7MEJBRHpCLGNBQWMsaUJBQWlCLENBQUM7Ozs7QUFDRSxNQUFBLGNBQUEsK0JBQ2pDLGdDQUFnQyxvQkFBb0IsQ0FBQztBQUQ1QixFQUFBLG1CQUFRLFlBRWxDO0FBQUE7O0FBRkQsaUJBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQUdrQyxHQUFBLE9BQWlDLFlBSDdELGtCQUFBLFlBQUEsdUJBQUEsR0FBcUI7OzsifQ==
@@ -9,6 +9,7 @@ declare const SbbMenuLinkElement_base: import('../../core/mixins.js').AbstractCo
9
9
  * to modify horizontal padding.
10
10
  */
11
11
  export declare class SbbMenuLinkElement extends SbbMenuLinkElement_base {
12
+ protected readonly anchorRole = "menuitem";
12
13
  }
13
14
  declare global {
14
15
  interface HTMLElementTagNameMap {
@@ -1 +1 @@
1
- {"version":3,"file":"menu-link.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/menu/menu-link/menu-link.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;;AAIjE;;;;;;;GAOG;AACH,qBAEM,kBAAmB,SAAQ,uBAEhC;CAAG;AAEJ,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,kBAAkB,CAAC;KACrC;CACF"}
1
+ {"version":3,"file":"menu-link.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/menu/menu-link/menu-link.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;;AAIjE;;;;;;;GAOG;AACH,qBAEM,kBAAmB,SAAQ,uBAEhC;IACC,mBAA4B,UAAU,cAAc;CACrD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,kBAAkB,CAAC;KACrC;CACF"}
@@ -11,6 +11,10 @@ let SbbMenuLinkElement = (() => {
11
11
  let _classThis;
12
12
  let _classSuper = SbbDisabledInteractiveMixin(SbbMenuActionCommonElementMixin(SbbLinkBaseElement));
13
13
  _a = class extends _classSuper {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.anchorRole = "menuitem";
17
+ }
14
18
  }, _classThis = _a, (() => {
15
19
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
16
20
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
@@ -23,4 +27,4 @@ let SbbMenuLinkElement = (() => {
23
27
  export {
24
28
  SbbMenuLinkElement
25
29
  };
26
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL21lbnUvbWVudS1saW5rL21lbnUtbGluay5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiTGlua0Jhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IFNiYkRpc2FibGVkSW50ZXJhY3RpdmVNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYk1lbnVBY3Rpb25Db21tb25FbGVtZW50TWl4aW4gfSBmcm9tICcuLi9jb21tb24uanMnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgbGluayBlbGVtZW50IHRoYXQgY2FuIGJlIHVzZWQgaW4gdGhlIGBzYmItbWVudWAgY29tcG9uZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGBzYmItbWVudS1saW5rYC5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gaWNvbi4gSWYgYGljb24tbmFtZWAgaXMgc2V0LCBhIGBzYmItaWNvbmAgd2lsbCBiZSB1c2VkLlxuICogQGNzc3Byb3AgWy0tc2JiLW1lbnUtYWN0aW9uLW91dGVyLWhvcml6b250YWwtcGFkZGluZz12YXIoLS1zYmItc3BhY2luZy1maXhlZC0zeCldIC0gQ2FuIGJlIHVzZWRcbiAqIHRvIG1vZGlmeSBob3Jpem9udGFsIHBhZGRpbmcuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1tZW51LWxpbmsnKVxuY2xhc3MgU2JiTWVudUxpbmtFbGVtZW50IGV4dGVuZHMgU2JiRGlzYWJsZWRJbnRlcmFjdGl2ZU1peGluKFxuICBTYmJNZW51QWN0aW9uQ29tbW9uRWxlbWVudE1peGluKFNiYkxpbmtCYXNlRWxlbWVudCksXG4pIHt9XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbWVudS1saW5rJzogU2JiTWVudUxpbmtFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7SUFnQk0sc0JBQWtCLE1BQUE7OzBCQUR2QixjQUFjLGVBQWUsQ0FBQzs7OztBQUNFLE1BQUEsY0FBQSw0QkFDL0IsZ0NBQWdDLGtCQUFrQixDQUFDO0FBRDVCLEVBQUEsbUJBQVEsWUFFaEM7QUFBQTs7QUFGRCxpQkFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O0FBQU0sc0JBQUEsWUFBQSx1QkFBQTtBQUFBLEVBQUEsTUFBbUI7OzsifQ==
30
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL21lbnUvbWVudS1saW5rL21lbnUtbGluay5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiTGlua0Jhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IFNiYkRpc2FibGVkSW50ZXJhY3RpdmVNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYk1lbnVBY3Rpb25Db21tb25FbGVtZW50TWl4aW4gfSBmcm9tICcuLi9jb21tb24uanMnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgbGluayBlbGVtZW50IHRoYXQgY2FuIGJlIHVzZWQgaW4gdGhlIGBzYmItbWVudWAgY29tcG9uZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGBzYmItbWVudS1saW5rYC5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gaWNvbi4gSWYgYGljb24tbmFtZWAgaXMgc2V0LCBhIGBzYmItaWNvbmAgd2lsbCBiZSB1c2VkLlxuICogQGNzc3Byb3AgWy0tc2JiLW1lbnUtYWN0aW9uLW91dGVyLWhvcml6b250YWwtcGFkZGluZz12YXIoLS1zYmItc3BhY2luZy1maXhlZC0zeCldIC0gQ2FuIGJlIHVzZWRcbiAqIHRvIG1vZGlmeSBob3Jpem9udGFsIHBhZGRpbmcuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1tZW51LWxpbmsnKVxuY2xhc3MgU2JiTWVudUxpbmtFbGVtZW50IGV4dGVuZHMgU2JiRGlzYWJsZWRJbnRlcmFjdGl2ZU1peGluKFxuICBTYmJNZW51QWN0aW9uQ29tbW9uRWxlbWVudE1peGluKFNiYkxpbmtCYXNlRWxlbWVudCksXG4pIHtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IGFuY2hvclJvbGUgPSAnbWVudWl0ZW0nO1xufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW1lbnUtbGluayc6IFNiYk1lbnVMaW5rRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0lBZ0JNLHNCQUFrQixNQUFBOzswQkFEdkIsY0FBYyxlQUFlLENBQUM7Ozs7QUFDRSxNQUFBLGNBQUEsNEJBQy9CLGdDQUFnQyxrQkFBa0IsQ0FBQztBQUQ1QixFQUFBLG1CQUFRLFlBRWhDO0FBQUE7O0FBQzZCLFdBQUEsYUFBYTtBQUFBLElBQzNDO0FBQUE7O0FBSkEsaUJBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztBQUFNLHNCQUFBLFlBQUEsdUJBQUE7QUFBQSxFQUFBLE1BQW1COzs7In0=
@@ -1 +1 @@
1
- {"version":3,"file":"optgroup-base-element.d.ts","sourceRoot":"","sources":["../../../../../src/elements/option/optgroup/optgroup-base-element.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAGb,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAQxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIzD,OAAO,kBAAkB,CAAC;;AAS1B,8BAAsB,sBAAuB,SAAQ,2BAEpD;IACC,gBAAgC,IAAI,gBAAqC;IACzE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,0BAA0B;IAC1B,SAEgB,KAAK,EAAE,MAAM,CAAM;IAE1B,SAAS,CAAC,QAAQ,CAAC,QAAQ,UAAS;IAEpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAEnD,SAAS,CAAC,QAAQ,KAAK,OAAO,IAAI,oBAAoB,EAAE,CAAC;;IAwBzC,iBAAiB,IAAI,IAAI;cAMtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAe5E,SAAS,CAAC,QAAQ,CAAC,sBAAsB,IAAI,IAAI;IACjD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,IAAI,0BAA0B,GAAG,IAAI;IAE7E,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,yBAAyB;IAkBjC,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAMxC,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,iBAAiB;cAIN,MAAM,IAAI,cAAc;CAY5C"}
1
+ {"version":3,"file":"optgroup-base-element.d.ts","sourceRoot":"","sources":["../../../../../src/elements/option/optgroup/optgroup-base-element.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAGb,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAQxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIzD,OAAO,kBAAkB,CAAC;;AAS1B,8BAAsB,sBAAuB,SAAQ,2BAEpD;IACC,gBAAgC,IAAI,gBAAqC;IACzE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,0BAA0B;IAC1B,SAEgB,KAAK,EAAE,MAAM,CAAM;IAE1B,SAAS,CAAC,QAAQ,CAAC,QAAQ,UAAS;IAEpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAEnD,SAAS,CAAC,QAAQ,KAAK,OAAO,IAAI,oBAAoB,EAAE,CAAC;;IAwBzC,iBAAiB,IAAI,IAAI;cAMtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAe5E,SAAS,CAAC,QAAQ,CAAC,sBAAsB,IAAI,IAAI;IACjD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,IAAI,0BAA0B,GAAG,IAAI;IAE7E,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,yBAAyB;IAkBjC,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAMxC,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,iBAAiB;cAIN,MAAM,IAAI,cAAc;CAgB5C"}
@@ -7,7 +7,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
7
7
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
8
  import { __esDecorate, __runInitializers } from "tslib";
9
9
  import { MutationController } from "@lit-labs/observers/mutation-controller.js";
10
- import { css, LitElement, html } from "lit";
10
+ import { css, LitElement, nothing, html } from "lit";
11
11
  import { property, state } from "lit/decorators.js";
12
12
  import { forceType } from "../../core/decorators.js";
13
13
  import { isSafari } from "../../core/dom.js";
@@ -190,10 +190,12 @@ let SbbOptgroupBaseElement = (() => {
190
190
  <div class="sbb-optgroup__divider">
191
191
  <sbb-divider ?negative=${this.negative}></sbb-divider>
192
192
  </div>
193
- <div class="sbb-optgroup__label" aria-hidden="true">
194
- <div class="sbb-optgroup__icon-space"></div>
195
- <span>${this.label}</span>
196
- </div>
193
+ ${this.label ? html`
194
+ <div class="sbb-optgroup__label" aria-hidden="true">
195
+ <div class="sbb-optgroup__icon-space"></div>
196
+ <span>${this.label}</span>
197
+ </div>
198
+ ` : nothing}
197
199
  <slot @slotchange=${this._handleSlotchange}></slot>
198
200
  `;
199
201
  }
@@ -217,4 +219,4 @@ let SbbOptgroupBaseElement = (() => {
217
219
  export {
218
220
  SbbOptgroupBaseElement
219
221
  };
220
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0Z3JvdXAtYmFzZS1lbGVtZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvb3B0aW9uL29wdGdyb3VwL29wdGdyb3VwLWJhc2UtZWxlbWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNdXRhdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL211dGF0aW9uLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgTGl0RWxlbWVudCxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2F1dG9jb21wbGV0ZS5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNTYWZhcmkgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQge1xuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG4gIFNiYkh5ZHJhdGlvbk1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vb3B0aW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vb3B0Z3JvdXAtYmFzZS1lbGVtZW50LnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vZGl2aWRlci5qcyc7XG5cbi8qKlxuICogT24gU2FmYXJpLCB0aGUgZ3JvdXBzIGxhYmVscyBhcmUgbm90IHJlYWQgYnkgVm9pY2VPdmVyLlxuICogVG8gc29sdmUgdGhlIHByb2JsZW0sIHdlIHJlbW92ZSB0aGUgcm9sZT1cImdyb3VwXCIgYW5kIGFkZCBhIGhpZGRlbiBzcGFuIGNvbnRhaW5pbmcgdGhlIGdyb3VwIG5hbWVcbiAqIFRPRE86IFdlIHNob3VsZCBwZXJpb2RpY2FsbHkgY2hlY2sgaWYgaXQgaGFzIGJlZW4gc29sdmVkIGFuZCwgaWYgc28sIHJlbW92ZSB0aGUgcHJvcGVydHkuXG4gKi9cbmNvbnN0IGluZXJ0QXJpYUdyb3VwcyA9IGlzU2FmYXJpO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2JiT3B0Z3JvdXBCYXNlRWxlbWVudCBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oXG4gIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gIWluZXJ0QXJpYUdyb3VwcyA/ICdncm91cCcgOiBudWxsO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKiogT3B0aW9uIGdyb3VwIGxhYmVsLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICBAc3RhdGUoKSBwcm90ZWN0ZWQgYWNjZXNzb3IgbmVnYXRpdmUgPSBmYWxzZTtcblxuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9pbmVydEFyaWFHcm91cHMgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IG9wdGlvbnMoKTogU2JiT3B0aW9uQmFzZUVsZW1lbnRbXTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBNdXRhdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWydkYXRhLW5lZ2F0aXZlJ10sXG4gICAgICAgIH0sXG4gICAgICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9vbk5lZ2F0aXZlQ2hhbmdlKCksXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgaWYgKGluZXJ0QXJpYUdyb3Vwcykge1xuICAgICAgaWYgKHRoaXMuaHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgICAgdGhpcy5oeWRyYXRpb25Db21wbGV0ZS50aGVuKCgpID0+ICh0aGlzLl9pbmVydEFyaWFHcm91cHMgPSBpbmVydEFyaWFHcm91cHMpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2luZXJ0QXJpYUdyb3VwcyA9IGluZXJ0QXJpYUdyb3VwcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZUZyb21QYXJlbnQoKTtcbiAgICB0aGlzLl9wcm94eUdyb3VwTGFiZWxUb09wdGlvbnMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZGlzYWJsZWQnKSkge1xuICAgICAgaWYgKCF0aGlzLl9pbmVydEFyaWFHcm91cHMpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYURpc2FibGVkID0gdGhpcy5kaXNhYmxlZCA/ICd0cnVlJyA6IG51bGw7XG4gICAgICB9XG5cbiAgICAgIHRoaXMucHJveHlEaXNhYmxlZFRvT3B0aW9ucygpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsYWJlbCcpKSB7XG4gICAgICB0aGlzLl9wcm94eUdyb3VwTGFiZWxUb09wdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0QXR0cmlidXRlRnJvbVBhcmVudCgpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0QXV0b2NvbXBsZXRlUGFyZW50KCk6IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IHwgbnVsbDtcblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMucHJveHlEaXNhYmxlZFRvT3B0aW9ucygpO1xuICAgIHRoaXMuX3Byb3h5R3JvdXBMYWJlbFRvT3B0aW9ucygpO1xuICAgIHRoaXMuX2hpZ2hsaWdodE9wdGlvbnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Byb3h5R3JvdXBMYWJlbFRvT3B0aW9ucygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2luZXJ0QXJpYUdyb3Vwcykge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gdGhpcy5sYWJlbDtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRoaXMubGFiZWwpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbCA9IG51bGw7XG4gICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgICAgb3B0aW9uLnNldEF0dHJpYnV0ZSgnZGF0YS1ncm91cC1sYWJlbCcsIHRoaXMubGFiZWwpO1xuICAgICAgICBvcHRpb24ucmVxdWVzdFVwZGF0ZT8uKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIHRoaXMub3B0aW9ucykge1xuICAgICAgICBvcHRpb24ucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWdyb3VwLWxhYmVsJyk7XG4gICAgICAgIG9wdGlvbi5yZXF1ZXN0VXBkYXRlPy4oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJveHlEaXNhYmxlZFRvT3B0aW9ucygpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgIG9wdGlvbi50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZ3JvdXAtZGlzYWJsZWQnLCB0aGlzLmRpc2FibGVkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oaWdobGlnaHRPcHRpb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IGF1dG9jb21wbGV0ZSA9IHRoaXMuZ2V0QXV0b2NvbXBsZXRlUGFyZW50KCk7XG4gICAgaWYgKCFhdXRvY29tcGxldGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdmFsdWUgPSBhdXRvY29tcGxldGUudHJpZ2dlckVsZW1lbnQ/LnZhbHVlO1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5vcHRpb25zLmZvckVhY2goKG9wdCkgPT4gb3B0LmhpZ2hsaWdodCh2YWx1ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25OZWdhdGl2ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLm5lZ2F0aXZlID0gdGhpcy5oYXNBdHRyaWJ1dGUoJ2RhdGEtbmVnYXRpdmUnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1vcHRncm91cF9fZGl2aWRlclwiPlxuICAgICAgICA8c2JiLWRpdmlkZXIgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX0+PC9zYmItZGl2aWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1vcHRncm91cF9fbGFiZWxcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1vcHRncm91cF9faWNvbi1zcGFjZVwiPjwvZGl2PlxuICAgICAgICA8c3Bhbj4ke3RoaXMubGFiZWx9PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX2hhbmRsZVNsb3RjaGFuZ2V9Pjwvc2xvdD5cbiAgICBgO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkJBLE1BQU0sa0JBQWtCO0lBRUYsMEJBQXNCLE1BQUE7O29CQUFTLGlCQUNuRCx5QkFBeUIsa0JBQWtCLFVBQVUsQ0FBQyxDQUFDOzs7Ozs7Ozs7O0FBRG5DLFNBQUEsbUJBQStCLFlBRXBEO0FBQUEsSUFlQyxjQUFBO0FBQ0UsWUFBQTtBQVRGLGtEQUFBLGtCQUFBLE1BQUEscUJBQWdDLEVBQUU7QUFFekIsc0RBQUEsa0JBQUEsTUFBQSx3QkFBQSxHQUFBLGtCQUFBLE1BQUEsd0JBQThCLEtBQUs7QUFFbkMsOERBQUEsa0JBQUEsTUFBQSwyQkFBQSxHQUFBLGtCQUFBLE1BQUEsZ0NBQW9DLEtBQUs7O0FBT2hELFdBQUssY0FDSCxJQUFJLG1CQUFtQixNQUFNO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFVBQ04sWUFBWTtBQUFBLFVBQ1osaUJBQWlCLENBQUMsZUFBZTtBQUFBLFFBQUE7QUFBQSxRQUVuQyxVQUFVLE1BQU0sS0FBSyxrQkFBQTtBQUFBLE1BQWlCLENBQ3ZDLENBQUM7QUFHSixVQUFJLGlCQUFpQjtBQUNuQixZQUFJLEtBQUssbUJBQW1CO0FBQzFCLGVBQUssa0JBQWtCLEtBQUssTUFBTyxLQUFLLG1CQUFtQixlQUFnQjtBQUFBLFFBQzdFLE9BQU87QUFDTCxlQUFLLG1CQUFtQjtBQUFBLFFBQzFCO0FBQUEsTUFDRjtBQUFBLElBQ0Q7QUFBQTtBQUFBLElBNUJELElBQWdCLFFBQUs7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFB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
222
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0Z3JvdXAtYmFzZS1lbGVtZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvb3B0aW9uL29wdGdyb3VwL29wdGdyb3VwLWJhc2UtZWxlbWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNdXRhdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL211dGF0aW9uLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgTGl0RWxlbWVudCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2F1dG9jb21wbGV0ZS5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNTYWZhcmkgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQge1xuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG4gIFNiYkh5ZHJhdGlvbk1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vb3B0aW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vb3B0Z3JvdXAtYmFzZS1lbGVtZW50LnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vZGl2aWRlci5qcyc7XG5cbi8qKlxuICogT24gU2FmYXJpLCB0aGUgZ3JvdXBzIGxhYmVscyBhcmUgbm90IHJlYWQgYnkgVm9pY2VPdmVyLlxuICogVG8gc29sdmUgdGhlIHByb2JsZW0sIHdlIHJlbW92ZSB0aGUgcm9sZT1cImdyb3VwXCIgYW5kIGFkZCBhIGhpZGRlbiBzcGFuIGNvbnRhaW5pbmcgdGhlIGdyb3VwIG5hbWVcbiAqIFRPRE86IFdlIHNob3VsZCBwZXJpb2RpY2FsbHkgY2hlY2sgaWYgaXQgaGFzIGJlZW4gc29sdmVkIGFuZCwgaWYgc28sIHJlbW92ZSB0aGUgcHJvcGVydHkuXG4gKi9cbmNvbnN0IGluZXJ0QXJpYUdyb3VwcyA9IGlzU2FmYXJpO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2JiT3B0Z3JvdXBCYXNlRWxlbWVudCBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oXG4gIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gIWluZXJ0QXJpYUdyb3VwcyA/ICdncm91cCcgOiBudWxsO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKiogT3B0aW9uIGdyb3VwIGxhYmVsLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICBAc3RhdGUoKSBwcm90ZWN0ZWQgYWNjZXNzb3IgbmVnYXRpdmUgPSBmYWxzZTtcblxuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9pbmVydEFyaWFHcm91cHMgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IG9wdGlvbnMoKTogU2JiT3B0aW9uQmFzZUVsZW1lbnRbXTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBNdXRhdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWydkYXRhLW5lZ2F0aXZlJ10sXG4gICAgICAgIH0sXG4gICAgICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9vbk5lZ2F0aXZlQ2hhbmdlKCksXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgaWYgKGluZXJ0QXJpYUdyb3Vwcykge1xuICAgICAgaWYgKHRoaXMuaHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgICAgdGhpcy5oeWRyYXRpb25Db21wbGV0ZS50aGVuKCgpID0+ICh0aGlzLl9pbmVydEFyaWFHcm91cHMgPSBpbmVydEFyaWFHcm91cHMpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2luZXJ0QXJpYUdyb3VwcyA9IGluZXJ0QXJpYUdyb3VwcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZUZyb21QYXJlbnQoKTtcbiAgICB0aGlzLl9wcm94eUdyb3VwTGFiZWxUb09wdGlvbnMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZGlzYWJsZWQnKSkge1xuICAgICAgaWYgKCF0aGlzLl9pbmVydEFyaWFHcm91cHMpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYURpc2FibGVkID0gdGhpcy5kaXNhYmxlZCA/ICd0cnVlJyA6IG51bGw7XG4gICAgICB9XG5cbiAgICAgIHRoaXMucHJveHlEaXNhYmxlZFRvT3B0aW9ucygpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsYWJlbCcpKSB7XG4gICAgICB0aGlzLl9wcm94eUdyb3VwTGFiZWxUb09wdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0QXR0cmlidXRlRnJvbVBhcmVudCgpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0QXV0b2NvbXBsZXRlUGFyZW50KCk6IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IHwgbnVsbDtcblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMucHJveHlEaXNhYmxlZFRvT3B0aW9ucygpO1xuICAgIHRoaXMuX3Byb3h5R3JvdXBMYWJlbFRvT3B0aW9ucygpO1xuICAgIHRoaXMuX2hpZ2hsaWdodE9wdGlvbnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Byb3h5R3JvdXBMYWJlbFRvT3B0aW9ucygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2luZXJ0QXJpYUdyb3Vwcykge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gdGhpcy5sYWJlbDtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRoaXMubGFiZWwpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbCA9IG51bGw7XG4gICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgICAgb3B0aW9uLnNldEF0dHJpYnV0ZSgnZGF0YS1ncm91cC1sYWJlbCcsIHRoaXMubGFiZWwpO1xuICAgICAgICBvcHRpb24ucmVxdWVzdFVwZGF0ZT8uKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIHRoaXMub3B0aW9ucykge1xuICAgICAgICBvcHRpb24ucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWdyb3VwLWxhYmVsJyk7XG4gICAgICAgIG9wdGlvbi5yZXF1ZXN0VXBkYXRlPy4oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJveHlEaXNhYmxlZFRvT3B0aW9ucygpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgIG9wdGlvbi50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZ3JvdXAtZGlzYWJsZWQnLCB0aGlzLmRpc2FibGVkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oaWdobGlnaHRPcHRpb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IGF1dG9jb21wbGV0ZSA9IHRoaXMuZ2V0QXV0b2NvbXBsZXRlUGFyZW50KCk7XG4gICAgaWYgKCFhdXRvY29tcGxldGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdmFsdWUgPSBhdXRvY29tcGxldGUudHJpZ2dlckVsZW1lbnQ/LnZhbHVlO1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5vcHRpb25zLmZvckVhY2goKG9wdCkgPT4gb3B0LmhpZ2hsaWdodCh2YWx1ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25OZWdhdGl2ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLm5lZ2F0aXZlID0gdGhpcy5oYXNBdHRyaWJ1dGUoJ2RhdGEtbmVnYXRpdmUnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1vcHRncm91cF9fZGl2aWRlclwiPlxuICAgICAgICA8c2JiLWRpdmlkZXIgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX0+PC9zYmItZGl2aWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgJHt0aGlzLmxhYmVsXG4gICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0Z3JvdXBfX2xhYmVsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0Z3JvdXBfX2ljb24tc3BhY2VcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPHNwYW4+JHt0aGlzLmxhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIGBcbiAgICAgICAgOiBub3RoaW5nfVxuICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9oYW5kbGVTbG90Y2hhbmdlfT48L3Nsb3Q+XG4gICAgYDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThCQSxNQUFNLGtCQUFrQjtJQUVGLDBCQUFzQixNQUFBOztvQkFBUyxpQkFDbkQseUJBQXlCLGtCQUFrQixVQUFVLENBQUMsQ0FBQzs7Ozs7Ozs7OztBQURuQyxTQUFBLG1CQUErQixZQUVwRDtBQUFBLElBZUMsY0FBQTtBQUNFLFlBQUE7QUFURixrREFBQSxrQkFBQSxNQUFBLHFCQUFnQyxFQUFFO0FBRXpCLHNEQUFBLGtCQUFBLE1BQUEsd0JBQUEsR0FBQSxrQkFBQSxNQUFBLHdCQUE4QixLQUFLO0FBRW5DLDhEQUFBLGtCQUFBLE1BQUEsMkJBQUEsR0FBQSxrQkFBQSxNQUFBLGdDQUFvQyxLQUFLOztBQU9oRCxXQUFLLGNBQ0gsSUFBSSxtQkFBbUIsTUFBTTtBQUFBLFFBQzNCLFFBQVE7QUFBQSxVQUNOLFlBQVk7QUFBQSxVQUNaLGlCQUFpQixDQUFDLGVBQWU7QUFBQSxRQUFBO0FBQUEsUUFFbkMsVUFBVSxNQUFNLEtBQUssa0JBQUE7QUFBQSxNQUFpQixDQUN2QyxDQUFDO0FBR0osVUFBSSxpQkFBaUI7QUFDbkIsWUFBSSxLQUFLLG1CQUFtQjtBQUMxQixlQUFLLGtCQUFrQixLQUFLLE1BQU8sS0FBSyxtQkFBbUIsZUFBZ0I7QUFBQSxRQUM3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
@@ -0,0 +1,18 @@
1
+ import { CSSResultGroup, TemplateResult, LitElement } from 'lit';
2
+ declare const SbbOptionHintElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbNegativeMixinType> & typeof LitElement;
3
+ /**
4
+ * Display a textual hint inside a `sbb-autocomplete` or a `sbb-select`.
5
+ *
6
+ * @slot - Use the unnamed slot to display the hint message.
7
+ */
8
+ export declare class SbbOptionHintElement extends SbbOptionHintElement_base {
9
+ static styles: CSSResultGroup;
10
+ protected render(): TemplateResult;
11
+ }
12
+ declare global {
13
+ interface HTMLElementTagNameMap {
14
+ 'sbb-option-hint': SbbOptionHintElement;
15
+ }
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=option-hint.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option-hint.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/option/option-hint/option-hint.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;;AAOvC;;;;GAIG;AACH,qBAEM,oBAAqB,SAAQ,yBAA4B;IAC7D,OAAuB,MAAM,EAAE,cAAc,CAAS;cAEnC,MAAM,IAAI,cAAc;CAU5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,iBAAiB,EAAE,oBAAoB,CAAC;KACzC;CACF"}
@@ -0,0 +1,74 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { css, LitElement, html } from "lit";
3
+ import { customElement } from "lit/decorators.js";
4
+ import { SbbNegativeMixin } from "../../core/mixins.js";
5
+ const style = css`*,
6
+ ::before,
7
+ ::after {
8
+ box-sizing: border-box;
9
+ }
10
+
11
+ :host {
12
+ display: block;
13
+ --sbb-option-hint-color: var(--sbb-color-metal);
14
+ --sbb-option-hint-column-gap: var(--sbb-spacing-responsive-xxxs);
15
+ --sbb-option-hint-padding-block-end: var(--sbb-spacing-fixed-2x);
16
+ --sbb-option-hint-padding-inline: var(--sbb-spacing-responsive-xxxs);
17
+ }
18
+
19
+ :host([negative]) {
20
+ --sbb-option-hint-color: var(--sbb-color-smoke);
21
+ }
22
+
23
+ .sbb-option-hint__wrapper {
24
+ display: flex;
25
+ column-gap: var(--sbb-option-hint-column-gap);
26
+ padding-inline: var(--sbb-option-hint-padding-inline);
27
+ padding-block-end: var(--sbb-option-hint-padding-block-end);
28
+ }
29
+
30
+ .sbb-optgroup__icon-space {
31
+ display: var(--sbb-option-icon-container-display, none);
32
+ min-width: var(--sbb-size-icon-ui-small);
33
+ }
34
+
35
+ .sbb-option-hint {
36
+ --sbb-text-font-size: var(--sbb-font-size-text-xxs);
37
+ font-family: var(--sbb-typo-font-family);
38
+ font-weight: normal;
39
+ line-height: var(--sbb-typo-line-height-body-text);
40
+ letter-spacing: var(--sbb-typo-letter-spacing-body-text);
41
+ font-size: var(--sbb-text-font-size);
42
+ color: var(--sbb-option-hint-color);
43
+ -webkit-text-fill-color: var(--sbb-option-hint-color);
44
+ }`;
45
+ let SbbOptionHintElement = (() => {
46
+ var _a;
47
+ let _classDecorators = [customElement("sbb-option-hint")];
48
+ let _classDescriptor;
49
+ let _classExtraInitializers = [];
50
+ let _classThis;
51
+ let _classSuper = SbbNegativeMixin(LitElement);
52
+ _a = class extends _classSuper {
53
+ render() {
54
+ return html`
55
+ <div class="sbb-option-hint__wrapper">
56
+ <div class="sbb-optgroup__icon-space"></div>
57
+ <span class="sbb-option-hint">
58
+ <slot></slot>
59
+ </span>
60
+ </div>
61
+ `;
62
+ }
63
+ }, _classThis = _a, (() => {
64
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
65
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
66
+ _classThis = _classDescriptor.value;
67
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
68
+ })(), _a.styles = style, __runInitializers(_classThis, _classExtraInitializers), _a;
69
+ return _classThis;
70
+ })();
71
+ export {
72
+ SbbOptionHintElement
73
+ };
74
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWhpbnQuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvb3B0aW9uL29wdGlvbi1oaW50L29wdGlvbi1oaW50LmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL29wdGlvbi1oaW50LnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogRGlzcGxheSBhIHRleHR1YWwgaGludCBpbnNpZGUgYSBgc2JiLWF1dG9jb21wbGV0ZWAgb3IgYSBgc2JiLXNlbGVjdGAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBkaXNwbGF5IHRoZSBoaW50IG1lc3NhZ2UuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1vcHRpb24taGludCcpXG5jbGFzcyBTYmJPcHRpb25IaW50RWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0aW9uLWhpbnRfX3dyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1vcHRncm91cF9faWNvbi1zcGFjZVwiPjwvZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1vcHRpb24taGludFwiPlxuICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW9wdGlvbi1oaW50JzogU2JiT3B0aW9uSGludEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWVNLHdCQUFvQixNQUFBOzswQkFEekIsY0FBYyxpQkFBaUIsQ0FBQzs7OztvQkFDRSxpQkFBaUIsVUFBVTtBQUFuQyxFQUFBLG1CQUFRLFlBQTRCO0FBQUEsSUFHMUMsU0FBTTtBQUN2QixhQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQVFUO0FBQUE7O0FBWkYsaUJBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQUN5QixHQUFBLFNBQXlCLE9BRDVDLGtCQUFBLFlBQUEsdUJBQUEsR0FBcUI7OzsifQ==