@contentauth/c2pa-web 0.9.0 → 0.10.0

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.
@@ -6,6 +6,15 @@ export interface Config {
6
6
  * URL to fetch the WASM binary or an already-instantiated WASM module.
7
7
  */
8
8
  wasmSrc: string | WebAssembly.Module;
9
+ /**
10
+ * HTTPS URL to the worker script. When provided the worker is loaded from this
11
+ * URL instead of an inline blob URL, which is required in environments
12
+ * with a strict Content Security Policy that disallows blob: worker sources.
13
+ *
14
+ * Host the file exported as `@contentauth/c2pa-web/worker` alongside your
15
+ * application and pass its URL here.
16
+ */
17
+ workerSrc?: URL;
9
18
  /**
10
19
  * Settings for the SDK. Will be inherited by created builders and readers.
11
20
  */
@@ -1 +1 @@
1
- {"version":3,"file":"c2pa.d.ts","sourceRoot":"","sources":["../../src/lib/c2pa.ts"],"names":[],"mappings":"AASA,OAAO,EAAuB,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAmB,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAwB,MAAM,cAAc,CAAC;AAEpE,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;IAEtB;;OAEG;IACH,OAAO,EAAE,cAAc,CAAC;IAExB;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAcjE"}
1
+ {"version":3,"file":"c2pa.d.ts","sourceRoot":"","sources":["../../src/lib/c2pa.ts"],"names":[],"mappings":"AASA,OAAO,EAAuB,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAmB,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAwB,MAAM,cAAc,CAAC;AAEpE,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IAErC;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,GAAG,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;IAEtB;;OAEG;IACH,OAAO,EAAE,cAAc,CAAC;IAExB;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAcjE"}
@@ -8,7 +8,18 @@ export interface WorkerManager {
8
8
  export interface CreateWorkerManagerConfig {
9
9
  wasm: WebAssembly.Module;
10
10
  settingsString?: string;
11
+ workerSrc?: URL;
11
12
  }
13
+ /**
14
+ * Validates a worker source URL before it is loaded into a Worker. The value
15
+ * must be a structurally valid URL served over https, since arbitrary or
16
+ * insecure sources would let untrusted code run in the worker context.
17
+ *
18
+ * @param workerSrc - the worker source URL to validate
19
+ * @returns the normalized URL string, safe to pass to `new Worker`
20
+ * @throws if the value is not a valid URL or does not use https
21
+ */
22
+ export declare function validateWorkerSrc(workerSrc: URL): string;
12
23
  /**
13
24
  * Creates a new web worker and performs initialization steps:
14
25
  * - Compile WASM
@@ -1 +1 @@
1
- {"version":3,"file":"workerManager.d.ts","sourceRoot":"","sources":["../../../src/lib/worker/workerManager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAY,MAAM,UAAU,CAAC;AAI9C,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;IAChC,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC;IACzD,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,aAAa,CAAC,CAsCxB"}
1
+ {"version":3,"file":"workerManager.d.ts","sourceRoot":"","sources":["../../../src/lib/worker/workerManager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAY,MAAM,UAAU,CAAC;AAI9C,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;IAChC,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC;IACzD,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,GAAG,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,CAQxD;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,aAAa,CAAC,CAwCxB"}
package/dist/worker.js ADDED
@@ -0,0 +1,163 @@
1
+ import { c as _, r as v, W as l, a as f, i as w, l as B } from "./c2pa-oJwJnvn8.js";
2
+ import { transfer as a } from "highgain";
3
+ function m() {
4
+ let e = 0;
5
+ const r = /* @__PURE__ */ new Map();
6
+ return {
7
+ add(t) {
8
+ const n = e++;
9
+ return r.set(n, t), n;
10
+ },
11
+ get(t) {
12
+ const n = r.get(t);
13
+ if (!n)
14
+ throw new Error("Attempted to use an object that has been freed");
15
+ return n;
16
+ },
17
+ remove(t) {
18
+ return r.delete(t);
19
+ }
20
+ };
21
+ }
22
+ const i = m(), d = m(), g = _();
23
+ v(
24
+ I({
25
+ async initWorker(e, r) {
26
+ w({ module: e }), r && B(r);
27
+ },
28
+ async reader_fromBlob(e, r, t) {
29
+ const n = await f.fromBlob(e, r, t);
30
+ return i.add(n);
31
+ },
32
+ async reader_fromBlobFragment(e, r, t, n) {
33
+ const o = await f.fromBlobFragment(
34
+ e,
35
+ r,
36
+ t,
37
+ n
38
+ );
39
+ return i.add(o);
40
+ },
41
+ reader_activeLabel(e) {
42
+ return i.get(e).activeLabel() ?? null;
43
+ },
44
+ reader_manifestStore(e) {
45
+ return i.get(e).manifestStore();
46
+ },
47
+ reader_activeManifest(e) {
48
+ return i.get(e).activeManifest();
49
+ },
50
+ reader_json(e) {
51
+ return i.get(e).json();
52
+ },
53
+ reader_crJson(e) {
54
+ return i.get(e).crJson();
55
+ },
56
+ reader_resourceToBytes(e, r) {
57
+ const n = i.get(e).resourceToBytes(r);
58
+ return a(n, n.buffer);
59
+ },
60
+ reader_free(e) {
61
+ i.get(e).free(), i.remove(e);
62
+ },
63
+ builder_new(e) {
64
+ const r = l.new(e);
65
+ return d.add(r);
66
+ },
67
+ builder_fromJson(e, r) {
68
+ const t = l.fromJson(e, r);
69
+ return d.add(t);
70
+ },
71
+ builder_fromArchive(e, r) {
72
+ const t = l.fromArchive(e, r);
73
+ return d.add(t);
74
+ },
75
+ builder_setIntent(e, r) {
76
+ d.get(e).setIntent(r);
77
+ },
78
+ builder_addAction(e, r) {
79
+ d.get(e).addAction(r);
80
+ },
81
+ builder_addRedaction(e, r, t) {
82
+ d.get(e).addRedaction(r, t);
83
+ },
84
+ builder_setRemoteUrl(e, r) {
85
+ d.get(e).setRemoteUrl(r);
86
+ },
87
+ builder_setNoEmbed(e, r) {
88
+ d.get(e).setNoEmbed(r);
89
+ },
90
+ builder_setThumbnailFromBlob(e, r, t) {
91
+ d.get(e).setThumbnailFromBlob(r, t);
92
+ },
93
+ builder_addIngredient(e, r) {
94
+ d.get(e).addIngredient(r);
95
+ },
96
+ async builder_addIngredientFromBlob(e, r, t, n) {
97
+ await d.get(e).addIngredientFromBlob(r, t, n);
98
+ },
99
+ builder_addResourceFromBlob(e, r, t) {
100
+ d.get(e).addResourceFromBlob(r, t);
101
+ },
102
+ builder_getDefinition(e) {
103
+ return d.get(e).getDefinition();
104
+ },
105
+ builder_toArchive(e) {
106
+ const t = d.get(e).toArchive();
107
+ return a(t, t.buffer);
108
+ },
109
+ async builder_sign(e, r, t, n, o) {
110
+ const u = await d.get(e).sign(
111
+ {
112
+ reserveSize: t.reserveSize,
113
+ alg: t.alg,
114
+ sign: async (c) => await g.sign(
115
+ r,
116
+ a(c, c.buffer),
117
+ t.reserveSize
118
+ )
119
+ },
120
+ n,
121
+ o
122
+ );
123
+ return a(u, u.buffer);
124
+ },
125
+ async builder_signAndGetManifestBytes(e, r, t, n, o) {
126
+ const s = d.get(e), { manifest: u, asset: c } = await s.signAndGetManifestBytes(
127
+ {
128
+ reserveSize: t.reserveSize,
129
+ alg: t.alg,
130
+ sign: async (b) => await g.sign(
131
+ r,
132
+ a(b, b.buffer),
133
+ t.reserveSize
134
+ )
135
+ },
136
+ n,
137
+ o
138
+ );
139
+ return a(
140
+ {
141
+ manifest: u,
142
+ asset: c
143
+ },
144
+ [u.buffer, c.buffer]
145
+ );
146
+ },
147
+ builder_free(e) {
148
+ d.get(e).free(), d.remove(e);
149
+ }
150
+ })
151
+ );
152
+ function I(e) {
153
+ const r = {};
154
+ for (const [t, n] of Object.entries(e))
155
+ r[t] = async (...o) => {
156
+ try {
157
+ return await n(...o);
158
+ } catch (s) {
159
+ throw typeof s == "string" ? new Error(s) : s;
160
+ }
161
+ };
162
+ return r;
163
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contentauth/c2pa-web",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,13 +24,17 @@
24
24
  "types": "./dist/inline.d.ts",
25
25
  "import": "./dist/inline.js",
26
26
  "default": "./dist/inline.js"
27
+ },
28
+ "./worker": {
29
+ "import": "./dist/worker.js",
30
+ "default": "./dist/worker.js"
27
31
  }
28
32
  },
