@sbb-esta/lyne-elements 0.52.2 → 0.53.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 (181) hide show
  1. package/checkbox/checkbox/checkbox.d.ts +3 -46
  2. package/checkbox/checkbox/checkbox.d.ts.map +1 -1
  3. package/checkbox/checkbox-group/checkbox-group.d.ts +4 -2
  4. package/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  5. package/checkbox/checkbox-group.js +11 -8
  6. package/checkbox/checkbox-panel/checkbox-panel.d.ts +41 -0
  7. package/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -0
  8. package/checkbox/checkbox-panel.d.ts +2 -0
  9. package/checkbox/checkbox-panel.d.ts.map +1 -0
  10. package/checkbox/checkbox-panel.js +67 -0
  11. package/checkbox/checkbox.js +26 -103
  12. package/checkbox/common/checkbox-common.d.ts +13 -0
  13. package/checkbox/common/checkbox-common.d.ts.map +1 -0
  14. package/checkbox/common.d.ts +2 -0
  15. package/checkbox/common.d.ts.map +1 -0
  16. package/checkbox/common.js +52 -0
  17. package/checkbox.d.ts +2 -0
  18. package/checkbox.d.ts.map +1 -1
  19. package/checkbox.js +2 -0
  20. package/core/mixins/panel-mixin.d.ts +13 -0
  21. package/core/mixins/panel-mixin.d.ts.map +1 -0
  22. package/core/mixins.d.ts +1 -0
  23. package/core/mixins.d.ts.map +1 -1
  24. package/core/mixins.js +120 -89
  25. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +1 -1
  26. package/core.css +1 -1
  27. package/custom-elements.json +8862 -6904
  28. package/development/checkbox/checkbox/checkbox.d.ts +3 -46
  29. package/development/checkbox/checkbox/checkbox.d.ts.map +1 -1
  30. package/development/checkbox/checkbox-group/checkbox-group.d.ts +4 -2
  31. package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  32. package/development/checkbox/checkbox-group.js +43 -13
  33. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts +41 -0
  34. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -0
  35. package/development/checkbox/checkbox-panel.d.ts +2 -0
  36. package/development/checkbox/checkbox-panel.d.ts.map +1 -0
  37. package/development/checkbox/checkbox-panel.js +86 -0
  38. package/development/checkbox/checkbox.js +19 -239
  39. package/development/checkbox/common/checkbox-common.d.ts +13 -0
  40. package/development/checkbox/common/checkbox-common.d.ts.map +1 -0
  41. package/development/checkbox/common.d.ts +2 -0
  42. package/development/checkbox/common.d.ts.map +1 -0
  43. package/development/checkbox/common.js +156 -0
  44. package/development/checkbox.d.ts +2 -0
  45. package/development/checkbox.d.ts.map +1 -1
  46. package/development/checkbox.js +3 -1
  47. package/development/core/mixins/panel-mixin.d.ts +13 -0
  48. package/development/core/mixins/panel-mixin.d.ts.map +1 -0
  49. package/development/core/mixins.d.ts +1 -0
  50. package/development/core/mixins.d.ts.map +1 -1
  51. package/development/core/mixins.js +187 -31
  52. package/development/image.js +1 -1
  53. package/development/radio-button/common/radio-button-common.d.ts +22 -0
  54. package/development/radio-button/common/radio-button-common.d.ts.map +1 -0
  55. package/development/radio-button/common.d.ts +2 -0
  56. package/development/radio-button/common.d.ts.map +1 -0
  57. package/development/radio-button/common.js +294 -0
  58. package/development/radio-button/radio-button/radio-button.d.ts +2 -81
  59. package/development/radio-button/radio-button/radio-button.d.ts.map +1 -1
  60. package/development/radio-button/radio-button-group/radio-button-group.d.ts +6 -4
  61. package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  62. package/development/radio-button/radio-button-group.js +55 -23
  63. package/development/radio-button/radio-button-panel/index.d.ts +2 -0
  64. package/development/radio-button/radio-button-panel/index.d.ts.map +1 -0
  65. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +29 -0
  66. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -0
  67. package/development/radio-button/radio-button-panel.d.ts +2 -0
  68. package/development/radio-button/radio-button-panel.d.ts.map +1 -0
  69. package/development/radio-button/radio-button-panel.js +69 -0
  70. package/development/radio-button/radio-button.js +10 -324
  71. package/development/radio-button.d.ts +2 -0
  72. package/development/radio-button.d.ts.map +1 -1
  73. package/development/radio-button.js +3 -1
  74. package/{selection-panel/selection-panel.d.ts → development/selection-expansion-panel/selection-expansion-panel.d.ts} +9 -7
  75. package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -0
  76. package/development/selection-expansion-panel.d.ts +2 -0
  77. package/development/selection-expansion-panel.d.ts.map +1 -0
  78. package/development/selection-expansion-panel.js +340 -0
  79. package/development/tabs/tab/index.d.ts +2 -0
  80. package/development/tabs/tab/index.d.ts.map +1 -0
  81. package/development/tabs/tab/tab.d.ts +24 -0
  82. package/development/tabs/tab/tab.d.ts.map +1 -0
  83. package/development/tabs/tab-group/tab-group.d.ts +20 -15
  84. package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
  85. package/development/tabs/tab-group.js +24 -14
  86. package/development/tabs/{tab-title/tab-title.d.ts → tab-label/tab-label.d.ts} +4 -4
  87. package/development/tabs/{tab-title/tab-title.d.ts.map → tab-label/tab-label.d.ts.map} +1 -1
  88. package/development/tabs/tab-label.d.ts +2 -0
  89. package/development/tabs/tab-label.d.ts.map +1 -0
  90. package/development/tabs/{tab-title.js → tab-label.js} +86 -86
  91. package/development/tabs/tab.d.ts +2 -0
  92. package/development/tabs/tab.d.ts.map +1 -0
  93. package/development/tabs/tab.js +71 -0
  94. package/development/tabs.d.ts +2 -1
  95. package/development/tabs.d.ts.map +1 -1
  96. package/development/tabs.js +3 -2
  97. package/development/train/train-formation/train-formation.d.ts.map +1 -1
  98. package/development/train/train-formation.js +12 -12
  99. package/index.d.ts +10 -8
  100. package/index.js +10 -8
  101. package/package.json +34 -19
  102. package/radio-button/common/radio-button-common.d.ts +22 -0
  103. package/radio-button/common/radio-button-common.d.ts.map +1 -0
  104. package/radio-button/common.d.ts +2 -0
  105. package/radio-button/common.d.ts.map +1 -0
  106. package/radio-button/common.js +105 -0
  107. package/radio-button/radio-button/radio-button.d.ts +2 -81
  108. package/radio-button/radio-button/radio-button.d.ts.map +1 -1
  109. package/radio-button/radio-button-group/radio-button-group.d.ts +6 -4
  110. package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  111. package/radio-button/radio-button-group.js +64 -58
  112. package/radio-button/radio-button-panel/index.d.ts +2 -0
  113. package/radio-button/radio-button-panel/index.d.ts.map +1 -0
  114. package/radio-button/radio-button-panel/radio-button-panel.d.ts +29 -0
  115. package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -0
  116. package/radio-button/radio-button-panel.d.ts +2 -0
  117. package/radio-button/radio-button-panel.d.ts.map +1 -0
  118. package/radio-button/radio-button-panel.js +59 -0
  119. package/radio-button/radio-button.js +20 -143
  120. package/radio-button.d.ts +2 -0
  121. package/radio-button.d.ts.map +1 -1
  122. package/radio-button.js +2 -0
  123. package/{development/selection-panel/selection-panel.d.ts → selection-expansion-panel/selection-expansion-panel.d.ts} +9 -7
  124. package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -0
  125. package/selection-expansion-panel.d.ts +2 -0
  126. package/selection-expansion-panel.d.ts.map +1 -0
  127. package/selection-expansion-panel.js +146 -0
  128. package/standard-theme.css +1 -1
  129. package/tabs/tab/index.d.ts +2 -0
  130. package/tabs/tab/index.d.ts.map +1 -0
  131. package/tabs/tab/tab.d.ts +24 -0
  132. package/tabs/tab/tab.d.ts.map +1 -0
  133. package/tabs/tab-group/tab-group.d.ts +20 -15
  134. package/tabs/tab-group/tab-group.d.ts.map +1 -1
  135. package/tabs/tab-group.js +39 -29
  136. package/tabs/{tab-title/tab-title.d.ts → tab-label/tab-label.d.ts} +4 -4
  137. package/tabs/{tab-title/tab-title.d.ts.map → tab-label/tab-label.d.ts.map} +1 -1
  138. package/tabs/tab-label.d.ts +2 -0
  139. package/tabs/tab-label.d.ts.map +1 -0
  140. package/tabs/tab-label.js +51 -0
  141. package/tabs/tab.d.ts +2 -0
  142. package/tabs/tab.d.ts.map +1 -0
  143. package/tabs/tab.js +41 -0
  144. package/tabs.d.ts +2 -1
  145. package/tabs.d.ts.map +1 -1
  146. package/tabs.js +2 -1
  147. package/train/train-formation/train-formation.d.ts.map +1 -1
  148. package/train/train-formation.js +32 -32
  149. package/development/selection-panel/selection-panel.d.ts.map +0 -1
  150. package/development/selection-panel.d.ts +0 -2
  151. package/development/selection-panel.d.ts.map +0 -1
  152. package/development/selection-panel.js +0 -376
  153. package/development/tabs/tab-title.d.ts +0 -2
  154. package/development/tabs/tab-title.d.ts.map +0 -1
  155. package/development/teaser-hero/teaser-hero.d.ts +0 -26
  156. package/development/teaser-hero/teaser-hero.d.ts.map +0 -1
  157. package/development/teaser-hero.d.ts +0 -2
  158. package/development/teaser-hero.d.ts.map +0 -1
  159. package/development/teaser-hero.js +0 -181
  160. package/development/teaser-paid/teaser-paid.d.ts +0 -20
  161. package/development/teaser-paid/teaser-paid.d.ts.map +0 -1
  162. package/development/teaser-paid.d.ts +0 -2
  163. package/development/teaser-paid.d.ts.map +0 -1
  164. package/development/teaser-paid.js +0 -91
  165. package/selection-panel/selection-panel.d.ts.map +0 -1
  166. package/selection-panel.d.ts +0 -2
  167. package/selection-panel.d.ts.map +0 -1
  168. package/selection-panel.js +0 -138
  169. package/tabs/tab-title.d.ts +0 -2
  170. package/tabs/tab-title.d.ts.map +0 -1
  171. package/tabs/tab-title.js +0 -51
  172. package/teaser-hero/teaser-hero.d.ts +0 -26
  173. package/teaser-hero/teaser-hero.d.ts.map +0 -1
  174. package/teaser-hero.d.ts +0 -2
  175. package/teaser-hero.d.ts.map +0 -1
  176. package/teaser-hero.js +0 -51
  177. package/teaser-paid/teaser-paid.d.ts +0 -20
  178. package/teaser-paid/teaser-paid.d.ts.map +0 -1
  179. package/teaser-paid.d.ts +0 -2
  180. package/teaser-paid.d.ts.map +0 -1
  181. package/teaser-paid.js +0 -28
@@ -5,6 +5,7 @@ import { isArrowKeyPressed, getNextElementIndex } from "../core/a11y.js";
5
5
  import { SbbConnectedAbortController } from "../core/controllers.js";
6
6
  import { EventEmitter, throttle } from "../core/eventing.js";
7
7
  import { AgnosticMutationObserver, AgnosticResizeObserver } from "../core/observers.js";
