@sbb-esta/lyne-elements 3.12.0 → 3.13.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 (153) hide show
  1. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +4 -4
  2. package/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  3. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts +1 -0
  4. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  5. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +4 -4
  6. package/button/common.js +1 -1
  7. package/button.js +1 -1
  8. package/calendar/calendar.component.d.ts +1 -0
  9. package/calendar/calendar.component.d.ts.map +1 -1
  10. package/calendar/calendar.component.js +126 -126
  11. package/card/common/card-action-common.d.ts.map +1 -1
  12. package/card/common/card-action-common.js +3 -8
  13. package/checkbox/common.js +1 -1
  14. package/checkbox-common-C5r-MPLc.js +5 -0
  15. package/checkbox.js +1 -1
  16. package/core/a11y/interactivity-checker.js +0 -7
  17. package/core/a11y/live-announcer.js +0 -7
  18. package/core/config/config.d.ts +5 -0
  19. package/core/config/config.d.ts.map +1 -1
  20. package/core/datetime/native-date-adapter.d.ts +1 -0
  21. package/core/datetime/native-date-adapter.d.ts.map +1 -1
  22. package/core/datetime/native-date-adapter.js +1 -1
  23. package/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  24. package/core/mixins/form-associated-input-mixin.js +55 -38
  25. package/core/mixins.js +2 -2
  26. package/core/styles/core.scss +4 -0
  27. package/core.css +2 -0
  28. package/custom-elements.json +244 -244
  29. package/date-input/date-input.component.d.ts +1 -0
  30. package/date-input/date-input.component.d.ts.map +1 -1
  31. package/date-input/date-input.component.js +2 -1
  32. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -2
  33. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  34. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts +1 -0
  35. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  36. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +3 -3
  37. package/development/button/common.js +1 -1
  38. package/development/button.js +1 -1
  39. package/development/calendar/calendar.component.d.ts +1 -0
  40. package/development/calendar/calendar.component.d.ts.map +1 -1
  41. package/development/calendar/calendar.component.js +4 -4
  42. package/development/card/common/card-action-common.d.ts.map +1 -1
  43. package/development/card/common/card-action-common.js +15 -8
  44. package/development/checkbox/common.js +1 -1
  45. package/development/{checkbox-common-Dy_ofVhp.js → checkbox-common-Cq9DLK37.js} +3 -3
  46. package/development/checkbox.js +1 -1
  47. package/development/core/a11y/interactivity-checker.js +1 -8
  48. package/development/core/a11y/live-announcer.js +1 -8
  49. package/development/core/config/config.d.ts +5 -0
  50. package/development/core/config/config.d.ts.map +1 -1
  51. package/development/core/config/config.js +1 -1
  52. package/development/core/datetime/native-date-adapter.d.ts +1 -0
  53. package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
  54. package/development/core/datetime/native-date-adapter.js +2 -2
  55. package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  56. package/development/core/mixins/form-associated-input-mixin.js +47 -12
  57. package/development/core/mixins.js +2 -2
  58. package/development/date-input/date-input.component.d.ts +1 -0
  59. package/development/date-input/date-input.component.d.ts.map +1 -1
  60. package/development/date-input/date-input.component.js +3 -2
  61. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +2 -2
  62. package/development/flip-card/flip-card/flip-card.component.js +2 -2
  63. package/development/form-field/form-field/form-field.component.js +1 -1
  64. package/development/header/common/header-action-common.js +1 -1
  65. package/development/{icon-sidebar-button-common-BGrKtvyM.js → icon-sidebar-button-common-CaOV-n8E.js} +2 -2
  66. package/development/link/common/block-link-common.js +1 -1
  67. package/development/link/common/inline-link-common.js +1 -1
  68. package/development/link/common/link-common.js +1 -1
  69. package/development/link/common.js +1 -1
  70. package/development/{link-common-BDFF9Oiz.js → link-common-B9KyXHCd.js} +3 -3
  71. package/development/link.js +1 -1
  72. package/development/menu/common/menu-action-common.js +4 -4
  73. package/development/navigation/common/navigation-action-common.js +1 -1
  74. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  75. package/development/option/optgroup/optgroup-base-element.js +2 -1
  76. package/development/option/option/option-base-element.js +2 -2
  77. package/development/option/option/option.component.js +2 -2
  78. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  79. package/development/paginator/common/paginator-common.js +7 -24
  80. package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  81. package/development/paginator/compact-paginator/compact-paginator.component.js +2 -3
  82. package/development/paginator/paginator/paginator.component.d.ts +0 -6
  83. package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
  84. package/development/paginator/paginator/paginator.component.js +6 -21
  85. package/development/popover/popover/popover.component.d.ts.map +1 -1
  86. package/development/popover/popover/popover.component.js +63 -13
  87. package/development/radio-button/common.js +1 -1
  88. package/development/{radio-button-common-CgM3kQSW.js → radio-button-common-DWGEcWfZ.js} +3 -3
  89. package/development/radio-button.js +1 -1
  90. package/development/select/select.component.d.ts +12 -8
  91. package/development/select/select.component.d.ts.map +1 -1
  92. package/development/select/select.component.js +101 -86
  93. package/development/sidebar/common.js +1 -1
  94. package/development/sidebar.js +1 -1
  95. package/development/stepper/step-label/step-label.component.js +1 -1
  96. package/development/tabs/tab-label/tab-label.component.js +1 -1
  97. package/development/tag/tag/tag.component.js +1 -1
  98. package/development/teaser/teaser.component.js +1 -1
  99. package/development/time-input/time-input.component.js +1 -1
  100. package/development/toggle/toggle-option/toggle-option.component.js +1 -1
  101. package/development/toggle-check/toggle-check.component.js +2 -2
  102. package/development/{transparent-button-DdSaBp_-.js → transparent-button-BUTXbd7W.js} +3 -3
  103. package/development/visual-checkbox/visual-checkbox.component.js +2 -2
  104. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +5 -5
  105. package/flip-card/flip-card/flip-card.component.js +8 -8
  106. package/form-field/form-field/form-field.component.js +1 -1
  107. package/header/common/header-action-common.js +1 -1
  108. package/{icon-sidebar-button-common-XcKoF2SP.js → icon-sidebar-button-common-D_doPv2r.js} +1 -1
  109. package/link/common/block-link-common.js +1 -1
  110. package/link/common/inline-link-common.js +1 -1
  111. package/link/common/link-common.js +1 -1
  112. package/link/common.js +1 -1
  113. package/{link-common-nA3q92jp.js → link-common-CfSIg7al.js} +8 -8
  114. package/link.js +1 -1
  115. package/menu/common/menu-action-common.js +8 -8
  116. package/navigation/common/navigation-action-common.js +1 -1
  117. package/off-brand-theme.css +2 -0
  118. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  119. package/option/optgroup/optgroup-base-element.js +5 -5
  120. package/option/option/option-base-element.js +1 -1
  121. package/option/option/option.component.js +18 -18
  122. package/package.json +1 -1
  123. package/paginator/common/paginator-common.d.ts.map +1 -1
  124. package/paginator/common/paginator-common.js +30 -46
  125. package/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  126. package/paginator/compact-paginator/compact-paginator.component.js +1 -2
  127. package/paginator/paginator/paginator.component.d.ts +0 -6
  128. package/paginator/paginator/paginator.component.d.ts.map +1 -1
  129. package/paginator/paginator/paginator.component.js +45 -57
  130. package/popover/popover/popover.component.d.ts.map +1 -1
  131. package/popover/popover/popover.component.js +72 -74
  132. package/radio-button/common.js +1 -1
  133. package/radio-button-common-BHR2tjCF.js +5 -0
  134. package/radio-button.js +1 -1
  135. package/safety-theme.css +2 -0
  136. package/select/select.component.d.ts +12 -8
  137. package/select/select.component.d.ts.map +1 -1
  138. package/select/select.component.js +136 -126
  139. package/sidebar/common.js +1 -1
  140. package/sidebar.js +1 -1
  141. package/standard-theme.css +2 -0
  142. package/stepper/step-label/step-label.component.js +4 -4
  143. package/tabs/tab-label/tab-label.component.js +1 -1
  144. package/tag/tag/tag.component.js +1 -1
  145. package/teaser/teaser.component.js +1 -1
  146. package/time-input/time-input.component.js +1 -1
  147. package/toggle/toggle-option/toggle-option.component.js +9 -9
  148. package/toggle-check/toggle-check.component.js +1 -1
  149. package/transparent-button-CBNZHS9a.js +9 -0
  150. package/visual-checkbox/visual-checkbox.component.js +18 -18
  151. package/checkbox-common-gjHkSAmN.js +0 -5
  152. package/radio-button-common-Bw2t3Sxz.js +0 -5
  153. package/transparent-button-DJIkG5hj.js +0 -9
@@ -16,7 +16,7 @@ const style = css`*,
16
16
  --sbb-menu-action-outer-horizontal-padding: var(--sbb-spacing-fixed-3x);
17
17
  --sbb-menu-action-outer-vertical-padding: var(--sbb-spacing-fixed-1x);
18
18
  --sbb-menu-action-gap: var(--sbb-spacing-fixed-2x);
19
- --sbb-menu-action-cursor: pointer;
19
+ --sbb-menu-action-cursor: var(--sbb-cursor-pointer);
20
20
  --sbb-menu-action-color: var(--sbb-color-2-inverted);
21
21
  --sbb-menu-action-forced-color-border-color: CanvasText;
22
22
  --sbb-menu-action-content-padding-inline: var(--sbb-spacing-fixed-2x);
@@ -33,12 +33,12 @@ const style = css`*,
33
33
  }
34
34
 
35
35
  :host(:is([disabled], :disabled, [disabled-interactive])) {
36
- --sbb-menu-action-cursor: default;
36
+ --sbb-menu-action-cursor: var(--sbb-cursor-default);
37
37
  --sbb-menu-action-color: var(--sbb-color-graphite);
38
38
  --sbb-menu-action-color: light-dark(var(--sbb-color-graphite), var(--sbb-color-granite));
39
39
  --sbb-menu-action-forced-color-border-color: GrayText;
40
40
  pointer-events: none;
41
- cursor: default;
41
+ cursor: var(--sbb-cursor-default);
42
42
  }
