Add files via upload

This commit is contained in:
Murat authored and GitHub committed 2023-11-29 18:25:05 +03:00
1 parent 119d0275bd
commit 10f4531375
39 files changed
+10329

No files matched your search

+20
View File
@@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2016-2021 abalabahaha
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+53
View File
@@ -0,0 +1,53 @@
# OpusScript
JS bindings for libopus 1.3.1, ported with Emscripten.
----
## Usage
```js
var OpusScript = require("opusscript");
// 48kHz sampling rate, 20ms frame duration, stereo audio (2 channels)
var samplingRate = 48000;
var frameDuration = 20;
var channels = 2;
// Optimize encoding for audio. Available applications are VOIP, AUDIO, and RESTRICTED_LOWDELAY
var encoder = new OpusScript(samplingRate, channels, OpusScript.Application.AUDIO);
var frameSize = samplingRate * frameDuration / 1000;
// Get PCM data from somewhere and encode it into opus
var pcmData = new Buffer(pcmSource);
var encodedPacket = encoder.encode(pcmData, frameSize);
// Decode the opus packet back into PCM
var decodedPacket = encoder.decode(encodedPacket);
// Delete the encoder when finished with it (Emscripten does not automatically call C++ object destructors)
encoder.delete();
```
## Note: WASM
If your environment doesn't support WASM, you can try the JS-only module. Do note that the JS-only version barely has optimizations due to compiler/toolchain limitations, and should only be used as a last resort.
```js
var encoder = new OpusScript(samplingRate, channels, OpusScript.Application.AUDIO, {
wasm: false
});
```
## Note: TypeScript
Since this module wasn't written for TypeScript, you need to use `import = require` syntax.
```ts
// Import using:
import OpusScript = require("opusscript");
// and NOT:
import OpusScript from "opusscript";
```
+44
View File
@@ -0,0 +1,44 @@
Copyright 2001-2011 Xiph.Org, Skype Limited, Octasic,
Jean-Marc Valin, Timothy B. Terriberry,
CSIRO, Gregory Maxwell, Mark Borgerding,
Erik de Castro Lopo
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
- Neither the name of Internet Society, IETF or IETF Trust, nor the
names of specific contributors, may be used to endorse or promote
products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Opus is subject to the royalty-free patent licenses which are
specified at:
Xiph.Org Foundation:
https://datatracker.ietf.org/ipr/1524/
Microsoft Corporation:
https://datatracker.ietf.org/ipr/1914/
Broadcom Corporation:
https://datatracker.ietf.org/ipr/1526/
+110
View File
@@ -0,0 +1,110 @@
var Module = (function() {
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
return (
function(Module) {
Module = Module || {};
var g;g||(g=typeof Module !== 'undefined' ? Module : {});var aa,ba;g.ready=new Promise(function(b,a){aa=b;ba=a});var r={},t;for(t in g)g.hasOwnProperty(t)&&(r[t]=g[t]);var ca=!1,v=!1,w=!1,da=!1;ca="object"===typeof window;v="function"===typeof importScripts;w="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node;da=!ca&&!w&&!v;var y="",ea,z,fa,ha;
if(w)y=v?require("path").dirname(y)+"/":__dirname+"/",ea=function(b,a){var c=A(b);if(c)return a?c:c.toString();fa||(fa=require("fs"));ha||(ha=require("path"));b=ha.normalize(b);return fa.readFileSync(b,a?null:"utf8")},z=function(b){b=ea(b,!0);b.buffer||(b=new Uint8Array(b));assert(b.buffer);return b},1<process.argv.length&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),g.inspect=function(){return"[Emscripten Module object]"};else if(da)"undefined"!=typeof read&&(ea=function(b){var a=A(b);
return a?ia(a):read(b)}),z=function(b){var a;if(a=A(b))return a;if("function"===typeof readbuffer)return new Uint8Array(readbuffer(b));a=read(b,"binary");assert("object"===typeof a);return a},"undefined"!==typeof print&&("undefined"===typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!==typeof printErr?printErr:print);else if(ca||v)v?y=self.location.href:"undefined"!==typeof document&&document.currentScript&&(y=document.currentScript.src),_scriptDir&&(y=_scriptDir),
0!==y.indexOf("blob:")?y=y.substr(0,y.lastIndexOf("/")+1):y="",ea=function(b){try{var a=new XMLHttpRequest;a.open("GET",b,!1);a.send(null);return a.responseText}catch(c){if(b=A(b))return ia(b);throw c;}},v&&(z=function(b){try{var a=new XMLHttpRequest;a.open("GET",b,!1);a.responseType="arraybuffer";a.send(null);return new Uint8Array(a.response)}catch(c){if(b=A(b))return b;throw c;}});var ka=g.print||console.log.bind(console),la=g.printErr||console.warn.bind(console);
for(t in r)r.hasOwnProperty(t)&&(g[t]=r[t]);r=null;var ma;g.wasmBinary&&(ma=g.wasmBinary);var noExitRuntime;g.noExitRuntime&&(noExitRuntime=g.noExitRuntime);function na(){this.buffer=new ArrayBuffer(oa/65536*65536)}function pa(){}function qa(){this.exports=(
// EMSCRIPTEN_START_ASM
function instantiate(Lg){function Bg(Mg){Mg.set=(function(c,Ng){this[c]=Ng});Mg.get=(function(c){return this[c]});return Mg}var a;var b=new Uint8Array(123);for(var c=25;c>=0;--c){b[48+c]=52+c;b[65+c]=c;b[97+c]=26+c}b[43]=62;b[47]=63;function Cg(Og,Pg,Qg){var d,e,c=0,f=Pg,g=Qg.length,h=Pg+(g*3>>2)-(Qg[g-2]=="=")-(Qg[g-1]=="=");for(;c<g;c+=4){d=b[Qg.charCodeAt(c+1)];e=b[Qg.charCodeAt(c+2)];Og[f++]=b[Qg.charCodeAt(c)]<<2|d>>4;if(f<h)Og[f++]=d<<4|e>>2;if(f<h)Og[f++]=e<<6|b[Qg.charCodeAt(c+3)]}}function Dg(Rg){Cg(a,1024,"RmF0YWwgKGludGVybmFsKSBlcnJvciBpbiAlcywgbGluZSAlZDogJXMKAGFzc2VydGlvbiBmYWlsZWQ6IDAAY2VsdC9jZWx0LmMAAAAAAAAAAJ0+AEBePgDABD4AgO0+AECJPgAAAAAAwEw/AADNPQ==");Cg(a,1153,"/wD/AP8A/wD/AP4BAAH/AP4A/QIAAf8A/gD9AwAB/8AEAADIBAAA2QQAAOoEAAD5BAAACgUAACIFAAAwBQAAc3VjY2VzcwBpbnZhbGlkIGFyZ3VtZW50AGJ1ZmZlciB0b28gc21hbGwAaW50ZXJuYWwgZXJyb3IAY29ycnVwdGVkIHN0cmVhbQByZXF1ZXN0IG5vdCBpbXBsZW1lbnRlZABpbnZhbGlkIHN0YXRlAG1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZAB1bmtub3duIGVycm9y");Cg(a,1377,"IP4f9h/qH9gfwh+oH4gfYh86Hwof2B6gHmIeIh7cHZAdQh3uHJYcOhzYG3IbChucGioatBk6GbwYPBi2Fy4XoBYQFn4V6BROFLATEBNuEsgRHhF0EMYPFg9kDq4N+AxADIQLyAoKCkoJigjGBwIHPgZ4BbIE6gMiA1oCkgHKAAAANv9u/qb93vwW/E77iPrC+f74Ovh297b29vU49Xz0wPMI81LynPHq8DrwjO/i7jjuku3w7FDssusY64Lq8Olg6dLoSujE50TnxuZM5tblZOX25I7kKOTG42rjEuO+4nDiJOLe4Z7hYOEo4fbgxuCe4HjgWOA+4CjgFuAK4ALgAOA=");Cg(a,1649,"DwgHBAsMAwINCgUGCQ4BAAkGAwQFCAECB2Fzc2VydGlvbiBmYWlsZWQ6IGQ9PTEwIHx8IGQ9PTE2AHNpbGsvTkxTRjJBLmMAYXNzZXJ0aW9uIGZhaWxlZDogcHNEZWMtPkxQQ19vcmRlciA9PSAxMCB8fCBwc0RlYy0+TFBDX29yZGVyID09IDE2AHNpbGsvQ05HLmMAYXNzZXJ0aW9uIGZhaWxlZDogZCA+PSA2AHNpbGsvTFBDX2FuYWx5c2lzX2ZpbHRlci5jAGFzc2VydGlvbiBmYWlsZWQ6IChkICYgMSkgPT0gMABhc3NlcnRpb24gZmFpbGVkOiBkIDw9IGxlbgAAuH6aeZp5Zma4fjNzYXNzZXJ0aW9uIGZhaWxlZDogaWR4ID4gMABzaWxrL1BMQy5jAGFzc2VydGlvbiBmYWlsZWQ6IHBzRGVjLT5MUENfb3JkZXIgPj0gMTAAKq/Vyc//QAARAGP/YQEQ/qMAJyu9Vtn/BgBbAFb/ugAXAID8wBjYTe3/3P9mAKf/6P9IAUn8CAolPgAAAAAAAIfHPclAAIAAhv8kADYBAP1IAjMkRUUMAIAAEgBy/yABi/+f/BsQezgAAAAAAAAAAGgCDcj2/ycAOgDS/6z/eAC4AMX+4/0EBQQVQCMAAAAA5j7GxPP/AAAUABoABQDh/9X//P9BAFoABwBj/wj/1P9RAi8GNArHDAAAAAAAAAAA5FcFxQMA8v/s//H/AgAZACUAGQDw/7n/lf+x/zIAJAFvAtYDCAW4BQAAAAAAAAAAlGtnxBEADAAIAAEA9v/q/+L/4P/q/wMALABkAKgA8wA9AX0BrQHHARP1leZZEvMpHwZUIA==");Cg(a,2304,"vQCo/WkCZ3d1AGH/0vsIdDQA3QCo9nRu/P8RAury5WbQ//YCjPClXbD/iQN17wZTnf/MA4LvZkeV/8cDi/AnO5n/gANh8q4upf8FA8/0XiK5/2MCofeYFtL/qQGh+rQLYXNzZXJ0aW9uIGZhaWxlZDogMABzaWxrL3Jlc2FtcGxlcl9wcml2YXRlX2Rvd25fRklSLmMAYXNzZXJ0aW9uIGZhaWxlZDogMABzaWxrL3Jlc2FtcGxlci5jAAYAAwAHAwABCgACBhIKDAQAAgAAAAkEBwQAAwwHB2Fzc2VydGlvbiBmYWlsZWQ6IGluTGVuID49IFMtPkZzX2luX2tIegBhc3NlcnRpb24gZmFpbGVkOiBTLT5pbnB1dERlbGF5IDw9IFMtPkZzX2luX2tIeg==");Cg(a,2624,"/fr06dS2loN4bmJVSDwxKCAZEw8NCwkIBwYFBAMCAQDS0M7Lx8G3qI5oSjQlGxQOCgYEAg==");Cg(a,2688,"38m3p5iKfG9iWE9GPjgyLCcjHxsYFRIQDgwKCAYEAwIBALywm4p3YUMrGgoApXdQPS8jGxQOCQQAcT8AAAAAAAwjPFNshJ20zuQPIDdNZX2Xr8nhEypCWXKJorjR5gwZMkhheJOsyN8aLEVacoeftM3hDRY1UGqCnLTN5A8ZLEBac46oxN4TGD5SZHiRqL7WFh8yT2d4l6rL4xUdLUFqfJarxOAeMUtheY6lutHlExk0Rl10j6bA2xoiPkthdpGnwtkZIThGW3GPpcTfFSIzSGF1kavE3hQdMkNadZCoxd0WHzBCX3WSqMTeGCEzTXSGnrTI4BUcRldqfJWqwtkaITVAU3WYrczhGyJBX2yBm67S4RQaSGNxg5qwyNsiKz1OXXKbsc3lFx02YXyKo7PR5R4mOFl2gZ6yyOcVHTE/VW+Oo8HeGzBNZ4Wes8TX6B0vSmN8l7DG3O0hKj1MXXmbrs/hHTVXcIiaqrzQ4xgeNFSDlqa6y+UlMEBUaHacscnmUQsKCQoJCgnvCO8ICgn8CBcJ7whICxQKWgk/CQoJ4gjiCOII4giSCLcJJAkkCQoJCgkKCSQJJAk/CTIJkAzOCiQJJAkKCeIIrQifCNUIkgicCaoJPwlaCVoJWglaCT8JZwkKCZcN8AtPCJ8I4gjiCOII7wgKCdUI0gxFDBQKWgnHCK0InwiSCJIIQggAEAUPrQg8CjwKZwkKCVoJPwkaCGoMrAw/Ca0I+QmCCSQJCgl3CK0ICg2gDaYKkgjVCJwJMgk/CZ8INQgyCXQJFwk/CVoJdAl0CXQJnAk/CcMOLQ6CCd8JPwniCOII/AifCAAItgyZDJkKHguPCRcJ/Aj8COIITwi/DOQMwQr2Co8J1QjVCMcITwg1CDkLpQtJCj8JZwkyCZIIxwjHCEIImQx9DEkKFAriCIUIxwitCK0IXQhqDO4MtApnCeII4gjiCO8IkghCCEUMyAycCQ0I7wjECT8JtwmCCYUIsw3SDAoJjApXCqoJPwlaCSQJTwhfDc8N3gvwC/wIngetCOII4gjiCEwNJg0nCH8KOQsyCXQJ4giqCewJsA6gDZ4HZApRC98JWgk/CZwJ1QjUC8gMtApIC7QKaghPCO8IugjHCG8OSQ7pB7EHZAqMChQKxAkXCT8JhwxVDTIJGghIC0gLJAm3CccIdwgKDSYNHgvcChcJagjiCO8IQggNCBcJ/AiFCHcIhQg/CUkKjAqMCvkJZwmCCa0I1QitCK0IJAl0CS8KjAreC6wM9gpIC6oJGgj8CAoJMglMCa0IaghPCO8IxAnpCukKPAoUCj8JXA6BDroILgeFCMEKpgpxCtEJnwjpClgMpgr5CR4L0QmFCFoJrQiFCNSylIFsYFVST009Ozk4MzEwLSopKCYkIh8eFQwKAwEA//X07Onh2cu+sK+hlYh9cmZbUUc8NCsjHBQTEgwLBQCzioyUl5WZl6N0Q1I7XEhkWVw=");Cg(a,3808,"EAAAAABjQiQkIiQiIiIiU0UkNCJ0ZkZERLBmREQiQVVEVCR0jZiLqoS7uNiJhPmouYtoZmRERLLaubmq9Ni7u6r0u7vbimebuLmJdLebmIiE2bi4qqTZq5uL9Km4uaqk2N/aitaPvNqo9I2Im6qoitzbi6TbytiJqLr2uYt0udu5imRkhmRmIkREZESoy93aqKeaiGhGpPariYuJm9rbi//+/e4OAwIBAP/+/NojAwIBAP/++tA7BAIBAP/+9sJHCgIBAP/87LdSCAIBAP/867RaEQIBAP/44KthHgQBAP/+7K1fJQcB");Cg(a,4048,"////gwaR///////sXQ9g///////CUxlH3f////+iSSJCov///9J+SSs5rf///8l9RzA6gv///6ZuSTk+aNL///t7QTdEZKv/AAAAAAAAAAD6AAMABgADAAMAAwAEAAMAAwADAM0BAAAgAAoAFC5kAcAKAAAADAAAgA4AAMAOAADgDgAAgA8AANAPAAAgEAAABxcmNkVVZHSDk6KywdDf7w0ZKTdFU2Jwf46dq7vL3OwPFSIzPU5can6ImKe5zeHwChUkMj9PX25+jZ2tvc3d7REUJTM7Tllre4aWpLjN4PAKDyAzQ1FgcIGOnq29zNzsCBUlM0FPYnF+ipuos8DR2gwPIjc/TldsdoOUp7nL2+wQEyAkOE9bbHaImqu6zNztCxwrOkpZaXiHlqW0xNPi8QYQIS48S1xre4mcqbnH1uELEx4sOUpZaXmHmKm6ytrqDBMdLjlHWGR4h Line truncated
// EMSCRIPTEN_START_FUNCS
function Dc(a,b,c,d,e,f,g,h,i,j,k,l){var m=0,n=x(0),s=0,t=0,v=x(0),A=0,B=0,D=0,E=0,F=x(0),H=0,I=0,J=0,K=x(0),L=x(0),M=0,N=x(0),O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=x(0),W=0,X=0,Y=0,Z=0,_=x(0),$=0,aa=0,ba=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ma=0,na=x(0),qa=0;s=ca-624|0;ca=s;q[s+616>>2]=0;q[a+18136>>2]=0;m=-1;a:{if((c|0)<1){break a}H=(e|0)<1276?e:1276;if((H|0)<1){break a}if((H|0)==1){m=-2;if(q[a+144>>2]==(w(c,10)|0)){break a}}B=q[a>>2]+a|0;W=q[a+108>>2]!=2051?q[a+116>>2]:W;Q=q[a+4>>2];m=q[a+168>>2];q[s+416>>2]=s+612;oa(B,10015,s+416|0);q[s+544>>2]=0;R=(f|0)<(m|0)?f:m;b:{c:{d:{e:{f:{g:{if(q[a+44>>2]<7){break g}t=q[a+144>>2];if((t|0)<16e3){break g}aa=1;f=w(q[a+112>>2],c);if((f|0)>=1){m=0;while(1){v=u[(m<<2)+b>>2];F=v>F?F:v;n=n>v?n:v;m=m+1|0;if((f|0)!=(m|0)){continue}break}}X=q[a+7640>>2];P=q[a+7636>>2];_e(a+188|0,q[s+612>>2],g,h,c,i,j,t,R,k,s+544|0);v=x(-F);f=0;if(x(x(1)/x(1<<R))>=(n>v?n:v)){break b}if(u[s+580>>2]>x(.10000000149011612)^1){break c}F=x(u[a+18128>>2]*x(.9990000128746033));f=w(q[a+112>>2],c);if((f|0)<1){break f}m=0;n=x(0);while(1){v=n;n=u[(m<<2)+b>>2];n=x(v+x(n*n));m=m+1|0;if((f|0)!=(m|0)){continue}break}L=x(f|0);if(x(n/L)<F){break d}m=0;n=x(0);while(1){v=n;n=u[(m<<2)+b>>2];n=x(v+x(n*n));m=m+1|0;if((f|0)!=(m|0)){continue}break}break e}X=-1;if(q[a+7648>>2]){xc(a+188|0)}P=-1;break c}n=x(0);L=x(f|0);if(x(x(0)/L)<F){break d}}F=x(n/L)}u[a+18128>>2]=F}q[a+140>>2]=-1;aa=0;f=1}qa=f;q[a+18120>>2]=0;if(q[s+544>>2]){if(q[a+124>>2]==-1e3){f=a;h:{i:{g=q[a+14228>>2];if((g|0)!=1002){if(g){break i}g=s+564|0;break h}g=s+572|0;break h}g=s+568|0}ma=C(+x(x(x(1)-u[g>>2])*x(100))+.5);j:{if(y(ma)<2147483648){g=~~ma;break j}g=-2147483648}q[f+140>>2]=g}f=a;g=q[s+576>>2];h=1101;k:{if((g|0)<13){break k}h=1102;if((g|0)<15){break k}h=1103;if((g|0)<17){break k}h=(g|0)<19?1104:1105}q[f+18120>>2]=h}n=x(0);if(!(q[a+120>>2]==1|q[a+112>>2]!=2)){n=ef(b,c,q[a+144>>2],a+14260|0)}f=c;if(!f){f=q[a+144>>2]/400|0}l:{m:{m=q[a+164>>2];if((m|0)!=-1e3){if((m|0)==-1){break m}g=q[a+144>>2];break l}g=q[a+144>>2];m=w(g,q[a+112>>2])+((w(g,60)|0)/(f|0)|0)|0;break l}g=q[a+144>>2];m=(w(H,g)<<3)/(f|0)|0}q[a+160>>2]=m;O=(g|0)/(c|0)|0;n:{o:{p:{U=q[a+148>>2];q:{if(!U){h=(w(g,12)|0)/(c|0)|0;f=(((h|0)/2|0)+((w(m,12)|0)/8|0)|0)/(h|0)|0;H=(f|0)<(H|0)?f:H;m=(w(H,h)<<3)/12|0;q[a+160>>2]=m;f=1;if((H|0)<2){break q}}r:{if((H|0)<3|(w(O,24)|0)>(m|0)){break r}ba=w(H,O);if((O|0)>49){break p}if((ba|0)<300){break r}if((m|0)>=2400){break o}}f=H}b=q[a+14240>>2];h=b?b:1101;g=0;m=0;b=q[a+14224>>2];i=(O|0)>100?1002:b?b:1e3;b=(O|0)==25&(i|0)!=1e3;c=b?50:O;s:{if((c|0)>16){break s}if(!((c|0)==10|(i|0)!=1e3?(e|0)!=1:0)){b=(c|0)<13;i=1e3;c=(c|0)==12?25:16;break s}g=50/(c|0)|0;b=3;c=50}if((c|0)<=399){while(1){m=m+1|0;c=c<<1;if((c|0)<400){continue}break}m=m<<3}t:{if((h|0)>=1104){e=1103;if((i|0)==1e3){break t}}if((h|0)==1102){e=1101;if((i|0)==1002){break t}}e=(h|0)<1105?(i|0)==1001?1104:h:h}h=q[a+14192>>2];c=d;u:{v:{switch(i-1e3|0){case 0:e=m-16|(e<<5)+96&224;break u;case 2:e=(((e|0)>1102?e:1102)<<5)- -64&96|m|128;break u;default:break v}}e=m+240|e<<4|96}o[c|0]=e|(((h|0)==2)<<2|b);if((b|0)==3){o[d+1|0]=g}m=b>>>0<2?1:2;if(q[a+148>>2]){break a}a=(f|0)>(m|0)?f:m;m=zc(d,m,a)?-3:a;break a}i=q[a+40>>2];S=q[a+44>>2];A=q[a+112>>2];f=m;if((O|0)==50){break n}da=1;f=w(w(A,-40)-20|0,O-50|0)+m|0;break n}i=q[a+40>>2];S=q[a+44>>2];A=q[a+112>>2];f=m}h=U?f:f+((f|0)/-12|0)|0;f=S+90|0;t=(w(h,f)|0)/100|0;Y=w(i,12)+20|0;k=(w(t,i)|0)/(Y|0)|0;j=127;w:{x:{switch(q[a+124>>2]-3001|0){case 1:j=0;break w;case 0:break w;default:break x}}h=q[a+140>>2];if((h|0)>=0){j=w(h,327)>>8;if(q[a+108>>2]!=2049){break w}j=(j|0)<115?j:115;break w}j=q[a+108>>2]==2048?115:48}h=q[a+120>>2];y:{z:{if((h|0)!=-1e3){if((A|0)!=2){break z}q[a+14192>>2]=h;A=h;break y}if((A|0)!=2){break z}A=((w(w(j,j),2e3)>>>14|0)+(q[a+14192>>2]==2?16e3:18e3)|0)<(t-k|0)?2:1}q[a+14192>>2]=A}E=!(q[s+544>>2]|aa)&q[a+184>>2]!=0;q[a+56>>2]=E;k=da?w(w(A,-40)-20|0,O-50|0)+m|0:m;I=(w(U?k:((k|0)/-12|0)+k|0,f)|0)/100|0;h=(w(I,i)|0)/(Y|0)|0;D=q[a+108>>2];A:{if((D|0)==2051){k=1002;q[a+14224>>2]=1002;J=a+14224|0;h=((g|0)/100|0)>(c|0);break A}t=q[a+136>>2];B:{if((t|0)==-1e3){k=a;Z=I-h|0;K=x(x(1)-n);v=x(x(n*x(1e4))+x(K*x(1e4)));C:{if(x(y(v))<x(2147483648)){h=~~v;break C}h=-2147483648}t=h;n=x(x(n*x(44e3))+x(K*x(64e3)));D:{if(x(y(n))<x(2147483648)){I=~~n;break D}I=-2147483648}h=t+(w(I-h|0,w(j,j))>>14)|0;h=(D|0)==2048?h+8e3|0:h;I=h-4e3|0;D=h+4e3|0;t=h;h=q[a+14228>>2];t=(Z|0)<(((h|0)==1002?I:(h|0)>0?D:t)|0)?1e3:1002;q[k+14224>>2]=t;if(!(!q[a+48>>2]|128-j>>4>=(i|0))){q[a+14224>>2]=1e3;t=1e3}h=(w(da?9e3:6e3,c)|0)/(g<<3)|0;if((h|0)<=(H|0)?!(E&(j|0)>100):0){break B}t=(h|0)>(H|0)?1002:1e3}q[a+14224>>2]=t}J=a+14224|0;g=(g|0)/100|0;h=(g|0)>(c|0);if((c|0)>=(g|0)){k=t;break A}k=1002;if((t|0)==1002){k=t;break A}q[J>>2]=1002}if(q[a+176>>2]){q[J>>2]=1002;k=1002}E:{F:{G:{D=q[a+14228>>2];if((D|0)<1){break G}if(!((k|0)!=1002?(D|0)==1002:0)){if((k|0)!=1002){break G}g=1002;if((D|0)==1002){break F}}g=1002;ga=1;H:{if((k|0)!=1002){I=1;g=k;break H}I=0;t=0;if(h){break E}q[J>>2]=D;ga=0;T=1;g=D}t=1;break ELine truncated
function Ic(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,r=0,s=0,t=0;if((d|0)>=1){j=q[a+20>>2];g=q[a+16>>2];e=q[a+12>>2];h=q[a+8>>2];i=q[a+4>>2];f=q[a>>2];while(1){k=m<<2;n=p[(m<<1)+c>>1]<<10;l=n-f|0;l=(w(l&65535,1746)>>>16|0)+w(l>>16,1746)|0;r=f+l|0;f=r-i|0;s=(w(f&65535,14986)>>>16|0)+w(f>>16,14986)|0;f=i+s|0;i=f-h|0;f=((w(i&65535,-26453)>>16)+w(i>>16,-26453)|0)+f|0;h=(f>>9)+1>>1;p[k+b>>1]=(f|0)>33553919?32767:(h|0)>-32768?h:-32768;h=(k|2)+b|0;o=e;e=n-e|0;k=(w(e&65535,6854)>>>16|0)+w(e>>16,6854)|0;t=o+k|0;e=t-g|0;o=(w(e&65535,25769)>>>16|0)+w(e>>16,25769)|0;e=g+o|0;g=e-j|0;e=((w(g&65535,-9994)>>16)+w(g>>16,-9994)|0)+e|0;j=(e>>9)+1>>1;p[h>>1]=(e|0)>33553919?32767:(j|0)>-32768?j:-32768;j=e+g|0;h=f+i|0;g=t+o|0;i=r+s|0;e=k+n|0;f=n+l|0;m=m+1|0;if((m|0)!=(d|0)){continue}break}q[a+20>>2]=j;q[a+16>>2]=g;q[a+12>>2]=e;q[a+8>>2]=h;q[a+4>>2]=i;q[a>>2]=f}}function Ub(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{if((d|0)>0){if((c|0)<=0){break b}if((c|0)<(d|0)){break a}while(1){q[(e<<2)+b>>2]=e;e=e+1|0;if((e|0)!=(d|0)){continue}break}f=1;if((d|0)>1){while(1){j=q[(f<<2)+a>>2];e=f;c:{while(1){g=e-1|0;h=g<<2;k=q[h+a>>2];if((k|0)<=(j|0)){break c}i=e<<2;q[i+a>>2]=k;q[b+i>>2]=q[b+h>>2];h=(e|0)>1;e=g;if(h){continue}break}e=0}e=e<<2;q[e+a>>2]=j;q[b+e>>2]=f;f=f+1|0;if((f|0)!=(d|0)){continue}break}}if((c|0)>(d|0)){j=d-2|0;k=((d<<2)+a|0)-4|0;f=d;while(1){h=q[(f<<2)+a>>2];if((h|0)<q[k>>2]){e=j;g=e;d:{if((d|0)<2){break d}while(1){g=e<<2;i=q[g+a>>2];if((i|0)<=(h|0)){g=e;break d}l=g+4|0;q[l+a>>2]=i;q[b+l>>2]=q[b+g>>2];g=-1;i=(e|0)>0;e=e-1|0;if(i){continue}break}}e=(g<<2)+4|0;q[e+a>>2]=h;q[b+e>>2]=f}f=f+1|0;if((f|0)!=(c|0)){continue}break}}return}ja(8884,8908,51);G()}ja(8920,8908,52);G()}ja(8944,8908,53);G()}function Da(a){var b=0,c=0,d=0,e=0,f=0,g=0;Hg(+a);e=Eg(1)|0;Eg(0)|0;b=e;e=b>>>31|0;a:{b:{c:{d:{d=a;e:{f:{b=b&2147483647;g:{if(b>>>0>=1082532651){Hg(+a);b=Eg(1)|0;b=b&2147483647;if((b|0)==2146435072&(Eg(0)|0)!=0|b>>>0>2146435072){return a}if(!(a>709.782712893384^1)){return a*8.98846567431158e+307}if(!(a<-745.1332191019411)|a<-708.3964185322641^1){break g}break b}if(b>>>0<1071001155){break d}if(b>>>0<1072734898){break f}}a=a*1.4426950408889634+v[(e<<3)+54256>>3];if(y(a)<2147483648){b=~~a;break e}b=-2147483648;break e}b=(e^1)-e|0}c=+(b|0);a=d+c*-.6931471803691238;f=c*1.9082149292705877e-10;d=a-f;break c}if(b>>>0<=1043333120){break a}b=0;d=a}c=d;g=a;c=c*c;a=d-c*(c*(c*(c*(c*4.1381367970572385e-8+ -16533902205465252e-22)+6613756321437934e-20)+ -.0027777777777015593)+.16666666666666602);c=g+(d*a/(2-a)-f)+1;if(!b){break b}c=Ja(c,b)}return c}return a+1}function uf(a,b,c,d){var e=0,f=0,g=0,h=0,i=x(0),j=x(0),k=0,l=0,m=0;e=ca-1696|0;ca=e;o[a+4767|0]=4;g=q[a+4640>>2];h=g+q[a+4588>>2]|0;i=Kc(e+1632|0,c,d,h,q[a+4580>>2],g);a:{if(q[a+4664>>2]|!q[a+4632>>2]|q[a+4580>>2]!=4){break a}f=3;d=Kc(e+1536|0,(h<<3)+c|0,d,h,2,q[a+4640>>2]);Mc(b,e+1536|0,q[a+4640>>2]);k=a+4500|0;l=h<<1;i=x(i-d);j=x(3.4028234663852886e+38);while(1){g=f;Eb(e+1600|0,k,b,g,q[a+4640>>2]);zf(e+1536|0,e+1600|0,q[a+4640>>2]);eb(e,e+1536|0,c,l,q[a+4640>>2]);f=q[a+4640>>2];m=ta((f<<2)+e|0,h-f|0);f=q[a+4640>>2];d=x(m+ta(((f<<2)+e|0)+(h<<2)|0,h-f|0));b:{if(!(d<i^1)){o[a+4767|0]=g;i=d;break b}if(d>j){break a}}f=g-1|0;j=d;if(g){continue}break}}c:{if(r[a+4767|0]==4){Mc(b,e+1632|0,q[a+4640>>2]);if(r[a+4767|0]==4){break c}}if(q[a+4580>>2]==4?!(q[a+4664>>2]|!q[a+4632>>2]):0){break c}ja(38228,38393,103);G()}ca=e+1696|0}function ma(a,b,c,d){var e=0,f=0,g=0;f=q[a+28>>2];d=f>>>d|0;e=a;a:{if((b|0)>=1){b=b+c|0;c=b-1|0;q[a+32>>2]=(f+q[a+32>>2]|0)-w(d,r[c|0]);d=w(d,r[c|0]-r[b|0]|0);break a}d=f-w(d,r[b+c|0])|0}q[e+28>>2]=d;if(d>>>0<=8388608){b=q[a+32>>2];while(1){f=b>>>23|0;b:{if((f|0)!=255){c=b>>>31|0;e=q[a+40>>2];if((e|0)>=0){b=a;d=q[a+24>>2];if(t[a+4>>2]>d+q[a+8>>2]>>>0){q[a+24>>2]=d+1;o[d+q[a>>2]|0]=c+e;d=0}else{d=-1}q[b+44>>2]=d|q[a+44>>2]}b=q[a+36>>2];if(b){g=c-1|0;while(1){d=-1;c=a;e=q[a+24>>2];if(t[a+4>>2]>e+q[a+8>>2]>>>0){q[a+24>>2]=e+1;o[e+q[a>>2]|0]=g;d=0;b=q[a+36>>2]}b=b-1|0;q[c+36>>2]=b;q[a+44>>2]=q[a+44>>2]|d;if(b){continue}break}}q[a+40>>2]=f&255;d=q[a+28>>2];b=q[a+32>>2];break b}q[a+36>>2]=q[a+36>>2]+1}d=d<<8;q[a+28>>2]=d;b=b<<8&2147483392;q[a+32>>2]=b;q[a+20>>2]=q[a+20>>2]+8;if(d>>>0<8388609){continue}break}}}function Fe(a,b,c){var d=0,e=0,f=0;if(!(!(1<<b&69888)|b>>>0>16)){a:{b:{d=q[a+2324>>2];switch(d-2|0){case 0:case 2:break a;default:break b}}ja(6652,6630,44);G()}q[a+2332>>2]=w(b,5);d=w(d,w(b,327680)>>16);c:{d:{if(!(q[a+2320>>2]==(c|0)?q[a+2316>>2]==(b|0):0)){e=cb(a+2432|0,w(b,1e3),c,0);q[a+2320>>2]=c;if(q[a+2316>>2]!=(b|0)){break d}}f=1;if((d|0)==q[a+2328>>2]){break c}}c=q[a+2324>>2]==4;q[a+2384>>2]=(b|0)==8?c?2722:2745:c?2688:2733;if(!f){q[a+2336>>2]=w(b,20);c=(b&-5)==8;q[a+2732>>2]=c?4152:6276;q[a+2340>>2]=c?10:16;c=6448;e:{f:{switch(b-12|0){default:c=6433;if((b|0)==8){break e}ja(6739,6630,89);G();case 0:break f;case 4:break e}}c=6442}q[a+2376>>2]=1;q[a+2380>>2]=c;q[a+4164>>2]=0;o[a+2312|0]=10;q[a+2308>>2]=100;la(a+1284|0,0,1024)}q[a+2328>>2]=d;q[a+2316>>2]=b}reLine truncated
function Ce(){var a=0;a=ca-16|0;ca=a;q[a+12>>2]=52557;K(58240,q[a+12>>2],4,0,-1);ca=a+16|0}function Ae(){var a=0;a=ca-16|0;ca=a;q[a+12>>2]=52575;K(58264,q[a+12>>2],4,0,-1);ca=a+16|0}function ze(){var a=0;a=ca-16|0;ca=a;q[a+12>>2]=52589;S(58276,q[a+12>>2],4);ca=a+16|0}function ye(){var a=0;a=ca-16|0;ca=a;q[a+12>>2]=52595;S(58288,q[a+12>>2],8);ca=a+16|0}function xe(){var a=0;a=ca-16|0;ca=a;q[a+12>>2]=52706;J(53684,0,q[a+12>>2]);ca=a+16|0}function we(){var a=0;a=ca-16|0;ca=a;q[a+12>>2]=52950;J(53404,4,q[a+12>>2]);ca=a+16|0}function ve(){var a=0;a=ca-16|0;ca=a;q[a+12>>2]=52980;J(53364,5,q[a+12>>2]);ca=a+16|0}function ue(){var a=0;a=ca-16|0;ca=a;q[a+12>>2]=53218;J(53324,6,q[a+12>>2]);ca=a+16|0}function te(){var a=0;a=ca-16|0;ca=a;q[a+12>>2]=53249;J(53284,7,q[a+12>>2]);ca=a+16|0}function qc(a){var b=0;b=ca-16|0;ca=b;q[b+12>>2]=a;J(53644,0,q[b+12>>2]);ca=b+16|0}function pc(a){var b=0;b=ca-16|0;ca=b;q[b+12>>2]=a;J(53604,1,q[b+12>>2]);ca=b+16|0}function nc(a){var b=0;b=ca-16|0;ca=b;q[b+12>>2]=a;J(53564,2,q[b+12>>2]);ca=b+16|0}function mc(a){var b=0;b=ca-16|0;ca=b;q[b+12>>2]=a;J(53524,3,q[b+12>>2]);ca=b+16|0}function lc(a){var b=0;b=ca-16|0;ca=b;q[b+12>>2]=a;J(53484,4,q[b+12>>2]);ca=b+16|0}function kc(a){var b=0;b=ca-16|0;ca=b;q[b+12>>2]=a;J(53444,5,q[b+12>>2]);ca=b+16|0}function re(a){var b=0,c=0;b=We(a)+1|0;c=Ra(b);if(!c){return 0}return ka(c,a,b)}function Yd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(qa(a,q[b+8>>2],0)){vb(b,c,d)}}function jd(){var a=0;Ve();a=ca-16|0;ca=a;q[a+12>>2]=58612;rc();ca=a+16|0}function ie(a,b){var c=0;c=ca-16|0;ca=c;q[c+12>>2]=b;oe(a,b);ca=c+16|0}function Md(a){a=a|0;return(a+7>>>0<=7?q[1184-(a<<2)>>2]:1353)|0}function bc(a,b){var c=0,d=0;c=b,d=na(a,6377,8),q[c>>2]=d}function be(a,b,c){a=a|0;b=b|0;c=c|0;return qa(a,b,0)|0}function Ia(a){a=Ra(a?a:1);if(!a){P();G()}return a}function ec(a,b){if(!a){return 0}return ee(a,b)}function Ha(a,b,c){if(!(r[a|0]&32)){Xe(b,c,a)}}function yg(a,b,c,d){a=wg(a,b,c,d);return a}function ge(a){a=a|0;return _(q[a+60>>2])|0}function Ke(a,b){a=a|0;b=b|0;ea[a|0](b)}function Fc(a,b,c,d){Ic(a,b,c,d)}
function xc(a){la(a+12|0,0,13992)}function Ue(a){a=a|0;return 52160}function ce(a){a=a|0;return a|0}function Xc(a,b){ma(a,b,6377,8)}function Sa(a){a=a|0;Ca(a)}function tc(a){a=a|0}
// EMSCRIPTEN_END_FUNCS
a=r;Dg(Ug);var ea=Bg([null,ff,Ue,sc,Te,Se,Re,Qe,Pe,Oe,Ne,Me,Le,Ke,sc,ge,fe,he,ce,Sa,tc,tc,ae,$d,_d,Zd,Sa,be,Sa,Qd,Sd,Yd,Sa,Rd,Td,Xd,Sa,Vd]);function Jg(){return n.byteLength/65536|0}function Kg(Vg){Vg=Vg|0;var fa=Jg()|0;var ga=fa+Vg|0;if(fa<ga&&ga<65536){var ha=new ArrayBuffer(w(ga,65536));var ia=new Int8Array(ha);ia.set(o);o=new Int8Array(ha);p=new Int16Array(ha);q=new Int32Array(ha);r=new Uint8Array(ha);s=new Uint16Array(ha);t=new Uint32Array(ha);u=new Float32Array(ha);v=new Float64Array(ha);n=ha;m.buffer=n;a=r}return fa}return{"w":jd,"x":Md,"y":Ra,"z":Ca,"A":ea,"B":se,"C":rc,"D":Pd}}return Ig(Lg)}
// EMSCRIPTEN_END_ASM
)(ra)}var sa=Error,WebAssembly={};ma=[];"object"!==typeof WebAssembly&&B("no native wasm support detected");var C,ta=!1;function assert(b,a){b||B("Assertion failed: "+a)}
var ua="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
function va(b,a,c){var d=a+c;for(c=a;b[c]&&!(c>=d);)++c;if(16<c-a&&b.subarray&&ua)return ua.decode(b.subarray(a,c));for(d="";a<c;){var e=b[a++];if(e&128){var f=b[a++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|f);else{var l=b[a++]&63;e=224==(e&240)?(e&15)<<12|f<<6|l:(e&7)<<18|f<<12|l<<6|b[a++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d}
function xa(b,a,c){var d=D;if(0<c){c=a+c-1;for(var e=0;e<b.length;++e){var f=b.charCodeAt(e);if(55296<=f&&57343>=f){var l=b.charCodeAt(++e);f=65536+((f&1023)<<10)|l&1023}if(127>=f){if(a>=c)break;d[a++]=f}else{if(2047>=f){if(a+1>=c)break;d[a++]=192|f>>6}else{if(65535>=f){if(a+2>=c)break;d[a++]=224|f>>12}else{if(a+3>=c)break;d[a++]=240|f>>18;d[a++]=128|f>>12&63}d[a++]=128|f>>6&63}d[a++]=128|f&63}}d[a]=0}}var ya="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;
function za(b,a){var c=b>>1;for(var d=c+a/2;!(c>=d)&&Aa[c];)++c;c<<=1;if(32<c-b&&ya)return ya.decode(D.subarray(b,c));c="";for(d=0;!(d>=a/2);++d){var e=E[b+2*d>>1];if(0==e)break;c+=String.fromCharCode(e)}return c}function Ba(b,a,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=a;c=c<2*b.length?c/2:b.length;for(var e=0;e<c;++e)E[a>>1]=b.charCodeAt(e),a+=2;E[a>>1]=0;return a-d}function Ca(b){return 2*b.length}
function Da(b,a){for(var c=0,d="";!(c>=a/4);){var e=F[b+4*c>>2];if(0==e)break;++c;65536<=e?(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023)):d+=String.fromCharCode(e)}return d}function Ea(b,a,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=a;c=d+c-4;for(var e=0;e<b.length;++e){var f=b.charCodeAt(e);if(55296<=f&&57343>=f){var l=b.charCodeAt(++e);f=65536+((f&1023)<<10)|l&1023}F[a>>2]=f;a+=4;if(a+4>c)break}F[a>>2]=0;return a-d}
function Fa(b){for(var a=0,c=0;c<b.length;++c){var d=b.charCodeAt(c);55296<=d&&57343>=d&&++c;a+=4}return a}var G,H,D,E,Aa,F,I,Ga,Ha;function Ia(b){G=b;g.HEAP8=H=new Int8Array(b);g.HEAP16=E=new Int16Array(b);g.HEAP32=F=new Int32Array(b);g.HEAPU8=D=new Uint8Array(b);g.HEAPU16=Aa=new Uint16Array(b);g.HEAPU32=I=new Uint32Array(b);g.HEAPF32=Ga=new Float32Array(b);g.HEAPF64=Ha=new Float64Array(b)}var oa=g.INITIAL_MEMORY||16777216;g.wasmMemory?C=g.wasmMemory:C=new na;C&&(G=C.buffer);oa=G.byteLength;Ia(G);
var Ja,Ka=[],La=[],Ma=[],Na=[];La.push({ea:function(){Oa()}});function Qa(){var b=g.preRun.shift();Ka.unshift(b)}var J=0,Ra=null,Sa=null;g.preloadedImages={};g.preloadedAudios={};function B(b){if(g.onAbort)g.onAbort(b);la(b);ta=!0;b=new sa("abort("+b+"). Build with -s ASSERTIONS=1 for more info.");ba(b);throw b;}function Ta(b){var a=Ua;return String.prototype.startsWith?b.startsWith(a):0===b.indexOf(a)}var Ua="data:application/octet-stream;base64,",Va="opusscript_native_nasm.wasm";
if(!Ta(Va)){var Wa=Va;Va=g.locateFile?g.locateFile(Wa,y):y+Wa}
function Xa(){var b=Va;try{try{if(b==Va&&ma)new Uint8Array(ma);else if(!A(b))if(z)z(b);else throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)";}catch(d){B(d)}var a=new pa;var c=new qa}catch(d){throw b=d.toString(),la("failed to compile wasm module: "+b),(0<=b.indexOf("imported Memory")||0<=b.indexOf("memory import"))&&la("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),d;
}return[c,a]}var K,Ya;function Za(b){for(;0<b.length;){var a=b.shift();if("function"==typeof a)a(g);else{var c=a.ea;"number"===typeof c?void 0===a.Y?Ja.get(c)():Ja.get(c)(a.Y):c(void 0===a.Y?null:a.Y)}}}function $a(b){this.G=b-16;this.sa=function(a){F[this.G+8>>2]=a};this.pa=function(a){F[this.G+0>>2]=a};this.qa=function(){F[this.G+4>>2]=0};this.oa=function(){H[this.G+12>>0]=0};this.ra=function(){H[this.G+13>>0]=0};this.ia=function(a,c){this.sa(a);this.pa(c);this.qa();this.oa();this.ra()}}
var ab=0;function bb(b){switch(b){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+b);}}var cb=void 0;function L(b){for(var a="";D[b];)a+=cb[D[b++]];return a}var M={},N={},db={};function eb(b){if(void 0===b)return"_unknown";b=b.replace(/[^a-zA-Z0-9_]/g,"$");var a=b.charCodeAt(0);return 48<=a&&57>=a?"_"+b:b}
function fb(b,a){b=eb(b);return(new Function("body","return function "+b+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(a)}function gb(b){var a=Error,c=fb(b,function(d){this.name=b;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}
var O=void 0;function P(b){throw new O(b);}var hb=void 0;function ib(b){throw new hb(b);}function Q(b,a,c){function d(h){h=c(h);h.length!==b.length&&ib("Mismatched type converter count");for(var n=0;n<b.length;++n)R(b[n],h[n])}b.forEach(function(h){db[h]=a});var e=Array(a.length),f=[],l=0;a.forEach(function(h,n){N.hasOwnProperty(h)?e[n]=N[h]:(f.push(h),M.hasOwnProperty(h)||(M[h]=[]),M[h].push(function(){e[n]=N[h];++l;l===f.length&&d(e)}))});0===f.length&&d(e)}
function R(b,a,c){c=c||{};if(!("argPackAdvance"in a))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=a.name;b||P('type "'+d+'" must have a positive integer typeid pointer');if(N.hasOwnProperty(b)){if(c.ha)return;P("Cannot register type '"+d+"' twice")}N[b]=a;delete db[b];M.hasOwnProperty(b)&&(a=M[b],delete M[b],a.forEach(function(e){e()}))}function jb(b){return{count:b.count,S:b.S,U:b.U,G:b.G,I:b.I,K:b.K,L:b.L}}
function kb(b){P(b.F.I.H.name+" instance already deleted")}var lb=!1;function mb(){}function nb(b){--b.count.value;0===b.count.value&&(b.K?b.L.P(b.K):b.I.H.P(b.G))}function ob(b){if("undefined"===typeof FinalizationGroup)return ob=function(a){return a},b;lb=new FinalizationGroup(function(a){for(var c=a.next();!c.done;c=a.next())c=c.value,c.G?nb(c):console.warn("object already deleted: "+c.G)});ob=function(a){lb.register(a,a.F,a.F);return a};mb=function(a){lb.unregister(a.F)};return ob(b)}
var pb=void 0,qb=[];function rb(){for(;qb.length;){var b=qb.pop();b.F.S=!1;b["delete"]()}}function S(){}var ub={};function vb(b,a,c){if(void 0===b[a].J){var d=b[a];b[a]=function(){b[a].J.hasOwnProperty(arguments.length)||P("Function '"+c+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+b[a].J+")!");return b[a].J[arguments.length].apply(this,arguments)};b[a].J=[];b[a].J[d.R]=d}}
function wb(b,a){g.hasOwnProperty(b)?(P("Cannot register public name '"+b+"' twice"),vb(g,b,b),g.hasOwnProperty(void 0)&&P("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),g[b].J[void 0]=a):g[b]=a}function xb(b,a,c,d,e,f,l,h){this.name=b;this.constructor=a;this.T=c;this.P=d;this.M=e;this.fa=f;this.V=l;this.da=h;this.ka=[]}
function yb(b,a,c){for(;a!==c;)a.V||P("Expected null or instance of "+c.name+", got an instance of "+a.name),b=a.V(b),a=a.M;return b}function zb(b,a){if(null===a)return this.Z&&P("null is not a valid "+this.name),0;a.F||P('Cannot pass "'+T(a)+'" as a '+this.name);a.F.G||P("Cannot pass deleted object as a pointer of type "+this.name);return yb(a.F.G,a.F.I.H,this.H)}
function Ab(b,a){if(null===a){this.Z&&P("null is not a valid "+this.name);if(this.X){var c=this.la();null!==b&&b.push(this.P,c);return c}return 0}a.F||P('Cannot pass "'+T(a)+'" as a '+this.name);a.F.G||P("Cannot pass deleted object as a pointer of type "+this.name);!this.W&&a.F.I.W&&P("Cannot convert argument of type "+(a.F.L?a.F.L.name:a.F.I.name)+" to parameter type "+this.name);c=yb(a.F.G,a.F.I.H,this.H);if(this.X)switch(void 0===a.F.K&&P("Passing raw pointer to smart pointer is illegal"),this.ta){case 0:a.F.L===
this?c=a.F.K:P("Cannot convert argument of type "+(a.F.L?a.F.L.name:a.F.I.name)+" to parameter type "+this.name);break;case 1:c=a.F.K;break;case 2:if(a.F.L===this)c=a.F.K;else{var d=a.clone();c=this.ma(c,Bb(function(){d["delete"]()}));null!==b&&b.push(this.P,c)}break;default:P("Unsupporting sharing policy")}return c}
function Cb(b,a){if(null===a)return this.Z&&P("null is not a valid "+this.name),0;a.F||P('Cannot pass "'+T(a)+'" as a '+this.name);a.F.G||P("Cannot pass deleted object as a pointer of type "+this.name);a.F.I.W&&P("Cannot convert argument of type "+a.F.I.name+" to parameter type "+this.name);return yb(a.F.G,a.F.I.H,this.H)}function Db(b){return this.fromWireType(I[b>>2])}function Eb(b,a,c){if(a===c)return b;if(void 0===c.M)return null;b=Eb(b,a,c.M);return null===b?null:c.da(b)}var Fb={};
function Gb(b,a){for(void 0===a&&P("ptr should not be undefined");b.M;)a=b.V(a),b=b.M;return Fb[a]}function Hb(b,a){a.I&&a.G||ib("makeClassHandle requires ptr and ptrType");!!a.L!==!!a.K&&ib("Both smartPtrType and smartPtr must be specified");a.count={value:1};return ob(Object.create(b,{F:{value:a}}))}function U(b,a,c,d){this.name=b;this.H=a;this.Z=c;this.W=d;this.X=!1;this.P=this.ma=this.la=this.aa=this.ta=this.ja=void 0;void 0!==a.M?this.toWireType=Ab:(this.toWireType=d?zb:Cb,this.N=null)}
function Ib(b,a){g.hasOwnProperty(b)||ib("Replacing nonexistant public symbol");g[b]=a;g[b].R=void 0}function Jb(b,a){var c=[];return function(){c.length=arguments.length;for(var d=0;d<arguments.length;d++)c[d]=arguments[d];-1!=b.indexOf("j")?(d=g["dynCall_"+b],d=c&&c.length?d.apply(null,[a].concat(c)):d.call(null,a)):d=Ja.get(a).apply(null,c);return d}}
function V(b,a){b=L(b);var c=-1!=b.indexOf("j")?Jb(b,a):Ja.get(a);"function"!==typeof c&&P("unknown function pointer with signature "+b+": "+a);return c}var Kb=void 0;function Lb(b){b=Mb(b);var a=L(b);X(b);return a}function Nb(b,a){function c(f){e[f]||N[f]||(db[f]?db[f].forEach(c):(d.push(f),e[f]=!0))}var d=[],e={};a.forEach(c);throw new Kb(b+": "+d.map(Lb).join([", "]));}
function Ob(b){var a=Function;if(!(a instanceof Function))throw new TypeError("new_ called with constructor type "+typeof a+" which is not a function");var c=fb(a.name||"unknownFunctionName",function(){});c.prototype=a.prototype;c=new c;b=a.apply(c,b);return b instanceof Object?b:c}function Pb(b){for(;b.length;){var a=b.pop();b.pop()(a)}}
function Qb(b,a,c,d,e){var f=a.length;2>f&&P("argTypes array size mismatch! Must at least get return value and 'this' types!");var l=null!==a[1]&&null!==c,h=!1;for(c=1;c<a.length;++c)if(null!==a[c]&&void 0===a[c].N){h=!0;break}var n="void"!==a[0].name,k="",m="";for(c=0;c<f-2;++c)k+=(0!==c?", ":"")+"arg"+c,m+=(0!==c?", ":"")+"arg"+c+"Wired";b="return function "+eb(b)+"("+k+") {\nif (arguments.length !== "+(f-2)+") {\nthrowBindingError('function "+b+" called with ' + arguments.length + ' arguments, expected "+
(f-2)+" args!');\n}\n";h&&(b+="var destructors = [];\n");var p=h?"destructors":"null";k="throwBindingError invoker fn runDestructors retType classParam".split(" ");d=[P,d,e,Pb,a[0],a[1]];l&&(b+="var thisWired = classParam.toWireType("+p+", this);\n");for(c=0;c<f-2;++c)b+="var arg"+c+"Wired = argType"+c+".toWireType("+p+", arg"+c+"); // "+a[c+2].name+"\n",k.push("argType"+c),d.push(a[c+2]);l&&(m="thisWired"+(0<m.length?", ":"")+m);b+=(n?"var rv = ":"")+"invoker(fn"+(0<m.length?", ":"")+m+");\n";if(h)b+=
"runDestructors(destructors);\n";else for(c=l?1:2;c<a.length;++c)f=1===c?"thisWired":"arg"+(c-2)+"Wired",null!==a[c].N&&(b+=f+"_dtor("+f+"); // "+a[c].name+"\n",k.push(f+"_dtor"),d.push(a[c].N));n&&(b+="var ret = retType.fromWireType(rv);\nreturn ret;\n");k.push(b+"}\n");return Ob(k).apply(null,d)}function Rb(b,a){for(var c=[],d=0;d<b;d++)c.push(F[(a>>2)+d]);return c}var Sb=[],Y=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function Bb(b){switch(b){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var a=Sb.length?Sb.pop():Y.length;Y[a]={na:1,value:b};return a}}function T(b){if(null===b)return"null";var a=typeof b;return"object"===a||"array"===a||"function"===a?b.toString():""+b}function Tb(b,a){switch(a){case 2:return function(c){return this.fromWireType(Ga[c>>2])};case 3:return function(c){return this.fromWireType(Ha[c>>3])};default:throw new TypeError("Unknown float type: "+b);}}
function Ub(b,a,c){switch(a){case 0:return c?function(d){return H[d]}:function(d){return D[d]};case 1:return c?function(d){return E[d>>1]}:function(d){return Aa[d>>1]};case 2:return c?function(d){return F[d>>2]}:function(d){return I[d>>2]};default:throw new TypeError("Unknown integer type: "+b);}}for(var Vb=[null,[],[]],Wb=Array(256),Xb=0;256>Xb;++Xb)Wb[Xb]=String.fromCharCode(Xb);cb=Wb;O=g.BindingError=gb("BindingError");hb=g.InternalError=gb("InternalError");
S.prototype.isAliasOf=function(b){if(!(this instanceof S&&b instanceof S))return!1;var a=this.F.I.H,c=this.F.G,d=b.F.I.H;for(b=b.F.G;a.M;)c=a.V(c),a=a.M;for(;d.M;)b=d.V(b),d=d.M;return a===d&&c===b};S.prototype.clone=function(){this.F.G||kb(this);if(this.F.U)return this.F.count.value+=1,this;var b=ob(Object.create(Object.getPrototypeOf(this),{F:{value:jb(this.F)}}));b.F.count.value+=1;b.F.S=!1;return b};
S.prototype["delete"]=function(){this.F.G||kb(this);this.F.S&&!this.F.U&&P("Object already scheduled for deletion");mb(this);nb(this.F);this.F.U||(this.F.K=void 0,this.F.G=void 0)};S.prototype.isDeleted=function(){return!this.F.G};S.prototype.deleteLater=function(){this.F.G||kb(this);this.F.S&&!this.F.U&&P("Object already scheduled for deletion");qb.push(this);1===qb.length&&pb&&pb(rb);this.F.S=!0;return this};U.prototype.ga=function(b){this.aa&&(b=this.aa(b));return b};
U.prototype.$=function(b){this.P&&this.P(b)};U.prototype.argPackAdvance=8;U.prototype.readValueFromPointer=Db;U.prototype.deleteObject=function(b){if(null!==b)b["delete"]()};
U.prototype.fromWireType=function(b){function a(){return this.X?Hb(this.H.T,{I:this.ja,G:c,L:this,K:b}):Hb(this.H.T,{I:this,G:b})}var c=this.ga(b);if(!c)return this.$(b),null;var d=Gb(this.H,c);if(void 0!==d){if(0===d.F.count.value)return d.F.G=c,d.F.K=b,d.clone();d=d.clone();this.$(b);return d}d=this.H.fa(c);d=ub[d];if(!d)return a.call(this);d=this.W?d.ba:d.pointerType;var e=Eb(c,this.H,d.H);return null===e?a.call(this):this.X?Hb(d.H.T,{I:d,G:e,L:this,K:b}):Hb(d.H.T,{I:d,G:e})};
g.getInheritedInstanceCount=function(){return Object.keys(Fb).length};g.getLiveInheritedInstances=function(){var b=[],a;for(a in Fb)Fb.hasOwnProperty(a)&&b.push(Fb[a]);return b};g.flushPendingDeletes=rb;g.setDelayFunction=function(b){pb=b;qb.length&&pb&&pb(rb)};Kb=g.UnboundTypeError=gb("UnboundTypeError");g.count_emval_handles=function(){for(var b=0,a=5;a<Y.length;++a)void 0!==Y[a]&&++b;return b};g.get_first_emval=function(){for(var b=5;b<Y.length;++b)if(void 0!==Y[b])return Y[b];return null};
var Yb=!1;function ia(b){for(var a=[],c=0;c<b.length;c++){var d=b[c];255<d&&(Yb&&assert(!1,"Character code "+d+" ("+String.fromCharCode(d)+") at offset "+c+" not in 0x00-0xFF."),d&=255);a.push(String.fromCharCode(d))}return a.join("")}
var Zb="function"===typeof atob?atob:function(b){var a="",c=0;b=b.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(c++));var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(c++));var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(c++));var l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(c++));d=d<<2|e>>4;
e=(e&15)<<4|f>>2;var h=(f&3)<<6|l;a+=String.fromCharCode(d);64!==f&&(a+=String.fromCharCode(e));64!==l&&(a+=String.fromCharCode(h))}while(c<b.length);return a};
function A(b){if(Ta(b)){b=b.slice(Ua.length);if("boolean"===typeof w&&w){try{var a=Buffer.from(b,"base64")}catch(f){a=new Buffer(b,"base64")}var c=new Uint8Array(a.buffer,a.byteOffset,a.byteLength)}else try{var d=Zb(b),e=new Uint8Array(d.length);for(a=0;a<d.length;++a)e[a]=d.charCodeAt(a);c=e}catch(f){throw Error("Converting base64 string to bytes failed.");}return c}}
var ra={j:function(b){return $b(b+16)+16},i:function(b,a,c){(new $a(b)).ia(a,c);ab++;throw b;},l:function(b,a,c,d,e){var f=bb(c);a=L(a);R(b,{name:a,fromWireType:function(l){return!!l},toWireType:function(l,h){return h?d:e},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var h=H;else if(2===c)h=E;else if(4===c)h=F;else throw new TypeError("Unknown boolean type size: "+a);return this.fromWireType(h[l>>f])},N:null})},v:function(b,a,c,d,e,f,l,h,n,k,m,p,q){m=L(m);f=V(e,f);h&&(h=V(l,h));k&&(k=
V(n,k));q=V(p,q);var x=eb(m);wb(x,function(){Nb("Cannot construct "+m+" due to unbound types",[d])});Q([b,a,c],d?[d]:[],function(u){u=u[0];if(d){var wa=u.H;var ja=wa.T}else ja=S.prototype;u=fb(x,function(){if(Object.getPrototypeOf(this)!==Pa)throw new O("Use 'new' to construct "+m);if(void 0===W.O)throw new O(m+" has no accessible constructor");var sb=W.O[arguments.length];if(void 0===sb)throw new O("Tried to invoke ctor of "+m+" with invalid number of parameters ("+arguments.length+") - expected ("+
Object.keys(W.O).toString()+") parameters instead!");return sb.apply(this,arguments)});var Pa=Object.create(ja,{constructor:{value:u}});u.prototype=Pa;var W=new xb(m,u,Pa,q,wa,f,h,k);wa=new U(m,W,!0,!1);ja=new U(m+"*",W,!1,!1);var tb=new U(m+" const*",W,!1,!0);ub[b]={pointerType:ja,ba:tb};Ib(x,u);return[wa,ja,tb]})},n:function(b,a,c,d,e,f,l){var h=Rb(c,d);a=L(a);f=V(e,f);Q([],[b],function(n){function k(){Nb("Cannot call "+m+" due to unbound types",h)}n=n[0];var m=n.name+"."+a,p=n.H.constructor;void 0===
p[a]?(k.R=c-1,p[a]=k):(vb(p,a,m),p[a].J[c-1]=k);Q([],h,function(q){q=[q[0],null].concat(q.slice(1));q=Qb(m,q,null,f,l);void 0===p[a].J?(q.R=c-1,p[a]=q):p[a].J[c-1]=q;return[]});return[]})},u:function(b,a,c,d,e,f){assert(0<a);var l=Rb(a,c);e=V(d,e);var h=[f],n=[];Q([],[b],function(k){k=k[0];var m="constructor "+k.name;void 0===k.H.O&&(k.H.O=[]);if(void 0!==k.H.O[a-1])throw new O("Cannot register multiple constructors with identical number of parameters ("+(a-1)+") for class '"+k.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");
k.H.O[a-1]=function(){Nb("Cannot construct "+k.name+" due to unbound types",l)};Q([],l,function(p){k.H.O[a-1]=function(){arguments.length!==a-1&&P(m+" called with "+arguments.length+" arguments, expected "+(a-1));n.length=0;h.length=a;for(var q=1;q<a;++q)h[q]=p[q].toWireType(n,arguments[q-1]);q=e.apply(null,h);Pb(n);return p[0].fromWireType(q)};return[]});return[]})},e:function(b,a,c,d,e,f,l,h){var n=Rb(c,d);a=L(a);f=V(e,f);Q([],[b],function(k){function m(){Nb("Cannot call "+p+" due to unbound types",
n)}k=k[0];var p=k.name+"."+a;h&&k.H.ka.push(a);var q=k.H.T,x=q[a];void 0===x||void 0===x.J&&x.className!==k.name&&x.R===c-2?(m.R=c-2,m.className=k.name,q[a]=m):(vb(q,a,p),q[a].J[c-2]=m);Q([],n,function(u){u=Qb(p,u,k,f,l);void 0===q[a].J?(u.R=c-2,q[a]=u):q[a].J[c-2]=u;return[]});return[]})},t:function(b,a){a=L(a);R(b,{name:a,fromWireType:function(c){var d=Y[c].value;4<c&&0===--Y[c].na&&(Y[c]=void 0,Sb.push(c));return d},toWireType:function(c,d){return Bb(d)},argPackAdvance:8,readValueFromPointer:Db,
N:null})},k:function(b,a,c){c=bb(c);a=L(a);R(b,{name:a,fromWireType:function(d){return d},toWireType:function(d,e){if("number"!==typeof e&&"boolean"!==typeof e)throw new TypeError('Cannot convert "'+T(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:Tb(a,c),N:null})},c:function(b,a,c,d,e){function f(k){return k}a=L(a);-1===e&&(e=4294967295);var l=bb(c);if(0===d){var h=32-8*c;f=function(k){return k<<h>>>h}}var n=-1!=a.indexOf("unsigned");R(b,{name:a,fromWireType:f,toWireType:function(k,
m){if("number"!==typeof m&&"boolean"!==typeof m)throw new TypeError('Cannot convert "'+T(m)+'" to '+this.name);if(m<d||m>e)throw new TypeError('Passing a number "'+T(m)+'" from JS side to C/C++ side to an argument of type "'+a+'", which is outside the valid range ['+d+", "+e+"]!");return n?m>>>0:m|0},argPackAdvance:8,readValueFromPointer:Ub(a,l,0!==d),N:null})},b:function(b,a,c){function d(f){f>>=2;var l=I;return new e(G,l[f+1],l[f])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,
Float32Array,Float64Array][a];c=L(c);R(b,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{ha:!0})},g:function(b,a){a=L(a);var c="std::string"===a;R(b,{name:a,fromWireType:function(d){var e=I[d>>2];if(c)for(var f=d+4,l=0;l<=e;++l){var h=d+4+l;if(l==e||0==D[h]){f=f?va(D,f,h-f):"";if(void 0===n)var n=f;else n+=String.fromCharCode(0),n+=f;f=h+1}}else{n=Array(e);for(l=0;l<e;++l)n[l]=String.fromCharCode(D[d+4+l]);n=n.join("")}X(d);return n},toWireType:function(d,e){e instanceof ArrayBuffer&&
(e=new Uint8Array(e));var f="string"===typeof e;f||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||P("Cannot pass non-string to std::string");var l=(c&&f?function(){for(var k=0,m=0;m<e.length;++m){var p=e.charCodeAt(m);55296<=p&&57343>=p&&(p=65536+((p&1023)<<10)|e.charCodeAt(++m)&1023);127>=p?++k:k=2047>=p?k+2:65535>=p?k+3:k+4}return k}:function(){return e.length})(),h=$b(4+l+1);I[h>>2]=l;if(c&&f)xa(e,h+4,l+1);else if(f)for(f=0;f<l;++f){var n=e.charCodeAt(f);255<n&&
(X(h),P("String has UTF-16 code units that do not fit in 8 bits"));D[h+4+f]=n}else for(f=0;f<l;++f)D[h+4+f]=e[f];null!==d&&d.push(X,h);return h},argPackAdvance:8,readValueFromPointer:Db,N:function(d){X(d)}})},f:function(b,a,c){c=L(c);if(2===a){var d=za;var e=Ba;var f=Ca;var l=function(){return Aa};var h=1}else 4===a&&(d=Da,e=Ea,f=Fa,l=function(){return I},h=2);R(b,{name:c,fromWireType:function(n){for(var k=I[n>>2],m=l(),p,q=n+4,x=0;x<=k;++x){var u=n+4+x*a;if(x==k||0==m[u>>h])q=d(q,u-q),void 0===p?
p=q:(p+=String.fromCharCode(0),p+=q),q=u+a}X(n);return p},toWireType:function(n,k){"string"!==typeof k&&P("Cannot pass non-string to C++ string type "+c);var m=f(k),p=$b(4+m+a);I[p>>2]=m>>h;e(k,p+4,m+a);null!==n&&n.push(X,p);return p},argPackAdvance:8,readValueFromPointer:Db,N:function(n){X(n)}})},m:function(b,a){a=L(a);R(b,{ua:!0,name:a,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},h:function(){B()},q:function(b,a,c){D.copyWithin(b,a,a+c)},d:function(b){b>>>=0;var a=D.length;
if(2147483648<b)return!1;for(var c=1;4>=c;c*=2){var d=a*(1+.2/c);d=Math.min(d,b+100663296);d=Math.max(16777216,b,d);0<d%65536&&(d+=65536-d%65536);a:{try{C.grow(Math.min(2147483648,d)-G.byteLength+65535>>>16);Ia(C.buffer);var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1},s:function(){return 0},o:function(){},r:function(b,a,c,d){for(var e=0,f=0;f<c;f++){for(var l=F[a+8*f>>2],h=F[a+(8*f+4)>>2],n=0;n<h;n++){var k=D[l+n],m=Vb[b];0===k||10===k?((1===b?ka:la)(va(m,0)),m.length=0):m.push(k)}e+=h}F[d>>
2]=e;return 0},a:C,p:function(){}},Z=function(){function b(c){g.asm=c.exports;Ja=g.asm.A;J--;g.monitorRunDependencies&&g.monitorRunDependencies(J);0==J&&(null!==Ra&&(clearInterval(Ra),Ra=null),Sa&&(c=Sa,Sa=null,c()))}var a={a:ra};J++;g.monitorRunDependencies&&g.monitorRunDependencies(J);if(g.instantiateWasm)try{return g.instantiateWasm(a,b)}catch(c){return la("Module.instantiateWasm callback failed with error: "+c),!1}a=Xa();b(a[0],a[1]);return g.asm}(),Oa=g.___wasm_call_ctors=Z.w;
g._opus_strerror=Z.x;var $b=g._malloc=Z.y,X=g._free=Z.z,Mb=g.___getTypeName=Z.B;g.___embind_register_native_and_builtin_types=Z.C;g.dynCall_jiji=Z.D;
g.setValue=function(b,a,c){c=c||"i8";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":H[b>>0]=a;break;case "i8":H[b>>0]=a;break;case "i16":E[b>>1]=a;break;case "i32":F[b>>2]=a;break;case "i64":Ya=[a>>>0,(K=a,1<=+Math.abs(K)?0<K?(Math.min(+Math.floor(K/4294967296),4294967295)|0)>>>0:~~+Math.ceil((K-+(~~K>>>0))/4294967296)>>>0:0)];F[b>>2]=Ya[0];F[b+4>>2]=Ya[1];break;case "float":Ga[b>>2]=a;break;case "double":Ha[b>>3]=a;break;default:B("invalid type for setValue: "+c)}};
g.getValue=function(b,a){a=a||"i8";"*"===a.charAt(a.length-1)&&(a="i32");switch(a){case "i1":return H[b>>0];case "i8":return H[b>>0];case "i16":return E[b>>1];case "i32":return F[b>>2];case "i64":return F[b>>2];case "float":return Ga[b>>2];case "double":return Ha[b>>3];default:B("invalid type for getValue: "+a)}return null};var ac;Sa=function bc(){ac||cc();ac||(Sa=bc)};
function cc(){function b(){if(!ac&&(ac=!0,g.calledRun=!0,!ta)){Za(La);Za(Ma);aa(g);if(g.onRuntimeInitialized)g.onRuntimeInitialized();if(g.postRun)for("function"==typeof g.postRun&&(g.postRun=[g.postRun]);g.postRun.length;){var a=g.postRun.shift();Na.unshift(a)}Za(Na)}}if(!(0<J)){if(g.preRun)for("function"==typeof g.preRun&&(g.preRun=[g.preRun]);g.preRun.length;)Qa();Za(Ka);0<J||(g.setStatus?(g.setStatus("Running..."),setTimeout(function(){setTimeout(function(){g.setStatus("")},1);b()},1)):b())}}
g.run=cc;if(g.preInit)for("function"==typeof g.preInit&&(g.preInit=[g.preInit]);0<g.preInit.length;)g.preInit.pop()();noExitRuntime=!0;cc();
return Module
}
);
})();
if (typeof exports === 'object' && typeof module === 'object')
module.exports = Module;
else if (typeof define === 'function' && define['amd'])
define([], function() { return Module; });
else if (typeof exports === 'object')
exports["Module"] = Module;
+77
View File
@@ -0,0 +1,77 @@
var Module = (function() {
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
return (
function(Module) {
Module = Module || {};
var g;g||(g=typeof Module !== 'undefined' ? Module : {});var aa,ba;g.ready=new Promise(function(b,a){aa=b;ba=a});var r={},t;for(t in g)g.hasOwnProperty(t)&&(r[t]=g[t]);var ca=!1,v=!1,ea=!1,fa=!1;ca="object"===typeof window;v="function"===typeof importScripts;ea="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node;fa=!ca&&!ea&&!v;var w="",ha,y,ia,ja;
if(ea)w=v?require("path").dirname(w)+"/":__dirname+"/",ha=function(b,a){ia||(ia=require("fs"));ja||(ja=require("path"));b=ja.normalize(b);return ia.readFileSync(b,a?null:"utf8")},y=function(b){b=ha(b,!0);b.buffer||(b=new Uint8Array(b));assert(b.buffer);return b},1<process.argv.length&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),g.inspect=function(){return"[Emscripten Module object]"};else if(fa)"undefined"!=typeof read&&(ha=function(b){return read(b)}),y=function(b){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(b));
b=read(b,"binary");assert("object"===typeof b);return b},"undefined"!==typeof print&&("undefined"===typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!==typeof printErr?printErr:print);else if(ca||v)v?w=self.location.href:"undefined"!==typeof document&&document.currentScript&&(w=document.currentScript.src),_scriptDir&&(w=_scriptDir),0!==w.indexOf("blob:")?w=w.substr(0,w.lastIndexOf("/")+1):w="",ha=function(b){var a=new XMLHttpRequest;a.open("GET",b,!1);a.send(null);
return a.responseText},v&&(y=function(b){var a=new XMLHttpRequest;a.open("GET",b,!1);a.responseType="arraybuffer";a.send(null);return new Uint8Array(a.response)});var ka=g.print||console.log.bind(console),z=g.printErr||console.warn.bind(console);for(t in r)r.hasOwnProperty(t)&&(g[t]=r[t]);r=null;var la;g.wasmBinary&&(la=g.wasmBinary);var noExitRuntime;g.noExitRuntime&&(noExitRuntime=g.noExitRuntime);"object"!==typeof WebAssembly&&A("no native wasm support detected");var ma,na=!1;
function assert(b,a){b||A("Assertion failed: "+a)}var oa="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
function pa(b,a,c){var d=a+c;for(c=a;b[c]&&!(c>=d);)++c;if(16<c-a&&b.subarray&&oa)return oa.decode(b.subarray(a,c));for(d="";a<c;){var e=b[a++];if(e&128){var f=b[a++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|f);else{var l=b[a++]&63;e=224==(e&240)?(e&15)<<12|f<<6|l:(e&7)<<18|f<<12|l<<6|b[a++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d}
function qa(b,a,c){var d=B;if(0<c){c=a+c-1;for(var e=0;e<b.length;++e){var f=b.charCodeAt(e);if(55296<=f&&57343>=f){var l=b.charCodeAt(++e);f=65536+((f&1023)<<10)|l&1023}if(127>=f){if(a>=c)break;d[a++]=f}else{if(2047>=f){if(a+1>=c)break;d[a++]=192|f>>6}else{if(65535>=f){if(a+2>=c)break;d[a++]=224|f>>12}else{if(a+3>=c)break;d[a++]=240|f>>18;d[a++]=128|f>>12&63}d[a++]=128|f>>6&63}d[a++]=128|f&63}}d[a]=0}}var sa="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;
function ta(b,a){var c=b>>1;for(var d=c+a/2;!(c>=d)&&ua[c];)++c;c<<=1;if(32<c-b&&sa)return sa.decode(B.subarray(b,c));c="";for(d=0;!(d>=a/2);++d){var e=C[b+2*d>>1];if(0==e)break;c+=String.fromCharCode(e)}return c}function va(b,a,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=a;c=c<2*b.length?c/2:b.length;for(var e=0;e<c;++e)C[a>>1]=b.charCodeAt(e),a+=2;C[a>>1]=0;return a-d}function wa(b){return 2*b.length}
function xa(b,a){for(var c=0,d="";!(c>=a/4);){var e=D[b+4*c>>2];if(0==e)break;++c;65536<=e?(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023)):d+=String.fromCharCode(e)}return d}function ya(b,a,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=a;c=d+c-4;for(var e=0;e<b.length;++e){var f=b.charCodeAt(e);if(55296<=f&&57343>=f){var l=b.charCodeAt(++e);f=65536+((f&1023)<<10)|l&1023}D[a>>2]=f;a+=4;if(a+4>c)break}D[a>>2]=0;return a-d}
function za(b){for(var a=0,c=0;c<b.length;++c){var d=b.charCodeAt(c);55296<=d&&57343>=d&&++c;a+=4}return a}var Aa,E,B,C,ua,D,F,Ba,Ca;function Da(){var b=ma.buffer;Aa=b;g.HEAP8=E=new Int8Array(b);g.HEAP16=C=new Int16Array(b);g.HEAP32=D=new Int32Array(b);g.HEAPU8=B=new Uint8Array(b);g.HEAPU16=ua=new Uint16Array(b);g.HEAPU32=F=new Uint32Array(b);g.HEAPF32=Ba=new Float32Array(b);g.HEAPF64=Ca=new Float64Array(b);g.HEAP64=new BigInt64Array(b)}var Ea,Fa=[],Ga=[],Ha=[],Ia=[];Ga.push({ba:function(){Ja()}});
function Ka(){var b=g.preRun.shift();Fa.unshift(b)}var G=0,La=null,H=null;g.preloadedImages={};g.preloadedAudios={};function A(b){if(g.onAbort)g.onAbort(b);z(b);na=!0;b=new WebAssembly.RuntimeError("abort("+b+"). Build with -s ASSERTIONS=1 for more info.");ba(b);throw b;}var I="opusscript_native_wasm.wasm";if(String.prototype.startsWith?!I.startsWith("data:application/octet-stream;base64,"):0!==I.indexOf("data:application/octet-stream;base64,")){var Ma=I;I=g.locateFile?g.locateFile(Ma,w):w+Ma}
function Na(b){var a=I;try{a:{try{if(a==I&&la){var c=new Uint8Array(la);break a}if(y){c=y(a);break a}throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)";}catch(f){A(f)}c=void 0}var d=new WebAssembly.Module(c);var e=new WebAssembly.Instance(d,b)}catch(f){throw b=f.toString(),z("failed to compile wasm module: "+b),(0<=b.indexOf("imported Memory")||0<=b.indexOf("memory import"))&&z("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),
f;}return[e,d]}var J,Pa;function Qa(b){for(;0<b.length;){var a=b.shift();if("function"==typeof a)a(g);else{var c=a.ba;"number"===typeof c?void 0===a.W?Ea.get(c)():Ea.get(c)(a.W):c(void 0===a.W?null:a.W)}}}function Ra(b){this.D=b-16;this.qa=function(a){D[this.D+8>>2]=a};this.na=function(a){D[this.D+0>>2]=a};this.oa=function(){D[this.D+4>>2]=0};this.ma=function(){E[this.D+12>>0]=0};this.pa=function(){E[this.D+13>>0]=0};this.ga=function(a,c){this.qa(a);this.na(c);this.oa();this.ma();this.pa()}}
var Sa=0;function Ta(b){switch(b){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+b);}}var Ua=void 0;function K(b){for(var a="";B[b];)a+=Ua[B[b++]];return a}var L={},M={},Va={};function Wa(b){if(void 0===b)return"_unknown";b=b.replace(/[^a-zA-Z0-9_]/g,"$");var a=b.charCodeAt(0);return 48<=a&&57>=a?"_"+b:b}
function Xa(b,a){b=Wa(b);return(new Function("body","return function "+b+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(a)}function Ya(b){var a=Error,c=Xa(b,function(d){this.name=b;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}
var N=void 0;function O(b){throw new N(b);}var Za=void 0;function $a(b){throw new Za(b);}function P(b,a,c){function d(h){h=c(h);h.length!==b.length&&$a("Mismatched type converter count");for(var n=0;n<b.length;++n)Q(b[n],h[n])}b.forEach(function(h){Va[h]=a});var e=Array(a.length),f=[],l=0;a.forEach(function(h,n){M.hasOwnProperty(h)?e[n]=M[h]:(f.push(h),L.hasOwnProperty(h)||(L[h]=[]),L[h].push(function(){e[n]=M[h];++l;l===f.length&&d(e)}))});0===f.length&&d(e)}
function Q(b,a,c){c=c||{};if(!("argPackAdvance"in a))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=a.name;b||O('type "'+d+'" must have a positive integer typeid pointer');if(M.hasOwnProperty(b)){if(c.fa)return;O("Cannot register type '"+d+"' twice")}M[b]=a;delete Va[b];L.hasOwnProperty(b)&&(a=L[b],delete L[b],a.forEach(function(e){e()}))}function ab(b){return{count:b.count,P:b.P,S:b.S,D:b.D,G:b.G,I:b.I,J:b.J}}
function bb(b){O(b.C.G.F.name+" instance already deleted")}var cb=!1;function db(){}function eb(b){--b.count.value;0===b.count.value&&(b.I?b.J.N(b.I):b.G.F.N(b.D))}function R(b){if("undefined"===typeof FinalizationGroup)return R=function(a){return a},b;cb=new FinalizationGroup(function(a){for(var c=a.next();!c.done;c=a.next())c=c.value,c.D?eb(c):console.warn("object already deleted: "+c.D)});R=function(a){cb.register(a,a.C,a.C);return a};db=function(a){cb.unregister(a.C)};return R(b)}
var fb=void 0,gb=[];function hb(){for(;gb.length;){var b=gb.pop();b.C.P=!1;b["delete"]()}}function S(){}var ib={};function jb(b,a,c){if(void 0===b[a].H){var d=b[a];b[a]=function(){b[a].H.hasOwnProperty(arguments.length)||O("Function '"+c+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+b[a].H+")!");return b[a].H[arguments.length].apply(this,arguments)};b[a].H=[];b[a].H[d.O]=d}}
function kb(b,a){g.hasOwnProperty(b)?(O("Cannot register public name '"+b+"' twice"),jb(g,b,b),g.hasOwnProperty(void 0)&&O("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),g[b].H[void 0]=a):g[b]=a}function lb(b,a,c,d,e,f,l,h){this.name=b;this.constructor=a;this.R=c;this.N=d;this.K=e;this.da=f;this.T=l;this.aa=h;this.ia=[]}
function ob(b,a,c){for(;a!==c;)a.T||O("Expected null or instance of "+c.name+", got an instance of "+a.name),b=a.T(b),a=a.K;return b}function pb(b,a){if(null===a)return this.X&&O("null is not a valid "+this.name),0;a.C||O('Cannot pass "'+U(a)+'" as a '+this.name);a.C.D||O("Cannot pass deleted object as a pointer of type "+this.name);return ob(a.C.D,a.C.G.F,this.F)}
function qb(b,a){if(null===a){this.X&&O("null is not a valid "+this.name);if(this.V){var c=this.ja();null!==b&&b.push(this.N,c);return c}return 0}a.C||O('Cannot pass "'+U(a)+'" as a '+this.name);a.C.D||O("Cannot pass deleted object as a pointer of type "+this.name);!this.U&&a.C.G.U&&O("Cannot convert argument of type "+(a.C.J?a.C.J.name:a.C.G.name)+" to parameter type "+this.name);c=ob(a.C.D,a.C.G.F,this.F);if(this.V)switch(void 0===a.C.I&&O("Passing raw pointer to smart pointer is illegal"),this.ra){case 0:a.C.J===
this?c=a.C.I:O("Cannot convert argument of type "+(a.C.J?a.C.J.name:a.C.G.name)+" to parameter type "+this.name);break;case 1:c=a.C.I;break;case 2:if(a.C.J===this)c=a.C.I;else{var d=a.clone();c=this.ka(c,rb(function(){d["delete"]()}));null!==b&&b.push(this.N,c)}break;default:O("Unsupporting sharing policy")}return c}
function sb(b,a){if(null===a)return this.X&&O("null is not a valid "+this.name),0;a.C||O('Cannot pass "'+U(a)+'" as a '+this.name);a.C.D||O("Cannot pass deleted object as a pointer of type "+this.name);a.C.G.U&&O("Cannot convert argument of type "+a.C.G.name+" to parameter type "+this.name);return ob(a.C.D,a.C.G.F,this.F)}function tb(b){return this.fromWireType(F[b>>2])}function ub(b,a,c){if(a===c)return b;if(void 0===c.K)return null;b=ub(b,a,c.K);return null===b?null:c.aa(b)}var vb={};
function wb(b,a){for(void 0===a&&O("ptr should not be undefined");b.K;)a=b.T(a),b=b.K;return vb[a]}function xb(b,a){a.G&&a.D||$a("makeClassHandle requires ptr and ptrType");!!a.J!==!!a.I&&$a("Both smartPtrType and smartPtr must be specified");a.count={value:1};return R(Object.create(b,{C:{value:a}}))}function V(b,a,c,d){this.name=b;this.F=a;this.X=c;this.U=d;this.V=!1;this.N=this.ka=this.ja=this.Z=this.ra=this.ha=void 0;void 0!==a.K?this.toWireType=qb:(this.toWireType=d?pb:sb,this.L=null)}
function yb(b,a){g.hasOwnProperty(b)||$a("Replacing nonexistant public symbol");g[b]=a;g[b].O=void 0}function W(b,a){b=K(b);var c=Ea.get(a);"function"!==typeof c&&O("unknown function pointer with signature "+b+": "+a);return c}var zb=void 0;function Ab(b){b=Bb(b);var a=K(b);X(b);return a}function Cb(b,a){function c(f){e[f]||M[f]||(Va[f]?Va[f].forEach(c):(d.push(f),e[f]=!0))}var d=[],e={};a.forEach(c);throw new zb(b+": "+d.map(Ab).join([", "]));}
function Db(b){var a=Function;if(!(a instanceof Function))throw new TypeError("new_ called with constructor type "+typeof a+" which is not a function");var c=Xa(a.name||"unknownFunctionName",function(){});c.prototype=a.prototype;c=new c;b=a.apply(c,b);return b instanceof Object?b:c}function Eb(b){for(;b.length;){var a=b.pop();b.pop()(a)}}
function Fb(b,a,c,d,e){var f=a.length;2>f&&O("argTypes array size mismatch! Must at least get return value and 'this' types!");var l=null!==a[1]&&null!==c,h=!1;for(c=1;c<a.length;++c)if(null!==a[c]&&void 0===a[c].L){h=!0;break}var n="void"!==a[0].name,k="",m="";for(c=0;c<f-2;++c)k+=(0!==c?", ":"")+"arg"+c,m+=(0!==c?", ":"")+"arg"+c+"Wired";b="return function "+Wa(b)+"("+k+") {\nif (arguments.length !== "+(f-2)+") {\nthrowBindingError('function "+b+" called with ' + arguments.length + ' arguments, expected "+
(f-2)+" args!');\n}\n";h&&(b+="var destructors = [];\n");var p=h?"destructors":"null";k="throwBindingError invoker fn runDestructors retType classParam".split(" ");d=[O,d,e,Eb,a[0],a[1]];l&&(b+="var thisWired = classParam.toWireType("+p+", this);\n");for(c=0;c<f-2;++c)b+="var arg"+c+"Wired = argType"+c+".toWireType("+p+", arg"+c+"); // "+a[c+2].name+"\n",k.push("argType"+c),d.push(a[c+2]);l&&(m="thisWired"+(0<m.length?", ":"")+m);b+=(n?"var rv = ":"")+"invoker(fn"+(0<m.length?", ":"")+m+");\n";if(h)b+=
"runDestructors(destructors);\n";else for(c=l?1:2;c<a.length;++c)f=1===c?"thisWired":"arg"+(c-2)+"Wired",null!==a[c].L&&(b+=f+"_dtor("+f+"); // "+a[c].name+"\n",k.push(f+"_dtor"),d.push(a[c].L));n&&(b+="var ret = retType.fromWireType(rv);\nreturn ret;\n");k.push(b+"}\n");return Db(k).apply(null,d)}function Gb(b,a){for(var c=[],d=0;d<b;d++)c.push(D[(a>>2)+d]);return c}var Hb=[],Y=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function rb(b){switch(b){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var a=Hb.length?Hb.pop():Y.length;Y[a]={la:1,value:b};return a}}function U(b){if(null===b)return"null";var a=typeof b;return"object"===a||"array"===a||"function"===a?b.toString():""+b}function Ib(b,a){switch(a){case 2:return function(c){return this.fromWireType(Ba[c>>2])};case 3:return function(c){return this.fromWireType(Ca[c>>3])};default:throw new TypeError("Unknown float type: "+b);}}
function Jb(b,a,c){switch(a){case 0:return c?function(d){return E[d]}:function(d){return B[d]};case 1:return c?function(d){return C[d>>1]}:function(d){return ua[d>>1]};case 2:return c?function(d){return D[d>>2]}:function(d){return F[d>>2]};default:throw new TypeError("Unknown integer type: "+b);}}for(var Kb=[null,[],[]],Lb=Array(256),Mb=0;256>Mb;++Mb)Lb[Mb]=String.fromCharCode(Mb);Ua=Lb;N=g.BindingError=Ya("BindingError");Za=g.InternalError=Ya("InternalError");
S.prototype.isAliasOf=function(b){if(!(this instanceof S&&b instanceof S))return!1;var a=this.C.G.F,c=this.C.D,d=b.C.G.F;for(b=b.C.D;a.K;)c=a.T(c),a=a.K;for(;d.K;)b=d.T(b),d=d.K;return a===d&&c===b};S.prototype.clone=function(){this.C.D||bb(this);if(this.C.S)return this.C.count.value+=1,this;var b=R(Object.create(Object.getPrototypeOf(this),{C:{value:ab(this.C)}}));b.C.count.value+=1;b.C.P=!1;return b};
S.prototype["delete"]=function(){this.C.D||bb(this);this.C.P&&!this.C.S&&O("Object already scheduled for deletion");db(this);eb(this.C);this.C.S||(this.C.I=void 0,this.C.D=void 0)};S.prototype.isDeleted=function(){return!this.C.D};S.prototype.deleteLater=function(){this.C.D||bb(this);this.C.P&&!this.C.S&&O("Object already scheduled for deletion");gb.push(this);1===gb.length&&fb&&fb(hb);this.C.P=!0;return this};V.prototype.ea=function(b){this.Z&&(b=this.Z(b));return b};
V.prototype.Y=function(b){this.N&&this.N(b)};V.prototype.argPackAdvance=8;V.prototype.readValueFromPointer=tb;V.prototype.deleteObject=function(b){if(null!==b)b["delete"]()};
V.prototype.fromWireType=function(b){function a(){return this.V?xb(this.F.R,{G:this.ha,D:c,J:this,I:b}):xb(this.F.R,{G:this,D:b})}var c=this.ea(b);if(!c)return this.Y(b),null;var d=wb(this.F,c);if(void 0!==d){if(0===d.C.count.value)return d.C.D=c,d.C.I=b,d.clone();d=d.clone();this.Y(b);return d}d=this.F.da(c);d=ib[d];if(!d)return a.call(this);d=this.U?d.$:d.pointerType;var e=ub(c,this.F,d.F);return null===e?a.call(this):this.V?xb(d.F.R,{G:d,D:e,J:this,I:b}):xb(d.F.R,{G:d,D:e})};
g.getInheritedInstanceCount=function(){return Object.keys(vb).length};g.getLiveInheritedInstances=function(){var b=[],a;for(a in vb)vb.hasOwnProperty(a)&&b.push(vb[a]);return b};g.flushPendingDeletes=hb;g.setDelayFunction=function(b){fb=b;gb.length&&fb&&fb(hb)};zb=g.UnboundTypeError=Ya("UnboundTypeError");g.count_emval_handles=function(){for(var b=0,a=5;a<Y.length;++a)void 0!==Y[a]&&++b;return b};g.get_first_emval=function(){for(var b=5;b<Y.length;++b)if(void 0!==Y[b])return Y[b];return null};
var Ob={i:function(b){return Nb(b+16)+16},h:function(b,a,c){(new Ra(b)).ga(a,c);Sa++;throw b;},k:function(b,a,c,d,e){var f=Ta(c);a=K(a);Q(b,{name:a,fromWireType:function(l){return!!l},toWireType:function(l,h){return h?d:e},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var h=E;else if(2===c)h=C;else if(4===c)h=D;else throw new TypeError("Unknown boolean type size: "+a);return this.fromWireType(h[l>>f])},L:null})},t:function(b,a,c,d,e,f,l,h,n,k,m,p,q){m=K(m);f=W(e,f);h&&(h=W(l,h));k&&(k=
W(n,k));q=W(p,q);var x=Wa(m);kb(x,function(){Cb("Cannot construct "+m+" due to unbound types",[d])});P([b,a,c],d?[d]:[],function(u){u=u[0];if(d){var ra=u.F;var da=ra.R}else da=S.prototype;u=Xa(x,function(){if(Object.getPrototypeOf(this)!==Oa)throw new N("Use 'new' to construct "+m);if(void 0===T.M)throw new N(m+" has no accessible constructor");var mb=T.M[arguments.length];if(void 0===mb)throw new N("Tried to invoke ctor of "+m+" with invalid number of parameters ("+arguments.length+") - expected ("+
Object.keys(T.M).toString()+") parameters instead!");return mb.apply(this,arguments)});var Oa=Object.create(da,{constructor:{value:u}});u.prototype=Oa;var T=new lb(m,u,Oa,q,ra,f,h,k);ra=new V(m,T,!0,!1);da=new V(m+"*",T,!1,!1);var nb=new V(m+" const*",T,!1,!0);ib[b]={pointerType:da,$:nb};yb(x,u);return[ra,da,nb]})},m:function(b,a,c,d,e,f,l){var h=Gb(c,d);a=K(a);f=W(e,f);P([],[b],function(n){function k(){Cb("Cannot call "+m+" due to unbound types",h)}n=n[0];var m=n.name+"."+a,p=n.F.constructor;void 0===
p[a]?(k.O=c-1,p[a]=k):(jb(p,a,m),p[a].H[c-1]=k);P([],h,function(q){q=[q[0],null].concat(q.slice(1));q=Fb(m,q,null,f,l);void 0===p[a].H?(q.O=c-1,p[a]=q):p[a].H[c-1]=q;return[]});return[]})},s:function(b,a,c,d,e,f){assert(0<a);var l=Gb(a,c);e=W(d,e);var h=[f],n=[];P([],[b],function(k){k=k[0];var m="constructor "+k.name;void 0===k.F.M&&(k.F.M=[]);if(void 0!==k.F.M[a-1])throw new N("Cannot register multiple constructors with identical number of parameters ("+(a-1)+") for class '"+k.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");
k.F.M[a-1]=function(){Cb("Cannot construct "+k.name+" due to unbound types",l)};P([],l,function(p){k.F.M[a-1]=function(){arguments.length!==a-1&&O(m+" called with "+arguments.length+" arguments, expected "+(a-1));n.length=0;h.length=a;for(var q=1;q<a;++q)h[q]=p[q].toWireType(n,arguments[q-1]);q=e.apply(null,h);Eb(n);return p[0].fromWireType(q)};return[]});return[]})},d:function(b,a,c,d,e,f,l,h){var n=Gb(c,d);a=K(a);f=W(e,f);P([],[b],function(k){function m(){Cb("Cannot call "+p+" due to unbound types",
n)}k=k[0];var p=k.name+"."+a;h&&k.F.ia.push(a);var q=k.F.R,x=q[a];void 0===x||void 0===x.H&&x.className!==k.name&&x.O===c-2?(m.O=c-2,m.className=k.name,q[a]=m):(jb(q,a,p),q[a].H[c-2]=m);P([],n,function(u){u=Fb(p,u,k,f,l);void 0===q[a].H?(u.O=c-2,q[a]=u):q[a].H[c-2]=u;return[]});return[]})},r:function(b,a){a=K(a);Q(b,{name:a,fromWireType:function(c){var d=Y[c].value;4<c&&0===--Y[c].la&&(Y[c]=void 0,Hb.push(c));return d},toWireType:function(c,d){return rb(d)},argPackAdvance:8,readValueFromPointer:tb,
L:null})},j:function(b,a,c){c=Ta(c);a=K(a);Q(b,{name:a,fromWireType:function(d){return d},toWireType:function(d,e){if("number"!==typeof e&&"boolean"!==typeof e)throw new TypeError('Cannot convert "'+U(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:Ib(a,c),L:null})},b:function(b,a,c,d,e){function f(k){return k}a=K(a);-1===e&&(e=4294967295);var l=Ta(c);if(0===d){var h=32-8*c;f=function(k){return k<<h>>>h}}var n=-1!=a.indexOf("unsigned");Q(b,{name:a,fromWireType:f,toWireType:function(k,
m){if("number"!==typeof m&&"boolean"!==typeof m)throw new TypeError('Cannot convert "'+U(m)+'" to '+this.name);if(m<d||m>e)throw new TypeError('Passing a number "'+U(m)+'" from JS side to C/C++ side to an argument of type "'+a+'", which is outside the valid range ['+d+", "+e+"]!");return n?m>>>0:m|0},argPackAdvance:8,readValueFromPointer:Jb(a,l,0!==d),L:null})},a:function(b,a,c){function d(f){f>>=2;var l=F;return new e(Aa,l[f+1],l[f])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,
Uint32Array,Float32Array,Float64Array][a];c=K(c);Q(b,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{fa:!0})},f:function(b,a){a=K(a);var c="std::string"===a;Q(b,{name:a,fromWireType:function(d){var e=F[d>>2];if(c)for(var f=d+4,l=0;l<=e;++l){var h=d+4+l;if(l==e||0==B[h]){f=f?pa(B,f,h-f):"";if(void 0===n)var n=f;else n+=String.fromCharCode(0),n+=f;f=h+1}}else{n=Array(e);for(l=0;l<e;++l)n[l]=String.fromCharCode(B[d+4+l]);n=n.join("")}X(d);return n},toWireType:function(d,e){e instanceof
ArrayBuffer&&(e=new Uint8Array(e));var f="string"===typeof e;f||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||O("Cannot pass non-string to std::string");var l=(c&&f?function(){for(var k=0,m=0;m<e.length;++m){var p=e.charCodeAt(m);55296<=p&&57343>=p&&(p=65536+((p&1023)<<10)|e.charCodeAt(++m)&1023);127>=p?++k:k=2047>=p?k+2:65535>=p?k+3:k+4}return k}:function(){return e.length})(),h=Nb(4+l+1);F[h>>2]=l;if(c&&f)qa(e,h+4,l+1);else if(f)for(f=0;f<l;++f){var n=e.charCodeAt(f);
255<n&&(X(h),O("String has UTF-16 code units that do not fit in 8 bits"));B[h+4+f]=n}else for(f=0;f<l;++f)B[h+4+f]=e[f];null!==d&&d.push(X,h);return h},argPackAdvance:8,readValueFromPointer:tb,L:function(d){X(d)}})},e:function(b,a,c){c=K(c);if(2===a){var d=ta;var e=va;var f=wa;var l=function(){return ua};var h=1}else 4===a&&(d=xa,e=ya,f=za,l=function(){return F},h=2);Q(b,{name:c,fromWireType:function(n){for(var k=F[n>>2],m=l(),p,q=n+4,x=0;x<=k;++x){var u=n+4+x*a;if(x==k||0==m[u>>h])q=d(q,u-q),void 0===
p?p=q:(p+=String.fromCharCode(0),p+=q),q=u+a}X(n);return p},toWireType:function(n,k){"string"!==typeof k&&O("Cannot pass non-string to C++ string type "+c);var m=f(k),p=Nb(4+m+a);F[p>>2]=m>>h;e(k,p+4,m+a);null!==n&&n.push(X,p);return p},argPackAdvance:8,readValueFromPointer:tb,L:function(n){X(n)}})},l:function(b,a){a=K(a);Q(b,{sa:!0,name:a,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},g:function(){A()},n:function(b,a,c){B.copyWithin(b,a,a+c)},c:function(b){b>>>=0;var a=B.length;
if(2147483648<b)return!1;for(var c=1;4>=c;c*=2){var d=a*(1+.2/c);d=Math.min(d,b+100663296);d=Math.max(16777216,b,d);0<d%65536&&(d+=65536-d%65536);a:{try{ma.grow(Math.min(2147483648,d)-Aa.byteLength+65535>>>16);Da();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1},p:function(){return 0},q:function(){},o:function(b,a,c,d){for(var e=0,f=0;f<c;f++){for(var l=D[a+8*f>>2],h=D[a+(8*f+4)>>2],n=0;n<h;n++){var k=B[l+n],m=Kb[b];0===k||10===k?((1===b?ka:z)(pa(m,0)),m.length=0):m.push(k)}e+=h}D[d>>2]=
e;return 0}},Z=function(){function b(c){g.asm=c.exports;ma=g.asm.u;Da();Ea=g.asm.z;G--;g.monitorRunDependencies&&g.monitorRunDependencies(G);0==G&&(null!==La&&(clearInterval(La),La=null),H&&(c=H,H=null,c()))}var a={a:Ob};G++;g.monitorRunDependencies&&g.monitorRunDependencies(G);if(g.instantiateWasm)try{return g.instantiateWasm(a,b)}catch(c){return z("Module.instantiateWasm callback failed with error: "+c),!1}a=Na(a);b(a[0],a[1]);return g.asm}(),Ja=g.___wasm_call_ctors=Z.v;g._opus_strerror=Z.w;
var Nb=g._malloc=Z.x,X=g._free=Z.y,Bb=g.___getTypeName=Z.A;g.___embind_register_native_and_builtin_types=Z.B;
g.setValue=function(b,a,c){c=c||"i8";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":E[b>>0]=a;break;case "i8":E[b>>0]=a;break;case "i16":C[b>>1]=a;break;case "i32":D[b>>2]=a;break;case "i64":Pa=[a>>>0,(J=a,1<=+Math.abs(J)?0<J?(Math.min(+Math.floor(J/4294967296),4294967295)|0)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)];D[b>>2]=Pa[0];D[b+4>>2]=Pa[1];break;case "float":Ba[b>>2]=a;break;case "double":Ca[b>>3]=a;break;default:A("invalid type for setValue: "+c)}};
g.getValue=function(b,a){a=a||"i8";"*"===a.charAt(a.length-1)&&(a="i32");switch(a){case "i1":return E[b>>0];case "i8":return E[b>>0];case "i16":return C[b>>1];case "i32":return D[b>>2];case "i64":return D[b>>2];case "float":return Ba[b>>2];case "double":return Ca[b>>3];default:A("invalid type for getValue: "+a)}return null};var Pb;H=function Qb(){Pb||Rb();Pb||(H=Qb)};
function Rb(){function b(){if(!Pb&&(Pb=!0,g.calledRun=!0,!na)){Qa(Ga);Qa(Ha);aa(g);if(g.onRuntimeInitialized)g.onRuntimeInitialized();if(g.postRun)for("function"==typeof g.postRun&&(g.postRun=[g.postRun]);g.postRun.length;){var a=g.postRun.shift();Ia.unshift(a)}Qa(Ia)}}if(!(0<G)){if(g.preRun)for("function"==typeof g.preRun&&(g.preRun=[g.preRun]);g.preRun.length;)Ka();Qa(Fa);0<G||(g.setStatus?(g.setStatus("Running..."),setTimeout(function(){setTimeout(function(){g.setStatus("")},1);b()},1)):b())}}
g.run=Rb;if(g.preInit)for("function"==typeof g.preInit&&(g.preInit=[g.preInit]);0<g.preInit.length;)g.preInit.pop()();noExitRuntime=!0;Rb();
return Module
}
);
})();
if (typeof exports === 'object' && typeof module === 'object')
module.exports = Module;
else if (typeof define === 'function' && define['amd'])
define([], function() { return Module; });
else if (typeof exports === 'object')
exports["Module"] = Module;
Binary file not shown.
+93
View File
@@ -0,0 +1,93 @@
declare module 'opusscript' {
/**
* Opus application type
*/
enum OpusApplication {
/**
* Voice Over IP
*/
VOIP = 2048,
/**
* Audio
*/
AUDIO = 2049,
/**
* Restricted Low-Delay
*/
RESTRICTED_LOWDELAY = 2051
}
enum OpusError {
"OK" = 0,
"Bad argument" = -1,
"Buffer too small" = -2,
"Internal error" = -3,
"Invalid packet" = -4,
"Unimplemented" = -5,
"Invalid state" = -6,
"Memory allocation fail" = -7
}
/**
* Valid audio sampling rates
*/
type VALID_SAMPLING_RATES = 8000 | 12000 | 16000 | 24000 | 48000;
/**
* Maximum bytes in a frame
*/
type MAX_FRAME_SIZE = 2880;
/**
* Maximum bytes in a packet
*/
type MAX_PACKET_SIZE = 3828;
/**
* Constructor options for OpusScript
*/
interface OpusScriptOptions {
/**
* Whether or not to use the WASM-compiled version of OpusScript. This is true by default.
*/
wasm?: boolean;
}
class OpusScript {
/**
* Different Opus application types
*/
static Application: typeof OpusApplication;
/**
* Opus Error codes
*/
static Error: typeof OpusError;
/**
* Array of sampling rates that Opus can use
*/
static VALID_SAMPLING_RATES: [8000, 12000, 16000, 24000, 48000];
/**
* The maximum size (in bytes) to send in a packet
*/
static MAX_PACKET_SIZE: MAX_PACKET_SIZE;
/**
* OpusScript options being used
*/
options: OpusScriptOptions;
/**
* Create a new Opus en/decoder
*/
constructor(samplingRate: VALID_SAMPLING_RATES, channels?: number, application?: OpusApplication, options?: OpusScriptOptions);
/**
* Encode a buffer into Opus
*/
encode(buffer: Buffer, frameSize: number): Buffer;
/**
* Decode an opus buffer
*/
decode(buffer: Buffer): Buffer;
encoderCTL(ctl: number, arg: number): void;
decoderCTL(ctl: number, arg: number): void;
/**
* Delete the opus object
*/
delete(): void;
}
export = OpusScript;
}
+116
View File
@@ -0,0 +1,116 @@
"use strict";
let opusscript_native_nasm = null;
let opusscript_native_wasm = null;
var OpusApplication = {
VOIP: 2048,
AUDIO: 2049,
RESTRICTED_LOWDELAY: 2051
};
var OpusError = {
"0": "OK",
"-1": "Bad argument",
"-2": "Buffer too small",
"-3": "Internal error",
"-4": "Invalid packet",
"-5": "Unimplemented",
"-6": "Invalid state",
"-7": "Memory allocation fail"
};
var VALID_SAMPLING_RATES = [8000, 12000, 16000, 24000, 48000];
var MAX_FRAME_SIZE = 48000 * 60 / 1000;
var MAX_PACKET_SIZE = 1276 * 3;
function OpusScript(samplingRate, channels, application, options) {
if(!~VALID_SAMPLING_RATES.indexOf(samplingRate)) {
throw new RangeError(`${samplingRate} is an invalid sampling rate.`);
}
this.options = Object.assign({
wasm: true
}, options);
this.samplingRate = samplingRate;
this.channels = channels || 1;
this.application = application || OpusApplication.AUDIO;
let opusscript_native = null;
if(this.options.wasm) {
if(!opusscript_native_wasm) {
opusscript_native_wasm = require("./build/opusscript_native_wasm.js")();
}
opusscript_native = opusscript_native_wasm;
} else {
if(!opusscript_native_nasm) {
opusscript_native_nasm = require("./build/opusscript_native_nasm.js")();
}
opusscript_native = opusscript_native_nasm;
}
this.handler = new opusscript_native.OpusScriptHandler(this.samplingRate, this.channels, this.application);
this.inPCMLength = MAX_FRAME_SIZE * this.channels * 2;
this.inPCMPointer = opusscript_native._malloc(this.inPCMLength);
this.inPCM = opusscript_native.HEAPU16.subarray(this.inPCMPointer, this.inPCMPointer + this.inPCMLength);
this.inOpusPointer = opusscript_native._malloc(MAX_PACKET_SIZE);
this.inOpus = opusscript_native.HEAPU8.subarray(this.inOpusPointer, this.inOpusPointer + MAX_PACKET_SIZE);
this.outOpusPointer = opusscript_native._malloc(MAX_PACKET_SIZE);
this.outOpus = opusscript_native.HEAPU8.subarray(this.outOpusPointer, this.outOpusPointer + MAX_PACKET_SIZE);
this.outPCMLength = MAX_FRAME_SIZE * this.channels * 2;
this.outPCMPointer = opusscript_native._malloc(this.outPCMLength);
this.outPCM = opusscript_native.HEAPU16.subarray(this.outPCMPointer, this.outPCMPointer + this.outPCMLength);
};
OpusScript.prototype.encode = function encode(buffer, frameSize) {
this.inPCM.set(buffer);
var len = this.handler._encode(this.inPCM.byteOffset, buffer.length, this.outOpusPointer, frameSize);
if(len < 0) {
throw new Error("Encode error: " + OpusError["" + len]);
}
return Buffer.from(this.outOpus.subarray(0, len));
};
OpusScript.prototype.decode = function decode(buffer) {
this.inOpus.set(buffer);
var len = this.handler._decode(this.inOpusPointer, buffer.length, this.outPCM.byteOffset);
if(len < 0) {
throw new Error("Decode error: " + OpusError["" + len]);
}
return Buffer.from(this.outPCM.subarray(0, len * this.channels * 2));
};
OpusScript.prototype.encoderCTL = function encoderCTL(ctl, arg) {
var len = this.handler._encoder_ctl(ctl, arg);
if(len < 0) {
throw new Error("Encoder CTL error: " + OpusError["" + len]);
}
};
OpusScript.prototype.decoderCTL = function decoderCTL(ctl, arg) {
var len = this.handler._decoder_ctl(ctl, arg);
if(len < 0) {
throw new Error("Decoder CTL error: " + OpusError["" + len]);
}
};
OpusScript.prototype.delete = function del() {
let opusscript_native = this.options.wasm ? opusscript_native_wasm : opusscript_native_nasm;
opusscript_native.OpusScriptHandler.destroy_handler(this.handler);
opusscript_native._free(this.inPCMPointer);
opusscript_native._free(this.inOpusPointer);
opusscript_native._free(this.outOpusPointer);
opusscript_native._free(this.outPCMPointer);
};
OpusScript.Application = OpusApplication;
OpusScript.Error = OpusError;
OpusScript.VALID_SAMPLING_RATES = VALID_SAMPLING_RATES;
OpusScript.MAX_PACKET_SIZE = MAX_PACKET_SIZE;
module.exports = OpusScript;
+26
View File
@@ -0,0 +1,26 @@
{
"name": "opusscript",
"version": "0.0.8",
"description": "JS bindings for libopus 1.3.1, ported with emscripten",
"main": "index.js",
"types": "index.d.ts",
"repository": {
"type": "git",
"url": "git+https://github.com/abalabahaha/opusscript.git"
},
"keywords": [
"libopus",
"encoder",
"emscripten"
],
"author": "abalabahaha",
"license": "MIT",
"bugs": {
"url": "https://github.com/abalabahaha/opusscript/issues"
},
"homepage": "https://github.com/abalabahaha/opusscript#readme",
"browser": {
"fs": false,
"path": false
}
}