clauderan 0.1.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.
Files changed (4) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +215 -0
  3. package/dist/index.js +2828 -0
  4. package/package.json +40 -0
package/dist/index.js ADDED
@@ -0,0 +1,2828 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from "node:module";
3
+ var __create = Object.create;
4
+ var __getProtoOf = Object.getPrototypeOf;
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __toESM = (mod, isNodeMode, target) => {
9
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
10
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
11
+ for (let key of __getOwnPropNames(mod))
12
+ if (!__hasOwnProp.call(to, key))
13
+ __defProp(to, key, {
14
+ get: () => mod[key],
15
+ enumerable: true
16
+ });
17
+ return to;
18
+ };
19
+ var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
20
+ var __require = /* @__PURE__ */ createRequire(import.meta.url);
21
+
22
+ // node_modules/sql.js/dist/sql-wasm.js
23
+ var require_sql_wasm = __commonJS((exports, module) => {
24
+ var __dirname = "/Users/michaelliv/Projects/clauderan/node_modules/sql.js/dist";
25
+ var initSqlJsPromise = undefined;
26
+ var initSqlJs = function(moduleConfig) {
27
+ if (initSqlJsPromise) {
28
+ return initSqlJsPromise;
29
+ }
30
+ initSqlJsPromise = new Promise(function(resolveModule, reject) {
31
+ var Module = typeof moduleConfig !== "undefined" ? moduleConfig : {};
32
+ var originalOnAbortFunction = Module["onAbort"];
33
+ Module["onAbort"] = function(errorThatCausedAbort) {
34
+ reject(new Error(errorThatCausedAbort));
35
+ if (originalOnAbortFunction) {
36
+ originalOnAbortFunction(errorThatCausedAbort);
37
+ }
38
+ };
39
+ Module["postRun"] = Module["postRun"] || [];
40
+ Module["postRun"].push(function() {
41
+ resolveModule(Module);
42
+ });
43
+ module = undefined;
44
+ var f;
45
+ f ||= typeof Module != "undefined" ? Module : {};
46
+ var aa = typeof window == "object", ba = typeof WorkerGlobalScope != "undefined", ca = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string" && process.type != "renderer";
47
+ f.onRuntimeInitialized = function() {
48
+ function a(g, l) {
49
+ switch (typeof l) {
50
+ case "boolean":
51
+ dc(g, l ? 1 : 0);
52
+ break;
53
+ case "number":
54
+ ec(g, l);
55
+ break;
56
+ case "string":
57
+ fc(g, l, -1, -1);
58
+ break;
59
+ case "object":
60
+ if (l === null)
61
+ lb(g);
62
+ else if (l.length != null) {
63
+ var n = da(l, ea);
64
+ gc(g, n, l.length, -1);
65
+ fa(n);
66
+ } else
67
+ va(g, "Wrong API use : tried to return a value of an unknown type (" + l + ").", -1);
68
+ break;
69
+ default:
70
+ lb(g);
71
+ }
72
+ }
73
+ function b(g, l) {
74
+ for (var n = [], r = 0;r < g; r += 1) {
75
+ var t = m(l + 4 * r, "i32"), y = hc(t);
76
+ if (y === 1 || y === 2)
77
+ t = ic(t);
78
+ else if (y === 3)
79
+ t = jc(t);
80
+ else if (y === 4) {
81
+ y = t;
82
+ t = kc(y);
83
+ y = lc(y);
84
+ for (var L = new Uint8Array(t), J = 0;J < t; J += 1)
85
+ L[J] = p[y + J];
86
+ t = L;
87
+ } else
88
+ t = null;
89
+ n.push(t);
90
+ }
91
+ return n;
92
+ }
93
+ function c(g, l) {
94
+ this.Qa = g;
95
+ this.db = l;
96
+ this.Oa = 1;
97
+ this.lb = [];
98
+ }
99
+ function d(g, l) {
100
+ this.db = l;
101
+ l = ha(g) + 1;
102
+ this.eb = ia(l);
103
+ if (this.eb === null)
104
+ throw Error("Unable to allocate memory for the SQL string");
105
+ u(g, x, this.eb, l);
106
+ this.kb = this.eb;
107
+ this.Za = this.pb = null;
108
+ }
109
+ function e(g) {
110
+ this.filename = "dbfile_" + (4294967295 * Math.random() >>> 0);
111
+ if (g != null) {
112
+ var l = this.filename, n = "/", r = l;
113
+ n && (n = typeof n == "string" ? n : ja(n), r = l ? ka(n + "/" + l) : n);
114
+ l = la(true, true);
115
+ r = ma(r, l);
116
+ if (g) {
117
+ if (typeof g == "string") {
118
+ n = Array(g.length);
119
+ for (var t = 0, y = g.length;t < y; ++t)
120
+ n[t] = g.charCodeAt(t);
121
+ g = n;
122
+ }
123
+ na(r, l | 146);
124
+ n = oa(r, 577);
125
+ pa(n, g, 0, g.length, 0);
126
+ qa(n);
127
+ na(r, l);
128
+ }
129
+ }
130
+ this.handleError(q(this.filename, h));
131
+ this.db = m(h, "i32");
132
+ ob(this.db);
133
+ this.fb = {};
134
+ this.Sa = {};
135
+ }
136
+ var h = z(4), k = f.cwrap, q = k("sqlite3_open", "number", ["string", "number"]), w = k("sqlite3_close_v2", "number", ["number"]), v = k("sqlite3_exec", "number", ["number", "string", "number", "number", "number"]), C = k("sqlite3_changes", "number", ["number"]), G = k("sqlite3_prepare_v2", "number", ["number", "string", "number", "number", "number"]), pb = k("sqlite3_sql", "string", ["number"]), nc = k("sqlite3_normalized_sql", "string", ["number"]), qb = k("sqlite3_prepare_v2", "number", ["number", "number", "number", "number", "number"]), oc = k("sqlite3_bind_text", "number", ["number", "number", "number", "number", "number"]), rb = k("sqlite3_bind_blob", "number", ["number", "number", "number", "number", "number"]), pc = k("sqlite3_bind_double", "number", ["number", "number", "number"]), qc = k("sqlite3_bind_int", "number", ["number", "number", "number"]), rc = k("sqlite3_bind_parameter_index", "number", ["number", "string"]), sc = k("sqlite3_step", "number", ["number"]), tc = k("sqlite3_errmsg", "string", ["number"]), uc = k("sqlite3_column_count", "number", ["number"]), vc = k("sqlite3_data_count", "number", ["number"]), wc = k("sqlite3_column_double", "number", ["number", "number"]), sb = k("sqlite3_column_text", "string", ["number", "number"]), xc = k("sqlite3_column_blob", "number", ["number", "number"]), yc = k("sqlite3_column_bytes", "number", [
137
+ "number",
138
+ "number"
139
+ ]), zc = k("sqlite3_column_type", "number", ["number", "number"]), Ac = k("sqlite3_column_name", "string", ["number", "number"]), Bc = k("sqlite3_reset", "number", ["number"]), Cc = k("sqlite3_clear_bindings", "number", ["number"]), Dc = k("sqlite3_finalize", "number", ["number"]), tb = k("sqlite3_create_function_v2", "number", "number string number number number number number number number".split(" ")), hc = k("sqlite3_value_type", "number", ["number"]), kc = k("sqlite3_value_bytes", "number", ["number"]), jc = k("sqlite3_value_text", "string", ["number"]), lc = k("sqlite3_value_blob", "number", ["number"]), ic = k("sqlite3_value_double", "number", ["number"]), ec = k("sqlite3_result_double", "", ["number", "number"]), lb = k("sqlite3_result_null", "", ["number"]), fc = k("sqlite3_result_text", "", ["number", "string", "number", "number"]), gc = k("sqlite3_result_blob", "", ["number", "number", "number", "number"]), dc = k("sqlite3_result_int", "", ["number", "number"]), va = k("sqlite3_result_error", "", ["number", "string", "number"]), ub = k("sqlite3_aggregate_context", "number", ["number", "number"]), ob = k("RegisterExtensionFunctions", "number", ["number"]), vb = k("sqlite3_update_hook", "number", ["number", "number", "number"]);
140
+ c.prototype.bind = function(g) {
141
+ if (!this.Qa)
142
+ throw "Statement closed";
143
+ this.reset();
144
+ return Array.isArray(g) ? this.Cb(g) : g != null && typeof g === "object" ? this.Db(g) : true;
145
+ };
146
+ c.prototype.step = function() {
147
+ if (!this.Qa)
148
+ throw "Statement closed";
149
+ this.Oa = 1;
150
+ var g = sc(this.Qa);
151
+ switch (g) {
152
+ case 100:
153
+ return true;
154
+ case 101:
155
+ return false;
156
+ default:
157
+ throw this.db.handleError(g);
158
+ }
159
+ };
160
+ c.prototype.wb = function(g) {
161
+ g == null && (g = this.Oa, this.Oa += 1);
162
+ return wc(this.Qa, g);
163
+ };
164
+ c.prototype.Gb = function(g) {
165
+ g == null && (g = this.Oa, this.Oa += 1);
166
+ g = sb(this.Qa, g);
167
+ if (typeof BigInt !== "function")
168
+ throw Error("BigInt is not supported");
169
+ return BigInt(g);
170
+ };
171
+ c.prototype.Hb = function(g) {
172
+ g == null && (g = this.Oa, this.Oa += 1);
173
+ return sb(this.Qa, g);
174
+ };
175
+ c.prototype.getBlob = function(g) {
176
+ g == null && (g = this.Oa, this.Oa += 1);
177
+ var l = yc(this.Qa, g);
178
+ g = xc(this.Qa, g);
179
+ for (var n = new Uint8Array(l), r = 0;r < l; r += 1)
180
+ n[r] = p[g + r];
181
+ return n;
182
+ };
183
+ c.prototype.get = function(g, l) {
184
+ l = l || {};
185
+ g != null && this.bind(g) && this.step();
186
+ g = [];
187
+ for (var n = vc(this.Qa), r = 0;r < n; r += 1)
188
+ switch (zc(this.Qa, r)) {
189
+ case 1:
190
+ var t = l.useBigInt ? this.Gb(r) : this.wb(r);
191
+ g.push(t);
192
+ break;
193
+ case 2:
194
+ g.push(this.wb(r));
195
+ break;
196
+ case 3:
197
+ g.push(this.Hb(r));
198
+ break;
199
+ case 4:
200
+ g.push(this.getBlob(r));
201
+ break;
202
+ default:
203
+ g.push(null);
204
+ }
205
+ return g;
206
+ };
207
+ c.prototype.getColumnNames = function() {
208
+ for (var g = [], l = uc(this.Qa), n = 0;n < l; n += 1)
209
+ g.push(Ac(this.Qa, n));
210
+ return g;
211
+ };
212
+ c.prototype.getAsObject = function(g, l) {
213
+ g = this.get(g, l);
214
+ l = this.getColumnNames();
215
+ for (var n = {}, r = 0;r < l.length; r += 1)
216
+ n[l[r]] = g[r];
217
+ return n;
218
+ };
219
+ c.prototype.getSQL = function() {
220
+ return pb(this.Qa);
221
+ };
222
+ c.prototype.getNormalizedSQL = function() {
223
+ return nc(this.Qa);
224
+ };
225
+ c.prototype.run = function(g) {
226
+ g != null && this.bind(g);
227
+ this.step();
228
+ return this.reset();
229
+ };
230
+ c.prototype.sb = function(g, l) {
231
+ l == null && (l = this.Oa, this.Oa += 1);
232
+ g = ra(g);
233
+ var n = da(g, ea);
234
+ this.lb.push(n);
235
+ this.db.handleError(oc(this.Qa, l, n, g.length - 1, 0));
236
+ };
237
+ c.prototype.Bb = function(g, l) {
238
+ l == null && (l = this.Oa, this.Oa += 1);
239
+ var n = da(g, ea);
240
+ this.lb.push(n);
241
+ this.db.handleError(rb(this.Qa, l, n, g.length, 0));
242
+ };
243
+ c.prototype.rb = function(g, l) {
244
+ l == null && (l = this.Oa, this.Oa += 1);
245
+ this.db.handleError((g === (g | 0) ? qc : pc)(this.Qa, l, g));
246
+ };
247
+ c.prototype.Eb = function(g) {
248
+ g == null && (g = this.Oa, this.Oa += 1);
249
+ rb(this.Qa, g, 0, 0, 0);
250
+ };
251
+ c.prototype.tb = function(g, l) {
252
+ l == null && (l = this.Oa, this.Oa += 1);
253
+ switch (typeof g) {
254
+ case "string":
255
+ this.sb(g, l);
256
+ return;
257
+ case "number":
258
+ this.rb(g, l);
259
+ return;
260
+ case "bigint":
261
+ this.sb(g.toString(), l);
262
+ return;
263
+ case "boolean":
264
+ this.rb(g + 0, l);
265
+ return;
266
+ case "object":
267
+ if (g === null) {
268
+ this.Eb(l);
269
+ return;
270
+ }
271
+ if (g.length != null) {
272
+ this.Bb(g, l);
273
+ return;
274
+ }
275
+ }
276
+ throw "Wrong API use : tried to bind a value of an unknown type (" + g + ").";
277
+ };
278
+ c.prototype.Db = function(g) {
279
+ var l = this;
280
+ Object.keys(g).forEach(function(n) {
281
+ var r = rc(l.Qa, n);
282
+ r !== 0 && l.tb(g[n], r);
283
+ });
284
+ return true;
285
+ };
286
+ c.prototype.Cb = function(g) {
287
+ for (var l = 0;l < g.length; l += 1)
288
+ this.tb(g[l], l + 1);
289
+ return true;
290
+ };
291
+ c.prototype.reset = function() {
292
+ this.freemem();
293
+ return Cc(this.Qa) === 0 && Bc(this.Qa) === 0;
294
+ };
295
+ c.prototype.freemem = function() {
296
+ for (var g;(g = this.lb.pop()) !== undefined; )
297
+ fa(g);
298
+ };
299
+ c.prototype.free = function() {
300
+ this.freemem();
301
+ var g = Dc(this.Qa) === 0;
302
+ delete this.db.fb[this.Qa];
303
+ this.Qa = 0;
304
+ return g;
305
+ };
306
+ d.prototype.next = function() {
307
+ if (this.eb === null)
308
+ return { done: true };
309
+ this.Za !== null && (this.Za.free(), this.Za = null);
310
+ if (!this.db.db)
311
+ throw this.mb(), Error("Database closed");
312
+ var g = sa(), l = z(4);
313
+ ta(h);
314
+ ta(l);
315
+ try {
316
+ this.db.handleError(qb(this.db.db, this.kb, -1, h, l));
317
+ this.kb = m(l, "i32");
318
+ var n = m(h, "i32");
319
+ if (n === 0)
320
+ return this.mb(), { done: true };
321
+ this.Za = new c(n, this.db);
322
+ this.db.fb[n] = this.Za;
323
+ return { value: this.Za, done: false };
324
+ } catch (r) {
325
+ throw this.pb = ua(this.kb), this.mb(), r;
326
+ } finally {
327
+ wa(g);
328
+ }
329
+ };
330
+ d.prototype.mb = function() {
331
+ fa(this.eb);
332
+ this.eb = null;
333
+ };
334
+ d.prototype.getRemainingSQL = function() {
335
+ return this.pb !== null ? this.pb : ua(this.kb);
336
+ };
337
+ typeof Symbol === "function" && typeof Symbol.iterator === "symbol" && (d.prototype[Symbol.iterator] = function() {
338
+ return this;
339
+ });
340
+ e.prototype.run = function(g, l) {
341
+ if (!this.db)
342
+ throw "Database closed";
343
+ if (l) {
344
+ g = this.prepare(g, l);
345
+ try {
346
+ g.step();
347
+ } finally {
348
+ g.free();
349
+ }
350
+ } else
351
+ this.handleError(v(this.db, g, 0, 0, h));
352
+ return this;
353
+ };
354
+ e.prototype.exec = function(g, l, n) {
355
+ if (!this.db)
356
+ throw "Database closed";
357
+ var r = sa(), t = null;
358
+ try {
359
+ var y = xa(g), L = z(4);
360
+ for (g = [];m(y, "i8") !== 0; ) {
361
+ ta(h);
362
+ ta(L);
363
+ this.handleError(qb(this.db, y, -1, h, L));
364
+ var J = m(h, "i32");
365
+ y = m(L, "i32");
366
+ if (J !== 0) {
367
+ var I = null;
368
+ t = new c(J, this);
369
+ for (l != null && t.bind(l);t.step(); )
370
+ I === null && (I = { columns: t.getColumnNames(), values: [] }, g.push(I)), I.values.push(t.get(null, n));
371
+ t.free();
372
+ }
373
+ }
374
+ return g;
375
+ } catch (M) {
376
+ throw t && t.free(), M;
377
+ } finally {
378
+ wa(r);
379
+ }
380
+ };
381
+ e.prototype.each = function(g, l, n, r, t) {
382
+ typeof l === "function" && (r = n, n = l, l = undefined);
383
+ g = this.prepare(g, l);
384
+ try {
385
+ for (;g.step(); )
386
+ n(g.getAsObject(null, t));
387
+ } finally {
388
+ g.free();
389
+ }
390
+ if (typeof r === "function")
391
+ return r();
392
+ };
393
+ e.prototype.prepare = function(g, l) {
394
+ ta(h);
395
+ this.handleError(G(this.db, g, -1, h, 0));
396
+ g = m(h, "i32");
397
+ if (g === 0)
398
+ throw "Nothing to prepare";
399
+ var n = new c(g, this);
400
+ l != null && n.bind(l);
401
+ return this.fb[g] = n;
402
+ };
403
+ e.prototype.iterateStatements = function(g) {
404
+ return new d(g, this);
405
+ };
406
+ e.prototype["export"] = function() {
407
+ Object.values(this.fb).forEach(function(l) {
408
+ l.free();
409
+ });
410
+ Object.values(this.Sa).forEach(A);
411
+ this.Sa = {};
412
+ this.handleError(w(this.db));
413
+ var g = ya(this.filename);
414
+ this.handleError(q(this.filename, h));
415
+ this.db = m(h, "i32");
416
+ ob(this.db);
417
+ return g;
418
+ };
419
+ e.prototype.close = function() {
420
+ this.db !== null && (Object.values(this.fb).forEach(function(g) {
421
+ g.free();
422
+ }), Object.values(this.Sa).forEach(A), this.Sa = {}, this.Ya && (A(this.Ya), this.Ya = undefined), this.handleError(w(this.db)), za("/" + this.filename), this.db = null);
423
+ };
424
+ e.prototype.handleError = function(g) {
425
+ if (g === 0)
426
+ return null;
427
+ g = tc(this.db);
428
+ throw Error(g);
429
+ };
430
+ e.prototype.getRowsModified = function() {
431
+ return C(this.db);
432
+ };
433
+ e.prototype.create_function = function(g, l) {
434
+ Object.prototype.hasOwnProperty.call(this.Sa, g) && (A(this.Sa[g]), delete this.Sa[g]);
435
+ var n = Aa(function(r, t, y) {
436
+ t = b(t, y);
437
+ try {
438
+ var L = l.apply(null, t);
439
+ } catch (J) {
440
+ va(r, J, -1);
441
+ return;
442
+ }
443
+ a(r, L);
444
+ }, "viii");
445
+ this.Sa[g] = n;
446
+ this.handleError(tb(this.db, g, l.length, 1, 0, n, 0, 0, 0));
447
+ return this;
448
+ };
449
+ e.prototype.create_aggregate = function(g, l) {
450
+ var n = l.init || function() {
451
+ return null;
452
+ }, r = l.finalize || function(I) {
453
+ return I;
454
+ }, t = l.step;
455
+ if (!t)
456
+ throw "An aggregate function must have a step function in " + g;
457
+ var y = {};
458
+ Object.hasOwnProperty.call(this.Sa, g) && (A(this.Sa[g]), delete this.Sa[g]);
459
+ l = g + "__finalize";
460
+ Object.hasOwnProperty.call(this.Sa, l) && (A(this.Sa[l]), delete this.Sa[l]);
461
+ var L = Aa(function(I, M, Ra) {
462
+ var X = ub(I, 1);
463
+ Object.hasOwnProperty.call(y, X) || (y[X] = n());
464
+ M = b(M, Ra);
465
+ M = [y[X]].concat(M);
466
+ try {
467
+ y[X] = t.apply(null, M);
468
+ } catch (Fc) {
469
+ delete y[X], va(I, Fc, -1);
470
+ }
471
+ }, "viii"), J = Aa(function(I) {
472
+ var M = ub(I, 1);
473
+ try {
474
+ var Ra = r(y[M]);
475
+ } catch (X) {
476
+ delete y[M];
477
+ va(I, X, -1);
478
+ return;
479
+ }
480
+ a(I, Ra);
481
+ delete y[M];
482
+ }, "vi");
483
+ this.Sa[g] = L;
484
+ this.Sa[l] = J;
485
+ this.handleError(tb(this.db, g, t.length - 1, 1, 0, 0, L, J, 0));
486
+ return this;
487
+ };
488
+ e.prototype.updateHook = function(g) {
489
+ this.Ya && (vb(this.db, 0, 0), A(this.Ya), this.Ya = undefined);
490
+ g && (this.Ya = Aa(function(l, n, r, t, y) {
491
+ switch (n) {
492
+ case 18:
493
+ l = "insert";
494
+ break;
495
+ case 23:
496
+ l = "update";
497
+ break;
498
+ case 9:
499
+ l = "delete";
500
+ break;
501
+ default:
502
+ throw "unknown operationCode in updateHook callback: " + n;
503
+ }
504
+ r = r ? B(x, r) : "";
505
+ t = t ? B(x, t) : "";
506
+ if (y > Number.MAX_SAFE_INTEGER)
507
+ throw "rowId too big to fit inside a Number";
508
+ g(l, r, t, Number(y));
509
+ }, "viiiij"), vb(this.db, this.Ya, 0));
510
+ };
511
+ f.Database = e;
512
+ };
513
+ var Ba = { ...f }, Ca = "./this.program", Da = (a, b) => {
514
+ throw b;
515
+ }, D = "", Ea, Fa;
516
+ if (ca) {
517
+ var fs = __require("fs");
518
+ __require("path");
519
+ D = __dirname + "/";
520
+ Fa = (a) => {
521
+ a = Ga(a) ? new URL(a) : a;
522
+ return fs.readFileSync(a);
523
+ };
524
+ Ea = async (a) => {
525
+ a = Ga(a) ? new URL(a) : a;
526
+ return fs.readFileSync(a, undefined);
527
+ };
528
+ !f.thisProgram && 1 < process.argv.length && (Ca = process.argv[1].replace(/\\/g, "/"));
529
+ process.argv.slice(2);
530
+ typeof module != "undefined" && (module.exports = f);
531
+ Da = (a, b) => {
532
+ process.exitCode = a;
533
+ throw b;
534
+ };
535
+ } else if (aa || ba)
536
+ ba ? D = self.location.href : typeof document != "undefined" && document.currentScript && (D = document.currentScript.src), D = D.startsWith("blob:") ? "" : D.slice(0, D.replace(/[?#].*/, "").lastIndexOf("/") + 1), ba && (Fa = (a) => {
537
+ var b = new XMLHttpRequest;
538
+ b.open("GET", a, false);
539
+ b.responseType = "arraybuffer";
540
+ b.send(null);
541
+ return new Uint8Array(b.response);
542
+ }), Ea = async (a) => {
543
+ if (Ga(a))
544
+ return new Promise((c, d) => {
545
+ var e = new XMLHttpRequest;
546
+ e.open("GET", a, true);
547
+ e.responseType = "arraybuffer";
548
+ e.onload = () => {
549
+ e.status == 200 || e.status == 0 && e.response ? c(e.response) : d(e.status);
550
+ };
551
+ e.onerror = d;
552
+ e.send(null);
553
+ });
554
+ var b = await fetch(a, { credentials: "same-origin" });
555
+ if (b.ok)
556
+ return b.arrayBuffer();
557
+ throw Error(b.status + " : " + b.url);
558
+ };
559
+ var Ha = f.print || console.log.bind(console), Ia = f.printErr || console.error.bind(console);
560
+ Object.assign(f, Ba);
561
+ Ba = null;
562
+ f.thisProgram && (Ca = f.thisProgram);
563
+ var Ja = f.wasmBinary, Ka, La = false, Ma, p, x, Na, E, F, Oa, H, Pa, Ga = (a) => a.startsWith("file://");
564
+ function Qa() {
565
+ var a = Ka.buffer;
566
+ f.HEAP8 = p = new Int8Array(a);
567
+ f.HEAP16 = Na = new Int16Array(a);
568
+ f.HEAPU8 = x = new Uint8Array(a);
569
+ f.HEAPU16 = new Uint16Array(a);
570
+ f.HEAP32 = E = new Int32Array(a);
571
+ f.HEAPU32 = F = new Uint32Array(a);
572
+ f.HEAPF32 = Oa = new Float32Array(a);
573
+ f.HEAPF64 = Pa = new Float64Array(a);
574
+ f.HEAP64 = H = new BigInt64Array(a);
575
+ f.HEAPU64 = new BigUint64Array(a);
576
+ }
577
+ var K = 0, Sa = null;
578
+ function Ta(a) {
579
+ f.onAbort?.(a);
580
+ a = "Aborted(" + a + ")";
581
+ Ia(a);
582
+ La = true;
583
+ throw new WebAssembly.RuntimeError(a + ". Build with -sASSERTIONS for more info.");
584
+ }
585
+ var Ua;
586
+ async function Va(a) {
587
+ if (!Ja)
588
+ try {
589
+ var b = await Ea(a);
590
+ return new Uint8Array(b);
591
+ } catch {}
592
+ if (a == Ua && Ja)
593
+ a = new Uint8Array(Ja);
594
+ else if (Fa)
595
+ a = Fa(a);
596
+ else
597
+ throw "both async and sync fetching of the wasm failed";
598
+ return a;
599
+ }
600
+ async function Wa(a, b) {
601
+ try {
602
+ var c = await Va(a);
603
+ return await WebAssembly.instantiate(c, b);
604
+ } catch (d) {
605
+ Ia(`failed to asynchronously prepare wasm: ${d}`), Ta(d);
606
+ }
607
+ }
608
+ async function Xa(a) {
609
+ var b = Ua;
610
+ if (!Ja && typeof WebAssembly.instantiateStreaming == "function" && !Ga(b) && !ca)
611
+ try {
612
+ var c = fetch(b, { credentials: "same-origin" });
613
+ return await WebAssembly.instantiateStreaming(c, a);
614
+ } catch (d) {
615
+ Ia(`wasm streaming compile failed: ${d}`), Ia("falling back to ArrayBuffer instantiation");
616
+ }
617
+ return Wa(b, a);
618
+ }
619
+
620
+ class Ya {
621
+ name = "ExitStatus";
622
+ constructor(a) {
623
+ this.message = `Program terminated with exit(${a})`;
624
+ this.status = a;
625
+ }
626
+ }
627
+ var Za = (a) => {
628
+ for (;0 < a.length; )
629
+ a.shift()(f);
630
+ }, $a = [], ab = [], bb = () => {
631
+ var a = f.preRun.shift();
632
+ ab.unshift(a);
633
+ };
634
+ function m(a, b = "i8") {
635
+ b.endsWith("*") && (b = "*");
636
+ switch (b) {
637
+ case "i1":
638
+ return p[a];
639
+ case "i8":
640
+ return p[a];
641
+ case "i16":
642
+ return Na[a >> 1];
643
+ case "i32":
644
+ return E[a >> 2];
645
+ case "i64":
646
+ return H[a >> 3];
647
+ case "float":
648
+ return Oa[a >> 2];
649
+ case "double":
650
+ return Pa[a >> 3];
651
+ case "*":
652
+ return F[a >> 2];
653
+ default:
654
+ Ta(`invalid type for getValue: ${b}`);
655
+ }
656
+ }
657
+ var cb = f.noExitRuntime || true;
658
+ function ta(a) {
659
+ var b = "i32";
660
+ b.endsWith("*") && (b = "*");
661
+ switch (b) {
662
+ case "i1":
663
+ p[a] = 0;
664
+ break;
665
+ case "i8":
666
+ p[a] = 0;
667
+ break;
668
+ case "i16":
669
+ Na[a >> 1] = 0;
670
+ break;
671
+ case "i32":
672
+ E[a >> 2] = 0;
673
+ break;
674
+ case "i64":
675
+ H[a >> 3] = BigInt(0);
676
+ break;
677
+ case "float":
678
+ Oa[a >> 2] = 0;
679
+ break;
680
+ case "double":
681
+ Pa[a >> 3] = 0;
682
+ break;
683
+ case "*":
684
+ F[a >> 2] = 0;
685
+ break;
686
+ default:
687
+ Ta(`invalid type for setValue: ${b}`);
688
+ }
689
+ }
690
+ var db = typeof TextDecoder != "undefined" ? new TextDecoder : undefined, B = (a, b = 0, c = NaN) => {
691
+ var d = b + c;
692
+ for (c = b;a[c] && !(c >= d); )
693
+ ++c;
694
+ if (16 < c - b && a.buffer && db)
695
+ return db.decode(a.subarray(b, c));
696
+ for (d = "";b < c; ) {
697
+ var e = a[b++];
698
+ if (e & 128) {
699
+ var h = a[b++] & 63;
700
+ if ((e & 224) == 192)
701
+ d += String.fromCharCode((e & 31) << 6 | h);
702
+ else {
703
+ var k = a[b++] & 63;
704
+ e = (e & 240) == 224 ? (e & 15) << 12 | h << 6 | k : (e & 7) << 18 | h << 12 | k << 6 | a[b++] & 63;
705
+ 65536 > e ? d += String.fromCharCode(e) : (e -= 65536, d += String.fromCharCode(55296 | e >> 10, 56320 | e & 1023));
706
+ }
707
+ } else
708
+ d += String.fromCharCode(e);
709
+ }
710
+ return d;
711
+ }, ua = (a, b) => a ? B(x, a, b) : "", eb = (a, b) => {
712
+ for (var c = 0, d = a.length - 1;0 <= d; d--) {
713
+ var e = a[d];
714
+ e === "." ? a.splice(d, 1) : e === ".." ? (a.splice(d, 1), c++) : c && (a.splice(d, 1), c--);
715
+ }
716
+ if (b)
717
+ for (;c; c--)
718
+ a.unshift("..");
719
+ return a;
720
+ }, ka = (a) => {
721
+ var b = a.charAt(0) === "/", c = a.slice(-1) === "/";
722
+ (a = eb(a.split("/").filter((d) => !!d), !b).join("/")) || b || (a = ".");
723
+ a && c && (a += "/");
724
+ return (b ? "/" : "") + a;
725
+ }, fb = (a) => {
726
+ var b = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);
727
+ a = b[0];
728
+ b = b[1];
729
+ if (!a && !b)
730
+ return ".";
731
+ b &&= b.slice(0, -1);
732
+ return a + b;
733
+ }, gb = (a) => a && a.match(/([^\/]+|\/)\/*$/)[1], hb = () => {
734
+ if (ca) {
735
+ var a = __require("crypto");
736
+ return (b) => a.randomFillSync(b);
737
+ }
738
+ return (b) => crypto.getRandomValues(b);
739
+ }, ib = (a) => {
740
+ (ib = hb())(a);
741
+ }, jb = (...a) => {
742
+ for (var b = "", c = false, d = a.length - 1;-1 <= d && !c; d--) {
743
+ c = 0 <= d ? a[d] : "/";
744
+ if (typeof c != "string")
745
+ throw new TypeError("Arguments to path.resolve must be strings");
746
+ if (!c)
747
+ return "";
748
+ b = c + "/" + b;
749
+ c = c.charAt(0) === "/";
750
+ }
751
+ b = eb(b.split("/").filter((e) => !!e), !c).join("/");
752
+ return (c ? "/" : "") + b || ".";
753
+ }, kb = [], ha = (a) => {
754
+ for (var b = 0, c = 0;c < a.length; ++c) {
755
+ var d = a.charCodeAt(c);
756
+ 127 >= d ? b++ : 2047 >= d ? b += 2 : 55296 <= d && 57343 >= d ? (b += 4, ++c) : b += 3;
757
+ }
758
+ return b;
759
+ }, u = (a, b, c, d) => {
760
+ if (!(0 < d))
761
+ return 0;
762
+ var e = c;
763
+ d = c + d - 1;
764
+ for (var h = 0;h < a.length; ++h) {
765
+ var k = a.charCodeAt(h);
766
+ if (55296 <= k && 57343 >= k) {
767
+ var q = a.charCodeAt(++h);
768
+ k = 65536 + ((k & 1023) << 10) | q & 1023;
769
+ }
770
+ if (127 >= k) {
771
+ if (c >= d)
772
+ break;
773
+ b[c++] = k;
774
+ } else {
775
+ if (2047 >= k) {
776
+ if (c + 1 >= d)
777
+ break;
778
+ b[c++] = 192 | k >> 6;
779
+ } else {
780
+ if (65535 >= k) {
781
+ if (c + 2 >= d)
782
+ break;
783
+ b[c++] = 224 | k >> 12;
784
+ } else {
785
+ if (c + 3 >= d)
786
+ break;
787
+ b[c++] = 240 | k >> 18;
788
+ b[c++] = 128 | k >> 12 & 63;
789
+ }
790
+ b[c++] = 128 | k >> 6 & 63;
791
+ }
792
+ b[c++] = 128 | k & 63;
793
+ }
794
+ }
795
+ b[c] = 0;
796
+ return c - e;
797
+ }, ra = (a, b) => {
798
+ var c = Array(ha(a) + 1);
799
+ a = u(a, c, 0, c.length);
800
+ b && (c.length = a);
801
+ return c;
802
+ }, mb = [];
803
+ function nb(a, b) {
804
+ mb[a] = { input: [], output: [], cb: b };
805
+ wb(a, xb);
806
+ }
807
+ var xb = { open(a) {
808
+ var b = mb[a.node.rdev];
809
+ if (!b)
810
+ throw new N(43);
811
+ a.tty = b;
812
+ a.seekable = false;
813
+ }, close(a) {
814
+ a.tty.cb.fsync(a.tty);
815
+ }, fsync(a) {
816
+ a.tty.cb.fsync(a.tty);
817
+ }, read(a, b, c, d) {
818
+ if (!a.tty || !a.tty.cb.xb)
819
+ throw new N(60);
820
+ for (var e = 0, h = 0;h < d; h++) {
821
+ try {
822
+ var k = a.tty.cb.xb(a.tty);
823
+ } catch (q) {
824
+ throw new N(29);
825
+ }
826
+ if (k === undefined && e === 0)
827
+ throw new N(6);
828
+ if (k === null || k === undefined)
829
+ break;
830
+ e++;
831
+ b[c + h] = k;
832
+ }
833
+ e && (a.node.atime = Date.now());
834
+ return e;
835
+ }, write(a, b, c, d) {
836
+ if (!a.tty || !a.tty.cb.qb)
837
+ throw new N(60);
838
+ try {
839
+ for (var e = 0;e < d; e++)
840
+ a.tty.cb.qb(a.tty, b[c + e]);
841
+ } catch (h) {
842
+ throw new N(29);
843
+ }
844
+ d && (a.node.mtime = a.node.ctime = Date.now());
845
+ return e;
846
+ } }, yb = { xb() {
847
+ a: {
848
+ if (!kb.length) {
849
+ var a = null;
850
+ if (ca) {
851
+ var b = Buffer.alloc(256), c = 0, d = process.stdin.fd;
852
+ try {
853
+ c = fs.readSync(d, b, 0, 256);
854
+ } catch (e) {
855
+ if (e.toString().includes("EOF"))
856
+ c = 0;
857
+ else
858
+ throw e;
859
+ }
860
+ 0 < c && (a = b.slice(0, c).toString("utf-8"));
861
+ } else
862
+ typeof window != "undefined" && typeof window.prompt == "function" && (a = window.prompt("Input: "), a !== null && (a += `
863
+ `));
864
+ if (!a) {
865
+ a = null;
866
+ break a;
867
+ }
868
+ kb = ra(a, true);
869
+ }
870
+ a = kb.shift();
871
+ }
872
+ return a;
873
+ }, qb(a, b) {
874
+ b === null || b === 10 ? (Ha(B(a.output)), a.output = []) : b != 0 && a.output.push(b);
875
+ }, fsync(a) {
876
+ 0 < a.output?.length && (Ha(B(a.output)), a.output = []);
877
+ }, Tb() {
878
+ return { Ob: 25856, Qb: 5, Nb: 191, Pb: 35387, Mb: [3, 28, 127, 21, 4, 0, 1, 0, 17, 19, 26, 0, 18, 15, 23, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] };
879
+ }, Ub() {
880
+ return 0;
881
+ }, Vb() {
882
+ return [24, 80];
883
+ } }, zb = { qb(a, b) {
884
+ b === null || b === 10 ? (Ia(B(a.output)), a.output = []) : b != 0 && a.output.push(b);
885
+ }, fsync(a) {
886
+ 0 < a.output?.length && (Ia(B(a.output)), a.output = []);
887
+ } }, O = { Wa: null, Xa() {
888
+ return O.createNode(null, "/", 16895, 0);
889
+ }, createNode(a, b, c, d) {
890
+ if ((c & 61440) === 24576 || (c & 61440) === 4096)
891
+ throw new N(63);
892
+ O.Wa || (O.Wa = { dir: { node: { Ta: O.La.Ta, Ua: O.La.Ua, lookup: O.La.lookup, hb: O.La.hb, rename: O.La.rename, unlink: O.La.unlink, rmdir: O.La.rmdir, readdir: O.La.readdir, symlink: O.La.symlink }, stream: { Va: O.Ma.Va } }, file: { node: { Ta: O.La.Ta, Ua: O.La.Ua }, stream: { Va: O.Ma.Va, read: O.Ma.read, write: O.Ma.write, ib: O.Ma.ib, jb: O.Ma.jb } }, link: { node: { Ta: O.La.Ta, Ua: O.La.Ua, readlink: O.La.readlink }, stream: {} }, ub: { node: { Ta: O.La.Ta, Ua: O.La.Ua }, stream: Ab } });
893
+ c = Bb(a, b, c, d);
894
+ P(c.mode) ? (c.La = O.Wa.dir.node, c.Ma = O.Wa.dir.stream, c.Na = {}) : (c.mode & 61440) === 32768 ? (c.La = O.Wa.file.node, c.Ma = O.Wa.file.stream, c.Ra = 0, c.Na = null) : (c.mode & 61440) === 40960 ? (c.La = O.Wa.link.node, c.Ma = O.Wa.link.stream) : (c.mode & 61440) === 8192 && (c.La = O.Wa.ub.node, c.Ma = O.Wa.ub.stream);
895
+ c.atime = c.mtime = c.ctime = Date.now();
896
+ a && (a.Na[b] = c, a.atime = a.mtime = a.ctime = c.atime);
897
+ return c;
898
+ }, Sb(a) {
899
+ return a.Na ? a.Na.subarray ? a.Na.subarray(0, a.Ra) : new Uint8Array(a.Na) : new Uint8Array(0);
900
+ }, La: { Ta(a) {
901
+ var b = {};
902
+ b.dev = (a.mode & 61440) === 8192 ? a.id : 1;
903
+ b.ino = a.id;
904
+ b.mode = a.mode;
905
+ b.nlink = 1;
906
+ b.uid = 0;
907
+ b.gid = 0;
908
+ b.rdev = a.rdev;
909
+ P(a.mode) ? b.size = 4096 : (a.mode & 61440) === 32768 ? b.size = a.Ra : (a.mode & 61440) === 40960 ? b.size = a.link.length : b.size = 0;
910
+ b.atime = new Date(a.atime);
911
+ b.mtime = new Date(a.mtime);
912
+ b.ctime = new Date(a.ctime);
913
+ b.blksize = 4096;
914
+ b.blocks = Math.ceil(b.size / b.blksize);
915
+ return b;
916
+ }, Ua(a, b) {
917
+ for (var c of ["mode", "atime", "mtime", "ctime"])
918
+ b[c] != null && (a[c] = b[c]);
919
+ b.size !== undefined && (b = b.size, a.Ra != b && (b == 0 ? (a.Na = null, a.Ra = 0) : (c = a.Na, a.Na = new Uint8Array(b), c && a.Na.set(c.subarray(0, Math.min(b, a.Ra))), a.Ra = b)));
920
+ }, lookup() {
921
+ throw O.vb;
922
+ }, hb(a, b, c, d) {
923
+ return O.createNode(a, b, c, d);
924
+ }, rename(a, b, c) {
925
+ try {
926
+ var d = Q(b, c);
927
+ } catch (h) {}
928
+ if (d) {
929
+ if (P(a.mode))
930
+ for (var e in d.Na)
931
+ throw new N(55);
932
+ Cb(d);
933
+ }
934
+ delete a.parent.Na[a.name];
935
+ b.Na[c] = a;
936
+ a.name = c;
937
+ b.ctime = b.mtime = a.parent.ctime = a.parent.mtime = Date.now();
938
+ }, unlink(a, b) {
939
+ delete a.Na[b];
940
+ a.ctime = a.mtime = Date.now();
941
+ }, rmdir(a, b) {
942
+ var c = Q(a, b), d;
943
+ for (d in c.Na)
944
+ throw new N(55);
945
+ delete a.Na[b];
946
+ a.ctime = a.mtime = Date.now();
947
+ }, readdir(a) {
948
+ return [".", "..", ...Object.keys(a.Na)];
949
+ }, symlink(a, b, c) {
950
+ a = O.createNode(a, b, 41471, 0);
951
+ a.link = c;
952
+ return a;
953
+ }, readlink(a) {
954
+ if ((a.mode & 61440) !== 40960)
955
+ throw new N(28);
956
+ return a.link;
957
+ } }, Ma: { read(a, b, c, d, e) {
958
+ var h = a.node.Na;
959
+ if (e >= a.node.Ra)
960
+ return 0;
961
+ a = Math.min(a.node.Ra - e, d);
962
+ if (8 < a && h.subarray)
963
+ b.set(h.subarray(e, e + a), c);
964
+ else
965
+ for (d = 0;d < a; d++)
966
+ b[c + d] = h[e + d];
967
+ return a;
968
+ }, write(a, b, c, d, e, h) {
969
+ b.buffer === p.buffer && (h = false);
970
+ if (!d)
971
+ return 0;
972
+ a = a.node;
973
+ a.mtime = a.ctime = Date.now();
974
+ if (b.subarray && (!a.Na || a.Na.subarray)) {
975
+ if (h)
976
+ return a.Na = b.subarray(c, c + d), a.Ra = d;
977
+ if (a.Ra === 0 && e === 0)
978
+ return a.Na = b.slice(c, c + d), a.Ra = d;
979
+ if (e + d <= a.Ra)
980
+ return a.Na.set(b.subarray(c, c + d), e), d;
981
+ }
982
+ h = e + d;
983
+ var k = a.Na ? a.Na.length : 0;
984
+ k >= h || (h = Math.max(h, k * (1048576 > k ? 2 : 1.125) >>> 0), k != 0 && (h = Math.max(h, 256)), k = a.Na, a.Na = new Uint8Array(h), 0 < a.Ra && a.Na.set(k.subarray(0, a.Ra), 0));
985
+ if (a.Na.subarray && b.subarray)
986
+ a.Na.set(b.subarray(c, c + d), e);
987
+ else
988
+ for (h = 0;h < d; h++)
989
+ a.Na[e + h] = b[c + h];
990
+ a.Ra = Math.max(a.Ra, e + d);
991
+ return d;
992
+ }, Va(a, b, c) {
993
+ c === 1 ? b += a.position : c === 2 && (a.node.mode & 61440) === 32768 && (b += a.node.Ra);
994
+ if (0 > b)
995
+ throw new N(28);
996
+ return b;
997
+ }, ib(a, b, c, d, e) {
998
+ if ((a.node.mode & 61440) !== 32768)
999
+ throw new N(43);
1000
+ a = a.node.Na;
1001
+ if (e & 2 || !a || a.buffer !== p.buffer) {
1002
+ e = true;
1003
+ d = 65536 * Math.ceil(b / 65536);
1004
+ var h = Db(65536, d);
1005
+ h && x.fill(0, h, h + d);
1006
+ d = h;
1007
+ if (!d)
1008
+ throw new N(48);
1009
+ if (a) {
1010
+ if (0 < c || c + b < a.length)
1011
+ a.subarray ? a = a.subarray(c, c + b) : a = Array.prototype.slice.call(a, c, c + b);
1012
+ p.set(a, d);
1013
+ }
1014
+ } else
1015
+ e = false, d = a.byteOffset;
1016
+ return { Kb: d, Ab: e };
1017
+ }, jb(a, b, c, d) {
1018
+ O.Ma.write(a, b, 0, d, c, false);
1019
+ return 0;
1020
+ } } }, la = (a, b) => {
1021
+ var c = 0;
1022
+ a && (c |= 365);
1023
+ b && (c |= 146);
1024
+ return c;
1025
+ }, Eb = null, Fb = {}, Gb = [], Hb = 1, R = null, Ib = false, Jb = true, Kb = {}, N = class {
1026
+ name = "ErrnoError";
1027
+ constructor(a) {
1028
+ this.Pa = a;
1029
+ }
1030
+ }, Lb = class {
1031
+ gb = {};
1032
+ node = null;
1033
+ get flags() {
1034
+ return this.gb.flags;
1035
+ }
1036
+ set flags(a) {
1037
+ this.gb.flags = a;
1038
+ }
1039
+ get position() {
1040
+ return this.gb.position;
1041
+ }
1042
+ set position(a) {
1043
+ this.gb.position = a;
1044
+ }
1045
+ }, Mb = class {
1046
+ La = {};
1047
+ Ma = {};
1048
+ ab = null;
1049
+ constructor(a, b, c, d) {
1050
+ a ||= this;
1051
+ this.parent = a;
1052
+ this.Xa = a.Xa;
1053
+ this.id = Hb++;
1054
+ this.name = b;
1055
+ this.mode = c;
1056
+ this.rdev = d;
1057
+ this.atime = this.mtime = this.ctime = Date.now();
1058
+ }
1059
+ get read() {
1060
+ return (this.mode & 365) === 365;
1061
+ }
1062
+ set read(a) {
1063
+ a ? this.mode |= 365 : this.mode &= -366;
1064
+ }
1065
+ get write() {
1066
+ return (this.mode & 146) === 146;
1067
+ }
1068
+ set write(a) {
1069
+ a ? this.mode |= 146 : this.mode &= -147;
1070
+ }
1071
+ };
1072
+ function S(a, b = {}) {
1073
+ if (!a)
1074
+ throw new N(44);
1075
+ b.nb ?? (b.nb = true);
1076
+ a.charAt(0) === "/" || (a = "//" + a);
1077
+ var c = 0;
1078
+ a:
1079
+ for (;40 > c; c++) {
1080
+ a = a.split("/").filter((q) => !!q);
1081
+ for (var d = Eb, e = "/", h = 0;h < a.length; h++) {
1082
+ var k = h === a.length - 1;
1083
+ if (k && b.parent)
1084
+ break;
1085
+ if (a[h] !== ".")
1086
+ if (a[h] === "..")
1087
+ e = fb(e), d = d.parent;
1088
+ else {
1089
+ e = ka(e + "/" + a[h]);
1090
+ try {
1091
+ d = Q(d, a[h]);
1092
+ } catch (q) {
1093
+ if (q?.Pa === 44 && k && b.Jb)
1094
+ return { path: e };
1095
+ throw q;
1096
+ }
1097
+ !d.ab || k && !b.nb || (d = d.ab.root);
1098
+ if ((d.mode & 61440) === 40960 && (!k || b.$a)) {
1099
+ if (!d.La.readlink)
1100
+ throw new N(52);
1101
+ d = d.La.readlink(d);
1102
+ d.charAt(0) === "/" || (d = fb(e) + "/" + d);
1103
+ a = d + "/" + a.slice(h + 1).join("/");
1104
+ continue a;
1105
+ }
1106
+ }
1107
+ }
1108
+ return { path: e, node: d };
1109
+ }
1110
+ throw new N(32);
1111
+ }
1112
+ function ja(a) {
1113
+ for (var b;; ) {
1114
+ if (a === a.parent)
1115
+ return a = a.Xa.zb, b ? a[a.length - 1] !== "/" ? `${a}/${b}` : a + b : a;
1116
+ b = b ? `${a.name}/${b}` : a.name;
1117
+ a = a.parent;
1118
+ }
1119
+ }
1120
+ function Nb(a, b) {
1121
+ for (var c = 0, d = 0;d < b.length; d++)
1122
+ c = (c << 5) - c + b.charCodeAt(d) | 0;
1123
+ return (a + c >>> 0) % R.length;
1124
+ }
1125
+ function Cb(a) {
1126
+ var b = Nb(a.parent.id, a.name);
1127
+ if (R[b] === a)
1128
+ R[b] = a.bb;
1129
+ else
1130
+ for (b = R[b];b; ) {
1131
+ if (b.bb === a) {
1132
+ b.bb = a.bb;
1133
+ break;
1134
+ }
1135
+ b = b.bb;
1136
+ }
1137
+ }
1138
+ function Q(a, b) {
1139
+ var c = P(a.mode) ? (c = Ob(a, "x")) ? c : a.La.lookup ? 0 : 2 : 54;
1140
+ if (c)
1141
+ throw new N(c);
1142
+ for (c = R[Nb(a.id, b)];c; c = c.bb) {
1143
+ var d = c.name;
1144
+ if (c.parent.id === a.id && d === b)
1145
+ return c;
1146
+ }
1147
+ return a.La.lookup(a, b);
1148
+ }
1149
+ function Bb(a, b, c, d) {
1150
+ a = new Mb(a, b, c, d);
1151
+ b = Nb(a.parent.id, a.name);
1152
+ a.bb = R[b];
1153
+ return R[b] = a;
1154
+ }
1155
+ function P(a) {
1156
+ return (a & 61440) === 16384;
1157
+ }
1158
+ function Pb(a) {
1159
+ var b = ["r", "w", "rw"][a & 3];
1160
+ a & 512 && (b += "w");
1161
+ return b;
1162
+ }
1163
+ function Ob(a, b) {
1164
+ if (Jb)
1165
+ return 0;
1166
+ if (!b.includes("r") || a.mode & 292) {
1167
+ if (b.includes("w") && !(a.mode & 146) || b.includes("x") && !(a.mode & 73))
1168
+ return 2;
1169
+ } else
1170
+ return 2;
1171
+ return 0;
1172
+ }
1173
+ function Qb(a, b) {
1174
+ if (!P(a.mode))
1175
+ return 54;
1176
+ try {
1177
+ return Q(a, b), 20;
1178
+ } catch (c) {}
1179
+ return Ob(a, "wx");
1180
+ }
1181
+ function Rb(a, b, c) {
1182
+ try {
1183
+ var d = Q(a, b);
1184
+ } catch (e) {
1185
+ return e.Pa;
1186
+ }
1187
+ if (a = Ob(a, "wx"))
1188
+ return a;
1189
+ if (c) {
1190
+ if (!P(d.mode))
1191
+ return 54;
1192
+ if (d === d.parent || ja(d) === "/")
1193
+ return 10;
1194
+ } else if (P(d.mode))
1195
+ return 31;
1196
+ return 0;
1197
+ }
1198
+ function Sb(a) {
1199
+ if (!a)
1200
+ throw new N(63);
1201
+ return a;
1202
+ }
1203
+ function T(a) {
1204
+ a = Gb[a];
1205
+ if (!a)
1206
+ throw new N(8);
1207
+ return a;
1208
+ }
1209
+ function Tb(a, b = -1) {
1210
+ a = Object.assign(new Lb, a);
1211
+ if (b == -1)
1212
+ a: {
1213
+ for (b = 0;4096 >= b; b++)
1214
+ if (!Gb[b])
1215
+ break a;
1216
+ throw new N(33);
1217
+ }
1218
+ a.fd = b;
1219
+ return Gb[b] = a;
1220
+ }
1221
+ function Ub(a, b = -1) {
1222
+ a = Tb(a, b);
1223
+ a.Ma?.Rb?.(a);
1224
+ return a;
1225
+ }
1226
+ function Vb(a, b, c) {
1227
+ var d = a?.Ma.Ua;
1228
+ a = d ? a : b;
1229
+ d ??= b.La.Ua;
1230
+ Sb(d);
1231
+ d(a, c);
1232
+ }
1233
+ var Ab = { open(a) {
1234
+ a.Ma = Fb[a.node.rdev].Ma;
1235
+ a.Ma.open?.(a);
1236
+ }, Va() {
1237
+ throw new N(70);
1238
+ } };
1239
+ function wb(a, b) {
1240
+ Fb[a] = { Ma: b };
1241
+ }
1242
+ function Wb(a, b) {
1243
+ var c = b === "/";
1244
+ if (c && Eb)
1245
+ throw new N(10);
1246
+ if (!c && b) {
1247
+ var d = S(b, { nb: false });
1248
+ b = d.path;
1249
+ d = d.node;
1250
+ if (d.ab)
1251
+ throw new N(10);
1252
+ if (!P(d.mode))
1253
+ throw new N(54);
1254
+ }
1255
+ b = { type: a, Wb: {}, zb: b, Ib: [] };
1256
+ a = a.Xa(b);
1257
+ a.Xa = b;
1258
+ b.root = a;
1259
+ c ? Eb = a : d && (d.ab = b, d.Xa && d.Xa.Ib.push(b));
1260
+ }
1261
+ function Xb(a, b, c) {
1262
+ var d = S(a, { parent: true }).node;
1263
+ a = gb(a);
1264
+ if (!a)
1265
+ throw new N(28);
1266
+ if (a === "." || a === "..")
1267
+ throw new N(20);
1268
+ var e = Qb(d, a);
1269
+ if (e)
1270
+ throw new N(e);
1271
+ if (!d.La.hb)
1272
+ throw new N(63);
1273
+ return d.La.hb(d, a, b, c);
1274
+ }
1275
+ function ma(a, b = 438) {
1276
+ return Xb(a, b & 4095 | 32768, 0);
1277
+ }
1278
+ function U(a, b = 511) {
1279
+ return Xb(a, b & 1023 | 16384, 0);
1280
+ }
1281
+ function Yb(a, b, c) {
1282
+ typeof c == "undefined" && (c = b, b = 438);
1283
+ Xb(a, b | 8192, c);
1284
+ }
1285
+ function Zb(a, b) {
1286
+ if (!jb(a))
1287
+ throw new N(44);
1288
+ var c = S(b, { parent: true }).node;
1289
+ if (!c)
1290
+ throw new N(44);
1291
+ b = gb(b);
1292
+ var d = Qb(c, b);
1293
+ if (d)
1294
+ throw new N(d);
1295
+ if (!c.La.symlink)
1296
+ throw new N(63);
1297
+ c.La.symlink(c, b, a);
1298
+ }
1299
+ function $b(a) {
1300
+ var b = S(a, { parent: true }).node;
1301
+ a = gb(a);
1302
+ var c = Q(b, a), d = Rb(b, a, true);
1303
+ if (d)
1304
+ throw new N(d);
1305
+ if (!b.La.rmdir)
1306
+ throw new N(63);
1307
+ if (c.ab)
1308
+ throw new N(10);
1309
+ b.La.rmdir(b, a);
1310
+ Cb(c);
1311
+ }
1312
+ function za(a) {
1313
+ var b = S(a, { parent: true }).node;
1314
+ if (!b)
1315
+ throw new N(44);
1316
+ a = gb(a);
1317
+ var c = Q(b, a), d = Rb(b, a, false);
1318
+ if (d)
1319
+ throw new N(d);
1320
+ if (!b.La.unlink)
1321
+ throw new N(63);
1322
+ if (c.ab)
1323
+ throw new N(10);
1324
+ b.La.unlink(b, a);
1325
+ Cb(c);
1326
+ }
1327
+ function ac(a, b) {
1328
+ a = S(a, { $a: !b }).node;
1329
+ return Sb(a.La.Ta)(a);
1330
+ }
1331
+ function bc(a, b, c, d) {
1332
+ Vb(a, b, { mode: c & 4095 | b.mode & -4096, ctime: Date.now(), Fb: d });
1333
+ }
1334
+ function na(a, b) {
1335
+ a = typeof a == "string" ? S(a, { $a: true }).node : a;
1336
+ bc(null, a, b);
1337
+ }
1338
+ function cc(a, b, c) {
1339
+ if (P(b.mode))
1340
+ throw new N(31);
1341
+ if ((b.mode & 61440) !== 32768)
1342
+ throw new N(28);
1343
+ var d = Ob(b, "w");
1344
+ if (d)
1345
+ throw new N(d);
1346
+ Vb(a, b, { size: c, timestamp: Date.now() });
1347
+ }
1348
+ function oa(a, b, c = 438) {
1349
+ if (a === "")
1350
+ throw new N(44);
1351
+ if (typeof b == "string") {
1352
+ var d = { r: 0, "r+": 2, w: 577, "w+": 578, a: 1089, "a+": 1090 }[b];
1353
+ if (typeof d == "undefined")
1354
+ throw Error(`Unknown file open mode: ${b}`);
1355
+ b = d;
1356
+ }
1357
+ c = b & 64 ? c & 4095 | 32768 : 0;
1358
+ if (typeof a == "object")
1359
+ d = a;
1360
+ else {
1361
+ var e = a.endsWith("/");
1362
+ a = S(a, { $a: !(b & 131072), Jb: true });
1363
+ d = a.node;
1364
+ a = a.path;
1365
+ }
1366
+ var h = false;
1367
+ if (b & 64)
1368
+ if (d) {
1369
+ if (b & 128)
1370
+ throw new N(20);
1371
+ } else {
1372
+ if (e)
1373
+ throw new N(31);
1374
+ d = Xb(a, c | 511, 0);
1375
+ h = true;
1376
+ }
1377
+ if (!d)
1378
+ throw new N(44);
1379
+ (d.mode & 61440) === 8192 && (b &= -513);
1380
+ if (b & 65536 && !P(d.mode))
1381
+ throw new N(54);
1382
+ if (!h && (e = d ? (d.mode & 61440) === 40960 ? 32 : P(d.mode) && (Pb(b) !== "r" || b & 576) ? 31 : Ob(d, Pb(b)) : 44))
1383
+ throw new N(e);
1384
+ b & 512 && !h && (e = d, e = typeof e == "string" ? S(e, { $a: true }).node : e, cc(null, e, 0));
1385
+ b &= -131713;
1386
+ e = Tb({ node: d, path: ja(d), flags: b, seekable: true, position: 0, Ma: d.Ma, Lb: [], error: false });
1387
+ e.Ma.open && e.Ma.open(e);
1388
+ h && na(d, c & 511);
1389
+ !f.logReadFiles || b & 1 || a in Kb || (Kb[a] = 1);
1390
+ return e;
1391
+ }
1392
+ function qa(a) {
1393
+ if (a.fd === null)
1394
+ throw new N(8);
1395
+ a.ob && (a.ob = null);
1396
+ try {
1397
+ a.Ma.close && a.Ma.close(a);
1398
+ } catch (b) {
1399
+ throw b;
1400
+ } finally {
1401
+ Gb[a.fd] = null;
1402
+ }
1403
+ a.fd = null;
1404
+ }
1405
+ function mc(a, b, c) {
1406
+ if (a.fd === null)
1407
+ throw new N(8);
1408
+ if (!a.seekable || !a.Ma.Va)
1409
+ throw new N(70);
1410
+ if (c != 0 && c != 1 && c != 2)
1411
+ throw new N(28);
1412
+ a.position = a.Ma.Va(a, b, c);
1413
+ a.Lb = [];
1414
+ }
1415
+ function Ec(a, b, c, d, e) {
1416
+ if (0 > d || 0 > e)
1417
+ throw new N(28);
1418
+ if (a.fd === null)
1419
+ throw new N(8);
1420
+ if ((a.flags & 2097155) === 1)
1421
+ throw new N(8);
1422
+ if (P(a.node.mode))
1423
+ throw new N(31);
1424
+ if (!a.Ma.read)
1425
+ throw new N(28);
1426
+ var h = typeof e != "undefined";
1427
+ if (!h)
1428
+ e = a.position;
1429
+ else if (!a.seekable)
1430
+ throw new N(70);
1431
+ b = a.Ma.read(a, b, c, d, e);
1432
+ h || (a.position += b);
1433
+ return b;
1434
+ }
1435
+ function pa(a, b, c, d, e) {
1436
+ if (0 > d || 0 > e)
1437
+ throw new N(28);
1438
+ if (a.fd === null)
1439
+ throw new N(8);
1440
+ if ((a.flags & 2097155) === 0)
1441
+ throw new N(8);
1442
+ if (P(a.node.mode))
1443
+ throw new N(31);
1444
+ if (!a.Ma.write)
1445
+ throw new N(28);
1446
+ a.seekable && a.flags & 1024 && mc(a, 0, 2);
1447
+ var h = typeof e != "undefined";
1448
+ if (!h)
1449
+ e = a.position;
1450
+ else if (!a.seekable)
1451
+ throw new N(70);
1452
+ b = a.Ma.write(a, b, c, d, e, undefined);
1453
+ h || (a.position += b);
1454
+ return b;
1455
+ }
1456
+ function ya(a) {
1457
+ var b = "binary";
1458
+ if (b !== "utf8" && b !== "binary")
1459
+ throw Error(`Invalid encoding type "${b}"`);
1460
+ var c;
1461
+ var d = oa(a, d || 0);
1462
+ a = ac(a).size;
1463
+ var e = new Uint8Array(a);
1464
+ Ec(d, e, 0, a, 0);
1465
+ b === "utf8" ? c = B(e) : b === "binary" && (c = e);
1466
+ qa(d);
1467
+ return c;
1468
+ }
1469
+ function V(a, b, c) {
1470
+ a = ka("/dev/" + a);
1471
+ var d = la(!!b, !!c);
1472
+ V.yb ?? (V.yb = 64);
1473
+ var e = V.yb++ << 8 | 0;
1474
+ wb(e, { open(h) {
1475
+ h.seekable = false;
1476
+ }, close() {
1477
+ c?.buffer?.length && c(10);
1478
+ }, read(h, k, q, w) {
1479
+ for (var v = 0, C = 0;C < w; C++) {
1480
+ try {
1481
+ var G = b();
1482
+ } catch (pb) {
1483
+ throw new N(29);
1484
+ }
1485
+ if (G === undefined && v === 0)
1486
+ throw new N(6);
1487
+ if (G === null || G === undefined)
1488
+ break;
1489
+ v++;
1490
+ k[q + C] = G;
1491
+ }
1492
+ v && (h.node.atime = Date.now());
1493
+ return v;
1494
+ }, write(h, k, q, w) {
1495
+ for (var v = 0;v < w; v++)
1496
+ try {
1497
+ c(k[q + v]);
1498
+ } catch (C) {
1499
+ throw new N(29);
1500
+ }
1501
+ w && (h.node.mtime = h.node.ctime = Date.now());
1502
+ return v;
1503
+ } });
1504
+ Yb(a, d, e);
1505
+ }
1506
+ var W = {};
1507
+ function Gc(a, b, c) {
1508
+ if (b.charAt(0) === "/")
1509
+ return b;
1510
+ a = a === -100 ? "/" : T(a).path;
1511
+ if (b.length == 0) {
1512
+ if (!c)
1513
+ throw new N(44);
1514
+ return a;
1515
+ }
1516
+ return a + "/" + b;
1517
+ }
1518
+ function Hc(a, b) {
1519
+ E[a >> 2] = b.dev;
1520
+ E[a + 4 >> 2] = b.mode;
1521
+ F[a + 8 >> 2] = b.nlink;
1522
+ E[a + 12 >> 2] = b.uid;
1523
+ E[a + 16 >> 2] = b.gid;
1524
+ E[a + 20 >> 2] = b.rdev;
1525
+ H[a + 24 >> 3] = BigInt(b.size);
1526
+ E[a + 32 >> 2] = 4096;
1527
+ E[a + 36 >> 2] = b.blocks;
1528
+ var c = b.atime.getTime(), d = b.mtime.getTime(), e = b.ctime.getTime();
1529
+ H[a + 40 >> 3] = BigInt(Math.floor(c / 1000));
1530
+ F[a + 48 >> 2] = c % 1000 * 1e6;
1531
+ H[a + 56 >> 3] = BigInt(Math.floor(d / 1000));
1532
+ F[a + 64 >> 2] = d % 1000 * 1e6;
1533
+ H[a + 72 >> 3] = BigInt(Math.floor(e / 1000));
1534
+ F[a + 80 >> 2] = e % 1000 * 1e6;
1535
+ H[a + 88 >> 3] = BigInt(b.ino);
1536
+ return 0;
1537
+ }
1538
+ var Ic = undefined, Jc = () => {
1539
+ var a = E[+Ic >> 2];
1540
+ Ic += 4;
1541
+ return a;
1542
+ }, Kc = 0, Lc = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335], Mc = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334], Nc = {}, Oc = (a) => {
1543
+ Ma = a;
1544
+ cb || 0 < Kc || (f.onExit?.(a), La = true);
1545
+ Da(a, new Ya(a));
1546
+ }, Pc = (a) => {
1547
+ if (!La)
1548
+ try {
1549
+ if (a(), !(cb || 0 < Kc))
1550
+ try {
1551
+ Ma = a = Ma, Oc(a);
1552
+ } catch (b) {
1553
+ b instanceof Ya || b == "unwind" || Da(1, b);
1554
+ }
1555
+ } catch (b) {
1556
+ b instanceof Ya || b == "unwind" || Da(1, b);
1557
+ }
1558
+ }, Qc = {}, Sc = () => {
1559
+ if (!Rc) {
1560
+ var a = { USER: "web_user", LOGNAME: "web_user", PATH: "/", PWD: "/", HOME: "/home/web_user", LANG: (typeof navigator == "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8", _: Ca || "./this.program" }, b;
1561
+ for (b in Qc)
1562
+ Qc[b] === undefined ? delete a[b] : a[b] = Qc[b];
1563
+ var c = [];
1564
+ for (b in a)
1565
+ c.push(`${b}=${a[b]}`);
1566
+ Rc = c;
1567
+ }
1568
+ return Rc;
1569
+ }, Rc, xa = (a) => {
1570
+ var b = ha(a) + 1, c = z(b);
1571
+ u(a, x, c, b);
1572
+ return c;
1573
+ }, Tc = (a, b, c, d) => {
1574
+ var e = { string: (v) => {
1575
+ var C = 0;
1576
+ v !== null && v !== undefined && v !== 0 && (C = xa(v));
1577
+ return C;
1578
+ }, array: (v) => {
1579
+ var C = z(v.length);
1580
+ p.set(v, C);
1581
+ return C;
1582
+ } };
1583
+ a = f["_" + a];
1584
+ var h = [], k = 0;
1585
+ if (d)
1586
+ for (var q = 0;q < d.length; q++) {
1587
+ var w = e[c[q]];
1588
+ w ? (k === 0 && (k = sa()), h[q] = w(d[q])) : h[q] = d[q];
1589
+ }
1590
+ c = a(...h);
1591
+ return c = function(v) {
1592
+ k !== 0 && wa(k);
1593
+ return b === "string" ? v ? B(x, v) : "" : b === "boolean" ? !!v : v;
1594
+ }(c);
1595
+ }, ea = 0, da = (a, b) => {
1596
+ b = b == 1 ? z(a.length) : ia(a.length);
1597
+ a.subarray || a.slice || (a = new Uint8Array(a));
1598
+ x.set(a, b);
1599
+ return b;
1600
+ }, Uc, Vc = [], Y, A = (a) => {
1601
+ Uc.delete(Y.get(a));
1602
+ Y.set(a, null);
1603
+ Vc.push(a);
1604
+ }, Aa = (a, b) => {
1605
+ if (!Uc) {
1606
+ Uc = new WeakMap;
1607
+ var c = Y.length;
1608
+ if (Uc)
1609
+ for (var d = 0;d < 0 + c; d++) {
1610
+ var e = Y.get(d);
1611
+ e && Uc.set(e, d);
1612
+ }
1613
+ }
1614
+ if (c = Uc.get(a) || 0)
1615
+ return c;
1616
+ if (Vc.length)
1617
+ c = Vc.pop();
1618
+ else {
1619
+ try {
1620
+ Y.grow(1);
1621
+ } catch (w) {
1622
+ if (!(w instanceof RangeError))
1623
+ throw w;
1624
+ throw "Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.";
1625
+ }
1626
+ c = Y.length - 1;
1627
+ }
1628
+ try {
1629
+ Y.set(c, a);
1630
+ } catch (w) {
1631
+ if (!(w instanceof TypeError))
1632
+ throw w;
1633
+ if (typeof WebAssembly.Function == "function") {
1634
+ var h = WebAssembly.Function;
1635
+ d = { i: "i32", j: "i64", f: "f32", d: "f64", e: "externref", p: "i32" };
1636
+ e = { parameters: [], results: b[0] == "v" ? [] : [d[b[0]]] };
1637
+ for (var k = 1;k < b.length; ++k)
1638
+ e.parameters.push(d[b[k]]);
1639
+ b = new h(e, a);
1640
+ } else {
1641
+ d = [1];
1642
+ e = b.slice(0, 1);
1643
+ b = b.slice(1);
1644
+ k = { i: 127, p: 127, j: 126, f: 125, d: 124, e: 111 };
1645
+ d.push(96);
1646
+ var q = b.length;
1647
+ 128 > q ? d.push(q) : d.push(q % 128 | 128, q >> 7);
1648
+ for (h of b)
1649
+ d.push(k[h]);
1650
+ e == "v" ? d.push(0) : d.push(1, k[e]);
1651
+ b = [0, 97, 115, 109, 1, 0, 0, 0, 1];
1652
+ h = d.length;
1653
+ 128 > h ? b.push(h) : b.push(h % 128 | 128, h >> 7);
1654
+ b.push(...d);
1655
+ b.push(2, 7, 1, 1, 101, 1, 102, 0, 0, 7, 5, 1, 1, 102, 0, 0);
1656
+ b = new WebAssembly.Module(new Uint8Array(b));
1657
+ b = new WebAssembly.Instance(b, { e: { f: a } }).exports.f;
1658
+ }
1659
+ Y.set(c, b);
1660
+ }
1661
+ Uc.set(a, c);
1662
+ return c;
1663
+ };
1664
+ R = Array(4096);
1665
+ Wb(O, "/");
1666
+ U("/tmp");
1667
+ U("/home");
1668
+ U("/home/web_user");
1669
+ (function() {
1670
+ U("/dev");
1671
+ wb(259, { read: () => 0, write: (d, e, h, k) => k, Va: () => 0 });
1672
+ Yb("/dev/null", 259);
1673
+ nb(1280, yb);
1674
+ nb(1536, zb);
1675
+ Yb("/dev/tty", 1280);
1676
+ Yb("/dev/tty1", 1536);
1677
+ var a = new Uint8Array(1024), b = 0, c = () => {
1678
+ b === 0 && (ib(a), b = a.byteLength);
1679
+ return a[--b];
1680
+ };
1681
+ V("random", c);
1682
+ V("urandom", c);
1683
+ U("/dev/shm");
1684
+ U("/dev/shm/tmp");
1685
+ })();
1686
+ (function() {
1687
+ U("/proc");
1688
+ var a = U("/proc/self");
1689
+ U("/proc/self/fd");
1690
+ Wb({ Xa() {
1691
+ var b = Bb(a, "fd", 16895, 73);
1692
+ b.Ma = { Va: O.Ma.Va };
1693
+ b.La = { lookup(c, d) {
1694
+ c = +d;
1695
+ var e = T(c);
1696
+ c = { parent: null, Xa: { zb: "fake" }, La: { readlink: () => e.path }, id: c + 1 };
1697
+ return c.parent = c;
1698
+ }, readdir() {
1699
+ return Array.from(Gb.entries()).filter(([, c]) => c).map(([c]) => c.toString());
1700
+ } };
1701
+ return b;
1702
+ } }, "/proc/self/fd");
1703
+ })();
1704
+ O.vb = new N(44);
1705
+ O.vb.stack = "<generic error, no stack>";
1706
+ var Xc = { a: (a, b, c, d) => Ta(`Assertion failed: ${a ? B(x, a) : ""}, at: ` + [b ? b ? B(x, b) : "" : "unknown filename", c, d ? d ? B(x, d) : "" : "unknown function"]), i: function(a, b) {
1707
+ try {
1708
+ return a = a ? B(x, a) : "", na(a, b), 0;
1709
+ } catch (c) {
1710
+ if (typeof W == "undefined" || c.name !== "ErrnoError")
1711
+ throw c;
1712
+ return -c.Pa;
1713
+ }
1714
+ }, L: function(a, b, c) {
1715
+ try {
1716
+ b = b ? B(x, b) : "";
1717
+ b = Gc(a, b);
1718
+ if (c & -8)
1719
+ return -28;
1720
+ var d = S(b, { $a: true }).node;
1721
+ if (!d)
1722
+ return -44;
1723
+ a = "";
1724
+ c & 4 && (a += "r");
1725
+ c & 2 && (a += "w");
1726
+ c & 1 && (a += "x");
1727
+ return a && Ob(d, a) ? -2 : 0;
1728
+ } catch (e) {
1729
+ if (typeof W == "undefined" || e.name !== "ErrnoError")
1730
+ throw e;
1731
+ return -e.Pa;
1732
+ }
1733
+ }, j: function(a, b) {
1734
+ try {
1735
+ var c = T(a);
1736
+ bc(c, c.node, b, false);
1737
+ return 0;
1738
+ } catch (d) {
1739
+ if (typeof W == "undefined" || d.name !== "ErrnoError")
1740
+ throw d;
1741
+ return -d.Pa;
1742
+ }
1743
+ }, h: function(a) {
1744
+ try {
1745
+ var b = T(a);
1746
+ Vb(b, b.node, { timestamp: Date.now(), Fb: false });
1747
+ return 0;
1748
+ } catch (c) {
1749
+ if (typeof W == "undefined" || c.name !== "ErrnoError")
1750
+ throw c;
1751
+ return -c.Pa;
1752
+ }
1753
+ }, b: function(a, b, c) {
1754
+ Ic = c;
1755
+ try {
1756
+ var d = T(a);
1757
+ switch (b) {
1758
+ case 0:
1759
+ var e = Jc();
1760
+ if (0 > e)
1761
+ break;
1762
+ for (;Gb[e]; )
1763
+ e++;
1764
+ return Ub(d, e).fd;
1765
+ case 1:
1766
+ case 2:
1767
+ return 0;
1768
+ case 3:
1769
+ return d.flags;
1770
+ case 4:
1771
+ return e = Jc(), d.flags |= e, 0;
1772
+ case 12:
1773
+ return e = Jc(), Na[e + 0 >> 1] = 2, 0;
1774
+ case 13:
1775
+ case 14:
1776
+ return 0;
1777
+ }
1778
+ return -28;
1779
+ } catch (h) {
1780
+ if (typeof W == "undefined" || h.name !== "ErrnoError")
1781
+ throw h;
1782
+ return -h.Pa;
1783
+ }
1784
+ }, g: function(a, b) {
1785
+ try {
1786
+ var c = T(a), d = c.node, e = c.Ma.Ta;
1787
+ a = e ? c : d;
1788
+ e ??= d.La.Ta;
1789
+ Sb(e);
1790
+ var h = e(a);
1791
+ return Hc(b, h);
1792
+ } catch (k) {
1793
+ if (typeof W == "undefined" || k.name !== "ErrnoError")
1794
+ throw k;
1795
+ return -k.Pa;
1796
+ }
1797
+ }, H: function(a, b) {
1798
+ b = -9007199254740992 > b || 9007199254740992 < b ? NaN : Number(b);
1799
+ try {
1800
+ if (isNaN(b))
1801
+ return 61;
1802
+ var c = T(a);
1803
+ if (0 > b || (c.flags & 2097155) === 0)
1804
+ throw new N(28);
1805
+ cc(c, c.node, b);
1806
+ return 0;
1807
+ } catch (d) {
1808
+ if (typeof W == "undefined" || d.name !== "ErrnoError")
1809
+ throw d;
1810
+ return -d.Pa;
1811
+ }
1812
+ }, G: function(a, b) {
1813
+ try {
1814
+ if (b === 0)
1815
+ return -28;
1816
+ var c = ha("/") + 1;
1817
+ if (b < c)
1818
+ return -68;
1819
+ u("/", x, a, b);
1820
+ return c;
1821
+ } catch (d) {
1822
+ if (typeof W == "undefined" || d.name !== "ErrnoError")
1823
+ throw d;
1824
+ return -d.Pa;
1825
+ }
1826
+ }, K: function(a, b) {
1827
+ try {
1828
+ return a = a ? B(x, a) : "", Hc(b, ac(a, true));
1829
+ } catch (c) {
1830
+ if (typeof W == "undefined" || c.name !== "ErrnoError")
1831
+ throw c;
1832
+ return -c.Pa;
1833
+ }
1834
+ }, C: function(a, b, c) {
1835
+ try {
1836
+ return b = b ? B(x, b) : "", b = Gc(a, b), U(b, c), 0;
1837
+ } catch (d) {
1838
+ if (typeof W == "undefined" || d.name !== "ErrnoError")
1839
+ throw d;
1840
+ return -d.Pa;
1841
+ }
1842
+ }, J: function(a, b, c, d) {
1843
+ try {
1844
+ b = b ? B(x, b) : "";
1845
+ var e = d & 256;
1846
+ b = Gc(a, b, d & 4096);
1847
+ return Hc(c, e ? ac(b, true) : ac(b));
1848
+ } catch (h) {
1849
+ if (typeof W == "undefined" || h.name !== "ErrnoError")
1850
+ throw h;
1851
+ return -h.Pa;
1852
+ }
1853
+ }, x: function(a, b, c, d) {
1854
+ Ic = d;
1855
+ try {
1856
+ b = b ? B(x, b) : "";
1857
+ b = Gc(a, b);
1858
+ var e = d ? Jc() : 0;
1859
+ return oa(b, c, e).fd;
1860
+ } catch (h) {
1861
+ if (typeof W == "undefined" || h.name !== "ErrnoError")
1862
+ throw h;
1863
+ return -h.Pa;
1864
+ }
1865
+ }, v: function(a, b, c, d) {
1866
+ try {
1867
+ b = b ? B(x, b) : "";
1868
+ b = Gc(a, b);
1869
+ if (0 >= d)
1870
+ return -28;
1871
+ var e = S(b).node;
1872
+ if (!e)
1873
+ throw new N(44);
1874
+ if (!e.La.readlink)
1875
+ throw new N(28);
1876
+ var h = e.La.readlink(e);
1877
+ var k = Math.min(d, ha(h)), q = p[c + k];
1878
+ u(h, x, c, d + 1);
1879
+ p[c + k] = q;
1880
+ return k;
1881
+ } catch (w) {
1882
+ if (typeof W == "undefined" || w.name !== "ErrnoError")
1883
+ throw w;
1884
+ return -w.Pa;
1885
+ }
1886
+ }, u: function(a) {
1887
+ try {
1888
+ return a = a ? B(x, a) : "", $b(a), 0;
1889
+ } catch (b) {
1890
+ if (typeof W == "undefined" || b.name !== "ErrnoError")
1891
+ throw b;
1892
+ return -b.Pa;
1893
+ }
1894
+ }, f: function(a, b) {
1895
+ try {
1896
+ return a = a ? B(x, a) : "", Hc(b, ac(a));
1897
+ } catch (c) {
1898
+ if (typeof W == "undefined" || c.name !== "ErrnoError")
1899
+ throw c;
1900
+ return -c.Pa;
1901
+ }
1902
+ }, r: function(a, b, c) {
1903
+ try {
1904
+ return b = b ? B(x, b) : "", b = Gc(a, b), c === 0 ? za(b) : c === 512 ? $b(b) : Ta("Invalid flags passed to unlinkat"), 0;
1905
+ } catch (d) {
1906
+ if (typeof W == "undefined" || d.name !== "ErrnoError")
1907
+ throw d;
1908
+ return -d.Pa;
1909
+ }
1910
+ }, q: function(a, b, c) {
1911
+ try {
1912
+ b = b ? B(x, b) : "";
1913
+ b = Gc(a, b, true);
1914
+ var d = Date.now(), e, h;
1915
+ if (c) {
1916
+ var k = F[c >> 2] + 4294967296 * E[c + 4 >> 2], q = E[c + 8 >> 2];
1917
+ q == 1073741823 ? e = d : q == 1073741822 ? e = null : e = 1000 * k + q / 1e6;
1918
+ c += 16;
1919
+ k = F[c >> 2] + 4294967296 * E[c + 4 >> 2];
1920
+ q = E[c + 8 >> 2];
1921
+ q == 1073741823 ? h = d : q == 1073741822 ? h = null : h = 1000 * k + q / 1e6;
1922
+ } else
1923
+ h = e = d;
1924
+ if ((h ?? e) !== null) {
1925
+ a = e;
1926
+ var w = S(b, { $a: true }).node;
1927
+ Sb(w.La.Ua)(w, { atime: a, mtime: h });
1928
+ }
1929
+ return 0;
1930
+ } catch (v) {
1931
+ if (typeof W == "undefined" || v.name !== "ErrnoError")
1932
+ throw v;
1933
+ return -v.Pa;
1934
+ }
1935
+ }, m: () => Ta(""), l: () => {
1936
+ cb = false;
1937
+ Kc = 0;
1938
+ }, A: function(a, b) {
1939
+ a = -9007199254740992 > a || 9007199254740992 < a ? NaN : Number(a);
1940
+ a = new Date(1000 * a);
1941
+ E[b >> 2] = a.getSeconds();
1942
+ E[b + 4 >> 2] = a.getMinutes();
1943
+ E[b + 8 >> 2] = a.getHours();
1944
+ E[b + 12 >> 2] = a.getDate();
1945
+ E[b + 16 >> 2] = a.getMonth();
1946
+ E[b + 20 >> 2] = a.getFullYear() - 1900;
1947
+ E[b + 24 >> 2] = a.getDay();
1948
+ var c = a.getFullYear();
1949
+ E[b + 28 >> 2] = (c % 4 !== 0 || c % 100 === 0 && c % 400 !== 0 ? Mc : Lc)[a.getMonth()] + a.getDate() - 1 | 0;
1950
+ E[b + 36 >> 2] = -(60 * a.getTimezoneOffset());
1951
+ c = new Date(a.getFullYear(), 6, 1).getTimezoneOffset();
1952
+ var d = new Date(a.getFullYear(), 0, 1).getTimezoneOffset();
1953
+ E[b + 32 >> 2] = (c != d && a.getTimezoneOffset() == Math.min(d, c)) | 0;
1954
+ }, y: function(a, b, c, d, e, h, k) {
1955
+ e = -9007199254740992 > e || 9007199254740992 < e ? NaN : Number(e);
1956
+ try {
1957
+ if (isNaN(e))
1958
+ return 61;
1959
+ var q = T(d);
1960
+ if ((b & 2) !== 0 && (c & 2) === 0 && (q.flags & 2097155) !== 2)
1961
+ throw new N(2);
1962
+ if ((q.flags & 2097155) === 1)
1963
+ throw new N(2);
1964
+ if (!q.Ma.ib)
1965
+ throw new N(43);
1966
+ if (!a)
1967
+ throw new N(28);
1968
+ var w = q.Ma.ib(q, a, e, b, c);
1969
+ var v = w.Kb;
1970
+ E[h >> 2] = w.Ab;
1971
+ F[k >> 2] = v;
1972
+ return 0;
1973
+ } catch (C) {
1974
+ if (typeof W == "undefined" || C.name !== "ErrnoError")
1975
+ throw C;
1976
+ return -C.Pa;
1977
+ }
1978
+ }, z: function(a, b, c, d, e, h) {
1979
+ h = -9007199254740992 > h || 9007199254740992 < h ? NaN : Number(h);
1980
+ try {
1981
+ var k = T(e);
1982
+ if (c & 2) {
1983
+ c = h;
1984
+ if ((k.node.mode & 61440) !== 32768)
1985
+ throw new N(43);
1986
+ if (!(d & 2)) {
1987
+ var q = x.slice(a, a + b);
1988
+ k.Ma.jb && k.Ma.jb(k, q, c, b, d);
1989
+ }
1990
+ }
1991
+ } catch (w) {
1992
+ if (typeof W == "undefined" || w.name !== "ErrnoError")
1993
+ throw w;
1994
+ return -w.Pa;
1995
+ }
1996
+ }, n: (a, b) => {
1997
+ Nc[a] && (clearTimeout(Nc[a].id), delete Nc[a]);
1998
+ if (!b)
1999
+ return 0;
2000
+ var c = setTimeout(() => {
2001
+ delete Nc[a];
2002
+ Pc(() => Wc(a, performance.now()));
2003
+ }, b);
2004
+ Nc[a] = {
2005
+ id: c,
2006
+ Xb: b
2007
+ };
2008
+ return 0;
2009
+ }, B: (a, b, c, d) => {
2010
+ var e = new Date().getFullYear(), h = new Date(e, 0, 1).getTimezoneOffset();
2011
+ e = new Date(e, 6, 1).getTimezoneOffset();
2012
+ F[a >> 2] = 60 * Math.max(h, e);
2013
+ E[b >> 2] = Number(h != e);
2014
+ b = (k) => {
2015
+ var q = Math.abs(k);
2016
+ return `UTC${0 <= k ? "-" : "+"}${String(Math.floor(q / 60)).padStart(2, "0")}${String(q % 60).padStart(2, "0")}`;
2017
+ };
2018
+ a = b(h);
2019
+ b = b(e);
2020
+ e < h ? (u(a, x, c, 17), u(b, x, d, 17)) : (u(a, x, d, 17), u(b, x, c, 17));
2021
+ }, d: () => Date.now(), s: () => 2147483648, c: () => performance.now(), o: (a) => {
2022
+ var b = x.length;
2023
+ a >>>= 0;
2024
+ if (2147483648 < a)
2025
+ return false;
2026
+ for (var c = 1;4 >= c; c *= 2) {
2027
+ var d = b * (1 + 0.2 / c);
2028
+ d = Math.min(d, a + 100663296);
2029
+ a: {
2030
+ d = (Math.min(2147483648, 65536 * Math.ceil(Math.max(a, d) / 65536)) - Ka.buffer.byteLength + 65535) / 65536 | 0;
2031
+ try {
2032
+ Ka.grow(d);
2033
+ Qa();
2034
+ var e = 1;
2035
+ break a;
2036
+ } catch (h) {}
2037
+ e = undefined;
2038
+ }
2039
+ if (e)
2040
+ return true;
2041
+ }
2042
+ return false;
2043
+ }, E: (a, b) => {
2044
+ var c = 0;
2045
+ Sc().forEach((d, e) => {
2046
+ var h = b + c;
2047
+ e = F[a + 4 * e >> 2] = h;
2048
+ for (h = 0;h < d.length; ++h)
2049
+ p[e++] = d.charCodeAt(h);
2050
+ p[e] = 0;
2051
+ c += d.length + 1;
2052
+ });
2053
+ return 0;
2054
+ }, F: (a, b) => {
2055
+ var c = Sc();
2056
+ F[a >> 2] = c.length;
2057
+ var d = 0;
2058
+ c.forEach((e) => d += e.length + 1);
2059
+ F[b >> 2] = d;
2060
+ return 0;
2061
+ }, e: function(a) {
2062
+ try {
2063
+ var b = T(a);
2064
+ qa(b);
2065
+ return 0;
2066
+ } catch (c) {
2067
+ if (typeof W == "undefined" || c.name !== "ErrnoError")
2068
+ throw c;
2069
+ return c.Pa;
2070
+ }
2071
+ }, p: function(a, b) {
2072
+ try {
2073
+ var c = T(a);
2074
+ p[b] = c.tty ? 2 : P(c.mode) ? 3 : (c.mode & 61440) === 40960 ? 7 : 4;
2075
+ Na[b + 2 >> 1] = 0;
2076
+ H[b + 8 >> 3] = BigInt(0);
2077
+ H[b + 16 >> 3] = BigInt(0);
2078
+ return 0;
2079
+ } catch (d) {
2080
+ if (typeof W == "undefined" || d.name !== "ErrnoError")
2081
+ throw d;
2082
+ return d.Pa;
2083
+ }
2084
+ }, w: function(a, b, c, d) {
2085
+ try {
2086
+ a: {
2087
+ var e = T(a);
2088
+ a = b;
2089
+ for (var h, k = b = 0;k < c; k++) {
2090
+ var q = F[a >> 2], w = F[a + 4 >> 2];
2091
+ a += 8;
2092
+ var v = Ec(e, p, q, w, h);
2093
+ if (0 > v) {
2094
+ var C = -1;
2095
+ break a;
2096
+ }
2097
+ b += v;
2098
+ if (v < w)
2099
+ break;
2100
+ typeof h != "undefined" && (h += v);
2101
+ }
2102
+ C = b;
2103
+ }
2104
+ F[d >> 2] = C;
2105
+ return 0;
2106
+ } catch (G) {
2107
+ if (typeof W == "undefined" || G.name !== "ErrnoError")
2108
+ throw G;
2109
+ return G.Pa;
2110
+ }
2111
+ }, D: function(a, b, c, d) {
2112
+ b = -9007199254740992 > b || 9007199254740992 < b ? NaN : Number(b);
2113
+ try {
2114
+ if (isNaN(b))
2115
+ return 61;
2116
+ var e = T(a);
2117
+ mc(e, b, c);
2118
+ H[d >> 3] = BigInt(e.position);
2119
+ e.ob && b === 0 && c === 0 && (e.ob = null);
2120
+ return 0;
2121
+ } catch (h) {
2122
+ if (typeof W == "undefined" || h.name !== "ErrnoError")
2123
+ throw h;
2124
+ return h.Pa;
2125
+ }
2126
+ }, I: function(a) {
2127
+ try {
2128
+ var b = T(a);
2129
+ return b.Ma?.fsync ? b.Ma.fsync(b) : 0;
2130
+ } catch (c) {
2131
+ if (typeof W == "undefined" || c.name !== "ErrnoError")
2132
+ throw c;
2133
+ return c.Pa;
2134
+ }
2135
+ }, t: function(a, b, c, d) {
2136
+ try {
2137
+ a: {
2138
+ var e = T(a);
2139
+ a = b;
2140
+ for (var h, k = b = 0;k < c; k++) {
2141
+ var q = F[a >> 2], w = F[a + 4 >> 2];
2142
+ a += 8;
2143
+ var v = pa(e, p, q, w, h);
2144
+ if (0 > v) {
2145
+ var C = -1;
2146
+ break a;
2147
+ }
2148
+ b += v;
2149
+ if (v < w)
2150
+ break;
2151
+ typeof h != "undefined" && (h += v);
2152
+ }
2153
+ C = b;
2154
+ }
2155
+ F[d >> 2] = C;
2156
+ return 0;
2157
+ } catch (G) {
2158
+ if (typeof W == "undefined" || G.name !== "ErrnoError")
2159
+ throw G;
2160
+ return G.Pa;
2161
+ }
2162
+ }, k: Oc }, Z;
2163
+ (async function() {
2164
+ function a(c) {
2165
+ Z = c.exports;
2166
+ Ka = Z.M;
2167
+ Qa();
2168
+ Y = Z.O;
2169
+ K--;
2170
+ f.monitorRunDependencies?.(K);
2171
+ K == 0 && Sa && (c = Sa, Sa = null, c());
2172
+ return Z;
2173
+ }
2174
+ K++;
2175
+ f.monitorRunDependencies?.(K);
2176
+ var b = { a: Xc };
2177
+ if (f.instantiateWasm)
2178
+ return new Promise((c) => {
2179
+ f.instantiateWasm(b, (d, e) => {
2180
+ a(d, e);
2181
+ c(d.exports);
2182
+ });
2183
+ });
2184
+ Ua ??= f.locateFile ? f.locateFile("sql-wasm.wasm", D) : D + "sql-wasm.wasm";
2185
+ return a((await Xa(b)).instance);
2186
+ })();
2187
+ f._sqlite3_free = (a) => (f._sqlite3_free = Z.P)(a);
2188
+ f._sqlite3_value_text = (a) => (f._sqlite3_value_text = Z.Q)(a);
2189
+ f._sqlite3_prepare_v2 = (a, b, c, d, e) => (f._sqlite3_prepare_v2 = Z.R)(a, b, c, d, e);
2190
+ f._sqlite3_step = (a) => (f._sqlite3_step = Z.S)(a);
2191
+ f._sqlite3_reset = (a) => (f._sqlite3_reset = Z.T)(a);
2192
+ f._sqlite3_exec = (a, b, c, d, e) => (f._sqlite3_exec = Z.U)(a, b, c, d, e);
2193
+ f._sqlite3_finalize = (a) => (f._sqlite3_finalize = Z.V)(a);
2194
+ f._sqlite3_column_name = (a, b) => (f._sqlite3_column_name = Z.W)(a, b);
2195
+ f._sqlite3_column_text = (a, b) => (f._sqlite3_column_text = Z.X)(a, b);
2196
+ f._sqlite3_column_type = (a, b) => (f._sqlite3_column_type = Z.Y)(a, b);
2197
+ f._sqlite3_errmsg = (a) => (f._sqlite3_errmsg = Z.Z)(a);
2198
+ f._sqlite3_clear_bindings = (a) => (f._sqlite3_clear_bindings = Z._)(a);
2199
+ f._sqlite3_value_blob = (a) => (f._sqlite3_value_blob = Z.$)(a);
2200
+ f._sqlite3_value_bytes = (a) => (f._sqlite3_value_bytes = Z.aa)(a);
2201
+ f._sqlite3_value_double = (a) => (f._sqlite3_value_double = Z.ba)(a);
2202
+ f._sqlite3_value_int = (a) => (f._sqlite3_value_int = Z.ca)(a);
2203
+ f._sqlite3_value_type = (a) => (f._sqlite3_value_type = Z.da)(a);
2204
+ f._sqlite3_result_blob = (a, b, c, d) => (f._sqlite3_result_blob = Z.ea)(a, b, c, d);
2205
+ f._sqlite3_result_double = (a, b) => (f._sqlite3_result_double = Z.fa)(a, b);
2206
+ f._sqlite3_result_error = (a, b, c) => (f._sqlite3_result_error = Z.ga)(a, b, c);
2207
+ f._sqlite3_result_int = (a, b) => (f._sqlite3_result_int = Z.ha)(a, b);
2208
+ f._sqlite3_result_int64 = (a, b) => (f._sqlite3_result_int64 = Z.ia)(a, b);
2209
+ f._sqlite3_result_null = (a) => (f._sqlite3_result_null = Z.ja)(a);
2210
+ f._sqlite3_result_text = (a, b, c, d) => (f._sqlite3_result_text = Z.ka)(a, b, c, d);
2211
+ f._sqlite3_aggregate_context = (a, b) => (f._sqlite3_aggregate_context = Z.la)(a, b);
2212
+ f._sqlite3_column_count = (a) => (f._sqlite3_column_count = Z.ma)(a);
2213
+ f._sqlite3_data_count = (a) => (f._sqlite3_data_count = Z.na)(a);
2214
+ f._sqlite3_column_blob = (a, b) => (f._sqlite3_column_blob = Z.oa)(a, b);
2215
+ f._sqlite3_column_bytes = (a, b) => (f._sqlite3_column_bytes = Z.pa)(a, b);
2216
+ f._sqlite3_column_double = (a, b) => (f._sqlite3_column_double = Z.qa)(a, b);
2217
+ f._sqlite3_bind_blob = (a, b, c, d, e) => (f._sqlite3_bind_blob = Z.ra)(a, b, c, d, e);
2218
+ f._sqlite3_bind_double = (a, b, c) => (f._sqlite3_bind_double = Z.sa)(a, b, c);
2219
+ f._sqlite3_bind_int = (a, b, c) => (f._sqlite3_bind_int = Z.ta)(a, b, c);
2220
+ f._sqlite3_bind_text = (a, b, c, d, e) => (f._sqlite3_bind_text = Z.ua)(a, b, c, d, e);
2221
+ f._sqlite3_bind_parameter_index = (a, b) => (f._sqlite3_bind_parameter_index = Z.va)(a, b);
2222
+ f._sqlite3_sql = (a) => (f._sqlite3_sql = Z.wa)(a);
2223
+ f._sqlite3_normalized_sql = (a) => (f._sqlite3_normalized_sql = Z.xa)(a);
2224
+ f._sqlite3_changes = (a) => (f._sqlite3_changes = Z.ya)(a);
2225
+ f._sqlite3_close_v2 = (a) => (f._sqlite3_close_v2 = Z.za)(a);
2226
+ f._sqlite3_create_function_v2 = (a, b, c, d, e, h, k, q, w) => (f._sqlite3_create_function_v2 = Z.Aa)(a, b, c, d, e, h, k, q, w);
2227
+ f._sqlite3_update_hook = (a, b, c) => (f._sqlite3_update_hook = Z.Ba)(a, b, c);
2228
+ f._sqlite3_open = (a, b) => (f._sqlite3_open = Z.Ca)(a, b);
2229
+ var ia = f._malloc = (a) => (ia = f._malloc = Z.Da)(a), fa = f._free = (a) => (fa = f._free = Z.Ea)(a);
2230
+ f._RegisterExtensionFunctions = (a) => (f._RegisterExtensionFunctions = Z.Fa)(a);
2231
+ var Db = (a, b) => (Db = Z.Ga)(a, b), Wc = (a, b) => (Wc = Z.Ha)(a, b), wa = (a) => (wa = Z.Ia)(a), z = (a) => (z = Z.Ja)(a), sa = () => (sa = Z.Ka)();
2232
+ f.stackSave = () => sa();
2233
+ f.stackRestore = (a) => wa(a);
2234
+ f.stackAlloc = (a) => z(a);
2235
+ f.cwrap = (a, b, c, d) => {
2236
+ var e = !c || c.every((h) => h === "number" || h === "boolean");
2237
+ return b !== "string" && e && !d ? f["_" + a] : (...h) => Tc(a, b, c, h);
2238
+ };
2239
+ f.addFunction = Aa;
2240
+ f.removeFunction = A;
2241
+ f.UTF8ToString = ua;
2242
+ f.ALLOC_NORMAL = ea;
2243
+ f.allocate = da;
2244
+ f.allocateUTF8OnStack = xa;
2245
+ function Yc() {
2246
+ function a() {
2247
+ f.calledRun = true;
2248
+ if (!La) {
2249
+ if (!f.noFSInit && !Ib) {
2250
+ var b, c;
2251
+ Ib = true;
2252
+ d ??= f.stdin;
2253
+ b ??= f.stdout;
2254
+ c ??= f.stderr;
2255
+ d ? V("stdin", d) : Zb("/dev/tty", "/dev/stdin");
2256
+ b ? V("stdout", null, b) : Zb("/dev/tty", "/dev/stdout");
2257
+ c ? V("stderr", null, c) : Zb("/dev/tty1", "/dev/stderr");
2258
+ oa("/dev/stdin", 0);
2259
+ oa("/dev/stdout", 1);
2260
+ oa("/dev/stderr", 1);
2261
+ }
2262
+ Z.N();
2263
+ Jb = false;
2264
+ f.onRuntimeInitialized?.();
2265
+ if (f.postRun)
2266
+ for (typeof f.postRun == "function" && (f.postRun = [f.postRun]);f.postRun.length; ) {
2267
+ var d = f.postRun.shift();
2268
+ $a.unshift(d);
2269
+ }
2270
+ Za($a);
2271
+ }
2272
+ }
2273
+ if (0 < K)
2274
+ Sa = Yc;
2275
+ else {
2276
+ if (f.preRun)
2277
+ for (typeof f.preRun == "function" && (f.preRun = [f.preRun]);f.preRun.length; )
2278
+ bb();
2279
+ Za(ab);
2280
+ 0 < K ? Sa = Yc : f.setStatus ? (f.setStatus("Running..."), setTimeout(() => {
2281
+ setTimeout(() => f.setStatus(""), 1);
2282
+ a();
2283
+ }, 1)) : a();
2284
+ }
2285
+ }
2286
+ if (f.preInit)
2287
+ for (typeof f.preInit == "function" && (f.preInit = [f.preInit]);0 < f.preInit.length; )
2288
+ f.preInit.pop()();
2289
+ Yc();
2290
+ return Module;
2291
+ });
2292
+ return initSqlJsPromise;
2293
+ };
2294
+ if (typeof exports === "object" && typeof module === "object") {
2295
+ module.exports = initSqlJs;
2296
+ module.exports.default = initSqlJs;
2297
+ } else if (typeof define === "function" && define["amd"]) {
2298
+ define([], function() {
2299
+ return initSqlJs;
2300
+ });
2301
+ } else if (typeof exports === "object") {
2302
+ exports["Module"] = initSqlJs;
2303
+ }
2304
+ });
2305
+
2306
+ // src/db.ts
2307
+ var import_sql = __toESM(require_sql_wasm(), 1);
2308
+ import { homedir } from "os";
2309
+ import { join } from "path";
2310
+ import { mkdirSync, existsSync, readFileSync, writeFileSync } from "fs";
2311
+ var DATA_DIR = join(homedir(), ".ran");
2312
+ var DB_PATH = join(DATA_DIR, "history.db");
2313
+ var _db = null;
2314
+ var _dbPath = null;
2315
+ function initSchema(db) {
2316
+ db.run(`
2317
+ CREATE TABLE IF NOT EXISTS commands (
2318
+ id INTEGER PRIMARY KEY,
2319
+ tool_use_id TEXT UNIQUE,
2320
+ command TEXT NOT NULL,
2321
+ description TEXT,
2322
+ cwd TEXT,
2323
+ stdout TEXT,
2324
+ stderr TEXT,
2325
+ is_error INTEGER DEFAULT 0,
2326
+ timestamp TEXT,
2327
+ session_id TEXT
2328
+ )
2329
+ `);
2330
+ db.run(`
2331
+ CREATE TABLE IF NOT EXISTS indexed_files (
2332
+ file_path TEXT PRIMARY KEY,
2333
+ last_byte_offset INTEGER DEFAULT 0,
2334
+ last_modified INTEGER DEFAULT 0
2335
+ )
2336
+ `);
2337
+ db.run(`CREATE INDEX IF NOT EXISTS idx_commands_command ON commands(command)`);
2338
+ db.run(`CREATE INDEX IF NOT EXISTS idx_commands_timestamp ON commands(timestamp)`);
2339
+ }
2340
+ async function createDb(dbPath) {
2341
+ const SQL = await import_sql.default();
2342
+ if (dbPath === ":memory:") {
2343
+ const db2 = new SQL.Database;
2344
+ initSchema(db2);
2345
+ return db2;
2346
+ }
2347
+ const path = dbPath ?? DB_PATH;
2348
+ if (!existsSync(DATA_DIR)) {
2349
+ mkdirSync(DATA_DIR, { recursive: true });
2350
+ }
2351
+ let db;
2352
+ if (existsSync(path)) {
2353
+ const buffer = readFileSync(path);
2354
+ db = new SQL.Database(buffer);
2355
+ } else {
2356
+ db = new SQL.Database;
2357
+ }
2358
+ initSchema(db);
2359
+ return db;
2360
+ }
2361
+ async function getDb() {
2362
+ if (!_db) {
2363
+ _db = await createDb();
2364
+ _dbPath = DB_PATH;
2365
+ }
2366
+ return _db;
2367
+ }
2368
+ function saveDb(db, path) {
2369
+ const savePath = path ?? _dbPath ?? DB_PATH;
2370
+ const dir = savePath.substring(0, savePath.lastIndexOf("/"));
2371
+ if (dir && !existsSync(dir)) {
2372
+ mkdirSync(dir, { recursive: true });
2373
+ }
2374
+ const data = db.export();
2375
+ const buffer = Buffer.from(data);
2376
+ writeFileSync(savePath, buffer);
2377
+ }
2378
+ async function insertCommand(cmd, db) {
2379
+ const database = db ?? await getDb();
2380
+ database.run(`INSERT OR IGNORE INTO commands
2381
+ (tool_use_id, command, description, cwd, stdout, stderr, is_error, timestamp, session_id)
2382
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
2383
+ cmd.tool_use_id,
2384
+ cmd.command,
2385
+ cmd.description,
2386
+ cmd.cwd,
2387
+ cmd.stdout,
2388
+ cmd.stderr,
2389
+ cmd.is_error,
2390
+ cmd.timestamp,
2391
+ cmd.session_id
2392
+ ]);
2393
+ if (!db)
2394
+ saveDb(database);
2395
+ }
2396
+ async function updateIndexedFile(filePath, byteOffset, mtime, db) {
2397
+ const database = db ?? await getDb();
2398
+ database.run(`INSERT OR REPLACE INTO indexed_files (file_path, last_byte_offset, last_modified)
2399
+ VALUES (?, ?, ?)`, [filePath, byteOffset, mtime]);
2400
+ if (!db)
2401
+ saveDb(database);
2402
+ }
2403
+ async function getIndexedFile(filePath, db) {
2404
+ const database = db ?? await getDb();
2405
+ const stmt = database.prepare(`SELECT * FROM indexed_files WHERE file_path = ?`);
2406
+ stmt.bind([filePath]);
2407
+ if (stmt.step()) {
2408
+ const row = stmt.getAsObject();
2409
+ stmt.free();
2410
+ return row;
2411
+ }
2412
+ stmt.free();
2413
+ return null;
2414
+ }
2415
+ async function searchCommands(pattern, useRegex, cwd, db) {
2416
+ const database = db ?? await getDb();
2417
+ if (useRegex) {
2418
+ const results2 = [];
2419
+ const stmt2 = database.prepare(`SELECT * FROM commands ORDER BY timestamp DESC`);
2420
+ const regex = new RegExp(pattern, "i");
2421
+ while (stmt2.step()) {
2422
+ const row = stmt2.getAsObject();
2423
+ if (regex.test(row.command) && (!cwd || row.cwd === cwd)) {
2424
+ results2.push(row);
2425
+ }
2426
+ }
2427
+ stmt2.free();
2428
+ return results2;
2429
+ }
2430
+ const results = [];
2431
+ const sql = cwd ? `SELECT * FROM commands WHERE command LIKE ? AND cwd = ? ORDER BY timestamp DESC` : `SELECT * FROM commands WHERE command LIKE ? ORDER BY timestamp DESC`;
2432
+ const params = cwd ? [`%${pattern}%`, cwd] : [`%${pattern}%`];
2433
+ const stmt = database.prepare(sql);
2434
+ stmt.bind(params);
2435
+ while (stmt.step()) {
2436
+ results.push(stmt.getAsObject());
2437
+ }
2438
+ stmt.free();
2439
+ return results;
2440
+ }
2441
+ async function listCommands(limit = 20, db) {
2442
+ const database = db ?? await getDb();
2443
+ const results = [];
2444
+ const stmt = database.prepare(`SELECT * FROM commands ORDER BY timestamp DESC LIMIT ?`);
2445
+ stmt.bind([limit]);
2446
+ while (stmt.step()) {
2447
+ results.push(stmt.getAsObject());
2448
+ }
2449
+ stmt.free();
2450
+ return results;
2451
+ }
2452
+ async function getStats(db) {
2453
+ const database = db ?? await getDb();
2454
+ const cmdStmt = database.prepare(`SELECT COUNT(*) as count FROM commands`);
2455
+ cmdStmt.step();
2456
+ const commands = cmdStmt.getAsObject();
2457
+ cmdStmt.free();
2458
+ const fileStmt = database.prepare(`SELECT COUNT(*) as count FROM indexed_files`);
2459
+ fileStmt.step();
2460
+ const files = fileStmt.getAsObject();
2461
+ fileStmt.free();
2462
+ return {
2463
+ totalCommands: commands.count,
2464
+ indexedFiles: files.count
2465
+ };
2466
+ }
2467
+
2468
+ // src/sync.ts
2469
+ import { homedir as homedir2 } from "os";
2470
+ import { join as join2 } from "path";
2471
+ import { statSync, readFileSync as readFileSync2, readdirSync, existsSync as existsSync2 } from "fs";
2472
+ var CLAUDE_PROJECTS_DIR = join2(homedir2(), ".claude", "projects");
2473
+ function parseJsonlContent(content, sessionId = null) {
2474
+ const lines = content.split(`
2475
+ `);
2476
+ const entries = [];
2477
+ for (const line of lines) {
2478
+ const trimmed = line.trim();
2479
+ if (!trimmed)
2480
+ continue;
2481
+ try {
2482
+ entries.push(JSON.parse(trimmed));
2483
+ } catch {}
2484
+ }
2485
+ return extractCommands(entries, sessionId);
2486
+ }
2487
+ function extractCommands(entries, sessionId = null) {
2488
+ const commands = [];
2489
+ const pendingToolUses = new Map;
2490
+ for (const entry of entries) {
2491
+ if (entry.type === "assistant" && Array.isArray(entry.message.content)) {
2492
+ for (const item of entry.message.content) {
2493
+ if (item.type === "tool_use" && item.name === "Bash") {
2494
+ const toolUse = item;
2495
+ if (toolUse.input?.command) {
2496
+ pendingToolUses.set(toolUse.id, {
2497
+ toolUse,
2498
+ cwd: entry.cwd,
2499
+ timestamp: entry.timestamp
2500
+ });
2501
+ }
2502
+ }
2503
+ }
2504
+ }
2505
+ if (entry.type === "user" && Array.isArray(entry.message.content)) {
2506
+ for (const item of entry.message.content) {
2507
+ if (item.type === "tool_result") {
2508
+ const toolResult = item;
2509
+ const pending = pendingToolUses.get(toolResult.tool_use_id);
2510
+ if (pending) {
2511
+ commands.push({
2512
+ tool_use_id: toolResult.tool_use_id,
2513
+ command: pending.toolUse.input.command,
2514
+ description: pending.toolUse.input.description ?? null,
2515
+ cwd: pending.cwd ?? null,
2516
+ stdout: entry.toolUseResult?.stdout ?? toolResult.content ?? null,
2517
+ stderr: entry.toolUseResult?.stderr ?? null,
2518
+ is_error: toolResult.is_error ? 1 : 0,
2519
+ timestamp: pending.timestamp ?? null,
2520
+ session_id: sessionId
2521
+ });
2522
+ pendingToolUses.delete(toolResult.tool_use_id);
2523
+ }
2524
+ }
2525
+ }
2526
+ }
2527
+ }
2528
+ return commands;
2529
+ }
2530
+ async function sync(options = {}) {
2531
+ const { force = false, db, projectsDir = CLAUDE_PROJECTS_DIR } = options;
2532
+ const database = db ?? await getDb();
2533
+ const result = {
2534
+ filesScanned: 0,
2535
+ newCommands: 0,
2536
+ errors: []
2537
+ };
2538
+ if (!existsSync2(projectsDir)) {
2539
+ result.errors.push(`Claude projects directory not found: ${projectsDir}`);
2540
+ return result;
2541
+ }
2542
+ const jsonlFiles = [];
2543
+ const projectDirs = readdirSync(projectsDir);
2544
+ for (const dir of projectDirs) {
2545
+ const projectPath = join2(projectsDir, dir);
2546
+ try {
2547
+ const stat = statSync(projectPath);
2548
+ if (stat.isDirectory()) {
2549
+ const files = readdirSync(projectPath);
2550
+ for (const file of files) {
2551
+ if (file.endsWith(".jsonl")) {
2552
+ jsonlFiles.push(join2(projectPath, file));
2553
+ }
2554
+ }
2555
+ }
2556
+ } catch (e) {}
2557
+ }
2558
+ for (const filePath of jsonlFiles) {
2559
+ result.filesScanned++;
2560
+ try {
2561
+ const stat = statSync(filePath);
2562
+ const indexed = await getIndexedFile(filePath, database);
2563
+ if (!force && indexed && indexed.last_byte_offset >= stat.size) {
2564
+ continue;
2565
+ }
2566
+ const startOffset = force ? 0 : indexed?.last_byte_offset ?? 0;
2567
+ const newCommands = await indexFile(filePath, startOffset, database);
2568
+ result.newCommands += newCommands;
2569
+ await updateIndexedFile(filePath, stat.size, stat.mtimeMs, database);
2570
+ } catch (e) {
2571
+ result.errors.push(`Error processing ${filePath}: ${e}`);
2572
+ }
2573
+ }
2574
+ if (!db) {
2575
+ saveDb(database);
2576
+ }
2577
+ return result;
2578
+ }
2579
+ async function indexFile(filePath, startOffset, db) {
2580
+ const content = readFileSync2(filePath, "utf-8");
2581
+ const lines = content.split(`
2582
+ `);
2583
+ let bytePos = 0;
2584
+ let startLine = 0;
2585
+ if (startOffset > 0) {
2586
+ for (let i = 0;i < lines.length; i++) {
2587
+ const lineBytes = Buffer.byteLength(lines[i], "utf-8") + 1;
2588
+ if (bytePos + lineBytes > startOffset) {
2589
+ startLine = i;
2590
+ break;
2591
+ }
2592
+ bytePos += lineBytes;
2593
+ }
2594
+ }
2595
+ const newContent = lines.slice(startLine).join(`
2596
+ `);
2597
+ const sessionId = filePath.split("/").pop()?.replace(".jsonl", "") ?? null;
2598
+ const commands = parseJsonlContent(newContent, sessionId);
2599
+ for (const cmd of commands) {
2600
+ await insertCommand(cmd, db);
2601
+ }
2602
+ return commands.length;
2603
+ }
2604
+
2605
+ // src/format.ts
2606
+ function formatCommand(cmd) {
2607
+ const time = cmd.timestamp ? new Date(cmd.timestamp).toLocaleString() : "unknown";
2608
+ const status = cmd.is_error ? "\x1B[31m[error]\x1B[0m" : "\x1B[32m[ok]\x1B[0m";
2609
+ console.log(`${status} \x1B[36m${cmd.command}\x1B[0m`);
2610
+ if (cmd.description) {
2611
+ console.log(` \x1B[90m${cmd.description}\x1B[0m`);
2612
+ }
2613
+ console.log(` \x1B[90m${time} | ${cmd.cwd ?? "unknown dir"}\x1B[0m`);
2614
+ console.log();
2615
+ }
2616
+
2617
+ // src/commands/search.ts
2618
+ async function search(pattern, options = {}) {
2619
+ if (!options.noSync) {
2620
+ await sync();
2621
+ }
2622
+ const results = await searchCommands(pattern, options.regex ?? false, options.cwd);
2623
+ const limited = options.limit ? results.slice(0, options.limit) : results;
2624
+ if (limited.length === 0) {
2625
+ console.log("No commands found matching:", pattern);
2626
+ return;
2627
+ }
2628
+ console.log(`Found ${results.length} command(s)${options.limit && results.length > options.limit ? ` (showing ${options.limit})` : ""}:
2629
+ `);
2630
+ for (const cmd of limited) {
2631
+ formatCommand(cmd);
2632
+ }
2633
+ }
2634
+
2635
+ // src/commands/list.ts
2636
+ async function list(options = {}) {
2637
+ if (!options.noSync) {
2638
+ await sync();
2639
+ }
2640
+ const limit = options.limit ?? 20;
2641
+ const results = await listCommands(limit);
2642
+ if (results.length === 0) {
2643
+ console.log("No commands in history.");
2644
+ return;
2645
+ }
2646
+ console.log(`Last ${results.length} command(s):
2647
+ `);
2648
+ for (const cmd of results) {
2649
+ formatCommand(cmd);
2650
+ }
2651
+ }
2652
+
2653
+ // src/commands/syncCmd.ts
2654
+ async function syncCommand(options = {}) {
2655
+ console.log(options.force ? "Force re-indexing all sessions..." : "Syncing new commands...");
2656
+ const result = await sync({ force: options.force });
2657
+ console.log(`
2658
+ Scanned ${result.filesScanned} file(s)`);
2659
+ console.log(`Indexed ${result.newCommands} new command(s)`);
2660
+ if (result.errors.length > 0) {
2661
+ console.log(`
2662
+ Errors:`);
2663
+ for (const err of result.errors) {
2664
+ console.log(` - ${err}`);
2665
+ }
2666
+ }
2667
+ const stats = await getStats();
2668
+ console.log(`
2669
+ Total: ${stats.totalCommands} commands from ${stats.indexedFiles} session files`);
2670
+ }
2671
+
2672
+ // src/commands/onboard.ts
2673
+ import { existsSync as existsSync3, readFileSync as readFileSync3, writeFileSync as writeFileSync2, mkdirSync as mkdirSync2 } from "fs";
2674
+ import { join as join3 } from "path";
2675
+ import { homedir as homedir3 } from "os";
2676
+ var MARKER = "<!-- ran:onboard -->";
2677
+ var RAN_SECTION = `${MARKER}
2678
+ ## ran - Claude Code bash history
2679
+
2680
+ Use the \`ran\` CLI to search commands from previous Claude Code sessions:
2681
+
2682
+ - \`ran search <pattern>\` - Search by substring or regex (\`--regex\`)
2683
+ - \`ran list\` - Show recent commands
2684
+ - \`ran search "" --cwd /path\` - Filter by directory
2685
+
2686
+ Example: "What docker command did you run?" → \`ran search docker\`
2687
+ `;
2688
+ function onboard(options = {}) {
2689
+ const claudeDir = join3(homedir3(), ".claude");
2690
+ const targetFile = join3(claudeDir, "CLAUDE.md");
2691
+ if (!existsSync3(claudeDir)) {
2692
+ mkdirSync2(claudeDir, { recursive: true });
2693
+ }
2694
+ let existingContent = "";
2695
+ if (existsSync3(targetFile)) {
2696
+ existingContent = readFileSync3(targetFile, "utf-8");
2697
+ }
2698
+ if (existingContent.includes(MARKER)) {
2699
+ if (!options.force) {
2700
+ console.log(`ran section already exists in ${targetFile}`);
2701
+ console.log("Use --force to update it");
2702
+ return;
2703
+ }
2704
+ const markerIndex = existingContent.indexOf(MARKER);
2705
+ const nextSectionMatch = existingContent.slice(markerIndex + MARKER.length).match(/\n## /);
2706
+ if (nextSectionMatch && nextSectionMatch.index !== undefined) {
2707
+ const endIndex = markerIndex + MARKER.length + nextSectionMatch.index;
2708
+ existingContent = existingContent.slice(0, markerIndex) + existingContent.slice(endIndex);
2709
+ } else {
2710
+ existingContent = existingContent.slice(0, markerIndex);
2711
+ }
2712
+ }
2713
+ const newContent = existingContent ? existingContent.trimEnd() + `
2714
+
2715
+ ` + RAN_SECTION : RAN_SECTION;
2716
+ writeFileSync2(targetFile, newContent);
2717
+ const action = existingContent ? "Updated" : "Created";
2718
+ console.log(`${action} ${targetFile} with ran section`);
2719
+ }
2720
+
2721
+ // src/cli.ts
2722
+ function parseArgs(args) {
2723
+ const flags = {};
2724
+ const positional = [];
2725
+ for (let i = 0;i < args.length; i++) {
2726
+ const arg = args[i];
2727
+ if (arg === "--regex" || arg === "-r") {
2728
+ flags.regex = true;
2729
+ } else if (arg === "--force" || arg === "-f") {
2730
+ flags.force = true;
2731
+ } else if (arg === "--no-sync") {
2732
+ flags.noSync = true;
2733
+ } else if (arg === "--cwd" && args[i + 1]) {
2734
+ flags.cwd = args[++i];
2735
+ } else if ((arg === "--limit" || arg === "-n") && args[i + 1]) {
2736
+ flags.limit = args[++i];
2737
+ } else if (!arg.startsWith("-")) {
2738
+ positional.push(arg);
2739
+ }
2740
+ }
2741
+ return { flags, positional };
2742
+ }
2743
+
2744
+ // src/index.ts
2745
+ var args = process.argv.slice(2);
2746
+ var command = args[0];
2747
+ function printHelp() {
2748
+ console.log(`
2749
+ \x1B[1mran\x1B[0m - Claude Code bash history
2750
+
2751
+ \x1B[1mUSAGE:\x1B[0m
2752
+ ran <command> [options]
2753
+
2754
+ \x1B[1mCOMMANDS:\x1B[0m
2755
+ search <pattern> Search command history
2756
+ --regex, -r Use regex pattern
2757
+ --cwd <path> Filter by working directory
2758
+ --limit, -n <N> Limit results
2759
+ --no-sync Skip auto-sync
2760
+
2761
+ list List recent commands
2762
+ --limit, -n <N> Number of commands (default: 20)
2763
+ --no-sync Skip auto-sync
2764
+
2765
+ sync Sync command history from Claude sessions
2766
+ --force, -f Force re-index all sessions
2767
+
2768
+ onboard Add ran section to ~/.claude/CLAUDE.md
2769
+ --force, -f Update existing section
2770
+
2771
+ \x1B[1mEXAMPLES:\x1B[0m
2772
+ ran search docker
2773
+ ran search "git.*main" --regex
2774
+ ran search npm --cwd /projects/myapp
2775
+ ran list --limit 50
2776
+ ran sync --force
2777
+ `);
2778
+ }
2779
+ async function main() {
2780
+ const { flags, positional } = parseArgs(args.slice(1));
2781
+ switch (command) {
2782
+ case "search":
2783
+ case "s":
2784
+ if (positional.length === 0) {
2785
+ console.error("Error: search requires a pattern");
2786
+ process.exit(1);
2787
+ }
2788
+ await search(positional[0], {
2789
+ regex: flags.regex,
2790
+ cwd: flags.cwd,
2791
+ limit: flags.limit ? parseInt(flags.limit, 10) : undefined,
2792
+ noSync: flags.noSync
2793
+ });
2794
+ break;
2795
+ case "list":
2796
+ case "ls":
2797
+ case "l":
2798
+ await list({
2799
+ limit: flags.limit ? parseInt(flags.limit, 10) : undefined,
2800
+ noSync: flags.noSync
2801
+ });
2802
+ break;
2803
+ case "sync":
2804
+ await syncCommand({
2805
+ force: flags.force
2806
+ });
2807
+ break;
2808
+ case "onboard":
2809
+ onboard({
2810
+ force: flags.force
2811
+ });
2812
+ break;
2813
+ case "help":
2814
+ case "--help":
2815
+ case "-h":
2816
+ case undefined:
2817
+ printHelp();
2818
+ break;
2819
+ default:
2820
+ console.error(`Unknown command: ${command}`);
2821
+ printHelp();
2822
+ process.exit(1);
2823
+ }
2824
+ }
2825
+ main().catch((err) => {
2826
+ console.error("Error:", err.message);
2827
+ process.exit(1);
2828
+ });