43
43
  @media (forced-colors: active) {
44
44
  :host(:is([disabled], :disabled, [disabled-interactive])) {
@@ -47,7 +47,7 @@ const style = css`*,
47
47
  }
48
48
 
49
49
  :host([data-sbb-menu-trigger]) {
50
- --sbb-menu-action-cursor: default;
50
+ --sbb-menu-action-cursor: var(--sbb-cursor-default);
51
51
  }
52
52
 
53
53
  @media (forced-colors: active) {
@@ -65,7 +65,7 @@ sbb-icon {
65
65
  line-height: var(--sbb-title-line-height, var(--sbb-typo-line-height-titles));
66
66
  letter-spacing: var(--sbb-typo-letter-spacing-titles);
67
67
  font-size: var(--sbb-title-font-size);
68
- cursor: pointer;
68
+ cursor: var(--sbb-cursor-pointer);
69
69
  position: relative;
70
70
  text-decoration: none;
71
71
  display: flex;
@@ -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,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"}
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;IASzB,OAAO,CAAC,yBAAyB;IAkBjC,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAMxC,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,iBAAiB;cAIN,MAAM,IAAI,cAAc;CAgB5C"}
@@ -149,6 +149,7 @@ let SbbOptgroupBaseElement = (() => {
149
149
  this.proxyDisabledToOptions();
150
150
  this._proxyGroupLabelToOptions();
151
151
  this._highlightOptions();
152
+ this.dispatchEvent(new Event("ɵoptgroupslotchange"));
152
153
  }
153
154
  _proxyGroupLabelToOptions() {
154
155
  if (!this._inertAriaGroups) {
@@ -220,4 +221,4 @@ let SbbOptgroupBaseElement = (() => {
220
221
  export {
221
222
  SbbOptgroupBaseElement
222
223
  };
223
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0Z3JvdXAtYmFzZS1lbGVtZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvb3B0aW9uL29wdGdyb3VwL29wdGdyb3VwLWJhc2UtZWxlbWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNdXRhdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL211dGF0aW9uLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgTGl0RWxlbWVudCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2F1dG9jb21wbGV0ZS5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNTYWZhcmkgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQge1xuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG4gIFNiYkh5ZHJhdGlvbk1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vb3B0aW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vb3B0Z3JvdXAtYmFzZS1lbGVtZW50LnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vZGl2aWRlci5qcyc7XG5cbi8qKlxuICogT24gU2FmYXJpLCB0aGUgZ3JvdXBzIGxhYmVscyBhcmUgbm90IHJlYWQgYnkgVm9pY2VPdmVyLlxuICogVG8gc29sdmUgdGhlIHByb2JsZW0sIHdlIHJlbW92ZSB0aGUgcm9sZT1cImdyb3VwXCIgYW5kIGFkZCBhIGhpZGRlbiBzcGFuIGNvbnRhaW5pbmcgdGhlIGdyb3VwIG5hbWVcbiAqIFRPRE86IFdlIHNob3VsZCBwZXJpb2RpY2FsbHkgY2hlY2sgaWYgaXQgaGFzIGJlZW4gc29sdmVkIGFuZCwgaWYgc28sIHJlbW92ZSB0aGUgcHJvcGVydHkuXG4gKi9cbmNvbnN0IGluZXJ0QXJpYUdyb3VwcyA9IGlzU2FmYXJpO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2JiT3B0Z3JvdXBCYXNlRWxlbWVudCBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oXG4gIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gIWluZXJ0QXJpYUdyb3VwcyA/ICdncm91cCcgOiBudWxsO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKiogT3B0aW9uIGdyb3VwIGxhYmVsLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICBAc3RhdGUoKSBwcm90ZWN0ZWQgYWNjZXNzb3IgbmVnYXRpdmUgPSBmYWxzZTtcblxuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9pbmVydEFyaWFHcm91cHMgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IG9wdGlvbnMoKTogU2JiT3B0aW9uQmFzZUVsZW1lbnRbXTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBNdXRhdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWydkYXRhLW5lZ2F0aXZlJ10sXG4gICAgICAgIH0sXG4gICAgICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9vbk5lZ2F0aXZlQ2hhbmdlKCksXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgaWYgKGluZXJ0QXJpYUdyb3Vwcykge1xuICAgICAgaWYgKHRoaXMuaHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgICAgdGhpcy5oeWRyYXRpb25Db21wbGV0ZS50aGVuKCgpID0+ICh0aGlzLl9pbmVydEFyaWFHcm91cHMgPSBpbmVydEFyaWFHcm91cHMpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2luZXJ0QXJpYUdyb3VwcyA9IGluZXJ0QXJpYUdyb3VwcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZUZyb21QYXJlbnQoKTtcbiAgICB0aGlzLl9wcm94eUdyb3VwTGFiZWxUb09wdGlvbnMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZGlzYWJsZWQnKSkge1xuICAgICAgaWYgKCF0aGlzLl9pbmVydEFyaWFHcm91cHMpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYURpc2FibGVkID0gdGhpcy5kaXNhYmxlZCA/ICd0cnVlJyA6IG51bGw7XG4gICAgICB9XG5cbiAgICAgIHRoaXMucHJveHlEaXNhYmxlZFRvT3B0aW9ucygpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsYWJlbCcpKSB7XG4gICAgICB0aGlzLl9wcm94eUdyb3VwTGFiZWxUb09wdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0QXR0cmlidXRlRnJvbVBhcmVudCgpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0QXV0b2NvbXBsZXRlUGFyZW50KCk6IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IHwgbnVsbDtcblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMucHJveHlEaXNhYmxlZFRvT3B0aW9ucygpO1xuICAgIHRoaXMuX3Byb3h5R3JvdXBMYWJlbFRvT3B0aW9ucygpO1xuICAgIHRoaXMuX2hpZ2hsaWdodE9wdGlvbnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Byb3h5R3JvdXBMYWJlbFRvT3B0aW9ucygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2luZXJ0QXJpYUdyb3Vwcykge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gdGhpcy5sYWJlbDtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRoaXMubGFiZWwpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbCA9IG51bGw7XG4gICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgICAgb3B0aW9uLnNldEF0dHJpYnV0ZSgnZGF0YS1ncm91cC1sYWJlbCcsIHRoaXMubGFiZWwpO1xuICAgICAgICBvcHRpb24ucmVxdWVzdFVwZGF0ZT8uKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIHRoaXMub3B0aW9ucykge1xuICAgICAgICBvcHRpb24ucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWdyb3VwLWxhYmVsJyk7XG4gICAgICAgIG9wdGlvbi5yZXF1ZXN0VXBkYXRlPy4oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJveHlEaXNhYmxlZFRvT3B0aW9ucygpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgIG9wdGlvbi50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZ3JvdXAtZGlzYWJsZWQnLCB0aGlzLmRpc2FibGVkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oaWdobGlnaHRPcHRpb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IGF1dG9jb21wbGV0ZSA9IHRoaXMuZ2V0QXV0b2NvbXBsZXRlUGFyZW50KCk7XG4gICAgaWYgKCFhdXRvY29tcGxldGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdmFsdWUgPSBhdXRvY29tcGxldGUudHJpZ2dlckVsZW1lbnQ/LnZhbHVlO1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5vcHRpb25zLmZvckVhY2goKG9wdCkgPT4gb3B0LmhpZ2hsaWdodCh2YWx1ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25OZWdhdGl2ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLm5lZ2F0aXZlID0gdGhpcy5oYXNBdHRyaWJ1dGUoJ2RhdGEtbmVnYXRpdmUnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1vcHRncm91cF9fZGl2aWRlclwiPlxuICAgICAgICA8c2JiLWRpdmlkZXIgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX0+PC9zYmItZGl2aWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgJHt0aGlzLmxhYmVsXG4gICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0Z3JvdXBfX2xhYmVsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0Z3JvdXBfX2ljb24tc3BhY2VcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPHNwYW4+JHt0aGlzLmxhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIGBcbiAgICAgICAgOiBub3RoaW5nfVxuICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9oYW5kbGVTbG90Y2hhbmdlfT48L3Nsb3Q+XG4gICAgYDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE4QkEsTUFBTSxrQkFBa0I7SUFFRiwwQkFBc0IsTUFBQTs7b0JBQVMsaUJBQ25ELHlCQUF5QixrQkFBa0IsVUFBVSxDQUFDLENBQUM7Ozs7Ozs7Ozs7QUFEbkMsU0FBQSxtQkFBK0IsWUFFcEQ7QUFBQSxJQWVDLGNBQUE7QUFDRSxZQUFBO0FBVEYsa0RBQUEsa0JBQUEsTUFBQSxxQkFBZ0MsRUFBRTtBQUV6QixzREFBQSxrQkFBQSxNQUFBLHdCQUFBLEdBQUEsa0JBQUEsTUFBQSx3QkFBOEIsS0FBSztBQUVuQyw4REFBQSxrQkFBQSxNQUFBLDJCQUFBLEdBQUEsa0JBQUEsTUFBQSxnQ0FBb0MsS0FBSzs7QUFPaEQsV0FBSyxjQUNILElBQUksbUJBQW1CLE1BQU07QUFBQSxRQUMzQixRQUFRO0FBQUEsVUFDTixZQUFZO0FBQUEsVUFDWixpQkFBaUIsQ0FBQyxlQUFlO0FBQUEsUUFBQTtBQUFBLFFBRW5DLFVBQVUsTUFBTSxLQUFLLGtCQUFBO0FBQUEsTUFBaUIsQ0FDdkMsQ0FBQztBQUdKLFVBQUksaUJBQWlCO0FBQ25CLFlBQUksS0FBSyxtQkFBbUI7QUFDMUIsZUFBSyxrQkFBa0IsS0FBSyxNQUFPLEtBQUssbUJBQW1CLGVBQWdCO0FBQUEsUUFDN0UsT0FBTztBQUNMLGVBQUssbUJBQW1CO0FBQUEsUUFDMUI7QUFBQSxNQUNGO0FBQUEsSUFDRDtBQUFBO0FBQUEsSUE1QkQsSUFBZ0IsUUFBSztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBckIsSUFBZ0IsTUFBSyxPQUFBO0FBQUEseUJBQUEseUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFFWixJQUFtQixXQUFRO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUEzQixJQUFtQixTQUFRLE9BQUE7QUFBQSx5QkFBQSw0QkFBQTtBQUFBLElBQUE7QUFBQSxJQUUzQixJQUFpQixtQkFBZ0I7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQWpDLElBQWlCLGlCQUFnQixPQUFBO0FBQUEseUJBQUEsb0NBQUE7QUFBQSxJQUFBO0FBQUEsSUEwQjFCLG9CQUFpQjtBQUMvQixZQUFNLGtCQUFBO0FBQ04sV0FBSyx1QkFBQTtBQUNMLFdBQUssMEJBQUE7QUFBQSxJQUNQO0FBQUEsSUFFbUIsV0FBVyxtQkFBdUM7QUFDbkUsWUFBTSxXQUFXLGlCQUFpQjtBQUVsQyxVQUFJLGtCQUFrQixJQUFJLFVBQVUsR0FBRztBQUNyQyxZQUFJLENBQUMsS0FBSyxrQkFBa0I7QUFDMUIsZUFBSyxVQUFVLGVBQWUsS0FBSyxXQUFXLFNBQVM7QUFBQSxRQUN6RDtBQUVBLGFBQUssdUJBQUE7QUFBQSxNQUNQO0FBQ0EsVUFBSSxrQkFBa0IsSUFBSSxPQUFPLEdBQUc7QUFDbEMsYUFBSywwQkFBQTtBQUFBLE1BQ1A7QUFBQSxJQUNGO0FBQUEsSUFLUSxvQkFBaUI7QUFDdkIsV0FBSyx1QkFBQTtBQUNMLFdBQUssMEJBQUE7QUFDTCxXQUFLLGtCQUFBO0FBQUEsSUFDUDtBQUFBLElBRVEsNEJBQXlCO0FBQy9CLFVBQUksQ0FBQyxLQUFLLGtCQUFrQjtBQUMxQixhQUFLLFVBQVUsWUFBWSxLQUFLO0FBQ2hDO0FBQUEsTUFDRixXQUFXLEtBQUssT0FBTztBQUNyQixhQUFLLFVBQVUsWUFBWTtBQUMzQixtQkFBVyxVQUFVLEtBQUssU0FBUztBQUNqQyxpQkFBTyxhQUFhLG9CQUFvQixLQUFLLEtBQUs7QUFDbEQsaUJBQU8sZ0JBQUE7QUFBQSxRQUNUO0FBQUEsTUFDRixPQUFPO0FBQ0wsbUJBQVcsVUFBVSxLQUFLLFNBQVM7QUFDakMsaUJBQU8sZ0JBQWdCLGtCQUFrQjtBQUN6QyxpQkFBTyxnQkFBQTtBQUFBLFFBQ1Q7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLElBRVUseUJBQXNCO0FBQzlCLGlCQUFXLFVBQVUsS0FBSyxTQUFTO0FBQ2pDLGVBQU8sZ0JBQWdCLHVCQUF1QixLQUFLLFFBQVE7QUFBQSxNQUM3RDtBQUFBLElBQ0Y7QUFBQSxJQUVRLG9CQUFpQjtBQUN2QixZQUFNLGVBQWUsS0FBSyxzQkFBQTtBQUMxQixVQUFJLENBQUMsY0FBYztBQUNqQjtBQUFBLE1BQ0Y7QUFDQSxZQUFNLFFBQVEsYUFBYSxnQkFBZ0I7QUFDM0MsVUFBSSxDQUFDLE9BQU87QUFDVjtBQUFBLE1BQ0Y7QUFDQSxXQUFLLFFBQVEsUUFBUSxDQUFDLFFBQVEsSUFBSSxVQUFVLEtBQUssQ0FBQztBQUFBLElBQ3BEO0FBQUEsSUFFUSxvQkFBaUI7QUFDdkIsV0FBSyxXQUFXLEtBQUssYUFBYSxlQUFlO0FBQUEsSUFDbkQ7QUFBQSxJQUVtQixTQUFNO0FBQ3ZCLGFBQU87QUFBQTtBQUFBLGlDQUVzQixLQUFLLFFBQVE7QUFBQTtBQUFBLFFBRXRDLEtBQUssUUFDSDtBQUFBO0FBQUE7QUFBQSxzQkFHWSxLQUFLLEtBQUs7QUFBQTtBQUFBLGNBR3RCLE9BQU87QUFBQSwwQkFDUyxLQUFLLGlCQUFpQjtBQUFBO0FBQUEsSUFFOUM7QUFBQSxFQUFBLEdBbkhBLHlDQUVTLDRDQUVBOzt5QkFOUixhQUNBLFVBQVU7QUFHViwyQkFBQSxDQUFBLE9BQU87QUFFUCxtQ0FBQSxDQUFBLE9BQU87QUFKUixpQkFBQSxJQUFBLE1BQUEsbUJBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxTQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLFdBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFnQixPQUFLLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFMLFFBQUs7QUFBQSxJQUFBLEtBQUEsVUFBQSxVQUFBLEdBQUEscUJBQUEsd0JBQUE7QUFFWixpQkFBQSxJQUFBLE1BQUEsc0JBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxZQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLGNBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFtQixVQUFRLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFSLFdBQVE7QUFBQSxJQUFBLEtBQUEsVUFBQSxVQUFBLEdBQUEsd0JBQUEsMkJBQUE7QUFFM0IsaUJBQUEsSUFBQSxNQUFBLDhCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsb0JBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsc0JBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFpQixrQkFBZ0IsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQWhCLG1CQUFnQjtBQUFBLElBQUEsS0FBQSxVQUFBLFVBQUEsR0FBQSxnQ0FBQSxtQ0FBQTs7UUFWVixHQUFBLE9BQU8sQ0FBQyxrQkFBa0IsVUFBVSxNQUM3QyxHQUFBLFNBQXlCLE9BSjVCOzsifQ==
224
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0Z3JvdXAtYmFzZS1lbGVtZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvb3B0aW9uL29wdGdyb3VwL29wdGdyb3VwLWJhc2UtZWxlbWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNdXRhdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL211dGF0aW9uLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgTGl0RWxlbWVudCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2F1dG9jb21wbGV0ZS5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNTYWZhcmkgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQge1xuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG4gIFNiYkh5ZHJhdGlvbk1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vb3B0aW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vb3B0Z3JvdXAtYmFzZS1lbGVtZW50LnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vZGl2aWRlci5qcyc7XG5cbi8qKlxuICogT24gU2FmYXJpLCB0aGUgZ3JvdXBzIGxhYmVscyBhcmUgbm90IHJlYWQgYnkgVm9pY2VPdmVyLlxuICogVG8gc29sdmUgdGhlIHByb2JsZW0sIHdlIHJlbW92ZSB0aGUgcm9sZT1cImdyb3VwXCIgYW5kIGFkZCBhIGhpZGRlbiBzcGFuIGNvbnRhaW5pbmcgdGhlIGdyb3VwIG5hbWVcbiAqIFRPRE86IFdlIHNob3VsZCBwZXJpb2RpY2FsbHkgY2hlY2sgaWYgaXQgaGFzIGJlZW4gc29sdmVkIGFuZCwgaWYgc28sIHJlbW92ZSB0aGUgcHJvcGVydHkuXG4gKi9cbmNvbnN0IGluZXJ0QXJpYUdyb3VwcyA9IGlzU2FmYXJpO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2JiT3B0Z3JvdXBCYXNlRWxlbWVudCBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oXG4gIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gIWluZXJ0QXJpYUdyb3VwcyA/ICdncm91cCcgOiBudWxsO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKiogT3B0aW9uIGdyb3VwIGxhYmVsLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICBAc3RhdGUoKSBwcm90ZWN0ZWQgYWNjZXNzb3IgbmVnYXRpdmUgPSBmYWxzZTtcblxuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9pbmVydEFyaWFHcm91cHMgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IG9wdGlvbnMoKTogU2JiT3B0aW9uQmFzZUVsZW1lbnRbXTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBNdXRhdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWydkYXRhLW5lZ2F0aXZlJ10sXG4gICAgICAgIH0sXG4gICAgICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl9vbk5lZ2F0aXZlQ2hhbmdlKCksXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgaWYgKGluZXJ0QXJpYUdyb3Vwcykge1xuICAgICAgaWYgKHRoaXMuaHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgICAgdGhpcy5oeWRyYXRpb25Db21wbGV0ZS50aGVuKCgpID0+ICh0aGlzLl9pbmVydEFyaWFHcm91cHMgPSBpbmVydEFyaWFHcm91cHMpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2luZXJ0QXJpYUdyb3VwcyA9IGluZXJ0QXJpYUdyb3VwcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZUZyb21QYXJlbnQoKTtcbiAgICB0aGlzLl9wcm94eUdyb3VwTGFiZWxUb09wdGlvbnMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZGlzYWJsZWQnKSkge1xuICAgICAgaWYgKCF0aGlzLl9pbmVydEFyaWFHcm91cHMpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYURpc2FibGVkID0gdGhpcy5kaXNhYmxlZCA/ICd0cnVlJyA6IG51bGw7XG4gICAgICB9XG5cbiAgICAgIHRoaXMucHJveHlEaXNhYmxlZFRvT3B0aW9ucygpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsYWJlbCcpKSB7XG4gICAgICB0aGlzLl9wcm94eUdyb3VwTGFiZWxUb09wdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0QXR0cmlidXRlRnJvbVBhcmVudCgpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0QXV0b2NvbXBsZXRlUGFyZW50KCk6IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IHwgbnVsbDtcblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMucHJveHlEaXNhYmxlZFRvT3B0aW9ucygpO1xuICAgIHRoaXMuX3Byb3h5R3JvdXBMYWJlbFRvT3B0aW9ucygpO1xuICAgIHRoaXMuX2hpZ2hsaWdodE9wdGlvbnMoKTtcbiAgICAvLyBVc2VkIHRvIG5vdGlmeSBhc3NvY2lhdGVkIGNvbXBvbmVudHMgbGlrZSB0aGUgc2JiLXNlbGVjdCB0byB1cGRhdGUgc3RhdGVcbiAgICAvKiogQGludGVybmFsICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnybVvcHRncm91cHNsb3RjaGFuZ2UnKSk7XG4gIH1cblxuICBwcml2YXRlIF9wcm94eUdyb3VwTGFiZWxUb09wdGlvbnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pbmVydEFyaWFHcm91cHMpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbCA9IHRoaXMubGFiZWw7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICh0aGlzLmxhYmVsKSB7XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhTGFiZWwgPSBudWxsO1xuICAgICAgZm9yIChjb25zdCBvcHRpb24gb2YgdGhpcy5vcHRpb25zKSB7XG4gICAgICAgIG9wdGlvbi5zZXRBdHRyaWJ1dGUoJ2RhdGEtZ3JvdXAtbGFiZWwnLCB0aGlzLmxhYmVsKTtcbiAgICAgICAgb3B0aW9uLnJlcXVlc3RVcGRhdGU/LigpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgICAgb3B0aW9uLnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1ncm91cC1sYWJlbCcpO1xuICAgICAgICBvcHRpb24ucmVxdWVzdFVwZGF0ZT8uKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHByb3h5RGlzYWJsZWRUb09wdGlvbnMoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBvcHRpb24gb2YgdGhpcy5vcHRpb25zKSB7XG4gICAgICBvcHRpb24udG9nZ2xlQXR0cmlidXRlKCdkYXRhLWdyb3VwLWRpc2FibGVkJywgdGhpcy5kaXNhYmxlZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0T3B0aW9ucygpOiB2b2lkIHtcbiAgICBjb25zdCBhdXRvY29tcGxldGUgPSB0aGlzLmdldEF1dG9jb21wbGV0ZVBhcmVudCgpO1xuICAgIGlmICghYXV0b2NvbXBsZXRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHZhbHVlID0gYXV0b2NvbXBsZXRlLnRyaWdnZXJFbGVtZW50Py52YWx1ZTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKChvcHQpID0+IG9wdC5oaWdobGlnaHQodmFsdWUpKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uTmVnYXRpdmVDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5uZWdhdGl2ZSA9IHRoaXMuaGFzQXR0cmlidXRlKCdkYXRhLW5lZ2F0aXZlJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0Z3JvdXBfX2RpdmlkZXJcIj5cbiAgICAgICAgPHNiYi1kaXZpZGVyID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9Pjwvc2JiLWRpdmlkZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgICR7dGhpcy5sYWJlbFxuICAgICAgICA/IGh0bWxgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW9wdGdyb3VwX19sYWJlbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW9wdGdyb3VwX19pY29uLXNwYWNlXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDxzcGFuPiR7dGhpcy5sYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBgXG4gICAgICAgIDogbm90aGluZ31cbiAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PlxuICAgIGA7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBOEJBLE1BQU0sa0JBQWtCO0lBRUYsMEJBQXNCLE1BQUE7O29CQUFTLGlCQUNuRCx5QkFBeUIsa0JBQWtCLFVBQVUsQ0FBQyxDQUFDOzs7Ozs7Ozs7O0FBRG5DLFNBQUEsbUJBQStCLFlBRXBEO0FBQUEsSUFlQyxjQUFBO0FBQ0UsWUFBQTtBQVRGLGtEQUFBLGtCQUFBLE1BQUEscUJBQWdDLEVBQUU7QUFFekIsc0RBQUEsa0JBQUEsTUFBQSx3QkFBQSxHQUFBLGtCQUFBLE1BQUEsd0JBQThCLEtBQUs7QUFFbkMsOERBQUEsa0JBQUEsTUFBQSwyQkFBQSxHQUFBLGtCQUFBLE1BQUEsZ0NBQW9DLEtBQUs7O0FBT2hELFdBQUssY0FDSCxJQUFJLG1CQUFtQixNQUFNO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFVBQ04sWUFBWTtBQUFBLFVBQ1osaUJBQWlCLENBQUMs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
@@ -98,7 +98,7 @@ let SbbOptionBaseElement = (() => {
98
98
  }
99
99
  }
100
100
  get value() {
101
- return this._value ?? this.getAttribute("value") ?? "";
101
+ return this._value ?? this.getAttribute("value");
102
102
  }
103
103
  /** Whether the option is selected. */
104
104
  set selected(value) {
@@ -326,4 +326,4 @@ let SbbOptionBaseElement = (() => {
326
326
  export {
327
327
  SbbOptionBaseElement
328
328
  };
329
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWJhc2UtZWxlbWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL29wdGlvbi9vcHRpb24vb3B0aW9uLWJhc2UtZWxlbWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNdXRhdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL211dGF0aW9uLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCwgbm90aGluZywgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IHNsb3RTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0FuZHJvaWQsIGlzU2FmYXJpLCBzZXRPclJlbW92ZUF0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7XG4gIFNiYkRpc2FibGVkTWl4aW4sXG4gIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbixcbiAgU2JiSHlkcmF0aW9uTWl4aW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLmpzJztcblxuaW1wb3J0ICcuLi8uLi9zY3JlZW4tcmVhZGVyLW9ubHkuanMnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBPbiBTYWZhcmksIHRoZSBncm91cHMgbGFiZWxzIGFyZSBub3QgcmVhZCBieSBWb2ljZU92ZXIuXG4gKiBUbyBzb2x2ZSB0aGUgcHJvYmxlbSwgd2UgcmVtb3ZlIHRoZSByb2xlPVwiZ3JvdXBcIiBhbmQgYWRkIGFuIGhpZGRlbiBzcGFuIGNvbnRhaW5pbmcgdGhlIGdyb3VwIG5hbWVcbiAqIFRPRE86IFdlIHNob3VsZCBwZXJpb2RpY2FsbHkgY2hlY2sgaWYgaXQgaGFzIGJlZW4gc29sdmVkIGFuZCwgaWYgc28sIHJlbW92ZSB0aGUgcHJvcGVydHkuXG4gKi9cbmNvbnN0IGluZXJ0QXJpYUdyb3VwcyA9IGlzU2FmYXJpO1xuXG4vKiogQ29uZmlndXJhdGlvbiBmb3IgdGhlIGF0dHJpYnV0ZSB0byBsb29rIGF0IGlmIGNvbXBvbmVudCBpcyBuZXN0ZWQgaW4gYW4gb3B0aW9uIGdyb3VwICovXG5jb25zdCBvcHRpb25PYnNlcnZlckNvbmZpZzogTXV0YXRpb25PYnNlcnZlckluaXQgPSB7XG4gIGF0dHJpYnV0ZUZpbHRlcjogWydkYXRhLWdyb3VwLWRpc2FibGVkJywgJ2RhdGEtbmVnYXRpdmUnXSxcbiAgYXR0cmlidXRlczogdHJ1ZSxcbiAgY2hpbGRMaXN0OiB0cnVlLFxuICBzdWJ0cmVlOiB0cnVlLFxuICBjaGFyYWN0ZXJEYXRhOiB0cnVlLFxufTtcblxuZXhwb3J0XG5Ac2xvdFN0YXRlKClcbmFic3RyYWN0IGNsYXNzIFNiYk9wdGlvbkJhc2VFbGVtZW50PFQgPSBzdHJpbmc+IGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihcbiAgU2JiSWNvbk5hbWVNaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oU2JiSHlkcmF0aW9uTWl4aW4oTGl0RWxlbWVudCkpKSxcbikge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBvcHRpb25zZWxlY3RlZDogJ29wdGlvbnNlbGVjdGVkJyxcbiAgfSBhcyBjb25zdDtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb3B0aW9uSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVmFsdWUgb2YgdGhlIG9wdGlvbi5cbiAgICpcbiAgICogQGRlc2NyaXB0aW9uIERldmVsb3BlciBub3RlOiBJbiB0aGlzIGNhc2UgdXBkYXRpbmcgdGhlIGF0dHJpYnV0ZSBtdXN0IGJlIHN5bmNocm9ub3VzLlxuICAgKiBEdWUgdG8gdGhpcywgaXQgaXMgaW1wbGVtZW50ZWQgYXMgYSBnZXR0ZXIvc2V0dGVyIGFuZCB0aGUgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKCkgaGFuZGxlcyB0aGUgZGlmZiBjaGVjay5cbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IFQpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgYCR7dmFsdWV9YCk7XG4gICAgICB0aGlzLl92YWx1ZSA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogVCB7XG4gICAgcmV0dXJuICh0aGlzLl92YWx1ZSA/PyB0aGlzLmdldEF0dHJpYnV0ZSgndmFsdWUnKSA/PyAnJykgYXMgVDtcbiAgfVxuICBwcml2YXRlIF92YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBvcHRpb24gaXMgc2VsZWN0ZWQuICovXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIHNldCBzZWxlY3RlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdzZWxlY3RlZCcsIHZhbHVlKTtcbiAgICB0aGlzLl91cGRhdGVBcmlhU2VsZWN0ZWQoKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhc0F0dHJpYnV0ZSgnc2VsZWN0ZWQnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRvIGFwcGx5IHRoZSBuZWdhdGl2ZSBzdHlsaW5nICovXG4gIEBzdGF0ZSgpIHByb3RlY3RlZCBhY2Nlc3NvciBuZWdhdGl2ZSA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjb21wb25lbnQgbXVzdCBiZSBzZXQgZGlzYWJsZWQgZHVlIGRpc2FibGVkIGF0dHJpYnV0ZSBvbiBzYmItb3B0Z3JvdXAuICovXG4gIEBzdGF0ZSgpIHByb3RlY3RlZCBhY2Nlc3NvciBkaXNhYmxlZEZyb21Hcm91cCA9IGZhbHNlO1xuXG4gIEBzdGF0ZSgpIHByb3RlY3RlZCBhY2Nlc3NvciBsYWJlbCE6IHN0cmluZztcblxuICAvKiogRGlzYWJsZSB0aGUgaGlnaGxpZ2h0IG9mIHRoZSBsYWJlbC4gKi9cbiAgQHN0YXRlKCkgcHJvdGVjdGVkIGFjY2Vzc29yIGRpc2FibGVMYWJlbEhpZ2hsaWdodDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBUaGUgcG9ydGlvbiBvZiB0aGUgaGlnaGxpZ2h0ZWQgbGFiZWwuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2hpZ2hsaWdodFN0cmluZzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfaW5lcnRBcmlhR3JvdXBzID0gZmFsc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKGU6IE1vdXNlRXZlbnQpID0+IHRoaXMuc2VsZWN0QnlDbGljayhlKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBNdXRhdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgICAgICBjb25maWc6IG9wdGlvbk9ic2VydmVyQ29uZmlnLFxuICAgICAgICBjYWxsYmFjazogKG11dGF0aW9uc0xpc3QpID0+IHRoaXMub25FeHRlcm5hbE11dGF0aW9uKG11dGF0aW9uc0xpc3QpLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIGlmIChpbmVydEFyaWFHcm91cHMpIHtcbiAgICAgIGlmICh0aGlzLmh5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PiAodGhpcy5faW5lcnRBcmlhR3JvdXBzID0gaW5lcnRBcmlhR3JvdXBzKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9pbmVydEFyaWFHcm91cHMgPSBpbmVydEFyaWFHcm91cHM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgb2xkOiBzdHJpbmcgfCBudWxsLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBudWxsLFxuICApOiB2b2lkIHtcbiAgICBpZiAobmFtZSAhPT0gJ3ZhbHVlJyB8fCBvbGQgIT09IHZhbHVlKSB7XG4gICAgICBzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgb2xkLCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhpZ2hsaWdodCB0aGUgbGFiZWwgb2YgdGhlIG9wdGlvblxuICAgKiBAcGFyYW0gdmFsdWUgdGhlIGhpZ2hsaWdodGVkIHBvcnRpb24gb2YgdGhlIGxhYmVsXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGhpZ2hsaWdodCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5faGlnaGxpZ2h0U3RyaW5nID0gdmFsdWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0VmlhVXNlckludGVyYWN0aW9uKHNlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XG4gICAgICAvKiogRW1pdHMgd2hlbiBhbiBvcHRpb24gd2FzIHNlbGVjdGVkIGJ5IHVzZXIuICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdvcHRpb25zZWxlY3RlZCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuaWQgfHw9IGAke3RoaXMub3B0aW9uSWR9LSR7bmV4dElkKyt9YDtcbiAgICBpZiAodGhpcy5oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgdGhpcy5oeWRyYXRpb25Db21wbGV0ZS50aGVuKCgpID0+IHRoaXMuaW5pdCgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbml0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpKSB7XG4gICAgICBzZXRPclJlbW92ZUF0dHJpYnV0ZSh0aGlzLCAndGFiaW5kZXgnLCBpc0FuZHJvaWQgJiYgIXRoaXMuZGlzYWJsZWQgJiYgMCk7XG4gICAgICB0aGlzLnVwZGF0ZUFyaWFEaXNhYmxlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIC8vIEluaXQgZmlyc3Qgc2VsZWN0IHN0YXRlIGJlY2F1c2UgZmFsc2Ugd291bGQgbm90IGNhbGwgc2V0dGVyIG9mIHNlbGVjdGVkIHByb3BlcnR5LlxuICAgIHRoaXMuX3VwZGF0ZUFyaWFTZWxlY3RlZCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNlbGVjdEJ5Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0QXR0cmlidXRlRnJvbVBhcmVudCgpOiB2b2lkO1xuXG4gIHByb3RlY3RlZCB1cGRhdGVEaXNhYmxlSGlnaGxpZ2h0KGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlTGFiZWxIaWdobGlnaHQgPSBkaXNhYmxlZDtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1kaXNhYmxlLWhpZ2hsaWdodCcsIGRpc2FibGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBvcHRpb24gaXMgY3VycmVudGx5IGFjdGl2ZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc2V0QWN0aXZlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtYWN0aXZlJywgdmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGVGcm9tUGFyZW50KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlQXJpYURpc2FibGVkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWRGcm9tR3JvdXApIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdhcmlhLWRpc2FibGVkJywgJ3RydWUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtZGlzYWJsZWQnKTtcbiAgICB9XG5cbiAgICAvLyBMaXN0ZW5lZCBieSBhdXRvY29tcGxldGVcbiAgICAvKiogQGludGVybmFsICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnybVkaXNhYmxlZGNoYW5nZScsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVBcmlhU2VsZWN0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCBgJHt0aGlzLnNlbGVjdGVkfWApO1xuICB9XG5cbiAgLyoqIE9ic2VydmUgY2hhbmdlcyBvbiBkYXRhIGF0dHJpYnV0ZXMgKyBzbG90dGVkIGNvbnRlbnQgYW5kIHNldCB0aGUgYXBwcm9wcmlhdGUgdmFsdWVzLiAqL1xuICBwcm90ZWN0ZWQgb25FeHRlcm5hbE11dGF0aW9uKG11dGF0aW9uc0xpc3Q6IE11dGF0aW9uUmVjb3JkW10pOiB2b2lkIHtcbiAgICBsZXQgY29udGVudENoYW5nZWQgPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IG11dGF0aW9uIG9mIG11dGF0aW9uc0xpc3QpIHtcbiAgICAgIGlmIChtdXRhdGlvbi5hdHRyaWJ1dGVOYW1lID09PSAnZGF0YS1ncm91cC1kaXNhYmxlZCcpIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZEZyb21Hcm91cCA9IHRoaXMuaGFzQXR0cmlidXRlKCdkYXRhLWdyb3VwLWRpc2FibGVkJyk7XG4gICAgICAgIHRoaXMudXBkYXRlQXJpYURpc2FibGVkKCk7XG4gICAgICB9IGVsc2UgaWYgKG11dGF0aW9uLmF0dHJpYnV0ZU5hbWUgPT09ICdkYXRhLW5lZ2F0aXZlJykge1xuICAgICAgICB0aGlzLm5lZ2F0aXZlID0gdGhpcy5oYXNBdHRyaWJ1dGUoJ2RhdGEtbmVnYXRpdmUnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRlbnRDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY29udGVudENoYW5nZWQpIHtcbiAgICAgIHRoaXMuaGFuZGxlSGlnaGxpZ2h0U3RhdGUoKTtcbiAgICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ29wdGlvbkxhYmVsQ2hhbmdlZCcsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUhpZ2hsaWdodFN0YXRlKCk6IHZvaWQge1xuICAgIGNvbnN0IHNsb3ROb2RlcyA9IEFycmF5LmZyb20odGhpcy5jaGlsZE5vZGVzID8/IFtdKS5maWx0ZXIoXG4gICAgICAobikgPT4gbi5ub2RlVHlwZSAhPT0gTm9kZS5DT01NRU5UX05PREUgJiYgKCEobiBpbnN0YW5jZW9mIEVsZW1lbnQpIHx8IG4uc2xvdCAhPT0gJ2ljb24nKSxcbiAgICApO1xuICAgIGNvbnN0IGxhYmVsTm9kZXMgPSBzbG90Tm9kZXMuZmlsdGVyKChlbCkgPT4gZWwubm9kZVR5cGUgPT09IE5vZGUuVEVYVF9OT0RFKSBhcyBUZXh0W107XG5cbiAgICAvLyBEaXNhYmxlIHRoZSBoaWdobGlnaHQgaWYgdGhlIHNsb3QgY29udGFpbiBtb3JlIHRoYW4ganVzdCB0ZXh0IG5vZGVzLlxuICAgIC8vIFdlIG5lZWQgdG8gaWdub3JlIHRlbXBsYXRlIGVsZW1lbnRzLCBhcyBTU1IgYWRkcyBhIGRlY2xhcmF0aXZlIHNoYWRvdyBET01cbiAgICAvLyBpbiB0aGUgZm9ybSBvZiBhIHRlbXBsYXRlIGVsZW1lbnQuXG4gICAgaWYgKFxuICAgICAgbGFiZWxOb2Rlcy5sZW5ndGggPT09IDAgfHxcbiAgICAgIHNsb3ROb2Rlcy5maWx0ZXIoKG4pID0+ICEobiBpbnN0YW5jZW9mIEVsZW1lbnQpIHx8IG4ubG9jYWxOYW1lICE9PSAndGVtcGxhdGUnKS5sZW5ndGggIT09XG4gICAgICAgIGxhYmVsTm9kZXMubGVuZ3RoXG4gICAgKSB7XG4gICAgICB0aGlzLnVwZGF0ZURpc2FibGVIaWdobGlnaHQodHJ1ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubGFiZWwgPSBsYWJlbE5vZGVzXG4gICAgICAubWFwKChsKSA9PiBsLndob2xlVGV4dClcbiAgICAgIC5maWx0ZXIoKGwpID0+IGwudHJpbSgpKVxuICAgICAgLmpvaW4oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRIaWdobGlnaHRlZExhYmVsKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBpZiAoIXRoaXMuX2hpZ2hsaWdodFN0cmluZyB8fCAhdGhpcy5faGlnaGxpZ2h0U3RyaW5nLnRyaW0oKSkge1xuICAgICAgcmV0dXJuIGh0bWxgJHt0aGlzLmxhYmVsfWA7XG4gICAgfVxuXG4gICAgY29uc3QgbWF0Y2hJbmRleCA9IHRoaXMubGFiZWwhLnRvTG93ZXJDYXNlKCkuaW5kZXhPZih0aGlzLl9oaWdobGlnaHRTdHJpbmcudG9Mb3dlckNhc2UoKSk7XG5cbiAgICBpZiAobWF0Y2hJbmRleCA9PT0gLTEpIHtcbiAgICAgIHJldHVybiBodG1sYCR7dGhpcy5sYWJlbH1gO1xuICAgIH1cblxuICAgIGNvbnN0IHByZWZpeCA9IHRoaXMubGFiZWwhLnN1YnN0cmluZygwLCBtYXRjaEluZGV4KTtcbiAgICBjb25zdCBoaWdobGlnaHRlZCA9IHRoaXMubGFiZWwhLnN1YnN0cmluZyhcbiAgICAgIG1hdGNoSW5kZXgsXG4gICAgICBtYXRjaEluZGV4ICsgdGhpcy5faGlnaGxpZ2h0U3RyaW5nLmxlbmd0aCxcbiAgICApO1xuICAgIGNvbnN0IHBvc3RmaXggPSB0aGlzLmxhYmVsIS5zdWJzdHJpbmcobWF0Y2hJbmRleCArIHRoaXMuX2hpZ2hsaWdodFN0cmluZy5sZW5ndGgpO1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi1vcHRpb25fX2xhYmVsLS1oaWdobGlnaHRcIj4ke3ByZWZpeH08L3NwYW4+PHNwYW4+JHtoaWdobGlnaHRlZH08L3NwYW5cbiAgICAgID48c3BhbiBjbGFzcz1cInNiYi1vcHRpb25fX2xhYmVsLS1oaWdobGlnaHRcIj4ke3Bvc3RmaXh9PC9zcGFuPlxuICAgIGA7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVuZGVySWNvbigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgIDxzcGFuIGNsYXNzPVwic2JiLW9wdGlvbl9faWNvblwiPiAke3RoaXMucmVuZGVySWNvblNsb3QoKX0gPC9zcGFuPmA7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVuZGVyTGFiZWwoKTogVGVtcGxhdGVSZXN1bHQgfCB0eXBlb2Ygbm90aGluZyB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWwgJiYgIXRoaXMuZGlzYWJsZUxhYmVsSGlnaGxpZ2h0ID8gdGhpcy5nZXRIaWdobGlnaHRlZExhYmVsKCkgOiBub3RoaW5nO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbmRlclRpY2soKTogVGVtcGxhdGVSZXN1bHQgfCB0eXBlb2Ygbm90aGluZyB7XG4gICAgcmV0dXJuIG5vdGhpbmc7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0aW9uX19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1vcHRpb25cIj5cbiAgICAgICAgICAke3RoaXMucmVuZGVySWNvbigpfVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLW9wdGlvbl9fbGFiZWxcIj5cbiAgICAgICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5oYW5kbGVIaWdobGlnaHRTdGF0ZX0+PC9zbG90PlxuICAgICAgICAgICAgJHt0aGlzLnJlbmRlckxhYmVsKCl9XG4gICAgICAgICAgICAke3RoaXMuX2luZXJ0QXJpYUdyb3VwcyAmJiB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1ncm91cC1sYWJlbCcpXG4gICAgICAgICAgICAgID8gaHRtbGA8c2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgICAgICAgICAgICgke3RoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLWdyb3VwLWxhYmVsJyl9KTwvc2JiLXNjcmVlbi1yZWFkZXItb25seVxuICAgICAgICAgICAgICAgID5gXG4gICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgJHt0aGlzLnJlbmRlclRpY2soKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEdsb2JhbEV2ZW50SGFuZGxlcnNFdmVudE1hcCB7XG4gICAgb3B0aW9uc2VsZWN0ZWQ6IEV2ZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQWVBLElBQUksU0FBUztBQU9iLE1BQU0sa0JBQWtCO0FBR3hCLE1BQU0sdUJBQTZDO0FBQUEsRUFDakQsaUJBQWlCLENBQUMsdUJBQXVCLGVBQWU7QUFBQSxFQUN4RCxZQUFZO0FBQUEsRUFDWixXQUFXO0FBQUEsRUFDWCxTQUFTO0FBQUEsRUFDVCxlQUFlOztJQUtGLHdCQUFvQixNQUFBOztBQURsQyxNQUFBLG1CQUFBLENBQUEsV0FBVzs7OztvQkFDNEMsaUJBQ3RELGlCQUFpQix5QkFBeUIsa0JBQWtCLFVBQVUsQ0FBQyxDQUFDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFEM0IsRUFBQSxtQkFBUSxZQUV2RDtBQUFBLElBcURDLGNBQUE7QUFDRSxZQUFBO0FBaEJPO0FBR0E7QUFFQTtBQUdBO0FBR0E7QUFFQTtBQTFCRCxXQUFBLFVBM0JLLGtCQUFBLE1BQUEsMEJBQUEsR0EyQmM7QUFhQyx5QkFBQSw0QkFBQSxrQkFBQSxNQUFBLHdCQUFXLEtBQUs7QUFHaEIseUJBQUEsc0NBQUEsa0JBQUEsTUFBQSwyQkFBQSxHQUFBLGtCQUFBLE1BQUEsaUNBQW9CLEtBQUs7QUFFekIseUJBQUEsMEJBQUEsa0JBQUEsTUFBQSxvQ0FBQSxHQUFBLGtCQUFBLE1BQUEscUJBQUEsTUFBQTtBQUdBLHlCQUFBLDBDQUFBLGtCQUFBLE1BQUEsd0JBQUEsR0FBQSxrQkFBQSxNQUFBLHFDQUFpQyxLQUFLO0FBR3hDLHlCQUFBLHFDQUFBLGtCQUFBLE1BQUEsd0NBQUEsR0FBQSxrQkFBQSxNQUFBLGdDQUFrQyxJQUFJO0FBRXRDLHlCQUFBLHFDQUFBLGtCQUFBLE1BQUEsbUNBQUEsR0FBQSxrQkFBQSxNQUFBLGdDQUFtQixLQUFLOztBQUloRCxXQUFLLG1CQUFtQixTQUFTLENBQUMsTUFBa0IsS0FBSyxjQUFjLENBQUMsR0FBRztBQUFBLFFBQ3pFLFNB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
329
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWJhc2UtZWxlbWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL29wdGlvbi9vcHRpb24vb3B0aW9uLWJhc2UtZWxlbWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNdXRhdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL211dGF0aW9uLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCwgbm90aGluZywgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IHNsb3RTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0FuZHJvaWQsIGlzU2FmYXJpLCBzZXRPclJlbW92ZUF0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7XG4gIFNiYkRpc2FibGVkTWl4aW4sXG4gIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbixcbiAgU2JiSHlkcmF0aW9uTWl4aW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLmpzJztcblxuaW1wb3J0ICcuLi8uLi9zY3JlZW4tcmVhZGVyLW9ubHkuanMnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBPbiBTYWZhcmksIHRoZSBncm91cHMgbGFiZWxzIGFyZSBub3QgcmVhZCBieSBWb2ljZU92ZXIuXG4gKiBUbyBzb2x2ZSB0aGUgcHJvYmxlbSwgd2UgcmVtb3ZlIHRoZSByb2xlPVwiZ3JvdXBcIiBhbmQgYWRkIGFuIGhpZGRlbiBzcGFuIGNvbnRhaW5pbmcgdGhlIGdyb3VwIG5hbWVcbiAqIFRPRE86IFdlIHNob3VsZCBwZXJpb2RpY2FsbHkgY2hlY2sgaWYgaXQgaGFzIGJlZW4gc29sdmVkIGFuZCwgaWYgc28sIHJlbW92ZSB0aGUgcHJvcGVydHkuXG4gKi9cbmNvbnN0IGluZXJ0QXJpYUdyb3VwcyA9IGlzU2FmYXJpO1xuXG4vKiogQ29uZmlndXJhdGlvbiBmb3IgdGhlIGF0dHJpYnV0ZSB0byBsb29rIGF0IGlmIGNvbXBvbmVudCBpcyBuZXN0ZWQgaW4gYW4gb3B0aW9uIGdyb3VwICovXG5jb25zdCBvcHRpb25PYnNlcnZlckNvbmZpZzogTXV0YXRpb25PYnNlcnZlckluaXQgPSB7XG4gIGF0dHJpYnV0ZUZpbHRlcjogWydkYXRhLWdyb3VwLWRpc2FibGVkJywgJ2RhdGEtbmVnYXRpdmUnXSxcbiAgYXR0cmlidXRlczogdHJ1ZSxcbiAgY2hpbGRMaXN0OiB0cnVlLFxuICBzdWJ0cmVlOiB0cnVlLFxuICBjaGFyYWN0ZXJEYXRhOiB0cnVlLFxufTtcblxuZXhwb3J0XG5Ac2xvdFN0YXRlKClcbmFic3RyYWN0IGNsYXNzIFNiYk9wdGlvbkJhc2VFbGVtZW50PFQgPSBzdHJpbmc+IGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihcbiAgU2JiSWNvbk5hbWVNaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oU2JiSHlkcmF0aW9uTWl4aW4oTGl0RWxlbWVudCkpKSxcbikge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBvcHRpb25zZWxlY3RlZDogJ29wdGlvbnNlbGVjdGVkJyxcbiAgfSBhcyBjb25zdDtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb3B0aW9uSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVmFsdWUgb2YgdGhlIG9wdGlvbi5cbiAgICpcbiAgICogQGRlc2NyaXB0aW9uIERldmVsb3BlciBub3RlOiBJbiB0aGlzIGNhc2UgdXBkYXRpbmcgdGhlIGF0dHJpYnV0ZSBtdXN0IGJlIHN5bmNocm9ub3VzLlxuICAgKiBEdWUgdG8gdGhpcywgaXQgaXMgaW1wbGVtZW50ZWQgYXMgYSBnZXR0ZXIvc2V0dGVyIGFuZCB0aGUgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKCkgaGFuZGxlcyB0aGUgZGlmZiBjaGVjay5cbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IFQpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgYCR7dmFsdWV9YCk7XG4gICAgICB0aGlzLl92YWx1ZSA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogVCB7XG4gICAgcmV0dXJuICh0aGlzLl92YWx1ZSA/PyB0aGlzLmdldEF0dHJpYnV0ZSgndmFsdWUnKSkgYXMgVDtcbiAgfVxuICBwcml2YXRlIF92YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBvcHRpb24gaXMgc2VsZWN0ZWQuICovXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIHNldCBzZWxlY3RlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdzZWxlY3RlZCcsIHZhbHVlKTtcbiAgICB0aGlzLl91cGRhdGVBcmlhU2VsZWN0ZWQoKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhc0F0dHJpYnV0ZSgnc2VsZWN0ZWQnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRvIGFwcGx5IHRoZSBuZWdhdGl2ZSBzdHlsaW5nICovXG4gIEBzdGF0ZSgpIHByb3RlY3RlZCBhY2Nlc3NvciBuZWdhdGl2ZSA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjb21wb25lbnQgbXVzdCBiZSBzZXQgZGlzYWJsZWQgZHVlIGRpc2FibGVkIGF0dHJpYnV0ZSBvbiBzYmItb3B0Z3JvdXAuICovXG4gIEBzdGF0ZSgpIHByb3RlY3RlZCBhY2Nlc3NvciBkaXNhYmxlZEZyb21Hcm91cCA9IGZhbHNlO1xuXG4gIEBzdGF0ZSgpIHByb3RlY3RlZCBhY2Nlc3NvciBsYWJlbCE6IHN0cmluZztcblxuICAvKiogRGlzYWJsZSB0aGUgaGlnaGxpZ2h0IG9mIHRoZSBsYWJlbC4gKi9cbiAgQHN0YXRlKCkgcHJvdGVjdGVkIGFjY2Vzc29yIGRpc2FibGVMYWJlbEhpZ2hsaWdodDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBUaGUgcG9ydGlvbiBvZiB0aGUgaGlnaGxpZ2h0ZWQgbGFiZWwuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2hpZ2hsaWdodFN0cmluZzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBhY2Nlc3NvciBfaW5lcnRBcmlhR3JvdXBzID0gZmFsc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKGU6IE1vdXNlRXZlbnQpID0+IHRoaXMuc2VsZWN0QnlDbGljayhlKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBNdXRhdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgICAgICBjb25maWc6IG9wdGlvbk9ic2VydmVyQ29uZmlnLFxuICAgICAgICBjYWxsYmFjazogKG11dGF0aW9uc0xpc3QpID0+IHRoaXMub25FeHRlcm5hbE11dGF0aW9uKG11dGF0aW9uc0xpc3QpLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIGlmIChpbmVydEFyaWFHcm91cHMpIHtcbiAgICAgIGlmICh0aGlzLmh5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PiAodGhpcy5faW5lcnRBcmlhR3JvdXBzID0gaW5lcnRBcmlhR3JvdXBzKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9pbmVydEFyaWFHcm91cHMgPSBpbmVydEFyaWFHcm91cHM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgb2xkOiBzdHJpbmcgfCBudWxsLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBudWxsLFxuICApOiB2b2lkIHtcbiAgICBpZiAobmFtZSAhPT0gJ3ZhbHVlJyB8fCBvbGQgIT09IHZhbHVlKSB7XG4gICAgICBzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgb2xkLCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhpZ2hsaWdodCB0aGUgbGFiZWwgb2YgdGhlIG9wdGlvblxuICAgKiBAcGFyYW0gdmFsdWUgdGhlIGhpZ2hsaWdodGVkIHBvcnRpb24gb2YgdGhlIGxhYmVsXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGhpZ2hsaWdodCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5faGlnaGxpZ2h0U3RyaW5nID0gdmFsdWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0VmlhVXNlckludGVyYWN0aW9uKHNlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XG4gICAgICAvKiogRW1pdHMgd2hlbiBhbiBvcHRpb24gd2FzIHNlbGVjdGVkIGJ5IHVzZXIuICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdvcHRpb25zZWxlY3RlZCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuaWQgfHw9IGAke3RoaXMub3B0aW9uSWR9LSR7bmV4dElkKyt9YDtcbiAgICBpZiAodGhpcy5oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgdGhpcy5oeWRyYXRpb25Db21wbGV0ZS50aGVuKCgpID0+IHRoaXMuaW5pdCgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbml0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpKSB7XG4gICAgICBzZXRPclJlbW92ZUF0dHJpYnV0ZSh0aGlzLCAndGFiaW5kZXgnLCBpc0FuZHJvaWQgJiYgIXRoaXMuZGlzYWJsZWQgJiYgMCk7XG4gICAgICB0aGlzLnVwZGF0ZUFyaWFEaXNhYmxlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIC8vIEluaXQgZmlyc3Qgc2VsZWN0IHN0YXRlIGJlY2F1c2UgZmFsc2Ugd291bGQgbm90IGNhbGwgc2V0dGVyIG9mIHNlbGVjdGVkIHByb3BlcnR5LlxuICAgIHRoaXMuX3VwZGF0ZUFyaWFTZWxlY3RlZCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNlbGVjdEJ5Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0QXR0cmlidXRlRnJvbVBhcmVudCgpOiB2b2lkO1xuXG4gIHByb3RlY3RlZCB1cGRhdGVEaXNhYmxlSGlnaGxpZ2h0KGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlTGFiZWxIaWdobGlnaHQgPSBkaXNhYmxlZDtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1kaXNhYmxlLWhpZ2hsaWdodCcsIGRpc2FibGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBvcHRpb24gaXMgY3VycmVudGx5IGFjdGl2ZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc2V0QWN0aXZlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtYWN0aXZlJywgdmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGVGcm9tUGFyZW50KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlQXJpYURpc2FibGVkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWRGcm9tR3JvdXApIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdhcmlhLWRpc2FibGVkJywgJ3RydWUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtZGlzYWJsZWQnKTtcbiAgICB9XG5cbiAgICAvLyBMaXN0ZW5lZCBieSBhdXRvY29tcGxldGVcbiAgICAvKiogQGludGVybmFsICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnybVkaXNhYmxlZGNoYW5nZScsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVBcmlhU2VsZWN0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCBgJHt0aGlzLnNlbGVjdGVkfWApO1xuICB9XG5cbiAgLyoqIE9ic2VydmUgY2hhbmdlcyBvbiBkYXRhIGF0dHJpYnV0ZXMgKyBzbG90dGVkIGNvbnRlbnQgYW5kIHNldCB0aGUgYXBwcm9wcmlhdGUgdmFsdWVzLiAqL1xuICBwcm90ZWN0ZWQgb25FeHRlcm5hbE11dGF0aW9uKG11dGF0aW9uc0xpc3Q6IE11dGF0aW9uUmVjb3JkW10pOiB2b2lkIHtcbiAgICBsZXQgY29udGVudENoYW5nZWQgPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IG11dGF0aW9uIG9mIG11dGF0aW9uc0xpc3QpIHtcbiAgICAgIGlmIChtdXRhdGlvbi5hdHRyaWJ1dGVOYW1lID09PSAnZGF0YS1ncm91cC1kaXNhYmxlZCcpIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZEZyb21Hcm91cCA9IHRoaXMuaGFzQXR0cmlidXRlKCdkYXRhLWdyb3VwLWRpc2FibGVkJyk7XG4gICAgICAgIHRoaXMudXBkYXRlQXJpYURpc2FibGVkKCk7XG4gICAgICB9IGVsc2UgaWYgKG11dGF0aW9uLmF0dHJpYnV0ZU5hbWUgPT09ICdkYXRhLW5lZ2F0aXZlJykge1xuICAgICAgICB0aGlzLm5lZ2F0aXZlID0gdGhpcy5oYXNBdHRyaWJ1dGUoJ2RhdGEtbmVnYXRpdmUnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRlbnRDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY29udGVudENoYW5nZWQpIHtcbiAgICAgIHRoaXMuaGFuZGxlSGlnaGxpZ2h0U3RhdGUoKTtcbiAgICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ29wdGlvbkxhYmVsQ2hhbmdlZCcsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUhpZ2hsaWdodFN0YXRlKCk6IHZvaWQge1xuICAgIGNvbnN0IHNsb3ROb2RlcyA9IEFycmF5LmZyb20odGhpcy5jaGlsZE5vZGVzID8/IFtdKS5maWx0ZXIoXG4gICAgICAobikgPT4gbi5ub2RlVHlwZSAhPT0gTm9kZS5DT01NRU5UX05PREUgJiYgKCEobiBpbnN0YW5jZW9mIEVsZW1lbnQpIHx8IG4uc2xvdCAhPT0gJ2ljb24nKSxcbiAgICApO1xuICAgIGNvbnN0IGxhYmVsTm9kZXMgPSBzbG90Tm9kZXMuZmlsdGVyKChlbCkgPT4gZWwubm9kZVR5cGUgPT09IE5vZGUuVEVYVF9OT0RFKSBhcyBUZXh0W107XG5cbiAgICAvLyBEaXNhYmxlIHRoZSBoaWdobGlnaHQgaWYgdGhlIHNsb3QgY29udGFpbiBtb3JlIHRoYW4ganVzdCB0ZXh0IG5vZGVzLlxuICAgIC8vIFdlIG5lZWQgdG8gaWdub3JlIHRlbXBsYXRlIGVsZW1lbnRzLCBhcyBTU1IgYWRkcyBhIGRlY2xhcmF0aXZlIHNoYWRvdyBET01cbiAgICAvLyBpbiB0aGUgZm9ybSBvZiBhIHRlbXBsYXRlIGVsZW1lbnQuXG4gICAgaWYgKFxuICAgICAgbGFiZWxOb2Rlcy5sZW5ndGggPT09IDAgfHxcbiAgICAgIHNsb3ROb2Rlcy5maWx0ZXIoKG4pID0+ICEobiBpbnN0YW5jZW9mIEVsZW1lbnQpIHx8IG4ubG9jYWxOYW1lICE9PSAndGVtcGxhdGUnKS5sZW5ndGggIT09XG4gICAgICAgIGxhYmVsTm9kZXMubGVuZ3RoXG4gICAgKSB7XG4gICAgICB0aGlzLnVwZGF0ZURpc2FibGVIaWdobGlnaHQodHJ1ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubGFiZWwgPSBsYWJlbE5vZGVzXG4gICAgICAubWFwKChsKSA9PiBsLndob2xlVGV4dClcbiAgICAgIC5maWx0ZXIoKGwpID0+IGwudHJpbSgpKVxuICAgICAgLmpvaW4oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRIaWdobGlnaHRlZExhYmVsKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBpZiAoIXRoaXMuX2hpZ2hsaWdodFN0cmluZyB8fCAhdGhpcy5faGlnaGxpZ2h0U3RyaW5nLnRyaW0oKSkge1xuICAgICAgcmV0dXJuIGh0bWxgJHt0aGlzLmxhYmVsfWA7XG4gICAgfVxuXG4gICAgY29uc3QgbWF0Y2hJbmRleCA9IHRoaXMubGFiZWwhLnRvTG93ZXJDYXNlKCkuaW5kZXhPZih0aGlzLl9oaWdobGlnaHRTdHJpbmcudG9Mb3dlckNhc2UoKSk7XG5cbiAgICBpZiAobWF0Y2hJbmRleCA9PT0gLTEpIHtcbiAgICAgIHJldHVybiBodG1sYCR7dGhpcy5sYWJlbH1gO1xuICAgIH1cblxuICAgIGNvbnN0IHByZWZpeCA9IHRoaXMubGFiZWwhLnN1YnN0cmluZygwLCBtYXRjaEluZGV4KTtcbiAgICBjb25zdCBoaWdobGlnaHRlZCA9IHRoaXMubGFiZWwhLnN1YnN0cmluZyhcbiAgICAgIG1hdGNoSW5kZXgsXG4gICAgICBtYXRjaEluZGV4ICsgdGhpcy5faGlnaGxpZ2h0U3RyaW5nLmxlbmd0aCxcbiAgICApO1xuICAgIGNvbnN0IHBvc3RmaXggPSB0aGlzLmxhYmVsIS5zdWJzdHJpbmcobWF0Y2hJbmRleCArIHRoaXMuX2hpZ2hsaWdodFN0cmluZy5sZW5ndGgpO1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi1vcHRpb25fX2xhYmVsLS1oaWdobGlnaHRcIj4ke3ByZWZpeH08L3NwYW4+PHNwYW4+JHtoaWdobGlnaHRlZH08L3NwYW5cbiAgICAgID48c3BhbiBjbGFzcz1cInNiYi1vcHRpb25fX2xhYmVsLS1oaWdobGlnaHRcIj4ke3Bvc3RmaXh9PC9zcGFuPlxuICAgIGA7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVuZGVySWNvbigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgIDxzcGFuIGNsYXNzPVwic2JiLW9wdGlvbl9faWNvblwiPiAke3RoaXMucmVuZGVySWNvblNsb3QoKX0gPC9zcGFuPmA7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVuZGVyTGFiZWwoKTogVGVtcGxhdGVSZXN1bHQgfCB0eXBlb2Ygbm90aGluZyB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWwgJiYgIXRoaXMuZGlzYWJsZUxhYmVsSGlnaGxpZ2h0ID8gdGhpcy5nZXRIaWdobGlnaHRlZExhYmVsKCkgOiBub3RoaW5nO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbmRlclRpY2soKTogVGVtcGxhdGVSZXN1bHQgfCB0eXBlb2Ygbm90aGluZyB7XG4gICAgcmV0dXJuIG5vdGhpbmc7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0aW9uX19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1vcHRpb25cIj5cbiAgICAgICAgICAke3RoaXMucmVuZGVySWNvbigpfVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLW9wdGlvbl9fbGFiZWxcIj5cbiAgICAgICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5oYW5kbGVIaWdobGlnaHRTdGF0ZX0+PC9zbG90PlxuICAgICAgICAgICAgJHt0aGlzLnJlbmRlckxhYmVsKCl9XG4gICAgICAgICAgICAke3RoaXMuX2luZXJ0QXJpYUdyb3VwcyAmJiB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1ncm91cC1sYWJlbCcpXG4gICAgICAgICAgICAgID8gaHRtbGA8c2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgICAgICAgICAgICgke3RoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLWdyb3VwLWxhYmVsJyl9KTwvc2JiLXNjcmVlbi1yZWFkZXItb25seVxuICAgICAgICAgICAgICAgID5gXG4gICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgJHt0aGlzLnJlbmRlclRpY2soKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEdsb2JhbEV2ZW50SGFuZGxlcnNFdmVudE1h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
@@ -21,7 +21,7 @@ const style = css`*,
21
21
  --sbb-option-min-height: var(--sbb-size-element-s);
22
22
  --sbb-option-column-gap: var(--sbb-spacing-responsive-xxxs);
23
23
  --sbb-option-justify-content: start;
24
- --sbb-option-cursor: pointer;
24
+ --sbb-option-cursor: var(--sbb-cursor-pointer);
25
25
  --sbb-option-border-radius: var(--sbb-border-radius-4x);
26
26
  --sbb-option-icon-color: var(--sbb-color-metal);
27
27
  --sbb-option-icon-color: light-dark(var(--sbb-color-metal), var(--sbb-color-smoke));
@@ -55,7 +55,7 @@ const style = css`*,
55
55
  }
56
56
 
57
57
  :host(:is([data-group-disabled], [disabled])) {
58
- --sbb-option-cursor: default;
58
+ --sbb-option-cursor: var(--sbb-cursor-default);
59
59
  }
60
60
  @media (forced-colors: active) {
61
61
  :host(:is([data-group-disabled], [disabled])) {
@@ -1 +1 @@
1
- {"version":3,"file":"paginator-common.d.ts","sourceRoot":"","sources":["../../../../../src/elements/paginator/common/paginator-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAuB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAItF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AASlE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EACL,KAAK,mBAAmB,EAIzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,6BAA6B,CAAC;AACrC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,kBAAkB,CAAC;;AAE1B,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,kCAAmC,SAAQ,uCAExE;IACC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,aAAa,EAAE,OAAO,GAAG,KAAK,CAAC;IAC/C,SAAgB,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IAChC,SAAgB,sBAAsB,EAAE,MAAM,CAAC;IAC/C,SAAgB,8BAA8B,EAAE,MAAM,CAAC;IACvD,SAAgB,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,IAAI,IAAI;IAChB,YAAY,IAAI,IAAI;IACpB,SAAS,IAAI,IAAI;IACjB,QAAQ,IAAI,IAAI;IAChB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC/B,eAAe,IAAI,OAAO;IAC1B,WAAW,IAAI,OAAO;IACtB,aAAa,IAAI,MAAM;IAC9B,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IAC1C,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IACpD,SAAS,CAAC,aAAa,CAAC,iBAAiB,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAC5E,SAAS,CAAC,qBAAqB,IAAI,cAAc;IACjD,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,cAAc;CACrD;AAGD,eAAO,MAAM,8BAA8B,GAAI,CAAC,SAAS,mBAAmB,CAAC,UAAU,CAAC,EACtF,YAAY,CAAC,KACZ,mBAAmB,CAAC,kCAAkC,CAAC,GAAG,CA6Q5D,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,mBAAmB;QAC3B,IAAI,EAAE,WAAW,CAAC,4BAA4B,CAAC,CAAC;KACjD;CACF"}
1
+ {"version":3,"file":"paginator-common.d.ts","sourceRoot":"","sources":["../../../../../src/elements/paginator/common/paginator-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAuB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAItF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AASlE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EACL,KAAK,mBAAmB,EAIzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,6BAA6B,CAAC;AACrC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,kBAAkB,CAAC;;AAE1B,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,kCAAmC,SAAQ,uCAExE;IACC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,aAAa,EAAE,OAAO,GAAG,KAAK,CAAC;IAC/C,SAAgB,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IAChC,SAAgB,sBAAsB,EAAE,MAAM,CAAC;IAC/C,SAAgB,8BAA8B,EAAE,MAAM,CAAC;IACvD,SAAgB,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,IAAI,IAAI;IAChB,YAAY,IAAI,IAAI;IACpB,SAAS,IAAI,IAAI;IACjB,QAAQ,IAAI,IAAI;IAChB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC/B,eAAe,IAAI,OAAO;IAC1B,WAAW,IAAI,OAAO;IACtB,aAAa,IAAI,MAAM;IAC9B,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IAE1C,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IACpD,SAAS,CAAC,aAAa,CAAC,iBAAiB,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAC5E,SAAS,CAAC,qBAAqB,IAAI,cAAc;IACjD,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,cAAc;CACrD;AAGD,eAAO,MAAM,8BAA8B,GAAI,CAAC,SAAS,mBAAmB,CAAC,UAAU,CAAC,EACtF,YAAY,CAAC,KACZ,mBAAmB,CAAC,kCAAkC,CAAC,GAAG,CAoP5D,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,mBAAmB;QAC3B,IAAI,EAAE,WAAW,CAAC,4BAA4B,CAAC,CAAC;KACjD;CACF"}
@@ -144,7 +144,7 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
144
144
  if (changedProperties.has("pageSize") && this.pageSize !== changedProperties.get("pageSize")) {
145
145
  const previousPageSize = changedProperties.get("pageSize");
146
146
  this.pageSize = isNaN(this.pageSize) || this.pageSize < 0 ? 0 : this.pageSize;
147
- if (previousPageSize) {
147
+ if (previousPageSize && !changedProperties.has("pageIndex")) {
148
148
  this.pageIndex = Math.floor(this.pageIndex * previousPageSize / this.pageSize) || 0;
149
149
  }
150
150
  prevPageIndex = this.pageIndex;
@@ -154,7 +154,7 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
154
154
  prevPageIndex = changedProperties.get("pageIndex");
155
155
  }
156
156
  if (prevPageIndex !== null) {
157
- this._emitPrivatePageEvent(prevPageIndex);
157
+ this._emitPageEvent(prevPageIndex);
158
158
  }
159
159
  }
160
160
  updated(changedProperties) {
@@ -168,11 +168,6 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
168
168
  _currentPageLabel() {
169
169
  return `${this.accessibilityPageLabel ? this.accessibilityPageLabel : i18nPage[this.language.current]} ${this.pageIndex + 1} ${i18nPaginatorSelected[this.language.current]}.`;
170
170
  }
171
- changeAndEmitPage(pageIndex) {
172
- const prevPageIndex = this.pageIndex;
173
- this.pageIndex = pageIndex;
174
- this.emitPageEvent(prevPageIndex);
175
- }
176
171
  /** Advances to the next page if it exists. */
177
172
  nextPage() {
178
173
  this.pageIndex = this.pageIndex + 1;
@@ -209,21 +204,9 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
209
204
  numberOfPages() {
210
205
  return this.pageSize ? Math.ceil(this.length / this.pageSize) : 0;
211
206
  }
212
- emitPageEvent(previousPageIndex, pageIndex) {
213
- this.dispatchEvent(new CustomEvent("page", {
214
- bubbles: true,
215
- composed: true,
216
- detail: {
217
- previousPageIndex,
218
- pageIndex: pageIndex ?? this.pageIndex,
219
- length: this.length,
220
- pageSize: this.pageSize
221
- }
222
- }));
223
- }
224
- _emitPrivatePageEvent(previousPageIndex) {
207
+ _emitPageEvent(previousPageIndex) {
225
208
  if (this.hasUpdated) {
226
- this.dispatchEvent(new CustomEvent("ɵpage", {
209
+ this.dispatchEvent(new CustomEvent("page", {
227
210
  bubbles: true,
228
211
  composed: true,
229
212
  detail: {
@@ -244,7 +227,7 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
244
227
  icon-name="chevron-small-left-small"
245
228
  ?disabled=${this.disabled || !this.hasPreviousPage()}
246
229
  @click=${() => {
247
- this.changeAndEmitPage(this.pageIndex - 1);
230
+ this.previousPage();
248
231
  if (!this.hasPreviousPage() && sbbInputModalityDetector.mostRecentModality === "keyboard") {
249
232
  this.shadowRoot?.getElementById("sbb-paginator-next-page").focus();
250
233
  }
@@ -257,7 +240,7 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
257
240
  icon-name="chevron-small-right-small"
258
241
  ?disabled=${this.disabled || !this.hasNextPage()}
259
242
  @click=${() => {
260
- this.changeAndEmitPage(this.pageIndex + 1);
243
+ this.nextPage();
261
244
  if (!this.hasNextPage() && sbbInputModalityDetector.mostRecentModality === "keyboard") {
262
245
  this.shadowRoot?.getElementById("sbb-paginator-prev-page").focus();
263
246
  }
@@ -314,4 +297,4 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
314
297
  export {
315
298
  SbbPaginatorCommonElementMixin
316
299
  };
317
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLWNvbW1vbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BhZ2luYXRvci9jb21tb24vcGFnaW5hdG9yLWNvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBodG1sLCB0eXBlIExpdEVsZW1lbnQsIHR5cGUgUHJvcGVydHlWYWx1ZXMsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IHNiYklucHV0TW9kYWxpdHlEZXRlY3RvciB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS9pbnB1dC1tb2RhbGl0eS1kZXRlY3Rvci5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQge1xuICBpMThuTmV4dFBhZ2UsXG4gIGkxOG5QYWdlLFxuICBpMThuUGFnaW5hdG9yU2VsZWN0ZWQsXG4gIGkxOG5QcmV2aW91c1BhZ2UsXG59IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlBhZ2luYXRvclBhZ2VFdmVudERldGFpbHMgfSBmcm9tICcuLi8uLi9jb3JlL2ludGVyZmFjZXMuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBBYnN0cmFjdENvbnN0cnVjdG9yLFxuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG4gIFNiYk5lZ2F0aXZlTWl4aW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0ICcuLi8uLi9idXR0b24vbWluaS1idXR0b24uanMnO1xuaW1wb3J0ICcuLi8uLi9idXR0b24vbWluaS1idXR0b24tZ3JvdXAuanMnO1xuaW1wb3J0ICcuLi8uLi9kaXZpZGVyLmpzJztcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZSBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oXG4gIFNiYkRpc2FibGVkTWl4aW4oU2JiRWxlbWVudEludGVybmFsc01peGluKExpdEVsZW1lbnQpKSxcbikge1xuICBwdWJsaWMgYWNjZXNzb3IgbGVuZ3RoOiBudW1iZXI7XG4gIHB1YmxpYyBhY2Nlc3NvciBwYWdlU2l6ZTogbnVtYmVyO1xuICBwdWJsaWMgYWNjZXNzb3IgcGFnZUluZGV4OiBudW1iZXI7XG4gIHB1YmxpYyBhY2Nlc3NvciBwYWdlclBvc2l0aW9uOiAnc3RhcnQnIHwgJ2VuZCc7XG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAnbScgfCAncyc7XG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5UGFnZUxhYmVsOiBzdHJpbmc7XG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5UHJldmlvdXNQYWdlTGFiZWw6IHN0cmluZztcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlOZXh0UGFnZUxhYmVsOiBzdHJpbmc7XG4gIHB1YmxpYyBuZXh0UGFnZSgpOiB2b2lkO1xuICBwdWJsaWMgcHJldmlvdXNQYWdlKCk6IHZvaWQ7XG4gIHB1YmxpYyBmaXJzdFBhZ2UoKTogdm9pZDtcbiAgcHVibGljIGxhc3RQYWdlKCk6IHZvaWQ7XG4gIHB1YmxpYyBzZWxlY3RQYWdlKGluZGV4OiBudW1iZXIpOiB2b2lkO1xuICBwdWJsaWMgaGFzUHJldmlvdXNQYWdlKCk6IGJvb2xlYW47XG4gIHB1YmxpYyBoYXNOZXh0UGFnZSgpOiBib29sZWFuO1xuICBwdWJsaWMgbnVtYmVyT2ZQYWdlcygpOiBudW1iZXI7XG4gIHByb3RlY3RlZCBsYW5ndWFnZTogU2JiTGFuZ3VhZ2VDb250cm9sbGVyO1xuICBwcm90ZWN0ZWQgY2hhbmdlQW5kRW1pdFBhZ2UocGFnZUluZGV4OiBudW1iZXIpOiB2b2lkO1xuICBwcm90ZWN0ZWQgZW1pdFBhZ2VFdmVudChwcmV2aW91c1BhZ2VJbmRleDogbnVtYmVyLCBwYWdlSW5kZXg/OiBudW1iZXIpOiB2b2lkO1xuICBwcm90ZWN0ZWQgcmVuZGVyUHJldk5leHRCdXR0b25zKCk6IFRlbXBsYXRlUmVzdWx0O1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVuZGVyUGFnaW5hdG9yKCk6IFRlbXBsYXRlUmVzdWx0O1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudFxuICAgIGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJEaXNhYmxlZE1peGluKFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihzdXBlckNsYXNzKSkpXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJvbGUgPSAnZ3JvdXAnO1xuXG4gICAgLyoqIFRvdGFsIG51bWJlciBvZiBpdGVtcy4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBOdW1iZXIgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgbGVuZ3RoOiBudW1iZXIgPSAwO1xuXG4gICAgLyoqIE51bWJlciBvZiBpdGVtcyBwZXIgcGFnZS4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwYWdlLXNpemUnLCB0eXBlOiBOdW1iZXIgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgcGFnZVNpemU6IG51bWJlciA9IDEwO1xuXG4gICAgLyoqIEN1cnJlbnQgcGFnZSBpbmRleC4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwYWdlLWluZGV4JywgdHlwZTogTnVtYmVyIH0pXG4gICAgcHVibGljIGFjY2Vzc29yIHBhZ2VJbmRleDogbnVtYmVyID0gMDtcblxuICAgIC8qKiBQb3NpdGlvbiBvZiB0aGUgcHJldi9uZXh0IGJ1dHRvbnMuICovXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZXItcG9zaXRpb24nLCByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBwYWdlclBvc2l0aW9uOlxuICAgICAgfCAnc3RhcnQnXG4gICAgICB8ICdlbmQnID0gJ3N0YXJ0JztcblxuICAgIC8qKlxuICAgICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIG0gb3Igcy5cbiAgICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAgICovXG4gICAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ20nIHwgJ3MnID0gaXNMZWFuKCkgPyAncycgOiAnbSc7XG5cbiAgICAvKipcbiAgICAgKiBBY2Nlc3NpYmlsaXR5IGxhYmVsIGZvciB0aGUgcGFnZS4gRGVmYXVsdHMgdG8gYHBhZ2VgLlxuICAgICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgICAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktcGFnZS1sYWJlbCcgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eVBhZ2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBBY2Nlc3NpYmlsaXR5IGxhYmVsIGZvciB0aGUgcHJldmlvdXMgcGFnZS4gRGVmYXVsdHMgdG8gYHByZXZpb3VzIHBhZ2VgLlxuICAgICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgICAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktcHJldmlvdXMtcGFnZS1sYWJlbCcgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eVByZXZpb3VzUGFnZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIEFjY2Vzc2liaWxpdHkgbGFiZWwgZm9yIHRoZSBuZXh0IHBhZ2UuIERlZmF1bHRzIHRvIGBuZXh0IHBhZ2VgLlxuICAgICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgICAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktbmV4dC1wYWdlLWxhYmVsJyB9KVxuICAgIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5TmV4dFBhZ2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICBwcm90ZWN0ZWQgbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCByZW5kZXJQYWdpbmF0b3IoKTogVGVtcGxhdGVSZXN1bHQ7XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgICAgbGV0IHByZXZQYWdlSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsZW5ndGgnKSAmJiB0aGlzLmxlbmd0aCAhPT0gY2hhbmdlZFByb3BlcnRpZXMuZ2V0KCdsZW5ndGgnKSkge1xuICAgICAgICB0aGlzLmxlbmd0aCA9IGlzTmFOKHRoaXMubGVuZ3RoKSB8fCB0aGlzLmxlbmd0aCA8IDAgPyAwIDogdGhpcy5sZW5ndGg7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB0aGUgcGFnZUluZGV4IGNoYW5nZXMsIGl0J3MgYWRkZWQgaW4gdGhlIGNoYW5nZWRQcm9wZXJ0aWVzIG1hcFxuICAgICAgICAgKiBhbmQgaGFuZGxlZCBpbiB0aGUgcGFnZUluZGV4IGxvZ2ljIGJlbG93LCBlbWl0dGluZyB0aGUgcGFnZSBldmVudC5cbiAgICAgICAgICogSWYgdGhlIHBhZ2VJbmRleCBkb2Vzbid0IGNoYW5nZSB0aGVyZSdzIG5vIG5lZWQgdG8gZW1pdC5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMucGFnZUluZGV4ID0gdGhpcy5fY29lcmNlUGFnZUluZGV4SW5SYW5nZSh0aGlzLnBhZ2VJbmRleCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdwYWdlU2l6ZScpICYmXG4gICAgICAgIHRoaXMucGFnZVNpemUgIT09IGNoYW5nZWRQcm9wZXJ0aWVzLmdldCgncGFnZVNpemUnKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzUGFnZVNpemUgPSBjaGFuZ2VkUHJvcGVydGllcy5nZXQoJ3BhZ2VTaXplJyk7XG4gICAgICAgIHRoaXMucGFnZVNpemUgPSBpc05hTih0aGlzLnBhZ2VTaXplKSB8fCB0aGlzLnBhZ2VTaXplIDwgMCA/IDAgOiB0aGlzLnBhZ2VTaXplO1xuICAgICAgICAvLyBDdXJyZW50IHBhZ2UgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byByZWZsZWN0IHRoZSBuZXcgcGFnZSBzaXplLlxuICAgICAgICAvLyBOYXZpZ2F0ZSB0byB0aGUgcGFnZSBjb250YWluaW5nIHRoZSBwcmV2aW91cyBwYWdlJ3MgZmlyc3QgaXRlbS5cbiAgICAgICAgaWYgKHByZXZpb3VzUGFnZVNpemUpIHtcbiAgICAgICAgICB0aGlzLnBhZ2VJbmRleCA9IE1hdGguZmxvb3IoKHRoaXMucGFnZUluZGV4ICogcHJldmlvdXNQYWdlU2l6ZSkgLyB0aGlzLnBhZ2VTaXplKSB8fCAwO1xuICAgICAgICB9XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB0aGUgcGFnZUluZGV4IGNoYW5nZXMsIGl0J3MgYWRkZWQgaW4gdGhlIGNoYW5nZWRQcm9wZXJ0aWVzIG1hcCxcbiAgICAgICAgICogYW5kIHRoaXMgbGluZSBpcyB1c2VsZXNzLCBzaW5jZSB0aGUgY29ycmVjdCB2YWx1ZSB3aWxsIGJlIGNhbGN1bGF0ZWQgaW4gdGhlIGxvZ2ljIGJlbG93O1xuICAgICAgICAgKiBpZiB0aGUgcGFnZUluZGV4IGRvZXNuJ3QgY2hhbmdlIChlLmcuIGNoYW5nZSBwYWdlU2l6ZSBhdCBwYWdlSW5kZXggMCksIHRoZSBwcmV2UGFnZUluZGV4IGFuZCBwYWdlSW5kZXggYXJlIHRoZSBzYW1lLlxuICAgICAgICAgKiBJbiBib3RoIGNhc2UgdGhlIHBhZ2UgZXZlbnQgbXVzdCBiZSB0cmlnZ2VyZWQgdG8gYWxsb3cgY29uc3VtZXJzIHRvIHJldHJpZXZlIHRoZSBjb3JyZWN0IGRhdGEuXG4gICAgICAgICAqL1xuICAgICAgICBwcmV2UGFnZUluZGV4ID0gdGhpcy5wYWdlSW5kZXg7XG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdwYWdlSW5kZXgnKSAmJlxuICAgICAgICB0aGlzLnBhZ2VJbmRleCAhPT0gY2hhbmdlZFByb3BlcnRpZXMuZ2V0KCdwYWdlSW5kZXgnKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMucGFnZUluZGV4ID0gdGhpcy5fY29lcmNlUGFnZUluZGV4SW5SYW5nZSh0aGlzLnBhZ2VJbmRleCk7XG4gICAgICAgIHByZXZQYWdlSW5kZXggPSBjaGFuZ2VkUHJvcGVydGllcy5nZXQoJ3BhZ2VJbmRleCcpITtcbiAgICAgIH1cblxuICAgICAgaWYgKHByZXZQYWdlSW5kZXggIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5fZW1pdFByaXZhdGVQYWdlRXZlbnQocHJldlBhZ2VJbmRleCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgICBzdXBlci51cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgICAgLy8gVG8gcmVsaWFibHkgYW5ub3VuY2UgcGFnZSBjaGFuZ2UsIHdlIGhhdmUgdG8gc2V0IHRoZSBsYWJlbCBpbiB1cGRhdGVkKCkgKGEgdGljayBsYXRlciB0aGFuIHRoZSBvdGhlciBjaGFuZ2VzKS5cbiAgICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3Rvcignc2JiLXNjcmVlbi1yZWFkZXItb25seSNzdGF0dXMnKSEudGV4dENvbnRlbnQgPVxuICAgICAgICB0aGlzLl9jdXJyZW50UGFnZUxhYmVsKCk7XG4gICAgfVxuXG4gICAgLyoqIEV2YWx1YXRlIGBwYWdlSW5kZXhgIGJ5IGV4Y2x1ZGluZyBlZGdlIGNhc2VzLiAqL1xuICAgIHByaXZhdGUgX2NvZXJjZVBhZ2VJbmRleEluUmFuZ2UocGFnZUluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgcmV0dXJuIE1hdGgubWF4KFxuICAgICAgICBNYXRoLm1pbihNYXRoLm1heChpc05hTihwYWdlSW5kZXgpID8gMCA6IHBhZ2VJbmRleCwgMCksIHRoaXMubnVtYmVyT2ZQYWdlcygpIC0gMSksXG4gICAgICAgIDAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2N1cnJlbnRQYWdlTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWwgPyB0aGlzLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWwgOiBpMThuUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfSAke3RoaXMucGFnZUluZGV4ICsgMX0gJHtpMThuUGFnaW5hdG9yU2VsZWN0ZWRbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0uYDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2hhbmdlQW5kRW1pdFBhZ2UocGFnZUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgIGNvbnN0IHByZXZQYWdlSW5kZXggPSB0aGlzLnBhZ2VJbmRleDtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gcGFnZUluZGV4O1xuICAgICAgdGhpcy5lbWl0UGFnZUV2ZW50KHByZXZQYWdlSW5kZXgpO1xuICAgIH1cblxuICAgIC8qKiBBZHZhbmNlcyB0byB0aGUgbmV4dCBwYWdlIGlmIGl0IGV4aXN0cy4gKi9cbiAgICBwdWJsaWMgbmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgICB0aGlzLnBhZ2VJbmRleCA9IHRoaXMucGFnZUluZGV4ICsgMTtcbiAgICB9XG5cbiAgICAvKiogTW92ZSBiYWNrIHRvIHRoZSBwcmV2aW91cyBwYWdlIGlmIGl0IGV4aXN0cy4gKi9cbiAgICBwdWJsaWMgcHJldmlvdXNQYWdlKCk6IHZvaWQge1xuICAgICAgdGhpcy5wYWdlSW5kZXggPSB0aGlzLnBhZ2VJbmRleCAtIDE7XG4gICAgfVxuXG4gICAgLyoqIE1vdmUgdG8gdGhlIGZpcnN0IHBhZ2UgaWYgbm90IGFscmVhZHkgdGhlcmUuICovXG4gICAgcHVibGljIGZpcnN0UGFnZSgpOiB2b2lkIHtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gMDtcbiAgICB9XG5cbiAgICAvKiogTW92ZSB0byB0aGUgbGFzdCBwYWdlIGlmIG5vdCBhbHJlYWR5IHRoZXJlLiAqL1xuICAgIHB1YmxpYyBsYXN0UGFnZSgpOiB2b2lkIHtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gdGhpcy5udW1iZXJPZlBhZ2VzKCkgLSAxO1xuICAgIH1cblxuICAgIC8qKiBNb3ZlIHRvIGEgc3BlY2lmaWMgcGFnZSBpbmRleC4gKi9cbiAgICBwdWJsaWMgc2VsZWN0UGFnZShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICB0aGlzLnBhZ2VJbmRleCA9IGluZGV4O1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZXJlIGlzIGEgcHJldmlvdXMgcGFnZS4gKi9cbiAgICBwdWJsaWMgaGFzUHJldmlvdXNQYWdlKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMucGFnZUluZGV4ID49IDEgJiYgdGhpcy5wYWdlU2l6ZSAhPT0gMDtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGVyZSBpcyBhIG5leHQgcGFnZS4gKi9cbiAgICBwdWJsaWMgaGFzTmV4dFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgICBjb25zdCBtYXhQYWdlSW5kZXggPSB0aGlzLm51bWJlck9mUGFnZXMoKSAtIDE7XG4gICAgICByZXR1cm4gdGhpcy5wYWdlSW5kZXggPCBtYXhQYWdlSW5kZXggJiYgdGhpcy5wYWdlU2l6ZSAhPT0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBjdXJyZW50IG51bWJlciBvZiBwYWdlcyBiYXNlZCBvbiB0aGUgYGxlbmd0aGAgYW5kIHRoZSBgcGFnZVNpemVgO1xuICAgICAqIHZhbHVlIG11c3QgYmUgcm91bmRlZCB1cCAoZS5nLiBgbGVuZ3RoID0gMjFgIGFuZCBgcGFnZVNpemUgPSAxMGAgbWVhbnMgMyBwYWdlcykuXG4gICAgICovXG4gICAgcHVibGljIG51bWJlck9mUGFnZXMoKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiB0aGlzLnBhZ2VTaXplID8gTWF0aC5jZWlsKHRoaXMubGVuZ3RoIC8gdGhpcy5wYWdlU2l6ZSkgOiAwO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBlbWl0UGFnZUV2ZW50KHByZXZpb3VzUGFnZUluZGV4OiBudW1iZXIsIHBhZ2VJbmRleD86IG51bWJlcik6IHZvaWQge1xuICAgICAgLyoqXG4gICAgICAgKiBAdHlwZSB7Q3VzdG9tRXZlbnQ8U2JiUGFnaW5hdG9yUGFnZUV2ZW50RGV0YWlscz59XG4gICAgICAgKiBUaGUgcGFnZSBldmVudCBpcyBkaXNwYXRjaGVkIHdoZW5ldmVyIHRoZSB1c2VyIGNoYW5nZXMgdGhlIHBhZ2UuXG4gICAgICAgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYlBhZ2luYXRvclBhZ2VFdmVudERldGFpbHM+KCdwYWdlJywge1xuICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICBwcmV2aW91c1BhZ2VJbmRleCxcbiAgICAgICAgICAgIHBhZ2VJbmRleDogcGFnZUluZGV4ID8/IHRoaXMucGFnZUluZGV4LFxuICAgICAgICAgICAgbGVuZ3RoOiB0aGlzLmxlbmd0aCxcbiAgICAgICAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9lbWl0UHJpdmF0ZVBhZ2VFdmVudChwcmV2aW91c1BhZ2VJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAaW50ZXJuYWxcbiAgICAgICAgICogQHR5cGUge0N1c3RvbUV2ZW50PFNiYlBhZ2luYXRvclBhZ2VFdmVudERldGFpbHM+fVxuICAgICAgICAgKiBUaGUgcGFnZSBldmVudCBpcyBkaXNwYXRjaGVkIHdoZW4gdGhlIHBhZ2UgaW5kZXggY2hhbmdlcy5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICBuZXcgQ3VzdG9tRXZlbnQ8U2JiUGFnaW5hdG9yUGFnZUV2ZW50RGV0YWlscz4oJ8m1cGFnZScsIHtcbiAgICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgICBjb21wb3NlZDogdHJ1ZSxcbiAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICBwcmV2aW91c1BhZ2VJbmRleCxcbiAgICAgICAgICAgICAgcGFnZUluZGV4OiB0aGlzLnBhZ2VJbmRleCxcbiAgICAgICAgICAgICAgbGVuZ3RoOiB0aGlzLmxlbmd0aCxcbiAgICAgICAgICAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCByZW5kZXJQcmV2TmV4dEJ1dHRvbnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDxzYmItbWluaS1idXR0b24tZ3JvdXAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX0gc2l6ZT0ke3RoaXMuc2l6ZSA9PT0gJ3MnID8gJ3MnIDogJ2wnfT5cbiAgICAgICAgICA8c2JiLW1pbmktYnV0dG9uXG4gICAgICAgICAgICBpZD1cInNiYi1wYWdpbmF0b3ItcHJldi1wYWdlXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlQcmV2aW91c1BhZ2VMYWJlbFxuICAgICAgICAgICAgICA/IHRoaXMuYWNjZXNzaWJpbGl0eVByZXZpb3VzUGFnZUxhYmVsXG4gICAgICAgICAgICAgIDogaTE4blByZXZpb3VzUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgaWNvbi1uYW1lPVwiY2hldnJvbi1zbWFsbC1sZWZ0LXNtYWxsXCJcbiAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWQgfHwgIXRoaXMuaGFzUHJldmlvdXNQYWdlKCl9XG4gICAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuY2hhbmdlQW5kRW1pdFBhZ2UodGhpcy5wYWdlSW5kZXggLSAxKTtcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICF0aGlzLmhhc1ByZXZpb3VzUGFnZSgpICYmXG4gICAgICAgICAgICAgICAgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJ1xuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdzYmItcGFnaW5hdG9yLW5leHQtcGFnZScpIS5mb2N1cygpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgID48L3NiYi1taW5pLWJ1dHRvbj5cbiAgICAgICAgICA8c2JiLWRpdmlkZXIgb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiPjwvc2JiLWRpdmlkZXI+XG4gICAgICAgICAgPHNiYi1taW5pLWJ1dHRvblxuICAgICAgICAgICAgaWQ9XCJzYmItcGFnaW5hdG9yLW5leHQtcGFnZVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5TmV4dFBhZ2VMYWJlbFxuICAgICAgICAgICAgICA/IHRoaXMuYWNjZXNzaWJpbGl0eU5leHRQYWdlTGFiZWxcbiAgICAgICAgICAgICAgOiBpMThuTmV4dFBhZ2VbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgIGljb24tbmFtZT1cImNoZXZyb24tc21hbGwtcmlnaHQtc21hbGxcIlxuICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5oYXNOZXh0UGFnZSgpfVxuICAgICAgICAgICAgQGNsaWNrPSR7KCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmNoYW5nZUFuZEVtaXRQYWdlKHRoaXMucGFnZUluZGV4ICsgMSk7XG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAhdGhpcy5oYXNOZXh0UGFnZSgpICYmXG4gICAgICAgICAgICAgICAgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJ1xuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdzYmItcGFnaW5hdG9yLXByZXYtcGFnZScpIS5mb2N1cygpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgID48L3NiYi1taW5pLWJ1dHRvbj5cbiAgICAgICAgPC9zYmItbWluaS1idXR0b24tZ3JvdXA+XG4gICAgICBgO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgICR7dGhpcy5yZW5kZXJQYWdpbmF0b3IoKX1cbiAgICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHkgaWQ9XCJzdGF0dXNcIiByb2xlPVwic3RhdHVzXCI+PC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgICAgYDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICZcbiAgICBUO1xufTtcblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRFdmVudE1hcCB7XG4gICAgcGFnZTogQ3VzdG9tRXZlbnQ8U2JiUGFnaW5hdG9yUGFnZUV2ZW50RGV0YWlscz47XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7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
300
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLWNvbW1vbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BhZ2luYXRvci9jb21tb24vcGFnaW5hdG9yLWNvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBodG1sLCB0eXBlIExpdEVsZW1lbnQsIHR5cGUgUHJvcGVydHlWYWx1ZXMsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IHNiYklucHV0TW9kYWxpdHlEZXRlY3RvciB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS9pbnB1dC1tb2RhbGl0eS1kZXRlY3Rvci5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQge1xuICBpMThuTmV4dFBhZ2UsXG4gIGkxOG5QYWdlLFxuICBpMThuUGFnaW5hdG9yU2VsZWN0ZWQsXG4gIGkxOG5QcmV2aW91c1BhZ2UsXG59IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlBhZ2luYXRvclBhZ2VFdmVudERldGFpbHMgfSBmcm9tICcuLi8uLi9jb3JlL2ludGVyZmFjZXMuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBBYnN0cmFjdENvbnN0cnVjdG9yLFxuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG4gIFNiYk5lZ2F0aXZlTWl4aW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0ICcuLi8uLi9idXR0b24vbWluaS1idXR0b24uanMnO1xuaW1wb3J0ICcuLi8uLi9idXR0b24vbWluaS1idXR0b24tZ3JvdXAuanMnO1xuaW1wb3J0ICcuLi8uLi9kaXZpZGVyLmpzJztcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZSBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oXG4gIFNiYkRpc2FibGVkTWl4aW4oU2JiRWxlbWVudEludGVybmFsc01peGluKExpdEVsZW1lbnQpKSxcbikge1xuICBwdWJsaWMgYWNjZXNzb3IgbGVuZ3RoOiBudW1iZXI7XG4gIHB1YmxpYyBhY2Nlc3NvciBwYWdlU2l6ZTogbnVtYmVyO1xuICBwdWJsaWMgYWNjZXNzb3IgcGFnZUluZGV4OiBudW1iZXI7XG4gIHB1YmxpYyBhY2Nlc3NvciBwYWdlclBvc2l0aW9uOiAnc3RhcnQnIHwgJ2VuZCc7XG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAnbScgfCAncyc7XG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5UGFnZUxhYmVsOiBzdHJpbmc7XG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5UHJldmlvdXNQYWdlTGFiZWw6IHN0cmluZztcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlOZXh0UGFnZUxhYmVsOiBzdHJpbmc7XG4gIHB1YmxpYyBuZXh0UGFnZSgpOiB2b2lkO1xuICBwdWJsaWMgcHJldmlvdXNQYWdlKCk6IHZvaWQ7XG4gIHB1YmxpYyBmaXJzdFBhZ2UoKTogdm9pZDtcbiAgcHVibGljIGxhc3RQYWdlKCk6IHZvaWQ7XG4gIHB1YmxpYyBzZWxlY3RQYWdlKGluZGV4OiBudW1iZXIpOiB2b2lkO1xuICBwdWJsaWMgaGFzUHJldmlvdXNQYWdlKCk6IGJvb2xlYW47XG4gIHB1YmxpYyBoYXNOZXh0UGFnZSgpOiBib29sZWFuO1xuICBwdWJsaWMgbnVtYmVyT2ZQYWdlcygpOiBudW1iZXI7XG4gIHByb3RlY3RlZCBsYW5ndWFnZTogU2JiTGFuZ3VhZ2VDb250cm9sbGVyO1xuICAvKiBAZGVwcmVjYXRlZCAqL1xuICBwcm90ZWN0ZWQgY2hhbmdlQW5kRW1pdFBhZ2UocGFnZUluZGV4OiBudW1iZXIpOiB2b2lkO1xuICBwcm90ZWN0ZWQgZW1pdFBhZ2VFdmVudChwcmV2aW91c1BhZ2VJbmRleDogbnVtYmVyLCBwYWdlSW5kZXg/OiBudW1iZXIpOiB2b2lkO1xuICBwcm90ZWN0ZWQgcmVuZGVyUHJldk5leHRCdXR0b25zKCk6IFRlbXBsYXRlUmVzdWx0O1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVuZGVyUGFnaW5hdG9yKCk6IFRlbXBsYXRlUmVzdWx0O1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudFxuICAgIGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJEaXNhYmxlZE1peGluKFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihzdXBlckNsYXNzKSkpXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJvbGUgPSAnZ3JvdXAnO1xuXG4gICAgLyoqIFRvdGFsIG51bWJlciBvZiBpdGVtcy4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBOdW1iZXIgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgbGVuZ3RoOiBudW1iZXIgPSAwO1xuXG4gICAgLyoqIE51bWJlciBvZiBpdGVtcyBwZXIgcGFnZS4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwYWdlLXNpemUnLCB0eXBlOiBOdW1iZXIgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgcGFnZVNpemU6IG51bWJlciA9IDEwO1xuXG4gICAgLyoqIEN1cnJlbnQgcGFnZSBpbmRleC4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwYWdlLWluZGV4JywgdHlwZTogTnVtYmVyIH0pXG4gICAgcHVibGljIGFjY2Vzc29yIHBhZ2VJbmRleDogbnVtYmVyID0gMDtcblxuICAgIC8qKiBQb3NpdGlvbiBvZiB0aGUgcHJldi9uZXh0IGJ1dHRvbnMuICovXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZXItcG9zaXRpb24nLCByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBwYWdlclBvc2l0aW9uOlxuICAgICAgfCAnc3RhcnQnXG4gICAgICB8ICdlbmQnID0gJ3N0YXJ0JztcblxuICAgIC8qKlxuICAgICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIG0gb3Igcy5cbiAgICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAgICovXG4gICAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ20nIHwgJ3MnID0gaXNMZWFuKCkgPyAncycgOiAnbSc7XG5cbiAgICAvKipcbiAgICAgKiBBY2Nlc3NpYmlsaXR5IGxhYmVsIGZvciB0aGUgcGFnZS4gRGVmYXVsdHMgdG8gYHBhZ2VgLlxuICAgICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgICAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktcGFnZS1sYWJlbCcgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eVBhZ2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBBY2Nlc3NpYmlsaXR5IGxhYmVsIGZvciB0aGUgcHJldmlvdXMgcGFnZS4gRGVmYXVsdHMgdG8gYHByZXZpb3VzIHBhZ2VgLlxuICAgICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgICAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktcHJldmlvdXMtcGFnZS1sYWJlbCcgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eVByZXZpb3VzUGFnZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIEFjY2Vzc2liaWxpdHkgbGFiZWwgZm9yIHRoZSBuZXh0IHBhZ2UuIERlZmF1bHRzIHRvIGBuZXh0IHBhZ2VgLlxuICAgICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgICAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktbmV4dC1wYWdlLWxhYmVsJyB9KVxuICAgIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5TmV4dFBhZ2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICBwcm90ZWN0ZWQgbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCByZW5kZXJQYWdpbmF0b3IoKTogVGVtcGxhdGVSZXN1bHQ7XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgICAgbGV0IHByZXZQYWdlSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsZW5ndGgnKSAmJiB0aGlzLmxlbmd0aCAhPT0gY2hhbmdlZFByb3BlcnRpZXMuZ2V0KCdsZW5ndGgnKSkge1xuICAgICAgICB0aGlzLmxlbmd0aCA9IGlzTmFOKHRoaXMubGVuZ3RoKSB8fCB0aGlzLmxlbmd0aCA8IDAgPyAwIDogdGhpcy5sZW5ndGg7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB0aGUgcGFnZUluZGV4IGNoYW5nZXMsIGl0J3MgYWRkZWQgaW4gdGhlIGNoYW5nZWRQcm9wZXJ0aWVzIG1hcFxuICAgICAgICAgKiBhbmQgaGFuZGxlZCBpbiB0aGUgcGFnZUluZGV4IGxvZ2ljIGJlbG93LCBlbWl0dGluZyB0aGUgcGFnZSBldmVudC5cbiAgICAgICAgICogSWYgdGhlIHBhZ2VJbmRleCBkb2Vzbid0IGNoYW5nZSB0aGVyZSdzIG5vIG5lZWQgdG8gZW1pdC5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMucGFnZUluZGV4ID0gdGhpcy5fY29lcmNlUGFnZUluZGV4SW5SYW5nZSh0aGlzLnBhZ2VJbmRleCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdwYWdlU2l6ZScpICYmXG4gICAgICAgIHRoaXMucGFnZVNpemUgIT09IGNoYW5nZWRQcm9wZXJ0aWVzLmdldCgncGFnZVNpemUnKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzUGFnZVNpemUgPSBjaGFuZ2VkUHJvcGVydGllcy5nZXQoJ3BhZ2VTaXplJyk7XG4gICAgICAgIHRoaXMucGFnZVNpemUgPSBpc05hTih0aGlzLnBhZ2VTaXplKSB8fCB0aGlzLnBhZ2VTaXplIDwgMCA/IDAgOiB0aGlzLnBhZ2VTaXplO1xuICAgICAgICAvLyBDdXJyZW50IHBhZ2UgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byByZWZsZWN0IHRoZSBuZXcgcGFnZSBzaXplLlxuICAgICAgICAvLyBOYXZpZ2F0ZSB0byB0aGUgcGFnZSBjb250YWluaW5nIHRoZSBwcmV2aW91cyBwYWdlJ3MgZmlyc3QgaXRlbS5cbiAgICAgICAgLy8gSWYgdGhlIHBhZ2VJbmRleCBjaGFuZ2VzIGluIHRoZSBzYW1lIHVwZGF0ZSBjeWNsZSwgd2Ugc2hvdWxkbid0IGFkanVzdCBpdC5cbiAgICAgICAgaWYgKHByZXZpb3VzUGFnZVNpemUgJiYgIWNoYW5nZWRQcm9wZXJ0aWVzLmhhcygncGFnZUluZGV4JykpIHtcbiAgICAgICAgICB0aGlzLnBhZ2VJbmRleCA9IE1hdGguZmxvb3IoKHRoaXMucGFnZUluZGV4ICogcHJldmlvdXNQYWdlU2l6ZSkgLyB0aGlzLnBhZ2VTaXplKSB8fCAwO1xuICAgICAgICB9XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB0aGUgcGFnZUluZGV4IGNoYW5nZXMsIGl0J3MgYWRkZWQgaW4gdGhlIGNoYW5nZWRQcm9wZXJ0aWVzIG1hcCxcbiAgICAgICAgICogYW5kIHRoaXMgbGluZSBpcyB1c2VsZXNzLCBzaW5jZSB0aGUgY29ycmVjdCB2YWx1ZSB3aWxsIGJlIGNhbGN1bGF0ZWQgaW4gdGhlIGxvZ2ljIGJlbG93O1xuICAgICAgICAgKiBpZiB0aGUgcGFnZUluZGV4IGRvZXNuJ3QgY2hhbmdlIChlLmcuIGNoYW5nZSBwYWdlU2l6ZSBhdCBwYWdlSW5kZXggMCksIHRoZSBwcmV2UGFnZUluZGV4IGFuZCBwYWdlSW5kZXggYXJlIHRoZSBzYW1lLlxuICAgICAgICAgKiBJbiBib3RoIGNhc2UgdGhlIHBhZ2UgZXZlbnQgbXVzdCBiZSB0cmlnZ2VyZWQgdG8gYWxsb3cgY29uc3VtZXJzIHRvIHJldHJpZXZlIHRoZSBjb3JyZWN0IGRhdGEuXG4gICAgICAgICAqL1xuICAgICAgICBwcmV2UGFnZUluZGV4ID0gdGhpcy5wYWdlSW5kZXg7XG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdwYWdlSW5kZXgnKSAmJlxuICAgICAgICB0aGlzLnBhZ2VJbmRleCAhPT0gY2hhbmdlZFByb3BlcnRpZXMuZ2V0KCdwYWdlSW5kZXgnKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMucGFnZUluZGV4ID0gdGhpcy5fY29lcmNlUGFnZUluZGV4SW5SYW5nZSh0aGlzLnBhZ2VJbmRleCk7XG4gICAgICAgIHByZXZQYWdlSW5kZXggPSBjaGFuZ2VkUHJvcGVydGllcy5nZXQoJ3BhZ2VJbmRleCcpITtcbiAgICAgIH1cblxuICAgICAgaWYgKHByZXZQYWdlSW5kZXggIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5fZW1pdFBhZ2VFdmVudChwcmV2UGFnZUluZGV4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIHN1cGVyLnVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgICAvLyBUbyByZWxpYWJseSBhbm5vdW5jZSBwYWdlIGNoYW5nZSwgd2UgaGF2ZSB0byBzZXQgdGhlIGxhYmVsIGluIHVwZGF0ZWQoKSAoYSB0aWNrIGxhdGVyIHRoYW4gdGhlIG90aGVyIGNoYW5nZXMpLlxuICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCdzYmItc2NyZWVuLXJlYWRlci1vbmx5I3N0YXR1cycpIS50ZXh0Q29udGVudCA9XG4gICAgICAgIHRoaXMuX2N1cnJlbnRQYWdlTGFiZWwoKTtcbiAgICB9XG5cbiAgICAvKiogRXZhbHVhdGUgYHBhZ2VJbmRleGAgYnkgZXhjbHVkaW5nIGVkZ2UgY2FzZXMuICovXG4gICAgcHJpdmF0ZSBfY29lcmNlUGFnZUluZGV4SW5SYW5nZShwYWdlSW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICByZXR1cm4gTWF0aC5tYXgoXG4gICAgICAgIE1hdGgubWluKE1hdGgubWF4KGlzTmFOKHBhZ2VJbmRleCkgPyAwIDogcGFnZUluZGV4LCAwKSwgdGhpcy5udW1iZXJPZlBhZ2VzKCkgLSAxKSxcbiAgICAgICAgMCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3VycmVudFBhZ2VMYWJlbCgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIGAke3RoaXMuYWNjZXNzaWJpbGl0eVBhZ2VMYWJlbCA/IHRoaXMuYWNjZXNzaWJpbGl0eVBhZ2VMYWJlbCA6IGkxOG5QYWdlW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19ICR7dGhpcy5wYWdlSW5kZXggKyAxfSAke2kxOG5QYWdpbmF0b3JTZWxlY3RlZFt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfS5gO1xuICAgIH1cblxuICAgIC8qKiBBZHZhbmNlcyB0byB0aGUgbmV4dCBwYWdlIGlmIGl0IGV4aXN0cy4gKi9cbiAgICBwdWJsaWMgbmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgICB0aGlzLnBhZ2VJbmRleCA9IHRoaXMucGFnZUluZGV4ICsgMTtcbiAgICB9XG5cbiAgICAvKiogTW92ZSBiYWNrIHRvIHRoZSBwcmV2aW91cyBwYWdlIGlmIGl0IGV4aXN0cy4gKi9cbiAgICBwdWJsaWMgcHJldmlvdXNQYWdlKCk6IHZvaWQge1xuICAgICAgdGhpcy5wYWdlSW5kZXggPSB0aGlzLnBhZ2VJbmRleCAtIDE7XG4gICAgfVxuXG4gICAgLyoqIE1vdmUgdG8gdGhlIGZpcnN0IHBhZ2UgaWYgbm90IGFscmVhZHkgdGhlcmUuICovXG4gICAgcHVibGljIGZpcnN0UGFnZSgpOiB2b2lkIHtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gMDtcbiAgICB9XG5cbiAgICAvKiogTW92ZSB0byB0aGUgbGFzdCBwYWdlIGlmIG5vdCBhbHJlYWR5IHRoZXJlLiAqL1xuICAgIHB1YmxpYyBsYXN0UGFnZSgpOiB2b2lkIHtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gdGhpcy5udW1iZXJPZlBhZ2VzKCkgLSAxO1xuICAgIH1cblxuICAgIC8qKiBNb3ZlIHRvIGEgc3BlY2lmaWMgcGFnZSBpbmRleC4gKi9cbiAgICBwdWJsaWMgc2VsZWN0UGFnZShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICB0aGlzLnBhZ2VJbmRleCA9IGluZGV4O1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZXJlIGlzIGEgcHJldmlvdXMgcGFnZS4gKi9cbiAgICBwdWJsaWMgaGFzUHJldmlvdXNQYWdlKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMucGFnZUluZGV4ID49IDEgJiYgdGhpcy5wYWdlU2l6ZSAhPT0gMDtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGVyZSBpcyBhIG5leHQgcGFnZS4gKi9cbiAgICBwdWJsaWMgaGFzTmV4dFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgICBjb25zdCBtYXhQYWdlSW5kZXggPSB0aGlzLm51bWJlck9mUGFnZXMoKSAtIDE7XG4gICAgICByZXR1cm4gdGhpcy5wYWdlSW5kZXggPCBtYXhQYWdlSW5kZXggJiYgdGhpcy5wYWdlU2l6ZSAhPT0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBjdXJyZW50IG51bWJlciBvZiBwYWdlcyBiYXNlZCBvbiB0aGUgYGxlbmd0aGAgYW5kIHRoZSBgcGFnZVNpemVgO1xuICAgICAqIHZhbHVlIG11c3QgYmUgcm91bmRlZCB1cCAoZS5nLiBgbGVuZ3RoID0gMjFgIGFuZCBgcGFnZVNpemUgPSAxMGAgbWVhbnMgMyBwYWdlcykuXG4gICAgICovXG4gICAgcHVibGljIG51bWJlck9mUGFnZXMoKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiB0aGlzLnBhZ2VTaXplID8gTWF0aC5jZWlsKHRoaXMubGVuZ3RoIC8gdGhpcy5wYWdlU2l6ZSkgOiAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2VtaXRQYWdlRXZlbnQocHJldmlvdXNQYWdlSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgICAvKipcbiAgICAgICAgICogQHR5cGUge0N1c3RvbUV2ZW50PFNiYlBhZ2luYXRvclBhZ2VFdmVudERldGFpbHM+fVxuICAgICAgICAgKiBUaGUgcGFnZSBldmVudCBpcyBkaXNwYXRjaGVkIHdoZW4gdGhlIHBhZ2UgaW5kZXgsIGxlbmd0aCBvciBwYWdlIHNpemUgY2hhbmdlcy5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICBuZXcgQ3VzdG9tRXZlbnQ8U2JiUGFnaW5hdG9yUGFnZUV2ZW50RGV0YWlscz4oJ3BhZ2UnLCB7XG4gICAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgICAgcHJldmlvdXNQYWdlSW5kZXgsXG4gICAgICAgICAgICAgIHBhZ2VJbmRleDogdGhpcy5wYWdlSW5kZXgsXG4gICAgICAgICAgICAgIGxlbmd0aDogdGhpcy5sZW5ndGgsXG4gICAgICAgICAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVuZGVyUHJldk5leHRCdXR0b25zKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8c2JiLW1pbmktYnV0dG9uLWdyb3VwID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9IHNpemU9JHt0aGlzLnNpemUgPT09ICdzJyA/ICdzJyA6ICdsJ30+XG4gICAgICAgICAgPHNiYi1taW5pLWJ1dHRvblxuICAgICAgICAgICAgaWQ9XCJzYmItcGFnaW5hdG9yLXByZXYtcGFnZVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5UHJldmlvdXNQYWdlTGFiZWxcbiAgICAgICAgICAgICAgPyB0aGlzLmFjY2Vzc2liaWxpdHlQcmV2aW91c1BhZ2VMYWJlbFxuICAgICAgICAgICAgICA6IGkxOG5QcmV2aW91c1BhZ2VbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgIGljb24tbmFtZT1cImNoZXZyb24tc21hbGwtbGVmdC1zbWFsbFwiXG4gICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkIHx8ICF0aGlzLmhhc1ByZXZpb3VzUGFnZSgpfVxuICAgICAgICAgICAgQGNsaWNrPSR7KCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnByZXZpb3VzUGFnZSgpO1xuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgIXRoaXMuaGFzUHJldmlvdXNQYWdlKCkgJiZcbiAgICAgICAgICAgICAgICBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoJ3NiYi1wYWdpbmF0b3ItbmV4dC1wYWdlJykhLmZvY3VzKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPjwvc2JiLW1pbmktYnV0dG9uPlxuICAgICAgICAgIDxzYmItZGl2aWRlciBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCI+PC9zYmItZGl2aWRlcj5cbiAgICAgICAgICA8c2JiLW1pbmktYnV0dG9uXG4gICAgICAgICAgICBpZD1cInNiYi1wYWdpbmF0b3ItbmV4dC1wYWdlXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlOZXh0UGFnZUxhYmVsXG4gICAgICAgICAgICAgID8gdGhpcy5hY2Nlc3NpYmlsaXR5TmV4dFBhZ2VMYWJlbFxuICAgICAgICAgICAgICA6IGkxOG5OZXh0UGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgaWNvbi1uYW1lPVwiY2hldnJvbi1zbWFsbC1yaWdodC1zbWFsbFwiXG4gICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkIHx8ICF0aGlzLmhhc05leHRQYWdlKCl9XG4gICAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubmV4dFBhZ2UoKTtcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICF0aGlzLmhhc05leHRQYWdlKCkgJiZcbiAgICAgICAgICAgICAgICBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoJ3NiYi1wYWdpbmF0b3ItcHJldi1wYWdlJykhLmZvY3VzKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPjwvc2JiLW1pbmktYnV0dG9uPlxuICAgICAgICA8L3NiYi1taW5pLWJ1dHRvbi1ncm91cD5cbiAgICAgIGA7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgJHt0aGlzLnJlbmRlclBhZ2luYXRvcigpfVxuICAgICAgICA8c2JiLXNjcmVlbi1yZWFkZXItb25seSBpZD1cInN0YXR1c1wiIHJvbGU9XCJzdGF0dXNcIj48L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgICBgO1xuICAgIH1cbiAgfVxuICByZXR1cm4gU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJlxuICAgIFQ7XG59O1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudEV2ZW50TWFwIHtcbiAgICBwYWdlOiBDdXN0b21FdmVudDxTYmJQYWdpbmF0b3JQYWdlRXZlbnREZXRhaWxzPjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxRE8sTUFBTSxpQ0FBaUMsQ0FDNUMsZUFDK0Q7TUFDaEQsNkJBQXlCLE1BQUE7O3NCQUM5QixpQkFBaUIsaUJBQWlCLHlCQUF5QixVQUFVLENBQUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQURsRSxXQUFBLG1CQUNMLFlBQXdFO0FBQUE7O0FBUWhGO0FBS0E7QUFLQTtBQUcwRDtBQVE3QjtBQVE3QjtBQVFBO0FBUUE7QUE3Q2dCLDJCQUFBLDBCQUFBLGtCQUFBLE1BQUEsc0JBQWlCLENBQUM7QUFLbEIsMkJBQUEsNkJBQUEsa0JBQUEsTUFBQSx5QkFBQSxHQUFBLGtCQUFBLE1BQUEsd0JBQW1CLEVBQUU7QUFLckIsMkJBQUEsOEJBQUEsa0JBQUEsTUFBQSwyQkFBQSxHQUFBLGtCQUFBLE1BQUEseUJBQW9CLENBQUM7QUFHcUMsMkJBQUEsa0NBQUEsa0JBQUEsTUFBQSw0QkFBQSxHQUFBLGtCQUFBLE1BQUEsNkJBRTlELE9BQU87QUFNMEIsMkJBQUEseUJBQUEsa0JBQUEsTUFBQSxnQ0FBQSxHQUFBLGtCQUFBLE1BQUEsb0JBQWtCLE9BQUEsSUFBVyxNQUFNLEdBQUc7QUFRbkUsMkJBQUEsMkNBQUEsa0JBQUEsTUFBQSx1QkFBQSxHQUFBLGtCQUFBLE1BQUEsc0NBQWlDLEVBQUU7QUFRbkMsMkJBQUEsbURBQUEsa0JBQUEsTUFBQSx5Q0FBQSxHQUFBLGtCQUFBLE1BQUEsOENBQXlDLEVBQUU7QUFRM0MsMkJBQUEsK0NBQUEsa0JBQUEsTUFBQSxpREFBQSxHQUFBLGtCQUFBLE1BQUEsMENBQXFDLEVBQUU7QUFFN0MsYUFBQSxvRkFBVyxJQUFJLHNCQUFzQixJQUFJ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
@@ -1 +1 @@
1
- {"version":3,"file":"compact-paginator.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/paginator/compact-paginator/compact-paginator.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AASvC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,6BAA6B,CAAC;;AAErC;;GAEG;AACH,qBAEM,0BAA2B,SAAQ,+BAA0C;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG1C;IAEX,OAAO,CAAC,kBAAkB;cAiBP,eAAe,IAAI,cAAc;CASrD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,0BAA0B,CAAC;KACrD;CACF"}
1
+ {"version":3,"file":"compact-paginator.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/paginator/compact-paginator/compact-paginator.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AASvC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,6BAA6B,CAAC;;AAErC;;GAEG;AACH,qBAEM,0BAA2B,SAAQ,+BAA0C;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE1C;IAEX,OAAO,CAAC,kBAAkB;cAiBP,eAAe,IAAI,cAAc;CASrD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,0BAA0B,CAAC;KACrD;CACF"}
@@ -93,12 +93,11 @@ let SbbCompactPaginatorElement = (() => {
93
93
  _classThis = _classDescriptor.value;
94
94
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
95
95
  })(), _a.styles = style, _a.events = {
96
- page: "page",
97
- ɵpage: "ɵpage"
96
+ page: "page"
98
97
  }, __runInitializers(_classThis, _classExtraInitializers), _a;
99
98
  return _classThis;
100
99
  })();
101
100
  export {
102
101
  SbbCompactPaginatorElement
103
102
  };
104
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFjdC1wYWdpbmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvcGFnaW5hdG9yL2NvbXBhY3QtcGFnaW5hdG9yL2NvbXBhY3QtcGFnaW5hdG9yLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBzdHlsZU1hcCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3N0eWxlLW1hcC5qcyc7XG5cbmltcG9ydCB7IGkxOG5QYWdlLCBpMThuUGFnaW5hdG9yT2YgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluIH0gZnJvbSAnLi4vY29tbW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vY29tcGFjdC1wYWdpbmF0b3Iuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9kaXZpZGVyLmpzJztcbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIHBhZ2luYXRvciBjb21wb25lbnQgaW4gY29tcGFjdCBtb2RlLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItY29tcGFjdC1wYWdpbmF0b3InKVxuY2xhc3MgU2JiQ29tcGFjdFBhZ2luYXRvckVsZW1lbnQgZXh0ZW5kcyBTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgcGFnZTogJ3BhZ2UnLFxuICAgIMm1cGFnZTogJ8m1cGFnZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBfcmVuZGVyUGFnZU51bWJlcnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgID4ke3RoaXMucGFnZUluZGV4ICsgMX08c2JiLWRpdmlkZXJcbiAgICAgICAgICBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcbiAgICAgICAgICBjbGFzcz1cInNiYi1jb21wYWN0LXBhZ2luYXRvcl9fZGl2aWRlclwiXG4gICAgICAgICAgc3R5bGU9JHtzdHlsZU1hcCh7ICctLXNiYi1kaXZpZGVyLWNvbG9yJzogJ2N1cnJlbnRjb2xvcicgfSl9XG4gICAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX1cbiAgICAgICAgPjwvc2JiLWRpdmlkZXJcbiAgICAgICAgPiR7dGhpcy5udW1iZXJPZlBhZ2VzKCl9PC9zcGFuXG4gICAgICA+XG4gICAgICA8c2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgJHtgJHt0aGlzLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWwgPyB0aGlzLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWwgOiBpMThuUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfSAke3RoaXMucGFnZUluZGV4ICsgMX0gJHtpMThuUGFnaW5hdG9yT2ZbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0gJHt0aGlzLm51bWJlck9mUGFnZXMoKX1gfVxuICAgICAgPC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgIGA7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyUGFnaW5hdG9yKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItY29tcGFjdC1wYWdpbmF0b3JcIj5cbiAgICAgICAgJHt0aGlzLnBhZ2VyUG9zaXRpb24gPT09ICdzdGFydCdcbiAgICAgICAgICA/IGh0bWxgJHt0aGlzLnJlbmRlclByZXZOZXh0QnV0dG9ucygpfSAke3RoaXMuX3JlbmRlclBhZ2VOdW1iZXJzKCl9YFxuICAgICAgICAgIDogaHRtbGAke3RoaXMuX3JlbmRlclBhZ2VOdW1iZXJzKCl9ICR7dGhpcy5yZW5kZXJQcmV2TmV4dEJ1dHRvbnMoKX1gfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNvbXBhY3QtcGFnaW5hdG9yJzogU2JiQ29tcGFjdFBhZ2luYXRvckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBa0JNLDhCQUEwQixNQUFBOzswQkFEL0IsY0FBYyx1QkFBdUIsQ0FBQzs7OztvQkFDRSwrQkFBK0IsVUFBVTtBQUFqRCxFQUFBLG1CQUFRLFlBQTBDO0FBQUEsSUFPekUscUJBQWtCO0FBQ3hCLGFBQU87QUFBQTtBQUFBLFdBRUEsS0FBSyxZQUFZLENBQUM7QUFBQTtBQUFBO0FBQUEsa0JBR1gsU0FBUyxFQUFFLHVCQUF1QixnQkFBZ0IsQ0FBQztBQUFBLHNCQUMvQyxLQUFLLFFBQVE7QUFBQTtBQUFBLFdBRXhCLEtBQUssZUFBZTtBQUFBO0FBQUE7QUFBQSxVQUdyQixHQUFHLEtBQUsseUJBQXlCLEtBQUsseUJBQXlCLFNBQVMsS0FBSyxTQUFTLE9BQU8sQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLElBQUksZ0JBQWdCLEtBQUssU0FBUyxPQUFPLENBQUMsSUFBSSxLQUFLLGNBQUEsQ0FBZSxFQUFFO0FBQUE7QUFBQTtBQUFBLElBR2hNO0FBQUEsSUFFbUIsa0JBQWU7QUFDaEMsYUFBTztBQUFBO0FBQUEsVUFFRCxLQUFLLGtCQUFrQixVQUNyQixPQUFPLEtBQUssdUJBQXVCLElBQUksS0FBSyxtQkFBQSxDQUFvQixLQUNoRSxPQUFPLEtBQUssbUJBQUEsQ0FBb0IsSUFBSSxLQUFLLHNCQUFBLENBQXVCLEVBQUU7QUFBQTtBQUFBO0FBQUEsSUFHNUU7QUFBQTs7QUFoQ0YsaUJBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQUN5QixHQUFBLFNBQXlCLE9BQ3pCLEdBQUEsU0FBaUM7QUFBQSxJQUN0RCxNQUFNO0FBQUEsSUFDTixPQUFPO0FBQUEsRUFBQSxHQUpMLGtCQUFBLFlBQUEsdUJBQUEsR0FBMkI7OzsifQ==
103
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFjdC1wYWdpbmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvcGFnaW5hdG9yL2NvbXBhY3QtcGFnaW5hdG9yL2NvbXBhY3QtcGFnaW5hdG9yLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBzdHlsZU1hcCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3N0eWxlLW1hcC5qcyc7XG5cbmltcG9ydCB7IGkxOG5QYWdlLCBpMThuUGFnaW5hdG9yT2YgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluIH0gZnJvbSAnLi4vY29tbW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vY29tcGFjdC1wYWdpbmF0b3Iuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9kaXZpZGVyLmpzJztcbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIHBhZ2luYXRvciBjb21wb25lbnQgaW4gY29tcGFjdCBtb2RlLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItY29tcGFjdC1wYWdpbmF0b3InKVxuY2xhc3MgU2JiQ29tcGFjdFBhZ2luYXRvckVsZW1lbnQgZXh0ZW5kcyBTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgcGFnZTogJ3BhZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIHByaXZhdGUgX3JlbmRlclBhZ2VOdW1iZXJzKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+JHt0aGlzLnBhZ2VJbmRleCArIDF9PHNiYi1kaXZpZGVyXG4gICAgICAgICAgb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiXG4gICAgICAgICAgY2xhc3M9XCJzYmItY29tcGFjdC1wYWdpbmF0b3JfX2RpdmlkZXJcIlxuICAgICAgICAgIHN0eWxlPSR7c3R5bGVNYXAoeyAnLS1zYmItZGl2aWRlci1jb2xvcic6ICdjdXJyZW50Y29sb3InIH0pfVxuICAgICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgID48L3NiYi1kaXZpZGVyXG4gICAgICAgID4ke3RoaXMubnVtYmVyT2ZQYWdlcygpfTwvc3BhblxuICAgICAgPlxuICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgICAgICR7YCR7dGhpcy5hY2Nlc3NpYmlsaXR5UGFnZUxhYmVsID8gdGhpcy5hY2Nlc3NpYmlsaXR5UGFnZUxhYmVsIDogaTE4blBhZ2VbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0gJHt0aGlzLnBhZ2VJbmRleCArIDF9ICR7aTE4blBhZ2luYXRvck9mW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19ICR7dGhpcy5udW1iZXJPZlBhZ2VzKCl9YH1cbiAgICAgIDwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICBgO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclBhZ2luYXRvcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWNvbXBhY3QtcGFnaW5hdG9yXCI+XG4gICAgICAgICR7dGhpcy5wYWdlclBvc2l0aW9uID09PSAnc3RhcnQnXG4gICAgICAgICAgPyBodG1sYCR7dGhpcy5yZW5kZXJQcmV2TmV4dEJ1dHRvbnMoKX0gJHt0aGlzLl9yZW5kZXJQYWdlTnVtYmVycygpfWBcbiAgICAgICAgICA6IGh0bWxgJHt0aGlzLl9yZW5kZXJQYWdlTnVtYmVycygpfSAke3RoaXMucmVuZGVyUHJldk5leHRCdXR0b25zKCl9YH1cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jb21wYWN0LXBhZ2luYXRvcic6IFNiYkNvbXBhY3RQYWdpbmF0b3JFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWtCTSw4QkFBMEIsTUFBQTs7MEJBRC9CLGNBQWMsdUJBQXVCLENBQUM7Ozs7b0JBQ0UsK0JBQStCLFVBQVU7QUFBakQsRUFBQSxtQkFBUSxZQUEwQztBQUFBLElBTXpFLHFCQUFrQjtBQUN4QixhQUFPO0FBQUE7QUFBQSxXQUVBLEtBQUssWUFBWSxDQUFDO0FBQUE7QUFBQTtBQUFBLGtCQUdYLFNBQVMsRUFBRSx1QkFBdUIsZ0JBQWdCLENBQUM7QUFBQSxzQkFDL0MsS0FBSyxRQUFRO0FBQUE7QUFBQSxXQUV4QixLQUFLLGVBQWU7QUFBQTtBQUFBO0FBQUEsVUFHckIsR0FBRyxLQUFLLHlCQUF5QixLQUFLLHlCQUF5QixTQUFTLEtBQUssU0FBUyxPQUFPLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxJQUFJLGdCQUFnQixLQUFLLFNBQVMsT0FBTyxDQUFDLElBQUksS0FBSyxjQUFBLENBQWUsRUFBRTtBQUFBO0FBQUE7QUFBQSxJQUdoTTtBQUFBLElBRW1CLGtCQUFlO0FBQ2hDLGFBQU87QUFBQTtBQUFBLFVBRUQsS0FBSyxrQkFBa0IsVUFDckIsT0FBTyxLQUFLLHVCQUF1QixJQUFJLEtBQUssbUJBQUEsQ0FBb0IsS0FDaEUsT0FBTyxLQUFLLG1CQUFBLENBQW9CLElBQUksS0FBSyxzQkFBQSxDQUF1QixFQUFFO0FBQUE7QUFBQTtBQUFBLElBRzVFO0FBQUE7O0FBL0JGLGlCQUFBLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7UUFDeUIsR0FBQSxTQUF5QixPQUN6QixHQUFBLFNBQWlDO0FBQUEsSUFDdEQsTUFBTTtBQUFBLEVBQUEsR0FISixrQkFBQSxZQUFBLHVCQUFBLEdBQTJCOzs7In0=
@@ -32,12 +32,6 @@ export declare class SbbPaginatorElement extends SbbPaginatorElement_base {
32
32
  /** Creates an array of consecutive numbers given the length and the starting value. */
33
33
  private _range;
34
34
  private _handleKeyUp;
35
- /**
36
- * A `pageSize` change would trigger a `pageIndex` change via `willUpdate`;
37
- * this triggers a `ɵpage` event, but it's late for the `page` event,
38
- * so the checks on the `pageIndex` changes are done here, and possibly the event is emitted.
39
- */
40
- private _setPageSizeFromSizeOptionsSelect;
41
35
  private _renderItemPerPageTemplate;
42
36
  private _renderPageNumbers;
43
37
  protected renderPaginator(): TemplateResult;
@@ -1 +1 @@
1
- {"version":3,"file":"paginator.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/paginator/paginator/paginator.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAYb,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,CAAC;AACzB,OAAO,6BAA6B,CAAC;;AAIrC;;GAEG;AACH,qBAEM,mBAAoB,SAAQ,wBAA0C;IAC1E,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG1C;IAEX,wCAAwC;IACxC,SACgB,eAAe,EAAE,MAAM,EAAE,CAAM;IAE/C;;;OAGG;IACH,SAAmF,aAAa,EAC5F,OAAO,GACP,KAAK,CAAW;IAEpB;;;OAGG;IACH,SAEgB,8BAA8B,EAAE,MAAM,CAAM;IAE5D,OAAO,CAAC,aAAa,CAAuB;cAEzB,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAezE,2CAA2C;IAC3C,OAAO,CAAC,gBAAgB;IAIxB;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA2B7B,uFAAuF;IACvF,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,YAAY;IAWpB;;;;OAIG;IACH,OAAO,CAAC,iCAAiC;IAUzC,OAAO,CAAC,0BAA0B;IAoClC,OAAO,CAAC,kBAAkB;cAmCP,eAAe,IAAI,cAAc;CAiBrD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,mBAAmB,CAAC;KACtC;CACF"}
1
+ {"version":3,"file":"paginator.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/paginator/paginator/paginator.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAYb,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,CAAC;AACzB,OAAO,6BAA6B,CAAC;;AAIrC;;GAEG;AACH,qBAEM,mBAAoB,SAAQ,wBAA0C;IAC1E,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE1C;IAEX,wCAAwC;IACxC,SACgB,eAAe,EAAE,MAAM,EAAE,CAAM;IAE/C;;;OAGG;IACH,SAAmF,aAAa,EAC5F,OAAO,GACP,KAAK,CAAW;IAEpB;;;OAGG;IACH,SAEgB,8BAA8B,EAAE,MAAM,CAAM;IAE5D,OAAO,CAAC,aAAa,CAAuB;cAEzB,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAezE,2CAA2C;IAC3C,OAAO,CAAC,gBAAgB;IAIxB;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA2B7B,uFAAuF;IACvF,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,0BAA0B;IAkClC,OAAO,CAAC,kBAAkB;cAmCP,eAAe,IAAI,cAAc;CAiBrD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,mBAAmB,CAAC;KACtC;CACF"}