@annotorious/react 3.4.4 → 3.4.6

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.
@@ -1 +1 @@
1
- canvas.a9s-gl-canvas{height:100%;left:0;position:absolute;top:0;width:100%}canvas.a9s-gl-canvas.hidden{display:none}canvas.a9s-gl-canvas.hover{cursor:pointer!important}svg.svelte-1k5cy2d.svelte-1k5cy2d{pointer-events:none}svg.drawing.svelte-1k5cy2d.svelte-1k5cy2d,svg.editing.svelte-1k5cy2d.svelte-1k5cy2d{pointer-events:all}svg.svelte-1k5cy2d .svelte-1k5cy2d{pointer-events:all}text.svelte-1rehw2p{fill:#fff;font-family:Arial,Helvetica,sans-serif;font-weight:600}rect.svelte-1rehw2p{stroke-width:1.2;vector-effect:non-scaling-stroke}polygon.svelte-fgq4n0{stroke-width:1.2;vector-effect:non-scaling-stroke}rect.svelte-gze948{stroke-width:1.2;vector-effect:non-scaling-stroke}svg.svelte-1krwc4m{position:absolute;top:0;left:0;width:100%;height:100%;outline:none;pointer-events:none}svg.svelte-1p8m4b9{overflow:visible;position:absolute;top:0;left:0;width:100%;height:100%;outline:none;pointer-events:none}.a9s-osd-selectionlayer :is(rect,path,polygon,ellipse){fill:#3182ed40;stroke:#3182ed;stroke-width:1.5px;vector-effect:non-scaling-stroke}rect.a9s-union-fg.svelte-1p8m4b9{fill:#3182ed1f;stroke-width:1px}rect.a9s-union-bg.svelte-1p8m4b9{fill:transparent;stroke:#fff;stroke-width:2px}.a9s-touch-halo.svelte-160z737{fill:transparent;pointer-events:none;stroke-width:0;transition:fill .15s}.a9s-touch-halo.touched.svelte-160z737{fill:#fff6}.a9s-handle-buffer.svelte-160z737{fill:transparent}.a9s-handle-dot.svelte-160z737{fill:#fff;pointer-events:none;stroke:#00000059;stroke-width:1px;vector-effect:non-scaling-stroke}.a9s-handle-dot.selected.svelte-160z737{fill:#1a1a1a;stroke:none}.a9s-handle-selected.svelte-160z737{animation:svelte-160z737-dash-rotate .35s linear infinite reverse;fill:#ffffff40;stroke:#000000e6;stroke-dasharray:2 2;stroke-width:1px;pointer-events:none;vector-effect:non-scaling-stroke}@keyframes svelte-160z737-dash-rotate{0%{stroke-dashoffset:0}to{stroke-dashoffset:4}}.a9s-polygon-midpoint.svelte-12ykj76{cursor:crosshair}.a9s-polygon-midpoint-buffer.svelte-12ykj76{fill:transparent}.a9s-polygon-midpoint-outer.svelte-12ykj76{display:none;fill:transparent;pointer-events:none;stroke:#00000059;stroke-width:1.5px;vector-effect:non-scaling-stroke}.a9s-polygon-midpoint-inner.svelte-12ykj76{fill:#00000040;pointer-events:none;stroke:#fff;stroke-width:1px;vector-effect:non-scaling-stroke}mask.a9s-polygon-editor-mask.svelte-1h2slbm>rect.svelte-1h2slbm{fill:#fff}mask.a9s-polygon-editor-mask.svelte-1h2slbm>circle.svelte-1h2slbm,mask.a9s-polygon-editor-mask.svelte-1h2slbm>polygon.svelte-1h2slbm{fill:#000}mask.a9s-rectangle-editor-mask.svelte-1njczvj>rect.rect-mask-bg.svelte-1njczvj{fill:#fff}mask.a9s-rectangle-editor-mask.svelte-1njczvj>rect.rect-mask-fg.svelte-1njczvj{fill:#000}mask.a9s-multipolygon-editor-mask.svelte-1vxo6dc>rect.svelte-1vxo6dc{fill:#fff}mask.a9s-multipolygon-editor-mask.svelte-1vxo6dc>circle.svelte-1vxo6dc,mask.a9s-multipolygon-editor-mask.svelte-1vxo6dc>path.svelte-1vxo6dc{fill:#000}mask.a9s-rubberband-rectangle-mask.svelte-1a76qe7>rect.rect-mask-bg.svelte-1a76qe7{fill:#fff}mask.a9s-rubberband-rectangle-mask.svelte-1a76qe7>rect.rect-mask-fg.svelte-1a76qe7{fill:#000}mask.a9s-rubberband-polygon-mask.svelte-18wrg3t>rect.svelte-18wrg3t{fill:#fff}mask.a9s-rubberband-polygon-mask.svelte-18wrg3t>polygon.svelte-18wrg3t{fill:#000}circle.a9s-handle.svelte-18wrg3t.svelte-18wrg3t{fill:#fff;pointer-events:none;stroke:#00000059;stroke-width:1px;vector-effect:non-scaling-stroke}.a9s-annotationlayer{box-sizing:border-box;height:100%;left:0;outline:none;position:absolute;top:0;touch-action:none;width:100%;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.a9s-annotationlayer.hidden{display:none}.a9s-annotationlayer .a9s-annotation{cursor:pointer}.a9s-annotationlayer ellipse,.a9s-annotationlayer path,.a9s-annotationlayer polygon,.a9s-annotationlayer rect{fill:transparent;shape-rendering:geometricPrecision;vector-effect:non-scaling-stroke;-webkit-tap-highlight-color:transparent}.a9s-edge-handle{fill:transparent;stroke:transparent;stroke-width:6px}.a9s-shape-handle,.a9s-handle{cursor:move}.a9s-handle.a9s-corner-handle{cursor:crosshair}.a9s-edge-handle-top{cursor:n-resize}.a9s-edge-handle-right{cursor:e-resize}.a9s-edge-handle-bottom{cursor:s-resize}.a9s-edge-handle-left{cursor:w-resize}.a9s-handle.a9s-corner-handle-topleft{cursor:nw-resize}.a9s-handle.a9s-corner-handle-topright{cursor:ne-resize}.a9s-handle.a9s-corner-handle-bottomright{cursor:se-resize}.a9s-handle.a9s-corner-handle-bottomleft{cursor:sw-resize}.a9s-annotationlayer .a9s-outer,div[data-theme=dark] .a9s-annotationlayer .a9s-outer{display:none}.a9s-annotationlayer .a9s-inner,div[data-theme=dark] .a9s-annotationlayer .a9s-inner{fill:#0000001f;stroke:#000;stroke-width:1px}rect.a9s-handle,div[data-theme=dark] rect.a9s-handle{fill:#000;rx:2px}rect.a9s-close-polygon-handle,div[data-theme=dark] rect.a9s-close-polygon-handle{fill:#000;rx:1px}.a9s-annotationlayer .a9s-outer,div[data-theme=light] .a9s-annotationlayer .a9s-outer{display:block;stroke:#00000059;stroke-width:3px}.a9s-annotationlayer .a9s-inner,div[data-theme=light] .a9s-annotationlayer .a9s-inner{fill:#ffffff26;stroke:#fff;stroke-width:1.5px}rect.a9s-handle,div[data-theme=light] rect.a9s-handle{fill:#fff;rx:1px;stroke:#00000073;stroke-width:1px}rect.a9s-close-polygon-handle,div[data-theme=light] rect.a9s-close-polygon-handle{fill:#fff;rx:1px;stroke:#00000073;stroke-width:1px}
1
+ canvas.a9s-gl-canvas{height:100%;left:0;position:absolute;top:0;width:100%}canvas.a9s-gl-canvas.hidden{display:none}canvas.a9s-gl-canvas.hover{cursor:pointer!important}svg.svelte-1ye6tpl.svelte-1ye6tpl{pointer-events:none}svg.drawing.svelte-1ye6tpl.svelte-1ye6tpl,svg.editing.svelte-1ye6tpl.svelte-1ye6tpl{pointer-events:all}svg.hover.svelte-1ye6tpl.svelte-1ye6tpl{cursor:pointer}svg.svelte-1ye6tpl .svelte-1ye6tpl{pointer-events:all}text.svelte-1rehw2p{fill:#fff;font-family:Arial,Helvetica,sans-serif;font-weight:600}rect.svelte-1rehw2p{stroke-width:1.2;vector-effect:non-scaling-stroke}polygon.svelte-fgq4n0{stroke-width:1.2;vector-effect:non-scaling-stroke}rect.svelte-gze948{stroke-width:1.2;vector-effect:non-scaling-stroke}svg.svelte-1krwc4m{position:absolute;top:0;left:0;width:100%;height:100%;outline:none;pointer-events:none}svg.svelte-1p8m4b9{overflow:visible;position:absolute;top:0;left:0;width:100%;height:100%;outline:none;pointer-events:none}.a9s-osd-selectionlayer :is(rect,path,polygon,ellipse){fill:#3182ed40;stroke:#3182ed;stroke-width:1.5px;vector-effect:non-scaling-stroke}rect.a9s-union-fg.svelte-1p8m4b9{fill:#3182ed1f;stroke-width:1px}rect.a9s-union-bg.svelte-1p8m4b9{fill:transparent;stroke:#fff;stroke-width:2px}.a9s-polygon-midpoint.svelte-12ykj76{cursor:crosshair}.a9s-polygon-midpoint-buffer.svelte-12ykj76{fill:transparent}.a9s-polygon-midpoint-outer.svelte-12ykj76{display:none;fill:transparent;pointer-events:none;stroke:#00000059;stroke-width:1.5px;vector-effect:non-scaling-stroke}.a9s-polygon-midpoint-inner.svelte-12ykj76{fill:#00000040;pointer-events:none;stroke:#fff;stroke-width:1px;vector-effect:non-scaling-stroke}mask.a9s-polygon-editor-mask.svelte-1h2slbm>rect.svelte-1h2slbm{fill:#fff}mask.a9s-polygon-editor-mask.svelte-1h2slbm>circle.svelte-1h2slbm,mask.a9s-polygon-editor-mask.svelte-1h2slbm>polygon.svelte-1h2slbm{fill:#000}mask.a9s-rectangle-editor-mask.svelte-1njczvj>rect.rect-mask-bg.svelte-1njczvj{fill:#fff}mask.a9s-rectangle-editor-mask.svelte-1njczvj>rect.rect-mask-fg.svelte-1njczvj{fill:#000}mask.a9s-multipolygon-editor-mask.svelte-1vxo6dc>rect.svelte-1vxo6dc{fill:#fff}mask.a9s-multipolygon-editor-mask.svelte-1vxo6dc>circle.svelte-1vxo6dc,mask.a9s-multipolygon-editor-mask.svelte-1vxo6dc>path.svelte-1vxo6dc{fill:#000}mask.a9s-rubberband-rectangle-mask.svelte-1a76qe7>rect.rect-mask-bg.svelte-1a76qe7{fill:#fff}mask.a9s-rubberband-rectangle-mask.svelte-1a76qe7>rect.rect-mask-fg.svelte-1a76qe7{fill:#000}mask.a9s-rubberband-polygon-mask.svelte-18wrg3t>rect.svelte-18wrg3t{fill:#fff}mask.a9s-rubberband-polygon-mask.svelte-18wrg3t>polygon.svelte-18wrg3t{fill:#000}circle.a9s-handle.svelte-18wrg3t.svelte-18wrg3t{fill:#fff;pointer-events:none;stroke:#00000059;stroke-width:1px;vector-effect:non-scaling-stroke}.a9s-annotationlayer{box-sizing:border-box;height:100%;left:0;outline:none;position:absolute;top:0;touch-action:none;width:100%;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.a9s-annotationlayer.hidden{display:none}.a9s-annotationlayer .a9s-annotation{cursor:pointer}.a9s-annotationlayer ellipse,.a9s-annotationlayer path,.a9s-annotationlayer polygon,.a9s-annotationlayer rect{fill:transparent;shape-rendering:geometricPrecision;vector-effect:non-scaling-stroke;-webkit-tap-highlight-color:transparent}.a9s-touch-halo{fill:transparent;pointer-events:none;stroke-width:0;transition:fill .15s}.a9s-touch-halo.touched{fill:#fff6}.a9s-handle-buffer{fill:transparent}.a9s-handle-dot{fill:#fff;pointer-events:none;stroke:#00000059;stroke-width:1px;vector-effect:non-scaling-stroke}.a9s-handle-dot.selected{fill:#1a1a1a;stroke:none}.a9s-handle-selected{animation:dash-rotate .35s linear infinite reverse;fill:#ffffff40;stroke:#000000e6;stroke-dasharray:2 2;stroke-width:1px;pointer-events:none;vector-effect:non-scaling-stroke}@keyframes dash-rotate{0%{stroke-dashoffset:0}to{stroke-dashoffset:4}}.a9s-edge-handle{fill:transparent;stroke:transparent;stroke-width:6px}.a9s-shape-handle,.a9s-handle{cursor:move}.a9s-handle.a9s-corner-handle{cursor:crosshair}.a9s-edge-handle-top{cursor:n-resize}.a9s-edge-handle-right{cursor:e-resize}.a9s-edge-handle-bottom{cursor:s-resize}.a9s-edge-handle-left{cursor:w-resize}.a9s-handle.a9s-corner-handle-topleft{cursor:nw-resize}.a9s-handle.a9s-corner-handle-topright{cursor:ne-resize}.a9s-handle.a9s-corner-handle-bottomright{cursor:se-resize}.a9s-handle.a9s-corner-handle-bottomleft{cursor:sw-resize}.a9s-annotationlayer .a9s-outer,div[data-theme=dark] .a9s-annotationlayer .a9s-outer{display:none}.a9s-annotationlayer .a9s-inner,div[data-theme=dark] .a9s-annotationlayer .a9s-inner{fill:#0000001f;stroke:#000;stroke-width:1px}rect.a9s-handle,div[data-theme=dark] rect.a9s-handle{fill:#000;rx:2px}rect.a9s-close-polygon-handle,div[data-theme=dark] rect.a9s-close-polygon-handle{fill:#000;rx:1px}.a9s-annotationlayer .a9s-outer,div[data-theme=light] .a9s-annotationlayer .a9s-outer{display:block;stroke:#00000059;stroke-width:3px}.a9s-annotationlayer .a9s-inner,div[data-theme=light] .a9s-annotationlayer .a9s-inner{fill:#ffffff26;stroke:#fff;stroke-width:1.5px}rect.a9s-handle,div[data-theme=light] rect.a9s-handle{fill:#fff;rx:1px;stroke:#00000073;stroke-width:1px}rect.a9s-close-polygon-handle,div[data-theme=light] rect.a9s-close-polygon-handle{fill:#fff;rx:1px;stroke:#00000073;stroke-width:1px}
@@ -3,21 +3,22 @@ import { useState as c, useEffect as E } from "react";
3
3
  import { useAnnotator as h } from "./annotorious-react.es2.js";
4
4
  import { useViewer as y } from "./annotorious-react.es8.js";
5
5
  const v = 10, S = (n) => {
6
- const m = n.offsetX || v, a = n.offsetY || v, e = h(), t = y(), [s, p] = c(), [r, i] = c();
6
+ const m = n.offsetX || v, a = n.offsetY || v, t = h(), o = y(), [s, p] = c(), [r, i] = c();
7
7
  return E(() => {
8
- if (!e || !t) return;
9
- const u = (o) => {
10
- i(o ? e.state.store.getAnnotation(o) : void 0);
11
- }, f = (o) => {
12
- const { offsetX: d, offsetY: x } = o;
8
+ if (!t || !o) return;
9
+ const u = (e) => {
10
+ i(e ? t.state.store.getAnnotation(e) : void 0);
11
+ }, f = (e) => {
12
+ const { offsetX: d, offsetY: x } = e;
13
13
  p({ x: d, y: x });
14
14
  };
15
- t.element.addEventListener("pointermove", f);
16
- const l = e.state.hover.subscribe(u);
15
+ o.element.addEventListener("pointermove", f);
16
+ const l = t.state.hover.subscribe(u);
17
17
  return () => {
18
- t.element.removeEventListener("pointermove", f), l();
18
+ var e;
19
+ (e = o.element) == null || e.removeEventListener("pointermove", f), l();
19
20
  };
20
- }, [e, t]), r && s && /* @__PURE__ */ b(
21
+ }, [t, o]), r && s && /* @__PURE__ */ b(
21
22
  "div",
22
23
  {
23
24
  style: {
@@ -1 +1 @@
1
- {"version":3,"file":"annotorious-react.es10.js","sources":["../src/openseadragon/OpenSeadragonHoverTooltip.tsx"],"sourcesContent":["import { ReactNode, useEffect, useState } from 'react';\nimport { Annotation } from '@annotorious/core';\nimport { ImageAnnotation } from '@annotorious/annotorious';\nimport { useAnnotator } from '../Annotorious';\nimport { AnnotoriousOpenSeadragonAnnotator, useViewer } from '.';\n\ninterface HoverTooltipContentProps <T extends Annotation = ImageAnnotation> {\n \n annotation: T;\n\n}\n\ninterface OpenSeadragonHoverTooltipProps {\n\n offsetX?: number;\n\n offsetY?: number;\n\n tooltip: (props: HoverTooltipContentProps) => ReactNode;\n\n}\n\nconst DEFAULT_OFFSET = 10;\n\nexport const OpenSeadragonHoverTooltip = (props: OpenSeadragonHoverTooltipProps) => {\n\n const offsetX = props.offsetX || DEFAULT_OFFSET;\n const offsetY = props.offsetY || DEFAULT_OFFSET;\n\n const anno = useAnnotator<AnnotoriousOpenSeadragonAnnotator>();\n\n const viewer = useViewer();\n\n const [pos, setPos] = useState<{ x: number, y: number } | undefined>();\n\n const [hovered, setHovered] = useState<ImageAnnotation | undefined>();\n\n useEffect(() => {\n if (!anno || !viewer) return;\n\n const onHover = (id: string) => {\n if (id)\n setHovered(anno.state.store.getAnnotation(id));\n else\n setHovered(undefined);\n }\n\n const onPointerMove = (evt: PointerEvent) => {\n const { offsetX: x, offsetY: y } = evt;\n setPos({ x, y });\n }\n\n viewer.element.addEventListener('pointermove', onPointerMove);\n const unsubscribe = anno.state.hover.subscribe(onHover);\n\n return () => {\n viewer.element.removeEventListener('pointermove', onPointerMove);\n unsubscribe();\n }\n }, [anno, viewer]);\n\n return (hovered && pos) && (\n <div \n style={{ \n position: 'absolute',\n top: `${pos.y + offsetY}px`,\n left: `${pos.x + offsetX}px`\n }}>\n {props.tooltip({ annotation: hovered })}\n </div>\n )\n\n}"],"names":["DEFAULT_OFFSET","OpenSeadragonHoverTooltip","props","offsetX","offsetY","anno","useAnnotator","viewer","useViewer","pos","setPos","useState","hovered","setHovered","useEffect","onHover","id","onPointerMove","evt","x","y","unsubscribe","jsx"],"mappings":";;;;AAsBA,MAAMA,IAAiB,IAEVC,IAA4B,CAACC,MAA0C;AAE5E,QAAAC,IAAUD,EAAM,WAAWF,GAC3BI,IAAUF,EAAM,WAAWF,GAE3BK,IAAOC,EAAgD,GAEvDC,IAASC,EAAU,GAEnB,CAACC,GAAKC,CAAM,IAAIC,EAA+C,GAE/D,CAACC,GAASC,CAAU,IAAIF,EAAsC;AAEpE,SAAAG,EAAU,MAAM;AACV,QAAA,CAACT,KAAQ,CAACE,EAAQ;AAEhB,UAAAQ,IAAU,CAACC,MAAe;AAC1B,MACFH,EADEG,IACSX,EAAK,MAAM,MAAM,cAAcW,CAAE,IAEjC,MAFkC;AAAA,IAGjD,GAEMC,IAAgB,CAACC,MAAsB;AAC3C,YAAM,EAAE,SAASC,GAAG,SAASC,EAAM,IAAAF;AAC5B,MAAAR,EAAA,EAAE,GAAAS,GAAG,GAAAC,GAAG;AAAA,IACjB;AAEO,IAAAb,EAAA,QAAQ,iBAAiB,eAAeU,CAAa;AAC5D,UAAMI,IAAchB,EAAK,MAAM,MAAM,UAAUU,CAAO;AAEtD,WAAO,MAAM;AACJ,MAAAR,EAAA,QAAQ,oBAAoB,eAAeU,CAAa,GACnDI,EAAA;AAAA,IACd;AAAA,EAAA,GACC,CAAChB,GAAME,CAAM,CAAC,GAETK,KAAWH,KACjB,gBAAAa;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,UAAU;AAAA,QACV,KAAK,GAAGb,EAAI,IAAIL,CAAO;AAAA,QACvB,MAAM,GAAGK,EAAI,IAAIN,CAAO;AAAA,MAC1B;AAAA,MACC,UAAMD,EAAA,QAAQ,EAAE,YAAYU,EAAS,CAAA;AAAA,IAAA;AAAA,EACxC;AAGJ;"}
1
+ {"version":3,"file":"annotorious-react.es10.js","sources":["../src/openseadragon/OpenSeadragonHoverTooltip.tsx"],"sourcesContent":["import { ReactNode, useEffect, useState } from 'react';\nimport { Annotation } from '@annotorious/core';\nimport { ImageAnnotation } from '@annotorious/annotorious';\nimport { useAnnotator } from '../Annotorious';\nimport { AnnotoriousOpenSeadragonAnnotator, useViewer } from '.';\n\ninterface HoverTooltipContentProps <T extends Annotation = ImageAnnotation> {\n \n annotation: T;\n\n}\n\ninterface OpenSeadragonHoverTooltipProps {\n\n offsetX?: number;\n\n offsetY?: number;\n\n tooltip: (props: HoverTooltipContentProps) => ReactNode;\n\n}\n\nconst DEFAULT_OFFSET = 10;\n\nexport const OpenSeadragonHoverTooltip = (props: OpenSeadragonHoverTooltipProps) => {\n\n const offsetX = props.offsetX || DEFAULT_OFFSET;\n const offsetY = props.offsetY || DEFAULT_OFFSET;\n\n const anno = useAnnotator<AnnotoriousOpenSeadragonAnnotator>();\n\n const viewer = useViewer();\n\n const [pos, setPos] = useState<{ x: number, y: number } | undefined>();\n\n const [hovered, setHovered] = useState<ImageAnnotation | undefined>();\n\n useEffect(() => {\n if (!anno || !viewer) return;\n\n const onHover = (id: string) => {\n if (id)\n setHovered(anno.state.store.getAnnotation(id));\n else\n setHovered(undefined);\n }\n\n const onPointerMove = (evt: PointerEvent) => {\n const { offsetX: x, offsetY: y } = evt;\n setPos({ x, y });\n }\n\n viewer.element.addEventListener('pointermove', onPointerMove);\n const unsubscribe = anno.state.hover.subscribe(onHover);\n\n return () => {\n viewer.element?.removeEventListener('pointermove', onPointerMove);\n unsubscribe();\n }\n }, [anno, viewer]);\n\n return (hovered && pos) && (\n <div \n style={{ \n position: 'absolute',\n top: `${pos.y + offsetY}px`,\n left: `${pos.x + offsetX}px`\n }}>\n {props.tooltip({ annotation: hovered })}\n </div>\n )\n\n}"],"names":["DEFAULT_OFFSET","OpenSeadragonHoverTooltip","props","offsetX","offsetY","anno","useAnnotator","viewer","useViewer","pos","setPos","useState","hovered","setHovered","useEffect","onHover","id","onPointerMove","evt","x","y","unsubscribe","_a","jsx"],"mappings":";;;;AAsBA,MAAMA,IAAiB,IAEVC,IAA4B,CAACC,MAA0C;AAE5E,QAAAC,IAAUD,EAAM,WAAWF,GAC3BI,IAAUF,EAAM,WAAWF,GAE3BK,IAAOC,EAAgD,GAEvDC,IAASC,EAAU,GAEnB,CAACC,GAAKC,CAAM,IAAIC,EAA+C,GAE/D,CAACC,GAASC,CAAU,IAAIF,EAAsC;AAEpE,SAAAG,EAAU,MAAM;AACV,QAAA,CAACT,KAAQ,CAACE,EAAQ;AAEhB,UAAAQ,IAAU,CAACC,MAAe;AAC1B,MACFH,EADEG,IACSX,EAAK,MAAM,MAAM,cAAcW,CAAE,IAEjC,MAFkC;AAAA,IAGjD,GAEMC,IAAgB,CAACC,MAAsB;AAC3C,YAAM,EAAE,SAASC,GAAG,SAASC,EAAM,IAAAF;AAC5B,MAAAR,EAAA,EAAE,GAAAS,GAAG,GAAAC,GAAG;AAAA,IACjB;AAEO,IAAAb,EAAA,QAAQ,iBAAiB,eAAeU,CAAa;AAC5D,UAAMI,IAAchB,EAAK,MAAM,MAAM,UAAUU,CAAO;AAEtD,WAAO,MAAM;;AACJ,OAAAO,IAAAf,EAAA,YAAA,QAAAe,EAAS,oBAAoB,eAAeL,IACvCI,EAAA;AAAA,IACd;AAAA,EAAA,GACC,CAAChB,GAAME,CAAM,CAAC,GAETK,KAAWH,KACjB,gBAAAc;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,UAAU;AAAA,QACV,KAAK,GAAGd,EAAI,IAAIL,CAAO;AAAA,QACvB,MAAM,GAAGK,EAAI,IAAIN,CAAO;AAAA,MAC1B;AAAA,MACC,UAAMD,EAAA,QAAQ,EAAE,YAAYU,EAAS,CAAA;AAAA,IAAA;AAAA,EACxC;AAGJ;"}