diff --git a/.gitignore b/.gitignore index a9110d9..ee2bccc 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,5 @@ dist /data .nyc_output .test_output -coverage \ No newline at end of file +coverage +!ext.vsix \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json index edf14e5..cbfc31a 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -5,11 +5,14 @@ "name": "Run Extension", "type": "extensionHost", "request": "launch", + "runtimeExecutable": "${execPath}", "args": [ "${workspaceFolder}/data", - "--extensionDevelopmentPath=${workspaceFolder}", + "--extensionDevelopmentPath=${workspaceRoot}", "--disable-extensions" - ] + ], + "sourceMaps": true, + "outFiles": ["${workspaceRoot}/dist/**/*.js"] }, { "name": "Run Web Extension", diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..7e84978 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "editor.indentSize": 2 +} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 46b8272..1bb87dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,13 @@ # Change Log +### [0.0.15] + +* added DCM support ### [0.0.14] -* Better support for code-server, thanks to @TinasheMTapera for input -* Fix image loading when the affine is zeroed, thanks to @nx10 and @pierre-nedelec for helping debugging it -* Fix file access when running on Windows, thanks to @nx10 for providing with a fix for it +* Better support for code-server, thanks to [@TinasheMTapera](https://github.com/TinasheMTapera) for input +* Fix image loading when the affine is zeroed, thanks to [@nx10](https://github.com/nx10) and [@pierre-nedelec](https://github.com/pierre-nedelec) for helping debugging it +* Fix file access when running on Windows, thanks to [@nx10](https://github.com/nx10) for providing with a fix for it ### [0.0.13] diff --git a/README.md b/README.md index 6798be9..dedaf8f 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,9 @@ [![GitHub license](https://img.shields.io/github/license/anibalsolon/vscode-neuro-viewer.svg)](https://github.com/anibalsolon/vscode-neuro-viewer/blob/main/LICENSE) -[![Visual Studio Marketplace](https://vsmarketplacebadge.apphb.com/installs-short/anibalsolon.neuro-viewer.svg)](https://marketplace.visualstudio.com/items?itemName=anibalsolon.neuro-viewer) +[![Visual Studio Marketplace](https://img.shields.io/badge/Visual_Studio_Code-0078D4?style=plastic&logo=visual%20studio%20code&logoColor=white)](https://marketplace.visualstudio.com/items?itemName=anibalsolon.neuro-viewer) [![Coverage Status](https://coveralls.io/repos/github/anibalsolon/vscode-neuro-viewer/badge.svg?branch=develop)](https://coveralls.io/github/anibalsolon/vscode-neuro-viewer?branch=main) ![Build](https://github.com/anibalsolon/vscode-neuro-viewer/actions/workflows/test-and-deploy.yml/badge.svg?branch=main) -![Wakatime](https://user-images.githubusercontent.com/562525/159188432-2f20e2ca-4a57-4a4f-a935-6728751939dc.png) If you got here, you might be familiar with Nifti files. In any case, Nifti is a file format for neuroimaging. @@ -28,3 +27,6 @@ A quick way to view your Nifti files. It shows some metadata and renders a volum ## Known Issues * It just renders the first volume of a fMRI. + +@kubzoey95 Added dcm series support - click on any .dcm file in dir with series: +![DCM](https://raw.githubusercontent.com/kubzoey95/vscode-neuro-viewer/main/dcm-screenshot.png) diff --git a/dcm-screenshot.png b/dcm-screenshot.png new file mode 100644 index 0000000..ab91e7f Binary files /dev/null and b/dcm-screenshot.png differ diff --git a/extension/codec-openjpeg/index.js b/extension/codec-openjpeg/index.js new file mode 100644 index 0000000..ad1005a --- /dev/null +++ b/extension/codec-openjpeg/index.js @@ -0,0 +1,6 @@ +import OpenJPEGJS from "./openjpegjs"; +import OpenJPEGWASM from "./openjpegwasm"; +export { + OpenJPEGJS, + OpenJPEGWASM +}; diff --git a/extension/codec-openjpeg/openjpegjs.js b/extension/codec-openjpeg/openjpegjs.js new file mode 100644 index 0000000..6f59549 --- /dev/null +++ b/extension/codec-openjpeg/openjpegjs.js @@ -0,0 +1,38 @@ + +var OpenJPEGJS = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(OpenJPEGJS) { + OpenJPEGJS = OpenJPEGJS || {}; + +var Module=typeof OpenJPEGJS!="undefined"?OpenJPEGJS:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err("exiting due to exception: "+toLog)}if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",function(reason){throw reason});quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}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(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};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=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536)},Module:function(binary){},Instance:function(module,info){this.exports=( +// EMSCRIPTEN_START_ASM +function instantiate(Ea){function c(d){d.set=function(a,b){this[a]=b};d.get=function(a){return this[a]};return d}var e;var f=new ArrayBuffer(16);var g=new Int32Array(f);var h=new Float32Array(f);var i=new Float64Array(f);function j(k){return g[k]}function l(k,m){g[k]=m}function n(){return i[0]}function o(m){i[0]=m}function p(){throw new Error("abort")}function Ca(Da){var q=Da.a;var r=q.a;var s=r.buffer;r.grow=Aa;var t=new Int8Array(s);var u=new Int16Array(s);var v=new Int32Array(s);var w=new Uint8Array(s);var x=new Uint16Array(s);var y=new Uint32Array(s);var z=new Float32Array(s);var A=new Float64Array(s);var B=Math.imul;var C=Math.fround;var D=Math.abs;var E=Math.clz32;var F=Math.min;var G=Math.max;var H=Math.floor;var I=Math.ceil;var J=Math.trunc;var K=Math.sqrt;var L=NaN;var M=Infinity;var N=q.b;var O=q.c;var P=q.d;var Q=q.e;var R=q.f;var S=q.g;var T=q.h;var U=q.i;var V=q.j;var W=q.k;var X=q.l;var Y=q.m;var Z=q.n;var _=q.o;var $=q.p;var aa=q.q;var ba=q.r;var ca=q.s;var da=q.t;var ea=q.u;var fa=q.v;var ga=q.w;var ha=q.x;var ia=q.y;var ja=q.z;var ka=q.A;var la=q.B;var ma=q.C;var na=q.D;var oa=q.E;var pa=q.F;var qa=118304;var ra=0;var sa=0;var ta=0; +// EMSCRIPTEN_START_FUNCS +function $f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,A=0,D=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=C(0),ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,ra=0,sa=0,ta=0;X=qa-96|0;qa=X;H=v[a+8>>2];a:{b:{c:{if(!v[a>>2]){e=B(v[H+16>>2]-v[H+8>>2]|0,v[H+20>>2]-v[H+12>>2]|0)<<2;f=Ta(e);v[H+60>>2]=f;if(!f){Fa(v[a+32>>2],1,17900,0);n=a+28|0;break b}Ma(f,0,e);break c}e=v[H+60>>2];if(!e){break c}Ga(e);v[H+60>>2]=0}if(!v[v[a+28>>2]>>2]){break a}la=v[a+16>>2];e=(B(v[la+24>>2],152)+v[la+28>>2]|0)-152|0;sa=v[e>>2];ta=v[e+8>>2];ma=v[a+20>>2];na=v[a+12>>2];ra=v[a+4>>2];n=a+28|0;d:{d=oe(b);if(d){break d}d=Ka(1,156);if(!d){Fa(v[a+32>>2],1,10256,0);break b}v[d+140>>2]=0;if(ne(b,d)){break d}Fa(v[a+32>>2],1,18588,0);b=v[d+116>>2];if(b){Ga(b);v[d+116>>2]=0}b=v[d+120>>2];if(b){Ga(b);v[d+120>>2]=0}Ga(v[d+148>>2]);Ga(d);break b}v[d+144>>2]=v[a+24>>2];J=v[a+40>>2];Z=v[a+36>>2];R=v[a+32>>2];e=v[ma+808>>2];b=v[na+16>>2];e:{S=v[ma+16>>2];f:{if(S&64){k=qa-304|0;qa=k;g:{if(e){if(Z){Fa(R,1,5603,0);break g}Fa(R,1,5603,0);break g}i=v[d+116>>2];e=v[H+20>>2]-v[H+12>>2]|0;b=v[H+16>>2]-v[H+8>>2]|0;f=B(e,b);h:{i:{if(f>>>0>y[d+132>>2]){Ga(i);I=f<<2;i=Ta(I);v[d+116>>2]=i;if(!i){break g}v[d+132>>2]=f;break i}if(!i){break h}I=f<<2}Ma(i,0,I)}i=v[d+120>>2];j:{if(y[d+136>>2]>2639){break j}Ga(i);i=Ta(10560);v[d+120>>2]=i;if(i){break j}break g}v[d+136>>2]=2640;Ma(i,0,10560);v[d+128>>2]=e;v[d+124>>2]=b;j=v[H+24>>2];if(!j){c=1;break g}r=v[H+28>>2];k:{l:{m:{n:{o:{e=v[H+52>>2];if(e){o=v[H+4>>2];I=0;i=0;if(e>>>0>=4){b=e&-4;while(1){f=c<<3;i=v[(o+(f|24)|0)+4>>2]+(v[(o+(f|16)|0)+4>>2]+(v[(o+(f|8)|0)+4>>2]+(v[(f+o|0)+4>>2]+i|0)|0)|0)|0;c=c+4|0;g=g+4|0;if((b|0)!=(g|0)){continue}break}}b=e&3;if(b){while(1){i=v[(o+(c<<3)|0)+4>>2]+i|0;c=c+1|0;I=I+1|0;if((b|0)!=(I|0)){continue}break}}if(!v[d+144>>2]&e>>>0<=1){break n}if(y[d+152>>2]>>0){break o}break m}if(v[d+144>>2]){break m}c=1;break g}I=Pa(v[d+148>>2],i);if(!I){c=0;break g}v[d+152>>2]=i;v[d+148>>2]=I;e=v[H+52>>2];break l}c=1;if((e|0)!=1){break g}I=v[v[H+4>>2]>>2];break k}I=v[d+148>>2]}if(!e){i=0;break k}f=v[H+4>>2];i=0;c=0;while(1){e=c<<3;b=e+f|0;Ja(i+I|0,v[b>>2],v[b+4>>2]);f=v[H+4>>2];i=v[(e+f|0)+4>>2]+i|0;c=c+1|0;if(c>>>0>2]){continue}break}}c=0;f=0;e=v[H+40>>2];o=0;p:{if(!e){break p}b=v[H>>2];f=v[b+8>>2];o=0;if((e|0)==1){break p}o=v[b+32>>2]}e=j-r|0;f=f+o|0;q:{if(!f){break q}c=1;b=v[H>>2];D=v[b>>2];if((f|0)==1){c=0;break q}p=v[b+24>>2]}Q=e+1|0;ea=v[d+116>>2];Y=v[d+120>>2];O=v[H+12>>2];K=v[H+20>>2];F=v[H+8>>2];pa=v[H+16>>2];r:{s:{t:{u:{v:{w:{x:{y:{if(!(p|!c)){if(!Z){break y}Fa(R,2,21421,0);f=1;break x}if(f>>>0<4){break x}if(Z){v[k+112>>2]=f;Fa(R,1,20056,k+112|0);break r}v[k+96>>2]=f;Fa(R,1,20056,k+96|0);c=0;break g}Fa(R,2,21421,0);c=v[H+24>>2];if(c>>>0>30){break w}s=1;if(c>>>0>=Q>>>0){break u}break s}c=v[H+24>>2];if(c>>>0<=30){break v}if(!Z){break w}v[k+32>>2]=v[H+24>>2];Fa(R,1,23639,k+32|0);break r}v[k>>2]=c;Fa(R,1,23639,k);c=0;break g}if(c>>>0>>0){break t}if((c|0)!=(Q|0)){s=f;break u}if(f>>>0<2){s=f;break u}s=1;if(w[49816]){break u}if(!Z){t[49816]=1;v[k+64>>2]=f;Fa(R,2,20883,k- -64|0);break u}if(!w[49816]){t[49816]=1;v[k+80>>2]=f;Fa(R,2,20883,k+80|0)}}if(!(!(D>>>0<2|i>>>0>>0)&p+D>>>0<=i>>>0)){if(Z){c=0;Fa(R,1,19604,0);break g}c=0;Fa(R,1,19604,0);break g}g=D+I|0;L=w[g-1|0]<<4|w[g-2|0]&15;if(!(!(L>>>0<2|(D|0)<(L|0))&L>>>0<4080)){if(Z){c=0;Fa(R,1,27282,0);break g}c=0;Fa(R,1,27282,0);break g}M=v[H+28>>2];v[k+272>>2]=0;v[k+280>>2]=0;v[k+264>>2]=0;v[k+268>>2]=0;v[k+296>>2]=0;v[k+300>>2]=0;v[k+284>>2]=0;v[k+288>>2]=0;e=L-1|0;v[k+276>>2]=e;i=(D+I|0)-L|0;v[k+256>>2]=i;o=255;o=L>>>0>=2?w[i|0]:o;b=8;v[k+272>>2]=8;f=L-2|0;v[k+276>>2]=f;o=(e|0)==1?o|15:o;e=0;r=e;v[k+264>>2]=o;v[k+268>>2]=e;j=i+((L|0)>1)|0;v[k+256>>2]=j;v[k+280>>2]=!e&(o|0)==255;m=i&3;z:{A:{if((m|0)==3){break A}e=255;if(!r&(o|0)==255){i=0;if(w[j|0]>143){break z}}e=(L|0)>=3?w[j|0]:e;l=L-3|0;v[k+276>>2]=l;i=!r&(o|0)==255;b=i?15:16;v[k+272>>2]=b;q=j+((L|0)>2)|0;v[k+256>>2]=q;e=(f|0)==1?e|15:e;f=0;v[k+280>>2]=!f&(e|0)==255;f=e;j=o;e=i?7:8;i=e&31;if((e&63)>>>0>=32){J=j<>>32-i|r<>2]=o;v[k+268>>2]=e;if((m|0)==2){break A}if(!U&(f|0)==255){i=0;if(w[q|0]>143){break z}}c=255;c=(L|0)>=4?w[q|0]:c;j=L-4|0;v[k+276>>2]=j;q=q+((L|0)>3)|0;v[k+256>>2]=q;e=(l|0)==1?c|15:c;i=0;c=i;v[k+280>>2]=!c&(e|0)==255;i=!U&(f|0)==255;b=(i?7:8)+b|0;v[k+272>>2]=b;f=e;e=i?7:8;i=e&31;if((e&63)>>>0>=32){l=o<>>32-i|r<>2]=o;v[k+268>>2]=e;if((m|0)==1){break A}e=255;if(!c&(f|0)==255){i=0;if(w[q|0]>143){break z}}e=(L|0)>=5?w[q|0]:e;v[k+276>>2]=L-5;v[k+256>>2]=q+((L|0)>4);i=0;e=(j|0)==1?e|15:e;v[k+280>>2]=!i&(e|0)==255;f=!c&(f|0)==255;b=(f?7:8)+b|0;v[k+272>>2]=b;j=o;f=f?7:8;o=f&31;if((f&63)>>>0>=32){m=j<>>32-o|r<>2]=o;v[k+268>>2]=e}e=o;b=64-b|0;f=b&31;if((b&63)>>>0>=32){l=e<>>32-f|r<>2]=b;v[k+268>>2]=l;i=1}if(!i){if(Z){c=0;Fa(R,1,22031,0);break g}c=0;Fa(R,1,22031,0);break g}G=pa-F|0;U=L-2|0;v[k+244>>2]=U;e=D+I|0;b=e-3|0;v[k+224>>2]=b;j=w[e-2|0];q=j>>>0>143;v[k+248>>2]=q;r=0;o=j>>>4|0;v[k+232>>2]=o;v[k+236>>2]=0;e=(o&7)==7?3:4;v[k+240>>2]=e;f=(b&3)+1|0;A=(f|0)<(U|0)?f:U;B:{C:{if((L|0)<=2){f=U-A|0;v[k+244>>2]=f;break C}f=b-1|0;v[k+224>>2]=f;i=w[b|0];q=i>>>0>143;v[k+248>>2]=q;b=e&31;if((e&63)>>>0>=32){m=i<>>32-b;b=i<>2]=o;r=m;v[k+236>>2]=m;e=(j>>>0<=143?8:(i&127)==127?7:8)+e|0;v[k+240>>2]=e;D:{if((A|0)<2){b=f;break D}b=f-1|0;v[k+224>>2]=b;f=w[f|0];q=f>>>0>143;v[k+248>>2]=q;j=e&31;if((e&63)>>>0>=32){l=f<>>32-j;j=f<>2]=o;r=l|r;v[k+236>>2]=r;e=(i>>>0<=143?8:(f&127)==127?7:8)+e|0;v[k+240>>2]=e;c=(A|0)<=1?1:A;if((c|0)==2){break D}j=b-1|0;v[k+224>>2]=j;i=w[b|0];q=i>>>0>143;v[k+248>>2]=q;b=e&31;if((e&63)>>>0>=32){l=i<>>32-b;b=i<>2]=o;v[k+236>>2]=b;e=(f>>>0<=143?8:(i&127)==127?7:8)+e|0;v[k+240>>2]=e;if((c|0)==3){b=j;break D}b=j-1|0;v[k+224>>2]=b;f=w[j|0];q=f>>>0>143;v[k+248>>2]=q;j=e&31;if((e&63)>>>0>=32){J=f<>>32-j;j=f<>2]=o;r=r|J;v[k+236>>2]=r;e=(i>>>0<=143?8:(f&127)==127?7:8)+e|0;v[k+240>>2]=e}f=U-A|0;v[k+244>>2]=f;if(e>>>0>32){break B}}E:{if((f|0)>=4){i=v[b-3>>2];v[k+244>>2]=f-4;v[k+224>>2]=b-4;break E}if((f|0)<=0){i=0;break E}A=f&1;F:{if((f|0)==1){c=24;i=0;break F}U=f&-2;c=24;i=0;l=0;while(1){j=b-1|0;v[k+224>>2]=j;m=w[b|0];b=b-2|0;v[k+224>>2]=b;v[k+244>>2]=f-1;j=w[j|0];f=f-2|0;v[k+244>>2]=f;i=m<>2]=b-1;b=w[b|0];v[k+244>>2]=f-1;i=b<>2]=m>>>0>143;j=q?(i&2130706432)==2130706432?7:8:8;f=j+(i>>>0<=2415919103?8:(i&8323072)==8323072?7:8)|0;c=i>>>16&255;b=f+(c>>>0<=143?8:(i&32512)==32512?7:8)|0;l=i>>>8&255;v[k+240>>2]=b+((l>>>0<=143?8:(i&127)==127?7:8)+e|0);b=c<>>24|l<>>0>=32){l=b<>>32-f;b=b<>2]=b|o;v[k+236>>2]=l|r}pd(k+192|0,I,D-L|0,255);U=0;G:{if(s>>>0<2){break G}pd(k+160|0,g,p,0);U=0;if((s|0)==2){break G}o=0;r=0;c=0;v[k+152>>2]=1;v[k+144>>2]=0;v[k+136>>2]=0;v[k+140>>2]=0;j=p;i=j-1|0;v[k+148>>2]=i;e=(D+I|0)+i|0;v[k+128>>2]=e;U=e&3;H:{if((j|0)<=0){b=e;break H}b=e-1|0;v[k+128>>2]=b;o=w[e|0]}v[k+136>>2]=o;v[k+140>>2]=0;g=o>>>0>143;v[k+152>>2]=g;q=(o&127)==127?7:8;v[k+144>>2]=q;I:{if(!U){break I}D=j-2|0;v[k+148>>2]=D;J:{if((j|0)<2){e=b;break J}e=b-1|0;v[k+128>>2]=e;c=w[b|0]}g=c>>>0>143;v[k+152>>2]=g;b=q&31;if((q&63)>>>0>=32){l=c<>>32-b;b=c<>2]=m;v[k+140>>2]=l;q=(o>>>0<=143?8:(c&127)==127?7:8)+q|0;v[k+144>>2]=q;if((U|0)==1){b=e;o=m;j=i;i=D;break I}l=j-3|0;v[k+148>>2]=l;K:{if((j|0)<3){f=e;break K}f=e-1|0;v[k+128>>2]=f;h=w[e|0]}g=h>>>0>143;v[k+152>>2]=g;b=q&31;if((q&63)>>>0>=32){J=h<>>32-b;b=h<>2]=o;v[k+140>>2]=b;q=(c>>>0<=143?8:(h&127)==127?7:8)+q|0;v[k+144>>2]=q;if((U|0)==2){b=f;j=D;i=l;break I}i=j-4|0;v[k+148>>2]=i;c=0;L:{if((j|0)<4){b=f;break L}b=f-1|0;v[k+128>>2]=b;c=w[f|0]}g=c>>>0>143;v[k+152>>2]=g;e=q&31;if((q&63)>>>0>=32){m=c<>>32-e;e=c<>2]=o;v[k+140>>2]=e;q=(h>>>0<=143?8:(c&127)==127?7:8)+q|0;v[k+144>>2]=q;j=l}if(q>>>0<=32){M:{if((j|0)>=5){e=v[b-3>>2];v[k+148>>2]=j-5;v[k+128>>2]=b-4;break M}e=0;if((j|0)<2){break M}j=24;while(1){c=b-1|0;v[k+128>>2]=c;b=w[b|0];f=i-1|0;v[k+148>>2]=f;e=b<>>0>1;b=c;j=j-8|0;i=f;if(l){continue}break}}l=e&255;v[k+152>>2]=l>>>0>143;i=g?(e&2130706432)==2130706432?7:8:8;f=i+(e>>>0<=2415919103?8:(e&8323072)==8323072?7:8)|0;j=e>>>16&255;b=f+(j>>>0<=143?8:(e&32512)==32512?7:8)|0;c=e>>>8&255;v[k+144>>2]=b+((c>>>0<=143?8:(e&127)==127?7:8)+q|0);b=j<>>24|c<>>0>=32){l=b<>>32-e;b=b<>2]=b|o;v[k+140>>2]=l|r}U=1}_=K-O|0;N=Q+1|0;t[Y+2112|0]=0;h=Y+2112|0;e=ub(k+256|0);N:{if((G|0)<=0){T=M-1|0;break N}T=M-1|0;p=Y;f=h;I=0;j=ea;g=0;while(1){D=g;c=x[(I<<8|(Mb(k+224|0)&127)<<1)+31008>>1];O:{if(I){break O}b=e-2|0;c=(b|0)==-1?c:0;if((e|0)>1){e=b;break O}e=ub(k+256|0)}r=v[k+232>>2];i=v[k+236>>2];b=v[k+240>>2];K=c>>>4|0;q=v[p>>2]|(K&3|c>>>2&48)<<$;v[p>>2]=q;A=c&16;I=c>>>5&7|A>>>4;o=b;b=c&7;g=o-b|0;o=((1<>>b;r=i>>>b|0;b=o;i=0;if((G|0)>(D|2)){i=x[(I<<8|(b&127)<<1)+31008>>1];P:{if(I){break P}b=e-2|0;i=(b|0)==-1?i:0;if((e|0)>1){e=b;break P}e=ub(k+256|0)}I=i>>>4&1|i>>>5&7;b=i&7;g=g-b|0;o=((1<>>b;r=r>>>b|0;b=o}v[p>>2]=q|(i<<2&768|i&48)<<$+4;q=i>>>2&2|c>>>3&1;Q:{if((q|0)!=3){break Q}l=e-2|0;q=(l|0)==-1?4:3;if((e|0)>1){e=l;break Q}e=ub(k+256|0)}R:{if(!q){v[k+120>>2]=1;v[k+124>>2]=1;b=0;break R}if(q>>>0<=2){l=w[(b&7)+35156|0];O=l>>>2&7;m=l&3;l=(((-1<>>m)+(l>>>5|0)|0)+1|0;b=(q|0)==1;v[k+124>>2]=b?1:l;v[k+120>>2]=b?l:1;b=m+O|0;break R}l=b;b=w[(b&7)+35156|0];J=b&3;l=l>>>J|0;if((q|0)==3){Q=(b>>>5|0)+1|0;if((J|0)==3){v[k+124>>2]=l&1|2;b=b>>>2&7;v[k+120>>2]=Q+((-1<>>1);b=b+4|0;break R}q=w[(l&7)+35156|0];m=q&3;l=l>>>m|0;O=b>>>2&7;v[k+120>>2]=Q+(l&(-1<>>2&7;v[k+124>>2]=(((-1<>>O)+(q>>>5|0)|0)+1;b=b+(m+(J+O|0)|0)|0;break R}q=w[(l&7)+35156|0];m=q&3;l=l>>>m|0;O=b>>>2&7;v[k+120>>2]=((l&(-1<>>5|0)|0)+3;b=q>>>2&7;v[k+124>>2]=(((-1<>>O)+(q>>>5|0)|0)+3;b=b+(O+(m+J|0)|0)|0}S:{Q=v[k+120>>2];if(Q>>>0<=N>>>0){O=v[k+124>>2];if(O>>>0<=N>>>0){break S}}if(Z){c=0;Fa(R,1,28088,0);break g}c=0;Fa(R,1,28088,0);break g}v[k+240>>2]=g-b;m=b&31;if((b&63)>>>0>=32){l=0;b=r>>>m|0}else{l=r>>>m|0;b=((1<>>m}v[k+232>>2]=b;v[k+236>>2]=l;r=i&240|K&15;g=D+4|0;b=(g|0)<=(G|0)?255:255>>>(g-G<<1)|0;K=(_|0)>1?b:b&85;if(r&(K^-1)){if(Z){c=0;Fa(R,1,23313,0);break g}c=0;Fa(R,1,23313,0);break g}T:{U:{if(A){r=_a(k+192|0);m=Q+(c<<19>>31)|0;v[k+208>>2]=v[k+208>>2]-m;o=v[k+204>>2];b=v[k+200>>2];q=m&31;if((m&63)>>>0>=32){l=0;b=o>>>q|0}else{l=o>>>q|0;b=((1<>>q}v[k+200>>2]=b;v[k+204>>2]=l;q=(r&(-1<>>8&1)<>2]=q}V:{if(c&32){r=_a(k+192|0);m=Q+(c<<18>>31)|0;v[k+208>>2]=v[k+208>>2]-m;o=v[k+204>>2];b=v[k+200>>2];q=m&31;if((m&63)>>>0>=32){l=0;b=o>>>q|0}else{l=o>>>q|0;b=((1<>>q}v[k+200>>2]=b;v[k+204>>2]=l;b=r&(-1<>>9&1)<>2]=b+2<>>0>>0?r:b)|128;break V}if(!(K&2)){break V}v[(G<<2)+j>>2]=0}m=j+4|0;W:{X:{if(c&64){r=_a(k+192|0);q=Q+(c<<17>>31)|0;v[k+208>>2]=v[k+208>>2]-q;o=v[k+204>>2];b=v[k+200>>2];A=q&31;if((q&63)>>>0>=32){l=0;b=o>>>A|0}else{l=o>>>A|0;b=((1<>>A}v[k+200>>2]=b;v[k+204>>2]=l;W=(r&(-1<>>10&1)<>2]=W}t[f+1|0]=0;Y:{if(c&128){r=_a(k+192|0);q=Q+(c<<16>>31)|0;v[k+208>>2]=v[k+208>>2]-q;o=v[k+204>>2];b=v[k+200>>2];A=q&31;if((q&63)>>>0>=32){l=0;b=o>>>A|0}else{l=o>>>A|0;b=((1<>>A}v[k+200>>2]=b;v[k+204>>2]=l;b=r&(-1<>>11&1)<>2]=b+2<>2]=0}c=j+8|0;Z:{_:{if(i&16){r=_a(k+192|0);m=O+(i<<19>>31)|0;v[k+208>>2]=v[k+208>>2]-m;o=v[k+204>>2];b=v[k+200>>2];q=m&31;if((m&63)>>>0>=32){l=0;b=o>>>q|0}else{l=o>>>q|0;b=((1<>>q}v[k+200>>2]=b;v[k+204>>2]=l;q=(r&(-1<>>8&1)<>2]=q}$:{if(i&32){r=_a(k+192|0);m=O+(i<<18>>31)|0;v[k+208>>2]=v[k+208>>2]-m;o=v[k+204>>2];b=v[k+200>>2];q=m&31;if((m&63)>>>0>=32){l=0;b=o>>>q|0}else{l=o>>>q|0;b=((1<>>q}v[k+200>>2]=b;v[k+204>>2]=l;b=r&(-1<>>9&1)<>2]=b+2<>>0>>0?r:b)|128;break $}if(!(K&32)){break $}v[c+(G<<2)>>2]=0}m=j+12|0;f=f+2|0;aa:{ba:{if(i&64){r=_a(k+192|0);c=O+(i<<17>>31)|0;v[k+208>>2]=v[k+208>>2]-c;o=v[k+204>>2];b=v[k+200>>2];q=c&31;if((c&63)>>>0>=32){l=0;b=o>>>q|0}else{l=o>>>q|0;b=((1<>>q}v[k+200>>2]=b;v[k+204>>2]=l;q=(r&(-1<>>10&1)<>2]=q}r=D&4;t[f|0]=0;ca:{if(i&128){o=_a(k+192|0);D=O+(i<<16>>31)|0;v[k+208>>2]=v[k+208>>2]-D;c=v[k+204>>2];b=v[k+200>>2];q=D&31;if((D&63)>>>0>=32){l=0;b=c>>>q|0}else{l=c>>>q|0;b=((1<>>q}v[k+200>>2]=b;v[k+204>>2]=l;b=o&(-1<>>11&1)<>2]=b+2<>>0<128){break ca}v[m+(G<<2)>>2]=0}$=$^16;p=p+r|0;j=j+16|0;if((g|0)<(G|0)){continue}break}}oa=S&8;ja=Y+1584|0;ka=Y+1056|0;ca=Y+528|0;P=B(G,3);fa=G<<1;b=M-2|0;ha=3<2){M=(G+7>>>1&2147483644)+4|0;while(1){A=q;V=w[h|0];t[h|0]=0;$=$&-17^2;da:{if((G|0)<=0){q=A+2|0;break da}I=A&4?ca:Y;q=A+2|0;j=ea+(B(A,G)<<2)|0;K=0;f=h;D=0;while(1){S=D;J=V&255;b=w[f+1|0]>>>5&4|(J>>>7|K);i=x[(b<<8|(Mb(k+224|0)&127)<<1)+33056>>1];ea:{if(b){break ea}b=e-2|0;i=(b|0)==-1?i:0;if((e|0)>1){e=b;break ea}e=ub(k+256|0)}o=v[k+232>>2];r=v[k+236>>2];b=v[k+240>>2];m=v[I>>2]|(i>>>4&3|i>>>2&48)<<$;v[I>>2]=m;Q=i&64;O=i&128;K=Q>>>5|O>>>6;c=b;b=i&7;W=c-b|0;o=((1<>>b;r=r>>>b|0;D=o;g=0;fa:{if((G|0)<=(S|2)){c=0;break fa}b=w[f+2|0]>>>5&4|w[f+1|0]>>>7|K;c=x[(b<<8|(D&127)<<1)+33056>>1];ga:{if(b){break ga}b=e-2|0;c=(b|0)==-1?c:0;if((e|0)>1){e=b;break ga}e=ub(k+256|0)}K=(c>>>5|c>>>6)&2;b=c&7;W=W-b|0;o=((1<>>b;r=r>>>b|0;D=o}v[I>>2]=m|(c<<2&768|c&48)<<$+4;b=1;p=1;l=c>>>2&2|i>>>3&1;ha:{if(!l){break ha}L=w[(D&7)+35156|0];g=L&3;p=D>>>g|0;if((l|0)!=3){m=L>>>2&7;D=((p&(-1<>>5|0)|0)+1|0;l=(l|0)==1;b=l?1:D;p=l?D:1;g=g+m|0;break ha}D=w[(p&7)+35156|0];b=D&3;m=L>>>2&7;l=D>>>2&7;g=(b+(m+g|0)|0)+l|0;b=p>>>b|0;p=((b&(-1<>>5|0)|0)+1|0;b=(((-1<>>m)+(D>>>5|0)|0)+1|0}v[k+240>>2]=W-g;l=g&31;if((g&63)>>>0>=32){m=0;r=r>>>l|0}else{m=r>>>l|0;r=((1<>>l}v[k+232>>2]=r;v[k+236>>2]=m;l=i&240;if(l-1&l){o=J&127;r=w[f+1|0]&127;o=o>>>0>r>>>0?o:r;r=o-2|0;p=(o>>>0>=r>>>0?r:0)+p|0}o=c&240;if(o-1&o){D=b;r=w[f+1|0]&127;b=w[f+2|0]&127;b=b>>>0>>0?r:b;b=D+(b>>>0>2?b-2|0:0)|0}if(!(p>>>0<=N>>>0&b>>>0<=N>>>0)){if(Z){c=0;Fa(R,1,28188,0);break g}c=0;Fa(R,1,28188,0);break g}V=w[f+2|0];t[f+1|0]=0;t[f+2|0]=0;D=S+4|0;r=(D|0)<=(G|0)?255:255>>>(D-G<<1)|0;L=(q|0)>(_|0)?r&85:r;if((o|l>>>4)&(L^-1)){if(Z){c=0;Fa(R,1,23313,0);break g}c=0;Fa(R,1,23313,0);break g}ia:{ja:{if(i&16){o=_a(k+192|0);g=(i<<19>>31)+p|0;v[k+208>>2]=v[k+208>>2]-g;l=v[k+204>>2];r=v[k+200>>2];J=g&31;if((g&63)>>>0>=32){m=0;r=l>>>J|0}else{m=l>>>J|0;r=((1<>>J}v[k+200>>2]=r;v[k+204>>2]=m;W=(o&(-1<>>8&1)<>2]=W}ka:{if(i&32){o=_a(k+192|0);g=(i<<18>>31)+p|0;v[k+208>>2]=v[k+208>>2]-g;l=v[k+204>>2];r=v[k+200>>2];J=g&31;if((g&63)>>>0>=32){m=0;r=l>>>J|0}else{m=l>>>J|0;r=((1<>>J}v[k+200>>2]=r;v[k+204>>2]=m;r=o&(-1<>>9&1)<>2]=r+2<>>0>r>>>0?o:r)|128;break ka}if(!(L&2)){break ka}v[(G<<2)+j>>2]=0}g=j+4|0;la:{ma:{if(Q){o=_a(k+192|0);Q=(i<<17>>31)+p|0;v[k+208>>2]=v[k+208>>2]-Q;l=v[k+204>>2];r=v[k+200>>2];J=Q&31;if((Q&63)>>>0>=32){m=0;r=l>>>J|0}else{m=l>>>J|0;r=((1<>>J}v[k+200>>2]=r;v[k+204>>2]=m;aa=(o&(-1<>>10&1)<>2]=aa}na:{if(O){o=_a(k+192|0);p=(i<<16>>31)+p|0;v[k+208>>2]=v[k+208>>2]-p;l=v[k+204>>2];r=v[k+200>>2];O=p&31;if((p&63)>>>0>=32){m=0;r=l>>>O|0}else{m=l>>>O|0;r=((1<>>O}v[k+200>>2]=r;v[k+204>>2]=m;i=o&(-1<>>11&1)<>2]=i+2<>2]=0}l=j+8|0;oa:{pa:{if(c&16){r=_a(k+192|0);p=(c<<19>>31)+b|0;v[k+208>>2]=v[k+208>>2]-p;o=v[k+204>>2];i=v[k+200>>2];g=p&31;if((p&63)>>>0>=32){m=0;i=o>>>g|0}else{m=o>>>g|0;i=((1<>>g}v[k+200>>2]=i;v[k+204>>2]=m;p=(r&(-1<>>8&1)<>2]=p}qa:{if(c&32){r=_a(k+192|0);p=(c<<18>>31)+b|0;v[k+208>>2]=v[k+208>>2]-p;o=v[k+204>>2];i=v[k+200>>2];g=p&31;if((p&63)>>>0>=32){m=0;i=o>>>g|0}else{m=o>>>g|0;i=((1<>>g}v[k+200>>2]=i;v[k+204>>2]=m;i=r&(-1<>>9&1)<>2]=i+2<>>0>>0?r:i)|128;break qa}if(!(L&32)){break qa}v[l+(G<<2)>>2]=0}l=j+12|0;ra:{sa:{if(c&64){r=_a(k+192|0);p=(c<<17>>31)+b|0;v[k+208>>2]=v[k+208>>2]-p;o=v[k+204>>2];i=v[k+200>>2];g=p&31;if((p&63)>>>0>=32){m=0;i=o>>>g|0}else{m=o>>>g|0;i=((1<>>g}v[k+200>>2]=i;v[k+204>>2]=m;p=(r&(-1<>>10&1)<>2]=p}i=S&4;f=f+2|0;ta:{if(c&128){r=_a(k+192|0);p=(c<<16>>31)+b|0;v[k+208>>2]=v[k+208>>2]-p;o=v[k+204>>2];b=v[k+200>>2];S=p&31;if((p&63)>>>0>=32){m=0;b=o>>>S|0}else{m=o>>>S|0;b=((1<>>S}v[k+200>>2]=b;v[k+204>>2]=m;b=r&(-1<>>11&1)<>2]=b+2<>>0<128){break ta}v[l+(G<<2)>>2]=0}$=$^16;I=i+I|0;j=j+16|0;if((D|0)<(G|0)){continue}break}}ua:{if(q&3|s>>>0<2){break ua}S=q&4;va:{wa:{if(U){l=S?Y:ca;g=0;if((G|0)<=0){break wa}j=ea+(B(G,A-2|0)<<2)|0;while(1){i=Mb(k+128|0);c=0;D=v[l>>2];if(D){c=j+(g<<2)|0;b=0;f=15;while(1){xa:{if(!(f&D)){break xa}o=f&286331153;if(o&D){v[c>>2]=ia|v[c>>2]^((i^-1)&1)<>>1|0}if(D&o<<1){r=(G<<2)+c|0;v[r>>2]=ia|v[r>>2]^((i^-1)&1)<>>1|0}if(D&o<<2){r=(fa<<2)+c|0;v[r>>2]=ia|v[r>>2]^((i^-1)&1)<>>1|0}if(!(D&o<<3)){break xa}r=(P<<2)+c|0;v[r>>2]=ia|v[r>>2]^((i^-1)&1)<>>1|0}c=c+4|0;f=f<<4;b=b+1|0;if((b|0)!=8){continue}break}c=ui(D)}l=l+4|0;v[k+144>>2]=v[k+144>>2]-c;f=v[k+140>>2];b=v[k+136>>2];i=c&31;if((c&63)>>>0>=32){m=0;b=f>>>i|0}else{m=f>>>i|0;b=((1<>>i}v[k+136>>2]=b;v[k+140>>2]=m;g=g+8|0;if((G|0)>(g|0)){continue}break}}I=!S;p=0;i=0;aa=S?ka:ja;c=aa;l=S?Y:ca;f=l;if((G|0)<=0){break va}while(1){b=i>>>28|0;i=v[f>>2];b=i|(b|i<<4|i>>>4);v[c>>2]=b;b=b|v[f+4>>2]<<28;v[c>>2]=(b>>>1&2004318071|b<<1&-286331154|b)&(i^-1);c=c+4|0;f=f+4|0;p=p+8|0;if((G|0)>(p|0)){continue}break}break va}I=!S;aa=S?ka:ja}if(A>>>0<6){break ua}p=0;b=0;c=l;V=I?ka:ja;i=V;o=I?Y:ca;f=o;D=(G|0)<=0;ya:{if(D){break ya}while(1){r=c+4|0;j=v[c>>2];if(oa){b=v[i>>2]}else{b=v[i>>2]|(j|(j<<4|b>>>28|j>>>4|v[r>>2]<<28))<<3&-2004318072}v[i>>2]=b&(v[f>>2]^-1);f=f+4|0;i=i+4|0;b=j;c=r;p=p+8|0;if((G|0)>(p|0)){continue}break}if(D){break ya}J=ea+(B(G,A-6|0)<<2)|0;W=0;A=o;while(1){p=0;c=v[V>>2];if(c){Q=G-W|0;i=0;K=0;while(1){r=i;i=_a(k+160|0);b=K+4|0;L=(G|0)>(b+W|0)?b:Q;O=(L|0)<=(K|0);za:{if(O){f=0;break za}ga=v[A>>2]^-1;g=((K|W)<<2)+J|0;f=0;b=K;S=b<<2;D=15<>>1|0;f=f+1|0}m=da<<1;if(m&c){if(i&1){p=m|p;c=ga&116<<(b<<2)|c}i=i>>>1|0;f=f+1|0}m=da<<2;if(m&c){if(i&1){p=m|p;c=ga&232<<(b<<2)|c}i=i>>>1|0;f=f+1|0}m=da<<3;if(!(m&c)){break Aa}if(i&1){p=m|p;c=ga&192<<(b<<2)|c}f=f+1|0;i=i>>>1|0}j=j<<4;b=b+1|0;if((L|0)>(b|0)){continue}break}if(O|!(p>>>S&65535)){break za}while(1){Ba:{if(!(p&D)){break Ba}j=D&286331153;if(j&p){v[g>>2]=ha|(v[g>>2]|i<<31);i=i>>>1|0;f=f+1|0}if(j<<1&p){b=(G<<2)+g|0;v[b>>2]=ha|(v[b>>2]|i<<31);i=i>>>1|0;f=f+1|0}if(j<<2&p){b=(fa<<2)+g|0;v[b>>2]=ha|(v[b>>2]|i<<31);i=i>>>1|0;f=f+1|0}if(!(j<<3&p)){break Ba}b=(P<<2)+g|0;v[b>>2]=ha|(v[b>>2]|i<<31);f=f+1|0;i=i>>>1|0}D=D<<4;g=g+4|0;K=K+1|0;if((L|0)>(K|0)){continue}break}}v[k+176>>2]=v[k+176>>2]-f;i=v[k+172>>2];b=v[k+168>>2];j=f&31;if((f&63)>>>0>=32){m=0;b=i>>>j|0}else{m=i>>>j|0;b=((1<>>j}v[k+168>>2]=b;v[k+172>>2]=m;i=1;K=4;if(!(r&1)){continue}break}v[V+4>>2]=v[V+4>>2]|(p>>>27&14|p>>>29|p>>>28)&(v[A+4>>2]^-1)}i=v[A>>2]|p;r=i>>>3&286331153;f=r>>>4|r<<4|r;if(W){b=aa-4|0;v[b>>2]=v[b>>2]|(v[l-4>>2]^-1)&r<<28}v[aa>>2]=v[aa>>2]|f&(v[l>>2]^-1);v[aa+4>>2]=v[aa+4>>2]|(v[l+4>>2]^-1)&i>>>31;V=V+4|0;A=A+4|0;aa=aa+4|0;l=l+4|0;W=W+8|0;if((G|0)>(W|0)){continue}break}}Ma(o,0,M)}if((q|0)<(_|0)){continue}break}}Ca:{if(s>>>0<2){break Ca}j=(_&3)-1|0;Da:{if(j>>>0<2&U){if((G|0)<=0){break Da}r=ea+(B(G,_&16777212)<<2)|0;g=_&4?ca:Y;J=0;while(1){i=Mb(k+128|0);c=0;l=v[g>>2];if(l){c=r+(J<<2)|0;f=15;b=0;while(1){Ea:{if(!(f&l)){break Ea}o=f&286331153;if(o&l){v[c>>2]=ia|v[c>>2]^((i^-1)&1)<>>1|0}if(l&o<<1){e=(G<<2)+c|0;v[e>>2]=ia|v[e>>2]^((i^-1)&1)<>>1|0}if(l&o<<2){e=(fa<<2)+c|0;v[e>>2]=ia|v[e>>2]^((i^-1)&1)<>>1|0}if(!(l&o<<3)){break Ea}e=(P<<2)+c|0;v[e>>2]=ia|v[e>>2]^((i^-1)&1)<>>1|0}c=c+4|0;f=f<<4;b=b+1|0;if((b|0)!=8){continue}break}c=ui(l)}g=g+4|0;v[k+144>>2]=v[k+144>>2]-c;e=v[k+140>>2];b=v[k+136>>2];f=c&31;if((c&63)>>>0>=32){m=0;b=e>>>f|0}else{m=e>>>f|0;b=((1<>>f}v[k+136>>2]=b;v[k+140>>2]=m;J=J+8|0;if((G|0)>(J|0)){continue}break}}if((G|0)<=0|j>>>0>1){break Da}b=_&4;c=b?ca:Y;f=b?ja:ka;p=0;i=0;while(1){b=i>>>28|0;i=v[c>>2];b=i|(b|i<<4|i>>>4);v[f>>2]=b;b=b|v[c+4>>2]<<28;v[f>>2]=(b>>>1&2004318071|b<<1&-286331154|b)&(i^-1);f=f+4|0;c=c+4|0;p=p+8|0;if((G|0)>(p|0)){continue}break}}s=(_|0)>6?(_-(_+1&3)|0)-3|0:0;if((_|0)<=(s|0)){break Ca}K=(G|0)<=0;while(1){e=_-s|0;b=e-1|0;Fa:{Ga:{if(b>>>0>=3){W=-1;if((e|0)<5){break Ga}if(K){break Fa}b=s&4;c=b?ca:Y;i=b?ja:ka;f=0;if(!oa){f=b?Y:ca;p=0;j=0;while(1){b=j>>>28|0;j=v[f>>2];v[i>>2]=(v[i>>2]|(j|(b|j<<4|j>>>4|v[f+4>>2]<<28))<<3&-2004318072)&(v[c>>2]^-1);c=c+4|0;i=i+4|0;f=f+4|0;p=p+8|0;if((G|0)>(p|0)){continue}break}break Ga}while(1){v[i>>2]=v[i>>2]&(v[c>>2]^-1);c=c+4|0;i=i+4|0;f=f+8|0;if((G|0)>(f|0)){continue}break}break Ga}W=v[(b<<2)+35164>>2]}if(K){break Fa}b=s&4;$=b?ca:Y;q=b?ja:ka;D=b?Y:ca;e=b?ka:ja;U=ea+(B(s,G)<<2)|0;V=0;while(1){p=0;c=v[q>>2]&W;if(c){S=G-V|0;i=0;o=0;while(1){r=i;i=_a(k+160|0);b=o+4|0;A=(G|0)>(b+V|0)?b:S;m=(A|0)<=(o|0);Ha:{if(m){f=0;break Ha}Q=(v[$>>2]^-1)&W;g=U+((o|V)<<2)|0;f=0;b=o;h=b<<2;J=15<>>1|0;f=f+1|0}l=O<<1;if(l&c){if(i&1){p=l|p;c=Q&116<<(b<<2)|c}i=i>>>1|0;f=f+1|0}l=O<<2;if(l&c){if(i&1){p=l|p;c=Q&232<<(b<<2)|c}i=i>>>1|0;f=f+1|0}l=O<<3;if(!(l&c)){break Ia}if(i&1){p=l|p;c=Q&192<<(b<<2)|c}f=f+1|0;i=i>>>1|0}j=j<<4;b=b+1|0;if((A|0)>(b|0)){continue}break}if(m|!(p>>>h&65535)){break Ha}while(1){Ja:{if(!(p&J)){break Ja}j=J&286331153;if(j&p){v[g>>2]=ha|(v[g>>2]|i<<31);i=i>>>1|0;f=f+1|0}if(j<<1&p){b=(G<<2)+g|0;v[b>>2]=ha|(v[b>>2]|i<<31);i=i>>>1|0;f=f+1|0}if(j<<2&p){b=(fa<<2)+g|0;v[b>>2]=ha|(v[b>>2]|i<<31);i=i>>>1|0;f=f+1|0}if(!(j<<3&p)){break Ja}b=(P<<2)+g|0;v[b>>2]=ha|(v[b>>2]|i<<31);f=f+1|0;i=i>>>1|0}J=J<<4;g=g+4|0;o=o+1|0;if((A|0)>(o|0)){continue}break}}v[k+176>>2]=v[k+176>>2]-f;i=v[k+172>>2];b=v[k+168>>2];j=f&31;if((f&63)>>>0>=32){m=0;b=i>>>j|0}else{m=i>>>j|0;b=((1<>>j}v[k+168>>2]=b;v[k+172>>2]=m;i=1;o=4;if(!(r&1)){continue}break}v[q+4>>2]=v[q+4>>2]|(p>>>27&14|p>>>29|p>>>28)&(v[$+4>>2]^-1)}i=v[$>>2]|p;r=i>>>3&286331153;f=r>>>4|r<<4|r;if(V){b=e-4|0;v[b>>2]=v[b>>2]|(v[D-4>>2]^-1)&r<<28}v[e>>2]=v[e>>2]|f&(v[D>>2]^-1);v[e+4>>2]=v[e+4>>2]|(v[D+4>>2]^-1)&i>>>31;q=q+4|0;$=$+4|0;e=e+4|0;D=D+4|0;V=V+8|0;if((G|0)>(V|0)){continue}break}}s=s+4|0;if((_|0)>(s|0)){continue}break}}c=1;if((_|0)<=0|(G|0)<=0){break g}r=G&-4;j=G&3;f=(F^-1)+pa>>>0<3;I=0;while(1){i=ea+(B(G,I)<<2)|0;c=0;if(!f){while(1){e=v[i>>2];b=e&2147483647;v[i>>2]=(e|0)<0?0-b|0:b;e=v[i+4>>2];b=e&2147483647;v[i+4>>2]=(e|0)<0?0-b|0:b;e=v[i+8>>2];b=e&2147483647;v[i+8>>2]=(e|0)<0?0-b|0:b;e=v[i+12>>2];b=e&2147483647;v[i+12>>2]=(e|0)<0?0-b|0:b;i=i+16|0;c=c+4|0;if((r|0)!=(c|0)){continue}break}}c=0;if(j){while(1){e=v[i>>2];b=e&2147483647;v[i>>2]=(e|0)<0?0-b|0:b;i=i+4|0;c=c+1|0;if((j|0)!=(c|0)){continue}break}}c=1;I=I+1|0;if((_|0)!=(I|0)){continue}break}break g}if(!Z){break s}v[k+52>>2]=v[H+24>>2];v[k+48>>2]=Q;Fa(R,1,20152,k+48|0);break r}v[k+20>>2]=c;v[k+16>>2]=Q;Fa(R,1,20152,k+16|0);c=0;break g}c=0}qa=k+304|0;if(c){break f}break b}v[d+108>>2]=(b<<9)+36688;if(!nd(d,v[H+16>>2]-v[H+8>>2]|0,v[H+20>>2]-v[H+12>>2]|0)){break b}K=e+v[H+28>>2]|0;if((K|0)>=31){if(!Z){break e}v[X+16>>2]=K;Fa(R,2,18983,X+16|0);break b}fc(d);v[d+100>>2]=36656;v[d+96>>2]=35280;v[d+28>>2]=35312;Ka:{La:{Ma:{Na:{j=v[H+52>>2];if(j>>>0>1){break Na}if(!v[d+144>>2]){break La}if(j){break Na}break Ma}k=v[H+4>>2];if(j-1>>>0>=3){b=j&-4;e=0;while(1){f=s<<3;c=v[(k+(f|24)|0)+4>>2]+(v[(k+(f|16)|0)+4>>2]+(v[(k+(f|8)|0)+4>>2]+(v[(f+k|0)+4>>2]+c|0)|0)|0)|0;s=s+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}}b=j&3;if(!b){break Ma}f=0;while(1){c=v[(k+(s<<3)|0)+4>>2]+c|0;s=s+1|0;f=f+1|0;if((b|0)!=(f|0)){continue}break}}e=c+2|0;if(e>>>0>y[d+152>>2]){b=Pa(v[d+148>>2],e);if(!b){break b}v[d+148>>2]=b;b=b+c|0;t[b|0]=0;t[b+1|0]=0;v[d+152>>2]=e;j=v[H+52>>2]}T=v[d+148>>2];if(!j){break Ka}c=v[H+4>>2];s=0;b=0;while(1){f=b<<3;e=f+c|0;Ja(s+T|0,v[e>>2],v[e+4>>2]);c=v[H+4>>2];s=v[(f+c|0)+4>>2]+s|0;b=b+1|0;if(b>>>0>2]){continue}break}break Ka}if((j|0)!=1){break f}T=v[v[H+4>>2]>>2]}b=v[H+60>>2];if(b){Q=v[d+116>>2];v[d+116>>2]=b}if(v[H+44>>2]){pa=S&8;O=S&1;Y=!(S&2);fa=2;while(1){k=T+aa|0;ga=v[H>>2]+B(oa,24)|0;e=v[ga>>2];da=O&(fa>>>0<2&(v[H+28>>2]-4|0)>=(K|0));Oa:{if(da){v[d+20>>2]=k;b=e+k|0;v[d+24>>2]=b;u[d+112>>1]=w[b|0]|w[b+1|0]<<8;t[b|0]=255;t[v[d+24>>2]+1|0]=255;v[d+8>>2]=0;v[d>>2]=0;v[d+16>>2]=k;break Oa}v[d+20>>2]=k;b=e+k|0;v[d+24>>2]=b;u[d+112>>1]=w[b|0]|w[b+1|0]<<8;t[b|0]=255;t[v[d+24>>2]+1|0]=255;v[d+104>>2]=d+28;v[d+16>>2]=k;v[d+12>>2]=0;b=e?w[k|0]<<16:16711680;v[d>>2]=b;n=1;e=k+1|0;f=w[k+1|0];Pa:{if(w[k|0]==255){if(f>>>0>=144){v[d+12>>2]=1;b=b|65280;break Pa}v[d+16>>2]=e;n=0;b=b+(f<<9)|0;break Pa}v[d+16>>2]=e;b=b|f<<8}v[d+8>>2]=n;v[d+4>>2]=32768;v[d>>2]=b<<7}ea=v[ga>>2];Qa:{if(!v[ga+8>>2]|(K|0)<=0){break Qa}U=Y|da;L=0;while(1){Ra:{Sa:{Ta:{switch(fa|0){case 0:if(da){b=1<>>1|b;h=v[d+124>>2];o=h<<2;b=(o+v[d+120>>2]|0)+12|0;f=v[d+116>>2];i=0;e=v[d+128>>2];if(e>>>0>=4){if(!h){break Ra}l=B(h,3);j=h<<1;D=0-m|0;while(1){e=0;while(1){n=b;b=v[b>>2];Ua:{if(!b){break Ua}if(!(!(b&495)|b&2097168)){b=v[d>>2];k=v[d+8>>2];Va:{if(k){k=k-1|0;break Va}k=(b|0)==255;r=v[d+16>>2];b=w[r|0];Wa:{if(!k){v[d>>2]=b;v[d+16>>2]=r+1;break Wa}if(b>>>0<=143){v[d>>2]=b;v[d+16>>2]=r+1;k=6;break Va}b=255;v[d>>2]=255}k=7}v[d+8>>2]=k;Xa:{if(!(b>>>k&1)){break Xa}r=k-1|0;Ya:{if(k){break Ya}k=(b|0)==255;r=v[d+16>>2];b=w[r|0];Za:{if(!k){v[d>>2]=b;v[d+16>>2]=r+1;break Za}if(b>>>0<=143){v[d>>2]=b;v[d+16>>2]=r+1;r=6;break Ya}b=255;v[d>>2]=255}r=7}v[d+8>>2]=r;r=b>>>r&1;v[f>>2]=r?D:m;k=v[d+124>>2];b=n-4|0;v[b>>2]=v[b>>2]|32;v[n+4>>2]=v[n+4>>2]|8;v[n>>2]=v[n>>2]|r<<19|16;if(pa){break Xa}b=n+(-2-k<<2)|0;v[b+4>>2]=v[b+4>>2]|32768;v[b>>2]=v[b>>2]|r<<31|65536;b=b-4|0;v[b>>2]=v[b>>2]|131072}b=v[n>>2]|2097152;v[n>>2]=b}if(!(!(b&3960)|b&16777344)){b=v[d>>2];k=v[d+8>>2];_a:{if(k){k=k-1|0;break _a}k=(b|0)==255;r=v[d+16>>2];b=w[r|0];$a:{if(!k){v[d>>2]=b;v[d+16>>2]=r+1;break $a}if(b>>>0<=143){v[d>>2]=b;v[d+16>>2]=r+1;k=6;break _a}b=255;v[d>>2]=255}k=7}v[d+8>>2]=k;if(b>>>k&1){r=f+o|0;c=k-1|0;ab:{if(k){break ab}k=(b|0)==255;c=v[d+16>>2];b=w[c|0];bb:{if(!k){v[d>>2]=b;v[d+16>>2]=c+1;break bb}if(b>>>0<=143){v[d>>2]=b;v[d+16>>2]=c+1;c=6;break ab}b=255;v[d>>2]=255}c=7}v[d+8>>2]=c;k=b>>>c&1;v[r>>2]=k?D:m;b=n-4|0;v[b>>2]=v[b>>2]|256;v[n+4>>2]=v[n+4>>2]|64;b=v[n>>2]|k<<22|128}else{b=v[n>>2]}b=b|16777216;v[n>>2]=b}if(!(!(b&31680)|b&134218752)){b=v[d>>2];k=v[d+8>>2];cb:{if(k){k=k-1|0;break cb}k=(b|0)==255;r=v[d+16>>2];b=w[r|0];db:{if(!k){v[d>>2]=b;v[d+16>>2]=r+1;break db}if(b>>>0<=143){v[d>>2]=b;v[d+16>>2]=r+1;k=6;break cb}b=255;v[d>>2]=255}k=7}v[d+8>>2]=k;if(b>>>k&1){r=(j<<2)+f|0;c=k-1|0;eb:{if(k){break eb}k=(b|0)==255;c=v[d+16>>2];b=w[c|0];fb:{if(!k){v[d>>2]=b;v[d+16>>2]=c+1;break fb}if(b>>>0<=143){v[d>>2]=b;v[d+16>>2]=c+1;c=6;break eb}b=255;v[d>>2]=255}c=7}v[d+8>>2]=c;k=b>>>c&1;v[r>>2]=k?D:m;b=n-4|0;v[b>>2]=v[b>>2]|2048;v[n+4>>2]=v[n+4>>2]|512;b=v[n>>2]|k<<25|1024}else{b=v[n>>2]}b=b|134217728;v[n>>2]=b}if(!(b&253440)|b&1073750016){break Ua}b=v[d>>2];k=v[d+8>>2];gb:{if(k){k=k-1|0;break gb}k=(b|0)==255;r=v[d+16>>2];b=w[r|0];hb:{if(!k){v[d>>2]=b;v[d+16>>2]=r+1;break hb}if(b>>>0<=143){v[d>>2]=b;v[d+16>>2]=r+1;k=6;break gb}b=255;v[d>>2]=255}k=7}v[d+8>>2]=k;if(b>>>k&1){r=(l<<2)+f|0;c=k-1|0;ib:{if(k){break ib}k=(b|0)==255;c=v[d+16>>2];b=w[c|0];jb:{if(!k){v[d>>2]=b;v[d+16>>2]=c+1;break jb}if(b>>>0<=143){v[d>>2]=b;v[d+16>>2]=c+1;c=6;break ib}b=255;v[d>>2]=255}c=7}v[d+8>>2]=c;k=r;r=b>>>c&1;v[k>>2]=r?D:m;k=v[d+124>>2];b=n-4|0;v[b>>2]=v[b>>2]|16384;v[n+4>>2]=v[n+4>>2]|4096;v[n>>2]=v[n>>2]|r<<28|8192;b=n+(k<<2)|0;v[b+4>>2]=v[b+4>>2]|4;v[b+12>>2]=v[b+12>>2]|1;v[b+8>>2]=v[b+8>>2]|r<<18|2}v[n>>2]=v[n>>2]|1073741824}f=f+4|0;b=n+4|0;e=e+1|0;if((h|0)!=(e|0)){continue}break}b=n+12|0;f=(l<<2)+f|0;i=i+4|0;e=v[d+128>>2];if(i>>>0<(e&-4)>>>0){continue}break}}if(!h|e>>>0<=i>>>0){break Sa}q=0;r=0-m|0;n=e;while(1){kb:{if((i|0)==(n|0)){n=i;break kb}o=b-4|0;g=v[b>>2];s=0;while(1){c=B(s,3);n=g>>>c|0;if(!(n&2097168|!(n&495))){e=v[d>>2];n=v[d+8>>2];lb:{if(n){n=n-1|0;break lb}n=(e|0)!=255;k=v[d+16>>2];e=w[k|0];mb:{if(!n){if(e>>>0>=144){e=255;v[d>>2]=255;break mb}v[d>>2]=e;v[d+16>>2]=k+1;n=6;break lb}v[d>>2]=e;v[d+16>>2]=k+1}n=7}v[d+8>>2]=n;nb:{if(!(e>>>n&1)){break nb}k=(B(h,s)<<2)+f|0;j=n-1|0;ob:{if(n){break ob}n=(e|0)!=255;j=v[d+16>>2];e=w[j|0];pb:{if(!n){if(e>>>0>=144){e=255;v[d>>2]=255;break pb}v[d>>2]=e;v[d+16>>2]=j+1;j=6;break ob}v[d>>2]=e;v[d+16>>2]=j+1}j=7}v[d+8>>2]=j;n=k;k=e>>>j&1;v[n>>2]=k?r:m;n=v[d+124>>2];v[o>>2]=v[o>>2]|32<>2]=v[b>>2]|(k<<19|16)<>2]=v[b+4>>2]|8<>2]=v[e+4>>2]|32768;v[e>>2]=v[e>>2]|k<<31|65536;e=e-4|0;v[e>>2]=v[e>>2]|131072}if((s|0)!=3){break nb}e=(n+2<<2)+b|0;v[e+4>>2]=v[e+4>>2]|1;v[e>>2]=v[e>>2]|k<<18|2;e=e-4|0;v[e>>2]=v[e>>2]|4}g=v[b>>2]|2097152<>2]=g;e=v[d+128>>2]}n=e;s=s+1|0;if(s>>>0>>0){continue}break}}f=f+4|0;b=b+4|0;q=q+1|0;if((h|0)!=(q|0)){continue}break}break Sa}P=0;qb:{rb:{sb:{N=v[d+124>>2];if(!((N|0)!=64|v[d+128>>2]!=64)){b=1<>>1|b;n=0-k|0;e=v[d+120>>2]+268|0;p=v[d+8>>2];b=v[d+4>>2];c=v[d>>2];s=v[d+104>>2];f=v[d+116>>2];if(S&8){break sb}while(1){g=0;while(1){i=f;r=e;e=v[e>>2];if(e){tb:{if(e&2097168){break tb}f=e&495;if(!f){break tb}j=(w[f+v[d+108>>2]|0]<<2)+d|0;s=j+28|0;o=v[s>>2];f=v[o>>2];b=b-f|0;ub:{if(c>>>16>>>0>>0){l=v[o+4>>2];D=j;j=b>>>0>>0;v[D+28>>2]=v[o+(j?8:12)>>2];while(1){vb:{if(p){break vb}o=v[d+16>>2];b=o+1|0;D=w[o+1|0];if(w[o|0]==255){if(D>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break vb}v[d+16>>2]=b;c=(D<<9)+c|0;p=7;break vb}v[d+16>>2]=b;p=8;c=(D<<8)+c|0}p=p-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?l:!l;break ub}c=c-(f<<16)|0;if(!(b&32768)){l=v[o+4>>2];f=b>>>0>>0;v[j+28>>2]=v[o+(f?12:8)>>2];while(1){wb:{if(p){break wb}o=v[d+16>>2];j=o+1|0;D=w[o+1|0];if(w[o|0]==255){if(D>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break wb}v[d+16>>2]=j;c=(D<<9)+c|0;p=7;break wb}v[d+16>>2]=j;p=8;c=(D<<8)+c|0}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!l:l;break ub}f=v[o+4>>2]}if(f){h=r-4|0;j=v[r+4>>2]>>>17&4|(v[h>>2]>>>19&1|(e>>>14&16|(e>>>16&64|e&170)));l=(w[j+38736|0]<<2)+d|0;s=l+28|0;m=v[s>>2];f=v[m>>2];b=b-f|0;o=w[j+38992|0];xb:{if(c>>>16>>>0>>0){D=v[m+4>>2];j=b>>>0>>0;v[l+28>>2]=v[m+(j?8:12)>>2];while(1){yb:{if(p){break yb}l=v[d+16>>2];b=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break yb}v[d+16>>2]=b;c=(m<<9)+c|0;p=7;break yb}v[d+16>>2]=b;p=8;c=(m<<8)+c|0}p=p-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?D:!D;break xb}c=c-(f<<16)|0;if(!(b&32768)){D=v[m+4>>2];f=b>>>0>>0;v[l+28>>2]=v[m+(f?12:8)>>2];while(1){zb:{if(p){break zb}l=v[d+16>>2];j=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break zb}v[d+16>>2]=j;c=(m<<9)+c|0;p=7;break zb}v[d+16>>2]=j;p=8;c=(m<<8)+c|0}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!D:D;break xb}f=v[m+4>>2]}j=f^o;v[i>>2]=j?n:k;v[h>>2]=v[h>>2]|32;v[r+4>>2]=v[r+4>>2]|8;f=r-268|0;v[f>>2]=v[f>>2]|131072;f=r-260|0;v[f>>2]=v[f>>2]|32768;f=r-264|0;v[f>>2]=v[f>>2]|j<<31|65536;e=j<<19|e|16}e=e|2097152}if(!(!(e&3960)|e&16777344)){o=e>>>3|0;j=(w[v[d+108>>2]+(o&495)|0]<<2)+d|0;s=j+28|0;l=v[s>>2];f=v[l>>2];b=b-f|0;Ab:{if(c>>>16>>>0>>0){D=v[l+4>>2];h=j;j=b>>>0>>0;v[h+28>>2]=v[l+(j?8:12)>>2];while(1){Bb:{if(p){break Bb}l=v[d+16>>2];b=l+1|0;h=w[l+1|0];if(w[l|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break Bb}v[d+16>>2]=b;c=(h<<9)+c|0;p=7;break Bb}v[d+16>>2]=b;p=8;c=(h<<8)+c|0}p=p-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?D:!D;break Ab}c=c-(f<<16)|0;if(!(b&32768)){D=v[l+4>>2];f=b>>>0>>0;v[j+28>>2]=v[l+(f?12:8)>>2];while(1){Cb:{if(p){break Cb}l=v[d+16>>2];j=l+1|0;h=w[l+1|0];if(w[l|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break Cb}v[d+16>>2]=j;c=(h<<9)+c|0;p=7;break Cb}v[d+16>>2]=j;p=8;c=(h<<8)+c|0}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!D:D;break Ab}f=v[l+4>>2]}if(f){h=r-4|0;j=v[r+4>>2]>>>20&4|(v[h>>2]>>>22&1|(e>>>15&16|(e>>>19&64|o&170)));l=(w[j+38736|0]<<2)+d|0;s=l+28|0;m=v[s>>2];f=v[m>>2];b=b-f|0;o=w[j+38992|0];Db:{if(c>>>16>>>0>>0){D=v[m+4>>2];j=b>>>0>>0;v[l+28>>2]=v[m+(j?8:12)>>2];while(1){Eb:{if(p){break Eb}l=v[d+16>>2];b=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break Eb}v[d+16>>2]=b;c=(m<<9)+c|0;p=7;break Eb}v[d+16>>2]=b;p=8;c=(m<<8)+c|0}p=p-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?D:!D;break Db}c=c-(f<<16)|0;if(!(b&32768)){D=v[m+4>>2];f=b>>>0>>0;v[l+28>>2]=v[m+(f?12:8)>>2];while(1){Fb:{if(p){break Fb}l=v[d+16>>2];j=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break Fb}v[d+16>>2]=j;c=(m<<9)+c|0;p=7;break Fb}v[d+16>>2]=j;p=8;c=(m<<8)+c|0}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!D:D;break Db}f=v[m+4>>2]}f=f^o;v[i+256>>2]=f?n:k;v[h>>2]=v[h>>2]|256;v[r+4>>2]=v[r+4>>2]|64;e=f<<22|e|128}e=e|16777216}if(!(!(e&31680)|e&134218752)){o=e>>>6|0;j=(w[v[d+108>>2]+(o&495)|0]<<2)+d|0;s=j+28|0;l=v[s>>2];f=v[l>>2];b=b-f|0;Gb:{if(c>>>16>>>0>>0){D=v[l+4>>2];h=j;j=b>>>0>>0;v[h+28>>2]=v[l+(j?8:12)>>2];while(1){Hb:{if(p){break Hb}l=v[d+16>>2];b=l+1|0;h=w[l+1|0];if(w[l|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break Hb}v[d+16>>2]=b;c=(h<<9)+c|0;p=7;break Hb}v[d+16>>2]=b;p=8;c=(h<<8)+c|0}p=p-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?D:!D;break Gb}c=c-(f<<16)|0;if(!(b&32768)){D=v[l+4>>2];f=b>>>0>>0;v[j+28>>2]=v[l+(f?12:8)>>2];while(1){Ib:{if(p){break Ib}l=v[d+16>>2];j=l+1|0;h=w[l+1|0];if(w[l|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break Ib}v[d+16>>2]=j;c=(h<<9)+c|0;p=7;break Ib}v[d+16>>2]=j;p=8;c=(h<<8)+c|0}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!D:D;break Gb}f=v[l+4>>2]}if(f){h=r-4|0;j=v[r+4>>2]>>>23&4|(v[h>>2]>>>25&1|(e>>>18&16|(e>>>22&64|o&170)));l=(w[j+38736|0]<<2)+d|0;s=l+28|0;m=v[s>>2];f=v[m>>2];b=b-f|0;o=w[j+38992|0];Jb:{if(c>>>16>>>0>>0){D=v[m+4>>2];j=b>>>0>>0;v[l+28>>2]=v[m+(j?8:12)>>2];while(1){Kb:{if(p){break Kb}l=v[d+16>>2];b=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break Kb}v[d+16>>2]=b;c=(m<<9)+c|0;p=7;break Kb}v[d+16>>2]=b;p=8;c=(m<<8)+c|0}p=p-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?D:!D;break Jb}c=c-(f<<16)|0;if(!(b&32768)){D=v[m+4>>2];f=b>>>0>>0;v[l+28>>2]=v[m+(f?12:8)>>2];while(1){Lb:{if(p){break Lb}l=v[d+16>>2];j=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break Lb}v[d+16>>2]=j;c=(m<<9)+c|0;p=7;break Lb}v[d+16>>2]=j;p=8;c=(m<<8)+c|0}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!D:D;break Jb}f=v[m+4>>2]}f=f^o;v[i+512>>2]=f?n:k;v[h>>2]=v[h>>2]|2048;v[r+4>>2]=v[r+4>>2]|512;e=f<<25|e|1024}e=e|134217728}if(!(!(e&253440)|e&1073750016)){o=e>>>9|0;j=(w[v[d+108>>2]+(o&495)|0]<<2)+d|0;s=j+28|0;l=v[s>>2];f=v[l>>2];b=b-f|0;Mb:{if(c>>>16>>>0>>0){D=v[l+4>>2];h=j;j=b>>>0>>0;v[h+28>>2]=v[l+(j?8:12)>>2];while(1){Nb:{if(p){break Nb}l=v[d+16>>2];b=l+1|0;h=w[l+1|0];if(w[l|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break Nb}v[d+16>>2]=b;c=(h<<9)+c|0;p=7;break Nb}v[d+16>>2]=b;p=8;c=(h<<8)+c|0}p=p-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?D:!D;break Mb}c=c-(f<<16)|0;if(!(b&32768)){D=v[l+4>>2];f=b>>>0>>0;v[j+28>>2]=v[l+(f?12:8)>>2];while(1){Ob:{if(p){break Ob}l=v[d+16>>2];j=l+1|0;h=w[l+1|0];if(w[l|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break Ob}v[d+16>>2]=j;c=(h<<9)+c|0;p=7;break Ob}v[d+16>>2]=j;p=8;c=(h<<8)+c|0}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!D:D;break Mb}f=v[l+4>>2]}if(f){h=r-4|0;j=v[r+4>>2]>>>26&4|(v[h>>2]>>>28&1|(e>>>21&16|(e>>>25&64|o&170)));l=(w[j+38736|0]<<2)+d|0;s=l+28|0;m=v[s>>2];f=v[m>>2];b=b-f|0;o=w[j+38992|0];Pb:{if(c>>>16>>>0>>0){D=v[m+4>>2];j=b>>>0>>0;v[l+28>>2]=v[m+(j?8:12)>>2];while(1){Qb:{if(p){break Qb}l=v[d+16>>2];b=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break Qb}v[d+16>>2]=b;c=(m<<9)+c|0;p=7;break Qb}v[d+16>>2]=b;p=8;c=(m<<8)+c|0}p=p-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?D:!D;break Pb}c=c-(f<<16)|0;if(!(b&32768)){D=v[m+4>>2];f=b>>>0>>0;v[l+28>>2]=v[m+(f?12:8)>>2];while(1){Rb:{if(p){break Rb}l=v[d+16>>2];j=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break Rb}v[d+16>>2]=j;c=(m<<9)+c|0;p=7;break Rb}v[d+16>>2]=j;p=8;c=(m<<8)+c|0}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!D:D;break Pb}f=v[m+4>>2]}f=f^o;v[i+768>>2]=f?n:k;v[h>>2]=v[h>>2]|16384;v[r+4>>2]=v[r+4>>2]|4096;v[r+260>>2]=v[r+260>>2]|4;v[r+268>>2]=v[r+268>>2]|1;v[r+264>>2]=v[r+264>>2]|f<<18|2;e=f<<28|e|8192}e=e|1073741824}v[r>>2]=e}e=r+4|0;f=i+4|0;g=g+1|0;if((g|0)!=64){continue}break}e=r+12|0;f=i+772|0;i=P>>>0<60;P=P+4|0;if(i){continue}break}break rb}b=1<>>1|b;r=v[d+120>>2];n=(r+(N<<2)|0)+12|0;e=v[d+128>>2];p=v[d+8>>2];b=v[d+4>>2];c=v[d>>2];s=v[d+104>>2];f=v[d+116>>2];Sb:{if(S&8){Tb:{if(e>>>0<4){i=0;break Tb}if(N){i=0;r=0-k|0;M=B(N,12);m=N<<3;while(1){D=0;while(1){j=n;n=v[j>>2];if(n){Ub:{if(n&2097168){break Ub}e=n&495;if(!e){break Ub}o=(w[e+v[d+108>>2]|0]<<2)+d|0;s=o+28|0;l=v[s>>2];e=v[l>>2];b=b-e|0;Vb:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;h=v[l+4>>2];if(b&32768){break Vb}h=v[l+4>>2];e=b>>>0>>0;v[o+28>>2]=v[l+(e?12:8)>>2];while(1){Wb:{if(p){break Wb}l=v[d+16>>2];o=l+1|0;q=w[l+1|0];if(w[l|0]!=255){v[d+16>>2]=o;p=8;c=(q<<8)+c|0;break Wb}if(q>>>0<=143){v[d+16>>2]=o;c=(q<<9)+c|0;p=7;break Wb}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}h=e?!h:h;break Vb}h=v[l+4>>2];A=o;o=b>>>0>>0;v[A+28>>2]=v[l+(o?8:12)>>2];while(1){Xb:{if(p){break Xb}l=v[d+16>>2];b=l+1|0;q=w[l+1|0];if(w[l|0]!=255){v[d+16>>2]=b;p=8;c=(q<<8)+c|0;break Xb}if(q>>>0<=143){v[d+16>>2]=b;c=(q<<9)+c|0;p=7;break Xb}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;h=o?h:!h}if(h){A=j-4|0;o=v[j+4>>2]>>>17&4|(v[A>>2]>>>19&1|(n>>>14&16|(n>>>16&64|n&170)));h=(w[o+38736|0]<<2)+d|0;s=h+28|0;g=v[s>>2];e=v[g>>2];b=b-e|0;l=w[o+38992|0];Yb:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;o=v[g+4>>2];if(b&32768){break Yb}q=v[g+4>>2];e=b>>>0>>0;v[h+28>>2]=v[g+(e?12:8)>>2];while(1){Zb:{if(p){break Zb}h=v[d+16>>2];o=h+1|0;g=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=o;p=8;c=(g<<8)+c|0;break Zb}if(g>>>0<=143){v[d+16>>2]=o;c=(g<<9)+c|0;p=7;break Zb}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}o=e?!q:q;break Yb}q=v[g+4>>2];o=b>>>0>>0;v[h+28>>2]=v[g+(o?8:12)>>2];while(1){_b:{if(p){break _b}h=v[d+16>>2];b=h+1|0;g=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=b;p=8;c=(g<<8)+c|0;break _b}if(g>>>0<=143){v[d+16>>2]=b;c=(g<<9)+c|0;p=7;break _b}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;o=o?q:!q}e=o^l;v[f>>2]=e?r:k;v[A>>2]=v[A>>2]|32;v[j+4>>2]=v[j+4>>2]|8;n=e<<19|n|16}n=n|2097152}if(!(!(n&3960)|n&16777344)){l=n>>>3|0;o=(w[v[d+108>>2]+(l&495)|0]<<2)+d|0;s=o+28|0;h=v[s>>2];e=v[h>>2];b=b-e|0;$b:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;A=v[h+4>>2];if(b&32768){break $b}q=v[h+4>>2];e=b>>>0>>0;v[o+28>>2]=v[h+(e?12:8)>>2];while(1){ac:{if(p){break ac}h=v[d+16>>2];o=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=o;p=8;c=(A<<8)+c|0;break ac}if(A>>>0<=143){v[d+16>>2]=o;c=(A<<9)+c|0;p=7;break ac}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}A=e?!q:q;break $b}q=v[h+4>>2];A=o;o=b>>>0>>0;v[A+28>>2]=v[h+(o?8:12)>>2];while(1){bc:{if(p){break bc}h=v[d+16>>2];b=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=b;p=8;c=(A<<8)+c|0;break bc}if(A>>>0<=143){v[d+16>>2]=b;c=(A<<9)+c|0;p=7;break bc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;A=o?q:!q}if(A){g=j-4|0;o=v[j+4>>2]>>>20&4|(v[g>>2]>>>22&1|(n>>>15&16|(n>>>19&64|l&170)));q=(w[o+38736|0]<<2)+d|0;s=q+28|0;F=v[s>>2];e=v[F>>2];b=b-e|0;h=w[o+38992|0];l=(N<<2)+f|0;cc:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;o=v[F+4>>2];if(b&32768){break cc}A=v[F+4>>2];e=b>>>0>>0;v[q+28>>2]=v[F+(e?12:8)>>2];while(1){dc:{if(p){break dc}q=v[d+16>>2];o=q+1|0;F=w[q+1|0];if(w[q|0]!=255){v[d+16>>2]=o;p=8;c=(F<<8)+c|0;break dc}if(F>>>0<=143){v[d+16>>2]=o;c=(F<<9)+c|0;p=7;break dc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}o=e?!A:A;break cc}A=v[F+4>>2];o=b>>>0>>0;v[q+28>>2]=v[F+(o?8:12)>>2];while(1){ec:{if(p){break ec}q=v[d+16>>2];b=q+1|0;F=w[q+1|0];if(w[q|0]!=255){v[d+16>>2]=b;p=8;c=(F<<8)+c|0;break ec}if(F>>>0<=143){v[d+16>>2]=b;c=(F<<9)+c|0;p=7;break ec}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;o=o?A:!A}e=o^h;v[l>>2]=e?r:k;v[g>>2]=v[g>>2]|256;v[j+4>>2]=v[j+4>>2]|64;n=e<<22|n|128}n=n|16777216}if(!(!(n&31680)|n&134218752)){l=n>>>6|0;o=(w[v[d+108>>2]+(l&495)|0]<<2)+d|0;s=o+28|0;h=v[s>>2];e=v[h>>2];b=b-e|0;fc:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;A=v[h+4>>2];if(b&32768){break fc}q=v[h+4>>2];e=b>>>0>>0;v[o+28>>2]=v[h+(e?12:8)>>2];while(1){gc:{if(p){break gc}h=v[d+16>>2];o=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=o;p=8;c=(A<<8)+c|0;break gc}if(A>>>0<=143){v[d+16>>2]=o;c=(A<<9)+c|0;p=7;break gc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}A=e?!q:q;break fc}q=v[h+4>>2];A=o;o=b>>>0>>0;v[A+28>>2]=v[h+(o?8:12)>>2];while(1){hc:{if(p){break hc}h=v[d+16>>2];b=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=b;p=8;c=(A<<8)+c|0;break hc}if(A>>>0<=143){v[d+16>>2]=b;c=(A<<9)+c|0;p=7;break hc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;A=o?q:!q}if(A){g=j-4|0;o=v[j+4>>2]>>>23&4|(v[g>>2]>>>25&1|(n>>>18&16|(n>>>22&64|l&170)));q=(w[o+38736|0]<<2)+d|0;s=q+28|0;F=v[s>>2];e=v[F>>2];b=b-e|0;h=w[o+38992|0];l=f+m|0;ic:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;o=v[F+4>>2];if(b&32768){break ic}A=v[F+4>>2];e=b>>>0>>0;v[q+28>>2]=v[F+(e?12:8)>>2];while(1){jc:{if(p){break jc}q=v[d+16>>2];o=q+1|0;F=w[q+1|0];if(w[q|0]!=255){v[d+16>>2]=o;p=8;c=(F<<8)+c|0;break jc}if(F>>>0<=143){v[d+16>>2]=o;c=(F<<9)+c|0;p=7;break jc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}o=e?!A:A;break ic}A=v[F+4>>2];o=b>>>0>>0;v[q+28>>2]=v[F+(o?8:12)>>2];while(1){kc:{if(p){break kc}q=v[d+16>>2];b=q+1|0;F=w[q+1|0];if(w[q|0]!=255){v[d+16>>2]=b;p=8;c=(F<<8)+c|0;break kc}if(F>>>0<=143){v[d+16>>2]=b;c=(F<<9)+c|0;p=7;break kc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;o=o?A:!A}e=o^h;v[l>>2]=e?r:k;v[g>>2]=v[g>>2]|2048;v[j+4>>2]=v[j+4>>2]|512;n=e<<25|n|1024}n=n|134217728}if(!(!(n&253440)|n&1073750016)){l=n>>>9|0;o=(w[v[d+108>>2]+(l&495)|0]<<2)+d|0;s=o+28|0;h=v[s>>2];e=v[h>>2];b=b-e|0;lc:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;A=v[h+4>>2];if(b&32768){break lc}q=v[h+4>>2];e=b>>>0>>0;v[o+28>>2]=v[h+(e?12:8)>>2];while(1){mc:{if(p){break mc}h=v[d+16>>2];o=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=o;p=8;c=(A<<8)+c|0;break mc}if(A>>>0<=143){v[d+16>>2]=o;c=(A<<9)+c|0;p=7;break mc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}A=e?!q:q;break lc}q=v[h+4>>2];A=o;o=b>>>0>>0;v[A+28>>2]=v[h+(o?8:12)>>2];while(1){nc:{if(p){break nc}h=v[d+16>>2];b=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=b;p=8;c=(A<<8)+c|0;break nc}if(A>>>0<=143){v[d+16>>2]=b;c=(A<<9)+c|0;p=7;break nc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;A=o?q:!q}if(A){g=j-4|0;o=v[j+4>>2]>>>26&4|(v[g>>2]>>>28&1|(n>>>21&16|(n>>>25&64|l&170)));q=(w[o+38736|0]<<2)+d|0;s=q+28|0;F=v[s>>2];e=v[F>>2];b=b-e|0;h=w[o+38992|0];l=f+M|0;oc:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;o=v[F+4>>2];if(b&32768){break oc}A=v[F+4>>2];e=b>>>0>>0;v[q+28>>2]=v[F+(e?12:8)>>2];while(1){pc:{if(p){break pc}q=v[d+16>>2];o=q+1|0;F=w[q+1|0];if(w[q|0]!=255){v[d+16>>2]=o;p=8;c=(F<<8)+c|0;break pc}if(F>>>0<=143){v[d+16>>2]=o;c=(F<<9)+c|0;p=7;break pc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}o=e?!A:A;break oc}A=v[F+4>>2];o=b>>>0>>0;v[q+28>>2]=v[F+(o?8:12)>>2];while(1){qc:{if(p){break qc}q=v[d+16>>2];b=q+1|0;F=w[q+1|0];if(w[q|0]!=255){v[d+16>>2]=b;p=8;c=(F<<8)+c|0;break qc}if(F>>>0<=143){v[d+16>>2]=b;c=(F<<9)+c|0;p=7;break qc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;o=o?A:!A}e=o^h;v[l>>2]=e?r:k;v[g>>2]=v[g>>2]|16384;v[j+4>>2]=v[j+4>>2]|4096;o=j+(v[d+124>>2]<<2)|0;v[o+4>>2]=v[o+4>>2]|4;v[o+12>>2]=v[o+12>>2]|1;v[o+8>>2]=v[o+8>>2]|e<<18|2;n=e<<28|n|8192}n=n|1073741824}v[j>>2]=n}n=j+4|0;f=f+4|0;D=D+1|0;if((N|0)!=(D|0)){continue}break}n=j+12|0;f=f+M|0;i=i+4|0;e=v[d+128>>2];if(i>>>0<(e&-4)>>>0){continue}break}break Tb}n=e&-4;n=(n>>>0<=4?4:n)-1|0;i=(n&-4)+4|0;n=(r+(n<<1&-8)|0)+20|0}v[d+8>>2]=p;v[d+4>>2]=b;v[d>>2]=c;v[d+104>>2]=s;if(!N|e>>>0<=i>>>0){break Sb}while(1){b=(e|0)==(i|0);p=0;e=i;if(!b){while(1){md(d,n,(B(p,N)<<2)+f|0,k,p,v[d+124>>2]+2|0,1);p=p+1|0;e=v[d+128>>2];if(p>>>0>>0){continue}break}}n=n+4|0;f=f+4|0;P=P+1|0;if((N|0)!=(P|0)){continue}break}break Sb}rc:{if(e>>>0<4){i=0;break rc}if(N){i=0;r=0-k|0;M=B(N,12);m=N<<3;while(1){D=0;while(1){j=n;n=v[j>>2];if(n){sc:{if(n&2097168){break sc}e=n&495;if(!e){break sc}o=(w[e+v[d+108>>2]|0]<<2)+d|0;s=o+28|0;l=v[s>>2];e=v[l>>2];b=b-e|0;tc:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;h=v[l+4>>2];if(b&32768){break tc}h=v[l+4>>2];e=b>>>0>>0;v[o+28>>2]=v[l+(e?12:8)>>2];while(1){uc:{if(p){break uc}l=v[d+16>>2];o=l+1|0;q=w[l+1|0];if(w[l|0]!=255){v[d+16>>2]=o;p=8;c=(q<<8)+c|0;break uc}if(q>>>0<=143){v[d+16>>2]=o;c=(q<<9)+c|0;p=7;break uc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}h=e?!h:h;break tc}h=v[l+4>>2];A=o;o=b>>>0>>0;v[A+28>>2]=v[l+(o?8:12)>>2];while(1){vc:{if(p){break vc}l=v[d+16>>2];b=l+1|0;q=w[l+1|0];if(w[l|0]!=255){v[d+16>>2]=b;p=8;c=(q<<8)+c|0;break vc}if(q>>>0<=143){v[d+16>>2]=b;c=(q<<9)+c|0;p=7;break vc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;h=o?h:!h}if(h){A=j-4|0;o=v[j+4>>2]>>>17&4|(v[A>>2]>>>19&1|(n>>>14&16|(n>>>16&64|n&170)));h=(w[o+38736|0]<<2)+d|0;s=h+28|0;g=v[s>>2];e=v[g>>2];b=b-e|0;l=w[o+38992|0];wc:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;o=v[g+4>>2];if(b&32768){break wc}q=v[g+4>>2];e=b>>>0>>0;v[h+28>>2]=v[g+(e?12:8)>>2];while(1){xc:{if(p){break xc}h=v[d+16>>2];o=h+1|0;g=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=o;p=8;c=(g<<8)+c|0;break xc}if(g>>>0<=143){v[d+16>>2]=o;c=(g<<9)+c|0;p=7;break xc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}o=e?!q:q;break wc}q=v[g+4>>2];o=b>>>0>>0;v[h+28>>2]=v[g+(o?8:12)>>2];while(1){yc:{if(p){break yc}h=v[d+16>>2];b=h+1|0;g=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=b;p=8;c=(g<<8)+c|0;break yc}if(g>>>0<=143){v[d+16>>2]=b;c=(g<<9)+c|0;p=7;break yc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;o=o?q:!q}o=o^l;v[f>>2]=o?r:k;v[A>>2]=v[A>>2]|32;v[j+4>>2]=v[j+4>>2]|8;e=j+(-2-v[d+124>>2]<<2)|0;v[e+4>>2]=v[e+4>>2]|32768;v[e>>2]=v[e>>2]|o<<31|65536;e=e-4|0;v[e>>2]=v[e>>2]|131072;n=o<<19|n|16}n=n|2097152}if(!(!(n&3960)|n&16777344)){l=n>>>3|0;o=(w[v[d+108>>2]+(l&495)|0]<<2)+d|0;s=o+28|0;h=v[s>>2];e=v[h>>2];b=b-e|0;zc:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;A=v[h+4>>2];if(b&32768){break zc}q=v[h+4>>2];e=b>>>0>>0;v[o+28>>2]=v[h+(e?12:8)>>2];while(1){Ac:{if(p){break Ac}h=v[d+16>>2];o=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=o;p=8;c=(A<<8)+c|0;break Ac}if(A>>>0<=143){v[d+16>>2]=o;c=(A<<9)+c|0;p=7;break Ac}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}A=e?!q:q;break zc}q=v[h+4>>2];A=o;o=b>>>0>>0;v[A+28>>2]=v[h+(o?8:12)>>2];while(1){Bc:{if(p){break Bc}h=v[d+16>>2];b=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=b;p=8;c=(A<<8)+c|0;break Bc}if(A>>>0<=143){v[d+16>>2]=b;c=(A<<9)+c|0;p=7;break Bc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;A=o?q:!q}if(A){g=j-4|0;o=v[j+4>>2]>>>20&4|(v[g>>2]>>>22&1|(n>>>15&16|(n>>>19&64|l&170)));q=(w[o+38736|0]<<2)+d|0;s=q+28|0;F=v[s>>2];e=v[F>>2];b=b-e|0;h=w[o+38992|0];l=(N<<2)+f|0;Cc:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;o=v[F+4>>2];if(b&32768){break Cc}A=v[F+4>>2];e=b>>>0>>0;v[q+28>>2]=v[F+(e?12:8)>>2];while(1){Dc:{if(p){break Dc}q=v[d+16>>2];o=q+1|0;F=w[q+1|0];if(w[q|0]!=255){v[d+16>>2]=o;p=8;c=(F<<8)+c|0;break Dc}if(F>>>0<=143){v[d+16>>2]=o;c=(F<<9)+c|0;p=7;break Dc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}o=e?!A:A;break Cc}A=v[F+4>>2];o=b>>>0>>0;v[q+28>>2]=v[F+(o?8:12)>>2];while(1){Ec:{if(p){break Ec}q=v[d+16>>2];b=q+1|0;F=w[q+1|0];if(w[q|0]!=255){v[d+16>>2]=b;p=8;c=(F<<8)+c|0;break Ec}if(F>>>0<=143){v[d+16>>2]=b;c=(F<<9)+c|0;p=7;break Ec}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;o=o?A:!A}e=o^h;v[l>>2]=e?r:k;v[g>>2]=v[g>>2]|256;v[j+4>>2]=v[j+4>>2]|64;n=e<<22|n|128}n=n|16777216}if(!(!(n&31680)|n&134218752)){l=n>>>6|0;o=(w[v[d+108>>2]+(l&495)|0]<<2)+d|0;s=o+28|0;h=v[s>>2];e=v[h>>2];b=b-e|0;Fc:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;A=v[h+4>>2];if(b&32768){break Fc}q=v[h+4>>2];e=b>>>0>>0;v[o+28>>2]=v[h+(e?12:8)>>2];while(1){Gc:{if(p){break Gc}h=v[d+16>>2];o=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=o;p=8;c=(A<<8)+c|0;break Gc}if(A>>>0<=143){v[d+16>>2]=o;c=(A<<9)+c|0;p=7;break Gc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}A=e?!q:q;break Fc}q=v[h+4>>2];A=o;o=b>>>0>>0;v[A+28>>2]=v[h+(o?8:12)>>2];while(1){Hc:{if(p){break Hc}h=v[d+16>>2];b=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=b;p=8;c=(A<<8)+c|0;break Hc}if(A>>>0<=143){v[d+16>>2]=b;c=(A<<9)+c|0;p=7;break Hc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;A=o?q:!q}if(A){g=j-4|0;o=v[j+4>>2]>>>23&4|(v[g>>2]>>>25&1|(n>>>18&16|(n>>>22&64|l&170)));q=(w[o+38736|0]<<2)+d|0;s=q+28|0;F=v[s>>2];e=v[F>>2];b=b-e|0;h=w[o+38992|0];l=f+m|0;Ic:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;o=v[F+4>>2];if(b&32768){break Ic}A=v[F+4>>2];e=b>>>0>>0;v[q+28>>2]=v[F+(e?12:8)>>2];while(1){Jc:{if(p){break Jc}q=v[d+16>>2];o=q+1|0;F=w[q+1|0];if(w[q|0]!=255){v[d+16>>2]=o;p=8;c=(F<<8)+c|0;break Jc}if(F>>>0<=143){v[d+16>>2]=o;c=(F<<9)+c|0;p=7;break Jc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}o=e?!A:A;break Ic}A=v[F+4>>2];o=b>>>0>>0;v[q+28>>2]=v[F+(o?8:12)>>2];while(1){Kc:{if(p){break Kc}q=v[d+16>>2];b=q+1|0;F=w[q+1|0];if(w[q|0]!=255){v[d+16>>2]=b;p=8;c=(F<<8)+c|0;break Kc}if(F>>>0<=143){v[d+16>>2]=b;c=(F<<9)+c|0;p=7;break Kc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;o=o?A:!A}e=o^h;v[l>>2]=e?r:k;v[g>>2]=v[g>>2]|2048;v[j+4>>2]=v[j+4>>2]|512;n=e<<25|n|1024}n=n|134217728}if(!(!(n&253440)|n&1073750016)){l=n>>>9|0;o=(w[v[d+108>>2]+(l&495)|0]<<2)+d|0;s=o+28|0;h=v[s>>2];e=v[h>>2];b=b-e|0;Lc:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;A=v[h+4>>2];if(b&32768){break Lc}q=v[h+4>>2];e=b>>>0>>0;v[o+28>>2]=v[h+(e?12:8)>>2];while(1){Mc:{if(p){break Mc}h=v[d+16>>2];o=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=o;p=8;c=(A<<8)+c|0;break Mc}if(A>>>0<=143){v[d+16>>2]=o;c=(A<<9)+c|0;p=7;break Mc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}A=e?!q:q;break Lc}q=v[h+4>>2];A=o;o=b>>>0>>0;v[A+28>>2]=v[h+(o?8:12)>>2];while(1){Nc:{if(p){break Nc}h=v[d+16>>2];b=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=b;p=8;c=(A<<8)+c|0;break Nc}if(A>>>0<=143){v[d+16>>2]=b;c=(A<<9)+c|0;p=7;break Nc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;A=o?q:!q}if(A){g=j-4|0;o=v[j+4>>2]>>>26&4|(v[g>>2]>>>28&1|(n>>>21&16|(n>>>25&64|l&170)));q=(w[o+38736|0]<<2)+d|0;s=q+28|0;F=v[s>>2];e=v[F>>2];b=b-e|0;h=w[o+38992|0];l=f+M|0;Oc:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;o=v[F+4>>2];if(b&32768){break Oc}A=v[F+4>>2];e=b>>>0>>0;v[q+28>>2]=v[F+(e?12:8)>>2];while(1){Pc:{if(p){break Pc}q=v[d+16>>2];o=q+1|0;F=w[q+1|0];if(w[q|0]!=255){v[d+16>>2]=o;p=8;c=(F<<8)+c|0;break Pc}if(F>>>0<=143){v[d+16>>2]=o;c=(F<<9)+c|0;p=7;break Pc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}o=e?!A:A;break Oc}A=v[F+4>>2];o=b>>>0>>0;v[q+28>>2]=v[F+(o?8:12)>>2];while(1){Qc:{if(p){break Qc}q=v[d+16>>2];b=q+1|0;F=w[q+1|0];if(w[q|0]!=255){v[d+16>>2]=b;p=8;c=(F<<8)+c|0;break Qc}if(F>>>0<=143){v[d+16>>2]=b;c=(F<<9)+c|0;p=7;break Qc}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8}p=p-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;o=o?A:!A}e=o^h;v[l>>2]=e?r:k;v[g>>2]=v[g>>2]|16384;v[j+4>>2]=v[j+4>>2]|4096;o=j+(v[d+124>>2]<<2)|0;v[o+4>>2]=v[o+4>>2]|4;v[o+12>>2]=v[o+12>>2]|1;v[o+8>>2]=v[o+8>>2]|e<<18|2;n=e<<28|n|8192}n=n|1073741824}v[j>>2]=n}n=j+4|0;f=f+4|0;D=D+1|0;if((N|0)!=(D|0)){continue}break}n=j+12|0;f=f+M|0;i=i+4|0;e=v[d+128>>2];if(i>>>0<(e&-4)>>>0){continue}break}break rc}n=e&-4;n=(n>>>0<=4?4:n)-1|0;i=(n&-4)+4|0;n=(r+(n<<1&-8)|0)+20|0}v[d+8>>2]=p;v[d+4>>2]=b;v[d>>2]=c;v[d+104>>2]=s;if(!N|e>>>0<=i>>>0){break Sb}while(1){b=(e|0)==(i|0);p=0;e=i;if(!b){while(1){md(d,n,(B(p,N)<<2)+f|0,k,p,v[d+124>>2]+2|0,0);p=p+1|0;e=v[d+128>>2];if(p>>>0>>0){continue}break}}n=n+4|0;f=f+4|0;P=P+1|0;if((N|0)!=(P|0)){continue}break}}break qb}while(1){g=0;while(1){i=f;r=e;e=v[e>>2];if(e){Rc:{if(e&2097168){break Rc}f=e&495;if(!f){break Rc}j=(w[f+v[d+108>>2]|0]<<2)+d|0;s=j+28|0;o=v[s>>2];f=v[o>>2];b=b-f|0;Sc:{if(c>>>16>>>0>>0){l=v[o+4>>2];D=j;j=b>>>0>>0;v[D+28>>2]=v[o+(j?8:12)>>2];while(1){Tc:{if(p){break Tc}o=v[d+16>>2];b=o+1|0;D=w[o+1|0];if(w[o|0]==255){if(D>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break Tc}v[d+16>>2]=b;c=(D<<9)+c|0;p=7;break Tc}v[d+16>>2]=b;p=8;c=(D<<8)+c|0}p=p-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?l:!l;break Sc}c=c-(f<<16)|0;if(!(b&32768)){l=v[o+4>>2];f=b>>>0>>0;v[j+28>>2]=v[o+(f?12:8)>>2];while(1){Uc:{if(p){break Uc}o=v[d+16>>2];j=o+1|0;D=w[o+1|0];if(w[o|0]==255){if(D>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break Uc}v[d+16>>2]=j;c=(D<<9)+c|0;p=7;break Uc}v[d+16>>2]=j;p=8;c=(D<<8)+c|0}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!l:l;break Sc}f=v[o+4>>2]}if(f){h=r-4|0;j=v[r+4>>2]>>>17&4|(v[h>>2]>>>19&1|(e>>>14&16|(e>>>16&64|e&170)));l=(w[j+38736|0]<<2)+d|0;s=l+28|0;m=v[s>>2];f=v[m>>2];b=b-f|0;o=w[j+38992|0];Vc:{if(c>>>16>>>0>>0){D=v[m+4>>2];j=b>>>0>>0;v[l+28>>2]=v[m+(j?8:12)>>2];while(1){Wc:{if(p){break Wc}l=v[d+16>>2];b=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break Wc}v[d+16>>2]=b;c=(m<<9)+c|0;p=7;break Wc}v[d+16>>2]=b;p=8;c=(m<<8)+c|0}p=p-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?D:!D;break Vc}c=c-(f<<16)|0;if(!(b&32768)){D=v[m+4>>2];f=b>>>0>>0;v[l+28>>2]=v[m+(f?12:8)>>2];while(1){Xc:{if(p){break Xc}l=v[d+16>>2];j=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break Xc}v[d+16>>2]=j;c=(m<<9)+c|0;p=7;break Xc}v[d+16>>2]=j;p=8;c=(m<<8)+c|0}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!D:D;break Vc}f=v[m+4>>2]}f=f^o;v[i>>2]=f?n:k;v[h>>2]=v[h>>2]|32;v[r+4>>2]=v[r+4>>2]|8;e=f<<19|e|16}e=e|2097152}if(!(!(e&3960)|e&16777344)){o=e>>>3|0;j=(w[v[d+108>>2]+(o&495)|0]<<2)+d|0;s=j+28|0;l=v[s>>2];f=v[l>>2];b=b-f|0;Yc:{if(c>>>16>>>0>>0){D=v[l+4>>2];h=j;j=b>>>0>>0;v[h+28>>2]=v[l+(j?8:12)>>2];while(1){Zc:{if(p){break Zc}l=v[d+16>>2];b=l+1|0;h=w[l+1|0];if(w[l|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break Zc}v[d+16>>2]=b;c=(h<<9)+c|0;p=7;break Zc}v[d+16>>2]=b;p=8;c=(h<<8)+c|0}p=p-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?D:!D;break Yc}c=c-(f<<16)|0;if(!(b&32768)){D=v[l+4>>2];f=b>>>0>>0;v[j+28>>2]=v[l+(f?12:8)>>2];while(1){_c:{if(p){break _c}l=v[d+16>>2];j=l+1|0;h=w[l+1|0];if(w[l|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break _c}v[d+16>>2]=j;c=(h<<9)+c|0;p=7;break _c}v[d+16>>2]=j;p=8;c=(h<<8)+c|0}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!D:D;break Yc}f=v[l+4>>2]}if(f){h=r-4|0;j=v[r+4>>2]>>>20&4|(v[h>>2]>>>22&1|(e>>>15&16|(e>>>19&64|o&170)));l=(w[j+38736|0]<<2)+d|0;s=l+28|0;m=v[s>>2];f=v[m>>2];b=b-f|0;o=w[j+38992|0];$c:{if(c>>>16>>>0>>0){D=v[m+4>>2];j=b>>>0>>0;v[l+28>>2]=v[m+(j?8:12)>>2];while(1){ad:{if(p){break ad}l=v[d+16>>2];b=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break ad}v[d+16>>2]=b;c=(m<<9)+c|0;p=7;break ad}v[d+16>>2]=b;p=8;c=(m<<8)+c|0}p=p-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?D:!D;break $c}c=c-(f<<16)|0;if(!(b&32768)){D=v[m+4>>2];f=b>>>0>>0;v[l+28>>2]=v[m+(f?12:8)>>2];while(1){bd:{if(p){break bd}l=v[d+16>>2];j=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break bd}v[d+16>>2]=j;c=(m<<9)+c|0;p=7;break bd}v[d+16>>2]=j;p=8;c=(m<<8)+c|0}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!D:D;break $c}f=v[m+4>>2]}f=f^o;v[i+256>>2]=f?n:k;v[h>>2]=v[h>>2]|256;v[r+4>>2]=v[r+4>>2]|64;e=f<<22|e|128}e=e|16777216}if(!(!(e&31680)|e&134218752)){o=e>>>6|0;j=(w[v[d+108>>2]+(o&495)|0]<<2)+d|0;s=j+28|0;l=v[s>>2];f=v[l>>2];b=b-f|0;cd:{if(c>>>16>>>0>>0){D=v[l+4>>2];h=j;j=b>>>0>>0;v[h+28>>2]=v[l+(j?8:12)>>2];while(1){dd:{if(p){break dd}l=v[d+16>>2];b=l+1|0;h=w[l+1|0];if(w[l|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break dd}v[d+16>>2]=b;c=(h<<9)+c|0;p=7;break dd}v[d+16>>2]=b;p=8;c=(h<<8)+c|0}p=p-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?D:!D;break cd}c=c-(f<<16)|0;if(!(b&32768)){D=v[l+4>>2];f=b>>>0>>0;v[j+28>>2]=v[l+(f?12:8)>>2];while(1){ed:{if(p){break ed}l=v[d+16>>2];j=l+1|0;h=w[l+1|0];if(w[l|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break ed}v[d+16>>2]=j;c=(h<<9)+c|0;p=7;break ed}v[d+16>>2]=j;p=8;c=(h<<8)+c|0}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!D:D;break cd}f=v[l+4>>2]}if(f){h=r-4|0;j=v[r+4>>2]>>>23&4|(v[h>>2]>>>25&1|(e>>>18&16|(e>>>22&64|o&170)));l=(w[j+38736|0]<<2)+d|0;s=l+28|0;m=v[s>>2];f=v[m>>2];b=b-f|0;o=w[j+38992|0];fd:{if(c>>>16>>>0>>0){D=v[m+4>>2];j=b>>>0>>0;v[l+28>>2]=v[m+(j?8:12)>>2];while(1){gd:{if(p){break gd}l=v[d+16>>2];b=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break gd}v[d+16>>2]=b;c=(m<<9)+c|0;p=7;break gd}v[d+16>>2]=b;p=8;c=(m<<8)+c|0}p=p-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?D:!D;break fd}c=c-(f<<16)|0;if(!(b&32768)){D=v[m+4>>2];f=b>>>0>>0;v[l+28>>2]=v[m+(f?12:8)>>2];while(1){hd:{if(p){break hd}l=v[d+16>>2];j=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break hd}v[d+16>>2]=j;c=(m<<9)+c|0;p=7;break hd}v[d+16>>2]=j;p=8;c=(m<<8)+c|0}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!D:D;break fd}f=v[m+4>>2]}f=f^o;v[i+512>>2]=f?n:k;v[h>>2]=v[h>>2]|2048;v[r+4>>2]=v[r+4>>2]|512;e=f<<25|e|1024}e=e|134217728}if(!(!(e&253440)|e&1073750016)){o=e>>>9|0;j=(w[v[d+108>>2]+(o&495)|0]<<2)+d|0;s=j+28|0;l=v[s>>2];f=v[l>>2];b=b-f|0;id:{if(c>>>16>>>0>>0){D=v[l+4>>2];h=j;j=b>>>0>>0;v[h+28>>2]=v[l+(j?8:12)>>2];while(1){jd:{if(p){break jd}l=v[d+16>>2];b=l+1|0;h=w[l+1|0];if(w[l|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break jd}v[d+16>>2]=b;c=(h<<9)+c|0;p=7;break jd}v[d+16>>2]=b;p=8;c=(h<<8)+c|0}p=p-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?D:!D;break id}c=c-(f<<16)|0;if(!(b&32768)){D=v[l+4>>2];f=b>>>0>>0;v[j+28>>2]=v[l+(f?12:8)>>2];while(1){kd:{if(p){break kd}l=v[d+16>>2];j=l+1|0;h=w[l+1|0];if(w[l|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break kd}v[d+16>>2]=j;c=(h<<9)+c|0;p=7;break kd}v[d+16>>2]=j;p=8;c=(h<<8)+c|0}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!D:D;break id}f=v[l+4>>2]}if(f){h=r-4|0;j=v[r+4>>2]>>>26&4|(v[h>>2]>>>28&1|(e>>>21&16|(e>>>25&64|o&170)));l=(w[j+38736|0]<<2)+d|0;s=l+28|0;m=v[s>>2];f=v[m>>2];b=b-f|0;o=w[j+38992|0];ld:{if(c>>>16>>>0>>0){D=v[m+4>>2];j=b>>>0>>0;v[l+28>>2]=v[m+(j?8:12)>>2];while(1){md:{if(p){break md}l=v[d+16>>2];b=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break md}v[d+16>>2]=b;c=(m<<9)+c|0;p=7;break md}v[d+16>>2]=b;p=8;c=(m<<8)+c|0}p=p-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?D:!D;break ld}c=c-(f<<16)|0;if(!(b&32768)){D=v[m+4>>2];f=b>>>0>>0;v[l+28>>2]=v[m+(f?12:8)>>2];while(1){nd:{if(p){break nd}l=v[d+16>>2];j=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;p=8;break nd}v[d+16>>2]=j;c=(m<<9)+c|0;p=7;break nd}v[d+16>>2]=j;p=8;c=(m<<8)+c|0}p=p-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!D:D;break ld}f=v[m+4>>2]}f=f^o;v[i+768>>2]=f?n:k;v[h>>2]=v[h>>2]|16384;v[r+4>>2]=v[r+4>>2]|4096;v[r+260>>2]=v[r+260>>2]|4;v[r+268>>2]=v[r+268>>2]|1;v[r+264>>2]=v[r+264>>2]|f<<18|2;e=f<<28|e|8192}e=e|1073741824}v[r>>2]=e}e=r+4|0;f=i+4|0;g=g+1|0;if((g|0)!=64){continue}break}e=r+12|0;f=i+772|0;i=P>>>0<60;P=P+4|0;if(i){continue}break}}v[d+8>>2]=p;v[d+4>>2]=b;v[d>>2]=c;v[d+104>>2]=s}break Sa;case 1:if(da){m=1<>>1|0;h=v[d+124>>2];j=h<<2;b=(j+v[d+120>>2]|0)+12|0;f=v[d+116>>2];i=0;e=v[d+128>>2];if(e>>>0>=4){if(!h){break Ra}l=B(h,3);r=h<<1;D=0-m|0;while(1){e=0;while(1){n=b;b=v[b>>2];od:{if(!b){break od}if((b&2097168)==16){b=v[d>>2];k=v[d+8>>2];pd:{if(k){k=k-1|0;break pd}k=(b|0)==255;o=v[d+16>>2];b=w[o|0];qd:{if(!k){v[d>>2]=b;v[d+16>>2]=o+1;break qd}if(b>>>0<=143){v[d>>2]=b;v[d+16>>2]=o+1;k=6;break pd}b=255;v[d>>2]=255}k=7}v[d+8>>2]=k;k=b>>>k&1;b=v[f>>2];v[f>>2]=((k|0)==(b>>>31|0)?D:m)+b;b=v[n>>2]|1048576;v[n>>2]=b}if((b&16777344)==128){c=f+j|0;b=v[d>>2];k=v[d+8>>2];rd:{if(k){k=k-1|0;break rd}k=(b|0)==255;o=v[d+16>>2];b=w[o|0];sd:{if(!k){v[d>>2]=b;v[d+16>>2]=o+1;break sd}if(b>>>0<=143){v[d>>2]=b;v[d+16>>2]=o+1;k=6;break rd}b=255;v[d>>2]=255}k=7}v[d+8>>2]=k;k=b>>>k&1;b=v[c>>2];v[c>>2]=((k|0)==(b>>>31|0)?D:m)+b;b=v[n>>2]|8388608;v[n>>2]=b}if((b&134218752)==1024){c=(r<<2)+f|0;b=v[d>>2];k=v[d+8>>2];td:{if(k){k=k-1|0;break td}k=(b|0)==255;o=v[d+16>>2];b=w[o|0];ud:{if(!k){v[d>>2]=b;v[d+16>>2]=o+1;break ud}if(b>>>0<=143){v[d>>2]=b;v[d+16>>2]=o+1;k=6;break td}b=255;v[d>>2]=255}k=7}v[d+8>>2]=k;k=b>>>k&1;b=v[c>>2];v[c>>2]=((k|0)==(b>>>31|0)?D:m)+b;b=v[n>>2]|67108864;v[n>>2]=b}if((b&1073750016)!=8192){break od}c=(l<<2)+f|0;b=v[d>>2];k=v[d+8>>2];vd:{if(k){k=k-1|0;break vd}k=(b|0)==255;o=v[d+16>>2];b=w[o|0];wd:{if(!k){v[d>>2]=b;v[d+16>>2]=o+1;break wd}if(b>>>0<=143){v[d>>2]=b;v[d+16>>2]=o+1;k=6;break vd}b=255;v[d>>2]=255}k=7}v[d+8>>2]=k;k=b>>>k&1;b=v[c>>2];v[c>>2]=((k|0)==(b>>>31|0)?D:m)+b;v[n>>2]=v[n>>2]|536870912}f=f+4|0;b=n+4|0;e=e+1|0;if((h|0)!=(e|0)){continue}break}b=n+12|0;f=(l<<2)+f|0;i=i+4|0;e=v[d+128>>2];if(i>>>0<(e&-4)>>>0){continue}break}}if(!h|e>>>0<=i>>>0){break Sa}q=0;k=0-m|0;n=e;while(1){xd:{if((i|0)==(n|0)){n=i;break xd}p=v[b>>2];s=0;while(1){o=B(s,3);if((2097168<>2];n=v[d+8>>2];yd:{if(n){n=n-1|0;break yd}n=(e|0)!=255;r=v[d+16>>2];e=w[r|0];zd:{if(!n){if(e>>>0>=144){e=255;v[d>>2]=255;break zd}v[d>>2]=e;v[d+16>>2]=r+1;n=6;break yd}v[d>>2]=e;v[d+16>>2]=r+1}n=7}v[d+8>>2]=n;n=e>>>n&1;e=v[j>>2];v[j>>2]=((n|0)==(e>>>31|0)?k:m)+e;p=v[b>>2]|1048576<>2]=p;e=v[d+128>>2]}n=e;s=s+1|0;if(s>>>0>>0){continue}break}}f=f+4|0;b=b+4|0;q=q+1|0;if((h|0)!=(q|0)){continue}break}break Sa}i=v[d+120>>2];n=v[d+116>>2];M=v[d+124>>2];e=v[d+128>>2];if(!((M|0)!=64|(e|0)!=64)){e=i+268|0;q=0;h=1<>>1|0;D=0-h|0;s=v[d+8>>2];f=v[d+4>>2];b=v[d>>2];g=v[d+104>>2];while(1){i=0;while(1){r=n;k=e;n=v[e>>2];if(n){if((n&2097168)==16){j=((n&1048576?16:n&495?15:14)<<2)+d|0;g=j+28|0;o=v[g>>2];e=v[o>>2];f=f-e|0;Ad:{if(b>>>16>>>0>>0){c=v[o+4>>2];l=j;j=e>>>0>f>>>0;v[l+28>>2]=v[o+(j?8:12)>>2];while(1){Bd:{if(s){break Bd}o=v[d+16>>2];f=o+1|0;l=w[o+1|0];if(w[o|0]==255){if(l>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;b=b+65280|0;s=8;break Bd}v[d+16>>2]=f;b=(l<<9)+b|0;s=7;break Bd}v[d+16>>2]=f;s=8;b=(l<<8)+b|0}s=s-1|0;b=b<<1;e=e<<1;if(e>>>0<32768){continue}break}f=e;j=j?c:!c;break Ad}b=b-(e<<16)|0;if(!(f&32768)){c=v[o+4>>2];e=e>>>0>f>>>0;v[j+28>>2]=v[o+(e?12:8)>>2];while(1){Cd:{if(s){break Cd}o=v[d+16>>2];j=o+1|0;l=w[o+1|0];if(w[o|0]==255){if(l>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;b=b+65280|0;s=8;break Cd}v[d+16>>2]=j;b=(l<<9)+b|0;s=7;break Cd}v[d+16>>2]=j;s=8;b=(l<<8)+b|0}s=s-1|0;b=b<<1;f=f<<1;if(f>>>0<32768){continue}break}j=e?!c:c;break Ad}j=v[o+4>>2]}e=v[r>>2];v[r>>2]=((j|0)==(e>>>31|0)?D:h)+e;n=n|1048576}if((n&16777344)==128){j=((n&8388608?16:n&3960?15:14)<<2)+d|0;g=j+28|0;o=v[g>>2];e=v[o>>2];f=f-e|0;Dd:{if(b>>>16>>>0>>0){c=v[o+4>>2];l=j;j=e>>>0>f>>>0;v[l+28>>2]=v[o+(j?8:12)>>2];while(1){Ed:{if(s){break Ed}o=v[d+16>>2];f=o+1|0;l=w[o+1|0];if(w[o|0]==255){if(l>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;b=b+65280|0;s=8;break Ed}v[d+16>>2]=f;b=(l<<9)+b|0;s=7;break Ed}v[d+16>>2]=f;s=8;b=(l<<8)+b|0}s=s-1|0;b=b<<1;e=e<<1;if(e>>>0<32768){continue}break}f=e;j=j?c:!c;break Dd}b=b-(e<<16)|0;if(!(f&32768)){c=v[o+4>>2];e=e>>>0>f>>>0;v[j+28>>2]=v[o+(e?12:8)>>2];while(1){Fd:{if(s){break Fd}o=v[d+16>>2];j=o+1|0;l=w[o+1|0];if(w[o|0]==255){if(l>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;b=b+65280|0;s=8;break Fd}v[d+16>>2]=j;b=(l<<9)+b|0;s=7;break Fd}v[d+16>>2]=j;s=8;b=(l<<8)+b|0}s=s-1|0;b=b<<1;f=f<<1;if(f>>>0<32768){continue}break}j=e?!c:c;break Dd}j=v[o+4>>2]}e=v[r+256>>2];v[r+256>>2]=((j|0)==(e>>>31|0)?D:h)+e;n=n|8388608}if((n&134218752)==1024){j=((n&67108864?16:n&31680?15:14)<<2)+d|0;g=j+28|0;o=v[g>>2];e=v[o>>2];f=f-e|0;Gd:{if(b>>>16>>>0>>0){c=v[o+4>>2];l=j;j=e>>>0>f>>>0;v[l+28>>2]=v[o+(j?8:12)>>2];while(1){Hd:{if(s){break Hd}o=v[d+16>>2];f=o+1|0;l=w[o+1|0];if(w[o|0]==255){if(l>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;b=b+65280|0;s=8;break Hd}v[d+16>>2]=f;b=(l<<9)+b|0;s=7;break Hd}v[d+16>>2]=f;s=8;b=(l<<8)+b|0}s=s-1|0;b=b<<1;e=e<<1;if(e>>>0<32768){continue}break}f=e;j=j?c:!c;break Gd}b=b-(e<<16)|0;if(!(f&32768)){c=v[o+4>>2];e=e>>>0>f>>>0;v[j+28>>2]=v[o+(e?12:8)>>2];while(1){Id:{if(s){break Id}o=v[d+16>>2];j=o+1|0;l=w[o+1|0];if(w[o|0]==255){if(l>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;b=b+65280|0;s=8;break Id}v[d+16>>2]=j;b=(l<<9)+b|0;s=7;break Id}v[d+16>>2]=j;s=8;b=(l<<8)+b|0}s=s-1|0;b=b<<1;f=f<<1;if(f>>>0<32768){continue}break}j=e?!c:c;break Gd}j=v[o+4>>2]}e=v[r+512>>2];v[r+512>>2]=((j|0)==(e>>>31|0)?D:h)+e;n=n|67108864}if((n&1073750016)==8192){j=((n&536870912?16:n&253440?15:14)<<2)+d|0;g=j+28|0;o=v[g>>2];e=v[o>>2];f=f-e|0;Jd:{if(b>>>16>>>0>>0){c=v[o+4>>2];l=j;j=e>>>0>f>>>0;v[l+28>>2]=v[o+(j?8:12)>>2];while(1){Kd:{if(s){break Kd}o=v[d+16>>2];f=o+1|0;l=w[o+1|0];if(w[o|0]==255){if(l>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;b=b+65280|0;s=8;break Kd}v[d+16>>2]=f;b=(l<<9)+b|0;s=7;break Kd}v[d+16>>2]=f;s=8;b=(l<<8)+b|0}s=s-1|0;b=b<<1;e=e<<1;if(e>>>0<32768){continue}break}f=e;j=j?c:!c;break Jd}b=b-(e<<16)|0;if(!(f&32768)){c=v[o+4>>2];e=e>>>0>f>>>0;v[j+28>>2]=v[o+(e?12:8)>>2];while(1){Ld:{if(s){break Ld}o=v[d+16>>2];j=o+1|0;l=w[o+1|0];if(w[o|0]==255){if(l>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;b=b+65280|0;s=8;break Ld}v[d+16>>2]=j;b=(l<<9)+b|0;s=7;break Ld}v[d+16>>2]=j;s=8;b=(l<<8)+b|0}s=s-1|0;b=b<<1;f=f<<1;if(f>>>0<32768){continue}break}j=e?!c:c;break Jd}j=v[o+4>>2]}e=v[r+768>>2];v[r+768>>2]=((j|0)==(e>>>31|0)?D:h)+e;n=n|536870912}v[k>>2]=n}e=k+4|0;n=r+4|0;i=i+1|0;if((i|0)!=64){continue}break}e=k+12|0;n=r+772|0;k=q>>>0<60;q=q+4|0;if(k){continue}break}v[d+8>>2]=s;v[d+4>>2]=f;v[d>>2]=b;v[d+104>>2]=g;break Sa}A=1<>>1|0;l=M<<2;j=(l+i|0)+12|0;s=v[d+8>>2];f=v[d+4>>2];b=v[d>>2];g=v[d+104>>2];c=0;Md:{if(e>>>0<4){break Md}if(M){h=B(M,3);o=M<<1;p=0-A|0;while(1){i=0;while(1){k=j;q=v[k>>2];if(q){if((q&2097168)==16){r=((q&1048576?16:q&495?15:14)<<2)+d|0;g=r+28|0;j=v[g>>2];e=v[j>>2];f=f-e|0;Nd:{if(b>>>16>>>0>=e>>>0){b=b-(e<<16)|0;D=v[j+4>>2];if(f&32768){break Nd}D=v[j+4>>2];e=e>>>0>f>>>0;v[r+28>>2]=v[j+(e?12:8)>>2];while(1){Od:{if(s){break Od}j=v[d+16>>2];r=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=r;s=8;b=(m<<8)+b|0;break Od}if(m>>>0<=143){v[d+16>>2]=r;b=(m<<9)+b|0;s=7;break Od}v[d+12>>2]=v[d+12>>2]+1;b=b+65280|0;s=8}s=s-1|0;b=b<<1;f=f<<1;if(f>>>0<32768){continue}break}D=e?!D:D;break Nd}D=v[j+4>>2];m=r;r=e>>>0>f>>>0;v[m+28>>2]=v[j+(r?8:12)>>2];while(1){Pd:{if(s){break Pd}j=v[d+16>>2];f=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=f;s=8;b=(m<<8)+b|0;break Pd}if(m>>>0<=143){v[d+16>>2]=f;b=(m<<9)+b|0;s=7;break Pd}v[d+12>>2]=v[d+12>>2]+1;b=b+65280|0;s=8}s=s-1|0;b=b<<1;e=e<<1;if(e>>>0<32768){continue}break}f=e;D=r?D:!D}r=D;e=v[n>>2];v[n>>2]=((r|0)==(e>>>31|0)?p:A)+e;q=q|1048576}if((q&16777344)==128){r=((q&8388608?16:q&3960?15:14)<<2)+d|0;g=r+28|0;j=v[g>>2];e=v[j>>2];f=f-e|0;Qd:{if(b>>>16>>>0>=e>>>0){b=b-(e<<16)|0;D=v[j+4>>2];if(f&32768){break Qd}D=v[j+4>>2];e=e>>>0>f>>>0;v[r+28>>2]=v[j+(e?12:8)>>2];while(1){Rd:{if(s){break Rd}j=v[d+16>>2];r=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=r;s=8;b=(m<<8)+b|0;break Rd}if(m>>>0<=143){v[d+16>>2]=r;b=(m<<9)+b|0;s=7;break Rd}v[d+12>>2]=v[d+12>>2]+1;b=b+65280|0;s=8}s=s-1|0;b=b<<1;f=f<<1;if(f>>>0<32768){continue}break}D=e?!D:D;break Qd}D=v[j+4>>2];m=r;r=e>>>0>f>>>0;v[m+28>>2]=v[j+(r?8:12)>>2];while(1){Sd:{if(s){break Sd}j=v[d+16>>2];f=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=f;s=8;b=(m<<8)+b|0;break Sd}if(m>>>0<=143){v[d+16>>2]=f;b=(m<<9)+b|0;s=7;break Sd}v[d+12>>2]=v[d+12>>2]+1;b=b+65280|0;s=8}s=s-1|0;b=b<<1;e=e<<1;if(e>>>0<32768){continue}break}f=e;D=r?D:!D}j=D;e=l+n|0;r=v[e>>2];v[e>>2]=r+((j|0)==(r>>>31|0)?p:A);q=q|8388608}if((q&134218752)==1024){r=((q&67108864?16:q&31680?15:14)<<2)+d|0;g=r+28|0;j=v[g>>2];e=v[j>>2];f=f-e|0;Td:{if(b>>>16>>>0>=e>>>0){b=b-(e<<16)|0;D=v[j+4>>2];if(f&32768){break Td}D=v[j+4>>2];e=e>>>0>f>>>0;v[r+28>>2]=v[j+(e?12:8)>>2];while(1){Ud:{if(s){break Ud}j=v[d+16>>2];r=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=r;s=8;b=(m<<8)+b|0;break Ud}if(m>>>0<=143){v[d+16>>2]=r;b=(m<<9)+b|0;s=7;break Ud}v[d+12>>2]=v[d+12>>2]+1;b=b+65280|0;s=8}s=s-1|0;b=b<<1;f=f<<1;if(f>>>0<32768){continue}break}D=e?!D:D;break Td}D=v[j+4>>2];m=r;r=e>>>0>f>>>0;v[m+28>>2]=v[j+(r?8:12)>>2];while(1){Vd:{if(s){break Vd}j=v[d+16>>2];f=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=f;s=8;b=(m<<8)+b|0;break Vd}if(m>>>0<=143){v[d+16>>2]=f;b=(m<<9)+b|0;s=7;break Vd}v[d+12>>2]=v[d+12>>2]+1;b=b+65280|0;s=8}s=s-1|0;b=b<<1;e=e<<1;if(e>>>0<32768){continue}break}f=e;D=r?D:!D}j=D;e=(o<<2)+n|0;r=v[e>>2];v[e>>2]=r+((j|0)==(r>>>31|0)?p:A);q=q|67108864}if((q&1073750016)==8192){r=((q&536870912?16:q&253440?15:14)<<2)+d|0;g=r+28|0;j=v[g>>2];e=v[j>>2];f=f-e|0;Wd:{if(b>>>16>>>0>=e>>>0){b=b-(e<<16)|0;D=v[j+4>>2];if(f&32768){break Wd}D=v[j+4>>2];e=e>>>0>f>>>0;v[r+28>>2]=v[j+(e?12:8)>>2];while(1){Xd:{if(s){break Xd}j=v[d+16>>2];r=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=r;s=8;b=(m<<8)+b|0;break Xd}if(m>>>0<=143){v[d+16>>2]=r;b=(m<<9)+b|0;s=7;break Xd}v[d+12>>2]=v[d+12>>2]+1;b=b+65280|0;s=8}s=s-1|0;b=b<<1;f=f<<1;if(f>>>0<32768){continue}break}D=e?!D:D;break Wd}D=v[j+4>>2];m=r;r=e>>>0>f>>>0;v[m+28>>2]=v[j+(r?8:12)>>2];while(1){Yd:{if(s){break Yd}j=v[d+16>>2];f=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=f;s=8;b=(m<<8)+b|0;break Yd}if(m>>>0<=143){v[d+16>>2]=f;b=(m<<9)+b|0;s=7;break Yd}v[d+12>>2]=v[d+12>>2]+1;b=b+65280|0;s=8}s=s-1|0;b=b<<1;e=e<<1;if(e>>>0<32768){continue}break}f=e;D=r?D:!D}j=D;e=(h<<2)+n|0;r=v[e>>2];v[e>>2]=r+((j|0)==(r>>>31|0)?p:A);q=q|536870912}v[k>>2]=q}j=k+4|0;n=n+4|0;i=i+1|0;if((M|0)!=(i|0)){continue}break}j=k+12|0;n=(h<<2)+n|0;c=c+4|0;e=v[d+128>>2];if(c>>>0<(e&-4)>>>0){continue}break}break Md}k=e&-4;k=(k>>>0<=4?4:k)-1|0;c=(k&-4)+4|0;j=(i+(k<<1&-8)|0)+20|0}v[d+8>>2]=s;v[d+4>>2]=f;v[d>>2]=b;v[d+104>>2]=g;if(!M|c>>>0>=e>>>0){break Sa}q=0;k=0-A|0;b=e;while(1){Zd:{if((b|0)==(c|0)){b=c;break Zd}s=v[j>>2];p=0;while(1){h=B(p,3);if((2097168<>>h|0;i=((b&1048576?16:b&495?15:14)<<2)+d|0;v[d+104>>2]=i+28;r=v[i+28>>2];b=v[r>>2];e=v[d+4>>2]-b|0;v[d+4>>2]=e;f=v[d>>2];_d:{if(f>>>16>>>0>>0){v[d+4>>2]=b;o=v[r+4>>2];e=b>>>0>e>>>0;v[i+28>>2]=v[r+(e?8:12)>>2];s=v[d+8>>2];while(1){$d:{if(s){break $d}r=v[d+16>>2];i=r+1|0;D=w[r+1|0];if(w[r|0]==255){if(D>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;f=f+65280|0;s=8;break $d}v[d+16>>2]=i;f=(D<<9)+f|0;s=7;break $d}v[d+16>>2]=i;s=8;f=(D<<8)+f|0}s=s-1|0;v[d+8>>2]=s;f=f<<1;v[d>>2]=f;b=b<<1;v[d+4>>2]=b;if(b>>>0<32768){continue}break}e=e?o:!o;break _d}f=f-(b<<16)|0;v[d>>2]=f;if(!(e&32768)){o=v[r+4>>2];b=b>>>0>e>>>0;v[i+28>>2]=v[r+(b?12:8)>>2];s=v[d+8>>2];while(1){ae:{if(s){break ae}r=v[d+16>>2];i=r+1|0;D=w[r+1|0];if(w[r|0]==255){if(D>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;f=f+65280|0;s=8;break ae}v[d+16>>2]=i;f=(D<<9)+f|0;s=7;break ae}v[d+16>>2]=i;s=8;f=(D<<8)+f|0}s=s-1|0;v[d+8>>2]=s;f=f<<1;v[d>>2]=f;e=e<<1;v[d+4>>2]=e;if(e>>>0<32768){continue}break}e=b?!o:o;break _d}e=v[r+4>>2]}b=v[l>>2];v[l>>2]=((e|0)==(b>>>31|0)?k:A)+b;s=v[j>>2]|1048576<>2]=s;e=v[d+128>>2]}p=p+1|0;b=e;if(p>>>0>>0){continue}break}}j=j+4|0;n=n+4|0;q=q+1|0;if((M|0)!=(q|0)){continue}break};break Sa;case 2:break Ta;default:break Sa}}A=0;M=0;D=0;be:{ce:{de:{N=v[d+124>>2];if(!((N|0)!=64|v[d+128>>2]!=64)){b=1<>>1|b;p=0-M|0;r=d+100|0;k=d+96|0;e=v[d+120>>2]+268|0;g=v[d+8>>2];b=v[d+4>>2];c=v[d>>2];n=v[d+104>>2];f=v[d+116>>2];if(S&8){break de}while(1){D=0;while(1){j=f;o=e;ee:{fe:{ge:{he:{e=v[e>>2];ie:{if(!e){n=v[k>>2];e=v[n>>2];b=b-e|0;je:{if(c>>>16>>>0>>0){i=v[n+4>>2];f=b>>>0>>0;v[k>>2]=v[n+(f?8:12)>>2];while(1){ke:{if(g){break ke}n=v[d+16>>2];b=n+1|0;l=w[n+1|0];if(w[n|0]==255){if(l>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break ke}v[d+16>>2]=b;c=(l<<9)+c|0;g=7;break ke}v[d+16>>2]=b;g=8;c=(l<<8)+c|0}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;e=f?i:!i;break je}c=c-(e<<16)|0;if(!(b&32768)){i=v[n+4>>2];e=b>>>0>>0;v[k>>2]=v[n+(e?12:8)>>2];while(1){le:{if(g){break le}n=v[d+16>>2];f=n+1|0;l=w[n+1|0];if(w[n|0]==255){if(l>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break le}v[d+16>>2]=f;c=(l<<9)+c|0;g=7;break le}v[d+16>>2]=f;g=8;c=(l<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}e=e?!i:i;break je}e=v[n+4>>2]}if(!e){n=k;break ee}f=v[r>>2];e=v[f>>2];b=b-e|0;me:{if(c>>>16>>>0>>0){l=v[f+4>>2];n=b>>>0>>0;f=v[(n?8:12)+f>>2];v[r>>2]=f;while(1){ne:{if(g){break ne}i=v[d+16>>2];b=i+1|0;h=w[i+1|0];if(w[i|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break ne}v[d+16>>2]=b;c=(h<<9)+c|0;g=7;break ne}v[d+16>>2]=b;g=8;c=(h<<8)+c|0}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;i=n?l:!l;break me}c=c-(e<<16)|0;if(!(b&32768)){l=v[f+4>>2];e=b>>>0>>0;f=v[(e?12:8)+f>>2];v[r>>2]=f;while(1){oe:{if(g){break oe}i=v[d+16>>2];n=i+1|0;h=w[i+1|0];if(w[i|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break oe}v[d+16>>2]=n;c=(h<<9)+c|0;g=7;break oe}v[d+16>>2]=n;g=8;c=(h<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}i=e?!l:l;break me}i=v[f+4>>2]}e=v[f>>2];b=b-e|0;pe:{if(c>>>16>>>0>>0){l=v[f+4>>2];n=f;f=b>>>0>>0;v[r>>2]=v[n+(f?8:12)>>2];while(1){qe:{if(g){break qe}n=v[d+16>>2];b=n+1|0;h=w[n+1|0];if(w[n|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break qe}v[d+16>>2]=b;c=(h<<9)+c|0;g=7;break qe}v[d+16>>2]=b;g=8;c=(h<<8)+c|0}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;f=f?l:!l;break pe}c=c-(e<<16)|0;if(!(b&32768)){l=v[f+4>>2];e=b>>>0>>0;v[r>>2]=v[(e?12:8)+f>>2];while(1){re:{if(g){break re}n=v[d+16>>2];f=n+1|0;h=w[n+1|0];if(w[n|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break re}v[d+16>>2]=f;c=(h<<9)+c|0;g=7;break re}v[d+16>>2]=f;g=8;c=(h<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=e?!l:l;break pe}f=v[f+4>>2]}e=0;n=r;se:{te:{ue:{ve:{we:{switch(f|i<<1){case 0:h=o-4|0;n=v[o+4>>2]>>>17&4|v[h>>2]>>>19&1;f=(w[n+38736|0]<<2)+d|0;i=v[f+28>>2];e=v[i>>2];b=b-e|0;xe:{if(c>>>16>>>0>>0){l=v[i+4>>2];s=f;f=b>>>0>>0;v[s+28>>2]=v[i+(f?8:12)>>2];while(1){ye:{if(g){break ye}i=v[d+16>>2];b=i+1|0;m=w[i+1|0];if(w[i|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break ye}v[d+16>>2]=b;c=(m<<9)+c|0;g=7;break ye}v[d+16>>2]=b;g=8;c=(m<<8)+c|0}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;e=f?l:!l;break xe}c=c-(e<<16)|0;if(!(b&32768)){l=v[i+4>>2];e=b>>>0>>0;v[f+28>>2]=v[i+(e?12:8)>>2];while(1){ze:{if(g){break ze}i=v[d+16>>2];f=i+1|0;m=w[i+1|0];if(w[i|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break ze}v[d+16>>2]=f;c=(m<<9)+c|0;g=7;break ze}v[d+16>>2]=f;g=8;c=(m<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}e=e?!l:l;break xe}e=v[i+4>>2]}f=e^w[n+38992|0];v[j>>2]=f?p:M;v[h>>2]=v[h>>2]|32;v[o+4>>2]=v[o+4>>2]|8;e=o-268|0;v[e>>2]=v[e>>2]|131072;e=o-260|0;v[e>>2]=v[e>>2]|32768;e=o-264|0;v[e>>2]=v[e>>2]|f<<31|65536;n=f<<19;f=(w[v[d+108>>2]+2|0]<<2)+d|0;i=v[f+28>>2];e=v[i>>2];b=b-e|0;Ae:{if(c>>>16>>>0>>0){l=v[i+4>>2];s=f;f=b>>>0>>0;v[s+28>>2]=v[i+(f?8:12)>>2];while(1){Be:{if(g){break Be}i=v[d+16>>2];b=i+1|0;h=w[i+1|0];if(w[i|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Be}v[d+16>>2]=b;c=(h<<9)+c|0;g=7;break Be}v[d+16>>2]=b;g=8;c=(h<<8)+c|0}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;f=f?l:!l;break Ae}c=c-(e<<16)|0;if(!(b&32768)){l=v[i+4>>2];e=b>>>0>>0;v[f+28>>2]=v[i+(e?12:8)>>2];while(1){Ce:{if(g){break Ce}i=v[d+16>>2];f=i+1|0;h=w[i+1|0];if(w[i|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Ce}v[d+16>>2]=f;c=(h<<9)+c|0;g=7;break Ce}v[d+16>>2]=f;g=8;c=(h<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=e?!l:l;break Ae}f=v[i+4>>2]}e=n|16;if(!f){break ve}break;case 3:break se;case 2:break ue;case 1:break we;default:break fe}}m=o-4|0;i=v[o+4>>2]>>>20&4|(v[m>>2]>>>22&1|(e>>>15&16|(e>>>19&64|e>>>3&170)));n=(w[i+38736|0]<<2)+d|0;l=v[n+28>>2];f=v[l>>2];b=b-f|0;De:{if(c>>>16>>>0>>0){h=v[l+4>>2];s=n;n=b>>>0>>0;v[s+28>>2]=v[l+(n?8:12)>>2];while(1){Ee:{if(g){break Ee}l=v[d+16>>2];b=l+1|0;q=w[l+1|0];if(w[l|0]==255){if(q>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Ee}v[d+16>>2]=b;c=(q<<9)+c|0;g=7;break Ee}v[d+16>>2]=b;g=8;c=(q<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=n?h:!h;break De}c=c-(f<<16)|0;if(!(b&32768)){h=v[l+4>>2];f=b>>>0>>0;v[n+28>>2]=v[l+(f?12:8)>>2];while(1){Fe:{if(g){break Fe}l=v[d+16>>2];n=l+1|0;q=w[l+1|0];if(w[l|0]==255){if(q>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Fe}v[d+16>>2]=n;c=(q<<9)+c|0;g=7;break Fe}v[d+16>>2]=n;g=8;c=(q<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!h:h;break De}f=v[l+4>>2]}f=f^w[i+38992|0];v[j+256>>2]=f?p:M;v[m>>2]=v[m>>2]|256;v[o+4>>2]=v[o+4>>2]|64;e=f<<22|e|128}n=(w[v[d+108>>2]+(e>>>6&495)|0]<<2)+d|0;i=v[n+28>>2];f=v[i>>2];b=b-f|0;Ge:{if(c>>>16>>>0>>0){l=v[i+4>>2];s=n;n=b>>>0>>0;v[s+28>>2]=v[i+(n?8:12)>>2];while(1){He:{if(g){break He}i=v[d+16>>2];b=i+1|0;h=w[i+1|0];if(w[i|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break He}v[d+16>>2]=b;c=(h<<9)+c|0;g=7;break He}v[d+16>>2]=b;g=8;c=(h<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=n?l:!l;break Ge}c=c-(f<<16)|0;if(!(b&32768)){l=v[i+4>>2];f=b>>>0>>0;v[n+28>>2]=v[i+(f?12:8)>>2];while(1){Ie:{if(g){break Ie}i=v[d+16>>2];n=i+1|0;h=w[i+1|0];if(w[i|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Ie}v[d+16>>2]=n;c=(h<<9)+c|0;g=7;break Ie}v[d+16>>2]=n;g=8;c=(h<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!l:l;break Ge}f=v[i+4>>2]}if(!f){break te}}m=o-4|0;i=v[o+4>>2]>>>23&4|(v[m>>2]>>>25&1|(e>>>18&16|(e>>>22&64|e>>>6&170)));n=(w[i+38736|0]<<2)+d|0;l=v[n+28>>2];f=v[l>>2];b=b-f|0;Je:{if(c>>>16>>>0>>0){h=v[l+4>>2];s=n;n=b>>>0>>0;v[s+28>>2]=v[l+(n?8:12)>>2];while(1){Ke:{if(g){break Ke}l=v[d+16>>2];b=l+1|0;q=w[l+1|0];if(w[l|0]==255){if(q>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Ke}v[d+16>>2]=b;c=(q<<9)+c|0;g=7;break Ke}v[d+16>>2]=b;g=8;c=(q<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=n?h:!h;break Je}c=c-(f<<16)|0;if(!(b&32768)){h=v[l+4>>2];f=b>>>0>>0;v[n+28>>2]=v[l+(f?12:8)>>2];while(1){Le:{if(g){break Le}l=v[d+16>>2];n=l+1|0;q=w[l+1|0];if(w[l|0]==255){if(q>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Le}v[d+16>>2]=n;c=(q<<9)+c|0;g=7;break Le}v[d+16>>2]=n;g=8;c=(q<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!h:h;break Je}f=v[l+4>>2]}f=f^w[i+38992|0];v[j+512>>2]=f?p:M;v[m>>2]=v[m>>2]|2048;v[o+4>>2]=v[o+4>>2]|512;e=f<<25|e|1024}i=(w[v[d+108>>2]+(e>>>9&495)|0]<<2)+d|0;n=i+28|0;l=v[n>>2];f=v[l>>2];b=b-f|0;Me:{if(c>>>16>>>0>>0){h=v[l+4>>2];s=i;i=b>>>0>>0;v[s+28>>2]=v[l+(i?8:12)>>2];while(1){Ne:{if(g){break Ne}l=v[d+16>>2];b=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Ne}v[d+16>>2]=b;c=(m<<9)+c|0;g=7;break Ne}v[d+16>>2]=b;g=8;c=(m<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=i?h:!h;break Me}c=c-(f<<16)|0;if(!(b&32768)){h=v[l+4>>2];f=b>>>0>>0;v[i+28>>2]=v[l+(f?12:8)>>2];while(1){Oe:{if(g){break Oe}l=v[d+16>>2];i=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Oe}v[d+16>>2]=i;c=(m<<9)+c|0;g=7;break Oe}v[d+16>>2]=i;g=8;c=(m<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!h:h;break Me}f=v[l+4>>2]}if(!f){break fe}}q=o-4|0;I=v[o+4>>2]>>>26&4|(v[q>>2]>>>28&1|(e>>>21&16|(e>>>25&64|e>>>9&170)));l=(w[I+38736|0]<<2)+d|0;n=l+28|0;i=v[n>>2];f=v[i>>2];b=b-f|0;if(c>>>16>>>0>>0){h=v[i+4>>2];s=i;i=b>>>0>>0;v[l+28>>2]=v[s+(i?8:12)>>2];while(1){Pe:{if(g){break Pe}l=v[d+16>>2];b=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Pe}v[d+16>>2]=b;c=(m<<9)+c|0;g=7;break Pe}v[d+16>>2]=b;g=8;c=(m<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=i?h:!h;break ge}c=c-(f<<16)|0;if(b&32768){break ie}h=v[i+4>>2];f=b>>>0>>0;v[l+28>>2]=v[(f?12:8)+i>>2];while(1){Qe:{if(g){break Qe}l=v[d+16>>2];i=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Qe}v[d+16>>2]=i;c=(m<<9)+c|0;g=7;break Qe}v[d+16>>2]=i;g=8;c=(m<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!h:h;break ge}Re:{if(e&2097168){break Re}i=(w[v[d+108>>2]+(e&495)|0]<<2)+d|0;n=i+28|0;l=v[n>>2];f=v[l>>2];b=b-f|0;Se:{if(c>>>16>>>0>>0){h=v[l+4>>2];s=i;i=b>>>0>>0;v[s+28>>2]=v[l+(i?8:12)>>2];while(1){Te:{if(g){break Te}l=v[d+16>>2];b=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Te}v[d+16>>2]=b;c=(m<<9)+c|0;g=7;break Te}v[d+16>>2]=b;g=8;c=(m<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=i?h:!h;break Se}c=c-(f<<16)|0;if(!(b&32768)){h=v[l+4>>2];f=b>>>0>>0;v[i+28>>2]=v[l+(f?12:8)>>2];while(1){Ue:{if(g){break Ue}l=v[d+16>>2];i=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Ue}v[d+16>>2]=i;c=(m<<9)+c|0;g=7;break Ue}v[d+16>>2]=i;g=8;c=(m<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!h:h;break Se}f=v[l+4>>2]}if(!f){break Re}q=o-4|0;l=v[o+4>>2]>>>17&4|(v[q>>2]>>>19&1|(e>>>14&16|(e>>>16&64|e&170)));i=(w[l+38736|0]<<2)+d|0;n=i+28|0;h=v[n>>2];f=v[h>>2];b=b-f|0;Ve:{if(c>>>16>>>0>>0){m=v[h+4>>2];s=i;i=b>>>0>>0;v[s+28>>2]=v[h+(i?8:12)>>2];while(1){We:{if(g){break We}h=v[d+16>>2];b=h+1|0;s=w[h+1|0];if(w[h|0]==255){if(s>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break We}v[d+16>>2]=b;c=(s<<9)+c|0;g=7;break We}v[d+16>>2]=b;g=8;c=(s<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=i?m:!m;break Ve}c=c-(f<<16)|0;if(!(b&32768)){m=v[h+4>>2];f=b>>>0>>0;v[i+28>>2]=v[h+(f?12:8)>>2];while(1){Xe:{if(g){break Xe}h=v[d+16>>2];i=h+1|0;s=w[h+1|0];if(w[h|0]==255){if(s>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Xe}v[d+16>>2]=i;c=(s<<9)+c|0;g=7;break Xe}v[d+16>>2]=i;g=8;c=(s<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!m:m;break Ve}f=v[h+4>>2]}i=f^w[l+38992|0];v[j>>2]=i?p:M;v[q>>2]=v[q>>2]|32;v[o+4>>2]=v[o+4>>2]|8;f=o-268|0;v[f>>2]=v[f>>2]|131072;f=o-260|0;v[f>>2]=v[f>>2]|32768;f=o-264|0;v[f>>2]=v[f>>2]|i<<31|65536;e=i<<19|e|16}Ye:{if(e&16777344){break Ye}l=e>>>3|0;i=(w[v[d+108>>2]+(l&495)|0]<<2)+d|0;n=i+28|0;h=v[n>>2];f=v[h>>2];b=b-f|0;Ze:{if(c>>>16>>>0>>0){m=v[h+4>>2];s=i;i=b>>>0>>0;v[s+28>>2]=v[h+(i?8:12)>>2];while(1){_e:{if(g){break _e}h=v[d+16>>2];b=h+1|0;q=w[h+1|0];if(w[h|0]==255){if(q>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break _e}v[d+16>>2]=b;c=(q<<9)+c|0;g=7;break _e}v[d+16>>2]=b;g=8;c=(q<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=i?m:!m;break Ze}c=c-(f<<16)|0;if(!(b&32768)){m=v[h+4>>2];f=b>>>0>>0;v[i+28>>2]=v[h+(f?12:8)>>2];while(1){$e:{if(g){break $e}h=v[d+16>>2];i=h+1|0;q=w[h+1|0];if(w[h|0]==255){if(q>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break $e}v[d+16>>2]=i;c=(q<<9)+c|0;g=7;break $e}v[d+16>>2]=i;g=8;c=(q<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!m:m;break Ze}f=v[h+4>>2]}if(!f){break Ye}q=o-4|0;l=v[o+4>>2]>>>20&4|(v[q>>2]>>>22&1|(e>>>15&16|(e>>>19&64|l&170)));i=(w[l+38736|0]<<2)+d|0;n=i+28|0;h=v[n>>2];f=v[h>>2];b=b-f|0;af:{if(c>>>16>>>0>>0){m=v[h+4>>2];s=i;i=b>>>0>>0;v[s+28>>2]=v[h+(i?8:12)>>2];while(1){bf:{if(g){break bf}h=v[d+16>>2];b=h+1|0;s=w[h+1|0];if(w[h|0]==255){if(s>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break bf}v[d+16>>2]=b;c=(s<<9)+c|0;g=7;break bf}v[d+16>>2]=b;g=8;c=(s<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=i?m:!m;break af}c=c-(f<<16)|0;if(!(b&32768)){m=v[h+4>>2];f=b>>>0>>0;v[i+28>>2]=v[h+(f?12:8)>>2];while(1){cf:{if(g){break cf}h=v[d+16>>2];i=h+1|0;s=w[h+1|0];if(w[h|0]==255){if(s>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break cf}v[d+16>>2]=i;c=(s<<9)+c|0;g=7;break cf}v[d+16>>2]=i;g=8;c=(s<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!m:m;break af}f=v[h+4>>2]}f=f^w[l+38992|0];v[j+256>>2]=f?p:M;v[q>>2]=v[q>>2]|256;v[o+4>>2]=v[o+4>>2]|64;e=f<<22|e|128}df:{if(e&134218752){break df}l=e>>>6|0;i=(w[v[d+108>>2]+(l&495)|0]<<2)+d|0;n=i+28|0;h=v[n>>2];f=v[h>>2];b=b-f|0;ef:{if(c>>>16>>>0>>0){m=v[h+4>>2];s=i;i=b>>>0>>0;v[s+28>>2]=v[h+(i?8:12)>>2];while(1){ff:{if(g){break ff}h=v[d+16>>2];b=h+1|0;q=w[h+1|0];if(w[h|0]==255){if(q>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break ff}v[d+16>>2]=b;c=(q<<9)+c|0;g=7;break ff}v[d+16>>2]=b;g=8;c=(q<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=i?m:!m;break ef}c=c-(f<<16)|0;if(!(b&32768)){m=v[h+4>>2];f=b>>>0>>0;v[i+28>>2]=v[h+(f?12:8)>>2];while(1){gf:{if(g){break gf}h=v[d+16>>2];i=h+1|0;q=w[h+1|0];if(w[h|0]==255){if(q>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break gf}v[d+16>>2]=i;c=(q<<9)+c|0;g=7;break gf}v[d+16>>2]=i;g=8;c=(q<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!m:m;break ef}f=v[h+4>>2]}if(!f){break df}q=o-4|0;l=v[o+4>>2]>>>23&4|(v[q>>2]>>>25&1|(e>>>18&16|(e>>>22&64|l&170)));i=(w[l+38736|0]<<2)+d|0;n=i+28|0;h=v[n>>2];f=v[h>>2];b=b-f|0;hf:{if(c>>>16>>>0>>0){m=v[h+4>>2];s=i;i=b>>>0>>0;v[s+28>>2]=v[h+(i?8:12)>>2];while(1){jf:{if(g){break jf}h=v[d+16>>2];b=h+1|0;s=w[h+1|0];if(w[h|0]==255){if(s>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break jf}v[d+16>>2]=b;c=(s<<9)+c|0;g=7;break jf}v[d+16>>2]=b;g=8;c=(s<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=i?m:!m;break hf}c=c-(f<<16)|0;if(!(b&32768)){m=v[h+4>>2];f=b>>>0>>0;v[i+28>>2]=v[h+(f?12:8)>>2];while(1){kf:{if(g){break kf}h=v[d+16>>2];i=h+1|0;s=w[h+1|0];if(w[h|0]==255){if(s>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break kf}v[d+16>>2]=i;c=(s<<9)+c|0;g=7;break kf}v[d+16>>2]=i;g=8;c=(s<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!m:m;break hf}f=v[h+4>>2]}f=f^w[l+38992|0];v[j+512>>2]=f?p:M;v[q>>2]=v[q>>2]|2048;v[o+4>>2]=v[o+4>>2]|512;e=f<<25|e|1024}if(e&1073750016){break fe}i=b;l=e>>>9|0;b=(w[v[d+108>>2]+(l&495)|0]<<2)+d|0;n=b+28|0;h=v[n>>2];f=v[h>>2];i=i-f|0;lf:{if(c>>>16>>>0>>0){m=v[h+4>>2];s=b;b=f>>>0>i>>>0;v[s+28>>2]=v[h+(b?8:12)>>2];while(1){mf:{if(g){break mf}h=v[d+16>>2];i=h+1|0;q=w[h+1|0];if(w[h|0]==255){if(q>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break mf}v[d+16>>2]=i;c=(q<<9)+c|0;g=7;break mf}v[d+16>>2]=i;g=8;c=(q<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}i=f;b=b?m:!m;break lf}c=c-(f<<16)|0;if(!(i&32768)){m=v[h+4>>2];s=b;b=f>>>0>i>>>0;v[s+28>>2]=v[h+(b?12:8)>>2];while(1){nf:{if(g){break nf}h=v[d+16>>2];f=h+1|0;q=w[h+1|0];if(w[h|0]==255){if(q>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break nf}v[d+16>>2]=f;c=(q<<9)+c|0;g=7;break nf}v[d+16>>2]=f;g=8;c=(q<<8)+c|0}g=g-1|0;c=c<<1;i=i<<1;if(i>>>0<32768){continue}break}b=b?!m:m;break lf}b=v[h+4>>2]}if(!b){b=i;break fe}f=i;q=o-4|0;I=v[o+4>>2]>>>26&4|(v[q>>2]>>>28&1|(e>>>21&16|(e>>>25&64|l&170)));l=(w[I+38736|0]<<2)+d|0;n=l+28|0;i=v[n>>2];b=v[i>>2];f=f-b|0;if(c>>>16>>>0>>0){h=v[i+4>>2];f=b>>>0>f>>>0;v[l+28>>2]=v[(f?8:12)+i>>2];while(1){of:{if(g){break of}l=v[d+16>>2];i=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break of}v[d+16>>2]=i;c=(m<<9)+c|0;g=7;break of}v[d+16>>2]=i;g=8;c=(m<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?h:!h;break ge}c=c-(b<<16)|0;if(!(f&32768)){break he}b=f}f=v[i+4>>2];break ge}h=v[i+4>>2];s=i;i=b>>>0>f>>>0;v[l+28>>2]=v[s+(i?12:8)>>2];while(1){pf:{if(g){break pf}l=v[d+16>>2];b=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break pf}v[d+16>>2]=b;c=(m<<9)+c|0;g=7;break pf}v[d+16>>2]=b;g=8;c=(m<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=i?!h:h}f=f^w[I+38992|0];v[j+768>>2]=f?p:M;v[q>>2]=v[q>>2]|16384;v[o+4>>2]=v[o+4>>2]|4096;v[o+260>>2]=v[o+260>>2]|4;v[o+268>>2]=v[o+268>>2]|1;v[o+264>>2]=v[o+264>>2]|f<<18|2;e=f<<28|e|8192}v[o>>2]=e&-1226833921}e=o+4|0;f=j+4|0;D=D+1|0;if((D|0)!=64){continue}break}e=o+12|0;f=j+772|0;i=A>>>0<60;A=A+4|0;if(i){continue}break}break ce}b=1<>>1|b;k=v[d+120>>2];n=(k+(N<<2)|0)+12|0;e=v[d+128>>2];g=v[d+8>>2];b=v[d+4>>2];c=v[d>>2];i=v[d+104>>2];f=v[d+116>>2];qf:{rf:{if(S&8){if(e>>>0<4){break qf}if(!N){break rf}o=d+100|0;r=d+96|0;p=B(N,3);s=N<<1;F=0-P|0;while(1){V=0;while(1){sf:{tf:{uf:{vf:{l=n;n=v[l>>2];if(n){wf:{if(n&2097168){break wf}k=(w[v[d+108>>2]+(n&495)|0]<<2)+d|0;i=k+28|0;j=v[i>>2];e=v[j>>2];b=b-e|0;xf:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;h=v[j+4>>2];if(b&32768){break xf}h=v[j+4>>2];e=b>>>0>>0;v[k+28>>2]=v[j+(e?12:8)>>2];while(1){yf:{if(g){break yf}j=v[d+16>>2];k=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=k;g=8;c=(m<<8)+c|0;break yf}if(m>>>0<=143){v[d+16>>2]=k;c=(m<<9)+c|0;g=7;break yf}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}h=e?!h:h;break xf}h=v[j+4>>2];m=k;k=b>>>0>>0;v[m+28>>2]=v[j+(k?8:12)>>2];while(1){zf:{if(g){break zf}j=v[d+16>>2];b=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=b;g=8;c=(m<<8)+c|0;break zf}if(m>>>0<=143){v[d+16>>2]=b;c=(m<<9)+c|0;g=7;break zf}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;h=k?h:!h}if(!h){break wf}q=l-4|0;j=v[l+4>>2]>>>17&4|(v[q>>2]>>>19&1|(n>>>14&16|(n>>>16&64|n&170)));k=(w[j+38736|0]<<2)+d|0;i=k+28|0;h=v[i>>2];e=v[h>>2];b=b-e|0;Af:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;m=v[h+4>>2];if(b&32768){break Af}m=v[h+4>>2];e=b>>>0>>0;v[k+28>>2]=v[h+(e?12:8)>>2];while(1){Bf:{if(g){break Bf}h=v[d+16>>2];k=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=k;g=8;c=(A<<8)+c|0;break Bf}if(A>>>0<=143){v[d+16>>2]=k;c=(A<<9)+c|0;g=7;break Bf}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}m=e?!m:m;break Af}m=v[h+4>>2];A=k;k=b>>>0>>0;v[A+28>>2]=v[h+(k?8:12)>>2];while(1){Cf:{if(g){break Cf}h=v[d+16>>2];b=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=b;g=8;c=(A<<8)+c|0;break Cf}if(A>>>0<=143){v[d+16>>2]=b;c=(A<<9)+c|0;g=7;break Cf}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;m=k?m:!m}e=m;e=e^w[j+38992|0];v[f>>2]=e?F:P;v[q>>2]=v[q>>2]|32;v[l+4>>2]=v[l+4>>2]|8;n=e<<19|n|16}Df:{if(n&16777344){break Df}j=n>>>3|0;k=(w[v[d+108>>2]+(j&495)|0]<<2)+d|0;i=k+28|0;h=v[i>>2];e=v[h>>2];b=b-e|0;Ef:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;m=v[h+4>>2];if(b&32768){break Ef}m=v[h+4>>2];e=b>>>0>>0;v[k+28>>2]=v[h+(e?12:8)>>2];while(1){Ff:{if(g){break Ff}h=v[d+16>>2];k=h+1|0;q=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=k;g=8;c=(q<<8)+c|0;break Ff}if(q>>>0<=143){v[d+16>>2]=k;c=(q<<9)+c|0;g=7;break Ff}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}m=e?!m:m;break Ef}m=v[h+4>>2];A=k;k=b>>>0>>0;v[A+28>>2]=v[h+(k?8:12)>>2];while(1){Gf:{if(g){break Gf}h=v[d+16>>2];b=h+1|0;q=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=b;g=8;c=(q<<8)+c|0;break Gf}if(q>>>0<=143){v[d+16>>2]=b;c=(q<<9)+c|0;g=7;break Gf}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;m=k?m:!m}if(!m){break Df}q=l-4|0;j=v[l+4>>2]>>>20&4|(v[q>>2]>>>22&1|(n>>>15&16|(n>>>19&64|j&170)));k=(w[j+38736|0]<<2)+d|0;i=k+28|0;h=v[i>>2];e=v[h>>2];b=b-e|0;Hf:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;m=v[h+4>>2];if(b&32768){break Hf}m=v[h+4>>2];e=b>>>0>>0;v[k+28>>2]=v[h+(e?12:8)>>2];while(1){If:{if(g){break If}h=v[d+16>>2];k=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=k;g=8;c=(A<<8)+c|0;break If}if(A>>>0<=143){v[d+16>>2]=k;c=(A<<9)+c|0;g=7;break If}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}m=e?!m:m;break Hf}m=v[h+4>>2];A=k;k=b>>>0>>0;v[A+28>>2]=v[h+(k?8:12)>>2];while(1){Jf:{if(g){break Jf}h=v[d+16>>2];b=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=b;g=8;c=(A<<8)+c|0;break Jf}if(A>>>0<=143){v[d+16>>2]=b;c=(A<<9)+c|0;g=7;break Jf}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;m=k?m:!m}e=m;e=e^w[j+38992|0];v[(N<<2)+f>>2]=e?F:P;v[q>>2]=v[q>>2]|256;v[l+4>>2]=v[l+4>>2]|64;n=e<<22|n|128}Kf:{if(n&134218752){break Kf}j=n>>>6|0;k=(w[v[d+108>>2]+(j&495)|0]<<2)+d|0;i=k+28|0;h=v[i>>2];e=v[h>>2];b=b-e|0;Lf:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;m=v[h+4>>2];if(b&32768){break Lf}m=v[h+4>>2];e=b>>>0>>0;v[k+28>>2]=v[h+(e?12:8)>>2];while(1){Mf:{if(g){break Mf}h=v[d+16>>2];k=h+1|0;q=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=k;g=8;c=(q<<8)+c|0;break Mf}if(q>>>0<=143){v[d+16>>2]=k;c=(q<<9)+c|0;g=7;break Mf}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}m=e?!m:m;break Lf}m=v[h+4>>2];A=k;k=b>>>0>>0;v[A+28>>2]=v[h+(k?8:12)>>2];while(1){Nf:{if(g){break Nf}h=v[d+16>>2];b=h+1|0;q=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=b;g=8;c=(q<<8)+c|0;break Nf}if(q>>>0<=143){v[d+16>>2]=b;c=(q<<9)+c|0;g=7;break Nf}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;m=k?m:!m}if(!m){break Kf}q=l-4|0;j=v[l+4>>2]>>>23&4|(v[q>>2]>>>25&1|(n>>>18&16|(n>>>22&64|j&170)));k=(w[j+38736|0]<<2)+d|0;i=k+28|0;h=v[i>>2];e=v[h>>2];b=b-e|0;Of:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;m=v[h+4>>2];if(b&32768){break Of}m=v[h+4>>2];e=b>>>0>>0;v[k+28>>2]=v[h+(e?12:8)>>2];while(1){Pf:{if(g){break Pf}h=v[d+16>>2];k=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=k;g=8;c=(A<<8)+c|0;break Pf}if(A>>>0<=143){v[d+16>>2]=k;c=(A<<9)+c|0;g=7;break Pf}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}m=e?!m:m;break Of}m=v[h+4>>2];A=k;k=b>>>0>>0;v[A+28>>2]=v[h+(k?8:12)>>2];while(1){Qf:{if(g){break Qf}h=v[d+16>>2];b=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=b;g=8;c=(A<<8)+c|0;break Qf}if(A>>>0<=143){v[d+16>>2]=b;c=(A<<9)+c|0;g=7;break Qf}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;m=k?m:!m}e=m;e=e^w[j+38992|0];v[(s<<2)+f>>2]=e?F:P;v[q>>2]=v[q>>2]|2048;v[l+4>>2]=v[l+4>>2]|512;n=e<<25|n|1024}if(n&1073750016){break tf}j=b;k=n>>>9|0;b=(w[v[d+108>>2]+(k&495)|0]<<2)+d|0;i=b+28|0;h=v[i>>2];e=v[h>>2];j=j-e|0;Rf:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;m=v[h+4>>2];if(j&32768){break Rf}m=v[h+4>>2];A=b;b=e>>>0>j>>>0;v[A+28>>2]=v[h+(b?12:8)>>2];while(1){Sf:{if(g){break Sf}h=v[d+16>>2];e=h+1|0;q=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=e;g=8;c=(q<<8)+c|0;break Sf}if(q>>>0<=143){v[d+16>>2]=e;c=(q<<9)+c|0;g=7;break Sf}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;j=j<<1;if(j>>>0<32768){continue}break}m=b?!m:m;break Rf}m=v[h+4>>2];A=b;b=e>>>0>j>>>0;v[A+28>>2]=v[h+(b?8:12)>>2];while(1){Tf:{if(g){break Tf}h=v[d+16>>2];j=h+1|0;q=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=j;g=8;c=(q<<8)+c|0;break Tf}if(q>>>0<=143){v[d+16>>2]=j;c=(q<<9)+c|0;g=7;break Tf}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}j=e;m=b?m:!m}if(!m){b=j;break tf}e=j;q=l-4|0;A=v[l+4>>2]>>>26&4|(v[q>>2]>>>28&1|(n>>>21&16|(n>>>25&64|k&170)));k=(w[A+38736|0]<<2)+d|0;i=k+28|0;j=v[i>>2];b=v[j>>2];e=e-b|0;if(c>>>16>>>0>=b>>>0){c=c-(b<<16)|0;if(e&32768){b=e;break vf}h=v[j+4>>2];m=k;k=b>>>0>e>>>0;v[m+28>>2]=v[(k?12:8)+j>>2];while(1){Uf:{if(g){break Uf}j=v[d+16>>2];b=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=b;g=8;c=(m<<8)+c|0;break Uf}if(m>>>0<=143){v[d+16>>2]=b;c=(m<<9)+c|0;g=7;break Uf}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;e=k?!h:h;break uf}h=v[j+4>>2];e=b>>>0>e>>>0;v[k+28>>2]=v[(e?8:12)+j>>2];while(1){Vf:{if(g){break Vf}j=v[d+16>>2];k=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=k;g=8;c=(m<<8)+c|0;break Vf}if(m>>>0<=143){v[d+16>>2]=k;c=(m<<9)+c|0;g=7;break Vf}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}e=e?h:!h;break uf}k=v[r>>2];n=v[k>>2];b=b-n|0;Wf:{if(c>>>16>>>0>=n>>>0){c=c-(n<<16)|0;e=v[k+4>>2];if(b&32768){break Wf}i=v[k+4>>2];e=b>>>0>>0;v[r>>2]=v[k+(e?12:8)>>2];while(1){Xf:{if(g){break Xf}k=v[d+16>>2];n=k+1|0;j=w[k+1|0];if(w[k|0]!=255){v[d+16>>2]=n;g=8;c=(j<<8)+c|0;break Xf}if(j>>>0<=143){v[d+16>>2]=n;c=(j<<9)+c|0;g=7;break Xf}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}e=e?!i:i;break Wf}i=v[k+4>>2];e=b>>>0>>0;v[r>>2]=v[k+(e?8:12)>>2];while(1){Yf:{if(g){break Yf}k=v[d+16>>2];b=k+1|0;j=w[k+1|0];if(w[k|0]!=255){v[d+16>>2]=b;g=8;c=(j<<8)+c|0;break Yf}if(j>>>0<=143){v[d+16>>2]=b;c=(j<<9)+c|0;g=7;break Yf}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;n=n<<1;if(n>>>0<32768){continue}break}b=n;e=e?i:!i}if(!e){i=r;break sf}e=v[o>>2];n=v[e>>2];b=b-n|0;Zf:{if(c>>>16>>>0>=n>>>0){c=c-(n<<16)|0;k=v[e+4>>2];if(b&32768){break Zf}j=v[e+4>>2];n=b>>>0>>0;e=v[(n?12:8)+e>>2];v[o>>2]=e;while(1){_f:{if(g){break _f}i=v[d+16>>2];k=i+1|0;h=w[i+1|0];if(w[i|0]!=255){v[d+16>>2]=k;g=8;c=(h<<8)+c|0;break _f}if(h>>>0<=143){v[d+16>>2]=k;c=(h<<9)+c|0;g=7;break _f}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}k=n?!j:j;break Zf}j=v[e+4>>2];k=b>>>0>>0;e=v[(k?8:12)+e>>2];v[o>>2]=e;while(1){$f:{if(g){break $f}i=v[d+16>>2];b=i+1|0;h=w[i+1|0];if(w[i|0]!=255){v[d+16>>2]=b;g=8;c=(h<<8)+c|0;break $f}if(h>>>0<=143){v[d+16>>2]=b;c=(h<<9)+c|0;g=7;break $f}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;n=n<<1;if(n>>>0<32768){continue}break}b=n;k=k?j:!j}n=v[e>>2];b=b-n|0;ag:{if(c>>>16>>>0>=n>>>0){c=c-(n<<16)|0;i=v[e+4>>2];if(b&32768){break ag}j=v[e+4>>2];i=e;e=b>>>0>>0;v[o>>2]=v[i+(e?12:8)>>2];while(1){bg:{if(g){break bg}i=v[d+16>>2];n=i+1|0;h=w[i+1|0];if(w[i|0]!=255){v[d+16>>2]=n;g=8;c=(h<<8)+c|0;break bg}if(h>>>0<=143){v[d+16>>2]=n;c=(h<<9)+c|0;g=7;break bg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}i=e?!j:j;break ag}j=v[e+4>>2];i=e;e=b>>>0>>0;v[o>>2]=v[i+(e?8:12)>>2];while(1){cg:{if(g){break cg}i=v[d+16>>2];b=i+1|0;h=w[i+1|0];if(w[i|0]!=255){v[d+16>>2]=b;g=8;c=(h<<8)+c|0;break cg}if(h>>>0<=143){v[d+16>>2]=b;c=(h<<9)+c|0;g=7;break cg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;n=n<<1;if(n>>>0<32768){continue}break}b=n;i=e?j:!j}e=i;n=0;i=o;dg:{eg:{fg:{gg:{hg:{switch(e|k<<1){case 0:h=l-4|0;k=v[l+4>>2]>>>17&4|v[h>>2]>>>19&1;e=(w[k+38736|0]<<2)+d|0;i=v[e+28>>2];n=v[i>>2];b=b-n|0;ig:{if(c>>>16>>>0>=n>>>0){c=c-(n<<16)|0;j=v[i+4>>2];if(b&32768){break ig}j=v[i+4>>2];m=e;e=b>>>0>>0;v[m+28>>2]=v[i+(e?12:8)>>2];while(1){jg:{if(g){break jg}i=v[d+16>>2];n=i+1|0;m=w[i+1|0];if(w[i|0]!=255){v[d+16>>2]=n;g=8;c=(m<<8)+c|0;break jg}if(m>>>0<=143){v[d+16>>2]=n;c=(m<<9)+c|0;g=7;break jg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}j=e?!j:j;break ig}j=v[i+4>>2];m=e;e=b>>>0>>0;v[m+28>>2]=v[i+(e?8:12)>>2];while(1){kg:{if(g){break kg}i=v[d+16>>2];b=i+1|0;m=w[i+1|0];if(w[i|0]!=255){v[d+16>>2]=b;g=8;c=(m<<8)+c|0;break kg}if(m>>>0<=143){v[d+16>>2]=b;c=(m<<9)+c|0;g=7;break kg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;n=n<<1;if(n>>>0<32768){continue}break}b=n;j=e?j:!j}e=j;e=e^w[k+38992|0];v[f>>2]=e?F:P;v[h>>2]=v[h>>2]|32;v[l+4>>2]=v[l+4>>2]|8;k=e<<19;e=(w[v[d+108>>2]+2|0]<<2)+d|0;i=v[e+28>>2];n=v[i>>2];b=b-n|0;lg:{if(c>>>16>>>0>=n>>>0){c=c-(n<<16)|0;j=v[i+4>>2];if(b&32768){break lg}j=v[i+4>>2];h=e;e=b>>>0>>0;v[h+28>>2]=v[i+(e?12:8)>>2];while(1){mg:{if(g){break mg}i=v[d+16>>2];n=i+1|0;h=w[i+1|0];if(w[i|0]!=255){v[d+16>>2]=n;g=8;c=(h<<8)+c|0;break mg}if(h>>>0<=143){v[d+16>>2]=n;c=(h<<9)+c|0;g=7;break mg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}j=e?!j:j;break lg}j=v[i+4>>2];h=e;e=b>>>0>>0;v[h+28>>2]=v[i+(e?8:12)>>2];while(1){ng:{if(g){break ng}i=v[d+16>>2];b=i+1|0;h=w[i+1|0];if(w[i|0]!=255){v[d+16>>2]=b;g=8;c=(h<<8)+c|0;break ng}if(h>>>0<=143){v[d+16>>2]=b;c=(h<<9)+c|0;g=7;break ng}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;n=n<<1;if(n>>>0<32768){continue}break}b=n;j=e?j:!j}e=j;n=k|16;if(!e){break gg}break;case 3:break dg;case 2:break fg;case 1:break hg;default:break tf}}m=l-4|0;i=v[l+4>>2]>>>20&4|(v[m>>2]>>>22&1|(n>>>15&16|(n>>>19&64|n>>>3&170)));k=(w[i+38736|0]<<2)+d|0;j=v[k+28>>2];e=v[j>>2];b=b-e|0;og:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;h=v[j+4>>2];if(b&32768){break og}h=v[j+4>>2];e=b>>>0>>0;v[k+28>>2]=v[j+(e?12:8)>>2];while(1){pg:{if(g){break pg}j=v[d+16>>2];k=j+1|0;q=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=k;g=8;c=(q<<8)+c|0;break pg}if(q>>>0<=143){v[d+16>>2]=k;c=(q<<9)+c|0;g=7;break pg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}h=e?!h:h;break og}h=v[j+4>>2];A=k;k=b>>>0>>0;v[A+28>>2]=v[j+(k?8:12)>>2];while(1){qg:{if(g){break qg}j=v[d+16>>2];b=j+1|0;q=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=b;g=8;c=(q<<8)+c|0;break qg}if(q>>>0<=143){v[d+16>>2]=b;c=(q<<9)+c|0;g=7;break qg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;h=k?h:!h}e=h;e=e^w[i+38992|0];v[(N<<2)+f>>2]=e?F:P;v[m>>2]=v[m>>2]|256;v[l+4>>2]=v[l+4>>2]|64;n=e<<22|n|128}k=(w[v[d+108>>2]+(n>>>6&495)|0]<<2)+d|0;i=v[k+28>>2];e=v[i>>2];b=b-e|0;rg:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;j=v[i+4>>2];if(b&32768){break rg}j=v[i+4>>2];e=b>>>0>>0;v[k+28>>2]=v[i+(e?12:8)>>2];while(1){sg:{if(g){break sg}i=v[d+16>>2];k=i+1|0;h=w[i+1|0];if(w[i|0]!=255){v[d+16>>2]=k;g=8;c=(h<<8)+c|0;break sg}if(h>>>0<=143){v[d+16>>2]=k;c=(h<<9)+c|0;g=7;break sg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}j=e?!j:j;break rg}j=v[i+4>>2];h=k;k=b>>>0>>0;v[h+28>>2]=v[i+(k?8:12)>>2];while(1){tg:{if(g){break tg}i=v[d+16>>2];b=i+1|0;h=w[i+1|0];if(w[i|0]!=255){v[d+16>>2]=b;g=8;c=(h<<8)+c|0;break tg}if(h>>>0<=143){v[d+16>>2]=b;c=(h<<9)+c|0;g=7;break tg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;j=k?j:!j}if(!j){break eg}}m=l-4|0;i=v[l+4>>2]>>>23&4|(v[m>>2]>>>25&1|(n>>>18&16|(n>>>22&64|n>>>6&170)));k=(w[i+38736|0]<<2)+d|0;j=v[k+28>>2];e=v[j>>2];b=b-e|0;ug:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;h=v[j+4>>2];if(b&32768){break ug}h=v[j+4>>2];e=b>>>0>>0;v[k+28>>2]=v[j+(e?12:8)>>2];while(1){vg:{if(g){break vg}j=v[d+16>>2];k=j+1|0;q=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=k;g=8;c=(q<<8)+c|0;break vg}if(q>>>0<=143){v[d+16>>2]=k;c=(q<<9)+c|0;g=7;break vg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}h=e?!h:h;break ug}h=v[j+4>>2];A=k;k=b>>>0>>0;v[A+28>>2]=v[j+(k?8:12)>>2];while(1){wg:{if(g){break wg}j=v[d+16>>2];b=j+1|0;q=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=b;g=8;c=(q<<8)+c|0;break wg}if(q>>>0<=143){v[d+16>>2]=b;c=(q<<9)+c|0;g=7;break wg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;h=k?h:!h}e=h;e=e^w[i+38992|0];v[(s<<2)+f>>2]=e?F:P;v[m>>2]=v[m>>2]|2048;v[l+4>>2]=v[l+4>>2]|512;n=e<<25|n|1024}k=(w[v[d+108>>2]+(n>>>9&495)|0]<<2)+d|0;i=k+28|0;j=v[i>>2];e=v[j>>2];b=b-e|0;xg:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;h=v[j+4>>2];if(b&32768){break xg}h=v[j+4>>2];e=b>>>0>>0;v[k+28>>2]=v[j+(e?12:8)>>2];while(1){yg:{if(g){break yg}j=v[d+16>>2];k=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=k;g=8;c=(m<<8)+c|0;break yg}if(m>>>0<=143){v[d+16>>2]=k;c=(m<<9)+c|0;g=7;break yg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}h=e?!h:h;break xg}h=v[j+4>>2];m=k;k=b>>>0>>0;v[m+28>>2]=v[j+(k?8:12)>>2];while(1){zg:{if(g){break zg}j=v[d+16>>2];b=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=b;g=8;c=(m<<8)+c|0;break zg}if(m>>>0<=143){v[d+16>>2]=b;c=(m<<9)+c|0;g=7;break zg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;h=k?h:!h}if(!h){break tf}}q=l-4|0;A=v[l+4>>2]>>>26&4|(v[q>>2]>>>28&1|(n>>>21&16|(n>>>25&64|n>>>9&170)));k=(w[A+38736|0]<<2)+d|0;i=k+28|0;j=v[i>>2];e=v[j>>2];b=b-e|0;if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;if(b&32768){break vf}h=v[j+4>>2];e=b>>>0>>0;v[k+28>>2]=v[(e?12:8)+j>>2];while(1){Ag:{if(g){break Ag}j=v[d+16>>2];k=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=k;g=8;c=(m<<8)+c|0;break Ag}if(m>>>0<=143){v[d+16>>2]=k;c=(m<<9)+c|0;g=7;break Ag}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}e=e?!h:h;break uf}h=v[j+4>>2];m=k;k=b>>>0>>0;v[m+28>>2]=v[(k?8:12)+j>>2];while(1){Bg:{if(g){break Bg}j=v[d+16>>2];b=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=b;g=8;c=(m<<8)+c|0;break Bg}if(m>>>0<=143){v[d+16>>2]=b;c=(m<<9)+c|0;g=7;break Bg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;e=k?h:!h;break uf}e=v[j+4>>2]}e=e^w[A+38992|0];v[(p<<2)+f>>2]=e?F:P;v[q>>2]=v[q>>2]|16384;v[l+4>>2]=v[l+4>>2]|4096;k=l+(v[d+124>>2]<<2)|0;v[k+4>>2]=v[k+4>>2]|4;v[k+12>>2]=v[k+12>>2]|1;v[k+8>>2]=v[k+8>>2]|e<<18|2;n=e<<28|n|8192}v[l>>2]=n&-1226833921}n=l+4|0;f=f+4|0;V=V+1|0;if((N|0)!=(V|0)){continue}break}n=l+12|0;f=(p<<2)+f|0;D=D+4|0;e=v[d+128>>2];if(D>>>0<(e&-4)>>>0){continue}break}break qf}Cg:{if(e>>>0<4){break Cg}if(N){o=d+100|0;r=d+96|0;p=B(N,3);s=N<<1;F=0-P|0;while(1){V=0;while(1){Dg:{Eg:{Fg:{Gg:{l=n;n=v[l>>2];if(n){Hg:{if(n&2097168){break Hg}k=(w[v[d+108>>2]+(n&495)|0]<<2)+d|0;i=k+28|0;j=v[i>>2];e=v[j>>2];b=b-e|0;Ig:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;h=v[j+4>>2];if(b&32768){break Ig}h=v[j+4>>2];e=b>>>0>>0;v[k+28>>2]=v[j+(e?12:8)>>2];while(1){Jg:{if(g){break Jg}j=v[d+16>>2];k=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=k;g=8;c=(m<<8)+c|0;break Jg}if(m>>>0<=143){v[d+16>>2]=k;c=(m<<9)+c|0;g=7;break Jg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}h=e?!h:h;break Ig}h=v[j+4>>2];m=k;k=b>>>0>>0;v[m+28>>2]=v[j+(k?8:12)>>2];while(1){Kg:{if(g){break Kg}j=v[d+16>>2];b=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=b;g=8;c=(m<<8)+c|0;break Kg}if(m>>>0<=143){v[d+16>>2]=b;c=(m<<9)+c|0;g=7;break Kg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;h=k?h:!h}if(!h){break Hg}q=l-4|0;j=v[l+4>>2]>>>17&4|(v[q>>2]>>>19&1|(n>>>14&16|(n>>>16&64|n&170)));k=(w[j+38736|0]<<2)+d|0;i=k+28|0;h=v[i>>2];e=v[h>>2];b=b-e|0;Lg:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;m=v[h+4>>2];if(b&32768){break Lg}m=v[h+4>>2];e=b>>>0>>0;v[k+28>>2]=v[h+(e?12:8)>>2];while(1){Mg:{if(g){break Mg}h=v[d+16>>2];k=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=k;g=8;c=(A<<8)+c|0;break Mg}if(A>>>0<=143){v[d+16>>2]=k;c=(A<<9)+c|0;g=7;break Mg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}m=e?!m:m;break Lg}m=v[h+4>>2];A=k;k=b>>>0>>0;v[A+28>>2]=v[h+(k?8:12)>>2];while(1){Ng:{if(g){break Ng}h=v[d+16>>2];b=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=b;g=8;c=(A<<8)+c|0;break Ng}if(A>>>0<=143){v[d+16>>2]=b;c=(A<<9)+c|0;g=7;break Ng}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;m=k?m:!m}e=m;k=e^w[j+38992|0];v[f>>2]=k?F:P;v[q>>2]=v[q>>2]|32;v[l+4>>2]=v[l+4>>2]|8;e=l+(-2-v[d+124>>2]<<2)|0;v[e+4>>2]=v[e+4>>2]|32768;v[e>>2]=v[e>>2]|k<<31|65536;e=e-4|0;v[e>>2]=v[e>>2]|131072;n=k<<19|n|16}Og:{if(n&16777344){break Og}j=n>>>3|0;k=(w[v[d+108>>2]+(j&495)|0]<<2)+d|0;i=k+28|0;h=v[i>>2];e=v[h>>2];b=b-e|0;Pg:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;m=v[h+4>>2];if(b&32768){break Pg}m=v[h+4>>2];e=b>>>0>>0;v[k+28>>2]=v[h+(e?12:8)>>2];while(1){Qg:{if(g){break Qg}h=v[d+16>>2];k=h+1|0;q=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=k;g=8;c=(q<<8)+c|0;break Qg}if(q>>>0<=143){v[d+16>>2]=k;c=(q<<9)+c|0;g=7;break Qg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}m=e?!m:m;break Pg}m=v[h+4>>2];A=k;k=b>>>0>>0;v[A+28>>2]=v[h+(k?8:12)>>2];while(1){Rg:{if(g){break Rg}h=v[d+16>>2];b=h+1|0;q=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=b;g=8;c=(q<<8)+c|0;break Rg}if(q>>>0<=143){v[d+16>>2]=b;c=(q<<9)+c|0;g=7;break Rg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;m=k?m:!m}if(!m){break Og}q=l-4|0;j=v[l+4>>2]>>>20&4|(v[q>>2]>>>22&1|(n>>>15&16|(n>>>19&64|j&170)));k=(w[j+38736|0]<<2)+d|0;i=k+28|0;h=v[i>>2];e=v[h>>2];b=b-e|0;Sg:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;m=v[h+4>>2];if(b&32768){break Sg}m=v[h+4>>2];e=b>>>0>>0;v[k+28>>2]=v[h+(e?12:8)>>2];while(1){Tg:{if(g){break Tg}h=v[d+16>>2];k=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=k;g=8;c=(A<<8)+c|0;break Tg}if(A>>>0<=143){v[d+16>>2]=k;c=(A<<9)+c|0;g=7;break Tg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}m=e?!m:m;break Sg}m=v[h+4>>2];A=k;k=b>>>0>>0;v[A+28>>2]=v[h+(k?8:12)>>2];while(1){Ug:{if(g){break Ug}h=v[d+16>>2];b=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=b;g=8;c=(A<<8)+c|0;break Ug}if(A>>>0<=143){v[d+16>>2]=b;c=(A<<9)+c|0;g=7;break Ug}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;m=k?m:!m}e=m;e=e^w[j+38992|0];v[(N<<2)+f>>2]=e?F:P;v[q>>2]=v[q>>2]|256;v[l+4>>2]=v[l+4>>2]|64;n=e<<22|n|128}Vg:{if(n&134218752){break Vg}j=n>>>6|0;k=(w[v[d+108>>2]+(j&495)|0]<<2)+d|0;i=k+28|0;h=v[i>>2];e=v[h>>2];b=b-e|0;Wg:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;m=v[h+4>>2];if(b&32768){break Wg}m=v[h+4>>2];e=b>>>0>>0;v[k+28>>2]=v[h+(e?12:8)>>2];while(1){Xg:{if(g){break Xg}h=v[d+16>>2];k=h+1|0;q=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=k;g=8;c=(q<<8)+c|0;break Xg}if(q>>>0<=143){v[d+16>>2]=k;c=(q<<9)+c|0;g=7;break Xg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}m=e?!m:m;break Wg}m=v[h+4>>2];A=k;k=b>>>0>>0;v[A+28>>2]=v[h+(k?8:12)>>2];while(1){Yg:{if(g){break Yg}h=v[d+16>>2];b=h+1|0;q=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=b;g=8;c=(q<<8)+c|0;break Yg}if(q>>>0<=143){v[d+16>>2]=b;c=(q<<9)+c|0;g=7;break Yg}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;m=k?m:!m}if(!m){break Vg}q=l-4|0;j=v[l+4>>2]>>>23&4|(v[q>>2]>>>25&1|(n>>>18&16|(n>>>22&64|j&170)));k=(w[j+38736|0]<<2)+d|0;i=k+28|0;h=v[i>>2];e=v[h>>2];b=b-e|0;Zg:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;m=v[h+4>>2];if(b&32768){break Zg}m=v[h+4>>2];e=b>>>0>>0;v[k+28>>2]=v[h+(e?12:8)>>2];while(1){_g:{if(g){break _g}h=v[d+16>>2];k=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=k;g=8;c=(A<<8)+c|0;break _g}if(A>>>0<=143){v[d+16>>2]=k;c=(A<<9)+c|0;g=7;break _g}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}m=e?!m:m;break Zg}m=v[h+4>>2];A=k;k=b>>>0>>0;v[A+28>>2]=v[h+(k?8:12)>>2];while(1){$g:{if(g){break $g}h=v[d+16>>2];b=h+1|0;A=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=b;g=8;c=(A<<8)+c|0;break $g}if(A>>>0<=143){v[d+16>>2]=b;c=(A<<9)+c|0;g=7;break $g}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;m=k?m:!m}e=m;e=e^w[j+38992|0];v[(s<<2)+f>>2]=e?F:P;v[q>>2]=v[q>>2]|2048;v[l+4>>2]=v[l+4>>2]|512;n=e<<25|n|1024}if(n&1073750016){break Eg}j=b;k=n>>>9|0;b=(w[v[d+108>>2]+(k&495)|0]<<2)+d|0;i=b+28|0;h=v[i>>2];e=v[h>>2];j=j-e|0;ah:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;m=v[h+4>>2];if(j&32768){break ah}m=v[h+4>>2];A=b;b=e>>>0>j>>>0;v[A+28>>2]=v[h+(b?12:8)>>2];while(1){bh:{if(g){break bh}h=v[d+16>>2];e=h+1|0;q=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=e;g=8;c=(q<<8)+c|0;break bh}if(q>>>0<=143){v[d+16>>2]=e;c=(q<<9)+c|0;g=7;break bh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;j=j<<1;if(j>>>0<32768){continue}break}m=b?!m:m;break ah}m=v[h+4>>2];A=b;b=e>>>0>j>>>0;v[A+28>>2]=v[h+(b?8:12)>>2];while(1){ch:{if(g){break ch}h=v[d+16>>2];j=h+1|0;q=w[h+1|0];if(w[h|0]!=255){v[d+16>>2]=j;g=8;c=(q<<8)+c|0;break ch}if(q>>>0<=143){v[d+16>>2]=j;c=(q<<9)+c|0;g=7;break ch}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}j=e;m=b?m:!m}if(!m){b=j;break Eg}e=j;q=l-4|0;A=v[l+4>>2]>>>26&4|(v[q>>2]>>>28&1|(n>>>21&16|(n>>>25&64|k&170)));k=(w[A+38736|0]<<2)+d|0;i=k+28|0;j=v[i>>2];b=v[j>>2];e=e-b|0;if(c>>>16>>>0>=b>>>0){c=c-(b<<16)|0;if(e&32768){b=e;break Gg}h=v[j+4>>2];m=k;k=b>>>0>e>>>0;v[m+28>>2]=v[(k?12:8)+j>>2];while(1){dh:{if(g){break dh}j=v[d+16>>2];b=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=b;g=8;c=(m<<8)+c|0;break dh}if(m>>>0<=143){v[d+16>>2]=b;c=(m<<9)+c|0;g=7;break dh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;e=k?!h:h;break Fg}h=v[j+4>>2];e=b>>>0>e>>>0;v[k+28>>2]=v[(e?8:12)+j>>2];while(1){eh:{if(g){break eh}j=v[d+16>>2];k=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=k;g=8;c=(m<<8)+c|0;break eh}if(m>>>0<=143){v[d+16>>2]=k;c=(m<<9)+c|0;g=7;break eh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}e=e?h:!h;break Fg}k=v[r>>2];n=v[k>>2];b=b-n|0;fh:{if(c>>>16>>>0>=n>>>0){c=c-(n<<16)|0;e=v[k+4>>2];if(b&32768){break fh}i=v[k+4>>2];e=b>>>0>>0;v[r>>2]=v[k+(e?12:8)>>2];while(1){gh:{if(g){break gh}k=v[d+16>>2];n=k+1|0;j=w[k+1|0];if(w[k|0]!=255){v[d+16>>2]=n;g=8;c=(j<<8)+c|0;break gh}if(j>>>0<=143){v[d+16>>2]=n;c=(j<<9)+c|0;g=7;break gh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}e=e?!i:i;break fh}i=v[k+4>>2];e=b>>>0>>0;v[r>>2]=v[k+(e?8:12)>>2];while(1){hh:{if(g){break hh}k=v[d+16>>2];b=k+1|0;j=w[k+1|0];if(w[k|0]!=255){v[d+16>>2]=b;g=8;c=(j<<8)+c|0;break hh}if(j>>>0<=143){v[d+16>>2]=b;c=(j<<9)+c|0;g=7;break hh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;n=n<<1;if(n>>>0<32768){continue}break}b=n;e=e?i:!i}if(!e){i=r;break Dg}e=v[o>>2];n=v[e>>2];b=b-n|0;ih:{if(c>>>16>>>0>=n>>>0){c=c-(n<<16)|0;k=v[e+4>>2];if(b&32768){break ih}j=v[e+4>>2];n=b>>>0>>0;e=v[(n?12:8)+e>>2];v[o>>2]=e;while(1){jh:{if(g){break jh}i=v[d+16>>2];k=i+1|0;h=w[i+1|0];if(w[i|0]!=255){v[d+16>>2]=k;g=8;c=(h<<8)+c|0;break jh}if(h>>>0<=143){v[d+16>>2]=k;c=(h<<9)+c|0;g=7;break jh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}k=n?!j:j;break ih}j=v[e+4>>2];k=b>>>0>>0;e=v[(k?8:12)+e>>2];v[o>>2]=e;while(1){kh:{if(g){break kh}i=v[d+16>>2];b=i+1|0;h=w[i+1|0];if(w[i|0]!=255){v[d+16>>2]=b;g=8;c=(h<<8)+c|0;break kh}if(h>>>0<=143){v[d+16>>2]=b;c=(h<<9)+c|0;g=7;break kh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;n=n<<1;if(n>>>0<32768){continue}break}b=n;k=k?j:!j}n=v[e>>2];b=b-n|0;lh:{if(c>>>16>>>0>=n>>>0){c=c-(n<<16)|0;i=v[e+4>>2];if(b&32768){break lh}j=v[e+4>>2];i=e;e=b>>>0>>0;v[o>>2]=v[i+(e?12:8)>>2];while(1){mh:{if(g){break mh}i=v[d+16>>2];n=i+1|0;h=w[i+1|0];if(w[i|0]!=255){v[d+16>>2]=n;g=8;c=(h<<8)+c|0;break mh}if(h>>>0<=143){v[d+16>>2]=n;c=(h<<9)+c|0;g=7;break mh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}i=e?!j:j;break lh}j=v[e+4>>2];i=e;e=b>>>0>>0;v[o>>2]=v[i+(e?8:12)>>2];while(1){nh:{if(g){break nh}i=v[d+16>>2];b=i+1|0;h=w[i+1|0];if(w[i|0]!=255){v[d+16>>2]=b;g=8;c=(h<<8)+c|0;break nh}if(h>>>0<=143){v[d+16>>2]=b;c=(h<<9)+c|0;g=7;break nh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;n=n<<1;if(n>>>0<32768){continue}break}b=n;i=e?j:!j}e=i;n=0;i=o;oh:{ph:{qh:{rh:{sh:{switch(e|k<<1){case 0:h=l-4|0;k=v[l+4>>2]>>>17&4|v[h>>2]>>>19&1;e=(w[k+38736|0]<<2)+d|0;i=v[e+28>>2];n=v[i>>2];b=b-n|0;th:{if(c>>>16>>>0>=n>>>0){c=c-(n<<16)|0;j=v[i+4>>2];if(b&32768){break th}j=v[i+4>>2];m=e;e=b>>>0>>0;v[m+28>>2]=v[i+(e?12:8)>>2];while(1){uh:{if(g){break uh}i=v[d+16>>2];n=i+1|0;m=w[i+1|0];if(w[i|0]!=255){v[d+16>>2]=n;g=8;c=(m<<8)+c|0;break uh}if(m>>>0<=143){v[d+16>>2]=n;c=(m<<9)+c|0;g=7;break uh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}j=e?!j:j;break th}j=v[i+4>>2];m=e;e=b>>>0>>0;v[m+28>>2]=v[i+(e?8:12)>>2];while(1){vh:{if(g){break vh}i=v[d+16>>2];b=i+1|0;m=w[i+1|0];if(w[i|0]!=255){v[d+16>>2]=b;g=8;c=(m<<8)+c|0;break vh}if(m>>>0<=143){v[d+16>>2]=b;c=(m<<9)+c|0;g=7;break vh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;n=n<<1;if(n>>>0<32768){continue}break}b=n;j=e?j:!j}e=j;n=e^w[k+38992|0];v[f>>2]=n?F:P;v[h>>2]=v[h>>2]|32;v[l+4>>2]=v[l+4>>2]|8;e=l+(-2-v[d+124>>2]<<2)|0;v[e+4>>2]=v[e+4>>2]|32768;v[e>>2]=v[e>>2]|n<<31|65536;e=e-4|0;v[e>>2]=v[e>>2]|131072;k=n<<19;e=(w[v[d+108>>2]+2|0]<<2)+d|0;i=v[e+28>>2];n=v[i>>2];b=b-n|0;wh:{if(c>>>16>>>0>=n>>>0){c=c-(n<<16)|0;j=v[i+4>>2];if(b&32768){break wh}j=v[i+4>>2];h=e;e=b>>>0>>0;v[h+28>>2]=v[i+(e?12:8)>>2];while(1){xh:{if(g){break xh}i=v[d+16>>2];n=i+1|0;h=w[i+1|0];if(w[i|0]!=255){v[d+16>>2]=n;g=8;c=(h<<8)+c|0;break xh}if(h>>>0<=143){v[d+16>>2]=n;c=(h<<9)+c|0;g=7;break xh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}j=e?!j:j;break wh}j=v[i+4>>2];h=e;e=b>>>0>>0;v[h+28>>2]=v[i+(e?8:12)>>2];while(1){yh:{if(g){break yh}i=v[d+16>>2];b=i+1|0;h=w[i+1|0];if(w[i|0]!=255){v[d+16>>2]=b;g=8;c=(h<<8)+c|0;break yh}if(h>>>0<=143){v[d+16>>2]=b;c=(h<<9)+c|0;g=7;break yh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;n=n<<1;if(n>>>0<32768){continue}break}b=n;j=e?j:!j}e=j;n=k|16;if(!e){break rh}break;case 3:break oh;case 2:break qh;case 1:break sh;default:break Eg}}m=l-4|0;i=v[l+4>>2]>>>20&4|(v[m>>2]>>>22&1|(n>>>15&16|(n>>>19&64|n>>>3&170)));k=(w[i+38736|0]<<2)+d|0;j=v[k+28>>2];e=v[j>>2];b=b-e|0;zh:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;h=v[j+4>>2];if(b&32768){break zh}h=v[j+4>>2];e=b>>>0>>0;v[k+28>>2]=v[j+(e?12:8)>>2];while(1){Ah:{if(g){break Ah}j=v[d+16>>2];k=j+1|0;q=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=k;g=8;c=(q<<8)+c|0;break Ah}if(q>>>0<=143){v[d+16>>2]=k;c=(q<<9)+c|0;g=7;break Ah}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}h=e?!h:h;break zh}h=v[j+4>>2];A=k;k=b>>>0>>0;v[A+28>>2]=v[j+(k?8:12)>>2];while(1){Bh:{if(g){break Bh}j=v[d+16>>2];b=j+1|0;q=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=b;g=8;c=(q<<8)+c|0;break Bh}if(q>>>0<=143){v[d+16>>2]=b;c=(q<<9)+c|0;g=7;break Bh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;h=k?h:!h}e=h;e=e^w[i+38992|0];v[(N<<2)+f>>2]=e?F:P;v[m>>2]=v[m>>2]|256;v[l+4>>2]=v[l+4>>2]|64;n=e<<22|n|128}k=(w[v[d+108>>2]+(n>>>6&495)|0]<<2)+d|0;i=v[k+28>>2];e=v[i>>2];b=b-e|0;Ch:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;j=v[i+4>>2];if(b&32768){break Ch}j=v[i+4>>2];e=b>>>0>>0;v[k+28>>2]=v[i+(e?12:8)>>2];while(1){Dh:{if(g){break Dh}i=v[d+16>>2];k=i+1|0;h=w[i+1|0];if(w[i|0]!=255){v[d+16>>2]=k;g=8;c=(h<<8)+c|0;break Dh}if(h>>>0<=143){v[d+16>>2]=k;c=(h<<9)+c|0;g=7;break Dh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}j=e?!j:j;break Ch}j=v[i+4>>2];h=k;k=b>>>0>>0;v[h+28>>2]=v[i+(k?8:12)>>2];while(1){Eh:{if(g){break Eh}i=v[d+16>>2];b=i+1|0;h=w[i+1|0];if(w[i|0]!=255){v[d+16>>2]=b;g=8;c=(h<<8)+c|0;break Eh}if(h>>>0<=143){v[d+16>>2]=b;c=(h<<9)+c|0;g=7;break Eh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;j=k?j:!j}if(!j){break ph}}m=l-4|0;i=v[l+4>>2]>>>23&4|(v[m>>2]>>>25&1|(n>>>18&16|(n>>>22&64|n>>>6&170)));k=(w[i+38736|0]<<2)+d|0;j=v[k+28>>2];e=v[j>>2];b=b-e|0;Fh:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;h=v[j+4>>2];if(b&32768){break Fh}h=v[j+4>>2];e=b>>>0>>0;v[k+28>>2]=v[j+(e?12:8)>>2];while(1){Gh:{if(g){break Gh}j=v[d+16>>2];k=j+1|0;q=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=k;g=8;c=(q<<8)+c|0;break Gh}if(q>>>0<=143){v[d+16>>2]=k;c=(q<<9)+c|0;g=7;break Gh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}h=e?!h:h;break Fh}h=v[j+4>>2];A=k;k=b>>>0>>0;v[A+28>>2]=v[j+(k?8:12)>>2];while(1){Hh:{if(g){break Hh}j=v[d+16>>2];b=j+1|0;q=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=b;g=8;c=(q<<8)+c|0;break Hh}if(q>>>0<=143){v[d+16>>2]=b;c=(q<<9)+c|0;g=7;break Hh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;h=k?h:!h}e=h;e=e^w[i+38992|0];v[(s<<2)+f>>2]=e?F:P;v[m>>2]=v[m>>2]|2048;v[l+4>>2]=v[l+4>>2]|512;n=e<<25|n|1024}k=(w[v[d+108>>2]+(n>>>9&495)|0]<<2)+d|0;i=k+28|0;j=v[i>>2];e=v[j>>2];b=b-e|0;Ih:{if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;h=v[j+4>>2];if(b&32768){break Ih}h=v[j+4>>2];e=b>>>0>>0;v[k+28>>2]=v[j+(e?12:8)>>2];while(1){Jh:{if(g){break Jh}j=v[d+16>>2];k=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=k;g=8;c=(m<<8)+c|0;break Jh}if(m>>>0<=143){v[d+16>>2]=k;c=(m<<9)+c|0;g=7;break Jh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}h=e?!h:h;break Ih}h=v[j+4>>2];m=k;k=b>>>0>>0;v[m+28>>2]=v[j+(k?8:12)>>2];while(1){Kh:{if(g){break Kh}j=v[d+16>>2];b=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=b;g=8;c=(m<<8)+c|0;break Kh}if(m>>>0<=143){v[d+16>>2]=b;c=(m<<9)+c|0;g=7;break Kh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;h=k?h:!h}if(!h){break Eg}}q=l-4|0;A=v[l+4>>2]>>>26&4|(v[q>>2]>>>28&1|(n>>>21&16|(n>>>25&64|n>>>9&170)));k=(w[A+38736|0]<<2)+d|0;i=k+28|0;j=v[i>>2];e=v[j>>2];b=b-e|0;if(c>>>16>>>0>=e>>>0){c=c-(e<<16)|0;if(b&32768){break Gg}h=v[j+4>>2];e=b>>>0>>0;v[k+28>>2]=v[(e?12:8)+j>>2];while(1){Lh:{if(g){break Lh}j=v[d+16>>2];k=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=k;g=8;c=(m<<8)+c|0;break Lh}if(m>>>0<=143){v[d+16>>2]=k;c=(m<<9)+c|0;g=7;break Lh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}e=e?!h:h;break Fg}h=v[j+4>>2];m=k;k=b>>>0>>0;v[m+28>>2]=v[(k?8:12)+j>>2];while(1){Mh:{if(g){break Mh}j=v[d+16>>2];b=j+1|0;m=w[j+1|0];if(w[j|0]!=255){v[d+16>>2]=b;g=8;c=(m<<8)+c|0;break Mh}if(m>>>0<=143){v[d+16>>2]=b;c=(m<<9)+c|0;g=7;break Mh}v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;e=k?h:!h;break Fg}e=v[j+4>>2]}e=e^w[A+38992|0];v[(p<<2)+f>>2]=e?F:P;v[q>>2]=v[q>>2]|16384;v[l+4>>2]=v[l+4>>2]|4096;k=l+(v[d+124>>2]<<2)|0;v[k+4>>2]=v[k+4>>2]|4;v[k+12>>2]=v[k+12>>2]|1;v[k+8>>2]=v[k+8>>2]|e<<18|2;n=e<<28|n|8192}v[l>>2]=n&-1226833921}n=l+4|0;f=f+4|0;V=V+1|0;if((N|0)!=(V|0)){continue}break}n=l+12|0;f=(p<<2)+f|0;D=D+4|0;e=v[d+128>>2];if(D>>>0<(e&-4)>>>0){continue}break}break Cg}n=e&-4;n=(n>>>0<=4?4:n)-1|0;D=(n&-4)+4|0;n=(k+(n<<1&-8)|0)+20|0}v[d+8>>2]=g;v[d+4>>2]=b;v[d>>2]=c;v[d+104>>2]=i;if(!N|e>>>0<=D>>>0){break be}while(1){g=0;if(v[d+128>>2]!=(D|0)){while(1){ld(d,n,(B(g,N)<<2)+f|0,P,g,0);g=g+1|0;if(g>>>0>2]-D>>>0){continue}break}}v[n>>2]=v[n>>2]&-1226833921;f=f+4|0;n=n+4|0;M=M+1|0;if((N|0)!=(M|0)){continue}break}break be}n=e&-4;n=(n>>>0<=4?4:n)-1|0;D=(n&-4)+4|0;n=(k+(n<<1&-8)|0)+20|0}v[d+8>>2]=g;v[d+4>>2]=b;v[d>>2]=c;v[d+104>>2]=i;if(!N|e>>>0<=D>>>0){break be}while(1){g=0;if(v[d+128>>2]!=(D|0)){while(1){ld(d,n,(B(g,N)<<2)+f|0,P,g,1);g=g+1|0;if(g>>>0>2]-D>>>0){continue}break}}v[n>>2]=v[n>>2]&-1226833921;f=f+4|0;n=n+4|0;M=M+1|0;if((N|0)!=(M|0)){continue}break}break be}while(1){D=0;while(1){j=f;o=e;Nh:{Oh:{Ph:{Qh:{e=v[e>>2];Rh:{if(!e){n=v[k>>2];e=v[n>>2];b=b-e|0;Sh:{if(c>>>16>>>0>>0){i=v[n+4>>2];f=b>>>0>>0;v[k>>2]=v[n+(f?8:12)>>2];while(1){Th:{if(g){break Th}n=v[d+16>>2];b=n+1|0;l=w[n+1|0];if(w[n|0]==255){if(l>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Th}v[d+16>>2]=b;c=(l<<9)+c|0;g=7;break Th}v[d+16>>2]=b;g=8;c=(l<<8)+c|0}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;e=f?i:!i;break Sh}c=c-(e<<16)|0;if(!(b&32768)){i=v[n+4>>2];e=b>>>0>>0;v[k>>2]=v[n+(e?12:8)>>2];while(1){Uh:{if(g){break Uh}n=v[d+16>>2];f=n+1|0;l=w[n+1|0];if(w[n|0]==255){if(l>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Uh}v[d+16>>2]=f;c=(l<<9)+c|0;g=7;break Uh}v[d+16>>2]=f;g=8;c=(l<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}e=e?!i:i;break Sh}e=v[n+4>>2]}if(!e){n=k;break Nh}f=v[r>>2];e=v[f>>2];b=b-e|0;Vh:{if(c>>>16>>>0>>0){l=v[f+4>>2];n=b>>>0>>0;f=v[(n?8:12)+f>>2];v[r>>2]=f;while(1){Wh:{if(g){break Wh}i=v[d+16>>2];b=i+1|0;h=w[i+1|0];if(w[i|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Wh}v[d+16>>2]=b;c=(h<<9)+c|0;g=7;break Wh}v[d+16>>2]=b;g=8;c=(h<<8)+c|0}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;i=n?l:!l;break Vh}c=c-(e<<16)|0;if(!(b&32768)){l=v[f+4>>2];e=b>>>0>>0;f=v[(e?12:8)+f>>2];v[r>>2]=f;while(1){Xh:{if(g){break Xh}i=v[d+16>>2];n=i+1|0;h=w[i+1|0];if(w[i|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Xh}v[d+16>>2]=n;c=(h<<9)+c|0;g=7;break Xh}v[d+16>>2]=n;g=8;c=(h<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}i=e?!l:l;break Vh}i=v[f+4>>2]}e=v[f>>2];b=b-e|0;Yh:{if(c>>>16>>>0>>0){l=v[f+4>>2];n=f;f=b>>>0>>0;v[r>>2]=v[n+(f?8:12)>>2];while(1){Zh:{if(g){break Zh}n=v[d+16>>2];b=n+1|0;h=w[n+1|0];if(w[n|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Zh}v[d+16>>2]=b;c=(h<<9)+c|0;g=7;break Zh}v[d+16>>2]=b;g=8;c=(h<<8)+c|0}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;f=f?l:!l;break Yh}c=c-(e<<16)|0;if(!(b&32768)){l=v[f+4>>2];e=b>>>0>>0;v[r>>2]=v[(e?12:8)+f>>2];while(1){_h:{if(g){break _h}n=v[d+16>>2];f=n+1|0;h=w[n+1|0];if(w[n|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break _h}v[d+16>>2]=f;c=(h<<9)+c|0;g=7;break _h}v[d+16>>2]=f;g=8;c=(h<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=e?!l:l;break Yh}f=v[f+4>>2]}e=0;n=r;$h:{ai:{bi:{ci:{di:{switch(f|i<<1){case 0:h=o-4|0;n=v[o+4>>2]>>>17&4|v[h>>2]>>>19&1;f=(w[n+38736|0]<<2)+d|0;i=v[f+28>>2];e=v[i>>2];b=b-e|0;ei:{if(c>>>16>>>0>>0){l=v[i+4>>2];s=f;f=b>>>0>>0;v[s+28>>2]=v[i+(f?8:12)>>2];while(1){fi:{if(g){break fi}i=v[d+16>>2];b=i+1|0;m=w[i+1|0];if(w[i|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break fi}v[d+16>>2]=b;c=(m<<9)+c|0;g=7;break fi}v[d+16>>2]=b;g=8;c=(m<<8)+c|0}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;e=f?l:!l;break ei}c=c-(e<<16)|0;if(!(b&32768)){l=v[i+4>>2];e=b>>>0>>0;v[f+28>>2]=v[i+(e?12:8)>>2];while(1){gi:{if(g){break gi}i=v[d+16>>2];f=i+1|0;m=w[i+1|0];if(w[i|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break gi}v[d+16>>2]=f;c=(m<<9)+c|0;g=7;break gi}v[d+16>>2]=f;g=8;c=(m<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}e=e?!l:l;break ei}e=v[i+4>>2]}e=e^w[n+38992|0];v[j>>2]=e?p:M;v[h>>2]=v[h>>2]|32;v[o+4>>2]=v[o+4>>2]|8;n=e<<19;f=(w[v[d+108>>2]+2|0]<<2)+d|0;i=v[f+28>>2];e=v[i>>2];b=b-e|0;hi:{if(c>>>16>>>0>>0){l=v[i+4>>2];s=f;f=b>>>0>>0;v[s+28>>2]=v[i+(f?8:12)>>2];while(1){ii:{if(g){break ii}i=v[d+16>>2];b=i+1|0;h=w[i+1|0];if(w[i|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break ii}v[d+16>>2]=b;c=(h<<9)+c|0;g=7;break ii}v[d+16>>2]=b;g=8;c=(h<<8)+c|0}g=g-1|0;c=c<<1;e=e<<1;if(e>>>0<32768){continue}break}b=e;f=f?l:!l;break hi}c=c-(e<<16)|0;if(!(b&32768)){l=v[i+4>>2];e=b>>>0>>0;v[f+28>>2]=v[i+(e?12:8)>>2];while(1){ji:{if(g){break ji}i=v[d+16>>2];f=i+1|0;h=w[i+1|0];if(w[i|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break ji}v[d+16>>2]=f;c=(h<<9)+c|0;g=7;break ji}v[d+16>>2]=f;g=8;c=(h<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=e?!l:l;break hi}f=v[i+4>>2]}e=n|16;if(!f){break ci}break;case 3:break $h;case 2:break bi;case 1:break di;default:break Oh}}m=o-4|0;i=v[o+4>>2]>>>20&4|(v[m>>2]>>>22&1|(e>>>15&16|(e>>>19&64|e>>>3&170)));n=(w[i+38736|0]<<2)+d|0;l=v[n+28>>2];f=v[l>>2];b=b-f|0;ki:{if(c>>>16>>>0>>0){h=v[l+4>>2];s=n;n=b>>>0>>0;v[s+28>>2]=v[l+(n?8:12)>>2];while(1){li:{if(g){break li}l=v[d+16>>2];b=l+1|0;q=w[l+1|0];if(w[l|0]==255){if(q>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break li}v[d+16>>2]=b;c=(q<<9)+c|0;g=7;break li}v[d+16>>2]=b;g=8;c=(q<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=n?h:!h;break ki}c=c-(f<<16)|0;if(!(b&32768)){h=v[l+4>>2];f=b>>>0>>0;v[n+28>>2]=v[l+(f?12:8)>>2];while(1){mi:{if(g){break mi}l=v[d+16>>2];n=l+1|0;q=w[l+1|0];if(w[l|0]==255){if(q>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break mi}v[d+16>>2]=n;c=(q<<9)+c|0;g=7;break mi}v[d+16>>2]=n;g=8;c=(q<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!h:h;break ki}f=v[l+4>>2]}f=f^w[i+38992|0];v[j+256>>2]=f?p:M;v[m>>2]=v[m>>2]|256;v[o+4>>2]=v[o+4>>2]|64;e=f<<22|e|128}n=(w[v[d+108>>2]+(e>>>6&495)|0]<<2)+d|0;i=v[n+28>>2];f=v[i>>2];b=b-f|0;ni:{if(c>>>16>>>0>>0){l=v[i+4>>2];s=n;n=b>>>0>>0;v[s+28>>2]=v[i+(n?8:12)>>2];while(1){oi:{if(g){break oi}i=v[d+16>>2];b=i+1|0;h=w[i+1|0];if(w[i|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break oi}v[d+16>>2]=b;c=(h<<9)+c|0;g=7;break oi}v[d+16>>2]=b;g=8;c=(h<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=n?l:!l;break ni}c=c-(f<<16)|0;if(!(b&32768)){l=v[i+4>>2];f=b>>>0>>0;v[n+28>>2]=v[i+(f?12:8)>>2];while(1){pi:{if(g){break pi}i=v[d+16>>2];n=i+1|0;h=w[i+1|0];if(w[i|0]==255){if(h>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break pi}v[d+16>>2]=n;c=(h<<9)+c|0;g=7;break pi}v[d+16>>2]=n;g=8;c=(h<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!l:l;break ni}f=v[i+4>>2]}if(!f){break ai}}m=o-4|0;i=v[o+4>>2]>>>23&4|(v[m>>2]>>>25&1|(e>>>18&16|(e>>>22&64|e>>>6&170)));n=(w[i+38736|0]<<2)+d|0;l=v[n+28>>2];f=v[l>>2];b=b-f|0;qi:{if(c>>>16>>>0>>0){h=v[l+4>>2];s=n;n=b>>>0>>0;v[s+28>>2]=v[l+(n?8:12)>>2];while(1){ri:{if(g){break ri}l=v[d+16>>2];b=l+1|0;q=w[l+1|0];if(w[l|0]==255){if(q>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break ri}v[d+16>>2]=b;c=(q<<9)+c|0;g=7;break ri}v[d+16>>2]=b;g=8;c=(q<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=n?h:!h;break qi}c=c-(f<<16)|0;if(!(b&32768)){h=v[l+4>>2];f=b>>>0>>0;v[n+28>>2]=v[l+(f?12:8)>>2];while(1){si:{if(g){break si}l=v[d+16>>2];n=l+1|0;q=w[l+1|0];if(w[l|0]==255){if(q>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break si}v[d+16>>2]=n;c=(q<<9)+c|0;g=7;break si}v[d+16>>2]=n;g=8;c=(q<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!h:h;break qi}f=v[l+4>>2]}f=f^w[i+38992|0];v[j+512>>2]=f?p:M;v[m>>2]=v[m>>2]|2048;v[o+4>>2]=v[o+4>>2]|512;e=f<<25|e|1024}i=(w[v[d+108>>2]+(e>>>9&495)|0]<<2)+d|0;n=i+28|0;l=v[n>>2];f=v[l>>2];b=b-f|0;ti:{if(c>>>16>>>0>>0){h=v[l+4>>2];s=i;i=b>>>0>>0;v[s+28>>2]=v[l+(i?8:12)>>2];while(1){ui:{if(g){break ui}l=v[d+16>>2];b=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break ui}v[d+16>>2]=b;c=(m<<9)+c|0;g=7;break ui}v[d+16>>2]=b;g=8;c=(m<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=i?h:!h;break ti}c=c-(f<<16)|0;if(!(b&32768)){h=v[l+4>>2];f=b>>>0>>0;v[i+28>>2]=v[l+(f?12:8)>>2];while(1){vi:{if(g){break vi}l=v[d+16>>2];i=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break vi}v[d+16>>2]=i;c=(m<<9)+c|0;g=7;break vi}v[d+16>>2]=i;g=8;c=(m<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!h:h;break ti}f=v[l+4>>2]}if(!f){break Oh}}q=o-4|0;I=v[o+4>>2]>>>26&4|(v[q>>2]>>>28&1|(e>>>21&16|(e>>>25&64|e>>>9&170)));l=(w[I+38736|0]<<2)+d|0;n=l+28|0;i=v[n>>2];f=v[i>>2];b=b-f|0;if(c>>>16>>>0>>0){h=v[i+4>>2];s=i;i=b>>>0>>0;v[l+28>>2]=v[s+(i?8:12)>>2];while(1){wi:{if(g){break wi}l=v[d+16>>2];b=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break wi}v[d+16>>2]=b;c=(m<<9)+c|0;g=7;break wi}v[d+16>>2]=b;g=8;c=(m<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=i?h:!h;break Ph}c=c-(f<<16)|0;if(b&32768){break Rh}h=v[i+4>>2];f=b>>>0>>0;v[l+28>>2]=v[(f?12:8)+i>>2];while(1){xi:{if(g){break xi}l=v[d+16>>2];i=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break xi}v[d+16>>2]=i;c=(m<<9)+c|0;g=7;break xi}v[d+16>>2]=i;g=8;c=(m<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!h:h;break Ph}yi:{if(e&2097168){break yi}i=(w[v[d+108>>2]+(e&495)|0]<<2)+d|0;n=i+28|0;l=v[n>>2];f=v[l>>2];b=b-f|0;zi:{if(c>>>16>>>0>>0){h=v[l+4>>2];s=i;i=b>>>0>>0;v[s+28>>2]=v[l+(i?8:12)>>2];while(1){Ai:{if(g){break Ai}l=v[d+16>>2];b=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Ai}v[d+16>>2]=b;c=(m<<9)+c|0;g=7;break Ai}v[d+16>>2]=b;g=8;c=(m<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=i?h:!h;break zi}c=c-(f<<16)|0;if(!(b&32768)){h=v[l+4>>2];f=b>>>0>>0;v[i+28>>2]=v[l+(f?12:8)>>2];while(1){Bi:{if(g){break Bi}l=v[d+16>>2];i=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Bi}v[d+16>>2]=i;c=(m<<9)+c|0;g=7;break Bi}v[d+16>>2]=i;g=8;c=(m<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!h:h;break zi}f=v[l+4>>2]}if(!f){break yi}q=o-4|0;l=v[o+4>>2]>>>17&4|(v[q>>2]>>>19&1|(e>>>14&16|(e>>>16&64|e&170)));i=(w[l+38736|0]<<2)+d|0;n=i+28|0;h=v[n>>2];f=v[h>>2];b=b-f|0;Ci:{if(c>>>16>>>0>>0){m=v[h+4>>2];s=i;i=b>>>0>>0;v[s+28>>2]=v[h+(i?8:12)>>2];while(1){Di:{if(g){break Di}h=v[d+16>>2];b=h+1|0;s=w[h+1|0];if(w[h|0]==255){if(s>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Di}v[d+16>>2]=b;c=(s<<9)+c|0;g=7;break Di}v[d+16>>2]=b;g=8;c=(s<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=i?m:!m;break Ci}c=c-(f<<16)|0;if(!(b&32768)){m=v[h+4>>2];f=b>>>0>>0;v[i+28>>2]=v[h+(f?12:8)>>2];while(1){Ei:{if(g){break Ei}h=v[d+16>>2];i=h+1|0;s=w[h+1|0];if(w[h|0]==255){if(s>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Ei}v[d+16>>2]=i;c=(s<<9)+c|0;g=7;break Ei}v[d+16>>2]=i;g=8;c=(s<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!m:m;break Ci}f=v[h+4>>2]}f=f^w[l+38992|0];v[j>>2]=f?p:M;v[q>>2]=v[q>>2]|32;v[o+4>>2]=v[o+4>>2]|8;e=f<<19|e|16}Fi:{if(e&16777344){break Fi}l=e>>>3|0;i=(w[v[d+108>>2]+(l&495)|0]<<2)+d|0;n=i+28|0;h=v[n>>2];f=v[h>>2];b=b-f|0;Gi:{if(c>>>16>>>0>>0){m=v[h+4>>2];s=i;i=b>>>0>>0;v[s+28>>2]=v[h+(i?8:12)>>2];while(1){Hi:{if(g){break Hi}h=v[d+16>>2];b=h+1|0;q=w[h+1|0];if(w[h|0]==255){if(q>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Hi}v[d+16>>2]=b;c=(q<<9)+c|0;g=7;break Hi}v[d+16>>2]=b;g=8;c=(q<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=i?m:!m;break Gi}c=c-(f<<16)|0;if(!(b&32768)){m=v[h+4>>2];f=b>>>0>>0;v[i+28>>2]=v[h+(f?12:8)>>2];while(1){Ii:{if(g){break Ii}h=v[d+16>>2];i=h+1|0;q=w[h+1|0];if(w[h|0]==255){if(q>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Ii}v[d+16>>2]=i;c=(q<<9)+c|0;g=7;break Ii}v[d+16>>2]=i;g=8;c=(q<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!m:m;break Gi}f=v[h+4>>2]}if(!f){break Fi}q=o-4|0;l=v[o+4>>2]>>>20&4|(v[q>>2]>>>22&1|(e>>>15&16|(e>>>19&64|l&170)));i=(w[l+38736|0]<<2)+d|0;n=i+28|0;h=v[n>>2];f=v[h>>2];b=b-f|0;Ji:{if(c>>>16>>>0>>0){m=v[h+4>>2];s=i;i=b>>>0>>0;v[s+28>>2]=v[h+(i?8:12)>>2];while(1){Ki:{if(g){break Ki}h=v[d+16>>2];b=h+1|0;s=w[h+1|0];if(w[h|0]==255){if(s>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Ki}v[d+16>>2]=b;c=(s<<9)+c|0;g=7;break Ki}v[d+16>>2]=b;g=8;c=(s<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=i?m:!m;break Ji}c=c-(f<<16)|0;if(!(b&32768)){m=v[h+4>>2];f=b>>>0>>0;v[i+28>>2]=v[h+(f?12:8)>>2];while(1){Li:{if(g){break Li}h=v[d+16>>2];i=h+1|0;s=w[h+1|0];if(w[h|0]==255){if(s>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Li}v[d+16>>2]=i;c=(s<<9)+c|0;g=7;break Li}v[d+16>>2]=i;g=8;c=(s<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!m:m;break Ji}f=v[h+4>>2]}f=f^w[l+38992|0];v[j+256>>2]=f?p:M;v[q>>2]=v[q>>2]|256;v[o+4>>2]=v[o+4>>2]|64;e=f<<22|e|128}Mi:{if(e&134218752){break Mi}l=e>>>6|0;i=(w[v[d+108>>2]+(l&495)|0]<<2)+d|0;n=i+28|0;h=v[n>>2];f=v[h>>2];b=b-f|0;Ni:{if(c>>>16>>>0>>0){m=v[h+4>>2];s=i;i=b>>>0>>0;v[s+28>>2]=v[h+(i?8:12)>>2];while(1){Oi:{if(g){break Oi}h=v[d+16>>2];b=h+1|0;q=w[h+1|0];if(w[h|0]==255){if(q>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Oi}v[d+16>>2]=b;c=(q<<9)+c|0;g=7;break Oi}v[d+16>>2]=b;g=8;c=(q<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=i?m:!m;break Ni}c=c-(f<<16)|0;if(!(b&32768)){m=v[h+4>>2];f=b>>>0>>0;v[i+28>>2]=v[h+(f?12:8)>>2];while(1){Pi:{if(g){break Pi}h=v[d+16>>2];i=h+1|0;q=w[h+1|0];if(w[h|0]==255){if(q>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Pi}v[d+16>>2]=i;c=(q<<9)+c|0;g=7;break Pi}v[d+16>>2]=i;g=8;c=(q<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!m:m;break Ni}f=v[h+4>>2]}if(!f){break Mi}q=o-4|0;l=v[o+4>>2]>>>23&4|(v[q>>2]>>>25&1|(e>>>18&16|(e>>>22&64|l&170)));i=(w[l+38736|0]<<2)+d|0;n=i+28|0;h=v[n>>2];f=v[h>>2];b=b-f|0;Qi:{if(c>>>16>>>0>>0){m=v[h+4>>2];s=i;i=b>>>0>>0;v[s+28>>2]=v[h+(i?8:12)>>2];while(1){Ri:{if(g){break Ri}h=v[d+16>>2];b=h+1|0;s=w[h+1|0];if(w[h|0]==255){if(s>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Ri}v[d+16>>2]=b;c=(s<<9)+c|0;g=7;break Ri}v[d+16>>2]=b;g=8;c=(s<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=i?m:!m;break Qi}c=c-(f<<16)|0;if(!(b&32768)){m=v[h+4>>2];f=b>>>0>>0;v[i+28>>2]=v[h+(f?12:8)>>2];while(1){Si:{if(g){break Si}h=v[d+16>>2];i=h+1|0;s=w[h+1|0];if(w[h|0]==255){if(s>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Si}v[d+16>>2]=i;c=(s<<9)+c|0;g=7;break Si}v[d+16>>2]=i;g=8;c=(s<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?!m:m;break Qi}f=v[h+4>>2]}f=f^w[l+38992|0];v[j+512>>2]=f?p:M;v[q>>2]=v[q>>2]|2048;v[o+4>>2]=v[o+4>>2]|512;e=f<<25|e|1024}if(e&1073750016){break Oh}i=b;l=e>>>9|0;b=(w[v[d+108>>2]+(l&495)|0]<<2)+d|0;n=b+28|0;h=v[n>>2];f=v[h>>2];i=i-f|0;Ti:{if(c>>>16>>>0>>0){m=v[h+4>>2];s=b;b=f>>>0>i>>>0;v[s+28>>2]=v[h+(b?8:12)>>2];while(1){Ui:{if(g){break Ui}h=v[d+16>>2];i=h+1|0;q=w[h+1|0];if(w[h|0]==255){if(q>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Ui}v[d+16>>2]=i;c=(q<<9)+c|0;g=7;break Ui}v[d+16>>2]=i;g=8;c=(q<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}i=f;b=b?m:!m;break Ti}c=c-(f<<16)|0;if(!(i&32768)){m=v[h+4>>2];s=b;b=f>>>0>i>>>0;v[s+28>>2]=v[h+(b?12:8)>>2];while(1){Vi:{if(g){break Vi}h=v[d+16>>2];f=h+1|0;q=w[h+1|0];if(w[h|0]==255){if(q>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Vi}v[d+16>>2]=f;c=(q<<9)+c|0;g=7;break Vi}v[d+16>>2]=f;g=8;c=(q<<8)+c|0}g=g-1|0;c=c<<1;i=i<<1;if(i>>>0<32768){continue}break}b=b?!m:m;break Ti}b=v[h+4>>2]}if(!b){b=i;break Oh}f=i;q=o-4|0;I=v[o+4>>2]>>>26&4|(v[q>>2]>>>28&1|(e>>>21&16|(e>>>25&64|l&170)));l=(w[I+38736|0]<<2)+d|0;n=l+28|0;i=v[n>>2];b=v[i>>2];f=f-b|0;if(c>>>16>>>0>>0){h=v[i+4>>2];f=b>>>0>f>>>0;v[l+28>>2]=v[(f?8:12)+i>>2];while(1){Wi:{if(g){break Wi}l=v[d+16>>2];i=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Wi}v[d+16>>2]=i;c=(m<<9)+c|0;g=7;break Wi}v[d+16>>2]=i;g=8;c=(m<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=f?h:!h;break Ph}c=c-(b<<16)|0;if(!(f&32768)){break Qh}b=f}f=v[i+4>>2];break Ph}h=v[i+4>>2];s=i;i=b>>>0>f>>>0;v[l+28>>2]=v[s+(i?12:8)>>2];while(1){Xi:{if(g){break Xi}l=v[d+16>>2];b=l+1|0;m=w[l+1|0];if(w[l|0]==255){if(m>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;c=c+65280|0;g=8;break Xi}v[d+16>>2]=b;c=(m<<9)+c|0;g=7;break Xi}v[d+16>>2]=b;g=8;c=(m<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=i?!h:h}f=f^w[I+38992|0];v[j+768>>2]=f?p:M;v[q>>2]=v[q>>2]|16384;v[o+4>>2]=v[o+4>>2]|4096;v[o+260>>2]=v[o+260>>2]|4;v[o+268>>2]=v[o+268>>2]|1;v[o+264>>2]=v[o+264>>2]|f<<18|2;e=f<<28|e|8192}v[o>>2]=e&-1226833921}e=o+4|0;f=j+4|0;D=D+1|0;if((D|0)!=64){continue}break}e=o+12|0;f=j+772|0;i=A>>>0<60;A=A+4|0;if(i){continue}break}}v[d+8>>2]=g;v[d+4>>2]=b;v[d>>2]=c;v[d+104>>2]=n}Yi:{if(!(S&32)){break Yi}v[d+104>>2]=d+100;e=v[d+100>>2];b=v[e>>2];c=v[d+4>>2]-b|0;v[d+4>>2]=c;g=v[d>>2];Zi:{if(g>>>16>>>0>>0){v[d+4>>2]=b;e=v[(b>>>0>c>>>0?8:12)+e>>2];v[d+100>>2]=e;c=v[d+8>>2];while(1){_i:{if(c){break _i}n=v[d+16>>2];f=n+1|0;k=w[n+1|0];if(w[n|0]==255){if(k>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;g=g+65280|0;c=8;break _i}v[d+16>>2]=f;g=(k<<9)+g|0;c=7;break _i}v[d+16>>2]=f;c=8;g=(k<<8)+g|0}c=c-1|0;v[d+8>>2]=c;g=g<<1;v[d>>2]=g;b=b<<1;v[d+4>>2]=b;if(b>>>0<32768){continue}break}c=b;break Zi}g=g-(b<<16)|0;v[d>>2]=g;if(c&32768){break Zi}e=v[(b>>>0>c>>>0?12:8)+e>>2];v[d+100>>2]=e;b=v[d+8>>2];while(1){$i:{if(b){break $i}f=v[d+16>>2];b=f+1|0;n=w[f+1|0];if(w[f|0]==255){if(n>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;g=g+65280|0;b=8;break $i}v[d+16>>2]=b;g=(n<<9)+g|0;b=7;break $i}v[d+16>>2]=b;b=8;g=(n<<8)+g|0}b=b-1|0;v[d+8>>2]=b;g=g<<1;v[d>>2]=g;c=c<<1;v[d+4>>2]=c;if(c>>>0<32768){continue}break}}b=v[e>>2];c=c-b|0;v[d+4>>2]=c;aj:{if(g>>>16>>>0>>0){v[d+4>>2]=b;e=v[(b>>>0>c>>>0?8:12)+e>>2];v[d+100>>2]=e;c=v[d+8>>2];while(1){bj:{if(c){break bj}n=v[d+16>>2];f=n+1|0;k=w[n+1|0];if(w[n|0]==255){if(k>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;g=g+65280|0;c=8;break bj}v[d+16>>2]=f;g=(k<<9)+g|0;c=7;break bj}v[d+16>>2]=f;c=8;g=(k<<8)+g|0}c=c-1|0;v[d+8>>2]=c;g=g<<1;v[d>>2]=g;b=b<<1;v[d+4>>2]=b;if(b>>>0<32768){continue}break}c=b;break aj}g=g-(b<<16)|0;v[d>>2]=g;if(c&32768){break aj}e=v[(b>>>0>c>>>0?12:8)+e>>2];v[d+100>>2]=e;b=v[d+8>>2];while(1){cj:{if(b){break cj}f=v[d+16>>2];b=f+1|0;n=w[f+1|0];if(w[f|0]==255){if(n>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;g=g+65280|0;b=8;break cj}v[d+16>>2]=b;g=(n<<9)+g|0;b=7;break cj}v[d+16>>2]=b;b=8;g=(n<<8)+g|0}b=b-1|0;v[d+8>>2]=b;g=g<<1;v[d>>2]=g;c=c<<1;v[d+4>>2]=c;if(c>>>0<32768){continue}break}}b=v[e>>2];c=c-b|0;v[d+4>>2]=c;dj:{if(g>>>16>>>0>>0){v[d+4>>2]=b;e=v[(b>>>0>c>>>0?8:12)+e>>2];v[d+100>>2]=e;c=v[d+8>>2];while(1){ej:{if(c){break ej}n=v[d+16>>2];f=n+1|0;k=w[n+1|0];if(w[n|0]==255){if(k>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;g=g+65280|0;c=8;break ej}v[d+16>>2]=f;g=(k<<9)+g|0;c=7;break ej}v[d+16>>2]=f;c=8;g=(k<<8)+g|0}c=c-1|0;v[d+8>>2]=c;g=g<<1;v[d>>2]=g;b=b<<1;v[d+4>>2]=b;if(b>>>0<32768){continue}break}c=b;break dj}g=g-(b<<16)|0;v[d>>2]=g;if(c&32768){break dj}e=v[(b>>>0>c>>>0?12:8)+e>>2];v[d+100>>2]=e;b=v[d+8>>2];while(1){fj:{if(b){break fj}f=v[d+16>>2];b=f+1|0;n=w[f+1|0];if(w[f|0]==255){if(n>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;g=g+65280|0;b=8;break fj}v[d+16>>2]=b;g=(n<<9)+g|0;b=7;break fj}v[d+16>>2]=b;b=8;g=(n<<8)+g|0}b=b-1|0;v[d+8>>2]=b;g=g<<1;v[d>>2]=g;c=c<<1;v[d+4>>2]=c;if(c>>>0<32768){continue}break}}b=v[e>>2];c=c-b|0;v[d+4>>2]=c;if(g>>>16>>>0>>0){v[d+4>>2]=b;v[d+100>>2]=v[(b>>>0>c>>>0?8:12)+e>>2];c=v[d+8>>2];while(1){gj:{if(c){break gj}f=v[d+16>>2];e=f+1|0;n=w[f+1|0];if(w[f|0]==255){if(n>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;g=g+65280|0;c=8;break gj}v[d+16>>2]=e;g=(n<<9)+g|0;c=7;break gj}v[d+16>>2]=e;c=8;g=(n<<8)+g|0}c=c-1|0;v[d+8>>2]=c;g=g<<1;v[d>>2]=g;b=b<<1;v[d+4>>2]=b;if(b>>>0<32768){continue}break}break Yi}f=g-(b<<16)|0;v[d>>2]=f;if(c&32768){break Yi}v[d+100>>2]=v[(b>>>0>c>>>0?12:8)+e>>2];g=v[d+8>>2];while(1){hj:{if(g){break hj}e=v[d+16>>2];b=e+1|0;n=w[e+1|0];if(w[e|0]==255){if(n>>>0>=144){v[d+12>>2]=v[d+12>>2]+1;f=f+65280|0;g=8;break hj}v[d+16>>2]=b;f=(n<<9)+f|0;g=7;break hj}v[d+16>>2]=b;g=8;f=(n<<8)+f|0}g=g-1|0;v[d+8>>2]=g;f=f<<1;v[d>>2]=f;c=c<<1;v[d+4>>2]=c;if(c>>>0<32768){continue}break}}}if(U){break Ra}fc(d);v[d+100>>2]=36656;v[d+96>>2]=35280;v[d+28>>2]=35312}b=fa+1|0;e=(b|0)==3;fa=e?0:b;K=K-e|0;L=L+1|0;if(L>>>0>=y[ga+8>>2]){break Qa}if((K|0)>0){continue}break}}aa=aa+ea|0;e=v[d+24>>2];b=x[d+112>>1];t[e|0]=b;t[e+1|0]=b>>>8;oa=oa+1|0;if(oa>>>0>2]){continue}break}}ij:{if(!J){break ij}jj:{e=v[d+24>>2];f=v[d+16>>2];if(e>>>0>f+2>>>0){if(!Z){break jj}f=v[d+16>>2];e=v[d+24>>2];b=v[d+20>>2];v[X+56>>2]=e-b;v[X+52>>2]=f-b;v[X+48>>2]=(e-f|0)-2;Fa(R,2,27212,X+48|0);break ij}b=v[d+12>>2];if(b>>>0<3){break ij}if(Z){v[X+80>>2]=v[d+12>>2];Fa(R,2,16692,X+80|0);break ij}v[X+64>>2]=b;Fa(R,2,16692,X- -64|0);break ij}b=v[d+20>>2];v[X+40>>2]=e-b;v[X+36>>2]=f-b;v[X+32>>2]=(e-f|0)-2;Fa(R,2,27212,X+32|0)}if(!v[H+60>>2]){break f}v[d+116>>2]=Q}n=v[na+4>>2];f=v[H+12>>2];p=v[H+8>>2]-v[na>>2]|0;e=v[na+16>>2];if(e&1){b=(v[la+28>>2]+B(ra,152)|0)-152|0;p=(v[b+8>>2]+p|0)-v[b>>2]|0}g=f-n|0;if(e&2){b=(v[la+28>>2]+B(ra,152)|0)-152|0;g=(v[b+12>>2]+g|0)-v[b+4>>2]|0}r=v[H+60>>2];s=r?r:v[d+116>>2];D=v[d+128>>2];h=v[d+124>>2];b=v[ma+808>>2];kj:{if(!b){break kj}if((b|0)>=31){if(!D|!h){break kj}Ma(s,0,B(h,D)<<2);break kj}if(!D|!h){break kj}k=1<>2];e=i>>31;e=(e^i)-e|0;if((e|0)>=(k|0)){e=e>>>v[ma+808>>2]|0;v[f>>2]=(i|0)<0?0-e|0:e}b=b+1|0;if((h|0)!=(b|0)){continue}break}q=q+1|0;if((D|0)!=(q|0)){continue}break}}if(r){k=B(h,D);if(v[ma+20>>2]==1){if(!k){break a}b=0;if((k|0)!=1){n=k&-2;c=0;while(1){f=b<<2;e=f+s|0;v[e>>2]=v[e>>2]/2;e=(f|4)+s|0;v[e>>2]=v[e>>2]/2;b=b+2|0;c=c+2|0;if((n|0)!=(c|0)){continue}break}}if(!(k&1)){break a}b=(b<<2)+s|0;v[b>>2]=v[b>>2]/2;break a}if(!k){break a}ba=C(z[na+32>>2]*C(.5));if(k>>>0>=4){e=k&-4;b=0;while(1){z[s>>2]=ba*C(v[s>>2]);z[s+4>>2]=ba*C(v[s+4>>2]);z[s+8>>2]=ba*C(v[s+8>>2]);z[s+12>>2]=ba*C(v[s+12>>2]);s=s+16|0;b=b+4|0;if((e|0)!=(b|0)){continue}break}}e=k&3;if(!e){break a}b=0;while(1){z[s>>2]=ba*C(v[s>>2]);s=s+4|0;b=b+1|0;if((e|0)!=(b|0)){continue}break}break a}l=ta-sa|0;if(v[ma+20>>2]==1){if(!D){break a}c=v[la+36>>2]+(B(g,l)+p<<2)|0;r=h&-4;i=0;while(1){b=0;if(r){d=B(i,l);k=B(h,i);while(1){o=(b+k<<2)+s|0;n=v[o+4>>2];f=v[o+8>>2];e=v[o+12>>2];j=c+(b+d<<2)|0;v[j>>2]=v[o>>2]/2;v[j+12>>2]=(e|0)/2;v[j+8>>2]=(f|0)/2;v[j+4>>2]=(n|0)/2;b=b+4|0;if(r>>>0>b>>>0){continue}break}}lj:{if(b>>>0>=h>>>0){break lj}e=b+1|0;n=B(i,l);f=B(h,i);if(h-b&1){v[c+(b+n<<2)>>2]=v[(b+f<<2)+s>>2]/2;b=e}if((e|0)==(h|0)){break lj}while(1){v[c+(b+n<<2)>>2]=v[(b+f<<2)+s>>2]/2;e=b+1|0;v[c+(e+n<<2)>>2]=v[(e+f<<2)+s>>2]/2;b=b+2|0;if((h|0)!=(b|0)){continue}break}}i=i+1|0;if((D|0)!=(i|0)){continue}break}break a}if(!D|!h){break a}ba=C(z[na+32>>2]*C(.5));f=h&-4;k=h&3;n=v[la+36>>2]+(B(g,l)+p<<2)|0;i=0;e=h-1>>>0<3;while(1){b=n;c=0;if(!e){while(1){z[b>>2]=ba*C(v[s>>2]);z[b+4>>2]=ba*C(v[s+4>>2]);z[b+8>>2]=ba*C(v[s+8>>2]);z[b+12>>2]=ba*C(v[s+12>>2]);b=b+16|0;s=s+16|0;c=c+4|0;if((f|0)!=(c|0)){continue}break}}c=0;if(k){while(1){z[b>>2]=ba*C(v[s>>2]);b=b+4|0;s=s+4|0;c=c+1|0;if((k|0)!=(c|0)){continue}break}}n=(l<<2)+n|0;i=i+1|0;if((D|0)!=(i|0)){continue}break}break a}v[X>>2]=K;Fa(R,2,18983,X)}v[v[n>>2]>>2]=0}Ga(a);qa=X+96|0} +function Fb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,x=0,A=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=C(0),ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,ra=0,sa=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ha=0,Na=0,Oa=0,Qa=0,Ra=0,Sa=0,Ua=0,Va=0,Xa=0,Ya=0,Za=0,_a=0,bb=0,db=0,eb=0,fb=0,gb=0,ib=0,lb=0,mb=0,ob=0,qb=0,sb=0,tb=0,ub=0,vb=0,wb=0;va=qa-16|0;qa=va;a:{if(!(w[a+8|0]&128)|v[a+204>>2]!=(b|0)){break a}i=v[a+156>>2];ya=i+B(b,5644)|0;s=v[ya+5596>>2];if(!s){Nb(ya);break a}h=v[a+76>>2];if(!h){h=v[a+72>>2]}k=v[h>>2];n=v[h+4>>2];m=v[h+8>>2];p=v[h+12>>2];h=v[a+60>>2];j=v[a- -64>>2];db=i+B(b,5644)|0;A=v[db+5600>>2];na=qa-16|0;qa=na;J=v[a+208>>2];v[J+36>>2]=b;i=v[v[J+28>>2]+76>>2];v[J+64>>2]=1;v[J+60>>2]=p;v[J+56>>2]=m;v[J+52>>2]=n;v[J+48>>2]=k;v[J+32>>2]=i+B(b,5644);Ga(v[J+68>>2]);v[J+68>>2]=0;b:{if(h){O=Ka(4,v[v[J+24>>2]+16>>2]);if(!O){break b}if(h>>>0>=4){i=h&-4;while(1){b=E<<2;v[(v[b+j>>2]<<2)+O>>2]=1;v[(v[j+(b|4)>>2]<<2)+O>>2]=1;v[(v[j+(b|8)>>2]<<2)+O>>2]=1;v[(v[j+(b|12)>>2]<<2)+O>>2]=1;E=E+4|0;g=g+4|0;if((i|0)!=(g|0)){continue}break}}b=h&3;if(b){while(1){v[(v[j+(E<<2)>>2]<<2)+O>>2]=1;E=E+1|0;V=V+1|0;if((b|0)!=(V|0)){continue}break}}v[J+68>>2]=O}c:{b=v[J+24>>2];i=v[b+16>>2];d:{if(!i){break d}E=0;e:{while(1){f:{if(v[(E<<2)+O>>2]?0:O){break f}h=v[b+24>>2]+B(E,52)|0;g=v[h+4>>2];n=g-1|0;k=v[J+60>>2];m=n+k|0;j=0-!g|0;m=ri(m,k>>>0>m>>>0?j+1|0:j,g,0);h=v[h>>2];p=h-1|0;r=v[J+56>>2];q=p+r|0;k=0-!h|0;r=ri(q,q>>>0>>0?k+1|0:k,h,0);q=v[J+52>>2];n=n+q|0;n=ri(n,n>>>0>>0?j+1|0:j,g,0);g=v[v[v[J+20>>2]>>2]+20>>2]+B(E,76)|0;j=v[g+20>>2]-v[g+24>>2]|0;if(j>>>0>31){break f}q=v[J+48>>2];p=p+q|0;h=ri(p,p>>>0>>0?k+1|0:k,h,0);k=h-v[g>>2]|0;g:{if((h>>>0>=k>>>0?k:0)>>>j|0){break g}h=n-v[g+4>>2]|0;if((h>>>0<=n>>>0?h:0)>>>j|0){break g}h=v[g+8>>2];k=h-r|0;if((h>>>0>=k>>>0?k:0)>>>j|0){break g}g=v[g+12>>2];h=g-m|0;if(!((g>>>0>=h>>>0?h:0)>>>j|0)){break f}}v[J+64>>2]=0;break e}E=E+1|0;if((i|0)!=(E|0)){continue}break}if(!v[J+64>>2]){break e}if(!i){break d}while(1){g=v[v[v[J+20>>2]>>2]+20>>2]+B(G,76)|0;b=(B(v[g+24>>2],152)+v[g+28>>2]|0)-152|0;j=v[b+4>>2];h=v[b+12>>2];i=v[b>>2];k=v[b+8>>2];b=v[J+68>>2];h:{if(v[b+(G<<2)>>2]?0:b){break h}b=h-j|0;i=k-i|0;i:{if((h|0)==(j|0)){break i}pi(b,0,i,0);if(!ta){break i}V=0;Fa(f,1,4933,0);break b}b=B(b,i);if(b>>>0>=1073741824){V=0;Fa(f,1,4933,0);break b}b=b<<2;v[g+44>>2]=b;j:{k:{l:{m:{j=v[g+36>>2];if(j){if(b>>>0<=y[g+48>>2]){break h}if(v[g+40>>2]){break m}}j=Ta(b);v[g+36>>2]=j;b=v[g+44>>2];n:{if(j){M=b;break n}M=0;if(b){break l}}v[g+48>>2]=M;E=g+40|0;break j}E=g+40|0;Ga(j);b=Ta(v[g+44>>2]);v[g+36>>2]=b;if(b){break k}v[g+48>>2]=0;v[g+44>>2]=0;v[g+40>>2]=0}V=0;Fa(f,1,4933,0);break b}v[g+48>>2]=v[g+44>>2]}v[E>>2]=1}G=G+1|0;b=v[J+24>>2];if(G>>>0>2]){continue}break}break d}if(!i){break d}T=v[b+24>>2];fa=v[v[v[J+20>>2]>>2]+20>>2];g=0;while(1){o:{if(v[(g<<2)+O>>2]?0:O){break o}j=fa+B(g,76)|0;n=v[j>>2];m=T+B(g,52)|0;h=v[m>>2];r=h-1|0;p=v[J+48>>2];q=r+p|0;k=0-!h|0;p=ri(q,p>>>0>q>>>0?k+1|0:k,h,0);P=n>>>0>p>>>0?n:p;v[j+56>>2]=P;p=v[j+4>>2];n=v[m+4>>2];q=n-1|0;l=v[J+52>>2];o=q+l|0;m=0-!n|0;l=ri(o,l>>>0>o>>>0?m+1|0:m,n,0);p=l>>>0

>>0?p:l;v[j+60>>2]=p;l=v[j+8>>2];o=v[J+56>>2];r=r+o|0;h=ri(r,o>>>0>r>>>0?k+1|0:k,h,0);r=h>>>0>l>>>0?l:h;v[j+64>>2]=r;h=v[j+12>>2];k=v[J+60>>2];q=q+k|0;k=ri(q,k>>>0>q>>>0?m+1|0:m,n,0);l=h>>>0>>0?h:k;v[j+68>>2]=l;if(l>>>0

>>0|r>>>0

>>0){break c}U=v[j+20>>2];if(!U){break o}K=v[j+28>>2];M=0;q=0;k=0;while(1){n=K+B(q,152)|0;H=U+(M^-1)|0;j=H&31;if((H&63)>>>0>=32){o=-1<>>32-j}m=h^-1;N=l+m|0;h=o^-1;o=l>>>0>N>>>0?h+1|0:h;j=H&31;la=o>>>j|0;V=(1<>>j;o=(H&63)>>>0>=32;v[n+148>>2]=o?la:ba;H=h+1|0;N=m+r|0;R=N>>>0>>0?H:h;v[n+144>>2]=o?R>>>j|0:(R&V)<>>j;N=m+p|0;R=N>>>0

>>0?H:h;v[n+140>>2]=o?R>>>j|0:((1<>>j;ba=n;n=h;h=m+P|0;n=m>>>0>h>>>0?H:n;v[ba+136>>2]=o?n>>>j|0:(n&V)<>>j;M=M+1|0;q=q+1|0;k=q?k:k+1|0;if(k|(q|0)!=(U|0)){continue}break}}g=g+1|0;if((i|0)!=(g|0)){continue}break}}V=0;v[na+8>>2]=0;M=cc(b,v[J+28>>2]);if(!M){break b}U=v[v[J+20>>2]>>2];l=qa-144|0;qa=l;P=v[J+36>>2];b=B(P,5644);k=v[M+4>>2];N=b+v[k+76>>2]|0;ma=v[N+420>>2];n=0;r=0;m=0;q=qa-32|0;qa=q;T=v[k+76>>2];Q=T+b|0;R=v[Q+420>>2];fa=v[M>>2];p=fa;o=v[p+16>>2];i=La(B(o,528));p:{if(!i){break p}j=La(o<<2);q:{if(!j){j=i;break q}b=sd(p,v[k+76>>2],P,f);if(b){r:{if(!o){break r}g=i;if(o>>>0>=8){H=o&-8;while(1){h=x<<2;v[h+j>>2]=g;v[(h|4)+j>>2]=g+528;v[(h|8)+j>>2]=g+1056;v[(h|12)+j>>2]=g+1584;v[(h|16)+j>>2]=g+2112;v[(h|20)+j>>2]=g+2640;v[(h|24)+j>>2]=g+3168;v[(h|28)+j>>2]=g+3696;x=x+8|0;g=g+4224|0;n=n+8|0;if((H|0)!=(n|0)){continue}break}}h=o&7;if(!h){break r}while(1){v[(x<<2)+j>>2]=g;x=x+1|0;g=g+528|0;r=r+1|0;if((h|0)!=(r|0)){continue}break}}W=R+1|0;gc(p,k,P,q+20|0,q+16|0,q+12|0,q+8|0,q+4|0,q,q+24|0,q+28|0,j);K=v[q+28>>2];H=v[q+24>>2];v[b+4>>2]=0;L=T+B(P,5644)|0;g=v[L+8>>2]+1|0;ja=B(o,H);X=B(ja,K);pi(g,0,X,0);s:{if(!ta){g=B(g,X);v[b+8>>2]=g;g=Ka(g,2);v[b+4>>2]=g;if(g){break s}}Ga(i);Ga(j);g=v[b+4>>2];if(g){Ga(g);v[b+4>>2]=0}if(!W){j=b;break q}h=0;n=b;while(1){g=v[n+200>>2];if(g){p=0;x=v[n+196>>2];if(x){while(1){j=v[g+12>>2];if(j){Ga(j);v[g+12>>2]=0;x=v[n+196>>2]}g=g+16|0;p=p+1|0;if(x>>>0>p>>>0){continue}break}g=v[n+200>>2]}Ga(g);v[n+200>>2]=0}n=n+240|0;g=(h|0)==(R|0);h=h+1|0;if(!g){continue}break}j=b;break q}k=v[p+24>>2];ia=v[q+20>>2];v[b+204>>2]=ia;ha=v[q+12>>2];v[b+208>>2]=ha;ka=v[q+16>>2];v[b+212>>2]=ka;E=v[q+8>>2];v[b+216>>2]=E;v[b+12>>2]=X;v[b+16>>2]=ja;v[b+20>>2]=H;m=1;v[b+24>>2]=1;if(o){n=v[b+200>>2];h=k;while(1){g=v[(F<<2)+j>>2];v[n>>2]=v[h>>2];v[n+4>>2]=v[h+4>>2];r=v[n+8>>2];t:{if(!r){break t}p=v[n+12>>2];if((r|0)!=1){G=r&-2;x=0;while(1){v[p>>2]=v[g>>2];v[p+4>>2]=v[g+4>>2];v[p+8>>2]=v[g+8>>2];v[p+12>>2]=v[g+12>>2];v[p+16>>2]=v[g+16>>2];v[p+20>>2]=v[g+20>>2];v[p+24>>2]=v[g+24>>2];v[p+28>>2]=v[g+28>>2];p=p+32|0;g=g+32|0;x=x+2|0;if((G|0)!=(x|0)){continue}break}}if(!(r&1)){break t}v[p>>2]=v[g>>2];v[p+4>>2]=v[g+4>>2];v[p+8>>2]=v[g+8>>2];v[p+12>>2]=v[g+12>>2]}h=h+52|0;n=n+16|0;F=F+1|0;if((o|0)!=(F|0)){continue}break}}if(W>>>0>1){r=b;while(1){v[r+456>>2]=E;v[r+452>>2]=ka;v[r+448>>2]=ha;v[r+444>>2]=ia;v[r+264>>2]=1;v[r+260>>2]=H;v[r+256>>2]=ja;v[r+252>>2]=X;if(o){n=v[r+440>>2];F=0;h=k;while(1){g=v[(F<<2)+j>>2];v[n>>2]=v[h>>2];v[n+4>>2]=v[h+4>>2];W=v[n+8>>2];u:{if(!W){break u}p=v[n+12>>2];if((W|0)!=1){G=W&-2;x=0;while(1){v[p>>2]=v[g>>2];v[p+4>>2]=v[g+4>>2];v[p+8>>2]=v[g+8>>2];v[p+12>>2]=v[g+12>>2];v[p+16>>2]=v[g+16>>2];v[p+20>>2]=v[g+20>>2];v[p+24>>2]=v[g+24>>2];v[p+28>>2]=v[g+28>>2];p=p+32|0;g=g+32|0;x=x+2|0;if((G|0)!=(x|0)){continue}break}}if(!(W&1)){break u}v[p>>2]=v[g>>2];v[p+4>>2]=v[g+4>>2];v[p+8>>2]=v[g+8>>2];v[p+12>>2]=v[g+12>>2]}h=h+52|0;n=n+16|0;F=F+1|0;if((o|0)!=(F|0)){continue}break}}g=v[r+8>>2];v[r+244>>2]=v[r+4>>2];v[r+248>>2]=g;g=(m|0)!=(R|0);r=r+240|0;m=m+1|0;if(g){continue}break}}Ga(i);Ga(j);j=v[Q+420>>2];v:{if(w[(T+B(P,5644)|0)+5640|0]&4){if((j|0)==-1){break v}p=(T+B(P,5644)|0)+424|0;h=v[L+8>>2];x=0;g=b;while(1){i=v[p+36>>2];v[g+44>>2]=1;v[g+84>>2]=i;v[g+48>>2]=v[p>>2];i=v[p+4>>2];v[g+68>>2]=0;v[g+72>>2]=0;v[g+52>>2]=i;v[g+60>>2]=v[p+12>>2];v[g- -64>>2]=v[p+16>>2];i=v[p+8>>2];v[g+76>>2]=H;v[g+56>>2]=i>>>0>>0?i:h;p=p+148|0;g=g+240|0;i=(j|0)==(x|0);x=x+1|0;if(!i){continue}break}break v}if((j|0)==-1){break v}k=j+1|0;n=k&1;h=v[(T+B(P,5644)|0)+4>>2];i=v[L+8>>2];g=b;if(j){j=k&-2;r=0;while(1){v[g+44>>2]=1;v[g+48>>2]=0;v[g+68>>2]=0;v[g+72>>2]=0;v[g+52>>2]=0;v[g+84>>2]=h;v[g+60>>2]=K;v[g- -64>>2]=v[g+196>>2];v[g+324>>2]=h;v[g+76>>2]=H;v[g+56>>2]=i;v[g+308>>2]=0;v[g+312>>2]=0;v[g+292>>2]=0;v[g+284>>2]=1;v[g+288>>2]=0;v[g+300>>2]=K;v[g+296>>2]=i;v[g+316>>2]=H;v[g+304>>2]=v[g+436>>2];g=g+480|0;r=r+2|0;if((j|0)!=(r|0)){continue}break}}if(!n){break v}v[g+44>>2]=1;v[g+48>>2]=0;v[g+68>>2]=0;v[g+72>>2]=0;v[g+52>>2]=0;v[g+84>>2]=h;v[g+60>>2]=K;v[g- -64>>2]=v[g+196>>2];v[g+76>>2]=H;v[g+56>>2]=i}m=b;break p}Ga(i)}Ga(j)}qa=q+32|0;i=m;w:{x:{if(!i){break x}o=ma+1|0;m=s;k=i;y:{z:{while(1){if(v[k+84>>2]==-1){break y}b=La(v[fa+16>>2]<<2);if(!b){break y}r=Ma(b,1,v[fa+16>>2]<<2);if(pb(k)){while(1){A:{B:{if(y[k+40>>2]>=y[N+12>>2]){break B}b=v[k+32>>2];g=v[U+20>>2]+B(v[k+28>>2],76)|0;if(b>>>0>=y[g+24>>2]){break B}g=v[g+28>>2]+B(b,152)|0;if(!v[g+24>>2]){break B}E=0;while(1){j=g+B(E,36)|0;b=v[j+48>>2]+B(v[k+36>>2],40)|0;if(!bc(J,v[k+28>>2],v[k+32>>2],v[j+44>>2],v[b>>2],v[b+4>>2],v[b+8>>2],v[b+12>>2])){E=E+1|0;if(E>>>0>2]){continue}break B}break}v[r+(v[k+28>>2]<<2)>>2]=0;v[l+136>>2]=0;if(!jd(v[M+4>>2],v[U+20>>2],N,k,l+140|0,m,l+136|0,A,f)){break z}x=v[l+136>>2];if(v[l+140>>2]){F=0;v[l+136>>2]=0;T=v[(v[U+20>>2]+B(v[k+28>>2],76)|0)+28>>2]+B(v[k+32>>2],152)|0;j=v[T+24>>2];C:{if(!j){break C}F=A-x|0;R=m+A|0;P=T+28|0;n=0;q=0;X=m+x|0;g=X;while(1){D:{if(v[P+8>>2]==v[P>>2]|v[P+12>>2]==v[P+4>>2]){break D}b=v[P+20>>2]+B(v[k+36>>2],40)|0;W=B(v[b+20>>2],v[b+16>>2]);if(!W){break D}E=v[b+24>>2];H=0;while(1){if(q){v[E+52>>2]=0}h=v[E+36>>2];if(h){j=v[E>>2];p=v[E+40>>2];E:{if(p){b=B(p,24)+j|0;j=b-24|0;if(v[j+4>>2]!=v[j+12>>2]){break E}j=b;b=p+1|0}else{b=1}v[E+40>>2]=b}F:{while(1){b=v[j+20>>2];G:{if(b>>>0>(g^-1)>>>0|R>>>0>>0|q){h=v[k+28>>2];p=v[k+32>>2];q=v[k+36>>2];if(v[v[M+4>>2]+104>>2]){v[l+120>>2]=h;v[l+116>>2]=p;v[l+112>>2]=n;v[l+108>>2]=q;v[l+104>>2]=H;v[l+100>>2]=F;v[l+96>>2]=b;Fa(f,1,26216,l+96|0);break z}v[l+88>>2]=h;v[l+84>>2]=p;v[l+80>>2]=n;v[l+76>>2]=q;v[l+72>>2]=H;v[l+68>>2]=F;v[l+64>>2]=b;Fa(f,2,26216,l- -64|0);v[E+52>>2]=0;b=v[j+16>>2];v[j+4>>2]=b+v[j+4>>2];p=v[E+36>>2];h=p-b|0;v[E+36>>2]=h;q=1;if((b|0)==(p|0)){break G}j=v[E+40>>2]+1|0;v[E+40>>2]=j;break F}q=v[E+52>>2];H:{if((q|0)!=v[E+56>>2]){p=v[E+4>>2];break H}b=q<<1|1;p=Pa(v[E+4>>2],b<<3);if(!p){Fa(f,1,1035,0);break z}v[E+56>>2]=b;v[E+4>>2]=p;h=v[E+36>>2];q=v[E+52>>2];b=v[j+20>>2]}p=(q<<3)+p|0;v[p+4>>2]=b;v[p>>2]=g;v[E+52>>2]=q+1;v[j>>2]=v[j>>2]+b;K=v[j+16>>2];q=K+v[j+4>>2]|0;v[j+4>>2]=q;p=h-K|0;v[E+36>>2]=p;v[j+8>>2]=q;g=b+g|0;q=0;if((h|0)!=(K|0)){v[E+40>>2]=v[E+40>>2]+1;j=j+24|0}h=p}if(h){continue}break}j=v[E+40>>2]}v[E+44>>2]=j}E=E- -64|0;H=H+1|0;if((W|0)!=(H|0)){continue}break}j=v[T+24>>2]}P=P+36|0;n=n+1|0;if(n>>>0>>0){continue}break}if(q){break C}F=g-X|0}x=x+F|0}j=v[k+28>>2];g=v[fa+24>>2]+B(j,52)|0;b=v[g+36>>2];h=g;g=v[k+32>>2];v[h+36>>2]=b>>>0>>0?g:b;break A}v[l+136>>2]=0;if(!jd(v[M+4>>2],v[U+20>>2],N,k,l+140|0,m,l+136|0,A,f)){break z}x=v[l+136>>2];if(v[l+140>>2]){P=v[(v[U+20>>2]+B(v[k+28>>2],76)|0)+28>>2]+B(v[k+32>>2],152)|0;j=v[P+24>>2];I:{if(!j){g=0;break I}q=A-x|0;n=P+28|0;g=0;H=0;while(1){J:{if(v[n+8>>2]==v[n>>2]|v[n+12>>2]==v[n+4>>2]){break J}b=v[n+20>>2]+B(v[k+36>>2],40)|0;K=B(v[b+20>>2],v[b+16>>2]);if(!K){break J}E=v[b+24>>2];p=0;while(1){K:{h=v[E+36>>2];if(!h){break K}j=v[E>>2];L:{M:{F=v[E+40>>2];if(F){j=B(F,24)+j|0;b=j-24|0;if(v[b+4>>2]!=v[b+12>>2]){j=b;break M}S=F+1|0}else{S=1}b=0;break L}b=1}while(1){if(!b){v[E+40>>2]=S;b=1;continue}N:{O:{F=v[j+20>>2];b=F+g|0;if(!(b>>>0>=F>>>0&b>>>0<=q>>>0)){b=v[k+28>>2];h=v[k+32>>2];T=v[k+36>>2];if(v[v[M+4>>2]+104>>2]){break O}v[l+24>>2]=b;v[l+20>>2]=h;v[l+16>>2]=H;v[l+12>>2]=T;v[l+8>>2]=p;v[l+4>>2]=q;v[l>>2]=F;Fa(f,2,26131,l);h=v[E+36>>2];b=v[j+20>>2]+g|0}F=v[j+16>>2];v[j+4>>2]=F+v[j+4>>2];g=h-F|0;v[E+36>>2]=g;if((h|0)!=(F|0)){break N}g=b;break K}v[l+56>>2]=b;v[l+52>>2]=h;v[l+48>>2]=H;v[l+44>>2]=T;v[l+40>>2]=p;v[l+36>>2]=q;v[l+32>>2]=F;Fa(f,1,26131,l+32|0);break z}j=j+24|0;S=v[E+40>>2]+1|0;h=g;g=b;b=0;continue}}E=E- -64|0;p=p+1|0;if((K|0)!=(p|0)){continue}break}j=v[P+24>>2]}n=n+36|0;H=H+1|0;if(H>>>0>>0){continue}break}}x=g+x|0}j=v[k+28>>2]}P:{if(!v[r+(j<<2)>>2]){break P}b=v[fa+24>>2]+B(j,52)|0;if(v[b+36>>2]){break P}v[b+36>>2]=v[(v[U+20>>2]+B(j,76)|0)+24>>2]-1}A=A-x|0;m=m+x|0;if(pb(k)){continue}break}}Ga(r);k=k+240|0;I=I+1|0;if(I>>>0<=y[N+420>>2]){continue}break}Db(i,o);v[na+8>>2]=m-s;b=1;break w}Db(i,o);Ga(r);break x}Db(i,o)}b=0}qa=l+144|0;ab(M);if(!b){break b}E=v[v[J+32>>2]+5584>>2];q=v[v[J+20>>2]>>2];M=v[q+20>>2];v[na+12>>2]=1;m=pe();G=0;b=v[J+32>>2];l=v[E+16>>2]>>>4&1&v[b+12>>2]==v[b+8>>2];V=v[q+16>>2];Q:{if(!V){break Q}while(1){b=v[J+68>>2];if(!(v[b+(G<<2)>>2]?0:b)){o=na+12|0;A=0;h=v[M+24>>2];R:{if(!h){break R}F=v[J+44>>2];while(1){n=v[M+28>>2]+B(A,152)|0;k=v[n+24>>2];if(k){h=v[n+20>>2];i=v[n+16>>2];r=0;while(1){if(B(i,h)){s=n+B(r,36)|0;x=s+28|0;p=0;while(1){g=v[s+48>>2]+B(p,40)|0;j=bc(J,v[M+16>>2],A,v[s+44>>2],v[g>>2],v[g+4>>2],v[g+8>>2],v[g+12>>2]);i=v[g+20>>2];k=v[g+16>>2];b=B(i,k);S:{if(j){if(!b){break S}k=0;while(1){j=v[g+24>>2]+(k<<6)|0;T:{if(!bc(J,v[M+16>>2],A,v[s+44>>2],v[j+8>>2],v[j+12>>2],v[j+16>>2],v[j+20>>2])){b=v[j+60>>2];if(!b){break T}Ga(b);v[j+60>>2]=0;break T}if(!(v[j+60>>2]|v[j+16>>2]==v[j+8>>2]|v[j+20>>2]==v[j+12>>2]?v[J+64>>2]:1)){break T}b=Ka(1,44);if(!b){v[na+12>>2]=0;break R}h=v[J+64>>2];v[b+36>>2]=m;v[b+28>>2]=o;v[b+20>>2]=E;v[b+16>>2]=M;v[b+12>>2]=x;v[b+8>>2]=j;v[b+4>>2]=A;v[b>>2]=h;v[b+40>>2]=l;v[b+32>>2]=f;v[b+24>>2]=v[F+4>>2]>1;kb(F,248,b);if(!v[na+12>>2]){break R}}k=k+1|0;if(k>>>0>2],v[g+16>>2])>>>0){continue}break}break S}if(!b){break S}h=0;while(1){b=v[g+24>>2]+(h<<6)|0;j=v[b+60>>2];if(j){Ga(j);v[b+60>>2]=0;k=v[g+16>>2];i=v[g+20>>2]}h=h+1|0;if(h>>>0>>0){continue}break}}p=p+1|0;i=v[n+16>>2];h=v[n+20>>2];if(p>>>0>>0){continue}break}k=v[n+24>>2]}r=r+1|0;if(r>>>0>>0){continue}break}h=v[M+24>>2]}A=A+1|0;if(A>>>0>>0){continue}break}}if(!v[na+12>>2]){break Q}V=v[q+16>>2]}E=E+1080|0;M=M+76|0;G=G+1|0;if(V>>>0>G>>>0){continue}break}}V=0;$a(v[J+44>>2]);if(m){ab(m)}if(!v[na+12>>2]){break b}U:{if(v[J+64>>2]){break U}M=v[J+24>>2];if(!v[M+16>>2]){break U}E=0;while(1){b=v[v[v[J+20>>2]>>2]+20>>2]+B(E,76)|0;g=v[b+28>>2]+B(v[(v[M+24>>2]+B(E,52)|0)+36>>2],152)|0;j=v[g+136>>2];h=v[g+144>>2];i=v[g+140>>2];g=v[g+148>>2];Ga(v[b+52>>2]);v[b+52>>2]=0;V:{k=v[J+68>>2];if((h|0)==(j|0)|(v[k+(E<<2)>>2]?0:k)|(g|0)==(i|0)){break V}g=g-i|0;j=h-j|0;pi(g,0,j,0);if(ta){Fa(f,1,4933,0);break b}g=B(g,j);if(g>>>0>=1073741824){Fa(f,1,4933,0);break b}h=b;b=Ta(g<<2);v[h+52>>2]=b;if(b){break V}Fa(f,1,4933,0);break b}E=E+1|0;M=v[J+24>>2];if(E>>>0>2]){continue}break}}da=v[v[J+20>>2]>>2];if(v[da+16>>2]){G=v[da+20>>2];E=v[v[J+32>>2]+5584>>2];M=v[v[J+24>>2]+24>>2];O=0;while(1){W:{b=v[J+68>>2];if(v[b+(O<<2)>>2]?0:b){break W}g=v[M+36>>2]+1|0;if(v[E+20>>2]==1){U=g;g=0;Y=qa-32|0;qa=Y;X:{Y:{if(v[J+64>>2]){b=1;if((U|0)==1){break X}i=v[G+28>>2];x=U-1|0;g=x&1;n=v[J+44>>2];Z:{if((U|0)==2){k=0;j=i;break Z}h=x&-2;k=0;j=i;b=0;while(1){m=v[j+160>>2]-v[j+152>>2]|0;k=k>>>0>m>>>0?k:m;m=v[j+164>>2]-v[j+156>>2]|0;k=k>>>0>m>>>0?k:m;m=v[j+312>>2]-v[j+304>>2]|0;k=k>>>0>m>>>0?k:m;m=v[j+316>>2]-v[j+308>>2]|0;k=k>>>0>m>>>0?k:m;j=j+304|0;b=b+2|0;if((h|0)!=(b|0)){continue}break}}if(g){b=v[j+160>>2]-v[j+152>>2]|0;b=b>>>0>>0?k:b;g=v[j+164>>2]-v[j+156>>2]|0;k=b>>>0>g>>>0?b:g}b=0;if(k>>>0>134217727){break X}g=(B(v[G+24>>2],152)+i|0)-152|0;j=v[g>>2];g=v[g+8>>2];h=v[i+4>>2];A=v[i+12>>2];q=v[i>>2];F=v[i+8>>2];s=v[n+4>>2];r=k<<5;m=nb(r);v[Y+16>>2]=m;if(!m){break X}v[Y>>2]=m;if(x){p=g-j|0;g=A-h|0;h=F-q|0;while(1){A=v[G+36>>2];b=g;v[Y+8>>2]=b;g=h;v[Y+24>>2]=g;j=v[i+156>>2];k=v[i+164>>2];h=v[i+160>>2];q=v[i+152>>2];v[Y+28>>2]=(q|0)%2;h=h-q|0;v[Y+20>>2]=h-g;l=(s|0)<2;g=k-j|0;_:{if(!(!l&g>>>0>1)){j=0;if(!g){break _}while(1){he(Y+16|0,A+(B(j,p)<<2)|0);j=j+1|0;if((j|0)!=(g|0)){continue}break}break _}q=g>>>0>>0?g:s;o=q-1|0;F=(g>>>0)/(q>>>0)|0;k=0;while(1){j=La(36);if(!j){break Y}H=v[Y+20>>2];v[j>>2]=v[Y+16>>2];v[j+4>>2]=H;H=v[Y+28>>2];v[j+8>>2]=v[Y+24>>2];v[j+12>>2]=H;v[j+28>>2]=B(k,F);v[j+24>>2]=A;v[j+20>>2]=p;v[j+16>>2]=h;H=(k|0)==(o|0);k=k+1|0;v[j+32>>2]=H?g:B(F,k);H=nb(r);v[j>>2]=H;if(!H){b=0;$a(n);Ga(j);Ga(m);break X}kb(n,113,j);if((k|0)!=(q|0)){continue}break}$a(n)}v[Y+4>>2]=g-b;v[Y+12>>2]=v[i+156>>2]%2;$:{if(!(!l&h>>>0>1)){k=8;j=0;if(h>>>0>=8){while(1){Rb(Y,A+(j<<2)|0,p,8);j=k;k=j+8|0;if(k>>>0<=h>>>0){continue}break}}if(h>>>0<=j>>>0){break $}Rb(Y,A+(j<<2)|0,p,h-j|0);break $}b=h>>>0>>0?h:s;F=b-1|0;q=(h>>>0)/(b>>>0)|0;k=0;while(1){j=La(36);if(!j){break Y}l=v[Y+4>>2];v[j>>2]=v[Y>>2];v[j+4>>2]=l;l=v[Y+12>>2];v[j+8>>2]=v[Y+8>>2];v[j+12>>2]=l;v[j+28>>2]=B(k,q);v[j+24>>2]=A;v[j+20>>2]=p;v[j+16>>2]=g;l=(k|0)==(F|0);k=k+1|0;v[j+32>>2]=l?h:B(q,k);l=nb(r);v[j>>2]=l;if(!l){b=0;$a(n);Ga(j);Ga(m);break X}kb(n,114,j);if((b|0)!=(k|0)){continue}break}$a(n)}i=i+152|0;x=x-1|0;if(x){continue}break}}b=1;Ga(m);break X}b=1;m=v[G+28>>2];pa=U-1|0;Z=m+B(pa,152)|0;if(v[Z>>2]==v[Z+8>>2]|v[Z+4>>2]==v[Z+12>>2]){break X}h=v[m+4>>2];i=v[m+12>>2];k=v[m>>2];s=v[m+8>>2];T=v[G+68>>2];fa=v[G+64>>2];K=v[G+60>>2];I=v[G+56>>2];ea=ge(G,U);if(!ea){b=0;break X}aa:{ba:{ca:{da:{ea:{if((U|0)!=1){n=pa&1;if((U|0)!=2){break ea}b=0;j=m;break da}break ca}p=pa&-2;b=0;j=m;while(1){A=v[j+160>>2]-v[j+152>>2]|0;b=b>>>0>A>>>0?b:A;A=v[j+164>>2]-v[j+156>>2]|0;b=b>>>0>A>>>0?b:A;A=v[j+312>>2]-v[j+304>>2]|0;b=b>>>0>A>>>0?b:A;A=v[j+316>>2]-v[j+308>>2]|0;b=b>>>0>A>>>0?b:A;j=j+304|0;g=g+2|0;if((p|0)!=(g|0)){continue}break}}if(n){g=v[j+160>>2]-v[j+152>>2]|0;b=b>>>0>g>>>0?b:g;g=v[j+164>>2]-v[j+156>>2]|0;b=b>>>0>g>>>0?b:g}if(b>>>0>=268435456){break aa}l=nb(b<<4);if(!l){break aa}fa:{if(U>>>0<2){break fa}n=i-h|0;q=s-k|0;eb=l+28|0;ja=l+24|0;ma=l+20|0;la=l+4|0;ra=1;P=m;ga:while(1){b=v[P+156>>2];R=v[P+164>>2]-b|0;ga=R-n|0;g=v[P+152>>2];oa=(g|0)%2|0;sa=(b|0)%2|0;X=v[P+160>>2]-g|0;_=X-q|0;j=I;g=j;x=K;h=x;b=fa;r=b;F=T;H=F;i=v[G+20>>2];ha:{if((i|0)==(ra|0)){break ha}i=i-ra|0;h=0;g=0;if(I){b=i&31;if((i&63)>>>0>=32){o=-1<>>32-b}g=I+(g^-1)|0;b=o^-1;j=g>>>0>>0?b+1|0:b;b=i&31;g=(i&63)>>>0>=32?j>>>b|0:((1<>>b}if(K){b=i&31;if((i&63)>>>0>=32){o=-1<>>32-b}j=K+(j^-1)|0;b=o^-1;h=j>>>0>>0?b+1|0:b;b=i&31;h=(i&63)>>>0>=32?h>>>b|0:((1<>>b}F=0;b=0;if(fa){b=i&31;if((i&63)>>>0>=32){o=-1<>>32-b}j=fa+(j^-1)|0;b=o^-1;k=j>>>0>>0?b+1|0:b;b=i&31;b=(i&63)>>>0>=32?k>>>b|0:((1<>>b}if(T){j=i&31;if((i&63)>>>0>=32){o=-1<>>32-j}k=T+(k^-1)|0;j=o^-1;s=k>>>0>>0?j+1|0:j;j=i&31;F=(i&63)>>>0>=32?s>>>j|0:((1<>>j}r=0;j=0;k=1<>>0>>0){j=i&31;if((i&63)>>>0>=32){o=-1<>>32-j}j=s^-1;s=j+(I-k|0)|0;p=o^-1;p=j>>>0>s>>>0?p+1|0:p;j=i&31;j=(i&63)>>>0>=32?p>>>j|0:((1<>>j}if(k>>>0>>0){s=i&31;if((i&63)>>>0>=32){o=-1<>>32-s}s=p^-1;p=s+(fa-k|0)|0;A=o^-1;A=p>>>0>>0?A+1|0:A;s=i&31;r=(i&63)>>>0>=32?A>>>s|0:((1<>>s}H=0;x=0;if(k>>>0>>0){s=i&31;if((i&63)>>>0>=32){o=-1<>>32-s}s=p^-1;p=s+(K-k|0)|0;A=o^-1;A=p>>>0>>0?A+1|0:A;s=i&31;x=(i&63)>>>0>=32?A>>>s|0:((1<>>s}if(k>>>0>=T>>>0){break ha}s=i&31;if((i&63)>>>0>=32){o=-1<>>32-s}p=p^-1;s=p+(T-k|0)|0;k=o^-1;p=p>>>0>s>>>0?k+1|0:k;k=i&31;H=(i&63)>>>0>=32?p>>>k|0:((1<>>k}i=v[P+180>>2];k=r-i|0;k=(k>>>0<=r>>>0?k:0)+2|0;k=0-(k>>>0<2)|k;ca=k>>>0<_>>>0?k:_;k=v[P+216>>2];s=b-k|0;b=(b>>>0>=s>>>0?s:0)+2|0;b=0-(b>>>0<2)|b;$=b>>>0>>0?b:q;b=(oa?ca:$)<<1;s=(oa?$:ca)<<1|1;wa=b>>>0>s>>>0?b:s;b=wa>>>0>>0;i=j-i|0;j=i>>>0<=j>>>0?i:0;i=j-2|0;A=i>>>0<=j>>>0?i:0;j=g-k|0;g=g>>>0>=j>>>0?j:0;j=g-2|0;i=g>>>0>=j>>>0?j:0;g=(oa?A:i)<<1;j=(oa?i:A)<<1|1;o=g>>>0>>0;r=v[P+184>>2];k=h-r|0;h=h>>>0>=k>>>0?k:0;k=h-2|0;k=h>>>0>=k>>>0?k:0;p=k;h=v[P+220>>2];s=x-h|0;s=s>>>0<=x>>>0?s:0;x=s-2|0;s=s>>>0>=x>>>0?x:0;Q=s;r=F-r|0;r=(r>>>0<=F>>>0?r:0)+2|0;r=0-(r>>>0<2)|r;r=n>>>0>r>>>0?r:n;ia=r;h=H-h|0;h=(h>>>0<=H>>>0?h:0)+2|0;h=0-(h>>>0<2)|h;S=h>>>0>>0?h:ga;N=S;if(sa){Q=k;ia=S;N=r;p=s}ua=b?wa:X;F=o?g:j;fb=n+S|0;gb=n+s|0;if(R){b=_<<1;g=b-1|0;j=(i|0)<(_|0);Ea=l+((j?i<<1|1:g)<<2)|0;W=(q|0)>(ca|0)?ca:q-1|0;H=0;Ha=(q|0)>1|(_|0)>0;Na=(ua|0)!=0&X>>>0>wa>>>0;h=oa<<2;Oa=(la-h|0)+(A<<3)|0;xa=l+(i<<3)|0;Qa=xa+h|0;L=(_|0)>($|0)?$:_;ha=i+1|0;za=q+ca|0;Ra=q+A|0;Sa=l+(F<<2)|0;Ua=!q&(_|0)==1;Aa=l+(ua<<2)|0;Va=Aa-4|0;h=q<<1;Ba=h-2|0;ka=l+(Ba<<2)|0;Xa=l+(g<<2)|0;Ca=h-1|0;Ya=l+(Ca<<2)|0;Da=b-2|0;Za=l+(Da<<2)|0;_a=(l+((j?i:_)<<3)|0)-4|0;while(1){ia:{if(!(k>>>0<=H>>>0&r>>>0>H>>>0|H>>>0>>0&H>>>0>=gb>>>0)){o=H+1|0;break ia}if(Na){v[Va>>2]=0}if(X>>>0>wa>>>0){v[Aa>>2]=0}o=H+1|0;cb(ea,i,H,$,o,Qa,2,0);cb(ea,Ra,H,za,o,Oa,2,0);ja:{ka:{la:{if(!oa){if(!Ha){break ja}if((i|0)>=($|0)){break ka}ma:{na:{if((i|0)>0){b=v[_a>>2];break na}b=v[la>>2];g=b;if((i|0)<0){break ma}}g=b;b=v[Ea>>2]}v[xa>>2]=v[xa>>2]-((b+g|0)+2>>2);b=ha;g=b;h=i;if((b|0)>=(L|0)){break la}while(1){b=l+(g<<3)|0;v[b>>2]=v[b>>2]-((v[(l+(h<<3)|0)+4>>2]+v[b+4>>2]|0)+2>>2);h=g;g=g+1|0;if((L|0)!=(g|0)){continue}break}b=L;break la}oa:{if(!Ua){b=i;if(($|0)<=(b|0)){break oa}while(1){g=l+(b<<3)|0;h=v[g+4>>2];x=Za;pa:{qa:{if((b|0)>=0){j=v[l+(((b|0)<(_|0)?b<<1:Da)<<2)>>2];b=b+1|0;break qa}j=v[l>>2];if((b|0)!=-1){b=b+1|0;x=l;break pa}b=0}if((b|0)>=(_|0)){break pa}x=l+(b<<3)|0}v[g+4>>2]=h-((v[x>>2]+j|0)+2>>2);if((b|0)<($|0)){continue}break}break oa}v[l>>2]=v[l>>2]/2;break ja}b=A;if((ca|0)<=(b|0)){break ja}while(1){g=l+(b<<3)|0;j=v[g>>2];ra:{if((b|0)<0){x=v[la>>2];ba=la;break ra}h=b<<1;x=v[l+(((b|0)<(q|0)?h|1:Ca)<<2)>>2];ba=la;if(!b){break ra}ba=Ya;if((b|0)>(q|0)){break ra}ba=(l+(h<<2)|0)-4|0}h=ba;v[g>>2]=j+(v[h>>2]+x>>1);b=b+1|0;if((ca|0)!=(b|0)){continue}break}break ja}if((b|0)>=($|0)){break ka}while(1){g=l+(b<<3)|0;j=v[g>>2];sa:{ta:{if((b|0)>0){x=v[(l+(((b|0)<(_|0)?b:_)<<3)|0)-4>>2];break ta}x=v[la>>2];h=la;if((b|0)<0){break sa}}h=Xa;if((b|0)>=(_|0)){break sa}h=(l+(b<<3)|0)+4|0}v[g>>2]=j-((v[h>>2]+x|0)+2>>2);b=b+1|0;if(($|0)!=(b|0)){continue}break}}if((A|0)>=(ca|0)){break ja}g=A;b=g;if((W|0)>(b|0)){while(1){g=l+(b<<3)|0;b=b+1|0;v[g+4>>2]=v[g+4>>2]+(v[l+(b<<3)>>2]+v[g>>2]>>1);if((b|0)!=(W|0)){continue}break}g=W}if((g|0)>=(ca|0)){break ja}while(1){b=ka;j=g;ua:{va:{if((g|0)>=0){h=v[l+(((j|0)<(q|0)?j<<1:Ba)<<2)>>2];g=j+1|0;break va}h=v[l>>2];if((j|0)!=-1){g=j+1|0;b=l;break ua}g=0}if((q|0)<=(g|0)){break ua}b=l+(g<<3)|0}j=l+(j<<3)|0;v[j+4>>2]=v[j+4>>2]+(v[b>>2]+h>>1);if((g|0)<(ca|0)){continue}break}}if(!rb(ea,F,H,ua,o,Sa,1,0)){break ba}}H=o;if((R|0)!=(o|0)){continue}break}}P=P+152|0;b=ia<<1;g=N<<1|1;b=b>>>0>g>>>0?b:g;oa=b>>>0>>0?b:R;j=k<<3;b=ga<<3;ia=b-1|0;g=(k|0)<(ga|0);wa=l+((g?j|7:ia)<<2)|0;ha=b-2|0;xa=l+((g?j|6:ha)<<2)|0;ka=b-3|0;Ea=l+((g?j|5:ka)<<2)|0;_=b-4|0;Ha=l+((g?j|4:_)<<2)|0;A=(n|0)>(S|0)?S:n-1|0;j=(ga|0)>0;Na=j|(n|0)>1;H=l+(k<<5)|0;Oa=H+(sa<<4)|0;Qa=(l+(4-(sa<<2)<<2)|0)+(s<<5)|0;h=n<<3;ca=h-8|0;N=l+(((n|0)<=0?ca:0)<<2)|0;$=b-8|0;W=l+((j?0:$)<<2)|0;q=(r|0)<(ga|0)?r:ga;o=k+1|0;b=p<<1;j=Q<<1|1;za=b>>>0>>0?b:j;Ra=l+(za<<4)|0;Sa=!n&(ga|0)==1;b=l+(n<<5)|0;Ua=b-20|0;Aa=b-24|0;Va=b-28|0;Ba=b-4|0;Xa=b-8|0;Ca=b-12|0;b=l+(ga<<5)|0;Ya=b-20|0;Da=b-24|0;Za=b-28|0;_a=l+(ca<<2)|0;lb=l+(ia<<2)|0;mb=l+(ha<<2)|0;ob=l+(ka<<2)|0;qb=l+(_<<2)|0;ib=h-4|0;sb=l+(ib<<2)|0;tb=l+($<<2)|0;b=l+((g?k:ga)<<5)|0;ub=b-4|0;p=b-8|0;x=b-12|0;vb=b-16|0;while(1){wa:{xa:{ya:{za:{j=F;if(j>>>0>>0){b=ua-j|0;F=j+(b>>>0>=4?4:b)|0;cb(ea,j,k,F,r,Oa,1,8);cb(ea,j,gb,F,fb,Qa,1,8);if(!sa){if(!Na){break wa}if((k|0)>=(r|0)){break xa}Aa:{if((k|0)>0){b=v[vb>>2];i=p;h=x;g=ub;break Aa}b=v[l+16>>2];if((k|0)<0){break za}i=ja;h=ma;g=eb}v[H>>2]=v[H>>2]-((v[Ha>>2]+b|0)+2>>2);v[H+4>>2]=v[H+4>>2]-((v[h>>2]+v[Ea>>2]|0)+2>>2);v[H+8>>2]=v[H+8>>2]-((v[i>>2]+v[xa>>2]|0)+2>>2);b=v[wa>>2];g=v[g>>2];break ya}if(Sa){v[l>>2]=v[l>>2]/2;v[l+4>>2]=v[l+4>>2]/2;v[l+8>>2]=v[l+8>>2]/2;v[l+12>>2]=v[l+12>>2]/2;break wa}b=k;if((r|0)>(b|0)){while(1){g=b<<3;h=g|4;Ba:{Ca:{if((b|0)<0){h=l+(h<<2)|0;i=v[h>>2];L=v[l>>2];if((b|0)==-1){break Ca}v[h>>2]=i-((L<<1)+2>>2);g=g<<2;h=l+(g|20)|0;v[h>>2]=v[h>>2]-((v[l+4>>2]<<1)+2>>2);h=l+(g|24)|0;v[h>>2]=v[h>>2]-((v[l+8>>2]<<1)+2>>2);i=(v[l+12>>2]<<1)+2|0;g=l+(g|28)|0;break Ba}i=(b|0)<(ga|0)?g:$;L=b+1|0;if((L|0)>=(ga|0)){h=l+(h<<2)|0;ba=h;Q=v[h>>2];h=i<<2;v[ba>>2]=Q-((v[h+l>>2]+v[tb>>2]|0)+2>>2);g=g<<2;i=l+(g|20)|0;v[i>>2]=v[i>>2]-((v[l+(h|4)>>2]+v[Za>>2]|0)+2>>2);i=l+(g|24)|0;v[i>>2]=v[i>>2]-((v[l+(h|8)>>2]+v[Da>>2]|0)+2>>2);i=(v[l+(h|12)>>2]+v[Ya>>2]|0)+2|0;g=l+(g|28)|0;break Ba}h=l+(h<<2)|0;ba=h;Q=v[h>>2];h=i<<2;i=l+(L<<5)|0;v[ba>>2]=Q-((v[h+l>>2]+v[i>>2]|0)+2>>2);g=g<<2;L=l+(g|20)|0;v[L>>2]=v[L>>2]-((v[l+(h|4)>>2]+v[i+4>>2]|0)+2>>2);L=l+(g|24)|0;v[L>>2]=v[L>>2]-((v[l+(h|8)>>2]+v[i+8>>2]|0)+2>>2);i=(v[l+(h|12)>>2]+v[i+12>>2]|0)+2|0;g=l+(g|28)|0;break Ba}v[h>>2]=i-((L+v[W>>2]|0)+2>>2);g=g<<2;h=l+(g|20)|0;v[h>>2]=v[h>>2]-((v[l+4>>2]+v[W+4>>2]|0)+2>>2);h=l+(g|24)|0;v[h>>2]=v[h>>2]-((v[l+8>>2]+v[W+8>>2]|0)+2>>2);i=(v[l+12>>2]+v[W+12>>2]|0)+2|0;g=l+(g|28)|0}v[g>>2]=v[g>>2]-(i>>2);b=b+1|0;if((r|0)!=(b|0)){continue}break}}b=s;if((S|0)<=(b|0)){break wa}while(1){h=b<<3;Da:{if((b|0)<0){g=h<<2;h=g+l|0;v[h>>2]=v[h>>2]+(v[l+16>>2]<<1>>1);h=l+(g|4)|0;v[h>>2]=v[h>>2]+(v[l+20>>2]<<1>>1);h=l+(g|8)|0;v[h>>2]=v[h>>2]+(v[l+24>>2]<<1>>1);i=v[l+28>>2]<<1;g=l+(g|12)|0;break Da}g=((b|0)<(n|0)?h|4:ib)<<2;L=v[g+l>>2];h=h<<2;i=h+l|0;Q=v[i>>2];if(!b){v[i>>2]=Q+(L+v[l+16>>2]>>1);i=l+(h|4)|0;v[i>>2]=v[i>>2]+(v[l+20>>2]+v[l+(g|4)>>2]>>1);i=l+(h|8)|0;v[i>>2]=v[i>>2]+(v[l+24>>2]+v[l+(g|8)>>2]>>1);i=v[l+28>>2]+v[l+(g|12)>>2]|0;g=l+(h|12)|0;break Da}if((b|0)<=(n|0)){v[i>>2]=Q+(L+v[i-16>>2]>>1);L=l+(h|4)|0;v[L>>2]=v[L>>2]+(v[i-12>>2]+v[l+(g|4)>>2]>>1);L=l+(h|8)|0;v[L>>2]=v[L>>2]+(v[i-8>>2]+v[l+(g|8)>>2]>>1);i=v[i-4>>2]+v[l+(g|12)>>2]|0;g=l+(h|12)|0;break Da}v[i>>2]=Q+(L+v[sb>>2]>>1);i=l+(h|4)|0;v[i>>2]=v[i>>2]+(v[Ca>>2]+v[l+(g|4)>>2]>>1);i=l+(h|8)|0;v[i>>2]=v[i>>2]+(v[Xa>>2]+v[l+(g|8)>>2]>>1);i=v[Ba>>2]+v[l+(g|12)>>2]|0;g=l+(h|12)|0}v[g>>2]=v[g>>2]+(i>>1);b=b+1|0;if((S|0)!=(b|0)){continue}break}break wa}q=X;n=R;ra=ra+1|0;if((U|0)!=(ra|0)){continue ga}break fa}v[H>>2]=v[H>>2]-((b<<1)+2>>2);v[H+4>>2]=v[H+4>>2]-((v[ma>>2]<<1)+2>>2);v[H+8>>2]=v[H+8>>2]-((v[ja>>2]<<1)+2>>2);b=v[eb>>2];g=b}v[H+12>>2]=v[H+12>>2]-((b+g|0)+2>>2);h=k;g=o;b=g;if((q|0)>(b|0)){while(1){b=l+(g<<5)|0;h=l+(h<<5)|0;v[b>>2]=v[b>>2]-((v[h+16>>2]+v[b+16>>2]|0)+2>>2);v[b+4>>2]=v[b+4>>2]-((v[h+20>>2]+v[b+20>>2]|0)+2>>2);v[b+8>>2]=v[b+8>>2]-((v[h+24>>2]+v[b+24>>2]|0)+2>>2);v[b+12>>2]=v[b+12>>2]-((v[h+28>>2]+v[b+28>>2]|0)+2>>2);h=g;g=g+1|0;if((q|0)!=(g|0)){continue}break}b=q}if((b|0)>=(r|0)){break xa}while(1){g=b<<3;h=(b|0)<(ga|0);Ea:{if((b|0)<=0){i=v[l+16>>2];if((b|0)>=0){L=g<<2;Q=L+l|0;v[Q>>2]=v[Q>>2]-((i+v[l+((h?g|4:_)<<2)>>2]|0)+2>>2);i=l+(L|4)|0;v[i>>2]=v[i>>2]-((v[l+20>>2]+v[l+((h?g|5:ka)<<2)>>2]|0)+2>>2);i=l+(L|8)|0;v[i>>2]=v[i>>2]-((v[l+24>>2]+v[l+((h?g|6:ha)<<2)>>2]|0)+2>>2);h=(v[l+28>>2]+v[l+((h?g|7:ia)<<2)>>2]|0)+2|0;break Ea}h=g<<2;L=h+l|0;v[L>>2]=v[L>>2]-((i<<1)+2>>2);i=l+(h|4)|0;v[i>>2]=v[i>>2]-((v[l+20>>2]<<1)+2>>2);h=l+(h|8)|0;v[h>>2]=v[h>>2]-((v[l+24>>2]<<1)+2>>2);h=(v[l+28>>2]<<1)+2|0;break Ea}i=l+((h?b:ga)<<5)|0;L=v[i-16>>2];if(!h){h=g<<2;Q=h+l|0;v[Q>>2]=v[Q>>2]-((L+v[qb>>2]|0)+2>>2);L=l+(h|4)|0;v[L>>2]=v[L>>2]-((v[i-12>>2]+v[ob>>2]|0)+2>>2);h=l+(h|8)|0;v[h>>2]=v[h>>2]-((v[i-8>>2]+v[mb>>2]|0)+2>>2);h=(v[i-4>>2]+v[lb>>2]|0)+2|0;break Ea}h=g<<2;Q=h+l|0;v[Q>>2]=v[Q>>2]-((L+v[l+(h|16)>>2]|0)+2>>2);L=l+(h|4)|0;v[L>>2]=v[L>>2]-((v[i-12>>2]+v[l+(h|20)>>2]|0)+2>>2);L=l+(h|8)|0;v[L>>2]=v[L>>2]-((v[i-8>>2]+v[l+(h|24)>>2]|0)+2>>2);h=(v[i-4>>2]+v[l+(h|28)>>2]|0)+2|0}g=l+(g<<2|12)|0;v[g>>2]=v[g>>2]-(h>>2);b=b+1|0;if((r|0)!=(b|0)){continue}break}}if((s|0)>=(S|0)){break wa}g=s;b=g;if((A|0)>(b|0)){while(1){b=l+(g<<5)|0;v[b+16>>2]=v[b+16>>2]+(v[b+32>>2]+v[b>>2]>>1);v[b+28>>2]=v[b+28>>2]+(v[b+44>>2]+v[b+12>>2]>>1);v[b+24>>2]=v[b+24>>2]+(v[b+40>>2]+v[b+8>>2]>>1);v[b+20>>2]=v[b+20>>2]+(v[b+36>>2]+v[b+4>>2]>>1);g=g+1|0;if((A|0)!=(g|0)){continue}break}b=A}if((b|0)>=(S|0)){break wa}while(1){g=b<<3;h=g|4;L=l+(g<<2|28)|0;Fa:{if((b|0)<0){i=v[l>>2];if((b|0)!=-1){h=l+(h<<2)|0;v[h>>2]=i+v[h>>2];g=g<<2;h=l+(g|20)|0;v[h>>2]=v[h>>2]+v[l+4>>2];g=l+(g|24)|0;v[g>>2]=v[g>>2]+v[l+8>>2];g=v[l+12>>2];break Fa}h=l+(h<<2)|0;v[h>>2]=v[h>>2]+(i+v[N>>2]>>1);g=g<<2;h=l+(g|20)|0;v[h>>2]=v[h>>2]+(v[N+4>>2]+v[l+4>>2]>>1);g=l+(g|24)|0;v[g>>2]=v[g>>2]+(v[N+8>>2]+v[l+8>>2]>>1);g=v[N+12>>2]+v[l+12>>2]>>1;break Fa}i=(b|0)<(n|0)?g:ca;Q=b+1|0;if((Q|0)>=(n|0)){h=l+(h<<2)|0;ba=h;Q=v[h>>2];h=i<<2;v[ba>>2]=Q+(v[_a>>2]+v[h+l>>2]>>1);g=g<<2;i=l+(g|20)|0;v[i>>2]=v[i>>2]+(v[Va>>2]+v[l+(h|4)>>2]>>1);g=l+(g|24)|0;v[g>>2]=v[g>>2]+(v[Aa>>2]+v[l+(h|8)>>2]>>1);g=v[Ua>>2]+v[l+(h|12)>>2]>>1;break Fa}h=l+(h<<2)|0;ba=h;wb=v[h>>2];h=l+(Q<<5)|0;i=i<<2;v[ba>>2]=wb+(v[h>>2]+v[i+l>>2]>>1);g=g<<2;Q=l+(g|20)|0;v[Q>>2]=v[Q>>2]+(v[h+4>>2]+v[l+(i|4)>>2]>>1);g=l+(g|24)|0;v[g>>2]=v[g>>2]+(v[h+8>>2]+v[l+(i|8)>>2]>>1);g=v[h+12>>2]+v[l+(i|12)>>2]>>1}v[L>>2]=g+v[L>>2];b=b+1|0;if((S|0)!=(b|0)){continue}break}}if(rb(ea,j,za,F,oa,Ra,1,4)){continue}break}break}break ba}Ga(l);b=1}g=m+B(pa,152)|0;j=v[g+136>>2];h=v[Z>>2];i=v[Z+4>>2];k=v[g+144>>2];cb(ea,j-h|0,v[g+140>>2]-i|0,k-h|0,v[g+148>>2]-i|0,v[G+52>>2],1,k-j|0);jb(ea);break X}jb(ea);Ga(l);b=0;break X}jb(ea);b=0;break X}b=0;$a(n);Ga(m)}qa=Y+32|0;if(b){break W}break b}r=0;q=0;K=qa+-64|0;qa=K;Ga:{if(v[J+64>>2]){j=v[G+28>>2];k=1;if((g|0)==1){break Ga}F=g-1|0;h=F&1;Ha:{if((g|0)==2){i=0;b=j;break Ha}g=F&-2;i=0;b=j;while(1){k=v[b+160>>2]-v[b+152>>2]|0;i=i>>>0>k>>>0?i:k;k=v[b+164>>2]-v[b+156>>2]|0;i=i>>>0>k>>>0?i:k;k=v[b+312>>2]-v[b+304>>2]|0;i=i>>>0>k>>>0?i:k;k=v[b+316>>2]-v[b+308>>2]|0;i=i>>>0>k>>>0?i:k;b=b+304|0;q=q+2|0;if((g|0)!=(q|0)){continue}break}}k=0;if(h){g=v[b+160>>2]-v[b+152>>2]|0;g=g>>>0>>0?i:g;b=v[b+164>>2]-v[b+156>>2]|0;i=b>>>0>>0?g:b}if(i>>>0>134217727){break Ga}b=(B(v[G+24>>2],152)+j|0)-152|0;h=v[b>>2];b=v[b+8>>2];g=v[j+4>>2];n=v[j+12>>2];m=v[j>>2];s=v[j+8>>2];l=v[J+44>>2];P=v[l+4>>2];fa=i<<5;p=Ta(fa);v[K+32>>2]=p;if(!p){break Ga}v[K>>2]=p;if(!F){k=1;Ga(p);break Ga}A=n-g|0;g=s-m|0;i=P>>>1|0;R=i>>>0<=2?2:i;X=p+32|0;q=b-h|0;L=B(q,7);ja=B(q,6);ma=B(q,5);Q=q<<2;ia=B(q,3);ha=q<<1;h=v[G+36>>2];ka=q<<5;n=p;Ia:{while(1){s=A;v[K+8>>2]=s;v[K+40>>2]=g;H=v[j+156>>2];U=v[j+164>>2];k=v[j+160>>2];b=v[j+152>>2];v[K+56>>2]=0;i=g;v[K+52>>2]=g;v[K+48>>2]=0;N=(b|0)%2|0;v[K+44>>2]=N;g=k-b|0;o=g-i|0;v[K+60>>2]=o;v[K+36>>2]=o;T=(P|0)<2;A=U-H|0;Ja:{if(!(!T&A>>>0>15)){r=0;b=h;if(A>>>0<8){break Ja}n=v[K+32>>2];while(1){i=K+32|0;nc(i,b,q,8);hb(i);i=0;if(g){while(1){k=(i<<5)+n|0;z[(i<<2)+b>>2]=z[k>>2];z[(i+q<<2)+b>>2]=z[k+4>>2];z[(i+ha<<2)+b>>2]=z[k+8>>2];z[(i+ia<<2)+b>>2]=z[k+12>>2];i=i+1|0;if((i|0)!=(g|0)){continue}break}i=0;while(1){k=(i<<5)+n|0;z[(i+Q<<2)+b>>2]=z[k+16>>2];z[(i+ma<<2)+b>>2]=z[k+20>>2];z[(i+ja<<2)+b>>2]=z[k+24>>2];z[(i+L<<2)+b>>2]=z[k+28>>2];i=i+1|0;if((i|0)!=(g|0)){continue}break}}b=b+ka|0;r=r+8|0;if((r|7)>>>0>>0){continue}break}break Ja}b=A>>>3|0;x=b>>>0

>>0?b:P;S=(A>>>0)/(x>>>0)&-8;r=A&-8;k=0;b=h;while(1){m=La(48);if(!m){k=0;$a(l);Ga(n);break Ga}I=Ta(fa);v[m>>2]=I;if(!I){k=0;$a(l);Ga(m);Ga(n);break Ga}v[m+40>>2]=b;v[m+36>>2]=q;v[m+32>>2]=g;v[m+28>>2]=o;v[m+24>>2]=0;v[m+20>>2]=i;v[m+16>>2]=0;v[m+12>>2]=N;v[m+8>>2]=i;v[m+4>>2]=o;ba=r-B(k,S)|0;k=k+1|0;I=(x|0)==(k|0)?ba:S;v[m+44>>2]=I;kb(l,117,m);b=(B(q,I)<<2)+b|0;if((k|0)!=(x|0)){continue}break}$a(l)}Ka:{if(r>>>0>=A>>>0){break Ka}k=K+32|0;i=A-r|0;nc(k,b,q,i);hb(k);if(!g){break Ka}i=i>>>0<=1?1:i;x=i&-4;o=i&3;S=i-1|0;k=0;n=v[K+32>>2];while(1){r=(k<<5)+n|0;i=0;m=0;if(S>>>0>=3){while(1){z[(B(i,q)+k<<2)+b>>2]=z[r+(i<<2)>>2];N=i|1;z[(B(N,q)+k<<2)+b>>2]=z[r+(N<<2)>>2];N=i|2;z[(B(N,q)+k<<2)+b>>2]=z[r+(N<<2)>>2];N=i|3;z[(B(N,q)+k<<2)+b>>2]=z[r+(N<<2)>>2];i=i+4|0;m=m+4|0;if((x|0)!=(m|0)){continue}break}}m=0;if(o){while(1){z[(B(i,q)+k<<2)+b>>2]=z[r+(i<<2)>>2];i=i+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}k=k+1|0;if((k|0)!=(g|0)){continue}break}}r=A-s|0;v[K+4>>2]=r;b=v[j+156>>2];v[K+28>>2]=r;v[K+24>>2]=0;v[K+20>>2]=s;v[K+16>>2]=0;S=(b|0)%2|0;v[K+12>>2]=S;La:{if(!(!T&g>>>0>15)){i=h;if(g>>>0<8){break La}Y=A&-2;ga=A&1;_=r&-2;ea=r&1;ca=s&-2;$=s&1;la=s+H|0;W=U-1|0;oa=B(q,s);b=S<<5;N=X-b|0;T=b+p|0;k=g;while(1){b=0;m=0;Ma:{Na:{switch(s|0){default:while(1){o=(B(b,q)<<2)+i|0;I=v[o+4>>2];x=T+(b<<6)|0;v[x>>2]=v[o>>2];v[x+4>>2]=I;I=v[o+28>>2];v[x+24>>2]=v[o+24>>2];v[x+28>>2]=I;I=v[o+20>>2];v[x+16>>2]=v[o+16>>2];v[x+20>>2]=I;I=v[o+12>>2];v[x+8>>2]=v[o+8>>2];v[x+12>>2]=I;x=b|1;o=T+(x<<6)|0;x=(B(q,x)<<2)+i|0;I=v[x+28>>2];v[o+24>>2]=v[x+24>>2];v[o+28>>2]=I;I=v[x+20>>2];v[o+16>>2]=v[x+16>>2];v[o+20>>2]=I;I=v[x+12>>2];v[o+8>>2]=v[x+8>>2];v[o+12>>2]=I;I=v[x+4>>2];v[o>>2]=v[x>>2];v[o+4>>2]=I;b=b+2|0;m=m+2|0;if((ca|0)!=(m|0)){continue}break};break;case 0:break Ma;case 1:break Na}}if(!$){break Ma}m=T+(b<<6)|0;b=(B(b,q)<<2)+i|0;o=v[b+4>>2];v[m>>2]=v[b>>2];v[m+4>>2]=o;o=v[b+28>>2];v[m+24>>2]=v[b+24>>2];v[m+28>>2]=o;o=v[b+20>>2];v[m+16>>2]=v[b+16>>2];v[m+20>>2]=o;o=v[b+12>>2];v[m+8>>2]=v[b+8>>2];v[m+12>>2]=o}Oa:{if((s|0)==(A|0)){break Oa}x=(oa<<2)+i|0;b=0;I=0;if((W|0)!=(la|0)){while(1){m=x+(B(b,q)<<2)|0;Z=v[m+4>>2];o=N+(b<<6)|0;v[o>>2]=v[m>>2];v[o+4>>2]=Z;Z=v[m+28>>2];v[o+24>>2]=v[m+24>>2];v[o+28>>2]=Z;Z=v[m+20>>2];v[o+16>>2]=v[m+16>>2];v[o+20>>2]=Z;Z=v[m+12>>2];v[o+8>>2]=v[m+8>>2];v[o+12>>2]=Z;o=b|1;m=N+(o<<6)|0;o=x+(B(o,q)<<2)|0;Z=v[o+28>>2];v[m+24>>2]=v[o+24>>2];v[m+28>>2]=Z;Z=v[o+20>>2];v[m+16>>2]=v[o+16>>2];v[m+20>>2]=Z;Z=v[o+12>>2];v[m+8>>2]=v[o+8>>2];v[m+12>>2]=Z;Z=v[o+4>>2];v[m>>2]=v[o>>2];v[m+4>>2]=Z;b=b+2|0;I=I+2|0;if((_|0)!=(I|0)){continue}break}}if(!ea){break Oa}m=N+(b<<6)|0;b=x+(B(b,q)<<2)|0;o=v[b+4>>2];v[m>>2]=v[b>>2];v[m+4>>2]=o;o=v[b+28>>2];v[m+24>>2]=v[b+24>>2];v[m+28>>2]=o;o=v[b+20>>2];v[m+16>>2]=v[b+16>>2];v[m+20>>2]=o;o=v[b+12>>2];v[m+8>>2]=v[b+8>>2];v[m+12>>2]=o}hb(K);Pa:{if(!A){break Pa}b=0;m=0;if((H|0)!=(W|0)){while(1){o=p+(b<<5)|0;I=v[o+4>>2];x=(B(b,q)<<2)+i|0;v[x>>2]=v[o>>2];v[x+4>>2]=I;I=v[o+28>>2];v[x+24>>2]=v[o+24>>2];v[x+28>>2]=I;I=v[o+20>>2];v[x+16>>2]=v[o+16>>2];v[x+20>>2]=I;I=v[o+12>>2];v[x+8>>2]=v[o+8>>2];v[x+12>>2]=I;x=b|1;o=(B(x,q)<<2)+i|0;x=p+(x<<5)|0;I=v[x+28>>2];v[o+24>>2]=v[x+24>>2];v[o+28>>2]=I;I=v[x+20>>2];v[o+16>>2]=v[x+16>>2];v[o+20>>2]=I;I=v[x+12>>2];v[o+8>>2]=v[x+8>>2];v[o+12>>2]=I;I=v[x+4>>2];v[o>>2]=v[x>>2];v[o+4>>2]=I;b=b+2|0;m=m+2|0;if((Y|0)!=(m|0)){continue}break}}if(!ga){break Pa}m=(B(b,q)<<2)+i|0;b=p+(b<<5)|0;o=v[b+4>>2];v[m>>2]=v[b>>2];v[m+4>>2]=o;o=v[b+28>>2];v[m+24>>2]=v[b+24>>2];v[m+28>>2]=o;o=v[b+20>>2];v[m+16>>2]=v[b+16>>2];v[m+20>>2]=o;o=v[b+12>>2];v[m+8>>2]=v[b+8>>2];v[m+12>>2]=o}i=i+32|0;k=k-8|0;if(k>>>0>7){continue}break}break La}b=g>>>3|0;m=b>>>0>>0?b:R;b=(g>>>0)/(m>>>0)|0;i=h;if(m){o=b&-8;x=g&-8;k=0;while(1){b=La(48);if(!b){$a(l);k=0;break Ia}N=Ta(fa);v[b>>2]=N;if(!N){$a(l);Ga(b);k=0;break Ia}v[b+40>>2]=i;v[b+36>>2]=q;v[b+32>>2]=A;v[b+28>>2]=r;v[b+24>>2]=0;v[b+20>>2]=s;v[b+16>>2]=0;v[b+12>>2]=S;v[b+8>>2]=s;v[b+4>>2]=r;ba=x-B(k,o)|0;k=k+1|0;N=(m|0)==(k|0)?ba:o;v[b+44>>2]=N;kb(l,118,b);i=(N<<2)+i|0;if((k|0)!=(m|0)){continue}break}}$a(l)}k=g&7;Qa:{if(!k){break Qa}S=S<<5;Ra:{if(!s){break Ra}o=p+S|0;x=k<<2;b=0;if((s|0)!=1){N=s&-2;m=0;while(1){Ja(o+(b<<6)|0,(B(b,q)<<2)+i|0,x);T=b|1;Ja(o+(T<<6)|0,(B(q,T)<<2)+i|0,x);b=b+2|0;m=m+2|0;if((N|0)!=(m|0)){continue}break}}if(!(s&1)){break Ra}Ja(o+(b<<6)|0,(B(b,q)<<2)+i|0,x)}Sa:{if((s|0)==(A|0)){break Sa}m=X-S|0;o=(B(q,s)<<2)+i|0;x=k<<2;b=0;if((H|0)!=(U+(s^-1)|0)){s=r&-2;I=0;while(1){Ja(m+(b<<6)|0,o+(B(b,q)<<2)|0,x);S=b|1;Ja(m+(S<<6)|0,o+(B(q,S)<<2)|0,x);b=b+2|0;I=I+2|0;if((s|0)!=(I|0)){continue}break}}if(!(r&1)){break Sa}Ja(m+(b<<6)|0,o+(B(b,q)<<2)|0,x)}hb(K);if(!A){break Qa}k=k<<2;b=0;if((U|0)!=(H+1|0)){m=A&-2;r=0;while(1){Ja((B(b,q)<<2)+i|0,p+(b<<5)|0,k);s=b|1;Ja((B(s,q)<<2)+i|0,p+(s<<5)|0,k);b=b+2|0;r=r+2|0;if((m|0)!=(r|0)){continue}break}}if(!(A&1)){break Qa}Ja((B(b,q)<<2)+i|0,p+(b<<5)|0,k)}j=j+152|0;F=F-1|0;if(F){continue}break}k=1}Ga(v[K+32>>2]);break Ga}k=1;s=v[G+28>>2];ia=g-1|0;W=s+B(ia,152)|0;if(v[W>>2]==v[W+8>>2]|v[W+4>>2]==v[W+12>>2]){break Ga}j=v[s+4>>2];h=v[s+12>>2];i=v[s>>2];n=v[s+8>>2];x=v[G+68>>2];H=v[G+64>>2];P=v[G+60>>2];U=v[G+56>>2];R=ge(G,g);if(!R){k=0;break Ga}Ta:{Ua:{if((g|0)!=1){m=ia&1;if((g|0)!=2){break Ua}k=0;b=s;break Ta}b=s+B(ia,152)|0;g=v[b+136>>2];j=v[W>>2];h=v[W+4>>2];i=v[b+144>>2];cb(R,g-j|0,v[b+140>>2]-h|0,i-j|0,v[b+148>>2]-h|0,v[G+52>>2],1,i-g|0);jb(R);break Ga}p=ia&-2;k=0;b=s;while(1){A=v[b+160>>2]-v[b+152>>2]|0;k=k>>>0>A>>>0?k:A;A=v[b+164>>2]-v[b+156>>2]|0;k=k>>>0>A>>>0?k:A;A=v[b+312>>2]-v[b+304>>2]|0;k=k>>>0>A>>>0?k:A;A=v[b+316>>2]-v[b+308>>2]|0;k=k>>>0>A>>>0?k:A;b=b+304|0;r=r+2|0;if((p|0)!=(r|0)){continue}break}}if(m){m=v[b+160>>2]-v[b+152>>2]|0;k=k>>>0>m>>>0?k:m;b=v[b+164>>2]-v[b+156>>2]|0;k=b>>>0>>0?k:b}Va:{if(k>>>0>=134217728){break Va}X=Ta(k<<5);v[K+32>>2]=X;if(!X){break Va}v[K>>2]=X;Wa:{if(g>>>0>=2){A=h-j|0;n=n-i|0;Y=X+32|0;fa=g;ga=v[G+20>>2];ma=1;N=0;p=s;while(1){v[K+8>>2]=A;v[K+40>>2]=n;g=v[p+164>>2];j=v[p+160>>2];b=v[p+156>>2];h=v[p+152>>2];L=(h|0)%2|0;v[K+44>>2]=L;_=(b|0)%2|0;v[K+12>>2]=_;T=j-h|0;S=T-n|0;v[K+36>>2]=S;l=g-b|0;Q=l-A|0;v[K+4>>2]=Q;m=U;i=m;g=P;k=g;b=H;I=b;r=x;F=r;Xa:{if(!N&(ga|0)==(ma|0)){break Xa}j=ga-ma|0;k=0;i=0;if(U){b=j&31;if((j&63)>>>0>=32){o=-1<>>32-b}g=U+(g^-1)|0;b=o^-1;h=g>>>0>>0?b+1|0:b;b=j&31;i=(j&63)>>>0>=32?h>>>b|0:((1<>>b}if(P){b=j&31;if((j&63)>>>0>=32){h=-1<>>32-b}g=P+(g^-1)|0;b=h^-1;h=g>>>0

>>0?b+1|0:b;b=j&31;k=(j&63)>>>0>=32?h>>>b|0:((1<>>b}r=0;b=0;if(H){b=j&31;if((j&63)>>>0>=32){o=-1<>>32-b}g=H+(g^-1)|0;b=o^-1;h=g>>>0>>0?b+1|0:b;b=j&31;b=(j&63)>>>0>=32?h>>>b|0:((1<>>b}if(x){g=j&31;if((j&63)>>>0>=32){o=-1<>>32-g}h=x+(h^-1)|0;g=o^-1;m=h>>>0>>0?g+1|0:g;g=j&31;r=(j&63)>>>0>=32?m>>>g|0:((1<>>g}I=0;m=0;q=1<>>0>>0){g=j&31;if((j&63)>>>0>=32){o=-1<>>32-g}g=h^-1;h=g+(U-q|0)|0;m=o^-1;m=g>>>0>h>>>0?m+1|0:m;g=j&31;m=(j&63)>>>0>=32?m>>>g|0:((1<>>g}if(q>>>0>>0){g=j&31;if((j&63)>>>0>=32){o=-1<>>32-g}g=h^-1;h=g+(H-q|0)|0;F=o^-1;F=g>>>0>h>>>0?F+1|0:F;g=j&31;I=(j&63)>>>0>=32?F>>>g|0:((1<>>g}F=0;g=0;if(q>>>0

>>0){g=j&31;if((j&63)>>>0>=32){h=-1<>>32-g}g=o^-1;o=g+(P-q|0)|0;h=h^-1;h=g>>>0>o>>>0?h+1|0:h;g=j&31;g=(j&63)>>>0>=32?h>>>g|0:((1<>>g}if(q>>>0>=x>>>0){break Xa}h=j&31;if((j&63)>>>0>=32){o=-1<>>32-h}h=F^-1;q=h+(x-q|0)|0;F=o^-1;F=h>>>0>q>>>0?F+1|0:F;h=j&31;F=(j&63)>>>0>=32?F>>>h|0:((1<>>h}j=v[p+180>>2];h=I-j|0;h=(h>>>0<=I>>>0?h:0)+4|0;h=0-(h>>>0<4)|h;ha=h>>>0>>0?h:S;h=v[p+216>>2];q=b-h|0;b=(b>>>0>=q>>>0?q:0)+4|0;b=0-(b>>>0<4)|b;ka=b>>>0>>0?b:n;b=(L?ha:ka)<<1;q=(L?ka:ha)<<1|1;b=b>>>0>q>>>0?b:q;I=b>>>0>>0;j=m-j|0;j=j>>>0<=m>>>0?j:0;m=j-4|0;o=j>>>0>=m>>>0?m:0;j=i-h|0;j=i>>>0>=j>>>0?j:0;h=j-4|0;ja=h>>>0<=j>>>0?h:0;i=(L?o:ja)<<1;ea=(L?ja:o)<<1|1;ca=i>>>0>>0;j=v[p+184>>2];h=k-j|0;h=h>>>0<=k>>>0?h:0;k=h-4|0;h=h>>>0>=k>>>0?k:0;S=h;$=v[p+220>>2];k=g-$|0;g=g>>>0>=k>>>0?k:0;k=g-4|0;m=g>>>0>=k>>>0?k:0;q=m;g=r-j|0;g=(g>>>0<=r>>>0?g:0)+4|0;g=0-(g>>>0<4)|g;r=g>>>0>>0?g:A;k=r;g=F-$|0;g=(g>>>0<=F>>>0?g:0)+4|0;g=0-(g>>>0<4)|g;F=g>>>0>>0?g:Q;j=F;if(_){S=m;q=h;k=F;j=r}Q=I?b:T;I=ca?i:ea;v[K+60>>2]=ha;v[K+56>>2]=o;v[K+52>>2]=ka;v[K+48>>2]=ja;Ya:{if(l>>>0<8){i=7;b=0;break Ya}b=L<<5;ca=(Y-b|0)+(o<<6)|0;$=(b+X|0)+(ja<<6)|0;la=n+ha|0;oa=n+o|0;Z=A+F|0;ua=m+A|0;ra=X+(I<<5)|0;g=0;i=7;while(1){Za:{if(!(g>>>0>>0&i>>>0>=h>>>0|g>>>0>>0&i>>>0>=ua>>>0)){b=g+8|0;break Za}b=0;i=l-g|0;sa=i>>>0>=8?8:i;if(sa){while(1){i=b+g|0;ea=i+1|0;pa=b<<2;cb(R,ja,i,ka,ea,pa+$|0,16,0);cb(R,oa,i,la,ea,ca+pa|0,16,0);b=b+1|0;if((sa|0)!=(b|0)){continue}break}}hb(K+32|0);b=g+8|0;if(!rb(R,I,g,Q,b,ra,8,1)){break Wa}}g=b;i=b|7;if(l>>>0>i>>>0){continue}break}}if(!(!(b>>>0>>0&i>>>0>=h>>>0)&(A+F>>>0<=b>>>0|m+A>>>0>i>>>0)|b>>>0>=l>>>0)){if((b|0)!=(l|0)){ea=l-b|0;g=L<<5;L=(Y-g|0)+(o<<6)|0;ca=(g+X|0)+(ja<<6)|0;ha=n+ha|0;o=n+o|0;i=0;while(1){g=b+i|0;n=g+1|0;$=i<<2;cb(R,ja,g,ka,n,$+ca|0,16,0);cb(R,o,g,ha,n,L+$|0,16,0);i=i+1|0;if((ea|0)!=(i|0)){continue}break}}hb(K+32|0);if(!rb(R,I,b,Q,l,X+(I<<5)|0,8,1)){break Wa}}v[K+28>>2]=F;v[K+24>>2]=m;v[K+20>>2]=r;v[K+16>>2]=h;if(I>>>0>>0){b=k<<1;g=j<<1|1;b=b>>>0>g>>>0?b:g;g=b>>>0>>0?b:l;b=_<<5;j=(Y-b|0)+(m<<6)|0;i=(b+X|0)+(h<<6)|0;k=A+F|0;n=m+A|0;b=S<<1;m=q<<1|1;m=b>>>0>>0?b:m;A=X+(m<<5)|0;while(1){b=Q-I|0;b=(b>>>0>=8?8:b)+I|0;cb(R,I,h,b,r,i,1,16);cb(R,I,n,b,k,j,1,16);hb(K);if(!rb(R,I,m,b,g,A,1,8)){break Wa}I=I+8|0;if(Q>>>0>I>>>0){continue}break}}p=p+152|0;n=T;A=l;ma=ma+1|0;N=ma?N:N+1|0;if(N|(fa|0)!=(ma|0)){continue}break}}k=1;b=s+B(ia,152)|0;g=v[b+136>>2];j=v[W>>2];h=v[W+4>>2];i=v[b+144>>2];cb(R,g-j|0,v[b+140>>2]-h|0,i-j|0,v[b+148>>2]-h|0,v[G+52>>2],1,i-g|0);jb(R);Ga(X);break Ga}jb(R);Ga(X);k=0;break Ga}jb(R);k=0}qa=K- -64|0;if(k){break W}break b}E=E+1080|0;M=M+52|0;G=G+76|0;O=O+1|0;if(O>>>0>2]){continue}break}da=v[v[J+20>>2]>>2]}j=v[J+32>>2];n=v[j+16>>2];_a:{if(v[J+68>>2]|!n){break _a}G=v[da+20>>2];g=v[G+28>>2];$a:{ab:{h=v[J+64>>2];if(h){O=v[da+16>>2];if(O>>>0<3){break $a}b=v[G+24>>2];if(!((b|0)==v[G+100>>2]&(b|0)==v[G+176>>2])){Fa(f,1,20580,0);break b}i=v[v[J+24>>2]+24>>2];k=v[i+36>>2];bb:{if((k|0)!=v[i+88>>2]|(k|0)!=v[i+140>>2]){break bb}i=B(b,152);b=(i+g|0)-152|0;g=B(v[b+12>>2]-v[b+4>>2]|0,v[b+8>>2]-v[b>>2]|0);b=(i+v[G+104>>2]|0)-152|0;if((g|0)!=(B(v[b+12>>2]-v[b+4>>2]|0,v[b+8>>2]-v[b>>2]|0)|0)){break bb}b=(i+v[G+180>>2]|0)-152|0;if((B(v[b+12>>2]-v[b+4>>2]|0,v[b+8>>2]-v[b>>2]|0)|0)==(g|0)){break ab}}Fa(f,1,20580,0);break b}O=v[da+16>>2];if(O>>>0<3){break $a}i=v[v[J+24>>2]+24>>2];b=v[i+36>>2];cb:{if((b|0)!=v[i+88>>2]|(b|0)!=v[i+140>>2]){break cb}i=B(b,152);b=i+g|0;g=B(v[b+148>>2]-v[b+140>>2]|0,v[b+144>>2]-v[b+136>>2]|0);b=i+v[G+104>>2]|0;if((g|0)!=(B(v[b+148>>2]-v[b+140>>2]|0,v[b+144>>2]-v[b+136>>2]|0)|0)){break cb}b=i+v[G+180>>2]|0;if((B(v[b+148>>2]-v[b+140>>2]|0,v[b+144>>2]-v[b+136>>2]|0)|0)==(g|0)){break ab}}Fa(f,1,20580,0);break b}if((n|0)==2){if(!v[j+5608>>2]){break _a}h=La(O<<2);if(!h){break b}k=v[da+16>>2];db:{if(!k){break db}eb:{fb:{if(v[J+64>>2]){m=k&3;b=0;if(k>>>0>=4){break fb}O=0;break eb}m=k&3;b=0;gb:{if(k>>>0<4){O=0;break gb}s=k&-4;O=0;i=0;while(1){n=O<<2;v[n+h>>2]=v[G+52>>2];v[h+(n|4)>>2]=v[G+128>>2];v[h+(n|8)>>2]=v[G+204>>2];v[h+(n|12)>>2]=v[G+280>>2];O=O+4|0;G=G+304|0;i=i+4|0;if((s|0)!=(i|0)){continue}break}}if(!m){break db}while(1){v[h+(O<<2)>>2]=v[G+52>>2];O=O+1|0;G=G+76|0;b=b+1|0;if((m|0)!=(b|0)){continue}break}break db}s=k&-4;O=0;i=0;while(1){n=O<<2;v[n+h>>2]=v[G+36>>2];v[h+(n|4)>>2]=v[G+112>>2];v[h+(n|8)>>2]=v[G+188>>2];v[h+(n|12)>>2]=v[G+264>>2];O=O+4|0;G=G+304|0;i=i+4|0;if((s|0)!=(i|0)){continue}break}}if(!m){break db}while(1){v[h+(O<<2)>>2]=v[G+36>>2];O=O+1|0;G=G+76|0;b=b+1|0;if((m|0)!=(b|0)){continue}break}}j=v[j+5608>>2];p=0;i=La(k<<3);b=0;hb:{if(!i){break hb}if(!(!g|!k)){F=i+(k<<2)|0;q=k&-4;s=k&3;l=k-1|0;while(1){b=0;m=0;o=l>>>0<3;if(!o){while(1){n=b<<2;z[n+i>>2]=z[v[h+n>>2]>>2];A=n|4;z[A+i>>2]=z[v[h+A>>2]>>2];A=n|8;z[A+i>>2]=z[v[h+A>>2]>>2];n=n|12;z[n+i>>2]=z[v[h+n>>2]>>2];b=b+4|0;m=m+4|0;if((q|0)!=(m|0)){continue}break}}A=0;if(s){while(1){n=b<<2;z[n+i>>2]=z[v[h+n>>2]>>2];b=b+1|0;A=A+1|0;if((s|0)!=(A|0)){continue}break}}M=0;b=j;while(1){x=M<<2;n=x+F|0;v[n>>2]=0;aa=C(0);A=0;E=0;if(!o){while(1){m=A<<2;aa=C(C(z[b>>2]*z[m+i>>2])+aa);z[n>>2]=aa;aa=C(C(z[b+4>>2]*z[i+(m|4)>>2])+aa);z[n>>2]=aa;aa=C(C(z[b+8>>2]*z[i+(m|8)>>2])+aa);z[n>>2]=aa;aa=C(C(z[b+12>>2]*z[i+(m|12)>>2])+aa);z[n>>2]=aa;A=A+4|0;b=b+16|0;E=E+4|0;if((q|0)!=(E|0)){continue}break}}r=0;if(s){while(1){aa=C(C(z[b>>2]*z[i+(A<<2)>>2])+aa);z[n>>2]=aa;A=A+1|0;b=b+4|0;r=r+1|0;if((s|0)!=(r|0)){continue}break}}m=h+x|0;n=v[m>>2];v[m>>2]=n+4;z[n>>2]=aa;M=M+1|0;if((k|0)!=(M|0)){continue}break}p=p+1|0;if((p|0)!=(g|0)){continue}break}}Ga(i);b=1}Ga(h);if(b){break _a}break b}if(v[v[j+5584>>2]+20>>2]==1){if(h){le(v[G+36>>2],v[G+112>>2],v[G+188>>2],g);break _a}le(v[G+52>>2],v[G+128>>2],v[G+204>>2],g);break _a}if(h){ke(v[G+36>>2],v[G+112>>2],v[G+188>>2],g);break _a}ke(v[G+52>>2],v[G+128>>2],v[G+204>>2],g);break _a}v[na>>2]=O;Fa(f,1,20641,na)}s=v[v[J+20>>2]>>2];if(!v[s+16>>2]){V=1;break b}p=v[J+68>>2];G=v[s+20>>2];g=v[v[J+32>>2]+5584>>2];h=v[v[J+24>>2]+24>>2];j=0;while(1){ib:{if(v[p+(j<<2)>>2]?0:p){break ib}i=v[h+36>>2];b=v[G+28>>2];jb:{if(!v[J+64>>2]){b=b+B(i,152)|0;i=v[b+148>>2]-v[b+140>>2]|0;da=v[b+144>>2]-v[b+136>>2]|0;A=0;n=G+52|0;break jb}k=b+B(i,152)|0;i=v[k+12>>2]-v[k+4>>2]|0;b=(b+B(v[G+24>>2],152)|0)-152|0;da=v[k+8>>2]-v[k>>2]|0;A=v[b+8>>2]-(da+v[b>>2]|0)|0;n=G+36|0}b=v[h+24>>2];kb:{if(v[h+32>>2]){b=1<>2];if(v[g+20>>2]!=1){if(!i|!da){break ib}r=M>>31;q=k>>31;b=0;while(1){O=0;while(1){aa=z[E>>2];m=M;lb:{if(aa>C(2147483648)){break lb}m=k;if(aa>2];m=n;F=m>>31;aa=ti(aa);mb:{if(C(D(aa))>31)|0;m=m+n|0;n=m>>>0>>0?F+1|0:F;m=(n|0)<=(q|0)&k>>>0>m>>>0|(n|0)<(q|0)?k:m>>>0>>0&(n|0)<=(r|0)|(n|0)<(r|0)?m:M}v[E>>2]=m;E=E+4|0;O=O+1|0;if((da|0)!=(O|0)){continue}break}E=(A<<2)+E|0;b=b+1|0;if((i|0)!=(b|0)){continue}break}break ib}if(!i|!da){break ib}m=da&-2;r=da&1;b=0;while(1){O=0;if((da|0)!=1){while(1){n=v[g+1076>>2]+v[E>>2]|0;v[E>>2]=(k|0)>(n|0)?k:(n|0)<(M|0)?n:M;n=v[g+1076>>2]+v[E+4>>2]|0;v[E+4>>2]=(k|0)>(n|0)?k:(n|0)<(M|0)?n:M;E=E+8|0;O=O+2|0;if((m|0)!=(O|0)){continue}break}}if(r){n=v[g+1076>>2]+v[E>>2]|0;v[E>>2]=(k|0)>(n|0)?k:(n|0)<(M|0)?n:M;E=E+4|0}E=E+(A<<2)|0;b=b+1|0;if((i|0)!=(b|0)){continue}break}}G=G+76|0;g=g+1080|0;h=h+52|0;V=1;j=j+1|0;if(j>>>0>2]){continue}break}break b}V=0;Fa(f,1,5756,0)}qa=na+16|0;if(!V){Nb(ya);v[a+8>>2]=v[a+8>>2]|32768;Fa(f,1,22012,0);break a}nb:{if(!c){break nb}i=0;k=0;g=v[a+208>>2];b=cd(g,1);if(!((b|0)==-1|b>>>0>d>>>0)){ob:{i=1;b=v[g+24>>2];if(!v[b+16>>2]){break ob}h=v[b+24>>2];j=v[v[v[g+20>>2]>>2]+20>>2];while(1){b=v[h+24>>2];n=b&7;m=b>>>3|0;d=v[h+36>>2];b=v[j+28>>2];pb:{if(v[g+64>>2]){d=b+B(d,152)|0;V=v[d+12>>2]-v[d+4>>2]|0;b=(b+B(v[j+24>>2],152)|0)-152|0;d=v[d+8>>2]-v[d>>2]|0;M=v[b+8>>2]-(d+v[b>>2]|0)|0;b=j+36|0;break pb}b=b+B(d,152)|0;V=v[b+148>>2]-v[b+140>>2]|0;d=v[b+144>>2]-v[b+136>>2]|0;M=0;b=j+52|0}i=v[b>>2];qb:{rb:{sb:{tb:{b=m+((n|0)!=0)|0;switch(((b|0)==3?4:b)-1|0){case 1:break rb;case 0:break sb;case 3:break tb;default:break qb}}if(!V){break qb}n=d+M|0;d=d<<2;if(V>>>0>=4){s=V&-4;b=0;while(1){p=Ja(c,i,d);c=n<<2;m=c+i|0;A=c+m|0;r=A+c|0;i=c+r|0;c=Ja(Ja(Ja(d+p|0,m,d)+d|0,A,d)+d|0,r,d)+d|0;b=b+4|0;if((s|0)!=(b|0)){continue}break}}b=0;m=V&3;if(!m){break qb}while(1){c=Ja(c,i,d);i=(n<<2)+i|0;c=c+d|0;b=b+1|0;if((m|0)!=(b|0)){continue}break}break qb}b=!V|!d;if(v[h+32>>2]){if(b){break qb}m=d&-8;n=d&7;s=d-1|0;b=0;while(1){d=0;if(s>>>0>=7){while(1){t[c|0]=v[i>>2];t[c+1|0]=v[i+4>>2];t[c+2|0]=v[i+8>>2];t[c+3|0]=v[i+12>>2];t[c+4|0]=v[i+16>>2];t[c+5|0]=v[i+20>>2];t[c+6|0]=v[i+24>>2];t[c+7|0]=v[i+28>>2];c=c+8|0;i=i+32|0;d=d+8|0;if((m|0)!=(d|0)){continue}break}}d=0;if(n){while(1){t[c|0]=v[i>>2];c=c+1|0;i=i+4|0;d=d+1|0;if((n|0)!=(d|0)){continue}break}}i=(M<<2)+i|0;b=b+1|0;if((V|0)!=(b|0)){continue}break}break qb}if(b){break qb}m=d&-8;n=d&7;s=d-1|0;b=0;while(1){d=0;if(s>>>0>=7){while(1){t[c|0]=v[i>>2];t[c+1|0]=v[i+4>>2];t[c+2|0]=v[i+8>>2];t[c+3|0]=v[i+12>>2];t[c+4|0]=v[i+16>>2];t[c+5|0]=v[i+20>>2];t[c+6|0]=v[i+24>>2];t[c+7|0]=v[i+28>>2];c=c+8|0;i=i+32|0;d=d+8|0;if((m|0)!=(d|0)){continue}break}}d=0;if(n){while(1){t[c|0]=v[i>>2];c=c+1|0;i=i+4|0;d=d+1|0;if((n|0)!=(d|0)){continue}break}}i=(M<<2)+i|0;b=b+1|0;if((V|0)!=(b|0)){continue}break}break qb}b=!V|!d;if(v[h+32>>2]){if(b){break qb}m=d&-8;n=d&7;s=d-1|0;b=0;while(1){d=0;if(s>>>0>=7){while(1){u[c>>1]=v[i>>2];u[c+2>>1]=v[i+4>>2];u[c+4>>1]=v[i+8>>2];u[c+6>>1]=v[i+12>>2];u[c+8>>1]=v[i+16>>2];u[c+10>>1]=v[i+20>>2];u[c+12>>1]=v[i+24>>2];u[c+14>>1]=v[i+28>>2];c=c+16|0;i=i+32|0;d=d+8|0;if((m|0)!=(d|0)){continue}break}}d=0;if(n){while(1){u[c>>1]=v[i>>2];c=c+2|0;i=i+4|0;d=d+1|0;if((n|0)!=(d|0)){continue}break}}i=(M<<2)+i|0;b=b+1|0;if((V|0)!=(b|0)){continue}break}break qb}if(b){break qb}m=d&-8;n=d&7;s=d-1|0;b=0;while(1){d=0;if(s>>>0>=7){while(1){u[c>>1]=v[i>>2];u[c+2>>1]=v[i+4>>2];u[c+4>>1]=v[i+8>>2];u[c+6>>1]=v[i+12>>2];u[c+8>>1]=v[i+16>>2];u[c+10>>1]=v[i+20>>2];u[c+12>>1]=v[i+24>>2];u[c+14>>1]=v[i+28>>2];c=c+16|0;i=i+32|0;d=d+8|0;if((m|0)!=(d|0)){continue}break}}d=0;if(n){while(1){u[c>>1]=v[i>>2];c=c+2|0;i=i+4|0;d=d+1|0;if((n|0)!=(d|0)){continue}break}}i=(M<<2)+i|0;b=b+1|0;if((V|0)!=(b|0)){continue}break}}j=j+76|0;h=h+52|0;i=1;k=k+1|0;if(k>>>0>2]+16>>2]){continue}break}}}if(!i){break a}b=ya+5596|0;c=v[b>>2];if(!c){break nb}Ga(c);v[b>>2]=0;v[db+5600>>2]=0}v[a+8>>2]=v[a+8>>2]&-129;t[a+68|0]=w[a+68|0]&254;bb=1;b=v[e+12>>2];d=b;c=v[e+8>>2];if(b|c){g=v[e+56>>2];b=c-g|0;c=d-(v[e+60>>2]+(c>>>0>>0)|0)|0}else{b=0;c=0}c=!(b|c);b=v[a+8>>2];if(c&(b|0)==64|(b|0)==256){break a}if((Wa(e,va+10|0,2,f)|0)!=2){Fa(f,v[a+184>>2]?1:2,4334,0);bb=!v[a+184>>2];break a}Ia(va+10|0,va+12|0,2);b=v[va+12>>2];if((b|0)==65424){break a}if((b|0)==65497){v[a+8>>2]=256;v[a+204>>2]=0;break a}b=v[e+12>>2];d=b;c=v[e+8>>2];if(b|c){g=v[e+56>>2];b=c-g|0;c=d-(v[e+60>>2]+(c>>>0>>0)|0)|0}else{b=0;c=0}if(!(b|c)){v[a+8>>2]=64;Fa(f,2,18620,0);break a}bb=0;Fa(f,1,18556,0)}qa=va+16|0;return bb|0}function Zf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,x=0,E=0,F=0,G=0,H=0,I=0,J=0,K=C(0),L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=C(0),V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;Q=v[a+16>>2];i=v[Q+4>>2];L=v[a+8>>2];l=v[L+16>>2];c=v[Q>>2];e=v[L+12>>2];g=v[a+20>>2];h=v[g>>2];f=v[g+8>>2];r=v[a+4>>2];n=v[a+24>>2];a:{if(!v[v[a+36>>2]>>2]){break a}d=oe(b);if(!d){d=Ka(1,156);if(d){v[d+140>>2]=1}ne(b,d)}b=e-c|0;c=v[Q+16>>2];if(c&1){e=b;b=(v[g+28>>2]+B(r,152)|0)-152|0;b=(e+v[b+8>>2]|0)-v[b>>2]|0}e=l-i|0;if(c&2){c=e;e=(v[g+28>>2]+B(r,152)|0)-152|0;e=(c+v[e+12>>2]|0)-v[e+4>>2]|0}if(!nd(d,v[L+20>>2]-v[L+12>>2]|0,v[L+24>>2]-v[L+16>>2]|0)){v[v[a+36>>2]>>2]=0;Ga(a);return}I=v[d+128>>2];M=I&-4;j=f-h|0;p=v[g+36>>2]+(B(j,e)+b<<2)|0;f=v[d+116>>2];P=v[d+124>>2];b:{if(v[n+20>>2]==1){c:{if(!M){h=0;e=f;break c}if(!P){break b}h=0;e=f;while(1){k=B(h,j);i=B(j,h|3);l=B(j,h|2);b=B(j,h|1);c=0;while(1){v[e>>2]=v[p+(c+k<<2)>>2]<<6;v[e+4>>2]=v[p+(b+c<<2)>>2]<<6;v[e+8>>2]=v[p+(c+l<<2)>>2]<<6;v[e+12>>2]=v[p+(c+i<<2)>>2]<<6;e=e+16|0;c=c+1|0;if((P|0)!=(c|0)){continue}break}h=h+4|0;if(M>>>0>h>>>0){continue}break}}if(!P|h>>>0>=I>>>0){break b}l=I-h&3;b=I+(h^-1)>>>0<3;while(1){c=h;i=0;if(l){while(1){v[e>>2]=v[p+(B(c,j)+o<<2)>>2]<<6;c=c+1|0;e=e+4|0;i=i+1|0;if((l|0)!=(i|0)){continue}break}}if(!b){while(1){v[e>>2]=v[p+(B(c,j)+o<<2)>>2]<<6;v[e+4>>2]=v[p+(B(j,c+1|0)+o<<2)>>2]<<6;v[e+8>>2]=v[p+(B(j,c+2|0)+o<<2)>>2]<<6;v[e+12>>2]=v[p+(B(j,c+3|0)+o<<2)>>2]<<6;e=e+16|0;c=c+4|0;if((I|0)!=(c|0)){continue}break}}o=o+1|0;if((P|0)!=(o|0)){continue}break}break b}d:{if(!M){h=0;e=f;break d}if(!P){break b}U=z[Q+32>>2];h=0;e=f;while(1){k=B(h,j);i=B(j,h|3);l=B(j,h|2);b=B(j,h|1);c=0;while(1){K=ti(C(C(z[p+(c+k<<2)>>2]/U)*C(64)));e:{if(C(D(K))>2]=m;K=ti(C(C(z[p+(b+c<<2)>>2]/U)*C(64)));f:{if(C(D(K))>2]=m;K=ti(C(C(z[p+(c+l<<2)>>2]/U)*C(64)));g:{if(C(D(K))>2]=m;K=ti(C(C(z[p+(c+i<<2)>>2]/U)*C(64)));h:{if(C(D(K))>2]=m;e=e+16|0;c=c+1|0;if((P|0)!=(c|0)){continue}break}h=h+4|0;if(M>>>0>h>>>0){continue}break}}if(!P|h>>>0>=I>>>0){break b}k=B(h,j);i=I-h&1;U=z[Q+32>>2];b=h+1|0;l=(b|0)==(I|0);while(1){if(i){K=ti(C(C(z[p+(k+o<<2)>>2]/U)*C(64)));i:{if(C(D(K))>2]=c;e=e+4|0;c=b}else{c=h}if(!l){while(1){K=ti(C(C(z[p+(B(c,j)+o<<2)>>2]/U)*C(64)));j:{if(C(D(K))>2]=M;K=ti(C(C(z[p+(B(j,c+1|0)+o<<2)>>2]/U)*C(64)));k:{if(C(D(K))>2]=M;e=e+8|0;c=c+2|0;if((I|0)!=(c|0)){continue}break}}o=o+1|0;if((P|0)!=(o|0)){continue}break}}l=v[a+32>>2];k=v[a+28>>2];I=v[n+16>>2];h=v[n+20>>2];i=v[a>>2];K=z[Q+32>>2];b=v[g+20>>2];S=v[Q+16>>2];v[d+108>>2]=(S<<9)+36688;l:{m:{n:{e=v[d+128>>2];o:{if(!e){break o}g=v[d+124>>2];if(!g){break o}V=b+(r^-1)|0;ba=+K;b=0;o=0;while(1){c=0;if(g){while(1){e=v[f>>2];p:{if((e|0)<0){e=0-((e|0)==-2147483648?-2147483647:e)|0;v[f>>2]=e|-2147483648;b=(b|0)>(e|0)?b:e;break p}b=(b|0)>(e|0)?b:e}f=f+4|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}e=v[d+128>>2]}o=o+1|0;if(o>>>0>>0){g=v[d+124>>2];continue}break}if(b){break n}}v[L+28>>2]=0;break m}q:{if((b|0)>1){e=0;while(1){c=e;e=c+1|0;f=b>>>0>3;b=b>>>1|0;if(f){continue}break}b=c-4|0;v[L+28>>2]=b;if(!b){break m}Q=L+28|0;break q}b=-5;v[L+28>>2]=-5;Q=L+28|0}fc(d);v[d+100>>2]=36656;v[d+96>>2]=35280;v[d+28>>2]=35312;e=v[L>>2];v[d>>2]=0;v[d+4>>2]=32768;v[d+20>>2]=e;v[d+8>>2]=12;v[d+12>>2]=0;v[d+104>>2]=d+28;v[d+16>>2]=e-1;x=b-1|0;if((x|0)<0){break m}ea=(k|0)!=0&i>>>0>>0;fa=I&2;Z=I&16;ga=I&4;ha=I&32;_=I&8;M=d+100|0;P=d+96|0;ca=I&1;ia=k+(i<<3)|0;ja=ba/+((S?(S|0)==3?4:2:1)|0);ka=(h|0)!=1;W=2;while(1){N=W>>>0<2&(v[L+28>>2]-4|0)>(x|0)&ca;I=v[L+8>>2]+B(X,24)|0;r:{if(!X|!(t[I-4|0]&1)){break r}if(N){v[d+8>>2]=-559038737;v[d>>2]=0;break r}v[d+8>>2]=12;v[d>>2]=0;v[d+4>>2]=32768;b=v[d+16>>2]-1|0;v[d+16>>2]=b;if(w[b|0]==255){v[d+8>>2]=13}}s:{t:{u:{v:{w:{x:{y:{switch(W|0){case 0:m=64<>2];l=v[d+124>>2];f=(h+(l<<2)|0)+12|0;o=v[d+116>>2];e=v[d+8>>2];c=v[d+4>>2];b=v[d>>2];i=v[d+104>>2];E=0;g=v[d+128>>2];if(g>>>0<4){r=0;break t}if(!l){break x}G=x?39248:39504;H=m&2147483584;r=0;while(1){l=0;p=v[d+124>>2];if(p){while(1){g=v[f>>2];z:{if(!g){break z}A:{if(g&2097168){break A}h=g&495;if(!h){break A}k=H&v[o>>2];n=(k|0)!=0;g=(w[h+v[d+108>>2]|0]<<2)+d|0;i=g+28|0;B:{if(N){e=(e|0)==-559038737?7:e-1|0;b=(n<>2]]=b;e=v[d+16>>2];b=w[e|0];v[d+16>>2]=e+1;e=(b|0)==255?7:8;b=0;break B}h=v[g+28>>2];j=v[h>>2];c=c-j|0;if((n|0)==v[h+4>>2]){if(!(c&32768)){v[g+28>>2]=v[h+8>>2];g=c>>>0>j>>>0?c:j;b=(c>>>0>=j>>>0?j:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=g&16384;c=g<<1;g=c;if(!h){continue}break}break B}b=b+j|0;break B}v[g+28>>2]=v[h+12>>2];g=c;c=c>>>0>>0;g=c?g:j;b=(c?j:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=g&16384;c=g<<1;g=c;if(!h){continue}break}}C:{if(!k){break C}j=f-4|0;h=v[f>>2];h=v[f+4>>2]>>>17&4|(v[j>>2]>>>19&1|(h>>>16&64|h&170|h>>>14&16));q=(w[h+38736|0]<<2)+d|0;i=q+28|0;n=v[o>>2];s=n>>>31|0;k=u[G+(((n&2147483647)>>>x&127)<<1)>>1];D:{if(N){e=(e|0)==-559038737?7:e-1|0;b=(s<>2]]=b;e=v[d+16>>2];b=w[e|0];v[d+16>>2]=e+1;e=(b|0)==255?7:8;b=0;break D}g=v[q+28>>2];F=v[g>>2];c=c-F|0;if(v[g+4>>2]==(s^w[h+38992|0])){if(!(c&32768)){v[q+28>>2]=v[g+8>>2];g=c>>>0>F>>>0?c:F;b=(c>>>0>=F>>>0?F:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=g&16384;c=g<<1;g=c;if(!h){continue}break}break D}b=b+F|0;break D}v[q+28>>2]=v[g+12>>2];g=c;c=c>>>0>>0;g=c?g:F;b=(c?F:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=g&16384;c=g<<1;g=c;if(!h){continue}break}}E=k+E|0;h=v[d+124>>2];v[j>>2]=v[j>>2]|32;v[f+4>>2]=v[f+4>>2]|8;v[f>>2]=v[f>>2]|s<<19|16;if(_){break C}h=(-2-h<<2)+f|0;v[h+4>>2]=v[h+4>>2]|32768;v[h>>2]=v[h>>2]|n&-2147483648|65536;h=h-4|0;v[h>>2]=v[h>>2]|131072}g=v[f>>2]|2097152;v[f>>2]=g}if(!(!(g&3960)|g&16777344)){g=(w[v[d+108>>2]+(g>>>3&495)|0]<<2)+d|0;i=g+28|0;k=H&v[o+4>>2];h=(k|0)!=0;E:{if(N){e=(e|0)==-559038737?7:e-1|0;b=(h<>2]]=b;e=v[d+16>>2];b=w[e|0];v[d+16>>2]=e+1;e=(b|0)==255?7:8;b=0;break E}n=v[g+28>>2];j=v[n>>2];c=c-j|0;if((h|0)==v[n+4>>2]){if(!(c&32768)){v[g+28>>2]=v[n+8>>2];g=c>>>0>j>>>0?c:j;b=(c>>>0>=j>>>0?j:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=g&16384;c=g<<1;g=c;if(!h){continue}break}break E}b=b+j|0;break E}v[g+28>>2]=v[n+12>>2];g=c;c=c>>>0>>0;g=c?g:j;b=(c?j:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=g&16384;c=g<<1;g=c;if(!h){continue}break}}h=v[f>>2];if(k){j=f-4|0;n=v[f+4>>2]>>>20&4|(v[j>>2]>>>22&1|(h>>>15&16|(h>>>19&64|h>>>3&170)));g=(w[n+38736|0]<<2)+d|0;i=g+28|0;h=v[o+4>>2];s=h>>>31|0;k=u[G+(((h&2147483647)>>>x&127)<<1)>>1];F:{if(N){e=(e|0)==-559038737?7:e-1|0;b=(s<>2]]=b;e=v[d+16>>2];b=w[e|0];v[d+16>>2]=e+1;e=(b|0)==255?7:8;b=0;break F}h=v[g+28>>2];q=v[h>>2];c=c-q|0;if(v[h+4>>2]==(s^w[n+38992|0])){if(!(c&32768)){v[g+28>>2]=v[h+8>>2];g=c>>>0>q>>>0?c:q;b=(c>>>0>=q>>>0?q:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=g&16384;c=g<<1;g=c;if(!h){continue}break}break F}b=b+q|0;break F}v[g+28>>2]=v[h+12>>2];g=c;c=c>>>0>>0;g=c?g:q;b=(c?q:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=g&16384;c=g<<1;g=c;if(!h){continue}break}}E=k+E|0;v[j>>2]=v[j>>2]|256;v[f+4>>2]=v[f+4>>2]|64;h=v[f>>2]|s<<22|128}g=h|16777216;v[f>>2]=g}if(!(!(g&31680)|g&134218752)){g=(w[v[d+108>>2]+(g>>>6&495)|0]<<2)+d|0;i=g+28|0;k=H&v[o+8>>2];h=(k|0)!=0;G:{if(N){e=(e|0)==-559038737?7:e-1|0;b=(h<>2]]=b;e=v[d+16>>2];b=w[e|0];v[d+16>>2]=e+1;e=(b|0)==255?7:8;b=0;break G}n=v[g+28>>2];j=v[n>>2];c=c-j|0;if((h|0)==v[n+4>>2]){if(!(c&32768)){v[g+28>>2]=v[n+8>>2];g=c>>>0>j>>>0?c:j;b=(c>>>0>=j>>>0?j:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=g&16384;c=g<<1;g=c;if(!h){continue}break}break G}b=b+j|0;break G}v[g+28>>2]=v[n+12>>2];g=c;c=c>>>0>>0;g=c?g:j;b=(c?j:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=g&16384;c=g<<1;g=c;if(!h){continue}break}}h=v[f>>2];if(k){j=f-4|0;n=v[f+4>>2]>>>23&4|(v[j>>2]>>>25&1|(h>>>18&16|(h>>>22&64|h>>>6&170)));g=(w[n+38736|0]<<2)+d|0;i=g+28|0;h=v[o+8>>2];s=h>>>31|0;k=u[G+(((h&2147483647)>>>x&127)<<1)>>1];H:{if(N){e=(e|0)==-559038737?7:e-1|0;b=(s<>2]]=b;e=v[d+16>>2];b=w[e|0];v[d+16>>2]=e+1;e=(b|0)==255?7:8;b=0;break H}h=v[g+28>>2];q=v[h>>2];c=c-q|0;if(v[h+4>>2]==(s^w[n+38992|0])){if(!(c&32768)){v[g+28>>2]=v[h+8>>2];g=c>>>0>q>>>0?c:q;b=(c>>>0>=q>>>0?q:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=g&16384;c=g<<1;g=c;if(!h){continue}break}break H}b=b+q|0;break H}v[g+28>>2]=v[h+12>>2];g=c;c=c>>>0>>0;g=c?g:q;b=(c?q:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=g&16384;c=g<<1;g=c;if(!h){continue}break}}E=k+E|0;v[j>>2]=v[j>>2]|2048;v[f+4>>2]=v[f+4>>2]|512;h=v[f>>2]|s<<25|1024}g=h|134217728;v[f>>2]=g}if(!(g&253440)|g&1073750016){break z}g=(w[v[d+108>>2]+(g>>>9&495)|0]<<2)+d|0;i=g+28|0;k=H&v[o+12>>2];h=(k|0)!=0;I:{if(N){e=(e|0)==-559038737?7:e-1|0;b=(h<>2]]=b;e=v[d+16>>2];b=w[e|0];v[d+16>>2]=e+1;e=(b|0)==255?7:8;b=0;break I}n=v[g+28>>2];j=v[n>>2];c=c-j|0;if((h|0)==v[n+4>>2]){if(!(c&32768)){v[g+28>>2]=v[n+8>>2];g=c>>>0>j>>>0?c:j;b=(c>>>0>=j>>>0?j:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=g&16384;c=g<<1;g=c;if(!h){continue}break}break I}b=b+j|0;break I}v[g+28>>2]=v[n+12>>2];g=c;c=c>>>0>>0;g=c?g:j;b=(c?j:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=g&16384;c=g<<1;g=c;if(!h){continue}break}}if(k){j=f-4|0;h=v[f>>2];n=v[f+4>>2]>>>26&4|(v[j>>2]>>>28&1|(h>>>25&64|h>>>9&170|h>>>21&16));g=(w[n+38736|0]<<2)+d|0;i=g+28|0;h=v[o+12>>2];s=h>>>31|0;k=u[G+(((h&2147483647)>>>x&127)<<1)>>1];J:{if(N){e=(e|0)==-559038737?7:e-1|0;b=(s<>2]]=b;e=v[d+16>>2];b=w[e|0];v[d+16>>2]=e+1;e=(b|0)==255?7:8;b=0;break J}h=v[g+28>>2];q=v[h>>2];c=c-q|0;if(v[h+4>>2]==(s^w[n+38992|0])){if(!(c&32768)){v[g+28>>2]=v[h+8>>2];g=c>>>0>q>>>0?c:q;b=(c>>>0>=q>>>0?q:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=g&16384;c=g<<1;g=c;if(!h){continue}break}break J}b=b+q|0;break J}v[g+28>>2]=v[h+12>>2];g=c;c=c>>>0>>0;g=c?g:q;b=(c?q:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=g&16384;c=g<<1;g=c;if(!h){continue}break}}h=v[d+124>>2];v[j>>2]=v[j>>2]|16384;v[f+4>>2]=v[f+4>>2]|4096;v[f>>2]=v[f>>2]|s<<28|8192;h=(h<<2)+f|0;v[h+4>>2]=v[h+4>>2]|4;v[h+12>>2]=v[h+12>>2]|1;v[h+8>>2]=v[h+8>>2]|s<<18|2;E=k+E|0}v[f>>2]=v[f>>2]|1073741824}o=o+16|0;f=f+4|0;l=l+1|0;if((p|0)!=(l|0)){continue}break}g=v[d+128>>2]}f=f+8|0;r=r+4|0;if(r>>>0<(g&-4)>>>0){continue}break};break t;case 2:break w;case 1:break y;default:break s}}H=x+6|0;g=v[d+124>>2];o=(v[d+120>>2]+(g<<2)|0)+12|0;k=v[d+116>>2];e=v[d+8>>2];c=v[d+4>>2];b=v[d>>2];n=v[d+104>>2];E=0;l=v[d+128>>2];K:{if(l>>>0<4){r=0;break K}if(!g){break u}s=x?39760:40016;i=1;r=0;while(1){h=0;f=0;if(i){while(1){f=v[o>>2];if(!(!(f&9360)|(f&1226833920)==1226833920)){if((f&2097168)!=16){l=f}else{p=((f&1048576?16:f&495?15:14)<<2)+d|0;n=p+28|0;l=v[k>>2]&2147483647;g=l>>>H&1;i=u[s+((l>>>x&127)<<1)>>1];L:{if(N){e=(e|0)==-559038737?7:e-1|0;b=(g<>2]]=b;e=v[d+16>>2];b=w[e|0];v[d+16>>2]=e+1;e=(b|0)==255?7:8;b=0;break L}l=v[p+28>>2];j=v[l>>2];c=c-j|0;if((g|0)==v[l+4>>2]){if(!(c&32768)){v[p+28>>2]=v[l+8>>2];g=c>>>0>j>>>0?c:j;b=(c>>>0>=j>>>0?j:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}l=g&16384;c=g<<1;g=c;if(!l){continue}break}break L}b=b+j|0;break L}v[p+28>>2]=v[l+12>>2];g=c;c=c>>>0>>0;g=c?g:j;b=(c?j:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}l=g&16384;c=g<<1;g=c;if(!l){continue}break}}E=i+E|0;l=f|1048576}if((f&16777344)==128){j=((f&8388608?16:f&3960?15:14)<<2)+d|0;n=j+28|0;i=v[k+4>>2]&2147483647;g=i>>>H&1;p=u[s+((i>>>x&127)<<1)>>1];M:{if(N){e=(e|0)==-559038737?7:e-1|0;b=(g<>2]]=b;e=v[d+16>>2];b=w[e|0];v[d+16>>2]=e+1;e=(b|0)==255?7:8;b=0;break M}i=v[j+28>>2];m=v[i>>2];c=c-m|0;if((g|0)==v[i+4>>2]){if(!(c&32768)){v[j+28>>2]=v[i+8>>2];g=c>>>0>m>>>0?c:m;b=(c>>>0>=m>>>0?m:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}i=g&16384;c=g<<1;g=c;if(!i){continue}break}break M}b=b+m|0;break M}v[j+28>>2]=v[i+12>>2];g=c;c=c>>>0>>0;g=c?g:m;b=(c?m:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}i=g&16384;c=g<<1;g=c;if(!i){continue}break}}E=p+E|0;l=l|8388608}if((f&134218752)==1024){j=((f&67108864?16:f&31680?15:14)<<2)+d|0;n=j+28|0;i=v[k+8>>2]&2147483647;g=i>>>H&1;p=u[s+((i>>>x&127)<<1)>>1];N:{if(N){e=(e|0)==-559038737?7:e-1|0;b=(g<>2]]=b;e=v[d+16>>2];b=w[e|0];v[d+16>>2]=e+1;e=(b|0)==255?7:8;b=0;break N}i=v[j+28>>2];m=v[i>>2];c=c-m|0;if((g|0)==v[i+4>>2]){if(!(c&32768)){v[j+28>>2]=v[i+8>>2];g=c>>>0>m>>>0?c:m;b=(c>>>0>=m>>>0?m:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}i=g&16384;c=g<<1;g=c;if(!i){continue}break}break N}b=b+m|0;break N}v[j+28>>2]=v[i+12>>2];g=c;c=c>>>0>>0;g=c?g:m;b=(c?m:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}i=g&16384;c=g<<1;g=c;if(!i){continue}break}}E=p+E|0;l=l|67108864}if((f&1073750016)==8192){p=((f&536870912?16:f&253440?15:14)<<2)+d|0;n=p+28|0;f=v[k+12>>2]&2147483647;i=f>>>H&1;g=u[s+((f>>>x&127)<<1)>>1];O:{if(N){e=(e|0)==-559038737?7:e-1|0;b=(i<>2]]=b;e=v[d+16>>2];b=w[e|0];v[d+16>>2]=e+1;e=(b|0)==255?7:8;b=0;break O}f=v[p+28>>2];j=v[f>>2];c=c-j|0;if((i|0)==v[f+4>>2]){if(!(c&32768)){v[p+28>>2]=v[f+8>>2];f=c>>>0>j>>>0?c:j;b=(c>>>0>=j>>>0?j:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}i=f&16384;c=f<<1;f=c;if(!i){continue}break}break O}b=b+j|0;break O}v[p+28>>2]=v[f+12>>2];f=c;c=c>>>0>>0;f=c?f:j;b=(c?j:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}i=f&16384;c=f<<1;f=c;if(!i){continue}break}}E=g+E|0;l=l|536870912}v[o>>2]=l;g=v[d+124>>2]}k=k+16|0;o=o+4|0;h=h+1|0;if(g>>>0>h>>>0){continue}break}l=v[d+128>>2];f=g}o=o+8|0;i=f;r=r+4|0;if(r>>>0<(l&-4)>>>0){continue}break}}if(!g|l>>>0<=r>>>0){break u}q=l-r|0;j=x?39760:40016;h=0;if(N){break v}p=q<<2;r=0;while(1){f=v[o>>2];P:{if(f&9360){i=0;h=k;while(1){m=B(i,3);if((2097168<>>m|0;l=((c&1048576?16:c&495?15:14)<<2)+d|0;n=l+28|0;s=v[n>>2];G=v[s>>2];c=g-G|0;f=v[h>>2]&2147483647;g=u[j+((f>>>x&127)<<1)>>1];Q:{if(v[s+4>>2]!=(f>>>H&1)){v[l+28>>2]=v[s+12>>2];f=c;c=c>>>0>>0;f=c?f:G;b=(c?G:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}l=f&16384;c=f<<1;f=c;if(!l){continue}break}break Q}if(c&32768){b=b+G|0;break Q}v[l+28>>2]=v[s+8>>2];f=c>>>0>G>>>0?c:G;b=(c>>>0>=G>>>0?G:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}l=f&16384;c=f<<1;f=c;if(!l){continue}break}}f=v[o>>2]|1048576<>2]=f;E=g+E|0}h=h+4|0;i=i+1|0;if((q|0)!=(i|0)){continue}break}g=v[d+124>>2];k=k+p|0;break P}k=k+p|0}o=o+4|0;r=r+1|0;if(r>>>0>>0){continue}break}break u}f=g&-4;f=(f>>>0<=4?4:f)-1|0;r=(f&-4)+4|0;f=(h+(f<<1&-8)|0)+20|0;break t}G=64<>2];k=(v[d+120>>2]+(c<<2)|0)+12|0;n=v[d+116>>2];e=v[d+8>>2];f=v[d+4>>2];b=v[d>>2];h=v[d+104>>2];E=0;g=v[d+128>>2];R:{S:{if(g>>>0<4){p=0;break S}if(!c){break R}s=x?39248:39504;O=G&2147483584;i=1;p=0;while(1){H=0;o=0;if(i){while(1){T:{U:{V:{W:{X:{Y:{o=v[k>>2];if(!o){c=v[P>>2];h=v[c>>2];f=f-h|0;Z:{if(O&v[n>>2]){i=0;r=0;l=1;break Z}i=0;if(O&v[n+4>>2]){n=n+4|0;r=1;l=1;break Z}if(O&v[n+8>>2]){n=n+8|0;r=2;l=1;break Z}if(O&v[n+12>>2]){n=n+12|0;r=3;l=1;break Z}n=n+16|0;r=4;i=1;l=0}_:{if((l|0)==v[c+4>>2]){if(!(f&32768)){v[P>>2]=v[c+8>>2];c=f>>>0>h>>>0?f:h;b=(f>>>0>=h>>>0?h:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=c&16384;f=c<<1;c=f;if(!h){continue}break}break _}b=b+h|0;break _}v[P>>2]=v[c+12>>2];c=f;f=f>>>0>>0;c=f?c:h;b=(f?h:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=c&16384;f=c<<1;c=f;if(!h){continue}break}}if(i){h=P;break T}c=v[M>>2];h=v[c>>2];g=f-h|0;$:{if(v[c+4>>2]==(r>>>1|0)){if(!(g&32768)){v[M>>2]=v[c+8>>2];c=g>>>0>h>>>0?g:h;b=(g>>>0>=h>>>0?h:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}f=c&16384;g=c<<1;c=g;if(!f){continue}break}break $}b=b+h|0;break $}v[M>>2]=v[c+12>>2];f=g>>>0>>0;c=f?g:h;b=(f?h:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}f=c&16384;g=c<<1;c=g;if(!f){continue}break}}c=v[M>>2];h=v[c>>2];f=g-h|0;aa:{if(v[c+4>>2]==(r&1)){if(!(f&32768)){v[M>>2]=v[c+8>>2];c=f>>>0>h>>>0?f:h;b=(f>>>0>=h>>>0?h:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=c&16384;f=c<<1;c=f;if(!h){continue}break}break aa}b=b+h|0;break aa}v[M>>2]=v[c+12>>2];c=f;f=f>>>0>>0;c=f?c:h;b=(f?h:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=c&16384;f=c<<1;c=f;if(!h){continue}break}}c=v[k>>2];if((c&1226843280)==1226843280){break X}h=M;if(l){break Y}break U}r=0;c=o;if((c&1226843280)!=1226843280){break Y}break W}J=k-4|0;i=r;l=n;while(1){R=B(i,3);ba:{if(!(!o&(i|0)==(r|0))){c=c>>>R|0;if(c&2097168){break ba}c=(w[v[d+108>>2]+(c&495)|0]<<2)+d|0;h=c+28|0;g=v[h>>2];m=v[g>>2];f=f-m|0;j=O&v[l>>2];ca:{if(v[g+4>>2]==((j|0)!=0|0)){if(!(f&32768)){v[c+28>>2]=v[g+8>>2];c=f>>>0>m>>>0?f:m;b=(f>>>0>=m>>>0?m:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}g=c&16384;f=c<<1;c=f;if(!g){continue}break}break ca}b=b+m|0;break ca}v[c+28>>2]=v[g+12>>2];c=f;f=f>>>0>>0;c=f?c:m;b=(f?m:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}g=c&16384;f=c<<1;c=f;if(!g){continue}break}}if(!j){break ba}c=v[k>>2]}c=v[k+4>>2]>>>R+17&4|(v[J>>2]>>>R+19&1|(c>>>(i?R+12|0:14)&16|(c>>>R+16&64|c>>>R&170)));g=(w[c+38736|0]<<2)+d|0;h=g+28|0;F=v[h>>2];T=v[F>>2];f=f-T|0;q=v[l>>2];j=u[s+(((q&2147483647)>>>x&127)<<1)>>1];m=q>>>31|0;da:{if(v[F+4>>2]==(m^w[c+38992|0])){if(!(f&32768)){v[g+28>>2]=v[F+8>>2];c=f>>>0>T>>>0?f:T;b=(f>>>0>=T>>>0?T:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}g=c&16384;f=c<<1;c=f;if(!g){continue}break}break da}b=b+T|0;break da}v[g+28>>2]=v[F+12>>2];c=f;f=f>>>0>>0;c=f?c:T;b=(f?T:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}g=c&16384;f=c<<1;c=f;if(!g){continue}break}}g=v[d+124>>2];v[J>>2]=v[J>>2]|32<>2]=v[k>>2]|(m<<19|16)<>2]=v[k+4>>2]|8<>2]=v[c+4>>2]|32768;v[c>>2]=v[c>>2]|q&-2147483648|65536;c=c-4|0;v[c>>2]=v[c>>2]|131072}E=j+E|0;if((i|0)!=3){break ba}c=(g+2<<2)+k|0;v[c+4>>2]=v[c+4>>2]|1;v[c>>2]=v[c>>2]|m<<18|2;c=c-4|0;v[c>>2]=v[c>>2]|4}c=v[k>>2]&(2097152<>2]=c;l=l+4|0;i=i+1|0;if((i|0)!=4){continue}break}break U}h=M;ea:{fa:{switch(r|0){case 1:r=1;c=c&-1224736769;break ea;case 3:r=3;c=c&-1073741825;break ea;case 0:break W;case 2:break fa;default:break U}}r=2;c=c&-1207959553}break V}r=0;c=c&-1226833921}v[k>>2]=c}n=(4-r<<2)+n|0}k=k+4|0;c=v[d+124>>2];H=H+1|0;if(c>>>0>H>>>0){continue}break}g=v[d+128>>2];o=c}k=k+8|0;i=o;p=p+4|0;if(p>>>0<(g&-4)>>>0){continue}break}}if(!c|g>>>0<=p>>>0){break R}s=x?39248:39504;j=G&2147483584;r=0;while(1){ga:{ha:{c=v[k>>2];if((c&1226843280)!=1226843280){if((g|0)!=(p|0)){break ha}g=p;break ga}v[k>>2]=c&-1226833921;g=v[d+128>>2];break ga}G=k-4|0;o=0;l=n;while(1){J=B(o,3);c=c>>>J|0;ia:{if(c&2097168){break ia}c=(w[v[d+108>>2]+(c&495)|0]<<2)+d|0;h=c+28|0;i=v[h>>2];m=v[i>>2];f=f-m|0;g=j&v[l>>2];ja:{if(v[i+4>>2]==((g|0)!=0|0)){if(!(f&32768)){v[c+28>>2]=v[i+8>>2];c=f>>>0>m>>>0?f:m;b=(f>>>0>=m>>>0?m:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}i=c&16384;f=c<<1;c=f;if(!i){continue}break}break ja}b=b+m|0;break ja}v[c+28>>2]=v[i+12>>2];c=f;f=f>>>0>>0;c=f?c:m;b=(f?m:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}i=c&16384;f=c<<1;c=f;if(!i){continue}break}}if(!g){break ia}c=v[k>>2];c=v[k+4>>2]>>>J+17&4|(v[G>>2]>>>J+19&1|(c>>>J+16&64|c>>>J&170|c>>>(o?J+12|0:14)&16));i=(w[c+38736|0]<<2)+d|0;h=i+28|0;H=v[h>>2];F=v[H>>2];f=f-F|0;q=v[l>>2];g=u[s+(((q&2147483647)>>>x&127)<<1)>>1];m=q>>>31|0;ka:{if(v[H+4>>2]==(m^w[c+38992|0])){if(!(f&32768)){v[i+28>>2]=v[H+8>>2];c=f>>>0>F>>>0?f:F;b=(f>>>0>=F>>>0?F:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}i=c&16384;f=c<<1;c=f;if(!i){continue}break}break ka}b=b+F|0;break ka}v[i+28>>2]=v[H+12>>2];c=f;f=f>>>0>>0;c=f?c:F;b=(f?F:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}i=c&16384;f=c<<1;c=f;if(!i){continue}break}}i=v[d+124>>2];v[G>>2]=v[G>>2]|32<>2]=v[k>>2]|(m<<19|16)<>2]=v[k+4>>2]|8<>2]=v[c+4>>2]|32768;v[c>>2]=v[c>>2]|q&-2147483648|65536;c=c-4|0;v[c>>2]=v[c>>2]|131072}E=g+E|0;if((o|0)!=3){break ia}c=(i+2<<2)+k|0;v[c+4>>2]=v[c+4>>2]|1;v[c>>2]=v[c>>2]|m<<18|2;c=c-4|0;v[c>>2]=v[c>>2]|4}c=v[k>>2]&(2097152<>2]=c;l=l+4|0;o=o+1|0;g=v[d+128>>2];if(o>>>0>>0){continue}break}}k=k+4|0;n=(g-p<<2)+n|0;r=r+1|0;if(r>>>0>2]){continue}break}}v[d+8>>2]=e;v[d+4>>2]=f;v[d>>2]=b;v[d+104>>2]=h;if(!ha){break s}v[d+104>>2]=d+100;c=v[d+4>>2];h=1;while(1){b=c;c=v[d+104>>2];f=v[c>>2];l=v[f>>2];b=b-l|0;la:{ma:{if(v[f+4>>2]==(h&1)){v[d+4>>2]=b;if(b&32768){break ma}e=v[d>>2];v[c>>2]=v[f+8>>2];c=b>>>0>l>>>0?b:l;b=e+(b>>>0>=l>>>0?l:0)|0;f=v[d+8>>2];while(1){f=f-1|0;v[d+8>>2]=f;e=b<<1;v[d>>2]=e;c=c<<1;v[d+4>>2]=c;na:{if(f){b=e;break na}oa:{pa:{f=v[d+16>>2];c=w[f|0];if((c|0)==255){b=f+1|0;v[d+16>>2]=b;break pa}qa:{if(!(b&67108864)){b=f+1|0;v[d+16>>2]=b;c=e>>>19|0;break qa}t[f|0]=c+1;b=v[d+16>>2];if(w[b|0]==255){b=b+1|0;v[d+16>>2]=b;e=v[d>>2]&134217727;v[d>>2]=e;break pa}b=b+1|0;v[d+16>>2]=b;c=v[d>>2]>>>19|0}f=8;e=524287;break oa}c=e>>>20|0;f=7;e=1048575}t[b|0]=c;v[d+8>>2]=f;b=e&v[d>>2];v[d>>2]=b;c=v[d+4>>2]}if(!(c&32768)){continue}break}break la}e=v[d>>2];v[c>>2]=v[f+12>>2];c=b;b=b>>>0>>0;c=b?c:l;b=e+(b?l:0)|0;f=v[d+8>>2];while(1){f=f-1|0;v[d+8>>2]=f;e=b<<1;v[d>>2]=e;c=c<<1;v[d+4>>2]=c;ra:{if(f){b=e;break ra}sa:{ta:{f=v[d+16>>2];c=w[f|0];if((c|0)==255){b=f+1|0;v[d+16>>2]=b;break ta}ua:{if(!(b&67108864)){b=f+1|0;v[d+16>>2]=b;c=e>>>19|0;break ua}t[f|0]=c+1;b=v[d+16>>2];if(w[b|0]==255){b=b+1|0;v[d+16>>2]=b;e=v[d>>2]&134217727;v[d>>2]=e;break ta}b=b+1|0;v[d+16>>2]=b;c=v[d>>2]>>>19|0}f=8;e=524287;break sa}c=e>>>20|0;f=7;e=1048575}t[b|0]=c;v[d+8>>2]=f;b=e&v[d>>2];v[d>>2]=b;c=v[d+4>>2]}if(!(c&32768)){continue}break}break la}v[d>>2]=l+v[d>>2];c=b}h=h+1|0;if((h|0)!=5){continue}break}break s}while(1){i=v[o>>2];va:{if(i&9360){f=0;while(1){g=B(f,3);if((2097168<>2]&2147483647;e=(e|0)==-559038737?7:e-1|0;b=((r>>>H&1)<>>g|0;n=((l&1048576?16:l&495?15:14)<<2)+d|0;l=u[j+((r>>>x&127)<<1)>>1];if(!e){t[v[d+16>>2]]=b;e=v[d+16>>2];b=w[e|0];v[d+16>>2]=e+1;e=(b|0)==255?7:8;i=v[o>>2];b=0}E=l+E|0;i=1048576<>2]=i;n=n+28|0}k=k+4|0;f=f+1|0;if((q|0)!=(f|0)){continue}break}g=v[d+124>>2];break va}k=(q<<2)+k|0}o=o+4|0;h=h+1|0;if(g>>>0>h>>>0){continue}break}}v[d+8>>2]=e;v[d+4>>2]=c;v[d>>2]=b;v[d+104>>2]=n;break s}wa:{if(g>>>0<=r>>>0){break wa}k=v[d+124>>2];if(!k){break wa}s=x?39248:39504;j=m&2147483584;n=0;while(1){h=v[f>>2];xa:{if(h){if(g>>>0<=r>>>0){break xa}G=f-4|0;l=r;while(1){q=l-r|0;O=B(q,3);k=h>>>O|0;ya:{if(k&2097168){break ya}k=k&495;if(!k){break ya}p=(w[k+v[d+108>>2]|0]<<2)+d|0;i=p+28|0;k=j&v[o>>2];h=(k|0)!=0;za:{if(N){e=(e|0)==-559038737?7:e-1|0;b=(h<>2]]=b;e=v[d+16>>2];b=w[e|0];v[d+16>>2]=e+1;e=(b|0)==255?7:8;b=0;break za}g=v[p+28>>2];m=v[g>>2];c=c-m|0;if((h|0)==v[g+4>>2]){if(!(c&32768)){v[p+28>>2]=v[g+8>>2];g=c>>>0>m>>>0?c:m;b=(c>>>0>=m>>>0?m:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=g&16384;c=g<<1;g=c;if(!h){continue}break}break za}b=b+m|0;break za}v[p+28>>2]=v[g+12>>2];g=c;c=c>>>0>>0;g=c?g:m;b=(c?m:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=g&16384;c=g<<1;g=c;if(!h){continue}break}}Aa:{if(!k){break Aa}h=(l|0)==(r|0);p=h&(_|0)!=0;i=v[f>>2];h=v[f+4>>2]>>>O+17&4|(v[G>>2]>>>O+19&1|(i>>>O+16&64|i>>>O&170|i>>>(h?14:O+12|0)&16));H=(w[h+38736|0]<<2)+d|0;i=H+28|0;m=v[o>>2];F=m>>>31|0;k=u[s+(((m&2147483647)>>>x&127)<<1)>>1];Ba:{if(N){e=(e|0)==-559038737?7:e-1|0;b=(F<>2]]=b;e=v[d+16>>2];b=w[e|0];v[d+16>>2]=e+1;e=(b|0)==255?7:8;b=0;break Ba}g=v[H+28>>2];J=v[g>>2];c=c-J|0;if(v[g+4>>2]==(F^w[h+38992|0])){if(!(c&32768)){v[H+28>>2]=v[g+8>>2];g=c>>>0>J>>>0?c:J;b=(c>>>0>=J>>>0?J:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=g&16384;c=g<<1;g=c;if(!h){continue}break}break Ba}b=b+J|0;break Ba}v[H+28>>2]=v[g+12>>2];g=c;c=c>>>0>>0;g=c?g:J;b=(c?J:0)+b|0;while(1){b=b<<1;e=e-1|0;if(!e){v[d>>2]=b;Qa(d);e=v[d+8>>2];b=v[d>>2]}h=g&16384;c=g<<1;g=c;if(!h){continue}break}}g=v[d+124>>2];v[G>>2]=v[G>>2]|32<>2]=v[f>>2]|(F<<19|16)<>2]=v[f+4>>2]|8<>2]=v[h+4>>2]|32768;v[h>>2]=v[h>>2]|m&-2147483648|65536;h=h-4|0;v[h>>2]=v[h>>2]|131072}E=k+E|0;if((q|0)!=3){break Aa}h=(g+2<<2)+f|0;v[h+4>>2]=v[h+4>>2]|1;v[h>>2]=v[h>>2]|F<<18|2;h=h-4|0;v[h>>2]=v[h>>2]|4}h=v[f>>2]|2097152<>2]=h;g=v[d+128>>2]}o=o+4|0;l=l+1|0;if(l>>>0>>0){continue}break}k=v[d+124>>2];break xa}o=(g-r<<2)+o|0}f=f+4|0;n=n+1|0;if(n>>>0>>0){continue}break}}v[d+8>>2]=e;v[d+4>>2]=c;v[d>>2]=b;v[d+104>>2]=i}aa=1;aa=ea?A[ia>>3]:aa;Ca:{if(!ka){b=V>>>0>8?S?8:V:V;da=A[(B(S,80)+((V>>>0>9?S?b:9:b)<<3)|0)+29744>>3];Y=ba;break Ca}b=V>>>0>8?S?8:V:V;da=A[(B(S,80)+((V>>>0>9?S?b:9:b)<<3)|0)+30064>>3];Y=ja}Y=aa*da*Y*+(1<>3]=$;Da:{Ea:{Fa:{if(!x&(W|0)==2|ga){break Fa}if(!ca){break Ea}b=v[Q>>2]-4|0;if((W|0)==2&(b|0)==(x|0)){break Fa}if(!W|(b|0)<=(x|0)){break Ea}}Ga:{if(N){f=0;h=0;Ha:{Ia:{Ja:{Ka:{b=v[d+8>>2];if(b>>>0>=7){if((b|0)!=7){break Ja}if(Z){break Ia}e=v[d+16>>2]-1|0;if(w[e|0]==255){break Ka}break Ia}if(b){break Ia}c=v[d>>2];break Ha}v[d+16>>2]=e;break Ga}La:{if((b|0)!=8|Z){break La}b=v[d+16>>2];if(w[b-1|0]!=127){break La}b=b-2|0;if(w[b|0]!=255){break La}v[d+16>>2]=b}break Ga}k=b&3;c=v[d>>2];Ma:{if(b-1>>>0<3){e=0;break Ma}i=b&-4;e=0;while(1){g=c;c=e&255;e=1-e&255;c=((g+(c<>2]=c;v[d+8>>2]=0}t[v[d+16>>2]]=c;v[d+16>>2]=v[d+16>>2]+1;break Ga}if(Z){b=v[d+8>>2];e=12-b|0;if((e|0)>0){f=v[d>>2];while(1){v[d+8>>2]=0;b=f<>2]=b;Na:{Oa:{f=v[d+16>>2];c=w[f|0];if((c|0)==255){c=f+1|0;v[d+16>>2]=c;break Oa}Pa:{if(!(b&134217728)){c=f+1|0;v[d+16>>2]=c;h=b>>>19|0;break Pa}t[f|0]=c+1;b=v[d+16>>2];if(w[b|0]==255){c=b+1|0;v[d+16>>2]=c;b=v[d>>2]&134217727;v[d>>2]=b;break Oa}c=b+1|0;v[d+16>>2]=c;h=v[d>>2]>>>19|0}f=524287;b=8;break Na}h=b>>>20|0;f=1048575;b=7}t[c|0]=h;v[d+8>>2]=b;f=v[d>>2]&f;v[d>>2]=f;e=e-b|0;if((e|0)>0){continue}break}}c=v[d+16>>2];b=w[c|0];if((b|0)!=255){e=v[d>>2];Qa:{Ra:{if(!(e&134217728)){b=c+1|0;v[d+16>>2]=b;e=e>>>19|0;break Ra}t[c|0]=b+1;b=v[d+16>>2];if(w[b|0]==255){b=b+1|0;v[d+16>>2]=b;e=v[d>>2]&134217727;v[d>>2]=e;e=e>>>20|0;f=7;c=1048575;break Qa}b=b+1|0;v[d+16>>2]=b;e=v[d>>2]>>>19|0}f=8;c=524287}t[b|0]=e;v[d+8>>2]=f;v[d>>2]=v[d>>2]&c}break Ga}b=v[d>>2];e=b|65535;b=(e>>>0>2]>>>0?e:e-32768|0)<>2];v[d>>2]=b;Sa:{Ta:{c=v[d+16>>2];e=w[c|0];if((e|0)==255){c=c+1|0;v[d+16>>2]=c;break Ta}Ua:{if(!(b&134217728)){c=c+1|0;v[d+16>>2]=c;b=b>>>19|0;break Ua}t[c|0]=e+1;b=v[d+16>>2];if(w[b|0]==255){c=b+1|0;v[d+16>>2]=c;b=v[d>>2]&134217727;v[d>>2]=b;break Ta}c=b+1|0;v[d+16>>2]=c;b=v[d>>2]>>>19|0}f=8;e=524287;break Sa}b=b>>>20|0;f=7;e=1048575}t[c|0]=b;v[d+8>>2]=f;b=(v[d>>2]&e)<>2]=b;Va:{Wa:{c=v[d+16>>2];e=w[c|0];if((e|0)==255){c=c+1|0;v[d+16>>2]=c;break Wa}Xa:{if(!(b&134217728)){c=c+1|0;v[d+16>>2]=c;b=b>>>19|0;break Xa}t[c|0]=e+1;b=v[d+16>>2];if(w[b|0]==255){c=b+1|0;v[d+16>>2]=c;b=v[d>>2]&134217727;v[d>>2]=b;break Wa}c=b+1|0;v[d+16>>2]=c;b=v[d>>2]>>>19|0}f=8;e=524287;break Va}b=b>>>20|0;f=7;e=1048575}t[c|0]=b;v[d+8>>2]=f;v[d>>2]=v[d>>2]&e;b=v[d+16>>2];if(w[b|0]!=255){v[d+16>>2]=b+1}}t[I+20|0]=w[I+20|0]|1;b=v[d+16>>2]-v[d+20>>2]|0;break Da}b=3;if(N){e=v[d+8>>2];b=1;Ya:{if(e>>>0<7){break Ya}b=0;if((e|0)!=7){break Ya}b=1;if(Z){break Ya}b=w[v[d+16>>2]-1|0]!=255}}t[I+20|0]=w[I+20|0]&254;b=(v[d+16>>2]-v[d+20>>2]|0)+b|0}v[I>>2]=b;e=W+1|0;b=(e|0)==3;x=x-b|0;if(fa){v[d+28>>2]=35312;v[d+100>>2]=36656;v[d+92>>2]=35184;v[d+88>>2]=35184;v[d+84>>2]=35184;v[d+80>>2]=35184;v[d+76>>2]=35184;v[d+72>>2]=35184;v[d+68>>2]=35184;v[d- -64>>2]=35184;v[d+60>>2]=35184;v[d+56>>2]=35184;v[d+52>>2]=35184;v[d+48>>2]=35184;v[d+44>>2]=35184;v[d+40>>2]=35184;v[d+36>>2]=35184;v[d+32>>2]=35184;v[d+96>>2]=35280}W=b?0:e;X=X+1|0;if((x|0)>=0){continue}break}v[L+48>>2]=X;if(!X){break l}c=v[d+16>>2]-v[d+20>>2]|0;h=v[L+48>>2];if(!h){break l}l=v[L+8>>2];k=h&3;Za:{if(!k){b=c;e=h;break Za}f=0;e=h;while(1){e=e-1|0;i=l+B(e,24)|0;b=v[i>>2];if(c>>>0>>0){v[i>>2]=c;b=c}c=b;f=f+1|0;if((k|0)!=(f|0)){continue}break}}if(h>>>0>=4){while(1){i=l+B(e,24)|0;f=i-24|0;c=v[f>>2];if(c>>>0>b>>>0){v[f>>2]=b;c=b}f=i-48|0;b=v[f>>2];if(c>>>0>>0){v[f>>2]=c;b=c}f=i-72|0;c=v[f>>2];if(c>>>0>b>>>0){v[f>>2]=b;c=b}e=e-4|0;f=l+B(e,24)|0;b=v[f>>2];if(c>>>0>>0){v[f>>2]=c;b=c}if(e){continue}break}}f=v[L>>2];e=l;b=v[e>>2];c=b-1|0;if(w[f+c|0]==255){v[l>>2]=c;b=c}v[e+16>>2]=b;e=1;if((h|0)==1){break l}while(1){i=l+B(e,24)|0;c=v[i>>2];b=c-1|0;if(w[b+f|0]==255){v[i>>2]=b;c=b}v[i+16>>2]=c-v[i-24>>2];e=e+1|0;if((h|0)!=(e|0)){continue}break}break l}v[L+48>>2]=0}if(!v[a+40>>2]){b=v[a+12>>2];A[b+32>>3]=$+A[b+32>>3];Ga(a);return}e=v[a+40>>2];b=v[a+12>>2];A[b+32>>3]=$+A[b+32>>3];if(!e){break a}}Ga(a)}function de(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=C(0),p=0,q=0,r=0,s=0,E=0,F=0,I=0,J=0,L=0,M=C(0),N=0,O=0,P=C(0),Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=C(0),Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;m=qa-400|0;qa=m;a:{if(!c|(!a|!b)){break a}q=v[b+5592>>2];if(q-34>>>0<=4294967262){v[m+4>>2]=33;v[m>>2]=q;Fa(d,1,18109,m);break a}h=v[b+5596>>2];if(h-1025>>>0<=4294966274){v[m+16>>2]=h;Fa(d,1,18358,m+16|0);break a}l=v[b+5600>>2];if(l-1025>>>0<=4294966274){v[m+32>>2]=l;Fa(d,1,18283,m+32|0);break a}if(B(h,l)>>>0<4097){e=h;while(1){f=g;g=f+1|0;p=e>>>0>3;e=e>>>1|0;if(p){continue}break}g=0;if((l|0)>=2){e=l;while(1){g=g+1|0;p=e>>>0>3;e=e>>>1|0;if(p){continue}break}}if((h|0)!=2<>2]=h;Fa(d,1,18358,m+352|0);e=0;break a}if((l|0)!=1<>2]=l;Fa(d,1,18358,m+336|0);e=0;break a}b:{if(!v[b+24>>2]){break b}if(!v[b+32>>2]){e=0;Fa(d,1,9415,0);break a}if(v[b+4788>>2]>=11){v[m+304>>2]=10;Fa(d,1,17525,m+304|0);e=0;break a}if((q|0)<11){break b}v[m+320>>2]=10;Fa(d,1,17585,m+320|0);e=0;break a}e=v[c+16>>2];v[a+104>>2]=1;v[a+108>>2]=1;v[a+68>>2]=e;c:{if(x[b+18704>>1]){break c}g=v[b+18676>>2]-1|0;if(g>>>0<=2){f=g<<2;v[b+18700>>2]=v[f+30880>>2];e=g<<4;h=e&31;u[b+18704>>1]=(e&63)>>>0>=32?4>>>h|0:((1<>>h;v[b+18680>>2]=v[f+30892>>2]}e=3;d:{e:{f:{g:{f=v[b+18684>>2];switch(f-3|0){case 0:break e;case 1:break f;default:break g}}e=33024;if((f|0)==33024){break e}if(g>>>0<3){break d}break c}e=4}u[b+18704>>1]=e}Fa(d,2,5466,0)}g=v[b+4788>>2];h:{if(!g){g=1;v[b+20>>2]=1;v[b+4788>>2]=1;v[b+4792>>2]=0;break h}if(v[b+20>>2]){e=1;if(g>>>0<2){g=1;break h}f=b+4792|0;while(1){P=z[f+(e<<2)>>2];o=C(G(P,C(1)));h=e-1|0;Y=z[f+(h<<2)>>2];M=C(G(Y,C(1)));i:{if(!(o>=M)){break i}V=+P;if(o!=P){T=+Y;L=+o;if(M!=Y){A[m+168>>3]=M;A[m+160>>3]=T;v[m+152>>2]=h;A[m+144>>3]=L;A[m+136>>3]=V;v[m+128>>2]=e;Fa(d,2,25866,m+128|0);break i}A[m+208>>3]=T;v[m+200>>2]=h;A[m+192>>3]=L;A[m+184>>3]=V;v[m+176>>2]=e;Fa(d,2,9717,m+176|0);break i}L=+Y;if(M!=Y){A[m+256>>3]=M;A[m+248>>3]=L;v[m+240>>2]=h;A[m+232>>3]=V;v[m+224>>2]=e;Fa(d,2,25782,m+224|0);break i}A[m+296>>3]=L;v[m+288>>2]=h;A[m+280>>3]=V;v[m+272>>2]=e;Fa(d,2,9651,m+272|0)}e=e+1|0;g=v[b+4788>>2];if(e>>>0>>0){continue}break}break h}if(!v[b+28>>2]){break h}e=1;if(g>>>0<2){g=1;break h}h=b+5192|0;while(1){P=z[h+(e<<2)>>2];f=e-1|0;o=z[h+(f<<2)>>2];if(!(!(P>3]=o;v[m+112>>2]=f;v[m+96>>2]=e;A[m+104>>3]=P;Fa(d,2,9801,m+96|0);g=v[b+4788>>2]}e=e+1|0;if(g>>>0>e>>>0){continue}break}}e=v[b+18700>>2];j:{if((e|0)<=0){o=z[((g<<2)+b|0)+4788>>2];if(o>C(0)){e=v[c+24>>2];o=C(+y[c+16>>2]*+y[e+8>>2]*+y[e+12>>2]*+y[e+24>>2]/(+o*8*+y[e>>2]*+y[e+4>>2]));e=o>C(2147483648);o=C(H(o));k:{if(C(D(o))>2]=e?2147483647:f;break j}v[b+18700>>2]=0;break j}if(!((g|0)!=1|(x[b+18704>>1]-1024&65535)>>>0>1435|z[b+4792>>2]!=C(0))){f=v[c+24>>2];z[b+4792>>2]=C(B(B(B(v[f+8>>2],v[c+16>>2]),v[f+12>>2]),v[f+24>>2])>>>0)/C(B(v[f+4>>2],B(e,v[f>>2]))<<3>>>0)}if(!g){break j}f=v[c+24>>2];o=C(+y[c+16>>2]*+y[f+8>>2]*+y[f+12>>2]*+y[f+24>>2]/(+(e|0)*8*+y[f>>2]*+y[f+4>>2]));e=0;if(g>>>0>=4){l=g&-4;h=0;while(1){p=e<<2;f=(p+b|0)+4792|0;if(o>z[f>>2]){z[f>>2]=o;j=1}f=((p|4)+b|0)+4792|0;if(o>z[f>>2]){z[f>>2]=o;j=1}f=((p|8)+b|0)+4792|0;if(o>z[f>>2]){z[f>>2]=o;j=1}f=((p|12)+b|0)+4792|0;if(o>z[f>>2]){z[f>>2]=o;j=1}e=e+4|0;h=h+4|0;if((l|0)!=(h|0)){continue}break}}h=g&3;if(h){while(1){f=((e<<2)+b|0)+4792|0;if(o>z[f>>2]){z[f>>2]=o;j=1}e=e+1|0;k=k+1|0;if((h|0)!=(k|0)){continue}break}}if(!j){break j}Fa(d,2,5060,0)}l:{m:{n:{o:{e=x[b+18704>>1];if((e-3&65535)>>>0>=4&(e-1024&65535)>>>0>1435){break o}v[a+16>>2]=1;e=x[b+18704>>1];if((e-3&65535)>>>0>3){break o}f=10798;if((e-5&65535)>>>0<2){break n}h=0;i=qa+-64|0;qa=i;v[b+16>>2]=1;v[b>>2]=0;v[b+4>>2]=0;u[b+18688>>1]=17153;v[b+18180>>2]=0;v[b+18184>>2]=0;v[b+8>>2]=0;v[b+12>>2]=1;v[b+18188>>2]=1;v[b+18192>>2]=1;v[b+5612>>2]=-1;v[b+5596>>2]=32;v[b+5600>>2]=32;v[b+5604>>2]=0;v[b+5608>>2]=1;f=v[b+4788>>2];if((f|0)>=2){e=b+4792|0;o=z[(e+(f<<2)|0)-4>>2];v[i+48>>2]=f;A[i+56>>3]=o;Fa(d,2,2184,i+48|0);z[b+4792>>2]=z[(e+(v[b+4788>>2]<<2)|0)-4>>2];v[b+4788>>2]=1}p:{q:{r:{s:{t:{u:{v:{w:{x:{switch(x[b+18704>>1]-3|0){case 0:j=v[b+5592>>2];if((j|0)<7){break t}v[i>>2]=j+1;Fa(d,2,26771,i);j=6;break w;case 1:break x;default:break u}}j=v[b+5592>>2];if((j|0)<=1){v[i+16>>2]=j+1;Fa(d,2,26917,i+16|0);v[b+5592>>2]=1;v[b+40>>2]=v[b+40>>2]|1;break s}if(j>>>0<8){break v}v[i+32>>2]=j+1;Fa(d,2,26617,i+32|0);j=7}v[b+5592>>2]=j}g=j-1|0;v[b+5620>>2]=g;v[b+40>>2]=v[b+40>>2]|1;break q}j=v[b+5592>>2]}v[b+40>>2]=v[b+40>>2]|1;if((j|0)!=1){break r}}v[b+5756>>2]=128;v[b+5620>>2]=1;v[b+5624>>2]=128;j=1;break p}g=j-1|0;v[b+5620>>2]=g;if((j|0)<2){break p}}k=0;if(g-1>>>0>=3){f=g&-4;q=b+5624|0;p=b+5756|0;while(1){l=k<<2;v[l+q>>2]=256;v[l+p>>2]=256;e=l|4;v[e+q>>2]=256;v[e+p>>2]=256;e=l|8;v[e+q>>2]=256;v[e+p>>2]=256;e=l|12;v[e+q>>2]=256;v[e+p>>2]=256;k=k+4|0;h=h+4|0;if((f|0)!=(h|0)){continue}break}}f=g&3;if(!f){break p}while(1){e=(k<<2)+b|0;v[e+5756>>2]=256;v[e+5624>>2]=256;k=k+1|0;s=s+1|0;if((f|0)!=(s|0)){continue}break}}v[b+44>>2]=4;k=0;if(x[b+18704>>1]==4){v[b+48>>2]=0;v[b+52>>2]=0;v[b+244>>2]=1;v[b+80>>2]=4;v[b- -64>>2]=3;e=j-1|0;v[b+60>>2]=e;v[b+56>>2]=1;v[b+96>>2]=1;v[b+228>>2]=4;v[b+212>>2]=3;v[b+208>>2]=j;v[b+200>>2]=0;v[b+204>>2]=1;v[b+196>>2]=e;k=2}v[b+20>>2]=1;v[b+4784>>2]=k;e=v[b+18700>>2];y:{if((e|0)<=0){v[b+18700>>2]=1302083;Fa(d,2,22559,0);break y}if(e>>>0<1302084){break y}Fa(d,2,19883,0);v[b+18700>>2]=1302083}e=v[b+18680>>2];z:{if((e|0)<=0){v[b+18680>>2]=1041666;Fa(d,2,22410,0);break z}if(e>>>0<1041667){break z}Fa(d,2,19710,0);v[b+18680>>2]=1041666}e=v[c+24>>2];z[b+4792>>2]=C(B(B(B(v[e+8>>2],v[c+16>>2]),v[e+12>>2]),v[e+24>>2])>>>0)/C(B(v[e+4>>2],B(v[b+18700>>2],v[e>>2]))<<3>>>0);qa=i- -64|0;f=x[b+18704>>1];s=0;g=qa-80|0;qa=g;A:{B:{C:{e=v[c+16>>2];if((e|0)==3){e=v[c+24>>2];if(v[e+32>>2]|v[e+24>>2]!=12){k=e+32|0;h=e+24|0;break C}s=1;k=e+84|0;h=e+76|0;if(v[k>>2]|v[h>>2]!=12){break C}s=2;k=e+136|0;h=e+128|0;if(v[k>>2]|v[h>>2]!=12){break C}k=1;D:{switch(f-3|0){case 0:f=v[e+12>>2];e=v[e+8>>2];if(f>>>0<1081&e>>>0<=2048){break A}v[g+4>>2]=f;v[g>>2]=e;Fa(d,2,15743,g);break B;case 1:break D;default:break A}}f=v[e+12>>2];e=v[e+8>>2];if(f>>>0<2161&e>>>0<=4096){break A}v[g+20>>2]=f;v[g+16>>2]=e;Fa(d,2,15578,g+16|0);break B}v[g+48>>2]=e;Fa(d,2,16131,g+48|0);break B}e=w[2362]|w[2363]<<8|(w[2364]<<16|w[2365]<<24);t[g+75|0]=e;t[g+76|0]=e>>>8;t[g+77|0]=e>>>16;t[g+78|0]=e>>>24;v[g+72>>2]=w[2359]|w[2360]<<8|(w[2361]<<16|w[2362]<<24);t[g- -64|0]=w[2365];e=w[2361]|w[2362]<<8|(w[2363]<<16|w[2364]<<24);v[g+56>>2]=w[2357]|w[2358]<<8|(w[2359]<<16|w[2360]<<24);v[g+60>>2]=e;e=v[k>>2];v[g+36>>2]=v[h>>2];v[g+32>>2]=s;v[g+40>>2]=e?g+72|0:g+56|0;Fa(d,2,15914,g+32|0)}k=0}qa=g+80|0;if(!k){break m}break l}f=10860;if((e&65535)==7){break n}f=10750;if((e-256&65535)>>>0<524){break n}if((e-1024&65535)>>>0<=1435){g=0;if(!(v[b+5596>>2]!=64|v[b+5600>>2]!=64)){v[b+5596>>2]=32;v[b+5600>>2]=32}e=x[b+18704>>1];u[b+18688>>1]=17153;if(!v[b+44>>2]){v[b+44>>2]=4}l=e&-256;if(!((e&65024)!=1024&(l|0)!=1536)){v[b+5608>>2]=1}e=v[b+5592>>2];E:{if((e|0)!=6){break E}if(v[c>>2]){e=6;break E}e=6;if(v[c+4>>2]){break E}f=v[b>>2];j=v[(f?b+12|0:c+8|0)>>2];h=6;F:{G:{H:{switch((l&65535)-1024>>>8|0){case 3:if(j>>>0>2047){break G}e=5;if(j>>>0>1023){break G}break F;case 4:if(j>>>0>4095){break F}if(j>>>0>2047){break G}e=5;if(j>>>0>1023){break G}break F;case 0:break G;case 5:break H;default:break F}}if(j>>>0>4095){break F}if(j>>>0>2047){break G}e=5;if(j>>>0<1024){break F}}v[b+5592>>2]=e;h=e}I:{if(!f){j=v[c+8>>2];e=h-1|0;f=1<>>0>>0|f>>>0>y[c+12>>2]){break I}}e=h;break E}v[b+5592>>2]=e;f=h-2|0;l=1<>>0<=j>>>0&l>>>0<=y[c+12>>2]){break E}v[b+5592>>2]=f;if(e>>>0<2){e=f;break E}e=h-3|0;l=1<>>0>j>>>0|l>>>0>y[c+12>>2])){e=f;break E}v[b+5592>>2]=e;if(f>>>0<2){break E}f=h-4|0;l=1<>>0<=j>>>0&l>>>0<=y[c+12>>2]){break E}v[b+5592>>2]=f;if(e>>>0<2){e=f;break E}e=h-5|0;l=1<>>0>j>>>0|l>>>0>y[c+12>>2])){e=f;break E}v[b+5592>>2]=e;if(f>>>0<2){break E}f=h-6|0;h=1<>>0<=j>>>0&h>>>0<=y[c+12>>2]){break E}v[b+5592>>2]=f;e=f}J:{if(v[b+40>>2]){break J}v[b+40>>2]=1;if((e|0)==1){v[b+5756>>2]=128;v[b+5620>>2]=1;v[b+5624>>2]=128;break J}l=e-1|0;v[b+5620>>2]=l;if((e|0)<2){break J}h=0;if(e-2>>>0>=3){f=l&-4;p=b+5624|0;k=b+5756|0;while(1){j=h<<2;v[j+p>>2]=256;v[j+k>>2]=256;e=j|4;v[e+p>>2]=256;v[e+k>>2]=256;e=j|8;v[e+p>>2]=256;v[e+k>>2]=256;e=j|12;v[e+p>>2]=256;v[e+k>>2]=256;h=h+4|0;g=g+4|0;if((f|0)!=(g|0)){continue}break}}f=l&3;if(!f){break J}while(1){e=(h<<2)+b|0;v[e+5756>>2]=256;v[e+5624>>2]=256;h=h+1|0;s=s+1|0;if((f|0)!=(s|0)){continue}break}}i=qa-400|0;qa=i;p=v[(v[b>>2]?b+12|0:c+8|0)>>2];q=v[b+5592>>2];j=x[b+18704>>1];h=j&15;K:{L:{if(h>>>0>=12){v[i+336>>2]=h;Fa(d,2,11283,i+336|0);break L}f=j>>>4&15;e=x[(h<<1)+30528>>1];k=1;if(f>>>0<=e>>>0){break K}v[i+360>>2]=f;v[i+356>>2]=h;v[i+352>>2]=e;Fa(d,2,11159,i+352|0)}k=0}e=v[c+16>>2];if(e>>>0>=4){v[i+320>>2]=e;Fa(d,2,12251,i+320|0);k=0}f=v[c>>2];e=v[c+4>>2];if(f|e){v[i+304>>2]=f;v[i+308>>2]=(e|0)!=0;Fa(d,2,11503,i+304|0);k=0}f=v[b+4>>2];e=v[b+8>>2];if(f|e){v[i+292>>2]=e;v[i+288>>2]=f;Fa(d,2,11389,i+288|0);k=0}l=j&65280;M:{if(!v[b>>2]){break M}h=v[c+8>>2];g=v[b+12>>2];N:{if(!((j&65024)!=1024&(l|0)!=1536)){f=v[c+12>>2];e=v[b+16>>2];if(f>>>0<=e>>>0&g>>>0>=h>>>0){break M}v[i+268>>2]=f;v[i+264>>2]=h;v[i+260>>2]=e;v[i+256>>2]=g;Fa(d,2,12396,i+256|0);break N}if(g>>>0>=h>>>0&y[b+16>>2]>=y[c+12>>2]){break M}e=v[b+16>>2];if((g|0)==1024&(e|0)==1024){break M}v[i+276>>2]=e;v[i+272>>2]=g;Fa(d,2,10915,i+272|0)}k=0}e=v[c+16>>2];O:{if(!e){break O}g=0;while(1){f=v[c+24>>2]+B(g,52)|0;if(!(v[f+24>>2]-8>>>0<=8&!v[f+32>>2])){k=0;e=w[2362]|w[2363]<<8|(w[2364]<<16|w[2365]<<24);t[i+395|0]=e;t[i+396|0]=e>>>8;t[i+397|0]=e>>>16;t[i+398|0]=e>>>24;v[i+392>>2]=w[2359]|w[2360]<<8|(w[2361]<<16|w[2362]<<24);t[i+384|0]=w[2365];e=w[2361]|w[2362]<<8|(w[2363]<<16|w[2364]<<24);v[i+376>>2]=w[2357]|w[2358]<<8|(w[2359]<<16|w[2360]<<24);v[i+380>>2]=e;e=v[f+32>>2];v[i+244>>2]=v[f+24>>2];v[i+240>>2]=g;v[i+248>>2]=e?i+392|0:i+376|0;Fa(d,2,12062,i+240|0);e=v[c+16>>2]}g=g+1|0;if(g>>>0>>0){continue}break}if(!e){break O}e=v[v[c+24>>2]>>2];if((e|0)!=1){v[i+224>>2]=e;Fa(d,2,15091,i+224|0);k=0}e=v[v[c+24>>2]+4>>2];if((e|0)!=1){v[i+212>>2]=0;v[i+208>>2]=e;Fa(d,2,13255,i+208|0);k=0}if(y[c+16>>2]<2){break O}e=v[v[c+24>>2]+52>>2];if(e-1>>>0>=2){v[i+192>>2]=e;Fa(d,2,14989,i+192|0);k=0}e=v[v[c+24>>2]+56>>2];if((e|0)!=1){v[i+180>>2]=1;v[i+176>>2]=e;Fa(d,2,13255,i+176|0);k=0}g=2;if(y[c+16>>2]<=2){break O}while(1){h=B(g,52);e=h+v[c+24>>2]|0;f=v[e>>2];e=v[e-52>>2];if((f|0)!=(e|0)){v[i+168>>2]=e;v[i+164>>2]=f;v[i+160>>2]=g+1;Fa(d,2,15335,i+160|0);k=0}e=v[(h+v[c+24>>2]|0)+4>>2];if((e|0)!=1){v[i+148>>2]=g;v[i+144>>2]=e;Fa(d,2,13255,i+144|0);k=0}g=g+1|0;if(g>>>0>2]){continue}break}}h=l-1024>>>8|0;P:{if(h>>>0>5){k=0;break P}Q:{R:{S:{e=1<>2];f=v[e+12>>2];e=v[e+8>>2];if(f>>>0<3113&e>>>0<=4096){break Q}v[i+116>>2]=f;v[i+112>>2]=e;Fa(d,2,11914,i+112|0);break R}e=v[c+24>>2];f=v[e+12>>2];e=v[e+8>>2];if(f>>>0<1557&e>>>0<=2048){break Q}v[i+100>>2]=f;v[i+96>>2]=e;Fa(d,2,11618,i+96|0);break R}e=v[c+24>>2];f=v[e+12>>2];e=v[e+8>>2];if(f>>>0<6225&e>>>0<=8192){break Q}v[i+132>>2]=f;v[i+128>>2]=e;Fa(d,2,11766,i+128|0)}k=0}if(v[b+5612>>2]!=-1){Fa(d,2,12552,0);k=0}f=v[b+5596>>2];e=v[b+5600>>2];if(!((f|0)==32&(e|0)==32)){v[i+84>>2]=e;v[i+80>>2]=f;Fa(d,2,13122,i+80|0);k=0}e=v[b+44>>2];if((e|0)!=4){v[i+64>>2]=e;Fa(d,2,14858,i- -64|0);k=0}e=v[b+4784>>2];if(e){v[i+48>>2]=e;Fa(d,2,15467,i+48|0);k=0}e=v[b+5604>>2];if(e){v[i+32>>2]=e;Fa(d,2,15188,i+32|0);k=0}e=v[b+5608>>2];T:{U:{if(!((j&65024)!=1024&(l|0)!=1536)){f=12975;if((e|0)!=1){break U}break T}f=12828;if(!e){break T}}k=0;Fa(d,2,f,0)}e=v[b+4788>>2];if((e|0)!=1){v[i+16>>2]=e;Fa(d,2,13368,i+16|0);k=0}V:{W:{X:{switch(h|0){case 0:g=14598;if(q-2>>>0>=5){break W}break V;case 1:g=14478;if(q-2>>>0>=6){break W}break V;case 2:g=14218;if(q-2>>>0>=7){break W}break V;case 3:if(p>>>0>=2048){g=14078;if(q-2>>>0>=5){break W}break V}if(p>>>0<1024){break V}g=13637;if(q-2>>>0>=4){break W}break V;case 4:if(p>>>0>=4096){g=14338;if(q-2>>>0>=6){break W}break V}if(p>>>0>=2048){g=13784;if(q-2>>>0>=5){break W}break V}if(p>>>0<1024){break V}g=13490;if(q-2>>>0>=4){break W}break V;case 5:break X;default:break V}}if(p>>>0>=8192){g=14718;if(q-2>>>0>=7){break W}break V}if(p>>>0>=4096){g=13931;if(q-2>>>0>=6){break W}break V}if(p>>>0>=2048){g=13784;if(q-2>>>0>=5){break W}break V}if(p>>>0<1024){break V}g=13490;if(q-2>>>0<4){break V}}v[i>>2]=q-1;Fa(d,2,g,i);k=0}f=v[b+5620>>2];if(v[b+5592>>2]!=1){g=0;if((f|0)<=0){break P}while(1){e=(g<<2)+b|0;if(!(v[e+5624>>2]==256&v[e+5756>>2]==256)){k=0;Fa(d,2,12685,0);f=v[b+5620>>2]}g=g+1|0;if((g|0)<(f|0)){continue}break}break P}if(!((f|0)!=1|v[b+5624>>2]!=128)&v[b+5756>>2]==128){break P}k=0;Fa(d,2,12685,0)}qa=i+400|0;if(!k){break m}break l}if(e<<16>>16>=0){break l}e=e&65535;f=23551;if((e|0)==32768){break n}if((e|0)==33024){break l}f=23492}Fa(d,2,f,0)}u[b+18704>>1]=0}v[a+160>>2]=v[b+18680>>2];u[a+80>>1]=x[b+18704>>1];Y:{if(v[b+24>>2]){v[a+176>>2]=2;break Y}if(v[b+28>>2]){v[a+176>>2]=1;break Y}v[a+176>>2]=0}if(v[b+24>>2]){e=B(B(v[b+4788>>2],v[b+5592>>2]),12);f=La(e);v[a+168>>2]=f;if(!f){e=0;Fa(d,1,27700,0);break a}Ja(f,v[b+32>>2],e)}v[a+92>>2]=v[b+12>>2];v[a+96>>2]=v[b+16>>2];v[a+84>>2]=v[b+4>>2];v[a+88>>2]=v[b+8>>2];e=v[b+36>>2];Z:{if(e){e=La(ib(e)+1|0);v[a+100>>2]=e;if(!e){e=0;Fa(d,1,9459,0);break a}h=v[b+36>>2];_:{$:{if((h^e)&3){f=w[h|0];break $}if(h&3){while(1){f=w[h|0];t[e|0]=f;if(!f){break _}e=e+1|0;h=h+1|0;if(h&3){continue}break}}f=v[h>>2];if((f^-1)&f-16843009&-2139062144){break $}while(1){v[e>>2]=f;f=v[h+4>>2];e=e+4|0;h=h+4|0;if(!(f-16843009&(f^-1)&-2139062144)){continue}break}}t[e|0]=f;if(!(f&255)){break _}while(1){f=w[h+1|0];t[e+1|0]=f;e=e+1|0;h=h+1|0;if(f){continue}break}}break Z}e=0;h=w[30489]|w[30490]<<8|(w[30491]<<16|w[30492]<<24);f=w[30485]|w[30486]<<8|(w[30487]<<16|w[30488]<<24);t[m+389|0]=f;t[m+390|0]=f>>>8;t[m+391|0]=f>>>16;t[m+392|0]=f>>>24;t[m+393|0]=h;t[m+394|0]=h>>>8;t[m+395|0]=h>>>16;t[m+396|0]=h>>>24;f=v[7621];v[m+384>>2]=v[7620];v[m+388>>2]=f;f=v[7619];v[m+376>>2]=v[7618];v[m+380>>2]=f;f=v[7617];v[m+368>>2]=v[7616];v[m+372>>2]=f;j=La((ib(m+368|0)+ib(3215)|0)+1|0);v[a+100>>2]=j;if(!j){Fa(d,1,9513,0);break a}v[m+84>>2]=3215;v[m+80>>2]=m+368;l=qa-16|0;qa=l;h=m+80|0;v[l+12>>2]=h;k=qa-160|0;qa=k;f=k+8|0;Ja(f,48304,144);v[k+52>>2]=j;v[k+28>>2]=j;e=-2-j|0;g=e>>>0>2147483647?2147483647:e;v[k+56>>2]=g;e=g+j|0;v[k+36>>2]=e;v[k+24>>2]=e;Vb(f,1377,h);if(g){e=v[k+28>>2];t[e-((e|0)==v[k+24>>2])|0]=0}qa=k+160|0;qa=l+16|0}aa:{if(v[b>>2]){l=v[a+92>>2];if(!l){e=0;Fa(d,1,9395,0);break a}j=v[a+96>>2];if(!j){e=0;Fa(d,1,4722,0);break a}e=v[c+8>>2]-v[a+84>>2]|0;h=e;g=e+l|0;f=l>>31;e=f+(e>>31)|0;l=qi(g-1|0,(g>>>0>>0?e+1|0:e)-!g|0,l,f);v[a+104>>2]=l;e=v[c+12>>2]-v[a+88>>2]|0;h=e;g=e+j|0;f=j>>31;e=f+(e>>31)|0;e=qi(g-1|0,(g>>>0>>0?e+1|0:e)-!g|0,j,f);v[a+108>>2]=e;if(l>>>0<=65535/(e>>>0)>>>0){break aa}v[m+68>>2]=e;v[m+64>>2]=l;Fa(d,1,25457,m- -64|0);e=0;break a}v[a+92>>2]=v[c+8>>2]-v[a+84>>2];v[a+96>>2]=v[c+12>>2]-v[a+88>>2]}if(w[b+18688|0]){t[a+172|0]=w[b+18689|0];t[a+180|0]=w[a+180|0]|1}e=Ka(B(v[a+108>>2],v[a+104>>2]),5644);v[a+156>>2]=e;if(e){if(B(v[a+108>>2],v[a+104>>2])){ea=b+48|0;while(1){j=v[a+176>>2];n=v[a+156>>2]+B(Z,5644)|0;l=v[b+4788>>2];v[n+8>>2]=l;if(l){e=x[a+80>>1];g=(e-3&65535)>>>0<4|(e-1024&65535)>>>0<1436;e=0;while(1){ba:{ca:{if(g){if((j|0)!=1){break ca}f=e<<2;h=f+n|0;f=b+f|0;z[h+5184>>2]=z[f+5192>>2];z[h+20>>2]=z[f+4792>>2];break ba}if((j|0)!=1){break ca}f=e<<2;z[(f+n|0)+5184>>2]=z[(b+f|0)+5192>>2];break ba}h=e<<2;f=h+n|0;o=z[(b+h|0)+4792>>2];z[f+20>>2]=o;if(!(o<=C(1))){break ba}v[f+20>>2]=0}e=e+1|0;if((l|0)!=(e|0)){continue}break}}v[n>>2]=v[b+40>>2];v[n+4>>2]=v[b+44>>2];v[n+16>>2]=t[b+18690|0];t[n+5640|0]=w[n+5640|0]&251;da:{ea:{fa:{ga:{p=v[b+4784>>2];ha:{if(p){l=Z+1|0;j=0;h=0;while(1){if((l|0)==v[(B(j,148)+b|0)+96>>2]){g=B(h,148);q=g+b|0;f=v[q+52>>2];k=v[c+16>>2];if(f>>>0>=k>>>0){break ga}e=v[q+48>>2];g=g+n|0;v[g+428>>2]=f;v[g+424>>2]=e;v[g+432>>2]=v[q+56>>2];v[g+436>>2]=v[q+60>>2];e=v[q- -64>>2];v[g+440>>2]=e>>>0>>0?e:k;v[g+456>>2]=v[q+80>>2];v[g+472>>2]=v[q+96>>2];h=h+1|0}j=j+1|0;if((p|0)!=(j|0)){continue}break}if(!h){break ha}j=0;O=v[b+4788>>2];r=v[b+5592>>2];E=v[c+16>>2];q=B(r,E);F=Ka(B(O,q),4);ia:{if(F){if(p){l=Z+1|0;while(1){N=B(j,148)+ea|0;ja:{if((l|0)!=v[N+48>>2]){break ja}g=v[N>>2];f=v[N+12>>2];if(g>>>0>=(f>>>0>>0?f:r)>>>0){break ja}J=B(g,E);s=v[N+16>>2];while(1){e=v[N+4>>2];if(e>>>0<(s>>>0>>0?s:E)>>>0){k=e+J|0;i=v[N+8>>2];while(1){I=0;f=k;k=f+1|0;if(i>>>0>>0?i:O){while(1){v[F+(f<<2)>>2]=1;f=f+q|0;I=I+1|0;i=v[N+8>>2];if(I>>>0<(i>>>0>>0?i:O)>>>0){continue}break}s=v[N+16>>2]}e=e+1|0;if(e>>>0<(s>>>0>>0?s:E)>>>0){continue}break}f=v[N+12>>2]}J=E+J|0;g=g+1|0;if(g>>>0<(f>>>0>>0?f:r)>>>0){continue}break}}j=j+1|0;if((p|0)!=(j|0)){continue}break}}ka:{if(!E|(!O|!r)){break ka}j=E&-4;p=E&3;g=0;l=E-1>>>0<3;i=0;k=0;while(1){e=g;J=0;while(1){s=0;f=e;if(!l){while(1){N=i;i=F+(f<<2)|0;i=N|v[i>>2]!=1|v[i+4>>2]!=1|v[i+8>>2]!=1|v[i+12>>2]!=1;f=f+4|0;s=s+4|0;if((j|0)!=(s|0)){continue}break}}I=0;if(p){while(1){i=v[F+(f<<2)>>2]!=1|i;f=f+1|0;I=I+1|0;if((p|0)!=(I|0)){continue}break}}e=e+E|0;J=J+1|0;if((r|0)!=(J|0)){continue}break}g=g+q|0;k=k+1|0;if((O|0)!=(k|0)){continue}break}if(!i){break ka}Fa(d,1,18018,0)}Ga(F);break ia}Fa(d,1,19662,0)}e=n+5640|0;t[e|0]=w[e|0]|4;e=h-1|0}else{e=0}v[n+420>>2]=e}e=Ka(v[c+16>>2],1080);v[n+5584>>2]=e;if(!e){e=0;Fa(d,1,5152,0);break a}_=n+5584|0;if(v[b+18696>>2]){e=v[c+16>>2];W=B(e,e)<<2;f=La(W);if(!f){e=0;Fa(d,1,7983,0);break a}fa=v[b+18696>>2];v[n+16>>2]=2;e=La(W);v[n+5612>>2]=e;if(!e){Ga(f);e=0;Fa(d,1,27880,0);break a}Ja(e,v[b+18696>>2],W);q=Ja(f,v[b+18696>>2],W);s=La(W);v[n+5608>>2]=s;if(!s){Ga(q);e=0;Fa(d,1,27772,0);break a}h=0;i=0;f=0;k=0;U=0;E=v[c+16>>2];e=La(E<<4);la:{if(!e){break la}N=E-1|0;Q=E<<2;l=Ma(e,0,Q);aa=l+Q|0;ma:{na:{if(E){g=l;if(N>>>0>=7){e=E&-8;while(1){v[g>>2]=h;v[g+28>>2]=h|7;v[g+24>>2]=h|6;v[g+20>>2]=h|5;v[g+16>>2]=h|4;v[g+12>>2]=h|3;v[g+8>>2]=h|2;v[g+4>>2]=h|1;h=h+8|0;g=g+32|0;i=i+8|0;if((e|0)!=(i|0)){continue}break}}e=E&7;if(e){i=0;while(1){v[g>>2]=h;h=h+1|0;g=g+4|0;i=i+1|0;if((e|0)!=(i|0)){continue}break}}if(!N){break na}}I=E-2|0;p=N;e=1;r=q;j=l;while(1){if((f|0)==(E|0)){break ma}$=f<<2;i=$+r|0;M=C(0);oa:{if(!(E-f&1)){g=i;h=f;break oa}o=z[i>>2];o=o>C(0)?o:C(-o);h=o>C(0);M=h?o:C(0);k=h?f:k;g=i+Q|0;h=f+1|0}if((f|0)!=(N|0)){while(1){o=z[g>>2];o=o>C(0)?o:C(-o);O=o>M;g=g+Q|0;P=z[g>>2];P=P>C(0)?P:C(-P);o=O?o:M;F=P>o;M=F?P:o;k=F?h+1|0:O?h:k;g=g+Q|0;h=h+2|0;if((E|0)!=(h|0)){continue}break}}if(M==C(0)){break ma}if((f|0)!=(k|0)){g=v[j>>2];h=((k<<2)+j|0)-$|0;v[j>>2]=v[h>>2];v[h>>2]=g;g=(B(E,k-f|0)<<2)+r|0;h=Ja(aa,g,Q);Ja(g,r,Q);Ja(r,h,Q)}if(e>>>0>>0){J=I-f|0;P=z[i>>2];ba=N-f&3;O=0-p|0;g=i+4|0;h=i+Q|0;F=e;while(1){o=C(z[h>>2]/P);z[h>>2]=o;h=h+4|0;o=C(-o);R=0;i=e;if(ba){while(1){z[h>>2]=C(o*z[g>>2])+z[h>>2];h=h+4|0;i=i+1|0;g=g+4|0;R=R+1|0;if((ba|0)!=(R|0)){continue}break}}if(J>>>0>=3){while(1){z[h>>2]=C(o*z[g>>2])+z[h>>2];z[h+4>>2]=C(o*z[g+4>>2])+z[h+4>>2];z[h+8>>2]=C(o*z[g+8>>2])+z[h+8>>2];z[h+12>>2]=C(o*z[g+12>>2])+z[h+12>>2];h=h+16|0;g=g+16|0;i=i+4|0;if((E|0)!=(i|0)){continue}break}}h=h+$|0;g=(O<<2)+g|0;F=F+1|0;if((E|0)!=(F|0)){continue}break}}j=j+4|0;p=p-1|0;e=e+1|0;r=r+Q|0;f=f+1|0;if((N|0)!=(f|0)){continue}break}if(E){break na}Ga(l);U=1;break la}S=E<<2;p=(E<<3)+aa|0;O=S+p|0;X=S+aa|0;r=X+S|0;$=E&-4;da=E&3;F=(q+(B(E,E)<<2)|0)-4|0;ba=(E^-1)<<2;ca=0;while(1){I=Ma(aa,0,Q);v[I+(ca<<2)>>2]=1065353216;e=l;f=q;j=p;k=0;while(1){pa:{if(!k){M=C(0);break pa}M=C(0);h=f;g=p;if(k>>>0>=4){J=k&-4;i=0;while(1){M=C(C(z[h+12>>2]*z[g+12>>2])+C(C(z[h+8>>2]*z[g+8>>2])+C(C(z[h+4>>2]*z[g+4>>2])+C(C(z[h>>2]*z[g>>2])+M))));g=g+16|0;h=h+16|0;i=i+4|0;if((J|0)!=(i|0)){continue}break}}i=0;J=k&3;if(!J){break pa}while(1){M=C(C(z[h>>2]*z[g>>2])+M);h=h+4|0;g=g+4|0;i=i+1|0;if((J|0)!=(i|0)){continue}break}}z[j>>2]=z[I+(v[e>>2]<<2)>>2]-M;j=j+4|0;e=e+4|0;f=f+S|0;k=k+1|0;if((E|0)!=(k|0)){continue}break}U=0;e=r;j=O;k=F;f=E;while(1){i=f;f=f-1|0;h=e;e=e-4|0;j=j-4|0;o=z[k>>2];M=C(0);qa:{if(i>>>0>=E>>>0){break qa}R=0;g=k;J=U&3;if(J){while(1){i=i+1|0;M=C(C(z[g+4>>2]*z[h>>2])+M);g=g+4|0;h=h+4|0;R=R+1|0;if((J|0)!=(R|0)){continue}break}}if(U-1>>>0<3){break qa}while(1){M=C(C(z[g+16>>2]*z[h+12>>2])+C(C(z[g+12>>2]*z[h+8>>2])+C(C(z[g+8>>2]*z[h+4>>2])+C(C(z[g+4>>2]*z[h>>2])+M))));h=h+16|0;g=g+16|0;i=i+4|0;if((E|0)!=(i|0)){continue}break}}z[e>>2]=C(z[j>>2]-M)/o;U=U+1|0;k=k+ba|0;if(f){continue}break}R=0;h=s;g=0;f=0;if(N>>>0>=3){while(1){j=g<<2;z[h>>2]=z[j+X>>2];e=h+S|0;z[e>>2]=z[(j|4)+X>>2];e=e+S|0;z[e>>2]=z[(j|8)+X>>2];e=e+S|0;z[e>>2]=z[(j|12)+X>>2];h=e+S|0;g=g+4|0;f=f+4|0;if(($|0)!=(f|0)){continue}break}}if(da){while(1){z[h>>2]=z[(g<<2)+X>>2];g=g+1|0;h=h+S|0;R=R+1|0;if((da|0)!=(R|0)){continue}break}}s=s+4|0;U=1;ca=ca+1|0;if((E|0)!=(ca|0)){continue}break}}Ga(l)}if(!U){Ga(q);e=0;Fa(d,1,27832,0);break a}i=La(v[c+16>>2]<<3);v[n+5604>>2]=i;if(!i){Ga(q);e=0;Fa(d,1,27938,0);break a}f=0;r=v[c+16>>2];if(r){F=v[n+5608>>2];k=r&-4;p=r&3;j=r>>>0<4;while(1){T=0;h=f;I=0;if(!j){while(1){l=h+r|0;g=l+r|0;e=g+r|0;L=+z[F+(e<<2)>>2];V=L*L;L=+z[F+(g<<2)>>2];ga=L*L;L=+z[F+(l<<2)>>2];ha=L*L;L=+z[F+(h<<2)>>2];T=V+(ga+(ha+(L*L+T)));h=e+r|0;I=I+4|0;if((k|0)!=(I|0)){continue}break}}I=0;if(p){while(1){L=+z[F+(h<<2)>>2];T=L*L+T;h=h+r|0;I=I+1|0;if((p|0)!=(I|0)){continue}break}}A[i+(f<<3)>>3]=K(T);f=f+1|0;if((r|0)!=(f|0)){continue}break}}Ga(q);l=v[c+16>>2];ra:{if(!l){break ra}k=W+fa|0;j=v[_>>2];h=0;e=0;if(l>>>0>=4){g=l&-4;J=0;while(1){v[(j+B(e,1080)|0)+1076>>2]=v[k+(e<<2)>>2];f=e|1;v[(j+B(f,1080)|0)+1076>>2]=v[k+(f<<2)>>2];f=e|2;v[(j+B(f,1080)|0)+1076>>2]=v[k+(f<<2)>>2];f=e|3;v[(j+B(f,1080)|0)+1076>>2]=v[k+(f<<2)>>2];e=e+4|0;J=J+4|0;if((g|0)!=(J|0)){continue}break}}f=l&3;if(!f){break ra}while(1){v[(j+B(e,1080)|0)+1076>>2]=v[k+(e<<2)>>2];e=e+1|0;h=h+1|0;if((f|0)!=(h|0)){continue}break}}F=0;j=0;sa:{ta:{if(v[n+16>>2]==2){i=v[n+5620>>2];ua:{if(!v[n+5608>>2]){k=1;break ua}if(v[n+5624>>2]==(i|0)){e=i+10|0;v[n+5624>>2]=e;f=Pa(v[n+5616>>2],B(e,20));if(!f){break ta}v[n+5616>>2]=f;e=v[n+5620>>2];Ma(f+B(e,20)|0,0,B(v[n+5624>>2]-e|0,20));i=v[n+5620>>2]}h=v[n+5616>>2];F=h+B(i,20)|0;f=F;e=v[f+12>>2];if(e){Ga(e);v[f+12>>2]=0}v[F+4>>2]=1;v[F+8>>2]=1;k=2;v[F>>2]=2;l=f;e=v[c+16>>2];f=B(e,e);e=f<<2;g=La(e);v[l+12>>2]=g;l=0;if(!g){break sa}ua[v[(v[F>>2]<<2)+30512>>2]](v[n+5608>>2],g,f);v[(h+B(i,20)|0)+16>>2]=e;i=v[n+5620>>2]+1|0;v[n+5620>>2]=i}if(v[n+5624>>2]==(i|0)){e=i+10|0;v[n+5624>>2]=e;f=Pa(v[n+5616>>2],B(e,20));if(!f){break ta}v[n+5616>>2]=f;e=v[n+5620>>2];F=(ia=Ma(f+B(e,20)|0,0,B(v[n+5624>>2]-e|0,20))-20|0,ja=0,ka=F,ka?ia:ja);i=v[n+5620>>2]}g=v[n+5616>>2];r=g+B(i,20)|0;e=v[r+12>>2];if(e){Ga(e);v[r+12>>2]=0}v[r+4>>2]=2;v[r+8>>2]=k;v[r>>2]=2;q=v[c+16>>2];p=q<<2;e=La(p);v[r+12>>2]=e;l=0;if(!e){break sa}e=La(p);if(!e){Ga(v[r+12>>2]);v[r+12>>2]=0;l=0;break sa}va:{if(!q){break va}l=q&3;I=v[n+5584>>2];wa:{if(q>>>0<4){f=e;break wa}h=q&-4;f=e;while(1){z[f>>2]=v[I+1076>>2];z[f+4>>2]=v[I+2156>>2];z[f+8>>2]=v[I+3236>>2];z[f+12>>2]=v[I+4316>>2];I=I+4320|0;f=f+16|0;j=j+4|0;if((h|0)!=(j|0)){continue}break}}if(!l){break va}j=0;while(1){z[f>>2]=v[I+1076>>2];I=I+1080|0;f=f+4|0;j=j+1|0;if((l|0)!=(j|0)){continue}break}}ua[v[(v[r>>2]<<2)+30512>>2]](e,v[r+12>>2],q);Ga(e);v[(g+B(i,20)|0)+16>>2]=p;v[n+5620>>2]=v[n+5620>>2]+1;f=v[n+5632>>2];if((f|0)==v[n+5636>>2]){e=f+10|0;v[n+5636>>2]=e;f=Pa(v[n+5628>>2],B(e,20));if(!f){Ga(v[n+5628>>2]);v[n+5636>>2]=0;v[n+5628>>2]=0;v[n+5632>>2]=0;l=0;break sa}v[n+5628>>2]=f;e=v[n+5632>>2];Ma(f+B(e,20)|0,0,B(v[n+5636>>2]-e|0,20));f=v[n+5632>>2]}f=v[n+5628>>2]+B(f,20)|0;v[f+8>>2]=F;t[f+16|0]=w[f+16|0]|1;e=v[c+16>>2];v[f+12>>2]=r;v[f>>2]=k+1;v[f+4>>2]=e;v[n+5632>>2]=v[n+5632>>2]+1}l=1;break sa}Ga(v[n+5616>>2]);v[n+5624>>2]=0;v[n+5616>>2]=0;v[n+5620>>2]=0;l=0}if(l){break fa}e=0;Fa(d,1,9605,0);break a}xa:{ya:{if(v[n+16>>2]!=1){break ya}j=v[c+16>>2];if(j>>>0<3){break xa}f=v[c+24>>2];e=v[f>>2];za:{if((e|0)!=v[f+52>>2]|(e|0)!=v[f+104>>2]){break za}e=v[f+4>>2];if((e|0)!=v[f+56>>2]){break za}if((e|0)==v[f+108>>2]){break ya}}Fa(d,2,23404,0);v[n+16>>2]=0}j=v[c+16>>2]}if(!j){break da}l=j&1;k=v[c+24>>2];e=0;if((j|0)!=1){g=j&-2;j=0;while(1){f=k+B(e,52)|0;if(!v[f+32>>2]){v[(v[_>>2]+B(e,1080)|0)+1076>>2]=1<>2]-1}h=e|1;f=k+B(h,52)|0;if(!v[f+32>>2]){v[(v[_>>2]+B(h,1080)|0)+1076>>2]=1<>2]-1}e=e+2|0;j=j+2|0;if((g|0)!=(j|0)){continue}break}}if(!l){break ea}f=k+B(e,52)|0;if(v[f+32>>2]){break ea}v[(v[_>>2]+B(e,1080)|0)+1076>>2]=1<>2]-1;break ea}v[m+48>>2]=j;Fa(d,1,17645,m+48|0);e=0;break a}if(!v[c+16>>2]){break da}}r=0;while(1){s=v[_>>2]+B(r,1080)|0;l=v[b+40>>2]&1;v[s>>2]=l;f=v[b+5592>>2];v[s+4>>2]=f;g=0;e=v[b+5596>>2];if((e|0)>=2){while(1){g=g+1|0;h=e>>>0>3;e=e>>>1|0;if(h){continue}break}}v[s+8>>2]=g;g=0;e=v[b+5600>>2];if((e|0)>=2){while(1){g=g+1|0;h=e>>>0>3;e=e>>>1|0;if(h){continue}break}}v[s+12>>2]=g;v[s+16>>2]=v[b+5604>>2];e=v[b+5608>>2];v[s+804>>2]=2;v[s+20>>2]=!e;v[s+24>>2]=((e|0)!=0)<<1;v[s+808>>2]=v[b+5612>>2]==(r|0)?v[b+5616>>2]:0;Aa:{if(l){J=0;h=f;if((f|0)<=0){break Aa}while(1){h=h-1|0;e=v[b+5620>>2];Ba:{if((e|0)>(J|0)){e=1;j=1;k=(J<<2)+b|0;g=v[k+5624>>2];Ca:{if((g|0)<=0){break Ca}j=0;if((g|0)==1){break Ca}while(1){j=j+1|0;l=g>>>0>3;g=g>>>1|0;if(l){continue}break}}v[(s+(h<<2)|0)+812>>2]=j;g=v[k+5756>>2];if((g|0)<=0){break Ba}e=0;if((g|0)==1){break Ba}while(1){e=e+1|0;l=g>>>0>3;g=g>>>1|0;if(l){continue}break}break Ba}e=e-1|0;j=(e<<2)+b|0;l=J-e|0;g=v[j+5756>>2]>>l;e=1;k=1;j=v[j+5624>>2]>>l;Da:{if((j|0)<=0){break Da}k=0;if((j|0)==1){break Da}while(1){k=k+1|0;l=j>>>0>3;j=j>>>1|0;if(l){continue}break}}v[(s+(h<<2)|0)+812>>2]=k;if((g|0)<=0){break Ba}e=0;if((g|0)==1){break Ba}while(1){e=e+1|0;l=g>>>0>3;g=g>>>1|0;if(l){continue}break}}v[(s+(h<<2)|0)+944>>2]=e;J=J+1|0;if((f|0)!=(J|0)){continue}break}break Aa}if(!f){break Aa}e=0;while(1){f=s+(e<<2)|0;v[f+944>>2]=15;v[f+812>>2]=15;e=e+1|0;if(e>>>0>2]){continue}break}}i=0;e=v[s+4>>2];O=B(e,3)-2|0;if(O){F=v[(v[c+24>>2]+B(r,52)|0)+24>>2]+13|0;q=e-1|0;p=v[s+24>>2];k=v[s+20>>2];while(1){h=0;f=0;if(i){f=i-1|0;e=(f>>>0)/3|0;h=e^-1;f=(f-B(e,3)|0)+1|0}N=k?f?f-1>>>0<2?1:2:0:0;if(p){h=h+q|0;e=h>>>0>8?f?8:h:h;L=+(1<>>0>9?f?e:9:e)<<3)|0)+30064>>3]}else{L=1}L=H(L*8192);Ea:{if(D(L)<2147483648){e=~~L;break Ea}e=-2147483648}h=0;g=0;f=e;if((e|0)>=2){while(1){g=h;h=g+1|0;l=f>>>0>3;f=f>>>1|0;if(l){continue}break}h=g^-1;g=0;f=e;while(1){l=g;g=g+1|0;j=f>>>0>3;f=f>>>1|0;if(j){continue}break}g=(l>>>0>10?e>>l-10:e<<10-l)&2047}e=s+(i<<3)|0;v[e+32>>2]=g;v[e+28>>2]=(F+N|0)+h;i=i+1|0;if((O|0)!=(i|0)){continue}break}}r=r+1|0;if(r>>>0>2]){continue}break}}Z=Z+1|0;if(Z>>>0>2],v[a+104>>2])>>>0){continue}break}}e=1;a=v[b+18696>>2];if(!a){break a}Ga(a);v[b+18696>>2]=0;break a}e=0;Fa(d,1,5216,0);break a}Fa(d,1,18650,0)}qa=m+400|0;return e|0}function jc(a,b,c,d,e,f){var g=0,h=0,i=0,k=0,m=0,p=0,q=0,r=0,s=0,u=0,E=0,F=0,G=0,H=0,J=0,K=C(0),L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=C(0),U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=C(0),ma=0,na=0,oa=0,pa=0,ra=0,sa=0,ua=0,va=0,wa=0;fa=qa-16|0;qa=fa;a:{if(e>>>0<=3){e=0;Fa(f,1,7308,0);break a}Ha(c,65427,2);v[b+4>>2]=v[a+8>>2];v[b+8>>2]=v[a+12>>2];if(!v[a+12>>2]){v[v[v[b+20>>2]>>2]+840>>2]=0}v[d>>2]=0;b:{q=v[a+60>>2];if(!q){break b}h=Ka(1,12);if(h){v[h>>2]=q}if(h){break b}e=0;Fa(f,1,16543,0);break a}q=e-4|0;V=v[a- -64>>2];if(q>>>0>>0){e=0;Fa(f,1,7308,0);Bb(h);break a}e=0;g=v[a+204>>2];ka=c+2|0;ca=d;ga=q-V|0;V=h;Y=qa-1216|0;qa=Y;q=b;c:{d:{e:{if(v[b+8>>2]){break e}v[q+36>>2]=g;v[q+32>>2]=v[v[q+28>>2]+76>>2]+B(g,5644);O=v[v[q+20>>2]>>2];H=v[O+16>>2];f:{if(!H){P=v[q+32>>2];p=v[O+20>>2];H=0;break f}P=v[q+32>>2];h=v[P+5584>>2];p=v[O+20>>2];m=p;while(1){F=B(v[m+12>>2]-v[m+4>>2]|0,v[m+8>>2]-v[m>>2]|0);g=v[m+36>>2];g:{if(v[h+20>>2]!=1){if(!F){break g}b=v[h+1076>>2];if(F>>>0>=4){L=F&-4;d=0;while(1){z[g>>2]=v[g>>2]-b|0;z[g+4>>2]=v[g+4>>2]-b|0;z[g+8>>2]=v[g+8>>2]-b|0;z[g+12>>2]=v[g+12>>2]-b|0;g=g+16|0;d=d+4|0;if((L|0)!=(d|0)){continue}break}}d=0;F=F&3;if(!F){break g}while(1){z[g>>2]=v[g>>2]-b|0;g=g+4|0;d=d+1|0;if((F|0)!=(d|0)){continue}break}break g}if(!F){break g}if(F>>>0>=4){d=F&-4;b=0;while(1){v[g>>2]=v[g>>2]-v[h+1076>>2];v[g+4>>2]=v[g+4>>2]-v[h+1076>>2];v[g+8>>2]=v[g+8>>2]-v[h+1076>>2];v[g+12>>2]=v[g+12>>2]-v[h+1076>>2];g=g+16|0;b=b+4|0;if((d|0)!=(b|0)){continue}break}}b=0;d=F&3;if(d){while(1){v[g>>2]=v[g>>2]-v[h+1076>>2];g=g+4|0;b=b+1|0;if((d|0)!=(b|0)){continue}break}}H=v[O+16>>2]}m=m+76|0;h=h+1080|0;s=s+1|0;if(H>>>0>s>>>0){continue}break}}F=B(v[p+12>>2]-v[p+4>>2]|0,v[p+8>>2]-v[p>>2]|0);h:{i:{switch(v[P+16>>2]){case 2:if(!v[P+5612>>2]){break h}P=0;s=La(H<<2);if(!s){break c}h=v[O+16>>2];j:{if(!h){break j}H=h&3;d=0;k:{if(h>>>0<4){g=0;break k}O=h&-4;g=0;m=0;while(1){b=g<<2;v[b+s>>2]=v[p+36>>2];v[s+(b|4)>>2]=v[p+112>>2];v[s+(b|8)>>2]=v[p+188>>2];v[s+(b|12)>>2]=v[p+264>>2];g=g+4|0;p=p+304|0;m=m+4|0;if((O|0)!=(m|0)){continue}break}}if(!H){break j}while(1){v[s+(g<<2)>>2]=v[p+36>>2];g=g+1|0;p=p+76|0;d=d+1|0;if((H|0)!=(d|0)){continue}break}}d=v[v[q+32>>2]+5612>>2];g=B(h,h);p=La(g+h<<2);b=0;l:{if(!p){break l}b=p+(h<<2)|0;m:{if(!g){break m}if(g>>>0>=4){H=g&-4;while(1){m=u<<2;L=m+b|0;K=C(z[d>>2]*C(8192));n:{if(C(D(K))>2]=E;L=b+(m|4)|0;K=C(z[d+4>>2]*C(8192));o:{if(C(D(K))>2]=E;L=b+(m|8)|0;K=C(z[d+8>>2]*C(8192));p:{if(C(D(K))>2]=E;E=b+(m|12)|0;K=C(z[d+12>>2]*C(8192));q:{if(C(D(K))>2]=m;u=u+4|0;d=d+16|0;r=r+4|0;if((H|0)!=(r|0)){continue}break}}g=g&1;if(!g){break m}while(1){E=b+(u<<2)|0;K=C(z[d>>2]*C(8192));r:{if(C(D(K))>2]=m;u=u+1|0;d=d+4|0;k=k+1|0;if((g|0)!=(k|0)){continue}break}}if(!(!F|!h)){L=h&-2;U=h&1;Z=h&-4;H=h&3;O=h-1|0;while(1){d=0;r=0;if(O>>>0>=3){while(1){g=d<<2;v[g+p>>2]=v[v[g+s>>2]>>2];m=g|4;v[m+p>>2]=v[v[m+s>>2]>>2];m=g|8;v[m+p>>2]=v[v[m+s>>2]>>2];g=g|12;v[g+p>>2]=v[v[g+s>>2]>>2];d=d+4|0;r=r+4|0;if((Z|0)!=(r|0)){continue}break}}u=0;if(H){while(1){g=d<<2;v[g+p>>2]=v[v[g+s>>2]>>2];d=d+1|0;u=u+1|0;if((H|0)!=(u|0)){continue}break}}d=b;g=0;while(1){W=s+(g<<2)|0;m=v[W>>2];v[m>>2]=0;k=0;u=0;r=0;if(O){while(1){E=u<<2;Q=v[E+p>>2];R=Q;X=Q>>31;Q=v[d>>2];Q=pi(R,X,Q,Q>>31);R=k;k=ta;da=k+1|0;X=k;k=Q+4096|0;k=R+(((k>>>0<4096?da:X)&8191)<<19|k>>>13)|0;v[m>>2]=k;E=v[p+(E|4)>>2];Q=E;R=E>>31;E=v[d+4>>2];E=pi(Q,R,E,E>>31);Q=k;k=ta;X=k+1|0;R=k;k=E+4096|0;k=Q+(((k>>>0<4096?X:R)&8191)<<19|k>>>13)|0;v[m>>2]=k;u=u+2|0;d=d+8|0;r=r+2|0;if((L|0)!=(r|0)){continue}break}}if(U){r=v[p+(u<<2)>>2];E=r;Q=r>>31;r=v[d>>2];r=pi(E,Q,r,r>>31);E=k;k=ta;r=r+4096|0;v[m>>2]=E+(((r>>>0<4096?k+1|0:k)&8191)<<19|r>>>13);d=d+4|0}v[W>>2]=m+4;g=g+1|0;if((h|0)!=(g|0)){continue}break}S=S+1|0;if((F|0)!=(S|0)){continue}break}}Ga(p);b=1}Ga(s);if(b){break h}break c;case 0:break h;default:break i}}b=v[p+188>>2];d=v[p+112>>2];h=v[p+36>>2];if(!v[v[P+5584>>2]+20>>2]){if(F){while(1){g=k<<2;p=g+h|0;m=b+g|0;K=z[m>>2];T=z[p>>2];g=d+g|0;la=z[g>>2];z[p>>2]=C(K*C(.11400000005960464))+C(C(T*C(.29899999499320984))+C(la*C(.5870000123977661)));z[g>>2]=C(K*C(.5))+C(C(T*C(-.16875000298023224))+C(la*C(-.33125999569892883)));z[m>>2]=C(K*C(-.08130999654531479))+C(C(T*C(.5))+C(la*C(-.4186899960041046)));k=k+1|0;if((F|0)!=(k|0)){continue}break}}break h}if(F){while(1){g=u<<2;p=g+h|0;E=p;m=b+g|0;r=v[m>>2];p=v[p>>2];k=d+g|0;g=v[k>>2];v[E>>2]=r+(p+(g<<1)|0)>>2;v[k>>2]=r-g;v[m>>2]=p-g;u=u+1|0;if((F|0)!=(u|0)){continue}break}}}d=v[v[q+20>>2]>>2];if(v[d+16>>2]){g=v[v[q+32>>2]+5584>>2];h=v[d+20>>2];b=0;while(1){s:{t:{switch(v[g+20>>2]){case 1:if(je(v[q+44>>2],h,109,110)){break s}break d;case 0:break t;default:break s}}if(!je(v[q+44>>2],h,115,116)){break d}}g=g+1080|0;h=h+76|0;b=b+1|0;if(b>>>0>2]){continue}break}}P=v[q+32>>2];u:{if(v[P+16>>2]==1){if(!v[v[P+5584>>2]+20>>2]){h=3;L=29712;break u}h=3;L=29680;break u}h=v[v[q+24>>2]+16>>2];L=v[P+5604>>2]}d=v[v[q+20>>2]>>2];r=0;p=qa-16|0;qa=p;v[p+12>>2]=1;U=v[q+44>>2];H=pe();v[d+32>>2]=0;v[d+36>>2]=0;s=v[d+16>>2];v:{if(!s){break v}while(1){w:{F=v[d+20>>2]+B(r,76)|0;k=v[F+20>>2];if(k){Z=v[P+5584>>2]+B(r,1080)|0;S=0;while(1){g=v[F+28>>2]+B(S,152)|0;if(v[g+24>>2]){u=0;while(1){W=g+B(u,36)|0;E=W+28|0;b=E;if(v[b+8>>2]!=v[b>>2]){b=v[b+12>>2]==v[b+4>>2]}else{b=1}x:{if(b){break x}k=v[g+16>>2];s=v[g+20>>2];if(!B(k,s)){break x}O=0;while(1){m=v[W+48>>2]+B(O,40)|0;if(B(v[m+20>>2],v[m+16>>2])){s=0;while(1){k=v[m+24>>2];b=Ka(1,44);if(!b){break w}v[b+12>>2]=d;v[b>>2]=r;v[b+40>>2]=H;v[b+32>>2]=h;v[b+28>>2]=L;v[b+24>>2]=Z;v[b+20>>2]=F;v[b+16>>2]=E;v[b+4>>2]=S;v[b+8>>2]=k+B(s,52);v[b+36>>2]=p+12;kb(U,250,b);s=s+1|0;if(s>>>0>2],v[m+16>>2])>>>0){continue}break}s=v[g+20>>2];k=v[g+16>>2]}O=O+1|0;if(O>>>0>>0){continue}break}}u=u+1|0;if(u>>>0>2]){continue}break}k=v[F+20>>2]}S=S+1|0;if(S>>>0>>0){continue}break}s=v[d+16>>2]}r=r+1|0;if(r>>>0>>0){continue}break v}break}v[p+12>>2]=0}$a(v[q+44>>2]);if(H){ab(H)}qa=p+16|0;if(!v[p+12>>2]){break d}S=v[q+28>>2];v[Y+12>>2]=0;if(y[S+96>>2]<=1){P=v[q+32>>2];p=0;u=v[v[q+20>>2]>>2];v[u+24>>2]=0;Q=v[u+16>>2];y:{if(!Q){$=17976931348623157e292;break y}ma=v[u+20>>2];da=v[v[q+24>>2]+24>>2];$=17976931348623157e292;m=0;while(1){O=ma+B(m,76)|0;v[O+72>>2]=0;X=v[O+20>>2];z:{if(!X){H=0;break z}na=v[O+28>>2];H=0;k=0;while(1){L=na+B(k,152)|0;ha=v[L+24>>2];if(ha){r=0;while(1){b=L+B(r,36)|0;A:{if(v[b+36>>2]==v[b+28>>2]|v[b+40>>2]==v[b+32>>2]){break A}ia=B(v[L+20>>2],v[L+16>>2]);if(!ia){break A}ja=v[b+48>>2];F=0;while(1){U=ja+B(F,40)|0;R=B(v[U+20>>2],v[U+16>>2]);if(R){s=0;while(1){d=v[U+24>>2]+B(s,52)|0;Z=v[d+48>>2];B:{if(!Z){break B}W=v[d+8>>2];h=v[W>>2];if(h){i=A[W+8>>3]/+(h|0);ea=i>ea?i:ea;$=i<$?i:$}g=1;if((Z|0)==1){break B}while(1){E=W+B(g,24)|0;b=v[E>>2];if((b|0)!=(h|0)){i=(A[E+8>>3]-A[E-16>>3])/+(b-h|0);ea=i>ea?i:ea;$=i<$?i:$}h=b;g=g+1|0;if((Z|0)!=(g|0)){continue}break}}b=B(v[d+24>>2]-v[d+16>>2]|0,v[d+20>>2]-v[d+12>>2]|0);p=b+p|0;v[u+24>>2]=p;H=b+H|0;v[O+72>>2]=H;s=s+1|0;if((R|0)!=(s|0)){continue}break}}F=F+1|0;if((ia|0)!=(F|0)){continue}break}}r=r+1|0;if((ha|0)!=(r|0)){continue}break}}k=k+1|0;if((X|0)!=(k|0)){continue}break}}i=+(1<>2])+-1;ra=i*i*+(H>>>0)+ra;m=m+1|0;if((Q|0)!=(m|0)){continue}break}}if(!v[P+8>>2]){break e}g=0;while(1){b=P+(g<<2)|0;T=z[b+20>>2];K=C(I(T));C:{if(K=C(0)){m=~~K>>>0;break C}m=0}r=T>C(0);s=v[S+96>>2];p=qa-16|0;qa=p;K=z[b+5184>>2];G=+C(K/C(10));o(+G);b=j(1)|0;d=j(0)|0;h=b>>>20|0;k=h&2047;H=k-1086|0;D:{if(H>>>0<=4294967167){F=(b<<1|d>>>31)+2097152|0;if(!(d<<1)&(F|0)==2097152|F>>>0<2097152){h=d<<1;d=b<<1|d>>>31;i=1;if(!(h|d)){break D}i=G+10;if((d|0)==-2097152&(h|0)!=0|d>>>0>4292870144){break D}i=(b|0)<0?0:G*G;break D}if(H>>>0<=4294967167){i=G+1;if(k>>>0<=957){break D}if(h>>>0<2048){b=qa-16|0;A[b+8>>3]=3105036184601418e216;i=A[b+8>>3]*3105036184601418e216;break D}b=qa-16|0;A[b+8>>3]=12882297539194267e-247;i=A[b+8>>3]*12882297539194267e-247;break D}}i=A[5828];N=i*1.25+-1;_=i*0;i=N+_;ba=A[5391]*3+A[5830];J=i+ba;aa=A[5393];M=i*aa;aa=N*aa;sa=N*aa;N=J+sa;_=A[5392]*3+A[5831]+(i+(ba-J))+_*(M+aa)+(sa+(J-N));J=i*M;i=_+i*J*(J*(J*(i*A[5399]+A[5398])+(i*A[5397]+A[5396]))+(i*A[5395]+A[5394]));J=N+i;A[p+8>>3]=i+(N-J);l(0,d&-134217728);l(1,b|0);M=+n();o(+J);b=j(1)|0;l(0,j(0)&-134217728);l(1,b|0);N=+n();i=M*N;G=(G-M)*N+(A[p+8>>3]+(J-N))*G;o(+i);b=j(1)|0;j(0)|0;E:{F:{h=b>>>20&2047;b=h-969|0;if(b>>>0<63){break F}M=i+1;if((b|0)<0){break E}b=h>>>0<1033;h=0;if(b){break F}o(+i);b=j(1)|0;j(0)|0;if((b|0)<0){b=qa-16|0;A[b+8>>3]=12882297539194267e-247;M=A[b+8>>3]*12882297539194267e-247;break E}b=qa-16|0;A[b+8>>3]=3105036184601418e216;M=A[b+8>>3]*3105036184601418e216;break E}J=A[5122];N=A[5121]*i+J;J=N-J;i=J*A[5124]+(J*A[5123]+i)+G;G=i*i;M=G*G*(i*A[5128]+A[5127]);G=G*(i*A[5126]+A[5125]);o(+N);j(1)|0;k=j(0)|0;b=k<<4&2032;i=M+(G+(A[b+41080>>3]+i));d=b+41088|0;b=v[d>>2];d=v[d+4>>2]+(k<<13)|0;if(!h){G:{if(!(k&-2147483648)){l(0,b|0);l(1,d-1058013184|0);G=+n();M=(G*i+G)*5486124068793689e288;break G}l(0,b|0);d=d+1071644672|0;l(1,d|0);G=+n();N=G*i;i=N+G;if(D(i)<1){b=qa-16|0;A[b+8>>3]=22250738585072014e-324;A[b+8>>3]=A[b+8>>3]*22250738585072014e-324;l(0,0);l(1,d&-2147483648);J=i<0?-1:1;M=i+J;i=M+(N+(G-i)+(i+(J-M)))-J;i=(ua=+n(),va=i,wa=i==0,wa?ua:va)}M=i*22250738585072014e-324}break E}l(0,b|0);l(1,d|0);G=+n();M=G*i+G}i=M}G=i;qa=p+16|0;J=A[u+32>>3];i=-1;H:{I:{J:{switch(s|0){case 0:if(r){break I}break H;case 1:break J;default:break H}}if(!(K>C(0))){break H}}p=cc(v[q+24>>2],S);if(!p){break d}m=r?m>>>0>>0?m:ga:ga;aa=J-ra/G;r=g+1|0;b=g<<3;k=b+u|0;s=b+Y|0;i=0;b=0;h=0;N=0;J=ea;G=$;while(1){K:{M=i;i=(J+G)*.5;if(D(i-M)<=M*5e-6){i=M;break K}d=bd(v[v[q+20>>2]>>2],g,i,0);L:{M:{if(v[S+96>>2]==1){d=x[S>>1];if(!((d-3&65535)>>>0>=4&(d-1024&65535)>>>0>1435)){if(!ec(p,v[q+36>>2],u,r,ka,Y+12|0,m,0,v[q+8>>2],v[q>>2],v[q+16>>2],0,f)){G=i;break L}M=J;_=N;d=b;ba=i;J=i;N=i;if(!((g?A[s+8>>3]+A[k+40>>3]:A[u+40>>3])>3]+A[k+40>>3]:A[u+40>>3])>2],u,r,ka,Y+12|0,m,0,v[q+8>>2],v[q>>2],v[q+16>>2],0,f)){break L}}G=ba;J=M;N=_;b=d}h=h+1|0;if((h|0)!=128){continue}}break}ab(p);i=N==0?i:N}bd(v[v[q+20>>2]>>2],g,i,1);d=(Y+16|0)+(g<<3)|0;if(g){b=g<<3;i=A[(b+Y|0)+8>>3]+A[(b+u|0)+40>>3]}else{i=A[u+40>>3]}A[d>>3]=i;g=g+1|0;if(g>>>0>2]){continue}break}break e}H=v[v[q+32>>2]+8>>2];if(!H){break e}b=v[v[q+20>>2]>>2];Z=v[b+16>>2];if(!Z){break e}W=v[b+20>>2];m=0;while(1){E=m-1|0;p=0;while(1){r=W+B(p,76)|0;u=v[r+20>>2];if(u){Q=v[(v[v[q+24>>2]+24>>2]+B(p,52)|0)+24>>2];K=C(+(Q>>>0)*.0625);k=v[S+88>>2];h=0;while(1){s=B(h,u);g=0;while(1){b=((Y+16|0)+B(h,120)|0)+B(g,12)|0;d=k+B(g+s|0,12)|0;T=C(K*C(v[d>>2]));N:{if(C(D(T))>2]=L;T=C(K*C(v[d+4>>2]));O:{if(C(D(T))>2]=L;T=C(K*C(v[d+8>>2]));P:{if(C(D(T))>2]=d;g=g+1|0;if((u|0)!=(g|0)){continue}break}h=h+1|0;if((H|0)!=(h|0)){continue}break}ma=v[r+28>>2];P=0;while(1){s=ma+B(P,152)|0;da=v[s+24>>2];if(da){r=0;while(1){b=s+B(r,36)|0;Q:{if(v[b+36>>2]==v[b+28>>2]|v[b+40>>2]==v[b+32>>2]){break Q}X=B(v[s+20>>2],v[s+16>>2]);if(!X){break Q}O=((Y+16|0)+B(P,12)|0)+(r<<2)|0;na=O+B(E,120)|0;ha=O+B(m,120)|0;ia=v[b+48>>2];F=0;while(1){L=ia+B(F,40)|0;ja=B(v[L+20>>2],v[L+16>>2]);if(ja){b=0;while(1){U=B(m,24);g=v[L+24>>2]+B(b,52)|0;R=v[g+4>>2];h=Q-v[g+28>>2]|0;R:{if(m){k=v[na>>2];d=v[ha>>2]-k|0;if((h|0)<(k|0)){break R}d=(k-h|0)+d|0;d=(d|0)>0?d:0;break R}d=v[O>>2];v[g+44>>2]=0;d=(d|0)>(h|0)?d-h|0:0}k=U+R|0;h=v[g+44>>2];S:{T:{if(!h){h=B(d,3)-2|0;d=d?h:0;v[k>>2]=d;if(!d){break S}v[k+4>>2]=v[(v[g+8>>2]+B(d,24)|0)-24>>2];d=v[g>>2];break T}d=B(d,3);v[k>>2]=d;if(!d){break S}R=v[g+8>>2];U=v[(R+B(h,24)|0)-24>>2];h=d+h|0;v[k+4>>2]=v[(R+B(h,24)|0)-24>>2]-U;d=U+v[g>>2]|0}v[k+16>>2]=d;v[g+44>>2]=h}b=b+1|0;if((ja|0)!=(b|0)){continue}break}}F=F+1|0;if((X|0)!=(F|0)){continue}break}}r=r+1|0;if((da|0)!=(r|0)){continue}break}}P=P+1|0;if((u|0)!=(P|0)){continue}break}}p=p+1|0;if((Z|0)!=(p|0)){continue}break}m=m+1|0;if((H|0)!=(m|0)){continue}break}}b=cc(v[q+24>>2],v[q+28>>2]);if(!b){break d}d=ec(b,v[q+36>>2],v[v[q+20>>2]>>2],v[v[q+32>>2]+8>>2],ka,ca,ga,V,v[q+4>>2],v[q>>2],v[q+16>>2],1,f);ab(b);P=1;if(d){break c}}P=0}qa=Y+1216|0;if(!P){Fa(f,1,10099,0);Bb(V);break a}v[ca>>2]=v[ca>>2]+2;U:{if(v[a+60>>2]){h=La(v[a+64>>2]);if(!h){Fa(f,1,3764,0);Bb(V);break a}Ha(h,65368,2);Ha(h+4|0,0,1);e=h+5|0;k=h+2|0;if(v[V+4>>2]){q=3;while(1){b=v[v[V+8>>2]+(oa<<2)>>2];t[fa+11|0]=b&127;a=1;if(b>>>0>=128){while(1){d=b>>>7|0;t[(fa+11|0)+a|0]=d|128;a=a+1|0;g=b>>>0>16383;b=d;if(g){continue}break}}b=a&255;d=q&65535;if(b+d>>>0>=65536){if((pa&255)==255){break U}Ha(k,d,2);Ha(e,65368,2);pa=pa+1|0;Ha(e+4|0,pa&255,1);k=e+2|0;q=3;e=e+5|0}d=a&255;if(d){while(1){b=b-1|0;Ha(e,w[b+(fa+11|0)|0],1);e=e+1|0;a=a-1|0;if(a&255){continue}break}}q=d+q|0;oa=oa+1|0;if(oa>>>0>2]){continue}break}a=q&65535}else{a=3}Ha(k,a,2);a=e-h|0;fb(a+c|0,c,v[ca>>2]);Ja(c,h,a);Ga(h);v[ca>>2]=a+v[ca>>2]}Bb(V);e=1;break a}e=0;Fa(f,1,27607,0);Bb(V);Ga(h)}qa=fa+16|0;return e}function pb(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{switch(v[a+84>>2]){case 0:k:{c=v[a+52>>2];b=v[a+196>>2];if(c>>>0>>0){j=v[a- -64>>2];if(j>>>0>>0){break k}}Fa(v[a+236>>2],1,18758,0);break b}if(!v[a+44>>2]){i=v[a+36>>2];b=0;break i}v[a+44>>2]=0;m=v[a+68>>2];b=1;break i;case 1:l:{c=v[a+52>>2];b=v[a+196>>2];if(c>>>0>>0){j=v[a- -64>>2];if(j>>>0>>0){break l}}Fa(v[a+236>>2],1,18803,0);break b}if(!v[a+44>>2]){k=v[a+36>>2];b=0;break e}v[a+44>>2]=0;m=v[a+48>>2];b=1;break e;case 2:m:{G=v[a+52>>2];D=v[a+196>>2];if(G>>>0>>0){k=v[a- -64>>2];if(k>>>0>>0){break m}}Fa(v[a+236>>2],1,18938,0);break b}if(!v[a+44>>2]){E=v[a+40>>2];break f}v[a+228>>2]=0;v[a+232>>2]=0;v[a+44>>2]=0;z=v[a+200>>2];while(1){O=z+(r<<4)|0;g=v[O+8>>2];if(g){j=v[O+12>>2];b=0;while(1){f=g+(b^-1)|0;d=j+(b<<4)|0;t=f+v[d>>2]|0;n:{if(t>>>0>31){break n}c=v[O>>2];if(c>>>0>-1>>>t>>>0){break n}c=c<>>0>i>>>0?i:c:c;v[a+228>>2]=i}f=f+v[d+4>>2]|0;o:{if(f>>>0>31){break o}c=v[O+4>>2];if(c>>>0>-1>>>f>>>0){break o}c=c<>>0>m>>>0?m:c:c;v[a+232>>2]=m}b=b+1|0;if((g|0)!=(b|0)){continue}break}}r=r+1|0;if((D|0)!=(r|0)){continue}break};if(!i|!m){break d}if(!w[a|0]){v[a+108>>2]=v[a+208>>2];v[a+100>>2]=v[a+204>>2];v[a+112>>2]=v[a+216>>2];v[a+104>>2]=v[a+212>>2]}p=v[a+48>>2];b=1;break f;case 3:p:{G=v[a+52>>2];g=v[a+196>>2];if(G>>>0>>0){p=v[a- -64>>2];if(p>>>0>>0){break p}}Fa(v[a+236>>2],1,18893,0);break b}if(!v[a+44>>2]){H=v[a+200>>2];k=v[a+28>>2];E=H+(k<<4)|0;I=v[a+40>>2];break g}v[a+228>>2]=0;v[a+232>>2]=0;v[a+44>>2]=0;H=v[a+200>>2];while(1){D=(o<<4)+H|0;t=v[D+8>>2];if(t){j=v[D+12>>2];b=0;while(1){f=t+(b^-1)|0;d=j+(b<<4)|0;z=f+v[d>>2]|0;q:{if(z>>>0>31){break q}c=v[D>>2];if(c>>>0>-1>>>z>>>0){break q}c=c<>>0>i>>>0?i:c:c;v[a+228>>2]=i}f=f+v[d+4>>2]|0;r:{if(f>>>0>31){break r}c=v[D+4>>2];if(c>>>0>-1>>>f>>>0){break r}c=c<>>0>m>>>0?m:c:c;v[a+232>>2]=m}b=b+1|0;if((t|0)!=(b|0)){continue}break}}o=o+1|0;if((g|0)!=(o|0)){continue}break};if(!i|!m){break d}s:{if(w[a|0]){o=v[a+108>>2];break s}o=v[a+208>>2];v[a+108>>2]=o;v[a+100>>2]=v[a+204>>2];v[a+112>>2]=v[a+216>>2];v[a+104>>2]=v[a+212>>2]}b=1;break g;case 4:break j;default:break d}}t:{o=v[a+52>>2];b=v[a+196>>2];if(o>>>0>>0){q=v[a- -64>>2];if(q>>>0>>0){break t}}Fa(v[a+236>>2],1,18848,0);break d}if(!v[a+44>>2]){o=v[a+28>>2];m=v[a+200>>2]+(o<<4)|0;r=v[a+40>>2];b=0;break h}v[a+28>>2]=o;v[a+44>>2]=0;b=1;break h}u:while(1){v:{w:{if(!b){i=i+1|0;break w}v[a+40>>2]=m;if(y[a+56>>2]<=m>>>0){break b}k=v[a+48>>2];b=0;break v}b=1}x:while(1){y:{z:{A:{B:{if(!b){v[a+32>>2]=k;if(y[a+60>>2]<=k>>>0){break B}v[a+28>>2]=c;b=c;p=0;break y}v[a+36>>2]=i;if(y[a+76>>2]<=i>>>0){b=v[a+28>>2];p=1;break y}b=((B(v[a+16>>2],v[a+32>>2])+B(v[a+12>>2],v[a+40>>2])|0)+B(v[a+20>>2],v[a+28>>2])|0)+B(v[a+24>>2],i)|0;if(b>>>0>=y[a+8>>2]){break c}b=v[a+4>>2]+(b<<1)|0;if(x[b>>1]){break A}break a}m=v[a+40>>2]+1|0;break z}b=0;continue u}b=1;continue u}while(1){C:{D:{E:{if(!p){if(b>>>0>=j>>>0){break E}f=v[a+32>>2];d=v[a+200>>2];if(f>>>0>=y[(d+(b<<4)|0)+8>>2]){break C}if(!w[a|0]){b=v[(d+(b<<4)|0)+12>>2]+(f<<4)|0;v[a+76>>2]=B(v[b+12>>2],v[b+8>>2])}i=v[a+72>>2];b=1;continue x}b=b+1|0;v[a+28>>2]=b;break D}k=v[a+32>>2]+1|0;b=0;continue x}p=0;continue}p=1;continue}}}}F:while(1){G:{H:{if(!b){r=r+1|0;v[a+40>>2]=r;break H}if(q>>>0<=o>>>0){break b}v[a+228>>2]=0;v[a+232>>2]=0;c=v[a+200>>2];b=o<<4;m=c+b|0;g=v[m+8>>2];if(!g){break b}b=b+c|0;z=b;j=v[b+12>>2];i=0;k=0;b=0;while(1){f=g+(b^-1)|0;d=j+(b<<4)|0;t=f+v[d>>2]|0;I:{if(t>>>0>31){break I}c=v[m>>2];if(c>>>0>-1>>>t>>>0){break I}c=c<>>0>k>>>0?k:c:c;v[a+228>>2]=k}f=f+v[d+4>>2]|0;J:{if(f>>>0>31){break J}c=v[z+4>>2];if(c>>>0>-1>>>f>>>0){break J}c=c<>>0>i>>>0?i:c:c;v[a+232>>2]=i}b=b+1|0;if((g|0)!=(b|0)){continue}break}if(!k|!i){break d}K:{if(w[a|0]){i=v[a+108>>2];break K}i=v[a+208>>2];v[a+108>>2]=i;v[a+100>>2]=v[a+204>>2];v[a+112>>2]=v[a+216>>2];v[a+104>>2]=v[a+212>>2]}b=0;break G}b=1}L:while(1){M:{N:{O:{P:{if(!b){v[a+224>>2]=i;if(y[a+112>>2]<=i>>>0){break P}H=v[a+100>>2];b=0;break M}if(y[a+56>>2]<=r>>>0){p=v[a+32>>2];b=1;break M}b=((B(v[a+16>>2],v[a+32>>2])+B(v[a+12>>2],r)|0)+B(v[a+20>>2],o)|0)+B(v[a+24>>2],v[a+36>>2])|0;if(b>>>0>=y[a+8>>2]){break c}b=v[a+4>>2]+(b<<1)|0;if(x[b>>1]){break O}break a}o=o+1|0;v[a+28>>2]=o;break N}b=0;continue F}b=1;continue F}while(1){Q:{R:{S:{T:{if(!b){v[a+220>>2]=H;if(y[a+104>>2]<=H>>>0){break S}p=v[a+48>>2];break T}p=p+1|0}v[a+32>>2]=p;b=v[a+60>>2];d=v[m+8>>2];if((b>>>0>>0?b:d)>>>0>p>>>0){f=v[m>>2];c=f;h=d+(p^-1)|0;l=h;d=l&31;if((l&63)>>>0>=32){b=f<>>32-d;C=f<>>0>=32?c>>>d|0:((1<>>d)|0)){break Q}c=v[m+4>>2];b=l&31;j=-1>>>b|0;if((c&((l&63)>>>0>=32?j:j|(1<>>0>=32){b=c<>>32-d;A=c<>2];j=J+d|0;O=ri(j,d>>>0>j>>>0?b+1|0:b,A,F);K=v[a+208>>2];d=J+K|0;b=K>>>0>d>>>0?b+1|0:b;z=ri(d,b,A,F);G=C-1|0;d=v[a+212>>2];g=G+d|0;j=e-!C|0;b=j;D=ri(g,d>>>0>g>>>0?b+1|0:b,C,e);L=v[a+204>>2];d=G+L|0;b=L>>>0>d>>>0?b+1|0:b;d=ri(d,b,C,e);M=v[m+12>>2];N=v[M+(p<<4)>>2];s=N+h|0;b=s&31;g=-1>>>b|0;if((f|0)!=(((s&63)>>>0>=32?g:g|(1<>2];h=n+h|0;k=h&31;if((h&63)>>>0>=32){b=c<>>32-k;k=c<>>0>=32?b>>>g|0:((1<>>g)|0)){break Q}g=v[a+224>>2];if(si(g,k,b)|ta){if((g|0)!=(K|0)){break Q}c=h&31;if((h&63)>>>0>=32){b=-1<>>32-c;c=-1<>>0>=32){b=h<>>32-k|b<>2];if((s&63)>>>0>=32){b=f<>>32-h;h=f<>>0>=32){b=-1<>>32-f}h=h^-1;f=b^-1;k=h;b=0;h=d;s=l&31;if((l&63)>>>0>=32){b=h<>>32-s|b<>2];if(!h|!v[b+12>>2]|(d|0)==(D|0)){break Q}if((z|0)==(O|0)){break Q}r=v[a+68>>2];v[a+40>>2]=r;b=j;c=c+G|0;b=c>>>0>>0?b+1|0:b;f=(ri(c,b,C,e)>>>N)-(d>>>N)|0;b=t;c=g+J|0;b=c>>>0>>0?b+1|0:b;Q=a,R=B(h,(ri(c,b,A,F)>>>n)-(z>>>n)|0)+f|0,v[Q+36>>2]=R;b=1;continue L}c=v[a+220>>2];b=v[a+228>>2];H=c+b-(c>>>0)%(b>>>0)|0;break R}c=v[a+224>>2];b=v[a+232>>2];i=c+b-(c>>>0)%(b>>>0)|0;b=0;continue L}b=0;continue}b=1;continue}}}}U:while(1){V:{W:{if(!b){I=I+1|0;v[a+40>>2]=I;break W}v[a+224>>2]=o;if(y[a+112>>2]<=o>>>0){break b}C=v[a+100>>2];b=0;break V}b=1}X:while(1){Y:{Z:{_:{$:{if(!b){v[a+220>>2]=C;if(y[a+104>>2]<=C>>>0){break $}v[a+28>>2]=G;k=G;b=0;break Y}if(y[a+56>>2]<=I>>>0){r=v[a+32>>2];b=1;break Y}b=((B(v[a+16>>2],v[a+32>>2])+B(v[a+12>>2],I)|0)+B(v[a+20>>2],k)|0)+B(v[a+24>>2],v[a+36>>2])|0;if(b>>>0>=y[a+8>>2]){break c}b=v[a+4>>2]+(b<<1)|0;if(x[b>>1]){break _}break a}c=v[a+224>>2];b=v[a+232>>2];o=c+b-(c>>>0)%(b>>>0)|0;break Z}b=0;continue U}b=1;continue U}while(1){aa:{ba:{ca:{da:{if(!b){if(k>>>0>=p>>>0){break ca}r=v[a+48>>2];v[a+32>>2]=r;E=(k<<4)+H|0;break da}r=r+1|0;v[a+32>>2]=r}b=v[a+60>>2];d=v[E+8>>2];if((b>>>0>>0?b:d)>>>0>r>>>0){f=v[E>>2];c=f;e=d+(r^-1)|0;q=e;d=e&31;if((e&63)>>>0>=32){b=f<>>32-d;i=f<>>0>=32?c>>>d|0:((1<>>d)|0)){break aa}c=v[E+4>>2];b=q&31;j=-1>>>b|0;if((c&((q&63)>>>0>=32?j:j|(1<>>0>=32){b=c<>>32-d;m=c<>2];j=J+d|0;O=ri(j,d>>>0>j>>>0?b+1|0:b,m,h);A=v[a+208>>2];d=A+J|0;b=A>>>0>d>>>0?b+1|0:b;z=ri(d,b,m,h);F=i-1|0;d=v[a+212>>2];g=F+d|0;j=s-!i|0;b=j;D=ri(g,d>>>0>g>>>0?b+1|0:b,i,s);K=v[a+204>>2];d=F+K|0;b=K>>>0>d>>>0?b+1|0:b;d=ri(d,b,i,s);L=v[E+12>>2];M=v[L+(r<<4)>>2];l=M+e|0;b=l&31;g=-1>>>b|0;if((f|0)!=(((l&63)>>>0>=32?g:g|(1<>2];e=N+e|0;n=e&31;if((e&63)>>>0>=32){b=c<>>32-n;n=c<>>0>=32?b>>>g|0:((1<>>g)|0)){break aa}g=v[a+224>>2];if(si(g,n,b)|ta){if((g|0)!=(A|0)){break aa}c=e&31;if((e&63)>>>0>=32){b=-1<>>32-c;c=-1<>>0>=32){b=e<>>32-n|b<>2];if((l&63)>>>0>=32){b=f<>>32-e;e=f<>>0>=32){b=-1<>>32-f}e=e^-1;f=b^-1;n=e;b=0;e=d;l=q&31;if((q&63)>>>0>=32){b=e<>>32-l|b<>2];if(!e|!v[b+12>>2]|(d|0)==(D|0)){break aa}if((z|0)==(O|0)){break aa}I=v[a+68>>2];v[a+40>>2]=I;b=j;c=c+F|0;b=c>>>0>>0?b+1|0:b;f=(ri(c,b,i,s)>>>M)-(d>>>M)|0;b=t;c=g+J|0;b=c>>>0>>0?b+1|0:b;Q=a,R=B(e,(ri(c,b,m,h)>>>N)-(z>>>N)|0)+f|0,v[Q+36>>2]=R;b=1;continue X}k=k+1|0;v[a+28>>2]=k;break ba}c=v[a+220>>2];b=v[a+228>>2];C=c+b-(c>>>0)%(b>>>0)|0;b=0;continue X}b=0;continue}b=1;continue}}}}ea:while(1){fa:{ga:{if(!b){E=E+1|0;v[a+40>>2]=E;break ga}v[a+32>>2]=p;if(y[a+60>>2]<=p>>>0){break b}I=v[a+108>>2];b=0;break fa}b=1}ha:while(1){ia:{ja:{ka:{la:{if(!b){v[a+224>>2]=I;if(y[a+112>>2]<=I>>>0){break la}H=v[a+100>>2];b=0;break ia}if(y[a+56>>2]<=E>>>0){o=v[a+28>>2];b=1;break ia}b=((B(v[a+16>>2],v[a+32>>2])+B(v[a+12>>2],E)|0)+B(v[a+20>>2],v[a+28>>2])|0)+B(v[a+24>>2],v[a+36>>2])|0;if(b>>>0>=y[a+8>>2]){break c}b=v[a+4>>2]+(b<<1)|0;if(x[b>>1]){break ka}break a}p=v[a+32>>2]+1|0;break ja}b=0;continue ea}b=1;continue ea}while(1){ma:{na:{oa:{pa:{if(!b){v[a+220>>2]=H;if(y[a+104>>2]<=H>>>0){break oa}v[a+28>>2]=G;o=G;break pa}o=o+1|0;v[a+28>>2]=o}if(k>>>0>o>>>0){C=v[a+32>>2];d=v[a+200>>2];l=d+(o<<4)|0;b=v[l+8>>2];if(C>>>0>=b>>>0){break ma}f=v[l>>2];c=f;e=b+(C^-1)|0;q=e;j=e&31;if((e&63)>>>0>=32){b=f<>>32-j;i=f<>>0>=32?c>>>j|0:((1<>>j)|0)){break ma}c=v[(d+(o<<4)|0)+4>>2];b=q&31;j=-1>>>b|0;if((c&((q&63)>>>0>=32?j:j|(1<>>0>=32){b=c<>>32-d;m=c<>2];j=J+d|0;O=ri(j,d>>>0>j>>>0?b+1|0:b,m,h);A=v[a+208>>2];d=A+J|0;b=A>>>0>d>>>0?b+1|0:b;z=ri(d,b,m,h);F=i-1|0;d=v[a+212>>2];g=F+d|0;j=s-!i|0;b=j;D=ri(g,d>>>0>g>>>0?b+1|0:b,i,s);K=v[a+204>>2];d=F+K|0;b=K>>>0>d>>>0?b+1|0:b;d=ri(d,b,i,s);L=v[l+12>>2];M=v[L+(C<<4)>>2];l=M+e|0;b=l&31;g=-1>>>b|0;if((f|0)!=(((l&63)>>>0>=32?g:g|(1<>2];e=N+e|0;n=e&31;if((e&63)>>>0>=32){b=c<>>32-n;n=c<>>0>=32?b>>>g|0:((1<>>g)|0)){break ma}g=v[a+224>>2];if(si(g,n,b)|ta){if((g|0)!=(A|0)){break ma}c=e&31;if((e&63)>>>0>=32){b=-1<>>32-c;c=-1<>>0>=32){b=e<>>32-n|b<>2];if((l&63)>>>0>=32){b=f<>>32-e;e=f<>>0>=32){b=-1<>>32-f}e=e^-1;f=b^-1;n=e;b=0;e=d;l=q&31;if((q&63)>>>0>=32){b=e<>>32-l|b<>2];if(!e|!v[b+12>>2]|(d|0)==(D|0)){break ma}if((z|0)==(O|0)){break ma}E=v[a+68>>2];v[a+40>>2]=E;b=j;c=c+F|0;b=c>>>0>>0?b+1|0:b;f=(ri(c,b,i,s)>>>M)-(d>>>M)|0;b=t;c=g+J|0;b=c>>>0>>0?b+1|0:b;Q=a,R=B(e,(ri(c,b,m,h)>>>N)-(z>>>N)|0)+f|0,v[Q+36>>2]=R;b=1;continue ha}c=v[a+220>>2];b=v[a+228>>2];H=c+b-(c>>>0)%(b>>>0)|0;break na}c=v[a+224>>2];b=v[a+232>>2];I=c+b-(c>>>0)%(b>>>0)|0;b=0;continue ha}b=0;continue}b=1;continue}}}}qa:while(1){ra:{sa:{if(!b){k=k+1|0;break sa}v[a+32>>2]=m;if(y[a+60>>2]<=m>>>0){break b}i=v[a+68>>2];b=0;break ra}b=1}ta:while(1){ua:{va:{wa:{xa:{if(!b){v[a+40>>2]=i;if(y[a+56>>2]<=i>>>0){break xa}v[a+28>>2]=c;b=c;p=0;break ua}v[a+36>>2]=k;if(y[a+76>>2]<=k>>>0){b=v[a+28>>2];p=1;break ua}b=((B(v[a+16>>2],v[a+32>>2])+B(v[a+12>>2],v[a+40>>2])|0)+B(v[a+20>>2],v[a+28>>2])|0)+B(v[a+24>>2],k)|0;if(b>>>0>=y[a+8>>2]){break c}b=v[a+4>>2]+(b<<1)|0;if(x[b>>1]){break wa}break a}m=v[a+32>>2]+1|0;break va}b=0;continue qa}b=1;continue qa}while(1){ya:{za:{Aa:{if(!p){if(b>>>0>=j>>>0){break Aa}f=v[a+32>>2];d=v[a+200>>2];if(f>>>0>=y[(d+(b<<4)|0)+8>>2]){break ya}if(!w[a|0]){b=v[(d+(b<<4)|0)+12>>2]+(f<<4)|0;v[a+76>>2]=B(v[b+12>>2],v[b+8>>2])}k=v[a+72>>2];b=1;continue ta}b=b+1|0;v[a+28>>2]=b;break za}i=v[a+40>>2]+1|0;b=0;continue ta}p=0;continue}p=1;continue}}}}return 0}Fa(v[a+236>>2],1,2121,0)}return 0}u[b>>1]=1;return 1}function yc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,z=0,A=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;N=qa-16|0;qa=N;a:{if(y[a+16>>2]<=2){v[a+20>>2]=2;break a}b:{e=v[a+24>>2];if(v[e>>2]!=1){break b}c:{switch(v[e+52>>2]-1|0){case 1:if(!(v[e+104>>2]!=2|v[e+4>>2]!=1|(v[e+56>>2]!=2|v[e+108>>2]!=2))){o=a;a=v[a+24>>2];j=v[a+24>>2];m=v[a+148>>2];t=v[a+96>>2];l=v[a+44>>2];L=v[a+8>>2];a=v[a+12>>2];e=B(L,a)<<2;z=Ta(e);A=Ta(e);d:{e:{f:{E=Ta(e);if(!(!E|(!z|!A))){f=-1<>2]&1;P=e-a|0;F=v[o>>2];if(!a|!L){break f}g=+C(0-q|0);b=g*.344+g*.714;g:{if(D(b)<2147483648){u=~~b;break g}u=-2147483648}b=g*1.772;h:{if(D(b)<2147483648){d=~~b;break h}d=-2147483648}b=g*1.402;i:{if(D(b)<2147483648){c=~~b;break i}c=-2147483648}a=z;j=A;e=E;while(1){r=v[l>>2];p=r+c|0;v[a>>2]=(p|0)>=0?(f|0)>(p|0)?p:f:0;p=r-u|0;v[j>>2]=(p|0)>=0?(f|0)>(p|0)?p:f:0;p=d+r|0;v[e>>2]=(p|0)>=0?(f|0)>(p|0)?p:f:0;e=e+4|0;j=j+4|0;a=a+4|0;l=l+4|0;s=s+1|0;if((L|0)!=(s|0)){continue}break}break e}Ga(z);Ga(A);Ga(E);break d}e=E;j=A;a=z}O=P&-2;if(O){M=F&1;n=L-M|0;g=+C(0-q|0);b=g*.344+g*.714;j:{if(D(b)<2147483648){G=~~b;break j}G=-2147483648}J=n&-2;c=J-1|0;b=g*1.772;k:{if(D(b)<2147483648){r=~~b;break k}r=-2147483648}d=O-1|0;c=c&-2;b=g*1.402;l:{if(D(b)<2147483648){p=~~b;break l}p=-2147483648}F=d&-2;u=c+2|0;K=L<<2;while(1){x=e+K|0;c=j+K|0;s=a+K|0;I=l+K|0;if(M){h=v[l>>2];d=h+p|0;v[a>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;d=h-G|0;v[j>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;d=h+r|0;v[e>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;d=v[t>>2];k=+C(v[m>>2]-q|0);b=k*1.402;m:{if(D(b)<2147483648){h=~~b;break m}h=-2147483648}i=v[I>>2];h=h+i|0;v[s>>2]=(h|0)>=0?(f|0)>(h|0)?h:f:0;g=+C(d-q|0);b=g*.344+k*.714;n:{if(D(b)<2147483648){d=~~b;break n}d=-2147483648}d=i-d|0;v[c>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;b=g*1.772;o:{if(D(b)<2147483648){d=~~b;break o}d=-2147483648}d=d+i|0;v[x>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;x=x+4|0;c=c+4|0;s=s+4|0;I=I+4|0;e=e+4|0;j=j+4|0;l=l+4|0;a=a+4|0}w=0;if(J){while(1){d=v[t>>2];k=+C(v[m>>2]-q|0);b=k*1.402;p:{if(D(b)<2147483648){h=~~b;break p}h=-2147483648}i=v[l>>2];h=h+i|0;v[a>>2]=(h|0)>=0?(f|0)>(h|0)?h:f:0;g=+C(d-q|0);b=g*.344+k*.714;q:{if(D(b)<2147483648){d=~~b;break q}d=-2147483648}d=i-d|0;v[j>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;b=g*1.772;r:{if(D(b)<2147483648){d=~~b;break r}d=-2147483648}d=d+i|0;v[e>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;d=v[t>>2];k=+C(v[m>>2]-q|0);b=k*1.402;s:{if(D(b)<2147483648){h=~~b;break s}h=-2147483648}i=v[l+4>>2];h=h+i|0;v[a+4>>2]=(h|0)>=0?(f|0)>(h|0)?h:f:0;g=+C(d-q|0);b=g*.344+k*.714;t:{if(D(b)<2147483648){d=~~b;break t}d=-2147483648}d=i-d|0;v[j+4>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;b=g*1.772;u:{if(D(b)<2147483648){d=~~b;break u}d=-2147483648}d=d+i|0;v[e+4>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;d=v[t>>2];k=+C(v[m>>2]-q|0);b=k*1.402;v:{if(D(b)<2147483648){h=~~b;break v}h=-2147483648}i=v[I>>2];h=h+i|0;v[s>>2]=(h|0)>=0?(f|0)>(h|0)?h:f:0;g=+C(d-q|0);b=g*.344+k*.714;w:{if(D(b)<2147483648){d=~~b;break w}d=-2147483648}d=i-d|0;v[c>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;b=g*1.772;x:{if(D(b)<2147483648){d=~~b;break x}d=-2147483648}d=d+i|0;v[x>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;d=v[t>>2];k=+C(v[m>>2]-q|0);b=k*1.402;y:{if(D(b)<2147483648){h=~~b;break y}h=-2147483648}i=v[I+4>>2];h=h+i|0;v[s+4>>2]=(h|0)>=0?(f|0)>(h|0)?h:f:0;g=+C(d-q|0);b=g*.344+k*.714;z:{if(D(b)<2147483648){d=~~b;break z}d=-2147483648}d=i-d|0;v[c+4>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;b=g*1.772;A:{if(D(b)<2147483648){d=~~b;break A}d=-2147483648}d=d+i|0;v[x+4>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;m=m+4|0;t=t+4|0;x=x+8|0;c=c+8|0;s=s+8|0;I=I+8|0;e=e+8|0;j=j+8|0;a=a+8|0;l=l+8|0;w=w+2|0;if(J>>>0>w>>>0){continue}break}i=u}else{i=0}if(i>>>0>>0){d=v[t>>2];k=+C(v[m>>2]-q|0);b=k*1.402;B:{if(D(b)<2147483648){h=~~b;break B}h=-2147483648}i=v[l>>2];h=h+i|0;v[a>>2]=(h|0)>=0?(f|0)>(h|0)?h:f:0;g=+C(d-q|0);b=g*.344+k*.714;C:{if(D(b)<2147483648){d=~~b;break C}d=-2147483648}d=i-d|0;v[j>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;b=g*1.772;D:{if(D(b)<2147483648){d=~~b;break D}d=-2147483648}d=d+i|0;v[e>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;d=v[t>>2];k=+C(v[m>>2]-q|0);b=k*1.402;E:{if(D(b)<2147483648){h=~~b;break E}h=-2147483648}i=v[I>>2];h=h+i|0;v[s>>2]=(h|0)>=0?(f|0)>(h|0)?h:f:0;s=c;g=+C(d-q|0);b=g*.344+k*.714;F:{if(D(b)<2147483648){c=~~b;break F}c=-2147483648}c=i-c|0;v[s>>2]=(c|0)>=0?(c|0)<(f|0)?c:f:0;b=g*1.772;G:{if(D(b)<2147483648){c=~~b;break G}c=-2147483648}c=c+i|0;v[x>>2]=(c|0)>=0?(c|0)<(f|0)?c:f:0;m=m+4|0;t=t+4|0;e=e+4|0;j=j+4|0;l=l+4|0;a=a+4|0}e=e+K|0;j=j+K|0;a=a+K|0;l=l+K|0;H=H+2|0;if(O>>>0>H>>>0){continue}break}c=F+2|0}else{c=0}H:{if(c>>>0>=P>>>0){break H}F=L&-2;if(F){H=F-1&-2;s=0;while(1){c=v[t>>2];k=+C(v[m>>2]-q|0);b=k*1.402;I:{if(D(b)<2147483648){i=~~b;break I}i=-2147483648}u=v[l>>2];d=i+u|0;v[a>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;g=+C(c-q|0);b=g*.344+k*.714;J:{if(D(b)<2147483648){c=~~b;break J}c=-2147483648}c=u-c|0;v[j>>2]=(c|0)>=0?(c|0)<(f|0)?c:f:0;b=g*1.772;K:{if(D(b)<2147483648){c=~~b;break K}c=-2147483648}c=c+u|0;v[e>>2]=(c|0)>=0?(c|0)<(f|0)?c:f:0;c=v[t>>2];k=+C(v[m>>2]-q|0);b=k*1.402;L:{if(D(b)<2147483648){i=~~b;break L}i=-2147483648}u=v[l+4>>2];d=i+u|0;v[a+4>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;g=+C(c-q|0);b=g*.344+k*.714;M:{if(D(b)<2147483648){c=~~b;break M}c=-2147483648}c=u-c|0;v[j+4>>2]=(c|0)>=0?(c|0)<(f|0)?c:f:0;b=g*1.772;N:{if(D(b)<2147483648){c=~~b;break N}c=-2147483648}c=c+u|0;v[e+4>>2]=(c|0)>=0?(c|0)<(f|0)?c:f:0;m=m+4|0;t=t+4|0;e=e+8|0;j=j+8|0;a=a+8|0;l=l+8|0;s=s+2|0;if(F>>>0>s>>>0){continue}break}c=H+2|0}else{c=0}if(c>>>0>=L>>>0){break H}c=v[t>>2];i=a;k=+C(v[m>>2]-q|0);b=k*1.402;O:{if(D(b)<2147483648){a=~~b;break O}a=-2147483648}H=v[l>>2];a=a+H|0;v[i>>2]=(a|0)>=0?(a|0)<(f|0)?a:f:0;g=+C(c-q|0);b=g*.344+k*.714;P:{if(D(b)<2147483648){a=~~b;break P}a=-2147483648}a=H-a|0;v[j>>2]=(a|0)>=0?(a|0)<(f|0)?a:f:0;b=g*1.772;Q:{if(D(b)<2147483648){a=~~b;break Q}a=-2147483648}a=a+H|0;v[e>>2]=(a|0)>=0?(a|0)<(f|0)?a:f:0}Ga(v[v[o+24>>2]+44>>2]);a=v[o+24>>2];v[a+44>>2]=z;Ga(v[a+96>>2]);a=v[o+24>>2];v[a+96>>2]=A;Ga(v[a+148>>2]);e=v[o+24>>2];v[e+148>>2]=E;a=v[e+8>>2];v[e+112>>2]=a;v[e+60>>2]=a;a=v[e+12>>2];v[e+116>>2]=a;v[e- -64>>2]=a;a=v[e>>2];v[e+104>>2]=a;v[e+52>>2]=a;a=v[e+4>>2];v[e+108>>2]=a;v[e+56>>2]=a;v[o+20>>2]=1}break a}if(v[e+104>>2]!=2|v[e+4>>2]!=1|(v[e+56>>2]!=1|v[e+108>>2]!=1)){break b}o=a;e=v[a+24>>2];j=v[e+24>>2];l=v[e+148>>2];m=v[e+96>>2];w=v[e+44>>2];a=v[e+8>>2];i=v[e+12>>2];e=B(a,i)<<2;z=Ta(e);A=Ta(e);E=Ta(e);R:{if(!(!E|(!z|!A))){if(i){p=v[o>>2]&1;h=a-p|0;J=1<>2];c=r+d|0;v[a>>2]=(c|0)>=0?(c|0)<(n|0)?c:n:0;c=r-F|0;v[j>>2]=(c|0)>=0?(c|0)<(n|0)?c:n:0;c=r+u|0;v[e>>2]=(c|0)>=0?(c|0)<(n|0)?c:n:0;j=j+4|0;w=w+4|0;e=e+4|0;a=a+4|0}I=0;if(M){while(1){c=v[m>>2];k=+C(v[l>>2]-J|0);b=k*1.402;V:{if(D(b)<2147483648){x=~~b;break V}x=-2147483648}G=v[w>>2];r=x+G|0;v[a>>2]=(r|0)>=0?(n|0)>(r|0)?r:n:0;g=+C(c-J|0);b=g*.344+k*.714;W:{if(D(b)<2147483648){c=~~b;break W}c=-2147483648}c=G-c|0;v[j>>2]=(c|0)>=0?(c|0)<(n|0)?c:n:0;b=g*1.772;X:{if(D(b)<2147483648){c=~~b;break X}c=-2147483648}c=c+G|0;v[e>>2]=(c|0)>=0?(c|0)<(n|0)?c:n:0;c=v[m>>2];k=+C(v[l>>2]-J|0);b=k*1.402;Y:{if(D(b)<2147483648){x=~~b;break Y}x=-2147483648}G=v[w+4>>2];r=x+G|0;v[a+4>>2]=(r|0)>=0?(n|0)>(r|0)?r:n:0;g=+C(c-J|0);b=g*.344+k*.714;Z:{if(D(b)<2147483648){c=~~b;break Z}c=-2147483648}c=G-c|0;v[j+4>>2]=(c|0)>=0?(c|0)<(n|0)?c:n:0;b=g*1.772;_:{if(D(b)<2147483648){c=~~b;break _}c=-2147483648}c=c+G|0;v[e+4>>2]=(c|0)>=0?(c|0)<(n|0)?c:n:0;l=l+4|0;m=m+4|0;e=e+8|0;j=j+8|0;a=a+8|0;w=w+8|0;I=I+2|0;if(M>>>0>I>>>0){continue}break}c=H}else{c=0}if(c>>>0>>0){c=v[m>>2];k=+C(v[l>>2]-J|0);b=k*1.402;$:{if(D(b)<2147483648){x=~~b;break $}x=-2147483648}G=v[w>>2];r=x+G|0;v[a>>2]=(r|0)>=0?(n|0)>(r|0)?r:n:0;g=+C(c-J|0);b=g*.344+k*.714;aa:{if(D(b)<2147483648){c=~~b;break aa}c=-2147483648}c=G-c|0;v[j>>2]=(c|0)>=0?(c|0)<(n|0)?c:n:0;b=g*1.772;ba:{if(D(b)<2147483648){c=~~b;break ba}c=-2147483648}c=c+G|0;v[e>>2]=(c|0)>=0?(c|0)<(n|0)?c:n:0;l=l+4|0;m=m+4|0;j=j+4|0;w=w+4|0;e=e+4|0;a=a+4|0}s=s+1|0;if((i|0)!=(s|0)){continue}break}}Ga(v[v[o+24>>2]+44>>2]);a=v[o+24>>2];v[a+44>>2]=z;Ga(v[a+96>>2]);a=v[o+24>>2];v[a+96>>2]=A;Ga(v[a+148>>2]);e=v[o+24>>2];v[e+148>>2]=E;a=v[e+8>>2];v[e+112>>2]=a;v[e+60>>2]=a;a=v[e+12>>2];v[e+116>>2]=a;v[e- -64>>2]=a;a=v[e>>2];v[e+104>>2]=a;v[e+52>>2]=a;a=v[e+4>>2];v[e+108>>2]=a;v[e+56>>2]=a;v[o+20>>2]=1;break R}Ga(z);Ga(A);Ga(E)}break a;case 0:break c;default:break b}}if(v[e+104>>2]!=1|v[e+4>>2]!=1|(v[e+56>>2]!=1|v[e+108>>2]!=1)){break b}e=v[a+24>>2];j=v[e+24>>2];w=v[e+148>>2];l=v[e+96>>2];m=v[e+44>>2];F=B(v[e+12>>2],v[e+8>>2]);e=F<<2;z=Ta(e);A=Ta(e);E=Ta(e);ca:{if(!(!E|(!z|!A))){if(F){p=-1<>2];k=+C(v[w>>2]-u|0);b=k*1.402;da:{if(D(b)<2147483648){i=~~b;break da}i=-2147483648}d=v[m>>2];H=i+d|0;v[c>>2]=(H|0)>=0?(p|0)>(H|0)?H:p:0;g=+C(o-u|0);b=g*.344+k*.714;ea:{if(D(b)<2147483648){i=~~b;break ea}i=-2147483648}o=d-i|0;v[j>>2]=(o|0)>=0?(o|0)<(p|0)?o:p:0;b=g*1.772;fa:{if(D(b)<2147483648){i=~~b;break fa}i=-2147483648}o=i+d|0;v[e>>2]=(o|0)>=0?(o|0)<(p|0)?o:p:0;e=e+4|0;j=j+4|0;c=c+4|0;w=w+4|0;l=l+4|0;m=m+4|0;t=t+1|0;if((F|0)!=(t|0)){continue}break}}Ga(v[v[a+24>>2]+44>>2]);e=v[a+24>>2];v[e+44>>2]=z;Ga(v[e+96>>2]);e=v[a+24>>2];v[e+96>>2]=A;Ga(v[e+148>>2]);v[v[a+24>>2]+148>>2]=E;v[a+20>>2]=1;break ca}Ga(z);Ga(A);Ga(E)}break a}v[N+4>>2]=262;v[N>>2]=1646;Sa(v[11824],18514,N)}qa=N+16|0}function ki(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=((d|0)!=0)+c|0;m=o>>>1|0;a:{b:{if((f|0)!=8){if(!c){break a}if(!f){break b}i=7-f|0;p=((i>>>0<=7?i:0)<<2)+4|0;q=f&-4;n=f&3;r=f<<2;i=0;while(1){k=i<<3;l=B(e,i);g=0;j=0;if(f>>>0>=4){while(1){v[(g+k<<2)+b>>2]=v[(g+l<<2)+a>>2];h=g|1;v[(h+k<<2)+b>>2]=v[(h+l<<2)+a>>2];h=g|2;v[(h+k<<2)+b>>2]=v[(h+l<<2)+a>>2];h=g|3;v[(k+h<<2)+b>>2]=v[(h+l<<2)+a>>2];g=g+4|0;j=j+4|0;if((q|0)!=(j|0)){continue}break}}j=0;if(n){while(1){h=g;v[(g+k<<2)+b>>2]=v[(g+l<<2)+a>>2];g=g+1|0;j=j+1|0;if((n|0)!=(j|0)){continue}break}}if(h>>>0<=6){Ma(((i<<5)+r|0)+b|0,0,p)}i=i+1|0;if((i|0)!=(c|0)){continue}break}break a}if(!c){break a}if((c|0)!=1){j=c&-2;while(1){h=(B(e,g)<<2)+a|0;l=v[h+4>>2];k=(g<<5)+b|0;v[k>>2]=v[h>>2];v[k+4>>2]=l;l=v[h+28>>2];v[k+24>>2]=v[h+24>>2];v[k+28>>2]=l;l=v[h+20>>2];v[k+16>>2]=v[h+16>>2];v[k+20>>2]=l;l=v[h+12>>2];v[k+8>>2]=v[h+8>>2];v[k+12>>2]=l;h=g|1;k=(h<<5)+b|0;h=(B(e,h)<<2)+a|0;l=v[h+28>>2];v[k+24>>2]=v[h+24>>2];v[k+28>>2]=l;l=v[h+20>>2];v[k+16>>2]=v[h+16>>2];v[k+20>>2]=l;l=v[h+12>>2];v[k+8>>2]=v[h+8>>2];v[k+12>>2]=l;l=v[h+4>>2];v[k>>2]=v[h>>2];v[k+4>>2]=l;g=g+2|0;i=i+2|0;if((j|0)!=(i|0)){continue}break}}if(!(c&1)){break a}h=(g<<5)+b|0;i=(B(e,g)<<2)+a|0;g=v[i+4>>2];v[h>>2]=v[i>>2];v[h+4>>2]=g;g=v[i+28>>2];v[h+24>>2]=v[i+24>>2];v[h+28>>2]=g;g=v[i+20>>2];v[h+16>>2]=v[i+16>>2];v[h+20>>2]=g;g=v[i+12>>2];v[h+8>>2]=v[i+8>>2];v[h+12>>2]=g;break a}Ma(b,0,c<<5)}k=c-m|0;c:{if(d){if(c>>>0<2){break c}i=0;if(o>>>0>=4){l=m>>>0<=2?2:m;g=0;h=1;while(1){g=(g<<6)+b|0;i=h;j=(i<<6)+b|0;v[g+32>>2]=v[g+32>>2]-(v[j>>2]+v[g>>2]>>1);v[g+36>>2]=v[g+36>>2]-(v[j+4>>2]+v[g+4>>2]>>1);v[g+40>>2]=v[g+40>>2]-(v[j+8>>2]+v[g+8>>2]>>1);v[g+44>>2]=v[g+44>>2]-(v[j+12>>2]+v[g+12>>2]>>1);v[g+48>>2]=v[g+48>>2]-(v[j+16>>2]+v[g+16>>2]>>1);v[g+52>>2]=v[g+52>>2]-(v[j+20>>2]+v[g+20>>2]>>1);v[g+56>>2]=v[g+56>>2]-(v[j+24>>2]+v[g+24>>2]>>1);v[g+60>>2]=v[g+60>>2]-(v[j+28>>2]+v[g+28>>2]>>1);g=i;h=g+1|0;if((l|0)!=(h|0)){continue}break}}h=1;j=c&1;if(!j){i=(i<<6)+b|0;v[i+32>>2]=v[i+32>>2]-v[i>>2];v[i+36>>2]=v[i+36>>2]-v[i+4>>2];v[i+40>>2]=v[i+40>>2]-v[i+8>>2];v[i+44>>2]=v[i+44>>2]-v[i+12>>2];v[i+48>>2]=v[i+48>>2]-v[i+16>>2];v[i+52>>2]=v[i+52>>2]-v[i+20>>2];v[i+56>>2]=v[i+56>>2]-v[i+24>>2];v[i+60>>2]=v[i+60>>2]-v[i+28>>2]}v[b>>2]=v[b>>2]+((v[b+32>>2]<<1)+2>>2);v[b+4>>2]=v[b+4>>2]+((v[b+36>>2]<<1)+2>>2);v[b+8>>2]=v[b+8>>2]+((v[b+40>>2]<<1)+2>>2);v[b+12>>2]=v[b+12>>2]+((v[b+44>>2]<<1)+2>>2);v[b+16>>2]=v[b+16>>2]+((v[b+48>>2]<<1)+2>>2);v[b+20>>2]=v[b+20>>2]+((v[b+52>>2]<<1)+2>>2);v[b+24>>2]=v[b+24>>2]+((v[b+56>>2]<<1)+2>>2);v[b+28>>2]=v[b+28>>2]+((v[b+60>>2]<<1)+2>>2);g=16;if(k>>>0>=2){while(1){i=(h<<6)+b|0;v[i>>2]=v[i>>2]+((v[i-32>>2]+v[i+32>>2]|0)+2>>2);v[i+4>>2]=v[i+4>>2]+((v[i-28>>2]+v[i+36>>2]|0)+2>>2);v[i+12>>2]=v[i+12>>2]+((v[i-20>>2]+v[i+44>>2]|0)+2>>2);v[i+8>>2]=v[i+8>>2]+((v[i-24>>2]+v[i+40>>2]|0)+2>>2);v[i+16>>2]=v[i+16>>2]+((v[i-16>>2]+v[i+48>>2]|0)+2>>2);v[i+20>>2]=v[i+20>>2]+((v[i-12>>2]+v[i+52>>2]|0)+2>>2);v[i+24>>2]=v[i+24>>2]+((v[i-8>>2]+v[i+56>>2]|0)+2>>2);v[i+28>>2]=v[i+28>>2]+((v[i-4>>2]+v[i+60>>2]|0)+2>>2);h=h+1|0;if((k|0)!=(h|0)){continue}break}g=k<<4}if(!j){break c}i=g<<2;h=i+b|0;v[h>>2]=v[h>>2]+((v[h-32>>2]<<1)+2>>2);g=(i|4)+b|0;v[g>>2]=v[g>>2]+((v[h-28>>2]<<1)+2>>2);g=(i|8)+b|0;v[g>>2]=v[g>>2]+((v[h-24>>2]<<1)+2>>2);g=(i|12)+b|0;v[g>>2]=v[g>>2]+((v[h-20>>2]<<1)+2>>2);g=(i|16)+b|0;v[g>>2]=v[g>>2]+((v[h-16>>2]<<1)+2>>2);g=(i|20)+b|0;v[g>>2]=v[g>>2]+((v[h-12>>2]<<1)+2>>2);g=(i|24)+b|0;v[g>>2]=v[g>>2]+((v[h-8>>2]<<1)+2>>2);i=(i|28)+b|0;v[i>>2]=v[i>>2]+((v[h-4>>2]<<1)+2>>2);break c}if((c|0)!=1){v[b>>2]=v[b>>2]-v[b+32>>2];v[b+4>>2]=v[b+4>>2]-v[b+36>>2];v[b+8>>2]=v[b+8>>2]-v[b+40>>2];v[b+12>>2]=v[b+12>>2]-v[b+44>>2];v[b+16>>2]=v[b+16>>2]-v[b+48>>2];v[b+20>>2]=v[b+20>>2]-v[b+52>>2];v[b+24>>2]=v[b+24>>2]-v[b+56>>2];v[b+28>>2]=v[b+28>>2]-v[b+60>>2];g=16;if(o>>>0>3){g=m>>>0<=2?2:m;h=1;while(1){i=(h<<6)+b|0;v[i+4>>2]=v[i+4>>2]-(v[i-28>>2]+v[i+36>>2]>>1);v[i+8>>2]=v[i+8>>2]-(v[i-24>>2]+v[i+40>>2]>>1);v[i+12>>2]=v[i+12>>2]-(v[i-20>>2]+v[i+44>>2]>>1);v[i>>2]=v[i>>2]-(v[i-32>>2]+v[i+32>>2]>>1);v[i+16>>2]=v[i+16>>2]-(v[i-16>>2]+v[i+48>>2]>>1);v[i+20>>2]=v[i+20>>2]-(v[i-12>>2]+v[i+52>>2]>>1);v[i+24>>2]=v[i+24>>2]-(v[i-8>>2]+v[i+56>>2]>>1);v[i+28>>2]=v[i+28>>2]-(v[i-4>>2]+v[i+60>>2]>>1);h=h+1|0;if((g|0)!=(h|0)){continue}break}g=g<<4}h=1;l=c&1;if(l){g=g<<2;i=g+b|0;v[i>>2]=v[i>>2]-v[i-32>>2];j=(g|4)+b|0;v[j>>2]=v[j>>2]-v[i-28>>2];j=(g|8)+b|0;v[j>>2]=v[j>>2]-v[i-24>>2];j=(g|12)+b|0;v[j>>2]=v[j>>2]-v[i-20>>2];j=(g|16)+b|0;v[j>>2]=v[j>>2]-v[i-16>>2];j=(g|20)+b|0;v[j>>2]=v[j>>2]-v[i-12>>2];j=(g|24)+b|0;v[j>>2]=v[j>>2]-v[i-8>>2];g=(g|28)+b|0;v[g>>2]=v[g>>2]-v[i-4>>2]}g=0;d:{if(k>>>0<2){i=0;break d}while(1){g=(g<<6)+b|0;i=h;j=(i<<6)+b|0;v[g+32>>2]=v[g+32>>2]+((v[g>>2]+v[j>>2]|0)+2>>2);v[g+36>>2]=v[g+36>>2]+((v[g+4>>2]+v[j+4>>2]|0)+2>>2);v[g+40>>2]=v[g+40>>2]+((v[g+8>>2]+v[j+8>>2]|0)+2>>2);v[g+44>>2]=v[g+44>>2]+((v[g+12>>2]+v[j+12>>2]|0)+2>>2);v[g+48>>2]=v[g+48>>2]+((v[g+16>>2]+v[j+16>>2]|0)+2>>2);v[g+52>>2]=v[g+52>>2]+((v[g+20>>2]+v[j+20>>2]|0)+2>>2);v[g+56>>2]=v[g+56>>2]+((v[g+24>>2]+v[j+24>>2]|0)+2>>2);v[g+60>>2]=v[g+60>>2]+((v[g+28>>2]+v[j+28>>2]|0)+2>>2);g=i;h=g+1|0;if((k|0)!=(h|0)){continue}break}}if(l){break c}h=(i<<6)+b|0;v[h+32>>2]=v[h+32>>2]+((v[h>>2]<<1)+2>>2);v[h+36>>2]=v[h+36>>2]+((v[h+4>>2]<<1)+2>>2);v[h+40>>2]=v[h+40>>2]+((v[h+8>>2]<<1)+2>>2);v[h+44>>2]=v[h+44>>2]+((v[h+12>>2]<<1)+2>>2);v[h+48>>2]=v[h+48>>2]+((v[h+16>>2]<<1)+2>>2);v[h+52>>2]=v[h+52>>2]+((v[h+20>>2]<<1)+2>>2);v[h+56>>2]=v[h+56>>2]+((v[h+24>>2]<<1)+2>>2);v[h+60>>2]=v[h+60>>2]+((v[h+28>>2]<<1)+2>>2);break c}v[b>>2]=v[b>>2]<<1;v[b+4>>2]=v[b+4>>2]<<1;v[b+8>>2]=v[b+8>>2]<<1;v[b+12>>2]=v[b+12>>2]<<1;v[b+16>>2]=v[b+16>>2]<<1;v[b+20>>2]=v[b+20>>2]<<1;v[b+24>>2]=v[b+24>>2]<<1;v[b+28>>2]=v[b+28>>2]<<1}e:{if((f|0)==8){l=!d<<3;f:{if(o>>>0<2){break f}d=m-1|0;g=(l<<2)+b|0;f=m&3;g:{if(!f){i=m;h=a;break g}j=0;o=e<<2;i=m;h=a;while(1){n=v[g+4>>2];v[h>>2]=v[g>>2];v[h+4>>2]=n;n=v[g+28>>2];v[h+24>>2]=v[g+24>>2];v[h+28>>2]=n;n=v[g+20>>2];v[h+16>>2]=v[g+16>>2];v[h+20>>2]=n;n=v[g+12>>2];v[h+8>>2]=v[g+8>>2];v[h+12>>2]=n;g=g- -64|0;i=i-1|0;h=h+o|0;j=j+1|0;if((f|0)!=(j|0)){continue}break}}if(d>>>0<3){break f}f=e<<2;while(1){d=v[g+4>>2];v[h>>2]=v[g>>2];v[h+4>>2]=d;d=v[g+28>>2];v[h+24>>2]=v[g+24>>2];v[h+28>>2]=d;d=v[g+20>>2];v[h+16>>2]=v[g+16>>2];v[h+20>>2]=d;d=v[g+12>>2];v[h+8>>2]=v[g+8>>2];v[h+12>>2]=d;d=f+h|0;h=v[g+92>>2];v[d+24>>2]=v[g+88>>2];v[d+28>>2]=h;h=v[g+84>>2];v[d+16>>2]=v[g+80>>2];v[d+20>>2]=h;h=v[g+76>>2];v[d+8>>2]=v[g+72>>2];v[d+12>>2]=h;h=v[g+68>>2];v[d>>2]=v[g+64>>2];v[d+4>>2]=h;h=v[g+156>>2];d=d+f|0;v[d+24>>2]=v[g+152>>2];v[d+28>>2]=h;h=v[g+148>>2];v[d+16>>2]=v[g+144>>2];v[d+20>>2]=h;h=v[g+140>>2];v[d+8>>2]=v[g+136>>2];v[d+12>>2]=h;h=v[g+132>>2];v[d>>2]=v[g+128>>2];v[d+4>>2]=h;h=v[g+220>>2];d=d+f|0;v[d+24>>2]=v[g+216>>2];v[d+28>>2]=h;h=v[g+212>>2];v[d+16>>2]=v[g+208>>2];v[d+20>>2]=h;h=v[g+204>>2];v[d+8>>2]=v[g+200>>2];v[d+12>>2]=h;h=v[g+196>>2];v[d>>2]=v[g+192>>2];v[d+4>>2]=h;h=d+f|0;g=g+256|0;i=i-4|0;if(i){continue}break}}if(!k){break e}h=(B(e,m)<<2)+a|0;g=((l^8)<<2)+b|0;a=k&3;if(a){b=0;d=e<<2;while(1){f=v[g+4>>2];v[h>>2]=v[g>>2];v[h+4>>2]=f;f=v[g+28>>2];v[h+24>>2]=v[g+24>>2];v[h+28>>2]=f;f=v[g+20>>2];v[h+16>>2]=v[g+16>>2];v[h+20>>2]=f;f=v[g+12>>2];v[h+8>>2]=v[g+8>>2];v[h+12>>2]=f;g=g- -64|0;k=k-1|0;h=d+h|0;b=b+1|0;if((a|0)!=(b|0)){continue}break}}if((m^-1)+c>>>0<3){break e}b=e<<2;while(1){a=v[g+4>>2];v[h>>2]=v[g>>2];v[h+4>>2]=a;a=v[g+28>>2];v[h+24>>2]=v[g+24>>2];v[h+28>>2]=a;a=v[g+20>>2];v[h+16>>2]=v[g+16>>2];v[h+20>>2]=a;a=v[g+12>>2];v[h+8>>2]=v[g+8>>2];v[h+12>>2]=a;c=v[g+92>>2];a=b+h|0;v[a+24>>2]=v[g+88>>2];v[a+28>>2]=c;c=v[g+84>>2];v[a+16>>2]=v[g+80>>2];v[a+20>>2]=c;c=v[g+76>>2];v[a+8>>2]=v[g+72>>2];v[a+12>>2]=c;c=v[g+68>>2];v[a>>2]=v[g+64>>2];v[a+4>>2]=c;c=v[g+156>>2];a=a+b|0;v[a+24>>2]=v[g+152>>2];v[a+28>>2]=c;c=v[g+148>>2];v[a+16>>2]=v[g+144>>2];v[a+20>>2]=c;c=v[g+140>>2];v[a+8>>2]=v[g+136>>2];v[a+12>>2]=c;c=v[g+132>>2];v[a>>2]=v[g+128>>2];v[a+4>>2]=c;c=v[g+220>>2];a=a+b|0;v[a+24>>2]=v[g+216>>2];v[a+28>>2]=c;c=v[g+212>>2];v[a+16>>2]=v[g+208>>2];v[a+20>>2]=c;c=v[g+204>>2];v[a+8>>2]=v[g+200>>2];v[a+12>>2]=c;c=v[g+196>>2];v[a>>2]=v[g+192>>2];v[a+4>>2]=c;h=a+b|0;g=g+256|0;k=k-4|0;if(k){continue}break}break e}ie(b,a,k,m,e,!d,f)}}function dd(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,m=0,o=0,p=0,q=0,r=0,s=0,u=0,w=0,x=0,A=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=C(0);L=v[a+28>>2];J=v[(v[L+76>>2]+B(b,5644)|0)+5584>>2];o=v[a+24>>2];O=v[o+24>>2];u=v[L+24>>2];f=(b>>>0)/(u>>>0)|0;I=v[v[a+20>>2]>>2];a=v[L+12>>2];b=v[L+4>>2]+B(a,b-B(f,u)|0)|0;u=v[o>>2];u=b>>>0>u>>>0?b:u;v[I>>2]=u;j=a;a=a+b|0;a=0-(j>>>0>a>>>0)|a;b=v[o+8>>2];a=a>>>0>>0?a:b;v[I+8>>2]=a;a:{if(!((a|0)>(u|0)&(u|0)>=0)){Fa(e,1,10661,0);break a}m=v[I+20>>2];a=v[L+16>>2];b=v[L+8>>2]+B(a,f)|0;f=v[o+4>>2];f=b>>>0>f>>>0?b:f;v[I+4>>2]=f;j=a;a=a+b|0;a=0-(j>>>0>a>>>0)|a;b=v[o+12>>2];a=a>>>0>>0?a:b;v[I+12>>2]=a;if(!((a|0)>(f|0)&(f|0)>=0)){Fa(e,1,10623,0);break a}b:{if(v[J+4>>2]){if(v[I+16>>2]){break b}return 1}Fa(e,1,8841,0);break a}c:{d:{e:{while(1){v[O+36>>2]=0;a=v[O>>2];o=a>>31;k=a-1|0;b=v[I>>2];f=k+b|0;g=o-!a|0;u=g+(b>>31)|0;b=qi(f,b>>>0>f>>>0?u+1|0:u,a,o);K=b;v[m>>2]=b;b=v[O+4>>2];f=b>>31;u=b-1|0;E=v[I+4>>2];p=u+E|0;h=f-!b|0;F=h+(E>>31)|0;E=qi(p,p>>>0>>0?F+1|0:F,b,f);v[m+4>>2]=E;j=k;k=v[I+8>>2];p=j+k|0;g=(k>>31)+g|0;a=qi(p,k>>>0>p>>>0?g+1|0:g,a,o);k=a;v[m+8>>2]=a;a=v[I+12>>2];v[m+16>>2]=W;o=h+(a>>31)|0;a=a+u|0;o=a>>>0>>0?o+1|0:o;b=qi(a,o,b,f);v[m+12>>2]=b;a=v[J+4>>2];v[m+20>>2]=a;o=v[L+80>>2];v[m+24>>2]=a>>>0>>0?1:a-o|0;if(c){o=b-E|0;f=k-K|0;f:{if((b|0)==(E|0)){break f}pi(o,0,f,0);if(!ta){break f}break d}b=B(f,o);if(b>>>0>=1073741824){break d}v[m+44>>2]=b<<2}Ga(v[m+52>>2]);v[m+68>>2]=0;v[m+60>>2]=0;v[m+64>>2]=0;v[m+52>>2]=0;v[m+56>>2]=0;a=B(a,152);b=v[m+28>>2];g:{if(!b){b=La(a);v[m+28>>2]=b;if(!b){break a}v[m+32>>2]=a;Ma(b,0,a);break g}if(a>>>0<=y[m+32>>2]){break g}b=Pa(b,a);if(!b){Fa(e,1,5337,0);Ga(v[m+28>>2]);v[m+28>>2]=0;v[m+32>>2]=0;break a}v[m+28>>2]=b;o=v[m+32>>2];Ma(b+o|0,0,a-o|0);v[m+32>>2]=a}a=v[m+20>>2];if(a){Q=J+28|0;F=v[m+28>>2];P=0;while(1){o=a-1|0;b=o&31;if((o&63)>>>0>=32){b=-1<>>32-b}u=f^-1;f=v[m>>2];k=u+f|0;E=b^-1;b=E+(f>>31)|0;f=f>>>0>k>>>0?b+1|0:b;j=o&31;b=j;h=(o&63)>>>0>=32;K=h?f>>b:((1<>>b;v[F>>2]=K;b=v[m+4>>2];f=b+u|0;k=(b>>31)+E|0;k=b>>>0>f>>>0?k+1|0:k;b=j;p=h?k>>b:((1<>>b;v[F+4>>2]=p;b=v[m+8>>2];f=b+u|0;k=(b>>31)+E|0;k=b>>>0>f>>>0?k+1|0:k;b=j;f=(o&63)>>>0>=32?k>>b:((1<>>b;v[F+8>>2]=f;b=v[m+12>>2];k=b+u|0;g=(b>>31)+E|0;g=b>>>0>k>>>0?g+1|0:g;b=j;k=h?g>>b:((1<>>b;v[F+12>>2]=k;h=f>>31;D=(P<<2)+J|0;H=v[D+812>>2];b=H&31;if((H&63)>>>0>=32){b=1<>>32-b}w=g;g=w+f|0;b=b+h|0;h=(g>>>0>>0?b+1|0:b)-!g|0;b=H&31;h=((H&63)>>>0>=32?h>>b:((1<>>b)<>31;D=v[D+944>>2];b=D&31;if((D&63)>>>0>=32){b=-1<>>32-b}G=g^-1;g=G+k|0;b=(b^-1)+w|0;w=g>>>0>>0?b+1|0:b;b=D&31;b=((D&63)>>>0>=32?w>>b:((1<>>b)<>D:0;v[F+20>>2]=k;S=K&-1<>H:0;v[F+16>>2]=b;h:{if(!b){break h}pi(b,0,k,0);if(!ta){break h}break d}T=B(b,k);if(T>>>0>=107374183){break d}N=B(T,40);if(P){D=D-1|0;H=H-1|0;b=R>>31;j=b;f=b+1|0;b=R+1|0;R=((b?j:f)&1)<<31|b>>>1;b=S>>31;j=b;f=b+1|0;b=S+1|0;S=((b?j:f)&1)<<31|b>>>1;b=3}else{b=1}v[F+24>>2]=b;Y=1<>>0>=32){b=1<>>32-b}X=a;K=b;a=v[J+12>>2];w=a>>>0>>0?a:D;a=w&31;if((w&63)>>>0>=32){b=-1<>>32-a}_=f^-1;$=b^-1;a=v[J+8>>2];G=a>>>0>>0?a:H;a=G&31;if((G&63)>>>0>=32){b=-1<>>32-a}aa=f^-1;ba=b^-1;V=0;while(1){i:{if(!P){a=0;v[p+16>>2]=0;b=v[m>>2];f=b+u|0;g=(b>>31)+E|0;g=b>>>0>f>>>0?g+1|0:g;j=o&31;b=j;h=(o&63)>>>0>=32?g>>b:((1<>>b;v[p>>2]=h;b=v[m+4>>2];f=b+u|0;g=(b>>31)+E|0;g=b>>>0>f>>>0?g+1|0:g;b=j;i=(o&63)>>>0>=32?g>>b:((1<>>b;g=u;s=g;f=E;q=f;b=o;break i}a=V+1|0;v[p+16>>2]=a;g=a&1;f=o&31;if((o&63)>>>0>=32){b=g<>>32-f;j=g<>2];i=g+h|0;b=(b^-1)+K|0;f=f>>>0>g>>>0?b+1|0:b;b=f+(h>>31)|0;h=h>>>0>i>>>0?b+1|0:b;b=k&31;h=(k&63)>>>0>=32?h>>b:((1<>>b;v[p>>2]=h;s=a>>>1|0;i=o&31;if((o&63)>>>0>=32){b=s<>>32-i;j=s<>2];x=s+i|0;b=(b^-1)+K|0;q=q>>>0>s>>>0?b+1|0:b;b=q+(i>>31)|0;i=i>>>0>x>>>0?b+1|0:b;b=k&31;i=(k&63)>>>0>=32?i>>b:((1<>>b;b=k}r=v[m+8>>2];A=r>>31;x=v[m+12>>2];v[p+4>>2]=i;q=(x>>31)+q|0;j=x;x=s+x|0;q=j>>>0>x>>>0?q+1|0:q;j=b&31;s=j;b=(b&63)>>>0>=32;s=b?q>>s:((1<>>s;v[p+12>>2]=s;f=f+A|0;g=g+r|0;x=g>>>0>>0?f+1|0:f;f=j;b=b?x>>f:((1<>>f;v[p+8>>2]=b;j:{k:{l:{if(c){if((b|0)==(h|0)|(i|0)==(s|0)){break j}if(a){break l}b=0;break k}b=0;if(!v[J+20>>2]|!a){break k}}b=(a|0)==3?2:1}a=b;b=v[Q+4>>2];U=1;a=(v[O+24>>2]+a|0)-v[Q>>2]|0;m:{if((a|0)>=1024){U=898846567431158e293;if(a>>>0<2047){a=a-1023|0;break m}U=M;a=((a|0)>=3069?3069:a)-2046|0;break m}if((a|0)>-1023){break m}U=2004168360008973e-307;if(a>>>0>4294965304){a=a+969|0;break m}U=0;a=((a|0)<=-2960?-2960:a)+1938|0}l(0,0);l(1,a+1023<<20);da=p,ea=C(U*+n()*(+(b|0)*.00048828125+1)),z[da+32>>2]=ea;v[p+28>>2]=(v[Q>>2]+v[J+804>>2]|0)-1;a=v[p+20>>2];n:{if(!(a|!T)){a=La(N);v[p+20>>2]=a;if(!a){Fa(e,1,4805,0);break a}Ma(a,0,N);v[p+24>>2]=N;break n}if(N>>>0>y[p+24>>2]){a=Pa(a,N);if(!a){Fa(e,1,4805,0);Ga(v[p+20>>2]);v[p+20>>2]=0;v[p+24>>2]=0;break a}v[p+20>>2]=a;b=v[p+24>>2];Ma(a+b|0,0,N-b|0);v[p+24>>2]=N}if(!T){break j}}a=v[p+20>>2];f=0;while(1){g=v[F+16>>2];b=(f>>>0)/(g>>>0)|0;g=(f-B(b,g)<>2];i=(g|0)>(h|0)?g:h;v[a>>2]=i;h=(b<>2];x=(b|0)<(h|0)?h:b;v[a+4>>2]=x;b=g+Z|0;g=v[p+8>>2];b=(b|0)<(g|0)?b:g;v[a+8>>2]=b;g=h+Y|0;h=v[p+12>>2];g=(g|0)<(h|0)?g:h;v[a+12>>2]=g;h=(b>>31)+ba|0;s=h+1|0;j=h;h=b+aa|0;s=b>>>0>h>>>0?s:j;b=G&31;b=(G&63)>>>0>=32?s>>b:((1<>>b;s=i>>G;h=b-s<>G;v[a+16>>2]=h;b=(g>>31)+$|0;j=g;g=g+_|0;i=j>>>0>g>>>0?b+1|0:b;b=w&31;x=x>>w;b=((w&63)>>>0>=32?i>>b:((1<>>b)-x<>w;v[a+20>>2]=b;g=B(b,h);pi(d,0,g,0);if(ta){Fa(e,1,4886,0);break a}b=B(d,g);h=v[a+24>>2];o:{p:{if(!(h|!g)){h=La(b);v[a+24>>2]=h;if(!h){break a}Ma(h,0,b);j=a+28|0;break p}if(b>>>0<=y[a+28>>2]){break o}h=Pa(h,b);if(!h){Ga(v[a+24>>2]);v[a+24>>2]=0;v[a+28>>2]=0;Fa(e,1,4411,0);break a}v[a+24>>2]=h;i=v[a+28>>2];Ma(h+i|0,0,b-i|0);j=a+28|0}v[j>>2]=b}b=v[a+20>>2];h=v[a+16>>2];i=v[a+32>>2];q:{if(!i){b=$c(h,b,e);break q}b=_c(i,h,b,e)}v[a+32>>2]=b;b=v[a+20>>2];h=v[a+16>>2];i=v[a+36>>2];r:{if(!i){b=$c(h,b,e);break r}b=_c(i,h,b,e)}v[a+36>>2]=b;s:{if(!g){break s}h=0;if(!c){while(1){A=v[a+16>>2];q=(h>>>0)/(A>>>0)|0;b=v[a+24>>2]+(h<<6)|0;r=v[b>>2];t:{if(r){j=v[b+56>>2];ca=v[b+4>>2];i=v[b+48>>2];Ga(v[b+60>>2]);v[b+56>>2]=0;v[b+60>>2]=0;v[b+48>>2]=0;v[b+52>>2]=0;v[b+40>>2]=0;v[b+44>>2]=0;v[b+32>>2]=0;v[b+36>>2]=0;v[b+24>>2]=0;v[b+28>>2]=0;v[b+16>>2]=0;v[b+20>>2]=0;v[b+8>>2]=0;v[b+12>>2]=0;v[b>>2]=r;v[b+48>>2]=i;if(i){Ma(r,0,B(i,24))}v[b+4>>2]=ca;v[b+56>>2]=j;break t}i=Ka(10,24);v[b>>2]=i;if(!i){break a}v[b+48>>2]=10}i=s+(h-B(q,A)|0)|0;r=i<>2];v[b+8>>2]=(r|0)>(A|0)?r:A;q=q+x|0;r=q<>2];v[b+12>>2]=(r|0)>(A|0)?r:A;i=i+1<>2];v[b+16>>2]=(i|0)<(r|0)?i:r;j=b;b=q+1<>2];v[j+20>>2]=(b|0)<(i|0)?b:i;h=h+1|0;if((g|0)!=(h|0)){continue}break s}}while(1){q=v[a+16>>2];i=(h>>>0)/(q>>>0)|0;u:{b=v[a+24>>2]+B(h,52)|0;if(v[b+4>>2]){break u}r=Ka(100,24);v[b+4>>2]=r;if(r){break u}break a}v:{if(v[b+8>>2]){break v}r=Ka(100,24);v[b+8>>2]=r;if(r){break v}break a}q=s+(h-B(i,q)|0)|0;r=q<>2];r=(r|0)>(A|0)?r:A;v[b+12>>2]=r;i=i+x|0;A=i<>2];A=(j|0)<(A|0)?A:j;v[b+16>>2]=A;q=q+1<>2];q=(q|0)<(j|0)?q:j;v[b+20>>2]=q;i=i+1<>2];i=(i|0)<(j|0)?i:j;v[b+24>>2]=i;i=B(q-r|0,i-A|0)<<2;q=i+74|0;if(q>>>0>y[b+36>>2]){r=v[b>>2];if(r){Ga(r-1|0)}i=La(i+75|0);v[b>>2]=i;if(!i){break e}v[b+36>>2]=q;t[i|0]=0;v[b>>2]=v[b>>2]+1}h=h+1|0;if((g|0)!=(h|0)){continue}break}}a=a+40|0;f=f+1|0;if((T|0)!=(f|0)){continue}break}}Q=Q+8|0;p=p+36|0;V=V+1|0;if(V>>>0>2]){continue}break}F=F+152|0;a=o;P=P+1|0;if(P>>>0>2]){continue}break}}O=O+52|0;m=m+76|0;J=J+1080|0;W=W+1|0;if(W>>>0>2]){continue}break}return 1}v[b+36>>2]=0;return 0}Fa(e,1,4933,0);break a}Fa(e,1,4236,0)}return 0}function zc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=C(0),q=C(0),r=0,s=0,z=C(0),A=C(0),E=C(0),F=0,G=0,H=0,I=0,J=C(0),K=0,L=0;k=qa-8272|0;qa=k;v[k+12>>2]=0;d=v[v[a>>2]>>2];c=Ka(1,96);g=0;a:{if(!c){break a}v[c+76>>2]=1;b:{c:{d:{switch(((d|0)!=1375686655)<<1){case 0:v[c+88>>2]=204;v[c+84>>2]=205;v[c+80>>2]=206;v[c+16>>2]=207;v[c+4>>2]=208;v[c+28>>2]=209;v[c+24>>2]=210;v[c+20>>2]=211;v[c>>2]=212;v[c+92>>2]=213;v[c+44>>2]=214;v[c+40>>2]=215;v[c+36>>2]=216;v[c+32>>2]=217;v[c+12>>2]=218;v[c+8>>2]=219;d=$d();v[c+48>>2]=d;if(d){break c}break b;case 2:break d;default:break b}}v[c+88>>2]=220;v[c+84>>2]=221;v[c+80>>2]=222;v[c+16>>2]=223;v[c+4>>2]=224;v[c+92>>2]=225;v[c+44>>2]=226;v[c+40>>2]=227;v[c+36>>2]=228;v[c+32>>2]=229;v[c+28>>2]=230;v[c+24>>2]=231;v[c+20>>2]=232;v[c+12>>2]=233;v[c+8>>2]=234;v[c>>2]=235;d=Ka(1,136);e:{if(d){j=$d();v[d>>2]=j;f:{if(!j){break f}v[d+108>>2]=0;v[d+112>>2]=0;t[d+124|0]=0;v[d+116>>2]=0;v[d+120>>2]=0;j=sb();v[d+4>>2]=j;if(!j){break f}j=sb();v[d+8>>2]=j;if(!j){break f}break e}ud(d)}d=0}v[c+48>>2]=d;if(!d){break b}}v[c+72>>2]=106;v[c+64>>2]=106;v[c+60>>2]=0;v[c+52>>2]=0;v[c+56>>2]=0;v[c+68>>2]=106;g=c;break a}Ga(c);g=0}d=g;if(d){v[d+60>>2]=0;v[d+72>>2]=55}if(d){v[d+56>>2]=0;v[d+68>>2]=56}if(d){v[d+52>>2]=0;v[d- -64>>2]=57}c=k+16|0;if(c){c=Ma(c,0,8248);v[c+8248>>2]=0;v[c+8200>>2]=-1;v[c+8204>>2]=-1}v[k+16>>2]=b;v[k+20>>2]=v[a+84>>2];c=v[a>>2];v[k+4>>2]=c;v[k>>2]=c;v[k+8>>2]=v[a+4>>2]-c;j=qc(1);if(j){if(j){v[j+4>>2]=0;v[j>>2]=k}if(j){v[j+8>>2]=v[k+8>>2];v[j+12>>2]=0}if(!(!j|!(w[j+68|0]&2))){v[j+16>>2]=58}if(j){v[j+24>>2]=59}if(j){v[j+28>>2]=60}}g:{c=k+16|0;if(!d|!c){c=0}else{h:{if(!v[d+76>>2]){Fa(d+52|0,1,20420,0);c=0;break h}ua[v[d+24>>2]](v[d+48>>2],c);c=1}}i:{if(!c){Wb(1508);Gb(j);Eb(d);break i}if(!j|!d){c=0}else{j:{if(!v[d+76>>2]){Fa(d+52|0,1,20501,0);c=0;break j}c=ua[v[d>>2]](j,v[d+48>>2],k+12|0,d+52|0)|0}}if(!c){Wb(1571);Gb(j);Eb(d);db(v[k+12>>2]);break i}if(!v[d+76>>2]|(!d|!j)){c=0}else{c=ua[v[d+4>>2]](v[d+48>>2],j,v[k+12>>2],d+52|0)|0}if(!c){Wb(3442);Eb(d);Gb(j);db(v[k+12>>2]);break i}f=v[k+12>>2];c=v[f+16>>2];k:{l:{m:{e=v[f+20>>2];if((e|0)!=3){if((c|0)==3){c=v[f+24>>2];if(v[c>>2]!=v[c+4>>2]|v[c+52>>2]==1){break m}v[f+20>>2]=3;yc(f);break k}if(c>>>0>2){break m}break l}if(c>>>0<3){break l}yc(f);break k}if(!(v[k+8220>>2]==14|(e|0)!=5)){e=qa-16|0;qa=e;n:{o:{p:{if(y[f+16>>2]<4){break p}c=v[f+24>>2];g=v[c>>2];if((g|0)!=v[c+52>>2]|(g|0)!=v[c+104>>2]|(g|0)!=v[c+156>>2]){break p}g=v[c+4>>2];if((g|0)!=v[c+56>>2]|(g|0)!=v[c+108>>2]){break p}if((g|0)==v[c+160>>2]){break o}}v[e+4>>2]=619;v[e>>2]=1646;Sa(v[11824],18429,e);break n}l=B(v[c+12>>2],v[c+8>>2]);q:{if(!l){g=v[c+200>>2];break q}z=C(C(1)/C(-1<>2]^-1));A=C(C(1)/C(-1<>2]^-1));q=C(C(1)/C(-1<>2]^-1));J=C(C(1)/C(-1<>2]^-1));g=v[c+200>>2];m=v[c+148>>2];r=v[c+96>>2];h=v[c+44>>2];while(1){c=i<<2;s=c+h|0;o=C(C(1)-C(A*C(v[c+g>>2])));E=C(C(C(C(1)-C(z*C(v[s>>2])))*C(255))*o);r:{if(C(D(E))>2];c=c+r|0;H=v[c>>2];v[s>>2]=n;E=C(C(C(C(1)-C(J*C(H|0)))*C(255))*o);s:{if(C(D(E))>2]=n;o=C(C(C(C(1)-C(q*C(G|0)))*C(255))*o);t:{if(C(D(o))>2]=c;i=i+1|0;if((l|0)!=(i|0)){continue}break}}Ga(g);c=v[f+24>>2];v[c+24>>2]=8;v[c+128>>2]=8;v[c+76>>2]=8;v[c+200>>2]=0;v[f+20>>2]=1;c=v[f+16>>2]-1|0;v[f+16>>2]=c;if(c>>>0<4){break n}i=3;while(1){c=v[f+24>>2]+B(i,52)|0;v[c+48>>2]=v[c+100>>2];g=v[c+96>>2];v[c+40>>2]=v[c+92>>2];v[c+44>>2]=g;g=v[c+88>>2];v[c+32>>2]=v[c+84>>2];v[c+36>>2]=g;g=v[c+80>>2];v[c+24>>2]=v[c+76>>2];v[c+28>>2]=g;g=v[c+72>>2];v[c+16>>2]=v[c+68>>2];v[c+20>>2]=g;g=v[c+64>>2];v[c+8>>2]=v[c+60>>2];v[c+12>>2]=g;g=v[c+56>>2];v[c>>2]=v[c+52>>2];v[c+4>>2]=g;i=i+1|0;if(i>>>0>2]){continue}break}}qa=e+16|0;break k}if((e|0)!=4){break k}i=qa-16|0;qa=i;u:{v:{w:{if(y[f+16>>2]<3){break w}c=v[f+24>>2];e=v[c>>2];if((e|0)!=v[c+52>>2]|(e|0)!=v[c+104>>2]){break w}e=v[c+4>>2];if((e|0)!=v[c+56>>2]){break w}if((e|0)==v[c+108>>2]){break v}}v[i+4>>2]=680;v[i>>2]=1646;Sa(v[11824],18471,i);break u}l=B(v[c+12>>2],v[c+8>>2]);if(l){e=v[c+24>>2];g=-1<>2]?0:e;r=v[c+84>>2]?0:e;h=v[c+148>>2];s=v[c+96>>2];n=v[c+44>>2];e=0;while(1){c=e<<2;F=c+h|0;o=C(v[F>>2]-m|0);G=c+s|0;z=C(v[G>>2]-r|0);H=c+n|0;A=C(v[H>>2]);q=C(C(C(o*C(1.4019900560379028))+C(C(z*C(-3680000008898787e-20))+A))+C(.5));x:{if(C(D(q))>2]=(c|0)>(g|0)?g:(c|0)>0?c:0;q=C(C(C(o*C(-.7141128182411194))+C(C(A*C(1.0003000497817993))+C(z*C(-.34412500262260437))))+C(.5));y:{if(C(D(q))>2]=(c|0)>(g|0)?g:(c|0)>0?c:0;o=C(C(C(o*C(-7999999979801942e-21))+C(C(A*C(.9998229742050171))+C(z*C(1.7720400094985962))))+C(.5));z:{if(C(D(o))>2]=(c|0)>(g|0)?g:(c|0)>0?c:0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}v[f+20>>2]=1}qa=i+16|0;break k}v[f+20>>2]=2}c=v[k+12>>2];u[a+24>>1]=v[c+8>>2];u[a+26>>1]=v[c+12>>2];t[a+29|0]=v[c+16>>2];i=0;e=v[c+24>>2];t[a+30|0]=v[e+32>>2]!=0;t[a+28|0]=v[e+24>>2];v[a+80>>2]=v[c+20>>2];v[a+44>>2]=v[c>>2];v[a+48>>2]=v[c+4>>2];if(d){c=ua[v[d+84>>2]](v[d+48>>2])|0}else{c=0}v[a+76>>2]=v[c+40>>2];v[a+40>>2]=v[c+36>>2];e=v[c+48>>2];t[a+36|0]=v[e+24>>2]==1;v[a+68>>2]=1<>2];v[a+72>>2]=1<>2];v[a+60>>2]=v[c>>2];v[a- -64>>2]=v[c+4>>2];v[a+52>>2]=v[c+8>>2];v[a+56>>2]=v[c+12>>2];v[a+32>>2]=v[e+8>>2]-1;g=x[a+26>>1];e=x[a+24>>1];A:{if(!b){break A}f=b&3;B:{if(!f){c=b;break B}c=b;while(1){c=c-1|0;g=g+1>>>1|0;e=e+1>>>1|0;i=i+1|0;if((f|0)!=(i|0)){continue}break}}if(b>>>0<4){break A}while(1){g=(((g+1>>>1|0)+1>>>1|0)+1>>>1|0)+1>>>1|0;e=(((e+1>>>1|0)+1>>>1|0)+1>>>1|0)+1>>>1|0;c=c-4|0;if(c){continue}break}}s=w[a+28|0]+7>>>3|0;b=B(s,B(w[a+29|0],B(e,g)));l=v[a+16>>2];c=v[a+12>>2];f=l-c|0;C:{if(b>>>0>f>>>0){i=b-f|0;m=v[a+20>>2];if(i>>>0<=m-l>>>0){K=a,L=Ma(l,0,i)+i|0,v[K+16>>2]=L;break C}if((b|0)<0){break g}l=m-c|0;m=l<<1;l=l>>>0>=1073741823?2147483647:b>>>0>>0?m:b;m=Na(l);Ma(m+f|0,0,i);f=fb(m,c,f);v[a+20>>2]=f+l;v[a+16>>2]=b+f;v[a+12>>2]=f;if(!c){break C}Ga(c);break C}if(b>>>0>=f>>>0){break C}v[a+16>>2]=b+c}if(g){l=e&-2;m=e&1;r=e-1|0;while(1){c=w[a+29|0];f=B(e,I);b=B(c,B(f,s));D:{if((c|0)==1){f=v[v[v[k+12>>2]+24>>2]+44>>2]+(f<<2)|0;if(w[a+28|0]<=8){if(!e){break D}i=b+v[a+12>>2]|0;c=0;b=0;if(r){while(1){h=v[f+(c<<2)>>2];h=(h|0)>=255?255:h;t[c+i|0]=(h|0)>0?h:0;n=c|1;h=v[f+(n<<2)>>2];h=(h|0)>=255?255:h;t[i+n|0]=(h|0)>0?h:0;c=c+2|0;b=b+2|0;if((l|0)!=(b|0)){continue}break}}if(!m){break D}b=v[f+(c<<2)>>2];b=(b|0)>=255?255:b;t[c+i|0]=(b|0)>0?b:0;break D}i=b+v[a+12>>2]|0;if(w[a+30|0]){if(!e){break D}c=0;b=0;if(r){while(1){h=v[f+(c<<2)>>2];h=(h|0)>=32767?32767:h;u[i+(c<<1)>>1]=(h|0)<=-32768?-32768:h;n=c|1;h=v[f+(n<<2)>>2];h=(h|0)>=32767?32767:h;u[i+(n<<1)>>1]=(h|0)<=-32768?-32768:h;c=c+2|0;b=b+2|0;if((l|0)!=(b|0)){continue}break}}if(!m){break D}b=v[f+(c<<2)>>2];b=(b|0)>=32767?32767:b;u[i+(c<<1)>>1]=(b|0)<=-32768?-32768:b;break D}if(!e){break D}c=0;b=0;if(r){while(1){h=v[f+(c<<2)>>2];h=(h|0)>=65535?65535:h;u[i+(c<<1)>>1]=(h|0)>0?h:0;n=c|1;h=v[f+(n<<2)>>2];h=(h|0)>=65535?65535:h;u[i+(n<<1)>>1]=(h|0)>0?h:0;c=c+2|0;b=b+2|0;if((l|0)!=(b|0)){continue}break}}if(!m){break D}b=v[f+(c<<2)>>2];b=(b|0)>=65535?65535:b;u[i+(c<<1)>>1]=(b|0)>0?b:0;break D}if(!e|w[a+28|0]>8){break D}h=b+v[a+12>>2]|0;c=0;while(1){b=h+B(c,3)|0;i=c+f<<2;t[b|0]=v[i+v[v[v[k+12>>2]+24>>2]+44>>2]>>2];t[b+1|0]=v[i+v[v[v[k+12>>2]+24>>2]+96>>2]>>2];t[b+2|0]=v[i+v[v[v[k+12>>2]+24>>2]+148>>2]>>2];c=c+1|0;if((e|0)!=(c|0)){continue}break}}I=I+1|0;if((I|0)!=(g|0)){continue}break}}Gb(j);Eb(d);db(v[k+12>>2])}qa=k+8272|0;return}lb();p()}function wb(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,x=0,z=0,A=0,D=0,E=0,F=C(0),G=0,H=0,I=0,J=0,K=0,L=0,M=0;o=qa-80|0;qa=o;v[o+40>>2]=65424;z=B(v[a+108>>2],v[a+104>>2]);a:{b:{c:{l=v[a+8>>2];d:{if((l|0)!=8){j=0;if((l|0)!=256){break a}v[o+40>>2]=65497;break d}if(t[a+68|0]&1){break d}I=z&-2;J=z&1;K=o+77|0;L=o+76|0;M=o+72|0;l=65424;e:{f:{g:{while(1){h:{i:{j:{k:{l:{if((l|0)==65427){break l}while(1){m=v[j+12>>2];n=m;l=v[j+8>>2];if(m|l){p=v[j+56>>2];m=l-p|0;l=n-(v[j+60>>2]+(l>>>0

>>0)|0)|0}else{m=0;l=0}if(!(l|m)){v[a+8>>2]=64;break l}if((Wa(j,v[a+16>>2],2,k)|0)!=2){Fa(k,1,4334,0);j=0;break a}Ia(v[a+16>>2],o+36|0,2);if(y[o+36>>2]<=1){Fa(k,1,9971,0);j=0;break a}m:{if(v[o+40>>2]!=32896){break m}m=v[j+12>>2];n=m;l=v[j+8>>2];if(m|l){p=v[j+56>>2];m=l-p|0;l=n-(v[j+60>>2]+(l>>>0

>>0)|0)|0}else{m=0;l=0}if(l|m){break m}v[a+8>>2]=64;break l}l=v[o+36>>2];n=v[a+8>>2];if(n&16){v[a+24>>2]=(v[a+24>>2]-l|0)-2}r=l-2|0;v[o+36>>2]=r;m=30560;q=v[o+40>>2];while(1){l=m;p=v[l>>2];if(p){m=l+12|0;if((p|0)!=(q|0)){continue}}break}if(!(n&v[l+4>>2])){Fa(k,1,8880,0);j=0;break a}n:{if(y[a+20>>2]>=r>>>0){m=v[a+16>>2];break n}n=v[j+12>>2];q=n;m=v[j+8>>2];if(n|m){s=v[j+56>>2];n=m-s|0;m=q-(v[j+60>>2]+(m>>>0>>0)|0)|0}else{n=0;m=0}if(n>>>0>>0&(m|0)<=0|(m|0)<0){Fa(k,1,9295,0);j=0;break a}m=Pa(v[a+16>>2],v[o+36>>2]);if(!m){Ga(v[a+16>>2]);v[a+16>>2]=0;v[a+20>>2]=0;Fa(k,1,8456,0);j=0;break a}v[a+16>>2]=m;r=v[o+36>>2];v[a+20>>2]=r}m=Wa(j,m,r,k);if((m|0)!=v[o+36>>2]){Fa(k,1,4334,0);j=0;break a}l=v[l+8>>2];if(!l){Fa(k,1,22766,0);j=0;break a}if(!(ua[l|0](a,v[a+16>>2],m,k)|0)){v[o+32>>2]=v[o+40>>2];Fa(k,1,25296,o+32|0);j=0;break a}m=v[j+56>>2];q=v[o+36>>2];s=v[a+200>>2];r=v[s+40>>2];E=v[a+204>>2];x=B(E,40);l=r+x|0;A=v[l+20>>2];n=A+1|0;D=v[l+28>>2];o:{if(n>>>0<=D>>>0){l=v[l+24>>2];break o}F=C(C(D>>>0)+C(100));p:{if(F=C(0)){n=~~F>>>0;break p}n=0}v[l+28>>2]=n;l=Pa(v[l+24>>2],B(n,24));r=v[s+40>>2];n=x+r|0;if(!l){break k}v[n+24>>2]=l;A=v[n+20>>2];n=A+1|0}l=B(A,24)+l|0;v[l+16>>2]=q+4;m=(m-q|0)-4|0;v[l+8>>2]=m;v[l+12>>2]=m>>31;u[l>>1]=p;l=r+x|0;v[l+20>>2]=n;q:{if((p|0)!=65424){break q}n=v[l+16>>2];if(n){l=n+B(v[l+12>>2],24)|0;v[l>>2]=m;v[l+4>>2]=0}l=(v[j+56>>2]-v[o+36>>2]|0)-4|0;m=v[a+52>>2];if(l>>>0<=y[a+48>>2]&(m|0)>=0|(m|0)>0){break q}v[a+48>>2]=l;v[a+52>>2]=0}if(w[a+68|0]&4){if((ua[v[j+40>>2]](j,v[a+24>>2],0,k)|0)!=v[a+24>>2]|ta){Fa(k,1,4334,0);j=0;break a}v[o+40>>2]=65427;break l}if((Wa(j,v[a+16>>2],2,k)|0)!=2){Fa(k,1,4334,0);j=0;break a}Ia(v[a+16>>2],o+40|0,2);if(v[o+40>>2]!=65427){continue}break}}m=v[j+12>>2];n=m;l=v[j+8>>2];if(m|l){p=v[j+56>>2];m=l-p|0;l=n-(v[j+60>>2]+(l>>>0

>>0)|0)|0}else{m=0;l=0}if(!(l|m)&v[a+8>>2]==64){break h}l=w[a+68|0];if(!(l&4)){m=v[a+204>>2];n=v[a+156>>2];r:{s:{if(v[a+56>>2]){l=v[j+8>>2];if(l|v[j+12>>2]){l=l-v[j+56>>2]|0}else{l=0}break s}l=v[a+24>>2];if(l>>>0<2){break r}}l=l-2|0;v[a+24>>2]=l}m=n+B(m,5644)|0;A=m+5600|0;x=m+5596|0;if(!l){break j}n=v[j+12>>2];p=n;m=v[j+8>>2];if(n|m){q=v[j+56>>2];n=m-q|0;m=p-(v[j+60>>2]+(m>>>0>>0)|0)|0}else{n=0;m=0}if((m|0)<=0&l>>>0>n>>>0|(m|0)<0){if(v[a+184>>2]){Fa(k,1,9340,0);j=0;break a}Fa(k,2,9340,0)}m=v[a+24>>2];if(m>>>0>=4294967294){Fa(k,1,2453,0);j=0;break a}n=v[x>>2];t:{if(n){p=v[A>>2];if(p>>>0>-3-m>>>0){Fa(k,1,1853,0);j=0;break a}m=Pa(n,(m+p|0)+2|0);if(m){v[x>>2]=m;break j}Ga(v[x>>2]);v[x>>2]=0;break t}m=La(m+2|0);v[x>>2]=m;if(m){break j}}Fa(k,1,10119,0);j=0;break a}v[a+8>>2]=8;t[a+68|0]=l&250;break i}Ga(v[n+24>>2]);a=v[s+40>>2]+B(E,40)|0;v[a+28>>2]=0;v[a+20>>2]=0;v[a+24>>2]=0;Fa(k,1,6356,0);j=0;break a}E=v[a+200>>2];if(E){D=v[j+56>>2];p=D-2|0;s=v[j+60>>2];q=s-(D>>>0<2)|0;r=v[E+40>>2];H=v[a+204>>2];G=B(H,40);m=r+G|0;n=v[m+16>>2]+B(v[m+12>>2],24)|0;v[n+8>>2]=p;v[n+12>>2]=q;q=n;n=s;s=v[a+24>>2];D=s+D|0;v[q+16>>2]=D;v[q+20>>2]=s>>>0>D>>>0?n+1|0:n;s=v[a+24>>2];n=v[m+20>>2];q=n+1|0;D=v[m+28>>2];u:{if(q>>>0<=D>>>0){m=v[m+24>>2];break u}F=C(C(D>>>0)+C(100));v:{if(F=C(0)){n=~~F>>>0;break v}n=0}v[m+28>>2]=n;m=Pa(v[m+24>>2],B(n,24));r=v[E+40>>2];n=G+r|0;if(!m){break f}v[n+24>>2]=m;n=v[n+20>>2];q=n+1|0}m=B(n,24)+m|0;v[m+16>>2]=s+2;v[m+8>>2]=p;v[m+12>>2]=p>>31;u[m>>1]=65427;v[(r+G|0)+20>>2]=q}if(l){l=Wa(j,v[x>>2]+v[A>>2]|0,v[a+24>>2],k)}else{l=0}v[a+8>>2]=(l|0)==v[a+24>>2]?8:64;v[A>>2]=l+v[A>>2];l=w[a+68|0];if((l&9)!=1){break i}t[a+68|0]=l|8;if(v[j+28>>2]==98){break i}m=v[j+60>>2];q=m;l=v[j+56>>2];if((m&l)==-1){break i}s=v[a+204>>2];w:{while(1){m=0;if((Wa(j,o+70|0,2,k)|0)!=2){break w}Ia(o+70|0,o- -64|0,2);if(v[o+64>>2]!=65424){break w}n=4334;if((Wa(j,o+70|0,2,k)|0)!=2){break c}Ia(o+70|0,o+60|0,2);if(v[o+60>>2]!=10){n=9971;break c}v[o+60>>2]=8;p=Wa(j,o+70|0,8,k);if((p|0)!=v[o+60>>2]){break c}if((p|0)!=8){n=6578;break c}Ia(o+70|0,o+56|0,2);Ia(M,o+52|0,4);Ia(L,o+48|0,1);Ia(K,o+44|0,1);if((s|0)!=v[o+56>>2]){n=v[o+52>>2];if(n>>>0<14){break w}n=n-12|0;v[o+52>>2]=n;n=ua[v[j+40>>2]](j,n,0,k)|0;if(!ta&v[o+52>>2]==(n|0)){continue}break w}break}m=v[o+48>>2]==v[o+44>>2]}if(!(ua[v[j+44>>2]](j,l,q,k)|0)){break b}if(!m){break i}t[a+68|0]=w[a+68|0]&238|16;x:{if(!z){break x}n=v[a+156>>2];l=0;m=0;if((z|0)!=1){while(1){p=n+B(l,5644)|0;q=v[p+5592>>2];if(q){v[p+5592>>2]=q+1}p=n+B(l|1,5644)|0;q=v[p+5592>>2];if(q){v[p+5592>>2]=q+1}l=l+2|0;m=m+2|0;if((I|0)!=(m|0)){continue}break}}if(!J){break x}l=n+B(l,5644)|0;m=v[l+5592>>2];if(!m){break x}v[l+5592>>2]=m+1}Fa(k,2,19302,0)}if(t[a+68|0]&1){break h}if((Wa(j,v[a+16>>2],2,k)|0)!=2){if(!(!z|(z|0)!=(v[a+204>>2]+1|0))){j=v[a+156>>2];l=0;while(1){m=j+B(l,5644)|0;if(!(v[m+5588>>2]|v[m+5592>>2])){break e}l=l+1|0;if((z|0)!=(l|0)){continue}break}}Fa(k,1,4334,0);j=0;break a}Ia(v[a+16>>2],o+40|0,2);l=v[o+40>>2];if(t[a+68|0]&1){break g}if((l|0)!=65497){continue}break g}break}l=v[o+40>>2]}if(v[a+8>>2]==256|(l|0)!=65497){break d}v[a+8>>2]=256;v[a+204>>2]=0;break d}Ga(v[n+24>>2]);a=v[E+40>>2]+B(H,40)|0;v[a+28>>2]=0;v[a+20>>2]=0;v[a+24>>2]=0;Fa(k,1,6356,0);j=0;break a}v[o+16>>2]=l;Fa(k,4,21619,o+16|0);v[a+204>>2]=l;v[o+40>>2]=65497;v[a+8>>2]=256}p=v[a+156>>2];l=v[a+204>>2];y:{z:{if(t[a+68|0]&1){break z}A:{B:{if(l>>>0>=z>>>0){break B}j=p+B(l,5644)|0;while(1){if(v[j+5596>>2]){break B}l=l+1|0;v[a+204>>2]=l;j=j+5644|0;if((l|0)!=(z|0)){continue}break}break A}if((l|0)!=(z|0)){break z}}v[i>>2]=0;break y}C:{D:{j=p+B(l,5644)|0;if(v[j+5172>>2]){a=16430}else{if(!(w[j+5640|0]&2)){break C}s=j+5172|0;A=p+B(l,5644)|0;z=v[A+5160>>2];E:{if(!z){n=0;break E}m=v[A+5164>>2];q=0;n=0;j=0;if(z>>>0>=4){E=z&-4;r=0;while(1){x=j<<3;n=v[(m+(x|24)|0)+4>>2]+(v[(m+(x|16)|0)+4>>2]+(v[(m+(x|8)|0)+4>>2]+(v[(m+x|0)+4>>2]+n|0)|0)|0)|0;j=j+4|0;r=r+4|0;if((E|0)!=(r|0)){continue}break}}r=z&3;if(!r){break E}while(1){n=v[(m+(j<<3)|0)+4>>2]+n|0;j=j+1|0;q=q+1|0;if((r|0)!=(q|0)){continue}break}}j=La(n);v[s>>2]=j;if(j){break D}a=6540}Fa(k,1,a,0);Fa(k,1,18057,0);j=0;break a}p=p+B(l,5644)|0;v[p+5180>>2]=n;q=p+5164|0;n=v[p+5164>>2];r=A+5160|0;j=v[r>>2];if(j){m=0;l=0;while(1){z=l<<3;x=z+n|0;A=v[x>>2];if(A){Ja(v[s>>2]+m|0,A,v[x+4>>2]);j=z+v[q>>2]|0;x=v[j+4>>2];Ga(v[j>>2]);n=v[q>>2];j=z+n|0;v[j>>2]=0;v[j+4>>2]=0;m=m+x|0;j=v[r>>2]}l=l+1|0;if(l>>>0>>0){continue}break}}v[r>>2]=0;Ga(n);v[q>>2]=0;v[p+5168>>2]=v[s>>2];v[p+5176>>2]=v[p+5180>>2]}if(!dd(v[a+208>>2],v[a+204>>2],0,64,k)){Fa(k,1,6161,0);j=0;break a}j=v[a+204>>2];v[o+4>>2]=B(v[a+104>>2],v[a+108>>2]);v[o>>2]=j+1;Fa(k,4,22944,o);v[b>>2]=v[a+204>>2];v[i>>2]=1;if(c){b=cd(v[a+208>>2],0);v[c>>2]=b;j=0;if((b|0)==-1){break a}}b=v[v[v[a+208>>2]+20>>2]>>2];v[d>>2]=v[b>>2];v[e>>2]=v[b+4>>2];v[f>>2]=v[b+8>>2];v[g>>2]=v[b+12>>2];v[h>>2]=v[b+16>>2];v[a+8>>2]=v[a+8>>2]|128}j=1;break a}Fa(k,1,n,0)}Fa(k,1,6195,0);j=0}qa=o+80|0;return j|0}function Vc(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;s=v[a>>2];a:{if(s>>>0>>0|b>>>0>=d>>>0|(b>>>0>=s>>>0|c>>>0>=e>>>0)){break a}s=v[a+4>>2];if(s>>>0<=c>>>0|e>>>0>s>>>0){break a}G=(c>>>0)/y[a+12>>2]|0;r=v[a+8>>2];H=(b>>>0)/(r>>>0)|0;D=c;while(1){s=v[a+12>>2];j=s;j=(c|0)==(D|0)?j-((c>>>0)%(j>>>0)|0)|0:j;A=e-D|0;q=j>>>0>>0?j:A;E=q&-4;w=q&3;K=q&-8;I=q&7;C=q-1|0;L=(g|0)==2&(q|0)==1;J=B(s-j|0,r);F=(B(D-c|0,h)<<2)+f|0;A=H;s=b;while(1){j=(b|0)==(s|0)?(B(r,H)-b|0)+r|0:r;k=d-s|0;p=j>>>0>>0?j:k;k=r-j|0;j=v[v[a+24>>2]+(B(v[a+16>>2],G)+A<<2)>>2];b:{c:{if(i){d:{e:{f:{g:{if(j){k=((J<<2)+j|0)+(k<<2)|0;j=s-b|0;if((g|0)==1){break d}l=(B(g,j)<<2)+F|0;if((p|0)==1){break e}if(L){break f}if((g|0)!=8|p>>>0<=7){break g}if(!q){break b}o=p&-4;n=0;while(1){j=0;if(o){while(1){v[(j<<5)+l>>2]=v[(j<<2)+k>>2];m=j|1;v[(m<<5)+l>>2]=v[(m<<2)+k>>2];m=j|2;v[(m<<5)+l>>2]=v[(m<<2)+k>>2];m=j|3;v[(m<<5)+l>>2]=v[(m<<2)+k>>2];j=j+4|0;if(o>>>0>j>>>0){continue}break}}h:{if(j>>>0>=p>>>0){break h}u=(j^-1)+p|0;m=0;x=p-j&3;if(x){while(1){v[(j<<5)+l>>2]=v[(j<<2)+k>>2];j=j+1|0;m=m+1|0;if((x|0)!=(m|0)){continue}break}}if(u>>>0<3){break h}while(1){v[(j<<5)+l>>2]=v[(j<<2)+k>>2];m=j+1|0;v[(m<<5)+l>>2]=v[(m<<2)+k>>2];m=j+2|0;v[(m<<5)+l>>2]=v[(m<<2)+k>>2];m=j+3|0;v[(m<<5)+l>>2]=v[(m<<2)+k>>2];j=j+4|0;if((p|0)!=(j|0)){continue}break}}k=(r<<2)+k|0;l=(h<<2)+l|0;n=n+1|0;if((q|0)!=(n|0)){continue}break}break b}if((g|0)!=1){if(!q){break b}u=p&-4;o=p&3;k=(B(s-b|0,g)<<2)+F|0;n=0;while(1){i:{if(!p){break i}l=0;j=0;m=0;if(p>>>0>=4){while(1){v[(B(g,j)<<2)+k>>2]=0;v[(B(j|1,g)<<2)+k>>2]=0;v[(B(j|2,g)<<2)+k>>2]=0;v[(B(j|3,g)<<2)+k>>2]=0;j=j+4|0;m=m+4|0;if((u|0)!=(m|0)){continue}break}}if(!o){break i}while(1){v[(B(g,j)<<2)+k>>2]=0;j=j+1|0;l=l+1|0;if((o|0)!=(l|0)){continue}break}}k=(h<<2)+k|0;n=n+1|0;if((q|0)!=(n|0)){continue}break}break b}if(!q){break b}j=p<<2;k=(s-b<<2)+F|0;l=0;if(C>>>0>=7){while(1){t=Ma(k,0,j);k=h<<2;k=Ma(Ma(Ma(Ma(Ma(Ma(Ma(t+k|0,0,j)+k|0,0,j)+k|0,0,j)+k|0,0,j)+k|0,0,j)+k|0,0,j)+k|0,0,j)+k|0;l=l+8|0;if((K|0)!=(l|0)){continue}break}}l=0;if(!I){break b}while(1){k=Ma(k,0,j)+(h<<2)|0;l=l+1|0;if((I|0)!=(l|0)){continue}break}break b}if(!q){break b}x=p&-4;u=p&3;z=p-1|0;o=0;break c}j=0;m=p&-4;if(m){while(1){v[(j<<3)+l>>2]=v[(j<<2)+k>>2];n=j|1;v[(n<<3)+l>>2]=v[(n<<2)+k>>2];n=j|2;v[(n<<3)+l>>2]=v[(n<<2)+k>>2];n=j|3;v[(n<<3)+l>>2]=v[(n<<2)+k>>2];j=j+4|0;if(m>>>0>j>>>0){continue}break}}if(j>>>0>=p>>>0){break b}n=(j^-1)+p|0;m=0;o=p-j&3;if(o){while(1){v[(j<<3)+l>>2]=v[(j<<2)+k>>2];j=j+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}if(n>>>0<3){break b}while(1){v[(j<<3)+l>>2]=v[(j<<2)+k>>2];m=j+1|0;v[(m<<3)+l>>2]=v[(m<<2)+k>>2];m=j+2|0;v[(m<<3)+l>>2]=v[(m<<2)+k>>2];m=j+3|0;v[(m<<3)+l>>2]=v[(m<<2)+k>>2];j=j+4|0;if((p|0)!=(j|0)){continue}break}break b}if(!q){break b}m=0;if(C>>>0>=3){while(1){v[l>>2]=v[k>>2];j=h<<2;l=j+l|0;t=k;k=r<<2;n=t+k|0;v[l>>2]=v[n>>2];l=j+l|0;n=k+n|0;v[l>>2]=v[n>>2];l=j+l|0;n=k+n|0;v[l>>2]=v[n>>2];k=k+n|0;l=j+l|0;m=m+4|0;if((E|0)!=(m|0)){continue}break}}j=0;if(!w){break b}while(1){v[l>>2]=v[k>>2];k=(r<<2)+k|0;l=(h<<2)+l|0;j=j+1|0;if((w|0)!=(j|0)){continue}break}break b}j=(j<<2)+F|0;if((p|0)!=4){if(!q){break b}l=p<<2;m=0;if(C>>>0>=3){while(1){o=Ja(j,k,l);j=r<<2;n=j+k|0;u=j+n|0;x=u+j|0;k=x+j|0;j=h<<2;j=Ja(Ja(Ja(j+o|0,n,l)+j|0,u,l)+j|0,x,l)+j|0;m=m+4|0;if((E|0)!=(m|0)){continue}break}}m=0;if(!w){break b}while(1){j=Ja(j,k,l);k=(r<<2)+k|0;j=j+(h<<2)|0;m=m+1|0;if((w|0)!=(m|0)){continue}break}break b}if(!q){break b}n=0;if(C>>>0>=3){while(1){l=v[k+4>>2];v[j>>2]=v[k>>2];v[j+4>>2]=l;l=v[k+12>>2];v[j+8>>2]=v[k+8>>2];v[j+12>>2]=l;m=r<<2;k=m+k|0;o=v[k+12>>2];l=h<<2;j=l+j|0;v[j+8>>2]=v[k+8>>2];v[j+12>>2]=o;o=v[k+4>>2];v[j>>2]=v[k>>2];v[j+4>>2]=o;k=k+m|0;o=v[k+12>>2];j=j+l|0;v[j+8>>2]=v[k+8>>2];v[j+12>>2]=o;o=v[k+4>>2];v[j>>2]=v[k>>2];v[j+4>>2]=o;k=k+m|0;o=v[k+12>>2];j=j+l|0;v[j+8>>2]=v[k+8>>2];v[j+12>>2]=o;o=v[k+4>>2];v[j>>2]=v[k>>2];v[j+4>>2]=o;k=k+m|0;j=j+l|0;n=n+4|0;if((E|0)!=(n|0)){continue}break}}l=0;if(!w){break b}while(1){m=v[k+4>>2];v[j>>2]=v[k>>2];v[j+4>>2]=m;m=v[k+12>>2];v[j+8>>2]=v[k+8>>2];v[j+12>>2]=m;k=(r<<2)+k|0;j=(h<<2)+j|0;l=l+1|0;if((w|0)!=(l|0)){continue}break}break b}if(!j){j=Ka(1,B(v[a+8>>2],v[a+12>>2])<<2);if(!j){return 0}v[v[a+24>>2]+(B(v[a+16>>2],G)+A<<2)>>2]=j}k=((J<<2)+j|0)+(k<<2)|0;j=s-b|0;j:{k:{l:{m:{if((g|0)!=1){l=(B(g,j)<<2)+F|0;if((p|0)==1){break m}if((g|0)!=8|p>>>0<=7){break l}if(!q){break b}o=p&-4;n=0;while(1){j=0;if(o){while(1){v[(j<<2)+k>>2]=v[(j<<5)+l>>2];m=j|1;v[(m<<2)+k>>2]=v[(m<<5)+l>>2];m=j|2;v[(m<<2)+k>>2]=v[(m<<5)+l>>2];m=j|3;v[(m<<2)+k>>2]=v[(m<<5)+l>>2];j=j+4|0;if(o>>>0>j>>>0){continue}break}}n:{if(j>>>0>=p>>>0){break n}u=(j^-1)+p|0;m=0;x=p-j&3;if(x){while(1){v[(j<<2)+k>>2]=v[(j<<5)+l>>2];j=j+1|0;m=m+1|0;if((x|0)!=(m|0)){continue}break}}if(u>>>0<3){break n}while(1){v[(j<<2)+k>>2]=v[(j<<5)+l>>2];m=j+1|0;v[(m<<2)+k>>2]=v[(m<<5)+l>>2];m=j+2|0;v[(m<<2)+k>>2]=v[(m<<5)+l>>2];m=j+3|0;v[(m<<2)+k>>2]=v[(m<<5)+l>>2];j=j+4|0;if((p|0)!=(j|0)){continue}break}}k=(r<<2)+k|0;l=(h<<2)+l|0;n=n+1|0;if((q|0)!=(n|0)){continue}break}break b}j=(j<<2)+F|0;if((p|0)==4){break k}if(!q){break b}l=p<<2;m=0;if(C>>>0>=3){while(1){k=Ja(k,j,l);t=j;j=h<<2;n=t+j|0;o=j+n|0;u=o+j|0;j=u+j|0;t=k;k=r<<2;k=Ja(Ja(Ja(t+k|0,n,l)+k|0,o,l)+k|0,u,l)+k|0;m=m+4|0;if((E|0)!=(m|0)){continue}break}}m=0;if(!w){break b}while(1){k=Ja(k,j,l);j=(h<<2)+j|0;k=k+(r<<2)|0;m=m+1|0;if((w|0)!=(m|0)){continue}break}break b}if(!q){break b}n=0;if(C>>>0>=3){while(1){v[k>>2]=v[l>>2];j=r<<2;k=j+k|0;t=l;l=h<<2;m=t+l|0;v[k>>2]=v[m>>2];k=j+k|0;m=l+m|0;v[k>>2]=v[m>>2];k=j+k|0;m=l+m|0;v[k>>2]=v[m>>2];k=j+k|0;l=l+m|0;n=n+4|0;if((E|0)!=(n|0)){continue}break}}j=0;if(!w){break b}while(1){v[k>>2]=v[l>>2];k=(r<<2)+k|0;l=(h<<2)+l|0;j=j+1|0;if((w|0)!=(j|0)){continue}break}break b}if(!q){break b}x=p&-4;u=p&3;o=0;break j}if(!q){break b}n=0;if(C>>>0>=3){while(1){l=v[j+4>>2];v[k>>2]=v[j>>2];v[k+4>>2]=l;l=v[j+12>>2];v[k+8>>2]=v[j+8>>2];v[k+12>>2]=l;m=h<<2;j=m+j|0;o=v[j+12>>2];l=r<<2;k=l+k|0;v[k+8>>2]=v[j+8>>2];v[k+12>>2]=o;o=v[j+4>>2];v[k>>2]=v[j>>2];v[k+4>>2]=o;j=j+m|0;o=v[j+12>>2];k=k+l|0;v[k+8>>2]=v[j+8>>2];v[k+12>>2]=o;o=v[j+4>>2];v[k>>2]=v[j>>2];v[k+4>>2]=o;j=j+m|0;o=v[j+12>>2];k=k+l|0;v[k+8>>2]=v[j+8>>2];v[k+12>>2]=o;o=v[j+4>>2];v[k>>2]=v[j>>2];v[k+4>>2]=o;j=j+m|0;k=k+l|0;n=n+4|0;if((E|0)!=(n|0)){continue}break}}l=0;if(!w){break b}while(1){m=v[j+4>>2];v[k>>2]=v[j>>2];v[k+4>>2]=m;m=v[j+12>>2];v[k+8>>2]=v[j+8>>2];v[k+12>>2]=m;j=(h<<2)+j|0;k=(r<<2)+k|0;l=l+1|0;if((w|0)!=(l|0)){continue}break}break b}while(1){o:{if(!p){break o}m=0;j=0;n=0;if(p>>>0>=4){while(1){v[(j<<2)+k>>2]=v[(B(g,j)<<2)+l>>2];z=j|1;v[(z<<2)+k>>2]=v[(B(g,z)<<2)+l>>2];z=j|2;v[(z<<2)+k>>2]=v[(B(g,z)<<2)+l>>2];z=j|3;v[(z<<2)+k>>2]=v[(B(g,z)<<2)+l>>2];j=j+4|0;n=n+4|0;if((x|0)!=(n|0)){continue}break}}if(!u){break o}while(1){v[(j<<2)+k>>2]=v[(B(g,j)<<2)+l>>2];j=j+1|0;m=m+1|0;if((u|0)!=(m|0)){continue}break}}k=(r<<2)+k|0;l=(h<<2)+l|0;o=o+1|0;if((o|0)!=(q|0)){continue}break}break b}while(1){p:{if(!p){break p}m=0;j=0;n=0;if(z>>>0>=3){while(1){v[(B(g,j)<<2)+l>>2]=v[(j<<2)+k>>2];t=j|1;v[(B(t,g)<<2)+l>>2]=v[(t<<2)+k>>2];t=j|2;v[(B(t,g)<<2)+l>>2]=v[(t<<2)+k>>2];t=j|3;v[(B(t,g)<<2)+l>>2]=v[(t<<2)+k>>2];j=j+4|0;n=n+4|0;if((x|0)!=(n|0)){continue}break}}if(!u){break p}while(1){v[(B(g,j)<<2)+l>>2]=v[(j<<2)+k>>2];j=j+1|0;m=m+1|0;if((u|0)!=(m|0)){continue}break}}k=(r<<2)+k|0;l=(h<<2)+l|0;o=o+1|0;if((o|0)!=(q|0)){continue}break}}A=A+1|0;s=p+s|0;if(s>>>0>>0){continue}break}G=G+1|0;D=q+D|0;if(D>>>0>>0){continue}break}}return 1}function di(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=C(0),i=C(0),j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=C(0),r=0,s=0,t=0,u=0;a:{if((c|0)==1){break a}p=Ja(b,a,c<<2);l=!d;n=p+(l<<2)|0;f=(d|0)!=0;r=(f<<2)+p|0;b=r+4|0;e=b;t=c+f|0;m=t>>>1|0;o=c-m|0;f=m-f|0;k=(f|0)>(o|0)?o:f;j=k>>>0>o>>>0?o:k;b:{if(!j){break b}e=b-4|0;z[e>>2]=C(C(z[n>>2]+z[b>>2])*C(-1.5861343145370483))+z[e>>2];e=b+8|0;f=1;if(j>>>0>4){while(1){h=z[e>>2];i=z[e+8>>2];z[e+4>>2]=C(C(h+i)*C(-1.5861343145370483))+z[e+4>>2];q=i;i=z[e+16>>2];z[e+12>>2]=C(C(q+i)*C(-1.5861343145370483))+z[e+12>>2];z[e+20>>2]=C(C(i+z[e+24>>2])*C(-1.5861343145370483))+z[e+20>>2];g=e-4|0;z[g>>2]=C(C(h+z[e-8>>2])*C(-1.5861343145370483))+z[g>>2];e=e+32|0;g=f+7|0;f=f+4|0;if(g>>>0>>0){continue}break}f=(j-5&-4)+5|0}if(f>>>0>=j>>>0){break b}g=f+1|0;if(j-f&1){f=e-4|0;z[f>>2]=C(C(z[e-8>>2]+z[e>>2])*C(-1.5861343145370483))+z[f>>2];f=g;e=e+8|0}if((g|0)==(j|0)){break b}while(1){h=z[e>>2];z[e+4>>2]=C(C(h+z[e+8>>2])*C(-1.5861343145370483))+z[e+4>>2];g=e-4|0;z[g>>2]=C(C(h+z[e-8>>2])*C(-1.5861343145370483))+z[g>>2];e=e+16|0;f=f+2|0;if((j|0)!=(f|0)){continue}break}}u=k>>>0>=o>>>0;if(!u){f=e-4|0;h=z[e-8>>2];z[f>>2]=C(C(h+h)*C(-1.5861343145370483))+z[f>>2]}e=n+4|0;f=e;g=o-l|0;s=(g|0)>(m|0)?m:g;l=m>>>0>>0?m:s;c:{if(!l){break c}f=e-4|0;z[f>>2]=C(C(z[r>>2]+z[e>>2])*C(-.05298011749982834))+z[f>>2];f=e+8|0;g=1;if(l>>>0>4){while(1){h=z[f>>2];i=z[f+8>>2];z[f+4>>2]=C(C(h+i)*C(-.05298011749982834))+z[f+4>>2];q=i;i=z[f+16>>2];z[f+12>>2]=C(C(q+i)*C(-.05298011749982834))+z[f+12>>2];z[f+20>>2]=C(C(i+z[f+24>>2])*C(-.05298011749982834))+z[f+20>>2];k=f-4|0;z[k>>2]=C(C(h+z[f-8>>2])*C(-.05298011749982834))+z[k>>2];f=f+32|0;k=g+7|0;g=g+4|0;if(l>>>0>k>>>0){continue}break}g=(l-5&-4)+5|0}if(g>>>0>=l>>>0){break c}k=g+1|0;if(l-g&1){g=f-4|0;z[g>>2]=C(C(z[f-8>>2]+z[f>>2])*C(-.05298011749982834))+z[g>>2];g=k;f=f+8|0}if((l|0)==(k|0)){break c}while(1){h=z[f>>2];z[f+4>>2]=C(C(h+z[f+8>>2])*C(-.05298011749982834))+z[f+4>>2];k=f-4|0;z[k>>2]=C(C(h+z[f-8>>2])*C(-.05298011749982834))+z[k>>2];f=f+16|0;g=g+2|0;if((l|0)!=(g|0)){continue}break}}k=m>>>0<=s>>>0;if(!k){g=f-4|0;h=z[f-8>>2];z[g>>2]=C(C(h+h)*C(-.05298011749982834))+z[g>>2]}d:{if(!j){break d}f=b-4|0;z[f>>2]=C(C(z[n>>2]+z[b>>2])*C(.8829110860824585))+z[f>>2];b=b+8|0;f=1;if(j>>>0>4){while(1){h=z[b>>2];i=z[b+8>>2];z[b+4>>2]=C(C(h+i)*C(.8829110860824585))+z[b+4>>2];q=i;i=z[b+16>>2];z[b+12>>2]=C(C(q+i)*C(.8829110860824585))+z[b+12>>2];z[b+20>>2]=C(C(i+z[b+24>>2])*C(.8829110860824585))+z[b+20>>2];g=b-4|0;z[g>>2]=C(C(h+z[b-8>>2])*C(.8829110860824585))+z[g>>2];b=b+32|0;g=f+7|0;f=f+4|0;if(g>>>0>>0){continue}break}f=(j-5&-4)+5|0}if(f>>>0>=j>>>0){break d}g=f+1|0;if(j-f&1){f=b-4|0;z[f>>2]=C(C(z[b-8>>2]+z[b>>2])*C(.8829110860824585))+z[f>>2];f=g;b=b+8|0}if((g|0)==(j|0)){break d}while(1){h=z[b>>2];z[b+4>>2]=C(C(h+z[b+8>>2])*C(.8829110860824585))+z[b+4>>2];g=b-4|0;z[g>>2]=C(C(h+z[b-8>>2])*C(.8829110860824585))+z[g>>2];b=b+16|0;f=f+2|0;if((j|0)!=(f|0)){continue}break}}if(!u){f=b-4|0;h=z[b-8>>2];z[f>>2]=C(C(h+h)*C(.8829110860824585))+z[f>>2]}e:{if(!l){break e}b=e-4|0;z[b>>2]=C(C(z[r>>2]+z[e>>2])*C(.4435068666934967))+z[b>>2];e=e+8|0;b=1;if(l>>>0>4){while(1){h=z[e>>2];i=z[e+8>>2];z[e+4>>2]=C(C(h+i)*C(.4435068666934967))+z[e+4>>2];q=i;i=z[e+16>>2];z[e+12>>2]=C(C(q+i)*C(.4435068666934967))+z[e+12>>2];z[e+20>>2]=C(C(i+z[e+24>>2])*C(.4435068666934967))+z[e+20>>2];f=e-4|0;z[f>>2]=C(C(h+z[e-8>>2])*C(.4435068666934967))+z[f>>2];e=e+32|0;f=b+7|0;b=b+4|0;if(f>>>0>>0){continue}break}b=(l-5&-4)+5|0}if(b>>>0>=l>>>0){break e}f=b+1|0;if(l-b&1){b=e-4|0;z[b>>2]=C(C(z[e-8>>2]+z[e>>2])*C(.4435068666934967))+z[b>>2];e=e+8|0;b=f}if((f|0)==(l|0)){break e}while(1){h=z[e>>2];z[e+4>>2]=C(C(h+z[e+8>>2])*C(.4435068666934967))+z[e+4>>2];f=e-4|0;z[f>>2]=C(C(h+z[e-8>>2])*C(.4435068666934967))+z[f>>2];e=e+16|0;b=b+2|0;if((l|0)!=(b|0)){continue}break}}if(!k){b=e-4|0;h=z[e-8>>2];z[b>>2]=C(C(h+h)*C(.4435068666934967))+z[b>>2]}f:{g:{h:{i:{if(d){e=0;f=m>>>0>>0?m:o;if(f>>>0<=3){b=p;break h}b=p;while(1){z[b>>2]=z[b>>2]*C(.8128930926322937);z[b+4>>2]=z[b+4>>2]*C(1.2301740646362305);z[b+8>>2]=z[b+8>>2]*C(.8128930926322937);z[b+12>>2]=z[b+12>>2]*C(1.2301740646362305);z[b+16>>2]=z[b+16>>2]*C(.8128930926322937);z[b+20>>2]=z[b+20>>2]*C(1.2301740646362305);z[b+24>>2]=z[b+24>>2]*C(.8128930926322937);z[b+28>>2]=z[b+28>>2]*C(1.2301740646362305);b=b+32|0;e=e+4|0;if(f>>>0>(e|3)>>>0){continue}break}break i}e=0;f=m>>>0>o>>>0?o:m;j:{if(f>>>0<=3){b=p;break j}b=p;while(1){z[b>>2]=z[b>>2]*C(1.2301740646362305);z[b+4>>2]=z[b+4>>2]*C(.8128930926322937);z[b+8>>2]=z[b+8>>2]*C(1.2301740646362305);z[b+12>>2]=z[b+12>>2]*C(.8128930926322937);z[b+16>>2]=z[b+16>>2]*C(1.2301740646362305);z[b+20>>2]=z[b+20>>2]*C(.8128930926322937);z[b+24>>2]=z[b+24>>2]*C(1.2301740646362305);z[b+28>>2]=z[b+28>>2]*C(.8128930926322937);b=b+32|0;e=e+4|0;if(f>>>0>(e|3)>>>0){continue}break}e=f&2147483644}if(e>>>0>>0){k=f+(e^-1)|0;j=f&3;if(j){g=0;while(1){z[b>>2]=z[b>>2]*C(1.2301740646362305);z[b+4>>2]=z[b+4>>2]*C(.8128930926322937);e=e+1|0;b=b+8|0;g=g+1|0;if((j|0)!=(g|0)){continue}break}}if(k>>>0>=3){while(1){z[b>>2]=z[b>>2]*C(1.2301740646362305);z[b+4>>2]=z[b+4>>2]*C(.8128930926322937);z[b+8>>2]=z[b+8>>2]*C(1.2301740646362305);z[b+12>>2]=z[b+12>>2]*C(.8128930926322937);z[b+16>>2]=z[b+16>>2]*C(1.2301740646362305);z[b+20>>2]=z[b+20>>2]*C(.8128930926322937);z[b+24>>2]=z[b+24>>2]*C(1.2301740646362305);z[b+28>>2]=z[b+28>>2]*C(.8128930926322937);b=b+32|0;e=e+4|0;if((f|0)!=(e|0)){continue}break}}e=f}h=C(1.2301740646362305);if(e>>>0>>0){break g}if(e>>>0>=m>>>0){break f}b=b+4|0;h=C(.8128930926322937);break g}e=f&2147483644}if(e>>>0>>0){k=f+(e^-1)|0;j=f&3;if(j){g=0;while(1){z[b>>2]=z[b>>2]*C(.8128930926322937);z[b+4>>2]=z[b+4>>2]*C(1.2301740646362305);e=e+1|0;b=b+8|0;g=g+1|0;if((j|0)!=(g|0)){continue}break}}if(k>>>0>=3){while(1){z[b>>2]=z[b>>2]*C(.8128930926322937);z[b+4>>2]=z[b+4>>2]*C(1.2301740646362305);z[b+8>>2]=z[b+8>>2]*C(.8128930926322937);z[b+12>>2]=z[b+12>>2]*C(1.2301740646362305);z[b+16>>2]=z[b+16>>2]*C(.8128930926322937);z[b+20>>2]=z[b+20>>2]*C(1.2301740646362305);z[b+24>>2]=z[b+24>>2]*C(.8128930926322937);z[b+28>>2]=z[b+28>>2]*C(1.2301740646362305);b=b+32|0;e=e+4|0;if((f|0)!=(e|0)){continue}break}}e=f}h=C(.8128930926322937);if(e>>>0>>0){break g}if(e>>>0>=o>>>0){break f}b=b+4|0;h=C(1.2301740646362305)}z[b>>2]=h*z[b>>2]}k:{if(t>>>0<2){break k}f=m&7;l:{if(m-1>>>0<7){b=a;break l}g=m&2147483640;e=0;b=a;while(1){v[b>>2]=v[n>>2];v[b+4>>2]=v[n+8>>2];v[b+8>>2]=v[n+16>>2];v[b+12>>2]=v[n+24>>2];v[b+16>>2]=v[n+32>>2];v[b+20>>2]=v[n+40>>2];v[b+24>>2]=v[n+48>>2];v[b+28>>2]=v[n+56>>2];n=n- -64|0;b=b+32|0;e=e+8|0;if((g|0)!=(e|0)){continue}break}}if(!f){break k}e=0;while(1){v[b>>2]=v[n>>2];n=n+8|0;b=b+4|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}if((o|0)<=0){break a}b=(m<<2)+a|0;e=(((d?0:-1)<<2)+p|0)+4|0;if((m^-1)+c>>>0>=7){a=o&-8;f=0;while(1){v[b>>2]=v[e>>2];v[b+4>>2]=v[e+8>>2];v[b+8>>2]=v[e+16>>2];v[b+12>>2]=v[e+24>>2];v[b+16>>2]=v[e+32>>2];v[b+20>>2]=v[e+40>>2];v[b+24>>2]=v[e+48>>2];v[b+28>>2]=v[e+56>>2];e=e- -64|0;b=b+32|0;f=f+8|0;if((a|0)!=(f|0)){continue}break}}a=o&7;if(!a){break a}f=0;while(1){v[b>>2]=v[e>>2];e=e+8|0;b=b+4|0;f=f+1|0;if((a|0)!=(f|0)){continue}break}}}function Pe(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0;h=qa-18752|0;qa=h;b=w[a+29|0];v[h+32>>2]=0;v[h+24>>2]=0;v[h+28>>2]=0;j=b>>>0>1?1:2;a:{b:{if(b){c:{i=v[h+32>>2];d=v[h+28>>2];if(b>>>0<=(i-d|0)/36>>>0){if(b){b=B(b,36)-36|0;b=(b-((b>>>0)%36|0)|0)+36|0;d=Ma(d,0,b)+b|0}v[h+28>>2]=d;break c}d:{g=d;d=v[h+24>>2];f=g-d|0;k=(f|0)/36|0;g=k+b|0;if(g>>>0<119304648){i=(i-d|0)/36|0;l=i<<1;g=i>>>0>=59652323?119304647:g>>>0>>0?l:g;if(g){if(g>>>0>=119304648){break d}e=Na(B(g,36))}b=B(b,36)-36|0;b=(b-((b>>>0)%36|0)|0)+36|0;i=Ma(B(k,36)+e|0,0,b);f=fb(i+B((f|0)/-36|0,36)|0,d,f);v[h+32>>2]=B(g,36)+e;v[h+28>>2]=b+i;v[h+24>>2]=f;if(d){Ga(d)}break c}lb();p()}pc();p()}b=w[a+29|0];if(b){break b}}e=v[h+24>>2];break a}f=x[a+26>>1];i=w[a+30|0];g=w[a+28|0];k=x[a+24>>1];e=v[h+24>>2];while(1){d=B(c,36)+e|0;v[d+32>>2]=i;v[d+28>>2]=g;v[d+24>>2]=g;v[d+12>>2]=f;v[d+8>>2]=k;v[d>>2]=1;v[d+4>>2]=1;c=c+1|0;if((b|0)!=(c|0)){continue}break}c=b}f=0;e:{f:{b=Ka(1,36);if(b){v[b+16>>2]=c;v[b+20>>2]=j;d=Ka(c,52);v[b+24>>2]=d;if(!d){break f}if(c){while(1){k=v[b+24>>2];d=k+B(f,52)|0;g=B(f,36)+e|0;v[d>>2]=v[g>>2];v[d+4>>2]=v[g+4>>2];i=v[g+8>>2];v[d+8>>2]=i;j=v[g+12>>2];v[d+12>>2]=j;v[d+16>>2]=v[g+16>>2];v[d+20>>2]=v[g+20>>2];v[d+24>>2]=v[g+24>>2];v[d+32>>2]=v[g+32>>2];if(!(!j|i>>>0<=4294967295/(j>>>0)>>>2>>>0)){e=v[b+16>>2];if(e){c=0;while(1){d=v[(v[b+24>>2]+B(c,52)|0)+44>>2];if(d){Ga(d);e=v[b+16>>2]}c=c+1|0;if(e>>>0>c>>>0){continue}break}k=v[b+24>>2]}Ga(k);break f}g=Ta(B(i,j)<<2);v[d+44>>2]=g;if(!g){c=v[b+24>>2];if(!c){break f}e=v[b+16>>2];if(e){c=0;while(1){d=v[(v[b+24>>2]+B(c,52)|0)+44>>2];if(d){Ga(d);e=v[b+16>>2]}c=c+1|0;if(e>>>0>c>>>0){continue}break}c=v[b+24>>2]}Ga(c);break f}Ma(g,0,B(v[d+8>>2],v[d+12>>2])<<2);f=f+1|0;if((f|0)!=(c|0)){continue}break}}}else{b=0}break e}c=v[b+28>>2];if(c){Ga(c)}Ga(b);b=0}g=b;v[g>>2]=v[a+68>>2];v[g+4>>2]=v[a+72>>2];c=x[a+24>>1];v[g+8>>2]=c;b=x[a+26>>1];v[g+12>>2]=b;g:{h:{e=w[a+28|0];if(e>>>0>=9){if(e>>>0>16){break g}e=v[a+4>>2];b=v[a>>2];if(!w[a+30|0]){break h}if((b|0)==(e|0)){break g}c=v[v[g+24>>2]+44>>2];while(1){v[c>>2]=u[b>>1];c=c+4|0;b=b+2|0;if((e|0)!=(b|0)){continue}break}break g}d=w[a+29|0];if((d|0)!=1){if(!d){break g}b=B(b,c);if(!b){break g}f=v[a>>2];k=b&2147483644;i=b&3;l=v[g+24>>2];c=0;n=b>>>0<4;while(1){j=v[(l+B(c,52)|0)+44>>2];b=0;e=0;if(!n){while(1){v[j+(b<<2)>>2]=w[f+(B(b,d)+c|0)|0];m=b|1;v[j+(m<<2)>>2]=w[f+(B(d,m)+c|0)|0];m=b|2;v[j+(m<<2)>>2]=w[f+(B(d,m)+c|0)|0];m=b|3;v[j+(m<<2)>>2]=w[f+(B(d,m)+c|0)|0];b=b+4|0;e=e+4|0;if((k|0)!=(e|0)){continue}break}}e=0;if(i){while(1){v[j+(b<<2)>>2]=w[f+(B(b,d)+c|0)|0];b=b+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}c=c+1|0;if((d|0)!=(c|0)){continue}break}break g}b=v[a>>2];d=v[a+4>>2];if((b|0)==(d|0)){break g}f=d+(b^-1)|0;c=v[v[g+24>>2]+44>>2];j=d-b&7;if(j){e=0;while(1){v[c>>2]=w[b|0];c=c+4|0;b=b+1|0;e=e+1|0;if((j|0)!=(e|0)){continue}break}}if(f>>>0<7){break g}while(1){v[c>>2]=w[b|0];v[c+4>>2]=w[b+1|0];v[c+8>>2]=w[b+2|0];v[c+12>>2]=w[b+3|0];v[c+16>>2]=w[b+4|0];v[c+20>>2]=w[b+5|0];v[c+24>>2]=w[b+6|0];v[c+28>>2]=w[b+7|0];c=c+32|0;b=b+8|0;if((d|0)!=(b|0)){continue}break}break g}if((b|0)==(e|0)){break g}c=v[v[g+24>>2]+44>>2];while(1){v[c>>2]=x[b>>1];c=c+4|0;b=b+2|0;if((e|0)!=(b|0)){continue}break}}c=h+40|0;if(c){c=Ma(c,0,18708);v[c+18196>>2]=-1;v[c+18200>>2]=-1;v[c+18188>>2]=1;v[c+18192>>2]=1;v[c+5612>>2]=-1;v[c+5600>>2]=64;v[c+5592>>2]=6;v[c+5596>>2]=64;v[c+4788>>2]=0;v[c+18692>>2]=0;v[c+24>>2]=0}t[h+18730|0]=t[a+29|0]>1;v[h+84>>2]=v[a+52>>2];v[h+5632>>2]=v[a+32>>2]+1;v[h+5648>>2]=w[a+36|0]^1;e=v[a+44>>2];c=v[a+40>>2];b=e-c>>2;v[h+4828>>2]=b;i:{if((c|0)==(e|0)){break i}e=b>>>0<=1?1:b;j=e&3;i=0;b=0;if(e-1>>>0>=3){k=e&-4;d=h+4832|0;e=0;while(1){f=b<<2;z[f+d>>2]=z[c+f>>2];l=f|4;z[l+d>>2]=z[c+l>>2];l=f|8;z[l+d>>2]=z[c+l>>2];f=f|12;z[f+d>>2]=z[c+f>>2];b=b+4|0;e=e+4|0;if((k|0)!=(e|0)){continue}break}}if(!j){break i}while(1){e=b<<2;z[(e+h|0)+4832>>2]=z[c+e>>2];b=b+1|0;i=i+1|0;if((j|0)!=(i|0)){continue}break}}v[h+60>>2]=1;e=Ka(1,96);c=0;j:{if(!e){break j}v[e+76>>2]=0;v[e+12>>2]=236;v[e+4>>2]=237;v[e+92>>2]=213;v[e+24>>2]=238;v[e+20>>2]=239;v[e+16>>2]=211;v[e+8>>2]=240;v[e>>2]=241;d=Ka(1,232);b=0;k:{if(!d){break k}v[d>>2]=0;t[d+188|0]=w[d+188|0]&253;c=La(1e3);v[d+52>>2]=c;l:{if(!c){break l}v[d+56>>2]=1e3;c=sb();v[d+196>>2]=c;if(!c){break l}c=sb();v[d+192>>2]=c;if(!c){break l}c=0;f=Rc();m:{if(!f){break m}b=qe();if(!mb(f,2390)){c=b;break m}f=$b(f);if((f|0)<0){break m}c=b?b<<1:64;c=(c|0)>(f|0)?f:c}c=xb(c);v[d+212>>2]=c;b=d;if(c){break k}c=xb(0);v[d+212>>2]=c;if(!c){break l}b=d;break k}Ob(d);b=0}c=b;v[e+48>>2]=c;if(c){v[e+72>>2]=106;v[e+64>>2]=106;v[e+60>>2]=0;v[e+52>>2]=0;v[e+56>>2]=0;v[e+68>>2]=106;c=e;break j}Ga(e);c=0}if(c){v[c+56>>2]=0;v[c+68>>2]=89}if(c){v[c+52>>2]=0;v[c- -64>>2]=90}n:{b=h+40|0;if(!c|!b|(v[c+76>>2]|!g)){b=0}else{b=ua[v[c+20>>2]](v[c+48>>2],b,g,c+52|0)|0}o:{if(!b){Va(8026,42,1,v[11824]);Eb(c);db(g);break o}e=v[a+4>>2]-v[a>>2]|0;b=v[a+16>>2];d=v[a+12>>2];f=b-d|0;p:{q:{if(e>>>0>f>>>0){j=e-f|0;i=v[a+20>>2];if(j>>>0<=i-b>>>0){b=Ma(b,0,j)+j|0;break q}if((e|0)<0){break n}b=i-d|0;i=b<<1;b=b>>>0>=1073741823?2147483647:e>>>0>>0?i:e;i=Na(b);Ma(i+f|0,0,j);f=fb(i,d,f);v[a+20>>2]=f+b;b=e+f|0;v[a+16>>2]=b;v[a+12>>2]=f;if(!d){break p}Ga(d);b=v[a+16>>2];break p}if(e>>>0>=f>>>0){break p}b=e+d|0}v[a+16>>2]=b}e=v[a+12>>2];v[h+12>>2]=e;v[h+8>>2]=e;v[h+16>>2]=b-e;b=qc(0);if(b){if(b){v[b+4>>2]=0;v[b>>2]=h+8}if(b){v[b+8>>2]=v[h+16>>2];v[b+12>>2]=0}if(!(!b|!(t[b+68|0]&1))){v[b+20>>2]=91}if(b){v[b+24>>2]=59}if(b){v[b+28>>2]=60}}if(v[c+76>>2]|(!c|!b)){d=0}else{d=ua[v[c>>2]](v[c+48>>2],b,g,c+52|0)|0}if(!d){Va(4974,43,1,v[11824]);break o}if(v[c+76>>2]|(!c|!b)){d=0}else{d=ua[v[c+4>>2]](v[c+48>>2],b,c+52|0)|0}if(!d){Va(10442,35,1,v[11824]);break o}if(v[c+76>>2]|(!c|!b)){c=0}else{c=ua[v[c+12>>2]](v[c+48>>2],b,c+52|0)|0}if(!c){Va(5018,41,1,v[11824]);break o}c=v[h+12>>2]-v[h+8>>2]|0;g=v[a+16>>2];b=v[a+12>>2];e=g-b|0;if(c>>>0>e>>>0){d=c-e|0;f=v[a+20>>2];if(d>>>0<=f-g>>>0){o=a,q=Ma(g,0,d)+d|0,v[o+16>>2]=q;break o}if((c|0)<0){break n}g=f-b|0;f=g<<1;g=g>>>0>=1073741823?2147483647:c>>>0>>0?f:c;f=Na(g);Ma(f+e|0,0,d);e=fb(f,b,e);v[a+20>>2]=e+g;v[a+16>>2]=c+e;v[a+12>>2]=e;if(!b){break o}Ga(b);break o}if(c>>>0>=e>>>0){break o}v[a+16>>2]=b+c}a=v[h+24>>2];if(a){v[h+28>>2]=a;Ga(a)}qa=h+18752|0;return}lb();p()}function Jf(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,u=0,x=0,y=0,z=0,A=0,C=0,E=0,F=0,G=0,H=0;n=qa-560|0;qa=n;v[n+44>>2]=0;o(+b);g=j(1)|0;j(0)|0;a:{if((g|0)<0){x=1;E=1111;b=-b;o(+b);g=j(1)|0;j(0)|0;break a}if(e&2048){x=1;E=1114;break a}x=e&1;E=x?1117:1112;F=!x}b:{if((g&2146435072)==2146435072){g=x+3|0;Za(a,32,c,g,e&-65537);Xa(a,E,x);d=f&32;Xa(a,b!=b?d?1773:2445:d?2042:2449,3);Za(a,32,c,g,e^8192);p=(c|0)<(g|0)?g:c;break b}z=n+16|0;c:{d:{e:{b=Qc(b,n+44|0);b=b+b;if(b!=0){g=v[n+44>>2];v[n+44>>2]=g-1;A=f|32;if((A|0)!=97){break e}break c}A=f|32;if((A|0)==97){break c}l=v[n+44>>2];m=(d|0)<0?6:d;break d}l=g-29|0;v[n+44>>2]=l;b=b*268435456;m=(d|0)<0?6:d}s=(n+48|0)+((l|0)>=0?288:0)|0;h=s;while(1){if(b<4294967296&b>=0){d=~~b>>>0}else{d=0}v[h>>2]=d;h=h+4|0;b=(b-+(d>>>0))*1e9;if(b!=0){continue}break}f:{if((l|0)<=0){d=l;g=h;i=s;break f}i=s;d=l;while(1){q=(d|0)>=29?29:d;g=h-4|0;g:{if(i>>>0>g>>>0){break g}d=0;while(1){k=v[g>>2];C=d;d=q&31;if((q&63)>>>0>=32){p=k<>>32-d;d=k<>>0>C>>>0?k+1|0:k,1e9,0);G=g,H=C-pi(d,ta,1e9,0)|0,v[G>>2]=H;g=g-4|0;if(i>>>0<=g>>>0){continue}break}if(!d){break g}i=i-4|0;v[i>>2]=d}while(1){g=h;if(i>>>0>>0){h=g-4|0;if(!v[h>>2]){continue}}break}d=v[n+44>>2]-q|0;v[n+44>>2]=d;h=g;if((d|0)>0){continue}break}}if((d|0)<0){y=((m+25>>>0)/9|0)+1|0;r=(A|0)==102;while(1){d=0-d|0;p=(d|0)>=9?9:d;h:{if(g>>>0<=i>>>0){h=v[i>>2];break h}q=1e9>>>p|0;k=-1<>2];v[h>>2]=C+(d>>>p|0);d=B(q,d&k);h=h+4|0;if(h>>>0>>0){continue}break}h=v[i>>2];if(!d){break h}v[g>>2]=d;g=g+4|0}d=p+v[n+44>>2]|0;v[n+44>>2]=d;i=(!h<<2)+i|0;h=r?s:i;g=g-h>>2>(y|0)?h+(y<<2)|0:g;if((d|0)<0){continue}break}}d=0;i:{if(g>>>0<=i>>>0){break i}d=B(s-i>>2,9);h=10;k=v[i>>2];if(k>>>0<10){break i}while(1){d=d+1|0;h=B(h,10);if(k>>>0>=h>>>0){continue}break}}h=(m-((A|0)!=102?d:0)|0)-((A|0)==103&(m|0)!=0)|0;if((h|0)<(B(g-s>>2,9)-9|0)){q=h+9216|0;k=(q|0)/9|0;l=((((l|0)<0?4:292)+n|0)+(k<<2)|0)-4048|0;h=10;p=q-B(k,9)|0;if((p|0)<=7){while(1){h=B(h,10);p=p+1|0;if((p|0)!=8){continue}break}}q=v[l>>2];y=(q>>>0)/(h>>>0)|0;r=q-B(h,y)|0;k=l+4|0;j:{if(!r&(k|0)==(g|0)){break j}k:{if(!(y&1)){b=9007199254740992;if(!(t[l-4|0]&1)|((h|0)!=1e9|i>>>0>=l>>>0)){break k}}b=9007199254740994}u=(g|0)==(k|0)?1:1.5;k=h>>>1|0;u=k>>>0>r>>>0?.5:(k|0)==(r|0)?u:1.5;if(!(w[E|0]!=45|F)){u=-u;b=-b}k=q-r|0;v[l>>2]=k;if(b+u==b){break j}d=h+k|0;v[l>>2]=d;if(d>>>0>=1e9){while(1){v[l>>2]=0;l=l-4|0;if(l>>>0>>0){i=i-4|0;v[i>>2]=0}d=v[l>>2]+1|0;v[l>>2]=d;if(d>>>0>999999999){continue}break}}d=B(s-i>>2,9);h=10;k=v[i>>2];if(k>>>0<10){break j}while(1){d=d+1|0;h=B(h,10);if(k>>>0>=h>>>0){continue}break}}h=l+4|0;g=g>>>0>h>>>0?h:g}while(1){k=g;q=g>>>0<=i>>>0;if(!q){g=k-4|0;if(!v[g>>2]){continue}}break}l:{if((A|0)!=103){l=e&8;break l}h=m?m:1;g=(h|0)>(d|0)&(d|0)>-5;m=(g?d^-1:-1)+h|0;f=(g?-1:-2)+f|0;l=e&8;if(l){break l}g=-9;m:{if(q){break m}l=v[k-4>>2];if(!l){break m}p=10;g=0;if((l>>>0)%10|0){break m}while(1){h=g;g=g+1|0;p=B(p,10);if(!((l>>>0)%(p>>>0)|0)){continue}break}g=h^-1}h=B(k-s>>2,9);if((f&-33)==70){l=0;g=(g+h|0)-9|0;g=(g|0)>0?g:0;m=(g|0)>(m|0)?m:g;break l}l=0;g=((d+h|0)+g|0)-9|0;g=(g|0)>0?g:0;m=(g|0)>(m|0)?m:g}p=-1;q=l|m;if(((q?2147483645:2147483646)|0)<(m|0)){break b}r=(((q|0)!=0)+m|0)+1|0;h=f&-33;n:{if((h|0)==70){if((r^2147483647)<(d|0)){break b}g=(d|0)>0?d:0;break n}g=d>>31;g=qb((g^d)-g|0,0,z);if((z-g|0)<=1){while(1){g=g-1|0;t[g|0]=48;if((z-g|0)<2){continue}break}}y=g-2|0;t[y|0]=f;t[g-1|0]=(d|0)<0?45:43;g=z-y|0;if((g|0)>(r^2147483647)){break b}}d=g+r|0;if((d|0)>(x^2147483647)){break b}r=d+x|0;Za(a,32,c,r,e);Xa(a,E,x);Za(a,48,c,r,e^65536);o:{p:{q:{if((h|0)==70){f=n+16|0;d=f|8;l=f|9;h=i>>>0>s>>>0?s:i;i=h;while(1){g=qb(v[i>>2],0,l);r:{if((h|0)!=(i|0)){if(n+16>>>0>=g>>>0){break r}while(1){g=g-1|0;t[g|0]=48;if(n+16>>>0>>0){continue}break}break r}if((g|0)!=(l|0)){break r}t[n+24|0]=48;g=d}Xa(a,g,l-g|0);i=i+4|0;if(s>>>0>=i>>>0){continue}break}if(q){Xa(a,3374,1)}if((m|0)<=0|i>>>0>=k>>>0){break q}while(1){g=qb(v[i>>2],0,l);if(g>>>0>n+16>>>0){while(1){g=g-1|0;t[g|0]=48;if(n+16>>>0>>0){continue}break}}Xa(a,g,(m|0)>=9?9:m);g=m-9|0;i=i+4|0;if(k>>>0<=i>>>0){break p}d=(m|0)>9;m=g;if(d){continue}break}break p}s:{if((m|0)<0){break s}s=i>>>0>>0?k:i+4|0;f=n+16|0;d=f|8;k=f|9;h=i;while(1){g=qb(v[h>>2],0,k);if((k|0)==(g|0)){t[n+24|0]=48;g=d}t:{if((h|0)!=(i|0)){if(n+16>>>0>=g>>>0){break t}while(1){g=g-1|0;t[g|0]=48;if(n+16>>>0>>0){continue}break}break t}Xa(a,g,1);g=g+1|0;if(!(l|m)){break t}Xa(a,3374,1)}f=k-g|0;Xa(a,g,(f|0)>(m|0)?m:f);m=m-f|0;h=h+4|0;if(s>>>0<=h>>>0){break s}if((m|0)>=0){continue}break}}Za(a,48,m+18|0,18,0);Xa(a,y,z-y|0);break o}g=m}Za(a,48,g+9|0,9,0)}Za(a,32,c,r,e^8192);p=(c|0)<(r|0)?r:c;break b}l=(f<<26>>31&9)+E|0;u:{if(d>>>0>11){break u}g=12-d|0;u=16;while(1){u=u*16;g=g-1|0;if(g){continue}break}if(w[l|0]==45){b=-(u+(-b-u));break u}b=b+u-u}g=v[n+44>>2];h=g>>31;g=qb((g^h)-h|0,0,z);if((z|0)==(g|0)){t[n+15|0]=48;g=n+15|0}s=x|2;i=f&32;h=v[n+44>>2];m=g-2|0;t[m|0]=f+15;t[g-1|0]=(h|0)<0?45:43;g=e&8;h=n+16|0;while(1){f=h;if(D(b)<2147483648){k=~~b}else{k=-2147483648}t[h|0]=i|w[k+48288|0];b=(b-+(k|0))*16;h=f+1|0;if(!(!((d|0)>0|g)&b==0|(h-(n+16|0)|0)!=1)){t[f+1|0]=46;h=f+2|0}if(b!=0){continue}break}p=-1;g=z-m|0;f=g+s|0;if((2147483645-f|0)<(d|0)){break b}v:{w:{if(!d){break w}i=h-(n+16|0)|0;if((i-2|0)>=(d|0)){break w}d=d+2|0;break v}i=h-(n+16|0)|0;d=i}f=d+f|0;Za(a,32,c,f,e);Xa(a,l,s);Za(a,48,c,f,e^65536);Xa(a,n+16|0,i);Za(a,48,d-i|0,0,0);Xa(a,m,g);Za(a,32,c,f,e^8192);p=(c|0)<(f|0)?f:c}qa=n+560|0;return p|0}function ec(a,b,c,d,e,f,g,h,i,j,k,l,m){var n=0,o=0,p=0,q=0,r=0,s=0,u=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;C=qa-16|0;qa=C;u=v[a+4>>2];P=v[u+76>>2]+B(b,5644)|0;G=v[a>>2];Q=1;Q=v[u+80>>2]?v[G+16>>2]:Q;Z=x[u>>1];_=v[P+420>>2];H=l;R=m;l=0;r=qa-32|0;qa=r;D=b;T=v[u+76>>2];U=v[(T+B(b,5644)|0)+420>>2];z=v[G+16>>2];A=La(B(z,528));a:{if(!A){break a}b:{b=La(z<<2);c:{if(!b){b=A;break c}a=sd(G,v[u+76>>2],D,R);if(a){d:{if(!z){break d}n=A;if(z>>>0>=8){m=z&-8;while(1){p=s<<2;v[p+b>>2]=n;v[(p|4)+b>>2]=n+528;v[(p|8)+b>>2]=n+1056;v[(p|12)+b>>2]=n+1584;v[(p|16)+b>>2]=n+2112;v[(p|20)+b>>2]=n+2640;v[(p|24)+b>>2]=n+3168;v[(p|28)+b>>2]=n+3696;s=s+8|0;n=n+4224|0;q=q+8|0;if((m|0)!=(q|0)){continue}break}}m=z&7;if(!m){break d}while(1){v[(s<<2)+b>>2]=n;s=s+1|0;n=n+528|0;o=o+1|0;if((m|0)!=(o|0)){continue}break}}S=U+1|0;gc(G,u,D,r+20|0,r+16|0,r+12|0,r+8|0,r+4|0,r,r+24|0,r+28|0,b);Y=v[r+28>>2];I=v[r+24>>2];t[a|0]=t[u+100|0]&1;V=B(z,I);W=B(V,Y);m=B(W,v[(B(D,5644)+T|0)+8>>2]);v[a+8>>2]=m;m=Ka(m,2);v[a+4>>2]=m;if(!m){Ga(A);Ga(b);b=v[a+4>>2];if(b){Ga(b);v[a+4>>2]=0}if(!S){b=a;break c}p=0;q=a;while(1){n=v[q+200>>2];if(n){o=0;s=v[q+196>>2];if(s){while(1){b=v[n+12>>2];if(b){Ga(b);v[n+12>>2]=0;s=v[q+196>>2]}n=n+16|0;o=o+1|0;if(s>>>0>o>>>0){continue}break}n=v[q+200>>2]}Ga(n);v[q+200>>2]=0}q=q+240|0;b=(p|0)==(U|0);p=p+1|0;if(!b){continue}break}b=a;break c}m=v[G+24>>2];J=v[r+20>>2];v[a+204>>2]=J;K=v[r+12>>2];v[a+208>>2]=K;L=v[r+16>>2];v[a+212>>2]=L;M=v[r+8>>2];v[a+216>>2]=M;N=v[r+4>>2];v[a+228>>2]=N;O=v[r>>2];v[a+232>>2]=O;v[a+12>>2]=W;v[a+16>>2]=V;v[a+20>>2]=I;v[a+24>>2]=1;if(z){q=v[a+200>>2];p=m;while(1){n=v[(F<<2)+b>>2];v[q>>2]=v[p>>2];v[q+4>>2]=v[p+4>>2];E=v[q+8>>2];e:{if(!E){break e}o=v[q+12>>2];if((E|0)!=1){l=E&-2;s=0;while(1){v[o>>2]=v[n>>2];v[o+4>>2]=v[n+4>>2];v[o+8>>2]=v[n+8>>2];v[o+12>>2]=v[n+12>>2];v[o+16>>2]=v[n+16>>2];v[o+20>>2]=v[n+20>>2];v[o+24>>2]=v[n+24>>2];v[o+28>>2]=v[n+28>>2];o=o+32|0;n=n+32|0;s=s+2|0;if((l|0)!=(s|0)){continue}break}}if(!(E&1)){break e}v[o>>2]=v[n>>2];v[o+4>>2]=v[n+4>>2];v[o+8>>2]=v[n+8>>2];v[o+12>>2]=v[n+12>>2]}p=p+52|0;q=q+16|0;F=F+1|0;if((F|0)!=(z|0)){continue}break}}X=1;if(S>>>0>1){l=a;while(1){v[l+472>>2]=O;v[l+468>>2]=N;v[l+456>>2]=M;v[l+452>>2]=L;v[l+448>>2]=K;v[l+444>>2]=J;v[l+264>>2]=1;v[l+260>>2]=I;v[l+256>>2]=V;v[l+252>>2]=W;if(z){q=v[l+440>>2];F=0;p=m;while(1){n=v[(F<<2)+b>>2];v[q>>2]=v[p>>2];v[q+4>>2]=v[p+4>>2];E=v[q+8>>2];f:{if(!E){break f}o=v[q+12>>2];if((E|0)!=1){S=E&-2;s=0;while(1){v[o>>2]=v[n>>2];v[o+4>>2]=v[n+4>>2];v[o+8>>2]=v[n+8>>2];v[o+12>>2]=v[n+12>>2];v[o+16>>2]=v[n+16>>2];v[o+20>>2]=v[n+20>>2];v[o+24>>2]=v[n+24>>2];v[o+28>>2]=v[n+28>>2];o=o+32|0;n=n+32|0;s=s+2|0;if((S|0)!=(s|0)){continue}break}}if(!(E&1)){break f}v[o>>2]=v[n>>2];v[o+4>>2]=v[n+4>>2];v[o+8>>2]=v[n+8>>2];v[o+12>>2]=v[n+12>>2]}p=p+52|0;q=q+16|0;F=F+1|0;if((F|0)!=(z|0)){continue}break}}p=v[l+8>>2];v[l+244>>2]=v[l+4>>2];v[l+248>>2]=p;p=(U|0)!=(X|0);l=l+240|0;X=X+1|0;if(p){continue}break}}Ga(A);Ga(b);l=B(D,5644);if(!(w[(l+T|0)+5640|0]&4)){break b}b=x[u>>1];g:{if(b>>>0>=3){if((H|0)==1|b>>>0<7){break g}break b}if((H|0)!=1){break b}}m=v[u+76>>2]+B(D,5644)|0;b=v[m+428>>2];v[m+496>>2]=v[m+424>>2];v[m+500>>2]=b;v[m+492>>2]=0;v[m+544>>2]=O;v[m+540>>2]=N;v[m+536>>2]=M;v[m+532>>2]=K;v[m+528>>2]=L;v[m+524>>2]=J;v[m+520>>2]=I;v[m+504>>2]=0;v[m+516>>2]=v[m+440>>2];b=v[m+436>>2];v[m+508>>2]=v[m+432>>2];v[m+512>>2]=b;v[m+460>>2]=v[m+456>>2];l=v[m+420>>2];if(l-1>>>0>4294967293){l=a;break a}n=m+424|0;o=1;while(1){b=v[n+152>>2];v[n+220>>2]=v[n+148>>2];v[n+224>>2]=b;v[n+228>>2]=0;v[n+268>>2]=O;v[n+264>>2]=N;v[n+260>>2]=M;v[n+256>>2]=K;v[n+252>>2]=L;v[n+248>>2]=J;v[n+244>>2]=I;b=v[n+164>>2];v[n+236>>2]=v[n+160>>2];v[n+240>>2]=b;b=v[n+156>>2];v[n+232>>2]=b;v[n+184>>2]=v[n+180>>2];v[n+216>>2]=b>>>0>y[n+84>>2]?b:0;n=n+148|0;b=(l|0)==(o|0);o=o+1|0;if(!b){continue}break}l=a;break a}Ga(A)}Ga(b);break a}b=v[u+76>>2];A=v[(b+l|0)+420>>2];if((A|0)==-1){l=a;break a}b=b+B(D,5644)|0;n=b+424|0;m=v[b+4>>2];l=v[b+8>>2];o=0;while(1){v[n+92>>2]=z;v[n+76>>2]=0;v[n+80>>2]=0;v[n+88>>2]=Y;v[n+84>>2]=l;v[n+68>>2]=0;v[n+72>>2]=0;v[n+120>>2]=O;v[n+116>>2]=N;v[n+112>>2]=M;v[n+108>>2]=K;v[n+104>>2]=L;v[n+100>>2]=J;v[n+96>>2]=I;v[n+36>>2]=m;n=n+148|0;b=(o|0)==(A|0);o=o+1|0;if(!b){continue}break}l=a}qa=r+32|0;b=l;h:{if(!b){a=0;break h}p=_+1|0;a=0;v[f>>2]=0;i:{j:{if(!H){if(!Q){break j}A=(Z|0)==4?2:1;k=0;while(1){m=1;i=0;l=0;h=b;k:{while(1){a=0;qd(b,u,D,l,k,j,0);if(v[h+84>>2]==-1){break i}l:{if(pb(h)){while(1){if(y[h+40>>2]>>0){v[C+12>>2]=0;if(!dc(c,P,h,e,C+12|0,g,0,R)){break l}a=v[C+12>>2];v[f>>2]=a+v[f>>2];g=g-a|0;i=a+i|0;e=a+e|0}if(pb(h)){continue}break}}a=v[u+80>>2];if(a>>>0>>0?a:0){break l}h=h+240|0;l=l+1|0;m=A>>>0>l>>>0;if((l|0)!=(A|0)){continue}break k}break}Db(b,p);if(!m){break k}a=0;break h}a=1;k=k+1|0;if((Q|0)!=(k|0)){continue}break}break i}qd(b,u,D,k,i,j,H);j=b+B(k,240)|0;if(v[j+84>>2]==-1){break i}if(!(!h|!v[h>>2])){i=La(rd(G,u,D)<<2);v[h+8>>2]=i;if(!i){break i}}if(!pb(j)){break j}i=b+B(k,240)|0;if(!h){while(1){if(y[i+40>>2]>>0){a=0;v[C+12>>2]=0;if(!dc(c,P,j,e,C+12|0,g,H,R)){break i}a=v[C+12>>2];v[f>>2]=a+v[f>>2];v[c+840>>2]=v[c+840>>2]+1;g=g-a|0;e=a+e|0}a=1;if(pb(j)){continue}break i}}while(1){if(y[i+40>>2]>>0){a=0;v[C+12>>2]=0;if(!dc(c,P,j,e,C+12|0,g,H,R)){break i}a=v[C+12>>2];v[f>>2]=a+v[f>>2];if(v[h>>2]){v[v[h+8>>2]+(v[h+4>>2]<<2)>>2]=a;v[h+4>>2]=v[h+4>>2]+1}g=g-a|0;v[c+840>>2]=v[c+840>>2]+1;e=a+e|0}if(pb(j)){continue}break}}a=1}Db(b,p)}qa=C+16|0;return a}function Oc(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,x=0,y=0,z=0,C=0,D=0,E=0,F=0,G=0;j=qa-80|0;qa=j;v[j+76>>2]=b;E=j+55|0;x=j+56|0;a:{b:{c:{d:{e:while(1){k=b;if((q^2147483647)<(h|0)){break d}q=h+q|0;f:{g:{h:{h=k;i=w[h|0];if(i){while(1){i:{b=i&255;j:{if(!b){b=h;break j}if((b|0)!=37){break i}i=h;while(1){if(w[i+1|0]!=37){b=i;break j}h=h+1|0;m=w[i+2|0];b=i+2|0;i=b;if((m|0)==37){continue}break}}h=h-k|0;D=q^2147483647;if((h|0)>(D|0)){break d}if(a){Xa(a,k,h)}if(h){continue e}v[j+76>>2]=b;h=b+1|0;r=-1;if(!(w[b+2|0]!=36|t[b+1|0]-48>>>0>=10)){r=t[b+1|0]-48|0;y=1;h=b+3|0}v[j+76>>2]=h;o=0;i=t[h|0];b=i-32|0;k:{if(b>>>0>31){n=h;break k}n=h;b=1<>2]=n;o=b|o;i=t[h+1|0];b=i-32|0;if(b>>>0>=32){break k}h=n;b=1<>>0>=10)){v[((t[n+1|0]<<2)+e|0)-192>>2]=10;i=n+3|0;y=1;b=v[((t[n+1|0]<<3)+d|0)-384>>2];break m}if(y){break h}i=n+1|0;if(!a){v[j+76>>2]=i;y=0;s=0;break l}b=v[c>>2];v[c>>2]=b+4;y=0;b=v[b>>2]}v[j+76>>2]=i;s=b;if((b|0)>=0){break l}s=0-s|0;o=o|8192;break l}s=Nc(j+76|0);if((s|0)<0){break d}i=v[j+76>>2]}h=0;l=-1;n:{if(w[i|0]!=46){b=i;C=0;break n}if(w[i+1|0]==42){o:{if(!(w[i+3|0]!=36|t[i+2|0]-48>>>0>=10)){v[((t[i+2|0]<<2)+e|0)-192>>2]=10;b=i+4|0;l=v[((t[i+2|0]<<3)+d|0)-384>>2];break o}if(y){break h}b=i+2|0;l=0;if(!a){break o}i=v[c>>2];v[c>>2]=i+4;l=v[i>>2]}v[j+76>>2]=b;C=(l^-1)>>>31|0;break n}v[j+76>>2]=i+1;l=Nc(j+76|0);b=v[j+76>>2];C=1}while(1){p=h;n=28;m=b;h=t[b|0];if(h-123>>>0<4294967238){break c}b=m+1|0;h=w[(h+B(p,58)|0)+47759|0];if(h-1>>>0<8){continue}break}v[j+76>>2]=b;p:{q:{if((h|0)!=27){if(!h){break c}if((r|0)>=0){v[(r<<2)+e>>2]=h;i=(r<<3)+d|0;h=v[i+4>>2];v[j+64>>2]=v[i>>2];v[j+68>>2]=h;break q}if(!a){break f}Mc(j- -64|0,h,c,g);break p}if((r|0)>=0){break c}}h=0;if(!a){continue e}}i=o&-65537;o=o&8192?i:o;r=0;z=1101;n=x;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{h=t[m|0];h=p?(h&15)==3?h&-33:h:h;switch(h-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break g;default:break G}}H:{switch(h-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break g;default:break H}}if((h|0)==83){break w}break g}i=v[j+64>>2];m=v[j+68>>2];z=1101;break z}h=0;I:{switch(p&255){case 0:v[v[j+64>>2]>>2]=q;continue e;case 1:v[v[j+64>>2]>>2]=q;continue e;case 2:k=v[j+64>>2];v[k>>2]=q;v[k+4>>2]=q>>31;continue e;case 3:u[v[j+64>>2]>>1]=q;continue e;case 4:t[v[j+64>>2]]=q;continue e;case 6:v[v[j+64>>2]>>2]=q;continue e;case 7:break I;default:continue e}}k=v[j+64>>2];v[k>>2]=q;v[k+4>>2]=q>>31;continue e}l=l>>>0<=8?8:l;o=o|8;h=120}k=x;i=v[j+64>>2];m=v[j+68>>2];if(i|m){F=h&32;while(1){k=k-1|0;t[k|0]=F|w[(i&15)+48288|0];G=!m&i>>>0>15|(m|0)!=0;p=m;m=m>>>4|0;i=(p&15)<<28|i>>>4;if(G){continue}break}}if(!(v[j+64>>2]|v[j+68>>2])|!(o&8)){break y}z=(h>>>4|0)+1101|0;r=2;break y}h=x;k=v[j+68>>2];m=k;i=v[j+64>>2];if(k|i){while(1){h=h-1|0;t[h|0]=i&7|48;p=!m&i>>>0>7|(m|0)!=0;k=m;m=k>>>3|0;i=(k&7)<<29|i>>>3;if(p){continue}break}}k=h;if(!(o&8)){break y}h=x-k|0;l=(h|0)<(l|0)?l:h+1|0;break y}i=v[j+64>>2];h=v[j+68>>2];m=h;if((h|0)<0){k=0-(m+((i|0)!=0)|0)|0;m=k;i=0-i|0;v[j+64>>2]=i;v[j+68>>2]=k;r=1;z=1101;break z}if(o&2048){r=1;z=1102;break z}r=o&1;z=r?1103:1101}k=qb(i,m,x)}if((l|0)<0?C:0){break d}o=C?o&-65537:o;h=v[j+64>>2];i=v[j+68>>2];if(!(l|(h|i)!=0)){k=x;l=0;break g}h=!(h|i)+(x-k|0)|0;l=(h|0)<(l|0)?l:h;break g}n=l>>>0>=2147483647?2147483647:l;p=n;o=(n|0)!=0;h=v[j+64>>2];k=h?h:3376;h=k;J:{K:{L:{M:{if(!(h&3)|!n){break M}while(1){if(!w[h|0]){break L}p=p-1|0;o=(p|0)!=0;h=h+1|0;if(!(h&3)){break M}if(p){continue}break}}if(!o){break K}if(!(!w[h|0]|p>>>0<4)){while(1){m=v[h>>2];if((m^-1)&m-16843009&-2139062144){break L}h=h+4|0;p=p-4|0;if(p>>>0>3){continue}break}}if(!p){break K}}while(1){if(!w[h|0]){break J}h=h+1|0;p=p-1|0;if(p){continue}break}}h=0}h=h?h-k|0:n;n=h+k|0;if((l|0)>=0){o=i;l=h;break g}o=i;l=h;if(w[n|0]){break d}break g}if(l){i=v[j+64>>2];break u}h=0;Za(a,32,s,0,o);break t}v[j+12>>2]=0;v[j+8>>2]=v[j+64>>2];i=j+8|0;v[j+64>>2]=i;l=-1}h=0;N:{while(1){k=v[i>>2];if(!k){break N}m=Lc(j+4|0,k);k=(m|0)<0;if(!(k|m>>>0>l-h>>>0)){i=i+4|0;h=h+m|0;if(l>>>0>h>>>0){continue}break N}break}if(k){break b}}n=61;if((h|0)<0){break c}Za(a,32,s,h,o);if(!h){h=0;break t}n=0;i=v[j+64>>2];while(1){k=v[i>>2];if(!k){break t}k=Lc(j+4|0,k);n=k+n|0;if(n>>>0>h>>>0){break t}Xa(a,j+4|0,k);i=i+4|0;if(h>>>0>n>>>0){continue}break}}Za(a,32,s,h,o^8192);h=(h|0)<(s|0)?s:h;continue e}if((l|0)<0?C:0){break d}n=61;h=ua[f|0](a,A[j+64>>3],s,l,o,h)|0;if((h|0)>=0){continue e}break c}t[j+55|0]=v[j+64>>2];l=1;k=E;o=i;break g}i=w[h+1|0];h=h+1|0;continue}}if(a){break a}if(!y){break f}h=1;while(1){a=v[(h<<2)+e>>2];if(a){Mc((h<<3)+d|0,a,c,g);q=1;h=h+1|0;if((h|0)!=10){continue}break a}break}q=1;if(h>>>0>=10){break a}while(1){if(v[(h<<2)+e>>2]){break h}h=h+1|0;if((h|0)!=10){continue}break}break a}n=28;break c}m=n-k|0;i=(l|0)>(m|0)?l:m;if((i|0)>(r^2147483647)){break d}n=61;l=i+r|0;h=(l|0)<(s|0)?s:l;if((D|0)<(h|0)){break c}Za(a,32,h,l,o);Xa(a,z,r);Za(a,48,h,l,o^65536);Za(a,48,i,m,0);Xa(a,k,m);Za(a,32,h,l,o^8192);continue}break}q=0;break a}n=61}v[12458]=n}q=-1}qa=j+80|0;return q}function mh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,x=0,z=0,A=0;g=qa-160|0;qa=g;a:{if(c>>>0<=35){c=0;Fa(d,1,10018,0);break a}c=c-36|0;l=(c>>>0)/3|0;if((B(l,3)|0)!=(c|0)){c=0;Fa(d,1,10018,0);break a}i=v[a+72>>2];c=g+156|0;Ia(b,c,2);u[a+80>>1]=v[g+156>>2];Ia(b+2|0,i+8|0,4);Ia(b+6|0,i+12|0,4);Ia(b+10|0,i,4);Ia(b+14|0,i+4|0,4);Ia(b+18|0,a+92|0,4);Ia(b+22|0,a+96|0,4);Ia(b+26|0,a+84|0,4);Ia(b+30|0,a+88|0,4);Ia(b+34|0,c,2);b:{c:{d:{c=v[g+156>>2];if(c>>>0<=16384){v[i+16>>2]=c;if((c|0)!=(l|0)){v[g+132>>2]=l;v[g+128>>2]=c;Fa(d,1,26503,g+128|0);c=0;break a}e:{m=v[i+8>>2];k=v[i>>2];f:{if(m>>>0<=k>>>0){h=v[i+4>>2];j=v[i+12>>2];break f}h=v[i+4>>2];j=v[i+12>>2];if(h>>>0>>0){break e}}v[g+120>>2]=j-h;v[g+124>>2]=0-(h>>>0>j>>>0);v[g+112>>2]=m-k;v[g+116>>2]=0-(k>>>0>m>>>0);Fa(d,1,26065,g+112|0);c=0;break a}c=v[a+96>>2];g:{f=v[a+92>>2];if(f){if(c){break g}c=0}v[g+4>>2]=c;v[g>>2]=f;Fa(d,1,27071,g);c=0;break a}h:{n=v[a+84>>2];i:{if(n>>>0>k>>>0){break i}o=v[a+88>>2];if(o>>>0>h>>>0){break i}p=f;f=f+n|0;if(k>>>0>=(0-(p>>>0>f>>>0?1:e)|f)>>>0){break i}f=c;c=c+o|0;if((0-(f>>>0>c>>>0?1:e)|c)>>>0>h>>>0){break h}}c=0;Fa(d,1,4743,0);break a}j:{if(v[a+224>>2]){break j}c=v[a+216>>2];if(!c){break j}e=v[a+220>>2];if(!e){break j}f=m-k|0;h=j-h|0;if((f|0)==(c|0)&(h|0)==(e|0)){break j}v[g+108>>2]=h;v[g+104>>2]=f;v[g+100>>2]=e;v[g+96>>2]=c;Fa(d,1,25343,g+96|0);c=0;break a}e=Ka(l,52);v[i+24>>2]=e;if(!e){break d}k:{if(!v[i+16>>2]){break k}c=g+152|0;Ia(b+36|0,c,1);f=v[g+152>>2];l=f>>>7|0;v[e+32>>2]=l;m=(f&127)+1|0;v[e+24>>2]=m;f=v[a+224>>2];Ia(b+37|0,c,1);v[e>>2]=v[g+152>>2];Ia(b+38|0,c,1);h=v[g+152>>2];v[e+4>>2]=h;c=0;k=v[e>>2];if(k-256>>>0<4294967041){j=0;break b}if(!h){j=0;break b}j=0;if(h>>>0>255){break b}h=v[e+24>>2];if(h>>>0>31){break c}v[e+36>>2]=0;v[e+40>>2]=v[a+160>>2];j=1;if(y[i+16>>2]<=1){break k}l=f?0:l;f=f?0:m;b=b+39|0;while(1){Ia(b,g+152|0,1);k=v[g+152>>2];h=k>>>7|0;v[e+84>>2]=h;k=(k&127)+1|0;v[e+76>>2]=k;m=b+1|0;if(!((f|0)==(k|0)&(h|0)==(l|0)|(v[a+224>>2]|w[a+188|0]&4))){v[g+84>>2]=h;v[g+80>>2]=k;v[g+76>>2]=j;v[g+72>>2]=l;v[g+68>>2]=f;v[g+64>>2]=j;Fa(d,2,26301,g- -64|0)}h=g+152|0;Ia(m,h,1);v[e+52>>2]=v[g+152>>2];Ia(b+2|0,h,1);h=v[g+152>>2];v[e+56>>2]=h;k=v[e+52>>2];if(!h|k-256>>>0<4294967041|h>>>0>=256){break b}h=v[e+76>>2];if(h>>>0>=32){break c}b=b+3|0;v[e+88>>2]=0;v[e+92>>2]=v[a+160>>2];e=e+52|0;j=j+1|0;if(j>>>0>2]){continue}break}}c=0;f=v[a+92>>2];if(!f){break a}h=v[a+96>>2];if(!h){break a}j=f-1|0;m=v[a+84>>2];e=v[i+8>>2]-m|0;k=e;b=j+e|0;n=f>>31;r=n-!f|0;e=r+(e>>31)|0;b=qi(b,b>>>0>>0?e+1|0:e,f,n);v[a+104>>2]=b;k=h-1|0;o=v[a+88>>2];e=v[i+12>>2]-o|0;p=e;l=k+e|0;q=h>>31;s=q-!h|0;e=s+(e>>31)|0;e=qi(l,l>>>0

>>0?e+1|0:e,h,q);v[a+108>>2]=e;if(!(!(!b|!e)&b>>>0<=65535/(e>>>0)>>>0)){v[g+20>>2]=e;v[g+16>>2]=b;Fa(d,1,25457,g+16|0);break a}l=B(b,e);l:{if(w[a+68|0]&2){v[a+28>>2]=(v[a+28>>2]-m>>>0)/(f>>>0);v[a+32>>2]=(v[a+32>>2]-o>>>0)/(h>>>0);b=j;e=v[a+36>>2]-m|0;j=e;b=b+e|0;e=(e>>31)+r|0;z=a,A=qi(b,b>>>0>>0?e+1|0:e,f,n),v[z+36>>2]=A;e=v[a+40>>2]-o|0;f=e;b=e+k|0;e=(e>>31)+s|0;z=a,A=qi(b,b>>>0>>0?e+1|0:e,h,q),v[z+40>>2]=A;break l}v[a+28>>2]=0;v[a+32>>2]=0;v[a+40>>2]=e;v[a+36>>2]=b}b=Ka(l,5644);v[a+156>>2]=b;if(!b){Fa(d,1,6466,0);break a}b=Ka(v[i+16>>2],1080);v[v[a+12>>2]+5584>>2]=b;if(!v[v[a+12>>2]+5584>>2]){Fa(d,1,6466,0);break a}b=Ka(10,20);v[v[a+12>>2]+5616>>2]=b;b=v[a+12>>2];if(!v[b+5616>>2]){Fa(d,1,6466,0);break a}v[b+5624>>2]=10;b=Ka(10,20);v[v[a+12>>2]+5628>>2]=b;b=v[a+12>>2];if(!v[b+5628>>2]){Fa(d,1,6466,0);break a}v[b+5636>>2]=10;e=v[i+16>>2];m:{if(!e){break m}f=v[i+24>>2];b=0;if((e|0)!=1){h=e&-2;while(1){j=f+B(b,52)|0;if(!v[j+32>>2]){v[(v[v[a+12>>2]+5584>>2]+B(b,1080)|0)+1076>>2]=1<>2]-1}j=b|1;k=f+B(j,52)|0;if(!v[k+32>>2]){v[(v[v[a+12>>2]+5584>>2]+B(j,1080)|0)+1076>>2]=1<>2]-1}b=b+2|0;c=c+2|0;if((h|0)!=(c|0)){continue}break}}if(!(e&1)){break m}c=f+B(b,52)|0;if(v[c+32>>2]){break m}v[(v[v[a+12>>2]+5584>>2]+B(b,1080)|0)+1076>>2]=1<>2]-1}if(l){b=v[a+156>>2];c=0;while(1){e=Ka(v[i+16>>2],1080);v[b+5584>>2]=e;if(!e){c=0;Fa(d,1,6466,0);break a}b=b+5644|0;c=c+1|0;if((l|0)!=(c|0)){continue}break}}v[a+8>>2]=4;b=0;t=v[i+16>>2];if(t){d=v[a+88>>2];c=v[a+96>>2];f=d+B(c,v[a+108>>2]-1|0)|0;e=0;p=c;c=c+f|0;c=0-(p>>>0>c>>>0?1:e)|c;e=v[i+12>>2];n=c>>>0>>0?c:e;f=v[a+84>>2];e=v[a+92>>2];a=f+B(e,v[a+104>>2]-1|0)|0;c=0;a=a+e|0;a=0-(a>>>0>>0?1:c)|a;c=v[i+8>>2];o=a>>>0>>0?a:c;a=v[i+4>>2];k=a>>>0>>0?d:a;a=v[i>>2];l=a>>>0>>0?f:a;a=v[i+24>>2];while(1){f=v[a+4>>2];i=f-1|0;q=0-!f|0;e=q;c=i+k|0;e=c>>>0>>0?e+1|0:e;r=ri(c,e,f,0);v[a+20>>2]=r;h=v[a>>2];m=h-1|0;p=0-!h|0;c=p;d=l+m|0;c=d>>>0>>0?c+1|0:c;s=ri(d,c,h,0);v[a+16>>2]=s;d=v[a+40>>2];e=d&31;if((d&63)>>>0>=32){c=-1<>>32-e;e=-1<>>0>i>>>0?e+1|0:e;f=ri(i,e,f,0)-r|0;e=c;c=f+j|0;e=c>>>0>>0?e+1|0:e;f=c;c=d&31;v[a+12>>2]=(d&63)>>>0>=32?e>>>c|0:((1<>>c;c=p;e=m+o|0;c=e>>>0>>0?c+1|0:c;c=ri(e,c,h,0)-s|0;e=x;c=c+j|0;e=c>>>0>>0?e+1|0:e;f=c;c=d&31;v[a+8>>2]=(d&63)>>>0>=32?e>>>c|0:((1<>>c;a=a+52|0;b=b+1|0;if((t|0)!=(b|0)){continue}break}}c=1;break a}v[g+144>>2]=c;Fa(d,1,17673,g+144|0);c=0;break a}c=0;v[i+16>>2]=0;Fa(d,1,6466,0);break a}v[g+52>>2]=h;v[g+48>>2]=j;Fa(d,1,27379,g+48|0);break a}v[g+40>>2]=h;v[g+36>>2]=k;v[g+32>>2]=j;Fa(d,1,25677,g+32|0)}qa=g+160|0;return c|0}function ei(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:{if((c|0)==1){break a}p=(d|0)!=0;q=p+c|0;n=q>>>1|0;m=c-n|0;b:{c:{if((f|0)!=8){if(!c){break b}if(!f){break c}g=7-f|0;r=((g>>>0<=7?g:0)<<2)+4|0;s=f&-4;l=f&3;t=f<<2;while(1){k=i<<3;o=B(e,i);g=0;j=0;if(f>>>0>=4){while(1){v[(g+k<<2)+b>>2]=v[(g+o<<2)+a>>2];h=g|1;v[(h+k<<2)+b>>2]=v[(h+o<<2)+a>>2];h=g|2;v[(h+k<<2)+b>>2]=v[(h+o<<2)+a>>2];h=g|3;v[(k+h<<2)+b>>2]=v[(h+o<<2)+a>>2];g=g+4|0;j=j+4|0;if((s|0)!=(j|0)){continue}break}}j=0;if(l){while(1){h=g;v[(g+k<<2)+b>>2]=v[(g+o<<2)+a>>2];g=g+1|0;j=j+1|0;if((l|0)!=(j|0)){continue}break}}if(h>>>0<=6){Ma(((i<<5)+t|0)+b|0,0,r)}i=i+1|0;if((i|0)!=(c|0)){continue}break}break b}if(!c){break b}if((c|0)!=1){o=c&-2;while(1){h=(B(e,g)<<2)+a|0;j=v[h+4>>2];i=(g<<5)+b|0;v[i>>2]=v[h>>2];v[i+4>>2]=j;j=v[h+28>>2];v[i+24>>2]=v[h+24>>2];v[i+28>>2]=j;j=v[h+20>>2];v[i+16>>2]=v[h+16>>2];v[i+20>>2]=j;j=v[h+12>>2];v[i+8>>2]=v[h+8>>2];v[i+12>>2]=j;h=g|1;i=(h<<5)+b|0;h=(B(e,h)<<2)+a|0;j=v[h+28>>2];v[i+24>>2]=v[h+24>>2];v[i+28>>2]=j;j=v[h+20>>2];v[i+16>>2]=v[h+16>>2];v[i+20>>2]=j;j=v[h+12>>2];v[i+8>>2]=v[h+8>>2];v[i+12>>2]=j;j=v[h+4>>2];v[i>>2]=v[h>>2];v[i+4>>2]=j;g=g+2|0;k=k+2|0;if((o|0)!=(k|0)){continue}break}}if(!(c&1)){break b}h=(g<<5)+b|0;g=(B(e,g)<<2)+a|0;i=v[g+4>>2];v[h>>2]=v[g>>2];v[h+4>>2]=i;i=v[g+28>>2];v[h+24>>2]=v[g+24>>2];v[h+28>>2]=i;i=v[g+20>>2];v[h+16>>2]=v[g+16>>2];v[h+20>>2]=i;i=v[g+12>>2];v[h+8>>2]=v[g+8>>2];v[h+12>>2]=i;break b}Ma(b,0,c<<5)}i=0;o=!d;h=(o<<5)+b|0;g=(((d|0)!=0)<<5)+b|0;d=g+32|0;k=n-p|0;k=(m|0)<(k|0)?m:k;Qb(h,d,m,k,C(-1.5861343145370483));j=h+32|0;l=m-o|0;l=(l|0)>(n|0)?n:l;Qb(g,j,n,l,C(-.05298011749982834));Qb(h,d,m,k,C(.8829110860824585));Qb(g,j,n,l,C(.4435068666934967));if(m){while(1){d=g+(i<<6)|0;z[d>>2]=z[d>>2]*C(1.2301740646362305);z[d+4>>2]=z[d+4>>2]*C(1.2301740646362305);z[d+8>>2]=z[d+8>>2]*C(1.2301740646362305);z[d+12>>2]=z[d+12>>2]*C(1.2301740646362305);z[d+16>>2]=z[d+16>>2]*C(1.2301740646362305);z[d+20>>2]=z[d+20>>2]*C(1.2301740646362305);z[d+24>>2]=z[d+24>>2]*C(1.2301740646362305);z[d+28>>2]=z[d+28>>2]*C(1.2301740646362305);i=i+1|0;if((m|0)!=(i|0)){continue}break}}d:{e:{if(q>>>0>=2){i=0;while(1){d=(i<<6)+h|0;z[d>>2]=z[d>>2]*C(.8128930926322937);z[d+4>>2]=z[d+4>>2]*C(.8128930926322937);z[d+8>>2]=z[d+8>>2]*C(.8128930926322937);z[d+12>>2]=z[d+12>>2]*C(.8128930926322937);z[d+16>>2]=z[d+16>>2]*C(.8128930926322937);z[d+20>>2]=z[d+20>>2]*C(.8128930926322937);z[d+24>>2]=z[d+24>>2]*C(.8128930926322937);z[d+28>>2]=z[d+28>>2]*C(.8128930926322937);i=i+1|0;if((n|0)!=(i|0)){continue}break}if((f|0)!=8){break e}d=n-1|0;f=n&3;f:{if(!f){i=n;g=a;break f}k=0;j=e<<2;i=n;g=a;while(1){l=v[h+4>>2];v[g>>2]=v[h>>2];v[g+4>>2]=l;l=v[h+28>>2];v[g+24>>2]=v[h+24>>2];v[g+28>>2]=l;l=v[h+20>>2];v[g+16>>2]=v[h+16>>2];v[g+20>>2]=l;l=v[h+12>>2];v[g+8>>2]=v[h+8>>2];v[g+12>>2]=l;h=h- -64|0;i=i-1|0;g=g+j|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if(d>>>0<3){break d}f=e<<2;while(1){d=v[h+4>>2];v[g>>2]=v[h>>2];v[g+4>>2]=d;d=v[h+28>>2];v[g+24>>2]=v[h+24>>2];v[g+28>>2]=d;d=v[h+20>>2];v[g+16>>2]=v[h+16>>2];v[g+20>>2]=d;d=v[h+12>>2];v[g+8>>2]=v[h+8>>2];v[g+12>>2]=d;d=f+g|0;g=v[h+92>>2];v[d+24>>2]=v[h+88>>2];v[d+28>>2]=g;g=v[h+84>>2];v[d+16>>2]=v[h+80>>2];v[d+20>>2]=g;g=v[h+76>>2];v[d+8>>2]=v[h+72>>2];v[d+12>>2]=g;g=v[h+68>>2];v[d>>2]=v[h+64>>2];v[d+4>>2]=g;g=v[h+156>>2];d=d+f|0;v[d+24>>2]=v[h+152>>2];v[d+28>>2]=g;g=v[h+148>>2];v[d+16>>2]=v[h+144>>2];v[d+20>>2]=g;g=v[h+140>>2];v[d+8>>2]=v[h+136>>2];v[d+12>>2]=g;g=v[h+132>>2];v[d>>2]=v[h+128>>2];v[d+4>>2]=g;g=v[h+220>>2];d=d+f|0;v[d+24>>2]=v[h+216>>2];v[d+28>>2]=g;g=v[h+212>>2];v[d+16>>2]=v[h+208>>2];v[d+20>>2]=g;g=v[h+204>>2];v[d+8>>2]=v[h+200>>2];v[d+12>>2]=g;g=v[h+196>>2];v[d>>2]=v[h+192>>2];v[d+4>>2]=g;g=d+f|0;h=h+256|0;i=i-4|0;if(i){continue}break}break d}if((f|0)==8){break d}}ie(b,a,m,n,e,o,f);break a}if(!m){break a}g=(8-(o<<3)<<2)+b|0;h=(B(e,n)<<2)+a|0;a=m&3;if(a){b=0;d=e<<2;while(1){f=v[g+4>>2];v[h>>2]=v[g>>2];v[h+4>>2]=f;f=v[g+28>>2];v[h+24>>2]=v[g+24>>2];v[h+28>>2]=f;f=v[g+20>>2];v[h+16>>2]=v[g+16>>2];v[h+20>>2]=f;f=v[g+12>>2];v[h+8>>2]=v[g+8>>2];v[h+12>>2]=f;g=g- -64|0;m=m-1|0;h=d+h|0;b=b+1|0;if((a|0)!=(b|0)){continue}break}}if((n^-1)+c>>>0<3){break a}b=e<<2;while(1){a=v[g+4>>2];v[h>>2]=v[g>>2];v[h+4>>2]=a;a=v[g+28>>2];v[h+24>>2]=v[g+24>>2];v[h+28>>2]=a;a=v[g+20>>2];v[h+16>>2]=v[g+16>>2];v[h+20>>2]=a;a=v[g+12>>2];v[h+8>>2]=v[g+8>>2];v[h+12>>2]=a;c=v[g+92>>2];a=b+h|0;v[a+24>>2]=v[g+88>>2];v[a+28>>2]=c;c=v[g+84>>2];v[a+16>>2]=v[g+80>>2];v[a+20>>2]=c;c=v[g+76>>2];v[a+8>>2]=v[g+72>>2];v[a+12>>2]=c;c=v[g+68>>2];v[a>>2]=v[g+64>>2];v[a+4>>2]=c;c=v[g+156>>2];a=a+b|0;v[a+24>>2]=v[g+152>>2];v[a+28>>2]=c;c=v[g+148>>2];v[a+16>>2]=v[g+144>>2];v[a+20>>2]=c;c=v[g+140>>2];v[a+8>>2]=v[g+136>>2];v[a+12>>2]=c;c=v[g+132>>2];v[a>>2]=v[g+128>>2];v[a+4>>2]=c;c=v[g+220>>2];a=a+b|0;v[a+24>>2]=v[g+216>>2];v[a+28>>2]=c;c=v[g+212>>2];v[a+16>>2]=v[g+208>>2];v[a+20>>2]=c;c=v[g+204>>2];v[a+8>>2]=v[g+200>>2];v[a+12>>2]=c;c=v[g+196>>2];v[a>>2]=v[g+192>>2];v[a+4>>2]=c;h=a+b|0;g=g+256|0;m=m-4|0;if(m){continue}break}}}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=C(0),g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=C(0),u=0,w=0,y=C(0),A=C(0),E=0,G=0,J=0,K=0;J=qa-16|0;qa=J;p=v[a+156>>2];m=v[a+72>>2];j=v[m+16>>2];g=v[m+24>>2];e=v[g+24>>2];h=v[g+4>>2];i=v[g>>2];g=v[b+56>>2];b=v[b+60>>2];a:{b:{n=v[a+108>>2];if(!n){n=0;break b}k=v[a+104>>2];if(!k){break b}s=C(+(g>>>0)+ +(b|0)*4294967296);q=B(n,k);d=1;l=t[a+180|0]&1?148:149;w=+(B(e,j)>>>0);y=C(B(i,h)<<3>>>0);g=0;while(1){i=g+1|0;e=0;if(d){while(1){b=e;e=b+1|0;f=C(ua[l|0](p));u=v[p+8>>2];c:{if(!u){break c}A=C(f/C(u>>>0));j=v[a+84>>2];k=v[a+92>>2];d=j+B(k,e)|0;h=v[m+8>>2];d=(d|0)<(h|0)?d:h;h=j+B(b,k)|0;b=v[m>>2];E=w*+(d-((b|0)<(h|0)?h:b)>>>0);d=v[a+88>>2];j=v[a+96>>2];h=d+B(j,i)|0;b=v[m+12>>2];k=(b|0)>(h|0)?h:b;h=d+B(g,j)|0;b=v[m+4>>2];E=E*+(k-((b|0)<(h|0)?h:b)>>>0);d=p+20|0;if((u|0)!=1){h=u&-2;b=0;while(1){f=z[d>>2];if(f>C(0)){z[d>>2]=C(E/+C(f*y))-A}f=z[d+4>>2];if(f>C(0)){z[d+4>>2]=C(E/+C(f*y))-A}d=d+8|0;b=b+2|0;if((h|0)!=(b|0)){continue}break}}if(!(u&1)){break c}f=z[d>>2];if(!(f>C(0))){break c}z[d>>2]=C(E/+C(f*y))-A}p=p+5644|0;k=v[a+104>>2];if(k>>>0>e>>>0){continue}break}n=v[a+108>>2];d=k}else{d=0}g=i;if(n>>>0>g>>>0){continue}break}g=v[a+156>>2];if(!n){n=0;break a}if(!k){break a}y=C(s/C(q>>>0));A=C(y+C(2));e=g;while(1){r=0;while(1){f=z[e+20>>2];d:{if(!(f>C(0))){break d}f=C(f-y);z[e+20>>2]=f;if(!(f>2]=1106247680}d=e+24|0;h=v[e+8>>2];e:{if(h-3>>>0>4294967293){break e}if((h|0)!=3){i=(h&-2)-4|0;l=0;while(1){b=l;f=z[d>>2];f:{if(!(f>C(0))){break f}s=C(f-y);z[d>>2]=s;f=z[d-4>>2];if(!(s>2]=f+C(20)}f=z[d+4>>2];g:{if(!(f>C(0))){break g}s=C(f-y);z[d+4>>2]=s;f=z[d>>2];if(!(s>2]=f+C(20)}l=b+2|0;d=d+8|0;if((b|0)!=(i|0)){continue}break}}if(!(h&1)){break e}f=z[d>>2];h:{if(!(f>C(0))){break h}s=C(f-y);z[d>>2]=s;f=z[d-4>>2];if(!(s>2]=f+C(20)}d=d+4|0}f=z[d>>2];i:{if(!(f>C(0))){break i}s=C(f-A);z[d>>2]=s;f=z[d-4>>2];if(!(s>2]=f+C(20)}e=e+5644|0;r=r+1|0;if((r|0)!=(k|0)){continue}break}o=o+1|0;if((o|0)!=(n|0)){continue}break}break a}g=v[a+156>>2]}r=v[m+16>>2];if(r){b=v[a+96>>2];u=b-1|0;q=0-!b|0;b=v[a+92>>2];l=b-1|0;k=0-!b|0;d=v[m+24>>2];b=0;h=0;i=0;while(1){j=h;e=i;K=v[d+24>>2];h=q;i=v[d+4>>2];m=i+u|0;h=ri(m,i>>>0>m>>>0?h+1|0:h,i,0);m=v[d>>2];o=m+l|0;i=k;G=j;j=pi(K,0,pi(h,0,ri(o,m>>>0>o>>>0?i+1|0:i,m,0),0),ta);h=G+j|0;i=ta+e|0;i=h>>>0>>0?i+1|0:i;d=d+52|0;b=b+1|0;if((r|0)!=(b|0)){continue}break}w=(+(h>>>0)+ +(i>>>0)*4294967296)*1.4*.125;j:{if(w<0x10000000000000000&w>=0){i=D(w)>=1?~~(w>0?F(H(w*2.3283064365386963e-10),4294967295):I((w-+(~~w>>>0>>>0))*2.3283064365386963e-10))>>>0:0;b=~~w>>>0;break j}i=0;b=0}h=b+500|0;if(h>>>0<500){i=i+1|0}}else{h=500;i=0}n=B(v[a+104>>2],n);if(n){l=0;d=g;b=0;if(n>>>0>=4){j=n&-4;p=0;while(1){e=v[d+5592>>2];e=b>>>0>e>>>0?b:e;b=v[d+11236>>2];e=b>>>0>>0?e:b;b=v[d+16880>>2];e=b>>>0>>0?e:b;b=v[d+22524>>2];b=b>>>0>>0?e:b;d=d+22576|0;p=p+4|0;if((j|0)!=(p|0)){continue}break}}j=n&3;if(j){while(1){e=v[d+5592>>2];b=b>>>0>e>>>0?b:e;d=d+5644|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}j=B(b,12)}else{j=0}if((x[a+80>>1]-3&65535)>>>0>=4){o=v[v[a+72>>2]+16>>2];G=o-1|0;d=12;if(!(!n|!o)){u=o&-2;q=o&1;K=o-1|0;p=0;k=0;while(1){m=v[(B(k,5644)+g|0)+5584>>2];d=0;r=0;if(K){while(1){b=5;l=5;e=m+B(d,1080)|0;if(t[e|0]&1){l=v[e+4>>2]+5|0}e=m+B(d|1,1080)|0;if(t[e|0]&1){b=v[e+4>>2]+5|0}e=l>>>0

>>0?p:l;p=b>>>0>>0?e:b;d=d+2|0;r=r+2|0;if((u|0)!=(r|0)){continue}break}}if(q){b=5;e=m+B(d,1080)|0;if(t[e|0]&1){b=v[e+4>>2]+5|0}p=b>>>0

>>0?p:b}k=k+1|0;if((n|0)!=(k|0)){continue}break}m=o&-2;u=o&1;e=0;o=0;while(1){r=v[(B(o,5644)+g|0)+5584>>2];d=0;k=0;if(K){while(1){b=5;l=5;q=r+B(d,1080)|0;if(t[q|0]&1){l=v[q+4>>2]+5|0}q=r+B(d|1,1080)|0;if(t[q|0]&1){b=v[q+4>>2]+5|0}e=e>>>0>l>>>0?e:l;e=b>>>0>>0?e:b;d=d+2|0;k=k+2|0;if((m|0)!=(k|0)){continue}break}}if(u){b=5;d=r+B(d,1080)|0;if(t[d|0]&1){b=v[d+4>>2]+5|0}e=b>>>0>>0?e:b}o=o+1|0;if((n|0)!=(o|0)){continue}break}d=(e+p|0)+12|0}j=B(d,G)+j|0}G=i+1|0;k:{l:{if(n){q=n&3;b=0;m:{if(n>>>0<4){d=0;break m}k=n&-4;d=0;l=0;while(1){e=v[g+420>>2];d=d>>>0>e>>>0?d:e;e=v[g+6064>>2];d=d>>>0>e>>>0?d:e;e=v[g+11708>>2];d=d>>>0>e>>>0?d:e;e=v[g+17352>>2];d=d>>>0>e>>>0?d:e;g=g+22576|0;l=l+4|0;if((k|0)!=(l|0)){continue}break}}if(q){while(1){e=v[g+420>>2];d=d>>>0>e>>>0?d:e;g=g+5644|0;b=b+1|0;if((q|0)!=(b|0)){continue}break}}e=(B(d,9)+j|0)+13|0;if(!v[a+60>>2]){break k}j=a+80|0;d=0;b=0;while(1){g=rd(v[a+72>>2],j,b);d=d>>>0>g>>>0?d:g;b=b+1|0;if(b>>>0>2],v[a+108>>2])>>>0){continue}break}break l}d=0;e=j+13|0;if(!v[a+60>>2]){break k}}j=a- -64|0;g=B(d,5)+e|0;e=0;b=d+16381|0;e=b>>>0<16381?1:e;b=(B(ri(b,e,16382,0),6)+g|0)+1|0;v[j>>2]=b;e=b+g|0}b=e;b=b+h|0;i=e>>>0>b>>>0?G:i;e=b;b=!i&(b|0)==-1|(i|0)!=0;g=b?-1:e;b=b?0:i;v[a+48>>2]=g;i=La(g);v[a+44>>2]=i;n:{if(!i){v[J>>2]=(b&1048575)<<12|g>>>20;Fa(c,1,16363,J);d=0;break n}d=1;if(!v[a+16>>2]){break n}b=La(B(v[a+40>>2],6));v[a+32>>2]=b;if(!b){d=0;break n}v[a+36>>2]=b}qa=J+16|0;return d|0}function Qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,w=0,x=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;w=qa-16|0;qa=w;A=B(v[a+104>>2],v[a+108>>2]);a:{if(!A){d=1;break a}C=v[a+208>>2];b:{c:{d:{while(1){e:{if(v[a+204>>2]!=(d|0)){Fa(c,1,3254,0);break e}k=v[a+108>>2];m=v[a+104>>2];D=d+1|0;v[w>>2]=D;v[w+4>>2]=B(k,m);Fa(c,4,17849,w);v[a+12>>2]=0;k=v[a+208>>2];v[k+12>>2]=v[(v[a+156>>2]+B(d,5644)|0)+5592>>2];v[a+8>>2]=0;if(!ed(k,v[a+204>>2],c)){break e}f:{f=v[a+208>>2];n=v[v[f+24>>2]+16>>2];if(!n){break f}d=0;if((A|0)==1){k=v[v[C+24>>2]+24>>2];m=v[v[v[C+20>>2]>>2]+20>>2];g=0;if(n>>>0>=4){j=n&-4;l=0;while(1){h=v[(k+B(d,52)|0)+44>>2];i=m+B(d,76)|0;v[i+40>>2]=0;v[i+36>>2]=h;h=d|1;i=v[(k+B(h,52)|0)+44>>2];h=m+B(h,76)|0;v[h+40>>2]=0;v[h+36>>2]=i;h=d|2;i=v[(k+B(h,52)|0)+44>>2];h=m+B(h,76)|0;v[h+40>>2]=0;v[h+36>>2]=i;h=d|3;i=v[(k+B(h,52)|0)+44>>2];h=m+B(h,76)|0;v[h+40>>2]=0;v[h+36>>2]=i;d=d+4|0;l=l+4|0;if((j|0)!=(l|0)){continue}break}}n=n&3;if(!n){break f}while(1){l=v[(k+B(d,52)|0)+44>>2];j=m+B(d,76)|0;v[j+40>>2]=0;v[j+36>>2]=l;d=d+1|0;g=g+1|0;if((n|0)!=(g|0)){continue}break}break f}while(1){if(fd(v[v[v[C+20>>2]>>2]+20>>2]+B(d,76)|0)){d=d+1|0;f=v[a+208>>2];if(d>>>0>2]+16>>2]){continue}break f}break}d=0;Fa(c,1,3338,0);if(e){break c}break a}g=0;d=0;k=v[f+24>>2];n=v[k+16>>2];if(n){m=v[k+24>>2];k=v[v[v[f+20>>2]>>2]+20>>2];while(1){f=d;d=v[m+24>>2];d=(d>>>3|0)+((d&7)!=0)|0;d=f+B(B(v[k+12>>2]-v[k+4>>2]|0,v[k+8>>2]-v[k>>2]|0),(d|0)==3?4:d)|0;k=k+76|0;m=m+52|0;g=g+1|0;if((n|0)!=(g|0)){continue}break}}m=d;if((A|0)!=1){g:{if(m>>>0>F>>>0){F=m;k=Pa(e,m);if(k){break g}if(e){Ga(e)}d=0;Fa(c,1,5910,0);break a}k=e;if(e){break g}d=0;break a}n=v[a+208>>2];d=v[n+24>>2];if(v[d+16>>2]){x=0;e=k;while(1){s=v[d+24>>2]+B(x,52)|0;g=v[s>>2];l=g>>31;j=g-1|0;p=v[d>>2];f=v[d+8>>2]-p|0;i=f;h=j+f|0;o=l-!g|0;f=o+(f>>31)|0;f=qi(h,h>>>0>>0?f+1|0:f,g,l);h=f;r=v[v[v[n+20>>2]>>2]+20>>2]+B(x,76)|0;q=v[r+8>>2];f=v[r>>2];i=q-f|0;z=h-i|0;G=v[s+44>>2];o=(p>>31)+o|0;j=j+p|0;o=j>>>0

>>0?o+1|0:o;p=f-qi(j,o,g,l)|0;j=v[r+4>>2];g=v[s+4>>2];l=v[d+4>>2];o=l;d=g+l|0;E=g>>31;l=E+(l>>31)|0;l=d>>>0>>0?l+1|0:l;d=(B(h,j-qi(d-1|0,l-!d|0,g,E)|0)+p<<2)+G|0;g=v[r+12>>2];l=g-j|0;h=v[s+24>>2];p=h>>>3|0;r=h&7;o=p+((r|0)!=0)|0;h=(o|0)==3;h:{i:{j:{k:{o=h?4:o;switch((r?o:h?o:p)-1|0){case 1:break i;case 0:break j;case 3:break k;default:break h}}if((g|0)==(j|0)|(f|0)==(q|0)){break h}h=i&-8;j=i&7;i=q+(f^-1)|0;g=0;while(1){f=0;if(i>>>0>=7){while(1){v[e>>2]=v[d>>2];v[e+4>>2]=v[d+4>>2];v[e+8>>2]=v[d+8>>2];v[e+12>>2]=v[d+12>>2];v[e+16>>2]=v[d+16>>2];v[e+20>>2]=v[d+20>>2];v[e+24>>2]=v[d+24>>2];v[e+28>>2]=v[d+28>>2];e=e+32|0;d=d+32|0;f=f+8|0;if((h|0)!=(f|0)){continue}break}}f=0;if(j){while(1){v[e>>2]=v[d>>2];e=e+4|0;d=d+4|0;f=f+1|0;if((j|0)!=(f|0)){continue}break}}d=(z<<2)+d|0;g=g+1|0;if((l|0)!=(g|0)){continue}break}break h}g=(g|0)==(j|0)|(f|0)==(q|0);if(v[s+32>>2]){if(g){break h}h=i&-8;j=i&7;i=q+(f^-1)|0;g=0;while(1){f=0;if(i>>>0>=7){while(1){t[e|0]=v[d>>2];t[e+1|0]=v[d+4>>2];t[e+2|0]=v[d+8>>2];t[e+3|0]=v[d+12>>2];t[e+4|0]=v[d+16>>2];t[e+5|0]=v[d+20>>2];t[e+6|0]=v[d+24>>2];t[e+7|0]=v[d+28>>2];d=d+32|0;e=e+8|0;f=f+8|0;if((h|0)!=(f|0)){continue}break}}f=0;if(j){while(1){t[e|0]=v[d>>2];d=d+4|0;e=e+1|0;f=f+1|0;if((j|0)!=(f|0)){continue}break}}d=(z<<2)+d|0;g=g+1|0;if((l|0)!=(g|0)){continue}break}break h}if(g){break h}h=i&-8;j=i&7;i=q+(f^-1)|0;g=0;while(1){f=0;if(i>>>0>=7){while(1){t[e|0]=v[d>>2];t[e+1|0]=v[d+4>>2];t[e+2|0]=v[d+8>>2];t[e+3|0]=v[d+12>>2];t[e+4|0]=v[d+16>>2];t[e+5|0]=v[d+20>>2];t[e+6|0]=v[d+24>>2];t[e+7|0]=v[d+28>>2];d=d+32|0;e=e+8|0;f=f+8|0;if((h|0)!=(f|0)){continue}break}}f=0;if(j){while(1){t[e|0]=v[d>>2];d=d+4|0;e=e+1|0;f=f+1|0;if((j|0)!=(f|0)){continue}break}}d=(z<<2)+d|0;g=g+1|0;if((l|0)!=(g|0)){continue}break}break h}g=(g|0)==(j|0)|(f|0)==(q|0);if(v[s+32>>2]){if(g){break h}h=i&-8;j=i&7;i=q+(f^-1)|0;g=0;while(1){f=0;if(i>>>0>=7){while(1){u[e>>1]=v[d>>2];u[e+2>>1]=v[d+4>>2];u[e+4>>1]=v[d+8>>2];u[e+6>>1]=v[d+12>>2];u[e+8>>1]=v[d+16>>2];u[e+10>>1]=v[d+20>>2];u[e+12>>1]=v[d+24>>2];u[e+14>>1]=v[d+28>>2];e=e+16|0;d=d+32|0;f=f+8|0;if((h|0)!=(f|0)){continue}break}}f=0;if(j){while(1){u[e>>1]=v[d>>2];e=e+2|0;d=d+4|0;f=f+1|0;if((j|0)!=(f|0)){continue}break}}d=(z<<2)+d|0;g=g+1|0;if((l|0)!=(g|0)){continue}break}break h}if(g){break h}h=i&-8;j=i&7;i=q+(f^-1)|0;g=0;while(1){f=0;if(i>>>0>=7){while(1){u[e>>1]=v[d>>2];u[e+2>>1]=v[d+4>>2];u[e+4>>1]=v[d+8>>2];u[e+6>>1]=v[d+12>>2];u[e+8>>1]=v[d+16>>2];u[e+10>>1]=v[d+20>>2];u[e+12>>1]=v[d+24>>2];u[e+14>>1]=v[d+28>>2];e=e+16|0;d=d+32|0;f=f+8|0;if((h|0)!=(f|0)){continue}break}}f=0;if(j){while(1){u[e>>1]=v[d>>2];e=e+2|0;d=d+4|0;f=f+1|0;if((j|0)!=(f|0)){continue}break}}d=(z<<2)+d|0;g=g+1|0;if((l|0)!=(g|0)){continue}break}}x=x+1|0;d=v[n+24>>2];if(x>>>0>2]){continue}break}n=v[a+208>>2]}if(!ad(n,k,m)){break b}e=k}if(!Pd(a,b,c)){break e}d=D;if((A|0)!=(d|0)){continue}break d}break}d=0;if(e){break c}break a}d=1;if(!e){break a}}Ga(e);break a}d=0;Fa(c,1,3291,0);Ga(k)}qa=w+16|0;return d|0}function jd(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,x=0,z=0,A=0,C=0,D=0,E=0;p=qa-32|0;qa=p;v[p+24>>2]=f;z=v[(B(v[d+28>>2],76)+b|0)+28>>2];s=v[d+32>>2];a:{b:{if(v[d+40>>2]){break b}q=z+B(s,152)|0;if(!v[q+24>>2]){break b}k=q+28|0;while(1){c:{if(v[k+12>>2]==v[k+4>>2]|v[k+8>>2]==v[k>>2]){break c}b=v[d+36>>2];if(b>>>0>=y[k+24>>2]/40>>>0){Fa(i,1,4787,0);break a}b=v[k+20>>2]+B(b,40)|0;Kb(v[b+32>>2]);Kb(v[b+36>>2]);o=B(v[b+20>>2],v[b+16>>2]);if(!o){break c}b=v[b+24>>2];if(o>>>0>=8){m=o&-8;j=0;while(1){v[b+40>>2]=0;v[b+44>>2]=0;v[b+488>>2]=0;v[b+492>>2]=0;v[b+424>>2]=0;v[b+428>>2]=0;v[b+360>>2]=0;v[b+364>>2]=0;v[b+296>>2]=0;v[b+300>>2]=0;v[b+232>>2]=0;v[b+236>>2]=0;v[b+168>>2]=0;v[b+172>>2]=0;v[b+104>>2]=0;v[b+108>>2]=0;b=b+512|0;j=j+8|0;if((m|0)!=(j|0)){continue}break}}j=0;o=o&7;if(!o){break c}while(1){v[b+40>>2]=0;v[b+44>>2]=0;b=b- -64|0;j=j+1|0;if((o|0)!=(j|0)){continue}break}}k=k+36|0;l=l+1|0;if(l>>>0>2]){continue}break}}o=f;d:{if(!(w[c|0]&2)){break d}if(h>>>0<=5){Fa(i,2,6788,0);break d}if(!(w[f|0]==255&w[f+1|0]==145)){Fa(i,2,6830,0);break d}o=f+6|0;v[p+24>>2]=o}m=La(20);if(!m){break a}e:{if(t[a+108|0]&1){u=a+40|0;o=v[a+40>>2];q=a+44|0;break e}if(w[c+5640|0]&2){u=c+5168|0;o=v[c+5168>>2];q=c+5180|0;break e}v[p+28>>2]=(f+h|0)-o;u=p+24|0;q=p+28|0}a=v[q>>2];v[m+12>>2]=0;v[m+16>>2]=0;v[m+8>>2]=o;v[m>>2]=o;v[m+4>>2]=a+o;if(!eb(m,1)){kd(m);a=v[m+8>>2]-v[m>>2]|0;ab(m);b=a+o|0;f:{if(!(w[c|0]&4)){break f}if(v[u>>2]+(v[q>>2]-b|0)>>>0<=1){Fa(i,2,7219,0);break f}if(!(w[b|0]==255&w[b+1|0]==146)){Fa(i,2,7261,0);break f}b=b+2|0}v[q>>2]=v[q>>2]+(v[u>>2]-b|0);v[u>>2]=b;v[e>>2]=0;v[g>>2]=v[p+24>>2]-f;C=1;break a}A=z+B(s,152)|0;if(v[A+24>>2]){a=A+28|0;while(1){b=v[d+36>>2];h=v[a+20>>2];z=a;g:{if(v[a+12>>2]==v[a+4>>2]|v[a+8>>2]==v[a>>2]){break g}s=h+B(b,40)|0;D=B(v[s+20>>2],v[s+16>>2]);if(!D){break g}k=v[s+24>>2];a=0;while(1){h:{i:{if(!v[k+40>>2]){b=Xc(m,v[s+32>>2],a,v[d+40>>2]+1|0);break i}b=eb(m,1)}if(!b){v[k+36>>2]=0;break h}if(!v[k+40>>2]){b=0;while(1){h=b;b=b+1|0;if(!Xc(m,v[s+36>>2],a,h)){continue}break}b=v[z+28>>2];v[k+32>>2]=3;v[k+24>>2]=b;v[k+28>>2]=(b-h|0)+1}b=1;j:{if(!eb(m,1)){break j}b=2;if(!eb(m,1)){break j}b=eb(m,2);if((b|0)!=3){b=b+3|0;break j}b=eb(m,5);if((b|0)!=31){b=b+6|0;break j}b=eb(m,7)+37|0}v[k+36>>2]=b;b=0;while(1){h=b;b=b+1|0;if(eb(m,1)){continue}break}v[k+32>>2]=h+v[k+32>>2];k:{h=v[k+40>>2];l:{if(!h){h=v[(v[c+5584>>2]+B(v[d+28>>2],1080)|0)+16>>2];if(!v[k+48>>2]){b=Pa(v[k>>2],240);if(!b){break k}v[k>>2]=b;Ma(b+B(v[k+48>>2],24)|0,0,240);v[k+48>>2]=10}b=v[k>>2];v[b>>2]=0;v[b+4>>2]=0;v[b+16>>2]=0;v[b+20>>2]=0;v[b+8>>2]=0;v[b+12>>2]=0;v[b+12>>2]=h&4?1:h&1?10:109;l=0;break l}b=v[k>>2];l=h-1|0;j=b+B(l,24)|0;if(v[j+4>>2]!=v[j+12>>2]){break l}j=v[(v[c+5584>>2]+B(v[d+28>>2],1080)|0)+16>>2];l=v[k+48>>2];if(l>>>0>>0){l=l+10|0;b=Pa(b,B(l,24));if(!b){break k}v[k>>2]=b;Ma(b+B(v[k+48>>2],24)|0,0,240);v[k+48>>2]=l;b=v[k>>2]}b=B(h,24)+b|0;v[b>>2]=0;v[b+4>>2]=0;v[b+16>>2]=0;v[b+20>>2]=0;v[b+8>>2]=0;v[b+12>>2]=0;l=1;m:{if(j&4){break m}l=109;if(!(j&1)){break m}l=v[b-12>>2];l=(l|0)==1?2:(l|0)==10?2:1}v[b+12>>2]=l;l=h}h=v[k+36>>2];if(w[(v[c+5584>>2]+B(v[d+28>>2],1080)|0)+16|0]&64){while(1){x=B(l,24);n=l?h:1;v[(x+v[k>>2]|0)+16>>2]=n;r=v[k+32>>2];j=0;b=h;if(n>>>0>=2){while(1){j=j+1|0;n=b>>>0>3;b=b>>>1|0;if(n){continue}break}}b=j+r|0;if(b>>>0>=33){v[p+16>>2]=b;Fa(i,1,27512,p+16|0);break k}j=eb(m,b);b=v[k>>2];n=x+b|0;v[n+20>>2]=j;h=h-v[n+16>>2]|0;if((h|0)<=0){break h}r=v[(v[c+5584>>2]+B(v[d+28>>2],1080)|0)+16>>2];j=v[k+48>>2];if(j>>>0>>0){j=j+10|0;b=Pa(b,B(j,24));if(!b){break k}v[k>>2]=b;Ma(b+B(v[k+48>>2],24)|0,0,240);v[k+48>>2]=j;b=v[k>>2]}l=l+1|0;j=B(l,24)+b|0;v[j>>2]=0;v[j+4>>2]=0;v[j+16>>2]=0;v[j+20>>2]=0;v[j+8>>2]=0;v[j+12>>2]=0;n=1;n:{if(r&4){break n}n=109;if(!(r&1)){break n}b=v[(b+x|0)+12>>2];n=(b|0)==1?2:(b|0)==10?2:1}v[j+12>>2]=n;continue}}while(1){x=B(l,24);j=x+v[k>>2]|0;b=v[j+12>>2]-v[j+4>>2]|0;b=(b|0)<(h|0)?b:h;v[j+16>>2]=b;n=v[k+32>>2];j=0;if(b>>>0>=2){while(1){j=j+1|0;r=b>>>0>3;b=b>>>1|0;if(r){continue}break}}b=j+n|0;if(b>>>0>=33){v[p>>2]=b;Fa(i,1,27512,p);break k}j=eb(m,b);b=v[k>>2];n=x+b|0;v[n+20>>2]=j;h=h-v[n+16>>2]|0;if((h|0)<=0){break h}r=v[(v[c+5584>>2]+B(v[d+28>>2],1080)|0)+16>>2];j=v[k+48>>2];if(j>>>0>>0){j=j+10|0;b=Pa(b,B(j,24));if(!b){break k}v[k>>2]=b;Ma(b+B(v[k+48>>2],24)|0,0,240);v[k+48>>2]=j;b=v[k>>2]}l=l+1|0;j=B(l,24)+b|0;v[j>>2]=0;v[j+4>>2]=0;v[j+16>>2]=0;v[j+20>>2]=0;v[j+8>>2]=0;v[j+12>>2]=0;n=1;o:{if(r&4){break o}n=109;if(!(r&1)){break o}b=v[(b+x|0)+12>>2];n=(b|0)==1?2:(b|0)==10?2:1}v[j+12>>2]=n;continue}}ab(m);break a}k=k- -64|0;a=a+1|0;if((D|0)!=(a|0)){continue}break}}a=z+36|0;E=E+1|0;if(E>>>0>2]){continue}break}}if(!kd(m)){ab(m);break a}a=v[m+8>>2]-v[m>>2]|0;ab(m);b=a+o|0;p:{if(!(w[c|0]&4)){break p}if(v[u>>2]+(v[q>>2]-b|0)>>>0<=1){Fa(i,2,7219,0);break p}if(!(w[b|0]==255&w[b+1|0]==146)){Fa(i,2,7261,0);break p}b=b+2|0}v[q>>2]=v[q>>2]+(v[u>>2]-b|0);v[u>>2]=b;C=1;v[e>>2]=1;v[g>>2]=v[p+24>>2]-f}qa=p+32|0;return C}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=C(0),m=0,n=0,o=0;i=qa-48|0;qa=i;v[a+8>>2]=1;a:{b:{c:{if((Wa(b,i+40|0,2,c)|0)!=2){break c}Ia(i+40|0,i+44|0,2);if(v[i+44>>2]!=65359){break c}v[a+8>>2]=2;e=v[b+56>>2];f=e-2|0;e=v[b+60>>2]-(e>>>0<2)|0;d=v[a+200>>2];v[d>>2]=f;v[d+4>>2]=e;v[i+16>>2]=f;v[i+20>>2]=e;Fa(c,4,24106,i+16|0);e=v[a+200>>2];j=v[e>>2];g=v[e+24>>2];f=g+1|0;d=v[e+32>>2];if(f>>>0<=d>>>0){d=v[e+28>>2];break b}l=C(C(d>>>0)+C(100));d:{if(l=C(0)){f=~~l>>>0;break d}f=0}v[e+32>>2]=f;d=Pa(v[e+28>>2],B(f,24));if(d){v[e+28>>2]=d;g=v[e+24>>2];f=g+1|0;break b}Ga(v[e+28>>2]);v[e+32>>2]=0;v[e+24>>2]=0;v[e+28>>2]=0;Fa(c,1,6392,0)}Fa(c,1,27988,0);a=0;break a}d=B(g,24)+d|0;v[d+16>>2]=2;v[d+8>>2]=j;v[d+12>>2]=j>>31;u[d>>1]=65359;v[e+24>>2]=f;if((Wa(b,v[a+16>>2],2,c)|0)!=2){Fa(c,1,4334,0);a=0;break a}Ia(v[a+16>>2],i+40|0,2);e:{f:{d=v[i+40>>2];if((d|0)!=65424){while(1){g=30560;if(d>>>0<=65279){v[i>>2]=d;Fa(c,1,4131,i);a=0;break a}while(1){f=g;e=v[f>>2];if(e){g=f+12|0;if((e|0)!=(d|0)){continue}}break}g:{h:{if(e){break h}j=2;Fa(c,2,6340,0);g=4334;i:{j:{if((Wa(b,v[a+16>>2],2,c)|0)!=2){break j}while(1){Ia(v[a+16>>2],i+44|0,2);e=30560;d=v[i+44>>2];if(d>>>0>=65280){while(1){f=e;k=v[e>>2];if(k){e=f+12|0;if((d|0)!=(k|0)){continue}}break}if(!(v[f+4>>2]&v[a+8>>2])){g=8880;break j}if(k){if((k|0)==65424){v[i+40>>2]=65424;break g}n=v[b+56>>2];e=v[a+200>>2];f=v[e+24>>2];d=f+1|0;g=v[e+32>>2];if(d>>>0<=g>>>0){g=v[e+28>>2];break i}l=C(C(g>>>0)+C(100));k:{if(l=C(0)){f=~~l>>>0;break k}f=0}v[e+32>>2]=f;g=Pa(v[e+28>>2],B(f,24));if(g){v[e+28>>2]=g;f=v[e+24>>2];d=f+1|0;break i}Ga(v[e+28>>2]);v[e+32>>2]=0;v[e+24>>2]=0;v[e+28>>2]=0;g=6392;break j}j=j+2|0}if((Wa(b,v[a+16>>2],2,c)|0)==2){continue}break}}Fa(c,1,g,0);Fa(c,1,20365,0);a=0;break a}f=B(f,24)+g|0;v[f+16>>2]=j;g=n-j|0;v[f+8>>2]=g;v[f+12>>2]=g>>31;u[f>>1]=0;v[e+24>>2]=d;v[i+40>>2]=k;d=30560;while(1){f=d;e=v[f>>2];if(!e){break h}d=f+12|0;if((e|0)!=(k|0)){continue}break}}if(!(v[f+4>>2]&v[a+8>>2])){Fa(c,1,8880,0);a=0;break a}if((Wa(b,v[a+16>>2],2,c)|0)!=2){Fa(c,1,4334,0);a=0;break a}Ia(v[a+16>>2],i+36|0,2);d=v[i+36>>2];if(d>>>0<=1){Fa(c,1,9997,0);a=0;break a}g=d-2|0;v[i+36>>2]=g;d=v[a+16>>2];if(y[a+20>>2]>>0){d=Pa(d,g);if(!d){Ga(v[a+16>>2]);v[a+16>>2]=0;v[a+20>>2]=0;Fa(c,1,8456,0);a=0;break a}v[a+16>>2]=d;g=v[i+36>>2];v[a+20>>2]=g}d=Wa(b,d,g,c);if((d|0)!=v[i+36>>2]){Fa(c,1,4334,0);a=0;break a}if(!(ua[v[f+8>>2]](a,v[a+16>>2],d,c)|0)){Fa(c,1,4352,0);a=0;break a}n=v[b+56>>2];k=v[i+36>>2];f=v[a+200>>2];d=v[f+24>>2];j=d+1|0;g=v[f+32>>2];l:{if(j>>>0<=g>>>0){g=v[f+28>>2];break l}l=C(C(g>>>0)+C(100));m:{if(l=C(0)){d=~~l>>>0;break m}d=0}v[f+32>>2]=d;g=Pa(v[f+28>>2],B(d,24));if(!g){break e}v[f+28>>2]=g;d=v[f+24>>2];j=d+1|0}d=B(d,24)+g|0;v[d+16>>2]=k+4;g=(n-k|0)-4|0;v[d+8>>2]=g;v[d+12>>2]=g>>31;u[d>>1]=e;v[f+24>>2]=j;if((Wa(b,v[a+16>>2],2,c)|0)!=2){Fa(c,1,4334,0);a=0;break a}o=(e|0)==65372?1:o;h=(e|0)==65362?1:h;m=(e|0)==65361?1:m;Ia(v[a+16>>2],i+40|0,2);d=v[i+40>>2];if((d|0)!=65424){continue}}break}if(m){break f}}Fa(c,1,8268,0);a=0;break a}if(!h){Fa(c,1,8314,0);a=0;break a}if(!o){Fa(c,1,8360,0);a=0;break a}e=0;j=0;m=0;k=qa-16|0;qa=k;o=1;n:{if(!(t[a+188|0]&1)){break n}o:{d=v[a+112>>2];if(!d){break o}p:{while(1){f=v[a+116>>2]+(m<<3)|0;h=v[f>>2];if(h){g=v[f+4>>2];f=e-g|0;f=e>>>0>=f>>>0?f:0;if(e>>>0>>0){d=g-e|0;g=e+h|0;while(1){if(d>>>0<4){break p}Ia(g,k+12|0,4);e=v[k+12>>2];h=d-4|0;n=e>>>0>h>>>0;f=n?e-h|0:f;d=h-e|0;j=e+j|0;g=((n?0:e)+g|0)+4|0;if(e>>>0>>0){continue}break}d=v[a+112>>2]}e=f}m=m+1|0;if(m>>>0>>0){continue}break}if(!e){break o}o=0;Fa(c,1,5314,0);break n}o=0;Fa(c,1,9128,0);break n}e=La(j);v[a+136>>2]=e;if(!e){o=0;Fa(c,1,6968,0);break n}v[a+124>>2]=j;h=v[a+116>>2];q:{f=v[a+112>>2];if(f){d=0;e=0;j=0;while(1){m=j<<3;n=m+h|0;g=v[n>>2];if(g){h=v[a+136>>2]+e|0;f=v[n+4>>2];r:{if(f>>>0<=d>>>0){Ja(h,g,f);e=e+f|0;d=d-f|0;break r}Ja(h,g,d);e=e+d|0;h=f-d|0;if(h){d=d+g|0;while(1){if(h>>>0<4){break q}Ia(d,k+8|0,4);d=d+4|0;g=v[a+136>>2]+e|0;f=h-4|0;h=v[k+8>>2];if(f>>>0>>0){Ja(g,d,f);e=e+f|0;d=v[k+8>>2]-f|0;break r}Ja(g,d,h);g=v[k+8>>2];e=g+e|0;d=d+g|0;h=f-g|0;if(h){continue}break}}d=0}Ga(v[m+v[a+116>>2]>>2]);h=v[a+116>>2];f=m+h|0;v[f>>2]=0;v[f+4>>2]=0;f=v[a+112>>2]}j=j+1|0;if(j>>>0>>0){continue}break}j=v[a+124>>2];e=v[a+136>>2]}v[a+144>>2]=j;v[a+120>>2]=e;v[a+112>>2]=0;Ga(h);v[a+116>>2]=0;break n}o=0;Fa(c,1,9128,0)}qa=k+16|0;if(!o){Fa(c,1,18083,0);a=0;break a}Fa(c,4,22795,0);c=v[a+200>>2];v[c+8>>2]=v[b+56>>2]-2;v[c+12>>2]=0;v[a+8>>2]=8;a=1;break a}Ga(v[f+28>>2]);v[f+32>>2]=0;v[f+24>>2]=0;v[f+28>>2]=0;Fa(c,1,6392,0);a=0}qa=i+48|0;return a|0}function dc(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,x=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;o=qa-80|0;qa=o;m=v[(v[a+20>>2]+B(v[c+28>>2],76)|0)+28>>2];z=v[c+40>>2];s=v[c+36>>2];u=v[c+32>>2];a:{if(w[b|0]&2){if(f>>>0<=5){if((g|0)!=1){break a}v[o+68>>2]=6;v[o+64>>2]=f;Fa(h,1,22866,o- -64|0);break a}t[d|0]=255;t[d+1|0]=145;t[d+2|0]=0;t[d+3|0]=4;t[d+4|0]=v[a+840>>2]>>>8;t[d+5|0]=v[a+840>>2];f=f-6|0;a=d+6|0}else{a=d}r=a;b:{c:{d:{e:{f:{g:{if(z){break g}k=m+B(u,152)|0;if(!v[k+24>>2]){break g}j=k+28|0;i=B(s,40);while(1){h:{if(v[j+12>>2]==v[j+4>>2]|v[j+8>>2]==v[j>>2]){break h}a=B(v[k+20>>2],v[k+16>>2]);if(a>>>0<=s>>>0){break f}a=i+v[j+20>>2]|0;Kb(v[a+32>>2]);Kb(v[a+36>>2]);l=B(v[a+20>>2],v[a+16>>2]);if(!l){break h}c=0;while(1){n=v[a+24>>2]+B(c,52)|0;v[n+40>>2]=0;Zc(v[a+36>>2],c,v[j+28>>2]-v[n+28>>2]|0);c=c+1|0;if((l|0)!=(c|0)){continue}break}}j=j+36|0;p=p+1|0;if(p>>>0>2]){continue}break}}i=La(20);if(!i){break a}v[i+12>>2]=0;v[i+16>>2]=8;v[i+8>>2]=r;v[i>>2]=r;v[i+4>>2]=f+r;ob(i,1);x=m+B(u,152)|0;m=x+28|0;if(v[x+24>>2]){J=z+1|0;K=B(s,40);a=m;while(1){u=a;i:{if(v[a+12>>2]==v[a+4>>2]|v[a+8>>2]==v[a>>2]){break i}a=B(v[x+20>>2],v[x+16>>2]);if(a>>>0<=s>>>0){break e}A=v[u+20>>2]+K|0;F=B(v[A+20>>2],v[A+16>>2]);if(!F){break i}c=v[A+24>>2];a=0;while(1){if(!(v[c+40>>2]|!v[v[c+4>>2]+B(z,24)>>2])){Zc(v[A+32>>2],a,z)}c=c+52|0;a=a+1|0;if((F|0)!=(a|0)){continue}break}if(!F){break i}n=v[A+24>>2];C=0;while(1){D=v[n+4>>2]+B(z,24)|0;j:{if(!v[n+40>>2]){Yc(i,v[A+32>>2],C,J);break j}ob(i,v[D>>2]!=0)}c=v[D>>2];k:{if(!c){break k}if(!v[n+40>>2]){v[n+32>>2]=3;Yc(i,v[A+36>>2],C,999);c=v[D>>2]}l:{m:{switch(c-1|0){case 0:ob(i,0);break l;case 1:Cb(i,2,2);break l;default:break m}}if(c>>>0<=5){Cb(i,c-3|12,4);break l}if(c>>>0<=36){Cb(i,c-6|480,9);break l}if(c>>>0>164){break l}Cb(i,c-37|65408,16)}a=0;j=0;k=0;p=v[n+40>>2];E=p+v[D>>2]|0;n:{if(p>>>0>=E>>>0){break n}G=E-1|0;q=v[n+8>>2]+B(p,24)|0;while(1){j=j+1|0;a=v[q+16>>2]+a|0;if(!(!(t[q+20|0]&1)&(p|0)!=(G|0))){c=0;l=0;if((a|0)>=2){while(1){l=l+1|0;H=a>>>0>3;a=a>>>1|0;if(H){continue}break}}H=v[n+32>>2];if((j|0)>=2){while(1){a=c;c=a+1|0;L=j>>>0>3;j=j>>>1|0;if(L){continue}break}a=a^-1}else{a=0}a=(a+(l-H|0)|0)+1|0;k=(a|0)<(k|0)?k:a;j=0;a=0}q=q+24|0;p=p+1|0;if((E|0)!=(p|0)){continue}break}c=k;if((c|0)<=0){break n}while(1){ob(i,1);l=c>>>0>1;c=c-1|0;if(l){continue}break}}ob(i,0);v[n+32>>2]=v[n+32>>2]+k;p=v[n+40>>2];if(E>>>0<=p>>>0){break k}q=v[n+8>>2]+B(p,24)|0;while(1){c=j+1|0;a=v[q+16>>2]+a|0;o:{if(!(t[q+20|0]&1|((v[n+40>>2]+v[D>>2]|0)-1|0)==(p|0))){j=c;break o}k=v[n+32>>2];j=0;l=0;if((c|0)>=2){while(1){l=l+1|0;G=c>>>0>3;c=c>>>1|0;if(G){continue}break}}Cb(i,a,k+l|0);a=0}q=q+24|0;p=p+1|0;if((E|0)!=(p|0)){continue}break}}n=n+52|0;C=C+1|0;if((F|0)!=(C|0)){continue}break}}a=u+36|0;I=I+1|0;if(I>>>0>2]){continue}break}}k=v[i+12>>2];a=k<<8&65280;v[i+12>>2]=a;v[i+16>>2]=(a|0)==65280?7:8;c=v[i+8>>2];a=0;p:{if(c>>>0>=y[i+4>>2]){break p}v[i+8>>2]=c+1;t[c|0]=k;a=1;if(v[i+16>>2]!=7){break p}k=v[i+12>>2];a=k<<8&65280;v[i+12>>2]=a;v[i+16>>2]=(a|0)==65280?7:8;c=v[i+8>>2];a=0;if(c>>>0>=y[i+4>>2]){break p}v[i+8>>2]=c+1;t[c|0]=k;a=1}if(!a){ab(i);break a}a=v[i+8>>2]-v[i>>2]|0;ab(i);c=f-a|0;l=a+r|0;if(w[b|0]&4){if(c>>>0<=1){if((g|0)!=1){break a}v[o+20>>2]=2;v[o+16>>2]=c;Fa(h,1,22866,o+16|0);break a}t[l|0]=255;t[l+1|0]=146;l=l+2|0;c=c-2|0}if(!v[x+24>>2]){break c}if((g|0)==1){break d}k=0;f=B(s,40);g=B(z,24);while(1){q:{if(v[m+12>>2]==v[m+4>>2]|v[m+8>>2]==v[m>>2]){break q}a=f+v[m+20>>2]|0;r=B(v[a+20>>2],v[a+16>>2]);if(!r){break q}j=v[a+24>>2];b=0;while(1){a=g+v[j+4>>2]|0;u=v[a>>2];if(u){a=v[a+4>>2];if(c>>>0>>0){b=0;break b}v[j+40>>2]=u+v[j+40>>2];l=a+l|0;c=c-a|0}j=j+52|0;b=b+1|0;if((r|0)!=(b|0)){continue}break}}m=m+36|0;k=k+1|0;if(k>>>0>2]){continue}break}break c}v[o+52>>2]=a;v[o+48>>2]=s;Fa(h,1,4254,o+48|0);break a}v[o+36>>2]=a;v[o+32>>2]=s;Fa(h,1,4254,o+32|0);break a}k=0;f=B(s,40);g=B(z,24);while(1){r:{if(v[m+12>>2]==v[m+4>>2]|v[m+8>>2]==v[m>>2]){break r}a=f+v[m+20>>2]|0;r=B(v[a+20>>2],v[a+16>>2]);if(!r){break r}j=v[a+24>>2];q=0;while(1){b=g+v[j+4>>2]|0;if(v[b>>2]){a=v[b+4>>2];if(c>>>0>>0){b=1;break b}a=Ja(l,v[b+16>>2],a);v[j+40>>2]=v[j+40>>2]+v[b>>2];b=v[b+4>>2];c=c-b|0;l=a+b|0}j=j+52|0;q=q+1|0;if((r|0)!=(q|0)){continue}break}}m=m+36|0;k=k+1|0;if(k>>>0>2]){continue}break}}v[e>>2]=v[e>>2]+(l-d|0);M=1;break a}if(!b){break a}v[o+4>>2]=a;v[o>>2]=c;Fa(h,1,22866,o)}qa=o+80|0;return M}function qd(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,w=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;h=30384;q=v[b+76>>2];i=(q+B(c,5644)|0)+B(d,148)|0;p=i;a:{b:{switch(v[i+460>>2]){default:h=30444;break a;case 0:h=30396;break a;case 3:h=30408;break a;case 1:h=30420;break a;case 4:break a;case 2:break b}}h=30432}n=h+4|0;h=B(d,240)+a|0;v[h+44>>2]=1;v[h+84>>2]=v[p+460>>2];o=h+48|0;c:{d:{if(!(t[b+100|0]&1)){break d}j=x[b>>1];if((j-3&65535)>>>0<4){break c}if(j>>>0>=1024){if((g|0)==1){break c}if(j>>>0>=2460){break d}break c}if((g|0)==1){break c}}v[o>>2]=v[i+496>>2];v[h+60>>2]=v[i+512>>2];v[h+52>>2]=v[i+500>>2];v[h- -64>>2]=v[i+516>>2];v[h+68>>2]=v[i+492>>2];v[h+56>>2]=v[i+508>>2];v[h+72>>2]=v[i+504>>2];v[h+76>>2]=v[i+520>>2];v[h+100>>2]=v[i+524>>2];v[h+108>>2]=v[i+532>>2];v[h+104>>2]=v[i+528>>2];v[h+112>>2]=v[i+536>>2];return}if((f|0)<=2){k=(B(c,5644)+q|0)+B(d,148)|0;r=k+512|0;s=k+496|0;u=k+516|0;w=k+500|0;z=k+508|0;A=k+492|0;C=k+520|0;D=k+504|0;E=k+536|0;F=k+528|0;l=B(d,240)+a|0;G=l+60|0;H=l- -64|0;I=l+52|0;J=l+56|0;K=l+68|0;L=l+76|0;M=l+72|0;N=l+112|0;O=l+104|0;m=f;while(1){h=s;g=o;i=r;j=G;e:{f:{g:{h:{i:{m=m+1|0;switch(t[m+n|0]-67|0){case 15:break f;case 13:break g;case 9:break h;case 0:break i;default:break e}}h=w;g=I;i=u;j=H;break f}h=A;g=K;i=z;j=J;break f}h=D;g=M;i=C;j=L;if(y[p+460>>2]<2){break f}v[l+100>>2]=v[k+524>>2];v[l+108>>2]=v[k+532>>2];h=F;g=O;i=E;j=N}v[g>>2]=v[h>>2];v[j>>2]=v[i>>2]}if((m|0)!=3){continue}break}}j:{if(e){if((f|0)<0){break j}e=(B(c,5644)+q|0)+B(d,148)|0;g=B(d,240)+a|0;i=g- -64|0;h=1;while(1){a=f;k:{l:{m:{n:{o:{j=f+n|0;switch(t[j|0]-67|0){case 13:break l;case 9:break m;case 15:break n;case 0:break o;default:break k}}f=v[e+556>>2];v[g+52>>2]=f-1;v[i>>2]=f;break k}f=v[e+552>>2];v[o>>2]=f-1;v[g+60>>2]=f;break k}f=v[e+548>>2];v[g+68>>2]=f-1;v[g+56>>2]=f;break k}if(y[p+460>>2]<=1){f=v[e+560>>2];v[g+72>>2]=f-1;v[g+76>>2]=f;break k}f=v[e+564>>2];m=v[e+540>>2];v[g+100>>2]=f-(((f>>>0)%(m>>>0)|0)+m|0);v[g+104>>2]=f;f=v[e+568>>2];m=v[e+544>>2];v[g+108>>2]=f-(((f>>>0)%(m>>>0)|0)+m|0);v[g+112>>2]=f}f=(h|0)!=1;h=0;p:{if(f){break p}h=1;q:{r:{switch(t[j|0]-67|0){case 15:f=v[e+552>>2];if((f|0)==v[e+512>>2]){h=0;if(!vb(a-1|0,b,c,d,n)){break p}f=v[e+496>>2];v[o>>2]=f;h=1;f=f+1|0;v[g+60>>2]=f;v[e+552>>2]=f;break p}v[o>>2]=f;f=f+1|0;v[g+60>>2]=f;v[e+552>>2]=f;break q;case 0:f=v[e+556>>2];if((f|0)==v[e+516>>2]){h=0;if(!vb(a-1|0,b,c,d,n)){break p}f=v[e+500>>2];v[g+52>>2]=f;h=1;f=f+1|0;v[i>>2]=f;v[e+556>>2]=f;break p}v[g+52>>2]=f;f=f+1|0;v[i>>2]=f;v[e+556>>2]=f;break q;case 9:f=v[e+548>>2];if((f|0)==v[e+508>>2]){h=0;if(!vb(a-1|0,b,c,d,n)){break p}f=v[e+492>>2];v[g+68>>2]=f;h=1;f=f+1|0;v[g+56>>2]=f;v[e+548>>2]=f;break p}v[g+68>>2]=f;f=f+1|0;v[g+56>>2]=f;v[e+548>>2]=f;break q;case 13:break r;default:break p}}if(y[p+460>>2]<=1){f=v[e+560>>2];if((f|0)==v[e+520>>2]){h=0;if(!vb(a-1|0,b,c,d,n)){break p}f=v[e+504>>2];v[g+72>>2]=f;h=1;f=f+1|0;v[g+76>>2]=f;v[e+560>>2]=f;break p}v[g+72>>2]=f;f=f+1|0;v[g+76>>2]=f;v[e+560>>2]=f;break q}f=v[e+564>>2];if(f>>>0>=y[e+528>>2]){f=v[e+568>>2];s:{if(f>>>0>=y[e+536>>2]){h=0;if(!vb(a-1|0,b,c,d,n)){break p}f=v[e+532>>2];v[g+108>>2]=f;h=v[e+544>>2];f=h+f-(f>>>0)%(h>>>0)|0;h=1;break s}v[g+108>>2]=f;h=v[e+544>>2];f=h+f-(f>>>0)%(h>>>0)|0;h=0}v[g+112>>2]=f;v[e+568>>2]=f;f=v[e+524>>2];v[g+100>>2]=f;j=v[e+540>>2];f=j+f-(f>>>0)%(j>>>0)|0;v[g+104>>2]=f;v[e+564>>2]=f;break p}v[g+100>>2]=f;h=v[e+540>>2];f=h+f-(f>>>0)%(h>>>0)|0;v[g+104>>2]=f;v[e+564>>2]=f}h=0}f=a-1|0;if((a|0)>0){continue}break}break j}if((f|0)<0){break j}b=(B(c,5644)+q|0)+B(d,148)|0;c=B(d,240)+a|0;g=c- -64|0;while(1){a=f;t:{u:{switch(t[f+n|0]-67|0){case 0:d=v[b+500>>2];v[c+52>>2]=d;d=d+1|0;v[g>>2]=d;v[b+556>>2]=d;break t;case 15:d=v[b+496>>2];v[o>>2]=d;d=d+1|0;v[c+60>>2]=d;v[b+552>>2]=d;break t;case 9:d=v[b+492>>2];v[c+68>>2]=d;d=d+1|0;v[c+56>>2]=d;v[b+548>>2]=d;break t;case 13:break u;default:break t}}if(y[p+460>>2]<=1){d=v[b+504>>2];v[c+72>>2]=d;d=d+1|0;v[c+76>>2]=d;v[b+560>>2]=d;break t}d=v[b+532>>2];e=v[b+524>>2];v[c+100>>2]=e;f=v[b+540>>2];e=f+e-(e>>>0)%(f>>>0)|0;v[c+104>>2]=e;v[c+108>>2]=d;f=v[b+544>>2];d=f+d-(d>>>0)%(f>>>0)|0;v[c+112>>2]=d;v[b+564>>2]=e;v[b+568>>2]=d}f=a-1|0;if((a|0)>0){continue}break}}}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,x=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;b=0;v[a+40>>2]=0;N=B(v[a+108>>2],v[a+104>>2]);if(N){p=a+80|0;u=v[a+72>>2];c=v[a+156>>2];while(1){x=0;J=0;g=v[p+16>>2];z=b;k=v[p+24>>2];h=(b>>>0)/(k>>>0)|0;i=v[p+8>>2]+B(g,h)|0;d=0;b=g+i|0;b=0-(b>>>0>>0?1:d)|b;d=v[u+12>>2];C=b>>>0>>0?b:d;b=v[p+12>>2];g=v[p+4>>2]+B(b,z-B(h,k)|0)|0;d=0;e=b;b=b+g|0;b=0-(e>>>0>b>>>0?1:d)|b;d=v[u+8>>2];D=b>>>0>>0?b:d;b=v[u+4>>2];E=b>>>0>>0?i:b;b=v[u>>2];F=b>>>0>>0?g:b;K=v[p+76>>2];L=v[u+16>>2];a:{if(!L){m=2147483647;i=0;n=2147483647;break a}G=v[(B(z,5644)+K|0)+5584>>2];H=v[u+24>>2];m=2147483647;i=0;n=2147483647;while(1){g=v[H+4>>2];b=g-1|0;e=0-!g|0;d=e;k=b+C|0;d=k>>>0>>0?d+1|0:d;h=ri(k,d,g,0);k=v[H>>2];j=k-1|0;q=0-!k|0;d=q;r=j;j=D+j|0;d=j>>>0>>0?d+1|0:d;j=ri(j,d,k,0);d=e;b=b+E|0;d=b>>>0>>0?d+1|0:d;e=ri(b,d,g,0);d=q;b=r+F|0;d=b>>>0>>0?d+1|0:d;d=ri(b,d,k,0);q=v[G+4>>2];b=q;b:{if(i>>>0>=b>>>0){b=i;if(!q){break b}}O=h;R=j;P=e;S=d;s=0;r=0;i=0;while(1){h=(s^-1)+q|0;j=h&31;if((h&63)>>>0>=32){d=-1<>>32-j}o=e^-1;j=o;e=j+R|0;I=d^-1;d=I+M|0;d=e>>>0>>0?d+1|0:d;f=0;t=(r<<2)+G|0;j=v[t+812>>2];A=e;e=h&31;A=(h&63)>>>0>=32?d>>>e|0:((1<>>e;e=j&31;if((j&63)>>>0>=32){d=-1<>>32-e;e=-1<>>0>>0?d+1|0:d;e=j&31;e=(j&63)>>>0>=32?d>>>e|0:((1<>>e;d=M+I|0;l=e;f=o+S|0;d=f>>>0>>0?d+1|0:d;e=h&31;d=(h&63)>>>0>=32?d>>>e|0:((1<>>e;A=(d|0)!=(A|0)?l-(d>>>j|0)&-1>>>j:0;d=M+I|0;f=o+O|0;d=f>>>0>>0?d+1|0:d;l=0;e=v[t+944>>2];t=f;f=h&31;t=(h&63)>>>0>=32?d>>>f|0:((1<>>f;f=e&31;if((e&63)>>>0>=32){d=-1<>>32-f;f=-1<>>0>>0?d+1|0:d;f=e&31;f=(e&63)>>>0>=32?d>>>f|0:((1<>>f;d=M+I|0;l=f;o=o+P|0;d=o>>>0

>>0?d+1|0:d;f=h&31;d=(h&63)>>>0>=32?d>>>f|0:((1<>>f;d=B((d|0)!=(t|0)?l-(d>>>e|0)&-1>>>e:0,A);x=d>>>0>x>>>0?d:x;d=e+h|0;e=d&31;if((d&63)>>>0>=32){d=g<>>32-e;e=g<>>0>n>>>0?n:e;d=h+j|0;h=d&31;if((d&63)>>>0>=32){d=k<>>32-h;h=k<>>0>m>>>0?m:h;s=s+1|0;d=i;r=r+1|0;d=r?d:d+1|0;i=d;if((r|0)!=(q|0)|d){continue}break}i=b}G=G+1080|0;H=H+52|0;J=J+1|0;if((L|0)!=(J|0)){continue}break}}b=B(z,5644)+K|0;d=v[b+420>>2];c:{if(w[b+5640|0]&4){i=v[b+428>>2];v[b+496>>2]=v[b+424>>2];v[b+500>>2]=i;v[b+492>>2]=0;v[b+544>>2]=n;v[b+540>>2]=m;v[b+536>>2]=C;v[b+532>>2]=E;v[b+528>>2]=D;v[b+524>>2]=F;v[b+520>>2]=x;v[b+504>>2]=0;v[b+516>>2]=v[b+440>>2];i=v[b+436>>2];v[b+508>>2]=v[b+432>>2];v[b+512>>2]=i;v[b+460>>2]=v[b+456>>2];if(d-1>>>0>4294967293){break c}b=b+424|0;i=1;while(1){g=v[b+152>>2];v[b+220>>2]=v[b+148>>2];v[b+224>>2]=g;v[b+228>>2]=0;v[b+268>>2]=n;v[b+264>>2]=m;v[b+260>>2]=C;v[b+256>>2]=E;v[b+252>>2]=D;v[b+248>>2]=F;v[b+244>>2]=x;g=v[b+164>>2];v[b+236>>2]=v[b+160>>2];v[b+240>>2]=g;g=v[b+156>>2];v[b+232>>2]=g;v[b+184>>2]=v[b+180>>2];v[b+216>>2]=g>>>0>y[b+84>>2]?g:0;b=b+148|0;g=(d|0)==(i|0);i=i+1|0;if(!g){continue}break}break c}if((d|0)==-1){break c}g=B(z,5644)+K|0;b=g+424|0;k=v[g+4>>2];g=v[g+8>>2];s=0;while(1){v[b+92>>2]=L;v[b+76>>2]=0;v[b+80>>2]=0;v[b+88>>2]=i;v[b+84>>2]=g;v[b+68>>2]=0;v[b+72>>2]=0;v[b+120>>2]=n;v[b+116>>2]=m;v[b+112>>2]=C;v[b+108>>2]=E;v[b+104>>2]=D;v[b+100>>2]=F;v[b+96>>2]=x;v[b+36>>2]=k;b=b+148|0;h=(d|0)!=(s|0);s=s+1|0;if(h){continue}break}}b=0;i=0;while(1){d=ic(p,b,z);v[a+40>>2]=d+v[a+40>>2];i=d+i|0;b=b+1|0;if(b>>>0<=y[c+420>>2]){continue}break}v[c+5592>>2]=i;c=c+5644|0;b=z+1|0;if((N|0)!=(b|0)){continue}break}}return 1}function nc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=v[a>>2];f=v[a+12>>2]<<5;h=e+f|0;l=e-f|0;e=v[a+16>>2];i=v[a+28>>2];j=v[a+20>>2];m=v[a+8>>2];a:{b:{if(b&15|d>>>0<8|h&15){if(e>>>0>=j>>>0){break a}c:{switch(d-1|0){case 1:f=e+1|0;if(j-e&1){g=h+(e<<6)|0;z[g>>2]=z[(e<<2)+b>>2];z[g+4>>2]=z[(c+e<<2)+b>>2];e=f}if((f|0)==(j|0)){break a}while(1){f=h+(e<<6)|0;z[f>>2]=z[(e<<2)+b>>2];z[f+4>>2]=z[(c+e<<2)+b>>2];f=e+1|0;g=h+(f<<6)|0;z[g>>2]=z[(f<<2)+b>>2];z[g+4>>2]=z[(c+f<<2)+b>>2];e=e+2|0;if((j|0)!=(e|0)){continue}break};break a;case 0:break c;default:break b}}g=(e^-1)+j|0;k=j-e&3;if(k){f=0;while(1){z[h+(e<<6)>>2]=z[(e<<2)+b>>2];e=e+1|0;f=f+1|0;if((k|0)!=(f|0)){continue}break}}if(g>>>0<3){break a}while(1){z[h+(e<<6)>>2]=z[(e<<2)+b>>2];f=e+1|0;z[h+(f<<6)>>2]=z[(f<<2)+b>>2];f=e+2|0;z[h+(f<<6)>>2]=z[(f<<2)+b>>2];f=e+3|0;z[h+(f<<6)>>2]=z[(f<<2)+b>>2];e=e+4|0;if((j|0)!=(e|0)){continue}break}break a}if(e>>>0>=j>>>0){break a}while(1){f=h+(e<<6)|0;z[f>>2]=z[(e<<2)+b>>2];g=c+e|0;z[f+4>>2]=z[(g<<2)+b>>2];g=c+g|0;z[f+8>>2]=z[(g<<2)+b>>2];g=c+g|0;z[f+12>>2]=z[(g<<2)+b>>2];g=c+g|0;z[f+16>>2]=z[(g<<2)+b>>2];g=c+g|0;z[f+20>>2]=z[(g<<2)+b>>2];g=c+g|0;z[f+24>>2]=z[(g<<2)+b>>2];z[f+28>>2]=z[(c+g<<2)+b>>2];e=e+1|0;if((j|0)!=(e|0)){continue}break}break a}while(1){f=h+(e<<6)|0;z[f>>2]=z[(e<<2)+b>>2];g=c+e|0;z[f+4>>2]=z[(g<<2)+b>>2];g=c+g|0;z[f+8>>2]=z[(g<<2)+b>>2];d:{if((d|0)==3){break d}g=c+g|0;z[f+12>>2]=z[(g<<2)+b>>2];if((d|0)==4){break d}g=c+g|0;z[f+16>>2]=z[(g<<2)+b>>2];if((d|0)==5){break d}g=c+g|0;z[f+20>>2]=z[(g<<2)+b>>2];if((d|0)==6){break d}g=c+g|0;z[f+24>>2]=z[(g<<2)+b>>2];if((d|0)==7){break d}z[f+28>>2]=z[(c+g<<2)+b>>2]}e=e+1|0;if((j|0)!=(e|0)){continue}break}}f=l+32|0;e=v[a+24>>2];b=(m<<2)+b|0;e:{if(b&15|d>>>0<8|f&15){if(e>>>0>=i>>>0){break e}f:{switch(d-1|0){case 1:a=e+1|0;if(i-e&1){d=f+(e<<6)|0;z[d>>2]=z[b+(e<<2)>>2];z[d+4>>2]=z[b+(c+e<<2)>>2];e=a}if((a|0)==(i|0)){break e}while(1){a=f+(e<<6)|0;z[a>>2]=z[b+(e<<2)>>2];z[a+4>>2]=z[b+(c+e<<2)>>2];a=e+1|0;d=f+(a<<6)|0;z[d>>2]=z[b+(a<<2)>>2];z[d+4>>2]=z[b+(a+c<<2)>>2];e=e+2|0;if((i|0)!=(e|0)){continue}break};break e;case 0:a=(e^-1)+i|0;d=i-e&3;if(d){c=0;while(1){z[f+(e<<6)>>2]=z[b+(e<<2)>>2];e=e+1|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}if(a>>>0<3){break e}while(1){z[f+(e<<6)>>2]=z[b+(e<<2)>>2];a=e+1|0;z[f+(a<<6)>>2]=z[b+(a<<2)>>2];a=e+2|0;z[f+(a<<6)>>2]=z[b+(a<<2)>>2];a=e+3|0;z[f+(a<<6)>>2]=z[b+(a<<2)>>2];e=e+4|0;if((i|0)!=(e|0)){continue}break};break e;default:break f}}while(1){a=f+(e<<6)|0;z[a>>2]=z[b+(e<<2)>>2];h=c+e|0;z[a+4>>2]=z[b+(h<<2)>>2];h=c+h|0;z[a+8>>2]=z[b+(h<<2)>>2];g:{if((d|0)==3){break g}h=c+h|0;z[a+12>>2]=z[b+(h<<2)>>2];if((d|0)==4){break g}h=c+h|0;z[a+16>>2]=z[b+(h<<2)>>2];if((d|0)==5){break g}h=c+h|0;z[a+20>>2]=z[b+(h<<2)>>2];if((d|0)==6){break g}h=c+h|0;z[a+24>>2]=z[b+(h<<2)>>2];if((d|0)==7){break g}z[a+28>>2]=z[b+(c+h<<2)>>2]}e=e+1|0;if((i|0)!=(e|0)){continue}break}break e}if(e>>>0>=i>>>0){break e}while(1){a=f+(e<<6)|0;z[a>>2]=z[b+(e<<2)>>2];d=c+e|0;z[a+4>>2]=z[b+(d<<2)>>2];d=c+d|0;z[a+8>>2]=z[b+(d<<2)>>2];d=c+d|0;z[a+12>>2]=z[b+(d<<2)>>2];d=c+d|0;z[a+16>>2]=z[b+(d<<2)>>2];d=c+d|0;z[a+20>>2]=z[b+(d<<2)>>2];d=c+d|0;z[a+24>>2]=z[b+(d<<2)>>2];z[a+28>>2]=z[b+(c+d<<2)>>2];e=e+1|0;if((i|0)!=(e|0)){continue}break}}}function _d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=qa-176|0;qa=f;a:{if(b&384){Va(9639,11,1,c);break a}b:{if(!(b&1)){break b}g=v[a+72>>2];if(!g){break b}d=qa-80|0;qa=d;Va(3588,13,1,c);t[d+78|0]=9;t[d+79|0]=0;e=v[g+4>>2];v[d+68>>2]=v[g>>2];v[d+72>>2]=e;i=d+78|0;v[d+64>>2]=i;Sa(c,17157,d- -64|0);e=v[g+12>>2];v[d+52>>2]=v[g+8>>2];v[d+56>>2]=e;v[d+48>>2]=i;Sa(c,17122,d+48|0);v[d+36>>2]=v[g+16>>2];v[d+32>>2]=i;Sa(c,16880,d+32|0);if(!(!v[g+24>>2]|!v[g+16>>2])){while(1){l=d+78|0;v[d+16>>2]=l;v[d+20>>2]=h;Sa(c,3620,d+16|0);i=v[g+24>>2];e=qa-48|0;qa=e;t[e+47|0]=0;t[e+45|0]=9;t[e+46|0]=9;j=B(h,52)+i|0;i=v[j+4>>2];v[e+36>>2]=v[j>>2];v[e+40>>2]=i;i=e+45|0;v[e+32>>2]=i;Sa(c,16812,e+32|0);v[e+20>>2]=v[j+24>>2];v[e+16>>2]=i;Sa(c,17074,e+16|0);v[e+4>>2]=v[j+32>>2];v[e>>2]=i;Sa(c,17047,e);qa=e+48|0;v[d>>2]=l;Sa(c,3498,d);h=h+1|0;if(h>>>0>2]){continue}break}}Va(3506,2,1,c);qa=d+80|0}if(!(!(b&2)|!v[a+72>>2])){Va(3727,36,1,c);e=v[a+88>>2];v[f+160>>2]=v[a+84>>2];v[f+164>>2]=e;Sa(c,17139,f+160|0);e=v[a+96>>2];v[f+144>>2]=v[a+92>>2];v[f+148>>2]=e;Sa(c,16794,f+144|0);e=v[a+108>>2];v[f+128>>2]=v[a+104>>2];v[f+132>>2]=e;Sa(c,17031,f+128|0);Zd(v[a+12>>2],v[v[a+72>>2]+16>>2],c);Va(3506,2,1,c)}c:{if(!(b&8)|!v[a+72>>2]){break c}e=B(v[a+104>>2],v[a+108>>2]);if(!e){break c}d=v[a+156>>2];while(1){Zd(d,v[v[a+72>>2]+16>>2],c);d=d+5644|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}if(!(b&16)){break a}h=v[a+200>>2];Va(3689,37,1,c);e=v[h>>2];b=v[h+4>>2];a=v[h+12>>2];v[f+120>>2]=v[h+8>>2];v[f+124>>2]=a;v[f+112>>2]=e;v[f+116>>2]=b;Sa(c,9228,f+112|0);Va(3671,17,1,c);if(!(!v[h+28>>2]|!v[h+24>>2])){d=0;while(1){a=v[h+28>>2]+B(d,24)|0;g=x[a>>1];e=v[a+8>>2];b=v[a+12>>2];v[f+96>>2]=v[a+16>>2];v[f+88>>2]=e;v[f+92>>2]=b;v[f+80>>2]=g;Sa(c,17e3,f+80|0);d=d+1|0;if(d>>>0>2]){continue}break}}Va(3504,4,1,c);g=v[h+40>>2];d:{if(!g){break d}e=v[h+36>>2];if(!e){break d}a=0;d=0;if(e>>>0>=4){b=e&-4;while(1){a=v[(g+B(d|3,40)|0)+4>>2]+(v[(g+B(d|2,40)|0)+4>>2]+(v[(g+B(d|1,40)|0)+4>>2]+(v[(g+B(d,40)|0)+4>>2]+a|0)|0)|0)|0;d=d+4|0;m=m+4|0;if((b|0)!=(m|0)){continue}break}}b=e&3;if(b){while(1){a=v[(g+B(d,40)|0)+4>>2]+a|0;d=d+1|0;n=n+1|0;if((b|0)!=(n|0)){continue}break}}if(!a){break d}Va(3654,16,1,c);if(v[h+36>>2]){k=v[h+40>>2];i=0;while(1){j=B(i,40);m=v[(j+k|0)+4>>2];v[f+68>>2]=m;v[f+64>>2]=i;Sa(c,17086,f- -64|0);k=v[h+40>>2];e:{if(!m){break e}d=0;if(!v[(j+k|0)+16>>2]){break e}while(1){l=v[(j+v[h+40>>2]|0)+16>>2]+B(d,24)|0;n=v[l>>2];g=v[l+4>>2];e=v[l+8>>2];b=v[l+12>>2];a=v[l+20>>2];v[f+56>>2]=v[l+16>>2];v[f+60>>2]=a;v[f+48>>2]=e;v[f+52>>2]=b;v[f+40>>2]=n;v[f+44>>2]=g;v[f+32>>2]=d;Sa(c,21553,f+32|0);d=d+1|0;if((m|0)!=(d|0)){continue}break}k=v[h+40>>2]}a=j+k|0;f:{if(!v[a+24>>2]){break f}d=0;if(!v[a+20>>2]){break f}while(1){a=v[(j+k|0)+24>>2]+B(d,24)|0;g=x[a>>1];e=v[a+8>>2];b=v[a+12>>2];v[f+16>>2]=v[a+16>>2];v[f+8>>2]=e;v[f+12>>2]=b;v[f>>2]=g;Sa(c,17e3,f);d=d+1|0;k=v[h+40>>2];if(d>>>0>2]){continue}break}}i=i+1|0;if(i>>>0>2]){continue}break}}Va(3504,4,1,c)}Va(3506,2,1,c)}qa=f+176|0}function Pg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:{b:{c:{if(!c|(!a|!b)){break c}if(v[c+16>>2]-16385>>>0<=4294950911){Fa(d,1,8069,0);return 0}if(!de(v[a>>2],b,c,d)){break c}v[a+64>>2]=1;v[a+56>>2]=1785737760;v[a+60>>2]=0;e=La(4);v[a+68>>2]=e;if(!e){break b}v[e>>2]=1785737760;e=v[c+16>>2];v[a+20>>2]=e;k=La(B(e,12));v[a+72>>2]=k;if(!k){break b}v[a+16>>2]=v[c+12>>2]-v[c+4>>2];v[a+12>>2]=v[c+8>>2]-v[c>>2];j=v[c+24>>2];f=v[j+24>>2];v[a+24>>2]=(f+(v[j+32>>2]<<7)|0)-1;i=v[c+16>>2];d:{if(i>>>0<2){break d}g=i-1|0;l=g&3;e=1;if(i-2>>>0>=3){n=g&-4;g=0;while(1){h=j+B(e,52)|0;if((f|0)!=v[h+24>>2]){v[a+24>>2]=255}if((f|0)!=v[h+76>>2]){v[a+24>>2]=255}if((f|0)!=v[h+128>>2]){v[a+24>>2]=255}if((f|0)!=v[h+180>>2]){v[a+24>>2]=255}e=e+4|0;g=g+4|0;if((n|0)!=(g|0)){continue}break}}if(!l){break d}g=0;while(1){if((f|0)!=v[(j+B(e,52)|0)+24>>2]){v[a+24>>2]=255}e=e+1|0;g=g+1|0;if((l|0)!=(g|0)){continue}break}}e=0;v[a+36>>2]=0;v[a+28>>2]=7;v[a+32>>2]=0;e:{if(!i){break e}if((i|0)!=1){g=i&-2;h=0;while(1){f=j+B(e,52)|0;v[(k+B(e,12)|0)+8>>2]=(v[f+24>>2]+(v[f+32>>2]<<7)|0)-1;l=e|1;f=j+B(l,52)|0;v[(k+B(l,12)|0)+8>>2]=(v[f+24>>2]+(v[f+32>>2]<<7)|0)-1;e=e+2|0;h=h+2|0;if((g|0)!=(h|0)){continue}break}}if(!(i&1)){break e}f=k+B(e,12)|0;e=j+B(e,52)|0;v[f+8>>2]=(v[e+24>>2]+(v[e+32>>2]<<7)|0)-1}f:{g:{if(v[c+32>>2]){v[a+40>>2]=2;e=0;break g}v[a+40>>2]=1;e=v[c+20>>2];if(e-1>>>0>2){break f}e=e+15|0}v[a+48>>2]=e}h:{if(!i){break h}l=i&1;i:{if((i|0)==1){g=0;h=0;e=0;break i}n=i&-2;g=0;h=0;e=0;f=0;while(1){m=e|1;k=x[(j+B(m,52)|0)+48>>1];o=m;m=x[(j+B(e,52)|0)+48>>1];g=k?o:m?e:g;h=(((m|0)!=0)+h|0)+((k|0)!=0)|0;e=e+2|0;f=f+2|0;if((n|0)!=(f|0)){continue}break}}if(l){f=e;e=x[(j+B(e,52)|0)+48>>1];g=e?f:g;h=((e|0)!=0)+h|0}e=22345;j:{k:{switch(h|0){case 0:break h;case 1:break k;default:break j}}e=22188;f=v[a+48>>2]-16|0;if(f>>>0>2){break j}e=20790;f=v[(f<<2)+30992>>2];if(i>>>0<=f>>>0){break j}e=22262;if(f>>>0>g>>>0){break j}e=La(8);v[a+116>>2]=e;if(!e){break a}i=La(B(v[c+16>>2],6));e=v[a+116>>2];v[e>>2]=i;if(!i){break a}j=v[c+16>>2];u[e+4>>1]=j;e=0;if(f-1>>>0>=3){l=f&-4;g=0;while(1){d=i+B(e,6)|0;h=e|1;u[d+4>>1]=h;u[d+2>>1]=0;u[d>>1]=e;d=i+B(h,6)|0;k=e|2;u[d+4>>1]=k;u[d+2>>1]=0;u[d>>1]=h;d=i+B(k,6)|0;h=e|3;u[d+4>>1]=h;u[d+2>>1]=0;u[d>>1]=k;d=i+B(h,6)|0;e=e+4|0;u[d+4>>1]=e;u[d+2>>1]=0;u[d>>1]=h;g=g+4|0;if((l|0)!=(g|0)){continue}break}}k=f&3;g=0;while(1){h=i+B(e,6)|0;d=e+1|0;u[h+4>>1]=d;u[h+2>>1]=0;u[h>>1]=e;e=d;g=g+1|0;if((k|0)!=(g|0)){continue}break}if(f>>>0>=j>>>0){break h}d=f+1|0;e=v[c+24>>2];if(j-f&1){c=x[(e+B(f,52)|0)+48>>1];g=i+B(f,6)|0;u[g>>1]=f;u[g+4>>1]=c?0:-1;u[g+2>>1]=c?1:-1;f=d}if((d|0)==(j|0)){break h}while(1){g=e+B(f,52)|0;d=x[g+48>>1];c=i+B(f,6)|0;u[c>>1]=f;u[c+4>>1]=d?0:-1;u[c+2>>1]=d?1:-1;d=x[g+100>>1];u[c+6>>1]=f+1;u[c+10>>1]=d?0:-1;u[c+8>>1]=d?1:-1;f=f+2|0;if((j|0)!=(f|0)){continue}break}break h}Fa(d,2,e,0)}v[a+44>>2]=0;v[a+52>>2]=0;v[a+96>>2]=v[b+18692>>2];e=1}return e|0}Fa(d,1,8182,0);return 0}Fa(d,1,8138,0);return 0}function Lg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=qa-112|0;qa=f;k=1024;a:{b:{h=Ka(1,1024);if(h){n=f+88|4;l=f+108|0;while(1){c:{d:{e:{if((Wa(b,f+104|0,8,c)|0)!=8){break e}Ia(f+104|0,f+88|0,4);Ia(l,n,4);i=8;f:{g:{h:{i:{switch(v[f+88>>2]){case 0:d=v[b+12>>2];g=d;e=v[b+8>>2];if(d|e){j=v[b+56>>2];d=e-j|0;e=g-(v[b+60>>2]+(e>>>0>>0)|0)|0}else{d=0;e=0}if(d>>>0<4294967288&(e|0)<=0|(e|0)<0){break h}Fa(c,1,18716,0);break e;case 1:break i;default:break f}}if((Wa(b,f+104|0,8,c)|0)!=8){break e}Ia(f+104|0,f+100|0,4);if(!v[f+100>>2]){break g}Fa(c,1,18716,0);break e}v[f+88>>2]=d+8;break f}Ia(l,f+88|0,4);i=16}d=v[f+92>>2];if((d|0)==1785737827){b=v[a+100>>2];if(b&4){v[a+100>>2]=b|8;break e}Fa(c,1,9159,0);Ga(h);a=0;break a}e=v[f+88>>2];if(!e){Fa(c,1,5652,0);Ga(h);a=0;break a}if(e>>>0>>0){v[f+4>>2]=d;v[f>>2]=e;Fa(c,1,25270,f);break b}j:{k:{l:{m:{n:{o:{p:{q:{r:{s:{if((d|0)<=1668246641){if((d|0)==1651532643){break q}if((d|0)==1667523942){break o}if((d|0)!=1668112752){break s}g=30976;break n}if((d|0)<=1783635999){if((d|0)==1668246642){break r}g=30944;if((d|0)==1768449138){break n}if((d|0)!=1718909296){break s}g=30920;break l}if((d|0)==1885564018){break p}if((d|0)==1783636e3){break m}g=30928;if((d|0)==1785737832){break l}}d=v[a+100>>2];if(d&1){break j}Fa(c,1,3925,0);Ga(h);a=0;break a}g=30952;break n}g=30960;break n}g=30968;break n}g=30984}v[f+76>>2]=d&255;v[f+64>>2]=d>>>24;v[f+72>>2]=d>>>8&255;v[f+68>>2]=d>>>16&255;Fa(c,2,3874,f- -64|0);e=e-i|0;if(w[a+100|0]&4){break k}d=v[f+92>>2];v[f+48>>2]=d>>>24;v[f+60>>2]=d&255;v[f+52>>2]=d>>>16&255;v[f+56>>2]=d>>>8&255;Fa(c,2,16297,f+48|0);v[a+100>>2]=v[a+100>>2]|2147483647;d=ua[v[b+40>>2]](b,e,0,c)|0;if(!ta&(d|0)==(e|0)){continue}Fa(c,1,6241,0);Ga(h);a=0;break a}g=30912}e=e-i|0}d=e;i=v[b+12>>2];j=i;e=v[b+8>>2];if(i|e){m=v[b+56>>2];i=e-m|0;e=j-(v[b+60>>2]+(e>>>0>>0)|0)|0}else{i=0;e=0}if((e|0)<=0&d>>>0>i>>>0|(e|0)<0){g=v[f+88>>2];e=v[f+92>>2];a=v[b+8>>2];if(a|v[b+12>>2]){a=a-v[b+56>>2]|0}else{a=0}v[f+40>>2]=a;v[f+36>>2]=d;v[f+32>>2]=e&255;v[f+20>>2]=e>>>24;v[f+16>>2]=g;v[f+28>>2]=e>>>8&255;v[f+24>>2]=e>>>16&255;Fa(c,1,28012,f+16|0);break b}if(d>>>0<=k>>>0){e=h;break c}k=d;e=Pa(h,d);if(e){break c}Ga(h);Fa(c,1,4056,0);a=0;break a}if(!(d&2)){Fa(c,1,3995,0);Ga(h);a=0;break a}v[a+100>>2]=d|2147483647;d=e-i|0;e=ua[v[b+40>>2]](b,d,0,c)|0;if(!ta&(d|0)==(e|0)){continue}if(!(w[a+100|0]&8)){break d}Fa(c,2,6241,0)}Ga(h);a=1;break a}Fa(c,1,6241,0);Ga(h);a=0;break a}if((Wa(b,e,d,c)|0)!=(d|0)){Fa(c,1,6291,0);Ga(e);a=0;break a}h=e;if(ua[v[g+4>>2]](a,e,d,c)|0){continue}break}Ga(h);a=0;break a}Fa(c,1,8406,0);a=0;break a}Ga(h);a=0}qa=f+112|0;return a|0}function ad(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=v[a+24>>2];h=v[i+16>>2];if(h){e=v[i+24>>2];d=v[v[v[a+20>>2]>>2]+20>>2];while(1){j=f;f=v[e+24>>2];f=(f>>>3|0)+((f&7)!=0)|0;f=j+B(B(v[d+12>>2]-v[d+4>>2]|0,v[d+8>>2]-v[d>>2]|0),(f|0)==3?4:f)|0;d=d+76|0;e=e+52|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}d=(c|0)==(f|0);if(!(!h|(c|0)!=(f|0))){h=v[i+24>>2];f=v[v[v[a+20>>2]>>2]+20>>2];a=0;while(1){c=B(v[f+12>>2]-v[f+4>>2]|0,v[f+8>>2]-v[f>>2]|0);a:{b:{c:{d:{d=v[h+24>>2];d=(d>>>3|0)+((d&7)!=0)|0;switch(((d|0)==3?4:d)-1|0){case 3:break b;case 1:break c;case 0:break d;default:break a}}d=v[f+36>>2];if(v[h+32>>2]){if(!c){break a}if(c>>>0>=8){g=c&-8;e=0;while(1){v[d>>2]=t[b|0];v[d+4>>2]=t[b+1|0];v[d+8>>2]=t[b+2|0];v[d+12>>2]=t[b+3|0];v[d+16>>2]=t[b+4|0];v[d+20>>2]=t[b+5|0];v[d+24>>2]=t[b+6|0];v[d+28>>2]=t[b+7|0];d=d+32|0;b=b+8|0;e=e+8|0;if((g|0)!=(e|0)){continue}break}}e=0;c=c&7;if(!c){break a}while(1){v[d>>2]=t[b|0];d=d+4|0;b=b+1|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}break a}if(!c){break a}if(c>>>0>=8){g=c&-8;e=0;while(1){v[d>>2]=w[b|0];v[d+4>>2]=w[b+1|0];v[d+8>>2]=w[b+2|0];v[d+12>>2]=w[b+3|0];v[d+16>>2]=w[b+4|0];v[d+20>>2]=w[b+5|0];v[d+24>>2]=w[b+6|0];v[d+28>>2]=w[b+7|0];d=d+32|0;b=b+8|0;e=e+8|0;if((g|0)!=(e|0)){continue}break}}e=0;c=c&7;if(!c){break a}while(1){v[d>>2]=w[b|0];d=d+4|0;b=b+1|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}break a}d=v[f+36>>2];if(v[h+32>>2]){if(!c){break a}if(c>>>0>=8){g=c&-8;e=0;while(1){v[d>>2]=u[b>>1];v[d+4>>2]=u[b+2>>1];v[d+8>>2]=u[b+4>>1];v[d+12>>2]=u[b+6>>1];v[d+16>>2]=u[b+8>>1];v[d+20>>2]=u[b+10>>1];v[d+24>>2]=u[b+12>>1];v[d+28>>2]=u[b+14>>1];d=d+32|0;b=b+16|0;e=e+8|0;if((g|0)!=(e|0)){continue}break}}e=0;c=c&7;if(!c){break a}while(1){v[d>>2]=u[b>>1];d=d+4|0;b=b+2|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}break a}if(!c){break a}if(c>>>0>=8){g=c&-8;e=0;while(1){v[d>>2]=x[b>>1];v[d+4>>2]=x[b+2>>1];v[d+8>>2]=x[b+4>>1];v[d+12>>2]=x[b+6>>1];v[d+16>>2]=x[b+8>>1];v[d+20>>2]=x[b+10>>1];v[d+24>>2]=x[b+12>>1];v[d+28>>2]=x[b+14>>1];d=d+32|0;b=b+16|0;e=e+8|0;if((g|0)!=(e|0)){continue}break}}e=0;c=c&7;if(!c){break a}while(1){v[d>>2]=x[b>>1];d=d+4|0;b=b+2|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}break a}if(!c){break a}d=v[f+36>>2];if(c>>>0>=8){g=c&-8;e=0;while(1){v[d>>2]=v[b>>2];v[d+4>>2]=v[b+4>>2];v[d+8>>2]=v[b+8>>2];v[d+12>>2]=v[b+12>>2];v[d+16>>2]=v[b+16>>2];v[d+20>>2]=v[b+20>>2];v[d+24>>2]=v[b+24>>2];v[d+28>>2]=v[b+28>>2];d=d+32|0;b=b+32|0;e=e+8|0;if((g|0)!=(e|0)){continue}break}}e=0;c=c&7;if(!c){break a}while(1){v[d>>2]=v[b>>2];d=d+4|0;b=b+4|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}}f=f+76|0;h=h+52|0;d=1;a=a+1|0;if(a>>>0>2]){continue}break}}return d}return!c}function uh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=qa-112|0;qa=e;v[e+104>>2]=0;a:{if((c|0)!=8){Fa(d,1,6578,0);Fa(d,1,6578,0);break a}Ia(b,a+204|0,2);Ia(b+2|0,e+108|0,4);Ia(b+6|0,e+100|0,1);Ia(b+7|0,e+104|0,1);g=v[a+204>>2];i=v[a+104>>2];if(g>>>0>=B(i,v[a+108>>2])>>>0){v[e+96>>2]=g;Fa(d,1,17436,e+96|0);break a}j=(g>>>0)/(i>>>0)|0;c=v[a+156>>2];b:{b=v[a+44>>2];if(!((b|0)<0|(b|0)==(g|0))){h=v[e+100>>2];break b}h=v[(c+B(g,5644)|0)+5588>>2]+1|0;b=v[e+100>>2];if((h|0)==(b|0)){break b}v[e+88>>2]=h;v[e+84>>2]=b;v[e+80>>2]=g;Fa(d,1,17460,e+80|0);break a}v[(c+B(g,5644)|0)+5588>>2]=h;c:{b=v[e+108>>2];if(b-1>>>0<=12){if((b|0)!=12){break c}v[e+48>>2]=12;Fa(d,2,22983,e+48|0);b=v[e+108>>2]}if(!b){Fa(d,4,21279,0);v[a+56>>2]=1}d:{e:{f:{g:{h=c+B(g,5644)|0;f=v[h+5592>>2];if(f){b=v[e+100>>2];if(b>>>0>>0){break g}v[e+36>>2]=f;v[e+32>>2]=b;Fa(d,1,8633,e+32|0);v[a+56>>2]=1;f=0;break a}c=v[e+104>>2];if(c){break f}break d}c=v[e+104>>2];if(!c){break e}}f=(w[a+68|0]>>>4&1)+c|0;v[e+104>>2]=f;h=h+5592|0;c=v[h>>2];b=v[e+100>>2];if(!(!c|c>>>0>b>>>0)){v[e+20>>2]=c;v[e+16>>2]=b;Fa(d,1,8534,e+16|0);v[a+56>>2]=1;f=0;break a}if(b>>>0>=f>>>0){v[e+4>>2]=f;v[e>>2]=b;Fa(d,1,8733,e);v[a+56>>2]=1;f=0;break a}v[h>>2]=f}if((v[e+100>>2]+1|0)!=(f|0)){break d}t[a+68|0]=w[a+68|0]|1}b=v[e+108>>2];v[a+8>>2]=16;v[a+24>>2]=v[a+56>>2]?0:b-12|0;b=v[a+44>>2];h:{if((b|0)==-1){f=4;b=g-B(j,i)|0;if(b>>>0>2]|b>>>0>=y[a+36>>2]|j>>>0>2]){break h}f=(j>>>0>=y[a+40>>2])<<2;break h}f=((b|0)!=v[a+204>>2])<<2}t[a+68|0]=w[a+68|0]&251|f;f=1;b=v[a+200>>2];if(!b){break a}h=v[b+40>>2];c=v[a+204>>2];b=h+B(c,40)|0;v[b>>2]=c;v[b+12>>2]=v[e+100>>2];g=v[e+104>>2];if(g){v[b+4>>2]=g;v[b+8>>2]=v[e+104>>2];c=v[e+104>>2];b=v[b+16>>2];if(!b){b=Ka(c,24);v[(v[v[a+200>>2]+40>>2]+B(v[a+204>>2],40)|0)+16>>2]=b;if(b){break a}f=0;Fa(d,1,16475,0);break a}b=Pa(b,B(c,24));c=v[v[a+200>>2]+40>>2]+B(v[a+204>>2],40)|0;if(!b){Ga(v[c+16>>2]);f=0;v[(v[v[a+200>>2]+40>>2]+B(v[a+204>>2],40)|0)+16>>2]=0;Fa(d,1,16475,0);break a}v[c+16>>2]=b;break a}i:{b=v[b+16>>2];if(b){break i}v[(B(c,40)+h|0)+8>>2]=10;b=Ka(10,24);h=v[v[a+200>>2]+40>>2];c=v[a+204>>2];g=h+B(c,40)|0;v[g+16>>2]=b;if(b){break i}f=0;v[g+8>>2]=0;Fa(d,1,16475,0);break a}g=v[e+100>>2];c=B(c,40)+h|0;if(g>>>0>2]){break a}h=c;c=g+1|0;v[h+8>>2]=c;b=Pa(b,B(c,24));c=v[v[a+200>>2]+40>>2]+B(v[a+204>>2],40)|0;if(!b){Ga(v[c+16>>2]);f=0;a=v[v[a+200>>2]+40>>2]+B(v[a+204>>2],40)|0;v[a+8>>2]=0;v[a+16>>2]=0;Fa(d,1,16475,0);break a}v[c+16>>2]=b;break a}v[e+64>>2]=b;Fa(d,1,23252,e- -64|0)}qa=e+112|0;return f|0}function Rb(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,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0;k=v[a+8>>2];i=k+v[a+4>>2]|0;a:{if(!v[a+12>>2]){if((i|0)<2|(d|0)<=0){break a}q=i&-4;n=i&3;r=i&1;s=i-4>>>1|0;f=v[a>>2];e=i-1|0;t=f+(e<<2)|0;u=B(c,k)<<2;w=i>>>0<4;x=e>>>0<3;y=B(e>>>1|0,c)<<2;while(1){e=v[b+u>>2];a=v[b>>2]-(e+1>>1)|0;g=0;h=0;if(!w){while(1){m=h+1|0;z=v[(B(m,c)<<2)+b>>2];l=v[(B(k+m|0,c)<<2)+b>>2];o=g<<2;v[o+f>>2]=a;j=a;a=z-((e+l|0)+2>>2)|0;v[f+(o|4)>>2]=(j+a>>1)+e;g=g+2|0;j=(h|0)!=(s|0);e=l;h=m;if(j){continue}break}}v[f+(g<<2)>>2]=a;if(r){g=v[b+y>>2]-(e+1>>1)|0;v[t>>2]=g;a=a+g>>1;l=-2}else{l=-1}v[(l+i<<2)+f>>2]=a+e;e=0;a=0;g=0;if(!x){while(1){v[(B(a,c)<<2)+b>>2]=v[f+(a<<2)>>2];h=a|1;v[(B(h,c)<<2)+b>>2]=v[f+(h<<2)>>2];h=a|2;v[(B(h,c)<<2)+b>>2]=v[f+(h<<2)>>2];h=a|3;v[(B(h,c)<<2)+b>>2]=v[f+(h<<2)>>2];a=a+4|0;g=g+4|0;if((q|0)!=(g|0)){continue}break}}if(n){while(1){v[(B(a,c)<<2)+b>>2]=v[f+(a<<2)>>2];a=a+1|0;e=e+1|0;if((n|0)!=(e|0)){continue}break}}b=b+4|0;p=p+1|0;if((p|0)!=(d|0)){continue}break}break a}b:{switch(i-1|0){case 0:if((d|0)<=0){break a}if(d>>>0>=4){c=d&-4;a=0;while(1){v[b>>2]=v[b>>2]/2;v[b+4>>2]=v[b+4>>2]/2;v[b+8>>2]=v[b+8>>2]/2;v[b+12>>2]=v[b+12>>2]/2;b=b+16|0;a=a+4|0;if((c|0)!=(a|0)){continue}break}}c=d&3;if(!c){break a}a=0;while(1){v[b>>2]=v[b>>2]/2;b=b+4|0;a=a+1|0;if((c|0)!=(a|0)){continue}break};break a;case 1:if((d|0)<=0){break a}a=v[a>>2];g=B(c,k)<<2;while(1){f=b+g|0;h=v[b>>2]-(v[f>>2]+1>>1)|0;v[a+4>>2]=h;f=h+v[f>>2]|0;v[a>>2]=f;v[b>>2]=f;v[(c<<2)+b>>2]=v[a+4>>2];b=b+4|0;e=e+1|0;if((e|0)!=(d|0)){continue}break};break a;default:break b}}if((i|0)<3|(d|0)<=0){break a}q=i&-4;n=i&3;r=i&1;j=v[a>>2];s=(j+(i<<2)|0)-4|0;a=i-2|0;t=j+(a<<2)|0;e=i|-2;u=((e+i|0)-3>>>1|0)+1|0;w=B(c,k)<<2;x=(a+e|0)+1>>>0<2;y=B((i>>>1|0)-1|0,c)<<2;while(1){k=b+w|0;g=v[k+(c<<2)>>2];a=v[k>>2];e=v[b>>2]-((g+a|0)+2>>2)|0;v[j>>2]=e+a;h=1;a=1;if(!x){while(1){z=v[(B(a,c)<<2)+b>>2];m=a+1|0;f=v[k+(B(m,c)<<2)>>2];o=j+(h<<2)|0;v[o>>2]=e;l=e;e=z-((f+g|0)+2>>2)|0;v[o+4>>2]=(l+e>>1)+g;h=h+2|0;l=(a|0)!=(u|0);a=m;g=f;if(l){continue}break}}v[j+(h<<2)>>2]=e;c:{if(!r){a=v[b+y>>2]-(g+1>>1)|0;v[t>>2]=(e+a>>1)+g;break c}a=e+g|0}v[s>>2]=a;e=0;a=0;g=0;if(i>>>0>=4){while(1){v[(B(a,c)<<2)+b>>2]=v[j+(a<<2)>>2];f=a|1;v[(B(f,c)<<2)+b>>2]=v[j+(f<<2)>>2];f=a|2;v[(B(f,c)<<2)+b>>2]=v[j+(f<<2)>>2];f=a|3;v[(B(f,c)<<2)+b>>2]=v[j+(f<<2)>>2];a=a+4|0;g=g+4|0;if((q|0)!=(g|0)){continue}break}}if(n){while(1){v[(B(a,c)<<2)+b>>2]=v[j+(a<<2)>>2];a=a+1|0;e=e+1|0;if((n|0)!=(e|0)){continue}break}}b=b+4|0;p=p+1|0;if((p|0)!=(d|0)){continue}break}}}function Ud(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;u=qa-16|0;qa=u;a:{if(!c){Fa(d,1,22150,0);break a}E=v[c+16>>2];k=v[a+72>>2];if(E>>>0>2]){Fa(d,1,21154,0);break a}h=v[a+104>>2];o=B(h,v[a+108>>2]);if(o>>>0<=e>>>0){v[u>>2]=e;v[u+4>>2]=o-1;Fa(d,1,28694,u);break a}o=(e>>>0)/(h>>>0)|0;g=e-B(o,h)|0;h=v[a+84>>2]+B(g,v[a+92>>2])|0;v[c>>2]=h;k=v[k>>2];x=h>>>0>k>>>0?h:k;v[c>>2]=x;h=v[a+84>>2]+B(v[a+92>>2],g+1|0)|0;v[c+8>>2]=h;g=v[v[a+72>>2]+8>>2];h=g>>>0>h>>>0?h:g;v[c+8>>2]=h;g=v[a+88>>2]+B(o,v[a+96>>2])|0;v[c+4>>2]=g;k=v[v[a+72>>2]+4>>2];z=g>>>0>k>>>0?g:k;v[c+4>>2]=z;o=v[a+88>>2]+B(v[a+96>>2],o+1|0)|0;v[c+12>>2]=o;g=v[v[a+72>>2]+12>>2];o=g>>>0>o>>>0?o:g;v[c+12>>2]=o;g=v[a+72>>2];k=v[g+16>>2];if(k){G=o>>31;H=h>>31;I=z>>31;J=x>>31;K=v[g+24>>2];g=v[c+24>>2];while(1){q=v[(K+B(s,52)|0)+40>>2];v[g+40>>2]=q;l=v[g>>2];t=l>>31;F=t-!l|0;i=J+F|0;f=i+1|0;j=i;w=l-1|0;i=x+w|0;f=i>>>0>>0?f:j;A=qi(i,f,l,t);v[g+16>>2]=A;f=v[g+4>>2];m=f>>31;j=m-!f|0;i=I+j|0;C=i+1|0;n=i;p=f-1|0;i=z+p|0;r=i>>>0>>0?C:n;D=qi(i,r,f,m);v[g+20>>2]=D;i=q&31;if((q&63)>>>0>=32){r=-1<>>32-i}i=n^-1;j=j+G|0;C=j+1|0;n=j;j=o+p|0;p=p>>>0>j>>>0?C:n;r=r^-1;f=qi(j,p,f,m);m=r+(f>>31)|0;n=m+1|0;j=m;m=f+i|0;p=f>>>0>m>>>0?n:j;j=q&31;f=j;q=(q&63)>>>0>=32;n=q?p>>f:((1<>>f;f=r+(D>>31)|0;m=i+D|0;p=m>>>0>>0?f+1|0:f;f=j;v[g+12>>2]=n-(q?p>>f:((1<>>f);f=H+F|0;m=f+1|0;n=f;f=h+w|0;w=f>>>0>>0?m:n;l=qi(f,w,l,t);f=r+(l>>31)|0;m=f+1|0;n=f;f=i+l|0;t=f>>>0>>0?m:n;l=j;m=q?t>>l:((1<>>l;l=r+(A>>31)|0;n=l+1|0;f=l;l=i+A|0;f=i>>>0>l>>>0?n:f;i=j;v[g+8>>2]=m-(q?f>>i:((1<>>i);g=g+52|0;s=s+1|0;if((s|0)!=(k|0)){continue}break}}if(k>>>0>>0){g=v[c+24>>2];while(1){h=B(k,52);Ga(v[(h+g|0)+44>>2]);g=v[c+24>>2];v[(h+g|0)+44>>2]=0;k=k+1|0;if(k>>>0>2]){continue}break}v[c+16>>2]=v[v[a+72>>2]+16>>2]}h=v[a+76>>2];if(h){db(h)}h=yb();v[a+76>>2]=h;g=0;if(!h){break a}Sb(c,h);v[a+44>>2]=e;if(!Ra(v[a+192>>2],124,d)){break a}e=v[a+192>>2];h=v[e>>2];k=v[e+8>>2];b:{if(h){g=1;if((h|0)!=1){o=h&-2;s=0;while(1){j=0;c:{if(!g){break c}j=0;if(!(ua[v[k>>2]](a,b,d)|0)){break c}j=(ua[v[k+4>>2]](a,b,d)|0)!=0}g=j;k=k+8|0;s=s+2|0;if((o|0)!=(s|0)){continue}break}}d:{e:{if(h&1){if(!g){break e}g=(ua[v[k>>2]](a,b,d)|0)!=0}v[e>>2]=0;if(!(g&1)){break d}break b}v[e>>2]=0}db(v[a+72>>2]);g=0;v[a+72>>2]=0;break a}v[e>>2]=0}g=Vd(a,c)}qa=u+16|0;return g|0}function md(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:{n=B(e,3);h=v[b>>2]>>>n|0;if(h&2097168){break a}h=h&495;if(!h){break a}l=(w[h+v[a+108>>2]|0]<<2)+a|0;v[a+104>>2]=l+28;k=v[l+28>>2];i=v[k>>2];h=v[a+4>>2]-i|0;v[a+4>>2]=h;j=v[a>>2];b:{if(j>>>16>>>0>>0){v[a+4>>2]=i;m=v[k+4>>2];h=h>>>0>>0;v[l+28>>2]=v[k+(h?8:12)>>2];k=h?m:!m;h=v[a+8>>2];while(1){c:{if(h){break c}h=v[a+16>>2];m=h+1|0;l=w[h+1|0];if(w[h|0]==255){if(l>>>0>=144){v[a+12>>2]=v[a+12>>2]+1;j=j+65280|0;h=8;break c}v[a+16>>2]=m;j=(l<<9)+j|0;h=7;break c}v[a+16>>2]=m;h=8;j=(l<<8)+j|0}h=h-1|0;v[a+8>>2]=h;j=j<<1;v[a>>2]=j;i=i<<1;v[a+4>>2]=i;if(i>>>0<32768){continue}break}h=i;break b}j=j-(i<<16)|0;v[a>>2]=j;if(!(h&32768)){m=v[k+4>>2];i=h>>>0>>0;v[l+28>>2]=v[k+(i?12:8)>>2];k=i?!m:m;i=v[a+8>>2];while(1){d:{if(i){break d}i=v[a+16>>2];m=i+1|0;l=w[i+1|0];if(w[i|0]==255){if(l>>>0>=144){v[a+12>>2]=v[a+12>>2]+1;j=j+65280|0;i=8;break d}v[a+16>>2]=m;j=(l<<9)+j|0;i=7;break d}v[a+16>>2]=m;i=8;j=(l<<8)+j|0}i=i-1|0;v[a+8>>2]=i;j=j<<1;v[a>>2]=j;h=h<<1;v[a+4>>2]=h;if(h>>>0<32768){continue}break}break b}k=v[k+4>>2]}e:{if(!k){break e}o=b-4|0;i=v[b>>2];k=v[b+4>>2]>>>n+17&4|(v[o>>2]>>>n+19&1|(i>>>n+16&64|i>>>n&170|i>>>(e?n+12|0:14)&16));m=(w[k+38736|0]<<2)+a|0;v[a+104>>2]=m+28;l=v[m+28>>2];i=v[l>>2];h=h-i|0;v[a+4>>2]=h;p=w[k+38992|0];f:{if(j>>>16>>>0>>0){v[a+4>>2]=i;k=v[l+4>>2];h=h>>>0>>0;v[m+28>>2]=v[l+(h?8:12)>>2];l=h?k:!k;h=v[a+8>>2];while(1){g:{if(h){break g}h=v[a+16>>2];m=h+1|0;k=w[h+1|0];if(w[h|0]==255){if(k>>>0>=144){v[a+12>>2]=v[a+12>>2]+1;j=j+65280|0;h=8;break g}v[a+16>>2]=m;j=(k<<9)+j|0;h=7;break g}v[a+16>>2]=m;h=8;j=(k<<8)+j|0}h=h-1|0;v[a+8>>2]=h;j=j<<1;v[a>>2]=j;i=i<<1;v[a+4>>2]=i;if(i>>>0<32768){continue}break}break f}k=j-(i<<16)|0;v[a>>2]=k;if(!(h&32768)){j=v[l+4>>2];i=h>>>0>>0;v[m+28>>2]=v[l+(i?12:8)>>2];l=i?!j:j;j=v[a+8>>2];while(1){h:{if(j){break h}j=v[a+16>>2];m=j+1|0;i=w[j+1|0];if(w[j|0]==255){if(i>>>0>=144){v[a+12>>2]=v[a+12>>2]+1;k=k+65280|0;j=8;break h}v[a+16>>2]=m;k=(i<<9)+k|0;j=7;break h}v[a+16>>2]=m;j=8;k=(i<<8)+k|0}j=j-1|0;v[a+8>>2]=j;k=k<<1;v[a>>2]=k;h=h<<1;v[a+4>>2]=h;if(h>>>0<32768){continue}break}break f}l=v[l+4>>2]}a=c;c=l^p;v[a>>2]=c?0-d|0:d;v[o>>2]=v[o>>2]|32<>2]=v[b>>2]|(c<<19|16)<>2]=v[b+4>>2]|8<>2]=v[a+4>>2]|32768;v[a>>2]=v[a>>2]|c<<31|65536;a=a-4|0;v[a>>2]=v[a>>2]|131072}if((e|0)!=3){break e}a=(f<<2)+b|0;v[a+4>>2]=v[a+4>>2]|1;v[a>>2]=v[a>>2]|c<<18|2;a=a-4|0;v[a>>2]=v[a>>2]|4}v[b>>2]=v[b>>2]|2097152<>2]>>>m|0;if(g&2097168){break a}k=(w[v[a+108>>2]+(g&495)|0]<<2)+a|0;v[a+104>>2]=k+28;j=v[k+28>>2];h=v[j>>2];g=v[a+4>>2]-h|0;v[a+4>>2]=g;i=v[a>>2];b:{if(i>>>16>>>0>>0){v[a+4>>2]=h;l=v[j+4>>2];g=g>>>0>>0;v[k+28>>2]=v[j+(g?8:12)>>2];j=g?l:!l;g=v[a+8>>2];while(1){c:{if(g){break c}g=v[a+16>>2];l=g+1|0;k=w[g+1|0];if(w[g|0]==255){if(k>>>0>=144){v[a+12>>2]=v[a+12>>2]+1;i=i+65280|0;g=8;break c}v[a+16>>2]=l;i=(k<<9)+i|0;g=7;break c}v[a+16>>2]=l;g=8;i=(k<<8)+i|0}g=g-1|0;v[a+8>>2]=g;i=i<<1;v[a>>2]=i;h=h<<1;v[a+4>>2]=h;if(h>>>0<32768){continue}break}g=h;break b}i=i-(h<<16)|0;v[a>>2]=i;if(!(g&32768)){l=v[j+4>>2];h=g>>>0>>0;v[k+28>>2]=v[j+(h?12:8)>>2];j=h?!l:l;h=v[a+8>>2];while(1){d:{if(h){break d}h=v[a+16>>2];l=h+1|0;k=w[h+1|0];if(w[h|0]==255){if(k>>>0>=144){v[a+12>>2]=v[a+12>>2]+1;i=i+65280|0;h=8;break d}v[a+16>>2]=l;i=(k<<9)+i|0;h=7;break d}v[a+16>>2]=l;h=8;i=(k<<8)+i|0}h=h-1|0;v[a+8>>2]=h;i=i<<1;v[a>>2]=i;g=g<<1;v[a+4>>2]=g;if(g>>>0<32768){continue}break}break b}j=v[j+4>>2]}if(!j){break a}n=b-4|0;h=v[b>>2];o=v[b+4>>2]>>>m+17&4|(v[n>>2]>>>m+19&1|(h>>>m+16&64|h>>>m&170|h>>>(e?m+12|0:14)&16));l=(w[o+38736|0]<<2)+a|0;v[a+104>>2]=l+28;k=v[l+28>>2];h=v[k>>2];g=g-h|0;v[a+4>>2]=g;e:{if(i>>>16>>>0>>0){v[a+4>>2]=h;j=v[k+4>>2];g=g>>>0>>0;v[l+28>>2]=v[k+(g?8:12)>>2];k=g?j:!j;g=v[a+8>>2];while(1){f:{if(g){break f}g=v[a+16>>2];l=g+1|0;j=w[g+1|0];if(w[g|0]==255){if(j>>>0>=144){v[a+12>>2]=v[a+12>>2]+1;i=i+65280|0;g=8;break f}v[a+16>>2]=l;i=(j<<9)+i|0;g=7;break f}v[a+16>>2]=l;g=8;i=(j<<8)+i|0}g=g-1|0;v[a+8>>2]=g;i=i<<1;v[a>>2]=i;h=h<<1;v[a+4>>2]=h;if(h>>>0<32768){continue}break}break e}j=i-(h<<16)|0;v[a>>2]=j;if(!(g&32768)){i=v[k+4>>2];h=g>>>0>>0;v[l+28>>2]=v[k+(h?12:8)>>2];k=h?!i:i;i=v[a+8>>2];while(1){g:{if(i){break g}i=v[a+16>>2];l=i+1|0;h=w[i+1|0];if(w[i|0]==255){if(h>>>0>=144){v[a+12>>2]=v[a+12>>2]+1;j=j+65280|0;i=8;break g}v[a+16>>2]=l;j=(h<<9)+j|0;i=7;break g}v[a+16>>2]=l;i=8;j=(h<<8)+j|0}i=i-1|0;v[a+8>>2]=i;j=j<<1;v[a>>2]=j;g=g<<1;v[a+4>>2]=g;if(g>>>0<32768){continue}break}break e}k=v[k+4>>2]}g=0-d|0;h=d;d=w[o+38992|0]^k;v[c>>2]=d?g:h;v[n>>2]=v[n>>2]|32<>2]=v[b>>2]|(d<<19|16)<>2]=v[b+4>>2]|8<>2]<<2)+b|0;v[c+4>>2]=v[c+4>>2]|32768;v[c>>2]=v[c>>2]|d<<31|65536;c=c-4|0;v[c>>2]=v[c>>2]|131072}if((e|0)!=3){break a}a=(v[a+124>>2]<<2)+b|0;v[a+4>>2]=v[a+4>>2]|4;v[a+12>>2]=v[a+12>>2]|1;v[a+8>>2]=v[a+8>>2]|d<<18|2}}function ae(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=qa-208|0;qa=h;j=v[a+72>>2];a:{if(!(!(v[v[a+156>>2]+5596>>2]?v[a+104>>2]!=1|v[a+108>>2]!=1:1)|v[a+8>>2]==8)){Fa(g,1,21198,0);break a}l=v[b+16>>2];b:{if(!l){break b}k=v[b+24>>2];if(l>>>0>=4){m=l&-4;while(1){v[(B(i,52)+k|0)+40>>2]=v[a+160>>2];v[(B(i|1,52)+k|0)+40>>2]=v[a+160>>2];v[(B(i|2,52)+k|0)+40>>2]=v[a+160>>2];v[(B(i|3,52)+k|0)+40>>2]=v[a+160>>2];i=i+4|0;n=n+4|0;if((m|0)!=(n|0)){continue}break}}l=l&3;if(!l){break b}while(1){v[(B(i,52)+k|0)+40>>2]=v[a+160>>2];i=i+1|0;o=o+1|0;if((l|0)!=(o|0)){continue}break}}if(!(c|d|e|f)){Fa(g,4,10287,0);v[a+28>>2]=0;v[a+32>>2]=0;c=v[a+108>>2];v[a+36>>2]=v[a+104>>2];v[a+40>>2]=c;v[b>>2]=v[j>>2];v[b+4>>2]=v[j+4>>2];v[b+8>>2]=v[j+8>>2];v[b+12>>2]=v[j+12>>2];i=lc(b,g);break a}if((c|0)<0){v[h>>2]=c;Fa(g,1,23939,h);i=0;break a}i=v[j+8>>2];if(i>>>0>>0){v[h+20>>2]=i;v[h+16>>2]=c;Fa(g,1,24407,h+16|0);i=0;break a}i=v[j>>2];c:{if(i>>>0>c>>>0){v[h+196>>2]=i;v[h+192>>2]=c;Fa(g,2,24759,h+192|0);v[a+28>>2]=0;c=v[j>>2];break c}v[a+28>>2]=(c-v[a+84>>2]>>>0)/y[a+92>>2]}v[b>>2]=c;if((d|0)<0){v[h+32>>2]=d;Fa(g,1,23875,h+32|0);i=0;break a}c=v[j+12>>2];if(c>>>0>>0){v[h+52>>2]=c;v[h+48>>2]=d;Fa(g,1,24234,h+48|0);i=0;break a}c=v[j+4>>2];d:{if(c>>>0>d>>>0){v[h+180>>2]=c;v[h+176>>2]=d;Fa(g,2,24584,h+176|0);v[a+32>>2]=0;d=v[j+4>>2];break d}v[a+32>>2]=(d-v[a+88>>2]>>>0)/y[a+96>>2]}v[b+4>>2]=d;i=0;if((e|0)<=0){v[h+64>>2]=e;Fa(g,1,23809,h- -64|0);break a}c=v[j>>2];if(c>>>0>e>>>0){v[h+84>>2]=c;v[h+80>>2]=e;Fa(g,1,24670,h+80|0);break a}c=v[j+8>>2];e:{if(c>>>0>>0){v[h+164>>2]=c;v[h+160>>2]=e;Fa(g,2,24319,h+160|0);v[a+36>>2]=v[a+104>>2];e=v[j+8>>2];break e}c=v[a+92>>2];k=e-v[a+84>>2]|0;l=k;d=c+k|0;m=c>>31;k=m+(k>>31)|0;k=d>>>0>>0?k+1|0:k;p=a,q=qi(d-1|0,k-!d|0,c,m),v[p+36>>2]=q}v[b+8>>2]=e;if((f|0)<=0){v[h+96>>2]=f;Fa(g,1,23742,h+96|0);break a}c=v[j+4>>2];if(c>>>0>f>>>0){v[h+116>>2]=c;v[h+112>>2]=f;Fa(g,1,24494,h+112|0);break a}c=v[j+12>>2];f:{if(c>>>0>>0){v[h+148>>2]=c;v[h+144>>2]=f;Fa(g,2,24145,h+144|0);v[a+40>>2]=v[a+108>>2];f=v[j+12>>2];break f}c=v[a+96>>2];e=f-v[a+88>>2]|0;i=e;d=c+i|0;j=c>>31;e=j+(i>>31)|0;e=d>>>0>>0?e+1|0:e;p=a,q=qi(d-1|0,e-!d|0,c,j),v[p+40>>2]=q}v[b+12>>2]=f;t[a+68|0]=w[a+68|0]|2;i=lc(b,g);if(!i){i=0;break a}a=v[b>>2];c=v[b+4>>2];d=v[b+12>>2];v[h+136>>2]=v[b+8>>2];v[h+140>>2]=d;v[h+128>>2]=a;v[h+132>>2]=c;Fa(g,4,17203,h+128|0)}qa=h+208|0;return i|0}function gc(a,b,c,d,e,f,g,h,i,j,k,l){var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;C=v[(v[b+76>>2]+B(c,5644)|0)+5584>>2];D=v[a+24>>2];m=v[b+24>>2];n=(c>>>0)/(m>>>0)|0;c=v[b+4>>2]+B(v[b+12>>2],c-B(m,n)|0)|0;m=v[a>>2];v[d>>2]=c>>>0>m>>>0?c:m;m=0;q=c;c=c+v[b+12>>2]|0;c=0-(q>>>0>c>>>0?1:m)|c;m=v[a+8>>2];v[e>>2]=c>>>0>>0?c:m;c=v[b+8>>2]+B(n,v[b+16>>2])|0;m=v[a+4>>2];v[f>>2]=c>>>0>m>>>0?c:m;m=0;b=c+v[b+16>>2]|0;b=0-(b>>>0>>0?1:m)|b;c=v[a+12>>2];v[g>>2]=b>>>0>>0?b:c;v[j>>2]=0;v[k>>2]=0;v[h>>2]=2147483647;v[i>>2]=2147483647;if(v[a+16>>2]){while(1){c=l?v[(H<<2)+l>>2]:0;b=v[D+4>>2];u=b-1|0;p=v[g>>2];n=u+p|0;w=0-!b|0;m=w;n=ri(n,n>>>0

>>0?m+1|0:m,b,0);z=v[D>>2];E=z-1|0;s=v[e>>2];p=E+s|0;A=0-!z|0;m=A;p=ri(p,p>>>0>>0?m+1|0:m,z,0);m=w;s=v[f>>2];u=s+u|0;u=ri(u,s>>>0>u>>>0?m+1|0:m,b,0);m=A;w=v[d>>2];b=w+E|0;m=ri(b,b>>>0>>0?m+1|0:m,z,0);b=v[C+4>>2];if(b>>>0>y[k>>2]){v[k>>2]=b;b=v[C+4>>2]}if(b){E=n;A=0;z=p;w=m;F=0;while(1){b=b-1|0;m=(F<<2)+C|0;n=v[m+944>>2];p=v[m+812>>2];s=0;if(c){v[c+4>>2]=n;v[c>>2]=p;s=c+8|0}c=b+p|0;a:{if(c>>>0>31){break a}m=v[D>>2];if(m>>>0>-1>>>c>>>0){break a}o=v[h>>2];c=m<>2]=c>>>0>o>>>0?o:c}c=b+n|0;b:{if(c>>>0>31){break b}m=v[D+4>>2];if(m>>>0>-1>>>c>>>0){break b}o=v[i>>2];c=m<>2]=c>>>0>o>>>0?o:c}c=0;o=b&31;if((b&63)>>>0>=32){m=-1<>>32-o}x=q^-1;o=x+E|0;G=m^-1;m=G+A|0;m=o>>>0>>0?m+1|0:m;t=0;q=o;o=b&31;q=(b&63)>>>0>=32?m>>>o|0:((1<>>o;o=n&31;if((n&63)>>>0>=32){m=1<>>32-o}o=q+r|0;m=m+t|0;t=o-1|0;o=(o>>>0>>0?m+1|0:m)-!o|0;m=n&31;o=(n&63)>>>0>=32?o>>>m|0:((1<>>m;m=A+G|0;r=o;t=u+x|0;m=t>>>0>>0?m+1|0:m;o=b&31;m=(b&63)>>>0>=32?m>>>o|0:((1<>>o;o=(m|0)!=(q|0)?r-(m>>>n|0)&-1>>>n:0;m=A+G|0;n=z+x|0;m=n>>>0>>0?m+1|0:m;t=0;q=n;n=b&31;q=(b&63)>>>0>=32?m>>>n|0:((1<>>n;n=p&31;if((p&63)>>>0>=32){m=1<>>32-n}n=q+r|0;m=m+t|0;t=n-1|0;n=(n>>>0>>0?m+1|0:m)-!n|0;m=p&31;n=(p&63)>>>0>=32?n>>>m|0:((1<>>m;m=A+G|0;r=n;x=w+x|0;m=x>>>0>>0?m+1|0:m;n=b&31;m=(b&63)>>>0>=32?m>>>n|0:((1<>>n;m=(m|0)!=(q|0)?r-(m>>>p|0)&-1>>>p:0;if(s){v[s+4>>2]=o;v[s>>2]=m;c=s+8|0}m=B(m,o);if(m>>>0>y[j>>2]){v[j>>2]=m}F=F+1|0;if(F>>>0>2]){continue}break}}D=D+52|0;C=C+1080|0;H=H+1|0;if(H>>>0>2]){continue}break}}}function dh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=qa-16|0;qa=g;if(v[a+8>>2]==16){h=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{h=v[a+12>>2]}a:{if(c>>>0<=1){Fa(d,1,7880,0);a=0;break a}Ia(b,g+12|0,2);if(v[g+12>>2]){Fa(d,2,9559,0);a=1;break a}if(c>>>0<=6){Fa(d,1,7880,0);a=0;break a}Ia(b+2|0,g+8|0,1);j=v[h+5628>>2];a=j;b:{c:{d:{e=v[h+5632>>2];if(!e){break d}i=v[g+8>>2];while(1){if((i|0)==v[a>>2]){break d}a=a+20|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}break c}if((e|0)!=(f|0)){break b}}if((e|0)==v[h+5636>>2]){a=e+10|0;v[h+5636>>2]=a;a=Pa(j,B(a,20));if(!a){Ga(v[h+5628>>2]);v[h+5636>>2]=0;v[h+5628>>2]=0;v[h+5632>>2]=0;Fa(d,1,7945,0);a=0;break a}v[h+5628>>2]=a;e=v[h+5632>>2];Ma(a+B(e,20)|0,0,B(v[h+5636>>2]-e|0,20));j=v[h+5628>>2];e=v[h+5632>>2]}a=B(e,20)+j|0;n=1}v[a>>2]=v[g+8>>2];Ia(b+3|0,g+12|0,2);if(v[g+12>>2]){Fa(d,2,9559,0);a=1;break a}Ia(b+5|0,g+4|0,2);f=v[g+4>>2];if(f>>>0>=2){Fa(d,2,5377,0);a=1;break a}e=c-7|0;if(f){c=b+7|0;j=0;while(1){if(e>>>0<=2){Fa(d,1,7880,0);a=0;break a}Ia(c,g+12|0,1);if(v[g+12>>2]!=1){Fa(d,2,9062,0);a=1;break a}Ia(c+1|0,g,2);f=v[g>>2];b=f&32767;v[a+4>>2]=b;i=e-3|0;e=(f>>>15|0)+1|0;k=B(e,b)+2|0;if(i>>>0>>0){Fa(d,1,7880,0);a=0;break a}c=c+3|0;f=0;if(b){while(1){Ia(c,g+12|0,e);if(v[g+12>>2]!=(f|0)){Fa(d,2,10202,0);a=1;break a}c=c+e|0;f=f+1|0;if(f>>>0>2]){continue}break}}Ia(c,g,2);e=v[g>>2];b=e&32767;v[g>>2]=b;if((b|0)!=v[a+4>>2]){Fa(d,2,5690,0);a=1;break a}e=(e>>>15|0)+1|0;l=B(e,b)+3|0;k=i-k|0;if(l>>>0>k>>>0){Fa(d,1,7880,0);a=0;break a}c=c+2|0;f=0;if(b){while(1){Ia(c,g+12|0,e);if(v[g+12>>2]!=(f|0)){Fa(d,2,10202,0);a=1;break a}c=c+e|0;f=f+1|0;if(f>>>0>2]){continue}break}}Ia(c,g+12|0,3);e=v[g+12>>2];v[a+8>>2]=0;v[a+12>>2]=0;t[a+16|0]=(e>>>16&1|w[a+16|0]&254)^1;i=e&255;v[g+8>>2]=i;e:{if(!i){break e}m=v[h+5620>>2];if(m){f=v[h+5616>>2];b=0;while(1){if((i|0)==v[f+8>>2]){v[a+8>>2]=f;break e}f=f+20|0;b=b+1|0;if((m|0)!=(b|0)){continue}break}}Fa(d,1,7880,0);a=0;break a}e=e>>>8&255;v[g+8>>2]=e;f:{if(!e){break f}i=v[h+5620>>2];if(i){f=v[h+5616>>2];b=0;while(1){if((e|0)==v[f+8>>2]){v[a+12>>2]=f;break f}f=f+20|0;b=b+1|0;if((i|0)!=(b|0)){continue}break}}Fa(d,1,7880,0);a=0;break a}e=k-l|0;c=c+3|0;j=j+1|0;if(j>>>0>2]){continue}break}}if(e){Fa(d,1,7880,0);a=0;break a}a=1;if(!n){break a}v[h+5632>>2]=v[h+5632>>2]+1;a=1}qa=g+16|0;return a|0}function Ch(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=v[a+52>>2];j=v[a+72>>2];e=v[j+16>>2];f=e+6|0;if(f>>>0>y[a+56>>2]){d=Pa(d,f);if(!d){Ga(v[a+52>>2]);v[a+52>>2]=0;v[a+56>>2]=0;Fa(c,1,7646,0);return 0}v[a+56>>2]=f;v[a+52>>2]=d}Ha(d,65400,2);Ha(d+2|0,e+4|0,2);Ha(d+4|0,v[j+16>>2],2);if(v[j+16>>2]){e=d+6|0;d=v[j+24>>2];while(1){Ha(e,v[d+24>>2]-1|v[d+32>>2]<<7,1);d=d+52|0;e=e+1|0;g=g+1|0;if(g>>>0>2]){continue}break}}a:{if((Ua(b,v[a+52>>2],f,c)|0)!=(f|0)){break a}l=v[a+156>>2];i=v[a+204>>2];g=l+B(i,5644)|0;if(v[g+5620>>2]){j=g+5620|0;e=v[g+5616>>2];while(1){d=v[a+52>>2];f=v[e+16>>2];k=f+10|0;if(k>>>0>y[a+56>>2]){d=Pa(d,k);if(!d){Ga(v[a+52>>2]);v[a+52>>2]=0;v[a+56>>2]=0;Fa(c,1,6711,0);return 0}v[a+56>>2]=k;v[a+52>>2]=d}Ha(d,65396,2);Ha(d+2|0,f+8|0,2);Ha(d+4|0,0,2);Ha(d+6|0,w[e+8|0]|v[e+4>>2]<<8|v[e>>2]<<10,2);Ha(d+8|0,0,2);Ja(d+10|0,v[e+12>>2],v[e+16>>2]);if((Ua(b,v[a+52>>2],k,c)|0)!=(k|0)){break a}e=e+20|0;h=h+1|0;if(h>>>0>2]){continue}break}}b:{if(v[g+5632>>2]){j=g+5632|0;h=v[(l+B(i,5644)|0)+5628>>2];l=0;while(1){e=v[a+52>>2];d=v[h+4>>2];f=d>>>0>255;k=f?2:1;d=B(d,k)<<1;i=d+19|0;if(i>>>0>y[a+56>>2]){e=Pa(e,i);if(!e){Ga(v[a+52>>2]);v[a+52>>2]=0;v[a+56>>2]=0;Fa(c,1,7906,0);return 0}v[a+56>>2]=i;v[a+52>>2]=e}Ha(e,65397,2);Ha(e+2|0,d+17|0,2);g=0;Ha(e+4|0,0,2);Ha(e+6|0,v[h>>2],1);Ha(e+7|0,0,2);Ha(e+9|0,1,2);Ha(e+11|0,1,1);d=f<<15;Ha(e+12|0,d|v[h+4>>2],2);e=e+14|0;m=0;f=0;if(v[h+4>>2]){while(1){Ha(e,m,k);e=e+k|0;m=m+1|0;f=v[h+4>>2];if(m>>>0>>0){continue}break}}Ha(e,d|f,2);e=e+2|0;if(v[h+4>>2]){while(1){Ha(e,g,k);e=e+k|0;g=g+1|0;if(g>>>0>2]){continue}break}}d=((w[h+16|0]^-1)&1)<<16;f=v[h+8>>2];if(f){d=v[f+8>>2]|d}f=v[h+12>>2];if(f){d=v[f+8>>2]<<8|d}Ha(e,d,3);if((Ua(b,v[a+52>>2],i,c)|0)!=(i|0)){break b}h=h+20|0;l=l+1|0;if(l>>>0>2]){continue}break}}d=v[a+52>>2];j=v[a+156>>2];l=v[a+204>>2];f=j+B(l,5644)|0;e=v[f+5632>>2];i=e+5|0;if(i>>>0>y[a+56>>2]){d=Pa(d,i);if(!d){Ga(v[a+52>>2]);v[a+52>>2]=0;v[a+56>>2]=0;Fa(c,1,6877,0);break b}v[a+56>>2]=i;v[a+52>>2]=d}Ha(d,65399,2);Ha(d+2|0,e+3|0,2);m=1;f=f+5632|0;Ha(d+4|0,v[f>>2],1);if(v[f>>2]){d=d+5|0;e=v[(j+B(l,5644)|0)+5628>>2];g=0;while(1){Ha(d,v[e>>2],1);e=e+20|0;d=d+1|0;g=g+1|0;if(g>>>0>2]){continue}break}}if((Ua(b,v[a+52>>2],i,c)|0)==(i|0)){break a}}m=0}return m|0}function xd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=qa-144|0;qa=f;a:{b:{i=v[b+8>>2];c:{if(!i){g=v[b+12>>2];break c}e=v[a+16>>2];h=x[i+4>>1];g=v[b+12>>2];if(!(!g|!v[g+12>>2])){e=w[g+18|0]}d:{if(h){i=v[i>>2];b=0;while(1){d=i+B(b,6)|0;k=x[d>>1];if(k>>>0>=e>>>0){v[f+132>>2]=e;v[f+128>>2]=k;Fa(c,1,25052,f+128|0);k=0;break a}e:{d=x[d+4>>1];if(!(!d|(d|0)==65535)){d=d-1|0;if(d>>>0>=e>>>0){break e}}b=b+1|0;if((h|0)==(b|0)){break d}continue}break}v[f+116>>2]=e;v[f+112>>2]=d;Fa(c,1,25052,f+112|0);k=0;break a}if(e){break b}break c}if(!h){break b}while(1){e=e-1|0;b=0;while(1){if(x[i+B(b,6)>>1]!=(e|0)){b=b+1|0;if((h|0)!=(b|0)){continue}break b}break}if((h|0)==(b&65535)){break b}if(e){continue}break}}k=1;if(!g){break a}i=v[g+12>>2];if(!i){break a}f:{e=w[g+18|0];g:{if(e){b=0;h=1;while(1){g=v[a+16>>2];d=x[i+(b<<2)>>1];if(g>>>0<=d>>>0){v[f+100>>2]=g;v[f+96>>2]=d;Fa(c,1,25052,f+96|0);h=0}b=b+1|0;if((e|0)!=(b|0)){continue}break}g=Ka(e,4);if(!g){break g}b=0;if(e){while(1){d=i+(b<<2)|0;l=w[d+2|0];h:{if(l>>>0>=2){v[f+20>>2]=l;v[f+16>>2]=b;Fa(c,1,23213,f+16|0);h=0;break h}d=w[d+3|0];if(d>>>0>=e>>>0){v[f+80>>2]=d;Fa(c,1,23157,f+80|0);h=0;break h}j=(d<<2)+g|0;if(!(!v[j>>2]|(l|0)!=1)){v[f+32>>2]=d;Fa(c,1,22088,f+32|0);h=0;break h}if(!(!d|l)){v[f+52>>2]=d;v[f+48>>2]=b;Fa(c,1,23020,f+48|0);h=0;break h}if(!((b|0)==(d|0)|(l|0)!=1)){v[f+72>>2]=d;v[f+68>>2]=b;v[f+64>>2]=b;Fa(c,1,23056,f- -64|0);h=0;break h}v[j>>2]=1}b=b+1|0;if((e|0)!=(b|0)){continue}break}if(e){b=0;while(1){d=b<<2;if(!(v[d+g>>2]|!w[(d+i|0)+2|0])){v[f>>2]=b;Fa(c,1,21716,f);h=0}b=b+1|0;if((e|0)!=(b|0)){continue}break}}b=e}if(!h){Ga(g);k=0;break a}if(!e|v[a+16>>2]!=1){break f}a=0;d=0;while(1){if(v[(a<<2)+g>>2]){d=d+1|0;a=d&65535;if(e>>>0>a>>>0){continue}break f}break}d=0;Fa(c,2,19520,0);a=0;e=0;if(b-1>>>0>=3){l=b&252;h=0;while(1){c=a<<2;j=c+i|0;t[j+3|0]=e;t[j+2|0]=1;j=i+(c|4)|0;t[j+3|0]=e|1;t[j+2|0]=1;j=i+(c|8)|0;t[j+3|0]=e|2;t[j+2|0]=1;c=i+(c|12)|0;t[c+3|0]=e|3;t[c+2|0]=1;e=e+4|0;a=a+4|0;h=h+4|0;if((l|0)!=(h|0)){continue}break}}b=b&3;if(!b){break f}while(1){c=i+(a<<2)|0;t[c+3|0]=e;t[c+2|0]=1;e=e+1|0;a=a+1|0;d=d+1|0;if((b|0)!=(d|0)){continue}break}break f}g=Ka(e,4);if(g){break f}}k=0;Fa(c,1,23475,0);break a}Ga(g);break a}k=0;Fa(c,1,19571,0)}qa=f+144|0;return k}function wd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=qa-16|0;qa=p;o=v[a+24>>2];a:{b:{c:{d:{e:{f=v[b+12>>2];i=w[f+18|0];if(i){r=v[f+12>>2];s=v[f>>2];g=v[f+4>>2];n=v[f+8>>2];while(1){if(v[(B(x[(e<<2)+r>>1],52)+o|0)+44>>2]){d=d+1|0;e=d&65535;if(i>>>0>e>>>0){continue}break e}break}v[p>>2]=e;Fa(c,1,25214,p);a=0;break a}b=B(i,52);i=0;k=La(b);if(!k){break d}break b}k=La(B(i,52));if(k){break c}}Fa(c,1,25162,0);a=0;break a}if(!i){break b}e=0;while(1){d=(e<<2)+r|0;h=x[d>>1];f=B(w[d+2|0]?w[d+3|0]:e,52)+k|0;d=B(h,52)+o|0;h=v[d+4>>2];v[f>>2]=v[d>>2];v[f+4>>2]=h;v[f+48>>2]=v[d+48>>2];h=v[d+44>>2];v[f+40>>2]=v[d+40>>2];v[f+44>>2]=h;h=v[d+36>>2];v[f+32>>2]=v[d+32>>2];v[f+36>>2]=h;h=v[d+28>>2];v[f+24>>2]=v[d+24>>2];v[f+28>>2]=h;h=v[d+20>>2];v[f+16>>2]=v[d+16>>2];v[f+20>>2]=h;h=v[d+12>>2];v[f+8>>2]=v[d+8>>2];v[f+12>>2]=h;f=B(e,52)+k|0;d=Ta(B(v[d+8>>2],v[d+12>>2])<<2);v[f+44>>2]=d;if(!d){if(e&65535){while(1){e=e-1|0;Ga(v[(B(e,52)+k|0)+44>>2]);if(e){continue}break}}Ga(k);Fa(c,1,25162,0);a=0;break a}v[f+24>>2]=w[e+n|0];v[f+32>>2]=w[e+g|0];e=e+1|0;if((i|0)!=(e|0)){continue}break}if(!i){break b}n=x[v[b+12>>2]+16>>1];h=n-1|0;while(1){e=B(q,52)+k|0;b=B(v[e+12>>2],v[e+8>>2]);d=(q<<2)+r|0;c=v[(B(x[d>>1],52)+o|0)+44>>2];f:{if(!w[d+2|0]){if(!b){break f}f=v[e+44>>2];e=0;d=0;if(b>>>0>=4){l=b&-4;j=0;while(1){g=d<<2;v[g+f>>2]=v[c+g>>2];m=g|4;v[m+f>>2]=v[c+m>>2];m=g|8;v[m+f>>2]=v[c+m>>2];g=g|12;v[g+f>>2]=v[c+g>>2];d=d+4|0;j=j+4|0;if((l|0)!=(j|0)){continue}break}}b=b&3;if(!b){break f}while(1){g=d<<2;v[g+f>>2]=v[c+g>>2];d=d+1|0;e=e+1|0;if((b|0)!=(e|0)){continue}break}break f}if(!b){break f}f=w[d+3|0];g=v[(B(f,52)+k|0)+44>>2];d=0;if((b|0)!=1){m=b&-2;e=0;while(1){l=d<<2;j=v[l+c>>2];v[g+l>>2]=v[(f+B((j|0)>=0?(j|0)<(n|0)?j:h:0,i)<<2)+s>>2];l=l|4;j=v[l+c>>2];v[g+l>>2]=v[(f+B((j|0)>=0?(j|0)<(n|0)?j:h:0,i)<<2)+s>>2];d=d+2|0;e=e+2|0;if((m|0)!=(e|0)){continue}break}}if(!(b&1)){break f}e=d<<2;b=v[c+e>>2];v[e+g>>2]=v[(f+B((b|0)>=0?(b|0)<(n|0)?b:h:0,i)<<2)+s>>2]}q=q+1|0;if((q|0)!=(i|0)){continue}break}}b=v[a+16>>2];if(b){e=0;while(1){c=v[(B(e,52)+o|0)+44>>2];if(c){Ga(c)}e=e+1|0;if((b|0)!=(e|0)){continue}break}}Ga(o);v[a+16>>2]=i;v[a+24>>2]=k;a=1}qa=p+16|0;return a}function bi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(y[a+44>>2]>=8){i=v[a+40>>2];l=8;while(1){k=v[a+12>>2]<<5;e=v[a>>2];g=v[a+36>>2];b=v[a+16>>2];h=v[a+20>>2];a:{if(b>>>0>=h>>>0){break a}j=e+k|0;d=b+1|0;if(h-b&1){c=j+(b<<6)|0;b=(B(b,g)<<2)+i|0;f=v[b+4>>2];v[c>>2]=v[b>>2];v[c+4>>2]=f;f=v[b+28>>2];v[c+24>>2]=v[b+24>>2];v[c+28>>2]=f;f=v[b+20>>2];v[c+16>>2]=v[b+16>>2];v[c+20>>2]=f;f=v[b+12>>2];v[c+8>>2]=v[b+8>>2];v[c+12>>2]=f;b=d}if((d|0)==(h|0)){break a}while(1){d=(B(b,g)<<2)+i|0;f=v[d+4>>2];c=j+(b<<6)|0;v[c>>2]=v[d>>2];v[c+4>>2]=f;f=v[d+28>>2];v[c+24>>2]=v[d+24>>2];v[c+28>>2]=f;f=v[d+20>>2];v[c+16>>2]=v[d+16>>2];v[c+20>>2]=f;f=v[d+12>>2];v[c+8>>2]=v[d+8>>2];v[c+12>>2]=f;d=b+1|0;c=j+(d<<6)|0;d=(B(d,g)<<2)+i|0;f=v[d+28>>2];v[c+24>>2]=v[d+24>>2];v[c+28>>2]=f;f=v[d+20>>2];v[c+16>>2]=v[d+16>>2];v[c+20>>2]=f;f=v[d+12>>2];v[c+8>>2]=v[d+8>>2];v[c+12>>2]=f;f=v[d+4>>2];v[c>>2]=v[d>>2];v[c+4>>2]=f;b=b+2|0;if((h|0)!=(b|0)){continue}break}}b=v[a+24>>2];h=v[a+28>>2];b:{if(b>>>0>=h>>>0){break b}j=(e-k|0)+32|0;k=(B(g,v[a+8>>2])<<2)+i|0;d=b+1|0;if(h-b&1){c=j+(b<<6)|0;b=k+(B(b,g)<<2)|0;e=v[b+4>>2];v[c>>2]=v[b>>2];v[c+4>>2]=e;e=v[b+28>>2];v[c+24>>2]=v[b+24>>2];v[c+28>>2]=e;e=v[b+20>>2];v[c+16>>2]=v[b+16>>2];v[c+20>>2]=e;e=v[b+12>>2];v[c+8>>2]=v[b+8>>2];v[c+12>>2]=e;b=d}if((d|0)==(h|0)){break b}while(1){d=k+(B(b,g)<<2)|0;e=v[d+4>>2];c=j+(b<<6)|0;v[c>>2]=v[d>>2];v[c+4>>2]=e;e=v[d+28>>2];v[c+24>>2]=v[d+24>>2];v[c+28>>2]=e;e=v[d+20>>2];v[c+16>>2]=v[d+16>>2];v[c+20>>2]=e;e=v[d+12>>2];v[c+8>>2]=v[d+8>>2];v[c+12>>2]=e;d=b+1|0;c=j+(d<<6)|0;d=k+(B(d,g)<<2)|0;e=v[d+28>>2];v[c+24>>2]=v[d+24>>2];v[c+28>>2]=e;e=v[d+20>>2];v[c+16>>2]=v[d+16>>2];v[c+20>>2]=e;e=v[d+12>>2];v[c+8>>2]=v[d+8>>2];v[c+12>>2]=e;e=v[d+4>>2];v[c>>2]=v[d>>2];v[c+4>>2]=e;b=b+2|0;if((h|0)!=(b|0)){continue}break}}hb(a);b=0;if(v[a+32>>2]){while(1){d=v[a>>2]+(b<<5)|0;c=v[d+4>>2];g=(B(v[a+36>>2],b)<<2)+i|0;v[g>>2]=v[d>>2];v[g+4>>2]=c;c=v[d+28>>2];v[g+24>>2]=v[d+24>>2];v[g+28>>2]=c;c=v[d+20>>2];v[g+16>>2]=v[d+16>>2];v[g+20>>2]=c;c=v[d+12>>2];v[g+8>>2]=v[d+8>>2];v[g+12>>2]=c;b=b+1|0;if(b>>>0>2]){continue}break}}i=i+32|0;l=l+8|0;if(l>>>0<=y[a+44>>2]){continue}break}}Ga(v[a>>2]);Ga(a)}function If(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0;c=b;b=v[b>>2]+7&-8;v[c>>2]=b+16;q=a;i=v[b>>2];d=v[b+4>>2];a=v[b+12>>2];o=a;g=qa-32|0;qa=g;a=a&2147483647;h=a;e=a-1006698496|0;a=a-1140785152|0;c=v[b+8>>2];b=c;a:{if((e|0)==(a|0)&b>>>0>>0|a>>>0>e>>>0){a=c;c=o<<4|a>>>28;b=a<<4|d>>>28;a=c;d=d&268435455;if((d|0)==134217728&(i|0)!=0|d>>>0>134217728){a=a+1073741824|0;b=b+1|0;a=b?a:a+1|0;break a}a=a+1073741824|0;if(i|(d|0)!=134217728){break a}d=b&1;b=d+b|0;a=b>>>0>>0?a+1|0:a;break a}if(!(!b&(h|0)==2147418112?!(d|i):h>>>0<2147418112)){a=c;c=o<<4|a>>>28;b=a<<4|d>>>28;a=c&524287|2146959360;break a}b=0;a=2146435072;if(h>>>0>1140785151){break a}a=0;p=h>>>16|0;if(p>>>0<15249){break a}b=i;a=d;e=o&65535|65536;h=e;m=c;f=c;j=p-15233|0;b:{if(j&64){c=b;e=j+-64|0;b=e&31;if((e&63)>>>0>=32){a=c<>>32-b|a<>>0>=32){c=k<>>32-f|e<>>0>=32){c=0;b=a>>>f|0}else{c=a>>>f|0;b=((1<>>f}f=r|b;e=c|e;b=j&31;if((j&63)>>>0>=32){c=k<>>32-b|a<>2]=b;v[g+20>>2]=a;v[g+24>>2]=f;v[g+28>>2]=e;b=15361-p|0;c:{if(b&64){d=m;b=b+-64|0;a=b&31;if((b&63)>>>0>=32){c=0;i=h>>>a|0}else{c=h>>>a|0;i=((1<>>a}d=c;m=0;h=0;break c}if(!b){break c}e=m;a=64-b|0;c=a&31;if((a&63)>>>0>=32){a=e<>>32-c|h<>>0>=32){c=0;e=d>>>i|0}else{c=d>>>i|0;e=((1<>>i}i=f|e;d=a|c;e=m;c=b&31;if((b&63)>>>0>=32){a=0;m=h>>>c|0}else{a=h>>>c|0;m=((1<>>c}h=a}v[g>>2]=i;v[g+4>>2]=d;v[g+8>>2]=m;v[g+12>>2]=h;b=v[g+8>>2];a=v[g+12>>2]<<4|b>>>28;b=b<<4;c=v[g>>2];h=v[g+4>>2];b=h>>>28|b;d=h&268435455;c=c|(v[g+16>>2]|v[g+24>>2]|(v[g+20>>2]|v[g+28>>2]))!=0;if((d|0)==134217728&(c|0)!=0|d>>>0>134217728){b=b+1|0;a=b?a:a+1|0;break a}if(c|(d|0)!=134217728){break a}c=b;b=b+(b&1)|0;a=c>>>0>b>>>0?a+1|0:a}qa=g+32|0;l(0,b|0);l(1,o&-2147483648|a);s=q,t=+n(),A[s>>3]=t}function je(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,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0;r=v[a+4>>2];l=v[b>>2];j=v[b+8>>2];k=v[b+28>>2];o=v[b+36>>2];h=v[b+20>>2];f=h-1|0;a:{if(f){m=f&1;b:{if((h|0)==2){b=k;break b}s=f&-2;b=k;while(1){i=v[b+160>>2]-v[b+152>>2]|0;g=g>>>0>i>>>0?g:i;i=v[b+164>>2]-v[b+156>>2]|0;g=g>>>0>i>>>0?g:i;i=v[b+312>>2]-v[b+304>>2]|0;g=g>>>0>i>>>0?g:i;i=v[b+316>>2]-v[b+308>>2]|0;g=g>>>0>i>>>0?g:i;b=b+304|0;e=e+2|0;if((s|0)!=(e|0)){continue}break}}if(m){e=v[b+160>>2]-v[b+152>>2]|0;e=e>>>0>>0?g:e;b=v[b+164>>2]-v[b+156>>2]|0;g=b>>>0>>0?e:b}e=0;if(g>>>0>134217727){break a}}s=g<<5;m=nb(s);if(m?0:g){break a}c:{d:{if(f){l=j-l|0;k=k+B(f,152)|0;b=h-2|0;i=(r|0)<2;while(1){g=b;b=k;k=b-152|0;u=v[k>>2];w=v[k+8>>2];p=v[b+12>>2];n=v[b+4>>2];h=p-n|0;j=n&1;x=v[b>>2];f=v[b+8>>2]-x|0;e:{if(!(!i&f>>>0>15)){b=0;if(f>>>0>=8){e=!j;while(1){ua[c|0]((b<<2)+o|0,m,h,e,l,8);b=b+8|0;if(f>>>0>(b|7)>>>0){continue}break}}if(b>>>0>=f>>>0){break e}ua[c|0]((b<<2)+o|0,m,h,!j,l,f-b|0);break e}y=v[k+12>>2]-v[k+4>>2]|0;A=h-y|0;q=f>>>0>>0?f:r;t=(f>>>0)/(q>>>0)&-8;e=0;while(1){b=La(40);if(!b){break d}z=nb(s);v[b>>2]=z;if(!z){$a(a);Ga(b);e=0;break c}v[b+36>>2]=c;v[b+24>>2]=o;v[b+20>>2]=l;v[b+16>>2]=h;v[b+12>>2]=j;v[b+8>>2]=y;v[b+4>>2]=A;v[b+28>>2]=B(e,t);e=e+1|0;v[b+32>>2]=(e|0)==(q|0)?f:B(t,e);kb(a,111,b);if((e|0)!=(q|0)){continue}break}$a(a)}j=x&1;f:{if(!(!i&h>>>0>1)){if((n|0)==(p|0)){break f}e=!j;b=0;if((h|0)!=1){n=h&-2;j=0;while(1){ua[d|0]((B(b,l)<<2)+o|0,m,f,e);ua[d|0]((B(l,b|1)<<2)+o|0,m,f,e);b=b+2|0;j=j+2|0;if((n|0)!=(j|0)){continue}break}}if(!(h&1)){break f}ua[d|0]((B(b,l)<<2)+o|0,m,f,e);break f}t=w-u|0;u=f-t|0;n=h>>>0>>0?h:r;w=n-1|0;q=(h>>>0)/(n>>>0)|0;e=0;while(1){b=La(40);if(!b){break d}p=nb(s);v[b>>2]=p;if(!p){$a(a);Ga(b);e=0;break c}v[b+36>>2]=d;v[b+24>>2]=o;v[b+20>>2]=l;v[b+16>>2]=f;v[b+12>>2]=j;v[b+8>>2]=t;v[b+4>>2]=u;v[b+28>>2]=B(e,q);p=(e|0)==(w|0);e=e+1|0;v[b+32>>2]=p?h:B(q,e);kb(a,112,b);if((e|0)!=(n|0)){continue}break}$a(a)}b=g-1|0;if(g){continue}break}}e=1;break c}$a(a);e=0}Ga(m)}return e}function vd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=qa-80|0;qa=f;h=v[b+8>>2];m=v[h>>2];n=x[h+4>>1];if(n){h=0;r=n-2&65535;o=1;while(1){p=B(h,6)+m|0;i=x[p>>1];d=v[a+16>>2];a:{if(i>>>0>=d>>>0){v[f+20>>2]=d;v[f+16>>2]=i;Fa(c,2,16937,f+16|0);break a}e=x[p+4>>1];if((e+1&65535)>>>0<=1){u[(v[a+24>>2]+B(i,52)|0)+48>>1]=x[p+2>>1];break a}q=e-1|0;l=q&65535;if(d>>>0<=l>>>0){v[f+4>>2]=d;v[f>>2]=l;Fa(c,2,16896,f);break a}b:{if(x[p+2>>1]|(i|0)==(l|0)){break b}e=v[a+24>>2];d=e+B(i,52)|0;v[f+72>>2]=v[d+48>>2];g=v[d+44>>2];j=f- -64|0;v[j>>2]=v[d+40>>2];v[j+4>>2]=g;g=v[d+36>>2];v[f+56>>2]=v[d+32>>2];v[f+60>>2]=g;g=v[d+28>>2];v[f+48>>2]=v[d+24>>2];v[f+52>>2]=g;g=v[d+20>>2];v[f+40>>2]=v[d+16>>2];v[f+44>>2]=g;g=v[d+12>>2];v[f+32>>2]=v[d+8>>2];v[f+36>>2]=g;g=v[d+4>>2];v[f+24>>2]=v[d>>2];v[f+28>>2]=g;g=B(l,52);e=g+e|0;v[d+48>>2]=v[e+48>>2];k=v[e+44>>2];v[d+40>>2]=v[e+40>>2];v[d+44>>2]=k;k=v[e+36>>2];v[d+32>>2]=v[e+32>>2];v[d+36>>2]=k;k=v[e+28>>2];v[d+24>>2]=v[e+24>>2];v[d+28>>2]=k;k=v[e+20>>2];v[d+16>>2]=v[e+16>>2];v[d+20>>2]=k;k=v[e+12>>2];v[d+8>>2]=v[e+8>>2];v[d+12>>2]=k;k=v[e+4>>2];v[d>>2]=v[e>>2];v[d+4>>2]=k;e=v[f+28>>2];d=g+v[a+24>>2]|0;v[d>>2]=v[f+24>>2];v[d+4>>2]=e;v[d+48>>2]=v[f+72>>2];e=v[j+4>>2];v[d+40>>2]=v[j>>2];v[d+44>>2]=e;e=v[f+60>>2];v[d+32>>2]=v[f+56>>2];v[d+36>>2]=e;e=v[f+52>>2];v[d+24>>2]=v[f+48>>2];v[d+28>>2]=e;e=v[f+44>>2];v[d+16>>2]=v[f+40>>2];v[d+20>>2]=e;e=v[f+36>>2];v[d+8>>2]=v[f+32>>2];v[d+12>>2]=e;if(h+1>>>0>=n>>>0){break b}e=o;if((h^-1)+n&1){e=q;d=B(o,6)+m|0;j=x[d>>1];c:{if((j|0)!=(i|0)){e=i;if((j|0)!=(l|0)){break c}}u[d>>1]=e}e=o+1|0}if((h&65535)==(r|0)){break b}while(1){d=q;j=B(e,6)+m|0;g=x[j>>1];d:{if((g|0)!=(i|0)){d=i;if((g|0)!=(l|0)){break d}}u[j>>1]=d}d=q;g=x[j+6>>1];e:{if((g|0)!=(i|0)){d=i;if((g|0)!=(l|0)){break e}}u[j+6>>1]=d}e=e+2|0;if((e&65535)!=(n|0)){continue}break}}u[(v[a+24>>2]+B(i,52)|0)+48>>1]=x[p+2>>1]}o=o+1|0;h=h+1|0;if((n|0)!=(h|0)){continue}break}h=v[b+8>>2];m=v[h>>2]}if(m){Ga(m);h=v[b+8>>2]}Ga(h);v[b+8>>2]=0;qa=f+80|0}function Vh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=qa-80|0;qa=f;v[f+76>>2]=1;e=v[a+200>>2];d=v[e+40>>2];a:{b:{if(d){break b}d=B(v[a+108>>2],v[a+104>>2]);v[e+36>>2]=d;d=Ka(d,40);e=v[a+200>>2];v[e+40>>2]=d;if(!d){e=0;break a}if(!v[e+36>>2]){break b}while(1){e=0;h=B(g,40);d=h+d|0;v[d+20>>2]=0;v[d+28>>2]=100;j=Ka(100,24);i=v[a+200>>2];d=v[i+40>>2];v[(h+d|0)+24>>2]=j;if(!j){break a}g=g+1|0;if(g>>>0>2]){continue}break}}j=v[a+44>>2];c:{if(!v[d+16>>2]){break c}d:{d=B(j,40)+d|0;if(!v[d+4>>2]){d=v[a+52>>2];e=v[a+48>>2]+2|0;d=e>>>0<2?d+1|0:d;if(Hb(b,e,d,c)){break d}e=0;Fa(c,1,8923,0);break a}d=v[d+16>>2];e=v[d>>2];d=v[d+4>>2];e=e+2|0;d=e>>>0<2?d+1|0:d;if(Hb(b,e,d,c)){break d}e=0;Fa(c,1,8923,0);break a}if(v[a+8>>2]!=256){break c}v[a+8>>2]=8}h=B(v[a+108>>2],v[a+104>>2]);e:{if(!h){break e}e=v[a+156>>2];d=0;if(h>>>0>=8){i=h&-8;g=0;while(1){v[(e+B(d,5644)|0)+5588>>2]=-1;v[(e+B(d|1,5644)|0)+5588>>2]=-1;v[(e+B(d|2,5644)|0)+5588>>2]=-1;v[(e+B(d|3,5644)|0)+5588>>2]=-1;v[(e+B(d|4,5644)|0)+5588>>2]=-1;v[(e+B(d|5,5644)|0)+5588>>2]=-1;v[(e+B(d|6,5644)|0)+5588>>2]=-1;v[(e+B(d|7,5644)|0)+5588>>2]=-1;d=d+8|0;g=g+8|0;if((i|0)!=(g|0)){continue}break}}g=h&7;if(!g){break e}while(1){v[(e+B(d,5644)|0)+5588>>2]=-1;d=d+1|0;k=k+1|0;if((g|0)!=(k|0)){continue}break}}e=0;if(!wb(a,f+72|0,0,f+68|0,f- -64|0,f+60|0,f+56|0,f+52|0,f+76|0,b,c)){break a}h=j+1|0;while(1){f:{if(!v[f+76>>2]){break f}d=v[f+72>>2];if(!Fb(a,d,0,0,b,c)){break a}i=v[a+104>>2];k=v[a+108>>2];g=d+1|0;v[f+32>>2]=g;v[f+36>>2]=B(i,k);Fa(c,4,22836,f+32|0);if(!Cd(v[a+208>>2],v[v[a+76>>2]+24>>2])){break a}e=v[a+156>>2]+B(d,5644)|0;i=v[e+5596>>2];if(i){Ga(i);v[e+5596>>2]=0;v[e+5600>>2]=0}v[f+16>>2]=g;Fa(c,4,28933,f+16|0);if((d|0)==(j|0)){d=v[a+200>>2];e=v[d+8>>2];d=v[d+12>>2];e=e+2|0;d=e>>>0<2?d+1|0:d;if(Hb(b,e,d,c)){break f}e=0;Fa(c,1,8923,0);break a}v[f+4>>2]=h;v[f>>2]=g;Fa(c,2,24985,f);e=0;if(wb(a,f+72|0,0,f+68|0,f- -64|0,f+60|0,f+56|0,f+52|0,f+76|0,b,c)){continue}break a}break}e=(Bd(a,c)|0)!=0}qa=f+80|0;return e|0}function Ld(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=yb();v[a+72>>2]=e;if(!e){Fa(d,1,3221,0);return 0}Sb(c,e);e=v[c+24>>2];a:{if(!e){break a}f=v[c+16>>2];if(!f){break a}c=0;if((f|0)!=1){h=f&-2;while(1){g=B(c,52);i=g+e|0;k=v[i+44>>2];if(k){v[(g+v[v[a+72>>2]+24>>2]|0)+44>>2]=k;v[i+44>>2]=0}g=B(c|1,52);i=g+e|0;k=v[i+44>>2];if(k){v[(g+v[v[a+72>>2]+24>>2]|0)+44>>2]=k;v[i+44>>2]=0}c=c+2|0;j=j+2|0;if((h|0)!=(j|0)){continue}break}}if(!(f&1)){break a}c=B(c,52);e=c+e|0;f=v[e+44>>2];if(!f){break a}v[(c+v[v[a+72>>2]+24>>2]|0)+44>>2]=f;v[e+44>>2]=0}b:{c:{if(!Ra(v[a+196>>2],130,d)){break c}if(!Ra(v[a+196>>2],131,d)){break c}if(!Ra(v[a+196>>2],132,d)){break c}h=v[a+196>>2];g=v[h>>2];f=v[h+8>>2];d:{e:{if(g){c=1;if((g|0)!=1){i=g&-2;j=0;while(1){e=0;f:{if(!c){break f}e=0;if(!(ua[v[f>>2]](a,b,d)|0)){break f}e=(ua[v[f+4>>2]](a,b,d)|0)!=0}c=e;f=f+8|0;j=j+2|0;if((i|0)!=(j|0)){continue}break}}if(g&1){if(!c){break d}c=(ua[v[f>>2]](a,b,d)|0)!=0}v[h>>2]=0;if(c&1){break e}break c}v[h>>2]=0}if(!Ra(v[a+192>>2],133,d)){break c}if(!Ra(v[a+192>>2],134,d)){break c}if(!Ra(v[a+192>>2],135,d)){break c}if(!Ra(v[a+192>>2],136,d)){break c}if(!Ra(v[a+192>>2],137,d)){break c}if(!Ra(v[a+192>>2],138,d)){break c}if(!Ra(v[a+192>>2],139,d)){break c}g:{if(!v[a+16>>2]){break g}if(!Ra(v[a+192>>2],140,d)){break c}if(x[a+80>>1]!=4){break g}if(!Ra(v[a+192>>2],141,d)){break c}}if(!Ra(v[a+192>>2],142,d)){break c}if(v[a+100>>2]){if(!Ra(v[a+192>>2],143,d)){break c}}if((x[a+80>>1]&33024)==33024){if(!Ra(v[a+192>>2],144,d)){break c}}if(v[a+200>>2]){if(!Ra(v[a+192>>2],145,d)){break c}}if(!Ra(v[a+192>>2],146,d)){break c}if(!Ra(v[a+192>>2],147,d)){break c}e=v[a+192>>2];h=v[e>>2];c=v[e+8>>2];if(!h){break b}f=1;if((h|0)!=1){i=h&-2;g=0;while(1){j=0;if(f){j=(ua[v[c>>2]](a,b,d)|0)!=0}f=0;if(j){f=(ua[v[c+4>>2]](a,b,d)|0)!=0}c=c+8|0;g=g+2|0;if((i|0)!=(g|0)){continue}break}}if(h&1){if(!f){v[e>>2]=0;return 0}f=(ua[v[c>>2]](a,b,d)|0)!=0}v[e>>2]=0;return f|0}v[h>>2]=0}return 0}v[e>>2]=0;return 1}function Cd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0;s=v[a+24>>2];if(!v[s+16>>2]){return 1}p=v[s+24>>2];m=v[v[v[a+20>>2]>>2]+20>>2];while(1){v[b+36>>2]=v[p+36>>2];c=v[p+36>>2];e=v[m+28>>2];u=v[a+64>>2];a:{if(u){d=(e+B(v[m+24>>2],152)|0)-152|0;q=v[d+8>>2]-v[d>>2]|0;d=m+36|0;c=e+B(c,152)|0;h=c+12|0;e=v[c+8>>2];i=v[c>>2];c=c+4|0;break a}c=e+B(c,152)|0;e=v[c+144>>2];i=v[c+136>>2];q=e-i|0;d=m+52|0;h=c+148|0;c=c+140|0}w=v[d>>2];b:{c:{if(!w){break c}o=v[c>>2];r=v[h>>2];j=e-i|0;g=v[b+40>>2];c=g&31;if((g&63)>>>0>=32){d=-1<>>32-c;c=-1<>2];h=k+l|0;f=d^-1;c=f;c=h>>>0>>0?c+1|0:c;d=g&31;l=(g&63)>>>0>=32?c>>>d|0:((1<>>d;d=v[b+12>>2];n=v[b+16>>2];k=n+k|0;c=f;h=v[b+8>>2];c=k>>>0>>0?c+1|0:c;f=g&31;g=(g&63)>>>0>=32?c>>>f|0:((1<>>f;c=h+g|0;d:{if(g>>>0>>0){n=i-g|0;g=0;if(c>>>0>=e>>>0){f=0;e=j;break d}e=c-i|0;f=j-e|0;break d}g=g-i|0;if(c>>>0>=e>>>0){e=j-g|0;n=0;f=0;break d}f=e-c|0;n=0;e=h}c=r-o|0;j=d+l|0;e:{if(l>>>0>>0){t=o-l|0;l=0;k=0;if(j>>>0>=r>>>0){break e}k=c;c=j-o|0;k=k-c|0;break e}l=l-o|0;if(j>>>0>=r>>>0){c=c-l|0;t=0;k=0;break e}t=0;c=d;k=r-j|0}i=0;if((g|l|(f|k))<0){break b}if((e|c)<0){break b}j=B(h,t)+n|0;f:{g:{h:{f=v[b+44>>2];g=B(l,q)+g|0;if(f|g|((h|0)!=(q|0)|j)){break h}if((e|0)!=(h|0)){break h}if((c|0)!=(d|0)){break g}e=(u?36:52)+m|0;v[b+44>>2]=v[e>>2];v[e>>2]=0;break c}if(f){break f}}if(!d){break b}pi(d,0,h,0);if(ta){break b}d=B(d,h);if(d>>>0>1073741823){break b}d=Ta(d<<2);v[b+44>>2]=d;if(!d){break b}h=v[b+8>>2];f=v[b+12>>2];if((h|0)==(e|0)&(f|0)==(c|0)){break f}Ma(d,0,B(h,f)<<2)}if(!c){break c}h=c&1;e=e<<2;d=v[b+44>>2]+(j<<2)|0;i=(g<<2)+w|0;if((c|0)!=1){g=c&-2;c=0;while(1){j=Ja(d,i,e);f=q<<2;d=f+i|0;i=d+f|0;d=Ja(j+(v[b+8>>2]<<2)|0,d,e)+(v[b+8>>2]<<2)|0;c=c+2|0;if((g|0)!=(c|0)){continue}break}}if(!h){break c}Ja(d,i,e)}m=m+76|0;p=p+52|0;b=b+52|0;i=1;x=x+1|0;if(x>>>0>2]){continue}}break}return i}function ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=qa-16|0;qa=g;if(v[a+8>>2]==16){h=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{h=v[a+12>>2]}a:{if(!c){Fa(d,1,6851,0);break a}i=v[a+72>>2];e=1;Ia(b,g+8|0,1);f=v[g+8>>2];if(f>>>0>=2){Fa(d,2,20258,0);break a}if((f+1|0)!=(c|0)){e=0;Fa(d,2,6851,0);break a}d=v[i+16>>2];b:{if(!d){break b}e=v[h+5584>>2];if(d>>>0>=8){i=d&-8;c=0;while(1){v[e+1076>>2]=0;v[e+8636>>2]=0;v[e+7556>>2]=0;v[e+6476>>2]=0;v[e+5396>>2]=0;v[e+4316>>2]=0;v[e+3236>>2]=0;v[e+2156>>2]=0;e=e+8640|0;c=c+8|0;if((i|0)!=(c|0)){continue}break}}d=d&7;if(!d){break b}c=0;while(1){v[e+1076>>2]=0;e=e+1080|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}c=v[h+5608>>2];if(c){Ga(c);v[h+5608>>2]=0;f=v[g+8>>2]}if(!f){e=1;break a}i=0;while(1){b=b+1|0;Ia(b,g+12|0,1);c:{if(!v[h+5632>>2]){break c}d=v[h+5628>>2];if(v[d>>2]!=v[g+12>>2]){break c}f=v[d+4>>2];j=v[a+72>>2];if((f|0)!=v[j+16>>2]){break c}c=v[d+8>>2];if(c){e=0;f=B(f,f);if(v[c+16>>2]!=(B(f,v[(v[c>>2]<<2)+30496>>2])|0)){break a}k=La(f<<2);v[h+5608>>2]=k;if(!k){break a}ua[v[(v[c>>2]<<2)+30848>>2]](v[c+12>>2],k,f)}c=v[d+12>>2];if(!c){break c}e=0;d=v[j+16>>2];if(v[c+16>>2]!=(B(d,v[(v[c>>2]<<2)+30496>>2])|0)){break a}f=La(d<<2);if(!f){break a}ua[v[(v[c>>2]<<2)+30864>>2]](v[c+12>>2],f,d);c=v[j+16>>2];d:{if(!c){break d}j=c&7;e=v[h+5584>>2];e:{if(c>>>0<8){c=f;break e}k=c&-8;d=0;c=f;while(1){v[e+1076>>2]=v[c>>2];v[e+2156>>2]=v[c+4>>2];v[e+3236>>2]=v[c+8>>2];v[e+4316>>2]=v[c+12>>2];v[e+5396>>2]=v[c+16>>2];v[e+6476>>2]=v[c+20>>2];v[e+7556>>2]=v[c+24>>2];v[e+8636>>2]=v[c+28>>2];e=e+8640|0;c=c+32|0;d=d+8|0;if((k|0)!=(d|0)){continue}break}}d=0;if(!j){break d}while(1){v[e+1076>>2]=v[c>>2];e=e+1080|0;c=c+4|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}}Ga(f)}e=1;i=i+1|0;if(i>>>0>2]){continue}break}}qa=g+16|0;return e|0}function Pd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=qa-16|0;qa=d;e=v[a+44>>2];p=v[a+48>>2];m=v[a+208>>2];v[m+16>>2]=0;v[a+8>>2]=0;v[d+8>>2]=0;a:{if(!kc(a,e,p,d+8|0,c)){break a}h=v[d+8>>2];j=p-h|0;k=e+h|0;if(!(!(w[(v[a+156>>2]+B(v[a+204>>2],5644)|0)+5640|0]&4)|(x[a+80>>1]-3&65535)>>>0<4)){v[d+8>>2]=0;Od(a,k,d+8|0);g=v[d+8>>2];j=j-g|0;k=g+k|0;h=g+h|0}v[d+8>>2]=0;if(!jc(a,m,k,d+8|0,j,c)){break a}f=v[d+8>>2]+h|0;Ha(e+6|0,f,4);if(v[a+16>>2]){h=v[a+20>>2]?1:2;Ha(v[a+36>>2],v[a+204>>2],h);h=h+v[a+36>>2]|0;v[a+36>>2]=h;Ha(h,f,4);v[a+36>>2]=v[a+36>>2]+4}q=v[a+156>>2];m=v[a+208>>2];k=0;r=a+80|0;n=v[a+204>>2];l=ic(r,0,n);v[a+12>>2]=v[a+12>>2]+1;h=p-f|0;e=e+f|0;b:{c:{if(l>>>0<2){f=h;break c}j=1;f=h;while(1){v[a+8>>2]=j;v[d+12>>2]=0;if(!kc(a,e,f,d+12|0,c)){break b}g=v[d+12>>2];v[d+12>>2]=0;o=e+g|0;f=f-g|0;if(!jc(a,m,o,d+12|0,f,c)){break b}i=e+6|0;e=v[d+12>>2];g=e+g|0;Ha(i,g,4);if(v[a+16>>2]){i=v[a+20>>2]?1:2;Ha(v[a+36>>2],v[a+204>>2],i);i=i+v[a+36>>2]|0;v[a+36>>2]=i;Ha(i,g,4);v[a+36>>2]=v[a+36>>2]+4}f=f-e|0;e=e+o|0;k=g+k|0;v[a+12>>2]=v[a+12>>2]+1;j=j+1|0;if((l|0)!=(j|0)){continue}break}}q=q+B(n,5644)|0;if(v[q+420>>2]){g=1;while(1){v[m+16>>2]=g;j=0;n=ic(r,g,v[a+204>>2]);if(n){while(1){v[a+8>>2]=j;v[d+12>>2]=0;if(!kc(a,e,f,d+12|0,c)){break b}l=v[d+12>>2];v[d+12>>2]=0;o=e+l|0;f=f-l|0;if(!jc(a,m,o,d+12|0,f,c)){break b}i=e+6|0;e=v[d+12>>2];l=e+l|0;Ha(i,l,4);if(v[a+16>>2]){i=v[a+20>>2]?1:2;Ha(v[a+36>>2],v[a+204>>2],i);i=i+v[a+36>>2]|0;v[a+36>>2]=i;Ha(i,l,4);v[a+36>>2]=v[a+36>>2]+4}f=f-e|0;e=e+o|0;k=k+l|0;v[a+12>>2]=v[a+12>>2]+1;j=j+1|0;if((n|0)!=(j|0)){continue}break}}g=g+1|0;if(g>>>0<=y[q+420>>2]){continue}break}}f=0;e=b;b=(k-h|0)+p|0;if((Ua(e,v[a+44>>2],b,c)|0)!=(b|0)){break a}f=1;v[a+204>>2]=v[a+204>>2]+1;break a}f=0}qa=d+16|0;return f}function bc(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=v[v[a+24>>2]+24>>2]+B(b,52)|0;l=v[n+4>>2];m=l-1|0;o=v[a+60>>2];j=m+o|0;k=0-!l|0;i=k;q=v[v[v[a+20>>2]>>2]+20>>2]+B(b,76)|0;p=v[q+12>>2];i=ri(j,j>>>0>>0?i+1|0:i,l,0);r=i>>>0>p>>>0?p:i;j=v[n>>2];n=j-1|0;s=v[a+56>>2];p=n+s|0;o=0-!j|0;i=o;t=v[q+8>>2];i=ri(p,p>>>0>>0?i+1|0:i,j,0);p=i>>>0>t>>>0?t:i;i=k;t=v[q+4>>2];s=v[a+52>>2];m=s+m|0;i=ri(m,m>>>0>>0?i+1|0:i,l,0);m=i>>>0>>0?t:i;i=o;k=v[q>>2];o=n;n=v[a+48>>2];l=o+n|0;i=ri(l,l>>>0>>0?i+1|0:i,j,0);i=i>>>0>>0?k:i;l=0;n=v[(v[v[a+32>>2]+5584>>2]+B(b,1080)|0)+20>>2];c=v[q+20>>2]+(c?0-c|0:-1)|0;a:{if(!c){b=p;l=i;a=m;break a}k=c-1|0;j=(d&1)<>>0>>0){a=c&31;o=i-j|0;if((c&63)>>>0>=32){i=-1<>>32-a;a=-1<>>0>>0?i+1|0:i;b=a;a=c&31;l=(c&63)>>>0>=32?i>>>a|0:((1<>>a}b=0;a=0;k=d>>>1<>>0>>0){a=c&31;i=m-k|0;if((c&63)>>>0>=32){d=-1<>>32-a;a=-1<>>0>>0?i+1|0:i;a=c&31;a=(c&63)>>>0>=32?i>>>a|0:((1<>>a}if(j>>>0

>>0){b=c&31;if((c&63)>>>0>=32){i=-1<>>32-b;b=-1<>>0>>0?i+1|0:i;d=b;b=c&31;b=(c&63)>>>0>=32?i>>>b|0:((1<>>b}if(k>>>0>=r>>>0){r=0;break a}d=c&31;if((c&63)>>>0>=32){i=-1<>>32-d;d=-1<>>0>>0?i+1|0:i;j=d;d=c&31;r=(c&63)>>>0>=32?i>>>d|0:((1<>>d}i=0;d=b;j=(n|0)==1;c=j?2:3;b=b+c|0;d=(0-(d>>>0>b>>>0?i+1|0:i)|b)>>>0>e>>>0;b=c+r|0;b=d&(0-(b>>>0>>0?i+1|0:i)|b)>>>0>f>>>0;d=j?2:3;c=l-d|0;d=a-d|0;return b&(c>>>0<=l>>>0?c:0)>>>0>>0&(a>>>0>=d>>>0?d:0)>>>0>>0}function _c(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;j=qa-256|0;qa=j;a:{if(!a){a=0;break a}if(!(v[a>>2]==(b|0)&v[a+4>>2]==(c|0))){v[a+4>>2]=c;v[a>>2]=b;v[j>>2]=c;v[j+128>>2]=b;e=c;f=b;while(1){o=i;i=i+1|0;h=i<<2;n=(e+1|0)/2|0;v[h+j>>2]=n;k=h+(j+128|0)|0;h=(f+1|0)/2|0;v[k>>2]=h;m=B(e,f);g=m+g|0;e=n;f=h;if(m>>>0>1){continue}break}v[a+8>>2]=g;b:{c:{d:{e:{if(!g){e=v[a+12>>2];if(!e){break d}f=a+12|0;break e}g=g<<4;if(g>>>0<=y[a+16>>2]){break b}b=Pa(v[a+12>>2],g);if(b){break c}Fa(d,1,10394,0);f=a+12|0;e=v[f>>2];if(!e){break d}}Ga(e);v[f>>2]=0}Ga(a);a=0;break a}v[a+12>>2]=b;c=b;b=v[a+16>>2];Ma(c+b|0,0,g-b|0);v[a+16>>2]=g;c=v[a+4>>2];b=v[a>>2]}f=v[a+12>>2];if(o){d=0;e=(B(b,c)<<4)+f|0;g=e;while(1){b=d<<2;k=v[b+j>>2];f:{if((k|0)<=0){break f}m=k-1|0;l=0;g:{h:{c=v[b+(j+128|0)>>2];if((c|0)<=0){n=k&1;i=0;if((k|0)!=1){break h}b=g;break g}while(1){b=g;g=c;while(1){i:{v[f>>2]=e;if((g|0)==1){f=f+16|0;e=e+16|0;break i}v[f+16>>2]=e;e=e+16|0;f=f+32|0;h=(g|0)>2;g=g-2|0;if(h){continue}}break}h=((l|0)==(m|0)|l)&1;g=h?e:b+(c<<4)|0;e=h?e:b;l=l+1|0;if((k|0)!=(l|0)){continue}break}break f}h=k&-2;while(1){b=(i|0)==(m|0);i=i+2|0;e=b?e:g;g=e;b=e;l=l+2|0;if((h|0)!=(l|0)){continue}break}}if(!n){g=e;break f}g=(c<<4)+b|0;c=((i|0)==(m|0)|i)&1;g=c?e:g;e=c?e:b}d=d+1|0;if((o|0)!=(d|0)){continue}break}}v[f>>2]=0}c=v[a+8>>2];if(!c){break a}e=v[a+12>>2];if(c>>>0>=4){b=c&-4;f=0;while(1){v[e+12>>2]=0;v[e+4>>2]=999;v[e+8>>2]=0;v[e+60>>2]=0;v[e+52>>2]=999;v[e+56>>2]=0;v[e+44>>2]=0;v[e+36>>2]=999;v[e+40>>2]=0;v[e+28>>2]=0;v[e+20>>2]=999;v[e+24>>2]=0;e=e- -64|0;f=f+4|0;if((b|0)!=(f|0)){continue}break}}b=c&3;if(!b){break a}f=0;while(1){v[e+12>>2]=0;v[e+4>>2]=999;v[e+8>>2]=0;e=e+16|0;f=f+1|0;if((b|0)!=(f|0)){continue}break}}qa=j+256|0;return a}function Wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=qa-80|0;qa=d;v[d+76>>2]=1;a:{b:{e=v[a+104>>2];if((e|0)!=1|v[a+108>>2]!=1|(v[a+84>>2]|v[a+88>>2])){break b}f=v[a+76>>2];if(v[f>>2]|v[f+4>>2]|(v[f+8>>2]!=v[a+92>>2]|v[f+12>>2]!=v[a+96>>2])){break b}e=0;if(!wb(a,d+72|0,0,d+68|0,d- -64|0,d+60|0,d+56|0,d+52|0,d+76|0,b,c)){break a}c:{if(Fb(a,v[d+72>>2],0,0,b,c)){b=v[a+76>>2];if(v[b+16>>2]){break c}e=1;break a}Fa(c,1,19043,0);break a}b=v[b+24>>2];c=0;while(1){e=B(c,52);Ga(v[(e+b|0)+44>>2]);f=v[a+76>>2];b=v[f+24>>2];g=e+b|0;h=v[a+208>>2];i=v[v[v[h+20>>2]>>2]+20>>2]+B(c,76)|0;v[g+44>>2]=v[i+36>>2];v[g+36>>2]=v[(e+v[v[h+24>>2]+24>>2]|0)+36>>2];v[i+36>>2]=0;e=1;c=c+1|0;if(c>>>0>2]){continue}break}break a}while(1){d:{e:{if(!(!v[v[a+156>>2]+5596>>2]|((e|0)!=1|v[a+108>>2]!=1))){v[d+72>>2]=0;v[a+204>>2]=0;v[a+8>>2]=v[a+8>>2]|128;h=0;break e}e=0;if(!wb(a,d+72|0,0,d+68|0,d- -64|0,d+60|0,d+56|0,d+52|0,d+76|0,b,c)){break a}if(!v[d+76>>2]){break d}h=v[d+72>>2]}e=h+1|0;g=Fb(a,h,0,0,b,c);f=B(v[a+104>>2],v[a+108>>2]);if(!g){v[d+4>>2]=f;v[d>>2]=e;Fa(c,1,17174,d);e=0;break a}v[d+36>>2]=f;v[d+32>>2]=e;Fa(c,4,22836,d+32|0);if(!Cd(v[a+208>>2],v[v[a+76>>2]+24>>2])){e=0;break a}f:{if(!(v[a+104>>2]!=1|v[a+108>>2]!=1)){f=v[a+76>>2];g=v[a+72>>2];if(v[f>>2]!=v[g>>2]|v[f+4>>2]!=v[g+4>>2]|(v[f+8>>2]!=v[g+8>>2]|v[f+12>>2]!=v[g+12>>2])){break f}}f=v[a+156>>2]+B(h,5644)|0;g=v[f+5596>>2];if(!g){break f}Ga(g);v[f+5596>>2]=0;v[f+5600>>2]=0}v[d+16>>2]=e;Fa(c,4,28933,d+16|0);f=v[b+12>>2];g=f;e=v[b+8>>2];if(f|e){h=v[b+56>>2];f=e-h|0;e=g-(v[b+60>>2]+(e>>>0>>0)|0)|0}else{f=0;e=0}if(!(e|f)&v[a+8>>2]==64){break d}i=i+1|0;e=v[a+104>>2];if((i|0)!=(B(e,v[a+108>>2])|0)){continue}}break}e=(Bd(a,c)|0)!=0}qa=d+80|0;return e|0}function Mb(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=v[a+16>>2];if(g>>>0>=32){return v[a+8>>2]}d=v[a+20>>2];a:{if((d|0)>=4){b=v[a>>2];c=v[b-3>>2];d=d-4|0;v[a+20>>2]=d;v[a>>2]=b-4;break a}if((d|0)<=0){break a}k=d&1;b=v[a>>2];b:{if((d|0)==1){e=24;break b}j=d&-2;e=24;while(1){h=b-1|0;v[a>>2]=h;i=w[b|0];b=b-2|0;v[a>>2]=b;v[a+20>>2]=d-1;h=w[h|0];d=d-2|0;v[a+20>>2]=d;c=i<>2]=b-1;b=w[b|0];v[a+20>>2]=d-1;c=b<>2];j=c&255;v[a+24>>2]=j>>>0>143;b=b?(c&2130706432)==2130706432?7:8:8;h=b+(c>>>0<=2415919103?8:(c&8323072)==8323072?7:8)|0;f=c>>>16&255;i=h+(f>>>0<=143?8:(c&32512)==32512?7:8)|0;e=c>>>8&255;k=i+(g+(e>>>0<=143?8:(c&127)==127?7:8)|0)|0;v[a+16>>2]=k;l=v[a+12>>2];b=f<>>24|e<>>0>=32){e=b<>>32-c;b=b<>2];b=e|l;h=b;v[a+8>>2]=g;v[a+12>>2]=b;if(k>>>0<=31){c:{if((d|0)>=4){b=v[a>>2];c=v[b-3>>2];v[a+20>>2]=d-4;v[a>>2]=b-4;break c}if((d|0)<=0){c=0;break c}i=d&1;b=v[a>>2];d:{if((d|0)==1){e=24;c=0;break d}l=d&-2;e=24;c=0;f=0;while(1){m=b-1|0;v[a>>2]=m;n=w[b|0];b=b-2|0;v[a>>2]=b;v[a+20>>2]=d-1;m=w[m|0];d=d-2|0;v[a+20>>2]=d;c=n<>2]=b-1;b=w[b|0];v[a+20>>2]=d-1;c=b<>2]=d>>>0>143;j=j>>>0<=143?8:(c&2130706432)==2130706432?7:8;i=j+(c>>>0<=2415919103?8:(c&8323072)==8323072?7:8)|0;f=c>>>16&255;l=i+(f>>>0<=143?8:(c&32512)==32512?7:8)|0;e=c>>>8&255;v[a+16>>2]=l+(k+(e>>>0<=143?8:(c&127)==127?7:8)|0);b=a;a=f<>>24|e<>>0>=32){d=a<>>32-c;a=a<>2]=g;v[b+12>>2]=d|h}return g}function ub(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=v[a+32>>2];a:{if(b){break a}c=v[a+16>>2];b:{if((c|0)>5){e=c;break b}b=v[a+20>>2];c:{d:{if((b|0)>=5){e=v[a>>2];g=v[e>>2];v[a>>2]=e+4;i=b-4|0;break d}if((b|0)<=0){g=-1;break c}e=v[a>>2];e:{if((b|0)==1){d=e;f=-1;break e}f=-1;while(1){d=e+1|0;v[a>>2]=d;e=w[e|0];h=b-1|0;v[a+20>>2]=h;f=(255<>>0>2;e=d;b=h;if(j){continue}break}}v[a>>2]=d+1;g=(255<>2]=i}e=v[a+24>>2];d=g>>>24|0;v[a+24>>2]=(d|0)==255;f=g>>>8&255;i=(f|0)==255;b=g&255;h=(b|0)==255;g=g>>>16&255;j=(g|0)==255;k=(i+(h+e|0)|0)+j|0;e=(c-k|0)+32|0;v[a+16>>2]=e;l=v[a+12>>2];d=d|(g|(f|b<<(h?7:8))<<(i?7:8))<<(j?7:8);c=(k-c|0)+32|0;b=c&31;if((c&63)>>>0>=32){h=d<>>32-b;b=d<>2]=b|v[a+8>>2];v[a+12>>2]=h|l;b=0;if((e|0)<6){break a}}g=0;while(1){b=8;if((g|0)==8){break a}c=v[a+28>>2];h=v[(c<<2)+35104>>2];b=v[a+8>>2];d=v[a+12>>2];f:{if((d|0)<0){e=e-1|0;v[a+16>>2]=e;v[a+8>>2]=b<<1;v[a+12>>2]=d<<1|b>>>31;v[a+28>>2]=(c|0)>=11?12:c+1|0;d=(-1<>2]=e;v[a+28>>2]=(c|0)>1?c-1|0:0;i=b;c=f&31;if((f&63)>>>0>=32){f=i<>>32-c|d<>2]=c;v[a+12>>2]=f;f=b;c=63-h|0;b=c&31;d=((-1<>>0>=32?d>>>b|0:((1<>>b))<<1|1}f=v[a+44>>2];b=B(g,7);c=b&31;i=v[a+40>>2];if((b&63)>>>0>=32){h=63<>>32-c;c=63<>31;f=d;d=b&31;c=a;if((b&63)>>>0>=32){h=f<>>32-d|h<>2]=b|i;v[c+44>>2]=h|j;g=g+1|0;b=g;if((e|0)>5){continue}break}}v[a+32>>2]=b-1;d=v[a+44>>2];f=d>>>7|0;e=v[a+40>>2];v[a+40>>2]=(d&127)<<25|e>>>7;v[a+44>>2]=f;return e&127}function _a(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=v[a+16>>2];if(h>>>0>=32){return v[a+8>>2]}d=v[a+24>>2];a:{if((d|0)>=4){b=v[a>>2];c=v[b>>2];g=d-4|0;v[a+24>>2]=g;v[a>>2]=b+4;break a}c=v[a+28>>2]?-1:0;if((d|0)<=0){g=d;break a}j=d&1;b=v[a>>2];b:{if((d|0)==1){f=b;break b}i=d&-2;while(1){v[a>>2]=b+1;k=w[b|0];f=b+2|0;v[a>>2]=f;v[a+24>>2]=d-1;b=w[b+1|0];d=d-2|0;v[a+24>>2]=d;c=((255<>2]=f+1;b=w[f|0];v[a+24>>2]=d-1;c=(255<>2];i=c>>>24|0;v[a+20>>2]=(i|0)==255;f=c>>>16&255;d=c>>>8&255;b=b?7:8;c=c&255;e=b+((c|0)==255?7:8)|0;k=((d|0)==255?7:8)+e|0;j=(h+((f|0)==255?7:8)|0)+k|0;v[a+16>>2]=j;l=v[a+12>>2];b=c|(d<>>0>=32){f=b<>>32-c;b=b<>2];b=f|l;k=b;v[a+8>>2]=h;v[a+12>>2]=b;if(j>>>0<=31){c:{if((g|0)>=4){b=v[a>>2];d=v[b>>2];v[a+24>>2]=g-4;v[a>>2]=b+4;break c}e=0;d=v[a+28>>2]?-1:0;if((g|0)<=0){break c}l=g&1;b=v[a>>2];d:{if((g|0)==1){c=b;break d}m=g&-2;f=0;while(1){v[a>>2]=b+1;n=w[b|0];c=b+2|0;v[a>>2]=c;v[a+24>>2]=g-1;b=w[b+1|0];g=g-2|0;v[a+24>>2]=g;d=((255<>2]=c+1;b=w[c|0];v[a+24>>2]=g-1;d=(255<>>24|0;v[a+20>>2]=(c|0)==255;f=d>>>16&255;g=d>>>8&255;e=(i|0)==255?7:8;d=d&255;i=e+((d|0)==255?7:8)|0;l=((g|0)==255?7:8)+i|0;v[a+16>>2]=(j+((f|0)==255?7:8)|0)+l;b=a;a=d|(g<>>0>=32){f=a<>>32-c;a=a<>2]=h;v[b+12>>2]=f|k}return h}function pd(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,p=0;v[a+8>>2]=0;v[a+12>>2]=0;v[a>>2]=b;v[a+28>>2]=d;v[a+16>>2]=0;v[a+20>>2]=0;g=c-1|0;v[a+24>>2]=g;n=b&3;a:{if((c|0)<=0){e=b;b=d;break a}e=b+1|0;v[a>>2]=e;b=w[b|0]}h=8;v[a+16>>2]=8;i=b;v[a+8>>2]=b;v[a+12>>2]=0;f=b&255;j=(f|0)==255;v[a+20>>2]=j;b:{if((n|0)==3){break b}o=c-2|0;v[a+24>>2]=o;c:{if((c|0)<2){b=e;e=d;break c}b=e+1|0;v[a>>2]=b;e=w[e|0]}h=(f|0)==255?15:16;v[a+16>>2]=h;k=e&255;j=(k|0)==255;v[a+20>>2]=j;i=i|e<<8;v[a+8>>2]=i;m=e>>>24|0;v[a+12>>2]=m;if((n|0)==2){e=b;c=g;g=o;break b}l=c-3|0;v[a+24>>2]=l;d:{if((c|0)<3){f=b;b=d;break d}f=b+1|0;v[a>>2]=f;b=w[b|0]}p=b&255;j=(p|0)==255;v[a+20>>2]=j;k=((k|0)==255?7:8)+h|0;v[a+16>>2]=k;g=h&31;if((h&63)>>>0>=32){e=b<>>32-g;b=b<>2]=i;v[a+12>>2]=b;if((n|0)==1){e=f;h=k;c=o;g=l;break b}g=c-4|0;v[a+24>>2]=g;e:{if((c|0)<4){e=f;b=d;break e}e=f+1|0;v[a>>2]=e;b=w[f|0]}j=(b&255)==255;v[a+20>>2]=j;h=k+((p|0)==255?7:8)|0;v[a+16>>2]=h;c=k&31;if((k&63)>>>0>=32){f=b<>>32-c;b=b<>2]=i;v[a+12>>2]=b;c=l}f:{if((c|0)>=5){d=v[e>>2];v[a+24>>2]=c-5;v[a>>2]=e+4;break f}b=0;d=d?-1:0;if((c|0)<2){break f}while(1){f=e+1|0;v[a>>2]=f;e=w[e|0];c=g-1|0;v[a+24>>2]=c;d=(255<>>0>1;e=f;g=c;if(l){continue}break}}l=d>>>24|0;v[a+20>>2]=(l|0)==255;f=d>>>16&255;g=d>>>8&255;e=d&255;d=j?7:8;c=((e|0)==255?7:8)+d|0;b=((g|0)==255?7:8)+c|0;v[a+16>>2]=(((f|0)==255?7:8)+h|0)+b;b=e|(g<>>0>=32){c=b<>>32-d;b=b<>2]=b|i;v[a+12>>2]=c|m}function nd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=v[a+116>>2];a:{f=B(b,c);b:{c:{d:{if(f>>>0>y[a+132>>2]){Ga(d);d=Ta(f<<2);v[a+116>>2]=d;if(!d){break b}v[a+132>>2]=f;break d}if(!d){break c}}Ma(d,0,f<<2)}d=v[a+120>>2];h=b+2|0;j=c+3>>>2|0;f=B(h,j+2|0);if(f>>>0<=y[a+136>>2]){e=f<<2;break a}Ga(d);e=f<<2;d=Ta(e);v[a+120>>2]=d;if(d){break a}}return 0}v[a+136>>2]=f;Ma(d,0,e);f=v[a+120>>2];e:{if(!h){break e}d=f;i=b+1|0;if(i>>>0>=7){e=h&-8;while(1){v[d+24>>2]=1226833920;v[d+28>>2]=1226833920;v[d+16>>2]=1226833920;v[d+20>>2]=1226833920;v[d+8>>2]=1226833920;v[d+12>>2]=1226833920;v[d>>2]=1226833920;v[d+4>>2]=1226833920;d=d+32|0;g=g+8|0;if((e|0)!=(g|0)){continue}break}}e=h&7;if(e){g=0;while(1){v[d>>2]=1226833920;d=d+4|0;g=g+1|0;if((e|0)!=(g|0)){continue}break}}if(!h){break e}d=f+(B(j+1|0,h)<<2)|0;if(i>>>0>=7){e=h&-8;g=0;while(1){v[d+24>>2]=1226833920;v[d+28>>2]=1226833920;v[d+16>>2]=1226833920;v[d+20>>2]=1226833920;v[d+8>>2]=1226833920;v[d+12>>2]=1226833920;v[d>>2]=1226833920;v[d+4>>2]=1226833920;d=d+32|0;g=g+8|0;if((e|0)!=(g|0)){continue}break}}e=h&7;if(!e){break e}g=0;while(1){v[d>>2]=1226833920;d=d+4|0;g=g+1|0;if((e|0)!=(g|0)){continue}break}}d=c&3;f:{if(!d|!h){break f}i=(d|0)==1?1224736768:(d|0)==2?1207959552:1073741824;d=f+(B(h,j)<<2)|0;if(b+1>>>0>=7){f=h&-8;e=0;while(1){v[d+28>>2]=i;v[d+24>>2]=i;v[d+20>>2]=i;v[d+16>>2]=i;v[d+12>>2]=i;v[d+8>>2]=i;v[d+4>>2]=i;v[d>>2]=i;d=d+32|0;e=e+8|0;if((f|0)!=(e|0)){continue}break}}f=h&7;if(!f){break f}e=0;while(1){v[d>>2]=i;d=d+4|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}v[a+128>>2]=c;v[a+124>>2]=b;return 1}function Ab(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{if(a-1&a|b>>>0>4294967239){break b}while(1){a=a>>>0<=8?8:a;e=v[13187];f=v[13186];b=b>>>0<=8?8:b+3&-4;c:{if(b>>>0<=127){g=(b>>>3|0)-1|0;break c}d=E(b);g=((b>>>29-d^4)-(d<<2)|0)+110|0;if(b>>>0<=4095){break c}d=((b>>>30-d^2)-(d<<1)|0)+71|0;g=d>>>0>=63?63:d}c=g&31;if((g&63)>>>0>=32){d=0;c=e>>>c|0}else{d=e>>>c|0;c=((1<>>c}if(c|d){while(1){e=c;d:{if(d|c){f=d-1|0;i=f+1|0;h=f;f=c-1|0;h=(f|0)!=-1?i:h;f=E(c^f)+32|0;c=E(d^h);c=(c|0)==32?f:c;f=63-c|0;ta=0-(c>>>0>63)|0;break d}ta=0;f=64}h=f;f=h&31;if((h&63)>>>0>=32){c=0;f=d>>>f|0}else{c=d>>>f|0;f=((1<>>f}d=c;g=g+h|0;h=g<<4;e=v[h+51720>>2];i=h+51712|0;e:{if((e|0)!=(i|0)){c=Tb(e,a,b);if(c){break b}c=v[e+4>>2];v[c+8>>2]=v[e+8>>2];v[v[e+8>>2]+4>>2]=c;v[e+8>>2]=i;c=h+51716|0;v[e+4>>2]=v[c>>2];v[c>>2]=e;v[v[e+4>>2]+8>>2]=e;g=g+1|0;c=(d&1)<<31|f>>>1;d=d>>>1|0;break e}c=v[13187];j=52744,k=v[13186]&vi(-2,-1,g),v[j>>2]=k;v[13187]=ta&c;c=f^1}if(d|c){continue}break}f=v[13186];e=v[13187]}f:{if(e|f){d=E(e);h=63-((d|0)==32?E(f)+32|0:d)|0;c=h<<4;d=v[c+51720>>2];g:{if(!e&f>>>0<1073741824){break g}g=99;e=c+51712|0;if((e|0)==(d|0)){break g}while(1){if(!g){break g}c=Tb(d,a,b);if(c){break b}g=g-1|0;d=v[d+8>>2];if((e|0)!=(d|0)){continue}break}d=e}if(Ub(b+48|0)){break f}if(!d){break a}e=(h<<4)+51712|0;if((e|0)==(d|0)){break a}while(1){c=Tb(d,a,b);if(c){break b}d=v[d+8>>2];if((e|0)!=(d|0)){continue}break}break a}if(!Ub(b+48|0)){break a}}c=0;if(a-1&a){break b}if(b>>>0<=4294967239){continue}break}}return c}return 0}function bd(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,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0,F=0,G=0;r=(b<<3)+a|0;e=r+40|0;v[e>>2]=0;v[e+4>>2]=0;u=v[a+16>>2];if(!u){return 1}E=v[a+20>>2];w=1;while(1){a=B(s,76)+E|0;x=v[a+20>>2];if(x){F=v[a+28>>2];m=0;while(1){n=B(m,152)+F|0;y=v[n+24>>2];if(y){o=0;while(1){a=B(o,36)+n|0;a:{if(v[a+36>>2]==v[a+28>>2]|v[a+40>>2]==v[a+32>>2]){break a}z=B(v[n+20>>2],v[n+16>>2]);if(!z){break a}G=v[a+48>>2];p=0;while(1){t=B(p,40)+G|0;C=B(v[t+20>>2],v[t+16>>2]);if(C){q=0;while(1){h=v[t+24>>2]+B(q,52)|0;a=v[h+4>>2];if(!b){v[h+44>>2]=0}j=a+B(b,24)|0;b:{if(c<0){e=v[h+48>>2];f=v[h+44>>2];break b}f=v[h+44>>2];D=v[h+48>>2];if(f>>>0>=D>>>0){e=f;break b}l=v[h+8>>2];e=f;a=f;while(1){k=B(a,24)+l|0;g=v[k>>2];c:{if(!e){i=A[k+8>>3];break c}i=A[k+8>>3];k=(B(e,24)+l|0)-24|0;i=i-A[k+8>>3];g=g-v[k>>2]|0}d:{if(!g){a=a+1|0;e=i!=0?a:e;break d}a=a+1|0;e=c-i/+(g>>>0)<2220446049250313e-31?a:e}if((a|0)!=(D|0)){continue}break}}g=v[j>>2];a=e-f|0;if((g|0)!=(a|0)){v[j>>2]=a;w=0}else{a=g}e:{if(!a){v[j+8>>2]=0;v[j+12>>2]=0;break e}l=v[h+8>>2];g=l+B(e-1|0,24)|0;a=v[g>>2];f:{if(!f){i=A[g+8>>3];g=v[h>>2];break f}f=(l+B(f,24)|0)-24|0;i=A[g+8>>3]-A[f+8>>3];f=v[f>>2];g=f+v[h>>2]|0;a=a-f|0}v[j+16>>2]=g;v[j+4>>2]=a;A[j+8>>3]=i;A[r+40>>3]=i+A[r+40>>3];if(!d){break e}v[h+44>>2]=e}q=q+1|0;if((C|0)!=(q|0)){continue}break}}p=p+1|0;if((z|0)!=(p|0)){continue}break}}o=o+1|0;if((y|0)!=(o|0)){continue}break}}m=m+1|0;if((x|0)!=(m|0)){continue}break}}s=s+1|0;if((u|0)!=(s|0)){continue}break}return w}function Pa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!b){return 0}a:{if(!a){a=Ab(8,b);break a}if(!b){Ga(a);a=0;break a}b:{if(b>>>0>4294967239){break b}h=b>>>0<=8?8:b+3&-4;b=h+8|0;c:{d:{k=a-4|0;f=k;e=v[f>>2];c=e+f|0;j=v[c>>2];g=j+c|0;e:{f:{if(v[g-4>>2]!=(j|0)){d=b+f|0;if(d+16>>>0<=g>>>0){e=v[c+4>>2];v[e+8>>2]=v[c+8>>2];v[v[c+8>>2]+4>>2]=e;c=g-d|0;v[d>>2]=c;v[(d+(c&-4)|0)-4>>2]=c|1;e=v[d>>2]-8|0;g:{if(e>>>0<=127){c=(e>>>3|0)-1|0;break g}g=E(e);c=((e>>>29-g^4)-(g<<2)|0)+110|0;if(e>>>0<=4095){break g}c=((e>>>30-g^2)-(g<<1)|0)+71|0;c=c>>>0>=63?63:c}e=c<<4;v[d+4>>2]=e+51712;e=e+51720|0;v[d+8>>2]=v[e>>2];v[e>>2]=d;v[v[d+8>>2]+4>>2]=d;e=v[13187];d=c&31;if((c&63)>>>0>=32){c=1<>>32-d}v[13186]=g|v[13186];v[13187]=c|e;v[f>>2]=b;break d}if(d>>>0>g>>>0){break f}b=v[c+4>>2];v[b+8>>2]=v[c+8>>2];v[v[c+8>>2]+4>>2]=b;b=e+j|0;v[f>>2]=b;break d}if(e>>>0>=b+16>>>0){v[f>>2]=b;v[(f+(b&-4)|0)-4>>2]=b;d=b+f|0;b=e-b|0;v[d>>2]=b;v[(d+(b&-4)|0)-4>>2]=b|1;c=v[d>>2]-8|0;h:{if(c>>>0<=127){b=(c>>>3|0)-1|0;break h}f=E(c);b=((c>>>29-f^4)-(f<<2)|0)+110|0;if(c>>>0<=4095){break h}b=((c>>>30-f^2)-(f<<1)|0)+71|0;b=b>>>0>=63?63:b}c=b<<4;v[d+4>>2]=c+51712;c=c+51720|0;v[d+8>>2]=v[c>>2];v[c>>2]=d;v[v[d+8>>2]+4>>2]=d;c=v[13187];d=b&31;if((b&63)>>>0>=32){b=1<>>32-d}v[13186]=e|v[13186];v[13187]=b|c;d=1;break c}d=1;if(b>>>0<=e>>>0){break e}}d=0}break c}v[(f+(b&-4)|0)-4>>2]=b;d=1}if(d){break a}b=Ab(8,h);if(!b){break b}i=v[k>>2]-8|0;Ja(b,a,h>>>0>>0?h:i);Ga(a);i=b}a=i}return a}function $c(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=qa-256|0;qa=j;f=Ka(1,20);a:{if(!f){Fa(c,1,10356,0);f=0;break a}v[f+4>>2]=b;v[f>>2]=a;v[j>>2]=b;v[j+128>>2]=a;while(1){p=g;g=g+1|0;h=g<<2;d=(b+1|0)/2|0;v[h+j>>2]=d;m=h+(j+128|0)|0;h=(a+1|0)/2|0;v[m>>2]=h;i=B(a,b);e=i+e|0;b=d;a=h;if(i>>>0>1){continue}break}v[f+8>>2]=e;if(!e){Ga(f);f=0;break a}d=Ka(e,16);v[f+12>>2]=d;if(!d){Fa(c,1,6057,0);Ga(f);f=0;break a}l=v[f+8>>2];v[f+16>>2]=l<<4;a=d;if(p){e=(B(v[f+4>>2],v[f>>2])<<4)+d|0;b=e;while(1){c=n<<2;i=v[c+j>>2];b:{if((i|0)<=0){break b}o=i-1|0;h=0;c:{c=v[c+(j+128|0)>>2];if((c|0)<=0){g=0;if((i|0)!=1){k=i&-2;while(1){m=(g|0)==(o|0);g=g+2|0;e=m?b:e;b=e;h=h+2|0;if((k|0)!=(h|0)){continue}break}}if(i&1){break c}b=e;break b}while(1){g=e;e=c;while(1){d:{v[a>>2]=b;if((e|0)==1){a=a+16|0;b=b+16|0;break d}v[a+16>>2]=b;b=b+16|0;a=a+32|0;k=(e|0)>2;e=e-2|0;if(k){continue}}break}k=((h|0)==(o|0)|h)&1;e=k?b:g+(c<<4)|0;b=k?b:g;h=h+1|0;if((i|0)!=(h|0)){continue}break}break b}g=((g|0)==(o|0)|g)&1;c=g?b:(c<<4)+e|0;b=g?b:e;e=c}n=n+1|0;if((n|0)!=(p|0)){continue}break}}v[a>>2]=0;e:{if(!l){break e}if(l>>>0>=4){a=l&-4;b=0;while(1){v[d+12>>2]=0;v[d+4>>2]=999;v[d+8>>2]=0;v[d+60>>2]=0;v[d+52>>2]=999;v[d+56>>2]=0;v[d+44>>2]=0;v[d+36>>2]=999;v[d+40>>2]=0;v[d+28>>2]=0;v[d+20>>2]=999;v[d+24>>2]=0;d=d- -64|0;b=b+4|0;if((a|0)!=(b|0)){continue}break}}a=l&3;if(!a){break e}b=0;while(1){v[d+12>>2]=0;v[d+4>>2]=999;v[d+8>>2]=0;d=d+16|0;b=b+1|0;if((a|0)!=(b|0)){continue}break}}}qa=j+256|0;return f}function th(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=qa-16|0;qa=h;i=v[a+72>>2];if(v[a+8>>2]==16){e=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{e=v[a+12>>2]}t[e+5640|0]=w[e+5640|0]|1;a:{if(c>>>0<=4){Fa(d,1,7464,0);break a}Ia(b,e,1);if(y[e>>2]>=8){Fa(d,1,7404,0);break a}Ia(b+1|0,h+8|0,1);g=v[h+8>>2];v[e+4>>2]=g;if((g|0)>=5){Fa(d,1,7363,0);v[e+4>>2]=-1}Ia(b+2|0,e+8|0,2);g=v[e+8>>2];if(g-65536>>>0<=4294901760){v[h>>2]=g;Fa(d,1,18215,h);break a}j=v[a+164>>2];v[e+12>>2]=j?j:g;Ia(b+4|0,e+16|0,1);if(y[e+16>>2]>=2){Fa(d,1,9019,0);break a}j=b+5|0;v[h+12>>2]=c-5;i=v[i+16>>2];b:{if(!i){break b}b=v[e>>2]&1;e=v[e+5584>>2];g=0;if(i>>>0>=8){k=i&-8;c=0;while(1){v[e+B(f,1080)>>2]=b;v[e+B(f|1,1080)>>2]=b;v[e+B(f|2,1080)>>2]=b;v[e+B(f|3,1080)>>2]=b;v[e+B(f|4,1080)>>2]=b;v[e+B(f|5,1080)>>2]=b;v[e+B(f|6,1080)>>2]=b;v[e+B(f|7,1080)>>2]=b;f=f+8|0;c=c+8|0;if((k|0)!=(c|0)){continue}break}}c=i&7;if(!c){break b}while(1){v[e+B(f,1080)>>2]=b;f=f+1|0;g=g+1|0;if((c|0)!=(g|0)){continue}break}}f=0;if(!Hd(a,0,j,h+12|0,d)){Fa(d,1,7464,0);break a}if(v[h+12>>2]){Fa(d,1,7464,0);break a}if(v[a+8>>2]==16){b=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{b=v[a+12>>2]}if(y[v[a+72>>2]+16>>2]>=2){b=v[b+5584>>2];d=v[b+4>>2]<<2;e=b+944|0;f=b+812|0;g=1;c=b;while(1){v[c+1084>>2]=v[b+4>>2];v[c+1088>>2]=v[b+8>>2];v[c+1092>>2]=v[b+12>>2];v[c+1096>>2]=v[b+16>>2];v[c+1100>>2]=v[b+20>>2];Ja(c+1892|0,f,d);Ja(c+2024|0,e,d);c=c+1080|0;g=g+1|0;if(g>>>0>2]+16>>2]){continue}break}}f=1}qa=h+16|0;return f|0}function Qb(a,b,c,d,e){var f=0,g=C(0),h=0,i=0,j=0,k=C(0);i=c>>>0>>0?c:d;a:{if(!i){a=b;break a}f=b-32|0;g=z[b>>2];z[f>>2]=C(C(z[a>>2]+g)*e)+z[f>>2];f=b-28|0;z[f>>2]=C(C(z[a+4>>2]+z[b+4>>2])*e)+z[f>>2];f=b-24|0;z[f>>2]=C(C(z[a+8>>2]+z[b+8>>2])*e)+z[f>>2];f=b-20|0;z[f>>2]=C(C(z[a+12>>2]+z[b+12>>2])*e)+z[f>>2];f=b-16|0;z[f>>2]=C(C(z[a+16>>2]+z[b+16>>2])*e)+z[f>>2];f=b-12|0;z[f>>2]=C(C(z[a+20>>2]+z[b+20>>2])*e)+z[f>>2];f=b-8|0;z[f>>2]=C(C(z[a+24>>2]+z[b+24>>2])*e)+z[f>>2];f=b-4|0;z[f>>2]=C(C(z[a+28>>2]+z[b+28>>2])*e)+z[f>>2];a=b- -64|0;j=1;if((i|0)==1){break a}while(1){f=a-32|0;k=g;g=z[b+64>>2];z[f>>2]=C(C(k+g)*e)+z[f>>2];f=a;h=a-28|0;z[h>>2]=C(C(z[b+4>>2]+z[a+4>>2])*e)+z[h>>2];h=a-24|0;z[h>>2]=C(C(z[b+8>>2]+z[a+8>>2])*e)+z[h>>2];h=a-20|0;z[h>>2]=C(C(z[b+12>>2]+z[a+12>>2])*e)+z[h>>2];h=a-16|0;z[h>>2]=C(C(z[b+16>>2]+z[a+16>>2])*e)+z[h>>2];h=a-12|0;z[h>>2]=C(C(z[b+20>>2]+z[a+20>>2])*e)+z[h>>2];h=a-8|0;z[h>>2]=C(C(z[b+24>>2]+z[a+24>>2])*e)+z[h>>2];h=a-4|0;z[h>>2]=C(C(z[b+28>>2]+z[a+28>>2])*e)+z[h>>2];a=a- -64|0;b=f;j=j+1|0;if((j|0)!=(i|0)){continue}break}}if(c>>>0>d>>>0){b=a-32|0;g=z[a+-64>>2];z[b>>2]=C(C(g+g)*e)+z[b>>2];b=a-28|0;g=z[a-60>>2];z[b>>2]=C(C(g+g)*e)+z[b>>2];b=a-24|0;g=z[a-56>>2];z[b>>2]=C(C(g+g)*e)+z[b>>2];b=a-20|0;g=z[a-52>>2];z[b>>2]=C(C(g+g)*e)+z[b>>2];b=a-16|0;g=z[a-48>>2];z[b>>2]=C(C(g+g)*e)+z[b>>2];b=a-12|0;g=z[a-44>>2];z[b>>2]=C(C(g+g)*e)+z[b>>2];b=a-8|0;g=z[a-40>>2];z[b>>2]=C(C(g+g)*e)+z[b>>2];b=a-4|0;g=z[a-36>>2];z[b>>2]=C(C(g+g)*e)+z[b>>2]}}function Xd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;a:{d=Ka(1,48);if(d){b=v[a+200>>2];c=v[b+4>>2];v[d>>2]=v[b>>2];v[d+4>>2]=c;c=v[b+12>>2];v[d+8>>2]=v[b+8>>2];v[d+12>>2]=c;c=v[b+20>>2];v[d+16>>2]=v[b+16>>2];v[d+20>>2]=c;c=v[b+24>>2];v[d+24>>2]=c;b=La(B(c,24));v[d+28>>2]=b;if(!b){Ga(d);return 0}c=v[v[a+200>>2]+28>>2];b:{if(c){Ja(b,c,B(v[d+24>>2],24));break b}Ga(b);v[d+28>>2]=0}c=v[v[a+200>>2]+36>>2];v[d+36>>2]=c;b=Ka(c,40);v[d+40>>2]=b;if(!b){Ga(v[d+28>>2]);Ga(d);return 0}c:{if(v[v[a+200>>2]+40>>2]){if(!v[d+36>>2]){break c}while(1){e=B(g,40);c=v[(e+v[v[a+200>>2]+40>>2]|0)+20>>2];v[(b+e|0)+20>>2]=c;f=La(B(c,24));c=v[d+40>>2];b=c+e|0;v[b+24>>2]=f;if(!f){if(g){b=0;while(1){Ga(v[(v[d+40>>2]+B(b,40)|0)+24>>2]);b=b+1|0;if((g|0)!=(b|0)){continue}break}c=v[d+40>>2]}break a}c=v[(e+v[v[a+200>>2]+40>>2]|0)+24>>2];d:{if(c){Ja(f,c,B(v[b+20>>2],24));b=v[d+40>>2];break d}Ga(f);b=v[d+40>>2];v[(e+b|0)+24>>2]=0}c=v[(e+v[v[a+200>>2]+40>>2]|0)+4>>2];v[(b+e|0)+4>>2]=c;f=La(B(c,24));c=v[d+40>>2];b=c+e|0;v[b+16>>2]=f;if(!f){if(g){b=0;while(1){a=B(b,40);Ga(v[(a+v[d+40>>2]|0)+24>>2]);Ga(v[(a+v[d+40>>2]|0)+16>>2]);b=b+1|0;if((g|0)!=(b|0)){continue}break}c=v[d+40>>2]}break a}c=v[(e+v[v[a+200>>2]+40>>2]|0)+16>>2];e:{if(c){Ja(f,c,B(v[b+4>>2],24));b=v[d+40>>2];break e}Ga(f);b=v[d+40>>2];v[(e+b|0)+16>>2]=0}c=b+e|0;v[c+32>>2]=0;v[c+36>>2]=0;g=g+1|0;if(g>>>0>2]){continue}break}break c}Ga(b);v[d+40>>2]=0}}else{d=0}return d|0}Ga(c);Ga(v[d+28>>2]);Ga(d);return 0}function kg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=qa-80|0;qa=e;a:{if(c>>>0<=2){Fa(d,1,26001,0);break a}if(w[a+124|0]){Fa(d,4,21754,0);g=1;break a}g=1;Ia(b,a+40|0,1);Ia(b+1|0,a+52|0,1);Ia(b+2|0,a+44|0,1);f=b+3|0;b:{c:{d:{e:{f:{h=v[a+40>>2];switch(h-1|0){case 1:break e;case 0:break f;default:break d}}if(c>>>0<=6){v[e+16>>2]=c;Fa(d,1,27132,e+16|0);g=0;break a}if(!((c|0)==7|v[a+48>>2]==14)){v[e+48>>2]=c;Fa(d,2,27132,e+48|0)}Ia(f,a+48|0,4);if(v[a+48>>2]!=14){break b}f=La(36);if(!f){g=0;Fa(d,1,17870,0);break a}v[f>>2]=14;v[e+64>>2]=0;v[e+56>>2]=0;v[e+72>>2]=0;v[e+60>>2]=0;v[e+68>>2]=0;v[e+76>>2]=0;g=4470064;v[e+52>>2]=4470064;v[f+4>>2]=1145390592;g:{if((c|0)!=7){if((c|0)==35){Ia(b+7|0,e+76|0,4);Ia(b+11|0,e+72|0,4);Ia(b+15|0,e+68|0,4);Ia(b+19|0,e- -64|0,4);Ia(b+23|0,e+60|0,4);Ia(b+27|0,e+56|0,4);Ia(b+31|0,e+52|0,4);v[f+4>>2]=0;g=v[e+52>>2];c=v[e+56>>2];d=v[e+64>>2];i=v[e+68>>2];j=v[e+76>>2];h=v[e+72>>2];b=v[e+60>>2];break g}v[e+32>>2]=c;Fa(d,2,27168,e+32|0)}c=0;d=0;h=0;b=0}v[f+24>>2]=b;v[f+16>>2]=i;v[f+8>>2]=j;v[f+32>>2]=g;v[f+28>>2]=c;v[f+20>>2]=d;v[f+12>>2]=h;v[a+112>>2]=0;v[a+108>>2]=f;break b}b=c-3|0;v[a+112>>2]=b;d=Ka(1,b);v[a+108>>2]=d;if(!d){break c}if((c|0)<=3){break b}c=0;while(1){Ia(f,e+76|0,1);t[v[a+108>>2]+c|0]=v[e+76>>2];f=f+1|0;c=c+1|0;if((b|0)!=(c|0)){continue}break}break b}if(h>>>0<3){break a}v[e>>2]=h;Fa(d,4,28282,e);break a}g=0;v[a+112>>2]=0;break a}g=1;t[a+124|0]=1}qa=e+80|0;return g|0}function Wa(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;g=v[a+48>>2];if(g>>>0>=c>>>0){Ja(b,v[a+36>>2],c);v[a+36>>2]=v[a+36>>2]+c;v[a+48>>2]=v[a+48>>2]-c;f=v[a+60>>2];b=v[a+56>>2]+c|0;f=b>>>0>>0?f+1|0:f;v[a+56>>2]=b;v[a+60>>2]=f;return c}if(w[a+68|0]&4){Ja(b,v[a+36>>2],g);c=v[a+48>>2];v[a+48>>2]=0;v[a+36>>2]=c+v[a+36>>2];b=v[a+60>>2];d=c;c=v[a+56>>2]+c|0;b=d>>>0>c>>>0?b+1|0:b;v[a+56>>2]=c;v[a+60>>2]=b;return g?g:-1}a:{if(g){h=Ja(b,v[a+36>>2],g);i=v[a+32>>2];v[a+36>>2]=i;e=v[a+48>>2];v[a+48>>2]=0;b=v[a+60>>2];f=v[a+56>>2]+e|0;b=f>>>0>>0?b+1|0:b;v[a+56>>2]=f;v[a+60>>2]=b;c=c-e|0;b=e+h|0;break a}i=v[a+32>>2];v[a+36>>2]=i}b:{c:{while(1){d:{e=v[a>>2];h=v[a+16>>2];f=v[a+64>>2];e:{if(f>>>0>c>>>0){h=ua[h|0](i,f,e)|0;v[a+48>>2]=h;if((h|0)==-1){break b}if(c>>>0<=h>>>0){break d}Ja(b,v[a+36>>2],h);i=v[a+32>>2];v[a+36>>2]=i;e=v[a+48>>2];break e}e=ua[h|0](b,c,e)|0;v[a+48>>2]=e;if((e|0)==-1){break b}if(c>>>0<=e>>>0){break c}i=v[a+32>>2];v[a+36>>2]=i;h=e}v[a+48>>2]=0;f=v[a+60>>2];j=v[a+56>>2]+e|0;f=j>>>0>>0?f+1|0:f;v[a+56>>2]=j;v[a+60>>2]=f;b=b+e|0;c=c-e|0;g=g+h|0;continue}break}Ja(b,v[a+36>>2],c);v[a+36>>2]=v[a+36>>2]+c;v[a+48>>2]=v[a+48>>2]-c;b=v[a+60>>2];d=v[a+56>>2]+c|0;b=d>>>0>>0?b+1|0:b;v[a+56>>2]=d;v[a+60>>2]=b;return c+g|0}v[a+48>>2]=0;v[a+36>>2]=v[a+32>>2];b=v[a+60>>2];c=v[a+56>>2]+e|0;b=c>>>0>>0?b+1|0:b;v[a+56>>2]=c;v[a+60>>2]=b;return e+g|0}Fa(d,4,27674,0);v[a+48>>2]=0;v[a+68>>2]=v[a+68>>2]|4;return g?g:-1}function ue(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=v[a+48>>2];if(e>>>0>=b>>>0){v[a+48>>2]=e-b;v[a+36>>2]=v[a+36>>2]+b;e=c+v[a+60>>2]|0;d=b+v[a+56>>2]|0;e=d>>>0>>0?e+1|0:e;v[a+56>>2]=d;v[a+60>>2]=e;ta=c;return b|0}if(w[a+68|0]&4){v[a+48>>2]=0;v[a+36>>2]=e+v[a+36>>2];g=v[a+60>>2];c=v[a+56>>2];b=c+e|0;v[a+56>>2]=b;v[a+60>>2]=b>>>0>>0?g+1|0:g;ta=e?0:-1;return(e?e:-1)|0}if(e){v[a+48>>2]=0;v[a+36>>2]=v[a+32>>2];i=b;f=e;b=b-e|0;c=c-(e>>>0>i>>>0)|0}a:{if(!!b&(c|0)>=0|(c|0)>0){while(1){i=v[a+12>>2];e=c+g|0;h=b+f|0;e=v[a+60>>2]+(h>>>0>>0?e+1|0:e)|0;j=h;h=h+v[a+56>>2]|0;e=j>>>0>h>>>0?e+1|0:e;if((e|0)==(i|0)&h>>>0>y[a+8>>2]|e>>>0>i>>>0){Fa(d,4,27674,0);v[a+48>>2]=0;v[a+36>>2]=v[a+32>>2];b=g+v[a+60>>2]|0;c=f+v[a+56>>2]|0;b=c>>>0>>0?b+1|0:b;v[a+56>>2]=c;v[a+60>>2]=b;d=v[a+8>>2];f=d-c|0;e=v[a+12>>2];g=e-((c>>>0>d>>>0)+b|0)|0;i=ua[v[a+28>>2]](d,e,v[a>>2])|0;h=v[a+68>>2];if(i){v[a+56>>2]=d;v[a+60>>2]=e}v[a+68>>2]=h|4;a=(c|0)==(d|0)&(b|0)==(e|0);b=a?-1:f;break a}e=ua[v[a+24>>2]](b,c,v[a>>2])|0;i=ta;h=i;if((e&h)==-1){Fa(d,4,27674,0);v[a+68>>2]=v[a+68>>2]|4;e=g+v[a+60>>2]|0;b=f+v[a+56>>2]|0;e=b>>>0>>0?e+1|0:e;v[a+56>>2]=b;v[a+60>>2]=e;a=!(g|f);b=a?-1:f;break a}g=g+h|0;f=e+f|0;g=f>>>0>>0?g+1|0:g;c=c-((b>>>0>>0)+h|0)|0;b=b-e|0;if(!!b&(c|0)>=0|(c|0)>0){continue}break}}b=g+v[a+60>>2]|0;c=f+v[a+56>>2]|0;b=c>>>0>>0?b+1|0:b;v[a+56>>2]=c;v[a+60>>2]=b;ta=g;return f|0}ta=a?-1:g;return b|0}function Hd(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0;g=qa-32|0;qa=g;if(v[a+8>>2]==16){h=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{h=v[a+12>>2]}a:{if(y[d>>2]<=4){a=0;Fa(e,1,4504,0);break a}i=v[h+5584>>2];h=i+B(b,1080)|0;Ia(c,h+4|0,1);f=v[h+4>>2]+1|0;v[h+4>>2]=f;if(f>>>0>=34){v[g+4>>2]=33;v[g>>2]=f;Fa(e,1,17272,g);a=0;break a}j=v[a+160>>2];if(j>>>0>=f>>>0){v[g+24>>2]=f;v[g+20>>2]=j;v[g+16>>2]=b;Fa(e,1,28755,g+16|0);v[a+8>>2]=v[a+8>>2]|32768;a=0;break a}a=i+B(b,1080)|0;Ia(c+1|0,a+8|0,1);v[a+8>>2]=v[a+8>>2]+2;Ia(c+2|0,a+12|0,1);f=v[a+12>>2]+2|0;v[a+12>>2]=f;a=v[a+8>>2];if(!(!(a>>>0>10|f>>>0>10)&a+f>>>0<13)){a=0;Fa(e,1,8951,0);break a}a=i+B(b,1080)|0;Ia(c+3|0,a+16|0,1);if(w[a+16|0]&128){a=0;Fa(e,1,10543,0);break a}Ia(c+4|0,a+20|0,1);if(y[a+20>>2]>=2){a=0;Fa(e,1,10478,0);break a}f=v[d>>2]-5|0;v[d>>2]=f;a=1;j=v[h+4>>2];if(!(t[h|0]&1)){if(!j){break a}d=0;b=i+B(b,1080)|0;while(1){a=b+(d<<2)|0;v[a+944>>2]=15;v[a+812>>2]=15;a=1;d=d+1|0;if(d>>>0>2]){continue}break}break a}if(f>>>0>=j>>>0){b:{if(!j){b=0;break b}Ia(c+5|0,g+28|0,1);i=i+B(b,1080)|0;v[i+812>>2]=v[g+28>>2]&15;v[i+944>>2]=v[g+28>>2]>>>4;b=v[h+4>>2];if(b>>>0>=2){a=c+6|0;c=1;while(1){Ia(a,g+28|0,1);c:{b=v[g+28>>2];if(b>>>0>=16){b=b&15;if(b){break c}}a=0;Fa(e,1,9948,0);break a}f=i+(c<<2)|0;v[f+812>>2]=b;v[f+944>>2]=v[g+28>>2]>>>4;a=a+1|0;b=v[h+4>>2];c=c+1|0;if(b>>>0>c>>>0){continue}break}}f=v[d>>2]}v[d>>2]=f-b;a=1;break a}a=0;Fa(e,1,4504,0)}qa=g+32|0;return a}function cd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=v[a+24>>2];j=v[e+16>>2];if(!j){return 0}f=v[e+24>>2];e=v[v[v[a+20>>2]>>2]+20>>2];a:{b:{if(!b){b=0;while(1){c=v[f+24>>2];a=(v[e+28>>2]+B(v[e+24>>2],152)|0)-152|0;g=v[a+12>>2];h=v[a+4>>2];d=g-h|0;a=v[a+8>>2]-v[a>>2]|0;c:{if((g|0)==(h|0)){break c}pi(a,0,d,0);if(!ta){break c}break a}d=B(a,d);d:{a=(c>>>3|0)+((c&7)!=0)|0;c=(a|0)==3?4:a;if(!c){break d}pi(c,0,d,0);if(!ta){break d}break a}a=-1;c=B(c,d);if(c>>>0>(b^-1)>>>0){break b}e=e+76|0;f=f+52|0;b=b+c|0;a=b;i=i+1|0;if((j|0)!=(i|0)){continue}break}break b}b=0;if(!v[a+64>>2]){while(1){c=v[f+24>>2];a=(v[e+28>>2]+B(v[e+24>>2],152)|0)-152|0;g=v[a+148>>2];h=v[a+140>>2];d=g-h|0;a=v[a+144>>2]-v[a+136>>2]|0;e:{if((g|0)==(h|0)){break e}pi(a,0,d,0);if(!ta){break e}break a}d=B(a,d);f:{a=(c>>>3|0)+((c&7)!=0)|0;c=(a|0)==3?4:a;if(!c){break f}pi(c,0,d,0);if(!ta){break f}break a}a=-1;c=B(c,d);if(c>>>0>(b^-1)>>>0){break b}e=e+76|0;f=f+52|0;b=b+c|0;a=b;i=i+1|0;if((j|0)!=(i|0)){continue}break}break b}while(1){c=v[f+24>>2];a=(v[e+28>>2]+B(v[e+24>>2],152)|0)-152|0;g=v[a+12>>2];h=v[a+4>>2];d=g-h|0;a=v[a+8>>2]-v[a>>2]|0;g:{if((g|0)==(h|0)){break g}pi(a,0,d,0);if(!ta){break g}break a}d=B(a,d);h:{a=(c>>>3|0)+((c&7)!=0)|0;c=(a|0)==3?4:a;if(!c){break h}pi(c,0,d,0);if(!ta){break h}break a}a=-1;c=B(c,d);if(c>>>0>(b^-1)>>>0){break b}e=e+76|0;f=f+52|0;b=b+c|0;a=b;i=i+1|0;if((j|0)!=(i|0)){continue}break}}return a}return-1}function lc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0;h=qa-32|0;qa=h;t=v[a+16>>2];a:{if(!t){e=1;break a}b:{n=v[a>>2];if((n|0)<0){break b}o=v[a+4>>2];if((o|0)<0){break b}c=v[a+8>>2];if((c|0)<0){break b}f=v[a+12>>2];if((f|0)<0){break b}a=v[a+24>>2];w=c;x=f;while(1){d=v[a>>2];i=d>>31;g=i-!d|0;c=g;k=d-1|0;f=n+k|0;c=f>>>0>>0?c+1|0:c;p=qi(f,c,d,i);v[a+16>>2]=p;j=v[a+4>>2];q=j>>31;u=q-!j|0;c=u;r=j-1|0;f=o+r|0;c=f>>>0>>0?c+1|0:c;s=qi(f,c,j,q);v[a+20>>2]=s;f=v[a+40>>2];e=f&31;if((f&63)>>>0>=32){c=-1<>>32-e;e=-1<>>0>k>>>0?c+1|0:c;d=qi(k,c,d,i);c=(d>>31)+l|0;g=d;d=d+e|0;c=g>>>0>d>>>0?c+1|0:c;i=d;d=f&31;d=(f&63)>>>0>=32?c>>d:((1<>>d;c=l+(p>>31)|0;g=d;i=e+p|0;c=i>>>0>>0?c+1|0:c;d=f&31;c=g-((f&63)>>>0>=32?c>>d:((1<>>d)|0;if((c|0)<0){v[h+4>>2]=c;v[h>>2]=m;Fa(b,1,24847,h);e=0;break a}v[a+8>>2]=c;c=u;d=r+x|0;c=d>>>0>>0?c+1|0:c;d=qi(d,c,j,q);c=l+(d>>31)|0;d=d+e|0;c=d>>>0>>0?c+1|0:c;j=d;d=f&31;d=(f&63)>>>0>=32?c>>d:((1<>>d;c=l+(s>>31)|0;g=e;e=e+s|0;c=g>>>0>e>>>0?c+1|0:c;g=d;d=e;e=f&31;c=g-((f&63)>>>0>=32?c>>e:((1<>>e)|0;if((c|0)<0){v[h+20>>2]=c;v[h+16>>2]=m;Fa(b,1,24916,h+16|0);e=0;break a}v[a+12>>2]=c;a=a+52|0;e=1;m=m+1|0;if((t|0)!=(m|0)){continue}break}break a}Fa(b,1,10699,0)}qa=h+32|0;return e}function Ob(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;if(a){a:{if(v[a>>2]){b=v[a+12>>2];if(b){Nb(b);Ga(v[a+12>>2]);v[a+12>>2]=0}b=v[a+16>>2];if(b){Ga(b);v[a+16>>2]=0;v[a+20>>2]=0}Ga(v[a- -64>>2]);v[a+60>>2]=0;v[a+64>>2]=0;break a}b=v[a+44>>2];if(b){Ga(b);v[a+44>>2]=0}b=v[a+32>>2];if(b){Ga(b);v[a+32>>2]=0;v[a+36>>2]=0}b=v[a+52>>2];if(!b){break a}Ga(b);v[a+52>>2]=0;v[a+56>>2]=0}Lb(v[a+208>>2]);b=v[a+156>>2];if(b){d=B(v[a+104>>2],v[a+108>>2]);if(d){while(1){Nb(b);b=b+5644|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}b=v[a+156>>2]}Ga(b);v[a+156>>2]=0}b=v[a+116>>2];if(b){c=v[a+112>>2];if(c){b=0;while(1){d=v[v[a+116>>2]+(b<<3)>>2];if(d){Ga(d);c=v[a+112>>2]}b=b+1|0;if(c>>>0>b>>>0){continue}break}b=v[a+116>>2]}v[a+112>>2]=0;Ga(b);v[a+116>>2]=0}Ga(v[a+136>>2]);v[a+120>>2]=0;v[a+136>>2]=0;Ga(v[a+100>>2]);v[a+100>>2]=0;if(!(w[a+188|0]&2)){Ga(v[a+168>>2])}Ma(a+80|0,0,112);Jb(v[a+192>>2]);v[a+192>>2]=0;Jb(v[a+196>>2]);v[a+192>>2]=0;b=v[a+200>>2];if(b){c=v[b+28>>2];if(c){Ga(c);v[b+28>>2]=0}c=v[b+40>>2];if(c){if(v[b+36>>2]){while(1){d=B(f,40);e=v[(d+c|0)+36>>2];if(e){Ga(e);c=v[b+40>>2];v[(d+c|0)+36>>2]=0}e=v[(c+d|0)+16>>2];if(e){Ga(e);c=v[b+40>>2];v[(d+c|0)+16>>2]=0}e=v[(c+d|0)+24>>2];if(e){Ga(e);c=v[b+40>>2];v[(d+c|0)+24>>2]=0}f=f+1|0;if(f>>>0>2]){continue}break}}Ga(c);v[b+40>>2]=0}Ga(b)}v[a+200>>2]=0;db(v[a+72>>2]);v[a+72>>2]=0;db(v[a+76>>2]);v[a+76>>2]=0;oc(v[a+212>>2]);v[a+212>>2]=0;Ga(a)}}function ce(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=yb();v[b+72>>2]=e;a:{b:{if(!e){break b}c:{if(Ra(v[b+196>>2],119,d)){if(Ra(v[b+196>>2],120,d)){break c}}break a}g=v[b+196>>2];i=v[g>>2];f=v[g+8>>2];d:{if(i){e=1;if((i|0)!=1){k=i&-2;while(1){h=0;e:{if(!e){break e}h=0;if(!(ua[v[f>>2]](b,a,d)|0)){break e}h=(ua[v[f+4>>2]](b,a,d)|0)!=0}e=h;f=f+8|0;j=j+2|0;if((k|0)!=(j|0)){continue}break}}f:{g:{if(i&1){if(!e){break g}e=(ua[v[f>>2]](b,a,d)|0)!=0}v[g>>2]=0;if(!e){break f}break d}v[g>>2]=0}break a}v[g>>2]=0}h:{if(Ra(v[b+192>>2],121,d)){if(Ra(v[b+192>>2],122,d)){break h}}break a}g=v[b+192>>2];i=v[g>>2];f=v[g+8>>2];i:{if(i){e=1;if((i|0)!=1){k=i&-2;j=0;while(1){h=0;j:{if(!e){break j}h=0;if(!(ua[v[f>>2]](b,a,d)|0)){break j}h=(ua[v[f+4>>2]](b,a,d)|0)!=0}e=h;f=f+8|0;j=j+2|0;if((k|0)!=(j|0)){continue}break}}k:{l:{if(i&1){if(!e){break l}e=(ua[v[f>>2]](b,a,d)|0)!=0}v[g>>2]=0;if(!e){break k}break i}v[g>>2]=0}break a}v[g>>2]=0}a=yb();v[c>>2]=a;if(!a){break b}Sb(v[b+72>>2],a);a=B(v[b+108>>2],v[b+104>>2]);v[v[b+200>>2]+36>>2]=a;d=Ka(a,40);a=v[b+200>>2];v[a+40>>2]=d;m:{if(!d){break m}if(!v[a+36>>2]){return 1}f=0;while(1){e=B(f,40);a=e+d|0;v[a+20>>2]=0;v[a+28>>2]=100;a=Ka(100,24);g=v[b+200>>2];d=v[g+40>>2];v[(e+d|0)+24>>2]=a;if(!a){break m}l=1;f=f+1|0;if(f>>>0>2]){continue}break}break b}db(v[c>>2]);l=0;v[c>>2]=0}return l|0}db(v[b+72>>2]);v[b+72>>2]=0;return 0}function Yh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=v[a+72>>2];k=B(v[a+104>>2],v[a+108>>2]);a:{if(k){b=v[j+16>>2];o=B(b,1080);l=B(b,b)<<2;e=v[a+12>>2];d=v[a+156>>2];while(1){m=v[d+5584>>2];b=Ja(d,e,5644);v[b+5608>>2]=0;v[b+5588>>2]=-1;v[b+5168>>2]=0;v[b+5636>>2]=0;v[b+5616>>2]=0;v[b+5624>>2]=0;v[b+5628>>2]=0;v[b+5584>>2]=m;t[b+5640|0]=w[b+5640|0]&252;if(v[e+5608>>2]){d=La(l);v[b+5608>>2]=d;if(!d){return 0}Ja(d,v[e+5608>>2],l)}f=B(v[e+5624>>2],20);d=La(f);v[b+5616>>2]=d;i=0;if(!d){break a}Ja(d,v[e+5616>>2],f);g=v[e+5620>>2];if(g){d=v[e+5616>>2];f=v[b+5616>>2];h=0;while(1){if(v[d+12>>2]){g=La(v[d+16>>2]);v[f+12>>2]=g;if(!g){return 0}Ja(g,v[d+12>>2],v[d+16>>2]);g=v[e+5620>>2]}v[b+5624>>2]=v[b+5624>>2]+1;f=f+20|0;d=d+20|0;h=h+1|0;if(h>>>0>>0){continue}break}}f=B(v[e+5636>>2],20);d=La(f);v[b+5628>>2]=d;if(!d){break a}Ja(d,v[e+5628>>2],f);v[b+5636>>2]=v[e+5636>>2];i=v[e+5636>>2];if(i){d=v[e+5628>>2];f=v[b+5628>>2];h=0;while(1){g=v[d+8>>2];if(g){v[f+8>>2]=v[b+5616>>2]+B((g-v[e+5616>>2]|0)/20|0,20)}g=v[d+12>>2];if(g){v[f+12>>2]=v[b+5616>>2]+B((g-v[e+5616>>2]|0)/20|0,20)}f=f+20|0;d=d+20|0;h=h+1|0;if((i|0)!=(h|0)){continue}break}}Ja(m,v[e+5584>>2],o);d=b+5644|0;n=n+1|0;if((k|0)!=(n|0)){continue}break}}i=1;b=id(1);v[a+208>>2]=b;if(!b){return 0}if(hd(b,j,a+80|0,v[a+212>>2])){break a}Lb(v[a+208>>2]);i=0;v[a+208>>2]=0;Fa(c,1,6161,0)}return i|0}function Yd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=qa-16|0;qa=j;l=v[v[a+72>>2]+16>>2];b=Ka(1,56);v[j+12>>2]=b;a:{if(!b){break a}h=v[v[a+72>>2]+16>>2];v[b+24>>2]=h;v[b>>2]=v[a+84>>2];v[b+4>>2]=v[a+88>>2];v[b+8>>2]=v[a+92>>2];v[b+12>>2]=v[a+96>>2];v[b+16>>2]=v[a+104>>2];f=v[a+108>>2];v[b+52>>2]=0;v[b+20>>2]=f;i=v[a+12>>2];v[b+32>>2]=v[i>>2];v[b+36>>2]=v[i+4>>2];v[b+40>>2]=v[i+8>>2];v[b+44>>2]=v[i+16>>2];a=Ka(h,1080);v[b+48>>2]=a;if(a){if(l){while(1){a=B(k,1080);d=a+v[b+48>>2]|0;c=a+v[i+5584>>2]|0;v[d+4>>2]=v[c>>2];a=v[c+4>>2];v[d+8>>2]=a;v[d+12>>2]=v[c+8>>2];v[d+16>>2]=v[c+12>>2];v[d+20>>2]=v[c+16>>2];v[d+24>>2]=v[c+20>>2];if(a>>>0<=32){Ja(d+948|0,c+944|0,a);Ja(d+816|0,c+812|0,v[c+4>>2])}a=v[c+24>>2];v[d+28>>2]=a;v[d+808>>2]=v[c+804>>2];g=1;b:{if((a|0)!=1){a=B(v[c+4>>2],3);if(a-3>>>0>95){break b}g=a-2|0}o=g&1;a=0;if((g|0)!=1){p=g&-2;g=0;while(1){m=d+32|0;f=a<<2;n=c+28|0;e=n+(a<<3)|0;v[m+f>>2]=v[e+4>>2];h=d+420|0;v[h+f>>2]=v[e>>2];e=a|1;f=e<<2;e=(e<<3)+n|0;v[f+m>>2]=v[e+4>>2];v[f+h>>2]=v[e>>2];a=a+2|0;g=g+2|0;if((p|0)!=(g|0)){continue}break}}if(!o){break b}e=(a<<2)+d|0;a=(a<<3)+c|0;v[e+32>>2]=v[a+32>>2];v[e+420>>2]=v[a+28>>2]}v[d+812>>2]=v[c+808>>2];k=k+1|0;if((k|0)!=(l|0)){continue}break}}e=b;break a}f=j+12|0;if(f){a=v[f>>2];b=v[a+48>>2];if(b){Ga(b);a=v[f>>2]}Ga(a);v[f>>2]=0}}qa=j+16|0;return e|0}function Vd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a:{b:{e=v[a+60>>2];if(!e){if(v[b+16>>2]){break b}return 1}g=La(B(e,52));if(!g){break a}e=0;if(v[b+16>>2]){d=v[b+24>>2];while(1){e=B(c,52);Ga(v[(e+d|0)+44>>2]);d=v[b+24>>2];v[(e+d|0)+44>>2]=0;c=c+1|0;e=v[b+16>>2];if(c>>>0>>0){continue}break}}if(v[a+60>>2]){c=v[v[a+76>>2]+24>>2];e=0;while(1){f=B(v[v[a+64>>2]+(e<<2)>>2],52);c=f+c|0;h=v[c+4>>2];d=g+B(e,52)|0;v[d>>2]=v[c>>2];v[d+4>>2]=h;v[d+48>>2]=v[c+48>>2];h=v[c+44>>2];v[d+40>>2]=v[c+40>>2];v[d+44>>2]=h;h=v[c+36>>2];v[d+32>>2]=v[c+32>>2];v[d+36>>2]=h;h=v[c+28>>2];v[d+24>>2]=v[c+24>>2];v[d+28>>2]=h;h=v[c+20>>2];v[d+16>>2]=v[c+16>>2];v[d+20>>2]=h;h=v[c+12>>2];v[d+8>>2]=v[c+8>>2];v[d+12>>2]=h;c=v[v[a+76>>2]+24>>2];f=f+c|0;v[d+36>>2]=v[f+36>>2];v[d+44>>2]=v[f+44>>2];v[f+44>>2]=0;e=e+1|0;f=v[a+60>>2];if(e>>>0>>0){continue}break}e=v[b+16>>2]}if(e){d=v[v[a+76>>2]+24>>2];c=0;while(1){e=B(c,52);Ga(v[(e+d|0)+44>>2]);d=v[v[a+76>>2]+24>>2];v[(e+d|0)+44>>2]=0;c=c+1|0;if(c>>>0>2]){continue}break}f=v[a+60>>2]}v[b+16>>2]=f;Ga(v[b+24>>2]);v[b+24>>2]=g;return 1}e=v[b+24>>2];c=v[v[a+76>>2]+24>>2];while(1){g=B(d,52);e=g+e|0;v[e+36>>2]=v[(c+g|0)+36>>2];Ga(v[e+44>>2]);e=v[b+24>>2];f=g+e|0;c=v[v[a+76>>2]+24>>2];g=g+c|0;v[f+44>>2]=v[g+44>>2];v[g+44>>2]=0;d=d+1|0;if(d>>>0>2]){continue}break}return 1}db(v[a+72>>2]);v[a+72>>2]=0;return 0}function fh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=qa-16|0;qa=h;if(v[a+8>>2]==16){f=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{f=v[a+12>>2]}a:{if(c>>>0<=1){Fa(d,1,6685,0);a=0;break a}Ia(b,h+12|0,2);b:{if(v[h+12>>2]){Fa(d,2,6101,0);break b}if(c>>>0<=6){Fa(d,1,6685,0);a=0;break a}Ia(b+2|0,h+12|0,2);e=v[f+5616>>2];k=w[h+12|0];c:{d:{e:{g=v[f+5620>>2];if(!g){a=e;break e}a=e;while(1){if(v[a+8>>2]==(k|0)){break e}a=a+20|0;i=i+1|0;if((i|0)!=(g|0)){continue}break}break d}if((g|0)!=(i|0)){break c}}if(v[f+5624>>2]==(g|0)){a=g+10|0;v[f+5624>>2]=a;a=Pa(e,B(a,20));e=v[f+5616>>2];if(!a){Ga(e);v[f+5624>>2]=0;v[f+5616>>2]=0;v[f+5620>>2]=0;Fa(d,1,6750,0);a=0;break a}f:{if((a|0)==(e|0)){break f}l=v[f+5632>>2];if(!l){break f}m=v[f+5628>>2];i=0;while(1){g=B(i,20)+m|0;j=v[g+8>>2];if(j){v[g+8>>2]=a+B((j-e|0)/20|0,20)}j=v[g+12>>2];if(j){v[g+12>>2]=a+B((j-e|0)/20|0,20)}i=i+1|0;if((l|0)!=(i|0)){continue}break}}v[f+5616>>2]=a;e=v[f+5620>>2];Ma(a+B(e,20)|0,0,B(v[f+5624>>2]-e|0,20));g=v[f+5620>>2];e=v[f+5616>>2]}v[f+5620>>2]=g+1;a=B(g,20)+e|0}e=v[a+12>>2];if(e){Ga(e);v[a+12>>2]=0;v[a+16>>2]=0}v[a+8>>2]=k;e=v[h+12>>2];v[a>>2]=e>>>10&3;v[a+4>>2]=e>>>8&3;Ia(b+4|0,h+12|0,2);if(v[h+12>>2]){Fa(d,2,5270,0);break b}c=c-6|0;e=La(c);v[a+12>>2]=e;if(!e){Fa(d,1,6685,0);a=0;break a}Ja(e,b+6|0,c);v[a+16>>2]=c}a=1}qa=h+16|0;return a|0}function ge(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=(v[a+28>>2]+B(b,152)|0)-152|0;c=v[d+8>>2]-v[d>>2]|0;g=c;d=v[d+12>>2]-v[d+4>>2]|0;e=d;c=c>>>0>=64?64:c;f=d>>>0>=64?64:d;a:{if(!(!g|!d|(!c|!f)|c>>>0>4294967295/(f>>>0)>>>2>>>0)){d=Ka(1,28);v[d+12>>2]=f;v[d+8>>2]=c;v[d+4>>2]=e;v[d>>2]=g;h=e;e=f+e|0;i=h>>>0>e>>>0;f=ri(e-1|0,i-!e|0,f,0);v[d+20>>2]=f;e=g;g=c+g|0;e=e>>>0>g>>>0;c=ri(g-1|0,e-!g|0,c,0);v[d+16>>2]=c;pi(f,0,c,0);b:{if(ta){break b}c=Ka(4,B(c,f));v[d+24>>2]=c;if(!c){break b}break a}Ga(d)}d=0}if(!d){return 0}c:{if(b){while(1){e=v[a+28>>2]+B(m,152)|0;c=v[e+24>>2];if(c){p=m-1|0;g=v[e+20>>2];h=v[e+16>>2];n=0;while(1){if(B(g,h)){i=e+B(n,36)|0;o=0;while(1){j=v[i+48>>2]+B(o,40)|0;f=v[j+20>>2];c=v[j+16>>2];if(B(f,c)){g=0;while(1){h=v[j+24>>2]+(g<<6)|0;q=v[h+60>>2];if(q){k=v[h+8>>2];c=k-v[i+28>>2]|0;r=v[h+12>>2];f=r-v[i+32>>2]|0;l=v[i+44>>2];if(l&1){s=v[a+28>>2]+B(p,152)|0;c=(c+v[s+8>>2]|0)-v[s>>2]|0}if(l&2){l=v[a+28>>2]+B(p,152)|0;f=(f+v[l+12>>2]|0)-v[l+4>>2]|0}k=v[h+16>>2]-k|0;if(!rb(d,c,f,c+k|0,(v[h+20>>2]-r|0)+f|0,q,1,k)){break c}f=v[j+20>>2];c=v[j+16>>2]}g=g+1|0;if(g>>>0>>0){continue}break}h=v[e+16>>2];g=v[e+20>>2]}o=o+1|0;if(o>>>0>>0){continue}break}c=v[e+24>>2]}n=n+1|0;if(n>>>0>>0){continue}break}}m=m+1|0;if((m|0)!=(b|0)){continue}break}}return d}jb(d);return 0}function hb(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{if(!v[a+12>>2]){k=1;if(v[a+4>>2]>0|v[a+8>>2]>1){break b}break a}e=1;if(v[a+8>>2]>0){break b}if(v[a+4>>2]<2){break a}}b=v[a>>2];f=b+(e<<5)|0;g=v[a+16>>2];h=v[a+20>>2];if(g>>>0>>0){d=g;while(1){c=(d<<6)+f|0;z[c>>2]=z[c>>2]*C(1.2301740646362305);z[c+4>>2]=z[c+4>>2]*C(1.2301740646362305);z[c+8>>2]=z[c+8>>2]*C(1.2301740646362305);z[c+12>>2]=z[c+12>>2]*C(1.2301740646362305);z[c+16>>2]=z[c+16>>2]*C(1.2301740646362305);z[c+20>>2]=z[c+20>>2]*C(1.2301740646362305);z[c+24>>2]=z[c+24>>2]*C(1.2301740646362305);z[c+28>>2]=z[c+28>>2]*C(1.2301740646362305);d=d+1|0;if((h|0)!=(d|0)){continue}break}}i=b+(k<<5)|0;j=v[a+28>>2];c=v[a+24>>2];if(j>>>0>c>>>0){d=c;while(1){b=(d<<6)+i|0;z[b>>2]=z[b>>2]*C(1.625732421875);z[b+4>>2]=z[b+4>>2]*C(1.625732421875);z[b+8>>2]=z[b+8>>2]*C(1.625732421875);z[b+12>>2]=z[b+12>>2]*C(1.625732421875);z[b+16>>2]=z[b+16>>2]*C(1.625732421875);z[b+20>>2]=z[b+20>>2]*C(1.625732421875);z[b+24>>2]=z[b+24>>2]*C(1.625732421875);z[b+28>>2]=z[b+28>>2]*C(1.625732421875);d=d+1|0;if((j|0)!=(d|0)){continue}break}}b=f+32|0;d=v[a+8>>2];a=v[a+4>>2];e=a-e|0;e=(d|0)<(e|0)?d:e;Pb(i,b,g,h,e,C(-.4435068666934967));l=i+32|0;d=d-k|0;a=(a|0)<(d|0)?a:d;Pb(f,l,c,j,a,C(-.8829110860824585));Pb(i,b,g,h,e,C(.05298011749982834));Pb(f,l,c,j,a,C(1.5861343145370483))}}function Af(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=qa+-64|0;qa=f;a:{if(Ya(b,48848,0)){v[c>>2]=0;d=1;break a}b:{if(w[a+8|0]&24){e=1}else{if(!b){break b}e=bb(b,48580);if(!e){break b}e=(w[e+8|0]&24)!=0}g=Ya(a,b,e)}if(g){d=1;a=v[c>>2];if(!a){break a}v[c>>2]=v[a>>2];break a}c:{if(!b){break c}e=bb(b,48628);if(!e){break a}b=v[c>>2];if(b){v[c>>2]=v[b>>2]}g=v[e+8>>2];b=v[a+8>>2];if(g&(b^-1)&7|b&(g^-1)&96){break a}d=1;if(Ya(v[a+12>>2],v[e+12>>2],0)){break a}if(Ya(v[a+12>>2],48836,0)){a=v[e+12>>2];if(!a){break a}d=!bb(a,48680);break a}g=v[a+12>>2];if(!g){break c}d=0;b=bb(g,48628);if(b){if(!(t[a+8|0]&1)){break a}a=v[e+12>>2];c=0;d:{e:{while(1){d=0;if(!a){break d}a=bb(a,48628);if(!a|v[a+8>>2]&(v[b+8>>2]^-1)){break e}d=1;if(Ya(v[b+12>>2],v[a+12>>2],0)){break d}if(!(t[b+8|0]&1)){break e}d=v[b+12>>2];if(!d){break e}b=bb(d,48628);if(b){a=v[a+12>>2];continue}break}b=bb(d,48740);if(!b){break e}c=Fc(b,v[a+12>>2])}d=c}break a}b=bb(g,48740);if(b){if(!(t[a+8|0]&1)){break a}d=Fc(b,v[e+12>>2]);break a}b=bb(g,48532);if(!b){break a}a=v[e+12>>2];if(!a){break a}a=bb(a,48532);if(!a){break a}d=f+8|0;Ma(d|4,0,52);v[f+56>>2]=1;v[f+20>>2]=-1;v[f+16>>2]=b;v[f+8>>2]=a;ua[v[v[a>>2]+28>>2]](a,d,v[c>>2],1);a=v[f+32>>2];if(!(!v[c>>2]|(a|0)!=1)){v[c>>2]=v[f+24>>2]}d=(a|0)==1;break a}d=0}qa=f- -64|0;return d|0}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=qa-16|0;qa=k;d=1;n=v[a+72>>2];l=v[n+16>>2];a:{if(l>>>0<2){break a}h=1;while(1){f=v[(v[a+156>>2]+B(v[a+204>>2],5644)|0)+5584>>2];g=v[f+24>>2];b:{c:{j=B(h,1080);m=j+f|0;i=v[m+24>>2];if((g|0)!=(i|0)|v[f+804>>2]!=v[m+804>>2]){break c}e=1;if((g|0)!=1){d=v[f+4>>2];if((d|0)!=v[m+4>>2]){break c}e=B(d,3)-2|0;if(!e){break b}}d=0;while(1){o=(d<<3)+f|0;if(v[o+28>>2]!=v[(j+o|0)+28>>2]){break c}d=d+1|0;if((e|0)!=(d|0)){continue}break}if(!g){break b}d=0;if(!e){break b}while(1){g=(d<<3)+f|0;if(v[g+32>>2]!=v[(g+j|0)+32>>2]){break c}d=d+1|0;if((e|0)!=(d|0)){continue}break}break b}e=1;d=v[a+52>>2];e=(i|0)!=1?B(v[m+4>>2],3)-2|0:e;g=(l>>>0>256?6:5)+(i?e<<1|1:e+1|0)|0;if(g>>>0>y[a+56>>2]){d=Pa(d,g);if(!d){Ga(v[a+52>>2]);v[a+52>>2]=0;v[a+56>>2]=0;d=0;Fa(c,1,7841,0);break a}v[a+56>>2]=g;v[a+52>>2]=d;f=v[(v[a+156>>2]+B(v[a+204>>2],5644)|0)+5584>>2];i=v[(j+f|0)+24>>2]}e=1;e=(i|0)!=1?B(v[(f+j|0)+4>>2],3)-2|0:e;Ha(d,65373,2);e=i?e<<1|1:e+1|0;f=y[v[a+72>>2]+16>>2]<257;Ha(d+2|0,e+(f?3:4)|0,2);Ha(d+4|0,h,f?1:2);v[k+12>>2]=e;zd(v[a+156>>2],v[a+204>>2],h,(f?5:6)+d|0,k+12|0,c);if((Ua(b,v[a+52>>2],g,c)|0)!=(g|0)){d=0;break a}n=v[a+72>>2]}d=1;h=h+1|0;l=v[n+16>>2];if(h>>>0>>0){continue}break}}qa=k+16|0;return d|0}function Lb(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(a){b=v[a+20>>2];if(b){f=v[b>>2];if(f){e=v[f+20>>2];if(v[f+16>>2]){h=t[a+40|0]&1?251:252;while(1){d=v[e+28>>2];if(d){b=v[e+32>>2];if(b>>>0>=152){k=(b>>>0)/152|0;i=0;while(1){b=v[d+48>>2];if(b){c=v[d+52>>2];if(c>>>0>=40){g=(c>>>0)/40|0;c=0;while(1){tb(v[b+32>>2]);v[b+32>>2]=0;tb(v[b+36>>2]);v[b+36>>2]=0;ua[h|0](b);b=b+40|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}b=v[d+48>>2]}Ga(b);v[d+48>>2]=0}b=v[d+84>>2];if(b){c=v[d+88>>2];if(c>>>0>=40){g=(c>>>0)/40|0;c=0;while(1){tb(v[b+32>>2]);v[b+32>>2]=0;tb(v[b+36>>2]);v[b+36>>2]=0;ua[h|0](b);b=b+40|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}b=v[d+84>>2]}Ga(b);v[d+84>>2]=0}b=v[d+120>>2];if(b){c=v[d+124>>2];if(c>>>0>=40){g=(c>>>0)/40|0;c=0;while(1){tb(v[b+32>>2]);v[b+32>>2]=0;tb(v[b+36>>2]);v[b+36>>2]=0;ua[h|0](b);b=b+40|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}b=v[d+120>>2]}Ga(b);v[d+120>>2]=0}d=d+152|0;i=i+1|0;if((k|0)!=(i|0)){continue}break}d=v[e+28>>2]}Ga(d);v[e+28>>2]=0}a:{if(!v[e+40>>2]){break a}b=v[e+36>>2];if(!b){break a}Ga(b);v[e+44>>2]=0;v[e+48>>2]=0;v[e+36>>2]=0;v[e+40>>2]=0}Ga(v[e+52>>2]);e=e+76|0;j=j+1|0;if(j>>>0>2]){continue}break}e=v[f+20>>2]}Ga(e);v[f+20>>2]=0;Ga(v[v[a+20>>2]>>2]);b=v[a+20>>2];v[b>>2]=0}Ga(b);v[a+20>>2]=0}Ga(v[a+68>>2]);Ga(a)}}function ie(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0;l=f<<3;if(d){h=(l<<2)+a|0;m=g-2|0;k=d;i=b;while(1){k=k-1|0;f=0;a:{b:{switch(m|0){case 6:f=v[h+4>>2];v[i>>2]=v[h>>2];v[i+4>>2]=f;f=v[h+28>>2];v[i+24>>2]=v[h+24>>2];v[i+28>>2]=f;f=v[h+20>>2];v[i+16>>2]=v[h+16>>2];v[i+20>>2]=f;f=v[h+12>>2];v[i+8>>2]=v[h+8>>2];v[i+12>>2]=f;break a;case 5:v[i>>2]=v[h>>2];f=1;case 4:j=f<<2;v[j+i>>2]=v[h+j>>2];f=f+1|0;case 3:j=f<<2;v[j+i>>2]=v[h+j>>2];f=f+1|0;case 2:j=f<<2;v[j+i>>2]=v[h+j>>2];f=f+1|0;case 1:j=f<<2;v[j+i>>2]=v[h+j>>2];f=f+1|0;case 0:j=f<<2;v[j+i>>2]=v[h+j>>2];f=f+1|0;break;default:break b}}f=f<<2;v[f+i>>2]=v[f+h>>2]}h=h- -64|0;i=(e<<2)+i|0;if(k){continue}break}}if(c){h=(B(d,e)<<2)+b|0;i=(8-l<<2)+a|0;a=g-2|0;while(1){c=c-1|0;f=0;c:{d:{switch(a|0){case 5:v[h>>2]=v[i>>2];f=1;case 4:b=f<<2;v[b+h>>2]=v[b+i>>2];f=f+1|0;case 3:b=f<<2;v[b+h>>2]=v[b+i>>2];f=f+1|0;case 2:b=f<<2;v[b+h>>2]=v[b+i>>2];f=f+1|0;case 1:b=f<<2;v[b+h>>2]=v[b+i>>2];f=f+1|0;case 0:b=f<<2;v[b+h>>2]=v[b+i>>2];f=f+1|0;default:b=f<<2;v[b+h>>2]=v[b+i>>2];break c;case 6:break d}}b=v[i+4>>2];v[h>>2]=v[i>>2];v[h+4>>2]=b;b=v[i+28>>2];v[h+24>>2]=v[i+24>>2];v[h+28>>2]=b;b=v[i+20>>2];v[h+16>>2]=v[i+16>>2];v[h+20>>2]=b;b=v[i+12>>2];v[h+8>>2]=v[i+8>>2];v[h+12>>2]=b}i=i- -64|0;h=(e<<2)+h|0;if(c){continue}break}}}function he(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=v[a+8>>2];e=c+v[a+4>>2]|0;a:{if(!v[a+12>>2]){if((e|0)<2){break a}h=(c<<2)+b|0;c=v[h>>2];d=v[b>>2]-(c+1>>1)|0;i=v[a>>2];b:{if(e>>>0<4){f=c;break b}k=(e-4>>>1|0)+1|0;a=1;while(1){f=a<<2;l=v[f+b>>2];f=v[f+h>>2];m=g<<2;v[m+i>>2]=d;j=d;d=l-((c+f|0)+2>>2)|0;v[i+(m|4)>>2]=(j+d>>1)+c;g=g+2|0;j=(a|0)!=(k|0);c=f;a=a+1|0;if(j){continue}break}}v[i+(g<<2)>>2]=d;if(e&1){c=e-1|0;a=v[(c<<1&-4)+b>>2]-(f+1>>1)|0;v[i+(c<<2)>>2]=a;d=a+d>>1;a=-2}else{a=-1}v[(a+e<<2)+i>>2]=d+f;Ja(b,i,e<<2);return}c:{switch(e-1|0){case 0:v[b>>2]=v[b>>2]/2;return;case 1:a=v[a>>2];c=(c<<2)+b|0;d=v[b>>2]-(v[c>>2]+1>>1)|0;v[a+4>>2]=d;v[a>>2]=d+v[c>>2];c=v[a+4>>2];v[b>>2]=v[a>>2];v[b+4>>2]=c;return;default:break c}}if((e|0)<3){break a}h=v[a>>2];k=(c<<2)+b|0;c=v[k+4>>2];a=v[k>>2];d=v[b>>2]-((c+a|0)+2>>2)|0;v[h>>2]=d+a;a=e|-2;l=e-2|0;d:{if((a+l|0)+1>>>0<2){g=c;f=1;break d}m=((a+e|0)-3>>>1|0)+1|0;f=1;a=1;while(1){o=v[(a<<2)+b>>2];i=a+1|0;g=v[(i<<2)+k>>2];n=(f<<2)+h|0;v[n>>2]=d;j=d;d=o-((c+g|0)+2>>2)|0;v[n+4>>2]=(j+d>>1)+c;f=f+2|0;j=(a|0)!=(m|0);c=g;a=i;if(j){continue}break}}v[(f<<2)+h>>2]=d;e:{if(!(e&1)){a=v[((e<<1&-4)+b|0)-4>>2]-(g+1>>1)|0;v[(l<<2)+h>>2]=(d+a>>1)+g;break e}a=d+g|0}c=e<<2;v[(c+h|0)-4>>2]=a;Ja(b,h,c)}}function Ih(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=qa-16|0;qa=l;d=1;f=v[a+72>>2];h=v[f+16>>2];a:{if(h>>>0<2){break a}j=1;while(1){b:{c:{i=v[a+156>>2];m=v[a+204>>2];e=v[(i+B(m,5644)|0)+5584>>2];k=B(j,1080);d=e+k|0;p=v[d>>2];if((p|0)!=v[e>>2]){break c}n=v[e+4>>2];if((n|0)!=v[d+4>>2]|v[e+8>>2]!=v[d+8>>2]|(v[e+12>>2]!=v[d+12>>2]|v[e+16>>2]!=v[d+16>>2])){break c}if(v[e+20>>2]!=v[d+20>>2]){break c}g=0;if(!n){break b}while(1){o=(g<<2)+e|0;q=o+k|0;if(v[o+812>>2]!=v[q+812>>2]|v[o+944>>2]!=v[q+944>>2]){break c}g=g+1|0;if((n|0)!=(g|0)){continue}break}break b}f=5;g=p&1;f=g?v[d+4>>2]+5|0:f;d=v[a+52>>2];f=(h>>>0<257?6:7)+f|0;if(f>>>0>y[a+56>>2]){d=Pa(d,f);if(!d){Ga(v[a+52>>2]);v[a+52>>2]=0;v[a+56>>2]=0;d=0;Fa(c,1,7776,0);break a}v[a+56>>2]=f;v[a+52>>2]=d;h=v[v[a+72>>2]+16>>2];i=v[a+156>>2];m=v[a+204>>2];e=v[(i+B(m,5644)|0)+5584>>2];g=v[k+e>>2]&1}i=(B(m,5644)+i|0)+5584|0;e=g?v[(e+k|0)+4>>2]+5|0:5;Ha(d,65363,2);g=h>>>0<257?1:2;Ha(d+2|0,(g+e|0)+3|0,2);d=d+4|0;Ha(d,j,g);d=d+g|0;Ha(d,v[v[i>>2]+k>>2],1);v[l+12>>2]=e;Ad(v[a+156>>2],v[a+204>>2],d+1|0,l+12|0,c);if((Ua(b,v[a+52>>2],f,c)|0)!=(f|0)){d=0;break a}f=v[a+72>>2]}d=1;h=v[f+16>>2];j=j+1|0;if(h>>>0>j>>>0){continue}break}}qa=l+16|0;return d|0}function Re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;k=qa-16|0;qa=k;d=x[c+4>>1]|x[c+6>>1]<<16;c=x[c>>1]|x[c+2>>1]<<16;v[b+24>>2]=c;v[b+28>>2]=d;e=b+56|0;h=c;j=d;c=d>>>8|0;f=c&255;g=v[b+56>>2];d=v[b+60>>2]-g>>3;a:{if(f>>>0>d>>>0){uc(e,f-d|0);d=w[b+29|0];c=d;break a}if(d>>>0>f>>>0){v[b+60>>2]=g+(f<<3)}d=f}n=h>>>16|0;b:{if(!(c&255)){break b}e=v[e>>2];c=0;if(d-1>>>0>=3){o=d&252;while(1){g=c<<3;i=g+e|0;v[i>>2]=1;v[i+4>>2]=1;i=e+(g|8)|0;v[i>>2]=1;v[i+4>>2]=1;i=e+(g|16)|0;v[i>>2]=1;v[i+4>>2]=1;g=e+(g|24)|0;v[g>>2]=1;v[g+4>>2]=1;c=c+4|0;l=l+4|0;if((l|0)!=(o|0)){continue}break}}d=d&3;if(!d){break b}while(1){g=e+(c<<3)|0;v[g>>2]=1;v[g+4>>2]=1;c=c+1|0;m=m+1|0;if((d|0)!=(m|0)){continue}break}}c:{f=B(f,B(B(h&65535,n),(j&255)+7>>>3|0));c=v[b+4>>2];d=v[b>>2];h=c-d|0;d:{e:{if(f>>>0>h>>>0){j=f-h|0;e=v[b+8>>2];if(j>>>0<=e-c>>>0){c=Ma(c,0,j)+j|0;break e}if((f|0)<0){break c}c=e-d|0;e=c<<1;c=c>>>0>=1073741823?2147483647:e>>>0>f>>>0?e:f;e=Na(c);Ma(e+h|0,0,j);h=fb(e,d,h);v[b+8>>2]=h+c;c=f+h|0;v[b+4>>2]=c;v[b>>2]=h;if(!d){break d}Ga(d);c=v[b+4>>2];break d}if(f>>>0>=h>>>0){break d}c=d+f|0}v[b+4>>2]=c}b=v[b>>2];v[k+12>>2]=b;v[k+8>>2]=c-b;q=a,r=R(29300,k+8|0)|0,v[q>>2]=r;qa=k+16|0;return}lb();p()}function Eg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=qa+-64|0;qa=d;v[d+32>>2]=0;v[d+36>>2]=0;v[d+40>>2]=0;v[d+44>>2]=0;v[d+48>>2]=0;v[d+52>>2]=0;v[d+56>>2]=0;v[d+60>>2]=0;v[d+16>>2]=0;v[d+20>>2]=0;v[d+24>>2]=0;v[d+28>>2]=0;e=v[a+24>>2];v[d+16>>2]=191;a:{if((e|0)!=255){g=2;e=192;break a}v[d+40>>2]=192;g=3;e=193}v[d+28>>2]=e;if(v[a+116>>2]){v[(d+16|0)+B(g,12)>>2]=194;g=g+1|0}Ha(d+12|0,1785737832,4);e=ua[v[d+16>>2]](a,d+16|8)|0;v[d+20>>2]=e;b:{c:{if(!e){break c}f=v[d+24>>2];e=ua[v[d+28>>2]](a,d+36|0)|0;v[d+32>>2]=e;if(!e){break c}f=v[d+36>>2]+(f+8|0)|0;e=f;d:{if((g|0)==2){break d}e=ua[v[d+40>>2]](a,d+48|0)|0;v[d+44>>2]=e;if(!e){break c}e=f+v[d+48>>2]|0;if((g|0)==3){break d}a=ua[v[d+52>>2]](a,d+60|0)|0;v[d+56>>2]=a;if(!a){break c}e=e+v[d+60>>2]|0}a=d+8|0;Ha(a,e,4);e:{f:{if((Ua(b,a,8,c)|0)!=8){break f}a=d+16|0;f=0;while(1){if((Ua(b,v[a+4>>2],v[a+8>>2],c)|0)!=v[a+8>>2]){break f}a=a+12|0;e=1;f=f+1|0;if((g|0)!=(f|0)){continue}break}break e}e=0;Fa(c,1,3788,0)}a=d+16|0;f=0;while(1){b=v[a+4>>2];if(b){Ga(b)}a=a+12|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}break b}f=0;Fa(c,1,17936,0);a=d+16|0;while(1){b=v[a+4>>2];if(b){Ga(b)}a=a+12|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}e=0}qa=d- -64|0;return e|0}function Zd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=qa-256|0;qa=d;if(a){Va(3602,17,1,c);v[d+240>>2]=v[a>>2];Sa(c,4211,d+240|0);v[d+224>>2]=v[a+4>>2];Sa(c,4224,d+224|0);v[d+208>>2]=v[a+8>>2];Sa(c,16863,d+208|0);v[d+192>>2]=v[a+16>>2];Sa(c,4182,d+192|0);if((b|0)>0){while(1){e=v[a+5584>>2];v[d+176>>2]=h;Sa(c,3640,d+176|0);e=e+B(h,1080)|0;v[d+160>>2]=v[e>>2];Sa(c,4210,d+160|0);v[d+144>>2]=v[e+4>>2];Sa(c,16977,d+144|0);v[d+128>>2]=v[e+8>>2];Sa(c,16747,d+128|0);v[d+112>>2]=v[e+12>>2];Sa(c,16763,d+112|0);v[d+96>>2]=v[e+16>>2];Sa(c,4193,d+96|0);v[d+80>>2]=v[e+20>>2];Sa(c,17059,d+80|0);Va(3170,23,1,c);f=0;if(v[e+4>>2]){while(1){g=e+(f<<2)|0;i=v[g+812>>2];v[d+68>>2]=v[g+944>>2];v[d+64>>2]=i;Sa(c,3489,d- -64|0);f=f+1|0;if(f>>>0>2]){continue}break}}Sc(c);v[d+48>>2]=v[e+24>>2];Sa(c,16779,d+48|0);v[d+32>>2]=v[e+804>>2];Sa(c,16846,d+32|0);g=1;Va(3194,20,1,c);a:{if(v[e+24>>2]!=1){f=v[e+4>>2];if((f|0)<=0){break a}g=B(f,3)-2|0}f=0;while(1){i=e+(f<<3)|0;j=d,k=vi(v[i+28>>2],v[i+32>>2],32),v[j+16>>2]=k;v[d+20>>2]=ta;Sa(c,3489,d+16|0);f=f+1|0;if((g|0)!=(f|0)){continue}break}}Sc(c);v[d>>2]=v[e+808>>2];Sa(c,16829,d);Va(3503,5,1,c);h=h+1|0;if((h|0)!=(b|0)){continue}break}}Va(3504,4,1,c)}qa=d+256|0}function yd(){var a=0;X(29144,29168,29200,0,29056,21,29216,0,29216,0,1560,29082,22);W(29144,1,29220,29056,23,24);a=Na(8);v[a+4>>2]=0;v[a>>2]=25;N(29144,1423,3,29224,29264,26,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=27;N(29144,1440,2,29308,29085,28,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=29;N(29144,1621,2,29320,29328,30,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=31;N(29144,1782,3,29332,29264,32,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=33;N(29144,2158,2,29320,29328,30,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=34;N(29144,1727,4,29344,29360,35,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=36;N(29144,1714,2,29368,29085,37,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=38;N(29144,1318,2,29376,29085,39,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=40;N(29144,2105,2,29384,29085,41,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=42;N(29144,1477,2,29392,29085,43,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=44;N(29144,1229,2,29400,29085,45,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=46;N(29144,2058,2,29408,29085,47,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=48;N(29144,1200,2,29400,29085,45,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=49;N(29144,1358,2,29408,29085,47,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=50;N(29144,1287,2,29416,29085,51,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=52;N(29144,2165,2,29424,29085,53,a|0,0)}function oi(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;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{e=b;if(e){if(!c){break j}if(!d){break i}e=E(d)-E(e)|0;if(e>>>0<=31){break h}break b}if((d|0)==1|d>>>0>1){break b}b=(a>>>0)/(c>>>0)|0;ra=a-B(b,c)|0;sa=0;ta=0;return b}if(!a){break g}if(!d){break f}f=d-1|0;if(f&d){break f}ra=a;sa=e&f;a=e>>>wi(d)|0;ta=0;return a}f=c-1|0;if(!(f&c)){break e}j=(E(c)+33|0)-E(e)|0;h=0-j|0;break c}j=e+1|0;h=63-e|0;break c}ra=0;a=(e>>>0)/(d>>>0)|0;sa=e-B(a,d)|0;ta=0;return a}e=E(d)-E(e)|0;if(e>>>0<31){break d}break b}ra=a&f;sa=0;if((c|0)==1){break a}c=wi(c);d=c&31;if((c&63)>>>0>=32){e=0;a=b>>>d|0}else{e=b>>>d|0;a=((1<>>d}ta=e;return a}j=e+1|0;h=63-e|0}f=a;e=j&63;g=e&31;if((e&63)>>>0>=32){e=0;f=b>>>g|0}else{e=b>>>g|0;f=((1<>>g}h=h&63;g=h&31;if((h&63)>>>0>=32){i=a<>>32-g|b<>>31;f=f<<1|b>>>31;k=e;l=h-(e+(f>>>0>g>>>0)|0)|0;m=l>>31;i=m;e=f;l=c&i;f=e-l|0;e=k-((d&i)+(e>>>0>>0)|0)|0;i=b<<1|a>>>31;a=n|a<<1;b=i|o;k=m&1;n=k;j=j-1|0;if(j){continue}break}}ra=f;sa=e;i=b<<1|a>>>31;a=k|a<<1;ta=i|o;return a}ra=a;sa=b;a=0;b=0}ta=b;return a}function ic(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=30384;a:{b:{c:{d:{e:{f:{g=v[a+76>>2];switch(v[(g+B(c,5644)|0)+4>>2]){case 4:break a;case 2:break b;case 1:break c;case 3:break d;case 0:break e;default:break f}}d=30444;break a}d=30396;break a}d=30408;break a}d=30420;break a}d=30432}e=1;g:{if(t[a+100|0]&1){c=(g+B(c,5644)|0)+B(b,148)|0;g=c+512|0;h=c+520|0;b=c+508|0;i=w[a+92|0];j=c+516|0;c=j;h:{i:{j:{k:{l:{f=t[d+4|0];switch(f-67|0){case 0:break i;case 9:break j;case 13:break k;case 15:break l;default:break h}}c=g;break i}c=h;break i}c=b}e=v[c>>2]}c=0;if((f|0)==(i|0)){break g}c=b;m:{n:{o:{p:{q:{f=t[d+5|0];switch(f-67|0){case 9:break n;case 0:break o;case 15:break p;case 13:break q;default:break m}}c=h;break n}c=g;break n}c=j}e=B(v[c>>2],e)}c=1;if((f|0)==(i|0)){break g}c=b;r:{s:{t:{u:{v:{f=t[d+6|0];switch(f-67|0){case 9:break s;case 0:break t;case 15:break u;case 13:break v;default:break r}}c=h;break s}c=g;break s}c=j}e=B(v[c>>2],e)}c=2;if((f|0)==(i|0)){break g}w:{x:{y:{z:{A:{d=t[d+7|0];switch(d-67|0){case 9:break x;case 0:break y;case 15:break z;case 13:break A;default:break w}}b=h;break x}b=g;break x}b=j}e=B(v[b>>2],e)}c=3;if((d|0)==(i|0)){break g}}return e}v[a+84>>2]=c;return e}function mg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=qa-16|0;qa=h;a:{if(!(w[a+100|0]&2)){Fa(d,1,21917,0);a=0;break a}v[a+104>>2]=0;b:{c:{d:{if(c){while(1){if(c>>>0<=7){Fa(d,1,5787,0);break b}g=h+12|0;Ia(b,g,4);e=v[h+12>>2];Ia(b+4|0,g,4);f=8;g=v[h+12>>2];e:{f:{g:{switch(e|0){case 1:if(c>>>0<16){e=5827;break c}Ia(b+8|0,h+8|0,4);if(v[h+8>>2]){e=18716;break c}Ia(b+12|0,h+12|0,4);e=v[h+12>>2];if(e){break f}e=5652;break c;case 0:break g;default:break e}}Fa(d,1,5652,0);break b}f=16}if(e>>>0>>0){Fa(d,1,19415,0);break b}if(c>>>0>>0){Fa(d,1,19343,0);a=0;break a}h:{i:{j=b+f|0;k=e-f|0;j:{k:{l:{m:{if((g|0)<=1668246641){if((g|0)==1651532643){break m}if((g|0)==1667523942){break k}if((g|0)!=1668112752){break i}f=30976;break j}if((g|0)==1885564018){break l}f=30944;if((g|0)==1768449138){break j}if((g|0)!=1668246642){break i}f=30952;break j}f=30960;break j}f=30968;break j}f=30984}if(ua[v[f+4>>2]](a,j,k,d)|0){break h}a=0;break a}v[a+104>>2]=v[a+104>>2]|2147483647}i=(g|0)==1768449138?1:i;b=b+e|0;c=c-e|0;if(c){continue}break}if(i){break d}}Fa(d,1,19243,0);a=0;break a}t[a+132|0]=1;v[a+100>>2]=v[a+100>>2]|4;a=1;break a}Fa(d,1,e,0)}Fa(d,1,3831,0);a=0}qa=h+16|0;return a|0}function ji(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=((d|0)!=0)+c|0;f=e>>>1|0;h=c-f|0;a:{if(d){if(c>>>0<2){break a}g=f-1|0;if(e>>>0>=4){i=(g|0)<=1?1:g;d=0;while(1){j=(d+f<<2)+b|0;e=(d<<3)+a|0;d=d+1|0;v[j>>2]=v[e+4>>2]-(v[(d<<3)+a>>2]+v[e>>2]>>1);if((d|0)!=(i|0)){continue}break}}d=1;e=c&1;if(!e){c=(i<<3)+a|0;v[(f+i<<2)+b>>2]=v[c+4>>2]-v[c>>2]}c=(f<<2)+b|0;v[a>>2]=v[a>>2]+((v[c>>2]<<1)+2>>2);if((h|0)>=2){while(1){v[(d<<2)+a>>2]=v[(d<<3)+a>>2]+((v[(d+g<<2)+b>>2]+v[(d+f<<2)+b>>2]|0)+2>>2);d=d+1|0;if((h|0)!=(d|0)){continue}break}d=h}if(e){v[(d<<2)+a>>2]=v[(d<<3)+a>>2]+((v[(d+g<<2)+b>>2]<<1)+2>>2)}Ja((f<<2)+a|0,c,h<<2);return}d=v[a>>2];if((c|0)==1){v[a>>2]=d<<1;return}i=(f<<2)+b|0;v[i>>2]=d-v[a+4>>2];g=1;if(e>>>0>=4){g=f>>>0<=2?2:f;d=1;while(1){e=(d<<3)+a|0;v[(d+f<<2)+b>>2]=v[e>>2]-(v[e-4>>2]+v[e+4>>2]>>1);d=d+1|0;if((g|0)!=(d|0)){continue}break}}e=c&1;if(e){c=(g<<3)+a|0;v[(g+f<<2)+b>>2]=v[c>>2]-v[c-4>>2]}g=0;if((h|0)>=2){g=h-1|0;d=0;while(1){c=(d+f<<2)+b|0;v[(d<<2)+a>>2]=v[((d<<3)+a|0)+4>>2]+((v[c>>2]+v[c+4>>2]|0)+2>>2);d=d+1|0;if((g|0)!=(d|0)){continue}break}}if(!e){v[(g<<2)+a>>2]=v[((g<<3)+a|0)+4>>2]+((v[(g+f<<2)+b>>2]<<1)+2>>2)}Ja((f<<2)+a|0,i,h<<2)}}function Fd(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;g=qa-16|0;qa=g;if(v[a+8>>2]==16){a=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{a=v[a+12>>2]}f=v[d>>2];a:{if(!f){c=0;Fa(e,1,4539,0);break a}j=v[a+5584>>2];v[d>>2]=f-1;Ia(c,g+12|0,1);i=B(b,1080)+j|0;f=v[g+12>>2]&31;v[i+24>>2]=f;v[i+804>>2]=v[g+12>>2]>>>5;a=c+1|0;b:{c:{d:{e:{f:{switch(f|0){case 0:h=v[d>>2];break e;case 1:break d;default:break f}}h=v[d>>2]>>>1|0}if(h>>>0>=98){v[g+4>>2]=97;v[g+8>>2]=97;v[g>>2]=h;Fa(e,2,28388,g);f=v[i+24>>2]}if(f){f=h;if(f){break d}f=0;break c}if(h){c=0;e=B(b,1080)+j|0;while(1){Ia(a,g+12|0,1);if(c>>>0<=96){f=v[g+12>>2];k=e+(c<<3)|0;v[k+32>>2]=0;v[k+28>>2]=f>>>3}a=a+1|0;c=c+1|0;if((h|0)!=(c|0)){continue}break}}a=v[d>>2]-h|0;break b}c=0;while(1){Ia(a,g+12|0,2);if(c>>>0<=96){e=(c<<3)+i|0;v[e+28>>2]=v[g+12>>2]>>>11;v[e+32>>2]=v[g+12>>2]&2047}a=a+2|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}}a=v[d>>2]-(f<<1)|0}v[d>>2]=a;c=1;if(v[i+24>>2]!=1){break a}d=B(b,1080)+j|0;e=v[d+28>>2];f=v[d+32>>2];a=1;while(1){b=d+(a<<3)|0;v[b+40>>2]=f;v[b+32>>2]=f;h=e-((a>>>0)/3|0)|0;v[b+36>>2]=(h|0)>0?h:0;h=b;b=e-((a-1>>>0)/3|0)|0;v[h+28>>2]=(b|0)>0?b:0;a=a+2|0;if((a|0)!=97){continue}break}}qa=g+16|0;return c}function Wd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{if(!c){break a}b:{e=v[a+160>>2];if(!e){break b}f=v[a+72>>2];if(!f|!v[f+16>>2]|(e|0)!=v[v[f+24>>2]+40>>2]){break b}g=v[c+16>>2];if(!g){break b}f=v[c+24>>2];if(v[f+40>>2]|v[f+44>>2]){break b}e=0;if(g>>>0>=4){j=g&-4;while(1){v[(f+B(e,52)|0)+40>>2]=v[a+160>>2];v[(f+B(e|1,52)|0)+40>>2]=v[a+160>>2];v[(f+B(e|2,52)|0)+40>>2]=v[a+160>>2];v[(f+B(e|3,52)|0)+40>>2]=v[a+160>>2];e=e+4|0;h=h+4|0;if((j|0)!=(h|0)){continue}break}}h=g&3;if(h){while(1){v[(f+B(e,52)|0)+40>>2]=v[a+160>>2];e=e+1|0;k=k+1|0;if((h|0)!=(k|0)){continue}break}}if(lc(c,d)){break b}return 0}e=v[a+76>>2];if(!e){e=yb();v[a+76>>2]=e;if(!e){break a}}Sb(c,e);if(!Ra(v[a+192>>2],123,d)){break a}g=v[a+192>>2];j=v[g>>2];e=v[g+8>>2];c:{if(j){i=1;if((j|0)!=1){k=j&-2;h=0;while(1){f=0;d:{if(!i){break d}f=0;if(!(ua[v[e>>2]](a,b,d)|0)){break d}f=(ua[v[e+4>>2]](a,b,d)|0)!=0}i=f;e=e+8|0;h=h+2|0;if((k|0)!=(h|0)){continue}break}}e:{f:{if(j&1){if(!i){break f}i=(ua[v[e>>2]](a,b,d)|0)!=0}v[g>>2]=0;if(!(i&1)){break e}break c}v[g>>2]=0}db(v[a+72>>2]);v[a+72>>2]=0;return 0}v[g>>2]=0}i=Vd(a,c)}return i|0}function Rd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=qa-16|0;qa=g;e=1;a:{if(!b){break a}d=v[b>>2];if(!d){break a}b:{c:{while(1){l=b;d:{if(!Ib(d,3148,4)){if(!mb(d,2399)){v[a+60>>2]=1;break d}if(mb(d,2431)){break c}v[a+60>>2]=0;break d}if(!Ib(d,3165,4)){if(!mb(d,2407)){v[a+16>>2]=1;break d}if(mb(d,2438)){break c}v[a+16>>2]=0;break d}b=20344;if(Ib(d,3153,11)){break b}h=$b(d+11|0);b=18165;if(h>>>0>7){break b}i=B(v[a+108>>2],v[a+104>>2]);if(!i|!v[a+68>>2]){break d}j=v[a+156>>2];f=1;b=0;if((i|0)!=1){m=i&-2;k=0;while(1){e=0;if(f){f=v[(B(b,5644)+j|0)+5584>>2];d=0;while(1){v[(f+B(d,1080)|0)+804>>2]=h;d=d+1|0;e=v[a+68>>2];if(d>>>0>>0){continue}break}}e:{if(!e){f=0;break e}e=v[(B(b|1,5644)+j|0)+5584>>2];d=0;while(1){v[(e+B(d,1080)|0)+804>>2]=h;d=d+1|0;f=v[a+68>>2];if(d>>>0>>0){continue}break}}b=b+2|0;k=k+2|0;if((m|0)!=(k|0)){continue}break}}if(!(i&1)|!f){break d}b=v[(B(b,5644)+j|0)+5584>>2];d=0;while(1){v[(b+B(d,1080)|0)+804>>2]=h;d=d+1|0;if(d>>>0>2]){continue}break}}b=l+4|0;d=v[l+4>>2];if(d){continue}break}e=1;break a}b=20313}v[g>>2]=d;Fa(c,1,b,g);e=0}qa=g+16|0;return e|0}function Ja(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){ka(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){t[c|0]=w[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){v[c>>2]=v[b>>2];v[c+4>>2]=v[b+4>>2];v[c+8>>2]=v[b+8>>2];v[c+12>>2]=v[b+12>>2];v[c+16>>2]=v[b+16>>2];v[c+20>>2]=v[b+20>>2];v[c+24>>2]=v[b+24>>2];v[c+28>>2]=v[b+28>>2];v[c+32>>2]=v[b+32>>2];v[c+36>>2]=v[b+36>>2];v[c+40>>2]=v[b+40>>2];v[c+44>>2]=v[b+44>>2];v[c+48>>2]=v[b+48>>2];v[c+52>>2]=v[b+52>>2];v[c+56>>2]=v[b+56>>2];v[c+60>>2]=v[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){v[c>>2]=v[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){t[c|0]=w[b|0];t[c+1|0]=w[b+1|0];t[c+2|0]=w[b+2|0];t[c+3|0]=w[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){t[c|0]=w[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function xc(){var a=0;X(29448,29472,29504,0,29056,61,29216,0,29216,0,1497,29082,62);W(29448,1,29520,29056,63,64);a=Na(8);v[a+4>>2]=0;v[a>>2]=65;N(29448,1440,3,29524,29264,66,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=67;N(29448,1423,2,29536,29085,68,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=69;N(29448,2151,2,29544,29328,70,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=71;N(29448,1300,3,29552,29089,72,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=73;N(29448,1024,4,29568,29360,74,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=75;N(29448,1457,3,29552,29089,72,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=76;N(29448,2084,4,29584,29360,77,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=78;N(29448,1214,3,29600,29089,79,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=80;N(29448,2046,3,29612,29089,81,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=82;N(29448,1186,3,29600,29089,79,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=83;N(29448,1339,3,29612,29089,81,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=84;N(29448,1271,3,29552,29089,72,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=85;N(29448,1244,4,29632,29360,86,a|0,0);a=Na(8);v[a+4>>2]=0;v[a>>2]=87;N(29448,1694,4,29648,29664,88,a|0,0)}function Ig(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{if(!Ra(v[a+4>>2],185,d)){break c}e=v[a+4>>2];i=v[e>>2];f=v[e+8>>2];d:{e:{f:{if(i){g=1;if((i|0)!=1){k=i&-2;while(1){h=0;g:{if(!g){break g}h=0;if(!(ua[v[f>>2]](a,b,d)|0)){break g}h=(ua[v[f+4>>2]](a,b,d)|0)!=0}g=h;f=f+8|0;j=j+2|0;if((k|0)!=(j|0)){continue}break}}if(i&1){if(!g){break e}g=(ua[v[f>>2]](a,b,d)|0)!=0}v[e>>2]=0;if(g){break f}break c}v[e>>2]=0}if(!Ra(v[a+8>>2],186,d)){break c}if(!Ra(v[a+8>>2],187,d)){break c}if(!Ra(v[a+8>>2],188,d)){break c}if(v[a+96>>2]){if(!Ra(v[a+8>>2],189,d)){break c}}if(!Ra(v[a+8>>2],190,d)){break c}e=v[a+8>>2];i=v[e>>2];f=v[e+8>>2];if(!i){break b}g=1;if((i|0)!=1){k=i&-2;j=0;while(1){h=0;h:{if(!g){break h}h=0;if(!(ua[v[f>>2]](a,b,d)|0)){break h}h=(ua[v[f+4>>2]](a,b,d)|0)!=0}g=h;f=f+8|0;j=j+2|0;if((k|0)!=(j|0)){continue}break}}if(i&1){if(!g){break d}g=(ua[v[f>>2]](a,b,d)|0)!=0}v[e>>2]=0;if(!g){break c}break a}v[e>>2]=0;return 0}v[e>>2]=0}return 0}v[e>>2]=0}return Ld(v[a>>2],b,c,d)|0}function Sb(a,b){var c=0,d=0,e=0,f=0,g=0;v[b>>2]=v[a>>2];v[b+4>>2]=v[a+4>>2];v[b+8>>2]=v[a+8>>2];v[b+12>>2]=v[a+12>>2];c=v[b+24>>2];if(c){d=v[b+16>>2];if(d){c=0;while(1){f=v[(v[b+24>>2]+B(c,52)|0)+44>>2];if(f){Ga(f);d=v[b+16>>2]}c=c+1|0;if(d>>>0>c>>>0){continue}break}c=v[b+24>>2]}Ga(c);v[b+24>>2]=0}c=v[a+16>>2];v[b+16>>2]=c;c=La(B(c,52));v[b+24>>2]=c;if(c){if(v[b+16>>2]){f=0;while(1){g=B(f,52);c=g+c|0;d=v[a+24>>2]+g|0;e=v[d+4>>2];v[c>>2]=v[d>>2];v[c+4>>2]=e;v[c+48>>2]=v[d+48>>2];e=v[d+44>>2];v[c+40>>2]=v[d+40>>2];v[c+44>>2]=e;e=v[d+36>>2];v[c+32>>2]=v[d+32>>2];v[c+36>>2]=e;e=v[d+28>>2];v[c+24>>2]=v[d+24>>2];v[c+28>>2]=e;e=v[d+20>>2];v[c+16>>2]=v[d+16>>2];v[c+20>>2]=e;e=v[d+12>>2];v[c+8>>2]=v[d+8>>2];v[c+12>>2]=e;c=v[b+24>>2];v[(g+c|0)+44>>2]=0;f=f+1|0;if(f>>>0>2]){continue}break}}v[b+20>>2]=v[a+20>>2];c=v[a+32>>2];v[b+32>>2]=c;if(c){c=La(c);v[b+28>>2]=c;if(!c){v[b+28>>2]=0;v[b+32>>2]=0;return}Ja(c,v[a+28>>2],v[a+32>>2]);return}v[b+28>>2]=0;return}v[b+16>>2]=0;v[b+24>>2]=0}function Pb(a,b,c,d,e,f){var g=0,h=0,i=C(0),j=C(0);h=(c<<6)+b|0;g=c?h:b;a=c?h+-64|0:a;h=d>>>0>>0?d:e;a:{if(h>>>0<=c>>>0){b=a;break a}i=z[a>>2];while(1){b=g;g=b-32|0;j=i;i=z[b>>2];z[g>>2]=C(C(j+i)*f)+z[g>>2];g=b-28|0;z[g>>2]=C(C(z[a+4>>2]+z[b+4>>2])*f)+z[g>>2];g=b-24|0;z[g>>2]=C(C(z[a+8>>2]+z[b+8>>2])*f)+z[g>>2];g=b-20|0;z[g>>2]=C(C(z[a+12>>2]+z[b+12>>2])*f)+z[g>>2];g=b-16|0;z[g>>2]=C(C(z[a+16>>2]+z[b+16>>2])*f)+z[g>>2];g=b-12|0;z[g>>2]=C(C(z[a+20>>2]+z[b+20>>2])*f)+z[g>>2];g=b-8|0;z[g>>2]=C(C(z[a+24>>2]+z[b+24>>2])*f)+z[g>>2];g=b-4|0;z[g>>2]=C(C(z[a+28>>2]+z[b+28>>2])*f)+z[g>>2];g=b- -64|0;a=b;c=c+1|0;if((h|0)!=(c|0)){continue}break}}if(d>>>0>e>>>0){a=g-32|0;f=C(f+f);z[a>>2]=C(z[b>>2]*f)+z[a>>2];a=g-28|0;z[a>>2]=C(z[b+4>>2]*f)+z[a>>2];a=g-24|0;z[a>>2]=C(z[b+8>>2]*f)+z[a>>2];a=g-20|0;z[a>>2]=C(z[b+12>>2]*f)+z[a>>2];a=g-16|0;z[a>>2]=C(z[b+16>>2]*f)+z[a>>2];a=g-12|0;z[a>>2]=C(z[b+20>>2]*f)+z[a>>2];a=g-8|0;z[a>>2]=C(z[b+24>>2]*f)+z[a>>2];a=g-4|0;z[a>>2]=C(z[b+28>>2]*f)+z[a>>2]}}function Ub(a){var b=0,c=0,d=0,e=0,f=0;d=v[12438];b=a+7&-8;c=d+b|0;a:{b:{if(c>>>0<=d>>>0?b:0){break b}if(c>>>0>va()<<16>>>0){if(!(fa(c|0)|0)){break b}}v[12438]=c;break a}v[12458]=48;d=-1}if((d|0)!=-1){b=a+d|0;c=b-16|0;v[c+12>>2]=16;v[c>>2]=16;a=v[13184];if(a){f=v[a+8>>2]}else{f=0}c:{d:{if((f|0)==(d|0)){e=d-(v[d-4>>2]&-2)|0;f=v[e-4>>2];v[a+8>>2]=b;a=e-(f&-2)|0;b=-16;if(!(t[(a+v[a>>2]|0)-4|0]&1)){break d}b=v[a+4>>2];v[b+8>>2]=v[a+8>>2];v[v[a+8>>2]+4>>2]=b;c=c-a|0;v[a>>2]=c;break c}v[d+12>>2]=16;v[d>>2]=16;v[d+8>>2]=b;v[d+4>>2]=a;v[13184]=d;b=16}a=b+d|0;c=c-a|0;v[a>>2]=c}v[((c&-4)+a|0)-4>>2]=c|1;b=v[a>>2]-8|0;e:{if(b>>>0<=127){c=(b>>>3|0)-1|0;break e}e=E(b);c=((b>>>29-e^4)-(e<<2)|0)+110|0;if(b>>>0<=4095){break e}c=((b>>>30-e^2)-(e<<1)|0)+71|0;c=c>>>0>=63?63:c}b=c<<4;v[a+4>>2]=b+51712;b=b+51720|0;v[a+8>>2]=v[b>>2];v[b>>2]=a;v[v[a+8>>2]+4>>2]=a;b=v[13186];e=v[13187];a=c&31;if((c&63)>>>0>=32){c=1<>>32-a}v[13186]=f|b;v[13187]=c|e}return(d|0)!=-1}function hg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=qa-16|0;qa=f;a:{if(v[a+120>>2]|c>>>0<3){break a}Ia(b,f+12|0,2);j=x[f+12>>1];if(j-1025>>>0<=4294966271){v[f>>2]=j;Fa(d,1,6019,f);break a}Ia(b+2|0,f+12|0,1);i=x[f+12>>1];if(!i){Fa(d,1,5421,0);break a}if(i+3>>>0>c>>>0){break a}h=La(B(i,j)<<2);if(!h){break a}k=La(i);if(!k){Ga(h);break a}l=La(i);if(!l){Ga(h);Ga(k);break a}g=La(20);if(!g){Ga(h);Ga(k);Ga(l);break a}d=b+3|0;v[g+8>>2]=k;v[g+4>>2]=l;u[g+16>>1]=j;v[g>>2]=h;m=v[f+12>>2];v[g+12>>2]=0;t[g+18|0]=m;v[a+120>>2]=g;while(1){Ia(d,f+12|0,1);t[e+k|0]=(w[f+12|0]&127)+1;t[e+l|0]=w[f+12|0]>>>7;d=d+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}if(!j){e=1;break a}g=0;while(1){e=0;a=0;while(1){e=w[e+k|0]+7>>>3|0;e=e>>>0>=4?4:e;if((e+(d-b|0)|0)>(c|0)){e=0;break a}Ia(d,f+12|0,e);v[h>>2]=v[f+12>>2];h=h+4|0;d=d+e|0;a=a+1|0;e=a&65535;if(i>>>0>e>>>0){continue}break}e=1;g=g+1|0;if((j|0)!=(g|0)){continue}break}}qa=f+16|0;return e|0}function Ag(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{if(!Ra(v[b+8>>2],183,d)){break c}e=v[b+4>>2];i=v[e>>2];f=v[e+8>>2];d:{e:{f:{if(i){g=1;if((i|0)!=1){k=i&-2;while(1){h=0;g:{if(!g){break g}h=0;if(!(ua[v[f>>2]](b,a,d)|0)){break g}h=(ua[v[f+4>>2]](b,a,d)|0)!=0}g=h;f=f+8|0;j=j+2|0;if((k|0)!=(j|0)){continue}break}}if(i&1){if(!g){break e}g=(ua[v[f>>2]](b,a,d)|0)!=0}v[e>>2]=0;if(g){break f}break c}v[e>>2]=0}e=v[b+8>>2];i=v[e>>2];f=v[e+8>>2];if(!i){break b}g=1;if((i|0)!=1){k=i&-2;j=0;while(1){h=0;h:{if(!g){break h}h=0;if(!(ua[v[f>>2]](b,a,d)|0)){break h}h=(ua[v[f+4>>2]](b,a,d)|0)!=0}g=h;f=f+8|0;j=j+2|0;if((k|0)!=(j|0)){continue}break}}if(i&1){if(!g){break d}g=(ua[v[f>>2]](b,a,d)|0)!=0}v[e>>2]=0;if(!g){break c}break a}v[e>>2]=0;return 0}v[e>>2]=0}return 0}v[e>>2]=0}if(!w[b+132|0]){Fa(d,1,22737,0);return 0}if(!w[b+133|0]){Fa(d,1,22708,0);return 0}return ce(a,v[b>>2],c,d)|0}function te(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;f=-1;e=-1;if(!(w[a+68|0]&8)){f=v[a+32>>2];v[a+36>>2]=f;a:{b:{c:{e=v[a+48>>2];if(e){while(1){e=ua[v[a+20>>2]](f,e,v[a>>2])|0;if((e|0)==-1){break c}f=e+v[a+36>>2]|0;v[a+36>>2]=f;e=v[a+48>>2]-e|0;v[a+48>>2]=e;if(e){continue}break}f=v[a+32>>2]}v[a+36>>2]=f;if(!!b&(c|0)>=0|(c|0)>0){break b}f=0;e=0;break a}v[a+68>>2]=v[a+68>>2]|8;Fa(d,4,27581,0);v[a+48>>2]=0;v[a+68>>2]=v[a+68>>2]|8;ta=-1;return-1}f=0;e=0;while(1){g=ua[v[a+24>>2]](b,c,v[a>>2])|0;h=ta;if((g&h)==-1){Fa(d,4,27566,0);v[a+68>>2]=v[a+68>>2]|8;b=e+v[a+60>>2]|0;c=f+v[a+56>>2]|0;b=c>>>0>>0?b+1|0:b;v[a+56>>2]=c;v[a+60>>2]=b;a=!(e|f);b=a?-1:f;ta=a?-1:e;return b|0}e=e+h|0;f=f+g|0;e=f>>>0>>0?e+1|0:e;c=c-(h+(b>>>0>>0)|0)|0;b=b-g|0;if(!!b&(c|0)>=0|(c|0)>0){continue}break}}b=e+v[a+60>>2]|0;c=f+v[a+56>>2]|0;b=c>>>0>>0?b+1|0:b;v[a+56>>2]=c;v[a+60>>2]=b}ta=e;return f|0}function re(){var a=0,b=0,c=0;while(1){b=a<<4;c=b+51712|0;v[b+51716>>2]=c;v[b+51720>>2]=c;a=a+1|0;if((a|0)!=64){continue}break}Ub(48);a=qa-16|0;qa=a;a:{if(ia(a+12|0,a+8|0)|0){break a}b=gb((v[a+12>>2]<<2)+4|0);v[12459]=b;if(!b){break a}b=gb(v[a+8>>2]);if(b){v[v[12459]+(v[a+12>>2]<<2)>>2]=0;if(!(ha(v[12459],b|0)|0)){break a}}v[12459]=0}qa=a+16|0;v[12441]=92;v[12442]=0;ca(1762,1,28980,29056,1,2);v[12442]=v[12455];v[12455]=49764;v[12443]=93;v[12444]=0;me();v[12444]=v[12455];v[12455]=49772;v[12445]=94;v[12446]=0;Kd();v[12446]=v[12455];v[12455]=49780;v[12447]=95;v[12448]=0;Dd();v[12448]=v[12455];v[12455]=49788;v[12449]=96;v[12450]=0;yd();v[12450]=v[12455];v[12455]=49796;v[12451]=97;v[12452]=0;xc();v[12452]=v[12455];v[12455]=49804;v[12456]=253;v[12457]=0;Uc();v[12457]=v[12455];v[12455]=49824;v[12660]=49872;v[12642]=42}function hh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=qa-16|0;qa=g;a:{if(c>>>0<=1){Fa(d,1,6514,0);a=0;break a}if(t[a+188|0]&1){Fa(d,1,24005,0);a=0;break a}h=v[a+156>>2];f=v[a+204>>2];a=h+B(f,5644)|0;t[a+5640|0]=w[a+5640|0]|2;Ia(b,g+12|0,1);i=a+5164|0;e=v[a+5164>>2];b:{if(!e){a=v[g+12>>2]+1|0;e=Ka(a,8);v[i>>2]=e;if(!e){Fa(d,1,6540,0);a=0;break a}v[(h+B(f,5644)|0)+5160>>2]=a;break b}f=v[g+12>>2];if(f>>>0>2]){break b}h=e;e=f+1|0;f=Pa(h,e<<3);if(!f){Fa(d,1,6540,0);a=0;break a}v[i>>2]=f;a=a+5160|0;h=v[a>>2];Ma(f+(h<<3)|0,0,e-h<<3);v[a>>2]=e;e=v[i>>2]}a=v[g+12>>2];if(v[(a<<3)+e>>2]){v[g>>2]=a;Fa(d,1,16648,g);a=0;break a}a=c-1|0;c=La(a);e=v[i>>2];f=v[g+12>>2];v[e+(f<<3)>>2]=c;if(!c){Fa(d,1,6540,0);a=0;break a}v[(e+(f<<3)|0)+4>>2]=a;Ja(v[e+(v[g+12>>2]<<3)>>2],b+1|0,a);a=1}qa=g+16|0;return a|0}function Tb(a,b,c){var d=0,e=0,f=0,g=0;d=a+4|0;e=(d+b|0)-1&0-b;b=v[a>>2];if(e+c>>>0<=(b+a|0)-4>>>0){f=v[a+4>>2];v[f+8>>2]=v[a+8>>2];v[v[a+8>>2]+4>>2]=f;if((d|0)!=(e|0)){e=e-d|0;f=a-(v[a-4>>2]&-2)|0;d=e+v[f>>2]|0;v[f>>2]=d;v[(f+(d&-4)|0)-4>>2]=d;a=a+e|0;b=b-e|0;v[a>>2]=b}a:{if(c+24>>>0<=b>>>0){d=(a+c|0)+8|0;b=(b-c|0)-8|0;v[d>>2]=b;v[(d+(b&-4)|0)-4>>2]=b|1;e=v[d>>2]-8|0;b:{if(e>>>0<=127){b=(e>>>3|0)-1|0;break b}f=E(e);b=((e>>>29-f^4)-(f<<2)|0)+110|0;if(e>>>0<=4095){break b}b=((e>>>30-f^2)-(f<<1)|0)+71|0;b=b>>>0>=63?63:b}e=b<<4;v[d+4>>2]=e+51712;e=e+51720|0;v[d+8>>2]=v[e>>2];v[e>>2]=d;v[v[d+8>>2]+4>>2]=d;e=v[13186];f=v[13187];d=b&31;if((b&63)>>>0>=32){b=1<>>32-d;d=g}v[13186]=d|e;v[13187]=b|f;b=c+8|0;v[a>>2]=b;v[((b&-4)+a|0)-4>>2]=b;break a}v[(a+b|0)-4>>2]=b}a=a+4|0}else{a=0}return a}function sd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=v[(B(c,5644)+b|0)+420>>2];e=h+1|0;g=Ka(e,240);if(g){a:{if(e){k=(B(c,5644)+b|0)+5584|0;b=v[a+16>>2];e=g;while(1){v[e+236>>2]=d;b=Ka(b,16);v[e+200>>2]=b;if(!b){break a}f=v[a+16>>2];v[e+196>>2]=f;c=0;b=0;if(f){while(1){i=v[e+200>>2]+(c<<4)|0;f=v[k>>2]+B(c,1080)|0;b=Ka(v[f+4>>2],16);v[i+12>>2]=b;if(!b){break a}v[i+8>>2]=v[f+4>>2];b=v[a+16>>2];c=c+1|0;if(b>>>0>c>>>0){continue}break}}e=e+240|0;c=(h|0)==(j|0);j=j+1|0;if(!c){continue}break}}return g}a=v[g+4>>2];if(a){Ga(a);v[g+4>>2]=0}e=g;a=0;while(1){c=v[e+200>>2];if(c){b=0;f=v[e+196>>2];if(f){while(1){d=v[c+12>>2];if(d){Ga(d);v[c+12>>2]=0;f=v[e+196>>2]}c=c+16|0;b=b+1|0;if(f>>>0>b>>>0){continue}break}c=v[e+200>>2]}Ga(c);v[e+200>>2]=0}e=e+240|0;b=(a|0)==(h|0);a=a+1|0;if(!b){continue}break}Ga(g)}return 0}function nh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=qa-16|0;qa=g;i=v[v[a+72>>2]+16>>2];h=i>>>0<257?1:2;e=(h<<1)+5|0;f=(c>>>0)/(e>>>0)|0;a:{if(!((B(e,f)|0)==(c|0)&c>>>0>=e>>>0)){Fa(d,1,7685,0);a=0;break a}if(v[a+8>>2]==16){e=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{e=v[a+12>>2]}a=0;c=w[e+5640|0];a=c&4?v[e+420>>2]+1|0:a;f=f+a|0;if(f>>>0>=32){v[g>>2]=f;Fa(d,1,17418,g);a=0;break a}t[e+5640|0]=c|4;if(a>>>0>>0){c=(e+B(a,148)|0)+424|0;while(1){Ia(b,c,1);b=b+1|0;Ia(b,c+4|0,h);b=b+h|0;Ia(b,c+8|0,2);d=v[c+8>>2];j=v[e+8>>2];v[c+8>>2]=d>>>0>>0?d:j;Ia(b+2|0,c+12|0,1);b=b+3|0;Ia(b,c+16|0,h);b=b+h|0;Ia(b,g+12|0,1);v[c+36>>2]=v[g+12>>2];d=v[c+16>>2];v[c+16>>2]=d>>>0>>0?d:i;c=c+148|0;b=b+1|0;a=a+1|0;if((f|0)!=(a|0)){continue}break}}v[e+420>>2]=f-1;a=1}qa=g+16|0;return a|0}function Nb(a){var b=0,c=0,d=0,e=0;a:{if(!a){break a}b=v[a+5164>>2];if(b){c=v[a+5160>>2];if(c){b=0;while(1){d=v[v[a+5164>>2]+(b<<3)>>2];if(d){Ga(d);c=v[a+5160>>2]}b=b+1|0;if(c>>>0>b>>>0){continue}break}b=v[a+5164>>2]}v[a+5160>>2]=0;Ga(b);v[a+5164>>2]=0}b=v[a+5172>>2];if(b){Ga(b);v[a+5172>>2]=0}b=v[a+5584>>2];if(b){Ga(b);v[a+5584>>2]=0}b=v[a+5612>>2];if(b){Ga(b);v[a+5612>>2]=0}b=v[a+5608>>2];if(b){Ga(b);v[a+5608>>2]=0}b=v[a+5628>>2];if(b){Ga(b);v[a+5636>>2]=0;v[a+5628>>2]=0;v[a+5632>>2]=0}b=v[a+5616>>2];if(b){e=v[a+5620>>2];if(e){c=0;while(1){d=v[b+12>>2];if(d){Ga(d);v[b+12>>2]=0;e=v[a+5620>>2]}b=b+20|0;c=c+1|0;if(e>>>0>c>>>0){continue}break}b=v[a+5616>>2]}Ga(b);v[a+5616>>2]=0}b=v[a+5604>>2];if(b){Ga(b);v[a+5604>>2]=0}b=v[a+5596>>2];if(!b){break a}Ga(b);v[a+5596>>2]=0;v[a+5600>>2]=0}}function lg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=qa-32|0;qa=e;a:{if(v[a+72>>2]){Fa(d,2,16600,0);c=1;break a}if((c|0)!=14){c=0;Fa(d,1,25968,0);break a}Ia(b,a+16|0,4);Ia(b+4|0,a+12|0,4);Ia(b+8|0,a+20|0,2);c=v[a+12>>2];b:{g=v[a+16>>2];c:{if(!g){break c}if(!c){c=0;break c}f=v[a+20>>2];if(f){break b}}v[e+8>>2]=v[a+20>>2];v[e+4>>2]=g;v[e>>2]=c;Fa(d,1,25626,e);c=0;break a}if(f-16385>>>0<=4294950911){c=0;Fa(d,1,25540,0);break a}c=Ka(f,12);v[a+72>>2]=c;if(!c){c=0;Fa(d,1,25577,0);break a}c=1;Ia(b+10|0,a+24|0,1);Ia(b+11|0,a+28|0,1);f=v[a+28>>2];if((f|0)!=7){v[e+16>>2]=f;Fa(d,4,28604,e+16|0)}Ia(b+12|0,a+32|0,1);Ia(b+13|0,a+36|0,1);b=v[a>>2];t[b+188|0]=w[b+188|0]&251|(v[a+24>>2]==255)<<2;b=v[a>>2];v[b+216>>2]=v[a+12>>2];v[b+220>>2]=v[a+16>>2];t[a+133|0]=1}qa=e+32|0;return c|0}function Ua(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;a:{b:{if(w[a+68|0]&8){break b}h=v[a+64>>2];g=v[a+48>>2];e=h-g|0;if(e>>>0>=c>>>0){f=v[a+36>>2];break a}while(1){if((g|0)!=(h|0)){Ja(v[a+36>>2],b,e);g=v[a+48>>2]+e|0;v[a+48>>2]=g;f=v[a+60>>2];h=v[a+56>>2]+e|0;f=h>>>0>>0?f+1|0:f;v[a+56>>2]=h;v[a+60>>2]=f;c=c-e|0;i=e+i|0;b=b+e|0}f=v[a+32>>2];v[a+36>>2]=f;if(g){while(1){e=ua[v[a+20>>2]](f,g,v[a>>2])|0;if((e|0)==-1){v[a+68>>2]=v[a+68>>2]|8;Fa(d,4,27581,0);break b}f=e+v[a+36>>2]|0;v[a+36>>2]=f;g=v[a+48>>2]-e|0;v[a+48>>2]=g;if(g){continue}break}f=v[a+32>>2]}v[a+36>>2]=f;g=0;e=v[a+64>>2];h=e;if(c>>>0>e>>>0){continue}break}break a}return-1}Ja(f,b,c);v[a+36>>2]=v[a+36>>2]+c;v[a+48>>2]=v[a+48>>2]+c;b=v[a+60>>2];d=v[a+56>>2]+c|0;b=d>>>0>>0?b+1|0:b;v[a+56>>2]=d;v[a+60>>2]=b;return c+i|0}function Qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=qa-32|0;qa=f;d=v[a+28>>2];v[f+16>>2]=d;g=v[a+20>>2];v[f+28>>2]=c;v[f+24>>2]=b;b=g-d|0;v[f+20>>2]=b;g=b+c|0;i=2;a:{b:{b=f+16|0;d=Z(v[a+60>>2],b|0,2,f+12|0)|0;if(d){v[12458]=d;d=-1}else{d=0}c:{d:{if(d){d=b;break d}while(1){e=v[f+12>>2];if((e|0)==(g|0)){break c}if((e|0)<0){d=b;break b}h=v[b+4>>2];j=h>>>0>>0;d=(j<<3)+b|0;h=e-(j?h:0)|0;v[d>>2]=h+v[d>>2];b=(j?12:4)+b|0;v[b>>2]=v[b>>2]-h;g=g-e|0;b=d;i=i-j|0;e=Z(v[a+60>>2],b|0,i|0,f+12|0)|0;if(e){v[12458]=e;e=-1}else{e=0}if(!e){continue}break}}if((g|0)!=-1){break b}}b=v[a+44>>2];v[a+28>>2]=b;v[a+20>>2]=b;v[a+16>>2]=b+v[a+48>>2];a=c;break a}v[a+28>>2]=0;v[a+16>>2]=0;v[a+20>>2]=0;v[a>>2]=v[a>>2]|32;a=0;if((i|0)==2){break a}a=c-v[d+4>>2]|0}qa=f+32|0;return a|0}function Uc(){na(48836,2179);ma(48860,1777,1,1,0);Q(48872,1641,1,-128,127);Q(48896,1634,1,-128,127);Q(48884,1632,1,0,255);Q(48908,1139,2,-32768,32767);Q(48920,1130,2,0,65535);Q(48932,1175,4,-2147483648,2147483647);Q(48944,1166,4,0,-1);Q(48956,1969,4,-2147483648,2147483647);Q(48968,1960,4,0,-1);Bc(48980,1263,-2147483648,2147483647);Bc(48992,1262,0,-1);aa(49004,1256,4);aa(49016,2098,8);$(29048,2e3);$(40336,2977);U(40408,4,1974);U(40484,2,2012);U(40560,4,2027);la(29256,1816);O(40600,0,2908);O(40640,0,3010);O(29300,1,2938);O(40680,2,2540);O(40720,3,2571);O(40760,4,2611);O(40800,5,2640);O(40840,4,3047);O(40880,5,3077);O(40640,0,2742);O(29300,1,2709);O(40680,2,2808);O(40720,3,2774);O(40760,4,2875);O(40800,5,2841);O(40920,6,2678);O(40960,7,3116)}function Lh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=v[a+52>>2];e=v[a+72>>2];f=v[e+24>>2];g=B(v[e+16>>2],3);h=g+40|0;if(h>>>0>y[a+56>>2]){d=Pa(d,h);if(!d){Ga(v[a+52>>2]);v[a+52>>2]=0;v[a+56>>2]=0;Fa(c,1,6428,0);return 0}v[a+56>>2]=h;v[a+52>>2]=d}Ha(d,65361,2);Ha(d+2|0,g+38|0,2);Ha(d+4|0,x[a+80>>1],2);Ha(d+6|0,v[e+8>>2],4);Ha(d+10|0,v[e+12>>2],4);Ha(d+14|0,v[e>>2],4);Ha(d+18|0,v[e+4>>2],4);Ha(d+22|0,v[a+92>>2],4);Ha(d+26|0,v[a+96>>2],4);Ha(d+30|0,v[a+84>>2],4);Ha(d+34|0,v[a+88>>2],4);Ha(d+38|0,v[e+16>>2],2);if(v[e+16>>2]){d=d+40|0;g=0;while(1){Ha(d,(v[f+24>>2]+(v[f+32>>2]<<7)|0)-1|0,1);Ha(d+1|0,v[f>>2],1);Ha(d+2|0,v[f+4>>2],1);f=f+52|0;d=d+3|0;g=g+1|0;if(g>>>0>2]){continue}break}}return(Ua(b,v[a+52>>2],h,c)|0)==(h|0)|0}function fb(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return Ja(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}t[d|0]=w[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;t[d|0]=w[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;v[c+a>>2]=v[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;t[c+a|0]=w[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){v[d>>2]=v[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){t[d|0]=w[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function Mc(a,b,c,d){a:{switch(b-9|0){case 0:b=v[c>>2];v[c>>2]=b+4;v[a>>2]=v[b>>2];return;case 6:b=v[c>>2];v[c>>2]=b+4;b=u[b>>1];v[a>>2]=b;v[a+4>>2]=b>>31;return;case 7:b=v[c>>2];v[c>>2]=b+4;v[a>>2]=x[b>>1];v[a+4>>2]=0;return;case 8:b=v[c>>2];v[c>>2]=b+4;b=t[b|0];v[a>>2]=b;v[a+4>>2]=b>>31;return;case 9:b=v[c>>2];v[c>>2]=b+4;v[a>>2]=w[b|0];v[a+4>>2]=0;return;case 16:b=v[c>>2]+7&-8;v[c>>2]=b+8;A[a>>3]=A[b>>3];return;case 17:ua[d|0](a,c);default:return;case 1:case 4:case 14:b=v[c>>2];v[c>>2]=b+4;b=v[b>>2];v[a>>2]=b;v[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=v[c>>2];v[c>>2]=b+4;v[a>>2]=v[b>>2];v[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=v[c>>2]+7&-8;v[c>>2]=b+8;c=v[b+4>>2];v[a>>2]=v[b>>2];v[a+4>>2]=c}function Id(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=qa-48|0;qa=h;a:{b:{c:{if(v[a+204>>2]!=(b|0)){Fa(f,1,3254,0);break c}i=v[a+108>>2];g=v[a+104>>2];v[h+32>>2]=b+1;v[h+36>>2]=B(g,i);Fa(f,4,17849,h+32|0);i=0;v[a+12>>2]=0;g=v[a+208>>2];v[g+12>>2]=v[(v[a+156>>2]+B(b,5644)|0)+5592>>2];v[a+8>>2]=0;if(!ed(g,v[a+204>>2],f)){break c}d:{g=v[a+208>>2];if(!v[v[g+24>>2]+16>>2]){break d}while(1){if(fd(v[v[v[g+20>>2]>>2]+20>>2]+B(i,76)|0)){i=i+1|0;g=v[a+208>>2];if(i>>>0>2]+16>>2]){continue}break d}break}Fa(f,1,3338,0);c=0;break a}if(!ad(g,c,d)){Fa(f,1,3291,0);c=0;break a}c=1;if(Pd(a,e,f)){break a}v[h+16>>2]=b;Fa(f,1,17734,h+16|0);break b}v[h>>2]=b;Fa(f,1,17792,h)}c=0}qa=h+48|0;return c|0}function xb(a){var b=0,c=0,d=0;d=qa-48|0;qa=d;b=Ka(1,44);a:{if(b){v[b+16>>2]=0;if((a|0)<=0){a=Ka(1,8);v[b+36>>2]=a;if(a){break a}Ga(b);b=0;break a}c=Ka(1,24);if(!c){v[b+12>>2]=0;Ga(b);b=0;break a}v[b+12>>2]=c;b:{c=La(48);if(!c){v[b+8>>2]=0;break b}v[b+8>>2]=c;c=Ka(a,20);v[b>>2]=c;if(!c){break b}v[b+4>>2]=a;v[c>>2]=b;a=Ka(1,24);c:{if(!a){v[v[b>>2]+12>>2]=0;break c}v[v[b>>2]+12>>2]=a;a=La(48);if(!a){a=v[b>>2];v[a+16>>2]=0;a=v[a+12>>2];if(!a){break c}Ga(a);break c}c=v[b>>2];v[c+8>>2]=0;v[c+16>>2]=a;a=La(12);if(a){v[a>>2]=107;v[a+4>>2]=c;Ga(a)}a=v[b>>2];v[a+4>>2]=0;c=v[a+12>>2];if(c){Ga(c);a=v[b>>2]}a=v[a+16>>2];if(!a){break c}Ga(a)}v[b+4>>2]=0;if(!(v[b+16>>2]!=2&-2)){break b}break a}oc(b)}b=0}qa=d+48|0;return b}function ih(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;g=qa-16|0;qa=g;a:{if(c>>>0<=1){Fa(d,1,6942,0);a=0;break a}t[a+188|0]=w[a+188|0]|1;Ia(b,g+12|0,1);e=v[a+116>>2];b:{if(!e){f=v[g+12>>2]+1|0;e=Ka(f,8);v[a+116>>2]=e;if(!e){Fa(d,1,6968,0);a=0;break a}v[a+112>>2]=f;break b}f=v[g+12>>2];if(f>>>0>2]){break b}h=e;e=f+1|0;f=Pa(h,e<<3);if(!f){Fa(d,1,6968,0);a=0;break a}v[a+116>>2]=f;h=v[a+112>>2];Ma(f+(h<<3)|0,0,e-h<<3);v[a+112>>2]=e;e=v[a+116>>2]}h=e;e=v[g+12>>2];if(v[h+(e<<3)>>2]){v[g>>2]=e;Fa(d,1,16670,g);a=0;break a}c=c-1|0;e=La(c);a=v[a+116>>2];f=v[g+12>>2];v[a+(f<<3)>>2]=e;if(!e){Fa(d,1,6968,0);a=0;break a}v[(a+(f<<3)|0)+4>>2]=c;Ja(v[a+(v[g+12>>2]<<3)>>2],b+1|0,c);a=1}qa=g+16|0;return a|0}function bb(a,b){var c=0,d=0,e=0;c=qa+-64|0;qa=c;d=v[a>>2];e=v[d-4>>2];d=v[d-8>>2];v[c+32>>2]=0;v[c+36>>2]=0;v[c+40>>2]=0;v[c+44>>2]=0;v[c+48>>2]=0;v[c+52>>2]=0;t[c+55|0]=0;t[c+56|0]=0;t[c+57|0]=0;t[c+58|0]=0;t[c+59|0]=0;t[c+60|0]=0;t[c+61|0]=0;t[c+62|0]=0;v[c+24>>2]=0;v[c+28>>2]=0;v[c+20>>2]=0;v[c+16>>2]=48484;v[c+12>>2]=a;v[c+8>>2]=b;a=a+d|0;d=0;a:{if(Ya(e,b,0)){v[c+56>>2]=1;ua[v[v[e>>2]+20>>2]](e,c+8|0,a,a,1,0);d=v[c+32>>2]==1?a:0;break a}ua[v[v[e>>2]+24>>2]](e,c+8|0,a,1,0);b:{switch(v[c+44>>2]){case 0:d=v[c+48>>2]==1?v[c+36>>2]==1?v[c+40>>2]==1?v[c+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(v[c+32>>2]!=1){if(v[c+48>>2]|v[c+36>>2]!=1|v[c+40>>2]!=1){break a}}d=v[c+24>>2]}qa=c- -64|0;return d}function ci(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(y[a+44>>2]>=8){e=v[a+36>>2];i=B(e,7);j=B(e,6);k=B(e,5);l=e<<2;m=B(e,3);n=e<<1;c=v[a+40>>2];o=e<<5;g=8;while(1){nc(a,c,v[a+36>>2],8);hb(a);f=v[a+32>>2];a:{if(!f){break a}h=v[a>>2];b=0;while(1){d=h+(b<<5)|0;z[(b<<2)+c>>2]=z[d>>2];z[(b+e<<2)+c>>2]=z[d+4>>2];z[(b+n<<2)+c>>2]=z[d+8>>2];z[(b+m<<2)+c>>2]=z[d+12>>2];b=b+1|0;if((f|0)!=(b|0)){continue}break}if(!f){break a}h=v[a>>2];b=0;while(1){d=h+(b<<5)|0;z[(b+l<<2)+c>>2]=z[d+16>>2];z[(b+k<<2)+c>>2]=z[d+20>>2];z[(b+j<<2)+c>>2]=z[d+24>>2];z[(b+i<<2)+c>>2]=z[d+28>>2];b=b+1|0;if((f|0)!=(b|0)){continue}break}}c=c+o|0;g=g+8|0;if(g>>>0<=y[a+44>>2]){continue}break}}Ga(v[a>>2]);Ga(a)}function Ma(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}t[a|0]=b;d=a+c|0;t[d-1|0]=b;if(c>>>0<3){break a}t[a+2|0]=b;t[a+1|0]=b;t[d-3|0]=b;t[d-2|0]=b;if(c>>>0<7){break a}t[a+3|0]=b;t[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=B(b&255,16843009);v[e>>2]=b;d=c-d&-4;c=d+e|0;v[c-4>>2]=b;if(d>>>0<9){break a}v[e+8>>2]=b;v[e+4>>2]=b;v[c-8>>2]=b;v[c-12>>2]=b;if(d>>>0<25){break a}v[e+24>>2]=b;v[e+20>>2]=b;v[e+16>>2]=b;v[e+12>>2]=b;v[c-16>>2]=b;v[c-20>>2]=b;v[c-24>>2]=b;v[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=pi(b,0,1,1);f=ta;b=e+g|0;while(1){v[b+24>>2]=d;v[b+28>>2]=f;v[b+16>>2]=d;v[b+20>>2]=f;v[b+8>>2]=d;v[b+12>>2]=f;v[b>>2]=d;v[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function ug(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;a:{if(!c){break a}Fa(d,2,20715,0);if(!Ud(v[a>>2],b,c,d,e)){Fa(d,1,10153,0);return 0}f=1;if(v[v[a>>2]+60>>2]){break a}f=0;e=a+108|0;if(!xd(c,e,d)){break a}b=1;b:{c:{switch(v[a+48>>2]-12|0){case 5:b=2;break b;case 6:b=3;break b;case 12:b=4;break b;case 0:b=5;break b;case 4:break b;default:break c}}b=-1}v[c+20>>2]=b;b=v[a+120>>2];d:{if(!b){break d}if(!v[b+12>>2]){Ga(v[b+4>>2]);Ga(v[v[a+120>>2]+8>>2]);Ga(v[v[a+120>>2]>>2]);b=v[a+120>>2];f=v[b+12>>2];if(f){Ga(f);b=v[a+120>>2]}Ga(b);v[a+120>>2]=0;break d}if(!wd(c,e,d)){break a}}if(v[a+116>>2]){vd(c,e,d)}f=1;b=v[e>>2];if(!b){break a}v[c+28>>2]=b;v[c+32>>2]=v[a+112>>2];v[a+108>>2]=0}return f|0}function vb(a,b,c,d,e){var f=0,g=0,h=0,i=0;a:{if((a|0)<0){break a}h=v[b+76>>2];f=a;b:{while(1){c:{switch(t[e+f|0]-67|0){case 0:i=1;f=(B(c,5644)+h|0)+B(d,148)|0;if(v[f+556>>2]!=v[f+516>>2]){break a}break b;case 9:i=1;f=(B(c,5644)+h|0)+B(d,148)|0;if(v[f+548>>2]!=v[f+508>>2]){break a}break b;case 13:i=1;g=(B(c,5644)+h|0)+B(d,148)|0;if(y[g+460>>2]<=1){a=f;if(v[g+560>>2]!=v[g+520>>2]){break a}break b}if(v[g+564>>2]!=v[g+528>>2]){break a}a=f;f=(B(c,5644)+h|0)+B(d,148)|0;if(v[f+568>>2]!=v[f+536>>2]){break a}break b;default:g=(f|0)>0;f=f-1|0;if(g){continue}break a;case 15:break c}}break}i=1;f=(B(c,5644)+h|0)+B(d,148)|0;if(v[f+552>>2]!=v[f+512>>2]){break a}}return(vb(a-1|0,b,c,d,e)|0)!=0}return i}function Tg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if(!c){return 0}if(!Wd(v[a>>2],b,c,d)){Fa(d,1,10153,0);return 0}b=1;a:{if(v[v[a>>2]+60>>2]|v[a+128>>2]){break a}e=a+108|0;if(!xd(c,e,d)){return 0}b:{c:{switch(v[a+48>>2]-12|0){case 5:b=2;break b;case 6:b=3;break b;case 12:b=4;break b;case 0:b=5;break b;case 4:break b;default:break c}}b=-1}v[c+20>>2]=b;b=v[a+120>>2];d:{if(!b){break d}if(!v[b+12>>2]){Ga(v[v[e+12>>2]+4>>2]);Ga(v[v[e+12>>2]+8>>2]);Ga(v[v[e+12>>2]>>2]);b=v[e+12>>2];f=v[b+12>>2];if(f){Ga(f);b=v[e+12>>2]}Ga(b);v[e+12>>2]=0;break d}b=0;if(!wd(c,e,d)){break a}}if(v[a+116>>2]){vd(c,e,d)}b=1;d=v[e>>2];if(!d){break a}v[c+28>>2]=d;v[c+32>>2]=v[a+112>>2];v[a+108>>2]=0}return b|0}function Ga(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;if(a){b=a-4|0;e=v[b>>2];c=e;d=b;f=v[a-8>>2];a=f&-2;if((a|0)!=(f|0)){d=b-a|0;c=v[d+4>>2];v[c+8>>2]=v[d+8>>2];v[v[d+8>>2]+4>>2]=c;c=a+e|0}a=b+e|0;b=v[a>>2];if((b|0)!=v[(a+b|0)-4>>2]){e=v[a+4>>2];v[e+8>>2]=v[a+8>>2];v[v[a+8>>2]+4>>2]=e;c=b+c|0}v[d>>2]=c;v[((c&-4)+d|0)-4>>2]=c|1;b=v[d>>2]-8|0;a:{if(b>>>0<=127){a=(b>>>3|0)-1|0;break a}c=E(b);a=((b>>>29-c^4)-(c<<2)|0)+110|0;if(b>>>0<=4095){break a}a=((b>>>30-c^2)-(c<<1)|0)+71|0;a=a>>>0>=63?63:a}b=a<<4;v[d+4>>2]=b+51712;b=b+51720|0;v[d+8>>2]=v[b>>2];v[b>>2]=d;v[v[d+8>>2]+4>>2]=d;b=v[13186];c=v[13187];d=a&31;if((a&63)>>>0>=32){a=1<>>32-d}v[13186]=e|b;v[13187]=a|c}}function $d(){var a=0,b=0,c=0,d=0;a:{b=Ka(1,232);if(b){v[b>>2]=1;v[b+184>>2]=1;t[b+188|0]=w[b+188|0]|6;a=Ka(1,5644);v[b+12>>2]=a;if(!a){break a}a=Ka(1,1e3);v[b+16>>2]=a;if(!a){break a}v[b+48>>2]=0;v[b+52>>2]=0;v[b+44>>2]=-1;v[b+20>>2]=1e3;b:{a=Ka(1,48);if(a){v[a+24>>2]=0;v[a+32>>2]=100;d=Ka(100,24);v[a+28>>2]=d;if(d){break b}Ga(a)}v[b+200>>2]=0;break a}v[a+40>>2]=0;v[b+200>>2]=a;a=sb();v[b+196>>2]=a;if(!a){break a}a=sb();v[b+192>>2]=a;if(!a){break a}a=0;c=Rc();c:{if(!c){break c}d=qe();if(!mb(c,2390)){a=d;break c}c=$b(c);if((c|0)<0){break c}a=d?d<<1:64;a=(a|0)>(c|0)?c:a}a=xb(a);v[b+212>>2]=a;if(!a){a=xb(0);v[b+212>>2]=a;if(!a){break a}}}else{b=0}return b}Ob(b);return 0}function oc(a){var b=0,c=0,d=0,e=0,f=0,g=0;g=qa-16|0;qa=g;if(a){a:{if(!v[a+8>>2]){break a}if(v[a+12>>2]){v[a+40>>2]=0}v[a+16>>2]=1;if(v[a+4>>2]>0){while(1){d=B(b,20);c=v[a>>2];Ga(v[(c+d|0)+4>>2]);c=v[a>>2];e=v[(c+d|0)+16>>2];if(e){Ga(e);c=v[a>>2]}c=v[(c+d|0)+12>>2];if(c){Ga(c)}b=b+1|0;if((b|0)>2]){continue}break}}Ga(v[a>>2]);b=v[a+28>>2];if(b){while(1){c=v[b+4>>2];Ga(b);v[a+28>>2]=c;b=c;if(b){continue}break}}b=v[a+8>>2];if(!b){break a}Ga(b)}b=v[a+12>>2];if(b){Ga(b)}b=v[a+36>>2];if(b){c=v[b+4>>2];if((c|0)>0){while(1){d=v[b>>2]+B(f,12)|0;e=v[d+8>>2];if(e){ua[e|0](v[d+4>>2]);c=v[b+4>>2]}f=f+1|0;if((f|0)<(c|0)){continue}break}}Ga(v[b>>2]);Ga(b)}Ga(a)}qa=g+16|0}function Kh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=qa-16|0;qa=f;h=5;i=v[a+156>>2];e=v[a+204>>2];j=i+B(e,5644)|0;d=v[j+5584>>2];if(t[d|0]&1){h=v[d+4>>2]+5|0}d=v[a+52>>2];g=h+9|0;a:{if(g>>>0>y[a+56>>2]){d=Pa(d,g);if(!d){Ga(v[a+52>>2]);v[a+52>>2]=0;v[a+56>>2]=0;Fa(c,1,7490,0);a=0;break a}v[a+56>>2]=g;v[a+52>>2]=d}Ha(d,65362,2);Ha(d+2|0,h+7|0,2);Ha(d+4|0,v[j>>2],1);e=i+B(e,5644)|0;Ha(d+5|0,v[e+4>>2],1);Ha(d+6|0,v[e+8>>2],2);Ha(d+8|0,v[e+16>>2],1);v[f+12>>2]=h;if(!Ad(v[a+156>>2],v[a+204>>2],d+9|0,f+12|0,c)){Fa(c,1,7438,0);a=0;break a}if(v[f+12>>2]){Fa(c,1,7438,0);a=0;break a}a=(Ua(b,v[a+52>>2],g,c)|0)==(g|0)}qa=f+16|0;return a|0}function zd(a,b,c,d,e,f){var g=0,h=0;g=1;a:{b:{c:{h=v[(B(b,5644)+a|0)+5584>>2];a=h+B(c,1080)|0;b=v[a+24>>2];if((b|0)==1){break c}a=B(v[a+4>>2],3);g=a-2|0;if(b){break c}b=a-1|0;if(b>>>0>y[e>>2]){break a}a=1;f=B(c,1080)+h|0;Ha(d,v[f+804>>2]<<5,1);if(!g){break b}c=0;while(1){d=d+1|0;Ha(d,v[(f+(c<<3)|0)+28>>2]<<3,1);c=c+1|0;if((g|0)!=(c|0)){continue}break}a=b;break b}a=g<<1|1;if(a>>>0>y[e>>2]){break a}f=b;b=B(c,1080)+h|0;Ha(d,f+(v[b+804>>2]<<5)|0,1);if(!g){break b}c=d+1|0;d=0;while(1){f=b+(d<<3)|0;Ha(c,(v[f+28>>2]<<11)+v[f+32>>2]|0,2);c=c+2|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}v[e>>2]=v[e>>2]-a;return 1}Fa(f,1,4575,0);return 0}function Rc(){var a=0,b=0,c=0,d=0;b=2415;a:{while(1){a=w[b|0];if(!a|(a|0)==61){break a}b=b+1|0;if(b&3){continue}break}a=v[b>>2];b:{if((a^-1)&a-16843009&-2139062144){break b}while(1){a=a^1027423549;if((a^-1)&a-16843009&-2139062144){break b}a=v[b+4>>2];b=b+4|0;if(!(a-16843009&(a^-1)&-2139062144)){continue}break}}while(1){a=b;c=w[a|0];if(c){b=a+1|0;if((c|0)!=61){continue}}break}b=a}if((b|0)==2415){return 0}c=b-2415|0;c:{if(w[c+2415|0]){break c}b=v[12459];if(!b){break c}a=v[b>>2];if(!a){break c}while(1){d:{if(!Ib(2415,a,c)){a=c+v[b>>2]|0;if(w[a|0]==61){break d}}a=v[b+4>>2];b=b+4|0;if(a){continue}break c}break}d=a+1|0}return d}function Od(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=v[a+156>>2]+B(v[a+204>>2],5644)|0;l=v[f+5584>>2];i=v[f+420>>2];h=v[v[a+72>>2]+16>>2];Ha(b,65375,2);a=i+1|0;e=h>>>0<257?1:2;j=B(a,(e<<1)+5|0);Ha(b+2|0,j+2|0,2);if(a){b=b+4|0;a=f+424|0;while(1){Ha(b,v[a>>2],1);b=b+1|0;Ha(b,v[a+4>>2],e);b=b+e|0;Ha(b,v[a+8>>2],2);Ha(b+2|0,v[a+12>>2],1);b=b+3|0;Ha(b,v[a+16>>2],e);g=b+e|0;Ha(g,v[a+36>>2],1);b=v[a+8>>2];d=v[f+8>>2];v[a+8>>2]=(b|0)<(d|0)?b:d;b=v[l+4>>2];d=v[a+16>>2];v[a+16>>2]=(d|0)<(h|0)?d:h;d=v[a+12>>2];v[a+12>>2]=(b|0)>(d|0)?d:b;a=a+148|0;b=g+1|0;g=(i|0)!=(k|0);k=k+1|0;if(g){continue}break}}v[c>>2]=j+4}function fg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=qa-16|0;qa=e;a:{if(v[a+116>>2]){break a}if(c>>>0<=1){Fa(d,1,19149,0);break a}Ia(b,e+12|0,2);f=v[e+12>>2];h=f&65535;if(!h){Fa(d,1,19182,0);break a}if(B(h,6)+2>>>0>c>>>0){Fa(d,1,19149,0);break a}d=La(B(f,6));if(!d){break a}c=La(8);v[a+116>>2]=c;if(!c){Ga(d);break a}v[c>>2]=d;f=c;c=x[e+12>>1];u[f+4>>1]=c;if(!c){g=1;break a}c=0;while(1){g=e+12|0;Ia(b+2|0,g,2);f=d+B(c,6)|0;u[f>>1]=v[e+12>>2];Ia(b+4|0,g,2);u[f+2>>1]=v[e+12>>2];b=b+6|0;Ia(b,g,2);u[f+4>>1]=v[e+12>>2];g=1;c=c+1|0;if(c>>>0>2]+4>>1]){continue}break}}qa=e+16|0;return g|0}function Hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;c=0;f=!(v[a+104>>2]|v[a+100>>2])&v[a>>2]!=0&v[a+8>>2]!=0&v[a+4>>2]!=0&v[a+64>>2]!=0&v[a+16>>2]!=0&v[a+12>>2]!=0;d=v[a+20>>2];a:{if(!d){break a}g=v[a+72>>2];if(d>>>0>=4){h=d&-4;while(1){f=(v[(B(c,12)+g|0)+8>>2]&126)>>>0<38&f&(v[(B(c|1,12)+g|0)+8>>2]&126)>>>0<38&(v[(B(c|2,12)+g|0)+8>>2]&126)>>>0<38&(v[(B(c|3,12)+g|0)+8>>2]&126)>>>0<38;c=c+4|0;e=e+4|0;if((h|0)!=(e|0)){continue}break}}d=d&3;if(!d){break a}e=0;while(1){f=(v[(B(c,12)+g|0)+8>>2]&126)>>>0<38&f;c=c+1|0;e=e+1|0;if((d|0)!=(e|0)){continue}break}}return v[b+28>>2]!=98&f&v[a+40>>2]-1>>>0<2}function li(a){a=a|0;var b=0,c=0,d=0,e=0;b=v[a>>2];e=Ka(1,8);a:{if(v[b+16>>2]==1){break a}while(1){d=v[b+20>>2];if(!d){if(!v[a+8>>2]){v[a+8>>2]=1;v[b+32>>2]=v[b+32>>2]+1;c=La(8);if(!c){v[b+16>>2]=2;break a}v[c>>2]=a;v[c+4>>2]=v[b+28>>2];v[b+28>>2]=c}if(v[b+16>>2]!=1){continue}break a}v[b+20>>2]=v[d+4>>2];c=v[d>>2];Ga(d);if(!c){break a}d=v[c>>2];if(d){ua[d|0](v[c+4>>2],e)}Ga(c);v[b+24>>2]=v[b+24>>2]-1;if(v[b+16>>2]!=1){continue}break}}if(e){b=v[e+4>>2];if((b|0)>0){a=0;while(1){c=v[e>>2]+B(a,12)|0;d=v[c+8>>2];if(d){ua[d|0](v[c+4>>2]);b=v[e+4>>2]}a=a+1|0;if((b|0)>(a|0)){continue}break}}Ga(v[e>>2]);Ga(e)}}function Oh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;c=1;a:{if((x[a+80>>1]&33280)!=33280){break a}g=B(v[a+104>>2],v[a+108>>2]);if(!g){break a}f=v[a+156>>2];while(1){b:{if(v[f+16>>2]!=2){break b}c=v[f+5612>>2]!=0&c;d=v[v[a+72>>2]+16>>2];if(!d){break b}b=v[f+5584>>2];if(d>>>0>=4){i=d&-4;e=0;while(1){c=(v[b+20>>2]^-1)&c&((v[b+3260>>2]|(v[b+1100>>2]|v[b+2180>>2]))^-1);b=b+4320|0;e=e+4|0;if((i|0)!=(e|0)){continue}break}}e=0;d=d&3;if(!d){break b}while(1){c=(v[b+20>>2]^-1)&c;b=b+1080|0;e=e+1|0;if((d|0)!=(e|0)){continue}break}}f=f+5644|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}return c|0}function Xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=qa-16|0;qa=d;if(!w[49812]){t[49812]=1;f=49760,g=pa(1083)|0,v[f>>2]=g;if(!w[52756]){a:{while(1){if(!w[c+49904|0]){t[c+49904|0]=1;v[(c<<2)+50032>>2]=0;v[13190]=c;c=0;break a}c=c+1|0;if((c|0)!=128){continue}break}c=6}if(c){Y();p()}t[52756]=1}b:{if(!w[52757]){c=28;e=v[13190];if(!(e>>>0>127|!w[e+49904|0])){v[(e<<2)+50032>>2]=52760;c=0}if(c){break b}t[52757]=1}c=gb(12);if(!c){break b}v[c+4>>2]=0;v[c>>2]=54;v[c+8>>2]=v[13191];v[13191]=c}}c=v[b+16>>2];b=v[b+12>>2];v[d+12>>2]=b;v[d+8>>2]=c-b;f=a,g=oa(v[12440],1,29316,d+8|0)|0,v[f>>2]=g;qa=d+16|0}function Me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;t[a+36|0]=b;d=v[a+40>>2];b=v[a+44>>2]-d>>2;if(b>>>0>>0){a:{c=c-b|0;f=v[a+48>>2];b=v[a+44>>2];if(c>>>0<=f-b>>2>>>0){if(c){d=b;b=c<<2;b=Ma(d,0,b)+b|0}v[a+44>>2]=b;break a}b:{d=b;b=v[a+40>>2];g=d-b|0;h=g>>2;e=c+h|0;if(e>>>0<1073741824){d=0;f=f-b|0;i=f>>1;e=f>>>0>=2147483644?1073741823:e>>>0>>0?i:e;if(e){if(e>>>0>=1073741824){break b}d=Na(e<<2)}c=c<<2;f=Ma((h<<2)+d|0,0,c);d=fb(d,b,g);v[a+48>>2]=d+(e<<2);v[a+44>>2]=c+f;v[a+40>>2]=d;if(b){Ga(b)}break a}lb();p()}pc();p()}return}if(b>>>0>c>>>0){v[a+44>>2]=d+(c<<2)}}function ud(a){a=a|0;var b=0,c=0;if(a){Ob(v[a>>2]);v[a>>2]=0;b=v[a+72>>2];if(b){Ga(b);v[a+72>>2]=0}b=v[a+68>>2];if(b){Ga(b);v[a+68>>2]=0}b=v[a+108>>2];if(b){Ga(b);v[a+108>>2]=0}b=v[a+116>>2];if(b){c=v[b>>2];if(c){Ga(c);b=v[a+116>>2];v[b>>2]=0}Ga(b);v[a+116>>2]=0}b=v[a+120>>2];if(b){c=v[b+12>>2];if(c){Ga(c);b=v[a+120>>2];v[b+12>>2]=0}c=v[b+4>>2];if(c){Ga(c);b=v[a+120>>2];v[b+4>>2]=0}c=v[b+8>>2];if(c){Ga(c);b=v[a+120>>2];v[b+8>>2]=0}c=v[b>>2];if(c){Ga(c);b=v[a+120>>2];v[b>>2]=0}Ga(b);v[a+120>>2]=0}b=v[a+4>>2];if(b){Jb(b);v[a+4>>2]=0}b=v[a+8>>2];if(b){Jb(b);v[a+8>>2]=0}Ga(a)}}function be(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=qa-32|0;qa=g;f=v[a+72>>2];a:{if(!f){Fa(d,1,25089,0);e=0;break a}f=Ka(4,v[f+16>>2]);e=0;if(!f){break a}if(b){j=v[a+72>>2];while(1){b:{e=v[(h<<2)+c>>2];c:{if(e>>>0>=y[j+16>>2]){v[g+16>>2]=e;Fa(d,1,4305,g+16|0);break c}i=f+(e<<2)|0;if(!v[i>>2]){break b}v[g>>2]=e;Fa(d,1,5871,g)}Ga(f);e=0;break a}v[i>>2]=1;h=h+1|0;if((h|0)!=(b|0)){continue}break}}Ga(f);Ga(v[a- -64>>2]);d:{if(b){e=b<<2;d=La(e);v[a+64>>2]=d;if(!d){v[a+60>>2]=0;e=0;break a}Ja(d,c,e);break d}v[a+64>>2]=0}v[a+60>>2]=b;e=1}qa=g+32|0;return e|0}function Nd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!Ra(v[a+192>>2],125,c)){break a}if(v[a+16>>2]){if(!Ra(v[a+192>>2],126,c)){break a}}if(!Ra(v[a+192>>2],127,c)){break a}if(!Ra(v[a+192>>2],128,c)){break a}if(!Ra(v[a+192>>2],129,c)){break a}g=v[a+192>>2];f=v[g>>2];e=v[g+8>>2];d=1;b:{if(!f){break b}if((f|0)!=1){j=f&-2;while(1){h=0;if(d){h=(ua[v[e>>2]](a,b,c)|0)!=0}d=0;if(h){d=(ua[v[e+4>>2]](a,b,c)|0)!=0}e=e+8|0;i=i+2|0;if((i|0)!=(j|0)){continue}break}}if(!(f&1)){break b}if(!d){d=0;break b}d=(ua[v[e>>2]](a,b,c)|0)!=0}v[g>>2]=0}return d|0}function Jh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=qa-16|0;qa=g;d=1;e=v[(v[a+156>>2]+B(v[a+204>>2],5644)|0)+5584>>2];f=v[e+24>>2];if((f|0)!=1){d=B(v[e+4>>2],3)-2|0}e=v[a+52>>2];d=f?d<<1|1:d+1|0;f=d+4|0;a:{if(f>>>0>y[a+56>>2]){e=Pa(e,f);if(!e){Ga(v[a+52>>2]);v[a+52>>2]=0;v[a+56>>2]=0;d=0;Fa(c,1,7581,0);break a}v[a+56>>2]=f;v[a+52>>2]=e}Ha(e,65372,2);Ha(e+2|0,d+2|0,2);v[g+12>>2]=d;d=0;if(!zd(v[a+156>>2],v[a+204>>2],0,e+4|0,g+12|0,c)){Fa(c,1,7529,0);break a}if(v[g+12>>2]){Fa(c,1,7529,0);break a}d=(Ua(b,v[a+52>>2],f,c)|0)==(f|0)}qa=g+16|0;return d|0}function Pc(a,b,c,d,e){var f=0,g=0,h=0;f=qa-208|0;qa=f;v[f+204>>2]=c;c=f+160|0;Ma(c,0,40);v[f+200>>2]=v[f+204>>2];a:{if((Oc(0,b,f+200|0,f+80|0,c,d,e)|0)<0){break a}h=v[a+76>>2]>=0;c=v[a>>2];if(v[a+72>>2]<=0){v[a>>2]=c&-33}b:{c:{d:{if(!v[a+48>>2]){v[a+48>>2]=80;v[a+28>>2]=0;v[a+16>>2]=0;v[a+20>>2]=0;g=v[a+44>>2];v[a+44>>2]=f;break d}if(v[a+16>>2]){break c}}if(_b(a)){break b}}Oc(a,b,f+200|0,f+80|0,f+160|0,d,e)}if(g){ua[v[a+36>>2]](a,0,0)|0;v[a+48>>2]=0;v[a+44>>2]=g;v[a+28>>2]=0;v[a+16>>2]=0;v[a+20>>2]=0}v[a>>2]=v[a>>2]|c&32;if(!h){break a}}qa=f+208|0}function zf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Ya(a,v[b+8>>2],e)){if(!(v[b+28>>2]==1|v[b+4>>2]!=(c|0))){v[b+28>>2]=d}return}a:{if(Ya(a,v[b>>2],e)){if(!(v[b+16>>2]!=(c|0)&v[b+20>>2]!=(c|0))){if((d|0)!=1){break a}v[b+32>>2]=1;return}v[b+32>>2]=d;b:{if(v[b+44>>2]==4){break b}u[b+52>>1]=0;a=v[a+8>>2];ua[v[v[a>>2]+20>>2]](a,b,c,c,1,e);if(w[b+53|0]){v[b+44>>2]=3;if(!w[b+52|0]){break b}break a}v[b+44>>2]=4}v[b+20>>2]=c;v[b+40>>2]=v[b+40>>2]+1;if(v[b+36>>2]!=1|v[b+24>>2]!=2){break a}t[b+54|0]=1;return}a=v[a+8>>2];ua[v[v[a>>2]+24>>2]](a,b,c,d,e)}}function ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=qa-16|0;qa=h;a:{d=v[b+4>>2];g=v[b>>2];e=d-g|0;b:{c:{if(e>>>0>>0){i=c-e|0;f=v[b+8>>2];if(i>>>0<=f-d>>>0){d=Ma(d,0,i)+i|0;break c}if((c|0)<0){break a}d=f-g|0;f=d<<1;d=d>>>0>=1073741823?2147483647:c>>>0>>0?f:c;f=Na(d);Ma(f+e|0,0,i);e=fb(f,g,e);v[b+8>>2]=e+d;d=c+e|0;v[b+4>>2]=d;v[b>>2]=e;if(!g){break b}Ga(g);d=v[b+4>>2];break b}if(c>>>0>=e>>>0){break b}d=c+g|0}v[b+4>>2]=d}b=v[b>>2];v[h+12>>2]=b;v[h+8>>2]=d-b;j=a,k=R(29300,h+8|0)|0,v[j>>2]=k;qa=h+16|0;return}lb();p()}function dg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=15;a:{b:{switch(v[a+40>>2]-1|0){case 1:e=v[a+112>>2]+11|0;break;case 0:break b;default:break a}}c=Ka(1,e);if(!c){break a}Ha(c,e,4);Ha(c+4|0,1668246642,4);Ha(c+8|0,v[a+40>>2],1);Ha(c+9|0,v[a+52>>2],1);Ha(c+10|0,v[a+44>>2],1);d=c+11|0;c:{d:{switch(v[a+40>>2]-1|0){case 1:if(!v[a+112>>2]){break c}while(1){Ha(d,w[v[a+108>>2]+f|0],1);d=d+1|0;f=f+1|0;if(f>>>0>2]){continue}break};break c;case 0:break d;default:break c}}Ha(d,v[a+48>>2],4)}v[b>>2]=e;d=c}return d|0}function sh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=qa-16|0;qa=e;if(v[a+8>>2]==16){g=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{g=v[a+12>>2]}h=v[a+72>>2];f=y[h+16>>2]<257?1:2;a:{if(f>>>0>=c>>>0){c=0;Fa(d,1,7750,0);break a}v[e+12>>2]=(f^-1)+c;Ia(b,e+8|0,f);i=v[e+8>>2];if(i>>>0>=y[h+16>>2]){c=0;Fa(d,1,25404,0);break a}c=1;b=b+f|0;Ia(b,v[g+5584>>2]+B(i,1080)|0,1);if(!Hd(a,v[e+8>>2],b+1|0,e+12|0,d)){c=0;Fa(d,1,7750,0);break a}if(!v[e+12>>2]){break a}c=0;Fa(d,1,7750,0)}qa=e+16|0;return c|0}function gg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;f=qa-16|0;qa=f;e=v[a+120>>2];a:{if(!e){Fa(d,1,19103,0);c=0;break a}if(v[e+12>>2]){Fa(d,1,22119,0);c=0;break a}e=w[e+18|0];g=e<<2;if(g>>>0>c>>>0){Fa(d,1,19070,0);c=0;break a}g=La(g);c=0;if(!g){break a}if(e){d=0;while(1){c=f+12|0;Ia(b,c,2);h=g+(d<<2)|0;u[h>>1]=v[f+12>>2];Ia(b+2|0,c,1);t[h+2|0]=v[f+12>>2];Ia(b+3|0,c,1);t[h+3|0]=v[f+12>>2];b=b+4|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}v[v[a+120>>2]+12>>2]=g;c=1}qa=f+16|0;return c|0}function Ad(a,b,c,d,e){var f=0;a:{if(y[d>>2]<=4){break a}b=v[(B(b,5644)+a|0)+5584>>2];Ha(c,v[b+4>>2]-1|0,1);Ha(c+1|0,v[b+8>>2]-2|0,1);Ha(c+2|0,v[b+12>>2]-2|0,1);Ha(c+3|0,v[b+16>>2],1);Ha(c+4|0,v[b+20>>2],1);f=v[d>>2]-5|0;v[d>>2]=f;if(t[b|0]&1){b:{c:{a=v[b+4>>2];if(a>>>0<=f>>>0){if(a){break c}a=0;break b}break a}c=c+5|0;e=0;while(1){a=b+(e<<2)|0;Ha(c,(v[a+944>>2]<<4)+v[a+812>>2]|0,1);c=c+1|0;a=v[b+4>>2];e=e+1|0;if(a>>>0>e>>>0){continue}break}f=v[d>>2]}v[d>>2]=f-a}return 1}Fa(e,1,4469,0);return 0}function me(){var a=0,b=0;T(29072,1717,29080,5,29082,6);a=Na(4);v[a>>2]=0;b=Na(4);v[b>>2]=0;P(29072,1954,48920,29085,7,a|0,48920,29089,8,b|0);a=Na(4);v[a>>2]=2;b=Na(4);v[b>>2]=2;P(29072,1179,48920,29085,7,a|0,48920,29089,8,b|0);a=Na(4);v[a>>2]=4;b=Na(4);v[b>>2]=4;P(29072,2070,48884,29085,9,a|0,48884,29089,10,b|0);a=Na(4);v[a>>2]=5;b=Na(4);v[b>>2]=5;P(29072,1145,48884,29085,9,a|0,48884,29089,10,b|0);a=Na(4);v[a>>2]=6;b=Na(4);v[b>>2]=6;P(29072,2366,48860,29085,11,a|0,48860,29089,12,b|0);S(29072)}function Bd(a,b){var c=0,d=0,e=0,f=0,g=0;f=qa-32|0;qa=f;c=v[a+60>>2];a:{b:{if(c){g=1;while(1){e=v[v[a+64>>2]+(d<<2)>>2];if(!v[(v[v[a+76>>2]+24>>2]+B(e,52)|0)+44>>2]){v[f+16>>2]=e;Fa(b,2,17241,f+16|0);g=0;c=v[a+60>>2]}d=d+1|0;if(c>>>0>d>>>0){continue}break}break b}g=1;c=v[a+76>>2];e=1;if(!v[c+16>>2]){break a}while(1){if(!v[(v[c+24>>2]+B(d,52)|0)+44>>2]){v[f>>2]=d;Fa(b,2,17241,f);g=0;c=v[a+76>>2]}d=d+1|0;if(d>>>0>2]){continue}break}}e=1;if(g){break a}Fa(b,1,4848,0);e=0}qa=f+32|0;return e}function eh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=qa-16|0;qa=e;g=v[v[a+72>>2]+16>>2];a:{if((g+2|0)!=(c|0)){Fa(d,1,7620,0);break a}Ia(b,e+12|0,2);if(v[e+12>>2]!=(g|0)){Fa(d,1,7620,0);break a}if(!g){f=1;break a}c=b+2|0;a=v[v[a+72>>2]+24>>2];b=0;while(1){Ia(c,e+8|0,1);f=v[e+8>>2];h=f&127;i=h+1|0;v[a+24>>2]=i;v[a+32>>2]=f>>>7&1;if(h>>>0>=31){v[e+4>>2]=i;v[e>>2]=b;Fa(d,1,27379,e);f=0;break a}a=a+52|0;f=1;c=c+1|0;b=b+1|0;if((g|0)!=(b|0)){continue}break}}qa=e+16|0;return f|0}function oh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=qa-16|0;qa=e;a:{b:{h=e+8|0;c:{if(y[v[a+72>>2]+16>>2]<=256){if(c){f=-1;g=1;break c}Fa(d,1,7815,0);a=0;break a}if(c>>>0<=1){break b}f=-2;g=2}Ia(b,h,g);v[e+12>>2]=c+f;c=v[e+8>>2];f=v[v[a+72>>2]+16>>2];if(c>>>0>=f>>>0){v[e+4>>2]=f;v[e>>2]=c;Fa(d,1,17349,e);a=0;break a}if(!Fd(a,c,b+g|0,e+12|0,d)){Fa(d,1,7815,0);a=0;break a}a=1;if(!v[e+12>>2]){break a}Fa(d,1,7815,0);a=0;break a}Fa(d,1,7815,0);a=0}qa=e+16|0;return a|0}function Gh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=v[a+40>>2];if(d>>>0>=10922){Fa(c,1,7049,0);return 0}f=d>>>0<256;v[a+20>>2]=f;e=v[a+52>>2];g=B(d,f?5:6);d=g+6|0;if(d>>>0>y[a+56>>2]){e=Pa(e,d);if(!e){Ga(v[a+52>>2]);v[a+52>>2]=0;v[a+56>>2]=0;Fa(c,1,7154,0);return 0}v[a+56>>2]=d;v[a+52>>2]=e}Ma(e,0,d);e=v[a+52>>2];h=v[b+60>>2];v[a+24>>2]=v[b+56>>2];v[a+28>>2]=h;Ha(e,65365,2);Ha(e+2|0,g+4|0,2);Ha(e+4|0,0,1);Ha(e+5|0,f?80:96,1);return(Ua(b,v[a+52>>2],d,c)|0)==(d|0)|0}function Fa(a,b,c,d){var e=0,f=0,g=0;e=qa-528|0;qa=e;a:{if(!a){break a}b:{c:{switch(b-1|0){case 0:b=a+12|0;break b;case 1:b=a+16|0;a=a+4|0;break b;case 3:break c;default:break a}}b=a+20|0;a=a+8|0}f=v[b>>2];if(!f|!c){break a}g=v[a>>2];b=Ma(e,0,512);v[b+524>>2]=d;a=qa-160|0;qa=a;v[a+148>>2]=511;v[a+144>>2]=b;a=Ma(a,0,144);v[a+76>>2]=-1;v[a+36>>2]=261;v[a+80>>2]=-1;v[a+44>>2]=a+159;v[a+84>>2]=a+144;t[b|0]=0;Pc(a,c,d,259,260);qa=a+160|0;t[b+511|0]=0;ua[f|0](b,g)}qa=e+528|0}function Lc(a,b){if(!a){return 0}a:{b:{if(a){if(b>>>0<=127){break b}c:{if(!v[v[12660]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){t[a+1|0]=b&63|128;t[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344&b>>>0>=55296)){t[a+2|0]=b&63|128;t[a|0]=b>>>12|224;t[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){t[a+3|0]=b&63|128;t[a|0]=b>>>18|240;t[a+2|0]=b>>>6&63|128;t[a+1|0]=b>>>12&63|128;a=4;break a}}v[12458]=25;a=-1}else{a=1}break a}t[a|0]=b;a=1}return a}function vh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(c){while(1){o(+z[a>>2]);d=j(1)|0;e=j(0)|0;f=e&16711680;g=f>>>8|0;i=f<<24;f=e&-16777216;d=i|f<<8|(((d&255)<<24|e>>>8)&-16777216|((d&16777215)<<8|e>>>24)&16711680|(d>>>8&65280|d>>>24));t[b|0]=d;t[b+1|0]=d>>>8;t[b+2|0]=d>>>16;t[b+3|0]=d>>>24;d=g|f>>>24|(e<<24|(e&65280)<<8);g=0;d=d|(g|g);t[b+4|0]=d;t[b+5|0]=d>>>8;t[b+6|0]=d>>>16;t[b+7|0]=d>>>24;b=b+8|0;a=a+4|0;h=h+1|0;if((h|0)!=(c|0)){continue}break}}}function ve(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=v[a+32>>2];v[a+36>>2]=f;a:{e=v[a+48>>2];if(e){while(1){e=ua[v[a+20>>2]](f,e,v[a>>2])|0;if((e|0)==-1){break a}f=e+v[a+36>>2]|0;v[a+36>>2]=f;e=v[a+48>>2]-e|0;v[a+48>>2]=e;if(e){continue}break}f=v[a+32>>2]}v[a+48>>2]=0;v[a+36>>2]=f;if(!(ua[v[a+28>>2]](b,c,v[a>>2])|0)){v[a+68>>2]=v[a+68>>2]|8;return 0}v[a+56>>2]=b;v[a+60>>2]=c;return 1}v[a+68>>2]=v[a+68>>2]|8;Fa(d,4,27581,0);v[a+68>>2]=v[a+68>>2]|8;return 0}function Eh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=v[a+72>>2];e=v[d+16>>2];if(!e){return 1}h=v[v[a+156>>2]+5584>>2];while(1){a:{if(v[h+808>>2]){i=v[v[a+156>>2]+5584>>2];f=v[a+52>>2];Ha(f,65374,2);d=e>>>0<257?1:2;Ha(f+2|0,d|4,2);e=f+4|0;Ha(e,g,d);f=0;e=d+e|0;Ha(e,0,1);Ha(e+1|0,v[(B(g,1080)+i|0)+808>>2],1);d=d+6|0;if((Ua(b,v[a+52>>2],d,c)|0)!=(d|0)){break a}d=v[a+72>>2]}h=h+1080|0;f=1;e=v[d+16>>2];g=g+1|0;if(e>>>0>g>>>0){continue}}break}return f|0}function Mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{b:{c:{if(!Ra(v[a+8>>2],183,c)){break c}d=v[a+8>>2];h=v[d>>2];e=v[d+8>>2];if(!h){break b}f=1;if((h|0)!=1){j=h&-2;while(1){g=0;d:{if(!f){break d}g=0;if(!(ua[v[e>>2]](a,b,c)|0)){break d}g=(ua[v[e+4>>2]](a,b,c)|0)!=0}f=g;e=e+8|0;i=i+2|0;if((i|0)!=(j|0)){continue}break}}e:{if(h&1){if(!f){break e}f=(ua[v[e>>2]](a,b,c)|0)!=0}v[d>>2]=0;if(!f){break c}break a}v[d>>2]=0}return 0}v[d>>2]=0}return 1}function ng(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(v[a+100>>2]!=1){Fa(d,1,21962,0);return 0}a:{if(c>>>0<=7){break a}Ia(b,a+56|0,4);Ia(b+4|0,a+60|0,4);if(c&3){break a}e=c-8|0;c=e>>>2|0;v[a+64>>2]=c;b:{if(e>>>0>=4){c=Ka(c,4);v[a+68>>2]=c;if(!c){break b}c=v[a+64>>2]}if(c){d=b+8|0;c=0;while(1){Ia(d,v[a+68>>2]+(c<<2)|0,4);d=d+4|0;c=c+1|0;if(c>>>0>2]){continue}break}}v[a+100>>2]=v[a+100>>2]|2;return 1}Fa(d,1,4098,0);return 0}Fa(d,1,9878,0);return 0}function ph(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=qa-16|0;qa=e;v[e+12>>2]=c;a:{if(!(!Fd(a,0,b,e+12|0,d)|v[e+12>>2])){if(v[a+8>>2]==16){b=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{b=v[a+12>>2]}f=1;if(y[v[a+72>>2]+16>>2]<2){break a}c=v[b+5584>>2];g=c+28|0;b=1;d=c;while(1){v[d+1104>>2]=v[c+24>>2];v[d+1884>>2]=v[c+804>>2];Ja(d+1108|0,g,776);d=d+1080|0;b=b+1|0;if(b>>>0>2]+16>>2]){continue}break}break a}Fa(d,1,7555,0)}qa=e+16|0;return f|0}function Kb(a){var b=0,c=0,d=0;a:{if(!a){break a}b=v[a+8>>2];if(!b){break a}a=v[a+12>>2];if(b>>>0>=4){d=b&-4;while(1){v[a+12>>2]=0;v[a+4>>2]=999;v[a+8>>2]=0;v[a+60>>2]=0;v[a+52>>2]=999;v[a+56>>2]=0;v[a+44>>2]=0;v[a+36>>2]=999;v[a+40>>2]=0;v[a+28>>2]=0;v[a+20>>2]=999;v[a+24>>2]=0;a=a- -64|0;c=c+4|0;if((d|0)!=(c|0)){continue}break}}b=b&3;if(!b){break a}c=0;while(1){v[a+12>>2]=0;v[a+4>>2]=999;v[a+8>>2]=0;a=a+16|0;c=c+1|0;if((b|0)!=(c|0)){continue}break}}}function Kg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!Ra(v[a+8>>2],184,c)){break a}if(!Nd(v[a>>2],b,c)){break a}h=v[a+8>>2];g=v[h>>2];e=v[h+8>>2];d=1;b:{if(!g){break b}if((g|0)!=1){j=g&-2;while(1){f=0;c:{if(!d){break c}f=0;if(!(ua[v[e>>2]](a,b,c)|0)){break c}f=(ua[v[e+4>>2]](a,b,c)|0)!=0}d=f;e=e+8|0;i=i+2|0;if((i|0)!=(j|0)){continue}break}}if(!(g&1)){break b}if(!d){d=0;break b}d=(ua[v[e>>2]](a,b,c)|0)!=0}v[h>>2]=0}return d|0}function Xc(a,b,c,d){var e=0,f=0,g=0;f=qa-128|0;qa=f;e=f;b=v[b+12>>2]+(c<<4)|0;if(v[b>>2]){while(1){v[e>>2]=b;e=e+4|0;b=v[b>>2];if(v[b>>2]){continue}break}}while(1){c=v[b+8>>2];if((g|0)>(c|0)){v[b+8>>2]=g;c=g}a:{if((c|0)>=(d|0)){break a}while(1){if(v[b+4>>2]<=(c|0)){break a}b:{if(eb(a,1)){v[b+4>>2]=c;break b}c=c+1|0}if((c|0)<(d|0)){continue}break}}v[b+8>>2]=c;if((e|0)!=(f|0)){e=e-4|0;b=v[e>>2];g=c;continue}break}qa=f+128|0;return v[b+4>>2]<(d|0)}function Yc(a,b,c,d){var e=0,f=0,g=0;f=qa-128|0;qa=f;e=f;b=v[b+12>>2]+(c<<4)|0;if(v[b>>2]){while(1){v[e>>2]=b;e=e+4|0;b=v[b>>2];if(v[b>>2]){continue}break}}while(1){c=v[b+8>>2];if((g|0)>(c|0)){v[b+8>>2]=g;c=g}a:{if((c|0)>=(d|0)){break a}while(1){if(v[b+4>>2]<=(c|0)){if(v[b+12>>2]){break a}ob(a,1);v[b+12>>2]=1;break a}ob(a,0);c=c+1|0;if((d|0)!=(c|0)){continue}break}c=d}v[b+8>>2]=c;if((e|0)!=(f|0)){e=e-4|0;b=v[e>>2];g=c;continue}break}qa=f+128|0}function uc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=v[a+8>>2];c=v[a+4>>2];if(e-c>>3>>>0>=b>>>0){if(b){b=b<<3;c=Ma(c,0,b)+b|0}v[a+4>>2]=c;return}a:{f=c;c=v[a>>2];g=f-c|0;h=g>>3;d=h+b|0;if(d>>>0<536870912){e=e-c|0;f=e>>2;d=e>>>0>=2147483640?536870911:d>>>0>>0?f:d;if(d){if(d>>>0>=536870912){break a}i=Na(d<<3)}b=b<<3;e=Ma((h<<3)+i|0,0,b);f=d<<3;d=fb(i,c,g);v[a+8>>2]=f+d;v[a+4>>2]=b+e;v[a>>2]=d;if(c){Ga(c)}return}lb();p()}pc();p()}function qh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=qa-16|0;qa=e;g=v[v[a+72>>2]+16>>2];f=g>>>0<257?1:2;a:{if((f+2|0)!=(c|0)){a=0;Fa(d,1,6916,0);break a}if(v[a+8>>2]==16){c=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{c=v[a+12>>2]}Ia(b,e+12|0,f);a=1;b=b+f|0;Ia(b,e+8|0,1);f=v[e+12>>2];if(f>>>0>=g>>>0){v[e+4>>2]=g;v[e>>2]=f;Fa(d,1,26446,e);a=0;break a}Ia(b+1|0,(v[c+5584>>2]+B(f,1080)|0)+808|0,1)}qa=e+16|0;return a|0}function bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=B(x[v[a+116>>2]+4>>1],6)+10|0;c=La(f);if(c){Ha(c,f,4);Ha(c+4|0,1667523942,4);Ha(c+8|0,x[v[a+116>>2]+4>>1],2);e=v[a+116>>2];if(x[e+4>>1]){d=c+10|0;while(1){h=B(g,6);Ha(d,x[h+v[e>>2]>>1],2);Ha(d+2|0,x[(v[v[a+116>>2]>>2]+h|0)+2>>1],2);Ha(d+4|0,x[(v[v[a+116>>2]>>2]+h|0)+4>>1],2);d=d+6|0;g=g+1|0;e=v[a+116>>2];if(g>>>0>1]){continue}break}}v[b>>2]=f}return c|0}function Qa(a){var b=0,c=0,d=0,e=0;a:{b:{b=v[a+16>>2];c=w[b|0];if((c|0)==255){c=b+1|0;v[a+16>>2]=c;b=v[a>>2]>>>20|0;break b}d=v[a>>2];c:{if(!(d&134217728)){c=b+1|0;v[a+16>>2]=c;b=d>>>19|0;break c}t[b|0]=c+1;b=v[a+16>>2];if(w[b|0]==255){c=b+1|0;v[a+16>>2]=c;b=v[a>>2]&134217727;v[a>>2]=b;b=b>>>20|0;break b}c=b+1|0;v[a+16>>2]=c;b=v[a>>2]>>>19|0}e=8;d=524287;break a}e=7;d=1048575}t[c|0]=b;v[a+8>>2]=e;v[a>>2]=v[a>>2]&d}function ne(a,b){var c=0,d=0,e=0,f=0;d=v[a+4>>2];if((d|0)!=2147483647){c=v[a>>2];if((d|0)>0){while(1){if(!v[c+B(e,12)>>2]){d=B(e,12);e=d+c|0;f=v[e+8>>2];if(f){ua[f|0](v[e+4>>2]);c=v[a>>2]}a=c+d|0;v[a+8>>2]=249;v[a+4>>2]=b;return 1}e=e+1|0;if((d|0)!=(e|0)){continue}break}}c=Pa(c,B(d,12)+12|0);if(!c){return 0}v[a>>2]=c;d=v[a+4>>2];c=c+B(d,12)|0;v[c+8>>2]=249;v[c+4>>2]=b;v[c>>2]=0;v[a+4>>2]=d+1;a=1}else{a=0}return a}function vi(a,b,c){var d=0,e=0,f=0,g=0;g=c&63;f=g;e=f&31;if(f>>>0>=32){f=-1>>>e|0}else{d=-1>>>e|0;f=d|(1<>>0>=32){d=f<>>32-e|d<>>0>=32){d=-1<>>32-d}a=c&a;b=b&d;d=e&31;if(e>>>0>=32){c=0;a=b>>>d|0}else{c=b>>>d|0;a=((1<>>d}a=a|g;ta=c|f;return a}function Se(){var a=0,b=0;a=Na(112);v[a>>2]=0;v[a+4>>2]=0;v[a+56>>2]=0;v[a+60>>2]=0;v[a+40>>2]=0;v[a+44>>2]=0;t[a+36|0]=1;v[a+32>>2]=5;v[a+100>>2]=0;v[a+104>>2]=0;v[a+92>>2]=64;v[a+96>>2]=64;v[a+16>>2]=0;v[a+20>>2]=0;v[a+8>>2]=0;v[a+12>>2]=0;v[a+48>>2]=0;v[a+52>>2]=2;b=a- -64|0;v[b>>2]=0;v[b+4>>2]=0;v[a+72>>2]=0;v[a+76>>2]=0;v[a+80>>2]=0;v[a+84>>2]=0;v[a+88>>2]=0;v[a+108>>2]=0;return a|0}function Yb(a,b,c){var d=0,e=0,f=0;d=v[c+16>>2];a:{if(!d){if(_b(c)){break a}d=v[c+16>>2]}f=v[c+20>>2];if(d-f>>>0>>0){return ua[v[c+36>>2]](c,a,b)|0}b:{if(v[c+80>>2]<0){d=0;break b}e=b;while(1){d=e;if(!d){d=0;break b}e=d-1|0;if(w[e+a|0]!=10){continue}break}e=ua[v[c+36>>2]](c,a,d)|0;if(e>>>0>>0){break a}a=a+d|0;b=b-d|0;f=v[c+20>>2]}Ja(f,a,b);v[c+20>>2]=v[c+20>>2]+b;e=b+d|0}return e}function Uh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;Ha(v[a+52>>2],65497,2);if((Ua(b,v[a+52>>2],2,c)|0)==2){a=v[b+32>>2];v[b+36>>2]=a;d=v[b+48>>2];a:{if(d){while(1){d=ua[v[b+20>>2]](a,d,v[b>>2])|0;if((d|0)==-1){v[b+68>>2]=v[b+68>>2]|8;Fa(c,4,27581,0);a=0;break a}a=d+v[b+36>>2]|0;v[b+36>>2]=a;d=v[b+48>>2]-d|0;v[b+48>>2]=d;if(d){continue}break}a=v[b+32>>2]}v[b+36>>2]=a;a=1}}else{a=0}return a|0}function fd(a){var b=0,c=0,d=0;c=v[a+44>>2];a:{b:{b=v[a+36>>2];if(b){d=1;if(c>>>0<=y[a+48>>2]){break a}if(v[a+40>>2]){break b}}b=Ta(c);v[a+36>>2]=b;c=v[a+44>>2];c:{if(b){b=c;break c}b=0;d=b;if(c){break a}}v[a+40>>2]=1;v[a+48>>2]=b;return 1}Ga(b);c=Ta(v[a+44>>2]);v[a+36>>2]=c;if(!c){v[a+48>>2]=0;v[a+40>>2]=0;v[a+44>>2]=0;return 0}v[a+40>>2]=1;v[a+48>>2]=v[a+44>>2];d=1}return d}function Fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=(v[a+64>>2]<<2)+16|0;d=Ka(1,e);if(!d){Fa(c,1,17979,0);return 0}Ha(d,e,4);Ha(d+4|0,1718909296,4);Ha(d+8|0,v[a+56>>2],4);Ha(d+12|0,v[a+60>>2],4);if(v[a+64>>2]){g=d+16|0;while(1){Ha(g,v[v[a+68>>2]+(f<<2)>>2],4);f=f+1|0;if(f>>>0>2]){continue}break}}a=(Ua(b,d,e,c)|0)==(e|0);if(!a){Fa(c,1,9187,0)}Ga(d);return a|0}function Td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;v[a+160>>2]=b;d=v[a+72>>2];a:{if(!d){break a}f=v[d+24>>2];if(!f){break a}e=v[a+12>>2];if(!e|!v[e+5584>>2]){break a}e=v[d+16>>2];if(!e){return 1}d=0;while(1){if(y[(v[v[a+12>>2]+5584>>2]+B(d,1080)|0)+4>>2]<=b>>>0){Fa(c,1,19444,0);return 0}v[(B(d,52)+f|0)+40>>2]=b;g=1;d=d+1|0;if((e|0)!=(d|0)){continue}break}}return g|0}function Fh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=qa-16|0;qa=f;d=v[a+52>>2];e=B(v[(v[a+156>>2]+B(v[a+204>>2],5644)|0)+420>>2]+1|0,y[v[a+72>>2]+16>>2]<257?7:9)+4|0;a:{if(e>>>0>y[a+56>>2]){d=Pa(d,e);if(!d){Ga(v[a+52>>2]);v[a+52>>2]=0;v[a+56>>2]=0;Fa(c,1,7711,0);a=0;break a}v[a+56>>2]=e;v[a+52>>2]=d}Od(a,d,f+12|0);a=(Ua(b,v[a+52>>2],e,c)|0)==(e|0)}qa=f+16|0;return a|0}function qe(){var a=0,b=0;b=u[23740];a:{if(!b){v[12458]=28;a=-1;break a}b:{c:{if((b|0)>-2){break c}a=200809;d:{switch((b&255)-1|0){case 1:a=131072;break a;case 2:a=32768;break a;case 3:a=65536;break a;case 4:case 10:a=2147483647;break a;case 5:case 6:a=1;break a;case 7:case 8:a=ga()>>>16|0;break a;case 0:break b;case 9:break d;default:break c}}a=0;break a}a=b}}return a}function Sc(a){var b=0,c=0;b=v[a+76>>2];if(!((b|0)>=0&(!b|v[12642]!=(b&-1073741825)))){a:{if(v[a+80>>2]==10){break a}b=v[a+20>>2];if((b|0)==v[a+16>>2]){break a}v[a+20>>2]=b+1;t[b|0]=10;return}Zb(a);return}b=a+76|0;c=v[b>>2];v[b>>2]=c?c:1073741823;b:{c:{if(v[a+80>>2]==10){break c}c=v[a+20>>2];if((c|0)==v[a+16>>2]){break c}v[a+20>>2]=c+1;t[c|0]=10;break b}Zb(a)}v[b>>2]=0}function Tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=x[b+26>>1];b=x[b+24>>1];v[a>>2]=b;if(c){f=c&3;a:{if(!f){d=c;break a}d=c;while(1){d=d-1|0;e=e+1>>>1|0;b=b+1>>>1|0;g=g+1|0;if((f|0)!=(g|0)){continue}break}}if(c>>>0>=4){while(1){e=(((e+1>>>1|0)+1>>>1|0)+1>>>1|0)+1>>>1|0;b=(((b+1>>>1|0)+1>>>1|0)+1>>>1|0)+1>>>1|0;d=d-4|0;if(d){continue}break}}v[a>>2]=b}v[a+4>>2]=e}function wf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Ya(a,v[b+8>>2],e)){if(!(v[b+28>>2]==1|v[b+4>>2]!=(c|0))){v[b+28>>2]=d}return}a:{if(!Ya(a,v[b>>2],e)){break a}if(!(v[b+16>>2]!=(c|0)&v[b+20>>2]!=(c|0))){if((d|0)!=1){break a}v[b+32>>2]=1;return}v[b+20>>2]=c;v[b+32>>2]=d;v[b+40>>2]=v[b+40>>2]+1;if(!(v[b+36>>2]!=1|v[b+24>>2]!=2)){t[b+54|0]=1}v[b+44>>2]=4}}function ii(a,b){a=a|0;b=b|0;var c=0,d=0;c=v[a+32>>2];b=v[a+28>>2];if(c>>>0>b+7>>>0){while(1){ua[v[a+36>>2]](v[a+24>>2]+(b<<2)|0,v[a>>2],v[a+16>>2],!v[a+12>>2],v[a+20>>2],8);d=b+15|0;b=b+8|0;c=v[a+32>>2];if(d>>>0>>0){continue}break}}if(b>>>0>>0){ua[v[a+36>>2]](v[a+24>>2]+(b<<2)|0,v[a>>2],v[a+16>>2],!v[a+12>>2],v[a+20>>2],c-b|0)}Ga(v[a>>2]);Ga(a)}function Ha(a,b,c){var d=0,e=0;d=qa-16|0;v[d+12>>2]=b;a:{if(!c){break a}e=c&3;b=(d+12|0)+c|0;if(c>>>0>=4){d=c&-4;c=0;while(1){t[a|0]=w[b-1|0];t[a+1|0]=w[b-2|0];t[a+2|0]=w[b-3|0];b=b-4|0;t[a+3|0]=w[b|0];a=a+4|0;c=c+4|0;if((d|0)!=(c|0)){continue}break}}if(!e){break a}c=0;while(1){b=b-1|0;t[a|0]=w[b|0];a=a+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}}function Db(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;if(a){c=v[a+4>>2];if(c){Ga(c);v[a+4>>2]=0}if(b){c=a;while(1){d=v[c+200>>2];if(d){e=0;f=v[c+196>>2];if(f){while(1){g=v[d+12>>2];if(g){Ga(g);v[d+12>>2]=0;f=v[c+196>>2]}d=d+16|0;e=e+1|0;if(e>>>0>>0){continue}break}d=v[c+200>>2]}Ga(d);v[c+200>>2]=0}c=c+240|0;h=h+1|0;if((h|0)!=(b|0)){continue}break}}Ga(a)}}function Hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=v[a+84>>2];f=v[e+4>>2];g=v[a+28>>2];d=v[a+20>>2]-g|0;d=d>>>0>f>>>0?f:d;if(d){Ja(v[e>>2],g,d);v[e>>2]=d+v[e>>2];f=v[e+4>>2]-d|0;v[e+4>>2]=f}d=v[e>>2];f=c>>>0>f>>>0?f:c;if(f){Ja(d,b,f);d=f+v[e>>2]|0;v[e>>2]=d;v[e+4>>2]=v[e+4>>2]-f}t[d|0]=0;b=v[a+44>>2];v[a+28>>2]=b;v[a+20>>2]=b;return c|0}function Ec(a,b,c,d){t[a+53|0]=1;a:{if(v[a+4>>2]!=(c|0)){break a}t[a+52|0]=1;c=v[a+16>>2];b:{if(!c){v[a+36>>2]=1;v[a+24>>2]=d;v[a+16>>2]=b;if((d|0)!=1){break a}if(v[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=v[a+24>>2];if((c|0)==2){v[a+24>>2]=d;c=d}if(v[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}v[a+36>>2]=v[a+36>>2]+1}t[a+54|0]=1}}function fc(a){v[a+28>>2]=35184;v[a+100>>2]=35184;v[a+96>>2]=35184;v[a+92>>2]=35184;v[a+88>>2]=35184;v[a+84>>2]=35184;v[a+80>>2]=35184;v[a+76>>2]=35184;v[a+72>>2]=35184;v[a+68>>2]=35184;v[a- -64>>2]=35184;v[a+60>>2]=35184;v[a+56>>2]=35184;v[a+52>>2]=35184;v[a+48>>2]=35184;v[a+44>>2]=35184;v[a+40>>2]=35184;v[a+36>>2]=35184;v[a+32>>2]=35184}function Cb(a,b,c){var d=0,e=0,f=0,g=0,h=0;if((c|0)>0){d=v[a+16>>2];while(1){g=c;c=c-1|0;h=b>>>c&1;a:{if(d){break a}f=v[a+12>>2];d=f<<8&65280;v[a+12>>2]=d;d=(d|0)==65280?7:8;v[a+16>>2]=d;e=v[a+8>>2];if(e>>>0>=y[a+4>>2]){break a}v[a+8>>2]=e+1;t[e|0]=f;d=v[a+16>>2]}d=d-1|0;v[a+16>>2]=d;v[a+12>>2]=v[a+12>>2]|h<>>0>1){continue}break}}}function eb(a,b){var c=0,d=0,e=0,f=0,g=0;if((b|0)<=0){return 0}c=v[a+12>>2];d=v[a+16>>2];while(1){g=b;b=b-1|0;a:{if(d){break a}c=c<<8&65280;v[a+12>>2]=c;d=(c|0)==65280?7:8;v[a+16>>2]=d;e=v[a+8>>2];if(e>>>0>=y[a+4>>2]){break a}v[a+8>>2]=e+1;c=w[e|0]|c;v[a+12>>2]=c}d=d-1|0;v[a+16>>2]=d;f=(c>>>d&1)<>>0>1){continue}break}return f}function Df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=qa+-64|0;qa=e;d=1;a:{if(Ya(a,b,0)){break a}d=0;if(!b){break a}b=bb(b,48532);d=0;if(!b){break a}d=e+8|0;Ma(d|4,0,52);v[e+56>>2]=1;v[e+20>>2]=-1;v[e+16>>2]=a;v[e+8>>2]=b;ua[v[v[b>>2]+28>>2]](b,d,v[c>>2],1);a=v[e+32>>2];if((a|0)==1){v[c>>2]=v[e+24>>2]}d=(a|0)==1}qa=e- -64|0;return d|0}function jg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=qa-16|0;qa=f;e=v[a+24>>2];if((e|0)!=255){v[f>>2]=e;Fa(d,2,4608,f)}a:{b:{if(v[a+20>>2]==(c|0)){if(c){break b}e=1;break a}e=0;Fa(d,1,26033,0);break a}c=0;while(1){e=1;Ia(b,(v[a+72>>2]+B(c,12)|0)+8|0,1);b=b+1|0;c=c+1|0;if(c>>>0>2]){continue}break}}qa=f+16|0;return e|0}function Ia(a,b,c){var d=0,e=0;v[b>>2]=0;a:{if(!c){break a}d=c&3;b=b+c|0;if(c>>>0>=4){e=c&-4;c=0;while(1){t[b-1|0]=w[a|0];t[b-2|0]=w[a+1|0];t[b-3|0]=w[a+2|0];b=b-4|0;t[b|0]=w[a+3|0];a=a+4|0;c=c+4|0;if((e|0)!=(c|0)){continue}break}}if(!d){break a}c=0;while(1){b=b-1|0;t[b|0]=w[a|0];a=a+1|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}}function jh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=qa-16|0;qa=e;a:{if(!c){Fa(d,1,6659,0);a=0;break a}Ia(b,e+12|0,1);f=c-1|0;a=1;if(!f){break a}a=0;c=0;while(1){b=b+1|0;Ia(b,e+8|0,1);g=v[e+8>>2];c=g<<24>>31&(g&127|c)<<7;a=a+1|0;if((f|0)!=(a|0)){continue}break}a=1;if(!c){break a}Fa(d,1,6659,0);a=0}qa=e+16|0;return a|0}function Jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=qa-16|0;qa=d;f=v[b+60>>2];e=v[b+56>>2];Ha(d+8|0,e-v[a+80>>2]|0,4);Ha(d+12|0,1785737827,4);a:{b:{if(!(ua[v[b+44>>2]](b,v[a+80>>2],v[a+84>>2],c)|0)){break b}if((Ua(b,d+8|0,8,c)|0)!=8){break b}a=1;if(ua[v[b+44>>2]](b,e,f,c)|0){break a}}Fa(c,1,21390,0);a=0}qa=d+16|0;return a|0}function Dh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=v[a+52>>2];g=v[a+100>>2];f=ib(g);e=f+6|0;if(e>>>0>y[a+56>>2]){d=Pa(d,e);if(!d){Ga(v[a+52>>2]);v[a+52>>2]=0;v[a+56>>2]=0;Fa(c,1,7006,0);return 0}v[a+56>>2]=e;v[a+52>>2]=d}Ha(d,65380,2);Ha(d+2|0,f+4|0,2);Ha(d+4|0,1,2);Ja(d+6|0,g,f);return(Ua(b,v[a+52>>2],e,c)|0)==(e|0)|0}function kb(a,b,c){var d=0;if(!v[a+12>>2]){ua[b|0](c,v[a+36>>2]);return}d=La(8);if(d){v[d+4>>2]=c;v[d>>2]=b;b=La(8);if(!b){Ga(d);return}v[b>>2]=d;v[a+40>>2]=B(v[a+4>>2],100);v[b+4>>2]=v[a+20>>2];v[a+20>>2]=b;v[a+24>>2]=v[a+24>>2]+1;b=v[a+28>>2];if(b){v[v[b>>2]+8>>2]=0;v[a+28>>2]=v[b+4>>2];v[a+32>>2]=v[a+32>>2]-1;Ga(b)}}}function ke(a,b,c,d){var e=0,f=0,g=C(0),h=0,i=C(0),j=0,k=C(0);if(d){while(1){e=f<<2;h=e+b|0;i=z[h>>2];j=a+e|0;g=z[j>>2];e=c+e|0;k=z[e>>2];z[j>>2]=C(k*C(1.4019999504089355))+g;z[h>>2]=C(g+C(i*C(-.3441300094127655)))+C(k*C(-.714139997959137));z[e>>2]=g+C(i*C(1.7719999551773071));f=f+1|0;if((f|0)!=(d|0)){continue}break}}}function $b(a){var b=0,c=0,d=0,e=0;while(1){b=a;a=b+1|0;c=t[b|0];if((c|0)==32|c-9>>>0<5){continue}break}a:{b:{c:{c=t[b|0];switch(c-43|0){case 0:break b;case 2:break c;default:break a}}e=1}c=t[a|0];b=a}if(c-48>>>0<10){while(1){d=(B(d,10)-t[b|0]|0)+48|0;a=t[b+1|0];b=b+1|0;if(a-48>>>0<10){continue}break}}return e?d:0-d|0}function Th(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=v[a+40>>2];g=v[a+20>>2];h=v[b+56>>2];i=v[b+60>>2];d=v[a+28>>2];e=v[a+24>>2]+6|0;d=e>>>0<6?d+1|0:d;a:{if(!(ua[v[b+44>>2]](b,e,d,c)|0)){break a}d=v[a+32>>2];a=B(g?5:6,f);if((Ua(b,d,a,c)|0)!=(a|0)){break a}j=(ua[v[b+44>>2]](b,h,i,c)|0)!=0}return j|0}function Xg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=C(0),f=0,g=0;d=qa-16|0;qa=d;if(c){while(1){t[d+15|0]=w[a|0];t[d+14|0]=w[a+1|0];t[d+13|0]=w[a+2|0];t[d+12|0]=w[a+3|0];e=z[d+12>>2];a:{if(C(D(e))>2]=f;b=b+4|0;a=a+4|0;g=g+1|0;if((g|0)!=(c|0)){continue}break}}qa=d+16|0}function Vf(a){a=a|0;var b=0,c=0,d=0,e=0;b=v[a+24>>2];if(b){c=v[a+28>>2];if(c>>>0>=52){e=(c>>>0)/52|0;while(1){c=v[b>>2];if(c){Ga(c-1|0);v[b>>2]=0}c=v[b+4>>2];if(c){Ga(c);v[b+4>>2]=0}c=v[b+8>>2];if(c){Ga(c);v[b+8>>2]=0}b=b+52|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}b=v[a+24>>2]}Ga(b);v[a+24>>2]=0}}function Wf(a){a=a|0;var b=0,c=0,d=0,e=0;b=v[a+24>>2];if(b){c=v[a+28>>2];if(c>>>0>=64){e=c>>>6|0;while(1){c=v[b>>2];if(c){Ga(c);v[b>>2]=0}c=v[b+4>>2];if(c){Ga(c);v[b+4>>2]=0}Ga(v[b+60>>2]);v[b+60>>2]=0;b=b- -64|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}b=v[a+24>>2]}Ga(b);v[a+24>>2]=0}}function eg(a,b){a=a|0;b=b|0;var c=0;c=Ka(1,22);if(c){Ha(c,22,4);Ha(c+4|0,1768449138,4);Ha(c+8|0,v[a+16>>2],4);Ha(c+12|0,v[a+12>>2],4);Ha(c+16|0,v[a+20>>2],2);Ha(c+18|0,v[a+24>>2],1);Ha(c+19|0,v[a+28>>2],1);Ha(c+20|0,v[a+32>>2],1);Ha(c+21|0,v[a+36>>2],1);v[b>>2]=22}return c|0}function fi(a,b){a=a|0;b=b|0;var c=0,d=0;c=v[a+32>>2];b=v[a+28>>2];d=b+8|0;if(c>>>0>=d>>>0){while(1){Rb(a,v[a+24>>2]+(b<<2)|0,v[a+20>>2],8);c=v[a+32>>2];b=d;d=b+8|0;if(c>>>0>=d>>>0){continue}break}}if(b>>>0>>0){Rb(a,v[a+24>>2]+(b<<2)|0,v[a+20>>2],c-b|0)}Ga(v[a>>2]);Ga(a)}function og(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=qa-16|0;qa=e;a:{if(v[a+100>>2]){Fa(d,1,21863,0);a=0;break a}if((c|0)!=4){Fa(d,1,9914,0);a=0;break a}Ia(b,e+12|0,4);if(v[e+12>>2]!=218793738){Fa(d,1,8490,0);a=0;break a}v[a+100>>2]=v[a+100>>2]|1;a=1}qa=e+16|0;return a|0}function Ra(a,b,c){var d=0,e=0;a:{d=v[a>>2];e=v[a+4>>2];b:{if((d|0)!=(e|0)){e=v[a+8>>2];break b}d=e+10|0;v[a+4>>2]=d;e=Pa(v[a+8>>2],d<<2);if(!e){break a}v[a+8>>2]=e;d=v[a>>2]}v[(d<<2)+e>>2]=b;v[a>>2]=d+1;return 1}Ga(v[a+8>>2]);v[a>>2]=0;v[a+4>>2]=0;Fa(c,1,10046,0);return 0}function qc(a){var b=0,c=0;b=Ka(1,72);if(b){v[b+64>>2]=1048576;c=La(1048576);v[b+32>>2]=c;if(!c){Ga(b);return 0}v[b+36>>2]=c;v[b+28>>2]=98;v[b+24>>2]=99;v[b+20>>2]=100;v[b+16>>2]=101;v[b+44>>2]=a?102:103;v[b+40>>2]=a?104:105;v[b+68>>2]=v[b+68>>2]|(a?2:1)}else{b=0}return b}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=v[a+20>>2]+8|0;c=Ka(1,d);if(c){Ha(c,d,4);Ha(c+4|0,1651532643,4);if(v[a+20>>2]){e=c+8|0;while(1){Ha(e,v[(v[a+72>>2]+B(f,12)|0)+8>>2],1);e=e+1|0;f=f+1|0;if(f>>>0>2]){continue}break}}v[b>>2]=d}return c|0}function ob(a,b){var c=0,d=0,e=0;c=v[a+16>>2];a:{if(c){break a}e=v[a+12>>2];c=e<<8&65280;v[a+12>>2]=c;c=(c|0)==65280?7:8;v[a+16>>2]=c;d=v[a+8>>2];if(d>>>0>=y[a+4>>2]){break a}v[a+8>>2]=d+1;t[d|0]=e;c=v[a+16>>2]}c=c-1|0;v[a+16>>2]=c;v[a+12>>2]=v[a+12>>2]|b<>>0<=1){e=0;Fa(d,1,7128,0);break a}Ia(b,a+12|0,1);Ia(b+1|0,a+8|0,1);b=v[a+8>>2];if(!((c-2>>>0)%(((b>>>5&2)+(b>>>4&3)|0)+2>>>0)|0)){break a}e=0;Fa(d,1,7128,0)}qa=a+16|0;return e|0}function qb(a,b,c){var d=0,e=0,f=0,g=0;if(b){while(1){c=c-1|0;e=a;a=ri(a,b,10,0);d=ta;f=c,g=e-pi(a,d,10,0)|48,t[f|0]=g;e=b>>>0>9;b=d;if(e){continue}break}}if(a){while(1){c=c-1|0;b=(a>>>0)/10|0;t[c|0]=a-B(b,10)|48;d=a>>>0>9;a=b;if(d){continue}break}}return c}function Zb(a){var b=0,c=0,d=0;c=qa-16|0;qa=c;t[c+15|0]=10;b=v[a+16>>2];a:{if(!b){if(_b(a)){break a}b=v[a+16>>2]}d=b;b=v[a+20>>2];if(!((d|0)==(b|0)|v[a+80>>2]==10)){v[a+20>>2]=b+1;t[b|0]=10;break a}if((ua[v[a+36>>2]](a,c+15|0,1)|0)!=1){break a}}qa=c+16|0}function Ae(a){a=a|0;var b=0,c=0,d=0;b=ib(3215);if(b>>>0<2147483632){a:{b:{if(b>>>0>=11){c=(b|15)+1|0;d=Na(c);v[a+8>>2]=c|-2147483648;v[a>>2]=d;v[a+4>>2]=b;c=b+d|0;a=d;break b}t[a+11|0]=b;c=a+b|0;if(!b){break a}}fb(a,3215,b)}t[c|0]=0;return}rc(1987);p()}function ib(a){var b=0,c=0,d=0;b=a;a:{if(b&3){while(1){if(!w[b|0]){break a}b=b+1|0;if(b&3){continue}break}}while(1){c=b;b=b+4|0;d=v[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){b=c;c=b+1|0;if(w[b|0]){continue}break}}return b-a|0}function hd(a,b,c,d){var e=0,f=0,g=0;v[a+28>>2]=c;v[a+24>>2]=b;e=Ka(1,848);v[v[a+20>>2]>>2]=e;a:{if(!e){break a}e=Ka(v[b+16>>2],76);f=v[v[a+20>>2]>>2];v[f+20>>2]=e;if(!e){break a}v[f+16>>2]=v[b+16>>2];b=v[c+84>>2];v[a+44>>2]=d;v[a>>2]=b;g=1}return g}function Qc(a,b){var c=0,d=0,e=0;o(+a);d=j(1)|0;e=j(0)|0;c=d>>>20&2047;if((c|0)!=2047){if(!c){if(a==0){c=0}else{a=Qc(a*0x10000000000000000,b);c=v[b>>2]+-64|0}v[b>>2]=c;return a}v[b>>2]=c-1022;l(0,e|0);l(1,d&-2146435073|1071644672);a=+n()}return a}function Kd(){var a=0,b=0;T(29104,1160,29080,13,29082,14);a=Na(4);v[a>>2]=0;b=Na(4);v[b>>2]=0;P(29104,1128,48944,29085,15,a|0,48944,29089,16,b|0);a=Na(4);v[a>>2]=4;b=Na(4);v[b>>2]=4;P(29104,1099,48944,29085,15,a|0,48944,29089,16,b|0);S(29104)}function Dd(){var a=0,b=0;T(29120,2065,29080,17,29082,18);a=Na(4);v[a>>2]=0;b=Na(4);v[b>>2]=0;P(29120,1954,48944,29085,19,a|0,48944,29089,20,b|0);a=Na(4);v[a>>2]=4;b=Na(4);v[b>>2]=4;P(29120,1179,48944,29085,19,a|0,48944,29089,20,b|0);S(29120)}function Wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=qa-16|0;qa=d;if(c){while(1){tc(a,d+8|0);e=A[d+8>>3];a:{if(D(e)<2147483648){f=~~e;break a}f=-2147483648}v[b>>2]=f;b=b+4|0;a=a+8|0;g=g+1|0;if((g|0)!=(c|0)){continue}break}}qa=d+16|0}function $g(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=qa-16|0;qa=d;if(c){while(1){t[d+15|0]=w[a|0];t[d+14|0]=w[a+1|0];t[d+13|0]=w[a+2|0];t[d+12|0]=w[a+3|0];z[b>>2]=z[d+12>>2];b=b+4|0;a=a+4|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}qa=d+16|0}function db(a){var b=0,c=0,d=0;if(a){b=v[a+24>>2];if(b){c=v[a+16>>2];if(c){b=0;while(1){d=v[(v[a+24>>2]+B(b,52)|0)+44>>2];if(d){Ga(d);c=v[a+16>>2]}b=b+1|0;if(c>>>0>b>>>0){continue}break}b=v[a+24>>2]}Ga(b)}b=v[a+28>>2];if(b){Ga(b)}Ga(a)}}function wc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=qa-16|0;qa=e;f=b;b=v[a+4>>2];f=f+(b>>1)|0;a=v[a>>2];a=b&1?v[v[f>>2]+a>>2]:a;g=v[d+4>>2];b=v[d>>2];v[e>>2]=b;v[e+4>>2]=g;v[e+8>>2]=b;v[e+12>>2]=g;ua[a|0](f,c,e);qa=e+16|0}function Ib(a,b,c){var d=0,e=0,f=0;if(!c){return 0}d=w[a|0];a:{if(!d){break a}while(1){b:{e=w[b|0];if(!e){break b}c=c-1|0;if(!c|(d|0)!=(e|0)){break b}b=b+1|0;d=w[a+1|0];a=a+1|0;if(d){continue}break a}break}f=d}return(f&255)-w[b|0]|0}function ig(){var a=0;a=Na(88);v[a>>2]=0;v[a+4>>2]=0;v[a+44>>2]=0;v[a+48>>2]=0;v[a+84>>2]=1;v[a+16>>2]=0;v[a+20>>2]=0;v[a+8>>2]=0;v[a+12>>2]=0;v[a+52>>2]=0;v[a+56>>2]=0;v[a+60>>2]=0;v[a+64>>2]=0;v[a+68>>2]=0;v[a+72>>2]=0;return a|0}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;a:{b=v[v[v[a+156>>2]+5584>>2]+4>>2];if(b-33>>>0<4294967264){break a}b=1<>>0>y[a+92>>2]|b>>>0>y[a+96>>2]){break a}return!v[a+8>>2]&v[a+192>>2]!=0&v[a+196>>2]!=0}Fa(c,1,5949,0);return 0}function wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(c){while(1){d=v[a>>2];d=d<<24|(d&65280)<<8|(d>>>8&65280|d>>>24);t[b|0]=d;t[b+1|0]=d>>>8;t[b+2|0]=d>>>16;t[b+3|0]=d>>>24;b=b+4|0;a=a+4|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}}function Te(a){a=a|0;var b=0;if(a){b=v[a+100>>2];if(b){v[a+104>>2]=b;Ga(b)}b=v[a+56>>2];if(b){v[a+60>>2]=b;Ga(b)}b=v[a+40>>2];if(b){v[a+44>>2]=b;Ga(b)}b=v[a+12>>2];if(b){v[a+16>>2]=b;Ga(b)}b=v[a>>2];if(b){v[a+4>>2]=b;Ga(b)}Ga(a)}}function Nc(a){var b=0,c=0,d=0;if(t[v[a>>2]]-48>>>0>=10){return 0}while(1){d=v[a>>2];c=-1;if(b>>>0<=214748364){c=t[d|0]-48|0;b=B(b,10);c=(c|0)>(b^2147483647)?-1:c+b|0}v[a>>2]=d+1;b=c;if(t[d+1|0]-48>>>0<10){continue}break}return b}function qi(a,b,c,d){var e=0,f=0,g=0,h=0;f=b^d;g=f>>31;e=b>>31;a=a^e;h=a-e|0;e=(b^e)-((a>>>0>>0)+e|0)|0;a=d>>31;b=c^a;f=f>>31;a=ri(h,e,b-a|0,(a^d)-((a>>>0>b>>>0)+a|0)|0)^f;b=a-f|0;ta=(g^ta)-((a>>>0>>0)+g|0)|0;return b}function Pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=qa-16|0;qa=d;e=v[a>>2];f=d+8|0;a=v[a+4>>2];b=(a>>1)+b|0;if(a&1){e=v[e+v[b>>2]>>2]}ua[e|0](f,b,c);a=Na(8);b=v[d+12>>2];v[a>>2]=v[d+8>>2];v[a+4>>2]=b;qa=d+16|0;return a|0}function vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=qa-16|0;qa=d;e=b;b=v[a+4>>2];e=e+(b>>1)|0;a=v[a>>2];a=b&1?v[v[e>>2]+a>>2]:a;f=v[c+4>>2];b=v[c>>2];v[d>>2]=b;v[d+4>>2]=f;v[d+8>>2]=b;v[d+12>>2]=f;ua[a|0](e,d);qa=d+16|0}function kd(a){var b=0,c=0,d=0;b=v[a+12>>2];a:{if((b&255)==255){b=b<<8&65280;v[a+12>>2]=b;v[a+16>>2]=(b|0)==65280?7:8;c=v[a+8>>2];d=0;if(c>>>0>=y[a+4>>2]){break a}v[a+8>>2]=c+1;v[a+12>>2]=b|w[c|0]}v[a+16>>2]=0;d=1}return d}function kc(a,b,c,d,e){if(c>>>0<=11){Fa(e,1,6604,0);return 0}Ha(b,65424,2);Ha(b+2|0,10,2);Ha(b+4|0,v[a+204>>2],2);Ha(b+10|0,v[a+12>>2],1);Ha(b+11|0,v[(v[a+156>>2]+B(v[a+204>>2],5644)|0)+5592>>2],1);v[d>>2]=12;return 1}function jb(a){var b=0,c=0,d=0,e=0;if(a){b=v[a+20>>2];c=v[a+16>>2];if(B(b,c)){while(1){e=v[v[a+24>>2]+(d<<2)>>2];if(e){Ga(e);c=v[a+16>>2];b=v[a+20>>2]}d=d+1|0;if(d>>>0>>0){continue}break}}Ga(v[a+24>>2]);Ga(a)}}function pi(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=B(e,f);g=c&65535;h=a&65535;i=B(g,h);f=(i>>>16|0)+B(f,g)|0;e=(f&65535)+B(e,h)|0;ta=(B(b,c)+j|0)+B(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function le(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(d){while(1){e=f<<2;g=e+a|0;h=c+e|0;i=v[h>>2];j=b+e|0;k=v[j>>2];e=v[g>>2]-(i+k>>2)|0;v[g>>2]=e+i;v[j>>2]=e;v[h>>2]=e+k;f=f+1|0;if((f|0)!=(d|0)){continue}break}}}function hi(a,b){a=a|0;b=b|0;b=v[a+28>>2];if(b>>>0>2]){while(1){ua[v[a+36>>2]](v[a+24>>2]+(B(v[a+20>>2],b)<<2)|0,v[a>>2],v[a+16>>2],!v[a+12>>2]);b=b+1|0;if(b>>>0>2]){continue}break}}Ga(v[a>>2]);Ga(a)}function Hb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;v[a+48>>2]=0;v[a+36>>2]=v[a+32>>2];e=ua[v[a+28>>2]](b,c,v[a>>2])|0;d=v[a+68>>2];if(!e){v[a+68>>2]=d|4;return 0}v[a+56>>2]=b;v[a+60>>2]=c;v[a+68>>2]=d&-5;return 1}function Ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=qa-16|0;qa=c;d=v[a>>2];e=c+8|0;a=v[a+4>>2];b=(a>>1)+b|0;if(a&1){d=v[d+v[b>>2]>>2]}ua[d|0](e,b);a=Na(8);b=v[c+12>>2];v[a>>2]=v[c+8>>2];v[a+4>>2]=b;qa=c+16|0;return a|0}function Je(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;b=qa-16|0;qa=b;ua[a|0](b);c=w[b+11|0];e=c<<24>>24;a=(e|0)<0;c=a?v[b+4>>2]:c;d=gb(c+4|0);v[d>>2]=c;f=v[b>>2];Ja(d+4|0,a?f:b,c);if((e|0)<0){Ga(f)}qa=b+16|0;return d|0}function Gc(a,b,c){var d=0;d=v[a+16>>2];if(!d){v[a+36>>2]=1;v[a+24>>2]=c;v[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(v[a+24>>2]!=2){break a}v[a+24>>2]=c;return}t[a+54|0]=1;v[a+24>>2]=2;v[a+36>>2]=v[a+36>>2]+1}}function od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=qa-16|0;qa=d;e=v[a>>2];f=d+8|0;a=v[a+4>>2];b=(a>>1)+b|0;if(a&1){e=v[e+v[b>>2]>>2]}ua[e|0](f,b,c);ba(v[d+8>>2]);a=v[d+8>>2];V(a|0);qa=d+16|0;return a|0}function Za(a,b,c,d,e){var f=0;f=qa-256|0;qa=f;if(!(e&73728|(c|0)<=(d|0))){d=c-d|0;c=d>>>0<256;Ma(f,b&255,c?d:256);if(!c){while(1){Xa(a,f,256);d=d-256|0;if(d>>>0>255){continue}break}}Xa(a,f,d)}qa=f+256|0}function yh(a,b,c){a=a|0;b=b|0;c=c|0;var d=C(0),e=0,f=0;if(c){while(1){d=z[a>>2];a:{if(d=C(0)){e=~~d>>>0;break a}e=0}Ha(b,e,2);b=b+2|0;a=a+4|0;f=f+1|0;if((f|0)!=(c|0)){continue}break}}}function xh(a,b,c){a=a|0;b=b|0;c=c|0;var d=C(0),e=0,f=0;if(c){while(1){d=z[a>>2];a:{if(d=C(0)){e=~~d>>>0;break a}e=0}Ha(b,e,4);b=b+4|0;a=a+4|0;f=f+1|0;if((f|0)!=(c|0)){continue}break}}}function xf(a,b){a=a|0;b=b|0;var c=0;c=v[a>>2];a=v[a+4>>2];b=(a>>1)+b|0;if(a&1){c=v[c+v[b>>2]>>2]}a=ua[c|0](b)|0;b=Na(8);c=x[a+4>>1]|x[a+6>>1]<<16;v[b>>2]=x[a>>1]|x[a+2>>1]<<16;v[b+4>>2]=c;return b|0}function rc(a){var b=0,c=0,d=0,e=0,f=0;b=Ic(8);v[b>>2]=49232;v[b>>2]=49344;c=ib(a);d=Na(c+13|0);v[d+8>>2]=0;v[d+4>>2]=c;v[d>>2]=c;e=b,f=Ja(d+12|0,a,c+1|0),v[e+4>>2]=f;v[b>>2]=49392;_(b|0,49424,3);p()}function Wb(a){var b=0;a:{b=a;a=ib(a);if((((Va(b,1,a,49608)|0)!=(a|0)?-1:0)|0)<0){break a}b:{if(v[12422]==10){break b}a=v[12407];if((a|0)==v[12406]){break b}v[12407]=a+1;t[a|0]=10;break a}Zb(49608)}}function ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;a:{if(v[a+208>>2]){break a}oc(v[a+212>>2]);v[a+212>>2]=0;if((b|0)>=0){b=xb(b);v[a+212>>2]=b;c=1;if(b){break a}}d=a,e=xb(0),v[d+212>>2]=e;c=0}return c|0}function gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=qa-16|0;qa=c;d=v[a>>2];e=c+8|0;a=v[a+4>>2];b=(a>>1)+b|0;if(a&1){d=v[d+v[b>>2]>>2]}ua[d|0](e,b);ba(v[c+8>>2]);a=v[c+8>>2];V(a|0);qa=c+16|0;return a|0}function rd(a,b,c){var d=0;d=qa-32|0;qa=d;gc(a,b,c,d+20|0,d+16|0,d+12|0,d+8|0,d+4|0,d,d+24|0,d+28|0,0);qa=d+32|0;return B(v[d+28>>2],B(v[a+16>>2],B(v[(v[b+76>>2]+B(c,5644)|0)+8>>2],v[d+24>>2])))}function Rf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=qa-16|0;qa=e;a=da(v[a+60>>2],b|0,c|0,d&255,e+8|0)|0;if(a){v[12458]=a;a=-1}else{a=0}qa=e+16|0;ta=a?-1:v[e+12>>2];return(a?-1:v[e+8>>2])|0}function _b(a){var b=0;b=v[a+72>>2];v[a+72>>2]=b-1|b;b=v[a>>2];if(b&8){v[a>>2]=b|32;return-1}v[a+4>>2]=0;v[a+8>>2]=0;b=v[a+44>>2];v[a+28>>2]=b;v[a+20>>2]=b;v[a+16>>2]=b+v[a+48>>2];return 0}function rh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=v[c+4>>2];e=v[c>>2]+v[c+8>>2]|0;if((d|0)==(e|0)){return-1}f=a;a=e-d|0;a=a>>>0>>0?a:b;Ja(f,d,a);v[c+4>>2]=a+v[c+4>>2];return a|0}function mb(a,b){var c=0,d=0;c=w[a|0];d=w[b|0];a:{if(!c|(c|0)!=(d|0)){break a}while(1){d=w[b+1|0];c=w[a+1|0];if(!c){break a}b=b+1|0;a=a+1|0;if((c|0)==(d|0)){continue}break}}return c-d|0}function Ah(a,b,c){a=a|0;b=b|0;c=c|0;b=id(0);v[a+208>>2]=b;if(!b){Fa(c,1,8228,0);return 0}if(hd(b,v[a+72>>2],a+80|0,v[a+212>>2])){a=1}else{Lb(v[a+208>>2]);v[a+208>>2]=0;a=0}return a|0}function bh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=qa-16|0;qa=d;if(c){while(1){Ia(a,d+12|0,2);z[b>>2]=y[d+12>>2];b=b+4|0;a=a+2|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}qa=d+16|0}function ah(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=qa-16|0;qa=d;if(c){while(1){Ia(a,d+12|0,4);z[b>>2]=y[d+12>>2];b=b+4|0;a=a+4|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}qa=d+16|0}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=qa-16|0;qa=d;if(c){while(1){Ia(a,d+12|0,2);v[b>>2]=v[d+12>>2];b=b+4|0;a=a+2|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}qa=d+16|0}function Yg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=qa-16|0;qa=d;if(c){while(1){Ia(a,d+12|0,4);v[b>>2]=v[d+12>>2];b=b+4|0;a=a+4|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}qa=d+16|0}function Rh(a,b,c){a=a|0;b=b|0;c=c|0;Lb(v[a+208>>2]);v[a+208>>2]=0;b=v[a+32>>2];if(b){Ga(b);v[a+32>>2]=0;v[a+36>>2]=0}b=v[a+44>>2];if(b){Ga(b);v[a+44>>2]=0}v[a+48>>2]=0;return 1}function Fc(a,b){var c=0;a:{if(!b){break a}b=bb(b,48740);if(!b|v[b+8>>2]&(v[a+8>>2]^-1)){break a}if(!Ya(v[a+12>>2],v[b+12>>2],0)){break a}c=Ya(v[a+16>>2],v[b+16>>2],0)}return c}function _g(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=qa-16|0;qa=d;if(c){while(1){tc(a,d+8|0);z[b>>2]=A[d+8>>3];b=b+4|0;a=a+8|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}qa=d+16|0}function gi(a,b){a=a|0;b=b|0;b=v[a+28>>2];if(b>>>0>2]){while(1){he(a,v[a+24>>2]+(B(v[a+20>>2],b)<<2)|0);b=b+1|0;if(b>>>0>2]){continue}break}}Ga(v[a>>2]);Ga(a)}function oe(a){var b=0,c=0;b=v[a+4>>2];if((b|0)>0){c=v[a>>2];a=0;while(1){if(!v[B(a,12)+c>>2]){return v[(B(a,12)+c|0)+4>>2]}a=a+1|0;if((b|0)!=(a|0)){continue}break}}return 0}function Sh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=v[a+200>>2];if(a){c=v[b+56>>2];d=v[a>>2];b=v[b+60>>2]-(v[a+4>>2]+(c>>>0>>0)|0)|0;v[a+16>>2]=c-d;v[a+20>>2]=b}return 1}function Gg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=qa-16|0;qa=a;d=a+4|0;Ha(d,12,4);Ha(a+8|0,1783636e3,4);Ha(a+12|0,218793738,4);b=Ua(b,d,12,c);qa=a+16|0;return(b|0)==12|0}function Qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=qa-16|0;qa=c;d=v[b+16>>2];b=v[b+12>>2];v[c+12>>2]=b;v[c+8>>2]=d-b;e=a,f=R(29300,c+8|0)|0,v[e>>2]=f;qa=c+16|0}function tc(a,b){t[b+7|0]=w[a|0];t[b+6|0]=w[a+1|0];t[b+5|0]=w[a+2|0];t[b+4|0]=w[a+3|0];t[b+3|0]=w[a+4|0];t[b+2|0]=w[a+5|0];t[b+1|0]=w[a+6|0];t[b|0]=w[a+7|0]}function Ee(a,b){a=a|0;b=b|0;var c=0,d=0;d=v[a+100>>2];c=v[a+104>>2]-d>>3;if(c>>>0>>0){uc(a+100|0,b-c|0);return}if(b>>>0>>0){v[a+104>>2]=(b<<3)+d}}function yf(a,b){a=a|0;b=b|0;var c=0,d=0;c=v[b+4>>2];d=v[b>>2]+v[b+8>>2]|0;if((c|0)==(d|0)){return-1}v[b+4>>2]=a+c;b=d-c|0;return(a>>>0>b>>>0?b:a)|0}function ti(a){var b=C(0),c=C(0);b=C(H(a));c=C(a-b);if(!(cC(.5)){return a}c=a;a=C(b*C(.5));b=C(a-C(H(a)))==C(0)?b:c}return b}function vf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Ya(a,v[b+8>>2],f)){Ec(b,c,d,e);return}a=v[a+8>>2];ua[v[v[a>>2]+20>>2]](a,b,c,d,e,f)}function Zc(a,b,c){a:{a=v[a+12>>2];if(!a){break a}a=a+(b<<4)|0;while(1){if(v[a+4>>2]<=(c|0)){break a}v[a+4>>2]=c;a=v[a>>2];if(a){continue}break}}}function Va(a,b,c,d){var e=0;e=B(b,c);a:{if(v[d+76>>2]<0){a=Yb(a,e,d);break a}a=Yb(a,e,d)}if((e|0)==(a|0)){return b?c:0}return(a>>>0)/(b>>>0)|0}function zg(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return wb(v[a>>2],b,c,d,e,f,g,h,i,j,k)|0}function Dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=v[b+60>>2];v[a+88>>2]=v[b+56>>2];v[a+92>>2]=d;a=ua[v[b+40>>2]](b,24,0,c)|0;return!ta&(a|0)==24}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=v[b+60>>2];v[a+80>>2]=v[b+56>>2];v[a+84>>2]=d;a=ua[v[b+40>>2]](b,8,0,c)|0;return!ta&(a|0)==8}function _f(a){a=a|0;var b=0;if(a){b=v[a+116>>2];if(b){Ga(b);v[a+116>>2]=0}b=v[a+120>>2];if(b){Ga(b);v[a+120>>2]=0}Ga(v[a+148>>2]);Ga(a)}} +function id(a){var b=0;b=Ka(1,72);if(!b){return 0}t[b+40|0]=w[b+40|0]&254|(a|0)!=0;a=Ka(1,4);v[b+20>>2]=a;if(a){return b}Ga(b);return 0}function $e(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=c;e=v[c>>2];c=v[c+8>>2];v[d+4>>2]=e+(a>>>0>>0&(b|0)<=0|(b|0)<0?a:c);return 1}function Be(a,b,c,d){a=a|0;b=b|0;c=c|0;d=C(d);var e=0;e=v[a>>2];a=v[a+4>>2];b=(a>>1)+b|0;if(a&1){e=v[e+v[b>>2]>>2]}ua[e|0](b,c,d)}function Kc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=v[a>>2];a=v[a+4>>2];b=(a>>1)+b|0;if(a&1){e=v[e+v[b>>2]>>2]}ua[e|0](b,c,d)}function Bf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Ya(a,v[b+8>>2],0)){Gc(b,c,d);return}a=v[a+8>>2];ua[v[v[a>>2]+28>>2]](a,b,c,d)}function Na(a){var b=0;a=a?a:1;a:{while(1){b=gb(a);if(b){break a}b=v[13188];if(b){ua[b|0]();continue}break}Y();p()}return b}function Hc(a){a=a|0;while(1){a=v[13191];if(a){v[13191]=v[a+8>>2];ua[v[a>>2]](v[a+4>>2]);Ga(a);continue}break}t[52757]=0}function Dc(a){a=a|0;var b=0,c=0;v[a>>2]=49344;b=v[a+4>>2]-12|0;c=v[b+8>>2]-1|0;v[b+8>>2]=c;if((c|0)<0){Ga(b)}return a|0}function Ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=v[a>>2];a=v[a+4>>2];b=(a>>1)+b|0;if(a&1){d=v[d+v[b>>2]>>2]}ua[d|0](b,c)}function zb(a,b){a=a|0;b=b|0;var c=0;c=v[a>>2];a=v[a+4>>2];b=(a>>1)+b|0;if(a&1){c=v[c+v[b>>2]>>2]}return ua[c|0](b)|0}function gh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(v[v[a+72>>2]+16>>2]<<2!=(c|0)){Fa(d,1,7282,0);a=0}else{a=1}return a|0}function Cg(a){a=a|0;var b=0;if(a){b=v[a+12>>2];if(b){v[a+16>>2]=b;Ga(b)}b=v[a>>2];if(b){v[a+4>>2]=b;Ga(b)}Ga(a)}}function fe(a,b){a=a|0;b=b|0;if(!(!a|!b)){v[a+164>>2]=v[b+4>>2];v[a+160>>2]=v[b>>2];v[a+224>>2]=v[b+8248>>2]&2}}function Ya(a,b,c){if(!c){return v[a+4>>2]==v[b+4>>2]}if((a|0)==(b|0)){return 1}return!mb(v[a+4>>2],v[b+4>>2])}function sb(){var a=0,b=0;a=Ka(1,12);if(a){v[a+4>>2]=10;b=Ka(10,4);v[a+8>>2]=b;if(b){return a}Ga(a)}return 0}function Wc(a,b){a=a|0;b=b|0;var c=0;c=v[a>>2];a=v[a+4>>2];b=(a>>1)+b|0;if(a&1){c=v[c+v[b>>2]>>2]}ua[c|0](b)}function nb(a){var b=0;b=qa-16|0;qa=b;if(a){a=Jc(b+12|0,32,a);a=a?0:v[b+12>>2]}else{a=0}qa=b+16|0;return a}function Ta(a){var b=0;b=qa-16|0;qa=b;if(a){a=Jc(b+12|0,16,a);a=a?0:v[b+12>>2]}else{a=0}qa=b+16|0;return a}function Bh(a,b,c){a=a|0;b=b|0;c=c|0;c=v[b+60>>2];a=v[a+200>>2];v[a+8>>2]=v[b+56>>2];v[a+12>>2]=c;return 1}function Uf(a){a=a|0;var b=0,c=0;a=v[a+4>>2];b=ib(a)+1|0;c=gb(b);if(c){a=Ja(c,a,b)}else{a=0}return a|0}function vg(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ae(v[a>>2],b,c,d,e,f,g)|0}function De(a,b,c){a=a|0;b=b|0;c=c|0;a=v[a+100>>2]+(b<<3)|0;b=v[c+4>>2];v[a>>2]=v[c>>2];v[a+4>>2]=b}function Ke(a,b,c){a=a|0;b=b|0;c=c|0;a=v[a+56>>2]+(b<<3)|0;b=v[c+4>>2];v[a>>2]=v[c>>2];v[a+4>>2]=b}function Gb(a){var b=0;if(a){b=v[a+4>>2];if(b){ua[b|0](v[a>>2])}Ga(v[a+32>>2]);v[a+32>>2]=0;Ga(a)}}function Sf(){var a=0;a=v[12455];if(a){while(1){ua[v[a>>2]]();a=v[a+4>>2];if(a){continue}break}}}function Qh(a,b,c){a=a|0;b=b|0;c=c|0;b=v[a+52>>2];if(b){Ga(b);v[a+52>>2]=0}v[a+56>>2]=0;return 1}function uf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Ya(a,v[b+8>>2],f)){Ec(b,c,d,e)}}function Oe(a,b){a=a|0;b=b|0;v[a+32>>2]=b;b=v[a+100>>2];if((b|0)!=v[a+104>>2]){v[a+104>>2]=b}}function yg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Id(v[a>>2],b,c,d,e,f)|0}function xg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Fb(v[a>>2],b,c,d,e,f)|0}function pc(){var a=0;a=Ic(4);v[a>>2]=49232;v[a>>2]=49192;v[a>>2]=49212;_(a|0,49324,4);p()}function Mh(a,b,c){a=a|0;b=b|0;c=c|0;a=v[a+52>>2];Ha(a,65359,2);return(Ua(b,a,2,c)|0)==2|0}function kh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(c){a=1}else{Fa(d,1,7193,0);a=0}return a|0}function Yf(a,b,c){a=a|0;b=b|0;c=c|0;Ja(v[c+4>>2],a,b);v[c+4>>2]=v[c+4>>2]+b;return b|0} +function Jc(a,b,c){var d=0;if(b&3){a=22}else{d=a;a=Ab(b,c);v[d>>2]=a;a=a?0:12}return a}function ze(a,b){a=a|0;b=b|0;b=qa-16|0;qa=b;v[b>>2]=a;Sa(v[11825],1403,b);qa=b+16|0}function ye(a,b){a=a|0;b=b|0;b=qa-16|0;qa=b;v[b>>2]=a;Sa(v[11825],1382,b);qa=b+16|0}function _h(a,b,c){a=a|0;b=b|0;c=c|0;return!v[a+8>>2]&v[a+192>>2]!=0&v[a+196>>2]!=0}function Eb(a){if(a){ua[v[(v[a+76>>2]?20:16)+a>>2]](v[a+48>>2]);v[a+48>>2]=0;Ga(a)}}function Sg(a,b){a=a|0;b=b|0;fe(v[a>>2],b);t[a+124|0]=0;v[a+128>>2]=v[b+8248>>2]&1}function Ka(a,b){var c=0;if(!(!a|!b)){a=B(a,b);c=Ab(8,a);if(c){Ma(c,0,a)}}return c}function df(a,b){a=a|0;b=b|0;var c=0;c=v[b+48>>2];v[a>>2]=v[b+44>>2];v[a+4>>2]=c}function cf(a,b){a=a|0;b=b|0;var c=0;c=v[b+56>>2];v[a>>2]=v[b+52>>2];v[a+4>>2]=c}function bf(a,b){a=a|0;b=b|0;var c=0;c=v[b+64>>2];v[a>>2]=v[b+60>>2];v[a+4>>2]=c}function af(a,b){a=a|0;b=b|0;var c=0;c=v[b+72>>2];v[a>>2]=v[b+68>>2];v[a+4>>2]=c}function Ie(a,b){a=a|0;b=b|0;var c=0;c=v[b+4>>2];v[a+68>>2]=v[b>>2];v[a+72>>2]=c}function He(a,b){a=a|0;b=b|0;var c=0;c=v[b+4>>2];v[a+76>>2]=v[b>>2];v[a+80>>2]=c}function Ge(a,b){a=a|0;b=b|0;var c=0;c=v[b+4>>2];v[a+84>>2]=v[b>>2];v[a+88>>2]=c}function Fe(a,b){a=a|0;b=b|0;var c=0;c=v[b+4>>2];v[a+92>>2]=v[b>>2];v[a+96>>2]=c}function hf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ua[a|0](b,c,d,e)|0}function gf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ua[a|0](b,c,d,e)|0}function ui(a){var b=0;while(1){if(a){a=a-1&a;b=b+1|0;continue}break}return b}function Cf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Ya(a,v[b+8>>2],0)){Gc(b,c,d)}}function Xb(a,b){var c=0;c=qa-16|0;qa=c;v[c+12>>2]=b;Vb(49608,a,b);qa=c+16|0}function Ye(a,b){a=a|0;b=b|0;b=qa-16|0;qa=b;v[b>>2]=a;Xb(1393,b);qa=b+16|0}function Xe(a,b){a=a|0;b=b|0;b=qa-16|0;qa=b;v[b>>2]=a;Xb(1403,b);qa=b+16|0}function We(a,b){a=a|0;b=b|0;b=qa-16|0;qa=b;v[b>>2]=a;Xb(1382,b);qa=b+16|0}function Sa(a,b,c){var d=0;d=qa-16|0;qa=d;v[d+12>>2]=c;Vb(a,b,c);qa=d+16|0}function tb(a){var b=0;if(a){b=v[a+12>>2];if(b){Ga(b);v[a+12>>2]=0}Ga(a)}}function wg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return be(v[a>>2],b,c,d)|0}function cc(a,b){var c=0;c=Ka(1,8);if(c){v[c+4>>2]=b;v[c>>2]=a}return c}function kf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua[a|0](b,c,d)|0}function jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua[a|0](b,c,d)|0}function tf(a){a=a|0;if(!a){return 0}return(bb(a,48628)|0)!=0|0}function Ce(a,b,c){a=a|0;b=b|0;c=C(c);z[v[a+40>>2]+(b<<2)>>2]=c}function Jd(){var a=0;a=Na(8);v[a>>2]=0;v[a+4>>2]=0;return a|0}function qg(a,b,c){a=a|0;b=b|0;c=c|0;return Td(v[a>>2],b,c)|0}function pg(a,b,c){a=a|0;b=b|0;c=c|0;return Rd(v[a>>2],b,c)|0}function Og(a,b,c){a=a|0;b=b|0;c=c|0;return Qd(v[a>>2],b,c)|0}function Vg(a){a=a|0;return C(C(B(v[a+5592>>2],14)-14>>>0))}function Rg(a,b){a=a|0;b=b|0;a=v[a>>2];if(a){v[a+184>>2]=b}}function Jb(a){var b=0;if(a){b=v[a+8>>2];if(b){Ga(b)}Ga(a)}}function Lf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ta=0;return 0}function rb(a,b,c,d,e,f,g,h){return Vc(a,b,c,d,e,f,g,h,0)}function pe(){var a=0;a=Ka(1,24);if(!a){return 0}return a}function Kf(a,b,c){a=a|0;b=b|0;c=c|0;v[a+84>>2]=c;zc(a,b)}function Ff(a,b,c){a=a|0;b=b|0;c=c|0;return Ya(a,b,0)|0}function Xh(a,b,c){a=a|0;b=b|0;c=c|0;u[v[a>>2]+b>>1]=c}function Ed(a,b,c){a=a|0;b=b|0;c=c|0;v[v[a>>2]+b>>2]=c}function hc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 1}function Md(a,b,c){a=a|0;b=b|0;c=c|0;t[v[a>>2]+b|0]=c}function wi(a){if(a){return 31-E(a-1^a)|0}return 32} +function tg(a,b,c){a=a|0;b=b|0;c=c|0;_d(v[a>>2],b,c)}function mi(a){a=a|0;ua[v[a>>2]](v[a+4>>2]);return 0}function we(a,b,c){a=a|0;b=b|0;c=c|0;ta=-1;return-1}function Qg(a,b){a=a|0;b=b|0;return ee(v[a>>2],b)|0}function Gd(a,b){a=a|0;b=b|0;return v[v[a>>2]+b>>2]}function $h(a,b){a=a|0;b=b|0;return x[v[a>>2]+b>>1]}function cb(a,b,c,d,e,f,g,h){Vc(a,b,c,d,e,f,g,h,1)}function Sd(a,b){a=a|0;b=b|0;return w[v[a>>2]+b|0]}function ai(a,b){a=a|0;b=b|0;if(a){v[a+184>>2]=b}}function lf(a){a=a|0;a=qa-a&-16;qa=a;return a|0}function Bc(a,b,c,d){ea(a|0,b|0,8,0,c|0,-1,d|0)}function si(a,b,c){oi(a,0,b,c);ta=sa;return ra}function Xa(a,b,c){if(!(w[a|0]&32)){Yb(b,c,a)}}function xe(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function sc(a,b,c){a=a|0;b=b|0;c=c|0;return-1}function mc(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function Of(a){a=a|0;return ja(v[a+60>>2])|0}function ri(a,b,c,d){a=oi(a,b,c,d);return a}function La(a){if(!a){return 0}return gb(a)}function $a(a){if(v[a+12>>2]){v[a+40>>2]=0}}function sg(a){a=a|0;return Xd(v[a>>2])|0}function rg(a){a=a|0;return Yd(v[a>>2])|0}function Mf(a){a=a|0;v[a+84>>2]=0;zc(a,0)}function Le(a,b){a=a|0;b=b|0;v[a+52>>2]=b}function Bb(a){if(a){Ga(v[a+8>>2]);Ga(a)}}function ed(a,b,c){return dd(a,b,1,52,c)}function Ue(){ca(1762,1,28980,29056,1,2)}function td(a){a=a|0;return ua[a|0]()|0}function of(a){a=a|0;return v[a+32>>2]}function ef(a){a=a|0;return v[a+40>>2]}function _e(a){a=a|0;return v[a+76>>2]}function Ze(a){a=a|0;return v[a+80>>2]}function Ic(a){return gb(a+80|0)+80|0} +function pf(a){a=a|0;return v[a+4>>2]}function gb(a){a=a|0;return Ab(8,a)|0}function ff(a){a=a|0;return w[a+36|0]}function Ug(a){a=a|0;return C(C(0))}function Ef(a){a=a|0;return a+24|0}function ab(a){a=a|0;if(a){Ga(a)}}function Ve(a){a=a|0;return 29448}function Ng(a){a=a|0;return 29144}function sf(a){a=a|0;return 1747}function rf(a){a=a|0;return 2375}function qf(a){a=a|0;return 1832}function ni(a){a=a|0;V(v[12440])}function Vb(a,b,c){Pc(a,b,c,0,0)}function Cc(a){a=a|0;Dc(a);Ga(a)}function Tc(a){a=a|0;return a|0}function yb(){return Ka(1,36)}function Nf(a){a=a|0;return 0}function se(a,b){a=a|0;b=b|0}function lb(){rc(1416);p()}function Gf(a){a=a|0;Hc(0)}function nf(){return qa|0}function mf(a){a=a|0;qa=a}function ac(a){a=a|0}function Oa(a){Ga(a)} +// EMSCRIPTEN_END_FUNCS +e=w;var ua=c([null,Je,Ae,Dc,Tc,Jd,ab,$h,Xh,Sd,Md,Sd,Md,Jd,ab,Gd,Ed,Jd,ab,Gd,Ed,Ng,Cg,td,ig,ag,od,Xf,gd,ac,Wc,Tf,Pf,Mf,Kf,Kc,Ef,xf,of,zb,ff,zb,ef,zb,df,Ac,cf,Ac,bf,af,_e,zb,Ze,zb,ni,Ye,Xe,We,rh,yf,$e,Ve,Te,td,Se,Re,od,Qe,gd,Pe,Wc,Oe,Ne,Me,Kc,Le,Ke,wc,Ie,vc,He,vc,Ge,Fe,Ee,De,wc,Ce,Be,ze,ye,Yf,Ue,me,Kd,Dd,yd,xc,xe,we,sc,sc,Hb,ve,ue,te,se,li,mi,ki,ji,ii,hi,gi,fi,ei,di,ci,bi,mc,_h,Zh,Yh,Wh,Vh,Uh,Th,Sh,Rh,Qh,mc,Ph,Oh,Nh,Mh,Lh,Kh,Jh,Ih,Hh,Gh,Fh,Eh,Dh,Ch,Bh,Ah,zh,Vg,Ug,yh,xh,wh,vh,uh,th,sh,qh,ph,oh,nh,mh,lh,kh,jh,ih,hh,gh,hc,fh,eh,hc,hc,dh,ch,bh,ah,$g,_g,Zg,Yg,Xg,Wg,Lg,Jg,Hg,Gg,Fg,Eg,Dg,Bg,eg,dg,cg,bg,og,ng,mg,lg,kg,jg,hg,gg,fg,Xd,Yd,_d,mc,Wd,ai,fe,Ob,ce,ee,be,Td,Ud,ae,Fb,wb,sg,rg,tg,Mg,Tg,Qg,wg,qg,ug,vg,Rg,Sg,ud,xg,zg,Ag,Nd,Qd,Rd,de,Id,Ld,Kg,Og,pg,Pg,yg,Ig,$f,_f,Zf,Wf,Vf,Uc,Of,Qf,Rf,Nf,Lf,Jf,If,Hf,Gf,Hc,Tc,Oa,ac,ac,Ff,Oa,Df,uf,wf,Cf,Oa,vf,zf,Bf,Oa,Af,Oa,rf,Oa,qf,Oa,sf,Cc,pf,Cc]);function va(){return s.byteLength/65536|0}function Aa(Ba){Ba=Ba|0;var wa=va()|0;var xa=wa+Ba|0;if(wa=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||52428800;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var memoryInitializer="openjpegjs.js.mem";var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="openjpegjs.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;runMemoryInitializer();wasmTable=Module["asm"]["I"];addOnInit(Module["asm"]["G"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync().catch(readyPromiseReject);return{}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function __embind_finalize_value_object(structType){var reg=structRegistrations[structType];delete structRegistrations[structType];var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;var fieldRecords=reg.fields;var fieldTypes=fieldRecords.map(field=>field.getterReturnType).concat(fieldRecords.map(field=>field.setterArgumentType));whenDependentTypesAreResolved([structType],fieldTypes,fieldTypes=>{var fields={};fieldRecords.forEach((field,i)=>{var fieldName=field.fieldName;var getterReturnType=fieldTypes[i];var getter=field.getter;var getterContext=field.getterContext;var setterArgumentType=fieldTypes[i+fieldRecords.length];var setter=field.setter;var setterContext=field.setterContext;fields[fieldName]={read:ptr=>{return getterReturnType["fromWireType"](getter(getterContext,ptr))},write:(ptr,o)=>{var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,o));runDestructors(destructors)}}});return[{name:reg.name,"fromWireType":function(ptr){var rv={};for(var i in fields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);return rv},"toWireType":function(destructors,o){for(var fieldName in fields){if(!(fieldName in o)){throw new TypeError('Missing field: "'+fieldName+'"')}}var ptr=rawConstructor();for(fieldName in fields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:rawDestructor}]})}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i>2])}return array}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError("Cannot call "+name+" due to unbound types",argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn),argCount-1);return[]})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}function emval_get_global(){if(typeof globalThis=="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return Emval.toHandle(emval_get_global())}else{name=getStringOrSymbol(name);return Emval.toHandle(emval_get_global()[name])}}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;iHEAPU32;var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n"+" var HEAPU32 = getMemory();\n";for(var i=0;i>2)], 'parameter "+i+"');\n"+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"+"argTypes += 4;\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return valueToHandle(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","valueToHandle","getMemory",functionBody)(requireRegisteredType,Module,Emval.toHandle,getMemory)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=Emval.toValue(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_take_value(type,arg){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)}function _abort(){abort("")}function getHeapMax(){return 2147483648}function _emscripten_get_heap_max(){return getHeapMax()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function 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}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var SYSCALLS={varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){return 52}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){return 70}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0}function getCFunc(ident){var func=Module["_"+ident];return func}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,1024);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=()=>{readAsync(memoryInitializer,applyMemoryInitializer,function(){var e=new Error("could not load memory initializer "+memoryInitializer);readyPromiseReject(e)})};if(Module["memoryInitializerRequest"]){var useRequest=()=>{var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); + + + return OpenJPEGJS.ready +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = OpenJPEGJS; +else if (typeof define === 'function' && define['amd']) + define([], function() { return OpenJPEGJS; }); +else if (typeof exports === 'object') + exports["OpenJPEGJS"] = OpenJPEGJS; diff --git a/extension/codec-openjpeg/openjpegjs.js.mem b/extension/codec-openjpeg/openjpegjs.js.mem new file mode 100644 index 0000000..b2f9689 Binary files /dev/null and b/extension/codec-openjpeg/openjpegjs.js.mem differ diff --git a/extension/codec-openjpeg/openjpegjs_decode.js b/extension/codec-openjpeg/openjpegjs_decode.js new file mode 100644 index 0000000..a65c81b --- /dev/null +++ b/extension/codec-openjpeg/openjpegjs_decode.js @@ -0,0 +1,36 @@ +var OpenJPEGJS = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(OpenJPEGJS) { + OpenJPEGJS = OpenJPEGJS || {}; + +var Module=typeof OpenJPEGJS!="undefined"?OpenJPEGJS:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err("exiting due to exception: "+toLog)}if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",function(reason){throw reason});quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}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(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};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=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536)},Module:function(binary){},Instance:function(module,info){this.exports=( +// EMSCRIPTEN_START_ASM +function instantiate(Da){function c(d){d.set=function(a,b){this[a]=b};d.get=function(a){return this[a]};return d}var e;var f=new ArrayBuffer(16);var g=new Int32Array(f);var h=new Float32Array(f);var i=new Float64Array(f);function j(k){return g[k]}function l(k,m){g[k]=m}function n(){return i[0]}function o(m){i[0]=m}function p(){throw new Error("abort")}function Ba(Ca){var q=Ca.a;var r=q.a;var s=r.buffer;r.grow=za;var t=new Int8Array(s);var u=new Int16Array(s);var v=new Int32Array(s);var w=new Uint8Array(s);var x=new Uint16Array(s);var y=new Uint32Array(s);var z=new Float32Array(s);var A=new Float64Array(s);var B=Math.imul;var C=Math.fround;var D=Math.abs;var E=Math.clz32;var F=Math.min;var G=Math.max;var H=Math.floor;var I=Math.ceil;var J=Math.trunc;var K=Math.sqrt;var L=NaN;var M=Infinity;var N=q.b;var O=q.c;var P=q.d;var Q=q.e;var R=q.f;var S=q.g;var T=q.h;var U=q.i;var V=q.j;var W=q.k;var X=q.l;var Y=q.m;var Z=q.n;var _=q.o;var $=q.p;var aa=q.q;var ba=q.r;var ca=q.s;var da=q.t;var ea=q.u;var fa=q.v;var ga=q.w;var ha=q.x;var ia=q.y;var ja=q.z;var ka=q.A;var la=q.B;var ma=q.C;var na=q.D;var oa=q.E;var pa=97840;var qa=0;var ra=0;var sa=0; +// EMSCRIPTEN_START_FUNCS +function Me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,A=0,D=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=C(0),_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,qa=0,ra=0,sa=0;W=pa-96|0;pa=W;M=v[a+8>>2];a:{b:{c:{if(!v[a>>2]){f=B(v[M+16>>2]-v[M+8>>2]|0,v[M+20>>2]-v[M+12>>2]|0)<<2;d=Pa(f);v[M+60>>2]=d;if(!d){Ea(v[a+32>>2],1,9030,0);l=a+28|0;break b}Ka(d,0,f);break c}d=v[M+60>>2];if(!d){break c}Fa(d);v[M+60>>2]=0}if(!v[v[a+28>>2]>>2]){break a}ba=v[a+16>>2];d=(B(v[ba+24>>2],152)+v[ba+28>>2]|0)-152|0;qa=v[d>>2];ra=v[d+8>>2];ca=v[a+20>>2];da=v[a+12>>2];ka=v[a+4>>2];l=a+28|0;d:{h=v[b+4>>2];e:{if((h|0)>0){f=v[b>>2];d=0;while(1){k=f+B(d,12)|0;e=v[k+4>>2];if(!v[k>>2]){break e}d=d+1|0;if((h|0)!=(d|0)){continue}break}}e=0}if(e){break d}e=Ia(1,156);if(!e){Ea(v[a+32>>2],1,7377,0);break b}v[e+140>>2]=0;d=0;h=v[b+4>>2];f:{if((h|0)!=2147483647){f=v[b>>2];if((h|0)>0){while(1){if(!v[f+B(d,12)>>2]){d=B(d,12);h=d+f|0;k=v[h+8>>2];if(k){ta[k|0](v[h+4>>2]);f=v[b>>2]}b=f+d|0;v[b+8>>2]=155;v[b+4>>2]=e;f=1;break f}d=d+1|0;if((h|0)!=(d|0)){continue}break}}d=Oa(f,B(h,12)+12|0);f=0;if(!d){break f}v[b>>2]=d;f=v[b+4>>2];d=d+B(f,12)|0;v[d+8>>2]=155;v[d+4>>2]=e;v[d>>2]=0;v[b+4>>2]=f+1;f=1}else{f=0}}if(f){break d}Ea(v[a+32>>2],1,9345,0);b=v[e+116>>2];if(b){Fa(b);v[e+116>>2]=0}b=v[e+120>>2];if(b){Fa(b);v[e+120>>2]=0}Fa(v[e+148>>2]);Fa(e);break b}v[e+144>>2]=v[a+24>>2];$=v[a+40>>2];V=v[a+36>>2];S=v[a+32>>2];F=v[ca+808>>2];b=v[da+16>>2];g:{U=v[ca+16>>2];h:{if(U&64){A=pa-304|0;pa=A;i:{if(F){if(V){Ea(S,1,4316,0);break i}Ea(S,1,4316,0);break i}h=v[e+116>>2];d=v[M+20>>2]-v[M+12>>2]|0;f=v[M+16>>2]-v[M+8>>2]|0;b=B(d,f);j:{k:{if(b>>>0>y[e+132>>2]){Fa(h);G=b<<2;h=Pa(G);v[e+116>>2]=h;if(!h){break i}v[e+132>>2]=b;break k}if(!h){break j}G=b<<2}Ka(h,0,G)}h=v[e+120>>2];l:{if(y[e+136>>2]>2639){break l}Fa(h);h=Pa(10560);v[e+120>>2]=h;if(h){break l}break i}v[e+136>>2]=2640;Ka(h,0,10560);v[e+128>>2]=d;v[e+124>>2]=f;k=v[M+24>>2];if(!k){c=1;break i}q=v[M+28>>2];m:{n:{o:{p:{q:{d=v[M+52>>2];if(d){b=v[M+4>>2];G=0;h=0;if(d>>>0>=4){n=d&-4;while(1){f=c<<3;h=v[(b+(f|24)|0)+4>>2]+(v[(b+(f|16)|0)+4>>2]+(v[(b+(f|8)|0)+4>>2]+(v[(b+f|0)+4>>2]+h|0)|0)|0)|0;c=c+4|0;g=g+4|0;if((n|0)!=(g|0)){continue}break}}f=d&3;if(f){while(1){h=v[(b+(c<<3)|0)+4>>2]+h|0;c=c+1|0;G=G+1|0;if((f|0)!=(G|0)){continue}break}}if(!v[e+144>>2]&d>>>0<=1){break p}if(y[e+152>>2]>>0){break q}break o}if(v[e+144>>2]){break o}c=1;break i}G=Oa(v[e+148>>2],h);if(!G){c=0;break i}v[e+152>>2]=h;v[e+148>>2]=G;d=v[M+52>>2];break n}c=1;if((d|0)!=1){break i}G=v[v[M+4>>2]>>2];break m}G=v[e+148>>2]}if(!d){h=0;break m}f=v[M+4>>2];h=0;c=0;while(1){b=c<<3;d=b+f|0;Ha(h+G|0,v[d>>2],v[d+4>>2]);f=v[M+4>>2];h=v[(b+f|0)+4>>2]+h|0;c=c+1|0;if(c>>>0>2]){continue}break}}c=0;f=0;b=v[M+40>>2];m=0;r:{if(!b){break r}d=v[M>>2];f=v[d+8>>2];m=0;if((b|0)==1){break r}m=v[d+32>>2]}b=m;d=k-q|0;f=b+f|0;s:{if(!f){break s}c=1;b=v[M>>2];D=v[b>>2];if((f|0)==1){c=0;break s}i=v[b+24>>2]}N=d+1|0;X=v[e+116>>2];p=v[e+120>>2];J=v[M+12>>2];T=v[M+20>>2];ia=v[M+8>>2];la=v[M+16>>2];t:{u:{v:{w:{x:{y:{z:{A:{if(!(i|!c)){if(!V){break A}Ea(S,2,11542,0);f=1;break z}if(f>>>0<4){break z}if(V){v[A+112>>2]=f;Ea(S,1,10353,A+112|0);break t}v[A+96>>2]=f;Ea(S,1,10353,A+96|0);c=0;break i}Ea(S,2,11542,0);c=v[M+24>>2];if(c>>>0>30){break y}r=1;if(c>>>0>=N>>>0){break w}break u}c=v[M+24>>2];if(c>>>0<=30){break x}if(!V){break y}v[A+32>>2]=v[M+24>>2];Ea(S,1,12944,A+32|0);break t}v[A>>2]=c;Ea(S,1,12944,A);c=0;break i}if(c>>>0>>0){break v}if((c|0)!=(N|0)){r=f;break w}if(f>>>0<2){r=f;break w}r=1;if(w[29352]){break w}if(!V){t[29352]=1;v[A+64>>2]=f;Ea(S,2,11035,A- -64|0);break w}if(!w[29352]){t[29352]=1;v[A+80>>2]=f;Ea(S,2,11035,A+80|0)}}if(!(!(D>>>0<2|h>>>0>>0)&i+D>>>0<=h>>>0)){if(V){c=0;Ea(S,1,10295,0);break i}c=0;Ea(S,1,10295,0);break i}R=D+G|0;k=w[R-1|0]<<4|w[R-2|0]&15;if(!(!(k>>>0<2|(k|0)>(D|0))&k>>>0<4080)){if(V){c=0;Ea(S,1,15947,0);break i}c=0;Ea(S,1,15947,0);break i}K=v[M+28>>2];v[A+272>>2]=0;v[A+280>>2]=0;v[A+264>>2]=0;v[A+268>>2]=0;v[A+296>>2]=0;v[A+300>>2]=0;v[A+284>>2]=0;v[A+288>>2]=0;h=k-1|0;v[A+276>>2]=h;d=(D+G|0)-k|0;v[A+256>>2]=d;f=k>>>0<2?255:w[d|0];b=8;v[A+272>>2]=8;F=k-2|0;v[A+276>>2]=F;n=0;q=(h|0)==1?f|15:f;v[A+264>>2]=q;v[A+268>>2]=0;f=d+(k>>>0>1)|0;v[A+256>>2]=f;v[A+280>>2]=(q|0)==255;c=d&3;B:{C:{if((c|0)==3){break C}if((q|0)==255){m=0;if(w[f|0]>143){break B}}d=k>>>0<3?255:w[f|0];j=k-3|0;v[A+276>>2]=j;n=(q|0)==255;b=n?15:16;v[A+272>>2]=b;h=f+(k>>>0>2)|0;v[A+256>>2]=h;d=(F|0)==1?d|15:d;v[A+280>>2]=(d|0)==255;n=n?7:8;f=n&31;if((n&63)>>>0>=32){P=q<>>32-f;f=q<>2]=q;n=P;v[A+268>>2]=n;if((c|0)==2){break C}if((d|0)==255){m=0;if(w[h|0]>143){break B}}f=k>>>0<4?255:w[h|0];P=k-4|0;v[A+276>>2]=P;h=h+(k>>>0>3)|0;v[A+256>>2]=h;f=(j|0)==1?f|15:f;v[A+280>>2]=(f|0)==255;F=(d|0)==255;b=(F?7:8)+b|0;v[A+272>>2]=b;d=f;F=F?7:8;f=F&31;if((F&63)>>>0>=32){F=q<>>32-f|n<>2]=q;n=F;v[A+268>>2]=n;if((c|0)==1){break C}if((d|0)==255){m=0;if(w[h|0]>143){break B}}f=k>>>0<5?255:w[h|0];v[A+276>>2]=k-5;v[A+256>>2]=h+(k>>>0>4);f=(P|0)==1?f|15:f;v[A+280>>2]=(f|0)==255;d=(d|0)==255;b=(d?7:8)+b|0;v[A+272>>2]=b;h=d?7:8;d=h&31;if((h&63)>>>0>=32){j=q<>>32-d|n<>2]=q;n=j;v[A+268>>2]=j}d=64-b|0;b=d&31;if((d&63)>>>0>=32){F=q<>>32-b|n<>2]=b;v[A+268>>2]=F;m=1}if(!m){if(V){c=0;Ea(S,1,12152,0);break i}c=0;Ea(S,1,12152,0);break i}I=la-ia|0;g=k-2|0;v[A+244>>2]=g;d=D+G|0;b=d-3|0;v[A+224>>2]=b;F=w[d-2|0];m=F>>>0>143;v[A+248>>2]=m;n=0;q=F>>>4|0;v[A+232>>2]=q;v[A+236>>2]=0;d=(q&7)==7?3:4;v[A+240>>2]=d;f=(b&3)+1|0;h=(g|0)>(f|0)?f:g;D:{E:{if(k>>>0<=2){f=g-h|0;v[A+244>>2]=f;break E}f=b-1|0;v[A+224>>2]=f;c=w[b|0];m=c>>>0>143;v[A+248>>2]=m;b=d&31;if((d&63)>>>0>=32){j=c<>>32-b;b=c<>2]=q;n=j;v[A+236>>2]=j;d=(F>>>0<=143?8:(c&127)==127?7:8)+d|0;v[A+240>>2]=d;F:{if((h|0)<2){b=f;break F}b=f-1|0;v[A+224>>2]=b;j=w[f|0];m=j>>>0>143;v[A+248>>2]=m;f=d&31;if((d&63)>>>0>=32){F=j<>>32-f;f=j<>2]=q;n=n|F;v[A+236>>2]=n;d=(c>>>0<=143?8:(j&127)==127?7:8)+d|0;v[A+240>>2]=d;P=(h|0)<=1?1:h;if((P|0)==2){break F}f=b-1|0;v[A+224>>2]=f;c=w[b|0];m=c>>>0>143;v[A+248>>2]=m;b=d&31;if((d&63)>>>0>=32){F=c<>>32-b;b=c<>2]=q;v[A+236>>2]=b;d=(j>>>0<=143?8:(c&127)==127?7:8)+d|0;v[A+240>>2]=d;if((P|0)==3){b=f;break F}b=f-1|0;v[A+224>>2]=b;f=w[f|0];m=f>>>0>143;v[A+248>>2]=m;F=d&31;if((d&63)>>>0>=32){P=f<>>32-F;j=f<>2]=q;n=n|P;v[A+236>>2]=n;d=(c>>>0<=143?8:(f&127)==127?7:8)+d|0;v[A+240>>2]=d}f=g-h|0;v[A+244>>2]=f;if(d>>>0>32){break D}}G:{if((f|0)>=4){h=v[b-3>>2];v[A+244>>2]=f-4;v[A+224>>2]=b-4;break G}if((f|0)<=0){h=0;break G}j=f&1;H:{if((f|0)==1){c=24;h=0;break H}P=f&-2;c=24;h=0;F=0;while(1){g=b-1|0;v[A+224>>2]=g;L=w[b|0];b=b-2|0;v[A+224>>2]=b;v[A+244>>2]=f-1;g=w[g|0];f=f-2|0;v[A+244>>2]=f;h=L<>2]=b-1;b=w[b|0];v[A+244>>2]=f-1;h=b<>2]=b>>>0>143;f=m?(h&2130706432)==2130706432?7:8:8;c=f+(h>>>0<=2415919103?8:(h&8323072)==8323072?7:8)|0;F=h>>>16&255;j=c+(F>>>0<=143?8:(h&32512)==32512?7:8)|0;P=h>>>8&255;v[A+240>>2]=j+((P>>>0<=143?8:(h&127)==127?7:8)+d|0);f=F<>>24|P<>>0>=32){F=f<>>32-b;b=f<>2]=b|q;v[A+236>>2]=n|F}Kc(A+192|0,G,D-k|0,255);b=0;I:{if(r>>>0<2){break I}Kc(A+160|0,R,i,0);b=0;if((r|0)==2){break I}q=0;n=0;c=0;v[A+152>>2]=1;v[A+144>>2]=0;v[A+136>>2]=0;v[A+140>>2]=0;k=i;h=k-1|0;v[A+148>>2]=h;d=(D+G|0)+h|0;v[A+128>>2]=d;j=d&3;J:{if((k|0)<=0){b=d;break J}b=d-1|0;v[A+128>>2]=b;q=w[d|0]}v[A+136>>2]=q;v[A+140>>2]=0;g=q>>>0>143;v[A+152>>2]=g;m=(q&127)==127?7:8;v[A+144>>2]=m;K:{if(!j){break K}i=k-2|0;v[A+148>>2]=i;L:{if((k|0)<2){d=b;break L}d=b-1|0;v[A+128>>2]=d;c=w[b|0]}g=c>>>0>143;v[A+152>>2]=g;b=m&31;if((m&63)>>>0>=32){F=c<>>32-b;b=c<>2]=D;n=F;v[A+140>>2]=n;m=(q>>>0<=143?8:(c&127)==127?7:8)+m|0;v[A+144>>2]=m;if((j|0)==1){b=d;q=D;k=h;h=i;break K}F=k-3|0;v[A+148>>2]=F;M:{if((k|0)<3){f=d;break M}f=d-1|0;v[A+128>>2]=f;o=w[d|0]}g=o>>>0>143;v[A+152>>2]=g;b=m&31;if((m&63)>>>0>=32){P=o<>>32-b;b=o<>2]=q;v[A+140>>2]=b;m=(c>>>0<=143?8:(o&127)==127?7:8)+m|0;v[A+144>>2]=m;if((j|0)==2){b=f;k=i;h=F;break K}h=k-4|0;v[A+148>>2]=h;c=0;N:{if((k|0)<4){b=f;break N}b=f-1|0;v[A+128>>2]=b;c=w[f|0]}g=c>>>0>143;v[A+152>>2]=g;d=m&31;if((m&63)>>>0>=32){j=c<>>32-d;d=c<>2]=q;v[A+140>>2]=d;m=(o>>>0<=143?8:(c&127)==127?7:8)+m|0;v[A+144>>2]=m;k=F}if(m>>>0<=32){O:{if((k|0)>=5){d=v[b-3>>2];v[A+148>>2]=k-5;v[A+128>>2]=b-4;break O}d=0;if((k|0)<2){break O}k=24;while(1){f=b-1|0;v[A+128>>2]=f;b=w[b|0];c=h-1|0;v[A+148>>2]=c;d=b<>>0>1;b=f;k=k-8|0;h=c;if(F){continue}break}}b=d&255;v[A+152>>2]=b>>>0>143;f=g?(d&2130706432)==2130706432?7:8:8;h=f+(d>>>0<=2415919103?8:(d&8323072)==8323072?7:8)|0;k=d>>>16&255;c=h+(k>>>0<=143?8:(d&32512)==32512?7:8)|0;F=d>>>8&255;v[A+144>>2]=c+((F>>>0<=143?8:(d&127)==127?7:8)+m|0);d=k<>>24|F<>>0>=32){F=d<>>32-b;b=d<>2]=b|q;v[A+140>>2]=n|F}b=1}H=b;T=T-J|0;ea=N+1|0;t[p+2112|0]=0;P=p+2112|0;d=ib(A+256|0);P:{if((I|0)<=0){R=K-1|0;break P}R=K-1|0;i=p;f=P;G=0;k=X;g=0;while(1){D=g;c=x[(G<<8|(xb(A+224|0)&127)<<1)+18096>>1];Q:{if(G){break Q}b=d-2|0;c=(b|0)==-1?c:0;if((d|0)>1){d=b;break Q}d=ib(A+256|0)}q=v[A+232>>2];h=v[A+236>>2];b=v[A+240>>2];o=c>>>4|0;F=v[i>>2]|(o&3|c>>>2&48)<>2]=F;J=c&16;G=c>>>5&7|J>>>4;m=b;b=c&7;g=m-b|0;n=h>>>b|0;q=((1<>>b;b=q;h=0;if((I|0)>(D|2)){h=x[(G<<8|(b&127)<<1)+18096>>1];R:{if(G){break R}b=d-2|0;h=(b|0)==-1?h:0;if((d|0)>1){d=b;break R}d=ib(A+256|0)}G=h>>>4&1|h>>>5&7;b=h&7;g=g-b|0;q=((1<>>b;n=n>>>b|0;b=q}v[i>>2]=F|(h<<2&768|h&48)<>>2&2|c>>>3&1;S:{if((m|0)!=3){break S}F=d-2|0;m=(F|0)==-1?4:3;if((d|0)>1){d=F;break S}d=ib(A+256|0)}T:{if(!m){v[A+120>>2]=1;v[A+124>>2]=1;F=0;break T}if(m>>>0<=2){F=w[(b&7)+22244|0];j=F>>>2&7;s=b;b=F&3;F=(((-1<>>b)+(F>>>5|0)|0)+1|0;m=(m|0)==1;v[A+124>>2]=m?1:F;v[A+120>>2]=m?F:1;F=b+j|0;break T}F=w[(b&7)+22244|0];j=F&3;b=b>>>j|0;if((m|0)==3){m=(F>>>5|0)+1|0;if((j|0)==3){v[A+124>>2]=b&1|2;F=F>>>2&7;v[A+120>>2]=m+((-1<>>1);F=F+4|0;break T}s=b;b=w[(b&7)+22244|0];N=b&3;L=s>>>N|0;F=F>>>2&7;v[A+120>>2]=m+(L&(-1<>>2&7;v[A+124>>2]=(((-1<>>F)+(b>>>5|0)|0)+1;F=m+(N+(j+F|0)|0)|0;break T}m=b;b=w[(b&7)+22244|0];N=b&3;L=m>>>N|0;m=F>>>2&7;v[A+120>>2]=((L&(-1<>>5|0)|0)+3;F=b>>>2&7;v[A+124>>2]=(((-1<>>m)+(b>>>5|0)|0)+3;F=F+(m+(j+N|0)|0)|0}U:{j=v[A+120>>2];if(j>>>0<=ea>>>0){N=v[A+124>>2];if(N>>>0<=ea>>>0){break U}}if(V){c=0;Ea(S,1,16398,0);break i}c=0;Ea(S,1,16398,0);break i}v[A+240>>2]=g-F;b=F&31;if((F&63)>>>0>=32){F=0;b=n>>>b|0}else{F=n>>>b|0;b=((1<>>b}v[A+232>>2]=b;v[A+236>>2]=F;g=D+4|0;b=(g|0)<=(I|0)?255:255>>>(g-I<<1)|0;b=(T|0)>1?b:b&85;if((h&240|o&15)&(b^-1)){if(V){c=0;Ea(S,1,12836,0);break i}c=0;Ea(S,1,12836,0);break i}V:{W:{if(J){o=Ua(A+192|0);n=j+(c<<19>>31)|0;v[A+208>>2]=v[A+208>>2]-n;m=v[A+204>>2];J=v[A+200>>2];q=n&31;if((n&63)>>>0>=32){F=0;m=m>>>q|0}else{F=m>>>q|0;m=((1<>>q}v[A+200>>2]=m;v[A+204>>2]=F;m=(o&(-1<>>8&1)<>2]=m}X:{if(c&32){o=Ua(A+192|0);n=j+(c<<18>>31)|0;v[A+208>>2]=v[A+208>>2]-n;m=v[A+204>>2];J=v[A+200>>2];q=n&31;if((n&63)>>>0>=32){F=0;m=m>>>q|0}else{F=m>>>q|0;m=((1<>>q}v[A+200>>2]=m;v[A+204>>2]=F;q=o&(-1<>>9&1)<>2]=q+2<>>0>>0?q:n)|128;break X}if(!(b&2)){break X}v[(I<<2)+k>>2]=0}m=k+4|0;Y:{Z:{if(c&64){J=Ua(A+192|0);n=j+(c<<17>>31)|0;v[A+208>>2]=v[A+208>>2]-n;o=v[A+204>>2];L=v[A+200>>2];q=n&31;if((n&63)>>>0>=32){F=0;o=o>>>q|0}else{F=o>>>q|0;o=((1<>>q}v[A+200>>2]=o;v[A+204>>2]=F;J=(J&(-1<>>10&1)<>2]=J}t[f+1|0]=0;_:{if(c&128){o=Ua(A+192|0);n=j+(c<<16>>31)|0;v[A+208>>2]=v[A+208>>2]-n;j=v[A+204>>2];J=v[A+200>>2];q=n&31;if((n&63)>>>0>=32){F=0;j=j>>>q|0}else{F=j>>>q|0;j=((1<>>q}v[A+200>>2]=j;v[A+204>>2]=F;q=o&(-1<>>11&1)<>2]=q+2<>2]=0}n=k+8|0;$:{aa:{if(h&16){m=Ua(A+192|0);c=N+(h<<19>>31)|0;v[A+208>>2]=v[A+208>>2]-c;j=v[A+204>>2];o=v[A+200>>2];q=c&31;if((c&63)>>>0>=32){F=0;o=j>>>q|0}else{F=j>>>q|0;o=((1<>>q}v[A+200>>2]=o;v[A+204>>2]=F;m=(m&(-1<>>8&1)<>2]=m}ba:{if(h&32){m=Ua(A+192|0);c=N+(h<<18>>31)|0;v[A+208>>2]=v[A+208>>2]-c;j=v[A+204>>2];o=v[A+200>>2];q=c&31;if((c&63)>>>0>=32){F=0;o=j>>>q|0}else{F=j>>>q|0;o=((1<>>q}v[A+200>>2]=o;v[A+204>>2]=F;q=m&(-1<>>9&1)<>2]=q+2<>>0>>0?q:c)|128;break ba}if(!(b&32)){break ba}v[n+(I<<2)>>2]=0}n=k+12|0;f=f+2|0;ca:{da:{if(h&64){m=Ua(A+192|0);c=N+(h<<17>>31)|0;v[A+208>>2]=v[A+208>>2]-c;j=v[A+204>>2];o=v[A+200>>2];q=c&31;if((c&63)>>>0>=32){F=0;o=j>>>q|0}else{F=j>>>q|0;o=((1<>>q}v[A+200>>2]=o;v[A+204>>2]=F;m=(m&(-1<>>10&1)<>2]=m}j=D&4;t[f|0]=0;ea:{if(h&128){D=Ua(A+192|0);q=N+(h<<16>>31)|0;v[A+208>>2]=v[A+208>>2]-q;c=v[A+204>>2];m=v[A+200>>2];b=q&31;if((q&63)>>>0>=32){F=0;b=c>>>b|0}else{F=c>>>b|0;b=((1<>>b}v[A+200>>2]=b;v[A+204>>2]=F;b=D&(-1<>>11&1)<>2]=b+2<>>0<128){break ea}v[n+(I<<2)>>2]=0}Q=Q^16;i=i+j|0;k=k+16|0;if((g|0)<(I|0)){continue}break}}ma=U&8;$=p+1584|0;aa=p+1056|0;U=p+528|0;fa=B(I,3);ga=I<<1;b=K-2|0;s=3<2){sa=(I+7>>>1&2147483644)+4|0;while(1){o=m;K=w[P|0];t[P|0]=0;Q=Q&-17^2;fa:{if((I|0)<=0){m=o+2|0;break fa}G=o&4?U:p;m=o+2|0;k=X+(B(o,I)<<2)|0;N=0;f=P;D=0;while(1){F=D;K=K&255;b=w[f+1|0]>>>5&4|(K>>>7|N);h=x[(b<<8|(xb(A+224|0)&127)<<1)+20144>>1];ga:{if(b){break ga}b=d-2|0;h=(b|0)==-1?h:0;if((d|0)>1){d=b;break ga}d=ib(A+256|0)}c=v[A+232>>2];q=v[A+236>>2];b=v[A+240>>2];i=v[G>>2]|(h>>>4&3|h>>>2&48)<>2]=i;Y=h&64;ja=h&128;N=Y>>>5|ja>>>6;n=b;b=h&7;J=n-b|0;n=q>>>b|0;q=((1<>>b;D=q;g=0;ha:{if((I|0)<=(F|2)){c=0;break ha}b=w[f+2|0]>>>5&4|w[f+1|0]>>>7|N;c=x[(b<<8|(D&127)<<1)+20144>>1];ia:{if(b){break ia}b=d-2|0;c=(b|0)==-1?c:0;if((d|0)>1){d=b;break ia}d=ib(A+256|0)}N=(c>>>5|c>>>6)&2;b=c&7;J=J-b|0;q=((1<>>b;n=n>>>b|0;D=q}v[G>>2]=i|(c<<2&768|c&48)<>>2&2|h>>>3&1;ja:{if(!j){break ja}g=D;b=w[(D&7)+22244|0];D=b&3;i=g>>>D|0;if((j|0)!=3){g=b>>>2&7;i=((i&(-1<>>5|0)|0)+1|0;j=(j|0)==1;b=j?1:i;i=j?i:1;g=g+D|0;break ja}j=w[(i&7)+22244|0];L=j&3;g=D;D=b>>>2&7;_=j>>>2&7;g=(L+(g+D|0)|0)+_|0;L=i>>>L|0;i=((L&(-1<>>5|0)|0)+1|0;b=(((-1<<_^-1)&L>>>D)+(j>>>5|0)|0)+1|0}v[A+240>>2]=J-g;D=g&31;if((g&63)>>>0>=32){j=0;n=n>>>D|0}else{j=n>>>D|0;n=((1<>>D}v[A+232>>2]=n;v[A+236>>2]=j;q=h&240;if(q-1&q){j=i;n=K&127;i=w[f+1|0]&127;n=i>>>0>>0?n:i;i=n-2|0;i=j+(i>>>0<=n>>>0?i:0)|0}n=c&240;if(n-1&n){D=w[f+1|0]&127;j=w[f+2|0]&127;D=j>>>0>>0?D:j;b=b+(D>>>0>2?D-2|0:0)|0}if(!(i>>>0<=ea>>>0&b>>>0<=ea>>>0)){if(V){c=0;Ea(S,1,16498,0);break i}c=0;Ea(S,1,16498,0);break i}K=w[f+2|0];t[f+1|0]=0;t[f+2|0]=0;n=n|q>>>4;D=F+4|0;q=(D|0)<=(I|0)?255:255>>>(D-I<<1)|0;q=(m|0)>(T|0)?q&85:q;if(n&(q^-1)){if(V){c=0;Ea(S,1,12836,0);break i}c=0;Ea(S,1,12836,0);break i}ka:{la:{if(h&16){L=Ua(A+192|0);g=(h<<19>>31)+i|0;v[A+208>>2]=v[A+208>>2]-g;J=v[A+204>>2];_=v[A+200>>2];n=g&31;if((g&63)>>>0>=32){j=0;n=J>>>n|0}else{j=J>>>n|0;n=((1<>>n}v[A+200>>2]=n;v[A+204>>2]=j;J=(L&(-1<>>8&1)<>2]=J}ma:{if(h&32){L=Ua(A+192|0);g=(h<<18>>31)+i|0;v[A+208>>2]=v[A+208>>2]-g;J=v[A+204>>2];_=v[A+200>>2];n=g&31;if((g&63)>>>0>=32){j=0;n=J>>>n|0}else{j=J>>>n|0;n=((1<>>n}v[A+200>>2]=n;v[A+204>>2]=j;n=L&(-1<>>9&1)<>2]=n+2<>>0>>0?n:j)|128;break ma}if(!(q&2)){break ma}v[(I<<2)+k>>2]=0}J=k+4|0;na:{oa:{if(Y){Y=Ua(A+192|0);g=(h<<17>>31)+i|0;v[A+208>>2]=v[A+208>>2]-g;L=v[A+204>>2];_=v[A+200>>2];n=g&31;if((g&63)>>>0>=32){j=0;n=L>>>n|0}else{j=L>>>n|0;n=((1<>>n}v[A+200>>2]=n;v[A+204>>2]=j;L=(Y&(-1<>>10&1)<>2]=L}pa:{if(ja){L=Ua(A+192|0);i=(h<<16>>31)+i|0;v[A+208>>2]=v[A+208>>2]-i;g=v[A+204>>2];Y=v[A+200>>2];n=i&31;if((i&63)>>>0>=32){j=0;n=g>>>n|0}else{j=g>>>n|0;n=((1<>>n}v[A+200>>2]=n;v[A+204>>2]=j;h=L&(-1<>>11&1)<>2]=h+2<>2]=0}g=k+8|0;qa:{ra:{if(c&16){J=Ua(A+192|0);n=(c<<19>>31)+b|0;v[A+208>>2]=v[A+208>>2]-n;i=v[A+204>>2];L=v[A+200>>2];h=n&31;if((n&63)>>>0>=32){j=0;h=i>>>h|0}else{j=i>>>h|0;h=((1<>>h}v[A+200>>2]=h;v[A+204>>2]=j;i=(J&(-1<>>8&1)<>2]=i}sa:{if(c&32){J=Ua(A+192|0);n=(c<<18>>31)+b|0;v[A+208>>2]=v[A+208>>2]-n;i=v[A+204>>2];L=v[A+200>>2];h=n&31;if((n&63)>>>0>=32){j=0;h=i>>>h|0}else{j=i>>>h|0;h=((1<>>h}v[A+200>>2]=h;v[A+204>>2]=j;h=J&(-1<>>9&1)<>2]=h+2<>>0>n>>>0?h:n)|128;break sa}if(!(q&32)){break sa}v[g+(I<<2)>>2]=0}g=k+12|0;ta:{ua:{if(c&64){J=Ua(A+192|0);n=(c<<17>>31)+b|0;v[A+208>>2]=v[A+208>>2]-n;i=v[A+204>>2];L=v[A+200>>2];h=n&31;if((n&63)>>>0>=32){j=0;h=i>>>h|0}else{j=i>>>h|0;h=((1<>>h}v[A+200>>2]=h;v[A+204>>2]=j;i=(J&(-1<>>10&1)<>2]=i}F=F&4;f=f+2|0;va:{if(c&128){n=Ua(A+192|0);h=(c<<16>>31)+b|0;v[A+208>>2]=v[A+208>>2]-h;q=v[A+204>>2];i=v[A+200>>2];b=h&31;if((h&63)>>>0>=32){j=0;b=q>>>b|0}else{j=q>>>b|0;b=((1<>>b}v[A+200>>2]=b;v[A+204>>2]=j;b=n&(-1<>>11&1)<>2]=b+2<>>0<128){break va}v[g+(I<<2)>>2]=0}Q=Q^16;G=F+G|0;k=k+16|0;if((D|0)<(I|0)){continue}break}}wa:{if(m&3|r>>>0<2){break wa}k=m&4;xa:{ya:{if(H){F=k?p:U;g=0;if((I|0)<=0){break ya}i=X+(B(I,o-2|0)<<2)|0;while(1){h=xb(A+128|0);c=0;q=v[F>>2];if(q){c=i+(g<<2)|0;b=0;f=15;while(1){za:{if(!(f&q)){break za}n=f&286331153;if(n&q){v[c>>2]=O|v[c>>2]^((h^-1)&1)<>>1|0}if(q&n<<1){D=(I<<2)+c|0;v[D>>2]=O|v[D>>2]^((h^-1)&1)<>>1|0}if(q&n<<2){D=(ga<<2)+c|0;v[D>>2]=O|v[D>>2]^((h^-1)&1)<>>1|0}if(!(q&n<<3)){break za}n=(fa<<2)+c|0;v[n>>2]=O|v[n>>2]^((h^-1)&1)<>>1|0}c=c+4|0;f=f<<4;b=b+1|0;if((b|0)!=8){continue}break}c=Uf(q)}F=F+4|0;v[A+144>>2]=v[A+144>>2]-c;f=v[A+140>>2];h=v[A+136>>2];b=c&31;if((c&63)>>>0>=32){j=0;b=f>>>b|0}else{j=f>>>b|0;b=((1<>>b}v[A+136>>2]=b;v[A+140>>2]=j;g=g+8|0;if((I|0)>(g|0)){continue}break}}G=!k;i=0;h=0;L=k?aa:$;c=L;F=k?p:U;f=F;if((I|0)<=0){break xa}while(1){b=h>>>28|0;h=v[f>>2];b=h|(b|h<<4|h>>>4);v[c>>2]=b;b=b|v[f+4>>2]<<28;v[c>>2]=(b>>>1&2004318071|b<<1&-286331154|b)&(h^-1);c=c+4|0;f=f+4|0;i=i+8|0;if((I|0)>(i|0)){continue}break}break xa}G=!k;L=k?aa:$}if(o>>>0<6){break wa}i=0;b=0;c=F;K=G?aa:$;h=K;q=G?p:U;f=q;n=(I|0)<=0;Aa:{if(n){break Aa}while(1){k=v[c>>2];c=c+4|0;v[h>>2]=(v[f>>2]^-1)&(ma?v[h>>2]:v[h>>2]|(k<<4|b>>>28|k>>>4|v[c>>2]<<28|k)<<3&-2004318072);f=f+4|0;h=h+4|0;b=k;i=i+8|0;if((I|0)>(i|0)){continue}break}if(n){break Aa}ja=X+(B(I,o-6|0)<<2)|0;J=0;o=q;while(1){i=0;c=v[K>>2];if(c){_=I-J|0;h=0;N=0;while(1){n=h;h=Ua(A+160|0);b=N+4|0;Y=(I|0)>(b+J|0)?b:_;na=(Y|0)<=(N|0);Ba:{if(na){f=0;break Ba}j=v[o>>2]^-1;g=((J|N)<<2)+ja|0;f=0;b=N;oa=b<<2;D=15<>>1|0;f=f+1|0}ha=G<<1;if(ha&c){if(h&1){i=i|ha;c=j&116<<(b<<2)|c}h=h>>>1|0;f=f+1|0}ha=G<<2;if(ha&c){if(h&1){i=i|ha;c=j&232<<(b<<2)|c}h=h>>>1|0;f=f+1|0}G=G<<3;if(!(G&c)){break Ca}if(h&1){i=i|G;c=j&192<<(b<<2)|c}f=f+1|0;h=h>>>1|0}k=k<<4;b=b+1|0;if((Y|0)>(b|0)){continue}break}if(na|!(i>>>oa&65535)){break Ba}while(1){Da:{if(!(i&D)){break Da}b=D&286331153;if(b&i){v[g>>2]=s|(v[g>>2]|h<<31);h=h>>>1|0;f=f+1|0}if(b<<1&i){k=(I<<2)+g|0;v[k>>2]=s|(v[k>>2]|h<<31);h=h>>>1|0;f=f+1|0}if(b<<2&i){k=(ga<<2)+g|0;v[k>>2]=s|(v[k>>2]|h<<31);h=h>>>1|0;f=f+1|0}if(!(b<<3&i)){break Da}b=(fa<<2)+g|0;v[b>>2]=s|(v[b>>2]|h<<31);f=f+1|0;h=h>>>1|0}D=D<<4;g=g+4|0;N=N+1|0;if((Y|0)>(N|0)){continue}break}}v[A+176>>2]=v[A+176>>2]-f;h=v[A+172>>2];k=v[A+168>>2];b=f&31;if((f&63)>>>0>=32){j=0;b=h>>>b|0}else{j=h>>>b|0;b=((1<>>b}v[A+168>>2]=b;v[A+172>>2]=j;h=1;N=4;if(!(n&1)){continue}break}v[K+4>>2]=v[K+4>>2]|(i>>>27&14|i>>>29|i>>>28)&(v[o+4>>2]^-1)}f=v[o>>2]|i;b=f>>>3&286331153;h=b>>>4|b<<4|b;if(J){k=L-4|0;v[k>>2]=v[k>>2]|(v[F-4>>2]^-1)&b<<28}v[L>>2]=v[L>>2]|h&(v[F>>2]^-1);v[L+4>>2]=v[L+4>>2]|(v[F+4>>2]^-1)&f>>>31;K=K+4|0;o=o+4|0;L=L+4|0;F=F+4|0;J=J+8|0;if((I|0)>(J|0)){continue}break}}Ka(q,0,sa)}if((m|0)<(T|0)){continue}break}}Ea:{if(r>>>0<2){break Ea}q=(T&3)-1|0;Fa:{if(q>>>0<2&H){if((I|0)<=0){break Fa}n=X+(B(I,T&16777212)<<2)|0;g=T&4?U:p;P=0;while(1){h=xb(A+128|0);c=0;d=v[g>>2];if(d){c=n+(P<<2)|0;f=15;b=0;while(1){Ga:{if(!(d&f)){break Ga}k=f&286331153;if(k&d){v[c>>2]=O|v[c>>2]^((h^-1)&1)<>>1|0}if(d&k<<1){F=(I<<2)+c|0;v[F>>2]=O|v[F>>2]^((h^-1)&1)<>>1|0}if(d&k<<2){F=(ga<<2)+c|0;v[F>>2]=O|v[F>>2]^((h^-1)&1)<>>1|0}if(!(d&k<<3)){break Ga}k=(fa<<2)+c|0;v[k>>2]=O|v[k>>2]^((h^-1)&1)<>>1|0}c=c+4|0;f=f<<4;b=b+1|0;if((b|0)!=8){continue}break}c=Uf(d)}g=g+4|0;v[A+144>>2]=v[A+144>>2]-c;d=v[A+140>>2];f=v[A+136>>2];b=c&31;if((c&63)>>>0>=32){j=0;b=d>>>b|0}else{j=d>>>b|0;b=((1<>>b}v[A+136>>2]=b;v[A+140>>2]=j;P=P+8|0;if((I|0)>(P|0)){continue}break}}if((I|0)<=0|q>>>0>1){break Fa}b=T&4;c=b?U:p;f=b?$:aa;i=0;h=0;while(1){b=h>>>28|0;h=v[c>>2];b=h|(b|h<<4|h>>>4);v[f>>2]=b;b=b|v[c+4>>2]<<28;v[f>>2]=(b>>>1&2004318071|b<<1&-286331154|b)&(h^-1);f=f+4|0;c=c+4|0;i=i+8|0;if((I|0)>(i|0)){continue}break}}r=(T|0)>6?(T-(T+1&3)|0)-3|0:0;if((T|0)<=(r|0)){break Ea}N=(I|0)<=0;while(1){b=T-r|0;d=b-1|0;Ha:{Ia:{if(d>>>0>=3){J=-1;if((b|0)<5){break Ia}if(N){break Ha}b=r&4;c=b?U:p;h=b?$:aa;f=0;if(!ma){f=b?p:U;i=0;k=0;while(1){b=k>>>28|0;k=v[f>>2];v[h>>2]=(v[h>>2]|(k|(b|k<<4|k>>>4|v[f+4>>2]<<28))<<3&-2004318072)&(v[c>>2]^-1);c=c+4|0;h=h+4|0;f=f+4|0;i=i+8|0;if((I|0)>(i|0)){continue}break}break Ia}while(1){v[h>>2]=v[h>>2]&(v[c>>2]^-1);c=c+4|0;h=h+4|0;f=f+8|0;if((I|0)>(f|0)){continue}break}break Ia}J=v[(d<<2)+22252>>2]}if(N){break Ha}b=r&4;Q=b?U:p;m=b?$:aa;D=b?p:U;d=b?aa:$;G=X+(B(r,I)<<2)|0;K=0;while(1){i=0;c=v[m>>2]&J;if(c){S=I-K|0;h=0;q=0;while(1){n=h;h=Ua(A+160|0);b=q+4|0;o=(I|0)>(b+K|0)?b:S;R=(o|0)<=(q|0);Ja:{if(R){f=0;break Ja}F=(v[Q>>2]^-1)&J;g=G+((q|K)<<2)|0;f=0;b=q;V=b<<2;P=15<>>1|0;f=f+1|0}L=j<<1;if(L&c){if(h&1){i=i|L;c=F&116<<(b<<2)|c}h=h>>>1|0;f=f+1|0}L=j<<2;if(L&c){if(h&1){i=i|L;c=F&232<<(b<<2)|c}h=h>>>1|0;f=f+1|0}j=j<<3;if(!(j&c)){break Ka}if(h&1){i=i|j;c=F&192<<(b<<2)|c}f=f+1|0;h=h>>>1|0}k=k<<4;b=b+1|0;if((o|0)>(b|0)){continue}break}if(R|!(i>>>V&65535)){break Ja}while(1){La:{if(!(i&P)){break La}b=P&286331153;if(b&i){v[g>>2]=s|(v[g>>2]|h<<31);h=h>>>1|0;f=f+1|0}if(b<<1&i){k=(I<<2)+g|0;v[k>>2]=s|(v[k>>2]|h<<31);h=h>>>1|0;f=f+1|0}if(b<<2&i){k=(ga<<2)+g|0;v[k>>2]=s|(v[k>>2]|h<<31);h=h>>>1|0;f=f+1|0}if(!(b<<3&i)){break La}b=(fa<<2)+g|0;v[b>>2]=s|(v[b>>2]|h<<31);f=f+1|0;h=h>>>1|0}P=P<<4;g=g+4|0;q=q+1|0;if((o|0)>(q|0)){continue}break}}v[A+176>>2]=v[A+176>>2]-f;h=v[A+172>>2];k=v[A+168>>2];b=f&31;if((f&63)>>>0>=32){j=0;b=h>>>b|0}else{j=h>>>b|0;b=((1<>>b}v[A+168>>2]=b;v[A+172>>2]=j;h=1;q=4;if(!(n&1)){continue}break}v[m+4>>2]=v[m+4>>2]|(i>>>27&14|i>>>29|i>>>28)&(v[Q+4>>2]^-1)}f=v[Q>>2]|i;b=f>>>3&286331153;h=b>>>4|b<<4|b;if(K){k=d-4|0;v[k>>2]=v[k>>2]|(v[D-4>>2]^-1)&b<<28}v[d>>2]=v[d>>2]|h&(v[D>>2]^-1);v[d+4>>2]=v[d+4>>2]|(v[D+4>>2]^-1)&f>>>31;m=m+4|0;Q=Q+4|0;d=d+4|0;D=D+4|0;K=K+8|0;if((I|0)>(K|0)){continue}break}}r=r+4|0;if((T|0)>(r|0)){continue}break}}c=1;if((T|0)<=0|(I|0)<=0){break i}d=I&-4;b=I&3;f=(ia^-1)+la>>>0<3;G=0;while(1){h=X+(B(G,I)<<2)|0;c=0;if(!f){while(1){k=v[h>>2];q=k&2147483647;v[h>>2]=(k|0)<0?0-q|0:q;k=v[h+4>>2];q=k&2147483647;v[h+4>>2]=(k|0)<0?0-q|0:q;k=v[h+8>>2];q=k&2147483647;v[h+8>>2]=(k|0)<0?0-q|0:q;k=v[h+12>>2];q=k&2147483647;v[h+12>>2]=(k|0)<0?0-q|0:q;h=h+16|0;c=c+4|0;if((d|0)!=(c|0)){continue}break}}c=0;if(b){while(1){k=v[h>>2];q=k&2147483647;v[h>>2]=(k|0)<0?0-q|0:q;h=h+4|0;c=c+1|0;if((b|0)!=(c|0)){continue}break}}c=1;G=G+1|0;if((T|0)!=(G|0)){continue}break}break i}if(!V){break u}v[A+52>>2]=v[M+24>>2];v[A+48>>2]=N;Ea(S,1,10449,A+48|0);break t}v[A+20>>2]=c;v[A+16>>2]=N;Ea(S,1,10449,A+16|0);c=0;break i}c=0}pa=A+304|0;if(c){break h}break b}v[e+108>>2]=(b<<9)+23776;f=0;b=v[e+116>>2];Ma:{Na:{k=v[M+16>>2]-v[M+8>>2]|0;q=v[M+20>>2]-v[M+12>>2]|0;d=B(k,q);Oa:{Pa:{Qa:{if(d>>>0>y[e+132>>2]){Fa(b);b=Pa(d<<2);v[e+116>>2]=b;if(!b){break Oa}v[e+132>>2]=d;break Qa}if(!b){break Pa}}Ka(b,0,d<<2)}b=v[e+120>>2];h=k+2|0;i=q+3>>>2|0;n=B(h,i+2|0);if(n>>>0<=y[e+136>>2]){d=n<<2;break Na}Fa(b);d=n<<2;b=Pa(d);v[e+120>>2]=b;if(b){break Na}}b=0;break Ma}v[e+136>>2]=n;Ka(b,0,d);d=v[e+120>>2];Ra:{if(!h){break Ra}b=d;n=k+1|0;if(n>>>0>=7){D=h&-8;while(1){v[b+24>>2]=1226833920;v[b+28>>2]=1226833920;v[b+16>>2]=1226833920;v[b+20>>2]=1226833920;v[b+8>>2]=1226833920;v[b+12>>2]=1226833920;v[b>>2]=1226833920;v[b+4>>2]=1226833920;b=b+32|0;f=f+8|0;if((D|0)!=(f|0)){continue}break}}D=h&7;if(D){f=0;while(1){v[b>>2]=1226833920;b=b+4|0;f=f+1|0;if((D|0)!=(f|0)){continue}break}}if(!h){break Ra}b=d+(B(h,i+1|0)<<2)|0;if(n>>>0>=7){n=h&-8;f=0;while(1){v[b+24>>2]=1226833920;v[b+28>>2]=1226833920;v[b+16>>2]=1226833920;v[b+20>>2]=1226833920;v[b+8>>2]=1226833920;v[b+12>>2]=1226833920;v[b>>2]=1226833920;v[b+4>>2]=1226833920;b=b+32|0;f=f+8|0;if((n|0)!=(f|0)){continue}break}}n=h&7;if(!n){break Ra}f=0;while(1){v[b>>2]=1226833920;b=b+4|0;f=f+1|0;if((n|0)!=(f|0)){continue}break}}b=q&3;Sa:{if(!b|!h){break Sa}f=(b|0)==1?1224736768:(b|0)==2?1207959552:1073741824;b=d+(B(h,i)<<2)|0;if(k+1>>>0>=7){n=h&-8;d=0;while(1){v[b+28>>2]=f;v[b+24>>2]=f;v[b+20>>2]=f;v[b+16>>2]=f;v[b+12>>2]=f;v[b+8>>2]=f;v[b+4>>2]=f;v[b>>2]=f;b=b+32|0;d=d+8|0;if((n|0)!=(d|0)){continue}break}}h=h&7;if(!h){break Sa}d=0;while(1){v[b>>2]=f;b=b+4|0;d=d+1|0;if((h|0)!=(d|0)){continue}break}}v[e+128>>2]=q;v[e+124>>2]=k;b=1}if(!b){break b}N=F+v[M+28>>2]|0;if((N|0)>=31){if(!V){break g}v[W+16>>2]=N;Ea(S,2,9674,W+16|0);break b}Jc(e);v[e+100>>2]=23744;v[e+96>>2]=22368;v[e+28>>2]=22400;Ta:{Ua:{Va:{Wa:{k=v[M+52>>2];if(k>>>0>1){break Wa}if(!v[e+144>>2]){break Ua}if(k){break Wa}break Va}b=v[M+4>>2];if(k-1>>>0>=3){h=k&-4;d=0;while(1){f=r<<3;c=v[(b+(f|24)|0)+4>>2]+(v[(b+(f|16)|0)+4>>2]+(v[(b+(f|8)|0)+4>>2]+(v[(b+f|0)+4>>2]+c|0)|0)|0)|0;r=r+4|0;d=d+4|0;if((h|0)!=(d|0)){continue}break}}d=k&3;if(!d){break Va}f=0;while(1){c=v[(b+(r<<3)|0)+4>>2]+c|0;r=r+1|0;f=f+1|0;if((d|0)!=(f|0)){continue}break}}b=c+2|0;if(b>>>0>y[e+152>>2]){d=Oa(v[e+148>>2],b);if(!d){break b}v[e+148>>2]=d;d=c+d|0;t[d|0]=0;t[d+1|0]=0;v[e+152>>2]=b;k=v[M+52>>2]}R=v[e+148>>2];if(!k){break Ta}c=v[M+4>>2];r=0;b=0;while(1){d=b<<3;f=d+c|0;Ha(r+R|0,v[f>>2],v[f+4>>2]);c=v[M+4>>2];r=v[(d+c|0)+4>>2]+r|0;b=b+1|0;if(b>>>0>2]){continue}break}break Ta}if((k|0)!=1){break h}R=v[v[M+4>>2]>>2]}b=v[M+60>>2];if(b){aa=v[e+116>>2];v[e+116>>2]=b}if(v[M+44>>2]){I=U&8;ea=U&1;fa=!(U&2);P=2;while(1){b=L+R|0;X=v[M>>2]+B(J,24)|0;d=v[X>>2];A=ea&(P>>>0<2&(v[M+28>>2]-4|0)>=(N|0));Xa:{if(A){v[e+20>>2]=b;d=b+d|0;v[e+24>>2]=d;u[e+112>>1]=w[d|0]|w[d+1|0]<<8;t[d|0]=255;t[v[e+24>>2]+1|0]=255;v[e+8>>2]=0;v[e>>2]=0;v[e+16>>2]=b;break Xa}v[e+20>>2]=b;f=b+d|0;v[e+24>>2]=f;u[e+112>>1]=w[f|0]|w[f+1|0]<<8;t[f|0]=255;t[v[e+24>>2]+1|0]=255;v[e+104>>2]=e+28;v[e+16>>2]=b;v[e+12>>2]=0;d=d?w[b|0]<<16:16711680;v[e>>2]=d;l=1;h=b+1|0;f=w[b+1|0];Ya:{if(w[b|0]==255){if(f>>>0>=144){v[e+12>>2]=1;b=d|65280;break Ya}v[e+16>>2]=h;l=0;b=d+(f<<9)|0;break Ya}v[e+16>>2]=h;b=d|f<<8}v[e+8>>2]=l;v[e+4>>2]=32768;v[e>>2]=b<<7}ga=v[X>>2];Za:{if(!v[X+8>>2]|(N|0)<=0){break Za}ia=A|fa;T=0;while(1){_a:{$a:{ab:{switch(P|0){case 0:if(A){b=1<>>1|b;q=v[e+124>>2];i=q<<2;b=(i+v[e+120>>2]|0)+12|0;f=v[e+116>>2];h=0;d=v[e+128>>2];if(d>>>0>=4){if(!q){break _a}F=B(q,3);r=q<<1;c=0-k|0;while(1){d=0;while(1){l=b;b=v[b>>2];bb:{if(!b){break bb}if(!(!(b&495)|b&2097168)){b=v[e>>2];n=v[e+8>>2];cb:{if(n){n=n-1|0;break cb}D=(b|0)==255;n=v[e+16>>2];b=w[n|0];db:{if(!D){v[e>>2]=b;v[e+16>>2]=n+1;break db}if(b>>>0<=143){v[e>>2]=b;v[e+16>>2]=n+1;n=6;break cb}b=255;v[e>>2]=255}n=7}v[e+8>>2]=n;eb:{if(!(b>>>n&1)){break eb}m=n-1|0;fb:{if(n){break fb}D=(b|0)==255;n=v[e+16>>2];b=w[n|0];gb:{if(!D){v[e>>2]=b;v[e+16>>2]=n+1;break gb}if(b>>>0<=143){v[e>>2]=b;v[e+16>>2]=n+1;m=6;break fb}b=255;v[e>>2]=255}m=7}n=m;v[e+8>>2]=n;n=b>>>n&1;v[f>>2]=n?c:k;b=v[e+124>>2];D=l-4|0;v[D>>2]=v[D>>2]|32;v[l+4>>2]=v[l+4>>2]|8;v[l>>2]=v[l>>2]|n<<19|16;if(I){break eb}b=l+(-2-b<<2)|0;v[b+4>>2]=v[b+4>>2]|32768;v[b>>2]=v[b>>2]|n<<31|65536;b=b-4|0;v[b>>2]=v[b>>2]|131072}b=v[l>>2]|2097152;v[l>>2]=b}if(!(!(b&3960)|b&16777344)){b=v[e>>2];n=v[e+8>>2];hb:{if(n){n=n-1|0;break hb}D=(b|0)==255;n=v[e+16>>2];b=w[n|0];ib:{if(!D){v[e>>2]=b;v[e+16>>2]=n+1;break ib}if(b>>>0<=143){v[e>>2]=b;v[e+16>>2]=n+1;n=6;break hb}b=255;v[e>>2]=255}n=7}v[e+8>>2]=n;if(b>>>n&1){D=f+i|0;m=n-1|0;jb:{if(n){break jb}j=(b|0)==255;n=v[e+16>>2];b=w[n|0];kb:{if(!j){v[e>>2]=b;v[e+16>>2]=n+1;break kb}if(b>>>0<=143){v[e>>2]=b;v[e+16>>2]=n+1;m=6;break jb}b=255;v[e>>2]=255}m=7}n=m;v[e+8>>2]=n;b=b>>>n&1;v[D>>2]=b?c:k;n=l-4|0;v[n>>2]=v[n>>2]|256;v[l+4>>2]=v[l+4>>2]|64;b=v[l>>2]|b<<22|128}else{b=v[l>>2]}b=b|16777216;v[l>>2]=b}if(!(!(b&31680)|b&134218752)){b=v[e>>2];n=v[e+8>>2];lb:{if(n){n=n-1|0;break lb}D=(b|0)==255;n=v[e+16>>2];b=w[n|0];mb:{if(!D){v[e>>2]=b;v[e+16>>2]=n+1;break mb}if(b>>>0<=143){v[e>>2]=b;v[e+16>>2]=n+1;n=6;break lb}b=255;v[e>>2]=255}n=7}v[e+8>>2]=n;if(b>>>n&1){D=(r<<2)+f|0;m=n-1|0;nb:{if(n){break nb}j=(b|0)==255;n=v[e+16>>2];b=w[n|0];ob:{if(!j){v[e>>2]=b;v[e+16>>2]=n+1;break ob}if(b>>>0<=143){v[e>>2]=b;v[e+16>>2]=n+1;m=6;break nb}b=255;v[e>>2]=255}m=7}n=m;v[e+8>>2]=n;b=b>>>n&1;v[D>>2]=b?c:k;n=l-4|0;v[n>>2]=v[n>>2]|2048;v[l+4>>2]=v[l+4>>2]|512;b=v[l>>2]|b<<25|1024}else{b=v[l>>2]}b=b|134217728;v[l>>2]=b}if(!(b&253440)|b&1073750016){break bb}b=v[e>>2];n=v[e+8>>2];pb:{if(n){n=n-1|0;break pb}D=(b|0)==255;n=v[e+16>>2];b=w[n|0];qb:{if(!D){v[e>>2]=b;v[e+16>>2]=n+1;break qb}if(b>>>0<=143){v[e>>2]=b;v[e+16>>2]=n+1;n=6;break pb}b=255;v[e>>2]=255}n=7}v[e+8>>2]=n;if(b>>>n&1){D=(F<<2)+f|0;m=n-1|0;rb:{if(n){break rb}j=(b|0)==255;n=v[e+16>>2];b=w[n|0];sb:{if(!j){v[e>>2]=b;v[e+16>>2]=n+1;break sb}if(b>>>0<=143){v[e>>2]=b;v[e+16>>2]=n+1;m=6;break rb}b=255;v[e>>2]=255}m=7}n=m;v[e+8>>2]=n;n=b>>>n&1;v[D>>2]=n?c:k;b=v[e+124>>2];D=l-4|0;v[D>>2]=v[D>>2]|16384;v[l+4>>2]=v[l+4>>2]|4096;v[l>>2]=v[l>>2]|n<<28|8192;b=l+(b<<2)|0;v[b+4>>2]=v[b+4>>2]|4;v[b+12>>2]=v[b+12>>2]|1;v[b+8>>2]=v[b+8>>2]|n<<18|2}v[l>>2]=v[l>>2]|1073741824}f=f+4|0;b=l+4|0;d=d+1|0;if((q|0)!=(d|0)){continue}break}b=l+12|0;f=(F<<2)+f|0;h=h+4|0;d=v[e+128>>2];if(h>>>0<(d&-4)>>>0){continue}break}}if(!q|d>>>0<=h>>>0){break $a}m=0;i=0-k|0;l=d;while(1){tb:{if((h|0)==(l|0)){l=h;break tb}n=b-4|0;g=v[b>>2];r=0;while(1){l=B(r,3);c=g>>>l|0;if(!(c&2097168|!(c&495))){d=v[e>>2];c=v[e+8>>2];ub:{if(c){c=c-1|0;break ub}F=(d|0)!=255;c=v[e+16>>2];d=w[c|0];vb:{if(!F){if(d>>>0>=144){d=255;v[e>>2]=255;break vb}v[e>>2]=d;v[e+16>>2]=c+1;c=6;break ub}v[e>>2]=d;v[e+16>>2]=c+1}c=7}v[e+8>>2]=c;wb:{if(!(d>>>c&1)){break wb}F=(B(q,r)<<2)+f|0;o=c-1|0;xb:{if(c){break xb}D=(d|0)!=255;c=v[e+16>>2];d=w[c|0];yb:{if(!D){if(d>>>0>=144){d=255;v[e>>2]=255;break yb}v[e>>2]=d;v[e+16>>2]=c+1;o=6;break xb}v[e>>2]=d;v[e+16>>2]=c+1}o=7}c=o;v[e+8>>2]=c;c=d>>>c&1;v[F>>2]=c?i:k;F=v[e+124>>2];v[n>>2]=v[n>>2]|32<>2]=v[b>>2]|(c<<19|16)<>2]=v[b+4>>2]|8<>2]=v[d+4>>2]|32768;v[d>>2]=v[d>>2]|c<<31|65536;d=d-4|0;v[d>>2]=v[d>>2]|131072}if((r|0)!=3){break wb}d=(F+2<<2)+b|0;v[d+4>>2]=v[d+4>>2]|1;v[d>>2]=v[d>>2]|c<<18|2;d=d-4|0;v[d>>2]=v[d>>2]|4}g=v[b>>2]|2097152<>2]=g;d=v[e+128>>2]}l=d;r=r+1|0;if(r>>>0>>0){continue}break}}f=f+4|0;b=b+4|0;m=m+1|0;if((q|0)!=(m|0)){continue}break}break $a}F=0;zb:{Ab:{Bb:{q=v[e+124>>2];if(!((q|0)!=64|v[e+128>>2]!=64)){b=1<>>1|b;q=0-k|0;d=v[e+120>>2]+268|0;i=v[e+8>>2];b=v[e+4>>2];c=v[e>>2];r=v[e+104>>2];f=v[e+116>>2];if(U&8){break Bb}while(1){g=0;while(1){h=f;l=d;d=v[d>>2];if(d){Cb:{if(d&2097168){break Cb}f=d&495;if(!f){break Cb}D=(w[f+v[e+108>>2]|0]<<2)+e|0;r=D+28|0;n=v[r>>2];f=v[n>>2];b=b-f|0;Db:{if(c>>>16>>>0>>0){j=v[n+4>>2];m=D;D=b>>>0>>0;v[m+28>>2]=v[n+(D?8:12)>>2];while(1){Eb:{if(i){break Eb}n=v[e+16>>2];i=n+1|0;b=w[n+1|0];if(w[n|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break Eb}v[e+16>>2]=i;c=(b<<9)+c|0;i=7;break Eb}v[e+16>>2]=i;i=8;c=(b<<8)+c|0}i=i-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=D?j:!j;break Db}c=c-(f<<16)|0;if(!(b&32768)){j=v[n+4>>2];m=D;D=b>>>0>>0;v[m+28>>2]=v[n+(D?12:8)>>2];while(1){Fb:{if(i){break Fb}n=v[e+16>>2];i=n+1|0;f=w[n+1|0];if(w[n|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break Fb}v[e+16>>2]=i;c=(f<<9)+c|0;i=7;break Fb}v[e+16>>2]=i;i=8;c=(f<<8)+c|0}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=D?!j:j;break Db}f=v[n+4>>2]}if(f){D=l-4|0;m=v[l+4>>2]>>>17&4|(v[D>>2]>>>19&1|(d>>>14&16|(d>>>16&64|d&170)));j=(w[m+25824|0]<<2)+e|0;r=j+28|0;n=v[r>>2];f=v[n>>2];b=b-f|0;o=w[m+26080|0];Gb:{if(c>>>16>>>0>>0){m=v[n+4>>2];p=j;j=b>>>0>>0;v[p+28>>2]=v[n+(j?8:12)>>2];while(1){Hb:{if(i){break Hb}n=v[e+16>>2];i=n+1|0;b=w[n+1|0];if(w[n|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break Hb}v[e+16>>2]=i;c=(b<<9)+c|0;i=7;break Hb}v[e+16>>2]=i;i=8;c=(b<<8)+c|0}i=i-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?m:!m;break Gb}c=c-(f<<16)|0;if(!(b&32768)){m=v[n+4>>2];p=j;j=b>>>0>>0;v[p+28>>2]=v[n+(j?12:8)>>2];while(1){Ib:{if(i){break Ib}n=v[e+16>>2];i=n+1|0;f=w[n+1|0];if(w[n|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break Ib}v[e+16>>2]=i;c=(f<<9)+c|0;i=7;break Ib}v[e+16>>2]=i;i=8;c=(f<<8)+c|0}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=j?!m:m;break Gb}f=v[n+4>>2]}f=f^o;v[h>>2]=f?q:k;v[D>>2]=v[D>>2]|32;v[l+4>>2]=v[l+4>>2]|8;n=l-268|0;v[n>>2]=v[n>>2]|131072;n=l-260|0;v[n>>2]=v[n>>2]|32768;n=l-264|0;v[n>>2]=v[n>>2]|f<<31|65536;d=f<<19|d|16}d=d|2097152}if(!(!(d&3960)|d&16777344)){m=d>>>3|0;D=(w[v[e+108>>2]+(m&495)|0]<<2)+e|0;r=D+28|0;n=v[r>>2];f=v[n>>2];b=b-f|0;Jb:{if(c>>>16>>>0>>0){j=v[n+4>>2];o=D;D=b>>>0>>0;v[o+28>>2]=v[n+(D?8:12)>>2];while(1){Kb:{if(i){break Kb}n=v[e+16>>2];i=n+1|0;b=w[n+1|0];if(w[n|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break Kb}v[e+16>>2]=i;c=(b<<9)+c|0;i=7;break Kb}v[e+16>>2]=i;i=8;c=(b<<8)+c|0}i=i-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=D?j:!j;break Jb}c=c-(f<<16)|0;if(!(b&32768)){j=v[n+4>>2];o=D;D=b>>>0>>0;v[o+28>>2]=v[n+(D?12:8)>>2];while(1){Lb:{if(i){break Lb}n=v[e+16>>2];i=n+1|0;f=w[n+1|0];if(w[n|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break Lb}v[e+16>>2]=i;c=(f<<9)+c|0;i=7;break Lb}v[e+16>>2]=i;i=8;c=(f<<8)+c|0}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=D?!j:j;break Jb}f=v[n+4>>2]}if(f){D=l-4|0;m=v[l+4>>2]>>>20&4|(v[D>>2]>>>22&1|(d>>>15&16|(d>>>19&64|m&170)));j=(w[m+25824|0]<<2)+e|0;r=j+28|0;n=v[r>>2];f=v[n>>2];b=b-f|0;o=w[m+26080|0];Mb:{if(c>>>16>>>0>>0){m=v[n+4>>2];p=j;j=b>>>0>>0;v[p+28>>2]=v[n+(j?8:12)>>2];while(1){Nb:{if(i){break Nb}n=v[e+16>>2];i=n+1|0;b=w[n+1|0];if(w[n|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break Nb}v[e+16>>2]=i;c=(b<<9)+c|0;i=7;break Nb}v[e+16>>2]=i;i=8;c=(b<<8)+c|0}i=i-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?m:!m;break Mb}c=c-(f<<16)|0;if(!(b&32768)){m=v[n+4>>2];p=j;j=b>>>0>>0;v[p+28>>2]=v[n+(j?12:8)>>2];while(1){Ob:{if(i){break Ob}n=v[e+16>>2];i=n+1|0;f=w[n+1|0];if(w[n|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break Ob}v[e+16>>2]=i;c=(f<<9)+c|0;i=7;break Ob}v[e+16>>2]=i;i=8;c=(f<<8)+c|0}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=j?!m:m;break Mb}f=v[n+4>>2]}f=f^o;v[h+256>>2]=f?q:k;v[D>>2]=v[D>>2]|256;v[l+4>>2]=v[l+4>>2]|64;d=f<<22|d|128}d=d|16777216}if(!(!(d&31680)|d&134218752)){m=d>>>6|0;D=(w[v[e+108>>2]+(m&495)|0]<<2)+e|0;r=D+28|0;n=v[r>>2];f=v[n>>2];b=b-f|0;Pb:{if(c>>>16>>>0>>0){j=v[n+4>>2];o=D;D=b>>>0>>0;v[o+28>>2]=v[n+(D?8:12)>>2];while(1){Qb:{if(i){break Qb}n=v[e+16>>2];i=n+1|0;b=w[n+1|0];if(w[n|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break Qb}v[e+16>>2]=i;c=(b<<9)+c|0;i=7;break Qb}v[e+16>>2]=i;i=8;c=(b<<8)+c|0}i=i-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=D?j:!j;break Pb}c=c-(f<<16)|0;if(!(b&32768)){j=v[n+4>>2];o=D;D=b>>>0>>0;v[o+28>>2]=v[n+(D?12:8)>>2];while(1){Rb:{if(i){break Rb}n=v[e+16>>2];i=n+1|0;f=w[n+1|0];if(w[n|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break Rb}v[e+16>>2]=i;c=(f<<9)+c|0;i=7;break Rb}v[e+16>>2]=i;i=8;c=(f<<8)+c|0}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=D?!j:j;break Pb}f=v[n+4>>2]}if(f){D=l-4|0;m=v[l+4>>2]>>>23&4|(v[D>>2]>>>25&1|(d>>>18&16|(d>>>22&64|m&170)));j=(w[m+25824|0]<<2)+e|0;r=j+28|0;n=v[r>>2];f=v[n>>2];b=b-f|0;o=w[m+26080|0];Sb:{if(c>>>16>>>0>>0){m=v[n+4>>2];p=j;j=b>>>0>>0;v[p+28>>2]=v[n+(j?8:12)>>2];while(1){Tb:{if(i){break Tb}n=v[e+16>>2];i=n+1|0;b=w[n+1|0];if(w[n|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break Tb}v[e+16>>2]=i;c=(b<<9)+c|0;i=7;break Tb}v[e+16>>2]=i;i=8;c=(b<<8)+c|0}i=i-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?m:!m;break Sb}c=c-(f<<16)|0;if(!(b&32768)){m=v[n+4>>2];p=j;j=b>>>0>>0;v[p+28>>2]=v[n+(j?12:8)>>2];while(1){Ub:{if(i){break Ub}n=v[e+16>>2];i=n+1|0;f=w[n+1|0];if(w[n|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break Ub}v[e+16>>2]=i;c=(f<<9)+c|0;i=7;break Ub}v[e+16>>2]=i;i=8;c=(f<<8)+c|0}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=j?!m:m;break Sb}f=v[n+4>>2]}f=f^o;v[h+512>>2]=f?q:k;v[D>>2]=v[D>>2]|2048;v[l+4>>2]=v[l+4>>2]|512;d=f<<25|d|1024}d=d|134217728}if(!(!(d&253440)|d&1073750016)){m=d>>>9|0;D=(w[v[e+108>>2]+(m&495)|0]<<2)+e|0;r=D+28|0;n=v[r>>2];f=v[n>>2];b=b-f|0;Vb:{if(c>>>16>>>0>>0){j=v[n+4>>2];o=D;D=b>>>0>>0;v[o+28>>2]=v[n+(D?8:12)>>2];while(1){Wb:{if(i){break Wb}n=v[e+16>>2];i=n+1|0;b=w[n+1|0];if(w[n|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break Wb}v[e+16>>2]=i;c=(b<<9)+c|0;i=7;break Wb}v[e+16>>2]=i;i=8;c=(b<<8)+c|0}i=i-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=D?j:!j;break Vb}c=c-(f<<16)|0;if(!(b&32768)){j=v[n+4>>2];o=D;D=b>>>0>>0;v[o+28>>2]=v[n+(D?12:8)>>2];while(1){Xb:{if(i){break Xb}n=v[e+16>>2];i=n+1|0;f=w[n+1|0];if(w[n|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break Xb}v[e+16>>2]=i;c=(f<<9)+c|0;i=7;break Xb}v[e+16>>2]=i;i=8;c=(f<<8)+c|0}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=D?!j:j;break Vb}f=v[n+4>>2]}if(f){D=l-4|0;m=v[l+4>>2]>>>26&4|(v[D>>2]>>>28&1|(d>>>21&16|(d>>>25&64|m&170)));j=(w[m+25824|0]<<2)+e|0;r=j+28|0;n=v[r>>2];f=v[n>>2];b=b-f|0;o=w[m+26080|0];Yb:{if(c>>>16>>>0>>0){m=v[n+4>>2];p=j;j=b>>>0>>0;v[p+28>>2]=v[n+(j?8:12)>>2];while(1){Zb:{if(i){break Zb}n=v[e+16>>2];i=n+1|0;b=w[n+1|0];if(w[n|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break Zb}v[e+16>>2]=i;c=(b<<9)+c|0;i=7;break Zb}v[e+16>>2]=i;i=8;c=(b<<8)+c|0}i=i-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?m:!m;break Yb}c=c-(f<<16)|0;if(!(b&32768)){m=v[n+4>>2];p=j;j=b>>>0>>0;v[p+28>>2]=v[n+(j?12:8)>>2];while(1){_b:{if(i){break _b}n=v[e+16>>2];i=n+1|0;f=w[n+1|0];if(w[n|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break _b}v[e+16>>2]=i;c=(f<<9)+c|0;i=7;break _b}v[e+16>>2]=i;i=8;c=(f<<8)+c|0}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=j?!m:m;break Yb}f=v[n+4>>2]}f=f^o;v[h+768>>2]=f?q:k;v[D>>2]=v[D>>2]|16384;v[l+4>>2]=v[l+4>>2]|4096;v[l+260>>2]=v[l+260>>2]|4;v[l+268>>2]=v[l+268>>2]|1;v[l+264>>2]=v[l+264>>2]|f<<18|2;d=f<<28|d|8192}d=d|1073741824}v[l>>2]=d}d=l+4|0;f=h+4|0;g=g+1|0;if((g|0)!=64){continue}break}d=l+12|0;f=h+772|0;l=F>>>0<60;F=F+4|0;if(l){continue}break}break Ab}b=1<>>1|b;k=v[e+120>>2];l=(k+(q<<2)|0)+12|0;d=v[e+128>>2];i=v[e+8>>2];b=v[e+4>>2];c=v[e>>2];r=v[e+104>>2];f=v[e+116>>2];$b:{if(U&8){ac:{if(d>>>0<4){h=0;break ac}if(q){h=0;g=0-n|0;m=B(q,12);K=q<<3;while(1){D=0;while(1){k=l;l=v[k>>2];if(l){bc:{if(l&2097168){break bc}d=l&495;if(!d){break bc}o=(w[d+v[e+108>>2]|0]<<2)+e|0;r=o+28|0;j=v[r>>2];d=v[j>>2];b=b-d|0;cc:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;p=v[j+4>>2];if(b&32768){break cc}p=v[j+4>>2];s=o;o=b>>>0>>0;v[s+28>>2]=v[j+(o?12:8)>>2];while(1){dc:{if(i){break dc}i=v[e+16>>2];j=i+1|0;d=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(d<<8)+c|0;break dc}if(d>>>0<=143){v[e+16>>2]=j;c=(d<<9)+c|0;i=7;break dc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}p=o?!p:p;break cc}p=v[j+4>>2];s=o;o=b>>>0>>0;v[s+28>>2]=v[j+(o?8:12)>>2];while(1){ec:{if(i){break ec}i=v[e+16>>2];j=i+1|0;b=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(b<<8)+c|0;break ec}if(b>>>0<=143){v[e+16>>2]=j;c=(b<<9)+c|0;i=7;break ec}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;p=o?p:!p}if(p){o=k-4|0;G=v[k+4>>2]>>>17&4|(v[o>>2]>>>19&1|(l>>>14&16|(l>>>16&64|l&170)));p=(w[G+25824|0]<<2)+e|0;r=p+28|0;j=v[r>>2];d=v[j>>2];b=b-d|0;Q=w[G+26080|0];fc:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;s=v[j+4>>2];if(b&32768){break fc}G=v[j+4>>2];s=p;p=b>>>0>>0;v[s+28>>2]=v[j+(p?12:8)>>2];while(1){gc:{if(i){break gc}i=v[e+16>>2];j=i+1|0;d=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(d<<8)+c|0;break gc}if(d>>>0<=143){v[e+16>>2]=j;c=(d<<9)+c|0;i=7;break gc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}s=p?!G:G;break fc}G=v[j+4>>2];s=p;p=b>>>0>>0;v[s+28>>2]=v[j+(p?8:12)>>2];while(1){hc:{if(i){break hc}i=v[e+16>>2];j=i+1|0;b=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(b<<8)+c|0;break hc}if(b>>>0<=143){v[e+16>>2]=j;c=(b<<9)+c|0;i=7;break hc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;s=p?G:!G}d=s^Q;v[f>>2]=d?g:n;v[o>>2]=v[o>>2]|32;v[k+4>>2]=v[k+4>>2]|8;l=d<<19|l|16}l=l|2097152}if(!(!(l&3960)|l&16777344)){G=l>>>3|0;o=(w[v[e+108>>2]+(G&495)|0]<<2)+e|0;r=o+28|0;j=v[r>>2];d=v[j>>2];b=b-d|0;ic:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;p=v[j+4>>2];if(b&32768){break ic}p=v[j+4>>2];s=o;o=b>>>0>>0;v[s+28>>2]=v[j+(o?12:8)>>2];while(1){jc:{if(i){break jc}i=v[e+16>>2];j=i+1|0;d=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(d<<8)+c|0;break jc}if(d>>>0<=143){v[e+16>>2]=j;c=(d<<9)+c|0;i=7;break jc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}p=o?!p:p;break ic}p=v[j+4>>2];s=o;o=b>>>0>>0;v[s+28>>2]=v[j+(o?8:12)>>2];while(1){kc:{if(i){break kc}i=v[e+16>>2];j=i+1|0;b=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(b<<8)+c|0;break kc}if(b>>>0<=143){v[e+16>>2]=j;c=(b<<9)+c|0;i=7;break kc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;p=o?p:!p}if(p){o=k-4|0;G=v[k+4>>2]>>>20&4|(v[o>>2]>>>22&1|(l>>>15&16|(l>>>19&64|G&170)));p=(w[G+25824|0]<<2)+e|0;r=p+28|0;j=v[r>>2];d=v[j>>2];b=b-d|0;Q=w[G+26080|0];H=(q<<2)+f|0;lc:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;s=v[j+4>>2];if(b&32768){break lc}G=v[j+4>>2];s=p;p=b>>>0>>0;v[s+28>>2]=v[j+(p?12:8)>>2];while(1){mc:{if(i){break mc}i=v[e+16>>2];j=i+1|0;d=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(d<<8)+c|0;break mc}if(d>>>0<=143){v[e+16>>2]=j;c=(d<<9)+c|0;i=7;break mc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}s=p?!G:G;break lc}G=v[j+4>>2];s=p;p=b>>>0>>0;v[s+28>>2]=v[j+(p?8:12)>>2];while(1){nc:{if(i){break nc}i=v[e+16>>2];j=i+1|0;b=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(b<<8)+c|0;break nc}if(b>>>0<=143){v[e+16>>2]=j;c=(b<<9)+c|0;i=7;break nc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;s=p?G:!G}d=s^Q;v[H>>2]=d?g:n;v[o>>2]=v[o>>2]|256;v[k+4>>2]=v[k+4>>2]|64;l=d<<22|l|128}l=l|16777216}if(!(!(l&31680)|l&134218752)){G=l>>>6|0;o=(w[v[e+108>>2]+(G&495)|0]<<2)+e|0;r=o+28|0;j=v[r>>2];d=v[j>>2];b=b-d|0;oc:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;p=v[j+4>>2];if(b&32768){break oc}p=v[j+4>>2];s=o;o=b>>>0>>0;v[s+28>>2]=v[j+(o?12:8)>>2];while(1){pc:{if(i){break pc}i=v[e+16>>2];j=i+1|0;d=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(d<<8)+c|0;break pc}if(d>>>0<=143){v[e+16>>2]=j;c=(d<<9)+c|0;i=7;break pc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}p=o?!p:p;break oc}p=v[j+4>>2];s=o;o=b>>>0>>0;v[s+28>>2]=v[j+(o?8:12)>>2];while(1){qc:{if(i){break qc}i=v[e+16>>2];j=i+1|0;b=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(b<<8)+c|0;break qc}if(b>>>0<=143){v[e+16>>2]=j;c=(b<<9)+c|0;i=7;break qc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;p=o?p:!p}if(p){o=k-4|0;G=v[k+4>>2]>>>23&4|(v[o>>2]>>>25&1|(l>>>18&16|(l>>>22&64|G&170)));p=(w[G+25824|0]<<2)+e|0;r=p+28|0;j=v[r>>2];d=v[j>>2];b=b-d|0;Q=w[G+26080|0];H=f+K|0;rc:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;s=v[j+4>>2];if(b&32768){break rc}G=v[j+4>>2];s=p;p=b>>>0>>0;v[s+28>>2]=v[j+(p?12:8)>>2];while(1){sc:{if(i){break sc}i=v[e+16>>2];j=i+1|0;d=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(d<<8)+c|0;break sc}if(d>>>0<=143){v[e+16>>2]=j;c=(d<<9)+c|0;i=7;break sc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}s=p?!G:G;break rc}G=v[j+4>>2];s=p;p=b>>>0>>0;v[s+28>>2]=v[j+(p?8:12)>>2];while(1){tc:{if(i){break tc}i=v[e+16>>2];j=i+1|0;b=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(b<<8)+c|0;break tc}if(b>>>0<=143){v[e+16>>2]=j;c=(b<<9)+c|0;i=7;break tc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;s=p?G:!G}d=s^Q;v[H>>2]=d?g:n;v[o>>2]=v[o>>2]|2048;v[k+4>>2]=v[k+4>>2]|512;l=d<<25|l|1024}l=l|134217728}if(!(!(l&253440)|l&1073750016)){G=l>>>9|0;o=(w[v[e+108>>2]+(G&495)|0]<<2)+e|0;r=o+28|0;j=v[r>>2];d=v[j>>2];b=b-d|0;uc:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;p=v[j+4>>2];if(b&32768){break uc}p=v[j+4>>2];s=o;o=b>>>0>>0;v[s+28>>2]=v[j+(o?12:8)>>2];while(1){vc:{if(i){break vc}i=v[e+16>>2];j=i+1|0;d=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(d<<8)+c|0;break vc}if(d>>>0<=143){v[e+16>>2]=j;c=(d<<9)+c|0;i=7;break vc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}p=o?!p:p;break uc}p=v[j+4>>2];s=o;o=b>>>0>>0;v[s+28>>2]=v[j+(o?8:12)>>2];while(1){wc:{if(i){break wc}i=v[e+16>>2];j=i+1|0;b=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(b<<8)+c|0;break wc}if(b>>>0<=143){v[e+16>>2]=j;c=(b<<9)+c|0;i=7;break wc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;p=o?p:!p}if(p){o=k-4|0;G=v[k+4>>2]>>>26&4|(v[o>>2]>>>28&1|(l>>>21&16|(l>>>25&64|G&170)));p=(w[G+25824|0]<<2)+e|0;r=p+28|0;j=v[r>>2];d=v[j>>2];b=b-d|0;Q=w[G+26080|0];H=f+m|0;xc:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;s=v[j+4>>2];if(b&32768){break xc}G=v[j+4>>2];s=p;p=b>>>0>>0;v[s+28>>2]=v[j+(p?12:8)>>2];while(1){yc:{if(i){break yc}i=v[e+16>>2];j=i+1|0;d=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(d<<8)+c|0;break yc}if(d>>>0<=143){v[e+16>>2]=j;c=(d<<9)+c|0;i=7;break yc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}s=p?!G:G;break xc}G=v[j+4>>2];s=p;p=b>>>0>>0;v[s+28>>2]=v[j+(p?8:12)>>2];while(1){zc:{if(i){break zc}i=v[e+16>>2];j=i+1|0;b=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(b<<8)+c|0;break zc}if(b>>>0<=143){v[e+16>>2]=j;c=(b<<9)+c|0;i=7;break zc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;s=p?G:!G}j=s^Q;v[H>>2]=j?g:n;v[o>>2]=v[o>>2]|16384;v[k+4>>2]=v[k+4>>2]|4096;d=k+(v[e+124>>2]<<2)|0;v[d+4>>2]=v[d+4>>2]|4;v[d+12>>2]=v[d+12>>2]|1;v[d+8>>2]=v[d+8>>2]|j<<18|2;l=j<<28|l|8192}l=l|1073741824}v[k>>2]=l}l=k+4|0;f=f+4|0;D=D+1|0;if((q|0)!=(D|0)){continue}break}l=k+12|0;f=f+m|0;h=h+4|0;d=v[e+128>>2];if(h>>>0<(d&-4)>>>0){continue}break}break ac}l=d&-4;l=(l>>>0<=4?4:l)-1|0;h=(l&-4)+4|0;l=(k+(l<<1&-8)|0)+20|0}v[e+8>>2]=i;v[e+4>>2]=b;v[e>>2]=c;v[e+104>>2]=r;if(!q|d>>>0<=h>>>0){break $b}while(1){b=(d|0)==(h|0);i=0;d=h;if(!b){while(1){Ic(e,l,(B(i,q)<<2)+f|0,n,i,v[e+124>>2]+2|0,1);i=i+1|0;d=v[e+128>>2];if(i>>>0>>0){continue}break}}l=l+4|0;f=f+4|0;F=F+1|0;if((q|0)!=(F|0)){continue}break}break $b}Ac:{if(d>>>0<4){h=0;break Ac}if(q){h=0;g=0-n|0;m=B(q,12);K=q<<3;while(1){D=0;while(1){k=l;l=v[k>>2];if(l){Bc:{if(l&2097168){break Bc}d=l&495;if(!d){break Bc}o=(w[d+v[e+108>>2]|0]<<2)+e|0;r=o+28|0;j=v[r>>2];d=v[j>>2];b=b-d|0;Cc:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;p=v[j+4>>2];if(b&32768){break Cc}p=v[j+4>>2];s=o;o=b>>>0>>0;v[s+28>>2]=v[j+(o?12:8)>>2];while(1){Dc:{if(i){break Dc}i=v[e+16>>2];j=i+1|0;d=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(d<<8)+c|0;break Dc}if(d>>>0<=143){v[e+16>>2]=j;c=(d<<9)+c|0;i=7;break Dc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}p=o?!p:p;break Cc}p=v[j+4>>2];s=o;o=b>>>0>>0;v[s+28>>2]=v[j+(o?8:12)>>2];while(1){Ec:{if(i){break Ec}i=v[e+16>>2];j=i+1|0;b=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(b<<8)+c|0;break Ec}if(b>>>0<=143){v[e+16>>2]=j;c=(b<<9)+c|0;i=7;break Ec}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;p=o?p:!p}if(p){o=k-4|0;G=v[k+4>>2]>>>17&4|(v[o>>2]>>>19&1|(l>>>14&16|(l>>>16&64|l&170)));p=(w[G+25824|0]<<2)+e|0;r=p+28|0;j=v[r>>2];d=v[j>>2];b=b-d|0;Q=w[G+26080|0];Fc:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;s=v[j+4>>2];if(b&32768){break Fc}G=v[j+4>>2];s=p;p=b>>>0>>0;v[s+28>>2]=v[j+(p?12:8)>>2];while(1){Gc:{if(i){break Gc}i=v[e+16>>2];j=i+1|0;d=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(d<<8)+c|0;break Gc}if(d>>>0<=143){v[e+16>>2]=j;c=(d<<9)+c|0;i=7;break Gc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}s=p?!G:G;break Fc}G=v[j+4>>2];s=p;p=b>>>0>>0;v[s+28>>2]=v[j+(p?8:12)>>2];while(1){Hc:{if(i){break Hc}i=v[e+16>>2];j=i+1|0;b=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(b<<8)+c|0;break Hc}if(b>>>0<=143){v[e+16>>2]=j;c=(b<<9)+c|0;i=7;break Hc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;s=p?G:!G}j=s^Q;v[f>>2]=j?g:n;v[o>>2]=v[o>>2]|32;v[k+4>>2]=v[k+4>>2]|8;d=k+(-2-v[e+124>>2]<<2)|0;v[d+4>>2]=v[d+4>>2]|32768;v[d>>2]=v[d>>2]|j<<31|65536;d=d-4|0;v[d>>2]=v[d>>2]|131072;l=j<<19|l|16}l=l|2097152}if(!(!(l&3960)|l&16777344)){G=l>>>3|0;o=(w[v[e+108>>2]+(G&495)|0]<<2)+e|0;r=o+28|0;j=v[r>>2];d=v[j>>2];b=b-d|0;Ic:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;p=v[j+4>>2];if(b&32768){break Ic}p=v[j+4>>2];s=o;o=b>>>0>>0;v[s+28>>2]=v[j+(o?12:8)>>2];while(1){Jc:{if(i){break Jc}i=v[e+16>>2];j=i+1|0;d=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(d<<8)+c|0;break Jc}if(d>>>0<=143){v[e+16>>2]=j;c=(d<<9)+c|0;i=7;break Jc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}p=o?!p:p;break Ic}p=v[j+4>>2];s=o;o=b>>>0>>0;v[s+28>>2]=v[j+(o?8:12)>>2];while(1){Kc:{if(i){break Kc}i=v[e+16>>2];j=i+1|0;b=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(b<<8)+c|0;break Kc}if(b>>>0<=143){v[e+16>>2]=j;c=(b<<9)+c|0;i=7;break Kc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;p=o?p:!p}if(p){o=k-4|0;G=v[k+4>>2]>>>20&4|(v[o>>2]>>>22&1|(l>>>15&16|(l>>>19&64|G&170)));p=(w[G+25824|0]<<2)+e|0;r=p+28|0;j=v[r>>2];d=v[j>>2];b=b-d|0;Q=w[G+26080|0];H=(q<<2)+f|0;Lc:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;s=v[j+4>>2];if(b&32768){break Lc}G=v[j+4>>2];s=p;p=b>>>0>>0;v[s+28>>2]=v[j+(p?12:8)>>2];while(1){Mc:{if(i){break Mc}i=v[e+16>>2];j=i+1|0;d=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(d<<8)+c|0;break Mc}if(d>>>0<=143){v[e+16>>2]=j;c=(d<<9)+c|0;i=7;break Mc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}s=p?!G:G;break Lc}G=v[j+4>>2];s=p;p=b>>>0>>0;v[s+28>>2]=v[j+(p?8:12)>>2];while(1){Nc:{if(i){break Nc}i=v[e+16>>2];j=i+1|0;b=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(b<<8)+c|0;break Nc}if(b>>>0<=143){v[e+16>>2]=j;c=(b<<9)+c|0;i=7;break Nc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;s=p?G:!G}d=s^Q;v[H>>2]=d?g:n;v[o>>2]=v[o>>2]|256;v[k+4>>2]=v[k+4>>2]|64;l=d<<22|l|128}l=l|16777216}if(!(!(l&31680)|l&134218752)){G=l>>>6|0;o=(w[v[e+108>>2]+(G&495)|0]<<2)+e|0;r=o+28|0;j=v[r>>2];d=v[j>>2];b=b-d|0;Oc:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;p=v[j+4>>2];if(b&32768){break Oc}p=v[j+4>>2];s=o;o=b>>>0>>0;v[s+28>>2]=v[j+(o?12:8)>>2];while(1){Pc:{if(i){break Pc}i=v[e+16>>2];j=i+1|0;d=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(d<<8)+c|0;break Pc}if(d>>>0<=143){v[e+16>>2]=j;c=(d<<9)+c|0;i=7;break Pc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}p=o?!p:p;break Oc}p=v[j+4>>2];s=o;o=b>>>0>>0;v[s+28>>2]=v[j+(o?8:12)>>2];while(1){Qc:{if(i){break Qc}i=v[e+16>>2];j=i+1|0;b=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(b<<8)+c|0;break Qc}if(b>>>0<=143){v[e+16>>2]=j;c=(b<<9)+c|0;i=7;break Qc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;p=o?p:!p}if(p){o=k-4|0;G=v[k+4>>2]>>>23&4|(v[o>>2]>>>25&1|(l>>>18&16|(l>>>22&64|G&170)));p=(w[G+25824|0]<<2)+e|0;r=p+28|0;j=v[r>>2];d=v[j>>2];b=b-d|0;Q=w[G+26080|0];H=f+K|0;Rc:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;s=v[j+4>>2];if(b&32768){break Rc}G=v[j+4>>2];s=p;p=b>>>0>>0;v[s+28>>2]=v[j+(p?12:8)>>2];while(1){Sc:{if(i){break Sc}i=v[e+16>>2];j=i+1|0;d=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(d<<8)+c|0;break Sc}if(d>>>0<=143){v[e+16>>2]=j;c=(d<<9)+c|0;i=7;break Sc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}s=p?!G:G;break Rc}G=v[j+4>>2];s=p;p=b>>>0>>0;v[s+28>>2]=v[j+(p?8:12)>>2];while(1){Tc:{if(i){break Tc}i=v[e+16>>2];j=i+1|0;b=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(b<<8)+c|0;break Tc}if(b>>>0<=143){v[e+16>>2]=j;c=(b<<9)+c|0;i=7;break Tc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;s=p?G:!G}d=s^Q;v[H>>2]=d?g:n;v[o>>2]=v[o>>2]|2048;v[k+4>>2]=v[k+4>>2]|512;l=d<<25|l|1024}l=l|134217728}if(!(!(l&253440)|l&1073750016)){G=l>>>9|0;o=(w[v[e+108>>2]+(G&495)|0]<<2)+e|0;r=o+28|0;j=v[r>>2];d=v[j>>2];b=b-d|0;Uc:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;p=v[j+4>>2];if(b&32768){break Uc}p=v[j+4>>2];s=o;o=b>>>0>>0;v[s+28>>2]=v[j+(o?12:8)>>2];while(1){Vc:{if(i){break Vc}i=v[e+16>>2];j=i+1|0;d=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(d<<8)+c|0;break Vc}if(d>>>0<=143){v[e+16>>2]=j;c=(d<<9)+c|0;i=7;break Vc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}p=o?!p:p;break Uc}p=v[j+4>>2];s=o;o=b>>>0>>0;v[s+28>>2]=v[j+(o?8:12)>>2];while(1){Wc:{if(i){break Wc}i=v[e+16>>2];j=i+1|0;b=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(b<<8)+c|0;break Wc}if(b>>>0<=143){v[e+16>>2]=j;c=(b<<9)+c|0;i=7;break Wc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;p=o?p:!p}if(p){o=k-4|0;G=v[k+4>>2]>>>26&4|(v[o>>2]>>>28&1|(l>>>21&16|(l>>>25&64|G&170)));p=(w[G+25824|0]<<2)+e|0;r=p+28|0;j=v[r>>2];d=v[j>>2];b=b-d|0;Q=w[G+26080|0];H=f+m|0;Xc:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;s=v[j+4>>2];if(b&32768){break Xc}G=v[j+4>>2];s=p;p=b>>>0>>0;v[s+28>>2]=v[j+(p?12:8)>>2];while(1){Yc:{if(i){break Yc}i=v[e+16>>2];j=i+1|0;d=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(d<<8)+c|0;break Yc}if(d>>>0<=143){v[e+16>>2]=j;c=(d<<9)+c|0;i=7;break Yc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}s=p?!G:G;break Xc}G=v[j+4>>2];s=p;p=b>>>0>>0;v[s+28>>2]=v[j+(p?8:12)>>2];while(1){Zc:{if(i){break Zc}i=v[e+16>>2];j=i+1|0;b=w[i+1|0];if(w[i|0]!=255){v[e+16>>2]=j;i=8;c=(b<<8)+c|0;break Zc}if(b>>>0<=143){v[e+16>>2]=j;c=(b<<9)+c|0;i=7;break Zc}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8}i=i-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;s=p?G:!G}j=s^Q;v[H>>2]=j?g:n;v[o>>2]=v[o>>2]|16384;v[k+4>>2]=v[k+4>>2]|4096;d=k+(v[e+124>>2]<<2)|0;v[d+4>>2]=v[d+4>>2]|4;v[d+12>>2]=v[d+12>>2]|1;v[d+8>>2]=v[d+8>>2]|j<<18|2;l=j<<28|l|8192}l=l|1073741824}v[k>>2]=l}l=k+4|0;f=f+4|0;D=D+1|0;if((q|0)!=(D|0)){continue}break}l=k+12|0;f=f+m|0;h=h+4|0;d=v[e+128>>2];if(h>>>0<(d&-4)>>>0){continue}break}break Ac}l=d&-4;l=(l>>>0<=4?4:l)-1|0;h=(l&-4)+4|0;l=(k+(l<<1&-8)|0)+20|0}v[e+8>>2]=i;v[e+4>>2]=b;v[e>>2]=c;v[e+104>>2]=r;if(!q|d>>>0<=h>>>0){break $b}while(1){b=(d|0)==(h|0);i=0;d=h;if(!b){while(1){Ic(e,l,(B(i,q)<<2)+f|0,n,i,v[e+124>>2]+2|0,0);i=i+1|0;d=v[e+128>>2];if(i>>>0>>0){continue}break}}l=l+4|0;f=f+4|0;F=F+1|0;if((q|0)!=(F|0)){continue}break}}break zb}while(1){g=0;while(1){h=f;l=d;d=v[d>>2];if(d){_c:{if(d&2097168){break _c}f=d&495;if(!f){break _c}D=(w[f+v[e+108>>2]|0]<<2)+e|0;r=D+28|0;n=v[r>>2];f=v[n>>2];b=b-f|0;$c:{if(c>>>16>>>0>>0){j=v[n+4>>2];m=D;D=b>>>0>>0;v[m+28>>2]=v[n+(D?8:12)>>2];while(1){ad:{if(i){break ad}n=v[e+16>>2];i=n+1|0;b=w[n+1|0];if(w[n|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break ad}v[e+16>>2]=i;c=(b<<9)+c|0;i=7;break ad}v[e+16>>2]=i;i=8;c=(b<<8)+c|0}i=i-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=D?j:!j;break $c}c=c-(f<<16)|0;if(!(b&32768)){j=v[n+4>>2];m=D;D=b>>>0>>0;v[m+28>>2]=v[n+(D?12:8)>>2];while(1){bd:{if(i){break bd}n=v[e+16>>2];i=n+1|0;f=w[n+1|0];if(w[n|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break bd}v[e+16>>2]=i;c=(f<<9)+c|0;i=7;break bd}v[e+16>>2]=i;i=8;c=(f<<8)+c|0}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=D?!j:j;break $c}f=v[n+4>>2]}if(f){D=l-4|0;m=v[l+4>>2]>>>17&4|(v[D>>2]>>>19&1|(d>>>14&16|(d>>>16&64|d&170)));j=(w[m+25824|0]<<2)+e|0;r=j+28|0;n=v[r>>2];f=v[n>>2];b=b-f|0;o=w[m+26080|0];cd:{if(c>>>16>>>0>>0){m=v[n+4>>2];p=j;j=b>>>0>>0;v[p+28>>2]=v[n+(j?8:12)>>2];while(1){dd:{if(i){break dd}n=v[e+16>>2];i=n+1|0;b=w[n+1|0];if(w[n|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break dd}v[e+16>>2]=i;c=(b<<9)+c|0;i=7;break dd}v[e+16>>2]=i;i=8;c=(b<<8)+c|0}i=i-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?m:!m;break cd}c=c-(f<<16)|0;if(!(b&32768)){m=v[n+4>>2];p=j;j=b>>>0>>0;v[p+28>>2]=v[n+(j?12:8)>>2];while(1){ed:{if(i){break ed}n=v[e+16>>2];i=n+1|0;f=w[n+1|0];if(w[n|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break ed}v[e+16>>2]=i;c=(f<<9)+c|0;i=7;break ed}v[e+16>>2]=i;i=8;c=(f<<8)+c|0}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=j?!m:m;break cd}f=v[n+4>>2]}f=f^o;v[h>>2]=f?q:k;v[D>>2]=v[D>>2]|32;v[l+4>>2]=v[l+4>>2]|8;d=f<<19|d|16}d=d|2097152}if(!(!(d&3960)|d&16777344)){m=d>>>3|0;D=(w[v[e+108>>2]+(m&495)|0]<<2)+e|0;r=D+28|0;n=v[r>>2];f=v[n>>2];b=b-f|0;fd:{if(c>>>16>>>0>>0){j=v[n+4>>2];o=D;D=b>>>0>>0;v[o+28>>2]=v[n+(D?8:12)>>2];while(1){gd:{if(i){break gd}n=v[e+16>>2];i=n+1|0;b=w[n+1|0];if(w[n|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break gd}v[e+16>>2]=i;c=(b<<9)+c|0;i=7;break gd}v[e+16>>2]=i;i=8;c=(b<<8)+c|0}i=i-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=D?j:!j;break fd}c=c-(f<<16)|0;if(!(b&32768)){j=v[n+4>>2];o=D;D=b>>>0>>0;v[o+28>>2]=v[n+(D?12:8)>>2];while(1){hd:{if(i){break hd}n=v[e+16>>2];i=n+1|0;f=w[n+1|0];if(w[n|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break hd}v[e+16>>2]=i;c=(f<<9)+c|0;i=7;break hd}v[e+16>>2]=i;i=8;c=(f<<8)+c|0}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=D?!j:j;break fd}f=v[n+4>>2]}if(f){D=l-4|0;m=v[l+4>>2]>>>20&4|(v[D>>2]>>>22&1|(d>>>15&16|(d>>>19&64|m&170)));j=(w[m+25824|0]<<2)+e|0;r=j+28|0;n=v[r>>2];f=v[n>>2];b=b-f|0;o=w[m+26080|0];id:{if(c>>>16>>>0>>0){m=v[n+4>>2];p=j;j=b>>>0>>0;v[p+28>>2]=v[n+(j?8:12)>>2];while(1){jd:{if(i){break jd}n=v[e+16>>2];i=n+1|0;b=w[n+1|0];if(w[n|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break jd}v[e+16>>2]=i;c=(b<<9)+c|0;i=7;break jd}v[e+16>>2]=i;i=8;c=(b<<8)+c|0}i=i-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?m:!m;break id}c=c-(f<<16)|0;if(!(b&32768)){m=v[n+4>>2];p=j;j=b>>>0>>0;v[p+28>>2]=v[n+(j?12:8)>>2];while(1){kd:{if(i){break kd}n=v[e+16>>2];i=n+1|0;f=w[n+1|0];if(w[n|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break kd}v[e+16>>2]=i;c=(f<<9)+c|0;i=7;break kd}v[e+16>>2]=i;i=8;c=(f<<8)+c|0}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=j?!m:m;break id}f=v[n+4>>2]}f=f^o;v[h+256>>2]=f?q:k;v[D>>2]=v[D>>2]|256;v[l+4>>2]=v[l+4>>2]|64;d=f<<22|d|128}d=d|16777216}if(!(!(d&31680)|d&134218752)){m=d>>>6|0;D=(w[v[e+108>>2]+(m&495)|0]<<2)+e|0;r=D+28|0;n=v[r>>2];f=v[n>>2];b=b-f|0;ld:{if(c>>>16>>>0>>0){j=v[n+4>>2];o=D;D=b>>>0>>0;v[o+28>>2]=v[n+(D?8:12)>>2];while(1){md:{if(i){break md}n=v[e+16>>2];i=n+1|0;b=w[n+1|0];if(w[n|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break md}v[e+16>>2]=i;c=(b<<9)+c|0;i=7;break md}v[e+16>>2]=i;i=8;c=(b<<8)+c|0}i=i-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=D?j:!j;break ld}c=c-(f<<16)|0;if(!(b&32768)){j=v[n+4>>2];o=D;D=b>>>0>>0;v[o+28>>2]=v[n+(D?12:8)>>2];while(1){nd:{if(i){break nd}n=v[e+16>>2];i=n+1|0;f=w[n+1|0];if(w[n|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break nd}v[e+16>>2]=i;c=(f<<9)+c|0;i=7;break nd}v[e+16>>2]=i;i=8;c=(f<<8)+c|0}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=D?!j:j;break ld}f=v[n+4>>2]}if(f){D=l-4|0;m=v[l+4>>2]>>>23&4|(v[D>>2]>>>25&1|(d>>>18&16|(d>>>22&64|m&170)));j=(w[m+25824|0]<<2)+e|0;r=j+28|0;n=v[r>>2];f=v[n>>2];b=b-f|0;o=w[m+26080|0];od:{if(c>>>16>>>0>>0){m=v[n+4>>2];p=j;j=b>>>0>>0;v[p+28>>2]=v[n+(j?8:12)>>2];while(1){pd:{if(i){break pd}n=v[e+16>>2];i=n+1|0;b=w[n+1|0];if(w[n|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break pd}v[e+16>>2]=i;c=(b<<9)+c|0;i=7;break pd}v[e+16>>2]=i;i=8;c=(b<<8)+c|0}i=i-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?m:!m;break od}c=c-(f<<16)|0;if(!(b&32768)){m=v[n+4>>2];p=j;j=b>>>0>>0;v[p+28>>2]=v[n+(j?12:8)>>2];while(1){qd:{if(i){break qd}n=v[e+16>>2];i=n+1|0;f=w[n+1|0];if(w[n|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break qd}v[e+16>>2]=i;c=(f<<9)+c|0;i=7;break qd}v[e+16>>2]=i;i=8;c=(f<<8)+c|0}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=j?!m:m;break od}f=v[n+4>>2]}f=f^o;v[h+512>>2]=f?q:k;v[D>>2]=v[D>>2]|2048;v[l+4>>2]=v[l+4>>2]|512;d=f<<25|d|1024}d=d|134217728}if(!(!(d&253440)|d&1073750016)){m=d>>>9|0;D=(w[v[e+108>>2]+(m&495)|0]<<2)+e|0;r=D+28|0;n=v[r>>2];f=v[n>>2];b=b-f|0;rd:{if(c>>>16>>>0>>0){j=v[n+4>>2];o=D;D=b>>>0>>0;v[o+28>>2]=v[n+(D?8:12)>>2];while(1){sd:{if(i){break sd}n=v[e+16>>2];i=n+1|0;b=w[n+1|0];if(w[n|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break sd}v[e+16>>2]=i;c=(b<<9)+c|0;i=7;break sd}v[e+16>>2]=i;i=8;c=(b<<8)+c|0}i=i-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=D?j:!j;break rd}c=c-(f<<16)|0;if(!(b&32768)){j=v[n+4>>2];o=D;D=b>>>0>>0;v[o+28>>2]=v[n+(D?12:8)>>2];while(1){td:{if(i){break td}n=v[e+16>>2];i=n+1|0;f=w[n+1|0];if(w[n|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break td}v[e+16>>2]=i;c=(f<<9)+c|0;i=7;break td}v[e+16>>2]=i;i=8;c=(f<<8)+c|0}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=D?!j:j;break rd}f=v[n+4>>2]}if(f){D=l-4|0;m=v[l+4>>2]>>>26&4|(v[D>>2]>>>28&1|(d>>>21&16|(d>>>25&64|m&170)));j=(w[m+25824|0]<<2)+e|0;r=j+28|0;n=v[r>>2];f=v[n>>2];b=b-f|0;o=w[m+26080|0];ud:{if(c>>>16>>>0>>0){m=v[n+4>>2];p=j;j=b>>>0>>0;v[p+28>>2]=v[n+(j?8:12)>>2];while(1){vd:{if(i){break vd}n=v[e+16>>2];i=n+1|0;b=w[n+1|0];if(w[n|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break vd}v[e+16>>2]=i;c=(b<<9)+c|0;i=7;break vd}v[e+16>>2]=i;i=8;c=(b<<8)+c|0}i=i-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=j?m:!m;break ud}c=c-(f<<16)|0;if(!(b&32768)){m=v[n+4>>2];p=j;j=b>>>0>>0;v[p+28>>2]=v[n+(j?12:8)>>2];while(1){wd:{if(i){break wd}n=v[e+16>>2];i=n+1|0;f=w[n+1|0];if(w[n|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;i=8;break wd}v[e+16>>2]=i;c=(f<<9)+c|0;i=7;break wd}v[e+16>>2]=i;i=8;c=(f<<8)+c|0}i=i-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=j?!m:m;break ud}f=v[n+4>>2]}f=f^o;v[h+768>>2]=f?q:k;v[D>>2]=v[D>>2]|16384;v[l+4>>2]=v[l+4>>2]|4096;v[l+260>>2]=v[l+260>>2]|4;v[l+268>>2]=v[l+268>>2]|1;v[l+264>>2]=v[l+264>>2]|f<<18|2;d=f<<28|d|8192}d=d|1073741824}v[l>>2]=d}d=l+4|0;f=h+4|0;g=g+1|0;if((g|0)!=64){continue}break}d=l+12|0;f=h+772|0;l=F>>>0<60;F=F+4|0;if(l){continue}break}}v[e+8>>2]=i;v[e+4>>2]=b;v[e>>2]=c;v[e+104>>2]=r}break $a;case 1:if(A){k=1<>>1|0;q=v[e+124>>2];r=q<<2;b=(r+v[e+120>>2]|0)+12|0;f=v[e+116>>2];h=0;d=v[e+128>>2];if(d>>>0>=4){if(!q){break _a}n=B(q,3);D=q<<1;c=0-k|0;while(1){d=0;while(1){l=b;b=v[b>>2];xd:{if(!b){break xd}if((b&2097168)==16){b=v[e>>2];F=v[e+8>>2];yd:{if(F){F=F-1|0;break yd}i=(b|0)==255;F=v[e+16>>2];b=w[F|0];zd:{if(!i){v[e>>2]=b;v[e+16>>2]=F+1;break zd}if(b>>>0<=143){v[e>>2]=b;v[e+16>>2]=F+1;F=6;break yd}b=255;v[e>>2]=255}F=7}v[e+8>>2]=F;m=b>>>F&1;b=v[f>>2];v[f>>2]=((m|0)==(b>>>31|0)?c:k)+b;b=v[l>>2]|1048576;v[l>>2]=b}if((b&16777344)==128){F=f+r|0;b=v[e>>2];i=v[e+8>>2];Ad:{if(i){i=i-1|0;break Ad}j=(b|0)==255;i=v[e+16>>2];b=w[i|0];Bd:{if(!j){v[e>>2]=b;v[e+16>>2]=i+1;break Bd}if(b>>>0<=143){v[e>>2]=b;v[e+16>>2]=i+1;i=6;break Ad}b=255;v[e>>2]=255}i=7}v[e+8>>2]=i;m=b>>>i&1;b=v[F>>2];v[F>>2]=((m|0)==(b>>>31|0)?c:k)+b;b=v[l>>2]|8388608;v[l>>2]=b}if((b&134218752)==1024){F=(D<<2)+f|0;b=v[e>>2];i=v[e+8>>2];Cd:{if(i){i=i-1|0;break Cd}j=(b|0)==255;i=v[e+16>>2];b=w[i|0];Dd:{if(!j){v[e>>2]=b;v[e+16>>2]=i+1;break Dd}if(b>>>0<=143){v[e>>2]=b;v[e+16>>2]=i+1;i=6;break Cd}b=255;v[e>>2]=255}i=7}v[e+8>>2]=i;m=b>>>i&1;b=v[F>>2];v[F>>2]=((m|0)==(b>>>31|0)?c:k)+b;b=v[l>>2]|67108864;v[l>>2]=b}if((b&1073750016)!=8192){break xd}F=(n<<2)+f|0;b=v[e>>2];i=v[e+8>>2];Ed:{if(i){i=i-1|0;break Ed}j=(b|0)==255;i=v[e+16>>2];b=w[i|0];Fd:{if(!j){v[e>>2]=b;v[e+16>>2]=i+1;break Fd}if(b>>>0<=143){v[e>>2]=b;v[e+16>>2]=i+1;i=6;break Ed}b=255;v[e>>2]=255}i=7}v[e+8>>2]=i;m=b>>>i&1;b=v[F>>2];v[F>>2]=((m|0)==(b>>>31|0)?c:k)+b;v[l>>2]=v[l>>2]|536870912}f=f+4|0;b=l+4|0;d=d+1|0;if((q|0)!=(d|0)){continue}break}b=l+12|0;f=(n<<2)+f|0;h=h+4|0;d=v[e+128>>2];if(h>>>0<(d&-4)>>>0){continue}break}}if(!q|d>>>0<=h>>>0){break $a}m=0;F=0-k|0;l=d;while(1){Gd:{if((h|0)==(l|0)){l=h;break Gd}i=v[b>>2];r=0;while(1){l=B(r,3);if((2097168<>2];n=v[e+8>>2];Hd:{if(n){n=n-1|0;break Hd}i=(d|0)!=255;n=v[e+16>>2];d=w[n|0];Id:{if(!i){if(d>>>0>=144){d=255;v[e>>2]=255;break Id}v[e>>2]=d;v[e+16>>2]=n+1;n=6;break Hd}v[e>>2]=d;v[e+16>>2]=n+1}n=7}v[e+8>>2]=n;n=d>>>n&1;d=v[c>>2];v[c>>2]=((n|0)==(d>>>31|0)?F:k)+d;i=v[b>>2]|1048576<>2]=i;d=v[e+128>>2]}l=d;r=r+1|0;if(r>>>0>>0){continue}break}}f=f+4|0;b=b+4|0;m=m+1|0;if((q|0)!=(m|0)){continue}break}break $a}h=v[e+120>>2];l=v[e+116>>2];n=v[e+124>>2];d=v[e+128>>2];if(!((n|0)!=64|(d|0)!=64)){d=h+268|0;m=0;n=1<>>1|0;F=0-n|0;r=v[e+8>>2];f=v[e+4>>2];b=v[e>>2];g=v[e+104>>2];while(1){h=0;while(1){k=l;q=d;l=v[d>>2];if(l){if((l&2097168)==16){i=((l&1048576?16:l&495?15:14)<<2)+e|0;g=i+28|0;c=v[g>>2];d=v[c>>2];f=f-d|0;Jd:{if(b>>>16>>>0>>0){D=v[c+4>>2];j=d>>>0>f>>>0;v[i+28>>2]=v[c+(j?8:12)>>2];while(1){Kd:{if(r){break Kd}c=v[e+16>>2];i=c+1|0;f=w[c+1|0];if(w[c|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;b=b+65280|0;r=8;break Kd}v[e+16>>2]=i;b=(f<<9)+b|0;r=7;break Kd}v[e+16>>2]=i;r=8;b=(f<<8)+b|0}r=r-1|0;b=b<<1;d=d<<1;if(d>>>0<32768){continue}break}f=d;d=j?D:!D;break Jd}b=b-(d<<16)|0;if(!(f&32768)){D=v[c+4>>2];j=d>>>0>f>>>0;v[i+28>>2]=v[c+(j?12:8)>>2];while(1){Ld:{if(r){break Ld}c=v[e+16>>2];i=c+1|0;d=w[c+1|0];if(w[c|0]==255){if(d>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;b=b+65280|0;r=8;break Ld}v[e+16>>2]=i;b=(d<<9)+b|0;r=7;break Ld}v[e+16>>2]=i;r=8;b=(d<<8)+b|0}r=r-1|0;b=b<<1;f=f<<1;if(f>>>0<32768){continue}break}d=j?!D:D;break Jd}d=v[c+4>>2]}c=v[k>>2];v[k>>2]=((d|0)==(c>>>31|0)?F:n)+c;l=l|1048576}if((l&16777344)==128){i=((l&8388608?16:l&3960?15:14)<<2)+e|0;g=i+28|0;c=v[g>>2];d=v[c>>2];f=f-d|0;Md:{if(b>>>16>>>0>>0){D=v[c+4>>2];j=d>>>0>f>>>0;v[i+28>>2]=v[c+(j?8:12)>>2];while(1){Nd:{if(r){break Nd}c=v[e+16>>2];i=c+1|0;f=w[c+1|0];if(w[c|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;b=b+65280|0;r=8;break Nd}v[e+16>>2]=i;b=(f<<9)+b|0;r=7;break Nd}v[e+16>>2]=i;r=8;b=(f<<8)+b|0}r=r-1|0;b=b<<1;d=d<<1;if(d>>>0<32768){continue}break}f=d;d=j?D:!D;break Md}b=b-(d<<16)|0;if(!(f&32768)){D=v[c+4>>2];j=d>>>0>f>>>0;v[i+28>>2]=v[c+(j?12:8)>>2];while(1){Od:{if(r){break Od}c=v[e+16>>2];i=c+1|0;d=w[c+1|0];if(w[c|0]==255){if(d>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;b=b+65280|0;r=8;break Od}v[e+16>>2]=i;b=(d<<9)+b|0;r=7;break Od}v[e+16>>2]=i;r=8;b=(d<<8)+b|0}r=r-1|0;b=b<<1;f=f<<1;if(f>>>0<32768){continue}break}d=j?!D:D;break Md}d=v[c+4>>2]}c=v[k+256>>2];v[k+256>>2]=((d|0)==(c>>>31|0)?F:n)+c;l=l|8388608}if((l&134218752)==1024){i=((l&67108864?16:l&31680?15:14)<<2)+e|0;g=i+28|0;c=v[g>>2];d=v[c>>2];f=f-d|0;Pd:{if(b>>>16>>>0>>0){D=v[c+4>>2];j=d>>>0>f>>>0;v[i+28>>2]=v[c+(j?8:12)>>2];while(1){Qd:{if(r){break Qd}c=v[e+16>>2];i=c+1|0;f=w[c+1|0];if(w[c|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;b=b+65280|0;r=8;break Qd}v[e+16>>2]=i;b=(f<<9)+b|0;r=7;break Qd}v[e+16>>2]=i;r=8;b=(f<<8)+b|0}r=r-1|0;b=b<<1;d=d<<1;if(d>>>0<32768){continue}break}f=d;d=j?D:!D;break Pd}b=b-(d<<16)|0;if(!(f&32768)){D=v[c+4>>2];j=d>>>0>f>>>0;v[i+28>>2]=v[c+(j?12:8)>>2];while(1){Rd:{if(r){break Rd}c=v[e+16>>2];i=c+1|0;d=w[c+1|0];if(w[c|0]==255){if(d>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;b=b+65280|0;r=8;break Rd}v[e+16>>2]=i;b=(d<<9)+b|0;r=7;break Rd}v[e+16>>2]=i;r=8;b=(d<<8)+b|0}r=r-1|0;b=b<<1;f=f<<1;if(f>>>0<32768){continue}break}d=j?!D:D;break Pd}d=v[c+4>>2]}c=v[k+512>>2];v[k+512>>2]=((d|0)==(c>>>31|0)?F:n)+c;l=l|67108864}if((l&1073750016)==8192){i=((l&536870912?16:l&253440?15:14)<<2)+e|0;g=i+28|0;c=v[g>>2];d=v[c>>2];f=f-d|0;Sd:{if(b>>>16>>>0>>0){D=v[c+4>>2];j=d>>>0>f>>>0;v[i+28>>2]=v[c+(j?8:12)>>2];while(1){Td:{if(r){break Td}c=v[e+16>>2];i=c+1|0;f=w[c+1|0];if(w[c|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;b=b+65280|0;r=8;break Td}v[e+16>>2]=i;b=(f<<9)+b|0;r=7;break Td}v[e+16>>2]=i;r=8;b=(f<<8)+b|0}r=r-1|0;b=b<<1;d=d<<1;if(d>>>0<32768){continue}break}f=d;d=j?D:!D;break Sd}b=b-(d<<16)|0;if(!(f&32768)){D=v[c+4>>2];j=d>>>0>f>>>0;v[i+28>>2]=v[c+(j?12:8)>>2];while(1){Ud:{if(r){break Ud}c=v[e+16>>2];i=c+1|0;d=w[c+1|0];if(w[c|0]==255){if(d>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;b=b+65280|0;r=8;break Ud}v[e+16>>2]=i;b=(d<<9)+b|0;r=7;break Ud}v[e+16>>2]=i;r=8;b=(d<<8)+b|0}r=r-1|0;b=b<<1;f=f<<1;if(f>>>0<32768){continue}break}d=j?!D:D;break Sd}d=v[c+4>>2]}c=v[k+768>>2];v[k+768>>2]=((d|0)==(c>>>31|0)?F:n)+c;l=l|536870912}v[q>>2]=l}d=q+4|0;l=k+4|0;h=h+1|0;if((h|0)!=64){continue}break}d=q+12|0;l=k+772|0;h=m>>>0<60;m=m+4|0;if(h){continue}break}v[e+8>>2]=r;v[e+4>>2]=f;v[e>>2]=b;v[e+104>>2]=g;break $a}F=1<>>1|0;p=n<<2;k=(p+h|0)+12|0;r=v[e+8>>2];f=v[e+4>>2];b=v[e>>2];g=v[e+104>>2];c=0;Vd:{if(d>>>0<4){break Vd}if(n){D=B(n,3);G=n<<1;i=0-F|0;while(1){h=0;while(1){q=k;m=v[k>>2];if(m){if((m&2097168)==16){j=((m&1048576?16:m&495?15:14)<<2)+e|0;g=j+28|0;k=v[g>>2];d=v[k>>2];f=f-d|0;Wd:{if(b>>>16>>>0>=d>>>0){b=b-(d<<16)|0;o=v[k+4>>2];if(f&32768){break Wd}o=v[k+4>>2];s=j;j=d>>>0>f>>>0;v[s+28>>2]=v[k+(j?12:8)>>2];while(1){Xd:{if(r){break Xd}k=v[e+16>>2];r=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=r;r=8;b=(d<<8)+b|0;break Xd}if(d>>>0<=143){v[e+16>>2]=r;b=(d<<9)+b|0;r=7;break Xd}v[e+12>>2]=v[e+12>>2]+1;b=b+65280|0;r=8}r=r-1|0;b=b<<1;f=f<<1;if(f>>>0<32768){continue}break}o=j?!o:o;break Wd}o=v[k+4>>2];s=j;j=d>>>0>f>>>0;v[s+28>>2]=v[k+(j?8:12)>>2];while(1){Yd:{if(r){break Yd}k=v[e+16>>2];r=k+1|0;f=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=r;r=8;b=(f<<8)+b|0;break Yd}if(f>>>0<=143){v[e+16>>2]=r;b=(f<<9)+b|0;r=7;break Yd}v[e+12>>2]=v[e+12>>2]+1;b=b+65280|0;r=8}r=r-1|0;b=b<<1;d=d<<1;if(d>>>0<32768){continue}break}f=d;o=j?o:!o}d=o;k=v[l>>2];v[l>>2]=((d|0)==(k>>>31|0)?i:F)+k;m=m|1048576}if((m&16777344)==128){j=((m&8388608?16:m&3960?15:14)<<2)+e|0;g=j+28|0;k=v[g>>2];d=v[k>>2];f=f-d|0;Zd:{if(b>>>16>>>0>=d>>>0){b=b-(d<<16)|0;o=v[k+4>>2];if(f&32768){break Zd}o=v[k+4>>2];s=j;j=d>>>0>f>>>0;v[s+28>>2]=v[k+(j?12:8)>>2];while(1){_d:{if(r){break _d}k=v[e+16>>2];r=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=r;r=8;b=(d<<8)+b|0;break _d}if(d>>>0<=143){v[e+16>>2]=r;b=(d<<9)+b|0;r=7;break _d}v[e+12>>2]=v[e+12>>2]+1;b=b+65280|0;r=8}r=r-1|0;b=b<<1;f=f<<1;if(f>>>0<32768){continue}break}o=j?!o:o;break Zd}o=v[k+4>>2];s=j;j=d>>>0>f>>>0;v[s+28>>2]=v[k+(j?8:12)>>2];while(1){$d:{if(r){break $d}k=v[e+16>>2];r=k+1|0;f=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=r;r=8;b=(f<<8)+b|0;break $d}if(f>>>0<=143){v[e+16>>2]=r;b=(f<<9)+b|0;r=7;break $d}v[e+12>>2]=v[e+12>>2]+1;b=b+65280|0;r=8}r=r-1|0;b=b<<1;d=d<<1;if(d>>>0<32768){continue}break}f=d;o=j?o:!o}k=o;j=l+p|0;d=v[j>>2];v[j>>2]=d+((k|0)==(d>>>31|0)?i:F);m=m|8388608}if((m&134218752)==1024){j=((m&67108864?16:m&31680?15:14)<<2)+e|0;g=j+28|0;k=v[g>>2];d=v[k>>2];f=f-d|0;ae:{if(b>>>16>>>0>=d>>>0){b=b-(d<<16)|0;o=v[k+4>>2];if(f&32768){break ae}o=v[k+4>>2];s=j;j=d>>>0>f>>>0;v[s+28>>2]=v[k+(j?12:8)>>2];while(1){be:{if(r){break be}k=v[e+16>>2];r=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=r;r=8;b=(d<<8)+b|0;break be}if(d>>>0<=143){v[e+16>>2]=r;b=(d<<9)+b|0;r=7;break be}v[e+12>>2]=v[e+12>>2]+1;b=b+65280|0;r=8}r=r-1|0;b=b<<1;f=f<<1;if(f>>>0<32768){continue}break}o=j?!o:o;break ae}o=v[k+4>>2];s=j;j=d>>>0>f>>>0;v[s+28>>2]=v[k+(j?8:12)>>2];while(1){ce:{if(r){break ce}k=v[e+16>>2];r=k+1|0;f=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=r;r=8;b=(f<<8)+b|0;break ce}if(f>>>0<=143){v[e+16>>2]=r;b=(f<<9)+b|0;r=7;break ce}v[e+12>>2]=v[e+12>>2]+1;b=b+65280|0;r=8}r=r-1|0;b=b<<1;d=d<<1;if(d>>>0<32768){continue}break}f=d;o=j?o:!o}k=o;j=(G<<2)+l|0;d=v[j>>2];v[j>>2]=d+((k|0)==(d>>>31|0)?i:F);m=m|67108864}if((m&1073750016)==8192){j=((m&536870912?16:m&253440?15:14)<<2)+e|0;g=j+28|0;k=v[g>>2];d=v[k>>2];f=f-d|0;de:{if(b>>>16>>>0>=d>>>0){b=b-(d<<16)|0;o=v[k+4>>2];if(f&32768){break de}o=v[k+4>>2];s=j;j=d>>>0>f>>>0;v[s+28>>2]=v[k+(j?12:8)>>2];while(1){ee:{if(r){break ee}k=v[e+16>>2];r=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=r;r=8;b=(d<<8)+b|0;break ee}if(d>>>0<=143){v[e+16>>2]=r;b=(d<<9)+b|0;r=7;break ee}v[e+12>>2]=v[e+12>>2]+1;b=b+65280|0;r=8}r=r-1|0;b=b<<1;f=f<<1;if(f>>>0<32768){continue}break}o=j?!o:o;break de}o=v[k+4>>2];s=j;j=d>>>0>f>>>0;v[s+28>>2]=v[k+(j?8:12)>>2];while(1){fe:{if(r){break fe}k=v[e+16>>2];r=k+1|0;f=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=r;r=8;b=(f<<8)+b|0;break fe}if(f>>>0<=143){v[e+16>>2]=r;b=(f<<9)+b|0;r=7;break fe}v[e+12>>2]=v[e+12>>2]+1;b=b+65280|0;r=8}r=r-1|0;b=b<<1;d=d<<1;if(d>>>0<32768){continue}break}f=d;o=j?o:!o}k=o;j=(D<<2)+l|0;d=v[j>>2];v[j>>2]=d+((k|0)==(d>>>31|0)?i:F);m=m|536870912}v[q>>2]=m}k=q+4|0;l=l+4|0;h=h+1|0;if((n|0)!=(h|0)){continue}break}k=q+12|0;l=(D<<2)+l|0;c=c+4|0;d=v[e+128>>2];if(c>>>0<(d&-4)>>>0){continue}break}break Vd}k=d&-4;k=(k>>>0<=4?4:k)-1|0;c=(k&-4)+4|0;k=(h+(k<<1&-8)|0)+20|0}v[e+8>>2]=r;v[e+4>>2]=f;v[e>>2]=b;v[e+104>>2]=g;if(!n|c>>>0>=d>>>0){break $a}m=0;g=0-F|0;b=d;while(1){ge:{if((b|0)==(c|0)){b=c;break ge}r=v[k>>2];i=0;while(1){q=B(i,3);if((2097168<>>q|0;r=((b&1048576?16:b&495?15:14)<<2)+e|0;v[e+104>>2]=r+28;h=v[r+28>>2];b=v[h>>2];d=v[e+4>>2]-b|0;v[e+4>>2]=d;f=v[e>>2];he:{if(f>>>16>>>0>>0){v[e+4>>2]=b;j=v[h+4>>2];o=b>>>0>d>>>0;v[r+28>>2]=v[h+(o?8:12)>>2];r=v[e+8>>2];while(1){ie:{if(r){break ie}h=v[e+16>>2];r=h+1|0;d=w[h+1|0];if(w[h|0]==255){if(d>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;f=f+65280|0;r=8;break ie}v[e+16>>2]=r;f=(d<<9)+f|0;r=7;break ie}v[e+16>>2]=r;r=8;f=(d<<8)+f|0}r=r-1|0;v[e+8>>2]=r;f=f<<1;v[e>>2]=f;b=b<<1;v[e+4>>2]=b;if(b>>>0<32768){continue}break}b=o?j:!j;break he}f=f-(b<<16)|0;v[e>>2]=f;if(!(d&32768)){j=v[h+4>>2];o=b>>>0>d>>>0;v[r+28>>2]=v[h+(o?12:8)>>2];r=v[e+8>>2];while(1){je:{if(r){break je}h=v[e+16>>2];r=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;f=f+65280|0;r=8;break je}v[e+16>>2]=r;f=(b<<9)+f|0;r=7;break je}v[e+16>>2]=r;r=8;f=(b<<8)+f|0}r=r-1|0;v[e+8>>2]=r;f=f<<1;v[e>>2]=f;d=d<<1;v[e+4>>2]=d;if(d>>>0<32768){continue}break}b=o?!j:j;break he}b=v[h+4>>2]}d=v[D>>2];v[D>>2]=((b|0)==(d>>>31|0)?g:F)+d;r=v[k>>2]|1048576<>2]=r;d=v[e+128>>2]}i=i+1|0;b=d;if(i>>>0>>0){continue}break}}k=k+4|0;l=l+4|0;m=m+1|0;if((n|0)!=(m|0)){continue}break};break $a;case 2:break ab;default:break $a}}o=0;p=0;D=0;ke:{le:{me:{i=v[e+124>>2];if(!((i|0)!=64|v[e+128>>2]!=64)){b=1<>>1|b;r=0-i|0;k=e+100|0;q=e+96|0;d=v[e+120>>2]+268|0;g=v[e+8>>2];b=v[e+4>>2];c=v[e>>2];l=v[e+104>>2];f=v[e+116>>2];if(U&8){break me}while(1){D=0;while(1){F=f;n=d;ne:{oe:{pe:{qe:{d=v[d>>2];re:{if(!d){f=v[q>>2];d=v[f>>2];b=b-d|0;se:{if(c>>>16>>>0>>0){l=v[f+4>>2];j=b>>>0>>0;v[q>>2]=v[f+(j?8:12)>>2];while(1){te:{if(g){break te}f=v[e+16>>2];h=f+1|0;b=w[f+1|0];if(w[f|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break te}v[e+16>>2]=h;c=(b<<9)+c|0;g=7;break te}v[e+16>>2]=h;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;d=j?l:!l;break se}c=c-(d<<16)|0;if(!(b&32768)){l=v[f+4>>2];j=b>>>0>>0;v[q>>2]=v[f+(j?12:8)>>2];while(1){ue:{if(g){break ue}f=v[e+16>>2];h=f+1|0;d=w[f+1|0];if(w[f|0]==255){if(d>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break ue}v[e+16>>2]=h;c=(d<<9)+c|0;g=7;break ue}v[e+16>>2]=h;g=8;c=(d<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}d=j?!l:l;break se}d=v[f+4>>2]}if(!d){l=q;break ne}f=v[k>>2];d=v[f>>2];b=b-d|0;ve:{if(c>>>16>>>0>>0){l=v[f+4>>2];m=b>>>0>>0;f=v[(m?8:12)+f>>2];v[k>>2]=f;while(1){we:{if(g){break we}h=v[e+16>>2];j=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break we}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break we}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;j=m?l:!l;break ve}c=c-(d<<16)|0;if(!(b&32768)){l=v[f+4>>2];m=b>>>0>>0;f=v[(m?12:8)+f>>2];v[k>>2]=f;while(1){xe:{if(g){break xe}h=v[e+16>>2];j=h+1|0;d=w[h+1|0];if(w[h|0]==255){if(d>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break xe}v[e+16>>2]=j;c=(d<<9)+c|0;g=7;break xe}v[e+16>>2]=j;g=8;c=(d<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}j=m?!l:l;break ve}j=v[f+4>>2]}d=v[f>>2];b=b-d|0;ye:{if(c>>>16>>>0>>0){l=v[f+4>>2];m=b>>>0>>0;v[k>>2]=v[f+(m?8:12)>>2];while(1){ze:{if(g){break ze}f=v[e+16>>2];h=f+1|0;b=w[f+1|0];if(w[f|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break ze}v[e+16>>2]=h;c=(b<<9)+c|0;g=7;break ze}v[e+16>>2]=h;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;f=m?l:!l;break ye}c=c-(d<<16)|0;if(!(b&32768)){l=v[f+4>>2];m=b>>>0>>0;v[k>>2]=v[(m?12:8)+f>>2];while(1){Ae:{if(g){break Ae}f=v[e+16>>2];h=f+1|0;d=w[f+1|0];if(w[f|0]==255){if(d>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Ae}v[e+16>>2]=h;c=(d<<9)+c|0;g=7;break Ae}v[e+16>>2]=h;g=8;c=(d<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=m?!l:l;break ye}f=v[f+4>>2]}d=0;l=k;Be:{Ce:{De:{Ee:{Fe:{switch(f|j<<1){case 0:l=n-4|0;m=v[n+4>>2]>>>17&4|v[l>>2]>>>19&1;h=(w[m+25824|0]<<2)+e|0;f=v[h+28>>2];d=v[f>>2];b=b-d|0;Ge:{if(c>>>16>>>0>>0){j=v[f+4>>2];p=b>>>0>>0;v[h+28>>2]=v[f+(p?8:12)>>2];while(1){He:{if(g){break He}f=v[e+16>>2];h=f+1|0;b=w[f+1|0];if(w[f|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break He}v[e+16>>2]=h;c=(b<<9)+c|0;g=7;break He}v[e+16>>2]=h;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;d=p?j:!j;break Ge}c=c-(d<<16)|0;if(!(b&32768)){j=v[f+4>>2];p=b>>>0>>0;v[h+28>>2]=v[f+(p?12:8)>>2];while(1){Ie:{if(g){break Ie}f=v[e+16>>2];h=f+1|0;d=w[f+1|0];if(w[f|0]==255){if(d>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Ie}v[e+16>>2]=h;c=(d<<9)+c|0;g=7;break Ie}v[e+16>>2]=h;g=8;c=(d<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}d=p?!j:j;break Ge}d=v[f+4>>2]}d=d^w[m+26080|0];v[F>>2]=d?r:i;v[l>>2]=v[l>>2]|32;v[n+4>>2]=v[n+4>>2]|8;f=n-268|0;v[f>>2]=v[f>>2]|131072;f=n-260|0;v[f>>2]=v[f>>2]|32768;f=n-264|0;v[f>>2]=v[f>>2]|d<<31|65536;j=d<<19;l=(w[v[e+108>>2]+2|0]<<2)+e|0;f=v[l+28>>2];d=v[f>>2];b=b-d|0;Je:{if(c>>>16>>>0>>0){h=v[f+4>>2];m=b>>>0>>0;v[l+28>>2]=v[f+(m?8:12)>>2];while(1){Ke:{if(g){break Ke}f=v[e+16>>2];l=f+1|0;b=w[f+1|0];if(w[f|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Ke}v[e+16>>2]=l;c=(b<<9)+c|0;g=7;break Ke}v[e+16>>2]=l;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;f=m?h:!h;break Je}c=c-(d<<16)|0;if(!(b&32768)){h=v[f+4>>2];m=b>>>0>>0;v[l+28>>2]=v[f+(m?12:8)>>2];while(1){Le:{if(g){break Le}f=v[e+16>>2];l=f+1|0;d=w[f+1|0];if(w[f|0]==255){if(d>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Le}v[e+16>>2]=l;c=(d<<9)+c|0;g=7;break Le}v[e+16>>2]=l;g=8;c=(d<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=m?!h:h;break Je}f=v[f+4>>2]}d=j|16;if(!f){break Ee}break;case 3:break Be;case 2:break De;case 1:break Fe;default:break oe}}h=n-4|0;p=v[n+4>>2]>>>20&4|(v[h>>2]>>>22&1|(d>>>15&16|(d>>>19&64|d>>>3&170)));j=(w[p+25824|0]<<2)+e|0;l=v[j+28>>2];f=v[l>>2];b=b-f|0;Me:{if(c>>>16>>>0>>0){m=v[l+4>>2];G=b>>>0>>0;v[j+28>>2]=v[l+(G?8:12)>>2];while(1){Ne:{if(g){break Ne}l=v[e+16>>2];j=l+1|0;b=w[l+1|0];if(w[l|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Ne}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break Ne}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=G?m:!m;break Me}c=c-(f<<16)|0;if(!(b&32768)){m=v[l+4>>2];G=b>>>0>>0;v[j+28>>2]=v[l+(G?12:8)>>2];while(1){Oe:{if(g){break Oe}l=v[e+16>>2];j=l+1|0;f=w[l+1|0];if(w[l|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Oe}v[e+16>>2]=j;c=(f<<9)+c|0;g=7;break Oe}v[e+16>>2]=j;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=G?!m:m;break Me}f=v[l+4>>2]}f=f^w[p+26080|0];v[F+256>>2]=f?r:i;v[h>>2]=v[h>>2]|256;v[n+4>>2]=v[n+4>>2]|64;d=f<<22|d|128}h=(w[v[e+108>>2]+(d>>>6&495)|0]<<2)+e|0;l=v[h+28>>2];f=v[l>>2];b=b-f|0;Pe:{if(c>>>16>>>0>>0){j=v[l+4>>2];m=b>>>0>>0;v[h+28>>2]=v[l+(m?8:12)>>2];while(1){Qe:{if(g){break Qe}l=v[e+16>>2];h=l+1|0;b=w[l+1|0];if(w[l|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Qe}v[e+16>>2]=h;c=(b<<9)+c|0;g=7;break Qe}v[e+16>>2]=h;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=m?j:!j;break Pe}c=c-(f<<16)|0;if(!(b&32768)){j=v[l+4>>2];m=b>>>0>>0;v[h+28>>2]=v[l+(m?12:8)>>2];while(1){Re:{if(g){break Re}l=v[e+16>>2];h=l+1|0;f=w[l+1|0];if(w[l|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Re}v[e+16>>2]=h;c=(f<<9)+c|0;g=7;break Re}v[e+16>>2]=h;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=m?!j:j;break Pe}f=v[l+4>>2]}if(!f){break Ce}}h=n-4|0;p=v[n+4>>2]>>>23&4|(v[h>>2]>>>25&1|(d>>>18&16|(d>>>22&64|d>>>6&170)));j=(w[p+25824|0]<<2)+e|0;l=v[j+28>>2];f=v[l>>2];b=b-f|0;Se:{if(c>>>16>>>0>>0){m=v[l+4>>2];G=b>>>0>>0;v[j+28>>2]=v[l+(G?8:12)>>2];while(1){Te:{if(g){break Te}l=v[e+16>>2];j=l+1|0;b=w[l+1|0];if(w[l|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Te}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break Te}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=G?m:!m;break Se}c=c-(f<<16)|0;if(!(b&32768)){m=v[l+4>>2];G=b>>>0>>0;v[j+28>>2]=v[l+(G?12:8)>>2];while(1){Ue:{if(g){break Ue}l=v[e+16>>2];j=l+1|0;f=w[l+1|0];if(w[l|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Ue}v[e+16>>2]=j;c=(f<<9)+c|0;g=7;break Ue}v[e+16>>2]=j;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=G?!m:m;break Se}f=v[l+4>>2]}f=f^w[p+26080|0];v[F+512>>2]=f?r:i;v[h>>2]=v[h>>2]|2048;v[n+4>>2]=v[n+4>>2]|512;d=f<<25|d|1024}j=(w[v[e+108>>2]+(d>>>9&495)|0]<<2)+e|0;l=j+28|0;h=v[l>>2];f=v[h>>2];b=b-f|0;Ve:{if(c>>>16>>>0>>0){m=v[h+4>>2];p=b>>>0>>0;v[j+28>>2]=v[h+(p?8:12)>>2];while(1){We:{if(g){break We}h=v[e+16>>2];j=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break We}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break We}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=p?m:!m;break Ve}c=c-(f<<16)|0;if(!(b&32768)){m=v[h+4>>2];p=b>>>0>>0;v[j+28>>2]=v[h+(p?12:8)>>2];while(1){Xe:{if(g){break Xe}h=v[e+16>>2];j=h+1|0;f=w[h+1|0];if(w[h|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Xe}v[e+16>>2]=j;c=(f<<9)+c|0;g=7;break Xe}v[e+16>>2]=j;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=p?!m:m;break Ve}f=v[h+4>>2]}if(!f){break oe}}m=n-4|0;G=v[n+4>>2]>>>26&4|(v[m>>2]>>>28&1|(d>>>21&16|(d>>>25&64|d>>>9&170)));j=(w[G+25824|0]<<2)+e|0;l=j+28|0;h=v[l>>2];f=v[h>>2];b=b-f|0;if(c>>>16>>>0>>0){p=v[h+4>>2];K=b>>>0>>0;v[j+28>>2]=v[h+(K?8:12)>>2];while(1){Ye:{if(g){break Ye}h=v[e+16>>2];j=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Ye}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break Ye}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=K?p:!p;break pe}c=c-(f<<16)|0;if(b&32768){break re}p=v[h+4>>2];K=b>>>0>>0;v[j+28>>2]=v[(K?12:8)+h>>2];while(1){Ze:{if(g){break Ze}h=v[e+16>>2];j=h+1|0;f=w[h+1|0];if(w[h|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Ze}v[e+16>>2]=j;c=(f<<9)+c|0;g=7;break Ze}v[e+16>>2]=j;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=K?!p:p;break pe}_e:{if(d&2097168){break _e}j=(w[v[e+108>>2]+(d&495)|0]<<2)+e|0;l=j+28|0;h=v[l>>2];f=v[h>>2];b=b-f|0;$e:{if(c>>>16>>>0>>0){m=v[h+4>>2];p=b>>>0>>0;v[j+28>>2]=v[h+(p?8:12)>>2];while(1){af:{if(g){break af}h=v[e+16>>2];j=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break af}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break af}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=p?m:!m;break $e}c=c-(f<<16)|0;if(!(b&32768)){m=v[h+4>>2];p=b>>>0>>0;v[j+28>>2]=v[h+(p?12:8)>>2];while(1){bf:{if(g){break bf}h=v[e+16>>2];j=h+1|0;f=w[h+1|0];if(w[h|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break bf}v[e+16>>2]=j;c=(f<<9)+c|0;g=7;break bf}v[e+16>>2]=j;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=p?!m:m;break $e}f=v[h+4>>2]}if(!f){break _e}j=n-4|0;G=v[n+4>>2]>>>17&4|(v[j>>2]>>>19&1|(d>>>14&16|(d>>>16&64|d&170)));m=(w[G+25824|0]<<2)+e|0;l=m+28|0;h=v[l>>2];f=v[h>>2];b=b-f|0;cf:{if(c>>>16>>>0>>0){p=v[h+4>>2];s=m;m=b>>>0>>0;v[s+28>>2]=v[h+(m?8:12)>>2];while(1){df:{if(g){break df}h=v[e+16>>2];g=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break df}v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break df}v[e+16>>2]=g;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=m?p:!p;break cf}c=c-(f<<16)|0;if(!(b&32768)){p=v[h+4>>2];s=m;m=b>>>0>>0;v[s+28>>2]=v[h+(m?12:8)>>2];while(1){ef:{if(g){break ef}h=v[e+16>>2];g=h+1|0;f=w[h+1|0];if(w[h|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break ef}v[e+16>>2]=g;c=(f<<9)+c|0;g=7;break ef}v[e+16>>2]=g;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=m?!p:p;break cf}f=v[h+4>>2]}f=f^w[G+26080|0];v[F>>2]=f?r:i;v[j>>2]=v[j>>2]|32;v[n+4>>2]=v[n+4>>2]|8;h=n-268|0;v[h>>2]=v[h>>2]|131072;h=n-260|0;v[h>>2]=v[h>>2]|32768;h=n-264|0;v[h>>2]=v[h>>2]|f<<31|65536;d=f<<19|d|16}ff:{if(d&16777344){break ff}p=d>>>3|0;j=(w[v[e+108>>2]+(p&495)|0]<<2)+e|0;l=j+28|0;h=v[l>>2];f=v[h>>2];b=b-f|0;gf:{if(c>>>16>>>0>>0){m=v[h+4>>2];G=b>>>0>>0;v[j+28>>2]=v[h+(G?8:12)>>2];while(1){hf:{if(g){break hf}h=v[e+16>>2];j=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break hf}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break hf}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=G?m:!m;break gf}c=c-(f<<16)|0;if(!(b&32768)){m=v[h+4>>2];G=b>>>0>>0;v[j+28>>2]=v[h+(G?12:8)>>2];while(1){jf:{if(g){break jf}h=v[e+16>>2];j=h+1|0;f=w[h+1|0];if(w[h|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break jf}v[e+16>>2]=j;c=(f<<9)+c|0;g=7;break jf}v[e+16>>2]=j;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=G?!m:m;break gf}f=v[h+4>>2]}if(!f){break ff}j=n-4|0;G=v[n+4>>2]>>>20&4|(v[j>>2]>>>22&1|(d>>>15&16|(d>>>19&64|p&170)));m=(w[G+25824|0]<<2)+e|0;l=m+28|0;h=v[l>>2];f=v[h>>2];b=b-f|0;kf:{if(c>>>16>>>0>>0){p=v[h+4>>2];s=m;m=b>>>0>>0;v[s+28>>2]=v[h+(m?8:12)>>2];while(1){lf:{if(g){break lf}h=v[e+16>>2];g=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break lf}v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break lf}v[e+16>>2]=g;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=m?p:!p;break kf}c=c-(f<<16)|0;if(!(b&32768)){p=v[h+4>>2];s=m;m=b>>>0>>0;v[s+28>>2]=v[h+(m?12:8)>>2];while(1){mf:{if(g){break mf}h=v[e+16>>2];g=h+1|0;f=w[h+1|0];if(w[h|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break mf}v[e+16>>2]=g;c=(f<<9)+c|0;g=7;break mf}v[e+16>>2]=g;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=m?!p:p;break kf}f=v[h+4>>2]}f=f^w[G+26080|0];v[F+256>>2]=f?r:i;v[j>>2]=v[j>>2]|256;v[n+4>>2]=v[n+4>>2]|64;d=f<<22|d|128}nf:{if(d&134218752){break nf}p=d>>>6|0;j=(w[v[e+108>>2]+(p&495)|0]<<2)+e|0;l=j+28|0;h=v[l>>2];f=v[h>>2];b=b-f|0;of:{if(c>>>16>>>0>>0){m=v[h+4>>2];G=b>>>0>>0;v[j+28>>2]=v[h+(G?8:12)>>2];while(1){pf:{if(g){break pf}h=v[e+16>>2];j=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break pf}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break pf}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=G?m:!m;break of}c=c-(f<<16)|0;if(!(b&32768)){m=v[h+4>>2];G=b>>>0>>0;v[j+28>>2]=v[h+(G?12:8)>>2];while(1){qf:{if(g){break qf}h=v[e+16>>2];j=h+1|0;f=w[h+1|0];if(w[h|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break qf}v[e+16>>2]=j;c=(f<<9)+c|0;g=7;break qf}v[e+16>>2]=j;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=G?!m:m;break of}f=v[h+4>>2]}if(!f){break nf}j=n-4|0;G=v[n+4>>2]>>>23&4|(v[j>>2]>>>25&1|(d>>>18&16|(d>>>22&64|p&170)));m=(w[G+25824|0]<<2)+e|0;l=m+28|0;h=v[l>>2];f=v[h>>2];b=b-f|0;rf:{if(c>>>16>>>0>>0){p=v[h+4>>2];s=m;m=b>>>0>>0;v[s+28>>2]=v[h+(m?8:12)>>2];while(1){sf:{if(g){break sf}h=v[e+16>>2];g=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break sf}v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break sf}v[e+16>>2]=g;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=m?p:!p;break rf}c=c-(f<<16)|0;if(!(b&32768)){p=v[h+4>>2];s=m;m=b>>>0>>0;v[s+28>>2]=v[h+(m?12:8)>>2];while(1){tf:{if(g){break tf}h=v[e+16>>2];g=h+1|0;f=w[h+1|0];if(w[h|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break tf}v[e+16>>2]=g;c=(f<<9)+c|0;g=7;break tf}v[e+16>>2]=g;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=m?!p:p;break rf}f=v[h+4>>2]}f=f^w[G+26080|0];v[F+512>>2]=f?r:i;v[j>>2]=v[j>>2]|2048;v[n+4>>2]=v[n+4>>2]|512;d=f<<25|d|1024}if(d&1073750016){break oe}m=b;p=d>>>9|0;j=(w[v[e+108>>2]+(p&495)|0]<<2)+e|0;l=j+28|0;b=v[l>>2];f=v[b>>2];h=m-f|0;uf:{if(c>>>16>>>0>>0){m=v[b+4>>2];G=f>>>0>h>>>0;v[j+28>>2]=v[b+(G?8:12)>>2];while(1){vf:{if(g){break vf}h=v[e+16>>2];j=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break vf}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break vf}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}h=f;b=G?m:!m;break uf}c=c-(f<<16)|0;if(!(h&32768)){m=v[b+4>>2];G=f>>>0>h>>>0;v[j+28>>2]=v[b+(G?12:8)>>2];while(1){wf:{if(g){break wf}f=v[e+16>>2];j=f+1|0;b=w[f+1|0];if(w[f|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break wf}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break wf}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;h=h<<1;if(h>>>0<32768){continue}break}b=G?!m:m;break uf}b=v[b+4>>2]}if(!b){b=h;break oe}f=h;m=n-4|0;G=v[n+4>>2]>>>26&4|(v[m>>2]>>>28&1|(d>>>21&16|(d>>>25&64|p&170)));j=(w[G+25824|0]<<2)+e|0;l=j+28|0;h=v[l>>2];b=v[h>>2];f=f-b|0;if(c>>>16>>>0>>0){p=v[h+4>>2];K=b>>>0>f>>>0;v[j+28>>2]=v[(K?8:12)+h>>2];while(1){xf:{if(g){break xf}h=v[e+16>>2];j=h+1|0;f=w[h+1|0];if(w[h|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break xf}v[e+16>>2]=j;c=(f<<9)+c|0;g=7;break xf}v[e+16>>2]=j;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=K?p:!p;break pe}c=c-(b<<16)|0;if(!(f&32768)){break qe}b=f}f=v[h+4>>2];break pe}p=v[h+4>>2];K=b>>>0>f>>>0;v[j+28>>2]=v[h+(K?12:8)>>2];while(1){yf:{if(g){break yf}h=v[e+16>>2];j=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break yf}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break yf}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=K?!p:p}f=f^w[G+26080|0];v[F+768>>2]=f?r:i;v[m>>2]=v[m>>2]|16384;v[n+4>>2]=v[n+4>>2]|4096;v[n+260>>2]=v[n+260>>2]|4;v[n+268>>2]=v[n+268>>2]|1;v[n+264>>2]=v[n+264>>2]|f<<18|2;d=f<<28|d|8192}v[n>>2]=d&-1226833921}d=n+4|0;f=F+4|0;D=D+1|0;if((D|0)!=64){continue}break}d=n+12|0;f=F+772|0;h=o>>>0<60;o=o+4|0;if(h){continue}break}break le}b=1<>>1|b;k=v[e+120>>2];l=(k+(i<<2)|0)+12|0;d=v[e+128>>2];g=v[e+8>>2];b=v[e+4>>2];c=v[e>>2];h=v[e+104>>2];f=v[e+116>>2];zf:{Af:{if(U&8){if(d>>>0<4){break zf}if(!i){break Af}n=e+100|0;F=e+96|0;G=B(i,3);Q=i<<1;j=0-r|0;while(1){K=0;while(1){Bf:{Cf:{Df:{Ef:{q=l;l=v[l>>2];if(l){Ff:{if(l&2097168){break Ff}m=(w[v[e+108>>2]+(l&495)|0]<<2)+e|0;h=m+28|0;k=v[h>>2];d=v[k>>2];b=b-d|0;Gf:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;o=v[k+4>>2];if(b&32768){break Gf}o=v[k+4>>2];s=m;m=b>>>0>>0;v[s+28>>2]=v[k+(m?12:8)>>2];while(1){Hf:{if(g){break Hf}k=v[e+16>>2];g=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break Hf}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break Hf}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}o=m?!o:o;break Gf}o=v[k+4>>2];s=m;m=b>>>0>>0;v[s+28>>2]=v[k+(m?8:12)>>2];while(1){If:{if(g){break If}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break If}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break If}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;o=m?o:!o}if(!o){break Ff}m=q-4|0;O=v[q+4>>2]>>>17&4|(v[m>>2]>>>19&1|(l>>>14&16|(l>>>16&64|l&170)));o=(w[O+25824|0]<<2)+e|0;h=o+28|0;k=v[h>>2];d=v[k>>2];b=b-d|0;Jf:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;s=v[k+4>>2];if(b&32768){break Jf}s=v[k+4>>2];H=o;o=b>>>0>>0;v[H+28>>2]=v[k+(o?12:8)>>2];while(1){Kf:{if(g){break Kf}k=v[e+16>>2];g=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break Kf}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break Kf}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}s=o?!s:s;break Jf}s=v[k+4>>2];H=o;o=b>>>0>>0;v[H+28>>2]=v[k+(o?8:12)>>2];while(1){Lf:{if(g){break Lf}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break Lf}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break Lf}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;s=o?s:!s}d=s;d=d^w[O+26080|0];v[f>>2]=d?j:r;v[m>>2]=v[m>>2]|32;v[q+4>>2]=v[q+4>>2]|8;l=d<<19|l|16}Mf:{if(l&16777344){break Mf}s=l>>>3|0;m=(w[v[e+108>>2]+(s&495)|0]<<2)+e|0;h=m+28|0;k=v[h>>2];d=v[k>>2];b=b-d|0;Nf:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;o=v[k+4>>2];if(b&32768){break Nf}o=v[k+4>>2];H=m;m=b>>>0>>0;v[H+28>>2]=v[k+(m?12:8)>>2];while(1){Of:{if(g){break Of}k=v[e+16>>2];g=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break Of}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break Of}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}o=m?!o:o;break Nf}o=v[k+4>>2];H=m;m=b>>>0>>0;v[H+28>>2]=v[k+(m?8:12)>>2];while(1){Pf:{if(g){break Pf}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break Pf}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break Pf}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;o=m?o:!o}if(!o){break Mf}m=q-4|0;O=v[q+4>>2]>>>20&4|(v[m>>2]>>>22&1|(l>>>15&16|(l>>>19&64|s&170)));o=(w[O+25824|0]<<2)+e|0;h=o+28|0;k=v[h>>2];d=v[k>>2];b=b-d|0;Qf:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;s=v[k+4>>2];if(b&32768){break Qf}s=v[k+4>>2];H=o;o=b>>>0>>0;v[H+28>>2]=v[k+(o?12:8)>>2];while(1){Rf:{if(g){break Rf}k=v[e+16>>2];g=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break Rf}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break Rf}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}s=o?!s:s;break Qf}s=v[k+4>>2];H=o;o=b>>>0>>0;v[H+28>>2]=v[k+(o?8:12)>>2];while(1){Sf:{if(g){break Sf}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break Sf}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break Sf}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;s=o?s:!s}d=s;d=d^w[O+26080|0];v[(i<<2)+f>>2]=d?j:r;v[m>>2]=v[m>>2]|256;v[q+4>>2]=v[q+4>>2]|64;l=d<<22|l|128}Tf:{if(l&134218752){break Tf}s=l>>>6|0;m=(w[v[e+108>>2]+(s&495)|0]<<2)+e|0;h=m+28|0;k=v[h>>2];d=v[k>>2];b=b-d|0;Uf:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;o=v[k+4>>2];if(b&32768){break Uf}o=v[k+4>>2];H=m;m=b>>>0>>0;v[H+28>>2]=v[k+(m?12:8)>>2];while(1){Vf:{if(g){break Vf}k=v[e+16>>2];g=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break Vf}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break Vf}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}o=m?!o:o;break Uf}o=v[k+4>>2];H=m;m=b>>>0>>0;v[H+28>>2]=v[k+(m?8:12)>>2];while(1){Wf:{if(g){break Wf}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break Wf}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break Wf}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;o=m?o:!o}if(!o){break Tf}m=q-4|0;O=v[q+4>>2]>>>23&4|(v[m>>2]>>>25&1|(l>>>18&16|(l>>>22&64|s&170)));o=(w[O+25824|0]<<2)+e|0;h=o+28|0;k=v[h>>2];d=v[k>>2];b=b-d|0;Xf:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;s=v[k+4>>2];if(b&32768){break Xf}s=v[k+4>>2];H=o;o=b>>>0>>0;v[H+28>>2]=v[k+(o?12:8)>>2];while(1){Yf:{if(g){break Yf}k=v[e+16>>2];g=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break Yf}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break Yf}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}s=o?!s:s;break Xf}s=v[k+4>>2];H=o;o=b>>>0>>0;v[H+28>>2]=v[k+(o?8:12)>>2];while(1){Zf:{if(g){break Zf}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break Zf}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break Zf}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;s=o?s:!s}d=s;d=d^w[O+26080|0];v[(Q<<2)+f>>2]=d?j:r;v[m>>2]=v[m>>2]|2048;v[q+4>>2]=v[q+4>>2]|512;l=d<<25|l|1024}if(l&1073750016){break Cf}k=b;s=l>>>9|0;m=(w[v[e+108>>2]+(s&495)|0]<<2)+e|0;h=m+28|0;b=v[h>>2];d=v[b>>2];k=k-d|0;_f:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;o=v[b+4>>2];if(k&32768){break _f}o=v[b+4>>2];H=m;m=d>>>0>k>>>0;v[H+28>>2]=v[b+(m?12:8)>>2];while(1){$f:{if(g){break $f}d=v[e+16>>2];g=d+1|0;b=w[d+1|0];if(w[d|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break $f}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break $f}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;k=k<<1;if(k>>>0<32768){continue}break}o=m?!o:o;break _f}o=v[b+4>>2];H=m;m=d>>>0>k>>>0;v[H+28>>2]=v[b+(m?8:12)>>2];while(1){ag:{if(g){break ag}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break ag}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break ag}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}k=d;o=m?o:!o}if(!o){b=k;break Cf}d=k;m=q-4|0;o=v[q+4>>2]>>>26&4|(v[m>>2]>>>28&1|(l>>>21&16|(l>>>25&64|s&170)));s=(w[o+25824|0]<<2)+e|0;h=s+28|0;k=v[h>>2];b=v[k>>2];d=d-b|0;if(c>>>16>>>0>=b>>>0){c=c-(b<<16)|0;if(d&32768){b=d;break Ef}O=v[k+4>>2];H=s;s=b>>>0>d>>>0;v[H+28>>2]=v[(s?12:8)+k>>2];while(1){bg:{if(g){break bg}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break bg}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break bg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;d=s?!O:O;break Df}O=v[k+4>>2];H=s;s=b>>>0>d>>>0;v[H+28>>2]=v[(s?8:12)+k>>2];while(1){cg:{if(g){break cg}k=v[e+16>>2];g=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break cg}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break cg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}d=s?O:!O;break Df}d=v[F>>2];l=v[d>>2];b=b-l|0;dg:{if(c>>>16>>>0>=l>>>0){c=c-(l<<16)|0;m=v[d+4>>2];if(b&32768){break dg}h=v[d+4>>2];m=b>>>0>>0;v[F>>2]=v[d+(m?12:8)>>2];while(1){eg:{if(g){break eg}l=v[e+16>>2];k=l+1|0;d=w[l+1|0];if(w[l|0]!=255){v[e+16>>2]=k;g=8;c=(d<<8)+c|0;break eg}if(d>>>0<=143){v[e+16>>2]=k;c=(d<<9)+c|0;g=7;break eg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}m=m?!h:h;break dg}h=v[d+4>>2];m=b>>>0>>0;v[F>>2]=v[d+(m?8:12)>>2];while(1){fg:{if(g){break fg}d=v[e+16>>2];k=d+1|0;b=w[d+1|0];if(w[d|0]!=255){v[e+16>>2]=k;g=8;c=(b<<8)+c|0;break fg}if(b>>>0<=143){v[e+16>>2]=k;c=(b<<9)+c|0;g=7;break fg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;l=l<<1;if(l>>>0<32768){continue}break}b=l;m=m?h:!h}if(!m){h=F;break Bf}d=v[n>>2];l=v[d>>2];b=b-l|0;gg:{if(c>>>16>>>0>=l>>>0){c=c-(l<<16)|0;m=v[d+4>>2];if(b&32768){break gg}h=v[d+4>>2];m=b>>>0>>0;d=v[(m?12:8)+d>>2];v[n>>2]=d;while(1){hg:{if(g){break hg}k=v[e+16>>2];g=k+1|0;l=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(l<<8)+c|0;break hg}if(l>>>0<=143){v[e+16>>2]=g;c=(l<<9)+c|0;g=7;break hg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}m=m?!h:h;break gg}h=v[d+4>>2];m=b>>>0>>0;d=v[(m?8:12)+d>>2];v[n>>2]=d;while(1){ig:{if(g){break ig}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break ig}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break ig}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;l=l<<1;if(l>>>0<32768){continue}break}b=l;m=m?h:!h}l=v[d>>2];b=b-l|0;jg:{if(c>>>16>>>0>=l>>>0){c=c-(l<<16)|0;k=v[d+4>>2];if(b&32768){break jg}h=v[d+4>>2];o=b>>>0>>0;v[n>>2]=v[d+(o?12:8)>>2];while(1){kg:{if(g){break kg}l=v[e+16>>2];k=l+1|0;d=w[l+1|0];if(w[l|0]!=255){v[e+16>>2]=k;g=8;c=(d<<8)+c|0;break kg}if(d>>>0<=143){v[e+16>>2]=k;c=(d<<9)+c|0;g=7;break kg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}k=o?!h:h;break jg}h=v[d+4>>2];o=b>>>0>>0;v[n>>2]=v[d+(o?8:12)>>2];while(1){lg:{if(g){break lg}d=v[e+16>>2];k=d+1|0;b=w[d+1|0];if(w[d|0]!=255){v[e+16>>2]=k;g=8;c=(b<<8)+c|0;break lg}if(b>>>0<=143){v[e+16>>2]=k;c=(b<<9)+c|0;g=7;break lg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;l=l<<1;if(l>>>0<32768){continue}break}b=l;k=o?h:!h}d=k;l=0;h=n;mg:{ng:{og:{pg:{qg:{switch(d|m<<1){case 0:h=q-4|0;o=v[q+4>>2]>>>17&4|v[h>>2]>>>19&1;k=(w[o+25824|0]<<2)+e|0;d=v[k+28>>2];l=v[d>>2];b=b-l|0;rg:{if(c>>>16>>>0>=l>>>0){c=c-(l<<16)|0;m=v[d+4>>2];if(b&32768){break rg}m=v[d+4>>2];s=b>>>0>>0;v[k+28>>2]=v[d+(s?12:8)>>2];while(1){sg:{if(g){break sg}l=v[e+16>>2];k=l+1|0;d=w[l+1|0];if(w[l|0]!=255){v[e+16>>2]=k;g=8;c=(d<<8)+c|0;break sg}if(d>>>0<=143){v[e+16>>2]=k;c=(d<<9)+c|0;g=7;break sg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}m=s?!m:m;break rg}m=v[d+4>>2];s=b>>>0>>0;v[k+28>>2]=v[d+(s?8:12)>>2];while(1){tg:{if(g){break tg}d=v[e+16>>2];k=d+1|0;b=w[d+1|0];if(w[d|0]!=255){v[e+16>>2]=k;g=8;c=(b<<8)+c|0;break tg}if(b>>>0<=143){v[e+16>>2]=k;c=(b<<9)+c|0;g=7;break tg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;l=l<<1;if(l>>>0<32768){continue}break}b=l;m=s?m:!m}d=m;d=d^w[o+26080|0];v[f>>2]=d?j:r;v[h>>2]=v[h>>2]|32;v[q+4>>2]=v[q+4>>2]|8;m=d<<19;h=(w[v[e+108>>2]+2|0]<<2)+e|0;d=v[h+28>>2];l=v[d>>2];b=b-l|0;ug:{if(c>>>16>>>0>=l>>>0){c=c-(l<<16)|0;k=v[d+4>>2];if(b&32768){break ug}k=v[d+4>>2];o=b>>>0>>0;v[h+28>>2]=v[d+(o?12:8)>>2];while(1){vg:{if(g){break vg}l=v[e+16>>2];h=l+1|0;d=w[l+1|0];if(w[l|0]!=255){v[e+16>>2]=h;g=8;c=(d<<8)+c|0;break vg}if(d>>>0<=143){v[e+16>>2]=h;c=(d<<9)+c|0;g=7;break vg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}k=o?!k:k;break ug}k=v[d+4>>2];o=b>>>0>>0;v[h+28>>2]=v[d+(o?8:12)>>2];while(1){wg:{if(g){break wg}d=v[e+16>>2];h=d+1|0;b=w[d+1|0];if(w[d|0]!=255){v[e+16>>2]=h;g=8;c=(b<<8)+c|0;break wg}if(b>>>0<=143){v[e+16>>2]=h;c=(b<<9)+c|0;g=7;break wg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;l=l<<1;if(l>>>0<32768){continue}break}b=l;k=o?k:!k}d=k;l=m|16;if(!d){break pg}break;case 3:break mg;case 2:break og;case 1:break qg;default:break Cf}}k=q-4|0;s=v[q+4>>2]>>>20&4|(v[k>>2]>>>22&1|(l>>>15&16|(l>>>19&64|l>>>3&170)));m=(w[s+25824|0]<<2)+e|0;h=v[m+28>>2];d=v[h>>2];b=b-d|0;xg:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;o=v[h+4>>2];if(b&32768){break xg}o=v[h+4>>2];H=m;m=b>>>0>>0;v[H+28>>2]=v[h+(m?12:8)>>2];while(1){yg:{if(g){break yg}h=v[e+16>>2];g=h+1|0;d=w[h+1|0];if(w[h|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break yg}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break yg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}o=m?!o:o;break xg}o=v[h+4>>2];H=m;m=b>>>0>>0;v[H+28>>2]=v[h+(m?8:12)>>2];while(1){zg:{if(g){break zg}h=v[e+16>>2];g=h+1|0;b=w[h+1|0];if(w[h|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break zg}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break zg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;o=m?o:!o}d=o;d=d^w[s+26080|0];v[(i<<2)+f>>2]=d?j:r;v[k>>2]=v[k>>2]|256;v[q+4>>2]=v[q+4>>2]|64;l=d<<22|l|128}k=(w[v[e+108>>2]+(l>>>6&495)|0]<<2)+e|0;h=v[k+28>>2];d=v[h>>2];b=b-d|0;Ag:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;m=v[h+4>>2];if(b&32768){break Ag}m=v[h+4>>2];o=b>>>0>>0;v[k+28>>2]=v[h+(o?12:8)>>2];while(1){Bg:{if(g){break Bg}h=v[e+16>>2];k=h+1|0;d=w[h+1|0];if(w[h|0]!=255){v[e+16>>2]=k;g=8;c=(d<<8)+c|0;break Bg}if(d>>>0<=143){v[e+16>>2]=k;c=(d<<9)+c|0;g=7;break Bg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}m=o?!m:m;break Ag}m=v[h+4>>2];o=b>>>0>>0;v[k+28>>2]=v[h+(o?8:12)>>2];while(1){Cg:{if(g){break Cg}h=v[e+16>>2];k=h+1|0;b=w[h+1|0];if(w[h|0]!=255){v[e+16>>2]=k;g=8;c=(b<<8)+c|0;break Cg}if(b>>>0<=143){v[e+16>>2]=k;c=(b<<9)+c|0;g=7;break Cg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;m=o?m:!m}if(!m){break ng}}k=q-4|0;s=v[q+4>>2]>>>23&4|(v[k>>2]>>>25&1|(l>>>18&16|(l>>>22&64|l>>>6&170)));m=(w[s+25824|0]<<2)+e|0;h=v[m+28>>2];d=v[h>>2];b=b-d|0;Dg:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;o=v[h+4>>2];if(b&32768){break Dg}o=v[h+4>>2];H=m;m=b>>>0>>0;v[H+28>>2]=v[h+(m?12:8)>>2];while(1){Eg:{if(g){break Eg}h=v[e+16>>2];g=h+1|0;d=w[h+1|0];if(w[h|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break Eg}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break Eg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}o=m?!o:o;break Dg}o=v[h+4>>2];H=m;m=b>>>0>>0;v[H+28>>2]=v[h+(m?8:12)>>2];while(1){Fg:{if(g){break Fg}h=v[e+16>>2];g=h+1|0;b=w[h+1|0];if(w[h|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break Fg}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break Fg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;o=m?o:!o}d=o;d=d^w[s+26080|0];v[(Q<<2)+f>>2]=d?j:r;v[k>>2]=v[k>>2]|2048;v[q+4>>2]=v[q+4>>2]|512;l=d<<25|l|1024}m=(w[v[e+108>>2]+(l>>>9&495)|0]<<2)+e|0;h=m+28|0;k=v[h>>2];d=v[k>>2];b=b-d|0;Gg:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;o=v[k+4>>2];if(b&32768){break Gg}o=v[k+4>>2];s=m;m=b>>>0>>0;v[s+28>>2]=v[k+(m?12:8)>>2];while(1){Hg:{if(g){break Hg}k=v[e+16>>2];g=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break Hg}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break Hg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}o=m?!o:o;break Gg}o=v[k+4>>2];s=m;m=b>>>0>>0;v[s+28>>2]=v[k+(m?8:12)>>2];while(1){Ig:{if(g){break Ig}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break Ig}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break Ig}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;o=m?o:!o}if(!o){break Cf}}m=q-4|0;o=v[q+4>>2]>>>26&4|(v[m>>2]>>>28&1|(l>>>21&16|(l>>>25&64|l>>>9&170)));s=(w[o+25824|0]<<2)+e|0;h=s+28|0;k=v[h>>2];d=v[k>>2];b=b-d|0;if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;if(b&32768){break Ef}O=v[k+4>>2];H=s;s=b>>>0>>0;v[H+28>>2]=v[(s?12:8)+k>>2];while(1){Jg:{if(g){break Jg}k=v[e+16>>2];g=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break Jg}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break Jg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}d=s?!O:O;break Df}O=v[k+4>>2];H=s;s=b>>>0>>0;v[H+28>>2]=v[(s?8:12)+k>>2];while(1){Kg:{if(g){break Kg}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break Kg}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break Kg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;d=s?O:!O;break Df}d=v[k+4>>2]}k=d^w[o+26080|0];v[(G<<2)+f>>2]=k?j:r;v[m>>2]=v[m>>2]|16384;v[q+4>>2]=v[q+4>>2]|4096;d=q+(v[e+124>>2]<<2)|0;v[d+4>>2]=v[d+4>>2]|4;v[d+12>>2]=v[d+12>>2]|1;v[d+8>>2]=v[d+8>>2]|k<<18|2;l=k<<28|l|8192}v[q>>2]=l&-1226833921}l=q+4|0;f=f+4|0;K=K+1|0;if((i|0)!=(K|0)){continue}break}l=q+12|0;f=(G<<2)+f|0;D=D+4|0;d=v[e+128>>2];if(D>>>0<(d&-4)>>>0){continue}break}break zf}Lg:{if(d>>>0<4){break Lg}if(i){n=e+100|0;F=e+96|0;G=B(i,3);Q=i<<1;j=0-r|0;while(1){K=0;while(1){Mg:{Ng:{Og:{Pg:{q=l;l=v[l>>2];if(l){Qg:{if(l&2097168){break Qg}m=(w[v[e+108>>2]+(l&495)|0]<<2)+e|0;h=m+28|0;k=v[h>>2];d=v[k>>2];b=b-d|0;Rg:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;o=v[k+4>>2];if(b&32768){break Rg}o=v[k+4>>2];s=m;m=b>>>0>>0;v[s+28>>2]=v[k+(m?12:8)>>2];while(1){Sg:{if(g){break Sg}k=v[e+16>>2];g=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break Sg}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break Sg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}o=m?!o:o;break Rg}o=v[k+4>>2];s=m;m=b>>>0>>0;v[s+28>>2]=v[k+(m?8:12)>>2];while(1){Tg:{if(g){break Tg}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break Tg}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break Tg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;o=m?o:!o}if(!o){break Qg}m=q-4|0;O=v[q+4>>2]>>>17&4|(v[m>>2]>>>19&1|(l>>>14&16|(l>>>16&64|l&170)));o=(w[O+25824|0]<<2)+e|0;h=o+28|0;k=v[h>>2];d=v[k>>2];b=b-d|0;Ug:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;s=v[k+4>>2];if(b&32768){break Ug}s=v[k+4>>2];H=o;o=b>>>0>>0;v[H+28>>2]=v[k+(o?12:8)>>2];while(1){Vg:{if(g){break Vg}k=v[e+16>>2];g=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break Vg}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break Vg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}s=o?!s:s;break Ug}s=v[k+4>>2];H=o;o=b>>>0>>0;v[H+28>>2]=v[k+(o?8:12)>>2];while(1){Wg:{if(g){break Wg}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break Wg}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break Wg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;s=o?s:!s}d=s;k=d^w[O+26080|0];v[f>>2]=k?j:r;v[m>>2]=v[m>>2]|32;v[q+4>>2]=v[q+4>>2]|8;d=q+(-2-v[e+124>>2]<<2)|0;v[d+4>>2]=v[d+4>>2]|32768;v[d>>2]=v[d>>2]|k<<31|65536;d=d-4|0;v[d>>2]=v[d>>2]|131072;l=k<<19|l|16}Xg:{if(l&16777344){break Xg}s=l>>>3|0;m=(w[v[e+108>>2]+(s&495)|0]<<2)+e|0;h=m+28|0;k=v[h>>2];d=v[k>>2];b=b-d|0;Yg:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;o=v[k+4>>2];if(b&32768){break Yg}o=v[k+4>>2];H=m;m=b>>>0>>0;v[H+28>>2]=v[k+(m?12:8)>>2];while(1){Zg:{if(g){break Zg}k=v[e+16>>2];g=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break Zg}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break Zg}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}o=m?!o:o;break Yg}o=v[k+4>>2];H=m;m=b>>>0>>0;v[H+28>>2]=v[k+(m?8:12)>>2];while(1){_g:{if(g){break _g}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break _g}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break _g}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;o=m?o:!o}if(!o){break Xg}m=q-4|0;O=v[q+4>>2]>>>20&4|(v[m>>2]>>>22&1|(l>>>15&16|(l>>>19&64|s&170)));o=(w[O+25824|0]<<2)+e|0;h=o+28|0;k=v[h>>2];d=v[k>>2];b=b-d|0;$g:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;s=v[k+4>>2];if(b&32768){break $g}s=v[k+4>>2];H=o;o=b>>>0>>0;v[H+28>>2]=v[k+(o?12:8)>>2];while(1){ah:{if(g){break ah}k=v[e+16>>2];g=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break ah}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break ah}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}s=o?!s:s;break $g}s=v[k+4>>2];H=o;o=b>>>0>>0;v[H+28>>2]=v[k+(o?8:12)>>2];while(1){bh:{if(g){break bh}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break bh}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break bh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;s=o?s:!s}d=s;d=d^w[O+26080|0];v[(i<<2)+f>>2]=d?j:r;v[m>>2]=v[m>>2]|256;v[q+4>>2]=v[q+4>>2]|64;l=d<<22|l|128}ch:{if(l&134218752){break ch}s=l>>>6|0;m=(w[v[e+108>>2]+(s&495)|0]<<2)+e|0;h=m+28|0;k=v[h>>2];d=v[k>>2];b=b-d|0;dh:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;o=v[k+4>>2];if(b&32768){break dh}o=v[k+4>>2];H=m;m=b>>>0>>0;v[H+28>>2]=v[k+(m?12:8)>>2];while(1){eh:{if(g){break eh}k=v[e+16>>2];g=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break eh}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break eh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}o=m?!o:o;break dh}o=v[k+4>>2];H=m;m=b>>>0>>0;v[H+28>>2]=v[k+(m?8:12)>>2];while(1){fh:{if(g){break fh}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break fh}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break fh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;o=m?o:!o}if(!o){break ch}m=q-4|0;O=v[q+4>>2]>>>23&4|(v[m>>2]>>>25&1|(l>>>18&16|(l>>>22&64|s&170)));o=(w[O+25824|0]<<2)+e|0;h=o+28|0;k=v[h>>2];d=v[k>>2];b=b-d|0;gh:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;s=v[k+4>>2];if(b&32768){break gh}s=v[k+4>>2];H=o;o=b>>>0>>0;v[H+28>>2]=v[k+(o?12:8)>>2];while(1){hh:{if(g){break hh}k=v[e+16>>2];g=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break hh}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break hh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}s=o?!s:s;break gh}s=v[k+4>>2];H=o;o=b>>>0>>0;v[H+28>>2]=v[k+(o?8:12)>>2];while(1){ih:{if(g){break ih}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break ih}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break ih}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;s=o?s:!s}d=s;d=d^w[O+26080|0];v[(Q<<2)+f>>2]=d?j:r;v[m>>2]=v[m>>2]|2048;v[q+4>>2]=v[q+4>>2]|512;l=d<<25|l|1024}if(l&1073750016){break Ng}k=b;s=l>>>9|0;m=(w[v[e+108>>2]+(s&495)|0]<<2)+e|0;h=m+28|0;b=v[h>>2];d=v[b>>2];k=k-d|0;jh:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;o=v[b+4>>2];if(k&32768){break jh}o=v[b+4>>2];H=m;m=d>>>0>k>>>0;v[H+28>>2]=v[b+(m?12:8)>>2];while(1){kh:{if(g){break kh}d=v[e+16>>2];g=d+1|0;b=w[d+1|0];if(w[d|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break kh}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break kh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;k=k<<1;if(k>>>0<32768){continue}break}o=m?!o:o;break jh}o=v[b+4>>2];H=m;m=d>>>0>k>>>0;v[H+28>>2]=v[b+(m?8:12)>>2];while(1){lh:{if(g){break lh}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break lh}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break lh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}k=d;o=m?o:!o}if(!o){b=k;break Ng}d=k;m=q-4|0;o=v[q+4>>2]>>>26&4|(v[m>>2]>>>28&1|(l>>>21&16|(l>>>25&64|s&170)));s=(w[o+25824|0]<<2)+e|0;h=s+28|0;k=v[h>>2];b=v[k>>2];d=d-b|0;if(c>>>16>>>0>=b>>>0){c=c-(b<<16)|0;if(d&32768){b=d;break Pg}O=v[k+4>>2];H=s;s=b>>>0>d>>>0;v[H+28>>2]=v[(s?12:8)+k>>2];while(1){mh:{if(g){break mh}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break mh}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break mh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;d=s?!O:O;break Og}O=v[k+4>>2];H=s;s=b>>>0>d>>>0;v[H+28>>2]=v[(s?8:12)+k>>2];while(1){nh:{if(g){break nh}k=v[e+16>>2];g=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break nh}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break nh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}d=s?O:!O;break Og}d=v[F>>2];l=v[d>>2];b=b-l|0;oh:{if(c>>>16>>>0>=l>>>0){c=c-(l<<16)|0;m=v[d+4>>2];if(b&32768){break oh}h=v[d+4>>2];m=b>>>0>>0;v[F>>2]=v[d+(m?12:8)>>2];while(1){ph:{if(g){break ph}l=v[e+16>>2];k=l+1|0;d=w[l+1|0];if(w[l|0]!=255){v[e+16>>2]=k;g=8;c=(d<<8)+c|0;break ph}if(d>>>0<=143){v[e+16>>2]=k;c=(d<<9)+c|0;g=7;break ph}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}m=m?!h:h;break oh}h=v[d+4>>2];m=b>>>0>>0;v[F>>2]=v[d+(m?8:12)>>2];while(1){qh:{if(g){break qh}d=v[e+16>>2];k=d+1|0;b=w[d+1|0];if(w[d|0]!=255){v[e+16>>2]=k;g=8;c=(b<<8)+c|0;break qh}if(b>>>0<=143){v[e+16>>2]=k;c=(b<<9)+c|0;g=7;break qh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;l=l<<1;if(l>>>0<32768){continue}break}b=l;m=m?h:!h}if(!m){h=F;break Mg}d=v[n>>2];l=v[d>>2];b=b-l|0;rh:{if(c>>>16>>>0>=l>>>0){c=c-(l<<16)|0;m=v[d+4>>2];if(b&32768){break rh}h=v[d+4>>2];m=b>>>0>>0;d=v[(m?12:8)+d>>2];v[n>>2]=d;while(1){sh:{if(g){break sh}k=v[e+16>>2];g=k+1|0;l=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(l<<8)+c|0;break sh}if(l>>>0<=143){v[e+16>>2]=g;c=(l<<9)+c|0;g=7;break sh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}m=m?!h:h;break rh}h=v[d+4>>2];m=b>>>0>>0;d=v[(m?8:12)+d>>2];v[n>>2]=d;while(1){th:{if(g){break th}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break th}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break th}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;l=l<<1;if(l>>>0<32768){continue}break}b=l;m=m?h:!h}l=v[d>>2];b=b-l|0;uh:{if(c>>>16>>>0>=l>>>0){c=c-(l<<16)|0;k=v[d+4>>2];if(b&32768){break uh}h=v[d+4>>2];o=b>>>0>>0;v[n>>2]=v[d+(o?12:8)>>2];while(1){vh:{if(g){break vh}l=v[e+16>>2];k=l+1|0;d=w[l+1|0];if(w[l|0]!=255){v[e+16>>2]=k;g=8;c=(d<<8)+c|0;break vh}if(d>>>0<=143){v[e+16>>2]=k;c=(d<<9)+c|0;g=7;break vh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}k=o?!h:h;break uh}h=v[d+4>>2];o=b>>>0>>0;v[n>>2]=v[d+(o?8:12)>>2];while(1){wh:{if(g){break wh}d=v[e+16>>2];k=d+1|0;b=w[d+1|0];if(w[d|0]!=255){v[e+16>>2]=k;g=8;c=(b<<8)+c|0;break wh}if(b>>>0<=143){v[e+16>>2]=k;c=(b<<9)+c|0;g=7;break wh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;l=l<<1;if(l>>>0<32768){continue}break}b=l;k=o?h:!h}d=k;l=0;h=n;xh:{yh:{zh:{Ah:{Bh:{switch(d|m<<1){case 0:h=q-4|0;o=v[q+4>>2]>>>17&4|v[h>>2]>>>19&1;k=(w[o+25824|0]<<2)+e|0;d=v[k+28>>2];l=v[d>>2];b=b-l|0;Ch:{if(c>>>16>>>0>=l>>>0){c=c-(l<<16)|0;m=v[d+4>>2];if(b&32768){break Ch}m=v[d+4>>2];s=b>>>0>>0;v[k+28>>2]=v[d+(s?12:8)>>2];while(1){Dh:{if(g){break Dh}l=v[e+16>>2];k=l+1|0;d=w[l+1|0];if(w[l|0]!=255){v[e+16>>2]=k;g=8;c=(d<<8)+c|0;break Dh}if(d>>>0<=143){v[e+16>>2]=k;c=(d<<9)+c|0;g=7;break Dh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}m=s?!m:m;break Ch}m=v[d+4>>2];s=b>>>0>>0;v[k+28>>2]=v[d+(s?8:12)>>2];while(1){Eh:{if(g){break Eh}d=v[e+16>>2];k=d+1|0;b=w[d+1|0];if(w[d|0]!=255){v[e+16>>2]=k;g=8;c=(b<<8)+c|0;break Eh}if(b>>>0<=143){v[e+16>>2]=k;c=(b<<9)+c|0;g=7;break Eh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;l=l<<1;if(l>>>0<32768){continue}break}b=l;m=s?m:!m}d=m;l=d^w[o+26080|0];v[f>>2]=l?j:r;v[h>>2]=v[h>>2]|32;v[q+4>>2]=v[q+4>>2]|8;d=q+(-2-v[e+124>>2]<<2)|0;v[d+4>>2]=v[d+4>>2]|32768;v[d>>2]=v[d>>2]|l<<31|65536;d=d-4|0;v[d>>2]=v[d>>2]|131072;m=l<<19;h=(w[v[e+108>>2]+2|0]<<2)+e|0;d=v[h+28>>2];l=v[d>>2];b=b-l|0;Fh:{if(c>>>16>>>0>=l>>>0){c=c-(l<<16)|0;k=v[d+4>>2];if(b&32768){break Fh}k=v[d+4>>2];o=b>>>0>>0;v[h+28>>2]=v[d+(o?12:8)>>2];while(1){Gh:{if(g){break Gh}l=v[e+16>>2];h=l+1|0;d=w[l+1|0];if(w[l|0]!=255){v[e+16>>2]=h;g=8;c=(d<<8)+c|0;break Gh}if(d>>>0<=143){v[e+16>>2]=h;c=(d<<9)+c|0;g=7;break Gh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}k=o?!k:k;break Fh}k=v[d+4>>2];o=b>>>0>>0;v[h+28>>2]=v[d+(o?8:12)>>2];while(1){Hh:{if(g){break Hh}d=v[e+16>>2];h=d+1|0;b=w[d+1|0];if(w[d|0]!=255){v[e+16>>2]=h;g=8;c=(b<<8)+c|0;break Hh}if(b>>>0<=143){v[e+16>>2]=h;c=(b<<9)+c|0;g=7;break Hh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;l=l<<1;if(l>>>0<32768){continue}break}b=l;k=o?k:!k}d=k;l=m|16;if(!d){break Ah}break;case 3:break xh;case 2:break zh;case 1:break Bh;default:break Ng}}k=q-4|0;s=v[q+4>>2]>>>20&4|(v[k>>2]>>>22&1|(l>>>15&16|(l>>>19&64|l>>>3&170)));m=(w[s+25824|0]<<2)+e|0;h=v[m+28>>2];d=v[h>>2];b=b-d|0;Ih:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;o=v[h+4>>2];if(b&32768){break Ih}o=v[h+4>>2];H=m;m=b>>>0>>0;v[H+28>>2]=v[h+(m?12:8)>>2];while(1){Jh:{if(g){break Jh}h=v[e+16>>2];g=h+1|0;d=w[h+1|0];if(w[h|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break Jh}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break Jh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}o=m?!o:o;break Ih}o=v[h+4>>2];H=m;m=b>>>0>>0;v[H+28>>2]=v[h+(m?8:12)>>2];while(1){Kh:{if(g){break Kh}h=v[e+16>>2];g=h+1|0;b=w[h+1|0];if(w[h|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break Kh}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break Kh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;o=m?o:!o}d=o;d=d^w[s+26080|0];v[(i<<2)+f>>2]=d?j:r;v[k>>2]=v[k>>2]|256;v[q+4>>2]=v[q+4>>2]|64;l=d<<22|l|128}k=(w[v[e+108>>2]+(l>>>6&495)|0]<<2)+e|0;h=v[k+28>>2];d=v[h>>2];b=b-d|0;Lh:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;m=v[h+4>>2];if(b&32768){break Lh}m=v[h+4>>2];o=b>>>0>>0;v[k+28>>2]=v[h+(o?12:8)>>2];while(1){Mh:{if(g){break Mh}h=v[e+16>>2];k=h+1|0;d=w[h+1|0];if(w[h|0]!=255){v[e+16>>2]=k;g=8;c=(d<<8)+c|0;break Mh}if(d>>>0<=143){v[e+16>>2]=k;c=(d<<9)+c|0;g=7;break Mh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}m=o?!m:m;break Lh}m=v[h+4>>2];o=b>>>0>>0;v[k+28>>2]=v[h+(o?8:12)>>2];while(1){Nh:{if(g){break Nh}h=v[e+16>>2];k=h+1|0;b=w[h+1|0];if(w[h|0]!=255){v[e+16>>2]=k;g=8;c=(b<<8)+c|0;break Nh}if(b>>>0<=143){v[e+16>>2]=k;c=(b<<9)+c|0;g=7;break Nh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;m=o?m:!m}if(!m){break yh}}k=q-4|0;s=v[q+4>>2]>>>23&4|(v[k>>2]>>>25&1|(l>>>18&16|(l>>>22&64|l>>>6&170)));m=(w[s+25824|0]<<2)+e|0;h=v[m+28>>2];d=v[h>>2];b=b-d|0;Oh:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;o=v[h+4>>2];if(b&32768){break Oh}o=v[h+4>>2];H=m;m=b>>>0>>0;v[H+28>>2]=v[h+(m?12:8)>>2];while(1){Ph:{if(g){break Ph}h=v[e+16>>2];g=h+1|0;d=w[h+1|0];if(w[h|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break Ph}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break Ph}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}o=m?!o:o;break Oh}o=v[h+4>>2];H=m;m=b>>>0>>0;v[H+28>>2]=v[h+(m?8:12)>>2];while(1){Qh:{if(g){break Qh}h=v[e+16>>2];g=h+1|0;b=w[h+1|0];if(w[h|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break Qh}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break Qh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;o=m?o:!o}d=o;d=d^w[s+26080|0];v[(Q<<2)+f>>2]=d?j:r;v[k>>2]=v[k>>2]|2048;v[q+4>>2]=v[q+4>>2]|512;l=d<<25|l|1024}m=(w[v[e+108>>2]+(l>>>9&495)|0]<<2)+e|0;h=m+28|0;k=v[h>>2];d=v[k>>2];b=b-d|0;Rh:{if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;o=v[k+4>>2];if(b&32768){break Rh}o=v[k+4>>2];s=m;m=b>>>0>>0;v[s+28>>2]=v[k+(m?12:8)>>2];while(1){Sh:{if(g){break Sh}k=v[e+16>>2];g=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break Sh}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break Sh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}o=m?!o:o;break Rh}o=v[k+4>>2];s=m;m=b>>>0>>0;v[s+28>>2]=v[k+(m?8:12)>>2];while(1){Th:{if(g){break Th}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break Th}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break Th}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;o=m?o:!o}if(!o){break Ng}}m=q-4|0;o=v[q+4>>2]>>>26&4|(v[m>>2]>>>28&1|(l>>>21&16|(l>>>25&64|l>>>9&170)));s=(w[o+25824|0]<<2)+e|0;h=s+28|0;k=v[h>>2];d=v[k>>2];b=b-d|0;if(c>>>16>>>0>=d>>>0){c=c-(d<<16)|0;if(b&32768){break Pg}O=v[k+4>>2];H=s;s=b>>>0>>0;v[H+28>>2]=v[(s?12:8)+k>>2];while(1){Uh:{if(g){break Uh}k=v[e+16>>2];g=k+1|0;d=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(d<<8)+c|0;break Uh}if(d>>>0<=143){v[e+16>>2]=g;c=(d<<9)+c|0;g=7;break Uh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}d=s?!O:O;break Og}O=v[k+4>>2];H=s;s=b>>>0>>0;v[H+28>>2]=v[(s?8:12)+k>>2];while(1){Vh:{if(g){break Vh}k=v[e+16>>2];g=k+1|0;b=w[k+1|0];if(w[k|0]!=255){v[e+16>>2]=g;g=8;c=(b<<8)+c|0;break Vh}if(b>>>0<=143){v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break Vh}v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;d=s?O:!O;break Og}d=v[k+4>>2]}k=d^w[o+26080|0];v[(G<<2)+f>>2]=k?j:r;v[m>>2]=v[m>>2]|16384;v[q+4>>2]=v[q+4>>2]|4096;d=q+(v[e+124>>2]<<2)|0;v[d+4>>2]=v[d+4>>2]|4;v[d+12>>2]=v[d+12>>2]|1;v[d+8>>2]=v[d+8>>2]|k<<18|2;l=k<<28|l|8192}v[q>>2]=l&-1226833921}l=q+4|0;f=f+4|0;K=K+1|0;if((i|0)!=(K|0)){continue}break}l=q+12|0;f=(G<<2)+f|0;D=D+4|0;d=v[e+128>>2];if(D>>>0<(d&-4)>>>0){continue}break}break Lg}l=d&-4;l=(l>>>0<=4?4:l)-1|0;D=(l&-4)+4|0;l=(k+(l<<1&-8)|0)+20|0}v[e+8>>2]=g;v[e+4>>2]=b;v[e>>2]=c;v[e+104>>2]=h;if(!i|d>>>0<=D>>>0){break ke}while(1){g=0;if(v[e+128>>2]!=(D|0)){while(1){Hc(e,l,(B(g,i)<<2)+f|0,r,g,0);g=g+1|0;if(g>>>0>2]-D>>>0){continue}break}}v[l>>2]=v[l>>2]&-1226833921;f=f+4|0;l=l+4|0;p=p+1|0;if((i|0)!=(p|0)){continue}break}break ke}l=d&-4;l=(l>>>0<=4?4:l)-1|0;D=(l&-4)+4|0;l=(k+(l<<1&-8)|0)+20|0}v[e+8>>2]=g;v[e+4>>2]=b;v[e>>2]=c;v[e+104>>2]=h;if(!i|d>>>0<=D>>>0){break ke}while(1){g=0;if(v[e+128>>2]!=(D|0)){while(1){Hc(e,l,(B(g,i)<<2)+f|0,r,g,1);g=g+1|0;if(g>>>0>2]-D>>>0){continue}break}}v[l>>2]=v[l>>2]&-1226833921;f=f+4|0;l=l+4|0;p=p+1|0;if((i|0)!=(p|0)){continue}break}break ke}while(1){D=0;while(1){F=f;n=d;Wh:{Xh:{Yh:{Zh:{d=v[d>>2];_h:{if(!d){f=v[q>>2];d=v[f>>2];b=b-d|0;$h:{if(c>>>16>>>0>>0){l=v[f+4>>2];j=b>>>0>>0;v[q>>2]=v[f+(j?8:12)>>2];while(1){ai:{if(g){break ai}f=v[e+16>>2];h=f+1|0;b=w[f+1|0];if(w[f|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break ai}v[e+16>>2]=h;c=(b<<9)+c|0;g=7;break ai}v[e+16>>2]=h;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;d=j?l:!l;break $h}c=c-(d<<16)|0;if(!(b&32768)){l=v[f+4>>2];j=b>>>0>>0;v[q>>2]=v[f+(j?12:8)>>2];while(1){bi:{if(g){break bi}f=v[e+16>>2];h=f+1|0;d=w[f+1|0];if(w[f|0]==255){if(d>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break bi}v[e+16>>2]=h;c=(d<<9)+c|0;g=7;break bi}v[e+16>>2]=h;g=8;c=(d<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}d=j?!l:l;break $h}d=v[f+4>>2]}if(!d){l=q;break Wh}f=v[k>>2];d=v[f>>2];b=b-d|0;ci:{if(c>>>16>>>0>>0){l=v[f+4>>2];m=b>>>0>>0;f=v[(m?8:12)+f>>2];v[k>>2]=f;while(1){di:{if(g){break di}h=v[e+16>>2];j=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break di}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break di}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;j=m?l:!l;break ci}c=c-(d<<16)|0;if(!(b&32768)){l=v[f+4>>2];m=b>>>0>>0;f=v[(m?12:8)+f>>2];v[k>>2]=f;while(1){ei:{if(g){break ei}h=v[e+16>>2];j=h+1|0;d=w[h+1|0];if(w[h|0]==255){if(d>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break ei}v[e+16>>2]=j;c=(d<<9)+c|0;g=7;break ei}v[e+16>>2]=j;g=8;c=(d<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}j=m?!l:l;break ci}j=v[f+4>>2]}d=v[f>>2];b=b-d|0;fi:{if(c>>>16>>>0>>0){l=v[f+4>>2];m=b>>>0>>0;v[k>>2]=v[f+(m?8:12)>>2];while(1){gi:{if(g){break gi}f=v[e+16>>2];h=f+1|0;b=w[f+1|0];if(w[f|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break gi}v[e+16>>2]=h;c=(b<<9)+c|0;g=7;break gi}v[e+16>>2]=h;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;f=m?l:!l;break fi}c=c-(d<<16)|0;if(!(b&32768)){l=v[f+4>>2];m=b>>>0>>0;v[k>>2]=v[(m?12:8)+f>>2];while(1){hi:{if(g){break hi}f=v[e+16>>2];h=f+1|0;d=w[f+1|0];if(w[f|0]==255){if(d>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break hi}v[e+16>>2]=h;c=(d<<9)+c|0;g=7;break hi}v[e+16>>2]=h;g=8;c=(d<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=m?!l:l;break fi}f=v[f+4>>2]}d=0;l=k;ii:{ji:{ki:{li:{mi:{switch(f|j<<1){case 0:l=n-4|0;m=v[n+4>>2]>>>17&4|v[l>>2]>>>19&1;h=(w[m+25824|0]<<2)+e|0;f=v[h+28>>2];d=v[f>>2];b=b-d|0;ni:{if(c>>>16>>>0>>0){j=v[f+4>>2];p=b>>>0>>0;v[h+28>>2]=v[f+(p?8:12)>>2];while(1){oi:{if(g){break oi}f=v[e+16>>2];h=f+1|0;b=w[f+1|0];if(w[f|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break oi}v[e+16>>2]=h;c=(b<<9)+c|0;g=7;break oi}v[e+16>>2]=h;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;d=p?j:!j;break ni}c=c-(d<<16)|0;if(!(b&32768)){j=v[f+4>>2];p=b>>>0>>0;v[h+28>>2]=v[f+(p?12:8)>>2];while(1){pi:{if(g){break pi}f=v[e+16>>2];h=f+1|0;d=w[f+1|0];if(w[f|0]==255){if(d>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break pi}v[e+16>>2]=h;c=(d<<9)+c|0;g=7;break pi}v[e+16>>2]=h;g=8;c=(d<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}d=p?!j:j;break ni}d=v[f+4>>2]}d=d^w[m+26080|0];v[F>>2]=d?r:i;v[l>>2]=v[l>>2]|32;v[n+4>>2]=v[n+4>>2]|8;j=d<<19;l=(w[v[e+108>>2]+2|0]<<2)+e|0;f=v[l+28>>2];d=v[f>>2];b=b-d|0;qi:{if(c>>>16>>>0>>0){h=v[f+4>>2];m=b>>>0>>0;v[l+28>>2]=v[f+(m?8:12)>>2];while(1){ri:{if(g){break ri}f=v[e+16>>2];l=f+1|0;b=w[f+1|0];if(w[f|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break ri}v[e+16>>2]=l;c=(b<<9)+c|0;g=7;break ri}v[e+16>>2]=l;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;d=d<<1;if(d>>>0<32768){continue}break}b=d;f=m?h:!h;break qi}c=c-(d<<16)|0;if(!(b&32768)){h=v[f+4>>2];m=b>>>0>>0;v[l+28>>2]=v[f+(m?12:8)>>2];while(1){si:{if(g){break si}f=v[e+16>>2];l=f+1|0;d=w[f+1|0];if(w[f|0]==255){if(d>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break si}v[e+16>>2]=l;c=(d<<9)+c|0;g=7;break si}v[e+16>>2]=l;g=8;c=(d<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=m?!h:h;break qi}f=v[f+4>>2]}d=j|16;if(!f){break li}break;case 3:break ii;case 2:break ki;case 1:break mi;default:break Xh}}h=n-4|0;p=v[n+4>>2]>>>20&4|(v[h>>2]>>>22&1|(d>>>15&16|(d>>>19&64|d>>>3&170)));j=(w[p+25824|0]<<2)+e|0;l=v[j+28>>2];f=v[l>>2];b=b-f|0;ti:{if(c>>>16>>>0>>0){m=v[l+4>>2];G=b>>>0>>0;v[j+28>>2]=v[l+(G?8:12)>>2];while(1){ui:{if(g){break ui}l=v[e+16>>2];j=l+1|0;b=w[l+1|0];if(w[l|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break ui}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break ui}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=G?m:!m;break ti}c=c-(f<<16)|0;if(!(b&32768)){m=v[l+4>>2];G=b>>>0>>0;v[j+28>>2]=v[l+(G?12:8)>>2];while(1){vi:{if(g){break vi}l=v[e+16>>2];j=l+1|0;f=w[l+1|0];if(w[l|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break vi}v[e+16>>2]=j;c=(f<<9)+c|0;g=7;break vi}v[e+16>>2]=j;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=G?!m:m;break ti}f=v[l+4>>2]}f=f^w[p+26080|0];v[F+256>>2]=f?r:i;v[h>>2]=v[h>>2]|256;v[n+4>>2]=v[n+4>>2]|64;d=f<<22|d|128}h=(w[v[e+108>>2]+(d>>>6&495)|0]<<2)+e|0;l=v[h+28>>2];f=v[l>>2];b=b-f|0;wi:{if(c>>>16>>>0>>0){j=v[l+4>>2];m=b>>>0>>0;v[h+28>>2]=v[l+(m?8:12)>>2];while(1){xi:{if(g){break xi}l=v[e+16>>2];h=l+1|0;b=w[l+1|0];if(w[l|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break xi}v[e+16>>2]=h;c=(b<<9)+c|0;g=7;break xi}v[e+16>>2]=h;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=m?j:!j;break wi}c=c-(f<<16)|0;if(!(b&32768)){j=v[l+4>>2];m=b>>>0>>0;v[h+28>>2]=v[l+(m?12:8)>>2];while(1){yi:{if(g){break yi}l=v[e+16>>2];h=l+1|0;f=w[l+1|0];if(w[l|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break yi}v[e+16>>2]=h;c=(f<<9)+c|0;g=7;break yi}v[e+16>>2]=h;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=m?!j:j;break wi}f=v[l+4>>2]}if(!f){break ji}}h=n-4|0;p=v[n+4>>2]>>>23&4|(v[h>>2]>>>25&1|(d>>>18&16|(d>>>22&64|d>>>6&170)));j=(w[p+25824|0]<<2)+e|0;l=v[j+28>>2];f=v[l>>2];b=b-f|0;zi:{if(c>>>16>>>0>>0){m=v[l+4>>2];G=b>>>0>>0;v[j+28>>2]=v[l+(G?8:12)>>2];while(1){Ai:{if(g){break Ai}l=v[e+16>>2];j=l+1|0;b=w[l+1|0];if(w[l|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Ai}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break Ai}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=G?m:!m;break zi}c=c-(f<<16)|0;if(!(b&32768)){m=v[l+4>>2];G=b>>>0>>0;v[j+28>>2]=v[l+(G?12:8)>>2];while(1){Bi:{if(g){break Bi}l=v[e+16>>2];j=l+1|0;f=w[l+1|0];if(w[l|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Bi}v[e+16>>2]=j;c=(f<<9)+c|0;g=7;break Bi}v[e+16>>2]=j;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=G?!m:m;break zi}f=v[l+4>>2]}f=f^w[p+26080|0];v[F+512>>2]=f?r:i;v[h>>2]=v[h>>2]|2048;v[n+4>>2]=v[n+4>>2]|512;d=f<<25|d|1024}j=(w[v[e+108>>2]+(d>>>9&495)|0]<<2)+e|0;l=j+28|0;h=v[l>>2];f=v[h>>2];b=b-f|0;Ci:{if(c>>>16>>>0>>0){m=v[h+4>>2];p=b>>>0>>0;v[j+28>>2]=v[h+(p?8:12)>>2];while(1){Di:{if(g){break Di}h=v[e+16>>2];j=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Di}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break Di}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=p?m:!m;break Ci}c=c-(f<<16)|0;if(!(b&32768)){m=v[h+4>>2];p=b>>>0>>0;v[j+28>>2]=v[h+(p?12:8)>>2];while(1){Ei:{if(g){break Ei}h=v[e+16>>2];j=h+1|0;f=w[h+1|0];if(w[h|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Ei}v[e+16>>2]=j;c=(f<<9)+c|0;g=7;break Ei}v[e+16>>2]=j;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=p?!m:m;break Ci}f=v[h+4>>2]}if(!f){break Xh}}m=n-4|0;G=v[n+4>>2]>>>26&4|(v[m>>2]>>>28&1|(d>>>21&16|(d>>>25&64|d>>>9&170)));j=(w[G+25824|0]<<2)+e|0;l=j+28|0;h=v[l>>2];f=v[h>>2];b=b-f|0;if(c>>>16>>>0>>0){p=v[h+4>>2];K=b>>>0>>0;v[j+28>>2]=v[h+(K?8:12)>>2];while(1){Fi:{if(g){break Fi}h=v[e+16>>2];j=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Fi}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break Fi}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=K?p:!p;break Yh}c=c-(f<<16)|0;if(b&32768){break _h}p=v[h+4>>2];K=b>>>0>>0;v[j+28>>2]=v[(K?12:8)+h>>2];while(1){Gi:{if(g){break Gi}h=v[e+16>>2];j=h+1|0;f=w[h+1|0];if(w[h|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Gi}v[e+16>>2]=j;c=(f<<9)+c|0;g=7;break Gi}v[e+16>>2]=j;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=K?!p:p;break Yh}Hi:{if(d&2097168){break Hi}j=(w[v[e+108>>2]+(d&495)|0]<<2)+e|0;l=j+28|0;h=v[l>>2];f=v[h>>2];b=b-f|0;Ii:{if(c>>>16>>>0>>0){m=v[h+4>>2];p=b>>>0>>0;v[j+28>>2]=v[h+(p?8:12)>>2];while(1){Ji:{if(g){break Ji}h=v[e+16>>2];j=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Ji}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break Ji}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=p?m:!m;break Ii}c=c-(f<<16)|0;if(!(b&32768)){m=v[h+4>>2];p=b>>>0>>0;v[j+28>>2]=v[h+(p?12:8)>>2];while(1){Ki:{if(g){break Ki}h=v[e+16>>2];j=h+1|0;f=w[h+1|0];if(w[h|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Ki}v[e+16>>2]=j;c=(f<<9)+c|0;g=7;break Ki}v[e+16>>2]=j;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=p?!m:m;break Ii}f=v[h+4>>2]}if(!f){break Hi}j=n-4|0;G=v[n+4>>2]>>>17&4|(v[j>>2]>>>19&1|(d>>>14&16|(d>>>16&64|d&170)));m=(w[G+25824|0]<<2)+e|0;l=m+28|0;h=v[l>>2];f=v[h>>2];b=b-f|0;Li:{if(c>>>16>>>0>>0){p=v[h+4>>2];s=m;m=b>>>0>>0;v[s+28>>2]=v[h+(m?8:12)>>2];while(1){Mi:{if(g){break Mi}h=v[e+16>>2];g=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Mi}v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break Mi}v[e+16>>2]=g;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=m?p:!p;break Li}c=c-(f<<16)|0;if(!(b&32768)){p=v[h+4>>2];s=m;m=b>>>0>>0;v[s+28>>2]=v[h+(m?12:8)>>2];while(1){Ni:{if(g){break Ni}h=v[e+16>>2];g=h+1|0;f=w[h+1|0];if(w[h|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Ni}v[e+16>>2]=g;c=(f<<9)+c|0;g=7;break Ni}v[e+16>>2]=g;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=m?!p:p;break Li}f=v[h+4>>2]}f=f^w[G+26080|0];v[F>>2]=f?r:i;v[j>>2]=v[j>>2]|32;v[n+4>>2]=v[n+4>>2]|8;d=f<<19|d|16}Oi:{if(d&16777344){break Oi}p=d>>>3|0;j=(w[v[e+108>>2]+(p&495)|0]<<2)+e|0;l=j+28|0;h=v[l>>2];f=v[h>>2];b=b-f|0;Pi:{if(c>>>16>>>0>>0){m=v[h+4>>2];G=b>>>0>>0;v[j+28>>2]=v[h+(G?8:12)>>2];while(1){Qi:{if(g){break Qi}h=v[e+16>>2];j=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Qi}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break Qi}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=G?m:!m;break Pi}c=c-(f<<16)|0;if(!(b&32768)){m=v[h+4>>2];G=b>>>0>>0;v[j+28>>2]=v[h+(G?12:8)>>2];while(1){Ri:{if(g){break Ri}h=v[e+16>>2];j=h+1|0;f=w[h+1|0];if(w[h|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Ri}v[e+16>>2]=j;c=(f<<9)+c|0;g=7;break Ri}v[e+16>>2]=j;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=G?!m:m;break Pi}f=v[h+4>>2]}if(!f){break Oi}j=n-4|0;G=v[n+4>>2]>>>20&4|(v[j>>2]>>>22&1|(d>>>15&16|(d>>>19&64|p&170)));m=(w[G+25824|0]<<2)+e|0;l=m+28|0;h=v[l>>2];f=v[h>>2];b=b-f|0;Si:{if(c>>>16>>>0>>0){p=v[h+4>>2];s=m;m=b>>>0>>0;v[s+28>>2]=v[h+(m?8:12)>>2];while(1){Ti:{if(g){break Ti}h=v[e+16>>2];g=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Ti}v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break Ti}v[e+16>>2]=g;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=m?p:!p;break Si}c=c-(f<<16)|0;if(!(b&32768)){p=v[h+4>>2];s=m;m=b>>>0>>0;v[s+28>>2]=v[h+(m?12:8)>>2];while(1){Ui:{if(g){break Ui}h=v[e+16>>2];g=h+1|0;f=w[h+1|0];if(w[h|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Ui}v[e+16>>2]=g;c=(f<<9)+c|0;g=7;break Ui}v[e+16>>2]=g;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=m?!p:p;break Si}f=v[h+4>>2]}f=f^w[G+26080|0];v[F+256>>2]=f?r:i;v[j>>2]=v[j>>2]|256;v[n+4>>2]=v[n+4>>2]|64;d=f<<22|d|128}Vi:{if(d&134218752){break Vi}p=d>>>6|0;j=(w[v[e+108>>2]+(p&495)|0]<<2)+e|0;l=j+28|0;h=v[l>>2];f=v[h>>2];b=b-f|0;Wi:{if(c>>>16>>>0>>0){m=v[h+4>>2];G=b>>>0>>0;v[j+28>>2]=v[h+(G?8:12)>>2];while(1){Xi:{if(g){break Xi}h=v[e+16>>2];j=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Xi}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break Xi}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=G?m:!m;break Wi}c=c-(f<<16)|0;if(!(b&32768)){m=v[h+4>>2];G=b>>>0>>0;v[j+28>>2]=v[h+(G?12:8)>>2];while(1){Yi:{if(g){break Yi}h=v[e+16>>2];j=h+1|0;f=w[h+1|0];if(w[h|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break Yi}v[e+16>>2]=j;c=(f<<9)+c|0;g=7;break Yi}v[e+16>>2]=j;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=G?!m:m;break Wi}f=v[h+4>>2]}if(!f){break Vi}j=n-4|0;G=v[n+4>>2]>>>23&4|(v[j>>2]>>>25&1|(d>>>18&16|(d>>>22&64|p&170)));m=(w[G+25824|0]<<2)+e|0;l=m+28|0;h=v[l>>2];f=v[h>>2];b=b-f|0;Zi:{if(c>>>16>>>0>>0){p=v[h+4>>2];s=m;m=b>>>0>>0;v[s+28>>2]=v[h+(m?8:12)>>2];while(1){_i:{if(g){break _i}h=v[e+16>>2];g=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break _i}v[e+16>>2]=g;c=(b<<9)+c|0;g=7;break _i}v[e+16>>2]=g;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=m?p:!p;break Zi}c=c-(f<<16)|0;if(!(b&32768)){p=v[h+4>>2];s=m;m=b>>>0>>0;v[s+28>>2]=v[h+(m?12:8)>>2];while(1){$i:{if(g){break $i}h=v[e+16>>2];g=h+1|0;f=w[h+1|0];if(w[h|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break $i}v[e+16>>2]=g;c=(f<<9)+c|0;g=7;break $i}v[e+16>>2]=g;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=m?!p:p;break Zi}f=v[h+4>>2]}f=f^w[G+26080|0];v[F+512>>2]=f?r:i;v[j>>2]=v[j>>2]|2048;v[n+4>>2]=v[n+4>>2]|512;d=f<<25|d|1024}if(d&1073750016){break Xh}m=b;p=d>>>9|0;j=(w[v[e+108>>2]+(p&495)|0]<<2)+e|0;l=j+28|0;b=v[l>>2];f=v[b>>2];h=m-f|0;aj:{if(c>>>16>>>0>>0){m=v[b+4>>2];G=f>>>0>h>>>0;v[j+28>>2]=v[b+(G?8:12)>>2];while(1){bj:{if(g){break bj}h=v[e+16>>2];j=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break bj}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break bj}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}h=f;b=G?m:!m;break aj}c=c-(f<<16)|0;if(!(h&32768)){m=v[b+4>>2];G=f>>>0>h>>>0;v[j+28>>2]=v[b+(G?12:8)>>2];while(1){cj:{if(g){break cj}f=v[e+16>>2];j=f+1|0;b=w[f+1|0];if(w[f|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break cj}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break cj}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;h=h<<1;if(h>>>0<32768){continue}break}b=G?!m:m;break aj}b=v[b+4>>2]}if(!b){b=h;break Xh}f=h;m=n-4|0;G=v[n+4>>2]>>>26&4|(v[m>>2]>>>28&1|(d>>>21&16|(d>>>25&64|p&170)));j=(w[G+25824|0]<<2)+e|0;l=j+28|0;h=v[l>>2];b=v[h>>2];f=f-b|0;if(c>>>16>>>0>>0){p=v[h+4>>2];K=b>>>0>f>>>0;v[j+28>>2]=v[(K?8:12)+h>>2];while(1){dj:{if(g){break dj}h=v[e+16>>2];j=h+1|0;f=w[h+1|0];if(w[h|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break dj}v[e+16>>2]=j;c=(f<<9)+c|0;g=7;break dj}v[e+16>>2]=j;g=8;c=(f<<8)+c|0}g=g-1|0;c=c<<1;b=b<<1;if(b>>>0<32768){continue}break}f=K?p:!p;break Yh}c=c-(b<<16)|0;if(!(f&32768)){break Zh}b=f}f=v[h+4>>2];break Yh}p=v[h+4>>2];K=b>>>0>f>>>0;v[j+28>>2]=v[h+(K?12:8)>>2];while(1){ej:{if(g){break ej}h=v[e+16>>2];j=h+1|0;b=w[h+1|0];if(w[h|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;c=c+65280|0;g=8;break ej}v[e+16>>2]=j;c=(b<<9)+c|0;g=7;break ej}v[e+16>>2]=j;g=8;c=(b<<8)+c|0}g=g-1|0;c=c<<1;f=f<<1;if(f>>>0<32768){continue}break}b=f;f=K?!p:p}f=f^w[G+26080|0];v[F+768>>2]=f?r:i;v[m>>2]=v[m>>2]|16384;v[n+4>>2]=v[n+4>>2]|4096;v[n+260>>2]=v[n+260>>2]|4;v[n+268>>2]=v[n+268>>2]|1;v[n+264>>2]=v[n+264>>2]|f<<18|2;d=f<<28|d|8192}v[n>>2]=d&-1226833921}d=n+4|0;f=F+4|0;D=D+1|0;if((D|0)!=64){continue}break}d=n+12|0;f=F+772|0;h=o>>>0<60;o=o+4|0;if(h){continue}break}}v[e+8>>2]=g;v[e+4>>2]=b;v[e>>2]=c;v[e+104>>2]=l}fj:{if(!(U&32)){break fj}v[e+104>>2]=e+100;d=v[e+100>>2];b=v[d>>2];c=v[e+4>>2]-b|0;v[e+4>>2]=c;g=v[e>>2];gj:{if(g>>>16>>>0>>0){v[e+4>>2]=b;d=v[(b>>>0>c>>>0?8:12)+d>>2];v[e+100>>2]=d;c=v[e+8>>2];while(1){hj:{if(c){break hj}l=v[e+16>>2];h=l+1|0;f=w[l+1|0];if(w[l|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;g=g+65280|0;c=8;break hj}v[e+16>>2]=h;g=(f<<9)+g|0;c=7;break hj}v[e+16>>2]=h;c=8;g=(f<<8)+g|0}c=c-1|0;v[e+8>>2]=c;g=g<<1;v[e>>2]=g;b=b<<1;v[e+4>>2]=b;if(b>>>0<32768){continue}break}c=b;break gj}g=g-(b<<16)|0;v[e>>2]=g;if(c&32768){break gj}d=v[(b>>>0>c>>>0?12:8)+d>>2];v[e+100>>2]=d;b=v[e+8>>2];while(1){ij:{if(b){break ij}b=v[e+16>>2];l=b+1|0;f=w[b+1|0];if(w[b|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;g=g+65280|0;b=8;break ij}v[e+16>>2]=l;g=(f<<9)+g|0;b=7;break ij}v[e+16>>2]=l;b=8;g=(f<<8)+g|0}b=b-1|0;v[e+8>>2]=b;g=g<<1;v[e>>2]=g;c=c<<1;v[e+4>>2]=c;if(c>>>0<32768){continue}break}}b=v[d>>2];c=c-b|0;v[e+4>>2]=c;jj:{if(g>>>16>>>0>>0){v[e+4>>2]=b;d=v[(b>>>0>c>>>0?8:12)+d>>2];v[e+100>>2]=d;c=v[e+8>>2];while(1){kj:{if(c){break kj}l=v[e+16>>2];h=l+1|0;f=w[l+1|0];if(w[l|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;g=g+65280|0;c=8;break kj}v[e+16>>2]=h;g=(f<<9)+g|0;c=7;break kj}v[e+16>>2]=h;c=8;g=(f<<8)+g|0}c=c-1|0;v[e+8>>2]=c;g=g<<1;v[e>>2]=g;b=b<<1;v[e+4>>2]=b;if(b>>>0<32768){continue}break}c=b;break jj}g=g-(b<<16)|0;v[e>>2]=g;if(c&32768){break jj}d=v[(b>>>0>c>>>0?12:8)+d>>2];v[e+100>>2]=d;b=v[e+8>>2];while(1){lj:{if(b){break lj}b=v[e+16>>2];l=b+1|0;f=w[b+1|0];if(w[b|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;g=g+65280|0;b=8;break lj}v[e+16>>2]=l;g=(f<<9)+g|0;b=7;break lj}v[e+16>>2]=l;b=8;g=(f<<8)+g|0}b=b-1|0;v[e+8>>2]=b;g=g<<1;v[e>>2]=g;c=c<<1;v[e+4>>2]=c;if(c>>>0<32768){continue}break}}b=v[d>>2];c=c-b|0;v[e+4>>2]=c;mj:{if(g>>>16>>>0>>0){v[e+4>>2]=b;d=v[(b>>>0>c>>>0?8:12)+d>>2];v[e+100>>2]=d;c=v[e+8>>2];while(1){nj:{if(c){break nj}l=v[e+16>>2];h=l+1|0;f=w[l+1|0];if(w[l|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;g=g+65280|0;c=8;break nj}v[e+16>>2]=h;g=(f<<9)+g|0;c=7;break nj}v[e+16>>2]=h;c=8;g=(f<<8)+g|0}c=c-1|0;v[e+8>>2]=c;g=g<<1;v[e>>2]=g;b=b<<1;v[e+4>>2]=b;if(b>>>0<32768){continue}break}c=b;break mj}g=g-(b<<16)|0;v[e>>2]=g;if(c&32768){break mj}d=v[(b>>>0>c>>>0?12:8)+d>>2];v[e+100>>2]=d;b=v[e+8>>2];while(1){oj:{if(b){break oj}b=v[e+16>>2];l=b+1|0;f=w[b+1|0];if(w[b|0]==255){if(f>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;g=g+65280|0;b=8;break oj}v[e+16>>2]=l;g=(f<<9)+g|0;b=7;break oj}v[e+16>>2]=l;b=8;g=(f<<8)+g|0}b=b-1|0;v[e+8>>2]=b;g=g<<1;v[e>>2]=g;c=c<<1;v[e+4>>2]=c;if(c>>>0<32768){continue}break}}b=v[d>>2];c=c-b|0;v[e+4>>2]=c;if(g>>>16>>>0>>0){v[e+4>>2]=b;v[e+100>>2]=v[(b>>>0>c>>>0?8:12)+d>>2];c=v[e+8>>2];while(1){pj:{if(c){break pj}f=v[e+16>>2];l=f+1|0;d=w[f+1|0];if(w[f|0]==255){if(d>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;g=g+65280|0;c=8;break pj}v[e+16>>2]=l;g=(d<<9)+g|0;c=7;break pj}v[e+16>>2]=l;c=8;g=(d<<8)+g|0}c=c-1|0;v[e+8>>2]=c;g=g<<1;v[e>>2]=g;b=b<<1;v[e+4>>2]=b;if(b>>>0<32768){continue}break}break fj}f=g-(b<<16)|0;v[e>>2]=f;if(c&32768){break fj}v[e+100>>2]=v[(b>>>0>c>>>0?12:8)+d>>2];g=v[e+8>>2];while(1){qj:{if(g){break qj}d=v[e+16>>2];l=d+1|0;b=w[d+1|0];if(w[d|0]==255){if(b>>>0>=144){v[e+12>>2]=v[e+12>>2]+1;f=f+65280|0;g=8;break qj}v[e+16>>2]=l;f=(b<<9)+f|0;g=7;break qj}v[e+16>>2]=l;g=8;f=(b<<8)+f|0}g=g-1|0;v[e+8>>2]=g;f=f<<1;v[e>>2]=f;c=c<<1;v[e+4>>2]=c;if(c>>>0<32768){continue}break}}}if(ia){break _a}Jc(e);v[e+100>>2]=23744;v[e+96>>2]=22368;v[e+28>>2]=22400}d=P+1|0;b=(d|0)==3;P=b?0:d;N=N-b|0;T=T+1|0;if(T>>>0>=y[X+8>>2]){break Za}if((N|0)>0){continue}break}}L=L+ga|0;b=v[e+24>>2];d=x[e+112>>1];t[b|0]=d;t[b+1|0]=d>>>8;J=J+1|0;if(J>>>0>2]){continue}break}}rj:{if(!$){break rj}sj:{b=v[e+24>>2];d=v[e+16>>2];if(b>>>0>d+2>>>0){if(!V){break sj}b=v[e+16>>2];d=v[e+24>>2];f=v[e+20>>2];v[W+56>>2]=d-f;v[W+52>>2]=b-f;v[W+48>>2]=(d-b|0)-2;Ea(S,2,15877,W+48|0);break rj}b=v[e+12>>2];if(b>>>0<3){break rj}if(V){v[W+80>>2]=v[e+12>>2];Ea(S,2,8106,W+80|0);break rj}v[W+64>>2]=b;Ea(S,2,8106,W- -64|0);break rj}f=v[e+20>>2];v[W+40>>2]=b-f;v[W+36>>2]=d-f;v[W+32>>2]=(b-d|0)-2;Ea(S,2,15877,W+32|0)}if(!v[M+60>>2]){break h}v[e+116>>2]=aa}i=v[M+8>>2]-v[da>>2]|0;b=v[da+16>>2];if(b&1){d=(v[ba+28>>2]+B(ka,152)|0)-152|0;i=(v[d+8>>2]+i|0)-v[d>>2]|0}g=v[M+12>>2]-v[da+4>>2]|0;if(b&2){b=(v[ba+28>>2]+B(ka,152)|0)-152|0;g=(v[b+12>>2]+g|0)-v[b+4>>2]|0}d=v[M+60>>2];r=d?d:v[e+116>>2];k=v[e+128>>2];f=v[e+124>>2];b=v[ca+808>>2];tj:{if(!b){break tj}if((b|0)>=31){if(!k|!f){break tj}Ka(r,0,B(f,k)<<2);break tj}if(!k|!f){break tj}q=1<>2];h=l>>31;h=(h^l)-h|0;if((h|0)>=(q|0)){h=h>>>v[ca+808>>2]|0;v[n>>2]=(l|0)<0?0-h|0:h}b=b+1|0;if((f|0)!=(b|0)){continue}break}m=m+1|0;if((k|0)!=(m|0)){continue}break}}if(d){d=B(f,k);if(v[ca+20>>2]==1){if(!d){break a}b=0;if((d|0)!=1){f=d&-2;c=0;while(1){l=b<<2;h=l+r|0;v[h>>2]=v[h>>2]/2;l=(l|4)+r|0;v[l>>2]=v[l>>2]/2;b=b+2|0;c=c+2|0;if((f|0)!=(c|0)){continue}break}}if(!(d&1)){break a}b=(b<<2)+r|0;v[b>>2]=v[b>>2]/2;break a}if(!d){break a}Z=C(z[da+32>>2]*C(.5));if(d>>>0>=4){f=d&-4;b=0;while(1){z[r>>2]=Z*C(v[r>>2]);z[r+4>>2]=Z*C(v[r+4>>2]);z[r+8>>2]=Z*C(v[r+8>>2]);z[r+12>>2]=Z*C(v[r+12>>2]);r=r+16|0;b=b+4|0;if((f|0)!=(b|0)){continue}break}}d=d&3;if(!d){break a}b=0;while(1){z[r>>2]=Z*C(v[r>>2]);r=r+4|0;b=b+1|0;if((d|0)!=(b|0)){continue}break}break a}q=ra-qa|0;if(v[ca+20>>2]==1){if(!k){break a}l=v[ba+36>>2]+(B(g,q)+i<<2)|0;F=f&-4;h=0;while(1){b=0;if(F){n=B(h,q);i=B(f,h);while(1){d=(b+i<<2)+r|0;D=v[d+4>>2];j=v[d+8>>2];P=v[d+12>>2];c=l+(b+n<<2)|0;v[c>>2]=v[d>>2]/2;v[c+12>>2]=(P|0)/2;v[c+8>>2]=(j|0)/2;v[c+4>>2]=(D|0)/2;b=b+4|0;if(F>>>0>b>>>0){continue}break}}uj:{if(b>>>0>=f>>>0){break uj}d=b+1|0;c=B(h,q);n=B(f,h);if(f-b&1){v[l+(b+c<<2)>>2]=v[(b+n<<2)+r>>2]/2;b=d}if((d|0)==(f|0)){break uj}while(1){v[l+(b+c<<2)>>2]=v[(b+n<<2)+r>>2]/2;d=b+1|0;v[l+(d+c<<2)>>2]=v[(d+n<<2)+r>>2]/2;b=b+2|0;if((f|0)!=(b|0)){continue}break}}h=h+1|0;if((k|0)!=(h|0)){continue}break}break a}if(!k|!f){break a}Z=C(z[da+32>>2]*C(.5));n=f&-4;d=f&3;l=v[ba+36>>2]+(B(g,q)+i<<2)|0;h=0;f=f-1>>>0<3;while(1){b=l;c=0;if(!f){while(1){z[b>>2]=Z*C(v[r>>2]);z[b+4>>2]=Z*C(v[r+4>>2]);z[b+8>>2]=Z*C(v[r+8>>2]);z[b+12>>2]=Z*C(v[r+12>>2]);b=b+16|0;r=r+16|0;c=c+4|0;if((n|0)!=(c|0)){continue}break}}c=0;if(d){while(1){z[b>>2]=Z*C(v[r>>2]);b=b+4|0;r=r+4|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}l=(q<<2)+l|0;h=h+1|0;if((k|0)!=(h|0)){continue}break}break a}v[W>>2]=N;Ea(S,2,9674,W)}v[v[l>>2]>>2]=0}Fa(a);pa=W+96|0} +function jb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,x=0,A=0,E=0,F=0,G=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=C(0),ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,qa=0,ra=0,ta=C(0),ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,La=0,Ma=0,Na=0,Ra=0,Sa=C(0),Ta=0,Ua=0,Va=0,Wa=0,Za=0,_a=0,bb=0,db=0,eb=0,fb=0,hb=0,ib=0,jb=0,lb=0,mb=0,ob=0,qb=0,rb=0,sb=0,tb=0,vb=0,wb=0,xb=0,yb=0,zb=0,Bb=0,Cb=0;ya=pa-16|0;pa=ya;a:{if(!(w[a+8|0]&128)|v[a+204>>2]!=(b|0)){break a}h=v[a+156>>2];Ca=h+B(b,5644)|0;n=v[Ca+5596>>2];if(!n){nb(Ca);break a}j=v[a+76>>2];if(!j){j=v[a+72>>2]}k=v[j>>2];m=v[j+4>>2];r=v[j+8>>2];l=v[j+12>>2];j=v[a+60>>2];i=v[a- -64>>2];mb=h+B(b,5644)|0;E=v[mb+5600>>2];oa=pa-16|0;pa=oa;P=v[a+208>>2];v[P+36>>2]=b;h=v[v[P+28>>2]+76>>2];v[P+64>>2]=1;v[P+60>>2]=l;v[P+56>>2]=r;v[P+52>>2]=m;v[P+48>>2]=k;v[P+32>>2]=h+B(b,5644);Fa(v[P+68>>2]);v[P+68>>2]=0;b:{if(j){T=Ia(4,v[v[P+24>>2]+16>>2]);if(!T){break b}if(j>>>0>=4){h=j&-4;while(1){b=G<<2;v[(v[b+i>>2]<<2)+T>>2]=1;v[(v[i+(b|4)>>2]<<2)+T>>2]=1;v[(v[i+(b|8)>>2]<<2)+T>>2]=1;v[(v[i+(b|12)>>2]<<2)+T>>2]=1;G=G+4|0;g=g+4|0;if((h|0)!=(g|0)){continue}break}}b=j&3;if(b){while(1){v[(v[i+(G<<2)>>2]<<2)+T>>2]=1;G=G+1|0;_=_+1|0;if((b|0)!=(_|0)){continue}break}}v[P+68>>2]=T}c:{b=v[P+24>>2];j=v[b+16>>2];d:{if(!j){break d}G=0;e:{while(1){f:{if(v[(G<<2)+T>>2]?0:T){break f}h=v[b+24>>2]+B(G,52)|0;g=v[h+4>>2];m=g-1|0;k=v[P+60>>2];r=m+k|0;i=0-!g|0;r=Sf(r,k>>>0>r>>>0?i+1|0:i,g,0);h=v[h>>2];l=h-1|0;o=v[P+56>>2];q=l+o|0;k=0-!h|0;o=Sf(q,o>>>0>q>>>0?k+1|0:k,h,0);x=m;m=v[P+52>>2];q=x+m|0;m=Sf(q,m>>>0>q>>>0?i+1|0:i,g,0);g=v[v[v[P+20>>2]>>2]+20>>2]+B(G,76)|0;i=v[g+20>>2]-v[g+24>>2]|0;if(i>>>0>31){break f}x=l;l=v[P+48>>2];q=x+l|0;h=Sf(q,l>>>0>q>>>0?k+1|0:k,h,0);k=h-v[g>>2]|0;g:{if((h>>>0>=k>>>0?k:0)>>>i|0){break g}h=m-v[g+4>>2]|0;if((h>>>0<=m>>>0?h:0)>>>i|0){break g}h=v[g+8>>2];k=h-o|0;if((h>>>0>=k>>>0?k:0)>>>i|0){break g}g=v[g+12>>2];h=g-r|0;if(!((h>>>0<=g>>>0?h:0)>>>i|0)){break f}}v[P+64>>2]=0;break e}G=G+1|0;if((j|0)!=(G|0)){continue}break}if(!v[P+64>>2]){break e}if(!j){break d}while(1){g=v[v[v[P+20>>2]>>2]+20>>2]+B(J,76)|0;b=(B(v[g+24>>2],152)+v[g+28>>2]|0)-152|0;i=v[b+4>>2];j=v[b+12>>2];h=v[b>>2];k=v[b+8>>2];b=v[P+68>>2];h:{if(v[b+(J<<2)>>2]?0:b){break h}b=j-i|0;h=k-h|0;i:{if((i|0)==(j|0)){break i}Qf(b,0,h,0);if(!sa){break i}_=0;Ea(f,1,4079,0);break b}b=B(b,h);if(b>>>0>=1073741824){_=0;Ea(f,1,4079,0);break b}b=b<<2;v[g+44>>2]=b;j:{k:{l:{m:{i=v[g+36>>2];if(i){if(b>>>0<=y[g+48>>2]){break h}if(v[g+40>>2]){break m}}i=Pa(b);v[g+36>>2]=i;b=v[g+44>>2];n:{if(i){F=b;break n}F=0;if(b){break l}}v[g+48>>2]=F;G=g+40|0;break j}G=g+40|0;Fa(i);b=Pa(v[g+44>>2]);v[g+36>>2]=b;if(b){break k}v[g+48>>2]=0;v[g+44>>2]=0;v[g+40>>2]=0}_=0;Ea(f,1,4079,0);break b}v[g+48>>2]=v[g+44>>2]}v[G>>2]=1}J=J+1|0;b=v[P+24>>2];if(J>>>0>2]){continue}break}break d}if(!j){break d}Q=v[b+24>>2];Y=v[v[v[P+20>>2]>>2]+20>>2];g=0;while(1){o:{if(v[(g<<2)+T>>2]?0:T){break o}i=Y+B(g,76)|0;k=v[i>>2];r=Q+B(g,52)|0;h=v[r>>2];l=h-1|0;o=v[P+48>>2];q=l+o|0;m=0-!h|0;o=Sf(q,o>>>0>q>>>0?m+1|0:m,h,0);O=k>>>0>o>>>0?k:o;v[i+56>>2]=O;o=v[i+4>>2];k=v[r+4>>2];x=k-1|0;q=v[P+52>>2];F=x+q|0;r=0-!k|0;q=Sf(F,q>>>0>F>>>0?r+1|0:r,k,0);o=o>>>0>q>>>0?o:q;v[i+60>>2]=o;q=v[i+8>>2];N=l;l=v[P+56>>2];F=N+l|0;h=Sf(F,l>>>0>F>>>0?m+1|0:m,h,0);q=h>>>0>q>>>0?q:h;v[i+64>>2]=q;h=v[i+12>>2];m=v[P+60>>2];l=x+m|0;k=Sf(l,l>>>0>>0?r+1|0:r,k,0);x=h>>>0>>0?h:k;v[i+68>>2]=x;if(q>>>0>>0|o>>>0>x>>>0){break c}V=v[i+20>>2];if(!V){break o}L=v[i+28>>2];F=0;m=0;h=0;while(1){k=L+B(m,152)|0;A=V+(F^-1)|0;i=A&31;if((A&63)>>>0>=32){s=-1<>>32-i}r=r^-1;N=x+r|0;l=s^-1;i=l;W=x>>>0>N>>>0?i+1|0:i;i=A&31;_=(1<>>0>=32;v[k+148>>2]=A?W>>>i|0:(_&W)<>>i;N=l+1|0;W=q+r|0;s=W>>>0>>0?N:l;v[k+144>>2]=A?s>>>i|0:(s&_)<>>i;W=o+r|0;s=W>>>0>>0?N:l;v[k+140>>2]=A?s>>>i|0:((1<>>i;ca=k;k=r+O|0;r=k>>>0>>0?N:l;v[ca+136>>2]=A?r>>>i|0:(r&_)<>>i;F=F+1|0;m=m+1|0;h=m?h:h+1|0;if(h|(m|0)!=(V|0)){continue}break}}g=g+1|0;if((j|0)!=(g|0)){continue}break}}_=0;v[oa+8>>2]=0;g=v[P+28>>2];N=Ia(1,8);if(N){v[N+4>>2]=g;v[N>>2]=b}if(!N){break b}W=v[v[P+20>>2]>>2];O=pa-144|0;pa=O;Y=v[P+36>>2];b=B(Y,5644);h=v[N+4>>2];ja=b+v[h+76>>2]|0;ma=v[ja+420>>2];m=0;o=0;r=0;x=pa-32|0;pa=x;la=v[h+76>>2];na=la+b|0;R=v[na+420>>2];V=v[N>>2];A=v[V+16>>2];k=Ja(B(A,528));p:{if(!k){break p}g=Ja(A<<2);q:{if(!g){g=k;break q}i=v[h+76>>2];l=v[(i+B(Y,5644)|0)+420>>2];j=l+1|0;b=Ia(j,240);r:{if(b){s:{if(j){i=(i+B(Y,5644)|0)+5584|0;Q=v[V+16>>2];j=b;while(1){v[j+236>>2]=f;q=Ia(Q,16);v[j+200>>2]=q;if(!q){break s}q=v[V+16>>2];v[j+196>>2]=q;F=0;Q=0;if(q){while(1){q=v[j+200>>2]+(F<<4)|0;Q=v[i>>2]+B(F,1080)|0;L=Ia(v[Q+4>>2],16);v[q+12>>2]=L;if(!L){break s}v[q+8>>2]=v[Q+4>>2];F=F+1|0;Q=v[V+16>>2];if(F>>>0>>0){continue}break}}j=j+240|0;q=(l|0)==(S|0);S=S+1|0;if(!q){continue}break}}break r}i=v[b+4>>2];if(i){Fa(i);v[b+4>>2]=0}j=b;i=0;while(1){F=v[j+200>>2];if(F){Q=0;S=v[j+196>>2];if(S){while(1){q=v[F+12>>2];if(q){Fa(q);v[F+12>>2]=0;S=v[j+196>>2]}F=F+16|0;Q=Q+1|0;if(Q>>>0>>0){continue}break}F=v[j+200>>2]}Fa(F);v[j+200>>2]=0}j=j+240|0;q=(i|0)==(l|0);i=i+1|0;if(!q){continue}break}Fa(b)}b=0}if(b){t:{if(!A){break t}i=k;if(A>>>0>=8){l=A&-8;while(1){j=p<<2;v[j+g>>2]=i;v[(j|4)+g>>2]=i+528;v[(j|8)+g>>2]=i+1056;v[(j|12)+g>>2]=i+1584;v[(j|16)+g>>2]=i+2112;v[(j|20)+g>>2]=i+2640;v[(j|24)+g>>2]=i+3168;v[(j|28)+g>>2]=i+3696;p=p+8|0;i=i+4224|0;m=m+8|0;if((l|0)!=(m|0)){continue}break}}j=A&7;if(!j){break t}while(1){v[(p<<2)+g>>2]=i;p=p+1|0;i=i+528|0;o=o+1|0;if((j|0)!=(o|0)){continue}break}}q=g;Q=0;i=v[(v[h+76>>2]+B(Y,5644)|0)+5584>>2];g=v[V+24>>2];j=v[h+24>>2];m=(Y>>>0)/(j>>>0)|0;j=v[h+4>>2]+B(v[h+12>>2],Y-B(j,m)|0)|0;l=v[V>>2];v[x+20>>2]=j>>>0>l>>>0?j:l;l=j;j=j+v[h+12>>2]|0;j=0-(l>>>0>j>>>0)|j;l=v[V+8>>2];v[x+16>>2]=j>>>0>>0?j:l;j=v[h+8>>2]+B(m,v[h+16>>2])|0;m=v[V+4>>2];v[x+12>>2]=j>>>0>m>>>0?j:m;l=j;j=j+v[h+16>>2]|0;j=0-(l>>>0>j>>>0)|j;h=v[V+12>>2];v[x+8>>2]=h>>>0>j>>>0?j:h;v[x+24>>2]=0;v[x+28>>2]=0;v[x+4>>2]=2147483647;v[x>>2]=2147483647;if(v[V+16>>2]){while(1){h=q?v[q+(Q<<2)>>2]:0;j=v[g+4>>2];p=j-1|0;m=v[x+8>>2];l=p+m|0;o=0-!j|0;G=Sf(l,l>>>0>>0?o+1|0:o,j,0);m=v[g>>2];S=m-1|0;l=v[x+16>>2];L=S+l|0;F=0-!m|0;l=Sf(L,l>>>0>L>>>0?F+1|0:F,m,0);ca=p;p=v[x+12>>2];L=ca+p|0;J=Sf(L,p>>>0>L>>>0?o+1|0:o,j,0);j=v[x+20>>2];o=j+S|0;o=Sf(o,j>>>0>o>>>0?F+1|0:F,m,0);j=v[i+4>>2];if(j>>>0>y[x+28>>2]){v[x+28>>2]=j;j=v[i+4>>2]}if(j){S=0;while(1){j=j-1|0;m=(S<<2)+i|0;F=v[m+944>>2];L=v[m+812>>2];p=0;if(h){v[h+4>>2]=F;v[h>>2]=L;p=h+8|0}h=j+L|0;u:{if(h>>>0>31){break u}m=v[g>>2];if(m>>>0>-1>>>h>>>0){break u}s=v[x+4>>2];h=m<>2]=h>>>0>s>>>0?s:h}h=j+F|0;v:{if(h>>>0>31){break v}m=v[g+4>>2];if(m>>>0>-1>>>h>>>0){break v}s=v[x>>2];h=m<>2]=h>>>0>s>>>0?s:h}h=0;m=j&31;if((j&63)>>>0>=32){s=-1<>>32-m}X=X^-1;U=X+G|0;$=s^-1;m=$;aa=X>>>0>U>>>0?m+1|0:m;m=j&31;s=F&31;if((F&63)>>>0>=32){s=1<>>32-s}ca=((1<>>m;U=(j&63)>>>0>=32;aa=U?aa>>>m|0:ca;m=T+aa|0;T=(m>>>0>>0?s+1|0:s)-!m|0;s=F&31;ca=(F&63)>>>0>=32?T>>>s|0:((1<>>s;s=$+1|0;T=J+X|0;Z=T>>>0>>0?s:$;m=j&31;U=U?Z>>>m|0:((1<>>m;U=(U|0)!=(aa|0)?ca-(U>>>F|0)&-1>>>F:0;T=l+X|0;aa=T>>>0>>0?s:$;F=L&31;if((L&63)>>>0>=32){s=1<>>32-F;F=Z}ca=aa>>>m|0;m=((1<>>m;aa=(j&63)>>>0>=32;T=aa?ca:m;m=F+T|0;s=(m>>>0>>0?s+1|0:s)-!m|0;F=L&31;ca=(L&63)>>>0>=32?s>>>F|0:((1<>>F;F=o+X|0;s=F>>>0>>0?$+1|0:$;m=j&31;m=aa?s>>>m|0:((1<>>m;m=(m|0)!=(T|0)?ca-(m>>>L|0)&-1>>>L:0;if(p){v[p+4>>2]=U;v[p>>2]=m;h=p+8|0}m=B(m,U);if(m>>>0>y[x+24>>2]){v[x+24>>2]=m}S=S+1|0;if(S>>>0>2]){continue}break}}g=g+52|0;i=i+1080|0;Q=Q+1|0;if(Q>>>0>2]){continue}break}}L=R+1|0;S=v[x+28>>2];F=v[x+24>>2];v[b+4>>2]=0;s=la+B(Y,5644)|0;g=v[s+8>>2]+1|0;X=B(A,F);Q=B(X,S);Qf(g,0,Q,0);w:{if(!sa){g=B(g,Q);v[b+8>>2]=g;g=Ia(g,2);v[b+4>>2]=g;if(g){break w}}Fa(k);Fa(q);g=v[b+4>>2];if(g){Fa(g);v[b+4>>2]=0}if(!L){g=b;break q}h=0;m=b;while(1){i=v[m+200>>2];if(i){l=0;p=v[m+196>>2];if(p){while(1){g=v[i+12>>2];if(g){Fa(g);v[i+12>>2]=0;p=v[m+196>>2]}i=i+16|0;l=l+1|0;if(p>>>0>l>>>0){continue}break}i=v[m+200>>2]}Fa(i);v[m+200>>2]=0}m=m+240|0;g=(h|0)==(R|0);h=h+1|0;if(!g){continue}break}g=b;break q}g=v[V+24>>2];$=v[x+20>>2];v[b+204>>2]=$;U=v[x+12>>2];v[b+208>>2]=U;aa=v[x+16>>2];v[b+212>>2]=aa;G=v[x+8>>2];v[b+216>>2]=G;v[b+12>>2]=Q;v[b+16>>2]=X;v[b+20>>2]=F;r=1;v[b+24>>2]=1;if(A){m=v[b+200>>2];j=0;h=g;while(1){i=v[q+(j<<2)>>2];v[m>>2]=v[h>>2];v[m+4>>2]=v[h+4>>2];o=v[m+8>>2];x:{if(!o){break x}l=v[m+12>>2];if((o|0)!=1){J=o&-2;p=0;while(1){v[l>>2]=v[i>>2];v[l+4>>2]=v[i+4>>2];v[l+8>>2]=v[i+8>>2];v[l+12>>2]=v[i+12>>2];v[l+16>>2]=v[i+16>>2];v[l+20>>2]=v[i+20>>2];v[l+24>>2]=v[i+24>>2];v[l+28>>2]=v[i+28>>2];l=l+32|0;i=i+32|0;p=p+2|0;if((J|0)!=(p|0)){continue}break}}if(!(o&1)){break x}v[l>>2]=v[i>>2];v[l+4>>2]=v[i+4>>2];v[l+8>>2]=v[i+8>>2];v[l+12>>2]=v[i+12>>2]}h=h+52|0;m=m+16|0;j=j+1|0;if((A|0)!=(j|0)){continue}break}}if(L>>>0>1){o=b;while(1){v[o+456>>2]=G;v[o+452>>2]=aa;v[o+448>>2]=U;v[o+444>>2]=$;v[o+264>>2]=1;v[o+260>>2]=F;v[o+256>>2]=X;v[o+252>>2]=Q;if(A){m=v[o+440>>2];j=0;h=g;while(1){i=v[q+(j<<2)>>2];v[m>>2]=v[h>>2];v[m+4>>2]=v[h+4>>2];L=v[m+8>>2];y:{if(!L){break y}l=v[m+12>>2];if((L|0)!=1){J=L&-2;p=0;while(1){v[l>>2]=v[i>>2];v[l+4>>2]=v[i+4>>2];v[l+8>>2]=v[i+8>>2];v[l+12>>2]=v[i+12>>2];v[l+16>>2]=v[i+16>>2];v[l+20>>2]=v[i+20>>2];v[l+24>>2]=v[i+24>>2];v[l+28>>2]=v[i+28>>2];l=l+32|0;i=i+32|0;p=p+2|0;if((J|0)!=(p|0)){continue}break}}if(!(L&1)){break y}v[l>>2]=v[i>>2];v[l+4>>2]=v[i+4>>2];v[l+8>>2]=v[i+8>>2];v[l+12>>2]=v[i+12>>2]}h=h+52|0;m=m+16|0;j=j+1|0;if((A|0)!=(j|0)){continue}break}}i=v[o+8>>2];v[o+244>>2]=v[o+4>>2];v[o+248>>2]=i;i=(r|0)!=(R|0);o=o+240|0;r=r+1|0;if(i){continue}break}}Fa(k);Fa(q);g=v[na+420>>2];z:{if(w[(la+B(Y,5644)|0)+5640|0]&4){if((g|0)==-1){break z}l=(la+B(Y,5644)|0)+424|0;j=v[s+8>>2];p=0;i=b;while(1){h=v[l+36>>2];v[i+44>>2]=1;v[i+84>>2]=h;v[i+48>>2]=v[l>>2];h=v[l+4>>2];v[i+68>>2]=0;v[i+72>>2]=0;v[i+52>>2]=h;v[i+60>>2]=v[l+12>>2];v[i- -64>>2]=v[l+16>>2];h=v[l+8>>2];v[i+76>>2]=F;v[i+56>>2]=h>>>0>>0?h:j;l=l+148|0;i=i+240|0;h=(g|0)==(p|0);p=p+1|0;if(!h){continue}break}break z}if((g|0)==-1){break z}k=g+1|0;m=k&1;j=v[(la+B(Y,5644)|0)+4>>2];h=v[s+8>>2];i=b;if(g){g=k&-2;o=0;while(1){v[i+44>>2]=1;v[i+48>>2]=0;v[i+68>>2]=0;v[i+72>>2]=0;v[i+52>>2]=0;v[i+84>>2]=j;v[i+60>>2]=S;v[i- -64>>2]=v[i+196>>2];v[i+324>>2]=j;v[i+76>>2]=F;v[i+56>>2]=h;v[i+308>>2]=0;v[i+312>>2]=0;v[i+292>>2]=0;v[i+284>>2]=1;v[i+288>>2]=0;v[i+300>>2]=S;v[i+296>>2]=h;v[i+316>>2]=F;v[i+304>>2]=v[i+436>>2];i=i+480|0;o=o+2|0;if((g|0)!=(o|0)){continue}break}}if(!m){break z}v[i+44>>2]=1;v[i+48>>2]=0;v[i+68>>2]=0;v[i+72>>2]=0;v[i+52>>2]=0;v[i+84>>2]=j;v[i+60>>2]=S;v[i- -64>>2]=v[i+196>>2];v[i+76>>2]=F;v[i+56>>2]=h}r=b;break p}Fa(k)}Fa(g)}pa=x+32|0;h=r;A:{B:{if(!h){break B}F=ma+1|0;l=n;k=h;C:{D:{while(1){if(v[k+84>>2]==-1){break C}b=Ja(v[V+16>>2]<<2);if(!b){break C}o=Ka(b,1,v[V+16>>2]<<2);if(Lc(k)){while(1){E:{F:{if(y[k+40>>2]>=y[ja+12>>2]){break F}b=v[k+32>>2];g=v[W+20>>2]+B(v[k+28>>2],76)|0;if(b>>>0>=y[g+24>>2]){break F}g=v[g+28>>2]+B(b,152)|0;if(!v[g+24>>2]){break F}G=0;while(1){i=g+B(G,36)|0;b=v[i+48>>2]+B(v[k+36>>2],40)|0;if(!Mb(P,v[k+28>>2],v[k+32>>2],v[i+44>>2],v[b>>2],v[b+4>>2],v[b+8>>2],v[b+12>>2])){G=G+1|0;if(G>>>0>2]){continue}break F}break}v[o+(v[k+28>>2]<<2)>>2]=0;v[O+136>>2]=0;if(!Fc(v[N+4>>2],v[W+20>>2],ja,k,O+140|0,l,O+136|0,E,f)){break D}A=v[O+136>>2];if(v[O+140>>2]){x=0;v[O+136>>2]=0;Q=v[(v[W+20>>2]+B(v[k+28>>2],76)|0)+28>>2]+B(v[k+32>>2],152)|0;i=v[Q+24>>2];G:{if(!i){break G}x=E-A|0;L=l+E|0;S=Q+28|0;m=0;q=0;s=l+A|0;g=s;while(1){H:{if(v[S+8>>2]==v[S>>2]|v[S+12>>2]==v[S+4>>2]){break H}b=v[S+20>>2]+B(v[k+36>>2],40)|0;X=B(v[b+20>>2],v[b+16>>2]);if(!X){break H}G=v[b+24>>2];p=0;while(1){if(q){v[G+52>>2]=0}j=v[G+36>>2];if(j){i=v[G>>2];r=v[G+40>>2];I:{if(r){b=B(r,24)+i|0;i=b-24|0;if(v[i+4>>2]!=v[i+12>>2]){break I}i=b;b=r+1|0}else{b=1}v[G+40>>2]=b}J:{while(1){b=v[i+20>>2];K:{if(b>>>0>(g^-1)>>>0|L>>>0>>0|q){j=v[k+28>>2];r=v[k+32>>2];q=v[k+36>>2];if(v[v[N+4>>2]+104>>2]){v[O+120>>2]=j;v[O+116>>2]=r;v[O+112>>2]=m;v[O+108>>2]=q;v[O+104>>2]=p;v[O+100>>2]=x;v[O+96>>2]=b;Ea(f,1,15335,O+96|0);break D}v[O+88>>2]=j;v[O+84>>2]=r;v[O+80>>2]=m;v[O+76>>2]=q;v[O+72>>2]=p;v[O+68>>2]=x;v[O+64>>2]=b;Ea(f,2,15335,O- -64|0);v[G+52>>2]=0;b=v[i+16>>2];v[i+4>>2]=b+v[i+4>>2];r=v[G+36>>2];j=r-b|0;v[G+36>>2]=j;q=1;if((b|0)==(r|0)){break K}i=v[G+40>>2]+1|0;v[G+40>>2]=i;break J}q=v[G+52>>2];L:{if((q|0)!=v[G+56>>2]){r=v[G+4>>2];break L}b=q<<1|1;r=Oa(v[G+4>>2],b<<3);if(!r){Ea(f,1,1024,0);break D}v[G+56>>2]=b;v[G+4>>2]=r;j=v[G+36>>2];q=v[G+52>>2];b=v[i+20>>2]}r=(q<<3)+r|0;v[r+4>>2]=b;v[r>>2]=g;v[G+52>>2]=q+1;v[i>>2]=v[i>>2]+b;Y=v[i+16>>2];q=Y+v[i+4>>2]|0;v[i+4>>2]=q;r=j-Y|0;v[G+36>>2]=r;v[i+8>>2]=q;g=b+g|0;q=0;if((j|0)!=(Y|0)){v[G+40>>2]=v[G+40>>2]+1;i=i+24|0}j=r}if(j){continue}break}i=v[G+40>>2]}v[G+44>>2]=i}G=G- -64|0;p=p+1|0;if((X|0)!=(p|0)){continue}break}i=v[Q+24>>2]}S=S+36|0;m=m+1|0;if(m>>>0>>0){continue}break}if(q){break G}x=g-s|0}A=A+x|0}i=v[k+28>>2];g=v[V+24>>2]+B(i,52)|0;b=v[g+36>>2];j=g;g=v[k+32>>2];v[j+36>>2]=b>>>0>>0?g:b;break E}v[O+136>>2]=0;if(!Fc(v[N+4>>2],v[W+20>>2],ja,k,O+140|0,l,O+136|0,E,f)){break D}A=v[O+136>>2];if(v[O+140>>2]){S=v[(v[W+20>>2]+B(v[k+28>>2],76)|0)+28>>2]+B(v[k+32>>2],152)|0;i=v[S+24>>2];M:{if(!i){g=0;break M}q=E-A|0;m=S+28|0;g=0;p=0;while(1){N:{if(v[m+8>>2]==v[m>>2]|v[m+12>>2]==v[m+4>>2]){break N}b=v[m+20>>2]+B(v[k+36>>2],40)|0;Y=B(v[b+20>>2],v[b+16>>2]);if(!Y){break N}G=v[b+24>>2];r=0;while(1){O:{j=v[G+36>>2];if(!j){break O}i=v[G>>2];P:{Q:{x=v[G+40>>2];if(x){i=B(x,24)+i|0;b=i-24|0;if(v[b+4>>2]!=v[b+12>>2]){i=b;break Q}K=x+1|0}else{K=1}b=0;break P}b=1}while(1){if(!b){v[G+40>>2]=K;b=1;continue}R:{S:{x=v[i+20>>2];b=x+g|0;if(!(b>>>0>=x>>>0&b>>>0<=q>>>0)){b=v[k+28>>2];j=v[k+32>>2];Q=v[k+36>>2];if(v[v[N+4>>2]+104>>2]){break S}v[O+24>>2]=b;v[O+20>>2]=j;v[O+16>>2]=p;v[O+12>>2]=Q;v[O+8>>2]=r;v[O+4>>2]=q;v[O>>2]=x;Ea(f,2,15250,O);j=v[G+36>>2];b=v[i+20>>2]+g|0}x=v[i+16>>2];v[i+4>>2]=x+v[i+4>>2];g=j-x|0;v[G+36>>2]=g;if((j|0)!=(x|0)){break R}g=b;break O}v[O+56>>2]=b;v[O+52>>2]=j;v[O+48>>2]=p;v[O+44>>2]=Q;v[O+40>>2]=r;v[O+36>>2]=q;v[O+32>>2]=x;Ea(f,1,15250,O+32|0);break D}i=i+24|0;K=v[G+40>>2]+1|0;j=g;g=b;b=0;continue}}G=G- -64|0;r=r+1|0;if((Y|0)!=(r|0)){continue}break}i=v[S+24>>2]}m=m+36|0;p=p+1|0;if(p>>>0>>0){continue}break}}A=g+A|0}i=v[k+28>>2]}T:{if(!v[o+(i<<2)>>2]){break T}b=v[V+24>>2]+B(i,52)|0;if(v[b+36>>2]){break T}v[b+36>>2]=v[(v[W+20>>2]+B(i,76)|0)+24>>2]-1}E=E-A|0;l=l+A|0;if(Lc(k)){continue}break}}Fa(o);k=k+240|0;M=M+1|0;if(M>>>0<=y[ja+420>>2]){continue}break}Nb(h,F);v[oa+8>>2]=l-n;b=1;break A}Nb(h,F);Fa(o);break B}Nb(h,F)}b=0}pa=O+144|0;ab(N);if(!b){break b}G=v[v[P+32>>2]+5584>>2];q=v[v[P+20>>2]>>2];F=v[q+20>>2];v[oa+12>>2]=1;g=Ia(1,24);if(!g){g=0}J=0;b=v[P+32>>2];K=v[G+16>>2]>>>4&1&v[b+12>>2]==v[b+8>>2];_=v[q+16>>2];U:{if(!_){break U}while(1){b=v[P+68>>2];if(!(v[b+(J<<2)>>2]?0:b)){n=oa+12|0;E=0;j=v[F+24>>2];V:{if(!j){break V}x=v[P+44>>2];while(1){m=v[F+28>>2]+B(E,152)|0;k=v[m+24>>2];if(k){j=v[m+20>>2];h=v[m+16>>2];o=0;while(1){if(B(h,j)){l=m+B(o,36)|0;p=l+28|0;r=0;while(1){i=v[l+48>>2]+B(r,40)|0;j=Mb(P,v[F+16>>2],E,v[l+44>>2],v[i>>2],v[i+4>>2],v[i+8>>2],v[i+12>>2]);h=v[i+20>>2];k=v[i+16>>2];b=B(h,k);W:{if(j){if(!b){break W}k=0;while(1){j=v[i+24>>2]+(k<<6)|0;X:{if(!Mb(P,v[F+16>>2],E,v[l+44>>2],v[j+8>>2],v[j+12>>2],v[j+16>>2],v[j+20>>2])){b=v[j+60>>2];if(!b){break X}Fa(b);v[j+60>>2]=0;break X}if(!(v[j+60>>2]|v[j+16>>2]==v[j+8>>2]|v[j+20>>2]==v[j+12>>2]?v[P+64>>2]:1)){break X}b=Ia(1,44);if(!b){v[oa+12>>2]=0;break V}h=v[P+64>>2];v[b+36>>2]=g;v[b+28>>2]=n;v[b+20>>2]=G;v[b+16>>2]=F;v[b+12>>2]=p;v[b+8>>2]=j;v[b+4>>2]=E;v[b>>2]=h;v[b+40>>2]=K;v[b+32>>2]=f;v[b+24>>2]=v[x+4>>2]>1;kb(x,154,b);if(!v[oa+12>>2]){break V}}k=k+1|0;if(k>>>0>2],v[i+16>>2])>>>0){continue}break}break W}if(!b){break W}j=0;while(1){b=v[i+24>>2]+(j<<6)|0;A=v[b+60>>2];if(A){Fa(A);v[b+60>>2]=0;k=v[i+16>>2];h=v[i+20>>2]}j=j+1|0;if(j>>>0>>0){continue}break}}r=r+1|0;h=v[m+16>>2];j=v[m+20>>2];if(r>>>0>>0){continue}break}k=v[m+24>>2]}o=o+1|0;if(o>>>0>>0){continue}break}j=v[F+24>>2]}E=E+1|0;if(E>>>0>>0){continue}break}}if(!v[oa+12>>2]){break U}_=v[q+16>>2]}G=G+1080|0;F=F+76|0;J=J+1|0;if(_>>>0>J>>>0){continue}break}}_=0;Ya(v[P+44>>2]);if(g){Fa(g)}if(!v[oa+12>>2]){break b}Y:{if(v[P+64>>2]){break Y}F=v[P+24>>2];if(!v[F+16>>2]){break Y}G=0;while(1){b=v[v[v[P+20>>2]>>2]+20>>2]+B(G,76)|0;g=v[b+28>>2]+B(v[(v[F+24>>2]+B(G,52)|0)+36>>2],152)|0;i=v[g+136>>2];j=v[g+144>>2];h=v[g+140>>2];g=v[g+148>>2];Fa(v[b+52>>2]);v[b+52>>2]=0;Z:{k=v[P+68>>2];if((i|0)==(j|0)|(v[k+(G<<2)>>2]?0:k)|(h|0)==(g|0)){break Z}g=g-h|0;i=j-i|0;Qf(g,0,i,0);if(sa){Ea(f,1,4079,0);break b}g=B(i,g);if(g>>>0>=1073741824){Ea(f,1,4079,0);break b}j=b;b=Pa(g<<2);v[j+52>>2]=b;if(b){break Z}Ea(f,1,4079,0);break b}G=G+1|0;F=v[P+24>>2];if(G>>>0>2]){continue}break}}ha=v[v[P+20>>2]>>2];if(v[ha+16>>2]){J=v[ha+20>>2];G=v[v[P+32>>2]+5584>>2];F=v[v[P+24>>2]+24>>2];T=0;while(1){_:{b=v[P+68>>2];if(v[b+(T<<2)>>2]?0:b){break _}g=v[F+36>>2]+1|0;if(v[G+20>>2]==1){O=g;g=0;Z=pa-32|0;pa=Z;$:{aa:{if(v[P+64>>2]){b=1;if((O|0)==1){break $}h=v[J+28>>2];A=O-1|0;g=A&1;m=v[P+44>>2];ba:{if((O|0)==2){k=0;i=h;break ba}j=A&-2;k=0;i=h;b=0;while(1){r=v[i+160>>2]-v[i+152>>2]|0;k=k>>>0>r>>>0?k:r;r=v[i+164>>2]-v[i+156>>2]|0;k=k>>>0>r>>>0?k:r;r=v[i+312>>2]-v[i+304>>2]|0;k=k>>>0>r>>>0?k:r;r=v[i+316>>2]-v[i+308>>2]|0;k=k>>>0>r>>>0?k:r;i=i+304|0;b=b+2|0;if((j|0)!=(b|0)){continue}break}}if(g){b=v[i+160>>2]-v[i+152>>2]|0;b=b>>>0>>0?k:b;g=v[i+164>>2]-v[i+156>>2]|0;k=b>>>0>g>>>0?b:g}b=0;if(k>>>0>134217727){break $}g=(B(v[J+24>>2],152)+h|0)-152|0;i=v[g>>2];g=v[g+8>>2];j=v[h+4>>2];o=v[h+12>>2];x=v[h>>2];K=v[h+8>>2];l=v[m+4>>2];q=k<<5;r=ub(q);v[Z+16>>2]=r;if(!r){break $}v[Z>>2]=r;if(A){E=g-i|0;g=o-j|0;j=K-x|0;while(1){o=v[J+36>>2];b=g;v[Z+8>>2]=b;g=j;v[Z+24>>2]=g;i=v[h+156>>2];k=v[h+164>>2];j=v[h+160>>2];x=v[h+152>>2];v[Z+28>>2]=(x|0)%2;j=j-x|0;v[Z+20>>2]=j-g;n=(l|0)<2;g=k-i|0;ca:{if(!(!n&g>>>0>1)){i=0;if(!g){break ca}while(1){Wb(Z+16|0,o+(B(i,E)<<2)|0);i=i+1|0;if((g|0)!=(i|0)){continue}break}break ca}x=g>>>0>>0?g:l;p=x-1|0;K=(g>>>0)/(x>>>0)|0;k=0;while(1){i=Ja(36);if(!i){break aa}S=v[Z+20>>2];v[i>>2]=v[Z+16>>2];v[i+4>>2]=S;S=v[Z+28>>2];v[i+8>>2]=v[Z+24>>2];v[i+12>>2]=S;v[i+28>>2]=B(k,K);v[i+24>>2]=o;v[i+20>>2]=E;v[i+16>>2]=j;S=(k|0)==(p|0);k=k+1|0;v[i+32>>2]=S?g:B(K,k);S=ub(q);v[i>>2]=S;if(!S){b=0;Ya(m);Fa(i);Fa(r);break $}kb(m,73,i);if((k|0)!=(x|0)){continue}break}Ya(m)}v[Z+4>>2]=g-b;v[Z+12>>2]=v[h+156>>2]%2;da:{if(!(!n&j>>>0>1)){k=8;i=0;if(j>>>0>=8){while(1){pb(Z,o+(i<<2)|0,E,8);i=k;k=i+8|0;if(k>>>0<=j>>>0){continue}break}}if(i>>>0>=j>>>0){break da}pb(Z,o+(i<<2)|0,E,j-i|0);break da}b=j>>>0>>0?j:l;K=b-1|0;x=(j>>>0)/(b>>>0)|0;k=0;while(1){i=Ja(36);if(!i){break aa}n=v[Z+4>>2];v[i>>2]=v[Z>>2];v[i+4>>2]=n;n=v[Z+12>>2];v[i+8>>2]=v[Z+8>>2];v[i+12>>2]=n;v[i+28>>2]=B(k,x);v[i+24>>2]=o;v[i+20>>2]=E;v[i+16>>2]=g;n=(k|0)==(K|0);k=k+1|0;v[i+32>>2]=n?j:B(x,k);n=ub(q);v[i>>2]=n;if(!n){b=0;Ya(m);Fa(i);Fa(r);break $}kb(m,74,i);if((b|0)!=(k|0)){continue}break}Ya(m)}h=h+152|0;A=A-1|0;if(A){continue}break}}b=1;Fa(r);break $}b=1;r=v[J+28>>2];ua=O-1|0;da=r+B(ua,152)|0;if(v[da>>2]==v[da+8>>2]|v[da+4>>2]==v[da+12>>2]){break $}j=v[r+4>>2];h=v[r+12>>2];k=v[r>>2];l=v[r+8>>2];N=v[J+68>>2];Q=v[J+64>>2];Y=v[J+60>>2];L=v[J+56>>2];ia=Vb(J,O);if(!ia){b=0;break $}ea:{fa:{ga:{ha:{ia:{if((O|0)!=1){m=ua&1;if((O|0)!=2){break ia}b=0;i=r;break ha}break ga}E=ua&-2;b=0;i=r;while(1){o=v[i+160>>2]-v[i+152>>2]|0;b=b>>>0>o>>>0?b:o;o=v[i+164>>2]-v[i+156>>2]|0;b=b>>>0>o>>>0?b:o;o=v[i+312>>2]-v[i+304>>2]|0;b=b>>>0>o>>>0?b:o;o=v[i+316>>2]-v[i+308>>2]|0;b=b>>>0>o>>>0?b:o;i=i+304|0;g=g+2|0;if((E|0)!=(g|0)){continue}break}}if(m){g=v[i+160>>2]-v[i+152>>2]|0;b=b>>>0>g>>>0?b:g;g=v[i+164>>2]-v[i+156>>2]|0;b=b>>>0>g>>>0?b:g}if(b>>>0>=268435456){break ea}n=ub(b<<4);if(!n){break ea}ja:{if(O>>>0<2){break ja}m=h-j|0;q=l-k|0;ob=n+28|0;ja=n+24|0;la=n+20|0;ra=n+4|0;va=1;S=r;ka:while(1){b=v[S+156>>2];M=v[S+164>>2]-b|0;ka=M-m|0;g=v[S+152>>2];qa=(g|0)%2|0;wa=(b|0)%2|0;W=v[S+160>>2]-g|0;ea=W-q|0;i=L;g=i;A=Y;j=A;b=Q;o=b;x=N;p=x;h=v[J+20>>2];la:{if((h|0)==(va|0)){break la}h=h-va|0;j=0;g=0;if(L){b=h&31;if((h&63)>>>0>=32){s=-1<>>32-b}g=L+(g^-1)|0;b=s^-1;i=g>>>0>>0?b+1|0:b;b=h&31;g=(h&63)>>>0>=32?i>>>b|0:((1<>>b}if(Y){b=h&31;if((h&63)>>>0>=32){s=-1<>>32-b}i=Y+(i^-1)|0;b=s^-1;j=i>>>0>>0?b+1|0:b;b=h&31;j=(h&63)>>>0>=32?j>>>b|0:((1<>>b}x=0;b=0;if(Q){b=h&31;if((h&63)>>>0>=32){s=-1<>>32-b}i=Q+(i^-1)|0;b=s^-1;k=i>>>0>>0?b+1|0:b;b=h&31;b=(h&63)>>>0>=32?k>>>b|0:((1<>>b}if(N){i=h&31;if((h&63)>>>0>=32){s=-1<>>32-i}k=N+(k^-1)|0;i=s^-1;l=k>>>0>>0?i+1|0:i;i=h&31;x=(h&63)>>>0>=32?l>>>i|0:((1<>>i}o=0;i=0;k=1<>>0>>0){i=h&31;if((h&63)>>>0>=32){s=-1<>>32-i}i=l^-1;l=i+(L-k|0)|0;E=s^-1;E=i>>>0>l>>>0?E+1|0:E;i=h&31;i=(h&63)>>>0>=32?E>>>i|0:((1<>>i}if(k>>>0>>0){l=h&31;if((h&63)>>>0>=32){s=-1<>>32-l}l=E^-1;E=l+(Q-k|0)|0;o=s^-1;o=l>>>0>E>>>0?o+1|0:o;l=h&31;o=(h&63)>>>0>=32?o>>>l|0:((1<>>l}p=0;A=0;if(k>>>0>>0){l=h&31;if((h&63)>>>0>=32){s=-1<>>32-l}l=E^-1;E=l+(Y-k|0)|0;K=s^-1;K=l>>>0>E>>>0?K+1|0:K;l=h&31;A=(h&63)>>>0>=32?K>>>l|0:((1<>>l}if(k>>>0>=N>>>0){break la}l=h&31;if((h&63)>>>0>=32){s=-1<>>32-l}E=E^-1;l=E+(N-k|0)|0;k=s^-1;E=l>>>0>>0?k+1|0:k;k=h&31;p=(h&63)>>>0>=32?E>>>k|0:((1<>>k}h=v[S+180>>2];k=o-h|0;k=(k>>>0<=o>>>0?k:0)+2|0;k=0-(k>>>0<2)|k;ga=k>>>0>>0?k:ea;k=v[S+216>>2];l=b-k|0;b=(b>>>0>=l>>>0?l:0)+2|0;b=0-(b>>>0<2)|b;fa=b>>>0>>0?b:q;b=(qa?ga:fa)<<1;l=(qa?fa:ga)<<1|1;za=b>>>0>l>>>0?b:l;b=za>>>0>>0;h=i-h|0;i=h>>>0<=i>>>0?h:0;h=i-2|0;E=h>>>0<=i>>>0?h:0;i=g-k|0;g=i>>>0<=g>>>0?i:0;i=g-2|0;h=i>>>0<=g>>>0?i:0;g=(qa?E:h)<<1;i=(qa?h:E)<<1|1;s=g>>>0>>0;o=v[S+184>>2];k=j-o|0;j=j>>>0>=k>>>0?k:0;k=j-2|0;k=j>>>0>=k>>>0?k:0;R=k;j=v[S+220>>2];l=A-j|0;l=l>>>0<=A>>>0?l:0;K=l-2|0;l=l>>>0>=K>>>0?K:0;U=l;o=x-o|0;o=(o>>>0<=x>>>0?o:0)+2|0;o=0-(o>>>0<2)|o;o=m>>>0>o>>>0?o:m;K=o;j=p-j|0;j=(j>>>0<=p>>>0?j:0)+2|0;j=0-(j>>>0<2)|j;V=j>>>0>>0?j:ka;aa=V;if(wa){U=k;R=l;aa=o;K=V}xa=b?za:W;x=s?g:i;qb=m+V|0;rb=l+m|0;if(M){b=ea<<1;g=b-1|0;i=(h|0)<(ea|0);Ta=n+((i?h<<1|1:g)<<2)|0;X=(q|0)>(ga|0)?ga:q-1|0;p=0;Ua=(q|0)>1|(ea|0)>0;Va=(xa|0)!=0&W>>>0>za>>>0;j=qa<<2;Wa=(ra-j|0)+(E<<3)|0;Aa=n+(h<<3)|0;Za=Aa+j|0;$=(ea|0)>(fa|0)?fa:ea;ma=h+1|0;Da=q+ga|0;_a=q+E|0;bb=n+(x<<2)|0;db=!q&(ea|0)==1;La=n+(xa<<2)|0;eb=La-4|0;j=q<<1;Ma=j-2|0;na=n+(Ma<<2)|0;fb=n+(g<<2)|0;Na=j-1|0;hb=n+(Na<<2)|0;Ra=b-2|0;ib=n+(Ra<<2)|0;jb=(n+((i?h:ea)<<3)|0)-4|0;while(1){ma:{if(!(p>>>0>>0&k>>>0<=p>>>0|p>>>0>>0&p>>>0>=rb>>>0)){s=p+1|0;break ma}if(Va){v[eb>>2]=0}if(W>>>0>za>>>0){v[La>>2]=0}s=p+1|0;Xa(ia,h,p,fa,s,Za,2,0);Xa(ia,_a,p,Da,s,Wa,2,0);na:{oa:{pa:{if(!qa){if(!Ua){break na}if((h|0)>=(fa|0)){break oa}qa:{ra:{if((h|0)>0){b=v[jb>>2];break ra}b=v[ra>>2];g=b;if((h|0)<0){break qa}}g=b;b=v[Ta>>2]}v[Aa>>2]=v[Aa>>2]-((b+g|0)+2>>2);b=ma;g=b;j=h;if((b|0)>=($|0)){break pa}while(1){b=n+(g<<3)|0;v[b>>2]=v[b>>2]-((v[(n+(j<<3)|0)+4>>2]+v[b+4>>2]|0)+2>>2);j=g;g=g+1|0;if(($|0)!=(g|0)){continue}break}b=$;break pa}sa:{if(!db){b=h;if((fa|0)<=(b|0)){break sa}while(1){g=n+(b<<3)|0;j=v[g+4>>2];A=ib;ta:{ua:{if((b|0)>=0){i=v[n+(((b|0)<(ea|0)?b<<1:Ra)<<2)>>2];b=b+1|0;break ua}i=v[n>>2];if((b|0)!=-1){b=b+1|0;A=n;break ta}b=0}if((b|0)>=(ea|0)){break ta}A=n+(b<<3)|0}v[g+4>>2]=j-((v[A>>2]+i|0)+2>>2);if((b|0)<(fa|0)){continue}break}break sa}v[n>>2]=v[n>>2]/2;break na}b=E;if((ga|0)<=(b|0)){break na}while(1){g=n+(b<<3)|0;i=v[g>>2];va:{if((b|0)<0){A=v[ra>>2];ca=ra;break va}j=b<<1;A=v[n+(((b|0)<(q|0)?j|1:Na)<<2)>>2];ca=ra;if(!b){break va}ca=hb;if((b|0)>(q|0)){break va}ca=(n+(j<<2)|0)-4|0}j=ca;v[g>>2]=i+(v[j>>2]+A>>1);b=b+1|0;if((ga|0)!=(b|0)){continue}break}break na}if((b|0)>=(fa|0)){break oa}while(1){g=n+(b<<3)|0;i=v[g>>2];wa:{xa:{if((b|0)>0){A=v[(n+(((b|0)<(ea|0)?b:ea)<<3)|0)-4>>2];break xa}A=v[ra>>2];j=ra;if((b|0)<0){break wa}}j=fb;if((b|0)>=(ea|0)){break wa}j=(n+(b<<3)|0)+4|0}v[g>>2]=i-((v[j>>2]+A|0)+2>>2);b=b+1|0;if((fa|0)!=(b|0)){continue}break}}if((E|0)>=(ga|0)){break na}g=E;b=g;if((X|0)>(b|0)){while(1){g=n+(b<<3)|0;b=b+1|0;v[g+4>>2]=v[g+4>>2]+(v[n+(b<<3)>>2]+v[g>>2]>>1);if((b|0)!=(X|0)){continue}break}g=X}if((g|0)>=(ga|0)){break na}while(1){b=na;i=g;ya:{za:{if((i|0)>=0){j=v[n+(((i|0)<(q|0)?i<<1:Ma)<<2)>>2];g=i+1|0;break za}j=v[n>>2];if((i|0)!=-1){g=i+1|0;b=n;break ya}g=0}if((q|0)<=(g|0)){break ya}b=n+(g<<3)|0}i=n+(i<<3)|0;v[i+4>>2]=v[i+4>>2]+(v[b>>2]+j>>1);if((g|0)<(ga|0)){continue}break}}if(!gb(ia,x,p,xa,s,bb,1,0)){break fa}}p=s;if((M|0)!=(p|0)){continue}break}}S=S+152|0;b=K<<1;g=aa<<1|1;b=b>>>0>g>>>0?b:g;qa=b>>>0>>0?b:M;i=k<<3;b=ka<<3;aa=b-1|0;g=(k|0)<(ka|0);za=n+((g?i|7:aa)<<2)|0;ma=b-2|0;Aa=n+((g?i|6:ma)<<2)|0;na=b-3|0;Ta=n+((g?i|5:na)<<2)|0;ea=b-4|0;Ua=n+((g?i|4:ea)<<2)|0;E=(m|0)>(V|0)?V:m-1|0;i=(ka|0)>0;Va=i|(m|0)>1;s=n+(k<<5)|0;Wa=s+(wa<<4)|0;Za=(n+(4-(wa<<2)<<2)|0)+(l<<5)|0;j=m<<3;ga=j-8|0;X=n+(((m|0)<=0?ga:0)<<2)|0;fa=b-8|0;$=n+((i?0:fa)<<2)|0;q=(o|0)<(ka|0)?o:ka;K=k+1|0;b=R<<1;i=U<<1|1;Da=b>>>0>>0?b:i;_a=n+(Da<<4)|0;bb=!m&(ka|0)==1;b=n+(m<<5)|0;db=b-20|0;La=b-24|0;eb=b-28|0;Ma=b-4|0;fb=b-8|0;Na=b-12|0;b=n+(ka<<5)|0;hb=b-20|0;Ra=b-24|0;ib=b-28|0;jb=n+(ga<<2)|0;tb=n+(aa<<2)|0;vb=n+(ma<<2)|0;wb=n+(na<<2)|0;xb=n+(ea<<2)|0;sb=j-4|0;yb=n+(sb<<2)|0;zb=n+(fa<<2)|0;b=n+((g?k:ka)<<5)|0;ca=b-4|0;p=b-8|0;A=b-12|0;Bb=b-16|0;while(1){Aa:{Ba:{Ca:{Da:{i=x;if(i>>>0>>0){b=xa-i|0;x=i+(b>>>0>=4?4:b)|0;Xa(ia,i,k,x,o,Wa,1,8);Xa(ia,i,rb,x,qb,Za,1,8);if(!wa){if(!Va){break Aa}if((k|0)>=(o|0)){break Ba}Ea:{if((k|0)>0){b=v[Bb>>2];h=p;j=A;g=ca;break Ea}b=v[n+16>>2];if((k|0)<0){break Da}h=ja;j=la;g=ob}v[s>>2]=v[s>>2]-((v[Ua>>2]+b|0)+2>>2);v[s+4>>2]=v[s+4>>2]-((v[j>>2]+v[Ta>>2]|0)+2>>2);v[s+8>>2]=v[s+8>>2]-((v[h>>2]+v[Aa>>2]|0)+2>>2);b=v[za>>2];g=v[g>>2];break Ca}if(bb){v[n>>2]=v[n>>2]/2;v[n+4>>2]=v[n+4>>2]/2;v[n+8>>2]=v[n+8>>2]/2;v[n+12>>2]=v[n+12>>2]/2;break Aa}b=k;if((o|0)>(b|0)){while(1){g=b<<3;j=g|4;Fa:{Ga:{if((b|0)<0){j=n+(j<<2)|0;h=v[j>>2];R=v[n>>2];if((b|0)==-1){break Ga}v[j>>2]=h-((R<<1)+2>>2);g=g<<2;j=n+(g|20)|0;v[j>>2]=v[j>>2]-((v[n+4>>2]<<1)+2>>2);j=n+(g|24)|0;v[j>>2]=v[j>>2]-((v[n+8>>2]<<1)+2>>2);h=(v[n+12>>2]<<1)+2|0;g=n+(g|28)|0;break Fa}h=(b|0)<(ka|0)?g:fa;R=b+1|0;if((R|0)>=(ka|0)){j=n+(j<<2)|0;R=j;U=v[j>>2];j=h<<2;v[R>>2]=U-((v[j+n>>2]+v[zb>>2]|0)+2>>2);g=g<<2;h=n+(g|20)|0;v[h>>2]=v[h>>2]-((v[n+(j|4)>>2]+v[ib>>2]|0)+2>>2);h=n+(g|24)|0;v[h>>2]=v[h>>2]-((v[n+(j|8)>>2]+v[Ra>>2]|0)+2>>2);h=(v[n+(j|12)>>2]+v[hb>>2]|0)+2|0;g=n+(g|28)|0;break Fa}j=n+(j<<2)|0;U=j;Ba=v[j>>2];j=h<<2;h=n+(R<<5)|0;v[U>>2]=Ba-((v[j+n>>2]+v[h>>2]|0)+2>>2);g=g<<2;R=n+(g|20)|0;v[R>>2]=v[R>>2]-((v[n+(j|4)>>2]+v[h+4>>2]|0)+2>>2);R=n+(g|24)|0;v[R>>2]=v[R>>2]-((v[n+(j|8)>>2]+v[h+8>>2]|0)+2>>2);h=(v[n+(j|12)>>2]+v[h+12>>2]|0)+2|0;g=n+(g|28)|0;break Fa}v[j>>2]=h-((R+v[$>>2]|0)+2>>2);g=g<<2;j=n+(g|20)|0;v[j>>2]=v[j>>2]-((v[n+4>>2]+v[$+4>>2]|0)+2>>2);j=n+(g|24)|0;v[j>>2]=v[j>>2]-((v[n+8>>2]+v[$+8>>2]|0)+2>>2);h=(v[n+12>>2]+v[$+12>>2]|0)+2|0;g=n+(g|28)|0}v[g>>2]=v[g>>2]-(h>>2);b=b+1|0;if((o|0)!=(b|0)){continue}break}}b=l;if((V|0)<=(b|0)){break Aa}while(1){j=b<<3;Ha:{if((b|0)<0){g=j<<2;j=g+n|0;v[j>>2]=v[j>>2]+(v[n+16>>2]<<1>>1);j=n+(g|4)|0;v[j>>2]=v[j>>2]+(v[n+20>>2]<<1>>1);j=n+(g|8)|0;v[j>>2]=v[j>>2]+(v[n+24>>2]<<1>>1);h=v[n+28>>2]<<1;g=n+(g|12)|0;break Ha}g=((b|0)<(m|0)?j|4:sb)<<2;R=v[g+n>>2];j=j<<2;h=j+n|0;U=v[h>>2];if(!b){v[h>>2]=U+(R+v[n+16>>2]>>1);h=n+(j|4)|0;v[h>>2]=v[h>>2]+(v[n+20>>2]+v[n+(g|4)>>2]>>1);h=n+(j|8)|0;v[h>>2]=v[h>>2]+(v[n+24>>2]+v[n+(g|8)>>2]>>1);h=v[n+28>>2]+v[n+(g|12)>>2]|0;g=n+(j|12)|0;break Ha}if((b|0)<=(m|0)){v[h>>2]=U+(R+v[h-16>>2]>>1);R=n+(j|4)|0;v[R>>2]=v[R>>2]+(v[h-12>>2]+v[n+(g|4)>>2]>>1);R=n+(j|8)|0;v[R>>2]=v[R>>2]+(v[h-8>>2]+v[n+(g|8)>>2]>>1);h=v[h-4>>2]+v[n+(g|12)>>2]|0;g=n+(j|12)|0;break Ha}v[h>>2]=U+(R+v[yb>>2]>>1);h=n+(j|4)|0;v[h>>2]=v[h>>2]+(v[Na>>2]+v[n+(g|4)>>2]>>1);h=n+(j|8)|0;v[h>>2]=v[h>>2]+(v[fb>>2]+v[n+(g|8)>>2]>>1);h=v[Ma>>2]+v[n+(g|12)>>2]|0;g=n+(j|12)|0}v[g>>2]=v[g>>2]+(h>>1);b=b+1|0;if((V|0)!=(b|0)){continue}break}break Aa}q=W;m=M;va=va+1|0;if((O|0)!=(va|0)){continue ka}break ja}v[s>>2]=v[s>>2]-((b<<1)+2>>2);v[s+4>>2]=v[s+4>>2]-((v[la>>2]<<1)+2>>2);v[s+8>>2]=v[s+8>>2]-((v[ja>>2]<<1)+2>>2);b=v[ob>>2];g=b}v[s+12>>2]=v[s+12>>2]-((b+g|0)+2>>2);j=k;g=K;b=g;if((q|0)>(b|0)){while(1){b=n+(g<<5)|0;j=n+(j<<5)|0;v[b>>2]=v[b>>2]-((v[j+16>>2]+v[b+16>>2]|0)+2>>2);v[b+4>>2]=v[b+4>>2]-((v[j+20>>2]+v[b+20>>2]|0)+2>>2);v[b+8>>2]=v[b+8>>2]-((v[j+24>>2]+v[b+24>>2]|0)+2>>2);v[b+12>>2]=v[b+12>>2]-((v[j+28>>2]+v[b+28>>2]|0)+2>>2);j=g;g=g+1|0;if((q|0)!=(g|0)){continue}break}b=q}if((b|0)>=(o|0)){break Ba}while(1){g=b<<3;j=(b|0)<(ka|0);Ia:{if((b|0)<=0){h=v[n+16>>2];if((b|0)>=0){R=g<<2;U=R+n|0;v[U>>2]=v[U>>2]-((h+v[n+((j?g|4:ea)<<2)>>2]|0)+2>>2);h=n+(R|4)|0;v[h>>2]=v[h>>2]-((v[n+20>>2]+v[n+((j?g|5:na)<<2)>>2]|0)+2>>2);h=n+(R|8)|0;v[h>>2]=v[h>>2]-((v[n+24>>2]+v[n+((j?g|6:ma)<<2)>>2]|0)+2>>2);j=(v[n+28>>2]+v[n+((j?g|7:aa)<<2)>>2]|0)+2|0;break Ia}j=g<<2;R=j+n|0;v[R>>2]=v[R>>2]-((h<<1)+2>>2);h=n+(j|4)|0;v[h>>2]=v[h>>2]-((v[n+20>>2]<<1)+2>>2);j=n+(j|8)|0;v[j>>2]=v[j>>2]-((v[n+24>>2]<<1)+2>>2);j=(v[n+28>>2]<<1)+2|0;break Ia}h=n+((j?b:ka)<<5)|0;R=v[h-16>>2];if(!j){j=g<<2;U=j+n|0;v[U>>2]=v[U>>2]-((R+v[xb>>2]|0)+2>>2);R=n+(j|4)|0;v[R>>2]=v[R>>2]-((v[h-12>>2]+v[wb>>2]|0)+2>>2);j=n+(j|8)|0;v[j>>2]=v[j>>2]-((v[h-8>>2]+v[vb>>2]|0)+2>>2);j=(v[h-4>>2]+v[tb>>2]|0)+2|0;break Ia}j=g<<2;U=j+n|0;v[U>>2]=v[U>>2]-((R+v[n+(j|16)>>2]|0)+2>>2);R=n+(j|4)|0;v[R>>2]=v[R>>2]-((v[h-12>>2]+v[n+(j|20)>>2]|0)+2>>2);R=n+(j|8)|0;v[R>>2]=v[R>>2]-((v[h-8>>2]+v[n+(j|24)>>2]|0)+2>>2);j=(v[h-4>>2]+v[n+(j|28)>>2]|0)+2|0}g=n+(g<<2|12)|0;v[g>>2]=v[g>>2]-(j>>2);b=b+1|0;if((o|0)!=(b|0)){continue}break}}if((l|0)>=(V|0)){break Aa}g=l;b=g;if((E|0)>(b|0)){while(1){b=n+(g<<5)|0;v[b+16>>2]=v[b+16>>2]+(v[b+32>>2]+v[b>>2]>>1);v[b+28>>2]=v[b+28>>2]+(v[b+44>>2]+v[b+12>>2]>>1);v[b+24>>2]=v[b+24>>2]+(v[b+40>>2]+v[b+8>>2]>>1);v[b+20>>2]=v[b+20>>2]+(v[b+36>>2]+v[b+4>>2]>>1);g=g+1|0;if((E|0)!=(g|0)){continue}break}b=E}if((b|0)>=(V|0)){break Aa}while(1){g=b<<3;j=g|4;R=n+(g<<2|28)|0;Ja:{if((b|0)<0){h=v[n>>2];if((b|0)!=-1){j=n+(j<<2)|0;v[j>>2]=h+v[j>>2];g=g<<2;j=n+(g|20)|0;v[j>>2]=v[j>>2]+v[n+4>>2];g=n+(g|24)|0;v[g>>2]=v[g>>2]+v[n+8>>2];g=v[n+12>>2];break Ja}j=n+(j<<2)|0;v[j>>2]=v[j>>2]+(h+v[X>>2]>>1);g=g<<2;j=n+(g|20)|0;v[j>>2]=v[j>>2]+(v[X+4>>2]+v[n+4>>2]>>1);g=n+(g|24)|0;v[g>>2]=v[g>>2]+(v[X+8>>2]+v[n+8>>2]>>1);g=v[X+12>>2]+v[n+12>>2]>>1;break Ja}h=(b|0)<(m|0)?g:ga;U=b+1|0;if((U|0)>=(m|0)){j=n+(j<<2)|0;U=j;Ba=v[j>>2];j=h<<2;v[U>>2]=Ba+(v[jb>>2]+v[j+n>>2]>>1);g=g<<2;h=n+(g|20)|0;v[h>>2]=v[h>>2]+(v[eb>>2]+v[n+(j|4)>>2]>>1);g=n+(g|24)|0;v[g>>2]=v[g>>2]+(v[La>>2]+v[n+(j|8)>>2]>>1);g=v[db>>2]+v[n+(j|12)>>2]>>1;break Ja}j=n+(j<<2)|0;Ba=j;Cb=v[j>>2];j=n+(U<<5)|0;h=h<<2;v[Ba>>2]=Cb+(v[j>>2]+v[h+n>>2]>>1);g=g<<2;U=n+(g|20)|0;v[U>>2]=v[U>>2]+(v[j+4>>2]+v[n+(h|4)>>2]>>1);g=n+(g|24)|0;v[g>>2]=v[g>>2]+(v[j+8>>2]+v[n+(h|8)>>2]>>1);g=v[j+12>>2]+v[n+(h|12)>>2]>>1}v[R>>2]=g+v[R>>2];b=b+1|0;if((V|0)!=(b|0)){continue}break}}if(gb(ia,i,Da,x,qa,_a,1,4)){continue}break}break}break fa}Fa(n);b=1}g=r+B(ua,152)|0;i=v[g+136>>2];j=v[da>>2];h=v[da+4>>2];k=v[g+144>>2];Xa(ia,i-j|0,v[g+140>>2]-h|0,k-j|0,v[g+148>>2]-h|0,v[J+52>>2],1,k-i|0);cb(ia);break $}cb(ia);Fa(n);b=0;break $}cb(ia);b=0;break $}b=0;Ya(m);Fa(r)}pa=Z+32|0;if(b){break _}break b}o=0;q=0;L=pa+-64|0;pa=L;Ka:{if(v[P+64>>2]){i=v[J+28>>2];k=1;if((g|0)==1){break Ka}x=g-1|0;j=x&1;La:{if((g|0)==2){h=0;b=i;break La}g=x&-2;h=0;b=i;while(1){k=v[b+160>>2]-v[b+152>>2]|0;h=h>>>0>k>>>0?h:k;k=v[b+164>>2]-v[b+156>>2]|0;h=h>>>0>k>>>0?h:k;k=v[b+312>>2]-v[b+304>>2]|0;h=h>>>0>k>>>0?h:k;k=v[b+316>>2]-v[b+308>>2]|0;h=h>>>0>k>>>0?h:k;b=b+304|0;q=q+2|0;if((g|0)!=(q|0)){continue}break}}k=0;if(j){g=v[b+160>>2]-v[b+152>>2]|0;g=h>>>0>g>>>0?h:g;b=v[b+164>>2]-v[b+156>>2]|0;h=b>>>0>>0?g:b}if(h>>>0>134217727){break Ka}b=(B(v[J+24>>2],152)+i|0)-152|0;j=v[b>>2];b=v[b+8>>2];g=v[i+4>>2];m=v[i+12>>2];r=v[i>>2];l=v[i+8>>2];n=v[P+44>>2];O=v[n+4>>2];W=h<<5;q=Pa(W);v[L+32>>2]=q;if(!q){break Ka}v[L>>2]=q;if(!x){k=1;Fa(q);break Ka}E=m-g|0;g=l-r|0;h=O>>>1|0;s=h>>>0<=2?2:h;X=q+32|0;K=b-j|0;ja=B(K,7);la=B(K,6);R=B(K,5);U=K<<2;aa=B(K,3);ma=K<<1;j=v[J+36>>2];na=K<<5;m=q;Ma:{while(1){r=E;v[L+8>>2]=r;h=g;v[L+40>>2]=g;S=v[i+156>>2];V=v[i+164>>2];k=v[i+160>>2];b=v[i+152>>2];v[L+56>>2]=0;v[L+52>>2]=g;v[L+48>>2]=0;Q=(b|0)%2|0;v[L+44>>2]=Q;g=k-b|0;p=g-h|0;v[L+60>>2]=p;v[L+36>>2]=p;Y=(O|0)<2;E=V-S|0;Na:{if(!(!Y&E>>>0>15)){o=0;b=j;if(E>>>0<8){break Na}m=v[L+32>>2];while(1){h=L+32|0;Ab(h,b,K,8);$a(h);h=0;if(g){while(1){k=(h<<5)+m|0;z[(h<<2)+b>>2]=z[k>>2];z[(h+K<<2)+b>>2]=z[k+4>>2];z[(h+ma<<2)+b>>2]=z[k+8>>2];z[(h+aa<<2)+b>>2]=z[k+12>>2];h=h+1|0;if((g|0)!=(h|0)){continue}break}h=0;while(1){k=(h<<5)+m|0;z[(h+U<<2)+b>>2]=z[k+16>>2];z[(h+R<<2)+b>>2]=z[k+20>>2];z[(h+la<<2)+b>>2]=z[k+24>>2];z[(h+ja<<2)+b>>2]=z[k+28>>2];h=h+1|0;if((g|0)!=(h|0)){continue}break}}b=b+na|0;o=o+8|0;if((o|7)>>>0>>0){continue}break}break Na}b=E>>>3|0;A=b>>>0>>0?b:O;N=(E>>>0)/(A>>>0)&-8;o=E&-8;k=0;b=j;while(1){l=Ja(48);if(!l){k=0;Ya(n);Fa(m);break Ka}M=Pa(W);v[l>>2]=M;if(!M){k=0;Ya(n);Fa(l);Fa(m);break Ka}v[l+40>>2]=b;v[l+36>>2]=K;v[l+32>>2]=g;v[l+28>>2]=p;v[l+24>>2]=0;v[l+20>>2]=h;v[l+16>>2]=0;v[l+12>>2]=Q;v[l+8>>2]=h;v[l+4>>2]=p;ca=o-B(k,N)|0;k=k+1|0;M=(A|0)==(k|0)?ca:N;v[l+44>>2]=M;kb(n,75,l);b=(B(K,M)<<2)+b|0;if((k|0)!=(A|0)){continue}break}Ya(n)}Oa:{if(o>>>0>=E>>>0){break Oa}k=L+32|0;h=E-o|0;Ab(k,b,K,h);$a(k);if(!g){break Oa}h=h>>>0<=1?1:h;A=h&-4;p=h&3;N=h-1|0;k=0;m=v[L+32>>2];while(1){o=(k<<5)+m|0;h=0;l=0;if(N>>>0>=3){while(1){z[(B(h,K)+k<<2)+b>>2]=z[o+(h<<2)>>2];Q=h|1;z[(B(Q,K)+k<<2)+b>>2]=z[o+(Q<<2)>>2];Q=h|2;z[(B(Q,K)+k<<2)+b>>2]=z[o+(Q<<2)>>2];Q=h|3;z[(B(Q,K)+k<<2)+b>>2]=z[o+(Q<<2)>>2];h=h+4|0;l=l+4|0;if((A|0)!=(l|0)){continue}break}}l=0;if(p){while(1){z[(B(h,K)+k<<2)+b>>2]=z[o+(h<<2)>>2];h=h+1|0;l=l+1|0;if((p|0)!=(l|0)){continue}break}}k=k+1|0;if((k|0)!=(g|0)){continue}break}}o=E-r|0;v[L+4>>2]=o;b=v[i+156>>2];v[L+28>>2]=o;v[L+24>>2]=0;v[L+20>>2]=r;v[L+16>>2]=0;N=(b|0)%2|0;v[L+12>>2]=N;Pa:{if(!(!Y&g>>>0>15)){h=j;if(g>>>0<8){break Pa}Z=E&-2;ka=E&1;ea=o&-2;ia=o&1;ga=r&-2;fa=r&1;ra=r+S|0;$=V-1|0;qa=B(r,K);b=N<<5;Q=X-b|0;Y=b+q|0;k=g;while(1){b=0;l=0;Qa:{Ra:{switch(r|0){default:while(1){p=(B(b,K)<<2)+h|0;M=v[p+4>>2];A=Y+(b<<6)|0;v[A>>2]=v[p>>2];v[A+4>>2]=M;M=v[p+28>>2];v[A+24>>2]=v[p+24>>2];v[A+28>>2]=M;M=v[p+20>>2];v[A+16>>2]=v[p+16>>2];v[A+20>>2]=M;M=v[p+12>>2];v[A+8>>2]=v[p+8>>2];v[A+12>>2]=M;A=b|1;p=Y+(A<<6)|0;A=(B(A,K)<<2)+h|0;M=v[A+28>>2];v[p+24>>2]=v[A+24>>2];v[p+28>>2]=M;M=v[A+20>>2];v[p+16>>2]=v[A+16>>2];v[p+20>>2]=M;M=v[A+12>>2];v[p+8>>2]=v[A+8>>2];v[p+12>>2]=M;M=v[A+4>>2];v[p>>2]=v[A>>2];v[p+4>>2]=M;b=b+2|0;l=l+2|0;if((ga|0)!=(l|0)){continue}break};break;case 0:break Qa;case 1:break Ra}}if(!fa){break Qa}l=Y+(b<<6)|0;b=(B(b,K)<<2)+h|0;p=v[b+4>>2];v[l>>2]=v[b>>2];v[l+4>>2]=p;p=v[b+28>>2];v[l+24>>2]=v[b+24>>2];v[l+28>>2]=p;p=v[b+20>>2];v[l+16>>2]=v[b+16>>2];v[l+20>>2]=p;p=v[b+12>>2];v[l+8>>2]=v[b+8>>2];v[l+12>>2]=p}Sa:{if((r|0)==(E|0)){break Sa}A=(qa<<2)+h|0;b=0;M=0;if(($|0)!=(ra|0)){while(1){l=A+(B(b,K)<<2)|0;da=v[l+4>>2];p=Q+(b<<6)|0;v[p>>2]=v[l>>2];v[p+4>>2]=da;da=v[l+28>>2];v[p+24>>2]=v[l+24>>2];v[p+28>>2]=da;da=v[l+20>>2];v[p+16>>2]=v[l+16>>2];v[p+20>>2]=da;da=v[l+12>>2];v[p+8>>2]=v[l+8>>2];v[p+12>>2]=da;p=b|1;l=Q+(p<<6)|0;p=A+(B(p,K)<<2)|0;da=v[p+28>>2];v[l+24>>2]=v[p+24>>2];v[l+28>>2]=da;da=v[p+20>>2];v[l+16>>2]=v[p+16>>2];v[l+20>>2]=da;da=v[p+12>>2];v[l+8>>2]=v[p+8>>2];v[l+12>>2]=da;da=v[p+4>>2];v[l>>2]=v[p>>2];v[l+4>>2]=da;b=b+2|0;M=M+2|0;if((ea|0)!=(M|0)){continue}break}}if(!ia){break Sa}l=Q+(b<<6)|0;b=A+(B(b,K)<<2)|0;p=v[b+4>>2];v[l>>2]=v[b>>2];v[l+4>>2]=p;p=v[b+28>>2];v[l+24>>2]=v[b+24>>2];v[l+28>>2]=p;p=v[b+20>>2];v[l+16>>2]=v[b+16>>2];v[l+20>>2]=p;p=v[b+12>>2];v[l+8>>2]=v[b+8>>2];v[l+12>>2]=p}$a(L);Ta:{if(!E){break Ta}b=0;l=0;if((S|0)!=($|0)){while(1){p=q+(b<<5)|0;M=v[p+4>>2];A=(B(b,K)<<2)+h|0;v[A>>2]=v[p>>2];v[A+4>>2]=M;M=v[p+28>>2];v[A+24>>2]=v[p+24>>2];v[A+28>>2]=M;M=v[p+20>>2];v[A+16>>2]=v[p+16>>2];v[A+20>>2]=M;M=v[p+12>>2];v[A+8>>2]=v[p+8>>2];v[A+12>>2]=M;A=b|1;p=(B(A,K)<<2)+h|0;A=q+(A<<5)|0;M=v[A+28>>2];v[p+24>>2]=v[A+24>>2];v[p+28>>2]=M;M=v[A+20>>2];v[p+16>>2]=v[A+16>>2];v[p+20>>2]=M;M=v[A+12>>2];v[p+8>>2]=v[A+8>>2];v[p+12>>2]=M;M=v[A+4>>2];v[p>>2]=v[A>>2];v[p+4>>2]=M;b=b+2|0;l=l+2|0;if((Z|0)!=(l|0)){continue}break}}if(!ka){break Ta}l=(B(b,K)<<2)+h|0;b=q+(b<<5)|0;p=v[b+4>>2];v[l>>2]=v[b>>2];v[l+4>>2]=p;p=v[b+28>>2];v[l+24>>2]=v[b+24>>2];v[l+28>>2]=p;p=v[b+20>>2];v[l+16>>2]=v[b+16>>2];v[l+20>>2]=p;p=v[b+12>>2];v[l+8>>2]=v[b+8>>2];v[l+12>>2]=p}h=h+32|0;k=k-8|0;if(k>>>0>7){continue}break}break Pa}b=g>>>3|0;l=b>>>0>>0?b:s;b=(g>>>0)/(l>>>0)|0;h=j;if(l){p=b&-8;A=g&-8;k=0;while(1){b=Ja(48);if(!b){Ya(n);k=0;break Ma}Q=Pa(W);v[b>>2]=Q;if(!Q){Ya(n);Fa(b);k=0;break Ma}v[b+40>>2]=h;v[b+36>>2]=K;v[b+32>>2]=E;v[b+28>>2]=o;v[b+24>>2]=0;v[b+20>>2]=r;v[b+16>>2]=0;v[b+12>>2]=N;v[b+8>>2]=r;v[b+4>>2]=o;ca=A-B(k,p)|0;k=k+1|0;Q=(l|0)==(k|0)?ca:p;v[b+44>>2]=Q;kb(n,76,b);h=(Q<<2)+h|0;if((k|0)!=(l|0)){continue}break}}Ya(n)}k=g&7;Ua:{if(!k){break Ua}N=N<<5;Va:{if(!r){break Va}p=q+N|0;A=k<<2;b=0;if((r|0)!=1){Q=r&-2;l=0;while(1){Ha(p+(b<<6)|0,(B(b,K)<<2)+h|0,A);Y=b|1;Ha(p+(Y<<6)|0,(B(K,Y)<<2)+h|0,A);b=b+2|0;l=l+2|0;if((Q|0)!=(l|0)){continue}break}}if(!(r&1)){break Va}Ha(p+(b<<6)|0,(B(b,K)<<2)+h|0,A)}Wa:{if((r|0)==(E|0)){break Wa}l=X-N|0;p=(B(r,K)<<2)+h|0;A=k<<2;b=0;if((S|0)!=(V+(r^-1)|0)){r=o&-2;M=0;while(1){Ha(l+(b<<6)|0,p+(B(b,K)<<2)|0,A);N=b|1;Ha(l+(N<<6)|0,p+(B(K,N)<<2)|0,A);b=b+2|0;M=M+2|0;if((r|0)!=(M|0)){continue}break}}if(!(o&1)){break Wa}Ha(l+(b<<6)|0,p+(B(b,K)<<2)|0,A)}$a(L);if(!E){break Ua}k=k<<2;b=0;if((V|0)!=(S+1|0)){r=E&-2;o=0;while(1){Ha((B(b,K)<<2)+h|0,q+(b<<5)|0,k);l=b|1;Ha((B(l,K)<<2)+h|0,q+(l<<5)|0,k);b=b+2|0;o=o+2|0;if((r|0)!=(o|0)){continue}break}}if(!(E&1)){break Ua}Ha((B(b,K)<<2)+h|0,q+(b<<5)|0,k)}i=i+152|0;x=x-1|0;if(x){continue}break}k=1}Fa(v[L+32>>2]);break Ka}k=1;j=v[J+28>>2];U=g-1|0;$=j+B(U,152)|0;if(v[$>>2]==v[$+8>>2]|v[$+4>>2]==v[$+12>>2]){break Ka}i=v[j+4>>2];h=v[j+12>>2];m=v[j>>2];r=v[j+8>>2];p=v[J+68>>2];S=v[J+64>>2];O=v[J+60>>2];V=v[J+56>>2];W=Vb(J,g);if(!W){k=0;break Ka}Xa:{Ya:{if((g|0)!=1){l=U&1;if((g|0)!=2){break Ya}k=0;b=j;break Xa}b=j+B(U,152)|0;g=v[b+136>>2];i=v[$>>2];j=v[$+4>>2];h=v[b+144>>2];Xa(W,g-i|0,v[b+140>>2]-j|0,h-i|0,v[b+148>>2]-j|0,v[J+52>>2],1,h-g|0);cb(W);break Ka}E=U&-2;k=0;b=j;while(1){q=v[b+160>>2]-v[b+152>>2]|0;k=k>>>0>q>>>0?k:q;q=v[b+164>>2]-v[b+156>>2]|0;k=k>>>0>q>>>0?k:q;q=v[b+312>>2]-v[b+304>>2]|0;k=k>>>0>q>>>0?k:q;q=v[b+316>>2]-v[b+308>>2]|0;k=k>>>0>q>>>0?k:q;b=b+304|0;o=o+2|0;if((E|0)!=(o|0)){continue}break}}if(l){l=v[b+160>>2]-v[b+152>>2]|0;k=k>>>0>l>>>0?k:l;b=v[b+164>>2]-v[b+156>>2]|0;k=b>>>0>>0?k:b}Za:{if(k>>>0>=134217728){break Za}X=Pa(k<<5);v[L+32>>2]=X;if(!X){break Za}v[L>>2]=X;_a:{if(g>>>0>=2){E=h-i|0;m=r-m|0;Z=X+32|0;Y=g;ka=v[J+20>>2];A=1;aa=0;r=j;while(1){v[L+8>>2]=E;v[L+40>>2]=m;g=v[r+164>>2];i=v[r+160>>2];b=v[r+156>>2];h=v[r+152>>2];ja=(h|0)%2|0;v[L+44>>2]=ja;ea=(b|0)%2|0;v[L+12>>2]=ea;Q=i-h|0;K=Q-m|0;v[L+36>>2]=K;n=g-b|0;R=n-E|0;v[L+4>>2]=R;l=V;h=l;g=O;k=g;b=S;M=b;o=p;x=o;$a:{if(!aa&(A|0)==(ka|0)){break $a}i=ka-A|0;k=0;h=0;if(V){b=i&31;if((i&63)>>>0>=32){s=-1<>>32-b}g=V+(g^-1)|0;b=s^-1;h=g>>>0>>0?b+1|0:b;b=i&31;h=(i&63)>>>0>=32?h>>>b|0:((1<>>b}if(O){b=i&31;if((i&63)>>>0>=32){s=-1<>>32-b}g=O+(g^-1)|0;b=s^-1;k=g>>>0>>0?b+1|0:b;b=i&31;k=(i&63)>>>0>=32?k>>>b|0:((1<>>b}o=0;b=0;if(S){b=i&31;if((i&63)>>>0>=32){s=-1<>>32-b}g=S+(g^-1)|0;b=s^-1;l=g>>>0>>0?b+1|0:b;b=i&31;b=(i&63)>>>0>=32?l>>>b|0:((1<>>b}if(p){g=i&31;if((i&63)>>>0>=32){s=-1<>>32-g}l=p+(l^-1)|0;g=s^-1;o=l>>>0

>>0?g+1|0:g;g=i&31;o=(i&63)>>>0>=32?o>>>g|0:((1<>>g}M=0;l=0;q=1<>>0>>0){g=i&31;if((i&63)>>>0>=32){s=-1<>>32-g}g=l^-1;l=g+(V-q|0)|0;x=s^-1;x=g>>>0>l>>>0?x+1|0:x;g=i&31;l=(i&63)>>>0>=32?x>>>g|0:((1<>>g}if(q>>>0>>0){g=i&31;if((i&63)>>>0>=32){s=-1<>>32-g}g=x^-1;x=g+(S-q|0)|0;N=s^-1;N=g>>>0>x>>>0?N+1|0:N;g=i&31;M=(i&63)>>>0>=32?N>>>g|0:((1<>>g}x=0;g=0;if(q>>>0>>0){g=i&31;if((i&63)>>>0>=32){s=-1<>>32-g}g=N^-1;N=g+(O-q|0)|0;s=s^-1;s=g>>>0>N>>>0?s+1|0:s;g=i&31;g=(i&63)>>>0>=32?s>>>g|0:((1<>>g}if(p>>>0<=q>>>0){break $a}x=i&31;if((i&63)>>>0>=32){s=-1<>>32-x}N=N^-1;x=N+(p-q|0)|0;q=s^-1;N=x>>>0>>0?q+1|0:q;q=i&31;x=(i&63)>>>0>=32?N>>>q|0:((1<>>q}i=v[r+180>>2];q=M-i|0;q=(q>>>0<=M>>>0?q:0)+4|0;q=0-(q>>>0<4)|q;ma=q>>>0>>0?q:K;q=v[r+216>>2];K=b-q|0;b=(b>>>0>=K>>>0?K:0)+4|0;b=0-(b>>>0<4)|b;na=b>>>0>>0?b:m;b=(ja?ma:na)<<1;K=(ja?na:ma)<<1|1;b=b>>>0>K>>>0?b:K;M=b>>>0>>0;i=l-i|0;i=i>>>0<=l>>>0?i:0;l=i-4|0;s=i>>>0>=l>>>0?l:0;i=h-q|0;i=h>>>0>=i>>>0?i:0;h=i-4|0;la=h>>>0<=i>>>0?h:0;h=(ja?s:la)<<1;ia=(ja?la:s)<<1|1;ga=h>>>0>>0;i=v[r+184>>2];l=k-i|0;k=k>>>0>=l>>>0?l:0;l=k-4|0;l=k>>>0>=l>>>0?l:0;K=l;fa=v[r+220>>2];k=g-fa|0;g=g>>>0>=k>>>0?k:0;k=g-4|0;N=g>>>0>=k>>>0?k:0;q=N;g=o-i|0;g=(g>>>0<=o>>>0?g:0)+4|0;g=0-(g>>>0<4)|g;o=g>>>0>>0?g:E;k=o;g=x-fa|0;g=(g>>>0<=x>>>0?g:0)+4|0;g=0-(g>>>0<4)|g;x=g>>>0>>0?g:R;i=x;if(ea){K=N;q=l;k=x;i=o}R=M?b:Q;M=ga?h:ia;v[L+60>>2]=ma;v[L+56>>2]=s;v[L+52>>2]=na;v[L+48>>2]=la;ab:{if(n>>>0<8){h=7;b=0;break ab}b=ja<<5;ga=(Z-b|0)+(s<<6)|0;fa=(b+X|0)+(la<<6)|0;ra=m+ma|0;qa=m+s|0;da=x+E|0;xa=E+N|0;va=X+(M<<5)|0;g=0;h=7;while(1){bb:{if(!(g>>>0>>0&h>>>0>=l>>>0|g>>>0>>0&h>>>0>=xa>>>0)){b=g+8|0;break bb}b=0;h=n-g|0;wa=h>>>0>=8?8:h;if(wa){while(1){h=b+g|0;ia=h+1|0;ua=b<<2;Xa(W,la,h,na,ia,ua+fa|0,16,0);Xa(W,qa,h,ra,ia,ga+ua|0,16,0);b=b+1|0;if((wa|0)!=(b|0)){continue}break}}$a(L+32|0);b=g+8|0;if(!gb(W,M,g,R,b,va,8,1)){break _a}}g=b;h=b|7;if(n>>>0>h>>>0){continue}break}}if(!(!(b>>>0>>0&h>>>0>=l>>>0)&(x+E>>>0<=b>>>0|E+N>>>0>h>>>0)|b>>>0>=n>>>0)){if((b|0)!=(n|0)){ia=n-b|0;g=ja<<5;ja=(Z-g|0)+(s<<6)|0;ga=(g+X|0)+(la<<6)|0;ma=m+ma|0;s=m+s|0;h=0;while(1){g=b+h|0;m=g+1|0;fa=h<<2;Xa(W,la,g,na,m,fa+ga|0,16,0);Xa(W,s,g,ma,m,fa+ja|0,16,0);h=h+1|0;if((ia|0)!=(h|0)){continue}break}}$a(L+32|0);if(!gb(W,M,b,R,n,X+(M<<5)|0,8,1)){break _a}}v[L+28>>2]=x;v[L+24>>2]=N;v[L+20>>2]=o;v[L+16>>2]=l;if(M>>>0>>0){b=k<<1;g=i<<1|1;b=b>>>0>g>>>0?b:g;g=b>>>0>>0?b:n;b=ea<<5;i=(Z-b|0)+(N<<6)|0;h=(b+X|0)+(l<<6)|0;k=x+E|0;m=E+N|0;b=K<<1;E=q<<1|1;E=b>>>0>>0?b:E;q=X+(E<<5)|0;while(1){b=R-M|0;b=(b>>>0>=8?8:b)+M|0;Xa(W,M,l,b,o,h,1,16);Xa(W,M,m,b,k,i,1,16);$a(L);if(!gb(W,M,E,b,g,q,1,8)){break _a}M=M+8|0;if(R>>>0>M>>>0){continue}break}}r=r+152|0;m=Q;E=n;A=A+1|0;aa=A?aa:aa+1|0;if(aa|(A|0)!=(Y|0)){continue}break}}k=1;b=j+B(U,152)|0;g=v[b+136>>2];i=v[$>>2];j=v[$+4>>2];h=v[b+144>>2];Xa(W,g-i|0,v[b+140>>2]-j|0,h-i|0,v[b+148>>2]-j|0,v[J+52>>2],1,h-g|0);cb(W);Fa(X);break Ka}cb(W);Fa(X);k=0;break Ka}cb(W);k=0}pa=L- -64|0;if(k){break _}break b}G=G+1080|0;F=F+52|0;J=J+76|0;T=T+1|0;if(T>>>0>2]){continue}break}ha=v[v[P+20>>2]>>2]}i=v[P+32>>2];m=v[i+16>>2];cb:{if(v[P+68>>2]|!m){break cb}J=v[ha+20>>2];g=v[J+28>>2];db:{eb:{j=v[P+64>>2];if(j){T=v[ha+16>>2];if(T>>>0<3){break db}b=v[J+24>>2];if(!((b|0)==v[J+100>>2]&(b|0)==v[J+176>>2])){Ea(f,1,10825,0);break b}h=v[v[P+24>>2]+24>>2];k=v[h+36>>2];fb:{if((k|0)!=v[h+88>>2]|(k|0)!=v[h+140>>2]){break fb}h=B(b,152);b=(h+g|0)-152|0;g=B(v[b+12>>2]-v[b+4>>2]|0,v[b+8>>2]-v[b>>2]|0);b=(h+v[J+104>>2]|0)-152|0;if((g|0)!=(B(v[b+12>>2]-v[b+4>>2]|0,v[b+8>>2]-v[b>>2]|0)|0)){break fb}b=(h+v[J+180>>2]|0)-152|0;if((B(v[b+12>>2]-v[b+4>>2]|0,v[b+8>>2]-v[b>>2]|0)|0)==(g|0)){break eb}}Ea(f,1,10825,0);break b}T=v[ha+16>>2];if(T>>>0<3){break db}h=v[v[P+24>>2]+24>>2];b=v[h+36>>2];gb:{if((b|0)!=v[h+88>>2]|(b|0)!=v[h+140>>2]){break gb}h=B(b,152);b=h+g|0;g=B(v[b+148>>2]-v[b+140>>2]|0,v[b+144>>2]-v[b+136>>2]|0);b=h+v[J+104>>2]|0;if((g|0)!=(B(v[b+148>>2]-v[b+140>>2]|0,v[b+144>>2]-v[b+136>>2]|0)|0)){break gb}b=h+v[J+180>>2]|0;if((B(v[b+148>>2]-v[b+140>>2]|0,v[b+144>>2]-v[b+136>>2]|0)|0)==(g|0)){break eb}}Ea(f,1,10825,0);break b}if((m|0)==2){if(!v[i+5608>>2]){break cb}j=Ja(T<<2);if(!j){break b}k=v[ha+16>>2];hb:{if(!k){break hb}ib:{jb:{if(v[P+64>>2]){r=k&3;b=0;if(k>>>0>=4){break jb}T=0;break ib}r=k&3;b=0;kb:{if(k>>>0<4){T=0;break kb}l=k&-4;T=0;h=0;while(1){m=T<<2;v[m+j>>2]=v[J+52>>2];v[j+(m|4)>>2]=v[J+128>>2];v[j+(m|8)>>2]=v[J+204>>2];v[j+(m|12)>>2]=v[J+280>>2];T=T+4|0;J=J+304|0;h=h+4|0;if((l|0)!=(h|0)){continue}break}}if(!r){break hb}while(1){v[j+(T<<2)>>2]=v[J+52>>2];T=T+1|0;J=J+76|0;b=b+1|0;if((r|0)!=(b|0)){continue}break}break hb}l=k&-4;T=0;h=0;while(1){m=T<<2;v[m+j>>2]=v[J+36>>2];v[j+(m|4)>>2]=v[J+112>>2];v[j+(m|8)>>2]=v[J+188>>2];v[j+(m|12)>>2]=v[J+264>>2];T=T+4|0;J=J+304|0;h=h+4|0;if((l|0)!=(h|0)){continue}break}}if(!r){break hb}while(1){v[j+(T<<2)>>2]=v[J+36>>2];T=T+1|0;J=J+76|0;b=b+1|0;if((r|0)!=(b|0)){continue}break}}i=v[i+5608>>2];r=0;h=Ja(k<<3);b=0;lb:{if(!h){break lb}if(!(!g|!k)){K=h+(k<<2)|0;x=k&-4;q=k&3;n=k-1|0;while(1){b=0;l=0;p=n>>>0<3;if(!p){while(1){m=b<<2;z[m+h>>2]=z[v[j+m>>2]>>2];E=m|4;z[E+h>>2]=z[v[j+E>>2]>>2];E=m|8;z[E+h>>2]=z[v[j+E>>2]>>2];m=m|12;z[m+h>>2]=z[v[j+m>>2]>>2];b=b+4|0;l=l+4|0;if((x|0)!=(l|0)){continue}break}}E=0;if(q){while(1){m=b<<2;z[m+h>>2]=z[v[j+m>>2]>>2];b=b+1|0;E=E+1|0;if((q|0)!=(E|0)){continue}break}}F=0;b=i;while(1){A=F<<2;m=A+K|0;v[m>>2]=0;ba=C(0);E=0;G=0;if(!p){while(1){l=E<<2;ba=C(C(z[b>>2]*z[l+h>>2])+ba);z[m>>2]=ba;ba=C(C(z[b+4>>2]*z[h+(l|4)>>2])+ba);z[m>>2]=ba;ba=C(C(z[b+8>>2]*z[h+(l|8)>>2])+ba);z[m>>2]=ba;ba=C(C(z[b+12>>2]*z[h+(l|12)>>2])+ba);z[m>>2]=ba;E=E+4|0;b=b+16|0;G=G+4|0;if((x|0)!=(G|0)){continue}break}}o=0;if(q){while(1){ba=C(C(z[b>>2]*z[h+(E<<2)>>2])+ba);z[m>>2]=ba;E=E+1|0;b=b+4|0;o=o+1|0;if((q|0)!=(o|0)){continue}break}}l=j+A|0;m=v[l>>2];v[l>>2]=m+4;z[m>>2]=ba;F=F+1|0;if((k|0)!=(F|0)){continue}break}r=r+1|0;if((r|0)!=(g|0)){continue}break}}Fa(h);b=1}Fa(j);if(b){break cb}break b}if(v[v[i+5584>>2]+20>>2]==1){if(j){Yb(v[J+36>>2],v[J+112>>2],v[J+188>>2],g);break cb}Yb(v[J+52>>2],v[J+128>>2],v[J+204>>2],g);break cb}if(j){Xb(v[J+36>>2],v[J+112>>2],v[J+188>>2],g);break cb}Xb(v[J+52>>2],v[J+128>>2],v[J+204>>2],g);break cb}v[oa>>2]=T;Ea(f,1,10886,oa)}l=v[v[P+20>>2]>>2];if(!v[l+16>>2]){_=1;break b}o=v[P+68>>2];J=v[l+20>>2];g=v[v[P+32>>2]+5584>>2];j=v[v[P+24>>2]+24>>2];i=0;while(1){mb:{if(v[o+(i<<2)>>2]?0:o){break mb}h=v[j+36>>2];b=v[J+28>>2];nb:{if(!v[P+64>>2]){b=b+B(h,152)|0;h=v[b+148>>2]-v[b+140>>2]|0;ha=v[b+144>>2]-v[b+136>>2]|0;E=0;m=J+52|0;break nb}k=b+B(h,152)|0;h=v[k+12>>2]-v[k+4>>2]|0;b=(b+B(v[J+24>>2],152)|0)-152|0;ha=v[k+8>>2]-v[k>>2]|0;E=v[b+8>>2]-(ha+v[b>>2]|0)|0;m=J+36|0}b=v[j+24>>2];ob:{if(v[j+32>>2]){b=1<>2];if(v[g+20>>2]!=1){if(!h|!ha){break mb}q=F>>31;x=k>>31;b=0;while(1){T=0;while(1){ta=z[G>>2];r=F;pb:{if(ta>C(2147483648)){break pb}r=k;if(ta>2];r=m;p=m>>31;ba=C(H(ta));Sa=C(ta-ba);if(!(SaC(.5)){break qb}Sa=ba;ba=C(ba*C(.5));ta=C(ba-C(H(ba)))==C(0)?Sa:ta}ba=ta}rb:{if(C(D(ba))>31)|0;r=m+r|0;m=m>>>0>r>>>0?K+1|0:K;r=(m|0)<=(x|0)&k>>>0>r>>>0|(m|0)<(x|0)?k:r>>>0>>0&(m|0)<=(q|0)|(m|0)<(q|0)?r:F}v[G>>2]=r;G=G+4|0;T=T+1|0;if((ha|0)!=(T|0)){continue}break}G=(E<<2)+G|0;b=b+1|0;if((h|0)!=(b|0)){continue}break}break mb}if(!h|!ha){break mb}r=ha&-2;q=ha&1;b=0;while(1){T=0;if((ha|0)!=1){while(1){m=v[g+1076>>2]+v[G>>2]|0;v[G>>2]=(k|0)>(m|0)?k:(m|0)<(F|0)?m:F;m=v[g+1076>>2]+v[G+4>>2]|0;v[G+4>>2]=(k|0)>(m|0)?k:(m|0)<(F|0)?m:F;G=G+8|0;T=T+2|0;if((r|0)!=(T|0)){continue}break}}if(q){m=v[g+1076>>2]+v[G>>2]|0;v[G>>2]=(k|0)>(m|0)?k:(m|0)<(F|0)?m:F;G=G+4|0}G=G+(E<<2)|0;b=b+1|0;if((h|0)!=(b|0)){continue}break}}J=J+76|0;g=g+1080|0;j=j+52|0;_=1;i=i+1|0;if(i>>>0>2]){continue}break}break b}_=0;Ea(f,1,4469,0)}pa=oa+16|0;if(!_){nb(Ca);v[a+8>>2]=v[a+8>>2]|32768;Ea(f,1,12133,0);break a}sb:{if(!c){break sb}h=0;k=0;g=v[a+208>>2];b=Dc(g,1);if(!((b|0)==-1|b>>>0>d>>>0)){tb:{h=1;b=v[g+24>>2];if(!v[b+16>>2]){break tb}j=v[b+24>>2];i=v[v[v[g+20>>2]>>2]+20>>2];while(1){b=v[j+24>>2];m=b&7;r=b>>>3|0;d=v[j+36>>2];b=v[i+28>>2];ub:{if(v[g+64>>2]){d=b+B(d,152)|0;_=v[d+12>>2]-v[d+4>>2]|0;b=(b+B(v[i+24>>2],152)|0)-152|0;d=v[d+8>>2]-v[d>>2]|0;F=v[b+8>>2]-(d+v[b>>2]|0)|0;b=i+36|0;break ub}b=b+B(d,152)|0;_=v[b+148>>2]-v[b+140>>2]|0;d=v[b+144>>2]-v[b+136>>2]|0;F=0;b=i+52|0}h=v[b>>2];vb:{wb:{xb:{yb:{b=r+((m|0)!=0)|0;switch(((b|0)==3?4:b)-1|0){case 1:break wb;case 0:break xb;case 3:break yb;default:break vb}}if(!_){break vb}m=d+F|0;d=d<<2;if(_>>>0>=4){l=_&-4;b=0;while(1){E=Ha(c,h,d);c=m<<2;r=h+c|0;o=c+r|0;q=c+o|0;h=c+q|0;c=Ha(Ha(Ha(d+E|0,r,d)+d|0,o,d)+d|0,q,d)+d|0;b=b+4|0;if((l|0)!=(b|0)){continue}break}}b=0;r=_&3;if(!r){break vb}while(1){c=Ha(c,h,d);h=(m<<2)+h|0;c=c+d|0;b=b+1|0;if((r|0)!=(b|0)){continue}break}break vb}b=!_|!d;if(v[j+32>>2]){if(b){break vb}r=d&-8;m=d&7;l=d-1|0;b=0;while(1){d=0;if(l>>>0>=7){while(1){t[c|0]=v[h>>2];t[c+1|0]=v[h+4>>2];t[c+2|0]=v[h+8>>2];t[c+3|0]=v[h+12>>2];t[c+4|0]=v[h+16>>2];t[c+5|0]=v[h+20>>2];t[c+6|0]=v[h+24>>2];t[c+7|0]=v[h+28>>2];c=c+8|0;h=h+32|0;d=d+8|0;if((r|0)!=(d|0)){continue}break}}d=0;if(m){while(1){t[c|0]=v[h>>2];c=c+1|0;h=h+4|0;d=d+1|0;if((m|0)!=(d|0)){continue}break}}h=(F<<2)+h|0;b=b+1|0;if((_|0)!=(b|0)){continue}break}break vb}if(b){break vb}r=d&-8;m=d&7;l=d-1|0;b=0;while(1){d=0;if(l>>>0>=7){while(1){t[c|0]=v[h>>2];t[c+1|0]=v[h+4>>2];t[c+2|0]=v[h+8>>2];t[c+3|0]=v[h+12>>2];t[c+4|0]=v[h+16>>2];t[c+5|0]=v[h+20>>2];t[c+6|0]=v[h+24>>2];t[c+7|0]=v[h+28>>2];c=c+8|0;h=h+32|0;d=d+8|0;if((r|0)!=(d|0)){continue}break}}d=0;if(m){while(1){t[c|0]=v[h>>2];c=c+1|0;h=h+4|0;d=d+1|0;if((m|0)!=(d|0)){continue}break}}h=(F<<2)+h|0;b=b+1|0;if((_|0)!=(b|0)){continue}break}break vb}b=!_|!d;if(v[j+32>>2]){if(b){break vb}r=d&-8;m=d&7;l=d-1|0;b=0;while(1){d=0;if(l>>>0>=7){while(1){u[c>>1]=v[h>>2];u[c+2>>1]=v[h+4>>2];u[c+4>>1]=v[h+8>>2];u[c+6>>1]=v[h+12>>2];u[c+8>>1]=v[h+16>>2];u[c+10>>1]=v[h+20>>2];u[c+12>>1]=v[h+24>>2];u[c+14>>1]=v[h+28>>2];c=c+16|0;h=h+32|0;d=d+8|0;if((r|0)!=(d|0)){continue}break}}d=0;if(m){while(1){u[c>>1]=v[h>>2];c=c+2|0;h=h+4|0;d=d+1|0;if((m|0)!=(d|0)){continue}break}}h=(F<<2)+h|0;b=b+1|0;if((_|0)!=(b|0)){continue}break}break vb}if(b){break vb}r=d&-8;m=d&7;l=d-1|0;b=0;while(1){d=0;if(l>>>0>=7){while(1){u[c>>1]=v[h>>2];u[c+2>>1]=v[h+4>>2];u[c+4>>1]=v[h+8>>2];u[c+6>>1]=v[h+12>>2];u[c+8>>1]=v[h+16>>2];u[c+10>>1]=v[h+20>>2];u[c+12>>1]=v[h+24>>2];u[c+14>>1]=v[h+28>>2];c=c+16|0;h=h+32|0;d=d+8|0;if((r|0)!=(d|0)){continue}break}}d=0;if(m){while(1){u[c>>1]=v[h>>2];c=c+2|0;h=h+4|0;d=d+1|0;if((m|0)!=(d|0)){continue}break}}h=(F<<2)+h|0;b=b+1|0;if((_|0)!=(b|0)){continue}break}}i=i+76|0;j=j+52|0;h=1;k=k+1|0;if(k>>>0>2]+16>>2]){continue}break}}}if(!h){break a}b=Ca+5596|0;c=v[b>>2];if(!c){break sb}Fa(c);v[b>>2]=0;v[mb+5600>>2]=0}v[a+8>>2]=v[a+8>>2]&-129;t[a+68|0]=w[a+68|0]&254;lb=1;c=v[e+12>>2];d=c;b=v[e+8>>2];if(c|b){g=v[e+56>>2];c=b-g|0;b=d-(v[e+60>>2]+(b>>>0>>0)|0)|0}else{c=0;b=0}c=!(b|c);b=v[a+8>>2];if(c&(b|0)==64|(b|0)==256){break a}if((Qa(e,ya+10|0,2,f)|0)!=2){Ea(f,v[a+184>>2]?1:2,3569,0);lb=!v[a+184>>2];break a}Ga(ya+10|0,ya+12|0,2);b=v[ya+12>>2];if((b|0)==65424){break a}if((b|0)==65497){v[a+8>>2]=256;v[a+204>>2]=0;break a}c=v[e+12>>2];d=c;b=v[e+8>>2];if(c|b){g=v[e+56>>2];c=b-g|0;b=d-(v[e+60>>2]+(b>>>0>>0)|0)|0}else{c=0;b=0}if(!(b|c)){v[a+8>>2]=64;Ea(f,2,9377,0);break a}lb=0;Ea(f,1,9313,0)}pa=ya+16|0;return lb|0}function eb(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,o=0,p=0,q=0,r=0,s=0,x=0,A=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=C(0),Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,qa=0,ra=C(0);A=pa-80|0;pa=A;v[A+40>>2]=65424;R=B(v[a+108>>2],v[a+104>>2]);a:{b:{c:{o=v[a+8>>2];d:{if((o|0)!=8){j=0;if((o|0)!=256){break a}v[A+40>>2]=65497;break d}if(t[a+68|0]&1){break d}O=R&-2;G=R&1;F=A+77|0;K=A+76|0;D=A+72|0;r=65424;e:{f:{g:{while(1){h:{i:{j:{k:{l:{if((r|0)==65427){break l}while(1){o=v[j+12>>2];p=o;x=v[j+8>>2];if(o|x){o=v[j+56>>2];m=x-o|0;o=p-(v[j+60>>2]+(o>>>0>x>>>0)|0)|0}else{m=0;o=0}if(!(m|o)){v[a+8>>2]=64;break l}if((Qa(j,v[a+16>>2],2,k)|0)!=2){Ea(k,1,3569,0);j=0;break a}Ga(v[a+16>>2],A+36|0,2);if(y[A+36>>2]<=1){Ea(k,1,7112,0);j=0;break a}m:{if(v[A+40>>2]!=32896){break m}o=v[j+12>>2];p=o;x=v[j+8>>2];if(o|x){o=v[j+56>>2];m=x-o|0;o=p-(v[j+60>>2]+(o>>>0>x>>>0)|0)|0}else{m=0;o=0}if(m|o){break m}v[a+8>>2]=64;break l}o=v[A+36>>2];x=v[a+8>>2];if(x&16){v[a+24>>2]=(v[a+24>>2]-o|0)-2}q=o-2|0;v[A+36>>2]=q;m=17696;p=v[A+40>>2];while(1){o=m;J=v[m>>2];if(J){m=o+12|0;if((p|0)!=(J|0)){continue}}break}if(!(x&v[o+4>>2])){Ea(k,1,6487,0);j=0;break a}n:{if(y[a+20>>2]>=q>>>0){m=v[a+16>>2];break n}m=v[j+12>>2];p=m;x=v[j+8>>2];if(m|x){m=v[j+56>>2];L=x-m|0;m=p-(v[j+60>>2]+(m>>>0>x>>>0)|0)|0}else{L=0;m=0}if((m|0)<=0&q>>>0>L>>>0|(m|0)<0){Ea(k,1,6861,0);j=0;break a}m=Oa(v[a+16>>2],v[A+36>>2]);if(!m){Fa(v[a+16>>2]);v[a+16>>2]=0;v[a+20>>2]=0;Ea(k,1,6063,0);j=0;break a}v[a+16>>2]=m;q=v[A+36>>2];v[a+20>>2]=q}m=Qa(j,m,q,k);if((m|0)!=v[A+36>>2]){Ea(k,1,3569,0);j=0;break a}o=v[o+8>>2];if(!o){Ea(k,1,12367,0);j=0;break a}if(!(ta[o|0](a,v[a+16>>2],m,k)|0)){v[A+32>>2]=v[A+40>>2];Ea(k,1,14601,A+32|0);j=0;break a}p=v[j+56>>2];s=v[A+36>>2];I=v[a+200>>2];q=v[I+40>>2];m=v[a+204>>2];x=B(m,40);S=q+x|0;L=v[S+20>>2];N=L+1|0;o=v[S+28>>2];o:{if(N>>>0<=o>>>0){r=v[S+24>>2];break o}Y=C(C(o>>>0)+C(100));p:{if(Y=C(0)){o=~~Y>>>0;break p}o=0}v[S+28>>2]=o;r=Oa(v[S+24>>2],B(o,24));q=v[I+40>>2];o=x+q|0;if(!r){break k}v[o+24>>2]=r;L=v[o+20>>2];N=L+1|0}o=B(L,24)+r|0;v[o+16>>2]=s+4;p=(p-s|0)-4|0;v[o+8>>2]=p;v[o+12>>2]=p>>31;u[o>>1]=J;m=q+x|0;v[m+20>>2]=N;q:{if((J|0)!=65424){break q}o=v[m+16>>2];if(o){o=o+B(v[m+12>>2],24)|0;v[o>>2]=p;v[o+4>>2]=0}m=(v[j+56>>2]-v[A+36>>2]|0)-4|0;o=v[a+52>>2];if(m>>>0<=y[a+48>>2]&(o|0)>=0|(o|0)>0){break q}v[a+48>>2]=m;v[a+52>>2]=0}if(w[a+68|0]&4){if((ta[v[j+40>>2]](j,v[a+24>>2],0,k)|0)!=v[a+24>>2]|sa){Ea(k,1,3569,0);j=0;break a}v[A+40>>2]=65427;break l}if((Qa(j,v[a+16>>2],2,k)|0)!=2){Ea(k,1,3569,0);j=0;break a}Ga(v[a+16>>2],A+40|0,2);if(v[A+40>>2]!=65427){continue}break}}o=v[j+12>>2];p=o;x=v[j+8>>2];if(o|x){o=v[j+56>>2];m=x-o|0;o=p-(v[j+60>>2]+(o>>>0>x>>>0)|0)|0}else{m=0;o=0}if(!(m|o)&v[a+8>>2]==64){break h}o=w[a+68|0];if(!(o&4)){p=v[a+204>>2];m=v[a+156>>2];r:{s:{if(v[a+56>>2]){o=v[j+8>>2];if(o|v[j+12>>2]){r=o-v[j+56>>2]|0}else{r=0}break s}r=v[a+24>>2];if(r>>>0<2){break r}}r=r-2|0;v[a+24>>2]=r}o=m+B(p,5644)|0;$=o+5600|0;X=o+5596|0;if(!r){break j}o=v[j+12>>2];m=o;p=v[j+8>>2];if(m|p){o=v[j+56>>2];L=p-o|0;o=m-(v[j+60>>2]+(o>>>0>p>>>0)|0)|0}else{L=0;o=0}if((o|0)<=0&r>>>0>L>>>0|(o|0)<0){if(v[a+184>>2]){Ea(k,1,6906,0);j=0;break a}Ea(k,2,6906,0)}p=v[a+24>>2];if(p>>>0>=4294967294){Ea(k,1,1987,0);j=0;break a}m=v[X>>2];t:{if(m){o=v[$>>2];if(o>>>0>-3-p>>>0){Ea(k,1,1660,0);j=0;break a}o=Oa(m,(o+p|0)+2|0);if(o){v[X>>2]=o;break j}Fa(v[X>>2]);v[X>>2]=0;break t}o=Ja(p+2|0);v[X>>2]=o;if(o){break j}}Ea(k,1,7240,0);j=0;break a}v[a+8>>2]=8;t[a+68|0]=o&250;break i}Fa(v[o+24>>2]);a=v[I+40>>2]+B(m,40)|0;v[a+28>>2]=0;v[a+20>>2]=0;v[a+24>>2]=0;Ea(k,1,4960,0);j=0;break a}S=v[a+200>>2];if(S){m=v[j+56>>2];J=m-2|0;p=v[j+60>>2];o=p-(m>>>0<2)|0;q=v[S+40>>2];x=v[a+204>>2];I=B(x,40);U=q+I|0;s=v[U+16>>2]+B(v[U+12>>2],24)|0;v[s+8>>2]=J;v[s+12>>2]=o;o=m;m=v[a+24>>2];o=o+m|0;v[s+16>>2]=o;v[s+20>>2]=m>>>0>o>>>0?p+1|0:p;p=v[a+24>>2];N=v[U+20>>2];s=N+1|0;o=v[U+28>>2];u:{if(s>>>0<=o>>>0){m=v[U+24>>2];break u}Y=C(C(o>>>0)+C(100));v:{if(Y=C(0)){o=~~Y>>>0;break v}o=0}v[U+28>>2]=o;m=Oa(v[U+24>>2],B(o,24));q=v[S+40>>2];o=I+q|0;if(!m){break f}v[o+24>>2]=m;N=v[o+20>>2];s=N+1|0}o=B(N,24)+m|0;v[o+16>>2]=p+2;v[o+8>>2]=J;v[o+12>>2]=J>>31;u[o>>1]=65427;v[(q+I|0)+20>>2]=s}if(r){o=Qa(j,v[X>>2]+v[$>>2]|0,v[a+24>>2],k)}else{o=0}v[a+8>>2]=(o|0)==v[a+24>>2]?8:64;v[$>>2]=o+v[$>>2];o=w[a+68|0];if((o&9)!=1){break i}t[a+68|0]=o|8;if(v[j+28>>2]==62){break i}o=v[j+60>>2];I=o;x=v[j+56>>2];if((o&x)==-1){break i}p=v[a+204>>2];w:{while(1){m=0;if((Qa(j,A+70|0,2,k)|0)!=2){break w}Ga(A+70|0,A- -64|0,2);if(v[A+64>>2]!=65424){break w}E=3569;if((Qa(j,A+70|0,2,k)|0)!=2){break c}Ga(A+70|0,A+60|0,2);if(v[A+60>>2]!=10){E=7112;break c}v[A+60>>2]=8;o=Qa(j,A+70|0,8,k);if((o|0)!=v[A+60>>2]){break c}if((o|0)!=8){E=5144;break c}Ga(A+70|0,A+56|0,2);Ga(D,A+52|0,4);Ga(K,A+48|0,1);Ga(F,A+44|0,1);if((p|0)!=v[A+56>>2]){o=v[A+52>>2];if(o>>>0<14){break w}o=o-12|0;v[A+52>>2]=o;o=ta[v[j+40>>2]](j,o,0,k)|0;if(!sa&v[A+52>>2]==(o|0)){continue}break w}break}m=v[A+48>>2]==v[A+44>>2]}if(!(ta[v[j+44>>2]](j,x,I,k)|0)){break b}if(!m){break i}t[a+68|0]=w[a+68|0]&238|16;x:{if(!R){break x}x=v[a+156>>2];r=0;m=0;if((R|0)!=1){while(1){p=x+B(r,5644)|0;o=v[p+5592>>2];if(o){v[p+5592>>2]=o+1}p=x+B(r|1,5644)|0;o=v[p+5592>>2];if(o){v[p+5592>>2]=o+1}r=r+2|0;m=m+2|0;if((O|0)!=(m|0)){continue}break}}if(!G){break x}m=x+B(r,5644)|0;o=v[m+5592>>2];if(!o){break x}v[m+5592>>2]=o+1}Ea(k,2,9993,0)}if(t[a+68|0]&1){break h}if((Qa(j,v[a+16>>2],2,k)|0)!=2){if(!(!R|(R|0)!=(v[a+204>>2]+1|0))){o=v[a+156>>2];r=0;while(1){j=o+B(r,5644)|0;if(!(v[j+5588>>2]|v[j+5592>>2])){break e}r=r+1|0;if((R|0)!=(r|0)){continue}break}}Ea(k,1,3569,0);j=0;break a}Ga(v[a+16>>2],A+40|0,2);r=v[A+40>>2];if(t[a+68|0]&1){break g}if((r|0)!=65497){continue}break g}break}r=v[A+40>>2]}if(v[a+8>>2]==256|(r|0)!=65497){break d}v[a+8>>2]=256;v[a+204>>2]=0;break d}Fa(v[o+24>>2]);a=v[S+40>>2]+B(x,40)|0;v[a+28>>2]=0;v[a+20>>2]=0;v[a+24>>2]=0;Ea(k,1,4960,0);j=0;break a}v[A+16>>2]=r;Ea(k,4,11740,A+16|0);v[a+204>>2]=r;v[A+40>>2]=65497;v[a+8>>2]=256}I=v[a+156>>2];r=v[a+204>>2];y:{z:{if(t[a+68|0]&1){break z}A:{B:{if(r>>>0>=R>>>0){break B}j=I+B(r,5644)|0;while(1){if(v[j+5596>>2]){break B}r=r+1|0;v[a+204>>2]=r;j=j+5644|0;if((r|0)!=(R|0)){continue}break}break A}if((r|0)!=(R|0)){break z}}v[i>>2]=0;break y}C:{D:{j=I+B(r,5644)|0;if(v[j+5172>>2]){a=7901}else{if(!(w[j+5640|0]&2)){break C}K=j+5172|0;m=I+B(r,5644)|0;x=v[m+5160>>2];E:{if(!x){E=0;break E}D=v[m+5164>>2];s=0;E=0;j=0;if(x>>>0>=4){o=x&-4;q=0;while(1){p=j<<3;E=v[(D+(p|24)|0)+4>>2]+(v[(D+(p|16)|0)+4>>2]+(v[(D+(p|8)|0)+4>>2]+(v[(p+D|0)+4>>2]+E|0)|0)|0)|0;j=j+4|0;q=q+4|0;if((o|0)!=(q|0)){continue}break}}o=x&3;if(!o){break E}while(1){E=v[(D+(j<<3)|0)+4>>2]+E|0;j=j+1|0;s=s+1|0;if((o|0)!=(s|0)){continue}break}}j=Ja(E);v[K>>2]=j;if(j){break D}a=5106}Ea(k,1,a,0);Ea(k,1,9066,0);j=0;break a}q=I+B(r,5644)|0;v[q+5180>>2]=E;D=q+5164|0;E=v[q+5164>>2];I=m+5160|0;j=v[I>>2];if(j){m=0;r=0;while(1){x=r<<3;p=x+E|0;o=v[p>>2];if(o){Ha(v[K>>2]+m|0,o,v[p+4>>2]);j=x+v[D>>2]|0;o=v[j+4>>2];Fa(v[j>>2]);E=v[D>>2];j=x+E|0;v[j>>2]=0;v[j+4>>2]=0;m=m+o|0;j=v[I>>2]}r=r+1|0;if(r>>>0>>0){continue}break}}v[I>>2]=0;Fa(E);v[D>>2]=0;v[q+5168>>2]=v[K>>2];v[q+5176>>2]=v[q+5180>>2]}m=v[a+208>>2];Z=v[m+28>>2];o=v[a+204>>2];N=v[(v[Z+76>>2]+B(o,5644)|0)+5584>>2];I=v[m+24>>2];aa=v[I+24>>2];j=v[Z+24>>2];x=(o>>>0)/(j>>>0)|0;T=v[v[m+20>>2]>>2];p=v[Z+12>>2];o=v[Z+4>>2]+B(p,o-B(j,x)|0)|0;j=v[I>>2];m=j>>>0>>0?o:j;v[T>>2]=m;j=o+p|0;o=0-(j>>>0

>>0)|j;j=v[I+8>>2];j=j>>>0>o>>>0?o:j;v[T+8>>2]=j;F:{G:{if(!((j|0)>(m|0)&(m|0)>=0)){Ea(k,1,7746,0);break G}r=v[T+20>>2];p=v[Z+16>>2];o=v[Z+8>>2]+B(p,x)|0;j=v[I+4>>2];m=j>>>0>>0?o:j;v[T+4>>2]=m;j=o+p|0;o=0-(j>>>0

>>0)|j;j=v[I+12>>2];j=j>>>0>o>>>0?o:j;v[T+12>>2]=j;if(!((j|0)>(m|0)&(m|0)>=0)){Ea(k,1,7708,0);break G}H:{if(v[N+4>>2]){if(v[T+16>>2]){break H}j=1;break F}Ea(k,1,6448,0);break G}I:{J:{while(1){v[aa+36>>2]=0;F=v[aa>>2];K=F>>31;I=F-1|0;j=v[T>>2];m=j;o=I+m|0;x=K-!F|0;j=x+(m>>31)|0;oa=r,qa=Rf(o,m>>>0>o>>>0?j+1|0:j,F,K),v[oa>>2]=qa;s=v[aa+4>>2];q=s>>31;D=s-1|0;j=v[T+4>>2];m=j;o=D+m|0;p=q-!s|0;j=p+(m>>31)|0;oa=r,qa=Rf(o,m>>>0>o>>>0?j+1|0:j,s,q),v[oa+4>>2]=qa;j=v[T+8>>2];m=j;o=m+I|0;j=(m>>31)+x|0;oa=r,qa=Rf(o,m>>>0>o>>>0?j+1|0:j,F,K),v[oa+8>>2]=qa;o=v[T+12>>2];v[r+16>>2]=ka;j=p+(o>>31)|0;o=o+D|0;j=o>>>0>>0?j+1|0:j;oa=r,qa=Rf(o,j,s,q),v[oa+12>>2]=qa;o=v[N+4>>2];v[r+20>>2]=o;j=v[Z+80>>2];v[r+24>>2]=j>>>0>o>>>0?1:o-j|0;Fa(v[r+52>>2]);v[r+68>>2]=0;v[r+60>>2]=0;v[r+64>>2]=0;v[r+52>>2]=0;v[r+56>>2]=0;m=B(o,152);j=v[r+28>>2];K:{if(!j){j=Ja(m);v[r+28>>2]=j;if(!j){break G}v[r+32>>2]=m;Ka(j,0,m);break K}if(m>>>0<=y[r+32>>2]){break K}o=Oa(j,m);if(!o){Ea(k,1,4187,0);Fa(v[r+28>>2]);v[r+28>>2]=0;v[r+32>>2]=0;break G}v[r+28>>2]=o;j=v[r+32>>2];Ka(o+j|0,0,m-j|0);v[r+32>>2]=m}j=v[r+20>>2];if(j){ca=N+28|0;L=v[r+28>>2];ba=0;while(1){K=j-1|0;m=K&31;if((K&63)>>>0>=32){s=-1<>>32-m}I=o^-1;m=v[r>>2];p=m;x=I+m|0;o=s^-1;m=o+(m>>31)|0;m=p>>>0>x>>>0?m+1|0:m;q=K&31;p=q;D=(K&63)>>>0>=32;O=D?m>>p:((1<>>p;v[L>>2]=O;m=v[r+4>>2];p=m;x=m+I|0;m=(m>>31)+o|0;m=p>>>0>x>>>0?m+1|0:m;p=q;G=D?m>>p:((1<>>p;v[L+4>>2]=G;m=v[r+8>>2];p=m;x=m+I|0;m=(m>>31)+o|0;m=p>>>0>x>>>0?m+1|0:m;p=q;D=(K&63)>>>0>=32?m>>p:((1<>>p;F=D;v[L+8>>2]=D;m=v[r+12>>2];p=m;x=m+I|0;m=(m>>31)+o|0;m=p>>>0>x>>>0?m+1|0:m;p=q;J=(K&63)>>>0>=32?m>>p:((1<>>p;v[L+12>>2]=J;x=D>>31;q=(ba<<2)+N|0;P=v[q+812>>2];p=P&31;if((P&63)>>>0>=32){s=1<>>32-p}p=m;D=D+p|0;m=s+x|0;m=(p>>>0>D>>>0?m+1|0:m)-!D|0;p=P&31;D=((P&63)>>>0>=32?m>>p:((1<>>p)<>31;Q=v[q+944>>2];m=Q&31;if((Q&63)>>>0>=32){m=-1<>>32-m}p=p^-1;q=p+J|0;m=(m^-1)+x|0;m=p>>>0>q>>>0?m+1|0:m;p=Q&31;m=((Q&63)>>>0>=32?m>>p:((1<>>p)<>Q:0;v[L+20>>2]=m;ea=O&-1<>P:0;v[L+16>>2]=p;L:{if(!p){break L}Qf(p,0,m,0);if(!sa){break L}break J}fa=B(m,p);if(fa>>>0>=107374183){break J}_=B(fa,40);if(ba){Q=Q-1|0;P=P-1|0;m=da>>31;p=m;q=m+1|0;m=da+1|0;da=((m?p:q)&1)<<31|m>>>1;m=ea>>31;p=m;q=m+1|0;m=ea+1|0;ea=((m?p:q)&1)<<31|m>>>1;m=3}else{m=1}v[L+24>>2]=m;na=1<>>0>=32){m=1<>>32-m}ma=j;p=m;j=v[N+12>>2];V=j>>>0>>0?j:Q;m=V&31;if((V&63)>>>0>=32){m=-1<>>32-m}X=j^-1;U=m^-1;j=v[N+8>>2];W=j>>>0

>>0?j:P;m=W&31;if((W&63)>>>0>=32){m=-1<>>32-m}$=j^-1;S=m^-1;ja=0;while(1){M:{if(!ba){j=0;v[E+16>>2]=0;m=v[r>>2];D=m;q=m+I|0;m=(m>>31)+o|0;m=q>>>0>>0?m+1|0:m;s=K&31;v[E>>2]=(K&63)>>>0>=32?m>>s:((1<>>s;m=v[r+4>>2];D=m;q=m+I|0;m=(m>>31)+o|0;m=q>>>0>>0?m+1|0:m;m=(K&63)>>>0>=32?m>>s:((1<>>s;D=o;q=I;J=q;s=o;H=K;break M}j=ja+1|0;v[E+16>>2]=j;D=j&1;q=K&31;if((K&63)>>>0>=32){m=D<>>32-q;q=D<>2];s=q+F|0;m=(m^-1)+p|0;D=q>>>0>>0?m+1|0:m;m=D+(F>>31)|0;m=s>>>0>>0?m+1|0:m;F=x&31;v[E>>2]=(x&63)>>>0>=32?m>>F:((1<>>F;s=j>>>1|0;F=K&31;if((K&63)>>>0>=32){m=s<>>32-F;s=s<>2];F=J+G|0;m=(m^-1)+p|0;s=s>>>0>J>>>0?m+1|0:m;m=s+(G>>31)|0;m=F>>>0>>0?m+1|0:m;G=x&31;m=(x&63)>>>0>=32?m>>G:((1<>>G;H=x}ga=H;G=v[r+8>>2];F=G>>31;O=v[r+12>>2];v[E+4>>2]=m;m=(O>>31)+s|0;s=J+O|0;m=O>>>0>s>>>0?m+1|0:m;H=ga&31;J=((1<>>H;s=(ga&63)>>>0>=32;v[E+12>>2]=s?m>>H:J;m=D+F|0;D=q+G|0;m=D>>>0>>0?m+1|0:m;q=H;v[E+8>>2]=s?m>>q:((1<>>q;m=v[ca+4>>2];ha=1;j=(v[aa+24>>2]+(!v[N+20>>2]|!j?0:(j|0)==3?2:1)|0)-v[ca>>2]|0;N:{if((j|0)>=1024){ha=898846567431158e293;if(j>>>0<2047){j=j-1023|0;break N}ha=M;j=((j|0)>=3069?3069:j)-2046|0;break N}if((j|0)>-1023){break N}ha=2004168360008973e-307;if(j>>>0>4294965304){j=j+969|0;break N}ha=0;j=((j|0)<=-2960?-2960:j)+1938|0}l(0,0);l(1,j+1023<<20);oa=E,ra=C(ha*+n()*(+(m|0)*.00048828125+1)),z[oa+32>>2]=ra;v[E+28>>2]=(v[ca>>2]+v[N+804>>2]|0)-1;j=v[E+20>>2];O:{P:{if(!(j|!fa)){j=Ja(_);v[E+20>>2]=j;if(!j){Ea(k,1,3951,0);break G}Ka(j,0,_);v[E+24>>2]=_;break P}if(_>>>0>y[E+24>>2]){m=Oa(j,_);if(!m){Ea(k,1,3951,0);Fa(v[E+20>>2]);v[E+20>>2]=0;v[E+24>>2]=0;break G}v[E+20>>2]=m;j=v[E+24>>2];Ka(m+j|0,0,_-j|0);v[E+24>>2]=_}if(!fa){break O}}j=v[E+20>>2];D=0;while(1){m=v[L+16>>2];F=(D>>>0)/(m>>>0)|0;q=(D-B(m,F)<>2];s=(m|0)<(q|0)?q:m;v[j>>2]=s;G=(F<>2];F=(m|0)<(G|0)?G:m;v[j+4>>2]=F;q=q+R|0;m=v[E+8>>2];J=(m|0)>(q|0)?q:m;v[j+8>>2]=J;q=G+na|0;m=v[E+12>>2];O=(m|0)>(q|0)?q:m;v[j+12>>2]=O;m=(J>>31)+S|0;q=J+$|0;m=J>>>0>q>>>0?m+1|0:m;G=W&31;J=s>>W;s=((W&63)>>>0>=32?m>>G:((1<>>G)-J<>W;v[j+16>>2]=s;m=(O>>31)+U|0;q=O+X|0;m=q>>>0>>0?m+1|0:m;G=V&31;O=F>>V;m=((V&63)>>>0>=32?m>>G:((1<>>G)-O<>V;v[j+20>>2]=m;ia=B(m,s);if(ia>>>26|0){Ea(k,1,4032,0);break G}s=ia<<6;m=v[j+24>>2];Q:{R:{if(!(m|!ia)){m=Ja(s);v[j+24>>2]=m;if(!m){break G}Ka(m,0,s);m=j+28|0;break R}if(s>>>0<=y[j+28>>2]){break Q}q=Oa(m,s);if(!q){Fa(v[j+24>>2]);v[j+24>>2]=0;v[j+28>>2]=0;Ea(k,1,3646,0);break G}v[j+24>>2]=q;m=v[j+28>>2];Ka(q+m|0,0,s-m|0);m=j+28|0}v[m>>2]=s}s=v[j+20>>2];q=v[j+16>>2];m=v[j+32>>2];S:{if(!m){m=Cc(q,s,k);break S}m=Ac(m,q,s,k)}v[j+32>>2]=m;s=v[j+20>>2];q=v[j+16>>2];m=v[j+36>>2];T:{if(!m){m=Cc(q,s,k);break T}m=Ac(m,q,s,k)}v[j+36>>2]=m;if(ia){s=0;while(1){F=v[j+16>>2];ga=(s>>>0)/(F>>>0)|0;H=v[j+24>>2]+(s<<6)|0;G=v[H>>2];U:{if(G){q=v[H+56>>2];m=v[H+4>>2];la=v[H+48>>2];Fa(v[H+60>>2]);v[H+56>>2]=0;v[H+60>>2]=0;v[H+48>>2]=0;v[H+52>>2]=0;v[H+40>>2]=0;v[H+44>>2]=0;v[H+32>>2]=0;v[H+36>>2]=0;v[H+24>>2]=0;v[H+28>>2]=0;v[H+16>>2]=0;v[H+20>>2]=0;v[H+8>>2]=0;v[H+12>>2]=0;v[H>>2]=G;v[H+48>>2]=la;if(la){Ka(G,0,B(la,24))}v[H+4>>2]=m;v[H+56>>2]=q;break U}m=Ia(10,24);v[H>>2]=m;if(!m){break G}v[H+48>>2]=10}G=(s-B(F,ga)|0)+J|0;q=G<>2];v[H+8>>2]=(m|0)<(q|0)?q:m;F=O+ga|0;q=F<>2];v[H+12>>2]=(m|0)<(q|0)?q:m;q=G+1<>2];v[H+16>>2]=(m|0)>(q|0)?q:m;q=F+1<>2];v[H+20>>2]=(m|0)>(q|0)?q:m;s=s+1|0;if((ia|0)!=(s|0)){continue}break}}j=j+40|0;D=D+1|0;if((fa|0)!=(D|0)){continue}break}}ca=ca+8|0;E=E+36|0;ja=ja+1|0;if(ja>>>0>2]){continue}break}L=L+152|0;j=K;ba=ba+1|0;if(ba>>>0>2]){continue}break}}aa=aa+52|0;r=r+76|0;N=N+1080|0;ka=ka+1|0;if(ka>>>0>2]){continue}break}j=1;break F}Ea(k,1,4079,0);break G}Ea(k,1,3522,0)}j=0}if(!j){Ea(k,1,4765,0);j=0;break a}j=v[a+204>>2];v[A+4>>2]=B(v[a+104>>2],v[a+108>>2]);v[A>>2]=j+1;Ea(k,4,12467,A);v[b>>2]=v[a+204>>2];v[i>>2]=1;if(c){b=Dc(v[a+208>>2],0);v[c>>2]=b;j=0;if((b|0)==-1){break a}}b=v[v[v[a+208>>2]+20>>2]>>2];v[d>>2]=v[b>>2];v[e>>2]=v[b+4>>2];v[f>>2]=v[b+8>>2];v[g>>2]=v[b+12>>2];v[h>>2]=v[b+16>>2];v[a+8>>2]=v[a+8>>2]|128}j=1;break a}Ea(k,1,E,0)}Ea(k,1,4799,0);j=0}a=j;pa=A+80|0;return a|0}function Lc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{switch(v[a+84>>2]){case 0:k:{c=v[a+52>>2];b=v[a+196>>2];if(c>>>0>>0){j=v[a- -64>>2];if(j>>>0>>0){break k}}Ea(v[a+236>>2],1,9449,0);break b}if(!v[a+44>>2]){i=v[a+36>>2];b=0;break i}v[a+44>>2]=0;m=v[a+68>>2];b=1;break i;case 1:l:{c=v[a+52>>2];b=v[a+196>>2];if(c>>>0>>0){j=v[a- -64>>2];if(j>>>0>>0){break l}}Ea(v[a+236>>2],1,9494,0);break b}if(!v[a+44>>2]){k=v[a+36>>2];b=0;break e}v[a+44>>2]=0;m=v[a+48>>2];b=1;break e;case 2:m:{G=v[a+52>>2];D=v[a+196>>2];if(G>>>0>>0){k=v[a- -64>>2];if(k>>>0>>0){break m}}Ea(v[a+236>>2],1,9629,0);break b}if(!v[a+44>>2]){E=v[a+40>>2];break f}v[a+228>>2]=0;v[a+232>>2]=0;v[a+44>>2]=0;z=v[a+200>>2];while(1){O=z+(r<<4)|0;g=v[O+8>>2];if(g){j=v[O+12>>2];b=0;while(1){f=g+(b^-1)|0;d=j+(b<<4)|0;t=f+v[d>>2]|0;n:{if(t>>>0>31){break n}c=v[O>>2];if(c>>>0>-1>>>t>>>0){break n}c=c<>>0>i>>>0?i:c:c;v[a+228>>2]=i}f=f+v[d+4>>2]|0;o:{if(f>>>0>31){break o}c=v[O+4>>2];if(c>>>0>-1>>>f>>>0){break o}c=c<>>0>m>>>0?m:c:c;v[a+232>>2]=m}b=b+1|0;if((g|0)!=(b|0)){continue}break}}r=r+1|0;if((D|0)!=(r|0)){continue}break};if(!i|!m){break d}if(!w[a|0]){v[a+108>>2]=v[a+208>>2];v[a+100>>2]=v[a+204>>2];v[a+112>>2]=v[a+216>>2];v[a+104>>2]=v[a+212>>2]}p=v[a+48>>2];b=1;break f;case 3:p:{G=v[a+52>>2];g=v[a+196>>2];if(G>>>0>>0){p=v[a- -64>>2];if(p>>>0>>0){break p}}Ea(v[a+236>>2],1,9584,0);break b}if(!v[a+44>>2]){H=v[a+200>>2];k=v[a+28>>2];E=H+(k<<4)|0;I=v[a+40>>2];break g}v[a+228>>2]=0;v[a+232>>2]=0;v[a+44>>2]=0;H=v[a+200>>2];while(1){D=(o<<4)+H|0;t=v[D+8>>2];if(t){j=v[D+12>>2];b=0;while(1){f=t+(b^-1)|0;d=j+(b<<4)|0;z=f+v[d>>2]|0;q:{if(z>>>0>31){break q}c=v[D>>2];if(c>>>0>-1>>>z>>>0){break q}c=c<>>0>i>>>0?i:c:c;v[a+228>>2]=i}f=f+v[d+4>>2]|0;r:{if(f>>>0>31){break r}c=v[D+4>>2];if(c>>>0>-1>>>f>>>0){break r}c=c<>>0>m>>>0?m:c:c;v[a+232>>2]=m}b=b+1|0;if((t|0)!=(b|0)){continue}break}}o=o+1|0;if((g|0)!=(o|0)){continue}break};if(!i|!m){break d}s:{if(w[a|0]){o=v[a+108>>2];break s}o=v[a+208>>2];v[a+108>>2]=o;v[a+100>>2]=v[a+204>>2];v[a+112>>2]=v[a+216>>2];v[a+104>>2]=v[a+212>>2]}b=1;break g;case 4:break j;default:break d}}t:{o=v[a+52>>2];b=v[a+196>>2];if(o>>>0>>0){q=v[a- -64>>2];if(q>>>0>>0){break t}}Ea(v[a+236>>2],1,9539,0);break d}if(!v[a+44>>2]){o=v[a+28>>2];m=v[a+200>>2]+(o<<4)|0;r=v[a+40>>2];b=0;break h}v[a+28>>2]=o;v[a+44>>2]=0;b=1;break h}u:while(1){v:{w:{if(!b){i=i+1|0;break w}v[a+40>>2]=m;if(y[a+56>>2]<=m>>>0){break b}k=v[a+48>>2];b=0;break v}b=1}x:while(1){y:{z:{A:{B:{if(!b){v[a+32>>2]=k;if(y[a+60>>2]<=k>>>0){break B}v[a+28>>2]=c;b=c;p=0;break y}v[a+36>>2]=i;if(y[a+76>>2]<=i>>>0){b=v[a+28>>2];p=1;break y}b=((B(v[a+16>>2],v[a+32>>2])+B(v[a+12>>2],v[a+40>>2])|0)+B(v[a+20>>2],v[a+28>>2])|0)+B(v[a+24>>2],i)|0;if(b>>>0>=y[a+8>>2]){break c}b=v[a+4>>2]+(b<<1)|0;if(x[b>>1]){break A}break a}m=v[a+40>>2]+1|0;break z}b=0;continue u}b=1;continue u}while(1){C:{D:{E:{if(!p){if(b>>>0>=j>>>0){break E}f=v[a+32>>2];d=v[a+200>>2];if(f>>>0>=y[(d+(b<<4)|0)+8>>2]){break C}if(!w[a|0]){b=v[(d+(b<<4)|0)+12>>2]+(f<<4)|0;v[a+76>>2]=B(v[b+12>>2],v[b+8>>2])}i=v[a+72>>2];b=1;continue x}b=b+1|0;v[a+28>>2]=b;break D}k=v[a+32>>2]+1|0;b=0;continue x}p=0;continue}p=1;continue}}}}F:while(1){G:{H:{if(!b){r=r+1|0;v[a+40>>2]=r;break H}if(q>>>0<=o>>>0){break b}v[a+228>>2]=0;v[a+232>>2]=0;c=v[a+200>>2];b=o<<4;m=c+b|0;g=v[m+8>>2];if(!g){break b}b=b+c|0;z=b;j=v[b+12>>2];i=0;k=0;b=0;while(1){f=g+(b^-1)|0;d=j+(b<<4)|0;t=f+v[d>>2]|0;I:{if(t>>>0>31){break I}c=v[m>>2];if(c>>>0>-1>>>t>>>0){break I}c=c<>>0>k>>>0?k:c:c;v[a+228>>2]=k}f=f+v[d+4>>2]|0;J:{if(f>>>0>31){break J}c=v[z+4>>2];if(c>>>0>-1>>>f>>>0){break J}c=c<>>0>i>>>0?i:c:c;v[a+232>>2]=i}b=b+1|0;if((g|0)!=(b|0)){continue}break}if(!k|!i){break d}K:{if(w[a|0]){i=v[a+108>>2];break K}i=v[a+208>>2];v[a+108>>2]=i;v[a+100>>2]=v[a+204>>2];v[a+112>>2]=v[a+216>>2];v[a+104>>2]=v[a+212>>2]}b=0;break G}b=1}L:while(1){M:{N:{O:{P:{if(!b){v[a+224>>2]=i;if(y[a+112>>2]<=i>>>0){break P}H=v[a+100>>2];b=0;break M}if(y[a+56>>2]<=r>>>0){p=v[a+32>>2];b=1;break M}b=((B(v[a+16>>2],v[a+32>>2])+B(v[a+12>>2],r)|0)+B(v[a+20>>2],o)|0)+B(v[a+24>>2],v[a+36>>2])|0;if(b>>>0>=y[a+8>>2]){break c}b=v[a+4>>2]+(b<<1)|0;if(x[b>>1]){break O}break a}o=o+1|0;v[a+28>>2]=o;break N}b=0;continue F}b=1;continue F}while(1){Q:{R:{S:{T:{if(!b){v[a+220>>2]=H;if(y[a+104>>2]<=H>>>0){break S}p=v[a+48>>2];break T}p=p+1|0}v[a+32>>2]=p;b=v[a+60>>2];d=v[m+8>>2];if((b>>>0>>0?b:d)>>>0>p>>>0){f=v[m>>2];c=f;h=d+(p^-1)|0;l=h;d=l&31;if((l&63)>>>0>=32){b=f<>>32-d;C=f<>>0>=32?c>>>d|0:((1<>>d)|0)){break Q}c=v[m+4>>2];b=l&31;j=-1>>>b|0;if((c&((l&63)>>>0>=32?j:j|(1<>>0>=32){b=c<>>32-d;A=c<>2];j=J+d|0;O=Sf(j,d>>>0>j>>>0?b+1|0:b,A,F);K=v[a+208>>2];d=J+K|0;b=K>>>0>d>>>0?b+1|0:b;z=Sf(d,b,A,F);G=C-1|0;d=v[a+212>>2];g=G+d|0;j=e-!C|0;b=j;D=Sf(g,d>>>0>g>>>0?b+1|0:b,C,e);L=v[a+204>>2];d=G+L|0;b=L>>>0>d>>>0?b+1|0:b;d=Sf(d,b,C,e);M=v[m+12>>2];N=v[M+(p<<4)>>2];s=N+h|0;b=s&31;g=-1>>>b|0;if((f|0)!=(((s&63)>>>0>=32?g:g|(1<>2];h=n+h|0;k=h&31;if((h&63)>>>0>=32){b=c<>>32-k;k=c<>>0>=32?b>>>g|0:((1<>>g)|0)){break Q}g=v[a+224>>2];if(Tf(g,k,b)|sa){if((g|0)!=(K|0)){break Q}c=h&31;if((h&63)>>>0>=32){b=-1<>>32-c;c=-1<>>0>=32){b=h<>>32-k|b<>2];if((s&63)>>>0>=32){b=f<>>32-h;h=f<>>0>=32){b=-1<>>32-f}h=h^-1;f=b^-1;k=h;b=0;h=d;s=l&31;if((l&63)>>>0>=32){b=h<>>32-s|b<>2];if(!h|!v[b+12>>2]|(d|0)==(D|0)){break Q}if((z|0)==(O|0)){break Q}r=v[a+68>>2];v[a+40>>2]=r;b=j;c=c+G|0;b=c>>>0>>0?b+1|0:b;f=(Sf(c,b,C,e)>>>N)-(d>>>N)|0;b=t;c=g+J|0;b=c>>>0>>0?b+1|0:b;Q=a,R=B(h,(Sf(c,b,A,F)>>>n)-(z>>>n)|0)+f|0,v[Q+36>>2]=R;b=1;continue L}c=v[a+220>>2];b=v[a+228>>2];H=c+b-(c>>>0)%(b>>>0)|0;break R}c=v[a+224>>2];b=v[a+232>>2];i=c+b-(c>>>0)%(b>>>0)|0;b=0;continue L}b=0;continue}b=1;continue}}}}U:while(1){V:{W:{if(!b){I=I+1|0;v[a+40>>2]=I;break W}v[a+224>>2]=o;if(y[a+112>>2]<=o>>>0){break b}C=v[a+100>>2];b=0;break V}b=1}X:while(1){Y:{Z:{_:{$:{if(!b){v[a+220>>2]=C;if(y[a+104>>2]<=C>>>0){break $}v[a+28>>2]=G;k=G;b=0;break Y}if(y[a+56>>2]<=I>>>0){r=v[a+32>>2];b=1;break Y}b=((B(v[a+16>>2],v[a+32>>2])+B(v[a+12>>2],I)|0)+B(v[a+20>>2],k)|0)+B(v[a+24>>2],v[a+36>>2])|0;if(b>>>0>=y[a+8>>2]){break c}b=v[a+4>>2]+(b<<1)|0;if(x[b>>1]){break _}break a}c=v[a+224>>2];b=v[a+232>>2];o=c+b-(c>>>0)%(b>>>0)|0;break Z}b=0;continue U}b=1;continue U}while(1){aa:{ba:{ca:{da:{if(!b){if(k>>>0>=p>>>0){break ca}r=v[a+48>>2];v[a+32>>2]=r;E=(k<<4)+H|0;break da}r=r+1|0;v[a+32>>2]=r}b=v[a+60>>2];d=v[E+8>>2];if((b>>>0>>0?b:d)>>>0>r>>>0){f=v[E>>2];c=f;e=d+(r^-1)|0;q=e;d=e&31;if((e&63)>>>0>=32){b=f<>>32-d;i=f<>>0>=32?c>>>d|0:((1<>>d)|0)){break aa}c=v[E+4>>2];b=q&31;j=-1>>>b|0;if((c&((q&63)>>>0>=32?j:j|(1<>>0>=32){b=c<>>32-d;m=c<>2];j=J+d|0;O=Sf(j,d>>>0>j>>>0?b+1|0:b,m,h);A=v[a+208>>2];d=A+J|0;b=A>>>0>d>>>0?b+1|0:b;z=Sf(d,b,m,h);F=i-1|0;d=v[a+212>>2];g=F+d|0;j=s-!i|0;b=j;D=Sf(g,d>>>0>g>>>0?b+1|0:b,i,s);K=v[a+204>>2];d=F+K|0;b=K>>>0>d>>>0?b+1|0:b;d=Sf(d,b,i,s);L=v[E+12>>2];M=v[L+(r<<4)>>2];l=M+e|0;b=l&31;g=-1>>>b|0;if((f|0)!=(((l&63)>>>0>=32?g:g|(1<>2];e=N+e|0;n=e&31;if((e&63)>>>0>=32){b=c<>>32-n;n=c<>>0>=32?b>>>g|0:((1<>>g)|0)){break aa}g=v[a+224>>2];if(Tf(g,n,b)|sa){if((g|0)!=(A|0)){break aa}c=e&31;if((e&63)>>>0>=32){b=-1<>>32-c;c=-1<>>0>=32){b=e<>>32-n|b<>2];if((l&63)>>>0>=32){b=f<>>32-e;e=f<>>0>=32){b=-1<>>32-f}e=e^-1;f=b^-1;n=e;b=0;e=d;l=q&31;if((q&63)>>>0>=32){b=e<>>32-l|b<>2];if(!e|!v[b+12>>2]|(d|0)==(D|0)){break aa}if((z|0)==(O|0)){break aa}I=v[a+68>>2];v[a+40>>2]=I;b=j;c=c+F|0;b=c>>>0>>0?b+1|0:b;f=(Sf(c,b,i,s)>>>M)-(d>>>M)|0;b=t;c=g+J|0;b=c>>>0>>0?b+1|0:b;Q=a,R=B(e,(Sf(c,b,m,h)>>>N)-(z>>>N)|0)+f|0,v[Q+36>>2]=R;b=1;continue X}k=k+1|0;v[a+28>>2]=k;break ba}c=v[a+220>>2];b=v[a+228>>2];C=c+b-(c>>>0)%(b>>>0)|0;b=0;continue X}b=0;continue}b=1;continue}}}}ea:while(1){fa:{ga:{if(!b){E=E+1|0;v[a+40>>2]=E;break ga}v[a+32>>2]=p;if(y[a+60>>2]<=p>>>0){break b}I=v[a+108>>2];b=0;break fa}b=1}ha:while(1){ia:{ja:{ka:{la:{if(!b){v[a+224>>2]=I;if(y[a+112>>2]<=I>>>0){break la}H=v[a+100>>2];b=0;break ia}if(y[a+56>>2]<=E>>>0){o=v[a+28>>2];b=1;break ia}b=((B(v[a+16>>2],v[a+32>>2])+B(v[a+12>>2],E)|0)+B(v[a+20>>2],v[a+28>>2])|0)+B(v[a+24>>2],v[a+36>>2])|0;if(b>>>0>=y[a+8>>2]){break c}b=v[a+4>>2]+(b<<1)|0;if(x[b>>1]){break ka}break a}p=v[a+32>>2]+1|0;break ja}b=0;continue ea}b=1;continue ea}while(1){ma:{na:{oa:{pa:{if(!b){v[a+220>>2]=H;if(y[a+104>>2]<=H>>>0){break oa}v[a+28>>2]=G;o=G;break pa}o=o+1|0;v[a+28>>2]=o}if(k>>>0>o>>>0){C=v[a+32>>2];d=v[a+200>>2];l=d+(o<<4)|0;b=v[l+8>>2];if(C>>>0>=b>>>0){break ma}f=v[l>>2];c=f;e=b+(C^-1)|0;q=e;j=e&31;if((e&63)>>>0>=32){b=f<>>32-j;i=f<>>0>=32?c>>>j|0:((1<>>j)|0)){break ma}c=v[(d+(o<<4)|0)+4>>2];b=q&31;j=-1>>>b|0;if((c&((q&63)>>>0>=32?j:j|(1<>>0>=32){b=c<>>32-d;m=c<>2];j=J+d|0;O=Sf(j,d>>>0>j>>>0?b+1|0:b,m,h);A=v[a+208>>2];d=A+J|0;b=A>>>0>d>>>0?b+1|0:b;z=Sf(d,b,m,h);F=i-1|0;d=v[a+212>>2];g=F+d|0;j=s-!i|0;b=j;D=Sf(g,d>>>0>g>>>0?b+1|0:b,i,s);K=v[a+204>>2];d=F+K|0;b=K>>>0>d>>>0?b+1|0:b;d=Sf(d,b,i,s);L=v[l+12>>2];M=v[L+(C<<4)>>2];l=M+e|0;b=l&31;g=-1>>>b|0;if((f|0)!=(((l&63)>>>0>=32?g:g|(1<>2];e=N+e|0;n=e&31;if((e&63)>>>0>=32){b=c<>>32-n;n=c<>>0>=32?b>>>g|0:((1<>>g)|0)){break ma}g=v[a+224>>2];if(Tf(g,n,b)|sa){if((g|0)!=(A|0)){break ma}c=e&31;if((e&63)>>>0>=32){b=-1<>>32-c;c=-1<>>0>=32){b=e<>>32-n|b<>2];if((l&63)>>>0>=32){b=f<>>32-e;e=f<>>0>=32){b=-1<>>32-f}e=e^-1;f=b^-1;n=e;b=0;e=d;l=q&31;if((q&63)>>>0>=32){b=e<>>32-l|b<>2];if(!e|!v[b+12>>2]|(d|0)==(D|0)){break ma}if((z|0)==(O|0)){break ma}E=v[a+68>>2];v[a+40>>2]=E;b=j;c=c+F|0;b=c>>>0>>0?b+1|0:b;f=(Sf(c,b,i,s)>>>M)-(d>>>M)|0;b=t;c=g+J|0;b=c>>>0>>0?b+1|0:b;Q=a,R=B(e,(Sf(c,b,m,h)>>>N)-(z>>>N)|0)+f|0,v[Q+36>>2]=R;b=1;continue ha}c=v[a+220>>2];b=v[a+228>>2];H=c+b-(c>>>0)%(b>>>0)|0;break na}c=v[a+224>>2];b=v[a+232>>2];I=c+b-(c>>>0)%(b>>>0)|0;b=0;continue ha}b=0;continue}b=1;continue}}}}qa:while(1){ra:{sa:{if(!b){k=k+1|0;break sa}v[a+32>>2]=m;if(y[a+60>>2]<=m>>>0){break b}i=v[a+68>>2];b=0;break ra}b=1}ta:while(1){ua:{va:{wa:{xa:{if(!b){v[a+40>>2]=i;if(y[a+56>>2]<=i>>>0){break xa}v[a+28>>2]=c;b=c;p=0;break ua}v[a+36>>2]=k;if(y[a+76>>2]<=k>>>0){b=v[a+28>>2];p=1;break ua}b=((B(v[a+16>>2],v[a+32>>2])+B(v[a+12>>2],v[a+40>>2])|0)+B(v[a+20>>2],v[a+28>>2])|0)+B(v[a+24>>2],k)|0;if(b>>>0>=y[a+8>>2]){break c}b=v[a+4>>2]+(b<<1)|0;if(x[b>>1]){break wa}break a}m=v[a+32>>2]+1|0;break va}b=0;continue qa}b=1;continue qa}while(1){ya:{za:{Aa:{if(!p){if(b>>>0>=j>>>0){break Aa}f=v[a+32>>2];d=v[a+200>>2];if(f>>>0>=y[(d+(b<<4)|0)+8>>2]){break ya}if(!w[a|0]){b=v[(d+(b<<4)|0)+12>>2]+(f<<4)|0;v[a+76>>2]=B(v[b+12>>2],v[b+8>>2])}k=v[a+72>>2];b=1;continue ta}b=b+1|0;v[a+28>>2]=b;break za}i=v[a+40>>2]+1|0;b=0;continue ta}p=0;continue}p=1;continue}}}}return 0}Ea(v[a+236>>2],1,1889,0)}return 0}u[b>>1]=1;return 1}function $b(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,z=0,A=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;N=pa-16|0;pa=N;a:{if(y[a+16>>2]<=2){v[a+20>>2]=2;break a}b:{e=v[a+24>>2];if(v[e>>2]!=1){break b}c:{switch(v[e+52>>2]-1|0){case 1:if(!(v[e+104>>2]!=2|v[e+4>>2]!=1|(v[e+56>>2]!=2|v[e+108>>2]!=2))){o=a;a=v[a+24>>2];j=v[a+24>>2];m=v[a+148>>2];t=v[a+96>>2];l=v[a+44>>2];L=v[a+8>>2];a=v[a+12>>2];e=B(L,a)<<2;z=Pa(e);A=Pa(e);d:{e:{f:{E=Pa(e);if(!(!E|(!z|!A))){f=-1<>2]&1;P=e-a|0;F=v[o>>2];if(!a|!L){break f}g=+C(0-q|0);b=g*.344+g*.714;g:{if(D(b)<2147483648){u=~~b;break g}u=-2147483648}b=g*1.772;h:{if(D(b)<2147483648){d=~~b;break h}d=-2147483648}b=g*1.402;i:{if(D(b)<2147483648){c=~~b;break i}c=-2147483648}a=z;j=A;e=E;while(1){r=v[l>>2];p=r+c|0;v[a>>2]=(p|0)>=0?(f|0)>(p|0)?p:f:0;p=r-u|0;v[j>>2]=(p|0)>=0?(f|0)>(p|0)?p:f:0;p=d+r|0;v[e>>2]=(p|0)>=0?(f|0)>(p|0)?p:f:0;e=e+4|0;j=j+4|0;a=a+4|0;l=l+4|0;s=s+1|0;if((L|0)!=(s|0)){continue}break}break e}Fa(z);Fa(A);Fa(E);break d}e=E;j=A;a=z}O=P&-2;if(O){M=F&1;n=L-M|0;g=+C(0-q|0);b=g*.344+g*.714;j:{if(D(b)<2147483648){G=~~b;break j}G=-2147483648}J=n&-2;c=J-1|0;b=g*1.772;k:{if(D(b)<2147483648){r=~~b;break k}r=-2147483648}d=O-1|0;c=c&-2;b=g*1.402;l:{if(D(b)<2147483648){p=~~b;break l}p=-2147483648}F=d&-2;u=c+2|0;K=L<<2;while(1){x=e+K|0;c=j+K|0;s=a+K|0;I=l+K|0;if(M){h=v[l>>2];d=h+p|0;v[a>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;d=h-G|0;v[j>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;d=h+r|0;v[e>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;d=v[t>>2];k=+C(v[m>>2]-q|0);b=k*1.402;m:{if(D(b)<2147483648){h=~~b;break m}h=-2147483648}i=v[I>>2];h=h+i|0;v[s>>2]=(h|0)>=0?(f|0)>(h|0)?h:f:0;g=+C(d-q|0);b=g*.344+k*.714;n:{if(D(b)<2147483648){d=~~b;break n}d=-2147483648}d=i-d|0;v[c>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;b=g*1.772;o:{if(D(b)<2147483648){d=~~b;break o}d=-2147483648}d=d+i|0;v[x>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;x=x+4|0;c=c+4|0;s=s+4|0;I=I+4|0;e=e+4|0;j=j+4|0;l=l+4|0;a=a+4|0}w=0;if(J){while(1){d=v[t>>2];k=+C(v[m>>2]-q|0);b=k*1.402;p:{if(D(b)<2147483648){h=~~b;break p}h=-2147483648}i=v[l>>2];h=h+i|0;v[a>>2]=(h|0)>=0?(f|0)>(h|0)?h:f:0;g=+C(d-q|0);b=g*.344+k*.714;q:{if(D(b)<2147483648){d=~~b;break q}d=-2147483648}d=i-d|0;v[j>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;b=g*1.772;r:{if(D(b)<2147483648){d=~~b;break r}d=-2147483648}d=d+i|0;v[e>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;d=v[t>>2];k=+C(v[m>>2]-q|0);b=k*1.402;s:{if(D(b)<2147483648){h=~~b;break s}h=-2147483648}i=v[l+4>>2];h=h+i|0;v[a+4>>2]=(h|0)>=0?(f|0)>(h|0)?h:f:0;g=+C(d-q|0);b=g*.344+k*.714;t:{if(D(b)<2147483648){d=~~b;break t}d=-2147483648}d=i-d|0;v[j+4>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;b=g*1.772;u:{if(D(b)<2147483648){d=~~b;break u}d=-2147483648}d=d+i|0;v[e+4>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;d=v[t>>2];k=+C(v[m>>2]-q|0);b=k*1.402;v:{if(D(b)<2147483648){h=~~b;break v}h=-2147483648}i=v[I>>2];h=h+i|0;v[s>>2]=(h|0)>=0?(f|0)>(h|0)?h:f:0;g=+C(d-q|0);b=g*.344+k*.714;w:{if(D(b)<2147483648){d=~~b;break w}d=-2147483648}d=i-d|0;v[c>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;b=g*1.772;x:{if(D(b)<2147483648){d=~~b;break x}d=-2147483648}d=d+i|0;v[x>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;d=v[t>>2];k=+C(v[m>>2]-q|0);b=k*1.402;y:{if(D(b)<2147483648){h=~~b;break y}h=-2147483648}i=v[I+4>>2];h=h+i|0;v[s+4>>2]=(h|0)>=0?(f|0)>(h|0)?h:f:0;g=+C(d-q|0);b=g*.344+k*.714;z:{if(D(b)<2147483648){d=~~b;break z}d=-2147483648}d=i-d|0;v[c+4>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;b=g*1.772;A:{if(D(b)<2147483648){d=~~b;break A}d=-2147483648}d=d+i|0;v[x+4>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;m=m+4|0;t=t+4|0;x=x+8|0;c=c+8|0;s=s+8|0;I=I+8|0;e=e+8|0;j=j+8|0;a=a+8|0;l=l+8|0;w=w+2|0;if(J>>>0>w>>>0){continue}break}i=u}else{i=0}if(i>>>0>>0){d=v[t>>2];k=+C(v[m>>2]-q|0);b=k*1.402;B:{if(D(b)<2147483648){h=~~b;break B}h=-2147483648}i=v[l>>2];h=h+i|0;v[a>>2]=(h|0)>=0?(f|0)>(h|0)?h:f:0;g=+C(d-q|0);b=g*.344+k*.714;C:{if(D(b)<2147483648){d=~~b;break C}d=-2147483648}d=i-d|0;v[j>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;b=g*1.772;D:{if(D(b)<2147483648){d=~~b;break D}d=-2147483648}d=d+i|0;v[e>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;d=v[t>>2];k=+C(v[m>>2]-q|0);b=k*1.402;E:{if(D(b)<2147483648){h=~~b;break E}h=-2147483648}i=v[I>>2];h=h+i|0;v[s>>2]=(h|0)>=0?(f|0)>(h|0)?h:f:0;s=c;g=+C(d-q|0);b=g*.344+k*.714;F:{if(D(b)<2147483648){c=~~b;break F}c=-2147483648}c=i-c|0;v[s>>2]=(c|0)>=0?(c|0)<(f|0)?c:f:0;b=g*1.772;G:{if(D(b)<2147483648){c=~~b;break G}c=-2147483648}c=c+i|0;v[x>>2]=(c|0)>=0?(c|0)<(f|0)?c:f:0;m=m+4|0;t=t+4|0;e=e+4|0;j=j+4|0;l=l+4|0;a=a+4|0}e=e+K|0;j=j+K|0;a=a+K|0;l=l+K|0;H=H+2|0;if(O>>>0>H>>>0){continue}break}c=F+2|0}else{c=0}H:{if(c>>>0>=P>>>0){break H}F=L&-2;if(F){H=F-1&-2;s=0;while(1){c=v[t>>2];k=+C(v[m>>2]-q|0);b=k*1.402;I:{if(D(b)<2147483648){i=~~b;break I}i=-2147483648}u=v[l>>2];d=i+u|0;v[a>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;g=+C(c-q|0);b=g*.344+k*.714;J:{if(D(b)<2147483648){c=~~b;break J}c=-2147483648}c=u-c|0;v[j>>2]=(c|0)>=0?(c|0)<(f|0)?c:f:0;b=g*1.772;K:{if(D(b)<2147483648){c=~~b;break K}c=-2147483648}c=c+u|0;v[e>>2]=(c|0)>=0?(c|0)<(f|0)?c:f:0;c=v[t>>2];k=+C(v[m>>2]-q|0);b=k*1.402;L:{if(D(b)<2147483648){i=~~b;break L}i=-2147483648}u=v[l+4>>2];d=i+u|0;v[a+4>>2]=(d|0)>=0?(d|0)<(f|0)?d:f:0;g=+C(c-q|0);b=g*.344+k*.714;M:{if(D(b)<2147483648){c=~~b;break M}c=-2147483648}c=u-c|0;v[j+4>>2]=(c|0)>=0?(c|0)<(f|0)?c:f:0;b=g*1.772;N:{if(D(b)<2147483648){c=~~b;break N}c=-2147483648}c=c+u|0;v[e+4>>2]=(c|0)>=0?(c|0)<(f|0)?c:f:0;m=m+4|0;t=t+4|0;e=e+8|0;j=j+8|0;a=a+8|0;l=l+8|0;s=s+2|0;if(F>>>0>s>>>0){continue}break}c=H+2|0}else{c=0}if(c>>>0>=L>>>0){break H}c=v[t>>2];i=a;k=+C(v[m>>2]-q|0);b=k*1.402;O:{if(D(b)<2147483648){a=~~b;break O}a=-2147483648}H=v[l>>2];a=a+H|0;v[i>>2]=(a|0)>=0?(a|0)<(f|0)?a:f:0;g=+C(c-q|0);b=g*.344+k*.714;P:{if(D(b)<2147483648){a=~~b;break P}a=-2147483648}a=H-a|0;v[j>>2]=(a|0)>=0?(a|0)<(f|0)?a:f:0;b=g*1.772;Q:{if(D(b)<2147483648){a=~~b;break Q}a=-2147483648}a=a+H|0;v[e>>2]=(a|0)>=0?(a|0)<(f|0)?a:f:0}Fa(v[v[o+24>>2]+44>>2]);a=v[o+24>>2];v[a+44>>2]=z;Fa(v[a+96>>2]);a=v[o+24>>2];v[a+96>>2]=A;Fa(v[a+148>>2]);e=v[o+24>>2];v[e+148>>2]=E;a=v[e+8>>2];v[e+112>>2]=a;v[e+60>>2]=a;a=v[e+12>>2];v[e+116>>2]=a;v[e- -64>>2]=a;a=v[e>>2];v[e+104>>2]=a;v[e+52>>2]=a;a=v[e+4>>2];v[e+108>>2]=a;v[e+56>>2]=a;v[o+20>>2]=1}break a}if(v[e+104>>2]!=2|v[e+4>>2]!=1|(v[e+56>>2]!=1|v[e+108>>2]!=1)){break b}o=a;e=v[a+24>>2];j=v[e+24>>2];l=v[e+148>>2];m=v[e+96>>2];w=v[e+44>>2];a=v[e+8>>2];i=v[e+12>>2];e=B(a,i)<<2;z=Pa(e);A=Pa(e);E=Pa(e);R:{if(!(!E|(!z|!A))){if(i){p=v[o>>2]&1;h=a-p|0;J=1<>2];c=r+d|0;v[a>>2]=(c|0)>=0?(c|0)<(n|0)?c:n:0;c=r-F|0;v[j>>2]=(c|0)>=0?(c|0)<(n|0)?c:n:0;c=r+u|0;v[e>>2]=(c|0)>=0?(c|0)<(n|0)?c:n:0;j=j+4|0;w=w+4|0;e=e+4|0;a=a+4|0}I=0;if(M){while(1){c=v[m>>2];k=+C(v[l>>2]-J|0);b=k*1.402;V:{if(D(b)<2147483648){x=~~b;break V}x=-2147483648}G=v[w>>2];r=x+G|0;v[a>>2]=(r|0)>=0?(n|0)>(r|0)?r:n:0;g=+C(c-J|0);b=g*.344+k*.714;W:{if(D(b)<2147483648){c=~~b;break W}c=-2147483648}c=G-c|0;v[j>>2]=(c|0)>=0?(c|0)<(n|0)?c:n:0;b=g*1.772;X:{if(D(b)<2147483648){c=~~b;break X}c=-2147483648}c=c+G|0;v[e>>2]=(c|0)>=0?(c|0)<(n|0)?c:n:0;c=v[m>>2];k=+C(v[l>>2]-J|0);b=k*1.402;Y:{if(D(b)<2147483648){x=~~b;break Y}x=-2147483648}G=v[w+4>>2];r=x+G|0;v[a+4>>2]=(r|0)>=0?(n|0)>(r|0)?r:n:0;g=+C(c-J|0);b=g*.344+k*.714;Z:{if(D(b)<2147483648){c=~~b;break Z}c=-2147483648}c=G-c|0;v[j+4>>2]=(c|0)>=0?(c|0)<(n|0)?c:n:0;b=g*1.772;_:{if(D(b)<2147483648){c=~~b;break _}c=-2147483648}c=c+G|0;v[e+4>>2]=(c|0)>=0?(c|0)<(n|0)?c:n:0;l=l+4|0;m=m+4|0;e=e+8|0;j=j+8|0;a=a+8|0;w=w+8|0;I=I+2|0;if(M>>>0>I>>>0){continue}break}c=H}else{c=0}if(c>>>0>>0){c=v[m>>2];k=+C(v[l>>2]-J|0);b=k*1.402;$:{if(D(b)<2147483648){x=~~b;break $}x=-2147483648}G=v[w>>2];r=x+G|0;v[a>>2]=(r|0)>=0?(n|0)>(r|0)?r:n:0;g=+C(c-J|0);b=g*.344+k*.714;aa:{if(D(b)<2147483648){c=~~b;break aa}c=-2147483648}c=G-c|0;v[j>>2]=(c|0)>=0?(c|0)<(n|0)?c:n:0;b=g*1.772;ba:{if(D(b)<2147483648){c=~~b;break ba}c=-2147483648}c=c+G|0;v[e>>2]=(c|0)>=0?(c|0)<(n|0)?c:n:0;l=l+4|0;m=m+4|0;j=j+4|0;w=w+4|0;e=e+4|0;a=a+4|0}s=s+1|0;if((i|0)!=(s|0)){continue}break}}Fa(v[v[o+24>>2]+44>>2]);a=v[o+24>>2];v[a+44>>2]=z;Fa(v[a+96>>2]);a=v[o+24>>2];v[a+96>>2]=A;Fa(v[a+148>>2]);e=v[o+24>>2];v[e+148>>2]=E;a=v[e+8>>2];v[e+112>>2]=a;v[e+60>>2]=a;a=v[e+12>>2];v[e+116>>2]=a;v[e- -64>>2]=a;a=v[e>>2];v[e+104>>2]=a;v[e+52>>2]=a;a=v[e+4>>2];v[e+108>>2]=a;v[e+56>>2]=a;v[o+20>>2]=1;break R}Fa(z);Fa(A);Fa(E)}break a;case 0:break c;default:break b}}if(v[e+104>>2]!=1|v[e+4>>2]!=1|(v[e+56>>2]!=1|v[e+108>>2]!=1)){break b}e=v[a+24>>2];j=v[e+24>>2];w=v[e+148>>2];l=v[e+96>>2];m=v[e+44>>2];F=B(v[e+12>>2],v[e+8>>2]);e=F<<2;z=Pa(e);A=Pa(e);E=Pa(e);ca:{if(!(!E|(!z|!A))){if(F){p=-1<>2];k=+C(v[w>>2]-u|0);b=k*1.402;da:{if(D(b)<2147483648){i=~~b;break da}i=-2147483648}d=v[m>>2];H=i+d|0;v[c>>2]=(H|0)>=0?(p|0)>(H|0)?H:p:0;g=+C(o-u|0);b=g*.344+k*.714;ea:{if(D(b)<2147483648){i=~~b;break ea}i=-2147483648}o=d-i|0;v[j>>2]=(o|0)>=0?(o|0)<(p|0)?o:p:0;b=g*1.772;fa:{if(D(b)<2147483648){i=~~b;break fa}i=-2147483648}o=i+d|0;v[e>>2]=(o|0)>=0?(o|0)<(p|0)?o:p:0;e=e+4|0;j=j+4|0;c=c+4|0;w=w+4|0;l=l+4|0;m=m+4|0;t=t+1|0;if((F|0)!=(t|0)){continue}break}}Fa(v[v[a+24>>2]+44>>2]);e=v[a+24>>2];v[e+44>>2]=z;Fa(v[e+96>>2]);e=v[a+24>>2];v[e+96>>2]=A;Fa(v[e+148>>2]);v[v[a+24>>2]+148>>2]=E;v[a+20>>2]=1;break ca}Fa(z);Fa(A);Fa(E)}break a}v[N+4>>2]=262;v[N>>2]=1505;Na(v[6776],9271,N)}pa=N+16|0}function bc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=C(0),q=C(0),r=0,s=0,z=C(0),A=C(0),E=C(0),F=0,G=0,H=0,I=0,J=C(0),K=0,L=0;k=pa-8272|0;pa=k;v[k+12>>2]=0;j=v[v[a>>2]>>2];c=Ia(1,96);d=0;a:{if(!c){break a}v[c+76>>2]=1;b:{c:{d:{switch(((j|0)!=1375686655)<<1){case 0:v[c+88>>2]=122;v[c+84>>2]=123;v[c+80>>2]=124;v[c+16>>2]=125;v[c+4>>2]=126;v[c+28>>2]=127;v[c+24>>2]=128;v[c+20>>2]=129;v[c>>2]=130;v[c+92>>2]=131;v[c+44>>2]=132;v[c+40>>2]=133;v[c+36>>2]=134;v[c+32>>2]=135;v[c+12>>2]=136;v[c+8>>2]=137;j=hd();v[c+48>>2]=j;if(j){break c}break b;case 2:break d;default:break b}}v[c+88>>2]=138;v[c+84>>2]=139;v[c+80>>2]=140;v[c+16>>2]=141;v[c+4>>2]=142;v[c+92>>2]=143;v[c+44>>2]=144;v[c+40>>2]=145;v[c+36>>2]=146;v[c+32>>2]=147;v[c+28>>2]=148;v[c+24>>2]=149;v[c+20>>2]=150;v[c+12>>2]=151;v[c+8>>2]=152;v[c>>2]=153;j=Ia(1,136);e:{if(j){g=hd();v[j>>2]=g;f:{if(!g){break f}v[j+108>>2]=0;v[j+112>>2]=0;t[j+124|0]=0;v[j+116>>2]=0;v[j+120>>2]=0;g=wb();v[j+4>>2]=g;if(!g){break f}g=wb();v[j+8>>2]=g;if(!g){break f}break e}Oc(j)}j=0}v[c+48>>2]=j;if(!j){break b}}v[c+72>>2]=70;v[c+64>>2]=70;v[c+60>>2]=0;v[c+52>>2]=0;v[c+56>>2]=0;v[c+68>>2]=70;d=c;break a}Fa(c);d=0}g=d;if(g){v[g+60>>2]=0;v[g+72>>2]=51}if(g){v[g+56>>2]=0;v[g+68>>2]=52}if(g){v[g+52>>2]=0;v[g- -64>>2]=53}c=k+16|0;if(c){c=Ka(c,0,8248);v[c+8248>>2]=0;v[c+8200>>2]=-1;v[c+8204>>2]=-1}v[k+16>>2]=b;v[k+20>>2]=v[a+84>>2];c=v[a>>2];v[k+4>>2]=c;v[k>>2]=c;v[k+8>>2]=v[a+4>>2]-c;c=Ia(1,72);if(c){g:{v[c+64>>2]=1048576;j=Ja(1048576);v[c+32>>2]=j;if(!j){Fa(c);c=0;break g}v[c+36>>2]=j;v[c+28>>2]=62;v[c+24>>2]=63;v[c+20>>2]=64;v[c+16>>2]=65;v[c+44>>2]=66;v[c+40>>2]=68;v[c+68>>2]=v[c+68>>2]|2}}else{c=0}if(c){if(c){v[c+4>>2]=0;v[c>>2]=k}if(c){v[c+8>>2]=v[k+8>>2];v[c+12>>2]=0}if(!(!c|!(w[c+68|0]&2))){v[c+16>>2]=54}if(c){v[c+24>>2]=55}if(c){v[c+28>>2]=56}}h:{j=k+16|0;if(!g|!j){d=0}else{i:{if(!v[g+76>>2]){Ea(g+52|0,1,10665,0);d=0;break i}ta[v[g+24>>2]](v[g+48>>2],j);d=1}}j:{if(!d){Hb(1367);sb(c);yb(g);break j}if(!c|!g){d=0}else{k:{if(!v[g+76>>2]){Ea(g+52|0,1,10746,0);d=0;break k}d=ta[v[g>>2]](c,v[g+48>>2],k+12|0,g+52|0)|0}}if(!d){Hb(1430);sb(c);yb(g);Za(v[k+12>>2]);break j}j=c;if(!v[g+76>>2]|(!g|!c)){c=0}else{c=ta[v[g+4>>2]](v[g+48>>2],j,v[k+12>>2],g+52|0)|0}if(!c){Hb(2795);yb(g);sb(j);Za(v[k+12>>2]);break j}f=v[k+12>>2];c=v[f+16>>2];l:{m:{n:{e=v[f+20>>2];if((e|0)!=3){if((c|0)==3){c=v[f+24>>2];if(v[c>>2]!=v[c+4>>2]|v[c+52>>2]==1){break n}v[f+20>>2]=3;$b(f);break l}if(c>>>0>2){break n}break m}if(c>>>0<3){break m}$b(f);break l}if(!(v[k+8220>>2]==14|(e|0)!=5)){e=pa-16|0;pa=e;o:{p:{q:{if(y[f+16>>2]<4){break q}c=v[f+24>>2];d=v[c>>2];if((d|0)!=v[c+52>>2]|(d|0)!=v[c+104>>2]|(d|0)!=v[c+156>>2]){break q}d=v[c+4>>2];if((d|0)!=v[c+56>>2]|(d|0)!=v[c+108>>2]){break q}if((d|0)==v[c+160>>2]){break p}}v[e+4>>2]=619;v[e>>2]=1505;Na(v[6776],9186,e);break o}l=B(v[c+12>>2],v[c+8>>2]);r:{if(!l){d=v[c+200>>2];break r}z=C(C(1)/C(-1<>2]^-1));A=C(C(1)/C(-1<>2]^-1));q=C(C(1)/C(-1<>2]^-1));J=C(C(1)/C(-1<>2]^-1));d=v[c+200>>2];m=v[c+148>>2];r=v[c+96>>2];h=v[c+44>>2];while(1){c=i<<2;s=c+h|0;o=C(C(1)-C(A*C(v[c+d>>2])));E=C(C(C(C(1)-C(z*C(v[s>>2])))*C(255))*o);s:{if(C(D(E))>2];c=c+r|0;H=v[c>>2];v[s>>2]=n;E=C(C(C(C(1)-C(J*C(H|0)))*C(255))*o);t:{if(C(D(E))>2]=n;o=C(C(C(C(1)-C(q*C(G|0)))*C(255))*o);u:{if(C(D(o))>2]=c;i=i+1|0;if((l|0)!=(i|0)){continue}break}}Fa(d);c=v[f+24>>2];v[c+24>>2]=8;v[c+128>>2]=8;v[c+76>>2]=8;v[c+200>>2]=0;v[f+20>>2]=1;c=v[f+16>>2]-1|0;v[f+16>>2]=c;if(c>>>0<4){break o}i=3;while(1){c=v[f+24>>2]+B(i,52)|0;v[c+48>>2]=v[c+100>>2];d=v[c+96>>2];v[c+40>>2]=v[c+92>>2];v[c+44>>2]=d;d=v[c+88>>2];v[c+32>>2]=v[c+84>>2];v[c+36>>2]=d;d=v[c+80>>2];v[c+24>>2]=v[c+76>>2];v[c+28>>2]=d;d=v[c+72>>2];v[c+16>>2]=v[c+68>>2];v[c+20>>2]=d;d=v[c+64>>2];v[c+8>>2]=v[c+60>>2];v[c+12>>2]=d;d=v[c+56>>2];v[c>>2]=v[c+52>>2];v[c+4>>2]=d;i=i+1|0;if(i>>>0>2]){continue}break}}pa=e+16|0;break l}if((e|0)!=4){break l}i=pa-16|0;pa=i;v:{w:{x:{if(y[f+16>>2]<3){break x}c=v[f+24>>2];e=v[c>>2];if((e|0)!=v[c+52>>2]|(e|0)!=v[c+104>>2]){break x}e=v[c+4>>2];if((e|0)!=v[c+56>>2]){break x}if((e|0)==v[c+108>>2]){break w}}v[i+4>>2]=680;v[i>>2]=1505;Na(v[6776],9228,i);break v}l=B(v[c+12>>2],v[c+8>>2]);if(l){e=v[c+24>>2];d=-1<>2]?0:e;r=v[c+84>>2]?0:e;h=v[c+148>>2];s=v[c+96>>2];n=v[c+44>>2];e=0;while(1){c=e<<2;F=c+h|0;o=C(v[F>>2]-m|0);G=c+s|0;z=C(v[G>>2]-r|0);H=c+n|0;A=C(v[H>>2]);q=C(C(C(o*C(1.4019900560379028))+C(C(z*C(-3680000008898787e-20))+A))+C(.5));y:{if(C(D(q))>2]=(c|0)>(d|0)?d:(c|0)>0?c:0;q=C(C(C(o*C(-.7141128182411194))+C(C(A*C(1.0003000497817993))+C(z*C(-.34412500262260437))))+C(.5));z:{if(C(D(q))>2]=(c|0)>(d|0)?d:(c|0)>0?c:0;o=C(C(C(o*C(-7999999979801942e-21))+C(C(A*C(.9998229742050171))+C(z*C(1.7720400094985962))))+C(.5));A:{if(C(D(o))>2]=(c|0)>(d|0)?d:(c|0)>0?c:0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}v[f+20>>2]=1}pa=i+16|0;break l}v[f+20>>2]=2}c=v[k+12>>2];u[a+24>>1]=v[c+8>>2];u[a+26>>1]=v[c+12>>2];t[a+29|0]=v[c+16>>2];i=0;e=v[c+24>>2];t[a+30|0]=v[e+32>>2]!=0;t[a+28|0]=v[e+24>>2];v[a+80>>2]=v[c+20>>2];v[a+44>>2]=v[c>>2];v[a+48>>2]=v[c+4>>2];if(g){c=ta[v[g+84>>2]](v[g+48>>2])|0}else{c=0}v[a+76>>2]=v[c+40>>2];v[a+40>>2]=v[c+36>>2];e=v[c+48>>2];t[a+36|0]=v[e+24>>2]==1;v[a+68>>2]=1<>2];v[a+72>>2]=1<>2];v[a+60>>2]=v[c>>2];v[a- -64>>2]=v[c+4>>2];v[a+52>>2]=v[c+8>>2];v[a+56>>2]=v[c+12>>2];v[a+32>>2]=v[e+8>>2]-1;d=x[a+26>>1];e=x[a+24>>1];B:{if(!b){break B}f=b&3;C:{if(!f){c=b;break C}c=b;while(1){c=c-1|0;d=d+1>>>1|0;e=e+1>>>1|0;i=i+1|0;if((f|0)!=(i|0)){continue}break}}if(b>>>0<4){break B}while(1){d=(((d+1>>>1|0)+1>>>1|0)+1>>>1|0)+1>>>1|0;e=(((e+1>>>1|0)+1>>>1|0)+1>>>1|0)+1>>>1|0;c=c-4|0;if(c){continue}break}}s=w[a+28|0]+7>>>3|0;b=B(s,B(w[a+29|0],B(e,d)));l=v[a+16>>2];c=v[a+12>>2];f=l-c|0;D:{if(b>>>0>f>>>0){i=b-f|0;m=v[a+20>>2];if(i>>>0<=m-l>>>0){K=a,L=Ka(l,0,i)+i|0,v[K+16>>2]=L;break D}if((b|0)<0){break h}l=m-c|0;m=l<<1;l=l>>>0>=1073741823?2147483647:b>>>0>>0?m:b;m=La(l);Ka(m+f|0,0,i);f=wc(m,c,f);v[a+20>>2]=f+l;v[a+16>>2]=b+f;v[a+12>>2]=f;if(!c){break D}Fa(c);break D}if(b>>>0>=f>>>0){break D}v[a+16>>2]=b+c}if(d){l=e&-2;m=e&1;r=e-1|0;while(1){c=w[a+29|0];f=B(e,I);b=B(c,B(f,s));E:{if((c|0)==1){f=v[v[v[k+12>>2]+24>>2]+44>>2]+(f<<2)|0;if(w[a+28|0]<=8){if(!e){break E}i=b+v[a+12>>2]|0;c=0;b=0;if(r){while(1){h=v[f+(c<<2)>>2];h=(h|0)>=255?255:h;t[c+i|0]=(h|0)>0?h:0;n=c|1;h=v[f+(n<<2)>>2];h=(h|0)>=255?255:h;t[i+n|0]=(h|0)>0?h:0;c=c+2|0;b=b+2|0;if((l|0)!=(b|0)){continue}break}}if(!m){break E}b=v[f+(c<<2)>>2];b=(b|0)>=255?255:b;t[c+i|0]=(b|0)>0?b:0;break E}i=b+v[a+12>>2]|0;if(w[a+30|0]){if(!e){break E}c=0;b=0;if(r){while(1){h=v[f+(c<<2)>>2];h=(h|0)>=32767?32767:h;u[i+(c<<1)>>1]=(h|0)<=-32768?-32768:h;n=c|1;h=v[f+(n<<2)>>2];h=(h|0)>=32767?32767:h;u[i+(n<<1)>>1]=(h|0)<=-32768?-32768:h;c=c+2|0;b=b+2|0;if((l|0)!=(b|0)){continue}break}}if(!m){break E}b=v[f+(c<<2)>>2];b=(b|0)>=32767?32767:b;u[i+(c<<1)>>1]=(b|0)<=-32768?-32768:b;break E}if(!e){break E}c=0;b=0;if(r){while(1){h=v[f+(c<<2)>>2];h=(h|0)>=65535?65535:h;u[i+(c<<1)>>1]=(h|0)>0?h:0;n=c|1;h=v[f+(n<<2)>>2];h=(h|0)>=65535?65535:h;u[i+(n<<1)>>1]=(h|0)>0?h:0;c=c+2|0;b=b+2|0;if((l|0)!=(b|0)){continue}break}}if(!m){break E}b=v[f+(c<<2)>>2];b=(b|0)>=65535?65535:b;u[i+(c<<1)>>1]=(b|0)>0?b:0;break E}if(!e|w[a+28|0]>8){break E}h=b+v[a+12>>2]|0;c=0;while(1){b=h+B(c,3)|0;i=c+f<<2;t[b|0]=v[i+v[v[v[k+12>>2]+24>>2]+44>>2]>>2];t[b+1|0]=v[i+v[v[v[k+12>>2]+24>>2]+96>>2]>>2];t[b+2|0]=v[i+v[v[v[k+12>>2]+24>>2]+148>>2]>>2];c=c+1|0;if((e|0)!=(c|0)){continue}break}}I=I+1|0;if((I|0)!=(d|0)){continue}break}}sb(j);yb(g);Za(v[k+12>>2])}pa=k+8272|0;return}cc();p()}function yc(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;s=v[a>>2];a:{if(s>>>0>>0|b>>>0>=d>>>0|(b>>>0>=s>>>0|c>>>0>=e>>>0)){break a}s=v[a+4>>2];if(s>>>0<=c>>>0|e>>>0>s>>>0){break a}G=(c>>>0)/y[a+12>>2]|0;r=v[a+8>>2];H=(b>>>0)/(r>>>0)|0;D=c;while(1){s=v[a+12>>2];j=s;j=(c|0)==(D|0)?j-((c>>>0)%(j>>>0)|0)|0:j;A=e-D|0;q=j>>>0>>0?j:A;E=q&-4;w=q&3;K=q&-8;I=q&7;C=q-1|0;L=(g|0)==2&(q|0)==1;J=B(s-j|0,r);F=(B(D-c|0,h)<<2)+f|0;A=H;s=b;while(1){j=(b|0)==(s|0)?(B(r,H)-b|0)+r|0:r;k=d-s|0;p=j>>>0>>0?j:k;k=r-j|0;j=v[v[a+24>>2]+(B(v[a+16>>2],G)+A<<2)>>2];b:{c:{if(i){d:{e:{f:{g:{if(j){k=((J<<2)+j|0)+(k<<2)|0;j=s-b|0;if((g|0)==1){break d}l=(B(g,j)<<2)+F|0;if((p|0)==1){break e}if(L){break f}if((g|0)!=8|p>>>0<=7){break g}if(!q){break b}o=p&-4;n=0;while(1){j=0;if(o){while(1){v[(j<<5)+l>>2]=v[(j<<2)+k>>2];m=j|1;v[(m<<5)+l>>2]=v[(m<<2)+k>>2];m=j|2;v[(m<<5)+l>>2]=v[(m<<2)+k>>2];m=j|3;v[(m<<5)+l>>2]=v[(m<<2)+k>>2];j=j+4|0;if(o>>>0>j>>>0){continue}break}}h:{if(j>>>0>=p>>>0){break h}u=(j^-1)+p|0;m=0;x=p-j&3;if(x){while(1){v[(j<<5)+l>>2]=v[(j<<2)+k>>2];j=j+1|0;m=m+1|0;if((x|0)!=(m|0)){continue}break}}if(u>>>0<3){break h}while(1){v[(j<<5)+l>>2]=v[(j<<2)+k>>2];m=j+1|0;v[(m<<5)+l>>2]=v[(m<<2)+k>>2];m=j+2|0;v[(m<<5)+l>>2]=v[(m<<2)+k>>2];m=j+3|0;v[(m<<5)+l>>2]=v[(m<<2)+k>>2];j=j+4|0;if((p|0)!=(j|0)){continue}break}}k=(r<<2)+k|0;l=(h<<2)+l|0;n=n+1|0;if((q|0)!=(n|0)){continue}break}break b}if((g|0)!=1){if(!q){break b}u=p&-4;o=p&3;k=(B(s-b|0,g)<<2)+F|0;n=0;while(1){i:{if(!p){break i}l=0;j=0;m=0;if(p>>>0>=4){while(1){v[(B(g,j)<<2)+k>>2]=0;v[(B(j|1,g)<<2)+k>>2]=0;v[(B(j|2,g)<<2)+k>>2]=0;v[(B(j|3,g)<<2)+k>>2]=0;j=j+4|0;m=m+4|0;if((u|0)!=(m|0)){continue}break}}if(!o){break i}while(1){v[(B(g,j)<<2)+k>>2]=0;j=j+1|0;l=l+1|0;if((o|0)!=(l|0)){continue}break}}k=(h<<2)+k|0;n=n+1|0;if((q|0)!=(n|0)){continue}break}break b}if(!q){break b}j=p<<2;k=(s-b<<2)+F|0;l=0;if(C>>>0>=7){while(1){t=Ka(k,0,j);k=h<<2;k=Ka(Ka(Ka(Ka(Ka(Ka(Ka(t+k|0,0,j)+k|0,0,j)+k|0,0,j)+k|0,0,j)+k|0,0,j)+k|0,0,j)+k|0,0,j)+k|0;l=l+8|0;if((K|0)!=(l|0)){continue}break}}l=0;if(!I){break b}while(1){k=Ka(k,0,j)+(h<<2)|0;l=l+1|0;if((I|0)!=(l|0)){continue}break}break b}if(!q){break b}x=p&-4;u=p&3;z=p-1|0;o=0;break c}j=0;m=p&-4;if(m){while(1){v[(j<<3)+l>>2]=v[(j<<2)+k>>2];n=j|1;v[(n<<3)+l>>2]=v[(n<<2)+k>>2];n=j|2;v[(n<<3)+l>>2]=v[(n<<2)+k>>2];n=j|3;v[(n<<3)+l>>2]=v[(n<<2)+k>>2];j=j+4|0;if(m>>>0>j>>>0){continue}break}}if(j>>>0>=p>>>0){break b}n=(j^-1)+p|0;m=0;o=p-j&3;if(o){while(1){v[(j<<3)+l>>2]=v[(j<<2)+k>>2];j=j+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}if(n>>>0<3){break b}while(1){v[(j<<3)+l>>2]=v[(j<<2)+k>>2];m=j+1|0;v[(m<<3)+l>>2]=v[(m<<2)+k>>2];m=j+2|0;v[(m<<3)+l>>2]=v[(m<<2)+k>>2];m=j+3|0;v[(m<<3)+l>>2]=v[(m<<2)+k>>2];j=j+4|0;if((p|0)!=(j|0)){continue}break}break b}if(!q){break b}m=0;if(C>>>0>=3){while(1){v[l>>2]=v[k>>2];j=h<<2;l=j+l|0;t=k;k=r<<2;n=t+k|0;v[l>>2]=v[n>>2];l=j+l|0;n=k+n|0;v[l>>2]=v[n>>2];l=j+l|0;n=k+n|0;v[l>>2]=v[n>>2];k=k+n|0;l=j+l|0;m=m+4|0;if((E|0)!=(m|0)){continue}break}}j=0;if(!w){break b}while(1){v[l>>2]=v[k>>2];k=(r<<2)+k|0;l=(h<<2)+l|0;j=j+1|0;if((w|0)!=(j|0)){continue}break}break b}j=(j<<2)+F|0;if((p|0)!=4){if(!q){break b}l=p<<2;m=0;if(C>>>0>=3){while(1){o=Ha(j,k,l);j=r<<2;n=j+k|0;u=j+n|0;x=u+j|0;k=x+j|0;j=h<<2;j=Ha(Ha(Ha(j+o|0,n,l)+j|0,u,l)+j|0,x,l)+j|0;m=m+4|0;if((E|0)!=(m|0)){continue}break}}m=0;if(!w){break b}while(1){j=Ha(j,k,l);k=(r<<2)+k|0;j=j+(h<<2)|0;m=m+1|0;if((w|0)!=(m|0)){continue}break}break b}if(!q){break b}n=0;if(C>>>0>=3){while(1){l=v[k+4>>2];v[j>>2]=v[k>>2];v[j+4>>2]=l;l=v[k+12>>2];v[j+8>>2]=v[k+8>>2];v[j+12>>2]=l;m=r<<2;k=m+k|0;o=v[k+12>>2];l=h<<2;j=l+j|0;v[j+8>>2]=v[k+8>>2];v[j+12>>2]=o;o=v[k+4>>2];v[j>>2]=v[k>>2];v[j+4>>2]=o;k=k+m|0;o=v[k+12>>2];j=j+l|0;v[j+8>>2]=v[k+8>>2];v[j+12>>2]=o;o=v[k+4>>2];v[j>>2]=v[k>>2];v[j+4>>2]=o;k=k+m|0;o=v[k+12>>2];j=j+l|0;v[j+8>>2]=v[k+8>>2];v[j+12>>2]=o;o=v[k+4>>2];v[j>>2]=v[k>>2];v[j+4>>2]=o;k=k+m|0;j=j+l|0;n=n+4|0;if((E|0)!=(n|0)){continue}break}}l=0;if(!w){break b}while(1){m=v[k+4>>2];v[j>>2]=v[k>>2];v[j+4>>2]=m;m=v[k+12>>2];v[j+8>>2]=v[k+8>>2];v[j+12>>2]=m;k=(r<<2)+k|0;j=(h<<2)+j|0;l=l+1|0;if((w|0)!=(l|0)){continue}break}break b}if(!j){j=Ia(1,B(v[a+8>>2],v[a+12>>2])<<2);if(!j){return 0}v[v[a+24>>2]+(B(v[a+16>>2],G)+A<<2)>>2]=j}k=((J<<2)+j|0)+(k<<2)|0;j=s-b|0;j:{k:{l:{m:{if((g|0)!=1){l=(B(g,j)<<2)+F|0;if((p|0)==1){break m}if((g|0)!=8|p>>>0<=7){break l}if(!q){break b}o=p&-4;n=0;while(1){j=0;if(o){while(1){v[(j<<2)+k>>2]=v[(j<<5)+l>>2];m=j|1;v[(m<<2)+k>>2]=v[(m<<5)+l>>2];m=j|2;v[(m<<2)+k>>2]=v[(m<<5)+l>>2];m=j|3;v[(m<<2)+k>>2]=v[(m<<5)+l>>2];j=j+4|0;if(o>>>0>j>>>0){continue}break}}n:{if(j>>>0>=p>>>0){break n}u=(j^-1)+p|0;m=0;x=p-j&3;if(x){while(1){v[(j<<2)+k>>2]=v[(j<<5)+l>>2];j=j+1|0;m=m+1|0;if((x|0)!=(m|0)){continue}break}}if(u>>>0<3){break n}while(1){v[(j<<2)+k>>2]=v[(j<<5)+l>>2];m=j+1|0;v[(m<<2)+k>>2]=v[(m<<5)+l>>2];m=j+2|0;v[(m<<2)+k>>2]=v[(m<<5)+l>>2];m=j+3|0;v[(m<<2)+k>>2]=v[(m<<5)+l>>2];j=j+4|0;if((p|0)!=(j|0)){continue}break}}k=(r<<2)+k|0;l=(h<<2)+l|0;n=n+1|0;if((q|0)!=(n|0)){continue}break}break b}j=(j<<2)+F|0;if((p|0)==4){break k}if(!q){break b}l=p<<2;m=0;if(C>>>0>=3){while(1){k=Ha(k,j,l);t=j;j=h<<2;n=t+j|0;o=j+n|0;u=o+j|0;j=u+j|0;t=k;k=r<<2;k=Ha(Ha(Ha(t+k|0,n,l)+k|0,o,l)+k|0,u,l)+k|0;m=m+4|0;if((E|0)!=(m|0)){continue}break}}m=0;if(!w){break b}while(1){k=Ha(k,j,l);j=(h<<2)+j|0;k=k+(r<<2)|0;m=m+1|0;if((w|0)!=(m|0)){continue}break}break b}if(!q){break b}n=0;if(C>>>0>=3){while(1){v[k>>2]=v[l>>2];j=r<<2;k=j+k|0;t=l;l=h<<2;m=t+l|0;v[k>>2]=v[m>>2];k=j+k|0;m=l+m|0;v[k>>2]=v[m>>2];k=j+k|0;m=l+m|0;v[k>>2]=v[m>>2];k=j+k|0;l=l+m|0;n=n+4|0;if((E|0)!=(n|0)){continue}break}}j=0;if(!w){break b}while(1){v[k>>2]=v[l>>2];k=(r<<2)+k|0;l=(h<<2)+l|0;j=j+1|0;if((w|0)!=(j|0)){continue}break}break b}if(!q){break b}x=p&-4;u=p&3;o=0;break j}if(!q){break b}n=0;if(C>>>0>=3){while(1){l=v[j+4>>2];v[k>>2]=v[j>>2];v[k+4>>2]=l;l=v[j+12>>2];v[k+8>>2]=v[j+8>>2];v[k+12>>2]=l;m=h<<2;j=m+j|0;o=v[j+12>>2];l=r<<2;k=l+k|0;v[k+8>>2]=v[j+8>>2];v[k+12>>2]=o;o=v[j+4>>2];v[k>>2]=v[j>>2];v[k+4>>2]=o;j=j+m|0;o=v[j+12>>2];k=k+l|0;v[k+8>>2]=v[j+8>>2];v[k+12>>2]=o;o=v[j+4>>2];v[k>>2]=v[j>>2];v[k+4>>2]=o;j=j+m|0;o=v[j+12>>2];k=k+l|0;v[k+8>>2]=v[j+8>>2];v[k+12>>2]=o;o=v[j+4>>2];v[k>>2]=v[j>>2];v[k+4>>2]=o;j=j+m|0;k=k+l|0;n=n+4|0;if((E|0)!=(n|0)){continue}break}}l=0;if(!w){break b}while(1){m=v[j+4>>2];v[k>>2]=v[j>>2];v[k+4>>2]=m;m=v[j+12>>2];v[k+8>>2]=v[j+8>>2];v[k+12>>2]=m;j=(h<<2)+j|0;k=(r<<2)+k|0;l=l+1|0;if((w|0)!=(l|0)){continue}break}break b}while(1){o:{if(!p){break o}m=0;j=0;n=0;if(p>>>0>=4){while(1){v[(j<<2)+k>>2]=v[(B(g,j)<<2)+l>>2];z=j|1;v[(z<<2)+k>>2]=v[(B(g,z)<<2)+l>>2];z=j|2;v[(z<<2)+k>>2]=v[(B(g,z)<<2)+l>>2];z=j|3;v[(z<<2)+k>>2]=v[(B(g,z)<<2)+l>>2];j=j+4|0;n=n+4|0;if((x|0)!=(n|0)){continue}break}}if(!u){break o}while(1){v[(j<<2)+k>>2]=v[(B(g,j)<<2)+l>>2];j=j+1|0;m=m+1|0;if((u|0)!=(m|0)){continue}break}}k=(r<<2)+k|0;l=(h<<2)+l|0;o=o+1|0;if((o|0)!=(q|0)){continue}break}break b}while(1){p:{if(!p){break p}m=0;j=0;n=0;if(z>>>0>=3){while(1){v[(B(g,j)<<2)+l>>2]=v[(j<<2)+k>>2];t=j|1;v[(B(t,g)<<2)+l>>2]=v[(t<<2)+k>>2];t=j|2;v[(B(t,g)<<2)+l>>2]=v[(t<<2)+k>>2];t=j|3;v[(B(t,g)<<2)+l>>2]=v[(t<<2)+k>>2];j=j+4|0;n=n+4|0;if((x|0)!=(n|0)){continue}break}}if(!u){break p}while(1){v[(B(g,j)<<2)+l>>2]=v[(j<<2)+k>>2];j=j+1|0;m=m+1|0;if((u|0)!=(m|0)){continue}break}}k=(r<<2)+k|0;l=(h<<2)+l|0;o=o+1|0;if((o|0)!=(q|0)){continue}break}}A=A+1|0;s=p+s|0;if(s>>>0>>0){continue}break}G=G+1|0;D=q+D|0;if(D>>>0>>0){continue}break}}return 1}function ue(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,u=0,x=0,y=0,z=0,A=0,C=0,E=0,F=0,G=0,H=0;n=pa-560|0;pa=n;v[n+44>>2]=0;o(+b);g=j(1)|0;j(0)|0;a:{if((g|0)<0){x=1;E=1100;b=-b;o(+b);g=j(1)|0;j(0)|0;break a}if(e&2048){x=1;E=1103;break a}x=e&1;E=x?1106:1101;F=!x}b:{if((g&2146435072)==2146435072){g=x+3|0;Ta(a,32,c,g,e&-65537);Ra(a,E,x);d=f&32;Ra(a,b!=b?d?1601:1979:d?1836:1983,3);Ta(a,32,c,g,e^8192);p=(c|0)<(g|0)?g:c;break b}z=n+16|0;c:{d:{e:{b=sc(b,n+44|0);b=b+b;if(b!=0){g=v[n+44>>2];v[n+44>>2]=g-1;A=f|32;if((A|0)!=97){break e}break c}A=f|32;if((A|0)==97){break c}l=v[n+44>>2];m=(d|0)<0?6:d;break d}l=g-29|0;v[n+44>>2]=l;b=b*268435456;m=(d|0)<0?6:d}s=(n+48|0)+((l|0)>=0?288:0)|0;h=s;while(1){if(b<4294967296&b>=0){d=~~b>>>0}else{d=0}v[h>>2]=d;h=h+4|0;b=(b-+(d>>>0))*1e9;if(b!=0){continue}break}f:{if((l|0)<=0){d=l;g=h;i=s;break f}i=s;d=l;while(1){q=(d|0)>=29?29:d;g=h-4|0;g:{if(i>>>0>g>>>0){break g}d=0;while(1){k=v[g>>2];C=d;d=q&31;if((q&63)>>>0>=32){p=k<>>32-d;d=k<>>0>C>>>0?k+1|0:k,1e9,0);G=g,H=C-Qf(d,sa,1e9,0)|0,v[G>>2]=H;g=g-4|0;if(i>>>0<=g>>>0){continue}break}if(!d){break g}i=i-4|0;v[i>>2]=d}while(1){g=h;if(i>>>0>>0){h=g-4|0;if(!v[h>>2]){continue}}break}d=v[n+44>>2]-q|0;v[n+44>>2]=d;h=g;if((d|0)>0){continue}break}}if((d|0)<0){y=((m+25>>>0)/9|0)+1|0;r=(A|0)==102;while(1){d=0-d|0;p=(d|0)>=9?9:d;h:{if(g>>>0<=i>>>0){h=v[i>>2];break h}q=1e9>>>p|0;k=-1<>2];v[h>>2]=C+(d>>>p|0);d=B(q,d&k);h=h+4|0;if(h>>>0>>0){continue}break}h=v[i>>2];if(!d){break h}v[g>>2]=d;g=g+4|0}d=p+v[n+44>>2]|0;v[n+44>>2]=d;i=(!h<<2)+i|0;h=r?s:i;g=g-h>>2>(y|0)?h+(y<<2)|0:g;if((d|0)<0){continue}break}}d=0;i:{if(g>>>0<=i>>>0){break i}d=B(s-i>>2,9);h=10;k=v[i>>2];if(k>>>0<10){break i}while(1){d=d+1|0;h=B(h,10);if(k>>>0>=h>>>0){continue}break}}h=(m-((A|0)!=102?d:0)|0)-((A|0)==103&(m|0)!=0)|0;if((h|0)<(B(g-s>>2,9)-9|0)){q=h+9216|0;k=(q|0)/9|0;l=((((l|0)<0?4:292)+n|0)+(k<<2)|0)-4048|0;h=10;p=q-B(k,9)|0;if((p|0)<=7){while(1){h=B(h,10);p=p+1|0;if((p|0)!=8){continue}break}}q=v[l>>2];y=(q>>>0)/(h>>>0)|0;r=q-B(h,y)|0;k=l+4|0;j:{if(!r&(k|0)==(g|0)){break j}k:{if(!(y&1)){b=9007199254740992;if(!(t[l-4|0]&1)|((h|0)!=1e9|i>>>0>=l>>>0)){break k}}b=9007199254740994}u=(g|0)==(k|0)?1:1.5;k=h>>>1|0;u=k>>>0>r>>>0?.5:(k|0)==(r|0)?u:1.5;if(!(w[E|0]!=45|F)){u=-u;b=-b}k=q-r|0;v[l>>2]=k;if(b+u==b){break j}d=h+k|0;v[l>>2]=d;if(d>>>0>=1e9){while(1){v[l>>2]=0;l=l-4|0;if(l>>>0>>0){i=i-4|0;v[i>>2]=0}d=v[l>>2]+1|0;v[l>>2]=d;if(d>>>0>999999999){continue}break}}d=B(s-i>>2,9);h=10;k=v[i>>2];if(k>>>0<10){break j}while(1){d=d+1|0;h=B(h,10);if(k>>>0>=h>>>0){continue}break}}h=l+4|0;g=g>>>0>h>>>0?h:g}while(1){k=g;q=g>>>0<=i>>>0;if(!q){g=k-4|0;if(!v[g>>2]){continue}}break}l:{if((A|0)!=103){l=e&8;break l}h=m?m:1;g=(h|0)>(d|0)&(d|0)>-5;m=(g?d^-1:-1)+h|0;f=(g?-1:-2)+f|0;l=e&8;if(l){break l}g=-9;m:{if(q){break m}l=v[k-4>>2];if(!l){break m}p=10;g=0;if((l>>>0)%10|0){break m}while(1){h=g;g=g+1|0;p=B(p,10);if(!((l>>>0)%(p>>>0)|0)){continue}break}g=h^-1}h=B(k-s>>2,9);if((f&-33)==70){l=0;g=(g+h|0)-9|0;g=(g|0)>0?g:0;m=(g|0)>(m|0)?m:g;break l}l=0;g=((d+h|0)+g|0)-9|0;g=(g|0)>0?g:0;m=(g|0)>(m|0)?m:g}p=-1;q=l|m;if(((q?2147483645:2147483646)|0)<(m|0)){break b}r=(((q|0)!=0)+m|0)+1|0;h=f&-33;n:{if((h|0)==70){if((r^2147483647)<(d|0)){break b}g=(d|0)>0?d:0;break n}g=d>>31;g=fb((g^d)-g|0,0,z);if((z-g|0)<=1){while(1){g=g-1|0;t[g|0]=48;if((z-g|0)<2){continue}break}}y=g-2|0;t[y|0]=f;t[g-1|0]=(d|0)<0?45:43;g=z-y|0;if((g|0)>(r^2147483647)){break b}}d=g+r|0;if((d|0)>(x^2147483647)){break b}r=d+x|0;Ta(a,32,c,r,e);Ra(a,E,x);Ta(a,48,c,r,e^65536);o:{p:{q:{if((h|0)==70){f=n+16|0;d=f|8;l=f|9;h=i>>>0>s>>>0?s:i;i=h;while(1){g=fb(v[i>>2],0,l);r:{if((h|0)!=(i|0)){if(n+16>>>0>=g>>>0){break r}while(1){g=g-1|0;t[g|0]=48;if(n+16>>>0>>0){continue}break}break r}if((g|0)!=(l|0)){break r}t[n+24|0]=48;g=d}Ra(a,g,l-g|0);i=i+4|0;if(s>>>0>=i>>>0){continue}break}if(q){Ra(a,2727,1)}if((m|0)<=0|i>>>0>=k>>>0){break q}while(1){g=fb(v[i>>2],0,l);if(g>>>0>n+16>>>0){while(1){g=g-1|0;t[g|0]=48;if(n+16>>>0>>0){continue}break}}Ra(a,g,(m|0)>=9?9:m);g=m-9|0;i=i+4|0;if(k>>>0<=i>>>0){break p}d=(m|0)>9;m=g;if(d){continue}break}break p}s:{if((m|0)<0){break s}s=i>>>0>>0?k:i+4|0;f=n+16|0;d=f|8;k=f|9;h=i;while(1){g=fb(v[h>>2],0,k);if((k|0)==(g|0)){t[n+24|0]=48;g=d}t:{if((h|0)!=(i|0)){if(n+16>>>0>=g>>>0){break t}while(1){g=g-1|0;t[g|0]=48;if(n+16>>>0>>0){continue}break}break t}Ra(a,g,1);g=g+1|0;if(!(l|m)){break t}Ra(a,2727,1)}f=k-g|0;Ra(a,g,(f|0)>(m|0)?m:f);m=m-f|0;h=h+4|0;if(s>>>0<=h>>>0){break s}if((m|0)>=0){continue}break}}Ta(a,48,m+18|0,18,0);Ra(a,y,z-y|0);break o}g=m}Ta(a,48,g+9|0,9,0)}Ta(a,32,c,r,e^8192);p=(c|0)<(r|0)?r:c;break b}l=(f<<26>>31&9)+E|0;u:{if(d>>>0>11){break u}g=12-d|0;u=16;while(1){u=u*16;g=g-1|0;if(g){continue}break}if(w[l|0]==45){b=-(u+(-b-u));break u}b=b+u-u}g=v[n+44>>2];h=g>>31;g=fb((g^h)-h|0,0,z);if((z|0)==(g|0)){t[n+15|0]=48;g=n+15|0}s=x|2;i=f&32;h=v[n+44>>2];m=g-2|0;t[m|0]=f+15;t[g-1|0]=(h|0)<0?45:43;g=e&8;h=n+16|0;while(1){f=h;if(D(b)<2147483648){k=~~b}else{k=-2147483648}t[h|0]=i|w[k+28096|0];b=(b-+(k|0))*16;h=f+1|0;if(!(!((d|0)>0|g)&b==0|(h-(n+16|0)|0)!=1)){t[f+1|0]=46;h=f+2|0}if(b!=0){continue}break}p=-1;g=z-m|0;f=g+s|0;if((2147483645-f|0)<(d|0)){break b}v:{w:{if(!d){break w}i=h-(n+16|0)|0;if((i-2|0)>=(d|0)){break w}d=d+2|0;break v}i=h-(n+16|0)|0;d=i}f=d+f|0;Ta(a,32,c,f,e);Ra(a,l,s);Ta(a,48,c,f,e^65536);Ra(a,n+16|0,i);Ta(a,48,d-i|0,0,0);Ra(a,m,g);Ta(a,32,c,f,e^8192);p=(c|0)<(f|0)?f:c}pa=n+560|0;return p|0}function qc(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,x=0,y=0,z=0,C=0,D=0,E=0,F=0,G=0;j=pa-80|0;pa=j;v[j+76>>2]=b;E=j+55|0;x=j+56|0;a:{b:{c:{d:{e:while(1){k=b;if((q^2147483647)<(h|0)){break d}q=h+q|0;f:{g:{h:{h=k;i=w[h|0];if(i){while(1){i:{b=i&255;j:{if(!b){b=h;break j}if((b|0)!=37){break i}i=h;while(1){if(w[i+1|0]!=37){b=i;break j}h=h+1|0;m=w[i+2|0];b=i+2|0;i=b;if((m|0)==37){continue}break}}h=h-k|0;D=q^2147483647;if((h|0)>(D|0)){break d}if(a){Ra(a,k,h)}if(h){continue e}v[j+76>>2]=b;h=b+1|0;r=-1;if(!(w[b+2|0]!=36|t[b+1|0]-48>>>0>=10)){r=t[b+1|0]-48|0;y=1;h=b+3|0}v[j+76>>2]=h;o=0;i=t[h|0];b=i-32|0;k:{if(b>>>0>31){n=h;break k}n=h;b=1<>2]=n;o=b|o;i=t[h+1|0];b=i-32|0;if(b>>>0>=32){break k}h=n;b=1<>>0>=10)){v[((t[n+1|0]<<2)+e|0)-192>>2]=10;i=n+3|0;y=1;b=v[((t[n+1|0]<<3)+d|0)-384>>2];break m}if(y){break h}i=n+1|0;if(!a){v[j+76>>2]=i;y=0;s=0;break l}b=v[c>>2];v[c>>2]=b+4;y=0;b=v[b>>2]}v[j+76>>2]=i;s=b;if((b|0)>=0){break l}s=0-s|0;o=o|8192;break l}s=pc(j+76|0);if((s|0)<0){break d}i=v[j+76>>2]}h=0;l=-1;n:{if(w[i|0]!=46){b=i;C=0;break n}if(w[i+1|0]==42){o:{if(!(w[i+3|0]!=36|t[i+2|0]-48>>>0>=10)){v[((t[i+2|0]<<2)+e|0)-192>>2]=10;b=i+4|0;l=v[((t[i+2|0]<<3)+d|0)-384>>2];break o}if(y){break h}b=i+2|0;l=0;if(!a){break o}i=v[c>>2];v[c>>2]=i+4;l=v[i>>2]}v[j+76>>2]=b;C=(l^-1)>>>31|0;break n}v[j+76>>2]=i+1;l=pc(j+76|0);b=v[j+76>>2];C=1}while(1){p=h;n=28;m=b;h=t[b|0];if(h-123>>>0<4294967238){break c}b=m+1|0;h=w[(h+B(p,58)|0)+27567|0];if(h-1>>>0<8){continue}break}v[j+76>>2]=b;p:{q:{if((h|0)!=27){if(!h){break c}if((r|0)>=0){v[(r<<2)+e>>2]=h;i=(r<<3)+d|0;h=v[i+4>>2];v[j+64>>2]=v[i>>2];v[j+68>>2]=h;break q}if(!a){break f}oc(j- -64|0,h,c,g);break p}if((r|0)>=0){break c}}h=0;if(!a){continue e}}i=o&-65537;o=o&8192?i:o;r=0;z=1090;n=x;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{h=t[m|0];h=p?(h&15)==3?h&-33:h:h;switch(h-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break g;default:break G}}H:{switch(h-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break g;default:break H}}if((h|0)==83){break w}break g}i=v[j+64>>2];m=v[j+68>>2];z=1090;break z}h=0;I:{switch(p&255){case 0:v[v[j+64>>2]>>2]=q;continue e;case 1:v[v[j+64>>2]>>2]=q;continue e;case 2:k=v[j+64>>2];v[k>>2]=q;v[k+4>>2]=q>>31;continue e;case 3:u[v[j+64>>2]>>1]=q;continue e;case 4:t[v[j+64>>2]]=q;continue e;case 6:v[v[j+64>>2]>>2]=q;continue e;case 7:break I;default:continue e}}k=v[j+64>>2];v[k>>2]=q;v[k+4>>2]=q>>31;continue e}l=l>>>0<=8?8:l;o=o|8;h=120}k=x;i=v[j+64>>2];m=v[j+68>>2];if(i|m){F=h&32;while(1){k=k-1|0;t[k|0]=F|w[(i&15)+28096|0];G=!m&i>>>0>15|(m|0)!=0;p=m;m=m>>>4|0;i=(p&15)<<28|i>>>4;if(G){continue}break}}if(!(v[j+64>>2]|v[j+68>>2])|!(o&8)){break y}z=(h>>>4|0)+1090|0;r=2;break y}h=x;k=v[j+68>>2];m=k;i=v[j+64>>2];if(k|i){while(1){h=h-1|0;t[h|0]=i&7|48;p=!m&i>>>0>7|(m|0)!=0;k=m;m=k>>>3|0;i=(k&7)<<29|i>>>3;if(p){continue}break}}k=h;if(!(o&8)){break y}h=x-k|0;l=(h|0)<(l|0)?l:h+1|0;break y}i=v[j+64>>2];h=v[j+68>>2];m=h;if((h|0)<0){k=0-(m+((i|0)!=0)|0)|0;m=k;i=0-i|0;v[j+64>>2]=i;v[j+68>>2]=k;r=1;z=1090;break z}if(o&2048){r=1;z=1091;break z}r=o&1;z=r?1092:1090}k=fb(i,m,x)}if((l|0)<0?C:0){break d}o=C?o&-65537:o;h=v[j+64>>2];i=v[j+68>>2];if(!(l|(h|i)!=0)){k=x;l=0;break g}h=!(h|i)+(x-k|0)|0;l=(h|0)<(l|0)?l:h;break g}n=l>>>0>=2147483647?2147483647:l;p=n;o=(n|0)!=0;h=v[j+64>>2];k=h?h:2729;h=k;J:{K:{L:{M:{if(!(h&3)|!n){break M}while(1){if(!w[h|0]){break L}p=p-1|0;o=(p|0)!=0;h=h+1|0;if(!(h&3)){break M}if(p){continue}break}}if(!o){break K}if(!(!w[h|0]|p>>>0<4)){while(1){m=v[h>>2];if((m^-1)&m-16843009&-2139062144){break L}h=h+4|0;p=p-4|0;if(p>>>0>3){continue}break}}if(!p){break K}}while(1){if(!w[h|0]){break J}h=h+1|0;p=p-1|0;if(p){continue}break}}h=0}h=h?h-k|0:n;n=h+k|0;if((l|0)>=0){o=i;l=h;break g}o=i;l=h;if(w[n|0]){break d}break g}if(l){i=v[j+64>>2];break u}h=0;Ta(a,32,s,0,o);break t}v[j+12>>2]=0;v[j+8>>2]=v[j+64>>2];i=j+8|0;v[j+64>>2]=i;l=-1}h=0;N:{while(1){k=v[i>>2];if(!k){break N}m=mc(j+4|0,k);k=(m|0)<0;if(!(k|m>>>0>l-h>>>0)){i=i+4|0;h=h+m|0;if(l>>>0>h>>>0){continue}break N}break}if(k){break b}}n=61;if((h|0)<0){break c}Ta(a,32,s,h,o);if(!h){h=0;break t}n=0;i=v[j+64>>2];while(1){k=v[i>>2];if(!k){break t}k=mc(j+4|0,k);n=k+n|0;if(n>>>0>h>>>0){break t}Ra(a,j+4|0,k);i=i+4|0;if(h>>>0>n>>>0){continue}break}}Ta(a,32,s,h,o^8192);h=(h|0)<(s|0)?s:h;continue e}if((l|0)<0?C:0){break d}n=61;h=ta[f|0](a,A[j+64>>3],s,l,o,h)|0;if((h|0)>=0){continue e}break c}t[j+55|0]=v[j+64>>2];l=1;k=E;o=i;break g}i=w[h+1|0];h=h+1|0;continue}}if(a){break a}if(!y){break f}h=1;while(1){a=v[(h<<2)+e>>2];if(a){oc((h<<3)+d|0,a,c,g);q=1;h=h+1|0;if((h|0)!=10){continue}break a}break}q=1;if(h>>>0>=10){break a}while(1){if(v[(h<<2)+e>>2]){break h}h=h+1|0;if((h|0)!=10){continue}break}break a}n=28;break c}m=n-k|0;i=(l|0)>(m|0)?l:m;if((i|0)>(r^2147483647)){break d}n=61;l=i+r|0;h=(l|0)<(s|0)?s:l;if((D|0)<(h|0)){break c}Ta(a,32,h,l,o);Ra(a,z,r);Ta(a,48,h,l,o^65536);Ta(a,48,i,m,0);Ra(a,k,m);Ta(a,32,h,l,o^8192);continue}break}q=0;break a}n=61}v[7342]=n}q=-1}pa=j+80|0;return q}function Ef(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,x=0,z=0,A=0;g=pa-160|0;pa=g;a:{if(c>>>0<=35){c=0;Ea(d,1,7159,0);break a}c=c-36|0;l=(c>>>0)/3|0;if((B(l,3)|0)!=(c|0)){c=0;Ea(d,1,7159,0);break a}i=v[a+72>>2];c=g+156|0;Ga(b,c,2);u[a+80>>1]=v[g+156>>2];Ga(b+2|0,i+8|0,4);Ga(b+6|0,i+12|0,4);Ga(b+10|0,i,4);Ga(b+14|0,i+4|0,4);Ga(b+18|0,a+92|0,4);Ga(b+22|0,a+96|0,4);Ga(b+26|0,a+84|0,4);Ga(b+30|0,a+88|0,4);Ga(b+34|0,c,2);b:{c:{d:{c=v[g+156>>2];if(c>>>0<=16384){v[i+16>>2]=c;if((c|0)!=(l|0)){v[g+132>>2]=l;v[g+128>>2]=c;Ea(d,1,15622,g+128|0);c=0;break a}e:{m=v[i+8>>2];k=v[i>>2];f:{if(m>>>0<=k>>>0){h=v[i+4>>2];j=v[i+12>>2];break f}h=v[i+4>>2];j=v[i+12>>2];if(h>>>0>>0){break e}}v[g+120>>2]=j-h;v[g+124>>2]=0-(h>>>0>j>>>0);v[g+112>>2]=m-k;v[g+116>>2]=0-(k>>>0>m>>>0);Ea(d,1,15184,g+112|0);c=0;break a}c=v[a+96>>2];g:{f=v[a+92>>2];if(f){if(c){break g}c=0}v[g+4>>2]=c;v[g>>2]=f;Ea(d,1,15736,g);c=0;break a}h:{n=v[a+84>>2];i:{if(n>>>0>k>>>0){break i}o=v[a+88>>2];if(o>>>0>h>>>0){break i}p=f;f=f+n|0;if(k>>>0>=(0-(p>>>0>f>>>0?1:e)|f)>>>0){break i}f=c;c=c+o|0;if((0-(f>>>0>c>>>0?1:e)|c)>>>0>h>>>0){break h}}c=0;Ea(d,1,3889,0);break a}j:{if(v[a+224>>2]){break j}c=v[a+216>>2];if(!c){break j}e=v[a+220>>2];if(!e){break j}f=m-k|0;h=j-h|0;if((f|0)==(c|0)&(h|0)==(e|0)){break j}v[g+108>>2]=h;v[g+104>>2]=f;v[g+100>>2]=e;v[g+96>>2]=c;Ea(d,1,14648,g+96|0);c=0;break a}e=Ia(l,52);v[i+24>>2]=e;if(!e){break d}k:{if(!v[i+16>>2]){break k}c=g+152|0;Ga(b+36|0,c,1);f=v[g+152>>2];l=f>>>7|0;v[e+32>>2]=l;m=(f&127)+1|0;v[e+24>>2]=m;f=v[a+224>>2];Ga(b+37|0,c,1);v[e>>2]=v[g+152>>2];Ga(b+38|0,c,1);h=v[g+152>>2];v[e+4>>2]=h;c=0;k=v[e>>2];if(k-256>>>0<4294967041){j=0;break b}if(!h){j=0;break b}j=0;if(h>>>0>255){break b}h=v[e+24>>2];if(h>>>0>31){break c}v[e+36>>2]=0;v[e+40>>2]=v[a+160>>2];j=1;if(y[i+16>>2]<=1){break k}l=f?0:l;f=f?0:m;b=b+39|0;while(1){Ga(b,g+152|0,1);k=v[g+152>>2];h=k>>>7|0;v[e+84>>2]=h;k=(k&127)+1|0;v[e+76>>2]=k;m=b+1|0;if(!((f|0)==(k|0)&(h|0)==(l|0)|(v[a+224>>2]|w[a+188|0]&4))){v[g+84>>2]=h;v[g+80>>2]=k;v[g+76>>2]=j;v[g+72>>2]=l;v[g+68>>2]=f;v[g+64>>2]=j;Ea(d,2,15420,g- -64|0)}h=g+152|0;Ga(m,h,1);v[e+52>>2]=v[g+152>>2];Ga(b+2|0,h,1);h=v[g+152>>2];v[e+56>>2]=h;k=v[e+52>>2];if(!h|k-256>>>0<4294967041|h>>>0>=256){break b}h=v[e+76>>2];if(h>>>0>=32){break c}b=b+3|0;v[e+88>>2]=0;v[e+92>>2]=v[a+160>>2];e=e+52|0;j=j+1|0;if(j>>>0>2]){continue}break}}c=0;f=v[a+92>>2];if(!f){break a}h=v[a+96>>2];if(!h){break a}j=f-1|0;m=v[a+84>>2];e=v[i+8>>2]-m|0;k=e;b=j+e|0;n=f>>31;r=n-!f|0;e=r+(e>>31)|0;b=Rf(b,b>>>0>>0?e+1|0:e,f,n);v[a+104>>2]=b;k=h-1|0;o=v[a+88>>2];e=v[i+12>>2]-o|0;p=e;l=k+e|0;q=h>>31;s=q-!h|0;e=s+(e>>31)|0;e=Rf(l,l>>>0

>>0?e+1|0:e,h,q);v[a+108>>2]=e;if(!(!(!b|!e)&b>>>0<=65535/(e>>>0)>>>0)){v[g+20>>2]=e;v[g+16>>2]=b;Ea(d,1,14762,g+16|0);break a}l=B(b,e);l:{if(w[a+68|0]&2){v[a+28>>2]=(v[a+28>>2]-m>>>0)/(f>>>0);v[a+32>>2]=(v[a+32>>2]-o>>>0)/(h>>>0);b=j;e=v[a+36>>2]-m|0;j=e;b=b+e|0;e=(e>>31)+r|0;z=a,A=Rf(b,b>>>0>>0?e+1|0:e,f,n),v[z+36>>2]=A;e=v[a+40>>2]-o|0;f=e;b=e+k|0;e=(e>>31)+s|0;z=a,A=Rf(b,b>>>0>>0?e+1|0:e,h,q),v[z+40>>2]=A;break l}v[a+28>>2]=0;v[a+32>>2]=0;v[a+40>>2]=e;v[a+36>>2]=b}b=Ia(l,5644);v[a+156>>2]=b;if(!b){Ea(d,1,5032,0);break a}b=Ia(v[i+16>>2],1080);v[v[a+12>>2]+5584>>2]=b;if(!v[v[a+12>>2]+5584>>2]){Ea(d,1,5032,0);break a}b=Ia(10,20);v[v[a+12>>2]+5616>>2]=b;b=v[a+12>>2];if(!v[b+5616>>2]){Ea(d,1,5032,0);break a}v[b+5624>>2]=10;b=Ia(10,20);v[v[a+12>>2]+5628>>2]=b;b=v[a+12>>2];if(!v[b+5628>>2]){Ea(d,1,5032,0);break a}v[b+5636>>2]=10;e=v[i+16>>2];m:{if(!e){break m}f=v[i+24>>2];b=0;if((e|0)!=1){h=e&-2;while(1){j=f+B(b,52)|0;if(!v[j+32>>2]){v[(v[v[a+12>>2]+5584>>2]+B(b,1080)|0)+1076>>2]=1<>2]-1}j=b|1;k=f+B(j,52)|0;if(!v[k+32>>2]){v[(v[v[a+12>>2]+5584>>2]+B(j,1080)|0)+1076>>2]=1<>2]-1}b=b+2|0;c=c+2|0;if((h|0)!=(c|0)){continue}break}}if(!(e&1)){break m}c=f+B(b,52)|0;if(v[c+32>>2]){break m}v[(v[v[a+12>>2]+5584>>2]+B(b,1080)|0)+1076>>2]=1<>2]-1}if(l){b=v[a+156>>2];c=0;while(1){e=Ia(v[i+16>>2],1080);v[b+5584>>2]=e;if(!e){c=0;Ea(d,1,5032,0);break a}b=b+5644|0;c=c+1|0;if((l|0)!=(c|0)){continue}break}}v[a+8>>2]=4;b=0;t=v[i+16>>2];if(t){d=v[a+88>>2];c=v[a+96>>2];f=d+B(c,v[a+108>>2]-1|0)|0;e=0;p=c;c=c+f|0;c=0-(p>>>0>c>>>0?1:e)|c;e=v[i+12>>2];n=c>>>0>>0?c:e;f=v[a+84>>2];e=v[a+92>>2];a=f+B(e,v[a+104>>2]-1|0)|0;c=0;a=a+e|0;a=0-(a>>>0>>0?1:c)|a;c=v[i+8>>2];o=a>>>0>>0?a:c;a=v[i+4>>2];k=a>>>0>>0?d:a;a=v[i>>2];l=a>>>0>>0?f:a;a=v[i+24>>2];while(1){f=v[a+4>>2];i=f-1|0;q=0-!f|0;e=q;c=i+k|0;e=c>>>0>>0?e+1|0:e;r=Sf(c,e,f,0);v[a+20>>2]=r;h=v[a>>2];m=h-1|0;p=0-!h|0;c=p;d=l+m|0;c=d>>>0>>0?c+1|0:c;s=Sf(d,c,h,0);v[a+16>>2]=s;d=v[a+40>>2];e=d&31;if((d&63)>>>0>=32){c=-1<>>32-e;e=-1<>>0>i>>>0?e+1|0:e;f=Sf(i,e,f,0)-r|0;e=c;c=f+j|0;e=c>>>0>>0?e+1|0:e;f=c;c=d&31;v[a+12>>2]=(d&63)>>>0>=32?e>>>c|0:((1<>>c;c=p;e=m+o|0;c=e>>>0>>0?c+1|0:c;c=Sf(e,c,h,0)-s|0;e=x;c=c+j|0;e=c>>>0>>0?e+1|0:e;f=c;c=d&31;v[a+8>>2]=(d&63)>>>0>=32?e>>>c|0:((1<>>c;a=a+52|0;b=b+1|0;if((t|0)!=(b|0)){continue}break}}c=1;break a}v[g+144>>2]=c;Ea(d,1,8939,g+144|0);c=0;break a}c=0;v[i+16>>2]=0;Ea(d,1,5032,0);break a}v[g+52>>2]=h;v[g+48>>2]=j;Ea(d,1,16044,g+48|0);break a}v[g+40>>2]=h;v[g+36>>2]=k;v[g+32>>2]=j;Ea(d,1,14982,g+32|0)}pa=g+160|0;return c|0}function Fc(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,x=0,z=0,A=0,C=0,D=0,E=0;p=pa-32|0;pa=p;v[p+24>>2]=f;z=v[(B(v[d+28>>2],76)+b|0)+28>>2];s=v[d+32>>2];a:{b:{if(v[d+40>>2]){break b}q=z+B(s,152)|0;if(!v[q+24>>2]){break b}k=q+28|0;while(1){c:{if(v[k+12>>2]==v[k+4>>2]|v[k+8>>2]==v[k>>2]){break c}b=v[d+36>>2];if(b>>>0>=y[k+24>>2]/40>>>0){Ea(i,1,3933,0);break a}b=v[k+20>>2]+B(b,40)|0;Bc(v[b+32>>2]);Bc(v[b+36>>2]);o=B(v[b+20>>2],v[b+16>>2]);if(!o){break c}b=v[b+24>>2];if(o>>>0>=8){m=o&-8;j=0;while(1){v[b+40>>2]=0;v[b+44>>2]=0;v[b+488>>2]=0;v[b+492>>2]=0;v[b+424>>2]=0;v[b+428>>2]=0;v[b+360>>2]=0;v[b+364>>2]=0;v[b+296>>2]=0;v[b+300>>2]=0;v[b+232>>2]=0;v[b+236>>2]=0;v[b+168>>2]=0;v[b+172>>2]=0;v[b+104>>2]=0;v[b+108>>2]=0;b=b+512|0;j=j+8|0;if((m|0)!=(j|0)){continue}break}}j=0;o=o&7;if(!o){break c}while(1){v[b+40>>2]=0;v[b+44>>2]=0;b=b- -64|0;j=j+1|0;if((o|0)!=(j|0)){continue}break}}k=k+36|0;l=l+1|0;if(l>>>0>2]){continue}break}}o=f;d:{if(!(w[c|0]&2)){break d}if(h>>>0<=5){Ea(i,2,5260,0);break d}if(!(w[f|0]==255&w[f+1|0]==145)){Ea(i,2,5302,0);break d}o=f+6|0;v[p+24>>2]=o}m=Ja(20);if(!m){break a}e:{if(t[a+108|0]&1){u=a+40|0;o=v[a+40>>2];q=a+44|0;break e}if(w[c+5640|0]&2){u=c+5168|0;o=v[c+5168>>2];q=c+5180|0;break e}v[p+28>>2]=(f+h|0)-o;u=p+24|0;q=p+28|0}a=v[q>>2];v[m+12>>2]=0;v[m+16>>2]=0;v[m+8>>2]=o;v[m>>2]=o;v[m+4>>2]=a+o;if(!_a(m,1)){Gc(m);a=v[m+8>>2]-v[m>>2]|0;ab(m);b=a+o|0;f:{if(!(w[c|0]&4)){break f}if(v[u>>2]+(v[q>>2]-b|0)>>>0<=1){Ea(i,2,5491,0);break f}if(!(w[b|0]==255&w[b+1|0]==146)){Ea(i,2,5533,0);break f}b=b+2|0}v[q>>2]=v[q>>2]+(v[u>>2]-b|0);v[u>>2]=b;v[e>>2]=0;v[g>>2]=v[p+24>>2]-f;C=1;break a}A=z+B(s,152)|0;if(v[A+24>>2]){a=A+28|0;while(1){b=v[d+36>>2];h=v[a+20>>2];z=a;g:{if(v[a+12>>2]==v[a+4>>2]|v[a+8>>2]==v[a>>2]){break g}s=h+B(b,40)|0;D=B(v[s+20>>2],v[s+16>>2]);if(!D){break g}k=v[s+24>>2];a=0;while(1){h:{i:{if(!v[k+40>>2]){b=zc(m,v[s+32>>2],a,v[d+40>>2]+1|0);break i}b=_a(m,1)}if(!b){v[k+36>>2]=0;break h}if(!v[k+40>>2]){b=0;while(1){h=b;b=b+1|0;if(!zc(m,v[s+36>>2],a,h)){continue}break}b=v[z+28>>2];v[k+32>>2]=3;v[k+24>>2]=b;v[k+28>>2]=(b-h|0)+1}b=1;j:{if(!_a(m,1)){break j}b=2;if(!_a(m,1)){break j}b=_a(m,2);if((b|0)!=3){b=b+3|0;break j}b=_a(m,5);if((b|0)!=31){b=b+6|0;break j}b=_a(m,7)+37|0}v[k+36>>2]=b;b=0;while(1){h=b;b=b+1|0;if(_a(m,1)){continue}break}v[k+32>>2]=h+v[k+32>>2];k:{h=v[k+40>>2];l:{if(!h){h=v[(v[c+5584>>2]+B(v[d+28>>2],1080)|0)+16>>2];if(!v[k+48>>2]){b=Oa(v[k>>2],240);if(!b){break k}v[k>>2]=b;Ka(b+B(v[k+48>>2],24)|0,0,240);v[k+48>>2]=10}b=v[k>>2];v[b>>2]=0;v[b+4>>2]=0;v[b+16>>2]=0;v[b+20>>2]=0;v[b+8>>2]=0;v[b+12>>2]=0;v[b+12>>2]=h&4?1:h&1?10:109;l=0;break l}b=v[k>>2];l=h-1|0;j=b+B(l,24)|0;if(v[j+4>>2]!=v[j+12>>2]){break l}j=v[(v[c+5584>>2]+B(v[d+28>>2],1080)|0)+16>>2];l=v[k+48>>2];if(l>>>0>>0){l=l+10|0;b=Oa(b,B(l,24));if(!b){break k}v[k>>2]=b;Ka(b+B(v[k+48>>2],24)|0,0,240);v[k+48>>2]=l;b=v[k>>2]}b=B(h,24)+b|0;v[b>>2]=0;v[b+4>>2]=0;v[b+16>>2]=0;v[b+20>>2]=0;v[b+8>>2]=0;v[b+12>>2]=0;l=1;m:{if(j&4){break m}l=109;if(!(j&1)){break m}l=v[b-12>>2];l=(l|0)==1?2:(l|0)==10?2:1}v[b+12>>2]=l;l=h}h=v[k+36>>2];if(w[(v[c+5584>>2]+B(v[d+28>>2],1080)|0)+16|0]&64){while(1){x=B(l,24);n=l?h:1;v[(x+v[k>>2]|0)+16>>2]=n;r=v[k+32>>2];j=0;b=h;if(n>>>0>=2){while(1){j=j+1|0;n=b>>>0>3;b=b>>>1|0;if(n){continue}break}}b=j+r|0;if(b>>>0>=33){v[p+16>>2]=b;Ea(i,1,16177,p+16|0);break k}j=_a(m,b);b=v[k>>2];n=x+b|0;v[n+20>>2]=j;h=h-v[n+16>>2]|0;if((h|0)<=0){break h}r=v[(v[c+5584>>2]+B(v[d+28>>2],1080)|0)+16>>2];j=v[k+48>>2];if(j>>>0>>0){j=j+10|0;b=Oa(b,B(j,24));if(!b){break k}v[k>>2]=b;Ka(b+B(v[k+48>>2],24)|0,0,240);v[k+48>>2]=j;b=v[k>>2]}l=l+1|0;j=B(l,24)+b|0;v[j>>2]=0;v[j+4>>2]=0;v[j+16>>2]=0;v[j+20>>2]=0;v[j+8>>2]=0;v[j+12>>2]=0;n=1;n:{if(r&4){break n}n=109;if(!(r&1)){break n}b=v[(b+x|0)+12>>2];n=(b|0)==1?2:(b|0)==10?2:1}v[j+12>>2]=n;continue}}while(1){x=B(l,24);j=x+v[k>>2]|0;b=v[j+12>>2]-v[j+4>>2]|0;b=(b|0)<(h|0)?b:h;v[j+16>>2]=b;n=v[k+32>>2];j=0;if(b>>>0>=2){while(1){j=j+1|0;r=b>>>0>3;b=b>>>1|0;if(r){continue}break}}b=j+n|0;if(b>>>0>=33){v[p>>2]=b;Ea(i,1,16177,p);break k}j=_a(m,b);b=v[k>>2];n=x+b|0;v[n+20>>2]=j;h=h-v[n+16>>2]|0;if((h|0)<=0){break h}r=v[(v[c+5584>>2]+B(v[d+28>>2],1080)|0)+16>>2];j=v[k+48>>2];if(j>>>0>>0){j=j+10|0;b=Oa(b,B(j,24));if(!b){break k}v[k>>2]=b;Ka(b+B(v[k+48>>2],24)|0,0,240);v[k+48>>2]=j;b=v[k>>2]}l=l+1|0;j=B(l,24)+b|0;v[j>>2]=0;v[j+4>>2]=0;v[j+16>>2]=0;v[j+20>>2]=0;v[j+8>>2]=0;v[j+12>>2]=0;n=1;o:{if(r&4){break o}n=109;if(!(r&1)){break o}b=v[(b+x|0)+12>>2];n=(b|0)==1?2:(b|0)==10?2:1}v[j+12>>2]=n;continue}}ab(m);break a}k=k- -64|0;a=a+1|0;if((D|0)!=(a|0)){continue}break}}a=z+36|0;E=E+1|0;if(E>>>0>2]){continue}break}}if(!Gc(m)){ab(m);break a}a=v[m+8>>2]-v[m>>2]|0;ab(m);b=a+o|0;p:{if(!(w[c|0]&4)){break p}if(v[u>>2]+(v[q>>2]-b|0)>>>0<=1){Ea(i,2,5491,0);break p}if(!(w[b|0]==255&w[b+1|0]==146)){Ea(i,2,5533,0);break p}b=b+2|0}v[q>>2]=v[q>>2]+(v[u>>2]-b|0);v[u>>2]=b;C=1;v[e>>2]=1;v[g>>2]=v[p+24>>2]-f}pa=p+32|0;return C}function md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=C(0),m=0,n=0,o=0;i=pa-48|0;pa=i;v[a+8>>2]=1;a:{b:{c:{if((Qa(b,i+40|0,2,c)|0)!=2){break c}Ga(i+40|0,i+44|0,2);if(v[i+44>>2]!=65359){break c}v[a+8>>2]=2;e=v[b+56>>2];f=e-2|0;e=v[b+60>>2]-(e>>>0<2)|0;d=v[a+200>>2];v[d>>2]=f;v[d+4>>2]=e;v[i+16>>2]=f;v[i+20>>2]=e;Ea(c,4,13411,i+16|0);e=v[a+200>>2];j=v[e>>2];g=v[e+24>>2];f=g+1|0;d=v[e+32>>2];if(f>>>0<=d>>>0){d=v[e+28>>2];break b}l=C(C(d>>>0)+C(100));d:{if(l=C(0)){f=~~l>>>0;break d}f=0}v[e+32>>2]=f;d=Oa(v[e+28>>2],B(f,24));if(d){v[e+28>>2]=d;g=v[e+24>>2];f=g+1|0;break b}Fa(v[e+28>>2]);v[e+32>>2]=0;v[e+24>>2]=0;v[e+28>>2]=0;Ea(c,1,4996,0)}Ea(c,1,16298,0);a=0;break a}d=B(g,24)+d|0;v[d+16>>2]=2;v[d+8>>2]=j;v[d+12>>2]=j>>31;u[d>>1]=65359;v[e+24>>2]=f;if((Qa(b,v[a+16>>2],2,c)|0)!=2){Ea(c,1,3569,0);a=0;break a}Ga(v[a+16>>2],i+40|0,2);e:{f:{d=v[i+40>>2];if((d|0)!=65424){while(1){g=17696;if(d>>>0<=65279){v[i>>2]=d;Ea(c,1,3417,i);a=0;break a}while(1){f=g;e=v[f>>2];if(e){g=f+12|0;if((e|0)!=(d|0)){continue}}break}g:{h:{if(e){break h}j=2;Ea(c,2,4944,0);g=3569;i:{j:{if((Qa(b,v[a+16>>2],2,c)|0)!=2){break j}while(1){Ga(v[a+16>>2],i+44|0,2);e=17696;d=v[i+44>>2];if(d>>>0>=65280){while(1){f=e;k=v[e>>2];if(k){e=f+12|0;if((d|0)!=(k|0)){continue}}break}if(!(v[f+4>>2]&v[a+8>>2])){g=6487;break j}if(k){if((k|0)==65424){v[i+40>>2]=65424;break g}n=v[b+56>>2];e=v[a+200>>2];f=v[e+24>>2];d=f+1|0;g=v[e+32>>2];if(d>>>0<=g>>>0){g=v[e+28>>2];break i}l=C(C(g>>>0)+C(100));k:{if(l=C(0)){f=~~l>>>0;break k}f=0}v[e+32>>2]=f;g=Oa(v[e+28>>2],B(f,24));if(g){v[e+28>>2]=g;f=v[e+24>>2];d=f+1|0;break i}Fa(v[e+28>>2]);v[e+32>>2]=0;v[e+24>>2]=0;v[e+28>>2]=0;g=4996;break j}j=j+2|0}if((Qa(b,v[a+16>>2],2,c)|0)==2){continue}break}}Ea(c,1,g,0);Ea(c,1,10610,0);a=0;break a}f=B(f,24)+g|0;v[f+16>>2]=j;g=n-j|0;v[f+8>>2]=g;v[f+12>>2]=g>>31;u[f>>1]=0;v[e+24>>2]=d;v[i+40>>2]=k;d=17696;while(1){f=d;e=v[f>>2];if(!e){break h}d=f+12|0;if((e|0)!=(k|0)){continue}break}}if(!(v[f+4>>2]&v[a+8>>2])){Ea(c,1,6487,0);a=0;break a}if((Qa(b,v[a+16>>2],2,c)|0)!=2){Ea(c,1,3569,0);a=0;break a}Ga(v[a+16>>2],i+36|0,2);d=v[i+36>>2];if(d>>>0<=1){Ea(c,1,7138,0);a=0;break a}g=d-2|0;v[i+36>>2]=g;d=v[a+16>>2];if(y[a+20>>2]>>0){d=Oa(d,g);if(!d){Fa(v[a+16>>2]);v[a+16>>2]=0;v[a+20>>2]=0;Ea(c,1,6063,0);a=0;break a}v[a+16>>2]=d;g=v[i+36>>2];v[a+20>>2]=g}d=Qa(b,d,g,c);if((d|0)!=v[i+36>>2]){Ea(c,1,3569,0);a=0;break a}if(!(ta[v[f+8>>2]](a,v[a+16>>2],d,c)|0)){Ea(c,1,3587,0);a=0;break a}n=v[b+56>>2];k=v[i+36>>2];f=v[a+200>>2];d=v[f+24>>2];j=d+1|0;g=v[f+32>>2];l:{if(j>>>0<=g>>>0){g=v[f+28>>2];break l}l=C(C(g>>>0)+C(100));m:{if(l=C(0)){d=~~l>>>0;break m}d=0}v[f+32>>2]=d;g=Oa(v[f+28>>2],B(d,24));if(!g){break e}v[f+28>>2]=g;d=v[f+24>>2];j=d+1|0}d=B(d,24)+g|0;v[d+16>>2]=k+4;g=(n-k|0)-4|0;v[d+8>>2]=g;v[d+12>>2]=g>>31;u[d>>1]=e;v[f+24>>2]=j;if((Qa(b,v[a+16>>2],2,c)|0)!=2){Ea(c,1,3569,0);a=0;break a}o=(e|0)==65372?1:o;h=(e|0)==65362?1:h;m=(e|0)==65361?1:m;Ga(v[a+16>>2],i+40|0,2);d=v[i+40>>2];if((d|0)!=65424){continue}}break}if(m){break f}}Ea(c,1,5875,0);a=0;break a}if(!h){Ea(c,1,5921,0);a=0;break a}if(!o){Ea(c,1,5967,0);a=0;break a}e=0;j=0;m=0;k=pa-16|0;pa=k;o=1;n:{if(!(t[a+188|0]&1)){break n}o:{d=v[a+112>>2];if(!d){break o}p:{while(1){f=v[a+116>>2]+(m<<3)|0;h=v[f>>2];if(h){g=v[f+4>>2];f=e-g|0;f=e>>>0>=f>>>0?f:0;if(e>>>0>>0){d=g-e|0;g=e+h|0;while(1){if(d>>>0<4){break p}Ga(g,k+12|0,4);e=v[k+12>>2];h=d-4|0;n=e>>>0>h>>>0;f=n?e-h|0:f;d=h-e|0;j=e+j|0;g=((n?0:e)+g|0)+4|0;if(e>>>0>>0){continue}break}d=v[a+112>>2]}e=f}m=m+1|0;if(m>>>0>>0){continue}break}if(!e){break o}o=0;Ea(c,1,4164,0);break n}o=0;Ea(c,1,6735,0);break n}e=Ja(j);v[a+136>>2]=e;if(!e){o=0;Ea(c,1,5401,0);break n}v[a+124>>2]=j;h=v[a+116>>2];q:{f=v[a+112>>2];if(f){d=0;e=0;j=0;while(1){m=j<<3;n=m+h|0;g=v[n>>2];if(g){h=v[a+136>>2]+e|0;f=v[n+4>>2];r:{if(f>>>0<=d>>>0){Ha(h,g,f);e=e+f|0;d=d-f|0;break r}Ha(h,g,d);e=e+d|0;h=f-d|0;if(h){d=d+g|0;while(1){if(h>>>0<4){break q}Ga(d,k+8|0,4);d=d+4|0;g=v[a+136>>2]+e|0;f=h-4|0;h=v[k+8>>2];if(f>>>0>>0){Ha(g,d,f);e=e+f|0;d=v[k+8>>2]-f|0;break r}Ha(g,d,h);g=v[k+8>>2];e=g+e|0;d=d+g|0;h=f-g|0;if(h){continue}break}}d=0}Fa(v[m+v[a+116>>2]>>2]);h=v[a+116>>2];f=m+h|0;v[f>>2]=0;v[f+4>>2]=0;f=v[a+112>>2]}j=j+1|0;if(j>>>0>>0){continue}break}j=v[a+124>>2];e=v[a+136>>2]}v[a+144>>2]=j;v[a+120>>2]=e;v[a+112>>2]=0;Fa(h);v[a+116>>2]=0;break n}o=0;Ea(c,1,6735,0)}pa=k+16|0;if(!o){Ea(c,1,9092,0);a=0;break a}Ea(c,4,12396,0);c=v[a+200>>2];v[c+8>>2]=v[b+56>>2]-2;v[c+12>>2]=0;v[a+8>>2]=8;a=1;break a}Fa(v[f+28>>2]);v[f+32>>2]=0;v[f+24>>2]=0;v[f+28>>2]=0;Ea(c,1,4996,0);a=0}pa=i+48|0;return a|0}function Ab(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=v[a>>2];f=v[a+12>>2]<<5;h=e+f|0;l=e-f|0;e=v[a+16>>2];i=v[a+28>>2];j=v[a+20>>2];m=v[a+8>>2];a:{b:{if(b&15|d>>>0<8|h&15){if(e>>>0>=j>>>0){break a}c:{switch(d-1|0){case 1:f=e+1|0;if(j-e&1){g=h+(e<<6)|0;z[g>>2]=z[(e<<2)+b>>2];z[g+4>>2]=z[(c+e<<2)+b>>2];e=f}if((f|0)==(j|0)){break a}while(1){f=h+(e<<6)|0;z[f>>2]=z[(e<<2)+b>>2];z[f+4>>2]=z[(c+e<<2)+b>>2];f=e+1|0;g=h+(f<<6)|0;z[g>>2]=z[(f<<2)+b>>2];z[g+4>>2]=z[(c+f<<2)+b>>2];e=e+2|0;if((j|0)!=(e|0)){continue}break};break a;case 0:break c;default:break b}}g=(e^-1)+j|0;k=j-e&3;if(k){f=0;while(1){z[h+(e<<6)>>2]=z[(e<<2)+b>>2];e=e+1|0;f=f+1|0;if((k|0)!=(f|0)){continue}break}}if(g>>>0<3){break a}while(1){z[h+(e<<6)>>2]=z[(e<<2)+b>>2];f=e+1|0;z[h+(f<<6)>>2]=z[(f<<2)+b>>2];f=e+2|0;z[h+(f<<6)>>2]=z[(f<<2)+b>>2];f=e+3|0;z[h+(f<<6)>>2]=z[(f<<2)+b>>2];e=e+4|0;if((j|0)!=(e|0)){continue}break}break a}if(e>>>0>=j>>>0){break a}while(1){f=h+(e<<6)|0;z[f>>2]=z[(e<<2)+b>>2];g=c+e|0;z[f+4>>2]=z[(g<<2)+b>>2];g=c+g|0;z[f+8>>2]=z[(g<<2)+b>>2];g=c+g|0;z[f+12>>2]=z[(g<<2)+b>>2];g=c+g|0;z[f+16>>2]=z[(g<<2)+b>>2];g=c+g|0;z[f+20>>2]=z[(g<<2)+b>>2];g=c+g|0;z[f+24>>2]=z[(g<<2)+b>>2];z[f+28>>2]=z[(c+g<<2)+b>>2];e=e+1|0;if((j|0)!=(e|0)){continue}break}break a}while(1){f=h+(e<<6)|0;z[f>>2]=z[(e<<2)+b>>2];g=c+e|0;z[f+4>>2]=z[(g<<2)+b>>2];g=c+g|0;z[f+8>>2]=z[(g<<2)+b>>2];d:{if((d|0)==3){break d}g=c+g|0;z[f+12>>2]=z[(g<<2)+b>>2];if((d|0)==4){break d}g=c+g|0;z[f+16>>2]=z[(g<<2)+b>>2];if((d|0)==5){break d}g=c+g|0;z[f+20>>2]=z[(g<<2)+b>>2];if((d|0)==6){break d}g=c+g|0;z[f+24>>2]=z[(g<<2)+b>>2];if((d|0)==7){break d}z[f+28>>2]=z[(c+g<<2)+b>>2]}e=e+1|0;if((j|0)!=(e|0)){continue}break}}f=l+32|0;e=v[a+24>>2];b=(m<<2)+b|0;e:{if(b&15|d>>>0<8|f&15){if(e>>>0>=i>>>0){break e}f:{switch(d-1|0){case 1:a=e+1|0;if(i-e&1){d=f+(e<<6)|0;z[d>>2]=z[b+(e<<2)>>2];z[d+4>>2]=z[b+(c+e<<2)>>2];e=a}if((a|0)==(i|0)){break e}while(1){a=f+(e<<6)|0;z[a>>2]=z[b+(e<<2)>>2];z[a+4>>2]=z[b+(c+e<<2)>>2];a=e+1|0;d=f+(a<<6)|0;z[d>>2]=z[b+(a<<2)>>2];z[d+4>>2]=z[b+(a+c<<2)>>2];e=e+2|0;if((i|0)!=(e|0)){continue}break};break e;case 0:a=(e^-1)+i|0;d=i-e&3;if(d){c=0;while(1){z[f+(e<<6)>>2]=z[b+(e<<2)>>2];e=e+1|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}if(a>>>0<3){break e}while(1){z[f+(e<<6)>>2]=z[b+(e<<2)>>2];a=e+1|0;z[f+(a<<6)>>2]=z[b+(a<<2)>>2];a=e+2|0;z[f+(a<<6)>>2]=z[b+(a<<2)>>2];a=e+3|0;z[f+(a<<6)>>2]=z[b+(a<<2)>>2];e=e+4|0;if((i|0)!=(e|0)){continue}break};break e;default:break f}}while(1){a=f+(e<<6)|0;z[a>>2]=z[b+(e<<2)>>2];h=c+e|0;z[a+4>>2]=z[b+(h<<2)>>2];h=c+h|0;z[a+8>>2]=z[b+(h<<2)>>2];g:{if((d|0)==3){break g}h=c+h|0;z[a+12>>2]=z[b+(h<<2)>>2];if((d|0)==4){break g}h=c+h|0;z[a+16>>2]=z[b+(h<<2)>>2];if((d|0)==5){break g}h=c+h|0;z[a+20>>2]=z[b+(h<<2)>>2];if((d|0)==6){break g}h=c+h|0;z[a+24>>2]=z[b+(h<<2)>>2];if((d|0)==7){break g}z[a+28>>2]=z[b+(c+h<<2)>>2]}e=e+1|0;if((i|0)!=(e|0)){continue}break}break e}if(e>>>0>=i>>>0){break e}while(1){a=f+(e<<6)|0;z[a>>2]=z[b+(e<<2)>>2];d=c+e|0;z[a+4>>2]=z[b+(d<<2)>>2];d=c+d|0;z[a+8>>2]=z[b+(d<<2)>>2];d=c+d|0;z[a+12>>2]=z[b+(d<<2)>>2];d=c+d|0;z[a+16>>2]=z[b+(d<<2)>>2];d=c+d|0;z[a+20>>2]=z[b+(d<<2)>>2];d=c+d|0;z[a+24>>2]=z[b+(d<<2)>>2];z[a+28>>2]=z[b+(c+d<<2)>>2];e=e+1|0;if((i|0)!=(e|0)){continue}break}}}function gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=pa-176|0;pa=f;a:{if(b&384){Va(7007,11,1,c);break a}b:{if(!(b&1)){break b}g=v[a+72>>2];if(!g){break b}d=pa-80|0;pa=d;Va(2941,13,1,c);t[d+78|0]=9;t[d+79|0]=0;e=v[g+4>>2];v[d+68>>2]=v[g>>2];v[d+72>>2]=e;i=d+78|0;v[d+64>>2]=i;Na(c,8571,d- -64|0);e=v[g+12>>2];v[d+52>>2]=v[g+8>>2];v[d+56>>2]=e;v[d+48>>2]=i;Na(c,8536,d+48|0);v[d+36>>2]=v[g+16>>2];v[d+32>>2]=i;Na(c,8294,d+32|0);if(!(!v[g+24>>2]|!v[g+16>>2])){while(1){l=d+78|0;v[d+16>>2]=l;v[d+20>>2]=h;Na(c,2973,d+16|0);i=v[g+24>>2];e=pa-48|0;pa=e;t[e+47|0]=0;t[e+45|0]=9;t[e+46|0]=9;j=B(h,52)+i|0;i=v[j+4>>2];v[e+36>>2]=v[j>>2];v[e+40>>2]=i;i=e+45|0;v[e+32>>2]=i;Na(c,8226,e+32|0);v[e+20>>2]=v[j+24>>2];v[e+16>>2]=i;Na(c,8488,e+16|0);v[e+4>>2]=v[j+32>>2];v[e>>2]=i;Na(c,8461,e);pa=e+48|0;v[d>>2]=l;Na(c,2851,d);h=h+1|0;if(h>>>0>2]){continue}break}}Va(2859,2,1,c);pa=d+80|0}if(!(!(b&2)|!v[a+72>>2])){Va(3080,36,1,c);e=v[a+88>>2];v[f+160>>2]=v[a+84>>2];v[f+164>>2]=e;Na(c,8553,f+160|0);e=v[a+96>>2];v[f+144>>2]=v[a+92>>2];v[f+148>>2]=e;Na(c,8208,f+144|0);e=v[a+108>>2];v[f+128>>2]=v[a+104>>2];v[f+132>>2]=e;Na(c,8445,f+128|0);fd(v[a+12>>2],v[v[a+72>>2]+16>>2],c);Va(2859,2,1,c)}c:{if(!(b&8)|!v[a+72>>2]){break c}e=B(v[a+104>>2],v[a+108>>2]);if(!e){break c}d=v[a+156>>2];while(1){fd(d,v[v[a+72>>2]+16>>2],c);d=d+5644|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}if(!(b&16)){break a}h=v[a+200>>2];Va(3042,37,1,c);e=v[h>>2];b=v[h+4>>2];a=v[h+12>>2];v[f+120>>2]=v[h+8>>2];v[f+124>>2]=a;v[f+112>>2]=e;v[f+116>>2]=b;Na(c,6794,f+112|0);Va(3024,17,1,c);if(!(!v[h+28>>2]|!v[h+24>>2])){d=0;while(1){a=v[h+28>>2]+B(d,24)|0;g=x[a>>1];e=v[a+8>>2];b=v[a+12>>2];v[f+96>>2]=v[a+16>>2];v[f+88>>2]=e;v[f+92>>2]=b;v[f+80>>2]=g;Na(c,8414,f+80|0);d=d+1|0;if(d>>>0>2]){continue}break}}Va(2857,4,1,c);g=v[h+40>>2];d:{if(!g){break d}e=v[h+36>>2];if(!e){break d}a=0;d=0;if(e>>>0>=4){b=e&-4;while(1){a=v[(g+B(d|3,40)|0)+4>>2]+(v[(g+B(d|2,40)|0)+4>>2]+(v[(g+B(d|1,40)|0)+4>>2]+(v[(g+B(d,40)|0)+4>>2]+a|0)|0)|0)|0;d=d+4|0;m=m+4|0;if((b|0)!=(m|0)){continue}break}}b=e&3;if(b){while(1){a=v[(g+B(d,40)|0)+4>>2]+a|0;d=d+1|0;n=n+1|0;if((b|0)!=(n|0)){continue}break}}if(!a){break d}Va(3007,16,1,c);if(v[h+36>>2]){k=v[h+40>>2];i=0;while(1){j=B(i,40);m=v[(j+k|0)+4>>2];v[f+68>>2]=m;v[f+64>>2]=i;Na(c,8500,f- -64|0);k=v[h+40>>2];e:{if(!m){break e}d=0;if(!v[(j+k|0)+16>>2]){break e}while(1){l=v[(j+v[h+40>>2]|0)+16>>2]+B(d,24)|0;n=v[l>>2];g=v[l+4>>2];e=v[l+8>>2];b=v[l+12>>2];a=v[l+20>>2];v[f+56>>2]=v[l+16>>2];v[f+60>>2]=a;v[f+48>>2]=e;v[f+52>>2]=b;v[f+40>>2]=n;v[f+44>>2]=g;v[f+32>>2]=d;Na(c,11674,f+32|0);d=d+1|0;if((m|0)!=(d|0)){continue}break}k=v[h+40>>2]}a=j+k|0;f:{if(!v[a+24>>2]){break f}d=0;if(!v[a+20>>2]){break f}while(1){a=v[(j+k|0)+24>>2]+B(d,24)|0;g=x[a>>1];e=v[a+8>>2];b=v[a+12>>2];v[f+16>>2]=v[a+16>>2];v[f+8>>2]=e;v[f+12>>2]=b;v[f>>2]=g;Na(c,8414,f);d=d+1|0;k=v[h+40>>2];if(d>>>0>2]){continue}break}}i=i+1|0;if(i>>>0>2]){continue}break}}Va(2857,4,1,c)}Va(2859,2,1,c)}pa=f+176|0}function ff(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=pa-112|0;pa=f;k=1024;a:{b:{h=Ia(1,1024);if(h){n=f+88|4;l=f+108|0;while(1){c:{d:{e:{if((Qa(b,f+104|0,8,c)|0)!=8){break e}Ga(f+104|0,f+88|0,4);Ga(l,n,4);i=8;f:{g:{h:{i:{switch(v[f+88>>2]){case 0:d=v[b+12>>2];g=d;e=v[b+8>>2];if(d|e){j=v[b+56>>2];d=e-j|0;e=g-(v[b+60>>2]+(e>>>0>>0)|0)|0}else{d=0;e=0}if(d>>>0<4294967288&(e|0)<=0|(e|0)<0){break h}Ea(c,1,9407,0);break e;case 1:break i;default:break f}}if((Qa(b,f+104|0,8,c)|0)!=8){break e}Ga(f+104|0,f+100|0,4);if(!v[f+100>>2]){break g}Ea(c,1,9407,0);break e}v[f+88>>2]=d+8;break f}Ga(l,f+88|0,4);i=16}d=v[f+92>>2];if((d|0)==1785737827){b=v[a+100>>2];if(b&4){v[a+100>>2]=b|8;break e}Ea(c,1,6766,0);Fa(h);a=0;break a}e=v[f+88>>2];if(!e){Ea(c,1,4365,0);Fa(h);a=0;break a}if(e>>>0>>0){v[f+4>>2]=d;v[f>>2]=e;Ea(c,1,14575,f);break b}j:{k:{l:{m:{n:{o:{p:{q:{r:{s:{if((d|0)<=1668246641){if((d|0)==1651532643){break q}if((d|0)==1667523942){break o}if((d|0)!=1668112752){break s}g=18080;break n}if((d|0)<=1783635999){if((d|0)==1668246642){break r}g=18048;if((d|0)==1768449138){break n}if((d|0)!=1718909296){break s}g=18024;break l}if((d|0)==1885564018){break p}if((d|0)==1783636e3){break m}g=18032;if((d|0)==1785737832){break l}}d=v[a+100>>2];if(d&1){break j}Ea(c,1,3211,0);Fa(h);a=0;break a}g=18056;break n}g=18064;break n}g=18072;break n}g=18088}v[f+76>>2]=d&255;v[f+64>>2]=d>>>24;v[f+72>>2]=d>>>8&255;v[f+68>>2]=d>>>16&255;Ea(c,2,3160,f- -64|0);e=e-i|0;if(w[a+100|0]&4){break k}d=v[f+92>>2];v[f+48>>2]=d>>>24;v[f+60>>2]=d&255;v[f+52>>2]=d>>>16&255;v[f+56>>2]=d>>>8&255;Ea(c,2,7835,f+48|0);v[a+100>>2]=v[a+100>>2]|2147483647;d=ta[v[b+40>>2]](b,e,0,c)|0;if(!sa&(d|0)==(e|0)){continue}Ea(c,1,4845,0);Fa(h);a=0;break a}g=18016}e=e-i|0}d=e;i=v[b+12>>2];j=i;e=v[b+8>>2];if(i|e){m=v[b+56>>2];i=e-m|0;e=j-(v[b+60>>2]+(e>>>0>>0)|0)|0}else{i=0;e=0}if((e|0)<=0&d>>>0>i>>>0|(e|0)<0){g=v[f+88>>2];e=v[f+92>>2];a=v[b+8>>2];if(a|v[b+12>>2]){a=a-v[b+56>>2]|0}else{a=0}v[f+40>>2]=a;v[f+36>>2]=d;v[f+32>>2]=e&255;v[f+20>>2]=e>>>24;v[f+16>>2]=g;v[f+28>>2]=e>>>8&255;v[f+24>>2]=e>>>16&255;Ea(c,1,16322,f+16|0);break b}if(d>>>0<=k>>>0){e=h;break c}k=d;e=Oa(h,d);if(e){break c}Fa(h);Ea(c,1,3342,0);a=0;break a}if(!(d&2)){Ea(c,1,3281,0);Fa(h);a=0;break a}v[a+100>>2]=d|2147483647;d=e-i|0;e=ta[v[b+40>>2]](b,d,0,c)|0;if(!sa&(d|0)==(e|0)){continue}if(!(w[a+100|0]&8)){break d}Ea(c,2,4845,0)}Fa(h);a=1;break a}Ea(c,1,4845,0);Fa(h);a=0;break a}if((Qa(b,e,d,c)|0)!=(d|0)){Ea(c,1,4895,0);Fa(e);a=0;break a}h=e;if(ta[v[g+4>>2]](a,e,d,c)|0){continue}break}Fa(h);a=0;break a}Ea(c,1,6013,0);a=0;break a}Fa(h);a=0}pa=f+112|0;return a|0}function pb(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,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0;k=v[a+8>>2];i=k+v[a+4>>2]|0;a:{if(!v[a+12>>2]){if((i|0)<2|(d|0)<=0){break a}q=i&-4;n=i&3;r=i&1;s=i-4>>>1|0;f=v[a>>2];e=i-1|0;t=f+(e<<2)|0;u=B(c,k)<<2;w=i>>>0<4;x=e>>>0<3;y=B(e>>>1|0,c)<<2;while(1){e=v[b+u>>2];a=v[b>>2]-(e+1>>1)|0;g=0;h=0;if(!w){while(1){m=h+1|0;z=v[(B(m,c)<<2)+b>>2];l=v[(B(k+m|0,c)<<2)+b>>2];o=g<<2;v[o+f>>2]=a;j=a;a=z-((e+l|0)+2>>2)|0;v[f+(o|4)>>2]=(j+a>>1)+e;g=g+2|0;j=(h|0)!=(s|0);e=l;h=m;if(j){continue}break}}v[f+(g<<2)>>2]=a;if(r){g=v[b+y>>2]-(e+1>>1)|0;v[t>>2]=g;a=a+g>>1;l=-2}else{l=-1}v[(l+i<<2)+f>>2]=a+e;e=0;a=0;g=0;if(!x){while(1){v[(B(a,c)<<2)+b>>2]=v[f+(a<<2)>>2];h=a|1;v[(B(h,c)<<2)+b>>2]=v[f+(h<<2)>>2];h=a|2;v[(B(h,c)<<2)+b>>2]=v[f+(h<<2)>>2];h=a|3;v[(B(h,c)<<2)+b>>2]=v[f+(h<<2)>>2];a=a+4|0;g=g+4|0;if((q|0)!=(g|0)){continue}break}}if(n){while(1){v[(B(a,c)<<2)+b>>2]=v[f+(a<<2)>>2];a=a+1|0;e=e+1|0;if((n|0)!=(e|0)){continue}break}}b=b+4|0;p=p+1|0;if((p|0)!=(d|0)){continue}break}break a}b:{switch(i-1|0){case 0:if((d|0)<=0){break a}if(d>>>0>=4){c=d&-4;a=0;while(1){v[b>>2]=v[b>>2]/2;v[b+4>>2]=v[b+4>>2]/2;v[b+8>>2]=v[b+8>>2]/2;v[b+12>>2]=v[b+12>>2]/2;b=b+16|0;a=a+4|0;if((c|0)!=(a|0)){continue}break}}c=d&3;if(!c){break a}a=0;while(1){v[b>>2]=v[b>>2]/2;b=b+4|0;a=a+1|0;if((c|0)!=(a|0)){continue}break};break a;case 1:if((d|0)<=0){break a}a=v[a>>2];g=B(c,k)<<2;while(1){f=b+g|0;h=v[b>>2]-(v[f>>2]+1>>1)|0;v[a+4>>2]=h;f=h+v[f>>2]|0;v[a>>2]=f;v[b>>2]=f;v[(c<<2)+b>>2]=v[a+4>>2];b=b+4|0;e=e+1|0;if((e|0)!=(d|0)){continue}break};break a;default:break b}}if((i|0)<3|(d|0)<=0){break a}q=i&-4;n=i&3;r=i&1;j=v[a>>2];s=(j+(i<<2)|0)-4|0;a=i-2|0;t=j+(a<<2)|0;e=i|-2;u=((e+i|0)-3>>>1|0)+1|0;w=B(c,k)<<2;x=(a+e|0)+1>>>0<2;y=B((i>>>1|0)-1|0,c)<<2;while(1){k=b+w|0;g=v[k+(c<<2)>>2];a=v[k>>2];e=v[b>>2]-((g+a|0)+2>>2)|0;v[j>>2]=e+a;h=1;a=1;if(!x){while(1){z=v[(B(a,c)<<2)+b>>2];m=a+1|0;f=v[k+(B(m,c)<<2)>>2];o=j+(h<<2)|0;v[o>>2]=e;l=e;e=z-((f+g|0)+2>>2)|0;v[o+4>>2]=(l+e>>1)+g;h=h+2|0;l=(a|0)!=(u|0);a=m;g=f;if(l){continue}break}}v[j+(h<<2)>>2]=e;c:{if(!r){a=v[b+y>>2]-(g+1>>1)|0;v[t>>2]=(e+a>>1)+g;break c}a=e+g|0}v[s>>2]=a;e=0;a=0;g=0;if(i>>>0>=4){while(1){v[(B(a,c)<<2)+b>>2]=v[j+(a<<2)>>2];f=a|1;v[(B(f,c)<<2)+b>>2]=v[j+(f<<2)>>2];f=a|2;v[(B(f,c)<<2)+b>>2]=v[j+(f<<2)>>2];f=a|3;v[(B(f,c)<<2)+b>>2]=v[j+(f<<2)>>2];a=a+4|0;g=g+4|0;if((q|0)!=(g|0)){continue}break}}if(n){while(1){v[(B(a,c)<<2)+b>>2]=v[j+(a<<2)>>2];a=a+1|0;e=e+1|0;if((n|0)!=(e|0)){continue}break}}b=b+4|0;p=p+1|0;if((p|0)!=(d|0)){continue}break}}}function Lf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=pa-112|0;pa=e;v[e+104>>2]=0;a:{if((c|0)!=8){Ea(d,1,5144,0);Ea(d,1,5144,0);break a}Ga(b,a+204|0,2);Ga(b+2|0,e+108|0,4);Ga(b+6|0,e+100|0,1);Ga(b+7|0,e+104|0,1);g=v[a+204>>2];i=v[a+104>>2];if(g>>>0>=B(i,v[a+108>>2])>>>0){v[e+96>>2]=g;Ea(d,1,8850,e+96|0);break a}j=(g>>>0)/(i>>>0)|0;c=v[a+156>>2];b:{b=v[a+44>>2];if(!((b|0)<0|(b|0)==(g|0))){h=v[e+100>>2];break b}h=v[(c+B(g,5644)|0)+5588>>2]+1|0;b=v[e+100>>2];if((h|0)==(b|0)){break b}v[e+88>>2]=h;v[e+84>>2]=b;v[e+80>>2]=g;Ea(d,1,8874,e+80|0);break a}v[(c+B(g,5644)|0)+5588>>2]=h;c:{b=v[e+108>>2];if(b-1>>>0<=12){if((b|0)!=12){break c}v[e+48>>2]=12;Ea(d,2,12506,e+48|0);b=v[e+108>>2]}if(!b){Ea(d,4,11431,0);v[a+56>>2]=1}d:{e:{f:{g:{h=c+B(g,5644)|0;f=v[h+5592>>2];if(f){b=v[e+100>>2];if(b>>>0>>0){break g}v[e+36>>2]=f;v[e+32>>2]=b;Ea(d,1,6240,e+32|0);v[a+56>>2]=1;f=0;break a}c=v[e+104>>2];if(c){break f}break d}c=v[e+104>>2];if(!c){break e}}f=(w[a+68|0]>>>4&1)+c|0;v[e+104>>2]=f;h=h+5592|0;c=v[h>>2];b=v[e+100>>2];if(!(!c|c>>>0>b>>>0)){v[e+20>>2]=c;v[e+16>>2]=b;Ea(d,1,6141,e+16|0);v[a+56>>2]=1;f=0;break a}if(b>>>0>=f>>>0){v[e+4>>2]=f;v[e>>2]=b;Ea(d,1,6340,e);v[a+56>>2]=1;f=0;break a}v[h>>2]=f}if((v[e+100>>2]+1|0)!=(f|0)){break d}t[a+68|0]=w[a+68|0]|1}b=v[e+108>>2];v[a+8>>2]=16;v[a+24>>2]=v[a+56>>2]?0:b-12|0;b=v[a+44>>2];h:{if((b|0)==-1){f=4;b=g-B(j,i)|0;if(b>>>0>2]|b>>>0>=y[a+36>>2]|j>>>0>2]){break h}f=(j>>>0>=y[a+40>>2])<<2;break h}f=((b|0)!=v[a+204>>2])<<2}t[a+68|0]=w[a+68|0]&251|f;f=1;b=v[a+200>>2];if(!b){break a}h=v[b+40>>2];c=v[a+204>>2];b=h+B(c,40)|0;v[b>>2]=c;v[b+12>>2]=v[e+100>>2];g=v[e+104>>2];if(g){v[b+4>>2]=g;v[b+8>>2]=v[e+104>>2];c=v[e+104>>2];b=v[b+16>>2];if(!b){b=Ia(c,24);v[(v[v[a+200>>2]+40>>2]+B(v[a+204>>2],40)|0)+16>>2]=b;if(b){break a}f=0;Ea(d,1,7946,0);break a}b=Oa(b,B(c,24));c=v[v[a+200>>2]+40>>2]+B(v[a+204>>2],40)|0;if(!b){Fa(v[c+16>>2]);f=0;v[(v[v[a+200>>2]+40>>2]+B(v[a+204>>2],40)|0)+16>>2]=0;Ea(d,1,7946,0);break a}v[c+16>>2]=b;break a}i:{b=v[b+16>>2];if(b){break i}v[(B(c,40)+h|0)+8>>2]=10;b=Ia(10,24);h=v[v[a+200>>2]+40>>2];c=v[a+204>>2];g=h+B(c,40)|0;v[g+16>>2]=b;if(b){break i}f=0;v[g+8>>2]=0;Ea(d,1,7946,0);break a}g=v[e+100>>2];c=B(c,40)+h|0;if(g>>>0>2]){break a}h=c;c=g+1|0;v[h+8>>2]=c;b=Oa(b,B(c,24));c=v[v[a+200>>2]+40>>2]+B(v[a+204>>2],40)|0;if(!b){Fa(v[c+16>>2]);f=0;a=v[v[a+200>>2]+40>>2]+B(v[a+204>>2],40)|0;v[a+8>>2]=0;v[a+16>>2]=0;Ea(d,1,7946,0);break a}v[c+16>>2]=b;break a}v[e+64>>2]=b;Ea(d,1,12775,e- -64|0)}pa=e+112|0;return f|0}function $c(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;u=pa-16|0;pa=u;a:{if(!c){Ea(d,1,12271,0);break a}E=v[c+16>>2];k=v[a+72>>2];if(E>>>0>2]){Ea(d,1,11306,0);break a}h=v[a+104>>2];o=B(h,v[a+108>>2]);if(o>>>0<=e>>>0){v[u>>2]=e;v[u+4>>2]=o-1;Ea(d,1,17004,u);break a}o=(e>>>0)/(h>>>0)|0;g=e-B(o,h)|0;h=v[a+84>>2]+B(g,v[a+92>>2])|0;v[c>>2]=h;k=v[k>>2];x=h>>>0>k>>>0?h:k;v[c>>2]=x;h=v[a+84>>2]+B(v[a+92>>2],g+1|0)|0;v[c+8>>2]=h;g=v[v[a+72>>2]+8>>2];h=g>>>0>h>>>0?h:g;v[c+8>>2]=h;g=v[a+88>>2]+B(o,v[a+96>>2])|0;v[c+4>>2]=g;k=v[v[a+72>>2]+4>>2];z=g>>>0>k>>>0?g:k;v[c+4>>2]=z;o=v[a+88>>2]+B(v[a+96>>2],o+1|0)|0;v[c+12>>2]=o;g=v[v[a+72>>2]+12>>2];o=g>>>0>o>>>0?o:g;v[c+12>>2]=o;g=v[a+72>>2];k=v[g+16>>2];if(k){G=o>>31;H=h>>31;I=z>>31;J=x>>31;K=v[g+24>>2];g=v[c+24>>2];while(1){q=v[(K+B(s,52)|0)+40>>2];v[g+40>>2]=q;l=v[g>>2];t=l>>31;F=t-!l|0;i=J+F|0;f=i+1|0;j=i;w=l-1|0;i=x+w|0;f=i>>>0>>0?f:j;A=Rf(i,f,l,t);v[g+16>>2]=A;f=v[g+4>>2];m=f>>31;j=m-!f|0;i=I+j|0;C=i+1|0;n=i;p=f-1|0;i=z+p|0;r=i>>>0>>0?C:n;D=Rf(i,r,f,m);v[g+20>>2]=D;i=q&31;if((q&63)>>>0>=32){r=-1<>>32-i}i=n^-1;j=j+G|0;C=j+1|0;n=j;j=o+p|0;p=p>>>0>j>>>0?C:n;r=r^-1;f=Rf(j,p,f,m);m=r+(f>>31)|0;n=m+1|0;j=m;m=f+i|0;p=f>>>0>m>>>0?n:j;j=q&31;f=j;q=(q&63)>>>0>=32;n=q?p>>f:((1<>>f;f=r+(D>>31)|0;m=i+D|0;p=m>>>0>>0?f+1|0:f;f=j;v[g+12>>2]=n-(q?p>>f:((1<>>f);f=H+F|0;m=f+1|0;n=f;f=h+w|0;w=f>>>0>>0?m:n;l=Rf(f,w,l,t);f=r+(l>>31)|0;m=f+1|0;n=f;f=i+l|0;t=f>>>0>>0?m:n;l=j;m=q?t>>l:((1<>>l;l=r+(A>>31)|0;n=l+1|0;f=l;l=i+A|0;f=i>>>0>l>>>0?n:f;i=j;v[g+8>>2]=m-(q?f>>i:((1<>>i);g=g+52|0;s=s+1|0;if((s|0)!=(k|0)){continue}break}}if(k>>>0>>0){g=v[c+24>>2];while(1){h=B(k,52);Fa(v[(h+g|0)+44>>2]);g=v[c+24>>2];v[(h+g|0)+44>>2]=0;k=k+1|0;if(k>>>0>2]){continue}break}v[c+16>>2]=v[v[a+72>>2]+16>>2]}h=v[a+76>>2];if(h){Za(h)}h=rb();v[a+76>>2]=h;g=0;if(!h){break a}Cb(c,h);v[a+44>>2]=e;if(!db(v[a+192>>2],82,d)){break a}e=v[a+192>>2];h=v[e>>2];k=v[e+8>>2];b:{if(h){g=1;if((h|0)!=1){o=h&-2;s=0;while(1){j=0;c:{if(!g){break c}j=0;if(!(ta[v[k>>2]](a,b,d)|0)){break c}j=(ta[v[k+4>>2]](a,b,d)|0)!=0}g=j;k=k+8|0;s=s+2|0;if((o|0)!=(s|0)){continue}break}}d:{e:{if(h&1){if(!g){break e}g=(ta[v[k>>2]](a,b,d)|0)!=0}v[e>>2]=0;if(!(g&1)){break d}break b}v[e>>2]=0}Za(v[a+72>>2]);g=0;v[a+72>>2]=0;break a}v[e>>2]=0}g=bd(a,c)}pa=u+16|0;return g|0}function Ic(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:{n=B(e,3);h=v[b>>2]>>>n|0;if(h&2097168){break a}h=h&495;if(!h){break a}l=(w[h+v[a+108>>2]|0]<<2)+a|0;v[a+104>>2]=l+28;k=v[l+28>>2];i=v[k>>2];h=v[a+4>>2]-i|0;v[a+4>>2]=h;j=v[a>>2];b:{if(j>>>16>>>0>>0){v[a+4>>2]=i;m=v[k+4>>2];h=h>>>0>>0;v[l+28>>2]=v[k+(h?8:12)>>2];k=h?m:!m;h=v[a+8>>2];while(1){c:{if(h){break c}h=v[a+16>>2];m=h+1|0;l=w[h+1|0];if(w[h|0]==255){if(l>>>0>=144){v[a+12>>2]=v[a+12>>2]+1;j=j+65280|0;h=8;break c}v[a+16>>2]=m;j=(l<<9)+j|0;h=7;break c}v[a+16>>2]=m;h=8;j=(l<<8)+j|0}h=h-1|0;v[a+8>>2]=h;j=j<<1;v[a>>2]=j;i=i<<1;v[a+4>>2]=i;if(i>>>0<32768){continue}break}h=i;break b}j=j-(i<<16)|0;v[a>>2]=j;if(!(h&32768)){m=v[k+4>>2];i=h>>>0>>0;v[l+28>>2]=v[k+(i?12:8)>>2];k=i?!m:m;i=v[a+8>>2];while(1){d:{if(i){break d}i=v[a+16>>2];m=i+1|0;l=w[i+1|0];if(w[i|0]==255){if(l>>>0>=144){v[a+12>>2]=v[a+12>>2]+1;j=j+65280|0;i=8;break d}v[a+16>>2]=m;j=(l<<9)+j|0;i=7;break d}v[a+16>>2]=m;i=8;j=(l<<8)+j|0}i=i-1|0;v[a+8>>2]=i;j=j<<1;v[a>>2]=j;h=h<<1;v[a+4>>2]=h;if(h>>>0<32768){continue}break}break b}k=v[k+4>>2]}e:{if(!k){break e}o=b-4|0;i=v[b>>2];k=v[b+4>>2]>>>n+17&4|(v[o>>2]>>>n+19&1|(i>>>n+16&64|i>>>n&170|i>>>(e?n+12|0:14)&16));m=(w[k+25824|0]<<2)+a|0;v[a+104>>2]=m+28;l=v[m+28>>2];i=v[l>>2];h=h-i|0;v[a+4>>2]=h;p=w[k+26080|0];f:{if(j>>>16>>>0>>0){v[a+4>>2]=i;k=v[l+4>>2];h=h>>>0>>0;v[m+28>>2]=v[l+(h?8:12)>>2];l=h?k:!k;h=v[a+8>>2];while(1){g:{if(h){break g}h=v[a+16>>2];m=h+1|0;k=w[h+1|0];if(w[h|0]==255){if(k>>>0>=144){v[a+12>>2]=v[a+12>>2]+1;j=j+65280|0;h=8;break g}v[a+16>>2]=m;j=(k<<9)+j|0;h=7;break g}v[a+16>>2]=m;h=8;j=(k<<8)+j|0}h=h-1|0;v[a+8>>2]=h;j=j<<1;v[a>>2]=j;i=i<<1;v[a+4>>2]=i;if(i>>>0<32768){continue}break}break f}k=j-(i<<16)|0;v[a>>2]=k;if(!(h&32768)){j=v[l+4>>2];i=h>>>0>>0;v[m+28>>2]=v[l+(i?12:8)>>2];l=i?!j:j;j=v[a+8>>2];while(1){h:{if(j){break h}j=v[a+16>>2];m=j+1|0;i=w[j+1|0];if(w[j|0]==255){if(i>>>0>=144){v[a+12>>2]=v[a+12>>2]+1;k=k+65280|0;j=8;break h}v[a+16>>2]=m;k=(i<<9)+k|0;j=7;break h}v[a+16>>2]=m;j=8;k=(i<<8)+k|0}j=j-1|0;v[a+8>>2]=j;k=k<<1;v[a>>2]=k;h=h<<1;v[a+4>>2]=h;if(h>>>0<32768){continue}break}break f}l=v[l+4>>2]}a=c;c=l^p;v[a>>2]=c?0-d|0:d;v[o>>2]=v[o>>2]|32<>2]=v[b>>2]|(c<<19|16)<>2]=v[b+4>>2]|8<>2]=v[a+4>>2]|32768;v[a>>2]=v[a>>2]|c<<31|65536;a=a-4|0;v[a>>2]=v[a>>2]|131072}if((e|0)!=3){break e}a=(f<<2)+b|0;v[a+4>>2]=v[a+4>>2]|1;v[a>>2]=v[a>>2]|c<<18|2;a=a-4|0;v[a>>2]=v[a>>2]|4}v[b>>2]=v[b>>2]|2097152<>2]>>>m|0;if(g&2097168){break a}k=(w[v[a+108>>2]+(g&495)|0]<<2)+a|0;v[a+104>>2]=k+28;j=v[k+28>>2];h=v[j>>2];g=v[a+4>>2]-h|0;v[a+4>>2]=g;i=v[a>>2];b:{if(i>>>16>>>0>>0){v[a+4>>2]=h;l=v[j+4>>2];g=g>>>0>>0;v[k+28>>2]=v[j+(g?8:12)>>2];j=g?l:!l;g=v[a+8>>2];while(1){c:{if(g){break c}g=v[a+16>>2];l=g+1|0;k=w[g+1|0];if(w[g|0]==255){if(k>>>0>=144){v[a+12>>2]=v[a+12>>2]+1;i=i+65280|0;g=8;break c}v[a+16>>2]=l;i=(k<<9)+i|0;g=7;break c}v[a+16>>2]=l;g=8;i=(k<<8)+i|0}g=g-1|0;v[a+8>>2]=g;i=i<<1;v[a>>2]=i;h=h<<1;v[a+4>>2]=h;if(h>>>0<32768){continue}break}g=h;break b}i=i-(h<<16)|0;v[a>>2]=i;if(!(g&32768)){l=v[j+4>>2];h=g>>>0>>0;v[k+28>>2]=v[j+(h?12:8)>>2];j=h?!l:l;h=v[a+8>>2];while(1){d:{if(h){break d}h=v[a+16>>2];l=h+1|0;k=w[h+1|0];if(w[h|0]==255){if(k>>>0>=144){v[a+12>>2]=v[a+12>>2]+1;i=i+65280|0;h=8;break d}v[a+16>>2]=l;i=(k<<9)+i|0;h=7;break d}v[a+16>>2]=l;h=8;i=(k<<8)+i|0}h=h-1|0;v[a+8>>2]=h;i=i<<1;v[a>>2]=i;g=g<<1;v[a+4>>2]=g;if(g>>>0<32768){continue}break}break b}j=v[j+4>>2]}if(!j){break a}n=b-4|0;h=v[b>>2];o=v[b+4>>2]>>>m+17&4|(v[n>>2]>>>m+19&1|(h>>>m+16&64|h>>>m&170|h>>>(e?m+12|0:14)&16));l=(w[o+25824|0]<<2)+a|0;v[a+104>>2]=l+28;k=v[l+28>>2];h=v[k>>2];g=g-h|0;v[a+4>>2]=g;e:{if(i>>>16>>>0>>0){v[a+4>>2]=h;j=v[k+4>>2];g=g>>>0>>0;v[l+28>>2]=v[k+(g?8:12)>>2];k=g?j:!j;g=v[a+8>>2];while(1){f:{if(g){break f}g=v[a+16>>2];l=g+1|0;j=w[g+1|0];if(w[g|0]==255){if(j>>>0>=144){v[a+12>>2]=v[a+12>>2]+1;i=i+65280|0;g=8;break f}v[a+16>>2]=l;i=(j<<9)+i|0;g=7;break f}v[a+16>>2]=l;g=8;i=(j<<8)+i|0}g=g-1|0;v[a+8>>2]=g;i=i<<1;v[a>>2]=i;h=h<<1;v[a+4>>2]=h;if(h>>>0<32768){continue}break}break e}j=i-(h<<16)|0;v[a>>2]=j;if(!(g&32768)){i=v[k+4>>2];h=g>>>0>>0;v[l+28>>2]=v[k+(h?12:8)>>2];k=h?!i:i;i=v[a+8>>2];while(1){g:{if(i){break g}i=v[a+16>>2];l=i+1|0;h=w[i+1|0];if(w[i|0]==255){if(h>>>0>=144){v[a+12>>2]=v[a+12>>2]+1;j=j+65280|0;i=8;break g}v[a+16>>2]=l;j=(h<<9)+j|0;i=7;break g}v[a+16>>2]=l;i=8;j=(h<<8)+j|0}i=i-1|0;v[a+8>>2]=i;j=j<<1;v[a>>2]=j;g=g<<1;v[a+4>>2]=g;if(g>>>0<32768){continue}break}break e}k=v[k+4>>2]}g=0-d|0;h=d;d=w[o+26080|0]^k;v[c>>2]=d?g:h;v[n>>2]=v[n>>2]|32<>2]=v[b>>2]|(d<<19|16)<>2]=v[b+4>>2]|8<>2]<<2)+b|0;v[c+4>>2]=v[c+4>>2]|32768;v[c>>2]=v[c>>2]|d<<31|65536;c=c-4|0;v[c>>2]=v[c>>2]|131072}if((e|0)!=3){break a}a=(v[a+124>>2]<<2)+b|0;v[a+4>>2]=v[a+4>>2]|4;v[a+12>>2]=v[a+12>>2]|1;v[a+8>>2]=v[a+8>>2]|d<<18|2}} +function id(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=pa-208|0;pa=h;j=v[a+72>>2];a:{if(!(!(v[v[a+156>>2]+5596>>2]?v[a+104>>2]!=1|v[a+108>>2]!=1:1)|v[a+8>>2]==8)){Ea(g,1,11350,0);break a}l=v[b+16>>2];b:{if(!l){break b}k=v[b+24>>2];if(l>>>0>=4){m=l&-4;while(1){v[(B(i,52)+k|0)+40>>2]=v[a+160>>2];v[(B(i|1,52)+k|0)+40>>2]=v[a+160>>2];v[(B(i|2,52)+k|0)+40>>2]=v[a+160>>2];v[(B(i|3,52)+k|0)+40>>2]=v[a+160>>2];i=i+4|0;n=n+4|0;if((m|0)!=(n|0)){continue}break}}l=l&3;if(!l){break b}while(1){v[(B(i,52)+k|0)+40>>2]=v[a+160>>2];i=i+1|0;o=o+1|0;if((l|0)!=(o|0)){continue}break}}if(!(c|d|e|f)){Ea(g,4,7408,0);v[a+28>>2]=0;v[a+32>>2]=0;c=v[a+108>>2];v[a+36>>2]=v[a+104>>2];v[a+40>>2]=c;v[b>>2]=v[j>>2];v[b+4>>2]=v[j+4>>2];v[b+8>>2]=v[j+8>>2];v[b+12>>2]=v[j+12>>2];i=Pb(b,g);break a}if((c|0)<0){v[h>>2]=c;Ea(g,1,13244,h);i=0;break a}i=v[j+8>>2];if(i>>>0>>0){v[h+20>>2]=i;v[h+16>>2]=c;Ea(g,1,13712,h+16|0);i=0;break a}i=v[j>>2];c:{if(i>>>0>c>>>0){v[h+196>>2]=i;v[h+192>>2]=c;Ea(g,2,14064,h+192|0);v[a+28>>2]=0;c=v[j>>2];break c}v[a+28>>2]=(c-v[a+84>>2]>>>0)/y[a+92>>2]}v[b>>2]=c;if((d|0)<0){v[h+32>>2]=d;Ea(g,1,13180,h+32|0);i=0;break a}c=v[j+12>>2];if(c>>>0>>0){v[h+52>>2]=c;v[h+48>>2]=d;Ea(g,1,13539,h+48|0);i=0;break a}c=v[j+4>>2];d:{if(c>>>0>d>>>0){v[h+180>>2]=c;v[h+176>>2]=d;Ea(g,2,13889,h+176|0);v[a+32>>2]=0;d=v[j+4>>2];break d}v[a+32>>2]=(d-v[a+88>>2]>>>0)/y[a+96>>2]}v[b+4>>2]=d;i=0;if((e|0)<=0){v[h+64>>2]=e;Ea(g,1,13114,h- -64|0);break a}c=v[j>>2];if(c>>>0>e>>>0){v[h+84>>2]=c;v[h+80>>2]=e;Ea(g,1,13975,h+80|0);break a}c=v[j+8>>2];e:{if(c>>>0>>0){v[h+164>>2]=c;v[h+160>>2]=e;Ea(g,2,13624,h+160|0);v[a+36>>2]=v[a+104>>2];e=v[j+8>>2];break e}c=v[a+92>>2];k=e-v[a+84>>2]|0;l=k;d=c+k|0;m=c>>31;k=m+(k>>31)|0;k=d>>>0>>0?k+1|0:k;p=a,q=Rf(d-1|0,k-!d|0,c,m),v[p+36>>2]=q}v[b+8>>2]=e;if((f|0)<=0){v[h+96>>2]=f;Ea(g,1,13047,h+96|0);break a}c=v[j+4>>2];if(c>>>0>f>>>0){v[h+116>>2]=c;v[h+112>>2]=f;Ea(g,1,13799,h+112|0);break a}c=v[j+12>>2];f:{if(c>>>0>>0){v[h+148>>2]=c;v[h+144>>2]=f;Ea(g,2,13450,h+144|0);v[a+40>>2]=v[a+108>>2];f=v[j+12>>2];break f}c=v[a+96>>2];e=f-v[a+88>>2]|0;i=e;d=c+i|0;j=c>>31;e=j+(i>>31)|0;e=d>>>0>>0?e+1|0:e;p=a,q=Rf(d-1|0,e-!d|0,c,j),v[p+40>>2]=q}v[b+12>>2]=f;t[a+68|0]=w[a+68|0]|2;i=Pb(b,g);if(!i){i=0;break a}a=v[b>>2];c=v[b+4>>2];d=v[b+12>>2];v[h+136>>2]=v[b+8>>2];v[h+140>>2]=d;v[h+128>>2]=a;v[h+132>>2]=c;Ea(g,4,8617,h+128|0)}pa=h+208|0;return i|0}function vf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=pa-16|0;pa=g;if(v[a+8>>2]==16){h=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{h=v[a+12>>2]}a:{if(c>>>0<=1){Ea(d,1,5811,0);a=0;break a}Ga(b,g+12|0,2);if(v[g+12>>2]){Ea(d,2,6961,0);a=1;break a}if(c>>>0<=6){Ea(d,1,5811,0);a=0;break a}Ga(b+2|0,g+8|0,1);j=v[h+5628>>2];a=j;b:{c:{d:{e=v[h+5632>>2];if(!e){break d}i=v[g+8>>2];while(1){if((i|0)==v[a>>2]){break d}a=a+20|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}break c}if((e|0)!=(f|0)){break b}}if((e|0)==v[h+5636>>2]){a=e+10|0;v[h+5636>>2]=a;a=Oa(j,B(a,20));if(!a){Fa(v[h+5628>>2]);v[h+5636>>2]=0;v[h+5628>>2]=0;v[h+5632>>2]=0;Ea(d,1,5837,0);a=0;break a}v[h+5628>>2]=a;e=v[h+5632>>2];Ka(a+B(e,20)|0,0,B(v[h+5636>>2]-e|0,20));j=v[h+5628>>2];e=v[h+5632>>2]}a=B(e,20)+j|0;n=1}v[a>>2]=v[g+8>>2];Ga(b+3|0,g+12|0,2);if(v[g+12>>2]){Ea(d,2,6961,0);a=1;break a}Ga(b+5|0,g+4|0,2);f=v[g+4>>2];if(f>>>0>=2){Ea(d,2,4227,0);a=1;break a}e=c-7|0;if(f){c=b+7|0;j=0;while(1){if(e>>>0<=2){Ea(d,1,5811,0);a=0;break a}Ga(c,g+12|0,1);if(v[g+12>>2]!=1){Ea(d,2,6669,0);a=1;break a}Ga(c+1|0,g,2);f=v[g>>2];b=f&32767;v[a+4>>2]=b;i=e-3|0;e=(f>>>15|0)+1|0;k=B(e,b)+2|0;if(i>>>0>>0){Ea(d,1,5811,0);a=0;break a}c=c+3|0;f=0;if(b){while(1){Ga(c,g+12|0,e);if(v[g+12>>2]!=(f|0)){Ea(d,2,7323,0);a=1;break a}c=c+e|0;f=f+1|0;if(f>>>0>2]){continue}break}}Ga(c,g,2);e=v[g>>2];b=e&32767;v[g>>2]=b;if((b|0)!=v[a+4>>2]){Ea(d,2,4403,0);a=1;break a}e=(e>>>15|0)+1|0;l=B(e,b)+3|0;k=i-k|0;if(l>>>0>k>>>0){Ea(d,1,5811,0);a=0;break a}c=c+2|0;f=0;if(b){while(1){Ga(c,g+12|0,e);if(v[g+12>>2]!=(f|0)){Ea(d,2,7323,0);a=1;break a}c=c+e|0;f=f+1|0;if(f>>>0>2]){continue}break}}Ga(c,g+12|0,3);e=v[g+12>>2];v[a+8>>2]=0;v[a+12>>2]=0;t[a+16|0]=(e>>>16&1|w[a+16|0]&254)^1;i=e&255;v[g+8>>2]=i;e:{if(!i){break e}m=v[h+5620>>2];if(m){f=v[h+5616>>2];b=0;while(1){if((i|0)==v[f+8>>2]){v[a+8>>2]=f;break e}f=f+20|0;b=b+1|0;if((m|0)!=(b|0)){continue}break}}Ea(d,1,5811,0);a=0;break a}e=e>>>8&255;v[g+8>>2]=e;f:{if(!e){break f}i=v[h+5620>>2];if(i){f=v[h+5616>>2];b=0;while(1){if((e|0)==v[f+8>>2]){v[a+12>>2]=f;break f}f=f+20|0;b=b+1|0;if((i|0)!=(b|0)){continue}break}}Ea(d,1,5811,0);a=0;break a}e=k-l|0;c=c+3|0;j=j+1|0;if(j>>>0>2]){continue}break}}if(e){Ea(d,1,5811,0);a=0;break a}a=1;if(!n){break a}v[h+5632>>2]=v[h+5632>>2]+1;a=1}pa=g+16|0;return a|0}function Sc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=pa-144|0;pa=f;a:{b:{i=v[b+8>>2];c:{if(!i){g=v[b+12>>2];break c}e=v[a+16>>2];h=x[i+4>>1];g=v[b+12>>2];if(!(!g|!v[g+12>>2])){e=w[g+18|0]}d:{if(h){i=v[i>>2];b=0;while(1){d=i+B(b,6)|0;k=x[d>>1];if(k>>>0>=e>>>0){v[f+132>>2]=e;v[f+128>>2]=k;Ea(c,1,14357,f+128|0);k=0;break a}e:{d=x[d+4>>1];if(!(!d|(d|0)==65535)){d=d-1|0;if(d>>>0>=e>>>0){break e}}b=b+1|0;if((h|0)==(b|0)){break d}continue}break}v[f+116>>2]=e;v[f+112>>2]=d;Ea(c,1,14357,f+112|0);k=0;break a}if(e){break b}break c}if(!h){break b}while(1){e=e-1|0;b=0;while(1){if(x[i+B(b,6)>>1]!=(e|0)){b=b+1|0;if((h|0)!=(b|0)){continue}break b}break}if((h|0)==(b&65535)){break b}if(e){continue}break}}k=1;if(!g){break a}i=v[g+12>>2];if(!i){break a}f:{e=w[g+18|0];g:{if(e){b=0;h=1;while(1){g=v[a+16>>2];d=x[i+(b<<2)>>1];if(g>>>0<=d>>>0){v[f+100>>2]=g;v[f+96>>2]=d;Ea(c,1,14357,f+96|0);h=0}b=b+1|0;if((e|0)!=(b|0)){continue}break}g=Ia(e,4);if(!g){break g}b=0;if(e){while(1){d=i+(b<<2)|0;l=w[d+2|0];h:{if(l>>>0>=2){v[f+20>>2]=l;v[f+16>>2]=b;Ea(c,1,12736,f+16|0);h=0;break h}d=w[d+3|0];if(d>>>0>=e>>>0){v[f+80>>2]=d;Ea(c,1,12680,f+80|0);h=0;break h}j=(d<<2)+g|0;if(!(!v[j>>2]|(l|0)!=1)){v[f+32>>2]=d;Ea(c,1,12209,f+32|0);h=0;break h}if(!(!d|l)){v[f+52>>2]=d;v[f+48>>2]=b;Ea(c,1,12543,f+48|0);h=0;break h}if(!((b|0)==(d|0)|(l|0)!=1)){v[f+72>>2]=d;v[f+68>>2]=b;v[f+64>>2]=b;Ea(c,1,12579,f- -64|0);h=0;break h}v[j>>2]=1}b=b+1|0;if((e|0)!=(b|0)){continue}break}if(e){b=0;while(1){d=b<<2;if(!(v[d+g>>2]|!w[(d+i|0)+2|0])){v[f>>2]=b;Ea(c,1,11837,f);h=0}b=b+1|0;if((e|0)!=(b|0)){continue}break}}b=e}if(!h){Fa(g);k=0;break a}if(!e|v[a+16>>2]!=1){break f}a=0;d=0;while(1){if(v[(a<<2)+g>>2]){d=d+1|0;a=d&65535;if(e>>>0>a>>>0){continue}break f}break}d=0;Ea(c,2,10211,0);a=0;e=0;if(b-1>>>0>=3){l=b&252;h=0;while(1){c=a<<2;j=c+i|0;t[j+3|0]=e;t[j+2|0]=1;j=i+(c|4)|0;t[j+3|0]=e|1;t[j+2|0]=1;j=i+(c|8)|0;t[j+3|0]=e|2;t[j+2|0]=1;c=i+(c|12)|0;t[c+3|0]=e|3;t[c+2|0]=1;e=e+4|0;a=a+4|0;h=h+4|0;if((l|0)!=(h|0)){continue}break}}b=b&3;if(!b){break f}while(1){c=i+(a<<2)|0;t[c+3|0]=e;t[c+2|0]=1;e=e+1|0;a=a+1|0;d=d+1|0;if((b|0)!=(d|0)){continue}break}break f}g=Ia(e,4);if(g){break f}}k=0;Ea(c,1,12927,0);break a}Fa(g);break a}k=0;Ea(c,1,10262,0)}pa=f+144|0;return k}function Rc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=pa-16|0;pa=p;o=v[a+24>>2];a:{b:{c:{d:{e:{f=v[b+12>>2];i=w[f+18|0];if(i){r=v[f+12>>2];s=v[f>>2];g=v[f+4>>2];n=v[f+8>>2];while(1){if(v[(B(x[(e<<2)+r>>1],52)+o|0)+44>>2]){d=d+1|0;e=d&65535;if(i>>>0>e>>>0){continue}break e}break}v[p>>2]=e;Ea(c,1,14519,p);a=0;break a}b=B(i,52);i=0;k=Ja(b);if(!k){break d}break b}k=Ja(B(i,52));if(k){break c}}Ea(c,1,14467,0);a=0;break a}if(!i){break b}e=0;while(1){d=(e<<2)+r|0;h=x[d>>1];f=B(w[d+2|0]?w[d+3|0]:e,52)+k|0;d=B(h,52)+o|0;h=v[d+4>>2];v[f>>2]=v[d>>2];v[f+4>>2]=h;v[f+48>>2]=v[d+48>>2];h=v[d+44>>2];v[f+40>>2]=v[d+40>>2];v[f+44>>2]=h;h=v[d+36>>2];v[f+32>>2]=v[d+32>>2];v[f+36>>2]=h;h=v[d+28>>2];v[f+24>>2]=v[d+24>>2];v[f+28>>2]=h;h=v[d+20>>2];v[f+16>>2]=v[d+16>>2];v[f+20>>2]=h;h=v[d+12>>2];v[f+8>>2]=v[d+8>>2];v[f+12>>2]=h;f=B(e,52)+k|0;d=Pa(B(v[d+8>>2],v[d+12>>2])<<2);v[f+44>>2]=d;if(!d){if(e&65535){while(1){e=e-1|0;Fa(v[(B(e,52)+k|0)+44>>2]);if(e){continue}break}}Fa(k);Ea(c,1,14467,0);a=0;break a}v[f+24>>2]=w[e+n|0];v[f+32>>2]=w[e+g|0];e=e+1|0;if((i|0)!=(e|0)){continue}break}if(!i){break b}n=x[v[b+12>>2]+16>>1];h=n-1|0;while(1){e=B(q,52)+k|0;b=B(v[e+12>>2],v[e+8>>2]);d=(q<<2)+r|0;c=v[(B(x[d>>1],52)+o|0)+44>>2];f:{if(!w[d+2|0]){if(!b){break f}f=v[e+44>>2];e=0;d=0;if(b>>>0>=4){l=b&-4;j=0;while(1){g=d<<2;v[g+f>>2]=v[c+g>>2];m=g|4;v[m+f>>2]=v[c+m>>2];m=g|8;v[m+f>>2]=v[c+m>>2];g=g|12;v[g+f>>2]=v[c+g>>2];d=d+4|0;j=j+4|0;if((l|0)!=(j|0)){continue}break}}b=b&3;if(!b){break f}while(1){g=d<<2;v[g+f>>2]=v[c+g>>2];d=d+1|0;e=e+1|0;if((b|0)!=(e|0)){continue}break}break f}if(!b){break f}f=w[d+3|0];g=v[(B(f,52)+k|0)+44>>2];d=0;if((b|0)!=1){m=b&-2;e=0;while(1){l=d<<2;j=v[l+c>>2];v[g+l>>2]=v[(f+B((j|0)>=0?(j|0)<(n|0)?j:h:0,i)<<2)+s>>2];l=l|4;j=v[l+c>>2];v[g+l>>2]=v[(f+B((j|0)>=0?(j|0)<(n|0)?j:h:0,i)<<2)+s>>2];d=d+2|0;e=e+2|0;if((m|0)!=(e|0)){continue}break}}if(!(b&1)){break f}e=d<<2;b=v[c+e>>2];v[e+g>>2]=v[(f+B((b|0)>=0?(b|0)<(n|0)?b:h:0,i)<<2)+s>>2]}q=q+1|0;if((q|0)!=(i|0)){continue}break}}b=v[a+16>>2];if(b){e=0;while(1){c=v[(B(e,52)+o|0)+44>>2];if(c){Fa(c)}e=e+1|0;if((b|0)!=(e|0)){continue}break}}Fa(o);v[a+16>>2]=i;v[a+24>>2]=k;a=1}pa=p+16|0;return a}function qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(y[a+44>>2]>=8){i=v[a+40>>2];l=8;while(1){k=v[a+12>>2]<<5;e=v[a>>2];g=v[a+36>>2];b=v[a+16>>2];h=v[a+20>>2];a:{if(b>>>0>=h>>>0){break a}j=e+k|0;d=b+1|0;if(h-b&1){c=j+(b<<6)|0;b=(B(b,g)<<2)+i|0;f=v[b+4>>2];v[c>>2]=v[b>>2];v[c+4>>2]=f;f=v[b+28>>2];v[c+24>>2]=v[b+24>>2];v[c+28>>2]=f;f=v[b+20>>2];v[c+16>>2]=v[b+16>>2];v[c+20>>2]=f;f=v[b+12>>2];v[c+8>>2]=v[b+8>>2];v[c+12>>2]=f;b=d}if((d|0)==(h|0)){break a}while(1){d=(B(b,g)<<2)+i|0;f=v[d+4>>2];c=j+(b<<6)|0;v[c>>2]=v[d>>2];v[c+4>>2]=f;f=v[d+28>>2];v[c+24>>2]=v[d+24>>2];v[c+28>>2]=f;f=v[d+20>>2];v[c+16>>2]=v[d+16>>2];v[c+20>>2]=f;f=v[d+12>>2];v[c+8>>2]=v[d+8>>2];v[c+12>>2]=f;d=b+1|0;c=j+(d<<6)|0;d=(B(d,g)<<2)+i|0;f=v[d+28>>2];v[c+24>>2]=v[d+24>>2];v[c+28>>2]=f;f=v[d+20>>2];v[c+16>>2]=v[d+16>>2];v[c+20>>2]=f;f=v[d+12>>2];v[c+8>>2]=v[d+8>>2];v[c+12>>2]=f;f=v[d+4>>2];v[c>>2]=v[d>>2];v[c+4>>2]=f;b=b+2|0;if((h|0)!=(b|0)){continue}break}}b=v[a+24>>2];h=v[a+28>>2];b:{if(b>>>0>=h>>>0){break b}j=(e-k|0)+32|0;k=(B(g,v[a+8>>2])<<2)+i|0;d=b+1|0;if(h-b&1){c=j+(b<<6)|0;b=k+(B(b,g)<<2)|0;e=v[b+4>>2];v[c>>2]=v[b>>2];v[c+4>>2]=e;e=v[b+28>>2];v[c+24>>2]=v[b+24>>2];v[c+28>>2]=e;e=v[b+20>>2];v[c+16>>2]=v[b+16>>2];v[c+20>>2]=e;e=v[b+12>>2];v[c+8>>2]=v[b+8>>2];v[c+12>>2]=e;b=d}if((d|0)==(h|0)){break b}while(1){d=k+(B(b,g)<<2)|0;e=v[d+4>>2];c=j+(b<<6)|0;v[c>>2]=v[d>>2];v[c+4>>2]=e;e=v[d+28>>2];v[c+24>>2]=v[d+24>>2];v[c+28>>2]=e;e=v[d+20>>2];v[c+16>>2]=v[d+16>>2];v[c+20>>2]=e;e=v[d+12>>2];v[c+8>>2]=v[d+8>>2];v[c+12>>2]=e;d=b+1|0;c=j+(d<<6)|0;d=k+(B(d,g)<<2)|0;e=v[d+28>>2];v[c+24>>2]=v[d+24>>2];v[c+28>>2]=e;e=v[d+20>>2];v[c+16>>2]=v[d+16>>2];v[c+20>>2]=e;e=v[d+12>>2];v[c+8>>2]=v[d+8>>2];v[c+12>>2]=e;e=v[d+4>>2];v[c>>2]=v[d>>2];v[c+4>>2]=e;b=b+2|0;if((h|0)!=(b|0)){continue}break}}$a(a);b=0;if(v[a+32>>2]){while(1){d=v[a>>2]+(b<<5)|0;c=v[d+4>>2];g=(B(v[a+36>>2],b)<<2)+i|0;v[g>>2]=v[d>>2];v[g+4>>2]=c;c=v[d+28>>2];v[g+24>>2]=v[d+24>>2];v[g+28>>2]=c;c=v[d+20>>2];v[g+16>>2]=v[d+16>>2];v[g+20>>2]=c;c=v[d+12>>2];v[g+8>>2]=v[d+8>>2];v[g+12>>2]=c;b=b+1|0;if(b>>>0>2]){continue}break}}i=i+32|0;l=l+8|0;if(l>>>0<=y[a+44>>2]){continue}break}}Fa(v[a>>2]);Fa(a)}function hd(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{d=Ia(1,232);if(d){v[d>>2]=1;v[d+184>>2]=1;t[d+188|0]=w[d+188|0]|6;a=Ia(1,5644);v[d+12>>2]=a;if(!a){break a}a=Ia(1,1e3);v[d+16>>2]=a;if(!a){break a}v[d+48>>2]=0;v[d+52>>2]=0;v[d+44>>2]=-1;v[d+20>>2]=1e3;b:{b=Ia(1,48);if(b){v[b+24>>2]=0;v[b+32>>2]=100;a=Ia(100,24);v[b+28>>2]=a;if(a){break b}Fa(b)}v[d+200>>2]=0;break a}v[b+40>>2]=0;v[d+200>>2]=b;a=wb();v[d+196>>2]=a;if(!a){break a}a=wb();v[d+192>>2]=a;if(!a){break a}b=1963;c:{while(1){a=w[b|0];if(!a|(a|0)==61){break c}b=b+1|0;if(b&3){continue}break}e=v[b>>2];d:{if((e^-1)&e-16843009&-2139062144){break d}while(1){a=e^1027423549;if((a^-1)&a-16843009&-2139062144){break d}e=v[b+4>>2];b=b+4|0;if(!(e-16843009&(e^-1)&-2139062144)){continue}break}}while(1){a=b;c=w[b|0];if(c){b=a+1|0;if((c|0)!=61){continue}}break}b=a}a=0;e:{if((b|0)==1963){break e}f=b-1963|0;f:{if(w[f+1963|0]){break f}h=v[7343];if(!h){break f}b=v[h>>2];if(!b){break f}while(1){g:{c=0;i=1963;a=f;c=0;h:{if(!a){break h}e=w[1963];i:{if(!e){break i}while(1){j:{g=w[b|0];if(!g){break j}a=a-1|0;if(!a|(e|0)!=(g|0)){break j}b=b+1|0;e=w[i+1|0];i=i+1|0;if(e){continue}break i}break}c=e}c=(c&255)-w[b|0]|0}if(!c){a=f+v[h>>2]|0;if(w[a|0]==61){break g}}b=v[h+4>>2];h=h+4|0;if(b){continue}break f}break}k=a+1|0}a=k}k:{if(!a){break k}b=u[13644];l:{if(!b){v[7342]=28;c=-1;break l}m:{n:{if((b|0)>-2){break n}c=200809;o:{switch((b&255)-1|0){case 1:c=131072;break l;case 2:c=32768;break l;case 3:c=65536;break l;case 4:case 10:c=2147483647;break l;case 5:case 6:c=1;break l;case 7:case 8:c=ga()>>>16|0;break l;case 0:break m;case 9:break o;default:break n}}c=0;break l}c=b}}if(!tc(a,1954)){j=c;break k}g=0;e=0;while(1){b=a;a=b+1|0;f=t[b|0];if((f|0)==32|f-9>>>0<5){continue}break}p:{q:{r:{f=t[b|0];switch(f-43|0){case 0:break q;case 2:break r;default:break p}}e=1}f=t[a|0];b=a}if(f-48>>>0<10){while(1){g=(B(g,10)-t[b|0]|0)+48|0;a=t[b+1|0];b=b+1|0;if(a-48>>>0<10){continue}break}}b=e?g:0-g|0;if((b|0)<0){break k}a=c?c<<1:64;j=(b|0)<(a|0)?b:a}a=qb(j);v[d+212>>2]=a;if(!a){a=qb(0);v[d+212>>2]=a;if(!a){break a}}}else{d=0}return d}zb(d);return 0}function te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0;c=b;b=v[b>>2]+7&-8;v[c>>2]=b+16;q=a;i=v[b>>2];d=v[b+4>>2];a=v[b+12>>2];o=a;g=pa-32|0;pa=g;a=a&2147483647;h=a;e=a-1006698496|0;a=a-1140785152|0;c=v[b+8>>2];b=c;a:{if((e|0)==(a|0)&b>>>0>>0|a>>>0>e>>>0){a=c;c=o<<4|a>>>28;b=a<<4|d>>>28;a=c;d=d&268435455;if((d|0)==134217728&(i|0)!=0|d>>>0>134217728){a=a+1073741824|0;b=b+1|0;a=b?a:a+1|0;break a}a=a+1073741824|0;if(i|(d|0)!=134217728){break a}d=b&1;b=d+b|0;a=b>>>0>>0?a+1|0:a;break a}if(!(!b&(h|0)==2147418112?!(d|i):h>>>0<2147418112)){a=c;c=o<<4|a>>>28;b=a<<4|d>>>28;a=c&524287|2146959360;break a}b=0;a=2146435072;if(h>>>0>1140785151){break a}a=0;p=h>>>16|0;if(p>>>0<15249){break a}b=i;a=d;e=o&65535|65536;h=e;m=c;f=c;j=p-15233|0;b:{if(j&64){c=b;e=j+-64|0;b=e&31;if((e&63)>>>0>=32){a=c<>>32-b|a<>>0>=32){c=k<>>32-f|e<>>0>=32){c=0;b=a>>>f|0}else{c=a>>>f|0;b=((1<>>f}f=r|b;e=c|e;b=j&31;if((j&63)>>>0>=32){c=k<>>32-b|a<>2]=b;v[g+20>>2]=a;v[g+24>>2]=f;v[g+28>>2]=e;b=15361-p|0;c:{if(b&64){d=m;b=b+-64|0;a=b&31;if((b&63)>>>0>=32){c=0;i=h>>>a|0}else{c=h>>>a|0;i=((1<>>a}d=c;m=0;h=0;break c}if(!b){break c}e=m;a=64-b|0;c=a&31;if((a&63)>>>0>=32){a=e<>>32-c|h<>>0>=32){c=0;e=d>>>i|0}else{c=d>>>i|0;e=((1<>>i}i=f|e;d=a|c;e=m;c=b&31;if((b&63)>>>0>=32){a=0;m=h>>>c|0}else{a=h>>>c|0;m=((1<>>c}h=a}v[g>>2]=i;v[g+4>>2]=d;v[g+8>>2]=m;v[g+12>>2]=h;b=v[g+8>>2];a=v[g+12>>2]<<4|b>>>28;b=b<<4;c=v[g>>2];h=v[g+4>>2];b=h>>>28|b;d=h&268435455;c=c|(v[g+16>>2]|v[g+24>>2]|(v[g+20>>2]|v[g+28>>2]))!=0;if((d|0)==134217728&(c|0)!=0|d>>>0>134217728){b=b+1|0;a=b?a:a+1|0;break a}if(c|(d|0)!=134217728){break a}c=b;b=b+(b&1)|0;a=c>>>0>b>>>0?a+1|0:a}pa=g+32|0;l(0,b|0);l(1,o&-2147483648|a);s=q,t=+n(),A[s>>3]=t}function Qc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=pa-80|0;pa=f;h=v[b+8>>2];m=v[h>>2];n=x[h+4>>1];if(n){h=0;r=n-2&65535;o=1;while(1){p=B(h,6)+m|0;i=x[p>>1];d=v[a+16>>2];a:{if(i>>>0>=d>>>0){v[f+20>>2]=d;v[f+16>>2]=i;Ea(c,2,8351,f+16|0);break a}e=x[p+4>>1];if((e+1&65535)>>>0<=1){u[(v[a+24>>2]+B(i,52)|0)+48>>1]=x[p+2>>1];break a}q=e-1|0;l=q&65535;if(d>>>0<=l>>>0){v[f+4>>2]=d;v[f>>2]=l;Ea(c,2,8310,f);break a}b:{if(x[p+2>>1]|(i|0)==(l|0)){break b}e=v[a+24>>2];d=e+B(i,52)|0;v[f+72>>2]=v[d+48>>2];g=v[d+44>>2];j=f- -64|0;v[j>>2]=v[d+40>>2];v[j+4>>2]=g;g=v[d+36>>2];v[f+56>>2]=v[d+32>>2];v[f+60>>2]=g;g=v[d+28>>2];v[f+48>>2]=v[d+24>>2];v[f+52>>2]=g;g=v[d+20>>2];v[f+40>>2]=v[d+16>>2];v[f+44>>2]=g;g=v[d+12>>2];v[f+32>>2]=v[d+8>>2];v[f+36>>2]=g;g=v[d+4>>2];v[f+24>>2]=v[d>>2];v[f+28>>2]=g;g=B(l,52);e=g+e|0;v[d+48>>2]=v[e+48>>2];k=v[e+44>>2];v[d+40>>2]=v[e+40>>2];v[d+44>>2]=k;k=v[e+36>>2];v[d+32>>2]=v[e+32>>2];v[d+36>>2]=k;k=v[e+28>>2];v[d+24>>2]=v[e+24>>2];v[d+28>>2]=k;k=v[e+20>>2];v[d+16>>2]=v[e+16>>2];v[d+20>>2]=k;k=v[e+12>>2];v[d+8>>2]=v[e+8>>2];v[d+12>>2]=k;k=v[e+4>>2];v[d>>2]=v[e>>2];v[d+4>>2]=k;e=v[f+28>>2];d=g+v[a+24>>2]|0;v[d>>2]=v[f+24>>2];v[d+4>>2]=e;v[d+48>>2]=v[f+72>>2];e=v[j+4>>2];v[d+40>>2]=v[j>>2];v[d+44>>2]=e;e=v[f+60>>2];v[d+32>>2]=v[f+56>>2];v[d+36>>2]=e;e=v[f+52>>2];v[d+24>>2]=v[f+48>>2];v[d+28>>2]=e;e=v[f+44>>2];v[d+16>>2]=v[f+40>>2];v[d+20>>2]=e;e=v[f+36>>2];v[d+8>>2]=v[f+32>>2];v[d+12>>2]=e;if(h+1>>>0>=n>>>0){break b}e=o;if((h^-1)+n&1){e=q;d=B(o,6)+m|0;j=x[d>>1];c:{if((j|0)!=(i|0)){e=i;if((j|0)!=(l|0)){break c}}u[d>>1]=e}e=o+1|0}if((h&65535)==(r|0)){break b}while(1){d=q;j=B(e,6)+m|0;g=x[j>>1];d:{if((g|0)!=(i|0)){d=i;if((g|0)!=(l|0)){break d}}u[j>>1]=d}d=q;g=x[j+6>>1];e:{if((g|0)!=(i|0)){d=i;if((g|0)!=(l|0)){break e}}u[j+6>>1]=d}e=e+2|0;if((e&65535)!=(n|0)){continue}break}}u[(v[a+24>>2]+B(i,52)|0)+48>>1]=x[p+2>>1]}o=o+1|0;h=h+1|0;if((n|0)!=(h|0)){continue}break}h=v[b+8>>2];m=v[h>>2]}if(m){Fa(m);h=v[b+8>>2]}Fa(h);v[b+8>>2]=0;pa=f+80|0}function Mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=pa-80|0;pa=f;v[f+76>>2]=1;e=v[a+200>>2];d=v[e+40>>2];a:{b:{if(d){break b}d=B(v[a+108>>2],v[a+104>>2]);v[e+36>>2]=d;d=Ia(d,40);e=v[a+200>>2];v[e+40>>2]=d;if(!d){e=0;break a}if(!v[e+36>>2]){break b}while(1){e=0;h=B(g,40);d=h+d|0;v[d+20>>2]=0;v[d+28>>2]=100;j=Ia(100,24);i=v[a+200>>2];d=v[i+40>>2];v[(h+d|0)+24>>2]=j;if(!j){break a}g=g+1|0;if(g>>>0>2]){continue}break}}j=v[a+44>>2];c:{if(!v[d+16>>2]){break c}d:{d=B(j,40)+d|0;if(!v[d+4>>2]){d=v[a+52>>2];e=v[a+48>>2]+2|0;d=e>>>0<2?d+1|0:d;if(tb(b,e,d,c)){break d}e=0;Ea(c,1,6530,0);break a}d=v[d+16>>2];e=v[d>>2];d=v[d+4>>2];e=e+2|0;d=e>>>0<2?d+1|0:d;if(tb(b,e,d,c)){break d}e=0;Ea(c,1,6530,0);break a}if(v[a+8>>2]!=256){break c}v[a+8>>2]=8}h=B(v[a+108>>2],v[a+104>>2]);e:{if(!h){break e}e=v[a+156>>2];d=0;if(h>>>0>=8){i=h&-8;g=0;while(1){v[(e+B(d,5644)|0)+5588>>2]=-1;v[(e+B(d|1,5644)|0)+5588>>2]=-1;v[(e+B(d|2,5644)|0)+5588>>2]=-1;v[(e+B(d|3,5644)|0)+5588>>2]=-1;v[(e+B(d|4,5644)|0)+5588>>2]=-1;v[(e+B(d|5,5644)|0)+5588>>2]=-1;v[(e+B(d|6,5644)|0)+5588>>2]=-1;v[(e+B(d|7,5644)|0)+5588>>2]=-1;d=d+8|0;g=g+8|0;if((i|0)!=(g|0)){continue}break}}g=h&7;if(!g){break e}while(1){v[(e+B(d,5644)|0)+5588>>2]=-1;d=d+1|0;k=k+1|0;if((g|0)!=(k|0)){continue}break}}e=0;if(!eb(a,f+72|0,0,f+68|0,f- -64|0,f+60|0,f+56|0,f+52|0,f+76|0,b,c)){break a}h=j+1|0;while(1){f:{if(!v[f+76>>2]){break f}d=v[f+72>>2];if(!jb(a,d,0,0,b,c)){break a}i=v[a+104>>2];k=v[a+108>>2];g=d+1|0;v[f+32>>2]=g;v[f+36>>2]=B(i,k);Ea(c,4,12437,f+32|0);if(!Uc(v[a+208>>2],v[v[a+76>>2]+24>>2])){break a}e=v[a+156>>2]+B(d,5644)|0;i=v[e+5596>>2];if(i){Fa(i);v[e+5596>>2]=0;v[e+5600>>2]=0}v[f+16>>2]=g;Ea(c,4,17243,f+16|0);if((d|0)==(j|0)){d=v[a+200>>2];e=v[d+8>>2];d=v[d+12>>2];e=e+2|0;d=e>>>0<2?d+1|0:d;if(tb(b,e,d,c)){break f}e=0;Ea(c,1,6530,0);break a}v[f+4>>2]=h;v[f>>2]=g;Ea(c,2,14290,f);e=0;if(eb(a,f+72|0,0,f+68|0,f- -64|0,f+60|0,f+56|0,f+52|0,f+76|0,b,c)){continue}break a}break}e=(Tc(a,c)|0)!=0}pa=f+80|0;return e|0}function Uc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0;s=v[a+24>>2];if(!v[s+16>>2]){return 1}p=v[s+24>>2];m=v[v[v[a+20>>2]>>2]+20>>2];while(1){v[b+36>>2]=v[p+36>>2];c=v[p+36>>2];e=v[m+28>>2];u=v[a+64>>2];a:{if(u){d=(e+B(v[m+24>>2],152)|0)-152|0;q=v[d+8>>2]-v[d>>2]|0;d=m+36|0;c=e+B(c,152)|0;h=c+12|0;e=v[c+8>>2];i=v[c>>2];c=c+4|0;break a}c=e+B(c,152)|0;e=v[c+144>>2];i=v[c+136>>2];q=e-i|0;d=m+52|0;h=c+148|0;c=c+140|0}w=v[d>>2];b:{c:{if(!w){break c}o=v[c>>2];r=v[h>>2];j=e-i|0;g=v[b+40>>2];c=g&31;if((g&63)>>>0>=32){d=-1<>>32-c;c=-1<>2];h=k+l|0;f=d^-1;c=f;c=h>>>0>>0?c+1|0:c;d=g&31;l=(g&63)>>>0>=32?c>>>d|0:((1<>>d;d=v[b+12>>2];n=v[b+16>>2];k=n+k|0;c=f;h=v[b+8>>2];c=k>>>0>>0?c+1|0:c;f=g&31;g=(g&63)>>>0>=32?c>>>f|0:((1<>>f;c=h+g|0;d:{if(g>>>0>>0){n=i-g|0;g=0;if(c>>>0>=e>>>0){f=0;e=j;break d}e=c-i|0;f=j-e|0;break d}g=g-i|0;if(c>>>0>=e>>>0){e=j-g|0;n=0;f=0;break d}f=e-c|0;n=0;e=h}c=r-o|0;j=d+l|0;e:{if(l>>>0>>0){t=o-l|0;l=0;k=0;if(j>>>0>=r>>>0){break e}k=c;c=j-o|0;k=k-c|0;break e}l=l-o|0;if(j>>>0>=r>>>0){c=c-l|0;t=0;k=0;break e}t=0;c=d;k=r-j|0}i=0;if((g|l|(f|k))<0){break b}if((e|c)<0){break b}j=B(h,t)+n|0;f:{g:{h:{f=v[b+44>>2];g=B(l,q)+g|0;if(f|g|((h|0)!=(q|0)|j)){break h}if((e|0)!=(h|0)){break h}if((c|0)!=(d|0)){break g}e=(u?36:52)+m|0;v[b+44>>2]=v[e>>2];v[e>>2]=0;break c}if(f){break f}}if(!d){break b}Qf(d,0,h,0);if(sa){break b}d=B(d,h);if(d>>>0>1073741823){break b}d=Pa(d<<2);v[b+44>>2]=d;if(!d){break b}h=v[b+8>>2];f=v[b+12>>2];if((h|0)==(e|0)&(f|0)==(c|0)){break f}Ka(d,0,B(h,f)<<2)}if(!c){break c}h=c&1;e=e<<2;d=v[b+44>>2]+(j<<2)|0;i=(g<<2)+w|0;if((c|0)!=1){g=c&-2;c=0;while(1){j=Ha(d,i,e);f=q<<2;d=f+i|0;i=d+f|0;d=Ha(j+(v[b+8>>2]<<2)|0,d,e)+(v[b+8>>2]<<2)|0;c=c+2|0;if((g|0)!=(c|0)){continue}break}}if(!h){break c}Ha(d,i,e)}m=m+76|0;p=p+52|0;b=b+52|0;i=1;x=x+1|0;if(x>>>0>2]){continue}}break}return i}function uf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=pa-16|0;pa=g;if(v[a+8>>2]==16){h=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{h=v[a+12>>2]}a:{if(!c){Ea(d,1,5323,0);break a}i=v[a+72>>2];e=1;Ga(b,g+8|0,1);f=v[g+8>>2];if(f>>>0>=2){Ea(d,2,10555,0);break a}if((f+1|0)!=(c|0)){e=0;Ea(d,2,5323,0);break a}d=v[i+16>>2];b:{if(!d){break b}e=v[h+5584>>2];if(d>>>0>=8){i=d&-8;c=0;while(1){v[e+1076>>2]=0;v[e+8636>>2]=0;v[e+7556>>2]=0;v[e+6476>>2]=0;v[e+5396>>2]=0;v[e+4316>>2]=0;v[e+3236>>2]=0;v[e+2156>>2]=0;e=e+8640|0;c=c+8|0;if((i|0)!=(c|0)){continue}break}}d=d&7;if(!d){break b}c=0;while(1){v[e+1076>>2]=0;e=e+1080|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}c=v[h+5608>>2];if(c){Fa(c);v[h+5608>>2]=0;f=v[g+8>>2]}if(!f){e=1;break a}i=0;while(1){b=b+1|0;Ga(b,g+12|0,1);c:{if(!v[h+5632>>2]){break c}d=v[h+5628>>2];if(v[d>>2]!=v[g+12>>2]){break c}f=v[d+4>>2];j=v[a+72>>2];if((f|0)!=v[j+16>>2]){break c}c=v[d+8>>2];if(c){e=0;f=B(f,f);if(v[c+16>>2]!=(B(f,v[(v[c>>2]<<2)+17680>>2])|0)){break a}k=Ja(f<<2);v[h+5608>>2]=k;if(!k){break a}ta[v[(v[c>>2]<<2)+17984>>2]](v[c+12>>2],k,f)}c=v[d+12>>2];if(!c){break c}e=0;d=v[j+16>>2];if(v[c+16>>2]!=(B(d,v[(v[c>>2]<<2)+17680>>2])|0)){break a}f=Ja(d<<2);if(!f){break a}ta[v[(v[c>>2]<<2)+18e3>>2]](v[c+12>>2],f,d);c=v[j+16>>2];d:{if(!c){break d}j=c&7;e=v[h+5584>>2];e:{if(c>>>0<8){c=f;break e}k=c&-8;d=0;c=f;while(1){v[e+1076>>2]=v[c>>2];v[e+2156>>2]=v[c+4>>2];v[e+3236>>2]=v[c+8>>2];v[e+4316>>2]=v[c+12>>2];v[e+5396>>2]=v[c+16>>2];v[e+6476>>2]=v[c+20>>2];v[e+7556>>2]=v[c+24>>2];v[e+8636>>2]=v[c+28>>2];e=e+8640|0;c=c+32|0;d=d+8|0;if((k|0)!=(d|0)){continue}break}}d=0;if(!j){break d}while(1){v[e+1076>>2]=v[c>>2];e=e+1080|0;c=c+4|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}}Fa(f)}e=1;i=i+1|0;if(i>>>0>2]){continue}break}}pa=g+16|0;return e|0}function Mb(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=v[v[a+24>>2]+24>>2]+B(b,52)|0;l=v[n+4>>2];m=l-1|0;o=v[a+60>>2];j=m+o|0;k=0-!l|0;i=k;q=v[v[v[a+20>>2]>>2]+20>>2]+B(b,76)|0;p=v[q+12>>2];i=Sf(j,j>>>0>>0?i+1|0:i,l,0);r=i>>>0>p>>>0?p:i;j=v[n>>2];n=j-1|0;s=v[a+56>>2];p=n+s|0;o=0-!j|0;i=o;t=v[q+8>>2];i=Sf(p,p>>>0>>0?i+1|0:i,j,0);p=i>>>0>t>>>0?t:i;i=k;t=v[q+4>>2];s=v[a+52>>2];m=s+m|0;i=Sf(m,m>>>0>>0?i+1|0:i,l,0);m=i>>>0>>0?t:i;i=o;k=v[q>>2];o=n;n=v[a+48>>2];l=o+n|0;i=Sf(l,l>>>0>>0?i+1|0:i,j,0);i=i>>>0>>0?k:i;l=0;n=v[(v[v[a+32>>2]+5584>>2]+B(b,1080)|0)+20>>2];c=v[q+20>>2]+(c?0-c|0:-1)|0;a:{if(!c){b=p;l=i;a=m;break a}k=c-1|0;j=(d&1)<>>0>>0){a=c&31;o=i-j|0;if((c&63)>>>0>=32){i=-1<>>32-a;a=-1<>>0>>0?i+1|0:i;b=a;a=c&31;l=(c&63)>>>0>=32?i>>>a|0:((1<>>a}b=0;a=0;k=d>>>1<>>0>>0){a=c&31;i=m-k|0;if((c&63)>>>0>=32){d=-1<>>32-a;a=-1<>>0>>0?i+1|0:i;a=c&31;a=(c&63)>>>0>=32?i>>>a|0:((1<>>a}if(j>>>0

>>0){b=c&31;if((c&63)>>>0>=32){i=-1<>>32-b;b=-1<>>0>>0?i+1|0:i;d=b;b=c&31;b=(c&63)>>>0>=32?i>>>b|0:((1<>>b}if(k>>>0>=r>>>0){r=0;break a}d=c&31;if((c&63)>>>0>=32){i=-1<>>32-d;d=-1<>>0>>0?i+1|0:i;j=d;d=c&31;r=(c&63)>>>0>=32?i>>>d|0:((1<>>d}i=0;d=b;j=(n|0)==1;c=j?2:3;b=b+c|0;d=(0-(d>>>0>b>>>0?i+1|0:i)|b)>>>0>e>>>0;b=c+r|0;b=d&(0-(b>>>0>>0?i+1|0:i)|b)>>>0>f>>>0;d=j?2:3;c=l-d|0;d=a-d|0;return b&(c>>>0<=l>>>0?c:0)>>>0>>0&(a>>>0>=d>>>0?d:0)>>>0>>0}function Ac(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;j=pa-256|0;pa=j;a:{if(!a){a=0;break a}if(!(v[a>>2]==(b|0)&v[a+4>>2]==(c|0))){v[a+4>>2]=c;v[a>>2]=b;v[j>>2]=c;v[j+128>>2]=b;e=c;f=b;while(1){o=i;i=i+1|0;h=i<<2;n=(e+1|0)/2|0;v[h+j>>2]=n;k=h+(j+128|0)|0;h=(f+1|0)/2|0;v[k>>2]=h;m=B(e,f);g=m+g|0;e=n;f=h;if(m>>>0>1){continue}break}v[a+8>>2]=g;b:{c:{d:{e:{if(!g){e=v[a+12>>2];if(!e){break d}f=a+12|0;break e}g=g<<4;if(g>>>0<=y[a+16>>2]){break b}b=Oa(v[a+12>>2],g);if(b){break c}Ea(d,1,7515,0);f=a+12|0;e=v[f>>2];if(!e){break d}}Fa(e);v[f>>2]=0}Fa(a);a=0;break a}v[a+12>>2]=b;c=b;b=v[a+16>>2];Ka(c+b|0,0,g-b|0);v[a+16>>2]=g;c=v[a+4>>2];b=v[a>>2]}f=v[a+12>>2];if(o){d=0;e=(B(b,c)<<4)+f|0;g=e;while(1){b=d<<2;k=v[b+j>>2];f:{if((k|0)<=0){break f}m=k-1|0;l=0;g:{h:{c=v[b+(j+128|0)>>2];if((c|0)<=0){n=k&1;i=0;if((k|0)!=1){break h}b=g;break g}while(1){b=g;g=c;while(1){i:{v[f>>2]=e;if((g|0)==1){f=f+16|0;e=e+16|0;break i}v[f+16>>2]=e;e=e+16|0;f=f+32|0;h=(g|0)>2;g=g-2|0;if(h){continue}}break}h=((l|0)==(m|0)|l)&1;g=h?e:b+(c<<4)|0;e=h?e:b;l=l+1|0;if((k|0)!=(l|0)){continue}break}break f}h=k&-2;while(1){b=(i|0)==(m|0);i=i+2|0;e=b?e:g;g=e;b=e;l=l+2|0;if((h|0)!=(l|0)){continue}break}}if(!n){g=e;break f}g=(c<<4)+b|0;c=((i|0)==(m|0)|i)&1;g=c?e:g;e=c?e:b}d=d+1|0;if((o|0)!=(d|0)){continue}break}}v[f>>2]=0}c=v[a+8>>2];if(!c){break a}e=v[a+12>>2];if(c>>>0>=4){b=c&-4;f=0;while(1){v[e+12>>2]=0;v[e+4>>2]=999;v[e+8>>2]=0;v[e+60>>2]=0;v[e+52>>2]=999;v[e+56>>2]=0;v[e+44>>2]=0;v[e+36>>2]=999;v[e+40>>2]=0;v[e+28>>2]=0;v[e+20>>2]=999;v[e+24>>2]=0;e=e- -64|0;f=f+4|0;if((b|0)!=(f|0)){continue}break}}b=c&3;if(!b){break a}f=0;while(1){v[e+12>>2]=0;v[e+4>>2]=999;v[e+8>>2]=0;e=e+16|0;f=f+1|0;if((b|0)!=(f|0)){continue}break}}pa=j+256|0;return a}function Nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=pa-80|0;pa=d;v[d+76>>2]=1;a:{b:{e=v[a+104>>2];if((e|0)!=1|v[a+108>>2]!=1|(v[a+84>>2]|v[a+88>>2])){break b}f=v[a+76>>2];if(v[f>>2]|v[f+4>>2]|(v[f+8>>2]!=v[a+92>>2]|v[f+12>>2]!=v[a+96>>2])){break b}e=0;if(!eb(a,d+72|0,0,d+68|0,d- -64|0,d+60|0,d+56|0,d+52|0,d+76|0,b,c)){break a}c:{if(jb(a,v[d+72>>2],0,0,b,c)){b=v[a+76>>2];if(v[b+16>>2]){break c}e=1;break a}Ea(c,1,9734,0);break a}b=v[b+24>>2];c=0;while(1){e=B(c,52);Fa(v[(e+b|0)+44>>2]);f=v[a+76>>2];b=v[f+24>>2];g=e+b|0;h=v[a+208>>2];i=v[v[v[h+20>>2]>>2]+20>>2]+B(c,76)|0;v[g+44>>2]=v[i+36>>2];v[g+36>>2]=v[(e+v[v[h+24>>2]+24>>2]|0)+36>>2];v[i+36>>2]=0;e=1;c=c+1|0;if(c>>>0>2]){continue}break}break a}while(1){d:{e:{if(!(!v[v[a+156>>2]+5596>>2]|((e|0)!=1|v[a+108>>2]!=1))){v[d+72>>2]=0;v[a+204>>2]=0;v[a+8>>2]=v[a+8>>2]|128;h=0;break e}e=0;if(!eb(a,d+72|0,0,d+68|0,d- -64|0,d+60|0,d+56|0,d+52|0,d+76|0,b,c)){break a}if(!v[d+76>>2]){break d}h=v[d+72>>2]}e=h+1|0;g=jb(a,h,0,0,b,c);f=B(v[a+104>>2],v[a+108>>2]);if(!g){v[d+4>>2]=f;v[d>>2]=e;Ea(c,1,8588,d);e=0;break a}v[d+36>>2]=f;v[d+32>>2]=e;Ea(c,4,12437,d+32|0);if(!Uc(v[a+208>>2],v[v[a+76>>2]+24>>2])){e=0;break a}f:{if(!(v[a+104>>2]!=1|v[a+108>>2]!=1)){f=v[a+76>>2];g=v[a+72>>2];if(v[f>>2]!=v[g>>2]|v[f+4>>2]!=v[g+4>>2]|(v[f+8>>2]!=v[g+8>>2]|v[f+12>>2]!=v[g+12>>2])){break f}}f=v[a+156>>2]+B(h,5644)|0;g=v[f+5596>>2];if(!g){break f}Fa(g);v[f+5596>>2]=0;v[f+5600>>2]=0}v[d+16>>2]=e;Ea(c,4,17243,d+16|0);f=v[b+12>>2];g=f;e=v[b+8>>2];if(f|e){h=v[b+56>>2];f=e-h|0;e=g-(v[b+60>>2]+(e>>>0>>0)|0)|0}else{f=0;e=0}if(!(e|f)&v[a+8>>2]==64){break d}i=i+1|0;e=v[a+104>>2];if((i|0)!=(B(e,v[a+108>>2])|0)){continue}}break}e=(Tc(a,c)|0)!=0}pa=d+80|0;return e|0}function xb(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=v[a+16>>2];if(g>>>0>=32){return v[a+8>>2]}d=v[a+20>>2];a:{if((d|0)>=4){b=v[a>>2];c=v[b-3>>2];d=d-4|0;v[a+20>>2]=d;v[a>>2]=b-4;break a}if((d|0)<=0){break a}k=d&1;b=v[a>>2];b:{if((d|0)==1){e=24;break b}j=d&-2;e=24;while(1){h=b-1|0;v[a>>2]=h;i=w[b|0];b=b-2|0;v[a>>2]=b;v[a+20>>2]=d-1;h=w[h|0];d=d-2|0;v[a+20>>2]=d;c=i<>2]=b-1;b=w[b|0];v[a+20>>2]=d-1;c=b<>2];j=c&255;v[a+24>>2]=j>>>0>143;b=b?(c&2130706432)==2130706432?7:8:8;h=b+(c>>>0<=2415919103?8:(c&8323072)==8323072?7:8)|0;f=c>>>16&255;i=h+(f>>>0<=143?8:(c&32512)==32512?7:8)|0;e=c>>>8&255;k=i+(g+(e>>>0<=143?8:(c&127)==127?7:8)|0)|0;v[a+16>>2]=k;l=v[a+12>>2];b=f<>>24|e<>>0>=32){e=b<>>32-c;b=b<>2];b=e|l;h=b;v[a+8>>2]=g;v[a+12>>2]=b;if(k>>>0<=31){c:{if((d|0)>=4){b=v[a>>2];c=v[b-3>>2];v[a+20>>2]=d-4;v[a>>2]=b-4;break c}if((d|0)<=0){c=0;break c}i=d&1;b=v[a>>2];d:{if((d|0)==1){e=24;c=0;break d}l=d&-2;e=24;c=0;f=0;while(1){m=b-1|0;v[a>>2]=m;n=w[b|0];b=b-2|0;v[a>>2]=b;v[a+20>>2]=d-1;m=w[m|0];d=d-2|0;v[a+20>>2]=d;c=n<>2]=b-1;b=w[b|0];v[a+20>>2]=d-1;c=b<>2]=d>>>0>143;j=j>>>0<=143?8:(c&2130706432)==2130706432?7:8;i=j+(c>>>0<=2415919103?8:(c&8323072)==8323072?7:8)|0;f=c>>>16&255;l=i+(f>>>0<=143?8:(c&32512)==32512?7:8)|0;e=c>>>8&255;v[a+16>>2]=l+(k+(e>>>0<=143?8:(c&127)==127?7:8)|0);b=a;a=f<>>24|e<>>0>=32){d=a<>>32-c;a=a<>2]=g;v[b+12>>2]=d|h}return g}function ib(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=v[a+32>>2];a:{if(b){break a}c=v[a+16>>2];b:{if((c|0)>5){e=c;break b}b=v[a+20>>2];c:{d:{if((b|0)>=5){e=v[a>>2];g=v[e>>2];v[a>>2]=e+4;i=b-4|0;break d}if((b|0)<=0){g=-1;break c}e=v[a>>2];e:{if((b|0)==1){d=e;f=-1;break e}f=-1;while(1){d=e+1|0;v[a>>2]=d;e=w[e|0];h=b-1|0;v[a+20>>2]=h;f=(255<>>0>2;e=d;b=h;if(j){continue}break}}v[a>>2]=d+1;g=(255<>2]=i}e=v[a+24>>2];d=g>>>24|0;v[a+24>>2]=(d|0)==255;f=g>>>8&255;i=(f|0)==255;b=g&255;h=(b|0)==255;g=g>>>16&255;j=(g|0)==255;k=(i+(h+e|0)|0)+j|0;e=(c-k|0)+32|0;v[a+16>>2]=e;l=v[a+12>>2];d=d|(g|(f|b<<(h?7:8))<<(i?7:8))<<(j?7:8);c=(k-c|0)+32|0;b=c&31;if((c&63)>>>0>=32){h=d<>>32-b;b=d<>2]=b|v[a+8>>2];v[a+12>>2]=h|l;b=0;if((e|0)<6){break a}}g=0;while(1){b=8;if((g|0)==8){break a}c=v[a+28>>2];h=v[(c<<2)+22192>>2];b=v[a+8>>2];d=v[a+12>>2];f:{if((d|0)<0){e=e-1|0;v[a+16>>2]=e;v[a+8>>2]=b<<1;v[a+12>>2]=d<<1|b>>>31;v[a+28>>2]=(c|0)>=11?12:c+1|0;d=(-1<>2]=e;v[a+28>>2]=(c|0)>1?c-1|0:0;i=b;c=f&31;if((f&63)>>>0>=32){f=i<>>32-c|d<>2]=c;v[a+12>>2]=f;f=b;c=63-h|0;b=c&31;d=((-1<>>0>=32?d>>>b|0:((1<>>b))<<1|1}f=v[a+44>>2];b=B(g,7);c=b&31;i=v[a+40>>2];if((b&63)>>>0>=32){h=63<>>32-c;c=63<>31;f=d;d=b&31;c=a;if((b&63)>>>0>=32){h=f<>>32-d|h<>2]=b|i;v[c+44>>2]=h|j;g=g+1|0;b=g;if((e|0)>5){continue}break}}v[a+32>>2]=b-1;d=v[a+44>>2];f=d>>>7|0;e=v[a+40>>2];v[a+40>>2]=(d&127)<<25|e>>>7;v[a+44>>2]=f;return e&127}function ld(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=v[a+72>>2];k=B(v[a+104>>2],v[a+108>>2]);a:{if(k){b=v[j+16>>2];o=B(b,1080);l=B(b,b)<<2;e=v[a+12>>2];d=v[a+156>>2];while(1){m=v[d+5584>>2];b=Ha(d,e,5644);v[b+5608>>2]=0;v[b+5588>>2]=-1;v[b+5168>>2]=0;v[b+5636>>2]=0;v[b+5616>>2]=0;v[b+5624>>2]=0;v[b+5628>>2]=0;v[b+5584>>2]=m;t[b+5640|0]=w[b+5640|0]&252;if(v[e+5608>>2]){d=Ja(l);v[b+5608>>2]=d;if(!d){return 0}Ha(d,v[e+5608>>2],l)}f=B(v[e+5624>>2],20);d=Ja(f);v[b+5616>>2]=d;i=0;if(!d){break a}Ha(d,v[e+5616>>2],f);g=v[e+5620>>2];if(g){d=v[e+5616>>2];f=v[b+5616>>2];h=0;while(1){if(v[d+12>>2]){g=Ja(v[d+16>>2]);v[f+12>>2]=g;if(!g){return 0}Ha(g,v[d+12>>2],v[d+16>>2]);g=v[e+5620>>2]}v[b+5624>>2]=v[b+5624>>2]+1;f=f+20|0;d=d+20|0;h=h+1|0;if(h>>>0>>0){continue}break}}f=B(v[e+5636>>2],20);d=Ja(f);v[b+5628>>2]=d;if(!d){break a}Ha(d,v[e+5628>>2],f);v[b+5636>>2]=v[e+5636>>2];i=v[e+5636>>2];if(i){d=v[e+5628>>2];f=v[b+5628>>2];h=0;while(1){g=v[d+8>>2];if(g){v[f+8>>2]=v[b+5616>>2]+B((g-v[e+5616>>2]|0)/20|0,20)}g=v[d+12>>2];if(g){v[f+12>>2]=v[b+5616>>2]+B((g-v[e+5616>>2]|0)/20|0,20)}f=f+20|0;d=d+20|0;h=h+1|0;if((i|0)!=(h|0)){continue}break}}Ha(m,v[e+5584>>2],o);d=b+5644|0;n=n+1|0;if((n|0)!=(k|0)){continue}break}}i=1;b=Ia(1,72);d=0;b:{if(!b){break b}t[b+40|0]=w[b+40|0]&254|1;e=Ia(1,4);v[b+20>>2]=e;d=b;if(e){break b}Fa(b);d=0}b=d;v[a+208>>2]=b;if(!b){return 0}f=v[a+212>>2];e=0;v[b+28>>2]=a+80;v[b+24>>2]=j;d=Ia(1,848);v[v[b+20>>2]>>2]=d;c:{if(!d){break c}d=Ia(v[j+16>>2],76);h=v[v[b+20>>2]>>2];v[h+20>>2]=d;if(!d){break c}v[h+16>>2]=v[j+16>>2];e=v[a+164>>2];v[b+44>>2]=f;v[b>>2]=e;e=1}if(e){break a}Ec(v[a+208>>2]);i=0;v[a+208>>2]=0;Ea(c,1,4765,0)}return i|0}function Ua(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=v[a+16>>2];if(h>>>0>=32){return v[a+8>>2]}d=v[a+24>>2];a:{if((d|0)>=4){b=v[a>>2];c=v[b>>2];g=d-4|0;v[a+24>>2]=g;v[a>>2]=b+4;break a}c=v[a+28>>2]?-1:0;if((d|0)<=0){g=d;break a}j=d&1;b=v[a>>2];b:{if((d|0)==1){f=b;break b}i=d&-2;while(1){v[a>>2]=b+1;k=w[b|0];f=b+2|0;v[a>>2]=f;v[a+24>>2]=d-1;b=w[b+1|0];d=d-2|0;v[a+24>>2]=d;c=((255<>2]=f+1;b=w[f|0];v[a+24>>2]=d-1;c=(255<>2];i=c>>>24|0;v[a+20>>2]=(i|0)==255;f=c>>>16&255;d=c>>>8&255;b=b?7:8;c=c&255;e=b+((c|0)==255?7:8)|0;k=((d|0)==255?7:8)+e|0;j=(h+((f|0)==255?7:8)|0)+k|0;v[a+16>>2]=j;l=v[a+12>>2];b=c|(d<>>0>=32){f=b<>>32-c;b=b<>2];b=f|l;k=b;v[a+8>>2]=h;v[a+12>>2]=b;if(j>>>0<=31){c:{if((g|0)>=4){b=v[a>>2];d=v[b>>2];v[a+24>>2]=g-4;v[a>>2]=b+4;break c}e=0;d=v[a+28>>2]?-1:0;if((g|0)<=0){break c}l=g&1;b=v[a>>2];d:{if((g|0)==1){c=b;break d}m=g&-2;f=0;while(1){v[a>>2]=b+1;n=w[b|0];c=b+2|0;v[a>>2]=c;v[a+24>>2]=g-1;b=w[b+1|0];g=g-2|0;v[a+24>>2]=g;d=((255<>2]=c+1;b=w[c|0];v[a+24>>2]=g-1;d=(255<>>24|0;v[a+20>>2]=(c|0)==255;f=d>>>16&255;g=d>>>8&255;e=(i|0)==255?7:8;d=d&255;i=e+((d|0)==255?7:8)|0;l=((g|0)==255?7:8)+i|0;v[a+16>>2]=(j+((f|0)==255?7:8)|0)+l;b=a;a=d|(g<>>0>=32){f=a<>>32-c;a=a<>2]=h;v[b+12>>2]=f|k}return h}function Kc(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,p=0;v[a+8>>2]=0;v[a+12>>2]=0;v[a>>2]=b;v[a+28>>2]=d;v[a+16>>2]=0;v[a+20>>2]=0;g=c-1|0;v[a+24>>2]=g;n=b&3;a:{if((c|0)<=0){e=b;b=d;break a}e=b+1|0;v[a>>2]=e;b=w[b|0]}h=8;v[a+16>>2]=8;i=b;v[a+8>>2]=b;v[a+12>>2]=0;f=b&255;j=(f|0)==255;v[a+20>>2]=j;b:{if((n|0)==3){break b}o=c-2|0;v[a+24>>2]=o;c:{if((c|0)<2){b=e;e=d;break c}b=e+1|0;v[a>>2]=b;e=w[e|0]}h=(f|0)==255?15:16;v[a+16>>2]=h;k=e&255;j=(k|0)==255;v[a+20>>2]=j;i=i|e<<8;v[a+8>>2]=i;m=e>>>24|0;v[a+12>>2]=m;if((n|0)==2){e=b;c=g;g=o;break b}l=c-3|0;v[a+24>>2]=l;d:{if((c|0)<3){f=b;b=d;break d}f=b+1|0;v[a>>2]=f;b=w[b|0]}p=b&255;j=(p|0)==255;v[a+20>>2]=j;k=((k|0)==255?7:8)+h|0;v[a+16>>2]=k;g=h&31;if((h&63)>>>0>=32){e=b<>>32-g;b=b<>2]=i;v[a+12>>2]=b;if((n|0)==1){e=f;h=k;c=o;g=l;break b}g=c-4|0;v[a+24>>2]=g;e:{if((c|0)<4){e=f;b=d;break e}e=f+1|0;v[a>>2]=e;b=w[f|0]}j=(b&255)==255;v[a+20>>2]=j;h=k+((p|0)==255?7:8)|0;v[a+16>>2]=h;c=k&31;if((k&63)>>>0>=32){f=b<>>32-c;b=b<>2]=i;v[a+12>>2]=b;c=l}f:{if((c|0)>=5){d=v[e>>2];v[a+24>>2]=c-5;v[a>>2]=e+4;break f}b=0;d=d?-1:0;if((c|0)<2){break f}while(1){f=e+1|0;v[a>>2]=f;e=w[e|0];c=g-1|0;v[a+24>>2]=c;d=(255<>>0>1;e=f;g=c;if(l){continue}break}}l=d>>>24|0;v[a+20>>2]=(l|0)==255;f=d>>>16&255;g=d>>>8&255;e=d&255;d=j?7:8;c=((e|0)==255?7:8)+d|0;b=((g|0)==255?7:8)+c|0;v[a+16>>2]=(((f|0)==255?7:8)+h|0)+b;b=e|(g<>>0>=32){c=b<>>32-d;b=b<>2]=b|i;v[a+12>>2]=c|m}function mb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{if(a-1&a|b>>>0>4294967239){break b}while(1){a=a>>>0<=8?8:a;e=v[8071];f=v[8070];b=b>>>0<=8?8:b+3&-4;c:{if(b>>>0<=127){g=(b>>>3|0)-1|0;break c}d=E(b);g=((b>>>29-d^4)-(d<<2)|0)+110|0;if(b>>>0<=4095){break c}d=((b>>>30-d^2)-(d<<1)|0)+71|0;g=d>>>0>=63?63:d}c=g&31;if((g&63)>>>0>=32){d=0;c=e>>>c|0}else{d=e>>>c|0;c=((1<>>c}if(c|d){while(1){e=c;d:{if(d|c){f=d-1|0;i=f+1|0;h=f;f=c-1|0;h=(f|0)!=-1?i:h;f=E(c^f)+32|0;c=E(d^h);c=(c|0)==32?f:c;f=63-c|0;sa=0-(c>>>0>63)|0;break d}sa=0;f=64}h=f;f=h&31;if((h&63)>>>0>=32){c=0;f=d>>>f|0}else{c=d>>>f|0;f=((1<>>f}d=c;g=g+h|0;h=g<<4;e=v[h+31256>>2];i=h+31248|0;e:{if((e|0)!=(i|0)){c=Eb(e,a,b);if(c){break b}c=v[e+4>>2];v[c+8>>2]=v[e+8>>2];v[v[e+8>>2]+4>>2]=c;v[e+8>>2]=i;c=h+31252|0;v[e+4>>2]=v[c>>2];v[c>>2]=e;v[v[e+4>>2]+8>>2]=e;g=g+1|0;c=(d&1)<<31|f>>>1;d=d>>>1|0;break e}c=v[8071];j=32280,k=v[8070]&Vf(-2,-1,g),v[j>>2]=k;v[8071]=sa&c;c=f^1}if(d|c){continue}break}f=v[8070];e=v[8071]}f:{if(e|f){d=E(e);h=63-((d|0)==32?E(f)+32|0:d)|0;c=h<<4;d=v[c+31256>>2];g:{if(!e&f>>>0<1073741824){break g}g=99;e=c+31248|0;if((e|0)==(d|0)){break g}while(1){if(!g){break g}c=Eb(d,a,b);if(c){break b}g=g-1|0;d=v[d+8>>2];if((e|0)!=(d|0)){continue}break}d=e}if(Fb(b+48|0)){break f}if(!d){break a}e=(h<<4)+31248|0;if((e|0)==(d|0)){break a}while(1){c=Eb(d,a,b);if(c){break b}d=v[d+8>>2];if((e|0)!=(d|0)){continue}break}break a}if(!Fb(b+48|0)){break a}}c=0;if(a-1&a){break b}if(b>>>0<=4294967239){continue}break}}return c}return 0}function Oa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!b){return 0}a:{if(!a){a=mb(8,b);break a}if(!b){Fa(a);a=0;break a}b:{if(b>>>0>4294967239){break b}h=b>>>0<=8?8:b+3&-4;b=h+8|0;c:{d:{k=a-4|0;f=k;e=v[f>>2];c=e+f|0;j=v[c>>2];g=j+c|0;e:{f:{if(v[g-4>>2]!=(j|0)){d=b+f|0;if(d+16>>>0<=g>>>0){e=v[c+4>>2];v[e+8>>2]=v[c+8>>2];v[v[c+8>>2]+4>>2]=e;c=g-d|0;v[d>>2]=c;v[(d+(c&-4)|0)-4>>2]=c|1;e=v[d>>2]-8|0;g:{if(e>>>0<=127){c=(e>>>3|0)-1|0;break g}g=E(e);c=((e>>>29-g^4)-(g<<2)|0)+110|0;if(e>>>0<=4095){break g}c=((e>>>30-g^2)-(g<<1)|0)+71|0;c=c>>>0>=63?63:c}e=c<<4;v[d+4>>2]=e+31248;e=e+31256|0;v[d+8>>2]=v[e>>2];v[e>>2]=d;v[v[d+8>>2]+4>>2]=d;e=v[8071];d=c&31;if((c&63)>>>0>=32){c=1<>>32-d}v[8070]=g|v[8070];v[8071]=c|e;v[f>>2]=b;break d}if(d>>>0>g>>>0){break f}b=v[c+4>>2];v[b+8>>2]=v[c+8>>2];v[v[c+8>>2]+4>>2]=b;b=e+j|0;v[f>>2]=b;break d}if(e>>>0>=b+16>>>0){v[f>>2]=b;v[(f+(b&-4)|0)-4>>2]=b;d=b+f|0;b=e-b|0;v[d>>2]=b;v[(d+(b&-4)|0)-4>>2]=b|1;c=v[d>>2]-8|0;h:{if(c>>>0<=127){b=(c>>>3|0)-1|0;break h}f=E(c);b=((c>>>29-f^4)-(f<<2)|0)+110|0;if(c>>>0<=4095){break h}b=((c>>>30-f^2)-(f<<1)|0)+71|0;b=b>>>0>=63?63:b}c=b<<4;v[d+4>>2]=c+31248;c=c+31256|0;v[d+8>>2]=v[c>>2];v[c>>2]=d;v[v[d+8>>2]+4>>2]=d;c=v[8071];d=b&31;if((b&63)>>>0>=32){b=1<>>32-d}v[8070]=e|v[8070];v[8071]=b|c;d=1;break c}d=1;if(b>>>0<=e>>>0){break e}}d=0}break c}v[(f+(b&-4)|0)-4>>2]=b;d=1}if(d){break a}b=mb(8,h);if(!b){break b}i=v[k>>2]-8|0;Ha(b,a,h>>>0>>0?h:i);Fa(a);i=b}a=i}return a}function Cc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=pa-256|0;pa=j;f=Ia(1,20);a:{if(!f){Ea(c,1,7477,0);f=0;break a}v[f+4>>2]=b;v[f>>2]=a;v[j>>2]=b;v[j+128>>2]=a;while(1){p=g;g=g+1|0;h=g<<2;d=(b+1|0)/2|0;v[h+j>>2]=d;m=h+(j+128|0)|0;h=(a+1|0)/2|0;v[m>>2]=h;i=B(a,b);e=i+e|0;b=d;a=h;if(i>>>0>1){continue}break}v[f+8>>2]=e;if(!e){Fa(f);f=0;break a}d=Ia(e,16);v[f+12>>2]=d;if(!d){Ea(c,1,4661,0);Fa(f);f=0;break a}l=v[f+8>>2];v[f+16>>2]=l<<4;a=d;if(p){e=(B(v[f+4>>2],v[f>>2])<<4)+d|0;b=e;while(1){c=n<<2;i=v[c+j>>2];b:{if((i|0)<=0){break b}o=i-1|0;h=0;c:{c=v[c+(j+128|0)>>2];if((c|0)<=0){g=0;if((i|0)!=1){k=i&-2;while(1){m=(g|0)==(o|0);g=g+2|0;e=m?b:e;b=e;h=h+2|0;if((k|0)!=(h|0)){continue}break}}if(i&1){break c}b=e;break b}while(1){g=e;e=c;while(1){d:{v[a>>2]=b;if((e|0)==1){a=a+16|0;b=b+16|0;break d}v[a+16>>2]=b;b=b+16|0;a=a+32|0;k=(e|0)>2;e=e-2|0;if(k){continue}}break}k=((h|0)==(o|0)|h)&1;e=k?b:g+(c<<4)|0;b=k?b:g;h=h+1|0;if((i|0)!=(h|0)){continue}break}break b}g=((g|0)==(o|0)|g)&1;c=g?b:(c<<4)+e|0;b=g?b:e;e=c}n=n+1|0;if((n|0)!=(p|0)){continue}break}}v[a>>2]=0;e:{if(!l){break e}if(l>>>0>=4){a=l&-4;b=0;while(1){v[d+12>>2]=0;v[d+4>>2]=999;v[d+8>>2]=0;v[d+60>>2]=0;v[d+52>>2]=999;v[d+56>>2]=0;v[d+44>>2]=0;v[d+36>>2]=999;v[d+40>>2]=0;v[d+28>>2]=0;v[d+20>>2]=999;v[d+24>>2]=0;d=d- -64|0;b=b+4|0;if((a|0)!=(b|0)){continue}break}}a=l&3;if(!a){break e}b=0;while(1){v[d+12>>2]=0;v[d+4>>2]=999;v[d+8>>2]=0;d=d+16|0;b=b+1|0;if((a|0)!=(b|0)){continue}break}}}pa=j+256|0;return f}function Kf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=pa-16|0;pa=h;i=v[a+72>>2];if(v[a+8>>2]==16){e=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{e=v[a+12>>2]}t[e+5640|0]=w[e+5640|0]|1;a:{if(c>>>0<=4){Ea(d,1,5655,0);break a}Ga(b,e,1);if(y[e>>2]>=8){Ea(d,1,5621,0);break a}Ga(b+1|0,h+8|0,1);g=v[h+8>>2];v[e+4>>2]=g;if((g|0)>=5){Ea(d,1,5580,0);v[e+4>>2]=-1}Ga(b+2|0,e+8|0,2);g=v[e+8>>2];if(g-65536>>>0<=4294901760){v[h>>2]=g;Ea(d,1,9118,h);break a}j=v[a+164>>2];v[e+12>>2]=j?j:g;Ga(b+4|0,e+16|0,1);if(y[e+16>>2]>=2){Ea(d,1,6626,0);break a}j=b+5|0;v[h+12>>2]=c-5;i=v[i+16>>2];b:{if(!i){break b}b=v[e>>2]&1;e=v[e+5584>>2];g=0;if(i>>>0>=8){k=i&-8;c=0;while(1){v[e+B(f,1080)>>2]=b;v[e+B(f|1,1080)>>2]=b;v[e+B(f|2,1080)>>2]=b;v[e+B(f|3,1080)>>2]=b;v[e+B(f|4,1080)>>2]=b;v[e+B(f|5,1080)>>2]=b;v[e+B(f|6,1080)>>2]=b;v[e+B(f|7,1080)>>2]=b;f=f+8|0;c=c+8|0;if((k|0)!=(c|0)){continue}break}}c=i&7;if(!c){break b}while(1){v[e+B(f,1080)>>2]=b;f=f+1|0;g=g+1|0;if((c|0)!=(g|0)){continue}break}}f=0;if(!Zc(a,0,j,h+12|0,d)){Ea(d,1,5655,0);break a}if(v[h+12>>2]){Ea(d,1,5655,0);break a}if(v[a+8>>2]==16){b=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{b=v[a+12>>2]}if(y[v[a+72>>2]+16>>2]>=2){b=v[b+5584>>2];d=v[b+4>>2]<<2;e=b+944|0;f=b+812|0;g=1;c=b;while(1){v[c+1084>>2]=v[b+4>>2];v[c+1088>>2]=v[b+8>>2];v[c+1092>>2]=v[b+12>>2];v[c+1096>>2]=v[b+16>>2];v[c+1100>>2]=v[b+20>>2];Ha(c+1892|0,f,d);Ha(c+2024|0,e,d);c=c+1080|0;g=g+1|0;if(g>>>0>2]+16>>2]){continue}break}}f=1}pa=h+16|0;return f|0}function dd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;a:{d=Ia(1,48);if(d){b=v[a+200>>2];c=v[b+4>>2];v[d>>2]=v[b>>2];v[d+4>>2]=c;c=v[b+12>>2];v[d+8>>2]=v[b+8>>2];v[d+12>>2]=c;c=v[b+20>>2];v[d+16>>2]=v[b+16>>2];v[d+20>>2]=c;c=v[b+24>>2];v[d+24>>2]=c;b=Ja(B(c,24));v[d+28>>2]=b;if(!b){Fa(d);return 0}c=v[v[a+200>>2]+28>>2];b:{if(c){Ha(b,c,B(v[d+24>>2],24));break b}Fa(b);v[d+28>>2]=0}c=v[v[a+200>>2]+36>>2];v[d+36>>2]=c;b=Ia(c,40);v[d+40>>2]=b;if(!b){Fa(v[d+28>>2]);Fa(d);return 0}c:{if(v[v[a+200>>2]+40>>2]){if(!v[d+36>>2]){break c}while(1){e=B(g,40);c=v[(e+v[v[a+200>>2]+40>>2]|0)+20>>2];v[(b+e|0)+20>>2]=c;f=Ja(B(c,24));c=v[d+40>>2];b=c+e|0;v[b+24>>2]=f;if(!f){if(g){b=0;while(1){Fa(v[(v[d+40>>2]+B(b,40)|0)+24>>2]);b=b+1|0;if((g|0)!=(b|0)){continue}break}c=v[d+40>>2]}break a}c=v[(e+v[v[a+200>>2]+40>>2]|0)+24>>2];d:{if(c){Ha(f,c,B(v[b+20>>2],24));b=v[d+40>>2];break d}Fa(f);b=v[d+40>>2];v[(e+b|0)+24>>2]=0}c=v[(e+v[v[a+200>>2]+40>>2]|0)+4>>2];v[(b+e|0)+4>>2]=c;f=Ja(B(c,24));c=v[d+40>>2];b=c+e|0;v[b+16>>2]=f;if(!f){if(g){b=0;while(1){a=B(b,40);Fa(v[(a+v[d+40>>2]|0)+24>>2]);Fa(v[(a+v[d+40>>2]|0)+16>>2]);b=b+1|0;if((g|0)!=(b|0)){continue}break}c=v[d+40>>2]}break a}c=v[(e+v[v[a+200>>2]+40>>2]|0)+16>>2];e:{if(c){Ha(f,c,B(v[b+4>>2],24));b=v[d+40>>2];break e}Fa(f);b=v[d+40>>2];v[(e+b|0)+16>>2]=0}c=b+e|0;v[c+32>>2]=0;v[c+36>>2]=0;g=g+1|0;if(g>>>0>2]){continue}break}break c}Fa(b);v[d+40>>2]=0}}else{d=0}return d|0}Fa(c);Fa(v[d+28>>2]);Fa(d);return 0}function Se(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=pa-80|0;pa=e;a:{if(c>>>0<=2){Ea(d,1,15120,0);break a}if(w[a+124|0]){Ea(d,4,11875,0);g=1;break a}g=1;Ga(b,a+40|0,1);Ga(b+1|0,a+52|0,1);Ga(b+2|0,a+44|0,1);f=b+3|0;b:{c:{d:{e:{f:{h=v[a+40>>2];switch(h-1|0){case 1:break e;case 0:break f;default:break d}}if(c>>>0<=6){v[e+16>>2]=c;Ea(d,1,15797,e+16|0);g=0;break a}if(!((c|0)==7|v[a+48>>2]==14)){v[e+48>>2]=c;Ea(d,2,15797,e+48|0)}Ga(f,a+48|0,4);if(v[a+48>>2]!=14){break b}f=Ja(36);if(!f){g=0;Ea(d,1,9e3,0);break a}v[f>>2]=14;v[e+64>>2]=0;v[e+56>>2]=0;v[e+72>>2]=0;v[e+60>>2]=0;v[e+68>>2]=0;v[e+76>>2]=0;g=4470064;v[e+52>>2]=4470064;v[f+4>>2]=1145390592;g:{if((c|0)!=7){if((c|0)==35){Ga(b+7|0,e+76|0,4);Ga(b+11|0,e+72|0,4);Ga(b+15|0,e+68|0,4);Ga(b+19|0,e- -64|0,4);Ga(b+23|0,e+60|0,4);Ga(b+27|0,e+56|0,4);Ga(b+31|0,e+52|0,4);v[f+4>>2]=0;g=v[e+52>>2];c=v[e+56>>2];d=v[e+64>>2];i=v[e+68>>2];j=v[e+76>>2];h=v[e+72>>2];b=v[e+60>>2];break g}v[e+32>>2]=c;Ea(d,2,15833,e+32|0)}c=0;d=0;h=0;b=0}v[f+24>>2]=b;v[f+16>>2]=i;v[f+8>>2]=j;v[f+32>>2]=g;v[f+28>>2]=c;v[f+20>>2]=d;v[f+12>>2]=h;v[a+112>>2]=0;v[a+108>>2]=f;break b}b=c-3|0;v[a+112>>2]=b;d=Ia(1,b);v[a+108>>2]=d;if(!d){break c}if((c|0)<=3){break b}c=0;while(1){Ga(f,e+76|0,1);t[v[a+108>>2]+c|0]=v[e+76>>2];f=f+1|0;c=c+1|0;if((b|0)!=(c|0)){continue}break}break b}if(h>>>0<3){break a}v[e>>2]=h;Ea(d,4,16592,e);break a}g=0;v[a+112>>2]=0;break a}g=1;t[a+124|0]=1}pa=e+80|0;return g|0}function Qa(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;g=v[a+48>>2];if(g>>>0>=c>>>0){Ha(b,v[a+36>>2],c);v[a+36>>2]=v[a+36>>2]+c;v[a+48>>2]=v[a+48>>2]-c;f=v[a+60>>2];b=v[a+56>>2]+c|0;f=b>>>0>>0?f+1|0:f;v[a+56>>2]=b;v[a+60>>2]=f;return c}if(w[a+68|0]&4){Ha(b,v[a+36>>2],g);c=v[a+48>>2];v[a+48>>2]=0;v[a+36>>2]=c+v[a+36>>2];b=v[a+60>>2];d=c;c=v[a+56>>2]+c|0;b=d>>>0>c>>>0?b+1|0:b;v[a+56>>2]=c;v[a+60>>2]=b;return g?g:-1}a:{if(g){h=Ha(b,v[a+36>>2],g);i=v[a+32>>2];v[a+36>>2]=i;e=v[a+48>>2];v[a+48>>2]=0;b=v[a+60>>2];f=v[a+56>>2]+e|0;b=f>>>0>>0?b+1|0:b;v[a+56>>2]=f;v[a+60>>2]=b;c=c-e|0;b=e+h|0;break a}i=v[a+32>>2];v[a+36>>2]=i}b:{c:{while(1){d:{e=v[a>>2];h=v[a+16>>2];f=v[a+64>>2];e:{if(f>>>0>c>>>0){h=ta[h|0](i,f,e)|0;v[a+48>>2]=h;if((h|0)==-1){break b}if(c>>>0<=h>>>0){break d}Ha(b,v[a+36>>2],h);i=v[a+32>>2];v[a+36>>2]=i;e=v[a+48>>2];break e}e=ta[h|0](b,c,e)|0;v[a+48>>2]=e;if((e|0)==-1){break b}if(c>>>0<=e>>>0){break c}i=v[a+32>>2];v[a+36>>2]=i;h=e}v[a+48>>2]=0;f=v[a+60>>2];j=v[a+56>>2]+e|0;f=j>>>0>>0?f+1|0:f;v[a+56>>2]=j;v[a+60>>2]=f;b=b+e|0;c=c-e|0;g=g+h|0;continue}break}Ha(b,v[a+36>>2],c);v[a+36>>2]=v[a+36>>2]+c;v[a+48>>2]=v[a+48>>2]-c;b=v[a+60>>2];d=v[a+56>>2]+c|0;b=d>>>0>>0?b+1|0:b;v[a+56>>2]=d;v[a+60>>2]=b;return c+g|0}v[a+48>>2]=0;v[a+36>>2]=v[a+32>>2];b=v[a+60>>2];c=v[a+56>>2]+e|0;b=c>>>0>>0?b+1|0:b;v[a+56>>2]=c;v[a+60>>2]=b;return e+g|0}Ea(d,4,16272,0);v[a+48>>2]=0;v[a+68>>2]=v[a+68>>2]|4;return g?g:-1}function zd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=v[a+48>>2];if(e>>>0>=b>>>0){v[a+48>>2]=e-b;v[a+36>>2]=v[a+36>>2]+b;e=c+v[a+60>>2]|0;d=b+v[a+56>>2]|0;e=d>>>0>>0?e+1|0:e;v[a+56>>2]=d;v[a+60>>2]=e;sa=c;return b|0}if(w[a+68|0]&4){v[a+48>>2]=0;v[a+36>>2]=e+v[a+36>>2];g=v[a+60>>2];c=v[a+56>>2];b=c+e|0;v[a+56>>2]=b;v[a+60>>2]=b>>>0>>0?g+1|0:g;sa=e?0:-1;return(e?e:-1)|0}if(e){v[a+48>>2]=0;v[a+36>>2]=v[a+32>>2];i=b;f=e;b=b-e|0;c=c-(e>>>0>i>>>0)|0}a:{if(!!b&(c|0)>=0|(c|0)>0){while(1){i=v[a+12>>2];e=c+g|0;h=b+f|0;e=v[a+60>>2]+(h>>>0>>0?e+1|0:e)|0;j=h;h=h+v[a+56>>2]|0;e=j>>>0>h>>>0?e+1|0:e;if((e|0)==(i|0)&h>>>0>y[a+8>>2]|e>>>0>i>>>0){Ea(d,4,16272,0);v[a+48>>2]=0;v[a+36>>2]=v[a+32>>2];b=g+v[a+60>>2]|0;c=f+v[a+56>>2]|0;b=c>>>0>>0?b+1|0:b;v[a+56>>2]=c;v[a+60>>2]=b;d=v[a+8>>2];f=d-c|0;e=v[a+12>>2];g=e-((c>>>0>d>>>0)+b|0)|0;i=ta[v[a+28>>2]](d,e,v[a>>2])|0;h=v[a+68>>2];if(i){v[a+56>>2]=d;v[a+60>>2]=e}v[a+68>>2]=h|4;a=(c|0)==(d|0)&(b|0)==(e|0);b=a?-1:f;break a}e=ta[v[a+24>>2]](b,c,v[a>>2])|0;i=sa;h=i;if((e&h)==-1){Ea(d,4,16272,0);v[a+68>>2]=v[a+68>>2]|4;e=g+v[a+60>>2]|0;b=f+v[a+56>>2]|0;e=b>>>0>>0?e+1|0:e;v[a+56>>2]=b;v[a+60>>2]=e;a=!(g|f);b=a?-1:f;break a}g=g+h|0;f=e+f|0;g=f>>>0>>0?g+1|0:g;c=c-((b>>>0>>0)+h|0)|0;b=b-e|0;if(!!b&(c|0)>=0|(c|0)>0){continue}break}}b=g+v[a+60>>2]|0;c=f+v[a+56>>2]|0;b=c>>>0>>0?b+1|0:b;v[a+56>>2]=c;v[a+60>>2]=b;sa=g;return f|0}sa=a?-1:g;return b|0}function Zc(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0;g=pa-32|0;pa=g;if(v[a+8>>2]==16){h=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{h=v[a+12>>2]}a:{if(y[d>>2]<=4){a=0;Ea(e,1,3704,0);break a}i=v[h+5584>>2];h=i+B(b,1080)|0;Ga(c,h+4|0,1);f=v[h+4>>2]+1|0;v[h+4>>2]=f;if(f>>>0>=34){v[g+4>>2]=33;v[g>>2]=f;Ea(e,1,8686,g);a=0;break a}j=v[a+160>>2];if(j>>>0>=f>>>0){v[g+24>>2]=f;v[g+20>>2]=j;v[g+16>>2]=b;Ea(e,1,17065,g+16|0);v[a+8>>2]=v[a+8>>2]|32768;a=0;break a}a=i+B(b,1080)|0;Ga(c+1|0,a+8|0,1);v[a+8>>2]=v[a+8>>2]+2;Ga(c+2|0,a+12|0,1);f=v[a+12>>2]+2|0;v[a+12>>2]=f;a=v[a+8>>2];if(!(!(a>>>0>10|f>>>0>10)&a+f>>>0<13)){a=0;Ea(e,1,6558,0);break a}a=i+B(b,1080)|0;Ga(c+3|0,a+16|0,1);if(w[a+16|0]&128){a=0;Ea(e,1,7628,0);break a}Ga(c+4|0,a+20|0,1);if(y[a+20>>2]>=2){a=0;Ea(e,1,7563,0);break a}f=v[d>>2]-5|0;v[d>>2]=f;a=1;j=v[h+4>>2];if(!(t[h|0]&1)){if(!j){break a}d=0;b=i+B(b,1080)|0;while(1){a=b+(d<<2)|0;v[a+944>>2]=15;v[a+812>>2]=15;a=1;d=d+1|0;if(d>>>0>2]){continue}break}break a}if(f>>>0>=j>>>0){b:{if(!j){b=0;break b}Ga(c+5|0,g+28|0,1);i=i+B(b,1080)|0;v[i+812>>2]=v[g+28>>2]&15;v[i+944>>2]=v[g+28>>2]>>>4;b=v[h+4>>2];if(b>>>0>=2){a=c+6|0;c=1;while(1){Ga(a,g+28|0,1);c:{b=v[g+28>>2];if(b>>>0>=16){b=b&15;if(b){break c}}a=0;Ea(e,1,7089,0);break a}f=i+(c<<2)|0;v[f+812>>2]=b;v[f+944>>2]=v[g+28>>2]>>>4;a=a+1|0;b=v[h+4>>2];c=c+1|0;if(b>>>0>c>>>0){continue}break}}f=v[d>>2]}v[d>>2]=f-b;a=1;break a}a=0;Ea(e,1,3704,0)}pa=g+32|0;return a}function Dc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=v[a+24>>2];j=v[e+16>>2];if(!j){return 0}f=v[e+24>>2];e=v[v[v[a+20>>2]>>2]+20>>2];a:{b:{if(!b){b=0;while(1){c=v[f+24>>2];a=(v[e+28>>2]+B(v[e+24>>2],152)|0)-152|0;g=v[a+12>>2];h=v[a+4>>2];d=g-h|0;a=v[a+8>>2]-v[a>>2]|0;c:{if((g|0)==(h|0)){break c}Qf(a,0,d,0);if(!sa){break c}break a}d=B(a,d);d:{a=(c>>>3|0)+((c&7)!=0)|0;c=(a|0)==3?4:a;if(!c){break d}Qf(c,0,d,0);if(!sa){break d}break a}a=-1;c=B(c,d);if(c>>>0>(b^-1)>>>0){break b}e=e+76|0;f=f+52|0;b=b+c|0;a=b;i=i+1|0;if((j|0)!=(i|0)){continue}break}break b}b=0;if(!v[a+64>>2]){while(1){c=v[f+24>>2];a=(v[e+28>>2]+B(v[e+24>>2],152)|0)-152|0;g=v[a+148>>2];h=v[a+140>>2];d=g-h|0;a=v[a+144>>2]-v[a+136>>2]|0;e:{if((g|0)==(h|0)){break e}Qf(a,0,d,0);if(!sa){break e}break a}d=B(a,d);f:{a=(c>>>3|0)+((c&7)!=0)|0;c=(a|0)==3?4:a;if(!c){break f}Qf(c,0,d,0);if(!sa){break f}break a}a=-1;c=B(c,d);if(c>>>0>(b^-1)>>>0){break b}e=e+76|0;f=f+52|0;b=b+c|0;a=b;i=i+1|0;if((j|0)!=(i|0)){continue}break}break b}while(1){c=v[f+24>>2];a=(v[e+28>>2]+B(v[e+24>>2],152)|0)-152|0;g=v[a+12>>2];h=v[a+4>>2];d=g-h|0;a=v[a+8>>2]-v[a>>2]|0;g:{if((g|0)==(h|0)){break g}Qf(a,0,d,0);if(!sa){break g}break a}d=B(a,d);h:{a=(c>>>3|0)+((c&7)!=0)|0;c=(a|0)==3?4:a;if(!c){break h}Qf(c,0,d,0);if(!sa){break h}break a}a=-1;c=B(c,d);if(c>>>0>(b^-1)>>>0){break b}e=e+76|0;f=f+52|0;b=b+c|0;a=b;i=i+1|0;if((j|0)!=(i|0)){continue}break}}return a}return-1}function Pb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0;h=pa-32|0;pa=h;t=v[a+16>>2];a:{if(!t){e=1;break a}b:{n=v[a>>2];if((n|0)<0){break b}o=v[a+4>>2];if((o|0)<0){break b}c=v[a+8>>2];if((c|0)<0){break b}f=v[a+12>>2];if((f|0)<0){break b}a=v[a+24>>2];w=c;x=f;while(1){d=v[a>>2];i=d>>31;g=i-!d|0;c=g;k=d-1|0;f=n+k|0;c=f>>>0>>0?c+1|0:c;p=Rf(f,c,d,i);v[a+16>>2]=p;j=v[a+4>>2];q=j>>31;u=q-!j|0;c=u;r=j-1|0;f=o+r|0;c=f>>>0>>0?c+1|0:c;s=Rf(f,c,j,q);v[a+20>>2]=s;f=v[a+40>>2];e=f&31;if((f&63)>>>0>=32){c=-1<>>32-e;e=-1<>>0>k>>>0?c+1|0:c;d=Rf(k,c,d,i);c=(d>>31)+l|0;g=d;d=d+e|0;c=g>>>0>d>>>0?c+1|0:c;i=d;d=f&31;d=(f&63)>>>0>=32?c>>d:((1<>>d;c=l+(p>>31)|0;g=d;i=e+p|0;c=i>>>0>>0?c+1|0:c;d=f&31;c=g-((f&63)>>>0>=32?c>>d:((1<>>d)|0;if((c|0)<0){v[h+4>>2]=c;v[h>>2]=m;Ea(b,1,14152,h);e=0;break a}v[a+8>>2]=c;c=u;d=r+x|0;c=d>>>0>>0?c+1|0:c;d=Rf(d,c,j,q);c=l+(d>>31)|0;d=d+e|0;c=d>>>0>>0?c+1|0:c;j=d;d=f&31;d=(f&63)>>>0>=32?c>>d:((1<>>d;c=l+(s>>31)|0;g=e;e=e+s|0;c=g>>>0>e>>>0?c+1|0:c;g=d;d=e;e=f&31;c=g-((f&63)>>>0>=32?c>>e:((1<>>e)|0;if((c|0)<0){v[h+20>>2]=c;v[h+16>>2]=m;Ea(b,1,14221,h+16|0);e=0;break a}v[a+12>>2]=c;a=a+52|0;e=1;m=m+1|0;if((t|0)!=(m|0)){continue}break}break a}Ea(b,1,7784,0)}pa=h+32|0;return e}function zb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;if(a){a:{if(v[a>>2]){b=v[a+12>>2];if(b){nb(b);Fa(v[a+12>>2]);v[a+12>>2]=0}b=v[a+16>>2];if(b){Fa(b);v[a+16>>2]=0;v[a+20>>2]=0}Fa(v[a- -64>>2]);v[a+60>>2]=0;v[a+64>>2]=0;break a}b=v[a+44>>2];if(b){Fa(b);v[a+44>>2]=0}b=v[a+32>>2];if(b){Fa(b);v[a+32>>2]=0;v[a+36>>2]=0}b=v[a+52>>2];if(!b){break a}Fa(b);v[a+52>>2]=0;v[a+56>>2]=0}Ec(v[a+208>>2]);b=v[a+156>>2];if(b){d=B(v[a+104>>2],v[a+108>>2]);if(d){while(1){nb(b);b=b+5644|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}b=v[a+156>>2]}Fa(b);v[a+156>>2]=0}b=v[a+116>>2];if(b){c=v[a+112>>2];if(c){b=0;while(1){d=v[v[a+116>>2]+(b<<3)>>2];if(d){Fa(d);c=v[a+112>>2]}b=b+1|0;if(c>>>0>b>>>0){continue}break}b=v[a+116>>2]}v[a+112>>2]=0;Fa(b);v[a+116>>2]=0}Fa(v[a+136>>2]);v[a+120>>2]=0;v[a+136>>2]=0;Fa(v[a+100>>2]);v[a+100>>2]=0;if(!(w[a+188|0]&2)){Fa(v[a+168>>2])}Ka(a+80|0,0,112);vb(v[a+192>>2]);v[a+192>>2]=0;vb(v[a+196>>2]);v[a+192>>2]=0;b=v[a+200>>2];if(b){c=v[b+28>>2];if(c){Fa(c);v[b+28>>2]=0}c=v[b+40>>2];if(c){if(v[b+36>>2]){while(1){d=B(f,40);e=v[(d+c|0)+36>>2];if(e){Fa(e);c=v[b+40>>2];v[(d+c|0)+36>>2]=0}e=v[(c+d|0)+16>>2];if(e){Fa(e);c=v[b+40>>2];v[(d+c|0)+16>>2]=0}e=v[(c+d|0)+24>>2];if(e){Fa(e);c=v[b+40>>2];v[(d+c|0)+24>>2]=0}f=f+1|0;if(f>>>0>2]){continue}break}}Fa(c);v[b+40>>2]=0}Fa(b)}v[a+200>>2]=0;Za(v[a+72>>2]);v[a+72>>2]=0;Za(v[a+76>>2]);v[a+76>>2]=0;Bb(v[a+212>>2]);v[a+212>>2]=0;Fa(a)}}function Rb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=rb();v[b+72>>2]=e;a:{b:{if(!e){break b}c:{if(db(v[b+196>>2],77,d)){if(db(v[b+196>>2],78,d)){break c}}break a}g=v[b+196>>2];i=v[g>>2];f=v[g+8>>2];d:{if(i){e=1;if((i|0)!=1){k=i&-2;while(1){h=0;e:{if(!e){break e}h=0;if(!(ta[v[f>>2]](b,a,d)|0)){break e}h=(ta[v[f+4>>2]](b,a,d)|0)!=0}e=h;f=f+8|0;j=j+2|0;if((k|0)!=(j|0)){continue}break}}f:{g:{if(i&1){if(!e){break g}e=(ta[v[f>>2]](b,a,d)|0)!=0}v[g>>2]=0;if(!e){break f}break d}v[g>>2]=0}break a}v[g>>2]=0}h:{if(db(v[b+192>>2],79,d)){if(db(v[b+192>>2],80,d)){break h}}break a}g=v[b+192>>2];i=v[g>>2];f=v[g+8>>2];i:{if(i){e=1;if((i|0)!=1){k=i&-2;j=0;while(1){h=0;j:{if(!e){break j}h=0;if(!(ta[v[f>>2]](b,a,d)|0)){break j}h=(ta[v[f+4>>2]](b,a,d)|0)!=0}e=h;f=f+8|0;j=j+2|0;if((k|0)!=(j|0)){continue}break}}k:{l:{if(i&1){if(!e){break l}e=(ta[v[f>>2]](b,a,d)|0)!=0}v[g>>2]=0;if(!e){break k}break i}v[g>>2]=0}break a}v[g>>2]=0}a=rb();v[c>>2]=a;if(!a){break b}Cb(v[b+72>>2],a);a=B(v[b+108>>2],v[b+104>>2]);v[v[b+200>>2]+36>>2]=a;d=Ia(a,40);a=v[b+200>>2];v[a+40>>2]=d;m:{if(!d){break m}if(!v[a+36>>2]){return 1}f=0;while(1){e=B(f,40);a=e+d|0;v[a+20>>2]=0;v[a+28>>2]=100;a=Ia(100,24);g=v[b+200>>2];d=v[g+40>>2];v[(e+d|0)+24>>2]=a;if(!a){break m}l=1;f=f+1|0;if(f>>>0>2]){continue}break}break b}Za(v[c>>2]);l=0;v[c>>2]=0}return l|0}Za(v[b+72>>2]);v[b+72>>2]=0;return 0}function ed(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=pa-16|0;pa=j;l=v[v[a+72>>2]+16>>2];b=Ia(1,56);v[j+12>>2]=b;a:{if(!b){break a}h=v[v[a+72>>2]+16>>2];v[b+24>>2]=h;v[b>>2]=v[a+84>>2];v[b+4>>2]=v[a+88>>2];v[b+8>>2]=v[a+92>>2];v[b+12>>2]=v[a+96>>2];v[b+16>>2]=v[a+104>>2];f=v[a+108>>2];v[b+52>>2]=0;v[b+20>>2]=f;i=v[a+12>>2];v[b+32>>2]=v[i>>2];v[b+36>>2]=v[i+4>>2];v[b+40>>2]=v[i+8>>2];v[b+44>>2]=v[i+16>>2];a=Ia(h,1080);v[b+48>>2]=a;if(a){if(l){while(1){a=B(k,1080);d=a+v[b+48>>2]|0;c=a+v[i+5584>>2]|0;v[d+4>>2]=v[c>>2];a=v[c+4>>2];v[d+8>>2]=a;v[d+12>>2]=v[c+8>>2];v[d+16>>2]=v[c+12>>2];v[d+20>>2]=v[c+16>>2];v[d+24>>2]=v[c+20>>2];if(a>>>0<=32){Ha(d+948|0,c+944|0,a);Ha(d+816|0,c+812|0,v[c+4>>2])}a=v[c+24>>2];v[d+28>>2]=a;v[d+808>>2]=v[c+804>>2];g=1;b:{if((a|0)!=1){a=B(v[c+4>>2],3);if(a-3>>>0>95){break b}g=a-2|0}o=g&1;a=0;if((g|0)!=1){p=g&-2;g=0;while(1){m=d+32|0;f=a<<2;n=c+28|0;e=n+(a<<3)|0;v[m+f>>2]=v[e+4>>2];h=d+420|0;v[h+f>>2]=v[e>>2];e=a|1;f=e<<2;e=(e<<3)+n|0;v[f+m>>2]=v[e+4>>2];v[f+h>>2]=v[e>>2];a=a+2|0;g=g+2|0;if((p|0)!=(g|0)){continue}break}}if(!o){break b}e=(a<<2)+d|0;a=(a<<3)+c|0;v[e+32>>2]=v[a+32>>2];v[e+420>>2]=v[a+28>>2]}v[d+812>>2]=v[c+808>>2];k=k+1|0;if((k|0)!=(l|0)){continue}break}}e=b;break a}f=j+12|0;if(f){a=v[f>>2];b=v[a+48>>2];if(b){Fa(b);a=v[f>>2]}Fa(a);v[f>>2]=0}}pa=j+16|0;return e|0}function bd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a:{b:{e=v[a+60>>2];if(!e){if(v[b+16>>2]){break b}return 1}g=Ja(B(e,52));if(!g){break a}e=0;if(v[b+16>>2]){d=v[b+24>>2];while(1){e=B(c,52);Fa(v[(e+d|0)+44>>2]);d=v[b+24>>2];v[(e+d|0)+44>>2]=0;c=c+1|0;e=v[b+16>>2];if(c>>>0>>0){continue}break}}if(v[a+60>>2]){c=v[v[a+76>>2]+24>>2];e=0;while(1){f=B(v[v[a+64>>2]+(e<<2)>>2],52);c=f+c|0;h=v[c+4>>2];d=g+B(e,52)|0;v[d>>2]=v[c>>2];v[d+4>>2]=h;v[d+48>>2]=v[c+48>>2];h=v[c+44>>2];v[d+40>>2]=v[c+40>>2];v[d+44>>2]=h;h=v[c+36>>2];v[d+32>>2]=v[c+32>>2];v[d+36>>2]=h;h=v[c+28>>2];v[d+24>>2]=v[c+24>>2];v[d+28>>2]=h;h=v[c+20>>2];v[d+16>>2]=v[c+16>>2];v[d+20>>2]=h;h=v[c+12>>2];v[d+8>>2]=v[c+8>>2];v[d+12>>2]=h;c=v[v[a+76>>2]+24>>2];f=f+c|0;v[d+36>>2]=v[f+36>>2];v[d+44>>2]=v[f+44>>2];v[f+44>>2]=0;e=e+1|0;f=v[a+60>>2];if(e>>>0>>0){continue}break}e=v[b+16>>2]}if(e){d=v[v[a+76>>2]+24>>2];c=0;while(1){e=B(c,52);Fa(v[(e+d|0)+44>>2]);d=v[v[a+76>>2]+24>>2];v[(e+d|0)+44>>2]=0;c=c+1|0;if(c>>>0>2]){continue}break}f=v[a+60>>2]}v[b+16>>2]=f;Fa(v[b+24>>2]);v[b+24>>2]=g;return 1}e=v[b+24>>2];c=v[v[a+76>>2]+24>>2];while(1){g=B(d,52);e=g+e|0;v[e+36>>2]=v[(c+g|0)+36>>2];Fa(v[e+44>>2]);e=v[b+24>>2];f=g+e|0;c=v[v[a+76>>2]+24>>2];g=g+c|0;v[f+44>>2]=v[g+44>>2];v[g+44>>2]=0;d=d+1|0;if(d>>>0>2]){continue}break}return 1}Za(v[a+72>>2]);v[a+72>>2]=0;return 0}function xf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=pa-16|0;pa=h;if(v[a+8>>2]==16){f=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{f=v[a+12>>2]}a:{if(c>>>0<=1){Ea(d,1,5196,0);a=0;break a}Ga(b,h+12|0,2);b:{if(v[h+12>>2]){Ea(d,2,4705,0);break b}if(c>>>0<=6){Ea(d,1,5196,0);a=0;break a}Ga(b+2|0,h+12|0,2);e=v[f+5616>>2];k=w[h+12|0];c:{d:{e:{g=v[f+5620>>2];if(!g){a=e;break e}a=e;while(1){if(v[a+8>>2]==(k|0)){break e}a=a+20|0;i=i+1|0;if((i|0)!=(g|0)){continue}break}break d}if((g|0)!=(i|0)){break c}}if(v[f+5624>>2]==(g|0)){a=g+10|0;v[f+5624>>2]=a;a=Oa(e,B(a,20));e=v[f+5616>>2];if(!a){Fa(e);v[f+5624>>2]=0;v[f+5616>>2]=0;v[f+5620>>2]=0;Ea(d,1,5222,0);a=0;break a}f:{if((a|0)==(e|0)){break f}l=v[f+5632>>2];if(!l){break f}m=v[f+5628>>2];i=0;while(1){g=B(i,20)+m|0;j=v[g+8>>2];if(j){v[g+8>>2]=a+B((j-e|0)/20|0,20)}j=v[g+12>>2];if(j){v[g+12>>2]=a+B((j-e|0)/20|0,20)}i=i+1|0;if((l|0)!=(i|0)){continue}break}}v[f+5616>>2]=a;e=v[f+5620>>2];Ka(a+B(e,20)|0,0,B(v[f+5624>>2]-e|0,20));g=v[f+5620>>2];e=v[f+5616>>2]}v[f+5620>>2]=g+1;a=B(g,20)+e|0}e=v[a+12>>2];if(e){Fa(e);v[a+12>>2]=0;v[a+16>>2]=0}v[a+8>>2]=k;e=v[h+12>>2];v[a>>2]=e>>>10&3;v[a+4>>2]=e>>>8&3;Ga(b+4|0,h+12|0,2);if(v[h+12>>2]){Ea(d,2,4120,0);break b}c=c-6|0;e=Ja(c);v[a+12>>2]=e;if(!e){Ea(d,1,5196,0);a=0;break a}Ha(e,b+6|0,c);v[a+16>>2]=c}a=1}pa=h+16|0;return a|0}function Vb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=(v[a+28>>2]+B(b,152)|0)-152|0;c=v[d+8>>2]-v[d>>2]|0;g=c;d=v[d+12>>2]-v[d+4>>2]|0;e=d;c=c>>>0>=64?64:c;f=d>>>0>=64?64:d;a:{if(!(!g|!d|(!c|!f)|c>>>0>4294967295/(f>>>0)>>>2>>>0)){d=Ia(1,28);v[d+12>>2]=f;v[d+8>>2]=c;v[d+4>>2]=e;v[d>>2]=g;h=e;e=f+e|0;i=h>>>0>e>>>0;f=Sf(e-1|0,i-!e|0,f,0);v[d+20>>2]=f;e=g;g=c+g|0;e=e>>>0>g>>>0;c=Sf(g-1|0,e-!g|0,c,0);v[d+16>>2]=c;Qf(f,0,c,0);b:{if(sa){break b}c=Ia(4,B(c,f));v[d+24>>2]=c;if(!c){break b}break a}Fa(d)}d=0}if(!d){return 0}c:{if(b){while(1){e=v[a+28>>2]+B(m,152)|0;c=v[e+24>>2];if(c){p=m-1|0;g=v[e+20>>2];h=v[e+16>>2];n=0;while(1){if(B(g,h)){i=e+B(n,36)|0;o=0;while(1){j=v[i+48>>2]+B(o,40)|0;f=v[j+20>>2];c=v[j+16>>2];if(B(f,c)){g=0;while(1){h=v[j+24>>2]+(g<<6)|0;q=v[h+60>>2];if(q){k=v[h+8>>2];c=k-v[i+28>>2]|0;r=v[h+12>>2];f=r-v[i+32>>2]|0;l=v[i+44>>2];if(l&1){s=v[a+28>>2]+B(p,152)|0;c=(c+v[s+8>>2]|0)-v[s>>2]|0}if(l&2){l=v[a+28>>2]+B(p,152)|0;f=(f+v[l+12>>2]|0)-v[l+4>>2]|0}k=v[h+16>>2]-k|0;if(!gb(d,c,f,c+k|0,(v[h+20>>2]-r|0)+f|0,q,1,k)){break c}f=v[j+20>>2];c=v[j+16>>2]}g=g+1|0;if(g>>>0>>0){continue}break}h=v[e+16>>2];g=v[e+20>>2]}o=o+1|0;if(o>>>0>>0){continue}break}c=v[e+24>>2]}n=n+1|0;if(n>>>0>>0){continue}break}}m=m+1|0;if((m|0)!=(b|0)){continue}break}}return d}cb(d);return 0}function $a(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{if(!v[a+12>>2]){k=1;if(v[a+4>>2]>0|v[a+8>>2]>1){break b}break a}e=1;if(v[a+8>>2]>0){break b}if(v[a+4>>2]<2){break a}}b=v[a>>2];f=b+(e<<5)|0;g=v[a+16>>2];h=v[a+20>>2];if(g>>>0>>0){d=g;while(1){c=(d<<6)+f|0;z[c>>2]=z[c>>2]*C(1.2301740646362305);z[c+4>>2]=z[c+4>>2]*C(1.2301740646362305);z[c+8>>2]=z[c+8>>2]*C(1.2301740646362305);z[c+12>>2]=z[c+12>>2]*C(1.2301740646362305);z[c+16>>2]=z[c+16>>2]*C(1.2301740646362305);z[c+20>>2]=z[c+20>>2]*C(1.2301740646362305);z[c+24>>2]=z[c+24>>2]*C(1.2301740646362305);z[c+28>>2]=z[c+28>>2]*C(1.2301740646362305);d=d+1|0;if((h|0)!=(d|0)){continue}break}}i=b+(k<<5)|0;j=v[a+28>>2];c=v[a+24>>2];if(j>>>0>c>>>0){d=c;while(1){b=(d<<6)+i|0;z[b>>2]=z[b>>2]*C(1.625732421875);z[b+4>>2]=z[b+4>>2]*C(1.625732421875);z[b+8>>2]=z[b+8>>2]*C(1.625732421875);z[b+12>>2]=z[b+12>>2]*C(1.625732421875);z[b+16>>2]=z[b+16>>2]*C(1.625732421875);z[b+20>>2]=z[b+20>>2]*C(1.625732421875);z[b+24>>2]=z[b+24>>2]*C(1.625732421875);z[b+28>>2]=z[b+28>>2]*C(1.625732421875);d=d+1|0;if((j|0)!=(d|0)){continue}break}}b=f+32|0;d=v[a+8>>2];a=v[a+4>>2];e=a-e|0;e=(d|0)<(e|0)?d:e;ob(i,b,g,h,e,C(-.4435068666934967));l=i+32|0;d=d-k|0;a=(a|0)<(d|0)?a:d;ob(f,l,c,j,a,C(-.8829110860824585));ob(i,b,g,h,e,C(.05298011749982834));ob(f,l,c,j,a,C(1.5861343145370483))}}function le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=pa+-64|0;pa=f;a:{if(Sa(b,28512,0)){v[c>>2]=0;d=1;break a}b:{if(w[a+8|0]&24){e=1}else{if(!b){break b}e=Wa(b,28244);if(!e){break b}e=(w[e+8|0]&24)!=0}g=Sa(a,b,e)}if(g){d=1;a=v[c>>2];if(!a){break a}v[c>>2]=v[a>>2];break a}c:{if(!b){break c}e=Wa(b,28292);if(!e){break a}b=v[c>>2];if(b){v[c>>2]=v[b>>2]}g=v[e+8>>2];b=v[a+8>>2];if(g&(b^-1)&7|b&(g^-1)&96){break a}d=1;if(Sa(v[a+12>>2],v[e+12>>2],0)){break a}if(Sa(v[a+12>>2],28500,0)){a=v[e+12>>2];if(!a){break a}d=!Wa(a,28344);break a}g=v[a+12>>2];if(!g){break c}d=0;b=Wa(g,28292);if(b){if(!(t[a+8|0]&1)){break a}a=v[e+12>>2];c=0;d:{e:{while(1){d=0;if(!a){break d}a=Wa(a,28292);if(!a|v[a+8>>2]&(v[b+8>>2]^-1)){break e}d=1;if(Sa(v[b+12>>2],v[a+12>>2],0)){break d}if(!(t[b+8|0]&1)){break e}d=v[b+12>>2];if(!d){break e}b=Wa(d,28292);if(b){a=v[a+12>>2];continue}break}b=Wa(d,28404);if(!b){break e}c=ic(b,v[a+12>>2])}d=c}break a}b=Wa(g,28404);if(b){if(!(t[a+8|0]&1)){break a}d=ic(b,v[e+12>>2]);break a}b=Wa(g,28196);if(!b){break a}a=v[e+12>>2];if(!a){break a}a=Wa(a,28196);if(!a){break a}d=f+8|0;Ka(d|4,0,52);v[f+56>>2]=1;v[f+20>>2]=-1;v[f+16>>2]=b;v[f+8>>2]=a;ta[v[v[a>>2]+28>>2]](a,d,v[c>>2],1);a=v[f+32>>2];if(!(!v[c>>2]|(a|0)!=1)){v[c>>2]=v[f+24>>2]}d=(a|0)==1;break a}d=0}pa=f- -64|0;return d|0}function Ec(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(a){b=v[a+20>>2];if(b){f=v[b>>2];if(f){e=v[f+20>>2];if(v[f+16>>2]){h=t[a+40|0]&1?156:157;while(1){d=v[e+28>>2];if(d){b=v[e+32>>2];if(b>>>0>=152){k=(b>>>0)/152|0;i=0;while(1){b=v[d+48>>2];if(b){c=v[d+52>>2];if(c>>>0>=40){g=(c>>>0)/40|0;c=0;while(1){hb(v[b+32>>2]);v[b+32>>2]=0;hb(v[b+36>>2]);v[b+36>>2]=0;ta[h|0](b);b=b+40|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}b=v[d+48>>2]}Fa(b);v[d+48>>2]=0}b=v[d+84>>2];if(b){c=v[d+88>>2];if(c>>>0>=40){g=(c>>>0)/40|0;c=0;while(1){hb(v[b+32>>2]);v[b+32>>2]=0;hb(v[b+36>>2]);v[b+36>>2]=0;ta[h|0](b);b=b+40|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}b=v[d+84>>2]}Fa(b);v[d+84>>2]=0}b=v[d+120>>2];if(b){c=v[d+124>>2];if(c>>>0>=40){g=(c>>>0)/40|0;c=0;while(1){hb(v[b+32>>2]);v[b+32>>2]=0;hb(v[b+36>>2]);v[b+36>>2]=0;ta[h|0](b);b=b+40|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}b=v[d+120>>2]}Fa(b);v[d+120>>2]=0}d=d+152|0;i=i+1|0;if((k|0)!=(i|0)){continue}break}d=v[e+28>>2]}Fa(d);v[e+28>>2]=0}a:{if(!v[e+40>>2]){break a}b=v[e+36>>2];if(!b){break a}Fa(b);v[e+44>>2]=0;v[e+48>>2]=0;v[e+36>>2]=0;v[e+40>>2]=0}Fa(v[e+52>>2]);e=e+76|0;j=j+1|0;if(j>>>0>2]){continue}break}e=v[f+20>>2]}Fa(e);v[f+20>>2]=0;Fa(v[v[a+20>>2]>>2]);b=v[a+20>>2];v[b>>2]=0}Fa(b);v[a+20>>2]=0}Fa(v[a+68>>2]);Fa(a)}}function Wb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=v[a+8>>2];e=c+v[a+4>>2]|0;a:{if(!v[a+12>>2]){if((e|0)<2){break a}h=(c<<2)+b|0;c=v[h>>2];d=v[b>>2]-(c+1>>1)|0;i=v[a>>2];b:{if(e>>>0<4){f=c;break b}k=(e-4>>>1|0)+1|0;a=1;while(1){f=a<<2;l=v[f+b>>2];f=v[f+h>>2];m=g<<2;v[m+i>>2]=d;j=d;d=l-((c+f|0)+2>>2)|0;v[i+(m|4)>>2]=(j+d>>1)+c;g=g+2|0;j=(a|0)!=(k|0);c=f;a=a+1|0;if(j){continue}break}}v[i+(g<<2)>>2]=d;if(e&1){c=e-1|0;a=v[(c<<1&-4)+b>>2]-(f+1>>1)|0;v[i+(c<<2)>>2]=a;d=a+d>>1;a=-2}else{a=-1}v[(a+e<<2)+i>>2]=d+f;Ha(b,i,e<<2);return}c:{switch(e-1|0){case 0:v[b>>2]=v[b>>2]/2;return;case 1:a=v[a>>2];c=(c<<2)+b|0;d=v[b>>2]-(v[c>>2]+1>>1)|0;v[a+4>>2]=d;v[a>>2]=d+v[c>>2];c=v[a+4>>2];v[b>>2]=v[a>>2];v[b+4>>2]=c;return;default:break c}}if((e|0)<3){break a}h=v[a>>2];k=(c<<2)+b|0;c=v[k+4>>2];a=v[k>>2];d=v[b>>2]-((c+a|0)+2>>2)|0;v[h>>2]=d+a;a=e|-2;l=e-2|0;d:{if((a+l|0)+1>>>0<2){g=c;f=1;break d}m=((a+e|0)-3>>>1|0)+1|0;f=1;a=1;while(1){o=v[(a<<2)+b>>2];i=a+1|0;g=v[(i<<2)+k>>2];n=(f<<2)+h|0;v[n>>2]=d;j=d;d=o-((c+g|0)+2>>2)|0;v[n+4>>2]=(j+d>>1)+c;f=f+2|0;j=(a|0)!=(m|0);c=g;a=i;if(j){continue}break}}v[(f<<2)+h>>2]=d;e:{if(!(e&1)){a=v[((e<<1&-4)+b|0)-4>>2]-(g+1>>1)|0;v[(l<<2)+h>>2]=(d+a>>1)+g;break e}a=d+g|0}c=e<<2;v[(c+h|0)-4>>2]=a;Ha(b,h,c)}}function Mc(){var a=0;ca(17372,17396,17428,0,17444,17,17447,0,17447,0,1419,17310,18);ba(17372,1,17452,17444,19,20);a=La(8);v[a+4>>2]=0;v[a>>2]=21;O(17372,1313,3,17456,17496,22,a|0,0);a=La(8);v[a+4>>2]=0;v[a>>2]=23;O(17372,1330,2,17540,17313,24,a|0,0);a=La(8);v[a+4>>2]=0;v[a>>2]=25;O(17372,1480,2,17552,17560,26,a|0,0);a=La(8);v[a+4>>2]=0;v[a>>2]=27;O(17372,1610,3,17564,17496,28,a|0,0);a=La(8);v[a+4>>2]=0;v[a>>2]=29;O(17372,1919,2,17552,17560,26,a|0,0);a=La(8);v[a+4>>2]=0;v[a>>2]=30;O(17372,1566,4,17584,17600,31,a|0,0);a=La(8);v[a+4>>2]=0;v[a>>2]=32;O(17372,1553,2,17608,17313,33,a|0,0);a=La(8);v[a+4>>2]=0;v[a>>2]=34;O(17372,1232,2,17616,17313,35,a|0,0);a=La(8);v[a+4>>2]=0;v[a>>2]=36;O(17372,1873,2,17624,17313,37,a|0,0);a=La(8);v[a+4>>2]=0;v[a>>2]=38;O(17372,1347,2,17632,17313,39,a|0,0);a=La(8);v[a+4>>2]=0;v[a>>2]=40;O(17372,1189,2,17640,17313,41,a|0,0);a=La(8);v[a+4>>2]=0;v[a>>2]=42;O(17372,1840,2,17648,17313,43,a|0,0);a=La(8);v[a+4>>2]=0;v[a>>2]=44;O(17372,1175,2,17640,17313,41,a|0,0);a=La(8);v[a+4>>2]=0;v[a>>2]=45;O(17372,1253,2,17648,17313,43,a|0,0);a=La(8);v[a+4>>2]=0;v[a>>2]=46;O(17372,1219,2,17656,17313,47,a|0,0);a=La(8);v[a+4>>2]=0;v[a>>2]=48;O(17372,1926,2,17664,17313,49,a|0,0)}function Pf(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;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{e=b;if(e){if(!c){break j}if(!d){break i}e=E(d)-E(e)|0;if(e>>>0<=31){break h}break b}if((d|0)==1|d>>>0>1){break b}b=(a>>>0)/(c>>>0)|0;qa=a-B(b,c)|0;ra=0;sa=0;return b}if(!a){break g}if(!d){break f}f=d-1|0;if(f&d){break f}qa=a;ra=e&f;a=e>>>Wf(d)|0;sa=0;return a}f=c-1|0;if(!(f&c)){break e}j=(E(c)+33|0)-E(e)|0;h=0-j|0;break c}j=e+1|0;h=63-e|0;break c}qa=0;a=(e>>>0)/(d>>>0)|0;ra=e-B(a,d)|0;sa=0;return a}e=E(d)-E(e)|0;if(e>>>0<31){break d}break b}qa=a&f;ra=0;if((c|0)==1){break a}c=Wf(c);d=c&31;if((c&63)>>>0>=32){e=0;a=b>>>d|0}else{e=b>>>d|0;a=((1<>>d}sa=e;return a}j=e+1|0;h=63-e|0}f=a;e=j&63;g=e&31;if((e&63)>>>0>=32){e=0;f=b>>>g|0}else{e=b>>>g|0;f=((1<>>g}h=h&63;g=h&31;if((h&63)>>>0>=32){i=a<>>32-g|b<>>31;f=f<<1|b>>>31;k=e;l=h-(e+(f>>>0>g>>>0)|0)|0;m=l>>31;i=m;e=f;l=c&i;f=e-l|0;e=k-((d&i)+(e>>>0>>0)|0)|0;i=b<<1|a>>>31;a=n|a<<1;b=i|o;k=m&1;n=k;j=j-1|0;if(j){continue}break}}qa=f;ra=e;i=b<<1|a>>>31;a=k|a<<1;sa=i|o;return a}qa=a;ra=b;a=0;b=0}sa=b;return a}function fd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=pa-256|0;pa=d;if(a){Va(2955,17,1,c);v[d+240>>2]=v[a>>2];Na(c,3497,d+240|0);v[d+224>>2]=v[a+4>>2];Na(c,3510,d+224|0);v[d+208>>2]=v[a+8>>2];Na(c,8277,d+208|0);v[d+192>>2]=v[a+16>>2];Na(c,3468,d+192|0);if((b|0)>0){while(1){e=v[a+5584>>2];v[d+176>>2]=h;Na(c,2993,d+176|0);e=e+B(h,1080)|0;v[d+160>>2]=v[e>>2];Na(c,3496,d+160|0);v[d+144>>2]=v[e+4>>2];Na(c,8391,d+144|0);v[d+128>>2]=v[e+8>>2];Na(c,8161,d+128|0);v[d+112>>2]=v[e+12>>2];Na(c,8177,d+112|0);v[d+96>>2]=v[e+16>>2];Na(c,3479,d+96|0);v[d+80>>2]=v[e+20>>2];Na(c,8473,d+80|0);Va(2682,23,1,c);f=0;if(v[e+4>>2]){while(1){g=e+(f<<2)|0;i=v[g+812>>2];v[d+68>>2]=v[g+944>>2];v[d+64>>2]=i;Na(c,2842,d- -64|0);f=f+1|0;if(f>>>0>2]){continue}break}}uc(c);v[d+48>>2]=v[e+24>>2];Na(c,8193,d+48|0);v[d+32>>2]=v[e+804>>2];Na(c,8260,d+32|0);g=1;Va(2706,20,1,c);a:{if(v[e+24>>2]!=1){f=v[e+4>>2];if((f|0)<=0){break a}g=B(f,3)-2|0}f=0;while(1){i=e+(f<<3)|0;j=d,k=Vf(v[i+28>>2],v[i+32>>2],32),v[j+16>>2]=k;v[d+20>>2]=sa;Na(c,2842,d+16|0);f=f+1|0;if((g|0)!=(f|0)){continue}break}}uc(c);v[d>>2]=v[e+808>>2];Na(c,8243,d);Va(2856,5,1,c);h=h+1|0;if((h|0)!=(b|0)){continue}break}}Va(2857,4,1,c)}pa=d+256|0}function Ue(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=pa-16|0;pa=h;a:{if(!(w[a+100|0]&2)){Ea(d,1,12038,0);a=0;break a}v[a+104>>2]=0;b:{c:{d:{if(c){while(1){if(c>>>0<=7){Ea(d,1,4500,0);break b}g=h+12|0;Ga(b,g,4);e=v[h+12>>2];Ga(b+4|0,g,4);f=8;g=v[h+12>>2];e:{f:{g:{switch(e|0){case 1:if(c>>>0<16){e=4540;break c}Ga(b+8|0,h+8|0,4);if(v[h+8>>2]){e=9407;break c}Ga(b+12|0,h+12|0,4);e=v[h+12>>2];if(e){break f}e=4365;break c;case 0:break g;default:break e}}Ea(d,1,4365,0);break b}f=16}if(e>>>0>>0){Ea(d,1,10106,0);break b}if(c>>>0>>0){Ea(d,1,10034,0);a=0;break a}h:{i:{j=b+f|0;k=e-f|0;j:{k:{l:{m:{if((g|0)<=1668246641){if((g|0)==1651532643){break m}if((g|0)==1667523942){break k}if((g|0)!=1668112752){break i}f=18080;break j}if((g|0)==1885564018){break l}f=18048;if((g|0)==1768449138){break j}if((g|0)!=1668246642){break i}f=18056;break j}f=18064;break j}f=18072;break j}f=18088}if(ta[v[f+4>>2]](a,j,k,d)|0){break h}a=0;break a}v[a+104>>2]=v[a+104>>2]|2147483647}i=(g|0)==1768449138?1:i;b=b+e|0;c=c-e|0;if(c){continue}break}if(i){break d}}Ea(d,1,9934,0);a=0;break a}t[a+132|0]=1;v[a+100>>2]=v[a+100>>2]|4;a=1;break a}Ea(d,1,e,0)}Ea(d,1,3117,0);a=0}pa=h+16|0;return a|0}function Yc(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;g=pa-16|0;pa=g;if(v[a+8>>2]==16){a=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{a=v[a+12>>2]}f=v[d>>2];a:{if(!f){c=0;Ea(e,1,3739,0);break a}j=v[a+5584>>2];v[d>>2]=f-1;Ga(c,g+12|0,1);i=B(b,1080)+j|0;f=v[g+12>>2]&31;v[i+24>>2]=f;v[i+804>>2]=v[g+12>>2]>>>5;a=c+1|0;b:{c:{d:{e:{f:{switch(f|0){case 0:h=v[d>>2];break e;case 1:break d;default:break f}}h=v[d>>2]>>>1|0}if(h>>>0>=98){v[g+4>>2]=97;v[g+8>>2]=97;v[g>>2]=h;Ea(e,2,16698,g);f=v[i+24>>2]}if(f){f=h;if(f){break d}f=0;break c}if(h){c=0;e=B(b,1080)+j|0;while(1){Ga(a,g+12|0,1);if(c>>>0<=96){f=v[g+12>>2];k=e+(c<<3)|0;v[k+32>>2]=0;v[k+28>>2]=f>>>3}a=a+1|0;c=c+1|0;if((h|0)!=(c|0)){continue}break}}a=v[d>>2]-h|0;break b}c=0;while(1){Ga(a,g+12|0,2);if(c>>>0<=96){e=(c<<3)+i|0;v[e+28>>2]=v[g+12>>2]>>>11;v[e+32>>2]=v[g+12>>2]&2047}a=a+2|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}}a=v[d>>2]-(f<<1)|0}v[d>>2]=a;c=1;if(v[i+24>>2]!=1){break a}d=B(b,1080)+j|0;e=v[d+28>>2];f=v[d+32>>2];a=1;while(1){b=d+(a<<3)|0;v[b+40>>2]=f;v[b+32>>2]=f;h=e-((a>>>0)/3|0)|0;v[b+36>>2]=(h|0)>0?h:0;h=b;b=e-((a-1>>>0)/3|0)|0;v[h+28>>2]=(b|0)>0?b:0;a=a+2|0;if((a|0)!=97){continue}break}}pa=g+16|0;return c}function cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{if(!c){break a}b:{e=v[a+160>>2];if(!e){break b}f=v[a+72>>2];if(!f|!v[f+16>>2]|(e|0)!=v[v[f+24>>2]+40>>2]){break b}g=v[c+16>>2];if(!g){break b}f=v[c+24>>2];if(v[f+40>>2]|v[f+44>>2]){break b}e=0;if(g>>>0>=4){j=g&-4;while(1){v[(f+B(e,52)|0)+40>>2]=v[a+160>>2];v[(f+B(e|1,52)|0)+40>>2]=v[a+160>>2];v[(f+B(e|2,52)|0)+40>>2]=v[a+160>>2];v[(f+B(e|3,52)|0)+40>>2]=v[a+160>>2];e=e+4|0;h=h+4|0;if((j|0)!=(h|0)){continue}break}}h=g&3;if(h){while(1){v[(f+B(e,52)|0)+40>>2]=v[a+160>>2];e=e+1|0;k=k+1|0;if((h|0)!=(k|0)){continue}break}}if(Pb(c,d)){break b}return 0}e=v[a+76>>2];if(!e){e=rb();v[a+76>>2]=e;if(!e){break a}}Cb(c,e);if(!db(v[a+192>>2],81,d)){break a}g=v[a+192>>2];j=v[g>>2];e=v[g+8>>2];c:{if(j){i=1;if((j|0)!=1){k=j&-2;h=0;while(1){f=0;d:{if(!i){break d}f=0;if(!(ta[v[e>>2]](a,b,d)|0)){break d}f=(ta[v[e+4>>2]](a,b,d)|0)!=0}i=f;e=e+8|0;h=h+2|0;if((k|0)!=(h|0)){continue}break}}e:{f:{if(j&1){if(!i){break f}i=(ta[v[e>>2]](a,b,d)|0)!=0}v[g>>2]=0;if(!(i&1)){break e}break c}v[g>>2]=0}Za(v[a+72>>2]);v[a+72>>2]=0;return 0}v[g>>2]=0}i=bd(a,c)}return i|0}function Ha(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){ka(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){t[c|0]=w[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){v[c>>2]=v[b>>2];v[c+4>>2]=v[b+4>>2];v[c+8>>2]=v[b+8>>2];v[c+12>>2]=v[b+12>>2];v[c+16>>2]=v[b+16>>2];v[c+20>>2]=v[b+20>>2];v[c+24>>2]=v[b+24>>2];v[c+28>>2]=v[b+28>>2];v[c+32>>2]=v[b+32>>2];v[c+36>>2]=v[b+36>>2];v[c+40>>2]=v[b+40>>2];v[c+44>>2]=v[b+44>>2];v[c+48>>2]=v[b+48>>2];v[c+52>>2]=v[b+52>>2];v[c+56>>2]=v[b+56>>2];v[c+60>>2]=v[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){v[c>>2]=v[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){t[c|0]=w[b|0];t[c+1|0]=w[b+1|0];t[c+2|0]=w[b+2|0];t[c+3|0]=w[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){t[c|0]=w[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function Cb(a,b){var c=0,d=0,e=0,f=0,g=0;v[b>>2]=v[a>>2];v[b+4>>2]=v[a+4>>2];v[b+8>>2]=v[a+8>>2];v[b+12>>2]=v[a+12>>2];c=v[b+24>>2];if(c){d=v[b+16>>2];if(d){c=0;while(1){f=v[(v[b+24>>2]+B(c,52)|0)+44>>2];if(f){Fa(f);d=v[b+16>>2]}c=c+1|0;if(d>>>0>c>>>0){continue}break}c=v[b+24>>2]}Fa(c);v[b+24>>2]=0}c=v[a+16>>2];v[b+16>>2]=c;c=Ja(B(c,52));v[b+24>>2]=c;if(c){if(v[b+16>>2]){f=0;while(1){g=B(f,52);c=g+c|0;d=v[a+24>>2]+g|0;e=v[d+4>>2];v[c>>2]=v[d>>2];v[c+4>>2]=e;v[c+48>>2]=v[d+48>>2];e=v[d+44>>2];v[c+40>>2]=v[d+40>>2];v[c+44>>2]=e;e=v[d+36>>2];v[c+32>>2]=v[d+32>>2];v[c+36>>2]=e;e=v[d+28>>2];v[c+24>>2]=v[d+24>>2];v[c+28>>2]=e;e=v[d+20>>2];v[c+16>>2]=v[d+16>>2];v[c+20>>2]=e;e=v[d+12>>2];v[c+8>>2]=v[d+8>>2];v[c+12>>2]=e;c=v[b+24>>2];v[(g+c|0)+44>>2]=0;f=f+1|0;if(f>>>0>2]){continue}break}}v[b+20>>2]=v[a+20>>2];c=v[a+32>>2];v[b+32>>2]=c;if(c){c=Ja(c);v[b+28>>2]=c;if(!c){v[b+28>>2]=0;v[b+32>>2]=0;return}Ha(c,v[a+28>>2],v[a+32>>2]);return}v[b+28>>2]=0;return}v[b+16>>2]=0;v[b+24>>2]=0}function ob(a,b,c,d,e,f){var g=0,h=0,i=C(0),j=C(0);h=(c<<6)+b|0;g=c?h:b;a=c?h+-64|0:a;h=d>>>0>>0?d:e;a:{if(h>>>0<=c>>>0){b=a;break a}i=z[a>>2];while(1){b=g;g=b-32|0;j=i;i=z[b>>2];z[g>>2]=C(C(j+i)*f)+z[g>>2];g=b-28|0;z[g>>2]=C(C(z[a+4>>2]+z[b+4>>2])*f)+z[g>>2];g=b-24|0;z[g>>2]=C(C(z[a+8>>2]+z[b+8>>2])*f)+z[g>>2];g=b-20|0;z[g>>2]=C(C(z[a+12>>2]+z[b+12>>2])*f)+z[g>>2];g=b-16|0;z[g>>2]=C(C(z[a+16>>2]+z[b+16>>2])*f)+z[g>>2];g=b-12|0;z[g>>2]=C(C(z[a+20>>2]+z[b+20>>2])*f)+z[g>>2];g=b-8|0;z[g>>2]=C(C(z[a+24>>2]+z[b+24>>2])*f)+z[g>>2];g=b-4|0;z[g>>2]=C(C(z[a+28>>2]+z[b+28>>2])*f)+z[g>>2];g=b- -64|0;a=b;c=c+1|0;if((h|0)!=(c|0)){continue}break}}if(d>>>0>e>>>0){a=g-32|0;f=C(f+f);z[a>>2]=C(z[b>>2]*f)+z[a>>2];a=g-28|0;z[a>>2]=C(z[b+4>>2]*f)+z[a>>2];a=g-24|0;z[a>>2]=C(z[b+8>>2]*f)+z[a>>2];a=g-20|0;z[a>>2]=C(z[b+12>>2]*f)+z[a>>2];a=g-16|0;z[a>>2]=C(z[b+16>>2]*f)+z[a>>2];a=g-12|0;z[a>>2]=C(z[b+20>>2]*f)+z[a>>2];a=g-8|0;z[a>>2]=C(z[b+24>>2]*f)+z[a>>2];a=g-4|0;z[a>>2]=C(z[b+28>>2]*f)+z[a>>2]}}function Fb(a){var b=0,c=0,d=0,e=0,f=0;d=v[7326];b=a+7&-8;c=d+b|0;a:{b:{if(c>>>0<=d>>>0?b:0){break b}if(c>>>0>ua()<<16>>>0){if(!(fa(c|0)|0)){break b}}v[7326]=c;break a}v[7342]=48;d=-1}if((d|0)!=-1){b=a+d|0;c=b-16|0;v[c+12>>2]=16;v[c>>2]=16;a=v[8068];if(a){f=v[a+8>>2]}else{f=0}c:{d:{if((f|0)==(d|0)){e=d-(v[d-4>>2]&-2)|0;f=v[e-4>>2];v[a+8>>2]=b;a=e-(f&-2)|0;b=-16;if(!(t[(a+v[a>>2]|0)-4|0]&1)){break d}b=v[a+4>>2];v[b+8>>2]=v[a+8>>2];v[v[a+8>>2]+4>>2]=b;c=c-a|0;v[a>>2]=c;break c}v[d+12>>2]=16;v[d>>2]=16;v[d+8>>2]=b;v[d+4>>2]=a;v[8068]=d;b=16}a=b+d|0;c=c-a|0;v[a>>2]=c}v[((c&-4)+a|0)-4>>2]=c|1;b=v[a>>2]-8|0;e:{if(b>>>0<=127){c=(b>>>3|0)-1|0;break e}e=E(b);c=((b>>>29-e^4)-(e<<2)|0)+110|0;if(b>>>0<=4095){break e}c=((b>>>30-e^2)-(e<<1)|0)+71|0;c=c>>>0>=63?63:c}b=c<<4;v[a+4>>2]=b+31248;b=b+31256|0;v[a+8>>2]=v[b>>2];v[b>>2]=a;v[v[a+8>>2]+4>>2]=a;b=v[8070];e=v[8071];a=c&31;if((c&63)>>>0>=32){c=1<>>32-a}v[8070]=f|b;v[8071]=c|e}return(d|0)!=-1}function Qe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=pa-16|0;pa=f;a:{if(v[a+120>>2]|c>>>0<3){break a}Ga(b,f+12|0,2);j=x[f+12>>1];if(j-1025>>>0<=4294966271){v[f>>2]=j;Ea(d,1,4623,f);break a}Ga(b+2|0,f+12|0,1);i=x[f+12>>1];if(!i){Ea(d,1,4271,0);break a}if(i+3>>>0>c>>>0){break a}h=Ja(B(i,j)<<2);if(!h){break a}k=Ja(i);if(!k){Fa(h);break a}l=Ja(i);if(!l){Fa(h);Fa(k);break a}g=Ja(20);if(!g){Fa(h);Fa(k);Fa(l);break a}d=b+3|0;v[g+8>>2]=k;v[g+4>>2]=l;u[g+16>>1]=j;v[g>>2]=h;m=v[f+12>>2];v[g+12>>2]=0;t[g+18|0]=m;v[a+120>>2]=g;while(1){Ga(d,f+12|0,1);t[e+k|0]=(w[f+12|0]&127)+1;t[e+l|0]=w[f+12|0]>>>7;d=d+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}if(!j){e=1;break a}g=0;while(1){e=0;a=0;while(1){e=w[e+k|0]+7>>>3|0;e=e>>>0>=4?4:e;if((e+(d-b|0)|0)>(c|0)){e=0;break a}Ga(d,f+12|0,e);v[h>>2]=v[f+12>>2];h=h+4|0;d=d+e|0;a=a+1|0;e=a&65535;if(i>>>0>e>>>0){continue}break}e=1;g=g+1|0;if((j|0)!=(g|0)){continue}break}}pa=f+16|0;return e|0}function ef(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{if(!db(v[b+8>>2],112,d)){break c}e=v[b+4>>2];i=v[e>>2];f=v[e+8>>2];d:{e:{f:{if(i){g=1;if((i|0)!=1){k=i&-2;while(1){h=0;g:{if(!g){break g}h=0;if(!(ta[v[f>>2]](b,a,d)|0)){break g}h=(ta[v[f+4>>2]](b,a,d)|0)!=0}g=h;f=f+8|0;j=j+2|0;if((k|0)!=(j|0)){continue}break}}if(i&1){if(!g){break e}g=(ta[v[f>>2]](b,a,d)|0)!=0}v[e>>2]=0;if(g){break f}break c}v[e>>2]=0}e=v[b+8>>2];i=v[e>>2];f=v[e+8>>2];if(!i){break b}g=1;if((i|0)!=1){k=i&-2;j=0;while(1){h=0;h:{if(!g){break h}h=0;if(!(ta[v[f>>2]](b,a,d)|0)){break h}h=(ta[v[f+4>>2]](b,a,d)|0)!=0}g=h;f=f+8|0;j=j+2|0;if((k|0)!=(j|0)){continue}break}}if(i&1){if(!g){break d}g=(ta[v[f>>2]](b,a,d)|0)!=0}v[e>>2]=0;if(!g){break c}break a}v[e>>2]=0;return 0}v[e>>2]=0}return 0}v[e>>2]=0}if(!w[b+132|0]){Ea(d,1,12338,0);return 0}if(!w[b+133|0]){Ea(d,1,12309,0);return 0}return Rb(a,v[b>>2],c,d)|0}function yd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;f=-1;e=-1;if(!(w[a+68|0]&8)){f=v[a+32>>2];v[a+36>>2]=f;a:{b:{c:{e=v[a+48>>2];if(e){while(1){e=ta[v[a+20>>2]](f,e,v[a>>2])|0;if((e|0)==-1){break c}f=e+v[a+36>>2]|0;v[a+36>>2]=f;e=v[a+48>>2]-e|0;v[a+48>>2]=e;if(e){continue}break}f=v[a+32>>2]}v[a+36>>2]=f;if(!!b&(c|0)>=0|(c|0)>0){break b}f=0;e=0;break a}v[a+68>>2]=v[a+68>>2]|8;Ea(d,4,16246,0);v[a+48>>2]=0;v[a+68>>2]=v[a+68>>2]|8;sa=-1;return-1}f=0;e=0;while(1){g=ta[v[a+24>>2]](b,c,v[a>>2])|0;h=sa;if((g&h)==-1){Ea(d,4,16231,0);v[a+68>>2]=v[a+68>>2]|8;b=e+v[a+60>>2]|0;c=f+v[a+56>>2]|0;b=c>>>0>>0?b+1|0:b;v[a+56>>2]=c;v[a+60>>2]=b;a=!(e|f);b=a?-1:f;sa=a?-1:e;return b|0}e=e+h|0;f=f+g|0;e=f>>>0>>0?e+1|0:e;c=c-(h+(b>>>0>>0)|0)|0;b=b-g|0;if(!!b&(c|0)>=0|(c|0)>0){continue}break}}b=e+v[a+60>>2]|0;c=f+v[a+56>>2]|0;b=c>>>0>>0?b+1|0:b;v[a+56>>2]=c;v[a+60>>2]=b}sa=e;return f|0}function zf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=pa-16|0;pa=g;a:{if(c>>>0<=1){Ea(d,1,5080,0);a=0;break a}if(t[a+188|0]&1){Ea(d,1,13310,0);a=0;break a}h=v[a+156>>2];f=v[a+204>>2];a=h+B(f,5644)|0;t[a+5640|0]=w[a+5640|0]|2;Ga(b,g+12|0,1);i=a+5164|0;e=v[a+5164>>2];b:{if(!e){a=v[g+12>>2]+1|0;e=Ia(a,8);v[i>>2]=e;if(!e){Ea(d,1,5106,0);a=0;break a}v[(h+B(f,5644)|0)+5160>>2]=a;break b}f=v[g+12>>2];if(f>>>0>2]){break b}h=e;e=f+1|0;f=Oa(h,e<<3);if(!f){Ea(d,1,5106,0);a=0;break a}v[i>>2]=f;a=a+5160|0;h=v[a>>2];Ka(f+(h<<3)|0,0,e-h<<3);v[a>>2]=e;e=v[i>>2]}a=v[g+12>>2];if(v[(a<<3)+e>>2]){v[g>>2]=a;Ea(d,1,8062,g);a=0;break a}a=c-1|0;c=Ja(a);e=v[i>>2];f=v[g+12>>2];v[e+(f<<3)>>2]=c;if(!c){Ea(d,1,5106,0);a=0;break a}v[(e+(f<<3)|0)+4>>2]=a;Ha(v[e+(v[g+12>>2]<<3)>>2],b+1|0,a);a=1}pa=g+16|0;return a|0}function Eb(a,b,c){var d=0,e=0,f=0,g=0;d=a+4|0;e=(d+b|0)-1&0-b;b=v[a>>2];if(e+c>>>0<=(b+a|0)-4>>>0){f=v[a+4>>2];v[f+8>>2]=v[a+8>>2];v[v[a+8>>2]+4>>2]=f;if((d|0)!=(e|0)){e=e-d|0;f=a-(v[a-4>>2]&-2)|0;d=e+v[f>>2]|0;v[f>>2]=d;v[(f+(d&-4)|0)-4>>2]=d;a=a+e|0;b=b-e|0;v[a>>2]=b}a:{if(c+24>>>0<=b>>>0){d=(a+c|0)+8|0;b=(b-c|0)-8|0;v[d>>2]=b;v[(d+(b&-4)|0)-4>>2]=b|1;e=v[d>>2]-8|0;b:{if(e>>>0<=127){b=(e>>>3|0)-1|0;break b}f=E(e);b=((e>>>29-f^4)-(f<<2)|0)+110|0;if(e>>>0<=4095){break b}b=((e>>>30-f^2)-(f<<1)|0)+71|0;b=b>>>0>=63?63:b}e=b<<4;v[d+4>>2]=e+31248;e=e+31256|0;v[d+8>>2]=v[e>>2];v[e>>2]=d;v[v[d+8>>2]+4>>2]=d;e=v[8070];f=v[8071];d=b&31;if((b&63)>>>0>=32){b=1<>>32-d;d=g}v[8070]=d|e;v[8071]=b|f;b=c+8|0;v[a>>2]=b;v[((b&-4)+a|0)-4>>2]=b;break a}v[(a+b|0)-4>>2]=b}a=a+4|0}else{a=0}return a}function Ff(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=pa-16|0;pa=g;i=v[v[a+72>>2]+16>>2];h=i>>>0<257?1:2;e=(h<<1)+5|0;f=(c>>>0)/(e>>>0)|0;a:{if(!((B(e,f)|0)==(c|0)&c>>>0>=e>>>0)){Ea(d,1,5733,0);a=0;break a}if(v[a+8>>2]==16){e=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{e=v[a+12>>2]}a=0;c=w[e+5640|0];a=c&4?v[e+420>>2]+1|0:a;f=f+a|0;if(f>>>0>=32){v[g>>2]=f;Ea(d,1,8832,g);a=0;break a}t[e+5640|0]=c|4;if(a>>>0>>0){c=(e+B(a,148)|0)+424|0;while(1){Ga(b,c,1);b=b+1|0;Ga(b,c+4|0,h);b=b+h|0;Ga(b,c+8|0,2);d=v[c+8>>2];j=v[e+8>>2];v[c+8>>2]=d>>>0>>0?d:j;Ga(b+2|0,c+12|0,1);b=b+3|0;Ga(b,c+16|0,h);b=b+h|0;Ga(b,g+12|0,1);v[c+36>>2]=v[g+12>>2];d=v[c+16>>2];v[c+16>>2]=d>>>0>>0?d:i;c=c+148|0;b=b+1|0;a=a+1|0;if((f|0)!=(a|0)){continue}break}}v[e+420>>2]=f-1;a=1}pa=g+16|0;return a|0}function nb(a){var b=0,c=0,d=0,e=0;a:{if(!a){break a}b=v[a+5164>>2];if(b){c=v[a+5160>>2];if(c){b=0;while(1){d=v[v[a+5164>>2]+(b<<3)>>2];if(d){Fa(d);c=v[a+5160>>2]}b=b+1|0;if(c>>>0>b>>>0){continue}break}b=v[a+5164>>2]}v[a+5160>>2]=0;Fa(b);v[a+5164>>2]=0}b=v[a+5172>>2];if(b){Fa(b);v[a+5172>>2]=0}b=v[a+5584>>2];if(b){Fa(b);v[a+5584>>2]=0}b=v[a+5612>>2];if(b){Fa(b);v[a+5612>>2]=0}b=v[a+5608>>2];if(b){Fa(b);v[a+5608>>2]=0}b=v[a+5628>>2];if(b){Fa(b);v[a+5636>>2]=0;v[a+5628>>2]=0;v[a+5632>>2]=0}b=v[a+5616>>2];if(b){e=v[a+5620>>2];if(e){c=0;while(1){d=v[b+12>>2];if(d){Fa(d);v[b+12>>2]=0;e=v[a+5620>>2]}b=b+20|0;c=c+1|0;if(e>>>0>c>>>0){continue}break}b=v[a+5616>>2]}Fa(b);v[a+5616>>2]=0}b=v[a+5604>>2];if(b){Fa(b);v[a+5604>>2]=0}b=v[a+5596>>2];if(!b){break a}Fa(b);v[a+5596>>2]=0;v[a+5600>>2]=0}}function Te(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=pa-32|0;pa=e;a:{if(v[a+72>>2]){Ea(d,2,8014,0);c=1;break a}if((c|0)!=14){c=0;Ea(d,1,15087,0);break a}Ga(b,a+16|0,4);Ga(b+4|0,a+12|0,4);Ga(b+8|0,a+20|0,2);c=v[a+12>>2];b:{g=v[a+16>>2];c:{if(!g){break c}if(!c){c=0;break c}f=v[a+20>>2];if(f){break b}}v[e+8>>2]=v[a+20>>2];v[e+4>>2]=g;v[e>>2]=c;Ea(d,1,14931,e);c=0;break a}if(f-16385>>>0<=4294950911){c=0;Ea(d,1,14845,0);break a}c=Ia(f,12);v[a+72>>2]=c;if(!c){c=0;Ea(d,1,14882,0);break a}c=1;Ga(b+10|0,a+24|0,1);Ga(b+11|0,a+28|0,1);f=v[a+28>>2];if((f|0)!=7){v[e+16>>2]=f;Ea(d,4,16914,e+16|0)}Ga(b+12|0,a+32|0,1);Ga(b+13|0,a+36|0,1);b=v[a>>2];t[b+188|0]=w[b+188|0]&251|(v[a+24>>2]==255)<<2;b=v[a>>2];v[b+216>>2]=v[a+12>>2];v[b+220>>2]=v[a+16>>2];t[a+133|0]=1}pa=e+32|0;return c|0}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=pa-32|0;pa=f;d=v[a+28>>2];v[f+16>>2]=d;g=v[a+20>>2];v[f+28>>2]=c;v[f+24>>2]=b;b=g-d|0;v[f+20>>2]=b;g=b+c|0;i=2;a:{b:{b=f+16|0;d=W(v[a+60>>2],b|0,2,f+12|0)|0;if(d){v[7342]=d;d=-1}else{d=0}c:{d:{if(d){d=b;break d}while(1){e=v[f+12>>2];if((e|0)==(g|0)){break c}if((e|0)<0){d=b;break b}h=v[b+4>>2];j=h>>>0>>0;d=(j<<3)+b|0;h=e-(j?h:0)|0;v[d>>2]=h+v[d>>2];b=(j?12:4)+b|0;v[b>>2]=v[b>>2]-h;g=g-e|0;b=d;i=i-j|0;e=W(v[a+60>>2],b|0,i|0,f+12|0)|0;if(e){v[7342]=e;e=-1}else{e=0}if(!e){continue}break}}if((g|0)!=-1){break b}}b=v[a+44>>2];v[a+28>>2]=b;v[a+20>>2]=b;v[a+16>>2]=b+v[a+48>>2];a=c;break a}v[a+28>>2]=0;v[a+16>>2]=0;v[a+20>>2]=0;v[a>>2]=v[a>>2]|32;a=0;if((i|0)==2){break a}a=c-v[d+4>>2]|0}pa=f+32|0;return a|0}function xc(){na(28500,1940);ma(28524,1605,1,1,0);Q(28536,1500,1,-128,127);Q(28560,1493,1,-128,127);Q(28548,1491,1,0,255);Q(28572,1128,2,-32768,32767);Q(28584,1119,2,0,65535);Q(28596,1164,4,-2147483648,2147483647);Q(28608,1155,4,0,-1);Q(28620,1776,4,-2147483648,2147483647);Q(28632,1767,4,0,-1);ec(28644,1211,-2147483648,2147483647);ec(28656,1210,0,-1);Y(28668,1204,4);Y(28680,1866,8);X(26400,1794);X(26472,2511);S(26544,4,1781);S(26620,2,1806);S(26696,4,1821);la(17488,1644);N(26736,0,2442);N(26776,0,2544);N(17532,1,2472);N(26816,2,2074);N(26856,3,2105);N(26896,4,2145);N(26936,5,2174);N(26976,4,2581);N(27016,5,2611);N(26776,0,2276);N(17532,1,2243);N(26816,2,2342);N(26856,3,2308);N(26896,4,2409);N(26936,5,2375);N(27056,6,2212);N(27096,7,2650)}function wc(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return Ha(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}t[d|0]=w[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;t[d|0]=w[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;v[c+a>>2]=v[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;t[c+a|0]=w[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){v[d>>2]=v[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){t[d|0]=w[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function oc(a,b,c,d){a:{switch(b-9|0){case 0:b=v[c>>2];v[c>>2]=b+4;v[a>>2]=v[b>>2];return;case 6:b=v[c>>2];v[c>>2]=b+4;b=u[b>>1];v[a>>2]=b;v[a+4>>2]=b>>31;return;case 7:b=v[c>>2];v[c>>2]=b+4;v[a>>2]=x[b>>1];v[a+4>>2]=0;return;case 8:b=v[c>>2];v[c>>2]=b+4;b=t[b|0];v[a>>2]=b;v[a+4>>2]=b>>31;return;case 9:b=v[c>>2];v[c>>2]=b+4;v[a>>2]=w[b|0];v[a+4>>2]=0;return;case 16:b=v[c>>2]+7&-8;v[c>>2]=b+8;A[a>>3]=A[b>>3];return;case 17:ta[d|0](a,c);default:return;case 1:case 4:case 14:b=v[c>>2];v[c>>2]=b+4;b=v[b>>2];v[a>>2]=b;v[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=v[c>>2];v[c>>2]=b+4;v[a>>2]=v[b>>2];v[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=v[c>>2]+7&-8;v[c>>2]=b+8;c=v[b+4>>2];v[a>>2]=v[b>>2];v[a+4>>2]=c}function qb(a){var b=0,c=0,d=0;d=pa-48|0;pa=d;b=Ia(1,44);a:{if(b){v[b+16>>2]=0;if((a|0)<=0){a=Ia(1,8);v[b+36>>2]=a;if(a){break a}Fa(b);b=0;break a}c=Ia(1,24);if(!c){v[b+12>>2]=0;Fa(b);b=0;break a}v[b+12>>2]=c;b:{c=Ja(48);if(!c){v[b+8>>2]=0;break b}v[b+8>>2]=c;c=Ia(a,20);v[b>>2]=c;if(!c){break b}v[b+4>>2]=a;v[c>>2]=b;a=Ia(1,24);c:{if(!a){v[v[b>>2]+12>>2]=0;break c}v[v[b>>2]+12>>2]=a;a=Ja(48);if(!a){a=v[b>>2];v[a+16>>2]=0;a=v[a+12>>2];if(!a){break c}Fa(a);break c}c=v[b>>2];v[c+8>>2]=0;v[c+16>>2]=a;a=Ja(12);if(a){v[a>>2]=71;v[a+4>>2]=c;Fa(a)}a=v[b>>2];v[a+4>>2]=0;c=v[a+12>>2];if(c){Fa(c);a=v[b>>2]}a=v[a+16>>2];if(!a){break c}Fa(a)}v[b+4>>2]=0;if(!(v[b+16>>2]!=2&-2)){break b}break a}Bb(b)}b=0}pa=d+48|0;return b}function Wa(a,b){var c=0,d=0,e=0;c=pa+-64|0;pa=c;d=v[a>>2];e=v[d-4>>2];d=v[d-8>>2];v[c+32>>2]=0;v[c+36>>2]=0;v[c+40>>2]=0;v[c+44>>2]=0;v[c+48>>2]=0;v[c+52>>2]=0;t[c+55|0]=0;t[c+56|0]=0;t[c+57|0]=0;t[c+58|0]=0;t[c+59|0]=0;t[c+60|0]=0;t[c+61|0]=0;t[c+62|0]=0;v[c+24>>2]=0;v[c+28>>2]=0;v[c+20>>2]=0;v[c+16>>2]=28148;v[c+12>>2]=a;v[c+8>>2]=b;a=a+d|0;d=0;a:{if(Sa(e,b,0)){v[c+56>>2]=1;ta[v[v[e>>2]+20>>2]](e,c+8|0,a,a,1,0);d=v[c+32>>2]==1?a:0;break a}ta[v[v[e>>2]+24>>2]](e,c+8|0,a,1,0);b:{switch(v[c+44>>2]){case 0:d=v[c+48>>2]==1?v[c+36>>2]==1?v[c+40>>2]==1?v[c+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(v[c+32>>2]!=1){if(v[c+48>>2]|v[c+36>>2]!=1|v[c+40>>2]!=1){break a}}d=v[c+24>>2]}pa=c- -64|0;return d}function Af(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;g=pa-16|0;pa=g;a:{if(c>>>0<=1){Ea(d,1,5375,0);a=0;break a}t[a+188|0]=w[a+188|0]|1;Ga(b,g+12|0,1);e=v[a+116>>2];b:{if(!e){f=v[g+12>>2]+1|0;e=Ia(f,8);v[a+116>>2]=e;if(!e){Ea(d,1,5401,0);a=0;break a}v[a+112>>2]=f;break b}f=v[g+12>>2];if(f>>>0>2]){break b}h=e;e=f+1|0;f=Oa(h,e<<3);if(!f){Ea(d,1,5401,0);a=0;break a}v[a+116>>2]=f;h=v[a+112>>2];Ka(f+(h<<3)|0,0,e-h<<3);v[a+112>>2]=e;e=v[a+116>>2]}h=e;e=v[g+12>>2];if(v[h+(e<<3)>>2]){v[g>>2]=e;Ea(d,1,8084,g);a=0;break a}c=c-1|0;e=Ja(c);a=v[a+116>>2];f=v[g+12>>2];v[a+(f<<3)>>2]=e;if(!e){Ea(d,1,5401,0);a=0;break a}v[(a+(f<<3)|0)+4>>2]=c;Ha(v[a+(v[g+12>>2]<<3)>>2],b+1|0,c);a=1}pa=g+16|0;return a|0}function rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(y[a+44>>2]>=8){e=v[a+36>>2];i=B(e,7);j=B(e,6);k=B(e,5);l=e<<2;m=B(e,3);n=e<<1;c=v[a+40>>2];o=e<<5;g=8;while(1){Ab(a,c,v[a+36>>2],8);$a(a);f=v[a+32>>2];a:{if(!f){break a}h=v[a>>2];b=0;while(1){d=h+(b<<5)|0;z[(b<<2)+c>>2]=z[d>>2];z[(b+e<<2)+c>>2]=z[d+4>>2];z[(b+n<<2)+c>>2]=z[d+8>>2];z[(b+m<<2)+c>>2]=z[d+12>>2];b=b+1|0;if((f|0)!=(b|0)){continue}break}if(!f){break a}h=v[a>>2];b=0;while(1){d=h+(b<<5)|0;z[(b+l<<2)+c>>2]=z[d+16>>2];z[(b+k<<2)+c>>2]=z[d+20>>2];z[(b+j<<2)+c>>2]=z[d+24>>2];z[(b+i<<2)+c>>2]=z[d+28>>2];b=b+1|0;if((f|0)!=(b|0)){continue}break}}c=c+o|0;g=g+8|0;if(g>>>0<=y[a+44>>2]){continue}break}}Fa(v[a>>2]);Fa(a)}function Ka(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}t[a|0]=b;d=a+c|0;t[d-1|0]=b;if(c>>>0<3){break a}t[a+2|0]=b;t[a+1|0]=b;t[d-3|0]=b;t[d-2|0]=b;if(c>>>0<7){break a}t[a+3|0]=b;t[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=B(b&255,16843009);v[e>>2]=b;d=c-d&-4;c=d+e|0;v[c-4>>2]=b;if(d>>>0<9){break a}v[e+8>>2]=b;v[e+4>>2]=b;v[c-8>>2]=b;v[c-12>>2]=b;if(d>>>0<25){break a}v[e+24>>2]=b;v[e+20>>2]=b;v[e+16>>2]=b;v[e+12>>2]=b;v[c-16>>2]=b;v[c-20>>2]=b;v[c-24>>2]=b;v[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=Qf(b,0,1,1);f=sa;b=e+g|0;while(1){v[b+24>>2]=d;v[b+28>>2]=f;v[b+16>>2]=d;v[b+20>>2]=f;v[b+8>>2]=d;v[b+12>>2]=f;v[b>>2]=d;v[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function $e(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;a:{if(!c){break a}Ea(d,2,10960,0);if(!$c(v[a>>2],b,c,d,e)){Ea(d,1,7274,0);return 0}f=1;if(v[v[a>>2]+60>>2]){break a}f=0;e=a+108|0;if(!Sc(c,e,d)){break a}b=1;b:{c:{switch(v[a+48>>2]-12|0){case 5:b=2;break b;case 6:b=3;break b;case 12:b=4;break b;case 0:b=5;break b;case 4:break b;default:break c}}b=-1}v[c+20>>2]=b;b=v[a+120>>2];d:{if(!b){break d}if(!v[b+12>>2]){Fa(v[b+4>>2]);Fa(v[v[a+120>>2]+8>>2]);Fa(v[v[a+120>>2]>>2]);b=v[a+120>>2];f=v[b+12>>2];if(f){Fa(f);b=v[a+120>>2]}Fa(b);v[a+120>>2]=0;break d}if(!Rc(c,e,d)){break a}}if(v[a+116>>2]){Qc(c,e,d)}f=1;b=v[e>>2];if(!b){break a}v[c+28>>2]=b;v[c+32>>2]=v[a+112>>2];v[a+108>>2]=0}return f|0}function lf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if(!c){return 0}if(!cd(v[a>>2],b,c,d)){Ea(d,1,7274,0);return 0}b=1;a:{if(v[v[a>>2]+60>>2]|v[a+128>>2]){break a}e=a+108|0;if(!Sc(c,e,d)){return 0}b:{c:{switch(v[a+48>>2]-12|0){case 5:b=2;break b;case 6:b=3;break b;case 12:b=4;break b;case 0:b=5;break b;case 4:break b;default:break c}}b=-1}v[c+20>>2]=b;b=v[a+120>>2];d:{if(!b){break d}if(!v[b+12>>2]){Fa(v[v[e+12>>2]+4>>2]);Fa(v[v[e+12>>2]+8>>2]);Fa(v[v[e+12>>2]>>2]);b=v[e+12>>2];f=v[b+12>>2];if(f){Fa(f);b=v[e+12>>2]}Fa(b);v[e+12>>2]=0;break d}b=0;if(!Rc(c,e,d)){break a}}if(v[a+116>>2]){Qc(c,e,d)}b=1;d=v[e>>2];if(!d){break a}v[c+28>>2]=d;v[c+32>>2]=v[a+112>>2];v[a+108>>2]=0}return b|0}function Fa(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;if(a){b=a-4|0;e=v[b>>2];c=e;d=b;f=v[a-8>>2];a=f&-2;if((a|0)!=(f|0)){d=b-a|0;c=v[d+4>>2];v[c+8>>2]=v[d+8>>2];v[v[d+8>>2]+4>>2]=c;c=a+e|0}a=b+e|0;b=v[a>>2];if((b|0)!=v[(a+b|0)-4>>2]){e=v[a+4>>2];v[e+8>>2]=v[a+8>>2];v[v[a+8>>2]+4>>2]=e;c=b+c|0}v[d>>2]=c;v[((c&-4)+d|0)-4>>2]=c|1;b=v[d>>2]-8|0;a:{if(b>>>0<=127){a=(b>>>3|0)-1|0;break a}c=E(b);a=((b>>>29-c^4)-(c<<2)|0)+110|0;if(b>>>0<=4095){break a}a=((b>>>30-c^2)-(c<<1)|0)+71|0;a=a>>>0>=63?63:a}b=a<<4;v[d+4>>2]=b+31248;b=b+31256|0;v[d+8>>2]=v[b>>2];v[b>>2]=d;v[v[d+8>>2]+4>>2]=d;b=v[8070];c=v[8071];d=a&31;if((a&63)>>>0>=32){a=1<>>32-d}v[8070]=e|b;v[8071]=a|c}}function Bb(a){var b=0,c=0,d=0,e=0,f=0,g=0;g=pa-16|0;pa=g;if(a){a:{if(!v[a+8>>2]){break a}if(v[a+12>>2]){v[a+40>>2]=0}v[a+16>>2]=1;if(v[a+4>>2]>0){while(1){d=B(b,20);c=v[a>>2];Fa(v[(c+d|0)+4>>2]);c=v[a>>2];e=v[(c+d|0)+16>>2];if(e){Fa(e);c=v[a>>2]}c=v[(c+d|0)+12>>2];if(c){Fa(c)}b=b+1|0;if((b|0)>2]){continue}break}}Fa(v[a>>2]);b=v[a+28>>2];if(b){while(1){c=v[b+4>>2];Fa(b);v[a+28>>2]=c;b=c;if(b){continue}break}}b=v[a+8>>2];if(!b){break a}Fa(b)}b=v[a+12>>2];if(b){Fa(b)}b=v[a+36>>2];if(b){c=v[b+4>>2];if((c|0)>0){while(1){d=v[b>>2]+B(f,12)|0;e=v[d+8>>2];if(e){ta[e|0](v[d+4>>2]);c=v[b+4>>2]}f=f+1|0;if((f|0)<(c|0)){continue}break}}Fa(v[b>>2]);Fa(b)}Fa(a)}pa=g+16|0}function kd(){var a=0,b=0,c=0;while(1){b=a<<4;c=b+31248|0;v[b+31252>>2]=c;v[b+31256>>2]=c;a=a+1|0;if((a|0)!=64){continue}break}Fb(48);a=pa-16|0;pa=a;a:{if(ia(a+12|0,a+8|0)|0){break a}b=bb((v[a+12>>2]<<2)+4|0);v[7343]=b;if(!b){break a}b=bb(v[a+8>>2]);if(b){v[v[7343]+(v[a+12>>2]<<2)>>2]=0;if(!(ha(v[7343],b|0)|0)){break a}}v[7343]=0}pa=a+16|0;v[7329]=58;v[7330]=0;ac();v[7330]=v[7339];v[7339]=29316;v[7331]=59;v[7332]=0;Xc();v[7332]=v[7339];v[7339]=29324;v[7333]=60;v[7334]=0;Nc();v[7334]=v[7339];v[7339]=29332;v[7335]=61;v[7336]=0;Mc();v[7336]=v[7339];v[7339]=29340;v[7340]=158;v[7341]=0;xc();v[7341]=v[7339];v[7339]=29360;v[7544]=29408;v[7526]=42}function vd(a){a=a|0;var b=0,c=0,d=0,e=0;b=v[a>>2];e=Ia(1,8);a:{if(v[b+16>>2]==1){break a}while(1){d=v[b+20>>2];if(!d){if(!v[a+8>>2]){v[a+8>>2]=1;v[b+32>>2]=v[b+32>>2]+1;c=Ja(8);if(!c){v[b+16>>2]=2;break a}v[c>>2]=a;v[c+4>>2]=v[b+28>>2];v[b+28>>2]=c}if(v[b+16>>2]!=1){continue}break a}v[b+20>>2]=v[d+4>>2];c=v[d>>2];Fa(d);if(!c){break a}d=v[c>>2];if(d){ta[d|0](v[c+4>>2],e)}Fa(c);v[b+24>>2]=v[b+24>>2]-1;if(v[b+16>>2]!=1){continue}break}}if(e){b=v[e+4>>2];if((b|0)>0){a=0;while(1){c=v[e>>2]+B(a,12)|0;d=v[c+8>>2];if(d){ta[d|0](v[c+4>>2]);b=v[e+4>>2]}a=a+1|0;if((b|0)>(a|0)){continue}break}}Fa(v[e>>2]);Fa(e)}}function Oe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=pa-16|0;pa=e;a:{if(v[a+116>>2]){break a}if(c>>>0<=1){Ea(d,1,9840,0);break a}Ga(b,e+12|0,2);f=v[e+12>>2];h=f&65535;if(!h){Ea(d,1,9873,0);break a}if(B(h,6)+2>>>0>c>>>0){Ea(d,1,9840,0);break a}d=Ja(B(f,6));if(!d){break a}c=Ja(8);v[a+116>>2]=c;if(!c){Fa(d);break a}v[c>>2]=d;f=c;c=x[e+12>>1];u[f+4>>1]=c;if(!c){g=1;break a}c=0;while(1){g=e+12|0;Ga(b+2|0,g,2);f=d+B(c,6)|0;u[f>>1]=v[e+12>>2];Ga(b+4|0,g,2);u[f+2>>1]=v[e+12>>2];b=b+6|0;Ga(b,g,2);u[f+4>>1]=v[e+12>>2];g=1;c=c+1|0;if(c>>>0>2]+4>>1]){continue}break}}pa=e+16|0;return g|0}function ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=pa-16|0;pa=d;if(!w[29348]){t[29348]=1;f=29312,g=$(1072)|0,v[f>>2]=g;if(!w[32292]){a:{while(1){if(!w[c+29440|0]){t[c+29440|0]=1;v[(c<<2)+29568>>2]=0;v[8074]=c;c=0;break a}c=c+1|0;if((c|0)!=128){continue}break}c=6}if(c){V();p()}t[32292]=1}b:{if(!w[32293]){c=28;e=v[8074];if(!(e>>>0>127|!w[e+29440|0])){v[(e<<2)+29568>>2]=32296;c=0}if(c){break b}t[32293]=1}c=bb(12);if(!c){break b}v[c+4>>2]=0;v[c>>2]=50;v[c+8>>2]=v[8075];v[8075]=c}}c=v[b+16>>2];b=v[b+12>>2];v[d+12>>2]=b;v[d+8>>2]=c-b;f=a,g=_(v[7328],1,17548,d+8|0)|0,v[f>>2]=g;pa=d+16|0}function Qb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=pa-32|0;pa=g;f=v[a+72>>2];a:{if(!f){Ea(d,1,14394,0);e=0;break a}f=Ia(4,v[f+16>>2]);e=0;if(!f){break a}if(b){j=v[a+72>>2];while(1){b:{e=v[(h<<2)+c>>2];c:{if(e>>>0>=y[j+16>>2]){v[g+16>>2]=e;Ea(d,1,3540,g+16|0);break c}i=f+(e<<2)|0;if(!v[i>>2]){break b}v[g>>2]=e;Ea(d,1,4584,g)}Fa(f);e=0;break a}v[i>>2]=1;h=h+1|0;if((h|0)!=(b|0)){continue}break}}Fa(f);Fa(v[a- -64>>2]);d:{if(b){e=b<<2;d=Ja(e);v[a+64>>2]=d;if(!d){v[a+60>>2]=0;e=0;break a}Ha(d,c,e);break d}v[a+64>>2]=0}v[a+60>>2]=b;e=1}pa=g+32|0;return e|0}function Oc(a){a=a|0;var b=0,c=0;if(a){zb(v[a>>2]);v[a>>2]=0;b=v[a+72>>2];if(b){Fa(b);v[a+72>>2]=0}b=v[a+68>>2];if(b){Fa(b);v[a+68>>2]=0}b=v[a+108>>2];if(b){Fa(b);v[a+108>>2]=0}b=v[a+116>>2];if(b){c=v[b>>2];if(c){Fa(c);b=v[a+116>>2];v[b>>2]=0}Fa(b);v[a+116>>2]=0}b=v[a+120>>2];if(b){c=v[b+12>>2];if(c){Fa(c);b=v[a+120>>2];v[b+12>>2]=0}c=v[b+4>>2];if(c){Fa(c);b=v[a+120>>2];v[b+4>>2]=0}c=v[b+8>>2];if(c){Fa(c);b=v[a+120>>2];v[b+8>>2]=0}c=v[b>>2];if(c){Fa(c);b=v[a+120>>2];v[b>>2]=0}Fa(b);v[a+120>>2]=0}b=v[a+4>>2];if(b){vb(b);v[a+4>>2]=0}b=v[a+8>>2];if(b){vb(b);v[a+8>>2]=0}Fa(a)}}function rc(a,b,c,d,e){var f=0,g=0,h=0;f=pa-208|0;pa=f;v[f+204>>2]=c;c=f+160|0;Ka(c,0,40);v[f+200>>2]=v[f+204>>2];a:{if((qc(0,b,f+200|0,f+80|0,c,d,e)|0)<0){break a}h=v[a+76>>2]>=0;c=v[a>>2];if(v[a+72>>2]<=0){v[a>>2]=c&-33}b:{c:{d:{if(!v[a+48>>2]){v[a+48>>2]=80;v[a+28>>2]=0;v[a+16>>2]=0;v[a+20>>2]=0;g=v[a+44>>2];v[a+44>>2]=f;break d}if(v[a+16>>2]){break c}}if(Lb(a)){break b}}qc(a,b,f+200|0,f+80|0,f+160|0,d,e)}if(g){ta[v[a+36>>2]](a,0,0)|0;v[a+48>>2]=0;v[a+44>>2]=g;v[a+28>>2]=0;v[a+16>>2]=0;v[a+20>>2]=0}v[a>>2]=v[a>>2]|c&32;if(!h){break a}}pa=f+208|0}function je(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Sa(a,v[b+8>>2],e)){if(!(v[b+28>>2]==1|v[b+4>>2]!=(c|0))){v[b+28>>2]=d}return}a:{if(Sa(a,v[b>>2],e)){if(!(v[b+16>>2]!=(c|0)&v[b+20>>2]!=(c|0))){if((d|0)!=1){break a}v[b+32>>2]=1;return}v[b+32>>2]=d;b:{if(v[b+44>>2]==4){break b}u[b+52>>1]=0;a=v[a+8>>2];ta[v[v[a>>2]+20>>2]](a,b,c,c,1,e);if(w[b+53|0]){v[b+44>>2]=3;if(!w[b+52|0]){break b}break a}v[b+44>>2]=4}v[b+20>>2]=c;v[b+40>>2]=v[b+40>>2]+1;if(v[b+36>>2]!=1|v[b+24>>2]!=2){break a}t[b+54|0]=1;return}a=v[a+8>>2];ta[v[v[a>>2]+24>>2]](a,b,c,d,e)}}function Ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=pa-16|0;pa=h;a:{d=v[b+4>>2];g=v[b>>2];e=d-g|0;b:{c:{if(e>>>0>>0){i=c-e|0;f=v[b+8>>2];if(i>>>0<=f-d>>>0){d=Ka(d,0,i)+i|0;break c}if((c|0)<0){break a}d=f-g|0;f=d<<1;d=d>>>0>=1073741823?2147483647:c>>>0>>0?f:c;f=La(d);Ka(f+e|0,0,i);e=wc(f,g,e);v[b+8>>2]=e+d;d=c+e|0;v[b+4>>2]=d;v[b>>2]=e;if(!g){break b}Fa(g);d=v[b+4>>2];break b}if(c>>>0>=e>>>0){break b}d=c+g|0}v[b+4>>2]=d}b=v[b>>2];v[h+12>>2]=b;v[h+8>>2]=d-b;j=a,k=aa(17532,h+8|0)|0,v[j>>2]=k;pa=h+16|0;return}cc();p()}function Jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=pa-16|0;pa=e;if(v[a+8>>2]==16){g=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{g=v[a+12>>2]}h=v[a+72>>2];f=y[h+16>>2]<257?1:2;a:{if(f>>>0>=c>>>0){c=0;Ea(d,1,5759,0);break a}v[e+12>>2]=(f^-1)+c;Ga(b,e+8|0,f);i=v[e+8>>2];if(i>>>0>=y[h+16>>2]){c=0;Ea(d,1,14709,0);break a}c=1;b=b+f|0;Ga(b,v[g+5584>>2]+B(i,1080)|0,1);if(!Zc(a,v[e+8>>2],b+1|0,e+12|0,d)){c=0;Ea(d,1,5759,0);break a}if(!v[e+12>>2]){break a}c=0;Ea(d,1,5759,0)}pa=e+16|0;return c|0}function Pe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;f=pa-16|0;pa=f;e=v[a+120>>2];a:{if(!e){Ea(d,1,9794,0);c=0;break a}if(v[e+12>>2]){Ea(d,1,12240,0);c=0;break a}e=w[e+18|0];g=e<<2;if(g>>>0>c>>>0){Ea(d,1,9761,0);c=0;break a}g=Ja(g);c=0;if(!g){break a}if(e){d=0;while(1){c=f+12|0;Ga(b,c,2);h=g+(d<<2)|0;u[h>>1]=v[f+12>>2];Ga(b+2|0,c,1);t[h+2|0]=v[f+12>>2];Ga(b+3|0,c,1);t[h+3|0]=v[f+12>>2];b=b+4|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}v[v[a+120>>2]+12>>2]=g;c=1}pa=f+16|0;return c|0}function Tc(a,b){var c=0,d=0,e=0,f=0,g=0;f=pa-32|0;pa=f;c=v[a+60>>2];a:{b:{if(c){g=1;while(1){e=v[v[a+64>>2]+(d<<2)>>2];if(!v[(v[v[a+76>>2]+24>>2]+B(e,52)|0)+44>>2]){v[f+16>>2]=e;Ea(b,2,8655,f+16|0);g=0;c=v[a+60>>2]}d=d+1|0;if(c>>>0>d>>>0){continue}break}break b}g=1;c=v[a+76>>2];e=1;if(!v[c+16>>2]){break a}while(1){if(!v[(v[c+24>>2]+B(d,52)|0)+44>>2]){v[f>>2]=d;Ea(b,2,8655,f);g=0;c=v[a+76>>2]}d=d+1|0;if(d>>>0>2]){continue}break}}e=1;if(g){break a}Ea(b,1,3994,0);e=0}pa=f+32|0;return e}function ac(){var a=0,b=0;T(17300,1556,17308,1,17310,2);a=La(4);v[a>>2]=0;b=La(4);v[b>>2]=0;P(17300,1761,28584,17313,3,a|0,28584,17317,4,b|0);a=La(4);v[a>>2]=2;b=La(4);v[b>>2]=2;P(17300,1168,28584,17313,3,a|0,28584,17317,4,b|0);a=La(4);v[a>>2]=4;b=La(4);v[b>>2]=4;P(17300,1852,28548,17313,5,a|0,28548,17317,6,b|0);a=La(4);v[a>>2]=5;b=La(4);v[b>>2]=5;P(17300,1134,28548,17313,5,a|0,28548,17317,6,b|0);a=La(4);v[a>>2]=6;b=La(4);v[b>>2]=6;P(17300,1945,28524,17313,7,a|0,28524,17317,8,b|0);R(17300)}function wf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=pa-16|0;pa=e;g=v[v[a+72>>2]+16>>2];a:{if((g+2|0)!=(c|0)){Ea(d,1,5707,0);break a}Ga(b,e+12|0,2);if(v[e+12>>2]!=(g|0)){Ea(d,1,5707,0);break a}if(!g){f=1;break a}c=b+2|0;a=v[v[a+72>>2]+24>>2];b=0;while(1){Ga(c,e+8|0,1);f=v[e+8>>2];h=f&127;i=h+1|0;v[a+24>>2]=i;v[a+32>>2]=f>>>7&1;if(h>>>0>=31){v[e+4>>2]=i;v[e>>2]=b;Ea(d,1,16044,e);f=0;break a}a=a+52|0;f=1;c=c+1|0;b=b+1|0;if((g|0)!=(b|0)){continue}break}}pa=e+16|0;return f|0}function Gf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=pa-16|0;pa=e;a:{b:{h=e+8|0;c:{if(y[v[a+72>>2]+16>>2]<=256){if(c){f=-1;g=1;break c}Ea(d,1,5785,0);a=0;break a}if(c>>>0<=1){break b}f=-2;g=2}Ga(b,h,g);v[e+12>>2]=c+f;c=v[e+8>>2];f=v[v[a+72>>2]+16>>2];if(c>>>0>=f>>>0){v[e+4>>2]=f;v[e>>2]=c;Ea(d,1,8763,e);a=0;break a}if(!Yc(a,c,b+g|0,e+12|0,d)){Ea(d,1,5785,0);a=0;break a}a=1;if(!v[e+12>>2]){break a}Ea(d,1,5785,0);a=0;break a}Ea(d,1,5785,0);a=0}pa=e+16|0;return a|0}function Ea(a,b,c,d){var e=0,f=0,g=0;e=pa-528|0;pa=e;a:{if(!a){break a}b:{c:{switch(b-1|0){case 0:b=a+12|0;break b;case 1:b=a+16|0;a=a+4|0;break b;case 3:break c;default:break a}}b=a+20|0;a=a+8|0}f=v[b>>2];if(!f|!c){break a}g=v[a>>2];b=Ka(e,0,512);v[b+524>>2]=d;a=pa-160|0;pa=a;v[a+148>>2]=511;v[a+144>>2]=b;a=Ka(a,0,144);v[a+76>>2]=-1;v[a+36>>2]=166;v[a+80>>2]=-1;v[a+44>>2]=a+159;v[a+84>>2]=a+144;t[b|0]=0;rc(a,c,d,164,165);pa=a+160|0;t[b+511|0]=0;ta[f|0](b,g)}pa=e+528|0}function mc(a,b){if(!a){return 0}a:{b:{if(a){if(b>>>0<=127){break b}c:{if(!v[v[7544]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){t[a+1|0]=b&63|128;t[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344&b>>>0>=55296)){t[a+2|0]=b&63|128;t[a|0]=b>>>12|224;t[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){t[a+3|0]=b&63|128;t[a|0]=b>>>18|240;t[a+2|0]=b>>>6&63|128;t[a+1|0]=b>>>12&63|128;a=4;break a}}v[7342]=25;a=-1}else{a=1}break a}t[a|0]=b;a=1}return a}function Ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=v[a+32>>2];v[a+36>>2]=f;a:{e=v[a+48>>2];if(e){while(1){e=ta[v[a+20>>2]](f,e,v[a>>2])|0;if((e|0)==-1){break a}f=e+v[a+36>>2]|0;v[a+36>>2]=f;e=v[a+48>>2]-e|0;v[a+48>>2]=e;if(e){continue}break}f=v[a+32>>2]}v[a+48>>2]=0;v[a+36>>2]=f;if(!(ta[v[a+28>>2]](b,c,v[a>>2])|0)){v[a+68>>2]=v[a+68>>2]|8;return 0}v[a+56>>2]=b;v[a+60>>2]=c;return 1}v[a+68>>2]=v[a+68>>2]|8;Ea(d,4,16246,0);v[a+68>>2]=v[a+68>>2]|8;return 0}function gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{b:{c:{if(!db(v[a+8>>2],112,c)){break c}d=v[a+8>>2];h=v[d>>2];e=v[d+8>>2];if(!h){break b}f=1;if((h|0)!=1){j=h&-2;while(1){g=0;d:{if(!f){break d}g=0;if(!(ta[v[e>>2]](a,b,c)|0)){break d}g=(ta[v[e+4>>2]](a,b,c)|0)!=0}f=g;e=e+8|0;i=i+2|0;if((i|0)!=(j|0)){continue}break}}e:{if(h&1){if(!f){break e}f=(ta[v[e>>2]](a,b,c)|0)!=0}v[d>>2]=0;if(!f){break c}break a}v[d>>2]=0}return 0}v[d>>2]=0}return 1}function Ve(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(v[a+100>>2]!=1){Ea(d,1,12083,0);return 0}a:{if(c>>>0<=7){break a}Ga(b,a+56|0,4);Ga(b+4|0,a+60|0,4);if(c&3){break a}e=c-8|0;c=e>>>2|0;v[a+64>>2]=c;b:{if(e>>>0>=4){c=Ia(c,4);v[a+68>>2]=c;if(!c){break b}c=v[a+64>>2]}if(c){d=b+8|0;c=0;while(1){Ga(d,v[a+68>>2]+(c<<2)|0,4);d=d+4|0;c=c+1|0;if(c>>>0>2]){continue}break}}v[a+100>>2]=v[a+100>>2]|2;return 1}Ea(d,1,3384,0);return 0}Ea(d,1,7019,0);return 0}function Hf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=pa-16|0;pa=e;v[e+12>>2]=c;a:{if(!(!Yc(a,0,b,e+12|0,d)|v[e+12>>2])){if(v[a+8>>2]==16){b=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{b=v[a+12>>2]}f=1;if(y[v[a+72>>2]+16>>2]<2){break a}c=v[b+5584>>2];g=c+28|0;b=1;d=c;while(1){v[d+1104>>2]=v[c+24>>2];v[d+1884>>2]=v[c+804>>2];Ha(d+1108|0,g,776);d=d+1080|0;b=b+1|0;if(b>>>0>2]+16>>2]){continue}break}break a}Ea(d,1,5681,0)}pa=e+16|0;return f|0}function Bc(a){var b=0,c=0,d=0;a:{if(!a){break a}b=v[a+8>>2];if(!b){break a}a=v[a+12>>2];if(b>>>0>=4){d=b&-4;while(1){v[a+12>>2]=0;v[a+4>>2]=999;v[a+8>>2]=0;v[a+60>>2]=0;v[a+52>>2]=999;v[a+56>>2]=0;v[a+44>>2]=0;v[a+36>>2]=999;v[a+40>>2]=0;v[a+28>>2]=0;v[a+20>>2]=999;v[a+24>>2]=0;a=a- -64|0;c=c+4|0;if((d|0)!=(c|0)){continue}break}}b=b&3;if(!b){break a}c=0;while(1){v[a+12>>2]=0;v[a+4>>2]=999;v[a+8>>2]=0;a=a+16|0;c=c+1|0;if((b|0)!=(c|0)){continue}break}}}function zc(a,b,c,d){var e=0,f=0,g=0;f=pa-128|0;pa=f;e=f;b=v[b+12>>2]+(c<<4)|0;if(v[b>>2]){while(1){v[e>>2]=b;e=e+4|0;b=v[b>>2];if(v[b>>2]){continue}break}}while(1){c=v[b+8>>2];if((g|0)>(c|0)){v[b+8>>2]=g;c=g}a:{if((c|0)>=(d|0)){break a}while(1){if(v[b+4>>2]<=(c|0)){break a}b:{if(_a(a,1)){v[b+4>>2]=c;break b}c=c+1|0}if((c|0)<(d|0)){continue}break}}v[b+8>>2]=c;if((e|0)!=(f|0)){e=e-4|0;b=v[e>>2];g=c;continue}break}pa=f+128|0;return v[b+4>>2]<(d|0)}function If(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=pa-16|0;pa=e;g=v[v[a+72>>2]+16>>2];f=g>>>0<257?1:2;a:{if((f+2|0)!=(c|0)){a=0;Ea(d,1,5349,0);break a}if(v[a+8>>2]==16){c=v[a+156>>2]+B(v[a+204>>2],5644)|0}else{c=v[a+12>>2]}Ga(b,e+12|0,f);a=1;b=b+f|0;Ga(b,e+8|0,1);f=v[e+12>>2];if(f>>>0>=g>>>0){v[e+4>>2]=g;v[e>>2]=f;Ea(d,1,15565,e);a=0;break a}Ga(b+1|0,(v[c+5584>>2]+B(f,1080)|0)+808|0,1)}pa=e+16|0;return a|0}function Vf(a,b,c){var d=0,e=0,f=0,g=0;g=c&63;f=g;e=f&31;if(f>>>0>=32){f=-1>>>e|0}else{d=-1>>>e|0;f=d|(1<>>0>=32){d=f<>>32-e|d<>>0>=32){d=-1<>>32-d}a=c&a;b=b&d;d=e&31;if(e>>>0>=32){c=0;a=b>>>d|0}else{c=b>>>d|0;a=((1<>>d}a=a|g;sa=c|f;return a}function Jb(a,b,c){var d=0,e=0,f=0;d=v[c+16>>2];a:{if(!d){if(Lb(c)){break a}d=v[c+16>>2]}f=v[c+20>>2];if(d-f>>>0>>0){return ta[v[c+36>>2]](c,a,b)|0}b:{if(v[c+80>>2]<0){d=0;break b}e=b;while(1){d=e;if(!d){d=0;break b}e=d-1|0;if(w[e+a|0]!=10){continue}break}e=ta[v[c+36>>2]](c,a,d)|0;if(e>>>0>>0){break a}a=a+d|0;b=b-d|0;f=v[c+20>>2]}Ha(f,a,b);v[c+20>>2]=v[c+20>>2]+b;e=b+d|0}return e}function _c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;v[a+160>>2]=b;d=v[a+72>>2];a:{if(!d){break a}f=v[d+24>>2];if(!f){break a}e=v[a+12>>2];if(!e|!v[e+5584>>2]){break a}e=v[d+16>>2];if(!e){return 1}d=0;while(1){if(y[(v[v[a+12>>2]+5584>>2]+B(d,1080)|0)+4>>2]<=b>>>0){Ea(c,1,10135,0);return 0}v[(B(d,52)+f|0)+40>>2]=b;g=1;d=d+1|0;if((e|0)!=(d|0)){continue}break}}return g|0}function uc(a){var b=0,c=0;b=v[a+76>>2];if(!((b|0)>=0&(!b|v[7526]!=(b&-1073741825)))){a:{if(v[a+80>>2]==10){break a}b=v[a+20>>2];if((b|0)==v[a+16>>2]){break a}v[a+20>>2]=b+1;t[b|0]=10;return}Kb(a);return}b=a+76|0;c=v[b>>2];v[b>>2]=c?c:1073741823;b:{c:{if(v[a+80>>2]==10){break c}c=v[a+20>>2];if((c|0)==v[a+16>>2]){break c}v[a+20>>2]=c+1;t[c|0]=10;break b}Kb(a)}v[b>>2]=0}function ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=x[b+26>>1];b=x[b+24>>1];v[a>>2]=b;if(c){f=c&3;a:{if(!f){d=c;break a}d=c;while(1){d=d-1|0;e=e+1>>>1|0;b=b+1>>>1|0;g=g+1|0;if((f|0)!=(g|0)){continue}break}}if(c>>>0>=4){while(1){e=(((e+1>>>1|0)+1>>>1|0)+1>>>1|0)+1>>>1|0;b=(((b+1>>>1|0)+1>>>1|0)+1>>>1|0)+1>>>1|0;d=d-4|0;if(d){continue}break}}v[a>>2]=b}v[a+4>>2]=e}function ie(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Sa(a,v[b+8>>2],e)){if(!(v[b+28>>2]==1|v[b+4>>2]!=(c|0))){v[b+28>>2]=d}return}a:{if(!Sa(a,v[b>>2],e)){break a}if(!(v[b+16>>2]!=(c|0)&v[b+20>>2]!=(c|0))){if((d|0)!=1){break a}v[b+32>>2]=1;return}v[b+20>>2]=c;v[b+32>>2]=d;v[b+40>>2]=v[b+40>>2]+1;if(!(v[b+36>>2]!=1|v[b+24>>2]!=2)){t[b+54|0]=1}v[b+44>>2]=4}}function Nb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;if(a){c=v[a+4>>2];if(c){Fa(c);v[a+4>>2]=0}if(b){c=a;while(1){d=v[c+200>>2];if(d){e=0;f=v[c+196>>2];if(f){while(1){g=v[d+12>>2];if(g){Fa(g);v[d+12>>2]=0;f=v[c+196>>2]}d=d+16|0;e=e+1|0;if(e>>>0>>0){continue}break}d=v[c+200>>2]}Fa(d);v[c+200>>2]=0}c=c+240|0;h=h+1|0;if((h|0)!=(b|0)){continue}break}}Fa(a)}}function se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=v[a+84>>2];f=v[e+4>>2];g=v[a+28>>2];d=v[a+20>>2]-g|0;d=d>>>0>f>>>0?f:d;if(d){Ha(v[e>>2],g,d);v[e>>2]=d+v[e>>2];f=v[e+4>>2]-d|0;v[e+4>>2]=f}d=v[e>>2];f=c>>>0>f>>>0?f:c;if(f){Ha(d,b,f);d=f+v[e>>2]|0;v[e>>2]=d;v[e+4>>2]=v[e+4>>2]-f}t[d|0]=0;b=v[a+44>>2];v[a+28>>2]=b;v[a+20>>2]=b;return c|0}function hc(a,b,c,d){t[a+53|0]=1;a:{if(v[a+4>>2]!=(c|0)){break a}t[a+52|0]=1;c=v[a+16>>2];b:{if(!c){v[a+36>>2]=1;v[a+24>>2]=d;v[a+16>>2]=b;if((d|0)!=1){break a}if(v[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=v[a+24>>2];if((c|0)==2){v[a+24>>2]=d;c=d}if(v[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}v[a+36>>2]=v[a+36>>2]+1}t[a+54|0]=1}}function Jc(a){v[a+28>>2]=22272;v[a+100>>2]=22272;v[a+96>>2]=22272;v[a+92>>2]=22272;v[a+88>>2]=22272;v[a+84>>2]=22272;v[a+80>>2]=22272;v[a+76>>2]=22272;v[a+72>>2]=22272;v[a+68>>2]=22272;v[a- -64>>2]=22272;v[a+60>>2]=22272;v[a+56>>2]=22272;v[a+52>>2]=22272;v[a+48>>2]=22272;v[a+44>>2]=22272;v[a+40>>2]=22272;v[a+36>>2]=22272;v[a+32>>2]=22272}function _a(a,b){var c=0,d=0,e=0,f=0,g=0;if((b|0)<=0){return 0}c=v[a+12>>2];d=v[a+16>>2];while(1){g=b;b=b-1|0;a:{if(d){break a}c=c<<8&65280;v[a+12>>2]=c;d=(c|0)==65280?7:8;v[a+16>>2]=d;e=v[a+8>>2];if(e>>>0>=y[a+4>>2]){break a}v[a+8>>2]=e+1;c=w[e|0]|c;v[a+12>>2]=c}d=d-1|0;v[a+16>>2]=d;f=(c>>>d&1)<>>0>1){continue}break}return f}function oe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=pa+-64|0;pa=e;d=1;a:{if(Sa(a,b,0)){break a}d=0;if(!b){break a}b=Wa(b,28196);d=0;if(!b){break a}d=e+8|0;Ka(d|4,0,52);v[e+56>>2]=1;v[e+20>>2]=-1;v[e+16>>2]=a;v[e+8>>2]=b;ta[v[v[b>>2]+28>>2]](b,d,v[c>>2],1);a=v[e+32>>2];if((a|0)==1){v[c>>2]=v[e+24>>2]}d=(a|0)==1}pa=e- -64|0;return d|0}function Re(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=pa-16|0;pa=f;e=v[a+24>>2];if((e|0)!=255){v[f>>2]=e;Ea(d,2,3775,f)}a:{b:{if(v[a+20>>2]==(c|0)){if(c){break b}e=1;break a}e=0;Ea(d,1,15152,0);break a}c=0;while(1){e=1;Ga(b,(v[a+72>>2]+B(c,12)|0)+8|0,1);b=b+1|0;c=c+1|0;if(c>>>0>2]){continue}break}}pa=f+16|0;return e|0}function Ga(a,b,c){var d=0,e=0;v[b>>2]=0;a:{if(!c){break a}d=c&3;b=b+c|0;if(c>>>0>=4){e=c&-4;c=0;while(1){t[b-1|0]=w[a|0];t[b-2|0]=w[a+1|0];t[b-3|0]=w[a+2|0];b=b-4|0;t[b|0]=w[a+3|0];a=a+4|0;c=c+4|0;if((e|0)!=(c|0)){continue}break}}if(!d){break a}c=0;while(1){b=b-1|0;t[b|0]=w[a|0];a=a+1|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}}function Bf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=pa-16|0;pa=e;a:{if(!c){Ea(d,1,5170,0);a=0;break a}Ga(b,e+12|0,1);f=c-1|0;a=1;if(!f){break a}a=0;c=0;while(1){b=b+1|0;Ga(b,e+8|0,1);g=v[e+8>>2];c=g<<24>>31&(g&127|c)<<7;a=a+1|0;if((f|0)!=(a|0)){continue}break}a=1;if(!c){break a}Ea(d,1,5170,0);a=0}pa=e+16|0;return a|0}function kb(a,b,c){var d=0;if(!v[a+12>>2]){ta[b|0](c,v[a+36>>2]);return}d=Ja(8);if(d){v[d+4>>2]=c;v[d>>2]=b;b=Ja(8);if(!b){Fa(d);return}v[b>>2]=d;v[a+40>>2]=B(v[a+4>>2],100);v[b+4>>2]=v[a+20>>2];v[a+20>>2]=b;v[a+24>>2]=v[a+24>>2]+1;b=v[a+28>>2];if(b){v[v[b>>2]+8>>2]=0;v[a+28>>2]=v[b+4>>2];v[a+32>>2]=v[a+32>>2]-1;Fa(b)}}}function Xb(a,b,c,d){var e=0,f=0,g=C(0),h=0,i=C(0),j=0,k=C(0);if(d){while(1){e=f<<2;h=e+b|0;i=z[h>>2];j=a+e|0;g=z[j>>2];e=c+e|0;k=z[e>>2];z[j>>2]=C(k*C(1.4019999504089355))+g;z[h>>2]=C(g+C(i*C(-.3441300094127655)))+C(k*C(-.714139997959137));z[e>>2]=g+C(i*C(1.7719999551773071));f=f+1|0;if((f|0)!=(d|0)){continue}break}}}function nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=C(0),f=0,g=0;d=pa-16|0;pa=d;if(c){while(1){t[d+15|0]=w[a|0];t[d+14|0]=w[a+1|0];t[d+13|0]=w[a+2|0];t[d+12|0]=w[a+3|0];e=z[d+12>>2];a:{if(C(D(e))>2]=f;b=b+4|0;a=a+4|0;g=g+1|0;if((g|0)!=(c|0)){continue}break}}pa=d+16|0}function Ie(a){a=a|0;var b=0,c=0,d=0,e=0;b=v[a+24>>2];if(b){c=v[a+28>>2];if(c>>>0>=52){e=(c>>>0)/52|0;while(1){c=v[b>>2];if(c){Fa(c-1|0);v[b>>2]=0}c=v[b+4>>2];if(c){Fa(c);v[b+4>>2]=0}c=v[b+8>>2];if(c){Fa(c);v[b+8>>2]=0}b=b+52|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}b=v[a+24>>2]}Fa(b);v[a+24>>2]=0}}function Je(a){a=a|0;var b=0,c=0,d=0,e=0;b=v[a+24>>2];if(b){c=v[a+28>>2];if(c>>>0>=64){e=c>>>6|0;while(1){c=v[b>>2];if(c){Fa(c);v[b>>2]=0}c=v[b+4>>2];if(c){Fa(c);v[b+4>>2]=0}Fa(v[b+60>>2]);v[b+60>>2]=0;b=b- -64|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}b=v[a+24>>2]}Fa(b);v[a+24>>2]=0}}function sd(a,b){a=a|0;b=b|0;var c=0,d=0;c=v[a+32>>2];b=v[a+28>>2];d=b+8|0;if(c>>>0>=d>>>0){while(1){pb(a,v[a+24>>2]+(b<<2)|0,v[a+20>>2],8);c=v[a+32>>2];b=d;d=b+8|0;if(c>>>0>=d>>>0){continue}break}}if(b>>>0>>0){pb(a,v[a+24>>2]+(b<<2)|0,v[a+20>>2],c-b|0)}Fa(v[a>>2]);Fa(a)}function We(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=pa-16|0;pa=e;a:{if(v[a+100>>2]){Ea(d,1,11984,0);a=0;break a}if((c|0)!=4){Ea(d,1,7055,0);a=0;break a}Ga(b,e+12|0,4);if(v[e+12>>2]!=218793738){Ea(d,1,6097,0);a=0;break a}v[a+100>>2]=v[a+100>>2]|1;a=1}pa=e+16|0;return a|0}function db(a,b,c){var d=0,e=0;a:{d=v[a>>2];e=v[a+4>>2];b:{if((d|0)!=(e|0)){e=v[a+8>>2];break b}d=e+10|0;v[a+4>>2]=d;e=Oa(v[a+8>>2],d<<2);if(!e){break a}v[a+8>>2]=e;d=v[a>>2]}v[(d<<2)+e>>2]=b;v[a>>2]=d+1;return 1}Fa(v[a+8>>2]);v[a>>2]=0;v[a+4>>2]=0;Ea(c,1,7187,0);return 0}function Df(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;a=pa-16|0;pa=a;e=1;a:{if(c>>>0<=1){e=0;Ea(d,1,5439,0);break a}Ga(b,a+12|0,1);Ga(b+1|0,a+8|0,1);b=v[a+8>>2];if(!((c-2>>>0)%(((b>>>5&2)+(b>>>4&3)|0)+2>>>0)|0)){break a}e=0;Ea(d,1,5439,0)}pa=a+16|0;return e|0}function fb(a,b,c){var d=0,e=0,f=0,g=0;if(b){while(1){c=c-1|0;e=a;a=Sf(a,b,10,0);d=sa;f=c,g=e-Qf(a,d,10,0)|48,t[f|0]=g;e=b>>>0>9;b=d;if(e){continue}break}}if(a){while(1){c=c-1|0;b=(a>>>0)/10|0;t[c|0]=a-B(b,10)|48;d=a>>>0>9;a=b;if(d){continue}break}}return c}function Kb(a){var b=0,c=0,d=0;c=pa-16|0;pa=c;t[c+15|0]=10;b=v[a+16>>2];a:{if(!b){if(Lb(a)){break a}b=v[a+16>>2]}d=b;b=v[a+20>>2];if(!((d|0)==(b|0)|v[a+80>>2]==10)){v[a+20>>2]=b+1;t[b|0]=10;break a}if((ta[v[a+36>>2]](a,c+15|0,1)|0)!=1){break a}}pa=c+16|0}function Gb(a){var b=0,c=0,d=0;b=a;a:{if(b&3){while(1){if(!w[b|0]){break a}b=b+1|0;if(b&3){continue}break}}while(1){c=b;b=b+4|0;d=v[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){b=c;c=b+1|0;if(w[b|0]){continue}break}}return b-a|0}function sc(a,b){var c=0,d=0,e=0;o(+a);d=j(1)|0;e=j(0)|0;c=d>>>20&2047;if((c|0)!=2047){if(!c){if(a==0){c=0}else{a=sc(a*0x10000000000000000,b);c=v[b>>2]+-64|0}v[b>>2]=c;return a}v[b>>2]=c-1022;l(0,e|0);l(1,d&-2146435073|1071644672);a=+n()}return a}function Nc(){var a=0,b=0;T(17348,1847,17308,13,17310,14);a=La(4);v[a>>2]=0;b=La(4);v[b>>2]=0;P(17348,1761,28608,17313,15,a|0,28608,17317,16,b|0);a=La(4);v[a>>2]=4;b=La(4);v[b>>2]=4;P(17348,1168,28608,17313,15,a|0,28608,17317,16,b|0);R(17348)}function Xc(){var a=0,b=0;T(17332,1149,17308,9,17310,10);a=La(4);v[a>>2]=0;b=La(4);v[b>>2]=0;P(17332,1117,28608,17313,11,a|0,28608,17317,12,b|0);a=La(4);v[a>>2]=4;b=La(4);v[b>>2]=4;P(17332,1088,28608,17313,11,a|0,28608,17317,12,b|0);R(17332)}function rf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=pa-16|0;pa=d;if(c){while(1){t[d+15|0]=w[a|0];t[d+14|0]=w[a+1|0];t[d+13|0]=w[a+2|0];t[d+12|0]=w[a+3|0];z[b>>2]=z[d+12>>2];b=b+4|0;a=a+4|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}pa=d+16|0}function mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=pa-16|0;pa=d;if(c){while(1){_b(a,d+8|0);e=A[d+8>>3];a:{if(D(e)<2147483648){f=~~e;break a}f=-2147483648}v[b>>2]=f;b=b+4|0;a=a+8|0;g=g+1|0;if((g|0)!=(c|0)){continue}break}}pa=d+16|0}function Za(a){var b=0,c=0,d=0;if(a){b=v[a+24>>2];if(b){c=v[a+16>>2];if(c){b=0;while(1){d=v[(v[a+24>>2]+B(b,52)|0)+44>>2];if(d){Fa(d);c=v[a+16>>2]}b=b+1|0;if(c>>>0>b>>>0){continue}break}b=v[a+24>>2]}Fa(b)}b=v[a+28>>2];if(b){Fa(b)}Fa(a)}}function Fe(){var a=0;a=La(88);v[a>>2]=0;v[a+4>>2]=0;v[a+44>>2]=0;v[a+48>>2]=0;v[a+84>>2]=1;v[a+16>>2]=0;v[a+20>>2]=0;v[a+8>>2]=0;v[a+12>>2]=0;v[a+52>>2]=0;v[a+56>>2]=0;v[a+60>>2]=0;v[a+64>>2]=0;v[a+68>>2]=0;v[a+72>>2]=0;return a|0}function pc(a){var b=0,c=0,d=0;if(t[v[a>>2]]-48>>>0>=10){return 0}while(1){d=v[a>>2];c=-1;if(b>>>0<=214748364){c=t[d|0]-48|0;b=B(b,10);c=(c|0)>(b^2147483647)?-1:c+b|0}v[a>>2]=d+1;b=c;if(t[d+1|0]-48>>>0<10){continue}break}return b}function Wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=pa-16|0;pa=d;e=v[a>>2];f=d+8|0;a=v[a+4>>2];b=(a>>1)+b|0;if(a&1){e=v[e+v[b>>2]>>2]}ta[e|0](f,b,c);a=La(8);b=v[d+12>>2];v[a>>2]=v[d+8>>2];v[a+4>>2]=b;pa=d+16|0;return a|0}function Rf(a,b,c,d){var e=0,f=0,g=0,h=0;f=b^d;g=f>>31;e=b>>31;a=a^e;h=a-e|0;e=(b^e)-((a>>>0>>0)+e|0)|0;a=d>>31;b=c^a;f=f>>31;a=Sf(h,e,b-a|0,(a^d)-((a>>>0>b>>>0)+a|0)|0)^f;b=a-f|0;sa=(g^sa)-((a>>>0>>0)+g|0)|0;return b}function Gc(a){var b=0,c=0,d=0;b=v[a+12>>2];a:{if((b&255)==255){b=b<<8&65280;v[a+12>>2]=b;v[a+16>>2]=(b|0)==65280?7:8;c=v[a+8>>2];d=0;if(c>>>0>=y[a+4>>2]){break a}v[a+8>>2]=c+1;v[a+12>>2]=b|w[c|0]}v[a+16>>2]=0;d=1}return d}function cb(a){var b=0,c=0,d=0,e=0;if(a){b=v[a+20>>2];c=v[a+16>>2];if(B(b,c)){while(1){e=v[v[a+24>>2]+(d<<2)>>2];if(e){Fa(e);c=v[a+16>>2];b=v[a+20>>2]}d=d+1|0;if(d>>>0>>0){continue}break}}Fa(v[a+24>>2]);Fa(a)}}function Yb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(d){while(1){e=f<<2;g=e+a|0;h=c+e|0;i=v[h>>2];j=b+e|0;k=v[j>>2];e=v[g>>2]-(i+k>>2)|0;v[g>>2]=e+i;v[j>>2]=e;v[h>>2]=e+k;f=f+1|0;if((f|0)!=(d|0)){continue}break}}}function Qf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=B(e,f);g=c&65535;h=a&65535;i=B(g,h);f=(i>>>16|0)+B(f,g)|0;e=(f&65535)+B(e,h)|0;sa=(B(b,c)+j|0)+B(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function tb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;v[a+48>>2]=0;v[a+36>>2]=v[a+32>>2];e=ta[v[a+28>>2]](b,c,v[a>>2])|0;d=v[a+68>>2];if(!e){v[a+68>>2]=d|4;return 0}v[a+56>>2]=b;v[a+60>>2]=c;v[a+68>>2]=d&-5;return 1}function dc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=pa-16|0;pa=c;d=v[a>>2];e=c+8|0;a=v[a+4>>2];b=(a>>1)+b|0;if(a&1){d=v[d+v[b>>2]>>2]}ta[d|0](e,b);a=La(8);b=v[c+12>>2];v[a>>2]=v[c+8>>2];v[a+4>>2]=b;pa=c+16|0;return a|0}function cc(){var a=0,b=0,c=0,d=0,e=0;a=bb(88)+80|0;v[a>>2]=28856;v[a>>2]=28900;b=Gb(1306);c=La(b+13|0);v[c+8>>2]=0;v[c+4>>2]=b;v[c>>2]=b;d=a,e=Ha(c+12|0,1306,b+1|0),v[d+4>>2]=e;v[a>>2]=28948;oa(a|0,28980,57);p()}function jc(a,b,c){var d=0;d=v[a+16>>2];if(!d){v[a+36>>2]=1;v[a+24>>2]=c;v[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(v[a+24>>2]!=2){break a}v[a+24>>2]=c;return}t[a+54|0]=1;v[a+24>>2]=2;v[a+36>>2]=v[a+36>>2]+1}}function ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=pa-16|0;pa=d;e=v[a>>2];f=d+8|0;a=v[a+4>>2];b=(a>>1)+b|0;if(a&1){e=v[e+v[b>>2]>>2]}ta[e|0](f,b,c);Z(v[d+8>>2]);a=v[d+8>>2];U(a|0);pa=d+16|0;return a|0}function Ta(a,b,c,d,e){var f=0;f=pa-256|0;pa=f;if(!(e&73728|(c|0)<=(d|0))){d=c-d|0;c=d>>>0<256;Ka(f,b&255,c?d:256);if(!c){while(1){Ra(a,f,256);d=d-256|0;if(d>>>0>255){continue}break}}Ra(a,f,d)}pa=f+256|0}function Qd(a,b){a=a|0;b=b|0;var c=0;c=v[a>>2];a=v[a+4>>2];b=(a>>1)+b|0;if(a&1){c=v[c+v[b>>2]>>2]}a=ta[c|0](b)|0;b=La(8);c=x[a+4>>1]|x[a+6>>1]<<16;v[b>>2]=x[a>>1]|x[a+2>>1]<<16;v[b+4>>2]=c;return b|0}function Tb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;a:{if(v[a+208>>2]){break a}Bb(v[a+212>>2]);v[a+212>>2]=0;if((b|0)>=0){b=qb(b);v[a+212>>2]=b;c=1;if(b){break a}}d=a,e=qb(0),v[d+212>>2]=e;c=0}return c|0}function re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=pa-16|0;pa=c;d=v[a>>2];e=c+8|0;a=v[a+4>>2];b=(a>>1)+b|0;if(a&1){d=v[d+v[b>>2]>>2]}ta[d|0](e,b);Z(v[c+8>>2]);a=v[c+8>>2];U(a|0);pa=c+16|0;return a|0}function Hb(a){var b=0;a:{b=a;a=Gb(a);if((((Va(b,1,a,29160)|0)!=(a|0)?-1:0)|0)<0){break a}b:{if(v[7310]==10){break b}a=v[7295];if((a|0)==v[7294]){break b}v[7295]=a+1;t[a|0]=10;break a}Kb(29160)}}function Be(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=pa-16|0;pa=e;a=da(v[a+60>>2],b|0,c|0,d&255,e+8|0)|0;if(a){v[7342]=a;a=-1}else{a=0}pa=e+16|0;sa=a?-1:v[e+12>>2];return(a?-1:v[e+8>>2])|0}function Lb(a){var b=0;b=v[a+72>>2];v[a+72>>2]=b-1|b;b=v[a>>2];if(b&8){v[a>>2]=b|32;return-1}v[a+4>>2]=0;v[a+8>>2]=0;b=v[a+44>>2];v[a+28>>2]=b;v[a+20>>2]=b;v[a+16>>2]=b+v[a+48>>2];return 0}function tc(a,b){var c=0,d=0;c=w[a|0];d=w[b|0];a:{if(!c|(c|0)!=(d|0)){break a}while(1){d=w[b+1|0];c=w[a+1|0];if(!c){break a}b=b+1|0;a=a+1|0;if((c|0)==(d|0)){continue}break}}return c-d|0}function He(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=v[c+4>>2];e=v[c>>2]+v[c+8>>2]|0;if((d|0)==(e|0)){return-1}f=a;a=e-d|0;a=a>>>0>>0?a:b;Ha(f,d,a);v[c+4>>2]=a+v[c+4>>2];return a|0}function tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=pa-16|0;pa=d;if(c){while(1){Ga(a,d+12|0,2);z[b>>2]=y[d+12>>2];b=b+4|0;a=a+2|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}pa=d+16|0}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=pa-16|0;pa=d;if(c){while(1){Ga(a,d+12|0,4);z[b>>2]=y[d+12>>2];b=b+4|0;a=a+4|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}pa=d+16|0}function pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=pa-16|0;pa=d;if(c){while(1){Ga(a,d+12|0,2);v[b>>2]=v[d+12>>2];b=b+4|0;a=a+2|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}pa=d+16|0}function of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=pa-16|0;pa=d;if(c){while(1){Ga(a,d+12|0,4);v[b>>2]=v[d+12>>2];b=b+4|0;a=a+4|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}pa=d+16|0}function ic(a,b){var c=0;a:{if(!b){break a}b=Wa(b,28404);if(!b|v[b+8>>2]&(v[a+8>>2]^-1)){break a}if(!Sa(v[a+12>>2],v[b+12>>2],0)){break a}c=Sa(v[a+16>>2],v[b+16>>2],0)}return c}function qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=pa-16|0;pa=d;if(c){while(1){_b(a,d+8|0);z[b>>2]=A[d+8>>3];b=b+4|0;a=a+8|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}pa=d+16|0}function ud(a,b){a=a|0;b=b|0;b=v[a+28>>2];if(b>>>0>2]){while(1){Wb(a,v[a+24>>2]+(B(v[a+20>>2],b)<<2)|0);b=b+1|0;if(b>>>0>2]){continue}break}}Fa(v[a>>2]);Fa(a)}function _b(a,b){t[b+7|0]=w[a|0];t[b+6|0]=w[a+1|0];t[b+5|0]=w[a+2|0];t[b+4|0]=w[a+3|0];t[b+3|0]=w[a+4|0];t[b+2|0]=w[a+5|0];t[b+1|0]=w[a+6|0];t[b|0]=w[a+7|0]}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0;c=v[b+4>>2];d=v[b>>2]+v[b+8>>2]|0;if((c|0)==(d|0)){return-1}v[b+4>>2]=a+c;b=d-c|0;return(a>>>0>b>>>0?b:a)|0}function he(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Sa(a,v[b+8>>2],f)){hc(b,c,d,e);return}a=v[a+8>>2];ta[v[v[a>>2]+20>>2]](a,b,c,d,e,f)}function Va(a,b,c,d){var e=0;e=B(b,c);a:{if(v[d+76>>2]<0){a=Jb(a,e,d);break a}a=Jb(a,e,d)}if((e|0)==(a|0)){return b?c:0}return(a>>>0)/(b>>>0)|0}function df(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return eb(v[a>>2],b,c,d,e,f,g,h,i,j,k)|0}function Le(a){a=a|0;var b=0;if(a){b=v[a+116>>2];if(b){Fa(b);v[a+116>>2]=0}b=v[a+120>>2];if(b){Fa(b);v[a+120>>2]=0}Fa(v[a+148>>2]);Fa(a)}} +function Ld(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=c;e=v[c>>2];c=v[c+8>>2];v[d+4>>2]=e+(a>>>0>>0&(b|0)<=0|(b|0)<0?a:c);return 1}function Sd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=v[a>>2];a=v[a+4>>2];b=(a>>1)+b|0;if(a&1){e=v[e+v[b>>2]>>2]}ta[e|0](b,c,d)}function me(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Sa(a,v[b+8>>2],0)){jc(b,c,d);return}a=v[a+8>>2];ta[v[v[a>>2]+28>>2]](a,b,c,d)}function La(a){var b=0;a=a?a:1;a:{while(1){b=bb(a);if(b){break a}b=v[8072];if(b){ta[b|0]();continue}break}V();p()}return b}function gc(a){a=a|0;var b=0,c=0;v[a>>2]=28900;b=v[a+4>>2]-12|0;c=v[b+8>>2]-1|0;v[b+8>>2]=c;if((c|0)<0){Fa(b)}return a|0}function kc(a){a=a|0;while(1){a=v[8075];if(a){v[8075]=v[a+8>>2];ta[v[a>>2]](v[a+4>>2]);Fa(a);continue}break}t[32293]=0}function yf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(v[v[a+72>>2]+16>>2]<<2!=(c|0)){Ea(d,1,5554,0);a=0}else{a=1}return a|0}function lb(a,b){a=a|0;b=b|0;var c=0;c=v[a>>2];a=v[a+4>>2];b=(a>>1)+b|0;if(a&1){c=v[c+v[b>>2]>>2]}return ta[c|0](b)|0}function Ke(a){a=a|0;var b=0;if(a){b=v[a+12>>2];if(b){v[a+16>>2]=b;Fa(b)}b=v[a>>2];if(b){v[a+4>>2]=b;Fa(b)}Fa(a)}}function Ub(a,b){a=a|0;b=b|0;if(!(!a|!b)){v[a+164>>2]=v[b+4>>2];v[a+160>>2]=v[b>>2];v[a+224>>2]=v[b+8248>>2]&2}}function Sa(a,b,c){if(!c){return v[a+4>>2]==v[b+4>>2]}if((a|0)==(b|0)){return 1}return!tc(v[a+4>>2],v[b+4>>2])}function wb(){var a=0,b=0;a=Ia(1,12);if(a){v[a+4>>2]=10;b=Ia(10,4);v[a+8>>2]=b;if(b){return a}Fa(a)}return 0}function ke(a,b){a=a|0;b=b|0;var c=0;c=v[a>>2];a=v[a+4>>2];b=(a>>1)+b|0;if(a&1){c=v[c+v[b>>2]>>2]}ta[c|0](b)}function ub(a){var b=0;b=pa-16|0;pa=b;if(a){a=lc(b+12|0,32,a);a=a?0:v[b+12>>2]}else{a=0}pa=b+16|0;return a}function Pa(a){var b=0;b=pa-16|0;pa=b;if(a){a=lc(b+12|0,16,a);a=a?0:v[b+12>>2]}else{a=0}pa=b+16|0;return a}function Ee(a){a=a|0;var b=0,c=0;a=v[a+4>>2];b=Gb(a)+1|0;c=bb(b);if(c){a=Ha(c,a,b)}else{a=0}return a|0}function af(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return id(v[a>>2],b,c,d,e,f,g)|0}function sb(a){var b=0;if(a){b=v[a+4>>2];if(b){ta[b|0](v[a>>2])}Fa(v[a+32>>2]);v[a+32>>2]=0;Fa(a)}}function ge(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Sa(a,v[b+8>>2],f)){hc(b,c,d,e)}}function De(){var a=0;a=v[7339];if(a){while(1){ta[v[a>>2]]();a=v[a+4>>2];if(a){continue}break}}}function cf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return jb(v[a>>2],b,c,d,e,f)|0}function Cf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(c){a=1}else{Ea(d,1,5465,0);a=0}return a|0}function lc(a,b,c){var d=0;if(b&3){a=22}else{d=a;a=mb(b,c);v[d>>2]=a;a=a?0:12}return a}function yb(a){if(a){ta[v[(v[a+76>>2]?20:16)+a>>2]](v[a+48>>2]);v[a+48>>2]=0;Fa(a)}}function nd(a,b,c){a=a|0;b=b|0;c=c|0;return!v[a+8>>2]&v[a+192>>2]!=0&v[a+196>>2]!=0}function kf(a,b){a=a|0;b=b|0;Ub(v[a>>2],b);t[a+124|0]=0;v[a+128>>2]=v[b+8248>>2]&1}function Ia(a,b){var c=0;if(!(!a|!b)){a=B(a,b);c=mb(8,a);if(c){Ka(c,0,a)}}return c}function Md(a,b){a=a|0;b=b|0;var c=0;c=v[b+48>>2];v[a>>2]=v[b+44>>2];v[a+4>>2]=c}function Kd(a,b){a=a|0;b=b|0;var c=0;c=v[b+56>>2];v[a>>2]=v[b+52>>2];v[a+4>>2]=c}function Jd(a,b){a=a|0;b=b|0;var c=0;c=v[b+64>>2];v[a>>2]=v[b+60>>2];v[a+4>>2]=c}function Id(a,b){a=a|0;b=b|0;var c=0;c=v[b+72>>2];v[a>>2]=v[b+68>>2];v[a+4>>2]=c}function Yd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ta[a|0](b,c,d,e)|0}function Xd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ta[a|0](b,c,d,e)|0}function ne(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Sa(a,v[b+8>>2],0)){jc(b,c,d)}}function Uf(a){var b=0;while(1){if(a){a=a-1&a;b=b+1|0;continue}break}return b}function Ib(a,b){var c=0;c=pa-16|0;pa=c;v[c+12>>2]=b;nc(29160,a,b);pa=c+16|0}function Na(a,b,c){var d=0;d=pa-16|0;pa=d;v[d+12>>2]=c;nc(a,b,c);pa=d+16|0}function Fd(a,b){a=a|0;b=b|0;b=pa-16|0;pa=b;v[b>>2]=a;Ib(1283,b);pa=b+16|0}function Ed(a,b){a=a|0;b=b|0;b=pa-16|0;pa=b;v[b>>2]=a;Ib(1293,b);pa=b+16|0}function Dd(a,b){a=a|0;b=b|0;b=pa-16|0;pa=b;v[b>>2]=a;Ib(1272,b);pa=b+16|0}function hb(a){var b=0;if(a){b=v[a+12>>2];if(b){Fa(b);v[a+12>>2]=0}Fa(a)}}function bf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Qb(v[a>>2],b,c,d)|0}function _d(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ta[a|0](b,c,d)|0}function Zd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ta[a|0](b,c,d)|0}function fe(a){a=a|0;if(!a){return 0}return(Wa(a,28292)|0)!=0|0}function Wc(){var a=0;a=La(8);v[a>>2]=0;v[a+4>>2]=0;return a|0}function Xe(a,b,c){a=a|0;b=b|0;c=c|0;return _c(v[a>>2],b,c)|0}function vb(a){var b=0;if(a){b=v[a+8>>2];if(b){Fa(b)}Fa(a)}}function jf(a,b){a=a|0;b=b|0;a=v[a>>2];if(a){v[a+184>>2]=b}}function we(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;sa=0;return 0}function gb(a,b,c,d,e,f,g,h){return yc(a,b,c,d,e,f,g,h,0)}function Td(a,b,c){a=a|0;b=b|0;c=c|0;v[a+84>>2]=c;bc(a,b)}function pe(a,b,c){a=a|0;b=b|0;c=c|0;return Sa(a,b,0)|0}function od(a,b,c){a=a|0;b=b|0;c=c|0;u[v[a>>2]+b>>1]=c}function Pc(a,b,c){a=a|0;b=b|0;c=c|0;v[v[a>>2]+b>>2]=c}function ad(a,b,c){a=a|0;b=b|0;c=c|0;t[v[a>>2]+b|0]=c}function Ob(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 1}function wd(a){a=a|0;ta[v[a>>2]](v[a+4>>2]);return 0}function _e(a,b,c){a=a|0;b=b|0;c=c|0;gd(v[a>>2],b,c)}function Wf(a){if(a){return 31-E(a-1^a)|0}return 32} +function td(a,b){a=a|0;b=b|0;return x[v[a>>2]+b>>1]}function hf(a,b){a=a|0;b=b|0;return Tb(v[a>>2],b)|0}function Vc(a,b){a=a|0;b=b|0;return v[v[a>>2]+b>>2]}function Bd(a,b,c){a=a|0;b=b|0;c=c|0;sa=-1;return-1}function jd(a,b){a=a|0;b=b|0;return w[v[a>>2]+b|0]}function Xa(a,b,c,d,e,f,g,h){yc(a,b,c,d,e,f,g,h,1)}function pd(a,b){a=a|0;b=b|0;if(a){v[a+184>>2]=b}}function ec(a,b,c,d){ea(a|0,b|0,8,0,c|0,-1,d|0)}function $d(a){a=a|0;a=pa-a&-16;pa=a;return a|0}function Tf(a,b,c){Pf(a,0,b,c);sa=ra;return qa}function Ra(a,b,c){if(!(w[a|0]&32)){Jb(b,c,a)}}function Zb(a,b,c){a=a|0;b=b|0;c=c|0;return-1}function Sb(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function Cd(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function ze(a){a=a|0;return ja(v[a+60>>2])|0}function Ya(a){if(v[a+12>>2]){v[a+40>>2]=0}}function Sf(a,b,c,d){a=Pf(a,b,c,d);return a}function Ja(a){if(!a){return 0}return bb(a)}function Ze(a){a=a|0;return dd(v[a>>2])|0}function Ye(a){a=a|0;return ed(v[a>>2])|0}function Ud(a){a=a|0;v[a+84>>2]=0;bc(a,0)}function Ge(a){a=a|0;return ta[a|0]()|0}function Pd(a){a=a|0;return v[a+32>>2]}function Nd(a){a=a|0;return v[a+40>>2]}function Hd(a){a=a|0;return v[a+76>>2]}function Gd(a){a=a|0;return v[a+80>>2]}function de(a){a=a|0;return v[a+4>>2]}function bb(a){a=a|0;return mb(8,a)|0}function Od(a){a=a|0;return w[a+36|0]}function Rd(a){a=a|0;return a+24|0}function ab(a){a=a|0;if(a){Fa(a)}}function Ne(a){a=a|0;return 17372}function nc(a,b,c){rc(a,b,c,0,0)}function fc(a){a=a|0;gc(a);Fa(a)}function ee(a){a=a|0;return 1586}function vc(a){a=a|0;return a|0}function Of(a){a=a|0;U(v[7328])}function xe(a){a=a|0;return 0}function rb(){return Ia(1,36)}function xd(a,b){a=a|0;b=b|0}function qe(a){a=a|0;kc(0)}function be(){return pa|0}function ae(a){a=a|0;pa=a}function Ma(a){Fa(a)}function Db(a){a=a|0} +// EMSCRIPTEN_END_FUNCS +e=w;var ta=c([null,Wc,ab,td,od,jd,ad,jd,ad,Wc,ab,Vc,Pc,Wc,ab,Vc,Pc,Ne,Ke,Ge,Fe,Ce,ye,ve,re,Db,ke,ce,Wd,Ud,Td,Sd,Rd,Qd,Pd,lb,Od,lb,Nd,lb,Md,dc,Kd,dc,Jd,Id,Hd,lb,Gd,lb,Of,Fd,Ed,Dd,He,Vd,Ld,gc,ac,Xc,Nc,Mc,Cd,Bd,Zb,Zb,tb,Ad,zd,yd,xd,vd,wd,ud,sd,rd,qd,Sb,nd,md,ld,Nf,Mf,Lf,Kf,Jf,If,Hf,Gf,Ff,Ef,Df,Cf,Bf,Af,zf,yf,Ob,xf,wf,Ob,Ob,vf,uf,tf,sf,rf,qf,pf,of,nf,mf,ff,We,Ve,Ue,Te,Se,Re,Qe,Pe,Oe,dd,ed,gd,Sb,cd,pd,Ub,zb,Rb,Tb,Qb,_c,$c,id,jb,eb,Ze,Ye,_e,gf,lf,hf,bf,Xe,$e,af,jf,kf,Oc,cf,df,ef,Me,Le,Je,Ie,xc,ze,Ae,Be,xe,we,ue,te,se,qe,kc,vc,Ma,Db,Db,pe,Ma,oe,ge,ie,ne,Ma,he,je,me,Ma,le,vc,Ma,ee,fc,de,fc]);function ua(){return s.byteLength/65536|0}function za(Aa){Aa=Aa|0;var va=ua()|0;var wa=va+Aa|0;if(va=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||52428800;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var memoryInitializer="openjpegjs_decode.js.mem";var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="openjpegjs_decode.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;runMemoryInitializer();wasmTable=Module["asm"]["G"];addOnInit(Module["asm"]["F"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync().catch(readyPromiseReject);return{}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function __embind_finalize_value_object(structType){var reg=structRegistrations[structType];delete structRegistrations[structType];var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;var fieldRecords=reg.fields;var fieldTypes=fieldRecords.map(field=>field.getterReturnType).concat(fieldRecords.map(field=>field.setterArgumentType));whenDependentTypesAreResolved([structType],fieldTypes,fieldTypes=>{var fields={};fieldRecords.forEach((field,i)=>{var fieldName=field.fieldName;var getterReturnType=fieldTypes[i];var getter=field.getter;var getterContext=field.getterContext;var setterArgumentType=fieldTypes[i+fieldRecords.length];var setter=field.setter;var setterContext=field.setterContext;fields[fieldName]={read:ptr=>{return getterReturnType["fromWireType"](getter(getterContext,ptr))},write:(ptr,o)=>{var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,o));runDestructors(destructors)}}});return[{name:reg.name,"fromWireType":function(ptr){var rv={};for(var i in fields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);return rv},"toWireType":function(destructors,o){for(var fieldName in fields){if(!(fieldName in o)){throw new TypeError('Missing field: "'+fieldName+'"')}}var ptr=rawConstructor();for(fieldName in fields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:rawDestructor}]})}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i>2])}return array}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}function emval_get_global(){if(typeof globalThis=="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return Emval.toHandle(emval_get_global())}else{name=getStringOrSymbol(name);return Emval.toHandle(emval_get_global()[name])}}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;iHEAPU32;var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n"+" var HEAPU32 = getMemory();\n";for(var i=0;i>2)], 'parameter "+i+"');\n"+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"+"argTypes += 4;\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return valueToHandle(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","valueToHandle","getMemory",functionBody)(requireRegisteredType,Module,Emval.toHandle,getMemory)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=Emval.toValue(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_take_value(type,arg){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)}function _abort(){abort("")}function getHeapMax(){return 2147483648}function _emscripten_get_heap_max(){return getHeapMax()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function 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}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var SYSCALLS={varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){return 52}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){return 70}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0}function getCFunc(ident){var func=Module["_"+ident];return func}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,1024);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=()=>{readAsync(memoryInitializer,applyMemoryInitializer,function(){var e=new Error("could not load memory initializer "+memoryInitializer);readyPromiseReject(e)})};if(Module["memoryInitializerRequest"]){var useRequest=()=>{var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); + + + return OpenJPEGJS.ready +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = OpenJPEGJS; +else if (typeof define === 'function' && define['amd']) + define([], function() { return OpenJPEGJS; }); +else if (typeof exports === 'object') + exports["OpenJPEGJS"] = OpenJPEGJS; diff --git a/extension/codec-openjpeg/openjpegjs_decode.js.mem b/extension/codec-openjpeg/openjpegjs_decode.js.mem new file mode 100644 index 0000000..0f58e8c Binary files /dev/null and b/extension/codec-openjpeg/openjpegjs_decode.js.mem differ diff --git a/extension/codec-openjpeg/openjpegwasm.js b/extension/codec-openjpeg/openjpegwasm.js new file mode 100644 index 0000000..ba232bb --- /dev/null +++ b/extension/codec-openjpeg/openjpegwasm.js @@ -0,0 +1,21 @@ + +var OpenJPEGWASM = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(OpenJPEGWASM) { + OpenJPEGWASM = OpenJPEGWASM || {}; + +var Module=typeof OpenJPEGWASM!="undefined"?OpenJPEGWASM:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err("exiting due to exception: "+toLog)}if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",function(reason){throw reason});quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}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(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};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=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){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>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||52428800;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="openjpegwasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["F"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["I"];addOnInit(Module["asm"]["G"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync().catch(readyPromiseReject);return{}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function __embind_finalize_value_object(structType){var reg=structRegistrations[structType];delete structRegistrations[structType];var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;var fieldRecords=reg.fields;var fieldTypes=fieldRecords.map(field=>field.getterReturnType).concat(fieldRecords.map(field=>field.setterArgumentType));whenDependentTypesAreResolved([structType],fieldTypes,fieldTypes=>{var fields={};fieldRecords.forEach((field,i)=>{var fieldName=field.fieldName;var getterReturnType=fieldTypes[i];var getter=field.getter;var getterContext=field.getterContext;var setterArgumentType=fieldTypes[i+fieldRecords.length];var setter=field.setter;var setterContext=field.setterContext;fields[fieldName]={read:ptr=>{return getterReturnType["fromWireType"](getter(getterContext,ptr))},write:(ptr,o)=>{var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,o));runDestructors(destructors)}}});return[{name:reg.name,"fromWireType":function(ptr){var rv={};for(var i in fields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);return rv},"toWireType":function(destructors,o){for(var fieldName in fields){if(!(fieldName in o)){throw new TypeError('Missing field: "'+fieldName+'"')}}var ptr=rawConstructor();for(fieldName in fields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:rawDestructor}]})}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i>2])}return array}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError("Cannot call "+name+" due to unbound types",argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn),argCount-1);return[]})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}function emval_get_global(){if(typeof globalThis=="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return Emval.toHandle(emval_get_global())}else{name=getStringOrSymbol(name);return Emval.toHandle(emval_get_global()[name])}}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;iHEAPU32;var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n"+" var HEAPU32 = getMemory();\n";for(var i=0;i>2)], 'parameter "+i+"');\n"+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"+"argTypes += 4;\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return valueToHandle(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","valueToHandle","getMemory",functionBody)(requireRegisteredType,Module,Emval.toHandle,getMemory)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=Emval.toValue(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_take_value(type,arg){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)}function _abort(){abort("")}function getHeapMax(){return 2147483648}function _emscripten_get_heap_max(){return getHeapMax()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function 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}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var SYSCALLS={varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){return 52}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){return 70}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0}function getCFunc(ident){var func=Module["_"+ident];return func}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); + + + return OpenJPEGWASM.ready +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = OpenJPEGWASM; +else if (typeof define === 'function' && define['amd']) + define([], function() { return OpenJPEGWASM; }); +else if (typeof exports === 'object') + exports["OpenJPEGWASM"] = OpenJPEGWASM; diff --git a/extension/codec-openjpeg/openjpegwasm.wasm b/extension/codec-openjpeg/openjpegwasm.wasm new file mode 100755 index 0000000..ef6ff6b Binary files /dev/null and b/extension/codec-openjpeg/openjpegwasm.wasm differ diff --git a/extension/codec-openjpeg/openjpegwasm_decode.js b/extension/codec-openjpeg/openjpegwasm_decode.js new file mode 100644 index 0000000..feb1b65 --- /dev/null +++ b/extension/codec-openjpeg/openjpegwasm_decode.js @@ -0,0 +1,21 @@ + +var OpenJPEGWASM = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(OpenJPEGWASM) { + OpenJPEGWASM = OpenJPEGWASM || {}; + +var Module=typeof OpenJPEGWASM!="undefined"?OpenJPEGWASM:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err("exiting due to exception: "+toLog)}if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",function(reason){throw reason});quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}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(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};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=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){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>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||52428800;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="openjpegwasm_decode.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["E"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["G"];addOnInit(Module["asm"]["F"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync().catch(readyPromiseReject);return{}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function __embind_finalize_value_object(structType){var reg=structRegistrations[structType];delete structRegistrations[structType];var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;var fieldRecords=reg.fields;var fieldTypes=fieldRecords.map(field=>field.getterReturnType).concat(fieldRecords.map(field=>field.setterArgumentType));whenDependentTypesAreResolved([structType],fieldTypes,fieldTypes=>{var fields={};fieldRecords.forEach((field,i)=>{var fieldName=field.fieldName;var getterReturnType=fieldTypes[i];var getter=field.getter;var getterContext=field.getterContext;var setterArgumentType=fieldTypes[i+fieldRecords.length];var setter=field.setter;var setterContext=field.setterContext;fields[fieldName]={read:ptr=>{return getterReturnType["fromWireType"](getter(getterContext,ptr))},write:(ptr,o)=>{var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,o));runDestructors(destructors)}}});return[{name:reg.name,"fromWireType":function(ptr){var rv={};for(var i in fields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);return rv},"toWireType":function(destructors,o){for(var fieldName in fields){if(!(fieldName in o)){throw new TypeError('Missing field: "'+fieldName+'"')}}var ptr=rawConstructor();for(fieldName in fields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:rawDestructor}]})}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i>2])}return array}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}function emval_get_global(){if(typeof globalThis=="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return Emval.toHandle(emval_get_global())}else{name=getStringOrSymbol(name);return Emval.toHandle(emval_get_global()[name])}}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;iHEAPU32;var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n"+" var HEAPU32 = getMemory();\n";for(var i=0;i>2)], 'parameter "+i+"');\n"+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"+"argTypes += 4;\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return valueToHandle(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","valueToHandle","getMemory",functionBody)(requireRegisteredType,Module,Emval.toHandle,getMemory)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=Emval.toValue(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_take_value(type,arg){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)}function _abort(){abort("")}function getHeapMax(){return 2147483648}function _emscripten_get_heap_max(){return getHeapMax()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function 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}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var SYSCALLS={varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){return 52}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){return 70}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0}function getCFunc(ident){var func=Module["_"+ident];return func}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); + + + return OpenJPEGWASM.ready +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = OpenJPEGWASM; +else if (typeof define === 'function' && define['amd']) + define([], function() { return OpenJPEGWASM; }); +else if (typeof exports === 'object') + exports["OpenJPEGWASM"] = OpenJPEGWASM; diff --git a/extension/codec-openjpeg/openjpegwasm_decode.wasm b/extension/codec-openjpeg/openjpegwasm_decode.wasm new file mode 100755 index 0000000..1bb4172 Binary files /dev/null and b/extension/codec-openjpeg/openjpegwasm_decode.wasm differ diff --git a/extension/getjpeg.ts b/extension/getjpeg.ts new file mode 100644 index 0000000..55df5ac --- /dev/null +++ b/extension/getjpeg.ts @@ -0,0 +1,91 @@ +// @ts-nocheck +import daikon from 'daikon'; +const concatDataViews = (dataViews: DataView[]): DataView => { + let length = 0; + let offset = 0; + + for (let ctr = 0; ctr < dataViews.length; ctr += 1) { + length += dataViews[ctr].byteLength; + } + + const tmp = new Uint8Array(length); + let dataView; + for (let ctr = 0; ctr < dataViews.length; ctr += 1) { + dataView = dataViews[ctr]; + tmp.set(new Uint8Array(dataView.buffer, dataView.byteOffset, dataView.byteLength), offset); + offset += dataViews[ctr].byteLength; + } + + return new DataView(tmp.buffer); +}; + +const JPEG_MAGIC_NUMBER = [0xFF, 0xD8]; +const JPEG2000_MAGIC_NUMBER = [0xFF, 0x4F, 0xFF, 0x51]; + +const isHeaderJPEG = (data: DataView): boolean => { + if (!data) { + return false; + } + if (data.getUint8(0) !== JPEG_MAGIC_NUMBER[0]) { + return false; + } + + if (data.getUint8(1) !== JPEG_MAGIC_NUMBER[1]) { + return false; + } + + return true; +}; + +const isHeaderJPEG2000 = (data: DataView): boolean => { + if (!data) { + return false; + } + for (let ctr = 0; ctr < JPEG2000_MAGIC_NUMBER.length; ctr += 1) { + if (data.getUint8(ctr) !== JPEG2000_MAGIC_NUMBER[ctr]) { + return false; + } + } + return true; +}; + +export const getJpegData = (inData: DataView): DataView[] => { + const encapTags = daikon.Series.parseImage(inData).getEncapsulatedData(); + const data: Array = []; + const dataConcat: DataView[] = []; + + let currentJpeg; + // organize data as an array of an array of JPEG parts + if (encapTags) { + const numTags = encapTags.length; + + for (let ctr = 0; ctr < numTags; ctr += 1) { + const dataView = encapTags[ctr].value as DataView; + if (isHeaderJPEG(dataView) + || isHeaderJPEG2000(dataView)) { + currentJpeg = []; + currentJpeg.push(dataView); + data.push(currentJpeg); + } + else if (currentJpeg && dataView) { + currentJpeg.push(dataView); + } + } + } + + // concat into an array of full JPEGs + for (let ctr = 0; ctr < data.length; ctr += 1) { + const buffers = data[ctr]; + if (buffers.length > 1) { + // TODO: this will be slow...is it necessary? + dataConcat[ctr] = concatDataViews(buffers); + } + else { + [dataConcat[ctr]] = data[ctr]; + } + + delete data[ctr]; + } + + return dataConcat; +}; \ No newline at end of file diff --git a/extension/provider.ts b/extension/provider.ts index 9ee81ab..17d299f 100644 --- a/extension/provider.ts +++ b/extension/provider.ts @@ -1,7 +1,188 @@ +// @ts-nocheck import * as vscode from 'vscode'; import { Buffer } from 'buffer'; import { NiftiDocument } from '../extension/document'; +import { dirname } from 'path'; +import daikon from 'daikon'; +import { appendFileSync, readFileSync, renameSync, existsSync, writeFileSync } from 'fs'; +import { v4 } from 'uuid'; +import * as temp from 'temp'; +import { assert } from 'console'; +import glob from 'fast-glob'; +import { OpenJPEGWASM } from './codec-openjpeg'; +import { getJpegData } from './getjpeg'; +temp.track(); +function toArrayBuffer(buffer: Uint8Array) { + const arrayBuffer = new ArrayBuffer(buffer.length); + const view = new Uint8Array(arrayBuffer); + for (let i = 0; i < buffer.length; ++i) { + view[i] = buffer[i]; + } + return arrayBuffer; +} + +const arrayMinMax = (arr) => + arr.reduce(([min, max], val) => [Math.min(min, val), Math.max(max, val)], [ + Number.POSITIVE_INFINITY, + Number.NEGATIVE_INFINITY, + ]); + + +async function dcm2nii(uri: vscode.Uri, outUri: vscode.Uri): Promise { + const openjpeg = await new OpenJPEGWASM(); + const dirUri = vscode.Uri.parse(dirname(uri.path)); + const firstImg = daikon.Series.parseImage(new DataView(toArrayBuffer(await vscode.workspace.fs.readFile(vscode.Uri.parse(uri))))); + const bitsAllocated = firstImg.getBitsAllocated(); + const bitpix = bitsAllocated > 16 ? 32 : bitsAllocated; + const data_type = bitsAllocated > 16 ? 16 : {16: 4, 8: 2}[bitsAllocated]; + const arrayType = bitsAllocated > 16 ? Float32Array : {16: Int16Array, 8: Int8Array}[bitsAllocated]; + const seriesUID = firstImg.getSeriesInstanceUID(); + const images = (await glob([dirUri.path + "/**/*.dcm"]).then(async (dcms) => { + return dcms.map(async (dcm) => { + //https://www.npmjs.com/package/@cornerstonejs/codec-openjpeg + let buffer = new DataView(toArrayBuffer(await vscode.workspace.fs.readFile(vscode.Uri.parse(dcm)))); + let series = daikon.Series.parseImage(buffer); + if (series.isCompressedJPEG2000()) { + const jpegDatas = getJpegData(buffer); + const jpegData = jpegDatas[0]; + + const decoder = new openjpeg.J2KDecoder(); + const pixelData = new Uint8Array(jpegData.buffer); + const encodedBuffer = decoder.getEncodedBuffer(pixelData.length); + encodedBuffer.set(pixelData); + decoder.decode(); + const decodedBuffer = new DataView(new Uint8Array(decoder.getDecodedBuffer()).buffer); + series.getPixelData = () => {return {'value': decodedBuffer};}; + series.isCompressed = () => false; + } + else{ + series.getPixelData = () => {return {'value': new DataView(new Uint8Array(new arrayType(series.getInterpretedData()).buffer).buffer)};}; + series.getDataScaleSlope = () => 1; + series.getDataScaleIntercept = () => 0; + } + return series; + }); + }).then((promises) => Promise.all(promises))).filter((img) => img.getSeriesInstanceUID() === seriesUID).sort((a, b) => { + const a_slic = a.getSliceLocation(); + const b_slic = b.getSliceLocation(); + return a_slic < b_slic ? -1 : a_slic > b_slic ? 1 : 0; + }); + const imgPath = outUri.path + "/" + v4(); + const series = new daikon.Series(); + let minVal = new arrayType(images[0].getInterpretedData())[0]; + let maxVal = new arrayType(images[0].getInterpretedData())[0]; + const l = new Uint8Array(images[0].getPixelData().value.buffer).length; + for (const image of images) { + if (image === null) { + console.error(daikon.Series.parserError); + } else if (image.hasPixelData()) { + const data = new Uint8Array(image.getPixelData().value.buffer); + const slope = image.getDataScaleSlope() || 1; + const intercept = image.getDataScaleIntercept() || 0; + const typedArray = new arrayType(data.buffer).map((el) => el * slope + intercept); + const [min, max] = arrayMinMax(typedArray); + if (max > maxVal) { maxVal = max; } + if (min < minVal) { minVal = min; } + assert(l === data.length); + assert(image.getBitsAllocated() === bitsAllocated); + appendFileSync(imgPath, new Uint8Array(typedArray.buffer)); + series.addImage(image); + } + } + if (firstImg.getWindowCenter() && firstImg.getWindowWidth()) { + minVal = new arrayType(firstImg.getWindowCenter())[0] - new arrayType(firstImg.getWindowWidth())[0] / 2; + maxVal = new arrayType(firstImg.getWindowCenter())[0] + new arrayType(firstImg.getWindowWidth())[0] / 2; + } + series.buildSeries(); + const ori = images[0].getTag(0x0020, 0x0037).value; + const firstPos = images[0].getTag(0x0020, 0x0032).value; + const lastPos = images[images.length - 1].getTag(0x0020, 0x0032).value; + const thi = images[0].getPixelSpacing(); + const n = images.length; + // https://brainder.org/2015/04/03/the-nifti-2-file-format/ + // https://core.ac.uk/download/pdf/79518053.pdf + const bytes = [ + new Uint8Array(new Int32Array([540]).buffer), // sizeof_hdr + Buffer.from("n+2"), // magic[0-2] + new Uint8Array(5), + new Uint8Array(new Int16Array([data_type]).buffer), // data_type + new Uint8Array(new Int16Array([bitpix]).buffer), // bitpix + new Uint8Array(new BigInt64Array([ + BigInt(3), // dim[0] + BigInt(series.images[0].getRows()), // dim[1] + BigInt(series.images[0].getCols()), // dim[2] + BigInt(series.images.length), // dim[3] + BigInt(1), // dim[4] + BigInt(1), // dim[5] + BigInt(1), // dim[6] + BigInt(1), // dim[7] + ]).buffer), + new Uint8Array(new Float64Array([ + 0, // intent_p1 + 0, // intent_p2 + 0, // intent_p3 + ]).buffer), + new Uint8Array(new Float64Array([ + 0, // pixdim[0] + ...series.images[0].getPixelSpacing(), // pixdim[1] pixdim[2] + series.images[0].getSliceThickness(), // pixdim[3] + 0, // pixdim[4] + 0, // pixdim[5] + 0, // pixdim[6] + 0, // pixdim[7] + ]).buffer), + new Uint8Array(new BigInt64Array([BigInt(544)]).buffer), // vox_offset + new Uint8Array(new Float64Array([ + 1, // scl_slope + 0, // scl_inter + // 0, //1, // scl_slope + // 0, //0, // scl_inter + maxVal, // cal_max + minVal, // cal_min + 0, // slice_duration + 0, // toffset + ]).buffer), + new Uint8Array(new BigInt64Array([ + BigInt(0), // slice_start + BigInt(0) // slice_end + ]).buffer), + new Uint8Array(80), // descrip[80] // some + new Uint8Array(24), // aux_file[24] // none + new Uint8Array(new Int32Array([ + 0, // qform_code + 4, // sform_code + ]).buffer), + new Uint8Array(new Float64Array([ + 0, // quatern_b + 0, // quatern_c + 0, // quatern_d + ...images[0].getImagePosition(), // qoffset_x qoffset_y qoffset_z + -ori[0]*thi[0], -ori[3]*thi[1], -(lastPos[0] - firstPos[0]) / (n - 1), -firstPos[0], // srow_x[4] + -ori[1]*thi[0], -ori[4]*thi[1], -(lastPos[1] - firstPos[1]) / (n - 1), -firstPos[1], // srow_y[4] + ori[2]*thi[0], ori[5]*thi[1], (lastPos[2] - firstPos[2]) / (n - 1), firstPos[2] // srow_z[4] + // -1, 0, 0, 0, // srow_x[4] + // 0, -1, 0, 0, // srow_y[4] + // 0, 0, 1, 0 // srow_z[4] + ]).buffer), + new Uint8Array(new Int32Array([ + 0, // slice_code + 2, // xyzt_units + 0, // intent_code + ]).buffer), + new Uint8Array(16), // intent_name[16] + new Uint8Array(1), // dim_info + new Uint8Array(15), // unused_str[15] + new Uint8Array(4), // additional 4 bytes + ]; + const hdrPath = outUri.path + "/" + v4(); + bytes.map((buf) => appendFileSync(hdrPath, buf)); + console.log(new Uint8Array(readFileSync(imgPath)).length); + appendFileSync(hdrPath, new Uint8Array(readFileSync(imgPath))); + const outcome = hdrPath + ".nii"; + renameSync(hdrPath, outcome); + return vscode.Uri.parse(outcome); +} export class NiftiEditorProvider implements vscode.CustomReadonlyEditorProvider { @@ -30,7 +211,22 @@ export class NiftiEditorProvider implements vscode.CustomReadonlyEditorProvider< uri: vscode.Uri ): Promise { console.log(`Open document ${uri}`); - const data: Uint8Array = await vscode.workspace.fs.readFile(uri); + let data: Uint8Array = await vscode.workspace.fs.readFile(uri); + if (uri.path.endsWith(".dcm")) { + const seriesUID = daikon.Series.parseImage(new DataView(toArrayBuffer(await vscode.workspace.fs.readFile(vscode.Uri.parse(uri))))).getSeriesInstanceUID(); + let cache = this._context.globalState.get('neuro-viewer') || {}; + let uriNii = null; + if (seriesUID in cache && existsSync(cache[seriesUID])) { + uriNii = vscode.Uri.parse(cache[seriesUID]); + } + else { + const outDir = temp.mkdirSync(v4()); + uriNii = await dcm2nii(uri, vscode.Uri.parse(outDir)); + cache[seriesUID] = uriNii.path; + this._context.globalState.update('neuro-viewer', cache); + } + data = await vscode.workspace.fs.readFile(uriNii); + } const document: NiftiDocument = new NiftiDocument(uri, data); return document; } diff --git a/package-lock.json b/package-lock.json index e3966cb..50ee06a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,13 @@ "version": "0.0.14", "dependencies": { "@vscode/codicons": "^0.0.29", + "console": "^0.7.2", + "constants": "^0.0.2", + "daikon": "^1.2.43", + "os": "^0.1.2", + "path": "^0.12.7", "process": "^0.11.10", + "temp": "^0.9.4", "uuid": "^8.3.2" }, "devDependencies": { @@ -18,6 +24,7 @@ "@types/glob": "^7.2.0", "@types/mocha": "^9.1.0", "@types/node": "^17.0.21", + "@types/temp": "^0.9.1", "@types/uuid": "^8.3.4", "@types/vscode": "^1.64.0", "@typescript-eslint/eslint-plugin": "^5.14.0", @@ -42,7 +49,7 @@ "typescript": "^4.6.2", "util": "^0.12.4", "vsce": "^2.7.0", - "webpack": "^5.70.0", + "webpack": "^5.81.0", "webpack-cli": "^4.9.2" }, "engines": { @@ -50,58 +57,59 @@ } }, "node_modules/@ampproject/remapping": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", - "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.0" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", "dev": true, "dependencies": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.0.tgz", - "integrity": "sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", + "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.17.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.5.tgz", - "integrity": "sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.3", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helpers": "^7.17.2", - "@babel/parser": "^7.17.3", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", - "@babel/types": "^7.17.0", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", + "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.4", + "@babel/helper-compilation-targets": "^7.21.4", + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.4", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.4", + "@babel/types": "^7.21.4", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", + "json5": "^2.2.2", "semver": "^6.3.0" }, "engines": { @@ -122,28 +130,30 @@ } }, "node_modules/@babel/generator": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz", - "integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", + "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", "dev": true, "dependencies": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.21.4", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", - "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", + "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", + "@babel/compat-data": "^7.21.4", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", "semver": "^6.3.0" }, "engines": { @@ -163,149 +173,142 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", - "dev": true, - "dependencies": { - "@babel/helper-get-function-arity": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.21.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.17.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.6.tgz", - "integrity": "sha512-2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA==", + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", - "@babel/types": "^7.17.0" + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", - "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.20.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.17.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.2.tgz", - "integrity": "sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", "dev": true, "dependencies": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.0", - "@babel/types": "^7.17.0" + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -351,13 +354,13 @@ "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "engines": { "node": ">=0.8.0" @@ -366,7 +369,7 @@ "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "engines": { "node": ">=4" @@ -385,9 +388,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz", - "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", + "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -397,33 +400,33 @@ } }, "node_modules/@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz", - "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.3", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.3", - "@babel/types": "^7.17.0", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz", + "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.4", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.4", + "@babel/types": "^7.21.4", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -441,39 +444,41 @@ } }, "node_modules/@babel/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", - "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", + "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@cspotcode/source-map-consumer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", - "dev": true, - "engines": { - "node": ">= 12" - } - }, "node_modules/@cspotcode/source-map-support": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", - "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "dependencies": { - "@cspotcode/source-map-consumer": "0.8.0" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { "node": ">=12" } }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", @@ -483,24 +488,51 @@ "node": ">=10.0.0" } }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz", + "integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz", - "integrity": "sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", + "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.1", - "globals": "^13.9.0", + "espree": "^9.5.1", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/@eslint/eslintrc/node_modules/argparse": { @@ -521,20 +553,42 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/@eslint/js": { + "version": "8.39.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.39.0.tgz", + "integrity": "sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", - "minimatch": "^3.0.4" + "minimatch": "^3.0.5" }, "engines": { "node": ">=10.10.0" } }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -609,15 +663,6 @@ "node": ">=8" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/@istanbuljs/nyc-config-typescript": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@istanbuljs/nyc-config-typescript/-/nyc-config-typescript-1.0.2.tgz", @@ -643,9 +688,9 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", @@ -657,9 +702,9 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", - "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true, "engines": { "node": ">=6.0.0" @@ -675,9 +720,9 @@ } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", @@ -685,21 +730,27 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.11", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", - "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==", + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, "node_modules/@koa/router": { "version": "10.1.1", "resolved": "https://registry.npmjs.org/@koa/router/-/router-10.1.1.tgz", @@ -761,39 +812,39 @@ } }, "node_modules/@tsconfig/node10": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", "dev": true }, "node_modules/@tsconfig/node12": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", "dev": true }, "node_modules/@tsconfig/node14": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", "dev": true }, "node_modules/@tsconfig/node16": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, "node_modules/@types/chai": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.0.tgz", - "integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz", + "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", "dev": true }, "node_modules/@types/eslint": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", - "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.37.0.tgz", + "integrity": "sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==", "dev": true, "dependencies": { "@types/estree": "*", @@ -801,9 +852,9 @@ } }, "node_modules/@types/eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", "dev": true, "dependencies": { "@types/eslint": "*", @@ -811,9 +862,9 @@ } }, "node_modules/@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", "dev": true }, "node_modules/@types/glob": { @@ -827,29 +878,44 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", "dev": true }, "node_modules/@types/mocha": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.0.tgz", - "integrity": "sha512-QCWHkbMv4Y5U9oW10Uxbr45qMMSzl4OzijsozynUAgx3kEHUdXB00udx2dWDQ7f2TU2a2uuiFaRZjCe3unPpeg==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz", + "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==", "dev": true }, "node_modules/@types/node": { - "version": "17.0.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.21.tgz", - "integrity": "sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==", + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", "dev": true }, + "node_modules/@types/temp": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@types/temp/-/temp-0.9.1.tgz", + "integrity": "sha512-yDQ8Y+oQi9V7VkexwE6NBSVyNuyNFeGI275yWXASc2DjmxNicMi9O50KxDpNlST1kBbV9jKYBHGXhgNYFMPqtA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/uuid": { "version": "8.3.4", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", @@ -857,35 +923,26 @@ "dev": true }, "node_modules/@types/vscode": { - "version": "1.65.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.65.0.tgz", - "integrity": "sha512-wQhExnh2nEzpjDMSKhUvnNmz3ucpd3E+R7wJkOhBNK3No6fG3VUdmVmMOKD0A8NDZDDDiQcLNxe3oGmX5SjJ5w==", + "version": "1.77.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.77.0.tgz", + "integrity": "sha512-MWFN5R7a33n8eJZJmdVlifjig3LWUNRrPeO1xemIcZ0ae0TEQuRc7G2xV0LUX78RZFECY1plYBn+dP/Acc3L0Q==", "dev": true }, - "node_modules/@types/yauzl": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", - "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", - "dev": true, - "optional": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.14.0.tgz", - "integrity": "sha512-ir0wYI4FfFUDfLcuwKzIH7sMVA+db7WYen47iRSaCGl+HMAZI9fpBwfDo45ZALD3A45ZGyHWDNLhbg8tZrMX4w==", + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.0.tgz", + "integrity": "sha512-p0QgrEyrxAWBecR56gyn3wkG15TJdI//eetInP3zYRewDh0XS+DhB3VUAd3QqvziFsfaQIoIuZMxZRB7vXYaYw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.14.0", - "@typescript-eslint/type-utils": "5.14.0", - "@typescript-eslint/utils": "5.14.0", - "debug": "^4.3.2", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.2.0", - "semver": "^7.3.5", + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.0", + "@typescript-eslint/type-utils": "5.59.0", + "@typescript-eslint/utils": "5.59.0", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", "tsutils": "^3.21.0" }, "engines": { @@ -906,15 +963,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.14.0.tgz", - "integrity": "sha512-aHJN8/FuIy1Zvqk4U/gcO/fxeMKyoSv/rS46UXMXOJKVsLQ+iYPuXNbpbH7cBLcpSbmyyFbwrniLx5+kutu1pw==", + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.0.tgz", + "integrity": "sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.14.0", - "@typescript-eslint/types": "5.14.0", - "@typescript-eslint/typescript-estree": "5.14.0", - "debug": "^4.3.2" + "@typescript-eslint/scope-manager": "5.59.0", + "@typescript-eslint/types": "5.59.0", + "@typescript-eslint/typescript-estree": "5.59.0", + "debug": "^4.3.4" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -933,13 +990,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.14.0.tgz", - "integrity": "sha512-LazdcMlGnv+xUc5R4qIlqH0OWARyl2kaP8pVCS39qSL3Pd1F7mI10DbdXeARcE62sVQE4fHNvEqMWsypWO+yEw==", + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.0.tgz", + "integrity": "sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.14.0", - "@typescript-eslint/visitor-keys": "5.14.0" + "@typescript-eslint/types": "5.59.0", + "@typescript-eslint/visitor-keys": "5.59.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -950,13 +1007,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.14.0.tgz", - "integrity": "sha512-d4PTJxsqaUpv8iERTDSQBKUCV7Q5yyXjqXUl3XF7Sd9ogNLuKLkxz82qxokqQ4jXdTPZudWpmNtr/JjbbvUixw==", + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.0.tgz", + "integrity": "sha512-d/B6VSWnZwu70kcKQSCqjcXpVH+7ABKH8P1KNn4K7j5PXXuycZTPXF44Nui0TEm6rbWGi8kc78xRgOC4n7xFgA==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.14.0", - "debug": "^4.3.2", + "@typescript-eslint/typescript-estree": "5.59.0", + "@typescript-eslint/utils": "5.59.0", + "debug": "^4.3.4", "tsutils": "^3.21.0" }, "engines": { @@ -976,9 +1034,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.14.0.tgz", - "integrity": "sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw==", + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.0.tgz", + "integrity": "sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -989,17 +1047,17 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.14.0.tgz", - "integrity": "sha512-QGnxvROrCVtLQ1724GLTHBTR0lZVu13izOp9njRvMkCBgWX26PKvmMP8k82nmXBRD3DQcFFq2oj3cKDwr0FaUA==", + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.0.tgz", + "integrity": "sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.14.0", - "@typescript-eslint/visitor-keys": "5.14.0", - "debug": "^4.3.2", - "globby": "^11.0.4", + "@typescript-eslint/types": "5.59.0", + "@typescript-eslint/visitor-keys": "5.59.0", + "debug": "^4.3.4", + "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.5", + "semver": "^7.3.7", "tsutils": "^3.21.0" }, "engines": { @@ -1016,17 +1074,19 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.14.0.tgz", - "integrity": "sha512-EHwlII5mvUA0UsKYnVzySb/5EE/t03duUTweVy8Zqt3UQXBrpEVY144OTceFKaOe4xQXZJrkptCf7PjEBeGK4w==", + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.0.tgz", + "integrity": "sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA==", "dev": true, "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.14.0", - "@typescript-eslint/types": "5.14.0", - "@typescript-eslint/typescript-estree": "5.14.0", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.0", + "@typescript-eslint/types": "5.59.0", + "@typescript-eslint/typescript-estree": "5.59.0", "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" + "semver": "^7.3.7" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1040,13 +1100,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.14.0.tgz", - "integrity": "sha512-yL0XxfzR94UEkjBqyymMLgCBdojzEuy/eim7N9/RIcTNxpJudAcqsU8eRyfzBbcEzGoPWfdM3AGak3cN08WOIw==", + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.0.tgz", + "integrity": "sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.14.0", - "eslint-visitor-keys": "^3.0.0" + "@typescript-eslint/types": "5.59.0", + "eslint-visitor-keys": "^3.3.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1068,18 +1128,18 @@ "integrity": "sha512-AXhTv1nl3r4W5DqAfXXKiawQNW+tLBNlXn/GcsnFCL0j17sQ2AY+az9oB9K6wjkibq1fndNJvmT8RYN712Fdww==" }, "node_modules/@vscode/test-electron": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.1.3.tgz", - "integrity": "sha512-ps/yJ/9ToUZtR1dHfWi1mDXtep1VoyyrmGKC3UnIbScToRQvbUjyy1VMqnMEW3EpMmC3g7+pyThIPtPyCLHyow==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.3.0.tgz", + "integrity": "sha512-fwzA9RtazH1GT/sckYlbxu6t5e4VaMXwCVtyLv4UAG0hP6NTfnMaaG25XCfWqlVwFhBMcQXHBCy5dmz2eLUnkw==", "dev": true, "dependencies": { "http-proxy-agent": "^4.0.1", "https-proxy-agent": "^5.0.0", - "rimraf": "^3.0.2", - "unzipper": "^0.10.11" + "jszip": "^3.10.1", + "semver": "^7.3.8" }, "engines": { - "node": ">=8.9.3" + "node": ">=16" } }, "node_modules/@vscode/test-web": { @@ -1132,155 +1192,155 @@ } }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.5.tgz", + "integrity": "sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ==", "dev": true, "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + "@webassemblyjs/helper-numbers": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.5.tgz", + "integrity": "sha512-1j1zTIC5EZOtCplMBG/IEwLtUojtwFVwdyVMbL/hwWqbzlQoJsWCOavrdnLkemwNoC/EOwtUFch3fuo+cbcXYQ==", "dev": true }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.5.tgz", + "integrity": "sha512-L65bDPmfpY0+yFrsgz8b6LhXmbbs38OnwDCf6NpnMUYqa+ENfE5Dq9E42ny0qz/PdR0LJyq/T5YijPnU8AXEpA==", "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.5.tgz", + "integrity": "sha512-fDKo1gstwFFSfacIeH5KfwzjykIE6ldh1iH9Y/8YkAZrhmu4TctqYjSh7t0K2VyDSXOZJ1MLhht/k9IvYGcIxg==", "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.5.tgz", + "integrity": "sha512-DhykHXM0ZABqfIGYNv93A5KKDw/+ywBFnuWybZZWcuzWHfbp21wUfRkbtz7dMGwGgT4iXjWuhRMA2Mzod6W4WA==", "dev": true, "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/floating-point-hex-parser": "1.11.5", + "@webassemblyjs/helper-api-error": "1.11.5", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.5.tgz", + "integrity": "sha512-oC4Qa0bNcqnjAowFn7MPCETQgDYytpsfvz4ujZz63Zu/a/v71HeCAAmZsgZ3YVKec3zSPYytG3/PrRCqbtcAvA==", "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.5.tgz", + "integrity": "sha512-uEoThA1LN2NA+K3B9wDo3yKlBfVtC6rh0i4/6hvbz071E8gTNZD/pT0MsBf7MeD6KbApMSkaAK0XeKyOZC7CIA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.5.tgz", + "integrity": "sha512-37aGq6qVL8A8oPbPrSGMBcp38YZFXcHfiROflJn9jxSdSMMM5dS5P/9e2/TpaJuhE+wFrbukN2WI6Hw9MH5acg==", "dev": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.5.tgz", + "integrity": "sha512-ajqrRSXaTJoPW+xmkfYN6l8VIeNnR4vBOTQO9HzR7IygoCcKWkICbKFbVTNMjMgMREqXEr0+2M6zukzM47ZUfQ==", "dev": true, "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.5.tgz", + "integrity": "sha512-WiOhulHKTZU5UPlRl53gHR8OxdGsSOxqfpqWeA2FmcwBMaoEdz6b2x2si3IwC9/fSPLfe8pBMRTHVMk5nlwnFQ==", "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.5.tgz", + "integrity": "sha512-C0p9D2fAu3Twwqvygvf42iGCQ4av8MFBLiTb+08SZ4cEdwzWx9QeAHDo1E2k+9s/0w1DM40oflJOpkZ8jW4HCQ==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/helper-wasm-section": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5", + "@webassemblyjs/wasm-opt": "1.11.5", + "@webassemblyjs/wasm-parser": "1.11.5", + "@webassemblyjs/wast-printer": "1.11.5" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.5.tgz", + "integrity": "sha512-14vteRlRjxLK9eSyYFvw1K8Vv+iPdZU0Aebk3j6oB8TQiQYuO6hj9s4d7qf6f2HJr2khzvNldAFG13CgdkAIfA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/ieee754": "1.11.5", + "@webassemblyjs/leb128": "1.11.5", + "@webassemblyjs/utf8": "1.11.5" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.5.tgz", + "integrity": "sha512-tcKwlIXstBQgbKy1MlbDMlXaxpucn42eb17H29rawYLxm5+MsEmgPzeCP8B1Cl69hCice8LeKgZpRUAPtqYPgw==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5", + "@webassemblyjs/wasm-parser": "1.11.5" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.5.tgz", + "integrity": "sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-api-error": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/ieee754": "1.11.5", + "@webassemblyjs/leb128": "1.11.5", + "@webassemblyjs/utf8": "1.11.5" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.5.tgz", + "integrity": "sha512-f7Pq3wvg3GSPUPzR0F6bmI89Hdb+u9WXrSKc4v+N0aV0q6r42WoF92Jp2jEorBEBRoRNXgjp53nBniDXcqZYPA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/ast": "1.11.5", "@xtuc/long": "4.2.2" } }, "node_modules/@webpack-cli/configtest": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz", - "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", + "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", "dev": true, "peerDependencies": { "webpack": "4.x.x || 5.x.x", @@ -1288,9 +1348,9 @@ } }, "node_modules/@webpack-cli/info": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz", - "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", + "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", "dev": true, "dependencies": { "envinfo": "^7.7.3" @@ -1300,9 +1360,9 @@ } }, "node_modules/@webpack-cli/serve": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz", - "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", + "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", "dev": true, "peerDependencies": { "webpack-cli": "4.x.x" @@ -1339,9 +1399,9 @@ } }, "node_modules/acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -1418,6 +1478,45 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, "node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", @@ -1461,9 +1560,9 @@ } }, "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "dependencies": { "normalize-path": "^3.0.0", @@ -1485,28 +1584,12 @@ "node": ">=8" } }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, "node_modules/archy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", "dev": true }, - "node_modules/are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "dev": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", @@ -1555,7 +1638,7 @@ "node_modules/assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true, "engines": { "node": ">=0.8" @@ -1573,7 +1656,7 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "dev": true }, "node_modules/available-typed-arrays": { @@ -1591,22 +1674,22 @@ "node_modules/aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "dev": true, "engines": { "node": "*" } }, "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", "dev": true }, "node_modules/azure-devops-node-api": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.1.1.tgz", - "integrity": "sha512-XDG91XzLZ15reP12s3jFkKS8oiagSICjnLwxEYieme4+4h3ZveFOFRA4iYIG40RyHXsiI0mefFYYMFIJbMpWcg==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.2.0.tgz", + "integrity": "sha512-XdiGPhrpaT5J8wdERRKs5g8E0Zy1pvOYTli7z9E8nmOn3YGp4FhtjhrOyFmX/8veWCwdI69mCHKJw6l+4J/bHA==", "dev": true, "dependencies": { "tunnel": "0.0.6", @@ -1616,8 +1699,7 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base64-js": { "version": "1.5.1", @@ -1651,37 +1733,21 @@ "node": ">= 0.8" } }, + "node_modules/basic-auth/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "dev": true, "dependencies": { "tweetnacl": "^0.14.3" } }, - "node_modules/big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/binary": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", - "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", - "dev": true, - "dependencies": { - "buffers": "~0.1.1", - "chainsaw": "~0.1.0" - }, - "engines": { - "node": "*" - } - }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -1692,47 +1758,25 @@ } }, "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" } }, - "node_modules/bluebird": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", - "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=", - "dev": true - }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", "dev": true }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1765,33 +1809,32 @@ "pako": "~1.0.5" } }, - "node_modules/browserify-zlib/node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, "node_modules/browserslist": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.0.tgz", - "integrity": "sha512-bnpOoa+DownbciXj0jVGENf8VYQnE2LNWomhYuCsMmmx9Jd9lwq0WXODuwpSsp8AVdKM2/HorrzxAfbKvWTByQ==", + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], "dependencies": { - "caniuse-lite": "^1.0.30001313", - "electron-to-chromium": "^1.4.76", - "escalade": "^3.1.1", - "node-releases": "^2.0.2", - "picocolors": "^1.0.0" + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" }, "bin": { "browserslist": "cli.js" }, "engines": { "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" } }, "node_modules/buffer": { @@ -1837,7 +1880,7 @@ "node_modules/buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true, "engines": { "node": "*" @@ -1846,7 +1889,7 @@ "node_modules/buffer-fill": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", "dev": true }, "node_modules/buffer-from": { @@ -1855,24 +1898,6 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, - "node_modules/buffer-indexof-polyfill": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", - "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/buffers": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", - "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=", - "dev": true, - "engines": { - "node": ">=0.2.0" - } - }, "node_modules/cache-content-type": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz", @@ -1901,6 +1926,30 @@ "node": ">=8" } }, + "node_modules/caching-transform/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caching-transform/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -1933,30 +1982,40 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001315", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001315.tgz", - "integrity": "sha512-5v7LFQU4Sb/qvkz7JcZkvtSH1Ko+1x2kgo3ocdBeMGZSOFpuE1kkm0kpTwLtWeFrw5qw08ulLxJjVIXIS8MkiQ==", + "version": "1.0.30001481", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz", + "integrity": "sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==", "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] }, "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", "dev": true }, "node_modules/chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", "dev": true, "dependencies": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", - "deep-eql": "^3.0.1", + "deep-eql": "^4.1.2", "get-func-name": "^2.0.0", "loupe": "^2.3.1", "pathval": "^1.1.1", @@ -1966,18 +2025,6 @@ "node": ">=4" } }, - "node_modules/chainsaw": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", - "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", - "dev": true, - "dependencies": { - "traverse": ">=0.3.0 <0.4" - }, - "engines": { - "node": "*" - } - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -1997,25 +2044,25 @@ "node_modules/check-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", "dev": true, "engines": { "node": "*" } }, "node_modules/cheerio": { - "version": "1.0.0-rc.10", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", - "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", "dev": true, "dependencies": { - "cheerio-select": "^1.5.0", - "dom-serializer": "^1.3.2", - "domhandler": "^4.2.0", - "htmlparser2": "^6.1.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "tslib": "^2.2.0" + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" }, "engines": { "node": ">= 6" @@ -2025,27 +2072,22 @@ } }, "node_modules/cheerio-select": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz", - "integrity": "sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", "dev": true, "dependencies": { - "css-select": "^4.1.3", - "css-what": "^5.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0", - "domutils": "^2.7.0" + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" }, "funding": { "url": "https://github.com/sponsors/fb55" } }, - "node_modules/cheerio/node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "dev": true - }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -2126,29 +2168,6 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", @@ -2166,22 +2185,13 @@ "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" } }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -2201,9 +2211,9 @@ "dev": true }, "node_modules/colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true }, "node_modules/combined-stream": { @@ -2230,20 +2240,26 @@ "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true + "node_modules/console": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/console/-/console-0.7.2.tgz", + "integrity": "sha512-+JSDwGunA4MTEgAV/4VBKwUHonP8CzJ/6GIuwPi6acKFqFfHUdSGCm89ZxZ5FfGWdZfkdgAroy5bJ5FSeN/t4g==" + }, + "node_modules/constants": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/constants/-/constants-0.0.2.tgz", + "integrity": "sha512-K8aYHRLm9Q/b/Im6CQESZdkH7fblazlncmqPujXt9DP5bxKfi7vVNjRKXx70SnnwCkW6R86o3AcSnkXL7XLq4g==", + "engines": { + "node": ">= 0.4" + } }, "node_modules/content-disposition": { "version": "0.5.4", @@ -2257,43 +2273,20 @@ "node": ">= 0.6" } }, - "node_modules/content-disposition/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true }, "node_modules/cookies": { "version": "0.8.0", @@ -2431,20 +2424,19 @@ } }, "node_modules/css-loader": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", - "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", + "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", "dev": true, - "license": "MIT", "dependencies": { "icss-utils": "^5.1.0", - "postcss": "^8.4.7", + "postcss": "^8.4.19", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", - "semver": "^7.3.5" + "semver": "^7.3.8" }, "engines": { "node": ">= 12.13.0" @@ -2458,15 +2450,15 @@ } }, "node_modules/css-select": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", - "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", "dev": true, "dependencies": { "boolbase": "^1.0.0", - "css-what": "^5.1.0", - "domhandler": "^4.3.0", - "domutils": "^2.8.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", "nth-check": "^2.0.1" }, "funding": { @@ -2474,9 +2466,9 @@ } }, "node_modules/css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true, "engines": { "node": ">= 6" @@ -2497,10 +2489,19 @@ "node": ">=4" } }, + "node_modules/daikon": { + "version": "1.2.43", + "resolved": "https://registry.npmjs.org/daikon/-/daikon-1.2.43.tgz", + "integrity": "sha512-M3WBMADPPPFhWtH+GHXwQRw5qVg98z+NlOndc4IMp9Q1uLLdK9qRZ4PcIT9Y6QhD5qwtCFyxuun/ySw1EUVYcA==", + "dependencies": { + "jpeg-lossless-decoder-js": "git+https://github.com/rii-mango/JPEGLosslessDecoderJS.git", + "pako": "^1.0.6" + } + }, "node_modules/dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dev": true, "dependencies": { "assert-plus": "^1.0.0" @@ -2510,9 +2511,9 @@ } }, "node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -2529,7 +2530,7 @@ "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -2583,43 +2584,6 @@ "node": ">=4" } }, - "node_modules/decompress-tar/node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dev": true, - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/decompress-tar/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-tar/node_modules/tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dev": true, - "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/decompress-tarbz2": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", @@ -2645,15 +2609,6 @@ "node": ">=4" } }, - "node_modules/decompress-tarbz2/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/decompress-targz": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", @@ -2668,19 +2623,10 @@ "node": ">=4" } }, - "node_modules/decompress-targz/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/decompress-unzip": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", "dev": true, "dependencies": { "file-type": "^3.8.0", @@ -2695,62 +2641,28 @@ "node_modules/decompress-unzip/node_modules/file-type": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-unzip/node_modules/get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", "dev": true, - "dependencies": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/decompress/node_modules/make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress/node_modules/make-dir/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, "dependencies": { "type-detect": "^4.0.0" }, "engines": { - "node": ">=0.12" + "node": ">=6" } }, "node_modules/deep-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==", "dev": true }, "node_modules/deep-extend": { @@ -2769,33 +2681,40 @@ "dev": true }, "node_modules/default-require-extensions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz", + "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==", "dev": true, "dependencies": { "strip-bom": "^4.0.0" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dev": true, "dependencies": { - "object-keys": "^1.0.12" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true, "engines": { "node": ">=0.4.0" @@ -2804,22 +2723,22 @@ "node_modules/delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", "dev": true }, "node_modules/depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/destroy": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.1.1.tgz", - "integrity": "sha512-jxwFW+yrVOLdwqIWvowFOM8UPdhZnvOF6mhXQQLXMxBDLtv2JVJlVJPEwkDv9prqscEtGtmnxuuI6pQKStK1vA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, "engines": { "node": ">= 0.8", @@ -2869,23 +2788,23 @@ } }, "node_modules/dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" }, "funding": { "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, "node_modules/domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true, "funding": [ { @@ -2895,12 +2814,12 @@ ] }, "node_modules/domhandler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", - "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dev": true, "dependencies": { - "domelementtype": "^2.2.0" + "domelementtype": "^2.3.0" }, "engines": { "node": ">= 4" @@ -2910,32 +2829,23 @@ } }, "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", "dev": true, "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" }, "funding": { "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.2" - } - }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dev": true, "dependencies": { "jsbn": "~0.1.0", @@ -2945,13 +2855,13 @@ "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.82", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.82.tgz", - "integrity": "sha512-Ks+ANzLoIrFDUOJdjxYMH6CMKB8UQo5modAwvSZTxgF+vEs/U7G5IbWFUp6dS4klPkTDVdxbORuk8xAXXhMsWw==", + "version": "1.4.369", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.369.tgz", + "integrity": "sha512-LfxbHXdA/S+qyoTEA4EbhxGjrxx7WK2h6yb5K2v0UCOufUKX+VZaHbl3svlzZfv9sGseym/g3Ne4DpsgRULmqg==", "dev": true }, "node_modules/emoji-regex": { @@ -2963,7 +2873,7 @@ "node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, "engines": { "node": ">= 0.8" @@ -2979,9 +2889,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz", - "integrity": "sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==", + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz", + "integrity": "sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -2992,10 +2902,13 @@ } }, "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, + "engines": { + "node": ">=0.12" + }, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -3012,62 +2925,11 @@ "node": ">=4" } }, - "node_modules/es-abstract": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", - "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.1", - "is-string": "^1.0.7", - "is-weakref": "^1.0.1", - "object-inspect": "^1.11.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true - }, - "node_modules/es-to-primitive": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", + "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==", + "dev": true }, "node_modules/es6-error": { "version": "4.1.1", @@ -3078,7 +2940,7 @@ "node_modules/es6-object-assign": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", - "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=", + "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==", "dev": true }, "node_modules/escalade": { @@ -3093,7 +2955,7 @@ "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "dev": true }, "node_modules/escape-string-regexp": { @@ -3109,47 +2971,51 @@ } }, "node_modules/eslint": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.11.0.tgz", - "integrity": "sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint/eslintrc": "^1.2.1", - "@humanwhocodes/config-array": "^0.9.2", + "version": "8.39.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.39.0.tgz", + "integrity": "sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.2", + "@eslint/js": "8.39.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.0", + "espree": "^9.5.1", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.6.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.1", - "regexpp": "^3.2.0", "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "text-table": "^0.2.0" }, "bin": { "eslint": "bin/eslint.js" @@ -3174,40 +3040,16 @@ "node": ">=8.0.0" } }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", + "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/argparse": { @@ -3217,9 +3059,9 @@ "dev": true }, "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", @@ -3227,6 +3069,9 @@ }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/estraverse": { @@ -3251,17 +3096,20 @@ } }, "node_modules/espree": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", + "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", "dev": true, "dependencies": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^3.3.0" + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/esprima": { @@ -3278,9 +3126,9 @@ } }, "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -3346,29 +3194,6 @@ "node": ">=0.8.x" } }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, "node_modules/expand-template": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", @@ -3384,45 +3209,10 @@ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, - "node_modules/extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" - }, - "engines": { - "node": ">= 10.17.0" - }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" - } - }, - "node_modules/extract-zip/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", "dev": true, "engines": [ "node >=0.6.0" @@ -3435,9 +3225,9 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -3471,19 +3261,22 @@ "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "node_modules/fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", - "dev": true + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } }, "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -3492,7 +3285,7 @@ "node_modules/fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, "dependencies": { "pend": "~1.2.0" @@ -3513,7 +3306,7 @@ "node_modules/file-type": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", "dev": true, "engines": { "node": ">=4" @@ -3548,6 +3341,30 @@ "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, + "node_modules/find-cache-dir/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-cache-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -3587,15 +3404,15 @@ } }, "node_modules/flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, "node_modules/follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "dev": true, "funding": [ { @@ -3612,11 +3429,14 @@ } } }, - "node_modules/foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } }, "node_modules/foreground-child": { "version": "2.0.0", @@ -3634,7 +3454,7 @@ "node_modules/forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "dev": true, "engines": { "node": "*" @@ -3657,7 +3477,7 @@ "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, "engines": { "node": ">= 0.6" @@ -3692,8 +3512,7 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { "version": "2.3.2", @@ -3709,82 +3528,12 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - }, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/fstream/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -3806,21 +3555,21 @@ "node_modules/get-func-name": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", "dev": true, "engines": { "node": "*" } }, "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", "dev": true, "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3836,37 +3585,22 @@ } }, "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dev": true, "dependencies": { "assert-plus": "^1.0.0" @@ -3875,29 +3609,9 @@ "node_modules/github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", "dev": true }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -3917,9 +3631,9 @@ "dev": true }, "node_modules/globals": { - "version": "13.12.1", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz", - "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==", + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -3951,10 +3665,28 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", "dev": true }, "node_modules/growl": { @@ -3969,7 +3701,7 @@ "node_modules/har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", "dev": true, "engines": { "node": ">=4" @@ -4001,15 +3733,6 @@ "node": ">= 0.4.0" } }, - "node_modules/has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -4019,6 +3742,18 @@ "node": ">=8" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -4046,12 +3781,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true - }, "node_modules/hasha": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", @@ -4068,6 +3797,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/hasha/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/hasha/node_modules/type-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", @@ -4098,6 +3839,24 @@ "node": ">=10" } }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", @@ -4105,9 +3864,9 @@ "dev": true }, "node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", @@ -4117,10 +3876,10 @@ } ], "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" } }, "node_modules/http-assert": { @@ -4169,7 +3928,7 @@ "node_modules/http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", "dev": true, "dependencies": { "assert-plus": "^1.0.0", @@ -4182,9 +3941,9 @@ } }, "node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, "dependencies": { "agent-base": "6", @@ -4194,15 +3953,6 @@ "node": ">= 6" } }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, "node_modules/icss-utils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", @@ -4236,14 +3986,20 @@ ] }, "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, "engines": { "node": ">= 4" } }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "dev": true + }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -4260,6 +4016,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/import-local": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", @@ -4282,7 +4047,7 @@ "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, "engines": { "node": ">=0.8.19" @@ -4300,8 +4065,7 @@ "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -4310,8 +4074,7 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { "version": "1.3.8", @@ -4319,20 +4082,6 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, - "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/interpret": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", @@ -4342,12 +4091,6 @@ "node": ">= 0.10" } }, - "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, "node_modules/is-arguments": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", @@ -4364,18 +4107,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -4388,26 +4119,10 @@ "node": ">=8" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, "engines": { "node": ">= 0.4" @@ -4429,9 +4144,9 @@ } }, "node_modules/is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -4440,40 +4155,22 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "dependencies": { - "number-is-nan": "^1.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/is-generator-function": { @@ -4522,21 +4219,9 @@ "node_modules/is-natural-number": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", "dev": true }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -4546,19 +4231,13 @@ "node": ">=0.12.0" } }, - "node_modules/is-number-object": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", - "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, "node_modules/is-plain-obj": { @@ -4582,83 +4261,25 @@ "node": ">=0.10.0" } }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", - "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, "node_modules/is-typed-array": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz", - "integrity": "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==", + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", "dev": true, "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", - "es-abstract": "^1.18.5", - "foreach": "^2.0.5", + "for-each": "^0.3.3", + "gopd": "^1.0.1", "has-tostringtag": "^1.0.0" }, "engines": { @@ -4671,7 +4292,7 @@ "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", "dev": true }, "node_modules/is-unicode-supported": { @@ -4686,18 +4307,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -4710,19 +4319,19 @@ "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, "engines": { "node": ">=0.10.0" @@ -4731,7 +4340,7 @@ "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", "dev": true }, "node_modules/istanbul-lib-coverage": { @@ -4780,33 +4389,22 @@ } }, "node_modules/istanbul-lib-processinfo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", - "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", + "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", "dev": true, "dependencies": { "archy": "^1.0.0", - "cross-spawn": "^7.0.0", - "istanbul-lib-coverage": "^3.0.0-alpha.1", - "make-dir": "^3.0.0", + "cross-spawn": "^7.0.3", + "istanbul-lib-coverage": "^3.2.0", "p-map": "^3.0.0", "rimraf": "^3.0.0", - "uuid": "^3.3.3" + "uuid": "^8.3.2" }, "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-processinfo/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/istanbul-lib-report": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", @@ -4821,6 +4419,30 @@ "node": ">=8" } }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", @@ -4835,19 +4457,10 @@ "node": ">=10" } }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/istanbul-reports": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", - "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", "dev": true, "dependencies": { "html-escaper": "^2.0.0", @@ -4886,11 +4499,20 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/jpeg-js": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", - "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==", - "dev": true + "node_modules/jpeg-lossless-decoder-js": { + "version": "2.0.4", + "resolved": "git+ssh://git@github.com/rii-mango/JPEGLosslessDecoderJS.git#78fe90c7cae985b1a394a66f99c81633144bb867", + "license": "MIT" + }, + "node_modules/js-sdsl": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", + "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } }, "node_modules/js-tokens": { "version": "4.0.0", @@ -4914,7 +4536,7 @@ "node_modules/jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", "dev": true }, "node_modules/jsesc": { @@ -4929,10 +4551,10 @@ "node": ">=4" } }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, "node_modules/json-schema": { @@ -4950,23 +4572,20 @@ "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true }, "node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, "bin": { "json5": "lib/cli.js" }, @@ -4989,6 +4608,18 @@ "node": ">=0.6.0" } }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "dev": true, + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, "node_modules/keygrip": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz", @@ -5022,9 +4653,9 @@ } }, "node_modules/koa": { - "version": "2.13.4", - "resolved": "https://registry.npmjs.org/koa/-/koa-2.13.4.tgz", - "integrity": "sha512-43zkIKubNbnrULWlHdN5h1g3SEKXOEzoAlRsHOTFpnlDu8JlAOZSMJBLULusuXRequboiwJcj5vtYXKB3k7+2g==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/koa/-/koa-2.14.2.tgz", + "integrity": "sha512-VFI2bpJaodz6P7x2uyLiX6RLYpZmOJqNmoCst/Yyd7hQlszyPwG/I9CQJ63nOtKSxpt5M7NH67V6nJL2BwCl7g==", "dev": true, "dependencies": { "accepts": "^1.3.5", @@ -5077,7 +4708,7 @@ "node_modules/koa-morgan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/koa-morgan/-/koa-morgan-1.0.1.tgz", - "integrity": "sha1-CAUuDODYOdPEMXi5CluzQkvvH5k=", + "integrity": "sha512-JOUdCNlc21G50afBXfErUrr1RKymbgzlrO5KURY+wmDG1Uvd2jmxUJcHgylb/mYXy2SjiNZyYim/ptUBGsIi3A==", "dev": true, "dependencies": { "morgan": "^1.6.1" @@ -5144,7 +4775,7 @@ "node_modules/lcov-parse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz", - "integrity": "sha1-6w1GtUER68VhrLTECO+TY73I9+A=", + "integrity": "sha512-aprLII/vPzuQvYZnDRU78Fns9I2Ag3gi4Ipga/hxnVMCZC8DnR2nI7XBqrPoywGfxqIx/DgarGvDJZAD3YBTgQ==", "dev": true, "bin": { "lcov-parse": "bin/cli.js" @@ -5172,6 +4803,15 @@ "node": ">= 0.8.0" } }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "dependencies": { + "immediate": "~3.0.5" + } + }, "node_modules/linkify-it": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", @@ -5181,16 +4821,10 @@ "uc.micro": "^1.0.1" } }, - "node_modules/listenercount": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", - "integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=", - "dev": true - }, "node_modules/loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true, "engines": { "node": ">=6.11.5" @@ -5214,7 +4848,7 @@ "node_modules/lodash.flattendeep": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", + "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", "dev": true }, "node_modules/lodash.merge": { @@ -5249,48 +4883,42 @@ } }, "node_modules/loupe": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", - "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", "dev": true, "dependencies": { "get-func-name": "^2.0.0" } }, "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "yallist": "^3.0.2" } }, "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "dependencies": { - "semver": "^6.0.0" + "pify": "^3.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">=4" } }, "node_modules/make-error": { @@ -5333,13 +4961,13 @@ "node_modules/mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", "dev": true }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, "engines": { "node": ">= 0.6" @@ -5363,20 +4991,20 @@ "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { "node": ">=8.6" @@ -5415,15 +5043,6 @@ "node": ">= 0.6" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/mimic-response": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", @@ -5440,7 +5059,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -5449,18 +5067,19 @@ } }, "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dependencies": { - "minimist": "^1.2.5" + "minimist": "^1.2.6" }, "bin": { "mkdirp": "bin/cmd.js" @@ -5521,26 +5140,81 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/mocha/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/mocha/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dev": true, "dependencies": { - "argparse": "^2.0.1" + "ms": "2.1.2" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/mocha/node_modules/minimatch": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", - "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, + "node_modules/mocha/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mocha/node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", + "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { "node": ">=10" } @@ -5551,6 +5225,15 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, + "node_modules/mocha/node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, "node_modules/mocha/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -5603,13 +5286,13 @@ "node_modules/morgan/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "node_modules/morgan/node_modules/on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", "dev": true, "dependencies": { "ee-first": "1.1.1" @@ -5651,7 +5334,13 @@ "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", "dev": true }, "node_modules/negotiator": { @@ -5670,9 +5359,9 @@ "dev": true }, "node_modules/node-abi": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.8.0.tgz", - "integrity": "sha512-tzua9qWWi7iW4I42vUPKM+SfaF0vQSLAm4yO5J83mSwB7GeoWrDKC/K+8YCnYNwqP5duwazbw2X9l4m8SC2cUw==", + "version": "3.40.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.40.0.tgz", + "integrity": "sha512-zNy02qivjjRosswoYmPi8hIKJRr8MpQyeKT6qlcq/OnOgA3Rhoae+IYOqsM9V5+JnHWmxKnWOT2GxvtqdtOCXA==", "dev": true, "dependencies": { "semver": "^7.3.5" @@ -5700,9 +5389,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", - "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==", + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", "dev": true }, "node_modules/normalize-path": { @@ -5714,34 +5403,10 @@ "node": ">=0.10.0" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, "node_modules/nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, "dependencies": { "boolbase": "^1.0.0" @@ -5750,15 +5415,6 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/nyc": { "version": "15.1.0", "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", @@ -5824,13 +5480,24 @@ "node": ">=8" } }, - "node_modules/nyc/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/nyc/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, "engines": { - "node": ">=8" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/nyc/node_modules/locate-path": { @@ -5845,6 +5512,21 @@ "node": ">=8" } }, + "node_modules/nyc/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/nyc/node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -5872,27 +5554,13 @@ "node": ">=8" } }, - "node_modules/nyc/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/nyc/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" + "bin": { + "semver": "bin/semver.js" } }, "node_modules/nyc/node_modules/wrap-ansi": { @@ -5962,16 +5630,16 @@ "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6002,24 +5670,6 @@ "node": ">= 0.4" } }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", @@ -6044,31 +5694,15 @@ "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dependencies": { "wrappy": "1" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/only": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz", - "integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=", + "integrity": "sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==", "dev": true }, "node_modules/optionator": { @@ -6088,6 +5722,11 @@ "node": ">= 0.8.0" } }, + "node_modules/os": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/os/-/os-0.1.2.tgz", + "integrity": "sha512-ZoXJkvAnljwvc56MbvhtKVWmSkzV712k42Is2mA0+0KTSRakq5XXuXpjZjgAt9ctzl51ojhQWakQQpmOvXWfjQ==" + }, "node_modules/ovsx": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/ovsx/-/ovsx-0.3.0.tgz", @@ -6174,6 +5813,11 @@ "node": ">=8" } }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -6189,7 +5833,7 @@ "node_modules/parse-semver": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", - "integrity": "sha1-mkr9bfBj3Egm+T+6SpnPIj9mbLg=", + "integrity": "sha512-Eg1OuNntBMH0ojvEKSrvDSnwLmvVuUOSdylH/pSCPNMIspLlweJyIWXCE+k/5hm3cj/EBUYwmWkjhBALNP4LXQ==", "dev": true, "dependencies": { "semver": "^5.1.0" @@ -6205,18 +5849,28 @@ } }, "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } }, "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", "dev": true, "dependencies": { - "parse5": "^6.0.1" + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, "node_modules/parseurl": { @@ -6228,6 +5882,15 @@ "node": ">= 0.8" } }, + "node_modules/path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", + "dependencies": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -6240,8 +5903,7 @@ "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "engines": { "node": ">=0.10.0" } @@ -6262,9 +5924,9 @@ "dev": true }, "node_modules/path-to-regexp": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.0.tgz", - "integrity": "sha512-f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", + "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==", "dev": true }, "node_modules/path-type": { @@ -6276,6 +5938,19 @@ "node": ">=8" } }, + "node_modules/path/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/path/node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dependencies": { + "inherits": "2.0.3" + } + }, "node_modules/pathval": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", @@ -6288,13 +5963,13 @@ "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true }, "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", "dev": true }, "node_modules/picocolors": { @@ -6318,7 +5993,7 @@ "node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, "engines": { "node": ">=0.10.0" @@ -6327,7 +6002,7 @@ "node_modules/pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", "dev": true, "engines": { "node": ">=0.10.0" @@ -6336,7 +6011,7 @@ "node_modules/pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "dev": true, "dependencies": { "pinkie": "^2.0.0" @@ -6410,97 +6085,59 @@ } }, "node_modules/playwright": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.19.2.tgz", - "integrity": "sha512-2JmGWr/Iw/Uu27bZULeHgjn8doNrRVxIYdhspMuMlfKNpzwAe/sfm7wH8uey6jiZxnPL4bC5V4ACQcF4dAGWnw==", + "version": "1.32.3", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.32.3.tgz", + "integrity": "sha512-h/ylpgoj6l/EjkfUDyx8cdOlfzC96itPpPe8BXacFkqpw/YsuxkpPyVbzEq4jw+bAJh5FLgh31Ljg2cR6HV3uw==", "dev": true, "hasInstallScript": true, "dependencies": { - "playwright-core": "1.19.2" + "playwright-core": "1.32.3" }, "bin": { "playwright": "cli.js" }, "engines": { - "node": ">=12" + "node": ">=14" } }, "node_modules/playwright-core": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.19.2.tgz", - "integrity": "sha512-OsL3sJZIo1UxKNWSP7zW7sk3FyUGG06YRHxHeBw51eIOxTCQRx5t+hXd0cvXashN2CHnd3hIZTs2aKa/im4hZQ==", + "version": "1.32.3", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.32.3.tgz", + "integrity": "sha512-SB+cdrnu74ZIn5Ogh/8278ngEh9NEEV0vR4sJFmK04h2iZpybfbqBY0bX6+BLYWVdV12JLLI+JEFtSnYgR+mWg==", "dev": true, - "dependencies": { - "commander": "8.3.0", - "debug": "4.3.3", - "extract-zip": "2.0.1", - "https-proxy-agent": "5.0.0", - "jpeg-js": "0.4.3", - "mime": "3.0.0", - "pngjs": "6.0.0", - "progress": "2.0.3", - "proper-lockfile": "4.1.2", - "proxy-from-env": "1.1.0", - "rimraf": "3.0.2", - "socks-proxy-agent": "6.1.1", - "stack-utils": "2.0.5", - "ws": "8.4.2", - "yauzl": "2.10.0", - "yazl": "2.5.1" - }, "bin": { "playwright": "cli.js" }, "engines": { - "node": ">=12" - } - }, - "node_modules/playwright-core/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true, - "engines": { - "node": ">= 12" - } - }, - "node_modules/playwright-core/node_modules/mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/pngjs": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", - "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", - "dev": true, - "engines": { - "node": ">=12.13.0" + "node": ">=14" } }, "node_modules/postcss": { - "version": "8.4.8", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.8.tgz", - "integrity": "sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ==", + "version": "8.4.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "nanoid": "^3.3.1", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, "engines": { "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" } }, "node_modules/postcss-modules-extract-imports": { @@ -6563,9 +6200,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", - "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -6581,10 +6218,28 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, + "node_modules/postcss/node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/prebuild-install": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.0.1.tgz", - "integrity": "sha512-QBSab31WqkyxpnMWQxubYAHR5S9B2+r81ucocew34Fkl98FhvKIF50jIJnNOBmAZfyNV7vE5T6gd3hTVWgY6tg==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", "dev": true, "dependencies": { "detect-libc": "^2.0.0", @@ -6594,7 +6249,6 @@ "mkdirp-classic": "^0.5.3", "napi-build-utils": "^1.0.1", "node-abi": "^3.3.0", - "npmlog": "^4.0.1", "pump": "^3.0.0", "rc": "^1.2.7", "simple-get": "^4.0.0", @@ -6620,7 +6274,7 @@ "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "engines": { "node": ">= 0.6.0" } @@ -6643,42 +6297,16 @@ "node": ">=8" } }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true }, - "node_modules/proper-lockfile": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", - "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "retry": "^0.12.0", - "signal-exit": "^3.0.2" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "dependencies": { "end-of-stream": "^1.1.0", @@ -6686,9 +6314,9 @@ } }, "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true, "engines": { "node": ">=6" @@ -6750,7 +6378,7 @@ "node_modules/rc/node_modules/strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true, "engines": { "node": ">=0.10.0" @@ -6759,7 +6387,7 @@ "node_modules/read": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==", "dev": true, "dependencies": { "mute-stream": "~0.0.4" @@ -6769,9 +6397,9 @@ } }, "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "dependencies": { "core-util-is": "~1.0.0", @@ -6783,6 +6411,12 @@ "util-deprecate": "~1.0.1" } }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -6807,22 +6441,10 @@ "node": ">= 0.10" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, "node_modules/release-zalgo": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", + "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", "dev": true, "dependencies": { "es6-error": "^4.0.1" @@ -6876,7 +6498,7 @@ "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, "engines": { "node": ">=0.10.0" @@ -6898,12 +6520,12 @@ "dev": true }, "node_modules/resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, "dependencies": { - "is-core-module": "^2.8.1", + "is-core-module": "^2.11.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -6926,7 +6548,7 @@ "node": ">=8" } }, - "node_modules/resolve-cwd/node_modules/resolve-from": { + "node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", @@ -6935,19 +6557,10 @@ "node": ">=8" } }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/resolve-path": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz", - "integrity": "sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc=", + "integrity": "sha512-i1xevIst/Qa+nA9olDxLWnLk8YZbi8R/7JPbCMcgyWaFR6bKWaexgJgEB5oc2PKMjYdrHynyz0NY+if+H98t1w==", "dev": true, "dependencies": { "http-errors": "~1.6.2", @@ -6960,7 +6573,7 @@ "node_modules/resolve-path/node_modules/http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", "dev": true, "dependencies": { "depd": "~1.1.2", @@ -6975,7 +6588,7 @@ "node_modules/resolve-path/node_modules/inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", "dev": true }, "node_modules/resolve-path/node_modules/setprototypeof": { @@ -6984,15 +6597,6 @@ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", "dev": true }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true, - "engines": { - "node": ">= 4" - } - }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -7018,6 +6622,26 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -7042,10 +6666,24 @@ } }, "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/safer-buffer": { "version": "2.1.2", @@ -7060,15 +6698,15 @@ "dev": true }, "node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz", + "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", + "ajv": "^8.9.0", "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" + "ajv-keywords": "^5.1.0" }, "engines": { "node": ">= 12.13.0" @@ -7079,9 +6717,9 @@ } }, "node_modules/schema-utils/node_modules/ajv": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", - "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -7094,23 +6732,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/schema-utils/node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, "node_modules/schema-utils/node_modules/ajv-keywords": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", @@ -7149,9 +6770,9 @@ "dev": true }, "node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -7163,10 +6784,28 @@ "node": ">=10" } }, - "node_modules/serialize-javascript": { + "node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -7175,13 +6814,13 @@ "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, "node_modules/setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", "dev": true }, "node_modules/setprototypeof": { @@ -7297,48 +6936,10 @@ "node": ">=8" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", - "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", - "dev": true, - "dependencies": { - "ip": "^1.1.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", - "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", - "dev": true, - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.1", - "socks": "^2.6.1" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { "node": ">=0.10.0" @@ -7363,15 +6964,6 @@ "source-map": "^0.6.0" } }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/spawn-wrap": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", @@ -7389,10 +6981,34 @@ "node": ">=8" } }, + "node_modules/spawn-wrap/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/spawn-wrap/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, "node_modules/sshpk": { @@ -7420,31 +7036,10 @@ "node": ">=0.10.0" } }, - "node_modules/stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true, "engines": { "node": ">= 0.6" @@ -7461,9 +7056,9 @@ } }, "node_modules/stream-browserify/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "dependencies": { "inherits": "^2.0.3", @@ -7483,65 +7078,24 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "ansi-regex": "^2.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, "node_modules/strip-ansi": { @@ -7574,15 +7128,6 @@ "is-natural-number": "^4.0.1" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -7596,9 +7141,9 @@ } }, "node_modules/style-loader": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz", - "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.2.tgz", + "integrity": "sha512-RHs/vcrKdQK8wZliteNK4NKzxvLBzpuHMqYmUVWeKa6MkaIQ97ZTOS0b+zapZhy6GcrgWnvWYCMHRirC3FsUmw==", "dev": true, "engines": { "node": ">= 12.13.0" @@ -7656,40 +7201,111 @@ "tar-stream": "^2.1.4" } }, - "node_modules/tar-stream": { + "node_modules/tar-fs/node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/tar-fs/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tar-fs/node_modules/tar-stream": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dev": true, "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">= 0.8.0" } }, - "node_modules/tar-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, + "node_modules/temp": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" }, "engines": { - "node": ">= 6" + "node": ">=6.0.0" + } + }, + "node_modules/temp/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, "node_modules/terser": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", - "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", + "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.2", @@ -7705,16 +7321,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", - "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", + "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", "dev": true, "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.2" + "serialize-javascript": "^6.0.1", + "terser": "^5.16.5" }, "engines": { "node": ">= 10.13.0" @@ -7739,9 +7355,9 @@ } }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", + "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", @@ -7756,15 +7372,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -7785,16 +7392,36 @@ "node": ">=8" } }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "node_modules/tmp": { @@ -7818,7 +7445,7 @@ "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, "engines": { "node": ">=4" @@ -7858,19 +7485,10 @@ "node": ">=0.8" } }, - "node_modules/traverse": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", - "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/ts-loader": { - "version": "9.2.8", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.8.tgz", - "integrity": "sha512-gxSak7IHUuRtwKf3FIPSW1VpZcqF9+MBrHOvBp9cjHh+525SjtCIJKVGjRKIAfxBwDGDGCFF00rTfzB1quxdSw==", + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.2.tgz", + "integrity": "sha512-OmlC4WVmFv5I0PpaxYb+qGeGOdm5giHU7HwDDUjw59emP2UYMHy9fFSDcYgSNoH8sXcj4hGCSEhlDZ9ULeDraA==", "dev": true, "dependencies": { "chalk": "^4.1.0", @@ -7887,12 +7505,12 @@ } }, "node_modules/ts-node": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", - "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", "dev": true, "dependencies": { - "@cspotcode/source-map-support": "0.7.0", + "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", @@ -7903,7 +7521,7 @@ "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.0", + "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" }, "bin": { @@ -7980,7 +7598,7 @@ "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dev": true, "dependencies": { "safe-buffer": "^5.0.1" @@ -7992,7 +7610,7 @@ "node_modules/tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", "dev": true }, "node_modules/type-check": { @@ -8042,9 +7660,9 @@ } }, "node_modules/typed-rest-client": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.6.tgz", - "integrity": "sha512-xcQpTEAJw2DP7GqVNECh4dD+riS+C1qndXLfBCJ3xk0kqprtGN491P5KlmrDbKdtuW8NEcP/5ChxiJI3S9WYTA==", + "version": "1.8.9", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.9.tgz", + "integrity": "sha512-uSmjE38B80wjL85UFX3sTYEUlvZ1JgCRhsWj/fJ4rZ0FqDUFoIuodtiVeE+cUqiVTOKPdKrp/sdftD15MDek6g==", "dev": true, "dependencies": { "qs": "^6.9.1", @@ -8053,9 +7671,9 @@ } }, "node_modules/typed-rest-client/node_modules/qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz", + "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==", "dev": true, "dependencies": { "side-channel": "^1.0.4" @@ -8077,9 +7695,9 @@ } }, "node_modules/typescript": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.2.tgz", - "integrity": "sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==", + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -8095,21 +7713,6 @@ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", "dev": true }, - "node_modules/unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/unbzip2-stream": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", @@ -8121,27 +7724,39 @@ } }, "node_modules/underscore": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz", - "integrity": "sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==", + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", "dev": true }, - "node_modules/unzipper": { - "version": "0.10.11", - "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.11.tgz", - "integrity": "sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw==", + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "big-integer": "^1.6.17", - "binary": "~0.3.0", - "bluebird": "~3.4.1", - "buffer-indexof-polyfill": "~1.0.0", - "duplexer2": "~0.1.4", - "fstream": "^1.0.12", - "graceful-fs": "^4.2.2", - "listenercount": "~1.0.1", - "readable-stream": "~2.3.6", - "setimmediate": "~1.0.4" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, "node_modules/uri-js": { @@ -8160,23 +7775,22 @@ "dev": true }, "node_modules/util": { - "version": "0.12.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", - "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", "dev": true, "dependencies": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", "is-generator-function": "^1.0.7", "is-typed-array": "^1.1.3", - "safe-buffer": "^5.1.2", "which-typed-array": "^1.1.2" } }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, "node_modules/uuid": { @@ -8187,22 +7801,16 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, "node_modules/v8-compile-cache-lib": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz", - "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true, "engines": { "node": ">= 0.8" @@ -8211,7 +7819,7 @@ "node_modules/verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "dev": true, "engines": [ "node >=0.6.0" @@ -8225,13 +7833,14 @@ "node_modules/verror/node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", "dev": true }, "node_modules/vsce": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/vsce/-/vsce-2.7.0.tgz", - "integrity": "sha512-CKU34wrQlbKDeJCRBkd1a8iwF9EvNxcYMg9hAUH6AxFGR6Wo2IKWwt3cJIcusHxx6XdjDHWlfAS/fJN30uvVnA==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/vsce/-/vsce-2.15.0.tgz", + "integrity": "sha512-P8E9LAZvBCQnoGoizw65JfGvyMqNGlHdlUXD1VAuxtvYAaHBKLBdKPnpy60XKVDAkQCfmMu53g+gq9FM+ydepw==", + "deprecated": "vsce has been renamed to @vscode/vsce. Install using @vscode/vsce instead.", "dev": true, "dependencies": { "azure-devops-node-api": "^11.0.1", @@ -8300,22 +7909,42 @@ "node_modules/vsce/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "node_modules/vsce/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "engines": { "node": ">=0.8.0" } }, + "node_modules/vsce/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/vsce/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "engines": { "node": ">=4" @@ -8343,15 +7972,15 @@ } }, "node_modules/vscode-uri": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.3.tgz", - "integrity": "sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz", + "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==", "dev": true }, "node_modules/watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -8362,34 +7991,34 @@ } }, "node_modules/webpack": { - "version": "5.70.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", - "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==", + "version": "5.81.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.81.0.tgz", + "integrity": "sha512-AAjaJ9S4hYCVODKLQTgG5p5e11hiMawBwV2v8MYLE0C/6UAGLuAF4n1qa9GOwdxnicaP+5k6M5HrLmD4+gIB8Q==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.2", - "es-module-lexer": "^0.9.0", + "enhanced-resolve": "^5.13.0", + "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.9", - "json-parse-better-errors": "^1.0.2", + "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", + "schema-utils": "^3.1.2", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", "webpack-sources": "^3.2.3" }, "bin": { @@ -8409,18 +8038,18 @@ } }, "node_modules/webpack-cli": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz", - "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", + "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", "dev": true, "dependencies": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.1", - "@webpack-cli/info": "^1.4.1", - "@webpack-cli/serve": "^1.6.1", + "@webpack-cli/configtest": "^1.2.0", + "@webpack-cli/info": "^1.5.0", + "@webpack-cli/serve": "^1.7.0", "colorette": "^2.0.14", "commander": "^7.0.0", - "execa": "^5.0.0", + "cross-spawn": "^7.0.3", "fastest-levenshtein": "^1.0.12", "import-local": "^3.0.2", "interpret": "^2.2.0", @@ -8433,6 +8062,10 @@ "engines": { "node": ">=10.13.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, "peerDependencies": { "webpack": "4.x.x || 5.x.x" }, @@ -8483,9 +8116,9 @@ } }, "node_modules/webpack/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", + "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", @@ -8515,40 +8148,24 @@ "node": ">= 8" } }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", "dev": true }, "node_modules/which-typed-array": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz", - "integrity": "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", "dev": true, "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", - "es-abstract": "^1.18.5", - "foreach": "^2.0.5", + "for-each": "^0.3.3", + "gopd": "^1.0.1", "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.7" + "is-typed-array": "^1.1.10" }, "engines": { "node": ">= 0.4" @@ -8557,15 +8174,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dev": true, - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, "node_modules/wildcard": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", @@ -8604,34 +8212,10 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/write-file-atomic": { "version": "3.0.3", @@ -8645,27 +8229,6 @@ "typedarray-to-buffer": "^3.1.5" } }, - "node_modules/ws": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", - "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/xml2js": { "version": "0.4.23", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", @@ -8707,9 +8270,9 @@ } }, "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, "node_modules/yargs": { @@ -8778,33 +8341,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, "dependencies": { "buffer-crc32": "~0.2.3", @@ -8821,9 +8361,9 @@ } }, "node_modules/ylru": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz", - "integrity": "sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.3.2.tgz", + "integrity": "sha512-RXRJzMiK6U2ye0BlGGZnmpwJDPgakn6aNQ0A7gHRbD4I0uvK4TW6UqkK1V0pp9jskjJBAXd3dRrbzWkqJ+6cxA==", "dev": true, "engines": { "node": ">= 4.0.0" @@ -8853,49 +8393,50 @@ }, "dependencies": { "@ampproject/remapping": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", - "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.0" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", "dev": true, "requires": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.18.6" } }, "@babel/compat-data": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.0.tgz", - "integrity": "sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", + "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", "dev": true }, "@babel/core": { - "version": "7.17.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.5.tgz", - "integrity": "sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.3", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helpers": "^7.17.2", - "@babel/parser": "^7.17.3", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", - "@babel/types": "^7.17.0", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", + "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.4", + "@babel/helper-compilation-targets": "^7.21.4", + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.4", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.4", + "@babel/types": "^7.21.4", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", + "json5": "^2.2.2", "semver": "^6.3.0" }, "dependencies": { @@ -8908,25 +8449,27 @@ } }, "@babel/generator": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz", - "integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", + "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", "dev": true, "requires": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.21.4", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" } }, "@babel/helper-compilation-targets": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", - "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", + "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", "dev": true, "requires": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", + "@babel/compat-data": "^7.21.4", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", "semver": "^6.3.0" }, "dependencies": { @@ -8939,116 +8482,109 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true }, "@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" } }, "@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" } }, "@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.21.4" } }, "@babel/helper-module-transforms": { - "version": "7.17.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.6.tgz", - "integrity": "sha512-2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA==", + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", - "@babel/types": "^7.17.0" + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" } }, "@babel/helper-simple-access": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", - "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.20.2" } }, "@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" } }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true + }, "@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true }, "@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", "dev": true }, "@babel/helpers": { - "version": "7.17.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.2.tgz", - "integrity": "sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", "dev": true, "requires": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.0", - "@babel/types": "^7.17.0" + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" } }, "@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -9085,19 +8621,19 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, "supports-color": { @@ -9112,36 +8648,36 @@ } }, "@babel/parser": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz", - "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", + "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", "dev": true }, "@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", "dev": true, "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" } }, "@babel/traverse": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz", - "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.3", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.3", - "@babel/types": "^7.17.0", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz", + "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.4", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.4", + "@babel/types": "^7.21.4", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -9155,28 +8691,35 @@ } }, "@babel/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", - "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", + "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" } }, - "@cspotcode/source-map-consumer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", - "dev": true - }, "@cspotcode/source-map-support": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", - "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "requires": { - "@cspotcode/source-map-consumer": "0.8.0" + "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } } }, "@discoveryjs/json-ext": { @@ -9185,20 +8728,35 @@ "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz", + "integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==", + "dev": true + }, "@eslint/eslintrc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz", - "integrity": "sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", + "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.1", - "globals": "^13.9.0", + "espree": "^9.5.1", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "dependencies": { @@ -9219,17 +8777,29 @@ } } }, + "@eslint/js": { + "version": "8.39.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.39.0.tgz", + "integrity": "sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==", + "dev": true + }, "@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", - "minimatch": "^3.0.4" + "minimatch": "^3.0.5" } }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, "@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -9284,13 +8854,7 @@ "dev": true, "requires": { "p-limit": "^2.2.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true + } } } }, @@ -9310,9 +8874,9 @@ "dev": true }, "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "requires": { "@jridgewell/set-array": "^1.0.1", @@ -9321,9 +8885,9 @@ } }, "@jridgewell/resolve-uri": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", - "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true }, "@jridgewell/set-array": { @@ -9333,9 +8897,9 @@ "dev": true }, "@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", "dev": true, "requires": { "@jridgewell/gen-mapping": "^0.3.0", @@ -9343,19 +8907,27 @@ } }, "@jridgewell/sourcemap-codec": { - "version": "1.4.11", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", - "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==", + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", "dev": true, "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + }, + "dependencies": { + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + } } }, "@koa/router": { @@ -9404,39 +8976,39 @@ "dev": true }, "@tsconfig/node10": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", "dev": true }, "@tsconfig/node12": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", "dev": true }, "@tsconfig/node14": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", "dev": true }, "@tsconfig/node16": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, "@types/chai": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.0.tgz", - "integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz", + "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", "dev": true }, "@types/eslint": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", - "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.37.0.tgz", + "integrity": "sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==", "dev": true, "requires": { "@types/estree": "*", @@ -9444,9 +9016,9 @@ } }, "@types/eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", "dev": true, "requires": { "@types/eslint": "*", @@ -9454,9 +9026,9 @@ } }, "@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", "dev": true }, "@types/glob": { @@ -9470,29 +9042,44 @@ } }, "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", "dev": true }, "@types/mocha": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.0.tgz", - "integrity": "sha512-QCWHkbMv4Y5U9oW10Uxbr45qMMSzl4OzijsozynUAgx3kEHUdXB00udx2dWDQ7f2TU2a2uuiFaRZjCe3unPpeg==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz", + "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==", "dev": true }, "@types/node": { - "version": "17.0.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.21.tgz", - "integrity": "sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==", + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "dev": true + }, + "@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", "dev": true }, + "@types/temp": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@types/temp/-/temp-0.9.1.tgz", + "integrity": "sha512-yDQ8Y+oQi9V7VkexwE6NBSVyNuyNFeGI275yWXASc2DjmxNicMi9O50KxDpNlST1kBbV9jKYBHGXhgNYFMPqtA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/uuid": { "version": "8.3.4", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", @@ -9500,114 +9087,108 @@ "dev": true }, "@types/vscode": { - "version": "1.65.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.65.0.tgz", - "integrity": "sha512-wQhExnh2nEzpjDMSKhUvnNmz3ucpd3E+R7wJkOhBNK3No6fG3VUdmVmMOKD0A8NDZDDDiQcLNxe3oGmX5SjJ5w==", + "version": "1.77.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.77.0.tgz", + "integrity": "sha512-MWFN5R7a33n8eJZJmdVlifjig3LWUNRrPeO1xemIcZ0ae0TEQuRc7G2xV0LUX78RZFECY1plYBn+dP/Acc3L0Q==", "dev": true }, - "@types/yauzl": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", - "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", - "dev": true, - "optional": true, - "requires": { - "@types/node": "*" - } - }, "@typescript-eslint/eslint-plugin": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.14.0.tgz", - "integrity": "sha512-ir0wYI4FfFUDfLcuwKzIH7sMVA+db7WYen47iRSaCGl+HMAZI9fpBwfDo45ZALD3A45ZGyHWDNLhbg8tZrMX4w==", + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.0.tgz", + "integrity": "sha512-p0QgrEyrxAWBecR56gyn3wkG15TJdI//eetInP3zYRewDh0XS+DhB3VUAd3QqvziFsfaQIoIuZMxZRB7vXYaYw==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.14.0", - "@typescript-eslint/type-utils": "5.14.0", - "@typescript-eslint/utils": "5.14.0", - "debug": "^4.3.2", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.2.0", - "semver": "^7.3.5", + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.0", + "@typescript-eslint/type-utils": "5.59.0", + "@typescript-eslint/utils": "5.59.0", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", "tsutils": "^3.21.0" } }, "@typescript-eslint/parser": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.14.0.tgz", - "integrity": "sha512-aHJN8/FuIy1Zvqk4U/gcO/fxeMKyoSv/rS46UXMXOJKVsLQ+iYPuXNbpbH7cBLcpSbmyyFbwrniLx5+kutu1pw==", + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.0.tgz", + "integrity": "sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.14.0", - "@typescript-eslint/types": "5.14.0", - "@typescript-eslint/typescript-estree": "5.14.0", - "debug": "^4.3.2" + "@typescript-eslint/scope-manager": "5.59.0", + "@typescript-eslint/types": "5.59.0", + "@typescript-eslint/typescript-estree": "5.59.0", + "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.14.0.tgz", - "integrity": "sha512-LazdcMlGnv+xUc5R4qIlqH0OWARyl2kaP8pVCS39qSL3Pd1F7mI10DbdXeARcE62sVQE4fHNvEqMWsypWO+yEw==", + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.0.tgz", + "integrity": "sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.14.0", - "@typescript-eslint/visitor-keys": "5.14.0" + "@typescript-eslint/types": "5.59.0", + "@typescript-eslint/visitor-keys": "5.59.0" } }, "@typescript-eslint/type-utils": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.14.0.tgz", - "integrity": "sha512-d4PTJxsqaUpv8iERTDSQBKUCV7Q5yyXjqXUl3XF7Sd9ogNLuKLkxz82qxokqQ4jXdTPZudWpmNtr/JjbbvUixw==", + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.0.tgz", + "integrity": "sha512-d/B6VSWnZwu70kcKQSCqjcXpVH+7ABKH8P1KNn4K7j5PXXuycZTPXF44Nui0TEm6rbWGi8kc78xRgOC4n7xFgA==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.14.0", - "debug": "^4.3.2", + "@typescript-eslint/typescript-estree": "5.59.0", + "@typescript-eslint/utils": "5.59.0", + "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.14.0.tgz", - "integrity": "sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw==", + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.0.tgz", + "integrity": "sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.14.0.tgz", - "integrity": "sha512-QGnxvROrCVtLQ1724GLTHBTR0lZVu13izOp9njRvMkCBgWX26PKvmMP8k82nmXBRD3DQcFFq2oj3cKDwr0FaUA==", + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.0.tgz", + "integrity": "sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.14.0", - "@typescript-eslint/visitor-keys": "5.14.0", - "debug": "^4.3.2", - "globby": "^11.0.4", + "@typescript-eslint/types": "5.59.0", + "@typescript-eslint/visitor-keys": "5.59.0", + "debug": "^4.3.4", + "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.5", + "semver": "^7.3.7", "tsutils": "^3.21.0" } }, "@typescript-eslint/utils": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.14.0.tgz", - "integrity": "sha512-EHwlII5mvUA0UsKYnVzySb/5EE/t03duUTweVy8Zqt3UQXBrpEVY144OTceFKaOe4xQXZJrkptCf7PjEBeGK4w==", + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.0.tgz", + "integrity": "sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA==", "dev": true, "requires": { + "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.14.0", - "@typescript-eslint/types": "5.14.0", - "@typescript-eslint/typescript-estree": "5.14.0", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.0", + "@typescript-eslint/types": "5.59.0", + "@typescript-eslint/typescript-estree": "5.59.0", "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" + "semver": "^7.3.7" } }, "@typescript-eslint/visitor-keys": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.14.0.tgz", - "integrity": "sha512-yL0XxfzR94UEkjBqyymMLgCBdojzEuy/eim7N9/RIcTNxpJudAcqsU8eRyfzBbcEzGoPWfdM3AGak3cN08WOIw==", + "version": "5.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.0.tgz", + "integrity": "sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.14.0", - "eslint-visitor-keys": "^3.0.0" + "@typescript-eslint/types": "5.59.0", + "eslint-visitor-keys": "^3.3.0" } }, "@ungap/promise-all-settled": { @@ -9622,15 +9203,15 @@ "integrity": "sha512-AXhTv1nl3r4W5DqAfXXKiawQNW+tLBNlXn/GcsnFCL0j17sQ2AY+az9oB9K6wjkibq1fndNJvmT8RYN712Fdww==" }, "@vscode/test-electron": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.1.3.tgz", - "integrity": "sha512-ps/yJ/9ToUZtR1dHfWi1mDXtep1VoyyrmGKC3UnIbScToRQvbUjyy1VMqnMEW3EpMmC3g7+pyThIPtPyCLHyow==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.3.0.tgz", + "integrity": "sha512-fwzA9RtazH1GT/sckYlbxu6t5e4VaMXwCVtyLv4UAG0hP6NTfnMaaG25XCfWqlVwFhBMcQXHBCy5dmz2eLUnkw==", "dev": true, "requires": { "http-proxy-agent": "^4.0.1", "https-proxy-agent": "^5.0.0", - "rimraf": "^3.0.2", - "unzipper": "^0.10.11" + "jszip": "^3.10.1", + "semver": "^7.3.8" } }, "@vscode/test-web": { @@ -9673,171 +9254,171 @@ } }, "@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.5.tgz", + "integrity": "sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ==", "dev": true, "requires": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + "@webassemblyjs/helper-numbers": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.5.tgz", + "integrity": "sha512-1j1zTIC5EZOtCplMBG/IEwLtUojtwFVwdyVMbL/hwWqbzlQoJsWCOavrdnLkemwNoC/EOwtUFch3fuo+cbcXYQ==", "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.5.tgz", + "integrity": "sha512-L65bDPmfpY0+yFrsgz8b6LhXmbbs38OnwDCf6NpnMUYqa+ENfE5Dq9E42ny0qz/PdR0LJyq/T5YijPnU8AXEpA==", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.5.tgz", + "integrity": "sha512-fDKo1gstwFFSfacIeH5KfwzjykIE6ldh1iH9Y/8YkAZrhmu4TctqYjSh7t0K2VyDSXOZJ1MLhht/k9IvYGcIxg==", "dev": true }, "@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.5.tgz", + "integrity": "sha512-DhykHXM0ZABqfIGYNv93A5KKDw/+ywBFnuWybZZWcuzWHfbp21wUfRkbtz7dMGwGgT4iXjWuhRMA2Mzod6W4WA==", "dev": true, "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/floating-point-hex-parser": "1.11.5", + "@webassemblyjs/helper-api-error": "1.11.5", "@xtuc/long": "4.2.2" } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.5.tgz", + "integrity": "sha512-oC4Qa0bNcqnjAowFn7MPCETQgDYytpsfvz4ujZz63Zu/a/v71HeCAAmZsgZ3YVKec3zSPYytG3/PrRCqbtcAvA==", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.5.tgz", + "integrity": "sha512-uEoThA1LN2NA+K3B9wDo3yKlBfVtC6rh0i4/6hvbz071E8gTNZD/pT0MsBf7MeD6KbApMSkaAK0XeKyOZC7CIA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5" } }, "@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.5.tgz", + "integrity": "sha512-37aGq6qVL8A8oPbPrSGMBcp38YZFXcHfiROflJn9jxSdSMMM5dS5P/9e2/TpaJuhE+wFrbukN2WI6Hw9MH5acg==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.5.tgz", + "integrity": "sha512-ajqrRSXaTJoPW+xmkfYN6l8VIeNnR4vBOTQO9HzR7IygoCcKWkICbKFbVTNMjMgMREqXEr0+2M6zukzM47ZUfQ==", "dev": true, "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.5.tgz", + "integrity": "sha512-WiOhulHKTZU5UPlRl53gHR8OxdGsSOxqfpqWeA2FmcwBMaoEdz6b2x2si3IwC9/fSPLfe8pBMRTHVMk5nlwnFQ==", "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.5.tgz", + "integrity": "sha512-C0p9D2fAu3Twwqvygvf42iGCQ4av8MFBLiTb+08SZ4cEdwzWx9QeAHDo1E2k+9s/0w1DM40oflJOpkZ8jW4HCQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/helper-wasm-section": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5", + "@webassemblyjs/wasm-opt": "1.11.5", + "@webassemblyjs/wasm-parser": "1.11.5", + "@webassemblyjs/wast-printer": "1.11.5" } }, "@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.5.tgz", + "integrity": "sha512-14vteRlRjxLK9eSyYFvw1K8Vv+iPdZU0Aebk3j6oB8TQiQYuO6hj9s4d7qf6f2HJr2khzvNldAFG13CgdkAIfA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/ieee754": "1.11.5", + "@webassemblyjs/leb128": "1.11.5", + "@webassemblyjs/utf8": "1.11.5" } }, "@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.5.tgz", + "integrity": "sha512-tcKwlIXstBQgbKy1MlbDMlXaxpucn42eb17H29rawYLxm5+MsEmgPzeCP8B1Cl69hCice8LeKgZpRUAPtqYPgw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5", + "@webassemblyjs/wasm-parser": "1.11.5" } }, "@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.5.tgz", + "integrity": "sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-api-error": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/ieee754": "1.11.5", + "@webassemblyjs/leb128": "1.11.5", + "@webassemblyjs/utf8": "1.11.5" } }, "@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.5.tgz", + "integrity": "sha512-f7Pq3wvg3GSPUPzR0F6bmI89Hdb+u9WXrSKc4v+N0aV0q6r42WoF92Jp2jEorBEBRoRNXgjp53nBniDXcqZYPA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/ast": "1.11.5", "@xtuc/long": "4.2.2" } }, "@webpack-cli/configtest": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz", - "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", + "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", "dev": true, "requires": {} }, "@webpack-cli/info": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz", - "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", + "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", "dev": true, "requires": { "envinfo": "^7.7.3" } }, "@webpack-cli/serve": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz", - "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", + "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", "dev": true, "requires": {} }, @@ -9864,9 +9445,9 @@ } }, "acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "dev": true }, "acorn-import-assertions": { @@ -9920,6 +9501,35 @@ "uri-js": "^4.2.2" } }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", @@ -9949,9 +9559,9 @@ } }, "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "requires": { "normalize-path": "^3.0.0", @@ -9967,28 +9577,12 @@ "default-require-extensions": "^3.0.0" } }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, "archy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", "dev": true }, - "are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, "arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", @@ -10034,7 +9628,7 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true }, "assertion-error": { @@ -10046,7 +9640,7 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "dev": true }, "available-typed-arrays": { @@ -10058,19 +9652,19 @@ "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "dev": true }, "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", "dev": true }, "azure-devops-node-api": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.1.1.tgz", - "integrity": "sha512-XDG91XzLZ15reP12s3jFkKS8oiagSICjnLwxEYieme4+4h3ZveFOFRA4iYIG40RyHXsiI0mefFYYMFIJbMpWcg==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.2.0.tgz", + "integrity": "sha512-XdiGPhrpaT5J8wdERRKs5g8E0Zy1pvOYTli7z9E8nmOn3YGp4FhtjhrOyFmX/8veWCwdI69mCHKJw6l+4J/bHA==", "dev": true, "requires": { "tunnel": "0.0.6", @@ -10080,8 +9674,7 @@ "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "base64-js": { "version": "1.5.1", @@ -10096,33 +9689,25 @@ "dev": true, "requires": { "safe-buffer": "5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } } }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "dev": true, "requires": { "tweetnacl": "^0.14.3" } }, - "big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", - "dev": true - }, - "binary": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", - "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", - "dev": true, - "requires": { - "buffers": "~0.1.1", - "chainsaw": "~0.1.0" - } - }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -10130,46 +9715,25 @@ "dev": true }, "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", "dev": true, "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" } }, - "bluebird": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", - "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=", - "dev": true - }, "boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", "dev": true }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -10197,27 +9761,18 @@ "dev": true, "requires": { "pako": "~1.0.5" - }, - "dependencies": { - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - } } }, "browserslist": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.0.tgz", - "integrity": "sha512-bnpOoa+DownbciXj0jVGENf8VYQnE2LNWomhYuCsMmmx9Jd9lwq0WXODuwpSsp8AVdKM2/HorrzxAfbKvWTByQ==", + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001313", - "electron-to-chromium": "^1.4.76", - "escalade": "^3.1.1", - "node-releases": "^2.0.2", - "picocolors": "^1.0.0" + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" } }, "buffer": { @@ -10249,13 +9804,13 @@ "buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true }, "buffer-fill": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", "dev": true }, "buffer-from": { @@ -10264,18 +9819,6 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, - "buffer-indexof-polyfill": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", - "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==", - "dev": true - }, - "buffers": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", - "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=", - "dev": true - }, "cache-content-type": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz", @@ -10296,6 +9839,23 @@ "make-dir": "^3.0.0", "package-hash": "^4.0.0", "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "call-bind": { @@ -10321,41 +9881,32 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001315", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001315.tgz", - "integrity": "sha512-5v7LFQU4Sb/qvkz7JcZkvtSH1Ko+1x2kgo3ocdBeMGZSOFpuE1kkm0kpTwLtWeFrw5qw08ulLxJjVIXIS8MkiQ==", + "version": "1.0.30001481", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz", + "integrity": "sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==", "dev": true }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", "dev": true }, "chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", "dev": true, "requires": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", - "deep-eql": "^3.0.1", + "deep-eql": "^4.1.2", "get-func-name": "^2.0.0", "loupe": "^2.3.1", "pathval": "^1.1.1", "type-detect": "^4.0.5" } }, - "chainsaw": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", - "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", - "dev": true, - "requires": { - "traverse": ">=0.3.0 <0.4" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -10369,43 +9920,36 @@ "check-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", "dev": true }, "cheerio": { - "version": "1.0.0-rc.10", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", - "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", "dev": true, "requires": { - "cheerio-select": "^1.5.0", - "dom-serializer": "^1.3.2", - "domhandler": "^4.2.0", - "htmlparser2": "^6.1.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "tslib": "^2.2.0" - }, - "dependencies": { - "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "dev": true - } + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" } }, "cheerio-select": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz", - "integrity": "sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", "dev": true, "requires": { - "css-select": "^4.1.3", - "css-what": "^5.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0", - "domutils": "^2.7.0" + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" } }, "chokidar": { @@ -10468,25 +10012,6 @@ "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } } }, "clone-deep": { @@ -10503,13 +10028,7 @@ "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true }, "color-convert": { @@ -10528,9 +10047,9 @@ "dev": true }, "colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true }, "combined-stream": { @@ -10551,20 +10070,23 @@ "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true + "console": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/console/-/console-0.7.2.tgz", + "integrity": "sha512-+JSDwGunA4MTEgAV/4VBKwUHonP8CzJ/6GIuwPi6acKFqFfHUdSGCm89ZxZ5FfGWdZfkdgAroy5bJ5FSeN/t4g==" + }, + "constants": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/constants/-/constants-0.0.2.tgz", + "integrity": "sha512-K8aYHRLm9Q/b/Im6CQESZdkH7fblazlncmqPujXt9DP5bxKfi7vVNjRKXx70SnnwCkW6R86o3AcSnkXL7XLq4g==" }, "content-disposition": { "version": "0.5.4", @@ -10573,30 +10095,19 @@ "dev": true, "requires": { "safe-buffer": "5.2.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } } }, "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true }, "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true }, "cookies": { "version": "0.8.0", @@ -10695,38 +10206,38 @@ } }, "css-loader": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", - "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", + "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", "dev": true, "requires": { "icss-utils": "^5.1.0", - "postcss": "^8.4.7", + "postcss": "^8.4.19", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", - "semver": "^7.3.5" + "semver": "^7.3.8" } }, "css-select": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", - "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", "dev": true, "requires": { "boolbase": "^1.0.0", - "css-what": "^5.1.0", - "domhandler": "^4.3.0", - "domutils": "^2.8.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", "nth-check": "^2.0.1" } }, "css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true }, "cssesc": { @@ -10735,19 +10246,28 @@ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true }, + "daikon": { + "version": "1.2.43", + "resolved": "https://registry.npmjs.org/daikon/-/daikon-1.2.43.tgz", + "integrity": "sha512-M3WBMADPPPFhWtH+GHXwQRw5qVg98z+NlOndc4IMp9Q1uLLdK9qRZ4PcIT9Y6QhD5qwtCFyxuun/ySw1EUVYcA==", + "requires": { + "jpeg-lossless-decoder-js": "git+https://github.com/rii-mango/JPEGLosslessDecoderJS.git", + "pako": "^1.0.6" + } + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dev": true, "requires": { "assert-plus": "^1.0.0" } }, "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -10756,7 +10276,7 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true }, "decompress": { @@ -10773,25 +10293,6 @@ "make-dir": "^1.0.0", "pify": "^2.3.0", "strip-dirs": "^2.0.0" - }, - "dependencies": { - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - } } }, "decompress-response": { @@ -10812,39 +10313,6 @@ "file-type": "^5.2.0", "is-stream": "^1.1.0", "tar-stream": "^1.5.2" - }, - "dependencies": { - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dev": true, - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dev": true, - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - } } }, "decompress-tarbz2": { @@ -10865,12 +10333,6 @@ "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true } } }, @@ -10883,20 +10345,12 @@ "decompress-tar": "^4.1.1", "file-type": "^5.2.0", "is-stream": "^1.1.0" - }, - "dependencies": { - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - } } }, "decompress-unzip": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", "dev": true, "requires": { "file-type": "^3.8.0", @@ -10908,25 +10362,15 @@ "file-type": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", "dev": true - }, - "get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } } } }, "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, "requires": { "type-detect": "^4.0.0" @@ -10935,7 +10379,7 @@ "deep-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==", "dev": true }, "deep-extend": { @@ -10951,45 +10395,46 @@ "dev": true }, "default-require-extensions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz", + "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==", "dev": true, "requires": { "strip-bom": "^4.0.0" } }, "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dev": true, "requires": { - "object-keys": "^1.0.12" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" } }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", "dev": true }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "dev": true }, "destroy": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.1.1.tgz", - "integrity": "sha512-jxwFW+yrVOLdwqIWvowFOM8UPdhZnvOF6mhXQQLXMxBDLtv2JVJlVJPEwkDv9prqscEtGtmnxuuI6pQKStK1vA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true }, "detect-libc": { @@ -11023,55 +10468,46 @@ } }, "dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" } }, "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true }, "domhandler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", - "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dev": true, "requires": { - "domelementtype": "^2.2.0" + "domelementtype": "^2.3.0" } }, "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", "dev": true, "requires": { - "readable-stream": "^2.0.2" + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" } }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dev": true, "requires": { "jsbn": "~0.1.0", @@ -11081,13 +10517,13 @@ "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true }, "electron-to-chromium": { - "version": "1.4.82", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.82.tgz", - "integrity": "sha512-Ks+ANzLoIrFDUOJdjxYMH6CMKB8UQo5modAwvSZTxgF+vEs/U7G5IbWFUp6dS4klPkTDVdxbORuk8xAXXhMsWw==", + "version": "1.4.369", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.369.tgz", + "integrity": "sha512-LfxbHXdA/S+qyoTEA4EbhxGjrxx7WK2h6yb5K2v0UCOufUKX+VZaHbl3svlzZfv9sGseym/g3Ne4DpsgRULmqg==", "dev": true }, "emoji-regex": { @@ -11099,7 +10535,7 @@ "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true }, "end-of-stream": { @@ -11112,9 +10548,9 @@ } }, "enhanced-resolve": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz", - "integrity": "sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==", + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz", + "integrity": "sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -11122,9 +10558,9 @@ } }, "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true }, "envinfo": { @@ -11133,50 +10569,11 @@ "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", "dev": true }, - "es-abstract": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", - "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.1", - "is-string": "^1.0.7", - "is-weakref": "^1.0.1", - "object-inspect": "^1.11.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - } - }, "es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true - }, - "es-to-primitive": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", + "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==", + "dev": true }, "es6-error": { "version": "4.1.1", @@ -11187,7 +10584,7 @@ "es6-object-assign": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", - "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=", + "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==", "dev": true }, "escalade": { @@ -11199,7 +10596,7 @@ "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "dev": true }, "escape-string-regexp": { @@ -11209,46 +10606,51 @@ "dev": true }, "eslint": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.11.0.tgz", - "integrity": "sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA==", - "dev": true, - "requires": { - "@eslint/eslintrc": "^1.2.1", - "@humanwhocodes/config-array": "^0.9.2", + "version": "8.39.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.39.0.tgz", + "integrity": "sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.2", + "@eslint/js": "8.39.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.0", + "espree": "^9.5.1", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.6.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.1", - "regexpp": "^3.2.0", "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "text-table": "^0.2.0" }, "dependencies": { "argparse": { @@ -11258,9 +10660,9 @@ "dev": true }, "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", "dev": true, "requires": { "esrecurse": "^4.3.0", @@ -11294,38 +10696,21 @@ "estraverse": "^4.1.1" } }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } - } - }, "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", + "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", "dev": true }, "espree": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", + "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", "dev": true, "requires": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^3.3.0" + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.0" } }, "esprima": { @@ -11335,9 +10720,9 @@ "dev": true }, "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -11386,23 +10771,6 @@ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, "expand-template": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", @@ -11415,33 +10783,10 @@ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, - "extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "dev": true, - "requires": { - "@types/yauzl": "^2.9.1", - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - } - } - }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", "dev": true }, "fast-deep-equal": { @@ -11451,9 +10796,9 @@ "dev": true }, "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -11483,19 +10828,19 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true }, "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -11504,7 +10849,7 @@ "fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, "requires": { "pend": "~1.2.0" @@ -11522,7 +10867,7 @@ "file-type": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", "dev": true }, "fill-range": { @@ -11543,6 +10888,23 @@ "commondir": "^1.0.1", "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" + }, + "dependencies": { + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "find-up": { @@ -11572,22 +10934,25 @@ } }, "flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, "follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "dev": true }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } }, "foreground-child": { "version": "2.0.0", @@ -11602,7 +10967,7 @@ "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "dev": true }, "form-data": { @@ -11619,7 +10984,7 @@ "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true }, "fromentries": { @@ -11637,8 +11002,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "fsevents": { "version": "2.3.2", @@ -11647,74 +11011,12 @@ "dev": true, "optional": true }, - "fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -11730,18 +11032,18 @@ "get-func-name": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", "dev": true }, "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", "dev": true, "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.3" } }, "get-package-type": { @@ -11751,25 +11053,19 @@ "dev": true }, "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" } }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dev": true, "requires": { "assert-plus": "^1.0.0" @@ -11778,23 +11074,9 @@ "github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", "dev": true }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, "glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -11811,9 +11093,9 @@ "dev": true }, "globals": { - "version": "13.12.1", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz", - "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==", + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -11833,10 +11115,25 @@ "slash": "^3.0.0" } }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, "graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", "dev": true }, "growl": { @@ -11848,7 +11145,7 @@ "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", "dev": true }, "har-validator": { @@ -11870,18 +11167,21 @@ "function-bind": "^1.1.1" } }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "dev": true - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -11897,12 +11197,6 @@ "has-symbols": "^1.0.2" } }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true - }, "hasha": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", @@ -11913,6 +11207,12 @@ "type-fest": "^0.8.0" }, "dependencies": { + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, "type-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", @@ -11934,6 +11234,23 @@ "dev": true, "requires": { "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, "html-escaper": { @@ -11943,15 +11260,15 @@ "dev": true }, "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", "dev": true, "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" } }, "http-assert": { @@ -11991,7 +11308,7 @@ "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", "dev": true, "requires": { "assert-plus": "^1.0.0", @@ -12000,21 +11317,15 @@ } }, "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, "requires": { "agent-base": "6", "debug": "4" } }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, "icss-utils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", @@ -12029,9 +11340,15 @@ "dev": true }, "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", "dev": true }, "import-fresh": { @@ -12042,6 +11359,14 @@ "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } } }, "import-local": { @@ -12057,7 +11382,7 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, "indent-string": { @@ -12069,8 +11394,7 @@ "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "requires": { "once": "^1.3.0", "wrappy": "1" @@ -12079,8 +11403,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { "version": "1.3.8", @@ -12088,29 +11411,12 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, "interpret": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, "is-arguments": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", @@ -12121,15 +11427,6 @@ "has-tostringtag": "^1.0.0" } }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -12139,20 +11436,10 @@ "binary-extensions": "^2.0.0" } }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, "is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true }, "is-ci": { @@ -12165,37 +11452,25 @@ } }, "is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", "dev": true, "requires": { "has": "^1.0.3" } }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true }, "is-generator-function": { "version": "1.0.10", @@ -12228,13 +11503,7 @@ "is-natural-number": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=", - "dev": true - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", "dev": true }, "is-number": { @@ -12243,87 +11512,50 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, - "is-number-object": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", - "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-shared-array-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", - "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", - "dev": true - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { - "has-symbols": "^1.0.2" + "isobject": "^3.0.1" } }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + }, "is-typed-array": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz", - "integrity": "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==", + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", "dev": true, "requires": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", - "es-abstract": "^1.18.5", - "foreach": "^2.0.5", + "for-each": "^0.3.3", + "gopd": "^1.0.1", "has-tostringtag": "^1.0.0" } }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", "dev": true }, "is-unicode-supported": { @@ -12332,15 +11564,6 @@ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -12350,25 +11573,25 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", "dev": true }, "istanbul-lib-coverage": { @@ -12407,26 +11630,17 @@ } }, "istanbul-lib-processinfo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", - "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", + "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", "dev": true, "requires": { "archy": "^1.0.0", - "cross-spawn": "^7.0.0", - "istanbul-lib-coverage": "^3.0.0-alpha.1", - "make-dir": "^3.0.0", + "cross-spawn": "^7.0.3", + "istanbul-lib-coverage": "^3.2.0", "p-map": "^3.0.0", "rimraf": "^3.0.0", - "uuid": "^3.3.3" - }, - "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } + "uuid": "^8.3.2" } }, "istanbul-lib-report": { @@ -12438,6 +11652,23 @@ "istanbul-lib-coverage": "^3.0.0", "make-dir": "^3.0.0", "supports-color": "^7.1.0" + }, + "dependencies": { + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "istanbul-lib-source-maps": { @@ -12449,20 +11680,12 @@ "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } } }, "istanbul-reports": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", - "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", "dev": true, "requires": { "html-escaper": "^2.0.0", @@ -12491,10 +11714,14 @@ } } }, - "jpeg-js": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", - "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==", + "jpeg-lossless-decoder-js": { + "version": "git+ssh://git@github.com/rii-mango/JPEGLosslessDecoderJS.git#78fe90c7cae985b1a394a66f99c81633144bb867", + "from": "jpeg-lossless-decoder-js@git+https://github.com/rii-mango/JPEGLosslessDecoderJS.git" + }, + "js-sdsl": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", + "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", "dev": true }, "js-tokens": { @@ -12516,7 +11743,7 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", "dev": true }, "jsesc": { @@ -12525,10 +11752,10 @@ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, "json-schema": { @@ -12546,23 +11773,20 @@ "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true }, "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true }, "jsprim": { "version": "1.4.2", @@ -12576,6 +11800,18 @@ "verror": "1.10.0" } }, + "jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "dev": true, + "requires": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, "keygrip": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz", @@ -12602,9 +11838,9 @@ "dev": true }, "koa": { - "version": "2.13.4", - "resolved": "https://registry.npmjs.org/koa/-/koa-2.13.4.tgz", - "integrity": "sha512-43zkIKubNbnrULWlHdN5h1g3SEKXOEzoAlRsHOTFpnlDu8JlAOZSMJBLULusuXRequboiwJcj5vtYXKB3k7+2g==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/koa/-/koa-2.14.2.tgz", + "integrity": "sha512-VFI2bpJaodz6P7x2uyLiX6RLYpZmOJqNmoCst/Yyd7hQlszyPwG/I9CQJ63nOtKSxpt5M7NH67V6nJL2BwCl7g==", "dev": true, "requires": { "accepts": "^1.3.5", @@ -12659,7 +11895,7 @@ "koa-morgan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/koa-morgan/-/koa-morgan-1.0.1.tgz", - "integrity": "sha1-CAUuDODYOdPEMXi5CluzQkvvH5k=", + "integrity": "sha512-JOUdCNlc21G50afBXfErUrr1RKymbgzlrO5KURY+wmDG1Uvd2jmxUJcHgylb/mYXy2SjiNZyYim/ptUBGsIi3A==", "dev": true, "requires": { "morgan": "^1.6.1" @@ -12710,7 +11946,7 @@ "lcov-parse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz", - "integrity": "sha1-6w1GtUER68VhrLTECO+TY73I9+A=", + "integrity": "sha512-aprLII/vPzuQvYZnDRU78Fns9I2Ag3gi4Ipga/hxnVMCZC8DnR2nI7XBqrPoywGfxqIx/DgarGvDJZAD3YBTgQ==", "dev": true }, "leven": { @@ -12729,6 +11965,15 @@ "type-check": "~0.4.0" } }, + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "requires": { + "immediate": "~3.0.5" + } + }, "linkify-it": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", @@ -12738,16 +11983,10 @@ "uc.micro": "^1.0.1" } }, - "listenercount": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", - "integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=", - "dev": true - }, "loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true }, "locate-path": { @@ -12762,7 +12001,7 @@ "lodash.flattendeep": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", + "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", "dev": true }, "lodash.merge": { @@ -12788,36 +12027,36 @@ } }, "loupe": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", - "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", "dev": true, "requires": { "get-func-name": "^2.0.0" } }, "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "requires": { - "yallist": "^4.0.0" + "yallist": "^3.0.2" } }, "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "semver": "^6.0.0" + "pify": "^3.0.0" }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true } } @@ -12858,13 +12097,13 @@ "mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", "dev": true }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true }, "merge-stream": { @@ -12882,17 +12121,17 @@ "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true }, "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, "mime": { @@ -12916,12 +12155,6 @@ "mime-db": "1.52.0" } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, "mimic-response": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", @@ -12932,24 +12165,21 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" }, "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "requires": { - "minimist": "^1.2.5" + "minimist": "^1.2.6" } }, "mkdirp-classic": { @@ -12996,6 +12226,48 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -13020,6 +12292,15 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -13062,13 +12343,13 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", "dev": true, "requires": { "ee-first": "1.1.1" @@ -13103,7 +12384,13 @@ "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", "dev": true }, "negotiator": { @@ -13119,9 +12406,9 @@ "dev": true }, "node-abi": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.8.0.tgz", - "integrity": "sha512-tzua9qWWi7iW4I42vUPKM+SfaF0vQSLAm4yO5J83mSwB7GeoWrDKC/K+8YCnYNwqP5duwazbw2X9l4m8SC2cUw==", + "version": "3.40.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.40.0.tgz", + "integrity": "sha512-zNy02qivjjRosswoYmPi8hIKJRr8MpQyeKT6qlcq/OnOgA3Rhoae+IYOqsM9V5+JnHWmxKnWOT2GxvtqdtOCXA==", "dev": true, "requires": { "semver": "^7.3.5" @@ -13143,9 +12430,9 @@ } }, "node-releases": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", - "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==", + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", "dev": true }, "normalize-path": { @@ -13154,42 +12441,15 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, "nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, "requires": { "boolbase": "^1.0.0" } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, "nyc": { "version": "15.1.0", "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", @@ -13246,11 +12506,19 @@ "path-exists": "^4.0.0" } }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } }, "locate-path": { "version": "5.0.0", @@ -13261,6 +12529,15 @@ "p-locate": "^4.1.0" } }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -13279,23 +12556,12 @@ "p-limit": "^2.2.0" } }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -13353,13 +12619,13 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true }, "object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true }, "object-is": { @@ -13378,18 +12644,6 @@ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, "on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", @@ -13408,25 +12662,15 @@ "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { "wrappy": "1" } }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, "only": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz", - "integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=", + "integrity": "sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==", "dev": true }, "optionator": { @@ -13443,6 +12687,11 @@ "word-wrap": "^1.2.3" } }, + "os": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/os/-/os-0.1.2.tgz", + "integrity": "sha512-ZoXJkvAnljwvc56MbvhtKVWmSkzV712k42Is2mA0+0KTSRakq5XXuXpjZjgAt9ctzl51ojhQWakQQpmOvXWfjQ==" + }, "ovsx": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/ovsx/-/ovsx-0.3.0.tgz", @@ -13502,6 +12751,11 @@ "release-zalgo": "^1.0.0" } }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -13514,7 +12768,7 @@ "parse-semver": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", - "integrity": "sha1-mkr9bfBj3Egm+T+6SpnPIj9mbLg=", + "integrity": "sha512-Eg1OuNntBMH0ojvEKSrvDSnwLmvVuUOSdylH/pSCPNMIspLlweJyIWXCE+k/5hm3cj/EBUYwmWkjhBALNP4LXQ==", "dev": true, "requires": { "semver": "^5.1.0" @@ -13529,18 +12783,22 @@ } }, "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "requires": { + "entities": "^4.4.0" + } }, "parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", "dev": true, "requires": { - "parse5": "^6.0.1" + "domhandler": "^5.0.2", + "parse5": "^7.0.0" } }, "parseurl": { @@ -13549,6 +12807,30 @@ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true }, + "path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", + "requires": { + "process": "^0.11.1", + "util": "^0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "requires": { + "inherits": "2.0.3" + } + } + } + }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -13558,8 +12840,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" }, "path-key": { "version": "3.1.1", @@ -13574,9 +12855,9 @@ "dev": true }, "path-to-regexp": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.0.tgz", - "integrity": "sha512-f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", + "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==", "dev": true }, "path-type": { @@ -13594,13 +12875,13 @@ "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", "dev": true }, "picocolors": { @@ -13618,19 +12899,19 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", "dev": true }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "dev": true, "requires": { "pinkie": "^2.0.0" @@ -13685,67 +12966,37 @@ } }, "playwright": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.19.2.tgz", - "integrity": "sha512-2JmGWr/Iw/Uu27bZULeHgjn8doNrRVxIYdhspMuMlfKNpzwAe/sfm7wH8uey6jiZxnPL4bC5V4ACQcF4dAGWnw==", + "version": "1.32.3", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.32.3.tgz", + "integrity": "sha512-h/ylpgoj6l/EjkfUDyx8cdOlfzC96itPpPe8BXacFkqpw/YsuxkpPyVbzEq4jw+bAJh5FLgh31Ljg2cR6HV3uw==", "dev": true, "requires": { - "playwright-core": "1.19.2" + "playwright-core": "1.32.3" } }, "playwright-core": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.19.2.tgz", - "integrity": "sha512-OsL3sJZIo1UxKNWSP7zW7sk3FyUGG06YRHxHeBw51eIOxTCQRx5t+hXd0cvXashN2CHnd3hIZTs2aKa/im4hZQ==", - "dev": true, - "requires": { - "commander": "8.3.0", - "debug": "4.3.3", - "extract-zip": "2.0.1", - "https-proxy-agent": "5.0.0", - "jpeg-js": "0.4.3", - "mime": "3.0.0", - "pngjs": "6.0.0", - "progress": "2.0.3", - "proper-lockfile": "4.1.2", - "proxy-from-env": "1.1.0", - "rimraf": "3.0.2", - "socks-proxy-agent": "6.1.1", - "stack-utils": "2.0.5", - "ws": "8.4.2", - "yauzl": "2.10.0", - "yazl": "2.5.1" - }, - "dependencies": { - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true - }, - "mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "dev": true - } - } - }, - "pngjs": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", - "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "version": "1.32.3", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.32.3.tgz", + "integrity": "sha512-SB+cdrnu74ZIn5Ogh/8278ngEh9NEEV0vR4sJFmK04h2iZpybfbqBY0bX6+BLYWVdV12JLLI+JEFtSnYgR+mWg==", "dev": true }, "postcss": { - "version": "8.4.8", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.8.tgz", - "integrity": "sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ==", + "version": "8.4.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", "dev": true, "requires": { - "nanoid": "^3.3.1", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" + }, + "dependencies": { + "nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true + } } }, "postcss-modules-extract-imports": { @@ -13785,9 +13036,9 @@ } }, "postcss-selector-parser": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", - "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", "dev": true, "requires": { "cssesc": "^3.0.0", @@ -13801,9 +13052,9 @@ "dev": true }, "prebuild-install": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.0.1.tgz", - "integrity": "sha512-QBSab31WqkyxpnMWQxubYAHR5S9B2+r81ucocew34Fkl98FhvKIF50jIJnNOBmAZfyNV7vE5T6gd3hTVWgY6tg==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", "dev": true, "requires": { "detect-libc": "^2.0.0", @@ -13813,7 +13064,6 @@ "mkdirp-classic": "^0.5.3", "napi-build-utils": "^1.0.1", "node-abi": "^3.3.0", - "npmlog": "^4.0.1", "pump": "^3.0.0", "rc": "^1.2.7", "simple-get": "^4.0.0", @@ -13830,7 +13080,7 @@ "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" }, "process-nextick-args": { "version": "2.0.1", @@ -13847,33 +13097,10 @@ "fromentries": "^1.2.0" } }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "proper-lockfile": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", - "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "retry": "^0.12.0", - "signal-exit": "^3.0.2" - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", "dev": true }, "pump": { @@ -13887,9 +13114,9 @@ } }, "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true }, "qs": { @@ -13928,7 +13155,7 @@ "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true } } @@ -13936,16 +13163,16 @@ "read": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==", "dev": true, "requires": { "mute-stream": "~0.0.4" } }, "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -13955,6 +13182,14 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } } }, "readdirp": { @@ -13975,16 +13210,10 @@ "resolve": "^1.9.0" } }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, "release-zalgo": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", + "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", "dev": true, "requires": { "es6-error": "^4.0.1" @@ -14029,7 +13258,7 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true }, "require-from-string": { @@ -14045,12 +13274,12 @@ "dev": true }, "resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, "requires": { - "is-core-module": "^2.8.1", + "is-core-module": "^2.11.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -14062,26 +13291,18 @@ "dev": true, "requires": { "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } } }, "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true }, "resolve-path": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz", - "integrity": "sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc=", + "integrity": "sha512-i1xevIst/Qa+nA9olDxLWnLk8YZbi8R/7JPbCMcgyWaFR6bKWaexgJgEB5oc2PKMjYdrHynyz0NY+if+H98t1w==", "dev": true, "requires": { "http-errors": "~1.6.2", @@ -14091,7 +13312,7 @@ "http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", "dev": true, "requires": { "depd": "~1.1.2", @@ -14103,7 +13324,7 @@ "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", "dev": true }, "setprototypeof": { @@ -14114,12 +13335,6 @@ } } }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true - }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -14133,6 +13348,22 @@ "dev": true, "requires": { "glob": "^7.1.3" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } } }, "run-parallel": { @@ -14145,9 +13376,9 @@ } }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, "safer-buffer": { @@ -14163,21 +13394,21 @@ "dev": true }, "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz", + "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", + "ajv": "^8.9.0", "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" + "ajv-keywords": "^5.1.0" }, "dependencies": { "ajv": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", - "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -14186,15 +13417,6 @@ "uri-js": "^4.2.2" } }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "requires": { - "ajv": "^8.0.0" - } - }, "ajv-keywords": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", @@ -14230,18 +13452,35 @@ } }, "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", "dev": true, "requires": { "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -14250,13 +13489,13 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", "dev": true }, "setprototypeof": { @@ -14329,37 +13568,10 @@ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, - "smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true - }, - "socks": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", - "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", - "dev": true, - "requires": { - "ip": "^1.1.5", - "smart-buffer": "^4.2.0" - } - }, - "socks-proxy-agent": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", - "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", - "dev": true, - "requires": { - "agent-base": "^6.0.2", - "debug": "^4.3.1", - "socks": "^2.6.1" - } - }, "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "source-map-js": { @@ -14376,14 +13588,6 @@ "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } } }, "spawn-wrap": { @@ -14398,12 +13602,29 @@ "rimraf": "^3.0.0", "signal-exit": "^3.0.2", "which": "^2.0.1" + }, + "dependencies": { + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, "sshpk": { @@ -14423,27 +13644,10 @@ "tweetnacl": "~0.14.0" } }, - "stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - } - } - }, "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true }, "stream-browserify": { @@ -14457,9 +13661,9 @@ }, "dependencies": { "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -14476,54 +13680,25 @@ "dev": true, "requires": { "safe-buffer": "~5.1.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" }, "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } } } }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, "strip-ansi": { @@ -14550,12 +13725,6 @@ "is-natural-number": "^4.0.1" } }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -14563,9 +13732,9 @@ "dev": true }, "style-loader": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz", - "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.2.tgz", + "integrity": "sha512-RHs/vcrKdQK8wZliteNK4NKzxvLBzpuHMqYmUVWeKa6MkaIQ97ZTOS0b+zapZhy6GcrgWnvWYCMHRirC3FsUmw==", "dev": true, "requires": {} }, @@ -14600,38 +13769,96 @@ "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", "tar-stream": "^2.1.4" + }, + "dependencies": { + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + } + } } }, "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", "dev": true, "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + }, + "temp": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", + "requires": { + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" }, "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "requires": { + "glob": "^7.1.3" } } } }, "terser": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", - "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", + "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.2", @@ -14649,34 +13876,28 @@ } }, "terser-webpack-plugin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", - "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", + "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", "dev": true, "requires": { + "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.2" + "serialize-javascript": "^6.0.1", + "terser": "^5.16.5" }, "dependencies": { "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", + "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -14689,18 +13910,34 @@ "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", "minimatch": "^3.0.4" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } } }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "tmp": { @@ -14721,7 +13958,7 @@ "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true }, "to-regex-range": { @@ -14749,16 +13986,10 @@ "punycode": "^2.1.1" } }, - "traverse": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", - "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=", - "dev": true - }, "ts-loader": { - "version": "9.2.8", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.8.tgz", - "integrity": "sha512-gxSak7IHUuRtwKf3FIPSW1VpZcqF9+MBrHOvBp9cjHh+525SjtCIJKVGjRKIAfxBwDGDGCFF00rTfzB1quxdSw==", + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.2.tgz", + "integrity": "sha512-OmlC4WVmFv5I0PpaxYb+qGeGOdm5giHU7HwDDUjw59emP2UYMHy9fFSDcYgSNoH8sXcj4hGCSEhlDZ9ULeDraA==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -14768,12 +13999,12 @@ } }, "ts-node": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", - "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", "dev": true, "requires": { - "@cspotcode/source-map-support": "0.7.0", + "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", @@ -14784,7 +14015,7 @@ "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.0", + "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" }, "dependencies": { @@ -14826,7 +14057,7 @@ "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dev": true, "requires": { "safe-buffer": "^5.0.1" @@ -14835,7 +14066,7 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", "dev": true }, "type-check": { @@ -14870,9 +14101,9 @@ } }, "typed-rest-client": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.6.tgz", - "integrity": "sha512-xcQpTEAJw2DP7GqVNECh4dD+riS+C1qndXLfBCJ3xk0kqprtGN491P5KlmrDbKdtuW8NEcP/5ChxiJI3S9WYTA==", + "version": "1.8.9", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.9.tgz", + "integrity": "sha512-uSmjE38B80wjL85UFX3sTYEUlvZ1JgCRhsWj/fJ4rZ0FqDUFoIuodtiVeE+cUqiVTOKPdKrp/sdftD15MDek6g==", "dev": true, "requires": { "qs": "^6.9.1", @@ -14881,9 +14112,9 @@ }, "dependencies": { "qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz", + "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==", "dev": true, "requires": { "side-channel": "^1.0.4" @@ -14901,9 +14132,9 @@ } }, "typescript": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.2.tgz", - "integrity": "sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==", + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true }, "uc.micro": { @@ -14912,18 +14143,6 @@ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", "dev": true }, - "unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - } - }, "unbzip2-stream": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", @@ -14935,27 +14154,19 @@ } }, "underscore": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz", - "integrity": "sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==", + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", "dev": true }, - "unzipper": { - "version": "0.10.11", - "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.11.tgz", - "integrity": "sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw==", + "update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "dev": true, "requires": { - "big-integer": "^1.6.17", - "binary": "~0.3.0", - "bluebird": "~3.4.1", - "buffer-indexof-polyfill": "~1.0.0", - "duplexer2": "~0.1.4", - "fstream": "^1.0.12", - "graceful-fs": "^4.2.2", - "listenercount": "~1.0.1", - "readable-stream": "~2.3.6", - "setimmediate": "~1.0.4" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" } }, "uri-js": { @@ -14974,23 +14185,22 @@ "dev": true }, "util": { - "version": "0.12.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", - "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", "dev": true, "requires": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", "is-generator-function": "^1.0.7", "is-typed-array": "^1.1.3", - "safe-buffer": "^5.1.2", "which-typed-array": "^1.1.2" } }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, "uuid": { @@ -14998,28 +14208,22 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, "v8-compile-cache-lib": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz", - "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "dev": true, "requires": { "assert-plus": "^1.0.0", @@ -15030,15 +14234,15 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", "dev": true } } }, "vsce": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/vsce/-/vsce-2.7.0.tgz", - "integrity": "sha512-CKU34wrQlbKDeJCRBkd1a8iwF9EvNxcYMg9hAUH6AxFGR6Wo2IKWwt3cJIcusHxx6XdjDHWlfAS/fJN30uvVnA==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/vsce/-/vsce-2.15.0.tgz", + "integrity": "sha512-P8E9LAZvBCQnoGoizw65JfGvyMqNGlHdlUXD1VAuxtvYAaHBKLBdKPnpy60XKVDAkQCfmMu53g+gq9FM+ydepw==", "dev": true, "requires": { "azure-devops-node-api": "^11.0.1", @@ -15095,19 +14299,33 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, "semver": { @@ -15128,15 +14346,15 @@ } }, "vscode-uri": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.3.tgz", - "integrity": "sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz", + "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==", "dev": true }, "watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -15144,41 +14362,41 @@ } }, "webpack": { - "version": "5.70.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", - "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==", + "version": "5.81.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.81.0.tgz", + "integrity": "sha512-AAjaJ9S4hYCVODKLQTgG5p5e11hiMawBwV2v8MYLE0C/6UAGLuAF4n1qa9GOwdxnicaP+5k6M5HrLmD4+gIB8Q==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.2", - "es-module-lexer": "^0.9.0", + "enhanced-resolve": "^5.13.0", + "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.9", - "json-parse-better-errors": "^1.0.2", + "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", + "schema-utils": "^3.1.2", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", "webpack-sources": "^3.2.3" }, "dependencies": { "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", + "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", @@ -15189,18 +14407,18 @@ } }, "webpack-cli": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz", - "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", + "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.1", - "@webpack-cli/info": "^1.4.1", - "@webpack-cli/serve": "^1.6.1", + "@webpack-cli/configtest": "^1.2.0", + "@webpack-cli/info": "^1.5.0", + "@webpack-cli/serve": "^1.7.0", "colorette": "^2.0.14", "commander": "^7.0.0", - "execa": "^5.0.0", + "cross-spawn": "^7.0.3", "fastest-levenshtein": "^1.0.12", "import-local": "^3.0.2", "interpret": "^2.2.0", @@ -15241,46 +14459,24 @@ "isexe": "^2.0.0" } }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", "dev": true }, "which-typed-array": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz", - "integrity": "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", "dev": true, "requires": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", - "es-abstract": "^1.18.5", - "foreach": "^2.0.5", + "for-each": "^0.3.3", + "gopd": "^1.0.1", "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.7" - } - }, - "wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" + "is-typed-array": "^1.1.10" } }, "wildcard": { @@ -15310,32 +14506,12 @@ "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "write-file-atomic": { "version": "3.0.3", @@ -15349,13 +14525,6 @@ "typedarray-to-buffer": "^3.1.5" } }, - "ws": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", - "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==", - "dev": true, - "requires": {} - }, "xml2js": { "version": "0.4.23", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", @@ -15385,9 +14554,9 @@ "dev": true }, "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, "yargs": { @@ -15403,25 +14572,6 @@ "string-width": "^4.2.0", "y18n": "^5.0.5", "yargs-parser": "^20.2.2" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } } }, "yargs-parser": { @@ -15459,7 +14609,7 @@ "yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, "requires": { "buffer-crc32": "~0.2.3", @@ -15476,9 +14626,9 @@ } }, "ylru": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz", - "integrity": "sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.3.2.tgz", + "integrity": "sha512-RXRJzMiK6U2ye0BlGGZnmpwJDPgakn6aNQ0A7gHRbD4I0uvK4TW6UqkK1V0pp9jskjJBAXd3dRrbzWkqJ+6cxA==", "dev": true }, "yn": { diff --git a/package.json b/package.json index 4818b48..6b7302b 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,9 @@ "neuroimaging", "neuroscience", "MRI", - "Nifti" + "Nifti", + "DCM", + "DICOM" ], "icon": "neuro-viewer.png", "galleryBanner": { @@ -45,7 +47,7 @@ "customEditors": [ { "viewType": "neuro-viewer.Nifti", - "displayName": "Nifti Viewer", + "displayName": "Nifti/DICOM Viewer", "priority": "default", "selector": [ { @@ -53,6 +55,9 @@ }, { "filenamePattern": "*.nii.gz" + }, + { + "filenamePattern": "*.dcm" } ] } @@ -93,6 +98,7 @@ "@types/glob": "^7.2.0", "@types/mocha": "^9.1.0", "@types/node": "^17.0.21", + "@types/temp": "^0.9.1", "@types/uuid": "^8.3.4", "@types/vscode": "^1.64.0", "@typescript-eslint/eslint-plugin": "^5.14.0", @@ -117,12 +123,18 @@ "typescript": "^4.6.2", "util": "^0.12.4", "vsce": "^2.7.0", - "webpack": "^5.70.0", + "webpack": "^5.81.0", "webpack-cli": "^4.9.2" }, "dependencies": { "@vscode/codicons": "^0.0.29", + "console": "^0.7.2", + "constants": "^0.0.2", + "daikon": "^1.2.43", + "os": "^0.1.2", + "path": "^0.12.7", "process": "^0.11.10", + "temp": "^0.9.4", "uuid": "^8.3.2" } } diff --git a/tsconfig.json b/tsconfig.json index ea86627..0a2c590 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,9 +6,11 @@ "outDir": "dist", "rootDir": ".", "sourceMap": true, + "mapRoot": "${workspaceFolder}", "esModuleInterop": true, "strict": true, - "typeRoots": ["./types", "./node_modules/@types"] + "allowJs": true, + "typeRoots": ["./types", "./node_modules/@types"], }, "include": [ "types/**/*.d.ts", diff --git a/types/daikon/index.d.ts b/types/daikon/index.d.ts new file mode 100644 index 0000000..95a1112 --- /dev/null +++ b/types/daikon/index.d.ts @@ -0,0 +1,5 @@ +declare module 'daikon' { + export default class daikon { + Series: Record; + } + } \ No newline at end of file diff --git a/webpack.config.js b/webpack.config.js index a203b1f..7254dad 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -23,6 +23,16 @@ const general = { }, module: { rules: [ + { + test: /\.m?js/, + type: "javascript/auto", + }, + { + test: /\.m?js/, + resolve: { + fullySpecified: false, + }, + }, { test: /\.html$/i, loader: 'html-loader', @@ -103,6 +113,10 @@ const webview = { new CopyPlugin({ patterns: [ { from: 'webview/nifti/index.html', to: 'webview/nifti/index.html' }, + { from: './extension/codec-openjpeg/openjpegjs.js.mem', to: 'openjpegjs.js.mem' }, + { from: './extension/codec-openjpeg/openjpegjs_decode.js.mem', to: 'openjpegjs_decode.js.mem' }, + { from: './extension/codec-openjpeg/openjpegwasm.wasm', to: 'openjpegwasm.wasm' }, + { from: './extension/codec-openjpeg/openjpegwasm_decode.wasm', to: 'openjpegwasm_decode.wasm' }, ], }), ],