pptx-vue-viewer 2.0.0 → 2.0.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.
- package/CHANGELOG.md +28 -0
- package/dist/{AiChatPanel-DkpImFIU.cjs → AiChatPanel-CGUiGQHq.cjs} +1 -1
- package/dist/AiChatPanel-CGUiGQHq.cjs.br +0 -0
- package/dist/AiChatPanel-CGUiGQHq.cjs.gz +0 -0
- package/dist/{AiChatPanel-DGB_Bw7d.js → AiChatPanel-CiKUwNa7.js} +2 -2
- package/dist/AiChatPanel-CiKUwNa7.js.br +0 -0
- package/dist/AiChatPanel-CiKUwNa7.js.gz +0 -0
- package/dist/{dist-O5B4b6cK.js → dist-BrPQWoqf.js} +1 -1
- package/dist/dist-BrPQWoqf.js.br +0 -0
- package/dist/{dist-O5B4b6cK.js.gz → dist-BrPQWoqf.js.gz} +0 -0
- package/dist/{dist-DVTKkNd_.cjs → dist-CdhFHzWb.cjs} +2 -142
- package/dist/dist-CdhFHzWb.cjs.br +0 -0
- package/dist/{dist-DVTKkNd_.cjs.gz → dist-CdhFHzWb.cjs.gz} +0 -0
- package/dist/gif-encoder-5E-yGZpc.cjs +2 -0
- package/dist/gif-encoder-5E-yGZpc.cjs.br +0 -0
- package/dist/gif-encoder-5E-yGZpc.cjs.gz +0 -0
- package/dist/gif-encoder-6ImIq6nV.js +2 -0
- package/dist/gif-encoder-6ImIq6nV.js.br +0 -0
- package/dist/gif-encoder-6ImIq6nV.js.gz +0 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.br +0 -0
- package/dist/index.cjs.gz +0 -0
- package/dist/index.js +2 -2
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/internals.cjs +1 -1
- package/dist/internals.cjs.br +0 -0
- package/dist/internals.cjs.gz +0 -0
- package/dist/internals.js +1 -1
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/{useViewerSettingsDialog-BkxUrwyk.js → useViewerSettingsDialog-BO_xKhyt.js} +346 -346
- package/dist/useViewerSettingsDialog-BO_xKhyt.js.br +0 -0
- package/dist/useViewerSettingsDialog-BO_xKhyt.js.gz +0 -0
- package/dist/{useViewerSettingsDialog-D9H1CVYx.cjs → useViewerSettingsDialog-DBsbzYgS.cjs} +3 -3
- package/dist/useViewerSettingsDialog-DBsbzYgS.cjs.br +0 -0
- package/dist/useViewerSettingsDialog-DBsbzYgS.cjs.gz +0 -0
- package/dist/viewer/PowerPointViewer.vue.d.ts.map +1 -1
- package/dist/viewer/components/CollaborationCursors.vue.d.ts +17 -10
- package/dist/viewer/components/CollaborationCursors.vue.d.ts.map +1 -1
- package/dist/viewer/components/RemoteSelectionOverlay.vue.d.ts +10 -4
- package/dist/viewer/components/RemoteSelectionOverlay.vue.d.ts.map +1 -1
- package/dist/viewer/index.cjs +1 -1
- package/dist/viewer/index.cjs.br +0 -0
- package/dist/viewer/index.cjs.gz +0 -0
- package/dist/viewer/index.js +2 -2
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer-Cz4EufQD.cjs +60686 -0
- package/dist/viewer-Cz4EufQD.cjs.br +0 -0
- package/dist/viewer-Cz4EufQD.cjs.gz +0 -0
- package/dist/viewer-zKqroO4K.js +60470 -0
- package/dist/viewer-zKqroO4K.js.br +0 -0
- package/dist/viewer-zKqroO4K.js.gz +0 -0
- package/package.json +1 -1
- package/dist/AiChatPanel-DGB_Bw7d.js.br +0 -0
- package/dist/AiChatPanel-DGB_Bw7d.js.gz +0 -0
- package/dist/AiChatPanel-DkpImFIU.cjs.br +0 -0
- package/dist/AiChatPanel-DkpImFIU.cjs.gz +0 -0
- package/dist/dist-DVTKkNd_.cjs.br +0 -0
- package/dist/dist-O5B4b6cK.js.br +0 -0
- package/dist/gif-encoder-Cdh-ia4-.cjs +0 -2
- package/dist/gif-encoder-Cdh-ia4-.cjs.br +0 -0
- package/dist/gif-encoder-Cdh-ia4-.cjs.gz +0 -0
- package/dist/gif-encoder-N6lgh64R.js +0 -2
- package/dist/gif-encoder-N6lgh64R.js.br +0 -0
- package/dist/gif-encoder-N6lgh64R.js.gz +0 -0
- package/dist/useViewerSettingsDialog-BkxUrwyk.js.br +0 -0
- package/dist/useViewerSettingsDialog-BkxUrwyk.js.gz +0 -0
- package/dist/useViewerSettingsDialog-D9H1CVYx.cjs.br +0 -0
- package/dist/useViewerSettingsDialog-D9H1CVYx.cjs.gz +0 -0
- package/dist/viewer-D2Aqi7Ed.js +0 -33161
- package/dist/viewer-D2Aqi7Ed.js.br +0 -0
- package/dist/viewer-D2Aqi7Ed.js.gz +0 -0
- package/dist/viewer-DLN4eMIi.cjs +0 -33378
- package/dist/viewer-DLN4eMIi.cjs.br +0 -0
- package/dist/viewer-DLN4eMIi.cjs.gz +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e = require("./rolldown-runtime-DoYlGkYw.cjs"), t = require("./dist-
|
|
1
|
+
const e = require("./rolldown-runtime-DoYlGkYw.cjs"), t = require("./dist-CdhFHzWb.cjs"), n = require("./i18n-CiJ98jSy.cjs");
|
|
2
2
|
let r = require("vue");
|
|
3
3
|
r = e.__toESM(r, 1);
|
|
4
4
|
let o = require("jszip");
|
|
@@ -21694,7 +21694,7 @@ function bk(e) {
|
|
|
21694
21694
|
if (!n || !r.onWriteBack) return;
|
|
21695
21695
|
const o = e.getSourceBytes?.();
|
|
21696
21696
|
if (o) try {
|
|
21697
|
-
const { PptxHandler: t } = await Promise.resolve().then(() => require("./dist-
|
|
21697
|
+
const { PptxHandler: t } = await Promise.resolve().then(() => require("./dist-CdhFHzWb.cjs")).then((e) => e.dist_exports), a = new t();
|
|
21698
21698
|
await a.load(o.buffer);
|
|
21699
21699
|
const i = $u(n), s = e.mergeTemplateElements ? e.mergeTemplateElements(i, e.getTemplateElements?.() ?? {}) : i, l = await a.save(s);
|
|
21700
21700
|
r.onWriteBack(l);
|
|
@@ -23285,7 +23285,7 @@ function Zk(e) {
|
|
|
23285
23285
|
if (e?.aborted) throw new DOMException("Export cancelled", "AbortError");
|
|
23286
23286
|
}
|
|
23287
23287
|
function Qk(e) {
|
|
23288
|
-
const { slideCount: t, rasterizeSlide: n } = e, o = e.loadGifEncoder ?? (async () => (await Promise.resolve().then(() => require("./gif-encoder-
|
|
23288
|
+
const { slideCount: t, rasterizeSlide: n } = e, o = e.loadGifEncoder ?? (async () => (await Promise.resolve().then(() => require("./gif-encoder-5E-yGZpc.cjs"))).encodeGif), a = e.createRecorder ?? qk, i = e.createCanvas ?? (() => document.createElement("canvas")), s = e.downloadBlob ?? ag, l = (0, r.ref)(!1), c = (0, r.ref)(0);
|
|
23289
23289
|
return {
|
|
23290
23290
|
exporting: l,
|
|
23291
23291
|
progress: c,
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PowerPointViewer.vue.d.ts","sourceRoot":"","sources":["../../src/viewer/PowerPointViewer.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PowerPointViewer.vue.d.ts","sourceRoot":"","sources":["../../src/viewer/PowerPointViewer.vue"],"names":[],"mappings":"AA+iGA,OAAO,KAAK,EAAyB,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA62JpG,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;6EAKhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -4,13 +4,14 @@
|
|
|
4
4
|
*
|
|
5
5
|
* This component is purely visual: it owns no network/Yjs logic. The
|
|
6
6
|
* integrator supplies a reactive list of {@link RemoteCursor} entries (via the
|
|
7
|
-
* collaboration composable)
|
|
8
|
-
*
|
|
9
|
-
* colour, placed at `(x * zoom, y * zoom)`.
|
|
7
|
+
* collaboration composable). Each entry is drawn as an absolutely-positioned
|
|
8
|
+
* pointer SVG plus a name-label chip in the user's colour, placed at `(x, y)`.
|
|
10
9
|
*
|
|
11
|
-
* `x`/`y` are *unscaled* slide coordinates (px)
|
|
12
|
-
*
|
|
13
|
-
* selection overlay)
|
|
10
|
+
* `x`/`y` are *unscaled* slide coordinates (px) and are used as-is: the
|
|
11
|
+
* overlay is mounted inside the scaled slide-stage host (like the local
|
|
12
|
+
* selection overlay), so the stage's CSS `transform: scale()` applies the zoom
|
|
13
|
+
* exactly once. Multiplying by zoom here as well would double-apply the scale
|
|
14
|
+
* and misplace cursors at any zoom other than 100%.
|
|
14
15
|
*
|
|
15
16
|
* The overlay sets `pointer-events: none` so it never intercepts canvas input.
|
|
16
17
|
*/
|
|
@@ -34,12 +35,18 @@ export default _default;
|
|
|
34
35
|
declare const __VLS_export: import('vue').DefineComponent<{
|
|
35
36
|
/** Remote collaborators to render, in unscaled slide coordinates. */
|
|
36
37
|
cursors: RemoteCursor[];
|
|
37
|
-
/**
|
|
38
|
-
|
|
38
|
+
/**
|
|
39
|
+
* @deprecated Unused. The scaled slide-stage host already applies the zoom
|
|
40
|
+
* via its CSS transform, so cursor coordinates are rendered as-is.
|
|
41
|
+
*/
|
|
42
|
+
zoom?: number;
|
|
39
43
|
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
|
|
40
44
|
/** Remote collaborators to render, in unscaled slide coordinates. */
|
|
41
45
|
cursors: RemoteCursor[];
|
|
42
|
-
/**
|
|
43
|
-
|
|
46
|
+
/**
|
|
47
|
+
* @deprecated Unused. The scaled slide-stage host already applies the zoom
|
|
48
|
+
* via its CSS transform, so cursor coordinates are rendered as-is.
|
|
49
|
+
*/
|
|
50
|
+
zoom?: number;
|
|
44
51
|
}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
45
52
|
//# sourceMappingURL=CollaborationCursors.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollaborationCursors.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/CollaborationCursors.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CollaborationCursors.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/CollaborationCursors.vue"],"names":[],"mappings":"AA8IA;;;;;;;;;;;;;;;;GAgBG;AAEH,4EAA4E;AAC5E,MAAM,WAAW,YAAY;IAC5B,uEAAuE;IACvE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,CAAC,EAAE,MAAM,CAAC;IACV,8CAA8C;IAC9C,CAAC,EAAE,MAAM,CAAC;IACV,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;wBACoB,OAAO,YAAY;AAAxC,wBAAyC;AACzC,QAAA,MAAM,YAAY;IAEjB,qEAAqE;aAC5D,YAAY,EAAE;IACvB;;;OAGG;WACI,MAAM;;IANb,qEAAqE;aAC5D,YAAY,EAAE;IACvB;;;OAGG;WACI,MAAM;iGAsFV,CAAC"}
|
|
@@ -23,8 +23,11 @@ declare const __VLS_export: import('vue').DefineComponent<{
|
|
|
23
23
|
elements: PptxElement[];
|
|
24
24
|
/** The current slide index: only peers on this slide are drawn. */
|
|
25
25
|
activeSlideIndex: number;
|
|
26
|
-
/**
|
|
27
|
-
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated Unused. The scaled slide-stage host already applies the zoom
|
|
28
|
+
* via its CSS transform, so selection geometry is rendered as-is.
|
|
29
|
+
*/
|
|
30
|
+
zoom?: number;
|
|
28
31
|
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
|
|
29
32
|
/** Remote collaborators' presence (cursor + selection + active slide). */
|
|
30
33
|
presences: RemotePresence[];
|
|
@@ -32,7 +35,10 @@ declare const __VLS_export: import('vue').DefineComponent<{
|
|
|
32
35
|
elements: PptxElement[];
|
|
33
36
|
/** The current slide index: only peers on this slide are drawn. */
|
|
34
37
|
activeSlideIndex: number;
|
|
35
|
-
/**
|
|
36
|
-
|
|
38
|
+
/**
|
|
39
|
+
* @deprecated Unused. The scaled slide-stage host already applies the zoom
|
|
40
|
+
* via its CSS transform, so selection geometry is rendered as-is.
|
|
41
|
+
*/
|
|
42
|
+
zoom?: number;
|
|
37
43
|
}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
38
44
|
//# sourceMappingURL=RemoteSelectionOverlay.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteSelectionOverlay.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/RemoteSelectionOverlay.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RemoteSelectionOverlay.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/RemoteSelectionOverlay.vue"],"names":[],"mappings":"AA8KA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,6EAA6E;AAC7E,MAAM,WAAW,kBAAkB;IAClC,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;wBACoB,OAAO,YAAY;AAAxC,wBAAyC;AACzC,QAAA,MAAM,YAAY;IAEjB,0EAA0E;eAC/D,cAAc,EAAE;IAC3B,8EAA8E;cACpE,WAAW,EAAE;IACvB,mEAAmE;sBACjD,MAAM;IACxB;;;OAGG;WACI,MAAM;;IAVb,0EAA0E;eAC/D,cAAc,EAAE;IAC3B,8EAA8E;cACpE,WAAW,EAAE;IACvB,mEAAmE;sBACjD,MAAM;IACxB;;;OAGG;WACI,MAAM;iGA8GV,CAAC"}
|
package/dist/viewer/index.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const e = require("../useViewerSettingsDialog-
|
|
2
|
+
const e = require("../useViewerSettingsDialog-DBsbzYgS.cjs"), t = require("../viewer-Cz4EufQD.cjs");
|
|
3
3
|
exports.AUDIENCE_HASH = e.AUDIENCE_HASH, exports.ChartRenderer = t.ChartRenderer_default, exports.CollaborationCursors = t.CollaborationCursors_default, exports.CollaborationStatusIndicator = t.CollaborationStatusIndicator_default, exports.ConnectorRenderer = t.ConnectorRenderer_default, exports.DEFAULT_CANVAS_HEIGHT = e.DEFAULT_CANVAS_HEIGHT, exports.DEFAULT_CANVAS_WIDTH = e.DEFAULT_CANVAS_WIDTH, exports.DEFAULT_FILL_COLOR = e.DEFAULT_FILL_COLOR, exports.DEFAULT_STROKE_COLOR = e.DEFAULT_STROKE_COLOR, exports.DEFAULT_TEXT_COLOR = e.DEFAULT_TEXT_COLOR, exports.ElementRenderer = t.ElementRenderer_default, exports.EquationRenderer = t.EquationRenderer_default, exports.FollowModeBar = t.FollowModeBar_default, exports.InkRenderer = t.InkRenderer_default, exports.Model3DRenderer = t.Model3DRenderer_default, exports.OleRenderer = t.OleRenderer_default, exports.PowerPointViewer = t.PowerPointViewer_default, exports.RemoteSelectionOverlay = t.RemoteSelectionOverlay_default, exports.RibbonToolbar = t.RibbonToolbar_default, exports.SlideCanvas = t.SlideCanvas_default, exports.SlideStage = t.SlideStage_default, exports.SmartArtRenderer = t.SmartArtRenderer_default, exports.TableRenderer = t.TableRenderer_default, exports.WordArtText = t.WordArtText_default, exports.ZoomRenderer = t.ZoomRenderer_default, exports.buildInitialGuides = e.buildInitialGuides, exports.clearAudienceContent = e.clearAudienceContent, exports.collectImagePaths = e.collectImagePaths, exports.collectMediaElements = e.collectMediaElements, exports.exportAllSlidesToSvg = e.exportAllSlidesToSvg, exports.exportAllSlidesToSvgBlobs = e.exportAllSlidesToSvgBlobs, exports.exportSlideToSvg = e.exportSlideToSvg, exports.exportSlideToSvgBlob = e.exportSlideToSvgBlob, exports.getContainerStyle = t.getContainerStyle, exports.getImageSrc = t.getImageSrc, exports.getResolvedShapeClipPath = e.getResolvedShapeClipPath, exports.getResolvedShapeClipPathFor = e.getResolvedShapeClipPathFor, exports.getShapeFillStrokeStyle = t.getShapeFillStrokeStyle, exports.getTextBlockStyle = t.getTextBlockStyle, exports.isAudienceTab = e.isAudienceTab, exports.loadAudienceContent = e.loadAudienceContent, exports.parseAudienceNonce = e.parseAudienceNonce, exports.storeAudienceContent = e.storeAudienceContent, exports.useCollaboration = e.useCollaboration, exports.useCollaborativeHistory = t.useCollaborativeHistory, exports.useCollaborativeState = t.useCollaborativeState, exports.useEditorHistory = e.useEditorHistory, exports.useEditorOperations = e.useEditorOperations, exports.useLoadContent = e.useLoadContent, exports.usePresenceTracking = t.usePresenceTracking, exports.useYjsProvider = t.useYjsProvider;
|
package/dist/viewer/index.cjs.br
CHANGED
|
Binary file
|
package/dist/viewer/index.cjs.gz
CHANGED
|
Binary file
|
package/dist/viewer/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { Br as a, C as s, J as e, Ka as r, Na as o, Pa as n, S as t, X as i, as as d, at as l, b as R, ci as m, dn as S, fn as b, hn as C, k as u, li as w, mn as p, pn as x, ro as c, ui as g, x as v, xn as T, yo as f } from "../useViewerSettingsDialog-
|
|
2
|
-
import { A as h, C as j, D as k, E as y, O as A, S as D, T as E, _ as O, a as P, b as B, d as I, g as M, h as V, i as q, j as F, k as J, l as K, m as N, n as W, p as X, r as Z, t as _, u as z, v as G, w as H, x as L, y as Q } from "../viewer-
|
|
1
|
+
import { Br as a, C as s, J as e, Ka as r, Na as o, Pa as n, S as t, X as i, as as d, at as l, b as R, ci as m, dn as S, fn as b, hn as C, k as u, li as w, mn as p, pn as x, ro as c, ui as g, x as v, xn as T, yo as f } from "../useViewerSettingsDialog-BO_xKhyt.js";
|
|
2
|
+
import { A as h, C as j, D as k, E as y, O as A, S as D, T as E, _ as O, a as P, b as B, d as I, g as M, h as V, i as q, j as F, k as J, l as K, m as N, n as W, p as X, r as Z, t as _, u as z, v as G, w as H, x as L, y as Q } from "../viewer-zKqroO4K.js";
|
|
3
3
|
export { T as AUDIENCE_HASH, E as ChartRenderer, F as CollaborationCursors, h as CollaborationStatusIndicator, H as ConnectorRenderer, S as DEFAULT_CANVAS_HEIGHT, b as DEFAULT_CANVAS_WIDTH, x as DEFAULT_FILL_COLOR, p as DEFAULT_STROKE_COLOR, C as DEFAULT_TEXT_COLOR, V as ElementRenderer, j as EquationRenderer, X as FollowModeBar, D as InkRenderer, L as Model3DRenderer, B as OleRenderer, P as PowerPointViewer, I as RemoteSelectionOverlay, z as RibbonToolbar, K as SlideCanvas, N as SlideStage, Q as SmartArtRenderer, G as TableRenderer, O as WordArtText, M as ZoomRenderer, a as buildInitialGuides, m as clearAudienceContent, w as collectImagePaths, g as collectMediaElements, R as exportAllSlidesToSvg, v as exportAllSlidesToSvgBlobs, t as exportSlideToSvg, s as exportSlideToSvgBlob, y as getContainerStyle, k as getImageSrc, o as getResolvedShapeClipPath, n as getResolvedShapeClipPathFor, A as getShapeFillStrokeStyle, J as getTextBlockStyle, r as isAudienceTab, c as loadAudienceContent, f as parseAudienceNonce, d as storeAudienceContent, l as useCollaboration, _ as useCollaborativeHistory, W as useCollaborativeState, i as useEditorHistory, e as useEditorOperations, u as useLoadContent, Z as usePresenceTracking, q as useYjsProvider };
|
package/dist/viewer/index.js.br
CHANGED
|
Binary file
|
package/dist/viewer/index.js.gz
CHANGED
|
Binary file
|