-
Notifications
You must be signed in to change notification settings - Fork 2
/
houndify.js
15 lines (15 loc) · 463 KB
/
houndify.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
!function(a,b){"object"==typeof exports&&"object"==typeof module?module.exports=b(require("request"),require("WebSocket")):"function"==typeof define&&define.amd?define(["request","WebSocket"],b):"object"==typeof exports?exports.Houndify=b(require("request"),require("WebSocket")):a.Houndify=b(a.request,a.WebSocket)}(this,function(__WEBPACK_EXTERNAL_MODULE_38__,__WEBPACK_EXTERNAL_MODULE_62__){return function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,b),e.loaded=!0,e.exports}var c={};return b.m=a,b.c=c,b.p="",b(0)}(function(a){for(var b in a)if(Object.prototype.hasOwnProperty.call(a,b))switch(typeof a[b]){case"function":break;case"object":a[b]=function(b){var c=b.slice(1),d=a[b[0]];return function(a,b,e){d.apply(this,[a,b,e].concat(c))}}(a[b]);break;default:a[b]=a[a[b]]}return a}([function(a,b,c){"use strict";var d=c(1);a.exports={version:d.version,TextRequest:c(3),VoiceRequest:c(44),AudioRecorder:c(103),decodeAudioData:c(14).decodeAudioData,decodeSpeex:c(14).decodeSpeex,decodeBase64:c(14).decodeBase64,setDebug:c(14).setDebug}},function(a,b,c){"use strict";a.exports={version:c(2).version,VOICE_ENDPOINT_WS:"wss://apiws.houndify.com:443",TEXT_ENDPOINT:"https://api.houndify.com/v1/text",debug:!1}},function(a,b){a.exports={name:"houndify",version:"2.1.0",description:"The Houndify JavaScript SDK allows you to make voice and text queries to the Houndify API from your browser or Node.js script.",main:"index.js",devDependencies:{"babel-core":"^6.26.0","babel-loader":"^6.4.1","babel-preset-es2015":"^6.24.1","babel-preset-stage-0":"^6.24.1","exports-loader":"0.6.4","fs-extra":"^4.0.2",grunt:"1.0.1","grunt-contrib-clean":"1.0.0","grunt-contrib-copy":"1.0.0","grunt-contrib-uglify":"1.0.1","grunt-contrib-watch":"1.0.0","grunt-shell":"1.3.1","grunt-webpack":"1.0.11",jest:"^21.2.1","json-loader":"0.5.4","selenium-webdriver":"^3.6.0",wav:"^1.0.1",webpack:"1.13.0","webpack-dev-server":"1.14.1"},license:"MIT",dependencies:{"json-bigint":"0.2.3","https-proxy-agent":"2.1.0",pako:"1.0.5",request:"2.74.0",uuid:"3.1.0",ws:"3.2.0"},scripts:{test:"jest --runInBand"},author:{name:"Asif Amirguliyev <[email protected]>"}}},function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(){var a=this;this.requestInfo.ClientID=this.clientId,this.requestInfo.SDK="web",this.requestInfo.SDKVersion=k.version,this.conversationState&&this.conversationState&&(this.requestInfo.ConversationState=this.conversationState,this.requestInfo.ConversationStateTime=this.conversationState.ConversationStateTime);var b={type:"text",startTime:new Date,endTime:-1,requestInfo:this.requestInfo,getTotalDuration:function(){return this.endTime-this.startTime}},c=function(c){b.error=c,b.endTime=new Date,a.onError(c,b)},d=h.stringify(this.requestInfo),e=i.escapeUnicode(d),g=this.endpoint,l="GET",m={},n=[];if(this.proxy&&this.proxy.url){if(l=this.proxy.method||l,this.proxy.headers)for(var o in this.proxy.headers)n.push(o),m[o]=this.proxy.headers[o];0!==this.proxy.url.indexOf("http")&&window&&(window.location.origin||(window.location.origin=window.location.protocol+"//"+window.location.hostname,window.location.port&&(window.location.origin+=":"+window.location.port)),this.proxy.url=window.location.origin+this.proxy.url)}m["Content-Type"]="text/plain","GET"===l&&(m["Hound-Request-Info"]=e),this.requestInfo.InputLanguageEnglishName&&(m["Hound-Input-Language-English-Name"]=this.requestInfo.InputLanguageEnglishName),this.requestInfo.InputLanguageIETFTag&&(m["Hound-Input-Language-IETF-Tag"]=this.requestInfo.InputLanguageIETFTag),f(this,function(d,f){if(d)return c({type:"AUTHENTICATION",exception:d});m["Hound-Request-Authentication"]=f["Hound-Request-Authentication"],m["Hound-Client-Authentication"]=f["Hound-Client-Authentication"];var h={method:l,uri:g,qs:{query:a.query},headers:m,body:e};a.proxy&&a.proxy.url&&(h.proxy=a.proxy.url,h.proxyHeaderExclusiveList=n),j(h,function(d,e,f){if(d)return c({type:"CONNECTION",exception:d});if(403===e.statusCode)return c({type:"AUTHENTICATION",exception:f});if(400===e.statusCode)return c({type:"BAD_REQUEST",exception:f});var g=null;try{g=new Response(f)}catch(h){return c({type:"PROXY",exception:f})}return"Format"in g&&"Error"!==g.Status?(b.endTime=new Date,b.contentBody=f,a.onResponse(g,b),void 0):c({type:"SERVER",exception:g})})})}function f(a,b){var c=a.clientId,d=a.requestInfo.UserID||g.v1(),e=a.requestInfo.RequestID||g.v1(),f=a.requestInfo.TimeStamp||Math.floor(Date.now()/1e3),h=d+";"+e,j=h+f,k={"Hound-Request-Authentication":h};i.signToken(j,a,function(a,d){k["Hound-Client-Authentication"]=c+";"+f+";"+d,b(a,k)})}var g=c(4),h=c(9),Response=c(13),i=c(14),j=i.request,k=c(1),TextRequest=function TextRequest(a){if(d(this,TextRequest),!a.clientId)throw new Error("TextRequest requires Houndify Client ID 'clientId'.");if(this.clientId=a.clientId,a.clientKey)this.clientKey=a.clientKey;else{if(!a.authURL)throw new Error("TextRequest requires either 'clientKey' or 'authURL' for authentication.");this.authURL=a.authURL}if(!a.query)throw new Error("TextRequest requires 'query'.");this.query=a.query,this.onResponse=i.wrapListener(a.onResponse,"onResponse"),this.onError=i.wrapListener(a.onError,"onError"),this.requestInfo=i.cloneObject(a.requestInfo),this.conversationState=a.conversationState,this.proxy=i.cloneObject(a.proxy||{}),this.endpoint=a.endpoint||k.TEXT_ENDPOINT,e.apply(this)};a.exports=TextRequest},function(a,b,c){var d=c(5),e=c(8),f=e;f.v1=d,f.v4=e,a.exports=f},function(a,b,c){function d(a,b,c){var d=b&&c||0,e=b||[];a=a||{};var g=void 0!==a.clockseq?a.clockseq:i,l=void 0!==a.msecs?a.msecs:(new Date).getTime(),m=void 0!==a.nsecs?a.nsecs:k+1,n=l-j+(m-k)/1e4;if(n<0&&void 0===a.clockseq&&(g=g+1&16383),(n<0||l>j)&&void 0===a.nsecs&&(m=0),m>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");j=l,k=m,i=g,l+=122192928e5;var o=(1e4*(268435455&l)+m)%4294967296;e[d++]=o>>>24&255,e[d++]=o>>>16&255,e[d++]=o>>>8&255,e[d++]=255&o;var p=l/4294967296*1e4&268435455;e[d++]=p>>>8&255,e[d++]=255&p,e[d++]=p>>>24&15|16,e[d++]=p>>>16&255,e[d++]=g>>>8|128,e[d++]=255&g;for(var q=a.node||h,r=0;r<6;++r)e[d+r]=q[r];return b?b:f(e)}var e=c(6),f=c(7),g=e(),h=[1|g[0],g[1],g[2],g[3],g[4],g[5]],i=16383&(g[6]<<8|g[7]),j=0,k=0;a.exports=d},function(a,b){(function(b){var c,d=b.crypto||b.msCrypto;if(d&&d.getRandomValues){var e=new Uint8Array(16);c=function(){return d.getRandomValues(e),e}}if(!c){var f=new Array(16);c=function(){for(var a,b=0;b<16;b++)0===(3&b)&&(a=4294967296*Math.random()),f[b]=a>>>((3&b)<<3)&255;return f}}a.exports=c}).call(b,function(){return this}())},function(a,b){function c(a,b){var c=b||0,e=d;return e[a[c++]]+e[a[c++]]+e[a[c++]]+e[a[c++]]+"-"+e[a[c++]]+e[a[c++]]+"-"+e[a[c++]]+e[a[c++]]+"-"+e[a[c++]]+e[a[c++]]+"-"+e[a[c++]]+e[a[c++]]+e[a[c++]]+e[a[c++]]+e[a[c++]]+e[a[c++]]}for(var d=[],e=0;e<256;++e)d[e]=(e+256).toString(16).substr(1);a.exports=c},function(a,b,c){function d(a,b,c){var d=b&&c||0;"string"==typeof a&&(b="binary"==a?new Array(16):null,a=null),a=a||{};var g=a.random||(a.rng||e)();if(g[6]=15&g[6]|64,g[8]=63&g[8]|128,b)for(var h=0;h<16;++h)b[d+h]=g[h];return b||f(g)}var e=c(6),f=c(7);a.exports=d},function(a,b,c){var d=c(10).stringify,e=c(12);a.exports=function(a){return{parse:e(a),stringify:d}},a.exports.parse=e(),a.exports.stringify=d},function(a,b,c){var d=c(11),e=a.exports;!function(){"use strict";function a(a){return h.lastIndex=0,h.test(a)?'"'+a.replace(h,function(a){var b=i[a];return"string"==typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function b(e,h){var i,j,k,l,m,n=c,o=h[e],p=null!=o&&(o instanceof d||o.isBigNumber);switch(o&&"object"==typeof o&&"function"==typeof o.toJSON&&(o=o.toJSON(e)),"function"==typeof g&&(o=g.call(h,e,o)),typeof o){case"string":return p?o:a(o);case"number":return isFinite(o)?String(o):"null";case"boolean":case"null":return String(o);case"object":if(!o)return"null";if(c+=f,m=[],"[object Array]"===Object.prototype.toString.apply(o)){for(l=o.length,i=0;i<l;i+=1)m[i]=b(i,o)||"null";return k=0===m.length?"[]":c?"[\n"+c+m.join(",\n"+c)+"\n"+n+"]":"["+m.join(",")+"]",c=n,k}if(g&&"object"==typeof g)for(l=g.length,i=0;i<l;i+=1)"string"==typeof g[i]&&(j=g[i],k=b(j,o),k&&m.push(a(j)+(c?": ":":")+k));else Object.keys(o).forEach(function(d){var e=b(d,o);e&&m.push(a(d)+(c?": ":":")+e)});return k=0===m.length?"{}":c?"{\n"+c+m.join(",\n"+c)+"\n"+n+"}":"{"+m.join(",")+"}",c=n,k}}var c,f,g,h=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,i={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};"function"!=typeof e.stringify&&(e.stringify=function(a,d,e){var h;if(c="",f="","number"==typeof e)for(h=0;h<e;h+=1)f+=" ";else"string"==typeof e&&(f=e);if(g=d,d&&"function"!=typeof d&&("object"!=typeof d||"number"!=typeof d.length))throw new Error("JSON.stringify");return b("",{"":a})})}()},function(a,b,c){var d;!function(e){"use strict";function f(a){function b(a,d){var e,f,g,h,i,j,k=this;if(!(k instanceof b))return R&&E(26,"constructor call without new",a),new b(a,d);if(null!=d&&S(d,2,64,I,"base")){if(d=0|d,j=a+"",10==d)return k=new b(a instanceof b?a:j),F(k,L+k.e+1,M);if((h="number"==typeof a)&&0*a!=0||!new RegExp("^-?"+(e="["+w.slice(0,d)+"]+")+"(?:\\."+e+")?$",d<37?"i":"").test(j))return H(k,j,h,d);h?(k.s=1/a<0?(j=j.slice(1),-1):1,R&&j.replace(/^0\.0*|\./,"").length>15&&E(I,v,a),h=!1):k.s=45===j.charCodeAt(0)?(j=j.slice(1),-1):1,j=c(j,10,d,k.s)}else{if(a instanceof b)return k.s=a.s,k.e=a.e,k.c=(a=a.c)?a.slice():a,void(I=0);if((h="number"==typeof a)&&0*a==0){if(k.s=1/a<0?(a=-a,-1):1,a===~~a){for(f=0,g=a;g>=10;g/=10,f++);return k.e=f,k.c=[a],void(I=0)}j=a+""}else{if(!q.test(j=a+""))return H(k,j,h);k.s=45===j.charCodeAt(0)?(j=j.slice(1),-1):1}}for((f=j.indexOf("."))>-1&&(j=j.replace(".","")),(g=j.search(/e/i))>0?(f<0&&(f=g),f+=+j.slice(g+1),j=j.substring(0,g)):f<0&&(f=j.length),g=0;48===j.charCodeAt(g);g++);for(i=j.length;48===j.charCodeAt(--i););if(j=j.slice(g,i+1))if(i=j.length,h&&R&&i>15&&(a>z||a!==s(a))&&E(I,v,k.s*a),f=f-g-1,f>Q)k.c=k.e=null;else if(f<P)k.c=[k.e=0];else{if(k.e=f,k.c=[],g=(f+1)%y,f<0&&(g+=y),g<i){for(g&&k.c.push(+j.slice(0,g)),i-=y;g<i;)k.c.push(+j.slice(g,g+=y));j=j.slice(g),g=y-j.length}else g-=i;for(;g--;j+="0");k.c.push(+j)}else k.c=[k.e=0];I=0}function c(a,c,d,e){var f,g,i,j,k,m,o,p=a.indexOf("."),q=L,r=M;for(d<37&&(a=a.toLowerCase()),p>=0&&(i=V,V=0,a=a.replace(".",""),o=new b(d),k=o.pow(a.length-p),V=i,o.c=l(n(h(k.c),k.e),10,c),o.e=o.c.length),m=l(a,d,c),g=i=m.length;0==m[--i];m.pop());if(!m[0])return"0";if(p<0?--g:(k.c=m,k.e=g,k.s=e,k=G(k,o,q,r,c),m=k.c,j=k.r,g=k.e),f=g+q+1,p=m[f],i=c/2,j=j||f<0||null!=m[f+1],j=r<4?(null!=p||j)&&(0==r||r==(k.s<0?3:2)):p>i||p==i&&(4==r||j||6==r&&1&m[f-1]||r==(k.s<0?8:7)),f<1||!m[0])a=j?n("1",-q):"0";else{if(m.length=f,j)for(--c;++m[--f]>c;)m[f]=0,f||(++g,m=[1].concat(m));for(i=m.length;!m[--i];);for(p=0,a="";p<=i;a+=w.charAt(m[p++]));a=n(a,g)}return a}function d(a,c,d,e){var f,g,i,j,k;if(d=null!=d&&S(d,0,8,e,u)?0|d:M,!a.c)return a.toString();if(f=a.c[0],i=a.e,null==c)k=h(a.c),k=19==e||24==e&&i<=N?m(k,i):n(k,i);else if(a=F(new b(a),c,d),g=a.e,k=h(a.c),j=k.length,19==e||24==e&&(c<=g||g<=N)){for(;j<c;k+="0",j++);k=m(k,g)}else if(c-=i,k=n(k,g),g+1>j){if(--c>0)for(k+=".";c--;k+="0");}else if(c+=g-j,c>0)for(g+1==j&&(k+=".");c--;k+="0");return a.s<0&&f?"-"+k:k}function e(a,c){var d,e,f=0;for(k(a[0])&&(a=a[0]),d=new b(a[0]);++f<a.length;){if(e=new b(a[f]),!e.s){d=e;break}c.call(d,e)&&(d=e)}return d}function p(a,b,c,d,e){return(a<b||a>c||a!=o(a))&&E(d,(e||"decimal places")+(a<b||a>c?" out of range":" not an integer"),a),!0}function D(a,b,c){for(var d=1,e=b.length;!b[--e];b.pop());for(e=b[0];e>=10;e/=10,d++);return(c=d+c*y-1)>Q?a.c=a.e=null:c<P?a.c=[a.e=0]:(a.e=c,a.c=b),a}function E(a,b,c){var d=new Error(["new BigNumber","cmp","config","div","divToInt","eq","gt","gte","lt","lte","minus","mod","plus","precision","random","round","shift","times","toDigits","toExponential","toFixed","toFormat","toFraction","pow","toPrecision","toString","BigNumber"][a]+"() "+b+": "+c);throw d.name="BigNumber Error",I=0,d}function F(a,b,c,d){var e,f,g,h,i,j,k,l=a.c,m=A;if(l){a:{for(e=1,h=l[0];h>=10;h/=10,e++);if(f=b-e,f<0)f+=y,g=b,i=l[j=0],k=i/m[e-g-1]%10|0;else if(j=r((f+1)/y),j>=l.length){if(!d)break a;for(;l.length<=j;l.push(0));i=k=0,e=1,f%=y,g=f-y+1}else{for(i=h=l[j],e=1;h>=10;h/=10,e++);f%=y,g=f-y+e,k=g<0?0:i/m[e-g-1]%10|0}if(d=d||b<0||null!=l[j+1]||(g<0?i:i%m[e-g-1]),d=c<4?(k||d)&&(0==c||c==(a.s<0?3:2)):k>5||5==k&&(4==c||d||6==c&&(f>0?g>0?i/m[e-g]:0:l[j-1])%10&1||c==(a.s<0?8:7)),b<1||!l[0])return l.length=0,d?(b-=a.e+1,l[0]=m[(y-b%y)%y],a.e=-b||0):l[0]=a.e=0,a;if(0==f?(l.length=j,h=1,j--):(l.length=j+1,h=m[y-f],l[j]=g>0?s(i/m[e-g]%m[g])*h:0),d)for(;;){if(0==j){for(f=1,g=l[0];g>=10;g/=10,f++);for(g=l[0]+=h,h=1;g>=10;g/=10,h++);f!=h&&(a.e++,l[0]==x&&(l[0]=1));break}if(l[j]+=h,l[j]!=x)break;l[j--]=0,h=1}for(f=l.length;0===l[--f];l.pop());}a.e>Q?a.c=a.e=null:a.e<P&&(a.c=[a.e=0])}return a}var G,H,I=0,J=b.prototype,K=new b(1),L=20,M=4,N=-7,O=21,P=-1e7,Q=1e7,R=!0,S=p,T=!1,U=1,V=0,W={decimalSeparator:".",groupSeparator:",",groupSize:3,secondaryGroupSize:0,fractionGroupSeparator:" ",fractionGroupSize:0};return b.another=f,b.ROUND_UP=0,b.ROUND_DOWN=1,b.ROUND_CEIL=2,b.ROUND_FLOOR=3,b.ROUND_HALF_UP=4,b.ROUND_HALF_DOWN=5,b.ROUND_HALF_EVEN=6,b.ROUND_HALF_CEIL=7,b.ROUND_HALF_FLOOR=8,b.EUCLID=9,b.config=b.set=function(){var a,b,c=0,d={},e=arguments,f=e[0],g=f&&"object"==typeof f?function(){if(f.hasOwnProperty(b))return null!=(a=f[b])}:function(){if(e.length>c)return null!=(a=e[c++])};return g(b="DECIMAL_PLACES")&&S(a,0,C,2,b)&&(L=0|a),d[b]=L,g(b="ROUNDING_MODE")&&S(a,0,8,2,b)&&(M=0|a),d[b]=M,g(b="EXPONENTIAL_AT")&&(k(a)?S(a[0],-C,0,2,b)&&S(a[1],0,C,2,b)&&(N=0|a[0],O=0|a[1]):S(a,-C,C,2,b)&&(N=-(O=0|(a<0?-a:a)))),d[b]=[N,O],g(b="RANGE")&&(k(a)?S(a[0],-C,-1,2,b)&&S(a[1],1,C,2,b)&&(P=0|a[0],Q=0|a[1]):S(a,-C,C,2,b)&&(0|a?P=-(Q=0|(a<0?-a:a)):R&&E(2,b+" cannot be zero",a))),d[b]=[P,Q],g(b="ERRORS")&&(a===!!a||1===a||0===a?(I=0,S=(R=!!a)?p:j):R&&E(2,b+t,a)),d[b]=R,g(b="CRYPTO")&&(a===!0||a===!1||1===a||0===a?a?(a="undefined"==typeof crypto,!a&&crypto&&(crypto.getRandomValues||crypto.randomBytes)?T=!0:R?E(2,"crypto unavailable",a?void 0:crypto):T=!1):T=!1:R&&E(2,b+t,a)),d[b]=T,g(b="MODULO_MODE")&&S(a,0,9,2,b)&&(U=0|a),d[b]=U,g(b="POW_PRECISION")&&S(a,0,C,2,b)&&(V=0|a),d[b]=V,g(b="FORMAT")&&("object"==typeof a?W=a:R&&E(2,b+" not an object",a)),d[b]=W,d},b.max=function(){return e(arguments,J.lt)},b.min=function(){return e(arguments,J.gt)},b.random=function(){var a=9007199254740992,c=Math.random()*a&2097151?function(){return s(Math.random()*a)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)};return function(a){var d,e,f,g,h,i=0,j=[],k=new b(K);if(a=null!=a&&S(a,0,C,14)?0|a:L,g=r(a/y),T)if(crypto.getRandomValues){for(d=crypto.getRandomValues(new Uint32Array(g*=2));i<g;)h=131072*d[i]+(d[i+1]>>>11),h>=9e15?(e=crypto.getRandomValues(new Uint32Array(2)),d[i]=e[0],d[i+1]=e[1]):(j.push(h%1e14),i+=2);i=g/2}else if(crypto.randomBytes){for(d=crypto.randomBytes(g*=7);i<g;)h=281474976710656*(31&d[i])+1099511627776*d[i+1]+4294967296*d[i+2]+16777216*d[i+3]+(d[i+4]<<16)+(d[i+5]<<8)+d[i+6],h>=9e15?crypto.randomBytes(7).copy(d,i):(j.push(h%1e14),i+=7);i=g/7}else T=!1,R&&E(14,"crypto unavailable",crypto);if(!T)for(;i<g;)h=c(),h<9e15&&(j[i++]=h%1e14);for(g=j[--i],a%=y,g&&a&&(h=A[y-a],j[i]=s(g/h)*h);0===j[i];j.pop(),i--);if(i<0)j=[f=0];else{for(f=-1;0===j[0];j.splice(0,1),f-=y);for(i=1,h=j[0];h>=10;h/=10,i++);i<y&&(f-=y-i)}return k.e=f,k.c=j,k}}(),G=function(){function a(a,b,c){var d,e,f,g,h=0,i=a.length,j=b%B,k=b/B|0;for(a=a.slice();i--;)f=a[i]%B,g=a[i]/B|0,d=k*f+g*j,e=j*f+d%B*B+h,h=(e/c|0)+(d/B|0)+k*g,a[i]=e%c;return h&&(a=[h].concat(a)),a}function c(a,b,c,d){var e,f;if(c!=d)f=c>d?1:-1;else for(e=f=0;e<c;e++)if(a[e]!=b[e]){f=a[e]>b[e]?1:-1;break}return f}function d(a,b,c,d){for(var e=0;c--;)a[c]-=e,e=a[c]<b[c]?1:0,a[c]=e*d+a[c]-b[c];for(;!a[0]&&a.length>1;a.splice(0,1));}return function(e,f,h,i,j){var k,l,m,n,o,p,q,r,t,u,v,w,z,A,B,C,D,E=e.s==f.s?1:-1,G=e.c,H=f.c;if(!(G&&G[0]&&H&&H[0]))return new b(e.s&&f.s&&(G?!H||G[0]!=H[0]:H)?G&&0==G[0]||!H?0*E:E/0:NaN);for(r=new b(E),t=r.c=[],l=e.e-f.e,E=h+l+1,j||(j=x,l=g(e.e/y)-g(f.e/y),E=E/y|0),m=0;H[m]==(G[m]||0);m++);if(H[m]>(G[m]||0)&&l--,E<0)t.push(1),n=!0;else{for(A=G.length,C=H.length,m=0,E+=2,o=s(j/(H[0]+1)),o>1&&(H=a(H,o,j),G=a(G,o,j),C=H.length,A=G.length),z=C,u=G.slice(0,C),v=u.length;v<C;u[v++]=0);D=H.slice(),D=[0].concat(D),B=H[0],H[1]>=j/2&&B++;do{if(o=0,k=c(H,u,C,v),k<0){if(w=u[0],C!=v&&(w=w*j+(u[1]||0)),o=s(w/B),o>1)for(o>=j&&(o=j-1),p=a(H,o,j),q=p.length,v=u.length;1==c(p,u,q,v);)o--,d(p,C<q?D:H,q,j),q=p.length,k=1;else 0==o&&(k=o=1),p=H.slice(),q=p.length;if(q<v&&(p=[0].concat(p)),d(u,p,v,j),v=u.length,k==-1)for(;c(H,u,C,v)<1;)o++,d(u,C<v?D:H,v,j),v=u.length}else 0===k&&(o++,u=[0]);t[m++]=o,u[0]?u[v++]=G[z]||0:(u=[G[z]],v=1)}while((z++<A||null!=u[0])&&E--);n=null!=u[0],t[0]||t.splice(0,1)}if(j==x){for(m=1,E=t[0];E>=10;E/=10,m++);F(r,h+(r.e=m+l*y-1)+1,i,n)}else r.e=l,r.r=+n;return r}}(),H=function(){var a=/^(-?)0([xbo])(?=\w[\w.]*$)/i,c=/^([^.]+)\.$/,d=/^\.([^.]+)$/,e=/^-?(Infinity|NaN)$/,f=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(g,h,i,j){var k,l=i?h:h.replace(f,"");if(e.test(l))g.s=isNaN(l)?null:l<0?-1:1;else{if(!i&&(l=l.replace(a,function(a,b,c){return k="x"==(c=c.toLowerCase())?16:"b"==c?2:8,j&&j!=k?a:b}),j&&(k=j,l=l.replace(c,"$1").replace(d,"0.$1")),h!=l))return new b(l,k);R&&E(I,"not a"+(j?" base "+j:"")+" number",h),g.s=null}g.c=g.e=null,I=0}}(),J.absoluteValue=J.abs=function(){var a=new b(this);return a.s<0&&(a.s=1),a},J.ceil=function(){return F(new b(this),this.e+1,2)},J.comparedTo=J.cmp=function(a,c){return I=1,i(this,new b(a,c))},J.decimalPlaces=J.dp=function(){var a,b,c=this.c;if(!c)return null;if(a=((b=c.length-1)-g(this.e/y))*y,b=c[b])for(;b%10==0;b/=10,a--);return a<0&&(a=0),a},J.dividedBy=J.div=function(a,c){return I=3,G(this,new b(a,c),L,M)},J.dividedToIntegerBy=J.divToInt=function(a,c){return I=4,G(this,new b(a,c),0,1)},J.equals=J.eq=function(a,c){return I=5,0===i(this,new b(a,c))},J.floor=function(){return F(new b(this),this.e+1,3)},J.greaterThan=J.gt=function(a,c){return I=6,i(this,new b(a,c))>0},J.greaterThanOrEqualTo=J.gte=function(a,c){return I=7,1===(c=i(this,new b(a,c)))||0===c},J.isFinite=function(){return!!this.c},J.isInteger=J.isInt=function(){return!!this.c&&g(this.e/y)>this.c.length-2},J.isNaN=function(){return!this.s},J.isNegative=J.isNeg=function(){return this.s<0},J.isZero=function(){return!!this.c&&0==this.c[0]},J.lessThan=J.lt=function(a,c){return I=8,i(this,new b(a,c))<0},J.lessThanOrEqualTo=J.lte=function(a,c){return I=9,(c=i(this,new b(a,c)))===-1||0===c},J.minus=J.sub=function(a,c){var d,e,f,h,i=this,j=i.s;if(I=10,a=new b(a,c),c=a.s,!j||!c)return new b(NaN);if(j!=c)return a.s=-c,i.plus(a);var k=i.e/y,l=a.e/y,m=i.c,n=a.c;if(!k||!l){if(!m||!n)return m?(a.s=-c,a):new b(n?i:NaN);if(!m[0]||!n[0])return n[0]?(a.s=-c,a):new b(m[0]?i:3==M?-0:0)}if(k=g(k),l=g(l),m=m.slice(),j=k-l){for((h=j<0)?(j=-j,f=m):(l=k,f=n),f.reverse(),c=j;c--;f.push(0));f.reverse()}else for(e=(h=(j=m.length)<(c=n.length))?j:c,j=c=0;c<e;c++)if(m[c]!=n[c]){h=m[c]<n[c];break}if(h&&(f=m,m=n,n=f,a.s=-a.s),c=(e=n.length)-(d=m.length),c>0)for(;c--;m[d++]=0);for(c=x-1;e>j;){if(m[--e]<n[e]){for(d=e;d&&!m[--d];m[d]=c);--m[d],m[e]+=x}m[e]-=n[e]}for(;0==m[0];m.splice(0,1),--l);return m[0]?D(a,m,l):(a.s=3==M?-1:1,a.c=[a.e=0],a)},J.modulo=J.mod=function(a,c){var d,e,f=this;return I=11,a=new b(a,c),!f.c||!a.s||a.c&&!a.c[0]?new b(NaN):!a.c||f.c&&!f.c[0]?new b(f):(9==U?(e=a.s,a.s=1,d=G(f,a,0,3),a.s=e,d.s*=e):d=G(f,a,0,U),f.minus(d.times(a)))},J.negated=J.neg=function(){var a=new b(this);return a.s=-a.s||null,a},J.plus=J.add=function(a,c){var d,e=this,f=e.s;if(I=12,a=new b(a,c),c=a.s,!f||!c)return new b(NaN);if(f!=c)return a.s=-c,e.minus(a);var h=e.e/y,i=a.e/y,j=e.c,k=a.c;if(!h||!i){if(!j||!k)return new b(f/0);if(!j[0]||!k[0])return k[0]?a:new b(j[0]?e:0*f)}if(h=g(h),i=g(i),j=j.slice(),f=h-i){for(f>0?(i=h,d=k):(f=-f,d=j),d.reverse();f--;d.push(0));d.reverse()}for(f=j.length,c=k.length,f-c<0&&(d=k,k=j,j=d,c=f),f=0;c;)f=(j[--c]=j[c]+k[c]+f)/x|0,j[c]=x===j[c]?0:j[c]%x;return f&&(j=[f].concat(j),++i),D(a,j,i)},J.precision=J.sd=function(a){var b,c,d=this,e=d.c;if(null!=a&&a!==!!a&&1!==a&&0!==a&&(R&&E(13,"argument"+t,a),a!=!!a&&(a=null)),!e)return null;if(c=e.length-1,b=c*y+1,c=e[c]){for(;c%10==0;c/=10,b--);for(c=e[0];c>=10;c/=10,b++);}return a&&d.e+1>b&&(b=d.e+1),b},J.round=function(a,c){var d=new b(this);return(null==a||S(a,0,C,15))&&F(d,~~a+this.e+1,null!=c&&S(c,0,8,15,u)?0|c:M),d},J.shift=function(a){var c=this;return S(a,-z,z,16,"argument")?c.times("1e"+o(a)):new b(c.c&&c.c[0]&&(a<-z||a>z)?c.s*(a<0?0:1/0):c)},J.squareRoot=J.sqrt=function(){var a,c,d,e,f,i=this,j=i.c,k=i.s,l=i.e,m=L+4,n=new b("0.5");if(1!==k||!j||!j[0])return new b(!k||k<0&&(!j||j[0])?NaN:j?i:1/0);if(k=Math.sqrt(+i),0==k||k==1/0?(c=h(j),(c.length+l)%2==0&&(c+="0"),k=Math.sqrt(c),l=g((l+1)/2)-(l<0||l%2),k==1/0?c="1e"+l:(c=k.toExponential(),c=c.slice(0,c.indexOf("e")+1)+l),d=new b(c)):d=new b(k+""),d.c[0])for(l=d.e,k=l+m,k<3&&(k=0);;)if(f=d,d=n.times(f.plus(G(i,f,m,1))),h(f.c).slice(0,k)===(c=h(d.c)).slice(0,k)){if(d.e<l&&--k,c=c.slice(k-3,k+1),"9999"!=c&&(e||"4999"!=c)){+c&&(+c.slice(1)||"5"!=c.charAt(0))||(F(d,d.e+L+2,1),a=!d.times(d).eq(i));break}if(!e&&(F(f,f.e+L+2,0),f.times(f).eq(i))){d=f;break}m+=4,k+=4,e=1}return F(d,d.e+L+1,M,a)},J.times=J.mul=function(a,c){var d,e,f,h,i,j,k,l,m,n,o,p,q,r,s,t=this,u=t.c,v=(I=17,a=new b(a,c)).c;if(!(u&&v&&u[0]&&v[0]))return!t.s||!a.s||u&&!u[0]&&!v||v&&!v[0]&&!u?a.c=a.e=a.s=null:(a.s*=t.s,u&&v?(a.c=[0],a.e=0):a.c=a.e=null),a;for(e=g(t.e/y)+g(a.e/y),a.s*=t.s,k=u.length,n=v.length,k<n&&(q=u,u=v,v=q,f=k,k=n,n=f),f=k+n,q=[];f--;q.push(0));for(r=x,s=B,f=n;--f>=0;){for(d=0,o=v[f]%s,p=v[f]/s|0,i=k,h=f+i;h>f;)l=u[--i]%s,m=u[i]/s|0,j=p*l+m*o,l=o*l+j%s*s+q[h]+d,d=(l/r|0)+(j/s|0)+p*m,q[h--]=l%r;q[h]=d}return d?++e:q.splice(0,1),D(a,q,e)},J.toDigits=function(a,c){var d=new b(this);return a=null!=a&&S(a,1,C,18,"precision")?0|a:null,c=null!=c&&S(c,0,8,18,u)?0|c:M,a?F(d,a,c):d},J.toExponential=function(a,b){return d(this,null!=a&&S(a,0,C,19)?~~a+1:null,b,19)},J.toFixed=function(a,b){return d(this,null!=a&&S(a,0,C,20)?~~a+this.e+1:null,b,20)},J.toFormat=function(a,b){var c=d(this,null!=a&&S(a,0,C,21)?~~a+this.e+1:null,b,21);if(this.c){var e,f=c.split("."),g=+W.groupSize,h=+W.secondaryGroupSize,i=W.groupSeparator,j=f[0],k=f[1],l=this.s<0,m=l?j.slice(1):j,n=m.length;if(h&&(e=g,g=h,h=e,n-=e),g>0&&n>0){for(e=n%g||g,j=m.substr(0,e);e<n;e+=g)j+=i+m.substr(e,g);h>0&&(j+=i+m.slice(e)),l&&(j="-"+j)}c=k?j+W.decimalSeparator+((h=+W.fractionGroupSize)?k.replace(new RegExp("\\d{"+h+"}\\B","g"),"$&"+W.fractionGroupSeparator):k):j}return c},J.toFraction=function(a){var c,d,e,f,g,i,j,k,l,m=R,n=this,o=n.c,p=new b(K),q=d=new b(K),r=j=new b(K);if(null!=a&&(R=!1,i=new b(a),R=m,(m=i.isInt())&&!i.lt(K)||(R&&E(22,"max denominator "+(m?"out of range":"not an integer"),a),a=!m&&i.c&&F(i,i.e+1,1).gte(K)?i:null)),!o)return n.toString();for(l=h(o),f=p.e=l.length-n.e-1,p.c[0]=A[(g=f%y)<0?y+g:g],a=!a||i.cmp(p)>0?f>0?p:q:i,g=Q,Q=1/0,i=new b(l),j.c[0]=0;k=G(i,p,0,1),e=d.plus(k.times(r)),1!=e.cmp(a);)d=r,r=e,q=j.plus(k.times(e=q)),j=e,p=i.minus(k.times(e=p)),i=e;return e=G(a.minus(d),r,0,1),j=j.plus(e.times(q)),d=d.plus(e.times(r)),j.s=q.s=n.s,f*=2,c=G(q,r,f,M).minus(n).abs().cmp(G(j,d,f,M).minus(n).abs())<1?[q.toString(),r.toString()]:[j.toString(),d.toString()],Q=g,c},J.toNumber=function(){return+this},J.toPower=J.pow=function(a,c){var d,e,f,g=s(a<0?-a:+a),h=this;if(null!=c&&(I=23,c=new b(c)),!S(a,-z,z,23,"exponent")&&(!isFinite(a)||g>z&&(a/=0)||parseFloat(a)!=a&&!(a=NaN))||0==a)return d=Math.pow(+h,a),new b(c?d%c:d);for(c?a>1&&h.gt(K)&&h.isInt()&&c.gt(K)&&c.isInt()?h=h.mod(c):(f=c,c=null):V&&(d=r(V/y+2)),e=new b(K);;){if(g%2){if(e=e.times(h),!e.c)break;d?e.c.length>d&&(e.c.length=d):c&&(e=e.mod(c))}if(g=s(g/2),!g)break;h=h.times(h),d?h.c&&h.c.length>d&&(h.c.length=d):c&&(h=h.mod(c))}return c?e:(a<0&&(e=K.div(e)),f?e.mod(f):d?F(e,V,M):e)},J.toPrecision=function(a,b){return d(this,null!=a&&S(a,1,C,24,"precision")?0|a:null,b,24)},J.toString=function(a){var b,d=this,e=d.s,f=d.e;return null===f?e?(b="Infinity",e<0&&(b="-"+b)):b="NaN":(b=h(d.c),b=null!=a&&S(a,2,64,25,"base")?c(n(b,f),0|a,10,e):f<=N||f>=O?m(b,f):n(b,f),e<0&&d.c[0]&&(b="-"+b)),b},J.truncated=J.trunc=function(){return F(new b(this),this.e+1,1)},J.valueOf=J.toJSON=function(){var a,b=this,c=b.e;return null===c?b.toString():(a=h(b.c),a=c<=N||c>=O?m(a,c):n(a,c),b.s<0?"-"+a:a)},J.isBigNumber=!0,null!=a&&b.config(a),b}function g(a){var b=0|a;return a>0||a===b?b:b-1}function h(a){for(var b,c,d=1,e=a.length,f=a[0]+"";d<e;){for(b=a[d++]+"",c=y-b.length;c--;b="0"+b);f+=b}for(e=f.length;48===f.charCodeAt(--e););return f.slice(0,e+1||1)}function i(a,b){var c,d,e=a.c,f=b.c,g=a.s,h=b.s,i=a.e,j=b.e;if(!g||!h)return null;if(c=e&&!e[0],d=f&&!f[0],c||d)return c?d?0:-h:g;if(g!=h)return g;if(c=g<0,d=i==j,!e||!f)return d?0:!e^c?1:-1;if(!d)return i>j^c?1:-1;for(h=(i=e.length)<(j=f.length)?i:j,g=0;g<h;g++)if(e[g]!=f[g])return e[g]>f[g]^c?1:-1;return i==j?0:i>j^c?1:-1}function j(a,b,c){return(a=o(a))>=b&&a<=c}function k(a){return"[object Array]"==Object.prototype.toString.call(a)}function l(a,b,c){for(var d,e,f=[0],g=0,h=a.length;g<h;){for(e=f.length;e--;f[e]*=b);for(f[d=0]+=w.indexOf(a.charAt(g++));d<f.length;d++)f[d]>c-1&&(null==f[d+1]&&(f[d+1]=0),f[d+1]+=f[d]/c|0,f[d]%=c)}return f.reverse()}function m(a,b){return(a.length>1?a.charAt(0)+"."+a.slice(1):a)+(b<0?"e":"e+")+b}function n(a,b){var c,d;if(b<0){for(d="0.";++b;d+="0");a=d+a}else if(c=a.length,++b>c){for(d="0",b-=c;--b;d+="0");a+=d}else b<c&&(a=a.slice(0,b)+"."+a.slice(b));return a}function o(a){return a=parseFloat(a),a<0?r(a):s(a)}var p,q=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,r=Math.ceil,s=Math.floor,t=" not a boolean or binary digit",u="rounding mode",v="number type has more than 15 significant digits",w="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_",x=1e14,y=14,z=9007199254740991,A=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],B=1e7,C=1e9;p=f(),p["default"]=p.BigNumber=p,d=function(){return p}.call(b,c,b,a),!(void 0!==d&&(a.exports=d))}(this)},function(a,b,c){var d=null,e=function(a){"use strict";var b={strict:!1,storeAsString:!1};void 0!==a&&null!==a&&(a.strict===!0&&(b.strict=!0),a.storeAsString===!0&&(b.storeAsString=!0));var e,f,g,h,i={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},j=function(a){throw{name:"SyntaxError",message:a,at:e,text:g}},k=function(a){return a&&a!==f&&j("Expected '"+a+"' instead of '"+f+"'"),f=g.charAt(e),e+=1,f},l=function(){var a,e="";for("-"===f&&(e="-",k("-"));f>="0"&&f<="9";)e+=f,k();if("."===f)for(e+=".";k()&&f>="0"&&f<="9";)e+=f;if("e"===f||"E"===f)for(e+=f,k(),"-"!==f&&"+"!==f||(e+=f,k());f>="0"&&f<="9";)e+=f,k();return a=+e,isFinite(a)?(null==d&&(d=c(11)),e.length>15?b.storeAsString===!0?e:new d(e):a):void j("Bad number")},m=function(){var a,b,c,d="";if('"'===f)for(;k();){if('"'===f)return k(),d;if("\\"===f)if(k(),"u"===f){for(c=0,b=0;b<4&&(a=parseInt(k(),16),isFinite(a));b+=1)c=16*c+a;d+=String.fromCharCode(c)}else{if("string"!=typeof i[f])break;d+=i[f]}else d+=f}j("Bad string")},n=function(){for(;f&&f<=" ";)k()},o=function(){switch(f){case"t":return k("t"),k("r"),k("u"),k("e"),!0;case"f":return k("f"),k("a"),k("l"),k("s"),k("e"),!1;case"n":return k("n"),k("u"),k("l"),k("l"),null}j("Unexpected '"+f+"'")},p=function(){var a=[];if("["===f){if(k("["),n(),"]"===f)return k("]"),a;for(;f;){if(a.push(h()),n(),"]"===f)return k("]"),a;k(","),n()}}j("Bad array")},q=function(){var a,c={};if("{"===f){if(k("{"),n(),"}"===f)return k("}"),c;for(;f;){if(a=m(),n(),k(":"),b.strict===!0&&Object.hasOwnProperty.call(c,a)&&j('Duplicate key "'+a+'"'),c[a]=h(),n(),"}"===f)return k("}"),c;k(","),n()}}j("Bad object")};return h=function(){switch(n(),f){case"{":return q();case"[":return p();case'"':return m();case"-":return l();default:return f>="0"&&f<="9"?l():o()}},function(a,b){var c;return g=a+"",e=0,f=" ",c=h(),n(),f&&j("Syntax error"),"function"==typeof b?function d(a,c){var e,f=a[c];return f&&"object"==typeof f&&Object.keys(f).forEach(function(a){e=d(f,a),void 0!==e?f[a]=e:delete f[a]}),b.call(a,c,f)}({"":c},""):c}};a.exports=e},function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var e=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),f=c(9),Response=(c(1),function(){function Response(a){d(this,Response);var b=f.parse(a);for(var c in b)this[c]=b[c]}return e(Response,[{key:"stringify",value:function(a,b){return f.stringify(this,a,b)}},{key:"getConversationStates",value:function(){return this.AllResults?this.AllResults.map(function(a){var b={};b.CommandKind=a.CommandKind,a.ConversationState&&(b.Default=a.ConversationState);for(var c in a)a[c].ConversationState&&(b[c]=a[c].ConversationState);return b}):[]}}]),Response}());a.exports=Response},function(a,b,c){(function(b){"use strict";function d(a,b){return b?(a=a.replace(/-/g,"+"),a=a.replace(/_/g,"/")):(a=a.replace(/\+/g,"-"),a=a.replace(/\//g,"_")),a}function e(a,c){var e=new b(d(c,!0),"base64"),g=f.createHmac("sha256",e).update(a).digest("base64");return d(g,!1)}var f=c(19),g=c(9),h=c(38),i=c(39),j=c(43),k=c(1);a.exports={cloneObject:function(a){return a?g.parse(g.stringify(a)):{}},setDebug:function(a){k.debug=!!a},log:function(){k.debug&&console.log.apply(console,arguments)},wrapListener:function(a,b){return function(){try{a&&a.apply(this,arguments)}catch(c){console.log("Error in '"+b+"' handler: "+c),c.stack&&console.log(c.stack)}}},signToken:function(a,b,c){if(b.clientKey){var d=e(a,b.clientKey);c(null,d)}else{if(!b.authURL)throw new Error("Authentication failed");this.request({uri:b.authURL,qs:{token:a}},function(a,b,d){return a?c(a,null):200!==b.statusCode?c(d,null):void c(null,d)})}},escapeUnicode:function(a){return a.split("").map(function(a){var b=a.charCodeAt(0);if(b>127){var c=b.toString(16),d=new Array(5-c.length).join("0");return"\\u"+d+c}return a}).join("")},request:function l(a,b){if(h)return h(a,b);var l=new XMLHttpRequest,c=a.method||"GET",d=(a.proxy||a.uri)+"?";for(var e in a.qs)d+=e+"="+encodeURIComponent(a.qs[e]);l.open(c,d,!0),l.responseType="text";for(var f in a.headers)l.setRequestHeader(f,a.headers[f]);l.onreadystatechange=function(a){4==l.readyState&&b(null,{statusCode:l.status},l.response)},l.send(a.body)},decodeAudioData:function(a,b){try{"undefined"==typeof AudioContext&&(AudioContext=webkitAudioContext),k.audioCtx=k.audioCtx||new AudioContext}catch(c){b("Web Audio API is not supported by your browser.")}k.audioCtx.decodeAudioData(a,function(a){b(null,{audioData:a.getChannelData(0).slice(),sampleRate:k.audioCtx.sampleRate})},b)},decodeBase64:function(a){return new b(a,"base64")},decodeSpeex:function(a){for(var b=a.length,c=new Uint8Array(i.HEAPU8.buffer,i._malloc(b),b),d=0;d<b;d++)c[d]=a[d];var e=new Uint32Array(i.HEAPU32.buffer,i._malloc(i.HEAPU32.BYTES_PER_ELEMENT),1),f=new Uint32Array(i.HEAPU32.buffer,i._malloc(i.HEAPU32.BYTES_PER_ELEMENT),1),g=j.decodeSpeex(c.byteOffset,b,e.byteOffset,f.byteOffset),h=e[0],k=f[0]/2,l=new Int16Array(i.HEAP16.buffer,h,k),m={sampleRate:g?16e3:8e3,audioData:l.slice()};return i._free(e.byteOffset),i._free(f.byteOffset),i._free(c.byteOffset),i._free(l.byteOffset),m}}}).call(b,c(15).Buffer)},function(a,b,c){(function(a,d){"use strict";function e(){try{var a=new Uint8Array(1);return a.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===a.foo()&&"function"==typeof a.subarray&&0===a.subarray(1,1).byteLength;
}catch(b){return!1}}function f(){return a.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function g(b,c){if(f()<c)throw new RangeError("Invalid typed array length");return a.TYPED_ARRAY_SUPPORT?(b=new Uint8Array(c),b.__proto__=a.prototype):(null===b&&(b=new a(c)),b.length=c),b}function a(b,c,d){if(!(a.TYPED_ARRAY_SUPPORT||this instanceof a))return new a(b,c,d);if("number"==typeof b){if("string"==typeof c)throw new Error("If encoding is specified then the first argument must be a string");return k(this,b)}return h(this,b,c,d)}function h(a,b,c,d){if("number"==typeof b)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&b instanceof ArrayBuffer?n(a,b,c,d):"string"==typeof b?l(a,b,c):o(a,b)}function i(a){if("number"!=typeof a)throw new TypeError('"size" argument must be a number');if(a<0)throw new RangeError('"size" argument must not be negative')}function j(a,b,c,d){return i(b),b<=0?g(a,b):void 0!==c?"string"==typeof d?g(a,b).fill(c,d):g(a,b).fill(c):g(a,b)}function k(b,c){if(i(c),b=g(b,c<0?0:0|p(c)),!a.TYPED_ARRAY_SUPPORT)for(var d=0;d<c;++d)b[d]=0;return b}function l(b,c,d){if("string"==typeof d&&""!==d||(d="utf8"),!a.isEncoding(d))throw new TypeError('"encoding" must be a valid string encoding');var e=0|r(c,d);b=g(b,e);var f=b.write(c,d);return f!==e&&(b=b.slice(0,f)),b}function m(a,b){var c=b.length<0?0:0|p(b.length);a=g(a,c);for(var d=0;d<c;d+=1)a[d]=255&b[d];return a}function n(b,c,d,e){if(c.byteLength,d<0||c.byteLength<d)throw new RangeError("'offset' is out of bounds");if(c.byteLength<d+(e||0))throw new RangeError("'length' is out of bounds");return c=void 0===d&&void 0===e?new Uint8Array(c):void 0===e?new Uint8Array(c,d):new Uint8Array(c,d,e),a.TYPED_ARRAY_SUPPORT?(b=c,b.__proto__=a.prototype):b=m(b,c),b}function o(b,c){if(a.isBuffer(c)){var d=0|p(c.length);return b=g(b,d),0===b.length?b:(c.copy(b,0,0,d),b)}if(c){if("undefined"!=typeof ArrayBuffer&&c.buffer instanceof ArrayBuffer||"length"in c)return"number"!=typeof c.length||Y(c.length)?g(b,0):m(b,c);if("Buffer"===c.type&&_(c.data))return m(b,c.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function p(a){if(a>=f())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+f().toString(16)+" bytes");return 0|a}function q(b){return+b!=b&&(b=0),a.alloc(+b)}function r(b,c){if(a.isBuffer(b))return b.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(b)||b instanceof ArrayBuffer))return b.byteLength;"string"!=typeof b&&(b=""+b);var d=b.length;if(0===d)return 0;for(var e=!1;;)switch(c){case"ascii":case"latin1":case"binary":return d;case"utf8":case"utf-8":case void 0:return T(b).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*d;case"hex":return d>>>1;case"base64":return W(b).length;default:if(e)return T(b).length;c=(""+c).toLowerCase(),e=!0}}function s(a,b,c){var d=!1;if((void 0===b||b<0)&&(b=0),b>this.length)return"";if((void 0===c||c>this.length)&&(c=this.length),c<=0)return"";if(c>>>=0,b>>>=0,c<=b)return"";for(a||(a="utf8");;)switch(a){case"hex":return H(this,b,c);case"utf8":case"utf-8":return D(this,b,c);case"ascii":return F(this,b,c);case"latin1":case"binary":return G(this,b,c);case"base64":return C(this,b,c);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,b,c);default:if(d)throw new TypeError("Unknown encoding: "+a);a=(a+"").toLowerCase(),d=!0}}function t(a,b,c){var d=a[b];a[b]=a[c],a[c]=d}function u(b,c,d,e,f){if(0===b.length)return-1;if("string"==typeof d?(e=d,d=0):d>2147483647?d=2147483647:d<-2147483648&&(d=-2147483648),d=+d,isNaN(d)&&(d=f?0:b.length-1),d<0&&(d=b.length+d),d>=b.length){if(f)return-1;d=b.length-1}else if(d<0){if(!f)return-1;d=0}if("string"==typeof c&&(c=a.from(c,e)),a.isBuffer(c))return 0===c.length?-1:v(b,c,d,e,f);if("number"==typeof c)return c=255&c,a.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?f?Uint8Array.prototype.indexOf.call(b,c,d):Uint8Array.prototype.lastIndexOf.call(b,c,d):v(b,[c],d,e,f);throw new TypeError("val must be string, number or Buffer")}function v(a,b,c,d,e){function f(a,b){return 1===g?a[b]:a.readUInt16BE(b*g)}var g=1,h=a.length,i=b.length;if(void 0!==d&&(d=String(d).toLowerCase(),"ucs2"===d||"ucs-2"===d||"utf16le"===d||"utf-16le"===d)){if(a.length<2||b.length<2)return-1;g=2,h/=2,i/=2,c/=2}var j;if(e){var k=-1;for(j=c;j<h;j++)if(f(a,j)===f(b,k===-1?0:j-k)){if(k===-1&&(k=j),j-k+1===i)return k*g}else k!==-1&&(j-=j-k),k=-1}else for(c+i>h&&(c=h-i),j=c;j>=0;j--){for(var l=!0,m=0;m<i;m++)if(f(a,j+m)!==f(b,m)){l=!1;break}if(l)return j}return-1}function w(a,b,c,d){c=Number(c)||0;var e=a.length-c;d?(d=Number(d),d>e&&(d=e)):d=e;var f=b.length;if(f%2!==0)throw new TypeError("Invalid hex string");d>f/2&&(d=f/2);for(var g=0;g<d;++g){var h=parseInt(b.substr(2*g,2),16);if(isNaN(h))return g;a[c+g]=h}return g}function x(a,b,c,d){return X(T(b,a.length-c),a,c,d)}function y(a,b,c,d){return X(U(b),a,c,d)}function z(a,b,c,d){return y(a,b,c,d)}function A(a,b,c,d){return X(W(b),a,c,d)}function B(a,b,c,d){return X(V(b,a.length-c),a,c,d)}function C(a,b,c){return 0===b&&c===a.length?Z.fromByteArray(a):Z.fromByteArray(a.slice(b,c))}function D(a,b,c){c=Math.min(a.length,c);for(var d=[],e=b;e<c;){var f=a[e],g=null,h=f>239?4:f>223?3:f>191?2:1;if(e+h<=c){var i,j,k,l;switch(h){case 1:f<128&&(g=f);break;case 2:i=a[e+1],128===(192&i)&&(l=(31&f)<<6|63&i,l>127&&(g=l));break;case 3:i=a[e+1],j=a[e+2],128===(192&i)&&128===(192&j)&&(l=(15&f)<<12|(63&i)<<6|63&j,l>2047&&(l<55296||l>57343)&&(g=l));break;case 4:i=a[e+1],j=a[e+2],k=a[e+3],128===(192&i)&&128===(192&j)&&128===(192&k)&&(l=(15&f)<<18|(63&i)<<12|(63&j)<<6|63&k,l>65535&&l<1114112&&(g=l))}}null===g?(g=65533,h=1):g>65535&&(g-=65536,d.push(g>>>10&1023|55296),g=56320|1023&g),d.push(g),e+=h}return E(d)}function E(a){var b=a.length;if(b<=aa)return String.fromCharCode.apply(String,a);for(var c="",d=0;d<b;)c+=String.fromCharCode.apply(String,a.slice(d,d+=aa));return c}function F(a,b,c){var d="";c=Math.min(a.length,c);for(var e=b;e<c;++e)d+=String.fromCharCode(127&a[e]);return d}function G(a,b,c){var d="";c=Math.min(a.length,c);for(var e=b;e<c;++e)d+=String.fromCharCode(a[e]);return d}function H(a,b,c){var d=a.length;(!b||b<0)&&(b=0),(!c||c<0||c>d)&&(c=d);for(var e="",f=b;f<c;++f)e+=S(a[f]);return e}function I(a,b,c){for(var d=a.slice(b,c),e="",f=0;f<d.length;f+=2)e+=String.fromCharCode(d[f]+256*d[f+1]);return e}function J(a,b,c){if(a%1!==0||a<0)throw new RangeError("offset is not uint");if(a+b>c)throw new RangeError("Trying to access beyond buffer length")}function K(b,c,d,e,f,g){if(!a.isBuffer(b))throw new TypeError('"buffer" argument must be a Buffer instance');if(c>f||c<g)throw new RangeError('"value" argument is out of bounds');if(d+e>b.length)throw new RangeError("Index out of range")}function L(a,b,c,d){b<0&&(b=65535+b+1);for(var e=0,f=Math.min(a.length-c,2);e<f;++e)a[c+e]=(b&255<<8*(d?e:1-e))>>>8*(d?e:1-e)}function M(a,b,c,d){b<0&&(b=4294967295+b+1);for(var e=0,f=Math.min(a.length-c,4);e<f;++e)a[c+e]=b>>>8*(d?e:3-e)&255}function N(a,b,c,d,e,f){if(c+d>a.length)throw new RangeError("Index out of range");if(c<0)throw new RangeError("Index out of range")}function O(a,b,c,d,e){return e||N(a,b,c,4,3.4028234663852886e38,-3.4028234663852886e38),$.write(a,b,c,d,23,4),c+4}function P(a,b,c,d,e){return e||N(a,b,c,8,1.7976931348623157e308,-1.7976931348623157e308),$.write(a,b,c,d,52,8),c+8}function Q(a){if(a=R(a).replace(ba,""),a.length<2)return"";for(;a.length%4!==0;)a+="=";return a}function R(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function S(a){return a<16?"0"+a.toString(16):a.toString(16)}function T(a,b){b=b||1/0;for(var c,d=a.length,e=null,f=[],g=0;g<d;++g){if(c=a.charCodeAt(g),c>55295&&c<57344){if(!e){if(c>56319){(b-=3)>-1&&f.push(239,191,189);continue}if(g+1===d){(b-=3)>-1&&f.push(239,191,189);continue}e=c;continue}if(c<56320){(b-=3)>-1&&f.push(239,191,189),e=c;continue}c=(e-55296<<10|c-56320)+65536}else e&&(b-=3)>-1&&f.push(239,191,189);if(e=null,c<128){if((b-=1)<0)break;f.push(c)}else if(c<2048){if((b-=2)<0)break;f.push(c>>6|192,63&c|128)}else if(c<65536){if((b-=3)<0)break;f.push(c>>12|224,c>>6&63|128,63&c|128)}else{if(!(c<1114112))throw new Error("Invalid code point");if((b-=4)<0)break;f.push(c>>18|240,c>>12&63|128,c>>6&63|128,63&c|128)}}return f}function U(a){for(var b=[],c=0;c<a.length;++c)b.push(255&a.charCodeAt(c));return b}function V(a,b){for(var c,d,e,f=[],g=0;g<a.length&&!((b-=2)<0);++g)c=a.charCodeAt(g),d=c>>8,e=c%256,f.push(e),f.push(d);return f}function W(a){return Z.toByteArray(Q(a))}function X(a,b,c,d){for(var e=0;e<d&&!(e+c>=b.length||e>=a.length);++e)b[e+c]=a[e];return e}function Y(a){return a!==a}var Z=c(16),$=c(17),_=c(18);b.Buffer=a,b.SlowBuffer=q,b.INSPECT_MAX_BYTES=50,a.TYPED_ARRAY_SUPPORT=void 0!==d.TYPED_ARRAY_SUPPORT?d.TYPED_ARRAY_SUPPORT:e(),b.kMaxLength=f(),a.poolSize=8192,a._augment=function(b){return b.__proto__=a.prototype,b},a.from=function(a,b,c){return h(null,a,b,c)},a.TYPED_ARRAY_SUPPORT&&(a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0})),a.alloc=function(a,b,c){return j(null,a,b,c)},a.allocUnsafe=function(a){return k(null,a)},a.allocUnsafeSlow=function(a){return k(null,a)},a.isBuffer=function(a){return!(null==a||!a._isBuffer)},a.compare=function(b,c){if(!a.isBuffer(b)||!a.isBuffer(c))throw new TypeError("Arguments must be Buffers");if(b===c)return 0;for(var d=b.length,e=c.length,f=0,g=Math.min(d,e);f<g;++f)if(b[f]!==c[f]){d=b[f],e=c[f];break}return d<e?-1:e<d?1:0},a.isEncoding=function(a){switch(String(a).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(b,c){if(!_(b))throw new TypeError('"list" argument must be an Array of Buffers');if(0===b.length)return a.alloc(0);var d;if(void 0===c)for(c=0,d=0;d<b.length;++d)c+=b[d].length;var e=a.allocUnsafe(c),f=0;for(d=0;d<b.length;++d){var g=b[d];if(!a.isBuffer(g))throw new TypeError('"list" argument must be an Array of Buffers');g.copy(e,f),f+=g.length}return e},a.byteLength=r,a.prototype._isBuffer=!0,a.prototype.swap16=function(){var a=this.length;if(a%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var b=0;b<a;b+=2)t(this,b,b+1);return this},a.prototype.swap32=function(){var a=this.length;if(a%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var b=0;b<a;b+=4)t(this,b,b+3),t(this,b+1,b+2);return this},a.prototype.swap64=function(){var a=this.length;if(a%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var b=0;b<a;b+=8)t(this,b,b+7),t(this,b+1,b+6),t(this,b+2,b+5),t(this,b+3,b+4);return this},a.prototype.toString=function(){var a=0|this.length;return 0===a?"":0===arguments.length?D(this,0,a):s.apply(this,arguments)},a.prototype.equals=function(b){if(!a.isBuffer(b))throw new TypeError("Argument must be a Buffer");return this===b||0===a.compare(this,b)},a.prototype.inspect=function(){var a="",c=b.INSPECT_MAX_BYTES;return this.length>0&&(a=this.toString("hex",0,c).match(/.{2}/g).join(" "),this.length>c&&(a+=" ... ")),"<Buffer "+a+">"},a.prototype.compare=function(b,c,d,e,f){if(!a.isBuffer(b))throw new TypeError("Argument must be a Buffer");if(void 0===c&&(c=0),void 0===d&&(d=b?b.length:0),void 0===e&&(e=0),void 0===f&&(f=this.length),c<0||d>b.length||e<0||f>this.length)throw new RangeError("out of range index");if(e>=f&&c>=d)return 0;if(e>=f)return-1;if(c>=d)return 1;if(c>>>=0,d>>>=0,e>>>=0,f>>>=0,this===b)return 0;for(var g=f-e,h=d-c,i=Math.min(g,h),j=this.slice(e,f),k=b.slice(c,d),l=0;l<i;++l)if(j[l]!==k[l]){g=j[l],h=k[l];break}return g<h?-1:h<g?1:0},a.prototype.includes=function(a,b,c){return this.indexOf(a,b,c)!==-1},a.prototype.indexOf=function(a,b,c){return u(this,a,b,c,!0)},a.prototype.lastIndexOf=function(a,b,c){return u(this,a,b,c,!1)},a.prototype.write=function(a,b,c,d){if(void 0===b)d="utf8",c=this.length,b=0;else if(void 0===c&&"string"==typeof b)d=b,c=this.length,b=0;else{if(!isFinite(b))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");b=0|b,isFinite(c)?(c=0|c,void 0===d&&(d="utf8")):(d=c,c=void 0)}var e=this.length-b;if((void 0===c||c>e)&&(c=e),a.length>0&&(c<0||b<0)||b>this.length)throw new RangeError("Attempt to write outside buffer bounds");d||(d="utf8");for(var f=!1;;)switch(d){case"hex":return w(this,a,b,c);case"utf8":case"utf-8":return x(this,a,b,c);case"ascii":return y(this,a,b,c);case"latin1":case"binary":return z(this,a,b,c);case"base64":return A(this,a,b,c);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,a,b,c);default:if(f)throw new TypeError("Unknown encoding: "+d);d=(""+d).toLowerCase(),f=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var aa=4096;a.prototype.slice=function(b,c){var d=this.length;b=~~b,c=void 0===c?d:~~c,b<0?(b+=d,b<0&&(b=0)):b>d&&(b=d),c<0?(c+=d,c<0&&(c=0)):c>d&&(c=d),c<b&&(c=b);var e;if(a.TYPED_ARRAY_SUPPORT)e=this.subarray(b,c),e.__proto__=a.prototype;else{var f=c-b;e=new a(f,(void 0));for(var g=0;g<f;++g)e[g]=this[g+b]}return e},a.prototype.readUIntLE=function(a,b,c){a=0|a,b=0|b,c||J(a,b,this.length);for(var d=this[a],e=1,f=0;++f<b&&(e*=256);)d+=this[a+f]*e;return d},a.prototype.readUIntBE=function(a,b,c){a=0|a,b=0|b,c||J(a,b,this.length);for(var d=this[a+--b],e=1;b>0&&(e*=256);)d+=this[a+--b]*e;return d},a.prototype.readUInt8=function(a,b){return b||J(a,1,this.length),this[a]},a.prototype.readUInt16LE=function(a,b){return b||J(a,2,this.length),this[a]|this[a+1]<<8},a.prototype.readUInt16BE=function(a,b){return b||J(a,2,this.length),this[a]<<8|this[a+1]},a.prototype.readUInt32LE=function(a,b){return b||J(a,4,this.length),(this[a]|this[a+1]<<8|this[a+2]<<16)+16777216*this[a+3]},a.prototype.readUInt32BE=function(a,b){return b||J(a,4,this.length),16777216*this[a]+(this[a+1]<<16|this[a+2]<<8|this[a+3])},a.prototype.readIntLE=function(a,b,c){a=0|a,b=0|b,c||J(a,b,this.length);for(var d=this[a],e=1,f=0;++f<b&&(e*=256);)d+=this[a+f]*e;return e*=128,d>=e&&(d-=Math.pow(2,8*b)),d},a.prototype.readIntBE=function(a,b,c){a=0|a,b=0|b,c||J(a,b,this.length);for(var d=b,e=1,f=this[a+--d];d>0&&(e*=256);)f+=this[a+--d]*e;return e*=128,f>=e&&(f-=Math.pow(2,8*b)),f},a.prototype.readInt8=function(a,b){return b||J(a,1,this.length),128&this[a]?(255-this[a]+1)*-1:this[a]},a.prototype.readInt16LE=function(a,b){b||J(a,2,this.length);var c=this[a]|this[a+1]<<8;return 32768&c?4294901760|c:c},a.prototype.readInt16BE=function(a,b){b||J(a,2,this.length);var c=this[a+1]|this[a]<<8;return 32768&c?4294901760|c:c},a.prototype.readInt32LE=function(a,b){return b||J(a,4,this.length),this[a]|this[a+1]<<8|this[a+2]<<16|this[a+3]<<24},a.prototype.readInt32BE=function(a,b){return b||J(a,4,this.length),this[a]<<24|this[a+1]<<16|this[a+2]<<8|this[a+3]},a.prototype.readFloatLE=function(a,b){return b||J(a,4,this.length),$.read(this,a,!0,23,4)},a.prototype.readFloatBE=function(a,b){return b||J(a,4,this.length),$.read(this,a,!1,23,4)},a.prototype.readDoubleLE=function(a,b){return b||J(a,8,this.length),$.read(this,a,!0,52,8)},a.prototype.readDoubleBE=function(a,b){return b||J(a,8,this.length),$.read(this,a,!1,52,8)},a.prototype.writeUIntLE=function(a,b,c,d){if(a=+a,b=0|b,c=0|c,!d){var e=Math.pow(2,8*c)-1;K(this,a,b,c,e,0)}var f=1,g=0;for(this[b]=255&a;++g<c&&(f*=256);)this[b+g]=a/f&255;return b+c},a.prototype.writeUIntBE=function(a,b,c,d){if(a=+a,b=0|b,c=0|c,!d){var e=Math.pow(2,8*c)-1;K(this,a,b,c,e,0)}var f=c-1,g=1;for(this[b+f]=255&a;--f>=0&&(g*=256);)this[b+f]=a/g&255;return b+c},a.prototype.writeUInt8=function(b,c,d){return b=+b,c=0|c,d||K(this,b,c,1,255,0),a.TYPED_ARRAY_SUPPORT||(b=Math.floor(b)),this[c]=255&b,c+1},a.prototype.writeUInt16LE=function(b,c,d){return b=+b,c=0|c,d||K(this,b,c,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[c]=255&b,this[c+1]=b>>>8):L(this,b,c,!0),c+2},a.prototype.writeUInt16BE=function(b,c,d){return b=+b,c=0|c,d||K(this,b,c,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[c]=b>>>8,this[c+1]=255&b):L(this,b,c,!1),c+2},a.prototype.writeUInt32LE=function(b,c,d){return b=+b,c=0|c,d||K(this,b,c,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[c+3]=b>>>24,this[c+2]=b>>>16,this[c+1]=b>>>8,this[c]=255&b):M(this,b,c,!0),c+4},a.prototype.writeUInt32BE=function(b,c,d){return b=+b,c=0|c,d||K(this,b,c,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[c]=b>>>24,this[c+1]=b>>>16,this[c+2]=b>>>8,this[c+3]=255&b):M(this,b,c,!1),c+4},a.prototype.writeIntLE=function(a,b,c,d){if(a=+a,b=0|b,!d){var e=Math.pow(2,8*c-1);K(this,a,b,c,e-1,-e)}var f=0,g=1,h=0;for(this[b]=255&a;++f<c&&(g*=256);)a<0&&0===h&&0!==this[b+f-1]&&(h=1),this[b+f]=(a/g>>0)-h&255;return b+c},a.prototype.writeIntBE=function(a,b,c,d){if(a=+a,b=0|b,!d){var e=Math.pow(2,8*c-1);K(this,a,b,c,e-1,-e)}var f=c-1,g=1,h=0;for(this[b+f]=255&a;--f>=0&&(g*=256);)a<0&&0===h&&0!==this[b+f+1]&&(h=1),this[b+f]=(a/g>>0)-h&255;return b+c},a.prototype.writeInt8=function(b,c,d){return b=+b,c=0|c,d||K(this,b,c,1,127,-128),a.TYPED_ARRAY_SUPPORT||(b=Math.floor(b)),b<0&&(b=255+b+1),this[c]=255&b,c+1},a.prototype.writeInt16LE=function(b,c,d){return b=+b,c=0|c,d||K(this,b,c,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[c]=255&b,this[c+1]=b>>>8):L(this,b,c,!0),c+2},a.prototype.writeInt16BE=function(b,c,d){return b=+b,c=0|c,d||K(this,b,c,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[c]=b>>>8,this[c+1]=255&b):L(this,b,c,!1),c+2},a.prototype.writeInt32LE=function(b,c,d){return b=+b,c=0|c,d||K(this,b,c,4,2147483647,-2147483648),a.TYPED_ARRAY_SUPPORT?(this[c]=255&b,this[c+1]=b>>>8,this[c+2]=b>>>16,this[c+3]=b>>>24):M(this,b,c,!0),c+4},a.prototype.writeInt32BE=function(b,c,d){return b=+b,c=0|c,d||K(this,b,c,4,2147483647,-2147483648),b<0&&(b=4294967295+b+1),a.TYPED_ARRAY_SUPPORT?(this[c]=b>>>24,this[c+1]=b>>>16,this[c+2]=b>>>8,this[c+3]=255&b):M(this,b,c,!1),c+4},a.prototype.writeFloatLE=function(a,b,c){return O(this,a,b,!0,c)},a.prototype.writeFloatBE=function(a,b,c){return O(this,a,b,!1,c)},a.prototype.writeDoubleLE=function(a,b,c){return P(this,a,b,!0,c)},a.prototype.writeDoubleBE=function(a,b,c){return P(this,a,b,!1,c)},a.prototype.copy=function(b,c,d,e){if(d||(d=0),e||0===e||(e=this.length),c>=b.length&&(c=b.length),c||(c=0),e>0&&e<d&&(e=d),e===d)return 0;if(0===b.length||0===this.length)return 0;if(c<0)throw new RangeError("targetStart out of bounds");if(d<0||d>=this.length)throw new RangeError("sourceStart out of bounds");if(e<0)throw new RangeError("sourceEnd out of bounds");e>this.length&&(e=this.length),b.length-c<e-d&&(e=b.length-c+d);var f,g=e-d;if(this===b&&d<c&&c<e)for(f=g-1;f>=0;--f)b[f+c]=this[f+d];else if(g<1e3||!a.TYPED_ARRAY_SUPPORT)for(f=0;f<g;++f)b[f+c]=this[f+d];else Uint8Array.prototype.set.call(b,this.subarray(d,d+g),c);return g},a.prototype.fill=function(b,c,d,e){if("string"==typeof b){if("string"==typeof c?(e=c,c=0,d=this.length):"string"==typeof d&&(e=d,d=this.length),1===b.length){var f=b.charCodeAt(0);f<256&&(b=f)}if(void 0!==e&&"string"!=typeof e)throw new TypeError("encoding must be a string");if("string"==typeof e&&!a.isEncoding(e))throw new TypeError("Unknown encoding: "+e)}else"number"==typeof b&&(b=255&b);if(c<0||this.length<c||this.length<d)throw new RangeError("Out of range index");if(d<=c)return this;c>>>=0,d=void 0===d?this.length:d>>>0,b||(b=0);var g;if("number"==typeof b)for(g=c;g<d;++g)this[g]=b;else{var h=a.isBuffer(b)?b:T(new a(b,e).toString()),i=h.length;for(g=0;g<d-c;++g)this[g+c]=h[g%i]}return this};var ba=/[^+\/0-9A-Za-z-_]/g}).call(b,c(15).Buffer,function(){return this}())},function(a,b){"use strict";function c(a){var b=a.length;if(b%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===a[b-2]?2:"="===a[b-1]?1:0}function d(a){return 3*a.length/4-c(a)}function e(a){var b,d,e,f,g,h=a.length;f=c(a),g=new k(3*h/4-f),d=f>0?h-4:h;var i=0;for(b=0;b<d;b+=4)e=j[a.charCodeAt(b)]<<18|j[a.charCodeAt(b+1)]<<12|j[a.charCodeAt(b+2)]<<6|j[a.charCodeAt(b+3)],g[i++]=e>>16&255,g[i++]=e>>8&255,g[i++]=255&e;return 2===f?(e=j[a.charCodeAt(b)]<<2|j[a.charCodeAt(b+1)]>>4,g[i++]=255&e):1===f&&(e=j[a.charCodeAt(b)]<<10|j[a.charCodeAt(b+1)]<<4|j[a.charCodeAt(b+2)]>>2,g[i++]=e>>8&255,g[i++]=255&e),g}function f(a){return i[a>>18&63]+i[a>>12&63]+i[a>>6&63]+i[63&a]}function g(a,b,c){for(var d,e=[],g=b;g<c;g+=3)d=(a[g]<<16)+(a[g+1]<<8)+a[g+2],e.push(f(d));return e.join("")}function h(a){for(var b,c=a.length,d=c%3,e="",f=[],h=16383,j=0,k=c-d;j<k;j+=h)f.push(g(a,j,j+h>k?k:j+h));return 1===d?(b=a[c-1],e+=i[b>>2],e+=i[b<<4&63],e+="=="):2===d&&(b=(a[c-2]<<8)+a[c-1],e+=i[b>>10],e+=i[b>>4&63],e+=i[b<<2&63],e+="="),f.push(e),f.join("")}b.byteLength=d,b.toByteArray=e,b.fromByteArray=h;for(var i=[],j=[],k="undefined"!=typeof Uint8Array?Uint8Array:Array,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",m=0,n=l.length;m<n;++m)i[m]=l[m],j[l.charCodeAt(m)]=m;j["-".charCodeAt(0)]=62,j["_".charCodeAt(0)]=63},function(a,b){b.read=function(a,b,c,d,e){var f,g,h=8*e-d-1,i=(1<<h)-1,j=i>>1,k=-7,l=c?e-1:0,m=c?-1:1,n=a[b+l];for(l+=m,f=n&(1<<-k)-1,n>>=-k,k+=h;k>0;f=256*f+a[b+l],l+=m,k-=8);for(g=f&(1<<-k)-1,f>>=-k,k+=d;k>0;g=256*g+a[b+l],l+=m,k-=8);if(0===f)f=1-j;else{if(f===i)return g?NaN:(n?-1:1)*(1/0);g+=Math.pow(2,d),f-=j}return(n?-1:1)*g*Math.pow(2,f-d)},b.write=function(a,b,c,d,e,f){var g,h,i,j=8*f-e-1,k=(1<<j)-1,l=k>>1,m=23===e?Math.pow(2,-24)-Math.pow(2,-77):0,n=d?0:f-1,o=d?1:-1,p=b<0||0===b&&1/b<0?1:0;for(b=Math.abs(b),isNaN(b)||b===1/0?(h=isNaN(b)?1:0,g=k):(g=Math.floor(Math.log(b)/Math.LN2),b*(i=Math.pow(2,-g))<1&&(g--,i*=2),b+=g+l>=1?m/i:m*Math.pow(2,1-l),b*i>=2&&(g++,i/=2),g+l>=k?(h=0,g=k):g+l>=1?(h=(b*i-1)*Math.pow(2,e),g+=l):(h=b*Math.pow(2,l-1)*Math.pow(2,e),g=0));e>=8;a[c+n]=255&h,n+=o,h/=256,e-=8);for(g=g<<e|h,j+=e;j>0;a[c+n]=255&g,n+=o,g/=256,j-=8);a[c+n-o]|=128*p}},function(a,b){var c={}.toString;a.exports=Array.isArray||function(a){return"[object Array]"==c.call(a)}},function(a,b,c){(function(a){function d(){var a=[].slice.call(arguments).join(" ");throw new Error([a,"we accept pull requests","http://github.com/dominictarr/crypto-browserify"].join("\n"))}function e(a,b){for(var c in a)b(a[c],c)}var f=c(20);b.createHash=c(22),b.createHmac=c(35),b.randomBytes=function(b,c){if(!c||!c.call)return new a(f(b));try{c.call(this,void 0,new a(f(b)))}catch(d){c(d)}},b.getHashes=function(){return["sha1","sha256","sha512","md5","rmd160"]};var g=c(36)(b);b.pbkdf2=g.pbkdf2,b.pbkdf2Sync=g.pbkdf2Sync,e(["createCredentials","createCipher","createCipheriv","createDecipher","createDecipheriv","createSign","createVerify","createDiffieHellman"],function(a){b[a]=function(){d("sorry,",a,"is not implemented yet")}})}).call(b,c(15).Buffer)},function(a,b,c){(function(b,d){!function(){var e=("undefined"==typeof window?b:window)||{};_crypto=e.crypto||e.msCrypto||c(21),a.exports=function(a){if(_crypto.getRandomValues){var b=new d(a);return _crypto.getRandomValues(b),b}if(_crypto.randomBytes)return _crypto.randomBytes(a);throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}}()}).call(b,function(){return this}(),c(15).Buffer)},function(a,b){},function(a,b,c){(function(b){function d(a){return function(){var c=[],d={update:function(a,d){return b.isBuffer(a)||(a=new b(a,d)),c.push(a),this},digest:function(d){var e=b.concat(c),f=a(e);return c=null,d?f.toString(d):f}};return d}}var e=c(23),f=d(c(32)),g=d(c(34));a.exports=function(a){return"md5"===a?new f:"rmd160"===a?new g:e(a)}}).call(b,c(15).Buffer)},function(a,b,c){var b=a.exports=function(a){var c=b[a];if(!c)throw new Error(a+" is not supported (we accept pull requests)");return new c},d=c(15).Buffer,e=c(24)(d);b.sha1=c(25)(d,e),b.sha256=c(30)(d,e),b.sha512=c(31)(d,e)},function(a,b){a.exports=function(a){function b(b,c){this._block=new a(b),this._finalSize=c,this._blockSize=b,this._len=0,this._s=0}return b.prototype.init=function(){this._s=0,this._len=0},b.prototype.update=function(b,c){"string"==typeof b&&(c=c||"utf8",b=new a(b,c));for(var d=this._len+=b.length,e=this._s=this._s||0,f=0,g=this._block;e<d;){for(var h=Math.min(b.length,f+this._blockSize-e%this._blockSize),i=h-f,j=0;j<i;j++)g[e%this._blockSize+j]=b[j+f];e+=i,f+=i,e%this._blockSize===0&&this._update(g)}return this._s=e,this},b.prototype.digest=function(a){var b=8*this._len;this._block[this._len%this._blockSize]=128,this._block.fill(0,this._len%this._blockSize+1),b%(8*this._blockSize)>=8*this._finalSize&&(this._update(this._block),this._block.fill(0)),this._block.writeInt32BE(b,this._blockSize-4);var c=this._update(this._block)||this._hash();return a?c.toString(a):c},b.prototype._update=function(){throw new Error("_update must be implemented by subclass")},b}},function(a,b,c){var d=c(26).inherits;a.exports=function(a,b){function c(){return o.length?o.pop().init():this instanceof c?(this._w=n,b.call(this,64,56),this._h=null,void this.init()):new c}function e(a,b,c,d){return a<20?b&c|~b&d:a<40?b^c^d:a<60?b&c|b&d|c&d:b^c^d}function f(a){return a<20?1518500249:a<40?1859775393:a<60?-1894007588:-899497514}function g(a,b){return a+b|0}function h(a,b){return a<<b|a>>>32-b}var i=0,j=4,k=8,l=12,m=16,n=new("undefined"==typeof Int32Array?Array:Int32Array)(80),o=[];return d(c,b),c.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,b.prototype.init.call(this),this},c.prototype._POOL=o,c.prototype._update=function(a){var b,c,d,i,j,k,l,m,n,o;b=k=this._a,c=l=this._b,d=m=this._c,i=n=this._d,j=o=this._e;for(var p=this._w,q=0;q<80;q++){var r=p[q]=q<16?a.readInt32BE(4*q):h(p[q-3]^p[q-8]^p[q-14]^p[q-16],1),s=g(g(h(b,5),e(q,c,d,i)),g(g(j,r),f(q)));j=i,i=d,d=h(c,30),c=b,b=s}this._a=g(b,k),this._b=g(c,l),this._c=g(d,m),this._d=g(i,n),this._e=g(j,o)},c.prototype._hash=function(){o.length<100&&o.push(this);var b=new a(20);return b.writeInt32BE(0|this._a,i),b.writeInt32BE(0|this._b,j),b.writeInt32BE(0|this._c,k),b.writeInt32BE(0|this._d,l),b.writeInt32BE(0|this._e,m),b},c}},function(a,b,c){(function(a,d){function e(a,c){var d={seen:[],stylize:g};return arguments.length>=3&&(d.depth=arguments[2]),arguments.length>=4&&(d.colors=arguments[3]),p(c)?d.showHidden=c:c&&b._extend(d,c),v(d.showHidden)&&(d.showHidden=!1),v(d.depth)&&(d.depth=2),v(d.colors)&&(d.colors=!1),v(d.customInspect)&&(d.customInspect=!0),d.colors&&(d.stylize=f),i(d,a,d.depth)}function f(a,b){var c=e.styles[b];return c?"["+e.colors[c][0]+"m"+a+"["+e.colors[c][1]+"m":a}function g(a,b){return a}function h(a){var b={};return a.forEach(function(a,c){b[a]=!0}),b}function i(a,c,d){if(a.customInspect&&c&&A(c.inspect)&&c.inspect!==b.inspect&&(!c.constructor||c.constructor.prototype!==c)){var e=c.inspect(d,a);return t(e)||(e=i(a,e,d)),e}var f=j(a,c);if(f)return f;var g=Object.keys(c),p=h(g);if(a.showHidden&&(g=Object.getOwnPropertyNames(c)),z(c)&&(g.indexOf("message")>=0||g.indexOf("description")>=0))return k(c);if(0===g.length){if(A(c)){var q=c.name?": "+c.name:"";return a.stylize("[Function"+q+"]","special")}if(w(c))return a.stylize(RegExp.prototype.toString.call(c),"regexp");if(y(c))return a.stylize(Date.prototype.toString.call(c),"date");if(z(c))return k(c)}var r="",s=!1,u=["{","}"];if(o(c)&&(s=!0,u=["[","]"]),A(c)){var v=c.name?": "+c.name:"";r=" [Function"+v+"]"}if(w(c)&&(r=" "+RegExp.prototype.toString.call(c)),y(c)&&(r=" "+Date.prototype.toUTCString.call(c)),z(c)&&(r=" "+k(c)),0===g.length&&(!s||0==c.length))return u[0]+r+u[1];if(d<0)return w(c)?a.stylize(RegExp.prototype.toString.call(c),"regexp"):a.stylize("[Object]","special");a.seen.push(c);var x;return x=s?l(a,c,d,p,g):g.map(function(b){return m(a,c,d,p,b,s)}),a.seen.pop(),n(x,r,u)}function j(a,b){if(v(b))return a.stylize("undefined","undefined");if(t(b)){var c="'"+JSON.stringify(b).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return a.stylize(c,"string")}return s(b)?a.stylize(""+b,"number"):p(b)?a.stylize(""+b,"boolean"):q(b)?a.stylize("null","null"):void 0}function k(a){return"["+Error.prototype.toString.call(a)+"]"}function l(a,b,c,d,e){for(var f=[],g=0,h=b.length;g<h;++g)F(b,String(g))?f.push(m(a,b,c,d,String(g),!0)):f.push("");return e.forEach(function(e){e.match(/^\d+$/)||f.push(m(a,b,c,d,e,!0))}),f}function m(a,b,c,d,e,f){var g,h,j;if(j=Object.getOwnPropertyDescriptor(b,e)||{value:b[e]},j.get?h=j.set?a.stylize("[Getter/Setter]","special"):a.stylize("[Getter]","special"):j.set&&(h=a.stylize("[Setter]","special")),F(d,e)||(g="["+e+"]"),h||(a.seen.indexOf(j.value)<0?(h=q(c)?i(a,j.value,null):i(a,j.value,c-1),h.indexOf("\n")>-1&&(h=f?h.split("\n").map(function(a){return" "+a}).join("\n").substr(2):"\n"+h.split("\n").map(function(a){return" "+a}).join("\n"))):h=a.stylize("[Circular]","special")),v(g)){if(f&&e.match(/^\d+$/))return h;g=JSON.stringify(""+e),g.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(g=g.substr(1,g.length-2),g=a.stylize(g,"name")):(g=g.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),g=a.stylize(g,"string"))}return g+": "+h}function n(a,b,c){var d=0,e=a.reduce(function(a,b){return d++,b.indexOf("\n")>=0&&d++,a+b.replace(/\u001b\[\d\d?m/g,"").length+1},0);return e>60?c[0]+(""===b?"":b+"\n ")+" "+a.join(",\n ")+" "+c[1]:c[0]+b+" "+a.join(", ")+" "+c[1]}function o(a){return Array.isArray(a)}function p(a){return"boolean"==typeof a}function q(a){return null===a}function r(a){return null==a}function s(a){return"number"==typeof a}function t(a){return"string"==typeof a}function u(a){return"symbol"==typeof a}function v(a){return void 0===a}function w(a){return x(a)&&"[object RegExp]"===C(a)}function x(a){return"object"==typeof a&&null!==a}function y(a){return x(a)&&"[object Date]"===C(a)}function z(a){return x(a)&&("[object Error]"===C(a)||a instanceof Error)}function A(a){return"function"==typeof a}function B(a){return null===a||"boolean"==typeof a||"number"==typeof a||"string"==typeof a||"symbol"==typeof a||"undefined"==typeof a}function C(a){return Object.prototype.toString.call(a)}function D(a){return a<10?"0"+a.toString(10):a.toString(10)}function E(){var a=new Date,b=[D(a.getHours()),D(a.getMinutes()),D(a.getSeconds())].join(":");return[a.getDate(),J[a.getMonth()],b].join(" ")}function F(a,b){return Object.prototype.hasOwnProperty.call(a,b)}var G=/%[sdj%]/g;b.format=function(a){if(!t(a)){for(var b=[],c=0;c<arguments.length;c++)b.push(e(arguments[c]));return b.join(" ")}for(var c=1,d=arguments,f=d.length,g=String(a).replace(G,function(a){if("%%"===a)return"%";if(c>=f)return a;switch(a){case"%s":return String(d[c++]);case"%d":return Number(d[c++]);case"%j":try{return JSON.stringify(d[c++])}catch(b){return"[Circular]"}default:return a}}),h=d[c];c<f;h=d[++c])g+=q(h)||!x(h)?" "+h:" "+e(h);return g},b.deprecate=function(c,e){function f(){if(!g){if(d.throwDeprecation)throw new Error(e);d.traceDeprecation?console.trace(e):console.error(e),g=!0}return c.apply(this,arguments)}if(v(a.process))return function(){return b.deprecate(c,e).apply(this,arguments)};if(d.noDeprecation===!0)return c;var g=!1;return f};var H,I={};b.debuglog=function(a){if(v(H)&&(H=d.env.NODE_DEBUG||""),a=a.toUpperCase(),!I[a])if(new RegExp("\\b"+a+"\\b","i").test(H)){var c=d.pid;I[a]=function(){var d=b.format.apply(b,arguments);console.error("%s %d: %s",a,c,d)}}else I[a]=function(){};return I[a]},b.inspect=e,e.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},e.styles={special:"cyan",number:"yellow","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"},b.isArray=o,b.isBoolean=p,b.isNull=q,b.isNullOrUndefined=r,b.isNumber=s,b.isString=t,b.isSymbol=u,b.isUndefined=v,b.isRegExp=w,b.isObject=x,b.isDate=y,b.isError=z,b.isFunction=A,b.isPrimitive=B,b.isBuffer=c(28);var J=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
b.log=function(){console.log("%s - %s",E(),b.format.apply(b,arguments))},b.inherits=c(29),b._extend=function(a,b){if(!b||!x(b))return a;for(var c=Object.keys(b),d=c.length;d--;)a[c[d]]=b[c[d]];return a}}).call(b,function(){return this}(),c(27))},function(a,b){function c(){throw new Error("setTimeout has not been defined")}function d(){throw new Error("clearTimeout has not been defined")}function e(a){if(k===setTimeout)return setTimeout(a,0);if((k===c||!k)&&setTimeout)return k=setTimeout,setTimeout(a,0);try{return k(a,0)}catch(b){try{return k.call(null,a,0)}catch(b){return k.call(this,a,0)}}}function f(a){if(l===clearTimeout)return clearTimeout(a);if((l===d||!l)&&clearTimeout)return l=clearTimeout,clearTimeout(a);try{return l(a)}catch(b){try{return l.call(null,a)}catch(b){return l.call(this,a)}}}function g(){p&&n&&(p=!1,n.length?o=n.concat(o):q=-1,o.length&&h())}function h(){if(!p){var a=e(g);p=!0;for(var b=o.length;b;){for(n=o,o=[];++q<b;)n&&n[q].run();q=-1,b=o.length}n=null,p=!1,f(a)}}function i(a,b){this.fun=a,this.array=b}function j(){}var k,l,m=a.exports={};!function(){try{k="function"==typeof setTimeout?setTimeout:c}catch(a){k=c}try{l="function"==typeof clearTimeout?clearTimeout:d}catch(a){l=d}}();var n,o=[],p=!1,q=-1;m.nextTick=function(a){var b=new Array(arguments.length-1);if(arguments.length>1)for(var c=1;c<arguments.length;c++)b[c-1]=arguments[c];o.push(new i(a,b)),1!==o.length||p||e(h)},i.prototype.run=function(){this.fun.apply(null,this.array)},m.title="browser",m.browser=!0,m.env={},m.argv=[],m.version="",m.versions={},m.on=j,m.addListener=j,m.once=j,m.off=j,m.removeListener=j,m.removeAllListeners=j,m.emit=j,m.prependListener=j,m.prependOnceListener=j,m.listeners=function(a){return[]},m.binding=function(a){throw new Error("process.binding is not supported")},m.cwd=function(){return"/"},m.chdir=function(a){throw new Error("process.chdir is not supported")},m.umask=function(){return 0}},function(a,b){a.exports=function(a){return a&&"object"==typeof a&&"function"==typeof a.copy&&"function"==typeof a.fill&&"function"==typeof a.readUInt8}},function(a,b){"function"==typeof Object.create?a.exports=function(a,b){a.super_=b,a.prototype=Object.create(b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})}:a.exports=function(a,b){a.super_=b;var c=function(){};c.prototype=b.prototype,a.prototype=new c,a.prototype.constructor=a}},function(a,b,c){var d=c(26).inherits;a.exports=function(a,b){function c(){this.init(),this._w=n,b.call(this,64,56)}function e(a,b){return a>>>b|a<<32-b}function f(a,b){return a>>>b}function g(a,b,c){return a&b^~a&c}function h(a,b,c){return a&b^a&c^b&c}function i(a){return e(a,2)^e(a,13)^e(a,22)}function j(a){return e(a,6)^e(a,11)^e(a,25)}function k(a){return e(a,7)^e(a,18)^f(a,3)}function l(a){return e(a,17)^e(a,19)^f(a,10)}var m=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],n=new Array(64);return d(c,b),c.prototype.init=function(){return this._a=1779033703,this._b=-1150833019,this._c=1013904242,this._d=-1521486534,this._e=1359893119,this._f=-1694144372,this._g=528734635,this._h=1541459225,this._len=this._s=0,this},c.prototype._update=function(a){var b,c,d,e,f,n,o,p,q,r,s=this._w;b=0|this._a,c=0|this._b,d=0|this._c,e=0|this._d,f=0|this._e,n=0|this._f,o=0|this._g,p=0|this._h;for(var t=0;t<64;t++){var u=s[t]=t<16?a.readInt32BE(4*t):l(s[t-2])+s[t-7]+k(s[t-15])+s[t-16];q=p+j(f)+g(f,n,o)+m[t]+u,r=i(b)+h(b,c,d),p=o,o=n,n=f,f=e+q,e=d,d=c,c=b,b=q+r}this._a=b+this._a|0,this._b=c+this._b|0,this._c=d+this._c|0,this._d=e+this._d|0,this._e=f+this._e|0,this._f=n+this._f|0,this._g=o+this._g|0,this._h=p+this._h|0},c.prototype._hash=function(){var b=new a(32);return b.writeInt32BE(this._a,0),b.writeInt32BE(this._b,4),b.writeInt32BE(this._c,8),b.writeInt32BE(this._d,12),b.writeInt32BE(this._e,16),b.writeInt32BE(this._f,20),b.writeInt32BE(this._g,24),b.writeInt32BE(this._h,28),b},c}},function(a,b,c){var d=c(26).inherits;a.exports=function(a,b){function c(){this.init(),this._w=i,b.call(this,128,112)}function e(a,b,c){return a>>>c|b<<32-c}function f(a,b,c){return a&b^~a&c}function g(a,b,c){return a&b^a&c^b&c}var h=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],i=new Array(160);return d(c,b),c.prototype.init=function(){return this._a=1779033703,this._b=-1150833019,this._c=1013904242,this._d=-1521486534,this._e=1359893119,this._f=-1694144372,this._g=528734635,this._h=1541459225,this._al=-205731576,this._bl=-2067093701,this._cl=-23791573,this._dl=1595750129,this._el=-1377402159,this._fl=725511199,this._gl=-79577749,this._hl=327033209,this._len=this._s=0,this},c.prototype._update=function(a){var b,c,d,i,j,k,l,m,n,o,p,q,r,s,t,u,v=this._w;b=0|this._a,c=0|this._b,d=0|this._c,i=0|this._d,j=0|this._e,k=0|this._f,l=0|this._g,m=0|this._h,n=0|this._al,o=0|this._bl,p=0|this._cl,q=0|this._dl,r=0|this._el,s=0|this._fl,t=0|this._gl,u=0|this._hl;for(var w=0;w<80;w++){var x,y,z=2*w;if(w<16)x=v[z]=a.readInt32BE(4*z),y=v[z+1]=a.readInt32BE(4*z+4);else{var A=v[z-30],B=v[z-30+1],C=e(A,B,1)^e(A,B,8)^A>>>7,D=e(B,A,1)^e(B,A,8)^e(B,A,7);A=v[z-4],B=v[z-4+1];var E=e(A,B,19)^e(B,A,29)^A>>>6,F=e(B,A,19)^e(A,B,29)^e(B,A,6),G=v[z-14],H=v[z-14+1],I=v[z-32],J=v[z-32+1];y=D+H,x=C+G+(y>>>0<D>>>0?1:0),y+=F,x=x+E+(y>>>0<F>>>0?1:0),y+=J,x=x+I+(y>>>0<J>>>0?1:0),v[z]=x,v[z+1]=y}var K=g(b,c,d),L=g(n,o,p),M=e(b,n,28)^e(n,b,2)^e(n,b,7),N=e(n,b,28)^e(b,n,2)^e(b,n,7),O=e(j,r,14)^e(j,r,18)^e(r,j,9),P=e(r,j,14)^e(r,j,18)^e(j,r,9),Q=h[z],R=h[z+1],S=f(j,k,l),T=f(r,s,t),U=u+P,V=m+O+(U>>>0<u>>>0?1:0);U+=T,V=V+S+(U>>>0<T>>>0?1:0),U+=R,V=V+Q+(U>>>0<R>>>0?1:0),U+=y,V=V+x+(U>>>0<y>>>0?1:0);var W=N+L,X=M+K+(W>>>0<N>>>0?1:0);m=l,u=t,l=k,t=s,k=j,s=r,r=q+U|0,j=i+V+(r>>>0<q>>>0?1:0)|0,i=d,q=p,d=c,p=o,c=b,o=n,n=U+W|0,b=V+X+(n>>>0<U>>>0?1:0)|0}this._al=this._al+n|0,this._bl=this._bl+o|0,this._cl=this._cl+p|0,this._dl=this._dl+q|0,this._el=this._el+r|0,this._fl=this._fl+s|0,this._gl=this._gl+t|0,this._hl=this._hl+u|0,this._a=this._a+b+(this._al>>>0<n>>>0?1:0)|0,this._b=this._b+c+(this._bl>>>0<o>>>0?1:0)|0,this._c=this._c+d+(this._cl>>>0<p>>>0?1:0)|0,this._d=this._d+i+(this._dl>>>0<q>>>0?1:0)|0,this._e=this._e+j+(this._el>>>0<r>>>0?1:0)|0,this._f=this._f+k+(this._fl>>>0<s>>>0?1:0)|0,this._g=this._g+l+(this._gl>>>0<t>>>0?1:0)|0,this._h=this._h+m+(this._hl>>>0<u>>>0?1:0)|0},c.prototype._hash=function(){function b(a,b,d){c.writeInt32BE(a,d),c.writeInt32BE(b,d+4)}var c=new a(64);return b(this._a,this._al,0),b(this._b,this._bl,8),b(this._c,this._cl,16),b(this._d,this._dl,24),b(this._e,this._el,32),b(this._f,this._fl,40),b(this._g,this._gl,48),b(this._h,this._hl,56),c},c}},function(a,b,c){function d(a,b){a[b>>5]|=128<<b%32,a[(b+64>>>9<<4)+14]=b;for(var c=1732584193,d=-271733879,e=-1732584194,k=271733878,l=0;l<a.length;l+=16){var m=c,n=d,o=e,p=k;c=f(c,d,e,k,a[l+0],7,-680876936),k=f(k,c,d,e,a[l+1],12,-389564586),e=f(e,k,c,d,a[l+2],17,606105819),d=f(d,e,k,c,a[l+3],22,-1044525330),c=f(c,d,e,k,a[l+4],7,-176418897),k=f(k,c,d,e,a[l+5],12,1200080426),e=f(e,k,c,d,a[l+6],17,-1473231341),d=f(d,e,k,c,a[l+7],22,-45705983),c=f(c,d,e,k,a[l+8],7,1770035416),k=f(k,c,d,e,a[l+9],12,-1958414417),e=f(e,k,c,d,a[l+10],17,-42063),d=f(d,e,k,c,a[l+11],22,-1990404162),c=f(c,d,e,k,a[l+12],7,1804603682),k=f(k,c,d,e,a[l+13],12,-40341101),e=f(e,k,c,d,a[l+14],17,-1502002290),d=f(d,e,k,c,a[l+15],22,1236535329),c=g(c,d,e,k,a[l+1],5,-165796510),k=g(k,c,d,e,a[l+6],9,-1069501632),e=g(e,k,c,d,a[l+11],14,643717713),d=g(d,e,k,c,a[l+0],20,-373897302),c=g(c,d,e,k,a[l+5],5,-701558691),k=g(k,c,d,e,a[l+10],9,38016083),e=g(e,k,c,d,a[l+15],14,-660478335),d=g(d,e,k,c,a[l+4],20,-405537848),c=g(c,d,e,k,a[l+9],5,568446438),k=g(k,c,d,e,a[l+14],9,-1019803690),e=g(e,k,c,d,a[l+3],14,-187363961),d=g(d,e,k,c,a[l+8],20,1163531501),c=g(c,d,e,k,a[l+13],5,-1444681467),k=g(k,c,d,e,a[l+2],9,-51403784),e=g(e,k,c,d,a[l+7],14,1735328473),d=g(d,e,k,c,a[l+12],20,-1926607734),c=h(c,d,e,k,a[l+5],4,-378558),k=h(k,c,d,e,a[l+8],11,-2022574463),e=h(e,k,c,d,a[l+11],16,1839030562),d=h(d,e,k,c,a[l+14],23,-35309556),c=h(c,d,e,k,a[l+1],4,-1530992060),k=h(k,c,d,e,a[l+4],11,1272893353),e=h(e,k,c,d,a[l+7],16,-155497632),d=h(d,e,k,c,a[l+10],23,-1094730640),c=h(c,d,e,k,a[l+13],4,681279174),k=h(k,c,d,e,a[l+0],11,-358537222),e=h(e,k,c,d,a[l+3],16,-722521979),d=h(d,e,k,c,a[l+6],23,76029189),c=h(c,d,e,k,a[l+9],4,-640364487),k=h(k,c,d,e,a[l+12],11,-421815835),e=h(e,k,c,d,a[l+15],16,530742520),d=h(d,e,k,c,a[l+2],23,-995338651),c=i(c,d,e,k,a[l+0],6,-198630844),k=i(k,c,d,e,a[l+7],10,1126891415),e=i(e,k,c,d,a[l+14],15,-1416354905),d=i(d,e,k,c,a[l+5],21,-57434055),c=i(c,d,e,k,a[l+12],6,1700485571),k=i(k,c,d,e,a[l+3],10,-1894986606),e=i(e,k,c,d,a[l+10],15,-1051523),d=i(d,e,k,c,a[l+1],21,-2054922799),c=i(c,d,e,k,a[l+8],6,1873313359),k=i(k,c,d,e,a[l+15],10,-30611744),e=i(e,k,c,d,a[l+6],15,-1560198380),d=i(d,e,k,c,a[l+13],21,1309151649),c=i(c,d,e,k,a[l+4],6,-145523070),k=i(k,c,d,e,a[l+11],10,-1120210379),e=i(e,k,c,d,a[l+2],15,718787259),d=i(d,e,k,c,a[l+9],21,-343485551),c=j(c,m),d=j(d,n),e=j(e,o),k=j(k,p)}return Array(c,d,e,k)}function e(a,b,c,d,e,f){return j(k(j(j(b,a),j(d,f)),e),c)}function f(a,b,c,d,f,g,h){return e(b&c|~b&d,a,b,f,g,h)}function g(a,b,c,d,f,g,h){return e(b&d|c&~d,a,b,f,g,h)}function h(a,b,c,d,f,g,h){return e(b^c^d,a,b,f,g,h)}function i(a,b,c,d,f,g,h){return e(c^(b|~d),a,b,f,g,h)}function j(a,b){var c=(65535&a)+(65535&b),d=(a>>16)+(b>>16)+(c>>16);return d<<16|65535&c}function k(a,b){return a<<b|a>>>32-b}var l=c(33);a.exports=function(a){return l.hash(a,d,16)}},function(a,b,c){(function(b){function c(a,c){if(a.length%f!==0){var d=a.length+(f-a.length%f);a=b.concat([a,g],d)}for(var e=[],h=c?a.readInt32BE:a.readInt32LE,i=0;i<a.length;i+=f)e.push(h.call(a,i));return e}function d(a,c,d){for(var e=new b(c),f=d?e.writeInt32BE:e.writeInt32LE,g=0;g<a.length;g++)f.call(e,a[g],4*g,!0);return e}function e(a,e,f,g){b.isBuffer(a)||(a=new b(a));var i=e(c(a,g),a.length*h);return d(i,f,g)}var f=4,g=new b(f);g.fill(0);var h=8;a.exports={hash:e}}).call(b,c(15).Buffer)},function(a,b,c){(function(b){function c(a,b,c){return a^b^c}function d(a,b,c){return a&b|~a&c}function e(a,b,c){return(a|~b)^c}function f(a,b,c){return a&c|b&~c}function g(a,b,c){return a^(b|~c)}function h(a,b){return a<<b|a>>>32-b}function i(a){var c=[1732584193,4023233417,2562383102,271733878,3285377520];"string"==typeof a&&(a=new b(a,"utf8"));var d=p(a),e=8*a.length,f=8*a.length;d[e>>>5]|=128<<24-e%32,d[(e+64>>>9<<4)+14]=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8);for(var g=0;g<d.length;g+=16)r(c,d,g);for(var g=0;g<5;g++){var h=c[g];c[g]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)}var i=q(c);return new b(i)}a.exports=i;var j=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],k=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],l=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],m=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],n=[0,1518500249,1859775393,2400959708,2840853838],o=[1352829926,1548603684,1836072691,2053994217,0],p=function(a){for(var b=[],c=0,d=0;c<a.length;c++,d+=8)b[d>>>5]|=a[c]<<24-d%32;return b},q=function(a){for(var b=[],c=0;c<32*a.length;c+=8)b.push(a[c>>>5]>>>24-c%32&255);return b},r=function(a,b,i){for(var p=0;p<16;p++){var q=i+p,r=b[q];b[q]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}var s,t,u,v,w,x,y,z,A,B;x=s=a[0],y=t=a[1],z=u=a[2],A=v=a[3],B=w=a[4];for(var C,p=0;p<80;p+=1)C=s+b[i+j[p]]|0,C+=p<16?c(t,u,v)+n[0]:p<32?d(t,u,v)+n[1]:p<48?e(t,u,v)+n[2]:p<64?f(t,u,v)+n[3]:g(t,u,v)+n[4],C=0|C,C=h(C,l[p]),C=C+w|0,s=w,w=v,v=h(u,10),u=t,t=C,C=x+b[i+k[p]]|0,C+=p<16?g(y,z,A)+o[0]:p<32?f(y,z,A)+o[1]:p<48?e(y,z,A)+o[2]:p<64?d(y,z,A)+o[3]:c(y,z,A)+o[4],C=0|C,C=h(C,m[p]),C=C+B|0,x=B,B=A,A=h(z,10),z=y,y=C;C=a[1]+u+A|0,a[1]=a[2]+v+B|0,a[2]=a[3]+w+x|0,a[3]=a[4]+s+y|0,a[4]=a[0]+t+z|0,a[0]=C}}).call(b,c(15).Buffer)},function(a,b,c){(function(b){function d(a,c){if(!(this instanceof d))return new d(a,c);this._opad=i,this._alg=a;var g="sha512"===a?128:64;c=this._key=b.isBuffer(c)?c:new b(c),c.length>g?c=e(a).update(c).digest():c.length<g&&(c=b.concat([c,f],g));for(var h=this._ipad=new b(g),i=this._opad=new b(g),j=0;j<g;j++)h[j]=54^c[j],i[j]=92^c[j];this._hash=e(a).update(h)}var e=c(22),f=new b(128);f.fill(0),a.exports=d,d.prototype.update=function(a,b){return this._hash.update(a,b),this},d.prototype.digest=function(a){var b=this._hash.digest();return e(this._alg).update(this._opad).update(b).digest(a)}}).call(b,c(15).Buffer)},function(a,b,c){var d=c(37);a.exports=function(a,b){b=b||{};var c=d(a);return b.pbkdf2=c.pbkdf2,b.pbkdf2Sync=c.pbkdf2Sync,b}},function(a,b,c){(function(b){a.exports=function(a){function c(a,b,c,e,f,g){if("function"==typeof f&&(g=f,f=void 0),"function"!=typeof g)throw new Error("No callback provided to pbkdf2");setTimeout(function(){var h;try{h=d(a,b,c,e,f)}catch(i){return g(i)}g(void 0,h)})}function d(c,d,e,f,g){if("number"!=typeof e)throw new TypeError("Iterations not a number");if(e<0)throw new TypeError("Bad iterations");if("number"!=typeof f)throw new TypeError("Key length not a number");if(f<0)throw new TypeError("Bad key length");g=g||"sha1",b.isBuffer(c)||(c=new b(c)),b.isBuffer(d)||(d=new b(d));var h,i,j,k=1,l=new b(f),m=new b(d.length+4);d.copy(m,0,0,d.length);for(var n=1;n<=k;n++){m.writeUInt32BE(n,d.length);var o=a.createHmac(g,c).update(m).digest();if(!h&&(h=o.length,j=new b(h),k=Math.ceil(f/h),i=f-(k-1)*h,f>(Math.pow(2,32)-1)*h))throw new TypeError("keylen exceeds maximum length");o.copy(j,0,0,h);for(var p=1;p<e;p++){o=a.createHmac(g,c).update(o).digest();for(var q=0;q<h;q++)j[q]^=o[q]}var r=(n-1)*h,s=n==k?i:h;j.copy(l,r,0,s)}return l}return{pbkdf2:c,pbkdf2Sync:d}}}).call(b,c(15).Buffer)},function(a,b){a.exports=__WEBPACK_EXTERNAL_MODULE_38__},function(module,exports,__webpack_require__){(function(process,module){"use strict";function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function globalEval(a){eval.call(null,a)}function assert(a,b){a||abort("Assertion failed: "+b)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(a,b,c,d){switch(c=c||"i8","*"===c.charAt(c.length-1)&&(c="i32"),c){case"i1":HEAP8[a>>0]=b;break;case"i8":HEAP8[a>>0]=b;break;case"i16":HEAP16[a>>1]=b;break;case"i32":HEAP32[a>>2]=b;break;case"i64":tempI64=[b>>>0,(tempDouble=b,+Math_abs(tempDouble)>=1?tempDouble>0?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[a>>2]=tempI64[0],HEAP32[a+4>>2]=tempI64[1];break;case"float":HEAPF32[a>>2]=b;break;case"double":HEAPF64[a>>3]=b;break;default:abort("invalid type for setValue: "+c)}}function getValue(a,b,c){switch(b=b||"i8","*"===b.charAt(b.length-1)&&(b="i32"),b){case"i1":return HEAP8[a>>0];case"i8":return HEAP8[a>>0];case"i16":return HEAP16[a>>1];case"i32":return HEAP32[a>>2];case"i64":return HEAP32[a>>2];case"float":return HEAPF32[a>>2];case"double":return HEAPF64[a>>3];default:abort("invalid type for setValue: "+b)}return null}function allocate(a,b,c,d){var e,f;"number"==typeof a?(e=!0,f=a):(e=!1,f=a.length);var g,h="string"==typeof b?b:null;if(g=c==ALLOC_NONE?d:["function"==typeof _malloc?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][void 0===c?ALLOC_STATIC:c](Math.max(f,h?1:b.length)),e){var i,d=g;for(assert(0==(3&g)),i=g+(f&-4);d<i;d+=4)HEAP32[d>>2]=0;for(i=g+f;d<i;)HEAP8[d++>>0]=0;return g}if("i8"===h)return a.subarray||a.slice?HEAPU8.set(a,g):HEAPU8.set(new Uint8Array(a),g),g;for(var j,k,l,m=0;m<f;){var n=a[m];"function"==typeof n&&(n=Runtime.getFunctionIndex(n)),j=h||b[m],0!==j?("i64"==j&&(j="i32"),setValue(g+m,n,j),l!==j&&(k=Runtime.getNativeTypeSize(j),l=j),m+=k):m++}return g}function getMemory(a){return staticSealed?runtimeInitialized?_malloc(a):Runtime.dynamicAlloc(a):Runtime.staticAlloc(a)}function Pointer_stringify(a,b){if(0===b||!a)return"";for(var c,d=0,e=0;;){if(c=HEAPU8[a+e>>0],d|=c,0==c&&!b)break;if(e++,b&&e==b)break}b||(b=e);var f="";if(d<128){for(var g,h=1024;b>0;)g=String.fromCharCode.apply(String,HEAPU8.subarray(a,a+Math.min(b,h))),f=f?f+g:g,a+=h,b-=h;return f}return Module.UTF8ToString(a)}function AsciiToString(a){for(var b="";;){var c=HEAP8[a++>>0];if(!c)return b;b+=String.fromCharCode(c)}}function stringToAscii(a,b){return writeAsciiToMemory(a,b,!1)}function UTF8ArrayToString(a,b){for(var c=b;a[c];)++c;if(c-b>16&&a.subarray&&UTF8Decoder)return UTF8Decoder.decode(a.subarray(b,c));for(var d,e,f,g,h,i,j="";;){if(d=a[b++],!d)return j;if(128&d)if(e=63&a[b++],192!=(224&d))if(f=63&a[b++],224==(240&d)?d=(15&d)<<12|e<<6|f:(g=63&a[b++],240==(248&d)?d=(7&d)<<18|e<<12|f<<6|g:(h=63&a[b++],248==(252&d)?d=(3&d)<<24|e<<18|f<<12|g<<6|h:(i=63&a[b++],d=(1&d)<<30|e<<24|f<<18|g<<12|h<<6|i))),d<65536)j+=String.fromCharCode(d);else{var k=d-65536;j+=String.fromCharCode(55296|k>>10,56320|1023&k)}else j+=String.fromCharCode((31&d)<<6|e);else j+=String.fromCharCode(d)}}function UTF8ToString(a){return UTF8ArrayToString(HEAPU8,a)}function stringToUTF8Array(a,b,c,d){if(!(d>0))return 0;for(var e=c,f=c+d-1,g=0;g<a.length;++g){var h=a.charCodeAt(g);if(h>=55296&&h<=57343&&(h=65536+((1023&h)<<10)|1023&a.charCodeAt(++g)),h<=127){if(c>=f)break;b[c++]=h}else if(h<=2047){if(c+1>=f)break;b[c++]=192|h>>6,b[c++]=128|63&h}else if(h<=65535){if(c+2>=f)break;b[c++]=224|h>>12,b[c++]=128|h>>6&63,b[c++]=128|63&h}else if(h<=2097151){if(c+3>=f)break;b[c++]=240|h>>18,b[c++]=128|h>>12&63,b[c++]=128|h>>6&63,b[c++]=128|63&h}else if(h<=67108863){if(c+4>=f)break;b[c++]=248|h>>24,b[c++]=128|h>>18&63,b[c++]=128|h>>12&63,b[c++]=128|h>>6&63,b[c++]=128|63&h}else{if(c+5>=f)break;b[c++]=252|h>>30,b[c++]=128|h>>24&63,b[c++]=128|h>>18&63,b[c++]=128|h>>12&63,b[c++]=128|h>>6&63,b[c++]=128|63&h}}return b[c]=0,c-e}function stringToUTF8(a,b,c){return stringToUTF8Array(a,HEAPU8,b,c)}function lengthBytesUTF8(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);d>=55296&&d<=57343&&(d=65536+((1023&d)<<10)|1023&a.charCodeAt(++c)),d<=127?++b:b+=d<=2047?2:d<=65535?3:d<=2097151?4:d<=67108863?5:6}return b}function demangle(a){var b=Module.___cxa_demangle||Module.__cxa_demangle;if(b){try{var c=a.substr(1),d=lengthBytesUTF8(c)+1,e=_malloc(d);stringToUTF8(c,e,d);var f=_malloc(4),g=b(e,0,0,f);if(0===getValue(f,"i32")&&g)return Pointer_stringify(g)}catch(h){}finally{e&&_free(e),f&&_free(f),g&&_free(g)}return a}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),a}function demangleAll(a){var b=/__Z[\w\d_]+/g;return a.replace(b,function(a){var b=demangle(a);return a===b?a:a+" ["+b+"]"})}function jsStackTrace(){var a=new Error;if(!a.stack){try{throw new Error(0)}catch(b){a=b}if(!a.stack)return"(no stack trace available)"}return a.stack.toString()}function stackTrace(){var a=jsStackTrace();return Module.extraStackTrace&&(a+="\n"+Module.extraStackTrace()),demangleAll(a)}function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}function getTotalMemory(){return TOTAL_MEMORY}function callRuntimeCallbacks(a){for(;a.length>0;){var b=a.shift();if("function"!=typeof b){var c=b.func;"number"==typeof c?void 0===b.arg?Module.dynCall_v(c):Module.dynCall_vi(c,b.arg):c(void 0===b.arg?null:b.arg)}else b()}}function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(a){__ATPRERUN__.unshift(a)}function addOnInit(a){__ATINIT__.unshift(a)}function addOnPreMain(a){__ATMAIN__.unshift(a)}function addOnExit(a){__ATEXIT__.unshift(a)}function addOnPostRun(a){__ATPOSTRUN__.unshift(a)}function intArrayFromString(a,b,c){var d=c>0?c:lengthBytesUTF8(a)+1,e=new Array(d),f=stringToUTF8Array(a,e,0,e.length);return b&&(e.length=f),e}function intArrayToString(a){for(var b=[],c=0;c<a.length;c++){var d=a[c];d>255&&(d&=255),b.push(String.fromCharCode(d))}return b.join("")}function writeStringToMemory(a,b,c){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var d,e;c&&(e=b+lengthBytesUTF8(a),d=HEAP8[e]),stringToUTF8(a,b,1/0),c&&(HEAP8[e]=d)}function writeArrayToMemory(a,b){HEAP8.set(a,b)}function writeAsciiToMemory(a,b,c){for(var d=0;d<a.length;++d)HEAP8[b++>>0]=a.charCodeAt(d);c||(HEAP8[b>>0]=0)}function addRunDependency(a){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(a){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var b=dependenciesFulfilled;dependenciesFulfilled=null,b()}}function _abort(){Module.abort()}function ___lock(){}function ___unlock(){}function ___syscall6(a,b){SYSCALLS.varargs=b;try{var c=SYSCALLS.getStreamFromFD();return FS.close(c),0}catch(d){return"undefined"!=typeof FS&&d instanceof FS.ErrnoError||abort(d),-d.errno}}function _llvm_stackrestore(a){var b=_llvm_stacksave,c=b.LLVM_SAVEDSTACKS[a];b.LLVM_SAVEDSTACKS.splice(a,1),Runtime.stackRestore(c)}function ___setErrNo(a){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=a),a}function _llvm_stacksave(){var a=_llvm_stacksave;return a.LLVM_SAVEDSTACKS||(a.LLVM_SAVEDSTACKS=[]),a.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),a.LLVM_SAVEDSTACKS.length-1}function _emscripten_memcpy_big(a,b,c){return HEAPU8.set(HEAPU8.subarray(b,b+c),a),a}function __exit(a){Module.exit(a)}function _exit(a){__exit(a)}function ___syscall140(a,b){SYSCALLS.varargs=b;try{var c=SYSCALLS.getStreamFromFD(),d=SYSCALLS.get(),e=SYSCALLS.get(),f=SYSCALLS.get(),g=SYSCALLS.get(),h=e;return assert(0===d),FS.llseek(c,h,g),HEAP32[f>>2]=c.position,c.getdents&&0===h&&0===g&&(c.getdents=null),0}catch(i){return"undefined"!=typeof FS&&i instanceof FS.ErrnoError||abort(i),-i.errno}}function ___syscall146(a,b){SYSCALLS.varargs=b;try{var c=SYSCALLS.get(),d=SYSCALLS.get(),e=SYSCALLS.get(),f=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(a,b){var c=___syscall146.buffers[a];assert(c),0===b||10===b?((1===a?Module.print:Module.printErr)(UTF8ArrayToString(c,0)),c.length=0):c.push(b)});for(var g=0;g<e;g++){for(var h=HEAP32[d+8*g>>2],i=HEAP32[d+(8*g+4)>>2],j=0;j<i;j++)___syscall146.printChar(c,HEAPU8[h+j]);f+=i}return f}catch(k){return"undefined"!=typeof FS&&k instanceof FS.ErrnoError||abort(k),-k.errno}}function ___syscall54(a,b){SYSCALLS.varargs=b;try{return 0}catch(c){return"undefined"!=typeof FS&&c instanceof FS.ErrnoError||abort(c),-c.errno}}function invoke_iiii(a,b,c,d){try{return Module.dynCall_iiii(a,b,c,d)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_viiiiii(a,b,c,d,e,f,g){try{Module.dynCall_viiiiii(a,b,c,d,e,f,g)}catch(h){if("number"!=typeof h&&"longjmp"!==h)throw h;Module.setThrew(1,0)}}function invoke_viiiiiiiiiiiii(a,b,c,d,e,f,g,h,i,j,k,l,m,n){try{Module.dynCall_viiiiiiiiiiiii(a,b,c,d,e,f,g,h,i,j,k,l,m,n)}catch(o){if("number"!=typeof o&&"longjmp"!==o)throw o;Module.setThrew(1,0)}}function invoke_vi(a,b){try{Module.dynCall_vi(a,b)}catch(c){if("number"!=typeof c&&"longjmp"!==c)throw c;Module.setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){try{Module.dynCall_viiiiiiiiiiiiiii(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)}catch(q){if("number"!=typeof q&&"longjmp"!==q)throw q;Module.setThrew(1,0)}}function invoke_ii(a,b){try{return Module.dynCall_ii(a,b)}catch(c){if("number"!=typeof c&&"longjmp"!==c)throw c;Module.setThrew(1,0)}}function invoke_viii(a,b,c,d){try{Module.dynCall_viii(a,b,c,d)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_v(a){try{Module.dynCall_v(a)}catch(b){if("number"!=typeof b&&"longjmp"!==b)throw b;Module.setThrew(1,0)}}function invoke_iiiiiiiiiiiiiiiiiiiii(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u){try{return Module.dynCall_iiiiiiiiiiiiiiiiiiiii(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u)}catch(v){if("number"!=typeof v&&"longjmp"!==v)throw v;Module.setThrew(1,0)}}function invoke_viiii(a,b,c,d,e){try{Module.dynCall_viiii(a,b,c,d,e)}catch(f){if("number"!=typeof f&&"longjmp"!==f)throw f;Module.setThrew(1,0)}}function ExitStatus(a){this.name="ExitStatus",this.message="Program terminated with exit("+a+")",this.status=a}function run(a){function b(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(a),postRun()))}a=a||Module.arguments,null===preloadStartTime&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),b()},1)):b()))}function exit(a,b){b&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=a,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(a)),ENVIRONMENT_IS_NODE&&process.exit(a),Module.quit(a,new ExitStatus(a)))}function abort(a){void 0!==a?(Module.print(a),Module.printErr(a),a=JSON.stringify(a)):a="",ABORT=!0,EXITSTATUS=1;var b="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.",c="abort("+a+") at "+stackTrace()+b;throw abortDecorators&&abortDecorators.forEach(function(b){c=b(c,a)}),c}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},Module;Module||(Module=("undefined"!=typeof Module?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if("WEB"===Module.ENVIRONMENT)ENVIRONMENT_IS_WEB=!0;else if("WORKER"===Module.ENVIRONMENT)ENVIRONMENT_IS_WORKER=!0;else if("NODE"===Module.ENVIRONMENT)ENVIRONMENT_IS_NODE=!0;else{if("SHELL"!==Module.ENVIRONMENT)throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");ENVIRONMENT_IS_SHELL=!0}else ENVIRONMENT_IS_WEB="object"===("undefined"==typeof window?"undefined":_typeof(window)),ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"===("undefined"==typeof process?"undefined":_typeof(process))&&!0&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(a,b){nodeFS||(nodeFS=__webpack_require__(41)),nodePath||(nodePath=__webpack_require__(42)),a=nodePath.normalize(a);var c=nodeFS.readFileSync(a);return b?c:c.toString()},Module.readBinary=function(a){var b=Module.read(a,!0);return b.buffer||(b=new Uint8Array(b)),assert(b.buffer),b},Module.load=function(a){globalEval(read(a))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),module.exports=Module,process.on("uncaughtException",function(a){if(!(a instanceof ExitStatus))throw a}),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),"undefined"!=typeof printErr&&(Module.printErr=printErr),"undefined"!=typeof read?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(a){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(a));
var b=read(a,"binary");return assert("object"===("undefined"==typeof b?"undefined":_typeof(b))),b},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:"undefined"!=typeof arguments&&(Module.arguments=arguments),"function"==typeof quit&&(Module.quit=function(a,b){quit(a)});else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(a){var b=new XMLHttpRequest;return b.open("GET",a,!1),b.send(null),b.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(a){var b=new XMLHttpRequest;return b.open("GET",a,!1),b.responseType="arraybuffer",b.send(null),b.response}),Module.readAsync=function(a,b,c){var d=new XMLHttpRequest;d.open("GET",a,!0),d.responseType="arraybuffer",d.onload=function(){200==d.status||0==d.status&&d.response?b(d.response):c()},d.onerror=c,d.send(null)},"undefined"!=typeof arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(a){console.log(a)}),Module.printErr||(Module.printErr=function(a){console.warn(a)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&"undefined"!=typeof dump?function(a){dump(a)}:function(a){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),"undefined"==typeof Module.setWindowTitle&&(Module.setWindowTitle=function(a){document.title=a})}!Module.load&&Module.read&&(Module.load=function(a){globalEval(Module.read(a))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(a,b){throw b}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(a){return tempRet0=a,a},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(a){STACKTOP=a},getNativeTypeSize:function(a){switch(a){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===a[a.length-1])return Runtime.QUANTUM_SIZE;if("i"===a[0]){var b=parseInt(a.substr(1));return assert(b%8===0),b/8}return 0}},getNativeFieldSize:function(a){return Math.max(Runtime.getNativeTypeSize(a),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(a,b){return"double"===b||"i64"===b?7&a&&(assert(4===(7&a)),a+=4):assert(0===(3&a)),a},getAlignSize:function(a,b,c){return c||"i64"!=a&&"double"!=a?a?Math.min(b||(a?Runtime.getNativeFieldSize(a):0),Runtime.QUANTUM_SIZE):Math.min(b,8):8},dynCall:function(a,b,c){return c&&c.length?Module["dynCall_"+a].apply(null,[b].concat(c)):Module["dynCall_"+a].call(null,b)},functionPointers:[],addFunction:function(a){for(var b=0;b<Runtime.functionPointers.length;b++)if(!Runtime.functionPointers[b])return Runtime.functionPointers[b]=a,2*(1+b);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(a){Runtime.functionPointers[(a-2)/2]=null},warnOnce:function(a){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[a]||(Runtime.warnOnce.shown[a]=1,Module.printErr(a))},funcWrappers:{},getFuncWrapper:function(a,b){assert(b),Runtime.funcWrappers[b]||(Runtime.funcWrappers[b]={});var c=Runtime.funcWrappers[b];return c[a]||(1===b.length?c[a]=function(){return Runtime.dynCall(b,a)}:2===b.length?c[a]=function(c){return Runtime.dynCall(b,a,[c])}:c[a]=function(){return Runtime.dynCall(b,a,Array.prototype.slice.call(arguments))}),c[a]},getCompilerSetting:function(a){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(a){var b=STACKTOP;return STACKTOP=STACKTOP+a|0,STACKTOP=STACKTOP+15&-16,b},staticAlloc:function(a){var b=STATICTOP;return STATICTOP=STATICTOP+a|0,STATICTOP=STATICTOP+15&-16,b},dynamicAlloc:function(a){var b=HEAP32[DYNAMICTOP_PTR>>2],c=(b+a+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=c,c>=TOTAL_MEMORY){var d=enlargeMemory();if(!d)return HEAP32[DYNAMICTOP_PTR>>2]=b,0}return b},alignMemory:function(a,b){var c=a=Math.ceil(a/(b?b:16))*(b?b:16);return c},makeBigInt:function(a,b,c){var d=c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(0|b);return d},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0,cwrap,ccall;!function(){function parseJSFunc(a){var b=a.toString().match(sourceRegex).slice(1);return{arguments:b[0],body:b[1],returnValue:b[2]}}function ensureJSsource(){if(!JSsource){JSsource={};for(var a in JSfuncs)JSfuncs.hasOwnProperty(a)&&(JSsource[a]=parseJSFunc(JSfuncs[a]))}}var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(a){var b=Runtime.stackAlloc(a.length);return writeArrayToMemory(a,b),b},stringToC:function(a){var b=0;if(null!==a&&void 0!==a&&0!==a){var c=(a.length<<2)+1;b=Runtime.stackAlloc(c),stringToUTF8(a,b,c)}return b}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(a,b,c,d,e){var f=getCFunc(a),g=[],h=0;if(d)for(var i=0;i<d.length;i++){var j=toC[c[i]];j?(0===h&&(h=Runtime.stackSave()),g[i]=j(d[i])):g[i]=d[i]}var k=f.apply(null,g);if("string"===b&&(k=Pointer_stringify(k)),0!==h){if(e&&e.async)return void EmterpreterAsync.asyncFinalizers.push(function(){Runtime.stackRestore(h)});Runtime.stackRestore(h)}return k};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/,JSsource=null;cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident),numericArgs=argTypes.every(function(a){return"number"===a}),numericRet="string"!==returnType;if(numericRet&&numericArgs)return cfunc;var argNames=argTypes.map(function(a,b){return"$"+b}),funcstr="(function("+argNames.join(",")+") {",nargs=argTypes.length;if(!numericArgs){ensureJSsource(),funcstr+="var stack = "+JSsource.stackSave.body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if("number"!==type){var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";",funcstr+=convertCode.body+";",funcstr+=arg+"=("+convertCode.returnValue+");"}}}var cfuncname=parseJSFunc(function(){return cfunc}).returnValue;if(funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");",!numericRet){var strgfy=parseJSFunc(function(){return Pointer_stringify}).returnValue;funcstr+="ret = "+strgfy+"(ret);"}return numericArgs||(ensureJSsource(),funcstr+=JSsource.stackRestore.body.replace("()","(stack)")+";"),funcstr+="return ret})",eval(funcstr)}}(),Module.ccall=ccall,Module.cwrap=cwrap,Module.setValue=setValue,Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE,Module.allocate=allocate,Module.getMemory=getMemory,Module.Pointer_stringify=Pointer_stringify,Module.AsciiToString=AsciiToString,Module.stringToAscii=stringToAscii;var UTF8Decoder="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;Module.UTF8ArrayToString=UTF8ArrayToString,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8Array=stringToUTF8Array,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||16777216;if(TOTAL_MEMORY<TOTAL_STACK&&Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")"),buffer=Module.buffer?Module.buffer:new ArrayBuffer(TOTAL_MEMORY),updateGlobalBufferViews(),HEAP32[0]=1668509029,HEAP16[1]=25459,115!==HEAPU8[2]||99!==HEAPU8[3])throw"Runtime error: expected the system to be little-endian!";Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;Module.addOnPreRun=addOnPreRun,Module.addOnInit=addOnInit,Module.addOnPreMain=addOnPreMain,Module.addOnExit=addOnExit,Module.addOnPostRun=addOnPostRun,Module.intArrayFromString=intArrayFromString,Module.intArrayToString=intArrayToString,Module.writeStringToMemory=writeStringToMemory,Module.writeArrayToMemory=writeArrayToMemory,Module.writeAsciiToMemory=writeAsciiToMemory,Math.imul&&Math.imul(4294967295,5)===-5||(Math.imul=function(a,b){var c=a>>>16,d=65535&a,e=b>>>16,f=65535&b;return d*f+(c*f+d*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(a){a>>>=0;for(var b=0;b<32;b++)if(a&1<<31-b)return b;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(a){return a<0?Math.ceil(a):Math.floor(a)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[];STATIC_BASE=8,STATICTOP=STATIC_BASE+17328,__ATINIT__.push(),allocate([0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,64,0,0,32,64,0,0,0,64,154,153,153,63,0,0,0,63,0,0,0,0,0,0,0,191,51,51,51,191,205,204,76,191,102,102,102,191,0,0,128,191,0,0,32,65,0,0,208,64,102,102,166,64,0,0,144,64,154,153,121,64,0,0,96,64,0,0,64,64,0,0,32,64,51,51,19,64,102,102,230,63,0,0,128,63,0,0,48,65,205,204,12,65,0,0,240,64,0,0,208,64,0,0,160,64,154,153,121,64,154,153,121,64,154,153,121,64,0,0,96,64,0,0,64,64,0,0,128,63,0,0,48,65,0,0,48,65,102,102,30,65,0,0,8,65,0,0,224,64,0,0,192,64,0,0,144,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,0,64,0,0,48,65,0,0,48,65,0,0,48,65,0,0,48,65,0,0,24,65,0,0,8,65,0,0,0,65,0,0,224,64,0,0,192,64,0,0,160,64,0,0,64,64,0,0,48,65,0,0,48,65,0,0,48,65,0,0,48,65,0,0,48,65,0,0,48,65,0,0,24,65,0,0,8,65,0,0,224,64,0,0,192,64,0,0,160,64,0,0,48,65,0,0,48,65,0,0,48,65,0,0,48,65,0,0,48,65,0,0,48,65,0,0,48,65,0,0,48,65,205,204,28,65,0,0,24,65,0,0,240,64,0,0,224,64,0,0,144,64,205,204,108,64,0,0,64,64,0,0,32,64,0,0,0,64,102,102,230,63,0,0,192,63,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,128,191,0,0,48,65,0,0,48,65,0,0,24,65,0,0,8,65,0,0,240,64,0,0,192,64,0,0,160,64,154,153,121,64,0,0,64,64,0,0,0,64,0,0,128,63,0,0,48,65,0,0,48,65,0,0,48,65,0,0,48,65,0,0,48,65,0,0,24,65,51,51,11,65,154,153,249,64,0,0,224,64,0,0,208,64,0,0,128,64,0,0,48,65,0,0,48,65,0,0,48,65,0,0,48,65,0,0,48,65,0,0,48,65,0,0,48,65,0,0,48,65,205,204,28,65,0,0,240,64,0,0,176,64,164,2,0,0,1,0,0,0,40,48,0,0,0,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,160,0,0,0,40,0,0,0,10,0,0,0,17,0,0,0,144,0,0,0,51,115,205,76,7,0,0,0,0,0,0,0,48,3,0,0,104,3,0,0,160,3,0,0,216,3,0,0,16,4,0,0,72,4,0,0,128,4,0,0,184,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,1,0,0,0,8,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,255,255,0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,120,5,0,0,2,0,0,0,2,0,0,0,132,5,0,0,205,76,0,0,119,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,88,5,0,0,2,0,0,0,2,0,0,0,100,5,0,0,102,70,0,0,160,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,56,5,0,0,2,0,0,0,2,0,0,0,68,5,0,0,154,57,0,0,220,0,0,0,255,255,255,255,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,5,0,0,2,0,0,0,2,0,0,0,16,5,0,0,102,38,0,0,44,1,0,0,255,255,255,255,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,5,0,0,2,0,0,0,2,0,0,0,36,5,0,0,154,25,0,0,108,1,0,0,255,255,255,255,0,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,5,0,0,2,0,0,0,2,0,0,0,16,5,0,0,205,12,0,0,236,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,240,4,0,0,0,64,0,0,79,0,0,0,20,0,0,0,2,0,0,0,40,30,0,0,5,0,0,0,0,0,0,0,112,18,0,0,7,0,0,0,7,0,0,0,5,0,0,0,8,0,0,0,168,37,0,0,6,0,0,0,0,0,0,0,5,0,0,0,8,0,0,0,168,32,0,0,8,0,0,0,0,0,0,0,232,38,0,0,5,0,0,0,7,0,0,0,8,0,0,0,5,0,0,0,112,14,0,0,7,0,0,0,0,0,0,0,232,38,0,0,5,0,0,0,7,0,0,0,10,0,0,0,4,0,0,0,48,13,0,0,5,0,0,0,0,0,0,0,232,38,0,0,5,0,0,0,0,0,0,0,10,0,0,0,4,0,0,0,136,29,0,0,4,0,0,0,0,0,0,0,204,5,0,0,6,0,0,0,51,48,0,0,1,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,112,2,0,0,160,0,0,0,40,0,0,0,8,0,0,0,51,115,205,76,7,0,51,115,0,0,0,0,104,6,0,0,160,6,0,0,216,6,0,0,16,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,8,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,148,1,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,36,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,92,7,0,0,255,255,0,0,112,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,72,7,0,0,255,255,0,0,192,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,72,7,0,0,255,255,0,0,96,1,0,0,8,0,0,0,5,0,0,0,112,20,0,0,7,0,0,0,1,0,0,0,10,0,0,0,4,0,0,0,104,39,0,0,5,0,0,0,0,0,0,0,212,73,0,0,62,98,0,0,188,130,0,0,248,173,0,0,129,231,0,0,17,52,1,0,242,153,1,0,133,33,2,0,238,213,2,0,1,198,3,0,121,5,5,0,153,174,6,0,80,228,8,0,30,213,11,0,226,190,15,0,241,243,20,0,221,225,27,0,113,26,37,0,177,95,49,0,203,179,65,0,78,110,87,0,104,88,116,0,121,210,154,0,19,6,206,0,134,40,18,1,102,211,108,1,102,122,229,1,26,8,134,2,164,174,91,3,85,253,119,4,38,82,242,5,95,197,233,7,0,0,0,0,36,0,0,0,112,0,0,0,192,0,0,0,96,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,24,8,0,0,5,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,12,0,0,0,160,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,12,0,0,0,168,63,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,9,0,0,122,254,4,6,127,236,155,78,155,78,127,236,4,6,216,251,1,11,218,229,101,123,181,26,34,252,47,255,47,255,34,252,181,26,101,123,218,229,1,11,216,251,56,61,144,133,56,61,186,61,143,132,186,61,231,61,50,132,231,61,34,63,190,129,34,63,82,56,92,143,82,56,0,64,175,133,143,58,0,64,175,132,145,59,0,64,67,132,224,59,0,64,199,129,75,62,0,64,82,168,137,25,49,7,43,15,163,23,126,31,204,40,12,53,128,72,234,3,120,10,222,19,104,27,148,35,5,46,20,60,236,84,49,56,26,45,72,67,255,127,251,122,19,109,77,89,126,67,23,47,84,30,8,18,229,9,3,5,2,0,249,255,249,255,18,0,15,0,217,255,231,255,75,0,35,0,126,255,215,255,212,0,38,0,185,254,239,255,227,1,224,255,79,253,124,0,188,3,229,254,229,250,31,2,244,6,51,252,93,246,197,6,49,14,245,242,247,230,99,35,201,117,201,117,99,35,247,230,245,242,49,14,197,6,93,246,51,252,244,6,31,2,229,250,229,254,188,3,124,0,79,253,224,255,227,1,239,255,185,254,38,0,212,0,215,255,126,255,35,0,75,0,231,255,217,255,15,0,18,0,249,255,249,255,2,0,39,0,44,0,50,0,57,0,64,0,73,0,83,0,94,0,106,0,120,0,136,0,154,0,175,0,198,0,225,0,255,0,32,1,71,1,114,1,164,1,220,1,27,2,99,2,180,2,16,3,121,3,239,3,117,4,13,5,185,5,124,6,89,7,125,0,164,0,215,0,26,1,114,1,228,1,123,2,64,3,66,4,148,5,79,7,148,9,141,12,114,16,140,21,60,28,0,64,209,63,71,63,98,62,40,61,156,59,198,57,174,55,91,53,215,50,42,48,30,5,33,5,41,5,53,5,72,5,95,5,123,5,156,5,195,5,238,5,31,6,85,6,143,6,207,6,19,7,92,7,170,7,252,7,84,8,176,8,16,9,117,9,222,9,76,10,190,10,52,11,174,11,44,12,174,12,52,13,190,13,75,14,220,14,112,15,8,16,163,16,65,17,226,17,134,18,45,19,215,19,131,20,49,21,226,21,149,22,75,23,2,24,187,24,118,25,50,26,240,26,175,27,112,28,49,29,244,29,183,30,123,31,64,32,4,33,202,33,143,34,84,35,25,36,222,36,163,37,103,38,42,39,236,39,174,40,110,41,45,42,235,42,168,43,99,44,28,45,211,45,136,46,59,47,236,47,155,48,71,49,241,49,152,50,60,51,221,51,123,52,22,53,174,53,66,54,211,54,96,55,234,55,112,56,242,56,112,57,234,57,96,58,210,58,64,59,169,59,14,60,110,60,202,60,33,61,116,61,194,61,11,62,79,62,143,62,201,62,255,62,47,63,91,63,129,63,163,63,191,63,214,63,232,63,245,63,253,63,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,233,63,166,63,55,63,156,62,214,61,228,60,200,59,131,58,21,57,127,55,195,53,226,51,222,49,183,47,111,45,8,43,133,40,230,37,47,35,97,32,127,29,141,26,140,23,131,20,118,17,111,14,127,11,200,8,160,6,7,17,17,27,25,22,12,4,253,0,28,220,39,232,241,3,247,15,251,10,31,228,11,31,235,9,245,245,254,249,231,14,234,31,4,242,19,244,14,251,4,249,4,251,9,0,254,42,209,240,1,8,0,9,23,199,0,28,245,6,225,55,211,3,251,4,2,254,4,249,253,6,254,7,253,12,5,8,54,246,8,249,248,232,231,229,242,251,8,5,44,23,5,247,245,245,243,247,244,248,227,248,234,6,241,3,244,255,251,253,34,255,29,240,17,252,12,2,1,4,254,252,2,255,11,253,204,28,30,247,224,25,44,236,232,4,6,255,0,0,0,0,0,0,0,0,0,0,0,0,231,246,22,29,13,243,234,243,252,0,252,240,10,15,220,232,28,25,255,253,66,223,245,241,6,0,3,4,254,5,24,236,209,29,19,254,252,255,0,255,254,3,1,8,245,5,5,199,28,28,0,240,4,252,12,250,255,2,236,61,247,24,234,214,29,6,17,8,4,2,191,15,8,10,5,6,5,3,2,254,253,5,247,4,251,23,13,23,253,193,3,251,252,250,0,253,23,220,210,9,5,5,8,4,9,251,1,253,10,1,250,10,245,24,209,31,22,244,14,246,6,11,249,249,7,225,51,244,250,7,6,239,9,245,236,52,237,3,250,250,248,251,23,215,37,1,235,10,242,8,7,5,241,241,23,39,230,223,7,2,224,226,235,248,4,12,17,15,14,11,242,9,13,224,2,246,31,246,248,248,6,252,255,10,192,23,6,20,13,6,8,234,16,34,7,42,207,228,5,26,4,241,41,34,41,32,33,24,23,14,8,40,34,4,232,215,237,241,13,243,33,202,24,27,212,33,27,241,241,24,237,14,220,14,247,24,244,252,37,251,16,222,5,10,33,241,202,240,12,25,12,1,2,0,3,255,252,252,11,2,200,54,27,236,13,250,210,215,223,245,251,7,12,14,242,251,8,20,6,3,4,248,251,214,11,8,242,25,254,2,13,11,234,39,247,9,5,211,247,7,247,12,249,34,239,154,7,2,214,18,35,247,222,11,251,254,3,22,46,204,231,247,162,8,11,251,251,251,4,249,221,249,54,5,224,3,24,247,234,8,65,37,255,244,233,250,247,228,55,223,14,253,2,18,196,41,239,8,240,17,245,0,245,29,228,37,9,203,33,242,247,7,231,249,245,26,224,248,24,235,22,237,19,246,29,242,0,0,0,0,0,0,0,0,251,204,10,41,6,226,252,16,32,22,229,234,32,253,228,253,3,221,6,17,23,21,8,2,4,211,239,14,23,252,225,245,253,14,1,19,245,2,61,248,9,244,7,246,12,253,232,99,208,23,50,219,251,233,0,8,242,35,192,251,46,231,13,255,207,237,241,9,34,50,25,11,250,247,240,236,224,223,224,229,10,248,12,241,56,242,224,33,3,247,1,65,247,247,246,254,250,233,9,17,3,228,13,224,4,254,246,4,240,76,12,204,6,13,33,250,4,242,247,253,1,241,240,28,1,241,11,16,9,4,235,219,216,250,22,12,241,233,242,239,240,247,246,247,13,217,41,5,247,16,218,25,46,209,4,49,242,17,254,6,18,5,250,223,234,44,50,254,1,3,250,7,7,253,235,38,238,34,242,215,60,243,6,16,232,35,19,243,220,24,3,239,242,246,36,44,212,227,253,3,202,248,12,55,26,4,254,251,2,245,22,233,2,22,1,231,217,66,207,21,248,254,10,242,196,25,6,10,27,231,16,5,254,247,26,243,236,58,254,7,52,247,2,5,252,241,23,255,218,23,8,27,250,0,229,249,39,246,242,26,11,211,244,9,251,34,4,221,10,43,234,245,56,249,20,1,10,1,230,9,94,11,229,242,243,1,245,0,14,251,250,246,252,241,248,215,21,251,1,228,248,22,247,33,233,252,252,244,39,4,249,3,196,80,8,239,2,250,12,251,1,9,15,27,31,30,27,23,61,47,26,10,251,248,244,243,5,238,25,241,252,241,245,12,254,254,240,254,250,24,12,11,252,9,1,247,14,211,57,12,20,221,26,11,192,32,246,246,42,252,247,240,32,24,7,10,52,245,199,29,0,8,0,250,17,239,200,216,7,20,18,12,250,16,5,7,255,9,1,10,29,12,16,13,254,23,7,9,253,252,251,18,192,13,55,231,9,247,24,14,231,15,245,216,226,37,1,237,22,251,225,13,254,0,7,252,16,189,12,66,220,24,248,18,241,233,19,0,211,249,4,3,243,13,35,5,13,33,10,27,23,0,249,245,43,182,36,244,2,5,248,6,223,11,240,242,251,249,253,17,222,27,240,11,247,15,33,225,8,240,7,250,249,63,201,239,11,255,20,210,34,226,6,9,19,28,247,5,232,248,233,254,31,237,240,251,241,238,0,26,18,37,251,241,254,17,5,229,21,223,44,12,229,247,17,11,25,235,225,249,13,33,248,231,249,7,246,4,250,247,48,174,233,248,6,11,233,3,253,49,227,25,31,4,14,16,9,252,238,10,230,3,5,212,247,9,209,201,15,9,28,1,4,253,46,6,250,218,227,225,241,250,3,0,14,250,8,202,206,33,251,1,242,33,208,26,252,251,253,251,253,251,228,234,77,55,255,2,10,10,247,242,190,207,11,220,250,236,10,246,16,12,4,255,240,45,212,206,31,254,25,42,23,224,234,0,11,20,216,221,216,220,224,230,235,243,52,234,6,232,236,17,251,248,36,231,245,21,230,6,34,248,7,20,253,5,231,248,18,251,247,252,1,247,20,20,39,48,232,9,5,191,22,29,4,3,213,245,32,250,9,19,229,246,209,242,24,10,249,220,249,255,252,251,251,16,53,25,230,227,252,244,45,198,222,33,251,2,255,27,208,31,241,22,251,4,7,7,231,253,11,234,16,244,8,253,7,245,45,14,183,237,56,210,24,236,28,244,254,255,220,253,223,19,250,7,2,241,5,225,211,8,35,13,20,0,247,48,243,213,253,243,2,251,72,188,229,2,1,254,249,5,36,33,216,244,252,251,23,19,224,224,224,0,228,189,251,33,214,250,224,18,199,246,202,35,240,27,215,42,19,237,216,36,211,24,235,40,248,242,238,28,1,14,198,53,238,168,217,39,218,21,238,37,237,20,213,38,10,17,208,54,204,198,243,33,212,255,245,32,244,245,222,22,14,0,210,46,219,221,222,5,231,44,226,43,6,252,193,49,225,43,215,43,233,30,213,41,213,26,242,44,223,1,243,27,243,18,219,37,210,183,211,34,220,24,231,34,220,245,236,19,231,12,238,33,220,187,197,34,211,6,8,46,234,242,232,18,255,13,212,44,217,208,230,15,224,31,219,34,223,15,210,31,232,30,220,37,215,31,233,41,206,22,252,50,234,2,235,28,239,30,222,40,249,196,228,29,218,42,228,42,212,245,21,43,240,8,212,34,217,201,213,21,245,221,26,41,247,0,222,29,248,121,175,113,7,240,234,33,219,33,225,36,229,249,220,17,222,70,199,65,219,245,208,21,216,17,255,44,223,6,250,33,247,0,236,34,235,69,223,57,227,33,225,35,201,12,255,49,223,27,234,35,206,223,209,17,206,54,51,94,255,251,212,35,252,22,216,45,217,190,231,24,223,1,230,20,232,233,231,12,245,21,211,44,231,211,237,17,213,105,240,82,5,235,1,41,240,11,223,30,243,157,252,57,219,33,241,44,231,37,193,54,220,24,225,31,203,200,218,26,215,252,4,37,223,13,226,24,49,52,162,114,251,226,241,23,1,38,216,56,233,12,220,29,239,40,209,51,219,215,217,11,207,34,0,58,238,249,252,34,240,17,229,35,30,5,194,65,4,48,188,76,213,11,245,38,238,19,241,41,233,194,217,23,214,10,254,41,235,243,243,25,247,13,209,42,233,194,232,24,212,60,235,58,238,253,204,32,234,22,220,34,181,57,16,90,237,3,10,45,227,23,218,32,251,194,205,38,205,40,238,53,214,13,232,32,222,14,236,30,200,181,230,37,230,32,15,59,230,17,227,29,249,28,204,53,244,226,5,30,251,208,251,35,2,2,213,40,21,16,16,75,231,211,224,10,213,18,246,42,9,0,255,52,255,7,226,36,19,208,252,48,228,25,227,32,234,0,225,22,224,17,246,36,192,215,194,36,204,15,16,58,226,234,224,6,249,9,218,36,232,21,236,5,251,249,14,246,2,229,16,236,0,224,26,19,8,245,215,31,28,229,224,34,42,34,239,22,246,13,227,18,244,230,232,11,22,5,251,251,54,188,213,57,231,24,4,4,26,248,244,239,54,30,211,1,10,241,18,215,11,68,189,37,240,232,240,38,234,6,227,30,66,229,5,7,240,13,2,244,249,253,236,36,4,228,9,3,32,48,26,39,3,0,7,235,243,5,174,249,73,236,34,247,251,1,255,10,251,246,255,9,1,247,10,0,242,11,255,254,255,11,20,96,175,234,244,247,198,9,24,226,26,221,27,244,13,238,56,197,15,249,23,241,255,6,231,14,234,236,47,245,16,2,38,233,237,226,247,40,245,5,4,250,8,26,235,245,127,4,1,6,247,2,249,254,253,7,251,10,237,7,150,91,253,9,252,21,248,26,176,8,1,254,246,239,239,229,32,71,6,227,11,233,54,218,29,234,39,87,225,244,236,3,254,254,2,20,0,255,221,27,9,250,244,3,244,250,13,1,14,234,197,241,239,231,13,249,7,3,0,1,249,6,253,61,219,233,233,227,38,225,27,1,248,2,229,23,230,36,222,5,24,232,250,7,3,197,78,194,44,240,1,6,0,17,8,45,0,146,6,14,254,32,179,200,62,253,3,243,4,240,102,241,220,255,9,143,6,23,0,9,9,5,248,255,242,5,244,121,203,229,248,247,22,243,3,2,253,1,254,185,95,38,237,15,240,251,71,10,2,224,243,251,15,255,254,242,171,30,29,6,3,2,0,0,0,0,0,0,0,0,2,191,200,247,18,18,23,242,254,0,12,227,26,244,1,2,244,192,90,250,4,1,5,251,146,253,225,22,227,9,0,8,216,251,21,251,251,13,10,238,40,1,35,236,30,228,11,250,19,7,14,18,192,9,250,16,51,68,8,16,12,248,0,247,20,234,25,7,252,243,41,221,93,238,202,11,255,1,247,4,190,66,225,20,234,25,233,11,10,9,19,15,11,251,225,246,233,228,250,250,253,252,5,3,228,22,245,214,25,231,240,41,34,47,250,2,42,237,234,5,217,32,6,221,22,17,226,8,230,245,245,3,244,33,33,219,21,255,6,252,3,0,251,5,12,244,57,27,195,253,20,239,2,0,4,0,254,223,198,81,233,39,246,251,2,6,249,5,4,253,254,243,233,184,107,15,251,0,249,253,250,5,252,15,47,12,225,25,240,8,22,231,194,200,238,14,28,12,2,245,74,190,41,236,249,16,236,16,248,0,240,4,237,92,12,197,242,217,49,231,240,23,229,19,253,223,19,85,227,6,249,246,16,249,244,1,250,2,4,254,64,10,231,41,254,225,15,0,110,50,69,35,28,19,246,2,213,207,200,241,240,10,3,12,255,248,1,26,244,255,7,245,229,41,25,1,245,238,22,249,255,209,248,23,253,239,249,18,131,59,251,3,18,1,2,3,27,221,65,203,50,210,37,235,228,7,14,219,251,251,12,5,248,78,237,21,250,240,8,249,5,2,7,2,10,250,12,196,44,11,220,224,31,0,2,254,2,1,253,7,246,17,235,10,6,254,19,254,59,218,170,38,8,215,226,211,223,7,15,28,29,249,24,216,7,7,5,254,9,24,233,238,6,227,30,2,28,49,245,210,10,43,243,247,255,253,249,249,239,250,97,223,235,3,5,1,12,213,248,28,7,213,249,17,236,19,255,2,243,9,54,34,9,228,245,247,239,110,197,44,230,0,3,244,209,73,222,213,38,223,16,251,210,252,250,254,231,19,227,28,243,5,14,27,216,213,4,32,243,254,221,252,112,214,9,244,37,228,17,14,237,35,217,23,3,242,255,199,251,94,247,3,217,5,30,246,224,42,243,242,159,193,30,247,1,249,12,5,20,17,247,220,226,25,47,247,241,12,234,98,248,206,15,229,21,240,245,2,12,246,10,253,33,36,160,0,239,31,247,9,3,236,13,245,8,252,10,246,9,1,112,186,229,5,235,2,199,253,227,10,19,235,21,246,190,253,91,221,30,244,0,249,59,228,26,2,14,238,1,1,11,17,20,202,197,27,4,29,32,5,19,12,252,1,7,246,5,254,10,0,23,251,28,152,46,11,16,3,29,1,248,242,1,7,206,88,194,26,8,239,242,50,0,32,244,253,229,18,248,251,8,3,236,245,37,244,9,33,46,155,255,252,1,6,255,28,214,241,16,5,255,254,201,85,38,247,252,11,254,247,250,3,236,246,179,89,24,253,152,199,230,225,236,250,247,14,20,233,46,241,225,28,1,241,254,6,254,31,45,180,23,231,39,12,242,236,227,195,189,180,224,185,189,68,77,46,34,5,243,208,210,184,175,172,196,198,216,228,82,93,68,45,29,3,237,209,228,213,221,226,248,243,217,165,165,133,160,10,10,250,238,201,196,165,200,220,229,240,208,181,40,28,246,228,35,9,37,19,1,236,225,215,238,231,221,188,176,45,27,255,47,13,0,227,221,199,206,177,183,218,237,5,35,14,246,233,16,248,5,232,216,194,233,229,234,240,238,210,184,179,43,21,33,1,176,186,186,192,200,204,217,223,225,218,237,237,241,32,33,254,7,241,241,232,233,223,215,200,232,199,5,89,64,41,27,5,247,209,196,159,159,132,236,247,212,183,31,29,252,64,48,7,221,199,0,253,230,209,253,250,216,180,177,208,12,81,55,10,9,232,213,183,199,187,16,5,228,203,18,29,20,0,252,245,6,243,23,7,239,221,219,219,226,188,193,6,24,247,242,3,21,243,229,199,207,176,232,215,251,240,251,1,45,25,12,249,3,241,250,240,241,248,6,243,214,175,176,169,14,1,246,253,213,187,210,232,228,227,36,6,213,200,244,12,54,79,43,9,54,22,2,8,244,213,210,204,218,187,167,251,75,38,33,5,243,203,194,169,167,143,157,201,222,219,62,55,33,16,21,254,239,210,227,218,218,208,217,214,220,181,184,168,208,226,21,2,241,199,192,158,172,180,25,1,210,176,244,18,249,3,34,6,38,31,23,4,255,20,14,241,213,178,165,232,14,253,54,16,0,229,228,212,200,173,164,167,253,34,56,41,36,22,20,248,249,221,214,194,207,3,12,246,206,169,160,190,92,70,38,9,186,185,194,214,217,213,245,249,206,177,198,206,225,32,31,250,252,231,7,239,218,186,198,229,213,173,228,59,36,20,31,2,229,185,176,147,158,181,223,224,225,254,33,15,250,43,33,251,0,234,246,229,222,207,245,236,215,165,156,135,217,57,41,10,237,206,218,197,196,186,238,236,248,225,248,241,1,242,230,231,33,21,32,17,1,237,237,230,198,175,221,234,45,30,11,245,3,230,208,169,189,173,198,3,255,230,236,44,10,25,39,5,247,221,229,218,7,10,4,247,214,171,154,129,52,44,28,10,209,195,216,217,239,255,246,223,214,182,208,21,252,70,52,10,220,194,6,247,246,242,200,23,1,230,23,208,239,12,8,249,23,29,220,228,250,227,239,251,40,23,10,10,210,243,36,6,4,226,227,62,32,224,255,22,242,1,252,234,211,2,54,4,226,199,197,244,27,253,225,8,247,5,10,242,32,66,19,9,2,231,219,23,241,18,218,225,5,247,235,15,0,22,62,30,15,244,242,210,77,21,33,3,34,29,237,50,2,11,9,218,244,219,62,1,241,54,32,6,2,232,20,35,235,2,19,24,243,55,4,9,39,237,30,255,235,73,54,33,8,18,3,15,6,237,209,6,253,208,206,1,26,20,8,233,206,65,242,201,239,225,219,228,53,255,239,203,1,57,11,248,231,226,219,64,5,204,211,15,23,31,15,14,231,24,33,254,212,200,238,6,235,213,4,244,17,219,20,246,34,15,2,15,55,21,245,225,250,46,25,16,247,231,248,194,28,17,20,224,227,26,30,25,237,2,240,239,26,205,2,50,42,19,190,23,29,254,3,19,237,219,32,15,6,30,222,13,11,251,40,31,10,214,4,247,26,247,186,17,254,233,20,234,201,51,232,225,22,234,15,243,3,246,228,240,56,4,193,11,238,241,238,218,221,16,249,34,255,235,207,209,9,219,7,8,69,55,20,6,223,211,246,247,6,247,12,71,15,253,214,249,232,32,221,254,214,239,251,0,254,223,202,13,244,222,47,23,19,55,7,248,74,31,14,16,233,230,19,12,238,207,228,225,236,2,242,236,209,78,40,13,233,245,21,250,18,1,47,5,38,35,32,46,22,8,13,16,242,18,51,19,40,39,11,230,255,239,47,2,203,241,31,234,38,21,241,240,5,223,53,15,218,86,11,253,232,49,13,252,245,238,28,20,244,229,230,35,231,221,253,236,195,30,10,201,244,234,204,202,242,19,224,244,45,15,248,208,247,11,224,8,240,222,243,51,18,38,254,224,239,22,254,238,228,186,59,27,228,237,246,236,247,247,248,235,21,248,35,254,45,253,247,12,0,30,7,217,43,27,218,165,30,26,19,201,252,63,14,239,13,9,13,2,7,4,6,61,72,255,239,29,255,234,239,8,228,219,63,44,41,3,2,14,9,250,75,248,249,244,241,244,13,9,252,30,234,191,15,0,211,4,252,1,5,22,11,23,85,110,107,110,111,119,110,32,110,98,95,109,111,100,101,95,113,117,101,114,121,32,114,101,113,117,101,115,116,58,32,0,80,97,99,107,101,116,32,105,115,32,108,97,114,103,101,114,32,116,104,97,110,32,97,108,108,111,99,97,116,101,100,32,98,117,102,102,101,114,0,67,111,117,108,100,32,110,111,116,32,114,101,115,105,122,101,32,105,110,112,117,116,32,98,117,102,102,101,114,58,32,116,114,117,110,99,97,116,105,110,103,32,105,110,112,117,116,0,68,111,32,110,111,116,32,111,119,110,32,105,110,112,117,116,32,98,117,102,102,101,114,58,32,116,114,117,110,99,97,116,105,110,103,32,111,118,101,114,115,105,122,101,32,105,110,112,117,116,0,66,117,102,102,101,114,32,116,111,111,32,115,109,97,108,108,32,116,111,32,112,97,99,107,32,98,105,116,115,0,67,111,117,108,100,32,110,111,116,32,114,101,115,105,122,101,32,105,110,112,117,116,32,98,117,102,102,101,114,58,32,110,111,116,32,112,97,99,107,105,110,103,0,68,111,32,110,111,116,32,111,119,110,32,105,110,112,117,116,32,98,117,102,102,101,114,58,32,110,111,116,32,112,97,99,107,105,110,103,0,22,39,14,44,11,35,254,23,252,6,46,228,13,229,233,12,4,20,251,9,37,238,233,23,0,9,250,236,4,255,239,251,252,17,0,1,9,254,1,2,2,244,8,231,39,15,9,16,201,245,9,11,5,10,254,196,8,13,250,11,240,27,209,244,11,1,16,249,9,253,227,9,242,25,237,34,36,12,40,246,253,232,242,219,235,221,254,220,3,250,67,28,6,239,253,244,240,241,239,249,197,220,243,1,7,1,2,10,2,11,13,10,8,254,7,3,5,4,2,2,253,248,4,251,6,7,214,15,35,254,210,38,28,236,247,1,7,253,0,254,0,0,0,0,0,0,0,0,0,0,241,228,52,32,5,251,239,236,246,255,12,32,25,46,36,33,9,14,253,6,1,248,0,246,251,249,249,249,251,251,31,229,24,224,252,10,245,21,253,19,23,247,22,24,246,255,246,243,249,245,42,223,31,19,248,0,246,240,1,235,239,10,248,14,8,4,11,254,5,254,223,11,240,33,11,252,9,252,11,2,6,251,8,251,11,252,250,26,220,240,0,4,254,248,12,6,255,34,210,234,9,9,21,9,5,190,251,26,2,10,13,2,19,9,12,175,3,13,13,0,242,22,221,6,249,252,6,250,10,250,225,38,223,0,246,245,5,244,12,239,5,0,250,13,247,10,8,25,33,2,244,8,250,10,254,21,7,17,43,5,11,249,247,236,220,236,233,252,252,253,27,247,247,207,217,218,245,247,6,5,23,25,5,3,3,4,1,2,253,255,87,39,17,235,247,237,247,241,243,242,239,245,246,245,248,250,255,253,253,255,202,222,229,248,245,252,251,0,0,4,8,6,9,7,9,7,6,5,5,5,48,10,19,246,12,255,9,253,2,5,253,2,254,254,0,254,230,6,9,249,240,247,2,7,7,251,213,11,22,245,247,34,37,241,243,250,1,255,1,1,192,56,52,245,229,5,4,3,1,2,1,3,255,252,252,246,249,252,252,2,255,249,249,244,246,241,247,251,251,245,240,243,6,16,4,243,240,246,252,2,209,243,25,47,19,242,236,248,239,0,253,243,1,6,239,242,15,1,10,6,232,0,246,19,187,248,14,49,17,251,33,227,3,252,0,2,248,5,250,2,120,200,244,209,23,247,6,251,1,2,251,1,246,4,255,255,4,255,0,253,30,204,189,30,22,11,255,252,3,0,7,2,0,1,246,252,248,243,5,1,1,255,5,13,247,253,246,194,22,48,252,250,2,3,5,1,1,4,1,13,3,236,10,247,13,254,252,9,236,44,255,20,224,189,19,0,28,11,8,2,245,15,237,203,31,2,34,10,6,252,198,8,10,13,14,1,12,2,0,0,128,37,248,44,247,26,253,18,2,6,11,255,9,1,5,3,0,1,1,2,12,3,254,253,7,25,9,18,250,219,3,248,240,3,246,249,17,222,212,11,17,241,253,240,255,243,11,210,191,254,8,13,2,4,4,5,15,5,9,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,19,244,12,228,38,29,255,12,2,5,23,246,3,4,241,21,252,3,3,6,17,247,252,248,236,26,5,246,6,1,237,18,241,244,47,250,254,249,247,255,239,254,254,242,30,242,2,249,252,255,244,11,231,16,253,244,11,249,7,239,1,19,228,31,249,246,7,246,3,12,5,240,6,24,41,227,202,0,1,7,255,5,250,13,10,252,248,8,247,229,203,218,255,10,19,17,16,12,12,0,3,249,252,13,12,225,242,6,251,3,5,17,43,50,25,10,1,250,254,248,219,5,213,5,73,61,39,12,253,195,224,2,42,30,253,17,229,9,34,20,255,251,2,23,249,210,26,53,209,20,254,223,167,205,192,27,11,15,222,251,200,25,247,255,227,1,40,67,233,240,16,33,19,7,14,85,22,246,246,244,249,255,52,89,29,11,236,219,210,241,17,232,228,24,2,1,0,23,155,23,14,255,233,238,9,5,243,38,1,228,228,4,27,51,230,34,216,35,47,54,38,202,230,250,42,231,13,226,220,18,41,252,223,23,224,249,252,51,253,17,204,56,209,36,254,235,36,10,8,223,31,19,9,251,216,10,247,235,19,18,178,238,251,0,230,220,209,205,212,18,40,27,254,29,49,230,2,32,202,30,183,54,3,251,36,22,53,10,255,172,203,227,251,3,212,53,205,4,22,71,221,255,33,251,229,249,36,17,233,217,16,247,201,241,236,39,221,6,217,242,18,48,192,239,241,9,39,81,37,188,37,47,235,250,152,13,6,9,254,35,8,233,18,42,45,21,33,251,207,9,250,213,200,39,2,240,231,87,1,253,247,17,231,245,247,255,10,2,242,242,4,255,246,28,233,40,224,26,247,26,4,229,233,3,42,196,1,49,253,27,10,204,216,254,18,45,233,17,212,3,253,17,210,52,216,209,25,75,31,207,53,30,226,224,220,38,250,241,240,54,229,208,3,38,227,224,234,242,252,233,243,32,217,9,8,211,243,34,240,49,40,32,31,28,23,23,32,47,59,188,8,62,44,25,242,232,191,240,36,67,231,218,235,4,223,254,42,5,193,40,11,26,214,233,195,79,225,23,236,10,224,53,231,220,10,230,251,3,0,185,5,246,219,1,232,21,202,239,1,227,231,241,229,32,68,45,240,219,238,251,1,0,179,71,250,3,236,71,189,29,221,10,226,19,4,16,17,5,0,242,19,2,28,26,59,3,2,24,39,55,206,211,238,239,33,221,14,255,1,8,87,221,227,0,229,13,249,23,243,37,216,50,221,14,19,249,242,49,54,251,22,254,227,248,229,38,13,27,48,12,215,235,241,28,7,240,232,237,236,11,236,9,2,13,23,236,11,27,229,71,187,8,2,250,22,12,16,16,9,240,248,239,1,25,1,40,219,223,66,94,53,4,234,231,215,214,25,35,240,241,57,31,227,224,21,16,196,45,15,255,7,57,230,209,227,11,8,15,19,151,248,54,27,10,239,6,244,255,246,4,0,23,246,31,13,11,10,12,192,23,253,248,237,16,52,24,216,16,10,40,5,9,0,243,249,235,248,250,249,235,59,16,203,18,196,11,209,14,238,25,243,232,4,217,16,228,54,26,189,30,27,236,204,20,244,55,12,18,240,39,242,250,230,56,168,201,12,25,26,219,6,75,0,222,175,54,226,1,249,49,233,242,21,10,194,198,199,209,222,15,252,34,178,31,25,245,7,50,246,42,193,14,220,252,57,55,57,53,42,214,255,15,40,37,15,25,245,6,1,31,254,250,255,249,192,34,28,30,255,3,21,0,168,244,200,25,228,40,8,228,242,9,12,2,250,239,22,49,250,230,14,28,236,4,244,50,35,40,13,218,198,227,17,30,22,60,26,202,217,244,58,228,193,10,235,248,244,26,194,6,246,245,234,250,249,4,1,18,2,186,11,14,4,13,19,232,222,24,67,17,51,235,13,23,54,226,48,1,243,80,26,240,254,13,252,6,226,29,232,73,198,30,229,20,254,235,41,45,30,229,253,251,238,236,207,253,221,10,42,237,189,203,245,9,13,241,223,205,226,15,7,25,226,4,28,234,222,54,227,39,210,20,16,34,252,47,75,1,212,201,232,7,255,9,214,50,248,220,41,68,0,252,246,233,241,206,64,36,247,229,12,25,218,209,219,32,207,51,220,2,252,69,230,19,7,45,67,46,13,193,46,15,209,4,215,13,250,5,235,37,26,201,249,33,255,228,10,239,192,242,0,220,239,93,253,247,190,44,235,3,244,38,250,243,244,19,13,43,213,246,244,6,251,9,207,32,251,2,4,5,15,240,10,235,8,194,248,64,8,79,255,190,207,238,5,40,251,226,211,1,250,21,224,93,238,226,235,32,21,238,22,8,5,215,202,80,22,246,249,248,233,192,66,56,242,226,215,210,242,227,219,27,242,42,254,247,227,34,14,33,242,22,4,10,26,26,28,32,23,184,224,3,0,242,35,214,178,224,6,29,238,211,251,7,223,211,253,234,222,8,248,4,205,231,247,59,178,21,251,231,208,66,241,239,232,207,243,25,233,192,250,40,232,237,245,57,223,248,1,10,204,202,28,39,49,34,245,195,215,213,10,15,241,51,30,15,205,32,222,254,222,14,18,16,1,1,253,253,1,1,238,6,16,48,12,251,214,7,36,48,7,236,246,7,12,2,54,39,218,37,54,4,245,248,210,246,5,246,222,46,244,29,219,39,36,245,24,56,17,14,20,25,0,231,228,55,249,251,27,3,9,230,248,6,232,246,226,225,222,18,4,22,21,40,255,227,219,248,235,92,227,11,253,11,73,23,22,7,4,212,247,245,21,243,11,9,178,255,47,114,244,219,237,251,245,234,19,12,226,7,38,45,235,248,247,55,211,56,235,7,17,46,199,169,250,27,31,31,7,200,244,46,21,251,244,36,3,3,235,43,19,12,249,9,242,0,247,223,165,7,26,3,245,64,83,225,210,25,2,9,5,2,2,255,20,239,10,251,229,248,20,8,237,16,235,243,225,5,5,42,24,9,34,236,28,195,22,11,217,64,236,255,226,247,236,24,231,232,227,22,196,6,251,41,247,169,14,34,15,199,52,69,15,253,154,58,16,3,6,60,181,224,26,7,199,229,224,232,235,227,240,62,210,31,30,229,241,7,15,1,5,241,49,190,208,252,50,212,7,37,16,238,25,230,230,241,19,19,229,209,28,57,5,239,224,215,68,21,254,64,56,8,240,243,230,247,240,11,6,217,25,237,22,225,20,211,55,213,10,240,47,216,40,236,205,3,239,242,241,232,53,236,210,46,27,188,32,3,238,251,9,225,16,247,246,255,233,48,95,47,25,215,224,253,15,231,201,36,41,229,20,5,13,14,234,5,2,233,18,46,241,17,238,222,251,248,27,201,73,16,2,255,239,40,178,33,0,2,19,4,53,240,241,240,228,253,243,49,8,249,227,27,243,32,20,32,195,16,14,41,44,40,24,20,7,4,48,196,179,17,250,208,65,241,32,226,185,246,253,250,10,254,249,227,200,67,226,7,251,86,250,246,0,5,225,60,34,218,253,24,10,254,30,23,24,215,12,70,213,15,239,6,13,16,243,8,30,241,248,5,23,222,158,252,243,13,208,225,70,12,31,25,24,232,26,249,33,240,8,5,245,242,248,191,13,10,254,247,0,253,188,5,35,7,0,225,255,239,247,247,16,219,238,255,69,208,228,22,235,245,5,49,55,23,170,220,16,2,13,63,205,30,245,13,24,238,250,14,237,1,41,9,251,27,220,212,222,219,235,230,31,217,15,43,5,248,29,20,248,236,204,228,255,13,26,222,246,247,27,248,8,27,190,4,12,234,49,10,179,32,238,3,218,12,253,255,2,2,0,224,224,224,0,225,198,240,22,215,232,213,14,200,234,201,29,243,33,215,47,252,217,247,29,215,15,244,38,248,241,244,31,1,2,212,40,234,190,214,27,218,28,233,38,235,14,219,31,0,21,206,52,203,185,229,33,219,255,237,25,237,251,228,22,6,65,212,74,223,208,223,9,216,57,242,58,239,4,211,32,225,38,223,36,233,28,216,39,213,29,244,46,222,13,233,28,240,15,229,34,242,174,241,43,225,25,224,29,235,5,251,38,209,193,205,33,210,12,3,47,228,239,227,11,246,14,216,38,253,254,255,0,252,5,35,216,247,13,212,5,229,255,249,6,245,7,248,7,19,242,15,252,9,246,10,248,10,247,255,1,0,0,2,5,238,22,203,50,1,233,50,220,15,3,243,14,246,6,1,5,253,4,254,5,224,25,5,254,255,252,1,11,227,26,250,241,30,238,0,15,239,40,215,3,9,254,254,3,253,255,251,2,21,250,240,235,23,2,60,15,16,240,247,14,9,255,7,247,0,1,1,0,255,250,17,228,54,211,255,1,255,250,250,2,11,26,227,254,46,235,34,12,233,32,233,16,246,3,66,19,236,24,7,11,253,0,253,255,206,210,2,238,253,4,255,254,3,253,237,41,220,9,11,232,21,240,9,253],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE),
allocate([231,253,10,18,247,254,251,255,251,6,252,253,2,230,21,237,35,241,7,243,17,237,39,213,48,225,16,247,7,254,251,3,252,9,237,27,201,63,221,10,26,212,254,9,4,1,250,8,247,5,248,255,253,240,45,214,5,15,240,10,0,0,0,0,0,0,0,0,0,0,240,24,201,47,218,27,237,7,253,1,16,27,20,237,18,5,249,1,251,2,250,8,234,0,253,253,8,255,7,248,1,253,5,0,17,208,58,204,29,249,254,3,246,6,230,58,225,1,250,3,93,227,39,3,17,5,6,255,255,255,27,13,10,19,249,222,12,10,252,9,180,9,8,228,254,245,2,255,3,1,173,38,217,4,240,250,254,251,5,254,30,19,38,34,40,32,46,43,58,43,5,238,231,216,223,201,204,20,34,28,236,193,159,164,61,53,47,49,53,75,242,203,179,177,0,253,251,19,22,26,247,203,201,66,90,72,85,68,74,52,252,215,198,225,238,225,27,32,30,18,24,3,8,5,244,253,26,28,74,63,254,217,189,179,150,182,59,59,73,65,44,40,71,72,82,83,98,88,89,60,250,225,209,208,243,217,247,7,2,79,255,217,196,239,87,81,65,50,45,19,235,189,165,169,215,206,7,18,39,74,10,225,228,39,24,13,23,5,56,45,29,10,251,243,245,221,238,248,246,248,231,185,179,235,2,16,50,63,87,87,5,224,216,205,188,0,12,6,54,34,5,244,32,52,68,64,69,59,65,45,14,240,225,216,191,189,41,49,47,37,245,204,181,172,252,57,48,42,42,33,245,205,188,250,13,0,8,248,26,32,233,203,0,36,56,76,97,105,111,97,255,228,217,216,213,202,212,216,238,35,16,236,237,228,214,29,47,38,74,45,3,227,208,194,176,152,223,56,59,59,10,17,46,72,84,101,117,123,123,106,249,223,207,205,186,189,229,225,70,67,240,194,171,236,82,71,86,80,85,74,237,198,181,211,227,223,238,231,45,57,244,214,251,12,28,36,52,64,81,82,13,247,229,228,22,3,2,22,26,6,250,212,205,2,15,10,48,43,49,34,237,194,172,167,154,232,8,17,61,68,39,24,23,19,16,251,12,15,27,15,248,212,207,196,238,224,228,52,54,62,248,208,179,186,66,101,83,63,61,37,244,206,181,192,33,17,13,25,15,77,1,214,227,72,64,46,49,31,61,44,248,209,202,210,226,19,20,255,240,0,16,244,238,247,230,229,246,234,53,45,246,209,181,174,151,147,8,25,49,77,50,65,114,117,124,118,115,96,90,61,247,211,193,196,181,199,8,11,20,29,0,221,207,213,40,47,35,40,55,38,232,180,153,144,229,3,23,34,52,75,8,227,213,12,63,38,35,29,24,8,25,11,1,241,238,213,249,37,40,21,236,200,237,237,252,254,11,29,51,63,254,212,194,181,167,30,57,51,74,51,50,46,68,64,65,52,63,55,65,43,18,247,230,221,201,187,3,6,8,17,241,195,170,159,1,86,93,74,78,67,255,218,190,208,48,39,29,25,17,255,13,13,29,39,50,51,69,82,97,98,254,220,210,229,240,226,243,252,249,252,25,251,245,250,231,235,33,12,31,29,248,218,204,193,188,167,223,255,10,74,254,241,59,91,105,105,101,87,84,62,249,223,206,221,202,209,25,17,82,81,243,200,173,21,58,31,42,25,72,65,232,190,165,200,9,254,21,10,69,75,2,232,11,22,25,28,38,34,48,33,7,227,230,17,15,255,14,0,254,0,250,215,189,6,254,247,19,2,85,74,234,189,172,185,206,3,11,247,2,62,222,204,241,45,2,23,21,52,24,223,247,255,9,212,215,243,239,44,22,239,250,252,255,22,38,26,16,2,50,27,221,222,247,215,6,0,240,222,51,8,242,225,207,15,223,45,49,33,245,219,194,202,45,11,251,184,11,255,244,245,24,27,245,213,46,43,33,244,247,255,1,252,233,199,185,11,8,16,17,248,236,225,215,53,48,240,3,65,232,248,233,224,219,224,207,246,239,6,38,5,247,239,210,8,52,3,6,45,40,39,249,250,222,182,31,8,1,240,43,68,245,237,225,4,6,0,250,239,240,218,240,226,2,9,217,240,255,43,246,48,3,3,240,225,253,62,68,43,13,3,246,8,20,200,12,12,254,238,22,241,216,220,1,7,41,0,1,46,250,194,252,244,254,245,173,243,254,91,33,246,0,4,245,240,79,32,37,14,9,51,235,228,200,222,0,21,9,230,11,28,214,202,233,254,241,31,30,8,217,190,217,220,31,228,216,210,35,40,22,24,33,48,23,222,14,40,32,17,27,253,25,26,243,195,239,11,4,31,60,250,230,215,192,13,16,230,54,31,245,233,247,245,222,185,235,222,221,55,50,29,234,229,206,218,57,33,42,57,48,26,11,0,207,225,26,252,242,5,78,37,17,0,207,244,233,26,14,2,2,213,239,244,10,248,252,8,18,12,250,20,244,250,243,231,34,15,40,49,7,8,13,20,20,237,234,254,248,2,51,205,250,53,235,232,4,26,17,252,219,25,17,220,243,31,3,250,27,15,246,31,28,26,246,246,216,16,249,15,13,41,247,0,252,50,250,249,14,38,22,0,208,2,1,243,237,32,253,196,11,239,255,232,222,255,35,251,229,28,44,13,25,15,42,245,15,51,35,220,20,8,252,244,227,19,209,49,241,252,16,227,217,14,226,4,25,247,251,205,242,253,216,224,38,5,247,248,252,255,234,71,253,14,26,238,234,24,215,231,232,6,23,19,246,39,230,229,65,45,2,249,230,248,22,244,16,15,16,221,251,33,235,248,0,23,33,34,6,21,36,6,249,234,8,219,242,31,38,11,252,253,217,224,248,32,233,250,244,16,20,228,252,23,13,204,255,22,6,223,216,250,4,194,13,5,230,35,39,11,2,57,245,9,236,228,223,52,251,250,254,22,242,240,208,35,1,198,20,13,33,255,182,56,238,234,225,12,6,242,4,254,247,209,10,253,29,239,251,61,14,47,244,2,72,217,239,92,64,203,205,241,226,218,215,227,228,27,9,36,9,221,214,81,235,20,25,240,251,239,221,21,15,228,48,2,254,9,237,29,216,30,238,238,18,240,199,15,236,244,241,219,241,33,217,21,234,243,35,11,13,218,193,29,23,229,32,18,3,230,42,33,192,190,239,16,56,2,36,3,31,21,215,217,8,199,14,37,254,19,220,237,233,227,240,1,253,248,246,31,64,191,230,248,29,21,4,19,217,33,249,220,56,54,48,40,29,252,232,214,190,213,196,19,254,37,41,246,219,196,192,18,234,77,73,40,25,4,19,237,190,254,11,5,21,14,26,231,170,252,18,1,26,219,10,37,255,24,244,197,245,20,250,34,240,240,42,19,228,205,53,32,4,10,62,21,244,222,27,4,208,208,206,207,31,249,235,214,231,252,213,234,59,2,27,12,247,250,240,248,224,198,240,227,251,41,23,226,223,210,243,246,218,52,52,1,239,247,10,26,231,250,33,236,53,55,25,224,251,214,23,21,66,5,228,20,9,75,29,249,214,217,15,3,233,21,6,11,1,227,14,63,10,54,26,232,205,207,7,233,205,15,190,1,60,25,10,0,226,252,241,17,19,59,40,4,251,33,6,234,198,186,251,23,250,60,44,227,240,209,227,52,237,50,28,16,35,31,36,0,235,6,21,27,22,42,7,190,216,248,7,19,46,0,252,60,36,45,249,227,250,224,217,2,6,247,33,20,205,222,18,250,19,6,11,5,237,227,254,42,245,211,235,201,57,37,2,242,189,240,229,218,69,48,19,2,239,20,236,240,222,239,231,195,10,73,45,16,216,192,239,227,234,56,17,217,8,245,8,231,238,243,237,8,54,57,36,239,230,252,6,235,40,42,252,20,31,53,10,222,203,31,239,35,0,15,250,236,193,183,22,25,29,17,8,227,217,187,18,15,241,251,11,47,16,247,210,224,26,192,34,251,38,249,47,20,2,183,157,253,211,20,70,204,15,250,249,174,31,21,47,51,39,253,9,0,215,249,241,202,2,0,27,225,9,211,234,218,232,232,8,223,23,5,50,220,239,238,205,254,13,19,43,12,241,244,61,38,38,7,13,0,6,255,3,62,9,27,22,223,38,221,247,30,213,247,224,255,4,252,1,251,245,248,38,31,11,246,214,235,219,1,43,15,243,221,237,238,15,23,230,59,1,235,53,8,215,206,242,228,4,21,25,228,216,5,216,215,4,51,223,248,248,1,17,196,12,25,215,17,34,43,19,45,7,219,24,241,56,254,35,246,48,4,209,254,5,251,202,5,253,223,246,30,254,212,232,218,9,247,42,4,6,200,44,240,9,216,230,18,236,10,28,215,235,252,13,238,32,226,253,37,15,22,28,50,216,3,227,192,7,51,237,245,17,229,216,192,24,244,249,229,3,37,48,255,2,247,218,222,46,1,27,250,19,243,26,10,34,20,25,40,50,250,249,30,9,232,0,233,71,195,22,58,222,252,2,207,223,25,30,248,250,240,77,2,38,248,221,250,226,56,78,31,33,236,13,217,20,22,4,21,248,4,250,10,173,215,9,231,213,15,249,244,222,217,219,223,19,30,16,223,42,231,25,188,44,241,245,252,23,50,14,4,217,213,20,226,60,9,236,7,16,19,223,37,29,16,221,7,38,229,110,97,114,114,111,119,98,97,110,100,0,119,105,100,101,98,97,110,100,32,40,115,117,98,45,98,97,110,100,32,67,69,76,80,41,0,85,110,107,110,111,119,110,32,119,98,95,109,111,100,101,95,113,117,101,114,121,32,114,101,113,117,101,115,116,58,32,0,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,115,116,45,62,119,105,110,100,111,119,83,105,122,101,45,115,116,45,62,102,114,97,109,101,83,105,122,101,32,61,61,32,115,116,45,62,115,117,98,102,114,97,109,101,83,105,122,101,0,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,83,85,66,77,79,68,69,40,108,116,112,95,113,117,97,110,116,41,0,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,83,85,66,77,79,68,69,40,105,110,110,111,118,97,116,105,111,110,95,113,117,97,110,116,41,0,70,97,116,97,108,32,40,105,110,116,101,114,110,97,108,41,32,101,114,114,111,114,32,105,110,32,37,115,44,32,108,105,110,101,32,37,100,58,32,37,115,10,0,115,114,99,47,110,98,95,99,101,108,112,46,99,0,77,111,114,101,32,116,104,97,110,32,116,119,111,32,119,105,100,101,98,97,110,100,32,108,97,121,101,114,115,32,102,111,117,110,100,46,32,84,104,101,32,115,116,114,101,97,109,32,105,115,32,99,111,114,114,117,112,116,101,100,46,0,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,83,85,66,77,79,68,69,40,108,116,112,95,117,110,113,117,97,110,116,41,0,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,83,85,66,77,79,68,69,40,105,110,110,111,118,97,116,105,111,110,95,117,110,113,117,97,110,116,41,0,73,110,118,97,108,105,100,32,109,111,100,101,32,101,110,99,111,117,110,116,101,114,101,100,46,32,84,104,101,32,115,116,114,101,97,109,32,105,115,32,99,111,114,114,117,112,116,101,100,46,0,119,97,114,110,105,110,103,58,32,37,115,32,37,100,10,0,85,110,107,110,111,119,110,32,110,98,95,99,116,108,32,114,101,113,117,101,115,116,58,32,0,115,112,101,101,120,45,49,46,50,98,101,116,97,51,0,119,97,114,110,105,110,103,58,32,37,115,10,0,84,104,105,115,32,109,111,100,101,32,105,115,32,109,101,97,110,116,32,116,111,32,98,101,32,117,115,101,100,32,97,108,111,110,101,0,110,111,116,105,102,105,99,97,116,105,111,110,58,32,37,115,10,0,84,104,105,115,32,100,111,101,115,110,39,116,32,108,111,111,107,32,108,105,107,101,32,97,32,83,112,101,101,120,32,102,105,108,101,0,83,112,101,101,120,32,104,101,97,100,101,114,32,116,111,111,32,115,109,97,108,108,0,83,80,69,69,88,95,68,69,67,79,68,69,95,69,82,82,79,82,58,32,105,110,112,117,116,32,116,111,111,32,115,104,111,114,116,32,116,111,32,100,101,116,101,114,109,105,110,101,32,99,111,109,112,114,101,115,115,105,111,110,46,0,83,112,101,101,120,32,32,32,0,83,80,69,69,88,95,68,69,67,79,68,69,95,69,82,82,79,82,58,32,105,110,112,117,116,32,110,111,116,32,97,32,115,112,101,101,120,46,0,83,80,69,69,88,95,68,69,67,79,68,69,95,69,82,82,79,82,58,32,111,110,108,121,32,115,117,112,112,111,114,116,32,115,112,101,101,120,32,110,97,114,114,111,119,98,97,110,100,32,97,110,100,32,119,105,100,101,98,97,110,100,46,32,84,114,121,105,110,103,32,116,111,32,100,101,99,111,100,101,32,97,115,32,110,97,114,114,111,119,98,97,110,100,0,69,82,82,79,82,58,32,115,116,114,101,97,109,32,99,111,114,114,117,112,116,101,100,63,32,32,101,110,99,111,100,101,100,95,102,114,97,109,101,95,115,105,122,101,32,40,112,97,99,107,101,116,32,115,105,122,101,41,46,0,69,82,82,79,82,58,32,80,97,99,107,101,116,32,119,97,115,32,105,110,99,111,109,112,108,101,116,101,46,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);var tempDoublePtr=STATICTOP;STATICTOP+=16,Module._i64Subtract=_i64Subtract,Module._i64Add=_i64Add,Module._memset=_memset,Module._bitshift64Lshr=_bitshift64Lshr,Module._bitshift64Shl=_bitshift64Shl;var SYSCALLS={varargs:0,get:function(a){SYSCALLS.varargs+=4;var b=HEAP32[SYSCALLS.varargs-4>>2];return b},getStr:function(){var a=Pointer_stringify(SYSCALLS.get());return a},get64:function(){var a=SYSCALLS.get(),b=SYSCALLS.get();return assert(a>=0?0===b:b===-1),a},getZero:function(){assert(0===SYSCALLS.get())}},cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);Module._llvm_cttz_i32=_llvm_cttz_i32,Module.___udivmoddi4=___udivmoddi4,Module.___udivdi3=___udivdi3,Module._sbrk=_sbrk,Module._memcpy=_memcpy,Module._memmove=_memmove,Module.___uremdi3=___uremdi3,Module._llvm_bswap_i16=_llvm_bswap_i16;var _llvm_pow_f64=Math_pow;Module._llvm_bswap_i32=_llvm_bswap_i32,__ATEXIT__.push(function(){var a=Module._fflush;a&&a(0);var b=___syscall146.printChar;if(b){var c=___syscall146.buffers;c[1].length&&b(1,10),c[2].length&&b(2,10)}}),DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC),STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX),HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE,staticSealed=!0,Module.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:1/0},Module.asmLibraryArg={abort:abort,assert:assert,enlargeMemory:enlargeMemory,getTotalMemory:getTotalMemory,abortOnCannotGrowMemory:abortOnCannotGrowMemory,invoke_iiii:invoke_iiii,invoke_viiiiii:invoke_viiiiii,invoke_viiiiiiiiiiiii:invoke_viiiiiiiiiiiii,invoke_vi:invoke_vi,invoke_viiiiiiiiiiiiiii:invoke_viiiiiiiiiiiiiii,invoke_ii:invoke_ii,invoke_viii:invoke_viii,invoke_v:invoke_v,invoke_iiiiiiiiiiiiiiiiiiiii:invoke_iiiiiiiiiiiiiiiiiiiii,invoke_viiii:invoke_viiii,___syscall6:___syscall6,_llvm_pow_f64:_llvm_pow_f64,___lock:___lock,_abort:_abort,___setErrNo:___setErrNo,_llvm_stacksave:_llvm_stacksave,___syscall140:___syscall140,_emscripten_memcpy_big:_emscripten_memcpy_big,___syscall54:___syscall54,___unlock:___unlock,_exit:_exit,_llvm_stackrestore:_llvm_stackrestore,__exit:__exit,___syscall146:___syscall146,DYNAMICTOP_PTR:DYNAMICTOP_PTR,tempDoublePtr:tempDoublePtr,ABORT:ABORT,STACKTOP:STACKTOP,STACK_MAX:STACK_MAX,cttz_i8:cttz_i8};var asm=function(a,b,c){"use asm";var d;var e=new a.Int8Array(c);var f=new a.Int16Array(c);var g=new a.Int32Array(c);var h=new a.Uint8Array(c);var i=new a.Uint16Array(c);var j=new a.Uint32Array(c);var k=new a.Float32Array(c);var l=new a.Float64Array(c);var m=b.DYNAMICTOP_PTR|0;var n=b.tempDoublePtr|0;var o=b.ABORT|0;var p=b.STACKTOP|0;var q=b.STACK_MAX|0;var r=b.cttz_i8|0;var s=0;var t=0;var u=0;var v=0;var w=a.NaN,x=a.Infinity;var y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;var H=0;var I=a.Math.floor;var J=a.Math.abs;var K=a.Math.sqrt;var L=a.Math.pow;var M=a.Math.cos;var N=a.Math.sin;var O=a.Math.tan;var P=a.Math.acos;var Q=a.Math.asin;var R=a.Math.atan;var S=a.Math.atan2;var T=a.Math.exp;var U=a.Math.log;var V=a.Math.ceil;var W=a.Math.imul;var X=a.Math.min;var Y=a.Math.max;var Z=a.Math.clz32;var $=b.abort;var _=b.assert;var aa=b.enlargeMemory;var ba=b.getTotalMemory;var ca=b.abortOnCannotGrowMemory;var da=b.invoke_iiii;var ea=b.invoke_viiiiii;var fa=b.invoke_viiiiiiiiiiiii;var ga=b.invoke_vi;var ha=b.invoke_viiiiiiiiiiiiiii;var ia=b.invoke_ii;var ja=b.invoke_viii;var ka=b.invoke_v;var la=b.invoke_iiiiiiiiiiiiiiiiiiiii;var ma=b.invoke_viiii;var na=b.___syscall6;var oa=b._llvm_pow_f64;var pa=b.___lock;var qa=b._abort;var ra=b.___setErrNo;var sa=b._llvm_stacksave;var ta=b.___syscall140;var ua=b._emscripten_memcpy_big;var va=b.___syscall54;var wa=b.___unlock;var xa=b._exit;var ya=b._llvm_stackrestore;var za=b.__exit;var Aa=b.___syscall146;var Ba=0;function Ca(a){a=a|0;var b=0;b=p;p=p+a|0;p=p+15&-16;return b|0}function Da(){return p|0}function Ea(a){a=a|0;p=a}function Fa(a,b){a=a|0;b=b|0;p=a;q=b}function Ga(a,b){a=a|0;b=b|0;if(!s){s=a;t=b}}function Ha(a){a=a|0;H=a}function Ia(){return H|0}function Ja(a,b,c,d,h,j,k,l,m,n,o,q,r){a=a|0;b=b|0;c=c|0;d=d|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=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,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;ha=p;p=p+16|0;M=ha+4|0;P=ha;q=((q|0)<10?q:10)<<1;$=(q|0)/3|0;if((q|0)<6|(q+-3|0)>>>0<3){E=g[h>>2]|0;F=g[h+4>>2]|0;G=h+12|0;ga=g[G>>2]|0;H=1<<ga;I=g[h+8>>2]|0;D=g[h+16>>2]|0;z=E<<ga<<1;C=o+(o&1)+z|0;z=C+(0-z)|0;q=H<<2;C=C+(0-C&3)+q|0;A=C+(0-q)|0;J=k<<1;C=C+(C&1)+J|0;L=0-J|0;B=C+L|0;Q=k<<2;C=C+(0-C&3)+Q|0;Q=C+(0-Q)|0;Td(B|0,a|0,J|0)|0;K=C+(C&1)|0;x=E<<1;x=K+x+(0-x)|0;do{if((ga|0)!=31){if((E|0)>0)w=0;else{Md(A|0,0,q|0)|0;break}do{o=W(w,E)|0;q=0;do{f[x+(q<<1)>>1]=e[I+(q+o)>>0]|0;q=q+1|0}while((q|0)!=(E|0));u=z+(o<<1)|0;s=A+(w<<2)|0;g[s>>2]=0;o=0;t=0;v=1;while(1){q=0;h=0;do{q=(W(f[m+(o-h<<1)>>1]|0,f[x+(h<<1)>>1]|0)|0)+q|0;h=h+1|0}while((h|0)!=(v|0));ga=q>>>13;fa=ga<<16>>16;t=(W(fa,fa)|0)+t|0;f[u+(o<<1)>>1]=ga;o=o+1|0;if((o|0)==(E|0))break;else v=v+1|0}g[s>>2]=t;w=w+1|0}while((w|0)!=(H|0))}}while(0);if((F|0)>0){x=(D|0)==0;y=(E|0)>0;q=0;do{s=W(q,E)|0;o=B+(s<<1)|0;if(x)Db(o,z,E,H,A,1,M,P,C);else Eb(o,z,E,H,A,1,M,P,C);Kb(n,g[M>>2]|0,(g[G>>2]|0)+D|0);w=g[M>>2]|0;t=(w|0)<(H|0);w=W(w-(t?0:H)|0,E)|0;h=z+(w<<1)|0;if(t){if(y){o=0;do{ga=B+(o+s<<1)|0;f[ga>>1]=(i[ga>>1]|0)-(i[h+(o<<1)>>1]|0);o=o+1|0}while((o|0)!=(E|0));v=24}else v=27}else if(y){o=0;do{ga=B+(o+s<<1)|0;f[ga>>1]=(i[h+(o<<1)>>1]|0)+(i[ga>>1]|0);o=o+1|0}while((o|0)!=(E|0));v=24}else v=27;do{if((v|0)==24){v=0;if(t){if(y)o=0;else{v=27;break}do{g[Q+(o+s<<2)>>2]=e[I+(o+w)>>0]<<9;o=o+1|0}while((o|0)!=(E|0))}else{if(y)o=0;else{v=27;break}do{g[Q+(o+s<<2)>>2]=0-(e[I+(o+w)>>0]<<9);o=o+1|0}while((o|0)!=(E|0))}q=q+1|0;if(y?(O=W(q,E)|0,N=B+(O<<1)|0,O=k-O|0,(O|0)>0):0){s=t?65536:-65536;h=0;do{t=m+(E-h<<1)|0;u=(W(e[I+(h+w)>>0]|0,s)|0)>>16;o=0;do{ga=N+(o<<1)|0;f[ga>>1]=(i[ga>>1]|0)-(((W(f[t+(o<<1)>>1]|0,u)|0)+4096|0)>>>13);o=o+1|0}while((o|0)!=(O|0));h=h+1|0}while((h|0)!=(E|0))}}}while(0);if((v|0)==27)q=q+1|0}while((q|0)!=(F|0))}s=(k|0)>0;if(s){q=0;do{n=l+(q<<2)|0;g[n>>2]=(g[Q+(q<<2)>>2]|0)+(g[n>>2]|0);q=q+1|0}while((q|0)!=(k|0))}do{if(r|0){o=K+J|0;h=o+L|0;if(s)q=0;else{Ya(h,b,c,d,h,k,j,o);break}do{f[h+(q<<1)>>1]=((g[Q+(q<<2)>>2]|0)+32|0)>>>6;q=q+1|0}while((q|0)!=(k|0));Ya(h,b,c,d,h,k,j,o);q=0;do{j=a+(q<<1)|0;f[j>>1]=(i[j>>1]|0)-(((f[h+(q<<1)>>1]|0)+2|0)>>>2);q=q+1|0}while((q|0)!=(k|0))}}while(0);p=ha;return}t=$<<2;o=o+(0-o&3)+t|0;s=0-t|0;z=o+s|0;o=o+(0-o&3)+t|0;A=o+s|0;o=o+(0-o&3)+t|0;V=o+s|0;o=o+(0-o&3)+t|0;Y=o+s|0;aa=g[h>>2]|0;ba=g[h+4>>2]|0;Z=h+12|0;w=g[Z>>2]|0;ca=1<<w;da=g[h+8>>2]|0;X=g[h+16>>2]|0;T=aa<<w<<1;o=o+(o&1)+T|0;T=o+(0-T)|0;v=ca<<2;o=o+(0-o&3)+v|0;U=o+(0-v)|0;ea=k<<1;o=o+(o&1)+ea|0;fa=0-ea|0;u=o+fa|0;ga=k<<2;o=o+(0-o&3)+ga|0;ga=o+(0-ga)|0;_=ba<<2;o=o+(0-o&3)+_|0;_=o+(0-_)|0;h=W(ea,$<<1)|0;o=o+(o&1)+h|0;h=o+(0-h)|0;S=(q|0)>2;if(S){q=0;do{R=q<<1;g[z+(q<<2)>>2]=h+((W(R,k)|0)<<1);g[A+(q<<2)>>2]=h+((W(R|1,k)|0)<<1);q=q+1|0}while((q|0)<($|0))}y=o+(0-o&3)+t|0;M=y+s|0;y=y+(0-y&3)+t|0;N=y+s|0;y=y+(0-y&3)+t|0;O=y+s|0;y=y+(0-y&3)+t|0;P=y+s|0;y=y+(0-y&3)+t|0;Q=y+s|0;y=y+(0-y&3)|0;L=y+t|0;K=L+s|0;o=W($<<3,ba)|0;L=L+(0-L&3)+o|0;o=L+(0-o)|0;if(S){q=0;do{R=q<<1;g[Y+(q<<2)>>2]=o+((W(R,ba)|0)<<2);g[V+(q<<2)>>2]=o+((W(R|1,ba)|0)<<2);q=q+1|0}while((q|0)<($|0));Td(u|0,a|0,ea|0)|0;if(S){q=0;do{Td(g[z+(q<<2)>>2]|0,u|0,ea|0)|0;q=q+1|0}while((q|0)<($|0))}}else Td(u|0,a|0,ea|0)|0;R=L+(L&1)|0;x=aa<<1;x=R+x+(0-x)|0;do{if((w|0)!=31){if((aa|0)>0)w=0;else{Md(U|0,0,v|0)|0;break}do{o=W(w,aa)|0;q=0;do{f[x+(q<<1)>>1]=e[da+(q+o)>>0]|0;q=q+1|0}while((q|0)!=(aa|0));u=T+(o<<1)|0;s=U+(w<<2)|0;g[s>>2]=0;o=0;t=0;v=1;while(1){q=0;h=0;do{q=(W(f[m+(o-h<<1)>>1]|0,f[x+(h<<1)>>1]|0)|0)+q|0;h=h+1|0}while((h|0)!=(v|0));J=q>>>13;I=J<<16>>16;t=(W(I,I)|0)+t|0;f[u+(o<<1)>>1]=J;o=o+1|0;if((o|0)==(aa|0))break;else v=v+1|0}g[s>>2]=t;w=w+1|0}while((w|0)!=(ca|0))}}while(0);if(S)Md(y|0,0,(($|0)>1?$:1)<<2|0)|0;J=(ba|0)>0;if(J){F=(aa|0)>0;G=(X|0)==0;H=$+-1|0;I=Q+(H<<2)|0;E=F^1;D=z;B=A;C=0;while(1){if(S){q=0;do{g[Q+(q<<2)>>2]=2147483647;q=q+1|0}while((q|0)<($|0));if(S){q=0;do{g[P+(q<<2)>>2]=0;g[O+(q<<2)>>2]=0;q=q+1|0}while((q|0)<($|0));if(S){x=W(C,aa)|0;y=(C|0)!=0;w=0;do{h=(g[D+(w<<2)>>2]|0)+(x<<1)|0;if(F){q=0;o=0;do{A=f[h+(o<<1)>>1]|0;q=(W(A,A)|0)+q|0;o=o+1|0}while((o|0)!=(aa|0))}else q=0;v=q>>1;if(G)Db(h,T,aa,ca,U,$,M,N,L);else Eb(h,T,aa,ca,U,$,M,N,L);t=K+(w<<2)|0;s=0;do{u=(g[t>>2]|0)+v+(g[N+(s<<2)>>2]|0)|0;a:do{if((u|0)<(g[I>>2]|0)){q=0;while(1){h=Q+(q<<2)|0;if((u|0)<(g[h>>2]|0))break;q=q+1|0;if((q|0)>=($|0))break a}if((H|0)>(q|0)){o=H;do{A=o;o=o+-1|0;g[Q+(A<<2)>>2]=g[Q+(o<<2)>>2];g[O+(A<<2)>>2]=g[O+(o<<2)>>2];g[P+(A<<2)>>2]=g[P+(o<<2)>>2]}while((o|0)>(q|0))}else q=H;g[h>>2]=u;g[O+(q<<2)>>2]=g[M+(s<<2)>>2];g[P+(q<<2)>>2]=w}}while(0);s=s+1|0}while((s|0)<($|0));w=w+1|0}while(y&(w|0)<($|0));if(S){x=W(C+1|0,aa)|0;y=(x|0)<(k|0);z=k-x|0;A=(z|0)<1|E;w=0;do{if(y){o=g[D+(g[P+(w<<2)>>2]<<2)>>2]|0;h=g[B+(w<<2)>>2]|0;q=x;do{f[h+(q<<1)>>1]=f[o+(q<<1)>>1]|0;q=q+1|0}while((q|0)!=(k|0))}if(!A){o=g[O+(w<<2)>>2]|0;t=(o|0)<(ca|0);s=(g[B+(w<<2)>>2]|0)+(x<<1)|0;h=t?65536:-65536;t=W(o-(t?0:ca)|0,aa)|0;o=0;do{u=m+(aa-o<<1)|0;v=(W(h,e[da+(t+o)>>0]|0)|0)>>16;q=0;do{ia=s+(q<<1)|0;f[ia>>1]=(i[ia>>1]|0)-(((W(f[u+(q<<1)>>1]|0,v)|0)+4096|0)>>>13);q=q+1|0}while((q|0)!=(z|0));o=o+1|0}while((o|0)!=(aa|0))}o=g[Y+(w<<2)>>2]|0;h=P+(w<<2)|0;q=0;do{g[o+(q<<2)>>2]=g[(g[V+(g[h>>2]<<2)>>2]|0)+(q<<2)>>2];q=q+1|0}while((q|0)!=(ba|0));g[o+(C<<2)>>2]=g[O+(w<<2)>>2];w=w+1|0}while((w|0)<($|0));if(S){o=0;do{h=g[Y+(o<<2)>>2]|0;s=g[V+(o<<2)>>2]|0;q=0;do{g[s+(q<<2)>>2]=g[h+(q<<2)>>2];q=q+1|0}while((q|0)!=(ba|0));o=o+1|0}while((o|0)<($|0));if(S){q=0;do{g[K+(q<<2)>>2]=g[Q+(q<<2)>>2];q=q+1|0}while((q|0)<($|0))}}}}}}C=C+1|0;if((C|0)==(ba|0))break;else{ia=B;B=D;D=ia}}if(J){q=0;do{ia=g[(g[Y>>2]|0)+(q<<2)>>2]|0;g[_+(q<<2)>>2]=ia;Kb(n,ia,(g[Z>>2]|0)+X|0);q=q+1|0}while((q|0)!=(ba|0));if(J&(aa|0)>0){o=0;do{h=g[_+(o<<2)>>2]|0;ia=(h|0)<(ca|0);h=W(h-(ia?0:ca)|0,aa)|0;s=W(o,aa)|0;if(ia){q=0;do{g[ga+(q+s<<2)>>2]=e[da+(q+h)>>0]<<9;q=q+1|0}while((q|0)!=(aa|0))}else{q=0;do{g[ga+(q+s<<2)>>2]=0-(e[da+(q+h)>>0]<<9);q=q+1|0}while((q|0)!=(aa|0))}o=o+1|0}while((o|0)!=(ba|0))}}}s=(k|0)>0;if(s){q=0;do{ia=l+(q<<2)|0;g[ia>>2]=(g[ga+(q<<2)>>2]|0)+(g[ia>>2]|0);q=q+1|0}while((q|0)!=(k|0))}if(!r){p=ha;return}o=R+ea|0;h=o+fa|0;if(s)q=0;else{Ya(h,b,c,d,h,k,j,o);p=ha;return}do{f[h+(q<<1)>>1]=((g[ga+(q<<2)>>2]|0)+32|0)>>>6;q=q+1|0}while((q|0)!=(k|0));Ya(h,b,c,d,h,k,j,o);if(s)q=0;else{p=ha;return}do{ia=a+(q<<1)|0;f[ia>>1]=(i[ia>>1]|0)-(((f[h+(q<<1)>>1]|0)+2|0)>>>2);q=q+1|0}while((q|0)!=(k|0));p=ha;return}function Ka(a,b,c,d,f,h){a=a|0;b=b|0;c=c|0;d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;m=g[b>>2]|0;n=g[b+4>>2]|0;i=b+12|0;l=g[b+8>>2]|0;h=n<<2;f=f+(0-f&3)+h|0;k=0-h|0;j=f+k|0;k=f+(0-f&3)+h+k|0;h=(n|0)>0;if(!h)return;if(!(g[b+16>>2]|0)){c=0;do{g[k+(c<<2)>>2]=0;g[j+(c<<2)>>2]=Lb(d,g[i>>2]|0)|0;c=c+1|0}while((c|0)!=(n|0))}else{c=0;do{g[k+(c<<2)>>2]=Lb(d,1)|0;g[j+(c<<2)>>2]=Lb(d,g[i>>2]|0)|0;c=c+1|0}while((c|0)!=(n|0))}if(h&(m|0)>0)h=0;else return;do{f=j+(h<<2)|0;b=W(h,m)|0;if(!(g[k+(h<<2)>>2]|0)){c=0;do{g[a+(c+b<<2)>>2]=e[l+((W(g[f>>2]|0,m)|0)+c)>>0]<<9;c=c+1|0}while((c|0)!=(m|0))}else{c=0;do{g[a+(c+b<<2)>>2]=0-(e[l+((W(g[f>>2]|0,m)|0)+c)>>0]<<9);c=c+1|0}while((c|0)!=(m|0))}h=h+1|0}while((h|0)!=(n|0));return}function La(a,b,c,d,e,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;e=i<<1;m=m+(m&1)+e|0;o=m+(0-e)|0;Za(a,b,c,d,o,i,h,m);if((i|0)>0)n=0;else{Md(a|0,0,e|0)|0;return}do{h=j+(n<<2)|0;g[h>>2]=(f[o+(n<<1)>>1]<<8)+(g[h>>2]|0);n=n+1|0}while((n|0)!=(i|0));Md(a|0,0,e|0)|0;return}function Ma(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((c|0)>0)b=0;else return;do{e=(W(g[f>>2]|0,1664525)|0)+1013904223|0;g[f>>2]=e;g[a+(b<<2)>>2]=8192-(e>>19)+(e>>16)>>14<<14;b=b+1|0}while((b|0)!=(c|0));return}function Na(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)<=0)return;g=a<<16>>16;e=0;do{h=a<<16>>16;f[c+(e<<1)>>1]=((W(f[b+(e<<1)>>1]|0,h)|0)+16384|0)>>>15;a=((W(h,g)|0)+16384|0)>>>15&65535;e=e+1|0}while((e|0)!=(d|0));return}function Oa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,i=0;if((d|0)>0)e=0;else return;do{f=a+(e<<2)|0;i=g[f>>2]|0;h=(i|0)<(b|0);i=(i|0)>(c|0);if(h|i)g[f>>2]=h?b:i?c:0;e=e+1|0}while((e|0)!=(d|0));return}function Pa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=(d|0)<4?d:4;if((c|0)<=0)return;p=f[2614+(d*6|0)>>1]|0;l=e+4|0;m=f[2614+(d*6|0)+2>>1]|0;n=0-(i[2644+(d*6|0)+2>>1]|0)<<16>>16;o=f[2614+(d*6|0)+4>>1]|0;h=0-(i[2644+(d*6|0)+4>>1]|0)<<16>>16;d=0;j=g[e>>2]|0;k=g[l>>2]|0;do{r=f[a+(d<<1)>>1]|0;t=(W(r,p)|0)+j|0;q=t+8192>>14;s=t<<1>>16;t=t&32767;j=(W(m,r)|0)+k+(((W(n,t)|0)>>15)+(W(n,s)|0)<<1)|0;k=(((W(h,t)|0)>>15)+(W(h,s)|0)<<1)+(W(o,r)|0)|0;f[b+(d<<1)>>1]=(q|0)>32767?32767:((q|0)>-32767?q:-32767)&65535;
d=d+1|0}while((d|0)!=(c|0));g[e>>2]=j;g[l>>2]=k;return}function Qa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0;if((d|0)<=0)return;f=c<<2>>16;e=c&16383;c=0;do{h=g[a+(c<<2)>>2]<<9>>16;g[b+(c<<2)>>2]=((W(h,e)|0)>>14)+(W(h,f)|0)<<7;c=c+1|0}while((c|0)!=(d|0));return}function Ra(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((c|0)>4194304){c=(c<<2)+32768|0;if((d|0)<=0)return;e=(((c>>17)+2097152|0)/(c>>16|0)|0)<<16>>16;c=0;do{f[b+(c<<1)>>1]=((W(f[a+(c<<1)>>1]|0,e)|0)+16384|0)>>>15;c=c+1|0}while((c|0)!=(d|0));return}if((c|0)>4096){if((d|0)<=0)return;e=(131072/((c<<7)+32768>>16|0)|0)<<16>>16;c=0;do{f[b+(c<<1)>>1]=((W(i[a+(c<<1)>>1]<<18>>16,e)|0)+128|0)>>>8;c=c+1|0}while((c|0)!=(d|0));return}else{c=c+64>>7;if((d|0)<=0)return;e=(131072/(((c|0)>5?c:5)<<16>>16|0)|0)<<16>>16;c=0;do{f[b+(c<<1)>>1]=((W(i[a+(c<<1)>>1]<<18>>16,e)|0)+32|0)>>>6;c=c+1|0}while((c|0)!=(d|0));return}}function Sa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0;e=(b|0)>0;if(e){d=1;c=0;do{f=g[a+(c<<2)>>2]|0;f=(f|0)<0?0-f|0:f;d=(f|0)>(d|0)?f:d;c=c+1|0}while((c|0)!=(b|0));if((d|0)>16383){c=0;while(1){c=c+1|0;if(d>>>0>32767)d=d>>>1;else break}}else c=0;if(e){d=0;e=0;do{f=g[a+(e<<2)>>2]>>c<<16>>16;f=W(f,f)|0;h=g[a+((e|1)<<2)>>2]>>c<<16>>16;f=(W(h,h)|0)+f|0;h=g[a+((e|2)<<2)>>2]>>c<<16>>16;h=f+(W(h,h)|0)|0;f=g[a+((e|3)<<2)>>2]>>c<<16>>16;d=((h+(W(f,f)|0)|0)>>>6)+d|0;e=e+4|0}while((e|0)<(b|0))}else d=0}else{d=0;c=0}b=(d|0)/(b|0)|0;h=b>>>0>65535;a=h?b>>>16:b;h=h?8:0;f=a>>>0>255;a=f?a>>>8:a;h=f?h|4:h;f=a>>>0>15;h=(f?a>>>4:a)>>>0>3|(f?h|2:h);f=h<<1;f=((h&65535)<<16>>16>6?b>>f+-12:b<<12-f)<<16>>16;f=((W(((W((f*16816|0)+-827523072>>16,f)|0)>>>14<<16)+1387593728>>16,f)|0)>>>14<<16)+238157824>>16;h=13-h|0;return((((h|0)>0?f>>h:f<<0-h)<<16>>16<<c+3)+8192|0)>>>14&65535|0}function Ta(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;e=(b|0)>0;a:do{if(e){c=0;d=10;do{h=f[a+(c<<1)>>1]|0;g=h<<16>>16;g=h<<16>>16<0?0-g|0:g;d=(g|0)>(d<<16>>16|0)?g&65535:d;c=c+1|0}while((c|0)!=(b|0));if(d<<16>>16<=16383){d=d<<16>>16<2048?3:d<<16>>16<4096?2:d<<16>>16<8192&1;if(e){c=0;e=0}else{c=0;break}while(1){h=f[a+(e<<1)>>1]<<d<<16>>16;h=W(h,h)|0;g=f[a+((e|1)<<1)>>1]<<d<<16>>16;h=(W(g,g)|0)+h|0;g=f[a+((e|2)<<1)>>1]<<d<<16>>16;g=h+(W(g,g)|0)|0;h=f[a+((e|3)<<1)>>1]<<d<<16>>16;c=((g+(W(h,h)|0)|0)>>>6)+c|0;e=e+4|0;if((e|0)>=(b|0))break a}}if(e){c=0;d=0;do{h=f[a+(d<<1)>>1]>>1;h=W(h,h)|0;g=f[a+((d|1)<<1)>>1]>>1;h=(W(g,g)|0)+h|0;g=f[a+((d|2)<<1)>>1]>>1;g=h+(W(g,g)|0)|0;h=f[a+((d|3)<<1)>>1]>>1;c=((g+(W(h,h)|0)|0)>>>6)+c|0;d=d+4|0}while((d|0)<(b|0))}else c=0;b=(c|0)/(b|0)|0;h=b>>>0>65535;a=h?b>>>16:b;h=h?8:0;g=a>>>0>255;a=g?a>>>8:a;h=g?h|4:h;g=a>>>0>15;h=(g?a>>>4:a)>>>0>3|(g?h|2:h);g=h<<1;g=((h&65535)<<16>>16>6?b>>g+-12:b<<12-g)<<16>>16;g=((W(((W((g*16816|0)+-827523072>>16,g)|0)>>>14<<16)+1387593728>>16,g)|0)>>>14<<16)+238157824>>16;h=13-h|0;h=((h|0)>0?g>>h:g<<0-h)<<16>>12;h=h&65535;return h|0}else{d=3;c=0}}while(0);b=(c|0)/(b|0)|0;h=b>>>0>65535;a=h?b>>>16:b;h=h?8:0;g=a>>>0>255;a=g?a>>>8:a;h=g?h|4:h;g=a>>>0>15;h=(g?a>>>4:a)>>>0>3|(g?h|2:h);g=h<<1;g=((h&65535)<<16>>16>6?b>>g+-12:b<<12-g)<<16>>16;g=((W(((W((g*16816|0)+-827523072>>16,g)|0)>>>14<<16)+1387593728>>16,g)|0)>>>14<<16)+238157824>>16;h=13-h|0;h=((h|0)>0?g>>h:g<<0-h)<<16>>16<<(d^3);h=h&65535;return h|0}function Ua(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,h=0,i=0,j=0;i=(d|0)>0;if(i){e=1;h=0;do{j=g[a+(h<<2)>>2]|0;j=(j|0)<0?0-j|0:j;e=(j|0)<(e|0)?e:j;h=h+1|0}while((h|0)!=(d|0))}else e=1;if((e|0)>(c|0)){h=0;do{h=h+1|0;e=e>>1}while((e|0)>(c|0))}else h=0;if(i)e=0;else return h|0;do{f[b+(e<<1)>>1]=g[a+(e<<2)>>2]>>h;e=e+1|0}while((e|0)!=(d|0));return h|0}function Va(a,b,c,d,e,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if((e|0)<=0)return;n=h+-1|0;o=b+(n<<1)|0;p=c+(n<<1)|0;q=i+(n<<2)|0;if((h|0)>1)h=0;else{j=0;do{b=f[a+(j<<1)>>1]|0;c=((g[i>>2]|0)+4096>>13)+b|0;c=(c|0)>32767?32767:(c|0)>-32767?c:-32767;b=W(f[o>>1]|0,b)|0;g[q>>2]=(W(f[p>>1]|0,0-c<<16>>16)|0)+b;f[d+(j<<1)>>1]=c;j=j+1|0}while((j|0)!=(e|0));return}do{k=f[a+(h<<1)>>1]|0;l=((g[i>>2]|0)+4096>>13)+k|0;l=(l|0)>32767?32767:(l|0)>-32767?l:-32767;m=0-l<<16>>16;j=0;do{r=j;j=j+1|0;s=(W(f[b+(r<<1)>>1]|0,k)|0)+(g[i+(j<<2)>>2]|0)|0;g[i+(r<<2)>>2]=s+(W(f[c+(r<<1)>>1]|0,m)|0)}while((j|0)!=(n|0));s=W(f[o>>1]|0,k)|0;g[q>>2]=(W(f[p>>1]|0,m)|0)+s;f[d+(h<<1)>>1]=l;h=h+1|0}while((h|0)!=(e|0));return}function Wa(a,b,c,d,e,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;if((d|0)<=0)return;l=e+-1|0;m=b+(l<<1)|0;n=h+(l<<2)|0;if((e|0)>1)e=0;else{i=0;do{b=((g[h>>2]|0)+4096>>13)+(f[a+(i<<1)>>1]|0)|0;b=(b|0)>32767?32767:(b|0)>-32767?b:-32767;g[n>>2]=W(f[m>>1]|0,0-b<<16>>16)|0;f[c+(i<<1)>>1]=b;i=i+1|0}while((i|0)!=(d|0));return}do{j=((g[h>>2]|0)+4096>>13)+(f[a+(e<<1)>>1]|0)|0;j=(j|0)>32767?32767:(j|0)>-32767?j:-32767;k=0-j<<16>>16;i=0;do{o=i;i=i+1|0;g[h+(o<<2)>>2]=(W(f[b+(o<<1)>>1]|0,k)|0)+(g[h+(i<<2)>>2]|0)}while((i|0)!=(l|0));g[n>>2]=W(f[m>>1]|0,k)|0;f[c+(e<<1)>>1]=j;e=e+1|0}while((e|0)!=(d|0));return}function Xa(a,b,c,d,e,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((d|0)<=0)return;m=e+-1|0;n=b+(m<<1)|0;o=h+(m<<2)|0;if((e|0)>1)e=0;else{i=0;do{m=f[a+(i<<1)>>1]|0;b=((g[h>>2]|0)+4096>>13)+m|0;g[o>>2]=W(f[n>>1]|0,m)|0;f[c+(i<<1)>>1]=(b|0)>32767?32767:((b|0)>-32767?b:-32767)&65535;i=i+1|0}while((i|0)!=(d|0));return}do{j=f[a+(e<<1)>>1]|0;k=((g[h>>2]|0)+4096>>13)+j|0;l=((k|0)>-32767?k:-32767)&65535;i=0;do{p=i;i=i+1|0;g[h+(p<<2)>>2]=(W(f[b+(p<<1)>>1]|0,j)|0)+(g[h+(i<<2)>>2]|0)}while((i|0)!=(m|0));g[o>>2]=W(f[n>>1]|0,j)|0;f[c+(e<<1)>>1]=(k|0)>32767?32767:l;e=e+1|0}while((e|0)!=(d|0));return}function Ya(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;h=h+(0-h&3)|0;i=g<<2;j=h+i+(0-i)|0;if((g|0)>0){Md(h|0,0,i|0)|0;Wa(a,b,e,f,g,j,0);Md(h|0,0,i|0)|0;Va(e,c,d,e,f,g,j,0);return}else{Wa(a,b,e,f,g,j,0);Va(e,c,d,e,f,g,j,0);return}}function Za(a,b,c,d,e,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;j=j+(0-j&3)|0;k=i<<2;o=j+k+(0-k)|0;if((i|0)>0){Md(j|0,0,k|0)|0;Va(a,b,c,e,h,i,o,0);Md(j|0,0,k|0)|0}else Va(a,b,c,e,h,i,o,0);if((h|0)<=0)return;l=i+-1|0;m=d+(l<<1)|0;n=o+(l<<2)|0;if((i|0)>1)a=0;else{j=0;do{d=e+(j<<1)|0;i=f[d>>1]|0;l=((g[o>>2]|0)+4096>>13)+i|0;g[n>>2]=W(f[m>>1]|0,i)|0;f[d>>1]=(l|0)>32767?32767:((l|0)>-32767?l:-32767)&65535;j=j+1|0}while((j|0)!=(h|0));return}do{b=e+(a<<1)|0;c=f[b>>1]|0;i=((g[o>>2]|0)+4096>>13)+c|0;j=(i|0)>-32767?i:-32767;k=0;do{p=k;k=k+1|0;g[o+(p<<2)>>2]=(W(f[d+(p<<1)>>1]|0,c)|0)+(g[o+(k<<2)>>2]|0)}while((k|0)!=(l|0));g[n>>2]=W(f[m>>1]|0,c)|0;f[b>>1]=(i|0)>32767?32767:j&65535;a=a+1|0}while((a|0)!=(h|0));return}function $a(a,b,c,d,e,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=h<<2;q=j+(0-j&3)+m|0;s=0-m|0;r=q+s|0;s=q+(0-q&3)+m+s|0;f[d>>1]=8192;m=(h|0)>0;if(m){j=h+1|0;k=0;l=1;while(1){f[d+(l<<1)>>1]=f[b+(k<<1)>>1]|0;k=l+1|0;if((k|0)==(j|0))break;else{q=l;l=k;k=q}}}else j=1;if((j|0)<(e|0))Md(d+(j<<1)|0,0,e-j<<1|0)|0;if(m){j=0;do{g[s+(j<<2)>>2]=0;g[r+(j<<2)>>2]=0;j=j+1|0}while((j|0)!=(h|0))}if((e|0)<=0)return;m=h+-1|0;n=c+(m<<1)|0;o=r+(m<<2)|0;p=a+(m<<1)|0;q=s+(m<<2)|0;if((h|0)>1)k=0;else{j=0;do{h=d+(j<<1)|0;a=(((g[r>>2]|0)+4096|0)>>>13)+(i[h>>1]|0)|0;c=((g[s>>2]|0)+4096+(a<<14&1073725440)|0)>>>13;f[h>>1]=c;g[o>>2]=W(f[n>>1]|0,0-a<<16>>16)|0;g[q>>2]=W(f[p>>1]|0,0-c<<16>>16)|0;j=j+1|0}while((j|0)!=(e|0));return}do{j=d+(k<<1)|0;b=(((g[r>>2]|0)+4096|0)>>>13)+(i[j>>1]|0)|0;l=((g[s>>2]|0)+4096+(b<<14&1073725440)|0)>>>13;f[j>>1]=l;l=0-l<<16>>16;b=0-b<<16>>16;j=0;do{h=j;j=j+1|0;g[r+(h<<2)>>2]=(W(f[c+(h<<1)>>1]|0,b)|0)+(g[r+(j<<2)>>2]|0);g[s+(h<<2)>>2]=(W(f[a+(h<<1)>>1]|0,l)|0)+(g[s+(j<<2)>>2]|0)}while((j|0)!=(m|0));g[o>>2]=W(f[n>>1]|0,b)|0;g[q>>2]=W(f[p>>1]|0,l)|0;k=k+1|0}while((k|0)!=(e|0));return}function _a(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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,q=0,r=0;k=g<<1;m=i+(i&1)+k|0;k=m+(0-k)|0;l=g+e<<1;l=m+(m&1)+(l+-2)+(2-l)|0;m=l+(g<<1)+-2|0;n=g>>1;j=g+-1|0;if((g|0)>0){i=0;do{f[k+(j-i<<1)>>1]=f[b+(i<<1)>>1]|0;i=i+1|0}while((i|0)!=(g|0));b=(g|0)>1;if(b){g=g+-2|0;i=0;do{f[l+(i<<1)>>1]=f[h+(g-i<<1)>>1]|0;i=i+1|0}while((i|0)!=(j|0))}else b=0}else b=0;g=(e|0)>0;if(g){i=0;do{f[l+(j+i<<1)>>1]=f[a+(i<<1)>>1]>>1;i=i+1|0}while((i|0)!=(e|0))}if(b){b=e+-1|0;i=0;do{f[h+(i<<1)>>1]=f[a+(b-i<<1)>>1]>>1;i=i+1|0}while((i|0)!=(j|0))}if(!g)return;e=(e+-1|0)>>>1;if((n|0)>0){g=0;a=0}else{i=0;while(1){f[c+(i<<1)>>1]=0;f[d+(i<<1)>>1]=0;if((i|0)==(e|0))break;else i=i+1|0}return}while(1){i=0;b=0;j=0;do{q=f[k+(b<<1)>>1]|0;h=f[l+(b+a<<1)>>1]|0;o=f[m+(a-b<<1)>>1]|0;r=(W(o+h<<16>>16,q)|0)+i|0;q=j-(W(h-o<<16>>16,q)|0)|0;o=b|1;h=f[k+(o<<1)>>1]|0;p=f[l+(o+a<<1)>>1]|0;o=f[m+(a-o<<1)>>1]|0;i=r+(W(o+p<<16>>16,h)|0)|0;j=q+(W(p-o<<16>>16,h)|0)|0;b=b+2|0}while((b|0)<(n|0));r=i+16384>>15;f[c+(g<<1)>>1]=(r|0)>32767?32767:((r|0)>-32767?r:-32767)&65535;r=j+16384>>15;f[d+(g<<1)>>1]=(r|0)>32767?32767:((r|0)>-32767?r:-32767)&65535;if((g|0)==(e|0))break;else{g=g+1|0;a=a+2|0}}return}function ab(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0;v=g>>1;s=e>>1;r=v+s<<1;j=j+(j&1)+r|0;u=0-r|0;t=j+u|0;u=j+(j&1)+r+u|0;j=(s|0)>0;if(j){e=s+-1|0;g=0;do{f[t+(g<<1)>>1]=f[a+(e-g<<1)>>1]|0;g=g+1|0}while((g|0)!=(s|0))}r=(v|0)>0;if(r){g=0;do{f[t+(g+s<<1)>>1]=f[h+((g<<1|1)<<1)>>1]|0;g=g+1|0}while((g|0)!=(v|0))}if(j){e=s+-1|0;g=0;do{f[u+(g<<1)>>1]=f[b+(e-g<<1)>>1]|0;g=g+1|0}while((g|0)!=(s|0))}if(r){g=0;do{f[u+(g+s<<1)>>1]=f[i+((g<<1|1)<<1)>>1]|0;g=g+1|0}while((g|0)!=(v|0))}if(j){p=s+-2|0;q=s+-1|0;e=0;o=0;while(1){g=p+e|0;if(r){n=q+e|0;m=e+s|0;k=0;a=0;j=0;l=f[u+(g<<1)>>1]|0;b=f[t+(g<<1)>>1]|0;e=0;g=0;do{x=k<<1;B=n+k|0;D=f[c+(x<<1)>>1]|0;C=f[t+(B<<1)>>1]|0;E=0-D<<16>>16;B=f[u+(B<<1)>>1]|0;a=(W(C,D)|0)+a+(W(B,E)|0)|0;A=f[c+((x|1)<<1)>>1]|0;y=b<<16>>16;z=l<<16>>16;E=(W(D,y)|0)+g+(W(E,z)|0)|0;D=m+k|0;b=f[t+(D<<1)>>1]|0;l=f[u+(D<<1)>>1]|0;D=f[c+((x|2)<<1)>>1]|0;F=b<<16>>16;g=0-D<<16>>16;G=l<<16>>16;a=a+(W(F,D)|0)+(W(G,g)|0)|0;x=f[c+((x|3)<<1)>>1]|0;w=B+C|0;j=(W(w,A)|0)+j+(W(G+F|0,x)|0)|0;g=E+(W(D,C)|0)+(W(g,B)|0)|0;e=(W(A,z+y|0)|0)+e+(W(x,w)|0)|0;k=k+2|0}while((k|0)<(v|0))}else{a=0;j=0;e=0;g=0}F=a+16384>>15;G=o<<1;f[d+(G<<1)>>1]=(F|0)>32767?32767:((F|0)>-32767?F:-32767)&65535;F=j+16384>>15;f[d+((G|1)<<1)>>1]=(F|0)>32767?32767:((F|0)>-32767?F:-32767)&65535;g=g+16384>>15;f[d+((G|2)<<1)>>1]=(g|0)>32767?32767:((g|0)>-32767?g:-32767)&65535;g=e+16384>>15;f[d+((G|3)<<1)>>1]=(g|0)>32767?32767:((g|0)>-32767?g:-32767)&65535;g=o+2|0;if((g|0)<(s|0)){e=-2-o|0;o=g}else break}}if(r)g=0;else return;do{f[h+((g<<1|1)<<1)>>1]=f[t+(g<<1)>>1]|0;g=g+1|0}while((g|0)!=(v|0));if(r)g=0;else return;do{f[i+((g<<1|1)<<1)>>1]=f[u+(g<<1)>>1]|0;g=g+1|0}while((g|0)!=(v|0));return}function bb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=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;r=p;p=p+112|0;n=r;k=a+(0-c<<1)+-6|0;g[n>>2]=hb(a,k,d)|0;g[n+4>>2]=hb(a,k+2|0,d)|0;g[n+8>>2]=hb(a,k+4|0,d)|0;g[n+12>>2]=hb(a,k+6|0,d)|0;g[n+16>>2]=hb(a,k+8|0,d)|0;g[n+20>>2]=hb(a,k+10|0,d)|0;g[n+24>>2]=hb(a,k+12|0,d)|0;k=0;do{h=3-k|0;h=(h|0)>0?h:0;i=10-k|0;i=(i|0)<7?i:7;if((h|0)<(i|0)){j=k+-3|0;e=0;do{q=f[2572+(h<<1)>>1]|0;o=g[n+(j+h<<2)>>2]|0;e=((W(o&32767,q)|0)>>15)+e+(W(o<<1>>16,q)|0)|0;h=h+1|0}while((h|0)<(i|0))}else e=0;g[n+28+(k<<2)>>2]=e;k=k+1|0}while((k|0)!=7);k=0;do{h=3-k|0;h=(h|0)>0?h:0;i=10-k|0;i=(i|0)<7?i:7;if((h|0)<(i|0)){j=k+-3|0;e=0;do{q=f[2586+(h<<1)>>1]|0;o=g[n+(j+h<<2)>>2]|0;e=((W(o&32767,q)|0)>>15)+e+(W(o<<1>>16,q)|0)|0;h=h+1|0}while((h|0)<(i|0))}else e=0;g[n+56+(k<<2)>>2]=e;k=k+1|0}while((k|0)!=7);k=0;do{h=3-k|0;h=(h|0)>0?h:0;i=10-k|0;i=(i|0)<7?i:7;if((h|0)<(i|0)){j=k+-3|0;e=0;do{q=f[2600+(h<<1)>>1]|0;o=g[n+(j+h<<2)>>2]|0;e=((W(o&32767,q)|0)>>15)+e+(W(o<<1>>16,q)|0)|0;h=h+1|0}while((h|0)<(i|0))}else e=0;g[n+84+(k<<2)>>2]=e;k=k+1|0}while((k|0)!=7);e=g[n>>2]|0;k=0;i=0;h=e;m=0;while(1){l=(e|0)>(h|0);e=l?e:h;h=g[n+(m*28|0)+4>>2]|0;q=(h|0)>(e|0);e=q?h:e;h=g[n+(m*28|0)+8>>2]|0;o=(h|0)>(e|0);e=o?h:e;h=g[n+(m*28|0)+12>>2]|0;s=(h|0)>(e|0);e=s?h:e;h=g[n+(m*28|0)+16>>2]|0;t=(h|0)>(e|0);e=t?h:e;h=g[n+(m*28|0)+20>>2]|0;u=(h|0)>(e|0);e=u?h:e;h=g[n+(m*28|0)+24>>2]|0;j=(h|0)>(e|0);i=j|(u|(t|(s|(o|(q|l)))))?m:i;k=j?6:u?5:t?4:s?3:o?2:q?1:l?0:k;l=m+1|0;if((l|0)==4)break;h=j?h:e;m=l;e=g[n+(l*28|0)>>2]|0}if((d|0)<=0){u=c+3|0;u=u-k|0;p=r;return u|0}h=-3-c+k|0;q=-6-c+k|0;e=i+-1|0;if((i|0)<=0){e=0;do{f[b+(e<<1)>>1]=f[a+(h+e<<1)>>1]|0;e=e+1|0}while((e|0)!=(d|0));u=c+3|0;u=u-k|0;p=r;return u|0}i=f[2572+(e*14|0)>>1]|0;j=f[2572+(e*14|0)+2>>1]|0;l=f[2572+(e*14|0)+4>>1]|0;m=f[2572+(e*14|0)+6>>1]|0;n=f[2572+(e*14|0)+8>>1]|0;o=f[2572+(e*14|0)+10>>1]|0;h=f[2572+(e*14|0)+12>>1]|0;e=0;do{t=q+e|0;u=W(i,f[a+(t<<1)>>1]|0)|0;u=(W(j,f[a+(t+1<<1)>>1]|0)|0)+u|0;u=(W(l,f[a+(t+2<<1)>>1]|0)|0)+u|0;u=(W(m,f[a+(t+3<<1)>>1]|0)|0)+u|0;u=(W(n,f[a+(t+4<<1)>>1]|0)|0)+u|0;u=(W(o,f[a+(t+5<<1)>>1]|0)|0)+u|0;f[b+(e<<1)>>1]=((W(h,f[a+(t+6<<1)>>1]|0)|0)+u+16384|0)>>>15;e=e+1|0}while((e|0)!=(d|0));u=c+3|0;u=u-k|0;p=r;return u|0}function cb(a,b,c,d,e,g,h,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|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;d=e<<1;t=e<<2;t=k+(k&1)+t+(0-t)|0;bb(a,t,g,80)|0;r=(g|0)>(h|0);k=t+(e<<1)|0;if(r)bb(a,k,g<<1,80)|0;else bb(a,k,0-g|0,80)|0;u=(e|0)>0;a:do{if(u){c=0;while(1){q=f[a+(c<<1)>>1]|0;s=q<<16>>16;c=c+1|0;if(((q<<16>>16<0?0-s|0:s)|0)>16383){c=0;break}if((c|0)>=(e|0)){s=1;break a}}do{s=a+(c<<1)|0;f[s>>1]=f[s>>1]>>1;c=c+1|0}while((c|0)!=(e|0));c=0;do{s=t+(c<<1)|0;f[s>>1]=f[s>>1]>>1;c=c+1|0}while((c|0)<(d|0));s=0}else s=1}while(0);h=(hb(t,t,e)|0)+1e3|0;q=h>>>0>65535;d=q?h>>>16:h;q=q?8:0;l=d>>>0>255;d=l?d>>>8:d;q=l?q|4:q;l=d>>>0>15;q=(l?d>>>4:d)>>>0>3|(l?q|2:q);l=q<<1;l=((q&65535)<<16>>16>6?h>>l+-12:h<<12-l)<<16>>16;l=((W(((W((l*16816|0)+-827523072>>16,l)|0)>>>14<<16)+1387593728>>16,l)|0)>>>14<<16)+238157824>>16;q=13-q|0;q=(q|0)>0?l>>q:l<<0-q;l=(hb(k,k,e)|0)+1e3|0;h=l>>>0>65535;d=h?l>>>16:l;h=h?8:0;c=d>>>0>255;d=c?d>>>8:d;h=c?h|4:h;c=d>>>0>15;h=(c?d>>>4:d)>>>0>3|(c?h|2:h);c=h<<1;c=((h&65535)<<16>>16>6?l>>c+-12:l<<12-c)<<16>>16;c=((W(((W((c*16816|0)+-827523072>>16,c)|0)>>>14<<16)+1387593728>>16,c)|0)>>>14<<16)+238157824>>16;h=13-h|0;h=(h|0)>0?c>>h:c<<0-h;c=(hb(a,a,e)|0)+1|0;l=c>>>0>65535;d=l?c>>>16:c;l=l?8:0;g=d>>>0>255;d=g?d>>>8:d;l=g?l|4:l;g=d>>>0>15;l=(g?d>>>4:d)>>>0>3|(g?l|2:l);g=l<<1;g=((l&65535)<<16>>16>6?c>>g+-12:c<<12-g)<<16>>16;g=((W(((W((g*16816|0)+-827523072>>16,g)|0)>>>14<<16)+1387593728>>16,g)|0)>>>14<<16)+238157824>>16;l=13-l|0;c=hb(t,a,e)|0;c=(c|0)>0?c:0;k=hb(k,a,e)|0;k=(k|0)>0?k:0;l=((l|0)>0?g>>l:g<<0-l)<<16;g=l>>16;d=((g+32|0)>>>6)+1|0;q=((q<<16>>10|0)<(g|0)?d:q)<<16;p=q>>16;if((c|0)>(W(p,g)|0))o=16384;else o=((((((l>>17)+c|0)/(g|0)|0)<<14)+(q>>17)|0)/(p|0)|0)<<16>>16;n=((h<<16>>10|0)<(g|0)?d:h)<<16;m=n>>16;n=n>>17;if((k|0)>(W(m,g)|0))k=16384;else k=((((((l>>17)+k|0)/(g|0)|0)<<14)+n|0)/(m|0)|0)<<16>>16;h=l>>8;if(j<<16>>16>0){d=((j<<16>>16)*13107|0)>>>15;c=(((d<<16>>16)*28180|0)>>>14<<16)+1073741824>>16;d=d+2294&65535}else{c=0;d=0}l=32767-((W((W(o<<1,c)|0)>>16,o)|0)>>>13)|0;c=32767-((W((W(k<<1,c)|0)>>16,k)|0)>>>13)|0;o=d<<16>>16;j=o<<14;k=((l<<16>>16|0)<(o|0)?d:l&65535)<<16>>16;c=((c<<16>>16|0)<(o|0)?d:c&65535)<<16>>16;k=(W((((q>>17)+h|0)/(p|0)|0)<<16>>14,(((k>>1)+j|0)/(k|0)|0)<<16>>16)|0)>>16;c=(W(((n+h|0)/(m|0)|0)<<16>>14,(((c>>1)+j|0)/(c|0)|0)<<16>>16)|0)>>16;if(r){d=c*9830>>15;c=k*22938>>15}else{d=(c*19661|0)>>>15;c=(k*19661|0)>>>15}if(u){k=c<<16>>16;d=d<<16>>16;c=0;do{j=W(f[t+(c<<1)>>1]|0,k)|0;f[b+(c<<1)>>1]=((j+128+(W(f[t+(c+e<<1)>>1]|0,d)|0)|0)>>>8)+(i[a+(c<<1)>>1]|0);c=c+1|0}while((c|0)!=(e|0))}d=Ta(b,e)|0;c=Ta(a,e)|0;c=c<<16>>16>1?c:1;d=d<<16>>16>1?d:1;k=d&65535;if(u){d=((((((c&65535)>(d&65535)?d:c)&65535)<<14|k>>>1)>>>0)/(k>>>0)|0)<<16>>16;c=0;do{t=b+(c<<1)|0;f[t>>1]=(W(f[t>>1]|0,d)|0)>>>14;c=c+1|0}while((c|0)!=(e|0))}if(s|u^1)return;else c=0;do{t=a+(c<<1)|0;f[t>>1]=f[t>>1]<<1;c=c+1|0}while((c|0)!=(e|0));if(u)c=0;else return;do{a=b+(c<<1)|0;u=f[a>>1]|0;f[a>>1]=u<<16>>16>16383?32766:(u<<16>>16>-16383?u:-16383)<<16>>16<<1&65535;c=c+1|0}while((c|0)!=(e|0));return}function db(a,b,c,d,e,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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,A=0,B=0,C=0,D=0,E=0;C=(b|0)/2|0;p=C+1|0;o=p<<2;m=h+(0-h&3)+o|0;r=0-o|0;q=m+r|0;o=m+(0-m&3)+o|0;r=o+r|0;g[r>>2]=8192;g[q>>2]=8192;m=(b|0)>1;if(m){n=b+-1|0;h=q;i=r;j=q+4|0;k=r+4|0;l=0;while(1){A=f[a+(l<<1)>>1]|0;B=f[a+(n-l<<1)>>1]|0;g[k>>2]=B+A-(g[i>>2]|0);g[j>>2]=A-B+(g[h>>2]|0);l=l+1|0;if((l|0)>=(C|0))break;else{h=h+4|0;i=i+4|0;j=j+4|0;k=k+4|0}}if(m){h=q;i=r;j=0;while(1){g[i>>2]=(g[i>>2]|0)+2>>2;g[h>>2]=(g[h>>2]|0)+2>>2;j=j+1|0;if((j|0)>=(C|0))break;else{h=h+4|0;i=i+4|0}}}}z=r+(C<<2)|0;g[z>>2]=(g[z>>2]|0)+4>>3;z=q+(C<<2)|0;g[z>>2]=(g[z>>2]|0)+4>>3;z=p<<1;y=o+(o&1)+z|0;B=0-z|0;A=y+B|0;B=y+(y&1)+z+B|0;if((b|0)<-1){D=0;return D|0}else h=0;while(1){f[A+(h<<1)>>1]=g[r+(h<<2)>>2];f[B+(h<<1)>>1]=g[q+(h<<2)>>2];if((h|0)<(C|0))h=h+1|0;else break}if((b|0)<=0){D=0;return D|0}y=C+-1|0;z=(b|0)<4;w=e<<16>>16;x=(d|0)<0;v=d+1|0;h=0;n=16384;j=0;i=0;u=0;while(1){s=(u&1|0)==0?A:B;l=n<<16>>16<16383?n:16383;l=l<<16>>16>-16383?l:-16383;q=s+(C<<1)|0;r=s+(y<<1)|0;o=l<<16>>16;k=((W(f[r>>1]|0,o)|0)+8192>>14)+(f[q>>1]|0)|0;if(!z){m=16384;a=2;while(1){m=((W(l<<16>>16,o)|0)>>>13)-(m&65535)|0;k=((W(m<<16>>16,f[s+(C-a<<1)>>1]|0)|0)+8192>>14)+k|0;if((C|0)==(a|0))break;else{t=l;l=m&65535;a=a+1|0;m=t}}}t=c+(u<<1)|0;while(1){if(j<<16>>16<=-16385){k=n;break}m=n<<16>>16;j=(W(16384-((((W(m<<2,m)|0)>>16)*56e3|0)>>>16)<<16>>16,w)|0)>>>15;j=m-((k+511|0)>>>0<1023?((j<<16>>16)+1|0)>>>1:j)&65535;m=j<<16>>16<16383?j:16383;m=m<<16>>16>-16383?m:-16383;e=f[q>>1]|0;d=f[r>>1]|0;p=m<<16>>16;l=((W(d,p)|0)+8192>>14)+e|0;if(!z){a=16384;o=2;while(1){a=((W(m<<16>>16,p)|0)>>>13)-(a&65535)|0;l=((W(a<<16>>16,f[s+(C-o<<1)>>1]|0)|0)+8192>>14)+l|0;if((C|0)==(o|0))break;else{E=m;m=a&65535;o=o+1|0;a=E}}}if((k|0)==0|((l^k)&1879048192|0)!=0){D=17;break}else{k=l;n=j}}if((D|0)==17){D=0;h=h+1|0;a:do{if(!x){if(z){a=0;while(1){i=(((n<<16>>16)+1|0)>>>1)+(((j<<16>>16)+1|0)>>>1)&65535;l=i<<16>>16<16383?i:16383;l=((W(d,(l<<16>>16>-16383?l:-16383)<<16>>16)|0)+8192>>14)+e|0;m=(k|0)==0|((l^k)&1879048192|0)!=0;j=m?i:j;a=a+1|0;if((a|0)==(v|0))break a;else{k=m?k:l;n=m?n:i}}}else q=0;while(1){i=(((n<<16>>16)+1|0)>>>1)+(((j<<16>>16)+1|0)>>>1)&65535;m=i<<16>>16<16383?i:16383;m=m<<16>>16>-16383?m:-16383;o=m<<16>>16;p=((W(d,o)|0)+8192>>14)+e|0;l=16384;a=2;while(1){l=((W(m<<16>>16,o)|0)>>>13)-(l&65535)|0;p=((W(l<<16>>16,f[s+(C-a<<1)>>1]|0)|0)+8192>>14)+p|0;if((C|0)==(a|0))break;else{E=m;m=l&65535;a=a+1|0;l=E}}l=(k|0)==0|((p^k)&1879048192|0)!=0;j=l?i:j;q=q+1|0;if((q|0)==(v|0))break;else{k=l?k:p;n=l?n:i}}}}while(0);E=i<<16>>16<0;e=16384-((E?0-(i&65535)&65535:i)&65535)<<16>>17;e=(W(e<<3,((W((e*11888|0)+146931712>>16,e)|0)>>>13<<16)+1079312384>>16)|0)>>16;d=e<<13;k=d>>>0>65535;e=k?e>>>3&65535:d;k=k?8:0;s=e>>>0>255;e=s?e>>>8:e;k=s?k|4:k;s=e>>>0>15;k=(s?e>>>4:e)>>>0>3|(s?k|2:k);s=k<<1;s=((k&65535)<<16>>16>6?d>>s+-12:d<<12-s)<<16>>16;s=((W(((W((s*16816|0)+-827523072>>16,s)|0)>>>14<<16)+1387593728>>16,s)|0)>>>14<<16)+238157824>>16;k=13-k|0;k=(k|0)>0?s>>k:s<<0-k;f[t>>1]=E?25736-k|0:k;k=i}u=u+1|0;if((u|0)==(b|0))break;else n=k}return h|0}function eb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=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;x=c>>1;l=x+1|0;k=l<<2;u=d+(0-d&3)+k|0;w=0-k|0;v=u+w|0;e=c+3|0;i=W(e<<2,l)|0;u=u+(0-u&3)+i|0;j=0-i|0;h=u+j|0;k=u+(0-u&3)+k|0;w=k+w|0;i=k+(0-k&3)+i|0;j=i+j|0;k=(x|0)<0;if(!k){d=0;do{u=W(d,e)|0;g[v+(d<<2)>>2]=h+(u<<2);g[w+(d<<2)>>2]=j+(u<<2);d=d+1|0}while((d|0)!=(l|0))}u=c<<1;u=i+(i&1)+u+(0-u)|0;if((c|0)>0){e=0;do{t=f[a+(e<<1)>>1]|0;d=t<<16>>16;if(t<<16>>16<12868){d=(W(d<<3,d)|0)+32768>>16;d=((W((((W((((W(d,-10)|0)+4096|0)>>>13<<16)+22282240>>16,d)|0)+4096|0)>>>13<<16)+-268435456>>16,d)|0)+4096>>13)+8192|0}else{d=25736-d<<16;d=(W(d>>13,d>>16)|0)+32768>>16;d=-8192-(((W((((W((((W(d,-10)|0)+4096|0)>>>13<<16)+22282240>>16,d)|0)+4096|0)>>>13<<16)+-268435456>>16,d)|0)+4096|0)>>>13)|0}f[u+(e<<1)>>1]=d<<2;e=e+1|0}while((e|0)!=(c|0))}if(!k){d=0;do{s=g[v+(d<<2)>>2]|0;g[s+4>>2]=0;g[s+8>>2]=1048576;t=(d<<1)+2|0;g[s+(t<<2)>>2]=1048576;s=g[w+(d<<2)>>2]|0;g[s+4>>2]=0;g[s+8>>2]=1048576;g[s+(t<<2)>>2]=1048576;d=d+1|0}while((d|0)!=(l|0))}t=f[u>>1]|0;d=g[(g[v>>2]|0)+8>>2]|0;t=0-((W(d<<2>>16,t)|0)+((W(d&16383,t)|0)>>14))|0;d=g[v+4>>2]|0;g[d+12>>2]=t;t=f[u+2>>1]|0;s=g[(g[w>>2]|0)+8>>2]|0;t=0-((W(s<<2>>16,t)|0)+((W(s&16383,t)|0)>>14))|0;g[(g[w+4>>2]|0)+12>>2]=t;if((x|0)>1){t=1;n=g[w+4>>2]|0;q=4;r=5;s=3;while(1){j=t;t=t+1|0;h=t<<1;j=j<<1;i=f[u+(j<<1)>>1]|0;k=d;d=g[v+(t<<2)>>2]|0;o=n;n=g[w+(t<<2)>>2]|0;j=f[u+((j|1)<<1)>>1]|0;m=g[k+8>>2]|0;m=(W(m<<2>>16,i)|0)+((W(m&16383,i)|0)>>14)|0;e=1;a=3;l=g[k+4>>2]|0;p=2;while(1){g[d+(a<<2)>>2]=l-m+(g[k+(a<<2)>>2]|0);z=g[o+(p<<2)>>2]|0;y=W(z<<2>>16,j)|0;z=(W(z&16383,j)|0)>>14;g[n+(a<<2)>>2]=(g[o+(e<<2)>>2]|0)+(g[o+(a<<2)>>2]|0)-z-y;e=p+1|0;a=g[k+(e<<2)>>2]|0;m=(W(a<<2>>16,i)|0)+((W(a&16383,i)|0)>>14)|0;l=g[k+(p<<2)>>2]|0;if((p|0)==(s|0))break;else{z=p;a=p+2|0;p=e;e=z}}g[d+(r<<2)>>2]=l-m;y=g[o+(q<<2)>>2]|0;z=W(y<<2>>16,j)|0;y=(W(y&16383,j)|0)>>14;g[n+(r<<2)>>2]=(g[o+(h+-1<<2)>>2]|0)-y-z;if((t|0)==(x|0))break;else{q=q+2|0;r=r+2|0;s=s+2|0}}}if((c|0)<1)return;j=g[v+(x<<2)>>2]|0;i=g[w+(x<<2)>>2]|0;d=0;e=0;h=1;while(1){x=h+2|0;z=d;d=g[j+(x<<2)>>2]|0;y=e;e=g[i+(x<<2)>>2]|0;z=128-y+z+d+e>>8;z=(z|0)>-32767?z:-32767;f[b+(h+-1<<1)>>1]=(z|0)<32767?z:32767;if((h|0)==(c|0))break;else h=h+1|0}return}function fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=c<<16>>16;d=25736-j|0;if((f[a>>1]|0)<c<<16>>16)f[a>>1]=c;i=b+-1|0;b=a+(i<<1)|0;if((f[b>>1]|0)>(d<<16>>16|0))f[b>>1]=d;if((i|0)<=1)return;g=1;h=f[a+2>>1]|0;b=f[a>>1]|0;do{e=a+(g<<1)|0;b=(b<<16>>16)+j|0;if((h<<16>>16|0)<(b|0)){b=b&65535;f[e>>1]=b}else b=h;c=b<<16>>16;g=g+1|0;h=f[a+(g<<1)>>1]|0;d=(h<<16>>16)-j|0;if((c|0)>(d|0)){b=(d>>>1)+(c>>>1)&65535;f[e>>1]=b}}while((g|0)!=(i|0));return}function gb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;g=(((e<<14)+16384|0)/(g<<16>>16|0)|0)<<16>>16;if((d|0)<=0)return;h=16384-g<<16>>16;e=0;do{i=((W(f[a+(e<<1)>>1]|0,h)|0)+8192|0)>>>14;f[c+(e<<1)>>1]=(((W(f[b+(e<<1)>>1]|0,g)|0)+8192|0)>>>14)+i;e=e+1|0}while((e|0)!=(d|0));return}function hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=c>>2;if(!d){b=0;return b|0}else c=0;while(1){d=d+-1|0;e=W(f[b>>1]|0,f[a>>1]|0)|0;e=(W(f[b+2>>1]|0,f[a+2>>1]|0)|0)+e|0;e=e+(W(f[b+4>>1]|0,f[a+4>>1]|0)|0)|0;c=(e+(W(f[b+6>>1]|0,f[a+6>>1]|0)|0)>>6)+c|0;if(!d)break;else{b=b+8|0;a=a+8|0}}return c|0}function ib(a,b,c,d,e,h,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;h=h|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,A=0,B=0,C=0,D=0,E=0;v=c-b|0;x=v+1|0;o=x<<1;r=k+(k&1)+o|0;E=0-o|0;D=r+E|0;o=r+(r&1)+o|0;E=o+E|0;o=o+(0-o&3)|0;r=x<<2;z=o+r|0;u=z+(0-r)|0;C=j<<2;z=z+(0-z&3)+C|0;B=0-C|0;A=z+B|0;B=z+(0-z&3)+C+B|0;C=(j|0)>0;if(C){k=0;do{g[A+(k<<2)>>2]=-1;g[B+(k<<2)>>2]=0;g[e+(k<<2)>>2]=b;k=k+1|0}while((k|0)!=(j|0))}k=0-c|0;w=(k|0)<(d|0);a:do{if(w){l=k;while(1){y=f[a+(l<<1)>>1]|0;z=y<<16>>16;l=l+1|0;if(((y<<16>>16<0?0-z|0:z)|0)>16383){l=k;break}if((l|0)>=(d|0)){t=0;break a}}do{z=a+(l<<1)|0;f[z>>1]=f[z>>1]>>1;l=l+1|0}while((l|0)!=(d|0));t=1}else t=0}while(0);s=d>>2;p=(s|0)==0;if(p){g[u>>2]=0;z=0}else{l=0;m=s;n=a+(0-b<<1)|0;while(1){m=m+-1|0;z=f[n>>1]|0;z=W(z,z)|0;y=f[n+2>>1]|0;z=(W(y,y)|0)+z|0;y=f[n+4>>1]|0;y=z+(W(y,y)|0)|0;z=f[n+6>>1]|0;l=((y+(W(z,z)|0)|0)>>>6)+l|0;if(!m)break;else n=n+8|0}g[u>>2]=l;l=0;m=s;n=a;while(1){m=m+-1|0;z=f[n>>1]|0;z=W(z,z)|0;y=f[n+2>>1]|0;z=(W(y,y)|0)+z|0;y=f[n+4>>1]|0;y=z+(W(y,y)|0)|0;z=f[n+6>>1]|0;l=((y+(W(z,z)|0)|0)>>>6)+l|0;if(!m){z=l;break}else n=n+8|0}}if((c|0)>(b|0)){n=d+-1|0;m=b;l=g[o>>2]|0;do{q=f[a+(~m<<1)>>1]|0;q=((W(q,q)|0)>>>6)+l|0;y=f[a+(n-m<<1)>>1]|0;y=q-((W(y,y)|0)>>>6)|0;l=(y|0)>0?y:0;g[u+(m-b+1<<2)>>2]=l;m=m+1|0}while((m|0)!=(c|0))}y=Ua(u,E,32766,x)|0;q=a+(k<<1)|0;do{if((v|0)>-1){if(p){Md(u|0,0,r|0)|0;break}else l=0;do{m=0;n=s;o=q+(l<<1)|0;p=a;while(1){n=n+-1|0;r=W(f[o>>1]|0,f[p>>1]|0)|0;r=(W(f[o+2>>1]|0,f[p+2>>1]|0)|0)+r|0;r=r+(W(f[o+4>>1]|0,f[p+4>>1]|0)|0)|0;m=(r+(W(f[o+6>>1]|0,f[p+6>>1]|0)|0)>>6)+m|0;if(!n)break;else{o=o+8|0;p=p+8|0}}g[u+(v-l<<2)>>2]=m;l=l+1|0}while((l|0)!=(x|0))}}while(0);v=Ua(u,D,180,x)|0;if(t&w)do{x=a+(k<<1)|0;f[x>>1]=f[x>>1]<<1;k=k+1|0}while((k|0)!=(d|0));a:do{if((c|0)>=(b|0)){p=j+-1|0;s=B+(p<<2)|0;t=A+(p<<2)|0;u=e+(p<<2)|0;if((j|0)>1)o=b;else{k=b;while(1){m=k-b|0;l=f[D+(m<<1)>>1]|0;l=(W(l<<16,l)|0)>>16;B=W(l,g[s>>2]<<16>>16)|0;m=E+(m<<1)|0;if((B|0)>(W((i[m>>1]<<16)+65536>>16,g[t>>2]<<16>>16)|0)){g[t>>2]=l;g[s>>2]=(f[m>>1]|0)+1;g[u>>2]=k}if((k|0)<(c|0))k=k+1|0;else break a}}while(1){r=o-b|0;q=f[D+(r<<1)>>1]|0;q=(W(q<<16,q)|0)>>16;d=W(q,g[s>>2]<<16>>16)|0;r=E+(r<<1)|0;b:do{if((d|0)>(W((i[r>>1]<<16)+65536>>16,g[t>>2]<<16>>16)|0)){g[t>>2]=q;l=(f[r>>1]|0)+1|0;g[s>>2]=l;g[u>>2]=o;l=l<<16>>16;k=0;while(1){m=B+(k<<2)|0;d=W(g[m>>2]<<16>>16,q)|0;n=A+(k<<2)|0;if((d|0)>(W(g[n>>2]<<16>>16,l)|0))break;k=k+1|0;if((k|0)>=(p|0))break b}if((p|0)>(k|0)){l=p;do{d=l;l=l+-1|0;g[A+(d<<2)>>2]=g[A+(l<<2)>>2];g[B+(d<<2)>>2]=g[B+(l<<2)>>2];g[e+(d<<2)>>2]=g[e+(l<<2)>>2]}while((l|0)>(k|0))}g[n>>2]=q;g[m>>2]=(f[r>>1]|0)+1;g[e+(k<<2)>>2]=o}}while(0);if((o|0)<(c|0))o=o+1|0;else break}}}while(0);if(!((h|0)!=0&C))return;l=z>>>0>65535;c=l?z>>>16:z;l=l?8:0;k=c>>>0>255;c=k?c>>>8:c;l=k?l|4:l;k=c>>>0>15;l=(k?c>>>4:c)>>>0>3|(k?l|2:l);k=l<<1;k=((l&65535)<<16>>16>6?z>>k+-12:z<<12-k)<<16>>16;k=((W(((W((k*16816|0)+-827523072>>16,k)|0)>>>14<<16)+1387593728>>16,k)|0)>>>14<<16)+238157824>>16;l=13-l|0;l=((l|0)>0?k>>l:k<<0-l)<<16>>16;k=0;do{B=(g[e+(k<<2)>>2]|0)-b|0;A=f[E+(B<<1)>>1]<<y;c=A>>>0>65535;z=c?A>>>16:A;c=c?8:0;C=z>>>0>255;z=C?z>>>8:z;c=C?c|4:c;C=z>>>0>15;c=(C?z>>>4:z)>>>0>3|(C?c|2:c);C=c<<1;C=((c&65535)<<16>>16>6?A>>C+-12:A<<12-C)<<16>>16;C=((W(((W((C*16816|0)+-827523072>>16,C)|0)>>>14<<16)+1387593728>>16,C)|0)>>>14<<16)+238157824>>16;c=13-c|0;c=(f[D+(B<<1)>>1]<<v|0)/(((W(((c|0)>0?C>>c:C<<0-c)<<16>>16,l)|0)>>6)+10|0)|0;f[h+(k<<1)>>1]=c&32768|0?0:c&65535;k=k+1|0}while((k|0)!=(j|0));return}function jb(a,b,c,d,h,j,k,l,m,n,o,q,r,s,t,u,v,w,x,y){a=a|0;b=b|0;c=c|0;d=d|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;var z=0,A=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,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,va=0,wa=0,xa=0,ya=0,za=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,Xa=0,Ya=0,Za=0,$a=0;Ya=p;p=p+112|0;Ma=Ya+72|0;Na=Ya+36|0;Oa=Ya+102|0;Pa=Ya;Qa=Ya+84|0;Xa=k+4|0;z=g[Xa>>2]|0;Ra=1<<z;La=(g[k>>2]|0)+(w<<2<<z)|0;v=(v|0)<10?v:10;v=(v|0)>1?v:1;Ka=v<<2;s=s+(0-s&3)+Ka|0;Ka=s+(0-Ka)|0;if((m|0)<(l|0)){Kb(r,0,g[k+8>>2]|0);Kb(r,0,g[Xa>>2]|0);Md(j|0,0,q<<2|0)|0;q=l;p=Ya;return q|0}Sa=(q|0)>0;a:do{if(Sa){n=0;while(1){Ia=f[a+(n<<1)>>1]|0;Ja=Ia<<16>>16;n=n+1|0;if(((Ia<<16>>16<0?0-Ja|0:Ja)|0)>16383){w=1;break a}if((n|0)>=(q|0)){w=0;break}}}else w=0}while(0);n=0-m|0;a:do{if((n|0)<(q|0))while(1){Ia=f[t+(n<<1)>>1]|0;Ja=Ia<<16>>16;n=n+1|0;if(((Ia<<16>>16<0?0-Ja|0:Ja)|0)>16383){Ja=1;break a}if((n|0)>=(q|0)){Ja=w;break}}else Ja=w}while(0);Ea=m-l+1|0;Ea=(v|0)>(Ea|0)?Ea:v;if((m|0)==(l|0))g[Ka>>2]=m;else ib(b,l,m,q,Ka,0,Ea,s);Ia=q<<2;n=s+(0-s&3)+Ia|0;Fa=n+(0-Ia)|0;Ga=q<<1;n=n+(n&1)+Ga|0;w=0-Ga|0;Da=n+w|0;n=n+(n&1)+Ga|0;Ha=n+w|0;if((Ea|0)>0){Ca=q*6|0;ga=n+(n&1)+Ca|0;Ca=ga+(0-Ca)|0;ga=ga+(ga&1)+Ga|0;ba=ga+w|0;ca=Ca+(q<<1)|0;da=Ma+4|0;ea=Ca+(Ga<<1)|0;fa=Ma+8|0;ga=ga+(0-ga&3)|0;ha=o<<2;ia=ga+ha|0;ja=ia+(0-ha)|0;ka=(Ja|0)!=0;Ba=Sa&ka;la=(o|0)>0;ma=q>>2;na=(ma|0)==0;oa=Pa+4|0;pa=Pa+8|0;qa=Na+20|0;ra=Pa+12|0;sa=Na+4|0;ta=Pa+16|0;ua=Na+8|0;va=Pa+20|0;wa=Na+32|0;xa=Pa+24|0;ya=Na+16|0;za=Pa+28|0;Aa=Pa+32|0;aa=(x|0)>2?x:2;aa=(W((aa|0)<30?aa:30,42926080)|0)>>>16;O=(z|0)==31;P=Oa+2|0;Q=Oa+4|0;R=Qa+2|0;S=Qa+4|0;T=Qa+6|0;U=Qa+8|0;V=Qa+10|0;X=Qa+12|0;Y=Qa+14|0;Z=Qa+16|0;$=q+-1|0;_=(q|0)>1;M=-1;v=0;w=0;N=0;while(1){n=g[Ka+(N<<2)>>2]|0;Md(j|0,0,Ia|0)|0;L=(g[y>>2]|0)>262144;g[Ma>>2]=Ca;g[da>>2]=ca;g[fa>>2]=ea;if(Sa){s=0;do{f[Da+(s<<1)>>1]=f[a+(s<<1)>>1]|0;s=s+1|0}while((s|0)!=(q|0));m=1-n|0;b=0;do{s=b+m|0;if((s|0)>=0){s=s-n|0;if((s|0)<0)Ta=19;else s=0}else Ta=19;if((Ta|0)==19){Ta=0;s=f[t+(s<<1)>>1]|0}f[ba+(b<<1)>>1]=s;b=b+1|0}while((b|0)!=(q|0));if(Ba){s=0;do{K=ba+(s<<1)|0;f[K>>1]=f[K>>1]>>1;s=s+1|0}while((s|0)!=(q|0));s=0;do{K=Da+(s<<1)|0;f[K>>1]=f[K>>1]>>1;s=s+1|0}while((s|0)!=(q|0));b=1}else b=ka}else b=ka;if(la){Md(ga|0,0,ha|0)|0;Wa(ba,c,ba,q,o,ja,ia);Md(ga|0,0,ha|0)|0}else Wa(ba,c,ba,q,o,ja,ia);Va(ba,d,h,ba,q,o,ja,ia);if(Sa){s=0;do{f[ea+(s<<1)>>1]=f[ba+(s<<1)>>1]|0;s=s+1|0}while((s|0)!=(q|0));s=~n;b=b&1;if(_){x=f[t+(0-n<<1)>>1]>>b<<16>>16;f[ca>>1]=(W(f[u>>1]|0,x)|0)>>>14;m=0;do{K=m;m=m+1|0;f[ca+(m<<1)>>1]=(((W(f[u+(m<<1)>>1]|0,x)|0)+8192|0)>>>14)+(i[ea+(K<<1)>>1]|0)}while((m|0)!=($|0));b=f[t+(s<<1)>>1]>>b<<16>>16;f[Ca>>1]=(W(f[u>>1]|0,b)|0)>>>14;s=0;do{K=s;s=s+1|0;f[Ca+(s<<1)>>1]=(((W(f[u+(s<<1)>>1]|0,b)|0)+8192|0)>>>14)+(i[ca+(K<<1)>>1]|0)}while((s|0)!=($|0))}else Ta=30}else{b=b&1;s=~n;Ta=30}if((Ta|0)==30){Ta=0;f[ca>>1]=(W(f[u>>1]|0,f[t+(0-n<<1)>>1]>>b<<16>>16)|0)>>>14;f[Ca>>1]=(W(f[u>>1]|0,f[t+(s<<1)>>1]>>b<<16>>16)|0)>>>14}if(na){s=Na;b=s+36|0;do{g[s>>2]=0;s=s+4|0}while((s|0)<(b|0));D=0;C=0;s=0;b=0;m=0;x=0;z=0;A=0;B=0}else{A=0;s=ma;b=Da;m=Ca;while(1){s=s+-1|0;K=W(f[b>>1]|0,f[m>>1]|0)|0;K=(W(f[b+2>>1]|0,f[m+2>>1]|0)|0)+K|0;K=K+(W(f[b+4>>1]|0,f[m+4>>1]|0)|0)|0;A=(K+(W(f[b+6>>1]|0,f[m+6>>1]|0)|0)>>6)+A|0;if(!s){C=0;s=ma;b=Da;m=ca;break}else{b=b+8|0;m=m+8|0}}while(1){s=s+-1|0;K=W(f[b>>1]|0,f[m>>1]|0)|0;K=(W(f[b+2>>1]|0,f[m+2>>1]|0)|0)+K|0;K=K+(W(f[b+4>>1]|0,f[m+4>>1]|0)|0)|0;C=(K+(W(f[b+6>>1]|0,f[m+6>>1]|0)|0)>>6)+C|0;if(!s){D=0;s=ma;b=Da;m=ea;break}else{b=b+8|0;m=m+8|0}}while(1){s=s+-1|0;K=W(f[b>>1]|0,f[m>>1]|0)|0;K=(W(f[b+2>>1]|0,f[m+2>>1]|0)|0)+K|0;K=K+(W(f[b+4>>1]|0,f[m+4>>1]|0)|0)|0;D=(K+(W(f[b+6>>1]|0,f[m+6>>1]|0)|0)>>6)+D|0;if(!s){s=0;b=ma;m=Ca;break}else{b=b+8|0;m=m+8|0}}while(1){b=b+-1|0;K=f[m>>1]|0;K=W(K,K)|0;J=f[m+2>>1]|0;K=(W(J,J)|0)+K|0;J=f[m+4>>1]|0;J=K+(W(J,J)|0)|0;K=f[m+6>>1]|0;s=((J+(W(K,K)|0)|0)>>>6)+s|0;if(!b)break;else m=m+8|0}g[Na>>2]=s;z=0;s=Ca;while(1){m=0;x=ma;b=ca;while(1){x=x+-1|0;K=W(f[s>>1]|0,f[b>>1]|0)|0;K=(W(f[s+2>>1]|0,f[b+2>>1]|0)|0)+K|0;K=K+(W(f[s+4>>1]|0,f[b+4>>1]|0)|0)|0;m=(K+(W(f[s+6>>1]|0,f[b+6>>1]|0)|0)>>6)+m|0;if(!x)break;else{s=s+8|0;b=b+8|0}}g[Na+(z*12|0)+4>>2]=m;g[Na+12+(z<<2)>>2]=m;s=z+1|0;if((s|0)==2){z=0;s=Ca;break}z=s;s=g[Ma+(s<<2)>>2]|0}while(1){m=0;x=ma;b=ea;while(1){x=x+-1|0;K=W(f[s>>1]|0,f[b>>1]|0)|0;K=(W(f[s+2>>1]|0,f[b+2>>1]|0)|0)+K|0;K=K+(W(f[s+4>>1]|0,f[b+4>>1]|0)|0)|0;m=(K+(W(f[s+6>>1]|0,f[b+6>>1]|0)|0)>>6)+m|0;if(!x)break;else{s=s+8|0;b=b+8|0}}g[Na+(z*12|0)+8>>2]=m;g[Na+24+(z<<2)>>2]=m;s=z+1|0;if((s|0)==3)break;z=s;s=g[Ma+(s<<2)>>2]|0}s=A;b=g[qa>>2]|0;m=g[sa>>2]|0;x=g[ua>>2]|0;z=g[wa>>2]|0;A=g[ya>>2]|0;B=g[Na>>2]|0}g[Pa>>2]=D<<1;g[oa>>2]=C<<1;g[pa>>2]=s<<1;g[ra>>2]=b<<1;g[ta>>2]=m<<1;g[va>>2]=x<<1;g[xa>>2]=((W(z&32767,aa)|0)>>>15)+z+(W(z<<1>>16,aa)|0);g[za>>2]=((W(A&32767,aa)|0)>>>15)+A+(W(A<<1>>16,aa)|0);g[Aa>>2]=((W(B&32767,aa)|0)>>>15)+B+(W(B<<1>>16,aa)|0);Ua(Pa,Qa,32767,9)|0;if(O)F=0;else{C=f[Qa>>1]|0;D=f[R>>1]|0;E=f[S>>1]|0;F=f[T>>1]|0;G=f[U>>1]|0;H=f[V>>1]|0;I=f[X>>1]|0;J=f[Y>>1]|0;K=f[Z>>1]|0;x=L?31:128;s=0;b=-2147483647;m=0;while(1){B=La+(m<<2)|0;$a=(e[B>>0]|0)+32|0;A=(e[B+1>>0]|0)+32|0;z=(e[B+2>>0]|0)+32|0;Za=$a<<16;L=A<<16;z=((W(A,D)|0)+(W($a,C)|0)+(W(z,E)|0)<<6)-((W((W(Za,$a)|0)>>16,I)|0)+(W((W(Za,A)|0)>>16,F)|0)+(W((W(L,z)|0)>>16,G)|0)+(W((W(z,Za)|0)>>16,H)|0)+(W((W(L,A)|0)>>16,J)|0)+(W((W(z<<16,z)|0)>>16,K)|0))|0;A=(z|0)>(b|0);B=(e[B+3>>0]|0)>(x|0);s=A?B?s:m:s;m=m+1|0;if((m|0)==(Ra|0)){F=s;break}else b=A?B?b:z:b}}E=F<<2;C=(e[La+E>>0]|0)+32|0;f[Oa>>1]=C;D=(e[La+(E|1)>>0]|0)+32|0;f[P>>1]=D;E=(e[La+(E|2)>>0]|0)+32|0;f[Q>>1]=E;Md(j|0,0,Ia|0)|0;B=n+1|0;A=0;do{b=B-A|0;z=(b|0)<(q|0)?b:q;if((z|0)>0){m=i[Oa+(2-A<<1)>>1]<<23>>16;s=0;do{$a=j+(s<<2)|0;g[$a>>2]=(W(f[t+(s-b<<1)>>1]|0,m)|0)+(g[$a>>2]|0);s=s+1|0}while((s|0)<(z|0))}m=b+n|0;b=(m|0)<(q|0)?m:q;if((z|0)<(b|0)){
x=i[Oa+(2-A<<1)>>1]<<23>>16;s=z;do{$a=j+(s<<2)|0;g[$a>>2]=(W(f[t+(s-m<<1)>>1]|0,x)|0)+(g[$a>>2]|0);s=s+1|0}while((s|0)<(b|0))}A=A+1|0}while((A|0)!=3);if(Sa){s=0;do{K=W(f[ea+(s<<1)>>1]|0,C)|0;L=W(f[ca+(s<<1)>>1]|0,D)|0;Za=W(f[Ca+(s<<1)>>1]|0,E)|0;$a=Da+(s<<1)|0;f[$a>>1]=(i[$a>>1]|0)-((K+32+L+Za|0)>>>6);s=s+1|0}while((s|0)!=(q|0))}if(na)s=0;else{s=0;b=ma;m=Da;while(1){b=b+-1|0;$a=f[m>>1]|0;$a=W($a,$a)|0;Za=f[m+2>>1]|0;$a=(W(Za,Za)|0)+$a|0;Za=f[m+4>>1]|0;Za=$a+(W(Za,Za)|0)|0;$a=f[m+6>>1]|0;s=((Za+(W($a,$a)|0)|0)>>>6)+s|0;if(!b)break;else m=m+8|0}}if((M|0)<0|(s|0)<(M|0)){Td(Fa|0,j|0,Ia|0)|0;Td(Ha|0,Da|0,Ga|0)|0;v=n;w=F}else s=M;N=N+1|0;if((N|0)>=(Ea|0))break;else M=s}}else{n=0;v=0;w=0}Kb(r,v-l|0,g[k+8>>2]|0);Kb(r,w,g[Xa>>2]|0);k=e[(g[k>>2]|0)+(w<<2|3)>>0]<<8;Za=g[y>>2]|0;l=(Za|0)<1024;$a=W(k,l?0:Za>>>13<<16>>16)|0;g[y>>2]=((W(k,l?1024:Za&8191)|0)>>13)+$a;Td(j|0,Fa|0,Ia|0)|0;Td(a|0,Ha|0,Ga|0)|0;if((Ja|0)!=0&Sa)w=0;else{$a=n;p=Ya;return $a|0}do{$a=a+(w<<1)|0;f[$a>>1]=f[$a>>1]<<1;w=w+1|0}while((w|0)!=(q|0));p=Ya;return n|0}function kb(a,b,c,d,h,i,j,k,l,m,n,o,p,q,r){a=a|0;b=b|0;c=c|0;d=d|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0;d=i+4|0;s=(g[i>>2]|0)+(W(4<<g[d>>2],r)|0)|0;v=(Lb(m,g[i+8>>2]|0)|0)+c|0;i=(Lb(m,g[d>>2]|0)|0)<<2;d=(e[s+i>>0]|0)+32|0;n=d&65535;h=e[s+(i|1)>>0]|0;m=h+32|0;r=m&65535;i=e[s+(i|2)>>0]|0;s=(i<<24>>24)+32|0;c=s&65535;if((o|0)!=0&(v|0)>(p|0)?(t=q<<16>>16>>((o|0)>3&1),t=(t|0)<62?t:62,u=(r<<16>>16<0?-32-h|0:m)+(i<<24>>24>-32?s:0-(s>>>1)|0)+(n<<16>>16>0?d:0-(d>>>1)|0)<<16>>16,(u|0)>(t|0)):0){c=((t<<14|0)/(u|0)|0)<<16>>16;n=(W(d,c)|0)>>>14&65535;r=(W(m,c)|0)>>>14&65535;c=(W(s,c)|0)>>>14&65535}g[k>>2]=v;f[l>>1]=n;f[l+2>>1]=r;f[l+4>>1]=c;t=n<<16>>16;s=t<<23;m=r<<16>>16;i=m<<23;h=c<<16>>16;Md(b|0,0,j<<2|0)|0;c=v+1|0;n=(c|0)<(j|0)?c:j;if((n|0)>0){d=h<<23>>16;r=0;do{l=b+(r<<2)|0;g[l>>2]=(W(f[a+(r-c<<1)>>1]|0,d)|0)+(g[l>>2]|0);r=r+1|0}while((r|0)<(n|0))}d=c+v|0;c=(d|0)<(j|0)?d:j;if((n|0)<(c|0)){r=h<<23>>16;do{l=b+(n<<2)|0;g[l>>2]=(W(f[a+(n-d<<1)>>1]|0,r)|0)+(g[l>>2]|0);n=n+1|0}while((n|0)<(c|0))}h=(v|0)<(j|0)?v:j;if((h|0)>0){r=i>>16;n=0;do{l=b+(n<<2)|0;g[l>>2]=(W(f[a+(n-v<<1)>>1]|0,r)|0)+(g[l>>2]|0);n=n+1|0}while((n|0)<(h|0))}d=v<<1;c=(d|0)<(j|0)?d:j;if((h|0)<(c|0)){r=m<<23>>16;n=h;do{l=b+(n<<2)|0;g[l>>2]=(W(f[a+(n-d<<1)>>1]|0,r)|0)+(g[l>>2]|0);n=n+1|0}while((n|0)<(c|0))}d=v+-1|0;n=(d|0)<(j|0)?d:j;if((n|0)>0){c=s>>16;r=0;do{l=b+(r<<2)|0;g[l>>2]=(W(f[a+(r-d<<1)>>1]|0,c)|0)+(g[l>>2]|0);r=r+1|0}while((r|0)<(n|0))}d=d+v|0;c=(d|0)<(j|0)?d:j;if((n|0)>=(c|0))return;r=t<<23>>16;do{j=b+(n<<2)|0;g[j>>2]=(W(f[a+(n-d<<1)>>1]|0,r)|0)+(g[j>>2]|0);n=n+1|0}while((n|0)<(c|0));return}function lb(a,b,c,d,e,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;t=n<<1;s=p+(p&1)+t|0;t=s+(0-t)|0;p=l<<16>>16<63?l:63;r=(n|0)>0;if(r&(j|0)>0){o=(p&65535)<<23>>16;b=0;do{g[h+(b<<2)>>2]=W(f[q+(b-j<<1)>>1]|0,o)|0;b=b+1|0}while((b|0)<(n|0)&(b|0)<(j|0))}else b=0;if((b|0)<(n|0)){o=(p&65535)<<25>>16;do{q=g[h+(b-j<<2)>>2]|0;g[h+(b<<2)>>2]=(W(q<<1>>16,o)|0)+((W(q&32767,o)|0)>>15);b=b+1|0}while((b|0)!=(n|0))}if(r)b=0;else{Ya(t,c,d,e,t,n,m,s);return j|0}do{f[t+(b<<1)>>1]=((g[h+(b<<2)>>2]|0)+4096|0)>>>13;b=b+1|0}while((b|0)!=(n|0));Ya(t,c,d,e,t,n,m,s);if(r)b=0;else return j|0;do{h=a+(b<<1)|0;e=(f[h>>1]|0)-(f[t+(b<<1)>>1]|0)|0;f[h>>1]=(e|0)>32700?32700:((e|0)>-32700?e:-32700)&65535;b=b+1|0}while((b|0)!=(n|0));return j|0}function mb(a,b,c,d,e,h,i,j,k,l,m,n,o,p,q){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;m=e<<16>>16<63?e:63;if((i|0)>0){o=(m&65535)<<23>>16;n=0;do{l=W(f[a+(n-c<<1)>>1]|0,o)|0;g[b+(n<<2)>>2]=l;f[a+(n<<1)>>1]=(l+4096|0)>>>13;n=n+1|0}while((n|0)!=(i|0))}g[j>>2]=c;f[k+4>>1]=0;f[k>>1]=0;f[k+2>>1]=m;return}function nb(a){a=a|0;return ve[g[a+20>>2]&7](a)|0}function ob(a){a=a|0;return ve[g[a+32>>2]&7](a)|0}function pb(a){a=a|0;te[g[(g[a>>2]|0)+24>>2]&7](a);return}function qb(a){a=a|0;te[g[(g[a>>2]|0)+36>>2]&7](a);return}function rb(a,b,c){a=a|0;b=b|0;c=c|0;return qe[g[(g[a>>2]|0)+28>>2]&15](a,b,c)|0}function sb(a,b,c){a=a|0;b=b|0;c=c|0;return qe[g[(g[a>>2]|0)+40>>2]&15](a,b,c)|0}function tb(a,b,c){a=a|0;b=b|0;c=c|0;return qe[g[(g[a>>2]|0)+44>>2]&15](a,b,c)|0}function ub(a,b,c){a=a|0;b=b|0;c=c|0;return qe[g[(g[a>>2]|0)+28>>2]&15](a,b,c)|0}function vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,h=0;h=p;p=p+1296|0;d=h;e=h+8|0;qe[g[(g[a>>2]|0)+48>>2]&15](a,3,d)|0;b=qe[g[(g[a>>2]|0)+40>>2]&15](a,b,e)|0;d=g[d>>2]|0;if((d|0)>0)a=0;else{p=h;return b|0}do{k[c+(a<<2)>>2]=+(f[e+(a<<1)>>1]|0);a=a+1|0}while((a|0)<(d|0));p=h;return b|0}function wb(a,b,c){a=a|0;b=b|0;c=c|0;return qe[g[(g[a>>2]|0)+48>>2]&15](a,b,c)|0}function xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=p;p=p+16|0;d=e;switch(b|0){case 0:{b=g[a>>2]|0;break}case 1:{b=g[c>>2]|0;if(b){b=g[a+28+(b<<2)>>2]|0;if(!b)b=-1;else b=g[b+52>>2]|0}else b=5;break}default:{a=g[517]|0;g[d>>2]=7280;g[d+4>>2]=b;sd(a,12799,d)|0;a=-1;p=e;return a|0}}g[c>>2]=b;a=0;p=e;return a|0}function yb(a){a=a|0;k[a+4>>2]=0;k[a+8>>2]=1;k[a+32>>2]=0;k[a>>2]=.10000000149011612;k[a+40>>2]=0;k[a+36>>2]=0;k[a+44>>2]=0;k[a+52>>2]=.6798535585403442;k[a+56>>2]=.05000000074505806;k[a+48>>2]=13.597070693969727;g[a+60>>2]=0;k[a+12>>2]=8.699514389038086;k[a+16>>2]=8.699514389038086;k[a+20>>2]=8.699514389038086;k[a+24>>2]=8.699514389038086;k[a+28>>2]=8.699514389038086;return}function zb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var h=0,i=0,j=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,M=0,N=0;j=c>>1;if((j|0)>0){d=0;h=0;do{N=+(f[b+(d<<1)>>1]|0);h=h+N*N;d=d+1|0}while((d|0)!=(j|0))}else h=0;if((j|0)<(c|0)){i=0;d=j;do{N=+(f[b+(d<<1)>>1]|0);i=i+N*N;d=d+1|0}while((d|0)!=(c|0))}else i=0;A=h+i;B=+U(+(A+6e3));C=a+12|0;D=+k[C>>2];s=B-D;E=a+16|0;F=+k[E>>2];p=B-F;G=a+20|0;H=+k[G>>2];z=B-H;I=a+24|0;K=+k[I>>2];y=B-K;M=a+28|0;n=B-+k[M>>2];n=(s*s+0+p*p+z*z+y*y+n*n)/150;y=e;z=y+-.4;p=z*3*+J(+z);s=+k[a>>2];t=a+4|0;s=A*s+(1-s)*+k[t>>2];k[t>>2]=s;t=a+52|0;l=+k[t>>2];u=a+56|0;r=+k[u>>2];v=l/r;k[a+48>>2]=v;N=A;w=+L(+N,.3);q=r;x=A>6e3;if(x&q<.06){m=w*.05;k[t>>2]=m}else m=l;o=p;j=o<.3;l=n>1?1:n;if(l<.2&j?w<v*1.2:0)c=14;else c=9;do{if((c|0)==9){d=l<.05;if(d&j?w<v*1.5:0){c=14;break}if(d&o<.4){if(p<0|w<v*1.2){c=14;break}}else if(d&p<0){c=14;break}g[a+60>>2]=0;l=r;b=0}}while(0);if((c|0)==14){b=a+60|0;c=g[b>>2]|0;d=c+1|0;g[b>>2]=d;l=v*3;if((c|0)>2){m=(w>l?l:w)*.05+m*.95;k[t>>2]=m;l=q*.95+.05;k[u>>2]=l;b=d}else{l=r;b=d}}if(x&w<v){k[t>>2]=w*.05+m*.95;k[u>>2]=l*.95+.05}if(A<3e4){h=A<1e4?5.600000381469727:6.300000190734863;if(A<3e3)h=h+-.7}else{r=A+1;v=+U(+(r/(+k[a+8>>2]+1)));r=+U(+(r/(s+1)));r=r<-5?-5:r;r=r>2?2:r;s=r;w=r>0?s*.6+7:7;w=r<0?s*.5+w:w;w=v>0?(v>5?5:v)*.5+w:w;h=i>h*1.6?w+.5:w}k[a+8>>2]=A;j=a+40|0;y=y*.4+ +k[j>>2]*.6;k[j>>2]=y;h=h+(z+(y+-.4))*2.2;j=a+44|0;z=+k[j>>2];h=h<z?z*.5+h*.5:h;h=h<4?4:h;d=(b|0)>2;h=d?4:h>10?10:h;if(b)h=h-(+U(+(+(b|0)+3))+-1.0986122886681098);h=h<0?0:h;if(!(A<6e4)){N=h;x=N<-1;N=x?-1:N;a=a+36|0;k[a>>2]=e;k[j>>2]=N;k[M>>2]=K;k[I>>2]=H;k[G>>2]=F;k[E>>2]=D;k[C>>2]=B;return+N}if(d){i=(+U(+(+(b|0)+3))+-1.0986122886681098)*.5;h=h-i;if(A<1e4)h=h-i}N=+U(+(N/6e4+1e-4))*.3+(h<0?0:h);x=N<-1;N=x?-1:N;a=a+36|0;k[a>>2]=e;k[j>>2]=N;k[M>>2]=K;k[I>>2]=H;k[G>>2]=F;k[E>>2]=D;k[C>>2]=B;return+N}function Ab(a){a=a|0;return}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=c+-1|0;a:do{if((c|0)>1){c=b;b=0;while(1){if((f[c>>1]|0)>=a<<16>>16)break a;b=b+1|0;if((b|0)<(d|0))c=c+2|0;else break}}else b=0}while(0);return b|0}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=c+-1|0;a:do{if((c|0)>1){c=b;b=0;while(1){if((g[c>>2]|0)>=(a|0))break a;b=b+1|0;if((b|0)<(d|0))c=c+4|0;else break}}else b=0}while(0);return b|0}function Db(a,b,c,d,e,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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;if((d|0)<=0)return;r=h+-1|0;s=j+(r<<2)|0;q=(h|0)>1;if((c|0)>0){k=0;p=0;o=b;do{b=0;l=0;m=o;while(1){l=(W(f[m>>1]|0,f[a+(b<<1)>>1]|0)|0)+l|0;b=b+1|0;if((b|0)==(c|0))break;else m=m+2|0}o=o+(c<<1)|0;n=(g[e+(p<<2)>>2]>>1)-l|0;if(!((p|0)>=(h|0)?(n|0)>=(g[s>>2]|0):0)){a:do{if(q){b=r;while(1){l=b+-1|0;m=g[j+(l<<2)>>2]|0;if(!((b|0)>(k|0)|(n|0)<(m|0)))break a;g[j+(b<<2)>>2]=m;g[i+(b<<2)>>2]=g[i+(l<<2)>>2];if((b|0)>1)b=l;else{b=l;break}}}else b=r}while(0);g[j+(b<<2)>>2]=n;g[i+(b<<2)>>2]=p;k=k+1|0}p=p+1|0}while((p|0)!=(d|0));return}if(q){k=0;o=0}else{b=i+(r<<2)|0;k=0;do{l=g[e+(k<<2)>>2]>>1;if(!((k|0)>=(h|0)?(l|0)>=(g[s>>2]|0):0)){g[s>>2]=l;g[b>>2]=k}k=k+1|0}while((k|0)!=(d|0));return}do{n=g[e+(o<<2)>>2]>>1;if(!((o|0)>=(h|0)?(n|0)>=(g[s>>2]|0):0)){b=r;p=16}if((p|0)==16){while(1){p=0;l=b+-1|0;m=g[j+(l<<2)>>2]|0;if(!((b|0)>(k|0)|(n|0)<(m|0)))break;g[j+(b<<2)>>2]=m;g[i+(b<<2)>>2]=g[i+(l<<2)>>2];if((b|0)>1){b=l;p=16}else{b=l;break}}g[j+(b<<2)>>2]=n;g[i+(b<<2)>>2]=o;k=k+1|0}o=o+1|0}while((o|0)!=(d|0));return}function Eb(a,b,c,d,e,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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;if((d|0)<=0)return;r=h+-1|0;s=j+(r<<2)|0;t=(h|0)>1;if((c|0)>0){k=0;q=0}else{k=0;o=0;do{n=g[e+(o<<2)>>2]>>1;if(!((o|0)>=(h|0)?(n|0)>=(g[s>>2]|0):0)){a:do{if(t){b=r;while(1){l=b+-1|0;m=g[j+(l<<2)>>2]|0;if(!((b|0)>(k|0)|(n|0)<(m|0)))break a;g[j+(b<<2)>>2]=m;g[i+(b<<2)>>2]=g[i+(l<<2)>>2];if((b|0)>1)b=l;else{b=l;break}}}else b=r}while(0);g[j+(b<<2)>>2]=n;g[i+(b<<2)>>2]=o+d;k=k+1|0}o=o+1|0}while((o|0)!=(d|0));return}do{l=0;n=0;m=b;while(1){n=(W(f[m>>1]|0,f[a+(l<<1)>>1]|0)|0)+n|0;l=l+1|0;if((l|0)==(c|0))break;else m=m+2|0}b=b+(c<<1)|0;p=(n|0)>0;o=(g[e+(q<<2)>>2]>>1)+(p?0-n|0:n)|0;if(!((q|0)>=(h|0)?(o|0)>=(g[s>>2]|0):0)){a:do{if(t){l=r;while(1){m=l+-1|0;n=g[j+(m<<2)>>2]|0;if(!((l|0)>(k|0)|(o|0)<(n|0)))break a;g[j+(l<<2)>>2]=n;g[i+(l<<2)>>2]=g[i+(m<<2)>>2];if((l|0)>1)l=m;else{l=m;break}}}else l=r}while(0);g[j+(l<<2)>>2]=o;l=i+(l<<2)|0;g[l>>2]=q;k=k+1|0;if(!p)g[l>>2]=q+d}q=q+1|0}while((q|0)!=(d|0));return}function Fb(a){a=a|0;var b=0;b=Ad(2e3,1)|0;g[a>>2]=b;if(!b)return;g[a+24>>2]=2e3;g[a+16>>2]=1;g[a+4>>2]=0;g[a+8>>2]=0;g[a+12>>2]=0;g[a+20>>2]=0;return}function Gb(a){a=a|0;e[g[a>>2]>>0]=0;g[a+4>>2]=0;g[a+8>>2]=0;g[a+12>>2]=0;g[a+20>>2]=0;return}function Hb(a){a=a|0;if(!(g[a+16>>2]|0))return;zd(g[a>>2]|0);return}function Ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,f=0,h=0,i=0,j=0,k=0;k=p;p=p+32|0;f=k+16|0;j=k+8|0;d=k;h=a+24|0;do{if((g[h>>2]|0)<(c|0)){i=g[517]|0;g[d>>2]=7312;sd(i,12904,d)|0;if(!(g[a+16>>2]|0)){g[f>>2]=7399;sd(i,12855,f)|0;c=g[h>>2]|0;break}d=Bd(g[a>>2]|0,c)|0;if(!d){c=g[h>>2]|0;g[j>>2]=7351;sd(i,12855,j)|0;break}else{g[h>>2]=c;g[a>>2]=d;break}}}while(0);if((c|0)>0){d=0;do{e[(g[a>>2]|0)+d>>0]=e[b+d>>0]|0;d=d+1|0}while((d|0)!=(c|0))}g[a+4>>2]=c<<3;g[a+8>>2]=0;g[a+12>>2]=0;g[a+20>>2]=0;p=k;return}function Jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;f=a+12|0;h=g[f>>2]|0;i=a+8|0;j=g[i>>2]|0;k=a+4|0;l=g[k>>2]|0;if(!h)d=0;else{Kb(a,0,1);m=3}while(1){if((m|0)==3)d=g[f>>2]|0;if(!d)break;Kb(a,1,1);m=3}g[f>>2]=h;g[i>>2]=j;g[k>>2]=l;d=l+7>>3;d=(d|0)<(c|0)?d:c;if((d|0)<=0)return d|0;c=0;do{e[b+c>>0]=e[(g[a>>2]|0)+c>>0]|0;c=c+1|0}while((c|0)<(d|0));return d|0}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0;n=p;p=p+32|0;f=n+16|0;k=n+8|0;d=n;l=a+8|0;m=a+12|0;i=a+24|0;do{if((((g[m>>2]|0)+c>>3)+(g[l>>2]|0)|0)>=(g[i>>2]|0)){j=g[517]|0;g[d>>2]=7450;sd(j,12904,d)|0;if(!(g[a+16>>2]|0)){g[f>>2]=7523;sd(j,12855,f)|0;p=n;return}d=((g[i>>2]|0)*3|0)+15>>1;f=Bd(g[a>>2]|0,d)|0;if(f|0){g[i>>2]=d;g[a>>2]=f;break}g[k>>2]=7480;sd(j,12855,k)|0;p=n;return}}while(0);if(!c){p=n;return}d=a+4|0;do{c=c+-1|0;k=(g[a>>2]|0)+(g[l>>2]|0)|0;e[k>>0]=h[k>>0]|0|(b>>>c&1)<<7-(g[m>>2]|0);k=(g[m>>2]|0)+1|0;g[m>>2]=k;if((k|0)==8){g[m>>2]=0;k=(g[l>>2]|0)+1|0;g[l>>2]=k;e[(g[a>>2]|0)+k>>0]=0}g[d>>2]=(g[d>>2]|0)+1}while((c|0)!=0);p=n;return}function Lb(a,b){a=a|0;b=b|0;var c=0,d=0,f=0,h=0,i=0,j=0;i=a+8|0;d=g[i>>2]|0;j=a+12|0;f=g[j>>2]|0;c=a+20|0;if((f+b+(d<<3)|0)>(g[a+4>>2]|0)){g[c>>2]=1;j=0;return j|0}if((g[c>>2]|0)!=0|(b|0)==0){j=0;return j|0}h=g[a>>2]|0;a=0;c=f;do{a=(e[h+d>>0]|0)>>>(7-c|0)&1|a<<1;c=c+1|0;g[j>>2]=c;if((c|0)==8){d=d+1|0;g[j>>2]=0;g[i>>2]=d;c=0}b=b+-1|0}while((b|0)!=0);return a|0}function Mb(a){a=a|0;var b=0,c=0,d=0;c=g[a+8>>2]|0;d=g[a+12>>2]|0;b=a+20|0;if(((c<<3)+d|0)>=(g[a+4>>2]|0)){g[b>>2]=1;d=0;return d|0}if(g[b>>2]|0){d=0;return d|0}d=(e[(g[a>>2]|0)+c>>0]|0)>>>(7-d|0)&1;return d|0}function Nb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=a+8|0;e=g[d>>2]|0;f=a+12|0;c=(g[f>>2]|0)+b|0;b=a+20|0;if((c+(e<<3)|0)<=(g[a+4>>2]|0)?(g[b>>2]|0)==0:0){g[d>>2]=(c>>3)+e;g[f>>2]=c&7;return}g[b>>2]=1;return}function Ob(a){a=a|0;if(g[a+20>>2]|0){a=-1;return a|0}a=(g[a+4>>2]|0)-(g[a+12>>2]|0)+(W(g[a+8>>2]|0,-8)|0)|0;return a|0}function Pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[b>>1]|0;e=(c|0)>0;if(!(d<<16>>16)){if(!e){c=0;return c|0}Md(a|0,0,c<<1|0)|0;c=0;return c|0}if(e){l=0;do{k=l;l=l+1|0;e=0-(f[b+(l<<1)>>1]<<13)|0;if((k|0)>0){g=0;do{e=e-(W(f[b+(k-g<<1)>>1]|0,f[a+(g<<1)>>1]|0)|0)|0;g=g+1|0}while((g|0)!=(k|0))}j=d<<16>>16;h=(e+(j+1>>1)|0)/((j<<16)+524288>>16|0)|0;f[a+(k<<1)>>1]=h;d=k>>1;h=h<<16>>16;if((d|0)>0){g=k+-1|0;e=0;do{o=a+(e<<1)|0;n=f[o>>1]|0;m=a+(g-e<<1)|0;f[o>>1]=(((W(f[m>>1]|0,h)|0)+4096|0)>>>13)+n;f[m>>1]=(i[m>>1]|0)+(((W(n,h)|0)+4096|0)>>>13);e=e+1|0}while((e|0)!=(d|0))}else d=0;if(k&1|0){o=a+(d<<1)|0;n=f[o>>1]|0;f[o>>1]=(((W(n,h)|0)+4096|0)>>>13)+n}d=j-((W((W(j<<3,h)|0)>>16,h)|0)>>>13)&65535}while((l|0)!=(c|0))}o=d<<16>>16;return o|0}function Qb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;if((d|0)>0){e=1;g=0;do{j=f[a+(g<<1)>>1]|0;e=((W(j,j)|0)>>>8)+e|0;g=g+1|0}while((g|0)!=(d|0))}else e=1;e=e+d|0;if((e|0)<1073741824){i=8;do{i=i+-1|0;e=e<<1}while((e|0)<1073741824&(i|0)!=0);if((e|0)<1073741824){g=18;do{g=g+-1|0;e=e<<1}while((e|0)<1073741824&(g|0)!=0)}else g=18}else{g=18;i=8}if((c|0)>0)j=0;else return;do{if((j|0)<(d|0)){e=0;h=j;do{e=((W(f[a+(h-j<<1)>>1]|0,f[a+(h<<1)>>1]|0)|0)>>i)+e|0;h=h+1|0}while((h|0)!=(d|0))}else e=0;f[b+(j<<1)>>1]=e>>g;j=j+1|0}while((j|0)!=(c|0));return}function Rb(a,b,c){a=a|0;b=b|0;c=c|0;return qe[g[a+4>>2]&15](g[a>>2]|0,b,c)|0}function Sb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=p;p=p+16|0;d=e;switch(b|0){case 0:{b=g[a+4>>2]<<1;break}case 1:{b=g[c>>2]|0;if(b){b=g[a+24+(b<<2)>>2]|0;if(!b)b=-1;else b=g[b+52>>2]|0}else b=4;break}default:{a=g[517]|0;g[d>>2]=12364;g[d+4>>2]=b;sd(a,12799,d)|0;a=-1;p=e;return a|0}}g[c>>2]=b;a=0;p=e;return a|0}function Tb(a){a=a|0;var b=0,c=0,d=0,e=0,h=0,i=0,j=0;b=g[a>>2]|0;h=Ad(224,1)|0;if(!h){h=0;return h|0}g[h+64>>2]=Ad(32e3,1)|0;g[h>>2]=a;d=g[b>>2]|0;g[h+8>>2]=d;j=g[b+4>>2]|0;e=h+16|0;g[e>>2]=(d|0)/(j|0)|0;g[h+12>>2]=j;g[h+20>>2]=d+j;d=g[b+8>>2]|0;c=h+24|0;g[c>>2]=d;f[h+56>>1]=f[b+20>>1]|0;f[h+58>>1]=f[b+22>>1]|0;g[h+28>>2]=g[b+12>>2];a=b+16|0;g[h+32>>2]=g[a>>2];f[h+60>>1]=f[b+24>>1]|0;g[h+204>>2]=b+28;i=g[b+92>>2]|0;g[h+212>>2]=i;g[h+208>>2]=i;g[h+40>>2]=1;g[h+200>>2]=1;g[h+36>>2]=1024;g[h+68>>2]=Ad(j<<1,1)|0;j=Ad(((g[a>>2]|0)+(g[b>>2]|0)<<1)+4|0,1)|0;g[h+72>>2]=j;i=g[a>>2]|0;g[h+76>>2]=j+(i<<1)+4;b=Ad((i+(g[b>>2]|0)<<1)+4|0,1)|0;g[h+80>>2]=b;g[h+84>>2]=b+(g[a>>2]<<1)+4;g[h+88>>2]=2976;g[h+92>>2]=2954;d=d<<1;b=Ad(d,1)|0;g[h+96>>2]=b;g[h+100>>2]=Ad(d,1)|0;g[h+4>>2]=1;c=g[c>>2]|0;if((c|0)>0){d=c+1|0;a=0;do{j=a;a=a+1|0;f[b+(j<<1)>>1]=((a<<16>>16)*25736|0)/(d|0)|0}while((a|0)<(c|0))}j=c<<2;g[h+104>>2]=Ad(j,1)|0;g[h+108>>2]=Ad(j,1)|0;g[h+112>>2]=Ad(j,1)|0;g[h+116>>2]=Ad(j,1)|0;g[h+120>>2]=Ad(j,1)|0;j=g[e>>2]<<2;g[h+132>>2]=Ad(j,1)|0;g[h+52>>2]=Ad(j,1)|0;j=Ad(64,1)|0;g[h+140>>2]=j;yb(j);k[h+144>>2]=8;j=h+152|0;g[j>>2]=0;g[j+4>>2]=0;g[j+8>>2]=0;g[j+12>>2]=0;g[j+16>>2]=0;g[j+20>>2]=0;g[j+24>>2]=0;g[j+28>>2]=0;g[h+196>>2]=2;g[h+188>>2]=2;g[h+192>>2]=8e3;g[h+216>>2]=0;g[h+220>>2]=1;j=h;return j|0}function Ub(a){a=a|0;zd(g[a+64>>2]|0);zd(g[a+68>>2]|0);zd(g[a+72>>2]|0);zd(g[a+100>>2]|0);zd(g[a+80>>2]|0);zd(g[a+96>>2]|0);zd(g[a+104>>2]|0);zd(g[a+108>>2]|0);zd(g[a+112>>2]|0);zd(g[a+116>>2]|0);zd(g[a+120>>2]|0);zd(g[a+132>>2]|0);zd(g[a+52>>2]|0);zd(g[a+140>>2]|0);zd(a);return}function Vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,h=0,j=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,E=0,F=0,G=0,H=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,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,va=0,wa=0,xa=0,ya=0,za=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,Oa=0,Ua=0,Ya=0,Za=0,_a=0,ab=0,bb=0;bb=p;p=p+48|0;A=bb+16|0;B=bb;va=g[a+64>>2]|0;wa=va&1;Za=a+24|0;ma=g[Za>>2]|0;d=ma<<1;Ha=va+wa+d|0;Ma=0-d|0;s=Ha+Ma|0;na=Ha&1;Ha=Ha+na+d|0;Ga=Ha+Ma|0;oa=Ha&1;Ha=Ha+oa|0;ab=Ha+d|0;Ia=ab+Ma|0;pa=ab&1;ab=ab+pa+d|0;Ua=ab+Ma|0;qa=ab&1;ab=ab+qa+d|0;Ya=ab+Ma|0;ra=ab&1;ab=ab+ra+d|0;Ja=ab+Ma|0;sa=ab&1;ab=ab+sa+d|0;Ka=ab+Ma|0;ta=ab&1;ab=ab+ta+d|0;La=ab+Ma|0;ua=ab&1;d=ab+ua+d|0;Ma=d+Ma|0;ab=g[a+72>>2]|0;_a=a+8|0;Oa=a+32|0;Ud(ab|0,ab+(g[_a>>2]<<1)|0,(g[Oa>>2]<<1)+4|0)|0;ab=g[a+80>>2]|0;Ud(ab|0,ab+(g[_a>>2]<<1)|0,(g[Oa>>2]<<1)+4|0)|0;if(g[a+220>>2]|0)Pa(b,b,g[_a>>2]|0,g[a+216>>2]|0?2:0,a+124|0);xa=d&1;ab=a+20|0;ya=g[ab>>2]|0;o=ya<<1;D=d+xa+o|0;o=D+(0-o)|0;ka=D&1;la=g[Za>>2]|0;q=la<<1;D=D+ka+(q+2)|0;q=D+(-2-q)|0;l=g[_a>>2]|0;if((ya|0)>(l|0)){e=g[a+68>>2]|0;h=g[a+88>>2]|0;j=ya-l|0;d=0;do{f[o+(d<<1)>>1]=(W(f[h+(d<<1)>>1]|0,f[e+(d<<1)>>1]|0)|0)>>>14;d=d+1|0}while((d|0)<(j|0))}else d=0;if((d|0)<(ya|0)){e=l-ya|0;h=g[a+88>>2]|0;do{f[o+(d<<1)>>1]=(W(f[h+(d<<1)>>1]|0,f[b+(e+d<<1)>>1]|0)|0)>>>14;d=d+1|0}while((d|0)!=(ya|0))}Qb(o,q,la+1|0,ya);d=f[q>>1]|0;d=((W(f[a+60>>1]|0,d)|0)>>>15)+d|0;f[q>>1]=d;e=g[Za>>2]|0;if((e|0)>=0?(r=g[a+92>>2]|0,f[q>>1]=(W(f[r>>1]|0,d<<16>>16)|0)>>>14,e|0):0){d=1;while(1){f[q+(d<<1)>>1]=(W(f[r+(d<<1)>>1]|0,f[q+(d<<1)>>1]|0)|0)>>>14;if((d|0)<(e|0))d=d+1|0;else break}}Pb(s,q,e)|0;Ea=db(s,g[Za>>2]|0,Ua,10,6553,D)|0;h=g[Za>>2]|0;if((Ea|0)!=(h|0)&(h|0)>0){e=g[a+96>>2]|0;d=0;do{f[Ua+(d<<1)>>1]=f[e+(d<<1)>>1]|0;d=d+1|0}while((d|0)<(h|0))}r=(g[ab>>2]|0)-(g[_a>>2]|0)|0;Ea=a+4|0;if(g[Ea>>2]|0){if((h|0)>0){d=0;do{f[Ja+(d<<1)>>1]=f[Ua+(d<<1)>>1]|0;d=d+1|0}while((d|0)<(h|0));d=h}else d=h}else{d=g[a+16>>2]|0;gb(g[a+96>>2]|0,Ua,Ja,h,d,d<<1);d=g[Za>>2]|0}fb(Ja,d,16);eb(Ja,La,g[Za>>2]|0,D);Ca=a+204|0;Da=a+208|0;d=g[(g[Ca>>2]|0)+(g[Da>>2]<<2)>>2]|0;do{if(d){if((g[a+188>>2]|0)>2?(g[d+8>>2]|0)<3:0){Fa=27;break}if((((g[d+4>>2]|0)==0?(g[d>>2]|0)==-1:0)?(g[a+152>>2]|0)==0:0)?(g[a+160>>2]|0)==0:0){za=a+68|0;s=0;ja=0;Ba=za;d=r<<1}else Fa=27}else Fa=27}while(0);if((Fa|0)==27){Na(f[a+56>>1]|0,La,Ga,g[Za>>2]|0);Na(f[a+58>>1]|0,La,Ia,g[Za>>2]|0);j=a+84|0;q=a+68|0;o=r<<1;Td(g[j>>2]|0,g[q>>2]|0,o|0)|0;Td((g[j>>2]|0)+(r<<1)|0,b|0,(g[_a>>2]|0)-r<<1|0)|0;l=g[j>>2]|0;Va(l,Ga,Ia,l,g[_a>>2]|0,g[Za>>2]|0,g[a+112>>2]|0,D);ib(g[j>>2]|0,g[a+28>>2]|0,g[Oa>>2]|0,g[_a>>2]|0,A,B,6,D);j=f[B>>1]|0;l=(j<<16>>16)*27853>>15;d=g[A>>2]|0;h=1;do{do{if((f[B+(h<<1)>>1]|0)>(l|0)){e=g[A+(h<<2)>>2]|0;Ba=(e<<1)-d|0;if((((((Ba|0)<0?0-Ba|0:Ba)|0)>=3?(Ba=(e*3|0)-d|0,(((Ba|0)<0?0-Ba|0:Ba)|0)>=4):0)?(Ba=(e<<2)-d|0,(((Ba|0)<0?0-Ba|0:Ba)|0)>=5):0)?(Ba=(e*5|0)-d|0,(((Ba|0)<0?0-Ba|0:Ba)|0)>=6):0)break;d=e}}while(0);h=h+1|0}while((h|0)!=6);s=j;ja=d;Ba=q;d=o;za=q}Aa=a+76|0;Td(g[Aa>>2]|0,g[Ba>>2]|0,d|0)|0;Td((g[Aa>>2]|0)+(r<<1)|0,b|0,(g[_a>>2]|0)-r<<1|0)|0;d=g[Aa>>2]|0;Xa(d,La,d,g[_a>>2]|0,g[Za>>2]|0,g[a+116>>2]|0,D);d=Ta(g[Aa>>2]|0,g[_a>>2]|0)|0;d=d<<16>>16;if((ja|0)>0&(g[Da>>2]|0)!=1){ha=s<<16>>16;ha=(W((W(ha<<17,ha)|0)>>16,-26214)|0)+268435456|0;q=ha>>>0>65535;ga=q?ha>>>16:ha;q=q?8:0;ia=ga>>>0>255;ga=ia?ga>>>8:ga;q=ia?q|4:q;ia=ga>>>0>15;q=(ia?ga>>>4:ga)>>>0>3|(ia?q|2:q);ia=q<<1;ia=((q&65535)<<16>>16>6?ha>>ia+-12:ha<<12-ia)<<16>>16;ia=((W(((W((ia*16816|0)+-827523072>>16,ia)|0)>>>14<<16)+1387593728>>16,ia)|0)>>>14<<16)+238157824>>16;q=13-q|0;q=W((((q|0)>0?ia>>q:ia<<0-q)<<16>>16)*72088>>16,d)|0}else q=d<<14;j=g[a+140>>2]|0;do{if(j){l=a+152|0;if((g[l>>2]|0)==0?(g[a+160>>2]|0)==0:0){Fa=79;break}e=g[Za>>2]|0;if((e|0)>0){h=g[a+96>>2]|0;n=0;d=0;do{ia=(f[h+(d<<1)>>1]|0)-(f[Ua+(d<<1)>>1]|0)|0;n=n+ +(W(ia,ia)|0);d=d+1|0}while((d|0)<(e|0))}else n=0;z=n*1.4901161193847656e-8;o=a+172|0;if(g[o>>2]|0){n=+k[a+176>>2];if(+k[a+180>>2]*n>0){n=n*-1e-5/(+k[a+184>>2]+1);n=n>.05?.05000000074505806:n;if(n<-.05)n=-.05000000074505806}else n=0;ia=a+144|0;y=n+ +k[ia>>2];y=y>10?10:y;k[ia>>2]=y<0?0:y}y=+zb(j,b,g[_a>>2]|0,ja,+(s<<16>>16)*.015625);k[a+148>>2]=y;if(!(g[l>>2]|0)){e=a+168|0;do{if(y<2){d=g[e>>2]|0;if(!(z>.05|(d|0)==0)?!((d|0)>20|(g[a+164>>2]|0)==0):0){g[e>>2]=d+1;d=0;break}g[e>>2]=1;d=1}else{g[e>>2]=0;d=g[a+212>>2]|0}}while(0);g[Da>>2]=d;break}g[A>>2]=8;u=+k[a+144>>2];e=~~+I(+u);h=e+1|0;t=+(h|0)-u;u=u-+(e|0);if((e|0)==10){m=+k[100];if(y>m?(v=y-m,v<100):0){m=v;d=8}else{m=100;d=0}n=+k[89];if(y>n?(w=y-n,w<m):0){m=w;d=7}n=+k[78];do{if(y>n){n=y-n;if(!(n<m))break;m=n;d=6}}while(0);n=+k[67];do{if(y>n){n=y-n;if(!(n<m))break;m=n;d=5}}while(0);n=+k[56];do{if(y>n){n=y-n;if(!(n<m))break;m=n;d=4}}while(0);n=+k[45];do{if(y>n){n=y-n;if(!(n<m))break;m=n;d=3}}while(0);n=+k[34];do{if(y>n){n=y-n;if(!(n<m))break;m=n;d=2}}while(0);n=+k[23]}else{n=+k[360+(e<<2)>>2]*t+u*+k[360+(h<<2)>>2];if(y>n?(m=y-n,m<100):0)d=8;else{m=100;d=0}n=+k[316+(e<<2)>>2]*t+u*+k[316+(h<<2)>>2];if(y>n?(x=y-n,x<m):0){m=x;d=7}n=+k[272+(e<<2)>>2]*t+u*+k[272+(h<<2)>>2];do{if(y>n){n=y-n;if(!(n<m))break;m=n;d=6}}while(0);n=+k[228+(e<<2)>>2]*t+u*+k[228+(h<<2)>>2];do{if(y>n){n=y-n;if(!(n<m))break;m=n;d=5}}while(0);n=+k[184+(e<<2)>>2]*t+u*+k[184+(h<<2)>>2];do{if(y>n){n=y-n;if(!(n<m))break;m=n;d=4}}while(0);n=+k[140+(e<<2)>>2]*t+u*+k[140+(h<<2)>>2];do{if(y>n){n=y-n;if(!(n<m))break;m=n;d=3}}while(0);n=+k[96+(e<<2)>>2]*t+u*+k[96+(h<<2)>>2];do{if(y>n){n=y-n;if(!(n<m))break;m=n;d=2}}while(0);n=+k[52+(e<<2)>>2]*t+u*+k[52+(h<<2)>>2]}ia=y>n&y-n<m?1:d;g[A>>2]=ia;e=a+168|0;do{if(!ia){d=g[e>>2]|0;if(!(z>.05|(d|0)==0)?!((d|0)>20|(g[a+164>>2]|0)==0):0){g[A>>2]=0;d=d+1|0;break}g[A>>2]=1;d=1}else d=0}while(0);g[e>>2]=d;tb(a,6,A)|0;d=a+156|0;if((g[d>>2]|0)>0?(tb(a,19,B)|0,C=g[d>>2]|0,(g[B>>2]|0)>(C|0)):0){g[B>>2]=C;tb(a,18,B)|0}if(g[o>>2]|0){tb(a,19,B)|0;ha=(g[B>>2]|0)-(g[o>>2]|0)|0;ia=a+176|0;k[ia>>2]=+k[ia>>2]+ +(ha|0);ia=a+180|0;k[ia>>2]=+k[ia>>2]*.95+ +(ha|0)*.05;ia=a+184|0;k[ia>>2]=+k[ia>>2]+1}}else Fa=79}while(0);if((Fa|0)==79)k[a+148>>2]=-1;if(g[a+200>>2]|0){Kb(c,0,1);Kb(c,g[Da>>2]|0,4)}h=g[(g[Ca>>2]|0)+(g[Da>>2]<<2)>>2]|0;if(!h){d=g[_a>>2]|0;if((d|0)>0){j=g[a+84>>2]|0;h=g[Aa>>2]|0;e=0;do{f[j+(e<<1)>>1]=0;f[h+(e<<1)>>1]=0;e=e+1|0}while((e|0)<(d|0))}if((g[Za>>2]|0)>0){e=g[a+108>>2]|0;d=0;do{g[e+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(g[Za>>2]|0));d=g[_a>>2]|0}g[Ea>>2]=1;g[a+40>>2]=1;ab=g[ab>>2]|0;Td(g[Ba>>2]|0,b+(d<<1<<1)+(0-ab<<1)|0,ab-d<<1|0)|0;if((g[Za>>2]|0)<=0){ab=0;p=bb;return ab|0}e=g[a+104>>2]|0;d=0;do{g[e+(d<<2)>>2]=0;d=d+1|0}while((d|0)<(g[Za>>2]|0));d=0;p=bb;return d|0}e=g[Za>>2]|0;if((g[Ea>>2]|0)!=0&(e|0)>0){j=g[a+96>>2]|0;d=0;do{f[j+(d<<1)>>1]=f[Ua+(d<<1)>>1]|0;d=d+1|0}while((d|0)<(e|0))}ze[g[h+16>>2]&3](Ua,Ya,e,c);d=g[(g[Ca>>2]|0)+(g[Da>>2]<<2)>>2]|0;if((g[d>>2]|0)!=-1){Kb(c,ja-(g[a+28>>2]|0)|0,7);d=g[(g[Ca>>2]|0)+(g[Da>>2]<<2)>>2]|0}if(!(g[d+4>>2]|0))ia=s;else{ia=(((s<<16>>16)*58982>>16)*15|0)+32>>6;ia=(ia|0)>0?(ia|0)<15?ia:15:0;Kb(c,ia,4);ia=(((ia<<22>>16)*2185|0)+16384|0)>>>15&65535}h=Cb(q,1904,32)|0;ha=g[1904+(h<<2)>>2]|0;ha=((ha<<1>>16)*28406|0)+(((ha&32767)*28406|0)>>>15)|0;Kb(c,h,5);h=g[Za>>2]|0;if((g[Ea>>2]|0)!=0&(h|0)>0){e=g[a+100>>2]|0;d=0;do{f[e+(d<<1)>>1]=f[Ya+(d<<1)>>1]|0;d=d+1|0}while((d|0)<(h|0))}q=D&1;ga=a+12|0;r=g[ga>>2]|0;J=r<<1;l=D+q+J|0;H=0-J|0;B=l+H|0;d=0-l&3;E=r<<2;l=l+d+E|0;D=0-E|0;C=l+D|0;j=0-l&3;E=l+j+E|0;D=E+D|0;l=E&1;E=E+l|0;K=E+J|0;F=K+H|0;o=K&1;K=K+o+J|0;G=K+H|0;J=K+(K&1)+J|0;H=J+H|0;K=h<<2;J=J+(0-J&3)+K|0;K=J+(0-K)|0;L=a+16|0;e=g[L>>2]|0;a:do{if((e|0)>0){M=a+84|0;N=a+96|0;O=a+100|0;P=a+132|0;Q=a+56|0;R=a+58|0;S=a+120|0;T=a+188|0;U=a+28|0;V=a+40|0;X=a+196|0;Y=a+36|0;Z=a+52|0;$=ha+8192>>14;_=$<<16>>17;aa=ha<<2>>16;ba=ha&16383;ca=J+(0-J&3)|0;da=a+136|0;ea=a+104|0;fa=a+108|0;A=va+(((ma*18|0)+(r*12|0)+(ya+la<<1)|o)+l+q+ka+xa+ua+ta+sa+ra+qa+pa+oa+na+wa+j+d+2)|0;d=0;q=ja;l=r;while(1){o=W(l,d)|0;r=(g[Aa>>2]|0)+(o<<1)|0;s=(g[M>>2]|0)+(o<<1)|0;gb(g[N>>2]|0,Ua,Ja,h,d,e);gb(g[O>>2]|0,Ya,Ka,g[Za>>2]|0,d,g[L>>2]|0);fb(Ja,g[Za>>2]|0,16);fb(Ka,g[Za>>2]|0,16);eb(Ja,La,g[Za>>2]|0,J);eb(Ka,Ma,g[Za>>2]|0,J);j=g[Za>>2]|0;if((j|0)>0){e=8192;h=0;do{e=(f[Ma+((h|1)<<1)>>1]|0)+e-(f[Ma+(h<<1)>>1]|0)|0;h=h+2|0}while((h|0)<(j|0))}else e=8192;g[(g[P>>2]|0)+(d<<2)>>2]=e;Na(f[Q>>1]|0,La,Ga,g[Za>>2]|0);e=f[R>>1]|0;h=g[Za>>2]|0;do{if(e<<16>>16>-1)Na(e,La,Ia,h);else{if((h|0)<=0)break;Md(Ha|0,0,h<<1|0)|0}}while(0);j=(g[ab>>2]|0)-(g[_a>>2]|0)|0;if((j|0)!=(g[ga>>2]|0)){Fa=112;break}e=(j|0)>0;do{if(!d){if(!e)break;h=g[za>>2]|0;e=0;do{ya=f[h+(e<<1)>>1]|0;f[s+(e<<1)>>1]=ya;f[H+(e<<1)>>1]=ya;e=e+1|0}while((e|0)<(j|0))}else{if(!e)break;h=W(j,d+-1|0)|0;e=0;do{ya=f[b+(h+e<<1)>>1]|0;f[s+(e<<1)>>1]=ya;f[H+(e<<1)>>1]=ya;e=e+1|0}while((e|0)<(j|0))}}while(0);Xa(H,Ma,H,j,g[Za>>2]|0,g[S>>2]|0,J);e=l>>((g[T>>2]|0)==0&1);$a(Ma,Ga,Ia,G,e,g[Za>>2]|0,J);h=g[ga>>2]|0;if((e|0)<(h|0)){ya=e<<1;xa=e+1|0;Md(A+ya|0,0,(((h|0)>(xa|0)?h:xa)<<1)-ya|0)|0}e=g[Za>>2]|0;if((e|0)>0){j=g[ea>>2]|0;h=0;do{g[K+(h<<2)>>2]=g[j+(h<<2)>>2]<<1;h=h+1|0;e=g[Za>>2]|0}while((h|0)<(e|0))}h=g[ga>>2]|0;if((h|0)>0)Md(E|0,0,h<<1|0)|0;Wa(F,Ma,F,h,e,K,J);e=g[Za>>2]|0;if((e|0)>0){j=g[fa>>2]|0;h=0;do{g[K+(h<<2)>>2]=g[j+(h<<2)>>2]<<1;h=h+1|0;e=g[Za>>2]|0}while((h|0)<(e|0))}Va(F,Ga,Ia,F,g[ga>>2]|0,e,K,J);e=g[Za>>2]|0;if((e|0)>0){j=g[fa>>2]|0;h=0;do{g[K+(h<<2)>>2]=g[j+(h<<2)>>2];h=h+1|0;e=g[Za>>2]|0}while((h|0)<(e|0))}Va(s,Ga,Ia,s,g[ga>>2]|0,e,K,J);do{if(!(g[T>>2]|0)){if((g[Za>>2]|0)<=0)break;h=g[fa>>2]|0;e=0;do{g[h+(e<<2)>>2]=g[K+(e<<2)>>2];e=e+1|0}while((e|0)<(g[Za>>2]|0))}}while(0);h=g[ga>>2]|0;if((h|0)>0){e=0;do{ya=(f[s+(e<<1)>>1]|0)-((f[F+(e<<1)>>1]|0)+1>>1)|0;f[B+(e<<1)>>1]=(ya|0)>32767?32767:((ya|0)>-32767?ya:-32767)&65535;e=e+1|0}while((e|0)<(h|0))}Md(r|0,0,h<<1|0)|0;j=g[(g[Ca>>2]|0)+(g[Da>>2]<<2)>>2]|0;l=g[j+24>>2]|0;if(!l){Fa=140;break}e=g[j>>2]|0;switch(e|0){case-1:{h=g[Oa>>2]|0;e=g[U>>2]|0;break}case 0:{h=q;e=q;break}default:{h=e+-1+(g[U>>2]|0)|0;q=(q|0)<(h|0)?h:q;h=(g[Oa>>2]|0)-e|0;q=(q|0)>(h|0)?h:q;h=q+e|0;e=1-e+q|0}}h=ye[l&3](B,s,Ma,Ga,Ia,D,g[j+32>>2]|0,e,(h|0)>(o|0)&(g[V>>2]|0)!=0?o:h,ia,g[Za>>2]|0,g[ga>>2]|0,c,J,r,G,g[T>>2]|0,0,g[X>>2]|0,Y)|0;g[(g[Z>>2]|0)+(d<<2)>>2]=h;Md(C|0,0,g[ga>>2]<<2|0)|0;h=g[ga>>2]|0;if((h|0)>0){e=0;do{ya=H+(e<<1)|0;f[ya>>1]=(i[ya>>1]|0)-(((g[D+(e<<2)>>2]|0)+4096|0)>>>13);e=e+1|0}while((e|0)<(h|0))}e=(((Ta(H,h)|0)<<16>>16<<14)+_|0)/($|0)|0;e=(e|0)<32768?e&65535:32767;switch(g[(g[(g[Ca>>2]|0)+(g[Da>>2]<<2)>>2]|0)+8>>2]|0){case 0:{o=ha;break}case 3:{e=Bb(e,2674,8)|0;Kb(c,e,3);e=2688+(e<<1)|0;Fa=149;break}default:{e=Bb(e,2704,2)|0;Kb(c,e,1);e=2706+(e<<1)|0;Fa=149}}if((Fa|0)==149){Fa=0;o=f[e>>1]|0;o=((W(o,ba)|0)>>14)+(W(o,aa)|0)|0}Ra(B,B,o,g[ga>>2]|0);e=g[(g[Ca>>2]|0)+(g[Da>>2]<<2)>>2]|0;h=g[e+36>>2]|0;if(!h){Fa=151;break}se[h&3](B,Ma,Ga,Ia,g[e+44>>2]|0,g[Za>>2]|0,g[ga>>2]|0,C,G,c,J,g[T>>2]|0,g[e+12>>2]|0);Qa(C,C,o,g[ga>>2]|0);e=g[ga>>2]|0;if((e|0)>0){h=0;do{ya=(g[C+(h<<2)>>2]|0)+8192+(g[D+(h<<2)>>2]<<1)>>14;f[r+(h<<1)>>1]=(ya|0)>32767?32767:((ya|0)>-32767?ya:-32767)&65535;h=h+1|0}while((h|0)<(e|0))}do{if(!(g[(g[(g[Ca>>2]|0)+(g[Da>>2]<<2)>>2]|0)+12>>2]|0))Fa=155;else{j=e<<2;h=ca+j|0;l=h+(0-j)|0;Md(l|0,0,j|0)|0;j=g[ga>>2]|0;if((j|0)>0){e=0;do{ya=B+(e<<1)|0;f[ya>>1]=(((f[ya>>1]|0)*18022|0)+4096|0)>>>13;e=e+1|0}while((e|0)<(j|0))}e=g[(g[Ca>>2]|0)+(g[Da>>2]<<2)>>2]|0;se[g[e+36>>2]&3](B,Ma,Ga,Ia,g[e+44>>2]|0,g[Za>>2]|0,j,l,G,c,h,g[T>>2]|0,0);Qa(l,l,((o<<1>>16)*14895|0)+(((o&32767)*14895|0)>>>15)|0,g[ga>>2]|0);e=g[ga>>2]|0;if((e|0)>0)h=0;else break;do{e=C+(h<<2)|0;g[e>>2]=(g[l+(h<<2)>>2]|0)+(g[e>>2]|0);h=h+1|0;e=g[ga>>2]|0}while((h|0)<(e|0));Fa=155}}while(0);do{if((Fa|0)==155){Fa=0;if((e|0)>0)h=0;else break;do{ya=(g[C+(h<<2)>>2]|0)+8192+(g[D+(h<<2)>>2]<<1)>>14;f[r+(h<<1)>>1]=(ya|0)>32767?32767:((ya|0)>-32767?ya:-32767)&65535;h=h+1|0}while((h|0)<(e|0))}}while(0);if(g[da>>2]|0){e=Sa(C,e)|0;f[(g[da>>2]|0)+(d<<1)>>1]=e;e=g[ga>>2]|0}Wa(r,Ma,s,e,g[Za>>2]|0,g[ea>>2]|0,J);if(g[T>>2]|0)Va(s,Ga,Ia,s,g[ga>>2]|0,g[Za>>2]|0,g[fa>>2]|0,J);d=d+1|0;e=g[L>>2]|0;if((d|0)>=(e|0))break a;l=g[ga>>2]|0;h=g[Za>>2]|0}if((Fa|0)==112)Wb(12396,708);else if((Fa|0)==140)Wb(12463,760);else if((Fa|0)==151)Wb(12500,842)}}while(0);l=g[Da>>2]|0;do{if((l|0)>0){j=g[Za>>2]|0;e=(j|0)>0;do{if(e){h=g[a+96>>2]|0;d=0;do{f[h+(d<<1)>>1]=f[Ua+(d<<1)>>1]|0;d=d+1|0}while((d|0)<(j|0));if(!e)break;e=g[a+100>>2]|0;d=0;do{f[e+(d<<1)>>1]=f[Ya+(d<<1)>>1]|0;d=d+1|0}while((d|0)!=(j|0))}}while(0);if((l|0)==1)if(!(g[a+168>>2]|0)){Kb(c,0,4);break}else{Kb(c,15,4);break}}}while(0);g[Ea>>2]=0;_a=g[_a>>2]|0;ab=g[ab>>2]|0;Td(g[Ba>>2]|0,b+(_a<<1<<1)+(0-ab<<1)|0,ab-_a<<1|0)|0;ab=g[Da>>2]|0;g[a+40>>2]=((ab|0)==0?1:(g[(g[(g[Ca>>2]|0)+(ab<<2)>>2]|0)+36>>2]|0)==1)&1;ab=1;p=bb;return ab|0}function Wb(a,b){a=a|0;b=b|0;var c=0,d=0;c=p;p=p+16|0;d=g[517]|0;g[c>>2]=12587;g[c+4>>2]=b;g[c+8>>2]=a;sd(d,12544,c)|0;xa(1)}function Xb(a){a=a|0;var b=0,c=0,d=0,e=0,h=0,i=0,j=0;b=g[a>>2]|0;c=Ad(496,1)|0;if(!c){c=0;return c|0}g[c+44>>2]=Ad(16e3,1)|0;g[c>>2]=a;g[c+112>>2]=1;g[c+4>>2]=1;e=g[b>>2]|0;g[c+12>>2]=e;i=g[b+4>>2]|0;a=(e|0)/(i|0)|0;g[c+20>>2]=a;g[c+16>>2]=i;d=g[b+8>>2]|0;g[c+24>>2]=d;g[c+28>>2]=g[b+12>>2];h=g[b+16>>2]|0;g[c+32>>2]=h;g[c+116>>2]=b+28;g[c+120>>2]=g[b+92>>2];g[c+124>>2]=1;j=h<<1;b=Ad((j+e+i<<1)+24|0,1)|0;g[c+48>>2]=b;g[c+52>>2]=b+(j<<1)+(i<<1)+12;Md(b|0,0,h+e<<1|0)|0;b=d<<1;g[c+60>>2]=Ad(b,1)|0;g[c+56>>2]=Ad(b,1)|0;g[c+64>>2]=Ad(d<<2,1)|0;g[c+76>>2]=Ad(a<<2,1)|0;g[c+92>>2]=40;b=c+98|0;f[b>>1]=0;f[b+2>>1]=0;f[b+4>>1]=0;f[b+6>>1]=0;f[b+8>>1]=0;g[c+108>>2]=1e3;g[c+36>>2]=8e3;g[c+452>>2]=14;g[c+492>>2]=1;return c|0}function Yb(a){a=a|0;zd(g[a+44>>2]|0);zd(g[a+48>>2]|0);zd(g[a+60>>2]|0);zd(g[a+56>>2]|0);zd(g[a+64>>2]|0);zd(g[a+76>>2]|0);zd(a);return}function Zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,h=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,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,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;la=p;p=p+32|0;l=la+8|0;k=la;V=la+12|0;X=la+16|0;t=g[a+44>>2]|0;do{if(!b){if(!(g[a+484>>2]|0)){s=a+8|0;d=g[s>>2]|0;if((d|0)<10)j=f[2710+(d<<1)>>1]|0;else j=0;d=f[a+98>>1]|0;ka=a+100|0;ja=f[ka>>1]|0;h=d<<16>>16<ja<<16>>16;e=f[a+102>>1]|0;d=f[((h?ja<<16>>16<e<<16>>16:e<<16>>16<ja<<16>>16)?ka:a+98+(((h?d<<16>>16<e<<16>>16:e<<16>>16<d<<16>>16)?2:0)<<1)|0)>>1]|0;e=a+96|0;h=f[e>>1]|0;if(d<<16>>16<h<<16>>16)f[e>>1]=d;else d=h;q=a+52|0;r=a+12|0;h=Ta(g[q>>2]|0,g[r>>2]|0)|0;e=j<<16>>16<<1;o=(W(((d<<16>>16<54?d:54)&65535)<<25>>16,e)|0)>>16;k=g[a+48>>2]|0;n=a+32|0;l=a+16|0;Ud(k|0,k+(g[r>>2]<<1)|0,((g[n>>2]<<1)+(g[l>>2]|0)<<1)+24|0)|0;k=g[a+92>>2]|0;ka=g[s>>2]|0;m=a+108|0;d=(W(g[m>>2]|0,1664525)|0)+1013904223|0;g[m>>2]=d;ka=W(d>>16,(ka<<16)+65536>>16)|0;k=(ka+8192-(ka>>3)<<2>>30)+k|0;n=g[n>>2]|0;k=(k|0)>(n|0)?n:k;n=g[a+28>>2]|0;k=(k|0)<(n|0)?n:k;n=g[r>>2]|0;if((n|0)>0){e=(W(32767-((W(o,o)|0)>>>15)<<16>>16,e)|0)>>16;j=g[q>>2]|0;h=(W(h<<16>>16<<1,e)|0)>>16;e=0;do{d=(W(d,1664525)|0)+1013904223|0;ka=W(d>>16,h)|0;f[j+(e<<1)>>1]=((ka+8192-(ka>>3)|0)>>>14)+((W(f[j+(e-k<<1)>>1]|0,o)|0)>>>15);e=e+1|0}while((e|0)!=(n|0));g[m>>2]=d}ka=a+60|0;ja=g[ka>>2]|0;d=a+24|0;Na(32113,ja,ja,g[d>>2]|0);Wa((g[q>>2]|0)+(0-(g[l>>2]|0)<<1)|0,g[ka>>2]|0,c,g[r>>2]|0,g[d>>2]|0,g[a+64>>2]|0,t);Pa(c,c,g[r>>2]|0,1,a+68|0);g[a+4>>2]=0;g[s>>2]=(g[s>>2]|0)+1;d=a+104|0;c=g[d>>2]|0;g[d>>2]=c+1;f[a+98+(c<<1)>>1]=(o+256|0)>>>9;if((g[d>>2]|0)<=2){a=0;p=la;return a|0}g[d>>2]=0;a=0;p=la;return a|0}else{d=0;r=29}}else{if(!(g[a+112>>2]|0)){R=a+120|0;break}if((Ob(b)|0)<5){a=-1;p=la;return a|0}e=a+128|0;h=a+452|0;j=a+456|0;a:while(1){if(Lb(b,1)|0){Nb(b,(g[2032+((Lb(b,3)|0)<<2)>>2]|0)+-4|0);if((Ob(b)|0)<5){d=-1;r=128;break}if(Lb(b,1)|0?(Nb(b,(g[2032+((Lb(b,3)|0)<<2)>>2]|0)+-4|0),Lb(b,1)|0):0){r=21;break}}if((Ob(b)|0)<4){d=-1;r=128;break}d=Lb(b,4)|0;switch(d|0){case 15:{d=-1;r=128;break a}case 14:{d=pc(b,e,a)|0;if(d|0){r=128;break a}break}case 13:{d=qe[g[h>>2]&15](b,a,g[j>>2]|0)|0;if(d|0){r=128;break a}break}default:{r=27;break a}}if((Ob(b)|0)<5){d=-1;r=128;break}}if((r|0)==21){
a=g[517]|0;g[k>>2]=12601;sd(a,12904,k)|0;a=-2;p=la;return a|0}else if((r|0)==27){if((d|0)<=8){r=29;break}a=g[517]|0;g[l>>2]=12748;sd(a,12904,l)|0;a=-2;p=la;return a|0}else if((r|0)==128){p=la;return d|0}}}while(0);if((r|0)==29){R=a+120|0;g[R>>2]=d}S=g[a+48>>2]|0;fa=a+12|0;Q=a+32|0;ea=a+16|0;Ud(S|0,S+(g[fa>>2]<<1)|0,((g[Q>>2]<<1)+(g[ea>>2]|0)<<1)+24|0)|0;S=a+116|0;d=g[(g[S>>2]|0)+(g[R>>2]<<2)>>2]|0;ha=a+24|0;e=g[ha>>2]|0;ia=e<<1;q=t+(t&1)+ia|0;ia=q+(0-ia)|0;if(!d){Na(30474,g[a+60>>2]|0,ia,e);e=a+52|0;d=Ta(g[e>>2]|0,g[fa>>2]|0)|0;l=g[fa>>2]|0;if((l|0)>0){k=a+108|0;j=d<<16>>16;d=g[e>>2]|0;e=0;h=g[k>>2]|0;do{h=(W(h,1664525)|0)+1013904223|0;ka=W(h>>16,j)|0;f[d+(e<<1)>>1]=(ka+8192-(ka>>3)|0)>>>14;e=e+1|0}while((e|0)<(l|0));g[k>>2]=h}else d=g[e>>2]|0;g[a+4>>2]=1;Wa(d,ia,c,l,g[ha>>2]|0,g[a+64>>2]|0,q);g[a+8>>2]=0;a=0;p=la;return a|0}we[g[d+20>>2]&3](ia,e,b);ga=a+8|0;if(g[ga>>2]|0?(m=g[ha>>2]|0,n=(m|0)>0,n):0){h=g[a+56>>2]|0;d=0;e=0;do{da=(f[h+(e<<1)>>1]|0)-(f[ia+(e<<1)>>1]|0)|0;d=((da|0)<0?0-da|0:da)+d|0;e=e+1|0}while((e|0)<(m|0));if(n){e=19661>>>(d>>15)<<16>>16;h=g[a+64>>2]|0;d=0;do{da=h+(d<<2)|0;aa=g[da>>2]|0;g[da>>2]=(W(aa<<1>>16,e)|0)+((W(aa&32767,e)|0)>>15);d=d+1|0}while((d|0)<(g[ha>>2]|0))}}da=a+4|0;if(!((g[da>>2]|0)==0?!(g[ga>>2]|0):0))r=46;if((r|0)==46?(o=g[ha>>2]|0,(o|0)>0):0){e=g[a+56>>2]|0;d=0;do{f[e+(d<<1)>>1]=f[ia+(d<<1)>>1]|0;d=d+1|0}while((d|0)<(o|0))}d=g[(g[S>>2]|0)+(g[R>>2]<<2)>>2]|0;if((g[d>>2]|0)==-1)P=0;else{P=g[a+28>>2]|0;P=(Lb(b,7)|0)+P|0;d=g[(g[S>>2]|0)+(g[R>>2]<<2)>>2]|0}if(!(g[d+4>>2]|0))N=0;else N=((((Lb(b,4)|0)<<22>>16)*2185|0)+16384|0)>>>15&65535;aa=g[1904+((Lb(b,5)|0)<<2)>>2]|0;aa=((aa<<1>>16)*28406|0)+(((aa&32767)*28406|0)>>>15)|0;U=g[ha>>2]<<1;d=q+(q&1)+U|0;U=d+(0-U)|0;O=g[ea>>2]<<2;d=d+(0-d&3)+O|0;M=0-O|0;L=d+M|0;O=d+(0-d&3)+O|0;M=O+M|0;d=g[R>>2]|0;if((d|0)==1){g[a+484>>2]=(Lb(b,4)|0)==15&1;d=g[R>>2]|0}if((d|0)>1)g[a+484>>2]=0;T=a+20|0;do{if((g[T>>2]|0)>0){t=a+52|0;u=a+80|0;v=a+28|0;w=a+96|0;x=X+2|0;y=X+4|0;z=a+108|0;A=O;B=O+(0-A&3)|0;q=(((((N&65535)<<16)+-851968>>16)*24576|0)+8192|0)>>>14;q=q&32768|0?0:q&65535;C=a+480|0;D=a+468|0;q=(q<<16>>16<64?q:64)<<16>>16;E=(W(q,-28508160)|0)+2147418112>>16;F=(W(q,5046272)|0)>>16;G=a+472|0;H=a+476|0;J=P<<16>>15;I=J>>>0>65535;l=I?J>>>16:J;I=I?8:0;K=l>>>0>255;l=K?l>>>8:l;I=K?I|4:I;K=l>>>0>15;I=(K?l>>>4:l)>>>0>3|(K?I|2:I);K=I<<1;K=((I&65535)<<16>>16>6?J>>K+-12:J<<12-K)<<16>>16;K=((W(((W((K*16816|0)+-827523072>>16,K)|0)>>>14<<16)+1387593728>>16,K)|0)>>>14<<16)+238157824>>16;I=13-I|0;J=aa<<2;I=(W((W(J+32768>>16<<10,q)|0)+32768>>16,((I|0)>0?K>>I:K<<0-I)<<16>>16)|0)&65535;J=J>>16;K=aa&16383;q=0;l=40;m=0;s=0;d=g[ea>>2]|0;while(1){k=W(d,q)|0;o=(g[t>>2]|0)+(k<<1)|0;n=g[u>>2]|0;n=(n|0)==0?0:n+(k<<1)|0;Md(o|0,0,d<<1|0)|0;h=g[(g[S>>2]|0)+(g[R>>2]<<2)>>2]|0;j=g[h+28>>2]|0;if(!j){r=61;break}d=g[h>>2]|0;switch(d|0){case-1:{d=g[Q>>2]|0;e=g[v>>2]|0;break}case 0:{d=P;e=P;break}default:{e=P-d+1|0;r=g[v>>2]|0;d=d+P|0;ma=g[Q>>2]|0;d=(d|0)>(ma|0)?ma:d;e=(e|0)<(r|0)?r:e}}ue[j&3](o,M,e,d,N,g[h+32>>2]|0,g[ea>>2]|0,V,X,b,O,g[ga>>2]|0,k,f[w>>1]|0,0);Oa(M,-262144e3,262144e3,g[ea>>2]|0);k=f[x>>1]|0;h=k<<16>>16;r=f[X>>1]|0;ma=r<<16>>16;j=f[y>>1]|0;e=j<<16>>16;e=(r<<16>>16>0?ma:0-(ma>>>1)|0)+(k<<16>>16<0?0-h|0:h)+(j<<16>>16>0?e:0-(e>>>1)|0)|0;j=e&65535;e=e<<16>>16;s=e+(s&65535)|0;h=m<<16>>16;k=(e|0)>(h|0);if(((k?(Y=g[V>>2]|0,ma=(l<<1)-Y|0,(((ma|0)<0?0-ma|0:ma)|0)>2):0)?(ma=(l*3|0)-Y|0,(((ma|0)<0?0-ma|0:ma)|0)>3):0)?(ma=(l<<2)-Y|0,(((ma|0)<0?0-ma|0:ma)|0)>4):0){d=Y;r=77}else r=69;do{if((r|0)==69){r=0;if((e|0)>(h*19661>>15|0)){d=g[V>>2]|0;ma=l-(d<<1)|0;if((((ma|0)<0?0-ma|0:ma)|0)<3){r=77;break}ma=(W(d,-3)|0)+l|0;if((((ma|0)<0?0-ma|0:ma)|0)<4){r=77;break}ma=l-(d<<2)|0;if((((ma|0)<0?0-ma|0:ma)|0)<5){r=77;break}}if((e*21955>>15|0)>(h|0)){d=g[V>>2]|0;ma=(l<<1)-d|0;if(!(((((ma|0)<0?0-ma|0:ma)|0)>=3?(ma=(l*3|0)-d|0,(((ma|0)<0?0-ma|0:ma)|0)>=4):0)?(ma=(l<<2)-d|0,(((ma|0)<0?0-ma|0:ma)|0)>=5):0))r=77}}}while(0);if((r|0)==77){l=d;m=k?j:m}Md(L|0,0,g[ea>>2]<<2|0)|0;switch(g[(g[(g[S>>2]|0)+(g[R>>2]<<2)>>2]|0)+8>>2]|0){case 3:{h=f[2688+((Lb(b,3)|0)<<1)>>1]|0;h=((W(h,K)|0)>>14)+(W(h,J)|0)|0;break}case 1:{h=f[2706+((Lb(b,1)|0)<<1)>>1]|0;h=((W(h,K)|0)>>14)+(W(h,J)|0)|0;break}default:h=aa}d=g[(g[S>>2]|0)+(g[R>>2]<<2)>>2]|0;e=g[d+40>>2]|0;if(!e){r=82;break}re[e&3](L,g[d+44>>2]|0,g[ea>>2]|0,b,O,z);Qa(L,L,h,g[ea>>2]|0);d=g[ea>>2]|0;if(g[(g[(g[S>>2]|0)+(g[R>>2]<<2)>>2]|0)+12>>2]|0){ma=d<<2;d=B+ma|0;j=d+(0-ma)|0;Md(j|0,0,ma|0)|0;ma=g[(g[S>>2]|0)+(g[R>>2]<<2)>>2]|0;re[g[ma+40>>2]&3](j,g[ma+44>>2]|0,g[ea>>2]|0,b,d,z);Qa(j,j,((h<<1>>16)*14895|0)+(((h&32767)*14895|0)>>>15)|0,g[ea>>2]|0);d=g[ea>>2]|0;if((d|0)>0){e=0;do{d=L+(e<<2)|0;g[d>>2]=(g[j+(e<<2)>>2]|0)+(g[d>>2]|0);e=e+1|0;d=g[ea>>2]|0}while((e|0)<(d|0));r=84}else{h=0;r=88}}else r=84;if((r|0)==84){r=0;h=(d|0)>0;if(h){e=0;do{ma=(g[L+(e<<2)>>2]|0)+8192+(g[M+(e<<2)>>2]<<1)>>14;f[o+(e<<1)>>1]=(ma|0)>32767?32767:((ma|0)>-32767?ma:-32767)&65535;e=e+1|0}while((e|0)<(d|0));r=88}}if((r|0)==88)if((n|0)!=0&h){e=0;do{f[n+(e<<1)>>1]=((g[L+(e<<2)>>2]|0)+8192|0)>>>14;e=e+1|0}while((e|0)!=(d|0))}if((g[R>>2]|0)==1){Md(o|0,0,d<<1|0)|0;d=g[C>>2]|0;h=g[ea>>2]|0;if((d|0)<(h|0)){do{if((d|0)>-1)f[o+(d<<1)>>1]=I;d=d+P|0}while((d|0)<(h|0));g[C>>2]=d}g[C>>2]=d-h;if((h|0)>0){d=0;e=g[G>>2]|0;do{ma=o+(d<<1)|0;r=f[ma>>1]|0;n=e;e=g[L+(d<<2)>>2]|0;f[ma>>1]=((W((e<<2)+32768>>16,E)|0)>>>15)+((((r<<16>>16)*45876&-65536)+((f[D>>1]|0)*19660|0)|0)>>>16)-((W((n<<2)+32768>>16,F)|0)>>>15);f[D>>1]=r;g[G>>2]=e;r=(((f[H>>1]|0)*26214|0)+16384+((f[ma>>1]|0)*6554|0)|0)>>>15;f[H>>1]=r;f[ma>>1]=(i[ma>>1]|0)-r;d=d+1|0}while((d|0)!=(h|0));d=h}else d=h}q=q+1|0;if((q|0)>=(g[T>>2]|0)){r=100;break}}if((r|0)==61)Wb(12663,1321);else if((r|0)==82)Wb(12702,1397);else if((r|0)==100){ja=l;ka=((s<<16>>16)+2|0)>>>2&65535;Z=A;break}}else{ja=40;ka=0;Z=O}}while(0);d=g[ha>>2]|0;r=d<<1;q=O+(Z&1)+r|0;r=q+(0-r)|0;if(((g[a+124>>2]|0)!=0?($=f[(g[(g[S>>2]|0)+(g[R>>2]<<2)>>2]|0)+48>>1]|0,$<<16>>16>0):0)?(g[ga>>2]|0)==0:0){Y=a+52|0;ma=g[ea>>2]|0;Z=a+60|0;cb((g[Y>>2]|0)+(0-ma<<1)|0,c,g[Z>>2]|0,d,ma<<1,ja,40,$,q);$=g[ea>>2]|0;ma=$<<1;cb((g[Y>>2]|0)+($<<1)|0,c+(ma<<1)|0,g[Z>>2]|0,g[ha>>2]|0,ma,ja,40,f[(g[(g[S>>2]|0)+(g[R>>2]<<2)>>2]|0)+48>>1]|0,q)}else Td(c|0,(g[a+52>>2]|0)+(0-(g[ea>>2]|0)<<1)|0,g[fa>>2]<<1|0)|0;if(g[ga>>2]|0?(ba=a+52|0,_=(((Ta(g[ba>>2]|0,g[fa>>2]|0)|0)&65535)<<16)+65536|0,_=((_>>17)+aa|0)/(_>>16|0)|0,ca=g[fa>>2]|0,(ca|0)>0):0){j=((_|0)<32767?_:32767)<<16>>16;e=g[ba>>2]|0;h=g[ea>>2]|0;d=0;do{ma=e+(d<<1)|0;f[ma>>1]=(W(f[ma>>1]|0,j)|0)>>>14;f[c+(d<<1)>>1]=f[e+(d-h<<1)>>1]|0;d=d+1|0}while((d|0)<(ca|0))}d=g[T>>2]|0;if((d|0)>0){l=a+56|0;m=a+76|0;n=a+60|0;o=a+64|0;k=0;h=g[ha>>2]|0;do{j=c+((W(g[ea>>2]|0,k)|0)<<1)|0;gb(g[l>>2]|0,ia,r,h,k,d);fb(r,g[ha>>2]|0,16);eb(r,U,g[ha>>2]|0,q);h=g[ha>>2]|0;if((h|0)>0){d=8192;e=0;do{d=(f[U+((e|1)<<1)>>1]|0)+d-(f[U+(e<<1)>>1]|0)|0;e=e+2|0}while((e|0)<(h|0))}else d=8192;g[(g[m>>2]|0)+(k<<2)>>2]=d;Wa(j,g[n>>2]|0,j,g[ea>>2]|0,g[ha>>2]|0,g[o>>2]|0,q);h=g[ha>>2]|0;if((h|0)>0){e=g[n>>2]|0;d=0;do{f[e+(d<<1)>>1]=f[U+(d<<1)>>1]|0;d=d+1|0}while((d|0)<(h|0))}k=k+1|0;d=g[T>>2]|0}while((k|0)<(d|0))}if(g[a+492>>2]|0)Pa(c,c,g[fa>>2]|0,g[a+488>>2]|0?3:1,a+68|0);ea=((aa+8192|0)>>>14)+1|0;d=ea&65535;f[a+84>>1]=d;e=a+86|0;c=(f[e>>1]|0)*32440>>15;ma=ea<<16>>16;ma=((c|0)>(ma|0)?c:ma)&65535;f[e>>1]=ma;c=a+88|0;fa=(((f[c>>1]|0)*66192|0)>>>16)+1|0;d=(fa<<16|0)<(ea<<16|0)?fa&65535:d;f[c>>1]=d;if(ma<<16>>16<=d<<16>>16)f[e>>1]=(d&65535)+1;e=g[ha>>2]|0;if((e|0)>0){h=g[a+56>>2]|0;d=0;do{f[h+(d<<1)>>1]=f[ia+(d<<1)>>1]|0;d=d+1|0}while((d|0)<(e|0))}g[da>>2]=0;g[ga>>2]=0;g[a+92>>2]=ja;f[a+96>>1]=ka;d=a+104|0;ma=g[d>>2]|0;g[d>>2]=ma+1;f[a+98+(ma<<1)>>1]=ka;if((g[d>>2]|0)>2)g[d>>2]=0;f[a+40>>1]=aa;ma=0;p=la;return ma|0}function $b(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,h=0,i=0,j=0,l=0;l=p;p=p+32|0;d=l;h=l+16|0;i=l+12|0;j=l+8|0;do{switch(b|0){case 3:{g[c>>2]=g[a+8>>2];a=0;p=l;return a|0}case 6:case 8:{c=g[c>>2]|0;g[a+208>>2]=c;g[a+212>>2]=c;a=0;p=l;return a|0}case 7:case 9:{g[c>>2]=g[a+208>>2];a=0;p=l;return a|0}case 12:{g[a+152>>2]=g[c>>2];a=0;p=l;return a|0}case 13:{g[c>>2]=g[a+152>>2];a=0;p=l;return a|0}case 30:{g[a+160>>2]=g[c>>2];a=0;p=l;return a|0}case 31:{g[c>>2]=g[a+160>>2];a=0;p=l;return a|0}case 34:{g[a+164>>2]=g[c>>2];a=0;p=l;return a|0}case 35:{g[c>>2]=g[a+164>>2];a=0;p=l;return a|0}case 32:{e=g[c>>2]|0;g[a+172>>2]=e;e=(e|0)!=0;g[a+152>>2]=e&1;if(!e){a=0;p=l;return a|0}g[h>>2]=10;d=g[c>>2]|0;while(1){tb(a,4,h)|0;tb(a,19,i)|0;b=g[h>>2]|0;if((g[i>>2]|0)<=(d|0))break;e=b+-1|0;g[h>>2]=e;if((b|0)<=0){b=e;break}}k[j>>2]=(b|0)<0?0:+(b|0);tb(a,14,j)|0;k[a+184>>2]=0;k[a+176>>2]=0;k[a+180>>2]=0;a=0;p=l;return a|0}case 33:{g[c>>2]=g[a+172>>2];a=0;p=l;return a|0}case 14:{g[a+144>>2]=g[c>>2];a=0;p=l;return a|0}case 15:{g[c>>2]=g[a+144>>2];a=0;p=l;return a|0}case 4:{c=g[c>>2]|0;c=(c|0)>0?c:0;c=g[(g[g[a>>2]>>2]|0)+96+(((c|0)<10?c:10)<<2)>>2]|0;g[a+208>>2]=c;g[a+212>>2]=c;a=0;p=l;return a|0}case 16:{c=g[c>>2]|0;g[a+188>>2]=(c|0)>0?c:0;a=0;p=l;return a|0}case 17:{g[c>>2]=g[a+188>>2];a=0;p=l;return a|0}case 18:{g[h>>2]=10;b=g[c>>2]|0;do{tb(a,4,h)|0;tb(a,19,i)|0;if((g[i>>2]|0)<=(b|0))break;c=g[h>>2]|0;g[h>>2]=c+-1}while((c|0)>0);a=0;p=l;return a|0}case 19:{b=g[(g[a+204>>2]|0)+(g[a+208>>2]<<2)>>2]|0;if(!b)b=5;else b=g[b+52>>2]|0;g[c>>2]=(W(b,g[a+192>>2]|0)|0)/(g[a+8>>2]|0)|0;a=0;p=l;return a|0}case 24:{g[a+192>>2]=g[c>>2];a=0;p=l;return a|0}case 25:{g[c>>2]=g[a+192>>2];a=0;p=l;return a|0}case 26:{g[a+40>>2]=1;g[a+4>>2]=1;j=a+24|0;d=g[j>>2]|0;e=(d|0)>0;if(e){h=g[a+96>>2]|0;i=d+1|0;b=0;do{c=b;b=b+1|0;f[h+(c<<1)>>1]=((b<<16>>16)*25736|0)/(i|0)|0}while((b|0)<(d|0));if(e){d=g[a+116>>2]|0;e=g[a+104>>2]|0;h=g[a+112>>2]|0;i=g[a+108>>2]|0;b=0;do{g[d+(b<<2)>>2]=0;g[e+(b<<2)>>2]=0;g[h+(b<<2)>>2]=0;g[i+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(g[j>>2]|0))}}i=g[a+8>>2]|0;d=(g[a+32>>2]|0)+i|0;if((d|0)>=0){e=g[a+80>>2]|0;h=g[a+72>>2]|0;b=0;while(1){f[e+(b<<1)>>1]=0;f[h+(b<<1)>>1]=0;if((b|0)<(d|0))b=b+1|0;else break}}b=g[a+20>>2]|0;if((b|0)<=(i|0)){a=0;p=l;return a|0}c=b-i|0;Md(g[a+68>>2]|0,0,((c|0)>1?c:1)<<1|0)|0;a=0;p=l;return a|0}case 36:{g[a+200>>2]=g[c>>2];a=0;p=l;return a|0}case 37:{g[c>>2]=g[a+200>>2];a=0;p=l;return a|0}case 39:{g[c>>2]=(g[a+20>>2]|0)-(g[a+8>>2]|0);a=0;p=l;return a|0}case 40:{c=g[c>>2]|0;g[a+196>>2]=(c|0)<100?c:100;p=l;return 0}case 41:{g[c>>2]=g[a+196>>2];a=0;p=l;return a|0}case 42:{g[a+156>>2]=g[c>>2];a=0;p=l;return a|0}case 43:{g[c>>2]=g[a+156>>2];a=0;p=l;return a|0}case 44:{g[a+220>>2]=g[c>>2];a=0;p=l;return a|0}case 45:{g[c>>2]=g[a+220>>2];a=0;p=l;return a|0}case 100:{e=a+16|0;if((g[e>>2]|0)<=0){a=0;p=l;return a|0}d=g[a+132>>2]|0;b=0;do{g[c+(b<<2)>>2]=g[d+(b<<2)>>2];b=b+1|0}while((b|0)<(g[e>>2]|0));b=0;p=l;return b|0}case 101:{e=a+16|0;if((g[e>>2]|0)<=0){a=0;p=l;return a|0}h=a+76|0;d=a+12|0;b=0;do{a=g[d>>2]|0;f[c+(b<<1)>>1]=Ta((g[h>>2]|0)+((W(a,b)|0)<<1)|0,a)|0;b=b+1|0}while((b|0)<(g[e>>2]|0));b=0;p=l;return b|0}case 29:{g[c>>2]=g[a+148>>2];a=0;p=l;return a|0}case 104:{g[a+136>>2]=c;a=0;p=l;return a|0}case 105:{g[a+216>>2]=g[c>>2];a=0;p=l;return a|0}case 106:{g[c>>2]=g[a+64>>2];a=0;p=l;return a|0}default:{a=g[517]|0;g[d>>2]=12815;g[d+4>>2]=b;sd(a,12799,d)|0;a=-1;p=l;return a|0}}}while(0);return 0}function _b(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,h=0,i=0,j=0;i=p;p=p+16|0;d=i;do{switch(b|0){case 6:case 8:{g[a+120>>2]=g[c>>2];b=0;break}case 7:case 9:{g[c>>2]=g[a+120>>2];b=0;break}case 0:{g[a+124>>2]=g[c>>2];b=0;break}case 1:{g[c>>2]=g[a+124>>2];b=0;break}case 3:{g[c>>2]=g[a+12>>2];b=0;break}case 19:{b=g[(g[a+116>>2]|0)+(g[a+120>>2]<<2)>>2]|0;if(!b)b=5;else b=g[b+52>>2]|0;g[c>>2]=(W(b,g[a+36>>2]|0)|0)/(g[a+12>>2]|0)|0;b=0;break}case 24:{g[a+36>>2]=g[c>>2];b=0;break}case 25:{g[c>>2]=g[a+36>>2];b=0;break}case 20:{a=a+128|0;b=g[c>>2]|0;g[a+(b*20|0)+4>>2]=g[c+4>>2];g[a+(b*20|0)+8>>2]=g[c+8>>2];g[a+(b*20|0)>>2]=b;b=0;break}case 22:{g[a+452>>2]=g[c+4>>2];g[a+456>>2]=g[c+8>>2];g[a+448>>2]=g[c>>2];b=0;break}case 26:{e=a+24|0;if((g[e>>2]|0)>0){d=g[a+64>>2]|0;b=0;do{g[d+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(g[e>>2]|0))}b=(g[a+32>>2]|0)+(g[a+12>>2]|0)|0;if((b|0)<0)b=0;else{Md(g[a+48>>2]|0,0,(b<<1)+2|0)|0;b=0}break}case 36:{g[a+112>>2]=g[c>>2];b=0;break}case 37:{g[c>>2]=g[a+112>>2];b=0;break}case 39:{g[c>>2]=g[a+16>>2];b=0;break}case 44:{g[a+492>>2]=g[c>>2];b=0;break}case 45:{g[c>>2]=g[a+492>>2];b=0;break}case 47:{b=f[a+88>>1]|0;j=+U(+ +((f[a+84>>1]|0)/(b|0)|0|0));j=j/+U(+ +((f[a+86>>1]|0)/(b|0)|0|0));j=j>1?1:j;g[c>>2]=~~((j>0?j:0)*100);b=0;break}case 100:{e=a+20|0;if((g[e>>2]|0)>0){d=g[a+76>>2]|0;b=0;do{g[c+(b<<2)>>2]=g[d+(b<<2)>>2];b=b+1|0}while((b|0)<(g[e>>2]|0));b=0}else b=0;break}case 101:{e=a+20|0;if((g[e>>2]|0)>0){h=a+52|0;d=a+16|0;b=0;do{a=g[d>>2]|0;f[c+(b<<1)>>1]=Ta((g[h>>2]|0)+((W(a,b)|0)<<1)|0,a)|0;b=b+1|0}while((b|0)<(g[e>>2]|0));b=0}else b=0;break}case 103:{g[c>>2]=g[a+484>>2];b=0;break}case 104:{g[a+80>>2]=c;b=0;break}case 105:{g[a+488>>2]=g[c>>2];b=0;break}case 106:{g[c>>2]=g[a+44>>2];b=0;break}default:{c=g[517]|0;g[d>>2]=12815;g[d+4>>2]=b;sd(c,12799,d)|0;b=-1}}}while(0);p=i;return b|0}function ac(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var g=0,h=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,E=0,F=0,G=0,H=0,I=0,J=0;J=p;p=p+32|0;C=J;I=(c|0)>0;if(I){g=0;do{f[b+(g<<1)>>1]=f[a+(g<<1)>>1]|0;g=g+1|0}while((g|0)!=(c|0));if(I){l=c+-1|0;k=0;do{g=f[b+(k<<1)>>1]|0;m=g<<16>>16;if(k)g=m-(i[b+(k+-1<<1)>>1]|0)&65535;h=k;k=k+1|0;if((h|0)==(l|0))j=25736;else j=i[b+(k<<1)>>1]|0;H=j-m|0;f[C+(h<<1)>>1]=81920/(((((H<<16>>16|0)<(g<<16>>16|0)?H&65535:g)&65535)<<16)+19660800>>16|0)|0}while((k|0)!=(c|0));if(I){g=0;do{H=b+(g<<1)|0;g=g+1|0;f[H>>1]=(i[H>>1]|0)-(g<<11)}while((g|0)!=(c|0));if(I){j=10408;n=0;k=2147483647;l=0;while(1){m=0;g=0;h=j;while(1){H=(i[b+(g<<1)>>1]|0)-(e[h>>0]<<5)<<16>>16;m=(W(H,H)|0)+m|0;g=g+1|0;if((g|0)==(c|0))break;else h=h+1|0}g=(m|0)<(k|0);n=g?l:n;l=l+1|0;if((l|0)==64)break;else{j=j+c|0;k=g?m:k}}h=W(n,c)|0;g=0;do{H=b+(g<<1)|0;f[H>>1]=(i[H>>1]|0)-(e[10408+(g+h)>>0]<<5);g=g+1|0}while((g|0)!=(c|0));Kb(d,n,6);if(I){g=0;do{H=b+(g<<1)|0;f[H>>1]=f[H>>1]<<1;g=g+1|0}while((g|0)!=(c|0))}}else o=18}else o=18}else o=18}else o=18;if((o|0)==18)Kb(d,0,6);u=b+2|0;v=b+4|0;w=b+6|0;x=b+8|0;n=i[b>>1]|0;o=f[C>>1]|0;q=i[u>>1]|0;y=f[C+2>>1]|0;r=i[v>>1]|0;z=f[C+4>>1]|0;s=i[w>>1]|0;A=f[C+6>>1]|0;t=i[x>>1]|0;B=f[C+8>>1]|0;g=11048;h=0;j=2147483647;k=0;while(1){l=n-(e[g>>0]<<5)<<16>>16;l=W(l,l)|0;l=((W(l&32767,o)|0)>>15)+(W(l<<1>>16,o)|0)|0;m=q-(e[g+1>>0]<<5)<<16>>16;m=W(m,m)|0;m=((W(m&32767,y)|0)>>15)+l+(W(m<<1>>16,y)|0)|0;l=r-(e[g+2>>0]<<5)<<16>>16;l=W(l,l)|0;l=((W(l&32767,z)|0)>>15)+m+(W(l<<1>>16,z)|0)|0;m=s-(e[g+3>>0]<<5)<<16>>16;m=W(m,m)|0;m=((W(m&32767,A)|0)>>15)+l+(W(m<<1>>16,A)|0)|0;l=t-(e[g+4>>0]<<5)<<16>>16;l=W(l,l)|0;l=((W(l&32767,B)|0)>>15)+m+(W(l<<1>>16,B)|0)|0;m=(l|0)<(j|0);h=m?k:h;k=k+1|0;if((k|0)==64)break;else{g=g+5|0;j=m?l:j}}g=h*5|0;f[b>>1]=(i[b>>1]|0)-(e[11048+g>>0]<<5);f[u>>1]=(i[u>>1]|0)-(e[11048+(g+1)>>0]<<5);f[v>>1]=(i[v>>1]|0)-(e[11048+(g+2)>>0]<<5);f[w>>1]=(i[w>>1]|0)-(e[11048+(g+3)>>0]<<5);f[x>>1]=(i[x>>1]|0)-(e[11048+(g+4)>>0]<<5);Kb(d,h,6);g=f[b>>1]<<1&65535;f[b>>1]=g;o=f[u>>1]<<1;f[u>>1]=o;q=f[v>>1]<<1;f[v>>1]=q;r=f[w>>1]<<1;f[w>>1]=r;s=f[x>>1]<<1;f[x>>1]=s;t=f[C>>1]|0;m=11368;j=0;n=2147483647;h=0;while(1){k=(g&65535)-(e[m>>0]<<5)<<16>>16;k=W(k,k)|0;k=((W(k&32767,t)|0)>>15)+(W(k<<1>>16,t)|0)|0;l=o-(e[m+1>>0]<<5)<<16>>16;l=W(l,l)|0;l=((W(l&32764,y)|0)>>15)+k+(W(l<<1>>16,y)|0)|0;k=q-(e[m+2>>0]<<5)<<16>>16;k=W(k,k)|0;k=((W(k&32764,z)|0)>>15)+l+(W(k<<1>>16,z)|0)|0;l=r-(e[m+3>>0]<<5)<<16>>16;l=W(l,l)|0;l=((W(l&32764,A)|0)>>15)+k+(W(l<<1>>16,A)|0)|0;k=s-(e[m+4>>0]<<5)<<16>>16;k=W(k,k)|0;k=((W(k&32764,B)|0)>>15)+l+(W(k<<1>>16,B)|0)|0;l=(k|0)<(n|0);g=l?h:j;h=h+1|0;if((h|0)==64)break;m=m+5|0;j=g;n=l?k:n;g=f[b>>1]|0}H=g*5|0;f[b>>1]=(i[b>>1]|0)-(e[11368+H>>0]<<5);f[u>>1]=o-(e[11368+(H+1)>>0]<<5);f[v>>1]=q-(e[11368+(H+2)>>0]<<5);f[w>>1]=r-(e[11368+(H+3)>>0]<<5);f[x>>1]=s-(e[11368+(H+4)>>0]<<5);Kb(d,g,6);H=b+10|0;y=C+10|0;D=b+12|0;z=C+12|0;E=b+14|0;A=C+14|0;F=b+16|0;B=C+16|0;G=b+18|0;C=C+18|0;l=i[H>>1]|0;m=f[y>>1]|0;n=i[D>>1]|0;o=f[z>>1]|0;q=i[E>>1]|0;r=f[A>>1]|0;s=i[F>>1]|0;t=f[B>>1]|0;u=i[G>>1]|0;v=f[C>>1]|0;g=11688;h=0;j=2147483647;k=0;while(1){w=l-(e[g>>0]<<5)<<16>>16;w=W(w,w)|0;w=((W(w&32767,m)|0)>>15)+(W(w<<1>>16,m)|0)|0;x=n-(e[g+1>>0]<<5)<<16>>16;x=W(x,x)|0;x=((W(x&32767,o)|0)>>15)+w+(W(x<<1>>16,o)|0)|0;w=q-(e[g+2>>0]<<5)<<16>>16;w=W(w,w)|0;w=((W(w&32767,r)|0)>>15)+x+(W(w<<1>>16,r)|0)|0;x=s-(e[g+3>>0]<<5)<<16>>16;x=W(x,x)|0;x=((W(x&32767,t)|0)>>15)+w+(W(x<<1>>16,t)|0)|0;w=u-(e[g+4>>0]<<5)<<16>>16;w=W(w,w)|0;w=((W(w&32767,v)|0)>>15)+x+(W(w<<1>>16,v)|0)|0;x=(w|0)<(j|0);h=x?k:h;k=k+1|0;if((k|0)==64)break;else{g=g+5|0;j=x?w:j}}g=h*5|0;f[H>>1]=(i[H>>1]|0)-(e[11688+g>>0]<<5);f[D>>1]=(i[D>>1]|0)-(e[11688+(g+1)>>0]<<5);f[E>>1]=(i[E>>1]|0)-(e[11688+(g+2)>>0]<<5);f[F>>1]=(i[F>>1]|0)-(e[11688+(g+3)>>0]<<5);f[G>>1]=(i[G>>1]|0)-(e[11688+(g+4)>>0]<<5);Kb(d,h,6);g=f[H>>1]<<1&65535;f[H>>1]=g;t=b+12|0;u=f[t>>1]<<1;f[t>>1]=u;t=b+14|0;v=f[t>>1]<<1;f[t>>1]=v;t=b+16|0;w=f[t>>1]<<1;f[t>>1]=w;t=b+18|0;x=f[t>>1]<<1;f[t>>1]=x;t=f[y>>1]|0;s=f[z>>1]|0;r=f[A>>1]|0;q=f[B>>1]|0;o=f[C>>1]|0;m=12008;j=0;n=2147483647;h=0;while(1){k=(g&65535)-(e[m>>0]<<5)<<16>>16;k=W(k,k)|0;k=((W(k&32767,t)|0)>>15)+(W(k<<1>>16,t)|0)|0;l=u-(e[m+1>>0]<<5)<<16>>16;l=W(l,l)|0;l=((W(l&32764,s)|0)>>15)+k+(W(l<<1>>16,s)|0)|0;k=v-(e[m+2>>0]<<5)<<16>>16;k=W(k,k)|0;k=((W(k&32764,r)|0)>>15)+l+(W(k<<1>>16,r)|0)|0;l=w-(e[m+3>>0]<<5)<<16>>16;l=W(l,l)|0;l=((W(l&32764,q)|0)>>15)+k+(W(l<<1>>16,q)|0)|0;k=x-(e[m+4>>0]<<5)<<16>>16;k=W(k,k)|0;k=((W(k&32764,o)|0)>>15)+l+(W(k<<1>>16,o)|0)|0;l=(k|0)<(n|0);g=l?h:j;h=h+1|0;if((h|0)==64)break;m=m+5|0;j=g;n=l?k:n;g=f[H>>1]|0}C=g*5|0;f[H>>1]=(i[H>>1]|0)-(e[12008+C>>0]<<5);f[D>>1]=(i[D>>1]|0)-(e[12008+(C+1)>>0]<<5);f[E>>1]=(i[E>>1]|0)-(e[12008+(C+2)>>0]<<5);f[F>>1]=(i[F>>1]|0)-(e[12008+(C+3)>>0]<<5);f[G>>1]=(i[G>>1]|0)-(e[12008+(C+4)>>0]<<5);Kb(d,g,6);if(I)g=0;else{p=J;return}do{d=b+(g<<1)|0;f[d>>1]=((f[d>>1]|0)+2|0)>>>2;g=g+1|0}while((g|0)!=(c|0));if(I)g=0;else{p=J;return}do{I=b+(g<<1)|0;f[I>>1]=(i[a+(g<<1)>>1]|0)-(i[I>>1]|0);g=g+1|0}while((g|0)!=(c|0));p=J;return}function bc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;if((b|0)>0){d=0;do{g=d;d=d+1|0;f[a+(g<<1)>>1]=d<<11}while((d|0)!=(b|0))}l=(Lb(c,6)|0)*10|0;f[a>>1]=(e[10408+l>>0]<<5)+(i[a>>1]|0);o=a+2|0;f[o>>1]=(e[10408+(l|1)>>0]<<5)+(i[o>>1]|0);n=a+4|0;f[n>>1]=(e[10408+(l+2)>>0]<<5)+(i[n>>1]|0);m=a+6|0;f[m>>1]=(e[10408+(l+3)>>0]<<5)+(i[m>>1]|0);k=a+8|0;f[k>>1]=(e[10408+(l+4)>>0]<<5)+(i[k>>1]|0);j=a+10|0;f[j>>1]=(e[10408+(l+5)>>0]<<5)+(i[j>>1]|0);h=a+12|0;f[h>>1]=(e[10408+(l+6)>>0]<<5)+(i[h>>1]|0);d=a+14|0;f[d>>1]=(e[10408+(l+7)>>0]<<5)+(i[d>>1]|0);b=a+16|0;f[b>>1]=(e[10408+(l+8)>>0]<<5)+(i[b>>1]|0);g=a+18|0;f[g>>1]=(e[10408+(l+9)>>0]<<5)+(i[g>>1]|0);l=(Lb(c,6)|0)*5|0;f[a>>1]=(e[11048+l>>0]<<4)+(i[a>>1]|0);f[o>>1]=(e[11048+(l+1)>>0]<<4)+(i[o>>1]|0);f[n>>1]=(e[11048+(l+2)>>0]<<4)+(i[n>>1]|0);f[m>>1]=(e[11048+(l+3)>>0]<<4)+(i[m>>1]|0);f[k>>1]=(e[11048+(l+4)>>0]<<4)+(i[k>>1]|0);l=(Lb(c,6)|0)*5|0;f[a>>1]=(e[11368+l>>0]<<3)+(i[a>>1]|0);f[o>>1]=(e[11368+(l+1)>>0]<<3)+(i[o>>1]|0);f[n>>1]=(e[11368+(l+2)>>0]<<3)+(i[n>>1]|0);f[m>>1]=(e[11368+(l+3)>>0]<<3)+(i[m>>1]|0);f[k>>1]=(e[11368+(l+4)>>0]<<3)+(i[k>>1]|0);a=(Lb(c,6)|0)*5|0;f[j>>1]=(e[11688+a>>0]<<4)+(i[j>>1]|0);f[h>>1]=(e[11688+(a+1)>>0]<<4)+(i[h>>1]|0);f[d>>1]=(e[11688+(a+2)>>0]<<4)+(i[d>>1]|0);f[b>>1]=(e[11688+(a+3)>>0]<<4)+(i[b>>1]|0);f[g>>1]=(e[11688+(a+4)>>0]<<4)+(i[g>>1]|0);c=(Lb(c,6)|0)*5|0;f[j>>1]=(e[12008+c>>0]<<3)+(i[j>>1]|0);f[h>>1]=(e[12008+(c+1)>>0]<<3)+(i[h>>1]|0);f[d>>1]=(e[12008+(c+2)>>0]<<3)+(i[d>>1]|0);f[b>>1]=(e[12008+(c+3)>>0]<<3)+(i[b>>1]|0);f[g>>1]=(e[12008+(c+4)>>0]<<3)+(i[g>>1]|0);return}function cc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var g=0,h=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,E=0,F=0;F=p;p=p+32|0;D=F;E=(c|0)>0;if(E){g=0;do{f[b+(g<<1)>>1]=f[a+(g<<1)>>1]|0;g=g+1|0}while((g|0)!=(c|0));if(E){l=c+-1|0;k=0;do{g=f[b+(k<<1)>>1]|0;m=g<<16>>16;if(k)g=m-(i[b+(k+-1<<1)>>1]|0)&65535;h=k;k=k+1|0;if((h|0)==(l|0))j=25736;else j=i[b+(k<<1)>>1]|0;C=j-m|0;f[D+(h<<1)>>1]=81920/(((((C<<16>>16|0)<(g<<16>>16|0)?C&65535:g)&65535)<<16)+19660800>>16|0)|0}while((k|0)!=(c|0));if(E){g=0;do{C=b+(g<<1)|0;g=g+1|0;f[C>>1]=(i[C>>1]|0)-(g<<11)}while((g|0)!=(c|0));if(E){j=10408;n=0;k=2147483647;l=0;while(1){m=0;g=0;h=j;while(1){C=(i[b+(g<<1)>>1]|0)-(e[h>>0]<<5)<<16>>16;m=(W(C,C)|0)+m|0;g=g+1|0;if((g|0)==(c|0))break;else h=h+1|0}g=(m|0)<(k|0);n=g?l:n;l=l+1|0;if((l|0)==64)break;else{j=j+c|0;k=g?m:k}}h=W(n,c)|0;g=0;do{C=b+(g<<1)|0;f[C>>1]=(i[C>>1]|0)-(e[10408+(g+h)>>0]<<5);g=g+1|0}while((g|0)!=(c|0));Kb(d,n,6);if(E){g=0;do{C=b+(g<<1)|0;f[C>>1]=f[C>>1]<<1;g=g+1|0}while((g|0)!=(c|0))}}else o=18}else o=18}else o=18}else o=18;if((o|0)==18)Kb(d,0,6);l=b+2|0;m=b+4|0;n=b+6|0;o=b+8|0;s=i[b>>1]|0;t=f[D>>1]|0;u=i[l>>1]|0;v=f[D+2>>1]|0;w=i[m>>1]|0;x=f[D+4>>1]|0;y=i[n>>1]|0;z=f[D+6>>1]|0;A=i[o>>1]|0;B=f[D+8>>1]|0;g=11048;h=0;j=2147483647;k=0;while(1){q=s-(e[g>>0]<<5)<<16>>16;q=W(q,q)|0;q=((W(q&32767,t)|0)>>15)+(W(q<<1>>16,t)|0)|0;r=u-(e[g+1>>0]<<5)<<16>>16;r=W(r,r)|0;r=((W(r&32767,v)|0)>>15)+q+(W(r<<1>>16,v)|0)|0;q=w-(e[g+2>>0]<<5)<<16>>16;q=W(q,q)|0;q=((W(q&32767,x)|0)>>15)+r+(W(q<<1>>16,x)|0)|0;r=y-(e[g+3>>0]<<5)<<16>>16;r=W(r,r)|0;r=((W(r&32767,z)|0)>>15)+q+(W(r<<1>>16,z)|0)|0;q=A-(e[g+4>>0]<<5)<<16>>16;q=W(q,q)|0;q=((W(q&32767,B)|0)>>15)+r+(W(q<<1>>16,B)|0)|0;r=(q|0)<(j|0);h=r?k:h;k=k+1|0;if((k|0)==64)break;else{g=g+5|0;j=r?q:j}}t=h*5|0;f[b>>1]=(i[b>>1]|0)-(e[11048+t>>0]<<5);f[l>>1]=(i[l>>1]|0)-(e[11048+(t+1)>>0]<<5);f[m>>1]=(i[m>>1]|0)-(e[11048+(t+2)>>0]<<5);f[n>>1]=(i[n>>1]|0)-(e[11048+(t+3)>>0]<<5);f[o>>1]=(i[o>>1]|0)-(e[11048+(t+4)>>0]<<5);Kb(d,h,6);t=b+10|0;o=b+12|0;q=b+14|0;r=b+16|0;s=b+18|0;u=i[t>>1]|0;v=f[D+10>>1]|0;w=i[o>>1]|0;x=f[D+12>>1]|0;y=i[q>>1]|0;z=f[D+14>>1]|0;A=i[r>>1]|0;B=f[D+16>>1]|0;C=i[s>>1]|0;l=f[D+18>>1]|0;g=11688;h=0;j=2147483647;k=0;while(1){m=u-(e[g>>0]<<5)<<16>>16;m=W(m,m)|0;m=((W(m&32767,v)|0)>>15)+(W(m<<1>>16,v)|0)|0;n=w-(e[g+1>>0]<<5)<<16>>16;n=W(n,n)|0;n=((W(n&32767,x)|0)>>15)+m+(W(n<<1>>16,x)|0)|0;m=y-(e[g+2>>0]<<5)<<16>>16;m=W(m,m)|0;m=((W(m&32767,z)|0)>>15)+n+(W(m<<1>>16,z)|0)|0;n=A-(e[g+3>>0]<<5)<<16>>16;n=W(n,n)|0;n=((W(n&32767,B)|0)>>15)+m+(W(n<<1>>16,B)|0)|0;m=C-(e[g+4>>0]<<5)<<16>>16;m=W(m,m)|0;m=((W(m&32767,l)|0)>>15)+n+(W(m<<1>>16,l)|0)|0;n=(m|0)<(j|0);h=n?k:h;k=k+1|0;if((k|0)==64)break;else{g=g+5|0;j=n?m:j}}D=h*5|0;f[t>>1]=(i[t>>1]|0)-(e[11688+D>>0]<<5);f[o>>1]=(i[o>>1]|0)-(e[11688+(D+1)>>0]<<5);f[q>>1]=(i[q>>1]|0)-(e[11688+(D+2)>>0]<<5);f[r>>1]=(i[r>>1]|0)-(e[11688+(D+3)>>0]<<5);f[s>>1]=(i[s>>1]|0)-(e[11688+(D+4)>>0]<<5);Kb(d,h,6);if(E)g=0;else{p=F;return}do{d=b+(g<<1)|0;f[d>>1]=((f[d>>1]|0)+1|0)>>>1;g=g+1|0}while((g|0)!=(c|0));if(E)g=0;else{p=F;return}do{E=b+(g<<1)|0;f[E>>1]=(i[a+(g<<1)>>1]|0)-(i[E>>1]|0);g=g+1|0}while((g|0)!=(c|0));p=F;return}function dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;if((b|0)>0){d=0;do{g=d;d=d+1|0;f[a+(g<<1)>>1]=d<<11}while((d|0)!=(b|0))}l=(Lb(c,6)|0)*10|0;f[a>>1]=(i[a>>1]|0)+(e[10408+l>>0]<<5);o=a+2|0;f[o>>1]=(i[o>>1]|0)+(e[10408+(l|1)>>0]<<5);n=a+4|0;f[n>>1]=(i[n>>1]|0)+(e[10408+(l+2)>>0]<<5);m=a+6|0;f[m>>1]=(i[m>>1]|0)+(e[10408+(l+3)>>0]<<5);k=a+8|0;f[k>>1]=(i[k>>1]|0)+(e[10408+(l+4)>>0]<<5);j=a+10|0;f[j>>1]=(i[j>>1]|0)+(e[10408+(l+5)>>0]<<5);h=a+12|0;f[h>>1]=(i[h>>1]|0)+(e[10408+(l+6)>>0]<<5);d=a+14|0;f[d>>1]=(i[d>>1]|0)+(e[10408+(l+7)>>0]<<5);b=a+16|0;f[b>>1]=(i[b>>1]|0)+(e[10408+(l+8)>>0]<<5);g=a+18|0;f[g>>1]=(i[g>>1]|0)+(e[10408+(l+9)>>0]<<5);l=(Lb(c,6)|0)*5|0;f[a>>1]=(i[a>>1]|0)+(e[11048+l>>0]<<4);f[o>>1]=(i[o>>1]|0)+(e[11048+(l+1)>>0]<<4);f[n>>1]=(i[n>>1]|0)+(e[11048+(l+2)>>0]<<4);f[m>>1]=(i[m>>1]|0)+(e[11048+(l+3)>>0]<<4);f[k>>1]=(i[k>>1]|0)+(e[11048+(l+4)>>0]<<4);c=(Lb(c,6)|0)*5|0;f[j>>1]=(i[j>>1]|0)+(e[11688+c>>0]<<4);f[h>>1]=(i[h>>1]|0)+(e[11688+(c+1)>>0]<<4);f[d>>1]=(i[d>>1]|0)+(e[11688+(c+2)>>0]<<4);f[b>>1]=(i[b>>1]|0)+(e[11688+(c+3)>>0]<<4);f[g>>1]=(i[g>>1]|0)+(e[11688+(c+4)>>0]<<4);return}function ec(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;s=p;p=p+32|0;q=s;r=(c|0)>0;if(r){g=0;do{f[b+(g<<1)>>1]=f[a+(g<<1)>>1]|0;g=g+1|0}while((g|0)!=(c|0));if(r){l=c+-1|0;k=0;do{g=f[b+(k<<1)>>1]|0;m=g<<16>>16;if(k)g=m-(i[b+(k+-1<<1)>>1]|0)&65535;h=k;k=k+1|0;if((h|0)==(l|0))j=25736;else j=i[b+(k<<1)>>1]|0;n=j-m|0;f[q+(h<<1)>>1]=81920/(((((n<<16>>16|0)<(g<<16>>16|0)?n&65535:g)&65535)<<16)+19660800>>16|0)|0}while((k|0)!=(c|0));if(r){g=0;do{n=b+(g<<1)|0;f[n>>1]=(i[n>>1]|0)-(((W(g<<16>>16,167772160)|0)+402653184|0)>>>16);g=g+1|0}while((g|0)!=(c|0));if(r){j=6256;n=0;k=2147483647;l=0;while(1){m=0;g=0;h=j;while(1){t=(i[b+(g<<1)>>1]|0)-(e[h>>0]<<5)<<16>>16;m=(W(t,t)|0)+m|0;g=g+1|0;if((g|0)==(c|0))break;else h=h+1|0}g=(m|0)<(k|0);n=g?l:n;l=l+1|0;if((l|0)==64)break;else{j=j+c|0;k=g?m:k}}h=W(n,c)|0;g=0;do{t=b+(g<<1)|0;f[t>>1]=(i[t>>1]|0)-(e[6256+(g+h)>>0]<<5);g=g+1|0}while((g|0)!=(c|0));Kb(d,n,6);if(r){g=0;do{t=b+(g<<1)|0;f[t>>1]=f[t>>1]<<1;g=g+1|0}while((g|0)!=(c|0));if(r){j=6768;n=0;k=2147483647;l=0;while(1){m=0;g=0;h=j;while(1){t=f[q+(g<<1)>>1]|0;o=(i[b+(g<<1)>>1]|0)-(e[h>>0]<<5)<<16>>16;o=W(o,o)|0;m=((W(o&32767,t)|0)>>15)+m+(W(o<<1>>16,t)|0)|0;g=g+1|0;if((g|0)==(c|0))break;else h=h+1|0}g=(m|0)<(k|0);n=g?l:n;l=l+1|0;if((l|0)==64)break;else{j=j+c|0;k=g?m:k}}h=W(n,c)|0;g=0;do{t=b+(g<<1)|0;f[t>>1]=(i[t>>1]|0)-(e[6768+(g+h)>>0]<<5);g=g+1|0}while((g|0)!=(c|0));Kb(d,n,6);if(r)g=0;else{p=s;return}do{t=b+(g<<1)|0;f[t>>1]=((f[t>>1]|0)+1|0)>>>1;g=g+1|0}while((g|0)!=(c|0));if(r)g=0;else{p=s;return}do{t=b+(g<<1)|0;f[t>>1]=(i[a+(g<<1)>>1]|0)-(i[t>>1]|0);g=g+1|0}while((g|0)!=(c|0));p=s;return}}}else o=18}else o=18}else o=18}else o=18;if((o|0)==18)Kb(d,0,6);Kb(d,0,6);p=s;return}function fc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,g=0,h=0,j=0;h=(b|0)>0;if(h){d=0;do{f[a+(d<<1)>>1]=((W(d<<16>>16,167772160)|0)>>>16)+6144;d=d+1|0}while((d|0)!=(b|0));d=Lb(c,6)|0;if(h){g=W(d,b)|0;d=0;do{j=a+(d<<1)|0;f[j>>1]=(i[j>>1]|0)+(e[6256+(d+g)>>0]<<5);d=d+1|0}while((d|0)!=(b|0));d=Lb(c,6)|0;if(!h)return;g=W(d,b)|0;d=0;do{j=a+(d<<1)|0;f[j>>1]=(i[j>>1]|0)+(e[6768+(d+g)>>0]<<4);d=d+1|0}while((d|0)!=(b|0));return}}else Lb(c,6)|0;Lb(c,6)|0;return}function gc(a){a=a|0;var b=0,c=0,d=0,e=0,h=0,i=0,j=0,l=0,m=0;i=p;p=p+16|0;b=i;h=Ad(168,1)|0;if(!h){h=0;p=i;return h|0}g[h>>2]=a;l=g[a>>2]|0;a=nb(g[l>>2]|0)|0;e=h+4|0;g[e>>2]=a;tb(a,106,h+44|0)|0;a=g[l+4>>2]|0;g[h+8>>2]=a<<1;c=h+12|0;g[c>>2]=a;m=g[l+8>>2]|0;g[h+16>>2]=m;d=h+20|0;g[d>>2]=(a|0)/(m|0)|0;j=h+24|0;g[j>>2]=m+a;a=h+28|0;g[a>>2]=g[l+12>>2];g[h+144>>2]=1;g[h+148>>2]=l+24;m=g[l+56>>2]|0;g[h+152>>2]=m;g[h+156>>2]=m;g[b>>2]=9;tb(g[e>>2]|0,4,b)|0;g[b>>2]=1;tb(g[e>>2]|0,105,b)|0;f[h+36>>1]=f[l+20>>1]|0;f[h+38>>1]=f[l+16>>1]|0;f[h+40>>1]=f[l+18>>1]|0;g[h+32>>2]=1;g[h+48>>2]=Ad((g[j>>2]|0)-(g[c>>2]|0)<<1,1)|0;g[h+52>>2]=Ad(128,1)|0;g[h+56>>2]=Ad(128,1)|0;g[h+60>>2]=2976;g[h+64>>2]=2954;b=g[a>>2]|0;a=b<<1;c=Ad(a,1)|0;g[h+68>>2]=c;g[h+72>>2]=Ad(a,1)|0;g[h+76>>2]=Ad(a,1)|0;d=g[d>>2]|0;g[h+92>>2]=Ad(d<<2,1)|0;g[h+96>>2]=Ad(d<<1,1)|0;g[h+100>>2]=0;d=b<<2;g[h+80>>2]=Ad(d,1)|0;g[h+84>>2]=Ad(d,1)|0;g[h+88>>2]=Ad(d,1)|0;if((b|0)>0){d=b+1|0;a=0;do{m=a;a=a+1|0;f[c+(m<<1)>>1]=((a<<16>>16)*25736|0)/(d|0)|0}while((a|0)<(b|0))}k[h+104>>2]=8;g[h+108>>2]=0;g[h+112>>2]=0;g[h+116>>2]=2e4;g[h+136>>2]=0;g[h+120>>2]=0;k[h+140>>2]=0;g[h+160>>2]=2;m=h+164|0;tb(g[e>>2]|0,25,m)|0;g[m>>2]=g[m>>2]<<1;m=h;p=i;return m|0}function hc(a){a=a|0;pb(g[a+4>>2]|0);zd(g[a+48>>2]|0);zd(g[a+52>>2]|0);zd(g[a+56>>2]|0);zd(g[a+68>>2]|0);zd(g[a+72>>2]|0);zd(g[a+76>>2]|0);zd(g[a+92>>2]|0);zd(g[a+96>>2]|0);zd(g[a+80>>2]|0);zd(g[a+84>>2]|0);zd(g[a+88>>2]|0);zd(a);return}function ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,h=0,j=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,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=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;ga=p;p=p+16|0;J=ga+8|0;A=ga+4|0;B=ga;d=g[a+44>>2]|0;y=g[g[a>>2]>>2]|0;H=a+12|0;F=g[H>>2]|0;e=b+(F<<1)|0;z=a+8|0;_a(b,2730,b,e,g[z>>2]|0,64,g[a+52>>2]|0,d);x=a+108|0;if((g[x>>2]|0)==0?(g[a+136>>2]|0)==0:0){u=0;v=0}else{u=Ta(b,g[H>>2]|0)|0;v=Ta(e,g[H>>2]|0)|0}_=a+20|0;$=g[_>>2]<<1;K=d+(d&1)+$|0;$=K+(0-$)|0;w=a+4|0;tb(g[w>>2]|0,104,$)|0;rb(g[w>>2]|0,b,c)|0;h=a+24|0;D=g[h>>2]|0;E=g[H>>2]|0;T=D-E|0;fa=e+(0-T<<1)|0;S=a+48|0;Td(fa|0,g[S>>2]|0,T<<1|0)|0;T=g[H>>2]|0;Td(g[S>>2]|0,fa+(T<<1)|0,(g[h>>2]|0)-T<<1|0)|0;T=g[_>>2]|0;S=T<<2;K=K+(0-K&3)+S|0;S=K+(0-S)|0;T=T<<1;K=K+(K&1)+T|0;T=K+(0-T)|0;tb(g[w>>2]|0,100,S)|0;tb(g[w>>2]|0,101,T)|0;tb(g[w>>2]|0,9,J)|0;g[J>>2]=(g[J>>2]|0)==0&1;da=a+28|0;n=g[da>>2]|0;o=n<<1;K=K+(K&1)+o|0;Q=0-o|0;q=K+Q|0;K=K+(K&1)+o|0;V=K+Q|0;K=K+(K&1)+o|0;X=K+Q|0;K=K+(K&1)+o|0;Y=K+Q|0;K=K+(K&1)+o|0;ca=K+Q|0;K=K+(K&1)+o|0;ea=K+Q|0;K=K+(K&1)+o|0;P=K+Q|0;K=K+(K&1)+o|0;Q=K+Q|0;K=K+(K&1)+(o+2)|0;o=K+(-2-o)|0;h=g[h>>2]|0;j=h<<1;K=K+(K&1)+j|0;j=K+(0-j)|0;R=a+16|0;d=(h|0)>0;if((g[R>>2]|0)==80){if(d){e=g[a+60>>2]|0;d=0;do{f[j+(d<<1)>>1]=(W(f[e+(d>>1<<1)>>1]|0,f[fa+(d<<1)>>1]|0)|0)>>>14;d=d+1|0}while((d|0)!=(h|0))}}else if(d){e=g[a+60>>2]|0;d=0;do{f[j+(d<<1)>>1]=(W(f[e+(d<<1)>>1]|0,f[fa+(d<<1)>>1]|0)|0)>>>14;d=d+1|0}while((d|0)<(h|0))}Qb(j,o,n+1|0,h);d=f[o>>1]|0;d=((W(f[a+36>>1]|0,d)|0)>>>15)+d|0;f[o>>1]=d;e=g[da>>2]|0;if((e|0)>=0?(s=g[a+64>>2]|0,f[o>>1]=(W(f[s>>1]|0,d<<16>>16)|0)>>>14,e|0):0){d=1;while(1){f[o+(d<<1)>>1]=(W(f[s+(d<<1)>>1]|0,f[o+(d<<1)>>1]|0)|0)>>>14;if((d|0)<(e|0))d=d+1|0;else break}}Pb(q,o,e)|0;O=db(q,g[da>>2]|0,ca,10,6553,K)|0;d=g[da>>2]|0;if((O|0)!=(d|0)?(O=db(q,d,ca,10,1638,K)|0,t=g[da>>2]|0,(O|0)!=(t|0)&(t|0)>0):0){e=g[a+68>>2]|0;d=0;do{f[ca+(d<<1)>>1]=f[e+(d<<1)>>1]|0;d=d+1|0}while((d|0)<(t|0))}if(!(g[x>>2]|0)){if(!((g[a+136>>2]|0)==0|(g[J>>2]|0)!=0))Z=21}else if(!(g[J>>2]|0))Z=21;do{if((Z|0)==21){s=a+120|0;if(g[s>>2]|0){l=+k[a+124>>2];if(+k[a+128>>2]*l>0){l=l*-1e-5/(+k[a+132>>2]+1);l=l>.1?.10000000149011612:l;if(l<-.1)l=-.10000000149011612}else l=0;O=a+104|0;r=l+ +k[O>>2];r=r>10?10:r;k[O>>2]=r<0?0:r}l=+U(+((+(v<<16>>16)+1)/(+(u<<16>>16)+1)))*2;e=a+140|0;tb(g[w>>2]|0,29,e)|0;l=l<-4?-4:l;if(!(g[x>>2]|0)){if(+k[e>>2]<2)d=1;else d=g[a+156>>2]|0;g[a+152>>2]=d;break}d=(g[y+152>>2]|0)+-1|0;g[A>>2]=d;r=(l>2?2:l)+2+ +k[e>>2];r=r<-1?-1:r;k[e>>2]=r;a:do{if(d|0){q=a+164|0;m=+k[a+104>>2];h=~~+I(+m);j=g[y+148>>2]|0;n=a+148|0;o=a+116|0;l=m-+(h|0);e=h+1|0;m=+(e|0)-m;if((h|0)==10){do{if(r>=+k[j+(d*44|0)+40>>2]?(O=W(g[(g[(g[n>>2]|0)+(d<<2)>>2]|0)+52>>2]|0,g[q>>2]|0)|0,((O|0)/(g[z>>2]|0)|0|0)<=(g[o>>2]|0)):0)break a;d=d+-1|0;g[A>>2]=d}while((d|0)!=0)}else do{if(r>=l*+k[j+(d*44|0)+(e<<2)>>2]+m*+k[j+(d*44|0)+(h<<2)>>2]?(O=W(g[(g[(g[n>>2]|0)+(d<<2)>>2]|0)+52>>2]|0,g[q>>2]|0)|0,((O|0)/(g[z>>2]|0)|0|0)<=(g[o>>2]|0)):0)break a;d=d+-1|0;g[A>>2]=d}while((d|0)!=0)}}while(0);tb(a,10,A)|0;if(g[s>>2]|0){tb(a,19,B)|0;N=(g[B>>2]|0)-(g[s>>2]|0)|0;O=a+124|0;k[O>>2]=+k[O>>2]+ +(N|0);O=a+128|0;k[O>>2]=+k[O>>2]*.95+ +(N|0)*.05;O=a+132|0;k[O>>2]=+k[O>>2]+1}}}while(0);do{if(g[a+144>>2]|0){Kb(c,1,1);if(!(g[J>>2]|0)){Kb(c,g[a+152>>2]|0,3);break}else{Kb(c,0,3);break}}}while(0);if((g[J>>2]|0)==0?(aa=a+148|0,ba=a+152|0,C=g[(g[aa>>2]|0)+(g[ba>>2]<<2)>>2]|0,C|0):0){ze[g[C+16>>2]&3](ca,ea,g[da>>2]|0,c);O=a+32|0;j=g[da>>2]|0;if(g[O>>2]|0?(G=(j|0)>0,G):0){e=g[a+68>>2]|0;d=0;do{f[e+(d<<1)>>1]=f[ca+(d<<1)>>1]|0;d=d+1|0}while((d|0)<(j|0));if(G){e=g[a+72>>2]|0;d=0;do{f[e+(d<<1)>>1]=f[ea+(d<<1)>>1]|0;d=d+1|0}while((d|0)!=(j|0))}}y=j<<2;n=K+(0-K&3)+y|0;y=n+(0-y)|0;h=g[R>>2]|0;e=h<<1;n=n+(n&1)+e|0;B=0-e|0;z=n+B|0;A=h<<2;n=n+(0-n&3)+A|0;A=n+(0-A)|0;e=n+(n&1)+e|0;B=e+B|0;n=g[_>>2]|0;if((n|0)>0){C=a+68|0;D=a+72|0;E=a+76|0;b=a+38|0;F=a+40|0;G=a+92|0;H=a+84|0;J=a+100|0;K=a+96|0;L=a+80|0;M=a+88|0;N=a+160|0;d=0;while(1){x=fa+((W(h,d)|0)<<1)|0;q=h<<1;t=e+(e&1)+q|0;w=0-q|0;v=t+w|0;t=t+(t&1)|0;e=t+q|0;u=e+w|0;e=e+(e&1)+q|0;w=e+w|0;gb(g[C>>2]|0,ca,P,j,d,n);gb(g[D>>2]|0,ea,Q,g[da>>2]|0,d,g[_>>2]|0);fb(P,g[da>>2]|0,410);fb(Q,g[da>>2]|0,410);eb(P,V,g[da>>2]|0,e);eb(Q,g[E>>2]|0,g[da>>2]|0,e);Na(f[b>>1]|0,V,X,g[da>>2]|0);Na(f[F>>1]|0,V,Y,g[da>>2]|0);q=(g[G>>2]|0)+(d<<2)|0;g[q>>2]=8192;h=g[da>>2]|0;s=g[E>>2]|0;if((h|0)>0){j=8192;n=0;o=8192;do{h=f[s+((n|1)<<1)>>1]|0;ha=f[s+(n<<1)>>1]|0;j=h+j-ha|0;o=ha+h+o|0;g[q>>2]=o;n=n+2|0;h=g[da>>2]|0;
}while((n|0)<(h|0))}else j=8192;o=j+82|0;o=((o<<16>>17)+10496+(g[S+(d<<2)>>2]<<7)|0)/(o|0)|0;Xa(x,s,v,g[R>>2]|0,h,g[H>>2]|0,e);h=Ta(v,g[R>>2]|0)|0;o=(o|0)>32767?2147418112:((o|0)>-32767?o:-32767)<<16;j=o>>16;n=h<<16>>16;if(!(g[(g[(g[aa>>2]|0)+(g[ba>>2]<<2)>>2]|0)+36>>2]|0)){ha=(i[$+(d<<1)>>1]<<16)+65536|0;j=Bb((((ha>>17)+(W(n,j)|0)|0)/(ha>>16|0)|0)&65535,2858,32)|0;j=(j|0)>0?j:0;Kb(c,(j|0)<31?j:31,5);j=g[J>>2]|0;if(j)f[j+(d<<1)>>1]=h}else{s=(i[T+(d<<1)>>1]<<16)+65536|0;q=s>>16;s=((s>>17)+(W((n<<16)+65536>>16,j)|0)|0)/(q|0)|0;s=Bb(((g[R>>2]|0)==80?(((s<<16>>16)*23171|0)+16384|0)>>>15:s)&65535,2922,16)|0;Kb(c,s,4);s=((f[2922+(s<<1)>>1]|0)*28626|0)>>>15;h=g[R>>2]|0;q=W((((((h|0)==80?(((s<<16>>16)*23170|0)+8192|0)>>>14:s)<<16>>8)+(o>>17)|0)/(j|0)|0)<<16>>16,q)|0;s=q<<6;$a(g[E>>2]|0,X,Y,z,h,g[da>>2]|0,e);h=g[R>>2]|0;if((h|0)>0)Md(t|0,0,h<<1|0)|0;h=g[da>>2]|0;if((h|0)>0){n=g[L>>2]|0;j=0;do{g[y+(j<<2)>>2]=g[n+(j<<2)>>2];j=j+1|0;h=g[da>>2]|0}while((j|0)<(h|0))}Wa(u,g[E>>2]|0,u,g[R>>2]|0,h,y,e);h=g[da>>2]|0;if((h|0)>0){n=g[M>>2]|0;j=0;do{g[y+(j<<2)>>2]=g[n+(j<<2)>>2];j=j+1|0;h=g[da>>2]|0}while((j|0)<(h|0))}Va(u,X,Y,u,g[R>>2]|0,h,y,e);h=g[da>>2]|0;if((h|0)>0){n=g[M>>2]|0;j=0;do{g[y+(j<<2)>>2]=g[n+(j<<2)>>2];j=j+1|0;h=g[da>>2]|0}while((j|0)<(h|0))}Va(x,X,Y,w,g[R>>2]|0,h,y,e);j=g[R>>2]|0;if((j|0)>0){h=0;do{f[B+(h<<1)>>1]=(i[w+(h<<1)>>1]|0)-(i[u+(h<<1)>>1]|0);h=h+1|0}while((h|0)<(j|0))}Ra(B,B,s,j);Md(A|0,0,g[R>>2]<<2|0)|0;ha=g[(g[aa>>2]|0)+(g[ba>>2]<<2)>>2]|0;se[g[ha+36>>2]&3](B,g[E>>2]|0,X,Y,g[ha+44>>2]|0,g[da>>2]|0,g[R>>2]|0,A,z,c,e,g[N>>2]|0,g[ha+12>>2]|0);Qa(A,A,s,g[R>>2]|0);do{if(!(g[(g[(g[aa>>2]|0)+(g[ba>>2]<<2)>>2]|0)+12>>2]|0)){h=g[R>>2]|0;Z=85}else{n=g[R>>2]<<2;j=e+(0-e&3)+n|0;o=j+(0-n)|0;Md(o|0,0,n|0)|0;n=g[R>>2]|0;if((n|0)>0){h=0;do{ha=B+(h<<1)|0;f[ha>>1]=(((f[ha>>1]|0)*20480|0)+4096|0)>>>13;h=h+1|0}while((h|0)<(n|0))}h=g[(g[aa>>2]|0)+(g[ba>>2]<<2)>>2]|0;se[g[h+36>>2]&3](B,g[E>>2]|0,X,Y,g[h+44>>2]|0,g[da>>2]|0,n,o,z,c,j,g[N>>2]|0,0);Qa(o,o,((((s&32704)*13107|0)+16384|0)>>>15)+((q<<7>>16)*13107|0)|0,g[R>>2]|0);h=g[R>>2]|0;if((h|0)>0)j=0;else break;do{h=A+(j<<2)|0;g[h>>2]=(g[o+(j<<2)>>2]|0)+(g[h>>2]|0);j=j+1|0;h=g[R>>2]|0}while((j|0)<(h|0));Z=85}}while(0);do{if((Z|0)==85){Z=0;if((h|0)>0)j=0;else break;do{f[v+(j<<1)>>1]=((g[A+(j<<2)>>2]|0)+8192|0)>>>14;j=j+1|0}while((j|0)<(h|0))}}while(0);if(g[J>>2]|0){h=(((Sa(A,h)|0)<<16>>16)*23171|0)>>>15&65535;f[(g[J>>2]|0)+(d<<1)>>1]=h;h=g[R>>2]|0}h=Ta(v,h)|0}f[(g[K>>2]|0)+(d<<1)>>1]=h;h=g[da>>2]|0;n=g[L>>2]|0;if((h|0)>0){j=0;do{g[y+(j<<2)>>2]=g[n+(j<<2)>>2];j=j+1|0;h=g[da>>2]|0}while((j|0)<(h|0))}Wa(v,g[E>>2]|0,x,g[R>>2]|0,h,n,e);Va(x,X,Y,w,g[R>>2]|0,g[da>>2]|0,g[M>>2]|0,e);d=d+1|0;n=g[_>>2]|0;if((d|0)>=(n|0))break;h=g[R>>2]|0;j=g[da>>2]|0}j=g[da>>2]|0}e=(j|0)>0;if(e){h=g[a+68>>2]|0;d=0;do{f[h+(d<<1)>>1]=f[ca+(d<<1)>>1]|0;d=d+1|0}while((d|0)<(j|0));if(e){e=g[a+72>>2]|0;d=0;do{f[e+(d<<1)>>1]=f[ea+(d<<1)>>1]|0;d=d+1|0}while((d|0)!=(j|0))}}g[O>>2]=0;ha=1;p=ga;return ha|0}d=g[H>>2]|0;if((d|0)>0)Md(b+(E+F-D<<1)|0,0,d<<1|0)|0;d=g[da>>2]|0;if((d|0)>0){h=g[a+88>>2]|0;e=0;do{g[h+(e<<2)>>2]=0;e=e+1|0;d=g[da>>2]|0}while((e|0)<(d|0))}g[a+32>>2]=1;Wa(fa,g[a+76>>2]|0,fa,g[H>>2]|0,d,g[a+80>>2]|0,K);ha=(g[J>>2]|0)==0&1;p=ga;return ha|0}function jc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,h=0,i=0,j=0;d=p;p=p+16|0;b=d;c=Ad(100,1)|0;if(!c){c=0;p=d;return c|0}g[c>>2]=a;h=g[a>>2]|0;g[c+88>>2]=1;j=ob(g[h>>2]|0)|0;i=c+4|0;g[i>>2]=j;wb(j,106,c+40|0)|0;j=g[h+4>>2]|0;g[c+8>>2]=j<<1;g[c+12>>2]=j;e=g[h+8>>2]|0;f=c+16|0;g[f>>2]=e;a=c+20|0;g[a>>2]=(j|0)/(e|0)|0;e=c+24|0;g[e>>2]=g[h+12>>2];j=c+32|0;wb(g[i>>2]|0,25,j)|0;g[j>>2]=g[j>>2]<<1;g[b>>2]=1;wb(g[i>>2]|0,105,b)|0;g[c+92>>2]=h+24;g[c+96>>2]=g[h+56>>2];g[c+28>>2]=1;g[c+44>>2]=Ad(128,1)|0;g[c+48>>2]=Ad(128,1)|0;g[c+52>>2]=Ad(g[f>>2]<<1,1)|0;b=g[e>>2]|0;e=b<<1;g[c+56>>2]=Ad(e,1)|0;g[c+60>>2]=Ad(e,1)|0;a=g[a>>2]|0;g[c+68>>2]=Ad(a<<2,1)|0;g[c+72>>2]=Ad(a<<1,1)|0;g[c+64>>2]=Ad(b<<3,1)|0;g[c+76>>2]=0;g[c+36>>2]=0;g[c+84>>2]=1e3;p=d;return c|0}function kc(a){a=a|0;qb(g[a+4>>2]|0);zd(g[a+44>>2]|0);zd(g[a+48>>2]|0);zd(g[a+52>>2]|0);zd(g[a+56>>2]|0);zd(g[a+60>>2]|0);zd(g[a+68>>2]|0);zd(g[a+72>>2]|0);zd(g[a+64>>2]|0);zd(a);return}function lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=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,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;O=p;p=p+16|0;h=O;i=O+4|0;k=g[a+40>>2]|0;l=g[g[a>>2]>>2]|0;N=a+12|0;L=c+(g[N>>2]<<1)|0;j=a+4|0;wb(g[j>>2]|0,104,L)|0;d=sb(g[j>>2]|0,b,c)|0;wb(g[j>>2]|0,103,i)|0;if(d|0){a=d;p=O;return a|0}if(!b){mc(a,c,g[i>>2]|0,k);a=0;p=O;return a|0}do{if(!(g[a+88>>2]|0)){d=a+96|0;I=d;d=g[d>>2]|0}else{if((Ob(b)|0)>0?Mb(b)|0:0){Lb(b,1)|0;e=Lb(b,3)|0;d=a+96|0;g[d>>2]=e;if(!e){I=d;d=0;break}if(g[(g[a+92>>2]|0)+(e<<2)>>2]|0){I=d;d=e;break}a=g[517]|0;g[h>>2]=12748;sd(a,12904,h)|0;a=-2;p=O;return a|0}I=a+96|0;g[I>>2]=0;d=0}}while(0);H=a+92|0;if(!(g[(g[H>>2]|0)+(d<<2)>>2]|0)){if(g[i>>2]|0){mc(a,c,1,k);a=0;p=O;return a|0}e=g[N>>2]|0;if((e|0)>0){d=0;do{f[c+(e+d<<1)>>1]=0;d=d+1|0}while((d|0)<(e|0))}g[a+28>>2]=1;M=c+(e<<1)|0;Wa(M,g[a+60>>2]|0,M,e,g[a+24>>2]|0,g[a+64>>2]|0,k);ab(c,c+(g[N>>2]<<1)|0,2730,c,g[a+8>>2]|0,64,g[a+44>>2]|0,g[a+48>>2]|0,k);a=0;p=O;return a|0}F=a+20|0;E=g[F>>2]|0;D=E<<2;e=k+(0-k&3)+D|0;D=e+(0-D)|0;E=E<<1;e=e+(e&1)+E|0;E=e+(0-E)|0;wb(g[j>>2]|0,100,D)|0;wb(g[j>>2]|0,101,E)|0;G=a+24|0;J=g[G>>2]|0;i=J<<1;e=e+(e&1)+i|0;C=0-i|0;K=e+C|0;i=e+(e&1)+i|0;C=i+C|0;we[g[(g[(g[H>>2]|0)+(g[I>>2]<<2)>>2]|0)+20>>2]&3](K,J,b);J=a+28|0;e=g[G>>2]|0;if((g[J>>2]|0)!=0&(e|0)>0){h=g[a+56>>2]|0;d=0;do{f[h+(d<<1)>>1]=f[K+(d<<1)>>1]|0;d=d+1|0}while((d|0)<(e|0))}x=e<<1;e=i+(i&1)+x|0;x=e+(0-x)|0;h=g[F>>2]|0;if((h|0)>0){y=a+16|0;z=a+76|0;A=a+56|0;B=a+68|0;r=l+22|0;s=a+52|0;t=a+60|0;u=a+64|0;v=a+72|0;w=a+84|0;q=0;d=0;do{j=g[y>>2]|0;l=W(j,q)|0;n=c+(g[N>>2]<<1)+(l<<1)|0;j=j<<2;e=e+(0-e&3)+j|0;o=e+(0-j)|0;m=g[z>>2]|0;i=m+(l<<1<<1)|0;if(!m)m=0;else{Md(i|0,0,j|0)|0;m=i;h=g[F>>2]|0}gb(g[A>>2]|0,K,C,g[G>>2]|0,q,h);fb(C,g[G>>2]|0,410);eb(C,x,g[G>>2]|0,e);j=(g[B>>2]|0)+(q<<2)|0;g[j>>2]=8192;if((g[G>>2]|0)>0){h=8192;i=0;k=8192;do{P=f[x+((i|1)<<1)>>1]|0;Q=f[x+(i<<1)>>1]|0;h=P+h-Q|0;k=Q+P+k|0;g[j>>2]=k;i=i+2|0}while((i|0)<(g[G>>2]|0))}else h=8192;j=h+82|0;j=((j<<16>>17)+10496+(g[D+(q<<2)>>2]<<7)|0)/(j|0)|0;j=(j|0)>32767?32767:(j|0)>-32767?j:-32767;Md(o|0,0,g[y>>2]<<2|0)|0;if(!(g[(g[(g[H>>2]|0)+(g[I>>2]<<2)>>2]|0)+40>>2]|0)){i=((Lb(b,5)|0)<<16)+16121856|0;h=i>>>8&65535;i=i<<8>>16;if(h<<16>>16<=21290){if(h<<16>>16>=-21290){i=(i*23637|0)+8192|0;h=i>>>14;i=i<<2>>27;if((i|0)<=14){if((i|0)<-15)h=0;else{Q=h-(i<<11)<<19>>16;h=-2-i|0;Q=((W(((W((Q*5204|0)+244187136>>16,Q)|0)>>>14<<16)+744226816>>16,Q)|0)>>>14<<16)+1073741824>>16;h=(h|0)>0?Q>>h:Q<<0-h}}else h=2147483647}else h=0}else h=2147483647;Q=j<<16;h=(h+(Q>>17)|0)/(Q>>16|0)|0;if((g[y>>2]|0)>0){j=f[r>>1]<<1;k=h<<7>>16;i=h<<6&32704;h=0;do{Q=h+l|0;P=(W(j,f[L+(Q<<1)>>1]|0)|0)>>16;g[o+(h<<2)>>2]=((W(P,i)|0)+16384>>15)+(W(P,k)|0)<<14;Q=(W(j,f[L+(Q+1<<1)>>1]|0)|0)>>16;g[o+((h|1)<<2)>>2]=0-(((W(Q,i)|0)+16384>>15)+(W(Q,k)|0)<<14);h=h+2|0}while((h|0)<(g[y>>2]|0))}}else{i=Lb(b,4)|0;i=((f[2922+(i<<1)>>1]|0)*28626|0)>>>15;Q=g[y>>2]|0;h=j<<16;h=((W(f[E+(q<<1)>>1]<<3,((Q|0)==80?(((i<<16>>16)*23170|0)+8192|0)>>>14:i)<<16>>16)|0)+(h>>17)|0)/(h>>16|0)|0;i=h<<11;P=g[(g[H>>2]|0)+(g[I>>2]<<2)>>2]|0;re[g[P+40>>2]&3](o,g[P+44>>2]|0,Q,b,e,w);Qa(o,o,i,g[y>>2]|0);if(g[(g[(g[H>>2]|0)+(g[I>>2]<<2)>>2]|0)+12>>2]|0?(P=g[y>>2]<<2,Q=e+(0-e&3)+P|0,M=Q+(0-P)|0,Md(M|0,0,P|0)|0,P=g[(g[H>>2]|0)+(g[I>>2]<<2)>>2]|0,re[g[P+40>>2]&3](M,g[P+44>>2]|0,g[y>>2]|0,b,Q,w),Qa(M,M,((((i&30720)*13107|0)+16384|0)>>>15)+((h<<12>>16)*13107|0)|0,g[y>>2]|0),(g[y>>2]|0)>0):0){h=0;do{Q=o+(h<<2)|0;g[Q>>2]=(g[M+(h<<2)>>2]|0)+(g[Q>>2]|0);h=h+1|0}while((h|0)<(g[y>>2]|0))}}i=g[y>>2]|0;if((g[z>>2]|0)!=0&(i|0)>0){h=0;do{f[m+(h<<1<<1)>>1]=((g[o+(h<<2)>>2]|0)+8192|0)>>>14;h=h+1|0}while((h|0)<(i|0))}Wa(g[s>>2]|0,g[t>>2]|0,n,i,g[G>>2]|0,g[u>>2]|0,e);k=g[y>>2]|0;if((k|0)>0){i=g[s>>2]|0;h=0;do{f[i+(h<<1)>>1]=((g[o+(h<<2)>>2]|0)+8192|0)>>>14;h=h+1|0}while((h|0)<(k|0))}i=g[G>>2]|0;if((i|0)>0){j=g[t>>2]|0;h=0;do{f[j+(h<<1)>>1]=f[x+(h<<1)>>1]|0;h=h+1|0}while((h|0)<(i|0))}Q=Ta(g[s>>2]|0,k)|0;f[(g[v>>2]|0)+(q<<1)>>1]=Q;Q=Q<<16>>16;Q=W(Q,Q)|0;h=g[F>>2]|0;d=((Q|0)/(h|0)|0)+d|0;q=q+1|0}while((q|0)<(h|0))}else d=0;h=d>>>0>65535;P=h?d>>>16:d;h=h?8:0;Q=P>>>0>255;P=Q?P>>>8:P;h=Q?h|4:h;Q=P>>>0>15;h=(Q?P>>>4:P)>>>0>3|(Q?h|2:h);Q=h<<1;Q=((h&65535)<<16>>16>6?d>>Q+-12:d<<12-Q)<<16>>16;Q=((W(((W((Q*16816|0)+-827523072>>16,Q)|0)>>>14<<16)+1387593728>>16,Q)|0)>>>14<<16)+238157824>>16;h=13-h|0;f[a+80>>1]=(h|0)>0?Q>>h:Q<<0-h;ab(c,c+(g[N>>2]<<1)|0,2730,c,g[a+8>>2]|0,64,g[a+44>>2]|0,g[a+48>>2]|0,e);h=g[G>>2]|0;if((h|0)>0){e=g[a+56>>2]|0;d=0;do{f[e+(d<<1)>>1]=f[K+(d<<1)>>1]|0;d=d+1|0}while((d|0)<(h|0))}g[J>>2]=0;Q=0;p=O;return Q|0}function mc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=(c|0)!=0;if(m){l=a+96|0;e=g[l>>2]|0;g[l>>2]=1}else{e=g[a+60>>2]|0;Na(32440,e,e,g[a+24>>2]|0);e=a+80|0;f[e>>1]=((f[e>>1]|0)*29491|0)>>>15;e=0}g[a+28>>2]=1;h=a+12|0;i=g[h>>2]|0;if((i|0)>0){j=a+80|0;k=a+84|0;c=0;l=g[k>>2]|0;do{l=(W(l,1664525)|0)+1013904223|0;n=W(l>>16,f[j>>1]|0)|0;f[b+(i+c<<1)>>1]=(n+8192-(n>>3)|0)>>>14;c=c+1|0}while((c|0)<(i|0));g[k>>2]=l}n=b+(i<<1)|0;Wa(n,g[a+60>>2]|0,n,i,g[a+24>>2]|0,g[a+64>>2]|0,d);ab(b,b+(g[h>>2]<<1)|0,2730,b,g[a+8>>2]|0,64,g[a+44>>2]|0,g[a+48>>2]|0,d);if(!m)return;g[a+96>>2]=e;return}function nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,h=0,i=0,j=0,l=0,m=0,n=0;l=p;p=p+32|0;d=l;j=l+16|0;h=l+12|0;i=l+8|0;do{switch(b|0){case 3:{g[c>>2]=g[a+8>>2];a=0;p=l;return a|0}case 10:{c=g[c>>2]|0;g[a+152>>2]=c;g[a+156>>2]=c;a=0;p=l;return a|0}case 8:{tb(g[a+4>>2]|0,8,c)|0;a=0;p=l;return a|0}case 34:{tb(g[a+4>>2]|0,34,c)|0;a=0;p=l;return a|0}case 35:{tb(g[a+4>>2]|0,35,c)|0;a=0;p=l;return a|0}case 9:{tb(g[a+4>>2]|0,9,c)|0;a=0;p=l;return a|0}case 6:{tb(a,4,c)|0;a=0;p=l;return a|0}case 12:{g[a+108>>2]=g[c>>2];tb(g[a+4>>2]|0,12,c)|0;a=0;p=l;return a|0}case 13:{g[c>>2]=g[a+108>>2];a=0;p=l;return a|0}case 30:{g[a+136>>2]=g[c>>2];tb(g[a+4>>2]|0,30,c)|0;a=0;p=l;return a|0}case 31:{g[c>>2]=g[a+136>>2];a=0;p=l;return a|0}case 14:{n=+k[c>>2];m=n+.6;k[h>>2]=m;k[a+104>>2]=n;if(m>10)k[h>>2]=10;c=~~+I(+(+k[c>>2]+.5));g[j>>2]=(c|0)<10?c:10;tb(g[a+4>>2]|0,14,h)|0;tb(a,4,j)|0;a=0;p=l;return a|0}case 15:{g[c>>2]=g[a+104>>2];a=0;p=l;return a|0}case 32:{d=g[c>>2]|0;g[a+120>>2]=d;e=a+108|0;g[e>>2]=(d|0)!=0&1;tb(g[a+4>>2]|0,12,e)|0;if(!(g[e>>2]|0)){a=0;p=l;return a|0}g[j>>2]=10;d=g[c>>2]|0;while(1){tb(a,4,j)|0;tb(a,19,h)|0;b=g[j>>2]|0;if((g[h>>2]|0)<=(d|0))break;e=b+-1|0;g[j>>2]=e;if((b|0)<=0){b=e;break}}k[i>>2]=(b|0)<0?0:+(b|0);tb(a,14,i)|0;k[a+132>>2]=0;k[a+124>>2]=0;k[a+128>>2]=0;a=0;p=l;return a|0}case 33:{g[c>>2]=g[a+120>>2];a=0;p=l;return a|0}case 4:{c=g[c>>2]|0;c=(c|0)>0?c:0;c=(c|0)<10?c:10;i=g[g[a>>2]>>2]|0;h=g[i+104+(c<<2)>>2]|0;g[a+152>>2]=h;g[a+156>>2]=h;g[j>>2]=g[i+60+(c<<2)>>2];tb(g[a+4>>2]|0,6,j)|0;a=0;p=l;return a|0}case 16:{tb(g[a+4>>2]|0,16,c)|0;c=g[c>>2]|0;g[a+160>>2]=(c|0)>1?c:1;p=l;return 0}case 17:{g[c>>2]=g[a+160>>2];a=0;p=l;return a|0}case 18:{g[j>>2]=10;b=g[c>>2]|0;do{tb(a,4,j)|0;tb(a,19,h)|0;if((g[h>>2]|0)<=(b|0))break;c=g[j>>2]|0;g[j>>2]=c+-1}while((c|0)>0);a=0;p=l;return a|0}case 19:{tb(g[a+4>>2]|0,19,c)|0;b=g[(g[a+148>>2]|0)+(g[a+152>>2]<<2)>>2]|0;d=g[a+164>>2]|0;if(!b)b=d<<2;else b=W(g[b+52>>2]|0,d)|0;g[c>>2]=(g[c>>2]|0)+((b|0)/(g[a+8>>2]|0)|0);a=0;p=l;return a|0}case 24:{c=g[c>>2]|0;g[a+164>>2]=c;g[j>>2]=c>>1;tb(g[a+4>>2]|0,24,j)|0;a=0;p=l;return a|0}case 25:{g[c>>2]=g[a+164>>2];a=0;p=l;return a|0}case 26:{g[a+32>>2]=1;j=a+28|0;d=g[j>>2]|0;e=(d|0)>0;if(e){h=g[a+68>>2]|0;i=d+1|0;b=0;do{c=b;b=b+1|0;f[h+(c<<1)>>1]=((b<<16>>16)*25736|0)/(i|0)|0}while((b|0)<(d|0));if(e){d=g[a+84>>2]|0;e=g[a+80>>2]|0;h=g[a+88>>2]|0;b=0;do{g[d+(b<<2)>>2]=0;g[e+(b<<2)>>2]=0;g[h+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(g[j>>2]|0))}}e=g[a+56>>2]|0;d=g[a+52>>2]|0;b=0;do{f[e+(b<<1)>>1]=0;f[d+(b<<1)>>1]=0;b=b+1|0}while((b|0)!=64);b=0;p=l;return b|0}case 36:{g[a+144>>2]=g[c>>2];tb(g[a+4>>2]|0,36,c)|0;a=0;p=l;return a|0}case 37:{g[c>>2]=g[a+144>>2];a=0;p=l;return a|0}case 39:{tb(g[a+4>>2]|0,39,c)|0;g[c>>2]=(g[c>>2]<<1)+63;a=0;p=l;return a|0}case 40:{tb(g[a+4>>2]|0,40,c)|0;a=0;p=l;return a|0}case 41:{tb(g[a+4>>2]|0,41,c)|0;a=0;p=l;return a|0}case 42:{d=g[c>>2]|0;g[a+112>>2]=d;do{if((d|0)<=42199){if((d|0)>27799){g[a+116>>2]=9600;b=9600;break}else{b=(d|0)>20600?5600:1800;g[a+116>>2]=b;break}}else{g[a+116>>2]=17600;b=17600}}while(0);if((g[a+16>>2]|0)==80){g[a+116>>2]=1800;b=1800}g[j>>2]=d-b;tb(g[a+4>>2]|0,42,j)|0;a=0;p=l;return a|0}case 43:{g[c>>2]=g[a+112>>2];a=0;p=l;return a|0}case 44:{tb(g[a+4>>2]|0,44,c)|0;a=0;p=l;return a|0}case 45:{tb(g[a+4>>2]|0,45,c)|0;a=0;p=l;return a|0}case 100:{e=a+20|0;if((g[e>>2]|0)<=0){a=0;p=l;return a|0}d=g[a+92>>2]|0;b=0;do{g[c+(b<<2)>>2]=g[d+(b<<2)>>2];b=b+1|0}while((b|0)<(g[e>>2]|0));b=0;p=l;return b|0}case 101:{e=g[a+20>>2]|0;if((e|0)<=0){a=0;p=l;return a|0}d=g[a+96>>2]|0;b=0;do{f[c+(b<<1)>>1]=f[d+(b<<1)>>1]|0;b=b+1|0}while((b|0)<(e|0));b=0;p=l;return b|0}case 29:{g[c>>2]=g[a+140>>2];a=0;p=l;return a|0}case 104:{g[a+100>>2]=c;a=0;p=l;return a|0}case 105:{tb(g[a+4>>2]|0,105,c)|0;a=0;p=l;return a|0}case 106:{g[c>>2]=g[a+44>>2];a=0;p=l;return a|0}default:{a=g[517]|0;g[d>>2]=12815;g[d+4>>2]=b;sd(a,12799,d)|0;a=-1;p=l;return a|0}}}while(0);return 0}function oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,h=0;h=p;p=p+16|0;e=h;d=h+8|0;do{switch(b|0){case 10:{g[a+96>>2]=g[c>>2];b=0;break}case 8:{wb(g[a+4>>2]|0,8,c)|0;b=0;break}case 9:{wb(g[a+4>>2]|0,9,c)|0;b=0;break}case 3:{g[c>>2]=g[a+8>>2];b=0;break}case 0:{wb(g[a+4>>2]|0,0,c)|0;g[a+36>>2]=g[c>>2];b=0;break}case 1:{g[c>>2]=g[a+36>>2];b=0;break}case 4:case 6:{b=g[c>>2]|0;b=(b|0)>0?b:0;b=(b|0)<10?b:10;c=g[g[a>>2]>>2]|0;g[a+96>>2]=g[c+104+(b<<2)>>2];g[d>>2]=g[c+60+(b<<2)>>2];wb(g[a+4>>2]|0,6,d)|0;b=0;break}case 19:{wb(g[a+4>>2]|0,19,c)|0;b=g[(g[a+92>>2]|0)+(g[a+96>>2]<<2)>>2]|0;d=g[a+32>>2]|0;if(!b)b=d<<2;else b=W(g[b+52>>2]|0,d)|0;g[c>>2]=(g[c>>2]|0)+((b|0)/(g[a+8>>2]|0)|0);b=0;break}case 24:{b=g[c>>2]|0;g[a+32>>2]=b;g[d>>2]=b>>1;wb(g[a+4>>2]|0,24,d)|0;b=0;break}case 25:{g[c>>2]=g[a+32>>2];b=0;break}case 20:{wb(g[a+4>>2]|0,20,c)|0;b=0;break}case 22:{wb(g[a+4>>2]|0,22,c)|0;b=0;break}case 26:{e=a+24|0;if((g[e>>2]|0)>0){d=g[a+64>>2]|0;b=0;do{g[d+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(g[e>>2]<<1|0))}d=g[a+48>>2]|0;e=g[a+44>>2]|0;b=0;do{f[d+(b<<1)>>1]=0;f[e+(b<<1)>>1]=0;b=b+1|0}while((b|0)!=64);f[a+80>>1]=0;b=0;break}case 36:{g[a+88>>2]=g[c>>2];wb(g[a+4>>2]|0,36,c)|0;b=0;break}case 37:{g[c>>2]=g[a+88>>2];b=0;break}case 39:{wb(g[a+4>>2]|0,39,c)|0;g[c>>2]=g[c>>2]<<1;b=0;break}case 44:{wb(g[a+4>>2]|0,44,c)|0;b=0;break}case 45:{wb(g[a+4>>2]|0,45,c)|0;b=0;break}case 47:{wb(g[a+4>>2]|0,47,c)|0;b=0;break}case 100:{e=a+20|0;if((g[e>>2]|0)>0){d=g[a+68>>2]|0;b=0;do{g[c+(b<<2)>>2]=g[d+(b<<2)>>2];b=b+1|0}while((b|0)<(g[e>>2]|0));b=0}else b=0;break}case 101:{e=g[a+20>>2]|0;if((e|0)>0){d=g[a+72>>2]|0;b=0;do{f[c+(b<<1)>>1]=f[d+(b<<1)>>1]|0;b=b+1|0}while((b|0)<(e|0));b=0}else b=0;break}case 103:{wb(g[a+4>>2]|0,103,c)|0;b=0;break}case 104:{g[a+76>>2]=c;b=0;break}case 105:{wb(g[a+4>>2]|0,105,c)|0;b=0;break}case 106:{g[c>>2]=g[a+40>>2];b=0;break}default:{a=g[517]|0;g[e>>2]=12815;g[e+4>>2]=b;sd(a,12799,e)|0;b=-1}}}while(0);p=h;return b|0}function pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Lb(a,4)|0;e=g[b+(d*20|0)+4>>2]|0;if(e|0){a=qe[e&15](a,c,g[b+(d*20|0)+8>>2]|0)|0;return a|0}if((d|0)>=2){if((d|0)>=8){if((d|0)<10)b=8;else b=(d|0)<12?16:(d|0)<14?32:64}else b=4}else b=1;Nb(a,b);a=0;return a|0}function qc(a,b,c){a=a|0;b=b|0;c=c|0;Nb(a,(Lb(a,4)|0)<<3|5);return 0}function rc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var f=0,h=0,i=0,j=0,k=0;i=p;p=p+16|0;f=i;h=a;j=h;e[j>>0]=83;e[j+1>>0]=112;e[j+2>>0]=101;e[j+3>>0]=101;h=h+4|0;e[h>>0]=120;e[h+1>>0]=32;e[h+2>>0]=32;e[h+3>>0]=32;h=a+8|0;j=12840;k=h+14|0;do{e[h>>0]=e[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0));k=a+22|0;e[k>>0]=0;e[k+1>>0]=0;e[k+2>>0]=0;e[k+3>>0]=0;e[k+4>>0]=0;e[k+5>>0]=0;g[a+28>>2]=1;g[a+32>>2]=80;g[a+36>>2]=b;k=g[d+12>>2]|0;g[a+40>>2]=k;g[a+44>>2]=g[d+16>>2];if((k|0)<0){k=g[517]|0;g[f>>2]=12868;sd(k,12855,f)|0}g[a+48>>2]=c;g[a+52>>2]=-1;Rb(d,0,a+56|0)|0;k=a+60|0;g[k>>2]=0;g[k+4>>2]=0;g[k+8>>2]=0;g[k+12>>2]=0;g[k+16>>2]=0;p=i;return}function sc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=Ad(80,1)|0;e=d;c=e+80|0;do{g[e>>2]=g[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(c|0));g[b>>2]=80;return d|0}function tc(a,b){a=a|0;b=b|0;var c=0,d=0,f=0,h=0;h=p;p=p+16|0;d=h+8|0;c=h;if((((((((e[a>>0]|0)==83?(e[a+1>>0]|0)==112:0)?(e[a+2>>0]|0)==101:0)?(e[a+3>>0]|0)==101:0)?(e[a+4>>0]|0)==120:0)?(e[a+5>>0]|0)==32:0)?(e[a+6>>0]|0)==32:0)?(e[a+7>>0]|0)==32:0)if((b|0)<80){a=g[517]|0;g[d>>2]=12958;sd(a,12904,d)|0;a=0;p=h;return a|0}else{d=Ad(80,1)|0;f=d;b=a;c=f+80|0;do{g[f>>2]=g[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(c|0));a=d;p=h;return a|0}a=g[517]|0;g[c>>2]=12922;sd(a,12904,c)|0;a=0;p=h;return a|0}function uc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0;j=p;p=p+96|0;f=j+88|0;h=j+8|0;i=j;g[f>>2]=a;if(d){a=e+36|0;g[a>>2]=nb(624)|0;rc(h,8e3,1,624)}else{a=e+36|0;g[a>>2]=nb(1432)|0;rc(h,16e3,1,1432)}tb(g[a>>2]|0,4,f)|0;Fb(e);h=sc(h,i)|0;i=g[i>>2]|0;Td(b|0,h|0,((i|0)>(c|0)?c:i)|0)|0;p=j;return i|0}function vc(a,b,c){a=a|0;b=b|0;c=c|0;Gb(c);ub(g[c+36>>2]|0,a,c)|0;c=Jb(c,b+2|0,200)|0;f[b>>1]=td(c&65535)|0;return c|0}function wc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;i=p;h=p;p=p+((1*(e<<2)|0)+15&-16)|0;Ib(b,c,g);a=vb(a,b,h)|0;if((a|0)<0){h=a;p=i;return h|0}if((e|0)>0)a=0;else{h=0;p=i;return h|0}do{f[d+(a<<1)>>1]=~~+k[h+(a<<2)>>2];a=a+1|0}while((a|0)!=(e|0));a=0;p=i;return a|0}function xc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var f=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;y=p;p=p+128|0;x=y+88|0;f=y+8|0;l=y;g[d>>2]=0;if(b>>>0<80){xd(12981)|0;x=0;p=y;return x|0}i=f;j=a;k=i+80|0;do{e[i>>0]=e[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));n=a+80|0;o=b+-80|0;if(Jc(13043,f,8)|0){xd(13052)|0;x=0;p=y;return x|0}a=tc(f,80)|0;i=f;j=a;k=i+80|0;do{g[i>>2]=g[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));zd(a);a=g[f+40>>2]|0;a:do{if((a|0)<1)switch(a|0){case 0:{u=160;a=0;f=624;break}default:m=6}else{if((a|0)<16777216)switch(a|0){case 1:break;default:{m=6;break a}}else switch(a|0){case 16777216:break;default:{m=6;break a}}u=320;a=1;f=1432}}while(0);if((m|0)==6){xd(13091)|0;u=0;a=0;f=624}v=ob(f)|0;w=sa()|0;t=p;p=p+((1*(u<<1)|0)+15&-16)|0;g[l>>2]=1;wb(v,0,l)|0;Fb(x);s=p;p=p+((1*(g[516]|0)|0)+15&-16)|0;q=b*10|0;g[c>>2]=Fd(q)|0;a:do{if(o){r=u<<1;f=0;b=q;m=o;while(1){j=n+2|0;i=m+-2|0;k=(vd(h[n>>0]|h[n+1>>0]<<8)|0)&65535;if((k|0)>(g[516]|0)){m=11;break}if(i>>>0<k>>>0){m=13;break}Td(s|0,j|0,k|0)|0;n=j+k|0;m=i-k|0;if((wc(v,x,s,t,u,k)|0)==1){m=16;break}l=f+u|0;i=g[c>>2]|0;if(l>>>0>b>>>0){j=b;while(1){j=j+q|0;k=Fd(j)|0;Td(k|0,i|0,f|0)|0;if(i|0)Hd(i);g[c>>2]=k;if(l>>>0>j>>>0)i=k;else{i=k;break}}}else j=b;Td(i+f|0,t|0,r|0)|0;f=f+r|0;if(!m){m=21;break a}else b=j}if((m|0)==11){xd(13186)|0;Hb(x);qb(v);a=0;break}else if((m|0)==13){xd(13246)|0;Hb(x);qb(v);a=0;break}else if((m|0)==16){Hb(x);qb(v);a=0;break}}else{f=0;m=21}}while(0);if((m|0)==21){g[d>>2]=f;Hb(x);qb(v)}ya(w|0);x=a;p=y;return x|0}function yc(){return 15704}function zc(a){a=a|0;var b=0,c=0;b=p;p=p+16|0;c=b;g[c>>2]=Gc(g[a+60>>2]|0)|0;a=Cc(na(6,c|0)|0)|0;p=b;return a|0}function Ac(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=p;p=p+48|0;k=m+16|0;f=m;e=m+32|0;i=a+28|0;d=g[i>>2]|0;g[e>>2]=d;j=a+20|0;d=(g[j>>2]|0)-d|0;g[e+4>>2]=d;g[e+8>>2]=b;g[e+12>>2]=c;d=d+c|0;h=a+60|0;g[f>>2]=g[h>>2];g[f+4>>2]=e;g[f+8>>2]=2;f=Cc(Aa(146,f|0)|0)|0;a:do{if((d|0)!=(f|0)){b=2;while(1){if((f|0)<0)break;d=d-f|0;o=g[e+4>>2]|0;n=f>>>0>o>>>0;e=n?e+8|0:e;b=(n<<31>>31)+b|0;o=f-(n?o:0)|0;g[e>>2]=(g[e>>2]|0)+o;n=e+4|0;g[n>>2]=(g[n>>2]|0)-o;g[k>>2]=g[h>>2];g[k+4>>2]=e;g[k+8>>2]=b;f=Cc(Aa(146,k|0)|0)|0;if((d|0)==(f|0)){l=3;break a}}g[a+16>>2]=0;g[i>>2]=0;g[j>>2]=0;g[a>>2]=g[a>>2]|32;if((b|0)==2)c=0;else c=c-(g[e+4>>2]|0)|0}else l=3}while(0);if((l|0)==3){o=g[a+44>>2]|0;g[a+16>>2]=o+(g[a+48>>2]|0);g[i>>2]=o;g[j>>2]=o}p=m;return c|0}function Bc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=p;p=p+32|0;f=e;d=e+20|0;g[f>>2]=g[a+60>>2];g[f+4>>2]=0;g[f+8>>2]=b;g[f+12>>2]=d;g[f+16>>2]=c;if((Cc(ta(140,f|0)|0)|0)<0){g[d>>2]=-1;a=-1}else a=g[d>>2]|0;p=e;return a|0}function Cc(a){a=a|0;if(a>>>0>4294963200){g[(Dc()|0)>>2]=0-a;a=-1}return a|0}function Dc(){return(Ec()|0)+64|0}function Ec(){return Fc()|0}function Fc(){return 2196}function Gc(a){a=a|0;return a|0}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,f=0;f=p;p=p+32|0;d=f;g[a+36>>2]=11;if((g[a>>2]&64|0)==0?(g[d>>2]=g[a+60>>2],g[d+4>>2]=21523,g[d+8>>2]=f+16,va(54,d|0)|0):0)e[a+75>>0]=-1;d=Ac(a,b,c)|0;p=f;return d|0}function Ic(a,b){a=a|0;b=b|0;var c=0,d=0;c=e[a>>0]|0;d=e[b>>0]|0;if(c<<24>>24==0?1:c<<24>>24!=d<<24>>24)a=d;else{do{a=a+1|0;b=b+1|0;c=e[a>>0]|0;d=e[b>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=d<<24>>24));a=d}return(c&255)-(a&255)|0}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,f=0,g=0,h=0;if(!c)d=0;else{h=e[a>>0]|0;d=h&255;g=e[b>>0]|0;f=g&255;a:do{if(h<<24>>24)do{c=c+-1|0;if(!(h<<24>>24==g<<24>>24&((c|0)!=0&g<<24>>24!=0)))break a;a=a+1|0;b=b+1|0;h=e[a>>0]|0;d=h&255;g=e[b>>0]|0;f=g&255}while(h<<24>>24!=0)}while(0);d=d-f|0}return d|0}function Kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;s=p;p=p+224|0;m=s+120|0;n=s+80|0;q=s;r=s+136|0;d=n;f=d+40|0;do{g[d>>2]=0;d=d+4|0}while((d|0)<(f|0));g[m>>2]=g[c>>2];if((Lc(0,b,m,q,n)|0)<0)c=-1;else{if((g[a+76>>2]|0)>-1)o=Mc(a)|0;else o=0;c=g[a>>2]|0;l=c&32;if((e[a+74>>0]|0)<1)g[a>>2]=c&-33;d=a+48|0;if(!(g[d>>2]|0)){f=a+44|0;h=g[f>>2]|0;g[f>>2]=r;i=a+28|0;g[i>>2]=r;j=a+20|0;g[j>>2]=r;g[d>>2]=80;k=a+16|0;g[k>>2]=r+80;c=Lc(a,b,m,q,n)|0;if(h){qe[g[a+36>>2]&15](a,0,0)|0;c=(g[j>>2]|0)==0?-1:c;g[f>>2]=h;g[d>>2]=0;g[k>>2]=0;g[i>>2]=0;g[j>>2]=0}}else c=Lc(a,b,m,q,n)|0;d=g[a>>2]|0;g[a>>2]=d|l;if(o|0)Nc(a);c=(d&32|0)==0?c:-1}p=s;return c|0}function Lc(a,b,c,d,h){a=a|0;b=b|0;c=c|0;d=d|0;h=h|0;var i=0,j=0,k=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,E=0,F=0,G=0;G=p;p=p+64|0;C=G+16|0;D=G;A=G+24|0;E=G+8|0;F=G+20|0;g[C>>2]=b;x=(a|0)!=0;y=A+40|0;z=y;A=A+39|0;B=E+4|0;j=0;i=0;o=0;a:while(1){do{if((i|0)>-1)if((j|0)>(2147483647-i|0)){g[(Dc()|0)>>2]=75;i=-1;break}else{i=j+i|0;break}}while(0);j=e[b>>0]|0;if(!(j<<24>>24)){w=87;break}else k=b;b:while(1){switch(j<<24>>24){case 37:{j=k;w=9;break b}case 0:{j=k;break b}default:{}}v=k+1|0;g[C>>2]=v;j=e[v>>0]|0;k=v}b:do{if((w|0)==9)while(1){w=0;if((e[k+1>>0]|0)!=37)break b;j=j+1|0;k=k+2|0;g[C>>2]=k;if((e[k>>0]|0)==37)w=9;else break}}while(0);j=j-b|0;if(x)Oc(a,b,j);if(j|0){b=k;continue}m=k+1|0;j=(e[m>>0]|0)+-48|0;if(j>>>0<10){v=(e[k+2>>0]|0)==36;u=v?j:-1;o=v?1:o;m=v?k+3|0:m}else u=-1;g[C>>2]=m;j=e[m>>0]|0;k=(j<<24>>24)+-32|0;b:do{if(k>>>0<32){n=0;q=j;while(1){j=1<<k;if(!(j&75913)){j=q;break b}n=j|n;m=m+1|0;g[C>>2]=m;j=e[m>>0]|0;k=(j<<24>>24)+-32|0;if(k>>>0>=32)break;else q=j}}else n=0}while(0);if(j<<24>>24==42){k=m+1|0;j=(e[k>>0]|0)+-48|0;if(j>>>0<10?(e[m+2>>0]|0)==36:0){g[h+(j<<2)>>2]=10;j=g[d+((e[k>>0]|0)+-48<<3)>>2]|0;o=1;m=m+3|0}else{if(o|0){i=-1;break}if(x){o=(g[c>>2]|0)+(4-1)&~(4-1);j=g[o>>2]|0;g[c>>2]=o+4;o=0;m=k}else{j=0;o=0;m=k}}g[C>>2]=m;v=(j|0)<0;j=v?0-j|0:j;n=v?n|8192:n}else{j=Pc(C)|0;if((j|0)<0){i=-1;break}m=g[C>>2]|0}do{if((e[m>>0]|0)==46){if((e[m+1>>0]|0)!=42){g[C>>2]=m+1;k=Pc(C)|0;m=g[C>>2]|0;break}q=m+2|0;k=(e[q>>0]|0)+-48|0;if(k>>>0<10?(e[m+3>>0]|0)==36:0){g[h+(k<<2)>>2]=10;k=g[d+((e[q>>0]|0)+-48<<3)>>2]|0;m=m+4|0;g[C>>2]=m;break}if(o|0){i=-1;break a}if(x){v=(g[c>>2]|0)+(4-1)&~(4-1);k=g[v>>2]|0;g[c>>2]=v+4}else k=0;g[C>>2]=q;m=q}else k=-1}while(0);t=0;while(1){if(((e[m>>0]|0)+-65|0)>>>0>57){i=-1;break a}v=m+1|0;g[C>>2]=v;q=e[(e[m>>0]|0)+-65+(13276+(t*58|0))>>0]|0;r=q&255;if((r+-1|0)>>>0<8){t=r;m=v}else break}if(!(q<<24>>24)){i=-1;break}s=(u|0)>-1;do{if(q<<24>>24==19){if(s){i=-1;break a}else w=49}else{if(s){g[h+(u<<2)>>2]=r;s=d+(u<<3)|0;u=g[s+4>>2]|0;w=D;g[w>>2]=g[s>>2];g[w+4>>2]=u;w=49;break}if(!x){i=0;break a}Qc(D,r,c)}}while(0);if((w|0)==49?(w=0,!x):0){j=0;b=v;continue}m=e[m>>0]|0;m=(t|0)!=0&(m&15|0)==3?m&-33:m;s=n&-65537;u=(n&8192|0)==0?n:s;b:do{switch(m|0){case 110:switch((t&255)<<24>>24){case 0:{g[g[D>>2]>>2]=i;j=0;b=v;continue a}case 1:{g[g[D>>2]>>2]=i;j=0;b=v;continue a}case 2:{j=g[D>>2]|0;g[j>>2]=i;g[j+4>>2]=((i|0)<0)<<31>>31;j=0;b=v;continue a}case 3:{f[g[D>>2]>>1]=i;j=0;b=v;continue a}case 4:{e[g[D>>2]>>0]=i;j=0;b=v;continue a}case 6:{g[g[D>>2]>>2]=i;j=0;b=v;continue a}case 7:{j=g[D>>2]|0;g[j>>2]=i;g[j+4>>2]=((i|0)<0)<<31>>31;j=0;b=v;continue a}default:{j=0;b=v;continue a}}case 112:{m=120;k=k>>>0>8?k:8;b=u|8;w=61;break}case 88:case 120:{b=u;w=61;break}case 111:{m=D;b=g[m>>2]|0;m=g[m+4>>2]|0;r=Sc(b,m,y)|0;s=z-r|0;n=0;q=13740;k=(u&8|0)==0|(k|0)>(s|0)?k:s+1|0;s=u;w=67;break}case 105:case 100:{m=D;b=g[m>>2]|0;m=g[m+4>>2]|0;if((m|0)<0){b=Kd(0,0,b|0,m|0)|0;m=H;n=D;g[n>>2]=b;g[n+4>>2]=m;n=1;q=13740;w=66;break b}else{n=(u&2049|0)!=0&1;q=(u&2048|0)==0?(u&1|0)==0?13740:13742:13741;w=66;break b}}case 117:{m=D;n=0;q=13740;b=g[m>>2]|0;m=g[m+4>>2]|0;w=66;break}case 99:{e[A>>0]=g[D>>2];b=A;n=0;q=13740;r=y;m=1;k=s;break}case 109:{m=Uc(g[(Dc()|0)>>2]|0)|0;w=71;break}case 115:{m=g[D>>2]|0;m=m|0?m:13750;w=71;break}case 67:{g[E>>2]=g[D>>2];g[B>>2]=0;g[D>>2]=E;r=-1;m=E;w=75;break}case 83:{b=g[D>>2]|0;if(!k){Wc(a,32,j,0,u);b=0;w=84}else{r=k;m=b;w=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{j=Yc(a,+l[D>>3],j,k,u,m)|0;b=v;continue a}default:{n=0;q=13740;r=y;m=k;k=u}}}while(0);b:do{if((w|0)==61){u=D;t=g[u>>2]|0;u=g[u+4>>2]|0;r=Rc(t,u,y,m&32)|0;q=(b&8|0)==0|(t|0)==0&(u|0)==0;n=q?0:2;q=q?13740:13740+(m>>4)|0;s=b;b=t;m=u;w=67}else if((w|0)==66){r=Tc(b,m,y)|0;s=u;w=67}else if((w|0)==71){w=0;u=Vc(m,0,k)|0;t=(u|0)==0;b=m;n=0;q=13740;r=t?m+k|0:u;m=t?k:u-m|0;k=s}else if((w|0)==75){w=0;q=m;b=0;k=0;while(1){n=g[q>>2]|0;if(!n)break;k=Xc(F,n)|0;if((k|0)<0|k>>>0>(r-b|0)>>>0)break;b=k+b|0;if(r>>>0>b>>>0)q=q+4|0;else break}if((k|0)<0){i=-1;break a}Wc(a,32,j,b,u);if(!b){b=0;w=84}else{n=0;while(1){k=g[m>>2]|0;if(!k){w=84;break b}k=Xc(F,k)|0;n=k+n|0;if((n|0)>(b|0)){w=84;break b}Oc(a,F,k);if(n>>>0>=b>>>0){w=84;break}else m=m+4|0}}}}while(0);if((w|0)==67){w=0;m=(b|0)!=0|(m|0)!=0;u=(k|0)!=0|m;m=((m^1)&1)+(z-r)|0;b=u?r:y;r=y;m=u?(k|0)>(m|0)?k:m:k;k=(k|0)>-1?s&-65537:s}else if((w|0)==84){w=0;Wc(a,32,j,b,u^8192);j=(j|0)>(b|0)?j:b;b=v;continue}t=r-b|0;s=(m|0)<(t|0)?t:m;u=s+n|0;j=(j|0)<(u|0)?u:j;Wc(a,32,j,u,k);Oc(a,q,n);Wc(a,48,j,u,k^65536);Wc(a,48,s,t,0);Oc(a,b,t);Wc(a,32,j,u,k^8192);b=v}a:do{if((w|0)==87)if(!a)if(!o)i=0;else{i=1;while(1){b=g[h+(i<<2)>>2]|0;if(!b)break;Qc(d+(i<<3)|0,b,c);i=i+1|0;if((i|0)>=10){i=1;break a}}while(1){if(g[h+(i<<2)>>2]|0){i=-1;break a}i=i+1|0;if((i|0)>=10){i=1;break}}}}while(0);p=G;return i|0}function Mc(a){a=a|0;return 0}function Nc(a){a=a|0;return}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;if(!(g[a>>2]&32))id(b,c,a)|0;return}function Pc(a){a=a|0;var b=0,c=0,d=0;c=g[a>>2]|0;d=(e[c>>0]|0)+-48|0;if(d>>>0<10){b=0;do{b=d+(b*10|0)|0;c=c+1|0;g[a>>2]=c;d=(e[c>>0]|0)+-48|0}while(d>>>0<10)}else b=0;return b|0}function Qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;a:do{if(b>>>0<=20)do{switch(b|0){case 9:{d=(g[c>>2]|0)+(4-1)&~(4-1);b=g[d>>2]|0;g[c>>2]=d+4;g[a>>2]=b;break a}case 10:{d=(g[c>>2]|0)+(4-1)&~(4-1);b=g[d>>2]|0;g[c>>2]=d+4;d=a;g[d>>2]=b;g[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(g[c>>2]|0)+(4-1)&~(4-1);b=g[d>>2]|0;g[c>>2]=d+4;d=a;g[d>>2]=b;g[d+4>>2]=0;break a}case 12:{d=(g[c>>2]|0)+(8-1)&~(8-1);b=d;e=g[b>>2]|0;b=g[b+4>>2]|0;g[c>>2]=d+8;d=a;g[d>>2]=e;g[d+4>>2]=b;break a}case 13:{e=(g[c>>2]|0)+(4-1)&~(4-1);d=g[e>>2]|0;g[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;g[e>>2]=d;g[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(g[c>>2]|0)+(4-1)&~(4-1);d=g[e>>2]|0;g[c>>2]=e+4;e=a;g[e>>2]=d&65535;g[e+4>>2]=0;break a}case 15:{e=(g[c>>2]|0)+(4-1)&~(4-1);d=g[e>>2]|0;g[c>>2]=e+4;d=(d&255)<<24>>24;e=a;g[e>>2]=d;g[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(g[c>>2]|0)+(4-1)&~(4-1);d=g[e>>2]|0;g[c>>2]=e+4;e=a;g[e>>2]=d&255;g[e+4>>2]=0;break a}case 17:{e=(g[c>>2]|0)+(8-1)&~(8-1);f=+l[e>>3];g[c>>2]=e+8;l[a>>3]=f;break a}case 18:{e=(g[c>>2]|0)+(8-1)&~(8-1);f=+l[e>>3];g[c>>2]=e+8;l[a>>3]=f;break a}default:break a}}while(0)}while(0);return}function Rc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!((a|0)==0&(b|0)==0))do{c=c+-1|0;e[c>>0]=h[13792+(a&15)>>0]|0|d;a=Nd(a|0,b|0,4)|0;b=H}while(!((a|0)==0&(b|0)==0));return c|0}function Sc(a,b,c){a=a|0;b=b|0;c=c|0;if(!((a|0)==0&(b|0)==0))do{c=c+-1|0;e[c>>0]=a&7|48;a=Nd(a|0,b|0,3)|0;b=H}while(!((a|0)==0&(b|0)==0));return c|0}function Tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(b>>>0>0|(b|0)==0&a>>>0>4294967295){while(1){d=Vd(a|0,b|0,10,0)|0;c=c+-1|0;e[c>>0]=d&255|48;d=a;a=Rd(a|0,b|0,10,0)|0;if(!(b>>>0>9|(b|0)==9&d>>>0>4294967295))break;else b=H}b=a}else b=a;if(b)while(1){c=c+-1|0;e[c>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return c|0}function Uc(a){a=a|0;return dd(a,g[(cd()|0)+188>>2]|0)|0}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,f=0,h=0,i=0;h=b&255;d=(c|0)!=0;a:do{if(d&(a&3|0)!=0){f=b&255;while(1){if((e[a>>0]|0)==f<<24>>24){i=6;break a}a=a+1|0;c=c+-1|0;d=(c|0)!=0;if(!(d&(a&3|0)!=0)){i=5;break}}}else i=5}while(0);if((i|0)==5)if(d)i=6;else c=0;a:do{if((i|0)==6){f=b&255;if((e[a>>0]|0)!=f<<24>>24){d=W(h,16843009)|0;b:do{if(c>>>0>3)while(1){h=g[a>>2]^d;if((h&-2139062144^-2139062144)&h+-16843009|0)break;a=a+4|0;c=c+-4|0;if(c>>>0<=3){i=11;break b}}else i=11}while(0);if((i|0)==11)if(!c){c=0;break}while(1){if((e[a>>0]|0)==f<<24>>24)break a;a=a+1|0;c=c+-1|0;if(!c){c=0;break}}}}}while(0);return(c|0?a:0)|0}function Wc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=p;p=p+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Md(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Oc(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Oc(a,f,e)}p=g;return}function Xc(a,b){a=a|0;b=b|0;if(!a)a=0;else a=ad(a,b,0)|0;return a|0}function Yc(a,b,c,d,f,i){a=a|0;b=+b;c=c|0;d=d|0;f=f|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,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=p;p=p+560|0;l=G+8|0;u=G;F=G+524|0;E=F;m=G+512|0;g[u>>2]=0;D=m+12|0;Zc(b)|0;if((H|0)<0){b=-b;B=1;A=13757}else{B=(f&2049|0)!=0&1;A=(f&2048|0)==0?(f&1|0)==0?13758:13763:13760}Zc(b)|0;C=H&2146435072;do{if(C>>>0<2146435072|(C|0)==2146435072&0<0){r=+$c(b,u)*2;j=r!=0;if(j)g[u>>2]=(g[u>>2]|0)+-1;w=i|32;if((w|0)==97){s=i&32;q=(s|0)==0?A:A+9|0;o=B|2;j=12-d|0;do{if(!(d>>>0>11|(j|0)==0)){b=8;do{j=j+-1|0;b=b*16}while((j|0)!=0);if((e[q>>0]|0)==45){b=-(b+(-r-b));break}else{b=r+b-b;break}}else b=r}while(0);k=g[u>>2]|0;j=(k|0)<0?0-k|0:k;j=Tc(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;e[j>>0]=48}e[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;e[n>>0]=i+15;m=(d|0)<1;l=(f&8|0)==0;j=F;do{C=~~b;k=j+1|0;e[j>>0]=h[13792+C>>0]|s;b=(b-+(C|0))*16;if((k-E|0)==1?!(l&(m&b==0)):0){e[k>>0]=46;j=j+2|0}else j=k}while(b!=0);C=j-E|0;E=D-n|0;D=(d|0)!=0&(C+-2|0)<(d|0)?d+2|0:C;j=E+o+D|0;Wc(a,32,c,j,f);Oc(a,q,o);Wc(a,48,c,j,f^65536);Oc(a,F,C);Wc(a,48,D-C|0,0,0);Oc(a,n,E);Wc(a,32,c,j,f^8192);break}k=(d|0)<0?6:d;if(j){j=(g[u>>2]|0)+-28|0;g[u>>2]=j;b=r*268435456}else{b=r;j=g[u>>2]|0}C=(j|0)<0?l:l+288|0;l=C;do{y=~~b>>>0;g[l>>2]=y;l=l+4|0;b=(b-+(y>>>0))*1e9}while(b!=0);if((j|0)>0){m=C;o=l;while(1){n=(j|0)<29?j:29;j=o+-4|0;if(j>>>0>=m>>>0){l=0;do{x=Od(g[j>>2]|0,0,n|0)|0;x=Ld(x|0,H|0,l|0,0)|0;y=H;v=Vd(x|0,y|0,1e9,0)|0;g[j>>2]=v;l=Rd(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=m>>>0);if(l){m=m+-4|0;g[m>>2]=l}}l=o;while(1){if(l>>>0<=m>>>0)break;j=l+-4|0;if(!(g[j>>2]|0))l=j;else break}j=(g[u>>2]|0)-n|0;g[u>>2]=j;if((j|0)>0)o=l;else break}}else m=C;if((j|0)<0){d=((k+25|0)/9|0)+1|0;t=(w|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(m>>>0<l>>>0){n=(1<<s)+-1|0;o=1e9>>>s;q=0;j=m;do{y=g[j>>2]|0;g[j>>2]=(y>>>s)+q;q=W(y&n,o)|0;j=j+4|0}while(j>>>0<l>>>0);j=(g[m>>2]|0)==0?m+4|0:m;if(!q){m=j;j=l}else{g[l>>2]=q;m=j;j=l+4|0}}else{m=(g[m>>2]|0)==0?m+4|0:m;j=l}l=t?C:m;l=(j-l>>2|0)>(d|0)?l+(d<<2)|0:j;j=(g[u>>2]|0)+s|0;g[u>>2]=j}while((j|0)<0);j=m;d=l}else{j=m;d=l}y=C;if(j>>>0<d>>>0){l=(y-j>>2)*9|0;n=g[j>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(n>>>0>=m>>>0)}}else l=0;t=(w|0)==103;v=(k|0)!=0;m=k-((w|0)!=102?l:0)+((v&t)<<31>>31)|0;if((m|0)<(((d-y>>2)*9|0)+-9|0)){
m=m+9216|0;s=C+4+(((m|0)/9|0)+-1024<<2)|0;m=((m|0)%9|0)+1|0;if((m|0)<9){n=10;do{n=n*10|0;m=m+1|0}while((m|0)!=9)}else n=10;o=g[s>>2]|0;q=(o>>>0)%(n>>>0)|0;m=(s+4|0)==(d|0);if(!(m&(q|0)==0)){r=(((o>>>0)/(n>>>0)|0)&1|0)==0?9007199254740992:9007199254740994;x=(n|0)/2|0;b=q>>>0<x>>>0?.5:m&(q|0)==(x|0)?1:1.5;if(B){x=(e[A>>0]|0)==45;b=x?-b:b;r=x?-r:r}m=o-q|0;g[s>>2]=m;if(r+b!=r){x=m+n|0;g[s>>2]=x;if(x>>>0>999999999){l=s;while(1){m=l+-4|0;g[l>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;g[j>>2]=0}x=(g[m>>2]|0)+1|0;g[m>>2]=x;if(x>>>0>999999999)l=m;else break}}else m=s;l=(y-j>>2)*9|0;o=g[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;l=l+1|0}while(o>>>0>=n>>>0)}}else m=s}else m=s;m=m+4|0;m=d>>>0>m>>>0?m:d;x=j}else{m=d;x=j}w=m;while(1){if(w>>>0<=x>>>0){u=0;break}j=w+-4|0;if(!(g[j>>2]|0))w=j;else{u=1;break}}d=0-l|0;do{if(t){j=((v^1)&1)+k|0;if((j|0)>(l|0)&(l|0)>-5){n=i+-1|0;k=j+-1-l|0}else{n=i+-2|0;k=j+-1|0}j=f&8;if(!j){if(u?(z=g[w+-4>>2]|0,(z|0)!=0):0){if(!((z>>>0)%10|0)){m=0;j=10;do{j=j*10|0;m=m+1|0}while(!((z>>>0)%(j>>>0)|0|0))}else m=0}else m=9;j=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){s=j-m|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}else{s=j+l-m|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}}else s=j}else{n=i;s=f&8}}while(0);t=k|s;o=(t|0)!=0&1;q=(n|32|0)==102;if(q){v=0;j=(l|0)>0?l:0}else{j=(l|0)<0?d:l;j=Tc(j,((j|0)<0)<<31>>31,D)|0;m=D;if((m-j|0)<2)do{j=j+-1|0;e[j>>0]=48}while((m-j|0)<2);e[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;e[j>>0]=n;v=j;j=m-j|0}j=B+1+k+o+j|0;Wc(a,32,c,j,f);Oc(a,A,B);Wc(a,48,c,j,f^65536);if(q){n=x>>>0>C>>>0?C:x;s=F+9|0;o=s;q=F+8|0;m=n;do{l=Tc(g[m>>2]|0,0,s)|0;if((m|0)==(n|0)){if((l|0)==(s|0)){e[q>>0]=48;l=q}}else if(l>>>0>F>>>0){Md(F|0,48,l-E|0)|0;do{l=l+-1|0}while(l>>>0>F>>>0)}Oc(a,l,o-l|0);m=m+4|0}while(m>>>0<=C>>>0);if(t|0)Oc(a,13808,1);if(m>>>0<w>>>0&(k|0)>0)while(1){l=Tc(g[m>>2]|0,0,s)|0;if(l>>>0>F>>>0){Md(F|0,48,l-E|0)|0;do{l=l+-1|0}while(l>>>0>F>>>0)}Oc(a,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0<w>>>0&(k|0)>9)){k=l;break}else k=l}Wc(a,48,k+9|0,9,0)}else{t=u?w:x+4|0;if((k|0)>-1){u=F+9|0;s=(s|0)==0;d=u;o=0-E|0;q=F+8|0;n=x;do{l=Tc(g[n>>2]|0,0,u)|0;if((l|0)==(u|0)){e[q>>0]=48;l=q}do{if((n|0)==(x|0)){m=l+1|0;Oc(a,l,1);if(s&(k|0)<1){l=m;break}Oc(a,13808,1);l=m}else{if(l>>>0<=F>>>0)break;Md(F|0,48,l+o|0)|0;do{l=l+-1|0}while(l>>>0>F>>>0)}}while(0);E=d-l|0;Oc(a,l,(k|0)>(E|0)?E:k);k=k-E|0;n=n+4|0}while(n>>>0<t>>>0&(k|0)>-1)}Wc(a,48,k+18|0,18,0);Oc(a,v,D-v|0)}Wc(a,32,c,j,f^8192)}else{F=(i&32|0)!=0;j=B+3|0;Wc(a,32,c,j,f&-65537);Oc(a,A,B);Oc(a,b!=b|0!=0?F?13784:13788:F?13776:13780,3);Wc(a,32,c,j,f^8192)}}while(0);p=G;return((j|0)<(c|0)?c:j)|0}function Zc(a){a=+a;var b=0;l[n>>3]=a;b=g[n>>2]|0;H=g[n+4>>2]|0;return b|0}function $c(a,b){a=+a;b=b|0;return+ +_c(a,b)}function _c(a,b){a=+a;b=b|0;var c=0,d=0,e=0;l[n>>3]=a;c=g[n>>2]|0;d=g[n+4>>2]|0;e=Nd(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0){a=+_c(a*0x10000000000000000,b);c=(g[b>>2]|0)+-64|0}else c=0;g[b>>2]=c;break}case 2047:break;default:{g[b>>2]=(e&2047)+-1022;g[n>>2]=c;g[n+4>>2]=d&-2146435073|1071644672;a=+l[n>>3]}}return+a}function ad(a,b,c){a=a|0;b=b|0;c=c|0;do{if(a){if(b>>>0<128){e[a>>0]=b;a=1;break}if(!(g[g[(bd()|0)+188>>2]>>2]|0))if((b&-128|0)==57216){e[a>>0]=b;a=1;break}else{g[(Dc()|0)>>2]=84;a=-1;break}if(b>>>0<2048){e[a>>0]=b>>>6|192;e[a+1>>0]=b&63|128;a=2;break}if(b>>>0<55296|(b&-8192|0)==57344){e[a>>0]=b>>>12|224;e[a+1>>0]=b>>>6&63|128;e[a+2>>0]=b&63|128;a=3;break}if((b+-65536|0)>>>0<1048576){e[a>>0]=b>>>18|240;e[a+1>>0]=b>>>12&63|128;e[a+2>>0]=b>>>6&63|128;e[a+3>>0]=b&63|128;a=4;break}else{g[(Dc()|0)>>2]=84;a=-1;break}}else a=1}while(0);return a|0}function bd(){return Fc()|0}function cd(){return Fc()|0}function dd(a,b){a=a|0;b=b|0;var c=0,d=0;d=0;while(1){if((h[13810+d>>0]|0)==(a|0)){a=2;break}c=d+1|0;if((c|0)==87){c=13898;d=87;a=5;break}else d=c}if((a|0)==2)if(!d)c=13898;else{c=13898;a=5}if((a|0)==5)while(1){do{a=c;c=c+1|0}while((e[a>>0]|0)!=0);d=d+-1|0;if(!d)break;else a=5}return ed(c,g[b+20>>2]|0)|0}function ed(a,b){a=a|0;b=b|0;return fd(a,b)|0}function fd(a,b){a=a|0;b=b|0;if(!b)b=0;else b=gd(g[b>>2]|0,g[b+4>>2]|0,a)|0;return(b|0?b:a)|0}function gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(g[a>>2]|0)+1794895138|0;h=hd(g[a+8>>2]|0,o)|0;d=hd(g[a+12>>2]|0,o)|0;f=hd(g[a+16>>2]|0,o)|0;a:do{if((h>>>0<b>>>2>>>0?(n=b-(h<<2)|0,d>>>0<n>>>0&f>>>0<n>>>0):0)?((f|d)&3|0)==0:0){n=d>>>2;m=f>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;f=i+n|0;d=hd(g[a+(f<<2)>>2]|0,o)|0;f=hd(g[a+(f+1<<2)>>2]|0,o)|0;if(!(f>>>0<b>>>0&d>>>0<(b-f|0)>>>0)){d=0;break a}if(e[a+(f+d)>>0]|0){d=0;break a}d=Ic(c,a+f|0)|0;if(!d)break;d=(d|0)<0;if((h|0)==1){d=0;break a}else{l=d?l:k;h=d?j:h-j|0}}d=i+m|0;f=hd(g[a+(d<<2)>>2]|0,o)|0;d=hd(g[a+(d+1<<2)>>2]|0,o)|0;if(d>>>0<b>>>0&f>>>0<(b-d|0)>>>0)d=(e[a+(d+f)>>0]|0)==0?a+d|0:0;else d=0}else d=0}while(0);return d|0}function hd(a,b){a=a|0;b=b|0;var c=0;c=Xd(a|0)|0;return((b|0)==0?a:c)|0}function id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,f=0,h=0,i=0,j=0;d=c+16|0;f=g[d>>2]|0;if(!f){if(!(jd(c)|0)){f=g[d>>2]|0;h=5}else d=0}else h=5;a:do{if((h|0)==5){j=c+20|0;i=g[j>>2]|0;d=i;if((f-i|0)>>>0<b>>>0){d=qe[g[c+36>>2]&15](c,a,b)|0;break}b:do{if((e[c+75>>0]|0)>-1){i=b;while(1){if(!i){h=0;f=a;break b}f=i+-1|0;if((e[a+f>>0]|0)==10)break;else i=f}d=qe[g[c+36>>2]&15](c,a,i)|0;if(d>>>0<i>>>0)break a;h=i;f=a+i|0;b=b-i|0;d=g[j>>2]|0}else{h=0;f=a}}while(0);Td(d|0,f|0,b|0)|0;g[j>>2]=(g[j>>2]|0)+b;d=h+b|0}}while(0);return d|0}function jd(a){a=a|0;var b=0,c=0;b=a+74|0;c=e[b>>0]|0;e[b>>0]=c+255|c;b=g[a>>2]|0;if(!(b&8)){g[a+8>>2]=0;g[a+4>>2]=0;c=g[a+44>>2]|0;g[a+28>>2]=c;g[a+20>>2]=c;g[a+16>>2]=c+(g[a+48>>2]|0);a=0}else{g[a>>2]=b|32;a=-1}return a|0}function kd(a){a=a|0;var b=0,c=0,d=0;d=a;a:do{if(!(d&3))c=4;else{b=d;while(1){if(!(e[a>>0]|0)){a=b;break a}a=a+1|0;b=a;if(!(b&3)){c=4;break}}}}while(0);if((c|0)==4){while(1){b=g[a>>2]|0;if(!((b&-2139062144^-2139062144)&b+-16843009))a=a+4|0;else break}if((b&255)<<24>>24)do{a=a+1|0}while((e[a>>0]|0)!=0)}return a-d|0}function ld(a,b){a=a|0;b=b|0;var c=0;c=kd(a)|0;return((md(a,1,c,b)|0)!=(c|0))<<31>>31|0}function md(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=W(c,b)|0;c=(b|0)==0?0:c;if((g[d+76>>2]|0)>-1){f=(Mc(d)|0)==0;a=id(a,e,d)|0;if(!f)Nc(d)}else a=id(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,f=0,i=0,j=0,k=0,l=0;l=p;p=p+16|0;j=l;k=b&255;e[j>>0]=k;d=a+16|0;f=g[d>>2]|0;if(!f){if(!(jd(a)|0)){f=g[d>>2]|0;i=4}else c=-1}else i=4;do{if((i|0)==4){i=a+20|0;d=g[i>>2]|0;if(d>>>0<f>>>0?(c=b&255,(c|0)!=(e[a+75>>0]|0)):0){g[i>>2]=d+1;e[d>>0]=k;break}if((qe[g[a+36>>2]&15](a,j,1)|0)==1)c=h[j>>0]|0;else c=-1}}while(0);p=l;return c|0}function od(){pa(15768);return 15776}function pd(){wa(15768);return}function qd(a){a=a|0;var b=0,c=0;do{if(a){if((g[a+76>>2]|0)<=-1){b=rd(a)|0;break}c=(Mc(a)|0)==0;b=rd(a)|0;if(!c)Nc(a)}else{if(!(g[642]|0))b=0;else b=qd(g[642]|0)|0;a=g[(od()|0)>>2]|0;if(a)do{if((g[a+76>>2]|0)>-1)c=Mc(a)|0;else c=0;if((g[a+20>>2]|0)>>>0>(g[a+28>>2]|0)>>>0)b=rd(a)|0|b;if(c|0)Nc(a);a=g[a+56>>2]|0}while((a|0)!=0);pd()}}while(0);return b|0}function rd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,h=0;b=a+20|0;h=a+28|0;if((g[b>>2]|0)>>>0>(g[h>>2]|0)>>>0?(qe[g[a+36>>2]&15](a,0,0)|0,(g[b>>2]|0)==0):0)a=-1;else{c=a+4|0;d=g[c>>2]|0;e=a+8|0;f=g[e>>2]|0;if(d>>>0<f>>>0)qe[g[a+40>>2]&15](a,d-f|0,1)|0;g[a+16>>2]=0;g[h>>2]=0;g[b>>2]=0;g[e>>2]=0;g[c>>2]=0;a=0}return a|0}function sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=p;p=p+16|0;e=d;g[e>>2]=c;c=Kc(a,b,e)|0;p=d;return c|0}function td(a){a=a|0;return ud(a)|0}function ud(a){a=a|0;return Wd(a|0)|0}function vd(a){a=a|0;return wd(a)|0}function wd(a){a=a|0;return Wd(a|0)|0}function xd(a){a=a|0;var b=0,c=0,d=0,f=0;d=g[610]|0;if((g[d+76>>2]|0)>-1)f=Mc(d)|0;else f=0;do{if((ld(a,d)|0)<0)a=1;else{if((e[d+75>>0]|0)!=10?(b=d+20|0,c=g[b>>2]|0,c>>>0<(g[d+16>>2]|0)>>>0):0){g[b>>2]=c+1;e[c>>0]=10;a=0;break}a=(nd(d,10)|0)<0}}while(0);if(f|0)Nc(d);return a<<31>>31|0}function yd(a){a=a|0;var b=0,c=0,d=0,e=0,f=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,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=p;p=p+16|0;n=K;do{if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;t=g[3945]|0;c=t>>>a;if(c&3|0){a=(c&1^1)+a|0;c=15820+(a<<1<<2)|0;d=c+8|0;e=g[d>>2]|0;f=e+8|0;h=g[f>>2]|0;do{if((c|0)!=(h|0)){if(h>>>0<(g[3949]|0)>>>0)qa();b=h+12|0;if((g[b>>2]|0)==(e|0)){g[b>>2]=c;g[d>>2]=h;break}else qa()}else g[3945]=t&~(1<<a)}while(0);J=a<<3;g[e+4>>2]=J|3;J=e+J+4|0;g[J>>2]=g[J>>2]|1;J=f;p=K;return J|0}s=g[3947]|0;if(o>>>0>s>>>0){if(c|0){i=2<<a;a=c<<a&(i|0-i);a=(a&0-a)+-1|0;i=a>>>12&16;a=a>>>i;d=a>>>5&8;a=a>>>d;f=a>>>2&4;a=a>>>f;c=a>>>1&2;a=a>>>c;b=a>>>1&1;b=(d|i|f|c|b)+(a>>>b)|0;a=15820+(b<<1<<2)|0;c=a+8|0;f=g[c>>2]|0;i=f+8|0;d=g[i>>2]|0;do{if((a|0)!=(d|0)){if(d>>>0<(g[3949]|0)>>>0)qa();e=d+12|0;if((g[e>>2]|0)==(f|0)){g[e>>2]=a;g[c>>2]=d;j=t;break}else qa()}else{j=t&~(1<<b);g[3945]=j}}while(0);h=(b<<3)-o|0;g[f+4>>2]=o|3;d=f+o|0;g[d+4>>2]=h|1;g[d+h>>2]=h;if(s|0){e=g[3950]|0;b=s>>>3;c=15820+(b<<1<<2)|0;b=1<<b;if(j&b){b=c+8|0;a=g[b>>2]|0;if(a>>>0<(g[3949]|0)>>>0)qa();else{k=a;l=b}}else{g[3945]=j|b;k=c;l=c+8|0}g[l>>2]=e;g[k+12>>2]=e;g[e+8>>2]=k;g[e+12>>2]=c}g[3947]=h;g[3950]=d;J=i;p=K;return J|0}k=g[3946]|0;if(k){a=(k&0-k)+-1|0;I=a>>>12&16;a=a>>>I;H=a>>>5&8;a=a>>>H;J=a>>>2&4;a=a>>>J;c=a>>>1&2;a=a>>>c;b=a>>>1&1;b=g[16084+((H|I|J|c|b)+(a>>>b)<<2)>>2]|0;a=(g[b+4>>2]&-8)-o|0;c=g[b+16+(((g[b+16>>2]|0)==0&1)<<2)>>2]|0;if(!c){j=b;h=a}else{do{I=(g[c+4>>2]&-8)-o|0;J=I>>>0<a>>>0;a=J?I:a;b=J?c:b;c=g[c+16+(((g[c+16>>2]|0)==0&1)<<2)>>2]|0}while((c|0)!=0);j=b;h=a}e=g[3949]|0;if(j>>>0<e>>>0)qa();i=j+o|0;if(j>>>0>=i>>>0)qa();f=g[j+24>>2]|0;c=g[j+12>>2]|0;do{if((c|0)==(j|0)){a=j+20|0;b=g[a>>2]|0;if(!b){a=j+16|0;b=g[a>>2]|0;if(!b){m=0;break}}while(1){c=b+20|0;d=g[c>>2]|0;if(d|0){b=d;a=c;continue}c=b+16|0;d=g[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0<e>>>0)qa();else{g[a>>2]=0;m=b;break}}else{d=g[j+8>>2]|0;if(d>>>0<e>>>0)qa();b=d+12|0;if((g[b>>2]|0)!=(j|0))qa();a=c+8|0;if((g[a>>2]|0)==(j|0)){g[b>>2]=c;g[a>>2]=d;m=c;break}else qa()}}while(0);a:do{if(f|0){b=g[j+28>>2]|0;a=16084+(b<<2)|0;do{if((j|0)==(g[a>>2]|0)){g[a>>2]=m;if(!m){g[3946]=k&~(1<<b);break a}}else if(f>>>0>=(g[3949]|0)>>>0){g[f+16+(((g[f+16>>2]|0)!=(j|0)&1)<<2)>>2]=m;if(!m)break a;else break}else qa()}while(0);a=g[3949]|0;if(m>>>0<a>>>0)qa();g[m+24>>2]=f;b=g[j+16>>2]|0;do{if(b|0)if(b>>>0<a>>>0)qa();else{g[m+16>>2]=b;g[b+24>>2]=m;break}}while(0);b=g[j+20>>2]|0;if(b|0)if(b>>>0<(g[3949]|0)>>>0)qa();else{g[m+20>>2]=b;g[b+24>>2]=m;break}}}while(0);if(h>>>0<16){J=h+o|0;g[j+4>>2]=J|3;J=j+J+4|0;g[J>>2]=g[J>>2]|1}else{g[j+4>>2]=o|3;g[i+4>>2]=h|1;g[i+h>>2]=h;if(s|0){d=g[3950]|0;b=s>>>3;c=15820+(b<<1<<2)|0;b=1<<b;if(t&b){b=c+8|0;a=g[b>>2]|0;if(a>>>0<(g[3949]|0)>>>0)qa();else{q=a;r=b}}else{g[3945]=t|b;q=c;r=c+8|0}g[r>>2]=d;g[q+12>>2]=d;g[d+8>>2]=q;g[d+12>>2]=c}g[3947]=h;g[3950]=i}J=j+8|0;p=K;return J|0}}}else if(a>>>0<=4294967231){a=a+11|0;o=a&-8;k=g[3946]|0;if(k){d=0-o|0;a=a>>>8;if(a){if(o>>>0>16777215)i=31;else{r=(a+1048320|0)>>>16&8;C=a<<r;q=(C+520192|0)>>>16&4;C=C<<q;i=(C+245760|0)>>>16&2;i=14-(q|r|i)+(C<<i>>>15)|0;i=o>>>(i+7|0)&1|i<<1}}else i=0;c=g[16084+(i<<2)>>2]|0;a:do{if(!c){c=0;a=0;C=81}else{a=0;h=o<<((i|0)==31?0:25-(i>>>1)|0);f=0;while(1){e=(g[c+4>>2]&-8)-o|0;if(e>>>0<d>>>0)if(!e){a=c;d=0;e=c;C=85;break a}else{a=c;d=e}e=g[c+20>>2]|0;c=g[c+16+(h>>>31<<2)>>2]|0;f=(e|0)==0|(e|0)==(c|0)?f:e;e=(c|0)==0;if(e){c=f;C=81;break}else h=h<<((e^1)&1)}}}while(0);if((C|0)==81){if((c|0)==0&(a|0)==0){a=2<<i;a=k&(a|0-a);if(!a)break;r=(a&0-a)+-1|0;l=r>>>12&16;r=r>>>l;j=r>>>5&8;r=r>>>j;m=r>>>2&4;r=r>>>m;q=r>>>1&2;r=r>>>q;c=r>>>1&1;a=0;c=g[16084+((j|l|m|q|c)+(r>>>c)<<2)>>2]|0}if(!c){j=a;i=d}else{e=c;C=85}}if((C|0)==85)while(1){C=0;c=(g[e+4>>2]&-8)-o|0;r=c>>>0<d>>>0;c=r?c:d;a=r?e:a;e=g[e+16+(((g[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){j=a;i=c;break}else{d=c;C=85}}if((j|0)!=0?i>>>0<((g[3947]|0)-o|0)>>>0:0){e=g[3949]|0;if(j>>>0<e>>>0)qa();h=j+o|0;if(j>>>0>=h>>>0)qa();f=g[j+24>>2]|0;c=g[j+12>>2]|0;do{if((c|0)==(j|0)){a=j+20|0;b=g[a>>2]|0;if(!b){a=j+16|0;b=g[a>>2]|0;if(!b){s=0;break}}while(1){c=b+20|0;d=g[c>>2]|0;if(d|0){b=d;a=c;continue}c=b+16|0;d=g[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0<e>>>0)qa();else{g[a>>2]=0;s=b;break}}else{d=g[j+8>>2]|0;if(d>>>0<e>>>0)qa();b=d+12|0;if((g[b>>2]|0)!=(j|0))qa();a=c+8|0;if((g[a>>2]|0)==(j|0)){g[b>>2]=c;g[a>>2]=d;s=c;break}else qa()}}while(0);a:do{if(f){b=g[j+28>>2]|0;a=16084+(b<<2)|0;do{if((j|0)==(g[a>>2]|0)){g[a>>2]=s;if(!s){t=k&~(1<<b);g[3946]=t;break a}}else if(f>>>0>=(g[3949]|0)>>>0){g[f+16+(((g[f+16>>2]|0)!=(j|0)&1)<<2)>>2]=s;if(!s){t=k;break a}else break}else qa()}while(0);a=g[3949]|0;if(s>>>0<a>>>0)qa();g[s+24>>2]=f;b=g[j+16>>2]|0;do{if(b|0)if(b>>>0<a>>>0)qa();else{g[s+16>>2]=b;g[b+24>>2]=s;break}}while(0);b=g[j+20>>2]|0;if(b){if(b>>>0<(g[3949]|0)>>>0)qa();else{g[s+20>>2]=b;g[b+24>>2]=s;t=k;break}}else t=k}else t=k}while(0);do{if(i>>>0>=16){g[j+4>>2]=o|3;g[h+4>>2]=i|1;g[h+i>>2]=i;b=i>>>3;if(i>>>0<256){c=15820+(b<<1<<2)|0;a=g[3945]|0;b=1<<b;if(a&b){b=c+8|0;a=g[b>>2]|0;if(a>>>0<(g[3949]|0)>>>0)qa();else{x=a;y=b}}else{g[3945]=a|b;x=c;y=c+8|0}g[y>>2]=h;g[x+12>>2]=h;g[h+8>>2]=x;g[h+12>>2]=c;break}b=i>>>8;if(b){if(i>>>0>16777215)b=31;else{I=(b+1048320|0)>>>16&8;J=b<<I;H=(J+520192|0)>>>16&4;J=J<<H;b=(J+245760|0)>>>16&2;b=14-(H|I|b)+(J<<b>>>15)|0;b=i>>>(b+7|0)&1|b<<1}}else b=0;c=16084+(b<<2)|0;g[h+28>>2]=b;a=h+16|0;g[a+4>>2]=0;g[a>>2]=0;a=1<<b;if(!(t&a)){g[3946]=t|a;g[c>>2]=h;g[h+24>>2]=c;g[h+12>>2]=h;g[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);d=g[c>>2]|0;while(1){if((g[d+4>>2]&-8|0)==(i|0)){C=139;break}c=d+16+(a>>>31<<2)|0;b=g[c>>2]|0;if(!b){C=136;break}else{a=a<<1;d=b}}if((C|0)==136){if(c>>>0<(g[3949]|0)>>>0)qa();else{g[c>>2]=h;g[h+24>>2]=d;g[h+12>>2]=h;g[h+8>>2]=h;break}}else if((C|0)==139){b=d+8|0;a=g[b>>2]|0;J=g[3949]|0;if(a>>>0>=J>>>0&d>>>0>=J>>>0){g[a+12>>2]=h;g[b>>2]=h;g[h+8>>2]=a;g[h+12>>2]=d;g[h+24>>2]=0;break}else qa()}}else{J=i+o|0;g[j+4>>2]=J|3;J=j+J+4|0;g[J>>2]=g[J>>2]|1}}while(0);J=j+8|0;p=K;return J|0}}}else o=-1}while(0);c=g[3947]|0;if(c>>>0>=o>>>0){b=c-o|0;a=g[3950]|0;if(b>>>0>15){J=a+o|0;g[3950]=J;g[3947]=b;g[J+4>>2]=b|1;g[J+b>>2]=b;g[a+4>>2]=o|3}else{g[3947]=0;g[3950]=0;g[a+4>>2]=c|3;J=a+c+4|0;g[J>>2]=g[J>>2]|1}J=a+8|0;p=K;return J|0}h=g[3948]|0;if(h>>>0>o>>>0){H=h-o|0;g[3948]=H;J=g[3951]|0;I=J+o|0;g[3951]=I;g[I+4>>2]=H|1;g[J+4>>2]=o|3;J=J+8|0;p=K;return J|0}if(!(g[4063]|0)){g[4065]=4096;g[4064]=4096;g[4066]=-1;g[4067]=-1;g[4068]=0;g[4056]=0;a=n&-16^1431655768;g[n>>2]=a;g[4063]=a;a=4096}else a=g[4065]|0;i=o+48|0;j=o+47|0;f=a+j|0;e=0-a|0;k=f&e;if(k>>>0<=o>>>0){J=0;p=K;return J|0}a=g[4055]|0;if(a|0?(x=g[4053]|0,y=x+k|0,y>>>0<=x>>>0|y>>>0>a>>>0):0){J=0;p=K;return J|0}a:do{if(!(g[4056]&4)){c=g[3951]|0;b:do{if(c){d=16228;while(1){a=g[d>>2]|0;if(a>>>0<=c>>>0?(w=d+4|0,(a+(g[w>>2]|0)|0)>>>0>c>>>0):0)break;a=g[d+8>>2]|0;if(!a){C=163;break b}else d=a}b=f-h&e;if(b>>>0<2147483647){a=Sd(b|0)|0;if((a|0)==((g[d>>2]|0)+(g[w>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;f=a;C=180;break a}}else{d=a;C=171}}else b=0}else C=163}while(0);do{if((C|0)==163){c=Sd(0)|0;if((c|0)!=(-1|0)?(b=c,u=g[4064]|0,v=u+-1|0,b=((v&b|0)==0?0:(v+b&0-u)-b|0)+k|0,u=g[4053]|0,v=b+u|0,b>>>0>o>>>0&b>>>0<2147483647):0){y=g[4055]|0;if(y|0?v>>>0<=u>>>0|v>>>0>y>>>0:0){b=0;break}a=Sd(b|0)|0;if((a|0)==(c|0)){h=b;f=c;C=180;break a}else{d=a;C=171}}else b=0}}while(0);do{if((C|0)==171){c=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{h=b;f=d;C=180;break a}a=g[4065]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;f=d;C=180;break a}if((Sd(a|0)|0)==(-1|0)){Sd(c|0)|0;b=0;break}else{h=a+b|0;f=d;C=180;break a}}}while(0);g[4056]=g[4056]|4;C=178}else{b=0;C=178}}while(0);if(((C|0)==178?k>>>0<2147483647:0)?(B=Sd(k|0)|0,y=Sd(0)|0,z=y-B|0,A=z>>>0>(o+40|0)>>>0,!((B|0)==(-1|0)|A^1|B>>>0<y>>>0&((B|0)!=(-1|0)&(y|0)!=(-1|0))^1)):0){h=A?z:b;f=B;C=180}if((C|0)==180){b=(g[4053]|0)+h|0;g[4053]=b;if(b>>>0>(g[4054]|0)>>>0)g[4054]=b;k=g[3951]|0;do{if(k){b=16228;while(1){a=g[b>>2]|0;c=b+4|0;d=g[c>>2]|0;if((f|0)==(a+d|0)){C=190;break}e=g[b+8>>2]|0;if(!e)break;else b=e}if(((C|0)==190?(g[b+12>>2]&8|0)==0:0)?k>>>0<f>>>0&k>>>0>=a>>>0:0){g[c>>2]=d+h;J=k+8|0;J=(J&7|0)==0?0:0-J&7;I=k+J|0;J=(g[3948]|0)+(h-J)|0;g[3951]=I;g[3948]=J;g[I+4>>2]=J|1;g[I+J+4>>2]=40;g[3952]=g[4067];break}b=g[3949]|0;if(f>>>0<b>>>0){g[3949]=f;i=f}else i=b;c=f+h|0;b=16228;while(1){if((g[b>>2]|0)==(c|0)){C=198;break}a=g[b+8>>2]|0;if(!a)break;else b=a}if((C|0)==198?(g[b+12>>2]&8|0)==0:0){g[b>>2]=f;m=b+4|0;g[m>>2]=(g[m>>2]|0)+h;m=f+8|0;m=f+((m&7|0)==0?0:0-m&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;l=m+o|0;j=b-m-o|0;g[m+4>>2]=o|3;do{if((b|0)!=(k|0)){if((b|0)==(g[3950]|0)){J=(g[3947]|0)+j|0;g[3947]=J;g[3950]=l;g[l+4>>2]=J|1;g[l+J>>2]=J;break}a=g[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;a:do{if(a>>>0>=256){f=g[b+24>>2]|0;d=g[b+12>>2]|0;do{if((d|0)==(b|0)){d=b+16|0;c=d+4|0;a=g[c>>2]|0;if(!a){a=g[d>>2]|0;if(!a){H=0;break}else c=d}while(1){d=a+20|0;e=g[d>>2]|0;if(e|0){a=e;c=d;continue}d=a+16|0;e=g[d>>2]|0;if(!e)break;else{a=e;c=d}}if(c>>>0<i>>>0)qa();else{g[c>>2]=0;H=a;break}}else{e=g[b+8>>2]|0;if(e>>>0<i>>>0)qa();a=e+12|0;if((g[a>>2]|0)!=(b|0))qa();c=d+8|0;if((g[c>>2]|0)==(b|0)){g[a>>2]=d;g[c>>2]=e;H=d;break}else qa()}}while(0);if(!f)break;a=g[b+28>>2]|0;c=16084+(a<<2)|0;do{if((b|0)!=(g[c>>2]|0)){if(f>>>0>=(g[3949]|0)>>>0){g[f+16+(((g[f+16>>2]|0)!=(b|0)&1)<<2)>>2]=H;if(!H)break a;else break}else qa()}else{g[c>>2]=H;if(H|0)break;g[3946]=g[3946]&~(1<<a);break a}}while(0);d=g[3949]|0;if(H>>>0<d>>>0)qa();g[H+24>>2]=f;a=b+16|0;c=g[a>>2]|0;do{if(c|0)if(c>>>0<d>>>0)qa();else{g[H+16>>2]=c;g[c+24>>2]=H;break}}while(0);a=g[a+4>>2]|0;if(!a)break;if(a>>>0<(g[3949]|0)>>>0)qa();else{g[H+20>>2]=a;g[a+24>>2]=H;break}}else{c=g[b+8>>2]|0;d=g[b+12>>2]|0;a=15820+(e<<1<<2)|0;do{if((c|0)!=(a|0)){if(c>>>0<i>>>0)qa();if((g[c+12>>2]|0)==(b|0))break;qa()}}while(0);if((d|0)==(c|0)){g[3945]=g[3945]&~(1<<e);break}do{if((d|0)==(a|0))E=d+8|0;else{if(d>>>0<i>>>0)qa();a=d+8|0;if((g[a>>2]|0)==(b|0)){E=a;break}qa()}}while(0);g[c+12>>2]=d;g[E>>2]=c}}while(0);b=b+h|0;e=h+j|0}else e=j;b=b+4|0;g[b>>2]=g[b>>2]&-2;g[l+4>>2]=e|1;g[l+e>>2]=e;b=e>>>3;if(e>>>0<256){c=15820+(b<<1<<2)|0;a=g[3945]|0;b=1<<b;do{if(!(a&b)){g[3945]=a|b;I=c;J=c+8|0}else{b=c+8|0;a=g[b>>2]|0;if(a>>>0>=(g[3949]|0)>>>0){I=a;J=b;break}qa()}}while(0);g[J>>2]=l;g[I+12>>2]=l;g[l+8>>2]=I;g[l+12>>2]=c;break}b=e>>>8;do{if(!b)b=0;else{if(e>>>0>16777215){b=31;break}I=(b+1048320|0)>>>16&8;J=b<<I;H=(J+520192|0)>>>16&4;J=J<<H;b=(J+245760|0)>>>16&2;b=14-(H|I|b)+(J<<b>>>15)|0;b=e>>>(b+7|0)&1|b<<1}}while(0);d=16084+(b<<2)|0;g[l+28>>2]=b;a=l+16|0;g[a+4>>2]=0;g[a>>2]=0;a=g[3946]|0;c=1<<b;if(!(a&c)){g[3946]=a|c;g[d>>2]=l;g[l+24>>2]=d;g[l+12>>2]=l;g[l+8>>2]=l;break}a=e<<((b|0)==31?0:25-(b>>>1)|0);d=g[d>>2]|0;while(1){if((g[d+4>>2]&-8|0)==(e|0)){C=265;break}c=d+16+(a>>>31<<2)|0;b=g[c>>2]|0;if(!b){C=262;break}else{a=a<<1;d=b}}if((C|0)==262){if(c>>>0<(g[3949]|0)>>>0)qa();else{g[c>>2]=l;g[l+24>>2]=d;g[l+12>>2]=l;g[l+8>>2]=l;break}}else if((C|0)==265){b=d+8|0;a=g[b>>2]|0;J=g[3949]|0;if(a>>>0>=J>>>0&d>>>0>=J>>>0){g[a+12>>2]=l;g[b>>2]=l;g[l+8>>2]=a;g[l+12>>2]=d;g[l+24>>2]=0;break}else qa()}}else{J=(g[3948]|0)+j|0;g[3948]=J;g[3951]=l;g[l+4>>2]=J|1}}while(0);J=m+8|0;p=K;return J|0}b=16228;while(1){a=g[b>>2]|0;if(a>>>0<=k>>>0?(D=a+(g[b+4>>2]|0)|0,D>>>0>k>>>0):0)break;b=g[b+8>>2]|0}e=D+-47|0;a=e+8|0;a=e+((a&7|0)==0?0:0-a&7)|0;e=k+16|0;a=a>>>0<e>>>0?k:a;b=a+8|0;c=f+8|0;c=(c&7|0)==0?0:0-c&7;J=f+c|0;c=h+-40-c|0;g[3951]=J;g[3948]=c;g[J+4>>2]=c|1;g[J+c+4>>2]=40;g[3952]=g[4067];c=a+4|0;g[c>>2]=27;g[b>>2]=g[4057];g[b+4>>2]=g[4058];g[b+8>>2]=g[4059];g[b+12>>2]=g[4060];g[4057]=f;g[4058]=h;g[4060]=0;g[4059]=b;b=a+24|0;do{J=b;b=b+4|0;g[b>>2]=7}while((J+8|0)>>>0<D>>>0);if((a|0)!=(k|0)){f=a-k|0;g[c>>2]=g[c>>2]&-2;g[k+4>>2]=f|1;g[a>>2]=f;b=f>>>3;if(f>>>0<256){c=15820+(b<<1<<2)|0;a=g[3945]|0;b=1<<b;if(a&b){b=c+8|0;a=g[b>>2]|0;if(a>>>0<(g[3949]|0)>>>0)qa();else{F=a;G=b}}else{g[3945]=a|b;F=c;G=c+8|0}g[G>>2]=k;g[F+12>>2]=k;g[k+8>>2]=F;g[k+12>>2]=c;break}b=f>>>8;if(b){if(f>>>0>16777215)c=31;else{I=(b+1048320|0)>>>16&8;J=b<<I;H=(J+520192|0)>>>16&4;J=J<<H;c=(J+245760|0)>>>16&2;c=14-(H|I|c)+(J<<c>>>15)|0;c=f>>>(c+7|0)&1|c<<1}}else c=0;d=16084+(c<<2)|0;g[k+28>>2]=c;g[k+20>>2]=0;g[e>>2]=0;b=g[3946]|0;a=1<<c;if(!(b&a)){g[3946]=b|a;g[d>>2]=k;g[k+24>>2]=d;g[k+12>>2]=k;g[k+8>>2]=k;break}a=f<<((c|0)==31?0:25-(c>>>1)|0);d=g[d>>2]|0;while(1){if((g[d+4>>2]&-8|0)==(f|0)){C=292;break}c=d+16+(a>>>31<<2)|0;b=g[c>>2]|0;if(!b){C=289;break}else{a=a<<1;d=b}}if((C|0)==289){if(c>>>0<(g[3949]|0)>>>0)qa();else{g[c>>2]=k;g[k+24>>2]=d;g[k+12>>2]=k;g[k+8>>2]=k;break}}else if((C|0)==292){b=d+8|0;a=g[b>>2]|0;J=g[3949]|0;if(a>>>0>=J>>>0&d>>>0>=J>>>0){g[a+12>>2]=k;g[b>>2]=k;g[k+8>>2]=a;g[k+12>>2]=d;g[k+24>>2]=0;break}else qa()}}}else{J=g[3949]|0;if((J|0)==0|f>>>0<J>>>0)g[3949]=f;g[4057]=f;g[4058]=h;g[4060]=0;g[3954]=g[4063];g[3953]=-1;b=0;do{J=15820+(b<<1<<2)|0;g[J+12>>2]=J;g[J+8>>2]=J;b=b+1|0}while((b|0)!=32);J=f+8|0;J=(J&7|0)==0?0:0-J&7;I=f+J|0;J=h+-40-J|0;g[3951]=I;g[3948]=J;g[I+4>>2]=J|1;g[I+J+4>>2]=40;g[3952]=g[4067]}}while(0);b=g[3948]|0;if(b>>>0>o>>>0){H=b-o|0;g[3948]=H;J=g[3951]|0;I=J+o|0;g[3951]=I;g[I+4>>2]=H|1;g[J+4>>2]=o|3;J=J+8|0;p=K;return J|0}}g[(Dc()|0)>>2]=12;J=0;p=K;return J|0}function zd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!a)return;c=a+-8|0;h=g[3949]|0;if(c>>>0<h>>>0)qa();a=g[a+-4>>2]|0;b=a&3;if((b|0)==1)qa();d=a&-8;o=c+d|0;a:do{if(!(a&1)){a=g[c>>2]|0;if(!b)return;k=c+(0-a)|0;j=a+d|0;if(k>>>0<h>>>0)qa();if((k|0)==(g[3950]|0)){a=o+4|0;b=g[a>>2]|0;if((b&3|0)!=3){r=k;e=j;m=k;break}g[3947]=j;g[a>>2]=b&-2;g[k+4>>2]=j|1;g[k+j>>2]=j;return}d=a>>>3;if(a>>>0<256){b=g[k+8>>2]|0;c=g[k+12>>2]|0;a=15820+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)qa();if((g[b+12>>2]|0)!=(k|0))qa()}if((c|0)==(b|0)){g[3945]=g[3945]&~(1<<d);r=k;e=j;m=k;break}if((c|0)!=(a|0)){if(c>>>0<h>>>0)qa();a=c+8|0;if((g[a>>2]|0)==(k|0))f=a;else qa()}else f=c+8|0;g[b+12>>2]=c;g[f>>2]=b;r=k;e=j;m=k;break}f=g[k+24>>2]|0;c=g[k+12>>2]|0;do{if((c|0)==(k|0)){c=k+16|0;b=c+4|0;a=g[b>>2]|0;if(!a){a=g[c>>2]|0;if(!a){i=0;break}else b=c}while(1){c=a+20|0;d=g[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=g[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0<h>>>0)qa();else{g[b>>2]=0;i=a;break}}else{d=g[k+8>>2]|0;if(d>>>0<h>>>0)qa();a=d+12|0;if((g[a>>2]|0)!=(k|0))qa();b=c+8|0;if((g[b>>2]|0)==(k|0)){g[a>>2]=c;g[b>>2]=d;i=c;break}else qa()}}while(0);if(f){a=g[k+28>>2]|0;b=16084+(a<<2)|0;do{if((k|0)==(g[b>>2]|0)){g[b>>2]=i;if(!i){g[3946]=g[3946]&~(1<<a);r=k;e=j;m=k;break a}}else if(f>>>0>=(g[3949]|0)>>>0){g[f+16+(((g[f+16>>2]|0)!=(k|0)&1)<<2)>>2]=i;if(!i){r=k;e=j;m=k;break a}else break}else qa()}while(0);c=g[3949]|0;if(i>>>0<c>>>0)qa();g[i+24>>2]=f;a=k+16|0;b=g[a>>2]|0;do{if(b|0)if(b>>>0<c>>>0)qa();else{g[i+16>>2]=b;g[b+24>>2]=i;break}}while(0);a=g[a+4>>2]|0;if(a){if(a>>>0<(g[3949]|0)>>>0)qa();else{g[i+20>>2]=a;g[a+24>>2]=i;r=k;e=j;m=k;break}}else{r=k;e=j;m=k}}else{r=k;e=j;m=k}}else{r=c;e=d;m=c}}while(0);if(m>>>0>=o>>>0)qa();a=o+4|0;b=g[a>>2]|0;if(!(b&1))qa();if(!(b&2)){a=g[3950]|0;if((o|0)==(g[3951]|0)){q=(g[3948]|0)+e|0;g[3948]=q;g[3951]=r;g[r+4>>2]=q|1;if((r|0)!=(a|0))return;g[3950]=0;g[3947]=0;return}if((o|0)==(a|0)){q=(g[3947]|0)+e|0;g[3947]=q;g[3950]=m;g[r+4>>2]=q|1;g[m+q>>2]=q;return}e=(b&-8)+e|0;d=b>>>3;a:do{if(b>>>0>=256){f=g[o+24>>2]|0;a=g[o+12>>2]|0;do{if((a|0)==(o|0)){c=o+16|0;b=c+4|0;a=g[b>>2]|0;if(!a){a=g[c>>2]|0;if(!a){n=0;break}else b=c}while(1){c=a+20|0;d=g[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=g[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0<(g[3949]|0)>>>0)qa();else{g[b>>2]=0;n=a;break}}else{b=g[o+8>>2]|0;if(b>>>0<(g[3949]|0)>>>0)qa();c=b+12|0;if((g[c>>2]|0)!=(o|0))qa();d=a+8|0;if((g[d>>2]|0)==(o|0)){g[c>>2]=a;g[d>>2]=b;n=a;break}else qa()}}while(0);if(f|0){a=g[o+28>>2]|0;b=16084+(a<<2)|0;do{if((o|0)==(g[b>>2]|0)){g[b>>2]=n;if(!n){g[3946]=g[3946]&~(1<<a);break a}}else if(f>>>0>=(g[3949]|0)>>>0){g[f+16+(((g[f+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(!n)break a;else break}else qa()}while(0);c=g[3949]|0;if(n>>>0<c>>>0)qa();g[n+24>>2]=f;a=o+16|0;b=g[a>>2]|0;do{if(b|0)if(b>>>0<c>>>0)qa();else{g[n+16>>2]=b;g[b+24>>2]=n;break}}while(0);a=g[a+4>>2]|0;if(a|0)if(a>>>0<(g[3949]|0)>>>0)qa();else{g[n+20>>2]=a;g[a+24>>2]=n;break}}}else{b=g[o+8>>2]|0;c=g[o+12>>2]|0;a=15820+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(g[3949]|0)>>>0)qa();if((g[b+12>>2]|0)!=(o|0))qa()}if((c|0)==(b|0)){g[3945]=g[3945]&~(1<<d);break}if((c|0)!=(a|0)){if(c>>>0<(g[3949]|0)>>>0)qa();a=c+8|0;if((g[a>>2]|0)==(o|0))l=a;else qa()}else l=c+8|0;g[b+12>>2]=c;g[l>>2]=b}}while(0);g[r+4>>2]=e|1;g[m+e>>2]=e;if((r|0)==(g[3950]|0)){g[3947]=e;return}}else{g[a>>2]=b&-2;g[r+4>>2]=e|1;g[m+e>>2]=e}a=e>>>3;if(e>>>0<256){c=15820+(a<<1<<2)|0;b=g[3945]|0;a=1<<a;if(b&a){a=c+8|0;b=g[a>>2]|0;if(b>>>0<(g[3949]|0)>>>0)qa();else{p=b;q=a}}else{g[3945]=b|a;p=c;q=c+8|0}g[q>>2]=r;g[p+12>>2]=r;g[r+8>>2]=p;g[r+12>>2]=c;return}a=e>>>8;if(a){if(e>>>0>16777215)a=31;else{p=(a+1048320|0)>>>16&8;q=a<<p;o=(q+520192|0)>>>16&4;q=q<<o;a=(q+245760|0)>>>16&2;a=14-(o|p|a)+(q<<a>>>15)|0;a=e>>>(a+7|0)&1|a<<1}}else a=0;d=16084+(a<<2)|0;g[r+28>>2]=a;g[r+20>>2]=0;g[r+16>>2]=0;b=g[3946]|0;c=1<<a;do{if(b&c){b=e<<((a|0)==31?0:25-(a>>>1)|0);d=g[d>>2]|0;while(1){if((g[d+4>>2]&-8|0)==(e|0)){a=124;break}c=d+16+(b>>>31<<2)|0;a=g[c>>2]|0;if(!a){a=121;break}else{b=b<<1;d=a}}if((a|0)==121){if(c>>>0<(g[3949]|0)>>>0)qa();else{g[c>>2]=r;g[r+24>>2]=d;g[r+12>>2]=r;g[r+8>>2]=r;break}}else if((a|0)==124){a=d+8|0;b=g[a>>2]|0;q=g[3949]|0;if(b>>>0>=q>>>0&d>>>0>=q>>>0){g[b+12>>2]=r;g[a>>2]=r;g[r+8>>2]=b;g[r+12>>2]=d;g[r+24>>2]=0;break}else qa()}}else{g[3946]=b|c;g[d>>2]=r;g[r+24>>2]=d;g[r+12>>2]=r;g[r+8>>2]=r}}while(0);r=(g[3953]|0)+-1|0;g[3953]=r;if(!r)a=16236;else return;while(1){a=g[a>>2]|0;if(!a)break;else a=a+8|0}g[3953]=-1;return}function Ad(a,b){a=a|0;b=b|0;var c=0;if(a){c=W(b,a)|0;if((b|a)>>>0>65535)c=((c>>>0)/(a>>>0)|0|0)==(b|0)?c:-1}else c=0;a=yd(c)|0;if(!a)return a|0;if(!(g[a+-4>>2]&3))return a|0;Md(a|0,0,c|0)|0;return a|0}function Bd(a,b){a=a|0;b=b|0;var c=0,d=0;if(!a){b=yd(b)|0;return b|0}if(b>>>0>4294967231){g[(Dc()|0)>>2]=12;b=0;return b|0}c=Cd(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(c|0){b=c+8|0;return b|0}c=yd(b)|0;if(!c){b=0;return b|0}d=g[a+-4>>2]|0;d=(d&-8)-((d&3|0)==0?8:4)|0;Td(c|0,a|0,(d>>>0<b>>>0?d:b)|0)|0;zd(a);b=c;return b|0}function Cd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=a+4|0;n=g[o>>2]|0;c=n&-8;k=a+c|0;i=g[3949]|0;d=n&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))qa();e=g[k+4>>2]|0;if(!(e&1))qa();if(!d){if(b>>>0<256){a=0;return a|0}if(c>>>0>=(b+4|0)>>>0?(c-b|0)>>>0<=g[4065]<<1>>>0:0)return a|0;a=0;return a|0}if(c>>>0>=b>>>0){c=c-b|0;if(c>>>0<=15)return a|0;m=a+b|0;g[o>>2]=n&1|b|2;g[m+4>>2]=c|3;o=m+c+4|0;g[o>>2]=g[o>>2]|1;Dd(m,c);return a|0}if((k|0)==(g[3951]|0)){m=(g[3948]|0)+c|0;c=m-b|0;d=a+b|0;if(m>>>0<=b>>>0){a=0;return a|0}g[o>>2]=n&1|b|2;g[d+4>>2]=c|1;g[3951]=d;g[3948]=c;return a|0}if((k|0)==(g[3950]|0)){e=(g[3947]|0)+c|0;if(e>>>0<b>>>0){a=0;return a|0}c=e-b|0;d=n&1;if(c>>>0>15){n=a+b|0;m=n+c|0;g[o>>2]=d|b|2;g[n+4>>2]=c|1;g[m>>2]=c;d=m+4|0;g[d>>2]=g[d>>2]&-2;d=n}else{g[o>>2]=d|e|2;d=a+e+4|0;g[d>>2]=g[d>>2]|1;d=0;c=0}g[3947]=c;g[3950]=d;return a|0}if(e&2|0){a=0;return a|0}l=(e&-8)+c|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;f=e>>>3;a:do{if(e>>>0>=256){h=g[k+24>>2]|0;e=g[k+12>>2]|0;do{if((e|0)==(k|0)){e=k+16|0;d=e+4|0;c=g[d>>2]|0;if(!c){c=g[e>>2]|0;if(!c){j=0;break}else d=e}while(1){e=c+20|0;f=g[e>>2]|0;if(f|0){c=f;d=e;continue}e=c+16|0;f=g[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0<i>>>0)qa();else{g[d>>2]=0;j=c;break}}else{f=g[k+8>>2]|0;if(f>>>0<i>>>0)qa();c=f+12|0;if((g[c>>2]|0)!=(k|0))qa();d=e+8|0;if((g[d>>2]|0)==(k|0)){g[c>>2]=e;g[d>>2]=f;j=e;break}else qa()}}while(0);if(h|0){c=g[k+28>>2]|0;d=16084+(c<<2)|0;do{if((k|0)==(g[d>>2]|0)){g[d>>2]=j;if(!j){g[3946]=g[3946]&~(1<<c);break a}}else if(h>>>0>=(g[3949]|0)>>>0){g[h+16+(((g[h+16>>2]|0)!=(k|0)&1)<<2)>>2]=j;if(!j)break a;else break}else qa()}while(0);e=g[3949]|0;if(j>>>0<e>>>0)qa();g[j+24>>2]=h;c=k+16|0;d=g[c>>2]|0;do{if(d|0)if(d>>>0<e>>>0)qa();else{g[j+16>>2]=d;g[d+24>>2]=j;break}}while(0);c=g[c+4>>2]|0;if(c|0)if(c>>>0<(g[3949]|0)>>>0)qa();else{g[j+20>>2]=c;g[c+24>>2]=j;break}}}else{d=g[k+8>>2]|0;e=g[k+12>>2]|0;c=15820+(f<<1<<2)|0;if((d|0)!=(c|0)){if(d>>>0<i>>>0)qa();if((g[d+12>>2]|0)!=(k|0))qa()}if((e|0)==(d|0)){g[3945]=g[3945]&~(1<<f);break}if((e|0)!=(c|0)){if(e>>>0<i>>>0)qa();c=e+8|0;if((g[c>>2]|0)==(k|0))h=c;else qa()}else h=e+8|0;g[d+12>>2]=e;g[h>>2]=d}}while(0);c=n&1;if(m>>>0<16){g[o>>2]=l|c|2;o=a+l+4|0;g[o>>2]=g[o>>2]|1;return a|0}else{n=a+b|0;g[o>>2]=c|b|2;g[n+4>>2]=m|3;o=n+m+4|0;g[o>>2]=g[o>>2]|1;Dd(n,m);return a|0}return 0}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+b|0;c=g[a+4>>2]|0;a:do{if(!(c&1)){f=g[a>>2]|0;if(!(c&3))return;l=a+(0-f)|0;k=f+b|0;i=g[3949]|0;if(l>>>0<i>>>0)qa();if((l|0)==(g[3950]|0)){a=o+4|0;c=g[a>>2]|0;if((c&3|0)!=3){r=l;e=k;break}g[3947]=k;g[a>>2]=c&-2;g[l+4>>2]=k|1;g[l+k>>2]=k;return}d=f>>>3;if(f>>>0<256){c=g[l+8>>2]|0;b=g[l+12>>2]|0;a=15820+(d<<1<<2)|0;if((c|0)!=(a|0)){if(c>>>0<i>>>0)qa();if((g[c+12>>2]|0)!=(l|0))qa()}if((b|0)==(c|0)){g[3945]=g[3945]&~(1<<d);r=l;e=k;break}if((b|0)!=(a|0)){if(b>>>0<i>>>0)qa();a=b+8|0;if((g[a>>2]|0)==(l|0))h=a;else qa()}else h=b+8|0;g[c+12>>2]=b;g[h>>2]=c;r=l;e=k;break}f=g[l+24>>2]|0;b=g[l+12>>2]|0;do{if((b|0)==(l|0)){b=l+16|0;c=b+4|0;a=g[c>>2]|0;if(!a){a=g[b>>2]|0;if(!a){j=0;break}else c=b}while(1){b=a+20|0;d=g[b>>2]|0;if(d|0){a=d;c=b;continue}b=a+16|0;d=g[b>>2]|0;if(!d)break;else{a=d;c=b}}if(c>>>0<i>>>0)qa();else{g[c>>2]=0;j=a;break}}else{d=g[l+8>>2]|0;if(d>>>0<i>>>0)qa();a=d+12|0;if((g[a>>2]|0)!=(l|0))qa();c=b+8|0;if((g[c>>2]|0)==(l|0)){g[a>>2]=b;g[c>>2]=d;j=b;break}else qa()}}while(0);if(f){a=g[l+28>>2]|0;c=16084+(a<<2)|0;do{if((l|0)==(g[c>>2]|0)){g[c>>2]=j;if(!j){g[3946]=g[3946]&~(1<<a);r=l;e=k;break a}}else if(f>>>0>=(g[3949]|0)>>>0){g[f+16+(((g[f+16>>2]|0)!=(l|0)&1)<<2)>>2]=j;if(!j){r=l;e=k;break a}else break}else qa()}while(0);b=g[3949]|0;if(j>>>0<b>>>0)qa();g[j+24>>2]=f;a=l+16|0;c=g[a>>2]|0;do{if(c|0)if(c>>>0<b>>>0)qa();else{g[j+16>>2]=c;g[c+24>>2]=j;break}}while(0);a=g[a+4>>2]|0;if(a){if(a>>>0<(g[3949]|0)>>>0)qa();else{g[j+20>>2]=a;g[a+24>>2]=j;r=l;e=k;break}}else{r=l;e=k}}else{r=l;e=k}}else{r=a;e=b}}while(0);h=g[3949]|0;if(o>>>0<h>>>0)qa();a=o+4|0;c=g[a>>2]|0;if(!(c&2)){a=g[3950]|0;if((o|0)==(g[3951]|0)){q=(g[3948]|0)+e|0;g[3948]=q;g[3951]=r;g[r+4>>2]=q|1;if((r|0)!=(a|0))return;g[3950]=0;g[3947]=0;return}if((o|0)==(a|0)){q=(g[3947]|0)+e|0;g[3947]=q;g[3950]=r;g[r+4>>2]=q|1;g[r+q>>2]=q;return}e=(c&-8)+e|0;d=c>>>3;a:do{if(c>>>0>=256){f=g[o+24>>2]|0;b=g[o+12>>2]|0;do{if((b|0)==(o|0)){b=o+16|0;c=b+4|0;a=g[c>>2]|0;if(!a){a=g[b>>2]|0;if(!a){n=0;break}else c=b}while(1){b=a+20|0;d=g[b>>2]|0;if(d|0){a=d;c=b;continue}b=a+16|0;d=g[b>>2]|0;if(!d)break;else{a=d;c=b}}if(c>>>0<h>>>0)qa();else{g[c>>2]=0;n=a;break}}else{d=g[o+8>>2]|0;if(d>>>0<h>>>0)qa();a=d+12|0;if((g[a>>2]|0)!=(o|0))qa();c=b+8|0;if((g[c>>2]|0)==(o|0)){g[a>>2]=b;g[c>>2]=d;n=b;break}else qa()}}while(0);if(f|0){a=g[o+28>>2]|0;c=16084+(a<<2)|0;do{if((o|0)==(g[c>>2]|0)){g[c>>2]=n;if(!n){g[3946]=g[3946]&~(1<<a);break a}}else if(f>>>0>=(g[3949]|0)>>>0){g[f+16+(((g[f+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(!n)break a;else break}else qa()}while(0);b=g[3949]|0;if(n>>>0<b>>>0)qa();g[n+24>>2]=f;a=o+16|0;c=g[a>>2]|0;do{if(c|0)if(c>>>0<b>>>0)qa();else{g[n+16>>2]=c;g[c+24>>2]=n;break}}while(0);a=g[a+4>>2]|0;if(a|0)if(a>>>0<(g[3949]|0)>>>0)qa();else{g[n+20>>2]=a;g[a+24>>2]=n;break}}}else{c=g[o+8>>2]|0;b=g[o+12>>2]|0;a=15820+(d<<1<<2)|0;if((c|0)!=(a|0)){if(c>>>0<h>>>0)qa();if((g[c+12>>2]|0)!=(o|0))qa()}if((b|0)==(c|0)){g[3945]=g[3945]&~(1<<d);break}if((b|0)!=(a|0)){if(b>>>0<h>>>0)qa();a=b+8|0;if((g[a>>2]|0)==(o|0))m=a;else qa()}else m=b+8|0;g[c+12>>2]=b;g[m>>2]=c}}while(0);g[r+4>>2]=e|1;g[r+e>>2]=e;if((r|0)==(g[3950]|0)){g[3947]=e;return}}else{g[a>>2]=c&-2;g[r+4>>2]=e|1;g[r+e>>2]=e}a=e>>>3;if(e>>>0<256){b=15820+(a<<1<<2)|0;c=g[3945]|0;a=1<<a;if(c&a){a=b+8|0;c=g[a>>2]|0;if(c>>>0<(g[3949]|0)>>>0)qa();else{p=c;q=a}}else{g[3945]=c|a;p=b;q=b+8|0}g[q>>2]=r;g[p+12>>2]=r;g[r+8>>2]=p;g[r+12>>2]=b;return}a=e>>>8;if(a){if(e>>>0>16777215)a=31;else{p=(a+1048320|0)>>>16&8;q=a<<p;o=(q+520192|0)>>>16&4;q=q<<o;
a=(q+245760|0)>>>16&2;a=14-(o|p|a)+(q<<a>>>15)|0;a=e>>>(a+7|0)&1|a<<1}}else a=0;d=16084+(a<<2)|0;g[r+28>>2]=a;g[r+20>>2]=0;g[r+16>>2]=0;c=g[3946]|0;b=1<<a;if(!(c&b)){g[3946]=c|b;g[d>>2]=r;g[r+24>>2]=d;g[r+12>>2]=r;g[r+8>>2]=r;return}c=e<<((a|0)==31?0:25-(a>>>1)|0);d=g[d>>2]|0;while(1){if((g[d+4>>2]&-8|0)==(e|0)){a=121;break}b=d+16+(c>>>31<<2)|0;a=g[b>>2]|0;if(!a){a=118;break}else{c=c<<1;d=a}}if((a|0)==118){if(b>>>0<(g[3949]|0)>>>0)qa();g[b>>2]=r;g[r+24>>2]=d;g[r+12>>2]=r;g[r+8>>2]=r;return}else if((a|0)==121){a=d+8|0;c=g[a>>2]|0;q=g[3949]|0;if(!(c>>>0>=q>>>0&d>>>0>=q>>>0))qa();g[c+12>>2]=r;g[a>>2]=r;g[r+8>>2]=c;g[r+12>>2]=d;g[r+24>>2]=0;return}}function Ed(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=yd(b)|0;if(a|0)break;a=Id()|0;if(!a){a=0;break}xe[a&0]()}return a|0}function Fd(a){a=a|0;return Ed(a)|0}function Gd(a){a=a|0;zd(a);return}function Hd(a){a=a|0;Gd(a);return}function Id(){var a=0;a=g[4069]|0;g[4069]=a+0;return a|0}function Jd(){}function Kd(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(H=d,a-c>>>0|0)|0}function Ld(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return(H=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function Md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,f=0,h=0,i=0;h=a+c|0;b=b&255;if((c|0)>=67){while(a&3){e[a>>0]=b;a=a+1|0}d=h&-4|0;f=d-64|0;i=b|b<<8|b<<16|b<<24;while((a|0)<=(f|0)){g[a>>2]=i;g[a+4>>2]=i;g[a+8>>2]=i;g[a+12>>2]=i;g[a+16>>2]=i;g[a+20>>2]=i;g[a+24>>2]=i;g[a+28>>2]=i;g[a+32>>2]=i;g[a+36>>2]=i;g[a+40>>2]=i;g[a+44>>2]=i;g[a+48>>2]=i;g[a+52>>2]=i;g[a+56>>2]=i;g[a+60>>2]=i;a=a+64|0}while((a|0)<(d|0)){g[a>>2]=i;a=a+4|0}}while((a|0)<(h|0)){e[a>>0]=b;a=a+1|0}return h-c|0}function Nd(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){H=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}H=0;return b>>>c-32|0}function Od(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){H=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}H=a<<c-32;return 0}function Pd(a){a=a|0;var b=0;b=e[r+(a&255)>>0]|0;if((b|0)<8)return b|0;b=e[r+(a>>8&255)>>0]|0;if((b|0)<8)return b+8|0;b=e[r+(a>>16&255)>>0]|0;if((b|0)<8)return b+16|0;return(e[r+(a>>>24)>>0]|0)+24|0}function Qd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=c;n=d;i=n;if(!k){f=(e|0)!=0;if(!i){if(f){g[e>>2]=(l>>>0)%(h>>>0);g[e+4>>2]=0}n=0;e=(l>>>0)/(h>>>0)>>>0;return(H=n,e)|0}else{if(!f){n=0;e=0;return(H=n,e)|0}g[e>>2]=a|0;g[e+4>>2]=b&0;n=0;e=0;return(H=n,e)|0}}f=(i|0)==0;do{if(h){if(!f){f=(Z(i|0)|0)-(Z(k|0)|0)|0;if(f>>>0<=31){m=f+1|0;i=31-f|0;b=f-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;f=0;i=l<<i;break}if(!e){n=0;e=0;return(H=n,e)|0}g[e>>2]=a|0;g[e+4>>2]=j|b&0;n=0;e=0;return(H=n,e)|0}f=h-1|0;if(f&h|0){i=(Z(h|0)|0)+33-(Z(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);f=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(e|0){g[e>>2]=f&l;g[e+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return(H=o,p)|0}else{p=Pd(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return(H=o,p)|0}}else{if(f){if(e|0){g[e>>2]=(k>>>0)%(h>>>0);g[e+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return(H=o,p)|0}if(!l){if(e|0){g[e>>2]=0;g[e+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return(H=o,p)|0}f=i-1|0;if(!(f&i)){if(e|0){g[e>>2]=a|0;g[e+4>>2]=f&k|b&0}o=0;p=k>>>((Pd(i|0)|0)>>>0);return(H=o,p)|0}f=(Z(i|0)|0)-(Z(k|0)|0)|0;if(f>>>0<=30){b=f+1|0;i=31-f|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);f=0;i=l<<i;break}if(!e){o=0;p=0;return(H=o,p)|0}g[e>>2]=a|0;g[e+4>>2]=j|b&0;o=0;p=0;return(H=o,p)|0}}while(0);if(!h){k=i;j=0;i=0}else{m=c|0|0;l=n|d&0;k=Ld(m|0,l|0,-1,-1)|0;c=H;j=i;i=0;do{d=j;j=f>>>31|j<<1;f=i|f<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;Kd(k|0,c|0,d|0,n|0)|0;p=H;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Kd(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=H;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(e|0){g[e>>2]=a;g[e+4>>2]=b}o=(f|0)>>>31|(k|h)<<1|(h<<1|f>>>31)&0|j;p=(f<<1|0>>>31)&-2|i;return(H=o,p)|0}function Rd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Qd(a,b,c,d,0)|0}function Sd(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=g[m>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ca()|0;ra(12);return-1}g[m>>2]=a;if((a|0)>(ba()|0)?(aa()|0)==0:0){ra(12);g[m>>2]=b;return-1}return b|0}function Td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,f=0,h=0;if((c|0)>=8192)return ua(a|0,b|0,c|0)|0;h=a|0;f=a+c|0;if((a&3)==(b&3)){while(a&3){if(!c)return h|0;e[a>>0]=e[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}c=f&-4|0;d=c-64|0;while((a|0)<=(d|0)){g[a>>2]=g[b>>2];g[a+4>>2]=g[b+4>>2];g[a+8>>2]=g[b+8>>2];g[a+12>>2]=g[b+12>>2];g[a+16>>2]=g[b+16>>2];g[a+20>>2]=g[b+20>>2];g[a+24>>2]=g[b+24>>2];g[a+28>>2]=g[b+28>>2];g[a+32>>2]=g[b+32>>2];g[a+36>>2]=g[b+36>>2];g[a+40>>2]=g[b+40>>2];g[a+44>>2]=g[b+44>>2];g[a+48>>2]=g[b+48>>2];g[a+52>>2]=g[b+52>>2];g[a+56>>2]=g[b+56>>2];g[a+60>>2]=g[b+60>>2];a=a+64|0;b=b+64|0}while((a|0)<(c|0)){g[a>>2]=g[b>>2];a=a+4|0;b=b+4|0}}else{c=f-4|0;while((a|0)<(c|0)){e[a>>0]=e[b>>0]|0;e[a+1>>0]=e[b+1>>0]|0;e[a+2>>0]=e[b+2>>0]|0;e[a+3>>0]=e[b+3>>0]|0;a=a+4|0;b=b+4|0}}while((a|0)<(f|0)){e[a>>0]=e[b>>0]|0;a=a+1|0;b=b+1|0}return h|0}function Ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<(a|0)&(a|0)<(b+c|0)){d=a;b=b+c|0;a=a+c|0;while((c|0)>0){a=a-1|0;b=b-1|0;c=c-1|0;e[a>>0]=e[b>>0]|0}a=d}else Td(a,b,c)|0;return a|0}function Vd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=p;p=p+16|0;e=f|0;Qd(a,b,c,d,e)|0;p=f;return(H=g[e+4>>2]|0,g[e>>2]|0)|0}function Wd(a){a=a|0;return(a&255)<<8|a>>8&255|0}function Xd(a){a=a|0;return(a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Yd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return qe[a&15](b|0,c|0,d|0)|0}function Zd(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;re[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function $d(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;se[a&3](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)}function _d(a,b){a=a|0;b=b|0;te[a&7](b|0)}function ae(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;ue[a&3](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)}function be(a,b){a=a|0;b=b|0;return ve[a&7](b|0)|0}function ce(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;we[a&3](b|0,c|0,d|0)}function de(a){a=a|0;xe[a&0]()}function ee(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;return ye[a&3](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)|0}function fe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ze[a&3](b|0,c|0,d|0,e|0)}function ge(a,b,c){a=a|0;b=b|0;c=c|0;$(0);return 0}function he(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$(1)}function ie(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;$(2)}function je(a){a=a|0;$(3)}function ke(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;$(4)}function le(a){a=a|0;$(5);return 0}function me(a,b,c){a=a|0;b=b|0;c=c|0;$(6)}function ne(){$(7)}function oe(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;$(8);return 0}function pe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$(9)}var qe=[ge,xb,Vb,Zb,$b,_b,Sb,ic,lc,nc,oc,Ac,Bc,Hc,qc,ge];var re=[he,Ma,Ka,he];var se=[ie,La,Ja,ie];var te=[je,Ub,Yb,hc,kc,je,je,je];var ue=[ke,mb,kb,ke];var ve=[le,Tb,Xb,gc,jc,zc,le,le];var we=[me,dc,bc,fc];var xe=[ne];var ye=[oe,lb,jb,oe];var ze=[pe,cc,ac,ec];return d={_SH_speex_init:uc,_bitshift64Lshr:Nd,_bitshift64Shl:Od,_fflush:qd,_memset:Md,_sbrk:Sd,_memcpy:Td,___errno_location:Dc,___uremdi3:Vd,_llvm_cttz_i32:Pd,_i64Subtract:Kd,___udivmoddi4:Qd,_i64Add:Ld,_SH_speex_speex_to_raw:xc,_llvm_bswap_i16:Wd,_emscripten_get_global_libc:yc,___udivdi3:Rd,_llvm_bswap_i32:Xd,_SH_speex_encode_frame:vc,_free:zd,_memmove:Ud,_malloc:yd,runPostSets:Jd,stackAlloc:Ca,stackSave:Da,stackRestore:Ea,establishStackSpace:Fa,setTempRet0:Ha,getTempRet0:Ia,setThrew:Ga},_defineProperty(d,"stackAlloc",Ca),_defineProperty(d,"stackSave",Da),_defineProperty(d,"stackRestore",Ea),_defineProperty(d,"establishStackSpace",Fa),_defineProperty(d,"setThrew",Ga),_defineProperty(d,"setTempRet0",Ha),_defineProperty(d,"getTempRet0",Ia),_defineProperty(d,"dynCall_iiii",Yd),_defineProperty(d,"dynCall_viiiiii",Zd),_defineProperty(d,"dynCall_viiiiiiiiiiiii",$d),_defineProperty(d,"dynCall_vi",_d),_defineProperty(d,"dynCall_viiiiiiiiiiiiiii",ae),_defineProperty(d,"dynCall_ii",be),_defineProperty(d,"dynCall_viii",ce),_defineProperty(d,"dynCall_v",de),_defineProperty(d,"dynCall_iiiiiiiiiiiiiiiiiiiii",ee),_defineProperty(d,"dynCall_viiii",fe),d}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),stackSave=Module.stackSave=asm.stackSave,getTempRet0=Module.getTempRet0=asm.getTempRet0,_memset=Module._memset=asm._memset,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_fflush=Module._fflush=asm._fflush,_llvm_cttz_i32=Module._llvm_cttz_i32=asm._llvm_cttz_i32,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,___errno_location=Module.___errno_location=asm.___errno_location,___uremdi3=Module.___uremdi3=asm.___uremdi3,stackAlloc=Module.stackAlloc=asm.stackAlloc,_i64Subtract=Module._i64Subtract=asm._i64Subtract,___udivmoddi4=Module.___udivmoddi4=asm.___udivmoddi4,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_SH_speex_speex_to_raw=Module._SH_speex_speex_to_raw=asm._SH_speex_speex_to_raw,_llvm_bswap_i16=Module._llvm_bswap_i16=asm._llvm_bswap_i16,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,___udivdi3=Module.___udivdi3=asm.___udivdi3,_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,_SH_speex_init=Module._SH_speex_init=asm._SH_speex_init,_SH_speex_encode_frame=Module._SH_speex_encode_frame=asm._SH_speex_encode_frame,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_viiiiiiiiiiiii=Module.dynCall_viiiiiiiiiiiii=asm.dynCall_viiiiiiiiiiiii,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_viiiiiiiiiiiiiii=Module.dynCall_viiiiiiiiiiiiiii=asm.dynCall_viiiiiiiiiiiiiii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_iiiiiiiiiiiiiiiiiiiii=Module.dynCall_iiiiiiiiiiiiiiiiiiiii=asm.dynCall_iiiiiiiiiiiiiiiiiiiii,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function a(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=a)},Module.callMain=Module.callMain=function(a){function b(){for(var a=0;a<3;a++)d.push(0)}a=a||[],ensureInitRuntime();var c=a.length+1,d=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];b();for(var e=0;e<c-1;e+=1)d.push(allocate(intArrayFromString(a[e]),"i8",ALLOC_NORMAL)),b();d.push(0),d=allocate(d,"i32",ALLOC_NORMAL);try{var f=Module._main(c,d,0);exit(f,!0)}catch(g){if(g instanceof ExitStatus)return;if("SimulateInfiniteLoop"==g)return void(Module.noExitRuntime=!0);var h=g;g&&"object"===("undefined"==typeof g?"undefined":_typeof(g))&&g.stack&&(h=[g,g.stack]),Module.printErr("exception thrown: "+h),Module.quit(1,g)}finally{calledMain=!0}},Module.run=Module.run=run,Module.exit=Module.exit=exit;var abortDecorators=[];if(Module.abort=Module.abort=abort,Module.preInit)for("function"==typeof Module.preInit&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run(),module.exports=Module}).call(exports,__webpack_require__(27),__webpack_require__(40)(module))},function(a,b){a.exports=function(a){return a.webpackPolyfill||(a.deprecate=function(){},a.paths=[],a.children=[],a.webpackPolyfill=1),a}},function(a,b){},function(a,b,c){(function(a){function c(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d<a.length;d++)b(a[d],d,a)&&c.push(a[d]);return c}var e=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,f=function(a){return e.exec(a).slice(1)};b.resolve=function(){for(var b="",e=!1,f=arguments.length-1;f>=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(b=g+"/"+b,e="/"===g.charAt(0))}return b=c(d(b.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+b||"."},b.normalize=function(a){var e=b.isAbsolute(a),f="/"===g(a,-1);return a=c(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},b.isAbsolute=function(a){return"/"===a.charAt(0)},b.join=function(){var a=Array.prototype.slice.call(arguments,0);return b.normalize(d(a,function(a,b){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},b.relative=function(a,c){function d(a){for(var b=0;b<a.length&&""===a[b];b++);for(var c=a.length-1;c>=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=b.resolve(a).substr(1),c=b.resolve(c).substr(1);for(var e=d(a.split("/")),f=d(c.split("/")),g=Math.min(e.length,f.length),h=g,i=0;i<g;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;i<e.length;i++)j.push("..");return j=j.concat(f.slice(h)),j.join("/")},b.sep="/",b.delimiter=":",b.dirname=function(a){var b=f(a),c=b[0],d=b[1];return c||d?(d&&(d=d.substr(0,d.length-1)),c+d):"."},b.basename=function(a,b){var c=f(a)[2];return b&&c.substr(-1*b.length)===b&&(c=c.substr(0,c.length-b.length)),c},b.extname=function(a){return f(a)[3]};var g="b"==="ab".substr(-1)?function(a,b,c){return a.substr(b,c)}:function(a,b,c){return b<0&&(b=a.length+b),a.substr(b,c)}}).call(b,c(27))},function(a,b,c){"use strict";var d=c(39),e=d.cwrap("SH_speex_init","number",["number","number","number","number","number"]),f=d.cwrap("SH_speex_encode_frame","number",["number","number","number"]),g=d.cwrap("SH_speex_speex_to_raw","boolean",["number","number","number","number"]),h=80,i=d._malloc(h),j=d._malloc(h),k=new Uint8Array(d.HEAPU8.buffer,i,h),l=new Uint8Array(d.HEAPU8.buffer,j,h),m=40,n=d._malloc(m),o=d._malloc(m);e(10,i,h,1,n),e(10,j,h,0,o),a.exports={encodeFrame:function(a,b,c){return f(a,b,c?n:o)},decodeSpeex:function(a,b,c,d){return g(a,b,c,d)},headerNB:k,headerWB:l}},function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(){if(this.state===q.READY){this.state=q.STREAMING,m.log("voice_request: initialized"),this.requestInfo.ClientID=this.clientId,this.requestInfo.ObjectByteCountPrefix=!0,this.requestInfo.PartialTranscriptsDesired=!0,this.requestInfo.SDK="web",this.requestInfo.SDKVersion=l.version,this.conversationState&&this.conversationState&&(this.requestInfo.ConversationState=this.conversationState,this.requestInfo.ConversationStateTime=this.conversationState.ConversationStateTime),this.searchInfo={type:"voice",startTime:new Date,endTime:-1,vadEnabled:this.enableVAD,requestInfo:this.requestInfo,partialTranscriptLatencies:[],getTotalDuration:function(){return this.endTime-this.startTime}},this.connection.connect(this.requestInfo);var a=j.gzip(k.stringify(this.requestInfo));this.connection.send(a),this.connection.send(this.sampleRate<16e3?n.headerNB:n.headerWB)}}function f(a){this.state=q.ERROR,this.searchInfo.error=a,this.searchInfo.endTime=new Date,this.connection&&this.connection.close(),this.onError(a,this.searchInfo)}function g(a){m.log("voice_request: partial transcript",a),this.onTranscriptionUpdate(a),this.searchInfo.partialTranscriptLatencies.push(new Date-this.searchInfo.startTime-a.DurationMS),a.SafeToStopAudio&&this.enableVAD&&(m.log("voice_request: safe to stop audio"),this.end()),a.Done&&(m.log("voice_request: done with transcripts. waiting for final response..."),this.connection.done())}function h(a,b){return m.log("voice_request: final result",a),this.connection.done(),this.end(),"Error"==a.Status?f.call(this,{type:"SERVER",exception:a}):(this.searchInfo.contentBody=b,this.searchInfo.endTime=new Date,void this.onResponse(a,this.searchInfo))}var i=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),j=c(45),k=c(9),l=c(1),m=c(14),n=c(43),o=c(61),p=c(101),Response=c(13),q={READY:"ready",STREAMING:"streaming",DONE:"done",ERROR:"error"},VoiceRequest=function(){function VoiceRequest(a){var b=this;if(d(this,VoiceRequest),this.state=q.READY,!a.clientId)throw new Error("VoiceRequest requires Houndify Client ID 'clientId'.");if(this.clientId=a.clientId,a.clientKey)this.clientKey=a.clientKey;else{if(!a.authURL)throw new Error("VoiceRequest requires either 'clientKey' or 'authURL' for authentication.");this.authURL=a.authURL}this.onResponse=m.wrapListener(a.onResponse,"onResponse"),this.onError=m.wrapListener(a.onError,"onError"),this.onTranscriptionUpdate=m.wrapListener(a.onTranscriptionUpdate,"onTranscriptionUpdate"),this.onAbort=m.wrapListener(a.onAbort,"onAbort"),this.requestInfo=m.cloneObject(a.requestInfo),this.conversationState=a.conversationState,this.sampleRate=a.sampleRate||16e3,this.enableVAD=!(!a.enableVAD&&void 0!==a.enableVAD),this.endpoint=a.endpoint||l.VOICE_ENDPOINT_WS,this.proxy=m.cloneObject(a.proxy||{}),this.processor=new p(this.sampleRate),this.processor.on("frame",function(a){b.connection.send(a)}).on("error",function(a){f.call(b,a)}),this.connection=new o(this),this.connection.on("message",function(a){try{var c=new Response(a)}catch(d){m.log("voice_request: unable to parse messageBody",a),f.call(b,{type:"UNEXPECTED_MESSAGE",exception:a})}"Format"in c&&("SoundHoundVoiceSearchParialTranscript"==c.Format||"HoundVoiceQueryPartialTranscript"==c.Format)?g.call(b,c):"Format"in c&&("SoundHoundVoiceSearchResult"==c.Format||"HoundQueryResult"==c.Format)?h.call(b,c,a):(m.log("voice_request: unexpected message",c),f.call(b,{type:"UNEXPECTED_MESSAGE",exception:c}),b.connection.done(),b.end())}).on("error",function(a){f.call(b,a)}),e.apply(this)}return i(VoiceRequest,[{key:"write",value:function(a){this.state===q.STREAMING&&this.processor.process(a)}},{key:"end",value:function(){this.state===q.STREAMING&&(this.state=q.DONE,this.searchInfo.recordingEndTime=new Date,this.processor.free(),this.connection.endOfAudio())}},{key:"abort",value:function(){this.state===q.STREAMING&&(this.state=q.DONE,this.searchInfo.endTime=new Date,this.processor.free(),this.connection.close(),this.onAbort(this.searchInfo))}},{key:"isStreaming",value:function(){return this.state===q.STREAMING}}]),VoiceRequest}();a.exports=VoiceRequest},function(a,b,c){"use strict";var d=c(46).assign,e=c(47),f=c(55),g=c(59),h={};d(h,e,f,g),a.exports=h},function(a,b){"use strict";var c="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;b.assign=function(a){for(var b=Array.prototype.slice.call(arguments,1);b.length;){var c=b.shift();if(c){if("object"!=typeof c)throw new TypeError(c+"must be non-object");for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])}}return a},b.shrinkBuf=function(a,b){return a.length===b?a:a.subarray?a.subarray(0,b):(a.length=b,a)};var d={arraySet:function(a,b,c,d,e){if(b.subarray&&a.subarray)return void a.set(b.subarray(c,c+d),e);for(var f=0;f<d;f++)a[e+f]=b[c+f]},flattenChunks:function(a){var b,c,d,e,f,g;for(d=0,b=0,c=a.length;b<c;b++)d+=a[b].length;for(g=new Uint8Array(d),e=0,b=0,c=a.length;b<c;b++)f=a[b],g.set(f,e),e+=f.length;return g}},e={arraySet:function(a,b,c,d,e){for(var f=0;f<d;f++)a[e+f]=b[c+f]},flattenChunks:function(a){return[].concat.apply([],a)}};b.setTyped=function(a){a?(b.Buf8=Uint8Array,b.Buf16=Uint16Array,b.Buf32=Int32Array,b.assign(b,d)):(b.Buf8=Array,b.Buf16=Array,b.Buf32=Array,b.assign(b,e))},b.setTyped(c)},function(a,b,c){"use strict";function d(a){if(!(this instanceof d))return new d(a);this.options=i.assign({level:s,method:u,chunkSize:16384,windowBits:15,memLevel:8,strategy:t,to:""},a||{});var b=this.options;b.raw&&b.windowBits>0?b.windowBits=-b.windowBits:b.gzip&&b.windowBits>0&&b.windowBits<16&&(b.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var c=h.deflateInit2(this.strm,b.level,b.method,b.windowBits,b.memLevel,b.strategy);if(c!==p)throw new Error(k[c]);if(b.header&&h.deflateSetHeader(this.strm,b.header),b.dictionary){var e;if(e="string"==typeof b.dictionary?j.string2buf(b.dictionary):"[object ArrayBuffer]"===m.call(b.dictionary)?new Uint8Array(b.dictionary):b.dictionary,c=h.deflateSetDictionary(this.strm,e),c!==p)throw new Error(k[c]);this._dict_set=!0}}function e(a,b){var c=new d(b);if(c.push(a,!0),c.err)throw c.msg||k[c.err];return c.result}function f(a,b){return b=b||{},b.raw=!0,e(a,b)}function g(a,b){return b=b||{},b.gzip=!0,e(a,b)}var h=c(48),i=c(46),j=c(53),k=c(52),l=c(54),m=Object.prototype.toString,n=0,o=4,p=0,q=1,r=2,s=-1,t=0,u=8;d.prototype.push=function(a,b){var c,d,e=this.strm,f=this.options.chunkSize;if(this.ended)return!1;d=b===~~b?b:b===!0?o:n,"string"==typeof a?e.input=j.string2buf(a):"[object ArrayBuffer]"===m.call(a)?e.input=new Uint8Array(a):e.input=a,e.next_in=0,e.avail_in=e.input.length;do{if(0===e.avail_out&&(e.output=new i.Buf8(f),e.next_out=0,e.avail_out=f),c=h.deflate(e,d),c!==q&&c!==p)return this.onEnd(c),this.ended=!0,!1;0!==e.avail_out&&(0!==e.avail_in||d!==o&&d!==r)||("string"===this.options.to?this.onData(j.buf2binstring(i.shrinkBuf(e.output,e.next_out))):this.onData(i.shrinkBuf(e.output,e.next_out)))}while((e.avail_in>0||0===e.avail_out)&&c!==q);return d===o?(c=h.deflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===p):d!==r||(this.onEnd(p),e.avail_out=0,!0)},d.prototype.onData=function(a){this.chunks.push(a)},d.prototype.onEnd=function(a){a===p&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},b.Deflate=d,b.deflate=e,b.deflateRaw=f,b.gzip=g},function(a,b,c){"use strict";function d(a,b){return a.msg=I[b],b}function e(a){return(a<<1)-(a>4?9:0)}function f(a){for(var b=a.length;--b>=0;)a[b]=0}function g(a){var b=a.state,c=b.pending;c>a.avail_out&&(c=a.avail_out),0!==c&&(E.arraySet(a.output,b.pending_buf,b.pending_out,c,a.next_out),a.next_out+=c,b.pending_out+=c,a.total_out+=c,a.avail_out-=c,b.pending-=c,0===b.pending&&(b.pending_out=0))}function h(a,b){F._tr_flush_block(a,a.block_start>=0?a.block_start:-1,a.strstart-a.block_start,b),a.block_start=a.strstart,g(a.strm)}function i(a,b){a.pending_buf[a.pending++]=b}function j(a,b){a.pending_buf[a.pending++]=b>>>8&255,a.pending_buf[a.pending++]=255&b}function k(a,b,c,d){var e=a.avail_in;return e>d&&(e=d),0===e?0:(a.avail_in-=e,E.arraySet(b,a.input,a.next_in,e,c),1===a.state.wrap?a.adler=G(a.adler,b,e,c):2===a.state.wrap&&(a.adler=H(a.adler,b,e,c)),a.next_in+=e,a.total_in+=e,e)}function l(a,b){var c,d,e=a.max_chain_length,f=a.strstart,g=a.prev_length,h=a.nice_match,i=a.strstart>a.w_size-la?a.strstart-(a.w_size-la):0,j=a.window,k=a.w_mask,l=a.prev,m=a.strstart+ka,n=j[f+g-1],o=j[f+g];a.prev_length>=a.good_match&&(e>>=2),h>a.lookahead&&(h=a.lookahead);do if(c=b,j[c+g]===o&&j[c+g-1]===n&&j[c]===j[f]&&j[++c]===j[f+1]){f+=2,c++;do;while(j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&f<m);if(d=ka-(m-f),f=m-ka,d>g){if(a.match_start=b,g=d,d>=h)break;n=j[f+g-1],o=j[f+g]}}while((b=l[b&k])>i&&0!==--e);return g<=a.lookahead?g:a.lookahead}function m(a){var b,c,d,e,f,g=a.w_size;do{if(e=a.window_size-a.lookahead-a.strstart,a.strstart>=g+(g-la)){E.arraySet(a.window,a.window,g,g,0),a.match_start-=g,a.strstart-=g,a.block_start-=g,c=a.hash_size,b=c;do d=a.head[--b],a.head[b]=d>=g?d-g:0;while(--c);c=g,b=c;do d=a.prev[--b],a.prev[b]=d>=g?d-g:0;while(--c);e+=g}if(0===a.strm.avail_in)break;if(c=k(a.strm,a.window,a.strstart+a.lookahead,e),a.lookahead+=c,a.lookahead+a.insert>=ja)for(f=a.strstart-a.insert,a.ins_h=a.window[f],a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+1])&a.hash_mask;a.insert&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+ja-1])&a.hash_mask,a.prev[f&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=f,f++,a.insert--,!(a.lookahead+a.insert<ja)););}while(a.lookahead<la&&0!==a.strm.avail_in)}function n(a,b){var c=65535;for(c>a.pending_buf_size-5&&(c=a.pending_buf_size-5);;){if(a.lookahead<=1){if(m(a),0===a.lookahead&&b===J)return ua;if(0===a.lookahead)break}a.strstart+=a.lookahead,a.lookahead=0;var d=a.block_start+c;if((0===a.strstart||a.strstart>=d)&&(a.lookahead=a.strstart-d,a.strstart=d,h(a,!1),0===a.strm.avail_out))return ua;if(a.strstart-a.block_start>=a.w_size-la&&(h(a,!1),0===a.strm.avail_out))return ua}return a.insert=0,b===M?(h(a,!0),0===a.strm.avail_out?wa:xa):a.strstart>a.block_start&&(h(a,!1),0===a.strm.avail_out)?ua:ua}function o(a,b){for(var c,d;;){if(a.lookahead<la){if(m(a),a.lookahead<la&&b===J)return ua;if(0===a.lookahead)break}if(c=0,a.lookahead>=ja&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+ja-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),0!==c&&a.strstart-c<=a.w_size-la&&(a.match_length=l(a,c)),a.match_length>=ja)if(d=F._tr_tally(a,a.strstart-a.match_start,a.match_length-ja),a.lookahead-=a.match_length,a.match_length<=a.max_lazy_match&&a.lookahead>=ja){a.match_length--;do a.strstart++,a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+ja-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart;while(0!==--a.match_length);a.strstart++}else a.strstart+=a.match_length,a.match_length=0,a.ins_h=a.window[a.strstart],a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+1])&a.hash_mask;else d=F._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++;if(d&&(h(a,!1),0===a.strm.avail_out))return ua}return a.insert=a.strstart<ja-1?a.strstart:ja-1,b===M?(h(a,!0),0===a.strm.avail_out?wa:xa):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?ua:va}function p(a,b){for(var c,d,e;;){if(a.lookahead<la){if(m(a),a.lookahead<la&&b===J)return ua;if(0===a.lookahead)break}if(c=0,a.lookahead>=ja&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+ja-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),a.prev_length=a.match_length,a.prev_match=a.match_start,a.match_length=ja-1,0!==c&&a.prev_length<a.max_lazy_match&&a.strstart-c<=a.w_size-la&&(a.match_length=l(a,c),a.match_length<=5&&(a.strategy===U||a.match_length===ja&&a.strstart-a.match_start>4096)&&(a.match_length=ja-1)),a.prev_length>=ja&&a.match_length<=a.prev_length){e=a.strstart+a.lookahead-ja,d=F._tr_tally(a,a.strstart-1-a.prev_match,a.prev_length-ja),a.lookahead-=a.prev_length-1,a.prev_length-=2;do++a.strstart<=e&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+ja-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart);while(0!==--a.prev_length);if(a.match_available=0,a.match_length=ja-1,a.strstart++,d&&(h(a,!1),0===a.strm.avail_out))return ua}else if(a.match_available){if(d=F._tr_tally(a,0,a.window[a.strstart-1]),d&&h(a,!1),a.strstart++,a.lookahead--,0===a.strm.avail_out)return ua}else a.match_available=1,a.strstart++,a.lookahead--}return a.match_available&&(d=F._tr_tally(a,0,a.window[a.strstart-1]),a.match_available=0),a.insert=a.strstart<ja-1?a.strstart:ja-1,b===M?(h(a,!0),0===a.strm.avail_out?wa:xa):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?ua:va}function q(a,b){for(var c,d,e,f,g=a.window;;){if(a.lookahead<=ka){if(m(a),a.lookahead<=ka&&b===J)return ua;if(0===a.lookahead)break}if(a.match_length=0,a.lookahead>=ja&&a.strstart>0&&(e=a.strstart-1,d=g[e],d===g[++e]&&d===g[++e]&&d===g[++e])){f=a.strstart+ka;do;while(d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&e<f);a.match_length=ka-(f-e),a.match_length>a.lookahead&&(a.match_length=a.lookahead)}if(a.match_length>=ja?(c=F._tr_tally(a,1,a.match_length-ja),a.lookahead-=a.match_length,a.strstart+=a.match_length,a.match_length=0):(c=F._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++),c&&(h(a,!1),0===a.strm.avail_out))return ua}return a.insert=0,b===M?(h(a,!0),0===a.strm.avail_out?wa:xa):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?ua:va}function r(a,b){for(var c;;){if(0===a.lookahead&&(m(a),0===a.lookahead)){if(b===J)return ua;break}if(a.match_length=0,c=F._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++,c&&(h(a,!1),0===a.strm.avail_out))return ua}return a.insert=0,b===M?(h(a,!0),0===a.strm.avail_out?wa:xa):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?ua:va}function s(a,b,c,d,e){this.good_length=a,this.max_lazy=b,this.nice_length=c,this.max_chain=d,this.func=e}function t(a){a.window_size=2*a.w_size,f(a.head),a.max_lazy_match=D[a.level].max_lazy,a.good_match=D[a.level].good_length,a.nice_match=D[a.level].nice_length,a.max_chain_length=D[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=ja-1,a.match_available=0,a.ins_h=0}function u(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=$,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new E.Buf16(2*ha),this.dyn_dtree=new E.Buf16(2*(2*fa+1)),this.bl_tree=new E.Buf16(2*(2*ga+1)),f(this.dyn_ltree),f(this.dyn_dtree),f(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new E.Buf16(ia+1),this.heap=new E.Buf16(2*ea+1),f(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new E.Buf16(2*ea+1),f(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function v(a){var b;return a&&a.state?(a.total_in=a.total_out=0,a.data_type=Z,b=a.state,b.pending=0,b.pending_out=0,b.wrap<0&&(b.wrap=-b.wrap),b.status=b.wrap?na:sa,a.adler=2===b.wrap?0:1,b.last_flush=J,F._tr_init(b),O):d(a,Q)}function w(a){var b=v(a);return b===O&&t(a.state),b}function x(a,b){return a&&a.state?2!==a.state.wrap?Q:(a.state.gzhead=b,O):Q}function y(a,b,c,e,f,g){if(!a)return Q;var h=1;if(b===T&&(b=6),e<0?(h=0,e=-e):e>15&&(h=2,e-=16),f<1||f>_||c!==$||e<8||e>15||b<0||b>9||g<0||g>X)return d(a,Q);8===e&&(e=9);var i=new u;return a.state=i,i.strm=a,i.wrap=h,i.gzhead=null,i.w_bits=e,i.w_size=1<<i.w_bits,i.w_mask=i.w_size-1,i.hash_bits=f+7,i.hash_size=1<<i.hash_bits,i.hash_mask=i.hash_size-1,i.hash_shift=~~((i.hash_bits+ja-1)/ja),i.window=new E.Buf8(2*i.w_size),i.head=new E.Buf16(i.hash_size),i.prev=new E.Buf16(i.w_size),i.lit_bufsize=1<<f+6,i.pending_buf_size=4*i.lit_bufsize,i.pending_buf=new E.Buf8(i.pending_buf_size),i.d_buf=1*i.lit_bufsize,
i.l_buf=3*i.lit_bufsize,i.level=b,i.strategy=g,i.method=c,w(a)}function z(a,b){return y(a,b,$,aa,ba,Y)}function A(a,b){var c,h,k,l;if(!a||!a.state||b>N||b<0)return a?d(a,Q):Q;if(h=a.state,!a.output||!a.input&&0!==a.avail_in||h.status===ta&&b!==M)return d(a,0===a.avail_out?S:Q);if(h.strm=a,c=h.last_flush,h.last_flush=b,h.status===na)if(2===h.wrap)a.adler=0,i(h,31),i(h,139),i(h,8),h.gzhead?(i(h,(h.gzhead.text?1:0)+(h.gzhead.hcrc?2:0)+(h.gzhead.extra?4:0)+(h.gzhead.name?8:0)+(h.gzhead.comment?16:0)),i(h,255&h.gzhead.time),i(h,h.gzhead.time>>8&255),i(h,h.gzhead.time>>16&255),i(h,h.gzhead.time>>24&255),i(h,9===h.level?2:h.strategy>=V||h.level<2?4:0),i(h,255&h.gzhead.os),h.gzhead.extra&&h.gzhead.extra.length&&(i(h,255&h.gzhead.extra.length),i(h,h.gzhead.extra.length>>8&255)),h.gzhead.hcrc&&(a.adler=H(a.adler,h.pending_buf,h.pending,0)),h.gzindex=0,h.status=oa):(i(h,0),i(h,0),i(h,0),i(h,0),i(h,0),i(h,9===h.level?2:h.strategy>=V||h.level<2?4:0),i(h,ya),h.status=sa);else{var m=$+(h.w_bits-8<<4)<<8,n=-1;n=h.strategy>=V||h.level<2?0:h.level<6?1:6===h.level?2:3,m|=n<<6,0!==h.strstart&&(m|=ma),m+=31-m%31,h.status=sa,j(h,m),0!==h.strstart&&(j(h,a.adler>>>16),j(h,65535&a.adler)),a.adler=1}if(h.status===oa)if(h.gzhead.extra){for(k=h.pending;h.gzindex<(65535&h.gzhead.extra.length)&&(h.pending!==h.pending_buf_size||(h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending!==h.pending_buf_size));)i(h,255&h.gzhead.extra[h.gzindex]),h.gzindex++;h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),h.gzindex===h.gzhead.extra.length&&(h.gzindex=0,h.status=pa)}else h.status=pa;if(h.status===pa)if(h.gzhead.name){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.name.length?255&h.gzhead.name.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.gzindex=0,h.status=qa)}else h.status=qa;if(h.status===qa)if(h.gzhead.comment){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.comment.length?255&h.gzhead.comment.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.status=ra)}else h.status=ra;if(h.status===ra&&(h.gzhead.hcrc?(h.pending+2>h.pending_buf_size&&g(a),h.pending+2<=h.pending_buf_size&&(i(h,255&a.adler),i(h,a.adler>>8&255),a.adler=0,h.status=sa)):h.status=sa),0!==h.pending){if(g(a),0===a.avail_out)return h.last_flush=-1,O}else if(0===a.avail_in&&e(b)<=e(c)&&b!==M)return d(a,S);if(h.status===ta&&0!==a.avail_in)return d(a,S);if(0!==a.avail_in||0!==h.lookahead||b!==J&&h.status!==ta){var o=h.strategy===V?r(h,b):h.strategy===W?q(h,b):D[h.level].func(h,b);if(o!==wa&&o!==xa||(h.status=ta),o===ua||o===wa)return 0===a.avail_out&&(h.last_flush=-1),O;if(o===va&&(b===K?F._tr_align(h):b!==N&&(F._tr_stored_block(h,0,0,!1),b===L&&(f(h.head),0===h.lookahead&&(h.strstart=0,h.block_start=0,h.insert=0))),g(a),0===a.avail_out))return h.last_flush=-1,O}return b!==M?O:h.wrap<=0?P:(2===h.wrap?(i(h,255&a.adler),i(h,a.adler>>8&255),i(h,a.adler>>16&255),i(h,a.adler>>24&255),i(h,255&a.total_in),i(h,a.total_in>>8&255),i(h,a.total_in>>16&255),i(h,a.total_in>>24&255)):(j(h,a.adler>>>16),j(h,65535&a.adler)),g(a),h.wrap>0&&(h.wrap=-h.wrap),0!==h.pending?O:P)}function B(a){var b;return a&&a.state?(b=a.state.status,b!==na&&b!==oa&&b!==pa&&b!==qa&&b!==ra&&b!==sa&&b!==ta?d(a,Q):(a.state=null,b===sa?d(a,R):O)):Q}function C(a,b){var c,d,e,g,h,i,j,k,l=b.length;if(!a||!a.state)return Q;if(c=a.state,g=c.wrap,2===g||1===g&&c.status!==na||c.lookahead)return Q;for(1===g&&(a.adler=G(a.adler,b,l,0)),c.wrap=0,l>=c.w_size&&(0===g&&(f(c.head),c.strstart=0,c.block_start=0,c.insert=0),k=new E.Buf8(c.w_size),E.arraySet(k,b,l-c.w_size,c.w_size,0),b=k,l=c.w_size),h=a.avail_in,i=a.next_in,j=a.input,a.avail_in=l,a.next_in=0,a.input=b,m(c);c.lookahead>=ja;){d=c.strstart,e=c.lookahead-(ja-1);do c.ins_h=(c.ins_h<<c.hash_shift^c.window[d+ja-1])&c.hash_mask,c.prev[d&c.w_mask]=c.head[c.ins_h],c.head[c.ins_h]=d,d++;while(--e);c.strstart=d,c.lookahead=ja-1,m(c)}return c.strstart+=c.lookahead,c.block_start=c.strstart,c.insert=c.lookahead,c.lookahead=0,c.match_length=c.prev_length=ja-1,c.match_available=0,a.next_in=i,a.input=j,a.avail_in=h,c.wrap=g,O}var D,E=c(46),F=c(49),G=c(50),H=c(51),I=c(52),J=0,K=1,L=3,M=4,N=5,O=0,P=1,Q=-2,R=-3,S=-5,T=-1,U=1,V=2,W=3,X=4,Y=0,Z=2,$=8,_=9,aa=15,ba=8,ca=29,da=256,ea=da+1+ca,fa=30,ga=19,ha=2*ea+1,ia=15,ja=3,ka=258,la=ka+ja+1,ma=32,na=42,oa=69,pa=73,qa=91,ra=103,sa=113,ta=666,ua=1,va=2,wa=3,xa=4,ya=3;D=[new s(0,0,0,0,n),new s(4,4,8,4,o),new s(4,5,16,8,o),new s(4,6,32,32,o),new s(4,4,16,16,p),new s(8,16,32,32,p),new s(8,16,128,128,p),new s(8,32,128,256,p),new s(32,128,258,1024,p),new s(32,258,258,4096,p)],b.deflateInit=z,b.deflateInit2=y,b.deflateReset=w,b.deflateResetKeep=v,b.deflateSetHeader=x,b.deflate=A,b.deflateEnd=B,b.deflateSetDictionary=C,b.deflateInfo="pako deflate (from Nodeca project)"},function(a,b,c){"use strict";function d(a){for(var b=a.length;--b>=0;)a[b]=0}function e(a,b,c,d,e){this.static_tree=a,this.extra_bits=b,this.extra_base=c,this.elems=d,this.max_length=e,this.has_stree=a&&a.length}function f(a,b){this.dyn_tree=a,this.max_code=0,this.stat_desc=b}function g(a){return a<256?ia[a]:ia[256+(a>>>7)]}function h(a,b){a.pending_buf[a.pending++]=255&b,a.pending_buf[a.pending++]=b>>>8&255}function i(a,b,c){a.bi_valid>X-c?(a.bi_buf|=b<<a.bi_valid&65535,h(a,a.bi_buf),a.bi_buf=b>>X-a.bi_valid,a.bi_valid+=c-X):(a.bi_buf|=b<<a.bi_valid&65535,a.bi_valid+=c)}function j(a,b,c){i(a,c[2*b],c[2*b+1])}function k(a,b){var c=0;do c|=1&a,a>>>=1,c<<=1;while(--b>0);return c>>>1}function l(a){16===a.bi_valid?(h(a,a.bi_buf),a.bi_buf=0,a.bi_valid=0):a.bi_valid>=8&&(a.pending_buf[a.pending++]=255&a.bi_buf,a.bi_buf>>=8,a.bi_valid-=8)}function m(a,b){var c,d,e,f,g,h,i=b.dyn_tree,j=b.max_code,k=b.stat_desc.static_tree,l=b.stat_desc.has_stree,m=b.stat_desc.extra_bits,n=b.stat_desc.extra_base,o=b.stat_desc.max_length,p=0;for(f=0;f<=W;f++)a.bl_count[f]=0;for(i[2*a.heap[a.heap_max]+1]=0,c=a.heap_max+1;c<V;c++)d=a.heap[c],f=i[2*i[2*d+1]+1]+1,f>o&&(f=o,p++),i[2*d+1]=f,d>j||(a.bl_count[f]++,g=0,d>=n&&(g=m[d-n]),h=i[2*d],a.opt_len+=h*(f+g),l&&(a.static_len+=h*(k[2*d+1]+g)));if(0!==p){do{for(f=o-1;0===a.bl_count[f];)f--;a.bl_count[f]--,a.bl_count[f+1]+=2,a.bl_count[o]--,p-=2}while(p>0);for(f=o;0!==f;f--)for(d=a.bl_count[f];0!==d;)e=a.heap[--c],e>j||(i[2*e+1]!==f&&(a.opt_len+=(f-i[2*e+1])*i[2*e],i[2*e+1]=f),d--)}}function n(a,b,c){var d,e,f=new Array(W+1),g=0;for(d=1;d<=W;d++)f[d]=g=g+c[d-1]<<1;for(e=0;e<=b;e++){var h=a[2*e+1];0!==h&&(a[2*e]=k(f[h]++,h))}}function o(){var a,b,c,d,f,g=new Array(W+1);for(c=0,d=0;d<Q-1;d++)for(ka[d]=c,a=0;a<1<<ba[d];a++)ja[c++]=d;for(ja[c-1]=d,f=0,d=0;d<16;d++)for(la[d]=f,a=0;a<1<<ca[d];a++)ia[f++]=d;for(f>>=7;d<T;d++)for(la[d]=f<<7,a=0;a<1<<ca[d]-7;a++)ia[256+f++]=d;for(b=0;b<=W;b++)g[b]=0;for(a=0;a<=143;)ga[2*a+1]=8,a++,g[8]++;for(;a<=255;)ga[2*a+1]=9,a++,g[9]++;for(;a<=279;)ga[2*a+1]=7,a++,g[7]++;for(;a<=287;)ga[2*a+1]=8,a++,g[8]++;for(n(ga,S+1,g),a=0;a<T;a++)ha[2*a+1]=5,ha[2*a]=k(a,5);ma=new e(ga,ba,R+1,S,W),na=new e(ha,ca,0,T,W),oa=new e(new Array(0),da,0,U,Y)}function p(a){var b;for(b=0;b<S;b++)a.dyn_ltree[2*b]=0;for(b=0;b<T;b++)a.dyn_dtree[2*b]=0;for(b=0;b<U;b++)a.bl_tree[2*b]=0;a.dyn_ltree[2*Z]=1,a.opt_len=a.static_len=0,a.last_lit=a.matches=0}function q(a){a.bi_valid>8?h(a,a.bi_buf):a.bi_valid>0&&(a.pending_buf[a.pending++]=a.bi_buf),a.bi_buf=0,a.bi_valid=0}function r(a,b,c,d){q(a),d&&(h(a,c),h(a,~c)),G.arraySet(a.pending_buf,a.window,b,c,a.pending),a.pending+=c}function s(a,b,c,d){var e=2*b,f=2*c;return a[e]<a[f]||a[e]===a[f]&&d[b]<=d[c]}function t(a,b,c){for(var d=a.heap[c],e=c<<1;e<=a.heap_len&&(e<a.heap_len&&s(b,a.heap[e+1],a.heap[e],a.depth)&&e++,!s(b,d,a.heap[e],a.depth));)a.heap[c]=a.heap[e],c=e,e<<=1;a.heap[c]=d}function u(a,b,c){var d,e,f,h,k=0;if(0!==a.last_lit)do d=a.pending_buf[a.d_buf+2*k]<<8|a.pending_buf[a.d_buf+2*k+1],e=a.pending_buf[a.l_buf+k],k++,0===d?j(a,e,b):(f=ja[e],j(a,f+R+1,b),h=ba[f],0!==h&&(e-=ka[f],i(a,e,h)),d--,f=g(d),j(a,f,c),h=ca[f],0!==h&&(d-=la[f],i(a,d,h)));while(k<a.last_lit);j(a,Z,b)}function v(a,b){var c,d,e,f=b.dyn_tree,g=b.stat_desc.static_tree,h=b.stat_desc.has_stree,i=b.stat_desc.elems,j=-1;for(a.heap_len=0,a.heap_max=V,c=0;c<i;c++)0!==f[2*c]?(a.heap[++a.heap_len]=j=c,a.depth[c]=0):f[2*c+1]=0;for(;a.heap_len<2;)e=a.heap[++a.heap_len]=j<2?++j:0,f[2*e]=1,a.depth[e]=0,a.opt_len--,h&&(a.static_len-=g[2*e+1]);for(b.max_code=j,c=a.heap_len>>1;c>=1;c--)t(a,f,c);e=i;do c=a.heap[1],a.heap[1]=a.heap[a.heap_len--],t(a,f,1),d=a.heap[1],a.heap[--a.heap_max]=c,a.heap[--a.heap_max]=d,f[2*e]=f[2*c]+f[2*d],a.depth[e]=(a.depth[c]>=a.depth[d]?a.depth[c]:a.depth[d])+1,f[2*c+1]=f[2*d+1]=e,a.heap[1]=e++,t(a,f,1);while(a.heap_len>=2);a.heap[--a.heap_max]=a.heap[1],m(a,b),n(f,j,a.bl_count)}function w(a,b,c){var d,e,f=-1,g=b[1],h=0,i=7,j=4;for(0===g&&(i=138,j=3),b[2*(c+1)+1]=65535,d=0;d<=c;d++)e=g,g=b[2*(d+1)+1],++h<i&&e===g||(h<j?a.bl_tree[2*e]+=h:0!==e?(e!==f&&a.bl_tree[2*e]++,a.bl_tree[2*$]++):h<=10?a.bl_tree[2*_]++:a.bl_tree[2*aa]++,h=0,f=e,0===g?(i=138,j=3):e===g?(i=6,j=3):(i=7,j=4))}function x(a,b,c){var d,e,f=-1,g=b[1],h=0,k=7,l=4;for(0===g&&(k=138,l=3),d=0;d<=c;d++)if(e=g,g=b[2*(d+1)+1],!(++h<k&&e===g)){if(h<l){do j(a,e,a.bl_tree);while(0!==--h)}else 0!==e?(e!==f&&(j(a,e,a.bl_tree),h--),j(a,$,a.bl_tree),i(a,h-3,2)):h<=10?(j(a,_,a.bl_tree),i(a,h-3,3)):(j(a,aa,a.bl_tree),i(a,h-11,7));h=0,f=e,0===g?(k=138,l=3):e===g?(k=6,l=3):(k=7,l=4)}}function y(a){var b;for(w(a,a.dyn_ltree,a.l_desc.max_code),w(a,a.dyn_dtree,a.d_desc.max_code),v(a,a.bl_desc),b=U-1;b>=3&&0===a.bl_tree[2*ea[b]+1];b--);return a.opt_len+=3*(b+1)+5+5+4,b}function z(a,b,c,d){var e;for(i(a,b-257,5),i(a,c-1,5),i(a,d-4,4),e=0;e<d;e++)i(a,a.bl_tree[2*ea[e]+1],3);x(a,a.dyn_ltree,b-1),x(a,a.dyn_dtree,c-1)}function A(a){var b,c=4093624447;for(b=0;b<=31;b++,c>>>=1)if(1&c&&0!==a.dyn_ltree[2*b])return I;if(0!==a.dyn_ltree[18]||0!==a.dyn_ltree[20]||0!==a.dyn_ltree[26])return J;for(b=32;b<R;b++)if(0!==a.dyn_ltree[2*b])return J;return I}function B(a){pa||(o(),pa=!0),a.l_desc=new f(a.dyn_ltree,ma),a.d_desc=new f(a.dyn_dtree,na),a.bl_desc=new f(a.bl_tree,oa),a.bi_buf=0,a.bi_valid=0,p(a)}function C(a,b,c,d){i(a,(L<<1)+(d?1:0),3),r(a,b,c,!0)}function D(a){i(a,M<<1,3),j(a,Z,ga),l(a)}function E(a,b,c,d){var e,f,g=0;a.level>0?(a.strm.data_type===K&&(a.strm.data_type=A(a)),v(a,a.l_desc),v(a,a.d_desc),g=y(a),e=a.opt_len+3+7>>>3,f=a.static_len+3+7>>>3,f<=e&&(e=f)):e=f=c+5,c+4<=e&&b!==-1?C(a,b,c,d):a.strategy===H||f===e?(i(a,(M<<1)+(d?1:0),3),u(a,ga,ha)):(i(a,(N<<1)+(d?1:0),3),z(a,a.l_desc.max_code+1,a.d_desc.max_code+1,g+1),u(a,a.dyn_ltree,a.dyn_dtree)),p(a),d&&q(a)}function F(a,b,c){return a.pending_buf[a.d_buf+2*a.last_lit]=b>>>8&255,a.pending_buf[a.d_buf+2*a.last_lit+1]=255&b,a.pending_buf[a.l_buf+a.last_lit]=255&c,a.last_lit++,0===b?a.dyn_ltree[2*c]++:(a.matches++,b--,a.dyn_ltree[2*(ja[c]+R+1)]++,a.dyn_dtree[2*g(b)]++),a.last_lit===a.lit_bufsize-1}var G=c(46),H=4,I=0,J=1,K=2,L=0,M=1,N=2,O=3,P=258,Q=29,R=256,S=R+1+Q,T=30,U=19,V=2*S+1,W=15,X=16,Y=7,Z=256,$=16,_=17,aa=18,ba=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ca=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],da=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],ea=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],fa=512,ga=new Array(2*(S+2));d(ga);var ha=new Array(2*T);d(ha);var ia=new Array(fa);d(ia);var ja=new Array(P-O+1);d(ja);var ka=new Array(Q);d(ka);var la=new Array(T);d(la);var ma,na,oa,pa=!1;b._tr_init=B,b._tr_stored_block=C,b._tr_flush_block=E,b._tr_tally=F,b._tr_align=D},function(a,b){"use strict";function c(a,b,c,d){for(var e=65535&a|0,f=a>>>16&65535|0,g=0;0!==c;){g=c>2e3?2e3:c,c-=g;do e=e+b[d++]|0,f=f+e|0;while(--g);e%=65521,f%=65521}return e|f<<16|0}a.exports=c},function(a,b){"use strict";function c(){for(var a,b=[],c=0;c<256;c++){a=c;for(var d=0;d<8;d++)a=1&a?3988292384^a>>>1:a>>>1;b[c]=a}return b}function d(a,b,c,d){var f=e,g=d+c;a^=-1;for(var h=d;h<g;h++)a=a>>>8^f[255&(a^b[h])];return a^-1}var e=c();a.exports=d},function(a,b){"use strict";a.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(a,b,c){"use strict";function d(a,b){if(b<65537&&(a.subarray&&g||!a.subarray&&f))return String.fromCharCode.apply(null,e.shrinkBuf(a,b));for(var c="",d=0;d<b;d++)c+=String.fromCharCode(a[d]);return c}var e=c(46),f=!0,g=!0;try{String.fromCharCode.apply(null,[0])}catch(h){f=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(h){g=!1}for(var i=new e.Buf8(256),j=0;j<256;j++)i[j]=j>=252?6:j>=248?5:j>=240?4:j>=224?3:j>=192?2:1;i[254]=i[254]=1,b.string2buf=function(a){var b,c,d,f,g,h=a.length,i=0;for(f=0;f<h;f++)c=a.charCodeAt(f),55296===(64512&c)&&f+1<h&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),i+=c<128?1:c<2048?2:c<65536?3:4;for(b=new e.Buf8(i),g=0,f=0;g<i;f++)c=a.charCodeAt(f),55296===(64512&c)&&f+1<h&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),c<128?b[g++]=c:c<2048?(b[g++]=192|c>>>6,b[g++]=128|63&c):c<65536?(b[g++]=224|c>>>12,b[g++]=128|c>>>6&63,b[g++]=128|63&c):(b[g++]=240|c>>>18,b[g++]=128|c>>>12&63,b[g++]=128|c>>>6&63,b[g++]=128|63&c);return b},b.buf2binstring=function(a){return d(a,a.length)},b.binstring2buf=function(a){for(var b=new e.Buf8(a.length),c=0,d=b.length;c<d;c++)b[c]=a.charCodeAt(c);return b},b.buf2string=function(a,b){var c,e,f,g,h=b||a.length,j=new Array(2*h);for(e=0,c=0;c<h;)if(f=a[c++],f<128)j[e++]=f;else if(g=i[f],g>4)j[e++]=65533,c+=g-1;else{for(f&=2===g?31:3===g?15:7;g>1&&c<h;)f=f<<6|63&a[c++],g--;g>1?j[e++]=65533:f<65536?j[e++]=f:(f-=65536,j[e++]=55296|f>>10&1023,j[e++]=56320|1023&f)}return d(j,e)},b.utf8border=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return c<0?b:0===c?b:c+i[a[c]]>b?c:b}},function(a,b){"use strict";function c(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}a.exports=c},function(a,b,c){"use strict";function d(a){if(!(this instanceof d))return new d(a);this.options=h.assign({chunkSize:16384,windowBits:0,to:""},a||{});var b=this.options;b.raw&&b.windowBits>=0&&b.windowBits<16&&(b.windowBits=-b.windowBits,0===b.windowBits&&(b.windowBits=-15)),!(b.windowBits>=0&&b.windowBits<16)||a&&a.windowBits||(b.windowBits+=32),b.windowBits>15&&b.windowBits<48&&0===(15&b.windowBits)&&(b.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var c=g.inflateInit2(this.strm,b.windowBits);if(c!==j.Z_OK)throw new Error(k[c]);this.header=new m,g.inflateGetHeader(this.strm,this.header)}function e(a,b){var c=new d(b);if(c.push(a,!0),c.err)throw c.msg||k[c.err];return c.result}function f(a,b){return b=b||{},b.raw=!0,e(a,b)}var g=c(56),h=c(46),i=c(53),j=c(59),k=c(52),l=c(54),m=c(60),n=Object.prototype.toString;d.prototype.push=function(a,b){var c,d,e,f,k,l,m=this.strm,o=this.options.chunkSize,p=this.options.dictionary,q=!1;if(this.ended)return!1;d=b===~~b?b:b===!0?j.Z_FINISH:j.Z_NO_FLUSH,"string"==typeof a?m.input=i.binstring2buf(a):"[object ArrayBuffer]"===n.call(a)?m.input=new Uint8Array(a):m.input=a,m.next_in=0,m.avail_in=m.input.length;do{if(0===m.avail_out&&(m.output=new h.Buf8(o),m.next_out=0,m.avail_out=o),c=g.inflate(m,j.Z_NO_FLUSH),c===j.Z_NEED_DICT&&p&&(l="string"==typeof p?i.string2buf(p):"[object ArrayBuffer]"===n.call(p)?new Uint8Array(p):p,c=g.inflateSetDictionary(this.strm,l)),c===j.Z_BUF_ERROR&&q===!0&&(c=j.Z_OK,q=!1),c!==j.Z_STREAM_END&&c!==j.Z_OK)return this.onEnd(c),this.ended=!0,!1;m.next_out&&(0!==m.avail_out&&c!==j.Z_STREAM_END&&(0!==m.avail_in||d!==j.Z_FINISH&&d!==j.Z_SYNC_FLUSH)||("string"===this.options.to?(e=i.utf8border(m.output,m.next_out),f=m.next_out-e,k=i.buf2string(m.output,e),m.next_out=f,m.avail_out=o-f,f&&h.arraySet(m.output,m.output,e,f,0),this.onData(k)):this.onData(h.shrinkBuf(m.output,m.next_out)))),0===m.avail_in&&0===m.avail_out&&(q=!0)}while((m.avail_in>0||0===m.avail_out)&&c!==j.Z_STREAM_END);return c===j.Z_STREAM_END&&(d=j.Z_FINISH),d===j.Z_FINISH?(c=g.inflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===j.Z_OK):d!==j.Z_SYNC_FLUSH||(this.onEnd(j.Z_OK),m.avail_out=0,!0)},d.prototype.onData=function(a){this.chunks.push(a)},d.prototype.onEnd=function(a){a===j.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=h.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},b.Inflate=d,b.inflate=e,b.inflateRaw=f,b.ungzip=e},function(a,b,c){"use strict";function d(a){return(a>>>24&255)+(a>>>8&65280)+((65280&a)<<8)+((255&a)<<24)}function e(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new s.Buf16(320),this.work=new s.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function f(a){var b;return a&&a.state?(b=a.state,a.total_in=a.total_out=b.total=0,a.msg="",b.wrap&&(a.adler=1&b.wrap),b.mode=L,b.last=0,b.havedict=0,b.dmax=32768,b.head=null,b.hold=0,b.bits=0,b.lencode=b.lendyn=new s.Buf32(pa),b.distcode=b.distdyn=new s.Buf32(qa),b.sane=1,b.back=-1,D):G}function g(a){var b;return a&&a.state?(b=a.state,b.wsize=0,b.whave=0,b.wnext=0,f(a)):G}function h(a,b){var c,d;return a&&a.state?(d=a.state,b<0?(c=0,b=-b):(c=(b>>4)+1,b<48&&(b&=15)),b&&(b<8||b>15)?G:(null!==d.window&&d.wbits!==b&&(d.window=null),d.wrap=c,d.wbits=b,g(a))):G}function i(a,b){var c,d;return a?(d=new e,a.state=d,d.window=null,c=h(a,b),c!==D&&(a.state=null),c):G}function j(a){return i(a,sa)}function k(a){if(ta){var b;for(q=new s.Buf32(512),r=new s.Buf32(32),b=0;b<144;)a.lens[b++]=8;for(;b<256;)a.lens[b++]=9;for(;b<280;)a.lens[b++]=7;for(;b<288;)a.lens[b++]=8;for(w(y,a.lens,0,288,q,0,a.work,{bits:9}),b=0;b<32;)a.lens[b++]=5;w(z,a.lens,0,32,r,0,a.work,{bits:5}),ta=!1}a.lencode=q,a.lenbits=9,a.distcode=r,a.distbits=5}function l(a,b,c,d){var e,f=a.state;return null===f.window&&(f.wsize=1<<f.wbits,f.wnext=0,f.whave=0,f.window=new s.Buf8(f.wsize)),d>=f.wsize?(s.arraySet(f.window,b,c-f.wsize,f.wsize,0),f.wnext=0,f.whave=f.wsize):(e=f.wsize-f.wnext,e>d&&(e=d),s.arraySet(f.window,b,c-d,e,f.wnext),d-=e,d?(s.arraySet(f.window,b,c-d,d,0),f.wnext=d,f.whave=f.wsize):(f.wnext+=e,f.wnext===f.wsize&&(f.wnext=0),f.whave<f.wsize&&(f.whave+=e))),0}function m(a,b){var c,e,f,g,h,i,j,m,n,o,p,q,r,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa=0,Ba=new s.Buf8(4),Ca=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!a||!a.state||!a.output||!a.input&&0!==a.avail_in)return G;c=a.state,c.mode===W&&(c.mode=X),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,o=i,p=j,xa=D;a:for(;;)switch(c.mode){case L:if(0===c.wrap){c.mode=X;break}for(;n<16;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(2&c.wrap&&35615===m){c.check=0,Ba[0]=255&m,Ba[1]=m>>>8&255,c.check=u(c.check,Ba,2,0),m=0,n=0,c.mode=M;break}if(c.flags=0,c.head&&(c.head.done=!1),!(1&c.wrap)||(((255&m)<<8)+(m>>8))%31){a.msg="incorrect header check",c.mode=ma;break}if((15&m)!==K){a.msg="unknown compression method",c.mode=ma;break}if(m>>>=4,n-=4,wa=(15&m)+8,0===c.wbits)c.wbits=wa;else if(wa>c.wbits){a.msg="invalid window size",c.mode=ma;break}c.dmax=1<<wa,a.adler=c.check=1,c.mode=512&m?U:W,m=0,n=0;break;case M:for(;n<16;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.flags=m,(255&c.flags)!==K){a.msg="unknown compression method",c.mode=ma;break}if(57344&c.flags){a.msg="unknown header flags set",c.mode=ma;break}c.head&&(c.head.text=m>>8&1),512&c.flags&&(Ba[0]=255&m,Ba[1]=m>>>8&255,c.check=u(c.check,Ba,2,0)),m=0,n=0,c.mode=N;case N:for(;n<32;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.head&&(c.head.time=m),512&c.flags&&(Ba[0]=255&m,Ba[1]=m>>>8&255,Ba[2]=m>>>16&255,Ba[3]=m>>>24&255,c.check=u(c.check,Ba,4,0)),m=0,n=0,c.mode=O;case O:for(;n<16;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.head&&(c.head.xflags=255&m,c.head.os=m>>8),512&c.flags&&(Ba[0]=255&m,Ba[1]=m>>>8&255,c.check=u(c.check,Ba,2,0)),m=0,n=0,c.mode=P;case P:if(1024&c.flags){for(;n<16;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length=m,c.head&&(c.head.extra_len=m),512&c.flags&&(Ba[0]=255&m,Ba[1]=m>>>8&255,c.check=u(c.check,Ba,2,0)),m=0,n=0}else c.head&&(c.head.extra=null);c.mode=Q;case Q:if(1024&c.flags&&(q=c.length,q>i&&(q=i),q&&(c.head&&(wa=c.head.extra_len-c.length,c.head.extra||(c.head.extra=new Array(c.head.extra_len)),s.arraySet(c.head.extra,e,g,q,wa)),512&c.flags&&(c.check=u(c.check,e,q,g)),i-=q,g+=q,c.length-=q),c.length))break a;c.length=0,c.mode=R;case R:if(2048&c.flags){if(0===i)break a;q=0;do wa=e[g+q++],c.head&&wa&&c.length<65536&&(c.head.name+=String.fromCharCode(wa));while(wa&&q<i);if(512&c.flags&&(c.check=u(c.check,e,q,g)),i-=q,g+=q,wa)break a}else c.head&&(c.head.name=null);c.length=0,c.mode=S;case S:if(4096&c.flags){if(0===i)break a;q=0;do wa=e[g+q++],c.head&&wa&&c.length<65536&&(c.head.comment+=String.fromCharCode(wa));while(wa&&q<i);if(512&c.flags&&(c.check=u(c.check,e,q,g)),i-=q,g+=q,wa)break a}else c.head&&(c.head.comment=null);c.mode=T;case T:if(512&c.flags){for(;n<16;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(65535&c.check)){a.msg="header crc mismatch",c.mode=ma;break}m=0,n=0}c.head&&(c.head.hcrc=c.flags>>9&1,c.head.done=!0),a.adler=c.check=0,c.mode=W;break;case U:for(;n<32;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}a.adler=c.check=d(m),m=0,n=0,c.mode=V;case V:if(0===c.havedict)return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,F;a.adler=c.check=1,c.mode=W;case W:if(b===B||b===C)break a;case X:if(c.last){m>>>=7&n,n-=7&n,c.mode=ja;break}for(;n<3;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}switch(c.last=1&m,m>>>=1,n-=1,3&m){case 0:c.mode=Y;break;case 1:if(k(c),c.mode=ca,b===C){m>>>=2,n-=2;break a}break;case 2:c.mode=_;break;case 3:a.msg="invalid block type",c.mode=ma}m>>>=2,n-=2;break;case Y:for(m>>>=7&n,n-=7&n;n<32;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if((65535&m)!==(m>>>16^65535)){a.msg="invalid stored block lengths",c.mode=ma;break}if(c.length=65535&m,m=0,n=0,c.mode=Z,b===C)break a;case Z:c.mode=$;case $:if(q=c.length){if(q>i&&(q=i),q>j&&(q=j),0===q)break a;s.arraySet(f,e,g,q,h),i-=q,g+=q,j-=q,h+=q,c.length-=q;break}c.mode=W;break;case _:for(;n<14;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.nlen=(31&m)+257,m>>>=5,n-=5,c.ndist=(31&m)+1,m>>>=5,n-=5,c.ncode=(15&m)+4,m>>>=4,n-=4,c.nlen>286||c.ndist>30){a.msg="too many length or distance symbols",c.mode=ma;break}c.have=0,c.mode=aa;case aa:for(;c.have<c.ncode;){for(;n<3;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.lens[Ca[c.have++]]=7&m,m>>>=3,n-=3}for(;c.have<19;)c.lens[Ca[c.have++]]=0;if(c.lencode=c.lendyn,c.lenbits=7,ya={bits:c.lenbits},xa=w(x,c.lens,0,19,c.lencode,0,c.work,ya),c.lenbits=ya.bits,xa){a.msg="invalid code lengths set",c.mode=ma;break}c.have=0,c.mode=ba;case ba:for(;c.have<c.nlen+c.ndist;){for(;Aa=c.lencode[m&(1<<c.lenbits)-1],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(qa<=n);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(sa<16)m>>>=qa,n-=qa,c.lens[c.have++]=sa;else{if(16===sa){for(za=qa+2;n<za;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m>>>=qa,n-=qa,0===c.have){a.msg="invalid bit length repeat",c.mode=ma;break}wa=c.lens[c.have-1],q=3+(3&m),m>>>=2,n-=2}else if(17===sa){for(za=qa+3;n<za;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qa,n-=qa,wa=0,q=3+(7&m),m>>>=3,n-=3}else{for(za=qa+7;n<za;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qa,n-=qa,wa=0,q=11+(127&m),m>>>=7,n-=7}if(c.have+q>c.nlen+c.ndist){a.msg="invalid bit length repeat",c.mode=ma;break}for(;q--;)c.lens[c.have++]=wa}}if(c.mode===ma)break;if(0===c.lens[256]){a.msg="invalid code -- missing end-of-block",c.mode=ma;break}if(c.lenbits=9,ya={bits:c.lenbits},xa=w(y,c.lens,0,c.nlen,c.lencode,0,c.work,ya),c.lenbits=ya.bits,xa){a.msg="invalid literal/lengths set",c.mode=ma;break}if(c.distbits=6,c.distcode=c.distdyn,ya={bits:c.distbits},xa=w(z,c.lens,c.nlen,c.ndist,c.distcode,0,c.work,ya),c.distbits=ya.bits,xa){a.msg="invalid distances set",c.mode=ma;break}if(c.mode=ca,b===C)break a;case ca:c.mode=da;case da:if(i>=6&&j>=258){a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,v(a,p),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,c.mode===W&&(c.back=-1);break}for(c.back=0;Aa=c.lencode[m&(1<<c.lenbits)-1],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(qa<=n);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(ra&&0===(240&ra)){for(ta=qa,ua=ra,va=sa;Aa=c.lencode[va+((m&(1<<ta+ua)-1)>>ta)],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(ta+qa<=n);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=ta,n-=ta,c.back+=ta}if(m>>>=qa,n-=qa,c.back+=qa,c.length=sa,0===ra){c.mode=ia;break}if(32&ra){c.back=-1,c.mode=W;break}if(64&ra){a.msg="invalid literal/length code",c.mode=ma;break}c.extra=15&ra,c.mode=ea;case ea:if(c.extra){for(za=c.extra;n<za;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}c.was=c.length,c.mode=fa;case fa:for(;Aa=c.distcode[m&(1<<c.distbits)-1],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(qa<=n);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(0===(240&ra)){for(ta=qa,ua=ra,va=sa;Aa=c.distcode[va+((m&(1<<ta+ua)-1)>>ta)],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(ta+qa<=n);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=ta,n-=ta,c.back+=ta}if(m>>>=qa,n-=qa,c.back+=qa,64&ra){a.msg="invalid distance code",c.mode=ma;break}c.offset=sa,c.extra=15&ra,c.mode=ga;case ga:if(c.extra){for(za=c.extra;n<za;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.offset+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}if(c.offset>c.dmax){a.msg="invalid distance too far back",c.mode=ma;break}c.mode=ha;case ha:if(0===j)break a;if(q=p-j,c.offset>q){if(q=c.offset-q,q>c.whave&&c.sane){a.msg="invalid distance too far back",c.mode=ma;break}q>c.wnext?(q-=c.wnext,r=c.wsize-q):r=c.wnext-q,q>c.length&&(q=c.length),pa=c.window}else pa=f,r=h-c.offset,q=c.length;q>j&&(q=j),j-=q,c.length-=q;do f[h++]=pa[r++];while(--q);0===c.length&&(c.mode=da);break;case ia:if(0===j)break a;f[h++]=c.length,j--,c.mode=da;break;case ja:if(c.wrap){for(;n<32;){if(0===i)break a;i--,m|=e[g++]<<n,n+=8}if(p-=j,a.total_out+=p,c.total+=p,p&&(a.adler=c.check=c.flags?u(c.check,f,p,h-p):t(c.check,f,p,h-p)),p=j,(c.flags?m:d(m))!==c.check){a.msg="incorrect data check",c.mode=ma;break}m=0,n=0}c.mode=ka;case ka:if(c.wrap&&c.flags){for(;n<32;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(4294967295&c.total)){a.msg="incorrect length check",c.mode=ma;break}m=0,n=0}c.mode=la;case la:xa=E;break a;case ma:xa=H;break a;case na:return I;case oa:default:return G}return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,(c.wsize||p!==a.avail_out&&c.mode<ma&&(c.mode<ja||b!==A))&&l(a,a.output,a.next_out,p-a.avail_out)?(c.mode=na,I):(o-=a.avail_in,p-=a.avail_out,a.total_in+=o,a.total_out+=p,c.total+=p,c.wrap&&p&&(a.adler=c.check=c.flags?u(c.check,f,p,a.next_out-p):t(c.check,f,p,a.next_out-p)),a.data_type=c.bits+(c.last?64:0)+(c.mode===W?128:0)+(c.mode===ca||c.mode===Z?256:0),(0===o&&0===p||b===A)&&xa===D&&(xa=J),xa)}function n(a){if(!a||!a.state)return G;var b=a.state;return b.window&&(b.window=null),a.state=null,D}function o(a,b){var c;return a&&a.state?(c=a.state,0===(2&c.wrap)?G:(c.head=b,b.done=!1,D)):G}function p(a,b){var c,d,e,f=b.length;return a&&a.state?(c=a.state,0!==c.wrap&&c.mode!==V?G:c.mode===V&&(d=1,d=t(d,b,f,0),d!==c.check)?H:(e=l(a,b,f,f))?(c.mode=na,I):(c.havedict=1,D)):G}var q,r,s=c(46),t=c(50),u=c(51),v=c(57),w=c(58),x=0,y=1,z=2,A=4,B=5,C=6,D=0,E=1,F=2,G=-2,H=-3,I=-4,J=-5,K=8,L=1,M=2,N=3,O=4,P=5,Q=6,R=7,S=8,T=9,U=10,V=11,W=12,X=13,Y=14,Z=15,$=16,_=17,aa=18,ba=19,ca=20,da=21,ea=22,fa=23,ga=24,ha=25,ia=26,ja=27,ka=28,la=29,ma=30,na=31,oa=32,pa=852,qa=592,ra=15,sa=ra,ta=!0;b.inflateReset=g,b.inflateReset2=h,b.inflateResetKeep=f,b.inflateInit=j,b.inflateInit2=i,b.inflate=m,b.inflateEnd=n,b.inflateGetHeader=o,b.inflateSetDictionary=p,b.inflateInfo="pako inflate (from Nodeca project)"},function(a,b){"use strict";var c=30,d=12;a.exports=function(a,b){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C;e=a.state,f=a.next_in,B=a.input,g=f+(a.avail_in-5),h=a.next_out,C=a.output,i=h-(b-a.avail_out),j=h+(a.avail_out-257),k=e.dmax,l=e.wsize,m=e.whave,n=e.wnext,o=e.window,p=e.hold,q=e.bits,r=e.lencode,s=e.distcode,t=(1<<e.lenbits)-1,u=(1<<e.distbits)-1;a:do{q<15&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=r[p&t];b:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,0===w)C[h++]=65535&v;else{if(!(16&w)){if(0===(64&w)){v=r[(65535&v)+(p&(1<<w)-1)];continue b}if(32&w){e.mode=d;break a}a.msg="invalid literal/length code",e.mode=c;break a}x=65535&v,w&=15,w&&(q<w&&(p+=B[f++]<<q,q+=8),x+=p&(1<<w)-1,p>>>=w,q-=w),q<15&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=s[p&u];c:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,!(16&w)){if(0===(64&w)){v=s[(65535&v)+(p&(1<<w)-1)];continue c}a.msg="invalid distance code",e.mode=c;break a}if(y=65535&v,w&=15,q<w&&(p+=B[f++]<<q,q+=8,q<w&&(p+=B[f++]<<q,q+=8)),y+=p&(1<<w)-1,y>k){a.msg="invalid distance too far back",e.mode=c;break a}if(p>>>=w,q-=w,w=h-i,y>w){if(w=y-w,w>m&&e.sane){a.msg="invalid distance too far back",e.mode=c;break a}if(z=0,A=o,0===n){if(z+=l-w,w<x){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}else if(n<w){if(z+=l+n-w,w-=n,w<x){x-=w;do C[h++]=o[z++];while(--w);if(z=0,n<x){w=n,x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}}else if(z+=n-w,w<x){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}for(;x>2;)C[h++]=A[z++],C[h++]=A[z++],C[h++]=A[z++],x-=3;x&&(C[h++]=A[z++],x>1&&(C[h++]=A[z++]))}else{z=h-y;do C[h++]=C[z++],C[h++]=C[z++],C[h++]=C[z++],x-=3;while(x>2);x&&(C[h++]=C[z++],x>1&&(C[h++]=C[z++]))}break}}break}}while(f<g&&h<j);x=q>>3,f-=x,q-=x<<3,p&=(1<<q)-1,a.next_in=f,a.next_out=h,a.avail_in=f<g?5+(g-f):5-(f-g),a.avail_out=h<j?257+(j-h):257-(h-j),e.hold=p,e.bits=q}},function(a,b,c){"use strict";var d=c(46),e=15,f=852,g=592,h=0,i=1,j=2,k=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],l=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],m=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],n=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];a.exports=function(a,b,c,o,p,q,r,s){var t,u,v,w,x,y,z,A,B,C=s.bits,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=null,O=0,P=new d.Buf16(e+1),Q=new d.Buf16(e+1),R=null,S=0;for(D=0;D<=e;D++)P[D]=0;for(E=0;E<o;E++)P[b[c+E]]++;for(H=C,G=e;G>=1&&0===P[G];G--);if(H>G&&(H=G),0===G)return p[q++]=20971520,p[q++]=20971520,s.bits=1,0;for(F=1;F<G&&0===P[F];F++);for(H<F&&(H=F),K=1,D=1;D<=e;D++)if(K<<=1,K-=P[D],K<0)return-1;if(K>0&&(a===h||1!==G))return-1;for(Q[1]=0,D=1;D<e;D++)Q[D+1]=Q[D]+P[D];for(E=0;E<o;E++)0!==b[c+E]&&(r[Q[b[c+E]]++]=E);if(a===h?(N=R=r,y=19):a===i?(N=k,O-=257,R=l,S-=257,y=256):(N=m,R=n,y=-1),M=0,E=0,D=F,x=q,I=H,J=0,v=-1,L=1<<H,w=L-1,a===i&&L>f||a===j&&L>g)return 1;for(;;){z=D-J,r[E]<y?(A=0,B=r[E]):r[E]>y?(A=R[S+r[E]],B=N[O+r[E]]):(A=96,B=0),t=1<<D-J,u=1<<I,F=u;do u-=t,p[x+(M>>J)+u]=z<<24|A<<16|B|0;while(0!==u);for(t=1<<D-1;M&t;)t>>=1;if(0!==t?(M&=t-1,M+=t):M=0,E++,0===--P[D]){if(D===G)break;D=b[c+r[E]]}if(D>H&&(M&w)!==v){for(0===J&&(J=H),x+=F,I=D-J,K=1<<I;I+J<G&&(K-=P[I+J],!(K<=0));)I++,K<<=1;if(L+=1<<I,a===i&&L>f||a===j&&L>g)return 1;
v=M&w,p[v]=H<<24|I<<16|x-q|0}}return 0!==M&&(p[x+M]=D-J<<24|64<<16|0),s.bits=H,0}},function(a,b){"use strict";a.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(a,b){"use strict";function c(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}a.exports=c},function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function f(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),h=c(45),i=c(62),j=c(63),k=c(64),l=(c(1),c(100)),m=c(14),n={CLOSED:"closed",CLOSING:"closing",CONNECTING:"connecting",CHECKING_VERSION:"version",STREAMING:"streaming",AUTHENTICATING:"authenticating",DONE:"done"},o=function(a){function b(a){d(this,b);var c=e(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,n.CLOSED));return c.voiceRequest=a,c.websocket=null,c.buffer=[],c.numBlobsInProgress=0,c.proxy=a.proxy,c}return f(b,a),g(b,[{key:"connect",value:function(a){var b=this;this.setState(n.CONNECTING),this.close(),this.buffer=[],this.endOfAudioSent=!1,this.proxy&&this.proxy.url?this.websocket=new i(this.voiceRequest.endpoint,{agent:new j(k.parse(this.proxy.url))}):this.websocket=new i(this.voiceRequest.endpoint);var c=this.websocket;c.onopen=function(a){c.send(JSON.stringify({version:"1.0"})),m.log("hound_websocket: connected, sending version 1.0..."),b.setState(n.CHECKING_VERSION)},c.onclose=function(a){if(m.log("hound_websocket: disconnected"),b.isState(n.STREAMING)&&b.numBlobsInProgress){var c=function e(){0==d.numBlobsInProgress&&(d.isState(n.STREAMING)&&(d.fire("error",{type:"CONNECTION",exception:"Connection terminated."}),d.setState(n.CLOSED)),d.off("message",e))},d=b;d.on("message",c)}else b.isState(n.CHECKING_VERSION)?b.fire("error",{type:"PROTOCOL",exception:"Version error."}):b.isState(n.AUTHENTICATING)?b.fire("error",{type:"AUTHENTICATION",exception:"Signed token rejected."}):b.isState(n.STREAMING)&&b.fire("error",{type:"CONNECTION",exception:"Connection terminated."});b.setState(n.CLOSED)},c.onerror=function(a){m.log("hound_websocket: websocket error",a),b.fire("error",{type:"CONNECTION",exception:a})},c.onmessage=function(d){if(b.isState(n.CHECKING_VERSION)){var e=JSON.parse(d.data);if(m.log("hound_websocket: accepted message",d.data),"ok"!==e.status)return b.fire("error",{type:"PROTOCOL",exception:"Version error."}),void b.close();if(!e.hasOwnProperty("nonce"))return b.fire("error",{type:"PROTOCOL",exception:"Missing nonce."}),void b.close();m.signToken(e.nonce,b.voiceRequest,function(d,e){if(d)return b.fire("error",{type:"AUTHENTICATION",exception:d}),void b.close();var f={access_id:b.voiceRequest.clientId,signature:e};a.InputLanguageEnglishName&&(f.language_english_name=a.InputLanguageEnglishName),a.InputLanguageIETFTag&&(f.language_ietf_tag=a.InputLanguageIETFTag),c.send(JSON.stringify(f)),m.log("hound_websocket: sending message",f)}),m.log("hound_websocket: version ok, authenticating..."),b.setState(n.AUTHENTICATING)}else if(b.isState(n.AUTHENTICATING)){var e=JSON.parse(d.data);if(m.log("hound_websocket: accepted message",d.data),"ok"!==e.status)return b.fire("error",{type:"AUTHENTICATION",exception:"Signed token rejected."}),void b.close();m.log("hound_websocket: authentication ok, sending buffer...");for(var f in b.buffer)c.send(b.buffer[f]);m.log("hound_websocket: buffer sent, streaming..."),b.setState(n.STREAMING)}else try{var g=new FileReader;g.addEventListener("loadend",function(){var a=h.ungzip(g.result,{to:"string"});b.fire("message",a),b.numBlobsInProgress-=1}),g.readAsArrayBuffer(d.data),b.numBlobsInProgress+=1}catch(i){try{var j=h.ungzip(d.data.toString("binary"),{to:"string"});b.fire("message",j)}catch(i){try{var e=JSON.parse(d.data);if(!("error"in e))throw e;b.fire("error",{type:"BAD_REQUEST",exception:e}),b.close()}catch(i){m.log("hound_websocket",i),b.fire("error",{type:"UNEXPECTED_MESSAGE",exception:d.data}),b.close()}}}}}},{key:"send",value:function(a){this.isState(n.CLOSED)?m.log("hound_websocket: can't send data, connection closed."):this.isState(n.STREAMING)?this.isState(n.STREAMING)&&this.websocket.send(a):this.buffer.push(a)}},{key:"endOfAudio",value:function(){this.endOfAudioSent||(m.log("hound_websocket: sending endOfAudio"),this.send(JSON.stringify({endOfAudio:!0})),this.endOfAudioSent=!0)}},{key:"done",value:function(){m.log("hound_websocket: done"),this.setState(n.DONE)}},{key:"close",value:function(){this.isState(n.CLOSED)||this.websocket&&(m.log("hound_websocket: close"),this.websocket.close(),this.setState(n.CLOSING))}}]),b}(l);a.exports=o},function(a,b){a.exports=__WEBPACK_EXTERNAL_MODULE_62__},function(a,b,c){(function(b){function d(a){if(!(this instanceof d))return new d(a);if("string"==typeof a&&(a=h.parse(a)),!a)throw new Error("an HTTP(S) proxy server `host` and `port` must be specified!");k("creating new HttpsProxyAgent instance: %o",a),i.call(this,a);var b=Object.assign({},a);this.secureProxy=!!b.protocol&&/^https:?$/i.test(b.protocol),b.host=b.hostname||b.host,b.port=+b.port||(this.secureProxy?443:80),!this.secureProxy||"ALPNProtocols"in b||(b.ALPNProtocols=["http 1.1"]),b.host&&b.path&&(delete b.path,delete b.pathname),this.proxy=b}function e(a,b){return Boolean(!b&&80===a||b&&443===a)}var f=c(41),g=c(41),h=c(64),i=c(69),j=c(26).inherits,k=c(97)("https-proxy-agent");a.exports=d,j(d,i),d.prototype.callback=function(a,c,d){function h(){var a=p.read();a?n(a):p.once("readable",h)}function i(){p.removeListener("data",n),p.removeListener("end",l),p.removeListener("error",m),p.removeListener("close",j),p.removeListener("readable",h)}function j(a){k("onclose had error %o",a)}function l(){k("onend")}function m(a){i(),d(a)}function n(e){r.push(e),s+=e.length;var f=b.concat(r,s),j=f.toString("ascii");if(!~j.indexOf("\r\n\r\n"))return k("have not received end of HTTP headers yet..."),void(p.read?h():p.once("data",n));var l=j.substring(0,j.indexOf("\r\n")),m=+l.split(" ")[1];if(k("got proxy server response: %o",l),200==m){var q=p;r=f=null,c.secureEndpoint&&(k("upgrading proxy-connected socket to TLS connection: %o",c.host),c.socket=p,c.servername=c.servername||c.host,c.host=null,c.hostname=null,c.port=null,q=g.connect(c)),i(),d(null,q)}else i(),r=f,a.once("socket",o),d(null,p)}function o(a){if("function"==typeof a.ondata)a.ondata(r,0,r.length);else{if(!(a.listeners("data").length>0))throw new Error("should not happen...");a.emit("data",r)}r=null}var p,q=this.proxy;p=this.secureProxy?g.connect(q):f.connect(q);var r=[],s=0;p.on("error",m),p.on("close",j),p.on("end",l),p.read?h():p.once("data",n);var t=c.host+":"+c.port,u="CONNECT "+t+" HTTP/1.1\r\n",v=Object.assign({},q.headers);q.auth&&(v["Proxy-Authorization"]="Basic "+new b(q.auth).toString("base64"));var w=c.host;e(c.port,c.secureEndpoint)||(w+=":"+c.port),v.Host=w,v.Connection="close",Object.keys(v).forEach(function(a){u+=a+": "+v[a]+"\r\n"}),p.write(u+"\r\n")}}).call(b,c(15).Buffer)},function(a,b,c){function d(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function e(a,b,c){if(a&&j(a)&&a instanceof d)return a;var e=new d;return e.parse(a,b,c),e}function f(a){return i(a)&&(a=e(a)),a instanceof d?a.format():d.prototype.format.call(a)}function g(a,b){return e(a,!1,!0).resolve(b)}function h(a,b){return a?e(a,!1,!0).resolveObject(b):b}function i(a){return"string"==typeof a}function j(a){return"object"==typeof a&&null!==a}function k(a){return null===a}function l(a){return null==a}var m=c(65);b.parse=e,b.resolve=g,b.resolveObject=h,b.format=f,b.Url=d;var n=/^([a-z0-9.+-]+:)/i,o=/:[0-9]*$/,p=["<",">",'"',"`"," ","\r","\n","\t"],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=c(66);d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;j<t.length;j++){var k=d.indexOf(t[j]);k!==-1&&(h===-1||k<h)&&(h=k)}var l,o;o=h===-1?d.lastIndexOf("@"):d.lastIndexOf("@",h),o!==-1&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;j<s.length;j++){var k=d.indexOf(s[j]);k!==-1&&(h===-1||k<h)&&(h=k)}h===-1&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;j<B;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;E<F;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname.length>u?this.hostname="":this.hostname=this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;j<J.length;++j){var L=J[j];K.push(L.match(/[^A-Za-z0-9_-]/)?"xn--"+m.encode(L):L)}this.hostname=K.join(".")}var M=this.port?":"+this.port:"",N=this.hostname||"";this.host=N+M,this.href+=this.host,p&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==d[0]&&(d="/"+d))}if(!x[f])for(var j=0,B=r.length;j<B;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");Q!==-1&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(R!==-1?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=!!(c.host&&c.host.indexOf("@")>0)&&c.host.split("@");q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.search?c.path="/"+c.search:c.path=null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=!!(c.host&&c.host.indexOf("@")>0)&&c.host.split("@");q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},function(a,b,c){var d;(function(a,e){!function(f){function g(a){throw RangeError(G[a])}function h(a,b){for(var c=a.length,d=[];c--;)d[c]=b(a[c]);return d}function i(a,b){var c=a.split("@"),d="";c.length>1&&(d=c[0]+"@",a=c[1]),a=a.replace(F,".");var e=a.split("."),f=h(e,b).join(".");return d+f}function j(a){for(var b,c,d=[],e=0,f=a.length;e<f;)b=a.charCodeAt(e++),b>=55296&&b<=56319&&e<f?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function k(a){return h(a,function(a){var b="";return a>65535&&(a-=65536,b+=J(a>>>10&1023|55296),a=56320|1023&a),b+=J(a)}).join("")}function l(a){return a-48<10?a-22:a-65<26?a-65:a-97<26?a-97:v}function m(a,b){return a+22+75*(a<26)-((0!=b)<<5)}function n(a,b,c){var d=0;for(a=c?I(a/z):a>>1,a+=I(a/b);a>H*x>>1;d+=v)a=I(a/H);return I(d+(H+1)*a/(a+y))}function o(a){var b,c,d,e,f,h,i,j,m,o,p=[],q=a.length,r=0,s=B,t=A;for(c=a.lastIndexOf(C),c<0&&(c=0),d=0;d<c;++d)a.charCodeAt(d)>=128&&g("not-basic"),p.push(a.charCodeAt(d));for(e=c>0?c+1:0;e<q;){for(f=r,h=1,i=v;e>=q&&g("invalid-input"),j=l(a.charCodeAt(e++)),(j>=v||j>I((u-r)/h))&&g("overflow"),r+=j*h,m=i<=t?w:i>=t+x?x:i-t,!(j<m);i+=v)o=v-m,h>I(u/o)&&g("overflow"),h*=o;b=p.length+1,t=n(r-f,b,0==f),I(r/b)>u-s&&g("overflow"),s+=I(r/b),r%=b,p.splice(r++,0,s)}return k(p)}function p(a){var b,c,d,e,f,h,i,k,l,o,p,q,r,s,t,y=[];for(a=j(a),q=a.length,b=B,c=0,f=A,h=0;h<q;++h)p=a[h],p<128&&y.push(J(p));for(d=e=y.length,e&&y.push(C);d<q;){for(i=u,h=0;h<q;++h)p=a[h],p>=b&&p<i&&(i=p);for(r=d+1,i-b>I((u-c)/r)&&g("overflow"),c+=(i-b)*r,b=i,h=0;h<q;++h)if(p=a[h],p<b&&++c>u&&g("overflow"),p==b){for(k=c,l=v;o=l<=f?w:l>=f+x?x:l-f,!(k<o);l+=v)t=k-o,s=v-o,y.push(J(m(o+t%s,0))),k=I(t/s);y.push(J(m(k,0))),f=n(c,r,d==e),c=0,++d}++c,++b}return y.join("")}function q(a){return i(a,function(a){return D.test(a)?o(a.slice(4).toLowerCase()):a})}function r(a){return i(a,function(a){return E.test(a)?"xn--"+p(a):a})}var s=("object"==typeof b&&b&&!b.nodeType&&b,"object"==typeof a&&a&&!a.nodeType&&a,"object"==typeof e&&e);s.global!==s&&s.window!==s&&s.self!==s||(f=s);var t,u=2147483647,v=36,w=1,x=26,y=38,z=700,A=72,B=128,C="-",D=/^xn--/,E=/[^\x20-\x7E]/,F=/[\x2E\u3002\uFF0E\uFF61]/g,G={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},H=v-w,I=Math.floor,J=String.fromCharCode;t={version:"1.3.2",ucs2:{decode:j,encode:k},decode:o,encode:p,toASCII:r,toUnicode:q},d=function(){return t}.call(b,c,b,a),!(void 0!==d&&(a.exports=d))}(this)}).call(b,c(40)(a),function(){return this}())},function(a,b,c){"use strict";b.decode=b.parse=c(67),b.encode=b.stringify=c(68)},function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}a.exports=function(a,b,d,e){b=b||"&",d=d||"=";var f={};if("string"!=typeof a||0===a.length)return f;var g=/\+/g;a=a.split(b);var h=1e3;e&&"number"==typeof e.maxKeys&&(h=e.maxKeys);var i=a.length;h>0&&i>h&&(i=h);for(var j=0;j<i;++j){var k,l,m,n,o=a[j].replace(g,"%20"),p=o.indexOf(d);p>=0?(k=o.substr(0,p),l=o.substr(p+1)):(k=o,l=""),m=decodeURIComponent(k),n=decodeURIComponent(l),c(f,m)?Array.isArray(f[m])?f[m].push(n):f[m]=[f[m],n]:f[m]=n}return f}},function(a,b){"use strict";var c=function(a){switch(typeof a){case"string":return a;case"boolean":return a?"true":"false";case"number":return isFinite(a)?a:"";default:return""}};a.exports=function(a,b,d,e){return b=b||"&",d=d||"=",null===a&&(a=void 0),"object"==typeof a?Object.keys(a).map(function(e){var f=encodeURIComponent(c(e))+d;return Array.isArray(a[e])?a[e].map(function(a){return f+encodeURIComponent(c(a))}).join(b):f+encodeURIComponent(c(a[e]))}).join(b):e?encodeURIComponent(c(e))+d+encodeURIComponent(c(a)):""}},function(a,b,c){"use strict";function d(a,b){if(!(this instanceof d))return new d(a,b);g.call(this);var c=b;"function"==typeof a?this.callback=a:a&&(c=a),this.timeout=c&&c.timeout||null,this.options=c}c(70);var e=c(26).inherits,f=c(93),g=c(73).EventEmitter;a.exports=d,e(d,g),d.prototype.callback=function(a,b){throw new Error('"agent-base" has no default implementation, you must subclass and override `callback()`')},d.prototype.addRequest=function(a,b){function c(b){a._hadError||(a.emit("error",b),a._hadError=!0)}function d(){k=!0;var a=new Error('A "socket" was not created for HTTP request before '+l+"ms");a.code="ETIMEOUT",c(a)}function e(a){k||(null!=j&&clearTimeout(j),c(a))}function g(b){if(!k)if(null!=j&&clearTimeout(j),b)a.onSocket(b);else{var d=new Error("no Duplex stream was returned to agent-base for `"+a.method+" "+a.path+"`");c(d)}}var h=Object.assign({},b);null==h.host&&(h.host="localhost"),null==h.port&&(h.port=h.secureEndpoint?443:80);var i=Object.assign({},this.options,h);i.host&&i.path&&delete i.path,delete i.agent,delete i.hostname,delete i._defaultAgent,delete i.defaultPort,delete i.createConnection,a._last=!0,a.shouldKeepAlive=!1;var j=void 0,k=!1,l=this.timeout;this.callback.length>=3&&(this.callback=f(this.callback,this)),l>0&&(j=setTimeout(d,l));try{Promise.resolve(this.callback(a,i)).then(g,e)}catch(m){Promise.reject(m)["catch"](e)}}},function(a,b,c){"use strict";var d=c(64),e=c(71);e.request=function(a){return function(b,c){var f=void 0;return f="string"==typeof b?d.parse(b):Object.assign({},b),null==f.port&&(f.port=443),f.secureEndpoint=!0,a.call(e,f,c)}}(e.request)},function(a,b,c){var d=c(72),e=a.exports;for(var f in d)d.hasOwnProperty(f)&&(e[f]=d[f]);e.request=function(a,b){return a||(a={}),a.scheme="https",d.request.call(this,a,b)}},function(a,b,c){var d=a.exports,e=(c(73).EventEmitter,c(74)),f=c(64);d.request=function(a,b){"string"==typeof a&&(a=f.parse(a)),a||(a={}),a.host||a.port||(a.port=parseInt(window.location.port,10)),!a.host&&a.hostname&&(a.host=a.hostname),a.protocol||(a.scheme?a.protocol=a.scheme+":":a.protocol=window.location.protocol),a.host||(a.host=window.location.hostname||window.location.host),/:/.test(a.host)&&(a.port||(a.port=a.host.split(":")[1]),a.host=a.host.split(":")[0]),a.port||(a.port="https:"==a.protocol?443:80);var c=new e(new g,a);return b&&c.on("response",b),c},d.get=function(a,b){a.method="GET";var c=d.request(a,b);return c.end(),c},d.Agent=function(){},d.Agent.defaultMaxSockets=4;var g=function(){if("undefined"==typeof window)throw new Error("no window object present");if(window.XMLHttpRequest)return window.XMLHttpRequest;if(window.ActiveXObject){for(var a=["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"],b=0;b<a.length;b++)try{var c=new window.ActiveXObject(a[b]);return function(){if(c){var d=c;return c=null,d}return new window.ActiveXObject(a[b])}}catch(d){}throw new Error("ajax not supported in this browser")}throw new Error("ajax not supported in this browser")}();d.STATUS_CODES={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",300:"Multiple Choices",301:"Moved Permanently",302:"Moved Temporarily",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Time-out",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Request Entity Too Large",414:"Request-URI Too Large",415:"Unsupported Media Type",416:"Requested Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Time-out",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}},function(a,b){function c(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function d(a){return"function"==typeof a}function e(a){return"number"==typeof a}function f(a){return"object"==typeof a&&null!==a}function g(a){return void 0===a}a.exports=c,c.EventEmitter=c,c.prototype._events=void 0,c.prototype._maxListeners=void 0,c.defaultMaxListeners=10,c.prototype.setMaxListeners=function(a){if(!e(a)||a<0||isNaN(a))throw TypeError("n must be a positive number");return this._maxListeners=a,this},c.prototype.emit=function(a){var b,c,e,h,i,j;if(this._events||(this._events={}),"error"===a&&(!this._events.error||f(this._events.error)&&!this._events.error.length)){if(b=arguments[1],b instanceof Error)throw b;var k=new Error('Uncaught, unspecified "error" event. ('+b+")");throw k.context=b,k}if(c=this._events[a],g(c))return!1;if(d(c))switch(arguments.length){case 1:c.call(this);break;case 2:c.call(this,arguments[1]);break;case 3:c.call(this,arguments[1],arguments[2]);break;default:h=Array.prototype.slice.call(arguments,1),c.apply(this,h)}else if(f(c))for(h=Array.prototype.slice.call(arguments,1),j=c.slice(),e=j.length,i=0;i<e;i++)j[i].apply(this,h);return!0},c.prototype.addListener=function(a,b){var e;if(!d(b))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",a,d(b.listener)?b.listener:b),this._events[a]?f(this._events[a])?this._events[a].push(b):this._events[a]=[this._events[a],b]:this._events[a]=b,f(this._events[a])&&!this._events[a].warned&&(e=g(this._maxListeners)?c.defaultMaxListeners:this._maxListeners,e&&e>0&&this._events[a].length>e&&(this._events[a].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[a].length),"function"==typeof console.trace&&console.trace())),this},c.prototype.on=c.prototype.addListener,c.prototype.once=function(a,b){function c(){this.removeListener(a,c),e||(e=!0,b.apply(this,arguments))}if(!d(b))throw TypeError("listener must be a function");var e=!1;return c.listener=b,this.on(a,c),this},c.prototype.removeListener=function(a,b){var c,e,g,h;if(!d(b))throw TypeError("listener must be a function");if(!this._events||!this._events[a])return this;if(c=this._events[a],g=c.length,e=-1,c===b||d(c.listener)&&c.listener===b)delete this._events[a],this._events.removeListener&&this.emit("removeListener",a,b);else if(f(c)){for(h=g;h-- >0;)if(c[h]===b||c[h].listener&&c[h].listener===b){e=h;break}if(e<0)return this;1===c.length?(c.length=0,delete this._events[a]):c.splice(e,1),this._events.removeListener&&this.emit("removeListener",a,b)}return this},c.prototype.removeAllListeners=function(a){var b,c;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[a]&&delete this._events[a],this;if(0===arguments.length){for(b in this._events)"removeListener"!==b&&this.removeAllListeners(b);return this.removeAllListeners("removeListener"),this._events={},this}if(c=this._events[a],d(c))this.removeListener(a,c);else if(c)for(;c.length;)this.removeListener(a,c[c.length-1]);return delete this._events[a],this},c.prototype.listeners=function(a){var b;return b=this._events&&this._events[a]?d(this._events[a])?[this._events[a]]:this._events[a].slice():[]},c.prototype.listenerCount=function(a){if(this._events){var b=this._events[a];if(d(b))return 1;if(b)return b.length}return 0},c.listenerCount=function(a,b){return a.listenerCount(b)}},function(a,b,c){var d=c(75),Response=c(91),e=c(92),f=c(76),g=a.exports=function(a,b){var c=this;c.writable=!0,c.xhr=a,c.body=[],c.uri=(b.protocol||"http:")+"//"+b.host+(b.port?":"+b.port:"")+(b.path||"/"),"undefined"==typeof b.withCredentials&&(b.withCredentials=!0);try{a.withCredentials=b.withCredentials}catch(d){}if(b.responseType)try{a.responseType=b.responseType}catch(d){}if(a.open(b.method||"GET",c.uri,!0),a.onerror=function(a){c.emit("error",new Error("Network error"))},c._headers={},b.headers)for(var f=h(b.headers),g=0;g<f.length;g++){var i=f[g];if(c.isSafeRequestHeader(i)){var j=b.headers[i];c.setHeader(i,j)}}b.auth&&this.setHeader("Authorization","Basic "+e.btoa(b.auth));var k=new Response;k.on("close",function(){c.emit("close")}),k.on("ready",function(){c.emit("response",k)}),k.on("error",function(a){c.emit("error",a)}),a.onreadystatechange=function(){a.__aborted||k.handle(a)}};f(g,d),g.prototype.setHeader=function(a,b){this._headers[a.toLowerCase()]=b},g.prototype.getHeader=function(a){return this._headers[a.toLowerCase()]},g.prototype.removeHeader=function(a){delete this._headers[a.toLowerCase()]},g.prototype.write=function(a){this.body.push(a)},g.prototype.destroy=function(a){this.xhr.__aborted=!0,this.xhr.abort(),this.emit("close")},g.prototype.end=function(a){void 0!==a&&this.body.push(a);for(var b=h(this._headers),c=0;c<b.length;c++){var d=b[c],e=this._headers[d];if(i(e))for(var f=0;f<e.length;f++)this.xhr.setRequestHeader(d,e[f]);else this.xhr.setRequestHeader(d,e)}if(0===this.body.length)this.xhr.send("");else if("string"==typeof this.body[0])this.xhr.send(this.body.join(""));else if(i(this.body[0])){for(var g=[],c=0;c<this.body.length;c++)g.push.apply(g,this.body[c]);this.xhr.send(g)}else if(/Array/.test(Object.prototype.toString.call(this.body[0]))){for(var j=0,c=0;c<this.body.length;c++)j+=this.body[c].length;for(var g=new this.body[0].constructor(j),l=0,c=0;c<this.body.length;c++)for(var m=this.body[c],f=0;f<m.length;f++)g[l++]=m[f];this.xhr.send(g)}else if(k(this.body[0]))this.xhr.send(this.body[0]);else{for(var g="",c=0;c<this.body.length;c++)g+=this.body[c].toString();this.xhr.send(g)}},g.unsafeHeaders=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","content-transfer-encoding","date","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","user-agent","via"],g.prototype.isSafeRequestHeader=function(a){return!!a&&j(g.unsafeHeaders,a.toLowerCase())===-1};var h=Object.keys||function(a){var b=[];for(var c in a)b.push(c);return b},i=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)},j=function(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0;c<a.length;c++)if(a[c]===b)return c;return-1},k=function(a){return"undefined"!=typeof Blob&&a instanceof Blob||("undefined"!=typeof ArrayBuffer&&a instanceof ArrayBuffer||("undefined"!=typeof FormData&&a instanceof FormData||void 0))}},function(a,b,c){function d(){e.call(this)}a.exports=d;var e=c(73).EventEmitter,f=c(76);f(d,e),d.Readable=c(77),d.Writable=c(87),d.Duplex=c(88),d.Transform=c(89),d.PassThrough=c(90),d.Stream=d,d.prototype.pipe=function(a,b){function c(b){a.writable&&!1===a.write(b)&&j.pause&&j.pause()}function d(){j.readable&&j.resume&&j.resume()}function f(){k||(k=!0,a.end())}function g(){k||(k=!0,"function"==typeof a.destroy&&a.destroy())}function h(a){if(i(),0===e.listenerCount(this,"error"))throw a}function i(){j.removeListener("data",c),a.removeListener("drain",d),j.removeListener("end",f),j.removeListener("close",g),j.removeListener("error",h),a.removeListener("error",h),j.removeListener("end",i),j.removeListener("close",i),a.removeListener("close",i)}var j=this;j.on("data",c),a.on("drain",d),a._isStdio||b&&b.end===!1||(j.on("end",f),j.on("close",g));var k=!1;return j.on("error",h),a.on("error",h),j.on("end",i),j.on("close",i),a.on("close",i),a.emit("pipe",j),a}},29,function(a,b,c){(function(d){b=a.exports=c(78),b.Stream=c(75),b.Readable=b,b.Writable=c(83),b.Duplex=c(82),b.Transform=c(85),b.PassThrough=c(86),d.browser||"disable"!==d.env.READABLE_STREAM||(a.exports=c(75))}).call(b,c(27))},function(a,b,c){(function(b){function d(a,b){var d=c(82);a=a||{};var e=a.highWaterMark,f=a.objectMode?16:16384;this.highWaterMark=e||0===e?e:f,this.highWaterMark=~~this.highWaterMark,this.buffer=[],this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.objectMode=!!a.objectMode,b instanceof d&&(this.objectMode=this.objectMode||!!a.readableObjectMode),this.defaultEncoding=a.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,a.encoding&&(C||(C=c(84).StringDecoder),this.decoder=new C(a.encoding),this.encoding=a.encoding)}function e(a){c(82);return this instanceof e?(this._readableState=new d(a,this),this.readable=!0,void A.call(this)):new e(a)}function f(a,b,c,d,e){var f=j(b,c);if(f)a.emit("error",f);else if(B.isNullOrUndefined(c))b.reading=!1,b.ended||k(a,b);else if(b.objectMode||c&&c.length>0)if(b.ended&&!e){
var h=new Error("stream.push() after EOF");a.emit("error",h)}else if(b.endEmitted&&e){var h=new Error("stream.unshift() after end event");a.emit("error",h)}else!b.decoder||e||d||(c=b.decoder.write(c)),e||(b.reading=!1),b.flowing&&0===b.length&&!b.sync?(a.emit("data",c),a.read(0)):(b.length+=b.objectMode?1:c.length,e?b.buffer.unshift(c):b.buffer.push(c),b.needReadable&&l(a)),n(a,b);else e||(b.reading=!1);return g(b)}function g(a){return!a.ended&&(a.needReadable||a.length<a.highWaterMark||0===a.length)}function h(a){if(a>=E)a=E;else{a--;for(var b=1;b<32;b<<=1)a|=a>>b;a++}return a}function i(a,b){return 0===b.length&&b.ended?0:b.objectMode?0===a?0:1:isNaN(a)||B.isNull(a)?b.flowing&&b.buffer.length?b.buffer[0].length:b.length:a<=0?0:(a>b.highWaterMark&&(b.highWaterMark=h(a)),a>b.length?b.ended?b.length:(b.needReadable=!0,0):a)}function j(a,b){var c=null;return B.isBuffer(b)||B.isString(b)||B.isNullOrUndefined(b)||a.objectMode||(c=new TypeError("Invalid non-string/buffer chunk")),c}function k(a,b){if(b.decoder&&!b.ended){var c=b.decoder.end();c&&c.length&&(b.buffer.push(c),b.length+=b.objectMode?1:c.length)}b.ended=!0,l(a)}function l(a){var c=a._readableState;c.needReadable=!1,c.emittedReadable||(D("emitReadable",c.flowing),c.emittedReadable=!0,c.sync?b.nextTick(function(){m(a)}):m(a))}function m(a){D("emit readable"),a.emit("readable"),s(a)}function n(a,c){c.readingMore||(c.readingMore=!0,b.nextTick(function(){o(a,c)}))}function o(a,b){for(var c=b.length;!b.reading&&!b.flowing&&!b.ended&&b.length<b.highWaterMark&&(D("maybeReadMore read 0"),a.read(0),c!==b.length);)c=b.length;b.readingMore=!1}function p(a){return function(){var b=a._readableState;D("pipeOnDrain",b.awaitDrain),b.awaitDrain&&b.awaitDrain--,0===b.awaitDrain&&z.listenerCount(a,"data")&&(b.flowing=!0,s(a))}}function q(a,c){c.resumeScheduled||(c.resumeScheduled=!0,b.nextTick(function(){r(a,c)}))}function r(a,b){b.resumeScheduled=!1,a.emit("resume"),s(a),b.flowing&&!b.reading&&a.read(0)}function s(a){var b=a._readableState;if(D("flow",b.flowing),b.flowing)do var c=a.read();while(null!==c&&b.flowing)}function t(a,b){var c,d=b.buffer,e=b.length,f=!!b.decoder,g=!!b.objectMode;if(0===d.length)return null;if(0===e)c=null;else if(g)c=d.shift();else if(!a||a>=e)c=f?d.join(""):y.concat(d,e),d.length=0;else if(a<d[0].length){var h=d[0];c=h.slice(0,a),d[0]=h.slice(a)}else if(a===d[0].length)c=d.shift();else{c=f?"":new y(a);for(var i=0,j=0,k=d.length;j<k&&i<a;j++){var h=d[0],l=Math.min(a-i,h.length);f?c+=h.slice(0,l):h.copy(c,i,0,l),l<h.length?d[0]=h.slice(l):d.shift(),i+=l}}return c}function u(a){var c=a._readableState;if(c.length>0)throw new Error("endReadable called on non-empty stream");c.endEmitted||(c.ended=!0,b.nextTick(function(){c.endEmitted||0!==c.length||(c.endEmitted=!0,a.readable=!1,a.emit("end"))}))}function v(a,b){for(var c=0,d=a.length;c<d;c++)b(a[c],c)}function w(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1}a.exports=e;var x=c(79),y=c(15).Buffer;e.ReadableState=d;var z=c(73).EventEmitter;z.listenerCount||(z.listenerCount=function(a,b){return a.listeners(b).length});var A=c(75),B=c(80);B.inherits=c(76);var C,D=c(81);D=D&&D.debuglog?D.debuglog("stream"):function(){},B.inherits(e,A),e.prototype.push=function(a,b){var c=this._readableState;return B.isString(a)&&!c.objectMode&&(b=b||c.defaultEncoding,b!==c.encoding&&(a=new y(a,b),b="")),f(this,c,a,b,!1)},e.prototype.unshift=function(a){var b=this._readableState;return f(this,b,a,"",!0)},e.prototype.setEncoding=function(a){return C||(C=c(84).StringDecoder),this._readableState.decoder=new C(a),this._readableState.encoding=a,this};var E=8388608;e.prototype.read=function(a){D("read",a);var b=this._readableState,c=a;if((!B.isNumber(a)||a>0)&&(b.emittedReadable=!1),0===a&&b.needReadable&&(b.length>=b.highWaterMark||b.ended))return D("read: emitReadable",b.length,b.ended),0===b.length&&b.ended?u(this):l(this),null;if(a=i(a,b),0===a&&b.ended)return 0===b.length&&u(this),null;var d=b.needReadable;D("need readable",d),(0===b.length||b.length-a<b.highWaterMark)&&(d=!0,D("length less than watermark",d)),(b.ended||b.reading)&&(d=!1,D("reading or ended",d)),d&&(D("do read"),b.reading=!0,b.sync=!0,0===b.length&&(b.needReadable=!0),this._read(b.highWaterMark),b.sync=!1),d&&!b.reading&&(a=i(c,b));var e;return e=a>0?t(a,b):null,B.isNull(e)&&(b.needReadable=!0,a=0),b.length-=a,0!==b.length||b.ended||(b.needReadable=!0),c!==a&&b.ended&&0===b.length&&u(this),B.isNull(e)||this.emit("data",e),e},e.prototype._read=function(a){this.emit("error",new Error("not implemented"))},e.prototype.pipe=function(a,c){function d(a){D("onunpipe"),a===l&&f()}function e(){D("onend"),a.end()}function f(){D("cleanup"),a.removeListener("close",i),a.removeListener("finish",j),a.removeListener("drain",q),a.removeListener("error",h),a.removeListener("unpipe",d),l.removeListener("end",e),l.removeListener("end",f),l.removeListener("data",g),!m.awaitDrain||a._writableState&&!a._writableState.needDrain||q()}function g(b){D("ondata");var c=a.write(b);!1===c&&(D("false write response, pause",l._readableState.awaitDrain),l._readableState.awaitDrain++,l.pause())}function h(b){D("onerror",b),k(),a.removeListener("error",h),0===z.listenerCount(a,"error")&&a.emit("error",b)}function i(){a.removeListener("finish",j),k()}function j(){D("onfinish"),a.removeListener("close",i),k()}function k(){D("unpipe"),l.unpipe(a)}var l=this,m=this._readableState;switch(m.pipesCount){case 0:m.pipes=a;break;case 1:m.pipes=[m.pipes,a];break;default:m.pipes.push(a)}m.pipesCount+=1,D("pipe count=%d opts=%j",m.pipesCount,c);var n=(!c||c.end!==!1)&&a!==b.stdout&&a!==b.stderr,o=n?e:f;m.endEmitted?b.nextTick(o):l.once("end",o),a.on("unpipe",d);var q=p(l);return a.on("drain",q),l.on("data",g),a._events&&a._events.error?x(a._events.error)?a._events.error.unshift(h):a._events.error=[h,a._events.error]:a.on("error",h),a.once("close",i),a.once("finish",j),a.emit("pipe",l),m.flowing||(D("pipe resume"),l.resume()),a},e.prototype.unpipe=function(a){var b=this._readableState;if(0===b.pipesCount)return this;if(1===b.pipesCount)return a&&a!==b.pipes?this:(a||(a=b.pipes),b.pipes=null,b.pipesCount=0,b.flowing=!1,a&&a.emit("unpipe",this),this);if(!a){var c=b.pipes,d=b.pipesCount;b.pipes=null,b.pipesCount=0,b.flowing=!1;for(var e=0;e<d;e++)c[e].emit("unpipe",this);return this}var e=w(b.pipes,a);return e===-1?this:(b.pipes.splice(e,1),b.pipesCount-=1,1===b.pipesCount&&(b.pipes=b.pipes[0]),a.emit("unpipe",this),this)},e.prototype.on=function(a,c){var d=A.prototype.on.call(this,a,c);if("data"===a&&!1!==this._readableState.flowing&&this.resume(),"readable"===a&&this.readable){var e=this._readableState;if(!e.readableListening)if(e.readableListening=!0,e.emittedReadable=!1,e.needReadable=!0,e.reading)e.length&&l(this,e);else{var f=this;b.nextTick(function(){D("readable nexttick read 0"),f.read(0)})}}return d},e.prototype.addListener=e.prototype.on,e.prototype.resume=function(){var a=this._readableState;return a.flowing||(D("resume"),a.flowing=!0,a.reading||(D("resume read 0"),this.read(0)),q(this,a)),this},e.prototype.pause=function(){return D("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(D("pause"),this._readableState.flowing=!1,this.emit("pause")),this},e.prototype.wrap=function(a){var b=this._readableState,c=!1,d=this;a.on("end",function(){if(D("wrapped end"),b.decoder&&!b.ended){var a=b.decoder.end();a&&a.length&&d.push(a)}d.push(null)}),a.on("data",function(e){if(D("wrapped data"),b.decoder&&(e=b.decoder.write(e)),e&&(b.objectMode||e.length)){var f=d.push(e);f||(c=!0,a.pause())}});for(var e in a)B.isFunction(a[e])&&B.isUndefined(this[e])&&(this[e]=function(b){return function(){return a[b].apply(a,arguments)}}(e));var f=["error","close","destroy","pause","resume"];return v(f,function(b){a.on(b,d.emit.bind(d,b))}),d._read=function(b){D("wrapped _read",b),c&&(c=!1,a.resume())},d},e._fromList=t}).call(b,c(27))},function(a,b){a.exports=Array.isArray||function(a){return"[object Array]"==Object.prototype.toString.call(a)}},function(a,b,c){(function(a){function c(a){return Array.isArray?Array.isArray(a):"[object Array]"===q(a)}function d(a){return"boolean"==typeof a}function e(a){return null===a}function f(a){return null==a}function g(a){return"number"==typeof a}function h(a){return"string"==typeof a}function i(a){return"symbol"==typeof a}function j(a){return void 0===a}function k(a){return"[object RegExp]"===q(a)}function l(a){return"object"==typeof a&&null!==a}function m(a){return"[object Date]"===q(a)}function n(a){return"[object Error]"===q(a)||a instanceof Error}function o(a){return"function"==typeof a}function p(a){return null===a||"boolean"==typeof a||"number"==typeof a||"string"==typeof a||"symbol"==typeof a||"undefined"==typeof a}function q(a){return Object.prototype.toString.call(a)}b.isArray=c,b.isBoolean=d,b.isNull=e,b.isNullOrUndefined=f,b.isNumber=g,b.isString=h,b.isSymbol=i,b.isUndefined=j,b.isRegExp=k,b.isObject=l,b.isDate=m,b.isError=n,b.isFunction=o,b.isPrimitive=p,b.isBuffer=a.isBuffer}).call(b,c(15).Buffer)},21,function(a,b,c){(function(b){function d(a){return this instanceof d?(i.call(this,a),j.call(this,a),a&&a.readable===!1&&(this.readable=!1),a&&a.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,a&&a.allowHalfOpen===!1&&(this.allowHalfOpen=!1),void this.once("end",e)):new d(a)}function e(){this.allowHalfOpen||this._writableState.ended||b.nextTick(this.end.bind(this))}function f(a,b){for(var c=0,d=a.length;c<d;c++)b(a[c],c)}a.exports=d;var g=Object.keys||function(a){var b=[];for(var c in a)b.push(c);return b},h=c(80);h.inherits=c(76);var i=c(78),j=c(83);h.inherits(d,i),f(g(j.prototype),function(a){d.prototype[a]||(d.prototype[a]=j.prototype[a])})}).call(b,c(27))},function(a,b,c){(function(b){function d(a,b,c){this.chunk=a,this.encoding=b,this.callback=c}function e(a,b){var d=c(82);a=a||{};var e=a.highWaterMark,f=a.objectMode?16:16384;this.highWaterMark=e||0===e?e:f,this.objectMode=!!a.objectMode,b instanceof d&&(this.objectMode=this.objectMode||!!a.writableObjectMode),this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var g=a.decodeStrings===!1;this.decodeStrings=!g,this.defaultEncoding=a.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){n(b,a)},this.writecb=null,this.writelen=0,this.buffer=[],this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1}function f(a){var b=c(82);return this instanceof f||this instanceof b?(this._writableState=new e(a,this),this.writable=!0,void x.call(this)):new f(a)}function g(a,c,d){var e=new Error("write after end");a.emit("error",e),b.nextTick(function(){d(e)})}function h(a,c,d,e){var f=!0;if(!(w.isBuffer(d)||w.isString(d)||w.isNullOrUndefined(d)||c.objectMode)){var g=new TypeError("Invalid non-string/buffer chunk");a.emit("error",g),b.nextTick(function(){e(g)}),f=!1}return f}function i(a,b,c){return!a.objectMode&&a.decodeStrings!==!1&&w.isString(b)&&(b=new v(b,c)),b}function j(a,b,c,e,f){c=i(b,c,e),w.isBuffer(c)&&(e="buffer");var g=b.objectMode?1:c.length;b.length+=g;var h=b.length<b.highWaterMark;return h||(b.needDrain=!0),b.writing||b.corked?b.buffer.push(new d(c,e,f)):k(a,b,!1,g,c,e,f),h}function k(a,b,c,d,e,f,g){b.writelen=d,b.writecb=g,b.writing=!0,b.sync=!0,c?a._writev(e,b.onwrite):a._write(e,f,b.onwrite),b.sync=!1}function l(a,c,d,e,f){d?b.nextTick(function(){c.pendingcb--,f(e)}):(c.pendingcb--,f(e)),a._writableState.errorEmitted=!0,a.emit("error",e)}function m(a){a.writing=!1,a.writecb=null,a.length-=a.writelen,a.writelen=0}function n(a,c){var d=a._writableState,e=d.sync,f=d.writecb;if(m(d),c)l(a,d,e,c,f);else{var g=r(a,d);g||d.corked||d.bufferProcessing||!d.buffer.length||q(a,d),e?b.nextTick(function(){o(a,d,g,f)}):o(a,d,g,f)}}function o(a,b,c,d){c||p(a,b),b.pendingcb--,d(),t(a,b)}function p(a,b){0===b.length&&b.needDrain&&(b.needDrain=!1,a.emit("drain"))}function q(a,b){if(b.bufferProcessing=!0,a._writev&&b.buffer.length>1){for(var c=[],d=0;d<b.buffer.length;d++)c.push(b.buffer[d].callback);b.pendingcb++,k(a,b,!0,b.length,b.buffer,"",function(a){for(var d=0;d<c.length;d++)b.pendingcb--,c[d](a)}),b.buffer=[]}else{for(var d=0;d<b.buffer.length;d++){var e=b.buffer[d],f=e.chunk,g=e.encoding,h=e.callback,i=b.objectMode?1:f.length;if(k(a,b,!1,i,f,g,h),b.writing){d++;break}}d<b.buffer.length?b.buffer=b.buffer.slice(d):b.buffer.length=0}b.bufferProcessing=!1}function r(a,b){return b.ending&&0===b.length&&!b.finished&&!b.writing}function s(a,b){b.prefinished||(b.prefinished=!0,a.emit("prefinish"))}function t(a,b){var c=r(a,b);return c&&(0===b.pendingcb?(s(a,b),b.finished=!0,a.emit("finish")):s(a,b)),c}function u(a,c,d){c.ending=!0,t(a,c),d&&(c.finished?b.nextTick(d):a.once("finish",d)),c.ended=!0}a.exports=f;var v=c(15).Buffer;f.WritableState=e;var w=c(80);w.inherits=c(76);var x=c(75);w.inherits(f,x),f.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe. Not readable."))},f.prototype.write=function(a,b,c){var d=this._writableState,e=!1;return w.isFunction(b)&&(c=b,b=null),w.isBuffer(a)?b="buffer":b||(b=d.defaultEncoding),w.isFunction(c)||(c=function(){}),d.ended?g(this,d,c):h(this,d,a,c)&&(d.pendingcb++,e=j(this,d,a,b,c)),e},f.prototype.cork=function(){var a=this._writableState;a.corked++},f.prototype.uncork=function(){var a=this._writableState;a.corked&&(a.corked--,a.writing||a.corked||a.finished||a.bufferProcessing||!a.buffer.length||q(this,a))},f.prototype._write=function(a,b,c){c(new Error("not implemented"))},f.prototype._writev=null,f.prototype.end=function(a,b,c){var d=this._writableState;w.isFunction(a)?(c=a,a=null,b=null):w.isFunction(b)&&(c=b,b=null),w.isNullOrUndefined(a)||this.write(a,b),d.corked&&(d.corked=1,this.uncork()),d.ending||d.finished||u(this,d,c)}}).call(b,c(27))},function(a,b,c){function d(a){if(a&&!i(a))throw new Error("Unknown encoding: "+a)}function e(a){return a.toString(this.encoding)}function f(a){this.charReceived=a.length%2,this.charLength=this.charReceived?2:0}function g(a){this.charReceived=a.length%3,this.charLength=this.charReceived?3:0}var h=c(15).Buffer,i=h.isEncoding||function(a){switch(a&&a.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},j=b.StringDecoder=function(a){switch(this.encoding=(a||"utf8").toLowerCase().replace(/[-_]/,""),d(a),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=f;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=g;break;default:return void(this.write=e)}this.charBuffer=new h(6),this.charReceived=0,this.charLength=0};j.prototype.write=function(a){for(var b="";this.charLength;){var c=a.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:a.length;if(a.copy(this.charBuffer,this.charReceived,0,c),this.charReceived+=c,this.charReceived<this.charLength)return"";a=a.slice(c,a.length),b=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var d=b.charCodeAt(b.length-1);if(!(d>=55296&&d<=56319)){if(this.charReceived=this.charLength=0,0===a.length)return b;break}this.charLength+=this.surrogateSize,b=""}this.detectIncompleteChar(a);var e=a.length;this.charLength&&(a.copy(this.charBuffer,0,a.length-this.charReceived,e),e-=this.charReceived),b+=a.toString(this.encoding,0,e);var e=b.length-1,d=b.charCodeAt(e);if(d>=55296&&d<=56319){var f=this.surrogateSize;return this.charLength+=f,this.charReceived+=f,this.charBuffer.copy(this.charBuffer,f,0,f),a.copy(this.charBuffer,0,0,f),b.substring(0,e)}return b},j.prototype.detectIncompleteChar=function(a){for(var b=a.length>=3?3:a.length;b>0;b--){var c=a[a.length-b];if(1==b&&c>>5==6){this.charLength=2;break}if(b<=2&&c>>4==14){this.charLength=3;break}if(b<=3&&c>>3==30){this.charLength=4;break}}this.charReceived=b},j.prototype.end=function(a){var b="";if(a&&a.length&&(b=this.write(a)),this.charReceived){var c=this.charReceived,d=this.charBuffer,e=this.encoding;b+=d.slice(0,c).toString(e)}return b}},function(a,b,c){function d(a,b){this.afterTransform=function(a,c){return e(b,a,c)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null}function e(a,b,c){var d=a._transformState;d.transforming=!1;var e=d.writecb;if(!e)return a.emit("error",new Error("no writecb in Transform class"));d.writechunk=null,d.writecb=null,i.isNullOrUndefined(c)||a.push(c),e&&e(b);var f=a._readableState;f.reading=!1,(f.needReadable||f.length<f.highWaterMark)&&a._read(f.highWaterMark)}function f(a){if(!(this instanceof f))return new f(a);h.call(this,a),this._transformState=new d(a,this);var b=this;this._readableState.needReadable=!0,this._readableState.sync=!1,this.once("prefinish",function(){i.isFunction(this._flush)?this._flush(function(a){g(b,a)}):g(b)})}function g(a,b){if(b)return a.emit("error",b);var c=a._writableState,d=a._transformState;if(c.length)throw new Error("calling transform done when ws.length != 0");if(d.transforming)throw new Error("calling transform done when still transforming");return a.push(null)}a.exports=f;var h=c(82),i=c(80);i.inherits=c(76),i.inherits(f,h),f.prototype.push=function(a,b){return this._transformState.needTransform=!1,h.prototype.push.call(this,a,b)},f.prototype._transform=function(a,b,c){throw new Error("not implemented")},f.prototype._write=function(a,b,c){var d=this._transformState;if(d.writecb=c,d.writechunk=a,d.writeencoding=b,!d.transforming){var e=this._readableState;(d.needTransform||e.needReadable||e.length<e.highWaterMark)&&this._read(e.highWaterMark)}},f.prototype._read=function(a){var b=this._transformState;i.isNull(b.writechunk)||!b.writecb||b.transforming?b.needTransform=!0:(b.transforming=!0,this._transform(b.writechunk,b.writeencoding,b.afterTransform))}},function(a,b,c){function d(a){return this instanceof d?void e.call(this,a):new d(a)}a.exports=d;var e=c(85),f=c(80);f.inherits=c(76),f.inherits(d,e),d.prototype._transform=function(a,b,c){c(null,a)}},function(a,b,c){a.exports=c(83)},function(a,b,c){a.exports=c(82)},function(a,b,c){a.exports=c(85)},function(a,b,c){a.exports=c(86)},function(a,b,c){function d(a){for(var b=a.getAllResponseHeaders().split(/\r?\n/),c={},d=0;d<b.length;d++){var e=b[d];if(""!==e){var f=e.match(/^([^:]+):\s*(.*)/);if(f){var g=f[1].toLowerCase(),i=f[2];void 0!==c[g]?h(c[g])?c[g].push(i):c[g]=[c[g],i]:c[g]=i}else c[e]=!0}}return c}var e=c(75),f=c(26),Response=a.exports=function(a){this.offset=0,this.readable=!0};f.inherits(Response,e);var g={streaming:!0,status2:!0};Response.prototype.getResponse=function(a){var b=String(a.responseType).toLowerCase();return"blob"===b?a.responseBlob||a.response:"arraybuffer"===b?a.response:a.responseText},Response.prototype.getHeader=function(a){return this.headers[a.toLowerCase()]},Response.prototype.handle=function(a){if(2===a.readyState&&g.status2){try{this.statusCode=a.status,this.headers=d(a)}catch(b){g.status2=!1}g.status2&&this.emit("ready")}else if(g.streaming&&3===a.readyState){try{this.statusCode||(this.statusCode=a.status,this.headers=d(a),this.emit("ready"))}catch(b){}try{this._emitData(a)}catch(b){g.streaming=!1}}else 4===a.readyState&&(this.statusCode||(this.statusCode=a.status,this.emit("ready")),this._emitData(a),a.error?this.emit("error",this.getResponse(a)):this.emit("end"),this.emit("close"))},Response.prototype._emitData=function(a){var b=this.getResponse(a);return b.toString().match(/ArrayBuffer/)?(this.emit("data",new Uint8Array(b,this.offset)),void(this.offset=b.byteLength)):void(b.length>this.offset&&(this.emit("data",b.slice(this.offset)),this.offset=b.length))};var h=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},function(a,b,c){!function(){function a(a){this.message=a}var c=b,d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";a.prototype=new Error,a.prototype.name="InvalidCharacterError",c.btoa||(c.btoa=function(b){for(var c,e,f=0,g=d,h="";b.charAt(0|f)||(g="=",f%1);h+=g.charAt(63&c>>8-f%1*8)){if(e=b.charCodeAt(f+=.75),e>255)throw new a("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");c=c<<8|e}return h}),c.atob||(c.atob=function(b){if(b=b.replace(/=+$/,""),b.length%4==1)throw new a("'atob' failed: The string to be decoded is not correctly encoded.");for(var c,e,f=0,g=0,h="";e=b.charAt(g++);~e&&(c=f%4?64*c+e:e,f++%4)?h+=String.fromCharCode(255&c>>(-2*f&6)):0)e=d.indexOf(e);return h})}()},function(a,b,c){"use strict";a.exports=function(){function a(a){return a&&"function"==typeof a.then&&"function"==typeof a["catch"]}var b=c(94);return function(c,d){return function(){for(var e=arguments.length,f=Array(e),g=0;g<e;g++)f[g]=arguments[g];var h=d&&d.multiArgs,i=void 0;return d&&d.thisArg?i=d.thisArg:d&&(i=d),new b(function(b,d){f.push(function(a){if(a)return d(a);for(var c=arguments.length,e=Array(c>1?c-1:0),f=1;f<c;f++)e[f-1]=arguments[f];return!1==!!h?b(e[0]):void b(e)});var e=c.apply(i,f);a(e)&&b(e)})}}}()},function(a,b,c){(function(b){"use strict";a.exports=function(){function a(a){return"function"==typeof a}var d=void 0;d=void 0!==b?b:void 0!==window&&window.document?window:self;var e=function(){if(!d.hasOwnProperty("Promise"))return!1;var b=d.Promise;return!(!b.hasOwnProperty("resolve")||!b.hasOwnProperty("reject"))&&(!(!b.hasOwnProperty("all")||!b.hasOwnProperty("race"))&&function(){var b=void 0,c=new d.Promise(function(a){b=a});return!!c&&a(b)}())}();return e?d.Promise:c(95).Promise}()}).call(b,function(){return this}())},function(a,b,c){(function(b,d){!function(b,c){a.exports=c()}(this,function(){"use strict";function a(a){var b=typeof a;return null!==a&&("object"===b||"function"===b)}function e(a){return"function"==typeof a}function f(a){X=a}function g(a){Y=a}function h(){return function(){return b.nextTick(m)}}function i(){return"undefined"!=typeof W?function(){W(m)}:l()}function j(){var a=0,b=new _(m),c=document.createTextNode("");return b.observe(c,{characterData:!0}),function(){c.data=a=++a%2}}function k(){var a=new MessageChannel;return a.port1.onmessage=m,function(){return a.port2.postMessage(0)}}function l(){var a=setTimeout;return function(){return a(m,1)}}function m(){for(var a=0;a<V;a+=2){var b=ca[a],c=ca[a+1];b(c),ca[a]=void 0,ca[a+1]=void 0}V=0}function n(){try{var a=c(96);return W=a.runOnLoop||a.runOnContext,i()}catch(b){return l()}}function o(a,b){var c=arguments,d=this,e=new this.constructor(q);void 0===e[ea]&&J(e);var f=d._state;return f?!function(){var a=c[f-1];Y(function(){return G(f,e,a,d._result)})}():C(d,e,a,b),e}function p(a){var b=this;if(a&&"object"==typeof a&&a.constructor===b)return a;var c=new b(q);return y(c,a),c}function q(){}function r(){return new TypeError("You cannot resolve a promise with itself")}function s(){return new TypeError("A promises callback cannot return that same promise.")}function t(a){try{return a.then}catch(b){return ia.error=b,ia}}function u(a,b,c,d){try{a.call(b,c,d)}catch(e){return e}}function v(a,b,c){Y(function(a){var d=!1,e=u(c,b,function(c){d||(d=!0,b!==c?y(a,c):A(a,c))},function(b){d||(d=!0,B(a,b))},"Settle: "+(a._label||" unknown promise"));!d&&e&&(d=!0,B(a,e))},a)}function w(a,b){b._state===ga?A(a,b._result):b._state===ha?B(a,b._result):C(b,void 0,function(b){return y(a,b)},function(b){return B(a,b)})}function x(a,b,c){b.constructor===a.constructor&&c===o&&b.constructor.resolve===p?w(a,b):c===ia?(B(a,ia.error),ia.error=null):void 0===c?A(a,b):e(c)?v(a,b,c):A(a,b)}function y(b,c){b===c?B(b,r()):a(c)?x(b,c,t(c)):A(b,c)}function z(a){a._onerror&&a._onerror(a._result),D(a)}function A(a,b){a._state===fa&&(a._result=b,a._state=ga,0!==a._subscribers.length&&Y(D,a))}function B(a,b){a._state===fa&&(a._state=ha,a._result=b,Y(z,a))}function C(a,b,c,d){var e=a._subscribers,f=e.length;a._onerror=null,e[f]=b,e[f+ga]=c,e[f+ha]=d,0===f&&a._state&&Y(D,a)}function D(a){var b=a._subscribers,c=a._state;if(0!==b.length){for(var d=void 0,e=void 0,f=a._result,g=0;g<b.length;g+=3)d=b[g],e=b[g+c],d?G(c,d,e,f):e(f);a._subscribers.length=0}}function E(){this.error=null}function F(a,b){try{return a(b)}catch(c){return ja.error=c,ja}}function G(a,b,c,d){var f=e(c),g=void 0,h=void 0,i=void 0,j=void 0;if(f){if(g=F(c,d),g===ja?(j=!0,h=g.error,g.error=null):i=!0,b===g)return void B(b,s())}else g=d,i=!0;b._state!==fa||(f&&i?y(b,g):j?B(b,h):a===ga?A(b,g):a===ha&&B(b,g))}function H(a,b){try{b(function(b){y(a,b)},function(b){B(a,b)})}catch(c){B(a,c)}}function I(){return ka++}function J(a){a[ea]=ka++,a._state=void 0,a._result=void 0,a._subscribers=[]}function K(a,b){this._instanceConstructor=a,this.promise=new a(q),this.promise[ea]||J(this.promise),U(b)?(this.length=b.length,this._remaining=b.length,this._result=new Array(this.length),0===this.length?A(this.promise,this._result):(this.length=this.length||0,this._enumerate(b),0===this._remaining&&A(this.promise,this._result))):B(this.promise,L())}function L(){return new Error("Array Methods must be provided an Array")}function M(a){return new K(this,a).promise}function N(a){var b=this;return new b(U(a)?function(c,d){for(var e=a.length,f=0;f<e;f++)b.resolve(a[f]).then(c,d)}:function(a,b){return b(new TypeError("You must pass an array to race."))})}function O(a){var b=this,c=new b(q);return B(c,a),c}function P(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function Q(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function R(a){this[ea]=I(),this._result=this._state=void 0,this._subscribers=[],q!==a&&("function"!=typeof a&&P(),this instanceof R?H(this,a):Q())}function S(){var a=void 0;if("undefined"!=typeof d)a=d;else if("undefined"!=typeof self)a=self;else try{a=Function("return this")()}catch(b){throw new Error("polyfill failed because global object is unavailable in this environment")}var c=a.Promise;if(c){var e=null;try{e=Object.prototype.toString.call(c.resolve())}catch(b){}if("[object Promise]"===e&&!c.cast)return}a.Promise=R}var T=void 0;T=Array.isArray?Array.isArray:function(a){return"[object Array]"===Object.prototype.toString.call(a)};var U=T,V=0,W=void 0,X=void 0,Y=function(a,b){ca[V]=a,ca[V+1]=b,V+=2,2===V&&(X?X(m):da())},Z="undefined"!=typeof window?window:void 0,$=Z||{},_=$.MutationObserver||$.WebKitMutationObserver,aa="undefined"==typeof self&&"undefined"!=typeof b&&"[object process]"==={}.toString.call(b),ba="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,ca=new Array(1e3),da=void 0;da=aa?h():_?j():ba?k():void 0===Z?n():l();var ea=Math.random().toString(36).substring(16),fa=void 0,ga=1,ha=2,ia=new E,ja=new E,ka=0;return K.prototype._enumerate=function(a){for(var b=0;this._state===fa&&b<a.length;b++)this._eachEntry(a[b],b)},K.prototype._eachEntry=function(a,b){var c=this._instanceConstructor,d=c.resolve;if(d===p){var e=t(a);if(e===o&&a._state!==fa)this._settledAt(a._state,b,a._result);else if("function"!=typeof e)this._remaining--,this._result[b]=a;else if(c===R){var f=new c(q);x(f,a,e),this._willSettleAt(f,b)}else this._willSettleAt(new c(function(b){return b(a)}),b)}else this._willSettleAt(d(a),b)},K.prototype._settledAt=function(a,b,c){var d=this.promise;d._state===fa&&(this._remaining--,a===ha?B(d,c):this._result[b]=c),0===this._remaining&&A(d,this._result)},K.prototype._willSettleAt=function(a,b){var c=this;C(a,void 0,function(a){return c._settledAt(ga,b,a)},function(a){return c._settledAt(ha,b,a)})},R.all=M,R.race=N,R.resolve=p,R.reject=O,R._setScheduler=f,R._setAsap=g,R._asap=Y,R.prototype={constructor:R,then:o,"catch":function(a){return this.then(null,a)}},R.polyfill=S,R.Promise=R,R})}).call(b,c(27),function(){return this}())},21,function(a,b,c){(function(d){function e(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type)||("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))}function f(a){var c=this.useColors;if(a[0]=(c?"%c":"")+this.namespace+(c?" %c":" ")+a[0]+(c?"%c ":" ")+"+"+b.humanize(this.diff),c){var d="color: "+this.color;a.splice(1,0,d,"color: inherit");var e=0,f=0;a[0].replace(/%[a-zA-Z%]/g,function(a){"%%"!==a&&(e++,"%c"===a&&(f=e))}),a.splice(f,0,d)}}function g(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function h(a){try{null==a?b.storage.removeItem("debug"):b.storage.debug=a}catch(c){}}function i(){var a;try{a=b.storage.debug}catch(c){}return!a&&"undefined"!=typeof d&&"env"in d&&(a=d.env.DEBUG),a}function j(){try{return window.localStorage}catch(a){}}b=a.exports=c(98),b.log=g,b.formatArgs=f,b.save=h,b.load=i,b.useColors=e,b.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:j(),b.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],b.formatters.j=function(a){try{return JSON.stringify(a)}catch(b){return"[UnexpectedJSONParseError]: "+b.message}},b.enable(i())}).call(b,c(27))},function(a,b,c){function d(a){var c,d=0;for(c in a)d=(d<<5)-d+a.charCodeAt(c),d|=0;return b.colors[Math.abs(d)%b.colors.length]}function e(a){function c(){if(c.enabled){var a=c,d=+new Date,e=d-(j||d);a.diff=e,a.prev=j,a.curr=d,j=d;for(var f=new Array(arguments.length),g=0;g<f.length;g++)f[g]=arguments[g];f[0]=b.coerce(f[0]),"string"!=typeof f[0]&&f.unshift("%O");var h=0;f[0]=f[0].replace(/%([a-zA-Z%])/g,function(c,d){if("%%"===c)return c;h++;var e=b.formatters[d];if("function"==typeof e){var g=f[h];c=e.call(a,g),f.splice(h,1),h--}return c}),b.formatArgs.call(a,f);var i=c.log||b.log||console.log.bind(console);i.apply(a,f)}}return c.namespace=a,c.enabled=b.enabled(a),c.useColors=b.useColors(),c.color=d(a),"function"==typeof b.init&&b.init(c),c}function f(a){b.save(a),b.names=[],b.skips=[];for(var c=("string"==typeof a?a:"").split(/[\s,]+/),d=c.length,e=0;e<d;e++)c[e]&&(a=c[e].replace(/\*/g,".*?"),"-"===a[0]?b.skips.push(new RegExp("^"+a.substr(1)+"$")):b.names.push(new RegExp("^"+a+"$")))}function g(){b.enable("")}function h(a){var c,d;for(c=0,d=b.skips.length;c<d;c++)if(b.skips[c].test(a))return!1;for(c=0,d=b.names.length;c<d;c++)if(b.names[c].test(a))return!0;return!1}function i(a){return a instanceof Error?a.stack||a.message:a}b=a.exports=e.debug=e["default"]=e,b.coerce=i,b.disable=g,b.enable=f,b.enabled=h,b.humanize=c(99),b.names=[],b.skips=[],b.formatters={};var j},function(a,b){function c(a){if(a=String(a),!(a.length>100)){var b=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(a);if(b){var c=parseFloat(b[1]),d=(b[2]||"ms").toLowerCase();switch(d){case"years":case"year":case"yrs":case"yr":case"y":return c*k;case"days":case"day":case"d":return c*j;case"hours":case"hour":case"hrs":case"hr":case"h":return c*i;case"minutes":case"minute":case"mins":case"min":case"m":return c*h;case"seconds":case"second":case"secs":case"sec":case"s":return c*g;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return c;default:return}}}}function d(a){return a>=j?Math.round(a/j)+"d":a>=i?Math.round(a/i)+"h":a>=h?Math.round(a/h)+"m":a>=g?Math.round(a/g)+"s":a+"ms"}function e(a){return f(a,j,"day")||f(a,i,"hour")||f(a,h,"minute")||f(a,g,"second")||a+" ms"}function f(a,b,c){if(!(a<b))return a<1.5*b?Math.floor(a/b)+" "+c:Math.ceil(a/b)+" "+c+"s"}var g=1e3,h=60*g,i=60*h,j=24*i,k=365.25*j;a.exports=function(a,b){b=b||{};var f=typeof a;if("string"===f&&a.length>0)return c(a);
if("number"===f&&isNaN(a)===!1)return b["long"]?e(a):d(a);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(a))}},function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),e=function(){function a(b){c(this,a),this.events={},this.state=b}return d(a,[{key:"on",value:function(a,b){this.events[a]||(this.events[a]=[]);var c=this.getListeners(a).indexOf(b);return c===-1&&(this.events[a]=this.getListeners(a),this.events[a].push(b)),this}},{key:"getListeners",value:function(a){return this.events[a]||[]}},{key:"off",value:function(a,b){var c=this.getListeners(a).indexOf(b);return c>-1&&this.events[a].splice(c,1),this}},{key:"setState",value:function(a,b){this.state=a,this.fire(a,b)}},{key:"setStateSilent",value:function(a){this.state=a}},{key:"fire",value:function(a,b){var c=this,d=this.events[a];d&&d.forEach(function(d){try{d.call(c,b)}catch(e){console.log("Error in '"+a+"' handler: "+e),e.stack&&console.log(e.stack)}})}},{key:"isState",value:function(a){return this.state==a}}]),a}();a.exports=e},function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function f(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),h=(c(1),c(100)),i=c(43),j=c(39),k=c(102),l=202,m=160,n=320,o=function(a){function b(a){d(this,b);var c=e(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,"ready"));return c.framePtr=0,c.sampleRate=a||16e3,c.framesize=c.sampleRate<16e3?m:n,c.frameHeapPtr=new Int16Array(j.HEAP16.buffer,j._malloc(2*c.framesize),c.framesize),c.outBytesHeapPtr=new Uint8Array(j.HEAPU8.buffer,j._malloc(l),l),c}return f(b,a),g(b,[{key:"process",value:function(a){for(var b=this.sampleRate<16e3,c=new k.Resampler(this.sampleRate,b?8e3:16e3,1,a.length,(!0)),d=c.resampler(a),e=c.outputBuffer,f=0;f<d;f++){if(this.framePtr==this.framesize){this.framePtr=0;var g=i.encodeFrame(this.frameHeapPtr.byteOffset,this.outBytesHeapPtr.byteOffset,b),h=this.outBytesHeapPtr.byteOffset,j=this.outBytesHeapPtr.byteOffset+g+2,l=this.outBytesHeapPtr.buffer.slice(h,j),m=new Uint8Array(l);this.fire("frame",m)}var n=4===a.BYTES_PER_ELEMENT;this.frameHeapPtr[this.framePtr++]=n?32768*e[f]:e[f]}}},{key:"free",value:function(){this.frameHeapPtr&&this.outBytesHeapPtr&&(j._free(this.frameHeapPtr.byteOffset),j._free(this.outBytesHeapPtr.byteOffset))}}]),b}(h);a.exports=o},function(a,b){"use strict";function c(a,b,c,d,e){this.fromSampleRate=a,this.toSampleRate=b,this.channels=0|c,this.outputBufferSize=d,this.noReturn=!!e,this.initialize()}function d(a,b,c,d,e,f){this.audioChannels=2==a?2:1,z=1==this.audioChannels,y=b>0&&b<=16777215?b:44100,v=c>=n<<1&&c<d?c&(z?4294967295:4294967294):n<<1,w=Math.floor(d)>v+this.audioChannels?d&(z?4294967295:4294967294):c<<1,this.underRunCallback="function"==typeof e?e:function(){},A=f>=-1&&f<=1&&0!=f?f:0,this.audioType=-1,this.mozAudioTail=[],this.audioHandleMoz=null,this.audioHandleFlash=null,this.flashInitialized=!1,this.mozAudioFound=!1,this.initializeAudio()}function e(a){try{var b=new Float32Array(a)}catch(c){var b=new Array(a)}for(var d=0;d<a;++d)b[d]=A*(d/a);return b}function f(a){try{var b=new Float32Array(a)}catch(c){var b=new Array(a),d=0;do b[d]=0;while(++d<a)}return b}function g(){for(var a="",b="",c=0;c<n&&D!=E;++c)a+=String.fromCharCode((16383*Math.min(Math.max(u[D++]+1,0),2)|0)+12288),b+=String.fromCharCode((16383*Math.min(Math.max(u[D++]+1,0),2)|0)+12288),D==F&&(D=0);return a+b}function h(){for(var a="",b=0;b<n&&D!=E;++b)a+=String.fromCharCode((16383*Math.min(Math.max(u[D++]+1,0),2)|0)+12288),D==F&&(D=0);return a}function i(a){var b=0,c=a.outputBuffer.getChannelData(0),d=a.outputBuffer.getChannelData(1);if(j(),z)for(;b<n&&D!=E;)d[b]=c[b]=u[D++],++b,D==F&&(D=0);else for(;b<n&&D!=E;)c[b]=u[D++],d[b++]=u[D++],D==F&&(D=0);for(;b<n;)d[b]=c[b]=A,++b}function j(){if(C>0){for(var a=B.resampler(l()),b=B.outputBuffer,c=0;c<a;++c)u[E++]=b[c],E==F&&(E=0),D==E&&(++D,D==F&&(D=0));C=0}}function k(){return(D<=E?0:F)+E-D}function l(){try{return t.subarray(0,C)}catch(a){try{return t.length=C,t}catch(a){return t.slice(0,C)}}}function m(a,b){t=e(w),C=w,D=0,E=0,F=Math.max(w*Math.ceil(y/a),n)<<1,z?(u=f(F),B=new c(y,a,1,F,(!0)),o=h):(F<<=1,u=f(F),B=new c(y,a,2,F,(!0)),o=g)}c.prototype.initialize=function(){if(!(this.fromSampleRate>0&&this.toSampleRate>0&&this.channels>0))throw new Error("Invalid settings specified for the resampler.");this.fromSampleRate==this.toSampleRate?(this.resampler=this.bypassResampler,this.ratioWeight=1):(this.compileInterpolationFunction(),this.resampler=this.interpolate,this.ratioWeight=this.fromSampleRate/this.toSampleRate,this.tailExists=!1,this.lastWeight=0,this.initializeBuffers())},c.prototype.compileInterpolationFunction=function(){for(var a="var bufferLength = Math.min(buffer.length, this.outputBufferSize);\t\tif ((bufferLength % "+this.channels+") == 0) {\t\t\tif (bufferLength > 0) {\t\t\t\tvar ratioWeight = this.ratioWeight;\t\t\t\tvar weight = 0;",b=0;b<this.channels;++b)a+="var output"+b+" = 0;";for(a+="var actualPosition = 0;\t\t\t\tvar amountToNext = 0;\t\t\t\tvar alreadyProcessedTail = !this.tailExists;\t\t\t\tthis.tailExists = false;\t\t\t\tvar outputBuffer = this.outputBuffer;\t\t\t\tvar outputOffset = 0;\t\t\t\tvar currentPosition = 0;\t\t\t\tdo {\t\t\t\t\tif (alreadyProcessedTail) {\t\t\t\t\t\tweight = ratioWeight;",b=0;b<this.channels;++b)a+="output"+b+" = 0;";for(a+="}\t\t\t\t\telse {\t\t\t\t\t\tweight = this.lastWeight;",b=0;b<this.channels;++b)a+="output"+b+" = this.lastOutput["+b+"];";for(a+="alreadyProcessedTail = true;\t\t\t\t\t}\t\t\t\t\twhile (weight > 0 && actualPosition < bufferLength) {\t\t\t\t\t\tamountToNext = 1 + actualPosition - currentPosition;\t\t\t\t\t\tif (weight >= amountToNext) {",b=0;b<this.channels;++b)a+="output"+b+" += buffer[actualPosition++] * amountToNext;";for(a+="currentPosition = actualPosition;\t\t\t\t\t\t\tweight -= amountToNext;\t\t\t\t\t\t}\t\t\t\t\t\telse {",b=0;b<this.channels;++b)a+="output"+b+" += buffer[actualPosition"+(b>0?" + "+b:"")+"] * weight;";for(a+="currentPosition += weight;\t\t\t\t\t\t\tweight = 0;\t\t\t\t\t\t\tbreak;\t\t\t\t\t\t}\t\t\t\t\t}\t\t\t\t\tif (weight == 0) {",b=0;b<this.channels;++b)a+="outputBuffer[outputOffset++] = output"+b+" / ratioWeight;";for(a+="}\t\t\t\t\telse {\t\t\t\t\t\tthis.lastWeight = weight;",b=0;b<this.channels;++b)a+="this.lastOutput["+b+"] = output"+b+";";a+='this.tailExists = true;\t\t\t\t\t\tbreak;\t\t\t\t\t}\t\t\t\t} while (actualPosition < bufferLength);\t\t\t\treturn this.bufferSlice(outputOffset);\t\t\t}\t\t\telse {\t\t\t\treturn (this.noReturn) ? 0 : [];\t\t\t}\t\t}\t\telse {\t\t\tthrow(new Error("Buffer was of incorrect sample length."));\t\t}',this.interpolate=Function("buffer",a)},c.prototype.bypassResampler=function(a){return this.noReturn?(this.outputBuffer=a,a.length):a},c.prototype.bufferSlice=function(a){if(this.noReturn)return a;try{return this.outputBuffer.subarray(0,a)}catch(b){try{return this.outputBuffer.length=a,this.outputBuffer}catch(b){return this.outputBuffer.slice(0,a)}}},c.prototype.initializeBuffers=function(a){try{this.outputBuffer=new Float32Array(this.outputBufferSize),this.lastOutput=new Float32Array(this.channels)}catch(b){this.outputBuffer=[],this.lastOutput=[]}},d.prototype.MOZWriteAudio=function(a){this.MOZWriteAudioNoCallback(a),this.MOZExecuteCallback()},d.prototype.MOZWriteAudioNoCallback=function(a){this.writeMozAudio(a)},d.prototype.callbackBasedWriteAudio=function(a){this.callbackBasedWriteAudioNoCallback(a),this.callbackBasedExecuteCallback()},d.prototype.callbackBasedWriteAudioNoCallback=function(a){if(a)for(var b=a.length,c=0;c<b&&C<w;)t[C++]=a[c++]},d.prototype.writeAudio=function(a){0==this.audioType?this.MOZWriteAudio(a):1==this.audioType?this.callbackBasedWriteAudio(a):2==this.audioType&&(this.checkFlashInit()||s?this.callbackBasedWriteAudio(a):this.mozAudioFound&&this.MOZWriteAudio(a))},d.prototype.writeAudioNoCallback=function(a){0==this.audioType?this.MOZWriteAudioNoCallback(a):1==this.audioType?this.callbackBasedWriteAudioNoCallback(a):2==this.audioType&&(this.checkFlashInit()||s?this.callbackBasedWriteAudioNoCallback(a):this.mozAudioFound&&this.MOZWriteAudioNoCallback(a))},d.prototype.remainingBuffer=function(){if(0==this.audioType)return this.samplesAlreadyWritten-this.audioHandleMoz.mozCurrentSampleOffset();if(1==this.audioType)return(k()*B.ratioWeight>>this.audioChannels-1<<this.audioChannels-1)+C;if(2==this.audioType){if(this.checkFlashInit()||s)return(k()*B.ratioWeight>>this.audioChannels-1<<this.audioChannels-1)+C;if(this.mozAudioFound)return this.samplesAlreadyWritten-this.audioHandleMoz.mozCurrentSampleOffset()}return 0},d.prototype.MOZExecuteCallback=function(){var a=v-this.remainingBuffer();a>0&&this.writeMozAudio(this.underRunCallback(a))},d.prototype.callbackBasedExecuteCallback=function(){var a=v-this.remainingBuffer();a>0&&this.callbackBasedWriteAudioNoCallback(this.underRunCallback(a))},d.prototype.executeCallback=function(){0==this.audioType?this.MOZExecuteCallback():1==this.audioType?this.callbackBasedExecuteCallback():2==this.audioType&&(this.checkFlashInit()||s?this.callbackBasedExecuteCallback():this.mozAudioFound&&this.MOZExecuteCallback())},d.prototype.initializeAudio=function(){try{if(this.preInitializeMozAudio(),"Linux i686"==navigator.platform)throw new Error("");this.initializeMozAudio()}catch(a){try{this.initializeWebAudio()}catch(a){try{this.initializeFlashAudio()}catch(a){throw new Error("Browser does not support real time audio output.")}}}},d.prototype.preInitializeMozAudio=function(){this.audioHandleMoz=new Audio,this.audioHandleMoz.mozSetup(this.audioChannels,y),this.samplesAlreadyWritten=0;var a=2==this.audioChannels?[0,0]:[0],b=0;if("MacIntel"!=navigator.platform&&"MacPPC"!=navigator.platform){for(;0==this.audioHandleMoz.mozCurrentSampleOffset();)b+=this.audioHandleMoz.mozWriteAudio(a);for(var c=b/this.audioChannels,d=0;d<c;d++)this.samplesAlreadyWritten+=this.audioHandleMoz.mozWriteAudio(a)}this.samplesAlreadyWritten+=b,v+=this.samplesAlreadyWritten,this.mozAudioFound=!0},d.prototype.initializeMozAudio=function(){this.writeMozAudio(e(v)),this.audioType=0},d.prototype.initializeWebAudio=function(){if(!s)throw new Error("");m(x,n),this.audioType=1},d.prototype.initializeFlashAudio=function(){var a=document.getElementById("XAudioJS");if(null==a){var b=this,c=document.createElement("div");c.setAttribute("style","position: fixed; bottom: 0px; right: 0px; margin: 0px; padding: 0px; border: none; width: 8px; height: 8px; overflow: hidden; z-index: -1000; ");var d=document.createElement("div");d.setAttribute("style","position: static; border: none; width: 0px; height: 0px; visibility: hidden; margin: 8px; padding: 0px;"),d.setAttribute("id","XAudioJS"),c.appendChild(d),document.getElementsByTagName("body")[0].appendChild(c),swfobject.embedSWF("XAudioJS.swf","XAudioJS","8","8","9.0.0","",{},{allowscriptaccess:"always"},{style:"position: static; visibility: hidden; margin: 8px; padding: 0px; border: none"},function(a){a.success?b.audioHandleFlash=a.ref:b.audioType=1})}else this.audioHandleFlash=a;this.audioType=2},d.prototype.writeMozAudio=function(a){if(a){var b=this.mozAudioTail.length;if(b>0){var c=this.audioHandleMoz.mozWriteAudio(this.mozAudioTail);this.samplesAlreadyWritten+=c,this.mozAudioTail.splice(0,c)}b=Math.min(a.length,w-this.samplesAlreadyWritten+this.audioHandleMoz.mozCurrentSampleOffset());var c=this.audioHandleMoz.mozWriteAudio(a);this.samplesAlreadyWritten+=c;for(var d=0;b>c;--b)this.mozAudioTail.push(a[d++])}},d.prototype.checkFlashInit=function(){return!this.flashInitialized&&this.audioHandleFlash&&this.audioHandleFlash.initialize&&(this.flashInitialized=!0,this.audioHandleFlash.initialize(this.audioChannels,A),m(44100,n)),this.flashInitialized};var n=2048,o=null,p=null,q=null,r=null,s=!1,t=[],u=[],v=15e3,w=25e3,x=44100,y=0,z=!1,A=0,B=null,C=0,D=0,E=0,F=2;!function(){if(!s){try{p=new AudioContext}catch(a){try{p=new webkitAudioContext}catch(a){return}}try{r=p.createBufferSource(),r.loop=!1,y=x=p.sampleRate,r.buffer=p.createBuffer(1,1,x),q=p.createJavaScriptNode(n,1,2),q.onaudioprocess=i,r.connect(q),q.connect(p.destination),r.noteOn(0)}catch(a){return}s=!0}}(),b.Resampler=c},function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function f(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var g=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),h=c(1),i=c(100),j=c(14),k={READY:"ready",RECORDING:"recording"},l={WEB_AUDIO_API:"Web Audio API is not supported by your browser.",WEB_AUDIO_RECORDING:"HTML5 audio recording is not supported by your browser.",PERMISSION_DENIED:"Permission to access microphone denied."},AudioRecorder=function(a){function AudioRecorder(a){d(this,AudioRecorder);var b=e(this,(AudioRecorder.__proto__||Object.getPrototypeOf(AudioRecorder)).call(this,k.READY));try{try{b.audioCtx=h.audioCtx||new AudioContext}catch(c){b.audioCtx=h.audioCtx||new webkitAudioContext}h.audioCtx=b.audioCtx}catch(c){return j.log(c),e(b)}return b.source=null,b.stream=null,b.bufferSize=a&&a.bufferSize||4096,b.sampleRate=b.audioCtx.sampleRate,b.scriptNode=b.audioCtx.createScriptProcessor(b.bufferSize,1,1),b.scriptNode.onaudioprocess=function(a){var c=a.inputBuffer.getChannelData(0);b.fire("data",c.slice())},b}return f(AudioRecorder,a),g(AudioRecorder,[{key:"start",value:function(){var a=this;setTimeout(function(){if(a.isState(k.READY)){if(!a.audioCtx)return a.fire("error",l.WEB_AUDIO_API),void j.log("audio_recorder: web audio api not supported");var b=function(b){j.log("audio_recorder: acquired access to html5 audio recording"),a.stream=b,a.source=a.audioCtx.createMediaStreamSource(a.stream),a.source.connect(a.scriptNode),a.scriptNode.connect(a.audioCtx.destination),a.setStateSilent(k.RECORDING),j.log("audio_recorder: recording audio"),a.fire("start")},c=function(b){a.fire("error",l.PERMISSION_DENIED),j.log("audio_recorder: error "+b.name)};if(navigator.mediaDevices&&navigator.mediaDevices.getUserMedia)navigator.mediaDevices.getUserMedia({audio:!0}).then(b)["catch"](c);else{if(navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia,!navigator.getUserMedia)return a.fire("error",l.WEB_AUDIO_RECORDING),void j.log("audio_recorder: html5 audio recording not supported");navigator.getUserMedia({audio:!0},b,c)}}},0)}},{key:"stop",value:function(){if(this.isState(k.RECORDING)){var a=this.stream.getTracks()[0];a.stop(),this.stream=null,this.source&&(this.source.disconnect(this.scriptNode),this.scriptNode.disconnect(this.audioCtx.destination)),this.setStateSilent(k.READY),j.log("audio_recorder: stopped"),this.fire("end")}}},{key:"isRecording",value:function(){return this.isState(k.RECORDING)}}]),AudioRecorder}(i);a.exports=AudioRecorder}]))});