@embedpdf/plugin-attachment 2.15.1 → 3.0.0-next.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/LICENSE +192 -21
  2. package/dist/contract-C__XpO5g.cjs +42 -0
  3. package/dist/contract-C__XpO5g.cjs.map +1 -0
  4. package/dist/contract-CqFkPaxs.js +32 -0
  5. package/dist/contract-CqFkPaxs.js.map +1 -0
  6. package/dist/contract-D2t_jdnb.d.cts +123 -0
  7. package/dist/contract-D2t_jdnb.d.ts +123 -0
  8. package/dist/contract.cjs +4 -0
  9. package/dist/contract.d.cts +2 -0
  10. package/dist/contract.d.ts +2 -0
  11. package/dist/contract.js +2 -0
  12. package/dist/index.cjs +424 -2
  13. package/dist/index.cjs.map +1 -1
  14. package/dist/index.d.cts +27 -0
  15. package/dist/index.d.ts +27 -1
  16. package/dist/index.js +420 -81
  17. package/dist/index.js.map +1 -1
  18. package/package.json +27 -56
  19. package/dist/lib/attachment-plugin.d.ts +0 -11
  20. package/dist/lib/index.d.ts +0 -7
  21. package/dist/lib/manifest.d.ts +0 -4
  22. package/dist/lib/types.d.ts +0 -13
  23. package/dist/preact/core.d.ts +0 -1
  24. package/dist/preact/index.cjs +0 -2
  25. package/dist/preact/index.cjs.map +0 -1
  26. package/dist/preact/index.d.ts +0 -1
  27. package/dist/preact/index.js +0 -10
  28. package/dist/preact/index.js.map +0 -1
  29. package/dist/react/core.d.ts +0 -1
  30. package/dist/react/index.cjs +0 -2
  31. package/dist/react/index.cjs.map +0 -1
  32. package/dist/react/index.d.ts +0 -1
  33. package/dist/react/index.js +0 -10
  34. package/dist/react/index.js.map +0 -1
  35. package/dist/shared/hooks/index.d.ts +0 -1
  36. package/dist/shared/hooks/use-attachment.d.ts +0 -11
  37. package/dist/shared/index.d.ts +0 -2
  38. package/dist/shared-preact/hooks/index.d.ts +0 -1
  39. package/dist/shared-preact/hooks/use-attachment.d.ts +0 -11
  40. package/dist/shared-preact/index.d.ts +0 -2
  41. package/dist/shared-react/hooks/index.d.ts +0 -1
  42. package/dist/shared-react/hooks/use-attachment.d.ts +0 -11
  43. package/dist/shared-react/index.d.ts +0 -2
  44. package/dist/svelte/hooks/index.d.ts +0 -1
  45. package/dist/svelte/hooks/use-attachment.d.ts +0 -11
  46. package/dist/svelte/index.cjs +0 -2
  47. package/dist/svelte/index.cjs.map +0 -1
  48. package/dist/svelte/index.d.ts +0 -1
  49. package/dist/svelte/index.js +0 -9
  50. package/dist/svelte/index.js.map +0 -1
  51. package/dist/vue/hooks/index.d.ts +0 -1
  52. package/dist/vue/hooks/use-attachment.d.ts +0 -3
  53. package/dist/vue/index.cjs +0 -2
  54. package/dist/vue/index.cjs.map +0 -1
  55. package/dist/vue/index.d.ts +0 -2
  56. package/dist/vue/index.js +0 -10
  57. package/dist/vue/index.js.map +0 -1