29
33
  "dependencies": {
30
34
  "highgain": "^0.1.0",
31
35
  "ts-deepmerge": "^7.0.3",
32
- "@contentauth/c2pa-types": "0.4.6",
33
- "@contentauth/c2pa-wasm": "0.6.3"
36
+ "@contentauth/c2pa-types": "0.5.0",
37
+ "@contentauth/c2pa-wasm": "0.7.0"
34
38
  },
35
39
  "devDependencies": {
36
40
  "@playwright/test": "^1.60.0",
@@ -1,395 +0,0 @@
1
- import { channel as M, transfer as N } from "highgain";
2
- import { merge as y } from "ts-deepmerge";
3
- const { createTx: O, rx: Z } = M(), { createTx: Q, rx: U } = M("worker"), j = '(function(){"use strict";class p{static __wrap(e){const t=Object.create(p.prototype);return t.__wbg_ptr=e,x.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,x.unregister(this),e}free(){const e=this.__destroy_into_raw();o.__wbg_wasmbuilder_free(e,0)}addAction(e){const t=o.wasmbuilder_addAction(this.__wbg_ptr,e);if(t[1])throw d(t[0])}addIngredient(e){const t=b(e,o.__wbindgen_malloc,o.__wbindgen_realloc),n=u,_=o.wasmbuilder_addIngredient(this.__wbg_ptr,t,n);if(_[1])throw d(_[0])}addIngredientFromBlob(e,t,n){const _=b(e,o.__wbindgen_malloc,o.__wbindgen_realloc),c=u,i=b(t,o.__wbindgen_malloc,o.__wbindgen_realloc),s=u;return o.wasmbuilder_addIngredientFromBlob(this.__wbg_ptr,_,c,i,s,n)}addRedaction(e,t){const n=b(e,o.__wbindgen_malloc,o.__wbindgen_realloc),_=u,c=o.wasmbuilder_addRedaction(this.__wbg_ptr,n,_,t);if(c[1])throw d(c[0])}addResourceFromBlob(e,t){const n=b(e,o.__wbindgen_malloc,o.__wbindgen_realloc),_=u,c=o.wasmbuilder_addResourceFromBlob(this.__wbg_ptr,n,_,t);if(c[1])throw d(c[0])}static fromArchive(e,t){var n=g(t)?0:b(t,o.__wbindgen_malloc,o.__wbindgen_realloc),_=u;const c=o.wasmbuilder_fromArchive(e,n,_);if(c[2])throw d(c[1]);return p.__wrap(c[0])}static fromJson(e,t){const n=b(e,o.__wbindgen_malloc,o.__wbindgen_realloc),_=u;var c=g(t)?0:b(t,o.__wbindgen_malloc,o.__wbindgen_realloc),i=u;const s=o.wasmbuilder_fromJson(n,_,c,i);if(s[2])throw d(s[1]);return p.__wrap(s[0])}getDefinition(){const e=o.wasmbuilder_getDefinition(this.__wbg_ptr);if(e[2])throw d(e[1]);return d(e[0])}static new(e){var t=g(e)?0:b(e,o.__wbindgen_malloc,o.__wbindgen_realloc),n=u;const _=o.wasmbuilder_new(t,n);if(_[2])throw d(_[1]);return p.__wrap(_[0])}setIntent(e){const t=o.wasmbuilder_setIntent(this.__wbg_ptr,e);if(t[1])throw d(t[0])}setNoEmbed(e){o.wasmbuilder_setNoEmbed(this.__wbg_ptr,e)}setRemoteUrl(e){const t=b(e,o.__wbindgen_malloc,o.__wbindgen_realloc),n=u;o.wasmbuilder_setRemoteUrl(this.__wbg_ptr,t,n)}setThumbnailFromBlob(e,t){const n=b(e,o.__wbindgen_malloc,o.__wbindgen_realloc),_=u,c=o.wasmbuilder_setThumbnailFromBlob(this.__wbg_ptr,n,_,t);if(c[1])throw d(c[0])}sign(e,t,n){const _=b(t,o.__wbindgen_malloc,o.__wbindgen_realloc),c=u;return o.wasmbuilder_sign(this.__wbg_ptr,e,_,c,n)}signAndGetManifestBytes(e,t,n){const _=b(t,o.__wbindgen_malloc,o.__wbindgen_realloc),c=u;return o.wasmbuilder_signAndGetManifestBytes(this.__wbg_ptr,e,_,c,n)}toArchive(){const e=o.wasmbuilder_toArchive(this.__wbg_ptr);if(e[2])throw d(e[1]);return d(e[0])}}Symbol.dispose&&(p.prototype[Symbol.dispose]=p.prototype.free);class v{static __wrap(e){const t=Object.create(v.prototype);return t.__wbg_ptr=e,k.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,k.unregister(this),e}free(){const e=this.__destroy_into_raw();o.__wbg_wasmreader_free(e,0)}activeLabel(){const e=o.wasmreader_activeLabel(this.__wbg_ptr);let t;return e[0]!==0&&(t=y(e[0],e[1]).slice(),o.__wbindgen_free(e[0],e[1]*1,1)),t}activeManifest(){const e=o.wasmreader_activeManifest(this.__wbg_ptr);if(e[2])throw d(e[1]);return d(e[0])}crJson(){let e,t;try{const n=o.wasmreader_crJson(this.__wbg_ptr);return e=n[0],t=n[1],y(n[0],n[1])}finally{o.__wbindgen_free(e,t,1)}}static fromBlob(e,t,n){const _=b(e,o.__wbindgen_malloc,o.__wbindgen_realloc),c=u;var i=g(n)?0:b(n,o.__wbindgen_malloc,o.__wbindgen_realloc),s=u;return o.wasmreader_fromBlob(_,c,t,i,s)}static fromBlobFragment(e,t,n,_){const c=b(e,o.__wbindgen_malloc,o.__wbindgen_realloc),i=u;var s=g(_)?0:b(_,o.__wbindgen_malloc,o.__wbindgen_realloc),a=u;return o.wasmreader_fromBlobFragment(c,i,t,n,s,a)}json(){let e,t;try{const n=o.wasmreader_json(this.__wbg_ptr);return e=n[0],t=n[1],y(n[0],n[1])}finally{o.__wbindgen_free(e,t,1)}}manifestStore(){const e=o.wasmreader_manifestStore(this.__wbg_ptr);if(e[2])throw d(e[1]);return d(e[0])}resourceToBytes(e){const t=b(e,o.__wbindgen_malloc,o.__wbindgen_realloc),n=u,_=o.wasmreader_resourceToBytes(this.__wbg_ptr,t,n);if(_[2])throw d(_[1]);return d(_[0])}}Symbol.dispose&&(v.prototype[Symbol.dispose]=v.prototype.free);function C(r){const e=b(r,o.__wbindgen_malloc,o.__wbindgen_realloc),t=u,n=o.loadSettings(e,t);if(n[1])throw d(n[0])}function J(){return{__proto__:null,"./c2pa_bg.js":{__proto__:null,__wbg_Error_ef53bc310eb298a0:function(e,t){return Error(y(e,t))},__wbg_Number_6b506e6536831eaa:function(e){return Number(e)},__wbg___wbindgen_bigint_get_as_i64_38130e98eecd467d:function(e,t){const n=t,_=typeof n=="bigint"?n:void 0;m().setBigInt64(e+8,g(_)?BigInt(0):_,!0),m().setInt32(e+0,!g(_),!0)},__wbg___wbindgen_boolean_get_1a45e2c38d4d41b9:function(e){const t=e,n=typeof t=="boolean"?t:void 0;return g(n)?16777215:n?1:0},__wbg___wbindgen_debug_string_0accd80f45e5faa2:function(e,t){const n=j(t),_=b(n,o.__wbindgen_malloc,o.__wbindgen_realloc),c=u;m().setInt32(e+4,c,!0),m().setInt32(e+0,_,!0)},__wbg___wbindgen_in_70a403a56e771704:function(e,t){return e in t},__wbg___wbindgen_is_bigint_6ffd6468a9bc44b9:function(e){return typeof e=="bigint"},__wbg___wbindgen_is_function_754e9f305ff6029e:function(e){return typeof e=="function"},__wbg___wbindgen_is_object_56732c2bc353f41d:function(e){const t=e;return typeof t=="object"&&t!==null},__wbg___wbindgen_is_string_c236cabd84a4d769:function(e){return typeof e=="string"},__wbg___wbindgen_is_undefined_67b456be8673d3d7:function(e){return e===void 0},__wbg___wbindgen_jsval_eq_1068e624fa87f6ab:function(e,t){return e===t},__wbg___wbindgen_jsval_loose_eq_2c56564c75129511:function(e,t){return e==t},__wbg___wbindgen_number_get_9bb1761122181af2:function(e,t){const n=t,_=typeof n=="number"?n:void 0;m().setFloat64(e+8,g(_)?0:_,!0),m().setInt32(e+0,!g(_),!0)},__wbg___wbindgen_string_get_72bdf95d3ae505b1:function(e,t){const n=t,_=typeof n=="string"?n:void 0;var c=g(_)?0:b(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=u;m().setInt32(e+4,i,!0),m().setInt32(e+0,c,!0)},__wbg___wbindgen_throw_1506f2235d1bdba0:function(e,t){throw new Error(y(e,t))},__wbg__wbg_cb_unref_61db23ac97f16c31:function(e){e._wbg_cb_unref()},__wbg_abort_2ec46222bf378517:function(e){e.abort()},__wbg_abort_b29d719932441c95:function(e,t){e.abort(t)},__wbg_append_e1746995edcb0170:function(){return f(function(e,t,n,_,c){e.append(y(t,n),y(_,c))},arguments)},__wbg_arrayBuffer_05927079aabe6d46:function(){return f(function(e){return e.arrayBuffer()},arguments)},__wbg_byteLength_2c6dc3b4b85d3547:function(e){return e.byteLength},__wbg_call_8a89609d89f6608a:function(){return f(function(e,t){return e.call(t)},arguments)},__wbg_call_9c758de292015997:function(){return f(function(e,t,n){return e.call(t,n)},arguments)},__wbg_clearTimeout_6b8d9a38b9263d65:function(e){return clearTimeout(e)},__wbg_crypto_38df2bab126b63dc:function(e){return e.crypto},__wbg_done_60cf307fcc680536:function(e){return e.done},__wbg_entries_04b37a02507f1713:function(e){return Object.entries(e)},__wbg_error_a6fa202b58aa1cd3:function(e,t){let n,_;try{n=e,_=t,console.error(y(e,t))}finally{o.__wbindgen_free(n,_,1)}},__wbg_fetch_344c8d3849002659:function(e,t){return e.fetch(t)},__wbg_fetch_9dad4fe911207b37:function(e){return fetch(e)},__wbg_from_d300fe49deab18f5:function(e){return Array.from(e)},__wbg_getRandomValues_3f44b700395062e5:function(){return f(function(e,t){globalThis.crypto.getRandomValues(A(e,t))},arguments)},__wbg_getRandomValues_8aa3112c6615eef6:function(){return f(function(e,t){globalThis.crypto.getRandomValues(A(e,t))},arguments)},__wbg_getRandomValues_c44a50d8cfdaebeb:function(){return f(function(e,t){e.getRandomValues(t)},arguments)},__wbg_getTime_00b3f7db575e4ef5:function(e){return e.getTime()},__wbg_get_1f8f054ddbaa7db2:function(){return f(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_2b48c7d0d006a781:function(e,t){return e[t>>>0]},__wbg_get_de6a0f7d4d18a304:function(){return f(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_unchecked_33f6e5c9e2f2d6b2:function(e,t){return e[t>>>0]},__wbg_get_with_ref_key_6412cf3094599694:function(e,t){return e[t]},__wbg_has_73740b27f436fed3:function(){return f(function(e,t){return Reflect.has(e,t)},arguments)},__wbg_headers_0feb63d2d374b44a:function(e){return e.headers},__wbg_instanceof_ArrayBuffer_8f49811467741499:function(e){let t;try{t=e instanceof ArrayBuffer}catch{t=!1}return t},__wbg_instanceof_Map_9fc06d9a951bcee6:function(e){let t;try{t=e instanceof Map}catch{t=!1}return t},__wbg_instanceof_Promise_d0db99486956c8e8:function(e){let t;try{t=e instanceof Promise}catch{t=!1}return t},__wbg_instanceof_Response_cb984bd66d7bd408:function(e){let t;try{t=e instanceof Response}catch{t=!1}return t},__wbg_instanceof_Uint8Array_86f30649f63ef9c2:function(e){let t;try{t=e instanceof Uint8Array}catch{t=!1}return t},__wbg_isArray_67c2c9c4313f4448:function(e){return Array.isArray(e)},__wbg_isSafeInteger_66acec27e09e99a7:function(e){return Number.isSafeInteger(e)},__wbg_iterator_8732428d309e270e:function(){return Symbol.iterator},__wbg_length_4a591ecaa01354d9:function(e){return e.length},__wbg_length_66f1a4b2e9026940:function(e){return e.length},__wbg_msCrypto_bd5a034af96bcba6:function(e){return e.msCrypto},__wbg_new_0_445c13a750296eb6:function(){return new Date},__wbg_new_0d09705104e164af:function(){return f(function(){return new AbortController},arguments)},__wbg_new_227d7c05414eb861:function(){return new Error},__wbg_new_578aeef4b6b94378:function(e){return new Uint8Array(e)},__wbg_new_622fc80556be2e26:function(){return new Map},__wbg_new_a1b9f645bba64f0f:function(){return f(function(){return new FileReaderSync},arguments)},__wbg_new_ce1ab61c1c2b300d:function(){return new Object},__wbg_new_d90091b82fdf5b91:function(){return new Array},__wbg_new_e436d06bc8e77460:function(){return f(function(){return new Headers},arguments)},__wbg_new_from_slice_18fa1f71286d66b8:function(e,t){return new Uint8Array(A(e,t))},__wbg_new_typed_bf31d18f92484486:function(e,t){try{var n={a:e,b:t},_=(i,s)=>{const a=n.a;n.a=0;try{return P(a,n.b,i,s)}finally{n.a=a}};return new Promise(_)}finally{n.a=0}},__wbg_new_with_length_36a4998e27b014c5:function(e){return new Uint8Array(e>>>0)},__wbg_new_with_str_and_init_bcd02b79a793d27f:function(){return f(function(e,t,n){return new Request(y(e,t),n)},arguments)},__wbg_next_9e03acdf51c4960d:function(e){return e.next},__wbg_next_eb8ca7351fa27906:function(){return f(function(e){return e.next()},arguments)},__wbg_node_84ea875411254db1:function(e){return e.node},__wbg_now_190933fa139cc119:function(){return Date.now()},__wbg_process_44c7a14e11e9f69e:function(e){return e.process},__wbg_prototypesetcall_3249fc62a0fafa30:function(e,t,n){Uint8Array.prototype.set.call(A(e,t),n)},__wbg_queueMicrotask_35c611f4a14830b2:function(e){queueMicrotask(e)},__wbg_queueMicrotask_404ed0a58e0b63cc:function(e){return e.queueMicrotask},__wbg_randomFillSync_6c25eac9869eb53c:function(){return f(function(e,t){e.randomFillSync(t)},arguments)},__wbg_readAsArrayBuffer_f1b8da05559618d9:function(){return f(function(e,t){return e.readAsArrayBuffer(t)},arguments)},__wbg_require_b4edbdcf3e2a1ef0:function(){return f(function(){return module.require},arguments)},__wbg_resolve_25a7e548d5881dca:function(e){return Promise.resolve(e)},__wbg_setTimeout_f757f00851f76c42:function(e,t){return setTimeout(e,t)},__wbg_set_29c99a8aac1c01e5:function(e,t,n){e.set(A(t,n))},__wbg_set_52b1e1eb5bed906a:function(e,t,n){return e.set(t,n)},__wbg_set_6be42768c690e380:function(e,t,n){e[t]=n},__wbg_set_body_36614c7e61546809:function(e,t){e.body=t},__wbg_set_cache_488ea16c11cbf20d:function(e,t){e.cache=$[t]},__wbg_set_credentials_fa9c491a27c4bdf0:function(e,t){e.credentials=H[t]},__wbg_set_dca99999bba88a9a:function(e,t,n){e[t>>>0]=n},__wbg_set_headers_7c1e39ece7826bec:function(e,t){e.headers=t},__wbg_set_method_7a6811dec7a4feff:function(e,t,n){e.method=y(t,n)},__wbg_set_mode_c90e3667002857d4:function(e,t){e.mode=X[t]},__wbg_set_signal_d9da62b3f215c821:function(e,t){e.signal=t},__wbg_signal_e03304a84df9ed09:function(e){return e.signal},__wbg_size_9970092b88b1094c:function(e){return e.size},__wbg_slice_02bb778501725738:function(){return f(function(e,t,n){return e.slice(t,n)},arguments)},__wbg_stack_3b0d974bbf31e44f:function(e,t){const n=t.stack,_=b(n,o.__wbindgen_malloc,o.__wbindgen_realloc),c=u;m().setInt32(e+4,c,!0),m().setInt32(e+0,_,!0)},__wbg_static_accessor_GLOBAL_9d53f2689e622ca1:function(){const e=typeof global>"u"?null:global;return g(e)?0:S(e)},__wbg_static_accessor_GLOBAL_THIS_a1a35cec07001a8a:function(){const e=typeof globalThis>"u"?null:globalThis;return g(e)?0:S(e)},__wbg_static_accessor_SELF_4c59f6c7ea29a144:function(){const e=typeof self>"u"?null:self;return g(e)?0:S(e)},__wbg_static_accessor_WINDOW_e70ae9f2eb052253:function(){const e=typeof window>"u"?null:window;return g(e)?0:S(e)},__wbg_status_00549d55b78d949e:function(e){return e.status},__wbg_stringify_8286df6dcc591521:function(){return f(function(e){return JSON.stringify(e)},arguments)},__wbg_subarray_4aa221f6a4f5ab22:function(e,t,n){return e.subarray(t>>>0,n>>>0)},__wbg_then_18f476d590e58992:function(e,t,n){return e.then(t,n)},__wbg_then_ac7b025999b52837:function(e,t){return e.then(t)},__wbg_url_6808f1c468f2d0cd:function(e,t){const n=t.url,_=b(n,o.__wbindgen_malloc,o.__wbindgen_realloc),c=u;m().setInt32(e+4,c,!0),m().setInt32(e+0,_,!0)},__wbg_valueOf_41ae57308c1f031c:function(e){return e.valueOf()},__wbg_value_f3625092ee4b37f4:function(e){return e.value},__wbg_versions_276b2795b1c6a219:function(e){return e.versions},__wbg_wasmreader_new:function(e){return v.__wrap(e)},__wbindgen_cast_0000000000000001:function(e,t){return z(e,t,G)},__wbindgen_cast_0000000000000002:function(e,t){return z(e,t,V)},__wbindgen_cast_0000000000000003:function(e){return e},__wbindgen_cast_0000000000000004:function(e){return e},__wbindgen_cast_0000000000000005:function(e,t){return A(e,t)},__wbindgen_cast_0000000000000006:function(e,t){return y(e,t)},__wbindgen_cast_0000000000000007:function(e){return BigInt.asUintN(64,e)},__wbindgen_cast_0000000000000008:function(e,t){var n=A(e,t).slice();return o.__wbindgen_free(e,t*1,1),n},__wbindgen_init_externref_table:function(){const e=o.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}function V(r,e){o.wasm_bindgen__convert__closures_____invoke__h9ad77c532ffa5b9e(r,e)}function G(r,e,t){const n=o.wasm_bindgen__convert__closures_____invoke__hf2acc361175a8d00(r,e,t);if(n[1])throw d(n[0])}function P(r,e,t,n){o.wasm_bindgen__convert__closures_____invoke__h53f6302d12a3bd57(r,e,t,n)}const $=["default","no-store","reload","no-cache","force-cache","only-if-cached"],H=["omit","same-origin","include"],X=["same-origin","no-cors","cors","navigate"],x=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(r=>o.__wbg_wasmbuilder_free(r,1)),k=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(r=>o.__wbg_wasmreader_free(r,1));typeof FinalizationRegistry>"u"||new FinalizationRegistry(r=>o.__wbg_wasmsigner_free(r,1));function S(r){const e=o.__externref_table_alloc();return o.__wbindgen_externrefs.set(e,r),e}const N=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(r=>o.__wbindgen_destroy_closure(r.a,r.b));function j(r){const e=typeof r;if(e=="number"||e=="boolean"||r==null)return`${r}`;if(e=="string")return`"${r}"`;if(e=="symbol"){const _=r.description;return _==null?"Symbol":`Symbol(${_})`}if(e=="function"){const _=r.name;return typeof _=="string"&&_.length>0?`Function(${_})`:"Function"}if(Array.isArray(r)){const _=r.length;let c="[";_>0&&(c+=j(r[0]));for(let i=1;i<_;i++)c+=", "+j(r[i]);return c+="]",c}const t=/\\[object ([^\\]]+)\\]/.exec(toString.call(r));let n;if(t&&t.length>1)n=t[1];else return toString.call(r);if(n=="Object")try{return"Object("+JSON.stringify(r)+")"}catch{return"Object"}return r instanceof Error?`${r.name}: ${r.message}\n${r.stack}`:n}function A(r,e){return r=r>>>0,M().subarray(r/1,r/1+e)}let F=null;function m(){return(F===null||F.buffer.detached===!0||F.buffer.detached===void 0&&F.buffer!==o.memory.buffer)&&(F=new DataView(o.memory.buffer)),F}function y(r,e){return K(r>>>0,e)}let B=null;function M(){return(B===null||B.byteLength===0)&&(B=new Uint8Array(o.memory.buffer)),B}function f(r,e){try{return r.apply(this,e)}catch(t){const n=S(t);o.__wbindgen_exn_store(n)}}function g(r){return r==null}function z(r,e,t){const n={a:r,b:e,cnt:1},_=(...c)=>{n.cnt++;const i=n.a;n.a=0;try{return t(i,n.b,...c)}finally{n.a=i,_._wbg_cb_unref()}};return _._wbg_cb_unref=()=>{--n.cnt===0&&(o.__wbindgen_destroy_closure(n.a,n.b),n.a=0,N.unregister(n))},N.register(_,n,n),_}function b(r,e,t){if(t===void 0){const s=T.encode(r),a=e(s.length,1)>>>0;return M().subarray(a,a+s.length).set(s),u=s.length,a}let n=r.length,_=e(n,1)>>>0;const c=M();let i=0;for(;i<n;i++){const s=r.charCodeAt(i);if(s>127)break;c[_+i]=s}if(i!==n){i!==0&&(r=r.slice(i)),_=t(_,n,n=i+r.length*3,1)>>>0;const s=M().subarray(_+i,_+n),a=T.encodeInto(r,s);i+=a.written,_=t(_,n,i,1)>>>0}return u=i,_}function d(r){const e=o.__wbindgen_externrefs.get(r);return o.__externref_table_dealloc(r),e}let E=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});E.decode();const Y=2146435072;let O=0;function K(r,e){return O+=e,O>=Y&&(E=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),E.decode(),O=e),E.decode(M().subarray(r,r+e))}const T=new TextEncoder;"encodeInto"in T||(T.encodeInto=function(r,e){const t=T.encode(r);return e.set(t),{read:r.length,written:t.length}});let u=0,o;function Q(r,e){return o=r.exports,F=null,B=null,o.__wbindgen_start(),o}function Z(r){if(o!==void 0)return o;r!==void 0&&(Object.getPrototypeOf(r)===Object.prototype?{module:r}=r:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));const e=J();r instanceof WebAssembly.Module||(r=new WebAssembly.Module(r));const t=new WebAssembly.Instance(r,e);return Q(t)}function D(){let r=0;const e=new Map;return{add(t){const n=r++;return e.set(n,t),n},get(t){const n=e.get(t);if(!n)throw new Error("Attempted to use an object that has been freed");return n},remove(t){return e.delete(t)}}}const L=Symbol("transfer");function I(r,e){return{type:L,value:r,transfer:e?Array.isArray(e)?e:[e]:[r]}}function U(r){return!!(r&&typeof r=="object"&&Reflect.get(r,"type")===L)}function q(r="default"){return{createTx(e){const t=new Map,n=e??self;return n.addEventListener("message",_=>{const{data:c}=_;if(c.channelName!==r)return;const{id:i,result:s,error:a}=c,w=t.get(i);w&&(a?w.reject(a):w.resolve(s),t.delete(i))}),new Proxy({},{get(_,c){return(...i)=>{const s=ee(),a=[],w=[];return i.forEach(R=>{U(R)?(a.push(R.value),w.push(...R.transfer)):a.push(R)}),n.postMessage({method:c,args:a,id:s,channelName:r},{transfer:w}),new Promise((R,_e)=>{t.set(s,{resolve:R,reject:_e})})}}})},rx(e,t){const n=t??self;n.addEventListener("message",async _=>{const{data:c}=_;if(c.channelName!==r)return;const{method:i,args:s,id:a}=c;try{const w=await e[i](...s);U(w)?n.postMessage({result:w.value,id:a,channelName:r},{transfer:w.transfer}):n.postMessage({result:w,id:a,channelName:r})}catch(w){n.postMessage({error:w,id:a,channelName:r})}})}}}function ee(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}const{rx:te}=q(),{createTx:ne}=q("worker"),h=D(),l=D(),W=ne();te(re({async initWorker(r,e){Z({module:r}),e&&C(e)},async reader_fromBlob(r,e,t){const n=await v.fromBlob(r,e,t);return h.add(n)},async reader_fromBlobFragment(r,e,t,n){const _=await v.fromBlobFragment(r,e,t,n);return h.add(_)},reader_activeLabel(r){return h.get(r).activeLabel()??null},reader_manifestStore(r){return h.get(r).manifestStore()},reader_activeManifest(r){return h.get(r).activeManifest()},reader_json(r){return h.get(r).json()},reader_crJson(r){return h.get(r).crJson()},reader_resourceToBytes(r,e){const n=h.get(r).resourceToBytes(e);return I(n,n.buffer)},reader_free(r){h.get(r).free(),h.remove(r)},builder_new(r){const e=p.new(r);return l.add(e)},builder_fromJson(r,e){const t=p.fromJson(r,e);return l.add(t)},builder_fromArchive(r,e){const t=p.fromArchive(r,e);return l.add(t)},builder_setIntent(r,e){l.get(r).setIntent(e)},builder_addAction(r,e){l.get(r).addAction(e)},builder_addRedaction(r,e,t){l.get(r).addRedaction(e,t)},builder_setRemoteUrl(r,e){l.get(r).setRemoteUrl(e)},builder_setNoEmbed(r,e){l.get(r).setNoEmbed(e)},builder_setThumbnailFromBlob(r,e,t){l.get(r).setThumbnailFromBlob(e,t)},builder_addIngredient(r,e){l.get(r).addIngredient(e)},async builder_addIngredientFromBlob(r,e,t,n){await l.get(r).addIngredientFromBlob(e,t,n)},builder_addResourceFromBlob(r,e,t){l.get(r).addResourceFromBlob(e,t)},builder_getDefinition(r){return l.get(r).getDefinition()},builder_toArchive(r){const t=l.get(r).toArchive();return I(t,t.buffer)},async builder_sign(r,e,t,n,_){const i=await l.get(r).sign({reserveSize:t.reserveSize,alg:t.alg,sign:async s=>await W.sign(e,I(s,s.buffer),t.reserveSize)},n,_);return I(i,i.buffer)},async builder_signAndGetManifestBytes(r,e,t,n,_){const c=l.get(r),{manifest:i,asset:s}=await c.signAndGetManifestBytes({reserveSize:t.reserveSize,alg:t.alg,sign:async a=>await W.sign(e,I(a,a.buffer),t.reserveSize)},n,_);return I({manifest:i,asset:s},[i.buffer,s.buffer])},builder_free(r){l.get(r).free(),l.remove(r)}}));function re(r){const e={};for(const[t,n]of Object.entries(r))e[t]=async(..._)=>{try{return await n(..._)}catch(c){throw typeof c=="string"?new Error(c):c}};return e}})();\n', h = typeof self < "u" && self.Blob && new Blob([j], { type: "text/javascript;charset=utf-8" });
4
- function L(e) {
5
- let t;
6
- try {
7
- if (t = h && (self.URL || self.webkitURL).createObjectURL(h), !t) throw "";
8
- const o = new Worker(t, {
9
- name: e == null ? void 0 : e.name
10
- });
11
- return o.addEventListener("error", () => {
12
- (self.URL || self.webkitURL).revokeObjectURL(t);
13
- }), o;
14
- } catch {
15
- return new Worker(
16
- "data:text/javascript;charset=utf-8," + encodeURIComponent(j),
17
- {
18
- name: e == null ? void 0 : e.name
19
- }
20
- );
21
- } finally {
22
- t && (self.URL || self.webkitURL).revokeObjectURL(t);
23
- }
24
- }
25
- async function k(e) {
26
- const { wasm: t, settingsString: o } = e;
27
- let r = 0;
28
- const n = new L(), _ = O(n), a = /* @__PURE__ */ new Map();
29
- U(
30
- {
31
- sign: async (i, c, u) => {
32
- const f = a.get(i);
33
- if (a.delete(i), !f)
34
- throw new Error("No signer registered for request");
35
- const m = await f(c, u);
36
- return N(m, m.buffer);
37
- }
38
- },
39
- n
40
- );
41
- function s(i) {
42
- const c = r++;
43
- return a.set(c, i), c;
44
- }
45
- return await _.initWorker(t, o), {
46
- tx: _,
47
- registerSignReceiver: s,
48
- terminate: () => n.terminate()
49
- };
50
- }
51
- class p extends Error {
52
- constructor(t) {
53
- super(
54
- `The provided asset was too large. Size: ${t} bytes. Maximum: ${w}.`
55
- ), this.name = "AssetTooLargeError";
56
- }
57
- }
58
- class v extends Error {
59
- constructor(t) {
60
- super(`Unsupported format: ${t}.`), this.name = "UnsupportedFormatError";
61
- }
62
- }
63
- const J = [
64
- "jpg",
65
- "video/mp4",
66
- "image/heif",
67
- "video/x-msvideo",
68
- "pdf",
69
- "image/png",
70
- "application/c2pa",
71
- "video/quicktime",
72
- "video/avi",
73
- "image/gif",
74
- "application/xml",
75
- "text/xml",
76
- "application/xhtml+xml",
77
- "tiff",
78
- "audio/wave",
79
- "mp4",
80
- "image/avif",
81
- "image/dng",
82
- "png",
83
- "dng",
84
- "image/svg+xml",
85
- "image/heic",
86
- "application/mp4",
87
- "image/x-nikon-nef",
88
- "video/msvideo",
89
- "tif",
90
- "wav",
91
- "xml",
92
- "audio/vnd.wave",
93
- "xhtml",
94
- "gif",
95
- "application/x-troff-msvideo",
96
- "webp",
97
- "heic",
98
- "application/pdf",
99
- "audio/mpeg",
100
- "application/x-c2pa-manifest-store",
101
- "jpeg",
102
- "image/x-adobe-dng",
103
- "audio/wav",
104
- "mp3",
105
- "mov",
106
- "image/tiff",
107
- "audio/mp4",
108
- "application/svg+xml",
109
- "arw",
110
- "c2pa",
111
- "svg",
112
- "avi",
113
- "audio/x-wav",
114
- "m4a",
115
- "image/x-sony-arw",
116
- "image/jpeg",
117
- "avif",
118
- "image/webp",
119
- "nef",
120
- "heif"
121
- ];
122
- function R(e) {
123
- return J.includes(e);
124
- }
125
- const P = {
126
- userAnchors: !0,
127
- trustAnchors: !0,
128
- trustConfig: !0,
129
- allowedList: !0
130
- }, $ = Object.keys(P), D = {
131
- builder: {
132
- generateC2paArchive: !0
133
- }
134
- }, S = 1 * 1024 * 1024;
135
- async function b(e, t) {
136
- const o = t ? y(e ?? {}, t) : e;
137
- if (!o)
138
- return;
139
- const r = y(D, o), n = [];
140
- return r.trust && n.push(A(r.trust)), r.cawgTrust && n.push(A(r.cawgTrust)), await Promise.all(n), JSON.stringify(z(r));
141
- }
142
- function z(e) {
143
- return Object.entries(e).reduce(
144
- (o, [r, n]) => (o[C(r)] = typeof n == "object" && n !== null ? z(n) : n, o),
145
- {}
146
- );
147
- }
148
- function C(e) {
149
- return e.replace(/[A-Z]/g, (t) => `_${t.toLowerCase()}`);
150
- }
151
- async function A(e) {
152
- try {
153
- const t = Object.entries(e).filter(([o]) => $.includes(o)).map(async ([o, r]) => {
154
- if (r && typeof r == "object" && Array.isArray(r)) {
155
- const n = r.map(async (s) => {
156
- if (typeof s != "string")
157
- throw new Error("Expected a string value for array item");
158
- const i = await B(s);
159
- if (F(o) && !x(i))
160
- throw new Error(`Error parsing PEM file at: ${s}`);
161
- return i;
162
- }), a = (await Promise.all(n)).join("");
163
- e[o] = a;
164
- } else if (r && typeof r == "string" && q(r)) {
165
- const n = await B(r);
166
- if (F(o) && !x(n))
167
- throw new Error(`Error parsing PEM file at: ${r}`);
168
- e[o] = n;
169
- } else
170
- return r;
171
- });
172
- await Promise.all(t);
173
- } catch (t) {
174
- const o = t instanceof Error ? t.message : String(t);
175
- throw new Error(`Failed to resolve trust settings. ${o}`, { cause: t });
176
- }
177
- }
178
- const F = (e) => ["userAnchors", "trustAnchors"].includes(e), x = (e) => e.includes("-----BEGIN CERTIFICATE-----"), q = (e) => e.startsWith("http");
179
- async function B(e) {
180
- let t;
181
- try {
182
- t = await fetch(e);
183
- } catch (r) {
184
- const n = r instanceof Error ? r.message : String(r);
185
- throw new Error(`Network error fetching ${e}: ${n}`, { cause: r });
186
- }
187
- if (!t.ok)
188
- throw new Error(`Failed to fetch ${e}: ${t.status} ${t.statusText}`);
189
- const o = await t.text();
190
- if (o.length > S)
191
- throw new Error(`Response from ${e} is too large. Max size is ${S} bytes.`);
192
- return o;
193
- }
194
- const w = 10 ** 9;
195
- function W(e, t) {
196
- const { tx: o } = e, r = t, n = new FinalizationRegistry(async (_) => {
197
- await o.reader_free(_);
198
- });
199
- return {
200
- async fromBlob(_, a, s) {
201
- if (!R(_))
202
- throw new v(_);
203
- if (a.size > w)
204
- throw new p(a.size);
205
- try {
206
- const i = await b(r, s), c = await o.reader_fromBlob(_, a, i), u = I(e, c, () => {
207
- n.unregister(u);
208
- });
209
- return n.register(u, c, u), u;
210
- } catch (i) {
211
- return E(i);
212
- }
213
- },
214
- async fromBlobFragment(_, a, s, i) {
215
- if (!R(_))
216
- throw new v(_);
217
- if (a.size > w)
218
- throw new p(a.size);
219
- try {
220
- const c = await b(r, i), u = await o.reader_fromBlobFragment(
221
- _,
222
- a,
223
- s,
224
- c
225
- ), f = I(e, u, () => {
226
- n.unregister(f);
227
- });
228
- return n.register(f, u, f), f;
229
- } catch (c) {
230
- return E(c);
231
- }
232
- }
233
- };
234
- }
235
- function E(e) {
236
- if (e instanceof Error && e.message === "C2pa(JumbfNotFound)")
237
- return null;
238
- throw e;
239
- }
240
- function I(e, t, o) {
241
- const { tx: r } = e;
242
- return {
243
- async activeLabel() {
244
- return await r.reader_activeLabel(t);
245
- },
246
- async manifestStore() {
247
- return await r.reader_manifestStore(t);
248
- },
249
- async activeManifest() {
250
- return await r.reader_activeManifest(t);
251
- },
252
- async json() {
253
- const n = await r.reader_json(t);
254
- return JSON.parse(n);
255
- },
256
- async crJson() {
257
- const n = await r.reader_crJson(t);
258
- return JSON.parse(n);
259
- },
260
- async resourceToBytes(n) {
261
- return await r.reader_resourceToBytes(t, n);
262
- },
263
- async free() {
264
- o(), await r.reader_free(t);
265
- }
266
- };
267
- }
268
- typeof FinalizationRegistry > "u" || new FinalizationRegistry((e) => d.__wbg_wasmbuilder_free(e, 1));
269
- typeof FinalizationRegistry > "u" || new FinalizationRegistry((e) => d.__wbg_wasmreader_free(e, 1));
270
- typeof FinalizationRegistry > "u" || new FinalizationRegistry((e) => d.__wbg_wasmsigner_free(e, 1));
271
- typeof FinalizationRegistry > "u" || new FinalizationRegistry((e) => d.__wbindgen_destroy_closure(e.a, e.b));
272
- let G = new TextDecoder("utf-8", { ignoreBOM: !0, fatal: !0 });
273
- G.decode();
274
- const g = new TextEncoder();
275
- "encodeInto" in g || (g.encodeInto = function(e, t) {
276
- const o = g.encode(e);
277
- return t.set(o), {
278
- read: e.length,
279
- written: o.length
280
- };
281
- });
282
- let d;
283
- const V = "sha512-2nvIDEdLBQHSJJqGx1M7hxP8Pyg5rhmPX/Ag0CsgzbeTUrh8zdR0YpwhN8S9ifoqN+ia3BkETxLcmUFmF0ptwA==";
284
- async function T(e) {
285
- const { alg: t } = e;
286
- return {
287
- reserveSize: await e.reserveSize(),
288
- alg: t
289
- };
290
- }
291
- function X(e, t) {
292
- const o = t, { tx: r } = e, n = new FinalizationRegistry((_) => {
293
- r.builder_free(_);
294
- });
295
- return {
296
- async new(_) {
297
- const a = await b(o, _), s = await r.builder_new(a), i = l(e, s, () => {
298
- n.unregister(i);
299
- });
300
- return n.register(i, s, i), i;
301
- },
302
- async fromDefinition(_, a) {
303
- const s = JSON.stringify(_), i = await b(o, a), c = await r.builder_fromJson(s, i), u = l(e, c, () => {
304
- n.unregister(u);
305
- });
306
- return n.register(u, c, u), u;
307
- },
308
- async fromArchive(_, a) {
309
- const s = await b(o, a), i = await r.builder_fromArchive(_, s), c = l(e, i, () => {
310
- n.unregister(c);
311
- });
312
- return n.register(c, i, c), c;
313
- }
314
- };
315
- }
316
- function l(e, t, o) {
317
- const { tx: r } = e;
318
- return {
319
- async setIntent(n) {
320
- await r.builder_setIntent(t, n);
321
- },
322
- async addAction(n) {
323
- await r.builder_addAction(t, n);
324
- },
325
- async addRedaction(n, _) {
326
- await r.builder_addRedaction(t, n, _);
327
- },
328
- async setRemoteUrl(n) {
329
- await r.builder_setRemoteUrl(t, n);
330
- },
331
- async setNoEmbed(n) {
332
- await r.builder_setNoEmbed(t, n);
333
- },
334
- async setThumbnailFromBlob(n, _) {
335
- await r.builder_setThumbnailFromBlob(t, n, _);
336
- },
337
- async addIngredient(n) {
338
- const _ = JSON.stringify(n);
339
- await r.builder_addIngredient(t, _);
340
- },
341
- async addIngredientFromBlob(n, _, a) {
342
- const s = JSON.stringify(n);
343
- await r.builder_addIngredientFromBlob(t, s, _, a);
344
- },
345
- async addResourceFromBlob(n, _) {
346
- await r.builder_addResourceFromBlob(t, n, _);
347
- },
348
- async getDefinition() {
349
- return await r.builder_getDefinition(t);
350
- },
351
- async toArchive() {
352
- return await r.builder_toArchive(t);
353
- },
354
- async sign(n, _, a) {
355
- const s = await T(n), i = e.registerSignReceiver(n.sign);
356
- return await r.builder_sign(
357
- t,
358
- i,
359
- s,
360
- _,
361
- a
362
- );
363
- },
364
- async signAndGetManifestBytes(n, _, a) {
365
- const s = await T(n), i = e.registerSignReceiver(n.sign);
366
- return await r.builder_signAndGetManifestBytes(
367
- t,
368
- i,
369
- s,
370
- _,
371
- a
372
- );
373
- },
374
- async free() {
375
- o(), await r.builder_free(t);
376
- }
377
- };
378
- }
379
- async function ee(e) {
380
- const { wasmSrc: t, settings: o } = e, r = typeof t == "string" ? await Y(t) : t, n = await b(o, void 0), _ = await k({ wasm: r, settingsString: n });
381
- return {
382
- reader: W(_, o),
383
- builder: X(_, o),
384
- dispose: _.terminate
385
- };
386
- }
387
- async function Y(e) {
388
- const t = await fetch(e, { integrity: V });
389
- return await WebAssembly.compileStreaming(t);
390
- }
391
- export {
392
- J as R,
393
- ee as c,
394
- R as i
395
- };