8
+ import { SbbTabElement } from "./tab.js";
8
9
  const style = css`@charset "UTF-8";
9
10
  /**
10
11
  * Better font rendering (on OS X)
@@ -90,7 +91,7 @@ var __decorateClass = (decorators, target, key, kind) => {
90
91
  const tabObserverConfig = {
91
92
  attributeFilter: ["active", "disabled"]
92
93
  };
93
- const SUPPORTED_CONTENT_WRAPPERS = ["article", "div", "section", "sbb-tab-group"];
94
+ const SUPPORTED_CONTENT_WRAPPERS = ["sbb-tab", "sbb-tab-group"];
94
95
  let nextId = 0;
95
96
  let SbbTabGroupElement = class extends LitElement {
96
97
  constructor() {
@@ -171,7 +172,7 @@ let SbbTabGroupElement = class extends LitElement {
171
172
  }
172
173
  _getTabs() {
173
174
  return Array.from(this.children ?? []).filter(
174
- (child) => /^sbb-tab-title$/u.test(child.localName)
175
+ (child) => /^sbb-tab-label$/u.test(child.localName)
175
176
  );
176
177
  }
177
178
  get _enabledTabs() {
@@ -303,7 +304,15 @@ let SbbTabGroupElement = class extends LitElement {
303
304
  (_b2 = tab.tabGroupActions) == null ? void 0 : _b2.activate();
304
305
  this._selectedTab = tab;
305
306
  this._tabContentResizeObserver.observe(tab.relatedContent);
306
- this._selectedTabChanged.emit();
307
+ const tabs = this._tabs;
308
+ this._selectedTabChanged.emit({
309
+ activeIndex: tabs.findIndex((e) => e === tab),
310
+ activeTabLabel: tab,
311
+ activeTab: tab.relatedContent,
312
+ previousIndex: tabs.findIndex((e) => e === prevTab),
313
+ previousTabLabel: prevTab,
314
+ previousTab: prevTab == null ? void 0 : prevTab.relatedContent
315
+ });
307
316
  } else if (tab.disabled) {
308
317
  console.warn("You cannot activate a disabled tab");
309
318
  }
@@ -312,30 +321,31 @@ let SbbTabGroupElement = class extends LitElement {
312
321
  if (((_a = tab.nextElementSibling) == null ? void 0 : _a.localName) && SUPPORTED_CONTENT_WRAPPERS.includes((_b = tab.nextElementSibling) == null ? void 0 : _b.localName)) {
313
322
  tab.relatedContent = tab.nextElementSibling;
314
323
  tab.relatedContent.id = this._assignId();
315
- if (tab.relatedContent.nodeName !== "SBB-TAB-GROUP") {
324
+ if (tab.relatedContent instanceof SbbTabElement) {
316
325
  tab.relatedContent.tabIndex = 0;
326
+ tab.relatedContent.configure();
317
327
  }
318
328
  } else {
319
- tab.insertAdjacentHTML("afterend", "<div>No content.</div>");
329
+ tab.insertAdjacentHTML("afterend", "<sbb-tab>No content.</sbb-tab>");
320
330
  tab.relatedContent = tab.nextElementSibling;
321
- {
322
- console.warn(
323
- `Missing content: you should provide a related content for the tab ${tab.outerHTML}.`
324
- );
325
- }
331
+ console.warn(
332
+ `Missing content: you should provide a related content for the tab ${tab.outerHTML}.`
333
+ );
326
334
  }
327
335
  tab.tabIndex = -1;
328
336
  tab.disabled = tab.hasAttribute("disabled");
329
337
  tab.active = tab.hasAttribute("active") && !tab.disabled;
330
338
  tab.setAttribute("role", "tab");
331
- tab.setAttribute("aria-controls", tab.relatedContent.id);
332
339
  tab.setAttribute("aria-selected", "false");
333
- tab.relatedContent.setAttribute("role", "tabpanel");
334
- tab.relatedContent.toggleAttribute("active", tab.active);
335
340
  tab.addEventListener("click", () => {
336
341
  var _a2;
337
342
  (_a2 = tab.tabGroupActions) == null ? void 0 : _a2.select();
338
343
  });
344
+ if (tab.relatedContent) {
345
+ tab.setAttribute("aria-controls", tab.relatedContent.id);
346
+ tab.relatedContent.setAttribute("role", "tabpanel");
347
+ tab.relatedContent.toggleAttribute("active", tab.active);
348
+ }
339
349
  this._tabAttributeObserver.observe(tab, tabObserverConfig);
340
350
  tab.slot = "tab-bar";
341
351
  }
@@ -386,4 +396,4 @@ SbbTabGroupElement = __decorateClass([
386
396
  export {
387
397
  SbbTabGroupElement
388
398
  };
389
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFicy90YWItZ3JvdXAvdGFiLWdyb3VwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIHRocm90dGxlIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBBZ25vc3RpY011dGF0aW9uT2JzZXJ2ZXIsIEFnbm9zdGljUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICcuLi8uLi9jb3JlL29ic2VydmVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRhYlRpdGxlRWxlbWVudCB9IGZyb20gJy4uL3RhYi10aXRsZS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RhYi1ncm91cC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyZmFjZVNiYlRhYkdyb3VwQWN0aW9ucyB7XG4gIGFjdGl2YXRlKCk6IHZvaWQ7XG4gIGRlYWN0aXZhdGUoKTogdm9pZDtcbiAgZW5hYmxlKCk6IHZvaWQ7XG4gIGRpc2FibGUoKTogdm9pZDtcbiAgc2VsZWN0KCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWIgZXh0ZW5kcyBIVE1MRWxlbWVudCB7XG4gIGFjdGl2ZT86IGJvb2xlYW47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgcmVsYXRlZENvbnRlbnQ/OiBIVE1MRWxlbWVudDtcbiAgaW5kZXg/OiBudW1iZXI7XG4gIHRhYkdyb3VwQWN0aW9ucz86IEludGVyZmFjZVNiYlRhYkdyb3VwQWN0aW9ucztcbiAgc2l6ZTogJ3MnIHwgJ2wnIHwgJ3hsJztcbn1cblxuY29uc3QgdGFiT2JzZXJ2ZXJDb25maWc6IE11dGF0aW9uT2JzZXJ2ZXJJbml0ID0ge1xuICBhdHRyaWJ1dGVGaWx0ZXI6IFsnYWN0aXZlJywgJ2Rpc2FibGVkJ10sXG59O1xuXG5jb25zdCBTVVBQT1JURURfQ09OVEVOVF9XUkFQUEVSUyA9IFsnYXJ0aWNsZScsICdkaXYnLCAnc2VjdGlvbicsICdzYmItdGFiLWdyb3VwJ107XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIG9uZSBvciBtb3JlIHRhYiwgZWFjaCBvbmUgd2l0aCBhIHRpdGxlIGFuZCBhIGNvbnRlbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgaHRtbC1jb250ZW50IHRvIHRoZSBgc2JiLXRhYi1ncm91cGAuXG4gKiBXcmFwIHRoZSBjb250ZW50IGluIGEgYGRpdmAsIGEgYHNlY3Rpb25gLCBhbiBgYXJ0aWNsZWAgb3IgcHJvdmlkZSBhIG5lc3RlZCBgc2JiLXRhYi1ncm91cGA6XG4gKiBUaGlzIGlzIGNvcnJlY3Q6IGA8ZGl2PlNvbWUgdGV4dCA8cD5Tb21lIG90aGVyIHRleHQ8L3A+PC9kaXY+YFxuICogVGhpcyBpcyBub3QgY29ycmVjdDogYDxzcGFuPlNvbWUgdGV4dDwvc3Bhbj48cD5Tb21lIG90aGVyIHRleHQ8L3A+YFxuICogQHNsb3QgdGFiLWJhciAtIFdoZW4geW91IHByb3ZpZGUgdGhlIGBzYmItdGFiLXRpdGxlYCB0YWcgdGhyb3VnaCB0aGUgdW5uYW1lZCBzbG90LFxuICogaXQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IG1vdmVkIHRvIHRoaXMgc2xvdC4gWW91IGRvIG5vdCBuZWVkIHRvIHVzZSBpdCBkaXJlY3RseS5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZENoYW5nZSAtIEVtaXRzIGFuIGV2ZW50IG9uIHNlbGVjdGVkIHRhYiBjaGFuZ2VcbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi10YWItZ3JvdXAnKVxuZXhwb3J0IGNsYXNzIFNiYlRhYkdyb3VwRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgZGlkQ2hhbmdlOiAnZGlkQ2hhbmdlJyxcbiAgfSBhcyBjb25zdDtcblxuICBwcml2YXRlIF90YWJzOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYltdID0gW107XG4gIHByaXZhdGUgX3NlbGVjdGVkVGFiPzogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWI7XG4gIHByaXZhdGUgX3RhYkdyb3VwRWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF90YWJDb250ZW50RWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9hYm9ydCA9IG5ldyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX3RhYkF0dHJpYnV0ZU9ic2VydmVyID0gbmV3IEFnbm9zdGljTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zTGlzdCkgPT5cbiAgICB0aGlzLl9vblRhYkF0dHJpYnV0ZXNDaGFuZ2UobXV0YXRpb25zTGlzdCksXG4gICk7XG4gIHByaXZhdGUgX3RhYkdyb3VwUmVzaXplT2JzZXJ2ZXIgPSBuZXcgQWdub3N0aWNSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT5cbiAgICB0aGlzLl9vblRhYkdyb3VwRWxlbWVudFJlc2l6ZShlbnRyaWVzKSxcbiAgKTtcbiAgcHJpdmF0ZSBfdGFiQ29udGVudFJlc2l6ZU9ic2VydmVyID0gbmV3IEFnbm9zdGljUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+XG4gICAgdGhpcy5fb25UYWJDb250ZW50RWxlbWVudFJlc2l6ZShlbnRyaWVzKSxcbiAgKTtcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcywgbCBvciB4bC5cbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgc2l6ZSh2YWx1ZTogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbJ3NpemUnXSkge1xuICAgIHRoaXMuX3NpemUgPSB2YWx1ZTtcbiAgICB0aGlzLl91cGRhdGVTaXplKCk7XG4gIH1cbiAgcHVibGljIGdldCBzaXplKCk6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiWydzaXplJ10ge1xuICAgIHJldHVybiB0aGlzLl9zaXplO1xuICB9XG4gIHByaXZhdGUgX3NpemU6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiWydzaXplJ10gPSAnbCc7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGluaXRpYWwgdGFiLiBJZiBpdCBtYXRjaGVzIGEgZGlzYWJsZWQgdGFiIG9yIGV4Y2VlZHMgdGhlIGxlbmd0aCBvZlxuICAgKiB0aGUgdGFiIGdyb3VwLCB0aGUgZmlyc3QgZW5hYmxlZCB0YWIgd2lsbCBiZSBzZWxlY3RlZC5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2luaXRpYWwtc2VsZWN0ZWQtaW5kZXgnLCB0eXBlOiBOdW1iZXIgfSkgcHVibGljIGluaXRpYWxTZWxlY3RlZEluZGV4ID0gMDtcblxuICBwcml2YXRlIF91cGRhdGVTaXplKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgdGFiIG9mIHRoaXMuX3RhYnMpIHtcbiAgICAgIHRhYi5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2l6ZScsIHRoaXMuc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGFuIGV2ZW50IG9uIHNlbGVjdGVkIHRhYiBjaGFuZ2VcbiAgICovXG4gIHByaXZhdGUgX3NlbGVjdGVkVGFiQ2hhbmdlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYlRhYkdyb3VwRWxlbWVudC5ldmVudHMuZGlkQ2hhbmdlLFxuICApO1xuXG4gIC8qKlxuICAgKiBEaXNhYmxlcyBhIHRhYiBieSBpbmRleC5cbiAgICogQHBhcmFtIHRhYkluZGV4IFRoZSBpbmRleCBvZiB0aGUgdGFiIHlvdSB3YW50IHRvIGRpc2FibGUuXG4gICAqL1xuICBwdWJsaWMgZGlzYWJsZVRhYih0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fdGFic1t0YWJJbmRleF0/LnRhYkdyb3VwQWN0aW9ucz8uZGlzYWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgYSB0YWIgYnkgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYiB5b3Ugd2FudCB0byBlbmFibGUuXG4gICAqL1xuICBwdWJsaWMgZW5hYmxlVGFiKHRhYkluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl90YWJzW3RhYkluZGV4XT8udGFiR3JvdXBBY3Rpb25zPy5lbmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZXMgYSB0YWIgYnkgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYiB5b3Ugd2FudCB0byBhY3RpdmF0ZS5cbiAgICovXG4gIHB1YmxpYyBhY3RpdmF0ZVRhYih0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fdGFic1t0YWJJbmRleF0/LnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRUYWJzKCk6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4gPz8gW10pLmZpbHRlcigoY2hpbGQpID0+XG4gICAgICAvXnNiYi10YWItdGl0bGUkL3UudGVzdChjaGlsZC5sb2NhbE5hbWUpLFxuICAgICkgYXMgSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9lbmFibGVkVGFicygpOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYltdIHtcbiAgICByZXR1cm4gdGhpcy5fdGFicy5maWx0ZXIoKHQpID0+ICF0Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjb25zdCBzaWduYWwgPSB0aGlzLl9hYm9ydC5zaWduYWw7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSksIHsgc2lnbmFsIH0pO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLW5lc3RlZCcsICEhdGhpcy5wYXJlbnRFbGVtZW50Py5jbG9zZXN0KCdzYmItdGFiLWdyb3VwJykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fdGFicyA9IHRoaXMuX2dldFRhYnMoKTtcbiAgICB0aGlzLl90YWJzLmZvckVhY2goKHRhYikgPT4gdGhpcy5fY29uZmlndXJlKHRhYikpO1xuICAgIHRoaXMuX2luaXRTZWxlY3Rpb24oKTtcbiAgICB0aGlzLl90YWJHcm91cFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fdGFiR3JvdXBFbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX3RhYkF0dHJpYnV0ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLl90YWJDb250ZW50UmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX3RhYkdyb3VwUmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Db250ZW50U2xvdENoYW5nZSA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLl90YWJDb250ZW50RWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignZGl2LnRhYi1jb250ZW50JykhO1xuICAgIGNvbnN0IGxvYWRlZFRhYnMgPSB0aGlzLl9nZXRUYWJzKCkuZmlsdGVyKCh0YWIpID0+ICF0aGlzLl90YWJzLmluY2x1ZGVzKHRhYikpO1xuXG4gICAgLy8gaWYgYSBuZXcgdGFiL2NvbnRlbnQgaXMgYWRkZWQgdG8gdGhlIHRhYiBncm91cFxuICAgIGlmIChsb2FkZWRUYWJzLmxlbmd0aCkge1xuICAgICAgbG9hZGVkVGFicy5mb3JFYWNoKCh0YWIpID0+IHRoaXMuX2NvbmZpZ3VyZSh0YWIpKTtcbiAgICAgIHRoaXMuX3RhYnMgPSB0aGlzLl90YWJzLmNvbmNhdChsb2FkZWRUYWJzKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfb25UYWJzU2xvdENoYW5nZSA9ICgpOiB2b2lkID0+IHtcbiAgICBjb25zdCB0YWJzID0gdGhpcy5fZ2V0VGFicygpO1xuXG4gICAgLy8gaWYgYSB0YWIgaXMgcmVtb3ZlZCBmcm9tIHRoZSB0YWIgZ3JvdXBcbiAgICBpZiAodGFicy5sZW5ndGggPCB0aGlzLl90YWJzLmxlbmd0aCkge1xuICAgICAgY29uc3QgcmVtb3ZlZFRhYnMgPSB0aGlzLl90YWJzLmZpbHRlcigodGFiKSA9PiAhdGFicy5pbmNsdWRlcyh0YWIpKTtcblxuICAgICAgcmVtb3ZlZFRhYnMuZm9yRWFjaCgocmVtb3ZlZFRhYikgPT4ge1xuICAgICAgICByZW1vdmVkVGFiLnJlbGF0ZWRDb250ZW50Py5yZW1vdmUoKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5fdGFicyA9IHRhYnM7XG4gICAgfVxuICAgIHRoaXMuX3RhYnMuZm9yRWFjaCgodGFiOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYikgPT4gdGFiLnNldEF0dHJpYnV0ZSgnZGF0YS1zaXplJywgdGhpcy5zaXplKSk7XG4gIH07XG5cbiAgcHJpdmF0ZSBfYXNzaWduSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHNiYi10YWItcGFuZWwtJHsrK25leHRJZH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdFNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmluaXRpYWxTZWxlY3RlZEluZGV4ID49IDAgJiZcbiAgICAgIHRoaXMuaW5pdGlhbFNlbGVjdGVkSW5kZXggPCB0aGlzLl90YWJzLmxlbmd0aCAmJlxuICAgICAgIXRoaXMuX3RhYnNbdGhpcy5pbml0aWFsU2VsZWN0ZWRJbmRleF0uZGlzYWJsZWRcbiAgICApIHtcbiAgICAgIHRoaXMuX3RhYnNbdGhpcy5pbml0aWFsU2VsZWN0ZWRJbmRleF0udGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZW5hYmxlZFRhYnNbMF0/LnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25UYWJBdHRyaWJ1dGVzQ2hhbmdlKG11dGF0aW9uc0xpc3Q6IE11dGF0aW9uUmVjb3JkW10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IG11dGF0aW9uIG9mIG11dGF0aW9uc0xpc3QpIHtcbiAgICAgIGlmIChtdXRhdGlvbi50eXBlICE9PSAnYXR0cmlidXRlcycpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgdGFiID0gbXV0YXRpb24udGFyZ2V0IGFzIEludGVyZmFjZVNiYlRhYkdyb3VwVGFiO1xuXG4gICAgICBpZiAobXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ2Rpc2FibGVkJykge1xuICAgICAgICBpZiAodGFiLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSAmJiB0YWIgIT09IHRoaXMuX3NlbGVjdGVkVGFiKSB7XG4gICAgICAgICAgdGFiLnRhYkdyb3VwQWN0aW9ucz8uZGlzYWJsZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRhYi5kaXNhYmxlZCkge1xuICAgICAgICAgIHRhYi50YWJHcm91cEFjdGlvbnM/LmVuYWJsZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAobXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ2FjdGl2ZScpIHtcbiAgICAgICAgaWYgKHRhYi5oYXNBdHRyaWJ1dGUoJ2FjdGl2ZScpICYmICF0YWIuZGlzYWJsZWQpIHtcbiAgICAgICAgICB0YWIudGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0YWIgPT09IHRoaXMuX3NlbGVjdGVkVGFiKSB7XG4gICAgICAgICAgdGFiLnRvZ2dsZUF0dHJpYnV0ZSgnYWN0aXZlJywgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vblRhYkdyb3VwRWxlbWVudFJlc2l6ZShlbnRyaWVzOiBSZXNpemVPYnNlcnZlckVudHJ5W10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgIGNvbnN0IHRhYlRpdGxlcyA9IChcbiAgICAgICAgZW50cnkudGFyZ2V0LmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxTbG90RWxlbWVudFxuICAgICAgKS5hc3NpZ25lZEVsZW1lbnRzKCkgYXMgU2JiVGFiVGl0bGVFbGVtZW50W107XG5cbiAgICAgIGZvciAoY29uc3QgdGFiIG9mIHRhYlRpdGxlcykge1xuICAgICAgICB0YWIudG9nZ2xlQXR0cmlidXRlKFxuICAgICAgICAgICdkYXRhLWhhcy1kaXZpZGVyJyxcbiAgICAgICAgICB0YWIgPT09IHRhYlRpdGxlc1swXSB8fCB0YWIub2Zmc2V0TGVmdCA9PT0gdGFiVGl0bGVzWzBdLm9mZnNldExlZnQsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXRhYi1ncm91cC13aWR0aCcsIGAke3RoaXMuX3RhYkdyb3VwRWxlbWVudC5jbGllbnRXaWR0aH1weGApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uVGFiQ29udGVudEVsZW1lbnRSZXNpemUoZW50cmllczogUmVzaXplT2JzZXJ2ZXJFbnRyeVtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICBjb25zdCBjb250ZW50SGVpZ2h0ID0gTWF0aC5mbG9vcihlbnRyeS5jb250ZW50UmVjdC5oZWlnaHQpO1xuXG4gICAgICAodGhpcy5fdGFiQ29udGVudEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmhlaWdodCA9IGAke2NvbnRlbnRIZWlnaHR9cHhgO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZSh0YWI6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiKTogdm9pZCB7XG4gICAgdGFiLnRhYkdyb3VwQWN0aW9ucyA9IHtcbiAgICAgIGFjdGl2YXRlOiAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRhYi50b2dnbGVBdHRyaWJ1dGUoJ2FjdGl2ZScsIHRydWUpO1xuICAgICAgICB0YWIuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgdGFiLnRhYkluZGV4ID0gMDtcbiAgICAgICAgdGFiLnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsICd0cnVlJyk7XG4gICAgICAgIHRhYi5yZWxhdGVkQ29udGVudD8udG9nZ2xlQXR0cmlidXRlKCdhY3RpdmUnLCB0cnVlKTtcbiAgICAgIH0sXG4gICAgICBkZWFjdGl2YXRlOiAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRhYi5yZW1vdmVBdHRyaWJ1dGUoJ2FjdGl2ZScpO1xuICAgICAgICB0YWIuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRhYi50YWJJbmRleCA9IC0xO1xuICAgICAgICB0YWIuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgJ2ZhbHNlJyk7XG4gICAgICAgIHRhYi5yZWxhdGVkQ29udGVudD8ucmVtb3ZlQXR0cmlidXRlKCdhY3RpdmUnKTtcbiAgICAgIH0sXG4gICAgICBkaXNhYmxlOiAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0YWIuZGlzYWJsZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0YWIuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKSB7XG4gICAgICAgICAgdGFiLnRvZ2dsZUF0dHJpYnV0ZSgnZGlzYWJsZWQnLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICB0YWIuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICB0YWIudGFiSW5kZXggPSAtMTtcbiAgICAgICAgdGFiLnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsICdmYWxzZScpO1xuICAgICAgICB0YWIucmVsYXRlZENvbnRlbnQ/LnJlbW92ZUF0dHJpYnV0ZSgnYWN0aXZlJyk7XG4gICAgICAgIGlmICh0YWIuYWN0aXZlKSB7XG4gICAgICAgICAgdGFiLnJlbW92ZUF0dHJpYnV0ZSgnYWN0aXZlJyk7XG4gICAgICAgICAgdGFiLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuX2VuYWJsZWRUYWJzWzBdPy50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZW5hYmxlOiAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0YWIuZGlzYWJsZWQpIHtcbiAgICAgICAgICB0YWIucmVtb3ZlQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICAgICAgICAgIHRhYi5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgc2VsZWN0OiAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0YWIgIT09IHRoaXMuX3NlbGVjdGVkVGFiICYmICF0YWIuZGlzYWJsZWQpIHtcbiAgICAgICAgICBjb25zdCBwcmV2VGFiID0gdGhpcy5fc2VsZWN0ZWRUYWI7XG5cbiAgICAgICAgICBpZiAocHJldlRhYikge1xuICAgICAgICAgICAgcHJldlRhYi50YWJHcm91cEFjdGlvbnM/LmRlYWN0aXZhdGUoKTtcbiAgICAgICAgICAgIHRoaXMuX3RhYkNvbnRlbnRSZXNpemVPYnNlcnZlci51bm9ic2VydmUocHJldlRhYi5yZWxhdGVkQ29udGVudCEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRhYi50YWJHcm91cEFjdGlvbnM/LmFjdGl2YXRlKCk7XG4gICAgICAgICAgdGhpcy5fc2VsZWN0ZWRUYWIgPSB0YWI7XG5cbiAgICAgICAgICB0aGlzLl90YWJDb250ZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0YWIucmVsYXRlZENvbnRlbnQhKTtcbiAgICAgICAgICB0aGlzLl9zZWxlY3RlZFRhYkNoYW5nZWQuZW1pdCgpO1xuICAgICAgICB9IGVsc2UgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYgJiYgdGFiLmRpc2FibGVkKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdZb3UgY2Fubm90IGFjdGl2YXRlIGEgZGlzYWJsZWQgdGFiJyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfTtcbiAgICBpZiAoXG4gICAgICB0YWIubmV4dEVsZW1lbnRTaWJsaW5nPy5sb2NhbE5hbWUgJiZcbiAgICAgIFNVUFBPUlRFRF9DT05URU5UX1dSQVBQRVJTLmluY2x1ZGVzKHRhYi5uZXh0RWxlbWVudFNpYmxpbmc/LmxvY2FsTmFtZSlcbiAgICApIHtcbiAgICAgIHRhYi5yZWxhdGVkQ29udGVudCA9IHRhYi5uZXh0RWxlbWVudFNpYmxpbmcgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICB0YWIucmVsYXRlZENvbnRlbnQuaWQgPSB0aGlzLl9hc3NpZ25JZCgpO1xuICAgICAgaWYgKHRhYi5yZWxhdGVkQ29udGVudC5ub2RlTmFtZSAhPT0gJ1NCQi1UQUItR1JPVVAnKSB7XG4gICAgICAgIHRhYi5yZWxhdGVkQ29udGVudC50YWJJbmRleCA9IDA7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRhYi5pbnNlcnRBZGphY2VudEhUTUwoJ2FmdGVyZW5kJywgJzxkaXY+Tm8gY29udGVudC48L2Rpdj4nKTtcbiAgICAgIHRhYi5yZWxhdGVkQ29udGVudCA9IHRhYi5uZXh0RWxlbWVudFNpYmxpbmcgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFVikge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgYE1pc3NpbmcgY29udGVudDogeW91IHNob3VsZCBwcm92aWRlIGEgcmVsYXRlZCBjb250ZW50IGZvciB0aGUgdGFiICR7dGFiLm91dGVySFRNTH0uYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGFiLnRhYkluZGV4ID0gLTE7XG4gICAgdGFiLmRpc2FibGVkID0gdGFiLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICB0YWIuYWN0aXZlID0gdGFiLmhhc0F0dHJpYnV0ZSgnYWN0aXZlJykgJiYgIXRhYi5kaXNhYmxlZDtcbiAgICB0YWIuc2V0QXR0cmlidXRlKCdyb2xlJywgJ3RhYicpO1xuICAgIHRhYi5zZXRBdHRyaWJ1dGUoJ2FyaWEtY29udHJvbHMnLCB0YWIucmVsYXRlZENvbnRlbnQuaWQpO1xuICAgIHRhYi5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCAnZmFsc2UnKTtcbiAgICB0YWIucmVsYXRlZENvbnRlbnQuc2V0QXR0cmlidXRlKCdyb2xlJywgJ3RhYnBhbmVsJyk7XG4gICAgdGFiLnJlbGF0ZWRDb250ZW50LnRvZ2dsZUF0dHJpYnV0ZSgnYWN0aXZlJywgdGFiLmFjdGl2ZSk7XG4gICAgdGFiLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgdGFiLnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl90YWJBdHRyaWJ1dGVPYnNlcnZlci5vYnNlcnZlKHRhYiwgdGFiT2JzZXJ2ZXJDb25maWcpO1xuICAgIHRhYi5zbG90ID0gJ3RhYi1iYXInO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkVGFiczogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbXSA9IHRoaXMuX2VuYWJsZWRUYWJzO1xuXG4gICAgaWYgKFxuICAgICAgIWVuYWJsZWRUYWJzIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJiAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcylcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgY29uc3QgY3VycmVudDogbnVtYmVyID0gZW5hYmxlZFRhYnMuZmluZEluZGV4KCh0OiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYikgPT4gdC5hY3RpdmUpO1xuICAgICAgY29uc3QgbmV4dEluZGV4OiBudW1iZXIgPSBnZXROZXh0RWxlbWVudEluZGV4KGV2dCwgY3VycmVudCwgZW5hYmxlZFRhYnMubGVuZ3RoKTtcbiAgICAgIGVuYWJsZWRUYWJzW25leHRJbmRleF0/LnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gICAgICBlbmFibGVkVGFic1tuZXh0SW5kZXhdPy5mb2N1cygpO1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidGFiLWdyb3VwXCJcbiAgICAgICAgcm9sZT1cInRhYmxpc3RcIlxuICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fdGFiR3JvdXBFbGVtZW50ID0gZWwgYXMgSFRNTEVsZW1lbnQpKX1cbiAgICAgID5cbiAgICAgICAgPHNsb3QgbmFtZT1cInRhYi1iYXJcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX29uVGFic1Nsb3RDaGFuZ2V9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwidGFiLWNvbnRlbnRcIj5cbiAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aHJvdHRsZSh0aGlzLl9vbkNvbnRlbnRTbG90Q2hhbmdlLCAxNTApfT48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGFiLWdyb3VwJzogU2JiVGFiR3JvdXBFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiX2EiLCJfYiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE4QkEsTUFBTSxvQkFBMEM7QUFBQSxFQUM5QyxpQkFBaUIsQ0FBQyxVQUFVLFVBQVU7QUFDeEM7QUFFQSxNQUFNLDZCQUE2QixDQUFDLFdBQVcsT0FBTyxXQUFXLGVBQWU7QUFFaEYsSUFBSSxTQUFTO0FB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
399
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFicy90YWItZ3JvdXAvdGFiLWdyb3VwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIHRocm90dGxlIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBBZ25vc3RpY011dGF0aW9uT2JzZXJ2ZXIsIEFnbm9zdGljUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICcuLi8uLi9jb3JlL29ic2VydmVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRhYkxhYmVsRWxlbWVudCB9IGZyb20gJy4uL3RhYi1sYWJlbC5qcyc7XG5pbXBvcnQgeyBTYmJUYWJFbGVtZW50IH0gZnJvbSAnLi4vdGFiLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdGFiLWdyb3VwLnNjc3M/bGl0JmlubGluZSc7XG5cbmV4cG9ydCB0eXBlIFNiYlRhYlN1cHBvcnRlZENvbnRlbnRUeXBlID0gU2JiVGFiRWxlbWVudCB8IFNiYlRhYkdyb3VwRWxlbWVudDtcblxuZXhwb3J0IHR5cGUgU2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscyA9IHtcbiAgYWN0aXZlSW5kZXg6IG51bWJlcjtcbiAgYWN0aXZlVGFiTGFiZWw6IFNiYlRhYkxhYmVsRWxlbWVudDtcbiAgYWN0aXZlVGFiOiBTYmJUYWJFbGVtZW50O1xuICBwcmV2aW91c0luZGV4OiBudW1iZXI7XG4gIHByZXZpb3VzVGFiTGFiZWw6IFNiYlRhYkxhYmVsRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgcHJldmlvdXNUYWI6IFNiYlRhYkVsZW1lbnQgfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyZmFjZVNiYlRhYkdyb3VwQWN0aW9ucyB7XG4gIGFjdGl2YXRlKCk6IHZvaWQ7XG4gIGRlYWN0aXZhdGUoKTogdm9pZDtcbiAgZW5hYmxlKCk6IHZvaWQ7XG4gIGRpc2FibGUoKTogdm9pZDtcbiAgc2VsZWN0KCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWIgZXh0ZW5kcyBTYmJUYWJMYWJlbEVsZW1lbnQge1xuICBhY3RpdmU/OiBib29sZWFuO1xuICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgcmVsYXRlZENvbnRlbnQ/OiBTYmJUYWJTdXBwb3J0ZWRDb250ZW50VHlwZTtcbiAgaW5kZXg/OiBudW1iZXI7XG4gIHRhYkdyb3VwQWN0aW9ucz86IEludGVyZmFjZVNiYlRhYkdyb3VwQWN0aW9ucztcbiAgc2l6ZTogJ3MnIHwgJ2wnIHwgJ3hsJztcbn1cblxuY29uc3QgdGFiT2JzZXJ2ZXJDb25maWc6IE11dGF0aW9uT2JzZXJ2ZXJJbml0ID0ge1xuICBhdHRyaWJ1dGVGaWx0ZXI6IFsnYWN0aXZlJywgJ2Rpc2FibGVkJ10sXG59O1xuXG5jb25zdCBTVVBQT1JURURfQ09OVEVOVF9XUkFQUEVSUyA9IFsnc2JiLXRhYicsICdzYmItdGFiLWdyb3VwJ107XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIG9uZSBvciBtb3JlIHRhYiwgZWFjaCBvbmUgd2l0aCBhIHRpdGxlIGFuZCBhIGNvbnRlbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgaHRtbC1jb250ZW50IHRvIHRoZSBgc2JiLXRhYi1ncm91cGA7XG4gKiB3cmFwIHRoZSBjb250ZW50IGluIGEgYHNiYi10YWJgIG9yIHByb3ZpZGUgYSBuZXN0ZWQgYHNiYi10YWItZ3JvdXBgLlxuICogQHNsb3QgdGFiLWJhciAtIFdoZW4geW91IHByb3ZpZGUgdGhlIGBzYmItdGFiLWxhYmVsYCB0YWcgdGhyb3VnaCB0aGUgdW5uYW1lZCBzbG90LFxuICogaXQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IG1vdmVkIHRvIHRoaXMgc2xvdC4gWW91IGRvIG5vdCBuZWVkIHRvIHVzZSBpdCBkaXJlY3RseS5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8U2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscz59IGRpZENoYW5nZSAtIEVtaXRzIGFuIGV2ZW50IG9uIHNlbGVjdGVkIHRhYiBjaGFuZ2UuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItdGFiLWdyb3VwJylcbmV4cG9ydCBjbGFzcyBTYmJUYWJHcm91cEVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIGRpZENoYW5nZTogJ2RpZENoYW5nZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBfdGFiczogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbXSA9IFtdO1xuICBwcml2YXRlIF9zZWxlY3RlZFRhYj86IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiO1xuICBwcml2YXRlIF90YWJHcm91cEVsZW1lbnQhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfdGFiQ29udGVudEVsZW1lbnQhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfYWJvcnQgPSBuZXcgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF90YWJBdHRyaWJ1dGVPYnNlcnZlciA9IG5ldyBBZ25vc3RpY011dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9uc0xpc3QpID0+XG4gICAgdGhpcy5fb25UYWJBdHRyaWJ1dGVzQ2hhbmdlKG11dGF0aW9uc0xpc3QpLFxuICApO1xuICBwcml2YXRlIF90YWJHcm91cFJlc2l6ZU9ic2VydmVyID0gbmV3IEFnbm9zdGljUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+XG4gICAgdGhpcy5fb25UYWJHcm91cEVsZW1lbnRSZXNpemUoZW50cmllcyksXG4gICk7XG4gIHByaXZhdGUgX3RhYkNvbnRlbnRSZXNpemVPYnNlcnZlciA9IG5ldyBBZ25vc3RpY1Jlc2l6ZU9ic2VydmVyKChlbnRyaWVzKSA9PlxuICAgIHRoaXMuX29uVGFiQ29udGVudEVsZW1lbnRSZXNpemUoZW50cmllcyksXG4gICk7XG5cbiAgLyoqIFNpemUgdmFyaWFudCwgZWl0aGVyIHMsIGwgb3IgeGwuICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgc2l6ZSh2YWx1ZTogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbJ3NpemUnXSkge1xuICAgIHRoaXMuX3NpemUgPSB2YWx1ZTtcbiAgICB0aGlzLl91cGRhdGVTaXplKCk7XG4gIH1cbiAgcHVibGljIGdldCBzaXplKCk6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiWydzaXplJ10ge1xuICAgIHJldHVybiB0aGlzLl9zaXplO1xuICB9XG4gIHByaXZhdGUgX3NpemU6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiWydzaXplJ10gPSAnbCc7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGluaXRpYWwgdGFiLiBJZiBpdCBtYXRjaGVzIGEgZGlzYWJsZWQgdGFiIG9yIGV4Y2VlZHMgdGhlIGxlbmd0aCBvZlxuICAgKiB0aGUgdGFiIGdyb3VwLCB0aGUgZmlyc3QgZW5hYmxlZCB0YWIgd2lsbCBiZSBzZWxlY3RlZC5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2luaXRpYWwtc2VsZWN0ZWQtaW5kZXgnLCB0eXBlOiBOdW1iZXIgfSkgcHVibGljIGluaXRpYWxTZWxlY3RlZEluZGV4ID0gMDtcblxuICBwcml2YXRlIF91cGRhdGVTaXplKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgdGFiIG9mIHRoaXMuX3RhYnMpIHtcbiAgICAgIHRhYi5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2l6ZScsIHRoaXMuc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEVtaXRzIGFuIGV2ZW50IG9uIHNlbGVjdGVkIHRhYiBjaGFuZ2UuICovXG4gIHByaXZhdGUgX3NlbGVjdGVkVGFiQ2hhbmdlZDogRXZlbnRFbWl0dGVyPFNiYlRhYkNoYW5nZWRFdmVudERldGFpbHM+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYlRhYkdyb3VwRWxlbWVudC5ldmVudHMuZGlkQ2hhbmdlLFxuICApO1xuXG4gIC8qKlxuICAgKiBEaXNhYmxlcyBhIHRhYiBieSBpbmRleC5cbiAgICogQHBhcmFtIHRhYkluZGV4IFRoZSBpbmRleCBvZiB0aGUgdGFiIHlvdSB3YW50IHRvIGRpc2FibGUuXG4gICAqL1xuICBwdWJsaWMgZGlzYWJsZVRhYih0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fdGFic1t0YWJJbmRleF0/LnRhYkdyb3VwQWN0aW9ucz8uZGlzYWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgYSB0YWIgYnkgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYiB5b3Ugd2FudCB0byBlbmFibGUuXG4gICAqL1xuICBwdWJsaWMgZW5hYmxlVGFiKHRhYkluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl90YWJzW3RhYkluZGV4XT8udGFiR3JvdXBBY3Rpb25zPy5lbmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZXMgYSB0YWIgYnkgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYiB5b3Ugd2FudCB0byBhY3RpdmF0ZS5cbiAgICovXG4gIHB1YmxpYyBhY3RpdmF0ZVRhYih0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fdGFic1t0YWJJbmRleF0/LnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRUYWJzKCk6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4gPz8gW10pLmZpbHRlcigoY2hpbGQpID0+XG4gICAgICAvXnNiYi10YWItbGFiZWwkL3UudGVzdChjaGlsZC5sb2NhbE5hbWUpLFxuICAgICkgYXMgSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9lbmFibGVkVGFicygpOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYltdIHtcbiAgICByZXR1cm4gdGhpcy5fdGFicy5maWx0ZXIoKHQpID0+ICF0Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjb25zdCBzaWduYWwgPSB0aGlzLl9hYm9ydC5zaWduYWw7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSksIHsgc2lnbmFsIH0pO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLW5lc3RlZCcsICEhdGhpcy5wYXJlbnRFbGVtZW50Py5jbG9zZXN0KCdzYmItdGFiLWdyb3VwJykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fdGFicyA9IHRoaXMuX2dldFRhYnMoKTtcbiAgICB0aGlzLl90YWJzLmZvckVhY2goKHRhYikgPT4gdGhpcy5fY29uZmlndXJlKHRhYikpO1xuICAgIHRoaXMuX2luaXRTZWxlY3Rpb24oKTtcbiAgICB0aGlzLl90YWJHcm91cFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fdGFiR3JvdXBFbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX3RhYkF0dHJpYnV0ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLl90YWJDb250ZW50UmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX3RhYkdyb3VwUmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Db250ZW50U2xvdENoYW5nZSA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLl90YWJDb250ZW50RWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignZGl2LnRhYi1jb250ZW50JykhO1xuICAgIGNvbnN0IGxvYWRlZFRhYnMgPSB0aGlzLl9nZXRUYWJzKCkuZmlsdGVyKCh0YWIpID0+ICF0aGlzLl90YWJzLmluY2x1ZGVzKHRhYikpO1xuXG4gICAgLy8gaWYgYSBuZXcgdGFiL2NvbnRlbnQgaXMgYWRkZWQgdG8gdGhlIHRhYiBncm91cFxuICAgIGlmIChsb2FkZWRUYWJzLmxlbmd0aCkge1xuICAgICAgbG9hZGVkVGFicy5mb3JFYWNoKCh0YWIpID0+IHRoaXMuX2NvbmZpZ3VyZSh0YWIpKTtcbiAgICAgIHRoaXMuX3RhYnMgPSB0aGlzLl90YWJzLmNvbmNhdChsb2FkZWRUYWJzKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfb25UYWJzU2xvdENoYW5nZSA9ICgpOiB2b2lkID0+IHtcbiAgICBjb25zdCB0YWJzID0gdGhpcy5fZ2V0VGFicygpO1xuXG4gICAgLy8gaWYgYSB0YWIgaXMgcmVtb3ZlZCBmcm9tIHRoZSB0YWIgZ3JvdXBcbiAgICBpZiAodGFicy5sZW5ndGggPCB0aGlzLl90YWJzLmxlbmd0aCkge1xuICAgICAgY29uc3QgcmVtb3ZlZFRhYnMgPSB0aGlzLl90YWJzLmZpbHRlcigodGFiKSA9PiAhdGFicy5pbmNsdWRlcyh0YWIpKTtcblxuICAgICAgcmVtb3ZlZFRhYnMuZm9yRWFjaCgocmVtb3ZlZFRhYikgPT4ge1xuICAgICAgICByZW1vdmVkVGFiLnJlbGF0ZWRDb250ZW50Py5yZW1vdmUoKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5fdGFicyA9IHRhYnM7XG4gICAgfVxuICAgIHRoaXMuX3RhYnMuZm9yRWFjaCgodGFiOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYikgPT4gdGFiLnNldEF0dHJpYnV0ZSgnZGF0YS1zaXplJywgdGhpcy5zaXplKSk7XG4gIH07XG5cbiAgcHJpdmF0ZSBfYXNzaWduSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHNiYi10YWItcGFuZWwtJHsrK25leHRJZH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdFNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmluaXRpYWxTZWxlY3RlZEluZGV4ID49IDAgJiZcbiAgICAgIHRoaXMuaW5pdGlhbFNlbGVjdGVkSW5kZXggPCB0aGlzLl90YWJzLmxlbmd0aCAmJlxuICAgICAgIXRoaXMuX3RhYnNbdGhpcy5pbml0aWFsU2VsZWN0ZWRJbmRleF0uZGlzYWJsZWRcbiAgICApIHtcbiAgICAgIHRoaXMuX3RhYnNbdGhpcy5pbml0aWFsU2VsZWN0ZWRJbmRleF0udGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZW5hYmxlZFRhYnNbMF0/LnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25UYWJBdHRyaWJ1dGVzQ2hhbmdlKG11dGF0aW9uc0xpc3Q6IE11dGF0aW9uUmVjb3JkW10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IG11dGF0aW9uIG9mIG11dGF0aW9uc0xpc3QpIHtcbiAgICAgIGlmIChtdXRhdGlvbi50eXBlICE9PSAnYXR0cmlidXRlcycpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgdGFiID0gbXV0YXRpb24udGFyZ2V0IGFzIEludGVyZmFjZVNiYlRhYkdyb3VwVGFiO1xuXG4gICAgICBpZiAobXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ2Rpc2FibGVkJykge1xuICAgICAgICBpZiAodGFiLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSAmJiB0YWIgIT09IHRoaXMuX3NlbGVjdGVkVGFiKSB7XG4gICAgICAgICAgdGFiLnRhYkdyb3VwQWN0aW9ucz8uZGlzYWJsZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRhYi5kaXNhYmxlZCkge1xuICAgICAgICAgIHRhYi50YWJHcm91cEFjdGlvbnM/LmVuYWJsZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAobXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ2FjdGl2ZScpIHtcbiAgICAgICAgaWYgKHRhYi5oYXNBdHRyaWJ1dGUoJ2FjdGl2ZScpICYmICF0YWIuZGlzYWJsZWQpIHtcbiAgICAgICAgICB0YWIudGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0YWIgPT09IHRoaXMuX3NlbGVjdGVkVGFiKSB7XG4gICAgICAgICAgdGFiLnRvZ2dsZUF0dHJpYnV0ZSgnYWN0aXZlJywgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vblRhYkdyb3VwRWxlbWVudFJlc2l6ZShlbnRyaWVzOiBSZXNpemVPYnNlcnZlckVudHJ5W10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgIGNvbnN0IHRhYlRpdGxlcyA9IChcbiAgICAgICAgZW50cnkudGFyZ2V0LmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxTbG90RWxlbWVudFxuICAgICAgKS5hc3NpZ25lZEVsZW1lbnRzKCkgYXMgU2JiVGFiTGFiZWxFbGVtZW50W107XG5cbiAgICAgIGZvciAoY29uc3QgdGFiIG9mIHRhYlRpdGxlcykge1xuICAgICAgICB0YWIudG9nZ2xlQXR0cmlidXRlKFxuICAgICAgICAgICdkYXRhLWhhcy1kaXZpZGVyJyxcbiAgICAgICAgICB0YWIgPT09IHRhYlRpdGxlc1swXSB8fCB0YWIub2Zmc2V0TGVmdCA9PT0gdGFiVGl0bGVzWzBdLm9mZnNldExlZnQsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXRhYi1ncm91cC13aWR0aCcsIGAke3RoaXMuX3RhYkdyb3VwRWxlbWVudC5jbGllbnRXaWR0aH1weGApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uVGFiQ29udGVudEVsZW1lbnRSZXNpemUoZW50cmllczogUmVzaXplT2JzZXJ2ZXJFbnRyeVtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICBjb25zdCBjb250ZW50SGVpZ2h0ID0gTWF0aC5mbG9vcihlbnRyeS5jb250ZW50UmVjdC5oZWlnaHQpO1xuXG4gICAgICAodGhpcy5fdGFiQ29udGVudEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmhlaWdodCA9IGAke2NvbnRlbnRIZWlnaHR9cHhgO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZSh0YWI6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiKTogdm9pZCB7XG4gICAgdGFiLnRhYkdyb3VwQWN0aW9ucyA9IHtcbiAgICAgIGFjdGl2YXRlOiAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRhYi50b2dnbGVBdHRyaWJ1dGUoJ2FjdGl2ZScsIHRydWUpO1xuICAgICAgICB0YWIuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgdGFiLnRhYkluZGV4ID0gMDtcbiAgICAgICAgdGFiLnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsICd0cnVlJyk7XG4gICAgICAgIHRhYi5yZWxhdGVkQ29udGVudD8udG9nZ2xlQXR0cmlidXRlKCdhY3RpdmUnLCB0cnVlKTtcbiAgICAgIH0sXG4gICAgICBkZWFjdGl2YXRlOiAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRhYi5yZW1vdmVBdHRyaWJ1dGUoJ2FjdGl2ZScpO1xuICAgICAgICB0YWIuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRhYi50YWJJbmRleCA9IC0xO1xuICAgICAgICB0YWIuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgJ2ZhbHNlJyk7XG4gICAgICAgIHRhYi5yZWxhdGVkQ29udGVudD8ucmVtb3ZlQXR0cmlidXRlKCdhY3RpdmUnKTtcbiAgICAgIH0sXG4gICAgICBkaXNhYmxlOiAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0YWIuZGlzYWJsZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0YWIuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKSB7XG4gICAgICAgICAgdGFiLnRvZ2dsZUF0dHJpYnV0ZSgnZGlzYWJsZWQnLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICB0YWIuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICB0YWIudGFiSW5kZXggPSAtMTtcbiAgICAgICAgdGFiLnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsICdmYWxzZScpO1xuICAgICAgICB0YWIucmVsYXRlZENvbnRlbnQ/LnJlbW92ZUF0dHJpYnV0ZSgnYWN0aXZlJyk7XG4gICAgICAgIGlmICh0YWIuYWN0aXZlKSB7XG4gICAgICAgICAgdGFiLnJlbW92ZUF0dHJpYnV0ZSgnYWN0aXZlJyk7XG4gICAgICAgICAgdGFiLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuX2VuYWJsZWRUYWJzWzBdPy50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZW5hYmxlOiAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0YWIuZGlzYWJsZWQpIHtcbiAgICAgICAgICB0YWIucmVtb3ZlQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICAgICAgICAgIHRhYi5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgc2VsZWN0OiAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0YWIgIT09IHRoaXMuX3NlbGVjdGVkVGFiICYmICF0YWIuZGlzYWJsZWQpIHtcbiAgICAgICAgICBjb25zdCBwcmV2VGFiID0gdGhpcy5fc2VsZWN0ZWRUYWI7XG5cbiAgICAgICAgICBpZiAocHJldlRhYikge1xuICAgICAgICAgICAgcHJldlRhYi50YWJHcm91cEFjdGlvbnM/LmRlYWN0aXZhdGUoKTtcbiAgICAgICAgICAgIHRoaXMuX3RhYkNvbnRlbnRSZXNpemVPYnNlcnZlci51bm9ic2VydmUocHJldlRhYi5yZWxhdGVkQ29udGVudCEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRhYi50YWJHcm91cEFjdGlvbnM/LmFjdGl2YXRlKCk7XG4gICAgICAgICAgdGhpcy5fc2VsZWN0ZWRUYWIgPSB0YWI7XG5cbiAgICAgICAgICB0aGlzLl90YWJDb250ZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0YWIucmVsYXRlZENvbnRlbnQhKTtcbiAgICAgICAgICBjb25zdCB0YWJzID0gdGhpcy5fdGFicztcbiAgICAgICAgICB0aGlzLl9zZWxlY3RlZFRhYkNoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgICBhY3RpdmVJbmRleDogdGFicy5maW5kSW5kZXgoKGUpID0+IGUgPT09IHRhYiksXG4gICAgICAgICAgICBhY3RpdmVUYWJMYWJlbDogdGFiLFxuICAgICAgICAgICAgYWN0aXZlVGFiOiB0YWIucmVsYXRlZENvbnRlbnQgYXMgU2JiVGFiRWxlbWVudCxcbiAgICAgICAgICAgIHByZXZpb3VzSW5kZXg6IHRhYnMuZmluZEluZGV4KChlKSA9PiBlID09PSBwcmV2VGFiKSxcbiAgICAgICAgICAgIHByZXZpb3VzVGFiTGFiZWw6IHByZXZUYWIsXG4gICAgICAgICAgICBwcmV2aW91c1RhYjogcHJldlRhYj8ucmVsYXRlZENvbnRlbnQgYXMgU2JiVGFiRWxlbWVudCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChpbXBvcnQubWV0YS5lbnYuREVWICYmIHRhYi5kaXNhYmxlZCkge1xuICAgICAgICAgIGNvbnNvbGUud2FybignWW91IGNhbm5vdCBhY3RpdmF0ZSBhIGRpc2FibGVkIHRhYicpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH07XG4gICAgaWYgKFxuICAgICAgdGFiLm5leHRFbGVtZW50U2libGluZz8ubG9jYWxOYW1lICYmXG4gICAgICBTVVBQT1JURURfQ09OVEVOVF9XUkFQUEVSUy5pbmNsdWRlcyh0YWIubmV4dEVsZW1lbnRTaWJsaW5nPy5sb2NhbE5hbWUpXG4gICAgKSB7XG4gICAgICB0YWIucmVsYXRlZENvbnRlbnQgPSB0YWIubmV4dEVsZW1lbnRTaWJsaW5nIGFzIFNiYlRhYlN1cHBvcnRlZENvbnRlbnRUeXBlO1xuICAgICAgdGFiLnJlbGF0ZWRDb250ZW50LmlkID0gdGhpcy5fYXNzaWduSWQoKTtcbiAgICAgIGlmICh0YWIucmVsYXRlZENvbnRlbnQgaW5zdGFuY2VvZiBTYmJUYWJFbGVtZW50KSB7XG4gICAgICAgIHRhYi5yZWxhdGVkQ29udGVudC50YWJJbmRleCA9IDA7XG4gICAgICAgIHRhYi5yZWxhdGVkQ29udGVudC5jb25maWd1cmUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYpIHtcbiAgICAgIHRhYi5pbnNlcnRBZGphY2VudEhUTUwoJ2FmdGVyZW5kJywgJzxzYmItdGFiPk5vIGNvbnRlbnQuPC9zYmItdGFiPicpO1xuICAgICAgdGFiLnJlbGF0ZWRDb250ZW50ID0gdGFiLm5leHRFbGVtZW50U2libGluZyBhcyBTYmJUYWJTdXBwb3J0ZWRDb250ZW50VHlwZTtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYE1pc3NpbmcgY29udGVudDogeW91IHNob3VsZCBwcm92aWRlIGEgcmVsYXRlZCBjb250ZW50IGZvciB0aGUgdGFiICR7dGFiLm91dGVySFRNTH0uYCxcbiAgICAgICk7XG4gICAgfVxuICAgIHRhYi50YWJJbmRleCA9IC0xO1xuICAgIHRhYi5kaXNhYmxlZCA9IHRhYi5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJyk7XG4gICAgdGFiLmFjdGl2ZSA9IHRhYi5oYXNBdHRyaWJ1dGUoJ2FjdGl2ZScpICYmICF0YWIuZGlzYWJsZWQ7XG4gICAgdGFiLnNldEF0dHJpYnV0ZSgncm9sZScsICd0YWInKTtcbiAgICB0YWIuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgJ2ZhbHNlJyk7XG4gICAgdGFiLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgdGFiLnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gICAgfSk7XG4gICAgaWYgKHRhYi5yZWxhdGVkQ29udGVudCkge1xuICAgICAgdGFiLnNldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycsIHRhYi5yZWxhdGVkQ29udGVudC5pZCk7XG4gICAgICB0YWIucmVsYXRlZENvbnRlbnQuc2V0QXR0cmlidXRlKCdyb2xlJywgJ3RhYnBhbmVsJyk7XG4gICAgICB0YWIucmVsYXRlZENvbnRlbnQudG9nZ2xlQXR0cmlidXRlKCdhY3RpdmUnLCB0YWIuYWN0aXZlKTtcbiAgICB9XG5cbiAgICB0aGlzLl90YWJBdHRyaWJ1dGVPYnNlcnZlci5vYnNlcnZlKHRhYiwgdGFiT2JzZXJ2ZXJDb25maWcpO1xuICAgIHRhYi5zbG90ID0gJ3RhYi1iYXInO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkVGFiczogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWJbXSA9IHRoaXMuX2VuYWJsZWRUYWJzO1xuXG4gICAgaWYgKFxuICAgICAgIWVuYWJsZWRUYWJzIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJiAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcylcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgY29uc3QgY3VycmVudDogbnVtYmVyID0gZW5hYmxlZFRhYnMuZmluZEluZGV4KCh0OiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYikgPT4gdC5hY3RpdmUpO1xuICAgICAgY29uc3QgbmV4dEluZGV4OiBudW1iZXIgPSBnZXROZXh0RWxlbWVudEluZGV4KGV2dCwgY3VycmVudCwgZW5hYmxlZFRhYnMubGVuZ3RoKTtcbiAgICAgIGVuYWJsZWRUYWJzW25leHRJbmRleF0/LnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gICAgICBlbmFibGVkVGFic1tuZXh0SW5kZXhdPy5mb2N1cygpO1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidGFiLWdyb3VwXCJcbiAgICAgICAgcm9sZT1cInRhYmxpc3RcIlxuICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fdGFiR3JvdXBFbGVtZW50ID0gZWwgYXMgSFRNTEVsZW1lbnQpKX1cbiAgICAgID5cbiAgICAgICAgPHNsb3QgbmFtZT1cInRhYi1iYXJcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX29uVGFic1Nsb3RDaGFuZ2V9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwidGFiLWNvbnRlbnRcIj5cbiAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aHJvdHRsZSh0aGlzLl9vbkNvbnRlbnRTbG90Q2hhbmdlLCAxNTApfT48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGFiLWdyb3VwJzogU2JiVGFiR3JvdXBFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiX2EiLCJfYiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMENBLE1BQU0sb0JBQTBDO0FBQUEsRUFDOUMsaUJBQWlCLENBQUMsVUFBVSxVQUFVO0FBQ3hDO0FBRUEsTUFBTSw2QkFBNkIsQ0FBQyxXQUFXLGVBQWU7QUFFOUQsSUFBSSxTQUFTO0FBWUEsSUFBQSxxQkFBTixjQUFpQyxXQUFXO0FBQUEsRUFBNUMsY0FBQTtBQUFBLFVBQUEsR0FBQSxTQUFBO0FBTUwsU0FBUSxRQUFtQztBQUluQyxTQUFBLFNBQVMsSUFBSSw0QkFBNEIsSUFBSTtBQUNyRCxTQUFRLHdCQUF3QixJQUFJO0FBQUEsTUFBeUIsQ0FBQyxrQkFDNUQsS0FBSyx1QkFBdUIsYUFBYTtBQUFBLElBQUE7QUFFM0MsU0FBUSwwQkFBMEIsSUFBSTtBQUFBLE1BQXVCLENBQUMsWUFDNUQsS0FBSyx5QkFBeUIsT0FBTztBQUFBLElBQUE7QUFFdkMsU0FBUSw0QkFBNEIsSUFBSTtBQUFBLE1BQXVCLENBQUMsWUFDOUQsS0FBSywyQkFBMkIsT0FBTztBQUFBLElBQUE7QUFZekMsU0FBUSxRQUF5QztBQU1nQixTQUFPLHVCQUF1QjtBQVMvRixTQUFRLHNCQUErRCxJQUFJO0FBQUEsTUFDekU7QUFBQSxNQUNBLG1CQUFtQixPQUFPO0FBQUEsSUFBQTtBQTRENUIsU0FBUSx1QkFBdUIsTUFBWTtBQUN6QyxXQUFLLHFCQUFxQixLQUFLLFdBQVksY0FBYyxpQkFBaUI7QUFDMUUsWUFBTSxhQUFhLEtBQUssU0FBUyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxNQUFNLFNBQVMsR0FBRyxDQUFDO0FBRzVFLFVBQUksV0FBVyxRQUFRO0FBQ3JCLG1CQUFXLFFBQVEsQ0FBQyxRQUFRLEtBQUssV0FBVyxHQUFHLENBQUM7QUFDaEQsYUFBSyxRQUFRLEtBQUssTUFBTSxPQUFPLFVBQVU7QUFBQSxNQUMzQztBQUFBLElBQUE7QUFHRixTQUFRLG9CQUFvQixNQUFZO0FBQ2hDLFlBQUEsT0FBTyxLQUFLO0FBR2xCLFVBQUksS0FBSyxTQUFTLEtBQUssTUFBTSxRQUFRO0FBQzdCLGNBQUEsY0FBYyxLQUFLLE1BQU0sT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLFNBQVMsR0FBRyxDQUFDO0FBRXRELG9CQUFBLFFBQVEsQ0FBQyxlQUFlOztBQUNsQywyQkFBVyxtQkFBWCxtQkFBMkI7QUFBQSxRQUFPLENBQ25DO0FBQ0QsYUFBSyxRQUFRO0FBQUEsTUFDZjtBQUNLLFdBQUEsTUFBTSxRQUFRLENBQUMsUUFBaUMsSUFBSSxhQUFhLGFBQWEsS0FBSyxJQUFJLENBQUM7QUFBQSxJQUFBO0FBQUEsRUFDL0Y7QUFBQSxFQTVHQSxJQUFXLEtBQUssT0FBd0M7QUFDdEQsU0FBSyxRQUFRO0FBQ2IsU0FBSyxZQUFZO0FBQUEsRUFDbkI7QUFBQSxFQUNBLElBQVcsT0FBd0M7QUFDakQsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBLEVBU1EsY0FBb0I7QUFDZixlQUFBLE9BQU8sS0FBSyxPQUFPO0FBQ3hCLFVBQUEsYUFBYSxhQUFhLEtBQUssSUFBSTtBQUFBLElBQ3pDO0FBQUEsRUFDRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFZTyxXQUFXLFVBQXdCOztBQUN4QyxxQkFBSyxNQUFNLFFBQVEsTUFBbkIsbUJBQXNCLG9CQUF0QixtQkFBdUM7QUFBQSxFQUN6QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNTyxVQUFVLFVBQXdCOztBQUN2QyxxQkFBSyxNQUFNLFFBQVEsTUFBbkIsbUJBQXNCLG9CQUF0QixtQkFBdUM7QUFBQSxFQUN6QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNTyxZQUFZLFVBQXdCOztBQUN6QyxxQkFBSyxNQUFNLFFBQVEsTUFBbkIsbUJBQXNCLG9CQUF0QixtQkFBdUM7QUFBQSxFQUN6QztBQUFBLEVBRVEsV0FBc0M7QUFDNUMsV0FBTyxNQUFNLEtBQUssS0FBSyxZQUFZLENBQUEsQ0FBRSxFQUFFO0FBQUEsTUFBTyxDQUFDLFVBQzdDLG1CQUFtQixLQUFLLE1BQU0sU0FBUztBQUFBLElBQUE7QUFBQSxFQUUzQztBQUFBLEVBRUEsSUFBWSxlQUEwQztBQUM3QyxXQUFBLEtBQUssTUFBTSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsYUFBYSxVQUFVLENBQUM7QUFBQSxFQUM3RDtBQUFBLEVBRWdCLG9CQUEwQjs7QUFDeEMsVUFBTSxrQkFBa0I7QUFDbEIsVUFBQSxTQUFTLEtBQUssT0FBTztBQUN0QixTQUFBLGlCQUFpQixXQUFXLENBQUMsTUFBTSxLQUFLLGVBQWUsQ0FBQyxHQUFHLEVBQUUsT0FBQSxDQUFRO0FBQ3JFLFNBQUEsZ0JBQWdCLGVBQWUsQ0FBQyxHQUFDLFVBQUssa0JBQUwsbUJBQW9CLFFBQVEsaUJBQWdCO0FBQUEsRUFDcEY7QUFBQSxFQUVtQixhQUFhLG1CQUErQztBQUM3RSxVQUFNLGFBQWEsaUJBQWlCO0FBRS9CLFNBQUEsUUFBUSxLQUFLO0FBQ2xCLFNBQUssTUFBTSxRQUFRLENBQUMsUUFBUSxLQUFLLFdBQVcsR0FBRyxDQUFDO0FBQ2hELFNBQUssZUFBZTtBQUNmLFNBQUEsd0JBQXdCLFFBQVEsS0FBSyxnQkFBZ0I7QUFBQSxFQUM1RDtBQUFBLEVBRWdCLHVCQUE2QjtBQUMzQyxVQUFNLHFCQUFxQjtBQUMzQixTQUFLLHNCQUFzQjtBQUMzQixTQUFLLDBCQUEwQjtBQUMvQixTQUFLLHdCQUF3QjtFQUMvQjtBQUFBLEVBNEJRLFlBQW9CO0FBQ25CLFdBQUEsaUJBQWlCLEVBQUUsTUFBTTtBQUFBLEVBQ2xDO0FBQUEsRUFFUSxpQkFBdUI7O0FBQzdCLFFBQ0UsS0FBSyx3QkFBd0IsS0FDN0IsS0FBSyx1QkFBdUIsS0FBSyxNQUFNLFVBQ3ZDLENBQUMsS0FBSyxNQUFNLEtBQUssb0JBQW9CLEVBQUUsVUFDdkM7QUFDQSxpQkFBSyxNQUFNLEtBQUssb0JBQW9CLEVBQUUsb0JBQXRDLG1CQUF1RDtBQUFBLElBQU8sT0FDekQ7QUFDTCx1QkFBSyxhQUFhLENBQUMsTUFBbkIsbUJBQXNCLG9CQUF0QixtQkFBdUM7QUFBQSxJQUN6QztBQUFBLEVBQ0Y7QUFBQSxFQUVRLHVCQUF1QixlQUF1Qzs7QUFDcEUsZUFBVyxZQUFZLGVBQWU7QUFDaEMsVUFBQSxTQUFTLFNBQVMsY0FBYztBQUNsQztBQUFBLE1BQ0Y7QUFDQSxZQUFNLE1BQU0sU0FBUztBQUVqQixVQUFBLFNBQVMsa0JBQWtCLFlBQVk7QUFDekMsWUFBSSxJQUFJLGFBQWEsVUFBVSxLQUFLLFFBQVEsS0FBSyxjQUFjO0FBQzdELG9CQUFJLG9CQUFKLG1CQUFxQjtBQUFBLFFBQVEsV0FDcEIsSUFBSSxVQUFVO0FBQ3ZCLG9CQUFJLG9CQUFKLG1CQUFxQjtBQUFBLFFBQ3ZCO0FBQUEsTUFDRjtBQUNJLFVBQUEsU0FBUyxrQkFBa0IsVUFBVTtBQUN2QyxZQUFJLElBQUksYUFBYSxRQUFRLEtBQUssQ0FBQyxJQUFJLFVBQVU7QUFDL0Msb0JBQUksb0JBQUosbUJBQXFCO0FBQUEsUUFBTyxXQUNuQixRQUFRLEtBQUssY0FBYztBQUNoQyxjQUFBLGdCQUFnQixVQUFVLElBQUk7QUFBQSxRQUNwQztBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUFBLEVBRVEseUJBQXlCLFNBQXNDO0FBQ3JFLGVBQVcsU0FBUyxTQUFTO0FBQzNCLFlBQU0sWUFDSixNQUFNLE9BQU8sa0JBQ2IsaUJBQWlCO0FBRW5CLGlCQUFXLE9BQU8sV0FBVztBQUN2QixZQUFBO0FBQUEsVUFDRjtBQUFBLFVBQ0EsUUFBUSxVQUFVLENBQUMsS0FBSyxJQUFJLGVBQWUsVUFBVSxDQUFDLEVBQUU7QUFBQSxRQUFBO0FBRTFELGFBQUssTUFBTSxZQUFZLHlCQUF5QixHQUFHLEtBQUssaUJBQWlCLFdBQVcsSUFBSTtBQUFBLE1BQzFGO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFBQSxFQUVRLDJCQUEyQixTQUFzQztBQUN2RSxlQUFXLFNBQVMsU0FBUztBQUMzQixZQUFNLGdCQUFnQixLQUFLLE1BQU0sTUFBTSxZQUFZLE1BQU07QUFFeEQsV0FBSyxtQkFBbUMsTUFBTSxTQUFTLEdBQUcsYUFBYTtBQUFBLElBQzFFO0FBQUEsRUFDRjtBQUFBLEVBRVEsV0FBVyxLQUFvQzs7QUFDckQsUUFBSSxrQkFBa0I7QUFBQSxNQUNwQixVQUFVLE1BQVk7O0FBQ2hCLFlBQUEsZ0JBQWdCLFVBQVUsSUFBSTtBQUNsQyxZQUFJLFNBQVM7QUFDYixZQUFJLFdBQVc7QUFDWCxZQUFBLGFBQWEsaUJBQWlCLE1BQU07QUFDcEMsU0FBQUEsTUFBQSxJQUFBLG1CQUFBLGdCQUFBQSxJQUFnQixnQkFBZ0IsVUFBVTtBQUFBLE1BQ2hEO0FBQUEsTUFDQSxZQUFZLE1BQVk7O0FBQ3RCLFlBQUksZ0JBQWdCLFFBQVE7QUFDNUIsWUFBSSxTQUFTO0FBQ2IsWUFBSSxXQUFXO0FBQ1gsWUFBQSxhQUFhLGlCQUFpQixPQUFPO0FBQ3JDLFNBQUFBLE1BQUEsSUFBQSxtQkFBQSxnQkFBQUEsSUFBZ0IsZ0JBQWdCO0FBQUEsTUFDdEM7QUFBQSxNQUNBLFNBQVMsTUFBWTs7QUFDbkIsWUFBSSxJQUFJLFVBQVU7QUFDaEI7QUFBQSxRQUNGO0FBQ0EsWUFBSSxDQUFDLElBQUksYUFBYSxVQUFVLEdBQUc7QUFDN0IsY0FBQSxnQkFBZ0IsWUFBWSxJQUFJO0FBQUEsUUFDdEM7QUFDQSxZQUFJLFdBQVc7QUFDZixZQUFJLFdBQVc7QUFDWCxZQUFBLGFBQWEsaUJBQWlCLE9BQU87QUFDckMsU0FBQUEsTUFBQSxJQUFBLG1CQUFBLGdCQUFBQSxJQUFnQixnQkFBZ0I7QUFDcEMsWUFBSSxJQUFJLFFBQVE7QUFDZCxjQUFJLGdCQUFnQixRQUFRO0FBQzVCLGNBQUksU0FBUztBQUNiLGlCQUFBQyxNQUFBLEtBQUssYUFBYSxDQUFDLE1BQW5CLGdCQUFBQSxJQUFzQixvQkFBdEIsbUJBQXVDO0FBQUEsUUFDekM7QUFBQSxNQUNGO0FBQUEsTUFDQSxRQUFRLE1BQVk7QUFDbEIsWUFBSSxJQUFJLFVBQVU7QUFDaEIsY0FBSSxnQkFBZ0IsVUFBVTtBQUM5QixjQUFJLFdBQVc7QUFBQSxRQUNqQjtBQUFBLE1BQ0Y7QUFBQSxNQUNBLFFBQVEsTUFBWTs7QUFDbEIsWUFBSSxRQUFRLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxVQUFVO0FBQzlDLGdCQUFNLFVBQVUsS0FBSztBQUVyQixjQUFJLFNBQVM7QUFDWCxhQUFBRCxNQUFBLFFBQVEsb0JBQVIsZ0JBQUFBLElBQXlCO0FBQ3BCLGlCQUFBLDBCQUEwQixVQUFVLFFBQVEsY0FBZTtBQUFBLFVBQ2xFO0FBRUEsV0FBQUMsTUFBQSxJQUFJLG9CQUFKLGdCQUFBQSxJQUFxQjtBQUNyQixlQUFLLGVBQWU7QUFFZixlQUFBLDBCQUEwQixRQUFRLElBQUksY0FBZTtBQUMxRCxnQkFBTSxPQUFPLEtBQUs7QUFDbEIsZUFBSyxvQkFBb0IsS0FBSztBQUFBLFlBQzVCLGFBQWEsS0FBSyxVQUFVLENBQUMsTUFBTSxNQUFNLEdBQUc7QUFBQSxZQUM1QyxnQkFBZ0I7QUFBQSxZQUNoQixXQUFXLElBQUk7QUFBQSxZQUNmLGVBQWUsS0FBSyxVQUFVLENBQUMsTUFBTSxNQUFNLE9BQU87QUFBQSxZQUNsRCxrQkFBa0I7QUFBQSxZQUNsQixhQUFhLG1DQUFTO0FBQUEsVUFBQSxDQUN2QjtBQUFBLFFBQUEsV0FDK0IsSUFBSSxVQUFVO0FBQzlDLGtCQUFRLEtBQUssb0NBQW9DO0FBQUEsUUFDbkQ7QUFBQSxNQUNGO0FBQUEsSUFBQTtBQUdBLFVBQUEsU0FBSSx1QkFBSixtQkFBd0IsY0FDeEIsMkJBQTJCLFVBQVMsU0FBSSx1QkFBSixtQkFBd0IsU0FBUyxHQUNyRTtBQUNBLFVBQUksaUJBQWlCLElBQUk7QUFDckIsVUFBQSxlQUFlLEtBQUssS0FBSyxVQUFVO0FBQ25DLFVBQUEsSUFBSSwwQkFBMEIsZUFBZTtBQUMvQyxZQUFJLGVBQWUsV0FBVztBQUM5QixZQUFJLGVBQWU7TUFDckI7QUFBQSxJQUFBLE9BQzhCO0FBQzFCLFVBQUEsbUJBQW1CLFlBQVksZ0NBQWdDO0FBQ25FLFVBQUksaUJBQWlCLElBQUk7QUFDakIsY0FBQTtBQUFBLFFBQ04scUVBQXFFLElBQUksU0FBUztBQUFBLE1BQUE7QUFBQSxJQUV0RjtBQUNBLFFBQUksV0FBVztBQUNYLFFBQUEsV0FBVyxJQUFJLGFBQWEsVUFBVTtBQUMxQyxRQUFJLFNBQVMsSUFBSSxhQUFhLFFBQVEsS0FBSyxDQUFDLElBQUk7QUFDNUMsUUFBQSxhQUFhLFFBQVEsS0FBSztBQUMxQixRQUFBLGFBQWEsaUJBQWlCLE9BQU87QUFDckMsUUFBQSxpQkFBaUIsU0FBUyxNQUFNOztBQUNsQyxPQUFBRCxNQUFBLElBQUksb0JBQUosZ0JBQUFBLElBQXFCO0FBQUEsSUFBTyxDQUM3QjtBQUNELFFBQUksSUFBSSxnQkFBZ0I7QUFDdEIsVUFBSSxhQUFhLGlCQUFpQixJQUFJLGVBQWUsRUFBRTtBQUNuRCxVQUFBLGVBQWUsYUFBYSxRQUFRLFVBQVU7QUFDbEQsVUFBSSxlQUFlLGdCQUFnQixVQUFVLElBQUksTUFBTTtBQUFBLElBQ3pEO0FBRUssU0FBQSxzQkFBc0IsUUFBUSxLQUFLLGlCQUFpQjtBQUN6RCxRQUFJLE9BQU87QUFBQSxFQUNiO0FBQUEsRUFFUSxlQUFlLEtBQTBCOztBQUMvQyxVQUFNLGNBQXlDLEtBQUs7QUFFcEQsUUFDRSxDQUFDO0FBQUEsSUFFQyxJQUFJLFdBQTJCLFFBQVMsSUFBSSxPQUF1QixrQkFBa0IsTUFDdkY7QUFDQTtBQUFBLElBQ0Y7QUFFSSxRQUFBLGtCQUFrQixHQUFHLEdBQUc7QUFDMUIsWUFBTSxVQUFrQixZQUFZLFVBQVUsQ0FBQyxNQUErQixFQUFFLE1BQU07QUFDdEYsWUFBTSxZQUFvQixvQkFBb0IsS0FBSyxTQUFTLFlBQVksTUFBTTtBQUNsRSw4QkFBQSxTQUFTLE1BQVQsbUJBQVksb0JBQVosbUJBQTZCO0FBQzdCLHdCQUFBLFNBQVMsTUFBVCxtQkFBWTtBQUN4QixVQUFJLGVBQWU7QUFBQSxJQUNyQjtBQUFBLEVBQ0Y7QUFBQSxFQUVtQixTQUF5QjtBQUNuQyxXQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsVUFJRCxJQUFJLENBQUMsT0FBa0IsS0FBSyxtQkFBbUIsRUFBa0IsQ0FBQztBQUFBO0FBQUEsMkNBRWpDLEtBQUssaUJBQWlCO0FBQUE7QUFBQTtBQUFBO0FBQUEsNEJBSXJDLFNBQVMsS0FBSyxzQkFBc0IsR0FBRyxDQUFDO0FBQUE7QUFBQTtBQUFBLEVBR2xFO0FBQ0Y7QUE3VWEsbUJBQ1ksU0FBeUI7QUFEckMsbUJBRVksU0FBUztBQUFBLEVBQzlCLFdBQVc7QUFDYjtBQW1CVyxnQkFBQTtBQUFBLEVBRFYsU0FBUztBQUFBLEdBdEJDLG1CQXVCQSxXQUFBLFFBQUEsQ0FBQTtBQWE2RCxnQkFBQTtBQUFBLEVBQXZFLFNBQVMsRUFBRSxXQUFXLDBCQUEwQixNQUFNLFFBQVE7QUFBQSxHQXBDcEQsbUJBb0M2RCxXQUFBLHdCQUFBLENBQUE7QUFwQzdELHFCQUFOLGdCQUFBO0FBQUEsRUFETixjQUFjLGVBQWU7QUFBQSxHQUNqQixrQkFBQTsifQ==
@@ -1,7 +1,7 @@
1
1
  import { CSSResultGroup, TemplateResult, LitElement } from 'lit';
2
2
  import { SbbTitleLevel } from '../../title.js';
3
3
 
4
- declare const SbbTabTitleElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../icon.js').SbbIconNameMixinType> & typeof LitElement;
4
+ declare const SbbTabLabelElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../icon.js').SbbIconNameMixinType> & typeof LitElement;
5
5
  /**
6
6
  * Combined with a `sbb-tab-group`, it displays a tab's title.
7
7
  *
@@ -9,7 +9,7 @@ declare const SbbTabTitleElement_base: import('../../core/mixins.js').AbstractCo
9
9
  * @slot icon - Use this slot to display an icon to the left of the title, by providing the `sbb-icon` component.
10
10
  * @slot amount - Provide a number to show an amount to the right of the title.
11
11
  */
12
- export declare class SbbTabTitleElement extends SbbTabTitleElement_base {
12
+ export declare class SbbTabLabelElement extends SbbTabLabelElement_base {
13
13
  static styles: CSSResultGroup;
14
14
  /**
15
15
  * The level will correspond to the heading tag generated in the title.
@@ -25,8 +25,8 @@ export declare class SbbTabTitleElement extends SbbTabTitleElement_base {
25
25
  }
26
26
  declare global {
27
27
  interface HTMLElementTagNameMap {
28
- 'sbb-tab-title': SbbTabTitleElement;
28
+ 'sbb-tab-label': SbbTabLabelElement;
29
29
  }
30
30
  }
31
31
  export {};
32
- //# sourceMappingURL=tab-title.d.ts.map
32
+ //# sourceMappingURL=tab-label.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-title.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tabs/tab-title/tab-title.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAOjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;;AAIpD;;;;;;GAMG;AACH,qBACa,kBAAmB,SAAQ,uBAA8C;IACpF,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;OAGG;IACgB,KAAK,EAAE,aAAa,CAAO;IAE9C,uBAAuB;IAC4B,MAAM,CAAC,EAAE,OAAO,CAAC;IAEpE,uCAAuC;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;;cAOjC,MAAM,IAAI,cAAc;CAoB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,kBAAkB,CAAC;KACrC;CACF"}
1
+ {"version":3,"file":"tab-label.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tabs/tab-label/tab-label.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAOjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;;AAIpD;;;;;;GAMG;AACH,qBACa,kBAAmB,SAAQ,uBAA8C;IACpF,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;OAGG;IACgB,KAAK,EAAE,aAAa,CAAO;IAE9C,uBAAuB;IAC4B,MAAM,CAAC,EAAE,OAAO,CAAC;IAEpE,uCAAuC;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;;cAOjC,MAAM,IAAI,cAAc;CAoB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,kBAAkB,CAAC;KACrC;CACF"}
@@ -0,0 +1,2 @@
1
+ export * from './tab-label/tab-label.js';
2
+ //# sourceMappingURL=tab-label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-label.d.ts","sourceRoot":"","sources":["../../../../src/elements/tabs/tab-label.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
@@ -25,86 +25,86 @@ const style = css`/**
25
25
  }
26
26
 
27
27
  :host {
28
- --sbb-tab-title-height: var(--sbb-size-element-m);
29
- --sbb-tab-title-color: var(--sbb-color-granite);
30
- --sbb-tab-title-icon-color: var(--sbb-color-black);
31
- --sbb-tab-title-background-color: var(--sbb-color-white);
32
- --sbb-tab-title-cursor: pointer;
33
- --sbb-tab-title-pointer-events: unset;
34
- --sbb-tab-title-inset: 0;
35
- --sbb-tab-title-inline-padding: var(--sbb-spacing-responsive-xs);
36
- --sbb-tab-title-marker-transform: scale(0);
37
- --sbb-tab-title-text-decoration: none;
38
- --sbb-tab-title-animation-duration: var(
28
+ --sbb-tab-label-height: var(--sbb-size-element-m);
29
+ --sbb-tab-label-color: var(--sbb-color-granite);
30
+ --sbb-tab-label-icon-color: var(--sbb-color-black);
31
+ --sbb-tab-label-background-color: var(--sbb-color-white);
32
+ --sbb-tab-label-cursor: pointer;
33
+ --sbb-tab-label-pointer-events: unset;
34
+ --sbb-tab-label-inset: 0;
35
+ --sbb-tab-label-inline-padding: var(--sbb-spacing-responsive-xs);
36
+ --sbb-tab-label-marker-transform: scale(0);
37
+ --sbb-tab-label-text-decoration: none;
38
+ --sbb-tab-label-animation-duration: var(
39
39
  --sbb-disable-animation-zero-time,
40
40
  var(--sbb-animation-duration-2x)
41
41
  );
42
- --sbb-tab-title-animation-easing: var(--sbb-animation-easing);
43
- --sbb-tab-title-amount-color: var(--sbb-color-metal);
42
+ --sbb-tab-label-animation-easing: var(--sbb-animation-easing);
43
+ --sbb-tab-label-amount-color: var(--sbb-color-metal);
44
44
  display: inline-block;
45
45
  max-width: 100%;
46
- pointer-events: var(--sbb-tab-title-pointer-events);
46
+ pointer-events: var(--sbb-tab-label-pointer-events);
47
47
  -webkit-tap-highlight-color: transparent;
48
48
  outline: none !important;
49
49
  }
50
50
  @media (forced-colors: active) {
51
51
  :host {
52
- --sbb-tab-title-color: ButtonText;
53
- --sbb-tab-title-icon-color: ButtonText;
54
- --sbb-tab-title-amount-color: ButtonText;
52
+ --sbb-tab-label-color: ButtonText;
53
+ --sbb-tab-label-icon-color: ButtonText;
54
+ --sbb-tab-label-amount-color: ButtonText;
55
55
  }
56
56
  }
57
57
 
58
58
  :host([data-size=s]) {
59
- --sbb-tab-title-height: var(--sbb-size-element-xs);
60
- --sbb-tab-title-inline-padding: var(--sbb-spacing-responsive-xxxs);
59
+ --sbb-tab-label-height: var(--sbb-size-element-xs);
60
+ --sbb-tab-label-inline-padding: var(--sbb-spacing-responsive-xxxs);
61
61
  }
62
62
 
63
63
  :host([disabled]) {
64
- --sbb-tab-title-icon-color: var(--sbb-color-granite);
65
- --sbb-tab-title-background-color: var(--sbb-color-milk);
66
- --sbb-tab-title-cursor: unset;
67
- --sbb-tab-title-pointer-events: none;
68
- --sbb-tab-title-text-decoration: line-through;
64
+ --sbb-tab-label-icon-color: var(--sbb-color-granite);
65
+ --sbb-tab-label-background-color: var(--sbb-color-milk);
66
+ --sbb-tab-label-cursor: unset;
67
+ --sbb-tab-label-pointer-events: none;
68
+ --sbb-tab-label-text-decoration: line-through;
69
69
  }
70
70
  @media (forced-colors: active) {
71
71
  :host([disabled]) {
72
- --sbb-tab-title-color: GrayText;
73
- --sbb-tab-title-icon-color: GrayText;
74
- --sbb-tab-title-amount-color: GrayText;
72
+ --sbb-tab-label-color: GrayText;
73
+ --sbb-tab-label-icon-color: GrayText;
74
+ --sbb-tab-label-amount-color: GrayText;
75
75
  }
76
76
  }
77
77
 
78
78
  :host([active]:not([disabled])) {
79
- --sbb-tab-title-color: var(--sbb-color-charcoal);
80
- --sbb-tab-title-icon-color: var(--sbb-tab-title-color);
81
- --sbb-tab-title-background-color: var(--sbb-color-black);
82
- --sbb-tab-title-cursor: unset;
83
- --sbb-tab-title-pointer-events: none;
84
- --sbb-tab-title-marker-transform: scale(1);
79
+ --sbb-tab-label-color: var(--sbb-color-charcoal);
80
+ --sbb-tab-label-icon-color: var(--sbb-tab-label-color);
81
+ --sbb-tab-label-background-color: var(--sbb-color-black);
82
+ --sbb-tab-label-cursor: unset;
83
+ --sbb-tab-label-pointer-events: none;
84
+ --sbb-tab-label-marker-transform: scale(1);
85
85
  }
86
86
  @media (forced-colors: active) {
87
87
  :host([active]:not([disabled])) {
88
- --sbb-tab-title-color: ButtonText;
89
- --sbb-tab-title-icon-color: ButtonText;
90
- --sbb-tab-title-amount-color: ButtonText;
88
+ --sbb-tab-label-color: ButtonText;
89
+ --sbb-tab-label-icon-color: ButtonText;
90
+ --sbb-tab-label-amount-color: ButtonText;
91
91
  }
92
92
  }
93
93
 
94
94
  @media (any-hover: hover) {
95
95
  :host(:hover:not([disabled])) {
96
- --sbb-tab-title-marker-transform: scale(1);
96
+ --sbb-tab-label-marker-transform: scale(1);
97
97
  }
98
98
  }
99
99
 
100
100
  :host(:is([data-active], :active)) {
101
- --sbb-tab-title-color: var(--sbb-color-charcoal);
101
+ --sbb-tab-label-color: var(--sbb-color-charcoal);
102
102
  }
103
103
 
104
- .sbb-tab-title__wrapper {
104
+ .sbb-tab-label__wrapper {
105
105
  position: relative;
106
106
  }
107
- :host(:focus-visible:not([data-focus-origin=mouse], [data-focus-origin=touch])) .sbb-tab-title__wrapper::before {
107
+ :host(:focus-visible:not([data-focus-origin=mouse], [data-focus-origin=touch])) .sbb-tab-label__wrapper::before {
108
108
  content: "";
109
109
  position: absolute;
110
110
  display: block;
@@ -114,20 +114,20 @@ const style = css`/**
114
114
  z-index: 1;
115
115
  }
116
116
 
117
- .sbb-tab-title {
117
+ .sbb-tab-label {
118
118
  position: relative;
119
119
  margin: 0;
120
- min-height: var(--sbb-tab-title-height);
120
+ min-height: var(--sbb-tab-label-height);
121
121
  display: flex;
122
122
  align-items: center;
123
- padding-inline: var(--sbb-tab-title-inline-padding);
123
+ padding-inline: var(--sbb-tab-label-inline-padding);
124
124
  gap: var(--sbb-spacing-fixed-2x);
125
125
  user-select: none;
126
- cursor: var(--sbb-tab-title-cursor);
127
- transition: color var(--sbb-tab-title-animation-duration) var(--sbb-tab-title-animation-easing);
128
- color: var(--sbb-tab-title-icon-color);
126
+ cursor: var(--sbb-tab-label-cursor);
127
+ transition: color var(--sbb-tab-label-animation-duration) var(--sbb-tab-label-animation-easing);
128
+ color: var(--sbb-tab-label-icon-color);
129
129
  }
130
- :host([data-has-divider]) .sbb-tab-title::after {
130
+ :host([data-has-divider]) .sbb-tab-label::after {
131
131
  content: "";
132
132
  position: absolute;
133
133
  inset-inline-start: 0;
@@ -136,37 +136,37 @@ const style = css`/**
136
136
  height: var(--sbb-border-width-1x);
137
137
  background-color: var(--sbb-color-cloud);
138
138
  }
139
- .sbb-tab-title::before {
139
+ .sbb-tab-label::before {
140
140
  position: absolute;
141
141
  content: "";
142
142
  inset-inline: 0;
143
143
  inset-block-end: 0;
144
144
  height: 0.1875rem;
145
- background-color: var(--sbb-tab-title-color);
146
- transform: var(--sbb-tab-title-marker-transform);
147
- transition-duration: var(--sbb-tab-title-animation-duration);
148
- transition-timing-function: var(--sbb-tab-title-animation-easing);
145
+ background-color: var(--sbb-tab-label-color);
146
+ transform: var(--sbb-tab-label-marker-transform);
147
+ transition-duration: var(--sbb-tab-label-animation-duration);
148
+ transition-timing-function: var(--sbb-tab-label-animation-easing);
149
149
  transition-property: transform, background-color;
150
150
  z-index: 1;
151
151
  }
152
152
 
153
- .sbb-tab-title__icon,
154
- .sbb-tab-title__text,
155
- .sbb-tab-title__amount {
156
- text-decoration: var(--sbb-tab-title-text-decoration);
153
+ .sbb-tab-label__icon,
154
+ .sbb-tab-label__text,
155
+ .sbb-tab-label__amount {
156
+ text-decoration: var(--sbb-tab-label-text-decoration);
157
157
  }
158
158
 
159
- .sbb-tab-title__icon {
159
+ .sbb-tab-label__icon {
160
160
  display: flex;
161
161
  flex-shrink: 0;
162
- color: var(--sbb-tab-title-color);
163
- transition: color var(--sbb-tab-title-animation-duration) var(--sbb-tab-title-animation-easing);
162
+ color: var(--sbb-tab-label-color);
163
+ transition: color var(--sbb-tab-label-animation-duration) var(--sbb-tab-label-animation-easing);
164
164
  }
165
- :host(:not([data-slot-names~=icon], [icon-name])) .sbb-tab-title__icon {
165
+ :host(:not([data-slot-names~=icon], [icon-name])) .sbb-tab-label__icon {
166
166
  display: none;
167
167
  }
168
168
 
169
- .sbb-tab-title__text {
169
+ .sbb-tab-label__text {
170
170
  --sbb-text-font-size: var(--sbb-font-size-text-m);
171
171
  font-family: var(--sbb-typo-font-family);
172
172
  font-weight: normal;
@@ -179,10 +179,10 @@ const style = css`/**
179
179
  overflow: hidden;
180
180
  white-space: nowrap;
181
181
  text-overflow: ellipsis;
182
- color: var(--sbb-tab-title-color);
183
- transition: color var(--sbb-tab-title-animation-duration) var(--sbb-tab-title-animation-easing);
182
+ color: var(--sbb-tab-label-color);
183
+ transition: color var(--sbb-tab-label-animation-duration) var(--sbb-tab-label-animation-easing);
184
184
  }
185
- :host([data-size=s]) .sbb-tab-title__text {
185
+ :host([data-size=s]) .sbb-tab-label__text {
186
186
  --sbb-text-font-size: var(--sbb-font-size-text-s);
187
187
  font-family: var(--sbb-typo-font-family);
188
188
  font-weight: normal;
@@ -191,7 +191,7 @@ const style = css`/**
191
191
  font-size: var(--sbb-text-font-size);
192
192
  font-weight: bold;
193
193
  }
194
- :host([data-size=xl]) .sbb-tab-title__text {
194
+ :host([data-size=xl]) .sbb-tab-label__text {
195
195
  --sbb-text-font-size: var(--sbb-font-size-text-xl);
196
196
  font-family: var(--sbb-typo-font-family);
197
197
  font-weight: normal;
@@ -201,7 +201,7 @@ const style = css`/**
201
201
  font-weight: bold;
202
202
  }
203
203
 
204
- .sbb-tab-title__amount {
204
+ .sbb-tab-label__amount {
205
205
  --sbb-text-font-size: var(--sbb-font-size-text-m);
206
206
  font-family: var(--sbb-typo-font-family);
207
207
  font-weight: normal;
@@ -211,13 +211,13 @@ const style = css`/**
211
211
  -webkit-font-smoothing: antialiased;
212
212
  -moz-osx-font-smoothing: grayscale;
213
213
  display: flex;
214
- color: var(--sbb-tab-title-amount-color);
215
- transition: color var(--sbb-tab-title-animation-duration) var(--sbb-tab-title-animation-easing);
214
+ color: var(--sbb-tab-label-amount-color);
215
+ transition: color var(--sbb-tab-label-animation-duration) var(--sbb-tab-label-animation-easing);
216
216
  }
217
- :host(:not([data-slot-names~=amount], [amount])) .sbb-tab-title__amount {
217
+ :host(:not([data-slot-names~=amount], [amount])) .sbb-tab-label__amount {
218
218
  display: none;
219
219
  }
220
- :host([data-size=s]) .sbb-tab-title__amount {
220
+ :host([data-size=s]) .sbb-tab-label__amount {
221
221
  --sbb-text-font-size: var(--sbb-font-size-text-s);
222
222
  font-family: var(--sbb-typo-font-family);
223
223
  font-weight: normal;
@@ -225,7 +225,7 @@ const style = css`/**
225
225
  letter-spacing: var(--sbb-typo-letter-spacing-body-text);
226
226
  font-size: var(--sbb-text-font-size);
227
227
  }
228
- :host([data-size=xl]) .sbb-tab-title__amount {
228
+ :host([data-size=xl]) .sbb-tab-label__amount {
229
229
  --sbb-text-font-size: var(--sbb-font-size-text-xl);
230
230
  font-family: var(--sbb-typo-font-family);
231
231
  font-weight: normal;
@@ -243,7 +243,7 @@ var __decorateClass = (decorators, target, key, kind) => {
243
243
  if (kind && result) __defProp(target, key, result);
244
244
  return result;
245
245
  };
246
- let SbbTabTitleElement = class extends SbbDisabledMixin(SbbIconNameMixin(LitElement)) {
246
+ let SbbTabLabelElement = class extends SbbDisabledMixin(SbbIconNameMixin(LitElement)) {
247
247
  constructor() {
248
248
  super();
249
249
  this.level = "1";
@@ -252,15 +252,15 @@ let SbbTabTitleElement = class extends SbbDisabledMixin(SbbIconNameMixin(LitElem
252
252
  render() {
253
253
  const TAGNAME = `h${Number(this.level) < 7 ? this.level : "1"}`;
254
254
  return html`
255
- <div class="sbb-tab-title__wrapper">
256
- <${unsafeStatic(TAGNAME)} class="sbb-tab-title">
257
- <span class="sbb-tab-title__icon">
255
+ <div class="sbb-tab-label__wrapper">
256
+ <${unsafeStatic(TAGNAME)} class="sbb-tab-label">
257
+ <span class="sbb-tab-label__icon">
258
258
  ${this.renderIconSlot()}
259
259
  </span>
260
- <span class="sbb-tab-title__text">
260
+ <span class="sbb-tab-label__text">
261
261
  <slot></slot>
262
262
  </span>
263
- <span class="sbb-tab-title__amount">
263
+ <span class="sbb-tab-label__amount">
264
264
  <slot name="amount">${this.amount}</slot>
265
265
  </span>
266
266
  </${unsafeStatic(TAGNAME)}>
@@ -268,20 +268,20 @@ let SbbTabTitleElement = class extends SbbDisabledMixin(SbbIconNameMixin(LitElem
268
268
  `;
269
269
  }
270
270
  };
271
- SbbTabTitleElement.styles = style;
271
+ SbbTabLabelElement.styles = style;
272
272
  __decorateClass([
273
273
  property()
274
- ], SbbTabTitleElement.prototype, "level", 2);
274
+ ], SbbTabLabelElement.prototype, "level", 2);
275
275
  __decorateClass([
276
276
  property({ reflect: true, type: Boolean })
277
- ], SbbTabTitleElement.prototype, "active", 2);
277
+ ], SbbTabLabelElement.prototype, "active", 2);
278
278
  __decorateClass([
279
279
  property({ reflect: true })
280
- ], SbbTabTitleElement.prototype, "amount", 2);
281
- SbbTabTitleElement = __decorateClass([
282
- customElement("sbb-tab-title")
283
- ], SbbTabTitleElement);
280
+ ], SbbTabLabelElement.prototype, "amount", 2);
281
+ SbbTabLabelElement = __decorateClass([
282
+ customElement("sbb-tab-label")
283
+ ], SbbTabLabelElement);
284
284
  export {
285
- SbbTabTitleElement
285
+ SbbTabLabelElement
286
286
  };
287
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXRpdGxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFicy90YWItdGl0bGUvdGFiLXRpdGxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sLCB1bnNhZmVTdGF0aWMgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBTYmJTbG90U3RhdGVDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiB9IGZyb20gJy4uLy4uL2ljb24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUaXRsZUxldmVsIH0gZnJvbSAnLi4vLi4vdGl0bGUuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90YWItdGl0bGUuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi10YWItZ3JvdXBgLCBpdCBkaXNwbGF5cyBhIHRhYidzIHRpdGxlLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIHRhYiB0aXRsZS5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyBzbG90IHRvIGRpc3BsYXkgYW4gaWNvbiB0byB0aGUgbGVmdCBvZiB0aGUgdGl0bGUsIGJ5IHByb3ZpZGluZyB0aGUgYHNiYi1pY29uYCBjb21wb25lbnQuXG4gKiBAc2xvdCBhbW91bnQgLSBQcm92aWRlIGEgbnVtYmVyIHRvIHNob3cgYW4gYW1vdW50IHRvIHRoZSByaWdodCBvZiB0aGUgdGl0bGUuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItdGFiLXRpdGxlJylcbmV4cG9ydCBjbGFzcyBTYmJUYWJUaXRsZUVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFNiYkljb25OYW1lTWl4aW4oTGl0RWxlbWVudCkpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqXG4gICAqIFRoZSBsZXZlbCB3aWxsIGNvcnJlc3BvbmQgdG8gdGhlIGhlYWRpbmcgdGFnIGdlbmVyYXRlZCBpbiB0aGUgdGl0bGUuXG4gICAqIFVzZSB0aGlzIHByb3BlcnR5IHRvIGdlbmVyYXRlIHRoZSBhcHByb3ByaWF0ZSBoZWFkZXIgdGFnLCB0YWtpbmcgU0VPIGludG8gY29uc2lkZXJhdGlvbi5cbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBsZXZlbDogU2JiVGl0bGVMZXZlbCA9ICcxJztcblxuICAvKiogQWN0aXZlIHRhYiBzdGF0ZSAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pIHB1YmxpYyBhY3RpdmU/OiBib29sZWFuO1xuXG4gIC8qKiBBbW91bnQgZGlzcGxheWVkIGluc2lkZSB0aGUgdGFiLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhbW91bnQ/OiBzdHJpbmc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgbmV3IFNiYlNsb3RTdGF0ZUNvbnRyb2xsZXIodGhpcyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBUQUdOQU1FID0gYGgke051bWJlcih0aGlzLmxldmVsKSA8IDcgPyB0aGlzLmxldmVsIDogJzEnfWA7XG5cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBsaXQvYmluZGluZy1wb3NpdGlvbnMgKi9cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdGFiLXRpdGxlX193cmFwcGVyXCI+XG4gICAgICAgIDwke3Vuc2FmZVN0YXRpYyhUQUdOQU1FKX0gY2xhc3M9XCJzYmItdGFiLXRpdGxlXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFiLXRpdGxlX19pY29uXCI+XG4gICAgICAgICAgICAke3RoaXMucmVuZGVySWNvblNsb3QoKX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFiLXRpdGxlX190ZXh0XCI+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRhYi10aXRsZV9fYW1vdW50XCI+XG4gICAgICAgICAgICA8c2xvdCBuYW1lPVwiYW1vdW50XCI+JHt0aGlzLmFtb3VudH08L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8LyR7dW5zYWZlU3RhdGljKFRBR05BTUUpfT5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10YWItdGl0bGUnOiBTYmJUYWJUaXRsZUVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CTyxJQUFNLHFCQUFOLGNBQWlDLGlCQUFpQixpQkFBaUIsVUFBVSxDQUFDLEVBQUU7QUFBQSxFQWU5RSxjQUFjO0FBQ2I7QUFUSSxTQUFPLFFBQXVCO0FBVXhDLFFBQUksdUJBQXVCLElBQUk7QUFBQSxFQUNqQztBQUFBLEVBRW1CLFNBQXlCO0FBQ3BDLFVBQUEsVUFBVSxJQUFJLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLFFBQVEsR0FBRztBQUd0RCxXQUFBO0FBQUE7QUFBQSxXQUVBLGFBQWEsT0FBTyxDQUFDO0FBQUE7QUFBQSxjQUVsQixLQUFLLGdCQUFnQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxrQ0FNRCxLQUFLLE1BQU07QUFBQTtBQUFBLFlBRWpDLGFBQWEsT0FBTyxDQUFDO0FBQUE7QUFBQTtBQUFBLEVBRy9CO0FBQ0Y7QUF4Q2EsbUJBQ1ksU0FBeUI7QUFNN0IsZ0JBQUE7QUFBQSxFQUFsQixTQUFTO0FBQUEsR0FQQyxtQkFPUSxXQUFBLFNBQUEsQ0FBQTtBQUdnQyxnQkFBQTtBQUFBLEVBQWxELFNBQVMsRUFBRSxTQUFTLE1BQU0sTUFBTSxTQUFTO0FBQUEsR0FWL0IsbUJBVXdDLFdBQUEsVUFBQSxDQUFBO0FBR2YsZ0JBQUE7QUFBQSxFQUFuQyxTQUFTLEVBQUUsU0FBUyxNQUFNO0FBQUEsR0FiaEIsbUJBYXlCLFdBQUEsVUFBQSxDQUFBO0FBYnpCLHFCQUFOLGdCQUFBO0FBQUEsRUFETixjQUFjLGVBQWU7QUFBQSxHQUNqQixrQkFBQTsifQ==
287
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWxhYmVsLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFicy90YWItbGFiZWwvdGFiLWxhYmVsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sLCB1bnNhZmVTdGF0aWMgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBTYmJTbG90U3RhdGVDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiB9IGZyb20gJy4uLy4uL2ljb24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUaXRsZUxldmVsIH0gZnJvbSAnLi4vLi4vdGl0bGUuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90YWItbGFiZWwuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi10YWItZ3JvdXBgLCBpdCBkaXNwbGF5cyBhIHRhYidzIHRpdGxlLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIHRhYiB0aXRsZS5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyBzbG90IHRvIGRpc3BsYXkgYW4gaWNvbiB0byB0aGUgbGVmdCBvZiB0aGUgdGl0bGUsIGJ5IHByb3ZpZGluZyB0aGUgYHNiYi1pY29uYCBjb21wb25lbnQuXG4gKiBAc2xvdCBhbW91bnQgLSBQcm92aWRlIGEgbnVtYmVyIHRvIHNob3cgYW4gYW1vdW50IHRvIHRoZSByaWdodCBvZiB0aGUgdGl0bGUuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItdGFiLWxhYmVsJylcbmV4cG9ydCBjbGFzcyBTYmJUYWJMYWJlbEVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFNiYkljb25OYW1lTWl4aW4oTGl0RWxlbWVudCkpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqXG4gICAqIFRoZSBsZXZlbCB3aWxsIGNvcnJlc3BvbmQgdG8gdGhlIGhlYWRpbmcgdGFnIGdlbmVyYXRlZCBpbiB0aGUgdGl0bGUuXG4gICAqIFVzZSB0aGlzIHByb3BlcnR5IHRvIGdlbmVyYXRlIHRoZSBhcHByb3ByaWF0ZSBoZWFkZXIgdGFnLCB0YWtpbmcgU0VPIGludG8gY29uc2lkZXJhdGlvbi5cbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBsZXZlbDogU2JiVGl0bGVMZXZlbCA9ICcxJztcblxuICAvKiogQWN0aXZlIHRhYiBzdGF0ZSAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pIHB1YmxpYyBhY3RpdmU/OiBib29sZWFuO1xuXG4gIC8qKiBBbW91bnQgZGlzcGxheWVkIGluc2lkZSB0aGUgdGFiLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhbW91bnQ/OiBzdHJpbmc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgbmV3IFNiYlNsb3RTdGF0ZUNvbnRyb2xsZXIodGhpcyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBUQUdOQU1FID0gYGgke051bWJlcih0aGlzLmxldmVsKSA8IDcgPyB0aGlzLmxldmVsIDogJzEnfWA7XG5cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBsaXQvYmluZGluZy1wb3NpdGlvbnMgKi9cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdGFiLWxhYmVsX193cmFwcGVyXCI+XG4gICAgICAgIDwke3Vuc2FmZVN0YXRpYyhUQUdOQU1FKX0gY2xhc3M9XCJzYmItdGFiLWxhYmVsXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFiLWxhYmVsX19pY29uXCI+XG4gICAgICAgICAgICAke3RoaXMucmVuZGVySWNvblNsb3QoKX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFiLWxhYmVsX190ZXh0XCI+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRhYi1sYWJlbF9fYW1vdW50XCI+XG4gICAgICAgICAgICA8c2xvdCBuYW1lPVwiYW1vdW50XCI+JHt0aGlzLmFtb3VudH08L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8LyR7dW5zYWZlU3RhdGljKFRBR05BTUUpfT5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10YWItbGFiZWwnOiBTYmJUYWJMYWJlbEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CTyxJQUFNLHFCQUFOLGNBQWlDLGlCQUFpQixpQkFBaUIsVUFBVSxDQUFDLEVBQUU7QUFBQSxFQWU5RSxjQUFjO0FBQ2I7QUFUSSxTQUFPLFFBQXVCO0FBVXhDLFFBQUksdUJBQXVCLElBQUk7QUFBQSxFQUNqQztBQUFBLEVBRW1CLFNBQXlCO0FBQ3BDLFVBQUEsVUFBVSxJQUFJLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLFFBQVEsR0FBRztBQUd0RCxXQUFBO0FBQUE7QUFBQSxXQUVBLGFBQWEsT0FBTyxDQUFDO0FBQUE7QUFBQSxjQUVsQixLQUFLLGdCQUFnQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxrQ0FNRCxLQUFLLE1BQU07QUFBQTtBQUFBLFlBRWpDLGFBQWEsT0FBTyxDQUFDO0FBQUE7QUFBQTtBQUFBLEVBRy9CO0FBQ0Y7QUF4Q2EsbUJBQ1ksU0FBeUI7QUFNN0IsZ0JBQUE7QUFBQSxFQUFsQixTQUFTO0FBQUEsR0FQQyxtQkFPUSxXQUFBLFNBQUEsQ0FBQTtBQUdnQyxnQkFBQTtBQUFBLEVBQWxELFNBQVMsRUFBRSxTQUFTLE1BQU0sTUFBTSxTQUFTO0FBQUEsR0FWL0IsbUJBVXdDLFdBQUEsVUFBQSxDQUFBO0FBR2YsZ0JBQUE7QUFBQSxFQUFuQyxTQUFTLEVBQUUsU0FBUyxNQUFNO0FBQUEsR0FiaEIsbUJBYXlCLFdBQUEsVUFBQSxDQUFBO0FBYnpCLHFCQUFOLGdCQUFBO0FBQUEsRUFETixjQUFjLGVBQWU7QUFBQSxHQUNqQixrQkFBQTsifQ==
@@ -0,0 +1,2 @@
1
+ export * from './tab/tab.js';
2
+ //# sourceMappingURL=tab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab.d.ts","sourceRoot":"","sources":["../../../../src/elements/tabs/tab.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}