package/package.json CHANGED
@@ -1,80 +1,51 @@
1
1
  {
2
2
  "name": "@embedpdf/plugin-attachment",
3
- "version": "2.15.1",
3
+ "version": "3.0.0-next.16",
4
+ "private": false,
5
+ "description": "Document-scoped attachments: the files a document carries, in its attachments and in file attachment annotations, as one list with this session's pending adds and removes shown; adding and removing them as undoable changes, downloading them, and going to a page's file.",
4
6
  "type": "module",
5
- "license": "MIT",
6
- "main": "./dist/index.cjs",
7
+ "main": "./dist/index.js",
7
8
  "module": "./dist/index.js",
8
9
  "types": "./dist/index.d.ts",
9
10
  "exports": {
10
11
  ".": {
11
- "types": "./dist/index.d.ts",
12
12
  "import": "./dist/index.js",
13
13
  "require": "./dist/index.cjs"
14
14
  },
15
- "./preact": {
16
- "types": "./dist/preact/index.d.ts",
17
- "import": "./dist/preact/index.js",
18
- "require": "./dist/preact/index.cjs"
15
+ "./contract": {
16
+ "import": "./dist/contract.js",
17
+ "require": "./dist/contract.cjs"
19
18
  },
20
- "./react": {
21
- "types": "./dist/react/index.d.ts",
22
- "import": "./dist/react/index.js",
23
- "require": "./dist/react/index.cjs"
24
- },
25
- "./vue": {
26
- "types": "./dist/vue/index.d.ts",
27
- "import": "./dist/vue/index.js",
28
- "require": "./dist/vue/index.cjs"
29
- },
30
- "./svelte": {
31
- "types": "./dist/svelte/index.d.ts",
32
- "import": "./dist/svelte/index.js",
33
- "require": "./dist/svelte/index.cjs"
34
- }
19
+ "./package.json": "./package.json"
35
20
  },
21
+ "files": [
22
+ "dist"
23
+ ],
36
24
  "dependencies": {
37
- "@embedpdf/models": "2.15.1"
25
+ "@embedpdf/core": "3.0.0-next.16",
26
+ "@embedpdf/plugin-annotation": "3.0.0-next.16",
27
+ "@embedpdf/plugin-stage": "3.0.0-next.16",
28
+ "@embedpdf/engine-core": "3.0.0-next.16"
38
29
  },
39
30
  "devDependencies": {
40
- "@types/react": "^18.2.0",
41
31
  "typescript": "^5.0.0",
42
- "@embedpdf/core": "2.15.1",
43
- "@embedpdf/build": "1.1.0"
44
- },
45
- "peerDependencies": {
46
- "react": ">=16.8.0",
47
- "react-dom": ">=16.8.0",
48
- "preact": "^10.26.4",
49
- "vue": ">=3.2.0",
50
- "svelte": ">=5 <6",
51
- "@embedpdf/core": "2.15.1"
32
+ "vitest": "^2.1.9",
33
+ "@embedpdf/tooling-build": "0.0.0",
34
+ "@embedpdf/engine": "3.0.0-next.16",
35
+ "@embedpdf/plugin-history": "3.0.0-next.16",
36
+ "@embedpdf/plugin-interaction": "3.0.0-next.16"
52
37
  },
53
- "files": [
54
- "dist",
55
- "README.md"
56
- ],
38
+ "license": "Apache-2.0",
39
+ "sideEffects": false,
57
40
  "repository": {
58
41
  "type": "git",
59
- "url": "https://github.com/embedpdf/embed-pdf-viewer",
60
- "directory": "packages/plugin-attachment"
61
- },
62
- "homepage": "https://www.embedpdf.com/docs",
63
- "bugs": {
64
- "url": "https://github.com/embedpdf/embed-pdf-viewer/issues"
65
- },
66
- "publishConfig": {
67
- "access": "public"
42
+ "url": "git+https://github.com/embedpdf/embed-pdf-viewer.git",
43
+ "directory": "packages/plugin/attachment"
68
44
  },
69
45
  "scripts": {
70
- "build:base": "vite build --mode base",
71
- "build:react": "vite build --mode react",
72
- "build:preact": "vite build --mode preact",
73
- "build:vue": "vite build --mode vue",
74
- "build:svelte": "vite build --mode svelte",
75
- "build": "pnpm run clean && concurrently -c auto -n base,react,preact,vue,svelte \"vite build --mode base\" \"vite build --mode react\" \"vite build --mode preact\" \"vite build --mode vue\" \"vite build --mode svelte\"",
46
+ "build": "epdf-build",
76
47
  "clean": "rimraf dist",
77
- "lint": "eslint src --color",
78
- "lint:fix": "eslint src --color --fix"
48
+ "typecheck": "tsc -p tsconfig.json --noEmit",
49
+ "test": "vitest run"
79
50
  }
80
51
  }
@@ -1,11 +0,0 @@
1
- import { BasePlugin, PluginRegistry } from '@embedpdf/core';
2
- import { AttachmentCapability, AttachmentPluginConfig } from './types';
3
- export declare class AttachmentPlugin extends BasePlugin<AttachmentPluginConfig, AttachmentCapability> {
4
- static readonly id: "attachment";
5
- constructor(id: string, registry: PluginRegistry);
6
- initialize(_: AttachmentPluginConfig): Promise<void>;
7
- protected buildCapability(): AttachmentCapability;
8
- private createAttachmentScope;
9
- private downloadAttachment;
10
- private getAttachments;
11
- }
@@ -1,7 +0,0 @@
1
- import { PluginPackage } from '@embedpdf/core';
2
- import { AttachmentPlugin } from './attachment-plugin';
3
- import { AttachmentPluginConfig } from './types';
4
- export declare const AttachmentPluginPackage: PluginPackage<AttachmentPlugin, AttachmentPluginConfig>;
5
- export * from './attachment-plugin';
6
- export * from './types';
7
- export * from './manifest';
@@ -1,4 +0,0 @@
1
- import { PluginManifest } from '@embedpdf/core';
2
- import { AttachmentPluginConfig } from './types';
3
- export declare const ATTACHMENT_PLUGIN_ID = "attachment";
4
- export declare const manifest: PluginManifest<AttachmentPluginConfig>;
@@ -1,13 +0,0 @@
1
- import { BasePluginConfig } from '@embedpdf/core';
2
- import { PdfAttachmentObject, PdfErrorReason, Task } from '@embedpdf/models';
3
- export interface AttachmentPluginConfig extends BasePluginConfig {
4
- }
5
- export interface AttachmentScope {
6
- getAttachments(): Task<PdfAttachmentObject[], PdfErrorReason>;
7
- downloadAttachment(attachment: PdfAttachmentObject): Task<ArrayBuffer, PdfErrorReason>;
8
- }
9
- export interface AttachmentCapability {
10
- getAttachments: () => Task<PdfAttachmentObject[], PdfErrorReason>;
11
- downloadAttachment: (attachment: PdfAttachmentObject) => Task<ArrayBuffer, PdfErrorReason>;
12
- forDocument(documentId: string): AttachmentScope;
13
- }
@@ -1 +0,0 @@
1
- export * from '@embedpdf/core/preact';
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@embedpdf/core/preact"),t=require("@embedpdf/plugin-attachment");exports.useAttachmentCapability=()=>e.useCapability(t.AttachmentPlugin.id),exports.useAttachmentPlugin=()=>e.usePlugin(t.AttachmentPlugin.id),Object.keys(t).forEach(e=>{"default"===e||Object.prototype.hasOwnProperty.call(exports,e)||Object.defineProperty(exports,e,{enumerable:!0,get:()=>t[e]})});
2
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/shared/hooks/use-attachment.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/@framework';\nimport { AttachmentPlugin } from '@embedpdf/plugin-attachment';\n\nexport const useAttachmentPlugin = () => usePlugin<AttachmentPlugin>(AttachmentPlugin.id);\nexport const useAttachmentCapability = () => useCapability<AttachmentPlugin>(AttachmentPlugin.id);\n"],"names":["useCapability","AttachmentPlugin","id","usePlugin"],"mappings":"kMAIuC,IAAMA,gBAAgCC,EAAAA,iBAAiBC,gCAD3D,IAAMC,YAA4BF,EAAAA,iBAAiBC"}
@@ -1 +0,0 @@
1
- export * from '../shared-preact';
@@ -1,10 +0,0 @@
1
- import { useCapability, usePlugin } from "@embedpdf/core/preact";
2
- import { AttachmentPlugin } from "@embedpdf/plugin-attachment";
3
- export * from "@embedpdf/plugin-attachment";
4
- const useAttachmentPlugin = () => usePlugin(AttachmentPlugin.id);
5
- const useAttachmentCapability = () => useCapability(AttachmentPlugin.id);
6
- export {
7
- useAttachmentCapability,
8
- useAttachmentPlugin
9
- };
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../src/shared/hooks/use-attachment.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/@framework';\nimport { AttachmentPlugin } from '@embedpdf/plugin-attachment';\n\nexport const useAttachmentPlugin = () => usePlugin<AttachmentPlugin>(AttachmentPlugin.id);\nexport const useAttachmentCapability = () => useCapability<AttachmentPlugin>(AttachmentPlugin.id);\n"],"names":[],"mappings":";;;AAGO,MAAM,sBAAsB,MAAM,UAA4B,iBAAiB,EAAE;AACjF,MAAM,0BAA0B,MAAM,cAAgC,iBAAiB,EAAE;"}
@@ -1 +0,0 @@
1
- export * from '@embedpdf/core/react';
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@embedpdf/core/react"),t=require("@embedpdf/plugin-attachment");exports.useAttachmentCapability=()=>e.useCapability(t.AttachmentPlugin.id),exports.useAttachmentPlugin=()=>e.usePlugin(t.AttachmentPlugin.id),Object.keys(t).forEach(e=>{"default"===e||Object.prototype.hasOwnProperty.call(exports,e)||Object.defineProperty(exports,e,{enumerable:!0,get:()=>t[e]})});
2
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/shared/hooks/use-attachment.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/@framework';\nimport { AttachmentPlugin } from '@embedpdf/plugin-attachment';\n\nexport const useAttachmentPlugin = () => usePlugin<AttachmentPlugin>(AttachmentPlugin.id);\nexport const useAttachmentCapability = () => useCapability<AttachmentPlugin>(AttachmentPlugin.id);\n"],"names":["useCapability","AttachmentPlugin","id","usePlugin"],"mappings":"iMAIuC,IAAMA,gBAAgCC,EAAAA,iBAAiBC,gCAD3D,IAAMC,YAA4BF,EAAAA,iBAAiBC"}
@@ -1 +0,0 @@
1
- export * from '../shared-react';
@@ -1,10 +0,0 @@
1
- import { useCapability, usePlugin } from "@embedpdf/core/react";
2
- import { AttachmentPlugin } from "@embedpdf/plugin-attachment";
3
- export * from "@embedpdf/plugin-attachment";
4
- const useAttachmentPlugin = () => usePlugin(AttachmentPlugin.id);
5
- const useAttachmentCapability = () => useCapability(AttachmentPlugin.id);
6
- export {
7
- useAttachmentCapability,
8
- useAttachmentPlugin
9
- };
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../src/shared/hooks/use-attachment.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/@framework';\nimport { AttachmentPlugin } from '@embedpdf/plugin-attachment';\n\nexport const useAttachmentPlugin = () => usePlugin<AttachmentPlugin>(AttachmentPlugin.id);\nexport const useAttachmentCapability = () => useCapability<AttachmentPlugin>(AttachmentPlugin.id);\n"],"names":[],"mappings":";;;AAGO,MAAM,sBAAsB,MAAM,UAA4B,iBAAiB,EAAE;AACjF,MAAM,0BAA0B,MAAM,cAAgC,iBAAiB,EAAE;"}
@@ -1 +0,0 @@
1
- export * from './use-attachment';
@@ -1,11 +0,0 @@
1
- import { AttachmentPlugin } from '../../index.ts';
2
- export declare const useAttachmentPlugin: () => {
3
- plugin: AttachmentPlugin | null;
4
- isLoading: boolean;
5
- ready: Promise<void>;
6
- };
7
- export declare const useAttachmentCapability: () => {
8
- provides: Readonly<import('../../index.ts').AttachmentCapability> | null;
9
- isLoading: boolean;
10
- ready: Promise<void>;
11
- };
@@ -1,2 +0,0 @@
1
- export * from './hooks';
2
- export * from '../index.ts';
@@ -1 +0,0 @@
1
- export * from './use-attachment';
@@ -1,11 +0,0 @@
1
- import { AttachmentPlugin } from '../../lib/index.ts';
2
- export declare const useAttachmentPlugin: () => {
3
- plugin: AttachmentPlugin | null;
4
- isLoading: boolean;
5
- ready: Promise<void>;
6
- };
7
- export declare const useAttachmentCapability: () => {
8
- provides: Readonly<import('../../lib/index.ts').AttachmentCapability> | null;
9
- isLoading: boolean;
10
- ready: Promise<void>;
11
- };
@@ -1,2 +0,0 @@
1
- export * from './hooks';
2
- export * from '../lib/index.ts';
@@ -1 +0,0 @@
1
- export * from './use-attachment';
@@ -1,11 +0,0 @@
1
- import { AttachmentPlugin } from '../../lib/index.ts';
2
- export declare const useAttachmentPlugin: () => {
3
- plugin: AttachmentPlugin | null;
4
- isLoading: boolean;
5
- ready: Promise<void>;
6
- };
7
- export declare const useAttachmentCapability: () => {
8
- provides: Readonly<import('../../lib/index.ts').AttachmentCapability> | null;
9
- isLoading: boolean;
10
- ready: Promise<void>;
11
- };
@@ -1,2 +0,0 @@
1
- export * from './hooks';
2
- export * from '../lib/index.ts';
@@ -1 +0,0 @@
1
- export * from './use-attachment';
@@ -1,11 +0,0 @@
1
- import { AttachmentPlugin } from '../../lib/index.ts';
2
- export declare const useAttachmentPlugin: () => {
3
- plugin: AttachmentPlugin | null;
4
- isLoading: boolean;
5
- ready: Promise<void>;
6
- };
7
- export declare const useAttachmentCapability: () => {
8
- provides: Readonly<import('../../lib/index.ts').AttachmentCapability> | null;
9
- isLoading: boolean;
10
- ready: Promise<void>;
11
- };
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@embedpdf/core/svelte"),t=require("@embedpdf/plugin-attachment");exports.useAttachmentCapability=()=>e.useCapability(t.AttachmentPlugin.id),exports.useAttachmentPlugin=()=>e.usePlugin(t.AttachmentPlugin.id);
2
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/svelte/hooks/use-attachment.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/svelte';\nimport { AttachmentPlugin } from '@embedpdf/plugin-attachment';\n\nexport const useAttachmentPlugin = () => usePlugin<AttachmentPlugin>(AttachmentPlugin.id);\nexport const useAttachmentCapability = () => useCapability<AttachmentPlugin>(AttachmentPlugin.id);\n"],"names":["useCapability","AttachmentPlugin","id","usePlugin"],"mappings":"kMAIuC,IAAMA,gBAAgCC,EAAAA,iBAAiBC,gCAD3D,IAAMC,YAA4BF,EAAAA,iBAAiBC"}
@@ -1 +0,0 @@
1
- export * from './hooks';
@@ -1,9 +0,0 @@
1
- import { usePlugin, useCapability } from "@embedpdf/core/svelte";
2
- import { AttachmentPlugin } from "@embedpdf/plugin-attachment";
3
- const useAttachmentPlugin = () => usePlugin(AttachmentPlugin.id);
4
- const useAttachmentCapability = () => useCapability(AttachmentPlugin.id);
5
- export {
6
- useAttachmentCapability,
7
- useAttachmentPlugin
8
- };
9
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../src/svelte/hooks/use-attachment.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/svelte';\nimport { AttachmentPlugin } from '@embedpdf/plugin-attachment';\n\nexport const useAttachmentPlugin = () => usePlugin<AttachmentPlugin>(AttachmentPlugin.id);\nexport const useAttachmentCapability = () => useCapability<AttachmentPlugin>(AttachmentPlugin.id);\n"],"names":[],"mappings":";;AAGO,MAAM,sBAAsB,MAAM,UAA4B,iBAAiB,EAAE;AACjF,MAAM,0BAA0B,MAAM,cAAgC,iBAAiB,EAAE;"}
@@ -1 +0,0 @@
1
- export * from './use-attachment';
@@ -1,3 +0,0 @@
1
- import { AttachmentPlugin } from '../../lib/index.ts';
2
- export declare const useAttachmentPlugin: () => import('@embedpdf/core/vue').PluginState<AttachmentPlugin>;
3
- export declare const useAttachmentCapability: () => import('@embedpdf/core/vue').CapabilityState<Readonly<import('../../lib/index.ts').AttachmentCapability>>;
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@embedpdf/core/vue"),t=require("@embedpdf/plugin-attachment");exports.useAttachmentCapability=()=>e.useCapability(t.AttachmentPlugin.id),exports.useAttachmentPlugin=()=>e.usePlugin(t.AttachmentPlugin.id),Object.keys(t).forEach(e=>{"default"===e||Object.prototype.hasOwnProperty.call(exports,e)||Object.defineProperty(exports,e,{enumerable:!0,get:()=>t[e]})});
2
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/vue/hooks/use-attachment.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/vue';\nimport { AttachmentPlugin } from '@embedpdf/plugin-attachment';\n\nexport const useAttachmentPlugin = () => usePlugin<AttachmentPlugin>(AttachmentPlugin.id);\nexport const useAttachmentCapability = () => useCapability<AttachmentPlugin>(AttachmentPlugin.id);\n"],"names":["useCapability","AttachmentPlugin","id","usePlugin"],"mappings":"+LAIuC,IAAMA,gBAAgCC,EAAAA,iBAAiBC,gCAD3D,IAAMC,YAA4BF,EAAAA,iBAAiBC"}
@@ -1,2 +0,0 @@
1
- export * from './hooks';
2
- export * from '../lib/index.ts';
package/dist/vue/index.js DELETED
@@ -1,10 +0,0 @@
1
- import { usePlugin, useCapability } from "@embedpdf/core/vue";
2
- import { AttachmentPlugin } from "@embedpdf/plugin-attachment";
3
- export * from "@embedpdf/plugin-attachment";
4
- const useAttachmentPlugin = () => usePlugin(AttachmentPlugin.id);
5
- const useAttachmentCapability = () => useCapability(AttachmentPlugin.id);
6
- export {
7
- useAttachmentCapability,
8
- useAttachmentPlugin
9
- };
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../src/vue/hooks/use-attachment.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/vue';\nimport { AttachmentPlugin } from '@embedpdf/plugin-attachment';\n\nexport const useAttachmentPlugin = () => usePlugin<AttachmentPlugin>(AttachmentPlugin.id);\nexport const useAttachmentCapability = () => useCapability<AttachmentPlugin>(AttachmentPlugin.id);\n"],"names":[],"mappings":";;;AAGO,MAAM,sBAAsB,MAAM,UAA4B,iBAAiB,EAAE;AACjF,MAAM,0BAA0B,MAAM,cAAgC,iBAAiB,EAAE;"}