piper-demo / js /espeakng.worker.js
Michael Hansen
First working version
0c6d0de
var EspeakModule = (() => {
var _scriptName = import.meta.url;
return (
async function(moduleArg = {}) {
var moduleRtn;
var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){const{createRequire}=await import("module");var require=createRequire(import.meta.url)}var Module=typeof Module!="undefined"?Module:{};Module["expectedDataFileDownloads"]??=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="js/espeakng.worker.data";var REMOTE_PACKAGE_BASE="espeakng.worker.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(isNode){require("fs").readFile(packageName,(err,contents)=>{if(err){errback(err)}else{callback(contents.buffer)}});return}Module["dataFileDownloads"]??={};fetch(packageName).catch(cause=>Promise.reject(new Error(`Network Error: ${packageName}`,{cause}))).then(response=>{if(!response.ok){return Promise.reject(new Error(`${response.status}: ${response.url}`))}if(!response.body&&response.arrayBuffer){return response.arrayBuffer().then(callback)}const reader=response.body.getReader();const iterate=()=>reader.read().then(handleChunk).catch(cause=>Promise.reject(new Error(`Unexpected error while handling : ${response.url} ${cause}`,{cause})));const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")??packageSize);let loaded=0;const handleChunk=({done,value})=>{if(!done){chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]?.(`Downloading data... (${totalLoaded}/${totalSize})`);return iterate()}else{const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}callback(packageData.buffer)}};Module["setStatus"]?.("Downloading data...");return iterate()})}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,data=>{if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(Module){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","usr",true,true);Module["FS_createPath"]("/usr","share",true,true);Module["FS_createPath"]("/usr/share","espeak-ng-data",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data","lang",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","aav",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","art",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","azc",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","bat",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","bnt",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","ccs",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","cel",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","cus",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","dra",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","esx",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","gmq",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","gmw",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","grk",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","inc",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","ine",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","ira",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","iro",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","itc",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","jpx",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","map",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","miz",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","myn",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","poz",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","roa",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","sai",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","sem",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","sit",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","tai",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","trk",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","urj",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","zle",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","zls",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/lang","zlw",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data","voices",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/voices","!v",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/voices","asia",true,true);Module["FS_createPath"]("/usr/share/espeak-ng-data/voices","mb",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"](`fp ${this.name}`)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"](`fp ${that.name}`);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i<files.length;++i){new DataRequest(files[i]["start"],files[i]["end"],files[i]["audio"]||0).open("GET",files[i]["filename"])}function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);DataRequest.prototype.byteArray=byteArray;var files=metadata["files"];for(var i=0;i<files.length;++i){DataRequest.prototype.requests[files[i].filename].onload()}Module["removeRunDependency"]("datafile_js/espeakng.worker.data")}Module["addRunDependency"]("datafile_js/espeakng.worker.data");Module["preloadResults"]??={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS(Module)}else{(Module["preRun"]??=[]).push(runWithFS)}}loadPackage({files:[{filename:"/usr/share/espeak-ng-data/af_dict",start:0,end:121473},{filename:"/usr/share/espeak-ng-data/am_dict",start:121473,end:185351},{filename:"/usr/share/espeak-ng-data/an_dict",start:185351,end:192042},{filename:"/usr/share/espeak-ng-data/ar_dict",start:192042,end:670207},{filename:"/usr/share/espeak-ng-data/as_dict",start:670207,end:675212},{filename:"/usr/share/espeak-ng-data/az_dict",start:675212,end:718985},{filename:"/usr/share/espeak-ng-data/ba_dict",start:718985,end:721083},{filename:"/usr/share/espeak-ng-data/be_dict",start:721083,end:723735},{filename:"/usr/share/espeak-ng-data/bg_dict",start:723735,end:810786},{filename:"/usr/share/espeak-ng-data/bn_dict",start:810786,end:900765},{filename:"/usr/share/espeak-ng-data/bpy_dict",start:900765,end:905991},{filename:"/usr/share/espeak-ng-data/bs_dict",start:905991,end:953059},{filename:"/usr/share/espeak-ng-data/ca_dict",start:953059,end:1263390},{filename:"/usr/share/espeak-ng-data/chr_dict",start:1263390,end:1266249},{filename:"/usr/share/espeak-ng-data/cmn_dict",start:1266249,end:2832596},{filename:"/usr/share/espeak-ng-data/cs_dict",start:2832596,end:2883051},{filename:"/usr/share/espeak-ng-data/cv_dict",start:2883051,end:2884395},{filename:"/usr/share/espeak-ng-data/cy_dict",start:2884395,end:2927525},{filename:"/usr/share/espeak-ng-data/da_dict",start:2927525,end:3172812},{filename:"/usr/share/espeak-ng-data/de_dict",start:3172812,end:3242089},{filename:"/usr/share/espeak-ng-data/el_dict",start:3242089,end:3314930},{filename:"/usr/share/espeak-ng-data/en_dict",start:3314930,end:3483134},{filename:"/usr/share/espeak-ng-data/eo_dict",start:3483134,end:3487800},{filename:"/usr/share/espeak-ng-data/es_dict",start:3487800,end:3537085},{filename:"/usr/share/espeak-ng-data/et_dict",start:3537085,end:3581348},{filename:"/usr/share/espeak-ng-data/eu_dict",start:3581348,end:3630189},{filename:"/usr/share/espeak-ng-data/fa_dict",start:3630189,end:3923908},{filename:"/usr/share/espeak-ng-data/fi_dict",start:3923908,end:3967836},{filename:"/usr/share/espeak-ng-data/fo_dict",start:3967836,end:9637104},{filename:"/usr/share/espeak-ng-data/fr_dict",start:9637104,end:9700831},{filename:"/usr/share/espeak-ng-data/ga_dict",start:9700831,end:9753504},{filename:"/usr/share/espeak-ng-data/gd_dict",start:9753504,end:9802625},{filename:"/usr/share/espeak-ng-data/gn_dict",start:9802625,end:9805873},{filename:"/usr/share/espeak-ng-data/grc_dict",start:9805873,end:9809306},{filename:"/usr/share/espeak-ng-data/gu_dict",start:9809306,end:9891786},{filename:"/usr/share/espeak-ng-data/hak_dict",start:9891786,end:9895121},{filename:"/usr/share/espeak-ng-data/haw_dict",start:9895121,end:9897564},{filename:"/usr/share/espeak-ng-data/he_dict",start:9897564,end:9908229},{filename:"/usr/share/espeak-ng-data/hi_dict",start:9908229,end:10000372},{filename:"/usr/share/espeak-ng-data/hr_dict",start:10000372,end:10049760},{filename:"/usr/share/espeak-ng-data/ht_dict",start:10049760,end:10051563},{filename:"/usr/share/espeak-ng-data/hu_dict",start:10051563,end:10231572},{filename:"/usr/share/espeak-ng-data/hy_dict",start:10231572,end:10293835},{filename:"/usr/share/espeak-ng-data/ia_dict",start:10293835,end:10625110},{filename:"/usr/share/espeak-ng-data/id_dict",start:10625110,end:10668568},{filename:"/usr/share/espeak-ng-data/intonations",start:10668568,end:10670880},{filename:"/usr/share/espeak-ng-data/io_dict",start:10670880,end:10673045},{filename:"/usr/share/espeak-ng-data/is_dict",start:10673045,end:10717399},{filename:"/usr/share/espeak-ng-data/it_dict",start:10717399,end:10871807},{filename:"/usr/share/espeak-ng-data/ja_dict",start:10871807,end:10919459},{filename:"/usr/share/espeak-ng-data/jbo_dict",start:10919459,end:10921702},{filename:"/usr/share/espeak-ng-data/ka_dict",start:10921702,end:11009477},{filename:"/usr/share/espeak-ng-data/kaa_dict",start:11009477,end:11011310},{filename:"/usr/share/espeak-ng-data/kk_dict",start:11011310,end:11013169},{filename:"/usr/share/espeak-ng-data/kl_dict",start:11013169,end:11016007},{filename:"/usr/share/espeak-ng-data/kn_dict",start:11016007,end:11103835},{filename:"/usr/share/espeak-ng-data/ko_dict",start:11103835,end:11151358},{filename:"/usr/share/espeak-ng-data/kok_dict",start:11151358,end:11157752},{filename:"/usr/share/espeak-ng-data/ku_dict",start:11157752,end:11160017},{filename:"/usr/share/espeak-ng-data/ky_dict",start:11160017,end:11224994},{filename:"/usr/share/espeak-ng-data/la_dict",start:11224994,end:11228800},{filename:"/usr/share/espeak-ng-data/lang/aav/vi",start:11228800,end:11228911},{filename:"/usr/share/espeak-ng-data/lang/aav/vi-VN-x-central",start:11228911,end:11229054},{filename:"/usr/share/espeak-ng-data/lang/aav/vi-VN-x-south",start:11229054,end:11229196},{filename:"/usr/share/espeak-ng-data/lang/art/eo",start:11229196,end:11229237},{filename:"/usr/share/espeak-ng-data/lang/art/ia",start:11229237,end:11229266},{filename:"/usr/share/espeak-ng-data/lang/art/io",start:11229266,end:11229316},{filename:"/usr/share/espeak-ng-data/lang/art/jbo",start:11229316,end:11229385},{filename:"/usr/share/espeak-ng-data/lang/art/lfn",start:11229385,end:11229520},{filename:"/usr/share/espeak-ng-data/lang/art/piqd",start:11229520,end:11229576},{filename:"/usr/share/espeak-ng-data/lang/art/py",start:11229576,end:11229716},{filename:"/usr/share/espeak-ng-data/lang/art/qdb",start:11229716,end:11229773},{filename:"/usr/share/espeak-ng-data/lang/art/qya",start:11229773,end:11229946},{filename:"/usr/share/espeak-ng-data/lang/art/sjn",start:11229946,end:11230121},{filename:"/usr/share/espeak-ng-data/lang/art/xex",start:11230121,end:11230224},{filename:"/usr/share/espeak-ng-data/lang/azc/nci",start:11230224,end:11230338},{filename:"/usr/share/espeak-ng-data/lang/bat/lt",start:11230338,end:11230366},{filename:"/usr/share/espeak-ng-data/lang/bat/ltg",start:11230366,end:11230678},{filename:"/usr/share/espeak-ng-data/lang/bat/lv",start:11230678,end:11230907},{filename:"/usr/share/espeak-ng-data/lang/bnt/sw",start:11230907,end:11230948},{filename:"/usr/share/espeak-ng-data/lang/bnt/tn",start:11230948,end:11230990},{filename:"/usr/share/espeak-ng-data/lang/ccs/ka",start:11230990,end:11231114},{filename:"/usr/share/espeak-ng-data/lang/cel/cy",start:11231114,end:11231151},{filename:"/usr/share/espeak-ng-data/lang/cel/ga",start:11231151,end:11231217},{filename:"/usr/share/espeak-ng-data/lang/cel/gd",start:11231217,end:11231268},{filename:"/usr/share/espeak-ng-data/lang/cus/om",start:11231268,end:11231307},{filename:"/usr/share/espeak-ng-data/lang/dra/kn",start:11231307,end:11231362},{filename:"/usr/share/espeak-ng-data/lang/dra/ml",start:11231362,end:11231419},{filename:"/usr/share/espeak-ng-data/lang/dra/ta",start:11231419,end:11231470},{filename:"/usr/share/espeak-ng-data/lang/dra/te",start:11231470,end:11231540},{filename:"/usr/share/espeak-ng-data/lang/esx/kl",start:11231540,end:11231570},{filename:"/usr/share/espeak-ng-data/lang/eu",start:11231570,end:11231624},{filename:"/usr/share/espeak-ng-data/lang/gmq/da",start:11231624,end:11231667},{filename:"/usr/share/espeak-ng-data/lang/gmq/fo",start:11231667,end:11231771},{filename:"/usr/share/espeak-ng-data/lang/gmq/is",start:11231771,end:11231798},{filename:"/usr/share/espeak-ng-data/lang/gmq/nb",start:11231798,end:11231885},{filename:"/usr/share/espeak-ng-data/lang/gmq/sv",start:11231885,end:11231910},{filename:"/usr/share/espeak-ng-data/lang/gmw/af",start:11231910,end:11232033},{filename:"/usr/share/espeak-ng-data/lang/gmw/de",start:11232033,end:11232075},{filename:"/usr/share/espeak-ng-data/lang/gmw/en",start:11232075,end:11232215},{filename:"/usr/share/espeak-ng-data/lang/gmw/en-029",start:11232215,end:11232550},{filename:"/usr/share/espeak-ng-data/lang/gmw/en-GB-scotland",start:11232550,end:11232845},{filename:"/usr/share/espeak-ng-data/lang/gmw/en-GB-x-gbclan",start:11232845,end:11233083},{filename:"/usr/share/espeak-ng-data/lang/gmw/en-GB-x-gbcwmd",start:11233083,end:11233271},{filename:"/usr/share/espeak-ng-data/lang/gmw/en-GB-x-rp",start:11233271,end:11233520},{filename:"/usr/share/espeak-ng-data/lang/gmw/en-Shaw",start:11233520,end:11233639},{filename:"/usr/share/espeak-ng-data/lang/gmw/en-US",start:11233639,end:11233896},{filename:"/usr/share/espeak-ng-data/lang/gmw/en-US-nyc",start:11233896,end:11234167},{filename:"/usr/share/espeak-ng-data/lang/gmw/lb",start:11234167,end:11234198},{filename:"/usr/share/espeak-ng-data/lang/gmw/nl",start:11234198,end:11234221},{filename:"/usr/share/espeak-ng-data/lang/grk/el",start:11234221,end:11234244},{filename:"/usr/share/espeak-ng-data/lang/grk/grc",start:11234244,end:11234343},{filename:"/usr/share/espeak-ng-data/lang/inc/as",start:11234343,end:11234385},{filename:"/usr/share/espeak-ng-data/lang/inc/bn",start:11234385,end:11234410},{filename:"/usr/share/espeak-ng-data/lang/inc/bpy",start:11234410,end:11234449},{filename:"/usr/share/espeak-ng-data/lang/inc/gu",start:11234449,end:11234491},{filename:"/usr/share/espeak-ng-data/lang/inc/hi",start:11234491,end:11234514},{filename:"/usr/share/espeak-ng-data/lang/inc/kok",start:11234514,end:11234540},{filename:"/usr/share/espeak-ng-data/lang/inc/mr",start:11234540,end:11234581},{filename:"/usr/share/espeak-ng-data/lang/inc/ne",start:11234581,end:11234618},{filename:"/usr/share/espeak-ng-data/lang/inc/or",start:11234618,end:11234657},{filename:"/usr/share/espeak-ng-data/lang/inc/pa",start:11234657,end:11234682},{filename:"/usr/share/espeak-ng-data/lang/inc/sd",start:11234682,end:11234748},{filename:"/usr/share/espeak-ng-data/lang/inc/si",start:11234748,end:11234803},{filename:"/usr/share/espeak-ng-data/lang/inc/ur",start:11234803,end:11234897},{filename:"/usr/share/espeak-ng-data/lang/ine/hy",start:11234897,end:11234958},{filename:"/usr/share/espeak-ng-data/lang/ine/hyw",start:11234958,end:11235323},{filename:"/usr/share/espeak-ng-data/lang/ine/sq",start:11235323,end:11235426},{filename:"/usr/share/espeak-ng-data/lang/ira/fa",start:11235426,end:11235516},{filename:"/usr/share/espeak-ng-data/lang/ira/fa-Latn",start:11235516,end:11235785},{filename:"/usr/share/espeak-ng-data/lang/ira/ku",start:11235785,end:11235825},{filename:"/usr/share/espeak-ng-data/lang/ira/ps",start:11235825,end:11235911},{filename:"/usr/share/espeak-ng-data/lang/iro/chr",start:11235911,end:11236480},{filename:"/usr/share/espeak-ng-data/lang/itc/la",start:11236480,end:11236777},{filename:"/usr/share/espeak-ng-data/lang/jpx/ja",start:11236777,end:11236829},{filename:"/usr/share/espeak-ng-data/lang/ko",start:11236829,end:11236880},{filename:"/usr/share/espeak-ng-data/lang/map/haw",start:11236880,end:11236922},{filename:"/usr/share/espeak-ng-data/lang/miz/mto",start:11236922,end:11237105},{filename:"/usr/share/espeak-ng-data/lang/myn/quc",start:11237105,end:11237315},{filename:"/usr/share/espeak-ng-data/lang/poz/id",start:11237315,end:11237449},{filename:"/usr/share/espeak-ng-data/lang/poz/mi",start:11237449,end:11237816},{filename:"/usr/share/espeak-ng-data/lang/poz/ms",start:11237816,end:11238246},{filename:"/usr/share/espeak-ng-data/lang/qu",start:11238246,end:11238334},{filename:"/usr/share/espeak-ng-data/lang/roa/an",start:11238334,end:11238361},{filename:"/usr/share/espeak-ng-data/lang/roa/ca",start:11238361,end:11238399},{filename:"/usr/share/espeak-ng-data/lang/roa/ca-ba",start:11238399,end:11238479},{filename:"/usr/share/espeak-ng-data/lang/roa/ca-nw",start:11238479,end:11238552},{filename:"/usr/share/espeak-ng-data/lang/roa/ca-va",start:11238552,end:11238633},{filename:"/usr/share/espeak-ng-data/lang/roa/es",start:11238633,end:11238696},{filename:"/usr/share/espeak-ng-data/lang/roa/es-419",start:11238696,end:11238863},{filename:"/usr/share/espeak-ng-data/lang/roa/fr",start:11238863,end:11238942},{filename:"/usr/share/espeak-ng-data/lang/roa/fr-BE",start:11238942,end:11239026},{filename:"/usr/share/espeak-ng-data/lang/roa/fr-CH",start:11239026,end:11239112},{filename:"/usr/share/espeak-ng-data/lang/roa/ht",start:11239112,end:11239252},{filename:"/usr/share/espeak-ng-data/lang/roa/it",start:11239252,end:11239361},{filename:"/usr/share/espeak-ng-data/lang/roa/pap",start:11239361,end:11239423},{filename:"/usr/share/espeak-ng-data/lang/roa/pt",start:11239423,end:11239518},{filename:"/usr/share/espeak-ng-data/lang/roa/pt-BR",start:11239518,end:11239627},{filename:"/usr/share/espeak-ng-data/lang/roa/ro",start:11239627,end:11239653},{filename:"/usr/share/espeak-ng-data/lang/sai/gn",start:11239653,end:11239700},{filename:"/usr/share/espeak-ng-data/lang/sem/am",start:11239700,end:11239741},{filename:"/usr/share/espeak-ng-data/lang/sem/ar",start:11239741,end:11239791},{filename:"/usr/share/espeak-ng-data/lang/sem/he",start:11239791,end:11239831},{filename:"/usr/share/espeak-ng-data/lang/sem/mt",start:11239831,end:11239872},{filename:"/usr/share/espeak-ng-data/lang/sem/ti",start:11239872,end:11239965},{filename:"/usr/share/espeak-ng-data/lang/sit/cmn",start:11239965,end:11240651},{filename:"/usr/share/espeak-ng-data/lang/sit/cmn-Latn-pinyin",start:11240651,end:11240812},{filename:"/usr/share/espeak-ng-data/lang/sit/hak",start:11240812,end:11240940},{filename:"/usr/share/espeak-ng-data/lang/sit/my",start:11240940,end:11240996},{filename:"/usr/share/espeak-ng-data/lang/sit/yue",start:11240996,end:11241190},{filename:"/usr/share/espeak-ng-data/lang/sit/yue-Latn-jyutping",start:11241190,end:11241403},{filename:"/usr/share/espeak-ng-data/lang/tai/shn",start:11241403,end:11241495},{filename:"/usr/share/espeak-ng-data/lang/tai/th",start:11241495,end:11241532},{filename:"/usr/share/espeak-ng-data/lang/trk/az",start:11241532,end:11241577},{filename:"/usr/share/espeak-ng-data/lang/trk/ba",start:11241577,end:11241602},{filename:"/usr/share/espeak-ng-data/lang/trk/cv",start:11241602,end:11241642},{filename:"/usr/share/espeak-ng-data/lang/trk/kaa",start:11241642,end:11241670},{filename:"/usr/share/espeak-ng-data/lang/trk/kk",start:11241670,end:11241710},{filename:"/usr/share/espeak-ng-data/lang/trk/ky",start:11241710,end:11241753},{filename:"/usr/share/espeak-ng-data/lang/trk/nog",start:11241753,end:11241792},{filename:"/usr/share/espeak-ng-data/lang/trk/tk",start:11241792,end:11241817},{filename:"/usr/share/espeak-ng-data/lang/trk/tr",start:11241817,end:11241842},{filename:"/usr/share/espeak-ng-data/lang/trk/tt",start:11241842,end:11241865},{filename:"/usr/share/espeak-ng-data/lang/trk/ug",start:11241865,end:11241889},{filename:"/usr/share/espeak-ng-data/lang/trk/uz",start:11241889,end:11241928},{filename:"/usr/share/espeak-ng-data/lang/urj/et",start:11241928,end:11242165},{filename:"/usr/share/espeak-ng-data/lang/urj/fi",start:11242165,end:11242402},{filename:"/usr/share/espeak-ng-data/lang/urj/hu",start:11242402,end:11242475},{filename:"/usr/share/espeak-ng-data/lang/urj/smj",start:11242475,end:11242520},{filename:"/usr/share/espeak-ng-data/lang/zle/be",start:11242520,end:11242572},{filename:"/usr/share/espeak-ng-data/lang/zle/ru",start:11242572,end:11242629},{filename:"/usr/share/espeak-ng-data/lang/zle/ru-LV",start:11242629,end:11242909},{filename:"/usr/share/espeak-ng-data/lang/zle/ru-cl",start:11242909,end:11243e3},{filename:"/usr/share/espeak-ng-data/lang/zle/uk",start:11243e3,end:11243097},{filename:"/usr/share/espeak-ng-data/lang/zls/bg",start:11243097,end:11243208},{filename:"/usr/share/espeak-ng-data/lang/zls/bs",start:11243208,end:11243438},{filename:"/usr/share/espeak-ng-data/lang/zls/hr",start:11243438,end:11243700},{filename:"/usr/share/espeak-ng-data/lang/zls/mk",start:11243700,end:11243728},{filename:"/usr/share/espeak-ng-data/lang/zls/sl",start:11243728,end:11243771},{filename:"/usr/share/espeak-ng-data/lang/zls/sr",start:11243771,end:11244021},{filename:"/usr/share/espeak-ng-data/lang/zlw/cs",start:11244021,end:11244044},{filename:"/usr/share/espeak-ng-data/lang/zlw/pl",start:11244044,end:11244082},{filename:"/usr/share/espeak-ng-data/lang/zlw/sk",start:11244082,end:11244106},{filename:"/usr/share/espeak-ng-data/lb_dict",start:11244106,end:11932037},{filename:"/usr/share/espeak-ng-data/lfn_dict",start:11932037,end:11934830},{filename:"/usr/share/espeak-ng-data/lt_dict",start:11934830,end:11984720},{filename:"/usr/share/espeak-ng-data/lv_dict",start:11984720,end:12051057},{filename:"/usr/share/espeak-ng-data/mi_dict",start:12051057,end:12052403},{filename:"/usr/share/espeak-ng-data/mk_dict",start:12052403,end:12116262},{filename:"/usr/share/espeak-ng-data/ml_dict",start:12116262,end:12208607},{filename:"/usr/share/espeak-ng-data/mr_dict",start:12208607,end:12295998},{filename:"/usr/share/espeak-ng-data/ms_dict",start:12295998,end:12349539},{filename:"/usr/share/espeak-ng-data/mt_dict",start:12349539,end:12353923},{filename:"/usr/share/espeak-ng-data/mto_dict",start:12353923,end:12357883},{filename:"/usr/share/espeak-ng-data/my_dict",start:12357883,end:12453831},{filename:"/usr/share/espeak-ng-data/nci_dict",start:12453831,end:12455365},{filename:"/usr/share/espeak-ng-data/ne_dict",start:12455365,end:12550742},{filename:"/usr/share/espeak-ng-data/nl_dict",start:12550742,end:12616138},{filename:"/usr/share/espeak-ng-data/no_dict",start:12616138,end:12620316},{filename:"/usr/share/espeak-ng-data/nog_dict",start:12620316,end:12623610},{filename:"/usr/share/espeak-ng-data/om_dict",start:12623610,end:12625912},{filename:"/usr/share/espeak-ng-data/or_dict",start:12625912,end:12715158},{filename:"/usr/share/espeak-ng-data/pa_dict",start:12715158,end:12795111},{filename:"/usr/share/espeak-ng-data/pap_dict",start:12795111,end:12797239},{filename:"/usr/share/espeak-ng-data/phondata",start:12797239,end:13351979},{filename:"/usr/share/espeak-ng-data/phonindex",start:13351979,end:13396883},{filename:"/usr/share/espeak-ng-data/phontab",start:13396883,end:13456403},{filename:"/usr/share/espeak-ng-data/piqd_dict",start:13456403,end:13458113},{filename:"/usr/share/espeak-ng-data/pl_dict",start:13458113,end:13534733},{filename:"/usr/share/espeak-ng-data/ps_dict",start:13534733,end:13602583},{filename:"/usr/share/espeak-ng-data/pt_dict",start:13602583,end:13678972},{filename:"/usr/share/espeak-ng-data/py_dict",start:13678972,end:13681381},{filename:"/usr/share/espeak-ng-data/qdb_dict",start:13681381,end:13684409},{filename:"/usr/share/espeak-ng-data/qu_dict",start:13684409,end:13686328},{filename:"/usr/share/espeak-ng-data/quc_dict",start:13686328,end:13687778},{filename:"/usr/share/espeak-ng-data/qya_dict",start:13687778,end:13689717},{filename:"/usr/share/espeak-ng-data/ro_dict",start:13689717,end:13758255},{filename:"/usr/share/espeak-ng-data/ru_dict",start:13758255,end:22367421},{filename:"/usr/share/espeak-ng-data/sd_dict",start:22367421,end:22427349},{filename:"/usr/share/espeak-ng-data/shn_dict",start:22427349,end:22515521},{filename:"/usr/share/espeak-ng-data/si_dict",start:22515521,end:22600905},{filename:"/usr/share/espeak-ng-data/sjn_dict",start:22600905,end:22602688},{filename:"/usr/share/espeak-ng-data/sk_dict",start:22602688,end:22652690},{filename:"/usr/share/espeak-ng-data/sl_dict",start:22652690,end:22697737},{filename:"/usr/share/espeak-ng-data/smj_dict",start:22697737,end:22732832},{filename:"/usr/share/espeak-ng-data/sq_dict",start:22732832,end:22777835},{filename:"/usr/share/espeak-ng-data/sr_dict",start:22777835,end:22824667},{filename:"/usr/share/espeak-ng-data/sv_dict",start:22824667,end:22872503},{filename:"/usr/share/espeak-ng-data/sw_dict",start:22872503,end:22920307},{filename:"/usr/share/espeak-ng-data/ta_dict",start:22920307,end:23129860},{filename:"/usr/share/espeak-ng-data/te_dict",start:23129860,end:23224697},{filename:"/usr/share/espeak-ng-data/th_dict",start:23224697,end:23226998},{filename:"/usr/share/espeak-ng-data/ti_dict",start:23226998,end:23284918},{filename:"/usr/share/espeak-ng-data/tk_dict",start:23284918,end:23305786},{filename:"/usr/share/espeak-ng-data/tn_dict",start:23305786,end:23308858},{filename:"/usr/share/espeak-ng-data/tr_dict",start:23308858,end:23355651},{filename:"/usr/share/espeak-ng-data/tt_dict",start:23355651,end:23357772},{filename:"/usr/share/espeak-ng-data/ug_dict",start:23357772,end:23359842},{filename:"/usr/share/espeak-ng-data/uk_dict",start:23359842,end:23363334},{filename:"/usr/share/espeak-ng-data/ur_dict",start:23363334,end:23496890},{filename:"/usr/share/espeak-ng-data/uz_dict",start:23496890,end:23499430},{filename:"/usr/share/espeak-ng-data/vi_dict",start:23499430,end:23552038},{filename:"/usr/share/espeak-ng-data/voices/!v/Alex",start:23552038,end:23552166},{filename:"/usr/share/espeak-ng-data/voices/!v/Alicia",start:23552166,end:23552640},{filename:"/usr/share/espeak-ng-data/voices/!v/Andrea",start:23552640,end:23552997},{filename:"/usr/share/espeak-ng-data/voices/!v/Andy",start:23552997,end:23553317},{filename:"/usr/share/espeak-ng-data/voices/!v/Annie",start:23553317,end:23553632},{filename:"/usr/share/espeak-ng-data/voices/!v/AnxiousAndy",start:23553632,end:23553993},{filename:"/usr/share/espeak-ng-data/voices/!v/Demonic",start:23553993,end:23557851},{filename:"/usr/share/espeak-ng-data/voices/!v/Denis",start:23557851,end:23558156},{filename:"/usr/share/espeak-ng-data/voices/!v/Diogo",start:23558156,end:23558535},{filename:"/usr/share/espeak-ng-data/voices/!v/Gene",start:23558535,end:23558816},{filename:"/usr/share/espeak-ng-data/voices/!v/Gene2",start:23558816,end:23559099},{filename:"/usr/share/espeak-ng-data/voices/!v/Henrique",start:23559099,end:23559480},{filename:"/usr/share/espeak-ng-data/voices/!v/Hugo",start:23559480,end:23559858},{filename:"/usr/share/espeak-ng-data/voices/!v/Jacky",start:23559858,end:23560125},{filename:"/usr/share/espeak-ng-data/voices/!v/Lee",start:23560125,end:23560463},{filename:"/usr/share/espeak-ng-data/voices/!v/Marco",start:23560463,end:23560930},{filename:"/usr/share/espeak-ng-data/voices/!v/Mario",start:23560930,end:23561200},{filename:"/usr/share/espeak-ng-data/voices/!v/Michael",start:23561200,end:23561470},{filename:"/usr/share/espeak-ng-data/voices/!v/Mike",start:23561470,end:23561582},{filename:"/usr/share/espeak-ng-data/voices/!v/Mr serious",start:23561582,end:23564775},{filename:"/usr/share/espeak-ng-data/voices/!v/Nguyen",start:23564775,end:23565055},{filename:"/usr/share/espeak-ng-data/voices/!v/Reed",start:23565055,end:23565257},{filename:"/usr/share/espeak-ng-data/voices/!v/RicishayMax",start:23565257,end:23565490},{filename:"/usr/share/espeak-ng-data/voices/!v/RicishayMax2",start:23565490,end:23565925},{filename:"/usr/share/espeak-ng-data/voices/!v/RicishayMax3",start:23565925,end:23566360},{filename:"/usr/share/espeak-ng-data/voices/!v/Storm",start:23566360,end:23566780},{filename:"/usr/share/espeak-ng-data/voices/!v/Tweaky",start:23566780,end:23569969},{filename:"/usr/share/espeak-ng-data/voices/!v/UniRobot",start:23569969,end:23570386},{filename:"/usr/share/espeak-ng-data/voices/!v/adam",start:23570386,end:23570461},{filename:"/usr/share/espeak-ng-data/voices/!v/anika",start:23570461,end:23570954},{filename:"/usr/share/espeak-ng-data/voices/!v/anikaRobot",start:23570954,end:23571466},{filename:"/usr/share/espeak-ng-data/voices/!v/announcer",start:23571466,end:23571766},{filename:"/usr/share/espeak-ng-data/voices/!v/antonio",start:23571766,end:23572147},{filename:"/usr/share/espeak-ng-data/voices/!v/aunty",start:23572147,end:23572505},{filename:"/usr/share/espeak-ng-data/voices/!v/belinda",start:23572505,end:23572845},{filename:"/usr/share/espeak-ng-data/voices/!v/benjamin",start:23572845,end:23573046},{filename:"/usr/share/espeak-ng-data/voices/!v/boris",start:23573046,end:23573270},{filename:"/usr/share/espeak-ng-data/voices/!v/caleb",start:23573270,end:23573327},{filename:"/usr/share/espeak-ng-data/voices/!v/croak",start:23573327,end:23573420},{filename:"/usr/share/espeak-ng-data/voices/!v/david",start:23573420,end:23573532},{filename:"/usr/share/espeak-ng-data/voices/!v/ed",start:23573532,end:23573819},{filename:"/usr/share/espeak-ng-data/voices/!v/edward",start:23573819,end:23573970},{filename:"/usr/share/espeak-ng-data/voices/!v/edward2",start:23573970,end:23574122},{filename:"/usr/share/espeak-ng-data/voices/!v/f1",start:23574122,end:23574446},{filename:"/usr/share/espeak-ng-data/voices/!v/f2",start:23574446,end:23574803},{filename:"/usr/share/espeak-ng-data/voices/!v/f3",start:23574803,end:23575178},{filename:"/usr/share/espeak-ng-data/voices/!v/f4",start:23575178,end:23575528},{filename:"/usr/share/espeak-ng-data/voices/!v/f5",start:23575528,end:23575960},{filename:"/usr/share/espeak-ng-data/voices/!v/fast",start:23575960,end:23576109},{filename:"/usr/share/espeak-ng-data/voices/!v/grandma",start:23576109,end:23576372},{filename:"/usr/share/espeak-ng-data/voices/!v/grandpa",start:23576372,end:23576628},{filename:"/usr/share/espeak-ng-data/voices/!v/gustave",start:23576628,end:23576881},{filename:"/usr/share/espeak-ng-data/voices/!v/ian",start:23576881,end:23580049},{filename:"/usr/share/espeak-ng-data/voices/!v/iven",start:23580049,end:23580310},{filename:"/usr/share/espeak-ng-data/voices/!v/iven2",start:23580310,end:23580589},{filename:"/usr/share/espeak-ng-data/voices/!v/iven3",start:23580589,end:23580851},{filename:"/usr/share/espeak-ng-data/voices/!v/iven4",start:23580851,end:23581112},{filename:"/usr/share/espeak-ng-data/voices/!v/john",start:23581112,end:23584298},{filename:"/usr/share/espeak-ng-data/voices/!v/kaukovalta",start:23584298,end:23584659},{filename:"/usr/share/espeak-ng-data/voices/!v/klatt",start:23584659,end:23584697},{filename:"/usr/share/espeak-ng-data/voices/!v/klatt2",start:23584697,end:23584735},{filename:"/usr/share/espeak-ng-data/voices/!v/klatt3",start:23584735,end:23584774},{filename:"/usr/share/espeak-ng-data/voices/!v/klatt4",start:23584774,end:23584813},{filename:"/usr/share/espeak-ng-data/voices/!v/klatt5",start:23584813,end:23584852},{filename:"/usr/share/espeak-ng-data/voices/!v/klatt6",start:23584852,end:23584891},{filename:"/usr/share/espeak-ng-data/voices/!v/linda",start:23584891,end:23585241},{filename:"/usr/share/espeak-ng-data/voices/!v/m1",start:23585241,end:23585576},{filename:"/usr/share/espeak-ng-data/voices/!v/m2",start:23585576,end:23585840},{filename:"/usr/share/espeak-ng-data/voices/!v/m3",start:23585840,end:23586140},{filename:"/usr/share/espeak-ng-data/voices/!v/m4",start:23586140,end:23586430},{filename:"/usr/share/espeak-ng-data/voices/!v/m5",start:23586430,end:23586692},{filename:"/usr/share/espeak-ng-data/voices/!v/m6",start:23586692,end:23586880},{filename:"/usr/share/espeak-ng-data/voices/!v/m7",start:23586880,end:23587134},{filename:"/usr/share/espeak-ng-data/voices/!v/m8",start:23587134,end:23587418},{filename:"/usr/share/espeak-ng-data/voices/!v/marcelo",start:23587418,end:23587669},{filename:"/usr/share/espeak-ng-data/voices/!v/max",start:23587669,end:23587894},{filename:"/usr/share/espeak-ng-data/voices/!v/michel",start:23587894,end:23588298},{filename:"/usr/share/espeak-ng-data/voices/!v/miguel",start:23588298,end:23588680},{filename:"/usr/share/espeak-ng-data/voices/!v/mike2",start:23588680,end:23588868},{filename:"/usr/share/espeak-ng-data/voices/!v/norbert",start:23588868,end:23592057},{filename:"/usr/share/espeak-ng-data/voices/!v/pablo",start:23592057,end:23595199},{filename:"/usr/share/espeak-ng-data/voices/!v/paul",start:23595199,end:23595483},{filename:"/usr/share/espeak-ng-data/voices/!v/pedro",start:23595483,end:23595835},{filename:"/usr/share/espeak-ng-data/voices/!v/quincy",start:23595835,end:23596189},{filename:"/usr/share/espeak-ng-data/voices/!v/rob",start:23596189,end:23596454},{filename:"/usr/share/espeak-ng-data/voices/!v/robert",start:23596454,end:23596728},{filename:"/usr/share/espeak-ng-data/voices/!v/robosoft",start:23596728,end:23597179},{filename:"/usr/share/espeak-ng-data/voices/!v/robosoft2",start:23597179,end:23597633},{filename:"/usr/share/espeak-ng-data/voices/!v/robosoft3",start:23597633,end:23598088},{filename:"/usr/share/espeak-ng-data/voices/!v/robosoft4",start:23598088,end:23598535},{filename:"/usr/share/espeak-ng-data/voices/!v/robosoft5",start:23598535,end:23598980},{filename:"/usr/share/espeak-ng-data/voices/!v/robosoft6",start:23598980,end:23599267},{filename:"/usr/share/espeak-ng-data/voices/!v/robosoft7",start:23599267,end:23599677},{filename:"/usr/share/espeak-ng-data/voices/!v/robosoft8",start:23599677,end:23599920},{filename:"/usr/share/espeak-ng-data/voices/!v/sandro",start:23599920,end:23600450},{filename:"/usr/share/espeak-ng-data/voices/!v/shelby",start:23600450,end:23600730},{filename:"/usr/share/espeak-ng-data/voices/!v/steph",start:23600730,end:23601094},{filename:"/usr/share/espeak-ng-data/voices/!v/steph2",start:23601094,end:23601461},{filename:"/usr/share/espeak-ng-data/voices/!v/steph3",start:23601461,end:23601838},{filename:"/usr/share/espeak-ng-data/voices/!v/travis",start:23601838,end:23602221},{filename:"/usr/share/espeak-ng-data/voices/!v/victor",start:23602221,end:23602474},{filename:"/usr/share/espeak-ng-data/voices/!v/whisper",start:23602474,end:23602660},{filename:"/usr/share/espeak-ng-data/voices/!v/whisperf",start:23602660,end:23603052},{filename:"/usr/share/espeak-ng-data/voices/!v/zac",start:23603052,end:23603327},{filename:"/usr/share/espeak-ng-data/voices/asia/ps",start:23603327,end:23603643},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-af1",start:23603643,end:23603731},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-af1-en",start:23603731,end:23603814},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-ar1",start:23603814,end:23603898},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-ar2",start:23603898,end:23603982},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-br1",start:23603982,end:23604114},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-br1-xex",start:23604114,end:23604286},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-br2",start:23604286,end:23604422},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-br2-xex",start:23604422,end:23604599},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-br3",start:23604599,end:23604731},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-br3-xex",start:23604731,end:23604905},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-br4",start:23604905,end:23605041},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-br4-xex",start:23605041,end:23605218},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-ca1",start:23605218,end:23605323},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-ca2",start:23605323,end:23605428},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-cn1",start:23605428,end:23605520},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-cr1",start:23605520,end:23605631},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-cz1",start:23605631,end:23605701},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-cz2",start:23605701,end:23605783},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-de1",start:23605783,end:23605927},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-de1-en",start:23605927,end:23606023},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-de2",start:23606023,end:23606151},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-de2-en",start:23606151,end:23606231},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-de3",start:23606231,end:23606330},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-de3-en",start:23606330,end:23606426},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-de4",start:23606426,end:23606555},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-de4-en",start:23606555,end:23606636},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-de5",start:23606636,end:23606872},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-de5-en",start:23606872,end:23606962},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-de6",start:23606962,end:23607084},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-de6-en",start:23607084,end:23607158},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-de6-grc",start:23607158,end:23607241},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-de7",start:23607241,end:23607391},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-de8",start:23607391,end:23607462},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-ee1",start:23607462,end:23607559},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-en1",start:23607559,end:23607690},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-es1",start:23607690,end:23607804},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-es2",start:23607804,end:23607912},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-es3",start:23607912,end:23608016},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-es4",start:23608016,end:23608104},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-fr1",start:23608104,end:23608270},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-fr1-en",start:23608270,end:23608374},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-fr2",start:23608374,end:23608477},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-fr3",start:23608477,end:23608577},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-fr4",start:23608577,end:23608704},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-fr4-en",start:23608704,end:23608811},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-fr5",start:23608811,end:23608911},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-fr6",start:23608911,end:23609011},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-fr7",start:23609011,end:23609094},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-gr1",start:23609094,end:23609188},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-gr2",start:23609188,end:23609282},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-gr2-en",start:23609282,end:23609370},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-hb1",start:23609370,end:23609438},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-hb2",start:23609438,end:23609521},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-hu1",start:23609521,end:23609623},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-hu1-en",start:23609623,end:23609720},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-ic1",start:23609720,end:23609808},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-id1",start:23609808,end:23609909},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-in1",start:23609909,end:23609978},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-in2",start:23609978,end:23610063},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-ir1",start:23610063,end:23610816},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-it1",start:23610816,end:23610900},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-it2",start:23610900,end:23610987},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-it3",start:23610987,end:23611129},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-it4",start:23611129,end:23611274},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-jp1",start:23611274,end:23611345},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-jp2",start:23611345,end:23611446},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-jp3",start:23611446,end:23611533},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-la1",start:23611533,end:23611616},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-lt1",start:23611616,end:23611703},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-lt2",start:23611703,end:23611790},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-ma1",start:23611790,end:23611888},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-mx1",start:23611888,end:23612008},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-mx2",start:23612008,end:23612128},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-nl1",start:23612128,end:23612197},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-nl2",start:23612197,end:23612293},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-nl2-en",start:23612293,end:23612384},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-nl3",start:23612384,end:23612469},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-nz1",start:23612469,end:23612537},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-pl1",start:23612537,end:23612636},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-pl1-en",start:23612636,end:23612718},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-pt1",start:23612718,end:23612849},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-ro1",start:23612849,end:23612936},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-ro1-en",start:23612936,end:23613017},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-sw1",start:23613017,end:23613115},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-sw1-en",start:23613115,end:23613208},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-sw2",start:23613208,end:23613310},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-sw2-en",start:23613310,end:23613409},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-tl1",start:23613409,end:23613494},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-tr1",start:23613494,end:23613579},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-tr2",start:23613579,end:23613693},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-us1",start:23613693,end:23613863},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-us2",start:23613863,end:23614041},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-us3",start:23614041,end:23614221},{filename:"/usr/share/espeak-ng-data/voices/mb/mb-vz1",start:23614221,end:23614365},{filename:"/usr/share/espeak-ng-data/voices/ps",start:23614365,end:23614442},{filename:"/usr/share/espeak-ng-data/xex_dict",start:23614442,end:23619717},{filename:"/usr/share/espeak-ng-data/yue_dict",start:23619717,end:24183288}],remote_package_size:24183288})})();var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(!import.meta.url.startsWith("data:")){scriptDirectory=nodePath.dirname(require("url").fileURLToPath(import.meta.url))+"/"}readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:"utf8");return ret};if(process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_SHELL){readBinary=f=>{if(typeof readbuffer=="function"){return new Uint8Array(readbuffer(f))}let data=read(f,"binary");assert(typeof data=="object");return data};readAsync=async f=>readBinary(f);globalThis.clearTimeout??=id=>{};globalThis.setTimeout??=f=>f();arguments_=globalThis.arguments||globalThis.scriptArgs;if(typeof quit=="function"){quit_=(status,toThrow)=>{setTimeout(()=>{if(!(toThrow instanceof ExitStatus)){let toLog=toThrow;if(toThrow&&typeof toThrow=="object"&&toThrow.stack){toLog=[toThrow,toThrow.stack]}err(`exiting due to exception: ${toLog}`)}quit(status)});throw toThrow}}if(typeof print!="undefined"){globalThis.console??={};console.log=print;console.warn=console.error=globalThis.printErr??print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.slice(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;var runtimeInitialized=false;var isFileURI=filename=>filename.startsWith("file://");function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b);HEAPU64=new BigUint64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(onInits);if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["u"]();FS.ignorePermissions=false}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("espeakng.worker.wasm")}if(ENVIRONMENT_IS_SHELL){return"espeakng.worker.wasm"}return new URL("espeakng.worker.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_SHELL){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{a:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["t"];updateMemoryViews();removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})})}wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}catch(e){readyPromiseReject(e);return Promise.reject(e)}}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP64[ptr>>3];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":HEAP64[ptr>>3]=BigInt(value);break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.slice(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(ENVIRONMENT_IS_NODE){var nodeCrypto=require("crypto");return view=>nodeCrypto.randomFillSync(view)}return view=>crypto.getRandomValues(view)};var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.atime=Date.now()}return bytesRead},write(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(60)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(29)}if(length){stream.node.mtime=stream.node.ctime=Date.now()}return i}},default_tty_ops:{get_char(tty){return FS_stdin_getChar()},put_char(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[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]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var mmapAlloc=size=>{abort()};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)>>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.mtime=node.ctime=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=buffer.slice(offset,offset+length);node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray){node.contents.set(buffer.subarray(offset,offset+length),position)}else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(28)}return position},mmap(stream,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&contents&&contents.buffer===HEAP8.buffer){allocated=false;ptr=contents.byteOffset}else{allocated=true;ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}if(contents){if(position>0||position+length<contents.length){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}HEAP8.set(contents,ptr)}}return{ptr,allocated}},msync(stream,buffer,offset,length,mmapFlags){MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var asyncLoad=async url=>{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}if(parts[i]==="."){continue}if(parts[i]===".."){current_path=PATH.dirname(current_path);if(FS.isRoot(current)){path=current_path+"/"+parts.slice(i+1).join("/");continue linkloop}else{current=current.parent}continue}current_path=PATH.join2(current_path,parts[i]);try{current=FS.lookupNode(current,parts[i])}catch(e){if(e?.errno===44&&islast&&opts.noent_okay){return{path:current_path}}throw e}if(FS.isMountpoint(current)&&(!islast||opts.follow_mount)){current=current.mounted.root}if(FS.isLink(current.mode)&&(!islast||opts.follow)){if(!current.node_ops.readlink){throw new FS.ErrnoError(52)}var link=current.node_ops.readlink(current);if(!PATH.isAbs(link)){link=PATH.dirname(current_path)+"/"+link}path=link+"/"+parts.slice(i+1).join("/");continue linkloop}}return{path:current_path,node:current}}throw new FS.ErrnoError(32)},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&(512|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name);old_node.parent=new_dir}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return readdir(node)},unlink(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},truncate(path,len){if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed(stream){return stream.fd===null},llseek(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}if(!length){throw new FS.ErrnoError(28)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync(stream,buffer,offset,length,mmapFlags){if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length,llseek:()=>0});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomFill(randomBuffer);randomLeft=randomBuffer.byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},findObject(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath(parent,path,canRead,canWrite){parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){if(e.errno!=20)throw e}parent=current}return current},createFile(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile(parent,name,data,canRead,canWrite,canOwn){var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,577);FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}},createDevice(parent,name,input,output){var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(!!input,!!output);FS.createDevice.major??=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open(stream){stream.seekable=false},close(stream){if(output?.buffer?.length){output(10)}},read(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.atime=Date.now()}return bytesRead},write(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(29)}}if(length){stream.node.mtime=stream.node.ctime=Date.now()}return i}});return FS.mkdev(path,mode,dev)},forceLoadFile(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!="undefined"){throw new 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.")}else{try{obj.contents=readBinary(obj.url);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}},createLazyFile(parent,name,url,canRead,canWrite){class LazyUint8Array{lengthKnown=false;chunks=[];get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size}stream_ops.read=(stream,buffer,offset,length,position)=>{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;HEAP64[buf+24>>3]=BigInt(stat.size);HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();HEAP64[buf+40>>3]=BigInt(Math.floor(atime/1e3));HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;HEAP64[buf+56>>3]=BigInt(Math.floor(mtime/1e3));HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;HEAP64[buf+72>>3]=BigInt(Math.floor(ctime/1e3));HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;HEAP64[buf+88>>3]=BigInt(stat.ino);return 0},writeStatFs(buf,stats){HEAP32[buf+4>>2]=stats.bsize;HEAP32[buf+40>>2]=stats.bsize;HEAP32[buf+8>>2]=stats.blocks;HEAP32[buf+12>>2]=stats.bfree;HEAP32[buf+16>>2]=stats.bavail;HEAP32[buf+20>>2]=stats.files;HEAP32[buf+24>>2]=stats.ffree;HEAP32[buf+28>>2]=stats.fsid;HEAP32[buf+44>>2]=stats.flags;HEAP32[buf+36>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getdents64(fd,dirp,count){try{var stream=SYSCALLS.getStreamFromFD(fd);stream.getdents||=FS.readdir(stream.path);var struct_size=280;var pos=0;var off=FS.llseek(stream,0,1);var startIdx=Math.floor(off/struct_size);var endIdx=Math.min(stream.getdents.length,startIdx+Math.floor(count/struct_size));for(var idx=startIdx;idx<endIdx;idx++){var id;var type;var name=stream.getdents[idx];if(name==="."){id=stream.node.id;type=4}else if(name===".."){var lookup=FS.lookupPath(stream.path,{parent:true});id=lookup.node.id;type=4}else{var child;try{child=FS.lookupNode(stream.node,name)}catch(e){if(e?.errno===28){continue}throw e}id=child.id;type=FS.isChrdev(child.mode)?2:FS.isDir(child.mode)?4:FS.isLink(child.mode)?10:8}HEAP64[dirp+pos>>3]=BigInt(id);HEAP64[dirp+pos+8>>3]=BigInt((idx+1)*struct_size);HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag,c_oflag,c_cflag,c_lflag,c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.stat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("");var _emscripten_get_now=()=>performance.now();var _emscripten_date_now=()=>Date.now();var nowIsMonotonic=1;var checkWasiClock=clock_id=>clock_id>=0&&clock_id<=3;var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>num<INT53_MIN||num>INT53_MAX?NaN:Number(num);function _clock_time_get(clk_id,ignored_precision,ptime){ignored_precision=bigintToI53Checked(ignored_precision);if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=_emscripten_date_now()}else if(nowIsMonotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);HEAP64[ptime>>3]=BigInt(nsec);return 0}var abortOnCannotGrowMemory=requestedSize=>{abort("OOM")};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;abortOnCannotGrowMemory(requestedSize)};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break;if(typeof offset!="undefined"){offset+=curr}}return ret};function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);HEAP64[newOffset>>3]=BigInt(stream.position);if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len){break}if(typeof offset!="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var onInits=[];var addOnInit=cb=>onInits.push(cb);var FS_createPath=FS.createPath;var FS_unlink=path=>FS.unlink(path);var FS_createLazyFile=FS.createLazyFile;var FS_createDevice=FS.createDevice;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_unlink"]=FS.unlink;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="<generic error, no stack>";{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"]}Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPreloadedFile"]=FS_createPreloadedFile;Module["FS_unlink"]=FS_unlink;Module["FS_createPath"]=FS_createPath;Module["FS_createDevice"]=FS_createDevice;Module["FS_createDataFile"]=FS_createDataFile;Module["FS_createLazyFile"]=FS_createLazyFile;Module["getValue"]=getValue;Module["setValue"]=setValue;Module["UTF8ToString"]=UTF8ToString;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["stringToUTF8"]=stringToUTF8;var wasmImports={e:___assert_fail,c:___syscall_fcntl64,o:___syscall_getdents64,h:___syscall_ioctl,d:___syscall_openat,m:___syscall_rmdir,l:___syscall_stat64,n:___syscall_unlinkat,j:__abort_js,p:_clock_time_get,i:_emscripten_date_now,k:_emscripten_resize_heap,r:_environ_get,f:_environ_sizes_get,s:_exit,a:_fd_close,g:_fd_read,q:_fd_seek,b:_fd_write};var wasmExports=await createWasm();var ___wasm_call_ctors=wasmExports["u"];var _webidl_free=Module["_webidl_free"]=wasmExports["v"];var _free=Module["_free"]=wasmExports["w"];var _webidl_malloc=Module["_webidl_malloc"]=wasmExports["x"];var _malloc=Module["_malloc"]=wasmExports["y"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=wasmExports["z"];var _emscripten_bind_espeak_VOICE_get_name_0=Module["_emscripten_bind_espeak_VOICE_get_name_0"]=wasmExports["A"];var _emscripten_bind_espeak_VOICE_set_name_1=Module["_emscripten_bind_espeak_VOICE_set_name_1"]=wasmExports["B"];var _emscripten_bind_espeak_VOICE_get_languages_1=Module["_emscripten_bind_espeak_VOICE_get_languages_1"]=wasmExports["C"];var _emscripten_bind_espeak_VOICE_get_identifier_0=Module["_emscripten_bind_espeak_VOICE_get_identifier_0"]=wasmExports["D"];var _emscripten_bind_espeak_VOICE_set_identifier_1=Module["_emscripten_bind_espeak_VOICE_set_identifier_1"]=wasmExports["E"];var _emscripten_bind_espeak_VOICE_get_gender_0=Module["_emscripten_bind_espeak_VOICE_get_gender_0"]=wasmExports["F"];var _emscripten_bind_espeak_VOICE_set_gender_1=Module["_emscripten_bind_espeak_VOICE_set_gender_1"]=wasmExports["G"];var _emscripten_bind_espeak_VOICE_get_age_0=Module["_emscripten_bind_espeak_VOICE_get_age_0"]=wasmExports["H"];var _emscripten_bind_espeak_VOICE_set_age_1=Module["_emscripten_bind_espeak_VOICE_set_age_1"]=wasmExports["I"];var _emscripten_bind_espeak_VOICE_get_variant_0=Module["_emscripten_bind_espeak_VOICE_get_variant_0"]=wasmExports["J"];var _emscripten_bind_espeak_VOICE_set_variant_1=Module["_emscripten_bind_espeak_VOICE_set_variant_1"]=wasmExports["K"];var _emscripten_bind_espeak_VOICE_get_xx1_0=Module["_emscripten_bind_espeak_VOICE_get_xx1_0"]=wasmExports["L"];var _emscripten_bind_espeak_VOICE_set_xx1_1=Module["_emscripten_bind_espeak_VOICE_set_xx1_1"]=wasmExports["M"];var _emscripten_bind_espeak_VOICE_get_score_0=Module["_emscripten_bind_espeak_VOICE_get_score_0"]=wasmExports["N"];var _emscripten_bind_espeak_VOICE_set_score_1=Module["_emscripten_bind_espeak_VOICE_set_score_1"]=wasmExports["O"];var _emscripten_bind_espeak_VOICE_get_spare_0=Module["_emscripten_bind_espeak_VOICE_get_spare_0"]=wasmExports["P"];var _emscripten_bind_espeak_VOICE_set_spare_1=Module["_emscripten_bind_espeak_VOICE_set_spare_1"]=wasmExports["Q"];var _emscripten_bind_espeak_VOICE___destroy___0=Module["_emscripten_bind_espeak_VOICE___destroy___0"]=wasmExports["R"];var _emscripten_bind_espeak_EVENT_get_type_0=Module["_emscripten_bind_espeak_EVENT_get_type_0"]=wasmExports["S"];var _emscripten_bind_espeak_EVENT_get_unique_identifier_0=Module["_emscripten_bind_espeak_EVENT_get_unique_identifier_0"]=wasmExports["T"];var _emscripten_bind_espeak_EVENT_get_text_position_0=Module["_emscripten_bind_espeak_EVENT_get_text_position_0"]=wasmExports["U"];var _emscripten_bind_espeak_EVENT_get_length_0=Module["_emscripten_bind_espeak_EVENT_get_length_0"]=wasmExports["V"];var _emscripten_bind_espeak_EVENT_get_audio_position_0=Module["_emscripten_bind_espeak_EVENT_get_audio_position_0"]=wasmExports["W"];var _emscripten_bind_espeak_EVENT_get_sample_0=Module["_emscripten_bind_espeak_EVENT_get_sample_0"]=wasmExports["X"];var _emscripten_bind_espeak_EVENT_get_user_data_0=Module["_emscripten_bind_espeak_EVENT_get_user_data_0"]=wasmExports["Y"];var _emscripten_bind_espeak_EVENT___destroy___0=Module["_emscripten_bind_espeak_EVENT___destroy___0"]=wasmExports["Z"];var _emscripten_bind_eSpeakNGWorker_eSpeakNGWorker_0=Module["_emscripten_bind_eSpeakNGWorker_eSpeakNGWorker_0"]=wasmExports["_"];var _espeak_Initialize=Module["_espeak_Initialize"]=wasmExports["$"];var _emscripten_bind_eSpeakNGWorker_synth__2=Module["_emscripten_bind_eSpeakNGWorker_synth__2"]=wasmExports["aa"];var _espeak_SetVoiceByName=Module["_espeak_SetVoiceByName"]=wasmExports["ba"];var _emscripten_bind_eSpeakNGWorker_synth_ipa__2=Module["_emscripten_bind_eSpeakNGWorker_synth_ipa__2"]=wasmExports["ca"];var _emscripten_bind_eSpeakNGWorker_getSizeOfEventStruct__0=Module["_emscripten_bind_eSpeakNGWorker_getSizeOfEventStruct__0"]=wasmExports["da"];var _emscripten_bind_eSpeakNGWorker_set_voice_2=Module["_emscripten_bind_eSpeakNGWorker_set_voice_2"]=wasmExports["ea"];var _emscripten_bind_eSpeakNGWorker_set_voice_3=Module["_emscripten_bind_eSpeakNGWorker_set_voice_3"]=wasmExports["fa"];var _emscripten_bind_eSpeakNGWorker_set_voice_4=Module["_emscripten_bind_eSpeakNGWorker_set_voice_4"]=wasmExports["ga"];var _emscripten_bind_eSpeakNGWorker_set_voice_5=Module["_emscripten_bind_eSpeakNGWorker_set_voice_5"]=wasmExports["ha"];var _emscripten_bind_eSpeakNGWorker_get_voices_1=Module["_emscripten_bind_eSpeakNGWorker_get_voices_1"]=wasmExports["ia"];var _emscripten_bind_eSpeakNGWorker_set_voices_2=Module["_emscripten_bind_eSpeakNGWorker_set_voices_2"]=wasmExports["ja"];var _emscripten_bind_eSpeakNGWorker_get_samplerate_0=Module["_emscripten_bind_eSpeakNGWorker_get_samplerate_0"]=wasmExports["ka"];var _emscripten_bind_eSpeakNGWorker_get_rate_0=Module["_emscripten_bind_eSpeakNGWorker_get_rate_0"]=wasmExports["la"];var _emscripten_bind_eSpeakNGWorker_set_rate_1=Module["_emscripten_bind_eSpeakNGWorker_set_rate_1"]=wasmExports["ma"];var _emscripten_bind_eSpeakNGWorker_get_pitch_0=Module["_emscripten_bind_eSpeakNGWorker_get_pitch_0"]=wasmExports["na"];var _emscripten_bind_eSpeakNGWorker_set_pitch_1=Module["_emscripten_bind_eSpeakNGWorker_set_pitch_1"]=wasmExports["oa"];var _emscripten_bind_eSpeakNGWorker___destroy___0=Module["_emscripten_bind_eSpeakNGWorker___destroy___0"]=wasmExports["pa"];var _emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_LIST_TERMINATED=Module["_emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_LIST_TERMINATED"]=wasmExports["qa"];var _emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_WORD=Module["_emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_WORD"]=wasmExports["ra"];var _emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_SENTENCE=Module["_emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_SENTENCE"]=wasmExports["sa"];var _emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_MARK=Module["_emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_MARK"]=wasmExports["ta"];var _emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_PLAY=Module["_emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_PLAY"]=wasmExports["ua"];var _emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_END=Module["_emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_END"]=wasmExports["va"];var _emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_MSG_TERMINATED=Module["_emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_MSG_TERMINATED"]=wasmExports["wa"];var _emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_PHONEME=Module["_emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_PHONEME"]=wasmExports["xa"];var _emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_SAMPLERATE=Module["_emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_SAMPLERATE"]=wasmExports["ya"];var _espeak_TextToPhonemesWithTerminator=Module["_espeak_TextToPhonemesWithTerminator"]=wasmExports["Aa"];function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}preInit();run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare(){if(ensureCache.needed){for(var i=0;i<ensureCache.temps.length;i++){Module["_webidl_free"](ensureCache.temps[i])}ensureCache.temps.length=0;Module["_webidl_free"](ensureCache.buffer);ensureCache.buffer=0;ensureCache.size+=ensureCache.needed;ensureCache.needed=0}if(!ensureCache.buffer){ensureCache.size+=128;ensureCache.buffer=Module["_webidl_malloc"](ensureCache.size);assert(ensureCache.buffer)}ensureCache.pos=0},alloc(array,view){assert(ensureCache.buffer);var bytes=view.BYTES_PER_ELEMENT;var len=array.length*bytes;len=alignMemory(len,8);var ret;if(ensureCache.pos+len>=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_webidl_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret},copy(array,view,offset){offset/=view.BYTES_PER_ELEMENT;for(var i=0;i<array.length;i++){view[offset+i]=array[i]}}};function ensureString(value){if(typeof value==="string"){var intArray=intArrayFromString(value);var offset=ensureCache.alloc(intArray,HEAP8);ensureCache.copy(intArray,HEAP8,offset);return offset}return value}function VoidPtr(){throw"cannot construct a VoidPtr, no constructor in IDL"}VoidPtr.prototype=Object.create(WrapperObject.prototype);VoidPtr.prototype.constructor=VoidPtr;VoidPtr.prototype.__class__=VoidPtr;VoidPtr.__cache__={};Module["VoidPtr"]=VoidPtr;VoidPtr.prototype["__destroy__"]=VoidPtr.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_VoidPtr___destroy___0(self)};function espeak_VOICE(){throw"cannot construct a espeak_VOICE, no constructor in IDL"}espeak_VOICE.prototype=Object.create(WrapperObject.prototype);espeak_VOICE.prototype.constructor=espeak_VOICE;espeak_VOICE.prototype.__class__=espeak_VOICE;espeak_VOICE.__cache__={};Module["espeak_VOICE"]=espeak_VOICE;espeak_VOICE.prototype["get_name"]=espeak_VOICE.prototype.get_name=function(){var self=this.ptr;return UTF8ToString(_emscripten_bind_espeak_VOICE_get_name_0(self))};espeak_VOICE.prototype["set_name"]=espeak_VOICE.prototype.set_name=function(arg0){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_espeak_VOICE_set_name_1(self,arg0)};Object.defineProperty(espeak_VOICE.prototype,"name",{get:espeak_VOICE.prototype.get_name,set:espeak_VOICE.prototype.set_name});espeak_VOICE.prototype["get_languages"]=espeak_VOICE.prototype.get_languages=function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return _emscripten_bind_espeak_VOICE_get_languages_1(self,arg0)};Object.defineProperty(espeak_VOICE.prototype,"languages",{get:espeak_VOICE.prototype.get_languages});espeak_VOICE.prototype["get_identifier"]=espeak_VOICE.prototype.get_identifier=function(){var self=this.ptr;return UTF8ToString(_emscripten_bind_espeak_VOICE_get_identifier_0(self))};espeak_VOICE.prototype["set_identifier"]=espeak_VOICE.prototype.set_identifier=function(arg0){var self=this.ptr;ensureCache.prepare();if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_espeak_VOICE_set_identifier_1(self,arg0)};Object.defineProperty(espeak_VOICE.prototype,"identifier",{get:espeak_VOICE.prototype.get_identifier,set:espeak_VOICE.prototype.set_identifier});espeak_VOICE.prototype["get_gender"]=espeak_VOICE.prototype.get_gender=function(){var self=this.ptr;return _emscripten_bind_espeak_VOICE_get_gender_0(self)};espeak_VOICE.prototype["set_gender"]=espeak_VOICE.prototype.set_gender=function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_espeak_VOICE_set_gender_1(self,arg0)};Object.defineProperty(espeak_VOICE.prototype,"gender",{get:espeak_VOICE.prototype.get_gender,set:espeak_VOICE.prototype.set_gender});espeak_VOICE.prototype["get_age"]=espeak_VOICE.prototype.get_age=function(){var self=this.ptr;return _emscripten_bind_espeak_VOICE_get_age_0(self)};espeak_VOICE.prototype["set_age"]=espeak_VOICE.prototype.set_age=function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_espeak_VOICE_set_age_1(self,arg0)};Object.defineProperty(espeak_VOICE.prototype,"age",{get:espeak_VOICE.prototype.get_age,set:espeak_VOICE.prototype.set_age});espeak_VOICE.prototype["get_variant"]=espeak_VOICE.prototype.get_variant=function(){var self=this.ptr;return _emscripten_bind_espeak_VOICE_get_variant_0(self)};espeak_VOICE.prototype["set_variant"]=espeak_VOICE.prototype.set_variant=function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_espeak_VOICE_set_variant_1(self,arg0)};Object.defineProperty(espeak_VOICE.prototype,"variant",{get:espeak_VOICE.prototype.get_variant,set:espeak_VOICE.prototype.set_variant});espeak_VOICE.prototype["get_xx1"]=espeak_VOICE.prototype.get_xx1=function(){var self=this.ptr;return _emscripten_bind_espeak_VOICE_get_xx1_0(self)};espeak_VOICE.prototype["set_xx1"]=espeak_VOICE.prototype.set_xx1=function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_espeak_VOICE_set_xx1_1(self,arg0)};Object.defineProperty(espeak_VOICE.prototype,"xx1",{get:espeak_VOICE.prototype.get_xx1,set:espeak_VOICE.prototype.set_xx1});espeak_VOICE.prototype["get_score"]=espeak_VOICE.prototype.get_score=function(){var self=this.ptr;return _emscripten_bind_espeak_VOICE_get_score_0(self)};espeak_VOICE.prototype["set_score"]=espeak_VOICE.prototype.set_score=function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_espeak_VOICE_set_score_1(self,arg0)};Object.defineProperty(espeak_VOICE.prototype,"score",{get:espeak_VOICE.prototype.get_score,set:espeak_VOICE.prototype.set_score});espeak_VOICE.prototype["get_spare"]=espeak_VOICE.prototype.get_spare=function(){var self=this.ptr;return _emscripten_bind_espeak_VOICE_get_spare_0(self)};espeak_VOICE.prototype["set_spare"]=espeak_VOICE.prototype.set_spare=function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_espeak_VOICE_set_spare_1(self,arg0)};Object.defineProperty(espeak_VOICE.prototype,"spare",{get:espeak_VOICE.prototype.get_spare,set:espeak_VOICE.prototype.set_spare});espeak_VOICE.prototype["__destroy__"]=espeak_VOICE.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_espeak_VOICE___destroy___0(self)};function espeak_EVENT(){throw"cannot construct a espeak_EVENT, no constructor in IDL"}espeak_EVENT.prototype=Object.create(WrapperObject.prototype);espeak_EVENT.prototype.constructor=espeak_EVENT;espeak_EVENT.prototype.__class__=espeak_EVENT;espeak_EVENT.__cache__={};Module["espeak_EVENT"]=espeak_EVENT;espeak_EVENT.prototype["get_type"]=espeak_EVENT.prototype.get_type=function(){var self=this.ptr;return _emscripten_bind_espeak_EVENT_get_type_0(self)};Object.defineProperty(espeak_EVENT.prototype,"type",{get:espeak_EVENT.prototype.get_type});espeak_EVENT.prototype["get_unique_identifier"]=espeak_EVENT.prototype.get_unique_identifier=function(){var self=this.ptr;return _emscripten_bind_espeak_EVENT_get_unique_identifier_0(self)};Object.defineProperty(espeak_EVENT.prototype,"unique_identifier",{get:espeak_EVENT.prototype.get_unique_identifier});espeak_EVENT.prototype["get_text_position"]=espeak_EVENT.prototype.get_text_position=function(){var self=this.ptr;return _emscripten_bind_espeak_EVENT_get_text_position_0(self)};Object.defineProperty(espeak_EVENT.prototype,"text_position",{get:espeak_EVENT.prototype.get_text_position});espeak_EVENT.prototype["get_length"]=espeak_EVENT.prototype.get_length=function(){var self=this.ptr;return _emscripten_bind_espeak_EVENT_get_length_0(self)};Object.defineProperty(espeak_EVENT.prototype,"length",{get:espeak_EVENT.prototype.get_length});espeak_EVENT.prototype["get_audio_position"]=espeak_EVENT.prototype.get_audio_position=function(){var self=this.ptr;return _emscripten_bind_espeak_EVENT_get_audio_position_0(self)};Object.defineProperty(espeak_EVENT.prototype,"audio_position",{get:espeak_EVENT.prototype.get_audio_position});espeak_EVENT.prototype["get_sample"]=espeak_EVENT.prototype.get_sample=function(){var self=this.ptr;return _emscripten_bind_espeak_EVENT_get_sample_0(self)};Object.defineProperty(espeak_EVENT.prototype,"sample",{get:espeak_EVENT.prototype.get_sample});espeak_EVENT.prototype["get_user_data"]=espeak_EVENT.prototype.get_user_data=function(){var self=this.ptr;return _emscripten_bind_espeak_EVENT_get_user_data_0(self)};Object.defineProperty(espeak_EVENT.prototype,"user_data",{get:espeak_EVENT.prototype.get_user_data});espeak_EVENT.prototype["__destroy__"]=espeak_EVENT.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_espeak_EVENT___destroy___0(self)};function eSpeakNGWorker(){this.ptr=_emscripten_bind_eSpeakNGWorker_eSpeakNGWorker_0();getCache(eSpeakNGWorker)[this.ptr]=this}eSpeakNGWorker.prototype=Object.create(WrapperObject.prototype);eSpeakNGWorker.prototype.constructor=eSpeakNGWorker;eSpeakNGWorker.prototype.__class__=eSpeakNGWorker;eSpeakNGWorker.__cache__={};Module["eSpeakNGWorker"]=eSpeakNGWorker;eSpeakNGWorker.prototype["synth_"]=eSpeakNGWorker.prototype.synth_=function(aText,aCallback){var self=this.ptr;ensureCache.prepare();if(aText&&typeof aText==="object")aText=aText.ptr;else aText=ensureString(aText);if(aCallback&&typeof aCallback==="object")aCallback=aCallback.ptr;_emscripten_bind_eSpeakNGWorker_synth__2(self,aText,aCallback)};eSpeakNGWorker.prototype["synth_ipa_"]=eSpeakNGWorker.prototype.synth_ipa_=function(aText,virtualFileName){var self=this.ptr;ensureCache.prepare();if(aText&&typeof aText==="object")aText=aText.ptr;else aText=ensureString(aText);if(virtualFileName&&typeof virtualFileName==="object")virtualFileName=virtualFileName.ptr;else virtualFileName=ensureString(virtualFileName);return _emscripten_bind_eSpeakNGWorker_synth_ipa__2(self,aText,virtualFileName)};eSpeakNGWorker.prototype["getSizeOfEventStruct_"]=eSpeakNGWorker.prototype.getSizeOfEventStruct_=function(){var self=this.ptr;return _emscripten_bind_eSpeakNGWorker_getSizeOfEventStruct__0(self)};eSpeakNGWorker.prototype["set_voice"]=eSpeakNGWorker.prototype.set_voice=function(aName,aLang,gender,age,aVariant){var self=this.ptr;ensureCache.prepare();if(aName&&typeof aName==="object")aName=aName.ptr;else aName=ensureString(aName);if(aLang&&typeof aLang==="object")aLang=aLang.ptr;else aLang=ensureString(aLang);if(gender&&typeof gender==="object")gender=gender.ptr;if(age&&typeof age==="object")age=age.ptr;if(aVariant&&typeof aVariant==="object")aVariant=aVariant.ptr;if(gender===undefined){return _emscripten_bind_eSpeakNGWorker_set_voice_2(self,aName,aLang)}if(age===undefined){return _emscripten_bind_eSpeakNGWorker_set_voice_3(self,aName,aLang,gender)}if(aVariant===undefined){return _emscripten_bind_eSpeakNGWorker_set_voice_4(self,aName,aLang,gender,age)}return _emscripten_bind_eSpeakNGWorker_set_voice_5(self,aName,aLang,gender,age,aVariant)};eSpeakNGWorker.prototype["get_voices"]=eSpeakNGWorker.prototype.get_voices=function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;return wrapPointer(_emscripten_bind_eSpeakNGWorker_get_voices_1(self,arg0),espeak_VOICE)};eSpeakNGWorker.prototype["set_voices"]=eSpeakNGWorker.prototype.set_voices=function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;if(arg1&&typeof arg1==="object")arg1=arg1.ptr;_emscripten_bind_eSpeakNGWorker_set_voices_2(self,arg0,arg1)};Object.defineProperty(eSpeakNGWorker.prototype,"voices",{get:eSpeakNGWorker.prototype.get_voices,set:eSpeakNGWorker.prototype.set_voices});eSpeakNGWorker.prototype["get_samplerate"]=eSpeakNGWorker.prototype.get_samplerate=function(){var self=this.ptr;return _emscripten_bind_eSpeakNGWorker_get_samplerate_0(self)};Object.defineProperty(eSpeakNGWorker.prototype,"samplerate",{get:eSpeakNGWorker.prototype.get_samplerate});eSpeakNGWorker.prototype["get_rate"]=eSpeakNGWorker.prototype.get_rate=function(){var self=this.ptr;return _emscripten_bind_eSpeakNGWorker_get_rate_0(self)};eSpeakNGWorker.prototype["set_rate"]=eSpeakNGWorker.prototype.set_rate=function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_eSpeakNGWorker_set_rate_1(self,arg0)};Object.defineProperty(eSpeakNGWorker.prototype,"rate",{get:eSpeakNGWorker.prototype.get_rate,set:eSpeakNGWorker.prototype.set_rate});eSpeakNGWorker.prototype["get_pitch"]=eSpeakNGWorker.prototype.get_pitch=function(){var self=this.ptr;return _emscripten_bind_eSpeakNGWorker_get_pitch_0(self)};eSpeakNGWorker.prototype["set_pitch"]=eSpeakNGWorker.prototype.set_pitch=function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;_emscripten_bind_eSpeakNGWorker_set_pitch_1(self,arg0)};Object.defineProperty(eSpeakNGWorker.prototype,"pitch",{get:eSpeakNGWorker.prototype.get_pitch,set:eSpeakNGWorker.prototype.set_pitch});eSpeakNGWorker.prototype["__destroy__"]=eSpeakNGWorker.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_eSpeakNGWorker___destroy___0(self)};(function(){function setupEnums(){Module["espeakEVENT_LIST_TERMINATED"]=_emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_LIST_TERMINATED();Module["espeakEVENT_WORD"]=_emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_WORD();Module["espeakEVENT_SENTENCE"]=_emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_SENTENCE();Module["espeakEVENT_MARK"]=_emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_MARK();Module["espeakEVENT_PLAY"]=_emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_PLAY();Module["espeakEVENT_END"]=_emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_END();Module["espeakEVENT_MSG_TERMINATED"]=_emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_MSG_TERMINATED();Module["espeakEVENT_PHONEME"]=_emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_PHONEME();Module["espeakEVENT_SAMPLERATE"]=_emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_SAMPLERATE()}if(runtimeInitialized)setupEnums();else addOnInit(setupEnums)})();eSpeakNGWorker.prototype.list_voices=function(){var voices=[];var i;for(var voice=this.get_voices(i=0);voice.ptr!=0;voice=this.get_voices(++i)){var v={name:voice.get_name(),identifier:voice.get_identifier(),languages:[]};var ii=0;var byte=voice.get_languages(ii);function nullTerminatedString(offset){var str="";var index=offset;var b=voice.get_languages(index++);while(b!=0){str+=String.fromCharCode(b);b=voice.get_languages(index++)}return str}while(byte!=0){var lang={priority:byte,name:nullTerminatedString(++ii)};v.languages.push(lang);ii+=lang.name.length+1;byte=voice.get_languages(ii)}voices.push(v)}return voices};var eventTypes=["list_terminated","word","sentence","mark","play","end","msg_terminated","phoneme","samplerate"];eSpeakNGWorker.prototype.synthesize=function(aText,aCallback){var eventStructSize=this.getSizeOfEventStruct_();function cb(ptr,length,events_pointer){var data=new Float32Array(length*2);for(var i=0;i<length;i++){data[i*2]=Math.max(-1,Math.min(1,getValue(ptr+i*2,"i16")/32768));data[i*2+1]=data[i*2]}var events=[];var ptr=events_pointer;for(ev=wrapPointer(ptr,espeak_EVENT);ev.get_type()!=Module.espeakEVENT_LIST_TERMINATED;ev=wrapPointer(ptr+=eventStructSize,espeak_EVENT)){events.push({type:eventTypes[ev.get_type()],text_position:ev.get_text_position(),word_length:ev.get_length(),audio_position:ev.get_audio_position()})}return aCallback(data,events)?1:0}var fp=addFunction(cb);this.synth_(aText,fp);removeFunction(fp)};eSpeakNGWorker.prototype.synthesize_ipa=function(aText,aCallback){var ipaVirtualFileName="espeak-ng-ipa-tmp-"+Math.random().toString().substring(2);var res="";var code=this.synth_ipa_(aText,ipaVirtualFileName);if(code==0)res=FS.readFile(ipaVirtualFileName,{encoding:"utf8"});FS.unlink(ipaVirtualFileName);var ret={code,ipa:res};return ret};if(typeof WorkerGlobalScope!=="undefined"){var worker;Module.postRun=Module.postRun||[];Module.postRun.push(function(){worker=new eSpeakNGWorker;postMessage("ready")});onmessage=function(e){if(!worker){throw"eSpeakNGWorker worker not initialized"}var args=e.data.args;var message={callback:e.data.callback,done:true};if(e.data.method=="synthesize"){args.push(function(samples,events){postMessage({callback:e.data.callback,result:[samples.buffer,events]},[samples.buffer])})}message.result=[worker[e.data.method].apply(worker,args)];if(e.data.callback)postMessage(message)}}moduleRtn=readyPromise;
return moduleRtn;
}
);
})();
export default EspeakModule;