@scandit/web-datacapture-id 7.5.1 → 7.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/build/js/DataConsistencyVerifier.d.ts +3 -0
  2. package/build/js/IdCapture.d.ts +8 -0
  3. package/build/js/IdCaptureSettings.d.ts +3 -0
  4. package/build/js/SerializedTypes.d.ts +14 -0
  5. package/build/js/captured-id/CapturedId.d.ts +6 -0
  6. package/build/js/captured-id/MRZResult.d.ts +8 -0
  7. package/build/js/document/RegionSpecificSubtype.d.ts +2 -1
  8. package/build/js/index.js +5 -5
  9. package/build/js/worker/IdCaptureMode.d.ts +4 -1
  10. package/build/js/worker/dataCaptureEngine.d.ts +3 -0
  11. package/build/js/worker/dataCaptureWorkerRelated.d.ts +23 -4
  12. package/package.json +2 -2
  13. package/sdc-lib/idcapture/7.6.0/resources/centaurus-worker.js +6 -0
  14. package/sdc-lib/idcapture/{7.5.1/resources/lightweight/advanced-threads → 7.6.0/resources/lightweight/advanced}/Centaurus.data +0 -0
  15. package/sdc-lib/idcapture/7.6.0/resources/lightweight/advanced/Centaurus.js +1 -0
  16. package/sdc-lib/idcapture/7.6.0/resources/lightweight/advanced/Centaurus.wasm +0 -0
  17. package/sdc-lib/idcapture/{7.5.1/resources/lightweight/advanced → 7.6.0/resources/lightweight/advanced-threads}/Centaurus.data +0 -0
  18. package/sdc-lib/idcapture/7.6.0/resources/lightweight/advanced-threads/Centaurus.js +1 -0
  19. package/sdc-lib/idcapture/7.6.0/resources/lightweight/advanced-threads/Centaurus.wasm +0 -0
  20. package/sdc-lib/idcapture/{7.5.1 → 7.6.0}/resources/lightweight/basic/Centaurus.data +0 -0
  21. package/sdc-lib/idcapture/7.6.0/resources/lightweight/basic/Centaurus.js +1 -0
  22. package/sdc-lib/idcapture/7.6.0/resources/lightweight/basic/Centaurus.wasm +0 -0
  23. package/sdc-lib/resources/models/barcode_ocr_fallback_ocr_default.8c2870b758fd.model +0 -0
  24. package/sdc-lib/resources/models/barcode_ocr_fallback_ocr_detector_default.9e7b3e9f0b6c.model +0 -0
  25. package/sdc-lib/resources/models/id_ocr.1740d002ffbf.model +0 -0
  26. package/sdc-lib/resources/models/ocr_barcode_semantics_default.8c2870b758fd.model +0 -0
  27. package/sdc-lib/resources/models/ocr_mrz_default.8b80192212c2.model +0 -0
  28. package/sdc-lib/resources/models/ocr_price_label_default.1d18eb896da3.model +0 -0
  29. package/sdc-lib/scandit-datacapture-sdk-id-pthreads.js +1 -1
  30. package/sdc-lib/scandit-datacapture-sdk-id-pthreads.wasm +0 -0
  31. package/sdc-lib/scandit-datacapture-sdk-id-simd-pthreads.js +1 -1
  32. package/sdc-lib/scandit-datacapture-sdk-id-simd-pthreads.wasm +0 -0
  33. package/sdc-lib/scandit-datacapture-sdk-id-simd.js +1 -1
  34. package/sdc-lib/scandit-datacapture-sdk-id-simd.wasm +0 -0
  35. package/sdc-lib/scandit-datacapture-sdk-id.js +1 -1
  36. package/sdc-lib/scandit-datacapture-sdk-id.wasm +0 -0
  37. package/sdc-lib/idcapture/7.5.1/resources/centaurus-worker.js +0 -6
  38. package/sdc-lib/idcapture/7.5.1/resources/lightweight/advanced/Centaurus.js +0 -1
  39. package/sdc-lib/idcapture/7.5.1/resources/lightweight/advanced/Centaurus.wasm +0 -0
  40. package/sdc-lib/idcapture/7.5.1/resources/lightweight/advanced-threads/Centaurus.js +0 -1
  41. package/sdc-lib/idcapture/7.5.1/resources/lightweight/advanced-threads/Centaurus.wasm +0 -0
  42. package/sdc-lib/idcapture/7.5.1/resources/lightweight/advanced-threads/Centaurus.worker.js +0 -1
  43. package/sdc-lib/idcapture/7.5.1/resources/lightweight/basic/Centaurus.js +0 -1
  44. package/sdc-lib/idcapture/7.5.1/resources/lightweight/basic/Centaurus.wasm +0 -0
  45. package/sdc-lib/resources/models/barcode_ocr_fallback_ocr_default.4df1cd250f2d.model +0 -0
  46. package/sdc-lib/resources/models/barcode_ocr_fallback_ocr_detector_default.d02cb8506d3f.model +0 -0
  47. package/sdc-lib/resources/models/id_ocr.f42a207632c0.model +0 -0
  48. package/sdc-lib/resources/models/ocr_barcode_semantics_default.f48356d94444.model +0 -0
  49. package/sdc-lib/resources/models/ocr_mrz_default.050ddaa9b833.model +0 -0
  50. package/sdc-lib/resources/models/ocr_price_label_default.ff089db78a2c.model +0 -0
@@ -1,7 +1,7 @@
1
1
  import type { EmscriptenClassHandle } from "@scandit/web-datacapture-core/build/js/worker/dataCaptureWorkerRelated";
2
2
  import type { CapturedIdJSONWithoutCommonFieldsJSON, IdCaptureSessionHolder, ParseResult, SDCIdCaptureMode, WasmCaptureId } from "./dataCaptureWorkerRelated";
3
3
  import type { IdCaptureSettingsJSON } from "../IdCaptureSettings";
4
- import type { AamvaBarcodeVerificationResultJSON, CapturedIdJSON, CapturedIdJSONWithRawImageInfo, DataConsistencyResultJSON, IdCaptureSessionJSON } from "../SerializedTypes";
4
+ import type { AamvaBarcodeVerificationResultJSON, CapturedIdJSON, CapturedIdJSONWithRawImageInfo, CentaurusSettingsJSON, DataConsistencyResultJSON, IdCaptureSessionJSON } from "../SerializedTypes";
5
5
  import type { SafariOOMEventData } from "../safariOOMDetection/types";
6
6
  import type { DataCaptureEngine } from "./dataCaptureEngine";
