var OGVDecoderVideoTheora = (function() { var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; return ( function(OGVDecoderVideoTheora) { OGVDecoderVideoTheora = OGVDecoderVideoTheora || {}; var b;b||(b=typeof OGVDecoderVideoTheora !== 'undefined' ? OGVDecoderVideoTheora : {});var g=b;b.memoryLimit&&(b.TOTAL_MEMORY=g.memoryLimit);var p={},q;for(q in b)b.hasOwnProperty(q)&&(p[q]=b[q]);b.arguments=[];b.thisProgram="./this.program";b.quit=function(a,c){throw c;};b.preRun=[];b.postRun=[];var r=!1,t=!1,v=!1,w=!1;r="object"===typeof window;t="function"===typeof importScripts;v="object"===typeof process&&"function"===typeof require&&!r&&!t;w=!r&&!v&&!t;var x=""; if(v){x=__dirname+"/";var z,A;b.read=function(a,c){var d=B(a);d||(z||(z=require("fs")),A||(A=require("path")),a=A.normalize(a),d=z.readFileSync(a));return c?d:d.toString()};b.readBinary=function(a){a=b.read(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};1G&&ca("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+G+"! (TOTAL_STACK=5242880)");b.buffer?buffer=b.buffer:buffer=new ArrayBuffer(G);b.HEAP8=fa=new Int8Array(buffer);b.HEAP16=new Int16Array(buffer);b.HEAP32=F=new Int32Array(buffer);b.HEAPU8=D=new Uint8Array(buffer); b.HEAPU16=new Uint16Array(buffer);b.HEAPU32=new Uint32Array(buffer);b.HEAPF32=new Float32Array(buffer);b.HEAPF64=new Float64Array(buffer);F[644]=5245488;function H(a){for(;0>>16)*e+d*(c>>>16)<<16)|0});Math.clz32||(Math.clz32=function(a){var c=32,d=a>>16;d&&(c-=16,a=d);if(d=a>>8)c-=8,a=d;if(d=a>>4)c-=4,a=d;if(d=a>>2)c-=2,a=d;return a>>1?c-2:c-a});Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});var K=0,L=null,M=null;b.preloadedImages={};b.preloadedAudios={};var N=null,O="data:application/octet-stream;base64,";N="data:application/octet-stream;base64,AAAAAAAAAAAEAP/+//7//v/+//7//v/+//7+/P78/fz9/Pz7+/vg+xEAAgDc/dj9tP0k/QAAAAAFAP/9//3//f/9//3//f/9//3+/f79/v3+/f79/v3+/f79/fz9/P38/fz8/Pz8/Pz8/Pv7+/v6+/r7IQAkACcALAABAPn++P4BAPf+9v4CAPX99P3z/fL9BADx+/D77/vu++377Pvr++r76fvo++f75vvl++T74/vi+wAAAAAAAAMEAgABBQYHAwQAAgEFBgcDAgQAAQUGBwMCAAQBBQYHAAMEAgEFBgcABQMEAgEGBwABAgMEBQYHAAAAAAAAAAADAAD9//z+/P38/Pz7/Pr8+fwAAAAAAAAAAAAAAAAAAAQAAP8A/wD/AP8A/wD/AP8A///9//3//f/9/vz+/P37EQADAPz+/P78/vz++/37/fr8+fwAAAAAAAAAAAAAAAAFAOD84Pzg/OD83/zf/N/83/zh/OH84fzh/N773vvi++L73fvd++P74/shACQAJwAqAC0AMgA3ADwAQQBKAFMAXAABANz+5P4BANv+5f4BANr+5v4BANn+5/4CANj96P3X/en9AgDW/er91f3r/QIA1P3s/dP97f0CANL97v3R/e/9AwDQ/PD8z/zx/M788vzN/PP8AwDM/PT8y/z1/Mr89vzJ/Pf8AwDI/Pj8x/z5/Mb8+vzF/Pv8AwDE/Pz8w/z9/ML8/vzB/P/8AAAAAAAABgDg+eD53/nh+d754vnd+eP53Pnk+dv55fna+eb52fnn+dj56PnX+en51vnq+dX56/nU+ez50/nt+dL57vnR+e/50Pnw+c/58fnO+fL5zfnz+cz59PnL+fX5yvn2+cn59/nI+fj5x/n5+cb5+vnF+fv5xPn8+cP5/fnC+f75wfn/+QAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAKABAACQAQAAoAIAAJACAACgBAAAkAQAAKAIAACgKAAAkAgAAJAoCgAgAAoA4P8AAPD/AAEAAAACAAAAAwAAAQAgAAEA4P8CACAAAgDg/wMAIAADAOD/BAAgAAQA4P8FACAABQDg/wEAQAABAGAAAQDA/wEAoP8GACAABwAgAAgAIAAJACAABgDg/wcA4P8IAOD/CQDg/wIAQAADAEAAAgBgAAMAYAACAMD/AwDA/wIAoP8DAKD/AADw/wEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAAACAAAADg/wAAQAAAAMD/AABgAAAAoP8AAIAAAACA/wAAoAAAAGD/AADAAAAAQP8AAOAAAAAAAQAAIP8AAAD/AAAgAQAAQAEAAGABAACAAQAA4P4AAMD+AACg/gAAgP4ACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAEAAAABQAAAAYAAAAHAAAAAAACAwAAAwAAAAAAAQEBAQIDAQEBAgEBAQEBAwECAw8QEVhQAQAwDjg5Ojs8PkBCREgCBAYIEhQWGBogDBwoAAEIEAkCAwoRGCAZEgsEBQwTGiEoMCkiGxQNBgcOFRwjKjE4OTIrJB0WDxceJSwzOjs0LSYfJy41PD02Lzc+P0BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAQIDBAgAAAAAAAAAAQIDBAUICQAAAAAAAQIDBAYICgAAAAAAAQIDBAUGBwgJCgsBAAAAAgAAAAMAAAAEAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAACAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAACAAAAAwAAAAEAAAADAAAAAAAAAAEAAAAAAAAAAQAAAAMAAAACAAAAAAAAAAIAAAADAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAgAAAAIAAAABAAAAAgAAAAMAAAAEAAAA8fHy8vPz9PT19fb29/f4+Pn5+vr7+/z8/f3+/v//AAAAAQECAgMDBAQFBQYGBwcICAkJCgoLCwwMDQ0ODg8PAPn5+fn6+vr6+/v7+/z8/Pz9/f39/v7+/v////8AAAAAAAAAAQEBAQICAgIDAwMDBAQEBAUFBQUGBgYGBwcHBwD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA////AP///wD///8A////AP///wD///8A////AP///wABAQEAAQEBAAEBAQABAQEAAQEBAAEBAQABAQEAAQEBAHRoZW9yYQAMBAMDBAQFBQgICAgDAwYBBg8cQBggAQAAAwECBggIDA=="; function ta(){C("OOM")}var ua=!1;function aa(a){for(var c=[],d=0;d>4; f=(f&15)<<4|k>>2;var m=(k&3)<<6|n;c+=String.fromCharCode(e);64!==k&&(c+=String.fromCharCode(f));64!==n&&(c+=String.fromCharCode(m))}while(d>2]=a);return a},e:function(){return fa.length},f:function(a,c,d){D.set(D.subarray(c,c+d),a)},g:function(a){ta(a)},h:function(a,c,d,e,f,k,n,m,E,l,y,I,S,T,la,ma){function U(a,c,d,e,f,k,n,m){a=Ba.subarray(a,a+c*d);var h=a.buffer;"function"===typeof h.slice?(a=h.slice(a.byteOffset, a.byteOffset+a.byteLength),a=new Uint8Array(a)):a=new Uint8Array(a);var l,u;for(l=u=0;l>2]=256;c[444]=d+1;d=P(1796,1780,1860,e)|0;if(d|0){b=(d|0)>0&1;A=i;return b|0}c[466]=R(1796,c[465]|0)|0;f=c[461]|0;g=c[452]|0;c[467]=g;h=c[453]|0;c[468]=h;d=c[458]|0;e=c[459]|0;if((d|0)!=0&(e|0)!=0){d=((p(d,g)|0)>>>0)/(e>>>0)|0;c[467]=d}else d=g;j=c[450]|0;e=c[451]|0;y(j|0,e|0,j>>>(f&1^1)|0,e>>>(f>>>1&1^1)|0,0.0,g|0,h|0,c[454]|0,c[455]|0,d|0,h|0);b=M(a,b)|0;A=i;return b|0}function M(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=A;A=A+80|0;f=e+48|0;d=e;O(f,a,b);if((T(c[466]|0,f,0)|0)>>>0>=2){f=0;A=e;return f|0}X(c[466]|0,d)|0;f=c[461]|0;a=c[450]|0;b=c[451]|0;x(c[d+12>>2]|0,c[d+8>>2]|0,c[d+28>>2]|0,c[d+24>>2]|0,c[d+44>>2]|0,c[d+40>>2]|0,a|0,b|0,a>>>(f&1^1)|0,b>>>(f>>>1&1^1)|0,c[452]|0,c[453]|0,c[454]|0,c[455]|0,c[467]|0,c[468]|0);f=1;A=e;return f|0}function N(){var a=0;a=c[466]|0;if(a|0){S(a);c[466]=0}na(1780);la(1796);return}function O(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function P(b,e,f,g){b=b|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,r=0;r=A;A=A+32|0;h=r+20|0;q=r;if(!g){q=-20;A=r;return q|0}if(!b){q=-1;A=r;return q|0}Ka(q,c[g>>2]|0,c[g+4>>2]|0);i=La(q,8)|0;if((((i&128|0)==0?(c[b+4>>2]|0)!=0:0)?(c[e+12>>2]|0)!=0:0)?(c[f>>2]|0)!=0:0)g=0;else j=7;a:do if((j|0)==7){a[h>>0]=La(q,8)|0;a[h+1>>0]=La(q,8)|0;a[h+2>>0]=La(q,8)|0;a[h+3>>0]=La(q,8)|0;a[h+4>>0]=La(q,8)|0;a[h+5>>0]=La(q,8)|0;if(!(Ta(h,1728,6)|0))switch(i|0){case 128:{if(!(c[g+8>>2]|0)){g=-20;break a}m=b+4|0;if(c[m>>2]|0){g=-20;break a}a[b>>0]=La(q,8)|0;h=b+1|0;a[h>>0]=La(q,8)|0;a[b+2>>0]=La(q,8)|0;g=a[b>>0]|0;do if((g&255)<=3){if(g<<24>>24==3?(d[h>>0]|0)>2:0){g=-22;break}c[m>>2]=(La(q,16)|0)<<4;j=b+8|0;c[j>>2]=(La(q,16)|0)<<4;k=b+12|0;c[k>>2]=La(q,24)|0;f=b+16|0;c[f>>2]=La(q,24)|0;e=b+20|0;c[e>>2]=La(q,8)|0;l=b+24|0;c[l>>2]=La(q,8)|0;i=b+28|0;c[i>>2]=La(q,32)|0;h=La(q,32)|0;c[b+32>>2]=h;g=c[m>>2]|0;if(((((((g|0)!=0?(n=c[j>>2]|0,(n|0)!=0):0)?((c[e>>2]|0)+(c[k>>2]|0)|0)>>>0<=g>>>0:0)?(o=c[f>>2]|0,p=c[l>>2]|0,(p+o|0)>>>0<=n>>>0):0)?!((h|0)==0|(c[i>>2]|0)==0):0)?(c[l>>2]=n-o-p,c[b+36>>2]=La(q,24)|0,c[b+40>>2]=La(q,24)|0,c[b+44>>2]=La(q,8)|0,c[b+52>>2]=La(q,24)|0,c[b+56>>2]=La(q,6)|0,c[b+60>>2]=La(q,5)|0,p=La(q,2)|0,c[b+48>>2]=p,(p|0)!=1):0)?(La(q,3)|0)==0:0){g=(Na(q)|0)>>31&-20;if((g|0)>=0){g=3;break a}}else g=-20}else g=-22;while(0);la(b);break a}case 129:{if(!e){g=-1;break a}if(!(c[b+4>>2]|0)){g=-20;break a}i=e+12|0;if(c[i>>2]|0){g=-20;break a}j=La(q,8)|0;b=La(q,8)|0;j=b<<8|j|(La(q,8)|0)<<16|(La(q,8)|0)<<24;b:do if((j|0)>=0?(j|0)<=(Na(q)|0):0){g=Pa(j+1|0)|0;c[i>>2]=g;if(!g)g=-1;else{if(j){h=j;while(1){h=h+-1|0;a[g>>0]=La(q,8)|0;if(!h)break;else g=g+1|0}g=c[i>>2]|0}a[g+j>>0]=0;k=La(q,8)|0;b=La(q,8)|0;g=La(q,8)|0;g=b<<8|k|g<<16|(La(q,8)|0)<<24;k=e+8|0;c[k>>2]=g;if(g>>>0<=536870911?(g<<2|0)<=(Na(q)|0):0){g=c[k>>2]|0;b=g<<2;p=Pa(b)|0;f=e+4|0;c[f>>2]=p;b=Pa(b)|0;c[e>>2]=b;if((p|0)==0|(b|0)==0){c[k>>2]=0;g=-1;break}c:do if((g|0)>0){g=0;while(1){b=La(q,8)|0;p=La(q,8)|0;j=La(q,8)|0;j=p<<8|b|j<<16|(La(q,8)|0)<<24;if((j|0)<0){j=42;break}if((j|0)>(Na(q)|0)){j=42;break}c[(c[f>>2]|0)+(g<<2)>>2]=j;h=Pa(j+1|0)|0;c[(c[e>>2]|0)+(g<<2)>>2]=h;h=c[(c[e>>2]|0)+(g<<2)>>2]|0;if(!h){j=44;break}if(j){i=j;while(1){i=i+-1|0;a[h>>0]=La(q,8)|0;if(!i)break;else h=h+1|0}h=c[(c[e>>2]|0)+(g<<2)>>2]|0}a[h+j>>0]=0;g=g+1|0;if((g|0)>=(c[k>>2]|0))break c}if((j|0)==42){c[k>>2]=g;g=-20;break b}else if((j|0)==44){c[k>>2]=g;g=-1;break b}}while(0);g=(Na(q)|0)>>31&-20;if((g|0)<0)break;else{g=2;break a}}c[k>>2]=0;g=-20}}else g=-20;while(0);na(e);break a}case 130:{if((e|0)==0|(f|0)==0){g=-1;break a}if(!(c[b+4>>2]|0)){g=-20;break a}if(!(c[e+12>>2]|0)){g=-20;break a}if(c[f>>2]|0){g=-20;break a}h=Ra(1,712)|0;if(!h){g=-1;break a}i=h+320|0;g=Y(q,i)|0;if((g|0)>=0){g=da(q,h)|0;if((g|0)>=0){c[f>>2]=h;g=1;break a}}Z(i);ia(h);Qa(h);break a}default:{g=-20;break a}}else g=-21}while(0);q=g;A=r;return q|0}function Q(a,b,d){a=a|0;b=b|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=c[b+2936+(d<<2)>>2]|0;w=c[b+2948+(d<<2)>>2]|0;x=c[a+72+(d<<5)>>2]|0;s=c[a+168>>2]|0;if((w|0)<=(v|0)){u=0;t=b+2840+(d<<2)|0;c[t>>2]=u;w=w-v|0;x=p(w,x)|0;x=x-u|0;d=b+2852+(d<<2)|0;c[d>>2]=x;return}u=(x|0)>0;t=s+(0-x<<2)|0;e=(c[a+72+(d<<5)+8>>2]|0)+(p(x,v)|0)|0;r=v;a=0;do{if(!r){if(u){h=e;i=0;while(1){f=s+(h<<2)|0;g=c[f>>2]|0;if(g&1){q=b+2960+(d<<4)+((g>>>6&3)<<2)|0;o=(c[q>>2]<<16)+g|0;c[f>>2]=o;c[q>>2]=o>>16;a=a+1|0}i=i+1|0;if((i|0)==(x|0))break;else h=h+1|0}e=x+e|0}}else if(u){o=e;q=0;h=-1;m=(c[t+(e<<2)>>2]|0)>>>6&3;g=-1;while(1){q=q+1|0;if((q|0)<(x|0))n=(c[t+(o+1<<2)>>2]|0)>>>6&3;else n=-1;k=s+(o<<2)|0;l=c[k>>2]|0;if(!(l&1))f=-1;else{f=l>>>6&3;do switch((((g|0)==(f|0)&1)<<1|(h|0)==(f|0)|((m|0)==(f|0)&1)<<2|((n|0)==(f|0)&1)<<3)&15){case 3:case 1:{g=c[s+(o+-1<<2)>>2]>>16;break}case 2:{g=c[t+(o+-1<<2)>>2]>>16;break}case 12:case 6:case 4:{g=c[t+(o<<2)>>2]>>16;break}case 5:{g=((c[t+(o<<2)>>2]>>16)+(c[s+(o+-1<<2)>>2]>>16)|0)/2|0;break}case 8:{g=c[t+(o+1<<2)>>2]>>16;break}case 13:case 11:case 9:{g=(((c[t+(o+1<<2)>>2]>>16)*53|0)+((c[s+(o+-1<<2)>>2]>>16)*75|0)|0)/128|0;break}case 10:{g=((c[t+(o+1<<2)>>2]>>16)+(c[t+(o+-1<<2)>>2]>>16)|0)/2|0;break}case 14:{g=((((c[t+(o+1<<2)>>2]>>16)+(c[t+(o+-1<<2)>>2]>>16)|0)*3|0)+((c[t+(o<<2)>>2]>>16)*10|0)|0)/16|0;break}case 15:case 7:{i=o+-1|0;h=c[s+(i<<2)>>2]>>16;i=c[t+(i<<2)>>2]>>16;g=c[t+(o<<2)>>2]>>16;j=(((g+h|0)*29|0)+(p(i,-26)|0)|0)/32|0;y=j-g|0;if((((y|0)>-1?y:0-y|0)|0)<=128){y=j-h|0;g=j-i|0;g=(((y|0)>-1?y:0-y|0)|0)>128?h:(((g|0)>-1?g:0-g|0)|0)>128?i:j}break}default:g=c[b+2960+(d<<4)+(f<<2)>>2]|0}while(0);y=(g<<16)+l|0;c[k>>2]=y;c[b+2960+(d<<4)+(f<<2)>>2]=y>>16;a=a+1|0}if((q|0)==(x|0))break;else{g=m;o=o+1|0;h=f;m=n}}e=x+e|0}r=r+1|0}while((r|0)!=(w|0));y=b+2840+(d<<2)|0;c[y>>2]=a;y=w-v|0;x=p(y,x)|0;x=x-a|0;y=b+2852+(d<<2)|0;c[y>>2]=x;return}function R(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;if((a|0)==0|(b|0)==0){f=0;return f|0}f=pa(57136,16)|0;do if(f|0?(xa(f,a,3)|0)>=0:0){a=f+51656|0;if((ga(a,b)|0)<0){Ca(f);break}d=Pa((c[f+180>>2]|0)*129|0)|0;c[f+53512>>2]=d;if(!d){ia(a);Ca(f);break}a=0;do{c[f+880+(a*24|0)>>2]=f+2416+(a*768|0);c[f+880+(a*24|0)+4>>2]=f+2416+(a*768|0)+128;c[f+880+(a*24|0)+8>>2]=f+2416+(a*768|0)+256;c[f+880+(a*24|0)+12>>2]=f+2416+(a*768|0)+384;c[f+880+(a*24|0)+16>>2]=f+2416+(a*768|0)+512;c[f+880+(a*24|0)+20>>2]=f+2416+(a*768|0)+640;a=a+1|0}while((a|0)!=64);sa(f+880|0,f+53528|0,b+320|0);a=0;do{i=c[f+880+(a*24|0)>>2]|0;k=c[f+880+(a*24|0)+8>>2]|0;j=c[f+880+(a*24|0)+16>>2]|0;h=c[f+880+(a*24|0)+4>>2]|0;g=c[f+880+(a*24|0)+12>>2]|0;d=c[f+880+(a*24|0)+20>>2]|0;c[f+53784+(a<<2)>>2]=0-((e[k+34>>1]|0)+(e[k+24>>1]|0)+(e[k+36>>1]|0)+(e[k+48>>1]|0)+(e[j+24>>1]|0)+(e[j+34>>1]|0)+(e[j+36>>1]|0)+(e[j+48>>1]|0)+(e[g+24>>1]|0)+(e[g+34>>1]|0)+((e[i+34>>1]|0)+(e[i+24>>1]|0)+(e[i+36>>1]|0)+(e[i+48>>1]|0)+(e[h+24>>1]|0)+(e[h+34>>1]|0)+(e[h+36>>1]|0)+(e[h+48>>1]|0)<<1)+(e[g+36>>1]|0)+(e[g+48>>1]|0)+(e[d+24>>1]|0)+(e[d+34>>1]|0)+(e[d+36>>1]|0)+(e[d+48>>1]|0)>>11);a=a+1|0}while((a|0)!=64);d=f+51568|0;a=b+576|0;b=d+64|0;do{c[d>>2]=c[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(b|0));c[f+53524>>2]=0;c[f+54040>>2]=0;c[f+54044>>2]=0;c[f+54048>>2]=0;c[f+54104>>2]=0;c[f+54108>>2]=0;k=f+856|0;c[k>>2]=0;c[k+4>>2]=0;k=f;return k|0}while(0);qa(f);k=0;return k|0}function S(a){a=a|0;if(!a)return;Qa(c[a+54048>>2]|0);Qa(c[a+54044>>2]|0);Qa(c[a+54040>>2]|0);Qa(c[a+53512>>2]|0);ia(a+51656|0);Ca(a);qa(a);return}function T(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,R=0,S=0,T=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Ia=0,Ja=0,Na=0,Oa=0,Ra=0,Sa=0,Ta=0,Za=0,_a=0,$a=0;Za=A;A=A+1088|0;Sa=Za+816|0;N=Za+48|0;M=Za+1072|0;Ta=Za;if((f|0)==0|(g|0)==0){f=-1;A=Za;return f|0}i=c[g+4>>2]|0;if(i){I=f+51636|0;Ka(I,c[g>>2]|0,i);if(Ma(I)|0){f=-24;A=Za;return f|0}J=f+872|0;a[J>>0]=Ma(I)|0;a[f+875>>0]=La(I,6)|0;if(Ma(I)|0){a[f+876>>0]=La(I,6)|0;if(!(Ma(I)|0))i=2;else{a[f+877>>0]=La(I,6)|0;i=3}}else i=1;a[f+874>>0]=i;if(!(a[J>>0]|0)){if(La(I,3)|0){f=-23;A=Za;return f|0}if(!(a[J>>0]|0)){l=c[f+216>>2]|0;m=c[f+184>>2]|0;n=c[f+188>>2]|0;o=c[f+168>>2]|0;q=0;r=0;t=0;g=0;while(1){q=(c[f+72+(r<<5)+28>>2]|0)+q|0;if(g>>>0>>0){i=t;do{k=n+g|0;j=(d[k>>0]|0)>>>2&15;if(j&1){j=c[m+(g<<6)>>2]|0;if((j|0)>-1){Oa=o+(j<<2)|0;c[Oa>>2]=c[Oa>>2]&-1986|385;c[l+(i<<2)>>2]=j;i=i+1|0}j=c[m+(g<<6)+4>>2]|0;if((j|0)>-1){Oa=o+(j<<2)|0;c[Oa>>2]=c[Oa>>2]&-1986|385;c[l+(i<<2)>>2]=j;i=i+1|0}j=c[m+(g<<6)+8>>2]|0;if((j|0)>-1){Oa=o+(j<<2)|0;c[Oa>>2]=c[Oa>>2]&-1986|385;c[l+(i<<2)>>2]=j;i=i+1|0}j=c[m+(g<<6)+12>>2]|0;if((j|0)>-1){Oa=o+(j<<2)|0;c[Oa>>2]=c[Oa>>2]&-1986|385;c[l+(i<<2)>>2]=j;i=i+1|0}j=(d[k>>0]|0)>>>2&15}if(j&2){j=c[m+(g<<6)+16>>2]|0;if((j|0)>-1){Oa=o+(j<<2)|0;c[Oa>>2]=c[Oa>>2]&-1986|385;c[l+(i<<2)>>2]=j;i=i+1|0}j=c[m+(g<<6)+20>>2]|0;if((j|0)>-1){Oa=o+(j<<2)|0;c[Oa>>2]=c[Oa>>2]&-1986|385;c[l+(i<<2)>>2]=j;i=i+1|0}j=c[m+(g<<6)+24>>2]|0;if((j|0)>-1){Oa=o+(j<<2)|0;c[Oa>>2]=c[Oa>>2]&-1986|385;c[l+(i<<2)>>2]=j;i=i+1|0}j=c[m+(g<<6)+28>>2]|0;if((j|0)>-1){Oa=o+(j<<2)|0;c[Oa>>2]=c[Oa>>2]&-1986|385;c[l+(i<<2)>>2]=j;i=i+1|0}j=(d[k>>0]|0)>>>2&15}if(j&4){j=c[m+(g<<6)+32>>2]|0;if((j|0)>-1){Oa=o+(j<<2)|0;c[Oa>>2]=c[Oa>>2]&-1986|385;c[l+(i<<2)>>2]=j;i=i+1|0}j=c[m+(g<<6)+36>>2]|0;if((j|0)>-1){Oa=o+(j<<2)|0;c[Oa>>2]=c[Oa>>2]&-1986|385;c[l+(i<<2)>>2]=j;i=i+1|0}j=c[m+(g<<6)+40>>2]|0;if((j|0)>-1){Oa=o+(j<<2)|0;c[Oa>>2]=c[Oa>>2]&-1986|385;c[l+(i<<2)>>2]=j;i=i+1|0}j=c[m+(g<<6)+44>>2]|0;if((j|0)>-1){Oa=o+(j<<2)|0;c[Oa>>2]=c[Oa>>2]&-1986|385;c[l+(i<<2)>>2]=j;i=i+1|0}j=(d[k>>0]|0)>>>2&15}do if(j&8){j=c[m+(g<<6)+48>>2]|0;if((j|0)>-1){Oa=o+(j<<2)|0;c[Oa>>2]=c[Oa>>2]&-1986|385;c[l+(i<<2)>>2]=j;i=i+1|0}j=c[m+(g<<6)+52>>2]|0;if((j|0)>-1){Oa=o+(j<<2)|0;c[Oa>>2]=c[Oa>>2]&-1986|385;c[l+(i<<2)>>2]=j;i=i+1|0}j=c[m+(g<<6)+56>>2]|0;if((j|0)>-1){Oa=o+(j<<2)|0;c[Oa>>2]=c[Oa>>2]&-1986|385;c[l+(i<<2)>>2]=j;i=i+1|0}j=c[m+(g<<6)+60>>2]|0;if((j|0)<=-1)break;Oa=o+(j<<2)|0;c[Oa>>2]=c[Oa>>2]&-1986|385;c[l+(i<<2)>>2]=j;i=i+1|0}while(0);g=g+1|0}while((g|0)!=(q|0));g=q}else i=t;c[f+220+(r<<2)>>2]=i-t;r=r+1|0;if((r|0)==3)break;else t=i}}else Ra=55}else Ra=55;if((Ra|0)==55){i=Ma(I)|0;t=f+188|0;n=c[t>>2]|0;q=f+192|0;o=c[q>>2]|0;if(o){k=0;m=0;while(1){j=ja(I,16)|0;g=j&31;if((j|0)>15)j=g+6+(La(I,j-g>>4)|0)|0;l=(i&255)<<1&2;r=k;k=j;do{g=n+m|0;a[g>>0]=a[g>>0]&-4|l;r=r+i|0;m=m+1|0;k=k+-1|0;g=m>>>0>>0}while((k|0)!=0&g);if(j>>>0>4128&g)i=Ma(I)|0;else i=(i|0)==0&1;if(g)k=r;else break}o=c[q>>2]|0;a:do if(r>>>0>>0){q=c[t>>2]|0;g=0;while(1)if(!(a[q+g>>0]&2))break;else g=g+1|0;i=Ma(I)|0;while(1){k=ja(I,16)|0;j=k&31;if((k|0)>15)k=j+6+(La(I,k-j>>4)|0)|0;n=k>>>0<4129;if(g>>>0>=o>>>0)break a;m=i&1;while(1){j=q+g|0;l=a[j>>0]|0;if(!(l&2)){if(!k)break;a[j>>0]=l&-2|m;k=k+-1|0}g=g+1|0;if(g>>>0>=o>>>0)break a}if(n)i=(i|0)==0&1;else i=Ma(I)|0}}while(0);if(r)i=(Ma(I)|0)==0&1;else i=0}else i=0;H=c[f+184>>2]|0;z=c[t>>2]|0;B=c[f+200>>2]|0;C=c[f+168>>2]|0;F=c[f+216>>2]|0;G=F+(c[f+180>>2]<<2)|0;k=i;w=0;x=0;l=0;y=0;g=0;j=0;while(1){x=(c[f+72+(y<<5)+28>>2]|0)+x|0;if(j>>>0>>0){v=(y|0)==0;i=w;do{u=z+j|0;t=j<<2;if(v){r=0;do{m=a[u>>0]|0;if(1<>>2&15)){o=c[H+(j<<6)+(r<<4)>>2]|0;if((o|0)>-1){do if(!(m&1)){if(m&2){if((g|0)<1){k=(k|0)==0&1;g=ja(I,64)|0}g=g+-1|0;if(!k)k=0;else{m=k;Ra=96;break}}n=G+(~l<<2)|0;m=0;l=l+1|0}else{m=1;Ra=96}while(0);if((Ra|0)==96){Ra=0;n=F+(i<<2)|0;i=i+1|0}c[n>>2]=o;q=C+(o<<2)|0;c[q>>2]=m&1|c[q>>2]&-194|192;q=m}else q=0;o=c[H+(j<<6)+(r<<4)+4>>2]|0;if((o|0)>-1){m=a[u>>0]|0;do if(!(m&1)){if(m&2){if((g|0)<1){k=(k|0)==0&1;g=ja(I,64)|0}g=g+-1|0;if(!k)k=0;else{m=k;Ra=146;break}}n=G+(~l<<2)|0;m=0;l=l+1|0}else{m=1;Ra=146}while(0);if((Ra|0)==146){Ra=0;n=F+(i<<2)|0;i=i+1|0}c[n>>2]=o;Oa=C+(o<<2)|0;c[Oa>>2]=m&1|c[Oa>>2]&-194|192;q=m|q}o=c[H+(j<<6)+(r<<4)+8>>2]|0;if((o|0)>-1){m=a[u>>0]|0;do if(!(m&1)){if(m&2){if((g|0)<1){k=(k|0)==0&1;g=ja(I,64)|0}g=g+-1|0;if(!k)k=0;else{m=k;Ra=155;break}}n=G+(~l<<2)|0;m=0;l=l+1|0}else{m=1;Ra=155}while(0);if((Ra|0)==155){Ra=0;n=F+(i<<2)|0;i=i+1|0}c[n>>2]=o;Oa=C+(o<<2)|0;c[Oa>>2]=m&1|c[Oa>>2]&-194|192;q=m|q}o=c[H+(j<<6)+(r<<4)+12>>2]|0;if((o|0)>-1){m=a[u>>0]|0;do if(!(m&1)){if(m&2){if((g|0)<1){k=(k|0)==0&1;g=ja(I,64)|0}g=g+-1|0;if(!k)k=0;else{m=k;Ra=164;break}}n=G+(~l<<2)|0;m=0;l=l+1|0}else{m=1;Ra=164}while(0);if((Ra|0)==164){Ra=0;n=F+(i<<2)|0;i=i+1|0}c[n>>2]=o;Oa=C+(o<<2)|0;c[Oa>>2]=m&1|c[Oa>>2]&-194|192;m=m|q}else m=q;a[B+(r|t)>>0]=m}r=r+1|0}while((r|0)!=4)}else{q=0;do{m=a[u>>0]|0;do if(1<>>2&15)){o=c[H+(j<<6)+(q<<4)>>2]|0;if((o|0)>-1){do if(!(m&1)){if(m&2){if((g|0)<1){k=(k|0)==0&1;g=ja(I,64)|0}g=g+-1|0;if(!k)k=0;else{m=k;Ra=108;break}}n=G+(~l<<2)|0;m=0;l=l+1|0}else{m=1;Ra=108}while(0);if((Ra|0)==108){Ra=0;n=F+(i<<2)|0;i=i+1|0}c[n>>2]=o;Oa=C+(o<<2)|0;c[Oa>>2]=m&1|c[Oa>>2]&-194|192}o=c[H+(j<<6)+(q<<4)+4>>2]|0;if((o|0)>-1){m=a[u>>0]|0;do if(!(m&1)){if(m&2){if((g|0)<1){k=(k|0)==0&1;g=ja(I,64)|0}g=g+-1|0;if(!k)k=0;else{m=k;Ra=120;break}}n=G+(~l<<2)|0;m=0;l=l+1|0}else{m=1;Ra=120}while(0);if((Ra|0)==120){Ra=0;n=F+(i<<2)|0;i=i+1|0}c[n>>2]=o;Oa=C+(o<<2)|0;c[Oa>>2]=m&1|c[Oa>>2]&-194|192}o=c[H+(j<<6)+(q<<4)+8>>2]|0;if((o|0)>-1){m=a[u>>0]|0;do if(!(m&1)){if(m&2){if((g|0)<1){k=(k|0)==0&1;g=ja(I,64)|0}g=g+-1|0;if(!k)k=0;else{m=k;Ra=129;break}}n=G+(~l<<2)|0;m=0;l=l+1|0}else{m=1;Ra=129}while(0);if((Ra|0)==129){Ra=0;n=F+(i<<2)|0;i=i+1|0}c[n>>2]=o;Oa=C+(o<<2)|0;c[Oa>>2]=m&1|c[Oa>>2]&-194|192}o=c[H+(j<<6)+(q<<4)+12>>2]|0;if((o|0)<=-1)break;m=a[u>>0]|0;do if(!(m&1)){if(m&2){if((g|0)<1){k=(k|0)==0&1;g=ja(I,64)|0}g=g+-1|0;if(!k)k=0;else{m=k;Ra=138;break}}n=G+(~l<<2)|0;m=0;l=l+1|0}else{m=1;Ra=138}while(0);if((Ra|0)==138){Ra=0;n=F+(i<<2)|0;i=i+1|0}c[n>>2]=o;Oa=C+(o<<2)|0;c[Oa>>2]=m&1|c[Oa>>2]&-194|192}while(0);q=q+1|0}while((q|0)!=4)}j=j+1|0}while((j|0)!=(x|0));j=x}else i=w;c[f+220+(y<<2)>>2]=i-w;y=y+1|0;if((y|0)==3)break;else w=i}}c[f+232>>2]=i;if(!(a[J>>0]|0)){k=J;l=f}else{k=J;l=f;Ra=169}}else{k=f+872|0;a[k>>0]=1;c[f+232>>2]=0;i=0;l=f;Ra=169}do if((Ra|0)==169){j=f+524|0;g=f+528|0;if((c[j>>2]|0)>=0?(c[g>>2]|0)>=0:0)break;c[j>>2]=0;c[g>>2]=0;c[f+532>>2]=0;i=c[f+248>>2]|0;c[f+556>>2]=i;c[f+552>>2]=i;c[f+548>>2]=i;m=f+54056|0;j=f+236|0;o=m+48|0;do{c[m>>2]=c[j>>2];m=m+4|0;j=j+4|0}while((m|0)<(o|0));Ja=c[f+576>>2]|0;Ja=(Ja|0)>-1?Ja:0-Ja|0;Ia=c[f+8>>2]|0;Oa=Ia+32|0;Na=c[f+580>>2]|0;Ya(i+(-16-(p(Ja,Ia+15|0)|0))|0,-128,(p(Ja,Oa)|0)+16+(p(((Na|0)>-1?Na:0-Na|0)<<1,Oa>>((c[f+48>>2]|0)>>>1&1^1))|0)|0)|0;i=c[f+232>>2]|0}while(0);L=f+232|0;if((i|0)<1){i=f+848|0;Na=c[i>>2]|0;i=c[i+4>>2]|0;g=Va(Na|0,i|0,d[f+873>>0]|0,0)|0;Oa=s()|0;Oa=Ua(g|0,Oa|0,c[f+60>>2]|0)|0;g=s()|0;Ra=f+856|0;Sa=Ra;Ta=c[Sa>>2]|0;Sa=c[Sa+4>>2]|0;i=Wa(Ta|0,Sa|0,Na|0,i|0)|0;i=Va(Oa|0,g|0,i|0,s()|0)|0;g=s()|0;f=f+864|0;c[f>>2]=i;c[f+4>>2]=g;Sa=Va(Ta|0,Sa|0,1,0)|0;Ta=s()|0;f=Ra;c[f>>2]=Sa;c[f+4>>2]=Ta;if(!h){f=1;A=Za;return f|0}f=h;c[f>>2]=i;c[f+4>>2]=g;f=1;A=Za;return f|0}Oa=f+528|0;Na=f+524|0;i=c[Na>>2]|0;g=c[Oa>>2]|0;Ja=0;while(1)if((Ja|0)==(i|0)|(Ja|0)==(g|0))Ja=Ja+1|0;else break;Ba=f+532|0;c[Ba>>2]=Ja;Ia=f+548|0;Ca=f+556|0;c[Ca>>2]=c[f+236+(Ja*48|0)+12>>2];if(!(a[k>>0]|0)){ya=f+856|0;za=c[ya+4>>2]|0;Aa=f+848|0;c[Aa>>2]=c[ya>>2];c[Aa+4>>2]=za}else{K=f+51636|0;i=La(K,3)|0;if(!i){o=Sa;c[o>>2]=0;c[o+4>>2]=0;a[Sa+(La(K,3)|0)>>0]=0;a[Sa+(La(K,3)|0)>>0]=1;a[Sa+(La(K,3)|0)>>0]=2;a[Sa+(La(K,3)|0)>>0]=3;a[Sa+(La(K,3)|0)>>0]=4;a[Sa+(La(K,3)|0)>>0]=5;a[Sa+(La(K,3)|0)>>0]=6;a[Sa+(La(K,3)|0)>>0]=7;o=Sa}else o=192+(i+-1<<3)|0;m=(i|0)==7?256:288;q=f+200|0;i=c[q>>2]|0;r=f+212|0;g=c[r>>2]|0;if(g|0){n=0;do{j=i+n|0;if((a[j>>0]|0)>0)a[j>>0]=a[o+(ja(K,m)|0)>>0]|0;n=n+1|0}while((n|0)!=(g|0))}C=f+48|0;B=c[1312+(c[C>>2]<<2)>>2]|0;I=(Ma(K)|0)==0;I=I?352:560;C=c[C>>2]|0;i=a[1763+C>>0]|0;J=i&255;F=c[f+168>>2]|0;G=c[f+176>>2]|0;H=c[f+196>>2]|0;z=c[q>>2]|0;y=c[r>>2]|0;b:do if(y|0){w=(i&255)>4;t=N+2|0;u=N+4|0;v=N+6|0;q=0;x=0;i=0;while(1){Aa=a[z+x>>0]|0;g=Aa<<24>>24;switch(Aa<<24>>24){case -1:{m=q;break}case 7:{i=c[H+(x*48|0)>>2]|0;g=F+(i<<2)|0;j=c[g>>2]|0;if(!(j&1)){b[N>>1]=0;m=q}else{c[g>>2]=j&-1985|1856;m=(ja(K,I)|0)+224|0;m=(((ja(K,I)|0)<<8)+57344|m&255)&65535;b[N>>1]=m;b[G+(i<<1)>>1]=m}i=c[H+(x*48|0)+4>>2]|0;g=F+(i<<2)|0;j=c[g>>2]|0;if(!(j&1))b[t>>1]=0;else{c[g>>2]=j&-1985|1856;m=(ja(K,I)|0)+224|0;m=(((ja(K,I)|0)<<8)+57344|m&255)&65535;b[t>>1]=m;b[G+(i<<1)>>1]=m}i=c[H+(x*48|0)+8>>2]|0;g=F+(i<<2)|0;j=c[g>>2]|0;if(!(j&1))b[u>>1]=0;else{c[g>>2]=j&-1985|1856;m=(ja(K,I)|0)+224|0;m=(((ja(K,I)|0)<<8)+57344|m&255)&65535;b[u>>1]=m;b[G+(i<<1)>>1]=m}i=c[H+(x*48|0)+12>>2]|0;g=F+(i<<2)|0;j=c[g>>2]|0;if(!(j&1))b[v>>1]=0;else{c[g>>2]=j&-1985|1856;m=(ja(K,I)|0)+224|0;m=(((ja(K,I)|0)<<8)+57344|m&255)&65535;b[v>>1]=m;b[G+(i<<1)>>1]=m}D[B&7](Sa,N);if(w){o=4;do{i=d[1264+(C*12|0)+o>>0]|0;j=i&3;i=c[H+(x*48|0)+(i>>>2<<4)+(j<<2)>>2]|0;g=F+(i<<2)|0;n=c[g>>2]|0;if(n&1|0){c[g>>2]=n&-1985|1856;b[G+(i<<1)>>1]=b[Sa+(j<<1)>>1]|0}o=o+1|0}while((o|0)!=(J|0))}i=q;break}default:{switch(g|0){case 2:{r=(ja(K,I)|0)+224|0;r=(((ja(K,I)|0)<<8)+57344|r&255)&65535;m=r;i=q;break}case 3:{m=q;r=q;break}case 4:{m=i;r=i;i=q;break}case 6:{r=(ja(K,I)|0)+224|0;m=q;r=(((ja(K,I)|0)<<8)+57344|r&255)&65535;break}default:{m=q;r=0}}o=268505377>>>(g<<2)<<6&192|g<<8&1792;q=0;do{g=d[1264+(C*12|0)+q>>0]|0;g=c[H+(x*48|0)+(g>>>2<<4)+((g&3)<<2)>>2]|0;j=F+(g<<2)|0;n=c[j>>2]|0;if(n&1|0){c[j>>2]=o|n&-1985;b[G+(g<<1)>>1]=r}q=q+1|0}while(q>>>0>>0)}}x=x+1|0;if((x|0)==(y|0))break b;else q=m}}while(0)}t=c[L>>2]|0;c:do if((t|0)>=1){u=c[f+168>>2]|0;v=c[f+216>>2]|0;q=f+874|0;if((a[q>>0]|0)==1){i=0;while(1){Aa=u+(c[v+(i<<2)>>2]<<2)|0;c[Aa>>2]=c[Aa>>2]&-61;i=i+1|0;if((i|0)==(t|0))break c}}r=f+51636|0;i=Ma(r)|0;m=0;n=0;do{j=ja(r,16)|0;g=j&31;if((j|0)>15)j=g+6+(La(r,j-g>>4)|0)|0;o=(j|0)>4128;g=i<<2&60;while(1){Aa=m;m=m+1|0;Aa=u+(c[v+(Aa<<2)>>2]<<2)|0;c[Aa>>2]=c[Aa>>2]&-61|g;n=n+i|0;if((j|0)<=1)break;if((m|0)>=(t|0))break;else j=j+-1|0}g=(m|0)<(t|0);if(o&g)i=Ma(r)|0;else i=(i|0)==0&1}while(g);if((n|0)>0&(a[q>>0]|0)==3){g=0;while(1)if(!(c[u+(c[v+(g<<2)>>2]<<2)>>2]&60))g=g+1|0;else break;i=Ma(r)|0;while(1){m=ja(r,16)|0;j=m&31;if((m|0)>15)m=j+6+(La(r,m-j>>4)|0)|0;q=(m|0)<4129;if((g|0)>=(t|0))break c;o=i<<2;while(1){j=u+(c[v+(g<<2)>>2]<<2)|0;n=c[j>>2]|0;if(n&60){if((m|0)<1)break;c[j>>2]=n+o&60|n&-61;m=m+-1|0}g=g+1|0;if((g|0)>=(t|0))break c}if(q)i=(i|0)==0&1;else i=Ma(r)|0}}}while(0);i=0;do{Aa=c[f+220+(i<<2)>>2]|0;c[N+(i<<8)>>2]=Aa;c[N+(i<<8)+4>>2]=Aa;c[N+(i<<8)+8>>2]=Aa;c[N+(i<<8)+12>>2]=Aa;c[N+(i<<8)+16>>2]=Aa;c[N+(i<<8)+20>>2]=Aa;c[N+(i<<8)+24>>2]=Aa;c[N+(i<<8)+28>>2]=Aa;c[N+(i<<8)+32>>2]=Aa;c[N+(i<<8)+36>>2]=Aa;c[N+(i<<8)+40>>2]=Aa;c[N+(i<<8)+44>>2]=Aa;c[N+(i<<8)+48>>2]=Aa;c[N+(i<<8)+52>>2]=Aa;c[N+(i<<8)+56>>2]=Aa;c[N+(i<<8)+60>>2]=Aa;c[N+(i<<8)+64>>2]=Aa;c[N+(i<<8)+68>>2]=Aa;c[N+(i<<8)+72>>2]=Aa;c[N+(i<<8)+76>>2]=Aa;c[N+(i<<8)+80>>2]=Aa;c[N+(i<<8)+84>>2]=Aa;c[N+(i<<8)+88>>2]=Aa;c[N+(i<<8)+92>>2]=Aa;c[N+(i<<8)+96>>2]=Aa;c[N+(i<<8)+100>>2]=Aa;c[N+(i<<8)+104>>2]=Aa;c[N+(i<<8)+108>>2]=Aa;c[N+(i<<8)+112>>2]=Aa;c[N+(i<<8)+116>>2]=Aa;c[N+(i<<8)+120>>2]=Aa;c[N+(i<<8)+124>>2]=Aa;c[N+(i<<8)+128>>2]=Aa;c[N+(i<<8)+132>>2]=Aa;c[N+(i<<8)+136>>2]=Aa;c[N+(i<<8)+140>>2]=Aa;c[N+(i<<8)+144>>2]=Aa;c[N+(i<<8)+148>>2]=Aa;c[N+(i<<8)+152>>2]=Aa;c[N+(i<<8)+156>>2]=Aa;c[N+(i<<8)+160>>2]=Aa;c[N+(i<<8)+164>>2]=Aa;c[N+(i<<8)+168>>2]=Aa;c[N+(i<<8)+172>>2]=Aa;c[N+(i<<8)+176>>2]=Aa;c[N+(i<<8)+180>>2]=Aa;c[N+(i<<8)+184>>2]=Aa;c[N+(i<<8)+188>>2]=Aa;c[N+(i<<8)+192>>2]=Aa;c[N+(i<<8)+196>>2]=Aa;c[N+(i<<8)+200>>2]=Aa;c[N+(i<<8)+204>>2]=Aa;c[N+(i<<8)+208>>2]=Aa;c[N+(i<<8)+212>>2]=Aa;c[N+(i<<8)+216>>2]=Aa;c[N+(i<<8)+220>>2]=Aa;c[N+(i<<8)+224>>2]=Aa;c[N+(i<<8)+228>>2]=Aa;c[N+(i<<8)+232>>2]=Aa;c[N+(i<<8)+236>>2]=Aa;c[N+(i<<8)+240>>2]=Aa;c[N+(i<<8)+244>>2]=Aa;c[N+(i<<8)+248>>2]=Aa;c[N+(i<<8)+252>>2]=Aa;i=i+1|0}while((i|0)!=3);H=f+51636|0;c[M>>2]=La(H,4)|0;y=M+4|0;c[y>>2]=La(H,4)|0;c[f+52744>>2]=0;za=f+53512|0;t=c[za>>2]|0;Aa=f+168|0;u=c[Aa>>2]|0;I=f+216|0;v=c[I>>2]|0;G=Sa+252|0;g=0;i=0;w=0;x=0;o=0;while(1){w=(c[f+220+(x<<2)>>2]|0)+w|0;Ya(Sa|0,0,256)|0;c[f+52744+(x<<8)>>2]=g;c[f+51976+(x<<8)>>2]=o;n=w-i|0;n=(n|0)<(g|0)?n:g;g=g-n|0;if((n|0)>0){m=n;while(1){j=i+1|0;ya=u+(c[v+(i<<2)>>2]<<2)|0;c[ya>>2]=c[ya>>2]&65535;if((m|0)>1){m=m+-1|0;i=j}else{i=j;break}}}if((w|0)>(i|0)){r=f+51656+(c[M+((x+1|0)>>>1<<2)>>2]<<2)|0;m=n;j=i;g=o;while(1){q=ja(H,c[r>>2]|0)|0;o=g+1|0;a[t+g>>0]=q;if((q|0)<15){n=La(H,d[1735+q>>0]|0)|0;i=g+2|0;a[t+o>>0]=n;if(!q){a[t+i>>0]=n>>>8;i=g+3|0}g=n<<((q|0)<2?-13:0)+((q|0)<12?21:0);o=i}else g=0;i=(c[704+(q<<2)>>2]|0)+g|0;g=(i|0)==0?2147483647:i>>>8&4095;if(g){ya=w-j|0;ya=(ya|0)<(g|0)?ya-g|0:0;i=ya+g|0;m=i+m|0;g=0-ya|0;if((i|0)>0)while(1){n=j+1|0;ya=u+(c[v+(j<<2)>>2]<<2)|0;c[ya>>2]=c[ya>>2]&65535;if((i|0)>1){i=i+-1|0;j=n}else{j=n;break}}}else{ya=i&255;g=Sa+(ya<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=u+(c[v+(j<<2)>>2]<<2)|0;c[g>>2]=c[g>>2]&65535|((ya|0)==0?(i^0-(i&1048576))>>21<<16:0);g=0;j=j+1|0}if((w|0)>(j|0))g=o;else break}q=c[G>>2]|0;n=j}else{q=0;m=n;n=i}i=m+q|0;c[G>>2]=i;j=62;while(1){ya=Sa+(j<<2)|0;i=(c[ya>>2]|0)+i|0;c[ya>>2]=i;if(!j)break;else j=j+-1|0}i=63;while(1){ya=N+(x<<8)+(i<<2)|0;c[ya>>2]=(c[ya>>2]|0)-(c[Sa+(i<<2)>>2]|0);if(!i)break;else i=i+-1|0}x=x+1|0;if((x|0)==3)break;else i=n}F=f+53520|0;c[F>>2]=o;B=La(H,4)|0;c[M>>2]=B;C=La(H,4)|0;c[y>>2]=C;z=1;m=1;while(1){B=B+16|0;C=C+16|0;i=d[1750+z>>0]|0;if((m|0)<(i|0)){y=f+51656+(B<<2)|0;x=f+51656+(C<<2)|0;j=c[F>>2]|0;do{w=c[za>>2]|0;v=64-m|0;c[f+52744+(m<<2)>>2]=g;c[f+51976+(m<<2)>>2]=j;u=c[N+(m<<2)>>2]|0;Ya(Sa|0,0,256)|0;n=u>>>0>g>>>0;if((v|0)>0){if(n){q=g;r=g;t=0;o=j;while(1){t=t+q|0;q=ja(H,c[y>>2]|0)|0;j=o+1|0;a[w+o>>0]=q;if((q|0)<15){n=La(H,d[1735+q>>0]|0)|0;g=o+2|0;a[w+j>>0]=n;if(!q){a[w+g>>0]=n>>>8;j=o+3|0}else j=g;g=n<<((q|0)<2?-13:0)+((q|0)<12?21:0)}else g=0;g=(c[704+(q<<2)>>2]|0)+g|0;q=(g|0)==0?2147483647:g>>>8&4095;g=Sa+((g&255)<<2)|0;if(!q){c[g>>2]=(c[g>>2]|0)+1;n=r+1|0}else n=r;r=n+q|0;if(r>>>0>=u>>>0)break;else o=j}r=c[G>>2]|0;g=q;o=t}else{r=0;o=0;n=0}q=u-n|0;n=o+r+q|0;c[G>>2]=n;o=62;while(1){ya=Sa+(o<<2)|0;n=(c[ya>>2]|0)+n|0;c[ya>>2]=n;if(!o)break;else o=o+-1|0}n=v;do{ya=n;n=n+-1|0;xa=N+(n+m<<2)|0;c[xa>>2]=(c[xa>>2]|0)-(c[Sa+(n<<2)>>2]|0)}while((ya|0)>1);g=g-q|0;c[f+53e3+(m<<2)>>2]=g;c[f+52232+(m<<2)>>2]=j;u=c[N+256+(m<<2)>>2]|0;Ya(Sa|0,0,256)|0;if(g>>>0>>0){n=g;r=g;t=0;o=j;while(1){t=t+n|0;q=ja(H,c[x>>2]|0)|0;j=o+1|0;a[w+o>>0]=q;if((q|0)<15){n=La(H,d[1735+q>>0]|0)|0;g=o+2|0;a[w+j>>0]=n;if(!q){a[w+g>>0]=n>>>8;j=o+3|0}else j=g;g=n<<((q|0)<2?-13:0)+((q|0)<12?21:0)}else g=0;g=(c[704+(q<<2)>>2]|0)+g|0;n=(g|0)==0?2147483647:g>>>8&4095;g=Sa+((g&255)<<2)|0;if(!n){c[g>>2]=(c[g>>2]|0)+1;g=r+1|0}else g=r;r=g+n|0;if(r>>>0>=u>>>0)break;else o=j}q=c[G>>2]|0;r=n;n=t}else{q=0;r=g;n=0;g=0}o=u-g|0;g=n+q+o|0;c[G>>2]=g;n=62;while(1){ya=Sa+(n<<2)|0;g=(c[ya>>2]|0)+g|0;c[ya>>2]=g;if(!n)break;else n=n+-1|0}g=v;do{ya=g;g=g+-1|0;xa=N+256+(g+m<<2)|0;c[xa>>2]=(c[xa>>2]|0)-(c[Sa+(g<<2)>>2]|0)}while((ya|0)>1);g=r-o|0;c[f+53256+(m<<2)>>2]=g;c[f+52488+(m<<2)>>2]=j;u=c[N+512+(m<<2)>>2]|0;Ya(Sa|0,0,256)|0;if(g>>>0>>0){n=g;r=g;t=0;o=j;while(1){t=t+n|0;q=ja(H,c[x>>2]|0)|0;j=o+1|0;a[w+o>>0]=q;if((q|0)<15){n=La(H,d[1735+q>>0]|0)|0;g=o+2|0;a[w+j>>0]=n;if(!q){a[w+g>>0]=n>>>8;j=o+3|0}else j=g;g=n<<((q|0)<2?-13:0)+((q|0)<12?21:0)}else g=0;g=(c[704+(q<<2)>>2]|0)+g|0;n=(g|0)==0?2147483647:g>>>8&4095;g=Sa+((g&255)<<2)|0;if(!n){c[g>>2]=(c[g>>2]|0)+1;g=r+1|0}else g=r;r=g+n|0;if(r>>>0>=u>>>0)break;else o=j}q=c[G>>2]|0;r=n;n=t}else{q=0;r=g;n=0;g=0}o=u-g|0;g=n+q+o|0;c[G>>2]=g;n=62;while(1){ya=Sa+(n<<2)|0;g=(c[ya>>2]|0)+g|0;c[ya>>2]=g;if(!n)break;else n=n+-1|0}g=v;do{ya=g;g=g+-1|0;xa=N+512+(g+m<<2)|0;c[xa>>2]=(c[xa>>2]|0)-(c[Sa+(g<<2)>>2]|0)}while((ya|0)>1);g=r-o|0}else{if(n){q=g;r=g;t=0;o=j;while(1){t=t+q|0;q=ja(H,c[y>>2]|0)|0;j=o+1|0;a[w+o>>0]=q;if((q|0)<15){n=La(H,d[1735+q>>0]|0)|0;g=o+2|0;a[w+j>>0]=n;if(!q){a[w+g>>0]=n>>>8;j=o+3|0}else j=g;g=n<<((q|0)<2?-13:0)+((q|0)<12?21:0)}else g=0;g=(c[704+(q<<2)>>2]|0)+g|0;q=(g|0)==0?2147483647:g>>>8&4095;g=Sa+((g&255)<<2)|0;if(!q){c[g>>2]=(c[g>>2]|0)+1;n=r+1|0}else n=r;r=n+q|0;if(r>>>0>=u>>>0)break;else o=j}r=c[G>>2]|0;g=q;o=t}else{r=0;o=0;n=0}q=u-n|0;n=o+r+q|0;c[G>>2]=n;o=62;while(1){ya=Sa+(o<<2)|0;n=(c[ya>>2]|0)+n|0;c[ya>>2]=n;if(!o)break;else o=o+-1|0}g=g-q|0;c[f+53e3+(m<<2)>>2]=g;c[f+52232+(m<<2)>>2]=j;u=c[N+256+(m<<2)>>2]|0;Ya(Sa|0,0,256)|0;if(g>>>0>>0){n=g;r=g;t=0;o=j;while(1){t=t+n|0;q=ja(H,c[x>>2]|0)|0;j=o+1|0;a[w+o>>0]=q;if((q|0)<15){n=La(H,d[1735+q>>0]|0)|0;g=o+2|0;a[w+j>>0]=n;if(!q){a[w+g>>0]=n>>>8;j=o+3|0}else j=g;g=n<<((q|0)<2?-13:0)+((q|0)<12?21:0)}else g=0;g=(c[704+(q<<2)>>2]|0)+g|0;n=(g|0)==0?2147483647:g>>>8&4095;g=Sa+((g&255)<<2)|0;if(!n){c[g>>2]=(c[g>>2]|0)+1;g=r+1|0}else g=r;r=g+n|0;if(r>>>0>=u>>>0)break;else o=j}q=c[G>>2]|0;r=n;n=t}else{q=0;r=g;n=0;g=0}o=u-g|0;g=n+q+o|0;c[G>>2]=g;n=62;while(1){ya=Sa+(n<<2)|0;g=(c[ya>>2]|0)+g|0;c[ya>>2]=g;if(!n)break;else n=n+-1|0}g=r-o|0;c[f+53256+(m<<2)>>2]=g;c[f+52488+(m<<2)>>2]=j;u=c[N+512+(m<<2)>>2]|0;Ya(Sa|0,0,256)|0;if(g>>>0>>0){n=g;r=g;t=0;o=j;while(1){t=t+n|0;q=ja(H,c[x>>2]|0)|0;j=o+1|0;a[w+o>>0]=q;if((q|0)<15){n=La(H,d[1735+q>>0]|0)|0;g=o+2|0;a[w+j>>0]=n;if(!q){a[w+g>>0]=n>>>8;j=o+3|0}else j=g;g=n<<((q|0)<2?-13:0)+((q|0)<12?21:0)}else g=0;g=(c[704+(q<<2)>>2]|0)+g|0;n=(g|0)==0?2147483647:g>>>8&4095;g=Sa+((g&255)<<2)|0;if(!n){c[g>>2]=(c[g>>2]|0)+1;g=r+1|0}else g=r;r=g+n|0;if(r>>>0>=u>>>0)break;else o=j}q=c[G>>2]|0;r=n;n=t}else{q=0;r=g;n=0;g=0}o=u-g|0;g=n+q+o|0;c[G>>2]=g;n=62;while(1){ya=Sa+(n<<2)|0;g=(c[ya>>2]|0)+g|0;c[ya>>2]=g;if(!n)break;else n=n+-1|0}g=r-o|0}c[F>>2]=j;m=m+1|0}while((m|0)!=(i|0))}else i=m;z=z+1|0;if((z|0)==5)break;else m=i}i=f+848|0;ua=c[i>>2]|0;i=c[i+4>>2]|0;g=Va(ua|0,i|0,d[f+873>>0]|0,0)|0;va=s()|0;va=Ua(g|0,va|0,c[f+60>>2]|0)|0;g=s()|0;ya=f+856|0;wa=ya;xa=c[wa>>2]|0;wa=c[wa+4>>2]|0;i=Wa(xa|0,wa|0,ua|0,i|0)|0;i=Va(va|0,g|0,i|0,s()|0)|0;g=s()|0;va=f+864|0;c[va>>2]=i;c[va+4>>2]=g;wa=Va(xa|0,wa|0,1,0)|0;xa=s()|0;c[ya>>2]=wa;c[ya+4>>2]=xa;if(h|0){ya=h;c[ya>>2]=i;c[ya+4>>2]=g}xa=f+54112|0;ya=f+48|0;wa=f+57120|0;c[wa>>2]=4<<((c[ya>>2]|0)>>>1&1^1);Xa(f+54624|0,f+51976|0,768)|0;Xa(f+56160|0,f+52744|0,768)|0;va=c[I>>2]|0;t=f+180|0;j=va+(c[t>>2]<<2)|0;c[f+56928>>2]=va;c[f+56940>>2]=j;r=f+220|0;q=c[r>>2]|0;va=va+(q<<2)|0;q=j+(q-(c[f+84>>2]|0)<<2)|0;c[f+56932>>2]=va;c[f+56944>>2]=q;j=f+224|0;i=c[j>>2]|0;q=q+(i-(c[f+116>>2]|0)<<2)|0;c[f+56936>>2]=va+(i<<2);c[f+56948>>2]=q;q=f+228|0;i=a[f+874>>0]|0;if(i<<24>>24){g=i&255;i=0;do{va=d[f+875+i>>0]|0;c[f+56976+(i<<3)>>2]=c[f+880+(va*24|0)>>2];c[f+56976+(i<<3)+4>>2]=c[f+880+(va*24|0)+4>>2];i=i+1|0}while((i|0)!=(g|0));i=0;do{va=d[f+875+i>>0]|0;c[f+57e3+(i<<3)>>2]=c[f+880+(va*24|0)+8>>2];c[f+57e3+(i<<3)+4>>2]=c[f+880+(va*24|0)+12>>2];i=i+1|0}while((i|0)!=(g|0));i=0;do{va=d[f+875+i>>0]|0;c[f+57024+(i<<3)>>2]=c[f+880+(va*24|0)+16>>2];c[f+57024+(i<<3)+4>>2]=c[f+880+(va*24|0)+20>>2];i=i+1|0}while((i|0)!=(g|0))}m=f+57072|0;o=m+48|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(o|0));o=f+875|0;i=a[(d[o>>0]|0)+(f+51568)>>0]|0;ua=i<<24>>24!=0;va=f+57124|0;c[va>>2]=ua&1;if(ua)Ga(f+54368|0,i&255);ua=f+53524|0;i=c[ua>>2]|0;ta=f+54040|0;n=c[ta>>2]|0;g=(n|0)==0;d:do if((i|0)<1)if(g)Ra=393;else{Qa(n);c[ta>>2]=0;Ra=f+54044|0;Qa(c[Ra>>2]|0);c[Ra>>2]=0;Ra=f+54048|0;Qa(c[Ra>>2]|0);c[Ra>>2]=0;Ra=393}else{if(!g){m=c[I>>2]|0;j=(c[j>>2]|0)+(c[r>>2]|0)+(c[q>>2]|0)|0;g=a[o>>0]|0;if((j|0)>0){i=0;do{a[n+(c[m+(i<<2)>>2]|0)>>0]=g;i=i+1|0}while((i|0)!=(j|0));i=c[ua>>2]|0}}else{if(a[k>>0]|0){Ra=393;break}g=c[t>>2]|0;j=Pa(g)|0;c[ta>>2]=j;if(!j){Ra=393;break}Ya(j|0,a[o>>0]|0,g|0)|0}n=f+54044|0;g=c[n>>2]|0;j=(g|0)==0;if((i|0)<2){if(j){Ra=393;break}Qa(g);c[n>>2]=0;Ra=f+54048|0;Qa(c[Ra>>2]|0);c[Ra>>2]=0;Ra=393;break}do if(j){g=c[f+4>>2]|0;Ra=c[f+8>>2]|0;j=p(Ra,g)|0;m=c[ya>>2]|0;j=Pa((p(g>>>(m&1^1)<<1,Ra>>>(m>>>1&1^1))|0)+j|0)|0;m=f+54048|0;c[m>>2]=j;Ra=Pa(c[t>>2]<<2)|0;c[n>>2]=Ra;if((j|0)==0|(Ra|0)==0){Qa(j);c[m>>2]=0;Qa(c[n>>2]|0);c[n>>2]=0;Ra=393;break d}else{Ra=f+54052|0;c[Ra>>2]=0;j=g;g=Ra;Ra=386;break}}else{g=f+54052|0;if((c[g>>2]|0)!=(((i|0)>4?2:1)|0)){j=c[f+4>>2]|0;Ra=386}}while(0);if((Ra|0)==386){if((i|0)<5){c[f+54056>>2]=j;qa=c[f+8>>2]|0;c[f+54060>>2]=qa;sa=0-j|0;c[f+54064>>2]=sa;c[f+54068>>2]=(c[f+54048>>2]|0)+(p(1-qa|0,sa)|0)}else{na=c[f+8>>2]|0;qa=p(na,j)|0;oa=c[ya>>2]|0;pa=j>>>(oa&1^1);oa=na>>>(oa>>>1&1^1);sa=p(oa,pa)|0;i=f+54056|0;c[i>>2]=j;c[f+54060>>2]=na;c[f+54064>>2]=j;na=c[f+54048>>2]|0;c[f+54068>>2]=na;c[f+54072>>2]=pa;c[f+54076>>2]=oa;c[f+54080>>2]=pa;qa=na+qa|0;c[f+54084>>2]=qa;c[f+54088>>2]=pa;c[f+54092>>2]=oa;c[f+54096>>2]=pa;c[f+54100>>2]=qa+sa;ra(i,i);i=c[ua>>2]|0}c[g>>2]=(i|0)>4?2:1}if((i|0)<5){sa=f+54072|0;qa=f+236+((c[Ba>>2]|0)*48|0)+16|0;c[sa>>2]=c[qa>>2];c[sa+4>>2]=c[qa+4>>2];c[sa+8>>2]=c[qa+8>>2];c[sa+12>>2]=c[qa+12>>2];c[sa+16>>2]=c[qa+16>>2];c[sa+20>>2]=c[qa+20>>2];c[sa+24>>2]=c[qa+24>>2];c[sa+28>>2]=c[qa+28>>2]}g=f+57128|0;c[g>>2]=i;i=f+54056|0}while(0);if((Ra|0)==393){g=f+57128|0;c[g>>2]=0;i=f+54056|0;m=i;j=f+236+((c[Ba>>2]|0)*48|0)|0;o=m+48|0;do{c[m>>2]=c[j>>2];m=m+4|0;j=j+4|0}while((m|0)<(o|0));n=f+54044|0}m=xa;o=m+128|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(o|0));ra(Ta,i);oa=f+76|0;ma=f+64|0;ka=Sa+2|0;sa=f+552|0;na=f+172|0;ia=f+54368|0;pa=f+54108|0;la=f+54104|0;i=c[wa>>2]|0;ha=0;qa=0;while(1){fa=c[oa>>2]|0;ga=(i+qa|0)<(fa|0);ca=ga&1;ea=fa;da=0;do{Z=(da|0)!=0;if(Z)i=(c[ya>>2]&2|0)==0;else i=0;ba=i&1;w=qa>>ba;$=f+57048+(da<<2)|0;c[$>>2]=w;J=f+72+(da<<5)+4|0;v=c[J>>2]|0;w=(c[wa>>2]>>ba)+w|0;aa=f+57060+(da<<2)|0;c[aa>>2]=(w|0)<(v|0)?w:v;Q(f,xa,da);v=c[za>>2]|0;w=c[ma>>2]|0;x=c[Aa>>2]|0;I=f+56928+(da<<2)|0;i=c[I>>2]|0;H=c[f+56952+(da<<2)>>2]|0;b[Sa>>1]=b[c[f+56976+(da*24|0)>>2]>>1]|0;b[ka>>1]=b[c[f+56976+(da*24|0)+4>>2]>>1]|0;if((H|0)>0){F=0;do{y=c[i+(F<<2)>>2]|0;z=x+(y<<2)|0;B=c[z>>2]|0;C=(B&1792|0)!=256&1;B=c[f+56976+(da*24|0)+((B>>>2&15)<<3)+(C<<2)>>2]|0;G=0;while(1){u=f+56160+(da<<8)+(G<<2)|0;j=c[u>>2]|0;if(j|0){Ra=410;break}t=f+54624+(da<<8)+(G<<2)|0;q=c[t>>2]|0;j=q+1|0;o=a[v+q>>0]|0;m=c[704+((o&255)<<2)>>2]|0;r=q+2|0;if((o&255)<15){j=(d[v+j>>0]<<((o&255)<2?-13:0)+((o&255)<12?21:0))+m|0;m=j>>>8&4095;if(!(o<<24>>24)){m=(d[v+r>>0]<<8)+m|0;o=j;m=(m|0)==0?2147483647:m;j=q+3|0}else{o=j;j=r}}else{o=m;m=m>>>8&4095}c[u>>2]=m;c[t>>2]=j;j=(o&255)+G|0;Y=(p((o^0-(o&1048576))>>21,e[B+(j<<1)>>1]|0)|0)&65535;b[f+54112+(d[w+j>>0]<<1)>>1]=Y;j=j+((m|0)==0&1)|0;if((j|0)<64)G=j;else break}if((Ra|0)==410){Ra=0;c[u>>2]=j+-1}b[xa>>1]=(c[z>>2]|0)>>>16;Fa(l,y,da,xa,G,b[Sa+(C<<1)>>1]|0);F=F+1|0}while((F|0)!=(H|0));i=c[I>>2]|0}c[I>>2]=i+(H<<2);i=c[f+56964+(da<<2)>>2]|0;if((i|0)>0){X=f+56940+(da<<2)|0;Y=(c[X>>2]|0)+(0-i<<2)|0;c[X>>2]=Y;_(c[Ca>>2]|0,c[sa>>2]|0,c[f+576+(da<<2)>>2]|0,Y,i,c[na>>2]|0)}if(!(c[va>>2]|0)){j=0;i=0}else{Ha(l,ia,2,da,(c[$>>2]|0)-ha|0,(c[aa>>2]|0)-ca|0);j=ca;i=ha}Da(l,Ja,da,((c[$>>2]|0)-i<<3)-(i<<1)|0,((c[aa>>2]|0)-j<<3)-(j<<1)|0);P=Z?3:0;do if((c[g>>2]|0)<(P+2|0)){Z=(c[va>>2]|0)==0;j=j+(ga&(Z^1)&1)|0;i=(Z?0:ha)+i|0}else{i=i+ha|0;j=j+ca|0;o=(c[$>>2]|0)-i|0;v=(c[aa>>2]|0)-j|0;R=f+72+(da<<5)|0;L=c[R>>2]|0;S=f+72+(da<<5)+8|0;w=(c[S>>2]|0)+(p(L,o)|0)|0;F=c[n>>2]|0;m=F+(w<<2)|0;C=c[ta>>2]|0;q=C+w|0;T=(o|0)>0;M=(c[J>>2]|0)>(v|0);Ya(m+((T?L:0)<<2)|0,0,p(L<<2,v-o+(T<<31>>31)+(M&1)|0)|0)|0;o=(T&1)<<2|o<<3;T=f+54056+(da<<4)+8|0;h=c[T>>2]|0;N=c[f+236+(Ja*48|0)+(da<<4)+8>>2]|0;Y=f+54056+(da<<4)+12|0;r=(c[Y>>2]|0)+(p(h,o)|0)|0;t=(c[f+236+(Ja*48|0)+(da<<4)+12>>2]|0)+(p(N,o)|0)|0;X=f+54056+(da<<4)|0;O=c[X>>2]|0;if((o|0)<4)while(1){Xa(r|0,t|0,O|0)|0;r=r+h|0;t=t+N|0;u=o+1|0;if((o|0)<3)o=u;else{o=u;break}}u=(M^1)&1;I=v-u<<3;do if((o|0)<(I|0)){H=0-N|0;J=h<<3;K=N<<3;G=0-(h<<2)|0;u=(v<<3)+-1-(u<<3)-o|0;if((O|0)<=8){z=w+1+(u>>>3)|0;B=u&-8;y=B+8|0;x=p(y,h)|0;v=r;w=t;u=o;while(1){G=c[f+53528+(d[q>>0]<<2)>>2]|0;U(v,h,w+H|0,N,G,G*3>>2,m,m+(L<<2)|0);u=u+8|0;if((u|0)>=(I|0))break;else{q=q+1|0;v=v+J|0;w=w+K|0;m=m+4|0}}q=C+z|0;r=r+x|0;t=t+(p(y,N)|0)|0;m=F+(z<<2)|0;o=o+8+B|0;break}F=u&-8;C=F+8|0;B=p(C,h)|0;y=r;z=t;u=o;while(1){v=c[f+53528+(d[q>>0]<<2)>>2]|0;U(y,h,z+H|0,N,v,v*3>>2,m,m+(L<<2)|0);q=q+1|0;v=m;w=m+4|0;x=8;while(1){_a=c[f+53528+(d[q>>0]<<2)>>2]|0;m=_a*3>>2;$a=y+x|0;U($a,h,z+x+H|0,N,_a,m,w,w+(L<<2)|0);V($a+G+-4|0,h,_a,m,v);x=x+8|0;m=w+4|0;q=q+1|0;if((x|0)>=(O|0))break;else{v=w;w=m}}u=u+8|0;if((u|0)<(I|0)){y=y+J|0;z=z+K|0}else break}r=r+B|0;t=t+(p(C,N)|0)|0;o=o+8+F|0}while(0);do if(!M){u=c[f+54056+(da<<4)+4>>2]|0;if((u|0)>(o|0)){v=u-o|0;w=r;while(1){Xa(w|0,t|0,O|0)|0;o=o+1|0;if((o|0)==(u|0))break;else{w=w+h|0;t=t+N|0}}r=r+(p(v,h)|0)|0}if((O|0)<=8)break;t=0-(h<<3)|0;o=8;while(1){q=q+1|0;$a=c[f+53528+(d[q>>0]<<2)>>2]|0;V(r+o+t+-4|0,h,$a,$a*3>>2,m);o=o+8|0;if((o|0)>=(O|0))break;else m=m+4|0}}while(0);if((c[g>>2]|0)<(P+3|0))break;i=i+ha|0;j=j+ca|0;o=(c[$>>2]|0)-i|0;P=c[R>>2]|0;m=(c[S>>2]|0)+(p(P,o)|0)|0;h=(c[ua>>2]|0)<((Z?7:4)|0);O=Z?3840:1920;o=o<<3;M=c[T>>2]|0;N=(c[aa>>2]|0)-j<<3;K=c[X>>2]|0;L=c[f+54056+(da<<4)+4>>2]|0;if((o|0)>=(N|0))break;H=(c[Y>>2]|0)+(p(M,o)|0)|0;G=(K|0)>0;I=0-P|0;J=M<<3;q=(c[Aa>>2]|0)+(m<<2)|0;m=(c[n>>2]|0)+(m<<2)|0;while(1){e:do if(G){C=(o|0)<1;o=o+8|0;B=(o|0)>=(L|0);F=(B&1)<<3|(C&1)<<2;if(h){w=0;while(1){t=d[((c[q>>2]|0)>>>2&15)+(f+875)>>0]|0;r=c[m>>2]|0;v=w;w=w+8|0;u=F|(v|0)==0|((w|0)>=(K|0)&1)<<1;do if((r|0)>1536)W(H+v|0,M,u,c[f+53528+(t<<2)>>2]|0,c[f+53784+(t<<2)>>2]|0,1);else{if((r|0)<=384)break;W(H+v|0,M,u,c[f+53528+(t<<2)>>2]|0,c[f+53784+(t<<2)>>2]|0,0)}while(0);q=q+4|0;m=m+4|0;if((w|0)>=(K|0))break e}}if(Z){w=0;while(1){t=d[((c[q>>2]|0)>>>2&15)+(f+875)>>0]|0;r=c[m>>2]|0;v=w;w=w+8|0;u=F|(v|0)==0|((w|0)>=(K|0)&1)<<1;do if((r|0)>(O|0)){Y=H+v|0;_a=f+53528+(t<<2)|0;$a=f+53784+(t<<2)|0;W(Y,M,u,c[_a>>2]|0,c[$a>>2]|0,1);W(Y,M,u,c[_a>>2]|0,c[$a>>2]|0,1);W(Y,M,u,c[_a>>2]|0,c[$a>>2]|0,1)}else{if((r|0)>1536){W(H+v|0,M,u,c[f+53528+(t<<2)>>2]|0,c[f+53784+(t<<2)>>2]|0,1);break}if((r|0)<=384)break;W(H+v|0,M,u,c[f+53528+(t<<2)>>2]|0,c[f+53784+(t<<2)>>2]|0,0)}while(0);q=q+4|0;m=m+4|0;if((w|0)>=(K|0))break e}}z=0;do{v=d[((c[q>>2]|0)>>>2&15)+(f+875)>>0]|0;r=c[m>>2]|0;w=(z|0)==0;t=z;z=z+8|0;x=(z|0)>=(K|0);y=F|w&1|(x&1)<<1;f:do if((r|0)>(O|0)){t=H+t|0;u=f+53528+(v<<2)|0;r=f+53784+(v<<2)|0;W(t,M,y,c[u>>2]|0,c[r>>2]|0,1);if(!(!w?(c[m+-4>>2]|0)>3840:0))Ra=464;do if((Ra|0)==464){Ra=0;if(!x?(c[m+4>>2]|0)>3840:0)break;if(!C?(c[m+(I<<2)>>2]|0)>3840:0)break;if(B)break f;if((c[m+(P<<2)>>2]|0)<=3840)break f}while(0);W(t,M,y,c[u>>2]|0,c[r>>2]|0,1);W(t,M,y,c[u>>2]|0,c[r>>2]|0,1)}else{if((r|0)>1536){W(H+t|0,M,y,c[f+53528+(v<<2)>>2]|0,c[f+53784+(v<<2)>>2]|0,1);break}if((r|0)<=384)break;W(H+t|0,M,y,c[f+53528+(v<<2)>>2]|0,c[f+53784+(v<<2)>>2]|0,0)}while(0);q=q+4|0;m=m+4|0}while((z|0)<(K|0))}else o=o+8|0;while(0);if((o|0)<(N|0))H=H+J|0;else break}}while(0);$a=(c[$>>2]|0)-i<>2]|0)-j<>2]|0;if(i|0){$a=c[oa>>2]|0;E[i&7](c[la>>2]|0,Ta,$a-fa|0,$a-ea|0)}j=c[wa>>2]|0;if(ga){i=j;ha=1;qa=j+qa|0}else break}Ea(l,Ja,0);Ea(l,Ja,1);Ea(l,Ja,2);$a=(a[k>>0]|0)==0;i=c[Ba>>2]|0;c[Oa>>2]=i;if($a){c[Na>>2]=i;$a=c[Ca>>2]|0;c[sa>>2]=$a;c[Ia>>2]=$a}else c[sa>>2]=c[Ca>>2];$a=0;A=Za;return $a|0}function U(b,e,f,g,h,i,j,k){b=b|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,t=0,u=0,v=0,w=0,x=0,y=0,z=0,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;E=A;A=A+48|0;D=E;v=D+20|0;w=D+16|0;x=D+4|0;y=D+8|0;z=D+12|0;r=D+24|0;s=D+28|0;t=D+32|0;u=D+36|0;B=0;C=b+(e*6|0)|0;while(1){m=d[f>>0]|0;c[D>>2]=m;K=f+g|0;l=a[K>>0]|0;n=l&255;c[x>>2]=n;K=K+g|0;o=d[K>>0]|0;c[y>>2]=o;K=K+g|0;p=d[K>>0]|0;c[z>>2]=p;K=K+g|0;q=d[K>>0]|0;c[w>>2]=q;K=K+g|0;F=d[K>>0]|0;c[v>>2]=F;K=K+g|0;I=d[K>>0]|0;c[r>>2]=I;K=K+g|0;J=d[K>>0]|0;c[s>>2]=J;K=K+g|0;L=d[K>>0]|0;c[t>>2]=L;K=d[K+g>>0]|0;c[u>>2]=K;H=n-m|0;G=F-I|0;M=o-n|0;I=I-J|0;N=p-o|0;J=J-L|0;O=q-p|0;H=((O|0)>-1?O:0-O|0)+(((N|0)>-1?N:0-N|0)+(((M|0)>-1?M:0-M|0)+((H|0)>-1?H:0-H|0)))|0;K=L-K|0;G=((K|0)>-1?K:0-K|0)+(((J|0)>-1?J:0-J|0)+(((I|0)>-1?I:0-I|0)+((G|0)>-1?G:0-G|0)))|0;c[j>>2]=(c[j>>2]|0)+((H|0)<255?H:255);c[k>>2]=(c[k>>2]|0)+((G|0)<255?G:255);if((H|0)<(i|0)&(G|0)<(i|0)?(F-q|0)<(h|0)&(q-F|0)<(h|0):0){a[b>>0]=(q+4+(m*3|0)+(n<<1)+o+p|0)>>>3;l=b+e|0;a[l>>0]=((c[x>>2]|0)+4+(c[z>>2]|0)+(c[w>>2]|0)+((c[y>>2]|0)+(c[D>>2]|0)<<1)+(c[v>>2]|0)|0)>>>3;l=l+e|0;a[l>>0]=((c[D>>2]|0)+4+(c[x>>2]|0)+(c[y>>2]|0)+(c[z>>2]<<1)+(c[w>>2]|0)+(c[v>>2]|0)+(c[r>>2]|0)|0)>>>3;l=l+e|0;a[l>>0]=((c[x>>2]|0)+4+(c[y>>2]|0)+(c[z>>2]|0)+(c[w>>2]<<1)+(c[v>>2]|0)+(c[r>>2]|0)+(c[s>>2]|0)|0)>>>3;l=l+e|0;a[l>>0]=((c[y>>2]|0)+4+(c[z>>2]|0)+(c[w>>2]|0)+(c[v>>2]<<1)+(c[r>>2]|0)+(c[s>>2]|0)+(c[t>>2]|0)|0)>>>3;a[l+e>>0]=((c[z>>2]|0)+4+(c[w>>2]|0)+(c[v>>2]|0)+(c[r>>2]<<1)+(c[s>>2]|0)+(c[t>>2]|0)+(c[u>>2]|0)|0)>>>3;a[C>>0]=((c[w>>2]|0)+4+(c[v>>2]|0)+(c[r>>2]|0)+(c[t>>2]|0)+((c[u>>2]|0)+(c[s>>2]|0)<<1)|0)>>>3;l=((c[v>>2]|0)+4+(c[r>>2]|0)+(c[s>>2]|0)+(c[t>>2]<<1)+((c[u>>2]|0)*3|0)|0)>>>3;m=C}else{a[b>>0]=l;m=b+e|0;a[m>>0]=c[y>>2];m=m+e|0;a[m>>0]=c[z>>2];m=m+e|0;a[m>>0]=c[w>>2];m=m+e|0;a[m>>0]=c[v>>2];m=m+e|0;a[m>>0]=c[r>>2];m=m+e|0;a[m>>0]=c[s>>2];l=c[t>>2]|0}a[m+e>>0]=l;B=B+1|0;if((B|0)==8)break;else{C=C+1|0;b=b+1|0;f=f+1|0}}A=E;return}function V(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;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,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;C=A;A=A+48|0;B=C;r=h+4|0;s=B+20|0;t=B+16|0;u=B+4|0;v=B+8|0;w=B+12|0;n=B+24|0;o=B+28|0;p=B+32|0;q=B+36|0;x=0;y=b;z=b+5|0;m=b+6|0;while(1){b=d[y+-1>>0]|0;c[B>>2]=b;i=d[y>>0]|0;c[u>>2]=i;j=d[y+1>>0]|0;c[v>>2]=j;k=d[y+2>>0]|0;c[w>>2]=k;l=d[y+3>>0]|0;c[t>>2]=l;D=d[y+4>>0]|0;c[s>>2]=D;G=d[y+5>>0]|0;c[n>>2]=G;H=d[y+6>>0]|0;c[o>>2]=H;J=d[y+7>>0]|0;c[p>>2]=J;I=d[y+8>>0]|0;c[q>>2]=I;F=i-b|0;E=D-G|0;K=j-i|0;G=G-H|0;L=k-j|0;H=H-J|0;M=l-k|0;F=((M|0)>-1?M:0-M|0)+(((L|0)>-1?L:0-L|0)+(((K|0)>-1?K:0-K|0)+((F|0)>-1?F:0-F|0)))|0;I=J-I|0;E=((I|0)>-1?I:0-I|0)+(((H|0)>-1?H:0-H|0)+(((G|0)>-1?G:0-G|0)+((E|0)>-1?E:0-E|0)))|0;c[h>>2]=(c[h>>2]|0)+((F|0)<255?F:255);c[r>>2]=(c[r>>2]|0)+((E|0)<255?E:255);if((F|0)<(g|0)&(E|0)<(g|0)?(D-l|0)<(f|0)&(l-D|0)<(f|0):0){a[y>>0]=(l+4+(b*3|0)+(i<<1)+j+k|0)>>>3;a[y+1>>0]=((c[u>>2]|0)+4+(c[w>>2]|0)+(c[t>>2]|0)+((c[v>>2]|0)+(c[B>>2]|0)<<1)+(c[s>>2]|0)|0)>>>3;a[y+2>>0]=((c[B>>2]|0)+4+(c[u>>2]|0)+(c[v>>2]|0)+(c[w>>2]<<1)+(c[t>>2]|0)+(c[s>>2]|0)+(c[n>>2]|0)|0)>>>3;a[y+3>>0]=((c[u>>2]|0)+4+(c[v>>2]|0)+(c[w>>2]|0)+(c[t>>2]<<1)+(c[s>>2]|0)+(c[n>>2]|0)+(c[o>>2]|0)|0)>>>3;a[y+4>>0]=((c[v>>2]|0)+4+(c[w>>2]|0)+(c[t>>2]|0)+(c[s>>2]<<1)+(c[n>>2]|0)+(c[o>>2]|0)+(c[p>>2]|0)|0)>>>3;a[y+5>>0]=((c[w>>2]|0)+4+(c[t>>2]|0)+(c[s>>2]|0)+(c[n>>2]<<1)+(c[o>>2]|0)+(c[p>>2]|0)+(c[q>>2]|0)|0)>>>3;a[m>>0]=((c[t>>2]|0)+4+(c[s>>2]|0)+(c[n>>2]|0)+(c[p>>2]|0)+((c[q>>2]|0)+(c[o>>2]|0)<<1)|0)>>>3;a[z+2>>0]=((c[s>>2]|0)+4+(c[n>>2]|0)+(c[o>>2]|0)+(c[p>>2]<<1)+((c[q>>2]|0)*3|0)|0)>>>3}x=x+1|0;if((x|0)==8)break;else{y=y+e|0;z=z+e|0;m=m+e|0}}A=C;return}function W(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0;v=A;A=A+576|0;u=v+288|0;t=v;o=g*3|0;r=d[1755+i>>0]|0;o=(o|0)>(r|0)?r:o;r=b+(0-(0-(f>>>2&1^1)&e))|0;n=g+32|0;l=1757+i|0;j=d[l>>0]|0;s=f>>>3&1^1;i=0;g=r;k=b;while(1){q=i<<3;w=(d[k>>0]|0)-(d[g>>0]|0)|0;w=n-(((w|0)>-1?w:0-w|0)<>2]=(w|0)<-64?h:(m|0)>0?m:0;m=(d[k+1>>0]|0)-(d[g+1>>0]|0)|0;m=n-(((m|0)>-1?m:0-m|0)<>2]=(m|0)<-64?h:(w|0)>0?w:0;w=(d[k+2>>0]|0)-(d[g+2>>0]|0)|0;w=n-(((w|0)>-1?w:0-w|0)<>2]=(w|0)<-64?h:(m|0)>0?m:0;m=(d[k+3>>0]|0)-(d[g+3>>0]|0)|0;m=n-(((m|0)>-1?m:0-m|0)<>2]=(m|0)<-64?h:(w|0)>0?w:0;w=(d[k+4>>0]|0)-(d[g+4>>0]|0)|0;w=n-(((w|0)>-1?w:0-w|0)<>2]=(w|0)<-64?h:(m|0)>0?m:0;m=(d[k+5>>0]|0)-(d[g+5>>0]|0)|0;m=n-(((m|0)>-1?m:0-m|0)<>2]=(m|0)<-64?h:(w|0)>0?w:0;w=(d[k+6>>0]|0)-(d[g+6>>0]|0)|0;w=n-(((w|0)>-1?w:0-w|0)<>2]=(w|0)<-64?h:(m|0)>0?m:0;m=(d[k+7>>0]|0)-(d[g+7>>0]|0)|0;m=n-(((m|0)>-1?m:0-m|0)<>2]=(m|0)<-64?h:(g|0)>0?g:0;g=k+(0-(s|i>>>0<7)&e)|0;i=i+1|0;if((i|0)==9)break;else{w=k;k=g;g=w}}q=0-(f&1^1)|0;m=d[l>>0]|0;j=f>>>1&1;i=j^1;k=0;l=b;g=b+q|0;while(1){w=k<<3;x=(d[l>>0]|0)-(d[g>>0]|0)|0;x=n-(((x|0)>-1?x:0-x|0)<>2]=(x|0)<-64?h:(f|0)>0?f:0;f=g+e|0;g=l+e|0;x=(d[g>>0]|0)-(d[f>>0]|0)|0;x=n-(((x|0)>-1?x:0-x|0)<>2]=(x|0)<-64?h:(y|0)>0?y:0;f=f+e|0;g=g+e|0;y=(d[g>>0]|0)-(d[f>>0]|0)|0;y=n-(((y|0)>-1?y:0-y|0)<>2]=(y|0)<-64?h:(x|0)>0?x:0;f=f+e|0;g=g+e|0;x=(d[g>>0]|0)-(d[f>>0]|0)|0;x=n-(((x|0)>-1?x:0-x|0)<>2]=(x|0)<-64?h:(y|0)>0?y:0;f=f+e|0;g=g+e|0;y=(d[g>>0]|0)-(d[f>>0]|0)|0;y=n-(((y|0)>-1?y:0-y|0)<>2]=(y|0)<-64?h:(x|0)>0?x:0;f=f+e|0;g=g+e|0;x=(d[g>>0]|0)-(d[f>>0]|0)|0;x=n-(((x|0)>-1?x:0-x|0)<>2]=(x|0)<-64?h:(y|0)>0?y:0;f=f+e|0;g=g+e|0;y=(d[g>>0]|0)-(d[f>>0]|0)|0;y=n-(((y|0)>-1?y:0-y|0)<>2]=(y|0)<-64?h:(x|0)>0?x:0;f=(d[g+e>>0]|0)-(d[f+e>>0]|0)|0;f=n-(((f|0)>-1?f:0-f|0)<>2]=(f|0)<-64?h:(g|0)>0?g:0;g=l+(i|k>>>0<7)|0;k=k+1|0;if((k|0)==9)break;else{y=l;l=g;g=y}}j=8-j|0;k=0;l=b;m=b+e|0;g=r;i=b;while(1){z=c[t+(k<<2)>>2]|0;f=(p(z,d[i+q>>0]|0)|0)+64|0;b=k<<3;n=c[u+(b<<2)>>2]|0;f=f+(p(n,d[g>>0]|0)|0)|0;y=k;k=k+1|0;w=k<<3;r=c[u+(w<<2)>>2]|0;f=f+(p(r,d[m>>0]|0)|0)|0;h=t+(y+8<<2)|0;o=c[h>>2]|0;x=i+1|0;f=f+(p(o,d[x>>0]|0)|0)|0;o=f+(p(128-z-n-r-o|0,d[i>>0]|0)|0)|0;a[l>>0]=(o>>>31)+255&((o|0)>32767?255:o>>>7);h=c[h>>2]|0;o=(p(h,d[i>>0]|0)|0)+64|0;r=c[u+((b|1)<<2)>>2]|0;o=o+(p(r,d[g+1>>0]|0)|0)|0;n=c[u+((w|1)<<2)>>2]|0;o=o+(p(n,d[m+1>>0]|0)|0)|0;z=t+(y+16<<2)|0;f=c[z>>2]|0;B=i+2|0;o=o+(p(f,d[B>>0]|0)|0)|0;f=o+(p(128-h-r-n-f|0,d[x>>0]|0)|0)|0;a[l+1>>0]=(f>>>31)+255&((f|0)>32767?255:f>>>7);z=c[z>>2]|0;x=(p(z,d[x>>0]|0)|0)+64|0;f=c[u+((b|2)<<2)>>2]|0;x=x+(p(f,d[g+2>>0]|0)|0)|0;n=c[u+((w|2)<<2)>>2]|0;x=x+(p(n,d[m+2>>0]|0)|0)|0;r=t+(y+24<<2)|0;h=c[r>>2]|0;o=i+3|0;x=x+(p(h,d[o>>0]|0)|0)|0;h=x+(p(128-z-f-n-h|0,d[B>>0]|0)|0)|0;a[l+2>>0]=(h>>>31)+255&((h|0)>32767?255:h>>>7);r=c[r>>2]|0;B=(p(r,d[B>>0]|0)|0)+64|0;h=c[u+((b|3)<<2)>>2]|0;B=B+(p(h,d[g+3>>0]|0)|0)|0;n=c[u+((w|3)<<2)>>2]|0;B=B+(p(n,d[m+3>>0]|0)|0)|0;f=t+(y+32<<2)|0;z=c[f>>2]|0;x=i+4|0;B=B+(p(z,d[x>>0]|0)|0)|0;z=B+(p(128-r-h-n-z|0,d[o>>0]|0)|0)|0;a[l+3>>0]=(z>>>31)+255&((z|0)>32767?255:z>>>7);f=c[f>>2]|0;o=(p(f,d[o>>0]|0)|0)+64|0;z=c[u+((b|4)<<2)>>2]|0;o=o+(p(z,d[g+4>>0]|0)|0)|0;n=c[u+((w|4)<<2)>>2]|0;o=o+(p(n,d[m+4>>0]|0)|0)|0;h=t+(y+40<<2)|0;r=c[h>>2]|0;B=i+5|0;o=o+(p(r,d[B>>0]|0)|0)|0;r=o+(p(128-f-z-n-r|0,d[x>>0]|0)|0)|0;a[l+4>>0]=(r>>>31)+255&((r|0)>32767?255:r>>>7);h=c[h>>2]|0;x=(p(h,d[x>>0]|0)|0)+64|0;r=c[u+((b|5)<<2)>>2]|0;x=x+(p(r,d[g+5>>0]|0)|0)|0;n=c[u+((w|5)<<2)>>2]|0;x=x+(p(n,d[m+5>>0]|0)|0)|0;z=t+(y+48<<2)|0;f=c[z>>2]|0;o=i+6|0;x=x+(p(f,d[o>>0]|0)|0)|0;f=x+(p(128-h-r-n-f|0,d[B>>0]|0)|0)|0;a[l+5>>0]=(f>>>31)+255&((f|0)>32767?255:f>>>7);z=c[z>>2]|0;B=(p(z,d[B>>0]|0)|0)+64|0;f=c[u+((b|6)<<2)>>2]|0;B=B+(p(f,d[g+6>>0]|0)|0)|0;n=c[u+((w|6)<<2)>>2]|0;B=B+(p(n,d[m+6>>0]|0)|0)|0;r=t+(y+56<<2)|0;h=c[r>>2]|0;x=i+7|0;B=B+(p(h,d[x>>0]|0)|0)|0;h=B+(p(128-z-f-n-h|0,d[o>>0]|0)|0)|0;a[l+6>>0]=(h>>>31)+255&((h|0)>32767?255:h>>>7);r=c[r>>2]|0;o=(p(r,d[o>>0]|0)|0)+64|0;b=c[u+((b|7)<<2)>>2]|0;o=o+(p(b,d[g+7>>0]|0)|0)|0;w=c[u+((w|7)<<2)>>2]|0;o=o+(p(w,d[m+7>>0]|0)|0)|0;g=c[t+(y+64<<2)>>2]|0;o=o+(p(g,d[i+j>>0]|0)|0)|0;g=o+(p(128-r-b-w-g|0,d[x>>0]|0)|0)|0;a[l+7>>0]=(g>>>31)+255&((g|0)>32767?255:g>>>7);g=m+(0-(s|y>>>0<6)&e)|0;if((k|0)==8)break;else{z=m;B=i;l=l+e|0;m=g;i=z;g=B}}A=v;return}function X(a,b){a=a|0;b=b|0;if((a|0)==0|(b|0)==0){b=-1;return b|0}ra(b,a+54056|0);b=0;return b|0}function Y(d,e){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;t=A;A=A+512|0;r=t+256|0;q=t;f=La(d,3)|0;g=0;do{a[e+256+g>>0]=La(d,f)|0;g=g+1|0}while((g|0)!=64);f=(La(d,4)|0)+1|0;g=0;do{b[e+128+(g<<1)>>1]=La(d,f)|0;g=g+1|0}while((g|0)!=64);f=(La(d,4)|0)+1|0;g=0;do{b[e+(g<<1)>>1]=La(d,f)|0;g=g+1|0}while((g|0)!=64);o=La(d,9)|0;p=Pa((o<<6)+64|0)|0;if(!p){s=-1;A=t;return s|0}if((o|0)>=0){f=0;while(1){g=0;do{a[p+(f<<6)+g>>0]=La(d,8)|0;g=g+1|0}while((g|0)!=64);if((f|0)==(o|0))break;else f=f+1|0}}m=oa(o)|0;n=0;a:while(1){k=(n>>>0)/3|0;g=n-(k*3|0)|0;i=e+320+(k*36|0)+(g*12|0)|0;if((n|0)!=0?(Ma(d)|0)==0:0){do if(n>>>0>2)if(!(Ma(d)|0)){g=n+-1|0;f=(g|0)/3|0;g=g-(f*3|0)|0;break}else{f=k+-1|0;break}else{g=n+-1|0;f=(g|0)/3|0;g=g-(f*3|0)|0}while(0);l=e+320+(f*36|0)+(g*12|0)|0;c[i>>2]=c[l>>2];c[i+4>>2]=c[l+4>>2];c[i+8>>2]=c[l+8>>2]}else s=22;b:do if((s|0)==22){s=0;c[q>>2]=La(d,m)|0;h=0;l=0;do{f=(La(d,oa(62-h|0)|0)|0)+1|0;c[r+(l<<2)>>2]=f;h=f+h|0;f=La(d,m)|0;l=l+1|0;c[q+(l<<2)>>2]=f}while((h|0)<63);if((h|0)!=63){s=25;break a}c[i>>2]=l;i=l<<2;h=Pa(i)|0;c[e+320+(k*36|0)+(g*12|0)+4>>2]=h;if(!h){s=27;break a}Xa(h|0,r|0,i|0)|0;j=Pa((l<<6)+64|0)|0;if(!j){s=29;break a}c[e+320+(k*36|0)+(g*12|0)+8>>2]=j;if((f|0)>(o|0)){s=32;break a}h=l;while(1){i=j+(h<<6)|0;f=p+(f<<6)|0;g=i+64|0;do{a[i>>0]=a[f>>0]|0;i=i+1|0;f=f+1|0}while((i|0)<(g|0));if((h|0)<=0)break b;h=h+-1|0;f=c[q+(h<<2)>>2]|0;if((f|0)>(o|0)){s=32;break a}}}while(0);n=n+1|0;if(n>>>0>=6){s=36;break}}if((s|0)==25){Qa(p);s=-20;A=t;return s|0}else if((s|0)==27){Qa(p);s=-1;A=t;return s|0}else if((s|0)==29){Qa(p);s=-1;A=t;return s|0}else if((s|0)==32){Qa(p);s=-20;A=t;return s|0}else if((s|0)==36){Qa(p);s=0;A=t;return s|0}return 0}function Z(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=5;g=6;while(1){e=(i>>>0)/3|0;h=i-(e*3|0)|0;if((g|0)!=1){d=g+-2|0;f=(d|0)/3|0;d=d-(f*3|0)|0;b=a+320+(e*36|0)+(h*12|0)+4|0;if((c[b>>2]|0)==(c[a+320+(f*36|0)+(d*12|0)+4>>2]|0))c[b>>2]=0;e=a+320+(e*36|0)+(h*12|0)+8|0;if((c[e>>2]|0)==(c[a+320+(f*36|0)+(d*12|0)+8>>2]|0))c[e>>2]=0;if(g>>>0>3){d=a+356+(h*12|0)+4|0;if((c[d>>2]|0)==(c[a+320+(h*12|0)+4>>2]|0))c[d>>2]=0;d=a+356+(h*12|0)+8|0;if((c[d>>2]|0)==(c[a+320+(h*12|0)+8>>2]|0)){c[d>>2]=0;d=e}else d=e}else d=e}else{d=a+320+(e*36|0)+(h*12|0)+8|0;b=a+320+(e*36|0)+(h*12|0)+4|0}Qa(c[b>>2]|0);Qa(c[d>>2]|0);if(!i)break;else{g=i;i=i+-1|0}}return}function _(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((h|0)<=0)return;j=0;do{l=c[i+(c[g+(j<<2)>>2]<<2)>>2]|0;k=b+l|0;l=e+l|0;o=l;n=o;n=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;o=o+4|0;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;p=k;m=p;a[m>>0]=n;a[m+1>>0]=n>>8;a[m+2>>0]=n>>16;a[m+3>>0]=n>>24;p=p+4|0;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;k=k+f|0;l=l+f|0;p=l;o=p;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;p=p+4|0;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;m=k;n=m;a[n>>0]=o;a[n+1>>0]=o>>8;a[n+2>>0]=o>>16;a[n+3>>0]=o>>24;m=m+4|0;a[m>>0]=p;a[m+1>>0]=p>>8;a[m+2>>0]=p>>16;a[m+3>>0]=p>>24;k=k+f|0;l=l+f|0;m=l;p=m;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;m=m+4|0;m=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;n=k;o=n;a[o>>0]=p;a[o+1>>0]=p>>8;a[o+2>>0]=p>>16;a[o+3>>0]=p>>24;n=n+4|0;a[n>>0]=m;a[n+1>>0]=m>>8;a[n+2>>0]=m>>16;a[n+3>>0]=m>>24;k=k+f|0;l=l+f|0;n=l;m=n;m=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;n=n+4|0;n=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;o=k;p=o;a[p>>0]=m;a[p+1>>0]=m>>8;a[p+2>>0]=m>>16;a[p+3>>0]=m>>24;o=o+4|0;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;k=k+f|0;l=l+f|0;o=l;n=o;n=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;o=o+4|0;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;p=k;m=p;a[m>>0]=n;a[m+1>>0]=n>>8;a[m+2>>0]=n>>16;a[m+3>>0]=n>>24;p=p+4|0;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;k=k+f|0;l=l+f|0;p=l;o=p;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;p=p+4|0;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;m=k;n=m;a[n>>0]=o;a[n+1>>0]=o>>8;a[n+2>>0]=o>>16;a[n+3>>0]=o>>24;m=m+4|0;a[m>>0]=p;a[m+1>>0]=p>>8;a[m+2>>0]=p>>16;a[m+3>>0]=p>>24;k=k+f|0;l=l+f|0;m=l;p=m;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;m=m+4|0;m=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;n=k;o=n;a[o>>0]=p;a[o+1>>0]=p>>8;a[o+2>>0]=p>>16;a[o+3>>0]=p>>24;n=n+4|0;a[n>>0]=m;a[n+1>>0]=m>>8;a[n+2>>0]=m>>16;a[n+3>>0]=m>>24;l=l+f|0;n=l;n=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;l=l+4|0;l=d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24;k=k+f|0;m=k;a[m>>0]=n;a[m+1>>0]=n>>8;a[m+2>>0]=n>>16;a[m+3>>0]=n>>24;k=k+4|0;a[k>>0]=l;a[k+1>>0]=l>>8;a[k+2>>0]=l>>16;a[k+3>>0]=l>>24;j=j+1|0}while((j|0)!=(h|0));return}function $(c,d,e){c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=0;while(1){g=f<<3;h=b[e+(g<<1)>>1]|0;a[c>>0]=h<<16>>16>-129?(h<<16>>16>127?-1:(h&65535)+128&255):0;h=b[e+((g|1)<<1)>>1]|0;a[c+1>>0]=h<<16>>16>-129?(h<<16>>16>127?-1:(h&65535)+128&255):0;h=b[e+((g|2)<<1)>>1]|0;a[c+2>>0]=h<<16>>16>-129?(h<<16>>16>127?-1:(h&65535)+128&255):0;h=b[e+((g|3)<<1)>>1]|0;a[c+3>>0]=h<<16>>16>-129?(h<<16>>16>127?-1:(h&65535)+128&255):0;h=b[e+((g|4)<<1)>>1]|0;a[c+4>>0]=h<<16>>16>-129?(h<<16>>16>127?-1:(h&65535)+128&255):0;h=b[e+((g|5)<<1)>>1]|0;a[c+5>>0]=h<<16>>16>-129?(h<<16>>16>127?-1:(h&65535)+128&255):0;h=b[e+((g|6)<<1)>>1]|0;a[c+6>>0]=h<<16>>16>-129?(h<<16>>16>127?-1:(h&65535)+128&255):0;g=b[e+((g|7)<<1)>>1]|0;a[c+7>>0]=g<<16>>16>-129?(g<<16>>16>127?-1:(g&65535)+128&255):0;f=f+1|0;if((f|0)==8)break;else c=c+d|0}return}function aa(c,e,f,g){c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){i=h<<3;j=(d[e>>0]|0)+(b[g+(i<<1)>>1]|0)|0;a[c>>0]=(j>>>31)+255&((j|0)<255?j:255);j=(d[e+1>>0]|0)+(b[g+((i|1)<<1)>>1]|0)|0;a[c+1>>0]=(j>>>31)+255&((j|0)<255?j:255);j=(d[e+2>>0]|0)+(b[g+((i|2)<<1)>>1]|0)|0;a[c+2>>0]=(j>>>31)+255&((j|0)<255?j:255);j=(d[e+3>>0]|0)+(b[g+((i|3)<<1)>>1]|0)|0;a[c+3>>0]=(j>>>31)+255&((j|0)<255?j:255);j=(d[e+4>>0]|0)+(b[g+((i|4)<<1)>>1]|0)|0;a[c+4>>0]=(j>>>31)+255&((j|0)<255?j:255);j=(d[e+5>>0]|0)+(b[g+((i|5)<<1)>>1]|0)|0;a[c+5>>0]=(j>>>31)+255&((j|0)<255?j:255);j=(d[e+6>>0]|0)+(b[g+((i|6)<<1)>>1]|0)|0;a[c+6>>0]=(j>>>31)+255&((j|0)<255?j:255);i=(d[e+7>>0]|0)+(b[g+((i|7)<<1)>>1]|0)|0;a[c+7>>0]=(i>>>31)+255&((i|0)<255?i:255);h=h+1|0;if((h|0)==8)break;else{c=c+f|0;e=e+f|0}}return}function ba(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=0;while(1){j=i<<3;k=(((d[f>>0]|0)+(d[e>>0]|0)|0)>>>1)+(b[h+(j<<1)>>1]|0)|0;a[c>>0]=(k>>>31)+255&((k|0)<255?k:255);k=(((d[f+1>>0]|0)+(d[e+1>>0]|0)|0)>>>1)+(b[h+((j|1)<<1)>>1]|0)|0;a[c+1>>0]=(k>>>31)+255&((k|0)<255?k:255);k=(((d[f+2>>0]|0)+(d[e+2>>0]|0)|0)>>>1)+(b[h+((j|2)<<1)>>1]|0)|0;a[c+2>>0]=(k>>>31)+255&((k|0)<255?k:255);k=(((d[f+3>>0]|0)+(d[e+3>>0]|0)|0)>>>1)+(b[h+((j|3)<<1)>>1]|0)|0;a[c+3>>0]=(k>>>31)+255&((k|0)<255?k:255);k=(((d[f+4>>0]|0)+(d[e+4>>0]|0)|0)>>>1)+(b[h+((j|4)<<1)>>1]|0)|0;a[c+4>>0]=(k>>>31)+255&((k|0)<255?k:255);k=(((d[f+5>>0]|0)+(d[e+5>>0]|0)|0)>>>1)+(b[h+((j|5)<<1)>>1]|0)|0;a[c+5>>0]=(k>>>31)+255&((k|0)<255?k:255);k=(((d[f+6>>0]|0)+(d[e+6>>0]|0)|0)>>>1)+(b[h+((j|6)<<1)>>1]|0)|0;a[c+6>>0]=(k>>>31)+255&((k|0)<255?k:255);j=(((d[f+7>>0]|0)+(d[e+7>>0]|0)|0)>>>1)+(b[h+((j|7)<<1)>>1]|0)|0;a[c+7>>0]=(j>>>31)+255&((j|0)<255?j:255);i=i+1|0;if((i|0)==8)break;else{c=c+g|0;e=e+g|0;f=f+g|0}}return}function ca(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Ma(b)|0;if((Na(b)|0)<0){c=-20;return c|0}g=e;h=0;f=0;i=0;e=0;while(1){if(!g)if((f|0)>31){e=-20;f=13;break}else f=f+1|0;else{k=i+1|0;if((i|0)>31){e=-20;f=13;break}g=La(b,5)|0;j=d[1072+g>>0]|0;i=f+j&255;j=1<>0]|0;while(1){a[c+(e<<1)>>0]=g;a[c+(e<<1)+1>>0]=i;e=e+1|0;if((j|0)<=1)break;else{j=j+-1|0;g=g+1|0}}g=-2147483648>>>(f+-1|0);if(!((f|0)<1|(g&h|0)==0)){i=f;while(1){h=g^h;g=g<<1;f=i+-1|0;if((i|0)<2|(g&h|0)==0)break;else i=f}}if((f|0)<1){f=13;break}else{h=g|h;i=k}}g=Ma(b)|0;if((Na(b)|0)<0){e=-20;f=13;break}}if((f|0)==13)return e|0;return 0}function da(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=A;A=A+512|0;g=i;f=0;while(1){d=ca(a,g)|0;if((d|0)<0)break;e=ea(0,g,d)|0;if(e>>>0>32767){d=-23;break}e=Pa(e<<1)|0;if(!e){d=-1;break}ea(e,g,d)|0;c[b+(f<<2)>>2]=e;f=f+1|0;if(f>>>0>=80){d=0;h=7;break}}if((h|0)==7){A=i;return d|0}h=d;A=i;return h|0}function ea(c,e,f){c=c|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0;F=A;A=A+176|0;D=F+96|0;B=F+48|0;C=F;a[B>>0]=0;y=f+255&255;a[C>>0]=y;z=(c|0)!=0;h=0;f=0;x=0;g=0;while(1){u=e+(g<<1)|0;w=1-g+(y&255)|0;v=h&255;r=h<<24>>24==0?7:2;a:do if((w|0)>0){j=0;o=1;h=1;t=2;while(1){s=h;h=h+1|0;n=h+v|0;m=0;q=0;l=0;while(1){k=u+(l<<1)|0;i=d[u+(l<<1)+1>>0]|0;do if(n>>>0<=i>>>0)if((n|0)==(i|0)){m=1;i=l+1|0;break}else{i=(fa(k,n)|0)+l|0;break}else i=l+1|0;while(0);k=q+1|0;if((i|0)<(w|0)){q=k;l=i}else break}j=(o|0)==0?j:s;if(q>>>0>>0)break a;if((p(k,r)|0)<(2<>1]=i;q=x+1+(1<>1]=i+1<<16>>16;b[c+(x<<16>>16<<1)>>1]=j;h=y;i=f;f=j;while(1){m=h&255;if((g|0)<=(m|0)){n=d[B+i>>0]|0;h=f+n|0;l=D+(i<<1)|0;o=g;while(1){f=d[e+(o<<1)+1>>0]|0;if((h|0)<(f|0)){g=o;E=30;break b}k=h-f|0;g=0-(f-n<<8|(d[e+(o<<1)>>0]|0))&65535;if((k|0)!=31){j=b[l>>1]|0;f=1<>16;b[c+(y<<16>>16<<1)>>1]=g;if((f|0)<=1)break;else f=f+-1|0}b[l>>1]=j}g=o+1|0;if((o|0)<(m|0))o=g;else break}}f=i+-1|0;if((i|0)<=0)break b;y=(d[B+i>>0]|0)-(d[B+f>>0]|0)|0;h=a[C+f>>0]|0;i=f;f=y}}else{h=y;i=f;f=j;while(1){j=h&255;if((g|0)<=(j|0)){h=f+(d[B+i>>0]|0)|0;while(1){if((h|0)<(d[e+(g<<1)+1>>0]|0|0)){E=30;break b}f=g+1|0;if((g|0)<(j|0))g=f;else{g=f;break}}}f=i+-1|0;if((i|0)<=0)break b;y=(d[B+i>>0]|0)-(d[B+f>>0]|0)|0;h=a[C+f>>0]|0;i=f;f=y}}while(0);if((E|0)==30){E=0;f=i+1|0;a[B+f>>0]=h;if(z){x=D+(i<<1)|0;y=b[x>>1]|0;b[x>>1]=y+1<<16>>16;b[c+(y<<16>>16<<1)>>1]=q}a[C+f>>0]=g+255+(fa(e+(g<<1)|0,h&255)|0)}if((f|0)<=-1)break;y=a[C+f>>0]|0;h=a[B+f>>0]|0;x=q}A=F;return q|0}function fa(a,b){a=a|0;b=b|0;var c=0,e=0,f=0,g=0,h=0;g=b+31|0;h=0;f=0;while(1){c=(d[a+(f<<1)+1>>0]|0)-b|0;if((c|0)<32){e=-2147483648>>>c;c=f+1|0}else{e=1;c=(fa(a+(f<<1)|0,g)|0)+f|0}h=e+h|0;if((h|0)<=-1)break;else f=c}return c|0}function ga(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=0;while(1){e=b+(d<<2)|0;g=(ha(c[e>>2]|0,0)|0)<<1;f=Pa(g)|0;c[a+(d<<2)>>2]=f;if(!f)break;Xa(f|0,c[e>>2]|0,g|0)|0;d=d+1|0;if(d>>>0>=80){d=0;h=7;break}}if((h|0)==7)return d|0;if(!d){h=-1;return h|0}do{h=d;d=d+-1|0;Qa(c[a+(d<<2)>>2]|0)}while((h|0)>1);d=-1;return d|0}function ha(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=b[a+(c<<1)>>1]|0;i=1<>1]|0;d=g<<16>>16;if(g<<16>>16<1)g=1<>8);else{g=1;c=(ha(a,d)|0)+c|0}f=g+f|0}while((f|0)<(i|0));return c|0}function ia(a){a=a|0;var b=0;b=0;do{Qa(c[a+(b<<2)>>2]|0);b=b+1|0}while((b|0)!=80);return}function ja(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+4|0;n=a+8|0;l=c[a>>2]|0;j=a+12|0;g=c[j>>2]|0;a=0;f=c[m>>2]|0;h=c[n>>2]|0;while(1){k=b[e+(a<<1)>>1]|0;if((g|0)<(k|0)){i=f;f=32-g|0;while(1){if(i>>>0>=l>>>0){f=i;g=-1073741824;break}g=f+-8|0;f=i+1|0;h=d[i>>0]<>>0>7){i=f;f=g}else break}g=32-g|0}i=b[e+(a+1+(h>>>(32-k|0))<<1)>>1]|0;a=i<<16>>16;if(i<<16>>16<1)break;g=g-k|0;h=h<>8;c[m>>2]=f;c[n>>2]=h<>2]=g-l;return e&255|0}function ka(b){b=b|0;var d=0,e=0;d=b;e=d+60|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a[b>>0]=3;a[b+1>>0]=2;a[b+2>>0]=1;c[b+60>>2]=6;return}function la(a){a=a|0;var b=0;b=a+64|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function ma(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}function na(a){a=a|0;var b=0,d=0,e=0;if(!a)return;e=a+8|0;b=c[a>>2]|0;if((c[e>>2]|0)>0){d=0;do{Qa(c[b+(d<<2)>>2]|0);d=d+1|0;b=c[a>>2]|0}while((d|0)<(c[e>>2]|0))}Qa(b);Qa(c[a+4>>2]|0);Qa(c[a+12>>2]|0);c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}function oa(a){a=a|0;var b=0;if(!a){b=0;return b|0}b=0;do{a=a>>>1;b=b+1|0}while((a|0)!=0);a=b;return a|0}function pa(b,c){b=b|0;c=c|0;var d=0;d=c+-1|0;if(~c>>>0>>0|(d&(c|-256)|0)!=0){d=0;return d|0}b=Pa(c+b|0)|0;c=b+-1&d;if(!b){d=0;return d|0}a[b+c>>0]=c;d=b+(c+1)|0;return d|0}function qa(a){a=a|0;if(!a)return;a=a+-1|0;Qa(a+(0-(d[a>>0]|0))|0);return}function ra(a,b){a=a|0;b=b|0;var d=0,e=0;c[a>>2]=c[b>>2];e=c[b+4>>2]|0;c[a+4>>2]=e;d=0-(c[b+8>>2]|0)|0;c[a+8>>2]=d;c[a+12>>2]=(c[b+12>>2]|0)+(p(1-e|0,d)|0);c[a+16>>2]=c[b+16>>2];d=c[b+20>>2]|0;c[a+20>>2]=d;e=0-(c[b+24>>2]|0)|0;c[a+24>>2]=e;c[a+28>>2]=(c[b+28>>2]|0)+(p(1-d|0,e)|0);c[a+32>>2]=c[b+32>>2];e=c[b+36>>2]|0;c[a+36>>2]=e;d=0-(c[b+40>>2]|0)|0;c[a+40>>2]=d;c[a+44>>2]=(c[b+44>>2]|0)+(p(1-e|0,d)|0);return}function sa(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0;C=A;A=A+64|0;z=C;B=(g|0)==0;x=0;do{w=h+320+(x*12|0)|0;i=c[w>>2]|0;if((i|0)>=0){u=h+320+(x*12|0)+8|0;y=h+320+(x*12|0)+4|0;v=(x|0)==0;s=0;t=0;while(1){j=z;k=(c[u>>2]|0)+(t<<6)|0;l=j+64|0;do{a[j>>0]=a[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));if((t|0)==(i|0))q=s+1|0;else q=(c[(c[y>>2]|0)+(t<<2)>>2]|0)+s|0;r=t+1|0;m=s;while(1){i=p(d[z>>0]|0,e[h+(m<<1)>>1]|0)|0;if(!B)c[g+(m<<2)>>2]=(i>>>0)/160|0;i=i>>>0>102499?4096:((i>>>0)/100|0)<<2;l=f+(m*24|0)+(x<<3)|0;k=c[l>>2]|0;b[k>>1]=i>>>0>16?i:16;i=h+128+(m<<1)|0;j=1;do{o=p(d[z+(d[1136+j>>0]|0)>>0]|0,e[i>>1]|0)|0;o=o>>>0>102499?4096:((o>>>0)/100|0)<<2;b[k+(j<<1)>>1]=o>>>0>8?o:8;j=j+1|0}while((j|0)!=64);a:do if(!v){j=0;while(1){i=c[f+(m*24|0)+(j<<3)>>2]|0;if(!(Ta(k,i,128)|0))break;j=j+1|0;if(j>>>0>=x>>>0)break a}c[l>>2]=i}while(0);o=m+1|0;if((q|0)<=(o|0))break;m=q-o|0;i=c[u>>2]|0;n=o-s|0;j=c[(c[y>>2]|0)+(t<<2)>>2]|0;l=j<<1;k=0;do{D=p(m,d[i+(t<<6)+k>>0]|0)|0;a[z+k>>0]=(((p(n,d[i+(r<<6)+k>>0]|0)|0)+D<<1)+j|0)/(l|0)|0;k=k+1|0}while((k|0)!=64);m=o}i=c[w>>2]|0;if((t|0)<(i|0)){s=o;t=r}else break}}x=x+1|0}while((x|0)!=3);x=0;do{w=h+356+(x*12|0)|0;i=c[w>>2]|0;if((i|0)>=0){u=h+356+(x*12|0)+8|0;y=h+356+(x*12|0)+4|0;v=(x|0)==0;s=0;t=0;while(1){j=z;k=(c[u>>2]|0)+(t<<6)|0;l=j+64|0;do{a[j>>0]=a[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));if((t|0)==(i|0))q=s+1|0;else q=(c[(c[y>>2]|0)+(t<<2)>>2]|0)+s|0;r=t+1|0;o=s;while(1){i=p(d[z>>0]|0,e[h+(o<<1)>>1]|0)|0;if(!B)c[g+(o<<2)>>2]=(i>>>0)/160|0;i=i>>>0>102499?4096:((i>>>0)/100|0)<<2;m=f+(o*24|0)+(x<<3)+4|0;l=c[m>>2]|0;b[l>>1]=i>>>0>32?i:32;i=h+128+(o<<1)|0;j=1;do{D=p(d[z+(d[1136+j>>0]|0)>>0]|0,e[i>>1]|0)|0;D=D>>>0>102499?4096:((D>>>0)/100|0)<<2;b[l+(j<<1)>>1]=D>>>0>16?D:16;j=j+1|0}while((j|0)!=64);j=0;while(1){i=c[f+(o*24|0)+(j<<3)>>2]|0;if(!(Ta(l,i,128)|0)){k=38;break}j=j+1|0;if(j>>>0>=3){k=39;break}}b:do if((k|0)==39?(k=0,!v):0){j=0;do{i=c[f+(o*24|0)+(j<<3)+4>>2]|0;if(!(Ta(l,i,128)|0)){k=38;break b}j=j+1|0}while(j>>>0>>0)}while(0);if((k|0)==38)c[m>>2]=i;o=o+1|0;if((q|0)<=(o|0))break;m=q-o|0;i=c[u>>2]|0;n=o-s|0;j=c[(c[y>>2]|0)+(t<<2)>>2]|0;l=j<<1;k=0;do{D=p(m,d[i+(t<<6)+k>>0]|0)|0;a[z+k>>0]=(((p(n,d[i+(r<<6)+k>>0]|0)|0)+D<<1)+j|0)/(l|0)|0;k=k+1|0}while((k|0)!=64)}i=c[w>>2]|0;if((t|0)<(i|0)){s=o;t=r}else break}}x=x+1|0}while((x|0)!=3);A=C;return}function ta(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;f=b[c>>1]|0;g=b[c+2>>1]|0;e=b[c+4>>1]|0;c=b[c+6>>1]|0;d=((g&65535)<<24>>24)+((f&65535)<<24>>24)+((e&65535)<<24>>24)+((c&65535)<<24>>24)|0;c=(g<<16>>16>>8)+(f<<16>>16>>8)+(e<<16>>16>>8)+(c<<16>>16>>8)|0;b[a>>1]=(d+2+(d>>31)|0)>>>2&255|(c+2+(c>>31)|0)>>>2<<8;return}function ua(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;e=b[c>>1]|0;f=b[c+4>>1]|0;d=((f&65535)<<24>>24)+((e&65535)<<24>>24)|0;e=(f<<16>>16>>8)+(e<<16>>16>>8)|0;b[a>>1]=(d+1+(d>>31)|0)>>>1&255|(e+1+(e>>31)|0)>>>1<<8;e=b[c+2>>1]|0;c=b[c+6>>1]|0;d=((c&65535)<<24>>24)+((e&65535)<<24>>24)|0;c=(c<<16>>16>>8)+(e<<16>>16>>8)|0;b[a+2>>1]=(d+1+(d>>31)|0)>>>1&255|(c+1+(c>>31)|0)>>>1<<8;return}function va(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;e=b[c>>1]|0;f=b[c+2>>1]|0;d=((f&65535)<<24>>24)+((e&65535)<<24>>24)|0;e=(f<<16>>16>>8)+(e<<16>>16>>8)|0;b[a>>1]=(d+1+(d>>31)|0)>>>1&255|(e+1+(e>>31)|0)>>>1<<8;e=b[c+4>>1]|0;c=b[c+6>>1]|0;d=((c&65535)<<24>>24)+((e&65535)<<24>>24)|0;c=(c<<16>>16>>8)+(e<<16>>16>>8)|0;b[a+4>>1]=(d+1+(d>>31)|0)>>>1&255|(c+1+(c>>31)|0)>>>1<<8;return}function wa(a,c){a=a|0;c=c|0;b[a>>1]=b[c>>1]|0;b[a+2>>1]=b[c+2>>1]|0;b[a+4>>1]=b[c+4>>1]|0;b[a+6>>1]=b[c+6>>1]|0;return} function xa(b,e,f){b=b|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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=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=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,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;if(!e){b=-1;return b|0}g=c[e+4>>2]|0;if(g&15|0){b=-10;return b|0}m=e+8|0;i=c[m>>2]|0;if((i+-1|0)>>>0>1048574|((g+-1|0)>>>0>1048574|(i&15|0)!=0)){b=-10;return b|0}j=c[e+20>>2]|0;if(((c[e+12>>2]|0)+j|0)>>>0>g>>>0){b=-10;return b|0}l=e+24|0;g=c[l>>2]|0;k=e+16|0;h=c[k>>2]|0;if(j>>>0>255|(h+g|0)>>>0>i>>>0){b=-10;return b|0}if((i-g-h|0)>>>0>255){b=-10;return b|0}if((c[e+44>>2]|0)>>>0>2){b=-10;return b|0}if((c[e+48>>2]|0)>>>0>3){b=-10;return b|0}if(!(c[e+28>>2]|0)){b=-10;return b|0}if(!(c[e+32>>2]|0)){b=-10;return b|0}Ya(b+64|0,0,51568)|0;A=b;i=e;B=A+64|0;do{c[A>>2]=c[i>>2];A=A+4|0;i=i+4|0}while((A|0)<(B|0));Z=b+24|0;c[Z>>2]=(c[m>>2]|0)-(c[k>>2]|0)-(c[l>>2]|0);a[b+872>>0]=-1;c[b+68>>2]=0;c[b+64>>2]=1136;$=b+4|0;g=(c[$>>2]|0)>>>3;aa=b+8|0;v=(c[aa>>2]|0)>>>3;X=b+48|0;i=c[X>>2]|0;h=i&1^1;i=i>>>1&1^1;h=(h+g|0)>>>h;i=(i+v|0)>>>i;j=p(v,g)|0;m=p(i,h)|0;ha=m<<1;u=ha+j|0;r=(g+3|0)>>>2;s=(v+3|0)>>>2;k=(h+3|0)>>>2;l=(i+3|0)>>>2;n=p(s,r)|0;o=p(l,k)|0;ia=o<<1;q=ia+n|0;t=n<<2;do if((ha|0)>=(m|0)?(n&1073741823|0)==(n|0)&((q>>>0>>0|(ia>>>0>>0?1:((n>>>0)/(r>>>0)|0|0)!=(s|0)))^1):0){F=b+72|0;c[F>>2]=g;D=b+76|0;c[D>>2]=v;ba=b+80|0;c[ba>>2]=0;ca=b+84|0;c[ca>>2]=j;c[b+88>>2]=r;c[b+92>>2]=s;c[b+96>>2]=0;c[b+100>>2]=n;ia=b+136|0;c[ia>>2]=h;fa=b+104|0;c[fa>>2]=h;c[b+140>>2]=i;c[b+108>>2]=i;ea=b+112|0;c[ea>>2]=j;ha=b+144|0;c[ha>>2]=m+j;ga=b+148|0;c[ga>>2]=m;da=b+116|0;c[da>>2]=m;c[b+152>>2]=k;c[b+120>>2]=k;c[b+156>>2]=l;c[b+124>>2]=l;c[b+128>>2]=n;c[b+160>>2]=o+n;c[b+164>>2]=o;c[b+132>>2]=o;Y=b+180|0;c[Y>>2]=u;S=Ra(u,4)|0;C=b+168|0;c[C>>2]=S;T=Pa(u<<1)|0;c[b+176>>2]=T;c[b+192>>2]=q;g=Pa(q<<6)|0;z=b+184|0;c[z>>2]=g;i=Ra(q,1)|0;y=b+188|0;c[y>>2]=i;c[b+204>>2]=r<<1;c[b+208>>2]=s<<1;c[b+212>>2]=t;U=Ra(t,48)|0;w=b+196|0;c[w>>2]=U;V=Ra(t,1)|0;x=b+200|0;c[x>>2]=V;W=Pa(u<<2)|0;c[b+216>>2]=W;if(!((S|0)==0|(T|0)==0|(g|0)==0|(i|0)==0|(U|0)==0)?!((V|0)==0|(W|0)==0):0){h=g;j=0;k=0;g=0;while(1){u=h+(j<<6)|0;r=i+j|0;q=c[b+72+(g<<5)>>2]|0;s=q<<2;i=0;t=0;while(1){h=v-t|0;if((h|0)<=4){if((h|0)<1)break}else h=4;o=0;while(1){j=q-o|0;if((j|0)<=4){if((j|0)<1)break}else j=4;A=u+(i<<6)|0;B=A+64|0;do{c[A>>2]=-1;A=A+4|0}while((A|0)<(B|0));l=0;n=o+k|0;while(1){m=0;do{c[u+(i<<6)+(c[1328+(l<<5)+(m<<3)>>2]<<4)+(c[1328+(l<<5)+(m<<3)+4>>2]<<2)>>2]=m+n;m=m+1|0}while((m|0)<(j|0));l=l+1|0;if((l|0)>=(h|0))break;else n=n+q|0}W=r+i|0;U=a[W>>0]|0;V=U&-61;U=(((c[u+(i<<6)>>2]|0)>>>31^1|(U&255)>>>2&255)&255)<<2&60|V;a[W>>0]=U;U=(((c[u+(i<<6)+16>>2]|0)>>>31<<1^2|(U&255)>>>2&255)&255)<<2&60|V;a[W>>0]=U;U=(((c[u+(i<<6)+32>>2]|0)>>>31<<2^4|(U&255)>>>2&255)&255)<<2&60|V;a[W>>0]=U;a[W>>0]=(((c[u+(i<<6)+56>>2]|0)>>>31<<3^8|(U&255)>>>2&255)&255)<<2&60|V;i=i+1|0;o=o+4|0}t=t+4|0;k=k+s|0}g=g+1|0;if((g|0)==3)break;h=c[z>>2]|0;j=c[b+72+(g<<5)+24>>2]|0;i=c[y>>2]|0;v=c[b+72+(g<<5)+4>>2]|0;k=c[b+72+(g<<5)+8>>2]|0}y=c[w>>2]|0;s=c[x>>2]|0;t=c[1456+(c[X>>2]<<2)>>2]|0;g=c[D>>2]|0;if((g|0)>0){x=d[1759]|0;v=d[1760]|0;w=d[1761]|0;u=d[1762]|0;h=c[F>>2]|0;i=0;r=0;do{if((h|0)>0){o=r|1;q=r|2;n=r|3;m=0;do{l=i<<2;j=l|x;h=y+(j*48|0)|0;A=h;B=A+48|0;do{c[A>>2]=-1;A=A+4|0}while((A|0)<(B|0));g=c[F>>2]|0;do if((m|0)<(g|0)){if((r|0)>=(c[D>>2]|0)){_=36;break}V=p(g,r)|0;c[h>>2]=V+m;W=m|1;c[y+(j*48|0)+4>>2]=V+W;V=p(g,o)|0;c[y+(j*48|0)+8>>2]=V+m;c[y+(j*48|0)+12>>2]=V+W;E[t&7](h,F,m,r)}else _=36;while(0);if((_|0)==36){_=0;a[s+j>>0]=-1}j=l|v;k=m|2;h=y+(j*48|0)|0;A=h;B=A+48|0;do{c[A>>2]=-1;A=A+4|0}while((A|0)<(B|0));g=c[F>>2]|0;do if((k|0)<(g|0)){if((r|0)>=(c[D>>2]|0)){_=42;break}V=p(g,r)|0;c[h>>2]=V+k;W=m|3;c[y+(j*48|0)+4>>2]=V+W;V=p(g,o)|0;c[y+(j*48|0)+8>>2]=V+k;c[y+(j*48|0)+12>>2]=V+W;E[t&7](h,F,k,r)}else _=42;while(0);if((_|0)==42){_=0;a[s+j>>0]=-1}j=l|w;h=y+(j*48|0)|0;A=h;B=A+48|0;do{c[A>>2]=-1;A=A+4|0}while((A|0)<(B|0));g=c[F>>2]|0;do if((m|0)<(g|0)){if((q|0)>=(c[D>>2]|0)){_=46;break}V=p(g,q)|0;c[h>>2]=V+m;W=m|1;c[y+(j*48|0)+4>>2]=V+W;V=p(g,n)|0;c[y+(j*48|0)+8>>2]=V+m;c[y+(j*48|0)+12>>2]=V+W;E[t&7](h,F,m,q)}else _=46;while(0);if((_|0)==46){_=0;a[s+j>>0]=-1}j=l|u;h=y+(j*48|0)|0;A=h;B=A+48|0;do{c[A>>2]=-1;A=A+4|0}while((A|0)<(B|0));g=c[F>>2]|0;do if((k|0)<(g|0)){if((q|0)>=(c[D>>2]|0)){_=50;break}V=p(g,q)|0;c[h>>2]=V+k;W=m|3;c[y+(j*48|0)+4>>2]=V+W;V=p(g,n)|0;c[y+(j*48|0)+8>>2]=V+k;c[y+(j*48|0)+12>>2]=V+W;E[t&7](h,F,k,q)}else _=50;while(0);if((_|0)==50){_=0;a[s+j>>0]=-1}m=m+4|0;i=i+1|0;h=c[F>>2]|0}while((m|0)<(h|0));g=c[D>>2]|0}r=r+4|0}while((r|0)<(g|0))}W=b+588|0;c[W>>2]=0;V=c[C>>2]|0;T=b+20|0;S=b+12|0;R=b+16|0;g=V;U=0;do{h=c[T>>2]|0;i=(c[S>>2]|0)+h|0;j=c[Z>>2]|0;k=(c[R>>2]|0)+j|0;if(U){Q=c[X>>2]|0;P=Q&1;Q=Q&2;h=h>>(P^1);i=(P|0)==0?i+1>>1:i;j=j>>(Q>>>1^1);k=(Q|0)==0?k+1>>1:k}V=V+(c[b+72+(U<<5)+12>>2]<<2)|0;if(g>>>0>>0){Q=b+72+(U<<5)|0;O=(h|0)<(i|0);P=(j|0)<(k|0);N=0;do{M=c[Q>>2]|0;L=g+(M<<2)|0;l=N;N=N+8|0;do if((M|0)>0){I=(N|0)>(j|0);H=(k|0)>(l|0);A=(l|0)<(j|0);J=A&I;B=H&(k|0)<(N|0);M=g+4|0;K=((L>>>0>M>>>0?L:M)+-1+(0-g)|0)>>>2;if(!(P&(O&(H&I)))){do{c[g>>2]=c[g>>2]|2;g=g+4|0}while(g>>>0>>0);g=M+(K<<2)|0;break}C=l|1;C=(C|0)>=(j|0)&(C|0)<(k|0);D=l|2;D=(D|0)>=(j|0)&(D|0)<(k|0);F=l|3;F=(F|0)>=(j|0)&(F|0)<(k|0);G=l|4;G=(G|0)>=(j|0)&(G|0)<(k|0);H=l|5;H=(H|0)>=(j|0)&(H|0)<(k|0);I=l|6;I=(I|0)>=(j|0)&(I|0)<(k|0);z=l|7;z=(z|0)>=(j|0)&(z|0)<(k|0);y=0;do{l=y;y=y+8|0;do if((i|0)>(l|0)&(y|0)>(h|0)){m=(l|0)<(h|0);if(!(B|(J|(m|(i|0)<(y|0))))){m=g;l=c[g>>2]|63488;break}w=l|1;w=(w|0)>=(h|0)&(w|0)<(i|0);r=l|2;r=(r|0)>=(h|0)&(r|0)<(i|0);s=l|3;s=(s|0)>=(h|0)&(s|0)<(i|0);t=l|4;t=(t|0)>=(h|0)&(t|0)<(i|0);u=l|5;u=(u|0)>=(h|0)&(u|0)<(i|0);v=l|6;v=(v|0)>=(h|0)&(v|0)<(i|0);x=l|7;x=(x|0)>=(h|0)&(x|0)<(i|0);q=m^1;do if(m){if(A){l=0;o=0;n=0}else{n=q&1;o=w?2:0;n=(w&1)+n|0;l=r?4:0;l=o|l;n=n+(r&1)|0;o=s?8:0;o=l|o;n=n+(s&1)|0;l=t?16:0;l=o|l;n=n+(t&1)|0;o=u?32:0;o=l|o;n=n+(u&1)|0;l=v?64:0;l=o|l|(x?128:0);o=x?0:0;n=n+(v&1)+(x&1)|0}if(C){na=q&1;xa=w?512:0;oa=w&1;ya=r?1024:0;ma=r&1;wa=s?2048:0;la=s&1;va=t?4096:0;ka=t&1;ua=u?8192:0;ja=u&1;ta=v?16384:0;m=v&1;sa=x?32768:0;l=ya|xa|wa|va|ua|ta|sa|l;n=oa+na+ma+la+ka+ja+m+(x&1)+n|0}if(D){ta=q&1;ja=w?131072:0;sa=w&1;m=r?262144:0;ua=r&1;ka=s?524288:0;va=s&1;la=t?1048576:0;wa=t&1;ma=u?2097152:0;xa=u&1;na=v?4194304:0;ya=v&1;oa=x?8388608:0;l=m|ja|ka|la|ma|na|oa|l;n=sa+ta+ua+va+wa+xa+ya+(x&1)+n|0}if(F){ta=q&1;ja=w?33554432:0;sa=w&1;m=r?67108864:0;ua=r&1;ka=s?134217728:0;va=s&1;la=t?268435456:0;wa=t&1;ma=u?536870912:0;xa=u&1;na=v?1073741824:0;ya=v&1;oa=x?-2147483648:0;l=m|ja|ka|la|ma|na|oa|l;n=sa+ta+ua+va+wa+xa+ya+(x&1)+n|0}if(G){ta=q&1;ka=w?2:0;sa=w&1;ja=r?4:0;ua=r&1;la=s?8:0;va=s&1;ma=t?16:0;wa=t&1;na=u?32:0;xa=u&1;oa=v?64:0;ya=v&1;o=ja|ka|la|ma|na|oa|(x?128:0)|o;n=sa+ta+ua+va+wa+xa+ya+(x&1)+n|0}if(H){ta=q&1;ka=w?512:0;sa=w&1;ja=r?1024:0;ua=r&1;la=s?2048:0;va=s&1;ma=t?4096:0;wa=t&1;na=u?8192:0;xa=u&1;oa=v?16384:0;ya=v&1;o=ja|ka|la|ma|na|oa|(x?32768:0)|o;n=sa+ta+ua+va+wa+xa+ya+(x&1)+n|0}if(I){ta=q&1;ka=w?131072:0;sa=w&1;ja=r?262144:0;ua=r&1;la=s?524288:0;va=s&1;ma=t?1048576:0;wa=t&1;na=u?2097152:0;xa=u&1;oa=v?4194304:0;ya=v&1;o=ja|ka|la|ma|na|oa|(x?8388608:0)|o;n=sa+ta+ua+va+wa+xa+ya+(x&1)+n|0}if(!z){q=l;break}ta=q&1;ka=w?33554432:0;sa=w&1;ja=r?67108864:0;ua=r&1;la=s?134217728:0;va=s&1;ma=t?268435456:0;wa=t&1;na=u?536870912:0;xa=u&1;oa=v?1073741824:0;ya=v&1;q=l;o=ja|ka|la|ma|na|oa|(x?-2147483648:0)|o;n=sa+ta+ua+va+wa+xa+ya+(x&1)+n|0}else{if(A){l=0;o=0;n=0}else{n=q&1;o=w?3:1;n=(w&1)+n|0;l=r?4:0;l=o|l;n=n+(r&1)|0;o=s?8:0;o=l|o;n=n+(s&1)|0;l=t?16:0;l=o|l;n=n+(t&1)|0;o=u?32:0;o=l|o;n=n+(u&1)|0;l=v?64:0;l=o|l|(x?128:0);o=x?0:0;n=n+(v&1)+(x&1)|0}if(C){ta=q&1;sa=w&1;ja=r?1024:0;ua=r&1;ka=s?2048:0;va=s&1;la=t?4096:0;wa=t&1;ma=u?8192:0;xa=u&1;na=v?16384:0;ya=v&1;oa=x?32768:0;m=w?768:256;l=m|ja|ka|la|ma|na|oa|l;n=sa+ta+ua+va+wa+xa+ya+(x&1)+n|0}if(D){ta=q&1;sa=w&1;ja=r?262144:0;ua=r&1;ka=s?524288:0;va=s&1;la=t?1048576:0;wa=t&1;ma=u?2097152:0;xa=u&1;na=v?4194304:0;ya=v&1;oa=x?8388608:0;m=w?196608:65536;l=m|ja|ka|la|ma|na|oa|l;n=sa+ta+ua+va+wa+xa+ya+(x&1)+n|0}if(F){ta=q&1;sa=w&1;ja=r?67108864:0;ua=r&1;ka=s?134217728:0;va=s&1;la=t?268435456:0;wa=t&1;ma=u?536870912:0;xa=u&1;na=v?1073741824:0;ya=v&1;oa=x?-2147483648:0;m=w?50331648:16777216;l=m|ja|ka|la|ma|na|oa|l;n=sa+ta+ua+va+wa+xa+ya+(x&1)+n|0}if(G){ta=q&1;sa=w&1;ja=r?4:0;ua=r&1;ka=s?8:0;va=s&1;la=t?16:0;wa=t&1;ma=u?32:0;xa=u&1;na=v?64:0;ya=v&1;oa=x?128:0;o=(w?3:1)|ja|ka|la|ma|na|oa|o;n=sa+ta+ua+va+wa+xa+ya+(x&1)+n|0}if(H){ta=q&1;sa=w&1;ja=r?1024:0;ua=r&1;ka=s?2048:0;va=s&1;la=t?4096:0;wa=t&1;ma=u?8192:0;xa=u&1;na=v?16384:0;ya=v&1;oa=x?32768:0;o=(w?768:256)|ja|ka|la|ma|na|oa|o;n=sa+ta+ua+va+wa+xa+ya+(x&1)+n|0}if(I){ta=q&1;sa=w&1;ja=r?262144:0;ua=r&1;ka=s?524288:0;va=s&1;la=t?1048576:0;wa=t&1;ma=u?2097152:0;xa=u&1;na=v?4194304:0;ya=v&1;oa=x?8388608:0;o=(w?196608:65536)|ja|ka|la|ma|na|oa|o;n=sa+ta+ua+va+wa+xa+ya+(x&1)+n|0}if(!z){q=l;break}ta=q&1;sa=w&1;ja=r?67108864:0;ua=r&1;ka=s?134217728:0;va=s&1;la=t?268435456:0;wa=t&1;ma=u?536870912:0;xa=u&1;na=v?1073741824:0;ya=v&1;oa=x?-2147483648:0;q=l;o=(w?50331648:16777216)|ja|ka|la|ma|na|oa|o;n=sa+ta+ua+va+wa+xa+ya+(x&1)+n|0}while(0);m=c[W>>2]|0;a:do if((m|0)>0){l=0;while(1){ya=b+592+(l<<4)|0;if((c[ya>>2]|0)==(q|0)?(c[ya+4>>2]|0)==(o|0):0)break a;l=l+1|0;if((l|0)>=(m|0)){_=73;break}}}else{l=0;_=73}while(0);if((_|0)==73){_=0;c[W>>2]=m+1;ya=b+592+(l<<4)|0;c[ya>>2]=q;c[ya+4>>2]=o;c[b+592+(l<<4)+8>>2]=n}m=g;l=c[g>>2]&-63489|l<<11&63488}else{m=g;l=c[g>>2]|2}while(0);c[m>>2]=l;g=g+4|0}while(g>>>0>>0);g=M+(K<<2)|0}while(0)}while(g>>>0>>0)}U=U+1|0}while((U|0)!=3);if((f+-3|0)>>>0<=3){i=c[X>>2]|0;h=i&1^1;i=i>>>1&1^1;o=c[$>>2]|0;j=o+32|0;xa=(c[aa>>2]|0)+32|0;s=(j>>h)+15&-16;l=p(xa,j)|0;t=p(s,xa>>i)|0;q=(j<<4)+16|0;m=16>>>h;r=p(s,16>>>i)|0|m;m=0-m&8;wa=t<<1;ya=l+16+wa|0;g=p(ya,f)|0;if(!(ya>>>0>>0|((wa|16)>>>0>>0?1:((l>>>0)/(j>>>0)|0|0)!=(xa|0)))?((g>>>0)/(f>>>0)|0|0)==(ya|0):0){g=pa(g,16)|0;w=Pa(c[Y>>2]<<2)|0;c[b+172>>2]=w;if((g|0)==0|(w|0)==0){Qa(w);qa(g);g=-1;break}u=c[$>>2]|0;k=b+236|0;c[k>>2]=u;v=c[aa>>2]|0;c[b+240>>2]=v;n=b+244|0;c[n>>2]=j;u=u>>>h;c[b+268>>2]=u;c[b+252>>2]=u;v=v>>>i;c[b+272>>2]=v;c[b+256>>2]=v;v=b+276|0;c[v>>2]=s;u=b+260|0;c[u>>2]=s;h=1;do{A=b+236+(h*48|0)|0;i=k;B=A+48|0;do{c[A>>2]=c[i>>2];A=A+4|0;i=i+4|0}while((A|0)<(B|0));h=h+1|0}while((h|0)!=(f|0));c[b+572>>2]=g;if((f|0)>0){j=l+m|0;i=16-m+t|0;h=0;while(1){ya=b+236+(h*48|0)|0;c[b+236+(h*48|0)+12>>2]=g+q;g=g+j|0;c[b+236+(h*48|0)+28>>2]=g+r;g=g+t|0;c[b+236+(h*48|0)+44>>2]=g+r;ra(ya,ya);h=h+1|0;if((h|0)==(f|0))break;else g=g+i|0}}c[b+576>>2]=-32-o;o=0-s|0;c[b+584>>2]=o;c[b+580>>2]=o;o=c[b+248>>2]|0;m=(c[ca>>2]|0)+(c[ba>>2]|0)|0;l=c[b+72>>2]|0;if((m|0)>0){j=c[n>>2]<<3;if((l|0)<=0)while(1){}g=0;k=o;while(1){i=g+l|0;h=k;while(1){c[w+(g<<2)>>2]=h-o;g=g+1|0;if((g|0)>=(i|0))break;else h=h+8|0}if((g|0)<(m|0))k=k+j|0;else break}}else g=0;m=(c[da>>2]|0)+(c[ea>>2]|0)|0;l=c[fa>>2]|0;if((g|0)<(m|0)){k=c[u>>2]<<3;if((l|0)<=0)while(1){}j=c[b+264>>2]|0;while(1){i=g+l|0;h=j;while(1){c[w+(g<<2)>>2]=h-o;g=g+1|0;if((g|0)>=(i|0))break;else h=h+8|0}if((g|0)<(m|0))j=j+k|0;else break}}m=(c[ga>>2]|0)+(c[ha>>2]|0)|0;l=c[ia>>2]|0;if((g|0)<(m|0)){k=c[v>>2]<<3;if((l|0)<=0)while(1){}j=c[b+280>>2]|0;while(1){i=g+l|0;h=j;while(1){c[w+(g<<2)>>2]=h-o;g=g+1|0;if((g|0)>=(i|0))break;else h=h+8|0}if((g|0)<(m|0))j=j+k|0;else break}}ya=b+524|0;c[ya>>2]=-1;c[ya+4>>2]=-1;c[ya+8>>2]=-1;c[ya+12>>2]=-1;c[ya+16>>2]=-1;c[ya+20>>2]=-1;ya=b+548|0;c[ya>>2]=0;c[ya+4>>2]=0;c[ya+8>>2]=0;c[ya+12>>2]=0;c[ya+16>>2]=0;c[ya+20>>2]=0;if((c[e+60>>2]|0)>>>0>31)c[b+60>>2]=31;g=b+848|0;c[g>>2]=0;c[g+4>>2]=0;g=b+856|0;c[g>>2]=-1;c[g+4>>2]=-1;g=a[e>>0]|0;do if((g&255)>3)g=1;else{if(g<<24>>24!=3){g=0;break}g=a[e+1>>0]|0;if((g&255)>2){g=1;break}if(g<<24>>24!=2){g=0;break}g=(a[e+2>>0]|0)!=0&1}while(0);a[b+873>>0]=g;ya=0;return ya|0}else g=-23}else g=-10}else g=-1}else g=-23;while(0);Qa(c[b+216>>2]|0);Qa(c[b+200>>2]|0);Qa(c[b+196>>2]|0);Qa(c[b+188>>2]|0);Qa(c[b+184>>2]|0);Qa(c[b+176>>2]|0);Qa(c[b+168>>2]|0);ya=g;return ya|0}function ya(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=(p(c[b+32>>2]|0,e>>1)|0)+(d>>1)|0;c[a+16>>2]=e+(c[b+40>>2]|0);c[a+32>>2]=(c[b+72>>2]|0)+e;return}function za(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;e=(p(c[b+32>>2]|0,e>>1)|0)+d|0;f=b+40|0;d=b+72|0;c[a+16>>2]=(c[f>>2]|0)+e;c[a+32>>2]=(c[d>>2]|0)+e;e=e+1|0;c[a+20>>2]=(c[f>>2]|0)+e;c[a+36>>2]=(c[d>>2]|0)+e;return}function Aa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[b+32>>2]|0;e=(p(g,e)|0)+(d>>1)|0;f=b+40|0;d=b+72|0;c[a+16>>2]=(c[f>>2]|0)+e;c[a+32>>2]=(c[d>>2]|0)+e;e=e+g|0;c[a+24>>2]=(c[f>>2]|0)+e;c[a+40>>2]=(c[d>>2]|0)+e;return}function Ba(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=b+40|0;d=b+72|0;e=c[a>>2]|0;c[a+16>>2]=(c[f>>2]|0)+e;c[a+32>>2]=(c[d>>2]|0)+e;e=c[a+4>>2]|0;c[a+20>>2]=(c[f>>2]|0)+e;c[a+36>>2]=(c[d>>2]|0)+e;e=c[a+8>>2]|0;c[a+24>>2]=(c[f>>2]|0)+e;c[a+40>>2]=(c[d>>2]|0)+e;e=c[a+12>>2]|0;c[a+28>>2]=(c[f>>2]|0)+e;c[a+44>>2]=(c[d>>2]|0)+e;return}function Ca(a){a=a|0;Qa(c[a+172>>2]|0);qa(c[a+572>>2]|0);Qa(c[a+216>>2]|0);Qa(c[a+200>>2]|0);Qa(c[a+196>>2]|0);Qa(c[a+188>>2]|0);Qa(c[a+184>>2]|0);Qa(c[a+176>>2]|0);Qa(c[a+168>>2]|0);return}function Da(b,d,e,f,g){b=b|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;if(!e)h=0;else h=c[b+48>>2]&1^1;k=16>>>h;j=c[b+236+(d*48|0)+(e<<4)+8>>2]|0;m=c[b+236+(d*48|0)+(e<<4)+12>>2]|0;l=p(j,f)|0;h=m+l|0;i=p(j,g)|0;f=m+i|0;if((l|0)==(i|0))return;i=0-k|0;g=h;h=h+(c[b+236+(d*48|0)+(e<<4)>>2]|0)+-1|0;while(1){Ya(g+i|0,a[g>>0]|0,k|0)|0;Ya(h+1|0,a[h>>0]|0,k|0)|0;g=g+j|0;if((g|0)==(f|0))break;else h=h+j|0}return}function Ea(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!d){f=0;e=16}else{e=c[a+48>>2]|0;f=e>>>1&1^1;e=16>>>(e&1^1)}k=c[a+236+(b*48|0)+(d<<4)+8>>2]|0;l=(c[a+236+(b*48|0)+(d<<4)>>2]|0)+(e<<1)|0;j=c[a+236+(b*48|0)+(d<<4)+12>>2]|0;h=0-e|0;e=j+h|0;i=p(k,0-(16>>>f)|0)|0;g=e+i|0;if(!i)return;i=0-k|0;f=e;e=j+(p((c[a+236+(b*48|0)+(d<<4)+4>>2]|0)+-1|0,k)|0)+h|0;do{a=f;f=f+i|0;Xa(f|0,a|0,l|0)|0;a=e;e=e+k|0;Xa(e|0,a|0,l|0)|0}while((f|0)!=(g|0));return}function Fa(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;i=p(b[g>>1]|0,i&65535)|0;if((h|0)<2){n=(i+15|0)>>>5&65535;b[g+128>>1]=n;b[g+130>>1]=n;b[g+132>>1]=n;b[g+134>>1]=n;b[g+136>>1]=n;b[g+138>>1]=n;b[g+140>>1]=n;b[g+142>>1]=n;b[g+144>>1]=n;b[g+146>>1]=n;b[g+148>>1]=n;b[g+150>>1]=n;b[g+152>>1]=n;b[g+154>>1]=n;b[g+156>>1]=n;b[g+158>>1]=n;b[g+160>>1]=n;b[g+162>>1]=n;b[g+164>>1]=n;b[g+166>>1]=n;b[g+168>>1]=n;b[g+170>>1]=n;b[g+172>>1]=n;b[g+174>>1]=n;b[g+176>>1]=n;b[g+178>>1]=n;b[g+180>>1]=n;b[g+182>>1]=n;b[g+184>>1]=n;b[g+186>>1]=n;b[g+188>>1]=n;b[g+190>>1]=n;b[g+192>>1]=n;b[g+194>>1]=n;b[g+196>>1]=n;b[g+198>>1]=n;b[g+200>>1]=n;b[g+202>>1]=n;b[g+204>>1]=n;b[g+206>>1]=n;b[g+208>>1]=n;b[g+210>>1]=n;b[g+212>>1]=n;b[g+214>>1]=n;b[g+216>>1]=n;b[g+218>>1]=n;b[g+220>>1]=n;b[g+222>>1]=n;b[g+224>>1]=n;b[g+226>>1]=n;b[g+228>>1]=n;b[g+230>>1]=n;b[g+232>>1]=n;b[g+234>>1]=n;b[g+236>>1]=n;b[g+238>>1]=n;b[g+240>>1]=n;b[g+242>>1]=n;b[g+244>>1]=n;b[g+246>>1]=n;b[g+248>>1]=n;b[g+250>>1]=n;b[g+252>>1]=n;b[g+254>>1]=n}else{b[g>>1]=i;Oa(g+128|0,g,h)}i=c[(c[d+172>>2]|0)+(e<<2)>>2]|0;h=(c[(c[d+168>>2]|0)+(e<<2)>>2]|0)>>>6&3;m=c[d+576+(f<<2)>>2]|0;n=(c[d+556>>2]|0)+i|0;if((h|0)==2){$(n,m,g+128|0);return}l=(c[d+548+(h<<2)>>2]|0)+i|0;h=b[(c[d+176>>2]|0)+(e<<1)>>1]|0;i=(f|0)!=0;if(i)f=(c[d+48>>2]|0)>>>1&1^1;else f=0;j=(h<<16>>16>>8)+31|0;k=a[1600+(f<<6)+j>>0]|0;if(i)i=c[d+48>>2]&1^1;else i=0;h=((h&65535)<<24>>24)+31|0;e=a[1600+(i<<6)+h>>0]|0;h=(p(m,a[1472+(f<<6)+j>>0]|0)|0)+(a[1472+(i<<6)+h>>0]|0)|0;i=l+h|0;if(!((e|k)<<24>>24)){aa(n,i,m,g+128|0);return}else{ba(n,i,l+(h+(p(m,k<<24>>24)|0)+(e<<24>>24))|0,m,g+128|0);return}}function Ga(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;Ya(b|0,0,256)|0;if((c|0)<=0)return;f=0;do{d=127-f|0;e=d-c|0;if((e|0)>-1)a[b+e>>0]=f-c;a[b+d>>0]=0-f;d=f+127|0;a[b+d>>0]=f;d=d+c|0;if((d|0)<256)a[b+d>>0]=c-f;f=f+1|0}while((f|0)!=(c|0));return}function Ha(a,b,d,e,f,g){a=a|0;b=b|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,q=0,r=0;r=b+127|0;n=c[a+72+(e<<5)>>2]|0;o=c[a+72+(e<<5)+8>>2]|0;q=(c[a+72+(e<<5)+12>>2]|0)+o|0;b=o+(p(n,f)|0)|0;m=o+(p(n,g)|0)|0;j=c[a+576+(e<<2)>>2]|0;k=c[a+168>>2]|0;l=c[a+172>>2]|0;a=c[a+548+(d<<2)>>2]|0;if((b|0)>=(m|0))return;i=j<<3;h=(n|0)>0;e=b;do{d=e;e=e+n|0;if(h)if((d|0)>(o|0)){g=d;while(1){if(c[k+(g<<2)>>2]&1){f=a+(c[l+(g<<2)>>2]|0)|0;if((g|0)>(d|0))Ia(f,j,r);Ja(f,j,r);b=g+1|0;if((b|0)<(e|0)?(c[k+(b<<2)>>2]&1|0)==0:0)Ia(f+8|0,j,r);g=g+n|0;if((g|0)<(q|0)?(c[k+(g<<2)>>2]&1|0)==0:0)Ja(f+i|0,j,r)}else b=g+1|0;if((b|0)<(e|0))g=b;else break}}else{g=d;while(1){if(c[k+(g<<2)>>2]&1){f=a+(c[l+(g<<2)>>2]|0)|0;if((g|0)>(d|0))Ia(f,j,r);b=g+1|0;if((b|0)<(e|0)?(c[k+(b<<2)>>2]&1|0)==0:0)Ia(f+8|0,j,r);g=g+n|0;if((g|0)<(q|0)?(c[k+(g<<2)>>2]&1|0)==0:0)Ja(f+i|0,j,r)}else b=g+1|0;if((b|0)<(e|0))g=b;else break}}}while((e|0)<(m|0));return}function Ia(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+-2|0;j=d[b>>0]|0;g=b+-1|0;h=d[g>>0]|0;i=a[e+((d[f>>0]|0)+4-(d[b+1>>0]|0)+((j-h|0)*3|0)>>3)>>0]|0;h=i+h|0;a[g>>0]=(h>>>31)+255&((h|0)<255?h:255);i=j-i|0;a[b>>0]=(i>>>31)+255&((i|0)<255?i:255);b=f+c|0;f=b+2|0;i=d[f>>0]|0;j=b+1|0;g=d[j>>0]|0;h=a[e+((d[b>>0]|0)+4-(d[b+3>>0]|0)+((i-g|0)*3|0)>>3)>>0]|0;g=h+g|0;a[j>>0]=(g>>>31)+255&((g|0)<255?g:255);h=i-h|0;a[f>>0]=(h>>>31)+255&((h|0)<255?h:255);b=b+c|0;f=b+2|0;h=d[f>>0]|0;i=b+1|0;j=d[i>>0]|0;g=a[e+((d[b>>0]|0)+4-(d[b+3>>0]|0)+((h-j|0)*3|0)>>3)>>0]|0;j=g+j|0;a[i>>0]=(j>>>31)+255&((j|0)<255?j:255);g=h-g|0;a[f>>0]=(g>>>31)+255&((g|0)<255?g:255);b=b+c|0;f=b+2|0;g=d[f>>0]|0;h=b+1|0;i=d[h>>0]|0;j=a[e+((d[b>>0]|0)+4-(d[b+3>>0]|0)+((g-i|0)*3|0)>>3)>>0]|0;i=j+i|0;a[h>>0]=(i>>>31)+255&((i|0)<255?i:255);j=g-j|0;a[f>>0]=(j>>>31)+255&((j|0)<255?j:255);b=b+c|0;f=b+2|0;j=d[f>>0]|0;g=b+1|0;h=d[g>>0]|0;i=a[e+((d[b>>0]|0)+4-(d[b+3>>0]|0)+((j-h|0)*3|0)>>3)>>0]|0;h=i+h|0;a[g>>0]=(h>>>31)+255&((h|0)<255?h:255);i=j-i|0;a[f>>0]=(i>>>31)+255&((i|0)<255?i:255);b=b+c|0;f=b+2|0;i=d[f>>0]|0;j=b+1|0;g=d[j>>0]|0;h=a[e+((d[b>>0]|0)+4-(d[b+3>>0]|0)+((i-g|0)*3|0)>>3)>>0]|0;g=h+g|0;a[j>>0]=(g>>>31)+255&((g|0)<255?g:255);h=i-h|0;a[f>>0]=(h>>>31)+255&((h|0)<255?h:255);b=b+c|0;f=b+2|0;h=d[f>>0]|0;i=b+1|0;j=d[i>>0]|0;g=a[e+((d[b>>0]|0)+4-(d[b+3>>0]|0)+((h-j|0)*3|0)>>3)>>0]|0;j=g+j|0;a[i>>0]=(j>>>31)+255&((j|0)<255?j:255);g=h-g|0;a[f>>0]=(g>>>31)+255&((g|0)<255?g:255);b=b+c|0;c=b+2|0;f=d[c>>0]|0;g=b+1|0;h=d[g>>0]|0;b=a[e+((d[b>>0]|0)+4-(d[b+3>>0]|0)+((f-h|0)*3|0)>>3)>>0]|0;e=b+h|0;a[g>>0]=(e>>>31)+255&((e|0)<255?e:255);b=f-b|0;a[c>>0]=(b>>>31)+255&((b|0)<255?b:255);return}function Ja(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=b+(0-(c<<1))|0;h=c*3|0;g=i+c|0;j=d[g>>0]|0;f=a[e+((d[i>>0]|0)+4-(d[i+h>>0]|0)+(((d[b>>0]|0)-j|0)*3|0)>>3)>>0]|0;j=f+j|0;a[g>>0]=(j>>>31)+255&((j|0)<255?j:255);f=(d[b>>0]|0)-f|0;a[b>>0]=(f>>>31)+255&((f|0)<255?f:255);f=b+1|0;g=i+(c+1)|0;j=d[g>>0]|0;k=a[e+((d[i+1>>0]|0)+4-(d[i+(h+1)>>0]|0)+(((d[f>>0]|0)-j|0)*3|0)>>3)>>0]|0;j=k+j|0;a[g>>0]=(j>>>31)+255&((j|0)<255?j:255);k=(d[f>>0]|0)-k|0;a[f>>0]=(k>>>31)+255&((k|0)<255?k:255);f=b+2|0;k=i+(c+2)|0;g=d[k>>0]|0;j=a[e+((d[i+2>>0]|0)+4-(d[i+(h+2)>>0]|0)+(((d[f>>0]|0)-g|0)*3|0)>>3)>>0]|0;g=j+g|0;a[k>>0]=(g>>>31)+255&((g|0)<255?g:255);j=(d[f>>0]|0)-j|0;a[f>>0]=(j>>>31)+255&((j|0)<255?j:255);f=b+3|0;j=i+(c+3)|0;k=d[j>>0]|0;g=a[e+((d[i+3>>0]|0)+4-(d[i+(h+3)>>0]|0)+(((d[f>>0]|0)-k|0)*3|0)>>3)>>0]|0;k=g+k|0;a[j>>0]=(k>>>31)+255&((k|0)<255?k:255);g=(d[f>>0]|0)-g|0;a[f>>0]=(g>>>31)+255&((g|0)<255?g:255);f=b+4|0;g=i+(c+4)|0;j=d[g>>0]|0;k=a[e+((d[i+4>>0]|0)+4-(d[i+(h+4)>>0]|0)+(((d[f>>0]|0)-j|0)*3|0)>>3)>>0]|0;j=k+j|0;a[g>>0]=(j>>>31)+255&((j|0)<255?j:255);k=(d[f>>0]|0)-k|0;a[f>>0]=(k>>>31)+255&((k|0)<255?k:255);f=b+5|0;k=i+(c+5)|0;g=d[k>>0]|0;j=a[e+((d[i+5>>0]|0)+4-(d[i+(h+5)>>0]|0)+(((d[f>>0]|0)-g|0)*3|0)>>3)>>0]|0;g=j+g|0;a[k>>0]=(g>>>31)+255&((g|0)<255?g:255);j=(d[f>>0]|0)-j|0;a[f>>0]=(j>>>31)+255&((j|0)<255?j:255);f=b+6|0;j=i+(c+6)|0;k=d[j>>0]|0;g=a[e+((d[i+6>>0]|0)+4-(d[i+(h+6)>>0]|0)+(((d[f>>0]|0)-k|0)*3|0)>>3)>>0]|0;k=g+k|0;a[j>>0]=(k>>>31)+255&((k|0)<255?k:255);g=(d[f>>0]|0)-g|0;a[f>>0]=(g>>>31)+255&((g|0)<255?g:255);b=b+7|0;f=i+(c+7)|0;g=d[f>>0]|0;c=a[e+((d[i+7>>0]|0)+4-(d[i+(h+7)>>0]|0)+(((d[b>>0]|0)-g|0)*3|0)>>3)>>0]|0;e=c+g|0;a[f>>0]=(e>>>31)+255&((e|0)<255?e:255);c=(d[b>>0]|0)-c|0;a[b>>0]=(c>>>31)+255&((c|0)<255?c:255);return}function Ka(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[a+4>>2]=b;c[a>>2]=b+d;return}function La(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+8|0;k=a+12|0;f=c[k>>2]|0;if(!b){l=0;return l|0}e=c[l>>2]|0;if((f|0)<(b|0)){i=c[a>>2]|0;j=a+4|0;h=c[j>>2]|0;g=32-f|0;f=h>>>0>>0;if(g>>>0>7&f){f=h;while(1){g=g+-8|0;h=f+1|0;e=(d[f>>0]|0)<>>0>>0;if(g>>>0>7&f)f=h;else break}}c[j>>2]=h;g=32-g|0;do if((g|0)<(b|0))if(f){f=g;e=(d[h>>0]|0)>>>(g&7)|e;break}else{c[a+16>>2]=1;f=1073741824;break}else f=g;while(0);c[k>>2]=f}c[l>>2]=e<<1<>2]=f-b;l=e>>>(32-b|0);return l|0}function Ma(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=a+8|0;b=c[k>>2]|0;j=a+12|0;e=c[j>>2]|0;if((e|0)>=1){i=e;h=b;a=h>>>31;i=i+-1|0;h=h<<1;c[k>>2]=h;c[j>>2]=i;return a|0}h=c[a>>2]|0;i=a+4|0;g=c[i>>2]|0;f=32-e|0;e=g>>>0>>0;if(f>>>0>7&e){e=g;while(1){f=f+-8|0;g=e+1|0;b=(d[e>>0]|0)<>>0>>0;if(f>>>0>7&e)e=g;else break}}c[i>>2]=g;f=32-f|0;do if((f|0)<1)if(e){e=f;b=(d[g>>0]|0)>>>(f&7)|b;break}else{c[a+16>>2]=1;e=1073741824;break}else e=f;while(0);c[j>>2]=e;i=e;h=b;a=h>>>31;i=i+-1|0;h=h<<1;c[k>>2]=h;c[j>>2]=i;return a|0}function Na(a){a=a|0;if(c[a+16>>2]|0){a=-1;return a|0}a=(c[a>>2]|0)-(c[a+4>>2]|0)+(c[a+12>>2]>>3)|0;return a|0}function Oa(a,c,d){a=a|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,u=0,v=0,w=0,x=0,y=0,z=0,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,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=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0;l=A;A=A+128|0;k=l;if((d|0)<4){e=c+2|0;f=(b[c>>1]|0)*46341>>16;g=b[e>>1]|0;o=g*12785>>16;g=g*64277>>16;n=o*46341>>16;h=g*46341>>16;m=h+n|0;n=h-n|0;h=g+f|0;b[k>>1]=h;r=m+f|0;b[k+16>>1]=r;q=n+f|0;b[k+32>>1]=q;p=o+f|0;b[k+48>>1]=p;o=f-o|0;b[k+64>>1]=o;n=f-n|0;b[k+80>>1]=n;m=f-m|0;b[k+96>>1]=m;g=f-g|0;b[k+112>>1]=g;f=c+16|0;d=(b[f>>1]|0)*46341|0;i=d>>>16&65535;b[k+114>>1]=i;b[k+98>>1]=i;b[k+82>>1]=i;b[k+66>>1]=i;b[k+50>>1]=i;b[k+34>>1]=i;b[k+18>>1]=i;b[k+2>>1]=i;k=(h<<16>>16)*46341>>16;d=d>>16;h=d*12785>>16;d=d*64277>>16;i=h*46341>>16;s=d*46341>>16;j=s+i|0;i=s-i|0;b[a>>1]=d+k;b[a+16>>1]=j+k;b[a+32>>1]=i+k;b[a+48>>1]=h+k;b[a+64>>1]=k-h;b[a+80>>1]=k-i;b[a+96>>1]=k-j;b[a+112>>1]=k-d;k=(r<<16>>16)*46341>>16;b[a+2>>1]=d+k;b[a+18>>1]=j+k;b[a+34>>1]=i+k;b[a+50>>1]=h+k;b[a+66>>1]=k-h;b[a+82>>1]=k-i;b[a+98>>1]=k-j;b[a+114>>1]=k-d;k=(q<<16>>16)*46341>>16;b[a+4>>1]=d+k;b[a+20>>1]=j+k;b[a+36>>1]=i+k;b[a+52>>1]=h+k;b[a+68>>1]=k-h;b[a+84>>1]=k-i;b[a+100>>1]=k-j;b[a+116>>1]=k-d;k=(p<<16>>16)*46341>>16;b[a+6>>1]=d+k;b[a+22>>1]=j+k;b[a+38>>1]=i+k;b[a+54>>1]=h+k;b[a+70>>1]=k-h;b[a+86>>1]=k-i;b[a+102>>1]=k-j;b[a+118>>1]=k-d;k=(o<<16>>16)*46341>>16;b[a+8>>1]=d+k;b[a+24>>1]=j+k;b[a+40>>1]=i+k;b[a+56>>1]=h+k;b[a+72>>1]=k-h;b[a+88>>1]=k-i;b[a+104>>1]=k-j;b[a+120>>1]=k-d;k=(n<<16>>16)*46341>>16;b[a+10>>1]=d+k;b[a+26>>1]=j+k;b[a+42>>1]=i+k;b[a+58>>1]=h+k;b[a+74>>1]=k-h;b[a+90>>1]=k-i;b[a+106>>1]=k-j;b[a+122>>1]=k-d;k=(m<<16>>16)*46341>>16;b[a+12>>1]=d+k;b[a+28>>1]=j+k;b[a+44>>1]=i+k;b[a+60>>1]=h+k;b[a+76>>1]=k-h;b[a+92>>1]=k-i;b[a+108>>1]=k-j;b[a+124>>1]=k-d;k=(g<<16>>16)*46341>>16;b[a+14>>1]=d+k;b[a+30>>1]=j+k;b[a+46>>1]=i+k;b[a+62>>1]=h+k;b[a+78>>1]=k-h;b[a+94>>1]=k-i;b[a+110>>1]=k-j;b[a+126>>1]=k-d;d=0;do{s=a+(d<<1)|0;b[s>>1]=(b[s>>1]|0)+8>>4;d=d+1|0}while((d|0)!=64);b[f>>1]=0;b[e>>1]=0;b[c>>1]=0;A=l;return}e=b[c>>1]|0;if((d|0)>=11){o=b[c+8>>1]|0;s=(o+e<<16>>16)*46341>>16;o=(e-o<<16>>16)*46341>>16;ta=b[c+4>>1]|0;n=b[c+12>>1]|0;m=(ta*25080>>16)-(n*60547>>16)|0;ta=(n*25080>>16)+(ta*60547>>16)|0;n=b[c+2>>1]|0;x=b[c+14>>1]|0;da=(n*12785>>16)-(x*64277>>16)|0;ka=b[c+10>>1]|0;ca=b[c+6>>1]|0;h=(ka*54491>>16)-(ca*36410>>16)|0;ka=(ca*54491>>16)+(ka*36410>>16)|0;n=(x*12785>>16)+(n*64277>>16)|0;x=h+da|0;h=(da-h<<16>>16)*46341>>16;da=ka+n|0;ka=(n-ka<<16>>16)*46341>>16;n=s+ta|0;ta=s-ta|0;s=o+m|0;m=o-m|0;o=ka+h|0;h=ka-h|0;ka=da+n|0;b[k>>1]=ka;ca=k+16|0;b[ca>>1]=o+s;W=k+32|0;b[W>>1]=h+m;O=k+48|0;b[O>>1]=x+ta;G=k+64|0;b[G>>1]=ta-x;x=k+80|0;b[x>>1]=m-h;h=k+96|0;b[h>>1]=s-o;o=k+112|0;b[o>>1]=n-da;da=k+2|0;n=b[c+16>>1]|0;s=b[c+24>>1]|0;m=(s+n<<16>>16)*46341>>16;s=(n-s<<16>>16)*46341>>16;n=b[c+20>>1]|0;ta=b[c+28>>1]|0;j=(n*25080>>16)-(ta*60547>>16)|0;n=(ta*25080>>16)+(n*60547>>16)|0;ta=b[c+18>>1]|0;g=b[c+30>>1]|0;oa=(ta*12785>>16)-(g*64277>>16)|0;X=b[c+26>>1]|0;P=b[c+22>>1]|0;q=(X*54491>>16)-(P*36410>>16)|0;X=(P*54491>>16)+(X*36410>>16)|0;ta=(g*12785>>16)+(ta*64277>>16)|0;g=q+oa|0;q=(oa-q<<16>>16)*46341>>16;oa=X+ta|0;X=(ta-X<<16>>16)*46341>>16;ta=m+n|0;n=m-n|0;m=s+j|0;j=s-j|0;s=X+q|0;q=X-q|0;b[da>>1]=oa+ta;X=k+18|0;b[X>>1]=s+m;P=k+34|0;b[P>>1]=q+j;H=k+50|0;b[H>>1]=g+n;y=k+66|0;b[y>>1]=n-g;g=k+82|0;b[g>>1]=j-q;q=k+98|0;b[q>>1]=m-s;s=k+114|0;b[s>>1]=ta-oa;oa=k+4|0;ta=b[c+32>>1]|0;m=b[c+40>>1]|0;j=(m+ta<<16>>16)*46341>>16;m=(ta-m<<16>>16)*46341>>16;ta=b[c+36>>1]|0;n=b[c+44>>1]|0;r=(ta*25080>>16)-(n*60547>>16)|0;ta=(n*25080>>16)+(ta*60547>>16)|0;n=b[c+34>>1]|0;C=b[c+46>>1]|0;qa=(n*12785>>16)-(C*64277>>16)|0;ga=b[c+42>>1]|0;_=b[c+38>>1]|0;t=(ga*54491>>16)-(_*36410>>16)|0;ga=(_*54491>>16)+(ga*36410>>16)|0;n=(C*12785>>16)+(n*64277>>16)|0;C=t+qa|0;t=(qa-t<<16>>16)*46341>>16;qa=ga+n|0;ga=(n-ga<<16>>16)*46341>>16;n=j+ta|0;ta=j-ta|0;j=m+r|0;r=m-r|0;m=ga+t|0;t=ga-t|0;b[oa>>1]=qa+n;ga=k+20|0;b[ga>>1]=m+j;_=k+36|0;b[_>>1]=t+r;S=k+52|0;b[S>>1]=C+ta;K=k+68|0;b[K>>1]=ta-C;C=k+84|0;b[C>>1]=r-t;t=k+100|0;b[t>>1]=j-m;m=k+116|0;b[m>>1]=n-qa;qa=k+6|0;n=b[c+48>>1]|0;j=b[c+56>>1]|0;r=(j+n<<16>>16)*46341>>16;j=(n-j<<16>>16)*46341>>16;n=b[c+52>>1]|0;ta=b[c+60>>1]|0;p=(n*25080>>16)-(ta*60547>>16)|0;n=(ta*25080>>16)+(n*60547>>16)|0;ta=b[c+50>>1]|0;E=b[c+62>>1]|0;ja=(ta*12785>>16)-(E*64277>>16)|0;ia=b[c+58>>1]|0;aa=b[c+54>>1]|0;v=(ia*54491>>16)-(aa*36410>>16)|0;ia=(aa*54491>>16)+(ia*36410>>16)|0;ta=(E*12785>>16)+(ta*64277>>16)|0;E=v+ja|0;v=(ja-v<<16>>16)*46341>>16;ja=ia+ta|0;ia=(ta-ia<<16>>16)*46341>>16;ta=r+n|0;n=r-n|0;r=j+p|0;p=j-p|0;j=ia+v|0;v=ia-v|0;b[qa>>1]=ja+ta;ia=k+22|0;b[ia>>1]=j+r;aa=k+38|0;b[aa>>1]=v+p;U=k+54|0;b[U>>1]=E+n;M=k+70|0;b[M>>1]=n-E;E=k+86|0;b[E>>1]=p-v;v=k+102|0;b[v>>1]=r-j;j=k+118|0;b[j>>1]=ta-ja;ja=k+8|0;ta=b[c+64>>1]|0;r=b[c+72>>1]|0;p=(r+ta<<16>>16)*46341>>16;r=(ta-r<<16>>16)*46341>>16;ta=b[c+68>>1]|0;n=b[c+76>>1]|0;d=(ta*25080>>16)-(n*60547>>16)|0;ta=(n*25080>>16)+(ta*60547>>16)|0;n=b[c+66>>1]|0;w=b[c+78>>1]|0;pa=(n*12785>>16)-(w*64277>>16)|0;ba=b[c+74>>1]|0;V=b[c+70>>1]|0;i=(ba*54491>>16)-(V*36410>>16)|0;ba=(V*54491>>16)+(ba*36410>>16)|0;n=(w*12785>>16)+(n*64277>>16)|0;w=i+pa|0;i=(pa-i<<16>>16)*46341>>16;pa=ba+n|0;ba=(n-ba<<16>>16)*46341>>16;n=p+ta|0;ta=p-ta|0;p=r+d|0;d=r-d|0;r=ba+i|0;i=ba-i|0;b[ja>>1]=pa+n;ba=k+24|0;b[ba>>1]=r+p;V=k+40|0;b[V>>1]=i+d;N=k+56|0;b[N>>1]=w+ta;F=k+72|0;b[F>>1]=ta-w;w=k+88|0;b[w>>1]=d-i;i=k+104|0;b[i>>1]=p-r;r=k+120|0;b[r>>1]=n-pa;pa=k+10|0;n=b[c+80>>1]|0;p=b[c+88>>1]|0;d=(p+n<<16>>16)*46341>>16;p=(n-p<<16>>16)*46341>>16;n=b[c+84>>1]|0;ta=b[c+92>>1]|0;sa=(n*25080>>16)-(ta*60547>>16)|0;n=(ta*25080>>16)+(n*60547>>16)|0;ta=b[c+82>>1]|0;D=b[c+94>>1]|0;ma=(ta*12785>>16)-(D*64277>>16)|0;ha=b[c+90>>1]|0;$=b[c+86>>1]|0;u=(ha*54491>>16)-($*36410>>16)|0;ha=($*54491>>16)+(ha*36410>>16)|0;ta=(D*12785>>16)+(ta*64277>>16)|0;D=u+ma|0;u=(ma-u<<16>>16)*46341>>16;ma=ha+ta|0;ha=(ta-ha<<16>>16)*46341>>16;ta=d+n|0;n=d-n|0;d=p+sa|0;sa=p-sa|0;p=ha+u|0;u=ha-u|0;b[pa>>1]=ma+ta;ha=k+26|0;b[ha>>1]=p+d;$=k+42|0;b[$>>1]=u+sa;T=k+58|0;b[T>>1]=D+n;L=k+74|0;b[L>>1]=n-D;D=k+90|0;b[D>>1]=sa-u;u=k+106|0;b[u>>1]=d-p;p=k+122|0;b[p>>1]=ta-ma;ma=k+12|0;ta=b[c+96>>1]|0;d=b[c+104>>1]|0;sa=(d+ta<<16>>16)*46341>>16;d=(ta-d<<16>>16)*46341>>16;ta=b[c+100>>1]|0;n=b[c+108>>1]|0;ra=(ta*25080>>16)-(n*60547>>16)|0;ta=(n*25080>>16)+(ta*60547>>16)|0;n=b[c+98>>1]|0;z=b[c+110>>1]|0;ua=(n*12785>>16)-(z*64277>>16)|0;ea=b[c+106>>1]|0;Y=b[c+102>>1]|0;f=(ea*54491>>16)-(Y*36410>>16)|0;ea=(Y*54491>>16)+(ea*36410>>16)|0;n=(z*12785>>16)+(n*64277>>16)|0;z=f+ua|0;f=(ua-f<<16>>16)*46341>>16;ua=ea+n|0;ea=(n-ea<<16>>16)*46341>>16;n=sa+ta|0;ta=sa-ta|0;sa=d+ra|0;ra=d-ra|0;d=ea+f|0;f=ea-f|0;b[ma>>1]=ua+n;ea=k+28|0;b[ea>>1]=d+sa;Y=k+44|0;b[Y>>1]=f+ra;Q=k+60|0;b[Q>>1]=z+ta;I=k+76|0;b[I>>1]=ta-z;z=k+92|0;b[z>>1]=ra-f;f=k+108|0;b[f>>1]=sa-d;d=k+124|0;b[d>>1]=n-ua;ua=b[c+112>>1]|0;n=b[c+120>>1]|0;sa=(n+ua<<16>>16)*46341>>16;n=(ua-n<<16>>16)*46341>>16;ua=b[c+116>>1]|0;ra=b[c+124>>1]|0;ta=(ua*25080>>16)-(ra*60547>>16)|0;ua=(ra*25080>>16)+(ua*60547>>16)|0;ra=b[c+114>>1]|0;B=b[c+126>>1]|0;la=(ra*12785>>16)-(B*64277>>16)|0;na=b[c+122>>1]|0;fa=b[c+118>>1]|0;e=(na*54491>>16)-(fa*36410>>16)|0;na=(fa*54491>>16)+(na*36410>>16)|0;ra=(B*12785>>16)+(ra*64277>>16)|0;B=e+la|0;e=(la-e<<16>>16)*46341>>16;la=na+ra|0;na=(ra-na<<16>>16)*46341>>16;ra=sa+ua|0;ua=sa-ua|0;sa=n+ta|0;ta=n-ta|0;n=na+e|0;e=na-e|0;na=la+ra|0;b[k+14>>1]=na;fa=k+30|0;b[fa>>1]=n+sa;Z=k+46|0;b[Z>>1]=e+ta;R=k+62|0;b[R>>1]=B+ua;J=k+78|0;b[J>>1]=ua-B;B=k+94|0;b[B>>1]=ta-e;e=k+110|0;b[e>>1]=sa-n;n=k+126|0;b[n>>1]=ra-la;k=ka<<16>>16;ja=b[ja>>1]|0;ka=(k+ja<<16>>16)*46341>>16;ja=(k-ja<<16>>16)*46341>>16;oa=b[oa>>1]|0;k=b[ma>>1]|0;ma=(oa*25080>>16)-(k*60547>>16)|0;oa=(k*25080>>16)+(oa*60547>>16)|0;da=b[da>>1]|0;na=na<<16>>16;k=(da*12785>>16)-(na*64277>>16)|0;pa=b[pa>>1]|0;qa=b[qa>>1]|0;la=(pa*54491>>16)-(qa*36410>>16)|0;pa=(qa*54491>>16)+(pa*36410>>16)|0;da=(na*12785>>16)+(da*64277>>16)|0;na=la+k|0;la=(k-la<<16>>16)*46341>>16;k=pa+da|0;pa=(da-pa<<16>>16)*46341>>16;da=ka+oa|0;oa=ka-oa|0;ka=ja+ma|0;ma=ja-ma|0;ja=pa+la|0;la=pa-la|0;b[a>>1]=k+da;b[a+16>>1]=ja+ka;b[a+32>>1]=la+ma;b[a+48>>1]=na+oa;b[a+64>>1]=oa-na;b[a+80>>1]=ma-la;b[a+96>>1]=ka-ja;b[a+112>>1]=da-k;k=b[ca>>1]|0;ba=b[ba>>1]|0;ca=(ba+k<<16>>16)*46341>>16;ba=(k-ba<<16>>16)*46341>>16;ga=b[ga>>1]|0;k=b[ea>>1]|0;ea=(ga*25080>>16)-(k*60547>>16)|0;ga=(k*25080>>16)+(ga*60547>>16)|0;X=b[X>>1]|0;fa=b[fa>>1]|0;k=(X*12785>>16)-(fa*64277>>16)|0;ha=b[ha>>1]|0;ia=b[ia>>1]|0;da=(ha*54491>>16)-(ia*36410>>16)|0;ha=(ia*54491>>16)+(ha*36410>>16)|0;X=(fa*12785>>16)+(X*64277>>16)|0;fa=da+k|0;da=(k-da<<16>>16)*46341>>16;k=ha+X|0;ha=(X-ha<<16>>16)*46341>>16;X=ca+ga|0;ga=ca-ga|0;ca=ba+ea|0;ea=ba-ea|0;ba=ha+da|0;da=ha-da|0;b[a+2>>1]=k+X;b[a+18>>1]=ba+ca;b[a+34>>1]=da+ea;b[a+50>>1]=fa+ga;b[a+66>>1]=ga-fa;b[a+82>>1]=ea-da;b[a+98>>1]=ca-ba;b[a+114>>1]=X-k;k=b[W>>1]|0;V=b[V>>1]|0;W=(V+k<<16>>16)*46341>>16;V=(k-V<<16>>16)*46341>>16;_=b[_>>1]|0;k=b[Y>>1]|0;Y=(_*25080>>16)-(k*60547>>16)|0;_=(k*25080>>16)+(_*60547>>16)|0;P=b[P>>1]|0;Z=b[Z>>1]|0;k=(P*12785>>16)-(Z*64277>>16)|0;$=b[$>>1]|0;aa=b[aa>>1]|0;X=($*54491>>16)-(aa*36410>>16)|0;$=(aa*54491>>16)+($*36410>>16)|0;P=(Z*12785>>16)+(P*64277>>16)|0;Z=X+k|0;X=(k-X<<16>>16)*46341>>16;k=$+P|0;$=(P-$<<16>>16)*46341>>16;P=W+_|0;_=W-_|0;W=V+Y|0;Y=V-Y|0;V=$+X|0;X=$-X|0;b[a+4>>1]=k+P;b[a+20>>1]=V+W;b[a+36>>1]=X+Y;b[a+52>>1]=Z+_;b[a+68>>1]=_-Z;b[a+84>>1]=Y-X;b[a+100>>1]=W-V;b[a+116>>1]=P-k;k=b[O>>1]|0;N=b[N>>1]|0;O=(N+k<<16>>16)*46341>>16;N=(k-N<<16>>16)*46341>>16;S=b[S>>1]|0;k=b[Q>>1]|0;Q=(S*25080>>16)-(k*60547>>16)|0;S=(k*25080>>16)+(S*60547>>16)|0;H=b[H>>1]|0;R=b[R>>1]|0;k=(H*12785>>16)-(R*64277>>16)|0;T=b[T>>1]|0;U=b[U>>1]|0;P=(T*54491>>16)-(U*36410>>16)|0;T=(U*54491>>16)+(T*36410>>16)|0;H=(R*12785>>16)+(H*64277>>16)|0;R=P+k|0;P=(k-P<<16>>16)*46341>>16;k=T+H|0;T=(H-T<<16>>16)*46341>>16;H=O+S|0;S=O-S|0;O=N+Q|0;Q=N-Q|0;N=T+P|0;P=T-P|0;b[a+6>>1]=k+H;b[a+22>>1]=N+O;b[a+38>>1]=P+Q;b[a+54>>1]=R+S;b[a+70>>1]=S-R;b[a+86>>1]=Q-P;b[a+102>>1]=O-N;b[a+118>>1]=H-k;k=b[G>>1]|0;F=b[F>>1]|0;G=(F+k<<16>>16)*46341>>16;F=(k-F<<16>>16)*46341>>16;K=b[K>>1]|0;k=b[I>>1]|0;I=(K*25080>>16)-(k*60547>>16)|0;K=(k*25080>>16)+(K*60547>>16)|0;y=b[y>>1]|0;J=b[J>>1]|0;k=(y*12785>>16)-(J*64277>>16)|0;L=b[L>>1]|0;M=b[M>>1]|0;H=(L*54491>>16)-(M*36410>>16)|0;L=(M*54491>>16)+(L*36410>>16)|0;y=(J*12785>>16)+(y*64277>>16)|0;J=H+k|0;H=(k-H<<16>>16)*46341>>16;k=L+y|0;L=(y-L<<16>>16)*46341>>16;y=G+K|0;K=G-K|0;G=F+I|0;I=F-I|0;F=L+H|0;H=L-H|0;b[a+8>>1]=k+y;b[a+24>>1]=F+G;b[a+40>>1]=H+I;b[a+56>>1]=J+K;b[a+72>>1]=K-J;b[a+88>>1]=I-H;b[a+104>>1]=G-F;b[a+120>>1]=y-k;k=b[x>>1]|0;w=b[w>>1]|0;x=(w+k<<16>>16)*46341>>16;w=(k-w<<16>>16)*46341>>16;C=b[C>>1]|0;k=b[z>>1]|0;z=(C*25080>>16)-(k*60547>>16)|0;C=(k*25080>>16)+(C*60547>>16)|0;g=b[g>>1]|0;B=b[B>>1]|0;k=(g*12785>>16)-(B*64277>>16)|0;D=b[D>>1]|0;E=b[E>>1]|0;y=(D*54491>>16)-(E*36410>>16)|0;D=(E*54491>>16)+(D*36410>>16)|0;g=(B*12785>>16)+(g*64277>>16)|0;B=y+k|0;y=(k-y<<16>>16)*46341>>16;k=D+g|0;D=(g-D<<16>>16)*46341>>16;g=x+C|0;C=x-C|0;x=w+z|0;z=w-z|0;w=D+y|0;y=D-y|0;b[a+10>>1]=k+g;b[a+26>>1]=w+x;b[a+42>>1]=y+z;b[a+58>>1]=B+C;b[a+74>>1]=C-B;b[a+90>>1]=z-y;b[a+106>>1]=x-w;b[a+122>>1]=g-k;k=b[h>>1]|0;i=b[i>>1]|0;h=(i+k<<16>>16)*46341>>16;i=(k-i<<16>>16)*46341>>16;t=b[t>>1]|0;k=b[f>>1]|0;f=(t*25080>>16)-(k*60547>>16)|0;t=(k*25080>>16)+(t*60547>>16)|0;k=b[q>>1]|0;e=b[e>>1]|0;q=(k*12785>>16)-(e*64277>>16)|0;u=b[u>>1]|0;v=b[v>>1]|0;g=(u*54491>>16)-(v*36410>>16)|0;u=(v*54491>>16)+(u*36410>>16)|0;k=(e*12785>>16)+(k*64277>>16)|0;e=g+q|0;g=(q-g<<16>>16)*46341>>16;q=u+k|0;u=(k-u<<16>>16)*46341>>16;k=h+t|0;t=h-t|0;h=i+f|0;f=i-f|0;i=u+g|0;g=u-g|0;b[a+12>>1]=q+k;b[a+28>>1]=i+h;b[a+44>>1]=g+f;b[a+60>>1]=e+t;b[a+76>>1]=t-e;b[a+92>>1]=f-g;b[a+108>>1]=h-i;b[a+124>>1]=k-q;o=b[o>>1]|0;r=b[r>>1]|0;q=(r+o<<16>>16)*46341>>16;r=(o-r<<16>>16)*46341>>16;m=b[m>>1]|0;d=b[d>>1]|0;o=(m*25080>>16)-(d*60547>>16)|0;m=(d*25080>>16)+(m*60547>>16)|0;s=b[s>>1]|0;n=b[n>>1]|0;d=(s*12785>>16)-(n*64277>>16)|0;k=b[p>>1]|0;j=b[j>>1]|0;p=(k*54491>>16)-(j*36410>>16)|0;k=(j*54491>>16)+(k*36410>>16)|0;s=(n*12785>>16)+(s*64277>>16)|0;n=p+d|0;p=(d-p<<16>>16)*46341>>16;d=k+s|0;k=(s-k<<16>>16)*46341>>16;s=q+m|0;m=q-m|0;q=r+o|0;o=r-o|0;r=k+p|0;p=k-p|0;b[a+14>>1]=d+s;b[a+30>>1]=r+q;b[a+46>>1]=p+o;b[a+62>>1]=n+m;b[a+78>>1]=m-n;b[a+94>>1]=o-p;b[a+110>>1]=q-r;b[a+126>>1]=s-d;d=0;do{ua=a+(d<<1)|0;b[ua>>1]=(b[ua>>1]|0)+8>>4;d=d+1|0}while((d|0)!=64);d=c+128|0;do{b[c>>1]=0;c=c+2|0}while((c|0)<(d|0));A=l;return}g=e*46341>>16;ra=b[c+4>>1]|0;ta=ra*25080>>16;ra=ra*60547>>16;d=b[c+2>>1]|0;ua=d*12785>>16;sa=b[c+6>>1]|0;e=sa*36410>>16;sa=sa*54491>>16;d=d*64277>>16;h=ua-e|0;ua=(e+ua<<16>>16)*46341>>16;e=sa+d|0;sa=(d-sa<<16>>16)*46341>>16;d=ta+g|0;ta=g-ta|0;f=ra+g|0;ra=g-ra|0;g=sa+ua|0;ua=sa-ua|0;b[k>>1]=e+f;b[k+16>>1]=g+d;b[k+32>>1]=ua+ta;b[k+48>>1]=h+ra;b[k+64>>1]=ra-h;b[k+80>>1]=ta-ua;b[k+96>>1]=d-g;b[k+112>>1]=f-e;e=c+16|0;f=c+18|0;g=c+20|0;d=(b[e>>1]|0)*46341>>16;ua=b[g>>1]|0;ta=ua*25080>>16;ua=ua*60547>>16;h=b[f>>1]|0;ra=h*12785>>16;h=h*64277>>16;sa=ra*46341>>16;qa=h*46341>>16;j=ta+d|0;ta=d-ta|0;i=ua+d|0;ua=d-ua|0;d=qa+sa|0;sa=qa-sa|0;b[k+2>>1]=i+h;b[k+18>>1]=d+j;b[k+34>>1]=sa+ta;b[k+50>>1]=ua+ra;b[k+66>>1]=ua-ra;b[k+82>>1]=ta-sa;b[k+98>>1]=j-d;b[k+114>>1]=i-h;h=c+32|0;i=c+34|0;d=(b[h>>1]|0)*46341>>16;j=b[i>>1]|0;sa=j*12785>>16;j=j*64277>>16;ta=sa*46341>>16;ra=j*46341>>16;ua=ra+ta|0;ta=ra-ta|0;b[k+4>>1]=j+d;b[k+20>>1]=ua+d;b[k+36>>1]=ta+d;b[k+52>>1]=sa+d;b[k+68>>1]=d-sa;b[k+84>>1]=d-ta;b[k+100>>1]=d-ua;b[k+116>>1]=d-j;j=c+48|0;d=((b[j>>1]|0)*46341|0)>>>16&65535;b[k+118>>1]=d;b[k+102>>1]=d;b[k+86>>1]=d;b[k+70>>1]=d;b[k+54>>1]=d;b[k+38>>1]=d;b[k+22>>1]=d;b[k+6>>1]=d;d=0;do{ua=a+(d<<1)|0;la=k+(d<<3<<1)|0;ra=(b[la>>1]|0)*46341>>16;ma=b[la+4>>1]|0;oa=ma*25080>>16;ma=ma*60547>>16;qa=b[la+2>>1]|0;pa=qa*12785>>16;la=b[la+6>>1]|0;ta=la*36410>>16;la=la*54491>>16;qa=qa*64277>>16;na=pa-ta|0;pa=(ta+pa<<16>>16)*46341>>16;ta=la+qa|0;la=(qa-la<<16>>16)*46341>>16;qa=oa+ra|0;oa=ra-oa|0;sa=ma+ra|0;ma=ra-ma|0;ra=la+pa|0;pa=la-pa|0;b[ua>>1]=ta+sa;b[ua+16>>1]=ra+qa;b[ua+32>>1]=pa+oa;b[ua+48>>1]=na+ma;b[ua+64>>1]=ma-na;b[ua+80>>1]=oa-pa;b[ua+96>>1]=qa-ra;b[ua+112>>1]=sa-ta;d=d+1|0}while((d|0)!=8);d=0;do{ua=a+(d<<1)|0;b[ua>>1]=(b[ua>>1]|0)+8>>4;d=d+1|0}while((d|0)!=64);b[j>>1]=0;b[i>>1]=0;b[h>>1]=0;b[g>>1]=0;b[f>>1]=0;b[e>>1]=0;ua=c;ta=ua;b[ta>>1]=0;b[ta+2>>1]=0>>>16;ua=ua+4|0;b[ua>>1]=0;b[ua+2>>1]=0>>>16;A=l;return}function Pa(a){a=a|0;var b=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;w=A;A=A+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[469]|0;d=m>>>a;if(d&3|0){e=(d&1^1)+a|0;f=1916+(e<<1<<2)|0;b=f+8|0;a=c[b>>2]|0;g=a+8|0;d=c[g>>2]|0;if((d|0)==(f|0))c[469]=m&~(1<>2]=f;c[b>>2]=d}v=e<<3;c[a+4>>2]=v|3;v=a+v+4|0;c[v>>2]=c[v>>2]|1;v=g;A=w;return v|0}l=c[471]|0;if(k>>>0>l>>>0){if(d|0){i=2<>>12&16;d=d>>>i;a=d>>>5&8;d=d>>>a;g=d>>>2&4;d=d>>>g;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=(a|i|g|b|e)+(d>>>e)|0;d=1916+(e<<1<<2)|0;b=d+8|0;g=c[b>>2]|0;i=g+8|0;a=c[i>>2]|0;if((a|0)==(d|0)){a=m&~(1<>2]=d;c[b>>2]=a;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[474]|0;b=l>>>3;d=1916+(b<<1<<2)|0;b=1<>2]|0}c[b>>2]=e;c[a+12>>2]=e;c[e+8>>2]=a;c[e+12>>2]=d}c[471]=h;c[474]=f;v=i;A=w;return v|0}g=c[470]|0;if(g){i=(g&0-g)+-1|0;f=i>>>12&16;i=i>>>f;e=i>>>5&8;i=i>>>e;h=i>>>2&4;i=i>>>h;d=i>>>1&2;i=i>>>d;j=i>>>1&1;j=c[2180+((e|f|h|d|j)+(i>>>j)<<2)>>2]|0;i=(c[j+4>>2]&-8)-k|0;d=j;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}d=(c[a+4>>2]&-8)-k|0;h=d>>>0>>0;i=h?d:i;d=a;j=h?a:j}h=j+k|0;if(h>>>0>j>>>0){f=c[j+24>>2]|0;b=c[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[j+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[j+28>>2]|0;a=2180+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[470]=g&~(1<>2]|0)==(j|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[j+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[j+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(i>>>0<16){v=i+k|0;c[j+4>>2]=v|3;v=j+v+4|0;c[v>>2]=c[v>>2]|1}else{c[j+4>>2]=k|3;c[h+4>>2]=i|1;c[h+i>>2]=i;if(l|0){e=c[474]|0;b=l>>>3;d=1916+(b<<1<<2)|0;b=1<>2]|0}c[b>>2]=e;c[a+12>>2]=e;c[e+8>>2]=a;c[e+12>>2]=d}c[471]=i;c[474]=h}v=j+8|0;A=w;return v|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[470]|0;if(e){d=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;j=14-(i|m|j)+(q<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=c[2180+(j<<2)>>2]|0;a:do if(!a){f=0;a=0;q=61}else{f=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(c[i+4>>2]&-8)-k|0;if(g>>>0>>0)if(!g){d=0;f=i;a=i;q=65;break a}else{d=g;a=i}q=c[i+20>>2]|0;i=c[i+16+(h>>>31<<2)>>2]|0;f=(q|0)==0|(q|0)==(i|0)?f:q;if(!i){q=61;break}else h=h<<1}}while(0);if((q|0)==61){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>i;h=a>>>5&8;a=a>>>h;j=a>>>2&4;a=a>>>j;m=a>>>1&2;a=a>>>m;f=a>>>1&1;f=c[2180+((h|i|j|m|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;g=a}else q=65}if((q|0)==65)while(1){m=(c[f+4>>2]&-8)-k|0;g=m>>>0>>0;d=g?m:d;g=g?f:a;a=c[f+16>>2]|0;if(!a)a=c[f+20>>2]|0;if(!a){i=d;break}else{f=a;a=g}}if(((g|0)!=0?i>>>0<((c[471]|0)-k|0)>>>0:0)?(l=g+k|0,l>>>0>g>>>0):0){h=c[g+24>>2]|0;b=c[g+12>>2]|0;do if((b|0)==(g|0)){a=g+20|0;b=c[a>>2]|0;if(!b){a=g+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[g+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(h){a=c[g+28>>2]|0;d=2180+(a<<2)|0;if((g|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<>2]|0)==(g|0)?v:h+20|0)>>2]=b;if(!b)break}c[b+24>>2]=h;a=c[g+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[g+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(i>>>0<16){v=i+k|0;c[g+4>>2]=v|3;v=g+v+4|0;c[v>>2]=c[v>>2]|1}else{c[g+4>>2]=k|3;c[l+4>>2]=i|1;c[l+i>>2]=i;b=i>>>3;if(i>>>0<256){d=1916+(b<<1<<2)|0;a=c[469]|0;b=1<>2]|0}c[b>>2]=l;c[a+12>>2]=l;c[l+8>>2]=a;c[l+12>>2]=d;break}b=i>>>8;if(b)if(i>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;d=14-(t|u|d)+(v<>>15)|0;d=i>>>(d+7|0)&1|d<<1}else d=0;b=2180+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(i|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=g+8|0;A=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[471]|0;if(d>>>0>=m>>>0){a=d-m|0;b=c[474]|0;if(a>>>0>15){v=b+m|0;c[474]=v;c[471]=a;c[v+4>>2]=a|1;c[b+d>>2]=a;c[b+4>>2]=m|3}else{c[471]=0;c[474]=0;c[b+4>>2]=d|3;v=b+d+4|0;c[v>>2]=c[v>>2]|1}v=b+8|0;A=w;return v|0}h=c[472]|0;if(h>>>0>m>>>0){t=h-m|0;c[472]=t;v=c[475]|0;u=v+m|0;c[475]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;A=w;return v|0}if(!(c[587]|0)){c[589]=4096;c[588]=4096;c[590]=-1;c[591]=-1;c[592]=0;c[580]=0;c[587]=n&-16^1431655768;a=4096}else a=c[589]|0;i=m+48|0;j=m+47|0;g=a+j|0;e=0-a|0;k=g&e;if(k>>>0<=m>>>0){v=0;A=w;return v|0}a=c[579]|0;if(a|0?(l=c[577]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;A=w;return v|0}d:do if(!(c[580]&4)){d=c[475]|0;e:do if(d){f=2324;while(1){n=c[f>>2]|0;if(n>>>0<=d>>>0?(n+(c[f+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[f+8>>2]|0;if(!a){q=128;break e}else f=a}b=g-h&e;if(b>>>0<2147483647){a=Za(b|0)|0;if((a|0)==((c[f>>2]|0)+(c[f+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=Za(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[588]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[577]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[579]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=Za(b|0)|0;if((a|0)==(d|0)){h=d;g=b;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=e;g=b;q=145;break d}a=c[589]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=e;g=b;q=145;break d}if((Za(a|0)|0)==(-1|0)){Za(d|0)|0;b=0;break}else{h=e;g=a+b|0;q=145;break d}}while(0);c[580]=c[580]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(r=Za(k|0)|0,p=Za(0)|0,t=p-r|0,s=t>>>0>(m+40|0)>>>0,!((r|0)==(-1|0)|s^1|r>>>0

>>0&((r|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=r;g=s?t:b;q=145}if((q|0)==145){b=(c[577]|0)+g|0;c[577]=b;if(b>>>0>(c[578]|0)>>>0)c[578]=b;j=c[475]|0;f:do if(j){e=2324;while(1){b=c[e>>2]|0;a=c[e+4>>2]|0;if((h|0)==(b+a|0)){q=154;break}d=c[e+8>>2]|0;if(!d)break;else e=d}if(((q|0)==154?(u=e+4|0,(c[e+12>>2]&8|0)==0):0)?h>>>0>j>>>0&b>>>0<=j>>>0:0){c[u>>2]=a+g;v=(c[472]|0)+g|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[475]=u;c[472]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[476]=c[591];break}if(h>>>0<(c[473]|0)>>>0)c[473]=h;d=h+g|0;a=2324;while(1){if((c[a>>2]|0)==(d|0)){q=162;break}b=c[a+8>>2]|0;if(!b)break;else a=b}if((q|0)==162?(c[a+12>>2]&8|0)==0:0){c[a>>2]=h;l=a+4|0;c[l>>2]=(c[l>>2]|0)+g;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[472]|0)+i|0;c[472]=v;c[475]=k;c[k+4>>2]=v|1}else{if((c[474]|0)==(b|0)){v=(c[471]|0)+i|0;c[471]=v;c[474]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[469]=c[469]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else d=e}while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=2180+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[470]=c[470]&~(1<>2]=g;e=b+16|0;d=c[e>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}d=c[e+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=1916+(b<<1<<2)|0;a=c[469]|0;b=1<>2]|0}c[b>>2]=k;c[a+12>>2]=k;c[k+8>>2]=a;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);a=2180+(e<<2)|0;c[k+28>>2]=e;b=k+16|0;c[b+4>>2]=0;c[b>>2]=0;b=c[470]|0;d=1<>2]=k;c[k+24>>2]=a;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[a>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;A=w;return v|0}a=2324;while(1){b=c[a>>2]|0;if(b>>>0<=j>>>0?(v=b+(c[a+4>>2]|0)|0,v>>>0>j>>>0):0)break;a=c[a+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=g+-40|0;t=h+8|0;t=(t&7|0)==0?0:0-t&7;u=h+t|0;t=d-t|0;c[475]=u;c[472]=t;c[u+4>>2]=t|1;c[h+d+4>>2]=40;c[476]=c[591];d=a+4|0;c[d>>2]=27;c[b>>2]=c[581];c[b+4>>2]=c[582];c[b+8>>2]=c[583];c[b+12>>2]=c[584];c[581]=h;c[582]=g;c[584]=0;c[583]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=1916+(b<<1<<2)|0;a=c[469]|0;b=1<>2]|0}c[b>>2]=j;c[a+12>>2]=j;c[j+8>>2]=a;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=2180+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[470]|0;a=1<>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}}else{v=c[473]|0;if((v|0)==0|h>>>0>>0)c[473]=h;c[581]=h;c[582]=g;c[584]=0;c[478]=c[587];c[477]=-1;c[482]=1916;c[481]=1916;c[484]=1924;c[483]=1924;c[486]=1932;c[485]=1932;c[488]=1940;c[487]=1940;c[490]=1948;c[489]=1948;c[492]=1956;c[491]=1956;c[494]=1964;c[493]=1964;c[496]=1972;c[495]=1972;c[498]=1980;c[497]=1980;c[500]=1988;c[499]=1988;c[502]=1996;c[501]=1996;c[504]=2004;c[503]=2004;c[506]=2012;c[505]=2012;c[508]=2020;c[507]=2020;c[510]=2028;c[509]=2028;c[512]=2036;c[511]=2036;c[514]=2044;c[513]=2044;c[516]=2052;c[515]=2052;c[518]=2060;c[517]=2060;c[520]=2068;c[519]=2068;c[522]=2076;c[521]=2076;c[524]=2084;c[523]=2084;c[526]=2092;c[525]=2092;c[528]=2100;c[527]=2100;c[530]=2108;c[529]=2108;c[532]=2116;c[531]=2116;c[534]=2124;c[533]=2124;c[536]=2132;c[535]=2132;c[538]=2140;c[537]=2140;c[540]=2148;c[539]=2148;c[542]=2156;c[541]=2156;c[544]=2164;c[543]=2164;v=g+-40|0;t=h+8|0;t=(t&7|0)==0?0:0-t&7;u=h+t|0;t=v-t|0;c[475]=u;c[472]=t;c[u+4>>2]=t|1;c[h+v+4>>2]=40;c[476]=c[591]}while(0);b=c[472]|0;if(b>>>0>m>>>0){t=b-m|0;c[472]=t;v=c[475]|0;u=v+m|0;c[475]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;A=w;return v|0}}c[(Sa()|0)>>2]=12;v=0;A=w;return v|0}function Qa(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;d=a+-8|0;e=c[473]|0;a=c[a+-4>>2]|0;b=a&-8;k=d+b|0;do if(!(a&1)){f=c[d>>2]|0;if(!(a&3))return;g=d+(0-f)|0;h=f+b|0;if(g>>>0>>0)return;if((c[474]|0)==(g|0)){b=k+4|0;a=c[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}c[471]=h;c[b>>2]=a&-2;c[g+4>>2]=h|1;c[g+h>>2]=h;return}d=f>>>3;if(f>>>0<256){a=c[g+8>>2]|0;b=c[g+12>>2]|0;if((b|0)==(a|0)){c[469]=c[469]&~(1<>2]=b;c[b+8>>2]=a;i=g;j=g;b=h;break}}f=c[g+24>>2]|0;a=c[g+12>>2]|0;do if((a|0)==(g|0)){d=g+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){d=0;break}else b=d}while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[g+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(f){a=c[g+28>>2]|0;b=2180+(a<<2)|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;if(!d){c[470]=c[470]&~(1<>2]|0)==(g|0)?j:f+20|0)>>2]=d;if(!d){i=g;j=g;b=h;break}}c[d+24>>2]=f;b=g+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}a=c[b+4>>2]|0;if(a){c[d+20>>2]=a;c[a+24>>2]=d;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=d;j=d}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=c[a>>2]|0;if(!(d&1))return;if(!(d&2)){if((c[475]|0)==(k|0)){k=(c[472]|0)+b|0;c[472]=k;c[475]=j;c[j+4>>2]=k|1;if((j|0)!=(c[474]|0))return;c[474]=0;c[471]=0;return}if((c[474]|0)==(k|0)){k=(c[471]|0)+b|0;c[471]=k;c[474]=i;c[j+4>>2]=k|1;c[i+k>>2]=k;return}f=(d&-8)+b|0;e=d>>>3;do if(d>>>0<256){b=c[k+8>>2]|0;a=c[k+12>>2]|0;if((a|0)==(b|0)){c[469]=c[469]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[k+24>>2]|0;a=c[k+12>>2]|0;do if((a|0)==(k|0)){d=k+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){d=0;break}else b=d}while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[k+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[k+28>>2]|0;b=2180+(a<<2)|0;if((c[b>>2]|0)==(k|0)){c[b>>2]=d;if(!d){c[470]=c[470]&~(1<>2]|0)==(k|0)?h:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=k+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}a=c[b+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[j+4>>2]=f|1;c[i+f>>2]=f;if((j|0)==(c[474]|0)){c[471]=f;return}}else{c[a>>2]=d&-2;c[j+4>>2]=b|1;c[i+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=1916+(a<<1<<2)|0;b=c[469]|0;a=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{i=(a+1048320|0)>>>16&8;k=a<>>16&4;k=k<>>16&2;e=14-(h|i|e)+(k<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=2180+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[j+16>>2]=0;a=c[470]|0;d=1<>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j}else{a=c[b>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break a}while(0);i=a+8|0;k=c[i>>2]|0;c[k+12>>2]=j;c[i>>2]=j;c[j+8>>2]=k;c[j+12>>2]=a;c[j+24>>2]=0}while(0);k=(c[477]|0)+-1|0;c[477]=k;if(k|0)return;a=2332;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[477]=-1;return}function Ra(a,b){a=a|0;b=b|0;var d=0;if(a){d=p(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=Pa(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;Ya(b|0,0,d|0)|0;return b|0}function Sa(){return 2372}function Ta(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function Ua(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){r(b<>>32-c|0);return a<>>0;return (r(b+d+(c>>>0>>0|0)>>>0|0),c|0)|0}function Wa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (r(d|0),a-c>>>0|0)|0}function Xa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){v(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function Ya(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function Za(a){a=a|0;var b=0,d=0,e=0;e=u()|0;d=c[g>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){z(b|0)|0;t(12);return -1}if((b|0)>(e|0))if(!(w(b|0)|0)){t(12);return -1}c[g>>2]=b;return d|0}function _a(a,b,c){a=a|0;b=b|0;c=c|0;D[a&7](b|0,c|0)}function $a(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;E[a&7](b|0,c|0,d|0,e|0)}function ab(a,b){a=a|0;b=b|0;q(0)}function bb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;q(1)} // EMSCRIPTEN_END_FUNCS var D=[ab,ta,ua,va,wa,ab,ab,ab];var E=[bb,ya,za,Aa,Ba,bb,bb,bb];return{_bitshift64Shl:Ua,_free:Qa,_i64Add:Va,_i64Subtract:Wa,_malloc:Pa,_memcpy:Xa,_memset:Ya,_ogv_video_decoder_async:K,_ogv_video_decoder_destroy:N,_ogv_video_decoder_init:J,_ogv_video_decoder_process_frame:M,_ogv_video_decoder_process_header:L,_sbrk:Za,dynCall_vii:_a,dynCall_viiii:$a,establishStackSpace:I,stackAlloc:F,stackRestore:H,stackSave:G}}) // EMSCRIPTEN_END_ASM (wa,xa,buffer);b._bitshift64Shl=P._bitshift64Shl; b._free=P._free;b._i64Add=P._i64Add;b._i64Subtract=P._i64Subtract;b._malloc=P._malloc;b._memcpy=P._memcpy;b._memset=P._memset;b._ogv_video_decoder_async=P._ogv_video_decoder_async;b._ogv_video_decoder_destroy=P._ogv_video_decoder_destroy;b._ogv_video_decoder_init=P._ogv_video_decoder_init;b._ogv_video_decoder_process_frame=P._ogv_video_decoder_process_frame;b._ogv_video_decoder_process_header=P._ogv_video_decoder_process_header;b._sbrk=P._sbrk;b.establishStackSpace=P.establishStackSpace; b.stackAlloc=P.stackAlloc;b.stackRestore=P.stackRestore;b.stackSave=P.stackSave;b.dynCall_vii=P.dynCall_vii;b.dynCall_viiii=P.dynCall_viiii;b.asm=P; if(N){if(String.prototype.startsWith?!N.startsWith(O):0!==N.indexOf(O)){var ya=N;N=b.locateFile?b.locateFile(ya,x):x+ya}if(v||w){var za=b.readBinary(N);D.set(za,8)}else{K++;b.monitorRunDependencies&&b.monitorRunDependencies(K);var Q=function(a){a.byteLength&&(a=new Uint8Array(a));D.set(a,8);b.memoryInitializerRequest&&delete b.memoryInitializerRequest.response;K--;b.monitorRunDependencies&&b.monitorRunDependencies(K);0==K&&(null!==L&&(clearInterval(L),L=null),M&&(a=M,M=null,a()))},Aa=function(){b.readAsync(N, Q,function(){throw"could not load memory initializer "+N;})},Ca=B(N);if(Ca)Q(Ca.buffer);else if(b.memoryInitializerRequest){var Da=function(){var a=b.memoryInitializerRequest,c=a.response;if(200!==a.status&&0!==a.status)if(c=B(b.memoryInitializerRequestURL))c=c.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+a.status+", retrying "+N);Aa();return}Q(c)};b.memoryInitializerRequest.response?setTimeout(Da,0):b.memoryInitializerRequest.addEventListener("load", Da)}else Aa()}}b.then=function(a){if(b.calledRun)a(b);else{var c=b.onRuntimeInitialized;b.onRuntimeInitialized=function(){c&&c();a(b)}}return b};function R(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}R.prototype=Error();R.prototype.constructor=R;M=function Ea(){b.calledRun||V();b.calledRun||(M=Ea)}; function V(){function a(){if(!b.calledRun&&(b.calledRun=!0,!ea)){ra||(ra=!0,H(ia));H(ja);if(b.onRuntimeInitialized)b.onRuntimeInitialized();if(b.postRun)for("function"==typeof b.postRun&&(b.postRun=[b.postRun]);b.postRun.length;){var a=b.postRun.shift();ka.unshift(a)}H(ka)}}if(!(0=c||(W&&b._free(W),X=c,W=b._malloc(X));var d=W;b.HEAPU8.set(new Uint8Array(a),d);return b._ogv_video_decoder_process_header(d,c)});c(d)};b.o=[]; b.processFrame=function(a,c){function d(a){b._free(k);c(a)}var e=b._ogv_video_decoder_async(),f=a.byteLength,k=b._malloc(f);e&&b.o.push(d);var n=Z(function(){b.HEAPU8.set(new Uint8Array(a),k);return b._ogv_video_decoder_process_frame(k,f)});e||d(n)};b.close=function(){};b.sync=function(){b._ogv_video_decoder_async()&&(b.o.push(function(){}),Z(function(){b._ogv_video_decoder_process_frame(0,0)}))}; return OGVDecoderVideoTheora } ); })(); if (typeof exports === 'object' && typeof module === 'object') module.exports = OGVDecoderVideoTheora; else if (typeof define === 'function' && define['amd']) define([], function() { return OGVDecoderVideoTheora; }); else if (typeof exports === 'object') exports["OGVDecoderVideoTheora"] = OGVDecoderVideoTheora;