@sbb-esta/lyne-elements-dev 4.12.0-dev.1777358825 → 4.12.0-dev.1777503664

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.
@@ -31,10 +31,10 @@ function n(t, n, r, i) {
31
31
  vertical: "below"
32
32
  }, y = `${m - a}px`;
33
33
  i?.centered && u - 16 + c.width / 2 > l.offsetWidth / 2 && f - 16 > _ / 2 && (h -= _ /= 2, v.horizontal = "center"), f < _ && u > _ && (h -= _, v.horizontal = "end"), o && v.horizontal !== "center" && c.width / 2 < o && (h += o * (v.horizontal === "start" ? -1 : 1)), (u < _ && f < _ || document.documentElement.clientWidth < l.offsetWidth) && (h = document.documentElement.clientWidth / 2 - l.offsetWidth / 2);
34
- let b = m - a < l.scrollHeight && p - a > (s ? l.clientHeight : l.scrollHeight) || p > m && m - a < l.clientHeight && !s;
35
- !i?.forceBelow && (i?.forceAbove || b) && (g = p < l.scrollHeight ? g - c.height - p - a : d - l.clientHeight - a, y = `${p - a}px`, v.vertical = "above");
36
- let x = r.getBoundingClientRect();
37
- return x.left < 0 && (h -= x.left), x.top < 0 && (g -= x.top), {
34
+ let b = m - a >= l.scrollHeight, x = p - a >= (s ? l.clientHeight : l.scrollHeight), S = !b && (x || p > m);
35
+ !i?.forceBelow && (i?.forceAbove || S) && (g = p < l.scrollHeight ? g - c.height - p - a : d - l.clientHeight - a, y = `${p - a}px`, v.vertical = "above");
36
+ let C = r.getBoundingClientRect();
37
+ return C.left < 0 && (h -= C.left), C.top < 0 && (g -= C.top), {
38
38
  top: g,
39
39
  left: h,
40
40
  maxHeight: y,
@@ -1 +1 @@
1
- {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/overlay/position.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,WAAW,EACX,cAAc,GAAG,cAAc,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CACjG,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,YAAY,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,gBAAgB,CAoCrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,KAAK,EAAE,UAAU,GAAG,YAAY,GAC/B,OAAO,CAYT;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GACA,uBAAuB,CAsGzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GACA,uBAAuB,CAgEzB"}
1
+ {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/overlay/position.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,WAAW,EACX,cAAc,GAAG,cAAc,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CACjG,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,YAAY,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,gBAAgB,CAoCrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,KAAK,EAAE,UAAU,GAAG,YAAY,GAC/B,OAAO,CAYT;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GACA,uBAAuB,CAuGzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GACA,uBAAuB,CAgEzB"}
@@ -81,7 +81,9 @@ function getElementPosition(element, trigger, container, properties) {
81
81
  }
82
82
  if (horizontalOffset && alignment.horizontal !== "center" && triggerRec.width / 2 < horizontalOffset) elementXPosition += horizontalOffset * (alignment.horizontal === "start" ? -1 : 1);
83
83
  if (triggerLeft < elementXOverflow && availableSpaceRight < elementXOverflow || document.documentElement.clientWidth < elementRec.offsetWidth) elementXPosition = document.documentElement.clientWidth / 2 - elementRec.offsetWidth / 2;
84
- const shouldOpenAbove = availableSpaceBelow - verticalOffset < elementRec.scrollHeight && availableSpaceAbove - verticalOffset > (responsiveHeight ? elementRec.clientHeight : elementRec.scrollHeight) || availableSpaceAbove > availableSpaceBelow && availableSpaceBelow - verticalOffset < elementRec.clientHeight && !responsiveHeight;
84
+ const fitsBelow = availableSpaceBelow - verticalOffset >= elementRec.scrollHeight;
85
+ const fitsAbove = availableSpaceAbove - verticalOffset >= (responsiveHeight ? elementRec.clientHeight : elementRec.scrollHeight);
86
+ const shouldOpenAbove = !fitsBelow && (fitsAbove || availableSpaceAbove > availableSpaceBelow);
85
87
  if (!properties?.forceBelow && (properties?.forceAbove || shouldOpenAbove)) {
86
88
  elementYPosition = availableSpaceAbove < elementRec.scrollHeight ? elementYPosition - triggerRec.height - availableSpaceAbove - verticalOffset : triggerTop - elementRec.clientHeight - verticalOffset;
87
89
  elementMaxHeight = `${availableSpaceAbove - verticalOffset}px`;
@@ -148,4 +150,4 @@ function getElementPositionHorizontal(element, trigger, container, properties) {
148
150
  //#endregion
149
151
  export { getElementPosition, getElementPositionHorizontal, getElementRectangle, isEventOnElement };
150
152
 
151
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvb3ZlcmxheS9wb3NpdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBFbGVtZW50UmVjdGFuZ2xlID0gUGljazxcbiAgSFRNTEVsZW1lbnQsXG4gICdzY3JvbGxIZWlnaHQnIHwgJ2NsaWVudEhlaWdodCcgfCAnb2Zmc2V0SGVpZ2h0JyB8ICdzY3JvbGxXaWR0aCcgfCAnY2xpZW50V2lkdGgnIHwgJ29mZnNldFdpZHRoJ1xuPjtcblxuZXhwb3J0IGludGVyZmFjZSBTYmJBbGlnbm1lbnQge1xuICBob3Jpem9udGFsOiAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJztcbiAgdmVydGljYWw6ICdhYm92ZScgfCAnYmVsb3cnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNiYkVsZW1lbnRQb3NpdGlvbkluZm9zIHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgbWF4SGVpZ2h0OiBzdHJpbmc7XG4gIGFsaWdubWVudDogU2JiQWxpZ25tZW50O1xufVxuXG4vKipcbiAqIEdldHMgaGVpZ2h0IGFuZCB3aWR0aCBvZiBhbiBlbGVtZW50IGV2ZW4gaWYgaXQncyBoaWRkZW4gKGBkaXNwbGF5OiBub25lYCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50UmVjdGFuZ2xlKGVsOiBIVE1MRWxlbWVudCk6IEVsZW1lbnRSZWN0YW5nbGUge1xuICBjb25zdCBlbGVtZW50U3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCksXG4gICAgZWxlbWVudERpc3BsYXkgPSBlbGVtZW50U3R5bGUuZGlzcGxheSxcbiAgICBlbGVtZW50TWF4SGVpZ2h0ID0gcGFyc2VJbnQoZWxlbWVudFN0eWxlLm1heEhlaWdodCwgMTApLnRvU3RyaW5nKCk7XG5cbiAgLy8gSWYgaXQgaXMgbm90IGhpZGRlbiB3ZSBqdXN0IHJldHVybiBub3JtYWwgaGVpZ2h0XG4gIGlmIChlbGVtZW50RGlzcGxheSAhPT0gJ25vbmUnICYmIGVsZW1lbnRNYXhIZWlnaHQgIT09ICcwJykge1xuICAgIHJldHVybiB7XG4gICAgICBzY3JvbGxIZWlnaHQ6IGVsLnNjcm9sbEhlaWdodCxcbiAgICAgIGNsaWVudEhlaWdodDogZWwuY2xpZW50SGVpZ2h0LFxuICAgICAgb2Zmc2V0SGVpZ2h0OiBlbC5vZmZzZXRIZWlnaHQsXG4gICAgICBzY3JvbGxXaWR0aDogZWwuc2Nyb2xsV2lkdGgsXG4gICAgICBjbGllbnRXaWR0aDogZWwuY2xpZW50V2lkdGgsXG4gICAgICBvZmZzZXRXaWR0aDogZWwub2Zmc2V0V2lkdGgsXG4gICAgfTtcbiAgfVxuXG4gIC8vIFRoZSBlbGVtZW50IGlzIGhpZGRlbiBzbzpcbiAgLy8gbWFrZSB0aGUgZWwgYmxvY2sgaW4gb3JkZXIgdG8gbWVhc3VyZSBpdHMgaGVpZ2h0IGJ1dCBzdGlsbCBiZSBoaWRkZW5cbiAgZWwuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICBlbC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gIGVsLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuXG4gIGNvbnN0IHNjcm9sbEhlaWdodCA9IGVsLnNjcm9sbEhlaWdodCxcbiAgICBjbGllbnRIZWlnaHQgPSBlbC5jbGllbnRIZWlnaHQsXG4gICAgb2Zmc2V0SGVpZ2h0ID0gZWwub2Zmc2V0SGVpZ2h0LFxuICAgIHNjcm9sbFdpZHRoID0gZWwuc2Nyb2xsV2lkdGgsXG4gICAgY2xpZW50V2lkdGggPSBlbC5jbGllbnRXaWR0aCxcbiAgICBvZmZzZXRXaWR0aCA9IGVsLm9mZnNldFdpZHRoO1xuXG4gIC8vIFJldmVydGluZyB0byB0aGUgb3JpZ2luYWwgdmFsdWVzXG4gIGVsLnN0eWxlLmRpc3BsYXkgPSAnJztcbiAgZWwuc3R5bGUucG9zaXRpb24gPSAnJztcbiAgZWwuc3R5bGUudmlzaWJpbGl0eSA9ICcnO1xuXG4gIHJldHVybiB7IHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0LCBvZmZzZXRIZWlnaHQsIHNjcm9sbFdpZHRoLCBjbGllbnRXaWR0aCwgb2Zmc2V0V2lkdGggfTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYW4gZXZlbnQgaXMgZmlyZWQgb24gYSBzcGVjaWZpYyBlbGVtZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNFdmVudE9uRWxlbWVudChcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsLFxuICBldmVudDogTW91c2VFdmVudCB8IFBvaW50ZXJFdmVudCxcbik6IGJvb2xlYW4ge1xuICBpZiAoIWVsZW1lbnQgfHwgIWV2ZW50KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIHJldHVybiAoXG4gICAgcmVjdC50b3AgPD0gZXZlbnQuY2xpZW50WSAmJlxuICAgIGV2ZW50LmNsaWVudFkgPD0gcmVjdC50b3AgKyByZWN0LmhlaWdodCAmJlxuICAgIHJlY3QubGVmdCA8PSBldmVudC5jbGllbnRYICYmXG4gICAgZXZlbnQuY2xpZW50WCA8PSByZWN0LmxlZnQgKyByZWN0LndpZHRoXG4gICk7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgcG9zaXRpb24gb2YgYW4gZWxlbWVudCByZWxhdGl2ZSB0byBhIHRyaWdnZXIgZWxlbWVudCBieSBldmFsdWF0aW5nXG4gKiB0aGUgb3B0aW1hbCBwb3NpdGlvbiBiYXNlZCBvbiB0aGUgYXZhaWxhYmxlIHNwYWNlLlxuICpcbiAqIEBwYXJhbSBlbGVtZW50IFRoZSBlbGVtZW50IG9mIHdoaWNoIHRvIGNhbGN1bGF0ZSB0aGUgcG9zaXRpb24uXG4gKiBAcGFyYW0gdHJpZ2dlciBUaGUgZWxlbWVudCByZWxhdGl2ZSB0byB3aGljaCB0byBjYWxjdWxhdGUgdGhlIHBvc2l0aW9uLlxuICogQHBhcmFtIGNvbnRhaW5lciBUaGUgZWxlbWVudCB3aGljaCBoYXMgdGhlIHBvc2l0aW9uOmZpeGVkIGFwcGxpZWQuXG4gKiBAcGFyYW0gcHJvcGVydGllcyBQcm9wZXJ0aWVzIHRvIHRha2UgaW50byBhY2NvdW50IGluIGNhbGN1bGF0aW9ucyAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMudmVydGljYWxPZmZzZXQgVGhlIGRpc3RhbmNlIHRvIGJlIGFkZGVkIGJldHdlZW4gdGhlIGVsZW1lbnQgYW5kIHRoZSB0cmlnZ2VyIChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy5ob3Jpem9udGFsT2Zmc2V0IFRoZSBob3Jpem9udGFsIG9mZnNldCB0byBiZSBhcHBsaWVkIHRvIHRoZSBlbGVtZW50IChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy5jZW50ZXJlZCBXaGV0aGVyIHRoZSBlbGVtZW50IHNob3VsZCBiZSBwbGFjZWQgaW4gdGhlIGNlbnRlciBieSBkZWZhdWx0IChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy5yZXNwb25zaXZlSGVpZ2h0IFdoZXRoZXIgdGhlIGVsZW1lbnQgY2FsY3VsYXRlcyBpdHMgaGVpZ2h0IGJhc2VkIG9uIGl0cyBjb250ZW50IChvcHRpb25hbCkuXG4gKiBAcmV0dXJucyBSZXR1cm5zIGFuIG9iamVjdCBjb250YWluaW5nIHRoZSBsZWZ0IHBvc2l0aW9uLCB0aGUgdG9wIHBvc2l0aW9uLCB0aGUgbWF4aW11bSBoZWlnaHRcbiAqIG9mIHRoZSBlbGVtZW50IGFuZCB0aGUgY3VycmVudCBhbGlnbm1lbnQgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudFBvc2l0aW9uKFxuICBlbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgdHJpZ2dlcjogSFRNTEVsZW1lbnQsXG4gIGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsXG4gIHByb3BlcnRpZXM/OiB7XG4gICAgdmVydGljYWxPZmZzZXQ/OiBudW1iZXI7XG4gICAgaG9yaXpvbnRhbE9mZnNldD86IG51bWJlcjtcbiAgICBjZW50ZXJlZD86IGJvb2xlYW47XG4gICAgcmVzcG9uc2l2ZUhlaWdodD86IGJvb2xlYW47XG4gICAgZm9yY2VBYm92ZT86IGJvb2xlYW47XG4gICAgZm9yY2VCZWxvdz86IGJvb2xlYW47XG4gIH0sXG4pOiBTYmJFbGVtZW50UG9zaXRpb25JbmZvcyB7XG4gIGNvbnN0IG1heFdpZHRoT2Zmc2V0ID0gMTY7XG4gIGNvbnN0IHZlcnRpY2FsT2Zmc2V0ID0gcHJvcGVydGllcz8udmVydGljYWxPZmZzZXQgfHwgMDtcbiAgY29uc3QgaG9yaXpvbnRhbE9mZnNldCA9IHByb3BlcnRpZXM/Lmhvcml6b250YWxPZmZzZXQgfHwgMDtcbiAgY29uc3QgcmVzcG9uc2l2ZUhlaWdodCA9IHByb3BlcnRpZXM/LnJlc3BvbnNpdmVIZWlnaHQgfHwgZmFsc2U7XG5cbiAgY29uc3QgdHJpZ2dlclJlYyA9IHRyaWdnZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGNvbnN0IGVsZW1lbnRSZWMgPSBnZXRFbGVtZW50UmVjdGFuZ2xlKGVsZW1lbnQpO1xuXG4gIGNvbnN0IHRyaWdnZXJMZWZ0ID0gdHJpZ2dlclJlYy5sZWZ0O1xuICBjb25zdCB0cmlnZ2VyVG9wID0gdHJpZ2dlclJlYy50b3A7XG5cbiAgY29uc3QgYXZhaWxhYmxlU3BhY2VSaWdodCA9XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC0gKHRyaWdnZXJMZWZ0ICsgdHJpZ2dlclJlYy53aWR0aCk7XG4gIGNvbnN0IGF2YWlsYWJsZVNwYWNlQWJvdmUgPSB0cmlnZ2VyVG9wIC0gdmVydGljYWxPZmZzZXQ7XG4gIGNvbnN0IGF2YWlsYWJsZVNwYWNlQmVsb3cgPVxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQgLSAodHJpZ2dlclRvcCArIHRyaWdnZXJSZWMuaGVpZ2h0ICsgdmVydGljYWxPZmZzZXQpO1xuXG4gIC8vIERlZmF1bHQgZWxlbWVudCBhbGlnbm1lbnQgaXMgXCJzdGFydC9iZWxvd1wiXG4gIGxldCBlbGVtZW50WFBvc2l0aW9uID0gdHJpZ2dlckxlZnQ7XG4gIGxldCBlbGVtZW50WVBvc2l0aW9uID0gdHJpZ2dlclRvcCArIHRyaWdnZXJSZWMuaGVpZ2h0ICsgdmVydGljYWxPZmZzZXQ7XG4gIGxldCBlbGVtZW50WE92ZXJmbG93ID0gZWxlbWVudFJlYy5vZmZzZXRXaWR0aCAtIHRyaWdnZXJSZWMud2lkdGg7XG4gIGNvbnN0IGFsaWdubWVudDogU2JiQWxpZ25tZW50ID0geyBob3Jpem9udGFsOiAnc3RhcnQnLCB2ZXJ0aWNhbDogJ2JlbG93JyB9O1xuXG4gIC8vIENhbGN1bGF0ZSBlbGVtZW50IG1heC1oZWlnaHRcbiAgbGV0IGVsZW1lbnRNYXhIZWlnaHQgPSBgJHthdmFpbGFibGVTcGFjZUJlbG93IC0gdmVydGljYWxPZmZzZXR9cHhgO1xuXG4gIC8vIENoZWNrIGlmIGhvcml6b250YWwgYWxpZ25tZW50IG5lZWRzIHRvIGJlIGNoYW5nZWQgdG8gXCJjZW50ZXJcIlxuICBpZiAoXG4gICAgcHJvcGVydGllcz8uY2VudGVyZWQgJiZcbiAgICB0cmlnZ2VyTGVmdCAtIG1heFdpZHRoT2Zmc2V0ICsgdHJpZ2dlclJlYy53aWR0aCAvIDIgPiBlbGVtZW50UmVjLm9mZnNldFdpZHRoIC8gMiAmJlxuICAgIGF2YWlsYWJsZVNwYWNlUmlnaHQgLSBtYXhXaWR0aE9mZnNldCA+IGVsZW1lbnRYT3ZlcmZsb3cgLyAyXG4gICkge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gLT0gZWxlbWVudFhPdmVyZmxvdyAvPSAyO1xuICAgIGFsaWdubWVudC5ob3Jpem9udGFsID0gJ2NlbnRlcic7XG4gIH1cblxuICAvLyBDaGVjayBpZiBob3Jpem9udGFsIGFsaWdubWVudCBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIFwiZW5kXCJcbiAgaWYgKGF2YWlsYWJsZVNwYWNlUmlnaHQgPCBlbGVtZW50WE92ZXJmbG93ICYmIHRyaWdnZXJMZWZ0ID4gZWxlbWVudFhPdmVyZmxvdykge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gPSBlbGVtZW50WFBvc2l0aW9uIC0gZWxlbWVudFhPdmVyZmxvdztcbiAgICBhbGlnbm1lbnQuaG9yaXpvbnRhbCA9ICdlbmQnO1xuICB9XG5cbiAgLy8gQWRkIGhvcml6b250YWwgb2Zmc2V0XG4gIGlmIChcbiAgICBob3Jpem9udGFsT2Zmc2V0ICYmXG4gICAgYWxpZ25tZW50Lmhvcml6b250YWwgIT09ICdjZW50ZXInICYmXG4gICAgdHJpZ2dlclJlYy53aWR0aCAvIDIgPCBob3Jpem9udGFsT2Zmc2V0XG4gICkge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gKz0gaG9yaXpvbnRhbE9mZnNldCAqIChhbGlnbm1lbnQuaG9yaXpvbnRhbCA9PT0gJ3N0YXJ0JyA/IC0xIDogMSk7XG4gIH1cblxuICAvLyBDaGVjayB3aGV0aGVyIHRoZXJlIGlzIGluc3VmZmljaWVudCBzcGFjZSBvbiBib3RoIHNpZGVzXG4gIGlmIChcbiAgICAodHJpZ2dlckxlZnQgPCBlbGVtZW50WE92ZXJmbG93ICYmIGF2YWlsYWJsZVNwYWNlUmlnaHQgPCBlbGVtZW50WE92ZXJmbG93KSB8fFxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCA8IGVsZW1lbnRSZWMub2Zmc2V0V2lkdGhcbiAgKSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCAvIDIgLSBlbGVtZW50UmVjLm9mZnNldFdpZHRoIC8gMjtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHZlcnRpY2FsIGFsaWdubWVudCBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIFwiYWJvdmVcIjpcbiAgY29uc3Qgc2hvdWxkT3BlbkFib3ZlID1cbiAgICAoYXZhaWxhYmxlU3BhY2VCZWxvdyAtIHZlcnRpY2FsT2Zmc2V0IDwgZWxlbWVudFJlYy5zY3JvbGxIZWlnaHQgJiZcbiAgICAgIGF2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldCA+XG4gICAgICAgIChyZXNwb25zaXZlSGVpZ2h0ID8gZWxlbWVudFJlYy5jbGllbnRIZWlnaHQgOiBlbGVtZW50UmVjLnNjcm9sbEhlaWdodCkpIHx8XG4gICAgKGF2YWlsYWJsZVNwYWNlQWJvdmUgPiBhdmFpbGFibGVTcGFjZUJlbG93ICYmXG4gICAgICBhdmFpbGFibGVTcGFjZUJlbG93IC0gdmVydGljYWxPZmZzZXQgPCBlbGVtZW50UmVjLmNsaWVudEhlaWdodCAmJlxuICAgICAgIXJlc3BvbnNpdmVIZWlnaHQpO1xuXG4gIGlmICghcHJvcGVydGllcz8uZm9yY2VCZWxvdyAmJiAocHJvcGVydGllcz8uZm9yY2VBYm92ZSB8fCBzaG91bGRPcGVuQWJvdmUpKSB7XG4gICAgZWxlbWVudFlQb3NpdGlvbiA9XG4gICAgICBhdmFpbGFibGVTcGFjZUFib3ZlIDwgZWxlbWVudFJlYy5zY3JvbGxIZWlnaHRcbiAgICAgICAgPyBlbGVtZW50WVBvc2l0aW9uIC0gdHJpZ2dlclJlYy5oZWlnaHQgLSBhdmFpbGFibGVTcGFjZUFib3ZlIC0gdmVydGljYWxPZmZzZXRcbiAgICAgICAgOiB0cmlnZ2VyVG9wIC0gZWxlbWVudFJlYy5jbGllbnRIZWlnaHQgLSB2ZXJ0aWNhbE9mZnNldDtcblxuICAgIGVsZW1lbnRNYXhIZWlnaHQgPSBgJHthdmFpbGFibGVTcGFjZUFib3ZlIC0gdmVydGljYWxPZmZzZXR9cHhgO1xuICAgIGFsaWdubWVudC52ZXJ0aWNhbCA9ICdhYm92ZSc7XG4gIH1cblxuICBjb25zdCBjb250YWluZXJSZWN0ID0gY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gIC8vIFdoZW4gem9vbWluZyBpbiBTYWZhcmkgdGhlIGNvbnRhaW5lciByZWN0YW5nbGUgY29udGFpbnMgbmVnYXRpdmUgdmFsdWVzIGZvciB0aGUgcG9zaXRpb24sXG4gIC8vIGFuZCB3ZSBuZWVkIHRvIHJlLWFkZCB0aGVtIHRvIHRoZSBjYWxjdWxhdGVkIGNvb3JkaW5hdGVzLlxuICBpZiAoY29udGFpbmVyUmVjdC5sZWZ0IDwgMCkge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gLT0gY29udGFpbmVyUmVjdC5sZWZ0O1xuICB9XG5cbiAgLy8gTm9ybWFsbHkgdGhlIGNvbnRhaW5lclJlY3QncyB0b3AgdmFsdWUgd291bGQgYmUgemVybywgaG93ZXZlciB3aGVuIHRoZSBvdmVybGF5IGlzIGF0dGFjaGVkIHRvIGFuIGlucHV0XG4gIC8vIChlLmcuIGluIGFuIGF1dG9jb21wbGV0ZSksIG1vYmlsZSBicm93c2VycyB3aWxsIHNoaWZ0IGV2ZXJ5dGhpbmcgaW4gb3JkZXIgdG8gcHV0IHRoZSBpbnB1dCBpbiB0aGUgbWlkZGxlXG4gIC8vIG9mIHRoZSBzY3JlZW4gYW5kIHRvIG1ha2Ugc3BhY2UgZm9yIHRoZSB2aXJ0dWFsIGtleWJvYXJkLiBXZSBuZWVkIHRvIGFjY291bnQgZm9yIHRoaXMgb2Zmc2V0LFxuICAvLyBvdGhlcndpc2Ugb3VyIHBvc2l0aW9uaW5nIHdpbGwgYmUgdGhyb3duIG9mZi5cbiAgLy8gQWRkaXRpb25hbGx5LCB3aGVuIHpvb21pbmcgaW4gU2FmYXJpIHRoaXMgZml4ZXMgdGhlIHZlcnRpY2FsIHBvc2l0aW9uLlxuICBpZiAoY29udGFpbmVyUmVjdC50b3AgPCAwKSB7XG4gICAgZWxlbWVudFlQb3NpdGlvbiAtPSBjb250YWluZXJSZWN0LnRvcDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdG9wOiBlbGVtZW50WVBvc2l0aW9uLFxuICAgIGxlZnQ6IGVsZW1lbnRYUG9zaXRpb24sXG4gICAgbWF4SGVpZ2h0OiBlbGVtZW50TWF4SGVpZ2h0LFxuICAgIGFsaWdubWVudDogYWxpZ25tZW50LFxuICB9O1xufVxuXG4vKipcbiAqIERldGVybWluZXMgdGhlIHBvc2l0aW9uIG9mIGFuIGVsZW1lbnQgcmVsYXRpdmUgdG8gYSB0cmlnZ2VyIGVsZW1lbnQgYnkgZXZhbHVhdGluZ1xuICogdGhlIG9wdGltYWwgcG9zaXRpb24gYmFzZWQgb24gdGhlIGF2YWlsYWJsZSBzcGFjZS5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudCBUaGUgZWxlbWVudCBvZiB3aGljaCB0byBjYWxjdWxhdGUgdGhlIHBvc2l0aW9uLlxuICogQHBhcmFtIHRyaWdnZXIgVGhlIGVsZW1lbnQgcmVsYXRpdmUgdG8gd2hpY2ggdG8gY2FsY3VsYXRlIHRoZSBwb3NpdGlvbi5cbiAqIEBwYXJhbSBjb250YWluZXIgVGhlIGVsZW1lbnQgd2hpY2ggaGFzIHRoZSBwb3NpdGlvbjpmaXhlZCBhcHBsaWVkLlxuICogQHBhcmFtIHByb3BlcnRpZXMgUHJvcGVydGllcyB0byB0YWtlIGludG8gYWNjb3VudCBpbiBjYWxjdWxhdGlvbnMgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLnZlcnRpY2FsT2Zmc2V0IFRoZSBkaXN0YW5jZSB0byBiZSBhZGRlZCBiZXR3ZWVuIHRoZSBlbGVtZW50IGFuZCB0aGUgdHJpZ2dlciAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMuaG9yaXpvbnRhbE9mZnNldCBUaGUgaG9yaXpvbnRhbCBvZmZzZXQgdG8gYmUgYXBwbGllZCB0byB0aGUgZWxlbWVudCAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMucmVzcG9uc2l2ZUhlaWdodCBXaGV0aGVyIHRoZSBlbGVtZW50IGNhbGN1bGF0ZXMgaXRzIGhlaWdodCBiYXNlZCBvbiBpdHMgY29udGVudCAob3B0aW9uYWwpLlxuICogQHJldHVybnMgUmV0dXJucyBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgbGVmdCBwb3NpdGlvbiwgdGhlIHRvcCBwb3NpdGlvbiwgdGhlIG1heGltdW0gaGVpZ2h0XG4gKiBvZiB0aGUgZWxlbWVudCBhbmQgdGhlIGN1cnJlbnQgYWxpZ25tZW50IG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRQb3NpdGlvbkhvcml6b250YWwoXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICB0cmlnZ2VyOiBIVE1MRWxlbWVudCxcbiAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgcHJvcGVydGllcz86IHtcbiAgICB2ZXJ0aWNhbE9mZnNldD86IG51bWJlcjtcbiAgICBob3Jpem9udGFsT2Zmc2V0PzogbnVtYmVyO1xuICAgIHJlc3BvbnNpdmVIZWlnaHQ/OiBib29sZWFuO1xuICAgIGNvbnRlbnRTZWxlY3Rvcj86IHN0cmluZztcbiAgfSxcbik6IFNiYkVsZW1lbnRQb3NpdGlvbkluZm9zIHtcbiAgY29uc3QgbWF4SGVpZ2h0T2Zmc2V0ID0gMTY7XG5cbiAgY29uc3QgdmVydGljYWxPZmZzZXQgPSBwcm9wZXJ0aWVzPy52ZXJ0aWNhbE9mZnNldCB8fCAwO1xuICBjb25zdCBob3Jpem9udGFsT2Zmc2V0ID0gcHJvcGVydGllcz8uaG9yaXpvbnRhbE9mZnNldCB8fCAwO1xuXG4gIGNvbnN0IHRyaWdnZXJSZWMgPSB0cmlnZ2VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICBjb25zdCBlbGVtZW50UmVjID0gZ2V0RWxlbWVudFJlY3RhbmdsZShlbGVtZW50KTtcbiAgY29uc3QgdHJpZ2dlclBhcmVudFJlYyA9IHRyaWdnZXJcbiAgICAucGFyZW50RWxlbWVudCEuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcihcbiAgICAgIHByb3BlcnRpZXM/LmNvbnRlbnRTZWxlY3RvciA/PyBgLiR7ZWxlbWVudC5jbGFzc05hbWV9YCxcbiAgICApIVxuICAgIC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICBjb25zdCBhdmFpbGFibGVTcGFjZVJpZ2h0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC0gdHJpZ2dlclBhcmVudFJlYy5yaWdodDtcbiAgY29uc3QgYXZhaWxhYmxlU3BhY2VCZWxvdyA9XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtICh0cmlnZ2VyUmVjLnRvcCAtIHZlcnRpY2FsT2Zmc2V0KTtcbiAgY29uc3QgYXZhaWxhYmxlVmVydGljYWxTcGFjZSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gIGNvbnN0IGVsZW1lbnRNYXhIZWlnaHQgPSBgJHthdmFpbGFibGVWZXJ0aWNhbFNwYWNlIC0gbWF4SGVpZ2h0T2Zmc2V0ICogMn1weGA7XG4gIGNvbnN0IGFsaWdubWVudDogU2JiQWxpZ25tZW50ID0geyBob3Jpem9udGFsOiAnZW5kJywgdmVydGljYWw6ICdhYm92ZScgfTtcbiAgY29uc3QgZWxlbWVudFhPdmVyZmxvdyA9IGVsZW1lbnRSZWMub2Zmc2V0V2lkdGggKyBob3Jpem9udGFsT2Zmc2V0O1xuXG4gIC8vIERlZmF1bHQgZWxlbWVudCBhbGlnbm1lbnQgaXMgXCJlbmQvYWJvdmVcIlxuICBsZXQgZWxlbWVudFhQb3NpdGlvbiA9IHRyaWdnZXJQYXJlbnRSZWMucmlnaHQ7XG4gIGxldCBlbGVtZW50WVBvc2l0aW9uID0gdHJpZ2dlclJlYy50b3AgKyB2ZXJ0aWNhbE9mZnNldDtcblxuICAvLyBDaGVjayBpZiBob3Jpem9udGFsIGFsaWdubWVudCBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIFwic3RhcnRcIlxuICBpZiAoYXZhaWxhYmxlU3BhY2VSaWdodCA8IGVsZW1lbnRYT3ZlcmZsb3cgJiYgdHJpZ2dlclJlYy5sZWZ0ID4gZWxlbWVudFhPdmVyZmxvdykge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gPSBlbGVtZW50WFBvc2l0aW9uIC0gdHJpZ2dlclBhcmVudFJlYy53aWR0aCAtIGVsZW1lbnRSZWMub2Zmc2V0V2lkdGg7XG4gICAgYWxpZ25tZW50Lmhvcml6b250YWwgPSAnc3RhcnQnO1xuICB9XG5cbiAgLy8gQWRkIGhvcml6b250YWwgb2Zmc2V0XG4gIGlmIChob3Jpem9udGFsT2Zmc2V0ICYmIGFsaWdubWVudC5ob3Jpem9udGFsICE9PSAnY2VudGVyJykge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gKz0gaG9yaXpvbnRhbE9mZnNldCAqIChhbGlnbm1lbnQuaG9yaXpvbnRhbCA9PT0gJ3N0YXJ0JyA/IC0xIDogMSk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB2ZXJ0aWNhbCBhbGlnbm1lbnQgbmVlZHMgdG8gYmUgY2hhbmdlZCB0byBcImFib3ZlXCI6XG4gIGlmIChhdmFpbGFibGVTcGFjZUJlbG93IDwgZWxlbWVudFJlYy5zY3JvbGxIZWlnaHQpIHtcbiAgICBlbGVtZW50WVBvc2l0aW9uID0gYXZhaWxhYmxlVmVydGljYWxTcGFjZSAtIGVsZW1lbnRSZWMuY2xpZW50SGVpZ2h0IC0gbWF4SGVpZ2h0T2Zmc2V0O1xuICB9XG5cbiAgLy8gV2hlbiB6b29taW5nIGluIFNhZmFyaSB0aGUgY29udGFpbmVyIHJlY3RhbmdsZSBjb250YWlucyBuZWdhdGl2ZSB2YWx1ZXMgZm9yIHRoZSBwb3NpdGlvbixcbiAgLy8gYW5kIHdlIG5lZWQgdG8gcmUtYWRkIHRoZW0gdG8gdGhlIGNhbGN1bGF0ZWQgY29vcmRpbmF0ZXMuXG4gIGlmIChjb250YWluZXJSZWN0LmxlZnQgPCAwKSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiAtPSBjb250YWluZXJSZWN0LmxlZnQ7XG4gIH1cblxuICAvLyBOb3JtYWxseSB0aGUgY29udGFpbmVyUmVjdCdzIHRvcCB2YWx1ZSB3b3VsZCBiZSB6ZXJvLCBob3dldmVyIHdoZW4gdGhlIG92ZXJsYXkgaXMgYXR0YWNoZWQgdG8gYW4gaW5wdXRcbiAgLy8gKGUuZy4gaW4gYW4gYXV0b2NvbXBsZXRlKSwgbW9iaWxlIGJyb3dzZXJzIHdpbGwgc2hpZnQgZXZlcnl0aGluZyBpbiBvcmRlciB0byBwdXQgdGhlIGlucHV0IGluIHRoZSBtaWRkbGVcbiAgLy8gb2YgdGhlIHNjcmVlbiBhbmQgdG8gbWFrZSBzcGFjZSBmb3IgdGhlIHZpcnR1YWwga2V5Ym9hcmQuIFdlIG5lZWQgdG8gYWNjb3VudCBmb3IgdGhpcyBvZmZzZXQsXG4gIC8vIG90aGVyd2lzZSBvdXIgcG9zaXRpb25pbmcgd2lsbCBiZSB0aHJvd24gb2ZmLlxuICAvLyBBZGRpdGlvbmFsbHksIHdoZW4gem9vbWluZyBpbiBTYWZhcmkgdGhpcyBmaXhlcyB0aGUgdmVydGljYWwgcG9zaXRpb24uXG4gIGlmIChjb250YWluZXJSZWN0LnRvcCA8IDApIHtcbiAgICBlbGVtZW50WVBvc2l0aW9uIC09IGNvbnRhaW5lclJlY3QudG9wO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0b3A6IGVsZW1lbnRZUG9zaXRpb24sXG4gICAgbGVmdDogZWxlbWVudFhQb3NpdGlvbixcbiAgICBtYXhIZWlnaHQ6IGVsZW1lbnRNYXhIZWlnaHQsXG4gICAgYWxpZ25tZW50OiBhbGlnbm1lbnQsXG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFvQkEsU0FBZ0Isb0JBQW9CLElBQWU7Q0FDakQsTUFBTSxlQUFlLE9BQU8saUJBQWlCLEdBQUcsRUFDOUMsaUJBQWlCLGFBQWEsU0FDOUIsbUJBQW1CLFNBQVMsYUFBYSxXQUFXLEdBQUcsQ0FBQyxVQUFVO0FBR3BFLEtBQUksbUJBQW1CLFVBQVUscUJBQXFCLElBQ3BELFFBQU87RUFDTCxjQUFjLEdBQUc7RUFDakIsY0FBYyxHQUFHO0VBQ2pCLGNBQWMsR0FBRztFQUNqQixhQUFhLEdBQUc7RUFDaEIsYUFBYSxHQUFHO0VBQ2hCLGFBQWEsR0FBRztFQUNqQjtBQUtILElBQUcsTUFBTSxXQUFXO0FBQ3BCLElBQUcsTUFBTSxhQUFhO0FBQ3RCLElBQUcsTUFBTSxVQUFVO0NBRW5CLE1BQU0sZUFBZSxHQUFHLGNBQ3RCLGVBQWUsR0FBRyxjQUNsQixlQUFlLEdBQUcsY0FDbEIsY0FBYyxHQUFHLGFBQ2pCLGNBQWMsR0FBRyxhQUNqQixjQUFjLEdBQUc7QUFHbkIsSUFBRyxNQUFNLFVBQVU7QUFDbkIsSUFBRyxNQUFNLFdBQVc7QUFDcEIsSUFBRyxNQUFNLGFBQWE7QUFFdEIsUUFBTztFQUFFO0VBQWM7RUFBYztFQUFjO0VBQWE7RUFBYTtFQUFhOzs7OztBQU01RixTQUFnQixpQkFDZCxTQUNBLE9BQWdDO0FBRWhDLEtBQUksQ0FBQyxXQUFXLENBQUMsTUFDZixRQUFPO0NBR1QsTUFBTSxPQUFPLFFB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
153
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvb3ZlcmxheS9wb3NpdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBFbGVtZW50UmVjdGFuZ2xlID0gUGljazxcbiAgSFRNTEVsZW1lbnQsXG4gICdzY3JvbGxIZWlnaHQnIHwgJ2NsaWVudEhlaWdodCcgfCAnb2Zmc2V0SGVpZ2h0JyB8ICdzY3JvbGxXaWR0aCcgfCAnY2xpZW50V2lkdGgnIHwgJ29mZnNldFdpZHRoJ1xuPjtcblxuZXhwb3J0IGludGVyZmFjZSBTYmJBbGlnbm1lbnQge1xuICBob3Jpem9udGFsOiAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJztcbiAgdmVydGljYWw6ICdhYm92ZScgfCAnYmVsb3cnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNiYkVsZW1lbnRQb3NpdGlvbkluZm9zIHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgbWF4SGVpZ2h0OiBzdHJpbmc7XG4gIGFsaWdubWVudDogU2JiQWxpZ25tZW50O1xufVxuXG4vKipcbiAqIEdldHMgaGVpZ2h0IGFuZCB3aWR0aCBvZiBhbiBlbGVtZW50IGV2ZW4gaWYgaXQncyBoaWRkZW4gKGBkaXNwbGF5OiBub25lYCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50UmVjdGFuZ2xlKGVsOiBIVE1MRWxlbWVudCk6IEVsZW1lbnRSZWN0YW5nbGUge1xuICBjb25zdCBlbGVtZW50U3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCksXG4gICAgZWxlbWVudERpc3BsYXkgPSBlbGVtZW50U3R5bGUuZGlzcGxheSxcbiAgICBlbGVtZW50TWF4SGVpZ2h0ID0gcGFyc2VJbnQoZWxlbWVudFN0eWxlLm1heEhlaWdodCwgMTApLnRvU3RyaW5nKCk7XG5cbiAgLy8gSWYgaXQgaXMgbm90IGhpZGRlbiB3ZSBqdXN0IHJldHVybiBub3JtYWwgaGVpZ2h0XG4gIGlmIChlbGVtZW50RGlzcGxheSAhPT0gJ25vbmUnICYmIGVsZW1lbnRNYXhIZWlnaHQgIT09ICcwJykge1xuICAgIHJldHVybiB7XG4gICAgICBzY3JvbGxIZWlnaHQ6IGVsLnNjcm9sbEhlaWdodCxcbiAgICAgIGNsaWVudEhlaWdodDogZWwuY2xpZW50SGVpZ2h0LFxuICAgICAgb2Zmc2V0SGVpZ2h0OiBlbC5vZmZzZXRIZWlnaHQsXG4gICAgICBzY3JvbGxXaWR0aDogZWwuc2Nyb2xsV2lkdGgsXG4gICAgICBjbGllbnRXaWR0aDogZWwuY2xpZW50V2lkdGgsXG4gICAgICBvZmZzZXRXaWR0aDogZWwub2Zmc2V0V2lkdGgsXG4gICAgfTtcbiAgfVxuXG4gIC8vIFRoZSBlbGVtZW50IGlzIGhpZGRlbiBzbzpcbiAgLy8gbWFrZSB0aGUgZWwgYmxvY2sgaW4gb3JkZXIgdG8gbWVhc3VyZSBpdHMgaGVpZ2h0IGJ1dCBzdGlsbCBiZSBoaWRkZW5cbiAgZWwuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICBlbC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gIGVsLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuXG4gIGNvbnN0IHNjcm9sbEhlaWdodCA9IGVsLnNjcm9sbEhlaWdodCxcbiAgICBjbGllbnRIZWlnaHQgPSBlbC5jbGllbnRIZWlnaHQsXG4gICAgb2Zmc2V0SGVpZ2h0ID0gZWwub2Zmc2V0SGVpZ2h0LFxuICAgIHNjcm9sbFdpZHRoID0gZWwuc2Nyb2xsV2lkdGgsXG4gICAgY2xpZW50V2lkdGggPSBlbC5jbGllbnRXaWR0aCxcbiAgICBvZmZzZXRXaWR0aCA9IGVsLm9mZnNldFdpZHRoO1xuXG4gIC8vIFJldmVydGluZyB0byB0aGUgb3JpZ2luYWwgdmFsdWVzXG4gIGVsLnN0eWxlLmRpc3BsYXkgPSAnJztcbiAgZWwuc3R5bGUucG9zaXRpb24gPSAnJztcbiAgZWwuc3R5bGUudmlzaWJpbGl0eSA9ICcnO1xuXG4gIHJldHVybiB7IHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0LCBvZmZzZXRIZWlnaHQsIHNjcm9sbFdpZHRoLCBjbGllbnRXaWR0aCwgb2Zmc2V0V2lkdGggfTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYW4gZXZlbnQgaXMgZmlyZWQgb24gYSBzcGVjaWZpYyBlbGVtZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNFdmVudE9uRWxlbWVudChcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsLFxuICBldmVudDogTW91c2VFdmVudCB8IFBvaW50ZXJFdmVudCxcbik6IGJvb2xlYW4ge1xuICBpZiAoIWVsZW1lbnQgfHwgIWV2ZW50KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIHJldHVybiAoXG4gICAgcmVjdC50b3AgPD0gZXZlbnQuY2xpZW50WSAmJlxuICAgIGV2ZW50LmNsaWVudFkgPD0gcmVjdC50b3AgKyByZWN0LmhlaWdodCAmJlxuICAgIHJlY3QubGVmdCA8PSBldmVudC5jbGllbnRYICYmXG4gICAgZXZlbnQuY2xpZW50WCA8PSByZWN0LmxlZnQgKyByZWN0LndpZHRoXG4gICk7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgcG9zaXRpb24gb2YgYW4gZWxlbWVudCByZWxhdGl2ZSB0byBhIHRyaWdnZXIgZWxlbWVudCBieSBldmFsdWF0aW5nXG4gKiB0aGUgb3B0aW1hbCBwb3NpdGlvbiBiYXNlZCBvbiB0aGUgYXZhaWxhYmxlIHNwYWNlLlxuICpcbiAqIEBwYXJhbSBlbGVtZW50IFRoZSBlbGVtZW50IG9mIHdoaWNoIHRvIGNhbGN1bGF0ZSB0aGUgcG9zaXRpb24uXG4gKiBAcGFyYW0gdHJpZ2dlciBUaGUgZWxlbWVudCByZWxhdGl2ZSB0byB3aGljaCB0byBjYWxjdWxhdGUgdGhlIHBvc2l0aW9uLlxuICogQHBhcmFtIGNvbnRhaW5lciBUaGUgZWxlbWVudCB3aGljaCBoYXMgdGhlIHBvc2l0aW9uOmZpeGVkIGFwcGxpZWQuXG4gKiBAcGFyYW0gcHJvcGVydGllcyBQcm9wZXJ0aWVzIHRvIHRha2UgaW50byBhY2NvdW50IGluIGNhbGN1bGF0aW9ucyAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMudmVydGljYWxPZmZzZXQgVGhlIGRpc3RhbmNlIHRvIGJlIGFkZGVkIGJldHdlZW4gdGhlIGVsZW1lbnQgYW5kIHRoZSB0cmlnZ2VyIChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy5ob3Jpem9udGFsT2Zmc2V0IFRoZSBob3Jpem9udGFsIG9mZnNldCB0byBiZSBhcHBsaWVkIHRvIHRoZSBlbGVtZW50IChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy5jZW50ZXJlZCBXaGV0aGVyIHRoZSBlbGVtZW50IHNob3VsZCBiZSBwbGFjZWQgaW4gdGhlIGNlbnRlciBieSBkZWZhdWx0IChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy5yZXNwb25zaXZlSGVpZ2h0IFdoZXRoZXIgdGhlIGVsZW1lbnQgY2FsY3VsYXRlcyBpdHMgaGVpZ2h0IGJhc2VkIG9uIGl0cyBjb250ZW50IChvcHRpb25hbCkuXG4gKiBAcmV0dXJucyBSZXR1cm5zIGFuIG9iamVjdCBjb250YWluaW5nIHRoZSBsZWZ0IHBvc2l0aW9uLCB0aGUgdG9wIHBvc2l0aW9uLCB0aGUgbWF4aW11bSBoZWlnaHRcbiAqIG9mIHRoZSBlbGVtZW50IGFuZCB0aGUgY3VycmVudCBhbGlnbm1lbnQgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudFBvc2l0aW9uKFxuICBlbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgdHJpZ2dlcjogSFRNTEVsZW1lbnQsXG4gIGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsXG4gIHByb3BlcnRpZXM/OiB7XG4gICAgdmVydGljYWxPZmZzZXQ/OiBudW1iZXI7XG4gICAgaG9yaXpvbnRhbE9mZnNldD86IG51bWJlcjtcbiAgICBjZW50ZXJlZD86IGJvb2xlYW47XG4gICAgcmVzcG9uc2l2ZUhlaWdodD86IGJvb2xlYW47XG4gICAgZm9yY2VBYm92ZT86IGJvb2xlYW47XG4gICAgZm9yY2VCZWxvdz86IGJvb2xlYW47XG4gIH0sXG4pOiBTYmJFbGVtZW50UG9zaXRpb25JbmZvcyB7XG4gIGNvbnN0IG1heFdpZHRoT2Zmc2V0ID0gMTY7XG4gIGNvbnN0IHZlcnRpY2FsT2Zmc2V0ID0gcHJvcGVydGllcz8udmVydGljYWxPZmZzZXQgfHwgMDtcbiAgY29uc3QgaG9yaXpvbnRhbE9mZnNldCA9IHByb3BlcnRpZXM/Lmhvcml6b250YWxPZmZzZXQgfHwgMDtcbiAgY29uc3QgcmVzcG9uc2l2ZUhlaWdodCA9IHByb3BlcnRpZXM/LnJlc3BvbnNpdmVIZWlnaHQgfHwgZmFsc2U7XG5cbiAgY29uc3QgdHJpZ2dlclJlYyA9IHRyaWdnZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGNvbnN0IGVsZW1lbnRSZWMgPSBnZXRFbGVtZW50UmVjdGFuZ2xlKGVsZW1lbnQpO1xuXG4gIGNvbnN0IHRyaWdnZXJMZWZ0ID0gdHJpZ2dlclJlYy5sZWZ0O1xuICBjb25zdCB0cmlnZ2VyVG9wID0gdHJpZ2dlclJlYy50b3A7XG5cbiAgY29uc3QgYXZhaWxhYmxlU3BhY2VSaWdodCA9XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC0gKHRyaWdnZXJMZWZ0ICsgdHJpZ2dlclJlYy53aWR0aCk7XG4gIGNvbnN0IGF2YWlsYWJsZVNwYWNlQWJvdmUgPSB0cmlnZ2VyVG9wIC0gdmVydGljYWxPZmZzZXQ7XG4gIGNvbnN0IGF2YWlsYWJsZVNwYWNlQmVsb3cgPVxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQgLSAodHJpZ2dlclRvcCArIHRyaWdnZXJSZWMuaGVpZ2h0ICsgdmVydGljYWxPZmZzZXQpO1xuXG4gIC8vIERlZmF1bHQgZWxlbWVudCBhbGlnbm1lbnQgaXMgXCJzdGFydC9iZWxvd1wiXG4gIGxldCBlbGVtZW50WFBvc2l0aW9uID0gdHJpZ2dlckxlZnQ7XG4gIGxldCBlbGVtZW50WVBvc2l0aW9uID0gdHJpZ2dlclRvcCArIHRyaWdnZXJSZWMuaGVpZ2h0ICsgdmVydGljYWxPZmZzZXQ7XG4gIGxldCBlbGVtZW50WE92ZXJmbG93ID0gZWxlbWVudFJlYy5vZmZzZXRXaWR0aCAtIHRyaWdnZXJSZWMud2lkdGg7XG4gIGNvbnN0IGFsaWdubWVudDogU2JiQWxpZ25tZW50ID0geyBob3Jpem9udGFsOiAnc3RhcnQnLCB2ZXJ0aWNhbDogJ2JlbG93JyB9O1xuXG4gIC8vIENhbGN1bGF0ZSBlbGVtZW50IG1heC1oZWlnaHRcbiAgbGV0IGVsZW1lbnRNYXhIZWlnaHQgPSBgJHthdmFpbGFibGVTcGFjZUJlbG93IC0gdmVydGljYWxPZmZzZXR9cHhgO1xuXG4gIC8vIENoZWNrIGlmIGhvcml6b250YWwgYWxpZ25tZW50IG5lZWRzIHRvIGJlIGNoYW5nZWQgdG8gXCJjZW50ZXJcIlxuICBpZiAoXG4gICAgcHJvcGVydGllcz8uY2VudGVyZWQgJiZcbiAgICB0cmlnZ2VyTGVmdCAtIG1heFdpZHRoT2Zmc2V0ICsgdHJpZ2dlclJlYy53aWR0aCAvIDIgPiBlbGVtZW50UmVjLm9mZnNldFdpZHRoIC8gMiAmJlxuICAgIGF2YWlsYWJsZVNwYWNlUmlnaHQgLSBtYXhXaWR0aE9mZnNldCA+IGVsZW1lbnRYT3ZlcmZsb3cgLyAyXG4gICkge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gLT0gZWxlbWVudFhPdmVyZmxvdyAvPSAyO1xuICAgIGFsaWdubWVudC5ob3Jpem9udGFsID0gJ2NlbnRlcic7XG4gIH1cblxuICAvLyBDaGVjayBpZiBob3Jpem9udGFsIGFsaWdubWVudCBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIFwiZW5kXCJcbiAgaWYgKGF2YWlsYWJsZVNwYWNlUmlnaHQgPCBlbGVtZW50WE92ZXJmbG93ICYmIHRyaWdnZXJMZWZ0ID4gZWxlbWVudFhPdmVyZmxvdykge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gPSBlbGVtZW50WFBvc2l0aW9uIC0gZWxlbWVudFhPdmVyZmxvdztcbiAgICBhbGlnbm1lbnQuaG9yaXpvbnRhbCA9ICdlbmQnO1xuICB9XG5cbiAgLy8gQWRkIGhvcml6b250YWwgb2Zmc2V0XG4gIGlmIChcbiAgICBob3Jpem9udGFsT2Zmc2V0ICYmXG4gICAgYWxpZ25tZW50Lmhvcml6b250YWwgIT09ICdjZW50ZXInICYmXG4gICAgdHJpZ2dlclJlYy53aWR0aCAvIDIgPCBob3Jpem9udGFsT2Zmc2V0XG4gICkge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gKz0gaG9yaXpvbnRhbE9mZnNldCAqIChhbGlnbm1lbnQuaG9yaXpvbnRhbCA9PT0gJ3N0YXJ0JyA/IC0xIDogMSk7XG4gIH1cblxuICAvLyBDaGVjayB3aGV0aGVyIHRoZXJlIGlzIGluc3VmZmljaWVudCBzcGFjZSBvbiBib3RoIHNpZGVzXG4gIGlmIChcbiAgICAodHJpZ2dlckxlZnQgPCBlbGVtZW50WE92ZXJmbG93ICYmIGF2YWlsYWJsZVNwYWNlUmlnaHQgPCBlbGVtZW50WE92ZXJmbG93KSB8fFxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCA8IGVsZW1lbnRSZWMub2Zmc2V0V2lkdGhcbiAgKSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCAvIDIgLSBlbGVtZW50UmVjLm9mZnNldFdpZHRoIC8gMjtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHZlcnRpY2FsIGFsaWdubWVudCBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIFwiYWJvdmVcIi5cbiAgLy8gV2hlbiB0aGUgZWxlbWVudCBkb2Vzbid0IGZpdCBpbiBlaXRoZXIgZGlyZWN0aW9uLCBwcmVmZXIgdGhlIHNpZGUgd2l0aCBtb3JlIHNwYWNlXG4gIC8vIHRvIGF2b2lkIGFuIGluZmluaXRlIHJlcG9zaXRpb25pbmcgbG9vcCAoYWJvdmUg4oaUIGJlbG93KS5cbiAgY29uc3QgZml0c0JlbG93ID0gYXZhaWxhYmxlU3BhY2VCZWxvdyAtIHZlcnRpY2FsT2Zmc2V0ID49IGVsZW1lbnRSZWMuc2Nyb2xsSGVpZ2h0O1xuICBjb25zdCBmaXRzQWJvdmUgPVxuICAgIGF2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldCA+PVxuICAgIChyZXNwb25zaXZlSGVpZ2h0ID8gZWxlbWVudFJlYy5jbGllbnRIZWlnaHQgOiBlbGVtZW50UmVjLnNjcm9sbEhlaWdodCk7XG4gIGNvbnN0IG1vcmVTcGFjZUFib3ZlID0gYXZhaWxhYmxlU3BhY2VBYm92ZSA+IGF2YWlsYWJsZVNwYWNlQmVsb3c7XG4gIGNvbnN0IHNob3VsZE9wZW5BYm92ZSA9ICFmaXRzQmVsb3cgJiYgKGZpdHNBYm92ZSB8fCBtb3JlU3BhY2VBYm92ZSk7XG5cbiAgaWYgKCFwcm9wZXJ0aWVzPy5mb3JjZUJlbG93ICYmIChwcm9wZXJ0aWVzPy5mb3JjZUFib3ZlIHx8IHNob3VsZE9wZW5BYm92ZSkpIHtcbiAgICBlbGVtZW50WVBvc2l0aW9uID1cbiAgICAgIGF2YWlsYWJsZVNwYWNlQWJvdmUgPCBlbGVtZW50UmVjLnNjcm9sbEhlaWdodFxuICAgICAgICA/IGVsZW1lbnRZUG9zaXRpb24gLSB0cmlnZ2VyUmVjLmhlaWdodCAtIGF2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldFxuICAgICAgICA6IHRyaWdnZXJUb3AgLSBlbGVtZW50UmVjLmNsaWVudEhlaWdodCAtIHZlcnRpY2FsT2Zmc2V0O1xuXG4gICAgZWxlbWVudE1heEhlaWdodCA9IGAke2F2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldH1weGA7XG4gICAgYWxpZ25tZW50LnZlcnRpY2FsID0gJ2Fib3ZlJztcbiAgfVxuXG4gIGNvbnN0IGNvbnRhaW5lclJlY3QgPSBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgLy8gV2hlbiB6b29taW5nIGluIFNhZmFyaSB0aGUgY29udGFpbmVyIHJlY3RhbmdsZSBjb250YWlucyBuZWdhdGl2ZSB2YWx1ZXMgZm9yIHRoZSBwb3NpdGlvbixcbiAgLy8gYW5kIHdlIG5lZWQgdG8gcmUtYWRkIHRoZW0gdG8gdGhlIGNhbGN1bGF0ZWQgY29vcmRpbmF0ZXMuXG4gIGlmIChjb250YWluZXJSZWN0LmxlZnQgPCAwKSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiAtPSBjb250YWluZXJSZWN0LmxlZnQ7XG4gIH1cblxuICAvLyBOb3JtYWxseSB0aGUgY29udGFpbmVyUmVjdCdzIHRvcCB2YWx1ZSB3b3VsZCBiZSB6ZXJvLCBob3dldmVyIHdoZW4gdGhlIG92ZXJsYXkgaXMgYXR0YWNoZWQgdG8gYW4gaW5wdXRcbiAgLy8gKGUuZy4gaW4gYW4gYXV0b2NvbXBsZXRlKSwgbW9iaWxlIGJyb3dzZXJzIHdpbGwgc2hpZnQgZXZlcnl0aGluZyBpbiBvcmRlciB0byBwdXQgdGhlIGlucHV0IGluIHRoZSBtaWRkbGVcbiAgLy8gb2YgdGhlIHNjcmVlbiBhbmQgdG8gbWFrZSBzcGFjZSBmb3IgdGhlIHZpcnR1YWwga2V5Ym9hcmQuIFdlIG5lZWQgdG8gYWNjb3VudCBmb3IgdGhpcyBvZmZzZXQsXG4gIC8vIG90aGVyd2lzZSBvdXIgcG9zaXRpb25pbmcgd2lsbCBiZSB0aHJvd24gb2ZmLlxuICAvLyBBZGRpdGlvbmFsbHksIHdoZW4gem9vbWluZyBpbiBTYWZhcmkgdGhpcyBmaXhlcyB0aGUgdmVydGljYWwgcG9zaXRpb24uXG4gIGlmIChjb250YWluZXJSZWN0LnRvcCA8IDApIHtcbiAgICBlbGVtZW50WVBvc2l0aW9uIC09IGNvbnRhaW5lclJlY3QudG9wO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0b3A6IGVsZW1lbnRZUG9zaXRpb24sXG4gICAgbGVmdDogZWxlbWVudFhQb3NpdGlvbixcbiAgICBtYXhIZWlnaHQ6IGVsZW1lbnRNYXhIZWlnaHQsXG4gICAgYWxpZ25tZW50OiBhbGlnbm1lbnQsXG4gIH07XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgcG9zaXRpb24gb2YgYW4gZWxlbWVudCByZWxhdGl2ZSB0byBhIHRyaWdnZXIgZWxlbWVudCBieSBldmFsdWF0aW5nXG4gKiB0aGUgb3B0aW1hbCBwb3NpdGlvbiBiYXNlZCBvbiB0aGUgYXZhaWxhYmxlIHNwYWNlLlxuICpcbiAqIEBwYXJhbSBlbGVtZW50IFRoZSBlbGVtZW50IG9mIHdoaWNoIHRvIGNhbGN1bGF0ZSB0aGUgcG9zaXRpb24uXG4gKiBAcGFyYW0gdHJpZ2dlciBUaGUgZWxlbWVudCByZWxhdGl2ZSB0byB3aGljaCB0byBjYWxjdWxhdGUgdGhlIHBvc2l0aW9uLlxuICogQHBhcmFtIGNvbnRhaW5lciBUaGUgZWxlbWVudCB3aGljaCBoYXMgdGhlIHBvc2l0aW9uOmZpeGVkIGFwcGxpZWQuXG4gKiBAcGFyYW0gcHJvcGVydGllcyBQcm9wZXJ0aWVzIHRvIHRha2UgaW50byBhY2NvdW50IGluIGNhbGN1bGF0aW9ucyAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMudmVydGljYWxPZmZzZXQgVGhlIGRpc3RhbmNlIHRvIGJlIGFkZGVkIGJldHdlZW4gdGhlIGVsZW1lbnQgYW5kIHRoZSB0cmlnZ2VyIChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy5ob3Jpem9udGFsT2Zmc2V0IFRoZSBob3Jpem9udGFsIG9mZnNldCB0byBiZSBhcHBsaWVkIHRvIHRoZSBlbGVtZW50IChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy5yZXNwb25zaXZlSGVpZ2h0IFdoZXRoZXIgdGhlIGVsZW1lbnQgY2FsY3VsYXRlcyBpdHMgaGVpZ2h0IGJhc2VkIG9uIGl0cyBjb250ZW50IChvcHRpb25hbCkuXG4gKiBAcmV0dXJucyBSZXR1cm5zIGFuIG9iamVjdCBjb250YWluaW5nIHRoZSBsZWZ0IHBvc2l0aW9uLCB0aGUgdG9wIHBvc2l0aW9uLCB0aGUgbWF4aW11bSBoZWlnaHRcbiAqIG9mIHRoZSBlbGVtZW50IGFuZCB0aGUgY3VycmVudCBhbGlnbm1lbnQgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudFBvc2l0aW9uSG9yaXpvbnRhbChcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gIHRyaWdnZXI6IEhUTUxFbGVtZW50LFxuICBjb250YWluZXI6IEhUTUxFbGVtZW50LFxuICBwcm9wZXJ0aWVzPzoge1xuICAgIHZlcnRpY2FsT2Zmc2V0PzogbnVtYmVyO1xuICAgIGhvcml6b250YWxPZmZzZXQ/OiBudW1iZXI7XG4gICAgcmVzcG9uc2l2ZUhlaWdodD86IGJvb2xlYW47XG4gICAgY29udGVudFNlbGVjdG9yPzogc3RyaW5nO1xuICB9LFxuKTogU2JiRWxlbWVudFBvc2l0aW9uSW5mb3Mge1xuICBjb25zdCBtYXhIZWlnaHRPZmZzZXQgPSAxNjtcblxuICBjb25zdCB2ZXJ0aWNhbE9mZnNldCA9IHByb3BlcnRpZXM/LnZlcnRpY2FsT2Zmc2V0IHx8IDA7XG4gIGNvbnN0IGhvcml6b250YWxPZmZzZXQgPSBwcm9wZXJ0aWVzPy5ob3Jpem9udGFsT2Zmc2V0IHx8IDA7XG5cbiAgY29uc3QgdHJpZ2dlclJlYyA9IHRyaWdnZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGNvbnN0IGVsZW1lbnRSZWMgPSBnZXRFbGVtZW50UmVjdGFuZ2xlKGVsZW1lbnQpO1xuICBjb25zdCB0cmlnZ2VyUGFyZW50UmVjID0gdHJpZ2dlclxuICAgIC5wYXJlbnRFbGVtZW50IS5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKFxuICAgICAgcHJvcGVydGllcz8uY29udGVudFNlbGVjdG9yID8/IGAuJHtlbGVtZW50LmNsYXNzTmFtZX1gLFxuICAgICkhXG4gICAgLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICBjb25zdCBjb250YWluZXJSZWN0ID0gY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gIGNvbnN0IGF2YWlsYWJsZVNwYWNlUmlnaHQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggLSB0cmlnZ2VyUGFyZW50UmVjLnJpZ2h0O1xuICBjb25zdCBhdmFpbGFibGVTcGFjZUJlbG93ID1cbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IC0gKHRyaWdnZXJSZWMudG9wIC0gdmVydGljYWxPZmZzZXQpO1xuICBjb25zdCBhdmFpbGFibGVWZXJ0aWNhbFNwYWNlID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDtcbiAgY29uc3QgZWxlbWVudE1heEhlaWdodCA9IGAke2F2YWlsYWJsZVZlcnRpY2FsU3BhY2UgLSBtYXhIZWlnaHRPZmZzZXQgKiAyfXB4YDtcbiAgY29uc3QgYWxpZ25tZW50OiBTYmJBbGlnbm1lbnQgPSB7IGhvcml6b250YWw6ICdlbmQnLCB2ZXJ0aWNhbDogJ2Fib3ZlJyB9O1xuICBjb25zdCBlbGVtZW50WE92ZXJmbG93ID0gZWxlbWVudFJlYy5vZmZzZXRXaWR0aCArIGhvcml6b250YWxPZmZzZXQ7XG5cbiAgLy8gRGVmYXVsdCBlbGVtZW50IGFsaWdubWVudCBpcyBcImVuZC9hYm92ZVwiXG4gIGxldCBlbGVtZW50WFBvc2l0aW9uID0gdHJpZ2dlclBhcmVudFJlYy5yaWdodDtcbiAgbGV0IGVsZW1lbnRZUG9zaXRpb24gPSB0cmlnZ2VyUmVjLnRvcCArIHZlcnRpY2FsT2Zmc2V0O1xuXG4gIC8vIENoZWNrIGlmIGhvcml6b250YWwgYWxpZ25tZW50IG5lZWRzIHRvIGJlIGNoYW5nZWQgdG8gXCJzdGFydFwiXG4gIGlmIChhdmFpbGFibGVTcGFjZVJpZ2h0IDwgZWxlbWVudFhPdmVyZmxvdyAmJiB0cmlnZ2VyUmVjLmxlZnQgPiBlbGVtZW50WE92ZXJmbG93KSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiA9IGVsZW1lbnRYUG9zaXRpb24gLSB0cmlnZ2VyUGFyZW50UmVjLndpZHRoIC0gZWxlbWVudFJlYy5vZmZzZXRXaWR0aDtcbiAgICBhbGlnbm1lbnQuaG9yaXpvbnRhbCA9ICdzdGFydCc7XG4gIH1cblxuICAvLyBBZGQgaG9yaXpvbnRhbCBvZmZzZXRcbiAgaWYgKGhvcml6b250YWxPZmZzZXQgJiYgYWxpZ25tZW50Lmhvcml6b250YWwgIT09ICdjZW50ZXInKSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiArPSBob3Jpem9udGFsT2Zmc2V0ICogKGFsaWdubWVudC5ob3Jpem9udGFsID09PSAnc3RhcnQnID8gLTEgOiAxKTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHZlcnRpY2FsIGFsaWdubWVudCBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIFwiYWJvdmVcIjpcbiAgaWYgKGF2YWlsYWJsZVNwYWNlQmVsb3cgPCBlbGVtZW50UmVjLnNjcm9sbEhlaWdodCkge1xuICAgIGVsZW1lbnRZUG9zaXRpb24gPSBhdmFpbGFibGVWZXJ0aWNhbFNwYWNlIC0gZWxlbWVudFJlYy5jbGllbnRIZWlnaHQgLSBtYXhIZWlnaHRPZmZzZXQ7XG4gIH1cblxuICAvLyBXaGVuIHpvb21pbmcgaW4gU2FmYXJpIHRoZSBjb250YWluZXIgcmVjdGFuZ2xlIGNvbnRhaW5zIG5lZ2F0aXZlIHZhbHVlcyBmb3IgdGhlIHBvc2l0aW9uLFxuICAvLyBhbmQgd2UgbmVlZCB0byByZS1hZGQgdGhlbSB0byB0aGUgY2FsY3VsYXRlZCBjb29yZGluYXRlcy5cbiAgaWYgKGNvbnRhaW5lclJlY3QubGVmdCA8IDApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uIC09IGNvbnRhaW5lclJlY3QubGVmdDtcbiAgfVxuXG4gIC8vIE5vcm1hbGx5IHRoZSBjb250YWluZXJSZWN0J3MgdG9wIHZhbHVlIHdvdWxkIGJlIHplcm8sIGhvd2V2ZXIgd2hlbiB0aGUgb3ZlcmxheSBpcyBhdHRhY2hlZCB0byBhbiBpbnB1dFxuICAvLyAoZS5nLiBpbiBhbiBhdXRvY29tcGxldGUpLCBtb2JpbGUgYnJvd3NlcnMgd2lsbCBzaGlmdCBldmVyeXRoaW5nIGluIG9yZGVyIHRvIHB1dCB0aGUgaW5wdXQgaW4gdGhlIG1pZGRsZVxuICAvLyBvZiB0aGUgc2NyZWVuIGFuZCB0byBtYWtlIHNwYWNlIGZvciB0aGUgdmlydHVhbCBrZXlib2FyZC4gV2UgbmVlZCB0byBhY2NvdW50IGZvciB0aGlzIG9mZnNldCxcbiAgLy8gb3RoZXJ3aXNlIG91ciBwb3NpdGlvbmluZyB3aWxsIGJlIHRocm93biBvZmYuXG4gIC8vIEFkZGl0aW9uYWxseSwgd2hlbiB6b29taW5nIGluIFNhZmFyaSB0aGlzIGZpeGVzIHRoZSB2ZXJ0aWNhbCBwb3NpdGlvbi5cbiAgaWYgKGNvbnRhaW5lclJlY3QudG9wIDwgMCkge1xuICAgIGVsZW1lbnRZUG9zaXRpb24gLT0gY29udGFpbmVyUmVjdC50b3A7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHRvcDogZWxlbWVudFlQb3NpdGlvbixcbiAgICBsZWZ0OiBlbGVtZW50WFBvc2l0aW9uLFxuICAgIG1heEhlaWdodDogZWxlbWVudE1heEhlaWdodCxcbiAgICBhbGlnbm1lbnQ6IGFsaWdubWVudCxcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQW9CQSxTQUFnQixvQkFBb0IsSUFBZTtDQUNqRCxNQUFNLGVBQWUsT0FBTyxpQkFBaUIsR0FBRyxFQUM5QyxpQkFBaUIsYUFBYSxTQUM5QixtQkFBbUIsU0FBUyxhQUFhLFdBQVcsR0FBRyxDQUFDLFVBQVU7QUFHcEUsS0FBSSxtQkFBbUIsVUFBVSxxQkFBcUIsSUFDcEQsUUFBTztFQUNMLGNBQWMsR0FBRztFQUNqQixjQUFjLEdBQUc7RUFDakIsY0FBYyxHQUFHO0VBQ2pCLGFBQWEsR0FBRztFQUNoQixhQUFhLEdBQUc7RUFDaEIsYUFBYSxHQUFHO0VBQ2pCO0FBS0gsSUFBRyxNQUFNLFdBQVc7QUFDcEIsSUFBRyxNQUFNLGFBQWE7QUFDdEIsSUFBRyxNQUFNLFVBQVU7Q0FFbkIsTUFBTSxlQUFlLEdBQUcsY0FDdEIsZUFBZSxHQUFHLGNBQ2xCLGVBQWUsR0FBRyxjQUNsQixjQUFjLEdBQUcsYUFDakIsY0FBYyxHQUFHLGFBQ2pCLGNBQWMsR0FBRztBQUduQixJQUFHLE1BQU0sVUFBVTtBQUNuQixJQUFHLE1BQU0sV0FBVztBQUNwQixJQUFH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
@@ -85,7 +85,7 @@ export declare class SbbPopoverElement extends SbbPopoverBaseElement {
85
85
  private _closeDelay?;
86
86
  /** This will be forwarded as aria-label to the close button element. */
87
87
  accessor accessibilityCloseLabel: string;
88
- private _hoverTrigger;
88
+ private accessor _hoverTrigger;
89
89
  private _openTimeout?;
90
90
  private _language;
91
91
  private _overlayAbortController;
@@ -1 +1 @@
1
- {"version":3,"file":"popover.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/popover/popover.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"popover.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/popover/popover.component.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { n as SbbPopoverElement, t as SbbPopoverBaseElement } from "../popover.component-rZb6B9uW.js";
1
+ import { n as SbbPopoverElement, t as SbbPopoverBaseElement } from "../popover.component-EgOs-wsR.js";
2
2
  export { SbbPopoverBaseElement, SbbPopoverElement };