@embedpdf/viewer-chrome 3.0.0-next.13 → 3.0.0-next.15
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.
- package/README.md +175 -132
- package/dist/annotation-fonts-BqoLZ4Mp.js +80 -0
- package/dist/annotation-fonts-BqoLZ4Mp.js.map +1 -0
- package/dist/annotation-fonts-Dt0IQXhz.cjs +91 -0
- package/dist/annotation-fonts-Dt0IQXhz.cjs.map +1 -0
- package/dist/annotation-style--rPIZsuP.js +879 -0
- package/dist/annotation-style--rPIZsuP.js.map +1 -0
- package/dist/annotation-style-Bzvvp8-N.cjs +879 -0
- package/dist/annotation-style-Bzvvp8-N.cjs.map +1 -0
- package/dist/ar-D9XKAmDx.js +567 -0
- package/dist/ar-D9XKAmDx.js.map +1 -0
- package/dist/ar-DnEj5vbP.cjs +567 -0
- package/dist/ar-DnEj5vbP.cjs.map +1 -0
- package/dist/chrome.cjs +378 -221
- package/dist/chrome.cjs.map +1 -1
- package/dist/chrome.d.cts +5 -34
- package/dist/chrome.d.ts +5 -34
- package/dist/chrome.js +377 -218
- package/dist/chrome.js.map +1 -1
- package/dist/commands-BmgxhJ8B.js +953 -0
- package/dist/commands-BmgxhJ8B.js.map +1 -0
- package/dist/commands-CYt4SFUX.cjs +1060 -0
- package/dist/commands-CYt4SFUX.cjs.map +1 -0
- package/dist/commands.cjs +12 -595
- package/dist/commands.d.cts +29 -4
- package/dist/commands.d.ts +29 -4
- package/dist/commands.js +2 -593
- package/dist/comments-panel-MUVgLCBI.js +514 -0
- package/dist/comments-panel-MUVgLCBI.js.map +1 -0
- package/dist/comments-panel-pEcQg4Vs.cjs +514 -0
- package/dist/comments-panel-pEcQg4Vs.cjs.map +1 -0
- package/dist/de-Bdr4aWzm.js +566 -0
- package/dist/de-Bdr4aWzm.js.map +1 -0
- package/dist/de-Dv6zvbnd.cjs +566 -0
- package/dist/de-Dv6zvbnd.cjs.map +1 -0
- package/dist/dialog-B5GBisKv.js +55 -0
- package/dist/dialog-B5GBisKv.js.map +1 -0
- package/dist/dialog-t8F13BL_.cjs +60 -0
- package/dist/dialog-t8F13BL_.cjs.map +1 -0
- package/dist/es-BP09DR9w.cjs +566 -0
- package/dist/es-BP09DR9w.cjs.map +1 -0
- package/dist/es-BSXz5tBv.js +566 -0
- package/dist/es-BSXz5tBv.js.map +1 -0
- package/dist/form-design-panel-B5MXTZ96.cjs +418 -0
- package/dist/form-design-panel-B5MXTZ96.cjs.map +1 -0
- package/dist/form-design-panel-vWWU9uB-.js +418 -0
- package/dist/form-design-panel-vWWU9uB-.js.map +1 -0
- package/dist/fr-BBQQn7tJ.cjs +566 -0
- package/dist/fr-BBQQn7tJ.cjs.map +1 -0
- package/dist/fr-Ckn3K9v1.js +566 -0
- package/dist/fr-Ckn3K9v1.js.map +1 -0
- package/dist/he-DRsG7bH7.cjs +567 -0
- package/dist/he-DRsG7bH7.cjs.map +1 -0
- package/dist/he-wdGU5PkU.js +567 -0
- package/dist/he-wdGU5PkU.js.map +1 -0
- package/dist/icons-BrK5iVL8.js +856 -0
- package/dist/icons-BrK5iVL8.js.map +1 -0
- package/dist/icons-x0Tc05bs.cjs +1010 -0
- package/dist/icons-x0Tc05bs.cjs.map +1 -0
- package/dist/index.cjs +3162 -5106
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +636 -143
- package/dist/index.d.ts +636 -143
- package/dist/index.js +3083 -4975
- package/dist/index.js.map +1 -1
- package/dist/it-BuP4o0xQ.cjs +566 -0
- package/dist/it-BuP4o0xQ.cjs.map +1 -0
- package/dist/it-Us-VmvIu.js +566 -0
- package/dist/it-Us-VmvIu.js.map +1 -0
- package/dist/ja-Cizj0-5O.js +566 -0
- package/dist/ja-Cizj0-5O.js.map +1 -0
- package/dist/ja-DovEd6ts.cjs +566 -0
- package/dist/ja-DovEd6ts.cjs.map +1 -0
- package/dist/ko-B-qJEol2.cjs +566 -0
- package/dist/ko-B-qJEol2.cjs.map +1 -0
- package/dist/ko-DlrXliE1.js +566 -0
- package/dist/ko-DlrXliE1.js.map +1 -0
- package/dist/labels-BiM9wp9K.cjs +21 -0
- package/dist/labels-BiM9wp9K.cjs.map +1 -0
- package/dist/labels-C6_i87Oj.js +16 -0
- package/dist/labels-C6_i87Oj.js.map +1 -0
- package/dist/link-editor-CSjqPnj1.cjs +125 -0
- package/dist/link-editor-CSjqPnj1.cjs.map +1 -0
- package/dist/link-editor-SxM1nnJU.js +125 -0
- package/dist/link-editor-SxM1nnJU.js.map +1 -0
- package/dist/measurement-Bs61XWbJ.js +325 -0
- package/dist/measurement-Bs61XWbJ.js.map +1 -0
- package/dist/measurement-CcCsHPOX.cjs +326 -0
- package/dist/measurement-CcCsHPOX.cjs.map +1 -0
- package/dist/nl-0aF7M_0h.js +566 -0
- package/dist/nl-0aF7M_0h.js.map +1 -0
- package/dist/nl-D3KZDDiJ.cjs +566 -0
- package/dist/nl-D3KZDDiJ.cjs.map +1 -0
- package/dist/pl-BW--AaCI.js +566 -0
- package/dist/pl-BW--AaCI.js.map +1 -0
- package/dist/pl-DSFhAUqx.cjs +566 -0
- package/dist/pl-DSFhAUqx.cjs.map +1 -0
- package/dist/pt-C5S-8MC5.cjs +566 -0
- package/dist/pt-C5S-8MC5.cjs.map +1 -0
- package/dist/pt-DIhpU5pT.js +566 -0
- package/dist/pt-DIhpU5pT.js.map +1 -0
- package/dist/redact-confirm-B6j36TPw.js +83 -0
- package/dist/redact-confirm-B6j36TPw.js.map +1 -0
- package/dist/redact-confirm-CX_SY2ZN.cjs +83 -0
- package/dist/redact-confirm-CX_SY2ZN.cjs.map +1 -0
- package/dist/redaction-panel-BmoIl-Ll.cjs +96 -0
- package/dist/redaction-panel-BmoIl-Ll.cjs.map +1 -0
- package/dist/redaction-panel-IJDshSJI.js +96 -0
- package/dist/redaction-panel-IJDshSJI.js.map +1 -0
- package/dist/search-panel-HfIhJm1M.js +249 -0
- package/dist/search-panel-HfIhJm1M.js.map +1 -0
- package/dist/search-panel-s9IoiOtv.cjs +249 -0
- package/dist/search-panel-s9IoiOtv.cjs.map +1 -0
- package/dist/sheet-BDsa_Sup.cjs +442 -0
- package/dist/sheet-BDsa_Sup.cjs.map +1 -0
- package/dist/sheet-R6XDgyEf.js +365 -0
- package/dist/sheet-R6XDgyEf.js.map +1 -0
- package/dist/sign-dialog-CgnR7akj.cjs +155 -0
- package/dist/sign-dialog-CgnR7akj.cjs.map +1 -0
- package/dist/sign-dialog-GDqCoQhA.js +155 -0
- package/dist/sign-dialog-GDqCoQhA.js.map +1 -0
- package/dist/signature-inspector-DyO313Qf.cjs +166 -0
- package/dist/signature-inspector-DyO313Qf.cjs.map +1 -0
- package/dist/signature-inspector-okFz8do6.js +166 -0
- package/dist/signature-inspector-okFz8do6.js.map +1 -0
- package/dist/signature-maker-BhCmYyHD.js +393 -0
- package/dist/signature-maker-BhCmYyHD.js.map +1 -0
- package/dist/signature-maker-BoYa8vgA.cjs +393 -0
- package/dist/signature-maker-BoYa8vgA.cjs.map +1 -0
- package/dist/signatures-panel-B56PC6d9.cjs +300 -0
- package/dist/signatures-panel-B56PC6d9.cjs.map +1 -0
- package/dist/signatures-panel-CgnFfhFm.js +300 -0
- package/dist/signatures-panel-CgnFfhFm.js.map +1 -0
- package/dist/stamp-store-BHvRs-Do.cjs +147 -0
- package/dist/stamp-store-BHvRs-Do.cjs.map +1 -0
- package/dist/stamp-store-WuF-L3Jj.js +112 -0
- package/dist/stamp-store-WuF-L3Jj.js.map +1 -0
- package/dist/stamps-panel-B9NYGayn.cjs +231 -0
- package/dist/stamps-panel-B9NYGayn.cjs.map +1 -0
- package/dist/stamps-panel-CDO0FPyK.js +231 -0
- package/dist/stamps-panel-CDO0FPyK.js.map +1 -0
- package/dist/toolbar-CJu2wKTU.cjs +1659 -0
- package/dist/toolbar-CJu2wKTU.cjs.map +1 -0
- package/dist/toolbar-z9od3tKl.js +1564 -0
- package/dist/toolbar-z9od3tKl.js.map +1 -0
- package/dist/zh-cn-3tmMeHqv.cjs +566 -0
- package/dist/zh-cn-3tmMeHqv.cjs.map +1 -0
- package/dist/zh-cn-CxkUUBct.js +566 -0
- package/dist/zh-cn-CxkUUBct.js.map +1 -0
- package/package.json +6 -4
- package/src/styles.css +153 -89
- package/dist/commands.cjs.map +0 -1
- package/dist/commands.js.map +0 -1
- package/dist/es-DYwzfxyt.cjs +0 -293
- package/dist/es-DYwzfxyt.cjs.map +0 -1
- package/dist/es-sN6uqBgD.js +0 -293
- package/dist/es-sN6uqBgD.js.map +0 -1
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { c as holdFocus, n as SCRIM_CLASS, o as POPOVER, s as attachViewerLayer } from "./sheet-R6XDgyEf.js";
|
|
2
|
+
import { useLayoutEffect, useRef } from "react";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
//#region src/ui/dialog.tsx
|
|
5
|
+
/**
|
|
6
|
+
* A dialog: centered in the viewer's box over the dimmed viewer, in the layer
|
|
7
|
+
* over it (`viewer-layer.ts`), so it covers the viewer and never the page
|
|
8
|
+
* around it, and sits above a sheet or a panel it opened from. It takes focus
|
|
9
|
+
* when it opens (its first control), keeps Tab inside it, closes on Escape
|
|
10
|
+
* and gives focus back to what opened it.
|
|
11
|
+
*/
|
|
12
|
+
function Dialog({ labelledBy, onClose, className, children }) {
|
|
13
|
+
const layer = useRef(null);
|
|
14
|
+
const panel = useRef(null);
|
|
15
|
+
const close = useRef(onClose);
|
|
16
|
+
close.current = onClose;
|
|
17
|
+
useLayoutEffect(() => {
|
|
18
|
+
const layerElement = layer.current;
|
|
19
|
+
const panelElement = panel.current;
|
|
20
|
+
if (!layerElement || !panelElement) return;
|
|
21
|
+
const stopLayer = attachViewerLayer(layerElement);
|
|
22
|
+
const held = holdFocus(panelElement, { onEscape: () => close.current() });
|
|
23
|
+
return () => {
|
|
24
|
+
held.release();
|
|
25
|
+
stopLayer();
|
|
26
|
+
};
|
|
27
|
+
}, []);
|
|
28
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
29
|
+
ref: layer,
|
|
30
|
+
...POPOVER,
|
|
31
|
+
"data-epdf-layer": "",
|
|
32
|
+
className: "text-fg m-0 place-items-center overflow-hidden border-0 bg-transparent p-4 open:grid",
|
|
33
|
+
style: {
|
|
34
|
+
position: "fixed",
|
|
35
|
+
inset: "auto",
|
|
36
|
+
maxWidth: "none",
|
|
37
|
+
maxHeight: "none"
|
|
38
|
+
},
|
|
39
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
40
|
+
"aria-hidden": "true",
|
|
41
|
+
className: `absolute inset-0 ${SCRIM_CLASS}`
|
|
42
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
43
|
+
ref: panel,
|
|
44
|
+
role: "dialog",
|
|
45
|
+
"aria-modal": "true",
|
|
46
|
+
"aria-labelledby": labelledBy,
|
|
47
|
+
className: `relative max-h-full max-w-full overflow-y-auto ${className}`,
|
|
48
|
+
children
|
|
49
|
+
})]
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
53
|
+
export { Dialog as t };
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=dialog-B5GBisKv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog-B5GBisKv.js","names":[],"sources":["../src/ui/dialog.tsx"],"sourcesContent":["/**\n * A dialog: centered in the viewer's box over the dimmed viewer, in the layer\n * over it (`viewer-layer.ts`), so it covers the viewer and never the page\n * around it, and sits above a sheet or a panel it opened from. It takes focus\n * when it opens (its first control), keeps Tab inside it, closes on Escape\n * and gives focus back to what opened it.\n */\nimport { useLayoutEffect, useRef, type ReactNode } from 'react';\n\nimport { SCRIM_CLASS } from './sheet';\nimport { POPOVER, attachViewerLayer, holdFocus } from './viewer-layer';\n\nexport interface DialogProps {\n /** The id of the dialog's title, which names it for assistive technology. */\n readonly labelledBy: string;\n /** What Escape does: close the dialog, or nothing while it's busy. */\n readonly onClose: () => void;\n /** The dialog's own box: its border, background, width and padding. */\n readonly className: string;\n readonly children: ReactNode;\n}\n\nexport function Dialog({ labelledBy, onClose, className, children }: DialogProps) {\n const layer = useRef<HTMLDivElement>(null);\n const panel = useRef<HTMLDivElement>(null);\n const close = useRef(onClose);\n close.current = onClose;\n useLayoutEffect(() => {\n const layerElement = layer.current;\n const panelElement = panel.current;\n if (!layerElement || !panelElement) return;\n const stopLayer = attachViewerLayer(layerElement);\n const held = holdFocus(panelElement, { onEscape: () => close.current() });\n return () => {\n held.release();\n stopLayer();\n };\n // The dialog opens once; it closes by unmounting.\n }, []);\n return (\n <div\n ref={layer}\n {...POPOVER}\n data-epdf-layer=\"\"\n className=\"text-fg m-0 place-items-center overflow-hidden border-0 bg-transparent p-4 open:grid\"\n style={{ position: 'fixed', inset: 'auto', maxWidth: 'none', maxHeight: 'none' }}\n >\n <div aria-hidden=\"true\" className={`absolute inset-0 ${SCRIM_CLASS}`} />\n <div\n ref={panel}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={labelledBy}\n className={`relative max-h-full max-w-full overflow-y-auto ${className}`}\n >\n {children}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;AAsBA,SAAgB,OAAO,EAAE,YAAY,SAAS,WAAW,YAAyB;CAChF,MAAM,QAAQ,OAAuB,IAAI;CACzC,MAAM,QAAQ,OAAuB,IAAI;CACzC,MAAM,QAAQ,OAAO,OAAO;CAC5B,MAAM,UAAU;CAChB,sBAAsB;EACpB,MAAM,eAAe,MAAM;EAC3B,MAAM,eAAe,MAAM;EAC3B,IAAI,CAAC,gBAAgB,CAAC,cAAc;EACpC,MAAM,YAAY,kBAAkB,YAAY;EAChD,MAAM,OAAO,UAAU,cAAc,EAAE,gBAAgB,MAAM,QAAQ,EAAE,CAAC;EACxE,aAAa;GACX,KAAK,QAAQ;GACb,UAAU;EACZ;CAEF,GAAG,CAAC,CAAC;CACL,OACE,qBAAC,OAAD;EACE,KAAK;EACL,GAAI;EACJ,mBAAgB;EAChB,WAAU;EACV,OAAO;GAAE,UAAU;GAAS,OAAO;GAAQ,UAAU;GAAQ,WAAW;EAAO;EALjF,UAAA,CAOE,oBAAC,OAAD;GAAK,eAAY;GAAO,WAAW,oBAAoB;EAAgB,CAAA,GACvE,oBAAC,OAAD;GACE,KAAK;GACL,MAAK;GACL,cAAW;GACX,mBAAiB;GACjB,WAAW,kDAAkD;GAE5D;EACE,CAAA,CACF;;AAET"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
const require_sheet = require("./sheet-BDsa_Sup.cjs");
|
|
2
|
+
let react = require("react");
|
|
3
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
4
|
+
//#region src/ui/dialog.tsx
|
|
5
|
+
/**
|
|
6
|
+
* A dialog: centered in the viewer's box over the dimmed viewer, in the layer
|
|
7
|
+
* over it (`viewer-layer.ts`), so it covers the viewer and never the page
|
|
8
|
+
* around it, and sits above a sheet or a panel it opened from. It takes focus
|
|
9
|
+
* when it opens (its first control), keeps Tab inside it, closes on Escape
|
|
10
|
+
* and gives focus back to what opened it.
|
|
11
|
+
*/
|
|
12
|
+
function Dialog({ labelledBy, onClose, className, children }) {
|
|
13
|
+
const layer = (0, react.useRef)(null);
|
|
14
|
+
const panel = (0, react.useRef)(null);
|
|
15
|
+
const close = (0, react.useRef)(onClose);
|
|
16
|
+
close.current = onClose;
|
|
17
|
+
(0, react.useLayoutEffect)(() => {
|
|
18
|
+
const layerElement = layer.current;
|
|
19
|
+
const panelElement = panel.current;
|
|
20
|
+
if (!layerElement || !panelElement) return;
|
|
21
|
+
const stopLayer = require_sheet.attachViewerLayer(layerElement);
|
|
22
|
+
const held = require_sheet.holdFocus(panelElement, { onEscape: () => close.current() });
|
|
23
|
+
return () => {
|
|
24
|
+
held.release();
|
|
25
|
+
stopLayer();
|
|
26
|
+
};
|
|
27
|
+
}, []);
|
|
28
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
29
|
+
ref: layer,
|
|
30
|
+
...require_sheet.POPOVER,
|
|
31
|
+
"data-epdf-layer": "",
|
|
32
|
+
className: "text-fg m-0 place-items-center overflow-hidden border-0 bg-transparent p-4 open:grid",
|
|
33
|
+
style: {
|
|
34
|
+
position: "fixed",
|
|
35
|
+
inset: "auto",
|
|
36
|
+
maxWidth: "none",
|
|
37
|
+
maxHeight: "none"
|
|
38
|
+
},
|
|
39
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
40
|
+
"aria-hidden": "true",
|
|
41
|
+
className: `absolute inset-0 ${require_sheet.SCRIM_CLASS}`
|
|
42
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
43
|
+
ref: panel,
|
|
44
|
+
role: "dialog",
|
|
45
|
+
"aria-modal": "true",
|
|
46
|
+
"aria-labelledby": labelledBy,
|
|
47
|
+
className: `relative max-h-full max-w-full overflow-y-auto ${className}`,
|
|
48
|
+
children
|
|
49
|
+
})]
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
53
|
+
Object.defineProperty(exports, "Dialog", {
|
|
54
|
+
enumerable: true,
|
|
55
|
+
get: function() {
|
|
56
|
+
return Dialog;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
//# sourceMappingURL=dialog-t8F13BL_.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog-t8F13BL_.cjs","names":["attachViewerLayer","holdFocus","POPOVER","SCRIM_CLASS"],"sources":["../src/ui/dialog.tsx"],"sourcesContent":["/**\n * A dialog: centered in the viewer's box over the dimmed viewer, in the layer\n * over it (`viewer-layer.ts`), so it covers the viewer and never the page\n * around it, and sits above a sheet or a panel it opened from. It takes focus\n * when it opens (its first control), keeps Tab inside it, closes on Escape\n * and gives focus back to what opened it.\n */\nimport { useLayoutEffect, useRef, type ReactNode } from 'react';\n\nimport { SCRIM_CLASS } from './sheet';\nimport { POPOVER, attachViewerLayer, holdFocus } from './viewer-layer';\n\nexport interface DialogProps {\n /** The id of the dialog's title, which names it for assistive technology. */\n readonly labelledBy: string;\n /** What Escape does: close the dialog, or nothing while it's busy. */\n readonly onClose: () => void;\n /** The dialog's own box: its border, background, width and padding. */\n readonly className: string;\n readonly children: ReactNode;\n}\n\nexport function Dialog({ labelledBy, onClose, className, children }: DialogProps) {\n const layer = useRef<HTMLDivElement>(null);\n const panel = useRef<HTMLDivElement>(null);\n const close = useRef(onClose);\n close.current = onClose;\n useLayoutEffect(() => {\n const layerElement = layer.current;\n const panelElement = panel.current;\n if (!layerElement || !panelElement) return;\n const stopLayer = attachViewerLayer(layerElement);\n const held = holdFocus(panelElement, { onEscape: () => close.current() });\n return () => {\n held.release();\n stopLayer();\n };\n // The dialog opens once; it closes by unmounting.\n }, []);\n return (\n <div\n ref={layer}\n {...POPOVER}\n data-epdf-layer=\"\"\n className=\"text-fg m-0 place-items-center overflow-hidden border-0 bg-transparent p-4 open:grid\"\n style={{ position: 'fixed', inset: 'auto', maxWidth: 'none', maxHeight: 'none' }}\n >\n <div aria-hidden=\"true\" className={`absolute inset-0 ${SCRIM_CLASS}`} />\n <div\n ref={panel}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={labelledBy}\n className={`relative max-h-full max-w-full overflow-y-auto ${className}`}\n >\n {children}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;AAsBA,SAAgB,OAAO,EAAE,YAAY,SAAS,WAAW,YAAyB;CAChF,MAAM,SAAA,GAAA,MAAA,OAAA,CAA+B,IAAI;CACzC,MAAM,SAAA,GAAA,MAAA,OAAA,CAA+B,IAAI;CACzC,MAAM,SAAA,GAAA,MAAA,OAAA,CAAe,OAAO;CAC5B,MAAM,UAAU;CAChB,CAAA,GAAA,MAAA,gBAAA,OAAsB;EACpB,MAAM,eAAe,MAAM;EAC3B,MAAM,eAAe,MAAM;EAC3B,IAAI,CAAC,gBAAgB,CAAC,cAAc;EACpC,MAAM,YAAYA,cAAAA,kBAAkB,YAAY;EAChD,MAAM,OAAOC,cAAAA,UAAU,cAAc,EAAE,gBAAgB,MAAM,QAAQ,EAAE,CAAC;EACxE,aAAa;GACX,KAAK,QAAQ;GACb,UAAU;EACZ;CAEF,GAAG,CAAC,CAAC;CACL,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EACE,KAAK;EACL,GAAIC,cAAAA;EACJ,mBAAgB;EAChB,WAAU;EACV,OAAO;GAAE,UAAU;GAAS,OAAO;GAAQ,UAAU;GAAQ,WAAW;EAAO;EALjF,UAAA,CAOE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;GAAK,eAAY;GAAO,WAAW,oBAAoBC,cAAAA;EAAgB,CAAA,GACvE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;GACE,KAAK;GACL,MAAK;GACL,cAAW;GACX,mBAAiB;GACjB,WAAW,kDAAkD;GAE5D;EACE,CAAA,CACF;;AAET"}
|