@loaders.gl/splats 5.0.0-alpha.11 → 5.0.0-alpha.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/dist/dist.dev.js +1307 -1717
- package/dist/dist.min.js +33 -33
- package/dist/index.cjs +223 -907
- package/dist/index.cjs.map +3 -3
- package/dist/ksplat-loader-types.d.ts +1 -1
- package/dist/ksplat-loader-types.d.ts.map +1 -1
- package/dist/ksplat-loader-types.js +1 -1
- package/dist/ksplat-loader.d.ts +1 -1
- package/dist/ksplat-loader.d.ts.map +1 -1
- package/dist/lib/parse-ksplat.d.ts +1 -1
- package/dist/lib/parse-ksplat.d.ts.map +1 -1
- package/dist/lib/parse-rad-chunk.d.ts +3 -1
- package/dist/lib/parse-rad-chunk.d.ts.map +1 -1
- package/dist/lib/parse-rad-chunk.js +4 -0
- package/dist/lib/parse-rad-chunk.js.map +1 -1
- package/dist/lib/parse-splat.d.ts +1 -1
- package/dist/lib/parse-splat.d.ts.map +1 -1
- package/dist/lib/parse-spz.d.ts +1 -1
- package/dist/lib/parse-spz.d.ts.map +1 -1
- package/dist/lib/splats-arrow-table.d.ts +1 -1
- package/dist/lib/splats-arrow-table.d.ts.map +1 -1
- package/dist/rad-loader-types.js +1 -1
- package/dist/rad-loader.d.ts +1 -1
- package/dist/rad-loader.d.ts.map +1 -1
- package/dist/rad-loader.js +1 -1
- package/dist/rad-loader.js.map +1 -1
- package/dist/rad-source-loader.d.ts +3 -3
- package/dist/rad-source-loader.d.ts.map +1 -1
- package/dist/rad-source-loader.js +5 -3
- package/dist/rad-source-loader.js.map +1 -1
- package/dist/splat-loader-types.d.ts +1 -1
- package/dist/splat-loader-types.d.ts.map +1 -1
- package/dist/splat-loader-types.js +1 -1
- package/dist/splat-loader.d.ts +1 -1
- package/dist/splat-loader.d.ts.map +1 -1
- package/dist/spz-loader-types.d.ts +1 -1
- package/dist/spz-loader-types.d.ts.map +1 -1
- package/dist/spz-loader-types.js +1 -1
- package/dist/spz-loader.d.ts +1 -1
- package/dist/spz-loader.d.ts.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -7
- package/src/ksplat-loader-types.ts +2 -2
- package/src/ksplat-loader.ts +2 -2
- package/src/lib/parse-ksplat.ts +1 -1
- package/src/lib/parse-rad-chunk.ts +6 -1
- package/src/lib/parse-splat.ts +1 -1
- package/src/lib/parse-spz.ts +1 -1
- package/src/lib/splats-arrow-table.ts +1 -1
- package/src/rad-loader-types.ts +1 -1
- package/src/rad-loader.ts +2 -1
- package/src/rad-source-loader.ts +6 -3
- package/src/splat-loader-types.ts +2 -2
- package/src/splat-loader.ts +2 -2
- package/src/splats-format.ts +1 -1
- package/src/spz-loader-types.ts +2 -2
- package/src/spz-loader.ts +2 -2
- package/src/types.ts +1 -1
package/dist/dist.dev.js
CHANGED
|
@@ -12,12 +12,12 @@ var __exports__ = (() => {
|
|
|
12
12
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
13
13
|
var __getProtoOf = Object.getPrototypeOf;
|
|
14
14
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
15
|
-
var __esm = (fn, res,
|
|
16
|
-
if (
|
|
15
|
+
var __esm = (fn, res, err) => function __init() {
|
|
16
|
+
if (err) throw err[0];
|
|
17
17
|
try {
|
|
18
18
|
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
19
19
|
} catch (e) {
|
|
20
|
-
throw
|
|
20
|
+
throw err = [e], e;
|
|
21
21
|
}
|
|
22
22
|
};
|
|
23
23
|
var __commonJS = (cb, mod) => function __require() {
|
|
@@ -39,7 +39,6 @@ var __exports__ = (() => {
|
|
|
39
39
|
}
|
|
40
40
|
return to;
|
|
41
41
|
};
|
|
42
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
43
42
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
44
43
|
// If the importer is in node compatibility mode or this is not an ESM
|
|
45
44
|
// file that has been converted to a CommonJS file using a Babel-
|
|
@@ -103,10 +102,10 @@ var __exports__ = (() => {
|
|
|
103
102
|
}
|
|
104
103
|
});
|
|
105
104
|
|
|
106
|
-
// ../../node_modules
|
|
105
|
+
// ../../node_modules/probe.gl/dist/env/lib/globals.js
|
|
107
106
|
var window_, document_, process_, console_, navigator_;
|
|
108
107
|
var init_globals = __esm({
|
|
109
|
-
"../../node_modules
|
|
108
|
+
"../../node_modules/probe.gl/dist/env/lib/globals.js"() {
|
|
110
109
|
window_ = globalThis;
|
|
111
110
|
document_ = globalThis.document || {};
|
|
112
111
|
process_ = globalThis.process || {};
|
|
@@ -115,7 +114,7 @@ var __exports__ = (() => {
|
|
|
115
114
|
}
|
|
116
115
|
});
|
|
117
116
|
|
|
118
|
-
// ../../node_modules
|
|
117
|
+
// ../../node_modules/probe.gl/dist/env/lib/is-electron.js
|
|
119
118
|
function isElectron(mockUserAgent) {
|
|
120
119
|
if (typeof window !== "undefined" && window.process?.type === "renderer") {
|
|
121
120
|
return true;
|
|
@@ -128,11 +127,11 @@ var __exports__ = (() => {
|
|
|
128
127
|
return Boolean(userAgent && userAgent.indexOf("Electron") >= 0);
|
|
129
128
|
}
|
|
130
129
|
var init_is_electron = __esm({
|
|
131
|
-
"../../node_modules
|
|
130
|
+
"../../node_modules/probe.gl/dist/env/lib/is-electron.js"() {
|
|
132
131
|
}
|
|
133
132
|
});
|
|
134
133
|
|
|
135
|
-
// ../../node_modules
|
|
134
|
+
// ../../node_modules/probe.gl/dist/env/lib/is-browser.js
|
|
136
135
|
function isBrowser() {
|
|
137
136
|
const isNode = (
|
|
138
137
|
// @ts-expect-error
|
|
@@ -141,33 +140,51 @@ var __exports__ = (() => {
|
|
|
141
140
|
return !isNode || isElectron();
|
|
142
141
|
}
|
|
143
142
|
var init_is_browser = __esm({
|
|
144
|
-
"../../node_modules
|
|
143
|
+
"../../node_modules/probe.gl/dist/env/lib/is-browser.js"() {
|
|
145
144
|
init_is_electron();
|
|
146
145
|
}
|
|
147
146
|
});
|
|
148
147
|
|
|
149
|
-
// ../../node_modules
|
|
148
|
+
// ../../node_modules/probe.gl/dist/env/lib/get-browser.js
|
|
149
|
+
var init_get_browser = __esm({
|
|
150
|
+
"../../node_modules/probe.gl/dist/env/lib/get-browser.js"() {
|
|
151
|
+
init_is_browser();
|
|
152
|
+
init_is_electron();
|
|
153
|
+
init_globals();
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
// ../../node_modules/probe.gl/dist/env/utils/assert.js
|
|
158
|
+
var init_assert = __esm({
|
|
159
|
+
"../../node_modules/probe.gl/dist/env/utils/assert.js"() {
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
// ../../node_modules/probe.gl/dist/env/index.js
|
|
150
164
|
var VERSION;
|
|
151
|
-
var
|
|
152
|
-
"../../node_modules
|
|
165
|
+
var init_env = __esm({
|
|
166
|
+
"../../node_modules/probe.gl/dist/env/index.js"() {
|
|
153
167
|
init_globals();
|
|
154
168
|
init_is_browser();
|
|
155
|
-
|
|
169
|
+
init_get_browser();
|
|
170
|
+
init_is_electron();
|
|
171
|
+
init_assert();
|
|
172
|
+
VERSION = true ? "5.0.0" : "untranspiled source";
|
|
156
173
|
}
|
|
157
174
|
});
|
|
158
175
|
|
|
159
|
-
// ../../node_modules
|
|
160
|
-
function
|
|
176
|
+
// ../../node_modules/probe.gl/dist/log/utils/assert.js
|
|
177
|
+
function assert2(condition, message) {
|
|
161
178
|
if (!condition) {
|
|
162
179
|
throw new Error(message || "Assertion failed");
|
|
163
180
|
}
|
|
164
181
|
}
|
|
165
|
-
var
|
|
166
|
-
"../../node_modules
|
|
182
|
+
var init_assert2 = __esm({
|
|
183
|
+
"../../node_modules/probe.gl/dist/log/utils/assert.js"() {
|
|
167
184
|
}
|
|
168
185
|
});
|
|
169
186
|
|
|
170
|
-
// ../../node_modules
|
|
187
|
+
// ../../node_modules/probe.gl/dist/log/loggers/log-utils.js
|
|
171
188
|
function normalizeLogLevel(logLevel) {
|
|
172
189
|
if (!logLevel) {
|
|
173
190
|
return 0;
|
|
@@ -183,7 +200,7 @@ var __exports__ = (() => {
|
|
|
183
200
|
default:
|
|
184
201
|
return 0;
|
|
185
202
|
}
|
|
186
|
-
|
|
203
|
+
assert2(Number.isFinite(resolvedLevel) && resolvedLevel >= 0);
|
|
187
204
|
return resolvedLevel;
|
|
188
205
|
}
|
|
189
206
|
function normalizeArguments(opts) {
|
|
@@ -209,19 +226,19 @@ var __exports__ = (() => {
|
|
|
209
226
|
opts.message = opts.message();
|
|
210
227
|
}
|
|
211
228
|
const messageType = typeof opts.message;
|
|
212
|
-
|
|
229
|
+
assert2(messageType === "string" || messageType === "object");
|
|
213
230
|
return Object.assign(opts, { args }, opts.opts);
|
|
214
231
|
}
|
|
215
232
|
var init_log_utils = __esm({
|
|
216
|
-
"../../node_modules
|
|
217
|
-
|
|
233
|
+
"../../node_modules/probe.gl/dist/log/loggers/log-utils.js"() {
|
|
234
|
+
init_assert2();
|
|
218
235
|
}
|
|
219
236
|
});
|
|
220
237
|
|
|
221
|
-
// ../../node_modules
|
|
238
|
+
// ../../node_modules/probe.gl/dist/log/loggers/base-log.js
|
|
222
239
|
var noop, BaseLog;
|
|
223
240
|
var init_base_log = __esm({
|
|
224
|
-
"../../node_modules
|
|
241
|
+
"../../node_modules/probe.gl/dist/log/loggers/base-log.js"() {
|
|
225
242
|
init_log_utils();
|
|
226
243
|
noop = () => {
|
|
227
244
|
};
|
|
@@ -303,7 +320,7 @@ var __exports__ = (() => {
|
|
|
303
320
|
}
|
|
304
321
|
});
|
|
305
322
|
|
|
306
|
-
// ../../node_modules
|
|
323
|
+
// ../../node_modules/probe.gl/dist/log/utils/local-storage.js
|
|
307
324
|
function getStorage(type) {
|
|
308
325
|
try {
|
|
309
326
|
const storage = window[type];
|
|
@@ -317,7 +334,7 @@ var __exports__ = (() => {
|
|
|
317
334
|
}
|
|
318
335
|
var LocalStorage;
|
|
319
336
|
var init_local_storage = __esm({
|
|
320
|
-
"../../node_modules
|
|
337
|
+
"../../node_modules/probe.gl/dist/log/utils/local-storage.js"() {
|
|
321
338
|
LocalStorage = class {
|
|
322
339
|
constructor(id, defaultConfig, type = "sessionStorage") {
|
|
323
340
|
this.storage = getStorage(type);
|
|
@@ -349,7 +366,7 @@ var __exports__ = (() => {
|
|
|
349
366
|
}
|
|
350
367
|
});
|
|
351
368
|
|
|
352
|
-
// ../../node_modules
|
|
369
|
+
// ../../node_modules/probe.gl/dist/log/utils/formatters.js
|
|
353
370
|
function formatTime(ms) {
|
|
354
371
|
let formatted;
|
|
355
372
|
if (ms < 10) {
|
|
@@ -368,11 +385,11 @@ var __exports__ = (() => {
|
|
|
368
385
|
return `${" ".repeat(padLength)}${string4}`;
|
|
369
386
|
}
|
|
370
387
|
var init_formatters = __esm({
|
|
371
|
-
"../../node_modules
|
|
388
|
+
"../../node_modules/probe.gl/dist/log/utils/formatters.js"() {
|
|
372
389
|
}
|
|
373
390
|
});
|
|
374
391
|
|
|
375
|
-
// ../../node_modules
|
|
392
|
+
// ../../node_modules/probe.gl/dist/log/utils/color.js
|
|
376
393
|
function getColor(color) {
|
|
377
394
|
if (typeof color !== "string") {
|
|
378
395
|
return color;
|
|
@@ -395,8 +412,8 @@ var __exports__ = (() => {
|
|
|
395
412
|
}
|
|
396
413
|
var COLOR, BACKGROUND_INCREMENT;
|
|
397
414
|
var init_color = __esm({
|
|
398
|
-
"../../node_modules
|
|
399
|
-
|
|
415
|
+
"../../node_modules/probe.gl/dist/log/utils/color.js"() {
|
|
416
|
+
init_env();
|
|
400
417
|
(function(COLOR2) {
|
|
401
418
|
COLOR2[COLOR2["BLACK"] = 30] = "BLACK";
|
|
402
419
|
COLOR2[COLOR2["RED"] = 31] = "RED";
|
|
@@ -419,7 +436,7 @@ var __exports__ = (() => {
|
|
|
419
436
|
}
|
|
420
437
|
});
|
|
421
438
|
|
|
422
|
-
// ../../node_modules
|
|
439
|
+
// ../../node_modules/probe.gl/dist/log/utils/autobind.js
|
|
423
440
|
function autobind(obj, predefined = ["constructor"]) {
|
|
424
441
|
const proto = Object.getPrototypeOf(obj);
|
|
425
442
|
const propNames = Object.getOwnPropertyNames(proto);
|
|
@@ -434,30 +451,44 @@ var __exports__ = (() => {
|
|
|
434
451
|
}
|
|
435
452
|
}
|
|
436
453
|
var init_autobind = __esm({
|
|
437
|
-
"../../node_modules
|
|
438
|
-
}
|
|
439
|
-
});
|
|
440
|
-
|
|
441
|
-
// ../../node_modules
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
454
|
+
"../../node_modules/probe.gl/dist/log/utils/autobind.js"() {
|
|
455
|
+
}
|
|
456
|
+
});
|
|
457
|
+
|
|
458
|
+
// ../../node_modules/probe.gl/dist/log/probe.js
|
|
459
|
+
var Probe, probe;
|
|
460
|
+
var init_probe = __esm({
|
|
461
|
+
"../../node_modules/probe.gl/dist/log/probe.js"() {
|
|
462
|
+
init_env();
|
|
463
|
+
Probe = class {
|
|
464
|
+
getHighResolutionTimer() {
|
|
465
|
+
let timestamp;
|
|
466
|
+
if (isBrowser() && window_.performance) {
|
|
467
|
+
timestamp = window_?.performance?.now?.();
|
|
468
|
+
} else if ("hrtime" in process_) {
|
|
469
|
+
const timeParts = process_?.hrtime?.();
|
|
470
|
+
timestamp = timeParts[0] * 1e3 + timeParts[1] / 1e6;
|
|
471
|
+
} else {
|
|
472
|
+
timestamp = Date.now();
|
|
473
|
+
}
|
|
474
|
+
return timestamp;
|
|
475
|
+
}
|
|
476
|
+
getMemoryUsageMB() {
|
|
477
|
+
const performance = window_?.performance;
|
|
478
|
+
const usedJSHeapSize = performance?.memory?.usedJSHeapSize;
|
|
479
|
+
if (usedJSHeapSize === void 0 || usedJSHeapSize === null) {
|
|
480
|
+
return null;
|
|
481
|
+
}
|
|
482
|
+
return Math.trunc(usedJSHeapSize / 1024 / 1024);
|
|
483
|
+
}
|
|
484
|
+
};
|
|
485
|
+
probe = new Probe();
|
|
486
|
+
globalThis.Probe = Probe;
|
|
487
|
+
globalThis.probe = probe;
|
|
457
488
|
}
|
|
458
489
|
});
|
|
459
490
|
|
|
460
|
-
// ../../node_modules
|
|
491
|
+
// ../../node_modules/probe.gl/dist/log/loggers/probe-log.js
|
|
461
492
|
function decorateMessage(id, message, opts) {
|
|
462
493
|
if (typeof message === "string") {
|
|
463
494
|
const time3 = opts.time ? leftPad(formatTime(opts.total)) : "";
|
|
@@ -476,15 +507,17 @@ var __exports__ = (() => {
|
|
|
476
507
|
}
|
|
477
508
|
var originalConsole, DEFAULT_LOG_CONFIGURATION, ProbeLog;
|
|
478
509
|
var init_probe_log = __esm({
|
|
479
|
-
"../../node_modules
|
|
480
|
-
|
|
510
|
+
"../../node_modules/probe.gl/dist/log/loggers/probe-log.js"() {
|
|
511
|
+
init_env();
|
|
481
512
|
init_base_log();
|
|
482
513
|
init_local_storage();
|
|
483
514
|
init_formatters();
|
|
484
515
|
init_color();
|
|
485
516
|
init_autobind();
|
|
486
|
-
|
|
487
|
-
|
|
517
|
+
init_assert2();
|
|
518
|
+
init_probe();
|
|
519
|
+
init_log_utils();
|
|
520
|
+
init_log_utils();
|
|
488
521
|
originalConsole = {
|
|
489
522
|
debug: isBrowser() ? console.debug || console.log : console.log,
|
|
490
523
|
log: console.log,
|
|
@@ -500,8 +533,8 @@ var __exports__ = (() => {
|
|
|
500
533
|
constructor({ id } = { id: "" }) {
|
|
501
534
|
super({ level: 0 });
|
|
502
535
|
this.VERSION = VERSION;
|
|
503
|
-
this._startTs =
|
|
504
|
-
this._deltaTs =
|
|
536
|
+
this._startTs = probe.getHighResolutionTimer();
|
|
537
|
+
this._deltaTs = probe.getHighResolutionTimer();
|
|
505
538
|
this.userData = {};
|
|
506
539
|
this.LOG_THROTTLE_TIMEOUT = 0;
|
|
507
540
|
this.id = id;
|
|
@@ -519,11 +552,11 @@ var __exports__ = (() => {
|
|
|
519
552
|
}
|
|
520
553
|
/** @return milliseconds, with fractions */
|
|
521
554
|
getTotal() {
|
|
522
|
-
return Number((
|
|
555
|
+
return Number((probe.getHighResolutionTimer() - this._startTs).toPrecision(10));
|
|
523
556
|
}
|
|
524
557
|
/** @return milliseconds, with fractions */
|
|
525
558
|
getDelta() {
|
|
526
|
-
return Number((
|
|
559
|
+
return Number((probe.getHighResolutionTimer() - this._deltaTs).toPrecision(10));
|
|
527
560
|
}
|
|
528
561
|
/** @deprecated use logLevel */
|
|
529
562
|
set priority(newPriority) {
|
|
@@ -588,6 +621,15 @@ var __exports__ = (() => {
|
|
|
588
621
|
return this.error(`\`${oldUsage}\` has been removed. Use \`${newUsage}\` instead`);
|
|
589
622
|
}
|
|
590
623
|
probe(logLevel, message, ...args) {
|
|
624
|
+
const memoryUsageMB = probe.getMemoryUsageMB();
|
|
625
|
+
if (memoryUsageMB !== null) {
|
|
626
|
+
const memoryUsagePrefix = `${memoryUsageMB}MB `;
|
|
627
|
+
if (typeof message === "function") {
|
|
628
|
+
message = () => `${memoryUsagePrefix}${message()}`;
|
|
629
|
+
} else if (typeof message === "string") {
|
|
630
|
+
message = `${memoryUsagePrefix}${message}`;
|
|
631
|
+
}
|
|
632
|
+
}
|
|
591
633
|
return this._log("log", logLevel, message, args, {
|
|
592
634
|
method: originalConsole.log,
|
|
593
635
|
time: true,
|
|
@@ -664,10 +706,10 @@ var __exports__ = (() => {
|
|
|
664
706
|
}
|
|
665
707
|
_emit(_type, normalized) {
|
|
666
708
|
const method = normalized.method;
|
|
667
|
-
|
|
709
|
+
assert2(method);
|
|
668
710
|
normalized.total = this.getTotal();
|
|
669
711
|
normalized.delta = this.getDelta();
|
|
670
|
-
this._deltaTs =
|
|
712
|
+
this._deltaTs = probe.getHighResolutionTimer();
|
|
671
713
|
const message = decorateMessage(this.id, normalized.message, normalized);
|
|
672
714
|
return method.bind(console, message, ...normalized.args);
|
|
673
715
|
}
|
|
@@ -690,57 +732,90 @@ var __exports__ = (() => {
|
|
|
690
732
|
}
|
|
691
733
|
});
|
|
692
734
|
|
|
693
|
-
// ../../node_modules
|
|
735
|
+
// ../../node_modules/probe.gl/dist/log/loggers/console-log.js
|
|
736
|
+
var init_console_log = __esm({
|
|
737
|
+
"../../node_modules/probe.gl/dist/log/loggers/console-log.js"() {
|
|
738
|
+
init_base_log();
|
|
739
|
+
}
|
|
740
|
+
});
|
|
741
|
+
|
|
742
|
+
// ../../node_modules/probe.gl/dist/log/loggers/memory-log.js
|
|
743
|
+
var init_memory_log = __esm({
|
|
744
|
+
"../../node_modules/probe.gl/dist/log/loggers/memory-log.js"() {
|
|
745
|
+
init_base_log();
|
|
746
|
+
}
|
|
747
|
+
});
|
|
748
|
+
|
|
749
|
+
// ../../node_modules/probe.gl/dist/log/deprecated/hi-res-timestamp.js
|
|
750
|
+
var init_hi_res_timestamp = __esm({
|
|
751
|
+
"../../node_modules/probe.gl/dist/log/deprecated/hi-res-timestamp.js"() {
|
|
752
|
+
init_probe();
|
|
753
|
+
}
|
|
754
|
+
});
|
|
755
|
+
|
|
756
|
+
// ../../node_modules/probe.gl/dist/log/init.js
|
|
694
757
|
var init_init = __esm({
|
|
695
|
-
"../../node_modules
|
|
696
|
-
|
|
758
|
+
"../../node_modules/probe.gl/dist/log/init.js"() {
|
|
759
|
+
init_probe();
|
|
760
|
+
if (!globalThis.probe) {
|
|
761
|
+
globalThis.probe = probe;
|
|
762
|
+
}
|
|
697
763
|
}
|
|
698
764
|
});
|
|
699
765
|
|
|
700
|
-
// ../../node_modules
|
|
701
|
-
var
|
|
702
|
-
var
|
|
703
|
-
"../../node_modules
|
|
766
|
+
// ../../node_modules/probe.gl/dist/log/index.js
|
|
767
|
+
var log;
|
|
768
|
+
var init_log = __esm({
|
|
769
|
+
"../../node_modules/probe.gl/dist/log/index.js"() {
|
|
704
770
|
init_probe_log();
|
|
771
|
+
init_probe();
|
|
705
772
|
init_probe_log();
|
|
773
|
+
init_console_log();
|
|
774
|
+
init_base_log();
|
|
775
|
+
init_memory_log();
|
|
776
|
+
init_color();
|
|
777
|
+
init_color();
|
|
778
|
+
init_formatters();
|
|
779
|
+
init_autobind();
|
|
780
|
+
init_local_storage();
|
|
781
|
+
init_hi_res_timestamp();
|
|
706
782
|
init_init();
|
|
707
|
-
|
|
783
|
+
log = new ProbeLog({ id: "@probe.gl/log" });
|
|
708
784
|
}
|
|
709
785
|
});
|
|
710
786
|
|
|
711
|
-
// ../loader-utils/
|
|
787
|
+
// ../core/src/loader-utils/lib/log-utils/log.ts
|
|
712
788
|
function createLog() {
|
|
713
|
-
const
|
|
789
|
+
const log3 = new ProbeLog({ id: "loaders.gl" });
|
|
714
790
|
globalThis.loaders ||= {};
|
|
715
|
-
globalThis.loaders.log =
|
|
791
|
+
globalThis.loaders.log = log3;
|
|
716
792
|
globalThis.loaders.version = version;
|
|
717
793
|
globalThis.probe ||= {};
|
|
718
|
-
globalThis.probe.loaders =
|
|
719
|
-
return
|
|
794
|
+
globalThis.probe.loaders = log3;
|
|
795
|
+
return log3;
|
|
720
796
|
}
|
|
721
|
-
var VERSION2, version,
|
|
722
|
-
var
|
|
723
|
-
"../loader-utils/
|
|
797
|
+
var VERSION2, version, log2;
|
|
798
|
+
var init_log2 = __esm({
|
|
799
|
+
"../core/src/loader-utils/lib/log-utils/log.ts"() {
|
|
724
800
|
"use strict";
|
|
725
|
-
|
|
801
|
+
init_log();
|
|
726
802
|
VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
727
803
|
version = VERSION2[0] >= "0" && VERSION2[0] <= "9" ? `v${VERSION2}` : "";
|
|
728
|
-
|
|
804
|
+
log2 = createLog();
|
|
729
805
|
}
|
|
730
806
|
});
|
|
731
807
|
|
|
732
|
-
// ../loader-utils/
|
|
733
|
-
var isObject, isPureObject
|
|
808
|
+
// ../core/src/loader-utils/lib/javascript-utils/is-type.ts
|
|
809
|
+
var isObject, isPureObject;
|
|
734
810
|
var init_is_type = __esm({
|
|
735
|
-
"../loader-utils/
|
|
811
|
+
"../core/src/loader-utils/lib/javascript-utils/is-type.ts"() {
|
|
736
812
|
"use strict";
|
|
737
813
|
isObject = (value) => value !== null && typeof value === "object";
|
|
738
814
|
isPureObject = (value) => isObject(value) && value.constructor === {}.constructor;
|
|
739
|
-
isSharedArrayBuffer = (value) => typeof SharedArrayBuffer !== "undefined" && value instanceof SharedArrayBuffer;
|
|
740
815
|
}
|
|
741
816
|
});
|
|
742
817
|
|
|
743
|
-
// ../loader-utils/
|
|
818
|
+
// ../core/src/loader-utils/lib/option-utils/merge-options.ts
|
|
744
819
|
function mergeOptions(baseOptions, newOptions) {
|
|
745
820
|
return mergeOptionsRecursively(baseOptions || {}, newOptions);
|
|
746
821
|
}
|
|
@@ -763,36 +838,25 @@ var __exports__ = (() => {
|
|
|
763
838
|
return options;
|
|
764
839
|
}
|
|
765
840
|
var init_merge_options = __esm({
|
|
766
|
-
"../loader-utils/
|
|
841
|
+
"../core/src/loader-utils/lib/option-utils/merge-options.ts"() {
|
|
767
842
|
"use strict";
|
|
768
843
|
init_is_type();
|
|
769
844
|
}
|
|
770
845
|
});
|
|
771
846
|
|
|
772
|
-
// ../loader-utils/
|
|
847
|
+
// ../core/src/loader-utils/lib/module-utils/js-module-utils.ts
|
|
773
848
|
function registerJSModules(modules) {
|
|
774
849
|
globalThis.loaders ||= {};
|
|
775
850
|
globalThis.loaders.modules ||= {};
|
|
776
851
|
Object.assign(globalThis.loaders.modules, modules);
|
|
777
852
|
}
|
|
778
|
-
function getJSModule(name, caller) {
|
|
779
|
-
const module = globalThis.loaders?.modules?.[name];
|
|
780
|
-
if (!module) {
|
|
781
|
-
throw new Error(`${caller}: ${name} library not installed`);
|
|
782
|
-
}
|
|
783
|
-
return module;
|
|
784
|
-
}
|
|
785
|
-
function getJSModuleOrNull(name) {
|
|
786
|
-
const module = globalThis.loaders?.modules?.[name];
|
|
787
|
-
return module || null;
|
|
788
|
-
}
|
|
789
853
|
var init_js_module_utils = __esm({
|
|
790
|
-
"../loader-utils/
|
|
854
|
+
"../core/src/loader-utils/lib/module-utils/js-module-utils.ts"() {
|
|
791
855
|
"use strict";
|
|
792
856
|
}
|
|
793
857
|
});
|
|
794
858
|
|
|
795
|
-
// ../loader-utils/
|
|
859
|
+
// ../core/src/loader-utils/lib/binary-utils/array-buffer-utils.ts
|
|
796
860
|
function concatenateArrayBuffers(...sources) {
|
|
797
861
|
return concatenateArrayBuffersFromArray(sources);
|
|
798
862
|
}
|
|
@@ -810,12 +874,12 @@ var __exports__ = (() => {
|
|
|
810
874
|
return result.buffer;
|
|
811
875
|
}
|
|
812
876
|
var init_array_buffer_utils = __esm({
|
|
813
|
-
"../loader-utils/
|
|
877
|
+
"../core/src/loader-utils/lib/binary-utils/array-buffer-utils.ts"() {
|
|
814
878
|
"use strict";
|
|
815
879
|
}
|
|
816
880
|
});
|
|
817
881
|
|
|
818
|
-
// ../loader-utils/
|
|
882
|
+
// ../core/src/loader-utils/lib/iterators/async-iteration.ts
|
|
819
883
|
async function concatenateArrayBuffersAsync(asyncIterator) {
|
|
820
884
|
const arrayBuffers = [];
|
|
821
885
|
for await (const chunk of asyncIterator) {
|
|
@@ -840,13 +904,13 @@ var __exports__ = (() => {
|
|
|
840
904
|
return copy.buffer;
|
|
841
905
|
}
|
|
842
906
|
var init_async_iteration = __esm({
|
|
843
|
-
"../loader-utils/
|
|
907
|
+
"../core/src/loader-utils/lib/iterators/async-iteration.ts"() {
|
|
844
908
|
"use strict";
|
|
845
909
|
init_array_buffer_utils();
|
|
846
910
|
}
|
|
847
911
|
});
|
|
848
912
|
|
|
849
|
-
// ../loader-utils/
|
|
913
|
+
// ../core/src/loader-utils/lib/request-utils/authentication.ts
|
|
850
914
|
function resolveCredentials(credentials, authentications = []) {
|
|
851
915
|
if (credentials.every(isAuthentication)) return credentials;
|
|
852
916
|
return credentials.map((credential, index) => {
|
|
@@ -882,12 +946,12 @@ var __exports__ = (() => {
|
|
|
882
946
|
return (credential.type === "header" || credential.type === "query-parameter") && typeof credential.name === "string" && (typeof credential.token === "string" || typeof credential.token === "function") && Array.isArray(credential.refreshStatusCodes);
|
|
883
947
|
}
|
|
884
948
|
var init_authentication = __esm({
|
|
885
|
-
"../loader-utils/
|
|
949
|
+
"../core/src/loader-utils/lib/request-utils/authentication.ts"() {
|
|
886
950
|
"use strict";
|
|
887
951
|
}
|
|
888
952
|
});
|
|
889
953
|
|
|
890
|
-
// ../loader-utils/
|
|
954
|
+
// ../core/src/loader-utils/lib/request-utils/request-credentials.ts
|
|
891
955
|
function createAuthenticatedFetch(options) {
|
|
892
956
|
const suppliedFetch = options.fetch || ((url2, requestOptions) => fetch(url2, requestOptions));
|
|
893
957
|
const existingMetadata = suppliedFetch[AUTHENTICATED_FETCH];
|
|
@@ -1112,7 +1176,7 @@ var __exports__ = (() => {
|
|
|
1112
1176
|
}
|
|
1113
1177
|
var AUTHENTICATED_FETCH, refreshPromises;
|
|
1114
1178
|
var init_request_credentials = __esm({
|
|
1115
|
-
"../loader-utils/
|
|
1179
|
+
"../core/src/loader-utils/lib/request-utils/request-credentials.ts"() {
|
|
1116
1180
|
"use strict";
|
|
1117
1181
|
init_authentication();
|
|
1118
1182
|
AUTHENTICATED_FETCH = /* @__PURE__ */ Symbol("loaders.gl.authenticated-fetch");
|
|
@@ -1120,7 +1184,7 @@ var __exports__ = (() => {
|
|
|
1120
1184
|
}
|
|
1121
1185
|
});
|
|
1122
1186
|
|
|
1123
|
-
// ../loader-utils/
|
|
1187
|
+
// ../core/src/loader-utils/lib/path-utils/file-aliases.ts
|
|
1124
1188
|
function resolvePath(filename) {
|
|
1125
1189
|
for (const alias in fileAliases) {
|
|
1126
1190
|
if (filename.startsWith(alias)) {
|
|
@@ -1135,41 +1199,14 @@ var __exports__ = (() => {
|
|
|
1135
1199
|
}
|
|
1136
1200
|
var pathPrefix, fileAliases;
|
|
1137
1201
|
var init_file_aliases = __esm({
|
|
1138
|
-
"../loader-utils/
|
|
1202
|
+
"../core/src/loader-utils/lib/path-utils/file-aliases.ts"() {
|
|
1139
1203
|
"use strict";
|
|
1140
1204
|
pathPrefix = "";
|
|
1141
1205
|
fileAliases = {};
|
|
1142
1206
|
}
|
|
1143
1207
|
});
|
|
1144
1208
|
|
|
1145
|
-
// ../loader-utils/
|
|
1146
|
-
function ensureArrayBuffer(bufferSource) {
|
|
1147
|
-
if (bufferSource instanceof ArrayBuffer) {
|
|
1148
|
-
return bufferSource;
|
|
1149
|
-
}
|
|
1150
|
-
if (isSharedArrayBuffer(bufferSource)) {
|
|
1151
|
-
return copyToArrayBuffer2(bufferSource);
|
|
1152
|
-
}
|
|
1153
|
-
const { buffer, byteOffset, byteLength } = bufferSource;
|
|
1154
|
-
if (buffer instanceof ArrayBuffer && byteOffset === 0 && byteLength === buffer.byteLength) {
|
|
1155
|
-
return buffer;
|
|
1156
|
-
}
|
|
1157
|
-
return copyToArrayBuffer2(buffer, byteOffset, byteLength);
|
|
1158
|
-
}
|
|
1159
|
-
function copyToArrayBuffer2(buffer, byteOffset = 0, byteLength = buffer.byteLength - byteOffset) {
|
|
1160
|
-
const view = new Uint8Array(buffer, byteOffset, byteLength);
|
|
1161
|
-
const copy = new Uint8Array(view.length);
|
|
1162
|
-
copy.set(view);
|
|
1163
|
-
return copy.buffer;
|
|
1164
|
-
}
|
|
1165
|
-
var init_memory_conversion_utils = __esm({
|
|
1166
|
-
"../loader-utils/src/lib/binary-utils/memory-conversion-utils.ts"() {
|
|
1167
|
-
"use strict";
|
|
1168
|
-
init_is_type();
|
|
1169
|
-
}
|
|
1170
|
-
});
|
|
1171
|
-
|
|
1172
|
-
// ../loader-utils/src/lib/sources/data-source.ts
|
|
1209
|
+
// ../core/src/loader-utils/lib/sources/data-source.ts
|
|
1173
1210
|
function getFetchFunction(options) {
|
|
1174
1211
|
return getAuthenticatedFetch(options);
|
|
1175
1212
|
}
|
|
@@ -1220,11 +1257,11 @@ var __exports__ = (() => {
|
|
|
1220
1257
|
}
|
|
1221
1258
|
var UNAVAILABLE_CORE_API, DataSource;
|
|
1222
1259
|
var init_data_source = __esm({
|
|
1223
|
-
"../loader-utils/
|
|
1260
|
+
"../core/src/loader-utils/lib/sources/data-source.ts"() {
|
|
1224
1261
|
"use strict";
|
|
1225
1262
|
init_merge_options();
|
|
1226
1263
|
init_file_aliases();
|
|
1227
|
-
|
|
1264
|
+
init_log2();
|
|
1228
1265
|
init_request_credentials();
|
|
1229
1266
|
init_authentication();
|
|
1230
1267
|
UNAVAILABLE_CORE_API = {
|
|
@@ -1258,7 +1295,7 @@ var __exports__ = (() => {
|
|
|
1258
1295
|
/** Whether a real CoreAPI instance was injected by the integration layer. */
|
|
1259
1296
|
hasCoreApi;
|
|
1260
1297
|
_needsRefresh = true;
|
|
1261
|
-
constructor(data, options, defaultOptions,
|
|
1298
|
+
constructor(data, options, defaultOptions, coreApi2) {
|
|
1262
1299
|
this.options = mergeOptions(
|
|
1263
1300
|
mergeOptions(_DataSource.defaultOptions, defaultOptions || {}),
|
|
1264
1301
|
options
|
|
@@ -1268,8 +1305,8 @@ var __exports__ = (() => {
|
|
|
1268
1305
|
const loadOptions = resolveAuthenticationOptions(getSourceLoaderOptions(this.options));
|
|
1269
1306
|
this.loadOptions = loadOptions;
|
|
1270
1307
|
const fetch2 = getFetchFunction(loadOptions);
|
|
1271
|
-
this.coreApi =
|
|
1272
|
-
this.hasCoreApi = Boolean(
|
|
1308
|
+
this.coreApi = coreApi2 || UNAVAILABLE_CORE_API;
|
|
1309
|
+
this.hasCoreApi = Boolean(coreApi2);
|
|
1273
1310
|
this.fetch = fetch2;
|
|
1274
1311
|
}
|
|
1275
1312
|
setProps(options) {
|
|
@@ -1302,7 +1339,7 @@ var __exports__ = (() => {
|
|
|
1302
1339
|
if (callback) {
|
|
1303
1340
|
callback(normalizedError, this);
|
|
1304
1341
|
} else {
|
|
1305
|
-
|
|
1342
|
+
log2.warn(`${this.constructor.name}: ${normalizedError.message}`)();
|
|
1306
1343
|
}
|
|
1307
1344
|
return normalizedError;
|
|
1308
1345
|
}
|
|
@@ -1310,24 +1347,22 @@ var __exports__ = (() => {
|
|
|
1310
1347
|
}
|
|
1311
1348
|
});
|
|
1312
1349
|
|
|
1313
|
-
// ../loader-utils/
|
|
1314
|
-
var
|
|
1315
|
-
"../loader-utils/
|
|
1350
|
+
// ../core/src/loader-utils/index.ts
|
|
1351
|
+
var init_loader_utils = __esm({
|
|
1352
|
+
"../core/src/loader-utils/index.ts"() {
|
|
1316
1353
|
"use strict";
|
|
1317
1354
|
init_js_module_utils();
|
|
1318
|
-
init_js_module_utils();
|
|
1319
1355
|
init_async_iteration();
|
|
1320
|
-
init_memory_conversion_utils();
|
|
1321
1356
|
init_data_source();
|
|
1322
1357
|
}
|
|
1323
1358
|
});
|
|
1324
1359
|
|
|
1325
1360
|
// ../compression/src/lib/compression.ts
|
|
1326
|
-
var CompressionTransform,
|
|
1361
|
+
var CompressionTransform, Decompressor;
|
|
1327
1362
|
var init_compression = __esm({
|
|
1328
1363
|
"../compression/src/lib/compression.ts"() {
|
|
1329
1364
|
"use strict";
|
|
1330
|
-
|
|
1365
|
+
init_loader_utils();
|
|
1331
1366
|
CompressionTransform = class {
|
|
1332
1367
|
/** Preloads any dynamic libraries. May enable sync functions */
|
|
1333
1368
|
async preload(modules = {}) {
|
|
@@ -1345,26 +1380,6 @@ var __exports__ = (() => {
|
|
|
1345
1380
|
return error62;
|
|
1346
1381
|
}
|
|
1347
1382
|
};
|
|
1348
|
-
Compressor = class extends CompressionTransform {
|
|
1349
|
-
constructor(options) {
|
|
1350
|
-
super();
|
|
1351
|
-
this.compressBatches = this.compressBatches.bind(this);
|
|
1352
|
-
}
|
|
1353
|
-
/** Asynchronously compresses data. */
|
|
1354
|
-
async compress(input2) {
|
|
1355
|
-
await this.preload();
|
|
1356
|
-
return this.compressSync(input2);
|
|
1357
|
-
}
|
|
1358
|
-
/** Synchronously compresses data. */
|
|
1359
|
-
compressSync(input2) {
|
|
1360
|
-
throw new Error(`${this.name}: sync compression not supported`);
|
|
1361
|
-
}
|
|
1362
|
-
/** Compresses batches. */
|
|
1363
|
-
async *compressBatches(asyncIterator) {
|
|
1364
|
-
const input2 = await this.concatenate(asyncIterator);
|
|
1365
|
-
yield this.compress(input2);
|
|
1366
|
-
}
|
|
1367
|
-
};
|
|
1368
1383
|
Decompressor = class extends CompressionTransform {
|
|
1369
1384
|
constructor(options) {
|
|
1370
1385
|
super();
|
|
@@ -1385,112 +1400,6 @@ var __exports__ = (() => {
|
|
|
1385
1400
|
yield this.decompress(input2);
|
|
1386
1401
|
}
|
|
1387
1402
|
};
|
|
1388
|
-
Compression = class extends Compressor {
|
|
1389
|
-
constructor(options) {
|
|
1390
|
-
super(options);
|
|
1391
|
-
this.decompressBatches = this.decompressBatches.bind(this);
|
|
1392
|
-
}
|
|
1393
|
-
/** Asynchronously decompresses data. */
|
|
1394
|
-
async decompress(input2, size) {
|
|
1395
|
-
await this.preload();
|
|
1396
|
-
return this.decompressSync(input2, size);
|
|
1397
|
-
}
|
|
1398
|
-
/** Synchronously decompresses data. */
|
|
1399
|
-
decompressSync(input2, size) {
|
|
1400
|
-
throw new Error(`${this.name}: sync decompression not supported`);
|
|
1401
|
-
}
|
|
1402
|
-
/** Decompresses batches. */
|
|
1403
|
-
async *decompressBatches(asyncIterator) {
|
|
1404
|
-
const input2 = await this.concatenate(asyncIterator);
|
|
1405
|
-
yield this.decompress(input2);
|
|
1406
|
-
}
|
|
1407
|
-
};
|
|
1408
|
-
}
|
|
1409
|
-
});
|
|
1410
|
-
|
|
1411
|
-
// ../compression/src/lib/compression-stream.ts
|
|
1412
|
-
async function compressWithNativeCompressionStream(input2, format) {
|
|
1413
|
-
const outputBatches = compressBatchesWithNativeCompressionStream([input2], format);
|
|
1414
|
-
return outputBatches ? await concatenateBatches(outputBatches) : null;
|
|
1415
|
-
}
|
|
1416
|
-
function compressBatchesWithNativeCompressionStream(inputBatches, format) {
|
|
1417
|
-
const compressionStream = createNativeCompressionStream(format);
|
|
1418
|
-
return compressionStream ? transformBatches(inputBatches, compressionStream) : null;
|
|
1419
|
-
}
|
|
1420
|
-
function createNativeCompressionStream(format) {
|
|
1421
|
-
if (typeof globalThis.CompressionStream === "undefined") {
|
|
1422
|
-
return null;
|
|
1423
|
-
}
|
|
1424
|
-
try {
|
|
1425
|
-
const CompressionStreamConstructor = globalThis.CompressionStream;
|
|
1426
|
-
return new CompressionStreamConstructor(format);
|
|
1427
|
-
} catch (error62) {
|
|
1428
|
-
if (error62 instanceof TypeError || error62?.name === "TypeError") {
|
|
1429
|
-
return null;
|
|
1430
|
-
}
|
|
1431
|
-
throw error62;
|
|
1432
|
-
}
|
|
1433
|
-
}
|
|
1434
|
-
async function* transformBatches(inputBatches, compressionStream) {
|
|
1435
|
-
const writer = compressionStream.writable.getWriter();
|
|
1436
|
-
const reader = compressionStream.readable.getReader();
|
|
1437
|
-
const writePromise = writeBatches(inputBatches, writer);
|
|
1438
|
-
writePromise.catch(() => {
|
|
1439
|
-
});
|
|
1440
|
-
let outputCompleted = false;
|
|
1441
|
-
try {
|
|
1442
|
-
while (true) {
|
|
1443
|
-
const { done, value } = await reader.read();
|
|
1444
|
-
if (done) {
|
|
1445
|
-
outputCompleted = true;
|
|
1446
|
-
break;
|
|
1447
|
-
}
|
|
1448
|
-
yield new Uint8Array(value).buffer;
|
|
1449
|
-
}
|
|
1450
|
-
await writePromise;
|
|
1451
|
-
} finally {
|
|
1452
|
-
if (!outputCompleted) {
|
|
1453
|
-
await reader.cancel().catch(() => {
|
|
1454
|
-
});
|
|
1455
|
-
await writer.abort().catch(() => {
|
|
1456
|
-
});
|
|
1457
|
-
await writePromise.catch(() => {
|
|
1458
|
-
});
|
|
1459
|
-
}
|
|
1460
|
-
reader.releaseLock();
|
|
1461
|
-
}
|
|
1462
|
-
}
|
|
1463
|
-
async function writeBatches(inputBatches, writer) {
|
|
1464
|
-
try {
|
|
1465
|
-
for await (const inputBatch of inputBatches) {
|
|
1466
|
-
await writer.write(new Uint8Array(inputBatch));
|
|
1467
|
-
}
|
|
1468
|
-
await writer.close();
|
|
1469
|
-
} catch (error62) {
|
|
1470
|
-
await writer.abort(error62).catch(() => {
|
|
1471
|
-
});
|
|
1472
|
-
throw error62;
|
|
1473
|
-
}
|
|
1474
|
-
}
|
|
1475
|
-
async function concatenateBatches(batches) {
|
|
1476
|
-
const output2 = [];
|
|
1477
|
-
let byteLength = 0;
|
|
1478
|
-
for await (const batch of batches) {
|
|
1479
|
-
const bytes = new Uint8Array(batch);
|
|
1480
|
-
output2.push(bytes);
|
|
1481
|
-
byteLength += bytes.byteLength;
|
|
1482
|
-
}
|
|
1483
|
-
const result = new Uint8Array(byteLength);
|
|
1484
|
-
let offset = 0;
|
|
1485
|
-
for (const batch of output2) {
|
|
1486
|
-
result.set(batch, offset);
|
|
1487
|
-
offset += batch.byteLength;
|
|
1488
|
-
}
|
|
1489
|
-
return result.buffer;
|
|
1490
|
-
}
|
|
1491
|
-
var init_compression_stream = __esm({
|
|
1492
|
-
"../compression/src/lib/compression-stream.ts"() {
|
|
1493
|
-
"use strict";
|
|
1494
1403
|
}
|
|
1495
1404
|
});
|
|
1496
1405
|
|
|
@@ -1500,8 +1409,8 @@ var __exports__ = (() => {
|
|
|
1500
1409
|
return outputBatches ? await concatenateNativeDecompressionBatches(outputBatches) : null;
|
|
1501
1410
|
}
|
|
1502
1411
|
function decompressBatchesWithNativeDecompressionStream(inputBatches, format) {
|
|
1503
|
-
const
|
|
1504
|
-
return
|
|
1412
|
+
const decompressionStream5 = createNativeDecompressionStream(format);
|
|
1413
|
+
return decompressionStream5 ? transformBatchesWithNativeDecompressionStream(inputBatches, decompressionStream5) : null;
|
|
1505
1414
|
}
|
|
1506
1415
|
function isNativeDecompressionSupported(format) {
|
|
1507
1416
|
return Boolean(createNativeDecompressionStream(format));
|
|
@@ -1523,9 +1432,9 @@ var __exports__ = (() => {
|
|
|
1523
1432
|
throw error62;
|
|
1524
1433
|
}
|
|
1525
1434
|
}
|
|
1526
|
-
async function* transformBatchesWithNativeDecompressionStream(inputBatches,
|
|
1527
|
-
const writer =
|
|
1528
|
-
const reader =
|
|
1435
|
+
async function* transformBatchesWithNativeDecompressionStream(inputBatches, decompressionStream5) {
|
|
1436
|
+
const writer = decompressionStream5.writable.getWriter();
|
|
1437
|
+
const reader = decompressionStream5.readable.getReader();
|
|
1529
1438
|
const writePromise = writeBatchesToNativeDecompressionStream(inputBatches, writer);
|
|
1530
1439
|
writePromise.catch(() => {
|
|
1531
1440
|
});
|
|
@@ -1710,494 +1619,781 @@ var __exports__ = (() => {
|
|
|
1710
1619
|
}
|
|
1711
1620
|
});
|
|
1712
1621
|
|
|
1713
|
-
// ../compression/src/lib/
|
|
1714
|
-
function
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1622
|
+
// ../compression/src/lib/compress-utils-compression.ts
|
|
1623
|
+
async function* transformBatches(stream, inputBatches, maximumOutputByteLength = Number.POSITIVE_INFINITY) {
|
|
1624
|
+
let outputByteLength = 0;
|
|
1625
|
+
try {
|
|
1626
|
+
for await (const input2 of inputBatches) {
|
|
1627
|
+
const output3 = stream.write(new Uint8Array(input2));
|
|
1628
|
+
if (output3.byteLength > maximumOutputByteLength - outputByteLength)
|
|
1629
|
+
throw new RangeError("Decompressed output exceeds maxOutputByteLength");
|
|
1630
|
+
outputByteLength += output3.byteLength;
|
|
1631
|
+
if (output3.byteLength > 0) yield copyArrayBuffer(output3);
|
|
1632
|
+
}
|
|
1633
|
+
const output2 = stream.finish();
|
|
1634
|
+
if (output2.byteLength > maximumOutputByteLength - outputByteLength)
|
|
1635
|
+
throw new RangeError("Decompressed output exceeds maxOutputByteLength");
|
|
1636
|
+
if (output2.byteLength > 0) yield copyArrayBuffer(output2);
|
|
1637
|
+
} finally {
|
|
1638
|
+
stream.destroy();
|
|
1639
|
+
}
|
|
1719
1640
|
}
|
|
1720
|
-
function
|
|
1721
|
-
return
|
|
1641
|
+
function copyArrayBuffer(bytes) {
|
|
1642
|
+
return bytes.slice().buffer;
|
|
1722
1643
|
}
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1644
|
+
function getDecompressOptions(options, size) {
|
|
1645
|
+
const decodeOptions = {
|
|
1646
|
+
...options.compressUtils,
|
|
1647
|
+
...size === void 0 ? {} : { expectedSize: size }
|
|
1648
|
+
};
|
|
1649
|
+
const capacity = decodeOptions.expectedSize;
|
|
1650
|
+
const maximum = getMaximumOutputByteLength(options);
|
|
1651
|
+
if (capacity !== void 0 && (!Number.isSafeInteger(capacity) || capacity < 0 || capacity > maximum)) {
|
|
1652
|
+
throw new RangeError("expectedSize exceeds the configured output capacity limit");
|
|
1653
|
+
}
|
|
1654
|
+
return decodeOptions;
|
|
1655
|
+
}
|
|
1656
|
+
function getMaximumOutputByteLength(options) {
|
|
1657
|
+
const maximum = options.maxOutputByteLength ?? 512 * 1024 * 1024;
|
|
1658
|
+
if (!Number.isSafeInteger(maximum) || maximum < 0 || maximum > 2147483647)
|
|
1659
|
+
throw new RangeError("Invalid maxOutputByteLength");
|
|
1660
|
+
return maximum;
|
|
1661
|
+
}
|
|
1662
|
+
function copyDecompressedOutput(bytes, options) {
|
|
1663
|
+
if (bytes.byteLength > getMaximumOutputByteLength(options))
|
|
1664
|
+
throw new RangeError("Decompressed output exceeds maxOutputByteLength");
|
|
1665
|
+
return copyArrayBuffer(bytes);
|
|
1666
|
+
}
|
|
1667
|
+
var CompressUtilsDecompressor;
|
|
1668
|
+
var init_compress_utils_compression = __esm({
|
|
1669
|
+
"../compression/src/lib/compress-utils-compression.ts"() {
|
|
1726
1670
|
"use strict";
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
/* unused */
|
|
1761
|
-
0,
|
|
1762
|
-
0,
|
|
1763
|
-
/* impossible */
|
|
1764
|
-
0
|
|
1765
|
-
]);
|
|
1766
|
-
fdeb = new u8([
|
|
1767
|
-
0,
|
|
1768
|
-
0,
|
|
1769
|
-
0,
|
|
1770
|
-
0,
|
|
1771
|
-
1,
|
|
1772
|
-
1,
|
|
1773
|
-
2,
|
|
1774
|
-
2,
|
|
1775
|
-
3,
|
|
1776
|
-
3,
|
|
1777
|
-
4,
|
|
1778
|
-
4,
|
|
1779
|
-
5,
|
|
1780
|
-
5,
|
|
1781
|
-
6,
|
|
1782
|
-
6,
|
|
1783
|
-
7,
|
|
1784
|
-
7,
|
|
1785
|
-
8,
|
|
1786
|
-
8,
|
|
1787
|
-
9,
|
|
1788
|
-
9,
|
|
1789
|
-
10,
|
|
1790
|
-
10,
|
|
1791
|
-
11,
|
|
1792
|
-
11,
|
|
1793
|
-
12,
|
|
1794
|
-
12,
|
|
1795
|
-
13,
|
|
1796
|
-
13,
|
|
1797
|
-
/* unused */
|
|
1798
|
-
0,
|
|
1799
|
-
0
|
|
1800
|
-
]);
|
|
1801
|
-
clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
|
|
1802
|
-
freb = (eb, start) => {
|
|
1803
|
-
const b = new u16(31);
|
|
1804
|
-
for (let i = 0; i < 31; ++i) {
|
|
1805
|
-
b[i] = start += 1 << eb[i - 1];
|
|
1806
|
-
}
|
|
1807
|
-
const r = new u32(b[30]);
|
|
1808
|
-
for (let i = 1; i < 30; ++i) {
|
|
1809
|
-
for (let j = b[i]; j < b[i + 1]; ++j) {
|
|
1810
|
-
r[j] = j - b[i] << 5 | i;
|
|
1811
|
-
}
|
|
1812
|
-
}
|
|
1813
|
-
return [b, r];
|
|
1814
|
-
};
|
|
1815
|
-
[fl, revfl] = freb(fleb, 2);
|
|
1816
|
-
fl[28] = 258, revfl[258] = 28;
|
|
1817
|
-
[fd, revfd] = freb(fdeb, 0);
|
|
1818
|
-
rev = new u16(32768);
|
|
1819
|
-
for (let i = 0; i < 32768; ++i) {
|
|
1820
|
-
let x = (i & 43690) >>> 1 | (i & 21845) << 1;
|
|
1821
|
-
x = (x & 52428) >>> 2 | (x & 13107) << 2;
|
|
1822
|
-
x = (x & 61680) >>> 4 | (x & 3855) << 4;
|
|
1823
|
-
rev[i] = ((x & 65280) >>> 8 | (x & 255) << 8) >>> 1;
|
|
1824
|
-
}
|
|
1825
|
-
hMap = (cd, mb, r) => {
|
|
1826
|
-
const s = cd.length;
|
|
1827
|
-
let i = 0;
|
|
1828
|
-
const l = new u16(mb);
|
|
1829
|
-
for (; i < s; ++i) {
|
|
1830
|
-
if (cd[i]) ++l[cd[i] - 1];
|
|
1831
|
-
}
|
|
1832
|
-
const le = new u16(mb);
|
|
1833
|
-
for (i = 0; i < mb; ++i) {
|
|
1834
|
-
le[i] = le[i - 1] + l[i - 1] << 1;
|
|
1835
|
-
}
|
|
1836
|
-
let co;
|
|
1837
|
-
if (r) {
|
|
1838
|
-
co = new u16(1 << mb);
|
|
1839
|
-
const rvb = 15 - mb;
|
|
1840
|
-
for (i = 0; i < s; ++i) {
|
|
1841
|
-
if (cd[i]) {
|
|
1842
|
-
const sv = i << 4 | cd[i];
|
|
1843
|
-
const r2 = mb - cd[i];
|
|
1844
|
-
let v = le[cd[i] - 1]++ << r2;
|
|
1845
|
-
for (const m = v | (1 << r2) - 1; v <= m; ++v) {
|
|
1846
|
-
co[rev[v] >>> rvb] = sv;
|
|
1847
|
-
}
|
|
1848
|
-
}
|
|
1671
|
+
init_compression();
|
|
1672
|
+
CompressUtilsDecompressor = class extends Decompressor {
|
|
1673
|
+
name;
|
|
1674
|
+
extensions;
|
|
1675
|
+
contentEncodings;
|
|
1676
|
+
isSupported = true;
|
|
1677
|
+
options;
|
|
1678
|
+
loadModule;
|
|
1679
|
+
/** Module initialized for synchronous operations. */
|
|
1680
|
+
module = null;
|
|
1681
|
+
/** Shared import and WASM initialization for concurrent callers. */
|
|
1682
|
+
modulePromise = null;
|
|
1683
|
+
/** Creates a format-specific compress-utils decoder. */
|
|
1684
|
+
constructor(metadata, loadModule2, options = {}) {
|
|
1685
|
+
super(options);
|
|
1686
|
+
this.name = metadata.name;
|
|
1687
|
+
this.extensions = metadata.extensions || [];
|
|
1688
|
+
this.contentEncodings = metadata.contentEncodings || [];
|
|
1689
|
+
this.loadModule = loadModule2;
|
|
1690
|
+
this.options = options;
|
|
1691
|
+
}
|
|
1692
|
+
/** Imports and initializes the codec without loading the opposite direction. */
|
|
1693
|
+
async preload(modules = {}) {
|
|
1694
|
+
await super.preload(modules);
|
|
1695
|
+
this.modulePromise ||= this.loadModule().then(async (module) => {
|
|
1696
|
+
await module.preload?.();
|
|
1697
|
+
this.module = module;
|
|
1698
|
+
});
|
|
1699
|
+
try {
|
|
1700
|
+
await this.modulePromise;
|
|
1701
|
+
} catch (error62) {
|
|
1702
|
+
this.modulePromise = null;
|
|
1703
|
+
throw error62;
|
|
1849
1704
|
}
|
|
1850
|
-
}
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
if (
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
};
|
|
1876
|
-
bits = (d, p, m) => {
|
|
1877
|
-
const o = p / 8 | 0;
|
|
1878
|
-
return (d[o] | d[o + 1] << 8) >> (p & 7) & m;
|
|
1879
|
-
};
|
|
1880
|
-
bits16 = (d, p) => {
|
|
1881
|
-
const o = p / 8 | 0;
|
|
1882
|
-
return (d[o] | d[o + 1] << 8 | d[o + 2] << 16) >> (p & 7);
|
|
1883
|
-
};
|
|
1884
|
-
shft = (p) => (p + 7) / 8 | 0;
|
|
1885
|
-
slc = (v, s, e) => {
|
|
1886
|
-
if (s == null || s < 0) s = 0;
|
|
1887
|
-
if (e == null || e > v.length) e = v.length;
|
|
1888
|
-
const n = new (v.BYTES_PER_ELEMENT == 2 ? u16 : v.BYTES_PER_ELEMENT == 4 ? u32 : u8)(e - s);
|
|
1889
|
-
n.set(v.subarray(s, e));
|
|
1890
|
-
return n;
|
|
1891
|
-
};
|
|
1892
|
-
ec = [
|
|
1893
|
-
"unexpected EOF",
|
|
1894
|
-
"invalid block type",
|
|
1895
|
-
"invalid length/literal",
|
|
1896
|
-
"invalid distance",
|
|
1897
|
-
"stream finished",
|
|
1898
|
-
"no stream handler",
|
|
1899
|
-
,
|
|
1900
|
-
// determined by compression function
|
|
1901
|
-
"no callback",
|
|
1902
|
-
"invalid UTF-8 data",
|
|
1903
|
-
"extra field too long",
|
|
1904
|
-
"date not in range 1980-2099",
|
|
1905
|
-
"filename too long",
|
|
1906
|
-
"stream finishing",
|
|
1907
|
-
"invalid zip data"
|
|
1908
|
-
// determined by unknown compression method
|
|
1909
|
-
];
|
|
1910
|
-
err = (ind, msg, nt) => {
|
|
1911
|
-
const e = new Error(msg || ec[ind]);
|
|
1912
|
-
e.code = ind;
|
|
1913
|
-
if (Error.captureStackTrace) Error.captureStackTrace(e, err);
|
|
1914
|
-
if (!nt) throw e;
|
|
1915
|
-
return e;
|
|
1916
|
-
};
|
|
1917
|
-
inflt = (dat, buf, st) => {
|
|
1918
|
-
const sl = dat.length;
|
|
1919
|
-
if (!sl || st && st.f && !st.l) return buf || new u8(0);
|
|
1920
|
-
const noBuf = !buf || st;
|
|
1921
|
-
const noSt = !st || st.i;
|
|
1922
|
-
if (!st) st = {};
|
|
1923
|
-
if (!buf) buf = new u8(sl * 3);
|
|
1924
|
-
const cbuf = (l) => {
|
|
1925
|
-
let bl = buf.length;
|
|
1926
|
-
if (l > bl) {
|
|
1927
|
-
const nbuf = new u8(Math.max(bl * 2, l));
|
|
1928
|
-
nbuf.set(buf);
|
|
1929
|
-
buf = nbuf;
|
|
1930
|
-
}
|
|
1931
|
-
};
|
|
1932
|
-
let final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;
|
|
1933
|
-
const tbts = sl * 8;
|
|
1934
|
-
do {
|
|
1935
|
-
if (!lm) {
|
|
1936
|
-
final = bits(dat, pos, 1);
|
|
1937
|
-
const type = bits(dat, pos + 1, 3);
|
|
1938
|
-
pos += 3;
|
|
1939
|
-
if (!type) {
|
|
1940
|
-
const s = shft(pos) + 4, l = dat[s - 4] | dat[s - 3] << 8, t = s + l;
|
|
1941
|
-
if (t > sl) {
|
|
1942
|
-
if (noSt) err(0);
|
|
1943
|
-
break;
|
|
1944
|
-
}
|
|
1945
|
-
if (noBuf) cbuf(bt + l);
|
|
1946
|
-
buf.set(dat.subarray(s, t), bt);
|
|
1947
|
-
st.b = bt += l, st.p = pos = t * 8, st.f = final;
|
|
1948
|
-
continue;
|
|
1949
|
-
} else if (type == 1) lm = flrm, dm = fdrm, lbt = 9, dbt = 5;
|
|
1950
|
-
else if (type == 2) {
|
|
1951
|
-
const hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;
|
|
1952
|
-
const tl = hLit + bits(dat, pos + 5, 31) + 1;
|
|
1953
|
-
pos += 14;
|
|
1954
|
-
const ldt = new u8(tl);
|
|
1955
|
-
const clt = new u8(19);
|
|
1956
|
-
for (let i = 0; i < hcLen; ++i) {
|
|
1957
|
-
clt[clim[i]] = bits(dat, pos + i * 3, 7);
|
|
1958
|
-
}
|
|
1959
|
-
pos += hcLen * 3;
|
|
1960
|
-
const clb = max(clt), clbmsk = (1 << clb) - 1;
|
|
1961
|
-
const clm = hMap(clt, clb, 1);
|
|
1962
|
-
for (let i = 0; i < tl; ) {
|
|
1963
|
-
const r = clm[bits(dat, pos, clbmsk)];
|
|
1964
|
-
pos += r & 15;
|
|
1965
|
-
const s = r >>> 4;
|
|
1966
|
-
if (s < 16) {
|
|
1967
|
-
ldt[i++] = s;
|
|
1968
|
-
} else {
|
|
1969
|
-
let c = 0, n = 0;
|
|
1970
|
-
if (s == 16) n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];
|
|
1971
|
-
else if (s == 17) n = 3 + bits(dat, pos, 7), pos += 3;
|
|
1972
|
-
else if (s == 18) n = 11 + bits(dat, pos, 127), pos += 7;
|
|
1973
|
-
while (n--) ldt[i++] = c;
|
|
1974
|
-
}
|
|
1975
|
-
}
|
|
1976
|
-
const lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);
|
|
1977
|
-
lbt = max(lt);
|
|
1978
|
-
dbt = max(dt);
|
|
1979
|
-
lm = hMap(lt, lbt, 1);
|
|
1980
|
-
dm = hMap(dt, dbt, 1);
|
|
1981
|
-
} else err(1);
|
|
1982
|
-
if (pos > tbts) {
|
|
1983
|
-
if (noSt) err(0);
|
|
1984
|
-
break;
|
|
1985
|
-
}
|
|
1705
|
+
}
|
|
1706
|
+
/** Runs synchronously after preload has initialized the WASM codec. */
|
|
1707
|
+
decompressSync(input2, size) {
|
|
1708
|
+
if (!this.module?.decompressSync)
|
|
1709
|
+
throw new Error(`${this.name}: call preload() before decompressSync()`);
|
|
1710
|
+
return copyDecompressedOutput(
|
|
1711
|
+
this.module.decompressSync(new Uint8Array(input2), getDecompressOptions(this.options, size)),
|
|
1712
|
+
this.options
|
|
1713
|
+
);
|
|
1714
|
+
}
|
|
1715
|
+
/** Decompresses one buffer with the selected compress-utils decoder. */
|
|
1716
|
+
async decompress(input2, size) {
|
|
1717
|
+
const decodeOptions = getDecompressOptions(this.options, size);
|
|
1718
|
+
await this.preload();
|
|
1719
|
+
const module = this.module;
|
|
1720
|
+
const output2 = await module.decompress(new Uint8Array(input2), decodeOptions);
|
|
1721
|
+
return copyDecompressedOutput(output2, this.options);
|
|
1722
|
+
}
|
|
1723
|
+
/** Incrementally decompresses input batches with compress-utils. */
|
|
1724
|
+
async *decompressBatches(inputBatches) {
|
|
1725
|
+
await this.preload();
|
|
1726
|
+
const module = this.module;
|
|
1727
|
+
if (!module.createDecompressStream) {
|
|
1728
|
+
yield await this.decompress(await this.concatenate(inputBatches));
|
|
1729
|
+
return;
|
|
1986
1730
|
}
|
|
1987
|
-
|
|
1988
|
-
const
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1731
|
+
const maximum = getMaximumOutputByteLength(this.options);
|
|
1732
|
+
const stream = await module.createDecompressStream();
|
|
1733
|
+
yield* transformBatches(stream, inputBatches, maximum);
|
|
1734
|
+
}
|
|
1735
|
+
};
|
|
1736
|
+
}
|
|
1737
|
+
});
|
|
1738
|
+
|
|
1739
|
+
// compress-utils-wasm:/home/runner/work/loaders.gl/loaders.gl/node_modules/compress-utils/dist/algorithms/gzip/decompress/gzip.wasm
|
|
1740
|
+
var gzip_default;
|
|
1741
|
+
var init_gzip = __esm({
|
|
1742
|
+
"compress-utils-wasm:/home/runner/work/loaders.gl/loaders.gl/node_modules/compress-utils/dist/algorithms/gzip/decompress/gzip.wasm"() {
|
|
1743
|
+
gzip_default = "data:application/wasm;base64,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gICAf1EbrXwiA1atfCADIAMgCSABQoCAgICAgICAgH+FhFCtgyICfCIBIAJUrXwgC4QhCwsgACABNwMAIAAgCzcDCCAEQeAAaiQAC6MJAgR/BH4jAEHgAGsiBSQAIARCgICAgICAgICAf4UhCiAEQv///////////wCDIQQCQAJAIAFQIgYgAkL///////////8AgyIJQoCAgICAgMD//wB9QoCAgICAgMCAgH9UIAlQG0UEQCADUCAEQoCAgICAgMD//wB9IgtCgICAgICAwICAf1QgC0KAgICAgIDAgIB/URtFDQELIAYgCUKAgICAgIDA//8AVCAJQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQIMAgsgA1AgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCAKQoCAgICAgCCEIQIgAyEBDAILIAEgCUKAgICAgIDA//8AhYRQBEBCgICAgICA4P//ACACIAEgA4UgAiAKhUKAgICAgICAgIB/hYRQIgYbIQJCACABIAYbIQEMAgsCQCADIARCgICAgICAwP//AIWEUA0AIAEgCYRQBEAgAyAEhFBFDQEgASADgyEBIAIgCoMhAgwDCyADIASEUEUNAQwCCyADIQEgCiECDAELIAMgASABIANUIAQgCVYgBCAJURsiCBshCSAKIAIgCBsiDEL///////8/gyEEIAIgCiAIGyILQjCIp0H//wFxIQcgDEIwiKdB//8BcSIGRQRAIAVB0ABqIAkgBCAEeSAJeUJAfSAEQgBSG6dBD2tB/wFxIgYQB0EBIAZrIQYgBSkDUCEJIAUpA1ghBAsgASADIAgbIQEgC0L///////8/gyEDIAdFBEAgBUFAayABIAMgA3kgAXlCQH0gA0IAUhunQQ9rQf8BcSIHEAdBASAHayEHIAUpA0ghAyAFKQNAIQELIANCA4YgAUI9iIRCgICAgICAgASEIQMgBEIDhiAJQj2IhCABQgOGIQQgAiAKhSEBAkAgBiAHRg0AIAYgB2siB0H/AEsEQEIAIQNCASEEDAELIAVBMGogBCADQQAgB2tB/wBxEAcgBUEgaiAEIAMgBxAGIAUpAyAgBSkDMCAFKQM4hEIAUq2EIQQgBSkDKCEDC0KAgICAgICABIQhCyAJQgOGIQogDEKAgICAgICAgIB/gyEJAkACQAJAIAFCAFMEQEIAIQFCACECIAQgCoUgAyALhYRQRQ0BDAQLIAQgCnwiASAEVK0gAyALfHwiAkKAgICAgICACINQDQEgBEIBgyACQj+GIAFCAYiEhCEBIAZBAWohBiACQgGIIQIMAQsgCiAEfSEBIAsgA30gBCAKVq19IgJC/////////wNWDQAgBUEQaiABIAIgAnkgAXlCQH0gAkIAUhunQQxrIgcQByAGIAdrIQYgBSkDGCECIAUpAxAhAQwBCyAGQf7/AUwNACAJQoCAgICAgMD//wCEIQJCACEBDAELIAZBAEwEQCAFIAEgAkEEIAZrEAYgBSkDCCAJhCECIAUpAwAhAQwBCyACQj2GIAFCA4iEIgMgAUIHgyIEQgRWrXwiASADVK0gAkIDiEL///////8/gyAGrUIwhoQgCYR8IAEgBEIEUa2DIgIgAXwiASACVK18IQILIAAgATcDACAAIAI3AwggBUHgAGokAAuMCQIEfgR/IwBB4ABrIgkkACAEQv///////////wCDIQUCQAJAIAFQIgogAkL///////////8AgyIGQoCAgICAgMD//wB9QoCAgICAgMCAgH9UIAZQG0UEQCADUCAFQoCAgICAgMD//wB9IgdCgICAgICAwICAf1QgB0KAgICAgIDAgIB/URtFDQELIAogBkKAgICAgIDA//8AVCAGQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQQgASEDDAILIANQIAVCgICAgICAwP//AFQgBUKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCEEDAILIAEgBkKAgICAgIDA//8AhYRQBEBCgICAgICA4P//ACACIAEgA4UgAiAEhUKAgICAgICAgIB/hYRQIgobIQRCACABIAobIQMMAgsgAyAFQoCAgICAgMD//wCFhFANASABIAaEUARAIAMgBYRQRQ0CIAEgA4MhAyACIASDIQQMAgsgAyAFhFBFDQAgASEDIAIhBAwBCyADIAEgASADVCAFIAZWIAUgBlEbIgwbIQYgBCACIAwbIghC////////P4MhBSACIAQgDBsiB0IwiKdB//8BcSELIAhCMIinQf//AXEiCkUEQCAJQdAAaiAGIAUgBXkgBnlCQH0gBUIAUhunQQ9rQf8BcSIKEAdBASAKayEKIAkpA1AhBiAJKQNYIQULIAEgAyAMGyEDIAdC////////P4MhASALBH4gAQUgCUFAayADIAEgAXkgA3lCQH0gAUIAUhunQQ9rQf8BcSILEAdBASALayELIAkpA0AhAyAJKQNIC0IDhiADQj2IhEKAgICAgICABIQhASAFQgOGIAZCPYiEIANCA4YhBSACIASFIQMCQCAKIAtGDQAgCiALayILQf8ASwRAQgAhAUIBIQUMAQsgCUEwaiAFIAFBACALa0H/AHEQByAJQSBqIAUgASALEAYgCSkDICAJKQMwIAkpAziEQgBSrYQhBSAJKQMoIQELQoCAgICAgIAEhCEHIAZCA4YhAiAIQoCAgICAgICAgH+DIQYCQAJAAkAgA0IAUwRAQgAhA0IAIQQgAiAFhSABIAeFhFBFDQEMBAsgAiAFfCIDIAVUrSABIAd8fCIEQoCAgICAgIAIg1ANASAFQgGDIARCP4YgA0IBiISEIQMgCkEBaiEKIARCAYghBAwBCyACIAV9IQMgByABfSACIAVUrX0iBEL/////////A1YNACAJQRBqIAMgBCAEeSADeUJAfSAEQgBSG6dBDGsiCxAHIAogC2shCiAJKQMYIQQgCSkDECEDDAELIApB/v8BTA0AIAZCgICAgICAwP//AIQhBEIAIQMMAQsgCkEATARAIAkgAyAEQQQgCmsQBiAJKQMIIAaEIQQgCSkDACEDDAELIARCPYYgA0IDiIQiAiADQgeDIgNCBFatfCIBIAJUrSAEQgOIQv///////z+DIAqtQjCGhCAGhHwgASABIANCBFGtgyIBfCIDIAFUrXwhBAsgACADNwMAIAAgBDcDCCAJQeAAaiQAC+ABAgF/An5BASEEAkAgAEIAUiABQv///////////wCDIgVCgICAgICAwP//AFYgBUKAgICAgIDA//8AURsNACACUCADQv///////////wCDIgZCgICAgICAwP//AFQgBkKAgICAgIDA//8AURtFDQAgACAChCAFIAaEhFAEQEEADwsCQAJAIAEgA4NCAFkEQCAAIAJUIAEgA1MgASADURtFDQFBfw8LIAAgAlYgASADVSABIANRG0UNAUF/DwsgACAChSABIAOFhEIAUg8LIAAgAoUgASADhYRCAFIhBAsgBAtjACAAQgBSIAFC////////////AIMiAEKAgICAgIDA//8AViAAQoCAgICAgMD//wBRGyACQgBSIANC////////////AIMiAEKAgICAgIDA//8AViAAQoCAgICAgMD//wBRG3ILUQEBfgJAIANBP0oEQCACIANBP3GtiCEBQgAhAgwBCyADRQ0AIAJBACADa0E/ca2GIAEgA60iBIiEIQEgAiAEiCECCyAAIAE3AwAgACACNwMIC1EBAX4CQCADQT9KBEAgASADQT9xrYYhAkIAIQEMAQsgA0UNACACIAOtIgSGIAFBACADa0E/ca2IhCECIAEgBIYhAQsgACABNwMAIAAgAjcDCAsyAQF/IABBEGpBBBAJIgEEQCABIACtQgWGQgSENwMIIAFBEGoPC0Gs3IAIQTA2AgBBAAvrAgEDfyMAQRBrIgQkACAEIAFBH3E6AA8CQEF/IABBBGoiAiAAIAJLGyIAQQEgAXQiASAAIAFLGyIAQQFrZyIBRQRAQQAhAQwBC0EgIAFrIgFB//8DcUEDayIDQQ1PBEBCAUEgIABBg4AEakEQdkEBa2drIgGthqchACABQf//A3FBAnQiAigCzNmACCIBBEAgAkHM2YAIaiAAQRB0IAFqQQRrKAIANgIADAILQQAgAEAAIgBBEHQgAEF/RhshAQwBC0IBIAGthqchAiADQQJ0IgAoApjZgAgiAQRAIABBmNmACGogASACakEEaygCADYCAAwBCyAAQeTYgAhqIQMgACgC5NiACCIBQf//A3FFBEBBACEBIAMgAgJ/QczZgAgoAgAiAARAQczZgAggACgC/P8DNgIAIAAMAQtBAUAAIgBBAWpBAkkNAiAAQRB0CyIBajYCAAwBCyADIAEgAmo2AgALIARBEGokACABC5YBAgN/AX4jAEEQayICJAAgAiAArSIEQiCIpyIAQQBHOgAMAkACQCAARQRAIASnIgFBEGpBBBAJIgANAUGs3IAIQTA2AgAMAgtBrNyACEEwNgIADAELIAAgAa1CBYZCBIQ3AwggAEEQaiEDIAFFDQBBACEAA0AgACADakEAOgAAIABBAWoiACABSQ0ACwsgAkEQaiQAIAMLhwYCCn8BfiMAQRBrIgUkAAJAIAFFBEAgAARAIAUgAEEIaykDACIMpyIBQR9xIgI6AAwgBSACOgANIABBASABdCIBayEAQSAgDEIFiKcgAWpBBGoiAiABIAEgAkkbIgFBAWtnayICQf//A3FBA2siA0EMTQRAIABCASACrIanakEEayADQQJ0IgEoApjZgAg2AgAgASAANgKY2YAIQQAhAgwDCyAAQgFBICABQYOABGpBEHZBAWtnayIBrYanQRB0akEEayABQf//A3FBAnQiASgCzNmACDYCACABIAA2AszZgAgLQQAhAgwBCyAARQRAIAFBEGpBBBAJIgAEQCAAIAGtQgWGQgSENwMIIABBEGohAgwCC0Gs3IAIQTA2AgAMAQsgBSAAQQhrKQMAIgynIgZBH3EiAjoACyAFIAI6AA5Bf0EBIAZ0IgIgAWoiBEEEaiIDIAMgBEkbIgMgAiACIANJGyEHIAAgAmshAwJAAkACQCAMQgWIpyIJIAJqQQRqIgggAiACIAhJGyIKQQFrZyILQRFrQQxNBEAgB0EBa2ciB0VCAUEgIAtrrYanQgFBICAHa62Gp0dyDQEMAgtCAUEgIApBg4AEakEQdkEBa2drrYanQgFBICAHQYOABGpBEHZBAWtna62Gp0YNAQsgBCAGEAkiBARAIAIgBGohAiABIAkgASAJSRsiBwRAQQAhBANAIAIgBGogACAEai0AADoAACAEQQFqIgQgB0kNAAsLIAUgBkEfcToAD0EgIAhBASAGdCIAIAAgCEkbIgBBAWtnayIGQf//A3FBA2siBEEMTQRAIANCASAGrIanakEEayAEQQJ0IgAoApjZgAg2AgAgACADNgKY2YAIDAMLIANCAUEgIABBg4AEakEQdkEBa2drIgCthqdBEHRqQQRrIABB//8DcUECdCIAKALM2YAINgIAIAAgAzYCzNmACAwCC0EAIQJBrNyACEEwNgIADAILIAIgA2ohAgsgAkEIayAMQh+DIAGtQgWGhDcDAAsgBUEQaiQAIAIL4gECBH8BfiMAQRBrIgMkAAJAIABFDQAgAyAAQQhrKQMAIgWnIgFBH3EiAjoADiADIAI6AA8gAEEBIAF0IgFrIQBBICAFQgWIpyABakEEaiICIAEgASACSRsiAUEBa2drIgJB//8DcUEDayIEQQxNBEAgAEIBIAKshqdqQQRrIARBAnQiASgCmNmACDYCACABIAA2ApjZgAgMAQsgAEIBQSAgAUGDgARqQRB2QQFrZ2siAa2Gp0EQdGpBBGsgAUH//wNxQQJ0IgEoAszZgAg2AgAgASAANgLM2YAICyADQRBqJAALBwBB8YmACAsHACAAQQhGC/cCAQJ/IwBBsANrIgIkACACIAE2AgwgAkH/ATYCiAEgAkGQ2oAINgKEASACQRBqQQBB8AD8CwAgAkEBNgIwQZDagAhBADoAACACIAJBhAFqNgJUIAIgAkGPAWo2AjggAkF/NgJQIAIgATYCrAMgAkGgA2pCADcDACACQZgDakIANwMAIAJBkANqQgA3AwAgAkIANwOIAyACQgA3A4ADIAIgATYCqAMCQAJAQQAgACACQagDaiACQeABaiACQYADahARQQBIDQAgAkIANwMQIAJBfzYCTCACQQA2AhggAkHQADYCPCACIAJB4AFqIgM2AiAgAiACQZABaiIBNgI4IAIgATYCKCACIAE2AiQgAkEQaiIBIAAgAkGoA2ogAyACQYADahARIAFBAEEAIAIoAjARAAAaIAJBADYCPCACQQA2AiggAigCECACIAJBjwFqNgI4QSBxDQAgAigCJEUNAEEATg0BC0GQ2oAIQQA6AAALIAJBsANqJAALtAEBBX8gACgCRCIDKAIAIQYgAygCBCIEIAAoAhQgACgCGCIHayIFIAQgBUkbIgUEQCAFBEAgBiAHIAX8CgAACyADIAMoAgAgBWoiBjYCACADIAMoAgQgBWsiBDYCBAsgBCACIAIgBEsbIgQEQCAEBEAgBiABIAT8CgAACyADIAMoAgAgBGoiBjYCACADIAMoAgQgBGs2AgQLIAZBADoAACAAIAAoAigiATYCGCAAIAE2AhQgAgutVAIgfwR+IwBBwMEAayIGJAAgBkHsBWohISAGQZkFaiEiIAZBlwVqISMgBkG/BWohHyAGQcAFaiIYQQhyISAgGEEJciEcIAZBvgVqISQgBkGYBWohFgJAAkADQEEAIQUDQAJAIAEhByAFIBNB/////wdzSg0AIAUgE2ohEwJAAkACQAJAAkACQAJAIActAAAiBQRAA0ACQAJAIAVB/wFxIgUEQCAFQSVHDQIgASEFA0AgAUEBai0AAEElRw0CIAVBAWohBSABQQJqIgEtAABBJUYNAAsMAQsgASEFCyAFIAdrIgUgE0H/////B3MiFEoNCgJAIABFDQAgAC0AAEEgcQ0AIAcgBSAAEB4LIAUNCyABQQFqIQxBfyELAkAgASwAASIIQTBrIgVBCUsNACABLQACQSRHDQAgAUEDaiEMIAEsAAMhCEEBIRkgBSELC0EAIQ0CQCAIQSBrIgFBH0sEQCAMIQEMAQtBASABdCIFQYnRBHFFBEAgDCEBDAELIAxBAWohAQNAIAUgDXIhDSABLAAAIghBIGsiBUEgTw0BIAFBAWohAUEBIAV0IgVBidEEcQ0ACyABQQFrIQELIAhBKkYEQAJ/AkAgASwAAUEwayIFQQlLDQAgAS0AAkEkRw0AIAFBA2ohAUEBIRkCfyAARQRAIAQgBUECdGpBCjYCAEEADAELIAMgBUEEdGooAgALDAELIBkNByABQQFqIQEgAEUEQEEAIRlBACEOIAEtAAAhDAwHCyACIAIoAgAiBUEEajYCAEEAIRkgBSgCAAsiDkEATg0EQQAgDmshDiANQYDAAHIhDQwEC0EAIQ4gCEEwayIIQQlLDQMgASEFA0AgDkHMmbPmAE0EQEF/IA5BCmwiASAIaiAIIAFB/////wdzSyIJGyEOIAUsAAEhDCAFQQFqIgEhBSAMQTBrIghBCkkNASAJDQwMBgsgBSwAAUF/IQ4gBUEBaiEFQTBrIghBCkkNAAsMCgsgAUEBaiIBLQAAIQUMAAsACyAADQsgGUUEQEEAIRMMDAsCQCAEKAIEIgBFBEBBASEBDAELIANBEGogACACEB8gBCgCCCIARQRAQQIhAQwBCyADQSBqIAAgAhAfIAQoAgwiAEUEQEEDIQEMAQsgA0EwaiAAIAIQHyAEKAIQIgBFBEBBBCEBDAELIANBQGsgACACEB8gBCgCFCIARQRAQQUhAQwBCyADQdAAaiAAIAIQHyAEKAIYIgBFBEBBBiEBDAELIANB4ABqIAAgAhAfIAQoAhwiAEUEQEEHIQEMAQsgA0HwAGogACACEB8gBCgCICIARQRAQQghAQwBCyADQYABaiAAIAIQHyAEKAIkIgBFBEBBCSEBDAELIANBkAFqIAAgAhAfQQEhEwwMCyABQQJ0IQEDQCABIARqKAIADQMgAUEEaiIBQShHDQALQQEhEwwLCyABLQAAIQwLQQAhBQJAIAxB/wFxQS5HBEBBfyEKQQAhEQwBCyABLAABIglBKkYEQAJAIAEsAAJBMGsiCUEJSw0AIAEtAANBJEcNACAARQRAIAQgCUECdGpBCjYCAEEAIQogAUEEaiEBQQEhEQwDCyABQQRqIQEgAyAJQQR0aigCACIKQQBOIREMAgsgGQ0CIAFBAmohASAARQRAQQAhCkEBIREMAgsgAiACKAIAIglBBGo2AgAgCSgCACIKQQBOIREMAQsgAUEBaiEBIAlBMGsiDEEJSwRAQQEhEUEAIQoMAQtBACEIA0BBfyEKQQEhESAIQcyZs+YATQRAQX8gCEEKbCIJIAxqIAwgCUH/////B3NLGyEKCyAKIQggAUEBaiIBLAAAQTBrIgxBCkkNAAsLA0AgBSEJIAEiCCwAACIFQfsAa0FGSQ0BIAhBAWohASAFIAlBOmxqQe+KgAhqLQAAIgVBAWtB/wFxQQhJDQALAkAgBUEbRwRAIAVFDQIgC0EATgRAIABFBEAgBCALQQJ0aiAFNgIADAsLIAYgAyALQQR0aiIFKQMANwOgBSAGIAVBCGopAwA3A6gFDAILIABFBEBBACETDAwLIAZBoAVqIAUgAhAfDAELIAtBAE4NAUEAIQUgAEUNBwsgACgCACIPQSBxDQggDUH//3txIgsgDSANQYDAAHEbIRACQAJ/AkACQAJAAn8CQAJAAkACQAJ/AkACQAJAAkACQAJAIAgtAAAiCMAiBUFTcSAFIAhBD3FBA0YbIAUgCRsiEkHBAGsOOBMSDBITExMSEhISEhISEhISEg0SEhISAxISEhISEhISExIIBRMTExIFEhISCQEEAhISChIAEhIDEgtBACEPIAYpA6AFISVBuICACAwFC0EAIQUCQAJAAkACQAJAAkACQCAJDggAAQIDBBwFBhwLIAYoAqAFIBM2AgAMGwsgBigCoAUgEzYCAAwaCyAGKAKgBSATrDcDAAwZCyAGKAKgBSATOwEADBgLIAYoAqAFIBM6AAAMFwsgBigCoAUgEzYCAAwWCyAGKAKgBSATrDcDAAwVCyAKQQggCkEISxshCiAQQQhyIRBB+AAhEgtBACEPQbiAgAghCCAGKQOgBSIlUARAIBYhBwwECyASQSBxIQUgFiEHA0AgB0EBayIHICWnQQ9xLQCAj4AIIAVyOgAAICVCD1YgJUIEiCElDQALIBBBCHFFDQMgEkEEdkG4gIAIaiEIQQIhDwwDCyAWIQcgBikDoAUiJVBFBEADQCAHQQFrIgcgJadBB3FBMHI6AAAgJUIHViAlQgOIISUNAAsLQQAhD0G4gIAIIQggEEEIcUUNAiAKICIgB2siBSAFIApIGyEKDAILIAYpA6AFIiVCAFMEQCAGQgAgJX0iJTcDoAVBASEPQbiAgAgMAQsgEEGAEHEEQEEBIQ9BuYCACAwBC0G6gIAIQbiAgAggEEEBcSIPGwshCAJAICVCgICAgBBUBEAgJSEmIBYhBwwBCyAWIQcDQCAHQQFrIgcgJUIKgCImQvYBfiAlfKdBMHI6AAAgJUL/////nwFWICYhJQ0ACwsgJlANACAmpyEFA0AgB0EBayIHIAVBCm4iCUH2AWwgBWpBMHI6AAAgBUEJSyAJIQUNAAsLIBEgCkEASHENDiAQQf//e3EgECARGyELAkAgBikDoAUiJUIAUg0AQQAhDCAKDQAgFiIHIQUMDgsgCiAlUCAWIAdraiIFIAUgCkgbIQwgFiEFDA0LIAYtAKAFIQUMCwtBqNyACCgCAEUEQEGo3IAIQZDcgAg2AgALQQBBrNyACCgCACIFIAVBzABLG0EBdC8BoJuACEGQj4AIagwBCyAGKAKgBSIFQciKgAggBRsLIQdBACEFAkAgCkH/////ByAKQf////8HSRsiCUUNAANAIAUgB2otAABFDQEgCSAFQQFqIgVHDQALIAkhBQsgByAFIgxqIQVBACEPQbiAgAghCCAKQQBODQkgBS0AAEUNCQwKCyAGKQOgBSIlUEUNAUEAIQUMBwsgCgRAIAYoAqAFDAILQQAhBSAAQSAgDkEAIBAQIAwCCyAGQQA2AvwEIAYgJT4C+AQgBiAGQfgEaiIFNgKgBUF/IQogBQshCEEAIQVBqNyACCgCACEMIAghCQNAAkAgCSgCACIHRQ0AAn8CQCAHQf8ATQ0AIAxFBEBBqNyACEGQ3IAINgIAQZDcgAghDAsgDCgCAEUEQCAHQYB/cUGAvwNGDQFBrNyACEEZNgIADA4LIAdB/w9NBEAgBiAHQT9xQYABcjoA9QQgBiAHQQZ2QcABcjoA9ARBAgwCCyAHQYBAcUGAwANHIAdBgLADT3FFBEAgBiAHQT9xQYABcjoA9gQgBiAHQQx2QeABcjoA9AQgBiAHQQZ2QT9xQYABcjoA9QRBAwwCCyAHQYCABGtB//8/TQRAIAYgB0E/cUGAAXI6APcEIAYgB0ESdkHwAXI6APQEIAYgB0EGdkE/cUGAAXI6APYEIAYgB0EMdkE/cUGAAXI6APUEQQQMAgtBrNyACEEZNgIADA0LIAYgBzoA9ARBAQsiByAKIAVrSw0AIAlBBGohCSAFIAdqIgUgCkkNAQsLIAVBAEgNBiAAQSAgDiAFIBAQICAFRQRAQQAhBQwBC0EAIQcDQCAIKAIAIglFDQEgBwJ/IAZB9ARqIQsCQCAJIgdB/wBNDQBBqNyACCgCACIJBH8gCQVBqNyACEGQ3IAINgIAQZDcgAgLKAIARQRAIAdBgH9xQYC/A0YNAUGs3IAIQRk2AgBBfwwCCyAHQf8PTQRAIAsgB0E/cUGAAXI6AAEgCyAHQQZ2QcABcjoAAEECDAILIAdBgEBxQYDAA0cgB0GAsANPcUUEQCALIAdBP3FBgAFyOgACIAsgB0EMdkHgAXI6AAAgCyAHQQZ2QT9xQYABcjoAAUEDDAILIAdBgIAEa0H//z9NBEAgCyAHQT9xQYABcjoAAyALIAdBEnZB8AFyOgAAIAsgB0EGdkE/cUGAAXI6AAIgCyAHQQx2QT9xQYABcjoAAUEEDAILQazcgAhBGTYCAEF/DAELIAsgBzoAAEEBCyIJaiIHIAVLDQEgAC0AAEEgcUUEQCAGQfQEaiAJIAAQHgsgCEEEaiEIIAUgB0sNAAsLIABBICAOIAUgEEGAwABzECAgDiAFIAUgDkgbIQUMBgtBrNyACEEcNgIADAcLQQAhD0G4gIAIIQggFiEFIBAhCyAKIQwMAgsgESAKQQBIIglxDQIgBikDoAUhJiAGKQOoBSElIAZBADYC7AUCfyAlQgBTBEAgJUKAgICAgICAgIB/hSElQQEhF0HCgIAIIRpBAAwBCyAQQYAQcQRAQQEhF0HFgIAIIRpBAAwBC0HIgIAIQcOAgAggEEEBcSIXGyEaIBdFCyERICYgJUIAQoCAgICAgMD//wAQBCEFICYgJUIAQoCAgICAgMD//wAQBUUgBUEAR3FFBEAgJiAlICYgJRAFIQkCQCAQQYDAAHEgF0EDaiIHIA5Pcg0AIA4gB2siBUGAAiAFQYACSSILGyIIBEAgBkHAP2pBICAI/AsACyALRQRAA0AgAC0AAEEgcUUEQCAGQcA/akGAAiAAEB4LIAVBgAJrIgVB/wFLDQALIAAoAgAhDwsgD0EgcQ0AIAZBwD9qIAUgABAeIAAoAgAhDwsgD0EgcQR/IA8FIBogFyAAEB4gACgCAAtBIHFFBEBBpYSACEHpiYAIIBJBIHEiBRtBiIeACEHtiYAIIAUbIAkbQQMgABAeCwJAIBBBgMAEcUGAwABHIAcgDk9yDQAgDiAHayIFQYACIAVBgAJJIgkbIgsEQCAGQcA/akEgIAv8CwALIAlFBEADQCAALQAAQSBxRQRAIAZBwD9qQYACIAAQHgsgBUGAAmsiBUH/AUsNAAsLIAAtAABBIHENACAGQcA/aiAFIAAQHgsgDiAHIAcgDkkbIQUMBAsgBkHgBGohCyAGQewFakEAIQcjAEEQayIFJAACQCAmICUgJiAlEAUNACAlQjCIpyIMQf//AXEiD0H//wFGDQAgD0UEQCAmICVC////////P4OEUA0BIAUgJiAlICVCEIYgJkIwiIQiJ3kgJkIQhnlCQH0gJ0IAUhunIgdBAWpB/wBxEAcgBSkDAEIAIAdB/wBxQe8ASSIMGyEmQYKAfyAHayEHICVCgICAgICAgICAf4MgBSkDCEL///////8/g0IAIAwbhEKAgICAgICA/z+EISUMAQsgJUL///////+/gIB/g0KAgICAgICA/z+EISUgDEH//wFxQf7/AGshBwsgBzYCACALICU3AwggCyAmNwMAIAVBEGokACAGQdAEaiAGKQPgBCIlIAYpA+gEIiYgJSAmEAMCQAJ/AkAgBikD0AQiJSAGKQPYBCImQgBCABAEBEAgBiAGKALsBSIFQQFrNgLsBSASQSByIhRB4QBHDQEMAwsgEkEgciIUQeEARg0CIAYoAuwFIQhBBiAKIAkbDAELIAZBwARqICUgJkKAgICAgIDAjcAAEAEgBiAFQR1rIgg2AuwFIAYpA8gEISYgBikDwAQhJUEGIAogCRsLIQsgBkHwBWpBAEGANiAIQQBIIg0baiIPIQcDQEEAIQUjAEEQayIJJAACQCAmQgBTDQAgJkIwiKciDEH//wFxIgpB/v8ATQ0AQX8hBSAKQZ+AAWtBYEkNACAJICUgJkL///////8/g0KAgICAgIDAAIRB7wAgDGtB/wBxEAYgCSgCACEFCyAJQRBqJAAgByAFNgIAQgAhJyMAQRBrIgkkACAGQbAEaiIMIAUEfiAJIAWtQgBB8AAgBWdBH3MiBWsQByAJKQMIQoCAgICAgMAAhSAFrUIwhnxCgICAgICAwP8/fCEnIAkpAwAFQgALNwMAIAwgJzcDCCAJQRBqJAAgBkGgBGogJSAmIAYpA7AEIAYpA7gEEAIgBkGQBGogBikDoAQgBikDqARCgICAgOWat47AABABIAdBBGohByAGKQOQBCIlIAYpA5gEIiZCAEIAEAQNAAsCQCAIQQBMBEAgByEFIA8hCQwBCyAPIQkDQCAIQR0gCEEdSRshCAJAIAdBBGsiBSAJSQ0AIAitISdCACElA0AgBSAFNQIAICeGICV8IiYgJkKAlOvcA4AiJUKA7JSjDH58PgIAIAVBBGsiBSAJTw0ACyAmQoCU69wDVA0AIAlBBGsiCSAlPgIACwNAIAkgByIFSQRAIAVBBGsiBygCAEUNAQsLIAYgBigC7AUgCGsiCDYC7AUgBSEHIAhBAEoNAAsLIAhBAEgEQCALQS1qQQluQQFqIQogFEHmAEYhGwNAQQAgCGsiB0EJIAdBCUkbIQwCQCAFIAlNBEBBAEEEIAkoAgAbIQcMAQtBgJTr3AMgDHYhFUF/IAx0QX9zIR1BACEIIAkhBwNAIAcgCCAHKAIAIh4gDHZqNgIAIB0gHnEgFWwhCCAHQQRqIgcgBUkNAAtBAEEEIAkoAgAbIQcgCEUNACAFIAg2AgAgBUEEaiEFCyAGIAYoAuwFIAxqIgg2AuwFIA8gByAJaiIJIBsbIgcgCkECdGogBSAFIAdrQQJ1IApKGyEFIAhBAEgNAAsLQQAhBwJAIAUgCU0NACAPIAlrQQJ1QQlsIQcgCSgCACIMQQpJDQBBCiEIA0AgB0EBaiEHIAwgCEEKbCIITw0ACwsgC0EAIAcgFEHmAEYbayAUQecARiIbIAtBAEdxayIIIAUgD2tBAnVBCWxBCWtIBEAgCEGAgAlqIgxBCW0iFUECdCIdQYSAfEGEtnwgDRsiFCAGQfAFampqIQpBCiEIAkAgFUF3bCAMaiINQQdKDQBBACANayIIQQdxIQwCQCANQQFrQQdJBEBBCiEIDAELIAhBA3ZBAWoiFUEHcSENIAhBOEkEf0EKBSAVQfj///8DcSEIA0AgCEEIayIIDQALQQALIQggDUUEQEEAIQgMAQtBACANayENA0AgCEGAwtcvbCEIIA1BAWoiDQ0ACwsgDEUNAANAIAhBCmwhCCAMQQFrIgwNAAsLAkAgCigCACINIA0gCG4iFSAIbCIMRiAKQQRqIh4gBUZxDQAgDSAMayENAkAgFUEBcUUEQEKAgICAgICAuMAAISVCACEmIAhBgJTr3ANHIAkgCk9yDQEgCkEEay0AAEEBcUUNAQtCgICAgICAgLjAACElQgEhJgtCgICAgICAgP8/QoCAgICAgMD/P0KAgICAgIDg/z8gBSAeRhtCgICAgICA4P8/IA0gCEEBdiIVRhsgDSAVSRshJwJAIBENACAaLQAAQS1HDQAgJ0KAgICAgICAgIB/hCEnQoCAgICAgIC4QCElCyAKIAw2AgAgBkGABGogJiAlQgAgJxADIAYpA4AEIAYpA4gEICYgJRAERQ0AIAogCCAMaiIHNgIAIAdBgJTr3ANPBEAgISAUIB1qaiEHA0AgB0EEakEANgIAIAcgCUkEQCAJQQRrIglBADYCAAsgByAHKAIAQQFqIgg2AgAgB0EEayEHIAhB/5Pr3ANLDQALIAdBBGohCgsgDyAJa0ECdUEJbCEHIAkoAgAiDEEKSQ0AQQohCANAIAdBAWohByAMIAhBCmwiCE8NAAsLIApBBGoiCCAFIAUgCEsbIQULA0AgBSIMIAlNIghFBEAgDEEEayIFKAIARQ0BCwsCQCAbRQRAIBBBCHEhEQwBCyAHQX9zQX8gC0EBIAsbIgUgB0ogB0F7SnEiChsgBWohC0F/QX4gChsgEmohEiAQQQhxIhENAEF3IQUCQCAIDQAgDEEEaygCACIKRQ0AQQAhBSAKQQpwDQBBCiEIQX8hBQNAIAVBAWohBSAKIAhBCmwiCHBFDQALIAVBf3MhBQsgDCAPa0ECdUEJbCEIIBJBX3FBxgBGBEBBACERIAsgBSAIakEJayIFQQAgBUEAShsiBSAFIAtKGyELDAELQQAhESALIAcgCGogBWpBCWsiBUEAIAVBAEobIgUgBSALShshCwsgC0H9////B0H+////ByALIBFyIhsbSg0DIAsgG0EAR2pBAWohDQJAIBJBX3FBxgBHIhVFBEAgByANQf////8Hc0oNBSAHQQAgB0EAShshBQwBCwJAIAdFBEAgGCEIDAELIAcgB0EfdSIFcyAFayEFIBghCANAIAhBAWsiCCAFQQpuIgpB9gFsIAVqQTByOgAAIAVBCUsgCiEFDQALCwJAIBggCGtBAUoNACAIIAZBtAVqayAIICQgCGtqIQhBCmsiBUUNACAIQTAgBfwLAAsgCEECayIUIBI6AAAgCEEBa0EtQSsgB0EASBs6AAAgGCAUayIFIA1B/////wdzSg0ECyAFIA1qIgUgF0H/////B3NKDQMCQCAQQYDABHEiECAFIBdqIgogDk5yDQAgDiAKayIFQYACIAVBgAJJIgcbIggEQCAGQcA/akEgIAj8CwALIAdFBEADQCAALQAAQSBxRQRAIAZBwD9qQYACIAAQHgsgBUGAAmsiBUH/AUsNAAsLIAAtAABBIHENACAGQcA/aiAFIAAQHgsgAC0AAEEgcUUEQCAaIBcgABAeCwJAIBBBgIAERyAKIA5Ocg0AIA4gCmsiBUGAAiAFQYACSSIHGyIIBEAgBkHAP2pBMCAI/AsACyAHRQRAA0AgAC0AAEEgcUUEQCAGQcA/akGAAiAAEB4LIAVBgAJrIgVB/wFLDQALCyAALQAAQSBxDQAgBkHAP2ogBSAAEB4LAkAgFUUEQCAPIAkgCSAPSxsiESENA0ACQAJAAkAgDSgCACIFBEBBCiEHA0AgBiAHIglqQb4FaiAFQQpuIghB9gFsIAVqQTByOgAAIAdBAWshByAFQQlLIAghBQ0ACyAJQQJrIgkgBkHABWpqIQUgDSARRwRAIAdBAkgNBAwDCyAJQQlHDQMMAQtBCSEJIA0gEUcNAQsgBkEwOgDIBSAgIQUMAQsgCSAGQcAFaiIFaiAFIAkgH2oiByAFIAdJGyIFayIHRQ0AIAVBMCAH/AsACyAALQAAQSBxRQRAIAUgHCAFayAAEB4LIA1BBGoiDSAPTQ0ACwJAIBtFDQAgAC0AAEEgcQ0AQfiJgAhBASAAEB4LAkAgC0EATARAIAshBQwBCyAMIA1NBEAgCyEFDAELA0ACQAJAIA0oAgAiBUUEQCAcIQcMAQsgHCEHA0AgB0EBayIHIAVBCm4iCUH2AWwgBWpBMHI6AAAgBUEJSyAJIQUNAAsgByAGQcAFak0NAQsgByAGQcAFaiIJaiAHayEFIAcgCWsiBwRAIAVBMCAH/AsACyAFIQcLIAAtAABBIHFFBEAgByALQQkgC0EJSRsgABAeCyALQQlrIQUgDUEEaiINIAxPDQEgC0EJSiAFIQsNAAsLIABBMCAFQQlqQQlBABAgDAELAkAgC0EASA0AIAwgCUEEaiAJIAxJGyEMIAkhDQNAAkAgDSgCACIFBEAgHCEHA0AgB0EBayIHIAVBCm4iCEH2AWwgBWpBMHI6AAAgBUEKSSAIIQVFDQALDAELIAZBMDoAyAUgICEHCwJAIAkgDUcEQCAHIAZBwAVqTQ0BIAcgBkHABWprIgUEQCAGQcAFakEwIAX8CwALIAZBwAVqIQcMAQsgAC0AAEEgcUUEQCAHQQEgABAeCyAHQQFqIQcgCyARckUNACAALQAAQSBxDQBB+ImACEEBIAAQHgsgHCAHayEFIAAtAABBIHFFBEAgByAFIAsgBSALSBsgABAeCyALIAVrIQsgDUEEaiINIAxPDQEgC0EATg0ACwsgAEEwIAtBEmpBEkEAECAgAC0AAEEgcQ0AIBQgGCAUayAAEB4LAkAgEEGAwABHIAogDk5yDQAgDiAKayIFQYACIAVBgAJJIgcbIgkEQCAGQcA/akEgIAn8CwALIAdFBEADQCAALQAAQSBxRQRAIAZBwD9qQYACIAAQHgsgBUGAAmsiBUH/AUsNAAsLIAAtAABBIHENACAGQcA/aiAFIAAQHgsgDiAKIAogDkgbIQUMBAsgGiASQRp0QR91QQlxaiEIAkAgCkEaSw0AAkBBGyAKayIFQQdxIgdFBEBCgICAgICAwIHAACEnQgAhKAwBC0KAgICAgIDAgcAAISdCACEoIAchBQNAIAZB8ANqICggJ0KAgICAgIDAgcAAEAEgBikD+AMhJyAGKQPwAyEoIAVBAWsiBQ0AC0EbIAcgCmprIQULAkAgCkETSw0AIAVBCGsiB0EIcUUEQCAGQeADaiAoICdCgICAgICAwIHAABABIAZB0ANqIAYpA+ADIAYpA+gDQoCAgICAgMCBwAAQASAGQcADaiAGKQPQAyAGKQPYA0KAgICAgIDAgcAAEAEgBkGwA2ogBikDwAMgBikDyANCgICAgICAwIHAABABIAZBoANqIAYpA7ADIAYpA7gDQoCAgICAgMCBwAAQASAGQZADaiAGKQOgAyAGKQOoA0KAgICAgIDAgcAAEAEgBkGAA2ogBikDkAMgBikDmANCgICAgICAwIHAABABIAZB8AJqIAYpA4ADIAYpA4gDQoCAgICAgMCBwAAQASAGKQP4AiEnIAYpA/ACISggByEFCyAHQQhJDQADQCAGQeACaiAoICdCgICAgICAwIHAABABIAZB0AJqIAYpA+ACIAYpA+gCQoCAgICAgMCBwAAQASAGQcACaiAGKQPQAiAGKQPYAkKAgICAgIDAgcAAEAEgBkGwAmogBikDwAIgBikDyAJCgICAgICAwIHAABABIAZBoAJqIAYpA7ACIAYpA7gCQoCAgICAgMCBwAAQASAGQZACaiAGKQOgAiAGKQOoAkKAgICAgIDAgcAAEAEgBkGAAmogBikDkAIgBikDmAJCgICAgICAwIHAABABIAZB8AFqIAYpA4ACIAYpA4gCQoCAgICAgMCBwAAQASAGQeABaiAGKQPwASAGKQP4AUKAgICAgIDAgcAAEAEgBkHQAWogBikD4AEgBikD6AFCgICAgICAwIHAABABIAZBwAFqIAYpA9ABIAYpA9gBQoCAgICAgMCBwAAQASAGQbABaiAGKQPAASAGKQPIAUKAgICAgIDAgcAAEAEgBkGgAWogBikDsAEgBikDuAFCgICAgICAwIHAABABIAZBkAFqIAYpA6ABIAYpA6gBQoCAgICAgMCBwAAQASAGQYABaiAGKQOQASAGKQOYAUKAgICAgIDAgcAAEAEgBkHwAGogBikDgAEgBikDiAFCgICAgICAwIHAABABIAYpA3ghJyAGKQNwISggBUEQayIFDQALCyAILQAAQS1GBEAgBkFAayAlICZCgICAgICAgICAf4UgKCAnEAIgBkEwaiAoICcgBikDQCAGKQNIEAMgBikDOEKAgICAgICAgIB/hSEmIAYpAzAhJQwBCyAGQeAAaiAlICYgKCAnEAMgBkHQAGogBikDYCAGKQNoICggJxACIAYpA1ghJiAGKQNQISULAkAgBigC7AUiCwRAIAsgC0EfdSIFcyAFayEFIBghBwNAIAdBAWsiByAFQQpuIglB9gFsIAVqQTByOgAAIAVBCkkgCSEFRQ0ACwwBCyAGQTA6AL8FIB8hBwsgF0ECciEMIBJBIHEhDSAHQQJrIg8gEkEPajoAACAHQQFrQS1BKyALQQBIGzoAACAQQQhxRSAKQQBMcSELIAZBwAVqIQcDQCAHIgUjAEEQayIHJAACf0EAICZCMIinIglB//8BcSIRQf7/AE0NABogJkI/h6dB/////wdzIBFBnoABa0FgTQ0AGiAHICUgJkL///////8/g0KAgICAgIDAAIRB7wAgCWtB/wBxEAYgBygCACIJQQAgCWsgJkIAWRsLIAdBEGokACIHQYCPgAhqLQAAIA1yOgAAQgAhJyMAQRBrIgkkACAGQSBqIhEgBwR+IAkgByAHQR91IhJzIBJrIhKtQgBB8AAgEmdBH3MiEmsQByAJKQMIQoCAgICAgMAAhSASrUIwhnxCgICAgICAwP8/fEKAgICAgICAgIB/QgAgB0EASBuEIScgCSkDAAVCAAs3AwAgESAnNwMIIAlBEGokACAGQRBqICUgJiAGKQMgIAYpAygQAiAGIAYpAxAgBikDGEKAgICAgIDAgcAAEAEgCyAGKQMAIiUgBikDCCImQgBCABAERXEgBUEBaiIHIAZBwAVqa0EBR3JFBEAgBUEuOgABIAVBAmohBwsgJSAmQgBCABAEDQALIApB/f///wcgGCAPayINIAxqIgVrSg0CAkAgEEGAwARxIgsgCkECaiAHIAZBwAVqayIJIAlBAmsgCkgbIAkgChsiCiAFaiIHIA5Ocg0AIA4gB2siBUGAAiAFQYACSSIQGyIRBEAgBkHAP2pBICAR/AsACyAQRQRAA0AgAC0AAEEgcUUEQCAGQcA/akGAAiAAEB4LIAVBgAJrIgVB/wFLDQALCyAALQAAQSBxDQAgBkHAP2ogBSAAEB4LIAAtAABBIHFFBEAgCCAMIAAQHgsCQCALQYCABEcgByAOTnINACAOIAdrIgVBgAIgBUGAAkkiCBsiDARAIAZBwD9qQTAgDPwLAAsgCEUEQANAIAAtAABBIHFFBEAgBkHAP2pBgAIgABAeCyAFQYACayIFQf8BSw0ACwsgAC0AAEEgcQ0AIAZBwD9qIAUgABAeCyAALQAAQSBxRQRAIAZBwAVqIAkgABAeCwJAIAogCWsiBUEATA0AIAVBgAIgBUGAAkkiCRsiCARAIAZBwD9qQTAgCPwLAAsgCUUEQANAIAAtAABBIHFFBEAgBkHAP2pBgAIgABAeCyAFQYACayIFQf8BSw0ACwsgAC0AAEEgcQ0AIAZBwD9qIAUgABAeCyAALQAAQSBxRQRAIA8gDSAAEB4LAkAgC0GAwABHIAcgDk5yDQAgDiAHayIFQYACIAVBgAJJIgkbIgsEQCAGQcA/akEgIAv8CwALIAlFBEADQCAALQAAQSBxRQRAIAZBwD9qQYACIAAQHgsgBUGAAmsiBUH/AUsNAAsLIAAtAABBIHENACAGQcA/aiAFIAAQHgsgDiAHIAcgDkgbIQUMAwsgBiAFOgCXBUEAIQ9BuICACCEIQQEhDCAjIQcgFiEFCyAMIAUgB2siDSAMIA1KGyIQIA9B/////wdzSg0AIA4gDyAQaiIKIAogDkgbIgUgFEsNAAJAIAtBgMAEcSILIAogDk5yDQAgBSAKayIJQYACIAlBgAJJIhEbIhIEQCAGQfAFakEgIBL8CwALIBFFBEADQCAALQAAQSBxRQRAIAZB8AVqQYACIAAQHgsgCUGAAmsiCUH/AUsNAAsLIAAtAABBIHENACAGQfAFaiAJIAAQHgsgAC0AAEEgcUUEQCAIIA8gABAeCwJAIAtBgIAERyAKIA5Ocg0AIAUgCmsiCUGAAiAJQYACSSIIGyIPBEAgBkHwBWpBMCAP/AsACyAIRQRAA0AgAC0AAEEgcUUEQCAGQfAFakGAAiAAEB4LIAlBgAJrIglB/wFLDQALCyAALQAAQSBxDQAgBkHwBWogCSAAEB4LAkAgDCANTA0AIBAgDWsiCUGAAiAJQYACSSIIGyIMBEAgBkHwBWpBMCAM/AsACyAIRQRAA0AgAC0AAEEgcUUEQCAGQfAFakGAAiAAEB4LIAlBgAJrIglB/wFLDQALCyAALQAAQSBxDQAgBkHwBWogCSAAEB4LIAAtAABBIHFFBEAgByANIAAQHgsgC0GAwABHIAogDk5yDQEgBSAKayIHQYACIAdBgAJJIgkbIgsEQCAGQfAFakEgIAv8CwALIAlFBEADQCAALQAAQSBxRQRAIAZB8AVqQYACIAAQHgsgB0GAAmsiB0H/AUsNAAsLIAAtAABBIHENASAGQfAFaiAHIAAQHgwBCwsLQazcgAhBPTYCAAtBfyETCyAGQcDBAGokACATCwcAQZDagAgLJAEBf0HLg4AIIQEgAEENTQR/IABBAnQoAviKgAgFQcuDgAgLCwwAQdjYgAggADYCAAtsAQJ/IwBBEGsiBSQAQQEhBgJAIARFIAFBASACG0VyDQAgA0UEQCAEKAIADQELIABBCEcEQCAFIAA2AgBB3YiACCAFEA9BBSEGDAELQZDagAhBADoAACABIAIgAyAEEBYhBgsgBUEQaiQAIAYLzAgBA38jAEHQAGsiBCQAAkAgAUUEQEGg2oAIQZGBgAgtAAA6AABBmNqACEGJgYAIKQAANwMAQZDagAhBgYGACCkAADcDAEGh2oAIQQA6AABBCCEBDAELIARByABqQgA3AwAgBEFAa0IANwMAIARBOGpCADcDACAEQTBqQgA3AwAgBEEoakIANwMAIARBIGpCADcDACAEQgA3AxggBEEYahAhIgUEQCAEIAU2AhAgBEECIAVrQQJ0KAKw2IAINgIUQfqJgAggBEEQahAPQQchAQwBCyAEIAI2AiQgBCABNgIcIAQgADYCGCAEIAMoAgA2AihB2NiACCgCACEFIARBGGpBBBAiIgBBAUYhBgJ/AkACQCAFRSAFAn8CQCAAQQFHDQAgBCgCHCIBRQ0AA0AgAUEBayEAIAQoAhghAQJAA0AgAS0AAA0BIAQgAUEBaiIBNgIYIAQgADYCHCAAQQFrIgBBf0cNAAsgBCgCJCACawwDC0F+IQAgBCgCOEUNBCAEKAI8RQ0EIAQoAjQiAUUNBCABKAIAIARBGGpHDQQgASgCBEG0/gBrQR9LDQQgAUEANgI0IAFCADcCLCABQQA2AiAgBEEANgJEIARCADcCLCAEQQA2AiAgASgCDCIABEAgBCAAQQFxNgJICyABQgA3AjwgAUEANgIkIAFBgIACNgIYIAFCgICAgHA3AhAgAUK0/gA3AgQgAUKBgICAcDcCxDcgASABQbQKaiIANgJwIAEgADYCVCABIAA2AlAgBEEYakEEECIiAEEBRiEGIABBAUcNASAEKAIcIgENAAsLIAZFDQEgBCgCJCACawsiAE9yRQRAIAQgBTYCBCAEIAA2AgBB1YCACCAEEA9BCQwDCyADIAA2AgBBAAwCCwJAIABBe0cEQCAAIAQoAihyDQELQcjagAhBxYqACC8AADsBAEHA2oAIQb2KgAgpAAA3AwBBuNqACEG1ioAIKQAANwMAQbDagAhBrYqACCkAADcDAEGo2oAIQaWKgAgpAAA3AwBBoNqACEGdioAIKQAANwMAQZjagAhBlYqACCkAADcDAEGQ2oAIQY2KgAgpAAA3AwBBytqACEEAOgAAQQQMAgsgAEF9Rw0AQaDagAhB5ImACCgAADYCAEGY2oAIQdyJgAgpAAA3AwBBkNqACEHUiYAIKQAANwMAQaTagAhBADoAAEEHDAELQQAhAiMAQRBrIgEkACAAQQJPBEAgASAANgIAIAFBCUECIABrIABBA2tBd0kbQQJ0QbDYgAhqKAIANgIEQfqJgAggARAPQQchAgsgAUEQaiQAIAILIQEgBCgCOEUNACAEKAI8IgJFDQAgBCgCNCIARQ0AIAAoAgAgBEEYakcNACAAKAIEQbT+AGtBH0sNACAAKAI4IgMEQCAEKAJAIAMgAhEBACAEKAI8IQIgBCgCNCEACyAEKAJAIAAgAhEBAAsgBEHQAGokACABC1ABAX8jAEEQayIEJAACf0EBIANFIAFBASACG0VyDQAaIABBCEcEQCAEIAA2AgBB3YiACCAEEA9BBQwBC0GQ2oAIQQA6AABBBAsgBEEQaiQACwQAQQQL/QEBA38jAEEQayIDJAACQCABRQRAQQEhAAwBCyABQQA2AgAgAEEIRiIERQRAIAMgADYCAEHdiIAIIAMQD0EFIQAMAQtBDCEAQQwQCiICRQRAQbfagAhB9IKACCkAADcAAEGw2oAIQe2CgAgpAAA3AwBBqNqACEHlgoAIKQAANwMAQaDagAhB3YKACCkAADcDAEGY2oAIQdWCgAgpAAA3AwBBkNqACEHNgoAIKQAANwMAQb/agAhBADoAAAwBCyACQbycgAhBACAEGzYCAEGQ2oAIQQA6AAAgAkEEahAaIgAEQCACEAwMAQsgASACNgIAQQAhAAsgA0EQaiQAIAALmQEBA38jAEEQayIBJAACf0HYABAKIgJFBEBBmNqACEGxhIAILQAAOgAAQZDagAhBqYSACCkAADcDAEGZ2oAIQQA6AABBDAwBCyACQoGAgIDwAzcCUCACECEiAwRAIAEgAzYCACABQQIgA2tBAnQoArDYgAg2AgRB+omACCABEA8gAhAMQQcMAQsgACACNgIAQQALIAFBEGokAAu1AQEBf0EBIQUCQCABQQEgAhtFIABFIARFcnINACADRQRAIAQoAgANAQsgACgCCARAQa/agAhB0oSACCgAADYAAEGo2oAIQcuEgAgpAAA3AwBBoNqACEHDhIAIKQAANwMAQZjagAhBu4SACCkAADcDAEGQ2oAIQbOEgAgpAAA3AwBBs9qACEEAOgAAQQoPC0GQ2oAIQQA6AAAgACgCBCABIAIgAyAEIAAoAgAoAiwRBAAhBQsgBQtQAQF/QQEhAwJAIABFIAJFcg0AIAFFBEAgAigCAA0BC0GQ2oAIQQA6AAAgACgCBCABIAIgACgCACgCMBEAACIDDQAgAEEBNgIIQQAhAwsgAwsuAQJ/IAAEQAJAIAAoAgAiAUUNACAAKAIEIgJFDQAgAiABKAI0EQMACyAAEAwLC5MCAQN/AkAgAigCECIDBEAgAigCFCEFDAELIAIgAigCPCIEQQFrIARyNgI8IAIoAgAiBEEIcQRAIAIgBEEgcjYCAA8LIAJCADcCBCACIAIoAigiBTYCGCACIAU2AhQgAiAFIAIoAixqIgM2AhALIAMgBWsgAUkEQCACIAAgASACKAIgEQAAGg8LAkACQCACKAJAQQBIBEAgACEEDAELIAFFBEAgACEEDAELIAEhAwJAA0AgACADaiIEQQFrLQAAQQpGDQEgA0EBayIDDQALIAAhBAwBCyACIAAgAyACKAIgEQAAIANJDQEgASADayEBIAIoAhQhBQsgAQRAIAUgBCAB/AoAAAsgAiACKAIUIAFqNgIUCwvzBgMDfgF/AXwjAEEQayIGJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIAAQIFAwQGBwgJCgsMDQ4PEBESCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAMEQsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADBALIAIgAigCACIBQQRqNgIAIAAgATUCADcDAAwPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAMDgsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADA0LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAAwMCyACIAIoAgAiAUEEajYCACAAIAEyAQA3AwAMCwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADAoLIAIgAigCACIBQQRqNgIAIAAgATAAADcDAAwJCyACIAIoAgAiAUEEajYCACAAIAExAAA3AwAMCAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMADAcLIAIgAigCACIBQQRqNgIAIAAgATUCADcDAAwGCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwAMBQsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMADAQLIAIgAigCACIBQQRqNgIAIAAgATQCADcDAAwDCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAMAgsgAiACKAIAQQdqQXhxIgFBCGo2AgAgASsDACEHIwBBEGsiASQAAn4gB70iBUL///////////8AgyIDQoCAgICAgIAIfUKAgICAgICA8P8AVARAIANCPIYhBCADQgSIQoCAgICAgICAPHwMAQsgA0KAgICAgICA+P8AWgRA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ZSB0byBmaW5pc2hlZCBkZWNvbXByZXNzIHN0cmVhbQB6bGliOiBkYXRhIGFmdGVyIGVuZCBvZiBzdHJlYW0Ab3V0cHV0IGJ1ZmZlciB0b28gc21hbGwAb2sAaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawB6bGliOiB0cnVuY2F0ZWQgc3RyZWFtIGF0IGZpbmlzaABoZWFkZXIgY3JjIG1pc21hdGNoAGRlY29tcHJlc3NlZCBzaXplIG5vdCBlbmNvZGVkIGluIHdpcmUgZm9ybWF0OyB1c2Ugc3RyZWFtaW5nAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAG9wZXJhdGlvbiBpbnZhbGlkIGZvciBjdXJyZW50IHN0cmVhbSBzdGF0ZQBpbnZhbGlkIGJsb2NrIHR5cGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAGFsZ29yaXRobSBub3QgY29tcGlsZWQgaW50byB0aGlzIGJ1aWxkAGFsZ29yaXRobSAlZCBpcyBub3QgYXZhaWxhYmxlIGluIHRoaXMgYnVpbGQAY29tcHJlc3NlZCBpbnB1dCB0cnVuY2F0ZWQAZGVjb21wcmVzc2lvbiBmYWlsZWQAc3RyZWFtIGlzIGFscmVhZHkgZmluaXNoZWQAemxpYjogY29ycnVwdGVkIGRhdGEATkFOAElORgAwLjEwLjEALgB6bGliOiBjb2RlICVkICglcykAemxpYjogb3V0cHV0IGJ1ZmZlciB0b28gc21hbGwgKHNpemUgbm90IGVuY29kZWQgaW4gc3RyZWFtKQAobnVsbCkAY29tcHJlc3Npb24gbGV2ZWwgb3V0IG9mIHJhbmdlICgxLi4xMCkAAACOAgABkwAAAU8FAAF2AgABTAMAATYEAAGmBAABpAQAAYkEAAGkAAABuQQAAaADAAEaAAAB5gEAARkACwAZGRkAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAGQAKChkZGQMKBwABGwkLGAAACQYLAAALAAYZAAAAGRkZAEGBjIAICyEOAAAAAAAAAAAZAAsNGRkZAA0AAAIACQ4AAAAJAA4AAA4AQbuMgAgLAQwAQceMgAgLFRMAAAAAEwAAAAAJDAAAAAAADAAADABB9YyACAsBEABBgY2ACAsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEGvjYAICwESAEG7jYAICx4RAAAAABEAAAAACRIAAAAAABIAABIAABoAAAAaGhoAQfKNgAgLDhoAAAAaGhoAAAAAAAAJAEGjjoAICwEUAEGvjoAICxUXAAAAABcAAAAACRQAAAAAABQAABQAQd2OgAgLARYAQemOgAgL5A0VAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUZTdWNjZXNzAElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4g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HJ9ONroYEAARABIAAAAIAAcACQAGAAoABQALAAQADAADAA0AAgAOAAEADwBBsMWACAuoEwMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAAxwBLAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQABgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIA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";
|
|
1744
|
+
}
|
|
1745
|
+
});
|
|
1746
|
+
|
|
1747
|
+
// compress-utils-resolver:resolver
|
|
1748
|
+
var resolveWasm;
|
|
1749
|
+
var init_resolver = __esm({
|
|
1750
|
+
"compress-utils-resolver:resolver"() {
|
|
1751
|
+
resolveWasm = (url2) => Uint8Array.from(atob(url2.href.split(",")[1]), (character) => character.charCodeAt(0));
|
|
1752
|
+
}
|
|
1753
|
+
});
|
|
1754
|
+
|
|
1755
|
+
// ../../node_modules/compress-utils/dist/core/types.js
|
|
1756
|
+
var Algorithm, Status, CompressError;
|
|
1757
|
+
var init_types = __esm({
|
|
1758
|
+
"../../node_modules/compress-utils/dist/core/types.js"() {
|
|
1759
|
+
(function(Algorithm2) {
|
|
1760
|
+
Algorithm2[Algorithm2["Zstd"] = 0] = "Zstd";
|
|
1761
|
+
Algorithm2[Algorithm2["Brotli"] = 1] = "Brotli";
|
|
1762
|
+
Algorithm2[Algorithm2["Zlib"] = 2] = "Zlib";
|
|
1763
|
+
Algorithm2[Algorithm2["Bz2"] = 3] = "Bz2";
|
|
1764
|
+
Algorithm2[Algorithm2["Lz4"] = 4] = "Lz4";
|
|
1765
|
+
Algorithm2[Algorithm2["Xz"] = 5] = "Xz";
|
|
1766
|
+
Algorithm2[Algorithm2["Lzma"] = 6] = "Lzma";
|
|
1767
|
+
Algorithm2[Algorithm2["Snappy"] = 7] = "Snappy";
|
|
1768
|
+
Algorithm2[Algorithm2["Gzip"] = 8] = "Gzip";
|
|
1769
|
+
Algorithm2[Algorithm2["Deflate"] = 9] = "Deflate";
|
|
1770
|
+
Algorithm2[Algorithm2["Lz4Raw"] = 10] = "Lz4Raw";
|
|
1771
|
+
Algorithm2[Algorithm2["Lzo"] = 11] = "Lzo";
|
|
1772
|
+
})(Algorithm || (Algorithm = {}));
|
|
1773
|
+
(function(Status2) {
|
|
1774
|
+
Status2[Status2["Ok"] = 0] = "Ok";
|
|
1775
|
+
Status2[Status2["InvalidArg"] = 1] = "InvalidArg";
|
|
1776
|
+
Status2[Status2["InvalidLevel"] = 2] = "InvalidLevel";
|
|
1777
|
+
Status2[Status2["BufTooSmall"] = 3] = "BufTooSmall";
|
|
1778
|
+
Status2[Status2["SizeUnknown"] = 4] = "SizeUnknown";
|
|
1779
|
+
Status2[Status2["UnsupportedAlgo"] = 5] = "UnsupportedAlgo";
|
|
1780
|
+
Status2[Status2["Compression"] = 6] = "Compression";
|
|
1781
|
+
Status2[Status2["Decompression"] = 7] = "Decompression";
|
|
1782
|
+
Status2[Status2["Truncated"] = 8] = "Truncated";
|
|
1783
|
+
Status2[Status2["SizeLimit"] = 9] = "SizeLimit";
|
|
1784
|
+
Status2[Status2["StreamFinished"] = 10] = "StreamFinished";
|
|
1785
|
+
Status2[Status2["StreamState"] = 11] = "StreamState";
|
|
1786
|
+
Status2[Status2["Oom"] = 12] = "Oom";
|
|
1787
|
+
Status2[Status2["Internal"] = 13] = "Internal";
|
|
1788
|
+
})(Status || (Status = {}));
|
|
1789
|
+
CompressError = class extends Error {
|
|
1790
|
+
/** Underlying C status code. Stable across versions; see compress_utils.h. */
|
|
1791
|
+
code;
|
|
1792
|
+
algorithm;
|
|
1793
|
+
constructor(code, algorithm, message) {
|
|
1794
|
+
super(message);
|
|
1795
|
+
this.name = "CompressError";
|
|
1796
|
+
this.code = code;
|
|
1797
|
+
this.algorithm = algorithm;
|
|
1798
|
+
}
|
|
1799
|
+
};
|
|
1800
|
+
}
|
|
1801
|
+
});
|
|
1802
|
+
|
|
1803
|
+
// ../../node_modules/compress-utils/dist/core/loader.js
|
|
1804
|
+
function wasiImports(getMemory) {
|
|
1805
|
+
return {
|
|
1806
|
+
// proc_exit: codec code paths shouldn't call this, but if libc
|
|
1807
|
+
// startup hits an unrecoverable error it does. Throw so callers
|
|
1808
|
+
// see a real stack instead of a silent exit.
|
|
1809
|
+
proc_exit(code) {
|
|
1810
|
+
throw new Error(`wasm proc_exit(${code})`);
|
|
1811
|
+
},
|
|
1812
|
+
// fd_write: silently swallow. zstd/etc don't log; if they did,
|
|
1813
|
+
// we'd want to wire this to console.warn — but that needs us to
|
|
1814
|
+
// read iovs out of linear memory, which the caller doesn't have
|
|
1815
|
+
// a handle to at import-resolution time.
|
|
1816
|
+
fd_write() {
|
|
1817
|
+
return ERRNO_NOSYS;
|
|
1818
|
+
},
|
|
1819
|
+
fd_close() {
|
|
1820
|
+
return ERRNO_NOSYS;
|
|
1821
|
+
},
|
|
1822
|
+
fd_seek() {
|
|
1823
|
+
return ERRNO_NOSYS;
|
|
1824
|
+
},
|
|
1825
|
+
fd_read() {
|
|
1826
|
+
return ERRNO_NOSYS;
|
|
1827
|
+
},
|
|
1828
|
+
fd_fdstat_get() {
|
|
1829
|
+
return ERRNO_NOSYS;
|
|
1830
|
+
},
|
|
1831
|
+
fd_fdstat_set_flags() {
|
|
1832
|
+
return ERRNO_NOSYS;
|
|
1833
|
+
},
|
|
1834
|
+
// EBADF terminates the wasi-libc preopen scan cleanly. ENOSYS
|
|
1835
|
+
// makes the libc init path think the syscall is implemented but
|
|
1836
|
+
// failed unexpectedly, and on some libc builds aborts.
|
|
1837
|
+
fd_prestat_get() {
|
|
1838
|
+
return ERRNO_BADF;
|
|
1839
|
+
},
|
|
1840
|
+
fd_prestat_dir_name() {
|
|
1841
|
+
return ERRNO_BADF;
|
|
1842
|
+
},
|
|
1843
|
+
fd_filestat_get() {
|
|
1844
|
+
return ERRNO_NOSYS;
|
|
1845
|
+
},
|
|
1846
|
+
path_open() {
|
|
1847
|
+
return ERRNO_NOSYS;
|
|
1848
|
+
},
|
|
1849
|
+
poll_oneoff() {
|
|
1850
|
+
return ERRNO_NOSYS;
|
|
1851
|
+
},
|
|
1852
|
+
sched_yield() {
|
|
1853
|
+
return 0;
|
|
1854
|
+
},
|
|
1855
|
+
environ_sizes_get() {
|
|
1856
|
+
return 0;
|
|
1857
|
+
},
|
|
1858
|
+
environ_get() {
|
|
1859
|
+
return 0;
|
|
1860
|
+
},
|
|
1861
|
+
clock_time_get() {
|
|
1862
|
+
return ERRNO_NOSYS;
|
|
1863
|
+
},
|
|
1864
|
+
// random_get: fill `len` bytes at `buf` with CSPRNG output.
|
|
1865
|
+
// Fails loud (ERRNO_IO) if no crypto is available — the previous
|
|
1866
|
+
// silent zero-fill was a correctness footgun for any future codec
|
|
1867
|
+
// that actually seeds from entropy.
|
|
1868
|
+
random_get(buf, len) {
|
|
1869
|
+
if (!webCrypto)
|
|
1870
|
+
return ERRNO_IO;
|
|
1871
|
+
const memory = getMemory();
|
|
1872
|
+
for (let off = 0; off < len; off += CRYPTO_MAX_CHUNK) {
|
|
1873
|
+
const chunk = Math.min(CRYPTO_MAX_CHUNK, len - off);
|
|
1874
|
+
webCrypto.getRandomValues(new Uint8Array(memory.buffer, buf + off, chunk));
|
|
1875
|
+
}
|
|
1876
|
+
return 0;
|
|
1877
|
+
}
|
|
1878
|
+
};
|
|
1879
|
+
}
|
|
1880
|
+
async function loadModule(source) {
|
|
1881
|
+
let instance8;
|
|
1882
|
+
const imports = {
|
|
1883
|
+
wasi_snapshot_preview1: wasiImports(() => instance8.exports.memory)
|
|
1884
|
+
};
|
|
1885
|
+
if (source instanceof ArrayBuffer || ArrayBuffer.isView(source)) {
|
|
1886
|
+
const { instance: inst } = await WebAssembly.instantiate(source, imports);
|
|
1887
|
+
instance8 = inst;
|
|
1888
|
+
} else {
|
|
1889
|
+
const { instance: inst } = await WebAssembly.instantiateStreaming(source, imports);
|
|
1890
|
+
instance8 = inst;
|
|
1891
|
+
}
|
|
1892
|
+
const exports = instance8.exports;
|
|
1893
|
+
exports._initialize?.();
|
|
1894
|
+
return exports;
|
|
1895
|
+
}
|
|
1896
|
+
function decodeCString(memory, ptr, maxLen = 4096) {
|
|
1897
|
+
if (ptr === 0)
|
|
1898
|
+
return "";
|
|
1899
|
+
const view = new Uint8Array(memory.buffer, ptr);
|
|
1900
|
+
let end = 0;
|
|
1901
|
+
while (end < maxLen && view[end] !== 0)
|
|
1902
|
+
end++;
|
|
1903
|
+
return new TextDecoder("utf-8").decode(view.subarray(0, end));
|
|
1904
|
+
}
|
|
1905
|
+
function checkStatus(exports, status, algorithm) {
|
|
1906
|
+
if (status === Status.Ok)
|
|
1907
|
+
return;
|
|
1908
|
+
const lastErrPtr = exports.cu_last_error();
|
|
1909
|
+
let msg = decodeCString(exports.memory, lastErrPtr);
|
|
1910
|
+
if (!msg)
|
|
1911
|
+
msg = decodeCString(exports.memory, exports.cu_strerror(status));
|
|
1912
|
+
throw new CompressError(status, algorithm, msg || `status ${status}`);
|
|
1913
|
+
}
|
|
1914
|
+
var ERRNO_BADF, ERRNO_IO, ERRNO_NOSYS, CRYPTO_MAX_CHUNK, webCrypto;
|
|
1915
|
+
var init_loader = __esm({
|
|
1916
|
+
"../../node_modules/compress-utils/dist/core/loader.js"() {
|
|
1917
|
+
init_types();
|
|
1918
|
+
ERRNO_BADF = 8;
|
|
1919
|
+
ERRNO_IO = 29;
|
|
1920
|
+
ERRNO_NOSYS = 52;
|
|
1921
|
+
CRYPTO_MAX_CHUNK = 65536;
|
|
1922
|
+
webCrypto = typeof globalThis.crypto !== "undefined" && typeof globalThis.crypto.getRandomValues === "function" ? globalThis.crypto : null;
|
|
1923
|
+
}
|
|
1924
|
+
});
|
|
1925
|
+
|
|
1926
|
+
// ../../node_modules/compress-utils/dist/core/dispatch.js
|
|
1927
|
+
function drain(dispatcher, input2, call) {
|
|
1928
|
+
const arena = dispatcher.newArena();
|
|
1929
|
+
const chunks = [];
|
|
1930
|
+
let total = 0;
|
|
1931
|
+
try {
|
|
1932
|
+
const inLen = input2?.byteLength ?? 0;
|
|
1933
|
+
const inPtr0 = inLen > 0 ? arena.alloc(inLen, dispatcher.algorithmName) : 0;
|
|
1934
|
+
if (inPtr0 !== 0 && input2)
|
|
1935
|
+
dispatcher.writeBytes(inPtr0, input2);
|
|
1936
|
+
const outPtr = arena.alloc(STREAM_DRAIN_CHUNK, dispatcher.algorithmName);
|
|
1937
|
+
const outLenPtr = arena.alloc(4, dispatcher.algorithmName);
|
|
1938
|
+
let inPtr = inPtr0;
|
|
1939
|
+
let remainingIn = inLen;
|
|
1940
|
+
for (let i = 0; ; i++) {
|
|
1941
|
+
if (i >= DRAIN_MAX_ITERATIONS) {
|
|
1942
|
+
throw new CompressError(Status.StreamState, dispatcher.algorithmName, `drain exceeded ${DRAIN_MAX_ITERATIONS} iterations without completion`);
|
|
1943
|
+
}
|
|
1944
|
+
dispatcher.writeU32(outLenPtr, STREAM_DRAIN_CHUNK);
|
|
1945
|
+
const status = call(inPtr, remainingIn, outPtr, outLenPtr);
|
|
1946
|
+
const produced = dispatcher.readU32(outLenPtr);
|
|
1947
|
+
if (produced > 0) {
|
|
1948
|
+
chunks.push(dispatcher.readBytes(outPtr, produced));
|
|
1949
|
+
total += produced;
|
|
1950
|
+
}
|
|
1951
|
+
if (status === Status.Ok)
|
|
1952
|
+
break;
|
|
1953
|
+
if (status !== Status.BufTooSmall) {
|
|
1954
|
+
checkStatus(dispatcher.exports, status, dispatcher.algorithmName);
|
|
1955
|
+
}
|
|
1956
|
+
inPtr = 0;
|
|
1957
|
+
remainingIn = 0;
|
|
1958
|
+
}
|
|
1959
|
+
} finally {
|
|
1960
|
+
arena.freeAll();
|
|
1961
|
+
}
|
|
1962
|
+
if (chunks.length === 1)
|
|
1963
|
+
return chunks[0];
|
|
1964
|
+
const merged = new Uint8Array(total);
|
|
1965
|
+
let off = 0;
|
|
1966
|
+
for (const c of chunks) {
|
|
1967
|
+
merged.set(c, off);
|
|
1968
|
+
off += c.byteLength;
|
|
1969
|
+
}
|
|
1970
|
+
return merged;
|
|
1971
|
+
}
|
|
1972
|
+
function loadSharedModule(wasmUrl, resolveWasm2) {
|
|
1973
|
+
let modules = wasmModulePromises.get(resolveWasm2);
|
|
1974
|
+
if (!modules) {
|
|
1975
|
+
modules = /* @__PURE__ */ new Map();
|
|
1976
|
+
wasmModulePromises.set(resolveWasm2, modules);
|
|
1977
|
+
}
|
|
1978
|
+
const cached2 = modules.get(wasmUrl.href);
|
|
1979
|
+
if (cached2)
|
|
1980
|
+
return cached2;
|
|
1981
|
+
const currentModules = modules;
|
|
1982
|
+
const pending = (async () => loadModule(await resolveWasm2(wasmUrl)))().catch((error62) => {
|
|
1983
|
+
currentModules.delete(wasmUrl.href);
|
|
1984
|
+
throw error62;
|
|
1985
|
+
});
|
|
1986
|
+
modules.set(wasmUrl.href, pending);
|
|
1987
|
+
return pending;
|
|
1988
|
+
}
|
|
1989
|
+
function createBindings(algorithm, name, wasmUrl, resolveWasm2) {
|
|
1990
|
+
let dispatcherPromise = null;
|
|
1991
|
+
let dispatcher = null;
|
|
1992
|
+
const getDispatcher = () => {
|
|
1993
|
+
if (!dispatcherPromise) {
|
|
1994
|
+
dispatcherPromise = (async () => {
|
|
1995
|
+
const exports = await loadSharedModule(wasmUrl, resolveWasm2);
|
|
1996
|
+
dispatcher = new Dispatcher(exports, algorithm, name);
|
|
1997
|
+
return dispatcher;
|
|
1998
|
+
})().catch((error62) => {
|
|
1999
|
+
dispatcherPromise = null;
|
|
2000
|
+
throw error62;
|
|
2001
|
+
});
|
|
2002
|
+
}
|
|
2003
|
+
return dispatcherPromise;
|
|
2004
|
+
};
|
|
2005
|
+
const getInitializedDispatcher = () => {
|
|
2006
|
+
if (!dispatcher) {
|
|
2007
|
+
throw new Error(`${name}: call and await preload() before using synchronous methods`);
|
|
2008
|
+
}
|
|
2009
|
+
return dispatcher;
|
|
2010
|
+
};
|
|
2011
|
+
return {
|
|
2012
|
+
async preload() {
|
|
2013
|
+
await getDispatcher();
|
|
2014
|
+
},
|
|
2015
|
+
compressSync(input2, opts) {
|
|
2016
|
+
return getInitializedDispatcher().compress(input2, opts);
|
|
2017
|
+
},
|
|
2018
|
+
decompressSync(input2, opts) {
|
|
2019
|
+
return getInitializedDispatcher().decompress(input2, opts);
|
|
2020
|
+
},
|
|
2021
|
+
createCompressStreamSync(opts) {
|
|
2022
|
+
return getInitializedDispatcher().createCompressStream(opts);
|
|
2023
|
+
},
|
|
2024
|
+
createDecompressStreamSync() {
|
|
2025
|
+
return getInitializedDispatcher().createDecompressStream();
|
|
2026
|
+
},
|
|
2027
|
+
async compress(input2, opts) {
|
|
2028
|
+
return (await getDispatcher()).compress(input2, opts);
|
|
2029
|
+
},
|
|
2030
|
+
async decompress(input2, opts) {
|
|
2031
|
+
return (await getDispatcher()).decompress(input2, opts);
|
|
2032
|
+
},
|
|
2033
|
+
async createCompressStream(opts) {
|
|
2034
|
+
return (await getDispatcher()).createCompressStream(opts);
|
|
2035
|
+
},
|
|
2036
|
+
async createDecompressStream() {
|
|
2037
|
+
return (await getDispatcher()).createDecompressStream();
|
|
2038
|
+
},
|
|
2039
|
+
compressionStream(opts) {
|
|
2040
|
+
let stream;
|
|
2041
|
+
return new TransformStream({
|
|
2042
|
+
async start() {
|
|
2043
|
+
stream = (await getDispatcher()).createCompressStream(opts);
|
|
2044
|
+
},
|
|
2045
|
+
transform(chunk, controller) {
|
|
2046
|
+
let out = stream.write(chunk);
|
|
2047
|
+
if (opts?.flushEachChunk) {
|
|
2048
|
+
const flushed = stream.flush();
|
|
2049
|
+
const joined = new Uint8Array(out.byteLength + flushed.byteLength);
|
|
2050
|
+
joined.set(out, 0);
|
|
2051
|
+
joined.set(flushed, out.byteLength);
|
|
2052
|
+
out = joined;
|
|
2053
|
+
}
|
|
2054
|
+
if (out.byteLength > 0)
|
|
2055
|
+
controller.enqueue(out);
|
|
2056
|
+
},
|
|
2057
|
+
flush(controller) {
|
|
2058
|
+
try {
|
|
2059
|
+
const tail = stream.finish();
|
|
2060
|
+
if (tail.byteLength > 0)
|
|
2061
|
+
controller.enqueue(tail);
|
|
2062
|
+
} finally {
|
|
2063
|
+
stream.destroy();
|
|
1996
2064
|
}
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
if (noSt) err(0);
|
|
2019
|
-
break;
|
|
2020
|
-
}
|
|
2021
|
-
if (noBuf) cbuf(bt + 131072);
|
|
2022
|
-
const end = bt + add;
|
|
2023
|
-
for (; bt < end; bt += 4) {
|
|
2024
|
-
buf[bt] = buf[bt - dt];
|
|
2025
|
-
buf[bt + 1] = buf[bt + 1 - dt];
|
|
2026
|
-
buf[bt + 2] = buf[bt + 2 - dt];
|
|
2027
|
-
buf[bt + 3] = buf[bt + 3 - dt];
|
|
2028
|
-
}
|
|
2029
|
-
bt = end;
|
|
2065
|
+
}
|
|
2066
|
+
});
|
|
2067
|
+
},
|
|
2068
|
+
decompressionStream() {
|
|
2069
|
+
let stream;
|
|
2070
|
+
return new TransformStream({
|
|
2071
|
+
async start() {
|
|
2072
|
+
stream = (await getDispatcher()).createDecompressStream();
|
|
2073
|
+
},
|
|
2074
|
+
transform(chunk, controller) {
|
|
2075
|
+
const out = stream.write(chunk);
|
|
2076
|
+
if (out.byteLength > 0)
|
|
2077
|
+
controller.enqueue(out);
|
|
2078
|
+
},
|
|
2079
|
+
flush(controller) {
|
|
2080
|
+
try {
|
|
2081
|
+
const tail = stream.finish();
|
|
2082
|
+
if (tail.byteLength > 0)
|
|
2083
|
+
controller.enqueue(tail);
|
|
2084
|
+
} finally {
|
|
2085
|
+
stream.destroy();
|
|
2030
2086
|
}
|
|
2031
2087
|
}
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
return
|
|
2036
|
-
}
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
const bts = this.s.b;
|
|
2085
|
-
const dt = inflt(this.p, this.o, this.s);
|
|
2086
|
-
this.ondata(slc(dt, bts, this.s.b), this.d);
|
|
2087
|
-
this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length;
|
|
2088
|
-
this.p = slc(this.p, this.s.p / 8 | 0), this.s.p &= 7;
|
|
2088
|
+
});
|
|
2089
|
+
},
|
|
2090
|
+
async version() {
|
|
2091
|
+
return (await getDispatcher()).version();
|
|
2092
|
+
},
|
|
2093
|
+
async setMaxDecompressedSize(bytes) {
|
|
2094
|
+
(await getDispatcher()).setMaxDecompressedSize(bytes);
|
|
2095
|
+
}
|
|
2096
|
+
};
|
|
2097
|
+
}
|
|
2098
|
+
var DEFAULT_LEVEL, STREAM_DRAIN_CHUNK, DRAIN_MAX_ITERATIONS, Arena, Dispatcher, streamFinalizer, StreamBase, CompressStream, DecompressStream, wasmModulePromises;
|
|
2099
|
+
var init_dispatch = __esm({
|
|
2100
|
+
"../../node_modules/compress-utils/dist/core/dispatch.js"() {
|
|
2101
|
+
init_loader();
|
|
2102
|
+
init_types();
|
|
2103
|
+
DEFAULT_LEVEL = 5;
|
|
2104
|
+
STREAM_DRAIN_CHUNK = 64 * 1024;
|
|
2105
|
+
DRAIN_MAX_ITERATIONS = 1 << 16;
|
|
2106
|
+
Arena = class {
|
|
2107
|
+
exports;
|
|
2108
|
+
ptrs = [];
|
|
2109
|
+
constructor(exports) {
|
|
2110
|
+
this.exports = exports;
|
|
2111
|
+
}
|
|
2112
|
+
alloc(bytes, algoName) {
|
|
2113
|
+
if (bytes === 0)
|
|
2114
|
+
bytes = 1;
|
|
2115
|
+
const ptr = this.exports.cu_alloc(bytes);
|
|
2116
|
+
if (ptr === 0) {
|
|
2117
|
+
throw new CompressError(Status.Oom, algoName, `cu_alloc(${bytes}) returned NULL`);
|
|
2118
|
+
}
|
|
2119
|
+
this.ptrs.push(ptr);
|
|
2120
|
+
return ptr;
|
|
2121
|
+
}
|
|
2122
|
+
freeAll() {
|
|
2123
|
+
for (const p of this.ptrs)
|
|
2124
|
+
this.exports.cu_free(p);
|
|
2125
|
+
this.ptrs.length = 0;
|
|
2126
|
+
}
|
|
2127
|
+
};
|
|
2128
|
+
Dispatcher = class {
|
|
2129
|
+
algorithm;
|
|
2130
|
+
algorithmName;
|
|
2131
|
+
/** @internal */
|
|
2132
|
+
exports;
|
|
2133
|
+
constructor(exports, algorithm, algorithmName) {
|
|
2134
|
+
this.exports = exports;
|
|
2135
|
+
this.algorithm = algorithm;
|
|
2136
|
+
this.algorithmName = algorithmName;
|
|
2137
|
+
if (exports.cu_algorithm_available(algorithm) === 0) {
|
|
2138
|
+
throw new CompressError(Status.UnsupportedAlgo, algorithmName, `algorithm "${algorithmName}" not compiled into this .wasm module`);
|
|
2139
|
+
}
|
|
2089
2140
|
}
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
|
|
2141
|
+
version() {
|
|
2142
|
+
return decodeCString(this.exports.memory, this.exports.cu_version());
|
|
2143
|
+
}
|
|
2144
|
+
setMaxDecompressedSize(bytes) {
|
|
2145
|
+
this.exports.cu_set_max_decompressed_size?.(bytes);
|
|
2146
|
+
}
|
|
2147
|
+
/* ---------- one-shot ---------- */
|
|
2148
|
+
compress(input2, opts = {}) {
|
|
2149
|
+
const level = opts.level ?? DEFAULT_LEVEL;
|
|
2150
|
+
const inLen = input2.byteLength;
|
|
2151
|
+
const bound = this.exports.cu_compress_bound(inLen, this.algorithm);
|
|
2152
|
+
const arena = new Arena(this.exports);
|
|
2153
|
+
try {
|
|
2154
|
+
const inPtr = arena.alloc(inLen, this.algorithmName);
|
|
2155
|
+
const outPtr = arena.alloc(bound, this.algorithmName);
|
|
2156
|
+
const outLenPtr = arena.alloc(4, this.algorithmName);
|
|
2157
|
+
this.writeBytes(inPtr, input2);
|
|
2158
|
+
this.writeU32(outLenPtr, bound);
|
|
2159
|
+
const status = this.exports.cu_compress(this.algorithm, inPtr, inLen, outPtr, outLenPtr, level);
|
|
2160
|
+
checkStatus(this.exports, status, this.algorithmName);
|
|
2161
|
+
return this.readBytes(outPtr, this.readU32(outLenPtr));
|
|
2162
|
+
} finally {
|
|
2163
|
+
arena.freeAll();
|
|
2164
|
+
}
|
|
2165
|
+
}
|
|
2166
|
+
decompress(input2, opts = {}) {
|
|
2167
|
+
const inLen = input2.byteLength;
|
|
2168
|
+
const arena = new Arena(this.exports);
|
|
2169
|
+
try {
|
|
2170
|
+
const inPtr = arena.alloc(inLen, this.algorithmName);
|
|
2171
|
+
this.writeBytes(inPtr, input2);
|
|
2172
|
+
const outSize = opts.expectedSize ?? this.tryProbeSize(arena, inPtr, inLen);
|
|
2173
|
+
if (outSize === void 0) {
|
|
2174
|
+
return this.decompressStreaming(input2);
|
|
2175
|
+
}
|
|
2176
|
+
const outPtr = arena.alloc(outSize, this.algorithmName);
|
|
2177
|
+
const outLenPtr = arena.alloc(4, this.algorithmName);
|
|
2178
|
+
this.writeU32(outLenPtr, outSize);
|
|
2179
|
+
const status = this.exports.cu_decompress(this.algorithm, inPtr, inLen, outPtr, outLenPtr);
|
|
2180
|
+
checkStatus(this.exports, status, this.algorithmName);
|
|
2181
|
+
return this.readBytes(outPtr, this.readU32(outLenPtr));
|
|
2182
|
+
} finally {
|
|
2183
|
+
arena.freeAll();
|
|
2184
|
+
}
|
|
2185
|
+
}
|
|
2186
|
+
decompressStreaming(input2) {
|
|
2187
|
+
const stream = this.createDecompressStream();
|
|
2188
|
+
try {
|
|
2189
|
+
const body = stream.write(input2);
|
|
2190
|
+
const tail = stream.finish();
|
|
2191
|
+
if (tail.byteLength === 0)
|
|
2192
|
+
return body;
|
|
2193
|
+
const out = new Uint8Array(body.byteLength + tail.byteLength);
|
|
2194
|
+
out.set(body, 0);
|
|
2195
|
+
out.set(tail, body.byteLength);
|
|
2196
|
+
return out;
|
|
2197
|
+
} finally {
|
|
2198
|
+
stream.destroy();
|
|
2199
|
+
}
|
|
2200
|
+
}
|
|
2201
|
+
tryProbeSize(arena, inPtr, inLen) {
|
|
2202
|
+
const sizePtr = arena.alloc(4, this.algorithmName);
|
|
2203
|
+
this.writeU32(sizePtr, 0);
|
|
2204
|
+
const status = this.exports.cu_decompress_size_hint(this.algorithm, inPtr, inLen, sizePtr);
|
|
2205
|
+
if (status === Status.Ok)
|
|
2206
|
+
return this.readU32(sizePtr);
|
|
2207
|
+
if (status === Status.SizeUnknown)
|
|
2208
|
+
return void 0;
|
|
2209
|
+
checkStatus(this.exports, status, this.algorithmName);
|
|
2210
|
+
return void 0;
|
|
2211
|
+
}
|
|
2212
|
+
/* ---------- streaming ---------- */
|
|
2213
|
+
createCompressStream(opts = {}) {
|
|
2214
|
+
const level = opts.level ?? DEFAULT_LEVEL;
|
|
2215
|
+
const arena = new Arena(this.exports);
|
|
2216
|
+
try {
|
|
2217
|
+
const streamPP = arena.alloc(4, this.algorithmName);
|
|
2218
|
+
this.writeU32(streamPP, 0);
|
|
2219
|
+
const status = this.exports.cu_compress_stream_create(this.algorithm, level, streamPP);
|
|
2220
|
+
checkStatus(this.exports, status, this.algorithmName);
|
|
2221
|
+
return new CompressStream(this, this.readU32(streamPP));
|
|
2222
|
+
} finally {
|
|
2223
|
+
arena.freeAll();
|
|
2224
|
+
}
|
|
2225
|
+
}
|
|
2226
|
+
createDecompressStream() {
|
|
2227
|
+
const arena = new Arena(this.exports);
|
|
2228
|
+
try {
|
|
2229
|
+
const streamPP = arena.alloc(4, this.algorithmName);
|
|
2230
|
+
this.writeU32(streamPP, 0);
|
|
2231
|
+
const status = this.exports.cu_decompress_stream_create(this.algorithm, streamPP);
|
|
2232
|
+
checkStatus(this.exports, status, this.algorithmName);
|
|
2233
|
+
return new DecompressStream(this, this.readU32(streamPP));
|
|
2234
|
+
} finally {
|
|
2235
|
+
arena.freeAll();
|
|
2236
|
+
}
|
|
2237
|
+
}
|
|
2238
|
+
/* ---------- internal helpers (used by stream classes) ---------- */
|
|
2239
|
+
/** @internal */
|
|
2240
|
+
writeBytes(ptr, src) {
|
|
2241
|
+
new Uint8Array(this.exports.memory.buffer, ptr, src.byteLength).set(src);
|
|
2242
|
+
}
|
|
2243
|
+
/** @internal */
|
|
2244
|
+
readBytes(ptr, len) {
|
|
2245
|
+
return new Uint8Array(new Uint8Array(this.exports.memory.buffer, ptr, len));
|
|
2246
|
+
}
|
|
2247
|
+
/** @internal */
|
|
2248
|
+
writeU32(ptr, value) {
|
|
2249
|
+
new DataView(this.exports.memory.buffer).setUint32(ptr, value, true);
|
|
2250
|
+
}
|
|
2251
|
+
/** @internal */
|
|
2252
|
+
readU32(ptr) {
|
|
2253
|
+
return new DataView(this.exports.memory.buffer).getUint32(ptr, true);
|
|
2254
|
+
}
|
|
2255
|
+
/** @internal */
|
|
2256
|
+
newArena() {
|
|
2257
|
+
return new Arena(this.exports);
|
|
2097
2258
|
}
|
|
2098
2259
|
};
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
|
|
2260
|
+
streamFinalizer = new FinalizationRegistry((c) => {
|
|
2261
|
+
if (c.handle !== 0)
|
|
2262
|
+
c.destroy(c.handle);
|
|
2263
|
+
});
|
|
2264
|
+
StreamBase = class {
|
|
2265
|
+
dispatcher;
|
|
2266
|
+
handle;
|
|
2267
|
+
finished = false;
|
|
2268
|
+
cleanup;
|
|
2269
|
+
constructor(dispatcher, handle, destroyFn) {
|
|
2270
|
+
this.dispatcher = dispatcher;
|
|
2271
|
+
this.handle = handle;
|
|
2272
|
+
this.cleanup = { destroy: destroyFn, handle };
|
|
2273
|
+
streamFinalizer.register(this, this.cleanup, this);
|
|
2108
2274
|
}
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
* @param final Whether this is the last chunk
|
|
2113
|
-
*/
|
|
2114
|
-
push(chunk, final) {
|
|
2115
|
-
Inflate.prototype.e.call(this, chunk);
|
|
2116
|
-
if (this.v) {
|
|
2117
|
-
const s = this.p.length > 3 ? gzs(this.p) : 4;
|
|
2118
|
-
if (s >= this.p.length && !final) return;
|
|
2119
|
-
this.p = this.p.subarray(s), this.v = 0;
|
|
2275
|
+
ensureLive() {
|
|
2276
|
+
if (this.handle === 0) {
|
|
2277
|
+
throw new CompressError(Status.StreamState, this.dispatcher.algorithmName, "stream has been destroyed");
|
|
2120
2278
|
}
|
|
2121
|
-
|
|
2122
|
-
|
|
2123
|
-
|
|
2279
|
+
}
|
|
2280
|
+
destroy() {
|
|
2281
|
+
if (this.handle !== 0) {
|
|
2282
|
+
this.cleanup.destroy(this.handle);
|
|
2283
|
+
this.handle = 0;
|
|
2284
|
+
this.cleanup.handle = 0;
|
|
2285
|
+
streamFinalizer.unregister(this);
|
|
2124
2286
|
}
|
|
2125
|
-
|
|
2287
|
+
}
|
|
2288
|
+
/** Symbol.dispose — enables `using stream = await create*()`. */
|
|
2289
|
+
[Symbol.dispose]() {
|
|
2290
|
+
this.destroy();
|
|
2126
2291
|
}
|
|
2127
2292
|
};
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2293
|
+
CompressStream = class extends StreamBase {
|
|
2294
|
+
constructor(dispatcher, handle) {
|
|
2295
|
+
super(dispatcher, handle, (h) => dispatcher.exports.cu_compress_stream_destroy(h));
|
|
2296
|
+
}
|
|
2297
|
+
write(chunk) {
|
|
2298
|
+
this.ensureLive();
|
|
2299
|
+
if (this.finished) {
|
|
2300
|
+
throw new CompressError(Status.StreamFinished, this.dispatcher.algorithmName, "write after finish");
|
|
2301
|
+
}
|
|
2302
|
+
return drain(this.dispatcher, chunk, (inPtr, inLen, outPtr, outLenPtr) => this.dispatcher.exports.cu_compress_stream_write(this.handle, inPtr, inLen, outPtr, outLenPtr));
|
|
2137
2303
|
}
|
|
2138
2304
|
/**
|
|
2139
|
-
*
|
|
2140
|
-
*
|
|
2141
|
-
*
|
|
2305
|
+
* Nonterminal flush: returns the bytes a decoder needs to recover
|
|
2306
|
+
* everything written so far, and keeps the stream open for more writes.
|
|
2307
|
+
* Each flush costs a few bytes. Throws CompressError for snappy and bz2,
|
|
2308
|
+
* which can't flush mid-stream.
|
|
2142
2309
|
*/
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
if (this.
|
|
2146
|
-
|
|
2147
|
-
this.p = this.p.subarray(2), this.v = 0;
|
|
2148
|
-
}
|
|
2149
|
-
if (final) {
|
|
2150
|
-
if (this.p.length < 4) err(6, "invalid zlib data");
|
|
2151
|
-
this.p = this.p.subarray(0, -4);
|
|
2310
|
+
flush() {
|
|
2311
|
+
this.ensureLive();
|
|
2312
|
+
if (this.finished) {
|
|
2313
|
+
throw new CompressError(Status.StreamFinished, this.dispatcher.algorithmName, "flush after finish");
|
|
2152
2314
|
}
|
|
2153
|
-
|
|
2315
|
+
return drain(this.dispatcher, null, (_in, _len, outPtr, outLenPtr) => this.dispatcher.exports.cu_compress_stream_flush(this.handle, outPtr, outLenPtr));
|
|
2316
|
+
}
|
|
2317
|
+
finish() {
|
|
2318
|
+
this.ensureLive();
|
|
2319
|
+
this.finished = true;
|
|
2320
|
+
return drain(this.dispatcher, null, (_in, _len, outPtr, outLenPtr) => this.dispatcher.exports.cu_compress_stream_finish(this.handle, outPtr, outLenPtr));
|
|
2154
2321
|
}
|
|
2155
2322
|
};
|
|
2323
|
+
DecompressStream = class extends StreamBase {
|
|
2324
|
+
constructor(dispatcher, handle) {
|
|
2325
|
+
super(dispatcher, handle, (h) => dispatcher.exports.cu_decompress_stream_destroy(h));
|
|
2326
|
+
}
|
|
2327
|
+
write(chunk) {
|
|
2328
|
+
this.ensureLive();
|
|
2329
|
+
return drain(this.dispatcher, chunk, (inPtr, inLen, outPtr, outLenPtr) => this.dispatcher.exports.cu_decompress_stream_write(this.handle, inPtr, inLen, outPtr, outLenPtr));
|
|
2330
|
+
}
|
|
2331
|
+
finish() {
|
|
2332
|
+
this.ensureLive();
|
|
2333
|
+
this.finished = true;
|
|
2334
|
+
return drain(this.dispatcher, null, (_in, _len, outPtr, outLenPtr) => this.dispatcher.exports.cu_decompress_stream_finish(this.handle, outPtr, outLenPtr));
|
|
2335
|
+
}
|
|
2336
|
+
};
|
|
2337
|
+
wasmModulePromises = /* @__PURE__ */ new WeakMap();
|
|
2156
2338
|
}
|
|
2157
2339
|
});
|
|
2158
2340
|
|
|
2159
|
-
//
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
processor.ondata = (data) => {
|
|
2163
|
-
chunks.push(data.slice().buffer);
|
|
2164
|
-
};
|
|
2165
|
-
for await (const batch of inputBatches) {
|
|
2166
|
-
processor.push(new Uint8Array(batch), false);
|
|
2167
|
-
yield* chunks.splice(0);
|
|
2168
|
-
}
|
|
2169
|
-
processor.push(new Uint8Array(0), true);
|
|
2170
|
-
yield* chunks;
|
|
2341
|
+
// ../../node_modules/compress-utils/dist/core/algorithm.js
|
|
2342
|
+
function defineAlgorithm(algorithm, name, wasmUrl) {
|
|
2343
|
+
return createBindings(algorithm, name, wasmUrl, resolveWasm);
|
|
2171
2344
|
}
|
|
2172
|
-
var
|
|
2173
|
-
"
|
|
2174
|
-
|
|
2345
|
+
var init_algorithm = __esm({
|
|
2346
|
+
"../../node_modules/compress-utils/dist/core/algorithm.js"() {
|
|
2347
|
+
init_resolver();
|
|
2348
|
+
init_dispatch();
|
|
2349
|
+
}
|
|
2350
|
+
});
|
|
2351
|
+
|
|
2352
|
+
// ../../node_modules/compress-utils/dist/algorithms/gzip/decompress/index.js
|
|
2353
|
+
var decompress_exports = {};
|
|
2354
|
+
__export(decompress_exports, {
|
|
2355
|
+
CompressError: () => CompressError,
|
|
2356
|
+
createDecompressStream: () => createDecompressStream,
|
|
2357
|
+
createDecompressStreamSync: () => createDecompressStreamSync,
|
|
2358
|
+
decompress: () => decompress,
|
|
2359
|
+
decompressSync: () => decompressSync,
|
|
2360
|
+
decompressionStream: () => decompressionStream,
|
|
2361
|
+
preload: () => preload,
|
|
2362
|
+
setMaxDecompressedSize: () => setMaxDecompressedSize,
|
|
2363
|
+
version: () => version2
|
|
2364
|
+
});
|
|
2365
|
+
var bindings, decompress, decompressSync, createDecompressStream, createDecompressStreamSync, decompressionStream, preload, version2, setMaxDecompressedSize;
|
|
2366
|
+
var init_decompress = __esm({
|
|
2367
|
+
"../../node_modules/compress-utils/dist/algorithms/gzip/decompress/index.js"() {
|
|
2368
|
+
init_gzip();
|
|
2369
|
+
init_algorithm();
|
|
2370
|
+
init_types();
|
|
2371
|
+
init_types();
|
|
2372
|
+
bindings = /* @__PURE__ */ defineAlgorithm(Algorithm.Gzip, "gzip", new URL(gzip_default));
|
|
2373
|
+
decompress = bindings.decompress;
|
|
2374
|
+
decompressSync = bindings.decompressSync;
|
|
2375
|
+
createDecompressStream = bindings.createDecompressStream;
|
|
2376
|
+
createDecompressStreamSync = bindings.createDecompressStreamSync;
|
|
2377
|
+
decompressionStream = bindings.decompressionStream;
|
|
2378
|
+
preload = bindings.preload;
|
|
2379
|
+
version2 = bindings.version;
|
|
2380
|
+
setMaxDecompressedSize = bindings.setMaxDecompressedSize;
|
|
2175
2381
|
}
|
|
2176
2382
|
});
|
|
2177
2383
|
|
|
2178
|
-
// ../compression/src/gzip-decompressor-
|
|
2179
|
-
var
|
|
2180
|
-
var
|
|
2181
|
-
"../compression/src/gzip-decompressor-
|
|
2384
|
+
// ../compression/src/gzip-decompressor-compress-utils.ts
|
|
2385
|
+
var GZipCompressUtilsDecompressor;
|
|
2386
|
+
var init_gzip_decompressor_compress_utils = __esm({
|
|
2387
|
+
"../compression/src/gzip-decompressor-compress-utils.ts"() {
|
|
2182
2388
|
"use strict";
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
init_fflate_stream();
|
|
2186
|
-
GZipFflateDecompressor = class extends Decompressor {
|
|
2187
|
-
name = "gzip";
|
|
2188
|
-
extensions = ["gz", "gzip"];
|
|
2189
|
-
contentEncodings = ["gzip", "x-gzip"];
|
|
2190
|
-
isSupported = true;
|
|
2389
|
+
init_compress_utils_compression();
|
|
2390
|
+
GZipCompressUtilsDecompressor = class extends CompressUtilsDecompressor {
|
|
2191
2391
|
constructor(options = {}) {
|
|
2192
|
-
super(
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
}
|
|
2198
|
-
/** Decompresses GZIP batches incrementally. */
|
|
2199
|
-
async *decompressBatches(inputBatches) {
|
|
2200
|
-
yield* transformFflateBatches(new Gunzip(), inputBatches);
|
|
2392
|
+
super(
|
|
2393
|
+
{ name: "gzip", extensions: ["gz", "gzip"], contentEncodings: ["gzip", "x-gzip"] },
|
|
2394
|
+
() => Promise.resolve().then(() => (init_decompress(), decompress_exports)),
|
|
2395
|
+
options
|
|
2396
|
+
);
|
|
2201
2397
|
}
|
|
2202
2398
|
};
|
|
2203
2399
|
}
|
|
@@ -2212,23 +2408,18 @@ var __exports__ = (() => {
|
|
|
2212
2408
|
var init_gzip_decompressor = __esm({
|
|
2213
2409
|
"../compression/src/gzip-decompressor.ts"() {
|
|
2214
2410
|
"use strict";
|
|
2215
|
-
|
|
2411
|
+
init_gzip_decompressor_compress_utils();
|
|
2216
2412
|
init_decompression_stream();
|
|
2217
|
-
GZipDecompressor = class extends
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
super(options);
|
|
2221
|
-
this.options = options;
|
|
2222
|
-
}
|
|
2223
|
-
/** Decompresses with the built-in stream when available, then falls back to fflate. */
|
|
2224
|
-
async decompress(input2) {
|
|
2413
|
+
GZipDecompressor = class extends GZipCompressUtilsDecompressor {
|
|
2414
|
+
/** Decompresses with native streams when available, otherwise lazily initializes WASM. */
|
|
2415
|
+
async decompress(input2, size) {
|
|
2225
2416
|
if (this.options.useNative !== false) {
|
|
2226
2417
|
const output2 = await decompressWithNativeDecompressionStream(input2, "gzip");
|
|
2227
2418
|
if (output2) return output2;
|
|
2228
2419
|
}
|
|
2229
|
-
return
|
|
2420
|
+
return super.decompress(input2, size);
|
|
2230
2421
|
}
|
|
2231
|
-
/**
|
|
2422
|
+
/** Streams native batches when available, otherwise uses the WASM stream. */
|
|
2232
2423
|
async *decompressBatches(inputBatches) {
|
|
2233
2424
|
if (this.options.useNative !== false) {
|
|
2234
2425
|
const output2 = decompressBatchesWithNativeDecompressionStream(inputBatches, "gzip");
|
|
@@ -2243,749 +2434,59 @@ var __exports__ = (() => {
|
|
|
2243
2434
|
}
|
|
2244
2435
|
});
|
|
2245
2436
|
|
|
2246
|
-
//
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
for (; dat.length; ) {
|
|
2251
|
-
var st = rzfh(dat, nb || buf);
|
|
2252
|
-
if (typeof st == "object") {
|
|
2253
|
-
if (nb) {
|
|
2254
|
-
buf = null;
|
|
2255
|
-
if (st.w.length == st.u) {
|
|
2256
|
-
bufs.push(buf = st.w);
|
|
2257
|
-
ol += st.u;
|
|
2258
|
-
}
|
|
2259
|
-
} else {
|
|
2260
|
-
bufs.push(buf);
|
|
2261
|
-
st.e = 0;
|
|
2262
|
-
}
|
|
2263
|
-
for (; !st.l; ) {
|
|
2264
|
-
var blk = rzb(dat, st, buf);
|
|
2265
|
-
if (!blk)
|
|
2266
|
-
err2(5);
|
|
2267
|
-
if (buf)
|
|
2268
|
-
st.e = st.y;
|
|
2269
|
-
else {
|
|
2270
|
-
bufs.push(blk);
|
|
2271
|
-
ol += blk.length;
|
|
2272
|
-
cpw(st.w, 0, blk.length);
|
|
2273
|
-
st.w.set(blk, st.w.length - blk.length);
|
|
2274
|
-
}
|
|
2275
|
-
}
|
|
2276
|
-
bt = st.b + st.c * 4;
|
|
2277
|
-
} else
|
|
2278
|
-
bt = st;
|
|
2279
|
-
dat = dat.subarray(bt);
|
|
2280
|
-
}
|
|
2281
|
-
return cct(bufs, ol);
|
|
2282
|
-
}
|
|
2283
|
-
var ab, u82, u162, i16, i32, slc2, fill, cpw, ec2, err2, rb, b4, rzfh, msb, rfse, rhu, dllt, dmlt, doct, b2bl, llb, llbl, mlb, mlbl, dhu, dhu4, rzb, cct;
|
|
2284
|
-
var init_esm = __esm({
|
|
2285
|
-
"../../node_modules/fzstd/esm/index.mjs"() {
|
|
2286
|
-
ab = ArrayBuffer;
|
|
2287
|
-
u82 = Uint8Array;
|
|
2288
|
-
u162 = Uint16Array;
|
|
2289
|
-
i16 = Int16Array;
|
|
2290
|
-
i32 = Int32Array;
|
|
2291
|
-
slc2 = function(v, s, e) {
|
|
2292
|
-
if (u82.prototype.slice)
|
|
2293
|
-
return u82.prototype.slice.call(v, s, e);
|
|
2294
|
-
if (s == null || s < 0)
|
|
2295
|
-
s = 0;
|
|
2296
|
-
if (e == null || e > v.length)
|
|
2297
|
-
e = v.length;
|
|
2298
|
-
var n = new u82(e - s);
|
|
2299
|
-
n.set(v.subarray(s, e));
|
|
2300
|
-
return n;
|
|
2301
|
-
};
|
|
2302
|
-
fill = function(v, n, s, e) {
|
|
2303
|
-
if (u82.prototype.fill)
|
|
2304
|
-
return u82.prototype.fill.call(v, n, s, e);
|
|
2305
|
-
if (s == null || s < 0)
|
|
2306
|
-
s = 0;
|
|
2307
|
-
if (e == null || e > v.length)
|
|
2308
|
-
e = v.length;
|
|
2309
|
-
for (; s < e; ++s)
|
|
2310
|
-
v[s] = n;
|
|
2311
|
-
return v;
|
|
2312
|
-
};
|
|
2313
|
-
cpw = function(v, t, s, e) {
|
|
2314
|
-
if (u82.prototype.copyWithin)
|
|
2315
|
-
return u82.prototype.copyWithin.call(v, t, s, e);
|
|
2316
|
-
if (s == null || s < 0)
|
|
2317
|
-
s = 0;
|
|
2318
|
-
if (e == null || e > v.length)
|
|
2319
|
-
e = v.length;
|
|
2320
|
-
while (s < e) {
|
|
2321
|
-
v[t++] = v[s++];
|
|
2322
|
-
}
|
|
2323
|
-
};
|
|
2324
|
-
ec2 = [
|
|
2325
|
-
"invalid zstd data",
|
|
2326
|
-
"window size too large (>2046MB)",
|
|
2327
|
-
"invalid block type",
|
|
2328
|
-
"FSE accuracy too high",
|
|
2329
|
-
"match distance too far back",
|
|
2330
|
-
"unexpected EOF"
|
|
2331
|
-
];
|
|
2332
|
-
err2 = function(ind, msg, nt) {
|
|
2333
|
-
var e = new Error(msg || ec2[ind]);
|
|
2334
|
-
e.code = ind;
|
|
2335
|
-
if (Error.captureStackTrace)
|
|
2336
|
-
Error.captureStackTrace(e, err2);
|
|
2337
|
-
if (!nt)
|
|
2338
|
-
throw e;
|
|
2339
|
-
return e;
|
|
2340
|
-
};
|
|
2341
|
-
rb = function(d, b, n) {
|
|
2342
|
-
var i = 0, o = 0;
|
|
2343
|
-
for (; i < n; ++i)
|
|
2344
|
-
o |= d[b++] << (i << 3);
|
|
2345
|
-
return o;
|
|
2346
|
-
};
|
|
2347
|
-
b4 = function(d, b) {
|
|
2348
|
-
return (d[b] | d[b + 1] << 8 | d[b + 2] << 16 | d[b + 3] << 24) >>> 0;
|
|
2349
|
-
};
|
|
2350
|
-
rzfh = function(dat, w) {
|
|
2351
|
-
var n3 = dat[0] | dat[1] << 8 | dat[2] << 16;
|
|
2352
|
-
if (n3 == 3126568 && dat[3] == 253) {
|
|
2353
|
-
var flg = dat[4];
|
|
2354
|
-
var ss = flg >> 5 & 1, cc = flg >> 2 & 1, df = flg & 3, fcf = flg >> 6;
|
|
2355
|
-
if (flg & 8)
|
|
2356
|
-
err2(0);
|
|
2357
|
-
var bt = 6 - ss;
|
|
2358
|
-
var db = df == 3 ? 4 : df;
|
|
2359
|
-
var di = rb(dat, bt, db);
|
|
2360
|
-
bt += db;
|
|
2361
|
-
var fsb = fcf ? 1 << fcf : ss;
|
|
2362
|
-
var fss = rb(dat, bt, fsb) + (fcf == 1 && 256);
|
|
2363
|
-
var ws = fss;
|
|
2364
|
-
if (!ss) {
|
|
2365
|
-
var wb = 1 << 10 + (dat[5] >> 3);
|
|
2366
|
-
ws = wb + (wb >> 3) * (dat[5] & 7);
|
|
2367
|
-
}
|
|
2368
|
-
if (ws > 2145386496)
|
|
2369
|
-
err2(1);
|
|
2370
|
-
var buf = new u82((w == 1 ? fss || ws : w ? 0 : ws) + 12);
|
|
2371
|
-
buf[0] = 1, buf[4] = 4, buf[8] = 8;
|
|
2372
|
-
return {
|
|
2373
|
-
b: bt + fsb,
|
|
2374
|
-
y: 0,
|
|
2375
|
-
l: 0,
|
|
2376
|
-
d: di,
|
|
2377
|
-
w: w && w != 1 ? w : buf.subarray(12),
|
|
2378
|
-
e: ws,
|
|
2379
|
-
o: new i32(buf.buffer, 0, 3),
|
|
2380
|
-
u: fss,
|
|
2381
|
-
c: cc,
|
|
2382
|
-
m: Math.min(131072, ws)
|
|
2383
|
-
};
|
|
2384
|
-
} else if ((n3 >> 4 | dat[3] << 20) == 25481893) {
|
|
2385
|
-
return b4(dat, 4) + 8;
|
|
2386
|
-
}
|
|
2387
|
-
err2(0);
|
|
2388
|
-
};
|
|
2389
|
-
msb = function(val) {
|
|
2390
|
-
var bits2 = 0;
|
|
2391
|
-
for (; 1 << bits2 <= val; ++bits2)
|
|
2392
|
-
;
|
|
2393
|
-
return bits2 - 1;
|
|
2394
|
-
};
|
|
2395
|
-
rfse = function(dat, bt, mal) {
|
|
2396
|
-
var tpos = (bt << 3) + 4;
|
|
2397
|
-
var al = (dat[bt] & 15) + 5;
|
|
2398
|
-
if (al > mal)
|
|
2399
|
-
err2(3);
|
|
2400
|
-
var sz = 1 << al;
|
|
2401
|
-
var probs = sz, sym = -1, re = -1, i = -1, ht = sz;
|
|
2402
|
-
var buf = new ab(512 + (sz << 2));
|
|
2403
|
-
var freq = new i16(buf, 0, 256);
|
|
2404
|
-
var dstate = new u162(buf, 0, 256);
|
|
2405
|
-
var nstate = new u162(buf, 512, sz);
|
|
2406
|
-
var bb1 = 512 + (sz << 1);
|
|
2407
|
-
var syms = new u82(buf, bb1, sz);
|
|
2408
|
-
var nbits = new u82(buf, bb1 + sz);
|
|
2409
|
-
while (sym < 255 && probs > 0) {
|
|
2410
|
-
var bits2 = msb(probs + 1);
|
|
2411
|
-
var cbt = tpos >> 3;
|
|
2412
|
-
var msk = (1 << bits2 + 1) - 1;
|
|
2413
|
-
var val = (dat[cbt] | dat[cbt + 1] << 8 | dat[cbt + 2] << 16) >> (tpos & 7) & msk;
|
|
2414
|
-
var msk1fb = (1 << bits2) - 1;
|
|
2415
|
-
var msv = msk - probs - 1;
|
|
2416
|
-
var sval = val & msk1fb;
|
|
2417
|
-
if (sval < msv)
|
|
2418
|
-
tpos += bits2, val = sval;
|
|
2419
|
-
else {
|
|
2420
|
-
tpos += bits2 + 1;
|
|
2421
|
-
if (val > msk1fb)
|
|
2422
|
-
val -= msv;
|
|
2423
|
-
}
|
|
2424
|
-
freq[++sym] = --val;
|
|
2425
|
-
if (val == -1) {
|
|
2426
|
-
probs += val;
|
|
2427
|
-
syms[--ht] = sym;
|
|
2428
|
-
} else
|
|
2429
|
-
probs -= val;
|
|
2430
|
-
if (!val) {
|
|
2431
|
-
do {
|
|
2432
|
-
var rbt = tpos >> 3;
|
|
2433
|
-
re = (dat[rbt] | dat[rbt + 1] << 8) >> (tpos & 7) & 3;
|
|
2434
|
-
tpos += 2;
|
|
2435
|
-
sym += re;
|
|
2436
|
-
} while (re == 3);
|
|
2437
|
-
}
|
|
2438
|
-
}
|
|
2439
|
-
if (sym > 255 || probs)
|
|
2440
|
-
err2(0);
|
|
2441
|
-
var sympos = 0;
|
|
2442
|
-
var sstep = (sz >> 1) + (sz >> 3) + 3;
|
|
2443
|
-
var smask = sz - 1;
|
|
2444
|
-
for (var s = 0; s <= sym; ++s) {
|
|
2445
|
-
var sf = freq[s];
|
|
2446
|
-
if (sf < 1) {
|
|
2447
|
-
dstate[s] = -sf;
|
|
2448
|
-
continue;
|
|
2449
|
-
}
|
|
2450
|
-
for (i = 0; i < sf; ++i) {
|
|
2451
|
-
syms[sympos] = s;
|
|
2452
|
-
do {
|
|
2453
|
-
sympos = sympos + sstep & smask;
|
|
2454
|
-
} while (sympos >= ht);
|
|
2455
|
-
}
|
|
2456
|
-
}
|
|
2457
|
-
if (sympos)
|
|
2458
|
-
err2(0);
|
|
2459
|
-
for (i = 0; i < sz; ++i) {
|
|
2460
|
-
var ns = dstate[syms[i]]++;
|
|
2461
|
-
var nb = nbits[i] = al - msb(ns);
|
|
2462
|
-
nstate[i] = (ns << nb) - sz;
|
|
2463
|
-
}
|
|
2464
|
-
return [tpos + 7 >> 3, {
|
|
2465
|
-
b: al,
|
|
2466
|
-
s: syms,
|
|
2467
|
-
n: nbits,
|
|
2468
|
-
t: nstate
|
|
2469
|
-
}];
|
|
2470
|
-
};
|
|
2471
|
-
rhu = function(dat, bt) {
|
|
2472
|
-
var i = 0, wc = -1;
|
|
2473
|
-
var buf = new u82(292), hb = dat[bt];
|
|
2474
|
-
var hw = buf.subarray(0, 256);
|
|
2475
|
-
var rc = buf.subarray(256, 268);
|
|
2476
|
-
var ri = new u162(buf.buffer, 268);
|
|
2477
|
-
if (hb < 128) {
|
|
2478
|
-
var _a7 = rfse(dat, bt + 1, 6), ebt = _a7[0], fdt2 = _a7[1];
|
|
2479
|
-
bt += hb;
|
|
2480
|
-
var epos = ebt << 3;
|
|
2481
|
-
var lb = dat[bt];
|
|
2482
|
-
if (!lb)
|
|
2483
|
-
err2(0);
|
|
2484
|
-
var st1 = 0, st2 = 0, btr1 = fdt2.b, btr2 = btr1;
|
|
2485
|
-
var fpos = (++bt << 3) - 8 + msb(lb);
|
|
2486
|
-
for (; ; ) {
|
|
2487
|
-
fpos -= btr1;
|
|
2488
|
-
if (fpos < epos)
|
|
2489
|
-
break;
|
|
2490
|
-
var cbt = fpos >> 3;
|
|
2491
|
-
st1 += (dat[cbt] | dat[cbt + 1] << 8) >> (fpos & 7) & (1 << btr1) - 1;
|
|
2492
|
-
hw[++wc] = fdt2.s[st1];
|
|
2493
|
-
fpos -= btr2;
|
|
2494
|
-
if (fpos < epos)
|
|
2495
|
-
break;
|
|
2496
|
-
cbt = fpos >> 3;
|
|
2497
|
-
st2 += (dat[cbt] | dat[cbt + 1] << 8) >> (fpos & 7) & (1 << btr2) - 1;
|
|
2498
|
-
hw[++wc] = fdt2.s[st2];
|
|
2499
|
-
btr1 = fdt2.n[st1];
|
|
2500
|
-
st1 = fdt2.t[st1];
|
|
2501
|
-
btr2 = fdt2.n[st2];
|
|
2502
|
-
st2 = fdt2.t[st2];
|
|
2503
|
-
}
|
|
2504
|
-
if (++wc > 255)
|
|
2505
|
-
err2(0);
|
|
2506
|
-
} else {
|
|
2507
|
-
wc = hb - 127;
|
|
2508
|
-
for (; i < wc; i += 2) {
|
|
2509
|
-
var byte = dat[++bt];
|
|
2510
|
-
hw[i] = byte >> 4;
|
|
2511
|
-
hw[i + 1] = byte & 15;
|
|
2512
|
-
}
|
|
2513
|
-
++bt;
|
|
2514
|
-
}
|
|
2515
|
-
var wes = 0;
|
|
2516
|
-
for (i = 0; i < wc; ++i) {
|
|
2517
|
-
var wt = hw[i];
|
|
2518
|
-
if (wt > 11)
|
|
2519
|
-
err2(0);
|
|
2520
|
-
wes += wt && 1 << wt - 1;
|
|
2521
|
-
}
|
|
2522
|
-
var mb = msb(wes) + 1;
|
|
2523
|
-
var ts = 1 << mb;
|
|
2524
|
-
var rem = ts - wes;
|
|
2525
|
-
if (rem & rem - 1)
|
|
2526
|
-
err2(0);
|
|
2527
|
-
hw[wc++] = msb(rem) + 1;
|
|
2528
|
-
for (i = 0; i < wc; ++i) {
|
|
2529
|
-
var wt = hw[i];
|
|
2530
|
-
++rc[hw[i] = wt && mb + 1 - wt];
|
|
2531
|
-
}
|
|
2532
|
-
var hbuf = new u82(ts << 1);
|
|
2533
|
-
var syms = hbuf.subarray(0, ts), nb = hbuf.subarray(ts);
|
|
2534
|
-
ri[mb] = 0;
|
|
2535
|
-
for (i = mb; i > 0; --i) {
|
|
2536
|
-
var pv = ri[i];
|
|
2537
|
-
fill(nb, i, pv, ri[i - 1] = pv + rc[i] * (1 << mb - i));
|
|
2538
|
-
}
|
|
2539
|
-
if (ri[0] != ts)
|
|
2540
|
-
err2(0);
|
|
2541
|
-
for (i = 0; i < wc; ++i) {
|
|
2542
|
-
var bits2 = hw[i];
|
|
2543
|
-
if (bits2) {
|
|
2544
|
-
var code = ri[bits2];
|
|
2545
|
-
fill(syms, i, code, ri[bits2] = code + (1 << mb - bits2));
|
|
2546
|
-
}
|
|
2547
|
-
}
|
|
2548
|
-
return [bt, {
|
|
2549
|
-
n: nb,
|
|
2550
|
-
b: mb,
|
|
2551
|
-
s: syms
|
|
2552
|
-
}];
|
|
2553
|
-
};
|
|
2554
|
-
dllt = rfse(/* @__PURE__ */ new u82([
|
|
2555
|
-
81,
|
|
2556
|
-
16,
|
|
2557
|
-
99,
|
|
2558
|
-
140,
|
|
2559
|
-
49,
|
|
2560
|
-
198,
|
|
2561
|
-
24,
|
|
2562
|
-
99,
|
|
2563
|
-
12,
|
|
2564
|
-
33,
|
|
2565
|
-
196,
|
|
2566
|
-
24,
|
|
2567
|
-
99,
|
|
2568
|
-
102,
|
|
2569
|
-
102,
|
|
2570
|
-
134,
|
|
2571
|
-
70,
|
|
2572
|
-
146,
|
|
2573
|
-
4
|
|
2574
|
-
]), 0, 6)[1];
|
|
2575
|
-
dmlt = rfse(/* @__PURE__ */ new u82([
|
|
2576
|
-
33,
|
|
2577
|
-
20,
|
|
2578
|
-
196,
|
|
2579
|
-
24,
|
|
2580
|
-
99,
|
|
2581
|
-
140,
|
|
2582
|
-
33,
|
|
2583
|
-
132,
|
|
2584
|
-
16,
|
|
2585
|
-
66,
|
|
2586
|
-
8,
|
|
2587
|
-
33,
|
|
2588
|
-
132,
|
|
2589
|
-
16,
|
|
2590
|
-
66,
|
|
2591
|
-
8,
|
|
2592
|
-
33,
|
|
2593
|
-
68,
|
|
2594
|
-
68,
|
|
2595
|
-
68,
|
|
2596
|
-
68,
|
|
2597
|
-
68,
|
|
2598
|
-
68,
|
|
2599
|
-
68,
|
|
2600
|
-
68,
|
|
2601
|
-
36,
|
|
2602
|
-
9
|
|
2603
|
-
]), 0, 6)[1];
|
|
2604
|
-
doct = rfse(/* @__PURE__ */ new u82([
|
|
2605
|
-
32,
|
|
2606
|
-
132,
|
|
2607
|
-
16,
|
|
2608
|
-
66,
|
|
2609
|
-
102,
|
|
2610
|
-
70,
|
|
2611
|
-
68,
|
|
2612
|
-
68,
|
|
2613
|
-
68,
|
|
2614
|
-
68,
|
|
2615
|
-
36,
|
|
2616
|
-
73,
|
|
2617
|
-
2
|
|
2618
|
-
]), 0, 5)[1];
|
|
2619
|
-
b2bl = function(b, s) {
|
|
2620
|
-
var len = b.length, bl = new i32(len);
|
|
2621
|
-
for (var i = 0; i < len; ++i) {
|
|
2622
|
-
bl[i] = s;
|
|
2623
|
-
s += 1 << b[i];
|
|
2624
|
-
}
|
|
2625
|
-
return bl;
|
|
2626
|
-
};
|
|
2627
|
-
llb = /* @__PURE__ */ new u82((/* @__PURE__ */ new i32([
|
|
2628
|
-
0,
|
|
2629
|
-
0,
|
|
2630
|
-
0,
|
|
2631
|
-
0,
|
|
2632
|
-
16843009,
|
|
2633
|
-
50528770,
|
|
2634
|
-
134678020,
|
|
2635
|
-
202050057,
|
|
2636
|
-
269422093
|
|
2637
|
-
])).buffer, 0, 36);
|
|
2638
|
-
llbl = /* @__PURE__ */ b2bl(llb, 0);
|
|
2639
|
-
mlb = /* @__PURE__ */ new u82((/* @__PURE__ */ new i32([
|
|
2640
|
-
0,
|
|
2641
|
-
0,
|
|
2642
|
-
0,
|
|
2643
|
-
0,
|
|
2644
|
-
0,
|
|
2645
|
-
0,
|
|
2646
|
-
0,
|
|
2647
|
-
0,
|
|
2648
|
-
16843009,
|
|
2649
|
-
50528770,
|
|
2650
|
-
117769220,
|
|
2651
|
-
185207048,
|
|
2652
|
-
252579084,
|
|
2653
|
-
16
|
|
2654
|
-
])).buffer, 0, 53);
|
|
2655
|
-
mlbl = /* @__PURE__ */ b2bl(mlb, 3);
|
|
2656
|
-
dhu = function(dat, out, hu) {
|
|
2657
|
-
var len = dat.length, ss = out.length, lb = dat[len - 1], msk = (1 << hu.b) - 1, eb = -hu.b;
|
|
2658
|
-
if (!lb)
|
|
2659
|
-
err2(0);
|
|
2660
|
-
var st = 0, btr = hu.b, pos = (len << 3) - 8 + msb(lb) - btr, i = -1;
|
|
2661
|
-
for (; pos > eb && i < ss; ) {
|
|
2662
|
-
var cbt = pos >> 3;
|
|
2663
|
-
var val = (dat[cbt] | dat[cbt + 1] << 8 | dat[cbt + 2] << 16) >> (pos & 7);
|
|
2664
|
-
st = (st << btr | val) & msk;
|
|
2665
|
-
out[++i] = hu.s[st];
|
|
2666
|
-
pos -= btr = hu.n[st];
|
|
2667
|
-
}
|
|
2668
|
-
if (pos != eb || i + 1 != ss)
|
|
2669
|
-
err2(0);
|
|
2670
|
-
};
|
|
2671
|
-
dhu4 = function(dat, out, hu) {
|
|
2672
|
-
var bt = 6;
|
|
2673
|
-
var ss = out.length, sz1 = ss + 3 >> 2, sz2 = sz1 << 1, sz3 = sz1 + sz2;
|
|
2674
|
-
dhu(dat.subarray(bt, bt += dat[0] | dat[1] << 8), out.subarray(0, sz1), hu);
|
|
2675
|
-
dhu(dat.subarray(bt, bt += dat[2] | dat[3] << 8), out.subarray(sz1, sz2), hu);
|
|
2676
|
-
dhu(dat.subarray(bt, bt += dat[4] | dat[5] << 8), out.subarray(sz2, sz3), hu);
|
|
2677
|
-
dhu(dat.subarray(bt), out.subarray(sz3), hu);
|
|
2678
|
-
};
|
|
2679
|
-
rzb = function(dat, st, out) {
|
|
2680
|
-
var _a7;
|
|
2681
|
-
var bt = st.b;
|
|
2682
|
-
var b0 = dat[bt], btype = b0 >> 1 & 3;
|
|
2683
|
-
st.l = b0 & 1;
|
|
2684
|
-
var sz = b0 >> 3 | dat[bt + 1] << 5 | dat[bt + 2] << 13;
|
|
2685
|
-
var ebt = (bt += 3) + sz;
|
|
2686
|
-
if (btype == 1) {
|
|
2687
|
-
if (bt >= dat.length)
|
|
2688
|
-
return;
|
|
2689
|
-
st.b = bt + 1;
|
|
2690
|
-
if (out) {
|
|
2691
|
-
fill(out, dat[bt], st.y, st.y += sz);
|
|
2692
|
-
return out;
|
|
2693
|
-
}
|
|
2694
|
-
return fill(new u82(sz), dat[bt]);
|
|
2695
|
-
}
|
|
2696
|
-
if (ebt > dat.length)
|
|
2697
|
-
return;
|
|
2698
|
-
if (btype == 0) {
|
|
2699
|
-
st.b = ebt;
|
|
2700
|
-
if (out) {
|
|
2701
|
-
out.set(dat.subarray(bt, ebt), st.y);
|
|
2702
|
-
st.y += sz;
|
|
2703
|
-
return out;
|
|
2704
|
-
}
|
|
2705
|
-
return slc2(dat, bt, ebt);
|
|
2706
|
-
}
|
|
2707
|
-
if (btype == 2) {
|
|
2708
|
-
var b3 = dat[bt], lbt = b3 & 3, sf = b3 >> 2 & 3;
|
|
2709
|
-
var lss = b3 >> 4, lcs = 0, s4 = 0;
|
|
2710
|
-
if (lbt < 2) {
|
|
2711
|
-
if (sf & 1)
|
|
2712
|
-
lss |= dat[++bt] << 4 | (sf & 2 && dat[++bt] << 12);
|
|
2713
|
-
else
|
|
2714
|
-
lss = b3 >> 3;
|
|
2715
|
-
} else {
|
|
2716
|
-
s4 = sf;
|
|
2717
|
-
if (sf < 2)
|
|
2718
|
-
lss |= (dat[++bt] & 63) << 4, lcs = dat[bt] >> 6 | dat[++bt] << 2;
|
|
2719
|
-
else if (sf == 2)
|
|
2720
|
-
lss |= dat[++bt] << 4 | (dat[++bt] & 3) << 12, lcs = dat[bt] >> 2 | dat[++bt] << 6;
|
|
2721
|
-
else
|
|
2722
|
-
lss |= dat[++bt] << 4 | (dat[++bt] & 63) << 12, lcs = dat[bt] >> 6 | dat[++bt] << 2 | dat[++bt] << 10;
|
|
2723
|
-
}
|
|
2724
|
-
++bt;
|
|
2725
|
-
var buf = out ? out.subarray(st.y, st.y + st.m) : new u82(st.m);
|
|
2726
|
-
var spl = buf.length - lss;
|
|
2727
|
-
if (lbt == 0)
|
|
2728
|
-
buf.set(dat.subarray(bt, bt += lss), spl);
|
|
2729
|
-
else if (lbt == 1)
|
|
2730
|
-
fill(buf, dat[bt++], spl);
|
|
2731
|
-
else {
|
|
2732
|
-
var hu = st.h;
|
|
2733
|
-
if (lbt == 2) {
|
|
2734
|
-
var hud = rhu(dat, bt);
|
|
2735
|
-
lcs += bt - (bt = hud[0]);
|
|
2736
|
-
st.h = hu = hud[1];
|
|
2737
|
-
} else if (!hu)
|
|
2738
|
-
err2(0);
|
|
2739
|
-
(s4 ? dhu4 : dhu)(dat.subarray(bt, bt += lcs), buf.subarray(spl), hu);
|
|
2740
|
-
}
|
|
2741
|
-
var ns = dat[bt++];
|
|
2742
|
-
if (ns) {
|
|
2743
|
-
if (ns == 255)
|
|
2744
|
-
ns = (dat[bt++] | dat[bt++] << 8) + 32512;
|
|
2745
|
-
else if (ns > 127)
|
|
2746
|
-
ns = ns - 128 << 8 | dat[bt++];
|
|
2747
|
-
var scm = dat[bt++];
|
|
2748
|
-
if (scm & 3)
|
|
2749
|
-
err2(0);
|
|
2750
|
-
var dts = [dmlt, doct, dllt];
|
|
2751
|
-
for (var i = 2; i > -1; --i) {
|
|
2752
|
-
var md = scm >> (i << 1) + 2 & 3;
|
|
2753
|
-
if (md == 1) {
|
|
2754
|
-
var rbuf = new u82([0, 0, dat[bt++]]);
|
|
2755
|
-
dts[i] = {
|
|
2756
|
-
s: rbuf.subarray(2, 3),
|
|
2757
|
-
n: rbuf.subarray(0, 1),
|
|
2758
|
-
t: new u162(rbuf.buffer, 0, 1),
|
|
2759
|
-
b: 0
|
|
2760
|
-
};
|
|
2761
|
-
} else if (md == 2) {
|
|
2762
|
-
_a7 = rfse(dat, bt, 9 - (i & 1)), bt = _a7[0], dts[i] = _a7[1];
|
|
2763
|
-
} else if (md == 3) {
|
|
2764
|
-
if (!st.t)
|
|
2765
|
-
err2(0);
|
|
2766
|
-
dts[i] = st.t[i];
|
|
2767
|
-
}
|
|
2768
|
-
}
|
|
2769
|
-
var _b2 = st.t = dts, mlt = _b2[0], oct = _b2[1], llt = _b2[2];
|
|
2770
|
-
var lb = dat[ebt - 1];
|
|
2771
|
-
if (!lb)
|
|
2772
|
-
err2(0);
|
|
2773
|
-
var spos = (ebt << 3) - 8 + msb(lb) - llt.b, cbt = spos >> 3, oubt = 0;
|
|
2774
|
-
var lst = (dat[cbt] | dat[cbt + 1] << 8) >> (spos & 7) & (1 << llt.b) - 1;
|
|
2775
|
-
cbt = (spos -= oct.b) >> 3;
|
|
2776
|
-
var ost = (dat[cbt] | dat[cbt + 1] << 8) >> (spos & 7) & (1 << oct.b) - 1;
|
|
2777
|
-
cbt = (spos -= mlt.b) >> 3;
|
|
2778
|
-
var mst = (dat[cbt] | dat[cbt + 1] << 8) >> (spos & 7) & (1 << mlt.b) - 1;
|
|
2779
|
-
for (++ns; --ns; ) {
|
|
2780
|
-
var llc = llt.s[lst];
|
|
2781
|
-
var lbtr = llt.n[lst];
|
|
2782
|
-
var mlc = mlt.s[mst];
|
|
2783
|
-
var mbtr = mlt.n[mst];
|
|
2784
|
-
var ofc = oct.s[ost];
|
|
2785
|
-
var obtr = oct.n[ost];
|
|
2786
|
-
cbt = (spos -= ofc) >> 3;
|
|
2787
|
-
var ofp = 1 << ofc;
|
|
2788
|
-
var off = ofp + ((dat[cbt] | dat[cbt + 1] << 8 | dat[cbt + 2] << 16 | dat[cbt + 3] << 24) >>> (spos & 7) & ofp - 1);
|
|
2789
|
-
cbt = (spos -= mlb[mlc]) >> 3;
|
|
2790
|
-
var ml = mlbl[mlc] + ((dat[cbt] | dat[cbt + 1] << 8 | dat[cbt + 2] << 16) >> (spos & 7) & (1 << mlb[mlc]) - 1);
|
|
2791
|
-
cbt = (spos -= llb[llc]) >> 3;
|
|
2792
|
-
var ll = llbl[llc] + ((dat[cbt] | dat[cbt + 1] << 8 | dat[cbt + 2] << 16) >> (spos & 7) & (1 << llb[llc]) - 1);
|
|
2793
|
-
cbt = (spos -= lbtr) >> 3;
|
|
2794
|
-
lst = llt.t[lst] + ((dat[cbt] | dat[cbt + 1] << 8) >> (spos & 7) & (1 << lbtr) - 1);
|
|
2795
|
-
cbt = (spos -= mbtr) >> 3;
|
|
2796
|
-
mst = mlt.t[mst] + ((dat[cbt] | dat[cbt + 1] << 8) >> (spos & 7) & (1 << mbtr) - 1);
|
|
2797
|
-
cbt = (spos -= obtr) >> 3;
|
|
2798
|
-
ost = oct.t[ost] + ((dat[cbt] | dat[cbt + 1] << 8) >> (spos & 7) & (1 << obtr) - 1);
|
|
2799
|
-
if (off > 3) {
|
|
2800
|
-
st.o[2] = st.o[1];
|
|
2801
|
-
st.o[1] = st.o[0];
|
|
2802
|
-
st.o[0] = off -= 3;
|
|
2803
|
-
} else {
|
|
2804
|
-
var idx = off - (ll != 0);
|
|
2805
|
-
if (idx) {
|
|
2806
|
-
off = idx == 3 ? st.o[0] - 1 : st.o[idx];
|
|
2807
|
-
if (idx > 1)
|
|
2808
|
-
st.o[2] = st.o[1];
|
|
2809
|
-
st.o[1] = st.o[0];
|
|
2810
|
-
st.o[0] = off;
|
|
2811
|
-
} else
|
|
2812
|
-
off = st.o[0];
|
|
2813
|
-
}
|
|
2814
|
-
for (var i = 0; i < ll; ++i) {
|
|
2815
|
-
buf[oubt + i] = buf[spl + i];
|
|
2816
|
-
}
|
|
2817
|
-
oubt += ll, spl += ll;
|
|
2818
|
-
var stin = oubt - off;
|
|
2819
|
-
if (stin < 0) {
|
|
2820
|
-
var len = -stin;
|
|
2821
|
-
var bs = st.e + stin;
|
|
2822
|
-
if (len > ml)
|
|
2823
|
-
len = ml;
|
|
2824
|
-
for (var i = 0; i < len; ++i) {
|
|
2825
|
-
buf[oubt + i] = st.w[bs + i];
|
|
2826
|
-
}
|
|
2827
|
-
oubt += len, ml -= len, stin = 0;
|
|
2828
|
-
}
|
|
2829
|
-
for (var i = 0; i < ml; ++i) {
|
|
2830
|
-
buf[oubt + i] = buf[stin + i];
|
|
2831
|
-
}
|
|
2832
|
-
oubt += ml;
|
|
2833
|
-
}
|
|
2834
|
-
if (oubt != spl) {
|
|
2835
|
-
while (spl < buf.length) {
|
|
2836
|
-
buf[oubt++] = buf[spl++];
|
|
2837
|
-
}
|
|
2838
|
-
} else
|
|
2839
|
-
oubt = buf.length;
|
|
2840
|
-
if (out)
|
|
2841
|
-
st.y += oubt;
|
|
2842
|
-
else
|
|
2843
|
-
buf = slc2(buf, 0, oubt);
|
|
2844
|
-
} else if (out) {
|
|
2845
|
-
st.y += lss;
|
|
2846
|
-
if (spl) {
|
|
2847
|
-
for (var i = 0; i < lss; ++i) {
|
|
2848
|
-
buf[i] = buf[spl + i];
|
|
2849
|
-
}
|
|
2850
|
-
}
|
|
2851
|
-
} else if (spl)
|
|
2852
|
-
buf = slc2(buf, spl);
|
|
2853
|
-
st.b = ebt;
|
|
2854
|
-
return buf;
|
|
2855
|
-
}
|
|
2856
|
-
err2(2);
|
|
2857
|
-
};
|
|
2858
|
-
cct = function(bufs, ol) {
|
|
2859
|
-
if (bufs.length == 1)
|
|
2860
|
-
return bufs[0];
|
|
2861
|
-
var buf = new u82(ol);
|
|
2862
|
-
for (var i = 0, b = 0; i < bufs.length; ++i) {
|
|
2863
|
-
var chk = bufs[i];
|
|
2864
|
-
buf.set(chk, b);
|
|
2865
|
-
b += chk.length;
|
|
2866
|
-
}
|
|
2867
|
-
return buf;
|
|
2868
|
-
};
|
|
2869
|
-
}
|
|
2870
|
-
});
|
|
2871
|
-
|
|
2872
|
-
// ../compression/src/zstd-decompressor-fzstd.ts
|
|
2873
|
-
var ZstdFzstdDecompressor;
|
|
2874
|
-
var init_zstd_decompressor_fzstd = __esm({
|
|
2875
|
-
"../compression/src/zstd-decompressor-fzstd.ts"() {
|
|
2876
|
-
"use strict";
|
|
2877
|
-
init_compression();
|
|
2878
|
-
init_esm();
|
|
2879
|
-
ZstdFzstdDecompressor = class extends Decompressor {
|
|
2880
|
-
name = "zstd";
|
|
2881
|
-
extensions = ["zst"];
|
|
2882
|
-
contentEncodings = ["zstd"];
|
|
2883
|
-
isSupported = true;
|
|
2884
|
-
constructor(options = {}) {
|
|
2885
|
-
super(options);
|
|
2886
|
-
}
|
|
2887
|
-
/** Decompresses one Zstandard frame synchronously. */
|
|
2888
|
-
decompressSync(input2) {
|
|
2889
|
-
return decompress(new Uint8Array(input2)).slice().buffer;
|
|
2890
|
-
}
|
|
2891
|
-
};
|
|
2437
|
+
// compress-utils-wasm:/home/runner/work/loaders.gl/loaders.gl/node_modules/compress-utils/dist/algorithms/zstd/decompress/zstd.wasm
|
|
2438
|
+
var zstd_default;
|
|
2439
|
+
var init_zstd = __esm({
|
|
2440
|
+
"compress-utils-wasm:/home/runner/work/loaders.gl/loaders.gl/node_modules/compress-utils/dist/algorithms/zstd/decompress/zstd.wasm"() {
|
|
2441
|
+
zstd_default = "data:application/wasm;base64,AGFzbQEAAAABvAEYYAJ/fwBgA39/fwF/YAV/f39/fwF/YAF/AGABfwF/YAR/f39/AX9gAn9/AX9gA39/fwBgB39/f39/f38AYAV/fn5+fgBgBH5+fn4Bf2AEf35+fwBgAAF/YAZ/f39/f38Bf2AEf39/fwBgAABgBH9+fn4AYAV/f39/fwBgAn9/AX5gAX8BfmAHf39/f39/fwF/YA5/f39/f39/f39/f39/fwF/YAh/f39/f39/fwF/YAl/f39/f39/f38BfwNEQw8QCQkKCgsLBAYEBgMMBAABAgwEAwIFBQEGBAIBAwcHERIFDQMEAQIBAQMEAw4DDQcTBQIIAgUUCAICAgEHFQgWFw4EBQFwAQgIBQQBAIECBgkBfwFBgICACAsHsgIPBm1lbW9yeQIAC19pbml0aWFsaXplAAAKY3VfdmVyc2lvbgANFmN1X2FsZ29yaXRobV9hdmFpbGFibGUADg1jdV9sYXN0X2Vycm9yABILY3Vfc3RyZXJyb3IAExxjdV9zZXRfbWF4X2RlY29tcHJlc3NlZF9zaXplABQNY3VfZGVjb21wcmVzcwAVF2N1X2RlY29tcHJlc3Nfc2l6ZV9oaW50ABcbY3VfZGVjb21wcmVzc19zdHJlYW1fY3JlYXRlABkaY3VfZGVjb21wcmVzc19zdHJlYW1fd3JpdGUAGxtjdV9kZWNvbXByZXNzX3N0cmVhbV9maW5pc2gAHBxjdV9kZWNvbXByZXNzX3N0cmVhbV9kZXN0cm95AB0IY3VfYWxsb2MAKwdjdV9mcmVlACwJDQEAQQELBxAWGBonKSoMAR4KnJYFQxgAQbC8gAgoAgAEQAALQbC8gAhBATYCAAutCgIFfxB+IwBB4ABrIgQkACADQv///////z+DIQwgAiADhUKAgICAgICAgIB/gyELIAJC////////P4MiDUIgiCEPAkACQCACQjCIp0H//wFxIgZB//8Ba0GCgH5PIANCMIinQf//AXEiB0H//wFrQYKAfk9xDQAgAVAgAkL///////////8AgyIJQoCAgICAgMD//wBUIAlCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhCwwCCyADQv///////////wCDIgJCgICAgICAwP//AFQgAkKAgICAgIDA//8AUXJFBEAgA0KAgICAgIAghCELQgAhAQwCCyABIAlCgICAgICAwP//AIWEUARAIAJQBEBCgICAgICA4P//ACELQgAhAQwDCyALQoCAgICAgMD//wCEIQtCACEBDAILIAJCgICAgICAwP//AIVQRQRAIAEgCYRQBEBCACEBDAMLIAJQBEBCACEBDAMLIAlCgICAgICAwABUBEAgBEHQAGogASANIA15IAF5QkB9IA1CAFIbp0EPa0H/AXEiBRAHQQEgBWshBSAEKQNYIg1CIIghDyAEKQNQIQELIAJCgICAgICAwABaDQEgBEFAa0IAIAwgDHlCgAEgDEIAUhunQQ9rQf8BcSIIEAcgBSAIa0EBaiEFIAQpA0ghDCAEKQNAIQoMAQsgASAJhEIAIQFQBEBCgICAgICA4P//ACELDAILIAtCgICAgICAwP//AIQhCwwBCyAKQg+GIglCgID+/w+DIgIgAUIgiCIDfiIRIAlCIIgiDiABQv////8PgyIBfnwiEEIghiISIAEgAn58IgkgElStIA1C/////w+DIg0gAn4iFSADIA5+fCISIAxCD4YiEyAKQjGIhEL/////D4MiCiABfnwiFCAQIBFUrUIghiAQQiCIhHwiECACIA9CgIAEhCIMfiIWIA0gDn58Ig8gE0IgiEKAgICACIQiAiABfnwiESADIAp+fCITQiCGfCIXfCEBIAYgB2ogBWpB//8AayEFAkAgAiADfiIYIAwgDn58IgMgGFStIAMgAyAKIA1+fCIOVq18IAIgDH58IAogDH4iAyACIA1+fCICIANUrUIghiACQiCIhHwgDiACQiCGfCICIA5UrXwgAiACIBIgFVStIBIgFFatfHwiA1atfCADIAMgESATVq0gDyAWVK0gDyARVq18fEIghiATQiCIhHwiClatfCAKIAogECAUVK0gECAXVq18fCICVq18IgNCgICAgICAwACDUEUEQCAFQQFqIQUMAQsgCUI/iCADQgGGIAJCP4iEIQMgAkIBhiABQj+IhCECIAlCAYYhCSABQgGGhCEBCyAFQf7/AUoEQCALQoCAgICAgMD//wCEIQtCACEBDAELAkAgBUEASgRAIANC////////P4MgBa1CMIaEIQoMAQtBASAFayIGQf8ATQRAIARBMGogAiADIAVBAWtB/wBxIgUQByAEQRBqIAkgASAGEAYgBEEgaiACIAMgBhAGIAQgCSABIAUQByAEKQMAIAQpAwiEQgBSrSAEKQMwIAQpAxCEhCEJIAQpAzggBCkDGIQhASAEKQMoIQogBCkDICECDAELQgAhAQwBCyAKIAIgAiAJQgBSIAFCgICAgICAgICAf1YgAUKAgICAgICAgIB/URutfCIDVq18IAMgAyAJIAFCgICAgICAgICAf4WEUK2DIgJ8IgEgAlStfCALhCELCyAAIAE3AwAgACALNwMIIARB4ABqJAALowkCBH8EfiMAQeAAayIFJAAgBEKAgICAgICAgIB/hSEKIARC////////////AIMhBAJAAkAgAVAiBiACQv///////////wCDIglCgICAgICAwP//AH1CgICAgICAwICAf1QgCVAbRQRAIANQIARCgICAgICAwP//AH0iC0KAgICAgIDAgIB/VCALQoCAgICAgMCAgH9RG0UNAQsgBiAJQoCAgICAgMD//wBUIAlCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhAgwCCyADUCAEQoCAgICAgMD//wBUIARCgICAgICAwP//AFEbRQRAIApCgICAgICAIIQhAiADIQEMAgsgASAJQoCAgICAgMD//wCFhFAEQEKAgICAgIDg//8AIAIgASADhSACIAqFQoCAgICAgICAgH+FhFAiBhshAkIAIAEgBhshAQwCCwJAIAMgBEKAgICAgIDA//8AhYRQDQAgASAJhFAEQCADIASEUEUNASABIAODIQEgAiAKgyECDAMLIAMgBIRQRQ0BDAILIAMhASAKIQIMAQsgAyABIAEgA1QgBCAJViAEIAlRGyIIGyEJIAogAiAIGyIMQv///////z+DIQQgAiAKIAgbIgtCMIinQf//AXEhByAMQjCIp0H//wFxIgZFBEAgBUHQAGogCSAEIAR5IAl5QkB9IARCAFIbp0EPa0H/AXEiBhAHQQEgBmshBiAFKQNQIQkgBSkDWCEECyABIAMgCBshASALQv///////z+DIQMgB0UEQCAFQUBrIAEgAyADeSABeUJAfSADQgBSG6dBD2tB/wFxIgcQB0EBIAdrIQcgBSkDSCEDIAUpA0AhAQsgA0IDhiABQj2IhEKAgICAgICABIQhAyAEQgOGIAlCPYiEIAFCA4YhBCACIAqFIQECQCAGIAdGDQAgBiAHayIHQf8ASwRAQgAhA0IBIQQMAQsgBUEwaiAEIANBACAHa0H/AHEQByAFQSBqIAQgAyAHEAYgBSkDICAFKQMwIAUpAziEQgBSrYQhBCAFKQMoIQMLQoCAgICAgIAEhCELIAlCA4YhCiAMQoCAgICAgICAgH+DIQkCQAJAAkAgAUIAUwRAQgAhAUIAIQIgBCAKhSADIAuFhFBFDQEMBAsgBCAKfCIBIARUrSADIAt8fCICQoCAgICAgIAIg1ANASAEQgGDIAJCP4YgAUIBiISEIQEgBkEBaiEGIAJCAYghAgwBCyAKIAR9IQEgCyADfSAEIApWrX0iAkL/////////A1YNACAFQRBqIAEgAiACeSABeUJAfSACQgBSG6dBDGsiBxAHIAYgB2shBiAFKQMYIQIgBSkDECEBDAELIAZB/v8BTA0AIAlCgICAgICAwP//AIQhAkIAIQEMAQsgBkEATARAIAUgASACQQQgBmsQBiAFKQMIIAmEIQIgBSkDACEBDAELIAJCPYYgAUIDiIQiAyABQgeDIgRCBFatfCIBIANUrSACQgOIQv///////z+DIAatQjCGhCAJhHwgASAEQgRRrYMiAiABfCIBIAJUrXwhAgsgACABNwMAIAAgAjcDCCAFQeAAaiQAC4wJAgR+BH8jAEHgAGsiCSQAIARC////////////AIMhBQJAAkAgAVAiCiACQv///////////wCDIgZCgICAgICAwP//AH1CgICAgICAwICAf1QgBlAbRQRAIANQIAVCgICAgICAwP//AH0iB0KAgICAgIDAgIB/VCAHQoCAgICAgMCAgH9RG0UNAQsgCiAGQoCAgICAgMD//wBUIAZCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhBCABIQMMAgsgA1AgBUKAgICAgIDA//8AVCAFQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQQMAgsgASAGQoCAgICAgMD//wCFhFAEQEKAgICAgIDg//8AIAIgASADhSACIASFQoCAgICAgICAgH+FhFAiChshBEIAIAEgChshAwwCCyADIAVCgICAgICAwP//AIWEUA0BIAEgBoRQBEAgAyAFhFBFDQIgASADgyEDIAIgBIMhBAwCCyADIAWEUEUNACABIQMgAiEEDAELIAMgASABIANUIAUgBlYgBSAGURsiDBshBiAEIAIgDBsiCEL///////8/gyEFIAIgBCAMGyIHQjCIp0H//wFxIQsgCEIwiKdB//8BcSIKRQRAIAlB0ABqIAYgBSAFeSAGeUJAfSAFQgBSG6dBD2tB/wFxIgoQB0EBIAprIQogCSkDUCEGIAkpA1ghBQsgASADIAwbIQMgB0L///////8/gyEBIAsEfiABBSAJQUBrIAMgASABeSADeUJAfSABQgBSG6dBD2tB/wFxIgsQB0EBIAtrIQsgCSkDQCEDIAkpA0gLQgOGIANCPYiEQoCAgICAgIAEhCEBIAVCA4YgBkI9iIQgA0IDhiEFIAIgBIUhAwJAIAogC0YNACAKIAtrIgtB/wBLBEBCACEBQgEhBQwBCyAJQTBqIAUgAUEAIAtrQf8AcRAHIAlBIGogBSABIAsQBiAJKQMgIAkpAzAgCSkDOIRCAFKthCEFIAkpAyghAQtCgICAgICAgASEIQcgBkIDhiECIAhCgICAgICAgICAf4MhBgJAAkACQCADQgBTBEBCACEDQgAhBCACIAWFIAEgB4WEUEUNAQwECyACIAV8IgMgBVStIAEgB3x8IgRCgICAgICAgAiDUA0BIAVCAYMgBEI/hiADQgGIhIQhAyAKQQFqIQogBEIBiCEEDAELIAIgBX0hAyAHIAF9IAIgBVStfSIEQv////////8DVg0AIAlBEGogAyAEIAR5IAN5QkB9IARCAFIbp0EMayILEAcgCiALayEKIAkpAxghBCAJKQMQIQMMAQsgCkH+/wFMDQAgBkKAgICAgIDA//8AhCEEQgAhAwwBCyAKQQBMBEAgCSADIARBBCAKaxAGIAkpAwggBoQhBCAJKQMAIQMMAQsgBEI9hiADQgOIhCICIANCB4MiA0IEVq18IgEgAlStIARCA4hC////////P4MgCq1CMIaEIAaEfCABIAEgA0IEUa2DIgF8IgMgAVStfCEECyAAIAM3AwAgACAENwMIIAlB4ABqJAAL4AECAX8CfkEBIQQCQCAAQgBSIAFC////////////AIMiBUKAgICAgIDA//8AViAFQoCAgICAgMD//wBRGw0AIAJQIANC////////////AIMiBkKAgICAgIDA//8AVCAGQoCAgICAgMD//wBRG0UNACAAIAKEIAUgBoSEUARAQQAPCwJAAkAgASADg0IAWQRAIAAgAlQgASADUyABIANRG0UNAUF/DwsgACACViABIANVIAEgA1EbRQ0BQX8PCyAAIAKFIAEgA4WEQgBSDwsgACAChSABIAOFhEIAUiEECyAEC2MAIABCAFIgAUL///////////8AgyIAQoCAgICAgMD//wBWIABCgICAgICAwP//AFEbIAJCAFIgA0L///////////8AgyIAQoCAgICAgMD//wBWIABCgICAgICAwP//AFEbcgtRAQF+AkAgA0E/SgRAIAIgA0E/ca2IIQFCACECDAELIANFDQAgAkEAIANrQT9xrYYgASADrSIEiIQhASACIASIIQILIAAgATcDACAAIAI3AwgLUQEBfgJAIANBP0oEQCABIANBP3GthiECQgAhAQwBCyADRQ0AIAIgA60iBIYgAUEAIANrQT9xrYiEIQIgASAEhiEBCyAAIAE3AwAgACACNwMICzIBAX8gAEEQakEEEAkiAQRAIAEgAK1CBYZCBIQ3AwggAUEQag8LQfy/gAhBMDYCAEEAC+sCAQN/IwBBEGsiBCQAIAQgAUEfcToADwJAQX8gAEEEaiICIAAgAksbIgBBASABdCIBIAAgAUsbIgBBAWtnIgFFBEBBACEBDAELQSAgAWsiAUH//wNxQQNrIgNBDU8EQEIBQSAgAEGDgARqQRB2QQFrZ2siAa2GpyEAIAFB//8DcUECdCICKAKcvYAIIgEEQCACQZy9gAhqIABBEHQgAWpBBGsoAgA2AgAMAgtBACAAQAAiAEEQdCAAQX9GGyEBDAELQgEgAa2GpyECIANBAnQiACgC6LyACCIBBEAgAEHovIAIaiABIAJqQQRrKAIANgIADAELIABBtLyACGohAyAAKAK0vIAIIgFB//8DcUUEQEEAIQEgAyACAn9BnL2ACCgCACIABEBBnL2ACCAAKAL8/wM2AgAgAAwBC0EBQAAiAEEBakECSQ0CIABBEHQLIgFqNgIADAELIAMgASACajYCAAsgBEEQaiQAIAELlgECA38BfiMAQRBrIgIkACACIACtIgRCIIinIgBBAEc6AAwCQAJAIABFBEAgBKciAUEQakEEEAkiAA0BQfy/gAhBMDYCAAwCC0H8v4AIQTA2AgAMAQsgACABrUIFhkIEhDcDCCAAQRBqIQMgAUUNAEEAIQADQCAAIANqQQA6AAAgAEEBaiIAIAFJDQALCyACQRBqJAAgAwuHBgIKfwF+IwBBEGsiBSQAAkAgAUUEQCAABEAgBSAAQQhrKQMAIgynIgFBH3EiAjoADCAFIAI6AA0gAEEBIAF0IgFrIQBBICAMQgWIpyABakEEaiICIAEgASACSRsiAUEBa2drIgJB//8DcUEDayIDQQxNBEAgAEIBIAKshqdqQQRrIANBAnQiASgC6LyACDYCACABIAA2Aui8gAhBACECDAMLIABCAUEgIAFBg4AEakEQdkEBa2drIgGthqdBEHRqQQRrIAFB//8DcUECdCIBKAKcvYAINgIAIAEgADYCnL2ACAtBACECDAELIABFBEAgAUEQakEEEAkiAARAIAAgAa1CBYZCBIQ3AwggAEEQaiECDAILQfy/gAhBMDYCAAwBCyAFIABBCGspAwAiDKciBkEfcSICOgALIAUgAjoADkF/QQEgBnQiAiABaiIEQQRqIgMgAyAESRsiAyACIAIgA0kbIQcgACACayEDAkACQAJAIAxCBYinIgkgAmpBBGoiCCACIAIgCEkbIgpBAWtnIgtBEWtBDE0EQCAHQQFrZyIHRUIBQSAgC2uthqdCAUEgIAdrrYanR3INAQwCC0IBQSAgCkGDgARqQRB2QQFrZ2uthqdCAUEgIAdBg4AEakEQdkEBa2drrYanRg0BCyAEIAYQCSIEBEAgAiAEaiECIAEgCSABIAlJGyIHBEBBACEEA0AgAiAEaiAAIARqLQAAOgAAIARBAWoiBCAHSQ0ACwsgBSAGQR9xOgAPQSAgCEEBIAZ0IgAgACAISRsiAEEBa2drIgZB//8DcUEDayIEQQxNBEAgA0IBIAashqdqQQRrIARBAnQiACgC6LyACDYCACAAIAM2Aui8gAgMAwsgA0IBQSAgAEGDgARqQRB2QQFrZ2siAK2Gp0EQdGpBBGsgAEH//wNxQQJ0IgAoApy9gAg2AgAgACADNgKcvYAIDAILQQAhAkH8v4AIQTA2AgAMAgsgAiADaiECCyACQQhrIAxCH4MgAa1CBYaENwMACyAFQRBqJAAgAgviAQIEfwF+IwBBEGsiAyQAAkAgAEUNACADIABBCGspAwAiBaciAUEfcSICOgAOIAMgAjoADyAAQQEgAXQiAWshAEEgIAVCBYinIAFqQQRqIgIgASABIAJJGyIBQQFrZ2siAkH//wNxQQNrIgRBDE0EQCAAQgEgAqyGp2pBBGsgBEECdCIBKALovIAINgIAIAEgADYC6LyACAwBCyAAQgFBICABQYOABGpBEHZBAWtnayIBrYanQRB0akEEayABQf//A3FBAnQiASgCnL2ACDYCACABIAA2Apy9gAgLIANBEGokAAsHAEGhkYAICwUAIABFC/cCAQJ/IwBBsANrIgIkACACIAE2AgwgAkH/ATYCiAEgAkHgvYAINgKEASACQRBqQQBB8AD8CwAgAkEBNgIwQeC9gAhBADoAACACIAJBhAFqNgJUIAIgAkGPAWo2AjggAkF/NgJQIAIgATYCrAMgAkGgA2pCADcDACACQZgDakIANwMAIAJBkANqQgA3AwAgAkIANwOIAyACQgA3A4ADIAIgATYCqAMCQAJAQQAgACACQagDaiACQeABaiACQYADahARQQBIDQAgAkIANwMQIAJBfzYCTCACQQA2AhggAkHQADYCPCACIAJB4AFqIgM2AiAgAiACQZABaiIBNgI4IAIgATYCKCACIAE2AiQgAkEQaiIBIAAgAkGoA2ogAyACQYADahARIAFBAEEAIAIoAjARAQAaIAJBADYCPCACQQA2AiggAigCECACIAJBjwFqNgI4QSBxDQAgAigCJEUNAEEATg0BC0HgvYAIQQA6AAALIAJBsANqJAALtAEBBX8gACgCRCIDKAIAIQYgAygCBCIEIAAoAhQgACgCGCIHayIFIAQgBUkbIgUEQCAFBEAgBiAHIAX8CgAACyADIAMoAgAgBWoiBjYCACADIAMoAgQgBWsiBDYCBAsgBCACIAIgBEsbIgQEQCAEBEAgBiABIAT8CgAACyADIAMoAgAgBGoiBjYCACADIAMoAgQgBGs2AgQLIAZBADoAACAAIAAoAigiATYCGCAAIAE2AhQgAgutVAIgfwR+IwBBwMEAayIGJAAgBkHsBWohISAGQZkFaiEiIAZBlwVqISMgBkG/BWohHyAGQcAFaiIYQQhyISAgGEEJciEcIAZBvgVqISQgBkGYBWohFgJAAkADQEEAIQUDQAJAIAEhByAFIBNB/////wdzSg0AIAUgE2ohEwJAAkACQAJAAkACQAJAIActAAAiBQRAA0ACQAJAIAVB/wFxIgUEQCAFQSVHDQIgASEFA0AgAUEBai0AAEElRw0CIAVBAWohBSABQQJqIgEtAABBJUYNAAsMAQsgASEFCyAFIAdrIgUgE0H/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IAYpA+ACIAYpA+gCQoCAgICAgMCBwAAQASAGQcACaiAGKQPQAiAGKQPYAkKAgICAgIDAgcAAEAEgBkGwAmogBikDwAIgBikDyAJCgICAgICAwIHAABABIAZBoAJqIAYpA7ACIAYpA7gCQoCAgICAgMCBwAAQASAGQZACaiAGKQOgAiAGKQOoAkKAgICAgIDAgcAAEAEgBkGAAmogBikDkAIgBikDmAJCgICAgICAwIHAABABIAZB8AFqIAYpA4ACIAYpA4gCQoCAgICAgMCBwAAQASAGQeABaiAGKQPwASAGKQP4AUKAgICAgIDAgcAAEAEgBkHQAWogBikD4AEgBikD6AFCgICAgICAwIHAABABIAZBwAFqIAYpA9ABIAYpA9gBQoCAgICAgMCBwAAQASAGQbABaiAGKQPAASAGKQPIAUKAgICAgIDAgcAAEAEgBkGgAWogBikDsAEgBikDuAFCgICAgICAwIHAABABIAZBkAFqIAYpA6ABIAYpA6gBQoCAgICAgMCBwAAQASAGQYABaiAGKQOQASAGKQOYAUKAgICAgIDAgcAAEAEgBkHwAGogBikDgAEgBikDiAFCgICAgICAwIHAABABIAYpA3ghJyAGKQNwISggBUEQayIFDQALCyAILQAAQS1GBEAgBkFAayAlICZCgICAgICAgICAf4UgKCAnEAIgBkEwaiAoICcgBikDQCAGKQNIEAMgBikDOEKAgICAgICAgIB/hSEmIAYpAzAhJQwBCyAGQeAAaiAlICYgKCAnEAMgBkHQAGogBikDYCAGKQNoICggJxACIAYpA1ghJiAGKQNQISULAkAgBigC7AUiCwRAIAsgC0EfdSIFcyAFayEFIBghBwNAIAdBAWsiByAFQQpuIglB9gFsIAVqQTByOgAAIAVBCkkgCSEFRQ0ACwwBCyAGQTA6AL8FIB8hBwsgF0ECciEMIBJBIHEhDSAHQQJrIg8gEkEPajoAACAHQQFrQS1BKyALQQBIGzoAACAQQQhxRSAKQQBMcSELIAZBwAVqIQcDQCAHIgUjAEEQayIHJAACf0EAICZCMIinIglB//8BcSIRQf7/AE0NABogJkI/h6dB/////wdzIBFBnoABa0FgTQ0AGiAHICUgJkL///////8/g0KAgICAgIDAAIRB7wAgCWtB/wBxEAYgBygCACIJQQAgCWsg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AwJAA0AgACADaiIEQQFrLQAAQQpGDQEgA0EBayIDDQALIAAhBAwBCyACIAAgAyACKAIgEQEAIANJDQEgASADayEBIAIoAhQhBQsgAQRAIAUgBCAB/AoAAAsgAiACKAIUIAFqNgIUCwvzBgMDfgF/AXwjAEEQayIGJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIAAQIFAwQGBwgJCgsMDQ4PEBESCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAMEQsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADBALIAIgAigCACIBQQRqNgIAIAAgATUCADcDAAwPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAMDgsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADA0LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAAwMCyACIAIoAgAiAUEEajYCACAAIAEyAQA3AwAMCwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADAoLIAIgAigCACIBQQRqNgIAIAAgATAAADcDAAwJCyACIAIoAgAiAUEEajYCACAAIAExAAA3AwAMCAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMADAcLIAIgAigCACIBQQRqNgIAIAAgATUCADcDAAwGCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwAMBQsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMADAQLIAIgAigCACIBQQRqNgIAIAAgATQCADcDAAwDCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAMAgsgAiACKAIAQQdqQXhxIgFBCGo2AgAgASsDACEHIwBBEGsiASQAAn4gB70iBUL///////////8AgyIDQoCAgICAgIAIfUKAgICAgICA8P8AVARAIANCPIYhBCADQgSIQoCAgICAgICAPHwMAQsgA0KAgICAgICA+P8AWgRAIANCPIYhBCADQgSIQoCAgICAgMD//wCEDAELQgAgA1ANABogASADQgAgA3mnIgJBMWoQByABKQMAIQQgASkDCEKAgICAgIDAAIVBgfgAIAJB9QBqQf8AcWutQjCGhAshAyAGIAQ3AwAgBiADIAVCgICAgICA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0LuACDYCPAwBCyAKIA9PBEAgCCAAQQdxIgE2AjggCCAKIABBA3ZrIgo2AjwgCCAKKAAAIhA2AjQgASEADAELIAogC0YNACAIIAAgCiALayAAQQN2IgAgCiAAayALSRsiAUEDdGsiADYCOCAIIAogAWsiCjYCPCAIIAooAAAiEDYCNAsgCCAAIBZqIgE2AjggCCAWQQJ0KALQuoAIIBBBACABa3ZxIB9qIhg2AlACQCABQSFPBEBB0LuACCEKIAhB0LuACDYCPAwBCyAKIA9PBEAgCCABQQdxIgA2AjggCCAKIAFBA3ZrIgo2AjwgCCAKKAAAIhA2AjQgACEBDAELIAogC0YNACAIIAEgCiALayABQQN2IgAgCiAAayALSRsiAEEDdGsiATYCOCAIIAogAGsiCjYCPCAIIAooAAAiEDYCNAsgCCgCbCIDIARqIgYgESgCgOwBIgBLDQEMAwsgCCgCbCIDIARqIgYgESgCgOwBIgBNDQJBASENDAELIA1BAEoNAEFsIRIMBQsCQCAAIANGBEAgAiEGDAELQbp/IRIgACADayIVIBQgAmtLDQUgAiAVaiEGAkAgAiADayIFQXhMIBVBB0pxRQRAIBVBAEwNAQNAIAIgAy0AADoAACADQQFqIQMgAkEBaiICIAZJDQALDAELAn8gBUFvSwRAIAIhBSADDAELIAIhBSADIBVBIEkNABogAykAACExIAJBCGogA0EIaikAADcAACACIDE3AAAgBkEgayEFIBVBIGsiHUERTwRAIAIgHWohISADQSBqIRYgAkEQaiESA0AgFkEQayIfKQAAITEgEkEIaiAfQQhqKQAANwAAIBIgMTcAACAWKQAAITEgEkEYaiAWQQhqKQAANwAAIBJBEGogMTcAACAWQSBqIRYgEkEgaiISICFJDQALCyADIB1qCyESIAAgAmohFgJAIAIgFWogBWsiHUEHcSICRQRAIAUhAAwBCyAFIQADQCAAIBItAAA6AAAgAEEBaiEAIBJBAWohEiACQQFrIgINAAsLIAUgFmsgA2pBeEsNACAFIB1qIQIDQCAAIBItAAA6AAAgAEEBaiASQQFqLQAAOgAAIABBAmogEkECai0AADoAACAAQQNqIBJBA2otAAA6AAAgAEEEaiASQQRqLQAAOgAAIABBBWogEkEFai0AADoAACAAQQZqIBJBBmot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OgAAIAZBA2ogA0EDai0AADoAACAGQQRqIANBBGotAAA6AAAgBkEFaiADQQVqLQAAOgAAIAZBBmogA0EGai0AADoAACAGQQdqIANBB2otAAA6AAAgA0EIaiEDIAZBCGoiBiAFRw0ACwsgCyALKAIAIAJrIgM2AgALIABBADYChOwBIAsoAgghBiAOICU2AowCAkACQAJAIANBgIAESg0AIAggCygCBCIFIANqIgdqIBVLDQAgB0EgaiAWIAhrTQ0BCyAOQRBqIAtBCGooAgA2AgAgDiALKQIANwMIIAggFiAOQQhqIA5BjAJqIAogEyAcIBsQQCEHDAELIAMgCGohAiADICVqIQwgJSkAACExIAhBCGogJUEIaikAADcAACAIIDE3AAACQCADQRFJDQAgFCkAACExIAhBGGogFEEIaikAADcAACAIIDE3ABAgA0EQa0ERSA0AIAhBIGohAyANIQkDQCAJQRBrIgspAAAhMSADQQhqIAtBCGopAAA3AAAgAyAxNwAAIAkpAAAhMSADQRhqIAlBCGopAAA3AAAgA0EQaiAxNwAAIAlBIGohCSADQSBqIgMgAkkNAAsLIAIgBmshAyAOIAw2AowCAkAgAiATayAGTwRAIAUhDAwBCyAGIAIgHGtLDQkgGyADIBNrIgNqIQkgAyAFaiIMQQBMBEAgBUUNAiACIAkgBfwKAAAMAgtBACADayIFBEAgAiAJIAX8CgAACyACIANrIQIgEyEDCyAGQRBPBEAgAykAACExIAJBCGogA0EIaikAADcAACACIDE3AAAgDEERSA0BIAIgDGohBSADQSBqIQYgAkEQaiEDA0AgBkEQayICKQAAITEgA0EIaiACQQhqKQAANwAAIAMgMTcAACAGKQAAITEgA0EYaiAGQQhqKQAANwAAIANBEGogMTcAACAGQSBqIQYgA0EgaiIDIAVJDQALDAELAkAgBkEHTQRAIAIgAy0AADoAACACIAMtAAE6AAEgAiADLQACOgACIAIgAy0AAzoAAyACIAMgBkECdCIFKALgu4AIaiIDKAAANgAEIAMgBSgCgLyACGshAwwBCyACIAMpAAA3AAALIAxBCUkNACACIAxqIQkgAkEIaiIGIANBCGoiBWtBD0wEQANAIAYgBSkAADcAACAFQQhqIQUgBkEIaiIGIAlJDQAMAgsACyAFKQAAITEg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ACAEIABrIg9BEU4EQCAIQSBqIQIgAEEQaiEAA0AgAkEQayIJKQAAIRAgAEEIaiAJQQhqKQAANwAAIAAgEDcAACACKQAAIRAgAEEYaiACQQhqKQAANwAAIABBEGogEDcAACACQSBqIQIgAEEgaiIAIARJDQALCyAIIA9qIQggBCEACyAAIAFPDQADQCAAIAgtAAA6AAAgCEEBaiEIIABBAWoiACABSQ0ACwsgASAMayEAIAMgDjYCAAJAAkAgASAFayAMTwRAIAohCCAAIQUMAQsgDCABIAZrSw0CIAcgACAFayIDaiECIAMgCmoiCEEATARAIApFDQIgASACIAr8CgAADAILQQAgA2siAARAIAEgAiAA/AoAAAsgASADayEBCyABIAQgBSAIEEILIA0hCwsgCwvXBQIKfwF+Qbp/IQkCQCADKAIEIgwgAygCACIKaiIPIAEgAGtLDQAgBSAEKAIAIgFrIApJBEBBbA8LIAMoAgghDSAAIAFLIAEgCmoiECAAS3ENACAAIApqIQUCQAJAIApBCE4EQCAAIAFrIgNBeUgNAQsgCkEATA0BA0AgACABLQAAOgAAIAFBAWohASAAQQFqIgAgBUkNAAsMAQsCQCAKQSBJBEAgACELDAELIANBb0sEQCAAIQsMAQsgASkAACETIABBCGogAUEIaikAADcAACAAIBM3AAAgBUEgayELIApBIGsiDkERTwRAIAAgDmohESABQSBqIQkgAEEQaiEDA0AgCUEQayISKQAAIRMgA0EIaiASQQhqKQAANwAAIAMgEzcAACAJKQAAIRMgA0EYaiAJQQhqKQAANwAAIANBEGogEzcAACAJQSBqIQkgA0EgaiIDIBFJDQALCyABIA5qIQELAkAgACAKaiIJIAtrIgpBB3EiA0UEQCALIQAMAQsgCyEAA0AgACABLQAAOgAAIABBAWohACABQQFqIQEgA0EBayIDDQALCyALIAlrQXhLDQAgCiALaiEDA0AgACABLQAAOgAAIABBAWogAUEBai0AADoAACAAQQJqIAFBAmotAAA6AAAgAEEDaiABQQNqLQAAOgAAIABBBGogAUEEai0AADoAACAAQQVqIAFBBWotAAA6AAAgAEEGaiABQQZqLQAAOgAAIABBB2ogAUEHai0AADoAACABQQhqIQEgAEEIaiIAIANHDQALCyAFIA1rIQEgBCAQNgIAAkACQCAFIAZrIA1PBEAgDCEAIAEhBgwBC0FsIQkgDSAFIAdrSw0CIAggASAGayIBaiEDIAEgDGoiAEEATARAIAxFDQIgBSADIAz8CgAADAILQQAgAWsiBARAIAUgAyAE/AoAAAsgBSABayEFCyAFIAIgBiAAEEILIA8hCQsgCQuJBQIDfwF+IAAgA2ohBgJAIANBB0wEQCADQQBMDQEDQCAAIAItAAA6AAAgAkEBaiECIABBAWoiACAGSQ0ACwwBCwJAIAAgAmsiBEEHTQRAIAAgAi0AADoAACAAIAItAAE6AAEgACACLQACOgACIAAgAi0AAzoAAyAAIAIgBEECdCIEKALgu4AIaiICKAAANgAEIAIgBCgCgLyACGshAgwBCyAAIAIpAAA3AAALIABBCGohBCACQQhqIQUgASAGTwRAIAQgBWtBD0wEQANAIAQgBSkAADcAACAFQQhqIQUgBEEIaiIEIAZJDQAMAwsACyAFKQAAIQcgBEEIaiAFQQhqKQAANwAAIAQgBzcAACADQQhrQRFJDQEgAkEoaiECIABBGGohAANAIAJBEGsiASkAACEHIABBCGogAUEIaikAADcAACAAIAc3AAAgAikAACEHIABBGGogAkEIaikAADcAACAAQRBqIAc3AAAgAkEgaiECIABBIGoiACAGSQ0ACwwBCwJAIAEgBEkEQCAEIQEMAQsgASAEayEDAkAgBCAFa0EPTARAIAUhAANAIAQgACkAADcAACAAQQhqIQAgBEEIaiIEIAFJDQALDAELIAUpAAAhByAEQQhqIAVBCGopAAA3AAAgBCAHNwAAIANBEUgNACACQShqIQIgAEEYaiEAA0AgAkEQayIEKQAAIQcgAEEIaiAEQQhqKQAANwAAIAAgBzcAACACKQAAIQcgAEEYaiACQQhqKQAANwAAIABBEGogBzcAACACQSBqIQIgAEEgaiIAIAFJDQALCyADIAVqIQULIAEgBk8NAANAIAEgBS0AADoAACAFQQFqIQUgAUEBaiIBIAZJDQALCwsLgDoeAEGAgIAIC+EST3BlcmF0aW9uIG1hZGUgbm8gcHJvZ3Jlc3Mgb3ZlciBtdWx0aXBsZSBjYWxscywgZHVlIHRvIGlucHV0IGJlaW5nIGVtcHR5AEFsbG9jYXRpb24gZXJyb3IgOiBub3QgZW5vdWdoIG1lbW9yeQB6c3RkOiBvdXQgb2YgbWVtb3J5AC0rICAgMFgweAAtMFgrMFggMFgtMHgrMHggMHgAenN0ZDogZGVjbGFyZWQgc2l6ZSAlbGx1IGV4Y2VlZHMgY2FwICV6dQB6c3RkOiBkZWNvbXByZXNzZWQgb3V0cHV0IGV4Y2VlZGVkIGNhcCAlenUAenN0ZDogZW1wdHkgaW5wdXQAQ29udGV4dCBzaG91bGQgYmUgaW5pdCBmaXJzdABpbnZhbGlkIGFyZ3VtZW50AGRlY29tcHJlc3NlZCBzaXplIGV4Y2VlZHMgY29uZmlndXJlZCBsaW1pdABTcmMgc2l6ZSBpcyBpbmNvcnJlY3QAb3V0IG9mIG1lbW9yeSBhbGxvY2F0aW5nIGN1X2RlY29tcHJlc3Nfc3RyZWFtX3QAenN0ZDogZGVjbGFyZWQgc2l6ZSBleGNlZWRzIHNpemVfdABVbnN1cHBvcnRlZCBjb21iaW5hdGlvbiBvZiBwYXJhbWV0ZXJzAENhbm5vdCBjcmVhdGUgRGljdGlvbmFyeSBmcm9tIHByb3ZpZGVkIHNhbXBsZXMAenN0ZDogJXMAVW5rbm93biBmcmFtZSBkZXNjcmlwdG9yAHVua25vd24gZXJyb3IAaW50ZXJuYWwgZXJyb3IAVW5zdXBwb3J0ZWQgZnJhbWUgcGFyYW1ldGVyAFVuc3VwcG9ydGVkIHBhcmFtZXRlcgBPcGVyYXRpb24gb24gTlVMTCBkZXN0aW5hdGlvbiBidWZmZXIAenN0ZDogb3V0IG9mIG1lbW9yeSBpbiBkZWNvbXByZXNzaW9uIHBlbmRpbmcgYnVmZmVyAEhlYWRlciBvZiBMaXRlcmFscycgYmxvY2sgZG9lc24ndCByZXNwZWN0IGZvcm1hdCBzcGVjaWZpY2F0aW9uAG5hbgBSZXN0b3JlZCBkYXRhIGRvZXNuJ3QgbWF0Y2ggY2hlY2tzdW0Ad3JpdGUgdG8gZmluaXNoZWQgZGVjb21wcmVzcyBzdHJlYW0AT3BlcmF0aW9uIG1hZGUgbm8gcHJvZ3Jlc3Mgb3ZlciBtdWx0aXBsZSBjYWxscywgZHVlIHRvIG91dHB1dCBidWZmZXIgYmVpbmcgZnVsbABEZXN0aW5hdGlvbiBidWZmZXIgaXMgdG9vIHNtYWxsAFNwZWNpZmllZCBtYXhTeW1ib2xWYWx1ZSBpcyB0b28gc21hbGwAb3V0cHV0IGJ1ZmZlciB0b28gc21hbGwAb2sAVGhpcyBtb2RlIGNhbm5vdCBnZW5lcmF0ZSBhbiB1bmNvbXByZXNzZWQgYmxvY2sAenN0ZDogdHJ1bmNhdGVkIGZyYW1lIGF0IGZpbmlzaAB3b3JrU3BhY2UgYnVmZmVyIGlzIG5vdCBsYXJnZSBlbm91Z2gARGljdGlvbmFyeSBtaXNtYXRjaABEZXN0aW5hdGlvbiBidWZmZXIgaXMgd3JvbmcAU291cmNlIGJ1ZmZlciBpcyB3cm9uZwBkZWNvbXByZXNzZWQgc2l6ZSBub3QgZW5jb2RlZCBpbiB3aXJlIGZvcm1hdDsgdXNlIHN0cmVhbWluZwB6c3RkOiBvdXRwdXQgYnVmZmVyIGV4aGF1c3RlZCBhbmQgc2l6ZSB1bmtub3duOyB1c2Ugc3RyZWFtaW5nAEFuIEkvTyBlcnJvciBvY2N1cnJlZCB3aGVuIHJlYWRpbmcvc2Vla2luZwBGcmFtZSByZXF1aXJlcyB0b28gbXVjaCBtZW1vcnkgZm9yIGRlY29kaW5nAGluZgBvcGVyYXRpb24gaW52YWxpZCBmb3IgY3VycmVudCBzdHJlYW0gc3RhdGUAenN0ZDogbm90IGEgdmFsaWQgenN0ZCBmcmFtZQB6c3RkOiB0cnVuY2F0ZWQgZnJhbWUARnJhbWUgaW5kZXggaXMgdG9vIGxhcmdlAFVuc3VwcG9ydGVkIG1heCBTeW1ib2wgVmFsdWUgOiB0b28gbGFyZ2UAT3BlcmF0aW9uIG5vdCBhdXRob3JpemVkIGF0IGN1cnJlbnQgcHJvY2Vzc2luZyBzdGFnZQBCbG9jay1sZXZlbCBleHRlcm5hbCBzZXF1ZW5jZSBwcm9kdWNlciByZXR1cm5lZCBhbiBlcnJvciBjb2RlAFVuc3BlY2lmaWVkIGVycm9yIGNvZGUAenN0ZABQYXJhbWV0ZXIgaXMgb3V0IG9mIGJvdW5kAGFsZ29yaXRobSBub3QgY29tcGlsZWQgaW50byB0aGlzIGJ1aWxkAGFsZ29yaXRobSAlZCBpcyBub3QgYXZhaWxhYmxlIGluIHRoaXMgYnVpbGQARXh0ZXJuYWwgc2VxdWVuY2VzIGFyZSBub3QgdmFsaWQAdGFibGVMb2cgcmVxdWlyZXMgdG9vIG11Y2ggbWVtb3J5IDogdW5zdXBwb3J0ZWQAVmVyc2lvbiBub3Qgc3VwcG9ydGVkAERpY3Rpb25hcnkgaXMgY29ycnVwdGVkAE5vIGVycm9yIGRldGVjdGVkAERhdGEgY29ycnVwdGlvbiBkZXRlY3RlZABwbGVkZ2VkIGJ1ZmZlciBzdGFiaWxpdHkgY29uZGl0aW9uIGlzIG5vdCByZXNwZWN0ZWQAY29tcHJlc3NlZCBpbnB1dCB0cnVuY2F0ZWQAZGVjb21wcmVzc2lvbiBmYWlsZWQAenN0ZDogWlNURF9jcmVhdGVEU3RyZWFtIGZhaWxlZABzdHJlYW0gaXMgYWxyZWFkeSBmaW5pc2hlZABOQU4ASU5GADAuMTAuMQAuAChudWxsKQBFcnJvciAoZ2VuZXJpYykAY29tcHJlc3Npb24gbGV2ZWwgb3V0IG9mIHJhbmdlICgxLi4xMCkAIAQAASIBAAHBCAABCAQAAd8EAAH9BgABSwgAAUkIAAEuCAABMwEAAX4IAAG0BQABdAAAAUwCAAEZAAsAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkACgoZGRkDCgcAARsJCxgAAAkGCwAACwAGGQAAABkZGQBB8ZKACAshDgAAAAAAAAAAGQALDRkZGQANAAACAAkOAAAACQAOAAAOAEGrk4AICwEMAEG3k4AICxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQeWTgAgLARAAQfGTgAgLFQ8AAAAEDwAAAAAJEAAAAAAAEAAAEABBn5SACAsBEgBBq5SACAseEQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoaAEHilIAICw4aAAAAGhoaAAAAAAAACQBBk5WACAsBFABBn5WACAsVFwAAAAAXAAAAAAkUAAAAAAAUAAAUAEHNlYAICwEWAEHZlYAIC+QNFQAAAAAVAAAAAAkWAAAAAAAWAAAWAAAwMTIzNDU2Nzg5QUJDREVGU3VjY2VzcwBJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAExpbmsgaGFz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";
|
|
2892
2442
|
}
|
|
2893
2443
|
});
|
|
2894
2444
|
|
|
2895
|
-
//
|
|
2896
|
-
var
|
|
2897
|
-
__export(
|
|
2898
|
-
|
|
2445
|
+
// ../../node_modules/compress-utils/dist/algorithms/zstd/decompress/index.js
|
|
2446
|
+
var decompress_exports2 = {};
|
|
2447
|
+
__export(decompress_exports2, {
|
|
2448
|
+
CompressError: () => CompressError,
|
|
2449
|
+
createDecompressStream: () => createDecompressStream2,
|
|
2450
|
+
createDecompressStreamSync: () => createDecompressStreamSync2,
|
|
2451
|
+
decompress: () => decompress2,
|
|
2452
|
+
decompressSync: () => decompressSync2,
|
|
2453
|
+
decompressionStream: () => decompressionStream2,
|
|
2454
|
+
preload: () => preload2,
|
|
2455
|
+
setMaxDecompressedSize: () => setMaxDecompressedSize2,
|
|
2456
|
+
version: () => version3
|
|
2899
2457
|
});
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
|
|
2458
|
+
var bindings2, decompress2, decompressSync2, createDecompressStream2, createDecompressStreamSync2, decompressionStream2, preload2, version3, setMaxDecompressedSize2;
|
|
2459
|
+
var init_decompress2 = __esm({
|
|
2460
|
+
"../../node_modules/compress-utils/dist/algorithms/zstd/decompress/index.js"() {
|
|
2461
|
+
init_zstd();
|
|
2462
|
+
init_algorithm();
|
|
2463
|
+
init_types();
|
|
2464
|
+
init_types();
|
|
2465
|
+
bindings2 = /* @__PURE__ */ defineAlgorithm(Algorithm.Zstd, "zstd", new URL(zstd_default));
|
|
2466
|
+
decompress2 = bindings2.decompress;
|
|
2467
|
+
decompressSync2 = bindings2.decompressSync;
|
|
2468
|
+
createDecompressStream2 = bindings2.createDecompressStream;
|
|
2469
|
+
createDecompressStreamSync2 = bindings2.createDecompressStreamSync;
|
|
2470
|
+
decompressionStream2 = bindings2.decompressionStream;
|
|
2471
|
+
preload2 = bindings2.preload;
|
|
2472
|
+
version3 = bindings2.version;
|
|
2473
|
+
setMaxDecompressedSize2 = bindings2.setMaxDecompressedSize;
|
|
2907
2474
|
}
|
|
2908
2475
|
});
|
|
2909
2476
|
|
|
2910
|
-
// ../compression/src/
|
|
2911
|
-
var
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
});
|
|
2915
|
-
var CHUNK_SIZE, zstdPromise, zstd, ZstdCompression;
|
|
2916
|
-
var init_zstd_compression = __esm({
|
|
2917
|
-
"../compression/src/lib/zstd-compression.ts"() {
|
|
2477
|
+
// ../compression/src/zstd-decompressor-compress-utils.ts
|
|
2478
|
+
var ZstdCompressUtilsDecompressor;
|
|
2479
|
+
var init_zstd_decompressor_compress_utils = __esm({
|
|
2480
|
+
"../compression/src/zstd-decompressor-compress-utils.ts"() {
|
|
2918
2481
|
"use strict";
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
init_compression_stream();
|
|
2922
|
-
init_decompression_stream();
|
|
2923
|
-
CHUNK_SIZE = 1e6;
|
|
2924
|
-
ZstdCompression = class extends Compression {
|
|
2925
|
-
name = "zstd";
|
|
2926
|
-
extensions = [];
|
|
2927
|
-
contentEncodings = [];
|
|
2928
|
-
isSupported = true;
|
|
2929
|
-
options;
|
|
2930
|
-
/**
|
|
2931
|
-
* zstd-codec is an injectable dependency due to big size
|
|
2932
|
-
* @param options
|
|
2933
|
-
*/
|
|
2482
|
+
init_compress_utils_compression();
|
|
2483
|
+
ZstdCompressUtilsDecompressor = class extends CompressUtilsDecompressor {
|
|
2934
2484
|
constructor(options = {}) {
|
|
2935
|
-
super(
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
registerJSModules(modules);
|
|
2941
|
-
const ZstdCodec = getJSModuleOrNull("zstd-codec");
|
|
2942
|
-
if (!zstdPromise && ZstdCodec) {
|
|
2943
|
-
zstdPromise = new Promise((resolve) => ZstdCodec.run((zstd2) => resolve(zstd2)));
|
|
2944
|
-
}
|
|
2945
|
-
if (zstdPromise) {
|
|
2946
|
-
zstd = await zstdPromise;
|
|
2947
|
-
}
|
|
2948
|
-
}
|
|
2949
|
-
compressSync(input2) {
|
|
2950
|
-
getJSModule("zstd-codec", this.name);
|
|
2951
|
-
const simpleZstd = new zstd.Simple();
|
|
2952
|
-
const inputArray = new Uint8Array(input2);
|
|
2953
|
-
return simpleZstd.compress(inputArray).buffer;
|
|
2954
|
-
}
|
|
2955
|
-
async compress(input2) {
|
|
2956
|
-
if (this.options.useNative !== false && this.options.zstd?.useNative !== false) {
|
|
2957
|
-
const nativeOutput = await compressWithNativeCompressionStream(input2, "zstd");
|
|
2958
|
-
if (nativeOutput) return nativeOutput;
|
|
2959
|
-
}
|
|
2960
|
-
await this.preload();
|
|
2961
|
-
return this.compressSync(input2);
|
|
2962
|
-
}
|
|
2963
|
-
decompressSync(input2) {
|
|
2964
|
-
getJSModule("zstd-codec", this.name);
|
|
2965
|
-
const simpleZstd = new zstd.Simple();
|
|
2966
|
-
const inputArray = new Uint8Array(input2);
|
|
2967
|
-
return simpleZstd.decompress(inputArray).buffer;
|
|
2968
|
-
}
|
|
2969
|
-
async decompress(input2, size) {
|
|
2970
|
-
if (!getJSModuleOrNull("zstd-codec") && this.options.useNative !== false && this.options.zstd?.useNative !== false) {
|
|
2971
|
-
const nativeOutput = await decompressWithNativeDecompressionStream(input2, "zstd");
|
|
2972
|
-
if (nativeOutput) return nativeOutput;
|
|
2973
|
-
}
|
|
2974
|
-
await this.preload();
|
|
2975
|
-
const inputArray = new Uint8Array(input2);
|
|
2976
|
-
if (!zstd) {
|
|
2977
|
-
const { decompressZstd: decompressZstd2 } = await Promise.resolve().then(() => (init_zstd_fallback(), zstd_fallback_exports));
|
|
2978
|
-
return ensureArrayBuffer(decompressZstd2(inputArray));
|
|
2979
|
-
}
|
|
2980
|
-
const simpleZstd = new zstd.Streaming();
|
|
2981
|
-
const chunks = [];
|
|
2982
|
-
for (let i = 0; i <= inputArray.length; i += CHUNK_SIZE) {
|
|
2983
|
-
const chunkView = inputArray.subarray(i, i + CHUNK_SIZE);
|
|
2984
|
-
const chunkArrayBuffer = ensureArrayBuffer(chunkView);
|
|
2985
|
-
chunks.push(new Uint8Array(chunkArrayBuffer));
|
|
2986
|
-
}
|
|
2987
|
-
const decompressResult = await simpleZstd.decompressChunks(chunks);
|
|
2988
|
-
return decompressResult.buffer;
|
|
2485
|
+
super(
|
|
2486
|
+
{ name: "zstd", extensions: ["zst"], contentEncodings: ["zstd"] },
|
|
2487
|
+
() => Promise.resolve().then(() => (init_decompress2(), decompress_exports2)),
|
|
2488
|
+
options
|
|
2489
|
+
);
|
|
2989
2490
|
}
|
|
2990
2491
|
};
|
|
2991
2492
|
}
|
|
@@ -3000,48 +2501,18 @@ var __exports__ = (() => {
|
|
|
3000
2501
|
var init_zstd_decompressor = __esm({
|
|
3001
2502
|
"../compression/src/zstd-decompressor.ts"() {
|
|
3002
2503
|
"use strict";
|
|
3003
|
-
|
|
2504
|
+
init_zstd_decompressor_compress_utils();
|
|
3004
2505
|
init_decompression_stream();
|
|
3005
|
-
|
|
3006
|
-
|
|
3007
|
-
|
|
3008
|
-
compatibility = null;
|
|
3009
|
-
constructor(options = {}) {
|
|
3010
|
-
super(options);
|
|
3011
|
-
this.options = options;
|
|
3012
|
-
registerJSModules(options.modules);
|
|
3013
|
-
}
|
|
3014
|
-
/** Preloads an injected zstd-codec implementation when supplied. */
|
|
3015
|
-
async preload(modules = {}) {
|
|
3016
|
-
registerJSModules(modules);
|
|
3017
|
-
if (getJSModuleOrNull("zstd-codec")) {
|
|
3018
|
-
const { ZstdCompression: ZstdCompression2 } = await Promise.resolve().then(() => (init_zstd_compression(), zstd_compression_exports));
|
|
3019
|
-
this.compatibility ||= new ZstdCompression2(this.options);
|
|
3020
|
-
await this.compatibility.preload(modules);
|
|
3021
|
-
}
|
|
3022
|
-
}
|
|
3023
|
-
/** Decompresses with the built-in stream when available, then falls back to fzstd. */
|
|
3024
|
-
async decompress(input2) {
|
|
2506
|
+
ZstdDecompressor = class extends ZstdCompressUtilsDecompressor {
|
|
2507
|
+
/** Decompresses with native streams when available, otherwise lazily initializes WASM. */
|
|
2508
|
+
async decompress(input2, size) {
|
|
3025
2509
|
if (this.options.useNative !== false) {
|
|
3026
2510
|
const output2 = await decompressWithNativeDecompressionStream(input2, "zstd");
|
|
3027
2511
|
if (output2) return output2;
|
|
3028
2512
|
}
|
|
3029
|
-
|
|
3030
|
-
await this.preload(this.options.modules);
|
|
3031
|
-
}
|
|
3032
|
-
return this.decompressSync(input2);
|
|
3033
|
-
}
|
|
3034
|
-
/** Decompresses with a preloaded zstd-codec implementation or compact fzstd. */
|
|
3035
|
-
decompressSync(input2) {
|
|
3036
|
-
if (this.compatibility) {
|
|
3037
|
-
return this.compatibility.decompressSync(input2);
|
|
3038
|
-
}
|
|
3039
|
-
if (getJSModuleOrNull("zstd-codec")) {
|
|
3040
|
-
throw new Error("zstd: call preload() before synchronous decompression with zstd-codec");
|
|
3041
|
-
}
|
|
3042
|
-
return super.decompressSync(input2);
|
|
2513
|
+
return super.decompress(input2, size);
|
|
3043
2514
|
}
|
|
3044
|
-
/**
|
|
2515
|
+
/** Streams native batches when available, otherwise uses the WASM stream. */
|
|
3045
2516
|
async *decompressBatches(inputBatches) {
|
|
3046
2517
|
if (this.options.useNative !== false) {
|
|
3047
2518
|
const output2 = decompressBatchesWithNativeDecompressionStream(inputBatches, "zstd");
|
|
@@ -3050,10 +2521,6 @@ var __exports__ = (() => {
|
|
|
3050
2521
|
return;
|
|
3051
2522
|
}
|
|
3052
2523
|
}
|
|
3053
|
-
if (getJSModuleOrNull("zstd-codec")) {
|
|
3054
|
-
yield this.decompress(await this.concatenate(inputBatches));
|
|
3055
|
-
return;
|
|
3056
|
-
}
|
|
3057
2524
|
yield* super.decompressBatches(inputBatches);
|
|
3058
2525
|
}
|
|
3059
2526
|
};
|
|
@@ -3066,7 +2533,6 @@ var __exports__ = (() => {
|
|
|
3066
2533
|
"../compression/src/default-codecs.ts"() {
|
|
3067
2534
|
"use strict";
|
|
3068
2535
|
init_lazy_compression();
|
|
3069
|
-
init_src();
|
|
3070
2536
|
GZIP = { name: "gzip", extensions: ["gz"], contentEncodings: ["gzip"] };
|
|
3071
2537
|
ZSTD = { name: "zstd", extensions: ["zst"], contentEncodings: ["zstd"] };
|
|
3072
2538
|
GZipDecompressor2 = class extends LazyDecompressor {
|
|
@@ -3085,8 +2551,7 @@ var __exports__ = (() => {
|
|
|
3085
2551
|
ZSTD,
|
|
3086
2552
|
async () => (await Promise.resolve().then(() => (init_zstd_decompressor(), zstd_decompressor_exports))).ZstdDecompressor,
|
|
3087
2553
|
options,
|
|
3088
|
-
"zstd"
|
|
3089
|
-
(preloadOptions) => !preloadOptions.modules?.["zstd-codec"] && !getJSModuleOrNull("zstd-codec")
|
|
2554
|
+
"zstd"
|
|
3090
2555
|
);
|
|
3091
2556
|
}
|
|
3092
2557
|
};
|
|
@@ -3094,7 +2559,7 @@ var __exports__ = (() => {
|
|
|
3094
2559
|
});
|
|
3095
2560
|
|
|
3096
2561
|
// ../compression/src/index.ts
|
|
3097
|
-
var
|
|
2562
|
+
var init_src = __esm({
|
|
3098
2563
|
"../compression/src/index.ts"() {
|
|
3099
2564
|
"use strict";
|
|
3100
2565
|
init_default_codecs();
|
|
@@ -3298,7 +2763,7 @@ var __exports__ = (() => {
|
|
|
3298
2763
|
joinUint8Arrays: () => joinUint8Arrays,
|
|
3299
2764
|
memcpy: () => memcpy,
|
|
3300
2765
|
rebaseValueOffsets: () => rebaseValueOffsets,
|
|
3301
|
-
toArrayBufferView: () =>
|
|
2766
|
+
toArrayBufferView: () => toArrayBufferView,
|
|
3302
2767
|
toArrayBufferViewAsyncIterator: () => toArrayBufferViewAsyncIterator,
|
|
3303
2768
|
toArrayBufferViewIterator: () => toArrayBufferViewIterator,
|
|
3304
2769
|
toBigInt64Array: () => toBigInt64Array,
|
|
@@ -3381,7 +2846,7 @@ var __exports__ = (() => {
|
|
|
3381
2846
|
}
|
|
3382
2847
|
return [buffer || new Uint8Array(0), result.slice(index), byteLength - (buffer ? buffer.byteLength : 0)];
|
|
3383
2848
|
}
|
|
3384
|
-
function
|
|
2849
|
+
function toArrayBufferView(ArrayBufferViewCtor, input2) {
|
|
3385
2850
|
let value = isIteratorResult(input2) ? input2.value : input2;
|
|
3386
2851
|
if (value instanceof ArrayBufferViewCtor) {
|
|
3387
2852
|
if (ArrayBufferViewCtor === Uint8Array) {
|
|
@@ -3402,7 +2867,7 @@ var __exports__ = (() => {
|
|
|
3402
2867
|
return new ArrayBufferViewCtor(value);
|
|
3403
2868
|
}
|
|
3404
2869
|
if (isFlatbuffersByteBuffer(value)) {
|
|
3405
|
-
return
|
|
2870
|
+
return toArrayBufferView(ArrayBufferViewCtor, value.bytes());
|
|
3406
2871
|
}
|
|
3407
2872
|
return !ArrayBuffer.isView(value) ? ArrayBufferViewCtor.from(value) : value.byteLength <= 0 ? new ArrayBufferViewCtor(0) : new ArrayBufferViewCtor(value.buffer, value.byteOffset, value.byteLength / ArrayBufferViewCtor.BYTES_PER_ELEMENT);
|
|
3408
2873
|
}
|
|
@@ -3414,7 +2879,7 @@ var __exports__ = (() => {
|
|
|
3414
2879
|
yield* pump((function* (it) {
|
|
3415
2880
|
let r = null;
|
|
3416
2881
|
do {
|
|
3417
|
-
r = it.next(yield
|
|
2882
|
+
r = it.next(yield toArrayBufferView(ArrayCtor, r));
|
|
3418
2883
|
} while (!r.done);
|
|
3419
2884
|
})(buffers[Symbol.iterator]()));
|
|
3420
2885
|
return new ArrayCtor();
|
|
@@ -3446,7 +2911,7 @@ var __exports__ = (() => {
|
|
|
3446
2911
|
return __asyncGenerator(this, arguments, function* () {
|
|
3447
2912
|
let r = null;
|
|
3448
2913
|
do {
|
|
3449
|
-
r = yield __await(it.next(yield yield __await(
|
|
2914
|
+
r = yield __await(it.next(yield yield __await(toArrayBufferView(ArrayCtor, r))));
|
|
3450
2915
|
} while (!r.done);
|
|
3451
2916
|
});
|
|
3452
2917
|
})(buffers[Symbol.asyncIterator]()))))
|
|
@@ -3486,17 +2951,17 @@ var __exports__ = (() => {
|
|
|
3486
2951
|
init_utf8();
|
|
3487
2952
|
init_compat();
|
|
3488
2953
|
SharedArrayBuf = typeof SharedArrayBuffer !== "undefined" ? SharedArrayBuffer : ArrayBuffer;
|
|
3489
|
-
toInt8Array = (input2) =>
|
|
3490
|
-
toInt16Array = (input2) =>
|
|
3491
|
-
toInt32Array = (input2) =>
|
|
3492
|
-
toBigInt64Array = (input2) =>
|
|
3493
|
-
toUint8Array = (input2) =>
|
|
3494
|
-
toUint16Array = (input2) =>
|
|
3495
|
-
toUint32Array = (input2) =>
|
|
3496
|
-
toBigUint64Array = (input2) =>
|
|
3497
|
-
toFloat32Array = (input2) =>
|
|
3498
|
-
toFloat64Array = (input2) =>
|
|
3499
|
-
toUint8ClampedArray = (input2) =>
|
|
2954
|
+
toInt8Array = (input2) => toArrayBufferView(Int8Array, input2);
|
|
2955
|
+
toInt16Array = (input2) => toArrayBufferView(Int16Array, input2);
|
|
2956
|
+
toInt32Array = (input2) => toArrayBufferView(Int32Array, input2);
|
|
2957
|
+
toBigInt64Array = (input2) => toArrayBufferView(BigInt64Array, input2);
|
|
2958
|
+
toUint8Array = (input2) => toArrayBufferView(Uint8Array, input2);
|
|
2959
|
+
toUint16Array = (input2) => toArrayBufferView(Uint16Array, input2);
|
|
2960
|
+
toUint32Array = (input2) => toArrayBufferView(Uint32Array, input2);
|
|
2961
|
+
toBigUint64Array = (input2) => toArrayBufferView(BigUint64Array, input2);
|
|
2962
|
+
toFloat32Array = (input2) => toArrayBufferView(Float32Array, input2);
|
|
2963
|
+
toFloat64Array = (input2) => toArrayBufferView(Float64Array, input2);
|
|
2964
|
+
toUint8ClampedArray = (input2) => toArrayBufferView(Uint8ClampedArray, input2);
|
|
3500
2965
|
pump = (iterator) => {
|
|
3501
2966
|
iterator.next();
|
|
3502
2967
|
return iterator;
|
|
@@ -3633,7 +3098,7 @@ var __exports__ = (() => {
|
|
|
3633
3098
|
return __asyncGenerator(this, arguments, function* fromNodeStream_1() {
|
|
3634
3099
|
const events = [];
|
|
3635
3100
|
let event = "error";
|
|
3636
|
-
let done = false,
|
|
3101
|
+
let done = false, err = null;
|
|
3637
3102
|
let cmd, size, bufferLength = 0;
|
|
3638
3103
|
let buffers = [], buffer;
|
|
3639
3104
|
function byteRange() {
|
|
@@ -3653,7 +3118,7 @@ var __exports__ = (() => {
|
|
|
3653
3118
|
events[1] = onEvent(stream, "error");
|
|
3654
3119
|
do {
|
|
3655
3120
|
events[2] = onEvent(stream, "readable");
|
|
3656
|
-
[event,
|
|
3121
|
+
[event, err] = yield __await(Promise.race(events.map((x) => x[2])));
|
|
3657
3122
|
if (event === "error") {
|
|
3658
3123
|
break;
|
|
3659
3124
|
}
|
|
@@ -3678,10 +3143,10 @@ var __exports__ = (() => {
|
|
|
3678
3143
|
}
|
|
3679
3144
|
} while (!done);
|
|
3680
3145
|
} finally {
|
|
3681
|
-
yield __await(cleanup(events, event === "error" ?
|
|
3146
|
+
yield __await(cleanup(events, event === "error" ? err : null));
|
|
3682
3147
|
}
|
|
3683
3148
|
return yield __await(null);
|
|
3684
|
-
function cleanup(events2,
|
|
3149
|
+
function cleanup(events2, err2) {
|
|
3685
3150
|
buffer = buffers = null;
|
|
3686
3151
|
return new Promise((resolve, reject) => {
|
|
3687
3152
|
for (const [evt, fn] of events2) {
|
|
@@ -3689,12 +3154,12 @@ var __exports__ = (() => {
|
|
|
3689
3154
|
}
|
|
3690
3155
|
try {
|
|
3691
3156
|
const destroy = stream["destroy"];
|
|
3692
|
-
destroy && destroy.call(stream,
|
|
3693
|
-
|
|
3157
|
+
destroy && destroy.call(stream, err2);
|
|
3158
|
+
err2 = void 0;
|
|
3694
3159
|
} catch (e) {
|
|
3695
|
-
|
|
3160
|
+
err2 = e || err2;
|
|
3696
3161
|
} finally {
|
|
3697
|
-
|
|
3162
|
+
err2 != null ? reject(err2) : resolve();
|
|
3698
3163
|
}
|
|
3699
3164
|
});
|
|
3700
3165
|
}
|
|
@@ -6648,7 +6113,7 @@ var __exports__ = (() => {
|
|
|
6648
6113
|
});
|
|
6649
6114
|
function BigNum(x, ...xs) {
|
|
6650
6115
|
if (xs.length === 0) {
|
|
6651
|
-
return Object.setPrototypeOf(
|
|
6116
|
+
return Object.setPrototypeOf(toArrayBufferView(this["TypedArray"], x), this.constructor.prototype);
|
|
6652
6117
|
}
|
|
6653
6118
|
return Object.setPrototypeOf(new this["TypedArray"](x, ...xs), this.constructor.prototype);
|
|
6654
6119
|
}
|
|
@@ -7991,30 +7456,30 @@ var __exports__ = (() => {
|
|
|
7991
7456
|
return 32256;
|
|
7992
7457
|
}
|
|
7993
7458
|
f64[0] = d;
|
|
7994
|
-
const sign = (
|
|
7995
|
-
let expo =
|
|
7459
|
+
const sign = (u32[1] & 2147483648) >> 16 & 65535;
|
|
7460
|
+
let expo = u32[1] & 2146435072, sigf = 0;
|
|
7996
7461
|
if (expo >= 1089470464) {
|
|
7997
|
-
if (
|
|
7462
|
+
if (u32[0] > 0) {
|
|
7998
7463
|
expo = 31744;
|
|
7999
7464
|
} else {
|
|
8000
7465
|
expo = (expo & 2080374784) >> 16;
|
|
8001
|
-
sigf = (
|
|
7466
|
+
sigf = (u32[1] & 1048575) >> 10;
|
|
8002
7467
|
}
|
|
8003
7468
|
} else if (expo <= 1056964608) {
|
|
8004
|
-
sigf = 1048576 + (
|
|
7469
|
+
sigf = 1048576 + (u32[1] & 1048575);
|
|
8005
7470
|
sigf = 1048576 + (sigf << (expo >> 20) - 998) >> 21;
|
|
8006
7471
|
expo = 0;
|
|
8007
7472
|
} else {
|
|
8008
7473
|
expo = expo - 1056964608 >> 10;
|
|
8009
|
-
sigf = (
|
|
7474
|
+
sigf = (u32[1] & 1048575) + 512 >> 10;
|
|
8010
7475
|
}
|
|
8011
7476
|
return sign | expo | sigf & 65535;
|
|
8012
7477
|
}
|
|
8013
|
-
var f64,
|
|
7478
|
+
var f64, u32;
|
|
8014
7479
|
var init_math = __esm({
|
|
8015
7480
|
"../../node_modules/apache-arrow/util/math.mjs"() {
|
|
8016
7481
|
f64 = new Float64Array(1);
|
|
8017
|
-
|
|
7482
|
+
u32 = new Uint32Array(f64.buffer);
|
|
8018
7483
|
}
|
|
8019
7484
|
});
|
|
8020
7485
|
|
|
@@ -9337,21 +8802,21 @@ var __exports__ = (() => {
|
|
|
9337
8802
|
visitBool(props) {
|
|
9338
8803
|
const { ["type"]: type, ["offset"]: offset = 0 } = props;
|
|
9339
8804
|
const nullBitmap = toUint8Array(props["nullBitmap"]);
|
|
9340
|
-
const data =
|
|
8805
|
+
const data = toArrayBufferView(type.ArrayType, props["data"]);
|
|
9341
8806
|
const { ["length"]: length = data.length >> 3, ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
|
|
9342
8807
|
return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap]);
|
|
9343
8808
|
}
|
|
9344
8809
|
visitInt(props) {
|
|
9345
8810
|
const { ["type"]: type, ["offset"]: offset = 0 } = props;
|
|
9346
8811
|
const nullBitmap = toUint8Array(props["nullBitmap"]);
|
|
9347
|
-
const data =
|
|
8812
|
+
const data = toArrayBufferView(type.ArrayType, props["data"]);
|
|
9348
8813
|
const { ["length"]: length = data.length, ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
|
|
9349
8814
|
return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap]);
|
|
9350
8815
|
}
|
|
9351
8816
|
visitFloat(props) {
|
|
9352
8817
|
const { ["type"]: type, ["offset"]: offset = 0 } = props;
|
|
9353
8818
|
const nullBitmap = toUint8Array(props["nullBitmap"]);
|
|
9354
|
-
const data =
|
|
8819
|
+
const data = toArrayBufferView(type.ArrayType, props["data"]);
|
|
9355
8820
|
const { ["length"]: length = data.length, ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
|
|
9356
8821
|
return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap]);
|
|
9357
8822
|
}
|
|
@@ -9366,7 +8831,7 @@ var __exports__ = (() => {
|
|
|
9366
8831
|
visitUtf8View(props) {
|
|
9367
8832
|
var _a7;
|
|
9368
8833
|
const { ["type"]: type, ["offset"]: offset = 0 } = props;
|
|
9369
|
-
const views =
|
|
8834
|
+
const views = toArrayBufferView(type.ArrayType, props["views"]);
|
|
9370
8835
|
const nullBitmap = toUint8Array(props["nullBitmap"]);
|
|
9371
8836
|
const variadicBuffers = (props["variadicBuffers"] || []).map((buffer) => toUint8Array(buffer));
|
|
9372
8837
|
const length = (_a7 = props["length"]) !== null && _a7 !== void 0 ? _a7 : Math.trunc(views.length / Utf8View2.ELEMENT_WIDTH);
|
|
@@ -9392,7 +8857,7 @@ var __exports__ = (() => {
|
|
|
9392
8857
|
visitBinaryView(props) {
|
|
9393
8858
|
var _a7;
|
|
9394
8859
|
const { ["type"]: type, ["offset"]: offset = 0 } = props;
|
|
9395
|
-
const views =
|
|
8860
|
+
const views = toArrayBufferView(type.ArrayType, props["views"]);
|
|
9396
8861
|
const nullBitmap = toUint8Array(props["nullBitmap"]);
|
|
9397
8862
|
const variadicBuffers = (props["variadicBuffers"] || []).map((buffer) => toUint8Array(buffer));
|
|
9398
8863
|
const length = (_a7 = props["length"]) !== null && _a7 !== void 0 ? _a7 : Math.trunc(views.length / BinaryView2.ELEMENT_WIDTH);
|
|
@@ -9410,35 +8875,35 @@ var __exports__ = (() => {
|
|
|
9410
8875
|
visitFixedSizeBinary(props) {
|
|
9411
8876
|
const { ["type"]: type, ["offset"]: offset = 0 } = props;
|
|
9412
8877
|
const nullBitmap = toUint8Array(props["nullBitmap"]);
|
|
9413
|
-
const data =
|
|
8878
|
+
const data = toArrayBufferView(type.ArrayType, props["data"]);
|
|
9414
8879
|
const { ["length"]: length = data.length / strideForType(type), ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
|
|
9415
8880
|
return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap]);
|
|
9416
8881
|
}
|
|
9417
8882
|
visitDate(props) {
|
|
9418
8883
|
const { ["type"]: type, ["offset"]: offset = 0 } = props;
|
|
9419
8884
|
const nullBitmap = toUint8Array(props["nullBitmap"]);
|
|
9420
|
-
const data =
|
|
8885
|
+
const data = toArrayBufferView(type.ArrayType, props["data"]);
|
|
9421
8886
|
const { ["length"]: length = data.length / strideForType(type), ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
|
|
9422
8887
|
return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap]);
|
|
9423
8888
|
}
|
|
9424
8889
|
visitTimestamp(props) {
|
|
9425
8890
|
const { ["type"]: type, ["offset"]: offset = 0 } = props;
|
|
9426
8891
|
const nullBitmap = toUint8Array(props["nullBitmap"]);
|
|
9427
|
-
const data =
|
|
8892
|
+
const data = toArrayBufferView(type.ArrayType, props["data"]);
|
|
9428
8893
|
const { ["length"]: length = data.length / strideForType(type), ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
|
|
9429
8894
|
return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap]);
|
|
9430
8895
|
}
|
|
9431
8896
|
visitTime(props) {
|
|
9432
8897
|
const { ["type"]: type, ["offset"]: offset = 0 } = props;
|
|
9433
8898
|
const nullBitmap = toUint8Array(props["nullBitmap"]);
|
|
9434
|
-
const data =
|
|
8899
|
+
const data = toArrayBufferView(type.ArrayType, props["data"]);
|
|
9435
8900
|
const { ["length"]: length = data.length / strideForType(type), ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
|
|
9436
8901
|
return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap]);
|
|
9437
8902
|
}
|
|
9438
8903
|
visitDecimal(props) {
|
|
9439
8904
|
const { ["type"]: type, ["offset"]: offset = 0 } = props;
|
|
9440
8905
|
const nullBitmap = toUint8Array(props["nullBitmap"]);
|
|
9441
|
-
const data =
|
|
8906
|
+
const data = toArrayBufferView(type.ArrayType, props["data"]);
|
|
9442
8907
|
const { ["length"]: length = data.length / strideForType(type), ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
|
|
9443
8908
|
return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap]);
|
|
9444
8909
|
}
|
|
@@ -9464,7 +8929,7 @@ var __exports__ = (() => {
|
|
|
9464
8929
|
}
|
|
9465
8930
|
visitUnion(props) {
|
|
9466
8931
|
const { ["type"]: type, ["offset"]: offset = 0, ["children"]: children = [] } = props;
|
|
9467
|
-
const typeIds =
|
|
8932
|
+
const typeIds = toArrayBufferView(type.ArrayType, props["typeIds"]);
|
|
9468
8933
|
const { ["length"]: length = typeIds.length, ["nullCount"]: nullCount = -1 } = props;
|
|
9469
8934
|
if (DataType.isSparseUnion(type)) {
|
|
9470
8935
|
return new Data(type, offset, length, nullCount, [void 0, void 0, void 0, typeIds], children);
|
|
@@ -9475,7 +8940,7 @@ var __exports__ = (() => {
|
|
|
9475
8940
|
visitDictionary(props) {
|
|
9476
8941
|
const { ["type"]: type, ["offset"]: offset = 0 } = props;
|
|
9477
8942
|
const nullBitmap = toUint8Array(props["nullBitmap"]);
|
|
9478
|
-
const data =
|
|
8943
|
+
const data = toArrayBufferView(type.indices.ArrayType, props["data"]);
|
|
9479
8944
|
const { ["dictionary"]: dictionary = new Vector([new _MakeDataVisitor().visit({ type: type.dictionary })]) } = props;
|
|
9480
8945
|
const { ["length"]: length = data.length, ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
|
|
9481
8946
|
return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap], [], dictionary);
|
|
@@ -9483,14 +8948,14 @@ var __exports__ = (() => {
|
|
|
9483
8948
|
visitInterval(props) {
|
|
9484
8949
|
const { ["type"]: type, ["offset"]: offset = 0 } = props;
|
|
9485
8950
|
const nullBitmap = toUint8Array(props["nullBitmap"]);
|
|
9486
|
-
const data =
|
|
8951
|
+
const data = toArrayBufferView(type.ArrayType, props["data"]);
|
|
9487
8952
|
const { ["length"]: length = data.length / strideForType(type), ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
|
|
9488
8953
|
return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap]);
|
|
9489
8954
|
}
|
|
9490
8955
|
visitDuration(props) {
|
|
9491
8956
|
const { ["type"]: type, ["offset"]: offset = 0 } = props;
|
|
9492
8957
|
const nullBitmap = toUint8Array(props["nullBitmap"]);
|
|
9493
|
-
const data =
|
|
8958
|
+
const data = toArrayBufferView(type.ArrayType, props["data"]);
|
|
9494
8959
|
const { ["length"]: length = data.length, ["nullCount"]: nullCount = props["nullBitmap"] ? -1 : 0 } = props;
|
|
9495
8960
|
return new Data(type, offset, length, nullCount, [void 0, data, nullBitmap]);
|
|
9496
8961
|
}
|
|
@@ -10808,8 +10273,8 @@ return true;`);
|
|
|
10808
10273
|
static startFooter(builder) {
|
|
10809
10274
|
builder.startObject(5);
|
|
10810
10275
|
}
|
|
10811
|
-
static addVersion(builder,
|
|
10812
|
-
builder.addFieldInt16(0,
|
|
10276
|
+
static addVersion(builder, version7) {
|
|
10277
|
+
builder.addFieldInt16(0, version7, MetadataVersion.V1);
|
|
10813
10278
|
}
|
|
10814
10279
|
static addSchema(builder, schemaOffset) {
|
|
10815
10280
|
builder.addFieldOffset(1, schemaOffset, 0);
|
|
@@ -11032,8 +10497,8 @@ return true;`);
|
|
|
11032
10497
|
const b = new Builder3();
|
|
11033
10498
|
const schemaOffset = Schema2.encode(b, footer.schema);
|
|
11034
10499
|
Footer.startRecordBatchesVector(b, footer.numRecordBatches);
|
|
11035
|
-
for (const
|
|
11036
|
-
FileBlock.encode(b,
|
|
10500
|
+
for (const rb of [...footer.recordBatches()].slice().reverse()) {
|
|
10501
|
+
FileBlock.encode(b, rb);
|
|
11037
10502
|
}
|
|
11038
10503
|
const recordBatchesOffset = b.endVector();
|
|
11039
10504
|
Footer.startDictionariesVector(b, footer.numDictionaries);
|
|
@@ -11055,9 +10520,9 @@ return true;`);
|
|
|
11055
10520
|
get numDictionaries() {
|
|
11056
10521
|
return this._dictionaryBatches.length;
|
|
11057
10522
|
}
|
|
11058
|
-
constructor(schema,
|
|
10523
|
+
constructor(schema, version7 = MetadataVersion.V5, recordBatches, dictionaryBatches) {
|
|
11059
10524
|
this.schema = schema;
|
|
11060
|
-
this.version =
|
|
10525
|
+
this.version = version7;
|
|
11061
10526
|
recordBatches && (this._recordBatches = recordBatches);
|
|
11062
10527
|
dictionaryBatches && (this._dictionaryBatches = dictionaryBatches);
|
|
11063
10528
|
}
|
|
@@ -11185,8 +10650,8 @@ return true;`);
|
|
|
11185
10650
|
static startMessage(builder) {
|
|
11186
10651
|
builder.startObject(5);
|
|
11187
10652
|
}
|
|
11188
|
-
static addVersion(builder,
|
|
11189
|
-
builder.addFieldInt16(0,
|
|
10653
|
+
static addVersion(builder, version7) {
|
|
10654
|
+
builder.addFieldInt16(0, version7, MetadataVersion.V1);
|
|
11190
10655
|
}
|
|
11191
10656
|
static addHeaderType(builder, headerType) {
|
|
11192
10657
|
builder.addFieldInt8(1, headerType, MessageHeader.NONE);
|
|
@@ -11220,9 +10685,9 @@ return true;`);
|
|
|
11220
10685
|
static finishSizePrefixedMessageBuffer(builder, offset) {
|
|
11221
10686
|
builder.finish(offset, void 0, true);
|
|
11222
10687
|
}
|
|
11223
|
-
static createMessage(builder,
|
|
10688
|
+
static createMessage(builder, version7, headerType, headerOffset, bodyLength, customMetadataOffset) {
|
|
11224
10689
|
_Message.startMessage(builder);
|
|
11225
|
-
_Message.addVersion(builder,
|
|
10690
|
+
_Message.addVersion(builder, version7);
|
|
11226
10691
|
_Message.addHeaderType(builder, headerType);
|
|
11227
10692
|
_Message.addHeader(builder, headerOffset);
|
|
11228
10693
|
_Message.addBodyLength(builder, bodyLength);
|
|
@@ -11594,16 +11059,16 @@ return true;`);
|
|
|
11594
11059
|
throw new Error(`Unrecognized Message type: { name: ${MessageHeader[type]}, type: ${type} }`);
|
|
11595
11060
|
});
|
|
11596
11061
|
}
|
|
11597
|
-
function decodeSchema(_schema, dictionaries = /* @__PURE__ */ new Map(),
|
|
11062
|
+
function decodeSchema(_schema, dictionaries = /* @__PURE__ */ new Map(), version7 = MetadataVersion.V5) {
|
|
11598
11063
|
const fields = decodeSchemaFields(_schema, dictionaries);
|
|
11599
|
-
return new Schema2(fields, decodeCustomMetadata(_schema), dictionaries,
|
|
11064
|
+
return new Schema2(fields, decodeCustomMetadata(_schema), dictionaries, version7);
|
|
11600
11065
|
}
|
|
11601
|
-
function decodeRecordBatch(batch,
|
|
11602
|
-
const recordBatch = new RecordBatch2(batch.length(), decodeFieldNodes(batch), decodeBuffers(batch,
|
|
11066
|
+
function decodeRecordBatch(batch, version7 = MetadataVersion.V5) {
|
|
11067
|
+
const recordBatch = new RecordBatch2(batch.length(), decodeFieldNodes(batch), decodeBuffers(batch, version7), decodeBodyCompression(batch.compression()), decodeVariadicBufferCounts(batch));
|
|
11603
11068
|
return recordBatch;
|
|
11604
11069
|
}
|
|
11605
|
-
function decodeDictionaryBatch(batch,
|
|
11606
|
-
return new DictionaryBatch2(RecordBatch2.decode(batch.data(),
|
|
11070
|
+
function decodeDictionaryBatch(batch, version7 = MetadataVersion.V5) {
|
|
11071
|
+
return new DictionaryBatch2(RecordBatch2.decode(batch.data(), version7), batch.id(), batch.isDelta());
|
|
11607
11072
|
}
|
|
11608
11073
|
function decodeBufferRegion(b) {
|
|
11609
11074
|
return new BufferRegion(b.offset(), b.length());
|
|
@@ -11620,11 +11085,11 @@ return true;`);
|
|
|
11620
11085
|
}
|
|
11621
11086
|
return nodes;
|
|
11622
11087
|
}
|
|
11623
|
-
function decodeBuffers(batch,
|
|
11088
|
+
function decodeBuffers(batch, version7) {
|
|
11624
11089
|
const bufferRegions = [];
|
|
11625
11090
|
for (let b, i = -1, j = -1, n = batch.buffersLength(); ++i < n; ) {
|
|
11626
11091
|
if (b = batch.buffers(i)) {
|
|
11627
|
-
if (
|
|
11092
|
+
if (version7 < MetadataVersion.V4) {
|
|
11628
11093
|
b.bb_pos += 8 * (i + 1);
|
|
11629
11094
|
}
|
|
11630
11095
|
bufferRegions[++j] = BufferRegion.decode(b);
|
|
@@ -11949,10 +11414,10 @@ return true;`);
|
|
|
11949
11414
|
buf = new ByteBuffer3(toUint8Array(buf));
|
|
11950
11415
|
const _message = Message.getRootAsMessage(buf);
|
|
11951
11416
|
const bodyLength = _message.bodyLength();
|
|
11952
|
-
const
|
|
11417
|
+
const version7 = _message.version();
|
|
11953
11418
|
const headerType = _message.headerType();
|
|
11954
11419
|
const metadata = decodeMessageCustomMetadata(_message);
|
|
11955
|
-
const message = new _Message(bodyLength,
|
|
11420
|
+
const message = new _Message(bodyLength, version7, headerType, void 0, metadata);
|
|
11956
11421
|
message._createHeader = decodeMessageHeader(_message, headerType);
|
|
11957
11422
|
return message;
|
|
11958
11423
|
}
|
|
@@ -12029,8 +11494,8 @@ return true;`);
|
|
|
12029
11494
|
isDictionaryBatch() {
|
|
12030
11495
|
return this.headerType === MessageHeader.DictionaryBatch;
|
|
12031
11496
|
}
|
|
12032
|
-
constructor(bodyLength,
|
|
12033
|
-
this._version =
|
|
11497
|
+
constructor(bodyLength, version7, headerType, header, metadata) {
|
|
11498
|
+
this._version = version7;
|
|
12034
11499
|
this._headerType = headerType;
|
|
12035
11500
|
this.body = new Uint8Array(0);
|
|
12036
11501
|
this._compression = header === null || header === void 0 ? void 0 : header.compression;
|
|
@@ -13193,21 +12658,21 @@ return true;`);
|
|
|
13193
12658
|
return nullCount <= 0 ? new Uint8Array(0) : packBools(this.sources[offset]);
|
|
13194
12659
|
}
|
|
13195
12660
|
readOffsets(_type, { offset } = this.nextBufferRange()) {
|
|
13196
|
-
return
|
|
12661
|
+
return toArrayBufferView(Uint8Array, toArrayBufferView(_type.OffsetArrayType, this.sources[offset]));
|
|
13197
12662
|
}
|
|
13198
12663
|
readTypeIds(type, { offset } = this.nextBufferRange()) {
|
|
13199
|
-
return
|
|
12664
|
+
return toArrayBufferView(Uint8Array, toArrayBufferView(type.ArrayType, this.sources[offset]));
|
|
13200
12665
|
}
|
|
13201
12666
|
readData(type, { offset } = this.nextBufferRange()) {
|
|
13202
12667
|
const { sources } = this;
|
|
13203
12668
|
if (DataType.isTimestamp(type)) {
|
|
13204
|
-
return
|
|
12669
|
+
return toArrayBufferView(Uint8Array, Int642.convertArray(sources[offset]));
|
|
13205
12670
|
} else if ((DataType.isInt(type) || DataType.isTime(type)) && type.bitWidth === 64 || DataType.isDuration(type)) {
|
|
13206
|
-
return
|
|
12671
|
+
return toArrayBufferView(Uint8Array, Int642.convertArray(sources[offset]));
|
|
13207
12672
|
} else if (DataType.isDate(type) && type.unit === DateUnit.MILLISECOND) {
|
|
13208
|
-
return
|
|
12673
|
+
return toArrayBufferView(Uint8Array, Int642.convertArray(sources[offset]));
|
|
13209
12674
|
} else if (DataType.isDecimal(type)) {
|
|
13210
|
-
return
|
|
12675
|
+
return toArrayBufferView(Uint8Array, Int128.convertArray(sources[offset]));
|
|
13211
12676
|
} else if (DataType.isBinary(type) || DataType.isLargeBinary(type) || DataType.isFixedSizeBinary(type)) {
|
|
13212
12677
|
return binaryDataFromJSON(sources[offset]);
|
|
13213
12678
|
} else if (DataType.isBinaryView(type)) {
|
|
@@ -13228,7 +12693,7 @@ return true;`);
|
|
|
13228
12693
|
break;
|
|
13229
12694
|
}
|
|
13230
12695
|
}
|
|
13231
|
-
return
|
|
12696
|
+
return toArrayBufferView(Uint8Array, toArrayBufferView(type.ArrayType, sources[offset].map((x) => +x)));
|
|
13232
12697
|
}
|
|
13233
12698
|
readVariadicBuffers(length) {
|
|
13234
12699
|
const buffers = [];
|
|
@@ -14846,7 +14311,7 @@ return true;`);
|
|
|
14846
14311
|
});
|
|
14847
14312
|
|
|
14848
14313
|
// ../../node_modules/apache-arrow/recordbatch.mjs
|
|
14849
|
-
function ensureSameLengthData(schema, chunks, maxLength = chunks.reduce((
|
|
14314
|
+
function ensureSameLengthData(schema, chunks, maxLength = chunks.reduce((max, col) => Math.max(max, col.length), 0)) {
|
|
14850
14315
|
var _b2;
|
|
14851
14316
|
const fields = [...schema.fields];
|
|
14852
14317
|
const children = [...chunks];
|
|
@@ -15511,8 +14976,8 @@ return true;`);
|
|
|
15511
14976
|
});
|
|
15512
14977
|
|
|
15513
14978
|
// ../../node_modules/apache-arrow/ipc/reader.mjs
|
|
15514
|
-
function shouldAutoDestroy(
|
|
15515
|
-
return options && typeof options["autoDestroy"] === "boolean" ? options["autoDestroy"] :
|
|
14979
|
+
function shouldAutoDestroy(self2, options) {
|
|
14980
|
+
return options && typeof options["autoDestroy"] === "boolean" ? options["autoDestroy"] : self2["autoDestroy"];
|
|
15516
14981
|
}
|
|
15517
14982
|
function* readAllSync(source) {
|
|
15518
14983
|
const reader = RecordBatchReader.from(source);
|
|
@@ -17325,12 +16790,12 @@ return true;`);
|
|
|
17325
16790
|
return makeGaussianSplatsArrowTable(await parseSPZToGaussianSplats(data, options));
|
|
17326
16791
|
}
|
|
17327
16792
|
async function parseSPZToGaussianSplats(data, options) {
|
|
17328
|
-
const
|
|
17329
|
-
if (
|
|
16793
|
+
const version7 = detectSPZVersion(data);
|
|
16794
|
+
if (version7 === 0) {
|
|
17330
16795
|
return await parseLegacySPZ(data, options);
|
|
17331
16796
|
}
|
|
17332
|
-
if (
|
|
17333
|
-
throw new Error(`SPZLoader: version ${
|
|
16797
|
+
if (version7 !== SPZ_VERSION) {
|
|
16798
|
+
throw new Error(`SPZLoader: version ${version7} is not supported.`);
|
|
17334
16799
|
}
|
|
17335
16800
|
const header = parseSPZHeader(data);
|
|
17336
16801
|
const streamInfos = parseSPZStreamInfos(data, header, getSPZStreamByteLengths(header));
|
|
@@ -17725,7 +17190,7 @@ return true;`);
|
|
|
17725
17190
|
var init_parse_spz = __esm({
|
|
17726
17191
|
"src/lib/parse-spz.ts"() {
|
|
17727
17192
|
"use strict";
|
|
17728
|
-
|
|
17193
|
+
init_src();
|
|
17729
17194
|
init_splats_arrow_table();
|
|
17730
17195
|
init_splat_utils();
|
|
17731
17196
|
SPZ_HEADER_BYTE_LENGTH = 32;
|
|
@@ -17824,7 +17289,7 @@ return true;`);
|
|
|
17824
17289
|
});
|
|
17825
17290
|
|
|
17826
17291
|
// src/splat-loader-types.ts
|
|
17827
|
-
async function
|
|
17292
|
+
async function preload3() {
|
|
17828
17293
|
const { SPLATLoaderWithParser: SPLATLoaderWithParser2 } = await Promise.resolve().then(() => (init_splat_loader(), splat_loader_exports));
|
|
17829
17294
|
return SPLATLoaderWithParser2;
|
|
17830
17295
|
}
|
|
@@ -17844,7 +17309,7 @@ return true;`);
|
|
|
17844
17309
|
shape: "arrow-table"
|
|
17845
17310
|
}
|
|
17846
17311
|
},
|
|
17847
|
-
preload
|
|
17312
|
+
preload: preload3
|
|
17848
17313
|
};
|
|
17849
17314
|
}
|
|
17850
17315
|
});
|
|
@@ -18230,7 +17695,7 @@ return true;`);
|
|
|
18230
17695
|
});
|
|
18231
17696
|
|
|
18232
17697
|
// src/ksplat-loader-types.ts
|
|
18233
|
-
async function
|
|
17698
|
+
async function preload4() {
|
|
18234
17699
|
const { KSPLATLoaderWithParser: KSPLATLoaderWithParser2 } = await Promise.resolve().then(() => (init_ksplat_loader(), ksplat_loader_exports));
|
|
18235
17700
|
return KSPLATLoaderWithParser2;
|
|
18236
17701
|
}
|
|
@@ -18250,7 +17715,7 @@ return true;`);
|
|
|
18250
17715
|
shape: "arrow-table"
|
|
18251
17716
|
}
|
|
18252
17717
|
},
|
|
18253
|
-
preload:
|
|
17718
|
+
preload: preload4
|
|
18254
17719
|
};
|
|
18255
17720
|
}
|
|
18256
17721
|
});
|
|
@@ -18275,7 +17740,7 @@ return true;`);
|
|
|
18275
17740
|
});
|
|
18276
17741
|
|
|
18277
17742
|
// src/spz-loader-types.ts
|
|
18278
|
-
async function
|
|
17743
|
+
async function preload5() {
|
|
18279
17744
|
const { SPZLoaderWithParser: SPZLoaderWithParser2 } = await Promise.resolve().then(() => (init_spz_loader(), spz_loader_exports));
|
|
18280
17745
|
return SPZLoaderWithParser2;
|
|
18281
17746
|
}
|
|
@@ -18295,7 +17760,7 @@ return true;`);
|
|
|
18295
17760
|
shape: "arrow-table"
|
|
18296
17761
|
}
|
|
18297
17762
|
},
|
|
18298
|
-
preload:
|
|
17763
|
+
preload: preload5
|
|
18299
17764
|
};
|
|
18300
17765
|
}
|
|
18301
17766
|
});
|
|
@@ -18309,7 +17774,7 @@ return true;`);
|
|
|
18309
17774
|
NUMBER_FORMAT_RANGES: () => NUMBER_FORMAT_RANGES,
|
|
18310
17775
|
aborted: () => aborted,
|
|
18311
17776
|
allowsEval: () => allowsEval,
|
|
18312
|
-
assert: () =>
|
|
17777
|
+
assert: () => assert3,
|
|
18313
17778
|
assertEqual: () => assertEqual,
|
|
18314
17779
|
assertIs: () => assertIs,
|
|
18315
17780
|
assertNever: () => assertNever,
|
|
@@ -18393,7 +17858,7 @@ return true;`);
|
|
|
18393
17858
|
function assertNever(_x2) {
|
|
18394
17859
|
throw new Error("Unexpected value in exhaustive check");
|
|
18395
17860
|
}
|
|
18396
|
-
function
|
|
17861
|
+
function assert3(_) {
|
|
18397
17862
|
}
|
|
18398
17863
|
function getEnumValues(entries) {
|
|
18399
17864
|
const numericValues = Object.values(entries).filter((v) => typeof v === "number");
|
|
@@ -18997,10 +18462,10 @@ return true;`);
|
|
|
18997
18462
|
Object.defineProperty(this, key, { configurable: true, writable: true, value });
|
|
18998
18463
|
broke = broke || outer;
|
|
18999
18464
|
return value;
|
|
19000
|
-
} catch (
|
|
18465
|
+
} catch (err) {
|
|
19001
18466
|
delete this[key];
|
|
19002
18467
|
broke = broke || outer;
|
|
19003
|
-
throw
|
|
18468
|
+
throw err;
|
|
19004
18469
|
}
|
|
19005
18470
|
},
|
|
19006
18471
|
set(value) {
|
|
@@ -19588,18 +19053,18 @@ return true;`);
|
|
|
19588
19053
|
return result.issues.length === 0;
|
|
19589
19054
|
};
|
|
19590
19055
|
_encode = (_Err) => {
|
|
19591
|
-
const
|
|
19056
|
+
const parse4 = _parse(_Err);
|
|
19592
19057
|
const fn = (schema, value, _ctx, _params) => {
|
|
19593
19058
|
const ctx = _ctx ? { ..._ctx, direction: "backward" } : { direction: "backward" };
|
|
19594
|
-
return
|
|
19059
|
+
return parse4(schema, value, ctx, finalizeParams(fn, _params));
|
|
19595
19060
|
};
|
|
19596
19061
|
return fn;
|
|
19597
19062
|
};
|
|
19598
19063
|
encode = /* @__PURE__ */ _encode($ZodRealError);
|
|
19599
19064
|
_decode = (_Err) => {
|
|
19600
|
-
const
|
|
19065
|
+
const parse4 = _parse(_Err);
|
|
19601
19066
|
const fn = (schema, value, _ctx, _params) => {
|
|
19602
|
-
return
|
|
19067
|
+
return parse4(schema, value, _ctx, finalizeParams(fn, _params));
|
|
19603
19068
|
};
|
|
19604
19069
|
return fn;
|
|
19605
19070
|
};
|
|
@@ -19754,10 +19219,10 @@ return true;`);
|
|
|
19754
19219
|
duration = /^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;
|
|
19755
19220
|
extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/;
|
|
19756
19221
|
guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;
|
|
19757
|
-
uuid = (
|
|
19758
|
-
if (!
|
|
19222
|
+
uuid = (version7) => {
|
|
19223
|
+
if (!version7)
|
|
19759
19224
|
return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;
|
|
19760
|
-
return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${
|
|
19225
|
+
return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version7}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);
|
|
19761
19226
|
};
|
|
19762
19227
|
uuid4 = /* @__PURE__ */ uuid(4);
|
|
19763
19228
|
uuid6 = /* @__PURE__ */ uuid(6);
|
|
@@ -20351,10 +19816,10 @@ ${content.join("\n")}
|
|
|
20351
19816
|
});
|
|
20352
19817
|
|
|
20353
19818
|
// ../../node_modules/zod/v4/core/versions.js
|
|
20354
|
-
var
|
|
19819
|
+
var version4;
|
|
20355
19820
|
var init_versions = __esm({
|
|
20356
19821
|
"../../node_modules/zod/v4/core/versions.js"() {
|
|
20357
|
-
|
|
19822
|
+
version4 = {
|
|
20358
19823
|
major: 4,
|
|
20359
19824
|
minor: 6,
|
|
20360
19825
|
patch: 5
|
|
@@ -21035,7 +20500,7 @@ ${content.join("\n")}
|
|
|
21035
20500
|
inst ?? (inst = {});
|
|
21036
20501
|
inst._zod.def = def;
|
|
21037
20502
|
inst._zod.bag = inst._zod.bag || {};
|
|
21038
|
-
inst._zod.version =
|
|
20503
|
+
inst._zod.version = version4;
|
|
21039
20504
|
const defChecks = inst._zod.def.checks;
|
|
21040
20505
|
const checks = inst._zod.traits.has("$ZodCheck") ? [inst, ...defChecks ?? []] : defChecks?.length ? [...defChecks] : [];
|
|
21041
20506
|
for (const ch of checks) {
|
|
@@ -31149,9 +30614,9 @@ ${content.join("\n")}
|
|
|
31149
30614
|
const clone2 = withParser(schema, parser);
|
|
31150
30615
|
clone2._zod.bag.validator = compileValidator(schema, parser);
|
|
31151
30616
|
return clone2;
|
|
31152
|
-
} catch (
|
|
30617
|
+
} catch (err) {
|
|
31153
30618
|
if (options?.strict)
|
|
31154
|
-
throw
|
|
30619
|
+
throw err;
|
|
31155
30620
|
return schema;
|
|
31156
30621
|
}
|
|
31157
30622
|
}
|
|
@@ -31241,8 +30706,8 @@ ${code}
|
|
|
31241
30706
|
try {
|
|
31242
30707
|
const factory = new F(...constantNames, factoryCode);
|
|
31243
30708
|
fn = factory(...constantValues);
|
|
31244
|
-
} catch (
|
|
31245
|
-
throw new ZodCompileUnsupportedError(`this schema (generated code failed to evaluate: ${
|
|
30709
|
+
} catch (err) {
|
|
30710
|
+
throw new ZodCompileUnsupportedError(`this schema (generated code failed to evaluate: ${err.message})`);
|
|
31246
30711
|
}
|
|
31247
30712
|
if (options?.debug) {
|
|
31248
30713
|
fn.code = fullCode;
|
|
@@ -31280,9 +30745,9 @@ ${code}
|
|
|
31280
30745
|
const varCounter = ctx.varCounter;
|
|
31281
30746
|
try {
|
|
31282
30747
|
return generateCheck(doc, ctx, schema, accessor, needsValue);
|
|
31283
|
-
} catch (
|
|
31284
|
-
if (!(
|
|
31285
|
-
throw
|
|
30748
|
+
} catch (err) {
|
|
30749
|
+
if (!(err instanceof ZodCompileUnsupportedError) || !err.islandable)
|
|
30750
|
+
throw err;
|
|
31286
30751
|
doc.content.length = contentLen;
|
|
31287
30752
|
if (ctx.constants.size > constantCount) {
|
|
31288
30753
|
const trailing = Array.from(ctx.constants.keys()).slice(constantCount);
|
|
@@ -31333,9 +30798,9 @@ ${code}
|
|
|
31333
30798
|
break;
|
|
31334
30799
|
}
|
|
31335
30800
|
case "max_length": {
|
|
31336
|
-
const
|
|
31337
|
-
const len = codePointLengthVar(doc, ctx, currentAccessor, `${currentAccessor}.length > ${
|
|
31338
|
-
doc.write(`if (${len} > ${
|
|
30801
|
+
const max = numericOperand(def.maximum, "max_length");
|
|
30802
|
+
const len = codePointLengthVar(doc, ctx, currentAccessor, `${currentAccessor}.length > ${max}`);
|
|
30803
|
+
doc.write(`if (${len} > ${max}) return INVALID;`);
|
|
31339
30804
|
break;
|
|
31340
30805
|
}
|
|
31341
30806
|
case "length_equals": {
|
|
@@ -35515,7 +34980,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
35515
34980
|
validate: () => validate,
|
|
35516
34981
|
validateAsync: () => validateAsync,
|
|
35517
34982
|
validateURL: () => validateURL,
|
|
35518
|
-
version: () =>
|
|
34983
|
+
version: () => version4,
|
|
35519
34984
|
withParser: () => withParser
|
|
35520
34985
|
});
|
|
35521
34986
|
var init_core2 = __esm({
|
|
@@ -35611,15 +35076,15 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
35611
35076
|
if (_installedErrorProtos.has(proto))
|
|
35612
35077
|
return;
|
|
35613
35078
|
_installedErrorProtos.add(proto);
|
|
35614
|
-
_lazyMethod(proto, "format", (
|
|
35615
|
-
_lazyMethod(proto, "flatten", (
|
|
35616
|
-
_lazyMethod(proto, "addIssue", (
|
|
35617
|
-
|
|
35618
|
-
|
|
35079
|
+
_lazyMethod(proto, "format", (self2) => (mapper) => formatError(self2, mapper));
|
|
35080
|
+
_lazyMethod(proto, "flatten", (self2) => (mapper) => flattenError(self2, mapper));
|
|
35081
|
+
_lazyMethod(proto, "addIssue", (self2) => (issue2) => {
|
|
35082
|
+
self2.issues.push(issue2);
|
|
35083
|
+
self2.message = JSON.stringify(self2.issues, jsonStringifyReplacer, 2);
|
|
35619
35084
|
});
|
|
35620
|
-
_lazyMethod(proto, "addIssues", (
|
|
35621
|
-
|
|
35622
|
-
|
|
35085
|
+
_lazyMethod(proto, "addIssues", (self2) => (issues2) => {
|
|
35086
|
+
self2.issues.push(...issues2);
|
|
35087
|
+
self2.message = JSON.stringify(self2.issues, jsonStringifyReplacer, 2);
|
|
35623
35088
|
});
|
|
35624
35089
|
Object.defineProperty(proto, "isEmpty", {
|
|
35625
35090
|
configurable: true,
|
|
@@ -36983,7 +36448,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
36983
36448
|
$ZodObjectJIT.init(inst, def);
|
|
36984
36449
|
ZodType.init(inst, def);
|
|
36985
36450
|
inst._zod.processJSONSchema = (ctx, json2, params) => objectProcessor(inst, ctx, json2, params);
|
|
36986
|
-
util_exports.installLazyProp(inst, "shape", (
|
|
36451
|
+
util_exports.installLazyProp(inst, "shape", (self2) => self2._zod.def.shape, false);
|
|
36987
36452
|
}, {
|
|
36988
36453
|
keyof() {
|
|
36989
36454
|
return _enum2(Object.keys(this._zod.def.shape));
|
|
@@ -37995,10 +37460,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
37995
37460
|
} catch {
|
|
37996
37461
|
throw new Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas");
|
|
37997
37462
|
}
|
|
37998
|
-
const
|
|
37463
|
+
const version7 = detectVersion(normalized, params?.defaultTarget);
|
|
37999
37464
|
const defs = normalized.$defs || normalized.definitions || {};
|
|
38000
37465
|
const ctx = {
|
|
38001
|
-
version:
|
|
37466
|
+
version: version7,
|
|
38002
37467
|
defs,
|
|
38003
37468
|
refs: /* @__PURE__ */ new Map(),
|
|
38004
37469
|
processing: /* @__PURE__ */ new Set(),
|
|
@@ -38836,34 +38301,91 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
38836
38301
|
}
|
|
38837
38302
|
});
|
|
38838
38303
|
|
|
38839
|
-
//
|
|
38840
|
-
var
|
|
38841
|
-
var
|
|
38842
|
-
"
|
|
38304
|
+
// compress-utils-wasm:/home/runner/work/loaders.gl/loaders.gl/node_modules/compress-utils/dist/algorithms/zlib/decompress/zlib.wasm
|
|
38305
|
+
var zlib_default;
|
|
38306
|
+
var init_zlib = __esm({
|
|
38307
|
+
"compress-utils-wasm:/home/runner/work/loaders.gl/loaders.gl/node_modules/compress-utils/dist/algorithms/zlib/decompress/zlib.wasm"() {
|
|
38308
|
+
zlib_default = "data:application/wasm;base64,AGFzbQEAAAABcRFgAn9/AGADf39/AX9gAX8Bf2ABfwBgBX9/f39/AX9gAn9/AX9gBH9/f38Bf2AFf35+fn4AYAR+fn5+AX9gBH9+fn8AYAABf2ADf39/AGAGf39/f39/AX9gAABgBH9+fn4AYAV/f39/fwBgA39/fgF/AzQzDQ4HBwgICQkCBQIFAwoCAAEECgIDBAYFBAEDCwsPBgUFAgECBAQBAwwCAwYCAQEBAAwQBAUBcAEQEAUEAQCBAgYJAX8BQYCAgAgLB7ICDwZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAACmN1X3ZlcnNpb24ADRZjdV9hbGdvcml0aG1fYXZhaWxhYmxlAA4NY3VfbGFzdF9lcnJvcgASC2N1X3N0cmVycm9yABMcY3Vfc2V0X21heF9kZWNvbXByZXNzZWRfc2l6ZQAUDWN1X2RlY29tcHJlc3MAFRdjdV9kZWNvbXByZXNzX3NpemVfaGludAAWG2N1X2RlY29tcHJlc3Nfc3RyZWFtX2NyZWF0ZQAXGmN1X2RlY29tcHJlc3Nfc3RyZWFtX3dyaXRlABgbY3VfZGVjb21wcmVzc19zdHJlYW1fZmluaXNoABkcY3VfZGVjb21wcmVzc19zdHJlYW1fZGVzdHJveQAaCGN1X2FsbG9jACkHY3VfZnJlZQAqCRUBAEEBCw8QLzAeIiMkJicrIiwkJicMARIK8cICMxgAQYDagAgoAgAEQAALQYDagAhBATYCAAutCgIFfxB+IwBB4ABrIgQkACADQv///////z+DIQwgAiADhUKAgICAgICAgIB/gyELIAJC////////P4MiDUIgiCEPAkACQCACQjCIp0H//wFxIgZB//8Ba0GCgH5PIANCMIinQf//AXEiB0H//wFrQYKAfk9xDQAgAVAgAkL///////////8AgyIJQoCAgICAgMD//wBUIAlCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhCwwCCyADQv///////////wCDIgJCgICAgICAwP//AFQgAkKAgICAgIDA//8AUXJFBEAgA0KAgICAgIAghCELQgAhAQwCCyABIAlCgICAgICAwP//AIWEUARAIAJQBEBCgICAgICA4P//ACELQgAhAQwDCyALQoCAgICAgMD//wCEIQtCACEBDAILIAJCgICAgICAwP//AIVQRQRAIAEgCYRQBEBCACEBDAMLIAJQBEBCACEBDAMLIAlCgICAgICAwABUBEAgBEHQAGogASANIA15IAF5QkB9IA1CAFIbp0EPa0H/AXEiBRAHQQEgBWshBSAEKQNYIg1CIIghDyAEKQNQIQELIAJCgICAgICAwABaDQEgBEFAa0IAIAwgDHlCgAEgDEIAUhunQQ9rQf8BcSIIEAcgBSAIa0EBaiEFIAQpA0ghDCAEKQNAIQoMAQsgASAJhEIAIQFQBEBCgICAgICA4P//ACELDAILIAtCgICAgICAwP//AIQhCwwBCyAKQg+GIglCgID+/w+DIgIgAUIgiCIDfiIRIAlCIIgiDiABQv////8PgyIBfnwiEEIghiISIAEgAn58IgkgElStIA1C/////w+DIg0gAn4iFSADIA5+fCISIAxCD4YiEyAKQjGIhEL/////D4MiCiABfnwiFCAQIBFUrUIghiAQQiCIhHwiECACIA9CgIAEhCIMfiIWIA0gDn58Ig8gE0IgiEKAgICACIQiAiABfnwiESADIAp+fCITQiCGfCIXfCEBIAYgB2ogBWpB//8AayEFAkAgAiADfiIYIAwgDn58IgMgGFStIAMgAyAKIA1+fCIOVq18IAIgDH58IAogDH4iAyACIA1+fCICIANUrUIghiACQiCIhHwgDiACQiCGfCICIA5UrXwgAiACIBIgFVStIBIgFFatfHwiA1atfCADIAMgESATVq0gDyAWVK0gDyARVq18fEIghiATQiCIhHwiClatfCAKIAogECAUVK0gECAXVq18fCICVq18IgNCgICAgICAwACDUEUEQCAFQQFqIQUMAQsgCUI/iCADQgGGIAJCP4iEIQMgAkIBhiABQj+IhCECIAlCAYYhCSABQgGGhCEBCyAFQf7/AUoEQCALQoCAgICAgMD//wCEIQtCACEBDAELAkAgBUEASgRAIANC////////P4MgBa1CMIaEIQoMAQtBASAFayIGQf8ATQRAIARBMGogAiADIAVBAWtB/wBxIgUQByAEQRBqIAkgASAGEAYgBEEgaiACIAMgBhAGIAQgCSABIAUQByAEKQMAIAQpAwiEQgBSrSAEKQMwIAQpAxCEhCEJIAQpAzggBCkDGIQhASAEKQMoIQogBCkDICECDAELQgAhAQwBCyAKIAIgAiAJQgBSIAFCgICAgICAgICAf1YgAUKAgICAgICAgIB/URutfCIDVq18IAMgAyAJIAFCgICAgICAgICAf4WEUK2DIgJ8IgEgAlStfCALhCELCyAAIAE3AwAgACALNwMIIARB4ABqJAALowkCBH8EfiMAQeAAayIFJAAgBEKAgICAgICAgIB/hSEKIARC////////////AIMhBAJAAkAgAVAiBiACQv///////////wCDIglCgICAgICAwP//AH1CgICAgICAwICAf1QgCVAbRQRAIANQIARCgICAgICAwP//AH0iC0KAgICAgIDAgIB/VCALQoCAgICAgMCAgH9RG0UNAQsgBiAJQoCAgICAgMD//wBUIAlCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhAgwCCyADUCAEQoCAgICAgMD//wBUIARCgICAgICAwP//AFEbRQRAIApCgICAgICAIIQhAiADIQEMAgsgASAJQoCAgICAgMD//wCFhFAEQEKAgICAgIDg//8AIAIgASADhSACIAqFQoCAgICAgICAgH+FhFAiBhshAkIAIAEgBhshAQwCCwJAIAMgBEKAgICAgIDA//8AhYRQDQAgASAJhFAEQCADIASEUEUNASABIAODIQEgAiAKgyECDAMLIAMgBIRQRQ0BDAILIAMhASAKIQIMAQsgAyABIAEgA1QgBCAJViAEIAlRGyIIGyEJIAogAiAIGyIMQv///////z+DIQQgAiAKIAgbIgtCMIinQf//AXEhByAMQjCIp0H//wFxIgZFBEAgBUHQAGogCSAEIAR5IAl5QkB9IARCAFIbp0EPa0H/AXEiBhAHQQEgBmshBiAFKQNQIQkgBSkDWCEECyABIAMgCBshASALQv///////z+DIQMgB0UEQCAFQUBrIAEgAyADeSABeUJAfSADQgBSG6dBD2tB/wFxIgcQB0EBIAdrIQcgBSkDSCEDIAUpA0AhAQsgA0IDhiABQj2IhEKAgICAgICABIQhAyAEQgOGIAlCPYiEIAFCA4YhBCACIAqFIQECQCAGIAdGDQAgBiAHayIHQf8ASwRAQgAhA0IBIQQMAQsgBUEwaiAEIANBACAHa0H/AHEQByAFQSBqIAQgAyAHEAYgBSkDICAFKQMwIAUpAziEQgBSrYQhBCAFKQMoIQMLQoCAgICAgIAEhCELIAlCA4YhCiAMQoCAgICAgICAgH+DIQkCQAJAAkAgAUIAUwRAQgAhAUIAIQIgBCAKhSADIAuFhFBFDQEMBAsgBCAKfCIBIARUrSADIAt8fCICQoCAgICAgIAIg1ANASAEQgGDIAJCP4YgAUIBiISEIQEgBkEBaiEGIAJCAYghAgwBCyAKIAR9IQEgCyADfSAEIApWrX0iAkL/////////A1YNACAFQRBqIAEgAiACeSABeUJAfSACQgBSG6dBDGsiBxAHIAYgB2shBiAFKQMYIQIgBSkDECEBDAELIAZB/v8BTA0AIAlCgICAgICAwP//AIQhAkIAIQEMAQsgBkEATARAIAUgASACQQQgBmsQBiAFKQMIIAmEIQIgBSkDACEBDAELIAJCPYYgAUIDiIQiAyABQgeDIgRCBFatfCIBIANUrSACQgOIQv///////z+DIAatQjCGhCAJhHwgASAEQgRRrYMiAiABfCIBIAJUrXwhAgsgACABNwMAIAAgAjcDCCAFQeAAaiQAC4wJAgR+BH8jAEHgAGsiCSQAIARC////////////AIMhBQJAAkAgAVAiCiACQv///////////wCDIgZCgICAgICAwP//AH1CgICAgICAwICAf1QgBlAbRQRAIANQIAVCgICAgICAwP//AH0iB0KAgICAgIDAgIB/VCAHQoCAgICAgMCAgH9RG0UNAQsgCiAGQoCAgICAgMD//wBUIAZCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhBCABIQMMAgsgA1AgBUKAgICAgIDA//8AVCAFQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQQMAgsgASAGQoCAgICAgMD//wCFhFAEQEKAgICAgIDg//8AIAIgASADhSACIASFQoCAgICAgICAgH+FhFAiChshBEIAIAEgChshAwwCCyADIAVCgICAgICAwP//AIWEUA0BIAEgBoRQBEAgAyAFhFBFDQIgASADgyEDIAIgBIMhBAwCCyADIAWEUEUNACABIQMgAiEEDAELIAMgASABIANUIAUgBlYgBSAGURsiDBshBiAEIAIgDBsiCEL///////8/gyEFIAIgBCAMGyIHQjCIp0H//wFxIQsgCEIwiKdB//8BcSIKRQRAIAlB0ABqIAYgBSAFeSAGeUJAfSAFQgBSG6dBD2tB/wFxIgoQB0EBIAprIQogCSkDUCEGIAkpA1ghBQsgASADIAwbIQMgB0L///////8/gyEBIAsEfiABBSAJQUBrIAMgASABeSADeUJAfSABQgBSG6dBD2tB/wFxIgsQB0EBIAtrIQsgCSkDQCEDIAkpA0gLQgOGIANCPYiEQoCAgICAgIAEhCEBIAVCA4YgBkI9iIQgA0IDhiEFIAIgBIUhAwJAIAogC0YNACAKIAtrIgtB/wBLBEBCACEBQgEhBQwBCyAJQTBqIAUgAUEAIAtrQf8AcRAHIAlBIGogBSABIAsQBiAJKQMgIAkpAzAgCSkDOIRCAFKthCEFIAkpAyghAQtCgICAgICAgASEIQcgBkIDhiECIAhCgICAgICAgICAf4MhBgJAAkACQCADQgBTBEBCACEDQgAhBCACIAWFIAEgB4WEUEUNAQwECyACIAV8IgMgBVStIAEgB3x8IgRCgICAgICAgAiDUA0BIAVCAYMgBEI/hiADQgGIhIQhAyAKQQFqIQogBEIBiCEEDAELIAIgBX0hAyAHIAF9IAIgBVStfSIEQv////////8DVg0AIAlBEGogAyAEIAR5IAN5QkB9IARCAFIbp0EMayILEAcgCiALayEKIAkpAxghBCAJKQMQIQMMAQsgCkH+/wFMDQAgBkKAgICAgIDA//8AhCEEQgAhAwwBCyAKQQBMBEAgCSADIARBBCAKaxAGIAkpAwggBoQhBCAJKQMAIQMMAQsgBEI9hiADQgOIhCICIANCB4MiA0IEVq18IgEgAlStIARCA4hC////////P4MgCq1CMIaEIAaEfCABIAEgA0IEUa2DIgF8IgMgAVStfCEECyAAIAM3AwAgACAENwMIIAlB4ABqJAAL4AECAX8CfkEBIQQCQCAAQgBSIAFC////////////AIMiBUKAgICAgIDA//8AViAFQoCAgICAgMD//wBRGw0AIAJQIANC////////////AIMiBkKAgICAgIDA//8AVCAGQoCAgICAgMD//wBRG0UNACAAIAKEIAUgBoSEUARAQQAPCwJAAkAgASADg0IAWQRAIAAgAlQgASADUyABIANRG0UNAUF/DwsgACACViABIANVIAEgA1EbRQ0BQX8PCyAAIAKFIAEgA4WEQgBSDwsgACAChSABIAOFhEIAUiEECyAEC2MAIABCAFIgAUL///////////8AgyIAQoCAgICAgMD//wBWIABCgICAgICAwP//AFEbIAJCAFIgA0L///////////8AgyIAQoCAgICAgMD//wBWIABCgICAgICAwP//AFEbcgtRAQF+AkAgA0E/SgRAIAIgA0E/ca2IIQFCACECDAELIANFDQAgAkEAIANrQT9xrYYgASADrSIEiIQhASACIASIIQILIAAgATcDACAAIAI3AwgLUQEBfgJAIANBP0oEQCABIANBP3GthiECQgAhAQwBCyADRQ0AIAIgA60iBIYgAUEAIANrQT9xrYiEIQIgASAEhiEBCyAAIAE3AwAgACACNwMICzIBAX8gAEEQakEEEAkiAQRAIAEgAK1CBYZCBIQ3AwggAUEQag8LQczdgAhBMDYCAEEAC+sCAQN/IwBBEGsiBCQAIAQgAUEfcToADwJAQX8gAEEEaiICIAAgAksbIgBBASABdCIBIAAgAUsbIgBBAWtnIgFFBEBBACEBDAELQSAgAWsiAUH//wNxQQNrIgNBDU8EQEIBQSAgAEGDgARqQRB2QQFrZ2siAa2GpyEAIAFB//8DcUECdCICKALs2oAIIgEEQCACQezagAhqIABBEHQgAWpBBGsoAgA2AgAMAgtBACAAQAAiAEEQdCAAQX9GGyEBDAELQgEgAa2GpyECIANBAnQiACgCuNqACCIBBEAgAEG42oAIaiABIAJqQQRrKAIANgIADAELIABBhNqACGohAyAAKAKE2oAIIgFB//8DcUUEQEEAIQEgAyACAn9B7NqACCgCACIABEBB7NqACCAAKAL8/wM2AgAgAAwBC0EBQAAiAEEBakECSQ0CIABBEHQLIgFqNgIADAELIAMgASACajYCAAsgBEEQaiQAIAELlgECA38BfiMAQRBrIgIkACACIACtIgRCIIinIgBBAEc6AAwCQAJAIABFBEAgBKciAUEQakEEEAkiAA0BQczdgAhBMDYCAAwCC0HM3YAIQTA2AgAMAQsgACABrUIFhkIEhDcDCCAAQRBqIQMgAUUNAEEAIQADQCAAIANqQQA6AAAgAEEBaiIAIAFJDQALCyACQRBqJAAgAwuHBgIKfwF+IwBBEGsiBSQAAkAgAUUEQCAABEAgBSAAQQhrKQMAIgynIgFBH3EiAjoADCAFIAI6AA0gAEEBIAF0IgFrIQBBICAMQgWIpyABakEEaiICIAEgASACSRsiAUEBa2drIgJB//8DcUEDayIDQQxNBEAgAEIBIAKshqdqQQRrIANBAnQiASgCuNqACDYCACABIAA2ArjagAhBACECDAMLIABCAUEgIAFBg4AEakEQdkEBa2drIgGthqdBEHRqQQRrIAFB//8DcUECdCIBKALs2oAINgIAIAEgADYC7NqACAtBACECDAELIABFBEAgAUEQakEEEAkiAARAIAAgAa1CBYZCBIQ3AwggAEEQaiECDAILQczdgAhBMDYCAAwBCyAFIABBCGspAwAiDKciBkEfcSICOgALIAUgAjoADkF/QQEgBnQiAiABaiIEQQRqIgMgAyAESRsiAyACIAIgA0kbIQcgACACayEDAkACQAJAIAxCBYinIgkgAmpBBGoiCCACIAIgCEkbIgpBAWtnIgtBEWtBDE0EQCAHQQFrZyIHRUIBQSAgC2uthqdCAUEgIAdrrYanR3INAQwCC0IBQSAgCkGDgARqQRB2QQFrZ2uthqdCAUEgIAdBg4AEakEQdkEBa2drrYanRg0BCyAEIAYQCSIEBEAgAiAEaiECIAEgCSABIAlJGyIHBEBBACEEA0AgAiAEaiAAIARqLQAAOgAAIARBAWoiBCAHSQ0ACwsgBSAGQR9xOgAPQSAgCEEBIAZ0IgAgACAISRsiAEEBa2drIgZB//8DcUEDayIEQQxNBEAgA0IBIAashqdqQQRrIARBAnQiACgCuNqACDYCACAAIAM2ArjagAgMAwsgA0IBQSAgAEGDgARqQRB2QQFrZ2siAK2Gp0EQdGpBBGsgAEH//wNxQQJ0IgAoAuzagAg2AgAgACADNgLs2oAIDAILQQAhAkHM3YAIQTA2AgAMAgsgAiADaiECCyACQQhrIAxCH4MgAa1CBYaENwMACyAFQRBqJAAgAgviAQIEfwF+IwBBEGsiAyQAAkAgAEUNACADIABBCGspAwAiBaciAUEfcSICOgAOIAMgAjoADyAAQQEgAXQiAWshAEEgIAVCBYinIAFqQQRqIgIgASABIAJJGyIBQQFrZ2siAkH//wNxQQNrIgRBDE0EQCAAQgEgAqyGp2pBBGsgBEECdCIBKAK42oAINgIAIAEgADYCuNqACAwBCyAAQgFBICABQYOABGpBEHZBAWtnayIBrYanQRB0akEEayABQf//A3FBAnQiASgC7NqACDYCACABIAA2AuzagAgLIANBEGokAAsHAEHhioAICw0AIABBAkYgAEEJRnIL9wIBAn8jAEGwA2siAiQAIAIgATYCDCACQf8BNgKIASACQbDbgAg2AoQBIAJBEGpBAEHwAPwLACACQQE2AjBBsNuACEEAOgAAIAIgAkGEAWo2AlQgAiACQY8BajYCOCACQX82AlAgAiABNgKsAyACQaADakIANwMAIAJBmANqQgA3AwAgAkGQA2pCADcDACACQgA3A4gDIAJCADcDgAMgAiABNgKoAwJAAkBBACAAIAJBqANqIAJB4AFqIAJBgANqEBFBAEgNACACQgA3AxAgAkF/NgJMIAJBADYCGCACQdAANgI8IAIgAkHgAWoiAzYCICACIAJBkAFqIgE2AjggAiABNgIoIAIgATYCJCACQRBqIgEgACACQagDaiADIAJBgANqEBEgAUEAQQAgAigCMBEBABogAkEANgI8IAJBADYCKCACKAIQIAIgAkGPAWo2AjhBIHENACACKAIkRQ0AQQBODQELQbDbgAhBADoAAAsgAkGwA2okAAu0AQEFfyAAKAJEIgMoAgAhBiADKAIEIgQgACgCFCAAKAIYIgdrIgUgBCAFSRsiBQRAIAUEQCAGIAcgBfwKAAALIAMgAygCACAFaiIGNgIAIAMgAygCBCAFayIENgIECyAEIAIgAiAESxsiBARAIAQEQCAGIAEgBPwKAAALIAMgAygCACAEaiIGNgIAIAMgAygCBCAEazYCBAsgBkEAOgAAIAAgACgCKCIBNgIYIAAgATYCFCACC61UAiB/BH4jAEHAwQBrIgYkACAGQewFaiEhIAZBmQVqISIgBkGXBWohIyAGQb8FaiEfIAZBwAVqIhhBCHIhICAYQQlyIRwgBkG+BWohJCAGQZgFaiEWAkACQANAQQAhBQNAAkAgASEHIAUgE0H/////B3NKDQAgBSATaiETAkACQAJAAkACQAJAAkAgBy0AACIFBEADQAJAAkAgBUH/AXEiBQRAIAVBJUcNAiABIQUDQCABQQFqLQAAQSVHDQIgBUEBaiEFIAFBAmoiAS0AAEElRg0ACwwBCyABIQULIAUgB2siBSATQf////8HcyIUSg0KAkAgAEUNACAALQAAQSBxDQAgByAFIAAQGwsgBQ0LIAFBAWohDEF/IQsCQCABLAABIghBMGsiBUEJSw0AIAEtAAJBJEcNACABQQNqIQwgASwAAyEIQQEhGSAFIQsLQQAhDQJAIAhBIGsiAUEfSwRAIAwhAQwBC0EBIAF0IgVBidEEcUUEQCAMIQEMAQsgDEEBaiEBA0AgBSANciENIAEsAAAiCEEgayIFQSBPDQEgAUEBaiEBQQEgBXQiBUGJ0QRxDQALIAFBAWshAQsgCEEqRgRAAn8CQCABLAABQTBrIgVBCUsNACABLQACQSRHDQAgAUEDaiEBQQEhGQJ/IABFBEAgBCAFQQJ0akEKNgIAQQAMAQsgAyAFQQR0aigCAAsMAQsgGQ0HIAFBAWohASAARQRAQQAhGUEAIQ4gAS0AACEMDAcLIAIgAigCACIFQQRqNgIAQQAhGSAFKAIACyIOQQBODQRBACAOayEOIA1BgMAAciENDAQLQQAhDiAIQTBrIghBCUsNAyABIQUDQCAOQcyZs+YATQRAQX8gDkEKbCIBIAhqIAggAUH/////B3NLIgkbIQ4gBSwAASEMIAVBAWoiASEFIAxBMGsiCEEKSQ0BIAkNDAwGCyAFLAABQX8hDiAFQQFqIQVBMGsiCEEKSQ0ACwwKCyABQQFqIgEtAAAhBQwACwALIAANCyAZRQRAQQAhEwwMCwJAIAQoAgQiAEUEQEEBIQEMAQsgA0EQaiAAIAIQHCAEKAIIIgBFBEBBAiEBDAELIANBIGogACACEBwgBCgCDCIARQRAQQMhAQwBCyADQTBqIAAgAhAcIAQoAhAiAEUEQEEEIQEMAQsgA0FAayAAIAIQHCAEKAIUIgBFBEBBBSEBDAELIANB0ABqIAAgAhAcIAQoAhgiAEUEQEEGIQEMAQsgA0HgAGogACACEBwgBCgCHCIARQRAQQchAQwBCyADQfAAaiAAIAIQHCAEKAIgIgBFBEBBCCEBDAELIANBgAFqIAAgAhAcIAQoAiQiAEUEQEEJIQEMAQsgA0GQAWogACACEBxBASETDAwLIAFBAnQhAQNAIAEgBGooAgANAyABQQRqIgFBKEcNAAtBASETDAsLIAEtAAAhDAtBACEFAkAgDEH/AXFBLkcEQEF/IQpBACERDAELIAEsAAEiCUEqRgRAAkAgASwAAkEwayIJQQlLDQAgAS0AA0EkRw0AIABFBEAgBCAJQQJ0akEKNgIAQQAhCiABQQRqIQFBASERDAMLIAFBBGohASADIAlBBHRqKAIAIgpBAE4hEQwCCyAZDQIgAUECaiEBIABFBEBBACEKQQEhEQwCCyACIAIoAgAiCUEEajYCACAJKAIAIgpBAE4hEQwBCyABQQFqIQEgCUEwayIMQQlLBEBBASERQQAhCgwBC0EAIQgDQEF/IQpBASERIAhBzJmz5gBNBEBBfyAIQQpsIgkgDGogDCAJQf////8Hc0sbIQoLIAohCCABQQFqIgEsAABBMGsiDEEKSQ0ACwsDQCAFIQkgASIILAAAIgVB+wBrQUZJDQEgCEEBaiEBIAUgCUE6bGpB34uACGotAAAiBUEBa0H/AXFBCEkNAAsCQCAFQRtHBEAgBUUNAiALQQBOBEAgAEUEQCAEIAtBAnRqIAU2AgAMCwsgBiADIAtBBHRqIgUpAwA3A6AFIAYgBUEIaikDADcDqAUMAgsgAEUEQEEAIRMMDAsgBkGgBWogBSACEBwMAQsgC0EATg0BQQAhBSAARQ0HCyAAKAIAIg9BIHENCCANQf//e3EiCyANIA1BgMAAcRshEAJAAn8CQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkAgCC0AACIIwCIFQVNxIAUgCEEPcUEDRhsgBSAJGyISQcEAaw44ExIMEhMTExISEhISEhISEhISDRISEhIDEhISEhISEhITEggFExMTEgUSEhIJAQQCEhIKEgASEgMSC0EAIQ8gBikDoAUhJUG4gIAIDAULQQAhBQJAAkACQAJAAkACQAJAIAkOCAABAgMEHAUGHAsgBigCoAUgEzYCAAwbCyAGKAKgBSATNgIADBoLIAYoAqAFIBOsNwMADBkLIAYoAqAFIBM7AQAMGAsgBigCoAUgEzoAAAwXCyAGKAKgBSATNgIADBYLIAYoAqAFIBOsNwMADBULIApBCCAKQQhLGyEKIBBBCHIhEEH4ACESC0EAIQ9BuICACCEIIAYpA6AFIiVQBEAgFiEHDAQLIBJBIHEhBSAWIQcDQCAHQQFrIgcgJadBD3EtAPCPgAggBXI6AAAgJUIPViAlQgSIISUNAAsgEEEIcUUNAyASQQR2QbiAgAhqIQhBAiEPDAMLIBYhByAGKQOgBSIlUEUEQANAIAdBAWsiByAlp0EHcUEwcjoAACAlQgdWICVCA4ghJQ0ACwtBACEPQbiAgAghCCAQQQhxRQ0CIAogIiAHayIFIAUgCkgbIQoMAgsgBikDoAUiJUIAUwRAIAZCACAlfSIlNwOgBUEBIQ9BuICACAwBCyAQQYAQcQRAQQEhD0G5gIAIDAELQbqAgAhBuICACCAQQQFxIg8bCyEIAkAgJUKAgICAEFQEQCAlISYgFiEHDAELIBYhBwNAIAdBAWsiByAlQgqAIiZC9gF+ICV8p0EwcjoAACAlQv////+fAVYgJiElDQALCyAmUA0AICanIQUDQCAHQQFrIgcgBUEKbiIJQfYBbCAFakEwcjoAACAFQQlLIAkhBQ0ACwsgESAKQQBIcQ0OIBBB//97cSAQIBEbIQsCQCAGKQOgBSIlQgBSDQBBACEMIAoNACAWIgchBQwOCyAKICVQIBYgB2tqIgUgBSAKSBshDCAWIQUMDQsgBi0AoAUhBQwLC0HI3YAIKAIARQRAQcjdgAhBsN2ACDYCAAtBAEHM3YAIKAIAIgUgBUHMAEsbQQF0LwGQnIAIQYCQgAhqDAELIAYoAqAFIgVBuIuACCAFGwshB0EAIQUCQCAKQf////8HIApB/////wdJGyIJRQ0AA0AgBSAHai0AAEUNASAJIAVBAWoiBUcNAAsgCSEFCyAHIAUiDGohBUEAIQ9BuICACCEIIApBAE4NCSAFLQAARQ0JDAoLIAYpA6AFIiVQRQ0BQQAhBQwHCyAKBEAgBigCoAUMAgtBACEFIABBICAOQQAgEBAdDAILIAZBADYC/AQgBiAlPgL4BCAGIAZB+ARqIgU2AqAFQX8hCiAFCyEIQQAhBUHI3YAIKAIAIQwgCCEJA0ACQCAJKAIAIgdFDQACfwJAIAdB/wBNDQAgDEUEQEHI3YAIQbDdgAg2AgBBsN2ACCEMCyAMKAIARQRAIAdBgH9xQYC/A0YNAUHM3YAIQRk2AgAMDgsgB0H/D00EQCAGIAdBP3FBgAFyOgD1BCAGIAdBBnZBwAFyOgD0BEECDAILIAdBgEBxQYDAA0cgB0GAsANPcUUEQCAGIAdBP3FBgAFyOgD2BCAGIAdBDHZB4AFyOgD0BCAGIAdBBnZBP3FBgAFyOgD1BEEDDAILIAdBgIAEa0H//z9NBEAgBiAHQT9xQYABcjoA9wQgBiAHQRJ2QfABcjoA9AQgBiAHQQZ2QT9xQYABcjoA9gQgBiAHQQx2QT9xQYABcjoA9QRBBAwCC0HM3YAIQRk2AgAMDQsgBiAHOgD0BEEBCyIHIAogBWtLDQAgCUEEaiEJIAUgB2oiBSAKSQ0BCwsgBUEASA0GIABBICAOIAUgEBAdIAVFBEBBACEFDAELQQAhBwNAIAgoAgAiCUUNASAHAn8gBkH0BGohCwJAIAkiB0H/AE0NAEHI3YAIKAIAIgkEfyAJBUHI3YAIQbDdgAg2AgBBsN2ACAsoAgBFBEAgB0GAf3FBgL8DRg0BQczdgAhBGTYCAEF/DAILIAdB/w9NBEAgCyAHQT9xQYABcjoAASALIAdBBnZBwAFyOgAAQQIMAgsgB0GAQHFBgMADRyAHQYCwA09xRQRAIAsgB0E/cUGAAXI6AAIgCyAHQQx2QeABcjoAACALIAdBBnZBP3FBgAFyOgABQQMMAgsgB0GAgARrQf//P00EQCALIAdBP3FBgAFyOgADIAsgB0ESdkHwAXI6AAAgCyAHQQZ2QT9xQYABcjoAAiALIAdBDHZBP3FBgAFyOgABQQQMAgtBzN2ACEEZNgIAQX8MAQsgCyAHOgAAQQELIglqIgcgBUsNASAALQAAQSBxRQRAIAZB9ARqIAkgABAbCyAIQQRqIQggBSAHSw0ACwsgAEEgIA4gBSAQQYDAAHMQHSAOIAUgBSAOSBshBQwGC0HM3YAIQRw2AgAMBwtBACEPQbiAgAghCCAWIQUgECELIAohDAwCCyARIApBAEgiCXENAiAGKQOgBSEmIAYpA6gFISUgBkEANgLsBQJ/ICVCAFMEQCAlQoCAgICAgICAgH+FISVBASEXQcKAgAghGkEADAELIBBBgBBxBEBBASEXQcWAgAghGkEADAELQciAgAhBw4CACCAQQQFxIhcbIRogF0ULIREgJiAlQgBCgICAgICAwP//ABAEIQUgJiAlQgBCgICAgICAwP//ABAFRSAFQQBHcUUEQCAmICUgJiAlEAUhCQJAIBBBgMAAcSAXQQNqIgcgDk9yDQAgDiAHayIFQYACIAVBgAJJIgsbIggEQCAGQcA/akEgIAj8CwALIAtFBEADQCAALQAAQSBxRQRAIAZBwD9qQYACIAAQGwsgBUGAAmsiBUH/AUsNAAsgACgCACEPCyAPQSBxDQAgBkHAP2ogBSAAEBsgACgCACEPCyAPQSBxBH8gDwUgGiAXIAAQGyAAKAIAC0EgcUUEQEGghIAIQdOKgAggEkEgcSIFG0Hlh4AIQdeKgAggBRsgCRtBAyAAEBsLAkAgEEGAwARxQYDAAEcgByAOT3INACAOIAdrIgVBgAIgBUGAAkkiCRsiCwRAIAZBwD9qQSAgC/wLAAsgCUUEQANAIAAtAABBIHFFBEAgBkHAP2pBgAIgABAbCyAFQYACayIFQf8BSw0ACwsgAC0AAEEgcQ0AIAZBwD9qIAUgABAbCyAOIAcgByAOSRshBQwECyAGQeAEaiELIAZB7AVqQQAhByMAQRBrIgUkAAJAICYgJSAmICUQBQ0AICVCMIinIgxB//8BcSIPQf//AUYNACAPRQRAICYgJUL///////8/g4RQDQEgBSAmICUgJUIQhiAmQjCIhCIneSAmQhCGeUJAfSAnQgBSG6ciB0EBakH/AHEQByAFKQMAQgAgB0H/AHFB7wBJIgwbISZBgoB/IAdrIQcgJUKAgICAgICAgIB/gyAFKQMIQv///////z+DQgAgDBuEQoCAgICAgID/P4QhJQwBCyAlQv///////7+AgH+DQoCAgICAgID/P4QhJSAMQf//AXFB/v8AayEHCyAHNgIAIAsgJTcDCCALICY3AwAgBUEQaiQAIAZB0ARqIAYpA+AEIiUgBikD6AQiJiAlICYQAwJAAn8CQCAGKQPQBCIlIAYpA9gEIiZCAEIAEAQEQCAGIAYoAuwFIgVBAWs2AuwFIBJBIHIiFEHhAEcNAQwDCyASQSByIhRB4QBGDQIgBigC7AUhCEEGIAogCRsMAQsgBkHABGogJSAmQoCAgICAgMCNwAAQASAGIAVBHWsiCDYC7AUgBikDyAQhJiAGKQPABCElQQYgCiAJGwshCyAGQfAFakEAQYA2IAhBAEgiDRtqIg8hBwNAQQAhBSMAQRBrIgkkAAJAICZCAFMNACAmQjCIpyIMQf//AXEiCkH+/wBNDQBBfyEFIApBn4ABa0FgSQ0AIAkgJSAmQv///////z+DQoCAgICAgMAAhEHvACAMa0H/AHEQBiAJKAIAIQULIAlBEGokACAHIAU2AgBCACEnIwBBEGsiCSQAIAZBsARqIgwgBQR+IAkgBa1CAEHwACAFZ0EfcyIFaxAHIAkpAwhCgICAgICAwACFIAWtQjCGfEKAgICAgIDA/z98IScgCSkDAAVCAAs3AwAgDCAnNwMIIAlBEGokACAGQaAEaiAlICYgBikDsAQgBikDuAQQAiAGQZAEaiAGKQOgBCAGKQOoBEKAgICA5Zq3jsAAEAEgB0EEaiEHIAYpA5AEIiUgBikDmAQiJkIAQgAQBA0ACwJAIAhBAEwEQCAHIQUgDyEJDAELIA8hCQNAIAhBHSAIQR1JGyEIAkAgB0EEayIFIAlJDQAgCK0hJ0IAISUDQCAFIAU1AgAgJ4YgJXwiJiAmQoCU69wDgCIlQoDslKMMfnw+AgAgBUEEayIFIAlPDQALICZCgJTr3ANUDQAgCUEEayIJICU+AgALA0AgCSAHIgVJBEAgBUEEayIHKAIARQ0BCwsgBiAGKALsBSAIayIINgLsBSAFIQcgCEEASg0ACwsgCEEASARAIAtBLWpBCW5BAWohCiAUQeYARiEbA0BBACAIayIHQQkgB0EJSRshDAJAIAUgCU0EQEEAQQQgCSgCABshBwwBC0GAlOvcAyAMdiEVQX8gDHRBf3MhHUEAIQggCSEHA0AgByAIIAcoAgAiHiAMdmo2AgAgHSAecSAVbCEIIAdBBGoiByAFSQ0AC0EAQQQgCSgCABshByAIRQ0AIAUgCDYCACAFQQRqIQULIAYgBigC7AUgDGoiCDYC7AUgDyAHIAlqIgkgGxsiByAKQQJ0aiAFIAUgB2tBAnUgCkobIQUgCEEASA0ACwtBACEHAkAgBSAJTQ0AIA8gCWtBAnVBCWwhByAJKAIAIgxBCkkNAEEKIQgDQCAHQQFqIQcgDCAIQQpsIghPDQALCyALQQAgByAUQeYARhtrIBRB5wBGIhsgC0EAR3FrIgggBSAPa0ECdUEJbEEJa0gEQCAIQYCACWoiDEEJbSIVQQJ0Ih1BhIB8QYS2fCANGyIUIAZB8AVqamohCkEKIQgCQCAVQXdsIAxqIg1BB0oNAEEAIA1rIghBB3EhDAJAIA1BAWtBB0kEQEEKIQgMAQsgCEEDdkEBaiIVQQdxIQ0gCEE4SQR/QQoFIBVB+P///wNxIQgDQCAIQQhrIggNAAtBAAshCCANRQRAQQAhCAwBC0EAIA1rIQ0DQCAIQYDC1y9sIQggDUEBaiINDQALCyAMRQ0AA0AgCEEKbCEIIAxBAWsiDA0ACwsCQCAKKAIAIg0gDSAIbiIVIAhsIgxGIApBBGoiHiAFRnENACANIAxrIQ0CQCAVQQFxRQRAQoCAgICAgIC4wAAhJUIAISYgCEGAlOvcA0cgCSAKT3INASAKQQRrLQAAQQFxRQ0BC0KAgICAgICAuMAAISVCASEmC0KAgICAgICA/z9CgICAgICAwP8/QoCAgICAgOD/PyAFIB5GG0KAgICAgIDg/z8gDSAIQQF2IhVGGyANIBVJGyEnAkAgEQ0AIBotAABBLUcNACAnQoCAgICAgICAgH+EISdCgICAgICAgLhAISULIAogDDYCACAGQYAEaiAmICVCACAnEAMgBikDgAQgBikDiAQgJiAlEARFDQAgCiAIIAxqIgc2AgAgB0GAlOvcA08EQCAhIBQgHWpqIQcDQCAHQQRqQQA2AgAgByAJSQRAIAlBBGsiCUEANgIACyAHIAcoAgBBAWoiCDYCACAHQQRrIQcgCEH/k+vcA0sNAAsgB0EEaiEKCyAPIAlrQQJ1QQlsIQcgCSgCACIMQQpJDQBBCiEIA0AgB0EBaiEHIAwgCEEKbCIITw0ACwsgCkEEaiIIIAUgBSAISxshBQsDQCAFIgwgCU0iCEUEQCAMQQRrIgUoAgBFDQELCwJAIBtFBEAgEEEIcSERDAELIAdBf3NBfyALQQEgCxsiBSAHSiAHQXtKcSIKGyAFaiELQX9BfiAKGyASaiESIBBBCHEiEQ0AQXchBQJAIAgNACAMQQRrKAIAIgpFDQBBACEFIApBCnANAEEKIQhBfyEFA0AgBUEBaiEFIAogCEEKbCIIcEUNAAsgBUF/cyEFCyAMIA9rQQJ1QQlsIQggEkFfcUHGAEYEQEEAIREgCyAFIAhqQQlrIgVBACAFQQBKGyIFIAUgC0obIQsMAQtBACERIAsgByAIaiAFakEJayIFQQAgBUEAShsiBSAFIAtKGyELCyALQf3///8HQf7///8HIAsgEXIiGxtKDQMgCyAbQQBHakEBaiENAkAgEkFfcUHGAEciFUUEQCAHIA1B/////wdzSg0FIAdBACAHQQBKGyEFDAELAkAgB0UEQCAYIQgMAQsgByAHQR91IgVzIAVrIQUgGCEIA0AgCEEBayIIIAVBCm4iCkH2AWwgBWpBMHI6AAAgBUEJSyAKIQUNAAsLAkAgGCAIa0EBSg0AIAggBkG0BWprIAggJCAIa2ohCEEKayIFRQ0AIAhBMCAF/AsACyAIQQJrIhQgEjoAACAIQQFrQS1BKyAHQQBIGzoAACAYIBRrIgUgDUH/////B3NKDQQLIAUgDWoiBSAXQf////8Hc0oNAwJAIBBBgMAEcSIQIAUgF2oiCiAOTnINACAOIAprIgVBgAIgBUGAAkkiBxsiCARAIAZBwD9qQSAgCPwLAAsgB0UEQANAIAAtAABBIHFFBEAgBkHAP2pBgAIgABAbCyAFQYACayIFQf8BSw0ACwsgAC0AAEEgcQ0AIAZBwD9qIAUgABAbCyAALQAAQSBxRQRAIBogFyAAEBsLAkAgEEGAgARHIAogDk5yDQAgDiAKayIFQYACIAVBgAJJIgcbIggEQCAGQcA/akEwIAj8CwALIAdFBEADQCAALQAAQSBxRQRAIAZBwD9qQYACIAAQGwsgBUGAAmsiBUH/AUsNAAsLIAAtAABBIHENACAGQcA/aiAFIAAQGwsCQCAVRQRAIA8gCSAJIA9LGyIRIQ0DQAJAAkACQCANKAIAIgUEQEEKIQcDQCAGIAciCWpBvgVqIAVBCm4iCEH2AWwgBWpBMHI6AAAgB0EBayEHIAVBCUsgCCEFDQALIAlBAmsiCSAGQcAFamohBSANIBFHBEAgB0ECSA0EDAMLIAlBCUcNAwwBC0EJIQkgDSARRw0BCyAGQTA6AMgFICAhBQwBCyAJIAZBwAVqIgVqIAUgCSAfaiIHIAUgB0kbIgVrIgdFDQAgBUEwIAf8CwALIAAtAABBIHFFBEAgBSAcIAVrIAAQGwsgDUEEaiINIA9NDQALAkAgG0UNACAALQAAQSBxDQBB6IqACEEBIAAQGwsCQCALQQBMBEAgCyEFDAELIAwgDU0EQCALIQUMAQsDQAJAAkAgDSgCACIFRQRAIBwhBwwBCyAcIQcDQCAHQQFrIgcgBUEKbiIJQfYBbCAFakEwcjoAACAFQQlLIAkhBQ0ACyAHIAZBwAVqTQ0BCyAHIAZBwAVqIglqIAdrIQUgByAJayIHBEAgBUEwIAf8CwALIAUhBwsgAC0AAEEgcUUEQCAHIAtBCSALQQlJGyAAEBsLIAtBCWshBSANQQRqIg0gDE8NASALQQlKIAUhCw0ACwsgAEEwIAVBCWpBCUEAEB0MAQsCQCALQQBIDQAgDCAJQQRqIAkgDEkbIQwgCSENA0ACQCANKAIAIgUEQCAcIQcDQCAHQQFrIgcgBUEKbiIIQfYBbCAFakEwcjoAACAFQQpJIAghBUUNAAsMAQsgBkEwOgDIBSAgIQcLAkAgCSANRwRAIAcgBkHABWpNDQEgByAGQcAFamsiBQRAIAZBwAVqQTAgBfwLAAsgBkHABWohBwwBCyAALQAAQSBxRQRAIAdBASAAEBsLIAdBAWohByALIBFyRQ0AIAAtAABBIHENAEHoioAIQQEgABAbCyAcIAdrIQUgAC0AAEEgcUUEQCAHIAUgCyAFIAtIGyAAEBsLIAsgBWshCyANQQRqIg0gDE8NASALQQBODQALCyAAQTAgC0ESakESQQAQHSAALQAAQSBxDQAgFCAYIBRrIAAQGwsCQCAQQYDAAEcgCiAOTnINACAOIAprIgVBgAIgBUGAAkkiBxsiCQRAIAZBwD9qQSAgCfwLAAsgB0UEQANAIAAtAABBIHFFBEAgBkHAP2pBgAIgABAbCyAFQYACayIFQf8BSw0ACwsgAC0AAEEgcQ0AIAZBwD9qIAUgABAbCyAOIAogCiAOSBshBQwECyAaIBJBGnRBH3VBCXFqIQgCQCAKQRpLDQACQEEbIAprIgVBB3EiB0UEQEKAgICAgIDAgcAAISdCACEoDAELQoCAgICAgMCBwAAhJ0IAISggByEFA0AgBkHwA2ogKCAnQoCAgICAgMCBwAAQASAGKQP4AyEnIAYpA/ADISggBUEBayIFDQALQRsgByAKamshBQsCQCAKQRNLDQAgBUEIayIHQQhxRQRAIAZB4ANqICggJ0KAgICAgIDAgcAAEAEgBkHQA2ogBikD4AMgBikD6ANCgICAgICAwIHAABABIAZBwANqIAYpA9ADIAYpA9gDQoCAgICAgMCBwAAQASAGQbADaiAGKQPAAyAGKQPIA0KAgICAgIDAgcAAEAEgBkGgA2ogBikDsAMgBikDuANCgICAgICAwIHAABABIAZBkANqIAYpA6ADIAYpA6gDQoCAgICAgMCBwAAQASAGQYADaiAGKQOQAyAGKQOYA0KAgICAgIDAgcAAEAEgBkHwAmogBikDgAMgBikDiANCgICAgICAwIHAABABIAYpA/gCIScgBikD8AIhKCAHIQULIAdBCEkNAANAIAZB4AJqICggJ0KAgICAgIDAgcAAEAEgBkHQAmogBikD4AIgBikD6AJCgICAgICAwIHAABABIAZBwAJqIAYpA9ACIAYpA9gCQoCAgICAgMCBwAAQASAGQbACaiAGKQPAAiAGKQPIAkKAgICAgIDAgcAAEAEgBkGgAmogBikDsAIgBikDuAJCgICAgICAwIHAABABIAZBkAJqIAYpA6ACIAYpA6gCQoCAgICAgMCBwAAQASAGQYACaiAGKQOQAiAGKQOYAkKAgICAgIDAgcAAEAEgBkHwAWogBikDgAIgBikDiAJCgICAgICAwIHAABABIAZB4AFqIAYpA/ABIAYpA/gBQoCAgICAgMCBwAAQASAGQdABaiAGKQPgASAGKQPoAUKAgICAgIDAgcAAEAEgBkHAAWogBikD0AEgBikD2AFCgICAgICAwIHAABABIAZBsAFqIAYpA8ABIAYpA8gBQoCAgICAgMCBwAAQASAGQaABaiAGKQOwASAGKQO4AUKAgICAgIDAgcAAEAEgBkGQAWogBikDoAEgBikDqAFCgICAgICAwIHAABABIAZBgAFqIAYpA5ABIAYpA5gBQoCAgICAgMCBwAAQASAGQfAAaiAGKQOAASAGKQOIAUKAgICAgIDAgcAAEAEgBikDeCEnIAYpA3AhKCAFQRBrIgUNAAsLIAgtAABBLUYEQCAGQUBrICUgJkKAgICAgICAgIB/hSAoICcQAiAGQTBqICggJyAGKQNAIAYpA0gQAyAGKQM4QoCAgICAgICAgH+FISYgBikDMCElDAELIAZB4ABqICUgJiAoICcQAyAGQdAAaiAGKQNgIAYpA2ggKCAnEAIgBikDWCEmIAYpA1AhJQsCQCAGKALsBSILBEAgCyALQR91IgVzIAVrIQUgGCEHA0AgB0EBayIHIAVBCm4iCUH2AWwgBWpBMHI6AAAgBUEKSSAJIQVFDQALDAELIAZBMDoAvwUgHyEHCyAXQQJyIQwgEkEgcSENIAdBAmsiDyASQQ9qOgAAIAdBAWtBLUErIAtBAEgbOgAAIBBBCHFFIApBAExxIQsgBkHABWohBwNAIAciBSMAQRBrIgckAAJ/QQAgJkIwiKciCUH//wFxIhFB/v8ATQ0AGiAmQj+Hp0H/////B3MgEUGegAFrQWBNDQAaIAcgJSAmQv///////z+DQoCAgICAgMAAhEHvACAJa0H/AHEQBiAHKAIAIglBACAJayAmQgBZGwsgB0EQaiQAIgdB8I+ACGotAAAgDXI6AABCACEnIwBBEGsiCSQAIAZBIGoiESAHBH4gCSAHIAdBH3UiEnMgEmsiEq1CAEHwACASZ0EfcyISaxAHIAkpAwhCgICAgICAwACFIBKtQjCGfEKAgICAgIDA/z98QoCAgICAgICAgH9CACAHQQBIG4QhJyAJKQMABUIACzcDACARICc3AwggCUEQaiQAIAZBEGogJSAmIAYpAyAgBikDKBACIAYgBikDECAGKQMYQoCAgICAgMCBwAAQASALIAYpAwAiJSAGKQMIIiZCAEIAEARFcSAFQQFqIgcgBkHABWprQQFHckUEQCAFQS46AAEgBUECaiEHCyAlICZCAEIAEAQNAAsgCkH9////ByAYIA9rIg0gDGoiBWtKDQICQCAQQYDABHEiCyAKQQJqIAcgBkHABWprIgkgCUECayAKSBsgCSAKGyIKIAVqIgcgDk5yDQAgDiAHayIFQYACIAVBgAJJIhAbIhEEQCAGQcA/akEgIBH8CwALIBBFBEADQCAALQAAQSBxRQRAIAZBwD9qQYACIAAQGwsgBUGAAmsiBUH/AUsNAAsLIAAtAABBIHENACAGQcA/aiAFIAAQGwsgAC0AAEEgcUUEQCAIIAwgABAbCwJAIAtBgIAERyAHIA5Ocg0AIA4gB2siBUGAAiAFQYACSSIIGyIMBEAgBkHAP2pBMCAM/AsACyAIRQRAA0AgAC0AAEEgcUUEQCAGQcA/akGAAiAAEBsLIAVBgAJrIgVB/wFLDQALCyAALQAAQSBxDQAgBkHAP2ogBSAAEBsLIAAtAABBIHFFBEAgBkHABWogCSAAEBsLAkAgCiAJayIFQQBMDQAgBUGAAiAFQYACSSIJGyIIBEAgBkHAP2pBMCAI/AsACyAJRQRAA0AgAC0AAEEgcUUEQCAGQcA/akGAAiAAEBsLIAVBgAJrIgVB/wFLDQALCyAALQAAQSBxDQAgBkHAP2ogBSAAEBsLIAAtAABBIHFFBEAgDyANIAAQGwsCQCALQYDAAEcgByAOTnINACAOIAdrIgVBgAIgBUGAAkkiCRsiCwRAIAZBwD9qQSAgC/wLAAsgCUUEQANAIAAtAABBIHFFBEAgBkHAP2pBgAIgABAbCyAFQYACayIFQf8BSw0ACwsgAC0AAEEgcQ0AIAZBwD9qIAUgABAbCyAOIAcgByAOSBshBQwDCyAGIAU6AJcFQQAhD0G4gIAIIQhBASEMICMhByAWIQULIAwgBSAHayINIAwgDUobIhAgD0H/////B3NKDQAgDiAPIBBqIgogCiAOSBsiBSAUSw0AAkAgC0GAwARxIgsgCiAOTnINACAFIAprIglBgAIgCUGAAkkiERsiEgRAIAZB8AVqQSAgEvwLAAsgEUUEQANAIAAtAABBIHFFBEAgBkHwBWpBgAIgABAbCyAJQYACayIJQf8BSw0ACwsgAC0AAEEgcQ0AIAZB8AVqIAkgABAbCyAALQAAQSBxRQRAIAggDyAAEBsLAkAgC0GAgARHIAogDk5yDQAgBSAKayIJQYACIAlBgAJJIggbIg8EQCAGQfAFakEwIA/8CwALIAhFBEADQCAALQAAQSBxRQRAIAZB8AVqQYACIAAQGwsgCUGAAmsiCUH/AUsNAAsLIAAtAABBIHENACAGQfAFaiAJIAAQGwsCQCAMIA1MDQAgECANayIJQYACIAlBgAJJIggbIgwEQCAGQfAFakEwIAz8CwALIAhFBEADQCAALQAAQSBxRQRAIAZB8AVqQYACIAAQGwsgCUGAAmsiCUH/AUsNAAsLIAAtAABBIHENACAGQfAFaiAJIAAQGwsgAC0AAEEgcUUEQCAHIA0gABAbCyALQYDAAEcgCiAOTnINASAFIAprIgdBgAIgB0GAAkkiCRsiCwRAIAZB8AVqQSAgC/wLAAsgCUUEQANAIAAtAABBIHFFBEAgBkHwBWpBgAIgABAbCyAHQYACayIHQf8BSw0ACwsgAC0AAEEgcQ0BIAZB8AVqIAcgABAbDAELCwtBzN2ACEE9NgIAC0F/IRMLIAZBwMEAaiQAIBMLBwBBsNuACAskAQF/QcuDgAghASAAQQ1NBH8gAEECdCgC6IuACAVBy4OACAsLDABB+NmACCAANgIAC/ABAQJ/IwBBEGsiBiQAQQEhBQJAIARFIAFBASACG0VyDQAgA0UEQCAEKAIADQELQaydgAhB5J2ACEEAIABBCUYbIABBAkYbIgVFBEAgBiAANgIAQcKJgAggBhAPQQUhBQwBC0Gw24AIQQA6AAAgBSgCDCIARQRAQdDbgAhBzoSACCkAADcDAEHI24AIQcaEgAgpAAA3AwBBwNuACEG+hIAIKQAANwMAQbjbgAhBtoSACCkAADcDAEGw24AIQa6EgAgpAAA3AwBB2NuACEEAOgAAQQUhBQwBCyABIAIgAyAEIAARBgAhBQsgBkEQaiQAIAUL2AEBAn8jAEEQayIEJAACf0EBIANFIAFBASACG0VyDQAaQaydgAhB5J2ACEEAIABBCUYbIABBAkYbIgVFBEAgBCAANgIAQcKJgAggBBAPQQUMAQtBsNuACEEAOgAAIAUoAhAiAEUEQEHQ24AIQc6EgAgpAAA3AwBByNuACEHGhIAIKQAANwMAQcDbgAhBvoSACCkAADcDAEG424AIQbaEgAgpAAA3AwBBsNuACEGuhIAIKQAANwMAQdjbgAhBADoAAEEFDAELIAEgAiADIAARAQALIARBEGokAAuWAwEEfyMAQRBrIgMkAAJAIAFFBEBBASEADAELIAFBADYCAEGsnYAIQeSdgAhBACAAQQlGGyAAQQJGGyIERQRAIAMgADYCAEHCiYAIIAMQD0EFIQAMAQsgBCgCKCIFRQRAQeDbgAhBh4WACCkAADcDAEHY24AIQf+EgAgpAAA3AwBB0NuACEH3hIAIKQAANwMAQcjbgAhB74SACCkAADcDAEHA24AIQeeEgAgpAAA3AwBBuNuACEHfhIAIKQAANwMAQbDbgAhB14SACCkAADcDAEHo24AIQQA6AABBBSEADAELQQwhAEEMEAoiAkUEQEHX24AIQfSCgAgpAAA3AABB0NuACEHtgoAIKQAANwMAQcjbgAhB5YKACCkAADcDAEHA24AIQd2CgAgpAAA3AwBBuNuACEHVgoAIKQAANwMAQbDbgAhBzYKACCkAADcDAEHf24AIQQA6AAAMAQsgAiAENgIAQbDbgAhBADoAACACQQRqIAURAgAiAARAIAIQDAwBCyABIAI2AgBBACEACyADQRBqJAAgAAu1AQEBf0EBIQUCQCABQQEgAhtFIABFIARFcnINACADRQRAIAQoAgANAQsgACgCCARAQc/bgAhBr4WACCgAADYAAEHI24AIQaiFgAgpAAA3AwBBwNuACEGghYAIKQAANwMAQbjbgAhBmIWACCkAADcDAEGw24AIQZCFgAgpAAA3AwBB09uACEEAOgAAQQoPC0Gw24AIQQA6AAAgACgCBCABIAIgAyAEIAAoAgAoAiwRBAAhBQsgBQtQAQF/QQEhAwJAIABFIAJFcg0AIAFFBEAgAigCAA0BC0Gw24AIQQA6AAAgACgCBCABIAIgACgCACgCMBEBACIDDQAgAEEBNgIIQQAhAwsgAwsuAQJ/IAAEQAJAIAAoAgAiAUUNACAAKAIEIgJFDQAgAiABKAI0EQMACyAAEAwLC5MCAQN/AkAgAigCECIDBEAgAigCFCEFDAELIAIgAigCPCIEQQFrIARyNgI8IAIoAgAiBEEIcQRAIAIgBEEgcjYCAA8LIAJCADcCBCACIAIoAigiBTYCGCACIAU2AhQgAiAFIAIoAixqIgM2AhALIAMgBWsgAUkEQCACIAAgASACKAIgEQEAGg8LAkACQCACKAJAQQBIBEAgACEEDAELIAFFBEAgACEEDAELIAEhAwJAA0AgACADaiIEQQFrLQAAQQpGDQEgA0EBayIDDQALIAAhBAwBCyACIAAgAyACKAIgEQEAIANJDQEgASADayEBIAIoAhQhBQsgAQRAIAUgBCAB/AoAAAsgAiACKAIUIAFqNgIUCwvzBgMDfgF/AXwjAEEQayIGJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIAAQIFAwQGBwgJCgsMDQ4PEBESCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAMEQsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADBALIAIgAigCACIBQQRqNgIAIAAgATUCADcDAAwPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAMDgsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADA0LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAAwMCyACIAIoAgAiAUEEajYCACAAIAEyAQA3AwAMCwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADAoLIAIgAigCACIBQQRqNgIAIAAgATAAADcDAAwJCyACIAIoAgAiAUEEajYCACAAIAExAAA3AwAMCAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMADAcLIAIgAigCACIBQQRqNgIAIAAgATUCADcDAAwGCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwAMBQsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMADAQLIAIgAigCACIBQQRqNgIAIAAgATQCADcDAAwDCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAMAgsgAiACKAIAQQdqQXhxIgFBCGo2AgAgASsDACEHIwBBEGsiASQAAn4gB70iBUL///////////8AgyIDQoCAgICAgIAIfUKAgICAgICA8P8AVARAIANCPIYhBCADQgSIQoCAgICAgICAPHwMAQsgA0KAgICAgICA+P8AWgRAIANCPIYhBCADQgSIQoCAgICAgMD//wCEDAELQgAgA1ANABogASADQgAgA3mnIgJBMWoQByABKQMAIQQgASkDCEKAgICAgIDAAIVBgfgAIAJB9QBqQf8AcWutQjCGhAshAyAGIAQ3AwAgBiADIAVCgICAgICAgICAf4OENwMIIAFBEGokACAAIAYpAwg3AwggACAGKQMANwMADAELIAIgAigCAEEPakFwcSIBQRBqNgIAIAAgASkDADcDACAAIAEpAwg3AwgLIAZBEGokAAuHAQEBfyMAQYACayIFJAACQCAEQYDABHEgAiADTHINACACIANrIgNBgAIgA0GAAkkiAhsiBARAIAUgASAE/AsACyACRQRAA0AgAC0AAEEgcUUEQCAFQYACIAAQGwsgA0GAAmsiA0H/AUsNAAsLIAAtAABBIHENACAFIAMgABAbCyAFQYACaiQAC5QGAQN/IwBB0ABrIgQkAAJAIAFFBEBBwNuACEGRgYAILQAAOgAAQbjbgAhBiYGACCkAADcDAEGw24AIQYGBgAgpAAA3AwBBwduACEEAOgAAQQghAQwBCyAEQcgAakIANwMAIARBQGtCADcDACAEQThqQgA3AwAgBEEwakIANwMAIARBKGpCADcDACAEQSBqQgA3AwAgBEIANwMYIARBGGpBDxAfIgUEQCAEIAU2AhAgBEECIAVrQQJ0KALQ2YAINgIUQeqKgAggBEEQahAPQQchAQwBCyAEIAE2AhwgBCAANgIYIAQgAygCADYCKEH42YAIKAIAIQEgBCACNgIkIARBGGpBBBAgIQAgBCgCJCEFAn8CQCAAQQFHIgYNACAEKAIcRQ0AQcbbgAhByoWACCkAADcBAEHA24AIQcSFgAgpAAA3AwBBuNuACEG8hYAIKQAANwMAQbDbgAhBtIWACCkAADcDAEHO24AIQQA6AABBBwwBCyAGRQRAIAFFIAUgAmsiACABTXJFBEAgBCABNgIEIAQgADYCAEHVgIAIIAQQD0EJDAILIAMgADYCAEEADAELAkAgAEF7RwRAIAAgBCgCKHINAQtB6NuACEG1i4AILwAAOwEAQeDb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LQAAOgAAIARBBWogAkEFai0AADoAACAEQQZqIAJBBmotAAA6AAAgBEEHaiACQQdqLQAAOgAAIARBCGohBCACQQhqIQIgA0EIayIDDQALCyAZIBIgCWsiEk8EQCAHIQIMAwsCfyAPRQRAIAchAiAZDAELIA8hAyAHIQIDQCAEIAItAAA6AAAgBEEBaiEEIAJBAWohAiADQQFrIgMNAAsgLQshAyAZQQhPBEADQCAEIAItAAA6AAAgBEEBaiACQQFqLQAAOgAAIARBAmogAkECai0AADoAACAEQQNqIAJBA2otAAA6AAAgBEEEaiACQQRqLQAAOgAAIARBBWogAkEFai0AADoAACAEQQZqIAJBBmotAAA6AAAgBEEHaiACQQdqLQAAOgAAIARBCGohBCACQQhqIQIgA0EIayIDDQALCyAEICFrIQIgEiAZayESDAILIAcgGSAJa2ohAiAJIBJPBEAgBiEEDAILAn8gCUEHcSIDRQRAIAkhAyAGDAELQQAhBANAIAQgBmogAiAEai0AADoAACADIARBAWoiBEcNAAsgAiAEaiECIAkgBGshAyAEIAZqCyEEIBMgHiAkaiAdamsgBmpBeEsNAANAIAQgAi0AADoAACAEQQFqIAJBAWotAAA6AAAgBEECaiACQQJqLQAAOgAAIARBA2ogAkEDai0AADoAACAEQQRqIAJBBGotAAA6AAAgBEEFaiACQQVqLQAAOgAAIARBBmogAkEGai0AADoAACAEQQdqIAJBB2otAAA6AAAgBEEIaiEEIAJBCGohAiADQQhrIgMNAAsLIAQgIWshAiASIAlrIRILAkAgEkEDSQ0AIBJBA2siCUEDbiIDQQNxQQNHBEAgA0EBakEDcSIGIQMDQCAEIAItAAA6AAAgBEEBaiACQQFqLQAAOgAAIARBAmogAkECai0AADoAACACQQNqIQIgBEEDaiEEIANBAWsiAw0ACyAGQX1sIBJqIRILIAlBCUkNAANAIAQgAi0AADoAACAEQQFqIAJBAWotAAA6AAAgBEECaiACQQJqLQAAOgAAIARBA2ogAkEDai0AADoAACAEQQRqIAJBBGotAAA6AAAgBEEFaiACQQVqLQAAOgAAIARBBmogAkEGai0AADoAACAEQQdqIAJBB2otAAA6AAAgBEEIaiACQQhqLQAAOgAAIARBCWogAkEJai0AADoAACAEQQpqIAJBCmotAAA6AAAgBEELaiACQQtqLQAAOgAAIARBDGohBCACQQxqIQIgEkEMayISQQJLDQALCyAEIBJFDQIaIAQgAi0AADoAACASQQJGDQEgBEEBagwCCyAGQQNrIQNBACAhayEEA0AgAyICQQNqIgMgAiAEaiIGQQNqLQAAOgAAIAJBBGogBkEEai0AADoAACACQQVqIAZBBWotAAA6AAAgEkEDayISQQJLDQALIAJBBmogEkUNARogA0EDaiADIARqIgJBA2otAAA6AAAgA0EEaiASQQJHDQEaIAMgAi0ABDoABCADQQVqDAELIAQgAi0AAToAASAEQQJqCyEGIAogKE8NACAGICdJDQELCyAAIAY2AgwgFiAIQQdxIgI2AkAgACAKIAhBA3ZrIgM2AgAgACAnIAZrQYECajYCECAAICggA2tBBWo2AgQgFiARQX8gAnRBf3NxNgI8IAUoAkAhBiAFKAI8IQggACgCBCEEIAAoAgAhAiAAKAIQIQ8gACgCDCEQIAUoAgRBv/4ARw0HIAVBfzYCyDcgBSgCBCEHDBkLIAVBADYCyDcCQCAFKAJQIhUgCEF/IAUoAlh0QX9zIg1xQQJ0aiILLQABIg4gBk0EQCACIQMgBCEHIAYhCgwBCyAGIQkgBCEHIAIhAwNAIAdFDQ8gAy0AACAJdCELIANBAWohAyAHQQFrIQcgCUEIaiIKIQkgCiAVIAggC2oiCCANcUECdGoiCy0AASIOSQ0ACwsgDiEGIAsvAQIhCQJAIAstAAAiC0EBa0H/AXFBDksEQEEAIQYgAyECIAchBAwBCwJAIAogBiAVIAlBAnRqIhogCEF/IAYgC2p0QX9zIhVxIAZ2QQJ0aiIYLQABIg5qTwRAIAMhAiAHIQQgCiELDAELIAohCSAHIQQgAyECA0AgBEUNDyACLQAAIAl0IQ0gAkEBaiECIARBAWshBCAJQQhqIgshCSAGIBogCCANaiIIIBVxIAZ2QQJ0aiIYLQABIg5qIAtLDQALCyALIAZrIQogCCAGdiEIIBgtAAAhCyAYLwECIQkLIAUgCUH//wNxNgJEIAUgBiAOajYCyDcgCiAOayEGIAggDnYhCCALQf8BcSIDRQRAIAVBzf4ANgIEIAUoAgQhBwwZCyADQSBxBEAgBUG//gA2AgQgBUF/NgLINyAFKAIEIQcMGQsgA0HAAHEEQCAFQdH+ADYCBCAAQcOIgAg2AhggBSgCBCEHDBkLIAVByf4ANgIEIAUgA0EPcSIJNgJMCyACIQsgBCEKAkAgCUUEQCAFKAJEIQMMAQsCQCAGIAlPBEAgBiEHDAELIAYhByACIQMDQCAERQ0NIARBAWshBCADLQAAIAd0IAhqIQggA0EBaiICIQMgB0EIaiIHIAlJDQALCyAFIAUoAsg3IAlqNgLINyAFIAUoAkQgCEF/IAl0QX9zcWoiAzYCRCAHIAlrIQYgCCAJdiEICyAFQcr+ADYCBCAFIAM2Asw3CwJAIAUoAlQiFSAIQX8gBSgCXHRBf3MiDXFBAnRqIgstAAEiDiAGTQRAIAIhAyAEIQcgBiEKDAELIAYhCSAEIQcgAiEDA0AgB0UNCiADLQAAIAl0IQsgA0EBaiEDIAdBAWshByAJQQhqIgohCSAKIBUgCCALaiIIIA1xQQJ0aiILLQABIg5JDQALCyALLwECIQ0gBQJ/IAstAAAiCUEQTwRAIAMhAiAHIQQgDiELIAUoAsg3DAELAkAgCiAOIBUgDUECdGoiFSAIQX8gCSAOanRBf3MiDXEgDnZBAnRqIhgtAAEiC2pPBEAgAyECIAchBCAKIQkMAQsgCiEGIAchBCADIQIDQCAERQ0KIAItAAAgBnQhCyACQQFqIQIgBEEBayEEIAZBCGoiCSEGIA4gFSAIIAtqIgggDXEgDnZBAnRqIhgtAAEiC2ogCUsNAAsLIAkgDmshCiAIIA52IQggGC0AACEJIBgvAQIhDSAFKALINyAOagsgC2o2Asg3IAogC2shBiAIIAt2IQggCUHAAHEEQCAFQdH+ADYCBCAAQd+IgAg2AhggBSgCBCEHDBcLIAVBy/4ANgIEIAUgCUEPcSIJNgJMIAUgDUH//wNxNgJICyACIQsgBCEKIAkEQAJAIAYgCU8EQCAGIQcMAQsgBiEHIAIhAwNAIARFDQggBEEBayEEIAMtAAAgB3QgCGohCCADQQFqIgIhAyAHQQhqIgcgCUkNAAsLIAUgBSgCyDcgCWo2Asg3IAUgBSgCSCAIQX8gCXRBf3NxajYCSCAIIAl2IQggByAJayEGCyAFQcz+ADYCBAsgDw0BC0EAIQ8gDCEDDBQLAn8gBSgCSCIHIBMgD2siA0sEQAJAIAcgA2siAyAFKAIwTQ0AIAUoAsQ3RQ0AIAVB0f4ANgIEIABB1oaACDYCGCAFKAIEIQcMFQsCfyAFKAI0IgcgA0kEQCAFKAI4IAUoAiwgAyAHayIDa2oMAQsgBSgCOCAHIANragshByADIAUoAkQiCiADIApJGwwBCyAQIAdrIQcgBSgCRCIKCyEDIAUgCiADIA8gAyAPSRsiCms2AkQgCkEBayAKQQdxIgMEfwNAIBAgBy0AADoAACAQQQFqIRAgB0EBaiEHIANBAWsiAw0ACyAKQXhxBSAKCyEDQQdPBEADQCAQIActAAA6AAAgEEEBaiAHQQFqLQAAOgAAIBBBAmogB0ECai0AADoAACAQQQNqIAdBA2otAAA6AAAgEEEEaiAHQQRqLQAAOgAAIBBBBWogB0EFai0AADoAACAQQQZqIAdBBmotAAA6AAAgEEEHaiAHQQdqLQAAOgAAIBBBCGohECAHQQhqIQcgA0EIayIDDQALCyAPIAprIQ8gBSgCRA0AIAVByP4ANgIEIAUoAgQhBwwSCyAFKAIEIQcMEQsgAiAEaiECIAYgBEEDdGohBgwPCyAKIAtqIQIgBiAKQQN0aiEGDA4LIAMgB2ohAiAKIAdBA3RqIQYMDQsgAiAEaiECIAYgBEEDdGohBgwMCyAKIAtqIQIgBiAKQQN0aiEGDAsLIAMgB2ohAiAKIAdBA3RqIQYMCgsgAiAEaiECIAYgBEEDdGohBgwJCyAFQdH+ADYCBCAAQbOCgAg2AhggBSgCBCEHDAkLIAVB0f4ANgIEIABBnYKACDYCGCAFKAIEIQcMCAtBACEEIAMhAiAJIQYgDCEDDAgLIAUoAiQiBgRAIAZBADYCEAsgAyEGCyAFQbn+ADYCBAsCQCAHQYAIcUUNACAFKAJEIgMgBCADIARJGyINBEACQCAFKAIkIgtFDQAgCygCECIKRQ0AIAsoAhgiCSALKAIUIANrIgtNDQAgCSALayANIAsgDWogCUsbIgMEQCAKIAtqIAIgA/wKAAALIAUoAhQhBwsCQCAHQYAEcUUNACAFLQAMQQRxRQ0AIAUgBSgCHCACIA0QLjYCHAsgBSAFKAJEIA1rIgM2AkQgBCANayEEIAIgDWohAgsgA0UNACAMIQMMBgsgBUG6/gA2AgQgBUEANgJECwJAIAUoAhQiCUGAEHEEQCAERQ0EQQAhBwNAIAIgB2otAAAhCwJAIAUoAiQiCUUNACAJKAIcIgNFDQAgBSgCRCIKIAkoAiBPDQAgBSAKQQFqNgJEIAMgCmogCzoAAAsgC0EAIAQgB0EBaiIHSxsNAAsCQCAFKAIUIglBgARxRQ0AIAUtAAxBBHFFDQAgBSAFKAIcIAIgBxAuNgIcCyACIAdqIQIgBCAHayEEIAtFDQEgDCEDDAYLIAUoAiQiA0UNACADQQA2AhwLIAVBu/4ANgIEIAVBADYCRAsCQCAJQYAgcQRAIARFDQNBACEHA0AgAiAHai0AACELAkAgBSgCJCIJRQ0AIAkoAiQiA0UNACAFKAJEIgogCSgCKE8NACAFIApBAWo2AkQgAyAKaiALOgAACyALQQAgBCAHQQFqIgdLGw0ACwJAIAUtABVBAnFFDQAgBS0ADEEEcUUNACAFIAUoAhwgAiAHEC42AhwLIAIgB2ohAiAEIAdrIQQgC0UNASAMIQMMBQsgBSgCJCIDRQ0AIANBADYCJAsgBUG8/gA2AgQLIAUoAhQiCUGABHEEQAJAIAZBD0sEQCACIQcMAQsgBEUNAiAGQQhqIQMgAkEBaiEHIARBAWshCiACLQAAIAZ0IAhqIQggBkEHSwRAIAohBCADIQYMAQsgCkUEQCAHIQJBACEEIAMhBiAMIQMMBQsgBkEQciEGIAJBAmohByAEQQJrIQQgAi0AASADdCAIaiEICwJAIAUtAAxBBHFFDQAgCCAFLwEcRg0AIAVB0f4ANgIEIABBlYeACDYCGCAHIQIgBSgCBCEHDAMLQQAhCEEAIQYgByECCyAFKAIkIgMEQCADQQE2AjAgAyAJQQl2QQFxNgIsCyAAQQA2AjAgBUEANgIcIAVBv/4ANgIEIAUoAgQhBwwBCwtBACEEIAwhAwsgACAPNgIQIAAgEDYCDCAAIAQ2AgQgACACNgIAIAUgBjYCQCAFIAg2AjwCQAJAAkAgBSgCLA0AIA8gE0YNASAFKAIEIgJB0P4ASw0BIAFBBEcNACACQc3+AEsNAQsCfyAQIQIgEyAPayEKAkACQCAAKAIcIgkoAjgiB0UEQEEBIQQgCSAAKAIoQQEgCSgCKHRBASAAKAIgEQEAIgc2AjggB0UNAQsgCSgCLCIGRQRAIAlCADcCMCAJQQEgCSgCKHQiBjYCLAsgBiAKTQRAIAYEQCAHIAIgBmsgBvwKAAALIAlBADYCNAwCCyAGIAkoAjQiBmsiBCAKIAQgCkkbIgwEQCAGIAdqIAIgCmsgDPwKAAALIAQgCkkEQCAKIAxrIgYEQCAJKAI4IAIgBmsgBvwKAAALIAkgBjYCNAwCC0EAIQQgCUEAIAkoAjQgDGoiBiAGIAkoAiwiAkYbNgI0IAIgCSgCMCICTQ0AIAkgAiAMajYCMAsgBAwBCyAJIAkoAiw2AjBBAAsNASAAKAIQIQ8gACgCBCEECyAAIAAoAgggJiAEa2o2AgggACATIA9rIgwgACgCFGo2AhQgBSAFKAIgIAxqNgIgIAUtAAxBBHFFIA8gE0ZyRQRAIAAoAgwgDGshBiAFKAIcIQIgAAJ/IAUoAhQEQCACIAYgDBAuDAELIAIgBiAMEC0LIgI2AjAgBSACNgIcCyAAIAUoAkBBwABBACAFKAIIG2pBgAFBACAFKAIEIgBBv/4ARhtqQYACQYACQQAgAEHC/gBGGyAAQcf+AEYbajYCLCADQXsgAxsiACAAIAMgDyATRhsgAyAEICZGGyABQQRGGyEfDAILIAVB0v4ANgIEC0F8IR8LIBdBEGokACAfC1MBAn8jAEEQayIBJAAgAEECTwRAIAEgADYCACABQQlBAiAAayAAQQNrQXdJG0ECdEHQ2YAIaigCADYCBEHqioAIIAEQD0EHIQILIAFBEGokACACCwQAQQQLDwAgAEEPQoGAgIDwARAyC3UAAkAgAkUNACAAKAJMRQ0AIAAoAlRBD0cNAEHG24AIQcqFgAgpAAA3AQBBwNuACEHEhYAIKQAANwMAQbjbgAhBvIWACCkAADcDAEGw24AIQbSFgAgpAAA3AwBBztuACEEAOgAAQQcPCyAAIAEgAiADIAQQJQvvBAEEfyMAQRBrIggkACAIQQA2AgwCQAJAIAAoAkAiBSAAKAI8IgZLBEAgAgRAIAYEQCAAIAUgBmsiBTYCQCAFBEAgACgCOCIHIAYgB2ogBfwKAAALIABBADYCPCAAKAJAIQULAkAgAiAFaiIHIAAoAkQiBk0EQCAAKAI4IQcMAQsgBkEBdEGAgAEgBhshBQNAIAUiBkEBdCEFIAYgB0kNAAsgACgCOCAGEAsiB0UNAyAAIAY2AkQgACAHNgI4IAAoAkAhBQsgAgRAIAUgB2ogASAC/AoAAAsgACAAKAJAIAJqIgU2AkAgACgCPCEGCyAAIAAoAjggBmogBSAGayIBIAMgBCAIQQxqECgiBkEDRgRAIAAgACgCPCABIAgoAgxrajYCPAwDCyAAQQA2AkAgAEEANgI8DAILIAAgASACIAMgBCAIQQxqECgiBkEDRw0BIAgoAgwiBEUNASAAKAI8IgMEQCAAIAAoAkAgA2siBTYCQCAFBEAgACgCOCIGIAMgBmogBfwKAAALIABBADYCPAsCQAJAIAAoAkAiBSAEaiIGIAAoAkQiA00EQCAAKAI4IQcMAQsgA0EBdEGAgAEgAxshBQNAIAUiA0EBdCEFIAMgBkkNAAsgACgCOCADEAsiB0UNASAAIAM2AkQgACAHNgI4IAAoAkAhBQsgBARAIAUgB2ogASACIARraiAE/AoAAAsgACAAKAJAIARqNgJAQQMhBgwCCwtBv9uACEGjgIAIKAAANgAAQbjbgAhBnICACCkAADcDAEGw24AIQZSAgAgpAAA3AwBBw9uACEEAOgAAQQwhBgsgCEEQaiQAIAYLcAACQCAAQQBBACABIAIQJSICDQBBACECIAAoAkwNAEHI24AIQYyHgAgpAAA3AwBBwNuACEGEh4AIKQAANwMAQbjbgAhB/IaACCkAADcDAEGw24AIQfSGgAgpAAA3AwBB0NuACEEAOgAAQQghAgsgAguyAwEDfyAABEACQCAAKAJQRQRAIAAoAiBFDQEgACgCJCICRQ0BIAAoAhwiAUUNASABKAIAIABHDQECQAJAIAEoAgQiA0E5aw45AQMDAwMDAwMDAwMDAQMDAwEDAwMDAwMDAwMDAwMDAwMDAwEDAwMDAwMDAwMDAwEDAwMDAwMDAwMBAAsgA0GaBUYNACADQSpHDQILIAEoAggiAwRAIAAoAiggAyACEQAAIAAoAiQhAiAAKAIcIQELIAEoAkQiAwRAIAAoAiggAyACEQAAIAAoAiQhAiAAKAIcIQELIAEoAkAiAwRAIAAoAiggAyACEQAAIAAoAiQhAiAAKAIcIQELIAEoAjgiAwRAIAAoAiggAyACEQAAIAAoAiQhAiAAKAIcIQELIAAoAiggASACEQAAIABBADYCHAwBCyAAKAIgRQ0AIAAoAiQiAkUNACAAKAIcIgFFDQAgASgCACAARw0AIAEoAgRBtP4Aa0EfSw0AIAEoAjgiAwRAIAAoAiggAyACEQAAIAAoAiQhAiAAKAIcIQELIAAoAiggASACEQAAIABBADYCHAsgACgCOBAMIAAQDAsL1QUBAn8jAEEwayIGJAAgACADNgIMIABBADYCBCAAIAE2AgAgACAEKAIAIgc2AhACfwJAAkADQEEAIQMDQCADIAJFckUEQCAAIAI2AgQgAiEDQQAhAgsgACgCTARAQQAgA0UNBRogACgCVCIBQR9HBEAgAUEPRgRAQcbbgAhByoWACCkAADcBAEHA24AIQcSFgAgpAAA3AwBBuNuACEG8hYAIKQAANwMAQbDbgAhBtIWACCkAADcDAEHO24AIQQA6AAAMBgsgAEEANgIEQQAhAkEADAYLIANBAWshASAAKAIAIQMDQCADLQAARQRAIAAgATYCBCAAIANBAWoiAzYCACABQQFrIgFBf0cNAQwECwsgACgCIEUNAyAAKAIkRQ0DIAAoAhwiAUUNAyABKAIAIABHDQMgASgCBEG0/gBrQR9LDQMgAUEANgI0IAFCADcCLCABQQA2AiAgAEEANgIsIABCADcCFCAAQQA2AgggASgCDCIDBEAgACADQQFxNgIwCyABQgA3AjwgAUEANgIkIAFBgIACNgIYIAFCgICAgHA3AhAgAUK0/gA3AgQgAUKBgICAcDcCxDcgAEEANgJMIAEgAUG0CmoiAzYCcCABIAM2AlQgASADNgJQCwJAAkACQCAAQQAQICIBQQVqDgcCAQEBAQIAAQsgAEEBNgJMIAAoAgQhAwwCC0EAIAFBAkkNBRogBiABNgIAIAZBCUECIAFrIAFBA2tBd0kbQQJ0QdDZgAhqKAIANgIEQeqKgAggBhAPDAQLQQMgACgCEEUNBBogACgCBCIDIAJyRQRAQQAhAkEADAULIANFIAFBe0dyDQALCyAGQb6DgAg2AhQgBkF7NgIQQeqKgAggBkEQahAPDAELIAZB2YOACDYCJCAGQX42AiBB6oqACCAGQSBqEA8LQQcLIAQgByAAKAIQazYCACAFIAAoAgQgAmo2AgAgBkEwaiQACwYAIAAQCAsGACAAEAwLvgUBAn8jAEHQAGsiBCQAAkAgAUUEQEHA24AIQZGBgAgtAAA6AABBuNuACEGJgYAIKQAANwMAQbDbgAhBgYGACCkAADcDAEHB24AIQQA6AABBCCEBDAELIARByABqQgA3AwAgBEFAa0IANwMAIARBOGpCADcDACAEQTBqQgA3AwAgBEEoakIANwMAIARBIGpCADcDACAEQgA3AxggBEEYakFxEB8iBQRAIAQgBTYCECAEQQIgBWtBAnQoAtDZgAg2AhRB6oqACCAEQRBqEA9BByEBDAELIAQgATYCHCAEIAA2AhggBCADKAIANgIoQfjZgAgoAgAhACAEIAI2AiRBBCEBAkACQAJAAkACQCAEQRhqQQQQICIFQQVqDgcCAQEBAQEAAQsgAEUgBCgCJCACayIBIABNckUEQCAEIAA2AgQgBCABNgIAQdWAgAggBBAPQQkhAQwECyADIAE2AgBBACEBDAMLIAUgBCgCKHINAQtB6NuACEG1i4AILwAAOwEAQeDbgAhBrYuACCkAADcDAEHY24AIQaWLgAgpAAA3AwBB0NuACEGdi4AIKQAANwMAQcjbgAhBlYuACCkAADcDAEHA24AIQY2LgAgpAAA3AwBBuNuACEGFi4AIKQAANwMAQbDbgAhB/YqACCkAADcDAEHq24AIQQA6AAAMAQsgBUF9RgRAQcDbgAhBzoqACCgAADYCAEG424AIQcaKgAgpAAA3AwBBsNuACEG+ioAIKQAANwMAQcTbgAhBADoAAEEHIQEMAQsgBRAhIQELIAQoAjhFDQAgBCgCPCICRQ0AIAQoAjQiAEUNACAAKAIAIARBGGpHDQAgACgCBEG0/gBrQR9LDQAgACgCOCIDBEAgBCgCQCADIAIRAAAgBCgCPCECIAQoAjQhAAsgBCgCQCAAIAIRAAALIARB0ABqJAAgAQsPACAAQXFCgYCAgJB+EDILrAoBCH8gAEH//wNxIQQgAEEQdiEFQQEhACACQQFGBEAgBCABLQAAaiIAQfH/A2sgACAAQfD/A0sbIgAgBWoiAUEQdCICQYCAPGogAiABQfD/A0sbIAByDwsgAQR/AkACQAJ/AkAgAkEQTwRAAkAgAkGwK08EQANAQQAhBgNAIAQgASAGaiIALQAAaiIDIAVqIAMgAEEBai0AAGoiA2ogAyAAQQJqLQAAaiIDaiADIABBA2otAABqIgNqIAMgAEEEai0AAGoiA2ogAyAAQQVqLQAAaiIDaiADIABBBmotAABqIgNqIAMgAEEHai0AAGoiA2ogAyAAQQhqLQAAaiIDaiADIABBCWotAABqIgNqIAMgAEEKai0AAGoiA2ogAyAAQQtqLQAAaiIDaiADIABBDGotAABqIgNqIAMgAEENai0AAGoiA2ogAyAAQQ5qLQAAaiIDaiADIABBD2otAABqIgRqIQUgBkEQaiIGQbArRw0ACyAFQfH/A3AhBSAEQfH/A3AhBCABQbAraiEBIAJBsCtrIgJBrytLDQALIAJFDQYgAkEPTQ0BCwNAIAQgAS0AAGoiACAFaiAAIAFBAWotAABqIgBqIAAgAUECai0AAGoiAGogACABQQNqLQAAaiIAaiAAIAFBBGotAABqIgBqIAAgAUEFai0AAGoiAGogACABQQZqLQAAaiIAaiAAIAFBB2otAABqIgBqIAAgAUEIai0AAGoiAGogACABQQlqLQAAaiIAaiAAIAFBCmotAABqIgBqIAAgAUELai0AAGoiAGogACABQQxqLQAAaiIAaiAAIAFBDWotAABqIgBqIAAgAUEOai0AAGoiAGogACABQQ9qLQAAaiIEaiEFIAFBEGohASACQRBrIgJBD0sNAAsgAkUNBAsgAkEDcSIDDQEgAgwCCwJAIAJFDQAgAkEDcSIDBH8gAyEGIAEhAANAIAQgAC0AAGoiBCAFaiEFIABBAWohACAGQQFrIgYNAAsgASADaiEBIAJBDHEFIAILIQAgAkEESQ0AIABBBGsiAkEEcUUEQCAEIAEtAABqIgAgAS0AAWoiBiABLQACaiIDIAEtAANqIgQgAyAGIAAgBWpqamohBSABQQRqIQEgAiEACyACQQRJDQADQCAEIAEtAABqIgIgAUEBai0AAGoiBiABQQJqLQAAaiIDIAFBA2otAABqIgcgAUEEai0AAGoiCCABQQVqLQAAaiIJIAFBBmotAABqIgogAUEHai0AAGoiBCAKIAkgCCAHIAMgBiACIAVqampqampqaiEFIAFBCGohASAAQQhrIgANAAsLIAVB8f8DcEEQdCAEQfH/A2sgBCAEQfD/A0sbcg8LIAMhBiABIQADQCAEIAAtAABqIgQgBWohBSAAQQFqIQAgBkEBayIGDQALIAEgA2ohASACQQxxCyEAIAJBBEkNACAAQQRrIgJBBHFFBEAgBCABLQAAaiIAIAEtAAFqIgYgAS0AAmoiAyABLQADaiIEIAMgBiAAIAVqampqIQUgAUEEaiEBIAIhAAsgAkEESQ0AA0AgBCABLQAAaiICIAFBAWotAABqIgYgAUECai0AAGoiAyABQQNqLQAAaiIHIAFBBGotAABqIgggAUEFai0AAGoiCSABQQZqLQAAaiIKIAFBB2otAABqIgQgCiAJIAggByADIAYgAiAFampqampqamohBSABQQhqIQEgAEEIayIADQALCyAFQfH/A3AhBSAEQfH/A3AhBAsgBUEQdCAEcgVBAQsLnQ0BCH8gAUUEQEEADwsgAEF/cyEAIAJBF08EQAJAIAFBA3FFBEAgASEDDAELIAEtAAAgAHNB/wFxQQJ0KAKgnoAIIABBCHZzIQAgAUEBaiIDQQNxRQRAIAJBAWshAgwBCyABLQABIABzQf8BcUECdCgCoJ6ACCAAQQh2cyEAIAFBAmoiA0EDcUUEQCACQQJrIQIMAQsgAS0AAiAAc0H/AXFBAnQoAqCegAggAEEIdnMhACABQQNqIgNBA3FFBEAgAkEDayECDAELIAEtAAMgAHNB/wFxQQJ0KAKgnoAIIABBCHZzIQAgAUEEaiEDIAJBBGshAgsgAkEUbiIIQWxsIQoCQCAIQQFrIglFBEAMAQsgAyEBA0AgASgCACAAcyIAQRZ2QfwHcSgCoL6ACCAAQQ52QfwHcSgCoLaACCAAQQZ2QfwHcSgCoK6ACCAAQf8BcUECdCgCoKaACHNzcyEAIAFBEGooAgAgB3MiB0EWdkH8B3EoAqC+gAggB0EOdkH8B3EoAqC2gAggB0EGdkH8B3EoAqCugAggB0H/AXFBAnQoAqCmgAhzc3MhByABQQxqKAIAIAZzIgZBFnZB/AdxKAKgvoAIIAZBDnZB/AdxKAKgtoAIIAZBBnZB/AdxKAKgroAIIAZB/wFxQQJ0KAKgpoAIc3NzIQYgAUEIaigCACAEcyIEQRZ2QfwHcSgCoL6ACCAEQQ52QfwHcSgCoLaACCAEQQZ2QfwHcSgCoK6ACCAEQf8BcUECdCgCoKaACHNzcyEEIAFBBGooAgAgBXMiBUEWdkH8B3EoAqC+gAggBUEOdkH8B3EoAqC2gAggBUEGdkH8B3EoAqCugAggBUH/AXFBAnQoAqCmgAhzc3MhBSABQRRqIQEgCUEBayIJDQALIAMgCEEUbGpBFGshAwsgAiAKaiECIANBFGohASADKAIQIAMoAgwgAygCCCADKAIEIAMoAgAgAHMiAEEIdiAAQf8BcUECdCgCoJ6ACHMiAEEIdiAAQf8BcUECdCgCoJ6ACHMiAEEIdiAAQf8BcUECdCgCoJ6ACHMiAEH/AXFBAnQoAqCegAggBXNzIABBCHZzIgBBCHYgAEH/AXFBAnQoAqCegAhzIgBBCHYgAEH/AXFBAnQoAqCegAhzIgBBCHYgAEH/AXFBAnQoAqCegAhzIgBB/wFxQQJ0KAKgnoAIIARzcyAAQQh2cyIAQQh2IABB/wFxQQJ0KAKgnoAIcyIAQQh2IABB/wFxQQJ0KAKgnoAIcyIAQQh2IABB/wFxQQJ0KAKgnoAIcyIAQf8BcUECdCgCoJ6ACCAGc3MgAEEIdnMiAEEIdiAAQf8BcUECdCgCoJ6ACHMiAEEIdiAAQf8BcUECdCgCoJ6ACHMiAEEIdiAAQf8BcUECdCgCoJ6ACHMiAEH/AXFBAnQoAqCegAggB3NzIABBCHZzIgBBCHYgAEH/AXFBAnQoAqCegAhzIgBBCHYgAEH/AXFBAnQoAqCegAhzIgBBCHYgAEH/AXFBAnQoAqCegAhzIgBBCHYgAEH/AXFBAnQoAqCegAhzIQALIAJBCE8EQANAIAEtAAAgAHNB/wFxQQJ0KAKgnoAIIABBCHZzIgBBCHYgAUEBai0AACAAc0H/AXFBAnQoAqCegAhzIgBBCHYgAUECai0AACAAc0H/AXFBAnQoAqCegAhzIgBBCHYgAUEDai0AACAAc0H/AXFBAnQoAqCegAhzIgBBCHYgAUEEai0AACAAc0H/AXFBAnQoAqCegAhzIgBBCHYgAUEFai0AACAAc0H/AXFBAnQoAqCegAhzIgBBCHYgAUEGai0AACAAc0H/AXFBAnQoAqCegAhzIgBBCHYgAUEHai0AACAAc0H/AXFBAnQoAqCegAhzIQAgAUEIaiEBIAJBCGsiAkEHSw0ACwsCQCACRQ0AIAEtAAAgAHNB/wFxQQJ0KAKgnoAIIABBCHZzIQAgAkEBRg0AIAEtAAEgAHNB/wFxQQJ0KAKgnoAIIABBCHZzIQAgAkECRg0AIAEtAAIgAHNB/wFxQQJ0KAKgnoAIIABBCHZzIQAgAkEDRg0AIAEtAAMgAHNB/wFxQQJ0KAKgnoAIIABBCHZzIQAgAkEERg0AIAEtAAQgAHNB/wFxQQJ0KAKgnoAIIABBCHZzIQAgAkEFRg0AIAEtAAUgAHNB/wFxQQJ0KAKgnoAIIABBCHZzIQAgAkEGRg0AIAEtAAYgAHNB/wFxQQJ0KAKgnoAIIABBCHZzIQALIABBf3MLCQAgASACbBAICwYAIAEQDAupEAEWfyMAQUBqIgdBMGpCADcDACAHQThqQgA3AwAgB0IANwMgIAdCADcDKAJAAkACfwJAAkAgAgRAIAJBA3EhDSACQQRPBEAgAkF8cSEJIAEhBgNAIAdBIGoiDiAGLwEAQQF0aiILIAsvAQBBAWo7AQAgBkECai8BAEEBdCAOaiILIAsvAQBBAWo7AQAgBkEEai8BAEEBdCAOaiILIAsvAQBBAWo7AQAgBkEGai8BAEEBdCAOaiILIAsvAQBBAWo7AQAgBkEIaiEGIAkgCEEEaiIIRw0ACwsgDQRAIAEgCEEBdGohBgNAIAdBIGogBi8BAEEBdGoiCSAJLwEAQQFqOwEAIAZBAmohBiANQQFrIg0NAAsLIAQoAgAhBiAHLwE+IgwEQEEPIQgMAwsgBy8BPEUNAUEOIQhBACEMDAILIAQoAgAhBgtBACEMIAcvAToEQEENIQgMAQsgBy8BOARAQQwhCAwBCyAHLwE2BEBBCyEIDAELIAcvATQEQEEKIQgMAQsgBy8BMgRAQQkhCAwBCyAHLwEwBEBBCCEIDAELIAcvAS4EQEEHIQgMAQsgBy8BLARAQQYhCAwBCyAHLwEqBEBBBSEIDAELIAcvASgEQEEEIQgMAQsgBy8BJgRAQQMhCAwBCyAHLwEkBEBBAiEIDAELIAcvASIiCUUEQCADIAMoAgAiAEEEajYCACAAQcACOwEAIABBADsBAiADIAMoAgAiAEEEajYCACAAQQA7AQIgAEHAAjsBAEEBIQoMAwsgBkEARyELQQEhCEEBIQ1BAAwBCyAGIAggBiAISRshCyAHQSBqQQJyIQZBASENAkADQCAGLwEADQEgBkECaiEGIAggDUEBaiINRw0ACyAIIQ0LIAcvASIhCUEBCyEZQX8hBiAJQf//A3FBAksNAUEEIAlBAXRrQf7/A3EgBy8BJCIKayIOQQBIDQEgDkEBdCAHLwEmIg5rIg9BAEgNASAPQQF0IAcvASgiD2siEEEASA0BIBBBAXQgBy8BKiIQayIRQQBIDQEgEUEBdCAHLwEsIhFrIhJBAEgNASASQQF0IAcvAS4iEmsiE0EASA0BIBNBAXQgBy8BMCITayIUQQBIDQEgFEEBdCAHLwEyIhRrIhVBAEgNASAVQQF0IAcvATQiFWsiFkEASA0BIBZBAXQgBy8BNiIWayIXQQBIDQEgF0EBdCAHLwE4IhdrIhhBAEgNASAYQQF0IAcvAToiGGsiGkEASA0BIBpBAXQgBy8BPCIaayIbQQBIDQEgG0EBdCIbIAxJIAwgG0dBACAARSAZchtyDQEgCyANSyEZQQAhDCAHQQA7AQIgByAJOwEEIAcgCSAKaiIGOwEGIAcgBiAOaiIGOwEIIAcgBiAPaiIGOwEKIAcgBiAQaiIGOwEMIAcgBiARaiIGOwEOIAcgBiASaiIGOwEQIAcgBiATaiIGOwESIAcgBiAUaiIGOwEUIAcgBiAVaiIGOwEWIAcgBiAWaiIGOwEYIAcgBiAXaiIGOwEaIAcgBiAYaiIGOwEcIAcgBiAaajsBHgJAIAJFDQAgAkEBRwRAIAJBAXEgAkF+cSECIAEhBgNAIAYvAQAiCgRAIAcgCkEBdGoiCiAKLwEAIgpBAWo7AQAgBSAKQQF0aiAMOwEACyAGQQJqLwEAIgoEQCAHIApBAXRqIgogCi8BACIKQQFqOwEAIAUgCkEBdGogDEEBajsBAAsgBkEEaiEGIAIgDEECaiIMRw0AC0UNAQsgASAMQQF0ai8BACICRQ0AIAUgByACQQF0ai8BAEEBdGogDDsBAAsgCyANIBkbIQpBFCEQQQAhFEEAIRVBACEWQQAhFwJAAkACQCAAQQFrDgIAAQILQQEhBiAKQQlLDQNBgQIhEEGQx4AIIRZB0MaACCEVQQEhFwwBC0EBIQYgCkEJSw0CQQAhEEGQyIAIIRZB0MeACCEVQQEhFAtBASAKdCIRQQFrIRogAygCACESQQAhEyAKIQtBACEPQQAhDEF/IQADQEEBIAt0IQ4CQANAAn9BACAQIAUgE0EBdGovAQAiAkEBaksNABogAiAQSQRAQQAhAkHgAAwBCyAVIAIgEGtBAXQiBmovAQAhAiAGIBZqLQAACyEZIBIgDCAPdkECdCAOQX8gDSAPayILdCIYakECdGpqIQYgGEECdCEbIA4hCQNAIAYgGToAACAGQQJqIAI7AQAgBkEBaiALOgAAIAYgG2ohBiAJIBhqIgkNAAtBASANQQFrdCEJA0AgCSICQQF2IQkgAiAMcQ0ACyAHQSBqIA1BAXRqIgYgBi8BAEEBayIGOwEAIAJBAWsgDHEgAmpBACACGyEMIBNBAWohEyAGQf//A3FFBEAgCCANRg0CIAEgBSATQQF0ai8BAEEBdGovAQAhDQsgCiANTw0AIAwgGnEiAiAARg0AC0EBIA0gDyAKIA8bIg9rIgt0IQkgCCANSwRAIAggD2shCyAHQSBqIA1BAXRqIQYgDSEAAkADQCAJIAYvAQBrIglBAEoEQCAGQQJqIQYgCUEBdCEJIABBAWoiACAISQ0BDAILCyAAIA9rIQsLQQEgC3QhCQtBASEGIBcgCSARaiIRQdQGS3EgFCARQdAES3FyDQMgAygCACIGIAJBAnRqIgAgCjoAASAAIAs6AAAgACASIA5BAnRqIhIgBmtBAnY7AQIgAiEADAELCyAMBEAgEiAMQQJ0aiIAQQA7AQIgACALOgABIABBwAA6AAALIAMgAygCACARQQJ0ajYCAAsgBCAKNgIAQQAhBgsgBguWAQEDfyMAQRBrIgMkAAJ/QdgAEAoiBEUEQEG424AIQayEgAgtAAA6AABBsNuACEGkhIAIKQAANwMAQbnbgAhBADoAAEEMDAELIAQgAjcCUCAEIAEQHyIFBEAgAyAFNgIAIANBAiAFa0ECdCgC0NmACDYCBEHqioAIIAMQDyAEEAxBBwwBCyAAIAQ2AgBBAAsgA0EQaiQACwvjWBIAQYCAgAgL4QxpbnN1ZmZpY2llbnQgbWVtb3J5AHpsaWI6IG91dCBvZiBtZW1vcnkAbmVlZCBkaWN0aW9uYXJ5AC0rICAgMFgweAAtMFgrMFggMFgtMHgrMHggMHgAemxpYjogZGVjb21wcmVzc2VkIHNpemUgJXp1IGV4Y2VlZHMgY2FwICV6dQB6bGliOiBlbXB0eSBpbnB1dABpbnZhbGlkIGFyZ3VtZW50AGRlY29tcHJlc3NlZCBzaXplIGV4Y2VlZHMgY29uZmlndXJlZCBsaW1pdABpbnZhbGlkIGxpdGVyYWwvbGVuZ3RocyBzZXQAaW52YWxpZCBjb2RlIGxlbmd0aHMgc2V0AHVua25vd24gaGVhZGVyIGZsYWdzIHNldABpbnZhbGlkIGRpc3RhbmNlcyBzZXQAaW52YWxpZCBiaXQgbGVuZ3RoIHJlcGVhdABvdXQgb2YgbWVtb3J5IGFsbG9jYXRpbmcgY3VfZGVjb21wcmVzc19zdHJlYW1fdAB0b28gbWFueSBsZW5ndGggb3IgZGlzdGFuY2Ugc3ltYm9scwBpbnZhbGlkIHN0b3JlZCBibG9jayBsZW5ndGhzAGJ1ZmZlciBlcnJvcgB1bmtub3duIGVycm9yAHN0cmVhbSBlcnJvcgBpbnRlcm5hbCBlcnJvcgBmaWxlIGVycm9yAGRhdGEgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AbmFuAHpsaWI6IG9vbQBvcGVyYXRpb24gdW5zdXBwb3J0ZWQgZm9yIHRoaXMgYWxnb3JpdGhtAHN0cmVhbWluZyBkZWNvbXByZXNzIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgYWxnb3JpdGhtAHdyaXRlIHRvIGZpbmlzaGVkIGRlY29tcHJlc3Mgc3RyZWFtAHpsaWI6IGRhdGEgYWZ0ZXIgZW5kIG9mIHN0cmVhbQBvdXRwdXQgYnVmZmVyIHRvbyBzbWFsbABvawBpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW5jb3JyZWN0IGhlYWRlciBjaGVjawBpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAHpsaWI6IHRydW5jYXRlZCBzdHJlYW0gYXQgZmluaXNoAGhlYWRlciBjcmMgbWlzbWF0Y2gAZGVjb21wcmVzc2VkIHNpemUgbm90IGVuY29kZWQgaW4gd2lyZSBmb3JtYXQ7IHVzZSBzdHJlYW1pbmcAaW5mAGludmFsaWQgd2luZG93IHNpemUAb3BlcmF0aW9uIGludmFsaWQgZm9yIGN1cnJlbnQgc3RyZWFtIHN0YXRlAGRlZmxhdGUAaW52YWxpZCBibG9jayB0eXBlAGludmFsaWQgbGl0ZXJhbC9sZW5ndGggY29kZQBpbnZhbGlkIGRpc3RhbmNlIGNvZGUAdW5rbm93biBjb21wcmVzc2lvbiBtZXRob2QAc3RyZWFtIGVuZABhbGdvcml0aG0gbm90IGNvbXBpbGVkIGludG8gdGhpcyBidWlsZABhbGdvcml0aG0gJWQgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGlzIGJ1aWxkAGNvbXByZXNzZWQgaW5wdXQgdHJ1bmNhdGVkAGRlY29tcHJlc3Npb24gZmFpbGVkAHN0cmVhbSBpcyBhbHJlYWR5IGZpbmlzaGVkAHpsaWIAemxpYjogY29ycnVwdGVkIGRhdGEATkFOAElORgAxLjMuMgAwLjEwLjEALgB6bGliOiBjb2RlICVkICglcykAemxpYjogb3V0cHV0IGJ1ZmZlciB0b28gc21hbGwgKHNpemUgbm90IGVuY29kZWQgaW4gc3RyZWFtKQAobnVsbCkAY29tcHJlc3Npb24gbGV2ZWwgb3V0IG9mIHJhbmdlICgxLi4xMCkAAADrAgABkwAAAb8FAAHTAgABqQMAAZsEAAELBQABCQUAAe4EAAGkAAABHgUAAf0DAAEaAAAB5gEAARkACwAZGRkAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAGQAKChkZGQMKBwABGwkLGAAACQYLAAALAAYZAAAAGRkZAEHxjIAICyEOAAAAAAAAAAAZAAsNGRkZAA0AAAIACQ4AAAAJAA4AAA4AQauNgAgLAQwAQbeNgAgLFRMAAAAAEwAAAAAJDAAAAAAADAAADABB5Y2ACAsBEABB8Y2ACAsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEGfjoAICwESAEGrjoAICx4RAAAAABEAAAAACRIAAAAAABIAABIAABoAAAAaGhoAQeKOgAgLDhoAAAAaGhoAAAAAAAAJAEGTj4AICwEUAEGfj4AICxUXAAAAABcAAAAACRQAAAAAABQAABQAQc2PgAgLARYAQdmPgAgL5A0VAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUZTdWNjZXNzAElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBv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";
|
|
38309
|
+
}
|
|
38310
|
+
});
|
|
38311
|
+
|
|
38312
|
+
// ../../node_modules/compress-utils/dist/algorithms/deflate/decompress/index.js
|
|
38313
|
+
var decompress_exports3 = {};
|
|
38314
|
+
__export(decompress_exports3, {
|
|
38315
|
+
CompressError: () => CompressError,
|
|
38316
|
+
createDecompressStream: () => createDecompressStream3,
|
|
38317
|
+
createDecompressStreamSync: () => createDecompressStreamSync3,
|
|
38318
|
+
decompress: () => decompress3,
|
|
38319
|
+
decompressSync: () => decompressSync3,
|
|
38320
|
+
decompressionStream: () => decompressionStream3,
|
|
38321
|
+
preload: () => preload6,
|
|
38322
|
+
setMaxDecompressedSize: () => setMaxDecompressedSize3,
|
|
38323
|
+
version: () => version5
|
|
38324
|
+
});
|
|
38325
|
+
var bindings3, decompress3, decompressSync3, createDecompressStream3, createDecompressStreamSync3, decompressionStream3, preload6, version5, setMaxDecompressedSize3;
|
|
38326
|
+
var init_decompress3 = __esm({
|
|
38327
|
+
"../../node_modules/compress-utils/dist/algorithms/deflate/decompress/index.js"() {
|
|
38328
|
+
init_zlib();
|
|
38329
|
+
init_algorithm();
|
|
38330
|
+
init_types();
|
|
38331
|
+
init_types();
|
|
38332
|
+
bindings3 = /* @__PURE__ */ defineAlgorithm(Algorithm.Deflate, "deflate", new URL(zlib_default));
|
|
38333
|
+
decompress3 = bindings3.decompress;
|
|
38334
|
+
decompressSync3 = bindings3.decompressSync;
|
|
38335
|
+
createDecompressStream3 = bindings3.createDecompressStream;
|
|
38336
|
+
createDecompressStreamSync3 = bindings3.createDecompressStreamSync;
|
|
38337
|
+
decompressionStream3 = bindings3.decompressionStream;
|
|
38338
|
+
preload6 = bindings3.preload;
|
|
38339
|
+
version5 = bindings3.version;
|
|
38340
|
+
setMaxDecompressedSize3 = bindings3.setMaxDecompressedSize;
|
|
38341
|
+
}
|
|
38342
|
+
});
|
|
38343
|
+
|
|
38344
|
+
// ../../node_modules/compress-utils/dist/algorithms/zlib/decompress/index.js
|
|
38345
|
+
var decompress_exports4 = {};
|
|
38346
|
+
__export(decompress_exports4, {
|
|
38347
|
+
CompressError: () => CompressError,
|
|
38348
|
+
createDecompressStream: () => createDecompressStream4,
|
|
38349
|
+
createDecompressStreamSync: () => createDecompressStreamSync4,
|
|
38350
|
+
decompress: () => decompress4,
|
|
38351
|
+
decompressSync: () => decompressSync4,
|
|
38352
|
+
decompressionStream: () => decompressionStream4,
|
|
38353
|
+
preload: () => preload7,
|
|
38354
|
+
setMaxDecompressedSize: () => setMaxDecompressedSize4,
|
|
38355
|
+
version: () => version6
|
|
38356
|
+
});
|
|
38357
|
+
var bindings4, decompress4, decompressSync4, createDecompressStream4, createDecompressStreamSync4, decompressionStream4, preload7, version6, setMaxDecompressedSize4;
|
|
38358
|
+
var init_decompress4 = __esm({
|
|
38359
|
+
"../../node_modules/compress-utils/dist/algorithms/zlib/decompress/index.js"() {
|
|
38360
|
+
init_zlib();
|
|
38361
|
+
init_algorithm();
|
|
38362
|
+
init_types();
|
|
38363
|
+
init_types();
|
|
38364
|
+
bindings4 = /* @__PURE__ */ defineAlgorithm(Algorithm.Zlib, "zlib", new URL(zlib_default));
|
|
38365
|
+
decompress4 = bindings4.decompress;
|
|
38366
|
+
decompressSync4 = bindings4.decompressSync;
|
|
38367
|
+
createDecompressStream4 = bindings4.createDecompressStream;
|
|
38368
|
+
createDecompressStreamSync4 = bindings4.createDecompressStreamSync;
|
|
38369
|
+
decompressionStream4 = bindings4.decompressionStream;
|
|
38370
|
+
preload7 = bindings4.preload;
|
|
38371
|
+
version6 = bindings4.version;
|
|
38372
|
+
setMaxDecompressedSize4 = bindings4.setMaxDecompressedSize;
|
|
38373
|
+
}
|
|
38374
|
+
});
|
|
38375
|
+
|
|
38376
|
+
// ../compression/src/deflate-decompressor-compress-utils.ts
|
|
38377
|
+
var DeflateCompressUtilsDecompressor;
|
|
38378
|
+
var init_deflate_decompressor_compress_utils = __esm({
|
|
38379
|
+
"../compression/src/deflate-decompressor-compress-utils.ts"() {
|
|
38843
38380
|
"use strict";
|
|
38844
|
-
|
|
38845
|
-
|
|
38846
|
-
init_fflate_stream();
|
|
38847
|
-
DeflateFflateDecompressor = class extends Decompressor {
|
|
38848
|
-
name = "deflate";
|
|
38849
|
-
extensions = [];
|
|
38850
|
-
contentEncodings = ["deflate"];
|
|
38851
|
-
isSupported = true;
|
|
38852
|
-
options;
|
|
38381
|
+
init_compress_utils_compression();
|
|
38382
|
+
DeflateCompressUtilsDecompressor = class extends CompressUtilsDecompressor {
|
|
38853
38383
|
constructor(options = {}) {
|
|
38854
|
-
super(
|
|
38855
|
-
|
|
38856
|
-
|
|
38857
|
-
|
|
38858
|
-
|
|
38859
|
-
const bytes = new Uint8Array(input2);
|
|
38860
|
-
const output2 = this.options.raw ? inflateSync(bytes) : unzlibSync(bytes);
|
|
38861
|
-
return output2.slice().buffer;
|
|
38862
|
-
}
|
|
38863
|
-
/** Decompresses DEFLATE batches incrementally. */
|
|
38864
|
-
async *decompressBatches(inputBatches) {
|
|
38865
|
-
const processor = this.options.raw ? new Inflate() : new Unzlib();
|
|
38866
|
-
yield* transformFflateBatches(processor, inputBatches);
|
|
38384
|
+
super(
|
|
38385
|
+
{ name: "deflate", contentEncodings: ["deflate"] },
|
|
38386
|
+
() => options.raw ? Promise.resolve().then(() => (init_decompress3(), decompress_exports3)) : Promise.resolve().then(() => (init_decompress4(), decompress_exports4)),
|
|
38387
|
+
options
|
|
38388
|
+
);
|
|
38867
38389
|
}
|
|
38868
38390
|
};
|
|
38869
38391
|
}
|
|
@@ -38874,26 +38396,27 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
38874
38396
|
var init_deflate_decompressor = __esm({
|
|
38875
38397
|
"../compression/src/deflate-decompressor.ts"() {
|
|
38876
38398
|
"use strict";
|
|
38877
|
-
|
|
38399
|
+
init_deflate_decompressor_compress_utils();
|
|
38878
38400
|
init_decompression_stream();
|
|
38879
|
-
DeflateDecompressor2 = class extends
|
|
38880
|
-
|
|
38881
|
-
|
|
38882
|
-
}
|
|
38883
|
-
/** Decompresses with the built-in stream when available, then falls back to fflate. */
|
|
38884
|
-
async decompress(input2) {
|
|
38401
|
+
DeflateDecompressor2 = class extends DeflateCompressUtilsDecompressor {
|
|
38402
|
+
/** Decompresses with native streams when available, otherwise lazily initializes WASM. */
|
|
38403
|
+
async decompress(input2, size) {
|
|
38885
38404
|
if (this.options.useNative !== false) {
|
|
38886
|
-
const
|
|
38887
|
-
|
|
38405
|
+
const output2 = await decompressWithNativeDecompressionStream(
|
|
38406
|
+
input2,
|
|
38407
|
+
this.options.raw ? "deflate-raw" : "deflate"
|
|
38408
|
+
);
|
|
38888
38409
|
if (output2) return output2;
|
|
38889
38410
|
}
|
|
38890
|
-
return
|
|
38411
|
+
return super.decompress(input2, size);
|
|
38891
38412
|
}
|
|
38892
|
-
/**
|
|
38413
|
+
/** Streams native batches when available, otherwise uses the WASM stream. */
|
|
38893
38414
|
async *decompressBatches(inputBatches) {
|
|
38894
38415
|
if (this.options.useNative !== false) {
|
|
38895
|
-
const
|
|
38896
|
-
|
|
38416
|
+
const output2 = decompressBatchesWithNativeDecompressionStream(
|
|
38417
|
+
inputBatches,
|
|
38418
|
+
this.options.raw ? "deflate-raw" : "deflate"
|
|
38419
|
+
);
|
|
38897
38420
|
if (output2) {
|
|
38898
38421
|
yield* output2;
|
|
38899
38422
|
return;
|
|
@@ -38906,6 +38429,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
38906
38429
|
});
|
|
38907
38430
|
|
|
38908
38431
|
// src/lib/parse-rad-chunk.ts
|
|
38432
|
+
async function preloadRADCompression() {
|
|
38433
|
+
await Promise.all([RAD_PROPERTY_DEFLATE.preload(), RAD_PROPERTY_RAW_DEFLATE.preload()]);
|
|
38434
|
+
}
|
|
38909
38435
|
function parseRADChunk(data, options) {
|
|
38910
38436
|
return makeGaussianSplatsArrowTable(parseRADChunkToGaussianSplats(data, options));
|
|
38911
38437
|
}
|
|
@@ -39153,7 +38679,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
39153
38679
|
return decompressRADProperty(propertyBytes, property.property);
|
|
39154
38680
|
}
|
|
39155
38681
|
function decompressRADProperty(bytes, propertyName) {
|
|
39156
|
-
const arrayBuffer =
|
|
38682
|
+
const arrayBuffer = copyToArrayBuffer2(bytes);
|
|
39157
38683
|
try {
|
|
39158
38684
|
return new Uint8Array(RAD_PROPERTY_DEFLATE.decompressSync(arrayBuffer));
|
|
39159
38685
|
} catch {
|
|
@@ -39218,9 +38744,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
39218
38744
|
}
|
|
39219
38745
|
return values;
|
|
39220
38746
|
}
|
|
39221
|
-
function decodeR8(bytes, dimensions, count, min,
|
|
38747
|
+
function decodeR8(bytes, dimensions, count, min, max) {
|
|
39222
38748
|
const values = new Float32Array(count * dimensions);
|
|
39223
|
-
const range =
|
|
38749
|
+
const range = max - min;
|
|
39224
38750
|
for (let rowIndex = 0; rowIndex < count; rowIndex++) {
|
|
39225
38751
|
for (let dimension = 0; dimension < dimensions; dimension++) {
|
|
39226
38752
|
values[rowIndex * dimensions + dimension] = bytes[dimension * count + rowIndex] / 255 * range + min;
|
|
@@ -39228,9 +38754,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
39228
38754
|
}
|
|
39229
38755
|
return values;
|
|
39230
38756
|
}
|
|
39231
|
-
function decodeR8Delta(bytes, dimensions, count, min,
|
|
38757
|
+
function decodeR8Delta(bytes, dimensions, count, min, max) {
|
|
39232
38758
|
const values = new Float32Array(count * dimensions);
|
|
39233
|
-
const range =
|
|
38759
|
+
const range = max - min;
|
|
39234
38760
|
const last = new Uint8Array(dimensions);
|
|
39235
38761
|
for (let rowIndex = 0; rowIndex < count; rowIndex++) {
|
|
39236
38762
|
for (let dimension = 0; dimension < dimensions; dimension++) {
|
|
@@ -39242,17 +38768,17 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
39242
38768
|
}
|
|
39243
38769
|
return values;
|
|
39244
38770
|
}
|
|
39245
|
-
function decodeS8(bytes, dimensions, count,
|
|
38771
|
+
function decodeS8(bytes, dimensions, count, max) {
|
|
39246
38772
|
const values = new Float32Array(count * dimensions);
|
|
39247
38773
|
for (let rowIndex = 0; rowIndex < count; rowIndex++) {
|
|
39248
38774
|
for (let dimension = 0; dimension < dimensions; dimension++) {
|
|
39249
38775
|
const byte = bytes[dimension * count + rowIndex];
|
|
39250
|
-
values[rowIndex * dimensions + dimension] = (byte << 24 >> 24) / 127 *
|
|
38776
|
+
values[rowIndex * dimensions + dimension] = (byte << 24 >> 24) / 127 * max;
|
|
39251
38777
|
}
|
|
39252
38778
|
}
|
|
39253
38779
|
return values;
|
|
39254
38780
|
}
|
|
39255
|
-
function decodeS8Delta(bytes, dimensions, count,
|
|
38781
|
+
function decodeS8Delta(bytes, dimensions, count, max) {
|
|
39256
38782
|
const values = new Float32Array(count * dimensions);
|
|
39257
38783
|
const last = new Uint8Array(dimensions);
|
|
39258
38784
|
for (let rowIndex = 0; rowIndex < count; rowIndex++) {
|
|
@@ -39260,19 +38786,19 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
39260
38786
|
const byteOffset = dimension * count + rowIndex;
|
|
39261
38787
|
const value = last[dimension] + bytes[byteOffset] & 255;
|
|
39262
38788
|
last[dimension] = value;
|
|
39263
|
-
values[rowIndex * dimensions + dimension] = (value << 24 >> 24) / 127 *
|
|
38789
|
+
values[rowIndex * dimensions + dimension] = (value << 24 >> 24) / 127 * max;
|
|
39264
38790
|
}
|
|
39265
38791
|
}
|
|
39266
38792
|
return values;
|
|
39267
38793
|
}
|
|
39268
|
-
function decodeScaleR8(bytes, dimensions, count, min,
|
|
38794
|
+
function decodeScaleR8(bytes, dimensions, count, min, max) {
|
|
39269
38795
|
const values = new Float32Array(count * dimensions);
|
|
39270
38796
|
for (let rowIndex = 0; rowIndex < count; rowIndex++) {
|
|
39271
38797
|
for (let dimension = 0; dimension < dimensions; dimension++) {
|
|
39272
38798
|
values[rowIndex * dimensions + dimension] = decodeScale8(
|
|
39273
38799
|
bytes[dimension * count + rowIndex],
|
|
39274
38800
|
min,
|
|
39275
|
-
|
|
38801
|
+
max
|
|
39276
38802
|
);
|
|
39277
38803
|
}
|
|
39278
38804
|
}
|
|
@@ -39315,11 +38841,11 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
39315
38841
|
}
|
|
39316
38842
|
return rotations;
|
|
39317
38843
|
}
|
|
39318
|
-
function decodeScale8(scale, min,
|
|
38844
|
+
function decodeScale8(scale, min, max) {
|
|
39319
38845
|
if (scale === 0) {
|
|
39320
38846
|
return 0;
|
|
39321
38847
|
}
|
|
39322
|
-
const logScaleStep = (
|
|
38848
|
+
const logScaleStep = (max - min) / 254;
|
|
39323
38849
|
return Math.exp(min + (scale - 1) * logScaleStep);
|
|
39324
38850
|
}
|
|
39325
38851
|
function decodeQuatOct888(u, v, r) {
|
|
@@ -39409,7 +38935,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
39409
38935
|
function normalizeColorByte2(value) {
|
|
39410
38936
|
return Math.round(Math.min(Math.max(value, 0), 1) * 255);
|
|
39411
38937
|
}
|
|
39412
|
-
function
|
|
38938
|
+
function copyToArrayBuffer2(bytes) {
|
|
39413
38939
|
const copy = new Uint8Array(bytes.byteLength);
|
|
39414
38940
|
copy.set(bytes);
|
|
39415
38941
|
return copy.buffer;
|
|
@@ -39438,6 +38964,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
39438
38964
|
parseRADChunkHeader: () => parseRADChunkHeader,
|
|
39439
38965
|
parseRADChunkToGaussianSplats: () => parseRADChunkToGaussianSplats,
|
|
39440
38966
|
parseRADHeader: () => parseRADHeader,
|
|
38967
|
+
preloadRADCompression: () => preloadRADCompression,
|
|
39441
38968
|
tryParseRADHeader: () => tryParseRADHeader
|
|
39442
38969
|
});
|
|
39443
38970
|
var _RADLoaderPreload, RADLoaderMetadataWithoutPreload, RADLoaderWithParser;
|
|
@@ -39458,7 +38985,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
39458
38985
|
});
|
|
39459
38986
|
|
|
39460
38987
|
// src/rad-loader-types.ts
|
|
39461
|
-
async function
|
|
38988
|
+
async function preload8() {
|
|
39462
38989
|
const { RADLoaderWithParser: RADLoaderWithParser2 } = await Promise.resolve().then(() => (init_rad_loader(), rad_loader_exports));
|
|
39463
38990
|
return RADLoaderWithParser2;
|
|
39464
38991
|
}
|
|
@@ -39474,7 +39001,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
39474
39001
|
...RADFormat,
|
|
39475
39002
|
version: VERSION6,
|
|
39476
39003
|
options: {},
|
|
39477
|
-
preload:
|
|
39004
|
+
preload: preload8
|
|
39478
39005
|
};
|
|
39479
39006
|
}
|
|
39480
39007
|
});
|
|
@@ -39482,21 +39009,82 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
39482
39009
|
// bundle.ts
|
|
39483
39010
|
var bundle_exports = {};
|
|
39484
39011
|
__export(bundle_exports, {
|
|
39012
|
+
FetchError: () => import_core9.FetchError,
|
|
39013
|
+
JSONLoader: () => import_core9.JSONLoader,
|
|
39485
39014
|
KSPLATFormat: () => KSPLATFormat,
|
|
39486
39015
|
KSPLATLoader: () => KSPLATLoader,
|
|
39016
|
+
NullLoader: () => import_core9.NullLoader,
|
|
39017
|
+
NullWorkerLoader: () => import_core9.NullWorkerLoader,
|
|
39487
39018
|
RADFormat: () => RADFormat,
|
|
39488
39019
|
RADLoader: () => RADLoader,
|
|
39489
39020
|
RADSource: () => RADSource,
|
|
39490
39021
|
RADSourceLoader: () => RADSourceLoader,
|
|
39022
|
+
RequestScheduler: () => import_core9.RequestScheduler,
|
|
39491
39023
|
SPLATFormat: () => SPLATFormat,
|
|
39492
39024
|
SPLATLoader: () => SPLATLoader,
|
|
39493
39025
|
SPZFormat: () => SPZFormat,
|
|
39494
39026
|
SPZLoader: () => SPZLoader,
|
|
39027
|
+
_BrowserFileSystem: () => import_core9._BrowserFileSystem,
|
|
39028
|
+
_fetchProgress: () => import_core9._fetchProgress,
|
|
39029
|
+
_selectSource: () => import_core9._selectSource,
|
|
39030
|
+
_unregisterLoaders: () => import_core9._unregisterLoaders,
|
|
39031
|
+
assert: () => import_core9.assert,
|
|
39032
|
+
concatenateArrayBuffersAsync: () => import_core9.concatenateArrayBuffersAsync,
|
|
39033
|
+
coreApi: () => import_core9.coreApi,
|
|
39034
|
+
createDataSource: () => import_core9.createDataSource,
|
|
39035
|
+
document: () => import_core9.document,
|
|
39036
|
+
encode: () => import_core9.encode,
|
|
39037
|
+
encodeInBatches: () => import_core9.encodeInBatches,
|
|
39038
|
+
encodeSync: () => import_core9.encodeSync,
|
|
39039
|
+
encodeTable: () => import_core9.encodeTable,
|
|
39040
|
+
encodeTableAsText: () => import_core9.encodeTableAsText,
|
|
39041
|
+
encodeTableInBatches: () => import_core9.encodeTableInBatches,
|
|
39042
|
+
encodeText: () => import_core9.encodeText,
|
|
39043
|
+
encodeTextSync: () => import_core9.encodeTextSync,
|
|
39044
|
+
encodeURLtoURL: () => import_core9.encodeURLtoURL,
|
|
39045
|
+
fetchFile: () => import_core9.fetchFile,
|
|
39046
|
+
forEach: () => import_core9.forEach,
|
|
39047
|
+
getLoaderOptions: () => import_core9.getLoaderOptions,
|
|
39048
|
+
getPathPrefix: () => import_core9.getPathPrefix,
|
|
39049
|
+
global: () => import_core9.global,
|
|
39050
|
+
isAsyncIterable: () => import_core9.isAsyncIterable,
|
|
39051
|
+
isBrowser: () => import_core9.isBrowser,
|
|
39052
|
+
isIterable: () => import_core9.isIterable,
|
|
39053
|
+
isIterator: () => import_core9.isIterator,
|
|
39054
|
+
isPromise: () => import_core9.isPromise,
|
|
39055
|
+
isPureObject: () => import_core9.isPureObject,
|
|
39056
|
+
isReadableStream: () => import_core9.isReadableStream,
|
|
39057
|
+
isResponse: () => import_core9.isResponse,
|
|
39058
|
+
isWorker: () => import_core9.isWorker,
|
|
39059
|
+
isWritableStream: () => import_core9.isWritableStream,
|
|
39060
|
+
load: () => import_core9.load,
|
|
39061
|
+
loadInBatches: () => import_core9.loadInBatches,
|
|
39062
|
+
makeIterator: () => import_core9.makeIterator,
|
|
39063
|
+
makeLineIterator: () => import_core9.makeLineIterator,
|
|
39064
|
+
makeNumberedLineIterator: () => import_core9.makeNumberedLineIterator,
|
|
39065
|
+
makeStream: () => import_core9.makeStream,
|
|
39066
|
+
makeTextDecoderIterator: () => import_core9.makeTextDecoderIterator,
|
|
39067
|
+
makeTextEncoderIterator: () => import_core9.makeTextEncoderIterator,
|
|
39068
|
+
parse: () => import_core9.parse,
|
|
39069
|
+
parseFile: () => import_core9.parseFile,
|
|
39070
|
+
parseInBatches: () => import_core9.parseInBatches,
|
|
39495
39071
|
parseSPZ: () => parseSPZ,
|
|
39496
39072
|
parseSPZToGaussianSplats: () => parseSPZToGaussianSplats,
|
|
39497
|
-
|
|
39498
|
-
|
|
39499
|
-
|
|
39073
|
+
parseSync: () => import_core9.parseSync,
|
|
39074
|
+
preload: () => import_core9.preload,
|
|
39075
|
+
preloadSync: () => import_core9.preloadSync,
|
|
39076
|
+
readArrayBuffer: () => import_core9.readArrayBuffer,
|
|
39077
|
+
registerLoaders: () => import_core9.registerLoaders,
|
|
39078
|
+
resolvePath: () => import_core9.resolvePath,
|
|
39079
|
+
resolveRADChunkUrl: () => resolveRADChunkUrl,
|
|
39080
|
+
selectLoader: () => import_core9.selectLoader,
|
|
39081
|
+
selectLoaderSync: () => import_core9.selectLoaderSync,
|
|
39082
|
+
self: () => import_core9.self,
|
|
39083
|
+
setLoaderOptions: () => import_core9.setLoaderOptions,
|
|
39084
|
+
setPathPrefix: () => import_core9.setPathPrefix,
|
|
39085
|
+
window: () => import_core9.window
|
|
39086
|
+
});
|
|
39087
|
+
var import_core9 = __toESM(require_core(), 1);
|
|
39500
39088
|
|
|
39501
39089
|
// src/index.ts
|
|
39502
39090
|
init_splats_format();
|
|
@@ -39507,7 +39095,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
39507
39095
|
init_rad_loader_types();
|
|
39508
39096
|
|
|
39509
39097
|
// src/rad-source-loader.ts
|
|
39510
|
-
|
|
39098
|
+
init_loader_utils();
|
|
39511
39099
|
init_splats_format();
|
|
39512
39100
|
init_parse_rad();
|
|
39513
39101
|
init_parse_rad_chunk();
|
|
@@ -39539,7 +39127,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
39539
39127
|
}
|
|
39540
39128
|
},
|
|
39541
39129
|
testURL: (url2) => /\.rad(?:$|[?#])/i.test(url2),
|
|
39542
|
-
createDataSource: (data, options,
|
|
39130
|
+
createDataSource: (data, options, coreApi2) => new RADSource(data, options, coreApi2)
|
|
39543
39131
|
};
|
|
39544
39132
|
var RADSource = class extends DataSource {
|
|
39545
39133
|
/** Shared metadata promise exposed for source-style integrations. */
|
|
@@ -39548,8 +39136,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
39548
39136
|
_metadataPromise = null;
|
|
39549
39137
|
/** Lazily initialized per-chunk metadata promises. */
|
|
39550
39138
|
_chunkMetadataPromises = /* @__PURE__ */ new Map();
|
|
39551
|
-
constructor(data, options,
|
|
39552
|
-
super(data, options, RADSourceLoader.defaultOptions,
|
|
39139
|
+
constructor(data, options, coreApi2) {
|
|
39140
|
+
super(data, options, RADSourceLoader.defaultOptions, coreApi2);
|
|
39553
39141
|
this.metadata = this.getMetadata();
|
|
39554
39142
|
}
|
|
39555
39143
|
/** Ensures the RAD header metadata has been loaded. */
|
|
@@ -39616,6 +39204,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
39616
39204
|
/** Fetches and decodes one RADC chunk into raw Gaussian splat arrays. */
|
|
39617
39205
|
async getChunkSplats(chunkIndex, options = {}) {
|
|
39618
39206
|
const metadata = await this.getMetadata();
|
|
39207
|
+
await preloadRADCompression();
|
|
39619
39208
|
return parseRADChunkToGaussianSplats(
|
|
39620
39209
|
await this.getChunk(chunkIndex, options),
|
|
39621
39210
|
this._getChunkDecodeOptions(metadata, options)
|
|
@@ -39624,6 +39213,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
39624
39213
|
/** Fetches and decodes one RADC chunk into a Mesh Arrow table. */
|
|
39625
39214
|
async getChunkTable(chunkIndex, options = {}) {
|
|
39626
39215
|
const metadata = await this.getMetadata();
|
|
39216
|
+
await preloadRADCompression();
|
|
39627
39217
|
return parseRADChunk(
|
|
39628
39218
|
await this.getChunk(chunkIndex, options),
|
|
39629
39219
|
this._getChunkDecodeOptions(metadata, options)
|