7
7
  export declare class IdCaptureMode {
@@ -30,7 +30,10 @@ export declare class IdCaptureMode {
30
30
  * calls onResetFromSDC(), which finally notify the main thread that the reset is done.
31
31
  */
32
32
  reset(): void;
33
+ setExternalTransactionId(transactionId: string | null): void;
34
+ getExternalTransactionId(): string | undefined;
33
35
  parseCode(code: string): ParseResult | null;
36
+ getCentaurusSettings(): CentaurusSettingsJSON;
34
37
  dataConsistencyVerifyCapture(capturedId: CapturedIdJSON): DataConsistencyResultJSON | null;
35
38
  barcodeVerifyAamvaCapture(capturedId: CapturedIdJSON, endpoint: string | null): Promise<AamvaBarcodeVerificationResultJSON>;
36
39
  onResetFromSDC(hardReset: boolean): void;
@@ -25,7 +25,10 @@ export declare class DataCaptureEngine extends CoreDataCaptureEngine<Module> {
25
25
  idCaptureSetLastLocalizedId(localizedId: string): void;
26
26
  idCaptureSetLastDetectionIssue(issue: string): void;
27
27
  idCaptureReset(): void;
28
+ idCaptureSetExternalTransactionId(transactionId: string | null): void;
29
+ idCaptureGetExternalTransactionId(): EngineWorkerResponse<"idCaptureGetExternalTransactionId">;
28
30
  idCaptureApplySettings(settings: IdCaptureSettingsJSON): void;
31
+ idCaptureGetCentaurusSettings(): EngineWorkerResponse<"idCaptureGetCentaurusSettings">;
29
32
  idCaptureParse(code: string): EngineWorkerResponse<"idCaptureParse">;
30
33
  idCaptureBarcodeVerifyAamvaCapture(capturedId: CapturedIdJSON, endpoint: string | null): Promise<EngineWorkerResponse<"idCaptureBarcodeVerifyAamvaCapture">>;
31
34
  idCaptureDataConsistencyVerifyCapture(capturedId: CapturedIdJSON): EngineWorkerResponse<"idCaptureDataConsistencyVerifyCapture">;
@@ -1,13 +1,13 @@
1
1
  import type { Prettify, Rect } from "@scandit/web-datacapture-core";
2
2
  import type { CaptureModeDeserializerInstance, AnyDataCaptureActionMessage as CoreAnyDataCaptureActionMessage, DataCaptureActionMessageKey as CoreDataCaptureActionMessageKey, DataCaptureCallbackMessage as CoreDataCaptureCallbackMessage, DataCaptureCallbackMessageKeys as CoreDataCaptureCallbackMessageKeys, Module as CoreModule, WorkerResponse as CoreWorkerResponse, EmscriptenClassHandle } from "@scandit/web-datacapture-core/build/js/worker/index";
3
3
  import type { IdCaptureSettingsJSON } from "../IdCaptureSettings";
4
- import type { AamvaBarcodeVerificationResultJSON, CapturedIdCommonFieldsJSON, CapturedIdJSON, CapturedIdJSONWithRawImageInfo, DataConsistencyResultJSON, DrivingLicenseDetailsJSON, LocalizedOnlyIdJSON } from "../SerializedTypes";
4
+ import type { AamvaBarcodeVerificationResultJSON, CapturedIdCommonFieldsJSON, CapturedIdJSON, CapturedIdJSONWithRawImageInfo, CentaurusSettingsJSON, DataConsistencyResultJSON, DrivingLicenseDetailsJSON, LocalizedOnlyIdJSON } from "../SerializedTypes";
5
5
  import type { ShutterButtonState } from "scandit-web-datacapture-id-private";
6
6
  import type { SafariOOMEventData } from "../safariOOMDetection/types";
7
7
  /**
8
8
  * MESSAGES (ACTIONS) SENT TO THE WORKER
9
9
  */
10
- export type DataCaptureActionMessageKey = CoreDataCaptureActionMessageKey | "idCaptureApplySettings" | "idCaptureBarcodeVerifyAamvaCapture" | "idCaptureDataConsistencyVerifyCapture" | "idCaptureParse" | "idCaptureReset" | "idCaptureSetLastDetectionIssue" | "idCaptureSetLastError" | "idCaptureSetLastLocalizedId" | "idCaptureSetLastResult" | "idCaptureDrivingLicenseDetailsCreateWithCentaurusData" | "getIdOpenSourceSoftwareLicenseInfo" | "idCaptureReportSafariAbruptReload" | "idCaptureDispose";
10
+ export type DataCaptureActionMessageKey = CoreDataCaptureActionMessageKey | "idCaptureApplySettings" | "idCaptureBarcodeVerifyAamvaCapture" | "idCaptureDataConsistencyVerifyCapture" | "idCaptureGetCentaurusSettings" | "idCaptureParse" | "idCaptureReset" | "idCaptureSetLastDetectionIssue" | "idCaptureSetLastError" | "idCaptureSetLastLocalizedId" | "idCaptureSetLastResult" | "idCaptureDrivingLicenseDetailsCreateWithCentaurusData" | "getIdOpenSourceSoftwareLicenseInfo" | "idCaptureReportSafariAbruptReload" | "idCaptureDispose" | "idCaptureSetExternalTransactionId" | "idCaptureGetExternalTransactionId";
11
11
  export interface IdCaptureParseResponse {
12
12
  result: ParseResult | null;
13
13
  }
@@ -20,10 +20,16 @@ export interface IdCaptureBarcodeVerifyAamvaCaptureResponse {
20
20
  export interface IdCaptureDataConsistencyVerifyCaptureResponse {
21
21
  result: DataConsistencyResultJSON | null;
22
22
  }
23
+ export interface IdCaptureGetCentaurusSettingsResponse {
24
+ result: CentaurusSettingsJSON;
25
+ }
23
26
  export interface GetIdOpenSourceSoftwareLicenseInfoResponse {
24
27
  licenseText: string;
25
28
  }
26
- export type WorkerResponse<C extends DataCaptureActionMessageKey> = C extends "idCaptureBarcodeVerifyAamvaCapture" ? IdCaptureBarcodeVerifyAamvaCaptureResponse : C extends "idCaptureDataConsistencyVerifyCapture" ? IdCaptureDataConsistencyVerifyCaptureResponse : C extends "idCaptureParse" ? IdCaptureParseResponse : C extends "idCaptureDrivingLicenseDetailsCreateWithCentaurusData" ? IdCaptureDrivingLicenseDetailsCreateWithCentaurusDataResponse : C extends "getIdOpenSourceSoftwareLicenseInfo" ? GetIdOpenSourceSoftwareLicenseInfoResponse : CoreWorkerResponse<C>;
29
+ export interface IdCaptureGetExternalTransactionIdResponse {
30
+ transactionId: string | null;
31
+ }
32
+ export type WorkerResponse<C extends DataCaptureActionMessageKey> = C extends "idCaptureBarcodeVerifyAamvaCapture" ? IdCaptureBarcodeVerifyAamvaCaptureResponse : C extends "idCaptureDataConsistencyVerifyCapture" ? IdCaptureDataConsistencyVerifyCaptureResponse : C extends "idCaptureGetCentaurusSettings" ? IdCaptureGetCentaurusSettingsResponse : C extends "idCaptureParse" ? IdCaptureParseResponse : C extends "idCaptureDrivingLicenseDetailsCreateWithCentaurusData" ? IdCaptureDrivingLicenseDetailsCreateWithCentaurusDataResponse : C extends "getIdOpenSourceSoftwareLicenseInfo" ? GetIdOpenSourceSoftwareLicenseInfoResponse : C extends "idCaptureGetExternalTransactionId" ? IdCaptureGetExternalTransactionIdResponse : CoreWorkerResponse<C>;
27
33
  interface DataCaptureActionMessage {
28
34
  command: DataCaptureActionMessageKey;
29
35
  id: number;
@@ -55,6 +61,9 @@ export interface IdCaptureParseDataCaptureAction extends DataCaptureActionMessag
55
61
  command: "idCaptureParse";
56
62
  code: string;
57
63
  }
64
+ export interface IdCaptureGetCentaurusSettingsDataCaptureAction extends DataCaptureActionMessage {
65
+ command: "idCaptureGetCentaurusSettings";
66
+ }
58
67
  export interface IdCaptureDataConsistencyVerifyCaptureDataCaptureAction extends DataCaptureActionMessage {
59
68
  command: "idCaptureDataConsistencyVerifyCapture";
60
69
  capturedId: CapturedIdJSON;
@@ -82,7 +91,14 @@ export interface IdCaptureReportSafariAbruptReloadAction extends DataCaptureActi
82
91
  export interface IdCaptureDisposeAction extends DataCaptureActionMessage {
83
92
  command: "idCaptureDispose";
84
93
  }
85
- export type AnyDataCaptureActionMessage = CoreAnyDataCaptureActionMessage | IdCaptureApplySettingsDataCaptureAction | IdCaptureBarcodeVerifyAamvaCaptureDataCaptureAction | IdCaptureDataConsistencyVerifyCaptureDataCaptureAction | IdCaptureParseDataCaptureAction | IdCaptureResetDataCaptureAction | IdCaptureSetLastDetectionIssueDataCaptureAction | IdCaptureSetLastErrorDataCaptureAction | IdCaptureSetLastLocalizedIdDataCaptureAction | IdCaptureSetLastResultDataCaptureAction | IdCaptureDrivingLicenseDetailsCreateWithCentaurusDataDataCaptureAction | GetIdOpenSourceSoftwareLicenseInfoAction | IdCaptureReportSafariAbruptReloadAction | IdCaptureDisposeAction;
94
+ export interface IdCaptureSetExternalTransactionIdAction extends DataCaptureActionMessage {
95
+ command: "idCaptureSetExternalTransactionId";
96
+ transactionId: string | null;
97
+ }
98
+ export interface IdCaptureGetExternalTransactionIdAction extends DataCaptureActionMessage {
99
+ command: "idCaptureGetExternalTransactionId";
100
+ }
101
+ export type AnyDataCaptureActionMessage = CoreAnyDataCaptureActionMessage | IdCaptureApplySettingsDataCaptureAction | IdCaptureBarcodeVerifyAamvaCaptureDataCaptureAction | IdCaptureDataConsistencyVerifyCaptureDataCaptureAction | IdCaptureGetCentaurusSettingsDataCaptureAction | IdCaptureParseDataCaptureAction | IdCaptureResetDataCaptureAction | IdCaptureSetLastDetectionIssueDataCaptureAction | IdCaptureSetLastErrorDataCaptureAction | IdCaptureSetLastLocalizedIdDataCaptureAction | IdCaptureSetLastResultDataCaptureAction | IdCaptureDrivingLicenseDetailsCreateWithCentaurusDataDataCaptureAction | GetIdOpenSourceSoftwareLicenseInfoAction | IdCaptureReportSafariAbruptReloadAction | IdCaptureDisposeAction | IdCaptureSetExternalTransactionIdAction | IdCaptureGetExternalTransactionIdAction;
86
102
  export type MessagePayloadByCommand = {
87
103
  [key in AnyDataCaptureActionMessage["command"]]: Prettify<Omit<Extract<AnyDataCaptureActionMessage, {
88
104
  command: key;
@@ -243,6 +259,9 @@ export interface SDCIdCaptureMode extends EmscriptenClassHandle {
243
259
  addListener: (listener: unknown) => void;
244
260
  setFeedbacks: (idCaptured: unknown, idRejected: unknown) => void;
245
261
  parse: (code: string) => FailableResult<WasmCaptureId | null, string>;
262
+ setExternalTransactionId: (transactionId: string | null) => void;
263
+ getExternalTransactionId: () => string;
264
+ getCentaurusSettings: () => string;
246
265
  }
247
266
  interface BarcodeVerificationResponse {
248
267
  isSuccess: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scandit/web-datacapture-id",
3
- "version": "7.5.1",
3
+ "version": "7.6.0",
4
4
  "description": "Scandit Data Capture SDK for the Web",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "sideEffects": false,
@@ -101,6 +101,6 @@
101
101
  "@types/emscripten": "1.40.1"
102
102
  },
103
103
  "peerDependencies": {
104
- "@scandit/web-datacapture-core": "7.5.1"
104
+ "@scandit/web-datacapture-core": "7.6.0"
105
105
  }
106
106
  }
@@ -0,0 +1,6 @@
1
+ var __defProp=Object.defineProperty;var __typeError=msg=>{throw TypeError(msg)};var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:true,configurable:true,writable:true,value:value}):obj[key]=value;var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!=="symbol"?key+"":key,value);var __accessCheck=(obj,member,msg)=>member.has(obj)||__typeError("Cannot "+msg);var __privateGet=(obj,member,getter)=>(__accessCheck(obj,member,"read from private field"),getter?getter.call(obj):member.get(obj));var __privateAdd=(obj,member,value)=>member.has(obj)?__typeError("Cannot add the same private member more than once"):member instanceof WeakSet?member.add(obj):member.set(obj,value);var __privateSet=(obj,member,value,setter)=>(__accessCheck(obj,member,"write to private field"),setter?setter.call(obj,value):member.set(obj,value),value);var __privateMethod=(obj,member,method)=>(__accessCheck(obj,member,"access private method"),method)
2
+ /**
3
+ * @license
4
+ * Copyright 2019 Google LLC
5
+ * SPDX-License-Identifier: Apache-2.0
6
+ */;var _wasmModule,_defaultSessionSettings,_showDemoOverlay,_showProductionOverlay,_proxyUrls,_CentaurusWorker_instances,loadWasm_fn,configureProxyUrls_fn,validateProxyPermissions_fn,sanitizeProxyUrls_fn,buildServiceUrl_fn;const proxyMarker=Symbol("Comlink.proxy");const createEndpoint=Symbol("Comlink.endpoint");const releaseProxy=Symbol("Comlink.releaseProxy");const finalizer=Symbol("Comlink.finalizer");const throwMarker=Symbol("Comlink.thrown");const isObject=val=>typeof val==="object"&&val!==null||typeof val==="function";const proxyTransferHandler={canHandle:val=>isObject(val)&&val[proxyMarker],serialize(obj){const{port1:port1,port2:port2}=new MessageChannel;expose(obj,port1);return[port2,[port2]]},deserialize(port){port.start();return wrap(port)}};const throwTransferHandler={canHandle:value=>isObject(value)&&throwMarker in value,serialize({value:value}){let serialized;if(value instanceof Error)serialized={isError:true,value:{message:value.message,name:value.name,stack:value.stack}};else serialized={isError:false,value:value};return[serialized,[]]},deserialize(serialized){if(serialized.isError)throw Object.assign(new Error(serialized.value.message),serialized.value);throw serialized.value}};const transferHandlers=new Map([["proxy",proxyTransferHandler],["throw",throwTransferHandler]]);function isAllowedOrigin(allowedOrigins,origin){for(const allowedOrigin of allowedOrigins){if(origin===allowedOrigin||allowedOrigin==="*")return true;if(allowedOrigin instanceof RegExp&&allowedOrigin.test(origin))return true}return false}function expose(obj,ep=globalThis,allowedOrigins=["*"]){ep.addEventListener("message",(function callback(ev){if(!ev||!ev.data)return;if(!isAllowedOrigin(allowedOrigins,ev.origin)){console.warn(`Invalid origin '${ev.origin}' for comlink proxy`);return}const{id:id,type:type,path:path}=Object.assign({path:[]},ev.data);const argumentList=(ev.data.argumentList||[]).map(fromWireValue);let returnValue;try{const parent=path.slice(0,-1).reduce(((obj2,prop)=>obj2[prop]),obj);const rawValue=path.reduce(((obj2,prop)=>obj2[prop]),obj);switch(type){case"GET":returnValue=rawValue;break;case"SET":parent[path.slice(-1)[0]]=fromWireValue(ev.data.value);returnValue=true;break;case"APPLY":returnValue=rawValue.apply(parent,argumentList);break;case"CONSTRUCT":{const value=new rawValue(...argumentList);returnValue=proxy(value)}break;case"ENDPOINT":{const{port1:port1,port2:port2}=new MessageChannel;expose(obj,port2);returnValue=transfer(port1,[port1])}break;case"RELEASE":returnValue=void 0;break;default:return}}catch(value){returnValue={value:value,[throwMarker]:0}}Promise.resolve(returnValue).catch((value=>({value:value,[throwMarker]:0}))).then((returnValue2=>{const[wireValue,transferables]=toWireValue(returnValue2);ep.postMessage(Object.assign(Object.assign({},wireValue),{id:id}),transferables);if(type==="RELEASE"){ep.removeEventListener("message",callback);closeEndPoint(ep);if(finalizer in obj&&typeof obj[finalizer]==="function")obj[finalizer]()}})).catch((error=>{const[wireValue,transferables]=toWireValue({value:new TypeError("Unserializable return value"),[throwMarker]:0});ep.postMessage(Object.assign(Object.assign({},wireValue),{id:id}),transferables)}))}));if(ep.start)ep.start()}function isMessagePort(endpoint){return endpoint.constructor.name==="MessagePort"}function closeEndPoint(endpoint){if(isMessagePort(endpoint))endpoint.close()}function wrap(ep,target){const pendingListeners=new Map;ep.addEventListener("message",(function handleMessage(ev){const{data:data}=ev;if(!data||!data.id)return;const resolver=pendingListeners.get(data.id);if(!resolver)return;try{resolver(data)}finally{pendingListeners.delete(data.id)}}));return createProxy(ep,pendingListeners,[],target)}function throwIfProxyReleased(isReleased){if(isReleased)throw new Error("Proxy has been released and is not useable")}function releaseEndpoint(ep){return requestResponseMessage(ep,new Map,{type:"RELEASE"}).then((()=>{closeEndPoint(ep)}))}const proxyCounter=new WeakMap;const proxyFinalizers="FinalizationRegistry"in globalThis&&new FinalizationRegistry((ep=>{const newCount=(proxyCounter.get(ep)||0)-1;proxyCounter.set(ep,newCount);if(newCount===0)releaseEndpoint(ep)}));function registerProxy(proxy2,ep){const newCount=(proxyCounter.get(ep)||0)+1;proxyCounter.set(ep,newCount);if(proxyFinalizers)proxyFinalizers.register(proxy2,ep,proxy2)}function unregisterProxy(proxy2){if(proxyFinalizers)proxyFinalizers.unregister(proxy2)}function createProxy(ep,pendingListeners,path=[],target=function(){}){let isProxyReleased=false;const proxy2=new Proxy(target,{get(_target,prop){throwIfProxyReleased(isProxyReleased);if(prop===releaseProxy)return()=>{unregisterProxy(proxy2);releaseEndpoint(ep);pendingListeners.clear();isProxyReleased=true};if(prop==="then"){if(path.length===0)return{then:()=>proxy2};const r=requestResponseMessage(ep,pendingListeners,{type:"GET",path:path.map((p=>p.toString()))}).then(fromWireValue);return r.then.bind(r)}return createProxy(ep,pendingListeners,[...path,prop])},set(_target,prop,rawValue){throwIfProxyReleased(isProxyReleased);const[value,transferables]=toWireValue(rawValue);return requestResponseMessage(ep,pendingListeners,{type:"SET",path:[...path,prop].map((p=>p.toString())),value:value},transferables).then(fromWireValue)},apply(_target,_thisArg,rawArgumentList){throwIfProxyReleased(isProxyReleased);const last=path[path.length-1];if(last===createEndpoint)return requestResponseMessage(ep,pendingListeners,{type:"ENDPOINT"}).then(fromWireValue);if(last==="bind")return createProxy(ep,pendingListeners,path.slice(0,-1));const[argumentList,transferables]=processArguments(rawArgumentList);return requestResponseMessage(ep,pendingListeners,{type:"APPLY",path:path.map((p=>p.toString())),argumentList:argumentList},transferables).then(fromWireValue)},construct(_target,rawArgumentList){throwIfProxyReleased(isProxyReleased);const[argumentList,transferables]=processArguments(rawArgumentList);return requestResponseMessage(ep,pendingListeners,{type:"CONSTRUCT",path:path.map((p=>p.toString())),argumentList:argumentList},transferables).then(fromWireValue)}});registerProxy(proxy2,ep);return proxy2}function myFlat(arr){return Array.prototype.concat.apply([],arr)}function processArguments(argumentList){const processed=argumentList.map(toWireValue);return[processed.map((v=>v[0])),myFlat(processed.map((v=>v[1])))]}const transferCache=new WeakMap;function transfer(obj,transfers){transferCache.set(obj,transfers);return obj}function proxy(obj){return Object.assign(obj,{[proxyMarker]:true})}function toWireValue(value){for(const[name,handler]of transferHandlers)if(handler.canHandle(value)){const[serializedValue,transferables]=handler.serialize(value);return[{type:"HANDLER",name:name,value:serializedValue},transferables]}return[{type:"RAW",value:value},transferCache.get(value)||[]]}function fromWireValue(value){switch(value.type){case"HANDLER":return transferHandlers.get(value.name).deserialize(value.value);case"RAW":return value.value}}function requestResponseMessage(ep,pendingListeners,msg,transfers){return new Promise((resolve=>{const id=generateUUID();pendingListeners.set(id,resolve);if(ep.start)ep.start();ep.postMessage(Object.assign({id:id},msg),transfers)}))}function generateUUID(){return new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-")}const bulkMemory=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,3,1,0,1,10,14,1,12,0,65,0,65,0,65,0,252,10,0,0,11])),mutableGlobals=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,2,8,1,1,97,1,98,3,127,1,6,6,1,127,1,65,0,11,7,5,1,1,97,3,1])),referenceTypes=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,7,1,5,0,208,112,26,11])),saturatedFloatToInt=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,12,1,10,0,67,0,0,0,0,252,0,26,11])),signExtensions=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,65,0,192,26,11])),simd=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),threads=()=>(async e=>{try{return"undefined"!=typeof MessageChannel&&(new MessageChannel).port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(e)}catch(e2){return false}})(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]));function isSafari(){const userAgent=navigator.userAgent.toLowerCase();return userAgent.includes("safari")&&!userAgent.includes("chrome")}async function checkThreadsSupport(){const supportsWasmThreads=await threads();if(!supportsWasmThreads)return false;if(!("importScripts"in self))throw Error("Not implemented");if(isSafari())return false;return"Worker"in self}async function detectWasmFeatures(){const basicSet=[mutableGlobals(),referenceTypes(),bulkMemory(),saturatedFloatToInt(),signExtensions()];const supportsBasic=(await Promise.all(basicSet)).every(Boolean);if(!supportsBasic)throw new Error("Browser doesn't meet minimum requirements!");const supportsAdvanced=await simd();if(!supportsAdvanced)return"basic";const supportsAdvancedThreads=await checkThreadsSupport();if(!supportsAdvancedThreads)return"advanced";return"advanced-threads"}const workerType="application/javascript";const getCrossOriginWorkerURL=(originalWorkerUrl,_options={})=>{const options={skipSameOrigin:true,useBlob:true,..._options};if(options.skipSameOrigin&&new URL(originalWorkerUrl).origin===self.location.origin)return Promise.resolve(originalWorkerUrl);return new Promise(((resolve,reject)=>void fetch(originalWorkerUrl).then((res=>res.text())).then((codeString=>{const workerPath=new URL(originalWorkerUrl).href.split("/");workerPath.pop();let finalURL="";if(options.useBlob){const blob=new Blob([codeString],{type:workerType});finalURL=URL.createObjectURL(blob)}else finalURL=`data:${workerType},`+encodeURIComponent(codeString);resolve(finalURL)})).catch(reject)))};function isIOS(){const userAgent=self.navigator.userAgent.toLowerCase();return/iphone|ipad|ipod/.test(userAgent)}function constructLicenseRequest(unlockResult){return{licenseId:unlockResult.licenseId,licensee:unlockResult.licensee,applicationIds:unlockResult.applicationIds,packageName:unlockResult.packageName,platform:"Browser",sdkName:unlockResult.sdkName,sdkVersion:unlockResult.sdkVersion}}async function obtainNewServerPermission(unlockResult,baltazarUrl="https://www.scandit.com"){if(!baltazarUrl||typeof baltazarUrl!=="string")throw new Error("Invalid baltazarUrl: must be a non-empty string");try{new URL(baltazarUrl)}catch(error){throw new Error(`Invalid baltazarUrl format: ${baltazarUrl}`)}try{const response=await fetch(baltazarUrl,{method:"POST",headers:{"Content-Type":"application/json"},cache:"no-cache",body:JSON.stringify(constructLicenseRequest(unlockResult))});if(!response.ok)throw new Error(`Server returned error: ${response.status} ${response.statusText}`);const serverPermission=await response.json();return serverPermission}catch(error){console.error("Server permission request failed:",error);throw error}}function mbToWasmPages(mb){return Math.ceil(mb*1024*1024/64/1024)}async function downloadArrayBuffer(url,progressCallback){const response=await fetch(url);if(!response.body||!response.headers.has("Content-Length"))return response.arrayBuffer();const contentLength=parseInt(response.headers.get("Content-Length"),10);let loaded=0;const reader=response.body.getReader();const chunks=[];let result=await reader.read();while(!result.done){const value=result.value;if(value){chunks.push(value);loaded+=value.length;if(progressCallback){const progress=Math.min(Math.round(loaded/contentLength*100),100);progressCallback({loaded:loaded,contentLength:contentLength,progress:progress})}}result=await reader.read()}const allChunks=new Uint8Array(loaded);let position=0;for(const chunk of chunks){allChunks.set(chunk,position);position+=chunk.length}return allChunks.buffer}function buildResourcePath(...segments){const path=segments.filter((segment=>segment)).join("/").replace(/([^:]\/)\/+/g,"$1");try{new URL(path,"http://example.com")}catch{throw new Error(`Invalid URL: ${path}`)}return path}function getType(payload){return Object.prototype.toString.call(payload).slice(8,-1)}function isPlainObject(payload){if(getType(payload)!=="Object")return false;const prototype=Object.getPrototypeOf(payload);return!!prototype&&prototype.constructor===Object&&prototype===Object.prototype}function isSymbol(payload){return getType(payload)==="Symbol"}function assignProp(carry,key,newVal,originalObject){const propType={}.propertyIsEnumerable.call(originalObject,key)?"enumerable":"nonenumerable";if(propType==="enumerable")carry[key]=newVal;if(propType==="nonenumerable")Object.defineProperty(carry,key,{value:newVal,enumerable:false,writable:true,configurable:true})}function mergeRecursively(origin,newComer,compareFn){if(!isPlainObject(newComer))return newComer;let newObject={};if(isPlainObject(origin)){const props2=Object.getOwnPropertyNames(origin);const symbols2=Object.getOwnPropertySymbols(origin);newObject=[...props2,...symbols2].reduce(((carry,key)=>{const targetVal=origin[key];if(!isSymbol(key)&&!Object.getOwnPropertyNames(newComer).includes(key)||isSymbol(key)&&!Object.getOwnPropertySymbols(newComer).includes(key))assignProp(carry,key,targetVal,origin);return carry}),{})}const props=Object.getOwnPropertyNames(newComer);const symbols=Object.getOwnPropertySymbols(newComer);const result=[...props,...symbols].reduce(((carry,key)=>{let newVal=newComer[key];const targetVal=isPlainObject(origin)?origin[key]:void 0;if(targetVal!==void 0&&isPlainObject(newVal))newVal=mergeRecursively(targetVal,newVal);const propToAssign=newVal;assignProp(carry,key,propToAssign,newComer);return carry}),newObject);return result}function merge(object,...otherObjects){return otherObjects.reduce(((result,newComer)=>mergeRecursively(result,newComer)),object)}function normalizeDocumentFilter(filter){return{country:(filter==null?void 0:filter.country)??void 0,region:(filter==null?void 0:filter.region)??void 0,type:(filter==null?void 0:filter.type)??void 0}}const normalizeDocumentRule=rule=>({documentFilter:normalizeDocumentFilter(rule.documentFilter),fields:rule.fields??[]});const normalizeDocumentAnonymizationSettings=settings=>({documentFilter:normalizeDocumentFilter(settings.documentFilter),fields:settings.fields||[],documentNumberAnonymizationSettings:settings.documentNumberAnonymizationSettings?{prefixDigitsVisible:settings.documentNumberAnonymizationSettings.prefixDigitsVisible,suffixDigitsVisible:settings.documentNumberAnonymizationSettings.suffixDigitsVisible}:void 0});function buildSessionSettings(options={},defaultSessionSettings){var _a,_b,_c,_d;if(options)options=Object.fromEntries(Object.entries(options).filter((([_,value])=>value!==void 0)));const customDocumentRules=((_b=(_a=options==null?void 0:options.scanningSettings)==null?void 0:_a.customDocumentRules)==null?void 0:_b.map(normalizeDocumentRule))??[];const customDocumentAnonymizationSettings=((_d=(_c=options==null?void 0:options.scanningSettings)==null?void 0:_c.customDocumentAnonymizationSettings)==null?void 0:_d.map(normalizeDocumentAnonymizationSettings))??[];const scanningSettings={...options==null?void 0:options.scanningSettings,customDocumentRules:customDocumentRules,customDocumentAnonymizationSettings:customDocumentAnonymizationSettings};const sessionSettings=merge(defaultSessionSettings,{...options,scanningSettings:scanningSettings});return sessionSettings}class ProxyUrlValidationError extends Error{constructor(message,url){super(`Proxy URL validation failed for "${url}": ${message}`);this.url=url;this.name="ProxyUrlValidationError"}}class LicenseError extends Error{constructor(message,code){super(message);__publicField(this,"code");this.name="LicenseError";this.code=code}}class CentaurusWorker{constructor(){__privateAdd(this,_CentaurusWorker_instances);__privateAdd(this,_wasmModule);__privateAdd(this,_defaultSessionSettings);__publicField(this,"progressStatusCallback");__privateAdd(this,_showDemoOverlay,true);__privateAdd(this,_showProductionOverlay,true);__privateAdd(this,_proxyUrls)}async[atob("aW5pdEJsaW5rSWQ=")](settings,defaultSessionSettings,progressCallback){var _a;const resourcesPath=new URL("resources/",settings.resourcesLocation).toString();__privateSet(this,_defaultSessionSettings,defaultSessionSettings);this.progressStatusCallback=progressCallback;await __privateMethod(this,_CentaurusWorker_instances,loadWasm_fn).call(this,{resourceUrl:resourcesPath,variant:settings.wasmVariant,initialMemory:settings.initialMemory,useLightweightBuild:settings.useLightweightBuild});if(!__privateGet(this,_wasmModule))throw new Error("Wasm module not loaded");const licenceUnlockResult=__privateGet(this,_wasmModule).initializeWithLicenseKey(settings.licenseKey,settings.userId,false);if(licenceUnlockResult.licenseError)throw new LicenseError("License unlock error: "+licenceUnlockResult.licenseError,"LICENSE_ERROR");if(settings[atob("bWljcm9ibGlua1Byb3h5VXJs")])__privateMethod(this,_CentaurusWorker_instances,configureProxyUrls_fn).call(this,settings[atob("bWljcm9ibGlua1Byb3h5VXJs")],licenceUnlockResult);if(licenceUnlockResult.unlockResult==="requires-server-permission"){const baltazarUrl=(_a=__privateGet(this,_proxyUrls))==null?void 0:_a.baltazar;const serverPermissionResponse=baltazarUrl&&licenceUnlockResult.allowBaltazarProxy?await obtainNewServerPermission(licenceUnlockResult,baltazarUrl):await obtainNewServerPermission(licenceUnlockResult);const serverPermissionResult=__privateGet(this,_wasmModule).submitServerPermission(JSON.stringify(serverPermissionResponse));if(serverPermissionResult.error)throw new Error("Server unlock error: "+serverPermissionResult.error)}__privateSet(this,_showDemoOverlay,licenceUnlockResult.showDemoOverlay);__privateSet(this,_showProductionOverlay,licenceUnlockResult.showProductionOverlay)}[atob("Y3JlYXRlQmxpbmtJZFNjYW5uaW5nU2Vzc2lvbg==")](options){if(!__privateGet(this,_wasmModule))throw new Error("Wasm module not loaded");const sessionSettings=buildSessionSettings(options,__privateGet(this,_defaultSessionSettings));const session=__privateGet(this,_wasmModule)[atob("Y3JlYXRlQmxpbmtJZFNjYW5uaW5nU2Vzc2lvbg==")](sessionSettings);const proxySession=this.createProxySession(session,sessionSettings);return proxySession}createProxySession(session,sessionSettings){const customSession={getResult:()=>session.getResult(),process:image=>{const processResult=session.process(image);if("error"in processResult)throw new Error(`Error processing frame: ${processResult.error}`);const transferPackage=transfer({...processResult,arrayBuffer:image.data.buffer},[image.data.buffer]);return transferPackage},getSettings:()=>sessionSettings,reset:()=>session.reset(),delete:()=>session.delete(),deleteLater:()=>session.deleteLater(),isDeleted:()=>session.isDeleted(),isAliasOf:other=>session.isAliasOf(other),showDemoOverlay:()=>__privateGet(this,_showDemoOverlay),showProductionOverlay:()=>__privateGet(this,_showProductionOverlay)};return proxy(customSession)}[finalizer](){}terminate(){self.close()}ping(){return 1}}_wasmModule=new WeakMap;_defaultSessionSettings=new WeakMap;_showDemoOverlay=new WeakMap;_showProductionOverlay=new WeakMap;_proxyUrls=new WeakMap;_CentaurusWorker_instances=new WeakSet;loadWasm_fn=async function({resourceUrl:resourceUrl,variant:variant,useLightweightBuild:useLightweightBuild,initialMemory:initialMemory}){if(__privateGet(this,_wasmModule)){console.log("Wasm already loaded");return}const wasmVariant=variant??await detectWasmFeatures();const featureVariant=useLightweightBuild?"lightweight":"full";const MODULE_NAME="Centaurus";const variantUrl=buildResourcePath(resourceUrl,featureVariant,wasmVariant);const workerUrl=buildResourcePath(variantUrl,`${MODULE_NAME}.js`);const wasmUrl=buildResourcePath(variantUrl,`${MODULE_NAME}.wasm`);const dataUrl=buildResourcePath(variantUrl,`${MODULE_NAME}.data`);const crossOriginWorkerUrl=await getCrossOriginWorkerURL(workerUrl);const imported=await import(crossOriginWorkerUrl);const createModule=imported.default;if(!initialMemory)initialMemory=isIOS()?700:200;const wasmMemory=new WebAssembly.Memory({initial:mbToWasmPages(initialMemory),maximum:mbToWasmPages(2048),shared:wasmVariant==="advanced-threads"});let wasmProgress;let dataProgress;let lastProgressUpdate=0;const progressUpdateInterval=32;const throttledCombinedProgress=()=>{if(!this.progressStatusCallback)return;if(!wasmProgress||!dataProgress)return;const totalLoaded=wasmProgress.loaded+dataProgress.loaded;const totalLength=wasmProgress.contentLength+dataProgress.contentLength;const combinedPercent=Math.min(Math.round(totalLoaded/totalLength*100),100);const combinedProgress={loaded:totalLoaded,contentLength:totalLength,progress:combinedPercent};const currentTime=performance.now();if(currentTime-lastProgressUpdate<progressUpdateInterval)return;lastProgressUpdate=currentTime;this.progressStatusCallback(combinedProgress)};const wasmProgressCallback=progress=>{wasmProgress=progress;void throttledCombinedProgress()};const dataProgressCallback=progress=>{dataProgress=progress;void throttledCombinedProgress()};const[preloadedWasm,preloadedData]=await Promise.all([downloadArrayBuffer(wasmUrl,wasmProgressCallback),downloadArrayBuffer(dataUrl,dataProgressCallback)]);if(this.progressStatusCallback&&wasmProgress&&dataProgress){const totalLength=wasmProgress.contentLength+dataProgress.contentLength;this.progressStatusCallback({loaded:totalLength,contentLength:totalLength,progress:100})}__privateSet(this,_wasmModule,await createModule({locateFile:path=>`${variantUrl}/${wasmVariant}/${path}`,mainScriptUrlOrBlob:crossOriginWorkerUrl,wasmBinary:preloadedWasm,getPreloadedPackage(){return preloadedData},wasmMemory:wasmMemory,noExitRuntime:true}));if(!__privateGet(this,_wasmModule))throw new Error("Failed to load Wasm module")};configureProxyUrls_fn=function(proxyUrl,licenceUnlockResult){if(!proxyUrl){console.debug("No proxy URL configured, using default Centaurus servers");return}__privateMethod(this,_CentaurusWorker_instances,validateProxyPermissions_fn).call(this,licenceUnlockResult,proxyUrl);try{__privateSet(this,_proxyUrls,__privateMethod(this,_CentaurusWorker_instances,sanitizeProxyUrls_fn).call(this,proxyUrl));if(licenceUnlockResult.allowPingProxy)__privateGet(this,_wasmModule).setPingProxyUrl(__privateGet(this,_proxyUrls).ping);console.debug("Proxy URLs configured successfully:",{ping:__privateGet(this,_proxyUrls).ping,baltazar:__privateGet(this,_proxyUrls).baltazar})}catch(error){const enhancedError=error instanceof ProxyUrlValidationError?new Error(`${error.message}\n\nTroubleshooting:\n- Ensure the URL is accessible\n- Check HTTPS requirements\n- Verify proxy server implementation`):error;throw enhancedError}};validateProxyPermissions_fn=function(licenceUnlockResult,proxyUrl){if(!licenceUnlockResult.allowPingProxy&&!licenceUnlockResult.allowBaltazarProxy)throw new Error(`Proxy URL "${proxyUrl}" was provided, but your license does not permit proxy usage.\nLicense permissions: pingProxy=${licenceUnlockResult.allowPingProxy}, baltazarProxy=${licenceUnlockResult.allowBaltazarProxy}\nCheck your license.`);else if(!licenceUnlockResult.hasPing&&licenceUnlockResult.unlockResult!=="requires-server-permission")throw new Error(`Centaurus proxy URL is set but cannot be used because ping and online license check are disabled in your license.\nCheck your license.`)};sanitizeProxyUrls_fn=function(baseUrl){let parsedUrl;try{parsedUrl=new URL(baseUrl)}catch(error){throw new ProxyUrlValidationError(`Failed to create URL instance for provided Centaurus proxy URL "${baseUrl}". Expected format: https://your-proxy.com or https://your-proxy.com/`,baseUrl)}if(parsedUrl.protocol!=="https:")throw new ProxyUrlValidationError(`Proxy URL validation failed for "${baseUrl}": HTTPS protocol must be used. Expected format: https://your-proxy.com or https://your-proxy.com/`,baseUrl);const baseUrlStr=parsedUrl.origin;const baltazarUrl=__privateMethod(this,_CentaurusWorker_instances,buildServiceUrl_fn).call(this,baseUrlStr,"/api/v2/status/check");return{ping:baseUrlStr,baltazar:baltazarUrl}};buildServiceUrl_fn=function(baseUrl,servicePath){try{const url=new URL(servicePath,baseUrl);return url.toString()}catch(error){throw new ProxyUrlValidationError(`Failed to build service URL for path "${servicePath}"`,baseUrl)}};const centaurusWorker=new CentaurusWorker;expose(centaurusWorker);
@@ -0,0 +1 @@
1
+ var createModule=(()=>async function(moduleArg={}){var moduleRtn;var l=moduleArg,aa="object"==typeof window,ba="undefined"!=typeof WorkerGlobalScope;let ca;(ca=l).expectedDataFileDownloads??(ca.expectedDataFileDownloads=0);l.expectedDataFileDownloads++;(()=>{var a="undefined"!=typeof ENVIRONMENT_IS_WASM_WORKER&&ENVIRONMENT_IS_WASM_WORKER;"undefined"!=typeof ENVIRONMENT_IS_PTHREAD&&ENVIRONMENT_IS_PTHREAD||a||function(b){function c(k,p,m){let q;(q=l).dataFileDownloads??(q.dataFileDownloads={});fetch(k).catch((x=>Promise.reject(Error(`Network Error: ${k}`,{cause:x})))).then((x=>{if(!x.ok)return Promise.reject(Error(`${x.status}: ${x.url}`));if(!x.body&&x.arrayBuffer)return x.arrayBuffer().then(m);const u=x.body.getReader(),w=()=>u.read().then(K).catch((t=>Promise.reject(Error(`Unexpected error while handling : ${x.url} ${t}`,{cause:t})))),z=[],I=Number(x.headers.get("Content-Length")??p);let E=0;const K=({done:t,value:G})=>{if(t){var F=new Uint8Array(z.map((T=>T.length)).reduce(((T,ka)=>T+ka),0));t=0;for(var C of z)F.set(C,t),t+=C.length;m(F.buffer)}else{z.push(G);E+=G.length;l.dataFileDownloads[k]={loaded:E,total:I};t=C=0;for(F of Object.values(l.dataFileDownloads))C+=F.loaded,t+=F.total;l.setStatus?.(`Downloading data... (${C}/${t})`);return w()}};l.setStatus?.("Downloading data...");return w()}))}function d(k){console.error("package error:",k)}function e(k){function p(u,w,z){this.start=u;this.end=w;this.audio=z}function m(u){if(!u)throw"Loading data file failed."+Error().stack;if(u.constructor.name!==ArrayBuffer.name)throw"bad input to processPackageData"+Error().stack;u=new Uint8Array(u);p.prototype.Vb=u;u=b.files;for(var w=0;w<u.length;++w)p.prototype.Cb[u[w].filename].onload();k.removeRunDependency("datafile_/Users/mkresic/Code/"+atob("bWljcm9ibGluaw==")+atob("YmxpbmtpZA==")+"-next/packages"+atob("YmxpbmtpZA==")+"-wasm/dist/lightweight/advanced/Centaurus.data")}k.FS_createPath("/",atob("bWljcm9ibGluaw=="),!0,!0);k.FS_createPath("/"+atob("bWljcm9ibGluaw=="),atob("YmxpbmtpZA=="),!0,!0);p.prototype={Cb:{},open:function(u,w){this.name=w;this.Cb[w]=this;k.addRunDependency(`fp ${this.name}`)},send:function(){},onload:function(){this.finish(this.Vb.subarray(this.start,this.end))},finish:function(u){k.FS_createDataFile(this.name,null,u,!0,!0,!0);k.removeRunDependency(`fp ${this.name}`);this.Cb[this.name]=null}};for(var q=b.files,x=0;x<q.length;++x)new p(q[x].start,q[x].end,q[x].audio||0).open("GET",q[x].filename);k.addRunDependency("datafile_/Users/mkresic/Code/"+atob("bWljcm9ibGluaw==")+atob("YmxpbmtpZA==")+"-next/packages"+atob("YmxpbmtpZA==")+"-wasm/dist/lightweight/advanced/Centaurus.data");k.preloadResults??(k.preloadResults={});k.preloadResults["/Users/mkresic/Code/"+atob("bWljcm9ibGluaw==")+atob("YmxpbmtpZA==")+"-next/packages"+atob("YmxpbmtpZA==")+"-wasm/dist/lightweight/advanced/Centaurus.data"]={Gc:!1};n?(m(n),n=null):h=m}"object"===typeof window?window.encodeURIComponent(window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/"):"undefined"===typeof process&&"undefined"!==typeof location&&encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/");var f=l.locateFile?l.locateFile("Centaurus.data",""):"Centaurus.data",g=b.remote_package_size,h=null,n=l.getPreloadedPackage?l.getPreloadedPackage(f,g):null;n||c(f,g,(k=>{h?(h(k),h=null):n=k}),d);if(l.calledRun)e(l);else{let k;((k=l).preRun??(k.preRun=[])).push(e)}}({files:[{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_07c7ab860e77ec2e92bb822f6d62424b8595a5beb4340f6b2f7f6a4cffa5d050.strop",start:0,end:103198},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_2880751121560047e6dc571bc8ff4683aeb863886f7c0789234594ceb1e23577.strop",start:103198,end:106933},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_36d8e94f4cb46097bd6b7385f2aa91fcdee1a5fefeec59e56d1b9e82c94b00a7.strop",start:106933,end:451389},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_3b11c3ffacbbf390b932fb9a7024f1a0016f66281ea8c790f8b5903374ad89c2.strop",start:451389,end:720110},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_4336af7999b059ac75281d0d71b60dd55b33c2b22c2b2c8e2b9ab56fe6ad720d.strop",start:720110,end:1046978},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_473ac5f5e256623c0a6b282698c1f1b033b9fb5359e6aa142e9fb4a4022afe4e.strop",start:1046978,end:1053427},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_8c7727da554fd257fa758787ca3d0f517b47f6c5ba791792f516da7dd210fde8.strop",start:1053427,end:2080282},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_92fad94c6d734a880f5555b0cb6f436b91a2f3c36435d895fc0fab48772e2bbf.strop",start:2080282,end:2573416},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_a1516add883f909ebecf9b565238086f8f31bbb3e7fb2113258e3ae7c659555e.strop",start:2573416,end:2869218},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_a9623413eba53db7d5cd23301e49b37d71d77290b0b2bc2efa9cbe69cb7e2b2e.strop",start:2869218,end:6530153},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_b452fd3cd4037080cfcb4c423dba5bc58c8ceafc28427fdf9c5778fb353f088e.strop",start:6530153,end:6536649},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_f2874f5766b779c063dbe30467979163497dc4b29c43bab23d70c798ee32993a.strop",start:6536649,end:6612051},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_f479233a81ecef2708f6217ed1e29dfe437522e0cf34bd4d9ef6c39266afa9ab.strop",start:6612051,end:6737172},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_f531088a1f65a31d6ba039e09446fe24c18360080fec3792308ac01514803620.strop",start:6737172,end:7400225},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_faf688599c7e261a2a7404730f69ed029115bb0d3e7a3657731d88e701720efe.strop",start:7400225,end:7415898},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_fc22f7553e3e85531eb79ef6db1474302664508cc7ae4ff0d950447b20f2f8ee.strop",start:7415898,end:7488596},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/ccc_lookup_table.zzip",start:7488596,end:7509065}],remote_package_size:7509065})})();l.onAbort=function(a){da("Aborted with message: "+a);try{throw new WebAssembly.RuntimeError(a)}catch(b){da("Stacktrace: "+b.stack)}};l="undefined"!==typeof l?l:{};(function(){var a="",b=!1;try{if("undefined"!==typeof self&&self.location&&self.location.href){var c=self.location.href;0===c.indexOf("blob:")&&(a=c,b=!0)}}catch(d){}b&&!l.locateFile&&(l.locateFile=function(d,e){return"Centaurus.wasm"===d?a:e+d})})();var ea="./this.program",fa=import.meta.url,ha="",ia,ja;if(aa||ba){try{ha=new URL(".",fa).href}catch{}ba&&(ja=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});ia=async a=>{a=await fetch(a,{credentials:"same-origin"});if(a.ok)return a.arrayBuffer();throw Error(a.status+" : "+a.url)}}var la=console.log.bind(console),da=console.error.bind(console),ma,na=!1,oa,pa,qa,ra,r,v,y,sa,A,B,ta,ua,D,va,wa=!1;function xa(){var a=ra.buffer;r=new Int8Array(a);y=new Int16Array(a);v=new Uint8Array(a);sa=new Uint16Array(a);A=new Int32Array(a);B=new Uint32Array(a);ta=new Float32Array(a);ua=new Float64Array(a);D=new BigInt64Array(a);va=new BigUint64Array(a)}var ya=0,za=null;function Aa(){ya++;l.monitorRunDependencies?.(ya)}function Ba(){ya--;l.monitorRunDependencies?.(ya);if(0==ya&&za){var a=za;za=null;a()}}function Ca(a){l.onAbort?.(a);a="Aborted("+a+")";da(a);na=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");qa?.(a);throw a}var Da;async function Ea(a){if(!ma)try{var b=await ia(a);return new Uint8Array(b)}catch{}if(a==Da&&ma)a=new Uint8Array(ma);else if(ja)a=ja(a);else throw"both async and sync fetching of the wasm failed";return a}async function Fa(a,b){try{var c=await Ea(a);return await WebAssembly.instantiate(c,b)}catch(d){da(`failed to asynchronously prepare wasm: ${d}`),Ca(d)}}async function Ga(a){var b=Da;if(!ma&&"function"==typeof WebAssembly.instantiateStreaming)try{var c=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(c,a)}catch(d){da(`wasm streaming compile failed: ${d}`),da("falling back to ArrayBuffer instantiation")}return Fa(b,a)}class Ha{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}}var Ia=a=>{for(;0<a.length;)a.shift()(l)},Ja=[],Ka=[],La=()=>{var a=l.preRun.shift();Ka.push(a)},Ma=!0,Na=[],Oa,Pa=a=>{var b=Na[a];b||(Na[a]=b=Oa.get(a));return b},Ra=()=>{var a=A[+Qa>>2];Qa+=4;return a},Sa=(a,b)=>{for(var c=0,d=a.length-1;0<=d;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a},Ta=a=>{var b="/"===a.charAt(0),c="/"===a.slice(-1);(a=Sa(a.split("/").filter((d=>!!d)),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a},Ua=a=>{var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&=b.slice(0,-1);return a+b},Va=()=>a=>crypto.getRandomValues(a),Wa=a=>{(Wa=Va())(a)},Xa=(...a)=>{for(var b="",c=!1,d=a.length-1;-1<=d&&!c;d--){c=0<=d?a[d]:"/";if("string"!=typeof c)throw new TypeError("Arguments to path.resolve must be strings");if(!c)return"";b=c+"/"+b;c="/"===c.charAt(0)}b=Sa(b.split("/").filter((e=>!!e)),!c).join("/");return(c?"/":"")+b||"."},Ya="undefined"!=typeof TextDecoder?new TextDecoder:void 0,H=(a,b=0,c=NaN)=>{var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.buffer&&Ya)return Ya.decode(a.subarray(b,c));for(d="";b<c;){var e=a[b++];if(e&128){var f=a[b++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|f);else{var g=a[b++]&63;e=224==(e&240)?(e&15)<<12|f<<6|g:(e&7)<<18|f<<12|g<<6|a[b++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d},Za=[],$a=a=>{for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);127>=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b},J=(a,b,c,d)=>{if(!(0<d))return 0;var e=c;d=c+d-1;for(var f=0;f<a.length;++f){var g=a.codePointAt(f);if(127>=g){if(c>=d)break;b[c++]=g}else if(2047>=g){if(c+1>=d)break;b[c++]=192|g>>6;b[c++]=128|g&63}else if(65535>=g){if(c+2>=d)break;b[c++]=224|g>>12;b[c++]=128|g>>6&63;b[c++]=128|g&63}else{if(c+3>=d)break;b[c++]=240|g>>18;b[c++]=128|g>>12&63;b[c++]=128|g>>6&63;b[c++]=128|g&63;f++}}b[c]=0;return c-e},ab=a=>{var b=Array($a(a)+1);a=J(a,b,0,b.length);b.length=a;return b},bb=[];function cb(a,b){bb[a]={input:[],output:[],Sa:b};db(a,eb)}var eb={open(a){var b=bb[a.node.fb];if(!b)throw new L(43);a.Aa=b;a.seekable=!1},close(a){a.Aa.Sa.kb(a.Aa)},kb(a){a.Aa.Sa.kb(a.Aa)},read(a,b,c,d){if(!a.Aa||!a.Aa.Sa.Nb)throw new L(60);for(var e=0,f=0;f<d;f++){try{var g=a.Aa.Sa.Nb(a.Aa)}catch(h){throw new L(29)}if(void 0===g&&0===e)throw new L(6);if(null===g||void 0===g)break;e++;b[c+f]=g}e&&(a.node.Ta=Date.now());return e},write(a,b,c,d){if(!a.Aa||!a.Aa.Sa.zb)throw new L(60);try{for(var e=0;e<d;e++)a.Aa.Sa.zb(a.Aa,b[c+e])}catch(f){throw new L(29)}d&&(a.node.Ia=a.node.Ha=Date.now());return e}},fb={Nb(){a:{if(!Za.length){var a=null;"undefined"!=typeof window&&"function"==typeof window.prompt&&(a=window.prompt("Input: "),null!==a&&(a+="\n"));if(!a){a=null;break a}Za=ab(a)}a=Za.shift()}return a},zb(a,b){null===b||10===b?(la(H(a.output)),a.output=[]):0!=b&&a.output.push(b)},kb(a){0<a.output?.length&&(la(H(a.output)),a.output=[])},ic(){return{Bc:25856,Dc:5,Ac:191,Cc:35387,zc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},jc(){return 0},kc(){return[24,80]}},gb={zb(a,b){null===b||10===b?(da(H(a.output)),a.output=[]):0!=b&&a.output.push(b)},kb(a){0<a.output?.length&&(da(H(a.output)),a.output=[])}},ib=a=>{a=65536*Math.ceil(a/65536);var b=hb(65536,a);b&&v.fill(0,b,b+a);return b},M={Oa:null,Ra(){return M.createNode(null,"/",16895,0)},createNode(a,b,c,d){if(24576===(c&61440)||4096===(c&61440))throw new L(63);M.Oa||(M.Oa={dir:{node:{Ma:M.xa.Ma,Qa:M.xa.Qa,bb:M.xa.bb,nb:M.xa.nb,Rb:M.xa.Rb,sb:M.xa.sb,Sb:M.xa.Sb,Bb:M.xa.Bb,rb:M.xa.rb},stream:{Na:M.va.Na}},file:{node:{Ma:M.xa.Ma,Qa:M.xa.Qa},stream:{Na:M.va.Na,read:M.va.read,write:M.va.write,yb:M.va.yb,ob:M.va.ob}},link:{node:{Ma:M.xa.Ma,Qa:M.xa.Qa,gb:M.xa.gb},stream:{}},Hb:{node:{Ma:M.xa.Ma,Qa:M.xa.Qa},stream:jb}});c=kb(a,b,c,d);N(c.mode)?(c.xa=M.Oa.dir.node,c.va=M.Oa.dir.stream,c.wa={}):32768===(c.mode&61440)?(c.xa=M.Oa.file.node,c.va=M.Oa.file.stream,c.Ca=0,c.wa=null):40960===(c.mode&61440)?(c.xa=M.Oa.link.node,c.va=M.Oa.link.stream):8192===(c.mode&61440)&&(c.xa=M.Oa.Hb.node,c.va=M.Oa.Hb.stream);c.Ta=c.Ia=c.Ha=Date.now();a&&(a.wa[b]=c,a.Ta=a.Ia=a.Ha=c.Ta);return c},Hc(a){return a.wa?a.wa.subarray?a.wa.subarray(0,a.Ca):new Uint8Array(a.wa):new Uint8Array(0)},xa:{Ma(a){var b={};b.Xb=8192===(a.mode&61440)?a.id:1;b.fc=a.id;b.mode=a.mode;b.oc=1;b.uid=0;b.dc=0;b.fb=a.fb;b.size=N(a.mode)?4096:32768===(a.mode&61440)?a.Ca:40960===(a.mode&61440)?a.link.length:0;b.Ta=new Date(a.Ta);b.Ia=new Date(a.Ia);b.Ha=new Date(a.Ha);b.Tb=4096;b.Ub=Math.ceil(b.size/b.Tb);return b},Qa(a,b){for(var c of["mode","atime","mtime","ctime"])null!=b[c]&&(a[c]=b[c]);void 0!==b.size&&(b=b.size,a.Ca!=b&&(0==b?(a.wa=null,a.Ca=0):(c=a.wa,a.wa=new Uint8Array(b),c&&a.wa.set(c.subarray(0,Math.min(b,a.Ca))),a.Ca=b)))},bb(){throw M.Kb},nb(a,b,c,d){return M.createNode(a,b,c,d)},Rb(a,b,c){try{var d=lb(b,c)}catch(f){}if(d){if(N(a.mode))for(var e in d.wa)throw new L(55);mb(d)}delete a.parent.wa[a.name];b.wa[c]=a;a.name=c;b.Ha=b.Ia=a.parent.Ha=a.parent.Ia=Date.now()},sb(a,b){delete a.wa[b];a.Ha=a.Ia=Date.now()},Sb(a,b){var c=lb(a,b),d;for(d in c.wa)throw new L(55);delete a.wa[b];a.Ha=a.Ia=Date.now()},Bb(a){return[".","..",...Object.keys(a.wa)]},rb(a,b,c){a=M.createNode(a,b,41471,0);a.link=c;return a},gb(a){if(40960!==(a.mode&61440))throw new L(28);return a.link}},va:{read(a,b,c,d,e){var f=a.node.wa;if(e>=a.node.Ca)return 0;a=Math.min(a.node.Ca-e,d);if(8<a&&f.subarray)b.set(f.subarray(e,e+a),c);else for(d=0;d<a;d++)b[c+d]=f[e+d];return a},write(a,b,c,d,e,f){b.buffer===r.buffer&&(f=!1);if(!d)return 0;a=a.node;a.Ia=a.Ha=Date.now();if(b.subarray&&(!a.wa||a.wa.subarray)){if(f)return a.wa=b.subarray(c,c+d),a.Ca=d;if(0===a.Ca&&0===e)return a.wa=b.slice(c,c+d),a.Ca=d;if(e+d<=a.Ca)return a.wa.set(b.subarray(c,c+d),e),d}f=e+d;var g=a.wa?a.wa.length:0;g>=f||(f=Math.max(f,g*(1048576>g?2:1.125)>>>0),0!=g&&(f=Math.max(f,256)),g=a.wa,a.wa=new Uint8Array(f),0<a.Ca&&a.wa.set(g.subarray(0,a.Ca),0));if(a.wa.subarray&&b.subarray)a.wa.set(b.subarray(c,c+d),e);else for(f=0;f<d;f++)a.wa[e+f]=b[c+f];a.Ca=Math.max(a.Ca,e+d);return d},Na(a,b,c){1===c?b+=a.position:2===c&&32768===(a.node.mode&61440)&&(b+=a.node.Ca);if(0>b)throw new L(28);return b},yb(a,b,c,d,e){if(32768!==(a.node.mode&61440))throw new L(43);a=a.node.wa;if(e&2||!a||a.buffer!==r.buffer){d=!0;e=ib(b);if(!e)throw new L(48);if(a){if(0<c||c+b<a.length)a=a.subarray?a.subarray(c,c+b):Array.prototype.slice.call(a,c,c+b);r.set(a,e)}}else d=!1,e=a.byteOffset;return{za:e,Va:d}},ob(a,b,c,d){M.va.write(a,b,0,d,c,!1);return 0}}},nb=async a=>{a=await ia(a);return new Uint8Array(a)},ob=[],pb=(a,b,c,d)=>{"undefined"!=typeof Browser&&Browser.Ic();var e=!1;ob.forEach((f=>{!e&&f.canHandle(b)&&(f.handle(a,b,c,d),e=!0)}));return e},qb=(a,b)=>{var c=0;a&&(c|=365);b&&(c|=146);return c},rb=null,sb={},tb=[],ub=1,vb=null,wb=!1,xb=!0,yb={},L=class{name="ErrnoError";constructor(a){this.Da=a}},zb=class{qb={};node=null;get object(){return this.node}set object(a){this.node=a}get flags(){return this.qb.flags}set flags(a){this.qb.flags=a}get position(){return this.qb.position}set position(a){this.qb.position=a}},Ab=class{xa={};va={};pb=365;tb=146;cb=null;constructor(a,b,c,d){a||=this;this.parent=a;this.Ra=a.Ra;this.id=ub++;this.name=b;this.mode=c;this.fb=d;this.Ta=this.Ia=this.Ha=Date.now()}get read(){return(this.mode&this.pb)===this.pb}set read(a){a?this.mode|=this.pb:this.mode&=~this.pb}get write(){return(this.mode&this.tb)===this.tb}set write(a){a?this.mode|=this.tb:this.mode&=~this.tb}get mc(){return N(this.mode)}get lc(){return 8192===(this.mode&61440)}};function Bb(a,b={}){if(!a)throw new L(44);b.ub??(b.ub=!0);"/"===a.charAt(0)||(a="//"+a);var c=0;a:for(;40>c;c++){a=a.split("/").filter((h=>!!h));for(var d=rb,e="/",f=0;f<a.length;f++){var g=f===a.length-1;if(g&&b.parent)break;if("."!==a[f])if(".."===a[f])if(e=Ua(e),d===d.parent){a=e+"/"+a.slice(f+1).join("/");continue a}else d=d.parent;else{e=Ta(e+"/"+a[f]);try{d=lb(d,a[f])}catch(h){if(44===h?.Da&&g&&b.pc)return{path:e};throw h}!d.cb||g&&!b.ub||(d=d.cb.root);if(40960===(d.mode&61440)&&(!g||b.jb)){if(!d.xa.gb)throw new L(52);d=d.xa.gb(d);"/"===d.charAt(0)||(d=Ua(e)+"/"+d);a=d+"/"+a.slice(f+1).join("/");continue a}}}return{path:e,node:d}}throw new L(32)}function Cb(a){for(var b;;){if(a===a.parent)return a=a.Ra.Pb,b?"/"!==a[a.length-1]?`${a}/${b}`:a+b:a;b=b?`${a.name}/${b}`:a.name;a=a.parent}}function Db(a,b){for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%vb.length}function mb(a){var b=Db(a.parent.id,a.name);if(vb[b]===a)vb[b]=a.Ya;else for(b=vb[b];b;){if(b.Ya===a){b.Ya=a.Ya;break}b=b.Ya}}function lb(a,b){var c=N(a.mode)?(c=Eb(a,"x"))?c:a.xa.bb?0:2:54;if(c)throw new L(c);for(c=vb[Db(a.id,b)];c;c=c.Ya){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.xa.bb(a,b)}function kb(a,b,c,d){a=new Ab(a,b,c,d);b=Db(a.parent.id,a.name);a.Ya=vb[b];return vb[b]=a}function N(a){return 16384===(a&61440)}function Fb(a){var b=["r","w","rw"][a&3];a&512&&(b+="w");return b}function Eb(a,b){if(xb)return 0;if(!b.includes("r")||a.mode&292){if(b.includes("w")&&!(a.mode&146)||b.includes("x")&&!(a.mode&73))return 2}else return 2;return 0}function Gb(a,b){if(!N(a.mode))return 54;try{return lb(a,b),20}catch(c){}return Eb(a,"wx")}function Hb(a){if(!a)throw new L(63);return a}function O(a){a=tb[a];if(!a)throw new L(8);return a}function Ib(a,b=-1){a=Object.assign(new zb,a);if(-1==b)a:{for(b=0;4096>=b;b++)if(!tb[b])break a;throw new L(33)}a.Ua=b;return tb[b]=a}function Jb(a,b=-1){a=Ib(a,b);a.va?.Fc?.(a);return a}function Kb(a,b){var c=undefined,d=c?null:a;c??=a.xa.Qa;Hb(c);c(d,b)}var jb={open(a){a.va=sb[a.node.fb].va;a.va.open?.(a)},Na(){throw new L(70)}};function db(a,b){sb[a]={va:b}}function Lb(a,b){var c="/"===b;if(c&&rb)throw new L(10);if(!c&&b){var d=Bb(b,{ub:!1});b=d.path;d=d.node;if(d.cb)throw new L(10);if(!N(d.mode))throw new L(54)}b={type:a,Kc:{},Pb:b,nc:[]};a=a.Ra(b);a.Ra=b;b.root=a;c?rb=a:d&&(d.cb=b,d.Ra&&d.Ra.nc.push(b))}function Mb(a,b,c){var d=Bb(a,{parent:!0}).node;a=a&&a.match(/([^\/]+|\/)\/*$/)[1];if(!a)throw new L(28);if("."===a||".."===a)throw new L(20);var e=Gb(d,a);if(e)throw new L(e);if(!d.xa.nb)throw new L(63);return d.xa.nb(d,a,b,c)}function Nb(a,b=438){return Mb(a,b&4095|32768,0)}function P(a){return Mb(a,16895,0)}function Ob(a,b,c){"undefined"==typeof c&&(c=b,b=438);return Mb(a,b|8192,c)}function Pb(a,b){if(!Xa(a))throw new L(44);var c=Bb(b,{parent:!0}).node;if(!c)throw new L(44);b=b&&b.match(/([^\/]+|\/)\/*$/)[1];var d=Gb(c,b);if(d)throw new L(d);if(!c.xa.rb)throw new L(63);c.xa.rb(c,b,a)}function Qb(a){var b=Bb(a,{parent:!0}).node;if(!b)throw new L(44);a=a&&a.match(/([^\/]+|\/)\/*$/)[1];var c=lb(b,a);a:{try{var d=lb(b,a)}catch(f){d=f.Da;break a}var e=Eb(b,"wx");d=e?e:N(d.mode)?31:0}if(d)throw new L(d);if(!b.xa.sb)throw new L(63);if(c.cb)throw new L(10);b.xa.sb(b,a);mb(c)}function Rb(a,b){a=Bb(a,{jb:!b}).node;return Hb(a.xa.Ma)(a)}function Sb(a,b){a="string"==typeof a?Bb(a,{jb:!0}).node:a;Kb(a,{mode:b&4095|a.mode&-4096,Ha:Date.now(),Ec:void 0})}function Tb(a,b,c=438){if(""===a)throw new L(44);if("string"==typeof b){var d={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[b];if("undefined"==typeof d)throw Error(`Unknown file open mode: ${b}`);b=d}c=b&64?c&4095|32768:0;if("object"==typeof a)d=a;else{var e=a.endsWith("/");a=Bb(a,{jb:!(b&131072),pc:!0});d=a.node;a=a.path}var f=!1;if(b&64)if(d){if(b&128)throw new L(20)}else{if(e)throw new L(31);d=Mb(a,c|511,0);f=!0}if(!d)throw new L(44);8192===(d.mode&61440)&&(b&=-513);if(b&65536&&!N(d.mode))throw new L(54);if(!f&&(e=d?40960===(d.mode&61440)?32:N(d.mode)&&("r"!==Fb(b)||b&576)?31:Eb(d,Fb(b)):44))throw new L(e);if(b&512&&!f){e=d;e="string"==typeof e?Bb(e,{jb:!0}).node:e;if(N(e.mode))throw new L(31);if(32768!==(e.mode&61440))throw new L(28);var g=Eb(e,"w");if(g)throw new L(g);Kb(e,{size:0,timestamp:Date.now()})}b&=-131713;e=Ib({node:d,path:Cb(d),flags:b,seekable:!0,position:0,va:d.va,yc:[],error:!1});e.va.open&&e.va.open(e);f&&Sb(d,c&511);!l.logReadFiles||b&1||a in yb||(yb[a]=1);return e}function Ub(a){if(null===a.Ua)throw new L(8);a.vb&&(a.vb=null);try{a.va.close&&a.va.close(a)}catch(b){throw b}finally{tb[a.Ua]=null}a.Ua=null}function Vb(a,b,c){if(null===a.Ua)throw new L(8);if(!a.seekable||!a.va.Na)throw new L(70);if(0!=c&&1!=c&&2!=c)throw new L(28);a.position=a.va.Na(a,b,c);a.yc=[]}function Wb(a,b,c,d,e,f){if(0>d||0>e)throw new L(28);if(null===a.Ua)throw new L(8);if(0===(a.flags&2097155))throw new L(8);if(N(a.node.mode))throw new L(31);if(!a.va.write)throw new L(28);a.seekable&&a.flags&1024&&Vb(a,0,2);var g="undefined"!=typeof e;if(!g)e=a.position;else if(!a.seekable)throw new L(70);b=a.va.write(a,b,c,d,e,f);g||(a.position+=b);return b}function Xb(a,b){a="string"==typeof a?a:Cb(a);for(b=b.split("/").reverse();b.length;){var c=b.pop();if(c){var d=Ta(a+"/"+c);try{P(d)}catch(e){if(20!=e.Da)throw e}a=d}}return d}function Yb(a,b,c,d){a=Ta(("string"==typeof a?a:Cb(a))+"/"+b);return Nb(a,qb(c,d))}function Zb(a,b,c,d,e,f){var g=b;a&&(a="string"==typeof a?a:Cb(a),g=b?Ta(a+"/"+b):a);a=qb(d,e);g=Nb(g,a);if(c){if("string"==typeof c){b=Array(c.length);d=0;for(e=c.length;d<e;++d)b[d]=c.charCodeAt(d);c=b}Sb(g,a|146);b=Tb(g,577);Wb(b,c,0,c.length,0,f);Ub(b);Sb(g,a)}}function $b(a,b,c,d){a=Ta(("string"==typeof a?a:Cb(a))+"/"+b);b=qb(!!c,!!d);$b.Ob??($b.Ob=64);var e=$b.Ob++<<8|0;db(e,{open(f){f.seekable=!1},close(){d?.buffer?.length&&d(10)},read(f,g,h,n){for(var k=0,p=0;p<n;p++){try{var m=c()}catch(q){throw new L(29)}if(void 0===m&&0===k)throw new L(6);if(null===m||void 0===m)break;k++;g[h+p]=m}k&&(f.node.Ta=Date.now());return k},write(f,g,h,n){for(var k=0;k<n;k++)try{d(g[h+k])}catch(p){throw new L(29)}n&&(f.node.Ia=f.node.Ha=Date.now());return k}});return Ob(a,b,e)}function ac(a){if(!(a.lc||a.mc||a.link||a.wa)){if("undefined"!=typeof XMLHttpRequest)throw Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");try{a.wa=ja(a.url),a.Ca=a.wa.length}catch(b){throw new L(29)}}}function bc(a,b,c,d,e){function f(m,q,x,u,w){m=m.node.wa;if(w>=m.length)return 0;u=Math.min(m.length-w,u);if(m.slice)for(var z=0;z<u;z++)q[x+z]=m[w+z];else for(z=0;z<u;z++)q[x+z]=m.get(w+z);return u}class g{xb=!1;ib=[];ab=void 0;Fb=0;Eb=0;get(m){if(!(m>this.length-1||0>m)){var q=m%this.Ib;return this.ab(m/this.Ib|0)[q]}}tc(m){this.ab=m}Gb(){var m=new XMLHttpRequest;m.open("HEAD",c,!1);m.send(null);if(!(200<=m.status&&300>m.status||304===m.status))throw Error("Couldn't load "+c+". Status: "+m.status);var q=Number(m.getResponseHeader("Content-length")),x,u=(x=m.getResponseHeader("Accept-Ranges"))&&"bytes"===x;m=(x=m.getResponseHeader("Content-Encoding"))&&"gzip"===x;var w=1048576;u||(w=q);var z=this;z.tc((I=>{var E=I*w,K=(I+1)*w-1;K=Math.min(K,q-1);if("undefined"==typeof z.ib[I]){var t=z.ib;if(E>K)throw Error("invalid range ("+E+", "+K+") or no bytes requested!");if(K>q-1)throw Error("only "+q+" bytes available! programmer error!");var G=new XMLHttpRequest;G.open("GET",c,!1);q!==w&&G.setRequestHeader("Range","bytes="+E+"-"+K);G.responseType="arraybuffer";G.overrideMimeType&&G.overrideMimeType("text/plain; charset=x-user-defined");G.send(null);if(!(200<=G.status&&300>G.status||304===G.status))throw Error("Couldn't load "+c+". Status: "+G.status);E=void 0!==G.response?new Uint8Array(G.response||[]):ab(G.responseText||"");t[I]=E}if("undefined"==typeof z.ib[I])throw Error("doXHR failed!");return z.ib[I]}));if(m||!q)w=q=1,w=q=this.ab(0).length,la("LazyFiles on gzip forces download of the whole file when length is accessed");this.Fb=q;this.Eb=w;this.xb=!0}get length(){this.xb||this.Gb();return this.Fb}get Ib(){this.xb||this.Gb();return this.Eb}}if("undefined"!=typeof XMLHttpRequest){if(!ba)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var h=new g;var n=void 0}else n=c,h=void 0;var k=Yb(a,b,d,e);h?k.wa=h:n&&(k.wa=null,k.url=n);Object.defineProperties(k,{Ca:{get:function(){return this.wa.length}}});var p={};Object.keys(k.va).forEach((m=>{var q=k.va[m];p[m]=(...x)=>{ac(k);return q(...x)}}));p.read=(m,q,x,u,w)=>{ac(k);return f(m,q,x,u,w)};p.yb=(m,q,x)=>{ac(k);var u=ib(q);if(!u)throw new L(48);f(m,r,u,q,x);return{za:u,Va:!0}};k.va=p;return k}var Q={},cc=a=>a?H(v,a):"";function dc(a,b,c){if("/"===b.charAt(0))return b;a=-100===a?"/":O(a).path;if(0==b.length){if(!c)throw new L(44);return a}return a+"/"+b}function ec(a,b){A[a>>2]=b.Xb;A[a+4>>2]=b.mode;B[a+8>>2]=b.oc;A[a+12>>2]=b.uid;A[a+16>>2]=b.dc;A[a+20>>2]=b.fb;D[a+24>>3]=BigInt(b.size);A[a+32>>2]=4096;A[a+36>>2]=b.Ub;var c=b.Ta.getTime(),d=b.Ia.getTime(),e=b.Ha.getTime();D[a+40>>3]=BigInt(Math.floor(c/1e3));B[a+48>>2]=c%1e3*1e6;D[a+56>>3]=BigInt(Math.floor(d/1e3));B[a+64>>2]=d%1e3*1e6;D[a+72>>3]=BigInt(Math.floor(e/1e3));B[a+80>>2]=e%1e3*1e6;D[a+88>>3]=BigInt(b.fc);return 0}var Qa=void 0,fc={},gc=a=>{for(;a.length;){var b=a.pop();a.pop()(b)}};function hc(a){return this.fromWireType(B[a>>2])}var ic={},jc={},kc={},lc=class extends Error{constructor(a){super(a);this.name="InternalError"}},mc=(a,b,c)=>{function d(h){h=c(h);if(h.length!==a.length)throw new lc("Mismatched type converter count");for(var n=0;n<a.length;++n)R(a[n],h[n])}a.forEach((h=>kc[h]=b));var e=Array(b.length),f=[],g=0;b.forEach(((h,n)=>{jc.hasOwnProperty(h)?e[n]=jc[h]:(f.push(h),ic.hasOwnProperty(h)||(ic[h]=[]),ic[h].push((()=>{e[n]=jc[h];++g;g===f.length&&d(e)})))}));0===f.length&&d(e)},S=a=>{for(var b="";;){var c=v[a++];if(!c)return b;b+=String.fromCharCode(c)}},U=class extends Error{constructor(a){super(a);this.name="BindingError"}};function nc(a,b,c={}){var d=b.name;if(!a)throw new U(`type "${d}" must have a positive integer typeid pointer`);if(jc.hasOwnProperty(a)){if(c.ec)return;throw new U(`Cannot register type '${d}' twice`)}jc[a]=b;delete kc[a];ic.hasOwnProperty(a)&&(b=ic[a],delete ic[a],b.forEach((e=>e())))}function R(a,b,c={}){return nc(a,b,c)}var oc=(a,b,c)=>{switch(b){case 1:return c?d=>r[d]:d=>v[d];case 2:return c?d=>y[d>>1]:d=>sa[d>>1];case 4:return c?d=>A[d>>2]:d=>B[d>>2];case 8:return c?d=>D[d>>3]:d=>va[d>>3];default:throw new TypeError(`invalid integer width (${b}): ${a}`)}},pc=a=>{throw new U(a.ua.Ba.ya.name+" instance already deleted")},qc=!1,rc=()=>{},sc=a=>{if("undefined"===typeof FinalizationRegistry)return sc=b=>b,a;qc=new FinalizationRegistry((b=>{b=b.ua;--b.count.value;0===b.count.value&&(b.Fa?b.Ja.Pa(b.Fa):b.Ba.ya.Pa(b.za))}));sc=b=>{var c=b.ua;c.Fa&&qc.register(b,{ua:c},b);return b};rc=b=>{qc.unregister(b)};return sc(a)},tc=[];function uc(){}var vc=(a,b)=>Object.defineProperty(b,"name",{value:a}),wc={},xc=(a,b,c)=>{if(void 0===a[b].Ea){var d=a[b];a[b]=function(...e){if(!a[b].Ea.hasOwnProperty(e.length))throw new U(`Function '${c}' called with an invalid number of arguments (${e.length}) - expects one of (${a[b].Ea})!`);return a[b].Ea[e.length].apply(this,e)};a[b].Ea=[];a[b].Ea[d.Za]=d}},yc=(a,b,c)=>{if(l.hasOwnProperty(a)){if(void 0===c||void 0!==l[a].Ea&&void 0!==l[a].Ea[c])throw new U(`Cannot register public name '${a}' twice`);xc(l,a,a);if(l[a].Ea.hasOwnProperty(c))throw new U(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`);l[a].Ea[c]=b}else l[a]=b,l[a].Za=c},zc=a=>{a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?`_${a}`:a};function Ac(a,b,c,d,e,f,g,h){this.name=a;this.constructor=b;this.Xa=c;this.Pa=d;this.Ga=e;this.$b=f;this.hb=g;this.Yb=h;this.rc=[]}var Bc=(a,b,c)=>{for(;b!==c;){if(!b.hb)throw new U(`Expected null or instance of ${c.name}, got an instance of ${b.name}`);a=b.hb(a);b=b.Ga}return a},Cc=a=>{if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a};function Dc(a,b){if(null===b){if(this.wb)throw new U(`null is not a valid ${this.name}`);return 0}if(!b.ua)throw new U(`Cannot pass "${Cc(b)}" as a ${this.name}`);if(!b.ua.za)throw new U(`Cannot pass deleted object as a pointer of type ${this.name}`);return Bc(b.ua.za,b.ua.Ba.ya,this.ya)}function Ec(a,b){if(null===b){if(this.wb)throw new U(`null is not a valid ${this.name}`);if(this.mb){var c=this.Ab();null!==a&&a.push(this.Pa,c);return c}return 0}if(!b||!b.ua)throw new U(`Cannot pass "${Cc(b)}" as a ${this.name}`);if(!b.ua.za)throw new U(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.lb&&b.ua.Ba.lb)throw new U(`Cannot convert argument of type ${b.ua.Ja?b.ua.Ja.name:b.ua.Ba.name} to parameter type ${this.name}`);c=Bc(b.ua.za,b.ua.Ba.ya,this.ya);if(this.mb){if(void 0===b.ua.Fa)throw new U("Passing raw pointer to smart pointer is illegal");switch(this.xc){case 0:if(b.ua.Ja===this)c=b.ua.Fa;else throw new U(`Cannot convert argument of type ${b.ua.Ja?b.ua.Ja.name:b.ua.Ba.name} to parameter type ${this.name}`);break;case 1:c=b.ua.Fa;break;case 2:if(b.ua.Ja===this)c=b.ua.Fa;else{var d=b.clone();c=this.sc(c,V((()=>d["delete"]())));null!==a&&a.push(this.Pa,c)}break;default:throw new U("Unsupporting sharing policy")}}return c}function Fc(a,b){if(null===b){if(this.wb)throw new U(`null is not a valid ${this.name}`);return 0}if(!b.ua)throw new U(`Cannot pass "${Cc(b)}" as a ${this.name}`);if(!b.ua.za)throw new U(`Cannot pass deleted object as a pointer of type ${this.name}`);if(b.ua.Ba.lb)throw new U(`Cannot convert argument of type ${b.ua.Ba.name} to parameter type ${this.name}`);return Bc(b.ua.za,b.ua.Ba.ya,this.ya)}var Gc=(a,b,c)=>{if(b===c)return a;if(void 0===c.Ga)return null;a=Gc(a,b,c.Ga);return null===a?null:c.Yb(a)},Hc={},Ic=(a,b)=>{if(void 0===b)throw new U("ptr should not be undefined");for(;a.Ga;)b=a.hb(b),a=a.Ga;return Hc[b]},Jc=(a,b)=>{if(!b.Ba||!b.za)throw new lc("makeClassHandle requires ptr and ptrType");if(!!b.Ja!==!!b.Fa)throw new lc("Both smartPtrType and smartPtr must be specified");b.count={value:1};return sc(Object.create(a,{ua:{value:b,writable:!0}}))};function Kc(a,b,c,d,e,f,g,h,n,k,p){this.name=a;this.ya=b;this.wb=c;this.lb=d;this.mb=e;this.qc=f;this.xc=g;this.Qb=h;this.Ab=n;this.sc=k;this.Pa=p;e||void 0!==b.Ga?this.toWireType=Ec:(this.toWireType=d?Dc:Fc,this.La=null)}var Lc=(a,b,c)=>{if(!l.hasOwnProperty(a))throw new lc("Replacing nonexistent public symbol");void 0!==l[a].Ea&&void 0!==c?l[a].Ea[c]=b:(l[a]=b,l[a].Za=c)},W=(a,b)=>{a=S(a);var c=Pa(b);if("function"!=typeof c)throw new U(`unknown function pointer with signature ${a}: ${b}`);return c};class Mc extends Error{}var Pc=a=>{a=Nc(a);var b=S(a);Oc(a);return b},Qc=(a,b)=>{function c(f){e[f]||jc[f]||(kc[f]?kc[f].forEach(c):(d.push(f),e[f]=!0))}var d=[],e={};b.forEach(c);throw new Mc(`${a}: `+d.map(Pc).join([", "]))},Rc=(a,b)=>{for(var c=[],d=0;d<a;d++)c.push(B[b+4*d>>2]);return c};function Sc(a){for(var b=1;b<a.length;++b)if(null!==a[b]&&void 0===a[b].La)return!0;return!1}function Tc(a,b,c,d,e){var f=b.length;if(2>f)throw new U("argTypes array size mismatch! Must at least get return value and 'this' types!");var g=null!==b[1]&&null!==c,h=Sc(b),n="void"!==b[0].name,k=f-2,p=Array(k),m=[],q=[];return vc(a,(function(...x){q.length=0;m.length=g?2:1;m[0]=e;if(g){var u=b[1].toWireType(q,this);m[1]=u}for(var w=0;w<k;++w)p[w]=b[w+2].toWireType(q,x[w]),m.push(p[w]);x=d(...m);if(h)gc(q);else for(w=g?1:2;w<b.length;w++){var z=1===w?u:p[w-2];null!==b[w].La&&b[w].La(z)}u=n?b[0].fromWireType(x):void 0;return u}))}var Uc=a=>{a=a.trim();const b=a.indexOf("(");return-1===b?a:a.slice(0,b)},Vc=[],Wc=[0,1,,1,null,1,!0,1,!1,1],Xc=a=>{9<a&&0===--Wc[a+1]&&(Wc[a]=void 0,Vc.push(a))},X=a=>{if(!a)throw new U(`Cannot use deleted val. handle = ${a}`);return Wc[a]},V=a=>{switch(a){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:const b=Vc.pop()||Wc.length;Wc[b]=a;Wc[b+1]=1;return b}},Yc={name:"emscripten::val",fromWireType:a=>{var b=X(a);Xc(a);return b},toWireType:(a,b)=>V(b),Ka:8,readValueFromPointer:hc,La:null},Zc=(a,b)=>{switch(b){case 4:return function(c){return this.fromWireType(ta[c>>2])};case 8:return function(c){return this.fromWireType(ua[c>>3])};default:throw new TypeError(`invalid float width (${b}): ${a}`)}},$c="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,ad=(a,b)=>{a>>=1;b=a+b/2;for(var c=a;!(c>=b)&&sa[c];)++c;if(16<c-a&&$c)return $c.decode(sa.subarray(a,c));for(c="";!(a>=b);++a){var d=sa[a];if(0==d)break;c+=String.fromCharCode(d)}return c},bd=(a,b,c)=>{c??=2147483647;if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e<c;++e)y[b>>1]=a.charCodeAt(e),b+=2;y[b>>1]=0;return b-d},cd=a=>2*a.length,dd=(a,b)=>{for(var c="",d=0;!(d>=b/4);d++){var e=A[a+4*d>>2];if(!e)break;c+=String.fromCodePoint(e)}return c},ed=(a,b,c)=>{c??=2147483647;if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e<a.length;++e){var f=a.codePointAt(e);65535<f&&e++;A[b>>2]=f;b+=4;if(b+4>c)break}A[b>>2]=0;return b-d},fd=a=>{for(var b=0,c=0;c<a.length;++c)65535<a.codePointAt(c)&&c++,b+=4;return b},gd=0,hd=(a,b)=>{var c=jc[a];if(void 0===c)throw a=`${b} has unknown type ${Pc(a)}`,new U(a);return c},jd=(a,b,c)=>{var d=[];a=a.toWireType(d,c);d.length&&(B[b>>2]=V(d));return a},kd=[],ld={},md=a=>{var b=ld[a];return void 0===b?S(a):b},nd=a=>{var b=kd.length;kd.push(a);return b},od=(a,b)=>{for(var c=Array(a),d=0;d<a;++d)c[d]=hd(B[b+4*d>>2],`parameter ${d}`);return c},pd=a=>0===a%4&&(0!==a%100||0===a%400),qd=[0,31,60,91,121,152,182,213,244,274,305,335],rd=[0,31,59,90,120,151,181,212,243,273,304,334],sd={},td=a=>{if(!(a instanceof Ha||"unwind"==a))throw a},ud=a=>{oa=a;Ma||0<gd||(l.onExit?.(a),na=!0);throw new Ha(a)},vd=a=>{if(!na)try{if(a(),!(Ma||0<gd))try{oa=a=oa,ud(a)}catch(b){td(b)}}catch(b){td(b)}},wd=[];function xd(a){var b=Y,c=b.Mb.pop()||b.Va.length;b.Va[c]=a;return c}class yd{Va=[void 0];Mb=[];get(a){return this.Va[a]}has(a){return void 0!==this.Va[a]}}var Y,zd;function Ad(a,b,c,d,e){function f(){var F=0,C=0;t.response&&I&&0===B[a+12>>2]&&(C=t.response.byteLength);0<C&&(F=Bd(C),v.set(new Uint8Array(t.response),F));B[a+12>>2]=F;Z(a+16,C);Z(a+24,0);(F=t.response?t.response.byteLength:0)&&Z(a+32,F);y[a+40>>1]=t.readyState;y[a+42>>1]=t.status;t.statusText&&J(t.statusText,v,a+44,64);K&&(F=Cd(t.responseURL),B[a+200>>2]=F)}var g=B[a+8>>2];if(g){var h=g?H(v,g):"",n=a+108,k=cc(n+0);k||="GET";var p=B[n+56>>2],m=B[n+68>>2],q=B[n+72>>2];g=B[n+76>>2];var x=B[n+80>>2],u=B[n+84>>2],w=B[n+88>>2],z=B[n+52>>2],I=!!(z&1),E=!!(z&2),K=!!(z&64);m=m?m?H(v,m):"":void 0;q=q?q?H(v,q):"":void 0;var t=new XMLHttpRequest;t.withCredentials=!!v[n+60];t.open(k,h,!K,m,q);K||(t.timeout=p);t.Mc=h;t.responseType="arraybuffer";x&&(h=x?H(v,x):"",t.overrideMimeType(h));if(g)for(;;){n=B[g>>2];if(!n)break;h=B[g+4>>2];if(!h)break;g+=8;n=n?H(v,n):"";h=h?H(v,h):"";t.setRequestHeader(n,h)}var G=xd(t);B[a>>2]=G;g=u&&w?v.slice(u,u+w):null;t.onload=F=>{Y.has(G)&&(f(),200<=t.status&&300>t.status?b?.(a,t,F):c?.(a,t,F))};t.onerror=F=>{Y.has(G)&&(f(),c?.(a,t,F))};t.ontimeout=F=>{Y.has(G)&&c?.(a,t,F)};t.onprogress=F=>{if(Y.has(G)){var C=I&&E&&t.response?t.response.byteLength:0,T=0;0<C&&I&&E&&(T=Bd(C),v.set(new Uint8Array(t.response),T));B[a+12>>2]=T;Z(a+16,C);Z(a+24,F.loaded-C);Z(a+32,F.total);y[a+40>>1]=t.readyState;3<=t.readyState&&0===t.status&&0<F.loaded&&(t.status=200);y[a+42>>1]=t.status;t.statusText&&J(t.statusText,v,a+44,64);d?.(a,t,F);Oc(T)}};t.onreadystatechange=F=>{if(Y.has(G)){y[a+40>>1]=t.readyState;2<=t.readyState&&(y[a+42>>1]=t.status);if(!K&&2===t.readyState&&0<t.responseURL.length){var C=Cd(t.responseURL);B[a+200>>2]=C}e?.(a,t,F)}};try{t.send(g)}catch(F){c?.(a,t,F)}}else c(a,0,"no url specified!")}var Z=(a,b)=>{B[a>>2]=b;B[a+4>>2]=(b-B[a>>2])/4294967296},Cd=a=>{var b=$a(a)+1,c=Bd(b);c&&J(a,v,c,b);return c};function Dd(a,b,c,d){var e=zd;if(e){var f=B[a+108+64>>2];f||=B[a+8>>2];var g=f?H(v,f):"";try{var h=e.transaction(["FILES"],"readwrite").objectStore("FILES").put(b,g);h.onsuccess=()=>{y[a+40>>1]=4;y[a+42>>1]=200;J("OK",v,a+44,64);c(a,0,g)};h.onerror=n=>{y[a+40>>1]=4;y[a+42>>1]=413;J("Payload Too Large",v,a+44,64);d(a,0,n)}}catch(n){d(a,0,n)}}else d(a,0,"IndexedDB not available!")}function Ed(a,b,c){var d=zd;if(d){var e=B[a+108+64>>2];e||=B[a+8>>2];e=e?H(v,e):"";try{var f=d.transaction(["FILES"],"readonly").objectStore("FILES").get(e);f.onsuccess=g=>{if(g.target.result){g=g.target.result;var h=g.byteLength||g.length,n=Bd(h);v.set(new Uint8Array(g),n);B[a+12>>2]=n;Z(a+16,h);Z(a+24,0);Z(a+32,h);y[a+40>>1]=4;y[a+42>>1]=200;J("OK",v,a+44,64);b(a,0,g)}else y[a+40>>1]=4,y[a+42>>1]=404,J("Not Found",v,a+44,64),c(a,0,"no data")};f.onerror=g=>{y[a+40>>1]=4;y[a+42>>1]=404;J("Not Found",v,a+44,64);c(a,0,g)}}catch(g){c(a,0,g)}}else c(a,0,"IndexedDB not available!")}function Fd(a,b,c){var d=zd;if(d){var e=B[a+108+64>>2];e||=B[a+8>>2];e=e?H(v,e):"";try{var f=d.transaction(["FILES"],"readwrite").objectStore("FILES").delete(e);f.onsuccess=g=>{g=g.target.result;B[a+12>>2]=0;Z(a+16,0);Z(a+24,0);Z(a+32,0);y[a+40>>1]=4;y[a+42>>1]=200;J("OK",v,a+44,64);b(a,0,g)};f.onerror=g=>{y[a+40>>1]=4;y[a+42>>1]=404;J("Not Found",v,a+44,64);c(a,0,g)}}catch(g){c(a,0,g)}}else c(a,0,"IndexedDB not available!")}var Gd={},Id=()=>{if(!Hd){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.language||"C").replace("-","_")+".UTF-8",_:ea||"./this.program"},b;for(b in Gd)void 0===Gd[b]?delete a[b]:a[b]=Gd[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);Hd=c}return Hd},Hd;vb=Array(4096);Lb(M,"/");P("/tmp");P("/home");P("/home/web_user");(function(){P("/dev");db(259,{read:()=>0,write:(d,e,f,g)=>g,Na:()=>0});Ob("/dev/null",259);cb(1280,fb);cb(1536,gb);Ob("/dev/tty",1280);Ob("/dev/tty1",1536);var a=new Uint8Array(1024),b=0,c=()=>{0===b&&(Wa(a),b=a.byteLength);return a[--b]};$b("/dev","random",c);$b("/dev","urandom",c);P("/dev/shm");P("/dev/shm/tmp")})();(function(){P("/proc");var a=P("/proc/self");P("/proc/self/fd");Lb({Ra(){var b=kb(a,"fd",16895,73);b.va={Na:M.va.Na};b.xa={bb(c,d){c=+d;var e=O(c);c={parent:null,Ra:{Pb:"fake"},xa:{gb:()=>e.path},id:c+1};return c.parent=c},Bb(){return Array.from(tb.entries()).filter((([,c])=>c)).map((([c])=>c.toString()))}};return b}},"/proc/self/fd")})();M.Kb=new L(44);M.Kb.stack="<generic error, no stack>";(()=>{let a=uc.prototype;Object.assign(a,{isAliasOf:function(c){if(!(this instanceof uc&&c instanceof uc))return!1;var d=this.ua.Ba.ya,e=this.ua.za;c.ua=c.ua;var f=c.ua.Ba.ya;for(c=c.ua.za;d.Ga;)e=d.hb(e),d=d.Ga;for(;f.Ga;)c=f.hb(c),f=f.Ga;return d===f&&e===c},clone:function(){this.ua.za||pc(this);if(this.ua.eb)return this.ua.count.value+=1,this;var c=sc,d=Object,e=d.create,f=Object.getPrototypeOf(this),g=this.ua;c=c(e.call(d,f,{ua:{value:{count:g.count,$a:g.$a,eb:g.eb,za:g.za,Ba:g.Ba,Fa:g.Fa,Ja:g.Ja}}}));c.ua.count.value+=1;c.ua.$a=!1;return c},["delete"](){this.ua.za||pc(this);if(this.ua.$a&&!this.ua.eb)throw new U("Object already scheduled for deletion");rc(this);var c=this.ua;--c.count.value;0===c.count.value&&(c.Fa?c.Ja.Pa(c.Fa):c.Ba.ya.Pa(c.za));this.ua.eb||(this.ua.Fa=void 0,this.ua.za=void 0)},isDeleted:function(){return!this.ua.za},deleteLater:function(){this.ua.za||pc(this);if(this.ua.$a&&!this.ua.eb)throw new U("Object already scheduled for deletion");tc.push(this);this.ua.$a=!0;return this}});const b=Symbol.dispose;b&&(a[b]=a["delete"])})();Object.assign(Kc.prototype,{ac(a){this.Qb&&(a=this.Qb(a));return a},Jb(a){this.Pa?.(a)},Ka:8,readValueFromPointer:hc,fromWireType:function(a){function b(){return this.mb?Jc(this.ya.Xa,{Ba:this.qc,za:c,Ja:this,Fa:a}):Jc(this.ya.Xa,{Ba:this,za:a})}var c=this.ac(a);if(!c)return this.Jb(a),null;var d=Ic(this.ya,c);if(void 0!==d){if(0===d.ua.count.value)return d.ua.za=c,d.ua.Fa=a,d.clone();d=d.clone();this.Jb(a);return d}d=this.ya.$b(c);d=wc[d];if(!d)return b.call(this);d=this.lb?d.Wb:d.pointerType;var e=Gc(c,this.ya,d.ya);return null===e?b.call(this):this.mb?Jc(d.ya.Xa,{Ba:d,za:e,Ja:this,Fa:a}):Jc(d.ya.Xa,{Ba:d,za:e})}});Y=new yd;Aa("library_fetch_init");(function(a,b){try{var c=indexedDB.open("emscripten_filesystem",1)}catch(d){b(d);return}c.onupgradeneeded=d=>{d=d.target.result;d.objectStoreNames.contains("FILES")&&d.deleteObjectStore("FILES");d.createObjectStore("FILES")};c.onsuccess=d=>a(d.target.result);c.onerror=b})((a=>{zd=a;Ba("library_fetch_init")}),(()=>{zd=!1;Ba("library_fetch_init")}));ra=l.wasmMemory?l.wasmMemory:new WebAssembly.Memory({initial:(l.INITIAL_MEMORY||209715200)/65536,maximum:32768});xa();l.noExitRuntime&&(Ma=l.noExitRuntime);l.preloadPlugins&&(ob=l.preloadPlugins);l.print&&(la=l.print);l.printErr&&(da=l.printErr);l.wasmBinary&&(ma=l.wasmBinary);l.thisProgram&&(ea=l.thisProgram);l.addRunDependency=Aa;l.removeRunDependency=Ba;l.FS_createPreloadedFile=(a,b,c,d,e,f,g,h,n,k)=>{function p(x){function u(w){k?.();h||Zb(a,b,w,d,e,n);f?.();Ba(q)}pb(x,m,u,(()=>{g?.();Ba(q)}))||u(x)}var m=b?Xa(Ta(a+"/"+b)):a,q=`cp ${m}`;Aa(q);"string"==typeof c?nb(c).then(p,g):p(c)};l.FS_unlink=(...a)=>Qb(...a);l.FS_createPath=(...a)=>Xb(...a);l.FS_createDevice=(...a)=>$b(...a);l.FS_createDataFile=(...a)=>Zb(...a);l.FS_createLazyFile=(...a)=>bc(...a);var Jd={315753:(a,b,c,d)=>{a=a?H(v,a):"";b=b?H(v,b):"";c=c?H(v,c):"";d=d?H(v,d):"";throw Error(a+b+c+d)},315969:(a,b)=>{a=a?H(v,a):"";b=b?H(v,b):"";throw Error(a+b)}},Nc,Oc,Bd,hb,Kd;l.__ZN2MB2NN28LinearDefragmentingAllocator10Allocation4nullE=1024;var Ld={B:(a,b)=>Pa(a)(b),t:function(a,b,c){Qa=c;try{var d=O(a);switch(b){case 0:var e=Ra();if(0>e)break;for(;tb[e];)e++;return Jb(d,e).Ua;case 1:case 2:return 0;case 3:return d.flags;case 4:return e=Ra(),d.flags|=e,0;case 12:return e=Ra(),y[e+0>>1]=2,0;case 13:case 14:return 0}return-28}catch(f){if("undefined"==typeof Q||"ErrnoError"!==f.name)throw f;return-f.Da}},V:function(a,b){try{var c=O(a),d=c.node,e=c.va.Ma;a=e?c:d;e??=d.xa.Ma;Hb(e);var f=e(a);return ec(b,f)}catch(g){if("undefined"==typeof Q||"ErrnoError"!==g.name)throw g;return-g.Da}},W:function(a,b,c){Qa=c;try{var d=O(a);switch(b){case 21509:return d.Aa?0:-59;case 21505:if(!d.Aa)return-59;if(d.Aa.Sa.ic){a=[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];var e=Ra();A[e>>2]=25856;A[e+4>>2]=5;A[e+8>>2]=191;A[e+12>>2]=35387;for(var f=0;32>f;f++)r[e+f+17]=a[f]||0}return 0;case 21510:case 21511:case 21512:return d.Aa?0:-59;case 21506:case 21507:case 21508:if(!d.Aa)return-59;if(d.Aa.Sa.jc)for(e=Ra(),a=[],f=0;32>f;f++)a.push(r[e+f+17]);return 0;case 21519:if(!d.Aa)return-59;e=Ra();return A[e>>2]=0;case 21520:return d.Aa?-28:-59;case 21531:e=Ra();if(!d.va.hc)throw new L(59);return d.va.hc(d,b,e);case 21523:if(!d.Aa)return-59;d.Aa.Sa.kc&&(f=[24,80],e=Ra(),y[e>>1]=f[0],y[e+2>>1]=f[1]);return 0;case 21524:return d.Aa?0:-59;case 21515:return d.Aa?0:-59;default:return-28}}catch(g){if("undefined"==typeof Q||"ErrnoError"!==g.name)throw g;return-g.Da}},T:function(a,b){try{return a=a?H(v,a):"",ec(b,Rb(a,!0))}catch(c){if("undefined"==typeof Q||"ErrnoError"!==c.name)throw c;return-c.Da}},S:function(a,b,c,d){try{b=b?H(v,b):"";var e=d&256;b=dc(a,b,d&4096);return ec(c,e?Rb(b,!0):Rb(b))}catch(f){if("undefined"==typeof Q||"ErrnoError"!==f.name)throw f;return-f.Da}},u:function(a,b,c,d){Qa=d;try{b=b?H(v,b):"";b=dc(a,b);var e=d?Ra():0;return Tb(b,c,e).Ua}catch(f){if("undefined"==typeof Q||"ErrnoError"!==f.name)throw f;return-f.Da}},U:function(a,b){try{return a=a?H(v,a):"",ec(b,Rb(a))}catch(c){if("undefined"==typeof Q||"ErrnoError"!==c.name)throw c;return-c.Da}},Y:()=>Ca(""),d:a=>{var b=fc[a];delete fc[a];var c=b.Ab,d=b.Pa,e=b.Lb,f=e.map((g=>g.cc)).concat(e.map((g=>g.vc)));mc([a],f,(g=>{var h={};e.forEach(((n,k)=>{var p=g[k],m=n.ab,q=n.bc,x=g[k+e.length],u=n.uc,w=n.wc;h[n.Zb]={read:z=>p.fromWireType(m(q,z)),write:(z,I)=>{var E=[];u(w,z,x.toWireType(E,I));gc(E)},optional:g[k].optional}}));return[{name:b.name,fromWireType:n=>{var k={},p;for(p in h)k[p]=h[p].read(n);d(n);return k},toWireType:(n,k)=>{for(var p in h)if(!(p in k||h[p].optional))throw new TypeError(`Missing field: "${p}"`);var m=c();for(p in h)h[p].write(m,k[p]);null!==n&&n.push(d,m);return m},Ka:8,readValueFromPointer:hc,La:d}]}))},y:(a,b,c,d,e)=>{b=S(b);d=0n===d;let f=g=>g;if(d){const g=8*c;f=h=>BigInt.asUintN(g,h);e=f(e)}R(a,{name:b,fromWireType:f,toWireType:(g,h)=>{"number"==typeof h&&(h=BigInt(h));return h},Ka:8,readValueFromPointer:oc(b,c,!d),La:null})},ka:(a,b,c,d)=>{b=S(b);R(a,{name:b,fromWireType:function(e){return!!e},toWireType:function(e,f){return f?c:d},Ka:8,readValueFromPointer:function(e){return this.fromWireType(v[e])},La:null})},ha:(a,b,c,d,e,f,g,h,n,k,p,m,q)=>{p=S(p);f=W(e,f);h&&=W(g,h);k&&=W(n,k);q=W(m,q);var x=zc(p);yc(x,(function(){Qc(`Cannot construct ${p} due to unbound types`,[d])}));mc([a,b,c],d?[d]:[],(u=>{u=u[0];if(d){var w=u.ya;var z=w.Xa}else z=uc.prototype;u=vc(p,(function(...t){if(Object.getPrototypeOf(this)!==I)throw new U(`Use 'new' to construct ${p}`);if(void 0===E.Wa)throw new U(`${p} has no accessible constructor`);var G=E.Wa[t.length];if(void 0===G)throw new U(`Tried to invoke ctor of ${p} with invalid number of parameters (${t.length}) - expected (${Object.keys(E.Wa).toString()}) parameters instead!`);return G.apply(this,t)}));var I=Object.create(z,{constructor:{value:u}});u.prototype=I;var E=new Ac(p,u,I,q,w,f,h,k);if(E.Ga){var K;(K=E.Ga).Db??(K.Db=[]);E.Ga.Db.push(E)}w=new Kc(p,E,!0,!1,!1);K=new Kc(p+"*",E,!1,!1,!1);z=new Kc(p+" const*",E,!1,!0,!1);wc[a]={pointerType:K,Wb:z};Lc(x,u);return[w,K,z]}))},ga:(a,b,c,d,e,f)=>{var g=Rc(b,c);e=W(d,e);mc([],[a],(h=>{h=h[0];var n=`constructor ${h.name}`;void 0===h.ya.Wa&&(h.ya.Wa=[]);if(void 0!==h.ya.Wa[b-1])throw new U(`Cannot register multiple constructors with identical number of parameters (${b-1}) for class '${h.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);h.ya.Wa[b-1]=()=>{Qc(`Cannot construct ${h.name} due to unbound types`,g)};mc([],g,(k=>{k.splice(1,0,null);h.ya.Wa[b-1]=Tc(n,k,null,e,f);return[]}));return[]}))},w:(a,b,c,d,e,f,g,h)=>{var n=Rc(c,d);b=S(b);b=Uc(b);f=W(e,f);mc([],[a],(k=>{function p(){Qc(`Cannot call ${m} due to unbound types`,n)}k=k[0];var m=`${k.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);h&&k.ya.rc.push(b);var q=k.ya.Xa,x=q[b];void 0===x||void 0===x.Ea&&x.className!==k.name&&x.Za===c-2?(p.Za=c-2,p.className=k.name,q[b]=p):(xc(q,b,m),q[b].Ea[c-2]=p);mc([],n,(u=>{u=Tc(m,u,k,f,g);void 0===q[b].Ea?(u.Za=c-2,q[b]=u):q[b].Ea[c-2]=u;return[]}));return[]}))},ia:a=>R(a,Yc),x:(a,b,c)=>{b=S(b);R(a,{name:b,fromWireType:d=>d,toWireType:(d,e)=>e,Ka:8,readValueFromPointer:Zc(b,c),La:null})},i:(a,b,c,d,e,f)=>{var g=Rc(b,c);a=S(a);a=Uc(a);e=W(d,e);yc(a,(function(){Qc(`Cannot call ${a} due to unbound types`,g)}),b-1);mc([],g,(h=>{Lc(a,Tc(a,[h[0],null].concat(h.slice(1)),null,e,f),b-1);return[]}))},h:(a,b,c,d,e)=>{b=S(b);let f=h=>h;if(0===d){var g=32-8*c;f=h=>h<<g>>>g;e=f(e)}R(a,{name:b,fromWireType:f,toWireType:(h,n)=>n,Ka:8,readValueFromPointer:oc(b,c,0!==d),La:null})},f:(a,b,c)=>{function d(f){return new e(r.buffer,B[f+4>>2],B[f>>2])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][b];c=S(c);R(a,{name:c,fromWireType:d,Ka:8,readValueFromPointer:d},{ec:!0})},ja:(a,b)=>{b=S(b);R(a,{name:b,fromWireType:function(c){for(var d=B[c>>2],e=c+4,f,g=e,h=0;h<=d;++h){var n=e+h;if(h==d||0==v[n])g=g?H(v,g,n-g):"",void 0===f?f=g:(f+=String.fromCharCode(0),f+=g),g=n+1}Oc(c);return f},toWireType:function(c,d){d instanceof ArrayBuffer&&(d=new Uint8Array(d));var e="string"==typeof d;if(!(e||ArrayBuffer.isView(d)&&1==d.BYTES_PER_ELEMENT))throw new U("Cannot pass non-string to std::string");var f=e?$a(d):d.length;var g=Bd(4+f+1),h=g+4;B[g>>2]=f;e?J(d,v,h,f+1):v.set(d,h);null!==c&&c.push(Oc,g);return g},Ka:8,readValueFromPointer:hc,La(c){Oc(c)}})},p:(a,b,c)=>{c=S(c);if(2===b){var d=ad;var e=bd;var f=cd;var g=h=>sa[h>>1]}else 4===b&&(d=dd,e=ed,f=fd,g=h=>B[h>>2]);R(a,{name:c,fromWireType:h=>{for(var n=B[h>>2],k,p=h+4,m=0;m<=n;++m){var q=h+4+m*b;if(m==n||0==g(q))p=d(p,q-p),void 0===k?k=p:(k+=String.fromCharCode(0),k+=p),p=q+b}Oc(h);return k},toWireType:(h,n)=>{if("string"!=typeof n)throw new U(`Cannot pass non-string to C++ string type ${c}`);var k=f(n),p=Bd(4+k+b);B[p>>2]=k/b;e(n,p+4,k+b);null!==h&&h.push(Oc,p);return p},Ka:8,readValueFromPointer:hc,La(h){Oc(h)}})},c:(a,b,c,d,e,f)=>{fc[a]={name:S(b),Ab:W(c,d),Pa:W(e,f),Lb:[]}},b:(a,b,c,d,e,f,g,h,n,k)=>{fc[a].Lb.push({Zb:S(b),cc:c,ab:W(d,e),bc:f,vc:g,uc:W(h,n),wc:k})},la:(a,b)=>{b=S(b);R(a,{Jc:!0,name:b,Ka:0,fromWireType:()=>{},toWireType:()=>{}})},D:()=>{Ma=!1;gd=0},g:(a,b,c)=>{a=X(a);b=hd(b,"emval::as");return jd(b,c,a)},q:(a,b,c,d)=>{a=kd[a];b=X(b);return a(null,b,c,d)},r:(a,b,c,d,e)=>{a=kd[a];b=X(b);c=md(c);return a(b,b[c],d,e)},R:Xc,ea:a=>{if(0===a)return V(globalThis);a=md(a);return V(globalThis[a])},j:(a,b,c)=>{var d=od(a,b),e=d.shift();a--;var f=Array(a);b=`methodCaller<(${d.map((g=>g.name)).join(", ")}) => ${e.name}>`;return nd(vc(b,((g,h,n,k)=>{for(var p=0,m=0;m<a;++m)f[m]=d[m].readValueFromPointer(k+p),p+=d[m].Ka;g=1===c?Reflect.construct(h,f):h.apply(g,f);return jd(e,n,g)})))},o:(a,b)=>{a=X(a);b=X(b);return V(a[b])},ba:a=>{9<a&&(Wc[a+1]+=1)},fa:(a,b)=>{a=X(a);b=X(b);return a instanceof b},H:()=>V([]),da:a=>V(md(a)),ca:()=>V({}),A:a=>{var b=X(a);gc(b);Xc(a)},n:(a,b,c)=>{a=X(a);b=X(b);c=X(c);a[b]=c},e:(a,b)=>{a=hd(a,"_emval_take_value");a=a.readValueFromPointer(b);return V(a)},K:function(a,b){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);a=new Date(1e3*a);A[b>>2]=a.getSeconds();A[b+4>>2]=a.getMinutes();A[b+8>>2]=a.getHours();A[b+12>>2]=a.getDate();A[b+16>>2]=a.getMonth();A[b+20>>2]=a.getFullYear()-1900;A[b+24>>2]=a.getDay();A[b+28>>2]=(pd(a.getFullYear())?qd:rd)[a.getMonth()]+a.getDate()-1|0;A[b+36>>2]=-60*a.getTimezoneOffset();var c=new Date(a.getFullYear(),6,1).getTimezoneOffset(),d=new Date(a.getFullYear(),0,1).getTimezoneOffset();A[b+32>>2]=(c!=d&&a.getTimezoneOffset()==Math.min(d,c))|0},L:function(a){var b=new Date(A[a+20>>2]+1900,A[a+16>>2],A[a+12>>2],A[a+8>>2],A[a+4>>2],A[a>>2],0),c=A[a+32>>2],d=b.getTimezoneOffset(),e=new Date(b.getFullYear(),6,1).getTimezoneOffset(),f=new Date(b.getFullYear(),0,1).getTimezoneOffset(),g=Math.min(f,e);0>c?A[a+32>>2]=Number(e!=f&&g==d):0<c!=(g==d)&&(e=Math.max(f,e),b.setTime(b.getTime()+6e4*((0<c?g:e)-d)));A[a+24>>2]=b.getDay();A[a+28>>2]=(pd(b.getFullYear())?qd:rd)[b.getMonth()]+b.getDate()-1|0;A[a>>2]=b.getSeconds();A[a+4>>2]=b.getMinutes();A[a+8>>2]=b.getHours();A[a+12>>2]=b.getDate();A[a+16>>2]=b.getMonth();A[a+20>>2]=b.getYear();a=b.getTime();return BigInt(isNaN(a)?-1:a/1e3)},J:function(a,b,c,d,e,f){f=-9007199254740992>f||9007199254740992<f?NaN:Number(f);try{var g=O(e);if(c&2){if(32768!==(g.node.mode&61440))throw new L(43);d&2||g.va.ob&&g.va.ob(g,v.slice(a,a+b),f,b,d)}}catch(h){if("undefined"==typeof Q||"ErrnoError"!==h.name)throw h;return-h.Da}},E:(a,b)=>{sd[a]&&(clearTimeout(sd[a].id),delete sd[a]);if(!b)return 0;var c=setTimeout((()=>{delete sd[a];vd((()=>Kd(a,performance.now())))}),b);sd[a]={id:c,Lc:b};return 0},M:(a,b,c,d)=>{var e=(new Date).getFullYear(),f=new Date(e,0,1).getTimezoneOffset();e=new Date(e,6,1).getTimezoneOffset();B[a>>2]=60*Math.max(f,e);A[b>>2]=Number(f!=e);b=g=>{var h=Math.abs(g);return`UTC${0<=g?"-":"+"}${String(Math.floor(h/60)).padStart(2,"0")}${String(h%60).padStart(2,"0")}`};a=b(f);b=b(e);e<f?(J(a,v,c,17),J(b,v,d,17)):(J(a,v,d,17),J(b,v,c,17))},N:function(a,b,c){if(!(0<=a&&3>=a))return 28;D[c>>3]=BigInt(Math.round(1e6*(0===a?Date.now():performance.now())));return 0},z:(a,b,c)=>{wd.length=0;for(var d;d=v[b++];){var e=105!=d;e&=112!=d;c+=e&&c%8?4:0;wd.push(112==d?B[c>>2]:106==d?D[c>>3]:105==d?A[c>>2]:ua[c>>3]);c+=e?8:4}return Jd[a](...wd)},X:()=>Date.now(),Z:function(a){if(Y.has(a)){var b=Y.get(a),c=Y;c.Va[a]=void 0;c.Mb.push(a);0<b.readyState&&4>b.readyState&&b.abort()}},I:()=>2147483648,k:()=>performance.now(),$:()=>!ba,G:a=>{var b=v.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){a:{var d=(Math.min(2147483648,65536*Math.ceil(Math.max(a,b+2097152/c)/65536))-ra.buffer.byteLength+65535)/65536|0;try{ra.grow(d);xa();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1},_:function(a,b,c,d,e){function f(C){q?C():vd(C)}var g=a+108,h=B[g+36>>2],n=B[g+40>>2],k=B[g+44>>2],p=B[g+48>>2],m=B[g+52>>2],q=!!(m&64),x=C=>{f((()=>{h?Pa(h)(C):b?.(C)}))},u=C=>{f((()=>{k?Pa(k)(C):d?.(C)}))},w=C=>{f((()=>{n?Pa(n)(C):c?.(C)}))},z=C=>{f((()=>{p?Pa(p)(C):e?.(C)}))},I=C=>{Ad(C,x,w,u,z)},E=(C,T)=>{Dd(C,T.response,(ka=>{f((()=>{h?Pa(h)(ka):b?.(ka)}))}),(ka=>{f((()=>{h?Pa(h)(ka):b?.(ka)}))}))},K=C=>{Ad(C,E,w,u,z)},t=cc(g+0),G=!!(m&16),F=!!(m&4);m=!!(m&32);if("EM_IDB_STORE"===t)I=B[g+84>>2],Dd(a,v.slice(I,I+B[g+88>>2]),x,w);else if("EM_IDB_DELETE"===t)Fd(a,x,w);else if(G){if(m)return 0;Ad(a,F?E:x,w,u,z)}else Ed(a,x,m?w:F?K:I);return a},P:(a,b)=>{var c=0,d=0,e;for(e of Id()){var f=b+c;B[a+d>>2]=f;c+=J(e,v,f,1/0)+1;d+=4}return 0},Q:(a,b)=>{var c=Id();B[a>>2]=c.length;a=0;for(var d of c)a+=$a(d)+1;B[b>>2]=a;return 0},v:a=>{oa=a;ud(a)},m:function(a){try{var b=O(a);Ub(b);return 0}catch(c){if("undefined"==typeof Q||"ErrnoError"!==c.name)throw c;return c.Da}},s:function(a,b,c,d){try{a:{var e=O(a);a=b;for(var f,g=b=0;g<c;g++){var h=B[a>>2],n=B[a+4>>2];a+=8;var k=e,p=h,m=n,q=f,x=r;if(0>m||0>q)throw new L(28);if(null===k.Ua)throw new L(8);if(1===(k.flags&2097155))throw new L(8);if(N(k.node.mode))throw new L(31);if(!k.va.read)throw new L(28);var u="undefined"!=typeof q;if(!u)q=k.position;else if(!k.seekable)throw new L(70);var w=k.va.read(k,x,p,m,q);u||(k.position+=w);var z=w;if(0>z){var I=-1;break a}b+=z;if(z<n)break;"undefined"!=typeof f&&(f+=z)}I=b}B[d>>2]=I;return 0}catch(E){if("undefined"==typeof Q||"ErrnoError"!==E.name)throw E;return E.Da}},O:function(a,b,c,d){b=-9007199254740992>b||9007199254740992<b?NaN:Number(b);try{if(isNaN(b))return 61;var e=O(a);Vb(e,b,c);D[d>>3]=BigInt(e.position);e.vb&&0===b&&0===c&&(e.vb=null);return 0}catch(f){if("undefined"==typeof Q||"ErrnoError"!==f.name)throw f;return f.Da}},l:function(a,b,c,d){try{a:{var e=O(a);a=b;for(var f,g=b=0;g<c;g++){var h=B[a>>2],n=B[a+4>>2];a+=8;var k=Wb(e,r,h,n,f);if(0>k){var p=-1;break a}b+=k;if(k<n)break;"undefined"!=typeof f&&(f+=k)}p=b}B[d>>2]=p;return 0}catch(m){if("undefined"==typeof Q||"ErrnoError"!==m.name)throw m;return m.Da}},aa:function(){var a=stackTrace(),b=$a(a)+1,c=Bd(b);J(a,v,c,b);return c},ma:function(){var a=self.navigator.userAgent,b=$a(a)+1,c=Bd(b);J(a,v,c,b);return c},a:ra,C:ud,F:function(a,b){try{return Wa(v.subarray(a,a+b)),0}catch(c){if("undefined"==typeof Q||"ErrnoError"!==c.name)throw c;return c.Da}}},Md=await async function(){function a(c){Md=c.exports;Oa=Md.ra;c=Md;Nc=c.oa;Oc=c.pa;Bd=c.qa;hb=c.sa;Kd=c.ta;Ba("wasm-instantiate");return Md}Aa("wasm-instantiate");var b={a:Ld};if(l.instantiateWasm)return new Promise((c=>{l.instantiateWasm(b,((d,e)=>{c(a(d,e))}))}));Da??=l.locateFile?l.locateFile?l.locateFile("Centaurus.wasm",ha):ha+"Centaurus.wasm":new URL("Centaurus.wasm",import.meta.url).href;return a((await Ga(b)).instance)}();function Nd(){function a(){l.calledRun=!0;if(!na){wa=!0;if(!l.noFSInit&&!wb){var b,c;wb=!0;b??=l.stdin;c??=l.stdout;d??=l.stderr;b?$b("/dev","stdin",b):Pb("/dev/tty","/dev/stdin");c?$b("/dev","stdout",null,c):Pb("/dev/tty","/dev/stdout");d?$b("/dev","stderr",null,d):Pb("/dev/tty1","/dev/stderr");Tb("/dev/stdin",0);Tb("/dev/stdout",1);Tb("/dev/stderr",1)}Md.na();xb=!1;pa?.(l);l.onRuntimeInitialized?.();if(l.postRun)for("function"==typeof l.postRun&&(l.postRun=[l.postRun]);l.postRun.length;){var d=l.postRun.shift();Ja.push(d)}Ia(Ja)}}if(0<ya)za=Nd;else{if(l.preRun)for("function"==typeof l.preRun&&(l.preRun=[l.preRun]);l.preRun.length;)La();Ia(Ka);0<ya?za=Nd:l.setStatus?(l.setStatus("Running..."),setTimeout((()=>{setTimeout((()=>l.setStatus("")),1);a()}),1)):a()}}if(l.preInit)for("function"==typeof l.preInit&&(l.preInit=[l.preInit]);0<l.preInit.length;)l.preInit.shift()();Nd();moduleRtn=wa?l:new Promise(((a,b)=>{pa=a;qa=b}));return moduleRtn})();export default createModule;
@@ -0,0 +1 @@
1
+ var createModule=(()=>async function(moduleArg={}){var moduleRtn;var h=moduleArg,ba="object"==typeof window,ca="undefined"!=typeof WorkerGlobalScope,n=ca&&self.name?.startsWith("em-pthread");let da;(da=h).expectedDataFileDownloads??(da.expectedDataFileDownloads=0);h.expectedDataFileDownloads++;(()=>{var a="undefined"!=typeof ENVIRONMENT_IS_WASM_WORKER&&ENVIRONMENT_IS_WASM_WORKER;"undefined"!=typeof n&&n||a||function(b){function c(l,q,p){let u;(u=h).dataFileDownloads??(u.dataFileDownloads={});fetch(l).catch((x=>Promise.reject(Error(`Network Error: ${l}`,{cause:x})))).then((x=>{if(!x.ok)return Promise.reject(Error(`${x.status}: ${x.url}`));if(!x.body&&x.arrayBuffer)return x.arrayBuffer().then(p);const w=x.body.getReader(),y=()=>w.read().then(L).catch((t=>Promise.reject(Error(`Unexpected error while handling : ${x.url} ${t}`,{cause:t})))),A=[],J=Number(x.headers.get("Content-Length")??q);let F=0;const L=({done:t,value:H})=>{if(t){var G=new Uint8Array(A.map((aa=>aa.length)).reduce(((aa,sa)=>aa+sa),0));t=0;for(var C of A)G.set(C,t),t+=C.length;p(G.buffer)}else{A.push(H);F+=H.length;h.dataFileDownloads[l]={loaded:F,total:J};t=C=0;for(G of Object.values(h.dataFileDownloads))C+=G.loaded,t+=G.total;h.setStatus?.(`Downloading data... (${C}/${t})`);return y()}};h.setStatus?.("Downloading data...");return y()}))}function d(l){console.error("package error:",l)}function e(l){function q(w,y,A){this.start=w;this.end=y;this.audio=A}function p(w){if(!w)throw"Loading data file failed."+Error().stack;if(w.constructor.name!==ArrayBuffer.name)throw"bad input to processPackageData"+Error().stack;w=new Uint8Array(w);q.prototype.xc=w;w=b.files;for(var y=0;y<w.length;++y)q.prototype.bc[w[y].filename].onload();l.removeRunDependency("datafile_/Users/mkresic/Code/"+atob("bWljcm9ibGluaw==")+atob("YmxpbmtpZA==")+"-next/packages"+atob("YmxpbmtpZA==")+"-wasm/dist/lightweight/advanced-threads/Centaurus.data")}l.FS_createPath("/",atob("bWljcm9ibGluaw=="),!0,!0);l.FS_createPath("/"+atob("bWljcm9ibGluaw=="),atob("YmxpbmtpZA=="),!0,!0);q.prototype={bc:{},open:function(w,y){this.name=y;this.bc[y]=this;l.addRunDependency(`fp ${this.name}`)},send:function(){},onload:function(){this.finish(this.xc.subarray(this.start,this.end))},finish:function(w){l.FS_createDataFile(this.name,null,w,!0,!0,!0);l.removeRunDependency(`fp ${this.name}`);this.bc[this.name]=null}};for(var u=b.files,x=0;x<u.length;++x)new q(u[x].start,u[x].end,u[x].audio||0).open("GET",u[x].filename);l.addRunDependency("datafile_/Users/mkresic/Code/"+atob("bWljcm9ibGluaw==")+atob("YmxpbmtpZA==")+"-next/packages"+atob("YmxpbmtpZA==")+"-wasm/dist/lightweight/advanced-threads/Centaurus.data");l.preloadResults??(l.preloadResults={});l.preloadResults["/Users/mkresic/Code/"+atob("bWljcm9ibGluaw==")+atob("YmxpbmtpZA==")+"-next/packages"+atob("YmxpbmtpZA==")+"-wasm/dist/lightweight/advanced-threads/Centaurus.data"]={qd:!1};m?(p(m),m=null):k=p}"object"===typeof window?window.encodeURIComponent(window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/"):"undefined"===typeof process&&"undefined"!==typeof location&&encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/");var f=h.locateFile?h.locateFile("Centaurus.data",""):"Centaurus.data",g=b.remote_package_size,k=null,m=h.getPreloadedPackage?h.getPreloadedPackage(f,g):null;m||c(f,g,(l=>{k?(k(l),k=null):m=l}),d);if(h.calledRun)e(h);else{let l;((l=h).preRun??(l.preRun=[])).push(e)}}({files:[{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_07c7ab860e77ec2e92bb822f6d62424b8595a5beb4340f6b2f7f6a4cffa5d050.strop",start:0,end:103198},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_2880751121560047e6dc571bc8ff4683aeb863886f7c0789234594ceb1e23577.strop",start:103198,end:106933},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_36d8e94f4cb46097bd6b7385f2aa91fcdee1a5fefeec59e56d1b9e82c94b00a7.strop",start:106933,end:451389},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_3b11c3ffacbbf390b932fb9a7024f1a0016f66281ea8c790f8b5903374ad89c2.strop",start:451389,end:720110},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_4336af7999b059ac75281d0d71b60dd55b33c2b22c2b2c8e2b9ab56fe6ad720d.strop",start:720110,end:1046978},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_473ac5f5e256623c0a6b282698c1f1b033b9fb5359e6aa142e9fb4a4022afe4e.strop",start:1046978,end:1053427},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_8c7727da554fd257fa758787ca3d0f517b47f6c5ba791792f516da7dd210fde8.strop",start:1053427,end:2080282},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_92fad94c6d734a880f5555b0cb6f436b91a2f3c36435d895fc0fab48772e2bbf.strop",start:2080282,end:2573416},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_a1516add883f909ebecf9b565238086f8f31bbb3e7fb2113258e3ae7c659555e.strop",start:2573416,end:2869218},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_a9623413eba53db7d5cd23301e49b37d71d77290b0b2bc2efa9cbe69cb7e2b2e.strop",start:2869218,end:6530153},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_b452fd3cd4037080cfcb4c423dba5bc58c8ceafc28427fdf9c5778fb353f088e.strop",start:6530153,end:6536649},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_f2874f5766b779c063dbe30467979163497dc4b29c43bab23d70c798ee32993a.strop",start:6536649,end:6612051},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_f479233a81ecef2708f6217ed1e29dfe437522e0cf34bd4d9ef6c39266afa9ab.strop",start:6612051,end:6737172},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_f531088a1f65a31d6ba039e09446fe24c18360080fec3792308ac01514803620.strop",start:6737172,end:7400225},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_faf688599c7e261a2a7404730f69ed029115bb0d3e7a3657731d88e701720efe.strop",start:7400225,end:7415898},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/Model_fc22f7553e3e85531eb79ef6db1474302664508cc7ae4ff0d950447b20f2f8ee.strop",start:7415898,end:7488596},{filename:"/"+atob("bWljcm9ibGluaw==")+"/"+atob("YmxpbmtpZA==")+"/ccc_lookup_table.zzip",start:7488596,end:7509065}],remote_package_size:7509065})})();h.onAbort=function(a){r("Aborted with message: "+a);try{throw new WebAssembly.RuntimeError(a)}catch(b){r("Stacktrace: "+b.stack)}};h="undefined"!==typeof h?h:{};(function(){var a="",b=!1;try{if("undefined"!==typeof self&&self.location&&self.location.href){var c=self.location.href;0===c.indexOf("blob:")&&(a=c,b=!0)}}catch(d){}b&&!h.locateFile&&(h.locateFile=function(d,e){return"Centaurus.wasm"===d?a:e+d})})();var ea="./this.program",fa=import.meta.url,ha="",ia,ja;if(ba||ca){try{ha=new URL(".",fa).href}catch{}ca&&(ja=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});ia=async a=>{a=await fetch(a,{credentials:"same-origin"});if(a.ok)return a.arrayBuffer();throw Error(a.status+" : "+a.url)}}var ka=console.log.bind(console),r=console.error.bind(console),la,ma,na=!1,oa;function v(){pa.buffer!=z.buffer&&qa()}var ra,ta,ua;if(n){var va=!1;self.onunhandledrejection=b=>{throw b.reason||b};function a(b){try{var c=b.data,d=c.ob;if("load"===d){let e=[];self.onmessage=f=>e.push(f);self.startWorker=()=>{postMessage({ob:"loaded"});for(let f of e)a(f);self.onmessage=a};for(const f of c.Ic)if(!h[f]||h[f].proxy)h[f]=(...g)=>{postMessage({ob:"callHandler",Hc:f,uc:g})},"print"==f&&(ka=h[f]),"printErr"==f&&(r=h[f]);pa=c.gd;qa();ua(c.hd)}else if("run"===d){wa(c.lb);xa(c.lb,0,0,1,0,0);ya();za(c.lb);va||(Aa(),va=!0);try{Ba(c.cd,c.Ub)}catch(e){if("unwind"!=e)throw e}}else"setimmediate"!==c.target&&("checkMailbox"===d?va&&Ca():d&&(r(`worker: received unknown command ${d}`),r(c)))}catch(e){throw Da(),e}}self.onmessage=a}var pa,z,B,D,Ea,E,I,Fa,Ga,K,Ha,Ia=!1;function qa(){var a=pa.buffer;z=new Int8Array(a);D=new Int16Array(a);B=new Uint8Array(a);Ea=new Uint16Array(a);E=new Int32Array(a);I=new Uint32Array(a);Fa=new Float32Array(a);Ga=new Float64Array(a);K=new BigInt64Array(a);Ha=new BigUint64Array(a)}function Ja(){Ia=!0;if(n)startWorker(h);else{if(!h.noFSInit&&!Ka){var a,b,c;Ka=!0;a??=h.stdin;b??=h.stdout;c??=h.stderr;a?La("/dev","stdin",a):Ma("/dev/tty","/dev/stdin");b?La("/dev","stdout",null,b):Ma("/dev/tty","/dev/stdout");c?La("/dev","stderr",null,c):Ma("/dev/tty1","/dev/stderr");Na("/dev/stdin",0);Na("/dev/stdout",1);Na("/dev/stderr",1)}Oa.wa();Pa=!1}}var Qa=0,Ra=null;function Sa(){Qa++;h.monitorRunDependencies?.(Qa)}function Ta(){Qa--;h.monitorRunDependencies?.(Qa);if(0==Qa&&Ra){var a=Ra;Ra=null;a()}}function Ua(a){h.onAbort?.(a);a="Aborted("+a+")";r(a);na=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ta?.(a);throw a}var Va;async function Wa(a){if(!la)try{var b=await ia(a);return new Uint8Array(b)}catch{}if(a==Va&&la)a=new Uint8Array(la);else if(ja)a=ja(a);else throw"both async and sync fetching of the wasm failed";return a}async function Xa(a,b){try{var c=await Wa(a);return await WebAssembly.instantiate(c,b)}catch(d){r(`failed to asynchronously prepare wasm: ${d}`),Ua(d)}}async function Ya(a){var b=Va;if(!la&&"function"==typeof WebAssembly.instantiateStreaming)try{var c=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(c,a)}catch(d){r(`wasm streaming compile failed: ${d}`),r("falling back to ArrayBuffer instantiation")}return Xa(b,a)}function Za(){$a={E:ab,N:bb,x:cb,aa:db,ba:eb,_:fb,Z:gb,y:hb,$:ib,fa:jb,d:kb,C:lb,ta:mb,pa:nb,oa:ob,A:pb,ra:qb,B:rb,j:sb,i:tb,f:ub,sa:vb,q:wb,c:xb,b:yb,ua:zb,W:Ab,L:Bb,O:Cb,G:Db,u:Eb,V:za,da:Fb,g:Gb,r:Hb,t:Ib,S:Jb,ma:Kb,k:Lb,p:Mb,ja:Nb,na:Ob,J:Pb,la:Qb,ka:Rb,va:Sb,o:Tb,e:Ub,P:Vb,Q:Wb,H:Xb,R:Yb,s:Zb,T:$b,D:ac,v:bc,ea:cc,ca:dc,ga:ec,M:fc,h:gc,z:hc,K:ic,ha:jc,X:kc,Y:lc,n:mc,m:nc,w:oc,U:pc,l:qc,ia:rc,qa:sc,a:pa,F:tc,I:uc};return{a:$a}}class vc{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}}var wc=a=>{a.terminate();a.onmessage=()=>{}},xc=a=>{for(;0<a.length;)a.shift()(h)},yc=[],Ec=a=>{0==zc.length&&(Ac(),Bc(zc[0]));var b=zc.pop();if(!b)return 6;Cc.push(b);Dc[a.lb]=b;b.lb=a.lb;b.postMessage({ob:"run",cd:a.bd,Ub:a.Ub,lb:a.lb},a.tc);return 0},M=0,N=(a,b,...c)=>{for(var d=2*c.length,e=Fc(),f=Gc(8*d),g=f>>3,k=0;k<c.length;k++){var m=c[k];"bigint"==typeof m?((v(),K)[g+2*k]=1n,(v(),K)[g+2*k+1]=m):((v(),K)[g+2*k]=0n,(v(),Ga)[g+2*k+1]=m)}a=Hc(a,0,d,f,b);Ic(e);return a};function tc(a){if(n)return N(0,1,a);oa=a;if(!(Jc||0<M)){for(var b of Cc)wc(b);for(b of zc)wc(b);zc=[];Cc=[];Dc={};h.onExit?.(a);na=!0}throw new vc(a)}function Kc(a){if(n)return N(1,0,a);mc(a)}var mc=a=>{oa=a;if(n)throw Kc(a),"unwind";tc(a)},zc=[],Cc=[],Lc=[],Dc={};function Mc(){for(var a=navigator.hardwareConcurrency;a--;)Ac();yc.push((()=>{Sa("loading-workers");Nc((()=>Ta("loading-workers")))}))}var Pc=a=>{var b=a.lb;delete Dc[b];zc.push(a);Cc.splice(Cc.indexOf(a),1);a.lb=0;Oc(b)};function ya(){Lc.forEach((a=>a()))}var Bc=a=>new Promise((b=>{a.onmessage=f=>{f=f.data;var g=f.ob;if(f.Rb&&f.Rb!=Qc()){var k=Dc[f.Rb];k?k.postMessage(f,f.tc):r(`Internal error! Worker sent a message "${g}" to target pthread ${f.Rb}, but that thread no longer exists!`)}else if("checkMailbox"===g)Ca();else if("spawnThread"===g)Ec(f);else if("cleanupThread"===g)Pc(Dc[f.dd]);else if("loaded"===g)a.loaded=!0,b(a);else if("setimmediate"===f.target)a.postMessage(f);else if("callHandler"===g)h[f.Hc](...f.uc);else g&&r(`worker sent an unknown command ${g}`)};a.onerror=f=>{r(`${"worker sent an error!"} ${f.filename}:${f.lineno}: ${f.message}`);throw f};var c=[],d=["onExit","onAbort","print","printErr"],e;for(e of d)h.propertyIsEnumerable(e)&&c.push(e);a.postMessage({ob:"load",Ic:c,gd:pa,hd:ma})}));function Nc(a){n?a():Promise.all(zc.map(Bc)).then(a)}function Ac(){if(h.mainScriptUrlOrBlob){var a=h.mainScriptUrlOrBlob;"string"!=typeof a&&(a=URL.createObjectURL(a));a=new Worker(a,{type:"module",name:"em-pthread"})}else a=new Worker(new URL("Centaurus.js",import.meta.url),{type:"module",name:"em-pthread"});zc.push(a)}var Rc=[];function wa(a){var b=(v(),I)[a+52>>2];a=(v(),I)[a+56>>2];Sc(b,b-a);Ic(b)}var Tc=[],Uc,Vc=a=>{var b=Tc[a];b||(Tc[a]=b=Uc.get(a));return b},Ba=(a,b)=>{Jc=M=0;a=Vc(a)(b);Jc||0<M?oa=a:Wc(a)},Jc=!0,ab=(a,b)=>Vc(a)(b);function Xc(a,b,c,d){return n?N(2,1,a,b,c,d):bb(a,b,c,d)}var hc=()=>"undefined"!=typeof SharedArrayBuffer,bb=(a,b,c,d)=>{if(!hc())return 6;var e=[];if(n&&0===e.length)return Xc(a,b,c,d);a={bd:c,lb:a,Ub:d,tc:e};return n?(a.ob="spawnThread",postMessage(a,e),0):Ec(a)},Zc=()=>{var a=(v(),E)[+Yc>>2];Yc+=4;return a},$c=(a,b)=>{for(var c=0,d=a.length-1;0<=d;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a},ad=a=>{var b="/"===a.charAt(0),c="/"===a.slice(-1);(a=$c(a.split("/").filter((d=>!!d)),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a},bd=a=>{var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&=b.slice(0,-1);return a+b},cd=()=>a=>a.set(crypto.getRandomValues(new Uint8Array(a.byteLength))),dd=a=>{(dd=cd())(a)},ed=(...a)=>{for(var b="",c=!1,d=a.length-1;-1<=d&&!c;d--){c=0<=d?a[d]:"/";if("string"!=typeof c)throw new TypeError("Arguments to path.resolve must be strings");if(!c)return"";b=c+"/"+b;c="/"===c.charAt(0)}b=$c(b.split("/").filter((e=>!!e)),!c).join("/");return(c?"/":"")+b||"."},fd="undefined"!=typeof TextDecoder?new TextDecoder:void 0,gd=(a,b=0,c=NaN)=>{var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.buffer&&fd)return fd.decode(a.buffer instanceof ArrayBuffer?a.subarray(b,c):a.slice(b,c));for(d="";b<c;){var e=a[b++];if(e&128){var f=a[b++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|f);else{var g=a[b++]&63;e=224==(e&240)?(e&15)<<12|f<<6|g:(e&7)<<18|f<<12|g<<6|a[b++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d},hd=[],jd=a=>{for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);127>=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b},kd=(a,b,c,d)=>{if(!(0<d))return 0;var e=c;d=c+d-1;for(var f=0;f<a.length;++f){var g=a.codePointAt(f);if(127>=g){if(c>=d)break;b[c++]=g}else if(2047>=g){if(c+1>=d)break;b[c++]=192|g>>6;b[c++]=128|g&63}else if(65535>=g){if(c+2>=d)break;b[c++]=224|g>>12;b[c++]=128|g>>6&63;b[c++]=128|g&63}else{if(c+3>=d)break;b[c++]=240|g>>18;b[c++]=128|g>>12&63;b[c++]=128|g>>6&63;b[c++]=128|g&63;f++}}b[c]=0;return c-e},ld=a=>{var b=Array(jd(a)+1);a=kd(a,b,0,b.length);b.length=a;return b},md=[];function nd(a,b){md[a]={input:[],output:[],qb:b};od(a,pd)}var pd={open(a){var b=md[a.node.Eb];if(!b)throw new O(43);a.Wa=b;a.seekable=!1},close(a){a.Wa.qb.Jb(a.Wa)},Jb(a){a.Wa.qb.Jb(a.Wa)},read(a,b,c,d){if(!a.Wa||!a.Wa.qb.nc)throw new O(60);for(var e=0,f=0;f<d;f++){try{var g=a.Wa.qb.nc(a.Wa)}catch(k){throw new O(29)}if(void 0===g&&0===e)throw new O(6);if(null===g||void 0===g)break;e++;b[c+f]=g}e&&(a.node.sb=Date.now());return e},write(a,b,c,d){if(!a.Wa||!a.Wa.qb.Zb)throw new O(60);try{for(var e=0;e<d;e++)a.Wa.qb.Zb(a.Wa,b[c+e])}catch(f){throw new O(29)}d&&(a.node.eb=a.node.cb=Date.now());return e}},qd={nc(){a:{if(!hd.length){var a=null;"undefined"!=typeof window&&"function"==typeof window.prompt&&(a=window.prompt("Input: "),null!==a&&(a+="\n"));if(!a){a=null;break a}hd=ld(a)}a=hd.shift()}return a},Zb(a,b){null===b||10===b?(ka(gd(a.output)),a.output=[]):0!=b&&a.output.push(b)},Jb(a){0<a.output?.length&&(ka(gd(a.output)),a.output=[])},Mc(){return{ld:25856,nd:5,kd:191,md:35387,jd:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},Nc(){return 0},Oc(){return[24,80]}},rd={Zb(a,b){null===b||10===b?(r(gd(a.output)),a.output=[]):0!=b&&a.output.push(b)},Jb(a){0<a.output?.length&&(r(gd(a.output)),a.output=[])}},td=a=>{a=65536*Math.ceil(a/65536);var b=sd(65536,a);b&&(v(),B).fill(0,b,b+a);return b},P={kb:null,pb(){return P.createNode(null,"/",16895,0)},createNode(a,b,c,d){if(24576===(c&61440)||4096===(c&61440))throw new O(63);P.kb||(P.kb={dir:{node:{ib:P.Ta.ib,nb:P.Ta.nb,Ab:P.Ta.Ab,Mb:P.Ta.Mb,rc:P.Ta.rc,Sb:P.Ta.Sb,sc:P.Ta.sc,ac:P.Ta.ac,Qb:P.Ta.Qb},stream:{jb:P.Ra.jb}},file:{node:{ib:P.Ta.ib,nb:P.Ta.nb},stream:{jb:P.Ra.jb,read:P.Ra.read,write:P.Ra.write,Bb:P.Ra.Bb,Nb:P.Ra.Nb}},link:{node:{ib:P.Ta.ib,nb:P.Ta.nb,Fb:P.Ta.Fb},stream:{}},hc:{node:{ib:P.Ta.ib,nb:P.Ta.nb},stream:ud}});c=vd(a,b,c,d);Q(c.mode)?(c.Ta=P.kb.dir.node,c.Ra=P.kb.dir.stream,c.Sa={}):32768===(c.mode&61440)?(c.Ta=P.kb.file.node,c.Ra=P.kb.file.stream,c.Ya=0,c.Sa=null):40960===(c.mode&61440)?(c.Ta=P.kb.link.node,c.Ra=P.kb.link.stream):8192===(c.mode&61440)&&(c.Ta=P.kb.hc.node,c.Ra=P.kb.hc.stream);c.sb=c.eb=c.cb=Date.now();a&&(a.Sa[b]=c,a.sb=a.eb=a.cb=c.sb);return c},rd(a){return a.Sa?a.Sa.subarray?a.Sa.subarray(0,a.Ya):new Uint8Array(a.Sa):new Uint8Array(0)},Ta:{ib(a){var b={};b.zc=8192===(a.mode&61440)?a.id:1;b.Kc=a.id;b.mode=a.mode;b.Sc=1;b.uid=0;b.Gc=0;b.Eb=a.Eb;b.size=Q(a.mode)?4096:32768===(a.mode&61440)?a.Ya:40960===(a.mode&61440)?a.link.length:0;b.sb=new Date(a.sb);b.eb=new Date(a.eb);b.cb=new Date(a.cb);b.vc=4096;b.wc=Math.ceil(b.size/b.vc);return b},nb(a,b){for(var c of["mode","atime","mtime","ctime"])null!=b[c]&&(a[c]=b[c]);void 0!==b.size&&(b=b.size,a.Ya!=b&&(0==b?(a.Sa=null,a.Ya=0):(c=a.Sa,a.Sa=new Uint8Array(b),c&&a.Sa.set(c.subarray(0,Math.min(b,a.Ya))),a.Ya=b)))},Ab(){throw P.kc},Mb(a,b,c,d){return P.createNode(a,b,c,d)},rc(a,b,c){try{var d=wd(b,c)}catch(f){}if(d){if(Q(a.mode))for(var e in d.Sa)throw new O(55);xd(d)}delete a.parent.Sa[a.name];b.Sa[c]=a;a.name=c;b.cb=b.eb=a.parent.cb=a.parent.eb=Date.now()},Sb(a,b){delete a.Sa[b];a.cb=a.eb=Date.now()},sc(a,b){var c=wd(a,b),d;for(d in c.Sa)throw new O(55);delete a.Sa[b];a.cb=a.eb=Date.now()},ac(a){return[".","..",...Object.keys(a.Sa)]},Qb(a,b,c){a=P.createNode(a,b,41471,0);a.link=c;return a},Fb(a){if(40960!==(a.mode&61440))throw new O(28);return a.link}},Ra:{read(a,b,c,d,e){var f=a.node.Sa;if(e>=a.node.Ya)return 0;a=Math.min(a.node.Ya-e,d);if(8<a&&f.subarray)b.set(f.subarray(e,e+a),c);else for(d=0;d<a;d++)b[c+d]=f[e+d];return a},write(a,b,c,d,e,f){b.buffer===(v(),z).buffer&&(f=!1);if(!d)return 0;a=a.node;a.eb=a.cb=Date.now();if(b.subarray&&(!a.Sa||a.Sa.subarray)){if(f)return a.Sa=b.subarray(c,c+d),a.Ya=d;if(0===a.Ya&&0===e)return a.Sa=b.slice(c,c+d),a.Ya=d;if(e+d<=a.Ya)return a.Sa.set(b.subarray(c,c+d),e),d}f=e+d;var g=a.Sa?a.Sa.length:0;g>=f||(f=Math.max(f,g*(1048576>g?2:1.125)>>>0),0!=g&&(f=Math.max(f,256)),g=a.Sa,a.Sa=new Uint8Array(f),0<a.Ya&&a.Sa.set(g.subarray(0,a.Ya),0));if(a.Sa.subarray&&b.subarray)a.Sa.set(b.subarray(c,c+d),e);else for(f=0;f<d;f++)a.Sa[e+f]=b[c+f];a.Ya=Math.max(a.Ya,e+d);return d},jb(a,b,c){1===c?b+=a.position:2===c&&32768===(a.node.mode&61440)&&(b+=a.node.Ya);if(0>b)throw new O(28);return b},Bb(a,b,c,d,e){if(32768!==(a.node.mode&61440))throw new O(43);a=a.node.Sa;if(e&2||!a||a.buffer!==(v(),z).buffer){d=!0;e=td(b);if(!e)throw new O(48);if(a){if(0<c||c+b<a.length)a=a.subarray?a.subarray(c,c+b):Array.prototype.slice.call(a,c,c+b);(v(),z).set(a,e)}}else d=!1,e=a.byteOffset;return{Va:e,rb:d}},Nb(a,b,c,d){P.Ra.write(a,b,0,d,c,!1);return 0}}},yd=async a=>{a=await ia(a);return new Uint8Array(a)},zd=[],Ad=(a,b,c,d)=>{"undefined"!=typeof Browser&&Browser.sd();var e=!1;zd.forEach((f=>{!e&&f.canHandle(b)&&(f.handle(a,b,c,d),e=!0)}));return e},Bd=(a,b)=>{var c=0;a&&(c|=365);b&&(c|=146);return c},Cd=null,Dd={},Ed=[],Fd=1,Gd=null,Ka=!1,Pa=!0,Hd={},O=class{name="ErrnoError";constructor(a){this.Za=a}},Id=class{Pb={};node=null;get object(){return this.node}set object(a){this.node=a}get flags(){return this.Pb.flags}set flags(a){this.Pb.flags=a}get position(){return this.Pb.position}set position(a){this.Pb.position=a}},Jd=class{Ta={};Ra={};Ob=365;Tb=146;Cb=null;constructor(a,b,c,d){a||=this;this.parent=a;this.pb=a.pb;this.id=Fd++;this.name=b;this.mode=c;this.Eb=d;this.sb=this.eb=this.cb=Date.now()}get read(){return(this.mode&this.Ob)===this.Ob}set read(a){a?this.mode|=this.Ob:this.mode&=~this.Ob}get write(){return(this.mode&this.Tb)===this.Tb}set write(a){a?this.mode|=this.Tb:this.mode&=~this.Tb}get Qc(){return Q(this.mode)}get Pc(){return 8192===(this.mode&61440)}};function Kd(a,b={}){if(!a)throw new O(44);b.Vb??(b.Vb=!0);"/"===a.charAt(0)||(a="//"+a);var c=0;a:for(;40>c;c++){a=a.split("/").filter((k=>!!k));for(var d=Cd,e="/",f=0;f<a.length;f++){var g=f===a.length-1;if(g&&b.parent)break;if("."!==a[f])if(".."===a[f])if(e=bd(e),d===d.parent){a=e+"/"+a.slice(f+1).join("/");continue a}else d=d.parent;else{e=ad(e+"/"+a[f]);try{d=wd(d,a[f])}catch(k){if(44===k?.Za&&g&&b.Tc)return{path:e};throw k}!d.Cb||g&&!b.Vb||(d=d.Cb.root);if(40960===(d.mode&61440)&&(!g||b.Ib)){if(!d.Ta.Fb)throw new O(52);d=d.Ta.Fb(d);"/"===d.charAt(0)||(d=bd(e)+"/"+d);a=d+"/"+a.slice(f+1).join("/");continue a}}}return{path:e,node:d}}throw new O(32)}function Ld(a){for(var b;;){if(a===a.parent)return a=a.pb.pc,b?"/"!==a[a.length-1]?`${a}/${b}`:a+b:a;b=b?`${a.name}/${b}`:a.name;a=a.parent}}function Md(a,b){for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%Gd.length}function xd(a){var b=Md(a.parent.id,a.name);if(Gd[b]===a)Gd[b]=a.wb;else for(b=Gd[b];b;){if(b.wb===a){b.wb=a.wb;break}b=b.wb}}function wd(a,b){var c=Q(a.mode)?(c=Nd(a,"x"))?c:a.Ta.Ab?0:2:54;if(c)throw new O(c);for(c=Gd[Md(a.id,b)];c;c=c.wb){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.Ta.Ab(a,b)}function vd(a,b,c,d){a=new Jd(a,b,c,d);b=Md(a.parent.id,a.name);a.wb=Gd[b];return Gd[b]=a}function Q(a){return 16384===(a&61440)}function Od(a){var b=["r","w","rw"][a&3];a&512&&(b+="w");return b}function Nd(a,b){if(Pa)return 0;if(!b.includes("r")||a.mode&292){if(b.includes("w")&&!(a.mode&146)||b.includes("x")&&!(a.mode&73))return 2}else return 2;return 0}function Pd(a,b){if(!Q(a.mode))return 54;try{return wd(a,b),20}catch(c){}return Nd(a,"wx")}function Qd(a){if(!a)throw new O(63);return a}function R(a){a=Ed[a];if(!a)throw new O(8);return a}function Rd(a,b=-1){a=Object.assign(new Id,a);if(-1==b)a:{for(b=0;4096>=b;b++)if(!Ed[b])break a;throw new O(33)}a.tb=b;return Ed[b]=a}function Sd(a,b=-1){a=Rd(a,b);a.Ra?.pd?.(a);return a}function Td(a,b){var c=undefined,d=c?null:a;c??=a.Ta.nb;Qd(c);c(d,b)}var ud={open(a){a.Ra=Dd[a.node.Eb].Ra;a.Ra.open?.(a)},jb(){throw new O(70)}};function od(a,b){Dd[a]={Ra:b}}function Ud(a,b){var c="/"===b;if(c&&Cd)throw new O(10);if(!c&&b){var d=Kd(b,{Vb:!1});b=d.path;d=d.node;if(d.Cb)throw new O(10);if(!Q(d.mode))throw new O(54)}b={type:a,ud:{},pc:b,Rc:[]};a=a.pb(b);a.pb=b;b.root=a;c?Cd=a:d&&(d.Cb=b,d.pb&&d.pb.Rc.push(b))}function Vd(a,b,c){var d=Kd(a,{parent:!0}).node;a=a&&a.match(/([^\/]+|\/)\/*$/)[1];if(!a)throw new O(28);if("."===a||".."===a)throw new O(20);var e=Pd(d,a);if(e)throw new O(e);if(!d.Ta.Mb)throw new O(63);return d.Ta.Mb(d,a,b,c)}function Wd(a,b=438){return Vd(a,b&4095|32768,0)}function Xd(a){return Vd(a,16895,0)}function Yd(a,b,c){"undefined"==typeof c&&(c=b,b=438);return Vd(a,b|8192,c)}function Ma(a,b){if(!ed(a))throw new O(44);var c=Kd(b,{parent:!0}).node;if(!c)throw new O(44);b=b&&b.match(/([^\/]+|\/)\/*$/)[1];var d=Pd(c,b);if(d)throw new O(d);if(!c.Ta.Qb)throw new O(63);c.Ta.Qb(c,b,a)}function Zd(a){var b=Kd(a,{parent:!0}).node;if(!b)throw new O(44);a=a&&a.match(/([^\/]+|\/)\/*$/)[1];var c=wd(b,a);a:{try{var d=wd(b,a)}catch(f){d=f.Za;break a}var e=Nd(b,"wx");d=e?e:Q(d.mode)?31:0}if(d)throw new O(d);if(!b.Ta.Sb)throw new O(63);if(c.Cb)throw new O(10);b.Ta.Sb(b,a);xd(c)}function $d(a,b){a=Kd(a,{Ib:!b}).node;return Qd(a.Ta.ib)(a)}function ae(a,b){a="string"==typeof a?Kd(a,{Ib:!0}).node:a;Td(a,{mode:b&4095|a.mode&-4096,cb:Date.now(),od:void 0})}function Na(a,b,c=438){if(""===a)throw new O(44);if("string"==typeof b){var d={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[b];if("undefined"==typeof d)throw Error(`Unknown file open mode: ${b}`);b=d}c=b&64?c&4095|32768:0;if("object"==typeof a)d=a;else{var e=a.endsWith("/");a=Kd(a,{Ib:!(b&131072),Tc:!0});d=a.node;a=a.path}var f=!1;if(b&64)if(d){if(b&128)throw new O(20)}else{if(e)throw new O(31);d=Vd(a,c|511,0);f=!0}if(!d)throw new O(44);8192===(d.mode&61440)&&(b&=-513);if(b&65536&&!Q(d.mode))throw new O(54);if(!f&&(e=d?40960===(d.mode&61440)?32:Q(d.mode)&&("r"!==Od(b)||b&576)?31:Nd(d,Od(b)):44))throw new O(e);if(b&512&&!f){e=d;e="string"==typeof e?Kd(e,{Ib:!0}).node:e;if(Q(e.mode))throw new O(31);if(32768!==(e.mode&61440))throw new O(28);var g=Nd(e,"w");if(g)throw new O(g);Td(e,{size:0,timestamp:Date.now()})}b&=-131713;e=Rd({node:d,path:Ld(d),flags:b,seekable:!0,position:0,Ra:d.Ra,ed:[],error:!1});e.Ra.open&&e.Ra.open(e);f&&ae(d,c&511);!h.logReadFiles||b&1||a in Hd||(Hd[a]=1);return e}function be(a){if(null===a.tb)throw new O(8);a.Wb&&(a.Wb=null);try{a.Ra.close&&a.Ra.close(a)}catch(b){throw b}finally{Ed[a.tb]=null}a.tb=null}function ce(a,b,c){if(null===a.tb)throw new O(8);if(!a.seekable||!a.Ra.jb)throw new O(70);if(0!=c&&1!=c&&2!=c)throw new O(28);a.position=a.Ra.jb(a,b,c);a.ed=[]}function de(a,b,c,d,e,f){if(0>d||0>e)throw new O(28);if(null===a.tb)throw new O(8);if(0===(a.flags&2097155))throw new O(8);if(Q(a.node.mode))throw new O(31);if(!a.Ra.write)throw new O(28);a.seekable&&a.flags&1024&&ce(a,0,2);var g="undefined"!=typeof e;if(!g)e=a.position;else if(!a.seekable)throw new O(70);b=a.Ra.write(a,b,c,d,e,f);g||(a.position+=b);return b}function ee(a,b){a="string"==typeof a?a:Ld(a);for(b=b.split("/").reverse();b.length;){var c=b.pop();if(c){var d=ad(a+"/"+c);try{Xd(d)}catch(e){if(20!=e.Za)throw e}a=d}}return d}function fe(a,b,c,d){a=ad(("string"==typeof a?a:Ld(a))+"/"+b);return Wd(a,Bd(c,d))}function ge(a,b,c,d,e,f){var g=b;a&&(a="string"==typeof a?a:Ld(a),g=b?ad(a+"/"+b):a);a=Bd(d,e);g=Wd(g,a);if(c){if("string"==typeof c){b=Array(c.length);d=0;for(e=c.length;d<e;++d)b[d]=c.charCodeAt(d);c=b}ae(g,a|146);b=Na(g,577);de(b,c,0,c.length,0,f);be(b);ae(g,a)}}function La(a,b,c,d){a=ad(("string"==typeof a?a:Ld(a))+"/"+b);b=Bd(!!c,!!d);La.oc??(La.oc=64);var e=La.oc++<<8|0;od(e,{open(f){f.seekable=!1},close(){d?.buffer?.length&&d(10)},read(f,g,k,m){for(var l=0,q=0;q<m;q++){try{var p=c()}catch(u){throw new O(29)}if(void 0===p&&0===l)throw new O(6);if(null===p||void 0===p)break;l++;g[k+q]=p}l&&(f.node.sb=Date.now());return l},write(f,g,k,m){for(var l=0;l<m;l++)try{d(g[k+l])}catch(q){throw new O(29)}m&&(f.node.eb=f.node.cb=Date.now());return l}});return Yd(a,b,e)}function he(a){if(!(a.Pc||a.Qc||a.link||a.Sa)){if("undefined"!=typeof XMLHttpRequest)throw Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");try{a.Sa=ja(a.url),a.Ya=a.Sa.length}catch(b){throw new O(29)}}}function ie(a,b,c,d,e){function f(p,u,x,w,y){p=p.node.Sa;if(y>=p.length)return 0;w=Math.min(p.length-y,w);if(p.slice)for(var A=0;A<w;A++)u[x+A]=p[y+A];else for(A=0;A<w;A++)u[x+A]=p.get(y+A);return w}class g{Yb=!1;Hb=[];zb=void 0;ec=0;dc=0;get(p){if(!(p>this.length-1||0>p)){var u=p%this.ic;return this.zb(p/this.ic|0)[u]}}Xc(p){this.zb=p}fc(){var p=new XMLHttpRequest;p.open("HEAD",c,!1);p.send(null);if(!(200<=p.status&&300>p.status||304===p.status))throw Error("Couldn't load "+c+". Status: "+p.status);var u=Number(p.getResponseHeader("Content-length")),x,w=(x=p.getResponseHeader("Accept-Ranges"))&&"bytes"===x;p=(x=p.getResponseHeader("Content-Encoding"))&&"gzip"===x;var y=1048576;w||(y=u);var A=this;A.Xc((J=>{var F=J*y,L=(J+1)*y-1;L=Math.min(L,u-1);if("undefined"==typeof A.Hb[J]){var t=A.Hb;if(F>L)throw Error("invalid range ("+F+", "+L+") or no bytes requested!");if(L>u-1)throw Error("only "+u+" bytes available! programmer error!");var H=new XMLHttpRequest;H.open("GET",c,!1);u!==y&&H.setRequestHeader("Range","bytes="+F+"-"+L);H.responseType="arraybuffer";H.overrideMimeType&&H.overrideMimeType("text/plain; charset=x-user-defined");H.send(null);if(!(200<=H.status&&300>H.status||304===H.status))throw Error("Couldn't load "+c+". Status: "+H.status);F=void 0!==H.response?new Uint8Array(H.response||[]):ld(H.responseText||"");t[J]=F}if("undefined"==typeof A.Hb[J])throw Error("doXHR failed!");return A.Hb[J]}));if(p||!u)y=u=1,y=u=this.zb(0).length,ka("LazyFiles on gzip forces download of the whole file when length is accessed");this.ec=u;this.dc=y;this.Yb=!0}get length(){this.Yb||this.fc();return this.ec}get ic(){this.Yb||this.fc();return this.dc}}if("undefined"!=typeof XMLHttpRequest){if(!ca)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var k=new g;var m=void 0}else m=c,k=void 0;var l=fe(a,b,d,e);k?l.Sa=k:m&&(l.Sa=null,l.url=m);Object.defineProperties(l,{Ya:{get:function(){return this.Sa.length}}});var q={};Object.keys(l.Ra).forEach((p=>{var u=l.Ra[p];q[p]=(...x)=>{he(l);return u(...x)}}));q.read=(p,u,x,w,y)=>{he(l);return f(p,u,x,w,y)};q.Bb=(p,u,x)=>{he(l);var w=td(u);if(!w)throw new O(48);f(p,(v(),z),w,u,x);return{Va:w,rb:!0}};l.Ra=q;return l}var S={},T=(a,b)=>a?gd((v(),B),a,b):"";function je(a,b,c){if("/"===b.charAt(0))return b;a=-100===a?"/":R(a).path;if(0==b.length){if(!c)throw new O(44);return a}return a+"/"+b}function ke(a,b){(v(),E)[a>>2]=b.zc;(v(),E)[a+4>>2]=b.mode;(v(),I)[a+8>>2]=b.Sc;(v(),E)[a+12>>2]=b.uid;(v(),E)[a+16>>2]=b.Gc;(v(),E)[a+20>>2]=b.Eb;(v(),K)[a+24>>3]=BigInt(b.size);(v(),E)[a+32>>2]=4096;(v(),E)[a+36>>2]=b.wc;var c=b.sb.getTime(),d=b.eb.getTime(),e=b.cb.getTime();(v(),K)[a+40>>3]=BigInt(Math.floor(c/1e3));(v(),I)[a+48>>2]=c%1e3*1e6;(v(),K)[a+56>>3]=BigInt(Math.floor(d/1e3));(v(),I)[a+64>>2]=d%1e3*1e6;(v(),K)[a+72>>3]=BigInt(Math.floor(e/1e3));(v(),I)[a+80>>2]=e%1e3*1e6;(v(),K)[a+88>>3]=BigInt(b.Kc);return 0}var Yc=void 0;function cb(a,b,c){if(n)return N(3,1,a,b,c);Yc=c;try{var d=R(a);switch(b){case 0:var e=Zc();if(0>e)break;for(;Ed[e];)e++;return Sd(d,e).tb;case 1:case 2:return 0;case 3:return d.flags;case 4:return e=Zc(),d.flags|=e,0;case 12:return e=Zc(),(v(),D)[e+0>>1]=2,0;case 13:case 14:return 0}return-28}catch(f){if("undefined"==typeof S||"ErrnoError"!==f.name)throw f;return-f.Za}}function db(a,b){if(n)return N(4,1,a,b);try{var c=R(a),d=c.node,e=c.Ra.ib;a=e?c:d;e??=d.Ta.ib;Qd(e);var f=e(a);return ke(b,f)}catch(g){if("undefined"==typeof S||"ErrnoError"!==g.name)throw g;return-g.Za}}function eb(a,b,c){if(n)return N(5,1,a,b,c);Yc=c;try{var d=R(a);switch(b){case 21509:return d.Wa?0:-59;case 21505:if(!d.Wa)return-59;if(d.Wa.qb.Mc){a=[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];var e=Zc();(v(),E)[e>>2]=25856;(v(),E)[e+4>>2]=5;(v(),E)[e+8>>2]=191;(v(),E)[e+12>>2]=35387;for(var f=0;32>f;f++)(v(),z)[e+f+17]=a[f]||0}return 0;case 21510:case 21511:case 21512:return d.Wa?0:-59;case 21506:case 21507:case 21508:if(!d.Wa)return-59;if(d.Wa.qb.Nc)for(e=Zc(),v(),v(),v(),v(),a=[],f=0;32>f;f++)a.push((v(),z)[e+f+17]);return 0;case 21519:if(!d.Wa)return-59;e=Zc();return(v(),E)[e>>2]=0;case 21520:return d.Wa?-28:-59;case 21531:e=Zc();if(!d.Ra.Lc)throw new O(59);return d.Ra.Lc(d,b,e);case 21523:if(!d.Wa)return-59;d.Wa.qb.Oc&&(f=[24,80],e=Zc(),(v(),D)[e>>1]=f[0],(v(),D)[e+2>>1]=f[1]);return 0;case 21524:return d.Wa?0:-59;case 21515:return d.Wa?0:-59;default:return-28}}catch(g){if("undefined"==typeof S||"ErrnoError"!==g.name)throw g;return-g.Za}}function fb(a,b){if(n)return N(6,1,a,b);try{return a=T(a),ke(b,$d(a,!0))}catch(c){if("undefined"==typeof S||"ErrnoError"!==c.name)throw c;return-c.Za}}function gb(a,b,c,d){if(n)return N(7,1,a,b,c,d);try{b=T(b);var e=d&256;b=je(a,b,d&4096);return ke(c,e?$d(b,!0):$d(b))}catch(f){if("undefined"==typeof S||"ErrnoError"!==f.name)throw f;return-f.Za}}function hb(a,b,c,d){if(n)return N(8,1,a,b,c,d);Yc=d;try{b=T(b);b=je(a,b);var e=d?Zc():0;return Na(b,c,e).tb}catch(f){if("undefined"==typeof S||"ErrnoError"!==f.name)throw f;return-f.Za}}function ib(a,b){if(n)return N(9,1,a,b);try{return a=T(a),ke(b,$d(a))}catch(c){if("undefined"==typeof S||"ErrnoError"!==c.name)throw c;return-c.Za}}var jb=()=>Ua(""),le={},me=a=>{for(;a.length;){var b=a.pop();a.pop()(b)}};function ne(a){return this.fromWireType((v(),I)[a>>2])}var oe={},pe={},qe={},re=class extends Error{constructor(a){super(a);this.name="InternalError"}},te=(a,b,c)=>{function d(k){k=c(k);if(k.length!==a.length)throw new re("Mismatched type converter count");for(var m=0;m<a.length;++m)se(a[m],k[m])}a.forEach((k=>qe[k]=b));var e=Array(b.length),f=[],g=0;b.forEach(((k,m)=>{pe.hasOwnProperty(k)?e[m]=pe[k]:(f.push(k),oe.hasOwnProperty(k)||(oe[k]=[]),oe[k].push((()=>{e[m]=pe[k];++g;g===f.length&&d(e)})))}));0===f.length&&d(e)},kb=a=>{var b=le[a];delete le[a];var c=b.$b,d=b.mb,e=b.lc,f=e.map((g=>g.Fc)).concat(e.map((g=>g.Zc)));te([a],f,(g=>{var k={};e.forEach(((m,l)=>{var q=g[l],p=m.zb,u=m.Ec,x=g[l+e.length],w=m.Yc,y=m.$c;k[m.Bc]={read:A=>q.fromWireType(p(u,A)),write:(A,J)=>{var F=[];w(y,A,x.toWireType(F,J));me(F)},optional:g[l].optional}}));return[{name:b.name,fromWireType:m=>{var l={},q;for(q in k)l[q]=k[q].read(m);d(m);return l},toWireType:(m,l)=>{for(var q in k)if(!(q in l||k[q].optional))throw new TypeError(`Missing field: "${q}"`);var p=c();for(q in k)k[q].write(p,l[q]);null!==m&&m.push(d,p);return p},gb:ue,readValueFromPointer:ne,hb:d}]}))},U=a=>{for(var b="";;){var c=(v(),B)[a++];if(!c)return b;b+=String.fromCharCode(c)}},V=class extends Error{constructor(a){super(a);this.name="BindingError"}};function ve(a,b,c={}){var d=b.name;if(!a)throw new V(`type "${d}" must have a positive integer typeid pointer`);if(pe.hasOwnProperty(a)){if(c.Jc)return;throw new V(`Cannot register type '${d}' twice`)}pe[a]=b;delete qe[a];oe.hasOwnProperty(a)&&(b=oe[a],delete oe[a],b.forEach((e=>e())))}function se(a,b,c={}){return ve(a,b,c)}var we=(a,b,c)=>{switch(b){case 1:return c?d=>(v(),z)[d]:d=>(v(),B)[d];case 2:return c?d=>(v(),D)[d>>1]:d=>(v(),Ea)[d>>1];case 4:return c?d=>(v(),E)[d>>2]:d=>(v(),I)[d>>2];case 8:return c?d=>(v(),K)[d>>3]:d=>(v(),Ha)[d>>3];default:throw new TypeError(`invalid integer width (${b}): ${a}`)}},lb=(a,b,c,d,e)=>{b=U(b);d=0n===d;let f=g=>g;if(d){const g=8*c;f=k=>BigInt.asUintN(g,k);e=f(e)}se(a,{name:b,fromWireType:f,toWireType:(g,k)=>{"number"==typeof k&&(k=BigInt(k));return k},gb:ue,readValueFromPointer:we(b,c,!d),hb:null})},ue=8,mb=(a,b,c,d)=>{b=U(b);se(a,{name:b,fromWireType:function(e){return!!e},toWireType:function(e,f){return f?c:d},gb:ue,readValueFromPointer:function(e){return this.fromWireType((v(),B)[e])},hb:null})},xe=a=>{throw new V(a.Qa.Xa.Ua.name+" instance already deleted")},ye=!1,ze=()=>{},Ae=a=>{if("undefined"===typeof FinalizationRegistry)return Ae=b=>b,a;ye=new FinalizationRegistry((b=>{b=b.Qa;--b.count.value;0===b.count.value&&(b.ab?b.fb.mb(b.ab):b.Xa.Ua.mb(b.Va))}));Ae=b=>{var c=b.Qa;c.ab&&ye.register(b,{Qa:c},b);return b};ze=b=>{ye.unregister(b)};return Ae(a)},Be=[];function Ce(){}var De=(a,b)=>Object.defineProperty(b,"name",{value:a}),Ee={},Fe=(a,b,c)=>{if(void 0===a[b].$a){var d=a[b];a[b]=function(...e){if(!a[b].$a.hasOwnProperty(e.length))throw new V(`Function '${c}' called with an invalid number of arguments (${e.length}) - expects one of (${a[b].$a})!`);return a[b].$a[e.length].apply(this,e)};a[b].$a=[];a[b].$a[d.xb]=d}},Ge=(a,b,c)=>{if(h.hasOwnProperty(a)){if(void 0===c||void 0!==h[a].$a&&void 0!==h[a].$a[c])throw new V(`Cannot register public name '${a}' twice`);Fe(h,a,a);if(h[a].$a.hasOwnProperty(c))throw new V(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`);h[a].$a[c]=b}else h[a]=b,h[a].xb=c},He=a=>{a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?`_${a}`:a};function Ie(a,b,c,d,e,f,g,k){this.name=a;this.constructor=b;this.vb=c;this.mb=d;this.bb=e;this.Cc=f;this.Gb=g;this.Ac=k;this.Vc=[]}var Je=(a,b,c)=>{for(;b!==c;){if(!b.Gb)throw new V(`Expected null or instance of ${c.name}, got an instance of ${b.name}`);a=b.Gb(a);b=b.bb}return a},Ke=a=>{if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a};function Le(a,b){if(null===b){if(this.Xb)throw new V(`null is not a valid ${this.name}`);return 0}if(!b.Qa)throw new V(`Cannot pass "${Ke(b)}" as a ${this.name}`);if(!b.Qa.Va)throw new V(`Cannot pass deleted object as a pointer of type ${this.name}`);return Je(b.Qa.Va,b.Qa.Xa.Ua,this.Ua)}function Me(a,b){if(null===b){if(this.Xb)throw new V(`null is not a valid ${this.name}`);if(this.Lb){var c=this.$b();null!==a&&a.push(this.mb,c);return c}return 0}if(!b||!b.Qa)throw new V(`Cannot pass "${Ke(b)}" as a ${this.name}`);if(!b.Qa.Va)throw new V(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.Kb&&b.Qa.Xa.Kb)throw new V(`Cannot convert argument of type ${b.Qa.fb?b.Qa.fb.name:b.Qa.Xa.name} to parameter type ${this.name}`);c=Je(b.Qa.Va,b.Qa.Xa.Ua,this.Ua);if(this.Lb){if(void 0===b.Qa.ab)throw new V("Passing raw pointer to smart pointer is illegal");switch(this.ad){case 0:if(b.Qa.fb===this)c=b.Qa.ab;else throw new V(`Cannot convert argument of type ${b.Qa.fb?b.Qa.fb.name:b.Qa.Xa.name} to parameter type ${this.name}`);break;case 1:c=b.Qa.ab;break;case 2:if(b.Qa.fb===this)c=b.Qa.ab;else{var d=b.clone();c=this.Wc(c,Ne((()=>d["delete"]())));null!==a&&a.push(this.mb,c)}break;default:throw new V("Unsupporting sharing policy")}}return c}function Oe(a,b){if(null===b){if(this.Xb)throw new V(`null is not a valid ${this.name}`);return 0}if(!b.Qa)throw new V(`Cannot pass "${Ke(b)}" as a ${this.name}`);if(!b.Qa.Va)throw new V(`Cannot pass deleted object as a pointer of type ${this.name}`);if(b.Qa.Xa.Kb)throw new V(`Cannot convert argument of type ${b.Qa.Xa.name} to parameter type ${this.name}`);return Je(b.Qa.Va,b.Qa.Xa.Ua,this.Ua)}var Pe=(a,b,c)=>{if(b===c)return a;if(void 0===c.bb)return null;a=Pe(a,b,c.bb);return null===a?null:c.Ac(a)},Qe={},Re=(a,b)=>{if(void 0===b)throw new V("ptr should not be undefined");for(;a.bb;)b=a.Gb(b),a=a.bb;return Qe[b]},Se=(a,b)=>{if(!b.Xa||!b.Va)throw new re("makeClassHandle requires ptr and ptrType");if(!!b.fb!==!!b.ab)throw new re("Both smartPtrType and smartPtr must be specified");b.count={value:1};return Ae(Object.create(a,{Qa:{value:b,writable:!0}}))};function Te(a,b,c,d,e,f,g,k,m,l,q){this.name=a;this.Ua=b;this.Xb=c;this.Kb=d;this.Lb=e;this.Uc=f;this.ad=g;this.qc=k;this.$b=m;this.Wc=l;this.mb=q;e||void 0!==b.bb?this.toWireType=Me:(this.toWireType=d?Le:Oe,this.hb=null)}var Ue=(a,b,c)=>{if(!h.hasOwnProperty(a))throw new re("Replacing nonexistent public symbol");void 0!==h[a].$a&&void 0!==c?h[a].$a[c]=b:(h[a]=b,h[a].xb=c)},W=(a,b)=>{a=U(a);var c=Vc(b);if("function"!=typeof c)throw new V(`unknown function pointer with signature ${a}: ${b}`);return c};class Ve extends Error{}var Ye=a=>{a=We(a);var b=U(a);Xe(a);return b},Ze=(a,b)=>{function c(f){e[f]||pe[f]||(qe[f]?qe[f].forEach(c):(d.push(f),e[f]=!0))}var d=[],e={};b.forEach(c);throw new Ve(`${a}: `+d.map(Ye).join([", "]))},nb=(a,b,c,d,e,f,g,k,m,l,q,p,u)=>{q=U(q);f=W(e,f);k&&=W(g,k);l&&=W(m,l);u=W(p,u);var x=He(q);Ge(x,(function(){Ze(`Cannot construct ${q} due to unbound types`,[d])}));te([a,b,c],d?[d]:[],(w=>{w=w[0];if(d){var y=w.Ua;var A=y.vb}else A=Ce.prototype;w=De(q,(function(...t){if(Object.getPrototypeOf(this)!==J)throw new V(`Use 'new' to construct ${q}`);if(void 0===F.ub)throw new V(`${q} has no accessible constructor`);var H=F.ub[t.length];if(void 0===H)throw new V(`Tried to invoke ctor of ${q} with invalid number of parameters (${t.length}) - expected (${Object.keys(F.ub).toString()}) parameters instead!`);return H.apply(this,t)}));var J=Object.create(A,{constructor:{value:w}});w.prototype=J;var F=new Ie(q,w,J,u,y,f,k,l);if(F.bb){var L;(L=F.bb).cc??(L.cc=[]);F.bb.cc.push(F)}y=new Te(q,F,!0,!1,!1);L=new Te(q+"*",F,!1,!1,!1);A=new Te(q+" const*",F,!1,!0,!1);Ee[a]={pointerType:L,yc:A};Ue(x,w);return[y,L,A]}))},$e=(a,b)=>{for(var c=[],d=0;d<a;d++)c.push((v(),I)[b+4*d>>2]);return c};function af(a){for(var b=1;b<a.length;++b)if(null!==a[b]&&void 0===a[b].hb)return!0;return!1}function bf(a,b,c,d,e){var f=b.length;if(2>f)throw new V("argTypes array size mismatch! Must at least get return value and 'this' types!");var g=null!==b[1]&&null!==c,k=af(b),m="void"!==b[0].name,l=f-2,q=Array(l),p=[],u=[];return De(a,(function(...x){u.length=0;p.length=g?2:1;p[0]=e;if(g){var w=b[1].toWireType(u,this);p[1]=w}for(var y=0;y<l;++y)q[y]=b[y+2].toWireType(u,x[y]),p.push(q[y]);x=d(...p);if(k)me(u);else for(y=g?1:2;y<b.length;y++){var A=1===y?w:q[y-2];null!==b[y].hb&&b[y].hb(A)}w=m?b[0].fromWireType(x):void 0;return w}))}var ob=(a,b,c,d,e,f)=>{var g=$e(b,c);e=W(d,e);te([],[a],(k=>{k=k[0];var m=`constructor ${k.name}`;void 0===k.Ua.ub&&(k.Ua.ub=[]);if(void 0!==k.Ua.ub[b-1])throw new V(`Cannot register multiple constructors with identical number of parameters (${b-1}) for class '${k.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);k.Ua.ub[b-1]=()=>{Ze(`Cannot construct ${k.name} due to unbound types`,g)};te([],g,(l=>{l.splice(1,0,null);k.Ua.ub[b-1]=bf(m,l,null,e,f);return[]}));return[]}))},cf=a=>{a=a.trim();const b=a.indexOf("(");return-1===b?a:a.slice(0,b)},pb=(a,b,c,d,e,f,g,k)=>{var m=$e(c,d);b=U(b);b=cf(b);f=W(e,f);te([],[a],(l=>{function q(){Ze(`Cannot call ${p} due to unbound types`,m)}l=l[0];var p=`${l.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);k&&l.Ua.Vc.push(b);var u=l.Ua.vb,x=u[b];void 0===x||void 0===x.$a&&x.className!==l.name&&x.xb===c-2?(q.xb=c-2,q.className=l.name,u[b]=q):(Fe(u,b,p),u[b].$a[c-2]=q);te([],m,(w=>{w=bf(p,w,l,f,g);void 0===u[b].$a?(w.xb=c-2,u[b]=w):u[b].$a[c-2]=w;return[]}));return[]}))},df=[],ef=[0,1,,1,null,1,!0,1,!1,1],Jb=a=>{9<a&&0===--ef[a+1]&&(ef[a]=void 0,df.push(a))},X=a=>{if(!a)throw new V(`Cannot use deleted val. handle = ${a}`);return ef[a]},Ne=a=>{switch(a){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:const b=df.pop()||ef.length;ef[b]=a;ef[b+1]=1;return b}},ff={name:"emscripten::val",fromWireType:a=>{var b=X(a);Jb(a);return b},toWireType:(a,b)=>Ne(b),gb:ue,readValueFromPointer:ne,hb:null},qb=a=>se(a,ff),gf=(a,b)=>{switch(b){case 4:return function(c){return this.fromWireType((v(),Fa)[c>>2])};case 8:return function(c){return this.fromWireType((v(),Ga)[c>>3])};default:throw new TypeError(`invalid float width (${b}): ${a}`)}},rb=(a,b,c)=>{b=U(b);se(a,{name:b,fromWireType:d=>d,toWireType:(d,e)=>e,gb:ue,readValueFromPointer:gf(b,c),hb:null})},sb=(a,b,c,d,e,f)=>{var g=$e(b,c);a=U(a);a=cf(a);e=W(d,e);Ge(a,(function(){Ze(`Cannot call ${a} due to unbound types`,g)}),b-1);te([],g,(k=>{Ue(a,bf(a,[k[0],null].concat(k.slice(1)),null,e,f),b-1);return[]}))},tb=(a,b,c,d,e)=>{b=U(b);let f=k=>k;if(0===d){var g=32-8*c;f=k=>k<<g>>>g;e=f(e)}se(a,{name:b,fromWireType:f,toWireType:(k,m)=>m,gb:ue,readValueFromPointer:we(b,c,0!==d),hb:null})},ub=(a,b,c)=>{function d(f){var g=(v(),I)[f>>2];f=(v(),I)[f+4>>2];return new e((v(),z).buffer,f,g)}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][b];c=U(c);se(a,{name:c,fromWireType:d,gb:ue,readValueFromPointer:d},{Jc:!0})},Y=(a,b,c)=>kd(a,(v(),B),b,c),vb=(a,b)=>{b=U(b);se(a,{name:b,fromWireType:function(c){for(var d=(v(),I)[c>>2],e=c+4,f,g=e,k=0;k<=d;++k){var m=e+k;if(k==d||0==(v(),B)[m])g=T(g,m-g),void 0===f?f=g:(f+=String.fromCharCode(0),f+=g),g=m+1}Xe(c);return f},toWireType:function(c,d){d instanceof ArrayBuffer&&(d=new Uint8Array(d));var e="string"==typeof d;if(!(e||ArrayBuffer.isView(d)&&1==d.BYTES_PER_ELEMENT))throw new V("Cannot pass non-string to std::string");var f=e?jd(d):d.length;var g=hf(4+f+1),k=g+4;(v(),I)[g>>2]=f;e?Y(d,k,f+1):(v(),B).set(d,k);null!==c&&c.push(Xe,g);return g},gb:ue,readValueFromPointer:ne,hb(c){Xe(c)}})},jf="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,kf=(a,b)=>{a>>=1;b=a+b/2;for(var c=a;!(c>=b)&&(v(),Ea)[c];)++c;if(16<c-a&&jf)return jf.decode((v(),Ea).buffer instanceof ArrayBuffer?(v(),Ea).subarray(a,c):(v(),Ea).slice(a,c));for(c="";!(a>=b);++a){var d=(v(),Ea)[a];if(0==d)break;c+=String.fromCharCode(d)}return c},lf=(a,b,c)=>{c??=2147483647;if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e<c;++e){var f=a.charCodeAt(e);(v(),D)[b>>1]=f;b+=2}(v(),D)[b>>1]=0;return b-d},mf=a=>2*a.length,nf=(a,b)=>{for(var c="",d=0;!(d>=b/4);d++){var e=(v(),E)[a+4*d>>2];if(!e)break;c+=String.fromCodePoint(e)}return c},of=(a,b,c)=>{c??=2147483647;if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e<a.length;++e){var f=a.codePointAt(e);65535<f&&e++;(v(),E)[b>>2]=f;b+=4;if(b+4>c)break}(v(),E)[b>>2]=0;return b-d},pf=a=>{for(var b=0,c=0;c<a.length;++c)65535<a.codePointAt(c)&&c++,b+=4;return b},wb=(a,b,c)=>{c=U(c);if(2===b){var d=kf;var e=lf;var f=mf;var g=k=>(v(),Ea)[k>>1]}else 4===b&&(d=nf,e=of,f=pf,g=k=>(v(),I)[k>>2]);se(a,{name:c,fromWireType:k=>{for(var m=(v(),I)[k>>2],l,q=k+4,p=0;p<=m;++p){var u=k+4+p*b;if(p==m||0==g(u))q=d(q,u-q),void 0===l?l=q:(l+=String.fromCharCode(0),l+=q),q=u+b}Xe(k);return l},toWireType:(k,m)=>{if("string"!=typeof m)throw new V(`Cannot pass non-string to C++ string type ${c}`);var l=f(m),q=hf(4+l+b);(v(),I)[q>>2]=l/b;e(m,q+4,l+b);null!==k&&k.push(Xe,q);return q},gb:ue,readValueFromPointer:ne,hb(k){Xe(k)}})},xb=(a,b,c,d,e,f)=>{le[a]={name:U(b),$b:W(c,d),mb:W(e,f),lc:[]}},yb=(a,b,c,d,e,f,g,k,m,l)=>{le[a].lc.push({Bc:U(b),Fc:c,zb:W(d,e),Ec:f,Zc:g,Yc:W(k,m),$c:l})},zb=(a,b)=>{b=U(b);se(a,{td:!0,name:b,gb:0,fromWireType:()=>{},toWireType:()=>{}})},Ab=a=>{xa(a,!ca,1,!ba,5242880,!1);ya()},qf=a=>{if(!(a instanceof vc||"unwind"==a))throw a},rf=a=>{if(!na)try{if(a(),!(Jc||0<M))try{n?Wc(oa):mc(oa)}catch(b){qf(b)}}catch(b){qf(b)}},za=a=>{"function"===typeof Atomics.fd&&(Atomics.fd((v(),E),a>>2,a).value.then(Ca),a+=128,Atomics.store((v(),E),a>>2,1))},Ca=()=>{var a=Qc();a&&(za(a),rf(sf))},Bb=(a,b)=>{a==b?setTimeout(Ca):n?postMessage({Rb:a,ob:"checkMailbox"}):(a=Dc[a])&&a.postMessage({ob:"checkMailbox"})},tf=[],Cb=(a,b,c,d,e)=>{d/=2;tf.length=d;c=e>>3;for(e=0;e<d;e++)(v(),K)[c+2*e]?tf[e]=(v(),K)[c+2*e+1]:tf[e]=(v(),Ga)[c+2*e+1];return(b?uf[b]:vf[a])(...tf)},Db=()=>{Jc=!1;M=0},Eb=a=>{n?postMessage({ob:"cleanupThread",dd:a}):Pc(Dc[a])},Fb=()=>{},wf=(a,b)=>{var c=pe[a];if(void 0===c)throw a=`${b} has unknown type ${Ye(a)}`,new V(a);return c},xf=(a,b,c)=>{var d=[];a=a.toWireType(d,c);d.length&&((v(),I)[b>>2]=Ne(d));return a},Gb=(a,b,c)=>{a=X(a);b=wf(b,"emval::as");return xf(b,c,a)},yf=[],Hb=(a,b,c,d)=>{a=yf[a];b=X(b);return a(null,b,c,d)},zf={},Af=a=>{var b=zf[a];return void 0===b?U(a):b},Ib=(a,b,c,d,e)=>{a=yf[a];b=X(b);c=Af(c);return a(b,b[c],d,e)},Kb=a=>{if(0===a)return Ne(globalThis);a=Af(a);return Ne(globalThis[a])},Bf=a=>{var b=yf.length;yf.push(a);return b},Cf=(a,b)=>{for(var c=Array(a),d=0;d<a;++d)c[d]=wf((v(),I)[b+4*d>>2],`parameter ${d}`);return c},Lb=(a,b,c)=>{var d=Cf(a,b),e=d.shift();a--;var f=Array(a);b=`methodCaller<(${d.map((g=>g.name)).join(", ")}) => ${e.name}>`;return Bf(De(b,((g,k,m,l)=>{for(var q=0,p=0;p<a;++p)f[p]=d[p].readValueFromPointer(l+q),q+=d[p].gb;g=1===c?Reflect.construct(k,f):k.apply(g,f);return xf(e,m,g)})))},Mb=(a,b)=>{a=X(a);b=X(b);return Ne(a[b])},Nb=a=>{9<a&&(ef[a+1]+=1)},Ob=(a,b)=>{a=X(a);b=X(b);return a instanceof b},Pb=()=>Ne([]),Qb=a=>Ne(Af(a)),Rb=()=>Ne({}),Sb=a=>{var b=X(a);me(b);Jb(a)},Tb=(a,b,c)=>{a=X(a);b=X(b);c=X(c);a[b]=c},Ub=(a,b)=>{a=wf(a,"_emval_take_value");a=a.readValueFromPointer(b);return Ne(a)},Df=a=>0===a%4&&(0!==a%100||0===a%400),Ef=[0,31,60,91,121,152,182,213,244,274,305,335],Ff=[0,31,59,90,120,151,181,212,243,273,304,334];function Vb(a,b){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);a=new Date(1e3*a);(v(),E)[b>>2]=a.getSeconds();(v(),E)[b+4>>2]=a.getMinutes();(v(),E)[b+8>>2]=a.getHours();(v(),E)[b+12>>2]=a.getDate();(v(),E)[b+16>>2]=a.getMonth();(v(),E)[b+20>>2]=a.getFullYear()-1900;(v(),E)[b+24>>2]=a.getDay();var c=(Df(a.getFullYear())?Ef:Ff)[a.getMonth()]+a.getDate()-1|0;(v(),E)[b+28>>2]=c;(v(),E)[b+36>>2]=-60*a.getTimezoneOffset();c=new Date(a.getFullYear(),6,1).getTimezoneOffset();var d=new Date(a.getFullYear(),0,1).getTimezoneOffset();a=(c!=d&&a.getTimezoneOffset()==Math.min(d,c))|0;(v(),E)[b+32>>2]=a}function Wb(a){var b=new Date((v(),E)[a+20>>2]+1900,(v(),E)[a+16>>2],(v(),E)[a+12>>2],(v(),E)[a+8>>2],(v(),E)[a+4>>2],(v(),E)[a>>2],0),c=(v(),E)[a+32>>2],d=b.getTimezoneOffset(),e=new Date(b.getFullYear(),6,1).getTimezoneOffset(),f=new Date(b.getFullYear(),0,1).getTimezoneOffset(),g=Math.min(f,e);0>c?(v(),E)[a+32>>2]=Number(e!=f&&g==d):0<c!=(g==d)&&(e=Math.max(f,e),b.setTime(b.getTime()+6e4*((0<c?g:e)-d)));(v(),E)[a+24>>2]=b.getDay();c=(Df(b.getFullYear())?Ef:Ff)[b.getMonth()]+b.getDate()-1|0;(v(),E)[a+28>>2]=c;(v(),E)[a>>2]=b.getSeconds();(v(),E)[a+4>>2]=b.getMinutes();(v(),E)[a+8>>2]=b.getHours();(v(),E)[a+12>>2]=b.getDate();(v(),E)[a+16>>2]=b.getMonth();(v(),E)[a+20>>2]=b.getYear();a=b.getTime();return BigInt(isNaN(a)?-1:a/1e3)}var Gf={},gc=()=>performance.timeOrigin+performance.now();function Xb(a,b){if(n)return N(12,1,a,b);Gf[a]&&(clearTimeout(Gf[a].id),delete Gf[a]);if(!b)return 0;var c=setTimeout((()=>{delete Gf[a];rf((()=>Hf(a,performance.timeOrigin+performance.now())))}),b);Gf[a]={id:c,vd:b};return 0}var Yb=(a,b,c,d)=>{var e=(new Date).getFullYear(),f=new Date(e,0,1).getTimezoneOffset();e=new Date(e,6,1).getTimezoneOffset();var g=Math.max(f,e);(v(),I)[a>>2]=60*g;(v(),E)[b>>2]=Number(f!=e);b=k=>{var m=Math.abs(k);return`UTC${0<=k?"-":"+"}${String(Math.floor(m/60)).padStart(2,"0")}${String(m%60).padStart(2,"0")}`};a=b(f);b=b(e);e<f?(Y(a,c,17),Y(b,d,17)):(Y(a,d,17),Y(b,c,17))},cc=()=>Date.now(),If=1;function $b(a,b,c){if(!(0<=a&&3>=a))return 28;if(0===a)a=Date.now();else if(If)a=performance.timeOrigin+performance.now();else return 52;a=Math.round(1e6*a);(v(),K)[c>>3]=BigInt(a);return 0}var Jf=[],ac=(a,b,c)=>{Jf.length=0;for(var d;d=(v(),B)[b++];){var e=105!=d;e&=112!=d;c+=e&&c%8?4:0;Jf.push(112==d?(v(),I)[c>>2]:106==d?(v(),K)[c>>3]:105==d?(v(),E)[c>>2]:(v(),Ga)[c>>3]);c+=e?8:4}return uf[a](...Jf)},bc=()=>{},dc=()=>{M+=1;throw"unwind"};function ec(a){if(Kf.has(a)){var b=Kf.get(a),c=Kf;c.rb[a]=void 0;c.mc.push(a);0<b.readyState&&4>b.readyState&&b.abort()}}var fc=()=>2147483648,ic=a=>{var b=(v(),B).length;a>>>=0;if(a<=b||2147483648<a)return!1;for(var c=1;4>=c;c*=2){a:{var d=(Math.min(2147483648,65536*Math.ceil(Math.max(a,b+2097152/c)/65536))-pa.buffer.byteLength+65535)/65536|0;try{pa.grow(d);qa();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1};function Lf(a){var b=Kf,c=b.mc.pop()||b.rb.length;b.rb[c]=a;return c}class Mf{rb=[void 0];mc=[];get(a){return this.rb[a]}has(a){return void 0!==this.rb[a]}}function Nf(a,b){try{var c=indexedDB.open("emscripten_filesystem",1)}catch(d){b(d);return}c.onupgradeneeded=d=>{d=d.target.result;d.objectStoreNames.contains("FILES")&&d.deleteObjectStore("FILES");d.createObjectStore("FILES")};c.onsuccess=d=>a(d.target.result);c.onerror=b}var Kf,Of;function Pf(a,b,c,d,e){function f(){var G=0,C=0;t.response&&J&&0===(v(),I)[a+12>>2]&&(C=t.response.byteLength);0<C&&(G=hf(C),(v(),B).set(new Uint8Array(t.response),G));(v(),I)[a+12>>2]=G;Z(a+16,C);Z(a+24,0);(G=t.response?t.response.byteLength:0)&&Z(a+32,G);(v(),D)[a+40>>1]=t.readyState;(v(),D)[a+42>>1]=t.status;t.statusText&&Y(t.statusText,a+44,64);L&&(G=Qf(t.responseURL),(v(),I)[a+200>>2]=G)}var g=(v(),I)[a+8>>2];if(g){var k=T(g),m=a+108,l=T(m+0);l||="GET";var q=(v(),I)[m+56>>2],p=(v(),I)[m+68>>2],u=(v(),I)[m+72>>2];g=(v(),I)[m+76>>2];var x=(v(),I)[m+80>>2],w=(v(),I)[m+84>>2],y=(v(),I)[m+88>>2],A=(v(),I)[m+52>>2],J=!!(A&1),F=!!(A&2),L=!!(A&64);p=p?T(p):void 0;u=u?T(u):void 0;var t=new XMLHttpRequest;t.withCredentials=!!(v(),B)[m+60];t.open(l,k,!L,p,u);L||(t.timeout=q);t.wd=k;t.responseType="arraybuffer";x&&(k=T(x),t.overrideMimeType(k));if(g)for(;;){m=(v(),I)[g>>2];if(!m)break;k=(v(),I)[g+4>>2];if(!k)break;g+=8;m=T(m);k=T(k);t.setRequestHeader(m,k)}var H=Lf(t);(v(),I)[a>>2]=H;g=w&&y?(v(),B).slice(w,w+y):null;t.onload=G=>{Kf.has(H)&&(f(),200<=t.status&&300>t.status?b?.(a,t,G):c?.(a,t,G))};t.onerror=G=>{Kf.has(H)&&(f(),c?.(a,t,G))};t.ontimeout=G=>{Kf.has(H)&&c?.(a,t,G)};t.onprogress=G=>{if(Kf.has(H)){var C=J&&F&&t.response?t.response.byteLength:0,aa=0;0<C&&J&&F&&(aa=hf(C),(v(),B).set(new Uint8Array(t.response),aa));(v(),I)[a+12>>2]=aa;Z(a+16,C);Z(a+24,G.loaded-C);Z(a+32,G.total);(v(),D)[a+40>>1]=t.readyState;3<=t.readyState&&0===t.status&&0<G.loaded&&(t.status=200);(v(),D)[a+42>>1]=t.status;t.statusText&&Y(t.statusText,a+44,64);d?.(a,t,G);Xe(aa)}};t.onreadystatechange=G=>{if(Kf.has(H)){(v(),D)[a+40>>1]=t.readyState;2<=t.readyState&&((v(),D)[a+42>>1]=t.status);if(!L&&2===t.readyState&&0<t.responseURL.length){var C=Qf(t.responseURL);(v(),I)[a+200>>2]=C}e?.(a,t,G)}else--M};try{t.send(g)}catch(G){c?.(a,t,G)}}else c(a,0,"no url specified!")}var Z=(a,b)=>{(v(),I)[a>>2]=b;var c=(v(),I)[a>>2];(v(),I)[a+4>>2]=(b-c)/4294967296},Qf=a=>{var b=jd(a)+1,c=hf(b);c&&Y(a,c,b);return c};function Rf(a,b,c,d){var e=Of;if(e){var f=a+108;(f=(v(),I)[f+64>>2])||(f=(v(),I)[a+8>>2]);var g=T(f);try{var k=e.transaction(["FILES"],"readwrite").objectStore("FILES").put(b,g);k.onsuccess=()=>{(v(),D)[a+40>>1]=4;(v(),D)[a+42>>1]=200;Y("OK",a+44,64);c(a,0,g)};k.onerror=m=>{(v(),D)[a+40>>1]=4;(v(),D)[a+42>>1]=413;Y("Payload Too Large",a+44,64);d(a,0,m)}}catch(m){d(a,0,m)}}else d(a,0,"IndexedDB not available!")}function Sf(a,b,c){var d=Of;if(d){var e=a+108;(e=(v(),I)[e+64>>2])||(e=(v(),I)[a+8>>2]);e=T(e);try{var f=d.transaction(["FILES"],"readonly").objectStore("FILES").get(e);f.onsuccess=g=>{if(g.target.result){g=g.target.result;var k=g.byteLength||g.length,m=hf(k);(v(),B).set(new Uint8Array(g),m);(v(),I)[a+12>>2]=m;Z(a+16,k);Z(a+24,0);Z(a+32,k);(v(),D)[a+40>>1]=4;(v(),D)[a+42>>1]=200;Y("OK",a+44,64);b(a,0,g)}else(v(),D)[a+40>>1]=4,(v(),D)[a+42>>1]=404,Y("Not Found",a+44,64),c(a,0,"no data")};f.onerror=g=>{(v(),D)[a+40>>1]=4;(v(),D)[a+42>>1]=404;Y("Not Found",a+44,64);c(a,0,g)}}catch(g){c(a,0,g)}}else c(a,0,"IndexedDB not available!")}function Tf(a,b,c){var d=Of;if(d){var e=a+108;(e=(v(),I)[e+64>>2])||(e=(v(),I)[a+8>>2]);e=T(e);try{var f=d.transaction(["FILES"],"readwrite").objectStore("FILES").delete(e);f.onsuccess=g=>{g=g.target.result;(v(),I)[a+12>>2]=0;Z(a+16,0);Z(a+24,0);Z(a+32,0);(v(),D)[a+40>>1]=4;(v(),D)[a+42>>1]=200;Y("OK",a+44,64);b(a,0,g)};f.onerror=g=>{(v(),D)[a+40>>1]=4;(v(),D)[a+42>>1]=404;Y("Not Found",a+44,64);c(a,0,g)}}catch(g){c(a,0,g)}}else c(a,0,"IndexedDB not available!")}function jc(a,b,c,d,e){function f(C){u?C():rf(C)}M+=1;var g=a+108,k=(v(),I)[g+36>>2],m=(v(),I)[g+40>>2],l=(v(),I)[g+44>>2],q=(v(),I)[g+48>>2],p=(v(),I)[g+52>>2],u=!!(p&64),x=C=>{--M;f((()=>{k?Vc(k)(C):b?.(C)}))},w=C=>{f((()=>{l?Vc(l)(C):d?.(C)}))},y=C=>{--M;f((()=>{m?Vc(m)(C):c?.(C)}))},A=C=>{f((()=>{q?Vc(q)(C):e?.(C)}))},J=C=>{Pf(C,x,y,w,A)},F=(C,aa)=>{Rf(C,aa.response,(sa=>{--M;f((()=>{k?Vc(k)(sa):b?.(sa)}))}),(sa=>{--M;f((()=>{k?Vc(k)(sa):b?.(sa)}))}))},L=C=>{Pf(C,F,y,w,A)},t=T(g+0),H=!!(p&16),G=!!(p&4);p=!!(p&32);if("EM_IDB_STORE"===t)J=(v(),I)[g+84>>2],g=(v(),I)[g+88>>2],Rf(a,(v(),B).slice(J,J+g),x,y);else if("EM_IDB_DELETE"===t)Tf(a,x,y);else if(H){if(p)return 0;Pf(a,G?F:x,y,w,A)}else Sf(a,x,p?y:G?L:J);return a}var Uf={},Wf=()=>{if(!Vf){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.language||"C").replace("-","_")+".UTF-8",_:ea||"./this.program"},b;for(b in Uf)void 0===Uf[b]?delete a[b]:a[b]=Uf[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);Vf=c}return Vf},Vf;function kc(a,b){if(n)return N(13,1,a,b);var c=0,d=0,e;for(e of Wf()){var f=b+c;(v(),I)[a+d>>2]=f;c+=Y(e,f,1/0)+1;d+=4}return 0}function lc(a,b){if(n)return N(14,1,a,b);var c=Wf();(v(),I)[a>>2]=c.length;a=0;for(var d of c)a+=jd(d)+1;(v(),I)[b>>2]=a;return 0}function nc(a){if(n)return N(15,1,a);try{var b=R(a);be(b);return 0}catch(c){if("undefined"==typeof S||"ErrnoError"!==c.name)throw c;return c.Za}}function oc(a,b,c,d){if(n)return N(16,1,a,b,c,d);try{a:{var e=R(a);a=b;for(var f,g=b=0;g<c;g++){var k=(v(),I)[a>>2],m=(v(),I)[a+4>>2];a+=8;var l=e,q=(v(),z),p=k,u=m,x=f;if(0>u||0>x)throw new O(28);if(null===l.tb)throw new O(8);if(1===(l.flags&2097155))throw new O(8);if(Q(l.node.mode))throw new O(31);if(!l.Ra.read)throw new O(28);var w="undefined"!=typeof x;if(!w)x=l.position;else if(!l.seekable)throw new O(70);var y=l.Ra.read(l,q,p,u,x);w||(l.position+=y);var A=y;if(0>A){var J=-1;break a}b+=A;if(A<m)break;"undefined"!=typeof f&&(f+=A)}J=b}(v(),I)[d>>2]=J;return 0}catch(F){if("undefined"==typeof S||"ErrnoError"!==F.name)throw F;return F.Za}}function pc(a,b,c,d){if(n)return N(17,1,a,b,c,d);b=-9007199254740992>b||9007199254740992<b?NaN:Number(b);try{if(isNaN(b))return 61;var e=R(a);ce(e,b,c);(v(),K)[d>>3]=BigInt(e.position);e.Wb&&0===b&&0===c&&(e.Wb=null);return 0}catch(f){if("undefined"==typeof S||"ErrnoError"!==f.name)throw f;return f.Za}}function qc(a,b,c,d){if(n)return N(18,1,a,b,c,d);try{a:{var e=R(a);a=b;for(var f,g=b=0;g<c;g++){var k=(v(),I)[a>>2],m=(v(),I)[a+4>>2];a+=8;var l=de(e,(v(),z),k,m,f);if(0>l){var q=-1;break a}b+=l;if(l<m)break;"undefined"!=typeof f&&(f+=l)}q=b}(v(),I)[d>>2]=q;return 0}catch(p){if("undefined"==typeof S||"ErrnoError"!==p.name)throw p;return p.Za}}function uc(a,b){try{return dd((v(),B).subarray(a,a+b)),0}catch(c){if("undefined"==typeof S||"ErrnoError"!==c.name)throw c;return c.Za}}n||Mc();Gd=Array(4096);Ud(P,"/");Xd("/tmp");Xd("/home");Xd("/home/web_user");(function(){Xd("/dev");od(259,{read:()=>0,write:(d,e,f,g)=>g,jb:()=>0});Yd("/dev/null",259);nd(1280,qd);nd(1536,rd);Yd("/dev/tty",1280);Yd("/dev/tty1",1536);var a=new Uint8Array(1024),b=0,c=()=>{0===b&&(dd(a),b=a.byteLength);return a[--b]};La("/dev","random",c);La("/dev","urandom",c);Xd("/dev/shm");Xd("/dev/shm/tmp")})();(function(){Xd("/proc");var a=Xd("/proc/self");Xd("/proc/self/fd");Ud({pb(){var b=vd(a,"fd",16895,73);b.Ra={jb:P.Ra.jb};b.Ta={Ab(c,d){c=+d;var e=R(c);c={parent:null,pb:{pc:"fake"},Ta:{Fb:()=>e.path},id:c+1};return c.parent=c},ac(){return Array.from(Ed.entries()).filter((([,c])=>c)).map((([c])=>c.toString()))}};return b}},"/proc/self/fd")})();P.kc=new O(44);P.kc.stack="<generic error, no stack>";(()=>{let a=Ce.prototype;Object.assign(a,{isAliasOf:function(c){if(!(this instanceof Ce&&c instanceof Ce))return!1;var d=this.Qa.Xa.Ua,e=this.Qa.Va;c.Qa=c.Qa;var f=c.Qa.Xa.Ua;for(c=c.Qa.Va;d.bb;)e=d.Gb(e),d=d.bb;for(;f.bb;)c=f.Gb(c),f=f.bb;return d===f&&e===c},clone:function(){this.Qa.Va||xe(this);if(this.Qa.Db)return this.Qa.count.value+=1,this;var c=Ae,d=Object,e=d.create,f=Object.getPrototypeOf(this),g=this.Qa;c=c(e.call(d,f,{Qa:{value:{count:g.count,yb:g.yb,Db:g.Db,Va:g.Va,Xa:g.Xa,ab:g.ab,fb:g.fb}}}));c.Qa.count.value+=1;c.Qa.yb=!1;return c},["delete"](){this.Qa.Va||xe(this);if(this.Qa.yb&&!this.Qa.Db)throw new V("Object already scheduled for deletion");ze(this);var c=this.Qa;--c.count.value;0===c.count.value&&(c.ab?c.fb.mb(c.ab):c.Xa.Ua.mb(c.Va));this.Qa.Db||(this.Qa.ab=void 0,this.Qa.Va=void 0)},isDeleted:function(){return!this.Qa.Va},deleteLater:function(){this.Qa.Va||xe(this);if(this.Qa.yb&&!this.Qa.Db)throw new V("Object already scheduled for deletion");Be.push(this);this.Qa.yb=!0;return this}});const b=Symbol.dispose;b&&(a[b]=a["delete"])})();Object.assign(Te.prototype,{Dc(a){this.qc&&(a=this.qc(a));return a},jc(a){this.mb?.(a)},gb:ue,readValueFromPointer:ne,fromWireType:function(a){function b(){return this.Lb?Se(this.Ua.vb,{Xa:this.Uc,Va:c,fb:this,ab:a}):Se(this.Ua.vb,{Xa:this,Va:a})}var c=this.Dc(a);if(!c)return this.jc(a),null;var d=Re(this.Ua,c);if(void 0!==d){if(0===d.Qa.count.value)return d.Qa.Va=c,d.Qa.ab=a,d.clone();d=d.clone();this.jc(a);return d}d=this.Ua.Cc(c);d=Ee[d];if(!d)return b.call(this);d=this.Kb?d.yc:d.pointerType;var e=Pe(c,this.Ua,d.Ua);return null===e?b.call(this):this.Lb?Se(d.Ua.vb,{Xa:d,Va:e,fb:this,ab:a}):Se(d.Ua.vb,{Xa:d,Va:e})}});Kf=new Mf;n||(Sa("library_fetch_init"),Nf((a=>{Of=a;Ta("library_fetch_init")}),(()=>{Of=!1;Ta("library_fetch_init")})));n||(pa=h.wasmMemory?h.wasmMemory:new WebAssembly.Memory({initial:(h.INITIAL_MEMORY||209715200)/65536,maximum:32768,shared:!0}),qa());h.noExitRuntime&&(Jc=h.noExitRuntime);h.preloadPlugins&&(zd=h.preloadPlugins);h.print&&(ka=h.print);h.printErr&&(r=h.printErr);h.wasmBinary&&(la=h.wasmBinary);h.thisProgram&&(ea=h.thisProgram);h.addRunDependency=Sa;h.removeRunDependency=Ta;h.FS_createPreloadedFile=(a,b,c,d,e,f,g,k,m,l)=>{function q(x){function w(y){l?.();k||ge(a,b,y,d,e,m);f?.();Ta(u)}Ad(x,p,w,(()=>{g?.();Ta(u)}))||w(x)}var p=b?ed(ad(a+"/"+b)):a,u=`cp ${p}`;Sa(u);"string"==typeof c?yd(c).then(q,g):q(c)};h.FS_unlink=(...a)=>Zd(...a);h.FS_createPath=(...a)=>ee(...a);h.FS_createDevice=(...a)=>La(...a);h.FS_createDataFile=(...a)=>ge(...a);h.FS_createLazyFile=(...a)=>ie(...a);var vf=[tc,Kc,Xc,cb,db,eb,fb,gb,hb,ib,function(a,b,c,d,e,f,g){if(n)return N(10,1,a,b,c,d,e,f,g);e=-9007199254740992>e||9007199254740992<e?NaN:Number(e);try{var k=R(d);if(0!==(b&2)&&0===(c&2)&&2!==(k.flags&2097155))throw new O(2);if(1===(k.flags&2097155))throw new O(2);if(!k.Ra.Bb)throw new O(43);if(!a)throw new O(28);var m=k.Ra.Bb(k,a,e,b,c);var l=m.Va;(v(),E)[f>>2]=m.rb;(v(),I)[g>>2]=l;return 0}catch(q){if("undefined"==typeof S||"ErrnoError"!==q.name)throw q;return-q.Za}},function(a,b,c,d,e,f){if(n)return N(11,1,a,b,c,d,e,f);f=-9007199254740992>f||9007199254740992<f?NaN:Number(f);try{var g=R(e);if(c&2){c=f;if(32768!==(g.node.mode&61440))throw new O(43);if(!(d&2)){var k=(v(),B).slice(a,a+b);g.Ra.Nb&&g.Ra.Nb(g,k,c,b,d)}}}catch(m){if("undefined"==typeof S||"ErrnoError"!==m.name)throw m;return-m.Za}},Xb,kc,lc,nc,oc,pc,qc],uf={318262:(a,b,c,d)=>{a=T(a);b=T(b);c=T(c);d=T(d);throw Error(a+b+c+d)},318478:(a,b)=>{a=T(a);b=T(b);throw Error(a+b)}};function Zb(){var a=h.allowedThreads;return a?a:navigator.hardwareConcurrency}function sc(){var a=self.navigator.userAgent,b=jd(a)+1,c=hf(b);Y(a,c,b);return c}function rc(){var a=stackTrace(),b=jd(a)+1,c=hf(b);Y(a,c,b);return c}var We,Aa,Xe,hf,Qc,sd,xa,Da,Hc,Oc,Wc,Hf,sf,Sc,Ic,Gc,Fc;h.__ZN2MB2NN28LinearDefragmentingAllocator10Allocation4nullE=99264;var $a,Oa=await async function(){function a(c,d){Oa=c.exports;Lc.push(Oa.Ca);Uc=Oa.Ea;ma=d;c=Oa;We=c.xa;Aa=c.ya;Xe=c.za;hf=c.Aa;Qc=c.Ba;sd=c.Da;xa=c.Fa;Da=c.Ga;Hc=c.Ha;Oc=c.Ia;Wc=c.Ja;Hf=c.Ka;sf=c.La;Sc=c.Ma;Ic=c.Na;Gc=c.Oa;Fc=c.Pa;Ta("wasm-instantiate");return Oa}Sa("wasm-instantiate");var b=Za();if(h.instantiateWasm)return new Promise((c=>{h.instantiateWasm(b,((d,e)=>{c(a(d,e))}))}));if(n)return new Promise((c=>{ua=d=>{var e=new WebAssembly.Instance(d,Za());c(a(e,d))}}));Va??=h.locateFile?h.locateFile?h.locateFile("Centaurus.wasm",ha):ha+"Centaurus.wasm":new URL("Centaurus.wasm",import.meta.url).href;return function(c){return a(c.instance,c.module)}(await Ya(b))}();function Xf(){function a(){h.calledRun=!0;if(!na&&(Ja(),ra?.(h),h.onRuntimeInitialized?.(),!n)){if(h.postRun)for("function"==typeof h.postRun&&(h.postRun=[h.postRun]);h.postRun.length;){var b=h.postRun.shift();Rc.push(b)}xc(Rc)}}if(0<Qa)Ra=Xf;else if(n)ra?.(h),Ja();else{if(h.preRun)for("function"==typeof h.preRun&&(h.preRun=[h.preRun]);h.preRun.length;)yc.push(h.preRun.shift());xc(yc);0<Qa?Ra=Xf:h.setStatus?(h.setStatus("Running..."),setTimeout((()=>{setTimeout((()=>h.setStatus("")),1);a()}),1)):a()}}if(h.preInit)for("function"==typeof h.preInit&&(h.preInit=[h.preInit]);0<h.preInit.length;)h.preInit.shift()();Xf();moduleRtn=Ia?h:new Promise(((a,b)=>{ra=a;ta=b}));return moduleRtn})();export default createModule;var isPthread=globalThis.self?.name?.startsWith("em-pthread");isPthread&&createModule();