@ssa-ui-kit/core 3.23.0 → 3.23.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -973,7 +973,7 @@ UI Component that renders a list of items with a custom render function
973
973
  #### Carousel
974
974
  Shows a set of images one at a time, with optional thumbnails, dot indicators, previous/next buttons and autoplay.
975
975
 
976
- - `items: CarouselItem[]` — Slides to show, in order.
976
+ - `items: CarouselItem[]` — Slides to show, in order. When empty, a single picture placeholder is shown in place of the slide.
977
977
  - `thumbnails?: CarouselThumbnailsPosition` `= false` — Position of the thumbnail strip. `left`/`right` render a vertical strip as tall as the slide; `bottom`…
978
978
  - `showDots?: boolean` `= true` — Show the dot indicators (see `controlsPosition`).
979
979
  - `showArrows?: boolean` `= true` — Show the previous/next buttons (see `controlsPosition`).
@@ -41,7 +41,8 @@ export type CarouselFit = 'contain' | 'cover';
41
41
  */
42
42
  export type CarouselProps = {
43
43
  /**
44
- * Slides to show, in order.
44
+ * Slides to show, in order. When empty, a single picture placeholder is
45
+ * shown in place of the slide.
45
46
  */
46
47
  items: CarouselItem[];
47
48
  /**
package/dist/index.js CHANGED
@@ -62988,14 +62988,14 @@ const Carousel = /*#__PURE__*/(0,external_react_.forwardRef)((props, ref) => {
62988
62988
  } : {
62989
62989
  aspectRatio: aspectRatio
62990
62990
  },
62991
- children: [(0,jsx_runtime_namespaceObject.jsx)("div", {
62991
+ children: [(0,jsx_runtime_namespaceObject.jsxs)("div", {
62992
62992
  css: track,
62993
62993
  "aria-live": isPlaying ? 'off' : 'polite',
62994
62994
  style: {
62995
62995
  transform: `translateX(-${current * 100}%)`,
62996
62996
  transitionDuration: `${transitionDuration}ms`
62997
62997
  },
62998
- children: items.map((item, i) => {
62998
+ children: [items.map((item, i) => {
62999
62999
  const active = i === current;
63000
63000
  return (0,jsx_runtime_namespaceObject.jsx)("div", {
63001
63001
  role: "group",
@@ -63013,14 +63013,17 @@ const Carousel = /*#__PURE__*/(0,external_react_.forwardRef)((props, ref) => {
63013
63013
  onError: () => markFailed(item.src)
63014
63014
  }) : placeholder(24)
63015
63015
  }, i);
63016
- })
63016
+ }), count === 0 && (0,jsx_runtime_namespaceObject.jsx)("div", {
63017
+ css: slide,
63018
+ children: placeholder(24)
63019
+ })]
63017
63020
  }), allowOpenFull && fullHref && (0,jsx_runtime_namespaceObject.jsx)("a", {
63018
63021
  href: fullHref,
63019
63022
  target: "_blank",
63020
63023
  rel: "noopener noreferrer",
63021
63024
  "aria-label": "Open full size image in a new tab",
63022
63025
  className: "carousel-open-full",
63023
- css: [squareButton, openFull, process.env.NODE_ENV === "production" ? "" : ";label:Carousel;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9DYXJvdXNlbC9DYXJvdXNlbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNFpnQiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91aS1raXQvdWkta2l0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvQ2Fyb3VzZWwvQ2Fyb3VzZWwudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9yd2FyZFJlZiwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlTWVyZ2VSZWZzIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0JztcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2tSZWYsIHVzZUNvbnRyb2xsYWJsZVN0YXRlIH0gZnJvbSAnQHNzYS11aS1raXQvaG9va3MnO1xuXG5pbXBvcnQgSWNvbiBmcm9tICdAY29tcG9uZW50cy9JY29uJztcblxuaW1wb3J0IHsgQ2Fyb3VzZWxJdGVtLCBDYXJvdXNlbFByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgKiBhcyBTIGZyb20gJy4vc3R5bGVzJztcblxuY29uc3QgREVGQVVMVF9BVVRPX1BMQVlfSU5URVJWQUwgPSA1MDAwO1xuY29uc3QgREVGQVVMVF9UUkFOU0lUSU9OX0RVUkFUSU9OID0gMzAwO1xuXG5jb25zdCBzdWJzY3JpYmVNZWRpYSA9IChcbiAgcXVlcnk6IHN0cmluZyxcbiAgb25DaGFuZ2U6IChtYXRjaGVzOiBib29sZWFuKSA9PiB2b2lkLFxuKSA9PiB7XG4gIGlmIChcbiAgICB0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyB8fFxuICAgIHR5cGVvZiB3aW5kb3cubWF0Y2hNZWRpYSAhPT0gJ2Z1bmN0aW9uJ1xuICApIHtcbiAgICByZXR1cm4gKCkgPT4ge307XG4gIH1cbiAgY29uc3QgbGlzdCA9IHdpbmRvdy5tYXRjaE1lZGlhKHF1ZXJ5KTtcbiAgb25DaGFuZ2UobGlzdC5tYXRjaGVzKTtcbiAgY29uc3QgaGFuZGxlciA9IChldmVudDogTWVkaWFRdWVyeUxpc3RFdmVudCkgPT4gb25DaGFuZ2UoZXZlbnQubWF0Y2hlcyk7XG4gIGxpc3QuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgaGFuZGxlcik7XG4gIHJldHVybiAoKSA9PiBsaXN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGhhbmRsZXIpO1xufTtcblxuLyoqIGB0cnVlYCB3aGlsZSB0aGUgdXNlciBhc2tzIHRoZSBPUyBmb3IgcmVkdWNlZCBtb3Rpb24uICovXG5jb25zdCB1c2VQcmVmZXJzUmVkdWNlZE1vdGlvbiA9ICgpID0+IHtcbiAgY29uc3QgW3JlZHVjZWQsIHNldFJlZHVjZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4gc3Vic2NyaWJlTWVkaWEoJyhwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpJywgc2V0UmVkdWNlZCksXG4gICAgW10sXG4gICk7XG4gIHJldHVybiByZWR1Y2VkO1xufTtcblxuLyoqIGBmYWxzZWAgd2hpbGUgdGhlIGJyb3dzZXIgdGFiIGlzIGluIHRoZSBiYWNrZ3JvdW5kLiAqL1xuY29uc3QgdXNlUGFnZVZpc2libGUgPSAoKSA9PiB7XG4gIGNvbnN0IFt2aXNpYmxlLCBzZXRWaXNpYmxlXSA9IHVzZVN0YXRlKHRydWUpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKSByZXR1cm47XG4gICAgY29uc3QgdXBkYXRlID0gKCkgPT4gc2V0VmlzaWJsZShkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgIT09ICdoaWRkZW4nKTtcbiAgICB1cGRhdGUoKTtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgdXBkYXRlKTtcbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndmlzaWJpbGl0eWNoYW5nZScsIHVwZGF0ZSk7XG4gIH0sIFtdKTtcbiAgcmV0dXJuIHZpc2libGU7XG59O1xuXG5jb25zdCBkZXNjcmliZSA9IChpdGVtOiBDYXJvdXNlbEl0ZW0gfCB1bmRlZmluZWQsIGluZGV4OiBudW1iZXIpID0+XG4gIGl0ZW0/LmFsdCA/IGAke2luZGV4ICsgMX06ICR7aXRlbS5hbHR9YCA6IGAke2luZGV4ICsgMX1gO1xuXG4vKipcbiAqIENhcm91c2VsIC0gU2hvd3MgYSBzZXQgb2YgaW1hZ2VzIG9uZSBhdCBhIHRpbWUsIHdpdGggb3B0aW9uYWwgdGh1bWJuYWlscyxcbiAqIGRvdCBpbmRpY2F0b3JzLCBwcmV2aW91cy9uZXh0IGJ1dHRvbnMgYW5kIGF1dG9wbGF5LlxuICpcbiAqICMjIyBTaXppbmdcbiAqIFRoZSBjYXJvdXNlbCBhbHdheXMgZmlsbHMgaXRzIGNvbnRhaW5lcidzIHdpZHRoLiBUaGUgc2xpZGUncyBoZWlnaHQgY29tZXNcbiAqIGZyb20gYGFzcGVjdFJhdGlvYCAoc3F1YXJlIGJ5IGRlZmF1bHQsIGFzIGluIHRoZSBkZXNpZ24pIG9yIGZyb20gYSBmaXhlZFxuICogYGhlaWdodGAsIG5ldmVyIGZyb20gdGhlIGltYWdlcyDigJQgc28gdGhlIGxheW91dCBkb2VzIG5vdCBqdW1wIGJldHdlZW5cbiAqIHNsaWRlcyBvciB3aGlsZSBpbWFnZXMgbG9hZC4gSW1hZ2VzIGFyZSBsZXR0ZXJib3hlZCBpbnNpZGUgdGhlIGZyYW1lXG4gKiAoYGZpdD1cImNvbnRhaW5cImApIG9yIGNyb3BwZWQgdG8gZmlsbCBpdCAoYGZpdD1cImNvdmVyXCJgKS5cbiAqXG4gKiBUaHVtYm5haWxzIGFyZSBhIGZpeGVkIDUycHguIEEgYGxlZnRgL2ByaWdodGAgc3RyaXAgaXMgZXhhY3RseSBhcyB0YWxsIGFzXG4gKiB0aGUgc2xpZGUgYW5kIGEgYGJvdHRvbWAgc3RyaXAgZXhhY3RseSBhcyB3aWRlOyBleHRyYSB0aHVtYm5haWxzIHNjcm9sbCBhbmRcbiAqIHRoZSBhY3RpdmUgb25lIGlzIGtlcHQgaW4gdmlldy5cbiAqXG4gKiAjIyMgQ29udHJvbHNcbiAqIERvdHMgYW5kIGFycm93cyBzaXQgb3ZlciB0aGUgYm90dG9tIG9mIHRoZSBzbGlkZSAoYGNvbnRyb2xzUG9zaXRpb249XCJvdmVybGF5XCJgKVxuICogb3IgaW4gdGhlaXIgb3duIHJvdyB1bmRlciBpdCAoYGNvbnRyb2xzUG9zaXRpb249XCJiZWxvd1wiYCkuXG4gKlxuICogIyMjIE5hdmlnYXRpb25cbiAqIEFycm93cywgZG90cywgdGh1bWJuYWlscyBhbmQgdGhlIOKGkC/ihpIvSG9tZS9FbmQga2V5cyAod2hpbGUgZm9jdXMgaXNcbiAqIGFueXdoZXJlIGluc2lkZSB0aGUgY2Fyb3VzZWwpIGFsbCBtb3ZlIGJldHdlZW4gc2xpZGVzLiBXaXRob3V0IGBsb29wYCB0aGUgYXJyb3dzIHN0b3AgYXQgYm90aFxuICogZW5kcy4gYGF1dG9QbGF5YCBhbHdheXMgbG9vcHMgYW5kIHBhdXNlcyBvbiBob3ZlciwgZm9jdXMsIGEgaGlkZGVuIHRhYiBhbmRcbiAqIGBwcmVmZXJzLXJlZHVjZWQtbW90aW9uYC5cbiAqXG4gKiAjIyMgU3RhdGVcbiAqIFBhc3MgYGluZGV4YCArIGBvbkluZGV4Q2hhbmdlYCB0byBjb250cm9sIHRoZSBjdXJyZW50IHNsaWRlLCBvclxuICogYGRlZmF1bHRJbmRleGAgdG8gbGV0IHRoZSBjYXJvdXNlbCBvd24gaXQuXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqIEBzdWJjYXRlZ29yeSBEYXRhIERpc3BsYXlcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiA8Q2Fyb3VzZWxcbiAqICAgaXRlbXM9e1tcbiAqICAgICB7IHNyYzogJy9mcm9udC5qcGcnLCBhbHQ6ICdGcm9udCB2aWV3JyB9LFxuICogICAgIHsgc3JjOiAnL3NpZGUuanBnJywgYWx0OiAnU2lkZSB2aWV3JyB9LFxuICogICBdfVxuICogLz5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIFZlcnRpY2FsIHRodW1ibmFpbHMsIDQ6MyBzbGlkZSwgb3BlbiBmdWxsIHNpemUgaW4gYSBuZXcgdGFiXG4gKiA8Q2Fyb3VzZWwgaXRlbXM9e2l0ZW1zfSB0aHVtYm5haWxzPVwibGVmdFwiIGFzcGVjdFJhdGlvPXs0IC8gM30gYWxsb3dPcGVuRnVsbCAvPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogLy8gQXV0b3BsYXk6IDNzIHBlciBzbGlkZSwgNjAwbXMgc2xpZGUgYW5pbWF0aW9uXG4gKiA8Q2Fyb3VzZWwgaXRlbXM9e2l0ZW1zfSBhdXRvUGxheSBhdXRvUGxheUludGVydmFsPXszMDAwfSB0cmFuc2l0aW9uRHVyYXRpb249ezYwMH0gLz5cbiAqIGBgYFxuICpcbiAqIEBhY2Nlc3NpYmlsaXR5XG4gKiAtIFJvb3QgaXMgYSBgcmVnaW9uYCB3aXRoIGBhcmlhLXJvbGVkZXNjcmlwdGlvbj1cImNhcm91c2VsXCJgXG4gKiAtIEVhY2ggc2xpZGUgaXMgYSBsYWJlbGxlZCBncm91cCAoXCJOIG9mIE1cIik7IGhpZGRlbiBzbGlkZXMgYXJlIGBpbmVydGBcbiAqIC0gU2xpZGUgY2hhbmdlcyBhcmUgYW5ub3VuY2VkIHBvbGl0ZWx5IHVubGVzcyBhdXRvcGxheSBpcyBydW5uaW5nXG4gKiAtIERvdHMgYW5kIHRodW1ibmFpbHMgZXhwb3NlIGBhcmlhLWN1cnJlbnRgIGZvciB0aGUgYWN0aXZlIHNsaWRlXG4gKi9cbmV4cG9ydCBjb25zdCBDYXJvdXNlbCA9IGZvcndhcmRSZWY8SFRNTERpdkVsZW1lbnQsIENhcm91c2VsUHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGl0ZW1zLFxuICAgICAgdGh1bWJuYWlscyA9IGZhbHNlLFxuICAgICAgc2hvd0RvdHMgPSB0cnVlLFxuICAgICAgc2hvd0Fycm93cyA9IHRydWUsXG4gICAgICBjb250cm9sc1Bvc2l0aW9uID0gJ292ZXJsYXknLFxuICAgICAgYWxsb3dPcGVuRnVsbCA9IGZhbHNlLFxuICAgICAgYXNwZWN0UmF0aW8gPSAxLFxuICAgICAgaGVpZ2h0LFxuICAgICAgZml0ID0gJ2NvbnRhaW4nLFxuICAgICAgaW5kZXgsXG4gICAgICBkZWZhdWx0SW5kZXgsXG4gICAgICBvbkluZGV4Q2hhbmdlLFxuICAgICAgbG9vcCA9IGZhbHNlLFxuICAgICAgYXV0b1BsYXkgPSBmYWxzZSxcbiAgICAgIGF1dG9QbGF5SW50ZXJ2YWwgPSBERUZBVUxUX0FVVE9fUExBWV9JTlRFUlZBTCxcbiAgICAgIHRyYW5zaXRpb25EdXJhdGlvbiA9IERFRkFVTFRfVFJBTlNJVElPTl9EVVJBVElPTixcbiAgICAgIHJlbmRlckl0ZW0sXG4gICAgICAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCA9ICdJbWFnZSBjYXJvdXNlbCcsXG4gICAgICBjbGFzc05hbWUsXG4gICAgfSA9IHByb3BzO1xuXG4gICAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuICAgIGNvbnN0IGNvdW50ID0gaXRlbXMubGVuZ3RoO1xuICAgIGNvbnN0IGNhbkxvb3AgPSBsb29wIHx8IGF1dG9QbGF5O1xuXG4gICAgY29uc3QgW3Jhd0luZGV4LCBzZXRJbmRleF0gPSB1c2VDb250cm9sbGFibGVTdGF0ZTxudW1iZXI+KHtcbiAgICAgIGNvbnRyb2xsZWQ6ICdpbmRleCcgaW4gcHJvcHMsXG4gICAgICB2YWx1ZTogaW5kZXgsXG4gICAgICBkZWZhdWx0VmFsdWU6IGRlZmF1bHRJbmRleCxcbiAgICAgIGZpbmFsVmFsdWU6IDAsXG4gICAgICBvbkNoYW5nZTogb25JbmRleENoYW5nZSxcbiAgICB9KTtcbiAgICBjb25zdCBjdXJyZW50ID0gTWF0aC5taW4oXG4gICAgICBNYXRoLm1heChyYXdJbmRleCA/PyAwLCAwKSxcbiAgICAgIE1hdGgubWF4KGNvdW50IC0gMSwgMCksXG4gICAgKTtcblxuICAgIGNvbnN0IGdvVG8gPSAobmV4dDogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoY291bnQgPT09IDApIHJldHVybjtcbiAgICAgIHNldEluZGV4KFxuICAgICAgICBjYW5Mb29wXG4gICAgICAgICAgPyAoKG5leHQgJSBjb3VudCkgKyBjb3VudCkgJSBjb3VudFxuICAgICAgICAgIDogTWF0aC5taW4oTWF0aC5tYXgobmV4dCwgMCksIGNvdW50IC0gMSksXG4gICAgICApO1xuICAgIH07XG5cbiAgICBjb25zdCBoYXNQcmV2ID0gY2FuTG9vcCA/IGNvdW50ID4gMSA6IGN1cnJlbnQgPiAwO1xuICAgIGNvbnN0IGhhc05leHQgPSBjYW5Mb29wID8gY291bnQgPiAxIDogY3VycmVudCA8IGNvdW50IC0gMTtcblxuICAgIC8vIEF1dG9wbGF5OiBvbmUgdGltZW91dCBwZXIgc2xpZGUsIHNvIGFueSBtYW51YWwgbW92ZSByZXN0YXJ0cyB0aGUgY2xvY2suXG4gICAgY29uc3QgW2hvdmVyZWQsIHNldEhvdmVyZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtmb2N1c2VkLCBzZXRGb2N1c2VkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBwYWdlVmlzaWJsZSA9IHVzZVBhZ2VWaXNpYmxlKCk7XG4gICAgY29uc3QgcmVkdWNlZE1vdGlvbiA9IHVzZVByZWZlcnNSZWR1Y2VkTW90aW9uKCk7XG4gICAgY29uc3QgaXNQbGF5aW5nID1cbiAgICAgIGF1dG9QbGF5ICYmXG4gICAgICBjb3VudCA+IDEgJiZcbiAgICAgICFob3ZlcmVkICYmXG4gICAgICAhZm9jdXNlZCAmJlxuICAgICAgcGFnZVZpc2libGUgJiZcbiAgICAgICFyZWR1Y2VkTW90aW9uO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghaXNQbGF5aW5nKSByZXR1cm47XG4gICAgICBjb25zdCBpZCA9IHdpbmRvdy5zZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PiBzZXRJbmRleCgoY3VycmVudCArIDEpICUgY291bnQpLFxuICAgICAgICBhdXRvUGxheUludGVydmFsLFxuICAgICAgKTtcbiAgICAgIHJldHVybiAoKSA9PiB3aW5kb3cuY2xlYXJUaW1lb3V0KGlkKTtcbiAgICB9LCBbaXNQbGF5aW5nLCBjdXJyZW50LCBjb3VudCwgYXV0b1BsYXlJbnRlcnZhbCwgc2V0SW5kZXhdKTtcblxuICAgIC8vIEtlZXAgdGhlIGFjdGl2ZSB0aHVtYm5haWwgaW5zaWRlIHRoZSBzdHJpcCdzIHNjcm9sbCBhcmVhLiBTY3JvbGxpbmcgdGhlXG4gICAgLy8gc3RyaXAgZGlyZWN0bHkgKG5vdCBgc2Nyb2xsSW50b1ZpZXdgKSBzbyB0aGUgcGFnZSBpdHNlbGYgbmV2ZXIgbW92ZXMuXG4gICAgY29uc3Qgc3RyaXBSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IHZlcnRpY2FsID0gdGh1bWJuYWlscyA9PT0gJ2xlZnQnIHx8IHRodW1ibmFpbHMgPT09ICdyaWdodCc7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IHN0cmlwID0gc3RyaXBSZWYuY3VycmVudDtcbiAgICAgIGNvbnN0IGVsID0gc3RyaXA/LmNoaWxkcmVuW2N1cnJlbnRdIGFzIEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgICAgaWYgKCFzdHJpcCB8fCAhZWwpIHJldHVybjtcbiAgICAgIGNvbnN0IFtwb3MsIHNpemUsIHNjcm9sbCwgY2xpZW50XSA9IHZlcnRpY2FsXG4gICAgICAgID8gKFsnb2Zmc2V0VG9wJywgJ29mZnNldEhlaWdodCcsICdzY3JvbGxUb3AnLCAnY2xpZW50SGVpZ2h0J10gYXMgY29uc3QpXG4gICAgICAgIDogKFsnb2Zmc2V0TGVmdCcsICdvZmZzZXRXaWR0aCcsICdzY3JvbGxMZWZ0JywgJ2NsaWVudFdpZHRoJ10gYXMgY29uc3QpO1xuICAgICAgLy8gU21hbGxlc3Qgc2Nyb2xsIHRoYXQgc2hvd3MgdGhlIHdob2xlIHRodW1ibmFpbDogdW5jaGFuZ2VkIHdoZW4gaXQgaXNcbiAgICAgIC8vIGFscmVhZHkgdmlzaWJsZSwgZWxzZSBhbGlnbmVkIHRvIHdoaWNoZXZlciBlZGdlIGl0IG92ZXJmbG93cy5cbiAgICAgIHN0cmlwW3Njcm9sbF0gPSBNYXRoLm1pbihcbiAgICAgICAgTWF0aC5tYXgoc3RyaXBbc2Nyb2xsXSwgZWxbcG9zXSArIGVsW3NpemVdIC0gc3RyaXBbY2xpZW50XSksXG4gICAgICAgIGVsW3Bvc10sXG4gICAgICApO1xuICAgIH0sIFtjdXJyZW50LCB2ZXJ0aWNhbF0pO1xuXG4gICAgLy8gS2V5ZWQgYnkgVVJMIHNvIGEgYnJva2VuIHRodW1ibmFpbCBkb2VzIG5vdCBibGFuayBhIHdvcmtpbmcgc2xpZGUuXG4gICAgY29uc3QgW2ZhaWxlZCwgc2V0RmFpbGVkXSA9IHVzZVN0YXRlPFJlYWRvbmx5U2V0PHN0cmluZz4+KCgpID0+IG5ldyBTZXQoKSk7XG4gICAgY29uc3QgbWFya0ZhaWxlZCA9IChzcmM6IHN0cmluZykgPT5cbiAgICAgIHNldEZhaWxlZCgocHJldikgPT4gKHByZXYuaGFzKHNyYykgPyBwcmV2IDogbmV3IFNldChwcmV2KS5hZGQoc3JjKSkpO1xuXG4gICAgY29uc3Qgb25LZXlEb3duID0gdXNlQ2FsbGJhY2tSZWYoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBpZiAoXG4gICAgICAgIGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgfHxcbiAgICAgICAgdGFyZ2V0LmlzQ29udGVudEVkaXRhYmxlIHx8XG4gICAgICAgIC9eKElOUFVUfFRFWFRBUkVBfFNFTEVDVCkkLy50ZXN0KHRhcmdldC50YWdOYW1lKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1vdmVzOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge1xuICAgICAgICBBcnJvd0xlZnQ6IGN1cnJlbnQgLSAxLFxuICAgICAgICBBcnJvd1JpZ2h0OiBjdXJyZW50ICsgMSxcbiAgICAgICAgSG9tZTogMCxcbiAgICAgICAgRW5kOiBjb3VudCAtIDEsXG4gICAgICB9O1xuICAgICAgaWYgKCEoZXZlbnQua2V5IGluIG1vdmVzKSkgcmV0dXJuO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGdvVG8obW92ZXNbZXZlbnQua2V5XSk7XG4gICAgfSk7XG5cbiAgICAvLyBIb3ZlciwgZm9jdXMgYW5kIGtleXMgYXJlIGhhbmRsZWQgb24gdGhlIHdob2xlIGNhcm91c2VsLCBzbyDihpAv4oaSIHdvcmtcbiAgICAvLyBmcm9tIGFueSBvZiBpdHMgY29udHJvbHMuIE5hdGl2ZSBsaXN0ZW5lcnMga2VlcCB0aGUgcmVnaW9uIGl0c2VsZiBhXG4gICAgLy8gcGxhaW4gbGFuZG1hcmsgcmF0aGVyIHRoYW4gYSBtYWRlLXVwIGludGVyYWN0aXZlIGVsZW1lbnQuXG4gICAgY29uc3Qgcm9vdFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgbWVyZ2VkUmVmID0gdXNlTWVyZ2VSZWZzKFtyZWYsIHJvb3RSZWZdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3Qgcm9vdCA9IHJvb3RSZWYuY3VycmVudDtcbiAgICAgIGlmICghcm9vdCkgcmV0dXJuO1xuICAgICAgY29uc3QgZW50ZXIgPSAoKSA9PiBzZXRIb3ZlcmVkKHRydWUpO1xuICAgICAgY29uc3QgbGVhdmUgPSAoKSA9PiBzZXRIb3ZlcmVkKGZhbHNlKTtcbiAgICAgIGNvbnN0IGZvY3VzSW4gPSAoKSA9PiBzZXRGb2N1c2VkKHRydWUpO1xuICAgICAgY29uc3QgZm9jdXNPdXQgPSAoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKCFyb290LmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSB8IG51bGwpKSB7XG4gICAgICAgICAgc2V0Rm9jdXNlZChmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBlbnRlcik7XG4gICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBsZWF2ZSk7XG4gICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCBmb2N1c0luKTtcbiAgICAgIHJvb3QuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXNvdXQnLCBmb2N1c091dCk7XG4gICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgcm9vdC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZW50ZXIpO1xuICAgICAgICByb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBsZWF2ZSk7XG4gICAgICAgIHJvb3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignZm9jdXNpbicsIGZvY3VzSW4pO1xuICAgICAgICByb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgZm9jdXNPdXQpO1xuICAgICAgICByb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pO1xuICAgICAgfTtcbiAgICB9LCBbb25LZXlEb3duXSk7XG5cbiAgICBjb25zdCBwbGFjZWhvbGRlciA9IChzaXplOiBudW1iZXIpID0+IChcbiAgICAgIDxzcGFuIGNzcz17Uy5wbGFjZWhvbGRlcn0gZGF0YS10ZXN0aWQ9XCJjYXJvdXNlbC1wbGFjZWhvbGRlclwiPlxuICAgICAgICA8SWNvbiBuYW1lPVwicGljdHVyZVwiIHNpemU9e3NpemV9IGNvbG9yPXt0aGVtZS5jb2xvcnMud2hpdGV9IC8+XG4gICAgICA8L3NwYW4+XG4gICAgKTtcblxuICAgIGNvbnN0IGN1cnJlbnRJdGVtID0gaXRlbXNbY3VycmVudF07XG4gICAgY29uc3QgZnVsbEhyZWYgPSBjdXJyZW50SXRlbT8uZnVsbFNyYyA/PyBjdXJyZW50SXRlbT8uc3JjO1xuXG4gICAgY29uc3QgY29udHJvbHMgPSBjb3VudCA+IDEgJiYgKHNob3dEb3RzIHx8IHNob3dBcnJvd3MpICYmIChcbiAgICAgIDxkaXYgY3NzPXtTLmNvbnRyb2xzKGNvbnRyb2xzUG9zaXRpb24sIHRodW1ibmFpbHMpfT5cbiAgICAgICAge3Nob3dEb3RzICYmIChcbiAgICAgICAgICA8ZGl2IGNzcz17Uy5kb3RzfT5cbiAgICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGkpID0+IChcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGtleT17aX1cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjc3M9eyh0KSA9PiBTLmRvdCh0LCBpID09PSBjdXJyZW50KX1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtgR28gdG8gc2xpZGUgJHtkZXNjcmliZShpdGVtLCBpKX1gfVxuICAgICAgICAgICAgICAgIGFyaWEtY3VycmVudD17aSA9PT0gY3VycmVudCA/ICd0cnVlJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBnb1RvKGkpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIHtzaG93QXJyb3dzICYmIChcbiAgICAgICAgICA8ZGl2IGNzcz17Uy5hcnJvd3N9PlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY3NzPXtTLnNxdWFyZUJ1dHRvbn1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlByZXZpb3VzIHNsaWRlXCJcbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFoYXNQcmV2fVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBnb1RvKGN1cnJlbnQgLSAxKX0+XG4gICAgICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cImNhcnJvdC1sZWZ0XCJcbiAgICAgICAgICAgICAgICBzaXplPXsxNn1cbiAgICAgICAgICAgICAgICBjb2xvcj17dGhlbWUuY29sb3JzLmdyZXlEYXJrZXI4MH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY3NzPXtTLnNxdWFyZUJ1dHRvbn1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk5leHQgc2xpZGVcIlxuICAgICAgICAgICAgICBkaXNhYmxlZD17IWhhc05leHR9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGdvVG8oY3VycmVudCArIDEpfT5cbiAgICAgICAgICAgICAgPEljb25cbiAgICAgICAgICAgICAgICBuYW1lPVwiY2Fycm90LXJpZ2h0XCJcbiAgICAgICAgICAgICAgICBzaXplPXsxNn1cbiAgICAgICAgICAgICAgICBjb2xvcj17dGhlbWUuY29sb3JzLmdyZXlEYXJrZXI4MH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgKTtcblxuICAgIGNvbnN0IHRodW1iU3RyaXAgPSB0aHVtYm5haWxzICYmIGNvdW50ID4gMCAmJiAoXG4gICAgICA8ZGl2IGNzcz17Uy50aHVtYlN0cmlwV3JhcHBlcih2ZXJ0aWNhbCl9PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgcmVmPXtzdHJpcFJlZn1cbiAgICAgICAgICBjc3M9e1MudGh1bWJTdHJpcCh2ZXJ0aWNhbCl9XG4gICAgICAgICAgYXJpYS1sYWJlbD1cIlNsaWRlIHRodW1ibmFpbHNcIj5cbiAgICAgICAgICB7aXRlbXMubWFwKChpdGVtLCBpKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzcmMgPSBpdGVtLnRodW1ibmFpbFNyYyA/PyBpdGVtLnNyYztcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBrZXk9e2l9XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY3NzPXsodCkgPT4gUy50aHVtYih0LCBpID09PSBjdXJyZW50KX1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtgU2hvdyBzbGlkZSAke2Rlc2NyaWJlKGl0ZW0sIGkpfWB9XG4gICAgICAgICAgICAgICAgYXJpYS1jdXJyZW50PXtpID09PSBjdXJyZW50ID8gJ3RydWUnIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGdvVG8oaSl9PlxuICAgICAgICAgICAgICAgIHtzcmMgJiYgIWZhaWxlZC5oYXMoc3JjKSA/IChcbiAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgc3JjPXtzcmN9XG4gICAgICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgICAgIGRyYWdnYWJsZT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcj17KCkgPT4gbWFya0ZhaWxlZChzcmMpfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXIoMTYpXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdlxuICAgICAgICByZWY9e21lcmdlZFJlZn1cbiAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgIGFyaWEtcm9sZWRlc2NyaXB0aW9uPVwiY2Fyb3VzZWxcIlxuICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICBjc3M9e1Mucm9vdH0+XG4gICAgICAgIDxkaXYgY3NzPXtTLnN0YWdlKHRodW1ibmFpbHMpfT5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjc3M9e1Mudmlld3BvcnR9XG4gICAgICAgICAgICBzdHlsZT17XG4gICAgICAgICAgICAgIGhlaWdodCAhPT0gdW5kZWZpbmVkID8geyBoZWlnaHQgfSA6IHsgYXNwZWN0UmF0aW86IGFzcGVjdFJhdGlvIH1cbiAgICAgICAgICAgIH0+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNzcz17Uy50cmFja31cbiAgICAgICAgICAgICAgYXJpYS1saXZlPXtpc1BsYXlpbmcgPyAnb2ZmJyA6ICdwb2xpdGUnfVxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVgoLSR7Y3VycmVudCAqIDEwMH0lKWAsXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uOiBgJHt0cmFuc2l0aW9uRHVyYXRpb259bXNgLFxuICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IGkgPT09IGN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAga2V5PXtpfVxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiZ3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLXJvbGVkZXNjcmlwdGlvbj1cInNsaWRlXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17YCR7aSArIDF9IG9mICR7Y291bnR9YH1cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49eyFhY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgIGluZXJ0PXshYWN0aXZlfVxuICAgICAgICAgICAgICAgICAgICBjc3M9e1Muc2xpZGV9PlxuICAgICAgICAgICAgICAgICAgICB7cmVuZGVySXRlbSA/IChcbiAgICAgICAgICAgICAgICAgICAgICByZW5kZXJJdGVtKGl0ZW0sIGkpXG4gICAgICAgICAgICAgICAgICAgICkgOiBpdGVtLnNyYyAmJiAhZmFpbGVkLmhhcyhpdGVtLnNyYykgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtpdGVtLnNyY31cbiAgICAgICAgICAgICAgICAgICAgICAgIGFsdD17aXRlbS5hbHQgPz8gJyd9XG4gICAgICAgICAgICAgICAgICAgICAgICBjc3M9e1MuaW1hZ2UoZml0KX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdnYWJsZT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPXtNYXRoLmFicyhpIC0gY3VycmVudCkgPD0gMSA/ICdlYWdlcicgOiAnbGF6eSd9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkVycm9yPXsoKSA9PiBtYXJrRmFpbGVkKGl0ZW0uc3JjISl9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcigyNClcbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIHthbGxvd09wZW5GdWxsICYmIGZ1bGxIcmVmICYmIChcbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBocmVmPXtmdWxsSHJlZn1cbiAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJPcGVuIGZ1bGwgc2l6ZSBpbWFnZSBpbiBhIG5ldyB0YWJcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNhcm91c2VsLW9wZW4tZnVsbFwiXG4gICAgICAgICAgICAgICAgY3NzPXtbUy5zcXVhcmVCdXR0b24sIFMub3BlbkZ1bGxdfT5cbiAgICAgICAgICAgICAgICA8SWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT1cImZvbGxvdy1saW5rXCJcbiAgICAgICAgICAgICAgICAgIHNpemU9ezE2fVxuICAgICAgICAgICAgICAgICAgY29sb3I9e3RoZW1lLmNvbG9ycy5ncmV5RGFya2VyODB9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAge2NvbnRyb2xzUG9zaXRpb24gPT09ICdvdmVybGF5JyAmJiBjb250cm9sc31cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIHt2ZXJ0aWNhbCAmJiB0aHVtYlN0cmlwfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7Y29udHJvbHNQb3NpdGlvbiA9PT0gJ2JlbG93JyAmJiBjb250cm9sc31cblxuICAgICAgICB7dGh1bWJuYWlscyA9PT0gJ2JvdHRvbScgJiYgdGh1bWJTdHJpcH1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH0sXG4pO1xuXG5DYXJvdXNlbC5kaXNwbGF5TmFtZSA9ICdDYXJvdXNlbCc7XG4iXX0= */"],
63026
+ css: [squareButton, openFull, process.env.NODE_ENV === "production" ? "" : ";label:Carousel;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9DYXJvdXNlbC9DYXJvdXNlbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNlpnQiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91aS1raXQvdWkta2l0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvQ2Fyb3VzZWwvQ2Fyb3VzZWwudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9yd2FyZFJlZiwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlTWVyZ2VSZWZzIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0JztcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2tSZWYsIHVzZUNvbnRyb2xsYWJsZVN0YXRlIH0gZnJvbSAnQHNzYS11aS1raXQvaG9va3MnO1xuXG5pbXBvcnQgSWNvbiBmcm9tICdAY29tcG9uZW50cy9JY29uJztcblxuaW1wb3J0IHsgQ2Fyb3VzZWxJdGVtLCBDYXJvdXNlbFByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgKiBhcyBTIGZyb20gJy4vc3R5bGVzJztcblxuY29uc3QgREVGQVVMVF9BVVRPX1BMQVlfSU5URVJWQUwgPSA1MDAwO1xuY29uc3QgREVGQVVMVF9UUkFOU0lUSU9OX0RVUkFUSU9OID0gMzAwO1xuXG5jb25zdCBzdWJzY3JpYmVNZWRpYSA9IChcbiAgcXVlcnk6IHN0cmluZyxcbiAgb25DaGFuZ2U6IChtYXRjaGVzOiBib29sZWFuKSA9PiB2b2lkLFxuKSA9PiB7XG4gIGlmIChcbiAgICB0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyB8fFxuICAgIHR5cGVvZiB3aW5kb3cubWF0Y2hNZWRpYSAhPT0gJ2Z1bmN0aW9uJ1xuICApIHtcbiAgICByZXR1cm4gKCkgPT4ge307XG4gIH1cbiAgY29uc3QgbGlzdCA9IHdpbmRvdy5tYXRjaE1lZGlhKHF1ZXJ5KTtcbiAgb25DaGFuZ2UobGlzdC5tYXRjaGVzKTtcbiAgY29uc3QgaGFuZGxlciA9IChldmVudDogTWVkaWFRdWVyeUxpc3RFdmVudCkgPT4gb25DaGFuZ2UoZXZlbnQubWF0Y2hlcyk7XG4gIGxpc3QuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgaGFuZGxlcik7XG4gIHJldHVybiAoKSA9PiBsaXN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGhhbmRsZXIpO1xufTtcblxuLyoqIGB0cnVlYCB3aGlsZSB0aGUgdXNlciBhc2tzIHRoZSBPUyBmb3IgcmVkdWNlZCBtb3Rpb24uICovXG5jb25zdCB1c2VQcmVmZXJzUmVkdWNlZE1vdGlvbiA9ICgpID0+IHtcbiAgY29uc3QgW3JlZHVjZWQsIHNldFJlZHVjZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4gc3Vic2NyaWJlTWVkaWEoJyhwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpJywgc2V0UmVkdWNlZCksXG4gICAgW10sXG4gICk7XG4gIHJldHVybiByZWR1Y2VkO1xufTtcblxuLyoqIGBmYWxzZWAgd2hpbGUgdGhlIGJyb3dzZXIgdGFiIGlzIGluIHRoZSBiYWNrZ3JvdW5kLiAqL1xuY29uc3QgdXNlUGFnZVZpc2libGUgPSAoKSA9PiB7XG4gIGNvbnN0IFt2aXNpYmxlLCBzZXRWaXNpYmxlXSA9IHVzZVN0YXRlKHRydWUpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKSByZXR1cm47XG4gICAgY29uc3QgdXBkYXRlID0gKCkgPT4gc2V0VmlzaWJsZShkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgIT09ICdoaWRkZW4nKTtcbiAgICB1cGRhdGUoKTtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgdXBkYXRlKTtcbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndmlzaWJpbGl0eWNoYW5nZScsIHVwZGF0ZSk7XG4gIH0sIFtdKTtcbiAgcmV0dXJuIHZpc2libGU7XG59O1xuXG5jb25zdCBkZXNjcmliZSA9IChpdGVtOiBDYXJvdXNlbEl0ZW0gfCB1bmRlZmluZWQsIGluZGV4OiBudW1iZXIpID0+XG4gIGl0ZW0/LmFsdCA/IGAke2luZGV4ICsgMX06ICR7aXRlbS5hbHR9YCA6IGAke2luZGV4ICsgMX1gO1xuXG4vKipcbiAqIENhcm91c2VsIC0gU2hvd3MgYSBzZXQgb2YgaW1hZ2VzIG9uZSBhdCBhIHRpbWUsIHdpdGggb3B0aW9uYWwgdGh1bWJuYWlscyxcbiAqIGRvdCBpbmRpY2F0b3JzLCBwcmV2aW91cy9uZXh0IGJ1dHRvbnMgYW5kIGF1dG9wbGF5LlxuICpcbiAqICMjIyBTaXppbmdcbiAqIFRoZSBjYXJvdXNlbCBhbHdheXMgZmlsbHMgaXRzIGNvbnRhaW5lcidzIHdpZHRoLiBUaGUgc2xpZGUncyBoZWlnaHQgY29tZXNcbiAqIGZyb20gYGFzcGVjdFJhdGlvYCAoc3F1YXJlIGJ5IGRlZmF1bHQsIGFzIGluIHRoZSBkZXNpZ24pIG9yIGZyb20gYSBmaXhlZFxuICogYGhlaWdodGAsIG5ldmVyIGZyb20gdGhlIGltYWdlcyDigJQgc28gdGhlIGxheW91dCBkb2VzIG5vdCBqdW1wIGJldHdlZW5cbiAqIHNsaWRlcyBvciB3aGlsZSBpbWFnZXMgbG9hZC4gSW1hZ2VzIGFyZSBsZXR0ZXJib3hlZCBpbnNpZGUgdGhlIGZyYW1lXG4gKiAoYGZpdD1cImNvbnRhaW5cImApIG9yIGNyb3BwZWQgdG8gZmlsbCBpdCAoYGZpdD1cImNvdmVyXCJgKS5cbiAqXG4gKiBUaHVtYm5haWxzIGFyZSBhIGZpeGVkIDUycHguIEEgYGxlZnRgL2ByaWdodGAgc3RyaXAgaXMgZXhhY3RseSBhcyB0YWxsIGFzXG4gKiB0aGUgc2xpZGUgYW5kIGEgYGJvdHRvbWAgc3RyaXAgZXhhY3RseSBhcyB3aWRlOyBleHRyYSB0aHVtYm5haWxzIHNjcm9sbCBhbmRcbiAqIHRoZSBhY3RpdmUgb25lIGlzIGtlcHQgaW4gdmlldy5cbiAqXG4gKiAjIyMgQ29udHJvbHNcbiAqIERvdHMgYW5kIGFycm93cyBzaXQgb3ZlciB0aGUgYm90dG9tIG9mIHRoZSBzbGlkZSAoYGNvbnRyb2xzUG9zaXRpb249XCJvdmVybGF5XCJgKVxuICogb3IgaW4gdGhlaXIgb3duIHJvdyB1bmRlciBpdCAoYGNvbnRyb2xzUG9zaXRpb249XCJiZWxvd1wiYCkuXG4gKlxuICogIyMjIE5hdmlnYXRpb25cbiAqIEFycm93cywgZG90cywgdGh1bWJuYWlscyBhbmQgdGhlIOKGkC/ihpIvSG9tZS9FbmQga2V5cyAod2hpbGUgZm9jdXMgaXNcbiAqIGFueXdoZXJlIGluc2lkZSB0aGUgY2Fyb3VzZWwpIGFsbCBtb3ZlIGJldHdlZW4gc2xpZGVzLiBXaXRob3V0IGBsb29wYCB0aGUgYXJyb3dzIHN0b3AgYXQgYm90aFxuICogZW5kcy4gYGF1dG9QbGF5YCBhbHdheXMgbG9vcHMgYW5kIHBhdXNlcyBvbiBob3ZlciwgZm9jdXMsIGEgaGlkZGVuIHRhYiBhbmRcbiAqIGBwcmVmZXJzLXJlZHVjZWQtbW90aW9uYC5cbiAqXG4gKiAjIyMgU3RhdGVcbiAqIFBhc3MgYGluZGV4YCArIGBvbkluZGV4Q2hhbmdlYCB0byBjb250cm9sIHRoZSBjdXJyZW50IHNsaWRlLCBvclxuICogYGRlZmF1bHRJbmRleGAgdG8gbGV0IHRoZSBjYXJvdXNlbCBvd24gaXQuXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqIEBzdWJjYXRlZ29yeSBEYXRhIERpc3BsYXlcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiA8Q2Fyb3VzZWxcbiAqICAgaXRlbXM9e1tcbiAqICAgICB7IHNyYzogJy9mcm9udC5qcGcnLCBhbHQ6ICdGcm9udCB2aWV3JyB9LFxuICogICAgIHsgc3JjOiAnL3NpZGUuanBnJywgYWx0OiAnU2lkZSB2aWV3JyB9LFxuICogICBdfVxuICogLz5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIFZlcnRpY2FsIHRodW1ibmFpbHMsIDQ6MyBzbGlkZSwgb3BlbiBmdWxsIHNpemUgaW4gYSBuZXcgdGFiXG4gKiA8Q2Fyb3VzZWwgaXRlbXM9e2l0ZW1zfSB0aHVtYm5haWxzPVwibGVmdFwiIGFzcGVjdFJhdGlvPXs0IC8gM30gYWxsb3dPcGVuRnVsbCAvPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogLy8gQXV0b3BsYXk6IDNzIHBlciBzbGlkZSwgNjAwbXMgc2xpZGUgYW5pbWF0aW9uXG4gKiA8Q2Fyb3VzZWwgaXRlbXM9e2l0ZW1zfSBhdXRvUGxheSBhdXRvUGxheUludGVydmFsPXszMDAwfSB0cmFuc2l0aW9uRHVyYXRpb249ezYwMH0gLz5cbiAqIGBgYFxuICpcbiAqIEBhY2Nlc3NpYmlsaXR5XG4gKiAtIFJvb3QgaXMgYSBgcmVnaW9uYCB3aXRoIGBhcmlhLXJvbGVkZXNjcmlwdGlvbj1cImNhcm91c2VsXCJgXG4gKiAtIEVhY2ggc2xpZGUgaXMgYSBsYWJlbGxlZCBncm91cCAoXCJOIG9mIE1cIik7IGhpZGRlbiBzbGlkZXMgYXJlIGBpbmVydGBcbiAqIC0gU2xpZGUgY2hhbmdlcyBhcmUgYW5ub3VuY2VkIHBvbGl0ZWx5IHVubGVzcyBhdXRvcGxheSBpcyBydW5uaW5nXG4gKiAtIERvdHMgYW5kIHRodW1ibmFpbHMgZXhwb3NlIGBhcmlhLWN1cnJlbnRgIGZvciB0aGUgYWN0aXZlIHNsaWRlXG4gKi9cbmV4cG9ydCBjb25zdCBDYXJvdXNlbCA9IGZvcndhcmRSZWY8SFRNTERpdkVsZW1lbnQsIENhcm91c2VsUHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGl0ZW1zLFxuICAgICAgdGh1bWJuYWlscyA9IGZhbHNlLFxuICAgICAgc2hvd0RvdHMgPSB0cnVlLFxuICAgICAgc2hvd0Fycm93cyA9IHRydWUsXG4gICAgICBjb250cm9sc1Bvc2l0aW9uID0gJ292ZXJsYXknLFxuICAgICAgYWxsb3dPcGVuRnVsbCA9IGZhbHNlLFxuICAgICAgYXNwZWN0UmF0aW8gPSAxLFxuICAgICAgaGVpZ2h0LFxuICAgICAgZml0ID0gJ2NvbnRhaW4nLFxuICAgICAgaW5kZXgsXG4gICAgICBkZWZhdWx0SW5kZXgsXG4gICAgICBvbkluZGV4Q2hhbmdlLFxuICAgICAgbG9vcCA9IGZhbHNlLFxuICAgICAgYXV0b1BsYXkgPSBmYWxzZSxcbiAgICAgIGF1dG9QbGF5SW50ZXJ2YWwgPSBERUZBVUxUX0FVVE9fUExBWV9JTlRFUlZBTCxcbiAgICAgIHRyYW5zaXRpb25EdXJhdGlvbiA9IERFRkFVTFRfVFJBTlNJVElPTl9EVVJBVElPTixcbiAgICAgIHJlbmRlckl0ZW0sXG4gICAgICAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCA9ICdJbWFnZSBjYXJvdXNlbCcsXG4gICAgICBjbGFzc05hbWUsXG4gICAgfSA9IHByb3BzO1xuXG4gICAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuICAgIGNvbnN0IGNvdW50ID0gaXRlbXMubGVuZ3RoO1xuICAgIGNvbnN0IGNhbkxvb3AgPSBsb29wIHx8IGF1dG9QbGF5O1xuXG4gICAgY29uc3QgW3Jhd0luZGV4LCBzZXRJbmRleF0gPSB1c2VDb250cm9sbGFibGVTdGF0ZTxudW1iZXI+KHtcbiAgICAgIGNvbnRyb2xsZWQ6ICdpbmRleCcgaW4gcHJvcHMsXG4gICAgICB2YWx1ZTogaW5kZXgsXG4gICAgICBkZWZhdWx0VmFsdWU6IGRlZmF1bHRJbmRleCxcbiAgICAgIGZpbmFsVmFsdWU6IDAsXG4gICAgICBvbkNoYW5nZTogb25JbmRleENoYW5nZSxcbiAgICB9KTtcbiAgICBjb25zdCBjdXJyZW50ID0gTWF0aC5taW4oXG4gICAgICBNYXRoLm1heChyYXdJbmRleCA/PyAwLCAwKSxcbiAgICAgIE1hdGgubWF4KGNvdW50IC0gMSwgMCksXG4gICAgKTtcblxuICAgIGNvbnN0IGdvVG8gPSAobmV4dDogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoY291bnQgPT09IDApIHJldHVybjtcbiAgICAgIHNldEluZGV4KFxuICAgICAgICBjYW5Mb29wXG4gICAgICAgICAgPyAoKG5leHQgJSBjb3VudCkgKyBjb3VudCkgJSBjb3VudFxuICAgICAgICAgIDogTWF0aC5taW4oTWF0aC5tYXgobmV4dCwgMCksIGNvdW50IC0gMSksXG4gICAgICApO1xuICAgIH07XG5cbiAgICBjb25zdCBoYXNQcmV2ID0gY2FuTG9vcCA/IGNvdW50ID4gMSA6IGN1cnJlbnQgPiAwO1xuICAgIGNvbnN0IGhhc05leHQgPSBjYW5Mb29wID8gY291bnQgPiAxIDogY3VycmVudCA8IGNvdW50IC0gMTtcblxuICAgIC8vIEF1dG9wbGF5OiBvbmUgdGltZW91dCBwZXIgc2xpZGUsIHNvIGFueSBtYW51YWwgbW92ZSByZXN0YXJ0cyB0aGUgY2xvY2suXG4gICAgY29uc3QgW2hvdmVyZWQsIHNldEhvdmVyZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtmb2N1c2VkLCBzZXRGb2N1c2VkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBwYWdlVmlzaWJsZSA9IHVzZVBhZ2VWaXNpYmxlKCk7XG4gICAgY29uc3QgcmVkdWNlZE1vdGlvbiA9IHVzZVByZWZlcnNSZWR1Y2VkTW90aW9uKCk7XG4gICAgY29uc3QgaXNQbGF5aW5nID1cbiAgICAgIGF1dG9QbGF5ICYmXG4gICAgICBjb3VudCA+IDEgJiZcbiAgICAgICFob3ZlcmVkICYmXG4gICAgICAhZm9jdXNlZCAmJlxuICAgICAgcGFnZVZpc2libGUgJiZcbiAgICAgICFyZWR1Y2VkTW90aW9uO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghaXNQbGF5aW5nKSByZXR1cm47XG4gICAgICBjb25zdCBpZCA9IHdpbmRvdy5zZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PiBzZXRJbmRleCgoY3VycmVudCArIDEpICUgY291bnQpLFxuICAgICAgICBhdXRvUGxheUludGVydmFsLFxuICAgICAgKTtcbiAgICAgIHJldHVybiAoKSA9PiB3aW5kb3cuY2xlYXJUaW1lb3V0KGlkKTtcbiAgICB9LCBbaXNQbGF5aW5nLCBjdXJyZW50LCBjb3VudCwgYXV0b1BsYXlJbnRlcnZhbCwgc2V0SW5kZXhdKTtcblxuICAgIC8vIEtlZXAgdGhlIGFjdGl2ZSB0aHVtYm5haWwgaW5zaWRlIHRoZSBzdHJpcCdzIHNjcm9sbCBhcmVhLiBTY3JvbGxpbmcgdGhlXG4gICAgLy8gc3RyaXAgZGlyZWN0bHkgKG5vdCBgc2Nyb2xsSW50b1ZpZXdgKSBzbyB0aGUgcGFnZSBpdHNlbGYgbmV2ZXIgbW92ZXMuXG4gICAgY29uc3Qgc3RyaXBSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IHZlcnRpY2FsID0gdGh1bWJuYWlscyA9PT0gJ2xlZnQnIHx8IHRodW1ibmFpbHMgPT09ICdyaWdodCc7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IHN0cmlwID0gc3RyaXBSZWYuY3VycmVudDtcbiAgICAgIGNvbnN0IGVsID0gc3RyaXA/LmNoaWxkcmVuW2N1cnJlbnRdIGFzIEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgICAgaWYgKCFzdHJpcCB8fCAhZWwpIHJldHVybjtcbiAgICAgIGNvbnN0IFtwb3MsIHNpemUsIHNjcm9sbCwgY2xpZW50XSA9IHZlcnRpY2FsXG4gICAgICAgID8gKFsnb2Zmc2V0VG9wJywgJ29mZnNldEhlaWdodCcsICdzY3JvbGxUb3AnLCAnY2xpZW50SGVpZ2h0J10gYXMgY29uc3QpXG4gICAgICAgIDogKFsnb2Zmc2V0TGVmdCcsICdvZmZzZXRXaWR0aCcsICdzY3JvbGxMZWZ0JywgJ2NsaWVudFdpZHRoJ10gYXMgY29uc3QpO1xuICAgICAgLy8gU21hbGxlc3Qgc2Nyb2xsIHRoYXQgc2hvd3MgdGhlIHdob2xlIHRodW1ibmFpbDogdW5jaGFuZ2VkIHdoZW4gaXQgaXNcbiAgICAgIC8vIGFscmVhZHkgdmlzaWJsZSwgZWxzZSBhbGlnbmVkIHRvIHdoaWNoZXZlciBlZGdlIGl0IG92ZXJmbG93cy5cbiAgICAgIHN0cmlwW3Njcm9sbF0gPSBNYXRoLm1pbihcbiAgICAgICAgTWF0aC5tYXgoc3RyaXBbc2Nyb2xsXSwgZWxbcG9zXSArIGVsW3NpemVdIC0gc3RyaXBbY2xpZW50XSksXG4gICAgICAgIGVsW3Bvc10sXG4gICAgICApO1xuICAgIH0sIFtjdXJyZW50LCB2ZXJ0aWNhbF0pO1xuXG4gICAgLy8gS2V5ZWQgYnkgVVJMIHNvIGEgYnJva2VuIHRodW1ibmFpbCBkb2VzIG5vdCBibGFuayBhIHdvcmtpbmcgc2xpZGUuXG4gICAgY29uc3QgW2ZhaWxlZCwgc2V0RmFpbGVkXSA9IHVzZVN0YXRlPFJlYWRvbmx5U2V0PHN0cmluZz4+KCgpID0+IG5ldyBTZXQoKSk7XG4gICAgY29uc3QgbWFya0ZhaWxlZCA9IChzcmM6IHN0cmluZykgPT5cbiAgICAgIHNldEZhaWxlZCgocHJldikgPT4gKHByZXYuaGFzKHNyYykgPyBwcmV2IDogbmV3IFNldChwcmV2KS5hZGQoc3JjKSkpO1xuXG4gICAgY29uc3Qgb25LZXlEb3duID0gdXNlQ2FsbGJhY2tSZWYoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBpZiAoXG4gICAgICAgIGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgfHxcbiAgICAgICAgdGFyZ2V0LmlzQ29udGVudEVkaXRhYmxlIHx8XG4gICAgICAgIC9eKElOUFVUfFRFWFRBUkVBfFNFTEVDVCkkLy50ZXN0KHRhcmdldC50YWdOYW1lKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1vdmVzOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge1xuICAgICAgICBBcnJvd0xlZnQ6IGN1cnJlbnQgLSAxLFxuICAgICAgICBBcnJvd1JpZ2h0OiBjdXJyZW50ICsgMSxcbiAgICAgICAgSG9tZTogMCxcbiAgICAgICAgRW5kOiBjb3VudCAtIDEsXG4gICAgICB9O1xuICAgICAgaWYgKCEoZXZlbnQua2V5IGluIG1vdmVzKSkgcmV0dXJuO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGdvVG8obW92ZXNbZXZlbnQua2V5XSk7XG4gICAgfSk7XG5cbiAgICAvLyBIb3ZlciwgZm9jdXMgYW5kIGtleXMgYXJlIGhhbmRsZWQgb24gdGhlIHdob2xlIGNhcm91c2VsLCBzbyDihpAv4oaSIHdvcmtcbiAgICAvLyBmcm9tIGFueSBvZiBpdHMgY29udHJvbHMuIE5hdGl2ZSBsaXN0ZW5lcnMga2VlcCB0aGUgcmVnaW9uIGl0c2VsZiBhXG4gICAgLy8gcGxhaW4gbGFuZG1hcmsgcmF0aGVyIHRoYW4gYSBtYWRlLXVwIGludGVyYWN0aXZlIGVsZW1lbnQuXG4gICAgY29uc3Qgcm9vdFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgbWVyZ2VkUmVmID0gdXNlTWVyZ2VSZWZzKFtyZWYsIHJvb3RSZWZdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3Qgcm9vdCA9IHJvb3RSZWYuY3VycmVudDtcbiAgICAgIGlmICghcm9vdCkgcmV0dXJuO1xuICAgICAgY29uc3QgZW50ZXIgPSAoKSA9PiBzZXRIb3ZlcmVkKHRydWUpO1xuICAgICAgY29uc3QgbGVhdmUgPSAoKSA9PiBzZXRIb3ZlcmVkKGZhbHNlKTtcbiAgICAgIGNvbnN0IGZvY3VzSW4gPSAoKSA9PiBzZXRGb2N1c2VkKHRydWUpO1xuICAgICAgY29uc3QgZm9jdXNPdXQgPSAoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKCFyb290LmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSB8IG51bGwpKSB7XG4gICAgICAgICAgc2V0Rm9jdXNlZChmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBlbnRlcik7XG4gICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBsZWF2ZSk7XG4gICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCBmb2N1c0luKTtcbiAgICAgIHJvb3QuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXNvdXQnLCBmb2N1c091dCk7XG4gICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgcm9vdC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZW50ZXIpO1xuICAgICAgICByb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBsZWF2ZSk7XG4gICAgICAgIHJvb3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignZm9jdXNpbicsIGZvY3VzSW4pO1xuICAgICAgICByb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgZm9jdXNPdXQpO1xuICAgICAgICByb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pO1xuICAgICAgfTtcbiAgICB9LCBbb25LZXlEb3duXSk7XG5cbiAgICBjb25zdCBwbGFjZWhvbGRlciA9IChzaXplOiBudW1iZXIpID0+IChcbiAgICAgIDxzcGFuIGNzcz17Uy5wbGFjZWhvbGRlcn0gZGF0YS10ZXN0aWQ9XCJjYXJvdXNlbC1wbGFjZWhvbGRlclwiPlxuICAgICAgICA8SWNvbiBuYW1lPVwicGljdHVyZVwiIHNpemU9e3NpemV9IGNvbG9yPXt0aGVtZS5jb2xvcnMud2hpdGV9IC8+XG4gICAgICA8L3NwYW4+XG4gICAgKTtcblxuICAgIGNvbnN0IGN1cnJlbnRJdGVtID0gaXRlbXNbY3VycmVudF07XG4gICAgY29uc3QgZnVsbEhyZWYgPSBjdXJyZW50SXRlbT8uZnVsbFNyYyA/PyBjdXJyZW50SXRlbT8uc3JjO1xuXG4gICAgY29uc3QgY29udHJvbHMgPSBjb3VudCA+IDEgJiYgKHNob3dEb3RzIHx8IHNob3dBcnJvd3MpICYmIChcbiAgICAgIDxkaXYgY3NzPXtTLmNvbnRyb2xzKGNvbnRyb2xzUG9zaXRpb24sIHRodW1ibmFpbHMpfT5cbiAgICAgICAge3Nob3dEb3RzICYmIChcbiAgICAgICAgICA8ZGl2IGNzcz17Uy5kb3RzfT5cbiAgICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGkpID0+IChcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGtleT17aX1cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjc3M9eyh0KSA9PiBTLmRvdCh0LCBpID09PSBjdXJyZW50KX1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtgR28gdG8gc2xpZGUgJHtkZXNjcmliZShpdGVtLCBpKX1gfVxuICAgICAgICAgICAgICAgIGFyaWEtY3VycmVudD17aSA9PT0gY3VycmVudCA/ICd0cnVlJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBnb1RvKGkpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIHtzaG93QXJyb3dzICYmIChcbiAgICAgICAgICA8ZGl2IGNzcz17Uy5hcnJvd3N9PlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY3NzPXtTLnNxdWFyZUJ1dHRvbn1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlByZXZpb3VzIHNsaWRlXCJcbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFoYXNQcmV2fVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBnb1RvKGN1cnJlbnQgLSAxKX0+XG4gICAgICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cImNhcnJvdC1sZWZ0XCJcbiAgICAgICAgICAgICAgICBzaXplPXsxNn1cbiAgICAgICAgICAgICAgICBjb2xvcj17dGhlbWUuY29sb3JzLmdyZXlEYXJrZXI4MH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY3NzPXtTLnNxdWFyZUJ1dHRvbn1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk5leHQgc2xpZGVcIlxuICAgICAgICAgICAgICBkaXNhYmxlZD17IWhhc05leHR9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGdvVG8oY3VycmVudCArIDEpfT5cbiAgICAgICAgICAgICAgPEljb25cbiAgICAgICAgICAgICAgICBuYW1lPVwiY2Fycm90LXJpZ2h0XCJcbiAgICAgICAgICAgICAgICBzaXplPXsxNn1cbiAgICAgICAgICAgICAgICBjb2xvcj17dGhlbWUuY29sb3JzLmdyZXlEYXJrZXI4MH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgKTtcblxuICAgIGNvbnN0IHRodW1iU3RyaXAgPSB0aHVtYm5haWxzICYmIGNvdW50ID4gMCAmJiAoXG4gICAgICA8ZGl2IGNzcz17Uy50aHVtYlN0cmlwV3JhcHBlcih2ZXJ0aWNhbCl9PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgcmVmPXtzdHJpcFJlZn1cbiAgICAgICAgICBjc3M9e1MudGh1bWJTdHJpcCh2ZXJ0aWNhbCl9XG4gICAgICAgICAgYXJpYS1sYWJlbD1cIlNsaWRlIHRodW1ibmFpbHNcIj5cbiAgICAgICAgICB7aXRlbXMubWFwKChpdGVtLCBpKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzcmMgPSBpdGVtLnRodW1ibmFpbFNyYyA/PyBpdGVtLnNyYztcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBrZXk9e2l9XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY3NzPXsodCkgPT4gUy50aHVtYih0LCBpID09PSBjdXJyZW50KX1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtgU2hvdyBzbGlkZSAke2Rlc2NyaWJlKGl0ZW0sIGkpfWB9XG4gICAgICAgICAgICAgICAgYXJpYS1jdXJyZW50PXtpID09PSBjdXJyZW50ID8gJ3RydWUnIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGdvVG8oaSl9PlxuICAgICAgICAgICAgICAgIHtzcmMgJiYgIWZhaWxlZC5oYXMoc3JjKSA/IChcbiAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgc3JjPXtzcmN9XG4gICAgICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgICAgIGRyYWdnYWJsZT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcj17KCkgPT4gbWFya0ZhaWxlZChzcmMpfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXIoMTYpXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdlxuICAgICAgICByZWY9e21lcmdlZFJlZn1cbiAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgIGFyaWEtcm9sZWRlc2NyaXB0aW9uPVwiY2Fyb3VzZWxcIlxuICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICBjc3M9e1Mucm9vdH0+XG4gICAgICAgIDxkaXYgY3NzPXtTLnN0YWdlKHRodW1ibmFpbHMpfT5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjc3M9e1Mudmlld3BvcnR9XG4gICAgICAgICAgICBzdHlsZT17XG4gICAgICAgICAgICAgIGhlaWdodCAhPT0gdW5kZWZpbmVkID8geyBoZWlnaHQgfSA6IHsgYXNwZWN0UmF0aW86IGFzcGVjdFJhdGlvIH1cbiAgICAgICAgICAgIH0+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNzcz17Uy50cmFja31cbiAgICAgICAgICAgICAgYXJpYS1saXZlPXtpc1BsYXlpbmcgPyAnb2ZmJyA6ICdwb2xpdGUnfVxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVgoLSR7Y3VycmVudCAqIDEwMH0lKWAsXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uOiBgJHt0cmFuc2l0aW9uRHVyYXRpb259bXNgLFxuICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IGkgPT09IGN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAga2V5PXtpfVxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiZ3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLXJvbGVkZXNjcmlwdGlvbj1cInNsaWRlXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17YCR7aSArIDF9IG9mICR7Y291bnR9YH1cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49eyFhY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgIGluZXJ0PXshYWN0aXZlfVxuICAgICAgICAgICAgICAgICAgICBjc3M9e1Muc2xpZGV9PlxuICAgICAgICAgICAgICAgICAgICB7cmVuZGVySXRlbSA/IChcbiAgICAgICAgICAgICAgICAgICAgICByZW5kZXJJdGVtKGl0ZW0sIGkpXG4gICAgICAgICAgICAgICAgICAgICkgOiBpdGVtLnNyYyAmJiAhZmFpbGVkLmhhcyhpdGVtLnNyYykgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtpdGVtLnNyY31cbiAgICAgICAgICAgICAgICAgICAgICAgIGFsdD17aXRlbS5hbHQgPz8gJyd9XG4gICAgICAgICAgICAgICAgICAgICAgICBjc3M9e1MuaW1hZ2UoZml0KX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdnYWJsZT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPXtNYXRoLmFicyhpIC0gY3VycmVudCkgPD0gMSA/ICdlYWdlcicgOiAnbGF6eSd9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkVycm9yPXsoKSA9PiBtYXJrRmFpbGVkKGl0ZW0uc3JjISl9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcigyNClcbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICB7Y291bnQgPT09IDAgJiYgPGRpdiBjc3M9e1Muc2xpZGV9PntwbGFjZWhvbGRlcigyNCl9PC9kaXY+fVxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIHthbGxvd09wZW5GdWxsICYmIGZ1bGxIcmVmICYmIChcbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBocmVmPXtmdWxsSHJlZn1cbiAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJPcGVuIGZ1bGwgc2l6ZSBpbWFnZSBpbiBhIG5ldyB0YWJcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNhcm91c2VsLW9wZW4tZnVsbFwiXG4gICAgICAgICAgICAgICAgY3NzPXtbUy5zcXVhcmVCdXR0b24sIFMub3BlbkZ1bGxdfT5cbiAgICAgICAgICAgICAgICA8SWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT1cImZvbGxvdy1saW5rXCJcbiAgICAgICAgICAgICAgICAgIHNpemU9ezE2fVxuICAgICAgICAgICAgICAgICAgY29sb3I9e3RoZW1lLmNvbG9ycy5ncmV5RGFya2VyODB9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAge2NvbnRyb2xzUG9zaXRpb24gPT09ICdvdmVybGF5JyAmJiBjb250cm9sc31cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIHt2ZXJ0aWNhbCAmJiB0aHVtYlN0cmlwfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7Y29udHJvbHNQb3NpdGlvbiA9PT0gJ2JlbG93JyAmJiBjb250cm9sc31cblxuICAgICAgICB7dGh1bWJuYWlscyA9PT0gJ2JvdHRvbScgJiYgdGh1bWJTdHJpcH1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH0sXG4pO1xuXG5DYXJvdXNlbC5kaXNwbGF5TmFtZSA9ICdDYXJvdXNlbCc7XG4iXX0= */"],
63024
63027
  children: (0,jsx_runtime_namespaceObject.jsx)(Icon_Icon, {
63025
63028
  name: "follow-link",
63026
63029
  size: 16,
package/dist/index.mjs CHANGED
@@ -62662,14 +62662,14 @@ const Carousel = /*#__PURE__*/(0,external_react_.forwardRef)((props, ref) => {
62662
62662
  } : {
62663
62663
  aspectRatio: aspectRatio
62664
62664
  },
62665
- children: [__WEBPACK_EXTERNAL_MODULE__emotion_react_jsx_runtime_ea06233c_jsx__("div", {
62665
+ children: [__WEBPACK_EXTERNAL_MODULE__emotion_react_jsx_runtime_ea06233c_jsxs__("div", {
62666
62666
  css: track,
62667
62667
  "aria-live": isPlaying ? 'off' : 'polite',
62668
62668
  style: {
62669
62669
  transform: `translateX(-${current * 100}%)`,
62670
62670
  transitionDuration: `${transitionDuration}ms`
62671
62671
  },
62672
- children: items.map((item, i) => {
62672
+ children: [items.map((item, i) => {
62673
62673
  const active = i === current;
62674
62674
  return __WEBPACK_EXTERNAL_MODULE__emotion_react_jsx_runtime_ea06233c_jsx__("div", {
62675
62675
  role: "group",
@@ -62687,14 +62687,17 @@ const Carousel = /*#__PURE__*/(0,external_react_.forwardRef)((props, ref) => {
62687
62687
  onError: () => markFailed(item.src)
62688
62688
  }) : placeholder(24)
62689
62689
  }, i);
62690
- })
62690
+ }), count === 0 && __WEBPACK_EXTERNAL_MODULE__emotion_react_jsx_runtime_ea06233c_jsx__("div", {
62691
+ css: slide,
62692
+ children: placeholder(24)
62693
+ })]
62691
62694
  }), allowOpenFull && fullHref && __WEBPACK_EXTERNAL_MODULE__emotion_react_jsx_runtime_ea06233c_jsx__("a", {
62692
62695
  href: fullHref,
62693
62696
  target: "_blank",
62694
62697
  rel: "noopener noreferrer",
62695
62698
  "aria-label": "Open full size image in a new tab",
62696
62699
  className: "carousel-open-full",
62697
- css: [squareButton, openFull, process.env.NODE_ENV === "production" ? "" : ";label:Carousel;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9DYXJvdXNlbC9DYXJvdXNlbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNFpnQiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91aS1raXQvdWkta2l0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvQ2Fyb3VzZWwvQ2Fyb3VzZWwudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9yd2FyZFJlZiwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlTWVyZ2VSZWZzIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0JztcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2tSZWYsIHVzZUNvbnRyb2xsYWJsZVN0YXRlIH0gZnJvbSAnQHNzYS11aS1raXQvaG9va3MnO1xuXG5pbXBvcnQgSWNvbiBmcm9tICdAY29tcG9uZW50cy9JY29uJztcblxuaW1wb3J0IHsgQ2Fyb3VzZWxJdGVtLCBDYXJvdXNlbFByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgKiBhcyBTIGZyb20gJy4vc3R5bGVzJztcblxuY29uc3QgREVGQVVMVF9BVVRPX1BMQVlfSU5URVJWQUwgPSA1MDAwO1xuY29uc3QgREVGQVVMVF9UUkFOU0lUSU9OX0RVUkFUSU9OID0gMzAwO1xuXG5jb25zdCBzdWJzY3JpYmVNZWRpYSA9IChcbiAgcXVlcnk6IHN0cmluZyxcbiAgb25DaGFuZ2U6IChtYXRjaGVzOiBib29sZWFuKSA9PiB2b2lkLFxuKSA9PiB7XG4gIGlmIChcbiAgICB0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyB8fFxuICAgIHR5cGVvZiB3aW5kb3cubWF0Y2hNZWRpYSAhPT0gJ2Z1bmN0aW9uJ1xuICApIHtcbiAgICByZXR1cm4gKCkgPT4ge307XG4gIH1cbiAgY29uc3QgbGlzdCA9IHdpbmRvdy5tYXRjaE1lZGlhKHF1ZXJ5KTtcbiAgb25DaGFuZ2UobGlzdC5tYXRjaGVzKTtcbiAgY29uc3QgaGFuZGxlciA9IChldmVudDogTWVkaWFRdWVyeUxpc3RFdmVudCkgPT4gb25DaGFuZ2UoZXZlbnQubWF0Y2hlcyk7XG4gIGxpc3QuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgaGFuZGxlcik7XG4gIHJldHVybiAoKSA9PiBsaXN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGhhbmRsZXIpO1xufTtcblxuLyoqIGB0cnVlYCB3aGlsZSB0aGUgdXNlciBhc2tzIHRoZSBPUyBmb3IgcmVkdWNlZCBtb3Rpb24uICovXG5jb25zdCB1c2VQcmVmZXJzUmVkdWNlZE1vdGlvbiA9ICgpID0+IHtcbiAgY29uc3QgW3JlZHVjZWQsIHNldFJlZHVjZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4gc3Vic2NyaWJlTWVkaWEoJyhwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpJywgc2V0UmVkdWNlZCksXG4gICAgW10sXG4gICk7XG4gIHJldHVybiByZWR1Y2VkO1xufTtcblxuLyoqIGBmYWxzZWAgd2hpbGUgdGhlIGJyb3dzZXIgdGFiIGlzIGluIHRoZSBiYWNrZ3JvdW5kLiAqL1xuY29uc3QgdXNlUGFnZVZpc2libGUgPSAoKSA9PiB7XG4gIGNvbnN0IFt2aXNpYmxlLCBzZXRWaXNpYmxlXSA9IHVzZVN0YXRlKHRydWUpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKSByZXR1cm47XG4gICAgY29uc3QgdXBkYXRlID0gKCkgPT4gc2V0VmlzaWJsZShkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgIT09ICdoaWRkZW4nKTtcbiAgICB1cGRhdGUoKTtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgdXBkYXRlKTtcbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndmlzaWJpbGl0eWNoYW5nZScsIHVwZGF0ZSk7XG4gIH0sIFtdKTtcbiAgcmV0dXJuIHZpc2libGU7XG59O1xuXG5jb25zdCBkZXNjcmliZSA9IChpdGVtOiBDYXJvdXNlbEl0ZW0gfCB1bmRlZmluZWQsIGluZGV4OiBudW1iZXIpID0+XG4gIGl0ZW0/LmFsdCA/IGAke2luZGV4ICsgMX06ICR7aXRlbS5hbHR9YCA6IGAke2luZGV4ICsgMX1gO1xuXG4vKipcbiAqIENhcm91c2VsIC0gU2hvd3MgYSBzZXQgb2YgaW1hZ2VzIG9uZSBhdCBhIHRpbWUsIHdpdGggb3B0aW9uYWwgdGh1bWJuYWlscyxcbiAqIGRvdCBpbmRpY2F0b3JzLCBwcmV2aW91cy9uZXh0IGJ1dHRvbnMgYW5kIGF1dG9wbGF5LlxuICpcbiAqICMjIyBTaXppbmdcbiAqIFRoZSBjYXJvdXNlbCBhbHdheXMgZmlsbHMgaXRzIGNvbnRhaW5lcidzIHdpZHRoLiBUaGUgc2xpZGUncyBoZWlnaHQgY29tZXNcbiAqIGZyb20gYGFzcGVjdFJhdGlvYCAoc3F1YXJlIGJ5IGRlZmF1bHQsIGFzIGluIHRoZSBkZXNpZ24pIG9yIGZyb20gYSBmaXhlZFxuICogYGhlaWdodGAsIG5ldmVyIGZyb20gdGhlIGltYWdlcyDigJQgc28gdGhlIGxheW91dCBkb2VzIG5vdCBqdW1wIGJldHdlZW5cbiAqIHNsaWRlcyBvciB3aGlsZSBpbWFnZXMgbG9hZC4gSW1hZ2VzIGFyZSBsZXR0ZXJib3hlZCBpbnNpZGUgdGhlIGZyYW1lXG4gKiAoYGZpdD1cImNvbnRhaW5cImApIG9yIGNyb3BwZWQgdG8gZmlsbCBpdCAoYGZpdD1cImNvdmVyXCJgKS5cbiAqXG4gKiBUaHVtYm5haWxzIGFyZSBhIGZpeGVkIDUycHguIEEgYGxlZnRgL2ByaWdodGAgc3RyaXAgaXMgZXhhY3RseSBhcyB0YWxsIGFzXG4gKiB0aGUgc2xpZGUgYW5kIGEgYGJvdHRvbWAgc3RyaXAgZXhhY3RseSBhcyB3aWRlOyBleHRyYSB0aHVtYm5haWxzIHNjcm9sbCBhbmRcbiAqIHRoZSBhY3RpdmUgb25lIGlzIGtlcHQgaW4gdmlldy5cbiAqXG4gKiAjIyMgQ29udHJvbHNcbiAqIERvdHMgYW5kIGFycm93cyBzaXQgb3ZlciB0aGUgYm90dG9tIG9mIHRoZSBzbGlkZSAoYGNvbnRyb2xzUG9zaXRpb249XCJvdmVybGF5XCJgKVxuICogb3IgaW4gdGhlaXIgb3duIHJvdyB1bmRlciBpdCAoYGNvbnRyb2xzUG9zaXRpb249XCJiZWxvd1wiYCkuXG4gKlxuICogIyMjIE5hdmlnYXRpb25cbiAqIEFycm93cywgZG90cywgdGh1bWJuYWlscyBhbmQgdGhlIOKGkC/ihpIvSG9tZS9FbmQga2V5cyAod2hpbGUgZm9jdXMgaXNcbiAqIGFueXdoZXJlIGluc2lkZSB0aGUgY2Fyb3VzZWwpIGFsbCBtb3ZlIGJldHdlZW4gc2xpZGVzLiBXaXRob3V0IGBsb29wYCB0aGUgYXJyb3dzIHN0b3AgYXQgYm90aFxuICogZW5kcy4gYGF1dG9QbGF5YCBhbHdheXMgbG9vcHMgYW5kIHBhdXNlcyBvbiBob3ZlciwgZm9jdXMsIGEgaGlkZGVuIHRhYiBhbmRcbiAqIGBwcmVmZXJzLXJlZHVjZWQtbW90aW9uYC5cbiAqXG4gKiAjIyMgU3RhdGVcbiAqIFBhc3MgYGluZGV4YCArIGBvbkluZGV4Q2hhbmdlYCB0byBjb250cm9sIHRoZSBjdXJyZW50IHNsaWRlLCBvclxuICogYGRlZmF1bHRJbmRleGAgdG8gbGV0IHRoZSBjYXJvdXNlbCBvd24gaXQuXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqIEBzdWJjYXRlZ29yeSBEYXRhIERpc3BsYXlcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiA8Q2Fyb3VzZWxcbiAqICAgaXRlbXM9e1tcbiAqICAgICB7IHNyYzogJy9mcm9udC5qcGcnLCBhbHQ6ICdGcm9udCB2aWV3JyB9LFxuICogICAgIHsgc3JjOiAnL3NpZGUuanBnJywgYWx0OiAnU2lkZSB2aWV3JyB9LFxuICogICBdfVxuICogLz5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIFZlcnRpY2FsIHRodW1ibmFpbHMsIDQ6MyBzbGlkZSwgb3BlbiBmdWxsIHNpemUgaW4gYSBuZXcgdGFiXG4gKiA8Q2Fyb3VzZWwgaXRlbXM9e2l0ZW1zfSB0aHVtYm5haWxzPVwibGVmdFwiIGFzcGVjdFJhdGlvPXs0IC8gM30gYWxsb3dPcGVuRnVsbCAvPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogLy8gQXV0b3BsYXk6IDNzIHBlciBzbGlkZSwgNjAwbXMgc2xpZGUgYW5pbWF0aW9uXG4gKiA8Q2Fyb3VzZWwgaXRlbXM9e2l0ZW1zfSBhdXRvUGxheSBhdXRvUGxheUludGVydmFsPXszMDAwfSB0cmFuc2l0aW9uRHVyYXRpb249ezYwMH0gLz5cbiAqIGBgYFxuICpcbiAqIEBhY2Nlc3NpYmlsaXR5XG4gKiAtIFJvb3QgaXMgYSBgcmVnaW9uYCB3aXRoIGBhcmlhLXJvbGVkZXNjcmlwdGlvbj1cImNhcm91c2VsXCJgXG4gKiAtIEVhY2ggc2xpZGUgaXMgYSBsYWJlbGxlZCBncm91cCAoXCJOIG9mIE1cIik7IGhpZGRlbiBzbGlkZXMgYXJlIGBpbmVydGBcbiAqIC0gU2xpZGUgY2hhbmdlcyBhcmUgYW5ub3VuY2VkIHBvbGl0ZWx5IHVubGVzcyBhdXRvcGxheSBpcyBydW5uaW5nXG4gKiAtIERvdHMgYW5kIHRodW1ibmFpbHMgZXhwb3NlIGBhcmlhLWN1cnJlbnRgIGZvciB0aGUgYWN0aXZlIHNsaWRlXG4gKi9cbmV4cG9ydCBjb25zdCBDYXJvdXNlbCA9IGZvcndhcmRSZWY8SFRNTERpdkVsZW1lbnQsIENhcm91c2VsUHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGl0ZW1zLFxuICAgICAgdGh1bWJuYWlscyA9IGZhbHNlLFxuICAgICAgc2hvd0RvdHMgPSB0cnVlLFxuICAgICAgc2hvd0Fycm93cyA9IHRydWUsXG4gICAgICBjb250cm9sc1Bvc2l0aW9uID0gJ292ZXJsYXknLFxuICAgICAgYWxsb3dPcGVuRnVsbCA9IGZhbHNlLFxuICAgICAgYXNwZWN0UmF0aW8gPSAxLFxuICAgICAgaGVpZ2h0LFxuICAgICAgZml0ID0gJ2NvbnRhaW4nLFxuICAgICAgaW5kZXgsXG4gICAgICBkZWZhdWx0SW5kZXgsXG4gICAgICBvbkluZGV4Q2hhbmdlLFxuICAgICAgbG9vcCA9IGZhbHNlLFxuICAgICAgYXV0b1BsYXkgPSBmYWxzZSxcbiAgICAgIGF1dG9QbGF5SW50ZXJ2YWwgPSBERUZBVUxUX0FVVE9fUExBWV9JTlRFUlZBTCxcbiAgICAgIHRyYW5zaXRpb25EdXJhdGlvbiA9IERFRkFVTFRfVFJBTlNJVElPTl9EVVJBVElPTixcbiAgICAgIHJlbmRlckl0ZW0sXG4gICAgICAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCA9ICdJbWFnZSBjYXJvdXNlbCcsXG4gICAgICBjbGFzc05hbWUsXG4gICAgfSA9IHByb3BzO1xuXG4gICAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuICAgIGNvbnN0IGNvdW50ID0gaXRlbXMubGVuZ3RoO1xuICAgIGNvbnN0IGNhbkxvb3AgPSBsb29wIHx8IGF1dG9QbGF5O1xuXG4gICAgY29uc3QgW3Jhd0luZGV4LCBzZXRJbmRleF0gPSB1c2VDb250cm9sbGFibGVTdGF0ZTxudW1iZXI+KHtcbiAgICAgIGNvbnRyb2xsZWQ6ICdpbmRleCcgaW4gcHJvcHMsXG4gICAgICB2YWx1ZTogaW5kZXgsXG4gICAgICBkZWZhdWx0VmFsdWU6IGRlZmF1bHRJbmRleCxcbiAgICAgIGZpbmFsVmFsdWU6IDAsXG4gICAgICBvbkNoYW5nZTogb25JbmRleENoYW5nZSxcbiAgICB9KTtcbiAgICBjb25zdCBjdXJyZW50ID0gTWF0aC5taW4oXG4gICAgICBNYXRoLm1heChyYXdJbmRleCA/PyAwLCAwKSxcbiAgICAgIE1hdGgubWF4KGNvdW50IC0gMSwgMCksXG4gICAgKTtcblxuICAgIGNvbnN0IGdvVG8gPSAobmV4dDogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoY291bnQgPT09IDApIHJldHVybjtcbiAgICAgIHNldEluZGV4KFxuICAgICAgICBjYW5Mb29wXG4gICAgICAgICAgPyAoKG5leHQgJSBjb3VudCkgKyBjb3VudCkgJSBjb3VudFxuICAgICAgICAgIDogTWF0aC5taW4oTWF0aC5tYXgobmV4dCwgMCksIGNvdW50IC0gMSksXG4gICAgICApO1xuICAgIH07XG5cbiAgICBjb25zdCBoYXNQcmV2ID0gY2FuTG9vcCA/IGNvdW50ID4gMSA6IGN1cnJlbnQgPiAwO1xuICAgIGNvbnN0IGhhc05leHQgPSBjYW5Mb29wID8gY291bnQgPiAxIDogY3VycmVudCA8IGNvdW50IC0gMTtcblxuICAgIC8vIEF1dG9wbGF5OiBvbmUgdGltZW91dCBwZXIgc2xpZGUsIHNvIGFueSBtYW51YWwgbW92ZSByZXN0YXJ0cyB0aGUgY2xvY2suXG4gICAgY29uc3QgW2hvdmVyZWQsIHNldEhvdmVyZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtmb2N1c2VkLCBzZXRGb2N1c2VkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBwYWdlVmlzaWJsZSA9IHVzZVBhZ2VWaXNpYmxlKCk7XG4gICAgY29uc3QgcmVkdWNlZE1vdGlvbiA9IHVzZVByZWZlcnNSZWR1Y2VkTW90aW9uKCk7XG4gICAgY29uc3QgaXNQbGF5aW5nID1cbiAgICAgIGF1dG9QbGF5ICYmXG4gICAgICBjb3VudCA+IDEgJiZcbiAgICAgICFob3ZlcmVkICYmXG4gICAgICAhZm9jdXNlZCAmJlxuICAgICAgcGFnZVZpc2libGUgJiZcbiAgICAgICFyZWR1Y2VkTW90aW9uO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghaXNQbGF5aW5nKSByZXR1cm47XG4gICAgICBjb25zdCBpZCA9IHdpbmRvdy5zZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PiBzZXRJbmRleCgoY3VycmVudCArIDEpICUgY291bnQpLFxuICAgICAgICBhdXRvUGxheUludGVydmFsLFxuICAgICAgKTtcbiAgICAgIHJldHVybiAoKSA9PiB3aW5kb3cuY2xlYXJUaW1lb3V0KGlkKTtcbiAgICB9LCBbaXNQbGF5aW5nLCBjdXJyZW50LCBjb3VudCwgYXV0b1BsYXlJbnRlcnZhbCwgc2V0SW5kZXhdKTtcblxuICAgIC8vIEtlZXAgdGhlIGFjdGl2ZSB0aHVtYm5haWwgaW5zaWRlIHRoZSBzdHJpcCdzIHNjcm9sbCBhcmVhLiBTY3JvbGxpbmcgdGhlXG4gICAgLy8gc3RyaXAgZGlyZWN0bHkgKG5vdCBgc2Nyb2xsSW50b1ZpZXdgKSBzbyB0aGUgcGFnZSBpdHNlbGYgbmV2ZXIgbW92ZXMuXG4gICAgY29uc3Qgc3RyaXBSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IHZlcnRpY2FsID0gdGh1bWJuYWlscyA9PT0gJ2xlZnQnIHx8IHRodW1ibmFpbHMgPT09ICdyaWdodCc7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IHN0cmlwID0gc3RyaXBSZWYuY3VycmVudDtcbiAgICAgIGNvbnN0IGVsID0gc3RyaXA/LmNoaWxkcmVuW2N1cnJlbnRdIGFzIEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgICAgaWYgKCFzdHJpcCB8fCAhZWwpIHJldHVybjtcbiAgICAgIGNvbnN0IFtwb3MsIHNpemUsIHNjcm9sbCwgY2xpZW50XSA9IHZlcnRpY2FsXG4gICAgICAgID8gKFsnb2Zmc2V0VG9wJywgJ29mZnNldEhlaWdodCcsICdzY3JvbGxUb3AnLCAnY2xpZW50SGVpZ2h0J10gYXMgY29uc3QpXG4gICAgICAgIDogKFsnb2Zmc2V0TGVmdCcsICdvZmZzZXRXaWR0aCcsICdzY3JvbGxMZWZ0JywgJ2NsaWVudFdpZHRoJ10gYXMgY29uc3QpO1xuICAgICAgLy8gU21hbGxlc3Qgc2Nyb2xsIHRoYXQgc2hvd3MgdGhlIHdob2xlIHRodW1ibmFpbDogdW5jaGFuZ2VkIHdoZW4gaXQgaXNcbiAgICAgIC8vIGFscmVhZHkgdmlzaWJsZSwgZWxzZSBhbGlnbmVkIHRvIHdoaWNoZXZlciBlZGdlIGl0IG92ZXJmbG93cy5cbiAgICAgIHN0cmlwW3Njcm9sbF0gPSBNYXRoLm1pbihcbiAgICAgICAgTWF0aC5tYXgoc3RyaXBbc2Nyb2xsXSwgZWxbcG9zXSArIGVsW3NpemVdIC0gc3RyaXBbY2xpZW50XSksXG4gICAgICAgIGVsW3Bvc10sXG4gICAgICApO1xuICAgIH0sIFtjdXJyZW50LCB2ZXJ0aWNhbF0pO1xuXG4gICAgLy8gS2V5ZWQgYnkgVVJMIHNvIGEgYnJva2VuIHRodW1ibmFpbCBkb2VzIG5vdCBibGFuayBhIHdvcmtpbmcgc2xpZGUuXG4gICAgY29uc3QgW2ZhaWxlZCwgc2V0RmFpbGVkXSA9IHVzZVN0YXRlPFJlYWRvbmx5U2V0PHN0cmluZz4+KCgpID0+IG5ldyBTZXQoKSk7XG4gICAgY29uc3QgbWFya0ZhaWxlZCA9IChzcmM6IHN0cmluZykgPT5cbiAgICAgIHNldEZhaWxlZCgocHJldikgPT4gKHByZXYuaGFzKHNyYykgPyBwcmV2IDogbmV3IFNldChwcmV2KS5hZGQoc3JjKSkpO1xuXG4gICAgY29uc3Qgb25LZXlEb3duID0gdXNlQ2FsbGJhY2tSZWYoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBpZiAoXG4gICAgICAgIGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgfHxcbiAgICAgICAgdGFyZ2V0LmlzQ29udGVudEVkaXRhYmxlIHx8XG4gICAgICAgIC9eKElOUFVUfFRFWFRBUkVBfFNFTEVDVCkkLy50ZXN0KHRhcmdldC50YWdOYW1lKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1vdmVzOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge1xuICAgICAgICBBcnJvd0xlZnQ6IGN1cnJlbnQgLSAxLFxuICAgICAgICBBcnJvd1JpZ2h0OiBjdXJyZW50ICsgMSxcbiAgICAgICAgSG9tZTogMCxcbiAgICAgICAgRW5kOiBjb3VudCAtIDEsXG4gICAgICB9O1xuICAgICAgaWYgKCEoZXZlbnQua2V5IGluIG1vdmVzKSkgcmV0dXJuO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGdvVG8obW92ZXNbZXZlbnQua2V5XSk7XG4gICAgfSk7XG5cbiAgICAvLyBIb3ZlciwgZm9jdXMgYW5kIGtleXMgYXJlIGhhbmRsZWQgb24gdGhlIHdob2xlIGNhcm91c2VsLCBzbyDihpAv4oaSIHdvcmtcbiAgICAvLyBmcm9tIGFueSBvZiBpdHMgY29udHJvbHMuIE5hdGl2ZSBsaXN0ZW5lcnMga2VlcCB0aGUgcmVnaW9uIGl0c2VsZiBhXG4gICAgLy8gcGxhaW4gbGFuZG1hcmsgcmF0aGVyIHRoYW4gYSBtYWRlLXVwIGludGVyYWN0aXZlIGVsZW1lbnQuXG4gICAgY29uc3Qgcm9vdFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgbWVyZ2VkUmVmID0gdXNlTWVyZ2VSZWZzKFtyZWYsIHJvb3RSZWZdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3Qgcm9vdCA9IHJvb3RSZWYuY3VycmVudDtcbiAgICAgIGlmICghcm9vdCkgcmV0dXJuO1xuICAgICAgY29uc3QgZW50ZXIgPSAoKSA9PiBzZXRIb3ZlcmVkKHRydWUpO1xuICAgICAgY29uc3QgbGVhdmUgPSAoKSA9PiBzZXRIb3ZlcmVkKGZhbHNlKTtcbiAgICAgIGNvbnN0IGZvY3VzSW4gPSAoKSA9PiBzZXRGb2N1c2VkKHRydWUpO1xuICAgICAgY29uc3QgZm9jdXNPdXQgPSAoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKCFyb290LmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSB8IG51bGwpKSB7XG4gICAgICAgICAgc2V0Rm9jdXNlZChmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBlbnRlcik7XG4gICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBsZWF2ZSk7XG4gICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCBmb2N1c0luKTtcbiAgICAgIHJvb3QuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXNvdXQnLCBmb2N1c091dCk7XG4gICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgcm9vdC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZW50ZXIpO1xuICAgICAgICByb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBsZWF2ZSk7XG4gICAgICAgIHJvb3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignZm9jdXNpbicsIGZvY3VzSW4pO1xuICAgICAgICByb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgZm9jdXNPdXQpO1xuICAgICAgICByb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pO1xuICAgICAgfTtcbiAgICB9LCBbb25LZXlEb3duXSk7XG5cbiAgICBjb25zdCBwbGFjZWhvbGRlciA9IChzaXplOiBudW1iZXIpID0+IChcbiAgICAgIDxzcGFuIGNzcz17Uy5wbGFjZWhvbGRlcn0gZGF0YS10ZXN0aWQ9XCJjYXJvdXNlbC1wbGFjZWhvbGRlclwiPlxuICAgICAgICA8SWNvbiBuYW1lPVwicGljdHVyZVwiIHNpemU9e3NpemV9IGNvbG9yPXt0aGVtZS5jb2xvcnMud2hpdGV9IC8+XG4gICAgICA8L3NwYW4+XG4gICAgKTtcblxuICAgIGNvbnN0IGN1cnJlbnRJdGVtID0gaXRlbXNbY3VycmVudF07XG4gICAgY29uc3QgZnVsbEhyZWYgPSBjdXJyZW50SXRlbT8uZnVsbFNyYyA/PyBjdXJyZW50SXRlbT8uc3JjO1xuXG4gICAgY29uc3QgY29udHJvbHMgPSBjb3VudCA+IDEgJiYgKHNob3dEb3RzIHx8IHNob3dBcnJvd3MpICYmIChcbiAgICAgIDxkaXYgY3NzPXtTLmNvbnRyb2xzKGNvbnRyb2xzUG9zaXRpb24sIHRodW1ibmFpbHMpfT5cbiAgICAgICAge3Nob3dEb3RzICYmIChcbiAgICAgICAgICA8ZGl2IGNzcz17Uy5kb3RzfT5cbiAgICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGkpID0+IChcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGtleT17aX1cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjc3M9eyh0KSA9PiBTLmRvdCh0LCBpID09PSBjdXJyZW50KX1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtgR28gdG8gc2xpZGUgJHtkZXNjcmliZShpdGVtLCBpKX1gfVxuICAgICAgICAgICAgICAgIGFyaWEtY3VycmVudD17aSA9PT0gY3VycmVudCA/ICd0cnVlJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBnb1RvKGkpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIHtzaG93QXJyb3dzICYmIChcbiAgICAgICAgICA8ZGl2IGNzcz17Uy5hcnJvd3N9PlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY3NzPXtTLnNxdWFyZUJ1dHRvbn1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlByZXZpb3VzIHNsaWRlXCJcbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFoYXNQcmV2fVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBnb1RvKGN1cnJlbnQgLSAxKX0+XG4gICAgICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cImNhcnJvdC1sZWZ0XCJcbiAgICAgICAgICAgICAgICBzaXplPXsxNn1cbiAgICAgICAgICAgICAgICBjb2xvcj17dGhlbWUuY29sb3JzLmdyZXlEYXJrZXI4MH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY3NzPXtTLnNxdWFyZUJ1dHRvbn1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk5leHQgc2xpZGVcIlxuICAgICAgICAgICAgICBkaXNhYmxlZD17IWhhc05leHR9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGdvVG8oY3VycmVudCArIDEpfT5cbiAgICAgICAgICAgICAgPEljb25cbiAgICAgICAgICAgICAgICBuYW1lPVwiY2Fycm90LXJpZ2h0XCJcbiAgICAgICAgICAgICAgICBzaXplPXsxNn1cbiAgICAgICAgICAgICAgICBjb2xvcj17dGhlbWUuY29sb3JzLmdyZXlEYXJrZXI4MH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgKTtcblxuICAgIGNvbnN0IHRodW1iU3RyaXAgPSB0aHVtYm5haWxzICYmIGNvdW50ID4gMCAmJiAoXG4gICAgICA8ZGl2IGNzcz17Uy50aHVtYlN0cmlwV3JhcHBlcih2ZXJ0aWNhbCl9PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgcmVmPXtzdHJpcFJlZn1cbiAgICAgICAgICBjc3M9e1MudGh1bWJTdHJpcCh2ZXJ0aWNhbCl9XG4gICAgICAgICAgYXJpYS1sYWJlbD1cIlNsaWRlIHRodW1ibmFpbHNcIj5cbiAgICAgICAgICB7aXRlbXMubWFwKChpdGVtLCBpKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzcmMgPSBpdGVtLnRodW1ibmFpbFNyYyA/PyBpdGVtLnNyYztcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBrZXk9e2l9XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY3NzPXsodCkgPT4gUy50aHVtYih0LCBpID09PSBjdXJyZW50KX1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtgU2hvdyBzbGlkZSAke2Rlc2NyaWJlKGl0ZW0sIGkpfWB9XG4gICAgICAgICAgICAgICAgYXJpYS1jdXJyZW50PXtpID09PSBjdXJyZW50ID8gJ3RydWUnIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGdvVG8oaSl9PlxuICAgICAgICAgICAgICAgIHtzcmMgJiYgIWZhaWxlZC5oYXMoc3JjKSA/IChcbiAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgc3JjPXtzcmN9XG4gICAgICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgICAgIGRyYWdnYWJsZT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcj17KCkgPT4gbWFya0ZhaWxlZChzcmMpfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXIoMTYpXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdlxuICAgICAgICByZWY9e21lcmdlZFJlZn1cbiAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgIGFyaWEtcm9sZWRlc2NyaXB0aW9uPVwiY2Fyb3VzZWxcIlxuICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICBjc3M9e1Mucm9vdH0+XG4gICAgICAgIDxkaXYgY3NzPXtTLnN0YWdlKHRodW1ibmFpbHMpfT5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjc3M9e1Mudmlld3BvcnR9XG4gICAgICAgICAgICBzdHlsZT17XG4gICAgICAgICAgICAgIGhlaWdodCAhPT0gdW5kZWZpbmVkID8geyBoZWlnaHQgfSA6IHsgYXNwZWN0UmF0aW86IGFzcGVjdFJhdGlvIH1cbiAgICAgICAgICAgIH0+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNzcz17Uy50cmFja31cbiAgICAgICAgICAgICAgYXJpYS1saXZlPXtpc1BsYXlpbmcgPyAnb2ZmJyA6ICdwb2xpdGUnfVxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVgoLSR7Y3VycmVudCAqIDEwMH0lKWAsXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uOiBgJHt0cmFuc2l0aW9uRHVyYXRpb259bXNgLFxuICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IGkgPT09IGN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAga2V5PXtpfVxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiZ3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLXJvbGVkZXNjcmlwdGlvbj1cInNsaWRlXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17YCR7aSArIDF9IG9mICR7Y291bnR9YH1cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49eyFhY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgIGluZXJ0PXshYWN0aXZlfVxuICAgICAgICAgICAgICAgICAgICBjc3M9e1Muc2xpZGV9PlxuICAgICAgICAgICAgICAgICAgICB7cmVuZGVySXRlbSA/IChcbiAgICAgICAgICAgICAgICAgICAgICByZW5kZXJJdGVtKGl0ZW0sIGkpXG4gICAgICAgICAgICAgICAgICAgICkgOiBpdGVtLnNyYyAmJiAhZmFpbGVkLmhhcyhpdGVtLnNyYykgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtpdGVtLnNyY31cbiAgICAgICAgICAgICAgICAgICAgICAgIGFsdD17aXRlbS5hbHQgPz8gJyd9XG4gICAgICAgICAgICAgICAgICAgICAgICBjc3M9e1MuaW1hZ2UoZml0KX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdnYWJsZT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPXtNYXRoLmFicyhpIC0gY3VycmVudCkgPD0gMSA/ICdlYWdlcicgOiAnbGF6eSd9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkVycm9yPXsoKSA9PiBtYXJrRmFpbGVkKGl0ZW0uc3JjISl9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcigyNClcbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIHthbGxvd09wZW5GdWxsICYmIGZ1bGxIcmVmICYmIChcbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBocmVmPXtmdWxsSHJlZn1cbiAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJPcGVuIGZ1bGwgc2l6ZSBpbWFnZSBpbiBhIG5ldyB0YWJcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNhcm91c2VsLW9wZW4tZnVsbFwiXG4gICAgICAgICAgICAgICAgY3NzPXtbUy5zcXVhcmVCdXR0b24sIFMub3BlbkZ1bGxdfT5cbiAgICAgICAgICAgICAgICA8SWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT1cImZvbGxvdy1saW5rXCJcbiAgICAgICAgICAgICAgICAgIHNpemU9ezE2fVxuICAgICAgICAgICAgICAgICAgY29sb3I9e3RoZW1lLmNvbG9ycy5ncmV5RGFya2VyODB9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAge2NvbnRyb2xzUG9zaXRpb24gPT09ICdvdmVybGF5JyAmJiBjb250cm9sc31cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIHt2ZXJ0aWNhbCAmJiB0aHVtYlN0cmlwfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7Y29udHJvbHNQb3NpdGlvbiA9PT0gJ2JlbG93JyAmJiBjb250cm9sc31cblxuICAgICAgICB7dGh1bWJuYWlscyA9PT0gJ2JvdHRvbScgJiYgdGh1bWJTdHJpcH1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH0sXG4pO1xuXG5DYXJvdXNlbC5kaXNwbGF5TmFtZSA9ICdDYXJvdXNlbCc7XG4iXX0= */"],
62700
+ css: [squareButton, openFull, process.env.NODE_ENV === "production" ? "" : ";label:Carousel;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9DYXJvdXNlbC9DYXJvdXNlbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNlpnQiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91aS1raXQvdWkta2l0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvQ2Fyb3VzZWwvQ2Fyb3VzZWwudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9yd2FyZFJlZiwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlTWVyZ2VSZWZzIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0JztcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2tSZWYsIHVzZUNvbnRyb2xsYWJsZVN0YXRlIH0gZnJvbSAnQHNzYS11aS1raXQvaG9va3MnO1xuXG5pbXBvcnQgSWNvbiBmcm9tICdAY29tcG9uZW50cy9JY29uJztcblxuaW1wb3J0IHsgQ2Fyb3VzZWxJdGVtLCBDYXJvdXNlbFByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgKiBhcyBTIGZyb20gJy4vc3R5bGVzJztcblxuY29uc3QgREVGQVVMVF9BVVRPX1BMQVlfSU5URVJWQUwgPSA1MDAwO1xuY29uc3QgREVGQVVMVF9UUkFOU0lUSU9OX0RVUkFUSU9OID0gMzAwO1xuXG5jb25zdCBzdWJzY3JpYmVNZWRpYSA9IChcbiAgcXVlcnk6IHN0cmluZyxcbiAgb25DaGFuZ2U6IChtYXRjaGVzOiBib29sZWFuKSA9PiB2b2lkLFxuKSA9PiB7XG4gIGlmIChcbiAgICB0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyB8fFxuICAgIHR5cGVvZiB3aW5kb3cubWF0Y2hNZWRpYSAhPT0gJ2Z1bmN0aW9uJ1xuICApIHtcbiAgICByZXR1cm4gKCkgPT4ge307XG4gIH1cbiAgY29uc3QgbGlzdCA9IHdpbmRvdy5tYXRjaE1lZGlhKHF1ZXJ5KTtcbiAgb25DaGFuZ2UobGlzdC5tYXRjaGVzKTtcbiAgY29uc3QgaGFuZGxlciA9IChldmVudDogTWVkaWFRdWVyeUxpc3RFdmVudCkgPT4gb25DaGFuZ2UoZXZlbnQubWF0Y2hlcyk7XG4gIGxpc3QuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgaGFuZGxlcik7XG4gIHJldHVybiAoKSA9PiBsaXN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGhhbmRsZXIpO1xufTtcblxuLyoqIGB0cnVlYCB3aGlsZSB0aGUgdXNlciBhc2tzIHRoZSBPUyBmb3IgcmVkdWNlZCBtb3Rpb24uICovXG5jb25zdCB1c2VQcmVmZXJzUmVkdWNlZE1vdGlvbiA9ICgpID0+IHtcbiAgY29uc3QgW3JlZHVjZWQsIHNldFJlZHVjZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4gc3Vic2NyaWJlTWVkaWEoJyhwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpJywgc2V0UmVkdWNlZCksXG4gICAgW10sXG4gICk7XG4gIHJldHVybiByZWR1Y2VkO1xufTtcblxuLyoqIGBmYWxzZWAgd2hpbGUgdGhlIGJyb3dzZXIgdGFiIGlzIGluIHRoZSBiYWNrZ3JvdW5kLiAqL1xuY29uc3QgdXNlUGFnZVZpc2libGUgPSAoKSA9PiB7XG4gIGNvbnN0IFt2aXNpYmxlLCBzZXRWaXNpYmxlXSA9IHVzZVN0YXRlKHRydWUpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKSByZXR1cm47XG4gICAgY29uc3QgdXBkYXRlID0gKCkgPT4gc2V0VmlzaWJsZShkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgIT09ICdoaWRkZW4nKTtcbiAgICB1cGRhdGUoKTtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgdXBkYXRlKTtcbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndmlzaWJpbGl0eWNoYW5nZScsIHVwZGF0ZSk7XG4gIH0sIFtdKTtcbiAgcmV0dXJuIHZpc2libGU7XG59O1xuXG5jb25zdCBkZXNjcmliZSA9IChpdGVtOiBDYXJvdXNlbEl0ZW0gfCB1bmRlZmluZWQsIGluZGV4OiBudW1iZXIpID0+XG4gIGl0ZW0/LmFsdCA/IGAke2luZGV4ICsgMX06ICR7aXRlbS5hbHR9YCA6IGAke2luZGV4ICsgMX1gO1xuXG4vKipcbiAqIENhcm91c2VsIC0gU2hvd3MgYSBzZXQgb2YgaW1hZ2VzIG9uZSBhdCBhIHRpbWUsIHdpdGggb3B0aW9uYWwgdGh1bWJuYWlscyxcbiAqIGRvdCBpbmRpY2F0b3JzLCBwcmV2aW91cy9uZXh0IGJ1dHRvbnMgYW5kIGF1dG9wbGF5LlxuICpcbiAqICMjIyBTaXppbmdcbiAqIFRoZSBjYXJvdXNlbCBhbHdheXMgZmlsbHMgaXRzIGNvbnRhaW5lcidzIHdpZHRoLiBUaGUgc2xpZGUncyBoZWlnaHQgY29tZXNcbiAqIGZyb20gYGFzcGVjdFJhdGlvYCAoc3F1YXJlIGJ5IGRlZmF1bHQsIGFzIGluIHRoZSBkZXNpZ24pIG9yIGZyb20gYSBmaXhlZFxuICogYGhlaWdodGAsIG5ldmVyIGZyb20gdGhlIGltYWdlcyDigJQgc28gdGhlIGxheW91dCBkb2VzIG5vdCBqdW1wIGJldHdlZW5cbiAqIHNsaWRlcyBvciB3aGlsZSBpbWFnZXMgbG9hZC4gSW1hZ2VzIGFyZSBsZXR0ZXJib3hlZCBpbnNpZGUgdGhlIGZyYW1lXG4gKiAoYGZpdD1cImNvbnRhaW5cImApIG9yIGNyb3BwZWQgdG8gZmlsbCBpdCAoYGZpdD1cImNvdmVyXCJgKS5cbiAqXG4gKiBUaHVtYm5haWxzIGFyZSBhIGZpeGVkIDUycHguIEEgYGxlZnRgL2ByaWdodGAgc3RyaXAgaXMgZXhhY3RseSBhcyB0YWxsIGFzXG4gKiB0aGUgc2xpZGUgYW5kIGEgYGJvdHRvbWAgc3RyaXAgZXhhY3RseSBhcyB3aWRlOyBleHRyYSB0aHVtYm5haWxzIHNjcm9sbCBhbmRcbiAqIHRoZSBhY3RpdmUgb25lIGlzIGtlcHQgaW4gdmlldy5cbiAqXG4gKiAjIyMgQ29udHJvbHNcbiAqIERvdHMgYW5kIGFycm93cyBzaXQgb3ZlciB0aGUgYm90dG9tIG9mIHRoZSBzbGlkZSAoYGNvbnRyb2xzUG9zaXRpb249XCJvdmVybGF5XCJgKVxuICogb3IgaW4gdGhlaXIgb3duIHJvdyB1bmRlciBpdCAoYGNvbnRyb2xzUG9zaXRpb249XCJiZWxvd1wiYCkuXG4gKlxuICogIyMjIE5hdmlnYXRpb25cbiAqIEFycm93cywgZG90cywgdGh1bWJuYWlscyBhbmQgdGhlIOKGkC/ihpIvSG9tZS9FbmQga2V5cyAod2hpbGUgZm9jdXMgaXNcbiAqIGFueXdoZXJlIGluc2lkZSB0aGUgY2Fyb3VzZWwpIGFsbCBtb3ZlIGJldHdlZW4gc2xpZGVzLiBXaXRob3V0IGBsb29wYCB0aGUgYXJyb3dzIHN0b3AgYXQgYm90aFxuICogZW5kcy4gYGF1dG9QbGF5YCBhbHdheXMgbG9vcHMgYW5kIHBhdXNlcyBvbiBob3ZlciwgZm9jdXMsIGEgaGlkZGVuIHRhYiBhbmRcbiAqIGBwcmVmZXJzLXJlZHVjZWQtbW90aW9uYC5cbiAqXG4gKiAjIyMgU3RhdGVcbiAqIFBhc3MgYGluZGV4YCArIGBvbkluZGV4Q2hhbmdlYCB0byBjb250cm9sIHRoZSBjdXJyZW50IHNsaWRlLCBvclxuICogYGRlZmF1bHRJbmRleGAgdG8gbGV0IHRoZSBjYXJvdXNlbCBvd24gaXQuXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqIEBzdWJjYXRlZ29yeSBEYXRhIERpc3BsYXlcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiA8Q2Fyb3VzZWxcbiAqICAgaXRlbXM9e1tcbiAqICAgICB7IHNyYzogJy9mcm9udC5qcGcnLCBhbHQ6ICdGcm9udCB2aWV3JyB9LFxuICogICAgIHsgc3JjOiAnL3NpZGUuanBnJywgYWx0OiAnU2lkZSB2aWV3JyB9LFxuICogICBdfVxuICogLz5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIFZlcnRpY2FsIHRodW1ibmFpbHMsIDQ6MyBzbGlkZSwgb3BlbiBmdWxsIHNpemUgaW4gYSBuZXcgdGFiXG4gKiA8Q2Fyb3VzZWwgaXRlbXM9e2l0ZW1zfSB0aHVtYm5haWxzPVwibGVmdFwiIGFzcGVjdFJhdGlvPXs0IC8gM30gYWxsb3dPcGVuRnVsbCAvPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogLy8gQXV0b3BsYXk6IDNzIHBlciBzbGlkZSwgNjAwbXMgc2xpZGUgYW5pbWF0aW9uXG4gKiA8Q2Fyb3VzZWwgaXRlbXM9e2l0ZW1zfSBhdXRvUGxheSBhdXRvUGxheUludGVydmFsPXszMDAwfSB0cmFuc2l0aW9uRHVyYXRpb249ezYwMH0gLz5cbiAqIGBgYFxuICpcbiAqIEBhY2Nlc3NpYmlsaXR5XG4gKiAtIFJvb3QgaXMgYSBgcmVnaW9uYCB3aXRoIGBhcmlhLXJvbGVkZXNjcmlwdGlvbj1cImNhcm91c2VsXCJgXG4gKiAtIEVhY2ggc2xpZGUgaXMgYSBsYWJlbGxlZCBncm91cCAoXCJOIG9mIE1cIik7IGhpZGRlbiBzbGlkZXMgYXJlIGBpbmVydGBcbiAqIC0gU2xpZGUgY2hhbmdlcyBhcmUgYW5ub3VuY2VkIHBvbGl0ZWx5IHVubGVzcyBhdXRvcGxheSBpcyBydW5uaW5nXG4gKiAtIERvdHMgYW5kIHRodW1ibmFpbHMgZXhwb3NlIGBhcmlhLWN1cnJlbnRgIGZvciB0aGUgYWN0aXZlIHNsaWRlXG4gKi9cbmV4cG9ydCBjb25zdCBDYXJvdXNlbCA9IGZvcndhcmRSZWY8SFRNTERpdkVsZW1lbnQsIENhcm91c2VsUHJvcHM+KFxuICAocHJvcHMsIHJlZikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGl0ZW1zLFxuICAgICAgdGh1bWJuYWlscyA9IGZhbHNlLFxuICAgICAgc2hvd0RvdHMgPSB0cnVlLFxuICAgICAgc2hvd0Fycm93cyA9IHRydWUsXG4gICAgICBjb250cm9sc1Bvc2l0aW9uID0gJ292ZXJsYXknLFxuICAgICAgYWxsb3dPcGVuRnVsbCA9IGZhbHNlLFxuICAgICAgYXNwZWN0UmF0aW8gPSAxLFxuICAgICAgaGVpZ2h0LFxuICAgICAgZml0ID0gJ2NvbnRhaW4nLFxuICAgICAgaW5kZXgsXG4gICAgICBkZWZhdWx0SW5kZXgsXG4gICAgICBvbkluZGV4Q2hhbmdlLFxuICAgICAgbG9vcCA9IGZhbHNlLFxuICAgICAgYXV0b1BsYXkgPSBmYWxzZSxcbiAgICAgIGF1dG9QbGF5SW50ZXJ2YWwgPSBERUZBVUxUX0FVVE9fUExBWV9JTlRFUlZBTCxcbiAgICAgIHRyYW5zaXRpb25EdXJhdGlvbiA9IERFRkFVTFRfVFJBTlNJVElPTl9EVVJBVElPTixcbiAgICAgIHJlbmRlckl0ZW0sXG4gICAgICAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCA9ICdJbWFnZSBjYXJvdXNlbCcsXG4gICAgICBjbGFzc05hbWUsXG4gICAgfSA9IHByb3BzO1xuXG4gICAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuICAgIGNvbnN0IGNvdW50ID0gaXRlbXMubGVuZ3RoO1xuICAgIGNvbnN0IGNhbkxvb3AgPSBsb29wIHx8IGF1dG9QbGF5O1xuXG4gICAgY29uc3QgW3Jhd0luZGV4LCBzZXRJbmRleF0gPSB1c2VDb250cm9sbGFibGVTdGF0ZTxudW1iZXI+KHtcbiAgICAgIGNvbnRyb2xsZWQ6ICdpbmRleCcgaW4gcHJvcHMsXG4gICAgICB2YWx1ZTogaW5kZXgsXG4gICAgICBkZWZhdWx0VmFsdWU6IGRlZmF1bHRJbmRleCxcbiAgICAgIGZpbmFsVmFsdWU6IDAsXG4gICAgICBvbkNoYW5nZTogb25JbmRleENoYW5nZSxcbiAgICB9KTtcbiAgICBjb25zdCBjdXJyZW50ID0gTWF0aC5taW4oXG4gICAgICBNYXRoLm1heChyYXdJbmRleCA/PyAwLCAwKSxcbiAgICAgIE1hdGgubWF4KGNvdW50IC0gMSwgMCksXG4gICAgKTtcblxuICAgIGNvbnN0IGdvVG8gPSAobmV4dDogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoY291bnQgPT09IDApIHJldHVybjtcbiAgICAgIHNldEluZGV4KFxuICAgICAgICBjYW5Mb29wXG4gICAgICAgICAgPyAoKG5leHQgJSBjb3VudCkgKyBjb3VudCkgJSBjb3VudFxuICAgICAgICAgIDogTWF0aC5taW4oTWF0aC5tYXgobmV4dCwgMCksIGNvdW50IC0gMSksXG4gICAgICApO1xuICAgIH07XG5cbiAgICBjb25zdCBoYXNQcmV2ID0gY2FuTG9vcCA/IGNvdW50ID4gMSA6IGN1cnJlbnQgPiAwO1xuICAgIGNvbnN0IGhhc05leHQgPSBjYW5Mb29wID8gY291bnQgPiAxIDogY3VycmVudCA8IGNvdW50IC0gMTtcblxuICAgIC8vIEF1dG9wbGF5OiBvbmUgdGltZW91dCBwZXIgc2xpZGUsIHNvIGFueSBtYW51YWwgbW92ZSByZXN0YXJ0cyB0aGUgY2xvY2suXG4gICAgY29uc3QgW2hvdmVyZWQsIHNldEhvdmVyZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtmb2N1c2VkLCBzZXRGb2N1c2VkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBwYWdlVmlzaWJsZSA9IHVzZVBhZ2VWaXNpYmxlKCk7XG4gICAgY29uc3QgcmVkdWNlZE1vdGlvbiA9IHVzZVByZWZlcnNSZWR1Y2VkTW90aW9uKCk7XG4gICAgY29uc3QgaXNQbGF5aW5nID1cbiAgICAgIGF1dG9QbGF5ICYmXG4gICAgICBjb3VudCA+IDEgJiZcbiAgICAgICFob3ZlcmVkICYmXG4gICAgICAhZm9jdXNlZCAmJlxuICAgICAgcGFnZVZpc2libGUgJiZcbiAgICAgICFyZWR1Y2VkTW90aW9uO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghaXNQbGF5aW5nKSByZXR1cm47XG4gICAgICBjb25zdCBpZCA9IHdpbmRvdy5zZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PiBzZXRJbmRleCgoY3VycmVudCArIDEpICUgY291bnQpLFxuICAgICAgICBhdXRvUGxheUludGVydmFsLFxuICAgICAgKTtcbiAgICAgIHJldHVybiAoKSA9PiB3aW5kb3cuY2xlYXJUaW1lb3V0KGlkKTtcbiAgICB9LCBbaXNQbGF5aW5nLCBjdXJyZW50LCBjb3VudCwgYXV0b1BsYXlJbnRlcnZhbCwgc2V0SW5kZXhdKTtcblxuICAgIC8vIEtlZXAgdGhlIGFjdGl2ZSB0aHVtYm5haWwgaW5zaWRlIHRoZSBzdHJpcCdzIHNjcm9sbCBhcmVhLiBTY3JvbGxpbmcgdGhlXG4gICAgLy8gc3RyaXAgZGlyZWN0bHkgKG5vdCBgc2Nyb2xsSW50b1ZpZXdgKSBzbyB0aGUgcGFnZSBpdHNlbGYgbmV2ZXIgbW92ZXMuXG4gICAgY29uc3Qgc3RyaXBSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IHZlcnRpY2FsID0gdGh1bWJuYWlscyA9PT0gJ2xlZnQnIHx8IHRodW1ibmFpbHMgPT09ICdyaWdodCc7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IHN0cmlwID0gc3RyaXBSZWYuY3VycmVudDtcbiAgICAgIGNvbnN0IGVsID0gc3RyaXA/LmNoaWxkcmVuW2N1cnJlbnRdIGFzIEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgICAgaWYgKCFzdHJpcCB8fCAhZWwpIHJldHVybjtcbiAgICAgIGNvbnN0IFtwb3MsIHNpemUsIHNjcm9sbCwgY2xpZW50XSA9IHZlcnRpY2FsXG4gICAgICAgID8gKFsnb2Zmc2V0VG9wJywgJ29mZnNldEhlaWdodCcsICdzY3JvbGxUb3AnLCAnY2xpZW50SGVpZ2h0J10gYXMgY29uc3QpXG4gICAgICAgIDogKFsnb2Zmc2V0TGVmdCcsICdvZmZzZXRXaWR0aCcsICdzY3JvbGxMZWZ0JywgJ2NsaWVudFdpZHRoJ10gYXMgY29uc3QpO1xuICAgICAgLy8gU21hbGxlc3Qgc2Nyb2xsIHRoYXQgc2hvd3MgdGhlIHdob2xlIHRodW1ibmFpbDogdW5jaGFuZ2VkIHdoZW4gaXQgaXNcbiAgICAgIC8vIGFscmVhZHkgdmlzaWJsZSwgZWxzZSBhbGlnbmVkIHRvIHdoaWNoZXZlciBlZGdlIGl0IG92ZXJmbG93cy5cbiAgICAgIHN0cmlwW3Njcm9sbF0gPSBNYXRoLm1pbihcbiAgICAgICAgTWF0aC5tYXgoc3RyaXBbc2Nyb2xsXSwgZWxbcG9zXSArIGVsW3NpemVdIC0gc3RyaXBbY2xpZW50XSksXG4gICAgICAgIGVsW3Bvc10sXG4gICAgICApO1xuICAgIH0sIFtjdXJyZW50LCB2ZXJ0aWNhbF0pO1xuXG4gICAgLy8gS2V5ZWQgYnkgVVJMIHNvIGEgYnJva2VuIHRodW1ibmFpbCBkb2VzIG5vdCBibGFuayBhIHdvcmtpbmcgc2xpZGUuXG4gICAgY29uc3QgW2ZhaWxlZCwgc2V0RmFpbGVkXSA9IHVzZVN0YXRlPFJlYWRvbmx5U2V0PHN0cmluZz4+KCgpID0+IG5ldyBTZXQoKSk7XG4gICAgY29uc3QgbWFya0ZhaWxlZCA9IChzcmM6IHN0cmluZykgPT5cbiAgICAgIHNldEZhaWxlZCgocHJldikgPT4gKHByZXYuaGFzKHNyYykgPyBwcmV2IDogbmV3IFNldChwcmV2KS5hZGQoc3JjKSkpO1xuXG4gICAgY29uc3Qgb25LZXlEb3duID0gdXNlQ2FsbGJhY2tSZWYoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBpZiAoXG4gICAgICAgIGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgfHxcbiAgICAgICAgdGFyZ2V0LmlzQ29udGVudEVkaXRhYmxlIHx8XG4gICAgICAgIC9eKElOUFVUfFRFWFRBUkVBfFNFTEVDVCkkLy50ZXN0KHRhcmdldC50YWdOYW1lKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1vdmVzOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge1xuICAgICAgICBBcnJvd0xlZnQ6IGN1cnJlbnQgLSAxLFxuICAgICAgICBBcnJvd1JpZ2h0OiBjdXJyZW50ICsgMSxcbiAgICAgICAgSG9tZTogMCxcbiAgICAgICAgRW5kOiBjb3VudCAtIDEsXG4gICAgICB9O1xuICAgICAgaWYgKCEoZXZlbnQua2V5IGluIG1vdmVzKSkgcmV0dXJuO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGdvVG8obW92ZXNbZXZlbnQua2V5XSk7XG4gICAgfSk7XG5cbiAgICAvLyBIb3ZlciwgZm9jdXMgYW5kIGtleXMgYXJlIGhhbmRsZWQgb24gdGhlIHdob2xlIGNhcm91c2VsLCBzbyDihpAv4oaSIHdvcmtcbiAgICAvLyBmcm9tIGFueSBvZiBpdHMgY29udHJvbHMuIE5hdGl2ZSBsaXN0ZW5lcnMga2VlcCB0aGUgcmVnaW9uIGl0c2VsZiBhXG4gICAgLy8gcGxhaW4gbGFuZG1hcmsgcmF0aGVyIHRoYW4gYSBtYWRlLXVwIGludGVyYWN0aXZlIGVsZW1lbnQuXG4gICAgY29uc3Qgcm9vdFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgbWVyZ2VkUmVmID0gdXNlTWVyZ2VSZWZzKFtyZWYsIHJvb3RSZWZdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3Qgcm9vdCA9IHJvb3RSZWYuY3VycmVudDtcbiAgICAgIGlmICghcm9vdCkgcmV0dXJuO1xuICAgICAgY29uc3QgZW50ZXIgPSAoKSA9PiBzZXRIb3ZlcmVkKHRydWUpO1xuICAgICAgY29uc3QgbGVhdmUgPSAoKSA9PiBzZXRIb3ZlcmVkKGZhbHNlKTtcbiAgICAgIGNvbnN0IGZvY3VzSW4gPSAoKSA9PiBzZXRGb2N1c2VkKHRydWUpO1xuICAgICAgY29uc3QgZm9jdXNPdXQgPSAoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKCFyb290LmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSB8IG51bGwpKSB7XG4gICAgICAgICAgc2V0Rm9jdXNlZChmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBlbnRlcik7XG4gICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBsZWF2ZSk7XG4gICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCBmb2N1c0luKTtcbiAgICAgIHJvb3QuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXNvdXQnLCBmb2N1c091dCk7XG4gICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgcm9vdC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZW50ZXIpO1xuICAgICAgICByb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBsZWF2ZSk7XG4gICAgICAgIHJvb3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignZm9jdXNpbicsIGZvY3VzSW4pO1xuICAgICAgICByb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgZm9jdXNPdXQpO1xuICAgICAgICByb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pO1xuICAgICAgfTtcbiAgICB9LCBbb25LZXlEb3duXSk7XG5cbiAgICBjb25zdCBwbGFjZWhvbGRlciA9IChzaXplOiBudW1iZXIpID0+IChcbiAgICAgIDxzcGFuIGNzcz17Uy5wbGFjZWhvbGRlcn0gZGF0YS10ZXN0aWQ9XCJjYXJvdXNlbC1wbGFjZWhvbGRlclwiPlxuICAgICAgICA8SWNvbiBuYW1lPVwicGljdHVyZVwiIHNpemU9e3NpemV9IGNvbG9yPXt0aGVtZS5jb2xvcnMud2hpdGV9IC8+XG4gICAgICA8L3NwYW4+XG4gICAgKTtcblxuICAgIGNvbnN0IGN1cnJlbnRJdGVtID0gaXRlbXNbY3VycmVudF07XG4gICAgY29uc3QgZnVsbEhyZWYgPSBjdXJyZW50SXRlbT8uZnVsbFNyYyA/PyBjdXJyZW50SXRlbT8uc3JjO1xuXG4gICAgY29uc3QgY29udHJvbHMgPSBjb3VudCA+IDEgJiYgKHNob3dEb3RzIHx8IHNob3dBcnJvd3MpICYmIChcbiAgICAgIDxkaXYgY3NzPXtTLmNvbnRyb2xzKGNvbnRyb2xzUG9zaXRpb24sIHRodW1ibmFpbHMpfT5cbiAgICAgICAge3Nob3dEb3RzICYmIChcbiAgICAgICAgICA8ZGl2IGNzcz17Uy5kb3RzfT5cbiAgICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGkpID0+IChcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGtleT17aX1cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjc3M9eyh0KSA9PiBTLmRvdCh0LCBpID09PSBjdXJyZW50KX1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtgR28gdG8gc2xpZGUgJHtkZXNjcmliZShpdGVtLCBpKX1gfVxuICAgICAgICAgICAgICAgIGFyaWEtY3VycmVudD17aSA9PT0gY3VycmVudCA/ICd0cnVlJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBnb1RvKGkpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIHtzaG93QXJyb3dzICYmIChcbiAgICAgICAgICA8ZGl2IGNzcz17Uy5hcnJvd3N9PlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY3NzPXtTLnNxdWFyZUJ1dHRvbn1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlByZXZpb3VzIHNsaWRlXCJcbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFoYXNQcmV2fVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBnb1RvKGN1cnJlbnQgLSAxKX0+XG4gICAgICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cImNhcnJvdC1sZWZ0XCJcbiAgICAgICAgICAgICAgICBzaXplPXsxNn1cbiAgICAgICAgICAgICAgICBjb2xvcj17dGhlbWUuY29sb3JzLmdyZXlEYXJrZXI4MH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY3NzPXtTLnNxdWFyZUJ1dHRvbn1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk5leHQgc2xpZGVcIlxuICAgICAgICAgICAgICBkaXNhYmxlZD17IWhhc05leHR9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGdvVG8oY3VycmVudCArIDEpfT5cbiAgICAgICAgICAgICAgPEljb25cbiAgICAgICAgICAgICAgICBuYW1lPVwiY2Fycm90LXJpZ2h0XCJcbiAgICAgICAgICAgICAgICBzaXplPXsxNn1cbiAgICAgICAgICAgICAgICBjb2xvcj17dGhlbWUuY29sb3JzLmdyZXlEYXJrZXI4MH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgKTtcblxuICAgIGNvbnN0IHRodW1iU3RyaXAgPSB0aHVtYm5haWxzICYmIGNvdW50ID4gMCAmJiAoXG4gICAgICA8ZGl2IGNzcz17Uy50aHVtYlN0cmlwV3JhcHBlcih2ZXJ0aWNhbCl9PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgcmVmPXtzdHJpcFJlZn1cbiAgICAgICAgICBjc3M9e1MudGh1bWJTdHJpcCh2ZXJ0aWNhbCl9XG4gICAgICAgICAgYXJpYS1sYWJlbD1cIlNsaWRlIHRodW1ibmFpbHNcIj5cbiAgICAgICAgICB7aXRlbXMubWFwKChpdGVtLCBpKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzcmMgPSBpdGVtLnRodW1ibmFpbFNyYyA/PyBpdGVtLnNyYztcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBrZXk9e2l9XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY3NzPXsodCkgPT4gUy50aHVtYih0LCBpID09PSBjdXJyZW50KX1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtgU2hvdyBzbGlkZSAke2Rlc2NyaWJlKGl0ZW0sIGkpfWB9XG4gICAgICAgICAgICAgICAgYXJpYS1jdXJyZW50PXtpID09PSBjdXJyZW50ID8gJ3RydWUnIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGdvVG8oaSl9PlxuICAgICAgICAgICAgICAgIHtzcmMgJiYgIWZhaWxlZC5oYXMoc3JjKSA/IChcbiAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgc3JjPXtzcmN9XG4gICAgICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgICAgIGRyYWdnYWJsZT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcj17KCkgPT4gbWFya0ZhaWxlZChzcmMpfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXIoMTYpXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdlxuICAgICAgICByZWY9e21lcmdlZFJlZn1cbiAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgIGFyaWEtcm9sZWRlc2NyaXB0aW9uPVwiY2Fyb3VzZWxcIlxuICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICBjc3M9e1Mucm9vdH0+XG4gICAgICAgIDxkaXYgY3NzPXtTLnN0YWdlKHRodW1ibmFpbHMpfT5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjc3M9e1Mudmlld3BvcnR9XG4gICAgICAgICAgICBzdHlsZT17XG4gICAgICAgICAgICAgIGhlaWdodCAhPT0gdW5kZWZpbmVkID8geyBoZWlnaHQgfSA6IHsgYXNwZWN0UmF0aW86IGFzcGVjdFJhdGlvIH1cbiAgICAgICAgICAgIH0+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNzcz17Uy50cmFja31cbiAgICAgICAgICAgICAgYXJpYS1saXZlPXtpc1BsYXlpbmcgPyAnb2ZmJyA6ICdwb2xpdGUnfVxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVgoLSR7Y3VycmVudCAqIDEwMH0lKWAsXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uOiBgJHt0cmFuc2l0aW9uRHVyYXRpb259bXNgLFxuICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IGkgPT09IGN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAga2V5PXtpfVxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiZ3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLXJvbGVkZXNjcmlwdGlvbj1cInNsaWRlXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17YCR7aSArIDF9IG9mICR7Y291bnR9YH1cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49eyFhY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgIGluZXJ0PXshYWN0aXZlfVxuICAgICAgICAgICAgICAgICAgICBjc3M9e1Muc2xpZGV9PlxuICAgICAgICAgICAgICAgICAgICB7cmVuZGVySXRlbSA/IChcbiAgICAgICAgICAgICAgICAgICAgICByZW5kZXJJdGVtKGl0ZW0sIGkpXG4gICAgICAgICAgICAgICAgICAgICkgOiBpdGVtLnNyYyAmJiAhZmFpbGVkLmhhcyhpdGVtLnNyYykgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtpdGVtLnNyY31cbiAgICAgICAgICAgICAgICAgICAgICAgIGFsdD17aXRlbS5hbHQgPz8gJyd9XG4gICAgICAgICAgICAgICAgICAgICAgICBjc3M9e1MuaW1hZ2UoZml0KX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdnYWJsZT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPXtNYXRoLmFicyhpIC0gY3VycmVudCkgPD0gMSA/ICdlYWdlcicgOiAnbGF6eSd9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkVycm9yPXsoKSA9PiBtYXJrRmFpbGVkKGl0ZW0uc3JjISl9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcigyNClcbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICB7Y291bnQgPT09IDAgJiYgPGRpdiBjc3M9e1Muc2xpZGV9PntwbGFjZWhvbGRlcigyNCl9PC9kaXY+fVxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIHthbGxvd09wZW5GdWxsICYmIGZ1bGxIcmVmICYmIChcbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBocmVmPXtmdWxsSHJlZn1cbiAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJPcGVuIGZ1bGwgc2l6ZSBpbWFnZSBpbiBhIG5ldyB0YWJcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNhcm91c2VsLW9wZW4tZnVsbFwiXG4gICAgICAgICAgICAgICAgY3NzPXtbUy5zcXVhcmVCdXR0b24sIFMub3BlbkZ1bGxdfT5cbiAgICAgICAgICAgICAgICA8SWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT1cImZvbGxvdy1saW5rXCJcbiAgICAgICAgICAgICAgICAgIHNpemU9ezE2fVxuICAgICAgICAgICAgICAgICAgY29sb3I9e3RoZW1lLmNvbG9ycy5ncmV5RGFya2VyODB9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAge2NvbnRyb2xzUG9zaXRpb24gPT09ICdvdmVybGF5JyAmJiBjb250cm9sc31cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIHt2ZXJ0aWNhbCAmJiB0aHVtYlN0cmlwfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7Y29udHJvbHNQb3NpdGlvbiA9PT0gJ2JlbG93JyAmJiBjb250cm9sc31cblxuICAgICAgICB7dGh1bWJuYWlscyA9PT0gJ2JvdHRvbScgJiYgdGh1bWJTdHJpcH1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH0sXG4pO1xuXG5DYXJvdXNlbC5kaXNwbGF5TmFtZSA9ICdDYXJvdXNlbCc7XG4iXX0= */"],
62698
62701
  children: __WEBPACK_EXTERNAL_MODULE__emotion_react_jsx_runtime_ea06233c_jsx__(Icon_Icon, {
62699
62702
  name: "follow-link",
62700
62703
  size: 16,