slcc-browser.js
420 KB
!function(e){function t(i){if(r[i])return r[i].exports;var n=r[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var r={};t.m=e,t.c=r,t.d=function(e,r,i){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=26)}([function(e,t,r){"use strict";var i,n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(e){"object"===("undefined"==typeof window?"undefined":n(window))&&(i=window)}e.exports=i},function(e,t,r){"use strict";function i(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}function a(e){if(c===setTimeout)return setTimeout(e,0);if((c===i||!c)&&setTimeout)return c=setTimeout,setTimeout(e,0);try{return c(e,0)}catch(t){try{return c.call(null,e,0)}catch(t){return c.call(this,e,0)}}}function o(e){if(h===clearTimeout)return clearTimeout(e);if((h===n||!h)&&clearTimeout)return h=clearTimeout,clearTimeout(e);try{return h(e)}catch(t){try{return h.call(null,e)}catch(t){return h.call(this,e)}}}function s(){w&&b&&(w=!1,b.length?p=b.concat(p):k=-1,p.length&&f())}function f(){if(!w){var e=a(s);w=!0;for(var t=p.length;t;){for(b=p,p=[];++k<t;)b&&b[k].run();k=-1,t=p.length}b=null,w=!1,o(e)}}function l(e,t){this.fun=e,this.array=t}function u(){}var c,h,d=e.exports={};!function(){try{c="function"==typeof setTimeout?setTimeout:i}catch(e){c=i}try{h="function"==typeof clearTimeout?clearTimeout:n}catch(e){h=n}}();var b,p=[],w=!1,k=-1;d.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];p.push(new l(e,t)),1!==p.length||w||a(f)},l.prototype.run=function(){this.fun.apply(null,this.array)},d.title="browser",d.browser=!0,d.env={},d.argv=[],d.version="",d.versions={},d.on=u,d.addListener=u,d.once=u,d.off=u,d.removeListener=u,d.removeAllListeners=u,d.emit=u,d.prependListener=u,d.prependOnceListener=u,d.listeners=function(e){return[]},d.binding=function(e){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(e){throw new Error("process.chdir is not supported")},d.umask=function(){return 0}},function(e,t,r){"use strict";"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},function(e,t,r){"use strict";function i(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function n(e){return"function"==typeof e}function a(e){return"number"==typeof e}function o(e){return"object"===(void 0===e?"undefined":f(e))&&null!==e}function s(e){return void 0===e}var f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};e.exports=i,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._maxListeners=void 0,i.defaultMaxListeners=10,i.prototype.setMaxListeners=function(e){if(!a(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},i.prototype.emit=function(e){var t,r,i,a,f,l;if(this._events||(this._events={}),"error"===e&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var u=new Error('Uncaught, unspecified "error" event. ('+t+")");throw u.context=t,u}if(r=this._events[e],s(r))return!1;if(n(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),r.apply(this,a)}else if(o(r))for(a=Array.prototype.slice.call(arguments,1),l=r.slice(),i=l.length,f=0;f<i;f++)l[f].apply(this,a);return!0},i.prototype.addListener=function(e,t){var r;if(!n(t))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,n(t.listener)?t.listener:t),this._events[e]?o(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,o(this._events[e])&&!this._events[e].warned&&(r=s(this._maxListeners)?i.defaultMaxListeners:this._maxListeners)&&r>0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},i.prototype.on=i.prototype.addListener,i.prototype.once=function(e,t){function r(){this.removeListener(e,r),i||(i=!0,t.apply(this,arguments))}if(!n(t))throw TypeError("listener must be a function");var i=!1;return r.listener=t,this.on(e,r),this},i.prototype.removeListener=function(e,t){var r,i,a,s;if(!n(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(r=this._events[e],a=r.length,i=-1,r===t||n(r.listener)&&r.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(r)){for(s=a;s-- >0;)if(r[s]===t||r[s].listener&&r[s].listener===t){i=s;break}if(i<0)return this;1===r.length?(r.length=0,delete this._events[e]):r.splice(i,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},i.prototype.removeAllListeners=function(e){var t,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r=this._events[e],n(r))this.removeListener(e,r);else if(r)for(;r.length;)this.removeListener(e,r[r.length-1]);return delete this._events[e],this},i.prototype.listeners=function(e){return this._events&&this._events[e]?n(this._events[e])?[this._events[e]]:this._events[e].slice():[]},i.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(n(t))return 1;if(t)return t.length}return 0},i.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,r){"use strict";function i(e){if(!(this instanceof i))return new i(e);l.call(this,e),u.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",n)}function n(){this.allowHalfOpen||this._writableState.ended||o(a,this)}function a(e){e.end()}var o=r(7),s=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};e.exports=i;var f=r(6);f.inherits=r(2);var l=r(17),u=r(20);f.inherits(i,l);for(var c=s(u.prototype),h=0;h<c.length;h++){var d=c[h];i.prototype[d]||(i.prototype[d]=u.prototype[d])}Object.defineProperty(i.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),i.prototype._destroy=function(e,t){this.push(null),this.end(),o(t,e)}},function(e,t,r){"use strict";(function(e){function i(){return a.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function n(e,t){if(i()<t)throw new RangeError("Invalid typed array length");return a.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=a.prototype):(null===e&&(e=new a(t)),e.length=t),e}function a(e,t,r){if(!(a.TYPED_ARRAY_SUPPORT||this instanceof a))return new a(e,t,r);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return l(this,e)}return o(this,e,t,r)}function o(e,t,r,i){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?h(e,t,r,i):"string"==typeof t?u(e,t,r):d(e,t)}function s(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function f(e,t,r,i){return s(t),t<=0?n(e,t):void 0!==r?"string"==typeof i?n(e,t).fill(r,i):n(e,t).fill(r):n(e,t)}function l(e,t){if(s(t),e=n(e,t<0?0:0|b(t)),!a.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}function u(e,t,r){if("string"==typeof r&&""!==r||(r="utf8"),!a.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var i=0|w(t,r);e=n(e,i);var o=e.write(t,r);return o!==i&&(e=e.slice(0,o)),e}function c(e,t){var r=t.length<0?0:0|b(t.length);e=n(e,r);for(var i=0;i<r;i+=1)e[i]=255&t[i];return e}function h(e,t,r,i){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(i||0))throw new RangeError("'length' is out of bounds");return t=void 0===r&&void 0===i?new Uint8Array(t):void 0===i?new Uint8Array(t,r):new Uint8Array(t,r,i),a.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=a.prototype):e=c(e,t),e}function d(e,t){if(a.isBuffer(t)){var r=0|b(t.length);return e=n(e,r),0===e.length?e:(t.copy(e,0,0,r),e)}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||X(t.length)?n(e,0):c(e,t);if("Buffer"===t.type&&Z(t.data))return c(e,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function b(e){if(e>=i())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i().toString(16)+" bytes");return 0|e}function p(e){return+e!=e&&(e=0),a.alloc(+e)}function w(e,t){if(a.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return W(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return K(e).length;default:if(i)return W(e).length;t=(""+t).toLowerCase(),i=!0}}function k(e,t,r){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if(r>>>=0,t>>>=0,r<=t)return"";for(e||(e="utf8");;)switch(e){case"hex":return I(this,t,r);case"utf8":case"utf-8":return R(this,t,r);case"ascii":return O(this,t,r);case"latin1":case"binary":return P(this,t,r);case"base64":return M(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return U(this,t,r);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function _(e,t,r){var i=e[t];e[t]=e[r],e[r]=i}function v(e,t,r,i,n){if(0===e.length)return-1;if("string"==typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=n?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(n)return-1;r=e.length-1}else if(r<0){if(!n)return-1;r=0}if("string"==typeof t&&(t=a.from(t,i)),a.isBuffer(t))return 0===t.length?-1:y(e,t,r,i,n);if("number"==typeof t)return t&=255,a.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):y(e,[t],r,i,n);throw new TypeError("val must be string, number or Buffer")}function y(e,t,r,i,n){function a(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}var o=1,s=e.length,f=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;o=2,s/=2,f/=2,r/=2}var l;if(n){var u=-1;for(l=r;l<s;l++)if(a(e,l)===a(t,-1===u?0:l-u)){if(-1===u&&(u=l),l-u+1===f)return u*o}else-1!==u&&(l-=l-u),u=-1}else for(r+f>s&&(r=s-f),l=r;l>=0;l--){for(var c=!0,h=0;h<f;h++)if(a(e,l+h)!==a(t,h)){c=!1;break}if(c)return l}return-1}function g(e,t,r,i){r=Number(r)||0;var n=e.length-r;i?(i=Number(i))>n&&(i=n):i=n;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");i>a/2&&(i=a/2);for(var o=0;o<i;++o){var s=parseInt(t.substr(2*o,2),16);if(isNaN(s))return o;e[r+o]=s}return o}function m(e,t,r,i){return z(W(t,e.length-r),e,r,i)}function E(e,t,r,i){return z(V(t),e,r,i)}function A(e,t,r,i){return E(e,t,r,i)}function S(e,t,r,i){return z(K(t),e,r,i)}function T(e,t,r,i){return z(q(t,e.length-r),e,r,i)}function M(e,t,r){return 0===t&&r===e.length?J.fromByteArray(e):J.fromByteArray(e.slice(t,r))}function R(e,t,r){r=Math.min(e.length,r);for(var i=[],n=t;n<r;){var a=e[n],o=null,s=a>239?4:a>223?3:a>191?2:1;if(n+s<=r){var f,l,u,c;switch(s){case 1:a<128&&(o=a);break;case 2:f=e[n+1],128==(192&f)&&(c=(31&a)<<6|63&f)>127&&(o=c);break;case 3:f=e[n+1],l=e[n+2],128==(192&f)&&128==(192&l)&&(c=(15&a)<<12|(63&f)<<6|63&l)>2047&&(c<55296||c>57343)&&(o=c);break;case 4:f=e[n+1],l=e[n+2],u=e[n+3],128==(192&f)&&128==(192&l)&&128==(192&u)&&(c=(15&a)<<18|(63&f)<<12|(63&l)<<6|63&u)>65535&&c<1114112&&(o=c)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,i.push(o>>>10&1023|55296),o=56320|1023&o),i.push(o),n+=s}return C(i)}function C(e){var t=e.length;if(t<=$)return String.fromCharCode.apply(String,e);for(var r="",i=0;i<t;)r+=String.fromCharCode.apply(String,e.slice(i,i+=$));return r}function O(e,t,r){var i="";r=Math.min(e.length,r);for(var n=t;n<r;++n)i+=String.fromCharCode(127&e[n]);return i}function P(e,t,r){var i="";r=Math.min(e.length,r);for(var n=t;n<r;++n)i+=String.fromCharCode(e[n]);return i}function I(e,t,r){var i=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>i)&&(r=i);for(var n="",a=t;a<r;++a)n+=G(e[a]);return n}function U(e,t,r){for(var i=e.slice(t,r),n="",a=0;a<i.length;a+=2)n+=String.fromCharCode(i[a]+256*i[a+1]);return n}function D(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function x(e,t,r,i,n,o){if(!a.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>n||t<o)throw new RangeError('"value" argument is out of bounds');if(r+i>e.length)throw new RangeError("Index out of range")}function N(e,t,r,i){t<0&&(t=65535+t+1);for(var n=0,a=Math.min(e.length-r,2);n<a;++n)e[r+n]=(t&255<<8*(i?n:1-n))>>>8*(i?n:1-n)}function L(e,t,r,i){t<0&&(t=4294967295+t+1);for(var n=0,a=Math.min(e.length-r,4);n<a;++n)e[r+n]=t>>>8*(i?n:3-n)&255}function B(e,t,r,i,n,a){if(r+i>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function F(e,t,r,i,n){return n||B(e,t,r,4,3.4028234663852886e38,-3.4028234663852886e38),Q.write(e,t,r,i,23,4),r+4}function H(e,t,r,i,n){return n||B(e,t,r,8,1.7976931348623157e308,-1.7976931348623157e308),Q.write(e,t,r,i,52,8),r+8}function j(e){if(e=Y(e).replace(ee,""),e.length<2)return"";for(;e.length%4!=0;)e+="=";return e}function Y(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function G(e){return e<16?"0"+e.toString(16):e.toString(16)}function W(e,t){t=t||1/0;for(var r,i=e.length,n=null,a=[],o=0;o<i;++o){if((r=e.charCodeAt(o))>55295&&r<57344){if(!n){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===i){(t-=3)>-1&&a.push(239,191,189);continue}n=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(t-=3)>-1&&a.push(239,191,189);if(n=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function V(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}function q(e,t){for(var r,i,n,a=[],o=0;o<e.length&&!((t-=2)<0);++o)r=e.charCodeAt(o),i=r>>8,n=r%256,a.push(n),a.push(i);return a}function K(e){return J.toByteArray(j(e))}function z(e,t,r,i){for(var n=0;n<i&&!(n+r>=t.length||n>=e.length);++n)t[n+r]=e[n];return n}function X(e){return e!==e}/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
* @license MIT
*/
var J=r(39),Q=r(40),Z=r(14);t.Buffer=a,t.SlowBuffer=p,t.INSPECT_MAX_BYTES=50,a.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=i(),a.poolSize=8192,a._augment=function(e){return e.__proto__=a.prototype,e},a.from=function(e,t,r){return o(null,e,t,r)},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(e,t,r){return f(null,e,t,r)},a.allocUnsafe=function(e){return l(null,e)},a.allocUnsafeSlow=function(e){return l(null,e)},a.isBuffer=function(e){return!(null==e||!e._isBuffer)},a.compare=function(e,t){if(!a.isBuffer(e)||!a.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,i=t.length,n=0,o=Math.min(r,i);n<o;++n)if(e[n]!==t[n]){r=e[n],i=t[n];break}return r<i?-1:i<r?1:0},a.isEncoding=function(e){switch(String(e).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(e,t){if(!Z(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return a.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var i=a.allocUnsafe(t),n=0;for(r=0;r<e.length;++r){var o=e[r];if(!a.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,n),n+=o.length}return i},a.byteLength=w,a.prototype._isBuffer=!0,a.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)_(this,t,t+1);return this},a.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)_(this,t,t+3),_(this,t+1,t+2);return this},a.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)_(this,t,t+7),_(this,t+1,t+6),_(this,t+2,t+5),_(this,t+3,t+4);return this},a.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?R(this,0,e):k.apply(this,arguments)},a.prototype.equals=function(e){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===a.compare(this,e)},a.prototype.inspect=function(){var e="",r=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),"<Buffer "+e+">"},a.prototype.compare=function(e,t,r,i,n){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),t<0||r>e.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&t>=r)return 0;if(i>=n)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,i>>>=0,n>>>=0,this===e)return 0;for(var o=n-i,s=r-t,f=Math.min(o,s),l=this.slice(i,n),u=e.slice(t,r),c=0;c<f;++c)if(l[c]!==u[c]){o=l[c],s=u[c];break}return o<s?-1:s<o?1:0},a.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},a.prototype.indexOf=function(e,t,r){return v(this,e,t,r,!0)},a.prototype.lastIndexOf=function(e,t,r){return v(this,e,t,r,!1)},a.prototype.write=function(e,t,r,i){if(void 0===t)i="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)i=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(r)?(r|=0,void 0===i&&(i="utf8")):(i=r,r=void 0)}var n=this.length-t;if((void 0===r||r>n)&&(r=n),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var a=!1;;)switch(i){case"hex":return g(this,e,t,r);case"utf8":case"utf-8":return m(this,e,t,r);case"ascii":return E(this,e,t,r);case"latin1":case"binary":return A(this,e,t,r);case"base64":return S(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),a=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var $=4096;a.prototype.slice=function(e,t){var r=this.length;e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e);var i;if(a.TYPED_ARRAY_SUPPORT)i=this.subarray(e,t),i.__proto__=a.prototype;else{var n=t-e;i=new a(n,void 0);for(var o=0;o<n;++o)i[o]=this[o+e]}return i},a.prototype.readUIntLE=function(e,t,r){e|=0,t|=0,r||D(e,t,this.length);for(var i=this[e],n=1,a=0;++a<t&&(n*=256);)i+=this[e+a]*n;return i},a.prototype.readUIntBE=function(e,t,r){e|=0,t|=0,r||D(e,t,this.length);for(var i=this[e+--t],n=1;t>0&&(n*=256);)i+=this[e+--t]*n;return i},a.prototype.readUInt8=function(e,t){return t||D(e,1,this.length),this[e]},a.prototype.readUInt16LE=function(e,t){return t||D(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUInt16BE=function(e,t){return t||D(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUInt32LE=function(e,t){return t||D(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUInt32BE=function(e,t){return t||D(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||D(e,t,this.length);for(var i=this[e],n=1,a=0;++a<t&&(n*=256);)i+=this[e+a]*n;return n*=128,i>=n&&(i-=Math.pow(2,8*t)),i},a.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||D(e,t,this.length);for(var i=t,n=1,a=this[e+--i];i>0&&(n*=256);)a+=this[e+--i]*n;return n*=128,a>=n&&(a-=Math.pow(2,8*t)),a},a.prototype.readInt8=function(e,t){return t||D(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},a.prototype.readInt16LE=function(e,t){t||D(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt16BE=function(e,t){t||D(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt32LE=function(e,t){return t||D(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return t||D(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readFloatLE=function(e,t){return t||D(e,4,this.length),Q.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return t||D(e,4,this.length),Q.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return t||D(e,8,this.length),Q.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return t||D(e,8,this.length),Q.read(this,e,!1,52,8)},a.prototype.writeUIntLE=function(e,t,r,i){if(e=+e,t|=0,r|=0,!i){x(this,e,t,r,Math.pow(2,8*r)-1,0)}var n=1,a=0;for(this[t]=255&e;++a<r&&(n*=256);)this[t+a]=e/n&255;return t+r},a.prototype.writeUIntBE=function(e,t,r,i){if(e=+e,t|=0,r|=0,!i){x(this,e,t,r,Math.pow(2,8*r)-1,0)}var n=r-1,a=1;for(this[t+n]=255&e;--n>=0&&(a*=256);)this[t+n]=e/a&255;return t+r},a.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,1,255,0),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},a.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},a.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},a.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):L(this,e,t,!0),t+4},a.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):L(this,e,t,!1),t+4},a.prototype.writeIntLE=function(e,t,r,i){if(e=+e,t|=0,!i){var n=Math.pow(2,8*r-1);x(this,e,t,r,n-1,-n)}var a=0,o=1,s=0;for(this[t]=255&e;++a<r&&(o*=256);)e<0&&0===s&&0!==this[t+a-1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},a.prototype.writeIntBE=function(e,t,r,i){if(e=+e,t|=0,!i){var n=Math.pow(2,8*r-1);x(this,e,t,r,n-1,-n)}var a=r-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},a.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,1,127,-128),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},a.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},a.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,4,2147483647,-2147483648),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):L(this,e,t,!0),t+4},a.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):L(this,e,t,!1),t+4},a.prototype.writeFloatLE=function(e,t,r){return F(this,e,t,!0,r)},a.prototype.writeFloatBE=function(e,t,r){return F(this,e,t,!1,r)},a.prototype.writeDoubleLE=function(e,t,r){return H(this,e,t,!0,r)},a.prototype.writeDoubleBE=function(e,t,r){return H(this,e,t,!1,r)},a.prototype.copy=function(e,t,r,i){if(r||(r=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i<r&&(i=r),i===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t<i-r&&(i=e.length-t+r);var n,o=i-r;if(this===e&&r<t&&t<i)for(n=o-1;n>=0;--n)e[n+t]=this[n+r];else if(o<1e3||!a.TYPED_ARRAY_SUPPORT)for(n=0;n<o;++n)e[n+t]=this[n+r];else Uint8Array.prototype.set.call(e,this.subarray(r,r+o),t);return o},a.prototype.fill=function(e,t,r,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,r=this.length):"string"==typeof r&&(i=r,r=this.length),1===e.length){var n=e.charCodeAt(0);n<256&&(e=n)}if(void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!a.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0);var o;if("number"==typeof e)for(o=t;o<r;++o)this[o]=e;else{var s=a.isBuffer(e)?e:W(new a(e,i).toString()),f=s.length;for(o=0;o<r-t;++o)this[o+t]=s[o%f]}return this};var ee=/[^+\/0-9A-Za-z-_]/g}).call(t,r(0))},function(e,t,r){"use strict";(function(e){function r(e){return Array.isArray?Array.isArray(e):"[object Array]"===w(e)}function i(e){return"boolean"==typeof e}function n(e){return null===e}function a(e){return null==e}function o(e){return"number"==typeof e}function s(e){return"string"==typeof e}function f(e){return"symbol"===(void 0===e?"undefined":k(e))}function l(e){return void 0===e}function u(e){return"[object RegExp]"===w(e)}function c(e){return"object"===(void 0===e?"undefined":k(e))&&null!==e}function h(e){return"[object Date]"===w(e)}function d(e){return"[object Error]"===w(e)||e instanceof Error}function b(e){return"function"==typeof e}function p(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"===(void 0===e?"undefined":k(e))||void 0===e}function w(e){return Object.prototype.toString.call(e)}var k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.isArray=r,t.isBoolean=i,t.isNull=n,t.isNullOrUndefined=a,t.isNumber=o,t.isString=s,t.isSymbol=f,t.isUndefined=l,t.isRegExp=u,t.isObject=c,t.isDate=h,t.isError=d,t.isFunction=b,t.isPrimitive=p,t.isBuffer=e.isBuffer}).call(t,r(5).Buffer)},function(e,t,r){"use strict";(function(t){function r(e,r,i,n){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var a,o,s=arguments.length;switch(s){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick(function(){e.call(null,r)});case 3:return t.nextTick(function(){e.call(null,r,i)});case 4:return t.nextTick(function(){e.call(null,r,i,n)});default:for(a=new Array(s-1),o=0;o<a.length;)a[o++]=arguments[o];return t.nextTick(function(){e.apply(null,a)})}}!t.version||0===t.version.indexOf("v0.")||0===t.version.indexOf("v1.")&&0!==t.version.indexOf("v1.8.")?e.exports=r:e.exports=t.nextTick}).call(t,r(1))},function(e,t,r){"use strict";function i(e,t){for(var r in e)t[r]=e[r]}function n(e,t,r){return o(e,t,r)}var a=r(5),o=a.Buffer;o.from&&o.alloc&&o.allocUnsafe&&o.allocUnsafeSlow?e.exports=a:(i(a,t),t.Buffer=n),i(o,n),n.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return o(e,t,r)},n.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var i=o(e);return void 0!==t?"string"==typeof r?i.fill(t,r):i.fill(t):i.fill(0),i},n.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return o(e)},n.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return a.SlowBuffer(e)}},function(e,t,r){"use strict";function i(){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 n(e,t,r){if(e&&u.isObject(e)&&e instanceof i)return e;var n=new i;return n.parse(e,t,r),n}function a(e){return u.isString(e)&&(e=n(e)),e instanceof i?e.format():i.prototype.format.call(e)}function o(e,t){return n(e,!1,!0).resolve(t)}function s(e,t){return e?n(e,!1,!0).resolveObject(t):t}var f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l=r(32),u=r(34);t.parse=n,t.resolve=o,t.resolveObject=s,t.format=a,t.Url=i;var c=/^([a-z0-9.+-]+:)/i,h=/:[0-9]*$/,d=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,b=["<",">",'"',"`"," ","\r","\n","\t"],p=["{","}","|","\\","^","`"].concat(b),w=["'"].concat(p),k=["%","/","?",";","#"].concat(w),_=["/","?","#"],v=/^[+a-z0-9A-Z_-]{0,63}$/,y=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,g={javascript:!0,"javascript:":!0},m={javascript:!0,"javascript:":!0},E={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=r(12);i.prototype.parse=function(e,t,r){if(!u.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+(void 0===e?"undefined":f(e)));var i=e.indexOf("?"),n=-1!==i&&i<e.indexOf("#")?"?":"#",a=e.split(n),o=/\\/g;a[0]=a[0].replace(o,"/"),e=a.join(n);var s=e;if(s=s.trim(),!r&&1===e.split("#").length){var h=d.exec(s);if(h)return this.path=s,this.href=s,this.pathname=h[1],h[2]?(this.search=h[2],this.query=t?A.parse(this.search.substr(1)):this.search.substr(1)):t&&(this.search="",this.query={}),this}var b=c.exec(s);if(b){b=b[0];var p=b.toLowerCase();this.protocol=p,s=s.substr(b.length)}if(r||b||s.match(/^\/\/[^@\/]+@[^@\/]+/)){var S="//"===s.substr(0,2);!S||b&&m[b]||(s=s.substr(2),this.slashes=!0)}if(!m[b]&&(S||b&&!E[b])){for(var T=-1,M=0;M<_.length;M++){var R=s.indexOf(_[M]);-1!==R&&(-1===T||R<T)&&(T=R)}var C,O;O=-1===T?s.lastIndexOf("@"):s.lastIndexOf("@",T),-1!==O&&(C=s.slice(0,O),s=s.slice(O+1),this.auth=decodeURIComponent(C)),T=-1;for(var M=0;M<k.length;M++){var R=s.indexOf(k[M]);-1!==R&&(-1===T||R<T)&&(T=R)}-1===T&&(T=s.length),this.host=s.slice(0,T),s=s.slice(T),this.parseHost(),this.hostname=this.hostname||"";var P="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!P)for(var I=this.hostname.split(/\./),M=0,U=I.length;M<U;M++){var D=I[M];if(D&&!D.match(v)){for(var x="",N=0,L=D.length;N<L;N++)D.charCodeAt(N)>127?x+="x":x+=D[N];if(!x.match(v)){var B=I.slice(0,M),F=I.slice(M+1),H=D.match(y);H&&(B.push(H[1]),F.unshift(H[2])),F.length&&(s="/"+F.join(".")+s),this.hostname=B.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),P||(this.hostname=l.toASCII(this.hostname));var j=this.port?":"+this.port:"",Y=this.hostname||"";this.host=Y+j,this.href+=this.host,P&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==s[0]&&(s="/"+s))}if(!g[p])for(var M=0,U=w.length;M<U;M++){var G=w[M];if(-1!==s.indexOf(G)){var W=encodeURIComponent(G);W===G&&(W=escape(G)),s=s.split(G).join(W)}}var V=s.indexOf("#");-1!==V&&(this.hash=s.substr(V),s=s.slice(0,V));var q=s.indexOf("?");if(-1!==q?(this.search=s.substr(q),this.query=s.substr(q+1),t&&(this.query=A.parse(this.query)),s=s.slice(0,q)):t&&(this.search="",this.query={}),s&&(this.pathname=s),E[p]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var j=this.pathname||"",K=this.search||"";this.path=j+K}return this.href=this.format(),this},i.prototype.format=function(){var e=this.auth||"";e&&(e=encodeURIComponent(e),e=e.replace(/%3A/i,":"),e+="@");var t=this.protocol||"",r=this.pathname||"",i=this.hash||"",n=!1,a="";this.host?n=e+this.host:this.hostname&&(n=e+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(n+=":"+this.port)),this.query&&u.isObject(this.query)&&Object.keys(this.query).length&&(a=A.stringify(this.query));var o=this.search||a&&"?"+a||"";return t&&":"!==t.substr(-1)&&(t+=":"),this.slashes||(!t||E[t])&&!1!==n?(n="//"+(n||""),r&&"/"!==r.charAt(0)&&(r="/"+r)):n||(n=""),i&&"#"!==i.charAt(0)&&(i="#"+i),o&&"?"!==o.charAt(0)&&(o="?"+o),r=r.replace(/[?#]/g,function(e){return encodeURIComponent(e)}),o=o.replace("#","%23"),t+n+r+o+i},i.prototype.resolve=function(e){return this.resolveObject(n(e,!1,!0)).format()},i.prototype.resolveObject=function(e){if(u.isString(e)){var t=new i;t.parse(e,!1,!0),e=t}for(var r=new i,n=Object.keys(this),a=0;a<n.length;a++){var o=n[a];r[o]=this[o]}if(r.hash=e.hash,""===e.href)return r.href=r.format(),r;if(e.slashes&&!e.protocol){for(var s=Object.keys(e),f=0;f<s.length;f++){var l=s[f];"protocol"!==l&&(r[l]=e[l])}return E[r.protocol]&&r.hostname&&!r.pathname&&(r.path=r.pathname="/"),r.href=r.format(),r}if(e.protocol&&e.protocol!==r.protocol){if(!E[e.protocol]){for(var c=Object.keys(e),h=0;h<c.length;h++){var d=c[h];r[d]=e[d]}return r.href=r.format(),r}if(r.protocol=e.protocol,e.host||m[e.protocol])r.pathname=e.pathname;else{for(var b=(e.pathname||"").split("/");b.length&&!(e.host=b.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==b[0]&&b.unshift(""),b.length<2&&b.unshift(""),r.pathname=b.join("/")}if(r.search=e.search,r.query=e.query,r.host=e.host||"",r.auth=e.auth,r.hostname=e.hostname||e.host,r.port=e.port,r.pathname||r.search){var p=r.pathname||"",w=r.search||"";r.path=p+w}return r.slashes=r.slashes||e.slashes,r.href=r.format(),r}var k=r.pathname&&"/"===r.pathname.charAt(0),_=e.host||e.pathname&&"/"===e.pathname.charAt(0),v=_||k||r.host&&e.pathname,y=v,g=r.pathname&&r.pathname.split("/")||[],b=e.pathname&&e.pathname.split("/")||[],A=r.protocol&&!E[r.protocol];if(A&&(r.hostname="",r.port=null,r.host&&(""===g[0]?g[0]=r.host:g.unshift(r.host)),r.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===b[0]?b[0]=e.host:b.unshift(e.host)),e.host=null),v=v&&(""===b[0]||""===g[0])),_)r.host=e.host||""===e.host?e.host:r.host,r.hostname=e.hostname||""===e.hostname?e.hostname:r.hostname,r.search=e.search,r.query=e.query,g=b;else if(b.length)g||(g=[]),g.pop(),g=g.concat(b),r.search=e.search,r.query=e.query;else if(!u.isNullOrUndefined(e.search)){if(A){r.hostname=r.host=g.shift();var S=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@");S&&(r.auth=S.shift(),r.host=r.hostname=S.shift())}return r.search=e.search,r.query=e.query,u.isNull(r.pathname)&&u.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r}if(!g.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var T=g.slice(-1)[0],M=(r.host||e.host||g.length>1)&&("."===T||".."===T)||""===T,R=0,C=g.length;C>=0;C--)T=g[C],"."===T?g.splice(C,1):".."===T?(g.splice(C,1),R++):R&&(g.splice(C,1),R--);if(!v&&!y)for(;R--;R)g.unshift("..");!v||""===g[0]||g[0]&&"/"===g[0].charAt(0)||g.unshift(""),M&&"/"!==g.join("/").substr(-1)&&g.push("");var O=""===g[0]||g[0]&&"/"===g[0].charAt(0);if(A){r.hostname=r.host=O?"":g.length?g.shift():"";var S=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@");S&&(r.auth=S.shift(),r.host=r.hostname=S.shift())}return v=v||r.host&&g.length,v&&!O&&g.unshift(""),g.length?r.pathname=g.join("/"):(r.pathname=null,r.path=null),u.isNull(r.pathname)&&u.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},i.prototype.parseHost=function(){var e=this.host,t=h.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,r){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s=function(){function e(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,r,i){return r&&e(t.prototype,r),i&&e(t,i),t}}(),f=r(3).EventEmitter,l=r(28),u=r(23),c=function(e){function t(e){i(this,t);var r=n(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r._options=Object.assign({remoteid:0,ssl:!0,port:443,host:null,rpcPort:2480,udpPort:4118,embed:!1,cid:null,p2pServer:"slp2p-embed01.oray.net",debug:!1,auth:{username:"",password:""}},"object"==(void 0===e?"undefined":o(e))?e:{}),r._connection=null,r._cid=null,r._p2pChannel=null,r._isForwarded=!1,r._options.cid&&(r._cid=r._options.cid),r}return a(t,e),s(t,[{key:"connect",value:function(){var e=this;if(!this._connection){var t=null;this._options.embed&&(t="/"+this._options.host.split(".")[0]),this._connection=new l.Connection(this._options.host,{ssl:this._options.ssl,port:this._options.port,debug:this._options.debug,path:t}),this._connection.on("error",function(t){e.emit("error",t)}),this._connection.on("close",function(){e._keepAliveInterval&&clearInterval(e._keepAliveInterval),e.emit("disconnect")})}return new Promise(function(t,r){e._connection.initialize().then(function(){return e.isEmbed()&&(e._isForwarded=!0),e._connection.connect("arraybuffer")}).then(function(){e.isEmbed()&&(e._keepAliveInterval&&clearInterval(e._keepAliveInterval),e._keepAliveInterval=setInterval(function(){e.sendKeepAlive()},75e3)),t()}).catch(function(e){r(e)})})}},{key:"autoConnect",value:function(){var e=this;return new Promise(function(t,r){if(e.isEmbed())return void e.connect().then(function(){t()}).catch(function(e){r(e)});e.connect().then(function(){return e.login()}).then(function(){return e.forward(e._options.p2pServer)}).then(function(){t()}).catch(function(e){r(e)})})}},{key:"fastLogin",value:function(){var e=this;return new Promise(function(t,r){e._connection.on("data",function(i){try{e._handleLoginMessageEvent(i)}catch(e){r(e)}e._connection.removeAllListeners("data"),e.debug("FastLogin responsed CID : ",e._cid),t()});var i=["GET /cgi-bin/rpc?action=fast-login&fastcode=&use_custom_password=0&hostname=DESKTOP&verify_string= HTTP/1.1","Host: "+e._options.host+":"+e._options.rpcPort,"Accept: *.*","",""];i=i.join("\r\n"),e._connection.send(i),e.debug("FastLogin request sent: ",i)})}},{key:"getHost",value:function(){return this._options.host}},{key:"getServerSessionID",value:function(){return this._connection.getSessionID()}},{key:"isEmbed",value:function(){return this._options.embed}},{key:"getCID",value:function(){return this._cid}},{key:"getCurrentHost",value:function(){var e=this._connection.getCurrentHost();return e||this._options.host}},{key:"getRemoteHost",value:function(){return this._options.host}},{key:"getConnection",value:function(){return this._connection}},{key:"getForwardAddress",value:function(){if(!this._isForwarded)return null;var e=this.getCurrentHost(),t=e.split(":");return["PHSRC_HTTPS://",t[0],":",this._options.port,"/;","PHSRC://",t[0],":",this._options.udpPort,"/;UsingMultiChannel://;"].join("")}},{key:"login",value:function(){var e=this;return new Promise(function(t,r){e._connection.on("data",function(i){try{e._handleLoginMessageEvent(i)}catch(e){r(e)}e._connection.removeAllListeners("data"),e.debug("Login responsed CID : ",e._cid),t()});var i="act=login&isnotify=1&ver=&ctrlclient=&password="+e._options.auth.password;e._options.auth.username&&(i+="&username="+e._options.auth.username);var n=["GET /cgi-bin/login.cgi?"+i+" HTTP/1.1","Host: "+e._options.host+":"+e._options.rpcPort,"Accept: *.*","",""];n=n.join("\r\n"),e._connection.send(n),e.debug("Login request sent: ",n)})}},{key:"connectPlugin",value:function(e){var t=this;if(!e instanceof u)throw new Error('Parameter "plugin" must an instance of Plugin');e.setClient(this),e.connect(),this._connection.on("data",function(e){t.emit("message",e.data)})}},{key:"forward",value:function(e){var t=this;if(!this._options.p2pServer&&!e)throw new Error("Unspecified P2P Server option to use");return void 0==e&&(e=this._options.p2pServer),new Promise(function(r,i){t._connection||(t._connection=new l.Connection(e,{ssl:t._options.ssl,port:t._options.port,debug:t._options.debug}),t._connection.on("close",function(){t.emit("disconnect")}),t._connection.on("error",function(e){t.emit("error",e)}),t._connection.initialize()),t._connection.reconnect("arraybuffer").then(function(){t._connection.on("data",function(n){var a=String.fromCharCode.apply(null,new Uint8Array(n.data)),o=a.split("\r\n\r\n")[1];t._forwardAddress=o;for(var s=o.split(";"),f="",l=0;l<s.length;l++){var u=s[l].split("=");if(2==u.length&&"HttpsAddress"==u[0]){f=u[1].replace("PHSRC_HTTPS://",""),t._p2pChannel=f.split("/")[1];break}}t._connection.removeAllListeners("data"),t.debug("Froward with p2p channel : ",t._p2pChannel),t._p2pChannel||i(new Error("Get p2p channel failed")),t._connection.forwardBy(e,t._p2pChannel,!1).then(function(){t._isForwarded=!0,t.isEmbed()&&(t._keepAliveInterval&&clearInterval(t._keepAliveInterval),t._keepAliveInterval=setInterval(function(){t.sendKeepAlive()},75e3)),r()}).catch(function(e){i(e)})});var n=e.split(":"),a="GET query_remote_address?remoteid="+t._options.remoteid+"&sid=&moduleid=desktop&p2paddr=PHSRC_HTTPS://"+n[0]+":443;PHSRC://"+n[0]+":4118 HTTP/1.1\r\nHost: "+t._options.host+":2480\r\nAccept: *.*\r\n\r\n";t._connection.send(a),t.debug("Forward switch request sent: ",a)}).catch(function(e){i(e)})})}},{key:"send",value:function(e){if(this._options.embed){var t=new ArrayBuffer(24),r=new DataView(t);r.setUint32(0,0,!0),r.setUint16(4,4160,!0),r.setUint16(6,0,!0),r.setUint32(8,24+e.byteLength,!0),r.setUint32(12,131078,!0),r.setUint32(16,0,!0),r.setUint32(20,e.byteLength,!0),this._connection.send(r.buffer)}this._connection.send(e)}},{key:"sendKeepAlive",value:function(){var e=new ArrayBuffer(40),t=new DataView(e);t.setUint32(0,0,!0),t.setUint16(4,4160,!0),t.setUint16(6,0,!0),t.setUint32(8,40,!0),t.setUint32(12,1118482,!0),t.setUint32(16,0,!0),t.setUint32(20,0,!0),t.setUint16(24,0,!0),t.setUint16(26,0,!0),t.setUint32(28,0,!0),t.setUint32(32,0,!0),t.setUint32(36,0,!0),this.debug("Send Keepalive message"),this._connection.send(t.buffer)}},{key:"disconnect",value:function(){this._keepAliveInterval&&clearInterval(this._keepAliveInterval),this._connection.disconnect()}},{key:"sendHttpRequest",value:function(e,t){void 0==t&&(t="GET"),e=t+" "+e+" HTTP/1.1\r\nHost: "+this._connection.getCurrentHost()+":"+(this._isForwarded?this._options.port:this._options.rpcPort)+"\r\nAccept: *.*\r\n\r\n",this._connection.send(e)}},{key:"debug",value:function(){this._options.debug&&"undefined"!=typeof console&&console.log.apply(null,arguments)}},{key:"_handleLoginMessageEvent",value:function(e){var t=String.fromCharCode.apply(null,new Uint8Array(e.data)),r=t.split("\r\n\r\n");if(!JSON.parse(r[1].replace(/^\s+|\s+$/,"")).success)throw new Error("Sunlogin client login failed");for(var i=r[0].split("\r\n"),n=0,a=i.length;n<a;n++){var o=i[n];if(-1!=o.indexOf(":")){var s=o.split(":");if("Set-Cookie"==s[0]){var f=s[1].replace(/^\s+|\s+$/,"").split("=");"CID"==f[0]&&(this._cid=f[1])}}}if(!this._cid)throw new Error('No "CID" responsed')}}]),t}(f);e.exports=c},function(e,t){(function(t){e.exports=t}).call(t,{})},function(e,t,r){"use strict";t.decode=t.parse=r(35),t.encode=t.stringify=r(36)},function(e,t,r){"use strict";(function(e){var i=r(38),n=r(49),a=r(50),o=r(9),s=t;s.request=function(t,r){t="string"==typeof t?o.parse(t):n(t);var a=-1===e.location.protocol.search(/^https?:$/)?"http:":"",s=t.protocol||a,f=t.hostname||t.host,l=t.port,u=t.path||"/";f&&-1!==f.indexOf(":")&&(f="["+f+"]"),t.url=(f?s+"//"+f:"")+(l?":"+l:"")+u,t.method=(t.method||"GET").toUpperCase(),t.headers=t.headers||{};var c=new i(t);return r&&c.on("response",r),c},s.get=function(e,t){var r=s.request(e,t);return r.end(),r},s.Agent=function(){},s.Agent.defaultMaxSockets=4,s.STATUS_CODES=a,s.METHODS=["CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REPORT","SEARCH","SUBSCRIBE","TRACE","UNLOCK","UNSUBSCRIBE"]}).call(t,r(0))},function(e,t,r){"use strict";var i={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==i.call(e)}},function(e,t,r){"use strict";(function(e){function r(){if(void 0!==a)return a;if(e.XMLHttpRequest){a=new e.XMLHttpRequest;try{a.open("GET",e.XDomainRequest?"/":"https://example.com")}catch(e){a=null}}else a=null;return a}function i(e){var t=r();if(!t)return!1;try{return t.responseType=e,t.responseType===e}catch(e){}return!1}function n(e){return"function"==typeof e}t.fetch=n(e.fetch)&&n(e.ReadableStream),t.blobConstructor=!1;try{new Blob([new ArrayBuffer(1)]),t.blobConstructor=!0}catch(e){}var a,o=void 0!==e.ArrayBuffer,s=o&&n(e.ArrayBuffer.prototype.slice);t.arraybuffer=t.fetch||o&&i("arraybuffer"),t.msstream=!t.fetch&&s&&i("ms-stream"),t.mozchunkedarraybuffer=!t.fetch&&o&&i("moz-chunked-arraybuffer"),t.overrideMimeType=t.fetch||!!r()&&n(r().overrideMimeType),t.vbArray=n(e.VBArray),a=null}).call(t,r(0))},function(e,t,r){"use strict";t=e.exports=r(17),t.Stream=t,t.Readable=t,t.Writable=r(20),t.Duplex=r(4),t.Transform=r(22),t.PassThrough=r(47)},function(e,t,r){"use strict";(function(t,i){function n(e){return L.from(e)}function a(e){return L.isBuffer(e)||e instanceof B}function o(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?D(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}function s(e,t){U=U||r(4),e=e||{},this.objectMode=!!e.objectMode,t instanceof U&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new G,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.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(Y||(Y=r(21).StringDecoder),this.decoder=new Y(e.encoding),this.encoding=e.encoding)}function f(e){if(U=U||r(4),!(this instanceof f))return new f(e);this._readableState=new s(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),N.call(this)}function l(e,t,r,i,a){var o=e._readableState;if(null===t)o.reading=!1,p(e,o);else{var s;a||(s=c(o,t)),s?e.emit("error",s):o.objectMode||t&&t.length>0?("string"==typeof t||o.objectMode||Object.getPrototypeOf(t)===L.prototype||(t=n(t)),i?o.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):u(e,o,t,!0):o.ended?e.emit("error",new Error("stream.push() after EOF")):(o.reading=!1,o.decoder&&!r?(t=o.decoder.write(t),o.objectMode||0!==t.length?u(e,o,t,!1):_(e,o)):u(e,o,t,!1))):i||(o.reading=!1)}return h(o)}function u(e,t,r,i){t.flowing&&0===t.length&&!t.sync?(e.emit("data",r),e.read(0)):(t.length+=t.objectMode?1:r.length,i?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&w(e)),_(e,t)}function c(e,t){var r;return a(t)||"string"==typeof t||void 0===t||e.objectMode||(r=new TypeError("Invalid non-string/buffer chunk")),r}function h(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}function d(e){return e>=q?e=q:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function b(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=d(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function p(e,t){if(!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,w(e)}}function w(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(j("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?I(k,e):k(e))}function k(e){j("emit readable"),e.emit("readable"),A(e)}function _(e,t){t.readingMore||(t.readingMore=!0,I(v,e,t))}function v(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(j("maybeReadMore read 0"),e.read(0),r!==t.length);)r=t.length;t.readingMore=!1}function y(e){return function(){var t=e._readableState;j("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&x(e,"data")&&(t.flowing=!0,A(e))}}function g(e){j("readable nexttick read 0"),e.read(0)}function m(e,t){t.resumeScheduled||(t.resumeScheduled=!0,I(E,e,t))}function E(e,t){t.reading||(j("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),A(e),t.flowing&&!t.reading&&e.read(0)}function A(e){var t=e._readableState;for(j("flow",t.flowing);t.flowing&&null!==e.read(););}function S(e,t){if(0===t.length)return null;var r;return t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):r=T(e,t.buffer,t.decoder),r}function T(e,t,r){var i;return e<t.head.data.length?(i=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):i=e===t.head.data.length?t.shift():r?M(e,t):R(e,t),i}function M(e,t){var r=t.head,i=1,n=r.data;for(e-=n.length;r=r.next;){var a=r.data,o=e>a.length?a.length:e;if(o===a.length?n+=a:n+=a.slice(0,e),0===(e-=o)){o===a.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=a.slice(o));break}++i}return t.length-=i,n}function R(e,t){var r=L.allocUnsafe(e),i=t.head,n=1;for(i.data.copy(r),e-=i.data.length;i=i.next;){var a=i.data,o=e>a.length?a.length:e;if(a.copy(r,r.length-e,0,o),0===(e-=o)){o===a.length?(++n,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i,i.data=a.slice(o));break}++n}return t.length-=n,r}function C(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,I(O,t,e))}function O(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function P(e,t){for(var r=0,i=e.length;r<i;r++)if(e[r]===t)return r;return-1}var I=r(7);e.exports=f;var U,D=r(14);f.ReadableState=s;var x=(r(3).EventEmitter,function(e,t){return e.listeners(t).length}),N=r(18),L=r(8).Buffer,B=t.Uint8Array||function(){},F=r(6);F.inherits=r(2);var H=r(42),j=void 0;j=H&&H.debuglog?H.debuglog("stream"):function(){};var Y,G=r(43),W=r(19);F.inherits(f,N);var V=["error","close","destroy","pause","resume"];Object.defineProperty(f.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),f.prototype.destroy=W.destroy,f.prototype._undestroy=W.undestroy,f.prototype._destroy=function(e,t){this.push(null),t(e)},f.prototype.push=function(e,t){var r,i=this._readableState;return i.objectMode?r=!0:"string"==typeof e&&(t=t||i.defaultEncoding,t!==i.encoding&&(e=L.from(e,t),t=""),r=!0),l(this,e,t,!1,r)},f.prototype.unshift=function(e){return l(this,e,null,!0,!1)},f.prototype.isPaused=function(){return!1===this._readableState.flowing},f.prototype.setEncoding=function(e){return Y||(Y=r(21).StringDecoder),this._readableState.decoder=new Y(e),this._readableState.encoding=e,this};var q=8388608;f.prototype.read=function(e){j("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return j("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?C(this):w(this),null;if(0===(e=b(e,t))&&t.ended)return 0===t.length&&C(this),null;var i=t.needReadable;j("need readable",i),(0===t.length||t.length-e<t.highWaterMark)&&(i=!0,j("length less than watermark",i)),t.ended||t.reading?(i=!1,j("reading or ended",i)):i&&(j("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=b(r,t)));var n;return n=e>0?S(e,t):null,null===n?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&C(this)),null!==n&&this.emit("data",n),n},f.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},f.prototype.pipe=function(e,t){function r(e,t){j("onunpipe"),e===h&&t&&!1===t.hasUnpiped&&(t.hasUnpiped=!0,a())}function n(){j("onend"),e.end()}function a(){j("cleanup"),e.removeListener("close",l),e.removeListener("finish",u),e.removeListener("drain",w),e.removeListener("error",f),e.removeListener("unpipe",r),h.removeListener("end",n),h.removeListener("end",c),h.removeListener("data",s),k=!0,!d.awaitDrain||e._writableState&&!e._writableState.needDrain||w()}function s(t){j("ondata"),_=!1,!1!==e.write(t)||_||((1===d.pipesCount&&d.pipes===e||d.pipesCount>1&&-1!==P(d.pipes,e))&&!k&&(j("false write response, pause",h._readableState.awaitDrain),h._readableState.awaitDrain++,_=!0),h.pause())}function f(t){j("onerror",t),c(),e.removeListener("error",f),0===x(e,"error")&&e.emit("error",t)}function l(){e.removeListener("finish",u),c()}function u(){j("onfinish"),e.removeListener("close",l),c()}function c(){j("unpipe"),h.unpipe(e)}var h=this,d=this._readableState;switch(d.pipesCount){case 0:d.pipes=e;break;case 1:d.pipes=[d.pipes,e];break;default:d.pipes.push(e)}d.pipesCount+=1,j("pipe count=%d opts=%j",d.pipesCount,t);var b=(!t||!1!==t.end)&&e!==i.stdout&&e!==i.stderr,p=b?n:c;d.endEmitted?I(p):h.once("end",p),e.on("unpipe",r);var w=y(h);e.on("drain",w);var k=!1,_=!1;return h.on("data",s),o(e,"error",f),e.once("close",l),e.once("finish",u),e.emit("pipe",h),d.flowing||(j("pipe resume"),h.resume()),e},f.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r),this);if(!e){var i=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<n;a++)i[a].emit("unpipe",this,r);return this}var o=P(t.pipes,e);return-1===o?this:(t.pipes.splice(o,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,r),this)},f.prototype.on=function(e,t){var r=N.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var i=this._readableState;i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.emittedReadable=!1,i.reading?i.length&&w(this):I(g,this))}return r},f.prototype.addListener=f.prototype.on,f.prototype.resume=function(){var e=this._readableState;return e.flowing||(j("resume"),e.flowing=!0,m(this,e)),this},f.prototype.pause=function(){return j("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(j("pause"),this._readableState.flowing=!1,this.emit("pause")),this},f.prototype.wrap=function(e){var t=this._readableState,r=!1,i=this;e.on("end",function(){if(j("wrapped end"),t.decoder&&!t.ended){var e=t.decoder.end();e&&e.length&&i.push(e)}i.push(null)}),e.on("data",function(n){if(j("wrapped data"),t.decoder&&(n=t.decoder.write(n)),(!t.objectMode||null!==n&&void 0!==n)&&(t.objectMode||n&&n.length)){i.push(n)||(r=!0,e.pause())}});for(var n in e)void 0===this[n]&&"function"==typeof e[n]&&(this[n]=function(t){return function(){return e[t].apply(e,arguments)}}(n));for(var a=0;a<V.length;a++)e.on(V[a],i.emit.bind(i,V[a]));return i._read=function(t){j("wrapped _read",t),r&&(r=!1,e.resume())},i},f._fromList=S}).call(t,r(0),r(1))},function(e,t,r){"use strict";e.exports=r(3).EventEmitter},function(e,t,r){"use strict";function i(e,t){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;if(i||n)return void(t?t(e):!e||this._writableState&&this._writableState.errorEmitted||o(a,this,e));this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!t&&e?(o(a,r,e),r._writableState&&(r._writableState.errorEmitted=!0)):t&&t(e)})}function n(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function a(e,t){e.emit("error",t)}var o=r(7);e.exports={destroy:i,undestroy:n}},function(e,t,r){"use strict";(function(t,i,n){function a(e){var t=this;this.next=null,this.entry=null,this.finish=function(){M(t,e)}}function o(e){return D.from(e)}function s(e){return D.isBuffer(e)||e instanceof x}function f(){}function l(e,t){C=C||r(4),e=e||{},this.objectMode=!!e.objectMode,t instanceof C&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=!1===e.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){_(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new a(this)}function u(e){if(C=C||r(4),!(L.call(u,this)||this instanceof C))return new u(e);this._writableState=new l(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),U.call(this)}function c(e,t){var r=new Error("write after end");e.emit("error",r),R(t,r)}function h(e,t,r,i){var n=!0,a=!1;return null===r?a=new TypeError("May not write null values to stream"):"string"==typeof r||void 0===r||t.objectMode||(a=new TypeError("Invalid non-string/buffer chunk")),a&&(e.emit("error",a),R(i,a),n=!1),n}function d(e,t,r){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=D.from(t,r)),t}function b(e,t,r,i,n,a){if(!r){var o=d(t,i,n);i!==o&&(r=!0,n="buffer",i=o)}var s=t.objectMode?1:i.length;t.length+=s;var f=t.length<t.highWaterMark;if(f||(t.needDrain=!0),t.writing||t.corked){var l=t.lastBufferedRequest;t.lastBufferedRequest={chunk:i,encoding:n,isBuf:r,callback:a,next:null},l?l.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else p(e,t,!1,s,i,n,a);return f}function p(e,t,r,i,n,a,o){t.writelen=i,t.writecb=o,t.writing=!0,t.sync=!0,r?e._writev(n,t.onwrite):e._write(n,a,t.onwrite),t.sync=!1}function w(e,t,r,i,n){--t.pendingcb,r?(R(n,i),R(S,e,t),e._writableState.errorEmitted=!0,e.emit("error",i)):(n(i),e._writableState.errorEmitted=!0,e.emit("error",i),S(e,t))}function k(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function _(e,t){var r=e._writableState,i=r.sync,n=r.writecb;if(k(r),t)w(e,r,i,t,n);else{var a=m(r);a||r.corked||r.bufferProcessing||!r.bufferedRequest||g(e,r),i?O(v,e,r,a,n):v(e,r,a,n)}}function v(e,t,r,i){r||y(e,t),t.pendingcb--,i(),S(e,t)}function y(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function g(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var i=t.bufferedRequestCount,n=new Array(i),o=t.corkedRequestsFree;o.entry=r;for(var s=0,f=!0;r;)n[s]=r,r.isBuf||(f=!1),r=r.next,s+=1;n.allBuffers=f,p(e,t,!0,t.length,n,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new a(t)}else{for(;r;){var l=r.chunk,u=r.encoding,c=r.callback;if(p(e,t,!1,t.objectMode?1:l.length,l,u,c),r=r.next,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=r,t.bufferProcessing=!1}function m(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function E(e,t){e._final(function(r){t.pendingcb--,r&&e.emit("error",r),t.prefinished=!0,e.emit("prefinish"),S(e,t)})}function A(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,R(E,e,t)):(t.prefinished=!0,e.emit("prefinish")))}function S(e,t){var r=m(t);return r&&(A(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),r}function T(e,t,r){t.ending=!0,S(e,t),r&&(t.finished?R(r):e.once("finish",r)),t.ended=!0,e.writable=!1}function M(e,t,r){var i=e.entry;for(e.entry=null;i;){var n=i.callback;t.pendingcb--,n(r),i=i.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}var R=r(7);e.exports=u;var C,O=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?i:R;u.WritableState=l;var P=r(6);P.inherits=r(2);var I={deprecate:r(46)},U=r(18),D=r(8).Buffer,x=n.Uint8Array||function(){},N=r(19);P.inherits(u,U),l.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(l.prototype,"buffer",{get:I.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}();var L;"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(L=Function.prototype[Symbol.hasInstance],Object.defineProperty(u,Symbol.hasInstance,{value:function(e){return!!L.call(this,e)||e&&e._writableState instanceof l}})):L=function(e){return e instanceof this},u.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},u.prototype.write=function(e,t,r){var i=this._writableState,n=!1,a=s(e)&&!i.objectMode;return a&&!D.isBuffer(e)&&(e=o(e)),"function"==typeof t&&(r=t,t=null),a?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof r&&(r=f),i.ended?c(this,r):(a||h(this,i,e,r))&&(i.pendingcb++,n=b(this,i,a,e,t,r)),n},u.prototype.cork=function(){this._writableState.corked++},u.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||g(this,e))},u.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},u.prototype._write=function(e,t,r){r(new Error("_write() is not implemented"))},u.prototype._writev=null,u.prototype.end=function(e,t,r){var i=this._writableState;"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!==e&&void 0!==e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||T(this,i,r)},Object.defineProperty(u.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),u.prototype.destroy=N.destroy,u.prototype._undestroy=N.undestroy,u.prototype._destroy=function(e,t){this.end(),t(e)}}).call(t,r(1),r(44).setImmediate,r(0))},function(e,t,r){"use strict";function i(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function n(e){var t=i(e);if("string"!=typeof t&&(_.isEncoding===v||!v(e)))throw new Error("Unknown encoding: "+e);return t||e}function a(e){this.encoding=n(e);var t;switch(this.encoding){case"utf16le":this.text=h,this.end=d,t=4;break;case"utf8":this.fillLast=l,t=4;break;case"base64":this.text=b,this.end=p,t=3;break;default:return this.write=w,void(this.end=k)}this.lastNeed=0,this.lastTotal=0,this.lastChar=_.allocUnsafe(t)}function o(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:-1}function s(e,t,r){var i=t.length-1;if(i<r)return 0;var n=o(t[i]);return n>=0?(n>0&&(e.lastNeed=n-1),n):--i<r?0:(n=o(t[i]))>=0?(n>0&&(e.lastNeed=n-2),n):--i<r?0:(n=o(t[i]),n>=0?(n>0&&(2===n?n=0:e.lastNeed=n-3),n):0)}function f(e,t,r){if(128!=(192&t[0]))return e.lastNeed=0,"�".repeat(r);if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�".repeat(r+1);if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�".repeat(r+2)}}function l(e){var t=this.lastTotal-this.lastNeed,r=f(this,e,t);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function u(e,t){var r=s(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var i=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,i),e.toString("utf8",t,i)}function c(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�".repeat(this.lastTotal-this.lastNeed):t}function h(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function d(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function b(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function p(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function w(e){return e.toString(this.encoding)}function k(e){return e&&e.length?this.write(e):""}var _=r(8).Buffer,v=_.isEncoding||function(e){switch((e=""+e)&&e.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}};t.StringDecoder=a,a.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||""},a.prototype.end=c,a.prototype.text=u,a.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,r){"use strict";function i(e){this.afterTransform=function(t,r){return n(e,t,r)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function n(e,t,r){var i=e._transformState;i.transforming=!1;var n=i.writecb;if(!n)return e.emit("error",new Error("write callback called multiple times"));i.writechunk=null,i.writecb=null,null!==r&&void 0!==r&&e.push(r),n(t);var a=e._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&e._read(a.highWaterMark)}function a(e){if(!(this instanceof a))return new a(e);s.call(this,e),this._transformState=new i(this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.once("prefinish",function(){"function"==typeof this._flush?this._flush(function(e,r){o(t,e,r)}):o(t)})}function o(e,t,r){if(t)return e.emit("error",t);null!==r&&void 0!==r&&e.push(r);var i=e._writableState,n=e._transformState;if(i.length)throw new Error("Calling transform done when ws.length != 0");if(n.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}e.exports=a;var s=r(4),f=r(6);f.inherits=r(2),f.inherits(a,s),a.prototype.push=function(e,t){return this._transformState.needTransform=!1,s.prototype.push.call(this,e,t)},a.prototype._transform=function(e,t,r){throw new Error("_transform() is not implemented")},a.prototype._write=function(e,t,r){var i=this._transformState;if(i.writecb=r,i.writechunk=e,i.writeencoding=t,!i.transforming){var n=this._readableState;(i.needTransform||n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}},a.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},a.prototype._destroy=function(e,t){var r=this;s.prototype._destroy.call(this,e,function(e){t(e),r.emit("close")})}},function(e,t,r){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var o=function(){function e(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,r,i){return r&&e(t.prototype,r),i&&e(t,i),t}}(),s=(r(10),r(3)),f=function(e){function t(e){i(this,t);var r=n(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r._client=null,r._options=void 0!==e?e:{},r}return a(t,e),o(t,[{key:"setClient",value:function(e){this._client=e}},{key:"connect",value:function(){}}]),t}(s);e.exports=f},function(module,exports,__webpack_require__){"use strict";(function(process,__dirname){var __WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__,_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(e,t){__WEBPACK_AMD_DEFINE_ARRAY__=[],__WEBPACK_AMD_DEFINE_FACTORY__=t,void 0!==(__WEBPACK_AMD_DEFINE_RESULT__="function"==typeof __WEBPACK_AMD_DEFINE_FACTORY__?__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports,__WEBPACK_AMD_DEFINE_ARRAY__):__WEBPACK_AMD_DEFINE_FACTORY__)&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(0,function(){function initglobal(){(global=this)||("undefined"!=typeof window?global=window:"undefined"!=typeof self&&(global=self))}function error(e){console.error(e),console.trace()}function assert(e,t){e||error(t)}var global;initglobal();var getModule=function getModule(par_broadwayOnHeadersDecoded,par_broadwayOnPictureDecoded){var Module=function(){function globalEval(e){eval.call(null,e)}function assert(e,t){e||abort("Assertion failed: "+t)}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(e,t,r,i){switch(r=r||"i8","*"===r.charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":HEAP8[e>>0]=t;break;case"i16":HEAP16[e>>1]=t;break;case"i32":HEAP32[e>>2]=t;break;case"i64":tempI64=[t>>>0,(tempDouble=t,+Math_abs(tempDouble)>=1?tempDouble>0?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=t;break;case"double":HEAPF64[e>>3]=t;break;default:abort("invalid type for setValue: "+r)}}function getValue(e,t,r){switch(t=t||"i8","*"===t.charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return HEAP8[e>>0];case"i16":return HEAP16[e>>1];case"i32":case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+t)}return null}function allocate(e,t,r,i){var n,a;"number"==typeof e?(n=!0,a=e):(n=!1,a=e.length);var o,s="string"==typeof t?t:null;if(o=r==ALLOC_NONE?i:[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][void 0===r?ALLOC_STATIC:r](Math.max(a,s?1:t.length)),n){var f,i=o;for(assert(0==(3&o)),f=o+(-4&a);i<f;i+=4)HEAP32[i>>2]=0;for(f=o+a;i<f;)HEAP8[i++>>0]=0;return o}if("i8"===s)return e.subarray||e.slice?HEAPU8.set(e,o):HEAPU8.set(new Uint8Array(e),o),o;for(var l,u,c,h=0;h<a;){var d=e[h];"function"==typeof d&&(d=Runtime.getFunctionIndex(d)),l=s||t[h],0!==l?("i64"==l&&(l="i32"),setValue(o+h,d,l),c!==l&&(u=Runtime.getNativeTypeSize(l),c=l),h+=u):h++}return o}function getMemory(e){return staticSealed?void 0!==_sbrk&&!_sbrk.called||!runtimeInitialized?Runtime.dynamicAlloc(e):_malloc(e):Runtime.staticAlloc(e)}function Pointer_stringify(e,t){if(0===t||!e)return"";for(var r,i=0,n=0;;){if(r=HEAPU8[e+n>>0],i|=r,0==r&&!t)break;if(n++,t&&n==t)break}t||(t=n);var a="";if(i<128){for(var o;t>0;)o=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(t,1024))),a=a?a+o:o,e+=1024,t-=1024;return a}return Module.UTF8ToString(e)}function AsciiToString(e){for(var t="";;){var r=HEAP8[e++>>0];if(!r)return t;t+=String.fromCharCode(r)}}function stringToAscii(e,t){return writeAsciiToMemory(e,t,!1)}function UTF8ArrayToString(e,t){for(var r,i,n,a,o,s,f="";;){if(!(r=e[t++]))return f;if(128&r)if(i=63&e[t++],192!=(224&r))if(n=63&e[t++],224==(240&r)?r=(15&r)<<12|i<<6|n:(a=63&e[t++],240==(248&r)?r=(7&r)<<18|i<<12|n<<6|a:(o=63&e[t++],248==(252&r)?r=(3&r)<<24|i<<18|n<<12|a<<6|o:(s=63&e[t++],r=(1&r)<<30|i<<24|n<<18|a<<12|o<<6|s))),r<65536)f+=String.fromCharCode(r);else{var l=r-65536;f+=String.fromCharCode(55296|l>>10,56320|1023&l)}else f+=String.fromCharCode((31&r)<<6|i);else f+=String.fromCharCode(r)}}function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}function stringToUTF8Array(e,t,r,i){if(!(i>0))return 0;for(var n=r,a=r+i-1,o=0;o<e.length;++o){var s=e.charCodeAt(o);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++o)),s<=127){if(r>=a)break;t[r++]=s}else if(s<=2047){if(r+1>=a)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=a)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else if(s<=2097151){if(r+3>=a)break;t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}else if(s<=67108863){if(r+4>=a)break;t[r++]=248|s>>24,t[r++]=128|s>>18&63,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+5>=a)break;t[r++]=252|s>>30,t[r++]=128|s>>24&63,t[r++]=128|s>>18&63,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}return t[r]=0,r-n}function stringToUTF8(e,t,r){return stringToUTF8Array(e,HEAPU8,t,r)}function lengthBytesUTF8(e){for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i>=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++r)),i<=127?++t:t+=i<=2047?2:i<=65535?3:i<=2097151?4:i<=67108863?5:6}return t}function UTF16ToString(e){for(var t=0,r="";;){var i=HEAP16[e+2*t>>1];if(0==i)return r;++t,r+=String.fromCharCode(i)}}function stringToUTF16(e,t,r){if(void 0===r&&(r=2147483647),r<2)return 0;r-=2;for(var i=t,n=r<2*e.length?r/2:e.length,a=0;a<n;++a){var o=e.charCodeAt(a);HEAP16[t>>1]=o,t+=2}return HEAP16[t>>1]=0,t-i}function lengthBytesUTF16(e){return 2*e.length}function UTF32ToString(e){for(var t=0,r="";;){var i=HEAP32[e+4*t>>2];if(0==i)return r;if(++t,i>=65536){var n=i-65536;r+=String.fromCharCode(55296|n>>10,56320|1023&n)}else r+=String.fromCharCode(i)}}function stringToUTF32(e,t,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var i=t,n=i+r-4,a=0;a<e.length;++a){var o=e.charCodeAt(a);if(o>=55296&&o<=57343){o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)}if(HEAP32[t>>2]=o,(t+=4)+4>n)break}return HEAP32[t>>2]=0,t-i}function lengthBytesUTF32(e){for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i>=55296&&i<=57343&&++r,t+=4}return t}function demangle(e){function t(){s++,"K"===e[s]&&s++;for(var t=[];"E"!==e[s];)if("S"!==e[s])if("C"!==e[s]){var r=parseInt(e.substr(s)),i=r.toString().length;if(!r||!i){s--;break}var n=e.substr(s+i,r);t.push(n),l.push(n),s+=i+r}else t.push(t[t.length-1]),s+=2;else{s++;var a=e.indexOf("_",s),o=e.substring(s,a)||0;t.push(l[o]||"?"),s=a+1}return s++,t}function r(i,n,a){n=n||1/0;var o,l="",c=[];if("N"===e[s]){if(o=t().join("::"),0===--n)return i?[o]:o}else{("K"===e[s]||u&&"L"===e[s])&&s++;var h=parseInt(e.substr(s));if(h){var d=h.toString().length;o=e.substr(s+d,h),s+=d+h}}if(u=!1,"I"===e[s]){s++;var b=r(!0);l+=r(!0,1,!0)[0]+" "+o+"<"+b.join(", ")+">"}else l=o;e:for(;s<e.length&&n-- >0;){var p=e[s++];if(p in f)c.push(f[p]);else switch(p){case"P":c.push(r(!0,1,!0)[0]+"*");break;case"R":c.push(r(!0,1,!0)[0]+"&");break;case"L":s++;var w=e.indexOf("E",s),h=w-s;c.push(e.substr(s,h)),s+=h+2;break;case"A":var h=parseInt(e.substr(s));if(s+=h.toString().length,"_"!==e[s])throw"?";s++,c.push(r(!0,1,!0)[0]+" ["+h+"]");break;case"E":break e;default:l+="?"+p;break e}}return a||1!==c.length||"void"!==c[0]||(c=[]),i?(l&&c.push(l+"?"),c):l+function(){return"("+c.join(", ")+")"}()}var i=!!Module.___cxa_demangle;if(i)try{var n=_malloc(e.length);writeStringToMemory(e.substr(1),n);var a=_malloc(4),o=Module.___cxa_demangle(n,0,0,a);if(0===getValue(a,"i32")&&o)return Pointer_stringify(o)}catch(e){}finally{n&&_free(n),a&&_free(a),o&&_free(o)}var s=3,f={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},l=[],u=!0,c=e;try{if("Object._main"==e||"_main"==e)return"main()";if("number"==typeof e&&(e=Pointer_stringify(e)),"_"!==e[0])return e;if("_"!==e[1])return e;if("Z"!==e[2])return e;switch(e[3]){case"n":return"operator new()";case"d":return"operator delete()"}c=r()}catch(e){c+="?"}return c.indexOf("?")>=0&&!i&&Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),c}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,function(e){var t=demangle(e);return e===t?e:e+" ["+t+"]"})}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}function alignMemoryPage(e){return e%4096>0&&(e+=4096-e%4096),e}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 callRuntimeCallbacks(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var r=t.func;"number"==typeof r?void 0===t.arg?Runtime.dynCall("v",r):Runtime.dynCall("vi",r,[t.arg]):r(void 0===t.arg?null:t.arg)}else t()}}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(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,t,r){var i=r>0?r:lengthBytesUTF8(e)+1,n=new Array(i),a=stringToUTF8Array(e,n,0,n.length);return t&&(n.length=a),n}function intArrayToString(e){for(var t=[],r=0;r<e.length;r++){var i=e[r];i>255&&(i&=255),t.push(String.fromCharCode(i))}return t.join("")}function writeStringToMemory(e,t,r){for(var i=intArrayFromString(e,r),n=0;n<i.length;){var a=i[n];HEAP8[t+n>>0]=a,n+=1}}function writeArrayToMemory(e,t){for(var r=0;r<e.length;r++)HEAP8[t++>>0]=e[r]}function writeAsciiToMemory(e,t,r){for(var i=0;i<e.length;++i)HEAP8[t++>>0]=e.charCodeAt(i);r||(HEAP8[t>>0]=0)}function unSign(e,t,r){return e>=0?e:t<=32?2*Math.abs(1<<t-1)+e:Math.pow(2,t)+e}function reSign(e,t,r){if(e<=0)return e;var i=t<=32?Math.abs(1<<t-1):Math.pow(2,t-1);return e>=i&&(t<=32||e>i)&&(e=-2*i+e),e}function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var t=dependenciesFulfilled;dependenciesFulfilled=null,t()}}function copyTempFloat(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3]}function copyTempDouble(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3],HEAP8[tempDoublePtr+4]=HEAP8[e+4],HEAP8[tempDoublePtr+5]=HEAP8[e+5],HEAP8[tempDoublePtr+6]=HEAP8[e+6],HEAP8[tempDoublePtr+7]=HEAP8[e+7]}function ___setErrNo(e){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=e),e}function _sysconf(e){switch(e){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"===("undefined"==typeof navigator?"undefined":_typeof(navigator))?navigator.hardwareConcurrency||1:1}return ___setErrNo(ERRNO_CODES.EINVAL),-1}function _pthread_cleanup_push(e,t){__ATEXIT__.push(function(){Runtime.dynCall("vi",e,[t])}),_pthread_cleanup_push.level=__ATEXIT__.length}function _broadwayOnPictureDecoded(e,t,r){par_broadwayOnPictureDecoded(e,t,r)}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!"),__ATEXIT__.pop(),_pthread_cleanup_push.level=__ATEXIT__.length}function _abort(){Module.abort()}function _emscripten_memcpy_big(e,t,r){return HEAPU8.set(HEAPU8.subarray(t,t+r),e),e}function ___syscall6(e,t){SYSCALLS.varargs=t;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function _sbrk(e){var t=_sbrk;t.called||(DYNAMICTOP=alignMemoryPage(DYNAMICTOP),t.called=!0,assert(Runtime.dynamicAlloc),t.alloc=Runtime.dynamicAlloc,Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")});var r=DYNAMICTOP;if(0!=e){if(!t.alloc(e))return-1>>>0}return r}function _broadwayOnHeadersDecoded(){par_broadwayOnHeadersDecoded()}function _time(e){var t=Date.now()/1e3|0;return e&&(HEAP32[e>>2]=t),t}function _pthread_self(){return 0}function ___syscall140(e,t){SYSCALLS.varargs=t;try{var r=SYSCALLS.getStreamFromFD(),i=SYSCALLS.get(),n=SYSCALLS.get(),a=SYSCALLS.get(),o=SYSCALLS.get(),s=n;return assert(0===i),FS.llseek(r,s,o),HEAP32[a>>2]=r.position,r.getdents&&0===s&&0===o&&(r.getdents=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall146(e,t){SYSCALLS.varargs=t;try{var r=(SYSCALLS.get(),SYSCALLS.get()),i=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffer=[]);for(var a=___syscall146.buffer,o=0;o<i;o++){for(var s=HEAP32[r+8*o>>2],f=HEAP32[r+(8*o+4)>>2],l=0;l<f;l++){var u=HEAPU8[s+l];0===u||10===u?(Module.print(UTF8ArrayToString(a,0)),a.length=0):a.push(u)}n+=f}return n}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall54(e,t){SYSCALLS.varargs=t;try{return 0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function invoke_ii(e,t){try{return Module.dynCall_ii(e,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiii(e,t,r,i){try{return Module.dynCall_iiii(e,t,r,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiii(e,t,r,i,n,a){try{Module.dynCall_viiiii(e,t,r,i,n,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vi(e,t){try{Module.dynCall_vi(e,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function run(e){function t(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||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),t()},1)):t()))}function exit(e,t){if(!t||!Module.noExitRuntime)throw Module.noExitRuntime||(ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE?(process.stdout.once("drain",function(){process.exit(e)}),console.log(" "),setTimeout(function(){process.exit(e)},500)):ENVIRONMENT_IS_SHELL&&"function"==typeof quit&&quit(e),new ExitStatus(e)}function abort(e){void 0!==e?(Module.print(e),Module.printErr(e),e=JSON.stringify(e)):e="",ABORT=!0,EXITSTATUS=1;var t="abort("+e+") at "+stackTrace()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";throw abortDecorators&&abortDecorators.forEach(function(r){t=r(t,e)}),t}var Module;Module||(Module=(void 0!==Module?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB="object"===("undefined"==typeof window?"undefined":_typeof(window)),ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"===(void 0===process?"undefined":_typeof(process))&&!1&&!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=function(e){process.stdout.write(e+"\n")}),Module.printErr||(Module.printErr=function(e){process.stderr.write(e+"\n")});var nodeFS=null("fs"),nodePath=null("path");Module.read=function(e,t){e=nodePath.normalize(e);var r=nodeFS.readFileSync(e);return r||e==nodePath.resolve(e)||(e=path.join(__dirname,"..","src",e),r=nodeFS.readFileSync(e)),r&&!t&&(r=r.toString()),r},Module.readBinary=function(e){var t=Module.read(e,!0);return t.buffer||(t=new Uint8Array(t)),assert(t.buffer),t},Module.load=function(e){globalEval(read(e))},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(e){if(!(e instanceof ExitStatus))throw e}),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 (jsc?)"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var t=read(e,"binary");return assert("object"===(void 0===t?"undefined":_typeof(t))),t},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:void 0!==arguments&&(Module.arguments=arguments);else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},void 0!==arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.log(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&"undefined"!=typeof dump?function(e){dump(e)}:function(e){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),void 0===Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);var Runtime={setTempRet0:function(e){tempRet0=e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){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("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"===e[0]){var t=parseInt(e.substr(1));return assert(t%8==0),t/8}return 0}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,t){return"double"===t||"i64"===t?7&e&&(assert(4==(7&e)),e+=4):assert(0==(3&e)),e},getAlignSize:function(e,t,r){return r||"i64"!=e&&"double"!=e?e?Math.min(t||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(t,8):8},dynCall:function(e,t,r){return r&&r.length?(r.splice||(r=Array.prototype.slice.call(r)),r.splice(0,0,t),Module["dynCall_"+e].apply(null,r)):Module["dynCall_"+e].call(null,t)},functionPointers:[],addFunction:function(e){for(var t=0;t<Runtime.functionPointers.length;t++)if(!Runtime.functionPointers[t])return Runtime.functionPointers[t]=e,2*(1+t);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(e){Runtime.functionPointers[(e-2)/2]=null},warnOnce:function(e){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[e]||(Runtime.warnOnce.shown[e]=1,Module.printErr(e))},funcWrappers:{},getFuncWrapper:function(e,t){assert(t),Runtime.funcWrappers[t]||(Runtime.funcWrappers[t]={});var r=Runtime.funcWrappers[t];return r[e]||(r[e]=function(){return Runtime.dynCall(t,e,arguments)}),r[e]},getCompilerSetting:function(e){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(e){var t=STACKTOP;return STACKTOP=STACKTOP+e|0,STACKTOP=STACKTOP+15&-16,t},staticAlloc:function(e){var t=STATICTOP;return STATICTOP=STATICTOP+e|0,STATICTOP=STATICTOP+15&-16,t},dynamicAlloc:function(e){var t=DYNAMICTOP;if(DYNAMICTOP=DYNAMICTOP+e|0,(DYNAMICTOP=DYNAMICTOP+15&-16)>=TOTAL_MEMORY){if(!enlargeMemory())return DYNAMICTOP=t,0}return t},alignMemory:function(e,t){return e=Math.ceil(e/(t||16))*(t||16)},makeBigInt:function(e,t,r){return r?+(e>>>0)+4294967296*+(t>>>0):+(e>>>0)+4294967296*+(0|t)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var __THREW__=0,ABORT=!1,EXITSTATUS=0,undef=0,tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat,tempI64,tempI64b,tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9,globalScope=this,cwrap,ccall;!function(){function parseJSFunc(e){var t=e.toString().match(sourceRegex).slice(1);return{arguments:t[0],body:t[1],returnValue:t[2]}}var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var t=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,t),t},stringToC:function(e){var t=0;return null!==e&&void 0!==e&&0!==e&&(t=Runtime.stackAlloc(1+(e.length<<2)),writeStringToMemory(e,t)),t}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,t,r,i,n){var a=getCFunc(e),o=[],s=0;if(i)for(var f=0;f<i.length;f++){var l=toC[r[f]];l?(0===s&&(s=Runtime.stackSave()),o[f]=l(i[f])):o[f]=i[f]}var u=a.apply(null,o);if("string"===t&&(u=Pointer_stringify(u)),0!==s){if(n&&n.async)return void EmterpreterAsync.asyncFinalizers.push(function(){Runtime.stackRestore(s)});Runtime.stackRestore(s)}return u};var sourceRegex=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/,JSsource={};for(var fun in JSfuncs)JSfuncs.hasOwnProperty(fun)&&(JSsource[fun]=parseJSFunc(JSfuncs[fun]));cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident),numericArgs=argTypes.every(function(e){return"number"===e}),numericRet="string"!==returnType;if(numericRet&&numericArgs)return cfunc;var argNames=argTypes.map(function(e,t){return"$"+t}),funcstr="(function("+argNames.join(",")+") {",nargs=argTypes.length;if(!numericArgs){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||(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,Module.UTF8ArrayToString=UTF8ArrayToString,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8Array=stringToUTF8Array,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.UTF16ToString=UTF16ToString,Module.stringToUTF16=stringToUTF16,Module.lengthBytesUTF16=lengthBytesUTF16,Module.UTF32ToString=UTF32ToString,Module.stringToUTF32=stringToUTF32,Module.lengthBytesUTF32=lengthBytesUTF32,Module.stackTrace=stackTrace;for(var PAGE_SIZE=4096,HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,STATIC_BASE=0,STATICTOP=0,staticSealed=!1,STACK_BASE=0,STACKTOP=0,STACK_MAX=0,DYNAMIC_BASE=0,DYNAMICTOP=0,TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||52428800,totalMemory=65536;totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK;)totalMemory<16777216?totalMemory*=2:totalMemory+=16777216;totalMemory!==TOTAL_MEMORY&&(TOTAL_MEMORY=totalMemory),assert("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&!!new Int32Array(1).subarray&&!!new Int32Array(1).set,"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(TOTAL_MEMORY),HEAP8=new Int8Array(buffer),HEAP16=new Int16Array(buffer),HEAP32=new Int32Array(buffer),HEAPU8=new Uint8Array(buffer),HEAPU16=new Uint16Array(buffer),HEAPU32=new Uint32Array(buffer),HEAPF32=new Float32Array(buffer),HEAPF64=new Float64Array(buffer),HEAP32[0]=255,assert(255===HEAPU8[0]&&0===HEAPU8[3],"Typed arrays 2 must be run on a little-endian system"),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&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,t){var r=e>>>16,i=65535&e,n=t>>>16,a=65535&t;return i*a+(r*a+i*n<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var t=0;t<32;t++)if(e&1<<31-t)return t;return 32}),Math.clz32=Math.clz32;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_min=Math.min,Math_clz32=Math.clz32,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var memoryInitializer=null,ASM_CONSTS=[];STATIC_BASE=8,STATICTOP=STATIC_BASE+8896,__ATINIT__.push(),allocate([10,0,0,0,13,0,0,0,16,0,0,0,11,0,0,0,14,0,0,0,18,0,0,0,13,0,0,0,16,0,0,0,20,0,0,0,14,0,0,0,18,0,0,0,23,0,0,0,16,0,0,0,20,0,0,0,25,0,0,0,18,0,0,0,23,0,0,0,29,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,34,0,0,0,35,0,0,0,35,0,0,0,36,0,0,0,36,0,0,0,37,0,0,0,37,0,0,0,37,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,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,3,0,0,0,3,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,12,0,0,0,13,0,0,0,10,0,0,0,11,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,4,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,0,0,0,0,13,0,0,0,4,0,0,0,8,0,0,0,0,0,0,0,15,0,0,0,4,0,0,0,10,0,0,0,4,0,0,0,9,0,0,0,4,0,0,0,12,0,0,0,4,0,0,0,11,0,0,0,4,0,0,0,14,0,0,0,0,0,0,0,17,0,0,0,4,0,0,0,16,0,0,0,0,0,0,0,19,0,0,0,4,0,0,0,18,0,0,0,0,0,0,0,21,0,0,0,4,0,0,0,20,0,0,0,0,0,0,0,23,0,0,0,4,0,0,0,22,0,0,0,1,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,4,0,0,0,0,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,8,0,0,0,4,0,0,0,9,0,0,0,4,0,0,0,6,0,0,0,4,0,0,0,7,0,0,0,4,0,0,0,12,0,0,0,4,0,0,0,13,0,0,0,1,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,4,0,0,0,16,0,0,0,4,0,0,0,17,0,0,0,1,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,4,0,0,0,20,0,0,0,4,0,0,0,21,0,0,0,1,0,0,0,11,0,0,0,1,0,0,0,14,0,0,0,4,0,0,0,1,0,0,0,255,0,0,0,4,0,0,0,1,0,0,0,15,0,0,0,2,0,0,0,10,0,0,0,4,0,0,0,5,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,4,0,0,0,9,0,0,0,255,0,0,0,12,0,0,0,4,0,0,0,7,0,0,0,255,0,0,0,2,0,0,0,4,0,0,0,13,0,0,0,255,0,0,0,8,0,0,0,1,0,0,0,19,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,17,0,0,0,255,0,0,0,16,0,0,0,1,0,0,0,23,0,0,0,2,0,0,0,22,0,0,0,4,0,0,0,21,0,0,0,255,0,0,0,20,0,0,0,3,0,0,0,15,0,0,0,1,0,0,0,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,1,0,0,0,14,0,0,0,4,0,0,0,1,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,7,0,0,0,4,0,0,0,2,0,0,0,0,0,0,0,13,0,0,0,4,0,0,0,8,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,4,0,0,0,9,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,19,0,0,0,1,0,0,0,18,0,0,0,0,0,0,0,17,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,23,0,0,0,1,0,0,0,22,0,0,0,0,0,0,0,21,0,0,0,4,0,0,0,20,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,12,0,0,0,8,0,0,0,12,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,12,0,0,0,8,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,12,0,0,0,12,0,0,0,8,0,0,0,8,0,0,0,12,0,0,0,12,0,0,0,0,0,0,0,5,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,7,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,4,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,1,0,0,0,4,0,0,0,4,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,1,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,0,0,0,0,13,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,15,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,0,0,0,8,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,0,0,0,8,0,0,0,0,0,0,0,15,0,0,0,4,0,0,0,10,0,0,0,4,0,0,0,9,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,9,0,0,0,4,0,0,0,11,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,9,0,0,0,4,0,0,0,12,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,9,0,0,0,4,0,0,0,12,0,0,0,4,0,0,0,11,0,0,0,4,0,0,0,14,0,0,0,1,0,0,0,10,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,4,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,4,0,0,0,0,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,14,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,4,0,0,0,4,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,2,0,0,0,4,0,0,0,3,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,2,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,8,0,0,0,4,0,0,0,9,0,0,0,4,0,0,0,6,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,4,0,0,0,12,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,4,0,0,0,7,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,4,0,0,0,7,0,0,0,4,0,0,0,12,0,0,0,4,0,0,0,13,0,0,0,1,0,0,0,14,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,255,0,0,0,4,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,1,0,0,0,14,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,1,0,0,0,14,0,0,0,4,0,0,0,1,0,0,0,255,0,0,0,4,0,0,0,2,0,0,0,10,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,2,0,0,0,10,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,1,0,0,0,15,0,0,0,2,0,0,0,10,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,1,0,0,0,15,0,0,0,2,0,0,0,10,0,0,0,4,0,0,0,5,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,255,0,0,0,12,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,4,0,0,0,9,0,0,0,255,0,0,0,12,0,0,0,255,0,0,0,2,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,2,0,0,0,255,0,0,0,8,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,7,0,0,0,255,0,0,0,2,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,7,0,0,0,255,0,0,0,2,0,0,0,4,0,0,0,13,0,0,0,255,0,0,0,8,0,0,0,3,0,0,0,15,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,3,0,0,0,15,0,0,0,0,0,0,0,5,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,3,0,0,0,15,0,0,0,1,0,0,0,10,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,3,0,0,0,15,0,0,0,1,0,0,0,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,4,0,0,0,1,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,1,0,0,0,14,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,1,0,0,0,14,0,0,0,4,0,0,0,1,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,7,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,13,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,4,0,0,0,2,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,4,0,0,0,2,0,0,0,0,0,0,0,13,0,0,0,4,0,0,0,8,0,0,0,4,0,0,0,3,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,9,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,4,0,0,0,9,0,0,0,4,0,0,0,12,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,192,30,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,32,38,16,6,8,101,24,101,24,67,16,67,16,67,16,67,16,67,16,67,16,67,16,67,16,34,8,34,8,34,8,34,8,34,8,34,8,34,8,34,8,34,8,34,8,34,8,34,8,34,8,34,8,34,8,34,8,0,0,0,0,0,0,0,0,106,64,74,48,42,40,10,32,105,56,105,56,73,40,73,40,41,32,41,32,9,24,9,24,104,48,104,48,104,48,104,48,72,32,72,32,72,32,72,32,40,24,40,24,40,24,40,24,8,16,8,16,8,16,8,16,103,40,103,40,103,40,103,40,103,40,103,40,103,40,103,40,71,24,71,24,71,24,71,24,71,24,71,24,71,24,71,24,110,96,78,88,46,80,14,80,110,88,78,80,46,72,14,72,13,64,13,64,77,72,77,72,45,64,45,64,13,56,13,56,109,80,109,80,77,64,77,64,45,56,45,56,13,48,13,48,107,72,107,72,107,72,107,72,107,72,107,72,107,72,107,72,75,56,75,56,75,56,75,56,75,56,75,56,75,56,75,56,43,48,43,48,43,48,43,48,43,48,43,48,43,48,43,48,11,40,11,40,11,40,11,40,11,40,11,40,11,40,11,40,0,0,0,0,47,104,47,104,16,128,80,128,48,128,16,120,112,128,80,120,48,120,16,112,112,120,80,112,48,112,16,104,111,112,111,112,79,104,79,104,47,96,47,96,15,96,15,96,111,104,111,104,79,96,79,96,47,88,47,88,15,88,15,88,0,0,0,0,0,0,0,0,102,56,70,32,38,32,6,16,102,48,70,24,38,24,6,8,101,40,101,40,37,16,37,16,100,32,100,32,100,32,100,32,100,24,100,24,100,24,100,24,67,16,67,16,67,16,67,16,67,16,67,16,67,16,67,16,0,0,0,0,0,0,0,0,105,72,73,56,41,56,9,48,8,40,8,40,72,48,72,48,40,48,40,48,8,32,8,32,103,64,103,64,103,64,103,64,71,40,71,40,71,40,71,40,39,40,39,40,39,40,39,40,7,24,7,24,7,24,7,24,0,0,0,0,109,120,109,120,110,128,78,128,46,128,14,128,46,120,14,120,78,120,46,112,77,112,77,112,13,112,13,112,109,112,109,112,77,104,77,104,45,104,45,104,13,104,13,104,109,104,109,104,77,96,77,96,45,96,45,96,13,96,13,96,12,88,12,88,12,88,12,88,76,88,76,88,76,88,76,88,44,88,44,88,44,88,44,88,12,80,12,80,12,80,12,80,108,96,108,96,108,96,108,96,76,80,76,80,76,80,76,80,44,80,44,80,44,80,44,80,12,72,12,72,12,72,12,72,107,88,107,88,107,88,107,88,107,88,107,88,107,88,107,88,75,72,75,72,75,72,75,72,75,72,75,72,75,72,75,72,43,72,43,72,43,72,43,72,43,72,43,72,43,72,43,72,11,64,11,64,11,64,11,64,11,64,11,64,11,64,11,64,107,80,107,80,107,80,107,80,107,80,107,80,107,80,107,80,75,64,75,64,75,64,75,64,75,64,75,64,75,64,75,64,43,64,43,64,43,64,43,64,43,64,43,64,43,64,43,64,11,56,11,56,11,56,11,56,11,56,11,56,11,56,11,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,24,70,56,38,56,6,16,102,72,70,48,38,48,6,8,37,40,37,40,69,40,69,40,37,32,37,32,69,32,69,32,37,24,37,24,101,64,101,64,69,24,69,24,37,16,37,16,100,56,100,56,100,56,100,56,100,48,100,48,100,48,100,48,100,40,100,40,100,40,100,40,100,32,100,32,100,32,100,32,100,24,100,24,100,24,100,24,68,16,68,16,68,16,68,16,36,8,36,8,36,8,36,8,4,0,4,0,4,0,4,0,0,0,10,128,106,128,74,128,42,128,10,120,106,120,74,120,42,120,10,112,106,112,74,112,42,112,10,104,41,104,41,104,9,96,9,96,73,104,73,104,41,96,41,96,9,88,9,88,105,104,105,104,73,96,73,96,41,88,41,88,9,80,9,80,104,96,104,96,104,96,104,96,72,88,72,88,72,88,72,88,40,80,40,80,40,80,40,80,8,72,8,72,8,72,8,72,104,88,104,88,104,88,104,88,72,80,72,80,72,80,72,80,40,72,40,72,40,72,40,72,8,64,8,64,8,64,8,64,7,56,7,56,7,56,7,56,7,56,7,56,7,56,7,56,7,48,7,48,7,48,7,48,7,48,7,48,7,48,7,48,71,72,71,72,71,72,71,72,71,72,71,72,71,72,71,72,7,40,7,40,7,40,7,40,7,40,7,40,7,40,7,40,103,80,103,80,103,80,103,80,103,80,103,80,103,80,103,80,71,64,71,64,71,64,71,64,71,64,71,64,71,64,71,64,39,64,39,64,39,64,39,64,39,64,39,64,39,64,39,64,7,32,7,32,7,32,7,32,7,32,7,32,7,32,7,32,6,8,38,8,0,0,6,0,6,16,38,16,70,16,0,0,6,24,38,24,70,24,102,24,6,32,38,32,70,32,102,32,6,40,38,40,70,40,102,40,6,48,38,48,70,48,102,48,6,56,38,56,70,56,102,56,6,64,38,64,70,64,102,64,6,72,38,72,70,72,102,72,6,80,38,80,70,80,102,80,6,88,38,88,70,88,102,88,6,96,38,96,70,96,102,96,6,104,38,104,70,104,102,104,6,112,38,112,70,112,102,112,6,120,38,120,70,120,102,120,6,128,38,128,70,128,102,128,0,0,67,16,2,0,2,0,33,8,33,8,33,8,33,8,103,32,103,32,72,32,40,32,71,24,71,24,39,24,39,24,6,32,6,32,6,32,6,32,6,24,6,24,6,24,6,24,6,16,6,16,6,16,6,16,102,24,102,24,102,24,102,24,38,16,38,16,38,16,38,16,6,8,6,8,6,8,6,8,0,0,0,0,0,0,1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4,5,5,5,5,5,5,6,6,6,6,6,6,7,7,7,7,7,7,8,8,8,8,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,0,16,1,2,4,8,32,3,5,10,12,15,47,7,11,13,14,6,9,31,35,37,42,44,33,34,36,40,39,43,45,46,17,18,20,24,19,21,26,28,23,27,29,30,22,25,38,41,47,31,15,0,23,27,29,30,7,11,13,14,39,43,45,46,16,3,5,10,12,19,21,26,28,35,37,42,44,1,2,4,8,17,18,20,24,6,9,22,25,32,33,34,36,40,38,41,0,0,101,85,68,68,52,52,35,35,35,35,19,19,19,19,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,249,233,217,200,200,184,184,167,167,167,167,151,151,151,151,134,134,134,134,134,134,134,134,118,118,118,118,118,118,118,118,230,214,198,182,165,165,149,149,132,132,132,132,116,116,116,116,100,100,100,100,84,84,84,84,67,67,67,67,67,67,67,67,51,51,51,51,51,51,51,51,35,35,35,35,35,35,35,35,19,19,19,19,19,19,19,19,3,3,3,3,3,3,3,3,214,182,197,197,165,165,149,149,132,132,132,132,84,84,84,84,68,68,68,68,4,4,4,4,115,115,115,115,115,115,115,115,99,99,99,99,99,99,99,99,51,51,51,51,51,51,51,51,35,35,35,35,35,35,35,35,19,19,19,19,19,19,19,19,197,181,165,5,148,148,116,116,52,52,36,36,131,131,131,131,99,99,99,99,83,83,83,83,67,67,67,67,19,19,19,19,181,149,164,164,132,132,36,36,20,20,4,4,115,115,115,115,99,99,99,99,83,83,83,83,67,67,67,67,51,51,51,51,166,6,21,21,132,132,132,132,147,147,147,147,147,147,147,147,115,115,115,115,115,115,115,115,99,99,99,99,99,99,99,99,83,83,83,83,83,83,83,83,67,67,67,67,67,67,67,67,51,51,51,51,51,51,51,51,35,35,35,35,35,35,35,35,150,6,21,21,116,116,116,116,131,131,131,131,131,131,131,131,99,99,99,99,99,99,99,99,67,67,67,67,67,67,67,67,51,51,51,51,51,51,51,51,35,35,35,35,35,35,35,35,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,134,6,37,37,20,20,20,20,115,115,115,115,115,115,115,115,99,99,99,99,99,99,99,99,51,51,51,51,51,51,51,51,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,22,6,117,117,36,36,36,36,83,83,83,83,83,83,83,83,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,21,5,100,100,35,35,35,35,82,82,82,82,82,82,82,82,66,66,66,66,66,66,66,66,50,50,50,50,50,50,50,50,4,20,35,35,51,51,83,83,65,65,65,65,65,65,65,65,4,20,67,67,34,34,34,34,49,49,49,49,49,49,49,49,3,19,50,50,33,33,33,33,2,18,33,33,17,1,34,18,1,1,50,34,18,2,67,51,34,34,18,18,2,2,83,67,51,35,18,18,2,2,19,35,67,51,99,83,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,7,8,9,10,12,13,15,17,20,22,25,28,32,36,40,45,50,56,63,71,80,90,101,113,127,144,162,182,203,226,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,3,3,3,3,4,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,2,1,1,2,1,2,3,1,2,3,2,2,3,2,2,4,2,3,4,2,3,4,3,3,5,3,4,6,3,4,6,4,5,7,4,5,8,4,6,9,5,7,10,6,8,11,6,8,13,7,10,14,8,11,16,9,12,18,10,13,20,11,15,23,13,17,25,68,69,67,79,68,69,82,32,73,78,73,84,73,65,76,73,90,65,84,73,79,78,32,70,65,73,76,69,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};Module._memset=_memset,Module._broadwayOnPictureDecoded=_broadwayOnPictureDecoded,Module._memcpy=_memcpy;var SYSCALLS={varargs:0,get:function(e){return SYSCALLS.varargs+=4,HEAP32[SYSCALLS.varargs-4>>2]},getStr:function(){return Pointer_stringify(SYSCALLS.get())},get64:function(){var e=SYSCALLS.get(),t=SYSCALLS.get();return assert(e>=0?0===t:-1===t),e},getZero:function(){assert(0===SYSCALLS.get())}};Module._broadwayOnHeadersDecoded=_broadwayOnHeadersDecoded,STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),staticSealed=!0,STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX),assert(DYNAMIC_BASE<TOTAL_MEMORY,"TOTAL_MEMORY not big enough for stack"),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,invoke_ii:invoke_ii,invoke_iiii:invoke_iiii,invoke_viiiii:invoke_viiiii,invoke_vi:invoke_vi,_broadwayOnPictureDecoded:_broadwayOnPictureDecoded,_pthread_cleanup_pop:_pthread_cleanup_pop,_pthread_self:_pthread_self,___syscall6:___syscall6,___setErrNo:___setErrNo,_abort:_abort,_sbrk:_sbrk,_time:_time,_pthread_cleanup_push:_pthread_cleanup_push,_emscripten_memcpy_big:_emscripten_memcpy_big,___syscall54:___syscall54,_broadwayOnHeadersDecoded:_broadwayOnHeadersDecoded,___syscall140:___syscall140,_sysconf:_sysconf,___syscall146:___syscall146,STACKTOP:STACKTOP,STACK_MAX:STACK_MAX,tempDoublePtr:tempDoublePtr,ABORT:ABORT};var asm=function(e,t,r){"use asm";var i=new e.Int8Array(r);var n=new e.Int16Array(r);var a=new e.Int32Array(r);var o=new e.Uint8Array(r);var s=new e.Uint16Array(r);var f=new e.Uint32Array(r);var l=new e.Float32Array(r);var u=new e.Float64Array(r);var c=t.STACKTOP|0;var h=t.STACK_MAX|0;var d=t.tempDoublePtr|0;var b=t.ABORT|0;var p=0;var w=0;var k=0;var _=0;var v=e.NaN,y=e.Infinity;var g=0,m=0,E=0,A=0,S=0,T=0,M=0,R=0,C=0;var O=0;var P=0;var I=0;var U=0;var D=0;var x=0;var N=0;var L=0;var B=0;var F=0;var H=e.Math.floor;var j=e.Math.abs;var Y=e.Math.sqrt;var G=e.Math.pow;var W=e.Math.cos;var V=e.Math.sin;var q=e.Math.tan;var K=e.Math.acos;var z=e.Math.asin;var X=e.Math.atan;var J=e.Math.atan2;var Q=e.Math.exp;var Z=e.Math.log;var $=e.Math.ceil;var ee=e.Math.imul;var te=e.Math.min;var re=e.Math.clz32;var ie=t.abort;var ne=t.assert;var ae=t.invoke_ii;var oe=t.invoke_iiii;var se=t.invoke_viiiii;var fe=t.invoke_vi;var le=t._broadwayOnPictureDecoded;var ue=t._pthread_cleanup_pop;var ce=t._pthread_self;var he=t.___syscall6;var de=t.___setErrNo;var be=t._abort;var pe=t._sbrk;var we=t._time;var ke=t._pthread_cleanup_push;var _e=t._emscripten_memcpy_big;var ve=t.___syscall54;var ye=t._broadwayOnHeadersDecoded;var ge=t.___syscall140;var me=t._sysconf;var Ee=t.___syscall146;var Ae=0;function Se(e){e=e|0;var t=0;t=c;c=c+e|0;c=c+15&-16;return t|0}function Te(){return c|0}function Me(e){e=e|0;c=e}function Re(e,t){e=e|0;t=t|0;c=e;h=t}function Ce(e,t){e=e|0;t=t|0;if(!p){p=e;w=t}}function Oe(e){e=e|0;i[d>>0]=i[e>>0];i[d+1>>0]=i[e+1>>0];i[d+2>>0]=i[e+2>>0];i[d+3>>0]=i[e+3>>0]}function Pe(e){e=e|0;i[d>>0]=i[e>>0];i[d+1>>0]=i[e+1>>0];i[d+2>>0]=i[e+2>>0];i[d+3>>0]=i[e+3>>0];i[d+4>>0]=i[e+4>>0];i[d+5>>0]=i[e+5>>0];i[d+6>>0]=i[e+6>>0];i[d+7>>0]=i[e+7>>0]}function Ie(e){e=e|0;O=e}function Ue(){return O|0}function De(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;var n=0,s=0,f=0,l=0,u=0,c=0,h=0,d=0,b=0,p=0,w=0,k=0,_=0,v=0;n=o[5472+t>>0]|0;l=o[5524+t>>0]|0;s=a[8+(l*12|0)>>2]<<n;t=a[8+(l*12|0)+4>>2]<<n;n=a[8+(l*12|0)+8>>2]<<n;if(!r)a[e>>2]=ee(a[e>>2]|0,s)|0;e:do{if(!(i&65436)){if(i&98){l=ee(a[e+4>>2]|0,t)|0;u=ee(a[e+20>>2]|0,s)|0;s=ee(a[e+24>>2]|0,t)|0;n=a[e>>2]|0;i=u+32+n+((s>>1)+l)>>6;a[e>>2]=i;r=n-u+32+((l>>1)-s)>>6;a[e+4>>2]=r;f=n-u+32-((l>>1)-s)>>6;a[e+8>>2]=f;l=u+32+n-((s>>1)+l)>>6;a[e+12>>2]=l;a[e+48>>2]=i;a[e+32>>2]=i;a[e+16>>2]=i;a[e+52>>2]=r;a[e+36>>2]=r;a[e+20>>2]=r;a[e+56>>2]=f;a[e+40>>2]=f;a[e+24>>2]=f;a[e+60>>2]=l;a[e+44>>2]=l;a[e+28>>2]=l;if((i+512|r+512|f+512|l+512)>>>0>1023)t=1;else break;return t|0}t=(a[e>>2]|0)+32>>6;if((t+512|0)>>>0>1023){u=1;return u|0}else{a[e+60>>2]=t;a[e+56>>2]=t;a[e+52>>2]=t;a[e+48>>2]=t;a[e+44>>2]=t;a[e+40>>2]=t;a[e+36>>2]=t;a[e+32>>2]=t;a[e+28>>2]=t;a[e+24>>2]=t;a[e+20>>2]=t;a[e+16>>2]=t;a[e+12>>2]=t;a[e+8>>2]=t;a[e+4>>2]=t;a[e>>2]=t;break}}else{i=ee(a[e+4>>2]|0,t)|0;f=ee(a[e+56>>2]|0,t)|0;c=ee(a[e+60>>2]|0,n)|0;h=ee(a[e+8>>2]|0,t)|0;k=ee(a[e+20>>2]|0,s)|0;b=ee(a[e+16>>2]|0,n)|0;_=ee(a[e+32>>2]|0,t)|0;r=ee(a[e+12>>2]|0,s)|0;w=ee(a[e+24>>2]|0,t)|0;d=ee(a[e+28>>2]|0,t)|0;p=ee(a[e+48>>2]|0,n)|0;u=ee(a[e+36>>2]|0,t)|0;n=ee(a[e+40>>2]|0,n)|0;s=ee(a[e+44>>2]|0,s)|0;v=ee(a[e+52>>2]|0,t)|0;t=a[e>>2]|0;a[e>>2]=t+k+((w>>1)+i);a[e+4>>2]=t-k+((i>>1)-w);a[e+8>>2]=t-k-((i>>1)-w);a[e+12>>2]=t+k-((w>>1)+i);a[e+16>>2]=(p>>1)+b+(d+h);a[e+20>>2]=(b>>1)-p+(h-d);a[e+24>>2]=h-d-((b>>1)-p);a[e+28>>2]=d+h-((p>>1)+b);a[e+32>>2]=(v>>1)+_+(s+r);a[e+36>>2]=(_>>1)-v+(r-s);a[e+40>>2]=r-s-((_>>1)-v);a[e+44>>2]=s+r-((v>>1)+_);a[e+48>>2]=(c>>1)+n+(f+u);a[e+52>>2]=(n>>1)-c+(u-f);a[e+56>>2]=u-f-((n>>1)-c);a[e+60>>2]=f+u-((c>>1)+n);l=3;r=(v>>1)+_+(s+r)|0;i=t+k+((w>>1)+i)|0;t=(p>>1)+b+(d+h)|0;n=(c>>1)+n+(f+u)|0;while(1){f=(t>>1)-n|0;n=(n>>1)+t|0;s=r+32+i|0;a[e>>2]=s+n>>6;t=i-r+32|0;a[e+16>>2]=t+f>>6;a[e+32>>2]=t-f>>6;a[e+48>>2]=s-n>>6;if(((s+n>>6)+512|(t+f>>6)+512)>>>0>1023){t=1;n=14;break}if(((t-f>>6)+512|(s-n>>6)+512)>>>0>1023){t=1;n=14;break}t=e+4|0;if(!l)break e;r=a[e+36>>2]|0;v=a[e+20>>2]|0;n=a[e+52>>2]|0;e=t;l=l+-1|0;i=a[t>>2]|0;t=v}if((n|0)==14)return t|0}}while(0);v=0;return v|0}function xe(e,t,r,f,l,u,h,d){e=e|0;t=t|0;r=r|0;f=f|0;l=l|0;u=u|0;h=h|0;d=d|0;var b=0,p=0,w=0,k=0,_=0,v=0,y=0,g=0,m=0,E=0,A=0,S=0,T=0,M=0,R=0,C=0,O=0,P=0,I=0,U=0,D=0,x=0,N=0,L=0,B=0,F=0,H=0,j=0,Y=0,G=0,W=0,V=0,q=0,K=0,z=0,X=0,J=0,Q=0,Z=0,$=0;Z=c;c=c+80|0;I=a[t>>2]|0;a[e>>2]=I;b=(a[e+196>>2]|0)+1|0;a[e+196>>2]=b;X=a[r+4>>2]|0;J=ee(a[r+8>>2]|0,X)|0;z=a[r>>2]|0;a[r+12>>2]=z+((u-((u>>>0)%(X>>>0)|0)<<8)+(((u>>>0)%(X>>>0)|0)<<4));X=(((u>>>0)%(X>>>0)|0)<<3)+(J<<8)+(u-((u>>>0)%(X>>>0)|0)<<6)|0;a[r+16>>2]=z+X;a[r+20>>2]=z+(X+(J<<6));if((I|0)==31){a[e+20>>2]=0;if(b>>>0>1){n[e+28>>1]=16;n[e+30>>1]=16;n[e+32>>1]=16;n[e+34>>1]=16;n[e+36>>1]=16;n[e+38>>1]=16;n[e+40>>1]=16;n[e+42>>1]=16;n[e+44>>1]=16;n[e+46>>1]=16;n[e+48>>1]=16;n[e+50>>1]=16;n[e+52>>1]=16;n[e+54>>1]=16;n[e+56>>1]=16;n[e+58>>1]=16;n[e+60>>1]=16;n[e+62>>1]=16;n[e+64>>1]=16;n[e+66>>1]=16;n[e+68>>1]=16;n[e+70>>1]=16;n[e+72>>1]=16;n[e+74>>1]=16;d=0;c=Z;return d|0}l=23;p=t+328|0;w=d;b=e+28|0;while(1){n[b>>1]=16;i[w>>0]=a[p>>2];i[w+1>>0]=a[p+4>>2];i[w+2>>0]=a[p+8>>2];i[w+3>>0]=a[p+12>>2];i[w+4>>0]=a[p+16>>2];i[w+5>>0]=a[p+20>>2];i[w+6>>0]=a[p+24>>2];i[w+7>>0]=a[p+28>>2];i[w+8>>0]=a[p+32>>2];i[w+9>>0]=a[p+36>>2];i[w+10>>0]=a[p+40>>2];i[w+11>>0]=a[p+44>>2];i[w+12>>0]=a[p+48>>2];i[w+13>>0]=a[p+52>>2];i[w+14>>0]=a[p+56>>2];i[w+15>>0]=a[p+60>>2];if(!l)break;else{l=l+-1|0;p=p+64|0;w=w+16|0;b=b+2|0}}Ze(r,d);d=0;c=Z;return d|0}do{if(!I){b=e+28|0;w=b+54|0;do{i[b>>0]=0;b=b+1|0}while((b|0)<(w|0));a[e+20>>2]=a[l>>2];k=0}else{b=e+28|0;p=t+272|0;w=b+54|0;do{i[b>>0]=i[p>>0]|0;b=b+1|0;p=p+1|0}while((b|0)<(w|0));p=a[t+8>>2]|0;b=a[l>>2]|0;do{if(p){a[l>>2]=b+p;if((b+p|0)<0){a[l>>2]=b+p+52;b=b+p+52|0;break}if((b+p|0)>51){a[l>>2]=b+p+-52;b=b+p+-52|0}else b=b+p|0}}while(0);a[e+20>>2]=b;e:do{if(I>>>0>6){if(!(n[e+76>>1]|0)){k=t+1992|0;p=15;w=t+328|0;l=320;_=e+28|0}else{P=i[5524+b>>0]|0;p=i[5472+b>>0]|0;A=a[t+1872>>2]|0;y=a[t+1884>>2]|0;m=a[t+1880>>2]|0;T=a[t+1896>>2]|0;J=a[t+1876>>2]|0;_=a[t+1888>>2]|0;S=a[t+1892>>2]|0;E=a[t+1912>>2]|0;X=a[t+1900>>2]|0;O=a[t+1904>>2]|0;M=a[t+1908>>2]|0;z=a[t+1916>>2]|0;g=a[t+1864>>2]|0;v=a[t+1868>>2]|0;w=v+_+(g+y)|0;a[t+1864>>2]=w;l=v-_+(g-y)|0;a[t+1868>>2]=l;k=g-y-(v-_)|0;a[t+1872>>2]=k;_=g+y-(v+_)|0;a[t+1876>>2]=_;v=E+m+(S+A)|0;a[t+1880>>2]=v;y=m-E+(A-S)|0;a[t+1884>>2]=y;g=A-S-(m-E)|0;a[t+1888>>2]=g;m=S+A-(E+m)|0;a[t+1892>>2]=m;E=z+T+(M+J)|0;a[t+1896>>2]=E;A=T-z+(J-M)|0;a[t+1900>>2]=A;S=J-M-(T-z)|0;a[t+1904>>2]=S;T=M+J-(z+T)|0;a[t+1908>>2]=T;z=a[t+1920>>2]|0;J=a[t+1924>>2]|0;M=J+O+(z+X)|0;a[t+1912>>2]=M;R=O-J+(X-z)|0;a[t+1916>>2]=R;C=X-z-(O-J)|0;a[t+1920>>2]=C;O=z+X-(J+O)|0;a[t+1924>>2]=O;P=a[8+((P&255)*12|0)>>2]|0;if(b>>>0>11){b=P<<(p&255)+-2;a[t+1864>>2]=ee(M+v+(w+E)|0,b)|0;a[t+1880>>2]=ee(v-M+(w-E)|0,b)|0;a[t+1896>>2]=ee(w-E-(v-M)|0,b)|0;a[t+1912>>2]=ee(w+E-(M+v)|0,b)|0;a[t+1868>>2]=ee(R+y+(l+A)|0,b)|0;a[t+1884>>2]=ee(y-R+(l-A)|0,b)|0;a[t+1900>>2]=ee(l-A-(y-R)|0,b)|0;a[t+1916>>2]=ee(l+A-(R+y)|0,b)|0;a[t+1872>>2]=ee(C+g+(k+S)|0,b)|0;a[t+1888>>2]=ee(g-C+(k-S)|0,b)|0;a[t+1904>>2]=ee(k-S-(g-C)|0,b)|0;a[t+1920>>2]=ee(k+S-(C+g)|0,b)|0;a[t+1876>>2]=ee(O+m+(_+T)|0,b)|0;a[t+1892>>2]=ee(m-O+(_-T)|0,b)|0;a[t+1908>>2]=ee(_-T-(m-O)|0,b)|0;b=ee(_+T-(O+m)|0,b)|0}else{J=(b+-6|0)>>>0<6?1:2;b=2-(p&255)|0;a[t+1864>>2]=(ee(M+v+(w+E)|0,P)|0)+J>>b;a[t+1880>>2]=(ee(v-M+(w-E)|0,P)|0)+J>>b;a[t+1896>>2]=(ee(w-E-(v-M)|0,P)|0)+J>>b;a[t+1912>>2]=(ee(w+E-(M+v)|0,P)|0)+J>>b;a[t+1868>>2]=(ee(R+y+(l+A)|0,P)|0)+J>>b;a[t+1884>>2]=(ee(y-R+(l-A)|0,P)|0)+J>>b;a[t+1900>>2]=(ee(l-A-(y-R)|0,P)|0)+J>>b;a[t+1916>>2]=(ee(l+A-(R+y)|0,P)|0)+J>>b;a[t+1872>>2]=(ee(C+g+(k+S)|0,P)|0)+J>>b;a[t+1888>>2]=(ee(g-C+(k-S)|0,P)|0)+J>>b;a[t+1904>>2]=(ee(k-S-(g-C)|0,P)|0)+J>>b;a[t+1920>>2]=(ee(k+S-(C+g)|0,P)|0)+J>>b;a[t+1876>>2]=(ee(O+m+(_+T)|0,P)|0)+J>>b;a[t+1892>>2]=(ee(m-O+(_-T)|0,P)|0)+J>>b;a[t+1908>>2]=(ee(_-T-(m-O)|0,P)|0)+J>>b;b=(ee(_+T-(O+m)|0,P)|0)+J>>b}a[t+1924>>2]=b;k=t+1992|0;p=15;w=t+328|0;l=320;_=e+28|0}while(1){J=a[t+1864+(a[l>>2]<<2)>>2]|0;l=l+4|0;a[w>>2]=J;if((J|0)==0?(n[_>>1]|0)==0:0)a[w>>2]=16777215;else Q=21;if((Q|0)==21?(Q=0,(De(w,a[e+20>>2]|0,1,a[k>>2]|0)|0)!=0):0){b=1;break}v=_+2|0;b=k+4|0;if(!p){l=k;g=_;break e}else{k=b;p=p+-1|0;w=w+64|0;_=v}}c=Z;return b|0}else{l=t+1992|0;p=15;w=t+328|0;k=e+28|0;while(1){if(n[k>>1]|0){if(De(w,a[e+20>>2]|0,0,a[l>>2]|0)|0){b=1;break}}else a[w>>2]=16777215;_=k+2|0;b=l+4|0;if(!p){g=k;v=_;break e}else{l=b;p=p+-1|0;w=w+64|0;k=_}}c=Z;return b|0}}while(0);p=(a[e+24>>2]|0)+(a[e+20>>2]|0)|0;p=(p|0)<0?0:(p|0)>51?51:p;y=a[80+(p<<2)>>2]|0;if((n[e+78>>1]|0)==0?(n[e+80>>1]|0)==0:0){_=t+1932|0;k=a[t+1928>>2]|0}else{k=a[8+((o[5524+y>>0]|0)*12|0)>>2]|0;if((p+-6|0)>>>0<46){k=k<<(o[5472+y>>0]|0)+-1;p=0}else p=1;_=a[t+1928>>2]|0;X=a[t+1936>>2]|0;z=a[t+1932>>2]|0;K=a[t+1940>>2]|0;J=(ee(K+z+(X+_)|0,k)|0)>>p;a[t+1928>>2]=J;a[t+1932>>2]=(ee(X+_-(K+z)|0,k)|0)>>p;a[t+1936>>2]=(ee(z-K+(_-X)|0,k)|0)>>p;a[t+1940>>2]=(ee(_-X-(z-K)|0,k)|0)>>p;K=a[t+1944>>2]|0;z=a[t+1952>>2]|0;X=a[t+1948>>2]|0;_=a[t+1956>>2]|0;a[t+1944>>2]=(ee(_+X+(z+K)|0,k)|0)>>p;a[t+1948>>2]=(ee(z+K-(_+X)|0,k)|0)>>p;a[t+1952>>2]=(ee(X-_+(K-z)|0,k)|0)>>p;a[t+1956>>2]=(ee(K-z-(X-_)|0,k)|0)>>p;_=t+1932|0;k=J}p=w+64|0;a[p>>2]=k;if((k|0)==0?(n[v>>1]|0)==0:0)a[p>>2]=16777215;else Q=36;if((Q|0)==36?(De(p,y,1,a[b>>2]|0)|0)!=0:0){d=1;c=Z;return d|0}p=l+8|0;J=a[_>>2]|0;b=w+128|0;a[b>>2]=J;if((J|0)==0?(n[g+4>>1]|0)==0:0)a[b>>2]=16777215;else Q=40;if((Q|0)==40?(De(b,y,1,a[p>>2]|0)|0)!=0:0){d=1;c=Z;return d|0}b=l+12|0;J=a[t+1936>>2]|0;p=w+192|0;a[p>>2]=J;if((J|0)==0?(n[g+6>>1]|0)==0:0)a[p>>2]=16777215;else Q=44;if((Q|0)==44?(De(p,y,1,a[b>>2]|0)|0)!=0:0){d=1;c=Z;return d|0}b=l+16|0;J=a[t+1940>>2]|0;p=w+256|0;a[p>>2]=J;if((J|0)==0?(n[g+8>>1]|0)==0:0)a[p>>2]=16777215;else Q=48;if((Q|0)==48?(De(p,y,1,a[b>>2]|0)|0)!=0:0){d=1;c=Z;return d|0}b=l+20|0;J=a[t+1944>>2]|0;p=w+320|0;a[p>>2]=J;if((J|0)==0?(n[g+10>>1]|0)==0:0)a[p>>2]=16777215;else Q=52;if((Q|0)==52?(De(p,y,1,a[b>>2]|0)|0)!=0:0){d=1;c=Z;return d|0}b=l+24|0;J=a[t+1948>>2]|0;p=w+384|0;a[p>>2]=J;if((J|0)==0?(n[g+12>>1]|0)==0:0)a[p>>2]=16777215;else Q=56;if((Q|0)==56?(De(p,y,1,a[b>>2]|0)|0)!=0:0){d=1;c=Z;return d|0}b=l+28|0;J=a[t+1952>>2]|0;p=w+448|0;a[p>>2]=J;if((J|0)==0?(n[g+14>>1]|0)==0:0)a[p>>2]=16777215;else Q=60;if((Q|0)==60?(De(p,y,1,a[b>>2]|0)|0)!=0:0){d=1;c=Z;return d|0}p=l+32|0;J=a[t+1956>>2]|0;b=w+512|0;a[b>>2]=J;if((J|0)==0?(n[g+16>>1]|0)==0:0)a[b>>2]=16777215;else Q=64;if((Q|0)==64?(De(b,y,1,a[p>>2]|0)|0)!=0:0){d=1;c=Z;return d|0}if(I>>>0<6){k=a[e>>2]|0;break}do{if(u){I=a[r+4>>2]|0;U=ee(a[r+8>>2]|0,I)|0;D=ee((u>>>0)/(I>>>0)|0,I)|0;p=a[r>>2]|0;b=(u-D<<4)+(ee(I<<8,(u>>>0)/(I>>>0)|0)|0)|0;if((u>>>0)/(I>>>0)|0){P=b-(I<<4|1)|0;i[Z>>0]=i[p+P>>0]|0;i[Z+1>>0]=i[p+(P+1)>>0]|0;i[Z+2>>0]=i[p+(P+2)>>0]|0;i[Z+3>>0]=i[p+(P+3)>>0]|0;i[Z+4>>0]=i[p+(P+4)>>0]|0;i[Z+5>>0]=i[p+(P+5)>>0]|0;i[Z+6>>0]=i[p+(P+6)>>0]|0;i[Z+7>>0]=i[p+(P+7)>>0]|0;i[Z+8>>0]=i[p+(P+8)>>0]|0;i[Z+9>>0]=i[p+(P+9)>>0]|0;i[Z+10>>0]=i[p+(P+10)>>0]|0;i[Z+11>>0]=i[p+(P+11)>>0]|0;i[Z+12>>0]=i[p+(P+12)>>0]|0;i[Z+13>>0]=i[p+(P+13)>>0]|0;i[Z+14>>0]=i[p+(P+14)>>0]|0;i[Z+15>>0]=i[p+(P+15)>>0]|0;i[Z+16>>0]=i[p+(P+16)>>0]|0;i[Z+17>>0]=i[p+(P+17)>>0]|0;i[Z+18>>0]=i[p+(P+18)>>0]|0;i[Z+19>>0]=i[p+(P+19)>>0]|0;i[Z+20>>0]=i[p+(P+20)>>0]|0;P=Z+21|0;x=22;N=23;L=24;B=25;F=26;H=27;j=28;Y=29;G=30;W=31;V=32;q=33;f=34;K=35;z=36;X=37;J=38}else{P=Z;x=1;N=2;L=3;B=4;F=5;H=6;j=7;Y=8;G=9;W=10;V=11;q=12;f=13;K=14;z=15;X=16;J=17}if((D|0)!=(u|0)){i[Z+40>>0]=i[p+(b+-1)>>0]|0;i[Z+40+1>>0]=i[p+(b+-1+(I<<4))>>0]|0;b=b+-1+(I<<4)+(I<<4)|0;i[Z+40+2>>0]=i[p+b>>0]|0;i[Z+40+3>>0]=i[p+(b+(I<<4))>>0]|0;i[Z+40+4>>0]=i[p+(b+(I<<4)+(I<<4))>>0]|0;b=b+(I<<4)+(I<<4)+(I<<4)|0;i[Z+40+5>>0]=i[p+b>>0]|0;i[Z+40+6>>0]=i[p+(b+(I<<4))>>0]|0;i[Z+40+7>>0]=i[p+(b+(I<<4)+(I<<4))>>0]|0;b=b+(I<<4)+(I<<4)+(I<<4)|0;i[Z+40+8>>0]=i[p+b>>0]|0;i[Z+40+9>>0]=i[p+(b+(I<<4))>>0]|0;i[Z+40+10>>0]=i[p+(b+(I<<4)+(I<<4))>>0]|0;b=b+(I<<4)+(I<<4)+(I<<4)|0;i[Z+40+11>>0]=i[p+b>>0]|0;i[Z+40+12>>0]=i[p+(b+(I<<4))>>0]|0;i[Z+40+13>>0]=i[p+(b+(I<<4)+(I<<4))>>0]|0;b=b+(I<<4)+(I<<4)+(I<<4)|0;i[Z+40+14>>0]=i[p+b>>0]|0;i[Z+40+15>>0]=i[p+(b+(I<<4))>>0]|0;b=Z+40+16|0;l=17;k=18;_=19;v=20;y=21;g=22;m=23;E=24;A=25;S=26;T=27;M=28;R=29;C=30;O=31}else{b=Z+40|0;l=1;k=2;_=3;v=4;y=5;g=6;m=7;E=8;A=9;S=10;T=11;M=12;R=13;C=14;O=15}w=a[r>>2]|0;p=(ee(((u>>>0)/(I>>>0)|0)<<3,I<<3&2147483640)|0)+(U<<8)+(u-D<<3)|0;if((u>>>0)/(I>>>0)|0){$=p-(I<<3&2147483640|1)|0;i[P>>0]=i[w+$>>0]|0;i[Z+x>>0]=i[w+($+1)>>0]|0;i[Z+N>>0]=i[w+($+2)>>0]|0;i[Z+L>>0]=i[w+($+3)>>0]|0;i[Z+B>>0]=i[w+($+4)>>0]|0;i[Z+F>>0]=i[w+($+5)>>0]|0;i[Z+H>>0]=i[w+($+6)>>0]|0;i[Z+j>>0]=i[w+($+7)>>0]|0;i[Z+Y>>0]=i[w+($+8)>>0]|0;i[Z+G>>0]=i[w+($+(U<<6))>>0]|0;i[Z+W>>0]=i[w+($+(U<<6)+1)>>0]|0;i[Z+V>>0]=i[w+($+(U<<6)+2)>>0]|0;i[Z+q>>0]=i[w+($+(U<<6)+3)>>0]|0;i[Z+f>>0]=i[w+($+(U<<6)+4)>>0]|0;i[Z+K>>0]=i[w+($+(U<<6)+5)>>0]|0;i[Z+z>>0]=i[w+($+(U<<6)+6)>>0]|0;i[Z+X>>0]=i[w+($+(U<<6)+7)>>0]|0;i[Z+J>>0]=i[w+($+(U<<6)+8)>>0]|0}if((D|0)==(u|0))break;i[b>>0]=i[w+(p+-1)>>0]|0;i[Z+40+l>>0]=i[w+(p+-1+(I<<3&2147483640))>>0]|0;$=p+-1+(I<<3&2147483640)+(I<<3&2147483640)|0;i[Z+40+k>>0]=i[w+$>>0]|0;i[Z+40+_>>0]=i[w+($+(I<<3&2147483640))>>0]|0;i[Z+40+v>>0]=i[w+($+(I<<3&2147483640)+(I<<3&2147483640))>>0]|0;$=$+(I<<3&2147483640)+(I<<3&2147483640)+(I<<3&2147483640)|0;i[Z+40+y>>0]=i[w+$>>0]|0;i[Z+40+g>>0]=i[w+($+(I<<3&2147483640))>>0]|0;i[Z+40+m>>0]=i[w+($+(I<<3&2147483640)+(I<<3&2147483640))>>0]|0;$=(U-I<<6)+(I<<3&2147483640)+($+(I<<3&2147483640)+(I<<3&2147483640))|0;i[Z+40+E>>0]=i[w+$>>0]|0;i[Z+40+A>>0]=i[w+($+(I<<3&2147483640))>>0]|0;i[Z+40+S>>0]=i[w+($+(I<<3&2147483640)+(I<<3&2147483640))>>0]|0;$=$+(I<<3&2147483640)+(I<<3&2147483640)+(I<<3&2147483640)|0;i[Z+40+T>>0]=i[w+$>>0]|0;i[Z+40+M>>0]=i[w+($+(I<<3&2147483640))>>0]|0;i[Z+40+R>>0]=i[w+($+(I<<3&2147483640)+(I<<3&2147483640))>>0]|0;$=$+(I<<3&2147483640)+(I<<3&2147483640)+(I<<3&2147483640)|0;i[Z+40+C>>0]=i[w+$>>0]|0;i[Z+40+O>>0]=i[w+($+(I<<3&2147483640))>>0]|0}}while(0);_=a[e>>2]|0;e:do{if(_>>>0>6){b=a[e+200>>2]|0;do{if(!b){k=(h|0)!=0;l=0}else{p=(a[e+4>>2]|0)==(a[b+4>>2]|0);if(!((h|0)!=0&p)){k=(h|0)!=0;l=p&1;break}k=1;l=(a[b>>2]|0)>>>0<6?0:p&1}}while(0);b=a[e+204>>2]|0;do{if(!b)w=0;else{p=(a[e+4>>2]|0)==(a[b+4>>2]|0);if(!(k&p)){w=p&1;break}w=(a[b>>2]|0)>>>0<6?0:p&1}}while(0);b=a[e+212>>2]|0;do{if(!b)b=0;else{p=(a[e+4>>2]|0)==(a[b+4>>2]|0);if(!(k&p)){b=p&1;break}b=(a[b>>2]|0)>>>0<6?0:p&1}}while(0);switch(_+1&3|0){case 0:{if(!w)break e;b=d;p=0;while(1){i[b>>0]=i[Z+1>>0]|0;i[b+1>>0]=i[Z+2>>0]|0;i[b+2>>0]=i[Z+3>>0]|0;i[b+3>>0]=i[Z+4>>0]|0;i[b+4>>0]=i[Z+5>>0]|0;i[b+5>>0]=i[Z+6>>0]|0;i[b+6>>0]=i[Z+7>>0]|0;i[b+7>>0]=i[Z+8>>0]|0;i[b+8>>0]=i[Z+9>>0]|0;i[b+9>>0]=i[Z+10>>0]|0;i[b+10>>0]=i[Z+11>>0]|0;i[b+11>>0]=i[Z+12>>0]|0;i[b+12>>0]=i[Z+13>>0]|0;i[b+13>>0]=i[Z+14>>0]|0;i[b+14>>0]=i[Z+15>>0]|0;i[b+15>>0]=i[Z+16>>0]|0;p=p+1|0;if((p|0)==16)break;else b=b+16|0}break}case 1:{if(!l)break e;else{b=d;p=0}while(1){$=Z+40+p|0;i[b>>0]=i[$>>0]|0;i[b+1>>0]=i[$>>0]|0;i[b+2>>0]=i[$>>0]|0;i[b+3>>0]=i[$>>0]|0;i[b+4>>0]=i[$>>0]|0;i[b+5>>0]=i[$>>0]|0;i[b+6>>0]=i[$>>0]|0;i[b+7>>0]=i[$>>0]|0;i[b+8>>0]=i[$>>0]|0;i[b+9>>0]=i[$>>0]|0;i[b+10>>0]=i[$>>0]|0;i[b+11>>0]=i[$>>0]|0;i[b+12>>0]=i[$>>0]|0;i[b+13>>0]=i[$>>0]|0;i[b+14>>0]=i[$>>0]|0;i[b+15>>0]=i[$>>0]|0;p=p+1|0;if((p|0)==16)break;else b=b+16|0}break}case 2:{p=(l|0)!=0;b=(w|0)!=0;do{if(p&b)b=((o[Z+1>>0]|0)+16+(o[Z+40>>0]|0)+(o[Z+2>>0]|0)+(o[Z+40+1>>0]|0)+(o[Z+3>>0]|0)+(o[Z+40+2>>0]|0)+(o[Z+4>>0]|0)+(o[Z+40+3>>0]|0)+(o[Z+5>>0]|0)+(o[Z+40+4>>0]|0)+(o[Z+6>>0]|0)+(o[Z+40+5>>0]|0)+(o[Z+7>>0]|0)+(o[Z+40+6>>0]|0)+(o[Z+8>>0]|0)+(o[Z+40+7>>0]|0)+(o[Z+9>>0]|0)+(o[Z+40+8>>0]|0)+(o[Z+10>>0]|0)+(o[Z+40+9>>0]|0)+(o[Z+11>>0]|0)+(o[Z+40+10>>0]|0)+(o[Z+12>>0]|0)+(o[Z+40+11>>0]|0)+(o[Z+13>>0]|0)+(o[Z+40+12>>0]|0)+(o[Z+14>>0]|0)+(o[Z+40+13>>0]|0)+(o[Z+15>>0]|0)+(o[Z+40+14>>0]|0)+(o[Z+16>>0]|0)+(o[Z+40+15>>0]|0)|0)>>>5;else{if(p){b=((o[Z+40>>0]|0)+8+(o[Z+40+1>>0]|0)+(o[Z+40+2>>0]|0)+(o[Z+40+3>>0]|0)+(o[Z+40+4>>0]|0)+(o[Z+40+5>>0]|0)+(o[Z+40+6>>0]|0)+(o[Z+40+7>>0]|0)+(o[Z+40+8>>0]|0)+(o[Z+40+9>>0]|0)+(o[Z+40+10>>0]|0)+(o[Z+40+11>>0]|0)+(o[Z+40+12>>0]|0)+(o[Z+40+13>>0]|0)+(o[Z+40+14>>0]|0)+(o[Z+40+15>>0]|0)|0)>>>4;break}if(!b){b=128;break}b=((o[Z+1>>0]|0)+8+(o[Z+2>>0]|0)+(o[Z+3>>0]|0)+(o[Z+4>>0]|0)+(o[Z+5>>0]|0)+(o[Z+6>>0]|0)+(o[Z+7>>0]|0)+(o[Z+8>>0]|0)+(o[Z+9>>0]|0)+(o[Z+10>>0]|0)+(o[Z+11>>0]|0)+(o[Z+12>>0]|0)+(o[Z+13>>0]|0)+(o[Z+14>>0]|0)+(o[Z+15>>0]|0)+(o[Z+16>>0]|0)|0)>>>4}}while(0);vt(d|0,b&255|0,256)|0;break}default:{if(!((l|0)!=0&(w|0)!=0&(b|0)!=0))break e;b=o[Z+16>>0]|0;p=o[Z+40+15>>0]|0;l=o[Z>>0]|0;w=(((o[Z+9>>0]|0)-(o[Z+7>>0]|0)+((o[Z+10>>0]|0)-(o[Z+6>>0]|0)<<1)+(((o[Z+11>>0]|0)-(o[Z+5>>0]|0)|0)*3|0)+((o[Z+12>>0]|0)-(o[Z+4>>0]|0)<<2)+(((o[Z+13>>0]|0)-(o[Z+3>>0]|0)|0)*5|0)+(((o[Z+14>>0]|0)-(o[Z+2>>0]|0)|0)*6|0)+(((o[Z+15>>0]|0)-(o[Z+1>>0]|0)|0)*7|0)+(b-l<<3)|0)*5|0)+32>>6;l=(((o[Z+40+8>>0]|0)-(o[Z+40+6>>0]|0)+(p-l<<3)+((o[Z+40+9>>0]|0)-(o[Z+40+5>>0]|0)<<1)+(((o[Z+40+10>>0]|0)-(o[Z+40+4>>0]|0)|0)*3|0)+((o[Z+40+11>>0]|0)-(o[Z+40+3>>0]|0)<<2)+(((o[Z+40+12>>0]|0)-(o[Z+40+2>>0]|0)|0)*5|0)+(((o[Z+40+13>>0]|0)-(o[Z+40+1>>0]|0)|0)*6|0)+(((o[Z+40+14>>0]|0)-(o[Z+40>>0]|0)|0)*7|0)|0)*5|0)+32>>6;v=0;do{k=(p+b<<4)+16+(ee(v+-7|0,l)|0)|0;_=v<<4;y=0;do{$=k+(ee(y+-7|0,w)|0)>>5;i[d+(y+_)>>0]=($|0)<0?0:($|0)>255?-1:$&255;y=y+1|0}while((y|0)!=16);v=v+1|0}while((v|0)!=16)}}He(d,t+328|0,0);He(d,t+392|0,1);He(d,t+456|0,2);He(d,t+520|0,3);He(d,t+584|0,4);He(d,t+648|0,5);He(d,t+712|0,6);He(d,t+776|0,7);He(d,t+840|0,8);He(d,t+904|0,9);He(d,t+968|0,10);He(d,t+1032|0,11);He(d,t+1096|0,12);He(d,t+1160|0,13);He(d,t+1224|0,14);He(d,t+1288|0,15);b=e+200|0;Q=179}else{B=0;while(1){$=384+(B<<3)|0;_=a[$+4>>2]|0;switch(a[$>>2]|0){case 0:{b=e+200|0;Q=113;break}case 1:{b=e+204|0;Q=113;break}case 2:{b=e+208|0;Q=113;break}case 3:{b=e+212|0;Q=113;break}case 4:{b=e;Q=114;break}default:{k=0;w=0}}if((Q|0)==113){Q=0;b=a[b>>2]|0;if(!b){k=0;w=0}else Q=114}do{if((Q|0)==114){p=(a[e+4>>2]|0)==(a[b+4>>2]|0);if(!((h|0)!=0&p)){k=b;w=p&1;break}k=b;w=(a[b>>2]|0)>>>0<6?0:p&1}}while(0);$=576+(B<<3)|0;l=a[$+4>>2]|0;switch(a[$>>2]|0){case 0:{b=e+200|0;Q=120;break}case 1:{b=e+204|0;Q=120;break}case 2:{b=e+208|0;Q=120;break}case 3:{b=e+212|0;Q=120;break}case 4:{b=e;Q=122;break}default:Q=121}if((Q|0)==120){b=a[b>>2]|0;if(!b)Q=121;else Q=122}do{if((Q|0)==121){Q=0;R=0;M=0;T=(w|0)!=0;b=2}else if((Q|0)==122){Q=0;p=(a[e+4>>2]|0)==(a[b+4>>2]|0);if((h|0)!=0&p)p=(a[b>>2]|0)>>>0<6?0:p&1;else p=p&1;w=(w|0)!=0;p=(p|0)!=0;if(!(w&p)){R=0;M=p;T=w;b=2;break}if((a[k>>2]|0)==6)p=o[(_&255)+(k+82)>>0]|0;else p=2;if((a[b>>2]|0)==6)b=o[(l&255)+(b+82)>>0]|0;else b=2;R=1;M=1;T=1;b=p>>>0<b>>>0?p:b}}while(0);if(!(a[t+12+(B<<2)>>2]|0)){$=a[t+76+(B<<2)>>2]|0;b=($>>>0>=b>>>0&1)+$|0}i[e+82+B>>0]=b;switch(a[768+(B<<3)>>2]|0){case 0:{p=e+200|0;Q=136;break}case 1:{p=e+204|0;Q=136;break}case 2:{p=e+208|0;Q=136;break}case 3:{p=e+212|0;Q=136;break}case 4:{p=e;Q=137;break}default:S=0}if((Q|0)==136){Q=0;p=a[p>>2]|0;if(!p)S=0;else Q=137}do{if((Q|0)==137){Q=0;w=(a[e+4>>2]|0)==(a[p+4>>2]|0);if(!((h|0)!=0&w)){S=w&1;break}S=(a[p>>2]|0)>>>0<6?0:w&1}}while(0);switch(a[960+(B<<3)>>2]|0){case 0:{p=e+200|0;Q=143;break}case 1:{p=e+204|0;Q=143;break}case 2:{p=e+208|0;Q=143;break}case 3:{p=e+212|0;Q=143;break}case 4:{p=e;Q=144;break}default:A=0}if((Q|0)==143){Q=0;p=a[p>>2]|0;if(!p)A=0;else Q=144}do{if((Q|0)==144){Q=0;w=(a[e+4>>2]|0)==(a[p+4>>2]|0);if(!((h|0)!=0&w)){A=w&1;break}A=(a[p>>2]|0)>>>0<6?0:w&1}}while(0);N=a[1152+(B<<2)>>2]|0;L=a[1216+(B<<2)>>2]|0;y=(1285>>>B&1|0)!=0;if(y){w=Z+40+(L+1)|0;p=Z+40+L|0;l=Z+40+(L+3)|0;k=Z+40+(L+2)|0}else{w=d+((L<<4)+N+15)|0;p=d+((L<<4)+N+-1)|0;l=d+((L<<4)+N+47)|0;k=d+((L<<4)+N+31)|0}x=i[p>>0]|0;D=i[w>>0]|0;U=i[l>>0]|0;I=i[k>>0]|0;do{if(!(51>>>B&1)){p=(L+-1<<4)+N|0;w=i[d+p>>0]|0;k=i[d+(p+1)>>0]|0;_=i[d+(p+2)>>0]|0;g=i[d+(p+3)>>0]|0;E=i[d+(p+4)>>0]|0;l=i[d+(p+5)>>0]|0;m=i[d+(p+6)>>0]|0;v=i[d+(p+7)>>0]|0;if(y){y=Z+40+(L+-1)|0;P=g;O=m;p=E;break}else{y=d+(p+-1)|0;P=g;O=m;p=E;break}}else{y=Z+N|0;w=i[Z+(N+1)>>0]|0;k=i[Z+(N+2)>>0]|0;_=i[Z+(N+3)>>0]|0;P=i[Z+(N+4)>>0]|0;v=i[Z+(N+8)>>0]|0;O=i[Z+(N+7)>>0]|0;l=i[Z+(N+6)>>0]|0;p=i[Z+(N+5)>>0]|0}}while(0);C=i[y>>0]|0;switch(b|0){case 0:{if(!M)break e;p=P;l=_;v=k;y=w;g=P;m=_;E=k;A=w;S=P;T=_;M=k;R=w;b=(_&255)<<16|(P&255)<<24|(k&255)<<8|w&255;break}case 1:{if(!T)break e;y=ee(x&255,16843009)|0;A=ee(D&255,16843009)|0;R=ee(I&255,16843009)|0;p=y>>>24&255;l=y>>>16&255;v=y>>>8&255;y=y&255;g=A>>>24&255;m=A>>>16&255;E=A>>>8&255;A=A&255;S=R>>>24&255;T=R>>>16&255;M=R>>>8&255;R=R&255;b=ee(U&255,16843009)|0;break}case 2:{do{if(R)b=((x&255)+4+(D&255)+(U&255)+(I&255)+(P&255)+(_&255)+(k&255)+(w&255)|0)>>>3;else{if(T){b=((x&255)+2+(D&255)+(U&255)+(I&255)|0)>>>2;break}if(!M){b=128;break}b=((P&255)+2+(_&255)+(k&255)+(w&255)|0)>>>2}}while(0);b=ee(b&255,16843009)|0;p=b>>>24&255;l=b>>>16&255;v=b>>>8&255;y=b&255;g=b>>>24&255;m=b>>>16&255;E=b>>>8&255;A=b&255;S=b>>>24&255;T=b>>>16&255;M=b>>>8&255;R=b&255;break}case 3:{if(!M)break e;$=(S|0)==0;A=k&255;R=_&255;X=P&255;J=($?P:p)&255;u=($?P:l)&255;M=(X+2+u+(J<<1)|0)>>>2&255;b=($?P:O)&255;T=(J+2+b+(u<<1)|0)>>>2&255;$=($?P:v)&255;p=M;l=(J+(X<<1)+(R+2)|0)>>>2&255;v=(A+(X+2)+(R<<1)|0)>>>2&255;y=((w&255)+(R+2)+(A<<1)|0)>>>2&255;g=T;m=M;E=(J+(X<<1)+(R+2)|0)>>>2&255;A=(A+(X+2)+(R<<1)|0)>>>2&255;S=(u+2+$+(b<<1)|0)>>>2&255;R=(J+(X<<1)+(R+2)|0)>>>2&255;b=(X+2+u+(J<<1)|0)>>>2&255|(b+2+($*3|0)|0)>>>2<<24|(J+2+b+(u<<1)|0)>>>2<<8&65280|(u+2+$+(b<<1)|0)>>>2<<16&16711680;break}case 4:{if(!(R&(A|0)!=0))break e;b=w&255;T=(b+2+(x&255)+((C&255)<<1)|0)>>>2&255;S=k&255;g=_&255;M=((D&255)+((x&255)<<1)+((C&255)+2)|0)>>>2&255;p=((P&255)+2+S+(g<<1)|0)>>>2&255;l=((S<<1)+g+(b+2)|0)>>>2&255;v=((b<<1)+S+((C&255)+2)|0)>>>2&255;y=T;g=((S<<1)+g+(b+2)|0)>>>2&255;m=((b<<1)+S+((C&255)+2)|0)>>>2&255;E=T;A=M;S=((b<<1)+S+((C&255)+2)|0)>>>2&255;R=((x&255)+2+((D&255)<<1)+(I&255)|0)>>>2&255;b=((D&255)+2+(U&255)+((I&255)<<1)|0)>>>2&255|((x&255)+2+((D&255)<<1)+(I&255)|0)>>>2<<8&65280|(b+2+(x&255)+((C&255)<<1)|0)>>>2<<24|((D&255)+((x&255)<<1)+((C&255)+2)|0)>>>2<<16&16711680;break}case 5:{if(!(R&(A|0)!=0))break e;b=w&255;$=k&255;u=_&255;g=P&255;p=(g+1+u|0)>>>1&255;l=(u+1+$|0)>>>1&255;v=($+1+b|0)>>>1&255;y=(b+1+(C&255)|0)>>>1&255;g=(g+2+$+(u<<1)|0)>>>2&255;m=(($<<1)+u+(b+2)|0)>>>2&255;E=($+2+(b<<1)+(C&255)|0)>>>2&255;A=(b+2+(x&255)+((C&255)<<1)|0)>>>2&255;S=(u+1+$|0)>>>1&255;T=($+1+b|0)>>>1&255;M=(b+1+(C&255)|0)>>>1&255;R=((D&255)+2+((x&255)<<1)+(C&255)|0)>>>2&255;b=(($<<1)+u+(b+2)|0)>>>2<<24|((x&255)+2+((D&255)<<1)+(I&255)|0)>>>2&255|($+2+(b<<1)+(C&255)|0)>>>2<<16&16711680|(b+2+(x&255)+((C&255)<<1)|0)>>>2<<8&65280;break}case 6:{if(!(R&(A|0)!=0))break e;g=w&255;l=k&255;p=((_&255)+2+(l<<1)+g|0)>>>2&255;l=(l+2+(g<<1)+(C&255)|0)>>>2&255;v=(g+((x&255)+2)+((C&255)<<1)|0)>>>2&255;y=((C&255)+((x&255)+1)|0)>>>1&255;g=(g+((x&255)+2)+((C&255)<<1)|0)>>>2&255;m=((C&255)+((x&255)+1)|0)>>>1&255;E=(((x&255)<<1)+2+(D&255)+(C&255)|0)>>>2&255;A=((x&255)+1+(D&255)|0)>>>1&255;S=(((x&255)<<1)+2+(D&255)+(C&255)|0)>>>2&255;T=((x&255)+1+(D&255)|0)>>>1&255;M=(((D&255)<<1)+((x&255)+2)+(I&255)|0)>>>2&255;R=((D&255)+1+(I&255)|0)>>>1&255;b=((U&255)+1+(I&255)|0)>>>1&255|(((D&255)<<1)+((x&255)+2)+(I&255)|0)>>>2<<24|((D&255)+1+(I&255)|0)>>>1<<16&16711680|(D&255)+2+(U&255)+((I&255)<<1)<<6&65280;break}case 7:{if(!M)break e;X=(S|0)==0;A=w&255;z=k&255;b=_&255;$=P&255;u=(X?P:p)&255;J=(X?P:l)&255;p=($+1+u|0)>>>1&255;l=($+1+b|0)>>>1&255;v=(b+1+z|0)>>>1&255;y=(z+1+A|0)>>>1&255;g=($+2+J+(u<<1)|0)>>>2&255;m=(u+($<<1)+(b+2)|0)>>>2&255;E=(z+($+2)+(b<<1)|0)>>>2&255;A=(A+(b+2)+(z<<1)|0)>>>2&255;S=(u+1+J|0)>>>1&255;T=($+1+u|0)>>>1&255;M=($+1+b|0)>>>1&255;R=(b+1+z|0)>>>1&255;b=(z+($+2)+(b<<1)|0)>>>2&255|(u+2+((X?P:O)&255)+(J<<1)|0)>>>2<<24|($+2+J+(u<<1)|0)>>>2<<16&16711680|(u+($<<1)+(b+2)|0)>>>2<<8&65280;break}default:{if(!T)break e;p=((D&255)+2+(U&255)+((I&255)<<1)|0)>>>2&255;l=((D&255)+1+(I&255)|0)>>>1&255;v=((x&255)+2+((D&255)<<1)+(I&255)|0)>>>2&255;y=((x&255)+1+(D&255)|0)>>>1&255;g=((I&255)+2+((U&255)*3|0)|0)>>>2&255;m=((U&255)+1+(I&255)|0)>>>1&255;E=((D&255)+2+(U&255)+((I&255)<<1)|0)>>>2&255;A=((D&255)+1+(I&255)|0)>>>1&255;S=U;T=U;M=((I&255)+2+((U&255)*3|0)|0)>>>2&255;R=((U&255)+1+(I&255)|0)>>>1&255;b=(U&255)<<8|U&255|(U&255)<<16|(U&255)<<24}}a[d+((L<<4)+N)>>2]=(l&255)<<16|(p&255)<<24|(v&255)<<8|y&255;a[d+((L<<4)+N+16)>>2]=(m&255)<<16|(g&255)<<24|(E&255)<<8|A&255;a[d+((L<<4)+N+32)>>2]=(T&255)<<16|(S&255)<<24|(M&255)<<8|R&255;a[d+((L<<4)+N+48)>>2]=b;He(d,t+328+(B<<6)|0,B);B=B+1|0;if(B>>>0>=16){b=e+200|0;Q=179;break e}}}}while(0);e:do{if((Q|0)==179){O=a[t+140>>2]|0;b=a[b>>2]|0;do{if(!b){w=(h|0)!=0;k=0}else{p=(a[e+4>>2]|0)==(a[b+4>>2]|0);if(!((h|0)!=0&p)){w=(h|0)!=0;k=p&1;break}w=1;k=(a[b>>2]|0)>>>0<6?0:p&1}}while(0);b=a[e+204>>2]|0;do{if(!b)l=0;else{p=(a[e+4>>2]|0)==(a[b+4>>2]|0);if(!(w&p)){l=p&1;break}l=(a[b>>2]|0)>>>0<6?0:p&1}}while(0);b=a[e+212>>2]|0;do{if(!b)b=0;else{p=(a[e+4>>2]|0)==(a[b+4>>2]|0);if(!(w&p)){b=p&1;break}b=(a[b>>2]|0)>>>0<6?0:p&1}}while(0);R=(k|0)!=0;C=(l|0)!=0;M=R&C&(b|0)!=0;T=(k|0)==0;S=(l|0)==0;m=d+256|0;E=Z+40+16|0;A=Z+21|0;v=t+1352|0;y=16;g=0;while(1){switch(O|0){case 0:{w=A+1|0;do{if(R&C){b=((o[w>>0]|0)+4+(o[A+2>>0]|0)+(o[A+3>>0]|0)+(o[A+4>>0]|0)+(o[E>>0]|0)+(o[E+1>>0]|0)+(o[E+2>>0]|0)+(o[E+3>>0]|0)|0)>>>3;p=((o[A+5>>0]|0)+2+(o[A+6>>0]|0)+(o[A+7>>0]|0)+(o[A+8>>0]|0)|0)>>>2}else{if(C){b=((o[w>>0]|0)+2+(o[A+2>>0]|0)+(o[A+3>>0]|0)+(o[A+4>>0]|0)|0)>>>2;p=((o[A+5>>0]|0)+2+(o[A+6>>0]|0)+(o[A+7>>0]|0)+(o[A+8>>0]|0)|0)>>>2;break}if(!R){b=128;p=128;break}p=((o[E>>0]|0)+2+(o[E+1>>0]|0)+(o[E+2>>0]|0)+(o[E+3>>0]|0)|0)>>>2;b=p}}while(0);t=b&255;$=p&255;_=m+32|0;vt(m|0,t|0,4)|0;vt(m+4|0,$|0,4)|0;vt(m+8|0,t|0,4)|0;vt(m+12|0,$|0,4)|0;vt(m+16|0,t|0,4)|0;vt(m+20|0,$|0,4)|0;vt(m+24|0,t|0,4)|0;vt(m+28|0,$|0,4)|0;do{if(R){b=o[E+4>>0]|0;p=o[E+5>>0]|0;w=o[E+6>>0]|0;l=o[E+7>>0]|0;if(!C){k=(b+2+p+w+l|0)>>>2;b=(b+2+p+w+l|0)>>>2;break}k=(b+2+p+w+l|0)>>>2;b=(b+4+p+w+l+(o[A+5>>0]|0)+(o[A+6>>0]|0)+(o[A+7>>0]|0)+(o[A+8>>0]|0)|0)>>>3}else{if(!C){k=128;b=128;break}k=((o[w>>0]|0)+2+(o[A+2>>0]|0)+(o[A+3>>0]|0)+(o[A+4>>0]|0)|0)>>>2;b=((o[A+5>>0]|0)+2+(o[A+6>>0]|0)+(o[A+7>>0]|0)+(o[A+8>>0]|0)|0)>>>2}}while(0);t=k&255;$=b&255;vt(_|0,t|0,4)|0;vt(m+36|0,$|0,4)|0;vt(m+40|0,t|0,4)|0;vt(m+44|0,$|0,4)|0;vt(m+48|0,t|0,4)|0;vt(m+52|0,$|0,4)|0;vt(m+56|0,t|0,4)|0;vt(m+60|0,$|0,4)|0;break}case 1:{if(T)break e;vt(m|0,i[E>>0]|0,8)|0;vt(m+8|0,i[E+1>>0]|0,8)|0;vt(m+16|0,i[E+2>>0]|0,8)|0;vt(m+24|0,i[E+3>>0]|0,8)|0;vt(m+32|0,i[E+4>>0]|0,8)|0;vt(m+40|0,i[E+5>>0]|0,8)|0;vt(m+48|0,i[E+6>>0]|0,8)|0;vt(m+56|0,i[E+7>>0]|0,8)|0;break}case 2:{if(S)break e;$=i[A+1>>0]|0;i[m>>0]=$;i[m+8>>0]=$;i[m+16>>0]=$;i[m+24>>0]=$;i[m+32>>0]=$;i[m+40>>0]=$;i[m+48>>0]=$;i[m+56>>0]=$;$=i[A+2>>0]|0;i[m+1>>0]=$;i[m+9>>0]=$;i[m+17>>0]=$;i[m+25>>0]=$;i[m+33>>0]=$;i[m+41>>0]=$;i[m+49>>0]=$;i[m+57>>0]=$;$=i[A+3>>0]|0;i[m+2>>0]=$;i[m+10>>0]=$;i[m+18>>0]=$;i[m+26>>0]=$;i[m+34>>0]=$;i[m+42>>0]=$;i[m+50>>0]=$;i[m+58>>0]=$;$=i[A+4>>0]|0;i[m+3>>0]=$;i[m+11>>0]=$;i[m+19>>0]=$;i[m+27>>0]=$;i[m+35>>0]=$;i[m+43>>0]=$;i[m+51>>0]=$;i[m+59>>0]=$;$=i[A+5>>0]|0;i[m+4>>0]=$;i[m+12>>0]=$;i[m+20>>0]=$;i[m+28>>0]=$;i[m+36>>0]=$;i[m+44>>0]=$;i[m+52>>0]=$;i[m+60>>0]=$;$=i[A+6>>0]|0;i[m+5>>0]=$;i[m+13>>0]=$;i[m+21>>0]=$;i[m+29>>0]=$;i[m+37>>0]=$;i[m+45>>0]=$;i[m+53>>0]=$;i[m+61>>0]=$;$=i[A+7>>0]|0;i[m+6>>0]=$;i[m+14>>0]=$;i[m+22>>0]=$;i[m+30>>0]=$;i[m+38>>0]=$;i[m+46>>0]=$;i[m+54>>0]=$;i[m+62>>0]=$;$=i[A+8>>0]|0;i[m+7>>0]=$;i[m+15>>0]=$;i[m+23>>0]=$;i[m+31>>0]=$;i[m+39>>0]=$;i[m+47>>0]=$;i[m+55>>0]=$;i[m+63>>0]=$;break}default:{if(!M)break e;k=o[A+8>>0]|0;_=o[E+7>>0]|0;w=o[A>>0]|0;p=(((o[A+5>>0]|0)-(o[A+3>>0]|0)+((o[A+6>>0]|0)-(o[A+2>>0]|0)<<1)+(((o[A+7>>0]|0)-(o[A+1>>0]|0)|0)*3|0)+(k-w<<2)|0)*17|0)+16>>5;w=(((o[E+4>>0]|0)-(o[E+2>>0]|0)+(_-w<<2)+((o[E+5>>0]|0)-(o[E+1>>0]|0)<<1)+(((o[E+6>>0]|0)-(o[E>>0]|0)|0)*3|0)|0)*17|0)+16>>5;l=ee(p,-3)|0;b=m;k=(_+k<<4)+16+(ee(w,-3)|0)|0;_=8;while(1){_=_+-1|0;$=k+l|0;i[b>>0]=i[6294+(($>>5)+512)>>0]|0;i[b+1>>0]=i[6294+(($+p>>5)+512)>>0]|0;i[b+2>>0]=i[6294+(($+p+p>>5)+512)>>0]|0;i[b+3>>0]=i[6294+(($+p+p+p>>5)+512)>>0]|0;i[b+4>>0]=i[6294+(($+p+p+p+p>>5)+512)>>0]|0;$=$+p+p+p+p+p|0;i[b+5>>0]=i[6294+(($>>5)+512)>>0]|0;i[b+6>>0]=i[6294+(($+p>>5)+512)>>0]|0;i[b+7>>0]=i[6294+(($+p+p>>5)+512)>>0]|0;if(!_)break;else{b=b+8|0;k=k+w|0}}}}He(m,v,y);$=y|1;He(m,v+64|0,$);He(m,v+128|0,$+1|0);He(m,v+192|0,y|3);g=g+1|0;if(g>>>0>=2)break;else{m=m+64|0;E=E+8|0;A=A+9|0;v=v+256|0;y=y+4|0}}if((a[e+196>>2]|0)>>>0<=1)Ze(r,d);$=0;c=Z;return $|0}}while(0);$=1;c=Z;return $|0}}while(0);$=a[r+4>>2]|0;V=((u>>>0)/($>>>0)|0)<<4;q=u-(ee((u>>>0)/($>>>0)|0,$)|0)<<4;a[Z+4>>2]=$;a[Z+8>>2]=a[r+8>>2];e:do{switch(k|0){case 1:case 0:{S=a[t+144>>2]|0;b=a[e+200>>2]|0;if((b|0)!=0?(a[b+4>>2]|0)==(a[e+4>>2]|0):0){if((a[b>>2]|0)>>>0<6){g=s[b+152>>1]|s[b+152+2>>1]<<16;l=1;_=a[b+104>>2]|0;b=g>>>16&65535;g=g&65535}else{l=1;_=-1;b=0;g=0}}else{l=0;_=-1;b=0;g=0}p=a[e+204>>2]|0;if((p|0)!=0?(a[p+4>>2]|0)==(a[e+4>>2]|0):0){if((a[p>>2]|0)>>>0<6){y=s[p+172>>1]|s[p+172+2>>1]<<16;w=1;v=a[p+108>>2]|0;m=y>>>16&65535;y=y&65535}else{w=1;v=-1;m=0;y=0}}else{w=0;v=-1;m=0;y=0}do{if(!k){if(!((l|0)==0|(w|0)==0)){if((_|0)==0?((b&65535)<<16|g&65535|0)==0:0){p=0;b=0;break}if((v|0)==0?((m&65535)<<16|y&65535|0)==0:0){p=0;b=0}else Q=230}else{p=0;b=0}}else Q=230}while(0);if((Q|0)==230){E=n[t+160>>1]|0;A=n[t+162>>1]|0;p=a[e+208>>2]|0;if((p|0)!=0?(a[p+4>>2]|0)==(a[e+4>>2]|0):0){if((a[p>>2]|0)>>>0<6){k=a[p+108>>2]|0;l=s[p+172>>1]|s[p+172+2>>1]<<16;Q=239}else{k=-1;l=0;Q=239}}else Q=234;do{if((Q|0)==234){p=a[e+212>>2]|0;if((p|0)!=0?(a[p+4>>2]|0)==(a[e+4>>2]|0):0){if((a[p>>2]|0)>>>0>=6){k=-1;l=0;Q=239;break}k=a[p+112>>2]|0;l=s[p+192>>1]|s[p+192+2>>1]<<16;Q=239;break}if((l|0)==0|(w|0)!=0){k=-1;l=0;Q=239}else p=g}}while(0);do{if((Q|0)==239){w=(_|0)==(S|0);p=(v|0)==(S|0);if(((p&1)+(w&1)+((k|0)==(S|0)&1)|0)!=1){J=g<<16>>16;z=y<<16>>16;p=l<<16>>16;K=y<<16>>16>g<<16>>16;X=K?z:J;J=K?J:(z|0)<(J|0)?z:J;z=b<<16>>16;K=m<<16>>16;$=l>>16;b=m<<16>>16>b<<16>>16;h=b?K:z;b=b?z:(K|0)<(z|0)?K:z;p=((X|0)<(p|0)?X:(J|0)>(p|0)?J:p)&65535;b=((h|0)<($|0)?h:(b|0)>($|0)?b:$)&65535;break}if(w|p){p=w?g:y;b=w?b:m}else{p=l&65535;b=l>>>16&65535}}}while(0);p=(p&65535)+(E&65535)|0;b=(b&65535)+(A&65535)|0;if(((p<<16>>16)+8192|0)>>>0>16383){Q=427;break e}if(((b<<16>>16)+2048|0)>>>0>4095){Q=427;break e}else{p=p&65535;b=b&65535}}if(((S>>>0<=16?(x=a[(a[f+4>>2]|0)+(S<<2)>>2]|0,(x|0)!=0):0)?(a[x+20>>2]|0)>>>0>1:0)?(N=a[x>>2]|0,(N|0)!=0):0){n[e+192>>1]=p;n[e+194>>1]=b;$=s[e+192>>1]|s[e+192+2>>1]<<16;n[e+188>>1]=$;n[e+188+2>>1]=$>>>16;n[e+184>>1]=$;n[e+184+2>>1]=$>>>16;n[e+180>>1]=$;n[e+180+2>>1]=$>>>16;n[e+176>>1]=$;n[e+176+2>>1]=$>>>16;n[e+172>>1]=$;n[e+172+2>>1]=$>>>16;n[e+168>>1]=$;n[e+168+2>>1]=$>>>16;n[e+164>>1]=$;n[e+164+2>>1]=$>>>16;n[e+160>>1]=$;n[e+160+2>>1]=$>>>16;n[e+156>>1]=$;n[e+156+2>>1]=$>>>16;n[e+152>>1]=$;n[e+152+2>>1]=$>>>16;n[e+148>>1]=$;n[e+148+2>>1]=$>>>16;n[e+144>>1]=$;n[e+144+2>>1]=$>>>16;n[e+140>>1]=$;n[e+140+2>>1]=$>>>16;n[e+136>>1]=$;n[e+136+2>>1]=$>>>16;n[e+132>>1]=$;n[e+132+2>>1]=$>>>16;a[e+100>>2]=S;a[e+104>>2]=S;a[e+108>>2]=S;a[e+112>>2]=S;a[e+116>>2]=N;a[e+120>>2]=N;a[e+124>>2]=N;a[e+128>>2]=N;a[Z>>2]=N;Ke(d,e+132|0,Z,q,V,0,0,16,16)}else Q=427;break}case 2:{g=n[t+160>>1]|0;m=n[t+162>>1]|0;E=a[t+144>>2]|0;b=a[e+204>>2]|0;if((b|0)!=0?(a[b+4>>2]|0)==(a[e+4>>2]|0):0){if((a[b>>2]|0)>>>0<6){y=s[b+172>>1]|s[b+172+2>>1]<<16;b=a[b+108>>2]|0;k=1;v=y&65535;y=y>>>16&65535}else{b=-1;k=1;v=0;y=0}}else{b=-1;k=0;v=0;y=0}t:do{if((b|0)!=(E|0)){b=a[e+200>>2]|0;if((b|0)!=0?(a[b+4>>2]|0)==(a[e+4>>2]|0):0){if((a[b>>2]|0)>>>0<6){$=s[b+152>>1]|s[b+152+2>>1]<<16;l=1;_=a[b+104>>2]|0;p=$&65535;b=$>>>16&65535}else{l=1;_=-1;p=0;b=0}}else{l=0;_=-1;p=0;b=0}w=a[e+208>>2]|0;if((w|0)!=0?(a[w+4>>2]|0)==(a[e+4>>2]|0):0){if((a[w>>2]|0)>>>0<6){k=a[w+108>>2]|0;l=s[w+172>>1]|s[w+172+2>>1]<<16}else{k=-1;l=0}}else Q=263;do{if((Q|0)==263){w=a[e+212>>2]|0;if((w|0)!=0?(a[w+4>>2]|0)==(a[e+4>>2]|0):0){if((a[w>>2]|0)>>>0>=6){k=-1;l=0;break}k=a[w+112>>2]|0;l=s[w+192>>1]|s[w+192+2>>1]<<16;break}if((k|0)!=0|(l|0)==0){k=-1;l=0}else break t}}while(0);w=(_|0)==(E|0);if((((k|0)==(E|0)&1)+(w&1)|0)!=1){z=p<<16>>16;K=v<<16>>16;J=l<<16>>16;p=v<<16>>16>p<<16>>16;X=p?K:z;p=p?z:(K|0)<(z|0)?K:z;z=b<<16>>16;K=y<<16>>16;$=l>>16;b=y<<16>>16>b<<16>>16;h=b?K:z;b=b?z:(K|0)<(z|0)?K:z;p=((X|0)<(J|0)?X:(p|0)>(J|0)?p:J)&65535;b=((h|0)<($|0)?h:(b|0)>($|0)?b:$)&65535;break}if(w){p=w?p:v;b=w?b:y}else{p=l&65535;b=l>>>16&65535}}else{p=v;b=y}}while(0);p=(p&65535)+(g&65535)|0;b=(b&65535)+(m&65535)|0;if((((((p<<16>>16)+8192|0)>>>0<=16383?!(E>>>0>16|((b<<16>>16)+2048|0)>>>0>4095):0)?(D=a[(a[f+4>>2]|0)+(E<<2)>>2]|0,(D|0)!=0):0)?(a[D+20>>2]|0)>>>0>1:0)?(B=a[D>>2]|0,(B|0)!=0):0){n[e+160>>1]=p;n[e+162>>1]=b;l=s[e+160>>1]|s[e+160+2>>1]<<16;n[e+156>>1]=l;n[e+156+2>>1]=l>>>16;n[e+152>>1]=l;n[e+152+2>>1]=l>>>16;n[e+148>>1]=l;n[e+148+2>>1]=l>>>16;n[e+144>>1]=l;n[e+144+2>>1]=l>>>16;n[e+140>>1]=l;n[e+140+2>>1]=l>>>16;n[e+136>>1]=l;n[e+136+2>>1]=l>>>16;n[e+132>>1]=l;n[e+132+2>>1]=l>>>16;a[e+100>>2]=E;a[e+104>>2]=E;a[e+116>>2]=B;a[e+120>>2]=B;_=n[t+164>>1]|0;v=n[t+166>>1]|0;y=a[t+148>>2]|0;p=a[e+200>>2]|0;if(((p|0)!=0?(a[p+4>>2]|0)==(a[e+4>>2]|0):0)?(a[p>>2]|0)>>>0<6:0){k=s[p+184>>1]|s[p+184+2>>1]<<16;b=a[p+112>>2]|0;w=k>>>16&65535;k=k&65535}else{b=-1;w=0;k=0}do{if((b|0)!=(y|0)){if(((p|0)!=0?(a[p+4>>2]|0)==(a[e+4>>2]|0):0)?(a[p>>2]|0)>>>0<6:0){b=a[p+104>>2]|0;p=s[p+160>>1]|s[p+160+2>>1]<<16}else{b=-1;p=0}if((((b|0)==(y|0)&1)+((E|0)==(y|0)&1)|0)==1){w=(E|0)==(y|0)?l>>>16:p>>>16;b=(E|0)==(y|0)?l:p;break}else{$=k<<16>>16;b=p<<16>>16;z=(l&65535)<<16>>16>k<<16>>16;h=z?l<<16>>16:$;$=z?$:(l<<16>>16|0)<($|0)?l<<16>>16:$;z=w<<16>>16;J=p>>16;w=(l>>>16&65535)<<16>>16>w<<16>>16;X=w?l>>16:z;w=w?z:(l>>16|0)<(z|0)?l>>16:z;w=(X|0)<(J|0)?X:(w|0)>(J|0)?w:J;b=(h|0)<(b|0)?h:($|0)>(b|0)?$:b;break}}else{b=w&65535;w=b;b=b<<16|k&65535}}while(0);p=(b&65535)+(_&65535)|0;b=(w&65535)+(v&65535)|0;if((((((p<<16>>16)+8192|0)>>>0<=16383?!(y>>>0>16|((b<<16>>16)+2048|0)>>>0>4095):0)?(F=a[(a[f+4>>2]|0)+(y<<2)>>2]|0,(F|0)!=0):0)?(a[F+20>>2]|0)>>>0>1:0)?(H=a[F>>2]|0,(H|0)!=0):0){n[e+192>>1]=p;n[e+194>>1]=b;$=s[e+192>>1]|s[e+192+2>>1]<<16;n[e+188>>1]=$;n[e+188+2>>1]=$>>>16;n[e+184>>1]=$;n[e+184+2>>1]=$>>>16;n[e+180>>1]=$;n[e+180+2>>1]=$>>>16;n[e+176>>1]=$;n[e+176+2>>1]=$>>>16;n[e+172>>1]=$;n[e+172+2>>1]=$>>>16;n[e+168>>1]=$;n[e+168+2>>1]=$>>>16;n[e+164>>1]=$;n[e+164+2>>1]=$>>>16;a[e+108>>2]=y;a[e+112>>2]=y;a[e+124>>2]=H;a[e+128>>2]=H;a[Z>>2]=B;Ke(d,e+132|0,Z,q,V,0,0,16,8);a[Z>>2]=a[e+124>>2];Ke(d,e+164|0,Z,q,V,0,8,16,8)}else Q=427}else Q=427;break}case 3:{y=n[t+160>>1]|0;g=n[t+162>>1]|0;m=a[t+144>>2]|0;b=a[e+200>>2]|0;if((b|0)!=0?(a[b+4>>2]|0)==(a[e+4>>2]|0):0){if((a[b>>2]|0)>>>0<6){$=s[b+152>>1]|s[b+152+2>>1]<<16;p=a[b+104>>2]|0;w=1;v=$&65535;b=$>>>16&65535}else{p=-1;w=1;v=0;b=0}}else{p=-1;w=0;v=0;b=0}t:do{if((p|0)!=(m|0)){l=a[e+204>>2]|0;if((l|0)!=0?(a[l+4>>2]|0)==(a[e+4>>2]|0):0){if((a[l>>2]|0)>>>0<6){k=s[l+172>>1]|s[l+172+2>>1]<<16;w=a[l+108>>2]|0;_=a[l+112>>2]|0;p=k&65535;l=s[l+188>>1]|s[l+188+2>>1]<<16;k=k>>>16&65535}else{w=-1;_=-1;p=0;l=0;k=0}}else Q=305;do{if((Q|0)==305){l=a[e+212>>2]|0;if((l|0)!=0?(a[l+4>>2]|0)==(a[e+4>>2]|0):0){if((a[l>>2]|0)>>>0>=6){w=-1;_=-1;p=0;l=0;k=0;break}w=-1;_=a[l+112>>2]|0;p=0;l=s[l+192>>1]|s[l+192+2>>1]<<16;k=0;break}if(!w){w=-1;_=-1;p=0;l=0;k=0}else{p=v;break t}}}while(0);w=(w|0)==(m|0);if(((w&1)+((_|0)==(m|0)&1)|0)!=1){z=v<<16>>16;K=p<<16>>16;J=l<<16>>16;p=p<<16>>16>v<<16>>16;X=p?K:z;p=p?z:(K|0)<(z|0)?K:z;z=b<<16>>16;K=k<<16>>16;$=l>>16;b=k<<16>>16>b<<16>>16;h=b?K:z;b=b?z:(K|0)<(z|0)?K:z;p=((X|0)<(J|0)?X:(p|0)>(J|0)?p:J)&65535;b=((h|0)<($|0)?h:(b|0)>($|0)?b:$)&65535;break}if(w)b=k;else{p=l&65535;b=l>>>16&65535}}else p=v}while(0);p=(p&65535)+(y&65535)|0;b=(b&65535)+(g&65535)|0;if((((((p<<16>>16)+8192|0)>>>0<=16383?!(m>>>0>16|((b<<16>>16)+2048|0)>>>0>4095):0)?(U=a[(a[f+4>>2]|0)+(m<<2)>>2]|0,(U|0)!=0):0)?(a[U+20>>2]|0)>>>0>1:0)?(Y=a[U>>2]|0,(Y|0)!=0):0){n[e+176>>1]=p;n[e+178>>1]=b;b=s[e+176>>1]|s[e+176+2>>1]<<16;n[e+172>>1]=b;n[e+172+2>>1]=b>>>16;n[e+168>>1]=b;n[e+168+2>>1]=b>>>16;n[e+164>>1]=b;n[e+164+2>>1]=b>>>16;n[e+144>>1]=b;n[e+144+2>>1]=b>>>16;n[e+140>>1]=b;n[e+140+2>>1]=b>>>16;n[e+136>>1]=b;n[e+136+2>>1]=b>>>16;n[e+132>>1]=b;n[e+132+2>>1]=b>>>16;a[e+100>>2]=m;a[e+108>>2]=m;a[e+116>>2]=Y;a[e+124>>2]=Y;_=n[t+164>>1]|0;v=n[t+166>>1]|0;y=a[t+148>>2]|0;p=a[e+208>>2]|0;if((p|0)!=0?(a[p+4>>2]|0)==(a[e+4>>2]|0):0){if((a[p>>2]|0)>>>0<6){l=a[p+108>>2]|0;k=s[p+172>>1]|s[p+172+2>>1]<<16;w=1}else{l=-1;k=0;w=1}}else{p=a[e+204>>2]|0;if((p|0)!=0?(a[p+4>>2]|0)==(a[e+4>>2]|0):0){if((a[p>>2]|0)>>>0<6){l=a[p+108>>2]|0;k=s[p+176>>1]|s[p+176+2>>1]<<16;w=1}else{l=-1;k=0;w=1}}else{l=-1;k=0;w=0}}do{if((l|0)!=(y|0)){p=a[e+204>>2]|0;if((p|0)!=0?(a[p+4>>2]|0)==(a[e+4>>2]|0):0){if((a[p>>2]|0)>>>0<6){w=s[p+188>>1]|s[p+188+2>>1]<<16;p=a[p+112>>2]|0;l=w&65535;w=w>>>16&65535}else{p=-1;l=0;w=0}}else if(!w){w=b>>>16;break}else{p=-1;l=0;w=0}p=(p|0)==(y|0);if(((p&1)+((m|0)==(y|0)&1)|0)!=1){h=l<<16>>16;$=k<<16>>16;K=l<<16>>16>(b&65535)<<16>>16;J=K?h:b<<16>>16;h=K?b<<16>>16:(h|0)<(b<<16>>16|0)?h:b<<16>>16;K=w<<16>>16;X=k>>16;w=w<<16>>16>(b>>>16&65535)<<16>>16;z=w?K:b>>16;w=w?b>>16:(K|0)<(b>>16|0)?K:b>>16;w=(z|0)<(X|0)?z:(w|0)>(X|0)?w:X;b=(J|0)<($|0)?J:(h|0)>($|0)?h:$;break}if((m|0)!=(y|0)){if(p){b=w&65535;w=b;b=b<<16|l&65535;break}else{w=k>>>16;b=k;break}}else w=b>>>16}else{w=k>>>16;b=k}}while(0);p=(b&65535)+(_&65535)|0;b=(w&65535)+(v&65535)|0;if((((((p<<16>>16)+8192|0)>>>0<=16383?!(y>>>0>16|((b<<16>>16)+2048|0)>>>0>4095):0)?(G=a[(a[f+4>>2]|0)+(y<<2)>>2]|0,(G|0)!=0):0)?(a[G+20>>2]|0)>>>0>1:0)?(W=a[G>>2]|0,(W|0)!=0):0){n[e+192>>1]=p;n[e+194>>1]=b;$=s[e+192>>1]|s[e+192+2>>1]<<16;n[e+188>>1]=$;n[e+188+2>>1]=$>>>16;n[e+184>>1]=$;n[e+184+2>>1]=$>>>16;n[e+180>>1]=$;n[e+180+2>>1]=$>>>16;n[e+160>>1]=$;n[e+160+2>>1]=$>>>16;n[e+156>>1]=$;n[e+156+2>>1]=$>>>16;n[e+152>>1]=$;n[e+152+2>>1]=$>>>16;n[e+148>>1]=$;n[e+148+2>>1]=$>>>16;a[e+104>>2]=y;a[e+112>>2]=y;a[e+120>>2]=W;a[e+128>>2]=W;a[Z>>2]=Y;Ke(d,e+132|0,Z,q,V,0,0,8,16);a[Z>>2]=a[e+120>>2];Ke(d,e+148|0,Z,q,V,8,0,8,16)}else Q=427}else Q=427;break}default:{b=0;do{P=t+176+(b<<2)|0;switch(a[P>>2]|0){case 0:{O=1;break}case 2:case 1:{O=2;break}default:O=4}I=t+192+(b<<2)|0;a[e+100+(b<<2)>>2]=a[I>>2];w=a[I>>2]|0;if(w>>>0>16){Q=353;break}p=a[(a[f+4>>2]|0)+(w<<2)>>2]|0;if(!p){Q=353;break}if((a[p+20>>2]|0)>>>0<=1){Q=353;break}$=a[p>>2]|0;a[e+116+(b<<2)>>2]=$;if(!$){Q=427;break e}C=b<<2;p=0;while(1){T=n[t+208+(b<<4)+(p<<2)>>1]|0;M=n[t+208+(b<<4)+(p<<2)+2>>1]|0;R=a[P>>2]|0;switch(a[1280+(b<<7)+(R<<5)+(p<<3)>>2]|0){case 0:{l=a[e+200>>2]|0;Q=361;break}case 1:{l=a[e+204>>2]|0;Q=361;break}case 2:{l=a[e+208>>2]|0;Q=361;break}case 3:{l=a[e+212>>2]|0;Q=361;break}case 4:{l=e;Q=361;break}default:{y=0;m=-1;l=0;S=0}}if((Q|0)==361){Q=0;k=o[1280+(b<<7)+(R<<5)+(p<<3)+4>>0]|0;if((l|0)!=0?(a[l+4>>2]|0)==(a[e+4>>2]|0):0){if((a[l>>2]|0)>>>0<6){S=l+132+(k<<2)|0;S=s[S>>1]|s[S+2>>1]<<16;y=1;m=a[l+100+(k>>>2<<2)>>2]|0;l=S&65535;S=S>>>16&65535}else{y=1;m=-1;l=0;S=0}}else{y=0;m=-1;l=0;S=0}}switch(a[1792+(b<<7)+(R<<5)+(p<<3)>>2]|0){case 0:{_=a[e+200>>2]|0;Q=370;break}case 1:{_=a[e+204>>2]|0;Q=370;break}case 2:{_=a[e+208>>2]|0;Q=370;break}case 3:{_=a[e+212>>2]|0;Q=370;break}case 4:{_=e;Q=370;break}default:{v=0;g=-1;E=0;A=0}}if((Q|0)==370){k=o[1792+(b<<7)+(R<<5)+(p<<3)+4>>0]|0;if((_|0)!=0?(a[_+4>>2]|0)==(a[e+4>>2]|0):0){if((a[_>>2]|0)>>>0<6){A=_+132+(k<<2)|0;A=s[A>>1]|s[A+2>>1]<<16;v=1;g=a[_+100+(k>>>2<<2)>>2]|0;E=A&65535;A=A>>>16&65535}else{v=1;g=-1;E=0;A=0}}else{v=0;g=-1;E=0;A=0}}switch(a[2304+(b<<7)+(R<<5)+(p<<3)>>2]|0){case 0:{_=a[e+200>>2]|0;Q=379;break}case 1:{_=a[e+204>>2]|0;Q=379;break}case 2:{_=a[e+208>>2]|0;Q=379;break}case 3:{_=a[e+212>>2]|0;Q=379;break}case 4:{_=e;Q=379;break}default:Q=383}if((Q|0)==379){k=o[2304+(b<<7)+(R<<5)+(p<<3)+4>>0]|0;if((_|0)!=0?(a[_+4>>2]|0)==(a[e+4>>2]|0):0){if((a[_>>2]|0)>>>0<6){y=_+132+(k<<2)|0;v=a[_+100+(k>>>2<<2)>>2]|0;y=s[y>>1]|s[y+2>>1]<<16;Q=393}else{v=-1;y=0;Q=393}}else Q=383}do{if((Q|0)==383){Q=0;switch(a[2816+(b<<7)+(R<<5)+(p<<3)>>2]|0){case 0:{L=a[e+200>>2]|0;Q=388;break}case 1:{L=a[e+204>>2]|0;Q=388;break}case 2:{L=a[e+208>>2]|0;Q=388;break}case 3:{L=a[e+212>>2]|0;Q=388;break}case 4:{L=e;Q=388;break}default:{}}if(((Q|0)==388?(Q=0,j=o[2816+(b<<7)+(R<<5)+(p<<3)+4>>0]|0,(L|0)!=0):0)?(a[L+4>>2]|0)==(a[e+4>>2]|0):0){if((a[L>>2]|0)>>>0>=6){v=-1;y=0;Q=393;break}y=L+132+(j<<2)|0;v=a[L+100+(j>>>2<<2)>>2]|0;y=s[y>>1]|s[y+2>>1]<<16;Q=393;break}if((y|0)==0|(v|0)!=0){v=-1;y=0;Q=393}else w=S}}while(0);do{if((Q|0)==393){Q=0;_=(m|0)==(w|0);k=(g|0)==(w|0);if(((k&1)+(_&1)+((v|0)==(w|0)&1)|0)!=1){$=l<<16>>16;z=E<<16>>16;J=y<<16>>16;l=E<<16>>16>l<<16>>16;X=l?z:$;l=l?$:(z|0)<($|0)?z:$;$=S<<16>>16;z=A<<16>>16;w=y>>16;K=A<<16>>16>S<<16>>16;h=K?z:$;$=K?$:(z|0)<($|0)?z:$;l=((X|0)<(J|0)?X:(l|0)>(J|0)?l:J)&65535;w=((h|0)<(w|0)?h:($|0)>(w|0)?$:w)&65535;break}if(_|k){l=_?l:E;w=_?S:A}else{l=y&65535;w=y>>>16&65535}}}while(0);l=(l&65535)+(T&65535)|0;w=(w&65535)+(M&65535)|0;if(((l<<16>>16)+8192|0)>>>0>16383){Q=427;break e}if(((w<<16>>16)+2048|0)>>>0>4095){Q=427;break e}switch(R|0){case 0:{n[e+132+(C<<2)>>1]=l;n[e+132+(C<<2)+2>>1]=w;n[e+132+((C|1)<<2)>>1]=l;n[e+132+((C|1)<<2)+2>>1]=w;n[e+132+((C|2)<<2)>>1]=l;n[e+132+((C|2)<<2)+2>>1]=w;n[e+132+((C|3)<<2)>>1]=l;n[e+132+((C|3)<<2)+2>>1]=w;break}case 1:{$=(p<<1)+C|0;n[e+132+($<<2)>>1]=l;n[e+132+($<<2)+2>>1]=w;n[e+132+(($|1)<<2)>>1]=l;n[e+132+(($|1)<<2)+2>>1]=w;break}case 2:{$=p+C|0;n[e+132+($<<2)>>1]=l;n[e+132+($<<2)+2>>1]=w;n[e+132+($+2<<2)>>1]=l;n[e+132+($+2<<2)+2>>1]=w;break}case 3:{$=p+C|0;n[e+132+($<<2)>>1]=l;n[e+132+($<<2)+2>>1]=w;break}default:{}}p=p+1|0;if(p>>>0>=O>>>0)break;w=a[I>>2]|0}b=b+1|0}while(b>>>0<4);if((Q|0)==353){a[e+116+(b<<2)>>2]=0;Q=427;break e}w=0;while(1){a[Z>>2]=a[e+116+(w<<2)>>2];b=w<<3&8;p=w>>>0<2?0:8;switch(a[t+176+(w<<2)>>2]|0){case 0:{Ke(d,e+132+(w<<2<<2)|0,Z,q,V,b,p,8,8);break}case 1:{$=w<<2;Ke(d,e+132+($<<2)|0,Z,q,V,b,p,8,4);Ke(d,e+132+(($|2)<<2)|0,Z,q,V,b,p|4,8,4);break}case 2:{$=w<<2;Ke(d,e+132+($<<2)|0,Z,q,V,b,p,4,8);Ke(d,e+132+(($|1)<<2)|0,Z,q,V,b|4,p,4,8);break}default:{$=w<<2;Ke(d,e+132+($<<2)|0,Z,q,V,b,p,4,4);Ke(d,e+132+(($|1)<<2)|0,Z,q,V,b|4,p,4,4);Ke(d,e+132+(($|2)<<2)|0,Z,q,V,b,p|4,4,4);Ke(d,e+132+(($|3)<<2)|0,Z,q,V,b|4,p|4,4,4)}}w=w+1|0;if((w|0)==4)break e}}}}while(0);if((Q|0)==427){$=1;c=Z;return $|0}do{if((a[e+196>>2]|0)>>>0<=1){if(!(a[e>>2]|0)){Ze(r,d);break}m=a[r+4>>2]|0;_=a[r+8>>2]|0;g=a[r>>2]|0;k=0;do{p=a[1152+(k<<2)>>2]|0;w=a[1216+(k<<2)>>2]|0;b=(u-((u>>>0)%(m>>>0)|0)<<8)+(((u>>>0)%(m>>>0)|0)<<4)+p+(ee(w,m<<4)|0)|0;l=a[t+328+(k<<6)>>2]|0;if((l|0)==16777215){$=a[d+((w<<4)+p+16)>>2]|0;a[g+b>>2]=a[d+((w<<4)+p)>>2];a[g+b+((m<<2&1073741820)<<2)>>2]=$;$=a[d+((w<<4)+p+48)>>2]|0;a[g+b+((m<<2&1073741820)<<1<<2)>>2]=a[d+((w<<4)+p+32)>>2];a[g+b+((m<<2&1073741820)*3<<2)>>2]=$}else{$=o[d+((w<<4)+p+1)>>0]|0;r=a[t+328+(k<<6)+4>>2]|0;i[g+b>>0]=i[6294+(l+512+(o[d+((w<<4)+p)>>0]|0))>>0]|0;e=o[d+((w<<4)+p+2)>>0]|0;Q=a[t+328+(k<<6)+8>>2]|0;i[g+(b+1)>>0]=i[6294+(($|512)+r)>>0]|0;r=o[d+((w<<4)+p+3)>>0]|0;$=a[t+328+(k<<6)+12>>2]|0;i[g+(b+2)>>0]=i[6294+(Q+512+e)>>0]|0;i[g+(b+3)>>0]=i[6294+($+512+r)>>0]|0;r=o[d+((w<<4)+p+17)>>0]|0;$=a[t+328+(k<<6)+20>>2]|0;i[g+(b+(m<<4))>>0]=i[6294+((a[t+328+(k<<6)+16>>2]|0)+512+(o[d+((w<<4)+p+16)>>0]|0))>>0]|0;e=o[d+((w<<4)+p+18)>>0]|0;Q=a[t+328+(k<<6)+24>>2]|0;i[g+(b+(m<<4)+1)>>0]=i[6294+((r|512)+$)>>0]|0;$=o[d+((w<<4)+p+19)>>0]|0;r=a[t+328+(k<<6)+28>>2]|0;i[g+(b+(m<<4)+2)>>0]=i[6294+(Q+512+e)>>0]|0;i[g+(b+(m<<4)+3)>>0]=i[6294+(r+512+$)>>0]|0;$=b+(m<<4)+(m<<4)|0;r=o[d+((w<<4)+p+33)>>0]|0;e=a[t+328+(k<<6)+36>>2]|0;i[g+$>>0]=i[6294+((a[t+328+(k<<6)+32>>2]|0)+512+(o[d+((w<<4)+p+32)>>0]|0))>>0]|0;Q=o[d+((w<<4)+p+34)>>0]|0;h=a[t+328+(k<<6)+40>>2]|0;i[g+($+1)>>0]=i[6294+((r|512)+e)>>0]|0;e=o[d+((w<<4)+p+35)>>0]|0;r=a[t+328+(k<<6)+44>>2]|0;i[g+($+2)>>0]=i[6294+(h+512+Q)>>0]|0;i[g+($+3)>>0]=i[6294+(r+512+e)>>0]|0;e=o[d+((w<<4)+p+49)>>0]|0;r=a[t+328+(k<<6)+52>>2]|0;i[g+($+(m<<4))>>0]=i[6294+((a[t+328+(k<<6)+48>>2]|0)+512+(o[d+((w<<4)+p+48)>>0]|0))>>0]|0;Q=o[d+((w<<4)+p+50)>>0]|0;h=a[t+328+(k<<6)+56>>2]|0;i[g+($+(m<<4)+1)>>0]=i[6294+((e|512)+r)>>0]|0;r=o[d+((w<<4)+p+51)>>0]|0;e=a[t+328+(k<<6)+60>>2]|0;i[g+($+(m<<4)+2)>>0]=i[6294+(h+512+Q)>>0]|0;i[g+($+(m<<4)+3)>>0]=i[6294+(e+512+r)>>0]|0}k=k+1|0}while((k|0)!=16);w=ee(_,m)|0;v=16;do{k=v&3;l=a[1152+(k<<2)>>2]|0;k=a[1216+(k<<2)>>2]|0;y=v>>>0>19;b=y?320:256;p=(k<<3)+l+b|0;y=(((u>>>0)%(m>>>0)|0)<<3)+(w<<8)+(u-((u>>>0)%(m>>>0)|0)<<6)+l+(y?w<<6:0)+(ee(k,m<<3&2147483640)|0)|0;_=a[t+328+(v<<6)>>2]|0;if((_|0)==16777215){$=a[d+((k<<3)+l+(b|8))>>2]|0;a[g+y>>2]=a[d+p>>2];a[g+y+((m<<3&2147483640)>>>2<<2)>>2]=$;$=a[d+((k<<3)+l+(b|24))>>2]|0;a[g+y+((m<<3&2147483640)>>>1<<2)>>2]=a[d+((k<<3)+l+(b|16))>>2];a[g+y+(((m<<3&2147483640)>>>1)+((m<<3&2147483640)>>>2)<<2)>>2]=$}else{e=o[d+(p+1)>>0]|0;$=a[t+328+(v<<6)+4>>2]|0;i[g+y>>0]=i[6294+(_+512+(o[d+p>>0]|0))>>0]|0;r=o[d+(p+2)>>0]|0;Q=a[t+328+(v<<6)+8>>2]|0;i[g+(y+1)>>0]=i[6294+((e|512)+$)>>0]|0;$=o[d+(p+3)>>0]|0;e=a[t+328+(v<<6)+12>>2]|0;i[g+(y+2)>>0]=i[6294+(Q+512+r)>>0]|0;i[g+(y+3)>>0]=i[6294+(e+512+$)>>0]|0;$=y+(m<<3&2147483640)|0;e=o[d+(p+9)>>0]|0;r=a[t+328+(v<<6)+20>>2]|0;i[g+$>>0]=i[6294+((a[t+328+(v<<6)+16>>2]|0)+512+(o[d+(p+8)>>0]|0))>>0]|0;Q=o[d+(p+10)>>0]|0;h=a[t+328+(v<<6)+24>>2]|0;i[g+($+1)>>0]=i[6294+((e|512)+r)>>0]|0;r=o[d+(p+11)>>0]|0;e=a[t+328+(v<<6)+28>>2]|0;i[g+($+2)>>0]=i[6294+(h+512+Q)>>0]|0;i[g+($+3)>>0]=i[6294+(e+512+r)>>0]|0;$=$+(m<<3&2147483640)|0;r=o[d+(p+17)>>0]|0;e=a[t+328+(v<<6)+36>>2]|0;i[g+$>>0]=i[6294+((a[t+328+(v<<6)+32>>2]|0)+512+(o[d+(p+16)>>0]|0))>>0]|0;Q=o[d+(p+18)>>0]|0;h=a[t+328+(v<<6)+40>>2]|0;i[g+($+1)>>0]=i[6294+((r|512)+e)>>0]|0;e=o[d+(p+19)>>0]|0;r=a[t+328+(v<<6)+44>>2]|0;i[g+($+2)>>0]=i[6294+(h+512+Q)>>0]|0;i[g+($+3)>>0]=i[6294+(r+512+e)>>0]|0;e=o[d+(p+25)>>0]|0;r=a[t+328+(v<<6)+52>>2]|0;i[g+($+(m<<3&2147483640))>>0]=i[6294+((a[t+328+(v<<6)+48>>2]|0)+512+(o[d+(p+24)>>0]|0))>>0]|0;Q=o[d+(p+26)>>0]|0;h=a[t+328+(v<<6)+56>>2]|0;i[g+($+(m<<3&2147483640)+1)>>0]=i[6294+((e|512)+r)>>0]|0;r=o[d+(p+27)>>0]|0;e=a[t+328+(v<<6)+60>>2]|0;i[g+($+(m<<3&2147483640)+2)>>0]=i[6294+(h+512+Q)>>0]|0;i[g+($+(m<<3&2147483640)+3)>>0]=i[6294+(e+512+r)>>0]|0}v=v+1|0}while((v|0)!=24)}}while(0);$=0;c=Z;return $|0}function Ne(e,t,r){e=e|0;t=t|0;r=r|0;var o=0,s=0,f=0;s=i[384+(t<<3)+4>>0]|0;f=i[576+(t<<3)+4>>0]|0;if(11205370>>>t&1){o=n[r+((s&255)<<1)>>1]|0;if(13434828>>>t&1){e=o+1+(n[r+((f&255)<<1)>>1]|0)>>1;return e|0}t=a[e+204>>2]|0;if(!t){e=o;return e|0}if((a[e+4>>2]|0)!=(a[t+4>>2]|0)){e=o;return e|0}e=o+1+(n[t+28+((f&255)<<1)>>1]|0)>>1;return e|0}if(13434828>>>t&1){t=n[r+((f&255)<<1)>>1]|0;o=a[e+200>>2]|0;if(!o){e=t;return e|0}if((a[e+4>>2]|0)!=(a[o+4>>2]|0)){e=t;return e|0}e=t+1+(n[o+28+((s&255)<<1)>>1]|0)>>1;return e|0}t=a[e+200>>2]|0;if((t|0)!=0?(a[e+4>>2]|0)==(a[t+4>>2]|0):0){o=n[t+28+((s&255)<<1)>>1]|0;r=1}else{o=0;r=0}t=a[e+204>>2]|0;if(!t){e=o;return e|0}if((a[e+4>>2]|0)!=(a[t+4>>2]|0)){e=o;return e|0}t=n[t+28+((f&255)<<1)>>1]|0;if(!r){e=t;return e|0}e=o+1+t>>1;return e|0}function Le(e,t){e=e|0;t=t|0;var r=0,i=0,n=0,s=0,f=0,l=0;n=a[e+4>>2]|0;f=a[e+12>>2]<<3;l=a[e+16>>2]|0;if((f-l|0)>31){i=a[e+8>>2]|0;r=(o[n+1>>0]|0)<<16|(o[n>>0]|0)<<24|(o[n+2>>0]|0)<<8|(o[n+3>>0]|0);if(!i)i=e+8|0;else{r=(o[n+4>>0]|0)>>>(8-i|0)|r<<i;i=e+8|0}}else if((f-l|0)>0){i=a[e+8>>2]|0;r=(o[n>>0]|0)<<i+24;if((f-l+-8+i|0)>0){s=f-l+-8+i|0;i=i+24|0;while(1){n=n+1|0;i=i+-8|0;r=(o[n>>0]|0)<<i|r;if((s|0)<=8){i=e+8|0;break}else s=s+-8|0}}else i=e+8|0}else{r=0;i=e+8|0}a[e+16>>2]=l+t;a[i>>2]=l+t&7;if((l+t|0)>>>0>f>>>0){l=0;e=32-t|0;e=r>>>e;e=l?e:-1;return e|0}a[e+4>>2]=(a[e>>2]|0)+((l+t|0)>>>3);l=1;e=32-t|0;e=r>>>e;e=l?e:-1;return e|0}function Be(e,t){e=e|0;t=t|0;var r=0,i=0,n=0,s=0,f=0,l=0;n=a[e+4>>2]|0;l=a[e+12>>2]<<3;f=a[e+16>>2]|0;if((l-f|0)>31){i=a[e+8>>2]|0;r=(o[n+1>>0]|0)<<16|(o[n>>0]|0)<<24|(o[n+2>>0]|0)<<8|(o[n+3>>0]|0);if(!i)i=7;else{r=(o[n+4>>0]|0)>>>(8-i|0)|r<<i;i=7}}else if((l-f|0)>0){i=a[e+8>>2]|0;r=(o[n>>0]|0)<<i+24;if((l-f+-8+i|0)>0){s=l-f+-8+i|0;i=i+24|0;while(1){n=n+1|0;i=i+-8|0;r=(o[n>>0]|0)<<i|r;if((s|0)<=8){i=7;break}else s=s+-8|0}}else i=7}else{r=0;i=21}do{if((i|0)==7){if((r|0)<0){a[e+16>>2]=f+1;a[e+8>>2]=f+1&7;if((f+1|0)>>>0<=l>>>0)a[e+4>>2]=(a[e>>2]|0)+((f+1|0)>>>3);a[t>>2]=0;t=0;return t|0}if(r>>>0>1073741823){a[e+16>>2]=f+3;a[e+8>>2]=f+3&7;if((f+3|0)>>>0>l>>>0){t=1;return t|0}a[e+4>>2]=(a[e>>2]|0)+((f+3|0)>>>3);a[t>>2]=(r>>>29&1)+1;t=0;return t|0}if(r>>>0>536870911){a[e+16>>2]=f+5;a[e+8>>2]=f+5&7;if((f+5|0)>>>0>l>>>0){t=1;return t|0}a[e+4>>2]=(a[e>>2]|0)+((f+5|0)>>>3);a[t>>2]=(r>>>27&3)+3;t=0;return t|0}if(r>>>0<=268435455)if(!(r&134217728)){i=21;break}else{n=4;r=0;break}a[e+16>>2]=f+7;a[e+8>>2]=f+7&7;if((f+7|0)>>>0>l>>>0){t=1;return t|0}a[e+4>>2]=(a[e>>2]|0)+((f+7|0)>>>3);a[t>>2]=(r>>>25&7)+7;t=0;return t|0}}while(0);if((i|0)==21){i=134217728;n=0;while(1){s=n+1|0;i=i>>>1;if(!((i|0)!=0&(i&r|0)==0))break;else n=s}r=n+5|0;if((r|0)==32){a[t>>2]=0;r=(a[e+16>>2]|0)+32|0;a[e+16>>2]=r;a[e+8>>2]=r&7;if(r>>>0<=a[e+12>>2]<<3>>>0)a[e+4>>2]=(a[e>>2]|0)+(r>>>3);if((Le(e,1)|0)!=1){t=1;return t|0}n=a[e+4>>2]|0;f=a[e+12>>2]<<3;l=a[e+16>>2]|0;if((f-l|0)>31){i=a[e+8>>2]|0;r=(o[n+1>>0]|0)<<16|(o[n>>0]|0)<<24|(o[n+2>>0]|0)<<8|(o[n+3>>0]|0);if(i)r=(o[n+4>>0]|0)>>>(8-i|0)|r<<i}else if((f-l|0)>0){i=a[e+8>>2]|0;r=(o[n>>0]|0)<<i+24;if((f-l+-8+i|0)>0){s=f-l+-8+i|0;i=i+24|0;while(1){n=n+1|0;i=i+-8|0;r=(o[n>>0]|0)<<i|r;if((s|0)<=8)break;else s=s+-8|0}}}else r=0;a[e+16>>2]=l+32;a[e+8>>2]=l+32&7;if((l+32|0)>>>0>f>>>0){t=1;return t|0}a[e+4>>2]=(a[e>>2]|0)+((l+32|0)>>>3);switch(r|0){case 0:{a[t>>2]=-1;t=0;return t|0}case 1:{a[t>>2]=-1;t=1;return t|0}default:{t=1;return t|0}}}else{n=r;r=s}}r=r+5+f|0;a[e+16>>2]=r;a[e+8>>2]=r&7;if(r>>>0<=l>>>0)a[e+4>>2]=(a[e>>2]|0)+(r>>>3);r=Le(e,n)|0;if((r|0)==-1){t=1;return t|0}a[t>>2]=(1<<n)+-1+r;t=0;return t|0}function Fe(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;var n=0,f=0,l=0,u=0,h=0,d=0,b=0,p=0,w=0,k=0,_=0,v=0,y=0,g=0,m=0,E=0,A=0,S=0,T=0,M=0,R=0,C=0,O=0,P=0,I=0,U=0,D=0,x=0,N=0,L=0,B=0,F=0,H=0,j=0,Y=0;Y=c;c=c+128|0;p=a[e+4>>2]|0;B=a[e+12>>2]<<3;b=a[e+16>>2]|0;if((B-b|0)>31){n=a[e+8>>2]|0;h=(o[p+1>>0]|0)<<16|(o[p>>0]|0)<<24|(o[p+2>>0]|0)<<8|(o[p+3>>0]|0);if(n)h=(o[p+4>>0]|0)>>>(8-n|0)|h<<n}else if((B-b|0)>0){n=a[e+8>>2]|0;h=(o[p>>0]|0)<<n+24;if((B-b+-8+n|0)>0){w=B-b+-8+n|0;n=n+24|0;while(1){p=p+1|0;n=n+-8|0;h=(o[p>>0]|0)<<n|h;if((w|0)<=8)break;else w=w+-8|0}}}else h=0;n=h>>>16;do{if(r>>>0<2){if((h|0)>=0){if(h>>>0>201326591){k=s[4160+(h>>>26<<1)>>1]|0;v=31;break}if(h>>>0>16777215){k=s[4224+(h>>>22<<1)>>1]|0;v=31;break}if(h>>>0>2097151){k=s[4320+((h>>>18)+-8<<1)>>1]|0;v=31;break}else{k=s[4432+(n<<1)>>1]|0;v=31;break}}else _=1}else if(r>>>0<4){if((h|0)<0){_=(n&16384|0)!=0?2:2082;break}if(h>>>0>268435455){k=s[4496+(h>>>26<<1)>>1]|0;v=31;break}if(h>>>0>33554431){k=s[4560+(h>>>23<<1)>>1]|0;v=31;break}else{k=s[4624+(h>>>18<<1)>>1]|0;v=31;break}}else{if(r>>>0<8){n=h>>>26;if((n+-8|0)>>>0<56){k=s[4880+(n<<1)>>1]|0;v=31;break}k=s[5008+(h>>>22<<1)>>1]|0;v=31;break}if(r>>>0<17){k=s[5264+(h>>>26<<1)>>1]|0;v=31;break}n=h>>>29;if(n){k=s[5392+(n<<1)>>1]|0;v=31;break}k=s[5408+(h>>>24<<1)>>1]|0;v=31;break}}while(0);if((v|0)==31)if(!k){e=1;c=Y;return e|0}else _=k;k=_&31;n=h<<k;N=_>>>11&31;if(N>>>0>i>>>0){e=1;c=Y;return e|0}m=_>>>5&63;do{if(N){if(!m){p=32-k|0;h=0}else{do{if((32-k|0)>>>0<m>>>0){a[e+16>>2]=b+k;r=b+_&7;a[e+8>>2]=r;if(B>>>0<(b+k|0)>>>0){e=1;c=Y;return e|0}h=a[e>>2]|0;p=(b+k|0)>>>3;a[e+4>>2]=h+p;if((B-(b+k)|0)>31){n=(o[h+(p+1)>>0]|0)<<16|(o[h+p>>0]|0)<<24|(o[h+(p+2)>>0]|0)<<8|(o[h+(p+3)>>0]|0);if(!r){b=b+k|0;k=32;w=n;break}b=b+k|0;k=32;w=(o[h+(p+4)>>0]|0)>>>(8-r|0)|n<<r;break}if((B-(b+k)|0)>0){n=(o[h+p>>0]|0)<<(r|24);if((B-(b+k)+-8+r|0)>0){p=h+p|0;w=B-(b+k)+-8+r|0;h=r|24;while(1){p=p+1|0;h=h+-8|0;n=(o[p>>0]|0)<<h|n;if((w|0)<=8){b=b+k|0;k=32;w=n;break}else w=w+-8|0}}else{b=b+k|0;k=32;w=n}}else{b=b+k|0;k=32;w=0}}else{k=32-k|0;w=n}}while(0);n=w>>>(32-m|0);r=0;h=1<<m+-1;do{a[Y+64+(r<<2)>>2]=(h&n|0)!=0?-1:1;h=h>>>1;r=r+1|0}while((h|0)!=0);p=k-m|0;n=w<<m;h=r}e:do{if(h>>>0<N>>>0){w=n;g=h;y=N>>>0>10&m>>>0<3&1;t:while(1){do{if(p>>>0<16){w=b+(32-p)|0;a[e+16>>2]=w;a[e+8>>2]=w&7;if(B>>>0<w>>>0){L=1;v=158;break t}h=a[e>>2]|0;a[e+4>>2]=h+(w>>>3);if((B-w|0)>31){n=(o[h+((w>>>3)+1)>>0]|0)<<16|(o[h+(w>>>3)>>0]|0)<<24|(o[h+((w>>>3)+2)>>0]|0)<<8|(o[h+((w>>>3)+3)>>0]|0);if(!(w&7)){b=w;_=32;k=n;break}b=w;_=32;k=(o[h+((w>>>3)+4)>>0]|0)>>>(8-(w&7)|0)|n<<(w&7);break}if((B-w|0)<=0){L=1;v=158;break t}n=(o[h+(w>>>3)>>0]|0)<<(w&7|24);if((B-w+-8+(w&7)|0)>0){b=h+(w>>>3)|0;p=B-w+-8+(w&7)|0;h=w&7|24;while(1){b=b+1|0;h=h+-8|0;n=(o[b>>0]|0)<<h|n;if((p|0)<=8){b=w;_=32;k=n;break}else p=p+-8|0}}else{b=w;_=32;k=n}}else{_=p;k=w}}while(0);do{if((k|0)>=0){if(k>>>0<=1073741823){if(k>>>0<=536870911){if(k>>>0<=268435455){if(k>>>0<=134217727){if(k>>>0<=67108863){if(k>>>0<=33554431){if(k>>>0<=16777215){if(k>>>0>8388607){x=8;v=75}else{if(k>>>0>4194303){x=9;v=75;break}if(k>>>0>2097151){x=10;v=75;break}if(k>>>0>1048575){x=11;v=75;break}if(k>>>0>524287){x=12;v=75;break}if(k>>>0>262143){x=13;v=75;break}if(k>>>0>131071){h=_+-15|0;p=k<<15;n=14;w=y;r=(y|0)!=0?y:4}else{if(k>>>0<65536){L=1;v=158;break t}h=_+-16|0;p=k<<16;n=15;w=(y|0)!=0?y:1;r=12}D=n<<w;I=h;U=(w|0)==0;P=p;O=w;C=r;v=76}}else{x=7;v=75}}else{x=6;v=75}}else{x=5;v=75}}else{x=4;v=75}}else{x=3;v=75}}else{x=2;v=75}}else{x=1;v=75}}else{x=0;v=75}}while(0);if((v|0)==75){v=0;n=x+1|0;p=k<<n;n=_-n|0;h=x<<y;if(!y){R=1;M=b;S=n;T=p;E=h;A=0}else{D=h;I=n;U=0;P=p;O=y;C=y;v=76}}if((v|0)==76){do{if(I>>>0<C>>>0){w=b+(32-I)|0;a[e+16>>2]=w;a[e+8>>2]=w&7;if(B>>>0<w>>>0){L=1;v=158;break t}h=a[e>>2]|0;a[e+4>>2]=h+(w>>>3);if((B-w|0)>31){n=(o[h+((w>>>3)+1)>>0]|0)<<16|(o[h+(w>>>3)>>0]|0)<<24|(o[h+((w>>>3)+2)>>0]|0)<<8|(o[h+((w>>>3)+3)>>0]|0);if(!(w&7)){b=w;p=32;break}b=w;p=32;n=(o[h+((w>>>3)+4)>>0]|0)>>>(8-(w&7)|0)|n<<(w&7);break}if((B-w|0)>0){n=(o[h+(w>>>3)>>0]|0)<<(w&7|24);if((B-w+-8+(w&7)|0)>0){b=h+(w>>>3)|0;p=B-w+-8+(w&7)|0;h=w&7|24;while(1){b=b+1|0;h=h+-8|0;n=(o[b>>0]|0)<<h|n;if((p|0)<=8){b=w;p=32;break}else p=p+-8|0}}else{b=w;p=32}}else{b=w;p=32;n=0}}else{p=I;n=P}}while(0);R=U;M=b;S=p-C|0;T=n<<C;E=(n>>>(32-C|0))+D|0;A=O}n=m>>>0<3&(g|0)==(m|0)?E+2|0:E;h=R?1:A;a[Y+64+(g<<2)>>2]=(n&1|0)==0?(n+2|0)>>>1:0-((n+2|0)>>>1)|0;g=g+1|0;if(g>>>0>=N>>>0){d=M;u=S;l=T;break e}else{b=M;p=S;w=T;y=((h>>>0<6?((n+2|0)>>>1|0)>(3<<h+-1|0):0)&1)+h|0}}if((v|0)==158){c=Y;return L|0}}else{d=b;u=p;l=n}}while(0);if(N>>>0<i>>>0){do{if(u>>>0<9){b=d+(32-u)|0;a[e+16>>2]=b;a[e+8>>2]=b&7;if(B>>>0<b>>>0){e=1;c=Y;return e|0}l=a[e>>2]|0;a[e+4>>2]=l+(b>>>3);if((B-b|0)>31){n=(o[l+((b>>>3)+1)>>0]|0)<<16|(o[l+(b>>>3)>>0]|0)<<24|(o[l+((b>>>3)+2)>>0]|0)<<8|(o[l+((b>>>3)+3)>>0]|0);if(!(b&7)){d=b;u=32;l=n;break}d=b;u=32;l=(o[l+((b>>>3)+4)>>0]|0)>>>(8-(b&7)|0)|n<<(b&7);break}if((B-b|0)>0){n=(o[l+(b>>>3)>>0]|0)<<(b&7|24);if((B-b+-8+(b&7)|0)>0){u=l+(b>>>3)|0;h=B-b+-8+(b&7)|0;l=b&7|24;while(1){u=u+1|0;l=l+-8|0;n=(o[u>>0]|0)<<l|n;if((h|0)<=8){d=b;u=32;l=n;break}else h=h+-8|0}}else{d=b;u=32;l=n}}else{d=b;u=32;l=0}}}while(0);n=l>>>23;e:do{if((i|0)==4){if((l|0)>=0){if((N|0)!=3){if(l>>>0<=1073741823){if((N|0)==2)n=34;else n=l>>>0>536870911?35:51}else n=18}else n=17}else n=1}else{do{switch(N|0){case 1:{if(l>>>0>268435455)n=o[5672+(l>>>27)>>0]|0;else n=o[5704+n>>0]|0;break}case 2:{n=o[5736+(l>>>26)>>0]|0;break}case 3:{n=o[5800+(l>>>26)>>0]|0;break}case 4:{n=o[5864+(l>>>27)>>0]|0;break}case 5:{n=o[5896+(l>>>27)>>0]|0;break}case 6:{n=o[5928+(l>>>26)>>0]|0;break}case 7:{n=o[5992+(l>>>26)>>0]|0;break}case 8:{n=o[6056+(l>>>26)>>0]|0;break}case 9:{n=o[6120+(l>>>26)>>0]|0;break}case 10:{n=o[6184+(l>>>27)>>0]|0;break}case 11:{n=o[6216+(l>>>28)>>0]|0;break}case 12:{n=o[6232+(l>>>28)>>0]|0;break}case 13:{n=o[6248+(l>>>29)>>0]|0;break}case 14:{n=o[6256+(l>>>30)>>0]|0;break}default:{n=l>>31&16|1;break e}}}while(0);if(!n){e=1;c=Y;return e|0}}}while(0);h=n&15;u=u-h|0;l=l<<h;h=n>>>4&15}else h=0;if(!(N+-1|0)){a[t+(h<<2)>>2]=a[Y+64>>2];F=u;H=1<<h;break}n=l;w=0;p=h;e:while(1){if(!p){a[Y+(w<<2)>>2]=1;l=d;j=u;f=0}else{do{if(u>>>0<11){b=d+(32-u)|0;a[e+16>>2]=b;a[e+8>>2]=b&7;if(B>>>0<b>>>0){L=1;v=158;break e}l=a[e>>2]|0;a[e+4>>2]=l+(b>>>3);if((B-b|0)>31){n=(o[l+((b>>>3)+1)>>0]|0)<<16|(o[l+(b>>>3)>>0]|0)<<24|(o[l+((b>>>3)+2)>>0]|0)<<8|(o[l+((b>>>3)+3)>>0]|0);if(!(b&7)){d=b;u=32;h=n;break}d=b;u=32;h=(o[l+((b>>>3)+4)>>0]|0)>>>(8-(b&7)|0)|n<<(b&7);break}if((B-b|0)>0){n=(o[l+(b>>>3)>>0]|0)<<(b&7|24);if((B-b+-8+(b&7)|0)>0){u=l+(b>>>3)|0;h=B-b+-8+(b&7)|0;l=b&7|24;while(1){u=u+1|0;l=l+-8|0;n=(o[u>>0]|0)<<l|n;if((h|0)<=8){d=b;u=32;h=n;break}else h=h+-8|0}}else{d=b;u=32;h=n}}else{d=b;u=32;h=0}}else h=n}while(0);switch(p|0){case 1:{n=o[6260+(h>>>31)>>0]|0;break}case 2:{n=o[6262+(h>>>30)>>0]|0;break}case 3:{n=o[6266+(h>>>30)>>0]|0;break}case 4:{n=o[6270+(h>>>29)>>0]|0;break}case 5:{n=o[6278+(h>>>29)>>0]|0;break}case 6:{n=o[6286+(h>>>29)>>0]|0;break}default:{do{if(h>>>0<=536870911){if(h>>>0<=268435455){if(h>>>0<=134217727){if(h>>>0<=67108863){if(h>>>0>33554431)n=167;else{if(h>>>0>16777215){n=184;break}if(h>>>0>8388607){n=201;break}if(h>>>0>4194303){n=218;break}n=h>>>0<2097152?0:235}}else n=150}else n=133}else n=116}else n=h>>>29<<4^115}while(0);if((n>>>4&15)>>>0>p>>>0){L=1;v=158;break e}}}if(!n){L=1;v=158;break}i=n&15;f=n>>>4&15;a[Y+(w<<2)>>2]=f+1;l=d;j=u-i|0;n=h<<i;f=p-f|0}w=w+1|0;if(w>>>0>=(N+-1|0)>>>0){v=154;break}else{d=l;u=j;p=f}}if((v|0)==154){a[t+(f<<2)>>2]=a[Y+64+(N+-1<<2)>>2];l=N+-2|0;n=1<<f;while(1){f=(a[Y+(l<<2)>>2]|0)+f|0;n=1<<f|n;a[t+(f<<2)>>2]=a[Y+64+(l<<2)>>2];if(!l){F=j;H=n;break}else l=l+-1|0}}else if((v|0)==158){c=Y;return L|0}}else{F=32-k|0;H=0}}while(0);n=(a[e+16>>2]|0)+(32-F)|0;a[e+16>>2]=n;a[e+8>>2]=n&7;if(n>>>0>a[e+12>>2]<<3>>>0){e=1;c=Y;return e|0}a[e+4>>2]=(a[e>>2]|0)+(n>>>3);e=H<<16|N<<4;c=Y;return e|0}function He(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,s=0,f=0,l=0,u=0;n=a[t>>2]|0;if((n|0)==16777215)return;s=r>>>0<16?16:8;r=r>>>0<16?r:r&3;r=(ee(a[1216+(r<<2)>>2]|0,s)|0)+(a[1152+(r<<2)>>2]|0)|0;u=a[t+4>>2]|0;l=o[e+(r+1)>>0]|0;i[e+r>>0]=i[6294+(n+512+(o[e+r>>0]|0))>>0]|0;f=a[t+8>>2]|0;n=o[e+(r+2)>>0]|0;i[e+(r+1)>>0]=i[6294+(u+512+l)>>0]|0;l=i[6294+((a[t+12>>2]|0)+512+(o[e+(r+3)>>0]|0))>>0]|0;i[e+(r+2)>>0]=i[6294+(f+512+n)>>0]|0;i[e+(r+3)>>0]=l;l=a[t+20>>2]|0;n=o[e+(r+s+1)>>0]|0;i[e+(r+s)>>0]=i[6294+((a[t+16>>2]|0)+512+(o[e+(r+s)>>0]|0))>>0]|0;f=a[t+24>>2]|0;u=o[e+(r+s+2)>>0]|0;i[e+(r+s+1)>>0]=i[6294+(l+512+n)>>0]|0;n=i[6294+((a[t+28>>2]|0)+512+(o[e+(r+s+3)>>0]|0))>>0]|0;i[e+(r+s+2)>>0]=i[6294+(f+512+u)>>0]|0;i[e+(r+s+3)>>0]=n;r=r+s+s|0;n=a[t+36>>2]|0;u=o[e+(r+1)>>0]|0;i[e+r>>0]=i[6294+((a[t+32>>2]|0)+512+(o[e+r>>0]|0))>>0]|0;f=a[t+40>>2]|0;l=o[e+(r+2)>>0]|0;i[e+(r+1)>>0]=i[6294+(n+512+u)>>0]|0;u=i[6294+((a[t+44>>2]|0)+512+(o[e+(r+3)>>0]|0))>>0]|0;i[e+(r+2)>>0]=i[6294+(f+512+l)>>0]|0;i[e+(r+3)>>0]=u;u=a[t+52>>2]|0;l=o[e+(r+s+1)>>0]|0;i[e+(r+s)>>0]=i[6294+((a[t+48>>2]|0)+512+(o[e+(r+s)>>0]|0))>>0]|0;f=a[t+56>>2]|0;n=o[e+(r+s+2)>>0]|0;i[e+(r+s+1)>>0]=i[6294+(u+512+l)>>0]|0;t=i[6294+((a[t+60>>2]|0)+512+(o[e+(r+s+3)>>0]|0))>>0]|0;i[e+(r+s+2)>>0]=i[6294+(f+512+n)>>0]|0;i[e+(r+s+3)>>0]=t;return}function je(e,t,r,i,n,a,o,s,f){e=e|0;t=t|0;r=r|0;i=i|0;n=n|0;a=a|0;o=o|0;s=s|0;f=f|0;var l=0,u=0,c=0,h=0,d=0,b=0,p=0,w=0;w=(r|0)<0|(o+r|0)>(n|0)?2:1;p=(s+i|0)<0?0-s|0:i;d=(o+r|0)<0?0-o|0:r;p=(p|0)>(a|0)?a:p;d=(d|0)>(n|0)?n:d;r=(d|0)>0?e+d|0:e;b=r+(ee(p,n)|0)|0;r=(p|0)>0?b:r;b=(d|0)<0?0-d|0:0;d=(d+o|0)>(n|0)?d+o-n|0:0;c=(p|0)<0?0-p|0:0;h=(p+s|0)>(a|0)?p+s-a|0:0;if(c){l=s+-1+((s+i|0)>0?0-(s+i)|0:0)|0;l=(l|0)>(~a|0)?l:~a;e=t;u=0-p|0;while(1){Dt[w&3](r,e,b,o-b-d|0,d);u=u+-1|0;if(!u)break;else e=e+f|0}t=t+(ee(l+1+((l|0)<-1?~l:0)|0,f)|0)|0}if((s-c|0)!=(h|0)){i=s+-1-((s+i|0)>0?s+i|0:0)|0;i=(i|0)>(~a|0)?i:~a;i=a+-1+s-i+((i|0)<-1?i+1|0:0)-((s+-1-i|0)<(a|0)?a:s+-1-i|0)|0;l=t;u=r;e=s-c-h|0;while(1){Dt[w&3](u,l,b,o-b-d|0,d);e=e+-1|0;if(!e)break;else{l=l+f|0;u=u+n|0}}t=t+(ee(i,f)|0)|0;r=r+(ee(i,n)|0)|0}e=r+(0-n)|0;if(!h)return;else r=p+s-a|0;while(1){Dt[w&3](e,t,b,o-b-d|0,d);r=r+-1|0;if(!r)break;else t=t+f|0}return}function Ye(e,t,r,n,a,s,f,l,u){e=e|0;t=t|0;r=r|0;n=n|0;a=a|0;s=s|0;f=f|0;l=l|0;u=u|0;var h=0,d=0,b=0,p=0,w=0,k=0,_=0,v=0,y=0,g=0,m=0,E=0,A=0;_=c;c=c+448|0;if(((r|0)>=0?!((n|0)<0|(f+r|0)>>>0>a>>>0):0)?(n+5+l|0)>>>0<=s>>>0:0)s=r;else{je(e,_,r,n,a,s,f,l+5|0,f);e=_;s=0;n=0;a=f}n=s+a+(ee(n,a)|0)|0;if(!(l>>>2)){c=_;return}p=a<<2;w=0-a|0;k=a<<1;if(!f){c=_;return}b=t;h=l>>>2;d=e+n|0;u=e+(n+(ee(a,u+2|0)|0))|0;t=e+(n+(a*5|0))|0;while(1){n=b;s=f;e=d;r=u;l=t;while(1){v=o[l+(w<<1)>>0]|0;E=o[l+w>>0]|0;y=o[l+a>>0]|0;A=o[l>>0]|0;g=o[e+k>>0]|0;i[n+48>>0]=((o[6294+(((o[l+k>>0]|0)+16-(y+v)-(y+v<<2)+g+((A+E|0)*20|0)>>5)+512)>>0]|0)+1+(o[r+k>>0]|0)|0)>>>1;m=o[e+a>>0]|0;i[n+32>>0]=((o[6294+((y+16+((E+v|0)*20|0)-(g+A)-(g+A<<2)+m>>5)+512)>>0]|0)+1+(o[r+a>>0]|0)|0)>>>1;y=o[e>>0]|0;i[n+16>>0]=((o[6294+((A+16+((g+v|0)*20|0)-(m+E)-(m+E<<2)+y>>5)+512)>>0]|0)+1+(o[r>>0]|0)|0)>>>1;i[n>>0]=((o[6294+((E+16+((m+g|0)*20|0)-(y+v)-(y+v<<2)+(o[e+w>>0]|0)>>5)+512)>>0]|0)+1+(o[r+w>>0]|0)|0)>>>1;s=s+-1|0;if(!s)break;else{n=n+1|0;e=e+1|0;r=r+1|0;l=l+1|0}}h=h+-1|0;if(!h)break;else{b=b+64|0;d=d+p|0;u=u+p|0;t=t+p|0}}c=_;return}function Ge(e,t,r,n,a,s,f,l,u){e=e|0;t=t|0;r=r|0;n=n|0;a=a|0;s=s|0;f=f|0;l=l|0;u=u|0;var h=0,d=0,b=0,p=0,w=0,k=0,_=0,v=0;k=c;c=c+448|0;if((r|0)>=0?!((l+n|0)>>>0>s>>>0|((n|0)<0|(r+5+f|0)>>>0>a>>>0)):0)s=a;else{je(e,k,r,n,a,s,f+5|0,l,f+5|0);e=k;r=0;n=0;s=f+5|0}if(!l){c=k;return}w=s-f|0;s=e+(r+5+(ee(n,s)|0))|0;while(1){if(f>>>2){r=o[s+-1>>0]|0;h=o[s+-2>>0]|0;a=o[s+-3>>0]|0;n=o[s+-4>>0]|0;e=o[s+-5>>0]|0;p=t+(f>>>2<<2)|0;if(!u){b=s;d=r;r=f>>>2;while(1){_=d+n|0;v=n;n=o[b>>0]|0;i[t>>0]=(a+1+(o[6294+((e+16-_+((h+a|0)*20|0)-(_<<2)+n>>5)+512)>>0]|0)|0)>>>1;_=n+a|0;e=a;a=o[b+1>>0]|0;i[t+1>>0]=(h+1+(o[6294+((v+16+((d+h|0)*20|0)-_-(_<<2)+a>>5)+512)>>0]|0)|0)>>>1;_=a+h|0;v=h;h=o[b+2>>0]|0;i[t+2>>0]=(d+1+(o[6294+((e+16+((n+d|0)*20|0)-_-(_<<2)+h>>5)+512)>>0]|0)|0)>>>1;_=h+d|0;e=o[b+3>>0]|0;i[t+3>>0]=(n+1+(o[6294+((v+16+((a+n|0)*20|0)-_-(_<<2)+e>>5)+512)>>0]|0)|0)>>>1;r=r+-1|0;if(!r)break;else{v=d;t=t+4|0;b=b+4|0;d=e;e=v}}}else{b=s;d=r;r=f>>>2;while(1){v=d+n|0;_=n;n=o[b>>0]|0;i[t>>0]=(h+1+(o[6294+((e+16-v+((h+a|0)*20|0)-(v<<2)+n>>5)+512)>>0]|0)|0)>>>1;v=n+a|0;e=a;a=o[b+1>>0]|0;i[t+1>>0]=(d+1+(o[6294+((_+16+((d+h|0)*20|0)-v-(v<<2)+a>>5)+512)>>0]|0)|0)>>>1;v=a+h|0;_=h;h=o[b+2>>0]|0;i[t+2>>0]=(n+1+(o[6294+((e+16+((n+d|0)*20|0)-v-(v<<2)+h>>5)+512)>>0]|0)|0)>>>1;v=h+d|0;e=o[b+3>>0]|0;i[t+3>>0]=(a+1+(o[6294+((_+16+((a+n|0)*20|0)-v-(v<<2)+e>>5)+512)>>0]|0)|0)>>>1;r=r+-1|0;if(!r)break;else{v=d;t=t+4|0;b=b+4|0;d=e;e=v}}}t=p;s=s+(f>>>2<<2)|0}l=l+-1|0;if(!l)break;else{t=t+(16-f)|0;s=s+w|0}}c=k;return}function We(e,t,r,n,a,s,f,l,u){e=e|0;t=t|0;r=r|0;n=n|0;a=a|0;s=s|0;f=f|0;l=l|0;u=u|0;var h=0,d=0,b=0,p=0,w=0,k=0,_=0,v=0,y=0,g=0,m=0,E=0;g=c;c=c+448|0;if(((r|0)>=0?!((n|0)<0|(r+5+f|0)>>>0>a>>>0):0)?(n+5+l|0)>>>0<=s>>>0:0)s=r;else{je(e,g,r,n,a,s,f+5|0,l+5|0,f+5|0);e=g;s=0;n=0;a=f+5|0}n=(ee(n,a)|0)+s|0;y=a+(u&1|2)+n|0;h=e+y|0;if(!l){c=g;return}v=a-f|0;s=t;n=e+((ee(a,u>>>1&1|2)|0)+5+n)|0;_=l;while(1){if(f>>>2){t=s;u=n;d=o[n+-1>>0]|0;b=o[n+-2>>0]|0;p=o[n+-3>>0]|0;w=o[n+-4>>0]|0;r=o[n+-5>>0]|0;k=f>>>2;while(1){m=d+w|0;E=w;w=o[u>>0]|0;i[t>>0]=i[6294+((r+16-m+((b+p|0)*20|0)-(m<<2)+w>>5)+512)>>0]|0;m=w+p|0;r=p;p=o[u+1>>0]|0;i[t+1>>0]=i[6294+((E+16+((d+b|0)*20|0)-m-(m<<2)+p>>5)+512)>>0]|0;m=p+b|0;E=b;b=o[u+2>>0]|0;i[t+2>>0]=i[6294+((r+16+((w+d|0)*20|0)-m-(m<<2)+b>>5)+512)>>0]|0;m=b+d|0;r=o[u+3>>0]|0;i[t+3>>0]=i[6294+((E+16+((p+w|0)*20|0)-m-(m<<2)+r>>5)+512)>>0]|0;k=k+-1|0;if(!k)break;else{E=d;t=t+4|0;u=u+4|0;d=r;r=E}}s=s+(f>>>2<<2)|0;n=n+(f>>>2<<2)|0}_=_+-1|0;if(!_)break;else{s=s+(16-f)|0;n=n+v|0}}if(!(l>>>2)){c=g;return}b=a<<2;p=0-a|0;w=a<<1;if(!f){c=g;return}d=s+(16-f-(l<<4))|0;u=e+(y+(a*5|0))|0;t=l>>>2;while(1){n=d;s=h;e=u;r=f;while(1){E=o[e+(p<<1)>>0]|0;v=o[e+p>>0]|0;_=o[e+a>>0]|0;k=o[e>>0]|0;l=o[s+w>>0]|0;y=n+48|0;i[y>>0]=((o[6294+(((o[e+w>>0]|0)+16-(_+E)-(_+E<<2)+l+((k+v|0)*20|0)>>5)+512)>>0]|0)+1+(o[y>>0]|0)|0)>>>1;y=o[s+a>>0]|0;m=n+32|0;i[m>>0]=((o[6294+((_+16+((v+E|0)*20|0)-(l+k)-(l+k<<2)+y>>5)+512)>>0]|0)+1+(o[m>>0]|0)|0)>>>1;m=o[s>>0]|0;_=n+16|0;i[_>>0]=((o[6294+((k+16+((l+E|0)*20|0)-(y+v)-(y+v<<2)+m>>5)+512)>>0]|0)+1+(o[_>>0]|0)|0)>>>1;i[n>>0]=((o[6294+((v+16+((y+l|0)*20|0)-(m+E)-(m+E<<2)+(o[s+p>>0]|0)>>5)+512)>>0]|0)+1+(o[n>>0]|0)|0)>>>1;r=r+-1|0;if(!r)break;else{n=n+1|0;s=s+1|0;e=e+1|0}}t=t+-1|0;if(!t)break;else{d=d+64|0;h=h+b|0;u=u+b|0}}c=g;return}function Ve(e,t,r,n,s,f,l,u,h){e=e|0;t=t|0;r=r|0;n=n|0;s=s|0;f=f|0;l=l|0;u=u|0;h=h|0;var d=0,b=0,p=0,w=0,k=0,_=0,v=0,y=0,g=0,m=0;y=c;c=c+1792|0;if(((r|0)>=0?!((n|0)<0|(r+5+l|0)>>>0>s>>>0):0)?(n+5+u|0)>>>0<=f>>>0:0){d=r+5|0;r=s;s=u+5|0}else{je(e,y+1344|0,r,n,s,f,l+5|0,u+5|0,l+5|0);e=y+1344|0;d=5;n=0;r=l+5|0;s=u+5|0}if(s){v=r-l|0;f=y;e=e+(d+(ee(n,r)|0))|0;while(1){if(l>>>2){n=f;d=e;b=o[e+-1>>0]|0;p=o[e+-2>>0]|0;w=o[e+-3>>0]|0;k=o[e+-4>>0]|0;r=o[e+-5>>0]|0;_=l>>>2;while(1){g=b+k|0;m=k;k=o[d>>0]|0;a[n>>2]=r-g+((p+w|0)*20|0)-(g<<2)+k;g=k+w|0;r=w;w=o[d+1>>0]|0;a[n+4>>2]=((b+p|0)*20|0)+m-g+w-(g<<2);g=w+p|0;m=p;p=o[d+2>>0]|0;a[n+8>>2]=r-g+p+((k+b|0)*20|0)-(g<<2);g=p+b|0;r=o[d+3>>0]|0;a[n+12>>2]=m-g+r+((w+k|0)*20|0)-(g<<2);_=_+-1|0;if(!_)break;else{m=b;n=n+16|0;d=d+4|0;b=r;r=m}}f=f+(l>>>2<<2<<2)|0;e=e+(l>>>2<<2)|0}s=s+-1|0;if(!s)break;else e=e+v|0}}if(!(u>>>2)){c=y;return}f=y+(l<<2)|0;e=y+((ee(h+2|0,l)|0)+l<<2)|0;r=y+(l*6<<2)|0;w=u>>>2;while(1){if(l){n=t;s=f;d=e;b=r;p=l;while(1){m=a[b+(0-l<<1<<2)>>2]|0;v=a[b+(0-l<<2)>>2]|0;g=a[b+(l<<2)>>2]|0;_=a[b>>2]|0;u=a[s+(l<<1<<2)>>2]|0;i[n+48>>0]=((o[6294+(((a[b+(l<<1<<2)>>2]|0)+512-(g+m)-(g+m<<2)+u+((_+v|0)*20|0)>>10)+512)>>0]|0)+1+(o[6294+(((a[d+(l<<1<<2)>>2]|0)+16>>5)+512)>>0]|0)|0)>>>1;h=a[s+(l<<2)>>2]|0;i[n+32>>0]=((o[6294+((g+512+((v+m|0)*20|0)-(u+_)-(u+_<<2)+h>>10)+512)>>0]|0)+1+(o[6294+(((a[d+(l<<2)>>2]|0)+16>>5)+512)>>0]|0)|0)>>>1;g=a[s>>2]|0;i[n+16>>0]=((o[6294+((_+512+((u+m|0)*20|0)-(h+v)-(h+v<<2)+g>>10)+512)>>0]|0)+1+(o[6294+(((a[d>>2]|0)+16>>5)+512)>>0]|0)|0)>>>1;i[n>>0]=((o[6294+((v+512+((h+u|0)*20|0)-(g+m)-(g+m<<2)+(a[s+(0-l<<2)>>2]|0)>>10)+512)>>0]|0)+1+(o[6294+(((a[d+(0-l<<2)>>2]|0)+16>>5)+512)>>0]|0)|0)>>>1;p=p+-1|0;if(!p)break;else{n=n+1|0;s=s+4|0;d=d+4|0;b=b+4|0}}t=t+l|0;f=f+(l<<2)|0;e=e+(l<<2)|0;r=r+(l<<2)|0}w=w+-1|0;if(!w)break;else{t=t+(64-l)|0;f=f+(l*3<<2)|0;e=e+(l*3<<2)|0;r=r+(l*3<<2)|0}}c=y;return}function qe(e,t,r,n,s,f,l,u,h){e=e|0;t=t|0;r=r|0;n=n|0;s=s|0;f=f|0;l=l|0;u=u|0;h=h|0;var d=0,b=0,p=0,w=0,k=0,_=0,v=0,y=0,g=0,m=0,E=0,A=0,S=0,T=0;y=c;c=c+1792|0;if(((r|0)>=0?!((n|0)<0|(r+5+l|0)>>>0>s>>>0):0)?(n+5+u|0)>>>0<=f>>>0:0)f=r;else{je(e,y+1344|0,r,n,s,f,l+5|0,u+5|0,l+5|0);e=y+1344|0;f=0;n=0;s=l+5|0}n=f+s+(ee(n,s)|0)|0;if(u>>>2){k=(s<<2)-l+-5|0;_=0-s|0;v=s<<1;w=y+(l+5<<2)|0;f=e+n|0;e=e+(n+(s*5|0))|0;p=u>>>2;while(1){if(!(l+5|0))n=w;else{n=w;r=f;d=e;b=l+5|0;while(1){g=o[d+(_<<1)>>0]|0;S=o[d+_>>0]|0;m=o[d+s>>0]|0;T=o[d>>0]|0;E=o[r+v>>0]|0;a[n+(l+5<<1<<2)>>2]=(o[d+v>>0]|0)-(m+g)-(m+g<<2)+E+((T+S|0)*20|0);A=o[r+s>>0]|0;a[n+(l+5<<2)>>2]=((S+g|0)*20|0)+m-(E+T)+A-(E+T<<2);m=o[r>>0]|0;a[n>>2]=T-(A+S)+m+((E+g|0)*20|0)-(A+S<<2);a[n+(-5-l<<2)>>2]=S-(m+g)+(o[r+_>>0]|0)+((A+E|0)*20|0)-(m+g<<2);b=b+-1|0;if(!b)break;else{n=n+4|0;r=r+1|0;d=d+1|0}}n=w+(l+5<<2)|0;f=f+(l+5)|0;e=e+(l+5)|0}p=p+-1|0;if(!p)break;else{w=n+((l+5|0)*3<<2)|0;f=f+k|0;e=e+k|0}}}if(!u){c=y;return}n=y+(h+2<<2)|0;f=y+20|0;while(1){if(l>>>2){r=t;s=n;d=f;b=a[f+-4>>2]|0;p=a[f+-8>>2]|0;w=a[f+-12>>2]|0;k=a[f+-16>>2]|0;e=a[f+-20>>2]|0;_=l>>>2;while(1){T=b+k|0;S=k;k=a[d>>2]|0;i[r>>0]=((o[6294+((e+512-T+((p+w|0)*20|0)-(T<<2)+k>>10)+512)>>0]|0)+1+(o[6294+(((a[s>>2]|0)+16>>5)+512)>>0]|0)|0)>>>1;T=k+w|0;e=w;w=a[d+4>>2]|0;i[r+1>>0]=((o[6294+((S+512+((b+p|0)*20|0)-T-(T<<2)+w>>10)+512)>>0]|0)+1+(o[6294+(((a[s+4>>2]|0)+16>>5)+512)>>0]|0)|0)>>>1;T=w+p|0;S=p;p=a[d+8>>2]|0;i[r+2>>0]=((o[6294+((e+512+((k+b|0)*20|0)-T-(T<<2)+p>>10)+512)>>0]|0)+1+(o[6294+(((a[s+8>>2]|0)+16>>5)+512)>>0]|0)|0)>>>1;T=p+b|0;e=a[d+12>>2]|0;i[r+3>>0]=((o[6294+((S+512+((w+k|0)*20|0)-T-(T<<2)+e>>10)+512)>>0]|0)+1+(o[6294+(((a[s+12>>2]|0)+16>>5)+512)>>0]|0)|0)>>>1;_=_+-1|0;if(!_)break;else{T=b;r=r+4|0;s=s+16|0;d=d+16|0;b=e;e=T}}t=t+(l>>>2<<2)|0;n=n+(l>>>2<<2<<2)|0;f=f+(l>>>2<<2<<2)|0}u=u+-1|0;if(!u)break;else{t=t+(16-l)|0;n=n+20|0;f=f+20|0}}c=y;return}function Ke(e,t,r,s,f,l,u,h,d){e=e|0;t=t|0;r=r|0;s=s|0;f=f|0;l=l|0;u=u|0;h=h|0;d=d|0;var b=0,p=0,w=0,k=0,_=0,v=0,y=0,g=0,m=0,E=0,A=0,S=0,T=0,M=0,R=0,C=0,O=0,P=0,I=0,U=0;C=c;c=c+1792|0;M=n[t>>1]|0;R=n[t+2>>1]|0;p=a[r+4>>2]<<4;_=a[r+8>>2]<<4;k=(M>>2)+(l+s)|0;w=(R>>2)+(u+f)|0;do{switch(a[3328+((M&3)<<4)+((R&3)<<2)>>2]|0){case 0:{je(a[r>>2]|0,e+((u<<4)+l)|0,k,w,p,_,h,d,16);b=r;break}case 1:{Ye(a[r>>2]|0,e+((u<<4)+l)|0,k,w+-2|0,p,_,h,d,0);b=r;break}case 2:{b=a[r>>2]|0;if(((k|0)>=0?!((w|0)<2|(k+h|0)>>>0>p>>>0):0)?(w+3+d|0)>>>0<=_>>>0:0){_=b;b=w+-2|0}else{je(b,C,k,w+-2|0,p,_,h,d+5|0,h);_=C;k=0;b=0;p=h}b=k+p+(ee(b,p)|0)|0;if((d>>>2|0)!=0?(E=p<<2,A=0-p|0,S=p<<1,(h|0)!=0):0){y=e+((u<<4)+l)|0;g=d>>>2;m=_+b|0;_=_+(b+(p*5|0))|0;while(1){b=y;w=h;k=m;v=_;while(1){R=o[v+(A<<1)>>0]|0;P=o[v+A>>0]|0;M=o[v+p>>0]|0;I=o[v>>0]|0;T=o[k+S>>0]|0;i[b+48>>0]=i[6294+(((o[v+S>>0]|0)+16-(M+R)-(M+R<<2)+T+((I+P|0)*20|0)>>5)+512)>>0]|0;O=o[k+p>>0]|0;i[b+32>>0]=i[6294+((M+16+((P+R|0)*20|0)-(T+I)-(T+I<<2)+O>>5)+512)>>0]|0;M=o[k>>0]|0;i[b+16>>0]=i[6294+((I+16+((T+R|0)*20|0)-(O+P)-(O+P<<2)+M>>5)+512)>>0]|0;i[b>>0]=i[6294+((P+16+((O+T|0)*20|0)-(M+R)-(M+R<<2)+(o[k+A>>0]|0)>>5)+512)>>0]|0;w=w+-1|0;if(!w)break;else{b=b+1|0;k=k+1|0;v=v+1|0}}g=g+-1|0;if(!g)break;else{y=y+64|0;m=m+E|0;_=_+E|0}}}b=r;break}case 3:{Ye(a[r>>2]|0,e+((u<<4)+l)|0,k,w+-2|0,p,_,h,d,1);b=r;break}case 4:{Ge(a[r>>2]|0,e+((u<<4)+l)|0,k+-2|0,w,p,_,h,d,0);b=r;break}case 5:{We(a[r>>2]|0,e+((u<<4)+l)|0,k+-2|0,w+-2|0,p,_,h,d,0);b=r;break}case 6:{qe(a[r>>2]|0,e+((u<<4)+l)|0,k+-2|0,w+-2|0,p,_,h,d,0);b=r;break}case 7:{We(a[r>>2]|0,e+((u<<4)+l)|0,k+-2|0,w+-2|0,p,_,h,d,2);b=r;break}case 8:{b=a[r>>2]|0;if((k|0)>=2?!((w+d|0)>>>0>_>>>0|((w|0)<0|(k+3+h|0)>>>0>p>>>0)):0){_=b;k=k+-2|0}else{je(b,C,k+-2|0,w,p,_,h+5|0,d,h+5|0);_=C;k=0;w=0;p=h+5|0}if(d){S=p-h|0;b=e+((u<<4)+l)|0;p=_+(k+5+(ee(w,p)|0))|0;A=d;while(1){if(h>>>2){k=b;_=p;v=o[p+-1>>0]|0;y=o[p+-2>>0]|0;g=o[p+-3>>0]|0;m=o[p+-4>>0]|0;w=o[p+-5>>0]|0;E=h>>>2;while(1){I=v+m|0;P=m;m=o[_>>0]|0;i[k>>0]=i[6294+((w+16-I+((y+g|0)*20|0)-(I<<2)+m>>5)+512)>>0]|0;I=m+g|0;w=g;g=o[_+1>>0]|0;i[k+1>>0]=i[6294+((P+16+((v+y|0)*20|0)-I-(I<<2)+g>>5)+512)>>0]|0;I=g+y|0;P=y;y=o[_+2>>0]|0;i[k+2>>0]=i[6294+((w+16+((m+v|0)*20|0)-I-(I<<2)+y>>5)+512)>>0]|0;I=y+v|0;w=o[_+3>>0]|0;i[k+3>>0]=i[6294+((P+16+((g+m|0)*20|0)-I-(I<<2)+w>>5)+512)>>0]|0;E=E+-1|0;if(!E)break;else{I=v;k=k+4|0;_=_+4|0;v=w;w=I}}b=b+(h>>>2<<2)|0;p=p+(h>>>2<<2)|0}A=A+-1|0;if(!A)break;else{b=b+(16-h)|0;p=p+S|0}}}b=r;break}case 9:{Ve(a[r>>2]|0,e+((u<<4)+l)|0,k+-2|0,w+-2|0,p,_,h,d,0);b=r;break}case 10:{b=a[r>>2]|0;if(((k|0)>=2?!((w|0)<2|(k+3+h|0)>>>0>p>>>0):0)?(w+3+d|0)>>>0<=_>>>0:0){_=k+3|0;w=w+-2|0;k=d+5|0}else{je(b,C,k+-2|0,w+-2|0,p,_,h+5|0,d+5|0,h+5|0);b=C;_=5;w=0;p=h+5|0;k=d+5|0}if(k){S=p-h|0;A=C+448|0;p=b+(_+(ee(w,p)|0))|0;while(1){if(!(h>>>2))b=A;else{w=A;_=p;v=o[p+-1>>0]|0;y=o[p+-2>>0]|0;g=o[p+-3>>0]|0;m=o[p+-4>>0]|0;b=o[p+-5>>0]|0;E=h>>>2;while(1){I=v+m|0;P=m;m=o[_>>0]|0;a[w>>2]=b-I+((y+g|0)*20|0)-(I<<2)+m;I=m+g|0;b=g;g=o[_+1>>0]|0;a[w+4>>2]=((v+y|0)*20|0)+P-I+g-(I<<2);I=g+y|0;P=y;y=o[_+2>>0]|0;a[w+8>>2]=b-I+y+((m+v|0)*20|0)-(I<<2);I=y+v|0;b=o[_+3>>0]|0;a[w+12>>2]=P-I+b+((g+m|0)*20|0)-(I<<2);E=E+-1|0;if(!E)break;else{I=v;w=w+16|0;_=_+4|0;v=b;b=I}}b=A+(h>>>2<<2<<2)|0;p=p+(h>>>2<<2)|0}k=k+-1|0;if(!k)break;else{A=b;p=p+S|0}}}if(d>>>2){b=e+((u<<4)+l)|0;p=C+448+(h<<2)|0;w=C+448+(h*6<<2)|0;g=d>>>2;while(1){if(h){k=b;_=p;v=w;y=h;while(1){I=a[v+(0-h<<1<<2)>>2]|0;M=a[v+(0-h<<2)>>2]|0;P=a[v+(h<<2)>>2]|0;T=a[v>>2]|0;O=a[_+(h<<1<<2)>>2]|0;i[k+48>>0]=i[6294+(((a[v+(h<<1<<2)>>2]|0)+512-(P+I)-(P+I<<2)+O+((T+M|0)*20|0)>>10)+512)>>0]|0;R=a[_+(h<<2)>>2]|0;i[k+32>>0]=i[6294+((P+512+((M+I|0)*20|0)-(O+T)-(O+T<<2)+R>>10)+512)>>0]|0;P=a[_>>2]|0;i[k+16>>0]=i[6294+((T+512+((O+I|0)*20|0)-(R+M)-(R+M<<2)+P>>10)+512)>>0]|0;i[k>>0]=i[6294+((M+512+((R+O|0)*20|0)-(P+I)-(P+I<<2)+(a[_+(0-h<<2)>>2]|0)>>10)+512)>>0]|0;y=y+-1|0;if(!y)break;else{k=k+1|0;_=_+4|0;v=v+4|0}}b=b+h|0;p=p+(h<<2)|0;w=w+(h<<2)|0}g=g+-1|0;if(!g)break;else{b=b+(64-h)|0;p=p+(h*3<<2)|0;w=w+(h*3<<2)|0}}}b=r;break}case 11:{Ve(a[r>>2]|0,e+((u<<4)+l)|0,k+-2|0,w+-2|0,p,_,h,d,1);b=r;break}case 12:{Ge(a[r>>2]|0,e+((u<<4)+l)|0,k+-2|0,w,p,_,h,d,1);b=r;break}case 13:{We(a[r>>2]|0,e+((u<<4)+l)|0,k+-2|0,w+-2|0,p,_,h,d,1);b=r;break}case 14:{qe(a[r>>2]|0,e+((u<<4)+l)|0,k+-2|0,w+-2|0,p,_,h,d,1);b=r;break}default:{We(a[r>>2]|0,e+((u<<4)+l)|0,k+-2|0,w+-2|0,p,_,h,d,3);b=r}}}while(0);y=e+((l>>>1)+256+(u>>>1<<3))|0;p=a[b>>2]|0;_=a[r+4>>2]|0;v=a[r+8>>2]|0;R=n[t>>1]|0;w=(R>>3)+((l+s|0)>>>1)|0;M=n[t+2>>1]|0;k=(M>>3)+((u+f|0)>>>1)|0;b=ee(_<<8,v)|0;if((R&7|0)!=0&(M&7|0)!=0){if(((w|0)>=0?!((k|0)<0?1:(w+1+(h>>>1)|0)>>>0>_<<3>>>0):0)?(k+1+(d>>>1)|0)>>>0<=v<<3>>>0:0){T=p+b|0;f=_<<3;b=v<<3}else{je(p+b|0,C+448|0,w,k,_<<3,v<<3,(h>>>1)+1|0,(d>>>1)+1|0,(h>>>1)+1|0);je(p+(b+(ee(v<<3,_<<3)|0))|0,C+448+(ee((d>>>1)+1|0,(h>>>1)+1|0)|0)|0,w,k,_<<3,v<<3,(h>>>1)+1|0,(d>>>1)+1|0,(h>>>1)+1|0);T=C+448|0;w=0;k=0;f=(h>>>1)+1|0;b=(d>>>1)+1|0}v=f<<1;p=f+1|0;_=f+2|0;m=0;do{if(!((h>>>2|0)==0|(d>>>2|0)==0)){y=e+((l>>>1)+256+(u>>>1<<3)+(m<<6))|0;E=T+((ee((ee(m,b)|0)+k|0,f)|0)+w)|0;t=d>>>2;while(1){S=o[E+f>>0]|0;r=(ee(o[E+v>>0]|0,M&7)|0)+(ee(S,8-(M&7)|0)|0)|0;S=ee(S,M&7)|0;g=y;A=E;S=(ee(o[E>>0]|0,8-(M&7)|0)|0)+S|0;s=h>>>2;while(1){P=o[A+p>>0]|0;I=(ee(P,M&7)|0)+(ee(o[A+1>>0]|0,8-(M&7)|0)|0)|0;P=(ee(o[A+(v|1)>>0]|0,M&7)|0)+(ee(P,8-(M&7)|0)|0)|0;U=((ee(S,8-(R&7)|0)|0)+32+(ee(I,R&7)|0)|0)>>>6;i[g+8>>0]=((ee(r,8-(R&7)|0)|0)+32+(ee(P,R&7)|0)|0)>>>6;i[g>>0]=U;U=A;A=A+2|0;O=o[U+_>>0]|0;S=(ee(O,M&7)|0)+(ee(o[A>>0]|0,8-(M&7)|0)|0)|0;r=(ee(o[U+(v+2)>>0]|0,M&7)|0)+(ee(O,8-(M&7)|0)|0)|0;I=((ee(I,8-(R&7)|0)|0)+32+(ee(S,R&7)|0)|0)>>>6;i[g+9>>0]=((ee(P,8-(R&7)|0)|0)+32+(ee(r,R&7)|0)|0)>>>6;i[g+1>>0]=I;s=s+-1|0;if(!s)break;else g=g+2|0}t=t+-1|0;if(!t)break;else{y=y+(16-(h>>>1)+(h>>>2<<1))|0;E=E+((h>>>2<<1)-(h>>>1)+v)|0}}}m=m+1|0}while((m|0)!=2);c=C;return}if(R&7){if((w|0)>=0?!(((d>>>1)+k|0)>>>0>v<<3>>>0|((k|0)<0?1:(w+1+(h>>>1)|0)>>>0>_<<3>>>0)):0){E=p+b|0;t=_<<3;m=v<<3}else{je(p+b|0,C+448|0,w,k,_<<3,v<<3,(h>>>1)+1|0,d>>>1,(h>>>1)+1|0);je(p+(b+(ee(v<<3,_<<3)|0))|0,C+448+(ee((h>>>1)+1|0,d>>>1)|0)|0,w,k,_<<3,v<<3,(h>>>1)+1|0,d>>>1,(h>>>1)+1|0);E=C+448|0;w=0;k=0;t=(h>>>1)+1|0;m=d>>>1}r=8-(R&7)|0;A=t+1|0;S=t+2|0;if(!((h>>>2|0)==0|(d>>>2|0)==0)){s=(t<<1)-(h>>>1)+(h>>>2<<1)|0;b=y;_=E+((ee(k,t)|0)+w)|0;g=d>>>2;while(1){p=b;v=_;y=h>>>2;while(1){I=o[v>>0]|0;P=o[v+A>>0]|0;O=v;v=v+2|0;U=o[O+1>>0]|0;i[p+8>>0]=(((ee(P,R&7)|0)+(ee(o[O+t>>0]|0,r)|0)<<3)+32|0)>>>6;i[p>>0]=(((ee(U,R&7)|0)+(ee(I,r)|0)<<3)+32|0)>>>6;I=o[v>>0]|0;i[p+9>>0]=(((ee(o[O+S>>0]|0,R&7)|0)+(ee(P,r)|0)<<3)+32|0)>>>6;i[p+1>>0]=(((ee(I,R&7)|0)+(ee(U,r)|0)<<3)+32|0)>>>6;y=y+-1|0;if(!y)break;else p=p+2|0}g=g+-1|0;if(!g)break;else{b=b+((h>>>2<<1)+(16-(h>>>1)))|0;_=_+s|0}}v=e+((l>>>1)+256+(u>>>1<<3)+64)|0;_=E+((ee(k+m|0,t)|0)+w)|0;k=d>>>2;while(1){b=v;p=_;w=h>>>2;while(1){I=o[p>>0]|0;P=o[p+A>>0]|0;O=p;p=p+2|0;U=o[O+1>>0]|0;i[b+8>>0]=(((ee(P,R&7)|0)+(ee(o[O+t>>0]|0,r)|0)<<3)+32|0)>>>6;i[b>>0]=(((ee(U,R&7)|0)+(ee(I,r)|0)<<3)+32|0)>>>6;I=o[p>>0]|0;i[b+9>>0]=(((ee(o[O+S>>0]|0,R&7)|0)+(ee(P,r)|0)<<3)+32|0)>>>6;i[b+1>>0]=(((ee(I,R&7)|0)+(ee(U,r)|0)<<3)+32|0)>>>6;w=w+-1|0;if(!w)break;else b=b+2|0}k=k+-1|0;if(!k)break;else{v=v+((h>>>2<<1)+(16-(h>>>1)))|0;_=_+s|0}}}c=C;return}if(!(M&7)){je(p+b|0,y,w,k,_<<3,v<<3,h>>>1,d>>>1,8);je(p+((ee(v<<3,_<<3)|0)+b)|0,e+((l>>>1)+256+(u>>>1<<3)+64)|0,w,k,_<<3,v<<3,h>>>1,d>>>1,8);c=C;return}if(((w|0)>=0?!((k|0)<0?1:((h>>>1)+w|0)>>>0>_<<3>>>0):0)?(k+1+(d>>>1)|0)>>>0<=v<<3>>>0:0){E=p+b|0;s=_<<3;m=v<<3}else{je(p+b|0,C+448|0,w,k,_<<3,v<<3,h>>>1,(d>>>1)+1|0,h>>>1);je(p+(b+(ee(v<<3,_<<3)|0))|0,C+448+(ee((d>>>1)+1|0,h>>>1)|0)|0,w,k,_<<3,v<<3,h>>>1,(d>>>1)+1|0,h>>>1);E=C+448|0;w=0;k=0;s=h>>>1;m=(d>>>1)+1|0}S=8-(M&7)|0;r=s<<1;A=s+1|0;if(!((h>>>2|0)==0|(d>>>2|0)==0)){b=y;_=E+((ee(k,s)|0)+w)|0;g=d>>>2;while(1){p=b;v=_;y=h>>>2;while(1){U=o[v+s>>0]|0;I=o[v>>0]|0;i[p+8>>0]=(((ee(U,S)|0)+(ee(o[v+r>>0]|0,M&7)|0)<<3)+32|0)>>>6;i[p>>0]=(((ee(I,S)|0)+(ee(U,M&7)|0)<<3)+32|0)>>>6;U=o[v+A>>0]|0;I=o[v+1>>0]|0;i[p+9>>0]=(((ee(U,S)|0)+(ee(o[v+(r|1)>>0]|0,M&7)|0)<<3)+32|0)>>>6;i[p+1>>0]=(((ee(I,S)|0)+(ee(U,M&7)|0)<<3)+32|0)>>>6;y=y+-1|0;if(!y)break;else{p=p+2|0;v=v+2|0}}g=g+-1|0;if(!g)break;else{b=b+((h>>>2<<1)+(16-(h>>>1)))|0;_=_+(r-(h>>>1)+(h>>>2<<1))|0}}v=e+((l>>>1)+256+(u>>>1<<3)+64)|0;_=E+((ee(k+m|0,s)|0)+w)|0;k=d>>>2;while(1){b=v;p=_;w=h>>>2;while(1){U=o[p+s>>0]|0;I=o[p>>0]|0;i[b+8>>0]=(((ee(U,S)|0)+(ee(o[p+r>>0]|0,M&7)|0)<<3)+32|0)>>>6;i[b>>0]=(((ee(I,S)|0)+(ee(U,M&7)|0)<<3)+32|0)>>>6;U=o[p+A>>0]|0;I=o[p+1>>0]|0;i[b+9>>0]=(((ee(U,S)|0)+(ee(o[p+(r|1)>>0]|0,M&7)|0)<<3)+32|0)>>>6;i[b+1>>0]=(((ee(I,S)|0)+(ee(U,M&7)|0)<<3)+32|0)>>>6;w=w+-1|0;if(!w)break;else{b=b+2|0;p=p+2|0}}k=k+-1|0;if(!k)break;else{v=v+((h>>>2<<1)+(16-(h>>>1)))|0;_=_+(r-(h>>>1)+(h>>>2<<1))|0}}}c=C;return}function ze(e,t,r,n,a){e=e|0;t=t|0;r=r|0;n=n|0;a=a|0;var o=0,s=0;if(r){vt(t|0,i[e>>0]|0,r|0)|0;t=t+r|0}if(n){r=n;o=e;s=t;while(1){i[s>>0]=i[o>>0]|0;r=r+-1|0;if(!r)break;else{o=o+1|0;s=s+1|0}}e=e+n|0;t=t+n|0}if(!a)return;vt(t|0,i[e+-1>>0]|0,a|0)|0;return}function Xe(e,t,r,i,n){e=e|0;t=t|0;r=r|0;i=i|0;n=n|0;yt(t|0,e|0,i|0)|0;return}function Je(e,t,r,i,n,o,s,f){e=e|0;t=t|0;r=r|0;i=i|0;n=n|0;o=o|0;s=s|0;f=f|0;var l=0,u=0,c=0,h=0,d=0,b=0,p=0,w=0,k=0,_=0,v=0,y=0,g=0,m=0,E=0;m=a[e+8>>2]|0;E=a[m>>2]|0;if((E|0)!=(r|0))return;a[e+52>>2]=0;g=a[e+56>>2]|0;do{if(!t){a[m+20>>2]=0;a[m+12>>2]=i;a[m+8>>2]=i;a[m+16>>2]=n;a[m+24>>2]=(g|0)==0&1;if(!g){l=(a[e+44>>2]|0)+1|0;a[e+44>>2]=l;a[m+36>>2]=o;a[m+28>>2]=s;a[m+32>>2]=f;d=e+44|0;y=108;break}else{a[m+36>>2]=o;a[m+28>>2]=s;a[m+32>>2]=f;y=110;break}}else{do{if(!o){if(!(a[t+8>>2]|0)){l=a[e+40>>2]|0;r=a[e+24>>2]|0;if(l>>>0>=r>>>0){if(l){h=a[e>>2]|0;d=0;u=-1;c=0;do{if(((a[h+(d*40|0)+20>>2]|0)+-1|0)>>>0<2){t=a[h+(d*40|0)+8>>2]|0;y=(u|0)==-1|(t|0)<(c|0);u=y?d:u;c=y?t:c}d=d+1|0}while((d|0)!=(l|0));if((u|0)>-1){a[h+(u*40|0)+20>>2]=0;a[e+40>>2]=l+-1;if(!(a[h+(u*40|0)+24>>2]|0)){a[e+44>>2]=(a[e+44>>2]|0)+-1;u=e+40|0;l=l+-1|0}else{u=e+40|0;l=l+-1|0}}else u=e+40|0}else{u=e+40|0;l=0}}else u=e+40|0}else{r=g;k=g;_=0;u=0;e:while(1){switch(a[t+12+(_*20|0)>>2]|0){case 6:{d=a[t+12+(_*20|0)+12>>2]|0;w=a[e+36>>2]|0;if((w|0)==65535|w>>>0<d>>>0)break e;b=a[e+24>>2]|0;t:do{if(b){h=a[e>>2]|0;c=0;while(1){l=h+(c*40|0)+20|0;if((a[l>>2]|0)==3?(a[h+(c*40|0)+8>>2]|0)==(d|0):0)break;l=c+1|0;if(l>>>0<b>>>0)c=l;else{y=89;break t}}a[l>>2]=0;l=(a[e+40>>2]|0)+-1|0;a[e+40>>2]=l;if(!(a[h+(c*40|0)+24>>2]|0))a[e+44>>2]=(a[e+44>>2]|0)+-1}else y=89}while(0);if((y|0)==89){y=0;l=a[e+40>>2]|0}if(l>>>0>=b>>>0)break e;a[m+12>>2]=i;a[m+8>>2]=d;a[m+16>>2]=n;a[m+20>>2]=3;a[m+24>>2]=(r|0)==0&1;a[e+40>>2]=l+1;a[e+44>>2]=(a[e+44>>2]|0)+1;l=k;u=1;break}case 1:{h=i-(a[t+12+(_*20|0)+4>>2]|0)|0;d=a[e+24>>2]|0;if(!d)break e;b=a[e>>2]|0;l=0;while(1){c=b+(l*40|0)+20|0;if(((a[c>>2]|0)+-1|0)>>>0<2?(a[b+(l*40|0)+8>>2]|0)==(h|0):0)break;l=l+1|0;if(l>>>0>=d>>>0)break e}if((l|0)<0)break e;a[c>>2]=0;a[e+40>>2]=(a[e+40>>2]|0)+-1;if(!(a[b+(l*40|0)+24>>2]|0)){a[e+44>>2]=(a[e+44>>2]|0)+-1;l=k}else l=k;break}case 2:{h=a[t+12+(_*20|0)+8>>2]|0;d=a[e+24>>2]|0;if(!d)break e;b=a[e>>2]|0;l=0;while(1){c=b+(l*40|0)+20|0;if((a[c>>2]|0)==3?(a[b+(l*40|0)+8>>2]|0)==(h|0):0)break;l=l+1|0;if(l>>>0>=d>>>0)break e}if((l|0)<0)break e;a[c>>2]=0;a[e+40>>2]=(a[e+40>>2]|0)+-1;if(!(a[b+(l*40|0)+24>>2]|0)){a[e+44>>2]=(a[e+44>>2]|0)+-1;l=k}else l=k;break}case 3:{l=a[t+12+(_*20|0)+4>>2]|0;b=a[t+12+(_*20|0)+12>>2]|0;w=a[e+36>>2]|0;if((w|0)==65535|w>>>0<b>>>0)break e;p=a[e+24>>2]|0;if(!p)break e;w=a[e>>2]|0;d=0;while(1){c=w+(d*40|0)+20|0;if((a[c>>2]|0)==3?(a[w+(d*40|0)+8>>2]|0)==(b|0):0){y=48;break}h=d+1|0;if(h>>>0<p>>>0)d=h;else break}if((y|0)==48?(y=0,a[c>>2]=0,a[e+40>>2]=(a[e+40>>2]|0)+-1,(a[w+(d*40|0)+24>>2]|0)==0):0)a[e+44>>2]=(a[e+44>>2]|0)+-1;d=i-l|0;l=0;while(1){c=w+(l*40|0)+20|0;h=a[c>>2]|0;if((h+-1|0)>>>0<2?(v=w+(l*40|0)+8|0,(a[v>>2]|0)==(d|0)):0)break;l=l+1|0;if(l>>>0>=p>>>0)break e}if(!((l|0)>-1&h>>>0>1))break e;a[c>>2]=3;a[v>>2]=b;l=k;break}case 4:{h=a[t+12+(_*20|0)+16>>2]|0;a[e+36>>2]=h;d=a[e+24>>2]|0;if(!d)l=k;else{b=a[e>>2]|0;l=h;p=0;do{c=b+(p*40|0)+20|0;do{if((a[c>>2]|0)==3){if((a[b+(p*40|0)+8>>2]|0)>>>0<=h>>>0)if((l|0)==65535)l=65535;else break;a[c>>2]=0;a[e+40>>2]=(a[e+40>>2]|0)+-1;if(!(a[b+(p*40|0)+24>>2]|0))a[e+44>>2]=(a[e+44>>2]|0)+-1}}while(0);p=p+1|0}while((p|0)!=(d|0));l=k}break}case 5:{d=a[e>>2]|0;i=0;do{l=d+(i*40|0)+20|0;if((a[l>>2]|0)!=0?(a[l>>2]=0,(a[d+(i*40|0)+24>>2]|0)==0):0)a[e+44>>2]=(a[e+44>>2]|0)+-1;i=i+1|0}while((i|0)!=16);t:do{if(!r){c=a[e+28>>2]|0;h=k;while(1){i=0;r=2147483647;l=0;do{if(a[d+(i*40|0)+24>>2]|0){w=a[d+(i*40|0)+16>>2]|0;k=(w|0)<(r|0);r=k?w:r;l=k?d+(i*40|0)|0:l}i=i+1|0}while(i>>>0<=c>>>0);if(!l){l=h;r=0;break t}k=a[e+16>>2]|0;w=a[e+12>>2]|0;a[w+(k<<4)>>2]=a[l>>2];a[w+(k<<4)+12>>2]=a[l+36>>2];a[w+(k<<4)+4>>2]=a[l+28>>2];a[w+(k<<4)+8>>2]=a[l+32>>2];a[e+16>>2]=k+1;a[l+24>>2]=0;if(!(a[l+20>>2]|0))a[e+44>>2]=(a[e+44>>2]|0)+-1;if(!h)h=0;else{l=h;r=h;break}}}else l=k}while(0);a[e+40>>2]=0;a[e+36>>2]=65535;a[e+48>>2]=0;a[e+52>>2]=1;i=0;break}default:break e}k=l;_=_+1|0}if(u)break;u=e+40|0;l=a[e+40>>2]|0;r=a[e+24>>2]|0}if(l>>>0<r>>>0){a[m+12>>2]=i;a[m+8>>2]=i;a[m+16>>2]=n;a[m+20>>2]=2;a[m+24>>2]=(g|0)==0&1;a[e+44>>2]=(a[e+44>>2]|0)+1;a[u>>2]=l+1}}else{a[e+20>>2]=0;a[e+16>>2]=0;h=a[e>>2]|0;l=0;do{r=h+(l*40|0)+20|0;if((a[r>>2]|0)!=0?(a[r>>2]=0,(a[h+(l*40|0)+24>>2]|0)==0):0)a[e+44>>2]=(a[e+44>>2]|0)+-1;l=l+1|0}while((l|0)!=16);e:do{if(!g){c=a[e+28>>2]|0;r=0;while(1){u=0;l=2147483647;i=0;do{if(a[h+(u*40|0)+24>>2]|0){y=a[h+(u*40|0)+16>>2]|0;n=(y|0)<(l|0);l=n?y:l;i=n?h+(u*40|0)|0:i}u=u+1|0}while(u>>>0<=c>>>0);if(!i)break e;n=a[e+12>>2]|0;a[n+(r<<4)>>2]=a[i>>2];a[n+(r<<4)+12>>2]=a[i+36>>2];a[n+(r<<4)+4>>2]=a[i+28>>2];a[n+(r<<4)+8>>2]=a[i+32>>2];r=r+1|0;a[e+16>>2]=r;a[i+24>>2]=0;if(a[i+20>>2]|0)continue;a[e+44>>2]=(a[e+44>>2]|0)+-1}}}while(0);a[e+40>>2]=0;a[e+36>>2]=65535;a[e+48>>2]=0;if((a[t>>2]|0)!=0|(g|0)==0^1){a[e+16>>2]=0;a[e+20>>2]=0}n=(a[t+4>>2]|0)==0;a[m+20>>2]=n?2:3;a[e+36>>2]=n?65535:0;a[m+12>>2]=0;a[m+8>>2]=0;a[m+16>>2]=0;a[m+24>>2]=(g|0)==0&1;a[e+44>>2]=1;a[e+40>>2]=1}}while(0);a[m+36>>2]=o;a[m+28>>2]=s;a[m+32>>2]=f;if(!g){d=e+44|0;l=a[e+44>>2]|0;y=108}else y=110}}while(0);if((y|0)==108){r=a[e+28>>2]|0;if(l>>>0>r>>>0){h=a[e>>2]|0;do{c=0;i=2147483647;u=0;do{if(a[h+(c*40|0)+24>>2]|0){o=a[h+(c*40|0)+16>>2]|0;f=(o|0)<(i|0);i=f?o:i;u=f?h+(c*40|0)|0:u}c=c+1|0}while(c>>>0<=r>>>0);if((u|0)!=0?(f=a[e+16>>2]|0,o=a[e+12>>2]|0,a[o+(f<<4)>>2]=a[u>>2],a[o+(f<<4)+12>>2]=a[u+36>>2],a[o+(f<<4)+4>>2]=a[u+28>>2],a[o+(f<<4)+8>>2]=a[u+32>>2],a[e+16>>2]=f+1,a[u+24>>2]=0,(a[u+20>>2]|0)==0):0){l=l+-1|0;a[d>>2]=l}}while(l>>>0>r>>>0)}}else if((y|0)==110){r=a[e+16>>2]|0;m=a[e+12>>2]|0;a[m+(r<<4)>>2]=E;a[m+(r<<4)+12>>2]=o;a[m+(r<<4)+4>>2]=s;a[m+(r<<4)+8>>2]=f;a[e+16>>2]=r+1;r=a[e+28>>2]|0}Qe(a[e>>2]|0,r+1|0);return}function Qe(e,t){e=e|0;t=t|0;var r=0,i=0,n=0,o=0,s=0,f=0,l=0,u=0,h=0,d=0,b=0,p=0,w=0,k=0,_=0;_=c;c=c+16|0;w=7;do{if(w>>>0<t>>>0){p=w;do{d=e+(p*40|0)|0;h=a[d>>2]|0;d=a[d+4>>2]|0;b=a[e+(p*40|0)+8>>2]|0;f=e+(p*40|0)+12|0;s=a[f>>2]|0;f=a[f+4>>2]|0;l=a[e+(p*40|0)+20>>2]|0;u=a[e+(p*40|0)+24>>2]|0;o=e+(p*40|0)+28|0;a[_>>2]=a[o>>2];a[_+4>>2]=a[o+4>>2];a[_+8>>2]=a[o+8>>2];e:do{if(p>>>0<w>>>0){i=p;k=9}else{t:do{if(!l){if(!u)i=p;else{r=p;while(1){i=r-w|0;if(a[e+(i*40|0)+20>>2]|0){i=r;break t}if(a[e+(i*40|0)+24>>2]|0){i=r;break t}r=e+(r*40|0)|0;n=e+(i*40|0)|0;o=r+40|0;do{a[r>>2]=a[n>>2];r=r+4|0;n=n+4|0}while((r|0)<(o|0));if(i>>>0<w>>>0){k=9;break e}else r=i}}}else{o=p;while(1){i=o-w|0;r=a[e+(i*40|0)+20>>2]|0;do{if(r){if((r+-1|l+-1)>>>0<2){n=a[e+(i*40|0)+8>>2]|0;if((n|0)>(b|0)){i=o;break t}r=e+(o*40|0)|0;if((n|0)<(b|0))break;else{i=o;break e}}if((r+-1|0)>>>0<2){i=o;break t}if((l+-1|0)>>>0>=2?(a[e+(i*40|0)+8>>2]|0)<=(b|0):0){i=o;break t}else k=17}else k=17}while(0);if((k|0)==17){k=0;r=e+(o*40|0)|0}n=e+(i*40|0)|0;o=r+40|0;do{a[r>>2]=a[n>>2];r=r+4|0;n=n+4|0}while((r|0)<(o|0));if(i>>>0<w>>>0){k=9;break e}else o=i}}}while(0);r=e+(i*40|0)|0}}while(0);if((k|0)==9){k=0;r=e+(i*40|0)|0}o=r;a[o>>2]=h;a[o+4>>2]=d;a[e+(i*40|0)+8>>2]=b;b=e+(i*40|0)+12|0;a[b>>2]=s;a[b+4>>2]=f;a[e+(i*40|0)+20>>2]=l;a[e+(i*40|0)+24>>2]=u;b=e+(i*40|0)+28|0;a[b>>2]=a[_>>2];a[b+4>>2]=a[_+4>>2];a[b+8>>2]=a[_+8>>2];p=p+1|0}while((p|0)!=(t|0))}w=w>>>1}while((w|0)!=0);c=_;return}function Ze(e,t){e=e|0;t=t|0;var r=0,i=0,n=0,o=0,s=0,f=0;i=a[e+4>>2]|0;n=a[e+16>>2]|0;o=a[e+20>>2]|0;s=16;e=a[e+12>>2]|0;r=t;while(1){f=a[r+4>>2]|0;a[e>>2]=a[r>>2];a[e+4>>2]=f;f=a[r+12>>2]|0;a[e+8>>2]=a[r+8>>2];a[e+12>>2]=f;s=s+-1|0;if(!s)break;else{e=e+(i<<2<<2)|0;r=r+16|0}}r=a[t+260>>2]|0;a[n>>2]=a[t+256>>2];a[n+4>>2]=r;r=a[t+268>>2]|0;a[n+((i<<1&2147483646)<<2)>>2]=a[t+264>>2];a[n+((i<<1&2147483646|1)<<2)>>2]=r;r=a[t+276>>2]|0;a[n+(i<<2<<2)>>2]=a[t+272>>2];a[n+((i<<2|1)<<2)>>2]=r;r=(i<<1&2147483646)+(i<<2)|0;s=a[t+284>>2]|0;a[n+(r<<2)>>2]=a[t+280>>2];a[n+((r|1)<<2)>>2]=s;s=a[t+292>>2]|0;a[n+(r+(i<<1&2147483646)<<2)>>2]=a[t+288>>2];a[n+((r+(i<<1&2147483646)|1)<<2)>>2]=s;s=r+(i<<1&2147483646)+(i<<1&2147483646)|0;f=a[t+300>>2]|0;a[n+(s<<2)>>2]=a[t+296>>2];a[n+((s|1)<<2)>>2]=f;f=a[t+308>>2]|0;a[n+(s+(i<<1&2147483646)<<2)>>2]=a[t+304>>2];a[n+((s+(i<<1&2147483646)|1)<<2)>>2]=f;f=s+(i<<1&2147483646)+(i<<1&2147483646)|0;e=a[t+316>>2]|0;a[n+(f<<2)>>2]=a[t+312>>2];a[n+((f|1)<<2)>>2]=e;n=a[t+324>>2]|0;a[o>>2]=a[t+320>>2];a[o+4>>2]=n;n=a[t+332>>2]|0;a[o+((i<<1&2147483646)<<2)>>2]=a[t+328>>2];a[o+((i<<1&2147483646|1)<<2)>>2]=n;n=a[t+340>>2]|0;a[o+(i<<2<<2)>>2]=a[t+336>>2];a[o+((i<<2|1)<<2)>>2]=n;n=a[t+348>>2]|0;a[o+(r<<2)>>2]=a[t+344>>2];a[o+((r|1)<<2)>>2]=n;n=a[t+356>>2]|0;a[o+(r+(i<<1&2147483646)<<2)>>2]=a[t+352>>2];a[o+((r+(i<<1&2147483646)|1)<<2)>>2]=n;n=a[t+364>>2]|0;a[o+(s<<2)>>2]=a[t+360>>2];a[o+((s|1)<<2)>>2]=n;n=a[t+372>>2]|0;a[o+(s+(i<<1&2147483646)<<2)>>2]=a[t+368>>2];a[o+((s+(i<<1&2147483646)|1)<<2)>>2]=n;s=a[t+380>>2]|0;a[o+(f<<2)>>2]=a[t+376>>2];a[o+((f|1)<<2)>>2]=s;return}function $e(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var s=0,f=0,l=0,u=0,c=0,h=0,d=0,b=0,p=0,w=0,k=0,_=0,v=0;if(t>>>0<4){p=o[(a[r>>2]|0)+(t+-1)>>0]|0;b=4;while(1){t=e+-2|0;u=e+-1|0;f=e+1|0;c=i[f>>0]|0;h=o[u>>0]|0;d=o[e>>0]|0;if((((h-d|0)<0?0-(h-d)|0:h-d|0)>>>0<(a[r+4>>2]|0)>>>0?(w=o[t>>0]|0,k=a[r+8>>2]|0,((w-h|0)<0?0-(w-h)|0:w-h|0)>>>0<k>>>0):0)?(((c&255)-d|0)<0?0-((c&255)-d)|0:(c&255)-d|0)>>>0<k>>>0:0){l=i[e+2>>0]|0;s=o[e+-3>>0]|0;if(((s-h|0)<0?0-(s-h)|0:s-h|0)>>>0<k>>>0){i[t>>0]=((((h+1+d|0)>>>1)-(w<<1)+s>>1|0)<(0-p|0)?0-p|0:(((h+1+d|0)>>>1)-(w<<1)+s>>1|0)>(p|0)?p:((h+1+d|0)>>>1)-(w<<1)+s>>1)+w;s=a[r+8>>2]|0;t=p+1|0}else{s=k;t=p}if((((l&255)-d|0)<0?0-((l&255)-d)|0:(l&255)-d|0)>>>0<s>>>0){i[f>>0]=((((h+1+d|0)>>>1)-((c&255)<<1)+(l&255)>>1|0)<(0-p|0)?0-p|0:(((h+1+d|0)>>>1)-((c&255)<<1)+(l&255)>>1|0)>(p|0)?p:((h+1+d|0)>>>1)-((c&255)<<1)+(l&255)>>1)+(c&255);t=t+1|0}_=0-t|0;_=(4-(c&255)+(d-h<<2)+w>>3|0)<(_|0)?_:(4-(c&255)+(d-h<<2)+w>>3|0)>(t|0)?t:4-(c&255)+(d-h<<2)+w>>3;v=i[6294+((d|512)-_)>>0]|0;i[u>>0]=i[6294+(_+(h|512))>>0]|0;i[e>>0]=v}b=b+-1|0;if(!b)break;else e=e+n|0}return}k=4;while(1){f=e+-2|0;l=e+-1|0;u=e+1|0;c=i[u>>0]|0;h=o[l>>0]|0;d=o[e>>0]|0;t=(h-d|0)<0?0-(h-d)|0:h-d|0;s=a[r+4>>2]|0;do{if((t>>>0<s>>>0?(_=o[f>>0]|0,v=a[r+8>>2]|0,((_-h|0)<0?0-(_-h)|0:_-h|0)>>>0<v>>>0):0)?(((c&255)-d|0)<0?0-((c&255)-d)|0:(c&255)-d|0)>>>0<v>>>0:0){b=e+-3|0;p=e+2|0;w=i[p>>0]|0;if(t>>>0<((s>>>2)+2|0)>>>0){t=o[b>>0]|0;if(((t-h|0)<0?0-(t-h)|0:t-h|0)>>>0<v>>>0){i[l>>0]=((c&255)+4+(d+h+_<<1)+t|0)>>>3;i[f>>0]=(d+h+_+2+t|0)>>>2;i[b>>0]=(d+h+_+4+(t*3|0)+((o[e+-4>>0]|0)<<1)|0)>>>3}else i[l>>0]=(h+2+(c&255)+(_<<1)|0)>>>2;if((((w&255)-d|0)<0?0-((w&255)-d)|0:(w&255)-d|0)>>>0<(a[r+8>>2]|0)>>>0){i[e>>0]=((d+h+(c&255)<<1)+4+_+(w&255)|0)>>>3;i[u>>0]=(d+h+(c&255)+2+(w&255)|0)>>>2;i[p>>0]=(d+h+(c&255)+4+((w&255)*3|0)+((o[e+3>>0]|0)<<1)|0)>>>3;break}}else i[l>>0]=(h+2+(c&255)+(_<<1)|0)>>>2;i[e>>0]=(d+2+((c&255)<<1)+_|0)>>>2}}while(0);k=k+-1|0;if(!k)break;else e=e+n|0}return}function et(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var s=0,f=0,l=0,u=0,c=0,h=0,d=0,b=0,p=0,w=0,k=0,_=0;p=o[(a[r>>2]|0)+(t+-1)>>0]|0;w=ee(n,-3)|0;b=4;while(1){t=e+(0-n<<1)|0;u=e+(0-n)|0;l=e+n|0;c=i[l>>0]|0;h=o[u>>0]|0;d=o[e>>0]|0;if((((h-d|0)<0?0-(h-d)|0:h-d|0)>>>0<(a[r+4>>2]|0)>>>0?(k=o[t>>0]|0,_=a[r+8>>2]|0,((k-h|0)<0?0-(k-h)|0:k-h|0)>>>0<_>>>0):0)?(((c&255)-d|0)<0?0-((c&255)-d)|0:(c&255)-d|0)>>>0<_>>>0:0){s=o[e+w>>0]|0;if(((s-h|0)<0?0-(s-h)|0:s-h|0)>>>0<_>>>0){i[t>>0]=((((h+1+d|0)>>>1)-(k<<1)+s>>1|0)<(0-p|0)?0-p|0:(((h+1+d|0)>>>1)-(k<<1)+s>>1|0)>(p|0)?p:((h+1+d|0)>>>1)-(k<<1)+s>>1)+k;f=a[r+8>>2]|0;t=p+1|0}else{f=_;t=p}s=o[e+(n<<1)>>0]|0;if(((s-d|0)<0?0-(s-d)|0:s-d|0)>>>0<f>>>0){i[l>>0]=((((h+1+d|0)>>>1)-((c&255)<<1)+s>>1|0)<(0-p|0)?0-p|0:(((h+1+d|0)>>>1)-((c&255)<<1)+s>>1|0)>(p|0)?p:((h+1+d|0)>>>1)-((c&255)<<1)+s>>1)+(c&255);t=t+1|0}l=0-t|0;c=(4-(c&255)+(d-h<<2)+k>>3|0)<(l|0)?l:(4-(c&255)+(d-h<<2)+k>>3|0)>(t|0)?t:4-(c&255)+(d-h<<2)+k>>3;d=i[6294+((d|512)-c)>>0]|0;i[u>>0]=i[6294+(c+(h|512))>>0]|0;i[e>>0]=d}b=b+-1|0;if(!b)break;else e=e+1|0}return}function tt(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var s=0,f=0,l=0,u=0,c=0;l=i[e+1>>0]|0;u=o[e+-1>>0]|0;c=o[e>>0]|0;do{if((((u-c|0)<0?0-(u-c)|0:u-c|0)>>>0<(a[r+4>>2]|0)>>>0?(s=o[e+-2>>0]|0,f=a[r+8>>2]|0,((s-u|0)<0?0-(s-u)|0:s-u|0)>>>0<f>>>0):0)?(((l&255)-c|0)<0?0-((l&255)-c)|0:(l&255)-c|0)>>>0<f>>>0:0)if(t>>>0<4){f=o[(a[r>>2]|0)+(t+-1)>>0]|0;l=(4-(l&255)+(c-u<<2)+s>>3|0)<(~f|0)?~f:(4-(l&255)+(c-u<<2)+s>>3|0)>(f+1|0)?f+1|0:4-(l&255)+(c-u<<2)+s>>3;c=i[6294+((c|512)-l)>>0]|0;i[e+-1>>0]=i[6294+(l+(u|512))>>0]|0;i[e>>0]=c;break}else{i[e+-1>>0]=(u+2+(l&255)+(s<<1)|0)>>>2;i[e>>0]=(c+2+((l&255)<<1)+s|0)>>>2;break}}while(0);s=o[e+(n+-1)>>0]|0;f=o[e+n>>0]|0;if(((s-f|0)<0?0-(s-f)|0:s-f|0)>>>0>=(a[r+4>>2]|0)>>>0)return;l=o[e+(n+-2)>>0]|0;u=a[r+8>>2]|0;if(((l-s|0)<0?0-(l-s)|0:l-s|0)>>>0>=u>>>0)return;c=o[e+(n+1)>>0]|0;if(((c-f|0)<0?0-(c-f)|0:c-f|0)>>>0>=u>>>0)return;if(t>>>0<4){t=o[(a[r>>2]|0)+(t+-1)>>0]|0;t=(4-c+(f-s<<2)+l>>3|0)<(~t|0)?~t:(4-c+(f-s<<2)+l>>3|0)>(t+1|0)?t+1|0:4-c+(f-s<<2)+l>>3;r=i[6294+((f|512)-t)>>0]|0;i[e+(n+-1)>>0]=i[6294+(t+(s|512))>>0]|0;i[e+n>>0]=r;return}else{i[e+(n+-1)>>0]=(s+2+c+(l<<1)|0)>>>2;i[e+n>>0]=(f+2+(c<<1)+l|0)>>>2;return}}function rt(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var s=0,f=0,l=0,u=0,c=0,h=0,d=0,b=0;if(t>>>0<4){c=o[(a[r>>2]|0)+(t+-1)>>0]|0;u=8;while(1){t=e+(0-n)|0;s=i[e+n>>0]|0;f=o[t>>0]|0;l=o[e>>0]|0;if((((f-l|0)<0?0-(f-l)|0:f-l|0)>>>0<(a[r+4>>2]|0)>>>0?(d=o[e+(0-n<<1)>>0]|0,b=a[r+8>>2]|0,((d-f|0)<0?0-(d-f)|0:d-f|0)>>>0<b>>>0):0)?(((s&255)-l|0)<0?0-((s&255)-l)|0:(s&255)-l|0)>>>0<b>>>0:0){s=(4-(s&255)+(l-f<<2)+d>>3|0)<(~c|0)?~c:(4-(s&255)+(l-f<<2)+d>>3|0)>(c+1|0)?c+1|0:4-(s&255)+(l-f<<2)+d>>3;h=i[6294+((l|512)-s)>>0]|0;i[t>>0]=i[6294+(s+(f|512))>>0]|0;i[e>>0]=h}u=u+-1|0;if(!u)break;else e=e+1|0}return}else{u=8;while(1){t=e+(0-n)|0;s=i[e+n>>0]|0;f=o[t>>0]|0;l=o[e>>0]|0;if((((f-l|0)<0?0-(f-l)|0:f-l|0)>>>0<(a[r+4>>2]|0)>>>0?(c=o[e+(0-n<<1)>>0]|0,h=a[r+8>>2]|0,((c-f|0)<0?0-(c-f)|0:c-f|0)>>>0<h>>>0):0)?(((s&255)-l|0)<0?0-((s&255)-l)|0:(s&255)-l|0)>>>0<h>>>0:0){i[t>>0]=(f+2+(s&255)+(c<<1)|0)>>>2;i[e>>0]=(l+2+((s&255)<<1)+c|0)>>>2}u=u+-1|0;if(!u)break;else e=e+1|0}return}}function it(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var s=0,f=0,l=0,u=0,c=0,h=0;h=o[(a[r>>2]|0)+(t+-1)>>0]|0;s=i[e+n>>0]|0;f=o[e+(0-n)>>0]|0;l=o[e>>0]|0;t=a[r+4>>2]|0;if((((f-l|0)<0?0-(f-l)|0:f-l|0)>>>0<t>>>0?(u=o[e+(0-n<<1)>>0]|0,c=a[r+8>>2]|0,((u-f|0)<0?0-(u-f)|0:u-f|0)>>>0<c>>>0):0)?(((s&255)-l|0)<0?0-((s&255)-l)|0:(s&255)-l|0)>>>0<c>>>0:0){c=(4-(s&255)+(l-f<<2)+u>>3|0)<(~h|0)?~h:(4-(s&255)+(l-f<<2)+u>>3|0)>(h+1|0)?h+1|0:4-(s&255)+(l-f<<2)+u>>3;t=i[6294+((l|512)-c)>>0]|0;i[e+(0-n)>>0]=i[6294+(c+(f|512))>>0]|0;i[e>>0]=t;t=a[r+4>>2]|0}l=o[e+(1-n)>>0]|0;u=o[e+1>>0]|0;if(((l-u|0)<0?0-(l-u)|0:l-u|0)>>>0>=t>>>0)return;f=o[e+(0-n<<1|1)>>0]|0;t=a[r+8>>2]|0;if(((f-l|0)<0?0-(f-l)|0:f-l|0)>>>0>=t>>>0)return;s=o[e+(n+1)>>0]|0;if(((s-u|0)<0?0-(s-u)|0:s-u|0)>>>0>=t>>>0)return;r=(4-s+(u-l<<2)+f>>3|0)<(~h|0)?~h:(4-s+(u-l<<2)+f>>3|0)>(h+1|0)?h+1|0:4-s+(u-l<<2)+f>>3;h=i[6294+((u|512)-r)>>0]|0;i[e+(1-n)>>0]=i[6294+(r+(l|512))>>0]|0;i[e+1>>0]=h;return}function nt(e,t,r,s,f){e=e|0;t=t|0;r=r|0;s=s|0;f=f|0;var l=0,u=0,h=0,d=0,b=0,p=0,w=0,k=0,_=0,v=0,y=0,g=0,m=0,E=0,A=0,S=0,T=0,M=0,R=0,C=0,O=0,P=0,I=0,U=0,D=0,x=0,N=0,L=0,B=0,F=0,H=0,j=0,Y=0,G=0,W=0,V=0,q=0,K=0,z=0,X=0,J=0,Q=0,Z=0,$=0,te=0,re=0,ie=0,ne=0,ae=0,oe=0,se=0,fe=0,le=0,ue=0,ce=0,he=0,de=0,be=0,pe=0,we=0,ke=0,_e=0,ve=0,ye=0,ge=0,me=0,Ee=0,Ae=0,Se=0,Te=0,Me=0,Re=0,Ce=0,Oe=0,Pe=0,Ie=0,Ue=0,De=0,He=0,je=0,Ye=0,Ge=0,We=0,Ve=0,qe=0,Ke=0,ze=0,Xe=0,Ze=0,nt=0,at=0,ot=0,st=0,ft=0,lt=0,ut=0,ct=0,ht=0,dt=0,bt=0,pt=0;pt=c;c=c+816|0;if((a[e+3344>>2]|0)!=0?(a[e+3348>>2]|0)==(t|0):0){a[pt+624>>2]=a[e+3356>>2];a[pt+624+4>>2]=a[e+3356+4>>2];a[pt+624+8>>2]=a[e+3356+8>>2];a[pt+624+12>>2]=a[e+3356+12>>2];a[pt+624+4>>2]=a[pt+624>>2];a[pt+624+8>>2]=0;a[pt+624+16>>2]=0;a[f>>2]=a[e+3352>>2];M=pt+624+8|0;v=pt+624+4|0;y=pt+624+16|0;h=0}else{do{if(((r>>>0>3?(i[t>>0]|0)==0:0)?(i[t+1>>0]|0)==0:0)?(d=i[t+2>>0]|0,(d&255)<2):0){_=-3;k=3;w=t+3|0;b=2;while(1){if(d<<24>>24){if(d<<24>>24==1&b>>>0>1){v=k;y=0;g=0;E=w;A=0;break}else b=0}else b=b+1|0;p=k+1|0;if((p|0)==(r|0)){Xe=9;break}_=~k;d=i[w>>0]|0;k=p;w=w+1|0}if((Xe|0)==9){a[f>>2]=r;e=3;c=pt;return e|0}while(1){d=i[E>>0]|0;b=v+1|0;p=(d<<24>>24!=0^1)+A|0;y=d<<24>>24==3&(p|0)==2?1:y;if(d<<24>>24==1&p>>>0>1){Xe=16;break}A=d<<24>>24!=0?0:p;m=d<<24>>24!=0&p>>>0>2?1:g;if((b|0)==(r|0)){Xe=18;break}else{v=b;g=m;E=E+1|0}}if((Xe|0)==16){S=v+_-p|0;a[pt+624+12>>2]=S;O=pt+624+12|0;T=y;M=k;R=g;C=p-(p>>>0<3?p:3)|0;break}else if((Xe|0)==18){S=_+r-A|0;a[pt+624+12>>2]=S;O=pt+624+12|0;T=y;M=k;R=m;C=A;break}}else Xe=19}while(0);if((Xe|0)==19){a[pt+624+12>>2]=r;O=pt+624+12|0;S=r;T=1;M=0;R=0;C=0}d=t+M|0;a[pt+624>>2]=d;a[pt+624+4>>2]=d;a[pt+624+8>>2]=0;a[pt+624+16>>2]=0;a[f>>2]=M+S+C;if(R){e=3;c=pt;return e|0}do{if(T){p=a[O>>2]|0;w=d;k=d;d=0;e:while(1){while(1){We=p;p=p+-1|0;if(!We){Xe=31;break e}b=i[w>>0]|0;if((d|0)!=2){P=d;break}if(b<<24>>24!=3){Xe=29;break}if(!p){ue=3;Xe=1494;break e}d=w+1|0;if((o[d>>0]|0)>3){ue=3;Xe=1494;break e}else{w=d;d=0}}if((Xe|0)==29){Xe=0;if((b&255)<3){ue=3;Xe=1494;break}else P=2}i[k>>0]=b;w=w+1|0;k=k+1|0;d=b<<24>>24==0?P+1|0:0}if((Xe|0)==31){a[O>>2]=k-w+(a[O>>2]|0);h=a[pt+624+16>>2]|0;break}else if((Xe|0)==1494){c=pt;return ue|0}}else h=0}while(0);a[e+3356>>2]=a[pt+624>>2];a[e+3356+4>>2]=a[pt+624+4>>2];a[e+3356+8>>2]=a[pt+624+8>>2];a[e+3356+12>>2]=a[pt+624+12>>2];a[e+3356+16>>2]=a[pt+624+16>>2];a[e+3352>>2]=a[f>>2];a[e+3348>>2]=t;M=pt+624+8|0;v=pt+624+4|0;y=pt+624+16|0}a[e+3344>>2]=0;T=pt+624+12|0;We=a[T>>2]<<3;b=h+1|0;a[y>>2]=b;a[M>>2]=b&7;if(b>>>0>We>>>0){e=3;c=pt;return e|0}_=a[pt+624>>2]|0;a[v>>2]=_+(b>>>3);w=a[T>>2]<<3;k=a[y>>2]|0;if((w-k|0)>31){h=a[M>>2]|0;d=o[_+((b>>>3)+1)>>0]<<16|o[_+(b>>>3)>>0]<<24|o[_+((b>>>3)+2)>>0]<<8|o[_+((b>>>3)+3)>>0];if(h)d=(o[_+((b>>>3)+4)>>0]|0)>>>(8-h|0)|d<<h}else if((w-k|0)>0){h=a[M>>2]|0;d=o[_+(b>>>3)>>0]<<h+24;if((w-k+-8+h|0)>0){b=_+(b>>>3)|0;p=w-k+-8+h|0;h=h+24|0;while(1){b=b+1|0;h=h+-8|0;d=o[b>>0]<<h|d;if((p|0)<=8)break;else p=p+-8|0}}}else d=0;a[y>>2]=k+2;a[M>>2]=k+2&7;if((k+2|0)>>>0>w>>>0){h=0;b=a[v>>2]|0}else{a[v>>2]=_+((k+2|0)>>>3);h=1;b=_+((k+2|0)>>>3)|0}S=h?d>>>30:-1;w=a[T>>2]<<3;k=a[y>>2]|0;if((w-k|0)>31){d=a[M>>2]|0;h=o[b+1>>0]<<16|o[b>>0]<<24|o[b+2>>0]<<8|o[b+3>>0];if(d)h=(o[b+4>>0]|0)>>>(8-d|0)|h<<d}else if((w-k|0)>0){d=a[M>>2]|0;h=o[b>>0]<<d+24;if((w-k+-8+d|0)>0){p=w-k+-8+d|0;d=d+24|0;while(1){b=b+1|0;d=d+-8|0;h=o[b>>0]<<d|h;if((p|0)<=8)break;else p=p+-8|0}}}else h=0;a[y>>2]=k+5;a[M>>2]=k+5&7;if((k+5|0)>>>0>w>>>0){e=0;c=pt;return e|0}a[v>>2]=_+((k+5|0)>>>3);A=h>>>27;if((A+-2|0)>>>0<3){e=3;c=pt;return e|0}switch(A|0){case 5:case 7:case 8:{if((S|0)==0|(A|0)==6){e=3;c=pt;return e|0}break}case 6:case 9:case 10:case 11:case 12:{if(S){e=3;c=pt;return e|0}break}default:{}}if((A+-1|0)>>>0>11){e=0;c=pt;return e|0}e:do{switch(A|0){case 6:case 7:case 8:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 17:case 18:{j=1;Xe=206;break}case 5:case 1:{if(!(a[e+1332>>2]|0))E=0;else{a[e+1332>>2]=0;E=1}a[pt+644>>2]=a[pt+624>>2];a[pt+644+4>>2]=a[pt+624+4>>2];a[pt+644+8>>2]=a[pt+624+8>>2];a[pt+644+12>>2]=a[pt+624+12>>2];a[pt+644+16>>2]=a[pt+624+16>>2];h=Be(pt+644|0,pt+680|0)|0;t:do{if(!h){h=Be(pt+644|0,pt+680|0)|0;if(!h){h=Be(pt+644|0,pt+680|0)|0;if(!h){h=a[pt+680>>2]|0;if(h>>>0>255){H=1;Xe=63}else{y=a[e+148+(h<<2)>>2]|0;if(((y|0)!=0?(I=a[y+4>>2]|0,B=a[e+20+(I<<2)>>2]|0,(B|0)!=0):0)?(We=a[e+8>>2]|0,(We|0)==32|(I|0)==(We|0)|(A|0)==5):0){h=a[e+1304>>2]|0;if((h|0)==(S|0))h=E;else h=(h|0)==0|(S|0)==0?1:E;if((a[e+1300>>2]|0)==5){if((A|0)==5)l=h;else Xe=72}else if((A|0)==5)Xe=72;else l=h;if((Xe|0)==72)l=1;h=a[B+12>>2]|0;a[pt+604>>2]=a[pt+624>>2];a[pt+604+4>>2]=a[pt+624+4>>2];a[pt+604+8>>2]=a[pt+624+8>>2];a[pt+604+12>>2]=a[pt+624+12>>2];a[pt+604+16>>2]=a[pt+624+16>>2];r:do{if(!(Be(pt+604|0,pt+680|0)|0)){if(Be(pt+604|0,pt+680|0)|0){Xe=85;break}if(!(Be(pt+604|0,pt+680|0)|0))v=0;else{Xe=85;break}while(1){if(!(h>>>v))break;else v=v+1|0}w=v+-1|0;m=pt+604+4|0;b=a[m>>2]|0;g=pt+604+12|0;k=a[g>>2]<<3;r=pt+604+16|0;_=a[r>>2]|0;do{if((k-_|0)>31){d=a[pt+604+8>>2]|0;h=o[b+1>>0]<<16|o[b>>0]<<24|o[b+2>>0]<<8|o[b+3>>0];if(!d){d=pt+604+8|0;break}h=(o[b+4>>0]|0)>>>(8-d|0)|h<<d;d=pt+604+8|0}else{if((k-_|0)<=0){h=0;d=pt+604+8|0;break}d=a[pt+604+8>>2]|0;h=o[b>>0]<<d+24;if((k-_+-8+d|0)>0){p=k-_+-8+d|0;d=d+24|0}else{d=pt+604+8|0;break}while(1){b=b+1|0;d=d+-8|0;h=o[b>>0]<<d|h;if((p|0)<=8){d=pt+604+8|0;break}else p=p+-8|0}}}while(0);a[r>>2]=w+_;a[d>>2]=w+_&7;if((w+_|0)>>>0>k>>>0){Xe=85;break}a[m>>2]=(a[pt+604>>2]|0)+((w+_|0)>>>3);h=h>>>(33-v|0);if((h|0)==-1){Xe=85;break}if((a[e+1308>>2]|0)!=(h|0)){a[e+1308>>2]=h;l=1}i:do{if((A|0)==5){h=a[B+12>>2]|0;a[pt+604>>2]=a[pt+624>>2];a[pt+604+4>>2]=a[pt+624+4>>2];a[pt+604+8>>2]=a[pt+624+8>>2];a[pt+604+12>>2]=a[pt+624+12>>2];a[pt+604+16>>2]=a[pt+624+16>>2];do{if(!(Be(pt+604|0,pt+680|0)|0)){if(Be(pt+604|0,pt+680|0)|0)break;if(!(Be(pt+604|0,pt+680|0)|0))v=0;else break;while(1){if(!(h>>>v))break;else v=v+1|0}w=v+-1|0;b=a[m>>2]|0;k=a[g>>2]<<3;_=a[r>>2]|0;do{if((k-_|0)>31){d=a[pt+604+8>>2]|0;h=o[b+1>>0]<<16|o[b>>0]<<24|o[b+2>>0]<<8|o[b+3>>0];if(!d){d=pt+604+8|0;break}h=(o[b+4>>0]|0)>>>(8-d|0)|h<<d;d=pt+604+8|0}else{if((k-_|0)<=0){h=0;d=pt+604+8|0;break}d=a[pt+604+8>>2]|0;h=o[b>>0]<<d+24;if((k-_+-8+d|0)>0){p=k-_+-8+d|0;d=d+24|0}else{d=pt+604+8|0;break}while(1){b=b+1|0;d=d+-8|0;h=o[b>>0]<<d|h;if((p|0)<=8){d=pt+604+8|0;break}else p=p+-8|0}}}while(0);a[r>>2]=w+_;a[d>>2]=w+_&7;if((w+_|0)>>>0>k>>>0)break;a[m>>2]=(a[pt+604>>2]|0)+((w+_|0)>>>3);if((h>>>(33-v|0)|0)==-1)break;if(Be(pt+604|0,pt+172|0)|0)break r;if((a[e+1300>>2]|0)==5){Ge=a[e+1312>>2]|0;We=a[pt+172>>2]|0;h=e+1312|0;d=(Ge|0)==(We|0)?Ge:We;l=(Ge|0)==(We|0)?l:1}else{h=e+1312|0;d=a[pt+172>>2]|0}a[h>>2]=d;break i}}while(0);break r}}while(0);i:do{switch(a[B+16>>2]|0){case 0:{a[pt+604>>2]=a[pt+624>>2];a[pt+604+4>>2]=a[pt+624+4>>2];a[pt+604+8>>2]=a[pt+624+8>>2];a[pt+604+12>>2]=a[pt+624+12>>2];a[pt+604+16>>2]=a[pt+624+16>>2];do{if(!(Be(pt+604|0,pt+680|0)|0)){if(Be(pt+604|0,pt+680|0)|0)break;if(Be(pt+604|0,pt+680|0)|0)break;h=a[B+12>>2]|0;v=0;while(1){if(!(h>>>v))break;else v=v+1|0}w=v+-1|0;b=a[m>>2]|0;k=a[g>>2]<<3;_=a[r>>2]|0;do{if((k-_|0)>31){d=a[pt+604+8>>2]|0;h=o[b+1>>0]<<16|o[b>>0]<<24|o[b+2>>0]<<8|o[b+3>>0];if(!d){d=pt+604+8|0;break}h=(o[b+4>>0]|0)>>>(8-d|0)|h<<d;d=pt+604+8|0}else{if((k-_|0)<=0){h=0;d=pt+604+8|0;break}d=a[pt+604+8>>2]|0;h=o[b>>0]<<d+24;if((k-_+-8+d|0)>0){p=k-_+-8+d|0;d=d+24|0}else{d=pt+604+8|0;break}while(1){b=b+1|0;d=d+-8|0;h=o[b>>0]<<d|h;if((p|0)<=8){d=pt+604+8|0;break}else p=p+-8|0}}}while(0);a[r>>2]=w+_;a[d>>2]=w+_&7;if((w+_|0)>>>0>k>>>0)break;a[m>>2]=(a[pt+604>>2]|0)+((w+_|0)>>>3);if((h>>>(33-v|0)|0)==-1)break;if((A|0)==5?(Be(pt+604|0,pt+680|0)|0)!=0:0)break;h=a[B+20>>2]|0;v=0;while(1){if(!(h>>>v))break;else v=v+1|0}w=v+-1|0;b=a[m>>2]|0;k=a[g>>2]<<3;_=a[r>>2]|0;do{if((k-_|0)>31){d=a[pt+604+8>>2]|0;h=o[b+1>>0]<<16|o[b>>0]<<24|o[b+2>>0]<<8|o[b+3>>0];if(!d){d=pt+604+8|0;break}h=(o[b+4>>0]|0)>>>(8-d|0)|h<<d;d=pt+604+8|0}else{if((k-_|0)<=0){h=0;d=pt+604+8|0;break}d=a[pt+604+8>>2]|0;h=o[b>>0]<<d+24;if((k-_+-8+d|0)>0){p=k-_+-8+d|0;d=d+24|0}else{d=pt+604+8|0;break}while(1){b=b+1|0;d=d+-8|0;h=o[b>>0]<<d|h;if((p|0)<=8){d=pt+604+8|0;break}else p=p+-8|0}}}while(0);a[r>>2]=w+_;a[d>>2]=w+_&7;if((w+_|0)>>>0>k>>>0)break;a[m>>2]=(a[pt+604>>2]|0)+((w+_|0)>>>3);h=h>>>(33-v|0);if((h|0)==-1)break;if((a[e+1316>>2]|0)!=(h|0)){a[e+1316>>2]=h;l=1}if(!(a[y+8>>2]|0))break i;a[pt+604>>2]=a[pt+624>>2];a[pt+604+4>>2]=a[pt+624+4>>2];a[pt+604+8>>2]=a[pt+624+8>>2];a[pt+604+12>>2]=a[pt+624+12>>2];a[pt+604+16>>2]=a[pt+624+16>>2];h=Be(pt+604|0,pt+644|0)|0;do{if(!h){h=Be(pt+604|0,pt+644|0)|0;if(h){u=h;break}h=Be(pt+604|0,pt+644|0)|0;if(h){u=h;break}h=a[B+12>>2]|0;v=0;while(1){if(!(h>>>v))break;else v=v+1|0}w=v+-1|0;b=a[m>>2]|0;k=a[g>>2]<<3;_=a[r>>2]|0;do{if((k-_|0)>31){d=a[pt+604+8>>2]|0;h=o[b+1>>0]<<16|o[b>>0]<<24|o[b+2>>0]<<8|o[b+3>>0];if(!d){d=pt+604+8|0;break}h=(o[b+4>>0]|0)>>>(8-d|0)|h<<d;d=pt+604+8|0}else{if((k-_|0)<=0){h=0;d=pt+604+8|0;break}d=a[pt+604+8>>2]|0;h=o[b>>0]<<d+24;if((k-_+-8+d|0)>0){p=k-_+-8+d|0;d=d+24|0}else{d=pt+604+8|0;break}while(1){b=b+1|0;d=d+-8|0;h=o[b>>0]<<d|h;if((p|0)<=8){d=pt+604+8|0;break}else p=p+-8|0}}}while(0);a[r>>2]=w+_;a[d>>2]=w+_&7;if((w+_|0)>>>0>k>>>0){u=1;break}a[m>>2]=(a[pt+604>>2]|0)+((w+_|0)>>>3);if((h>>>(33-v|0)|0)==-1){u=1;break}if((A|0)==5?(L=Be(pt+604|0,pt+644|0)|0,(L|0)!=0):0){u=L;break}h=a[B+20>>2]|0;v=0;while(1){if(!(h>>>v))break;else v=v+1|0}_=v+-1|0;b=a[m>>2]|0;w=a[g>>2]<<3;k=a[r>>2]|0;do{if((w-k|0)>31){d=a[pt+604+8>>2]|0;h=o[b+1>>0]<<16|o[b>>0]<<24|o[b+2>>0]<<8|o[b+3>>0];if(!d){d=pt+604+8|0;break}h=(o[b+4>>0]|0)>>>(8-d|0)|h<<d;d=pt+604+8|0}else{if((w-k|0)<=0){h=0;d=pt+604+8|0;break}d=a[pt+604+8>>2]|0;h=o[b>>0]<<d+24;if((w-k+-8+d|0)>0){p=w-k+-8+d|0;d=d+24|0}else{d=pt+604+8|0;break}while(1){b=b+1|0;d=d+-8|0;h=o[b>>0]<<d|h;if((p|0)<=8){d=pt+604+8|0;break}else p=p+-8|0}}}while(0);a[r>>2]=_+k;a[d>>2]=_+k&7;if((_+k|0)>>>0>w>>>0){u=1;break}a[m>>2]=(a[pt+604>>2]|0)+((_+k|0)>>>3);if((h>>>(33-v|0)|0)==-1){u=1;break}a[pt+680>>2]=0;h=Be(pt+604|0,pt+680|0)|0;d=a[pt+680>>2]|0;do{if((d|0)==-1){b=(h|0)==0?1:0;h=(h|0)==0?0:-2147483648}else{if(h){b=1;h=0;break}b=0;h=(d&1|0)!=0?(d+1|0)>>>1:0-((d+1|0)>>>1)|0}}while(0);if(b)break r;if((a[e+1320>>2]|0)==(h|0))break i;a[e+1320>>2]=h;l=1;break i}else u=h}while(0);F=l;Xe=208;break t}}while(0);break r}case 1:{if(a[B+24>>2]|0)break i;v=a[y+8>>2]|0;a[pt+604>>2]=a[pt+624>>2];a[pt+604+4>>2]=a[pt+624+4>>2];a[pt+604+8>>2]=a[pt+624+8>>2];a[pt+604+12>>2]=a[pt+624+12>>2];a[pt+604+16>>2]=a[pt+624+16>>2];u=Be(pt+604|0,pt+644|0)|0;n:do{if(!u){u=Be(pt+604|0,pt+644|0)|0;if(u)break;u=Be(pt+604|0,pt+644|0)|0;if(u)break;u=a[B+12>>2]|0;_=0;while(1){if(!(u>>>_))break;else _=_+1|0}k=_+-1|0;d=a[m>>2]|0;p=a[g>>2]<<3;w=a[r>>2]|0;do{if((p-w|0)>31){h=a[pt+604+8>>2]|0;u=o[d+1>>0]<<16|o[d>>0]<<24|o[d+2>>0]<<8|o[d+3>>0];if(!h){h=pt+604+8|0;break}u=(o[d+4>>0]|0)>>>(8-h|0)|u<<h;h=pt+604+8|0}else{if((p-w|0)<=0){u=0;h=pt+604+8|0;break}h=a[pt+604+8>>2]|0;u=o[d>>0]<<h+24;if((p-w+-8+h|0)>0){b=p-w+-8+h|0;h=h+24|0}else{h=pt+604+8|0;break}while(1){d=d+1|0;h=h+-8|0;u=o[d>>0]<<h|u;if((b|0)<=8){h=pt+604+8|0;break}else b=b+-8|0}}}while(0);a[r>>2]=k+w;a[h>>2]=k+w&7;if((k+w|0)>>>0>p>>>0){u=1;break}a[m>>2]=(a[pt+604>>2]|0)+((k+w|0)>>>3);if((u>>>(33-_|0)|0)==-1){u=1;break}if((A|0)==5?(U=Be(pt+604|0,pt+644|0)|0,(U|0)!=0):0){u=U;break}a[pt+680>>2]=0;u=Be(pt+604|0,pt+680|0)|0;h=a[pt+680>>2]|0;do{if((h|0)==-1){if(!u)Xe=190;else D=-2147483648}else{if(u){Xe=190;break}D=(h&1|0)!=0?(h+1|0)>>>1:0-((h+1|0)>>>1)|0}}while(0);if((Xe|0)==190){u=1;break}do{if(v){a[pt+680>>2]=0;u=Be(pt+604|0,pt+680|0)|0;h=a[pt+680>>2]|0;do{if((h|0)==-1){if(!u)Xe=197;else{x=-2147483648;Xe=196}}else{if(u){Xe=197;break}x=(h&1|0)!=0?(h+1|0)>>>1:0-((h+1|0)>>>1)|0;Xe=196}}while(0);if((Xe|0)==196){N=x;break}else if((Xe|0)==197){u=1;break n}}else N=0}while(0);if((a[e+1324>>2]|0)!=(D|0)){a[e+1324>>2]=D;l=1}if(!(a[y+8>>2]|0))break i;if((a[e+1328>>2]|0)==(N|0))break i;a[e+1328>>2]=N;l=1;break i}}while(0);F=l;Xe=208;break t}default:{}}}while(0);a[e+1300>>2]=A;a[e+1300+4>>2]=S;j=l;Xe=206;break e}else Xe=85}while(0);break}e=4;c=pt;return e|0}}else{H=h;Xe=63}}else{H=h;Xe=63}}else{H=h;Xe=63}}while(0);if((Xe|0)==63){u=H;F=E;Xe=208}t:do{if((Xe|0)==208){if((u|0)<65520)switch(u|0){case 0:{Y=F;break e}default:break t}switch(u|0){case 65520:{ue=4;break}default:break t}c=pt;return ue|0}}while(0);e=3;c=pt;return e|0}default:{j=0;Xe=206}}}while(0);if((Xe|0)==206)Y=j;do{if(!Y)Xe=222;else{if((a[e+1184>>2]|0)!=0?(a[e+16>>2]|0)!=0:0){if(a[e+3380>>2]|0){e=3;c=pt;return e|0}if(!(a[e+1188>>2]|0)){l=a[e+1220>>2]|0;u=l+((a[e+1248>>2]|0)*40|0)|0;a[e+1228>>2]=u;a[e+1336>>2]=a[u>>2];u=a[e+1260>>2]|0;if((u|0)!=0?(a[a[e+1224>>2]>>2]=l,(u|0)!=1):0){l=1;do{a[(a[e+1224>>2]|0)+(l<<2)>>2]=(a[e+1220>>2]|0)+(l*40|0);l=l+1|0}while((l|0)!=(u|0))}Ct(e,e+1336|0,0);l=e+1336|0}else{Ct(e,e+1336|0,a[e+1372>>2]|0);l=e+1336|0}a[f>>2]=0;a[e+3344>>2]=1;a[e+1180>>2]=0;qe=e+16|0;ze=e+1188|0;Ve=e+1212|0;Ke=l;break}a[e+1188>>2]=0;a[e+1180>>2]=0;Xe=222}}while(0);e:do{if((Xe|0)==222)switch(A|0){case 7:{u=pt+72|0;h=u+92|0;do{a[u>>2]=0;u=u+4|0}while((u|0)<(h|0));l=Le(pt+624|0,8)|0;t:do{if((((((((l|0)!=-1?(a[pt+72>>2]=l,Le(pt+624|0,1)|0,Le(pt+624|0,1)|0,(Le(pt+624|0,1)|0)!=-1):0)?(Le(pt+624|0,5)|0)!=-1:0)?(V=Le(pt+624|0,8)|0,(V|0)!=-1):0)?(a[pt+72+4>>2]=V,bt=(Be(pt+624|0,pt+72+8|0)|0)!=0,!(bt|(a[pt+72+8>>2]|0)>>>0>31)):0)?(Be(pt+624|0,pt+644|0)|0)==0:0)?(q=a[pt+644>>2]|0,q>>>0<=12):0)?(a[pt+72+12>>2]=1<<q+4,(Be(pt+624|0,pt+644|0)|0)==0):0){l=a[pt+644>>2]|0;if(l>>>0>2)break;a[pt+72+16>>2]=l;r:do{switch(l|0){case 0:{if(Be(pt+624|0,pt+644|0)|0)break t;l=a[pt+644>>2]|0;if(l>>>0>12)break t;a[pt+72+20>>2]=1<<l+4;break}case 1:{l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[pt+72+24>>2]=(l|0)==1&1;a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;do{if((u|0)==-1){if(!l)Xe=241;else z=-2147483648}else{if(l){Xe=241;break}z=(u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0}}while(0);if((Xe|0)==241)break t;a[pt+72+28>>2]=z;a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;do{if((u|0)==-1){if(!l)Xe=246;else X=-2147483648}else{if(l){Xe=246;break}X=(u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0}}while(0);if((Xe|0)==246)break t;a[pt+72+32>>2]=X;b=pt+72+36|0;if(Be(pt+624|0,b)|0)break t;l=a[b>>2]|0;if(l>>>0>255)break t;if(!l){a[pt+72+40>>2]=0;break r}l=wt(l<<2)|0;a[pt+72+40>>2]=l;if(!l)break t;if(!(a[b>>2]|0))break r;a[pt+680>>2]=0;u=Be(pt+624|0,pt+680|0)|0;h=a[pt+680>>2]|0;do{if((h|0)==-1){if(!u)Xe=258;else J=-2147483648}else{if(u){Xe=258;break}J=(h&1|0)!=0?(h+1|0)>>>1:0-((h+1|0)>>>1)|0}}while(0);if((Xe|0)==258)break t;a[l>>2]=J;if((a[b>>2]|0)>>>0<=1)break r;d=1;while(1){h=(a[pt+72+40>>2]|0)+(d<<2)|0;a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;if((u|0)==-1){if(!l)break;else l=-2147483648}else{if(l)break;l=(u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0}a[h>>2]=l;d=d+1|0;if(d>>>0>=(a[b>>2]|0)>>>0)break r}break t}default:{}}}while(0);v=pt+72+44|0;bt=(Be(pt+624|0,v)|0)!=0;if(bt|(a[v>>2]|0)>>>0>16)break;l=Le(pt+624|0,1)|0;if((l|0)==-1)break;a[pt+72+48>>2]=(l|0)==1&1;if(Be(pt+624|0,pt+644|0)|0)break;a[pt+72+52>>2]=(a[pt+644>>2]|0)+1;if(Be(pt+624|0,pt+644|0)|0)break;a[pt+72+56>>2]=(a[pt+644>>2]|0)+1;switch(Le(pt+624|0,1)|0){case 0:case-1:break t;default:{}}if((Le(pt+624|0,1)|0)==-1)break;l=Le(pt+624|0,1)|0;if((l|0)==-1)break;a[pt+72+60>>2]=(l|0)==1&1;if((l|0)==1){if(Be(pt+624|0,pt+72+64|0)|0)break;if(Be(pt+624|0,pt+72+68|0)|0)break;if(Be(pt+624|0,pt+72+72|0)|0)break;if(Be(pt+624|0,pt+72+76|0)|0)break;u=a[pt+72+52>>2]|0;if((a[pt+72+64>>2]|0)>((u<<3)+~a[pt+72+68>>2]|0))break;l=a[pt+72+56>>2]|0;if((a[pt+72+72>>2]|0)>((l<<3)+~a[pt+72+76>>2]|0))break}else{l=a[pt+72+56>>2]|0;u=a[pt+72+52>>2]|0}l=ee(u,l)|0;do{switch(a[pt+72+4>>2]|0){case 10:{Z=99;$=152064;Xe=296;break}case 11:{Z=396;$=345600;Xe=296;break}case 12:{Z=396;$=912384;Xe=296;break}case 13:{Z=396;$=912384;Xe=296;break}case 20:{Z=396;$=912384;Xe=296;break}case 21:{Z=792;$=1824768;Xe=296;break}case 22:{Z=1620;$=3110400;Xe=296;break}case 30:{Z=1620;$=3110400;Xe=296;break}case 31:{Z=3600;$=6912e3;Xe=296;break}case 32:{Z=5120;$=7864320;Xe=296;break}case 40:{Z=8192;$=12582912;Xe=296;break}case 41:{Z=8192;$=12582912;Xe=296;break}case 42:{Z=8704;$=13369344;Xe=296;break}case 50:{Z=22080;$=42393600;Xe=296;break}case 51:{Z=36864;$=70778880;Xe=296;break}default:Xe=298}}while(0);do{if((Xe|0)==296){if(Z>>>0<l>>>0){Xe=298;break}l=($>>>0)/((l*384|0)>>>0)|0;l=l>>>0<16?l:16;a[pt+644>>2]=l;u=a[v>>2]|0;if(u>>>0>l>>>0){te=u;Xe=299}else re=l}}while(0);if((Xe|0)==298){a[pt+644>>2]=2147483647;te=a[v>>2]|0;Xe=299}if((Xe|0)==299){a[pt+644>>2]=te;re=te}a[pt+72+88>>2]=re;l=Le(pt+624|0,1)|0;if((l|0)==-1)break;a[pt+72+80>>2]=(l|0)==1&1;do{if((l|0)==1){_=wt(952)|0;a[pt+72+84>>2]=_;if(!_)break t;vt(_|0,0,952)|0;l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[_>>2]=(l|0)==1&1;do{if((l|0)==1){l=Le(pt+624|0,8)|0;if((l|0)==-1)break t;a[_+4>>2]=l;if((l|0)!=255)break;l=Le(pt+624|0,16)|0;if((l|0)==-1)break t;a[_+8>>2]=l;l=Le(pt+624|0,16)|0;if((l|0)==-1)break t;a[_+12>>2]=l}}while(0);l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[_+16>>2]=(l|0)==1&1;if((l|0)==1){l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[_+20>>2]=(l|0)==1&1}l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[_+24>>2]=(l|0)==1&1;do{if((l|0)==1){l=Le(pt+624|0,3)|0;if((l|0)==-1)break t;a[_+28>>2]=l;l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[_+32>>2]=(l|0)==1&1;l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[_+36>>2]=(l|0)==1&1;if((l|0)!=1){a[_+40>>2]=2;a[_+44>>2]=2;a[_+48>>2]=2;break}l=Le(pt+624|0,8)|0;if((l|0)==-1)break t;a[_+40>>2]=l;l=Le(pt+624|0,8)|0;if((l|0)==-1)break t;a[_+44>>2]=l;l=Le(pt+624|0,8)|0;if((l|0)==-1)break t;a[_+48>>2]=l}else{a[_+28>>2]=5;a[_+40>>2]=2;a[_+44>>2]=2;a[_+48>>2]=2}}while(0);l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[_+52>>2]=(l|0)==1&1;if((l|0)==1){if(Be(pt+624|0,_+56|0)|0)break t;if((a[_+56>>2]|0)>>>0>5)break t;if(Be(pt+624|0,_+60|0)|0)break t;if((a[_+60>>2]|0)>>>0>5)break t}l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[_+64>>2]=(l|0)==1&1;if((l|0)==1){h=a[pt+624+4>>2]|0;w=a[T>>2]<<3;k=a[pt+624+16>>2]|0;do{if((w-k|0)>31){l=a[M>>2]|0;u=o[h+1>>0]<<16|o[h>>0]<<24|o[h+2>>0]<<8|o[h+3>>0];if(!l)break;u=(o[h+4>>0]|0)>>>(8-l|0)|u<<l}else{if((w-k|0)<=0){u=0;break}l=a[M>>2]|0;u=o[h>>0]<<l+24;if((w-k+-8+l|0)>0){d=w-k+-8+l|0;l=l+24|0}else break;while(1){h=h+1|0;l=l+-8|0;u=o[h>>0]<<l|u;if((d|0)<=8)break;else d=d+-8|0}}}while(0);a[pt+624+16>>2]=k+32;b=k+32&7;a[M>>2]=b;if(w>>>0<(k+32|0)>>>0)break t;p=a[pt+624>>2]|0;h=(k+32|0)>>>3;a[pt+624+4>>2]=p+h;if(!u)break t;a[_+68>>2]=u;do{if((w-(k+32)|0)>31){l=o[p+(h+1)>>0]<<16|o[p+h>>0]<<24|o[p+(h+2)>>0]<<8|o[p+(h+3)>>0];if(!b)break;l=(o[p+(h+4)>>0]|0)>>>(8-b|0)|l<<b}else{if((w-(k+32)|0)<=0){l=0;break}l=o[p+h>>0]<<(b|24);if((w-(k+32)+-8+b|0)>0){h=p+h|0;d=w-(k+32)+-8+b|0;u=b|24}else break;while(1){h=h+1|0;u=u+-8|0;l=o[h>>0]<<u|l;if((d|0)<=8)break;else d=d+-8|0}}}while(0);a[pt+624+16>>2]=k+64;a[M>>2]=k+64&7;if((k+64|0)>>>0>w>>>0)break t;a[pt+624+4>>2]=p+((k+64|0)>>>3);if(!l)break t;a[_+72>>2]=l;l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[_+76>>2]=(l|0)==1&1}l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[_+80>>2]=(l|0)==1&1;if((l|0)==1){if(Pt(pt+624|0,_+84|0)|0)break t}else{a[_+84>>2]=1;a[_+96>>2]=288000001;a[_+224>>2]=288000001;a[_+480>>2]=24;a[_+484>>2]=24;a[_+488>>2]=24;a[_+492>>2]=24}l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[_+496>>2]=(l|0)==1&1;if((l|0)==1){if(Pt(pt+624|0,_+500|0)|0)break t}else{a[_+500>>2]=1;a[_+512>>2]=240000001;a[_+640>>2]=240000001;a[_+896>>2]=24;a[_+900>>2]=24;a[_+904>>2]=24;a[_+908>>2]=24}if(!((a[_+80>>2]|0)==0?(a[_+496>>2]|0)==0:0)){l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[_+912>>2]=(l|0)==1&1}l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[_+916>>2]=(l|0)==1&1;l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[_+920>>2]=(l|0)==1&1;if((l|0)==1){l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[_+924>>2]=(l|0)==1&1;if(Be(pt+624|0,_+928|0)|0)break t;if((a[_+928>>2]|0)>>>0>16)break t;if(Be(pt+624|0,_+932|0)|0)break t;if((a[_+932>>2]|0)>>>0>16)break t;if(Be(pt+624|0,_+936|0)|0)break t;if((a[_+936>>2]|0)>>>0>16)break t;if(Be(pt+624|0,_+940|0)|0)break t;if((a[_+940>>2]|0)>>>0>16)break t;if(Be(pt+624|0,_+944|0)|0)break t;if(Be(pt+624|0,_+948|0)|0)break t}else{a[_+924>>2]=1;a[_+928>>2]=2;a[_+932>>2]=1;a[_+936>>2]=16;a[_+940>>2]=16;a[_+944>>2]=16;a[_+948>>2]=16}l=a[pt+72+84>>2]|0;if(!(a[l+920>>2]|0))break;u=a[l+948>>2]|0;if((u>>>0<(a[v>>2]|0)>>>0?1:(a[l+944>>2]|0)>>>0>u>>>0)|u>>>0>(a[pt+72+88>>2]|0)>>>0)break t;a[pt+72+88>>2]=(u|0)==0?1:u}}while(0);Le(pt+624|0,8-(a[M>>2]|0)|0)|0;p=a[pt+72+8>>2]|0;w=a[e+20+(p<<2)>>2]|0;do{if(!w){bt=wt(92)|0;a[e+20+(p<<2)>>2]=bt;if(!bt)ue=0;else break;c=pt;return ue|0}else{if((p|0)!=(a[e+8>>2]|0)){kt(a[w+40>>2]|0);a[(a[e+20+(p<<2)>>2]|0)+40>>2]=0;kt(a[(a[e+20+(p<<2)>>2]|0)+84>>2]|0);a[(a[e+20+(p<<2)>>2]|0)+84>>2]=0;break}k=a[e+16>>2]|0;r:do{if((a[pt+72>>2]|0)==(a[k>>2]|0)){if((a[pt+72+4>>2]|0)!=(a[k+4>>2]|0))break;if((a[pt+72+12>>2]|0)!=(a[k+12>>2]|0))break;l=a[pt+72+16>>2]|0;if((l|0)!=(a[k+16>>2]|0))break;if((a[v>>2]|0)!=(a[k+44>>2]|0))break;if((a[pt+72+48>>2]|0)!=(a[k+48>>2]|0))break;if((a[pt+72+52>>2]|0)!=(a[k+52>>2]|0))break;if((a[pt+72+56>>2]|0)!=(a[k+56>>2]|0))break;b=a[pt+72+60>>2]|0;if((b|0)!=(a[k+60>>2]|0))break;if((a[pt+72+80>>2]|0)!=(a[k+80>>2]|0))break;i:do{switch(l|0){case 0:{if((a[pt+72+20>>2]|0)!=(a[k+20>>2]|0))break r;break}case 1:{if((a[pt+72+24>>2]|0)!=(a[k+24>>2]|0))break r;if((a[pt+72+28>>2]|0)!=(a[k+28>>2]|0))break r;if((a[pt+72+32>>2]|0)!=(a[k+32>>2]|0))break r;l=a[pt+72+36>>2]|0;if((l|0)!=(a[k+36>>2]|0))break r;if(!l)break i;u=a[pt+72+40>>2]|0;h=a[k+40>>2]|0;d=0;do{if((a[u+(d<<2)>>2]|0)!=(a[h+(d<<2)>>2]|0))break r;d=d+1|0}while(d>>>0<l>>>0);break}default:{}}}while(0);if(b){if((a[pt+72+64>>2]|0)!=(a[k+64>>2]|0))break;if((a[pt+72+68>>2]|0)!=(a[k+68>>2]|0))break;if((a[pt+72+72>>2]|0)!=(a[k+72>>2]|0))break;if((a[pt+72+76>>2]|0)!=(a[k+76>>2]|0))break}kt(a[pt+72+40>>2]|0);a[pt+72+40>>2]=0;kt(a[pt+72+84>>2]|0);a[pt+72+84>>2]=0;e=0;c=pt;return e|0}}while(0);kt(a[w+40>>2]|0);a[(a[e+20+(p<<2)>>2]|0)+40>>2]=0;kt(a[(a[e+20+(p<<2)>>2]|0)+84>>2]|0);a[(a[e+20+(p<<2)>>2]|0)+84>>2]=0;a[e+8>>2]=33;a[e+4>>2]=257;a[e+16>>2]=0;a[e+12>>2]=0}}while(0);u=a[e+20+(p<<2)>>2]|0;l=pt+72|0;h=u+92|0;do{a[u>>2]=a[l>>2];u=u+4|0;l=l+4|0}while((u|0)<(h|0));e=0;c=pt;return e|0}}while(0);kt(a[pt+72+40>>2]|0);a[pt+72+40>>2]=0;kt(a[pt+72+84>>2]|0);a[pt+72+84>>2]=0;e=3;c=pt;return e|0}case 8:{u=pt;h=u+72|0;do{a[u>>2]=0;u=u+4|0}while((u|0)<(h|0));t:do{if(((((!((Be(pt+624|0,pt)|0)!=0|(a[pt>>2]|0)>>>0>255)?(bt=(Be(pt+624|0,pt+4|0)|0)!=0,!(bt|(a[pt+4>>2]|0)>>>0>31)):0)?(Le(pt+624|0,1)|0)==0:0)?(G=Le(pt+624|0,1)|0,(G|0)!=-1):0)?(a[pt+8>>2]=(G|0)==1&1,(Be(pt+624|0,pt+644|0)|0)==0):0)?(W=(a[pt+644>>2]|0)+1|0,a[pt+12>>2]=W,W>>>0<=8):0){r:do{if(W>>>0>1){if(Be(pt+624|0,pt+16|0)|0)break t;l=a[pt+16>>2]|0;if(l>>>0>6)break t;switch(l|0){case 0:{bt=wt(a[pt+12>>2]<<2)|0;a[pt+20>>2]=bt;if(!bt)break t;if(!(a[pt+12>>2]|0))break r;else l=0;do{if(Be(pt+624|0,pt+644|0)|0)break t;a[(a[pt+20>>2]|0)+(l<<2)>>2]=(a[pt+644>>2]|0)+1;l=l+1|0}while(l>>>0<(a[pt+12>>2]|0)>>>0);break}case 2:{a[pt+24>>2]=wt((a[pt+12>>2]<<2)+-4|0)|0;bt=wt((a[pt+12>>2]<<2)+-4|0)|0;a[pt+28>>2]=bt;if((bt|0)==0|(a[pt+24>>2]|0)==0)break t;if((a[pt+12>>2]|0)==1)break r;else l=0;do{if(Be(pt+624|0,pt+644|0)|0)break t;a[(a[pt+24>>2]|0)+(l<<2)>>2]=a[pt+644>>2];if(Be(pt+624|0,pt+644|0)|0)break t;a[(a[pt+28>>2]|0)+(l<<2)>>2]=a[pt+644>>2];l=l+1|0}while(l>>>0<((a[pt+12>>2]|0)+-1|0)>>>0);break}case 5:case 4:case 3:{l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[pt+32>>2]=(l|0)==1&1;if(Be(pt+624|0,pt+644|0)|0)break t;a[pt+36>>2]=(a[pt+644>>2]|0)+1;break r}case 6:{if(Be(pt+624|0,pt+644|0)|0)break t;bt=(a[pt+644>>2]|0)+1|0;a[pt+40>>2]=bt;bt=wt(bt<<2)|0;a[pt+44>>2]=bt;if(!bt)break t;l=a[288+((a[pt+12>>2]|0)+-1<<2)>>2]|0;if(!(a[pt+40>>2]|0))break r;else u=0;do{bt=Le(pt+624|0,l)|0;a[(a[pt+44>>2]|0)+(u<<2)>>2]=bt;u=u+1|0;if(bt>>>0>=(a[pt+12>>2]|0)>>>0)break t}while(u>>>0<(a[pt+40>>2]|0)>>>0);break}default:break r}}}while(0);if(!(Be(pt+624|0,pt+644|0)|0)){l=a[pt+644>>2]|0;if(l>>>0>31)break;a[pt+48>>2]=l+1;bt=(Be(pt+624|0,pt+644|0)|0)!=0;if(bt|(a[pt+644>>2]|0)>>>0>31)break;if(Le(pt+624|0,1)|0)break;if((Le(pt+624|0,2)|0)>>>0>2)break;a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;do{if((u|0)==-1){if(!l)break;break t}else{if(l)break;l=((u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0)+26|0;if(l>>>0>51)break t;a[pt+52>>2]=l;a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;do{if((u|0)==-1){if(!l)break;break t}else{if(l)break;if((((u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0)+26|0)>>>0>51)break t;a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;do{if((u|0)==-1){if(!l)break;break t}else{if(l)break;l=(u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0;if((l+12|0)>>>0>24)break t;a[pt+56>>2]=l;l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[pt+60>>2]=(l|0)==1&1;l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[pt+64>>2]=(l|0)==1&1;l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[pt+68>>2]=(l|0)==1&1;Le(pt+624|0,8-(a[M>>2]|0)|0)|0;u=a[pt>>2]|0;l=a[e+148+(u<<2)>>2]|0;do{if(!l){bt=wt(72)|0;a[e+148+(u<<2)>>2]=bt;if(!bt)ue=0;else break;c=pt;return ue|0}else{if((u|0)!=(a[e+4>>2]|0)){kt(a[l+20>>2]|0);a[(a[e+148+(u<<2)>>2]|0)+20>>2]=0;kt(a[(a[e+148+(u<<2)>>2]|0)+24>>2]|0);a[(a[e+148+(u<<2)>>2]|0)+24>>2]=0;kt(a[(a[e+148+(u<<2)>>2]|0)+28>>2]|0);a[(a[e+148+(u<<2)>>2]|0)+28>>2]=0;kt(a[(a[e+148+(u<<2)>>2]|0)+44>>2]|0);a[(a[e+148+(u<<2)>>2]|0)+44>>2]=0;break}if((a[pt+4>>2]|0)!=(a[e+8>>2]|0)){a[e+4>>2]=257;l=a[e+148+(u<<2)>>2]|0}kt(a[l+20>>2]|0);a[(a[e+148+(u<<2)>>2]|0)+20>>2]=0;kt(a[(a[e+148+(u<<2)>>2]|0)+24>>2]|0);a[(a[e+148+(u<<2)>>2]|0)+24>>2]=0;kt(a[(a[e+148+(u<<2)>>2]|0)+28>>2]|0);a[(a[e+148+(u<<2)>>2]|0)+28>>2]=0;kt(a[(a[e+148+(u<<2)>>2]|0)+44>>2]|0);a[(a[e+148+(u<<2)>>2]|0)+44>>2]=0}}while(0);u=a[e+148+(u<<2)>>2]|0;l=pt;h=u+72|0;do{a[u>>2]=a[l>>2];u=u+4|0;l=l+4|0}while((u|0)<(h|0));e=0;c=pt;return e|0}}while(0);break t}}while(0);break t}}while(0)}}}while(0);kt(a[pt+20>>2]|0);a[pt+20>>2]=0;kt(a[pt+24>>2]|0);a[pt+24>>2]=0;kt(a[pt+28>>2]|0);a[pt+28>>2]=0;kt(a[pt+44>>2]|0);a[pt+44>>2]=0;e=3;c=pt;return e|0}case 1:case 5:{if(a[e+1180>>2]|0){e=0;c=pt;return e|0}a[e+1184>>2]=1;t:do{if(!(a[e+1188>>2]|0)){a[e+1204>>2]=0;a[e+1208>>2]=s;a[pt+644>>2]=a[pt+624>>2];a[pt+644+4>>2]=a[pt+624+4>>2];a[pt+644+8>>2]=a[pt+624+8>>2];a[pt+644+12>>2]=a[pt+624+12>>2];a[pt+644+16>>2]=a[pt+624+16>>2];if((Be(pt+644|0,pt+680|0)|0)==0?(Be(pt+644|0,pt+680|0)|0)==0:0){Be(pt+644|0,pt+680|0)|0;v=a[pt+680>>2]|0}else v=0;y=a[e+8>>2]|0;_=e+148+(v<<2)|0;u=a[_>>2]|0;r:do{if((u|0)!=0?(Q=a[u+4>>2]|0,K=a[e+20+(Q<<2)>>2]|0,(K|0)!=0):0){p=a[K+52>>2]|0;w=ee(a[K+56>>2]|0,p)|0;k=a[u+12>>2]|0;i:do{if(k>>>0>1){l=a[u+16>>2]|0;switch(l|0){case 0:{l=a[u+20>>2]|0;u=0;do{if((a[l+(u<<2)>>2]|0)>>>0>w>>>0){l=4;break r}u=u+1|0}while(u>>>0<k>>>0);break}case 2:{b=a[u+24>>2]|0;l=a[u+28>>2]|0;d=0;do{u=a[b+(d<<2)>>2]|0;h=a[l+(d<<2)>>2]|0;if(!(u>>>0<=h>>>0&h>>>0<w>>>0)){l=4;break r}d=d+1|0;if(((u>>>0)%(p>>>0)|0)>>>0>((h>>>0)%(p>>>0)|0)>>>0){l=4;break r}}while(d>>>0<(k+-1|0)>>>0);break}default:{if((l+-3|0)>>>0<3)if((a[u+36>>2]|0)>>>0>w>>>0){l=4;break r}else break i;if((l|0)!=6)break i;if((a[u+40>>2]|0)>>>0<w>>>0){l=4;break r}else break i}}}}while(0);l=a[e+4>>2]|0;do{if((l|0)==256){a[e+4>>2]=v;l=a[_>>2]|0;a[e+12>>2]=l;l=a[l+4>>2]|0;a[e+8>>2]=l;ze=a[e+20+(l<<2)>>2]|0;a[e+16>>2]=ze;Ke=a[ze+52>>2]|0;ze=a[ze+56>>2]|0;a[e+1176>>2]=ee(ze,Ke)|0;a[e+1340>>2]=Ke;a[e+1344>>2]=ze;a[e+3380>>2]=1}else{if(!(a[e+3380>>2]|0)){if((l|0)==(v|0)){l=y;break}if((Q|0)==(y|0)){a[e+4>>2]=v;a[e+12>>2]=a[_>>2];l=y;break}if((A|0)!=5){l=4;break r}a[e+4>>2]=v;l=a[_>>2]|0;a[e+12>>2]=l;l=a[l+4>>2]|0;a[e+8>>2]=l;ze=a[e+20+(l<<2)>>2]|0;a[e+16>>2]=ze;Ke=a[ze+52>>2]|0;ze=a[ze+56>>2]|0;a[e+1176>>2]=ee(ze,Ke)|0;a[e+1340>>2]=Ke;a[e+1344>>2]=ze;a[e+3380>>2]=1;break}a[e+3380>>2]=0;kt(a[e+1212>>2]|0);a[e+1212>>2]=0;kt(a[e+1172>>2]|0);a[e+1172>>2]=0;a[e+1212>>2]=wt((a[e+1176>>2]|0)*216|0)|0;ze=wt(a[e+1176>>2]<<2)|0;a[e+1172>>2]=ze;l=a[e+1212>>2]|0;if((ze|0)==0|(l|0)==0){l=5;break r}vt(l|0,0,(a[e+1176>>2]|0)*216|0)|0;p=a[e+1212>>2]|0;l=a[e+16>>2]|0;w=a[l+52>>2]|0;k=a[e+1176>>2]|0;if(!k)u=l;else{h=0;d=0;b=0;while(1){l=(h|0)!=0;a[p+(d*216|0)+200>>2]=l?p+((d+-1|0)*216|0)|0:0;u=(b|0)!=0;do{if(u){a[p+(d*216|0)+204>>2]=p+((d-w|0)*216|0);if(h>>>0>=(w+-1|0)>>>0){Xe=507;break}a[p+(d*216|0)+208>>2]=p+((1-w+d|0)*216|0)}else{a[p+(d*216|0)+204>>2]=0;Xe=507}}while(0);if((Xe|0)==507){Xe=0;a[p+(d*216|0)+208>>2]=0}a[p+(d*216|0)+212>>2]=l&u?p+((d+~w|0)*216|0)|0:0;l=h+1|0;d=d+1|0;if((d|0)==(k|0))break;else{h=(l|0)==(w|0)?0:l;b=((l|0)==(w|0)&1)+b|0}}u=a[e+16>>2]|0}i:do{if(!(a[e+1216>>2]|0)){if((a[u+16>>2]|0)==2){p=1;break}do{if(a[u+80>>2]|0){l=a[u+84>>2]|0;if(!(a[l+920>>2]|0))break;if(!(a[l+944>>2]|0)){p=1;break i}}}while(0);p=0}else p=1}while(0);k=ee(a[u+56>>2]|0,a[u+52>>2]|0)|0;d=a[u+88>>2]|0;b=a[u+44>>2]|0;h=a[u+12>>2]|0;l=a[e+1220>>2]|0;do{if(!l)w=e+1248|0;else{if((a[e+1248>>2]|0)==-1){w=e+1248|0;break}else u=0;do{kt(a[l+(u*40|0)+4>>2]|0);l=a[e+1220>>2]|0;a[l+(u*40|0)+4>>2]=0;u=u+1|0}while(u>>>0<((a[e+1248>>2]|0)+1|0)>>>0);w=e+1248|0}}while(0);kt(l);a[e+1220>>2]=0;kt(a[e+1224>>2]|0);a[e+1224>>2]=0;kt(a[e+1232>>2]|0);a[e+1232>>2]=0;a[e+1256>>2]=65535;l=b>>>0>1?b:1;a[e+1244>>2]=l;a[w>>2]=(p|0)==0?d:l;a[e+1252>>2]=h;a[e+1276>>2]=p;a[e+1264>>2]=0;a[e+1260>>2]=0;a[e+1268>>2]=0;l=wt(680)|0;a[e+1220>>2]=l;if(!l){l=5;break r}vt(l|0,0,680)|0;if((a[w>>2]|0)!=-1){h=0;do{l=wt(k*384|47)|0;u=a[e+1220>>2]|0;a[u+(h*40|0)+4>>2]=l;if(!l){l=5;break r}a[u+(h*40|0)>>2]=l+(0-l&15);h=h+1|0}while(h>>>0<((a[w>>2]|0)+1|0)>>>0)}a[e+1224>>2]=wt(68)|0;ze=wt((a[w>>2]<<4)+16|0)|0;a[e+1232>>2]=ze;l=a[e+1224>>2]|0;if((ze|0)==0|(l|0)==0){l=5;break r}u=l;h=u+68|0;do{i[u>>0]=0;u=u+1|0}while((u|0)<(h|0));a[e+1240>>2]=0;a[e+1236>>2]=0;l=a[e+8>>2]|0}}while(0);if((y|0)==(l|0))break t;m=a[e+16>>2]|0;l=a[e>>2]|0;if(l>>>0<32)g=a[e+20+(l<<2)>>2]|0;else g=0;a[f>>2]=0;a[e+3344>>2]=1;i:do{if((A|0)==5){_=a[e+12>>2]|0;a[pt+604>>2]=a[pt+624>>2];a[pt+604+4>>2]=a[pt+624+4>>2];a[pt+604+8>>2]=a[pt+624+8>>2];a[pt+604+12>>2]=a[pt+624+12>>2];a[pt+604+16>>2]=a[pt+624+16>>2];l=Be(pt+604|0,pt+644|0)|0;n:do{if(!l){l=Be(pt+604|0,pt+644|0)|0;if(l){u=1;break}l=Be(pt+604|0,pt+644|0)|0;if(l){u=1;break}l=a[m+12>>2]|0;k=0;while(1){if(!(l>>>k))break;else k=k+1|0}b=k+-1|0;v=pt+604+4|0;h=a[v>>2]|0;p=a[pt+604+12>>2]<<3;y=pt+604+16|0;w=a[y>>2]|0;do{if((p-w|0)>31){u=a[pt+604+8>>2]|0;l=o[h+1>>0]<<16|o[h>>0]<<24|o[h+2>>0]<<8|o[h+3>>0];if(!u){u=pt+604+8|0;break}l=(o[h+4>>0]|0)>>>(8-u|0)|l<<u;u=pt+604+8|0}else{if((p-w|0)<=0){l=0;u=pt+604+8|0;break}u=a[pt+604+8>>2]|0;l=o[h>>0]<<u+24;if((p-w+-8+u|0)>0){d=p-w+-8+u|0;u=u+24|0}else{u=pt+604+8|0;break}while(1){h=h+1|0;u=u+-8|0;l=o[h>>0]<<u|l;if((d|0)<=8){u=pt+604+8|0;break}else d=d+-8|0}}}while(0);a[y>>2]=b+w;a[u>>2]=b+w&7;if((b+w|0)>>>0>p>>>0){l=1;u=1;break}a[v>>2]=(a[pt+604>>2]|0)+((b+w|0)>>>3);if((l>>>(33-k|0)|0)==-1){l=1;u=1;break}l=Be(pt+604|0,pt+644|0)|0;if(l){u=1;break}l=a[m+16>>2]|0;do{if(!l){l=a[m+20>>2]|0;k=0;while(1){if(!(l>>>k))break;else k=k+1|0}b=k+-1|0;h=a[v>>2]|0;p=a[pt+604+12>>2]<<3;w=a[y>>2]|0;do{if((p-w|0)>31){u=a[pt+604+8>>2]|0;l=o[h+1>>0]<<16|o[h>>0]<<24|o[h+2>>0]<<8|o[h+3>>0];if(!u){u=pt+604+8|0;break}l=(o[h+4>>0]|0)>>>(8-u|0)|l<<u;u=pt+604+8|0}else{if((p-w|0)<=0){l=0;u=pt+604+8|0;break}u=a[pt+604+8>>2]|0;l=o[h>>0]<<u+24;if((p-w+-8+u|0)>0){d=p-w+-8+u|0;u=u+24|0}else{u=pt+604+8|0;break}while(1){h=h+1|0;u=u+-8|0;l=o[h>>0]<<u|l;if((d|0)<=8){u=pt+604+8|0;break}else d=d+-8|0}}}while(0);a[y>>2]=b+w;a[u>>2]=b+w&7;if((b+w|0)>>>0>p>>>0){l=1;u=1;break n}a[v>>2]=(a[pt+604>>2]|0)+((b+w|0)>>>3);if((l>>>(33-k|0)|0)==-1){l=1;u=1;break n}if(!(a[_+8>>2]|0))break;a[pt+680>>2]=0;l=Be(pt+604|0,pt+680|0)|0;if((a[pt+680>>2]|0)==-1){if(!l)Xe=567;else Xe=566}else if(!l)Xe=566;else Xe=567;if((Xe|0)==566){fe=a[m+16>>2]|0;Xe=568;break}else if((Xe|0)==567){l=1;u=1;break n}}else{fe=l;Xe=568}}while(0);do{if((Xe|0)==568){if((fe|0)!=1)break;if(a[m+24>>2]|0)break;a[pt+680>>2]=0;l=Be(pt+604|0,pt+680|0)|0;if((a[pt+680>>2]|0)==-1){if(!l)Xe=573}else if(l)Xe=573;if((Xe|0)==573){l=1;u=1;break n}if(!(a[_+8>>2]|0))break;a[pt+680>>2]=0;l=Be(pt+604|0,pt+680|0)|0;if((a[pt+680>>2]|0)==-1){if(!l)Xe=579;else Xe=578}else if(!l)Xe=578;else Xe=579;if((Xe|0)==578)break;else if((Xe|0)==579){l=1;u=1;break n}}}while(0);if((a[_+68>>2]|0)!=0?(le=Be(pt+604|0,pt+644|0)|0,(le|0)!=0):0){l=le;u=1;break}h=a[v>>2]|0;b=a[pt+604+12>>2]<<3;p=a[y>>2]|0;do{if((b-p|0)>31){l=a[pt+604+8>>2]|0;u=o[h+1>>0]<<16|o[h>>0]<<24|o[h+2>>0]<<8|o[h+3>>0];if(!l){l=pt+604+8|0;break}u=(o[h+4>>0]|0)>>>(8-l|0)|u<<l;l=pt+604+8|0}else{if((b-p|0)<=0){u=0;l=pt+604+8|0;break}l=a[pt+604+8>>2]|0;u=o[h>>0]<<l+24;if((b-p+-8+l|0)>0){d=b-p+-8+l|0;l=l+24|0}else{l=pt+604+8|0;break}while(1){h=h+1|0;l=l+-8|0;u=o[h>>0]<<l|u;if((d|0)<=8){l=pt+604+8|0;break}else d=d+-8|0}}}while(0);a[y>>2]=p+1;a[l>>2]=p+1&7;if((p+1|0)>>>0>b>>>0)l=0;else{a[v>>2]=(a[pt+604>>2]|0)+((p+1|0)>>>3);l=1}u=l?u>>>31:-1;l=(u|0)==-1&1}else u=1}while(0);if(u|l){Xe=596;break}if((g|0)==0|(a[e+1276>>2]|0)!=0){Xe=596;break}if((a[g+52>>2]|0)!=(a[m+52>>2]|0)){Xe=596;break}if((a[g+56>>2]|0)!=(a[m+56>>2]|0)){Xe=596;break}if((a[g+88>>2]|0)!=(a[m+88>>2]|0)){Xe=596;break}d=a[e+1220>>2]|0;if(!d)break;a[e+1280>>2]=1;b=a[e+1248>>2]|0;l=0;u=2147483647;h=0;while(1){if(a[d+(l*40|0)+24>>2]|0){dt=a[d+(l*40|0)+16>>2]|0;bt=(dt|0)<(u|0);u=bt?dt:u;h=bt?d+(l*40|0)|0:h}l=l+1|0;if(l>>>0<=b>>>0)continue;if(!h)break i;bt=a[e+1236>>2]|0;dt=a[e+1232>>2]|0;a[dt+(bt<<4)>>2]=a[h>>2];a[dt+(bt<<4)+12>>2]=a[h+36>>2];a[dt+(bt<<4)+4>>2]=a[h+28>>2];a[dt+(bt<<4)+8>>2]=a[h+32>>2];a[e+1236>>2]=bt+1;a[h+24>>2]=0;if(a[h+20>>2]|0){l=0;u=2147483647;h=0;continue}a[e+1264>>2]=(a[e+1264>>2]|0)+-1;l=0;u=2147483647;h=0}}else Xe=596}while(0);if((Xe|0)==596)a[e+1280>>2]=0;a[e>>2]=a[e+8>>2];e=2;c=pt;return e|0}else l=4}while(0);a[e+4>>2]=256;a[e+12>>2]=0;a[e+8>>2]=32;a[e+16>>2]=0;a[e+3380>>2]=0;e=l;c=pt;return e|0}}while(0);if(a[e+3380>>2]|0){e=3;c=pt;return e|0}b=a[e+16>>2]|0;_=a[e+12>>2]|0;vt(e+2356|0,0,988)|0;v=ee(a[b+56>>2]|0,a[b+52>>2]|0)|0;t:do{if(((Be(pt+624|0,pt+604|0)|0)==0?(ze=a[pt+604>>2]|0,a[e+2356>>2]=ze,ze>>>0<v>>>0):0)?(Be(pt+624|0,pt+604|0)|0)==0:0){ze=a[pt+604>>2]|0;a[e+2360>>2]=ze;switch(ze|0){case 7:case 2:break;case 5:case 0:{if((A|0)==5)break t;if(!(a[b+44>>2]|0))break t;break}default:break t}if((Be(pt+624|0,pt+604|0)|0)==0?(ze=a[pt+604>>2]|0,a[e+2364>>2]=ze,(ze|0)==(a[_>>2]|0)):0){l=a[b+12>>2]|0;u=0;while(1){if(!(l>>>u))break;else u=u+1|0}l=Le(pt+624|0,u+-1|0)|0;if((l|0)==-1)break;if((l|0)!=0&(A|0)==5)break;a[e+2368>>2]=l;if((A|0)==5){if(Be(pt+624|0,pt+604|0)|0)break;ze=a[pt+604>>2]|0;a[e+2372>>2]=ze;if(ze>>>0>65535)break}l=a[b+16>>2]|0;if(!l){l=a[b+20>>2]|0;u=0;while(1){if(!(l>>>u))break;else u=u+1|0}l=Le(pt+624|0,u+-1|0)|0;if((l|0)==-1)break;a[e+2376>>2]=l;do{if(a[_+8>>2]|0){a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;do{if((u|0)==-1){if(!l)Xe=631;else{ie=-2147483648;Xe=632}}else{if(l){Xe=631;break}ie=(u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0;Xe=632}}while(0);if((Xe|0)==631)break t;else if((Xe|0)==632){a[e+2380>>2]=ie;break}}}while(0);if((A|0)==5){l=a[e+2376>>2]|0;if(l>>>0>(a[b+20>>2]|0)>>>1>>>0)break;ze=a[e+2380>>2]|0;if((l|0)!=(((ze|0)>0?0:0-ze|0)|0))break}l=a[b+16>>2]|0}do{if((l|0)==1){if(a[b+24>>2]|0)break;a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;do{if((u|0)==-1){if(!l)Xe=643;else ne=-2147483648}else{if(l){Xe=643;break}ne=(u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0}}while(0);if((Xe|0)==643)break t;a[e+2384>>2]=ne;do{if(a[_+8>>2]|0){a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;do{if((u|0)==-1){if(!l)Xe=649;else{ae=-2147483648;Xe=650}}else{if(l){Xe=649;break}ae=(u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0;Xe=650}}while(0);if((Xe|0)==649)break t;else if((Xe|0)==650){a[e+2388>>2]=ae;break}}}while(0);if((A|0)!=5)break;Ke=a[e+2384>>2]|0;ze=(a[b+32>>2]|0)+Ke+(a[e+2388>>2]|0)|0;if(((Ke|0)<(ze|0)?Ke:ze)|0)break t}}while(0);if(a[_+68>>2]|0){if(Be(pt+624|0,pt+604|0)|0)break;ze=a[pt+604>>2]|0;a[e+2392>>2]=ze;if(ze>>>0>127)break}l=a[e+2360>>2]|0;switch(l|0){case 5:case 0:{l=Le(pt+624|0,1)|0;if((l|0)==-1)break t;a[e+2396>>2]=l;if(!l){l=a[_+48>>2]|0;if(l>>>0>16)break t;a[e+2400>>2]=l}else{if(Be(pt+624|0,pt+604|0)|0)break t;l=a[pt+604>>2]|0;if(l>>>0>15)break t;a[e+2400>>2]=l+1}l=a[e+2360>>2]|0;break}default:{}}r:do{switch(l|0){case 5:case 0:{h=a[e+2400>>2]|0;d=a[b+12>>2]|0;l=Le(pt+624|0,1)|0;i:do{if((l|0)!=-1){a[e+2424>>2]=l;if(l){l=0;while(1){if(Be(pt+624|0,pt+644|0)|0)break i;u=a[pt+644>>2]|0;if(u>>>0>3)break i;a[e+2428+(l*12|0)>>2]=u;if(u>>>0<2){if(Be(pt+624|0,pt+680|0)|0)break i;u=a[pt+680>>2]|0;if(u>>>0>=d>>>0)break i;a[e+2428+(l*12|0)+4>>2]=u+1}else{if((u|0)!=2)break;if(Be(pt+624|0,pt+680|0)|0)break i;a[e+2428+(l*12|0)+8>>2]=a[pt+680>>2]}l=l+1|0;if(l>>>0>h>>>0)break i}if(!l)break}break r}}while(0);break t}default:{}}}while(0);do{if(S){k=a[b+44>>2]|0;l=Le(pt+624|0,1)|0;r:do{if((A|0)==5){if((l|0)==-1){Xe=706;break}a[e+2632>>2]=l;l=Le(pt+624|0,1)|0;if((l|0)==-1){Xe=706;break}a[e+2636>>2]=l;if((k|0)!=0|(l|0)==0)Xe=707;else Xe=706}else{if((l|0)==-1){Xe=706;break}a[e+2640>>2]=l;if(!l){Xe=707;break}h=0;d=0;b=0;p=0;w=0;while(1){if(h>>>0>((k<<1)+2|0)>>>0){Xe=706;break r}if(Be(pt+624|0,pt+644|0)|0){Xe=706;break r}u=a[pt+644>>2]|0;if(u>>>0>6){Xe=706;break r}a[e+2644+(h*20|0)>>2]=u;if((u&-3|0)==1){if(Be(pt+624|0,pt+680|0)|0){Xe=706;break r}a[e+2644+(h*20|0)+4>>2]=(a[pt+680>>2]|0)+1}switch(u|0){case 2:{if(Be(pt+624|0,pt+680|0)|0){Xe=706;break r}a[e+2644+(h*20|0)+8>>2]=a[pt+680>>2];oe=b;break}case 3:case 6:{if(Be(pt+624|0,pt+680|0)|0){Xe=706;break r}a[e+2644+(h*20|0)+12>>2]=a[pt+680>>2];if((u|0)==4)Xe=700;else oe=b;break}case 4:{Xe=700;break}default:oe=b}if((Xe|0)==700){Xe=0;if(Be(pt+624|0,pt+680|0)|0){Xe=706;break r}l=a[pt+680>>2]|0;if(l>>>0>k>>>0){Xe=706;break r}a[e+2644+(h*20|0)+16>>2]=(l|0)==0?65535:l+-1|0;oe=b+1|0}p=((u|0)==5&1)+p|0;d=((u+-1|0)>>>0<3&1)+d|0;w=((u|0)==6&1)+w|0;if(!u)break;else{h=h+1|0;b=oe}}if((p|oe|w)>>>0>1){Xe=706;break}if((p|0)!=0&(d|0)!=0)Xe=706;else Xe=707}}while(0);if((Xe|0)==706)break t;else if((Xe|0)==707)break}}while(0);a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;do{if((u|0)==-1){if(!l)Xe=712;else se=-2147483648}else{if(l){Xe=712;break}se=(u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0}}while(0);if((Xe|0)==712)break;a[e+2404>>2]=se;if(((a[_+52>>2]|0)+se|0)>>>0>51)break;r:do{if(a[_+60>>2]|0){if(Be(pt+624|0,pt+604|0)|0)break t;l=a[pt+604>>2]|0;a[e+2408>>2]=l;if(l>>>0>2)break t;if((l|0)==1)break;a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;do{if((u|0)==-1){if(!l)break;break t}else{if(l)break;l=(u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0;if((l+6|0)>>>0>12)break t;a[e+2412>>2]=l<<1;a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;do{if((u|0)==-1){if(!l)break;break t}else{if(l)break;l=(u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0;if((l+6|0)>>>0>12)break t;a[e+2416>>2]=l<<1;break r}}while(0);break t}}while(0);break t}}while(0);do{if((a[_+12>>2]|0)>>>0>1){if(((a[_+16>>2]|0)+-3|0)>>>0>=3)break;h=a[_+36>>2]|0;h=(((v>>>0)%(h>>>0)|0|0)==0?1:2)+((v>>>0)/(h>>>0)|0)|0;u=0;while(1){l=u+1|0;if(!(-1<<l&h))break;else u=l}l=Le(pt+624|0,((1<<u)+-1&h|0)==0?u:l)|0;a[pt+604>>2]=l;if((l|0)==-1)break t;a[e+2420>>2]=l;ze=a[_+36>>2]|0;if(l>>>0>(((v+-1+ze|0)>>>0)/(ze>>>0)|0)>>>0)break t}}while(0);if(!(a[e+1188>>2]|0)){do{if((A|0)!=5){v=a[e+2368>>2]|0;ze=a[(a[e+16>>2]|0)+48>>2]|0;a[e+1236>>2]=0;a[e+1240>>2]=0;if(!ze)break;y=a[e+1268>>2]|0;do{if((y|0)!=(v|0)){l=a[e+1252>>2]|0;if((((y+1|0)>>>0)%(l>>>0)|0|0)==(v|0)){Xe=778;break}g=a[(a[e+1220>>2]|0)+((a[e+1248>>2]|0)*40|0)>>2]|0;d=l;_=((y+1|0)>>>0)%(l>>>0)|0;r:while(1){l=a[e+1260>>2]|0;if(!l)b=0;else{u=a[e+1220>>2]|0;h=0;do{if(((a[u+(h*40|0)+20>>2]|0)+-1|0)>>>0<2){Xe=a[u+(h*40|0)+12>>2]|0;a[u+(h*40|0)+8>>2]=Xe-(Xe>>>0>_>>>0?d:0)}h=h+1|0}while((h|0)!=(l|0));b=l}do{if(b>>>0>=(a[e+1244>>2]|0)>>>0){if(!b){ue=3;Xe=1494;break r}p=a[e+1220>>2]|0;h=0;l=-1;u=0;while(1){if(((a[p+(h*40|0)+20>>2]|0)+-1|0)>>>0<2){Xe=a[p+(h*40|0)+8>>2]|0;ze=(l|0)==-1|(Xe|0)<(u|0);d=ze?h:l;u=ze?Xe:u}else d=l;h=h+1|0;if((h|0)==(b|0))break;else l=d}if((d|0)<=-1){ue=3;Xe=1494;break r}a[p+(d*40|0)+20>>2]=0;l=b+-1|0;a[e+1260>>2]=l;if(a[p+(d*40|0)+24>>2]|0)break;a[e+1264>>2]=(a[e+1264>>2]|0)+-1}}while(0);u=a[e+1264>>2]|0;k=a[e+1248>>2]|0;if(u>>>0>=k>>>0){w=(a[e+1276>>2]|0)==0;do{do{if(w){b=a[e+1220>>2]|0;p=0;h=2147483647;d=0;do{if(a[b+(p*40|0)+24>>2]|0){ze=a[b+(p*40|0)+16>>2]|0;Xe=(ze|0)<(h|0);h=Xe?ze:h;d=Xe?b+(p*40|0)|0:d}p=p+1|0}while(p>>>0<=k>>>0);if(!d)break;Xe=a[e+1236>>2]|0;ze=a[e+1232>>2]|0;a[ze+(Xe<<4)>>2]=a[d>>2];a[ze+(Xe<<4)+12>>2]=a[d+36>>2];a[ze+(Xe<<4)+4>>2]=a[d+28>>2];a[ze+(Xe<<4)+8>>2]=a[d+32>>2];a[e+1236>>2]=Xe+1;a[d+24>>2]=0;if(a[d+20>>2]|0)break;u=u+-1|0;a[e+1264>>2]=u}}while(0)}while(u>>>0>=k>>>0)}d=a[e+1220>>2]|0;a[d+(k*40|0)+20>>2]=1;a[d+(k*40|0)+12>>2]=_;a[d+(k*40|0)+8>>2]=_;a[d+(k*40|0)+16>>2]=0;a[d+(k*40|0)+24>>2]=0;a[e+1264>>2]=u+1;a[e+1260>>2]=l+1;Qe(d,k+1|0);d=a[e+1252>>2]|0;_=((_+1|0)>>>0)%(d>>>0)|0;if((_|0)==(v|0)){Xe=770;break}}if((Xe|0)==770){l=a[e+1236>>2]|0;r:do{if(l){u=a[e+1232>>2]|0;d=a[e+1248>>2]|0;b=a[e+1220>>2]|0;p=a[b+(d*40|0)>>2]|0;h=0;while(1){if((a[u+(h<<4)>>2]|0)==(p|0))break;h=h+1|0;if(h>>>0>=l>>>0)break r}if(!d)break;else u=0;while(1){l=b+(u*40|0)|0;u=u+1|0;if((a[l>>2]|0)==(g|0))break;if(u>>>0>=d>>>0)break r}a[l>>2]=p;a[b+(d*40|0)>>2]=g}}while(0);if(S){Xe=782;break}ce=a[e+1268>>2]|0;break}else if((Xe|0)==1494){c=pt;return ue|0}}else Xe=778}while(0);do{if((Xe|0)==778){if(!S){ce=y;break}if((y|0)==(v|0))ue=3;else{Xe=782;break}c=pt;return ue|0}}while(0);if((Xe|0)==782){a[e+1268>>2]=v;break}if((ce|0)==(v|0))break;ze=a[e+1252>>2]|0;a[e+1268>>2]=((v+-1+ze|0)>>>0)%(ze>>>0)|0}}while(0);ze=(a[e+1220>>2]|0)+((a[e+1248>>2]|0)*40|0)|0;a[e+1228>>2]=ze;a[e+1336>>2]=a[ze>>2]}yt(e+1368|0,e+2356|0,988)|0;a[e+1188>>2]=1;a[e+1360>>2]=A;a[e+1360+4>>2]=S;l=a[e+1432>>2]|0;A=a[e+1172>>2]|0;h=a[e+12>>2]|0;r=a[e+16>>2]|0;E=a[r+52>>2]|0;r=a[r+56>>2]|0;v=ee(r,E)|0;_=a[h+12>>2]|0;r:do{if((_|0)==1)vt(A|0,0,v<<2|0)|0;else{u=a[h+16>>2]|0;do{if((u+-3|0)>>>0<3){l=ee(a[h+36>>2]|0,l)|0;l=l>>>0<v>>>0?l:v;if((u&-2|0)!=4){p=0;m=l;break}p=(a[h+32>>2]|0)==0?l:v-l|0;m=l}else{p=0;m=0}}while(0);switch(u|0){case 0:{p=a[h+20>>2]|0;if(!v)break r;else{l=0;w=0}while(1){while(1){if(l>>>0<_>>>0)break;else l=0}b=p+(l<<2)|0;u=a[b>>2]|0;i:do{if(!u)u=0;else{d=0;do{h=d+w|0;if(h>>>0>=v>>>0)break i;a[A+(h<<2)>>2]=l;d=d+1|0;u=a[b>>2]|0}while(d>>>0<u>>>0)}}while(0);w=u+w|0;if(w>>>0>=v>>>0)break;else l=l+1|0}break}case 1:{if(!v)break r;else l=0;do{a[A+(l<<2)>>2]=((((ee((l>>>0)/(E>>>0)|0,_)|0)>>>1)+((l>>>0)%(E>>>0)|0)|0)>>>0)%(_>>>0)|0;l=l+1|0}while((l|0)!=(v|0));break}case 2:{k=a[h+24>>2]|0;w=a[h+28>>2]|0;if(v){l=0;do{a[A+(l<<2)>>2]=_+-1;l=l+1|0}while((l|0)!=(v|0));if(!(_+-1|0))break r}b=_+-2|0;while(1){l=a[k+(b<<2)>>2]|0;p=a[w+(b<<2)>>2]|0;i:do{if(((l>>>0)/(E>>>0)|0)>>>0<=((p>>>0)/(E>>>0)|0)>>>0){if(((l>>>0)%(E>>>0)|0)>>>0>((p>>>0)%(E>>>0)|0)>>>0){l=(l>>>0)/(E>>>0)|0;while(1){l=l+1|0;if(l>>>0>((p>>>0)/(E>>>0)|0)>>>0)break i}}else d=(l>>>0)/(E>>>0)|0;do{u=ee(d,E)|0;h=(l>>>0)%(E>>>0)|0;do{a[A+(h+u<<2)>>2]=b;h=h+1|0}while(h>>>0<=((p>>>0)%(E>>>0)|0)>>>0);d=d+1|0}while(d>>>0<=((p>>>0)/(E>>>0)|0)>>>0)}}while(0);if(!b)break;else b=b+-1|0}break}case 3:{g=a[h+32>>2]|0;if(v){l=0;do{a[A+(l<<2)>>2]=1;l=l+1|0}while((l|0)!=(v|0))}if(!m)break r;_=(r-g|0)>>>1;y=0;u=(E-g|0)>>>1;h=(E-g|0)>>>1;d=(r-g|0)>>>1;b=(E-g|0)>>>1;p=g+-1|0;w=(r-g|0)>>>1;k=g;while(1){l=A+((ee(w,E)|0)+b<<2)|0;v=(a[l>>2]|0)==1;if(v)a[l>>2]=0;do{if(!((p|0)==-1&(b|0)==(u|0))){if((p|0)==1&(b|0)==(h|0)){b=h+1|0;b=(b|0)<(E+-1|0)?b:E+-1|0;l=_;h=b;p=0;k=1-(g<<1)|0;break}if((k|0)==-1&(w|0)==(d|0)){w=d+-1|0;w=(w|0)>0?w:0;l=_;d=w;p=1-(g<<1)|0;k=0;break}if((k|0)==1&(w|0)==(_|0)){w=_+1|0;w=(w|0)<(r+-1|0)?w:r+-1|0;l=w;p=(g<<1)+-1|0;k=0;break}else{l=_;b=b+p|0;w=w+k|0;break}}else{b=u+-1|0;b=(b|0)>0?b:0;l=_;u=b;p=0;k=(g<<1)+-1|0}}while(0);y=(v&1)+y|0;if(y>>>0>=m>>>0)break;else _=l}break}case 4:{l=a[h+32>>2]|0;if(!v)break r;u=0;do{a[A+(u<<2)>>2]=u>>>0<p>>>0?l:1-l|0;u=u+1|0}while((u|0)!=(v|0));break}case 5:{l=a[h+32>>2]|0;if(!E)break r;if(!r)break r;else{h=0;d=0}while(1){u=0;b=d;while(1){ze=A+((ee(u,E)|0)+h<<2)|0;a[ze>>2]=b>>>0<p>>>0?l:1-l|0;u=u+1|0;if((u|0)==(r|0))break;else b=b+1|0}h=h+1|0;if((h|0)==(E|0))break;else d=d+r|0}break}default:{if(!v)break r;l=a[h+44>>2]|0;u=0;do{a[A+(u<<2)>>2]=a[l+(u<<2)>>2];u=u+1|0}while((u|0)!=(v|0))}}}}while(0);b=a[e+1260>>2]|0;do{if(!b){u=a[e+1380>>2]|0;p=a[e+1412>>2]|0;r=e+1412|0}else{l=0;do{a[(a[e+1224>>2]|0)+(l<<2)>>2]=(a[e+1220>>2]|0)+(l*40|0);l=l+1|0}while((l|0)!=(b|0));u=a[e+1380>>2]|0;p=a[e+1412>>2]|0;if(!b){r=e+1412|0;break}h=a[e+1220>>2]|0;d=0;do{if(((a[h+(d*40|0)+20>>2]|0)+-1|0)>>>0<2){l=a[h+(d*40|0)+12>>2]|0;if(l>>>0>u>>>0)l=l-(a[e+1252>>2]|0)|0;a[h+(d*40|0)+8>>2]=l}d=d+1|0}while((d|0)!=(b|0));r=e+1412|0}}while(0);r:do{if(a[e+1436>>2]|0){l=a[e+1440>>2]|0;if(l>>>0>=3)break;k=u;_=0;i:while(1){n:do{if(l>>>0<2){h=a[e+1440+(_*12|0)+4>>2]|0;do{if(!l){l=k-h|0;if((l|0)>=0)break;l=(a[e+1252>>2]|0)+l|0}else{ze=h+k|0;l=a[e+1252>>2]|0;l=ze-((ze|0)<(l|0)?0:l)|0}}while(0);if(l>>>0>u>>>0)w=l-(a[e+1252>>2]|0)|0;else w=l;h=a[e+1244>>2]|0;if(!h){ue=3;Xe=1494;break i}d=a[e+1220>>2]|0;k=0;while(1){b=a[d+(k*40|0)+20>>2]|0;if((b+-1|0)>>>0<2?(a[d+(k*40|0)+8>>2]|0)==(w|0):0){w=k;k=l;break n}k=k+1|0;if(k>>>0>=h>>>0){ue=3;Xe=1494;break i}}}else{l=a[e+1440+(_*12|0)+8>>2]|0;h=a[e+1244>>2]|0;if(!h){ue=3;Xe=1494;break i}d=a[e+1220>>2]|0;w=0;while(1){if((a[d+(w*40|0)+20>>2]|0)==3?(a[d+(w*40|0)+8>>2]|0)==(l|0):0){b=3;break n}w=w+1|0;if(w>>>0>=h>>>0){ue=3;Xe=1494;break i}}}}while(0);if(!(b>>>0>1&(w|0)>-1)){ue=3;Xe=1494;break}if(_>>>0<p>>>0){l=p;do{ze=l;l=l+-1|0;Ke=a[e+1224>>2]|0;a[Ke+(ze<<2)>>2]=a[Ke+(l<<2)>>2]}while(l>>>0>_>>>0);l=a[e+1220>>2]|0}else l=d;a[(a[e+1224>>2]|0)+(_<<2)>>2]=l+(w*40|0);_=_+1|0;if(_>>>0<=p>>>0){b=_;l=_;do{h=a[e+1224>>2]|0;d=a[h+(b<<2)>>2]|0;if((d|0)!=((a[e+1220>>2]|0)+(w*40|0)|0)){a[h+(l<<2)>>2]=d;l=l+1|0}b=b+1|0}while(b>>>0<=p>>>0)}l=a[e+1440+(_*12|0)>>2]|0;if(l>>>0>=3)break r}if((Xe|0)==1494){c=pt;return ue|0}}}while(0);y=a[e+3376>>2]|0;v=a[e+1368>>2]|0;a[pt+168>>2]=0;a[e+1192>>2]=(a[e+1192>>2]|0)+1;a[e+1200>>2]=0;a[pt+164>>2]=(a[e+1416>>2]|0)+(a[(a[e+12>>2]|0)+52>>2]|0);g=pt+624+16|0;w=a[e+1212>>2]|0;h=0;m=0;d=0;r:while(1){if((a[e+1404>>2]|0)==0?(a[w+(v*216|0)+196>>2]|0)!=0:0){ve=1;break}u=a[(a[e+12>>2]|0)+56>>2]|0;qe=a[e+1420>>2]|0;Ke=a[e+1424>>2]|0;ze=a[e+1428>>2]|0;a[w+(v*216|0)+4>>2]=a[e+1192>>2];a[w+(v*216|0)+8>>2]=qe;a[w+(v*216|0)+12>>2]=Ke;a[w+(v*216|0)+16>>2]=ze;a[w+(v*216|0)+24>>2]=u;u=a[e+1372>>2]|0;do{if((u|0)!=2){if((d|0)!=0|(u|0)==7){Xe=889;break}l=Be(pt+624|0,pt+168|0)|0;if(l){ve=l;break r}l=a[pt+168>>2]|0;if(l>>>0>((a[e+1176>>2]|0)-v|0)>>>0){ve=1;break r}if(!l){Ee=a[e+1212>>2]|0;Ae=a[e+1372>>2]|0;Xe=891;break}else{vt(y+12|0,0,164)|0;a[y>>2]=0;me=l;Re=1;Xe=890;break}}else Xe=889}while(0);if((Xe|0)==889)if(!h){Ee=w;Ae=u;Xe=891}else{me=h;Re=d;Xe=890}if((Xe|0)==890){Xe=0;he=me+-1|0;a[pt+168>>2]=he;de=Re}else if((Xe|0)==891){Xe=0;_=Ee+(v*216|0)|0;b=a[r>>2]|0;vt(y|0,0,2088)|0;l=Be(pt+624|0,pt+604|0)|0;u=a[pt+604>>2]|0;switch(Ae|0){case 2:case 7:{if((l|0)!=0|(u+6|0)>>>0>31){Oe=1;Xe=1092;break r}else d=u+6|0;break}default:if((l|0)!=0|(u+1|0)>>>0>31){Oe=1;Xe=1092;break r}else d=u+1|0}a[y>>2]=d;do{if((d|0)!=31){ze=d>>>0<6;k=ze?2:(d|0)!=6&1;if(d>>>0<4|ze^1){i:do{switch(k|0){case 2:{n:do{if(b>>>0>1){switch(d|0){case 0:case 1:{l=0;break}case 3:case 2:{l=1;break}default:l=3}if(b>>>0>2){h=0;while(1){if(Be(pt+624|0,pt+644|0)|0){ke=1;break i}u=a[pt+644>>2]|0;if(u>>>0>=b>>>0){ke=1;break i}a[y+144+(h<<2)>>2]=u;if(!l)break n;else{l=l+-1|0;h=h+1|0}}}else u=0;while(1){h=Le(pt+624|0,1)|0;if((h|0)==-1){Te=-1;Xe=1048;break}if((h^1)>>>0>=b>>>0){Te=h^1;Xe=1048;break}a[y+144+(u<<2)>>2]=h^1;if(!l){Xe=1004;break}else{l=l+-1|0;u=u+1|0}}if((Xe|0)==1004){Xe=0;a[pt+644>>2]=h^1;break}else if((Xe|0)==1048){Xe=0;a[pt+644>>2]=Te;ke=1;break i}}}while(0);switch(d|0){case 0:case 1:{h=0;d=0;break}case 3:case 2:{h=1;d=0;break}default:{h=3;d=0}}while(1){a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;if((u|0)==-1){if(!l){Xe=1012;break}else l=-2147483648}else{if(l){Xe=1012;break}l=(u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0}n[y+160+(d<<2)>>1]=l;a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;if((u|0)==-1){if(!l){Xe=1017;break}else l=-2147483648}else{if(l){Xe=1017;break}l=(u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0}n[y+160+(d<<2)+2>>1]=l;if(!h){ke=0;break i}else{h=h+-1|0;d=d+1|0}}if((Xe|0)==1012){Xe=0;ke=1;break i}else if((Xe|0)==1017){Xe=0;ke=1;break i}break}case 0:{l=a[T>>2]|0;u=a[g>>2]|0;b=a[pt+624+4>>2]|0;p=0;w=0;while(1){u=(l<<3)-u|0;do{if((u|0)>31){l=a[M>>2]|0;u=o[b+1>>0]<<16|o[b>>0]<<24|o[b+2>>0]<<8|o[b+3>>0];if(!l){pe=u;Xe=1026;break}pe=(o[b+4>>0]|0)>>>(8-l|0)|u<<l;Xe=1026}else{if((u|0)<=0){a[y+12+(w<<2)>>2]=0;ye=0;Xe=1027;break}h=a[M>>2]|0;l=o[b>>0]<<h+24;if((u+-8+h|0)>0){d=u+-8+h|0;u=h+24|0}else{pe=l;Xe=1026;break}while(1){b=b+1|0;u=u+-8|0;l=o[b>>0]<<u|l;if((d|0)<=8){pe=l;Xe=1026;break}else d=d+-8|0}}}while(0);if((Xe|0)==1026){Xe=0;ze=pe>>>31;a[y+12+(w<<2)>>2]=ze;if(!ze){ye=pe;Xe=1027}else{Se=pe<<1;Ce=0}}if((Xe|0)==1027){a[y+76+(w<<2)>>2]=ye>>>28&7;Se=ye<<4;Ce=1}u=w|1;Xe=Se>>>31;a[y+12+(u<<2)>>2]=Xe;if(!Xe){a[y+76+(u<<2)>>2]=Se>>>28&7;h=Se<<4;l=Ce+1|0}else{h=Se<<1;l=Ce}Xe=h>>>31;a[y+12+(u+1<<2)>>2]=Xe;if(!Xe){a[y+76+(u+1<<2)>>2]=h>>>28&7;u=h<<4;l=l+1|0}else u=h<<1;h=w|3;Xe=u>>>31;a[y+12+(h<<2)>>2]=Xe;if(!Xe){a[y+76+(h<<2)>>2]=u>>>28&7;u=u<<4;l=l+1|0}else u=u<<1;Xe=u>>>31;a[y+12+(h+1<<2)>>2]=Xe;if(!Xe){a[y+76+(h+1<<2)>>2]=u>>>28&7;u=u<<4;l=l+1|0}else u=u<<1;Xe=u>>>31;a[y+12+(h+2<<2)>>2]=Xe;if(!Xe){a[y+76+(h+2<<2)>>2]=u>>>28&7;u=u<<4;l=l+1|0}else u=u<<1;Xe=u>>>31;a[y+12+(h+3<<2)>>2]=Xe;if(!Xe){a[y+76+(h+3<<2)>>2]=u>>>28&7;h=u<<4;l=l+1|0}else h=u<<1;u=w|7;Xe=h>>>31;a[y+12+(u<<2)>>2]=Xe;if(!Xe){a[y+76+(u<<2)>>2]=h>>>28&7;h=h<<4;l=l+1|0}else h=h<<1;u=(l*3|0)+8+(a[g>>2]|0)|0;a[g>>2]=u;a[M>>2]=u&7;l=a[T>>2]|0;if(u>>>0>l<<3>>>0){Xe=1033;break}b=(a[pt+624>>2]|0)+(u>>>3)|0;a[pt+624+4>>2]=b;p=p+1|0;if((p|0)>=2){Xe=1030;break}else w=w+8|0}if((Xe|0)==1030){a[pt+644>>2]=h;Xe=1031;break i}else if((Xe|0)==1033){Xe=0;a[pt+644>>2]=h;ke=1;break i}break}case 1:{Xe=1031;break}default:ke=0}}while(0);do{if((Xe|0)==1031){Xe=0;ze=(Be(pt+624|0,pt+644|0)|0)!=0;l=a[pt+644>>2]|0;if(ze|l>>>0>3){ke=1;break}a[y+140>>2]=l;ke=0}}while(0);l=ke}else{ze=(Be(pt+624|0,pt+644|0)|0)!=0;l=a[pt+644>>2]|0;i:do{if(!(ze|l>>>0>3)){a[y+176>>2]=l;ze=(Be(pt+624|0,pt+644|0)|0)!=0;l=a[pt+644>>2]|0;if(ze|l>>>0>3){_e=1;break}a[y+180>>2]=l;ze=(Be(pt+624|0,pt+644|0)|0)!=0;l=a[pt+644>>2]|0;if(ze|l>>>0>3){_e=1;break}a[y+184>>2]=l;ze=(Be(pt+624|0,pt+644|0)|0)!=0;l=a[pt+644>>2]|0;if(ze|l>>>0>3){_e=1;break}a[y+188>>2]=l;if(b>>>0>1&(d|0)!=5){if(b>>>0>2){if(Be(pt+624|0,pt+644|0)|0){_e=1;break}l=a[pt+644>>2]|0}else{l=Le(pt+624|0,1)|0;a[pt+644>>2]=l;if((l|0)==-1){_e=1;break}a[pt+644>>2]=l^1;l=l^1}if(l>>>0>=b>>>0){_e=1;break}a[y+192>>2]=l;if(b>>>0>2){if(Be(pt+624|0,pt+644|0)|0){_e=1;break}l=a[pt+644>>2]|0}else{l=Le(pt+624|0,1)|0;a[pt+644>>2]=l;if((l|0)==-1){_e=1;break}a[pt+644>>2]=l^1;l=l^1}if(l>>>0>=b>>>0){_e=1;break}a[y+196>>2]=l;if(b>>>0>2){if(Be(pt+624|0,pt+644|0)|0){_e=1;break}l=a[pt+644>>2]|0}else{l=Le(pt+624|0,1)|0;a[pt+644>>2]=l;if((l|0)==-1){_e=1;break}a[pt+644>>2]=l^1;l=l^1}if(l>>>0>=b>>>0){_e=1;break}a[y+200>>2]=l;if(b>>>0>2){if(Be(pt+624|0,pt+644|0)|0){_e=1;break}l=a[pt+644>>2]|0}else{l=Le(pt+624|0,1)|0;a[pt+644>>2]=l;if((l|0)==-1){_e=1;break}a[pt+644>>2]=l^1;l=l^1}if(l>>>0>=b>>>0){_e=1;break}a[y+204>>2]=l}switch(a[y+176>>2]|0){case 0:{l=0;break}case 2:case 1:{l=1;break}default:l=3}a[pt+644>>2]=l;h=0;while(1){a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;if((u|0)==-1){if(!l){Xe=921;break}else l=-2147483648}else{if(l){Xe=921;break}l=(u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0}n[y+208+(h<<2)>>1]=l;a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;if((u|0)==-1){if(!l){Xe=926;break}else l=-2147483648}else{if(l){Xe=926;break}l=(u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0}n[y+208+(h<<2)+2>>1]=l;Xe=a[pt+644>>2]|0;a[pt+644>>2]=Xe+-1;if(!Xe){Xe=928;break}else h=h+1|0}if((Xe|0)==921){Xe=0;_e=1;break}else if((Xe|0)==926){Xe=0;_e=1;break}else if((Xe|0)==928){switch(a[y+180>>2]|0){case 0:{l=0;break}case 2:case 1:{l=1;break}default:l=3}a[pt+644>>2]=l;h=0;while(1){a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;if((u|0)==-1){if(!l){Xe=936;break}else l=-2147483648}else{if(l){Xe=936;break}l=(u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0}n[y+224+(h<<2)>>1]=l;a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;if((u|0)==-1){if(!l){Xe=941;break}else l=-2147483648}else{if(l){Xe=941;break}l=(u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0}n[y+224+(h<<2)+2>>1]=l;Xe=a[pt+644>>2]|0;a[pt+644>>2]=Xe+-1;if(!Xe){Xe=943;break}else h=h+1|0}if((Xe|0)==936){Xe=0;_e=1;break}else if((Xe|0)==941){Xe=0;_e=1;break}else if((Xe|0)==943){switch(a[y+184>>2]|0){case 0:{l=0;break}case 2:case 1:{l=1;break}default:l=3}a[pt+644>>2]=l;h=0;while(1){a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;if((u|0)==-1){if(!l){Xe=951;break}else l=-2147483648}else{if(l){Xe=951;break}l=(u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0}n[y+240+(h<<2)>>1]=l;a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;if((u|0)==-1){if(!l){Xe=956;break}else l=-2147483648}else{if(l){Xe=956;break}l=(u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0}n[y+240+(h<<2)+2>>1]=l;Xe=a[pt+644>>2]|0;a[pt+644>>2]=Xe+-1;if(!Xe){Xe=958;break}else h=h+1|0}if((Xe|0)==951){Xe=0;_e=1;break}else if((Xe|0)==956){Xe=0;_e=1;break}else if((Xe|0)==958){Xe=0;switch(a[y+188>>2]|0){case 0:{l=0;break}case 2:case 1:{l=1;break}default:l=3}a[pt+644>>2]=l;h=0;while(1){a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;if((u|0)==-1){if(!l){Xe=966;break}else l=-2147483648}else{if(l){Xe=966;break}l=(u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0}n[y+256+(h<<2)>>1]=l;a[pt+680>>2]=0;l=Be(pt+624|0,pt+680|0)|0;u=a[pt+680>>2]|0;if((u|0)==-1){if(!l){Xe=971;break}else l=-2147483648}else{if(l){Xe=971;break}l=(u&1|0)!=0?(u+1|0)>>>1:0-((u+1|0)>>>1)|0}n[y+256+(h<<2)+2>>1]=l;ze=a[pt+644>>2]|0;a[pt+644>>2]=ze+-1;if(!ze){_e=0;break i}else h=h+1|0}if((Xe|0)==966){Xe=0;_e=1;break}else if((Xe|0)==971){Xe=0;_e=1;break}}}}}else _e=1}while(0);l=_e}if(l){Oe=1;Xe=1092;break r}if((k|0)!=1){if(Be(pt+624|0,pt+680|0)|0){Xe=1054;break r}l=a[pt+680>>2]|0;if(l>>>0>47){Xe=1054;break r}ze=i[((k|0)==0?5624:5576)+l>>0]|0;a[pt+604>>2]=ze&255;a[y+4>>2]=ze&255;if(!(ze<<24>>24))break}else{ze=a[y>>2]|0;a[y+4>>2]=((ze+-7|0)>>>0>11?((ze+-7|0)>>>2)+268435453|0:(ze+-7|0)>>>2)<<4|(ze>>>0>18?15:0)}a[pt+680>>2]=0;ze=Be(pt+624|0,pt+680|0)|0;l=a[pt+680>>2]|0;if((ze|0)!=0|(l|0)==-1){Xe=1058;break r}l=(l&1|0)!=0?(l+1|0)>>>1:0-((l+1|0)>>>1)|0;if((l+26|0)>>>0>51){Oe=1;Xe=1092;break r}a[y+8>>2]=l;u=a[y+4>>2]|0;i:do{if((a[y>>2]|0)>>>0>6){l=a[Ee+(v*216|0)+200>>2]|0;do{if(!l){h=0;d=0}else{if((a[Ee+(v*216|0)+4>>2]|0)!=(a[l+4>>2]|0)){h=0;d=0;break}h=n[l+38>>1]|0;d=1}}while(0);l=a[Ee+(v*216|0)+204>>2]|0;do{if(!l)l=h;else{if((a[Ee+(v*216|0)+4>>2]|0)!=(a[l+4>>2]|0)){l=h;break}l=n[l+48>>1]|0;if(!d)break;l=h+1+l>>1}}while(0);l=Fe(pt+624|0,y+1864|0,l,16)|0;if(l&15){we=l;break}n[y+320>>1]=l>>>4&255;b=3;h=0;while(1){d=u>>>1;if(u&1){l=Fe(pt+624|0,y+328+(h<<6)+4|0,Ne(_,h,y+272|0)|0,15)|0;a[y+1992+(h<<2)>>2]=l>>>15;if(l&15){we=l;break i}n[y+272+(h<<1)>>1]=l>>>4&255;l=h|1;u=Fe(pt+624|0,y+328+(l<<6)+4|0,Ne(_,l,y+272|0)|0,15)|0;a[y+1992+(l<<2)>>2]=u>>>15;if(u&15){we=u;break i}n[y+272+(l<<1)>>1]=u>>>4&255;l=h|2;u=Fe(pt+624|0,y+328+(l<<6)+4|0,Ne(_,l,y+272|0)|0,15)|0;a[y+1992+(l<<2)>>2]=u>>>15;if(u&15){we=u;break i}n[y+272+(l<<1)>>1]=u>>>4&255;l=h|3;u=Fe(pt+624|0,y+328+(l<<6)+4|0,Ne(_,l,y+272|0)|0,15)|0;a[y+1992+(l<<2)>>2]=u>>>15;if(u&15){we=u;break i}n[y+272+(l<<1)>>1]=u>>>4&255}l=h+4|0;if(!b){ge=d;Me=l;Xe=1080;break}else{u=d;b=b+-1|0;h=l}}}else{b=3;h=0;while(1){d=u>>>1;if(u&1){l=Fe(pt+624|0,y+328+(h<<6)|0,Ne(_,h,y+272|0)|0,16)|0;a[y+1992+(h<<2)>>2]=l>>>16;if(l&15){we=l;break i}n[y+272+(h<<1)>>1]=l>>>4&255;l=h|1;u=Fe(pt+624|0,y+328+(l<<6)|0,Ne(_,l,y+272|0)|0,16)|0;a[y+1992+(l<<2)>>2]=u>>>16;if(u&15){we=u;break i}n[y+272+(l<<1)>>1]=u>>>4&255;l=h|2;u=Fe(pt+624|0,y+328+(l<<6)|0,Ne(_,l,y+272|0)|0,16)|0;a[y+1992+(l<<2)>>2]=u>>>16;if(u&15){we=u;break i}n[y+272+(l<<1)>>1]=u>>>4&255;l=h|3;u=Fe(pt+624|0,y+328+(l<<6)|0,Ne(_,l,y+272|0)|0,16)|0;a[y+1992+(l<<2)>>2]=u>>>16;if(u&15){we=u;break i}n[y+272+(l<<1)>>1]=u>>>4&255}l=h+4|0;if(!b){ge=d;Me=l;Xe=1080;break}else{u=d;b=b+-1|0;h=l}}}}while(0);i:do{if((Xe|0)==1080){Xe=0;if(ge&3){l=Fe(pt+624|0,y+1928|0,-1,4)|0;if(l&15){we=l;break}n[y+322>>1]=l>>>4&255;l=Fe(pt+624|0,y+1944|0,-1,4)|0;if(l&15){we=l;break}n[y+324>>1]=l>>>4&255}if(!(ge&2)){we=0;break}else{u=7;h=Me}while(1){l=Fe(pt+624|0,y+328+(h<<6)+4|0,Ne(_,h,y+272|0)|0,15)|0;if(l&15){we=l;break i}n[y+272+(h<<1)>>1]=l>>>4&255;a[y+1992+(h<<2)>>2]=l>>>15;if(!u){we=0;break}else{u=u+-1|0;h=h+1|0}}}}while(0);a[g>>2]=((a[pt+624+4>>2]|0)-(a[pt+624>>2]|0)<<3)+(a[M>>2]|0);if(we){Oe=we;Xe=1092;break r}}else{while(1){if(!(a[M>>2]|0)){u=0;h=y+328|0;break}if(Le(pt+624|0,1)|0){Oe=1;Xe=1092;break r}}while(1){l=Le(pt+624|0,8)|0;a[pt+604>>2]=l;if((l|0)==-1){Oe=1;Xe=1092;break r}a[h>>2]=l;u=u+1|0;if(u>>>0>=384)break;else h=h+4|0}}}while(0);he=0;de=0}l=xe((a[e+1212>>2]|0)+(v*216|0)|0,y,e+1336|0,e+1220|0,pt+164|0,v,a[(a[e+12>>2]|0)+64>>2]|0,pt+172+(0-(pt+172)&15)|0)|0;if(l){ve=l;break}w=a[e+1212>>2]|0;m=((a[w+(v*216|0)+196>>2]|0)==1&1)+m|0;b=a[T>>2]<<3;p=a[g>>2]|0;do{if((b|0)==(p|0))l=0;else{if((b-p|0)>>>0>8){l=1;break}u=a[pt+624+4>>2]|0;do{if((b-p|0)>0){h=a[M>>2]|0;l=o[u>>0]<<h+24;if((b-p+-8+h|0)>0){d=b-p+-8+h|0;h=h+24|0}else break;while(1){u=u+1|0;h=h+-8|0;l=o[u>>0]<<h|l;if((d|0)<=8)break;else d=d+-8|0}}else l=0}while(0);l=(l>>>(32-(b-p)|0)|0)!=(1<<b-p+-1|0)&1}}while(0);u=(he|l|0)!=0;switch(a[e+1372>>2]|0){case 7:case 2:{a[e+1200>>2]=v;break}default:{}}h=a[e+1172>>2]|0;be=a[e+1176>>2]|0;d=a[h+(v<<2)>>2]|0;l=v;do{l=l+1|0;if(l>>>0>=be>>>0)break}while((a[h+(l<<2)>>2]|0)!=(d|0));v=(l|0)==(be|0)?0:l;if(!((v|0)!=0|u^1)){ve=1;break}if(!u){Xe=1108;break}else{h=he;d=de}}do{if((Xe|0)==1054){Oe=1;Xe=1092}else if((Xe|0)==1058){Oe=1;Xe=1092}else if((Xe|0)==1108){l=(a[e+1196>>2]|0)+m|0;if(l>>>0>be>>>0){ve=1;break}a[e+1196>>2]=l;ve=0}}while(0);if((Xe|0)==1092)ve=Oe;if(!ve){do{if(!(a[e+1404>>2]|0)){if((a[e+1196>>2]|0)==(a[e+1176>>2]|0))break;else ue=0;c=pt;return ue|0}else{l=a[e+1176>>2]|0;if(!l)break;u=a[e+1212>>2]|0;h=0;d=0;do{d=((a[u+(h*216|0)+196>>2]|0)!=0&1)+d|0;h=h+1|0}while((h|0)!=(l|0));if((d|0)==(l|0))break;else ue=0;c=pt;return ue|0}}while(0);a[e+1180>>2]=1;qe=e+16|0;ze=e+1188|0;Ve=e+1212|0;Ke=e+1336|0;break e}h=a[e+1368>>2]|0;p=a[e+1192>>2]|0;l=a[e+1200>>2]|0;r:do{if(!l)l=h;else{u=0;do{do{l=l+-1|0;if(l>>>0<=h>>>0)break r}while((a[(a[e+1212>>2]|0)+(l*216|0)+4>>2]|0)!=(p|0));u=u+1|0;bt=a[(a[e+16>>2]|0)+52>>2]|0}while(u>>>0<(bt>>>0>10?bt:10)>>>0)}}while(0);b=a[e+1212>>2]|0;while(1){if((a[b+(l*216|0)+4>>2]|0)!=(p|0)){ue=3;Xe=1494;break}u=b+(l*216|0)+196|0;h=a[u>>2]|0;if(!h){ue=3;Xe=1494;break}a[u>>2]=h+-1;u=a[e+1172>>2]|0;h=a[e+1176>>2]|0;d=a[u+(l<<2)>>2]|0;do{l=l+1|0;if(l>>>0>=h>>>0)break}while((a[u+(l<<2)>>2]|0)!=(d|0));l=(l|0)==(h|0)?0:l;if(!l){ue=3;Xe=1494;break}}if((Xe|0)==1494){c=pt;return ue|0}}}}while(0);e=3;c=pt;return e|0}default:{e=0;c=pt;return e|0}}}while(0);ue=a[Ke+4>>2]|0;ce=Ke+8|0;l=a[ce>>2]|0;he=ee(l,ue)|0;if(l){de=pt+680+120|0;be=pt+680+112|0;pe=pt+680+104|0;we=pt+680+96|0;ke=pt+680+88|0;_e=pt+680+80|0;ve=pt+680+72|0;ye=pt+680+64|0;ge=pt+680+56|0;me=pt+680+48|0;Ee=pt+680+40|0;Ae=pt+680+32|0;Se=pt+680+124|0;Te=pt+680+116|0;Me=pt+680+108|0;Re=pt+680+92|0;Ce=pt+680+84|0;Oe=pt+680+76|0;Pe=pt+680+60|0;Ie=pt+680+52|0;Ue=pt+680+44|0;De=pt+680+28|0;He=pt+680+20|0;je=pt+680+12|0;Ye=ee(ue,-48)|0;Ge=pt+644+24|0;We=pt+644+12|0;se=0;fe=0;le=a[Ve>>2]|0;while(1){h=a[le+8>>2]|0;e:do{if((h|0)!=1){oe=le+200|0;f=a[oe>>2]|0;do{if(!f)u=1;else{if((h|0)==2?(a[le+4>>2]|0)!=(a[f+4>>2]|0):0){u=1;break}u=5}}while(0);ae=le+204|0;re=a[ae>>2]|0;do{if(re){if((h|0)==2?(a[le+4>>2]|0)!=(a[re+4>>2]|0):0)break;u=u|2}}while(0);ne=(u&2|0)==0;t:do{if(ne){a[pt+680+24>>2]=0;a[pt+680+16>>2]=0;a[pt+680+8>>2]=0;a[pt+680>>2]=0;w=0}else{do{if((a[le>>2]|0)>>>0<=5){if((a[re>>2]|0)>>>0>5)break;do{if(!(n[le+28>>1]|0)){if(n[re+48>>1]|0){h=2;break}if((a[le+116>>2]|0)!=(a[re+124>>2]|0)){h=1;break}Xe=(n[le+132>>1]|0)-(n[re+172>>1]|0)|0;if((((Xe|0)<0?0-Xe|0:Xe)|0)>3){h=1;break}h=(n[le+134>>1]|0)-(n[re+174>>1]|0)|0;h=(((h|0)<0?0-h|0:h)|0)>3&1}else h=2}while(0);a[pt+680>>2]=h;do{if(!(n[le+30>>1]|0)){if(n[re+50>>1]|0){d=2;break}if((a[le+116>>2]|0)!=(a[re+124>>2]|0)){d=1;break}Xe=(n[le+136>>1]|0)-(n[re+176>>1]|0)|0;if((((Xe|0)<0?0-Xe|0:Xe)|0)>3){d=1;break}d=(n[le+138>>1]|0)-(n[re+178>>1]|0)|0;d=(((d|0)<0?0-d|0:d)|0)>3&1}else d=2}while(0);a[pt+680+8>>2]=d;do{if(!(n[le+36>>1]|0)){if(n[re+56>>1]|0){b=2;break}if((a[le+120>>2]|0)!=(a[re+128>>2]|0)){b=1;break}Xe=(n[le+148>>1]|0)-(n[re+188>>1]|0)|0;if((((Xe|0)<0?0-Xe|0:Xe)|0)>3){b=1;break}b=(n[le+150>>1]|0)-(n[re+190>>1]|0)|0;b=(((b|0)<0?0-b|0:b)|0)>3&1}else b=2}while(0);a[pt+680+16>>2]=b;do{if(!(n[le+38>>1]|0)){if(n[re+58>>1]|0){p=2;break}if((a[le+120>>2]|0)!=(a[re+128>>2]|0)){p=1;break}Xe=(n[le+152>>1]|0)-(n[re+192>>1]|0)|0;if((((Xe|0)<0?0-Xe|0:Xe)|0)>3){p=1;break}p=(n[le+154>>1]|0)-(n[re+194>>1]|0)|0;p=(((p|0)<0?0-p|0:p)|0)>3&1}else p=2}while(0);a[pt+680+24>>2]=p;w=(d|h|b|p|0)!=0&1;break t}}while(0);a[pt+680+24>>2]=4;a[pt+680+16>>2]=4;a[pt+680+8>>2]=4;a[pt+680>>2]=4;w=1}}while(0);ie=(u&4|0)==0;t:do{if(ie){a[pt+680+100>>2]=0;a[pt+680+68>>2]=0;a[pt+680+36>>2]=0;a[pt+680+4>>2]=0;nt=a[le>>2]|0;ot=w;Xe=1194}else{p=a[le>>2]|0;do{if(p>>>0<=5){if((a[f>>2]|0)>>>0>5)break;do{if(!(n[le+28>>1]|0)){if(n[f+38>>1]|0){u=2;break}if((a[le+116>>2]|0)!=(a[f+120>>2]|0)){u=1;break}at=(n[le+132>>1]|0)-(n[f+152>>1]|0)|0;if((((at|0)<0?0-at|0:at)|0)>3){u=1;break}u=(n[le+134>>1]|0)-(n[f+154>>1]|0)|0;u=(((u|0)<0?0-u|0:u)|0)>3&1}else u=2}while(0);a[pt+680+4>>2]=u;do{if(!(n[le+32>>1]|0)){if(n[f+42>>1]|0){h=2;break}if((a[le+116>>2]|0)!=(a[f+120>>2]|0)){h=1;break}at=(n[le+140>>1]|0)-(n[f+160>>1]|0)|0;if((((at|0)<0?0-at|0:at)|0)>3){h=1;break}h=(n[le+142>>1]|0)-(n[f+162>>1]|0)|0;h=(((h|0)<0?0-h|0:h)|0)>3&1}else h=2}while(0);a[pt+680+36>>2]=h;do{if(!(n[le+44>>1]|0)){if(n[f+54>>1]|0){d=2;break}if((a[le+124>>2]|0)!=(a[f+128>>2]|0)){d=1;break}at=(n[le+164>>1]|0)-(n[f+184>>1]|0)|0;if((((at|0)<0?0-at|0:at)|0)>3){d=1;break}d=(n[le+166>>1]|0)-(n[f+186>>1]|0)|0;d=(((d|0)<0?0-d|0:d)|0)>3&1}else d=2}while(0);a[pt+680+68>>2]=d;do{if(!(n[le+48>>1]|0)){if(n[f+58>>1]|0){b=2;break}if((a[le+124>>2]|0)!=(a[f+128>>2]|0)){b=1;break}at=(n[le+172>>1]|0)-(n[f+192>>1]|0)|0;if((((at|0)<0?0-at|0:at)|0)>3){b=1;break}b=(n[le+174>>1]|0)-(n[f+194>>1]|0)|0;b=(((b|0)<0?0-b|0:b)|0)>3&1}else b=2}while(0);a[pt+680+100>>2]=b;if(w){at=p;Ze=w;Xe=1196;break t}at=p;Ze=(h|u|d|b|0)!=0&1;Xe=1196;break t}}while(0);a[pt+680+100>>2]=4;a[pt+680+68>>2]=4;a[pt+680+36>>2]=4;a[pt+680+4>>2]=4;nt=p;ot=1;Xe=1194}}while(0);if((Xe|0)==1194){Xe=0;if(nt>>>0>5){a[de>>2]=3;a[be>>2]=3;a[pe>>2]=3;a[we>>2]=3;a[ke>>2]=3;a[_e>>2]=3;a[ve>>2]=3;a[ye>>2]=3;a[ge>>2]=3;a[me>>2]=3;a[Ee>>2]=3;a[Ae>>2]=3;a[Se>>2]=3;a[Te>>2]=3;a[Me>>2]=3;a[Re>>2]=3;a[Ce>>2]=3;a[Oe>>2]=3;a[Pe>>2]=3;a[Ie>>2]=3;a[Ue>>2]=3;a[De>>2]=3;a[He>>2]=3;a[je>>2]=3}else{at=nt;Ze=ot;Xe=1196}}do{if((Xe|0)==1196){Xe=0;t:do{if(at>>>0<2){u=le+28|0;d=n[le+32>>1]|0;if(!(d<<16>>16))h=(n[u>>1]|0)!=0?2:0;else h=2;a[Ae>>2]=h;b=n[le+34>>1]|0;if(!(b<<16>>16))x=(n[le+30>>1]|0)!=0?2:0;else x=2;a[Ee>>2]=x;p=n[le+40>>1]|0;if(!(p<<16>>16))D=(n[le+36>>1]|0)!=0?2:0;else D=2;a[me>>2]=D;w=n[le+42>>1]|0;if(!(w<<16>>16))U=(n[le+38>>1]|0)!=0?2:0;else U=2;a[ge>>2]=U;k=n[le+44>>1]|0;I=(k|d)<<16>>16!=0?2:0;a[ye>>2]=I;_=n[le+46>>1]|0;P=(_|b)<<16>>16!=0?2:0;a[ve>>2]=P;v=n[le+52>>1]|0;t=(v|p)<<16>>16!=0?2:0;a[_e>>2]=t;y=n[le+54>>1]|0;O=(y|w)<<16>>16!=0?2:0;a[ke>>2]=O;g=n[le+48>>1]|0;C=(g|k)<<16>>16!=0?2:0;a[we>>2]=C;m=n[le+50>>1]|0;R=(m|_)<<16>>16!=0?2:0;a[pe>>2]=R;r=n[le+56>>1]|0;M=v<<16>>16!=0|r<<16>>16==0^1?2:0;a[be>>2]=M;E=(n[le+58>>1]|0)==0;T=y<<16>>16!=0|E^1?2:0;a[de>>2]=T;A=n[le+30>>1]|0;if(!(A<<16>>16))S=(n[u>>1]|0)!=0?2:0;else S=2;a[je>>2]=S;$=n[le+36>>1]|0;te=($|A)<<16>>16!=0?2:0;a[He>>2]=te;$=(n[le+38>>1]|$)<<16>>16!=0?2:0;a[De>>2]=$;A=d<<16>>16!=0|b<<16>>16==0^1?2:0;a[Ue>>2]=A;b=b<<16>>16!=0|p<<16>>16==0^1?2:0;a[Ie>>2]=b;Z=p<<16>>16!=0|w<<16>>16==0^1?2:0;a[Pe>>2]=Z;k=(_|k)<<16>>16!=0?2:0;a[Oe>>2]=k;p=(v|_)<<16>>16!=0?2:0;a[Ce>>2]=p;_=(y|v)<<16>>16!=0?2:0;a[Re>>2]=_;w=(m|g)<<16>>16!=0?2:0;a[Me>>2]=w;d=r<<16>>16==0?m<<16>>16!=0?2:0:2;a[Te>>2]=d;u=E?r<<16>>16!=0?2:0:2;a[Se>>2]=u;g=k;r=Z;E=b;m=P;y=I;v=U;k=D;b=x}else switch(at|0){case 2:{A=le+28|0;M=n[le+32>>1]|0;if(!(M<<16>>16))u=(n[A>>1]|0)!=0;else u=1;N=u?2:0;a[Ae>>2]=N;T=n[le+34>>1]|0;if(!(T<<16>>16))u=(n[le+30>>1]|0)!=0;else u=1;b=u?2:0;a[Ee>>2]=b;E=n[le+40>>1]|0;if(!(E<<16>>16))u=(n[le+36>>1]|0)!=0;else u=1;k=u?2:0;a[me>>2]=k;_=n[le+42>>1]|0;if(!(_<<16>>16))x=(n[le+38>>1]|0)!=0?2:0;else x=2;a[ge>>2]=x;v=n[le+48>>1]|0;if(!(v<<16>>16))C=(n[le+44>>1]|0)!=0?2:0;else C=2;a[we>>2]=C;y=n[le+50>>1]|0;if(!(y<<16>>16))R=(n[le+46>>1]|0)!=0?2:0;else R=2;a[pe>>2]=R;g=n[le+56>>1]|0;if(!(g<<16>>16))I=(n[le+52>>1]|0)!=0?2:0;else I=2;a[be>>2]=I;m=(n[le+58>>1]|0)==0;if(m)P=(n[le+54>>1]|0)!=0?2:0;else P=2;a[de>>2]=P;r=n[le+44>>1]|0;u=n[le+166>>1]|0;h=n[le+142>>1]|0;do{if(!((r|M)<<16>>16)){te=(n[le+164>>1]|0)-(n[le+140>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){D=1;break}if((((u-h|0)<0?0-(u-h)|0:u-h|0)|0)>3){D=1;break}D=(a[le+124>>2]|0)!=(a[le+116>>2]|0)&1}else D=2}while(0);a[ye>>2]=D;w=n[le+46>>1]|0;u=n[le+170>>1]|0;h=n[le+146>>1]|0;do{if(!((w|T)<<16>>16)){te=(n[le+168>>1]|0)-(n[le+144>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){U=1;break}if((((u-h|0)<0?0-(u-h)|0:u-h|0)|0)>3){U=1;break}U=(a[le+124>>2]|0)!=(a[le+116>>2]|0)&1}else U=2}while(0);a[ve>>2]=U;p=n[le+52>>1]|0;u=n[le+182>>1]|0;h=n[le+158>>1]|0;do{if(!((p|E)<<16>>16)){te=(n[le+180>>1]|0)-(n[le+156>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){t=1;break}if((((u-h|0)<0?0-(u-h)|0:u-h|0)|0)>3){t=1;break}t=(a[le+128>>2]|0)!=(a[le+120>>2]|0)&1}else t=2}while(0);a[_e>>2]=t;d=n[le+54>>1]|0;u=n[le+186>>1]|0;h=n[le+162>>1]|0;do{if(!((d|_)<<16>>16)){te=(n[le+184>>1]|0)-(n[le+160>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){O=1;break}if((((u-h|0)<0?0-(u-h)|0:u-h|0)|0)>3){O=1;break}O=(a[le+128>>2]|0)!=(a[le+120>>2]|0)&1}else O=2}while(0);a[ke>>2]=O;u=n[le+30>>1]|0;if(!(u<<16>>16))S=(n[A>>1]|0)!=0?2:0;else S=2;a[je>>2]=S;$=n[le+36>>1]|0;te=($|u)<<16>>16!=0?2:0;a[He>>2]=te;$=(n[le+38>>1]|$)<<16>>16!=0?2:0;a[De>>2]=$;A=M<<16>>16!=0|T<<16>>16==0^1?2:0;a[Ue>>2]=A;T=T<<16>>16!=0|E<<16>>16==0^1?2:0;a[Ie>>2]=T;E=E<<16>>16!=0|_<<16>>16==0^1?2:0;a[Pe>>2]=E;r=(w|r)<<16>>16!=0?2:0;a[Oe>>2]=r;M=(p|w)<<16>>16!=0?2:0;a[Ce>>2]=M;_=(d|p)<<16>>16!=0?2:0;a[Re>>2]=_;w=v<<16>>16!=0|y<<16>>16==0^1?2:0;a[Me>>2]=w;d=g<<16>>16==0?y<<16>>16!=0?2:0:2;a[Te>>2]=d;u=m?g<<16>>16!=0?2:0:2;a[Se>>2]=u;p=M;g=r;r=E;E=T;T=P;M=I;m=U;y=D;v=x;h=N;break t}case 3:{u=le+28|0;d=n[le+32>>1]|0;if(!(d<<16>>16))h=(n[u>>1]|0)!=0?2:0;else h=2;a[Ae>>2]=h;y=n[le+34>>1]|0;if(!(y<<16>>16))H=(n[le+30>>1]|0)!=0?2:0;else H=2;a[Ee>>2]=H;g=n[le+40>>1]|0;if(!(g<<16>>16))F=(n[le+36>>1]|0)!=0?2:0;else F=2;a[me>>2]=F;b=n[le+42>>1]|0;if(!(b<<16>>16))B=(n[le+38>>1]|0)!=0?2:0;else B=2;a[ge>>2]=B;p=n[le+44>>1]|0;L=(p|d)<<16>>16!=0?2:0;a[ye>>2]=L;m=n[le+46>>1]|0;N=(m|y)<<16>>16!=0?2:0;a[ve>>2]=N;r=n[le+52>>1]|0;t=(r|g)<<16>>16!=0?2:0;a[_e>>2]=t;w=n[le+54>>1]|0;O=(w|b)<<16>>16!=0?2:0;a[ke>>2]=O;k=n[le+48>>1]|0;C=(k|p)<<16>>16!=0?2:0;a[we>>2]=C;A=n[le+50>>1]|0;R=m<<16>>16!=0|A<<16>>16==0^1?2:0;a[pe>>2]=R;P=n[le+56>>1]|0;M=(P|r)<<16>>16!=0?2:0;a[be>>2]=M;_=(n[le+58>>1]|0)==0;T=w<<16>>16!=0|_^1?2:0;a[de>>2]=T;v=n[le+30>>1]|0;if(!(v<<16>>16))S=(n[u>>1]|0)!=0?2:0;else S=2;a[je>>2]=S;te=n[le+36>>1]|0;x=(n[le+38>>1]|0)==0?te<<16>>16!=0?2:0:2;a[De>>2]=x;D=d<<16>>16!=0|y<<16>>16==0^1?2:0;a[Ue>>2]=D;U=g<<16>>16!=0|b<<16>>16==0^1?2:0;a[Pe>>2]=U;I=(m|p)<<16>>16!=0?2:0;a[Oe>>2]=I;E=(w|r)<<16>>16!=0?2:0;a[Re>>2]=E;w=A<<16>>16==0?k<<16>>16!=0?2:0:2;a[Me>>2]=w;u=_?P<<16>>16!=0?2:0:2;a[Se>>2]=u;d=n[le+150>>1]|0;b=n[le+138>>1]|0;do{if(!((te|v)<<16>>16)){te=(n[le+148>>1]|0)-(n[le+136>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){v=1;break}if((((d-b|0)<0?0-(d-b)|0:d-b|0)|0)>3){v=1;break}v=(a[le+120>>2]|0)!=(a[le+116>>2]|0)&1}else v=2}while(0);a[He>>2]=v;d=n[le+158>>1]|0;b=n[le+146>>1]|0;do{if(!((g|y)<<16>>16)){te=(n[le+156>>1]|0)-(n[le+144>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){k=1;break}if((((d-b|0)<0?0-(d-b)|0:d-b|0)|0)>3){k=1;break}k=(a[le+120>>2]|0)!=(a[le+116>>2]|0)&1}else k=2}while(0);a[Ie>>2]=k;d=n[le+182>>1]|0;b=n[le+170>>1]|0;do{if(!((r|m)<<16>>16)){te=(n[le+180>>1]|0)-(n[le+168>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){p=1;break}if((((d-b|0)<0?0-(d-b)|0:d-b|0)|0)>3){p=1;break}p=(a[le+128>>2]|0)!=(a[le+124>>2]|0)&1}else p=2}while(0);a[Ce>>2]=p;d=n[le+190>>1]|0;b=n[le+178>>1]|0;do{if(!((P|A)<<16>>16)){te=(n[le+188>>1]|0)-(n[le+176>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){d=1;break}if((((d-b|0)<0?0-(d-b)|0:d-b|0)|0)>3){d=1;break}d=(a[le+128>>2]|0)!=(a[le+124>>2]|0)&1}else d=2}while(0);a[Te>>2]=d;_=E;g=I;r=U;E=k;A=D;$=x;te=v;m=N;y=L;v=B;k=F;b=H;break t}default:{A=n[le+32>>1]|0;u=n[le+28>>1]|0;P=n[le+142>>1]|0;d=n[le+134>>1]|0;do{if(!((u|A)<<16>>16)){te=(n[le+140>>1]|0)-(n[le+132>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){h=1;break}h=(((P-d|0)<0?0-(P-d)|0:P-d|0)|0)>3&1}else h=2}while(0);a[Ae>>2]=h;I=n[le+34>>1]|0;p=n[le+30>>1]|0;U=n[le+146>>1]|0;w=n[le+138>>1]|0;do{if(!((p|I)<<16>>16)){te=(n[le+144>>1]|0)-(n[le+136>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){b=1;break}b=(((U-w|0)<0?0-(U-w)|0:U-w|0)|0)>3&1}else b=2}while(0);a[Ee>>2]=b;D=n[le+40>>1]|0;_=n[le+36>>1]|0;x=n[le+158>>1]|0;g=n[le+150>>1]|0;do{if(!((_|D)<<16>>16)){te=(n[le+156>>1]|0)-(n[le+148>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){k=1;break}k=(((x-g|0)<0?0-(x-g)|0:x-g|0)|0)>3&1}else k=2}while(0);a[me>>2]=k;N=n[le+42>>1]|0;r=n[le+38>>1]|0;L=n[le+162>>1]|0;E=n[le+154>>1]|0;do{if(!((r|N)<<16>>16)){te=(n[le+160>>1]|0)-(n[le+152>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){v=1;break}v=(((L-E|0)<0?0-(L-E)|0:L-E|0)|0)>3&1}else v=2}while(0);a[ge>>2]=v;B=n[le+44>>1]|0;F=n[le+166>>1]|0;do{if(!((B|A)<<16>>16)){te=(n[le+164>>1]|0)-(n[le+140>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){y=1;break}if((((F-P|0)<0?0-(F-P)|0:F-P|0)|0)>3){y=1;break}y=(a[le+124>>2]|0)!=(a[le+116>>2]|0)&1}else y=2}while(0);a[ye>>2]=y;H=n[le+46>>1]|0;j=n[le+170>>1]|0;do{if(!((H|I)<<16>>16)){te=(n[le+168>>1]|0)-(n[le+144>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){m=1;break}if((((j-U|0)<0?0-(j-U)|0:j-U|0)|0)>3){m=1;break}m=(a[le+124>>2]|0)!=(a[le+116>>2]|0)&1}else m=2}while(0);a[ve>>2]=m;Y=n[le+52>>1]|0;s=n[le+182>>1]|0;do{if(!((Y|D)<<16>>16)){te=(n[le+180>>1]|0)-(n[le+156>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){t=1;break}if((((s-x|0)<0?0-(s-x)|0:s-x|0)|0)>3){t=1;break}t=(a[le+128>>2]|0)!=(a[le+120>>2]|0)&1}else t=2}while(0);a[_e>>2]=t;G=n[le+54>>1]|0;W=n[le+186>>1]|0;do{if(!((G|N)<<16>>16)){te=(n[le+184>>1]|0)-(n[le+160>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){O=1;break}if((((W-L|0)<0?0-(W-L)|0:W-L|0)|0)>3){O=1;break}O=(a[le+128>>2]|0)!=(a[le+120>>2]|0)&1}else O=2}while(0);a[ke>>2]=O;V=n[le+48>>1]|0;q=n[le+174>>1]|0;do{if(!((V|B)<<16>>16)){te=(n[le+172>>1]|0)-(n[le+164>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){C=1;break}C=(((q-F|0)<0?0-(q-F)|0:q-F|0)|0)>3&1}else C=2}while(0);a[we>>2]=C;K=n[le+50>>1]|0;z=n[le+178>>1]|0;do{if(!((K|H)<<16>>16)){te=(n[le+176>>1]|0)-(n[le+168>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){R=1;break}R=(((z-j|0)<0?0-(z-j)|0:z-j|0)|0)>3&1}else R=2}while(0);a[pe>>2]=R;X=n[le+56>>1]|0;J=n[le+190>>1]|0;do{if(!((X|Y)<<16>>16)){te=(n[le+188>>1]|0)-(n[le+180>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){M=1;break}M=(((J-s|0)<0?0-(J-s)|0:J-s|0)|0)>3&1}else M=2}while(0);a[be>>2]=M;Q=n[le+58>>1]|0;Z=n[le+194>>1]|0;do{if(!((Q|G)<<16>>16)){te=(n[le+192>>1]|0)-(n[le+184>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){T=1;break}T=(((Z-W|0)<0?0-(Z-W)|0:Z-W|0)|0)>3&1}else T=2}while(0);a[de>>2]=T;do{if(!((p|u)<<16>>16)){te=(n[le+136>>1]|0)-(n[le+132>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){S=1;break}S=(((w-d|0)<0?0-(w-d)|0:w-d|0)|0)>3&1}else S=2}while(0);a[je>>2]=S;do{if(!((_|p)<<16>>16)){te=(n[le+148>>1]|0)-(n[le+136>>1]|0)|0;if((((te|0)<0?0-te|0:te)|0)>3){te=1;break}if((((g-w|0)<0?0-(g-w)|0:g-w|0)|0)>3){te=1;break}te=(a[le+120>>2]|0)!=(a[le+116>>2]|0)&1}else te=2}while(0);a[He>>2]=te;do{if(!((r|_)<<16>>16)){$=(n[le+152>>1]|0)-(n[le+148>>1]|0)|0;if(((($|0)<0?0-$|0:$)|0)>3){$=1;break}$=(((E-g|0)<0?0-(E-g)|0:E-g|0)|0)>3&1}else $=2}while(0);a[De>>2]=$;do{if(!((I|A)<<16>>16)){A=(n[le+144>>1]|0)-(n[le+140>>1]|0)|0;if((((A|0)<0?0-A|0:A)|0)>3){A=1;break}A=(((U-P|0)<0?0-(U-P)|0:U-P|0)|0)>3&1}else A=2}while(0);a[Ue>>2]=A;do{if(!((D|I)<<16>>16)){I=(n[le+156>>1]|0)-(n[le+144>>1]|0)|0;if((((I|0)<0?0-I|0:I)|0)>3){E=1;break}if((((x-U|0)<0?0-(x-U)|0:x-U|0)|0)>3){E=1;break}E=(a[le+120>>2]|0)!=(a[le+116>>2]|0)&1}else E=2}while(0);a[Ie>>2]=E;do{if(!((N|D)<<16>>16)){N=(n[le+160>>1]|0)-(n[le+156>>1]|0)|0;if((((N|0)<0?0-N|0:N)|0)>3){r=1;break}r=(((L-x|0)<0?0-(L-x)|0:L-x|0)|0)>3&1}else r=2}while(0);a[Pe>>2]=r;do{if(!((H|B)<<16>>16)){B=(n[le+168>>1]|0)-(n[le+164>>1]|0)|0;if((((B|0)<0?0-B|0:B)|0)>3){g=1;break}g=(((j-F|0)<0?0-(j-F)|0:j-F|0)|0)>3&1}else g=2}while(0);a[Oe>>2]=g;do{if(!((Y|H)<<16>>16)){H=(n[le+180>>1]|0)-(n[le+168>>1]|0)|0;if((((H|0)<0?0-H|0:H)|0)>3){p=1;break}if((((s-j|0)<0?0-(s-j)|0:s-j|0)|0)>3){p=1;break}p=(a[le+128>>2]|0)!=(a[le+124>>2]|0)&1}else p=2}while(0);a[Ce>>2]=p;do{if(!((G|Y)<<16>>16)){G=(n[le+184>>1]|0)-(n[le+180>>1]|0)|0;if((((G|0)<0?0-G|0:G)|0)>3){_=1;break}_=(((W-s|0)<0?0-(W-s)|0:W-s|0)|0)>3&1}else _=2}while(0);a[Re>>2]=_;do{if(!((K|V)<<16>>16)){V=(n[le+176>>1]|0)-(n[le+172>>1]|0)|0;if((((V|0)<0?0-V|0:V)|0)>3){w=1;break}w=(((z-q|0)<0?0-(z-q)|0:z-q|0)|0)>3&1}else w=2}while(0);a[Me>>2]=w;do{if(!((X|K)<<16>>16)){K=(n[le+188>>1]|0)-(n[le+176>>1]|0)|0;if((((K|0)<0?0-K|0:K)|0)>3){d=1;break}if((((J-z|0)<0?0-(J-z)|0:J-z|0)|0)>3){d=1;break}d=(a[le+128>>2]|0)!=(a[le+124>>2]|0)&1}else d=2}while(0);a[Te>>2]=d;do{if(!((Q|X)<<16>>16)){Q=(n[le+192>>1]|0)-(n[le+188>>1]|0)|0;if((((Q|0)<0?0-Q|0:Q)|0)>3){u=1;break}u=(((Z-J|0)<0?0-(Z-J)|0:Z-J|0)|0)>3&1}else u=2}while(0);a[Se>>2]=u;break t}}}while(0);if(Ze)break;if(!(d|u|w|_|p|g|r|E|A|$|te|S|T|M|R|C|O|t|m|y|v|k|b|h))break e}}while(0);x=le+20|0;u=a[x>>2]|0;N=le+12|0;h=a[N>>2]|0;d=(h+u|0)<0?0:(h+u|0)>51?51:h+u|0;L=le+16|0;b=a[L>>2]|0;p=o[7574+d>>0]|0;a[pt+644+28>>2]=p;w=o[7626+((b+u|0)<0?0:(b+u|0)>51?51:b+u|0)>>0]|0;a[pt+644+32>>2]=w;a[pt+644+24>>2]=7678+(d*3|0);do{if(!ne){l=a[re+20>>2]|0;if((l|0)==(u|0)){a[pt+644+4>>2]=p;a[pt+644+8>>2]=w;a[pt+644>>2]=7678+(d*3|0);break}else{re=((u+1+l|0)>>>1)+h|0;re=(re|0)<0?0:(re|0)>51?51:re;te=((u+1+l|0)>>>1)+b|0;a[pt+644+4>>2]=o[7574+re>>0];a[pt+644+8>>2]=o[7626+((te|0)<0?0:(te|0)>51?51:te)>>0];a[pt+644>>2]=7678+(re*3|0);break}}}while(0);do{if(!ie){l=a[f+20>>2]|0;if((l|0)==(u|0)){a[pt+644+16>>2]=p;a[pt+644+20>>2]=w;a[We>>2]=7678+(d*3|0);break}else{f=((u+1+l|0)>>>1)+h|0;f=(f|0)<0?0:(f|0)>51?51:f;re=((u+1+l|0)>>>1)+b|0;a[pt+644+16>>2]=o[7574+f>>0];a[pt+644+20>>2]=o[7626+((re|0)<0?0:(re|0)>51?51:re)>>0];a[pt+644+12>>2]=7678+(f*3|0);break}}}while(0);D=ee(fe,ue)|0;t=3;P=0;I=(a[Ke>>2]|0)+((D<<8)+(se<<4))|0;U=pt+680|0;while(1){l=a[U+4>>2]|0;if(l)$e(I,l,We,ue<<4);l=a[U+12>>2]|0;if(l)$e(I+4|0,l,Ge,ue<<4);C=U+16|0;l=a[U+20>>2]|0;if(l)$e(I+8|0,l,Ge,ue<<4);O=U+24|0;l=a[U+28>>2]|0;if(l)$e(I+12|0,l,Ge,ue<<4);M=a[U>>2]|0;R=U+8|0;l=a[R>>2]|0;t:do{if((M|0)==(l|0)){if((M|0)!=(a[C>>2]|0)){Xe=1399;break}if((M|0)!=(a[O>>2]|0)){Xe=1399;break}if(!M)break;if(M>>>0<4){w=o[(a[pt+644+(P*12|0)>>2]|0)+(M+-1)>>0]|0;k=pt+644+(P*12|0)+4|0;_=pt+644+(P*12|0)+8|0;p=I;E=16;while(1){u=p+(0-(ue<<4)<<1)|0;v=p+(0-(ue<<4))|0;b=p+(ue<<4)|0;y=i[b>>0]|0;g=o[v>>0]|0;m=o[p>>0]|0;do{if(((g-m|0)<0?0-(g-m)|0:g-m|0)>>>0<(a[k>>2]|0)>>>0){r=o[u>>0]|0;h=a[_>>2]|0;if(((r-g|0)<0?0-(r-g)|0:r-g|0)>>>0>=h>>>0)break;if((((y&255)-m|0)<0?0-((y&255)-m)|0:(y&255)-m|0)>>>0>=h>>>0)break;d=o[p+Ye>>0]|0;if(((d-g|0)<0?0-(d-g)|0:d-g|0)>>>0<h>>>0){i[u>>0]=((((g+1+m|0)>>>1)-(r<<1)+d>>1|0)<(0-w|0)?0-w|0:(((g+1+m|0)>>>1)-(r<<1)+d>>1|0)>(w|0)?w:((g+1+m|0)>>>1)-(r<<1)+d>>1)+r;h=a[_>>2]|0;u=w+1|0}else u=w;d=o[p+(ue<<5)>>0]|0;if(((d-m|0)<0?0-(d-m)|0:d-m|0)>>>0<h>>>0){i[b>>0]=((((g+1+m|0)>>>1)-((y&255)<<1)+d>>1|0)<(0-w|0)?0-w|0:(((g+1+m|0)>>>1)-((y&255)<<1)+d>>1|0)>(w|0)?w:((g+1+m|0)>>>1)-((y&255)<<1)+d>>1)+(y&255);u=u+1|0}re=0-u|0;re=(4-(y&255)+(m-g<<2)+r>>3|0)<(re|0)?re:(4-(y&255)+(m-g<<2)+r>>3|0)>(u|0)?u:4-(y&255)+(m-g<<2)+r>>3;f=i[6294+((m|512)-re)>>0]|0;i[v>>0]=i[6294+(re+(g|512))>>0]|0;i[p>>0]=f}}while(0);E=E+-1|0;if(!E)break t;else p=p+1|0}}b=pt+644+(P*12|0)+4|0;p=pt+644+(P*12|0)+8|0;d=I;T=16;while(1){w=d+(0-(ue<<4)<<1)|0;k=d+(0-(ue<<4))|0;_=d+(ue<<4)|0;v=i[_>>0]|0;y=o[k>>0]|0;g=o[d>>0]|0;u=(y-g|0)<0?0-(y-g)|0:y-g|0;h=a[b>>2]|0;r:do{if(u>>>0<h>>>0){m=o[w>>0]|0;r=a[p>>2]|0;if(((m-y|0)<0?0-(m-y)|0:m-y|0)>>>0>=r>>>0)break;if((((v&255)-g|0)<0?0-((v&255)-g)|0:(v&255)-g|0)>>>0>=r>>>0)break;E=d+Ye|0;A=d+(ue<<5)|0;S=i[A>>0]|0;do{if(u>>>0<((h>>>2)+2|0)>>>0){u=o[E>>0]|0;if(((u-y|0)<0?0-(u-y)|0:u-y|0)>>>0<r>>>0){i[k>>0]=((v&255)+4+(g+y+m<<1)+u|0)>>>3;i[w>>0]=(g+y+m+2+u|0)>>>2;i[E>>0]=(g+y+m+4+(u*3|0)+(o[d+(0-(ue<<4)<<2)>>0]<<1)|0)>>>3}else i[k>>0]=(y+2+(v&255)+(m<<1)|0)>>>2;if((((S&255)-g|0)<0?0-((S&255)-g)|0:(S&255)-g|0)>>>0>=(a[p>>2]|0)>>>0)break;i[d>>0]=((g+y+(v&255)<<1)+4+m+(S&255)|0)>>>3;i[_>>0]=(g+y+(v&255)+2+(S&255)|0)>>>2;i[A>>0]=(g+y+(v&255)+4+((S&255)*3|0)+(o[d+(ue*48|0)>>0]<<1)|0)>>>3;break r}else i[k>>0]=(y+2+(v&255)+(m<<1)|0)>>>2}while(0);i[d>>0]=(g+2+((v&255)<<1)+m|0)>>>2}}while(0);T=T+-1|0;if(!T)break;else d=d+1|0}}else Xe=1399}while(0);do{if((Xe|0)==1399){Xe=0;if(M){et(I,M,pt+644+(P*12|0)|0,ue<<4);l=a[R>>2]|0}if(l)et(I+4|0,l,pt+644+(P*12|0)|0,ue<<4);l=a[C>>2]|0;if(l)et(I+8|0,l,pt+644+(P*12|0)|0,ue<<4);l=a[O>>2]|0;if(!l)break;et(I+12|0,l,pt+644+(P*12|0)|0,ue<<4)}}while(0);if(!t)break;else{t=t+-1|0;P=2;I=I+(ue<<6)|0;U=U+32|0}}_=a[le+24>>2]|0;w=a[x>>2]|0;k=a[80+(((w+_|0)<0?0:(w+_|0)>51?51:w+_|0)<<2)>>2]|0;b=a[N>>2]|0;p=(b+k|0)<0?0:(b+k|0)>51?51:b+k|0;u=a[L>>2]|0;h=o[7574+p>>0]|0;a[pt+644+28>>2]=h;d=o[7626+((u+k|0)<0?0:(u+k|0)>51?51:u+k|0)>>0]|0;a[pt+644+32>>2]=d;a[pt+644+24>>2]=7678+(p*3|0);do{if(!ne){l=a[(a[ae>>2]|0)+20>>2]|0;if((l|0)==(w|0)){a[pt+644+4>>2]=h;a[pt+644+8>>2]=d;a[pt+644>>2]=7678+(p*3|0);break}else{ne=(k+1+(a[80+(((l+_|0)<0?0:(l+_|0)>51?51:l+_|0)<<2)>>2]|0)|0)>>>1;ae=(ne+b|0)<0?0:(ne+b|0)>51?51:ne+b|0;a[pt+644+4>>2]=o[7574+ae>>0];a[pt+644+8>>2]=o[7626+((ne+u|0)<0?0:(ne+u|0)>51?51:ne+u|0)>>0];a[pt+644>>2]=7678+(ae*3|0);break}}}while(0);do{if(!ie){l=a[(a[oe>>2]|0)+20>>2]|0;if((l|0)==(w|0)){a[pt+644+16>>2]=h;a[pt+644+20>>2]=d;a[We>>2]=7678+(p*3|0);break}else{ae=(k+1+(a[80+(((l+_|0)<0?0:(l+_|0)>51?51:l+_|0)<<2)>>2]|0)|0)>>>1;oe=(ae+b|0)<0?0:(ae+b|0)>51?51:ae+b|0;a[pt+644+16>>2]=o[7574+oe>>0];a[pt+644+20>>2]=o[7626+((ae+u|0)<0?0:(ae+u|0)>51?51:ae+u|0)>>0];a[pt+644+12>>2]=7678+(oe*3|0);break}}}while(0);w=a[Ke>>2]|0;p=(se<<3)+(he<<8)+(D<<6)|0;b=w+(p+(he<<6))|0;p=w+p|0;w=0;k=pt+680|0;_=0;while(1){l=k+4|0;u=a[l>>2]|0;if(u){tt(p,u,We,ue<<3);tt(b,a[l>>2]|0,We,ue<<3)}l=k+36|0;u=a[l>>2]|0;if(u){tt(p+(ue<<4)|0,u,We,ue<<3);tt(b+(ue<<4)|0,a[l>>2]|0,We,ue<<3)}d=k+16|0;l=k+20|0;u=a[l>>2]|0;if(u){tt(p+4|0,u,Ge,ue<<3);tt(b+4|0,a[l>>2]|0,Ge,ue<<3)}l=k+52|0;u=a[l>>2]|0;if(u){tt(p+(ue<<4|4)|0,u,Ge,ue<<3);tt(b+(ue<<4|4)|0,a[l>>2]|0,Ge,ue<<3)}u=a[k>>2]|0;h=k+8|0;l=a[h>>2]|0;do{if((u|0)==(l|0)){if((u|0)!=(a[d>>2]|0)){Xe=1430;break}if((u|0)!=(a[k+24>>2]|0)){Xe=1430;break}if(!u)break;oe=pt+644+(w*12|0)|0;rt(p,u,oe,ue<<3);rt(b,a[k>>2]|0,oe,ue<<3)}else Xe=1430}while(0);do{if((Xe|0)==1430){Xe=0;if(u){l=pt+644+(w*12|0)|0;it(p,u,l,ue<<3);it(b,a[k>>2]|0,l,ue<<3);l=a[h>>2]|0}if(l){oe=pt+644+(w*12|0)|0;it(p+2|0,l,oe,ue<<3);it(b+2|0,a[h>>2]|0,oe,ue<<3)}l=a[d>>2]|0;if(l){oe=pt+644+(w*12|0)|0;it(p+4|0,l,oe,ue<<3);it(b+4|0,a[d>>2]|0,oe,ue<<3)}l=k+24|0;u=a[l>>2]|0;if(!u)break;oe=pt+644+(w*12|0)|0;it(p+6|0,u,oe,ue<<3);it(b+6|0,a[l>>2]|0,oe,ue<<3)}}while(0);_=_+1|0;if((_|0)==2)break;else{b=b+(ue<<5)|0;p=p+(ue<<5)|0;w=2;k=k+64|0}}l=a[ce>>2]|0}}while(0);u=se+1|0;fe=((u|0)==(ue|0)&1)+fe|0;if(fe>>>0>=l>>>0)break;else{se=(u|0)==(ue|0)?0:u;le=le+216|0}}}a[e+1196>>2]=0;a[e+1192>>2]=0;h=a[e+1176>>2]|0;if(h){l=a[Ve>>2]|0;u=0;do{a[l+(u*216|0)+4>>2]=0;a[l+(u*216|0)+196>>2]=0;u=u+1|0}while((u|0)!=(h|0))}v=a[qe>>2]|0;e:do{if(!(a[e+1652>>2]|0))y=0;else{l=0;t:while(1){switch(a[e+1656+(l*20|0)>>2]|0){case 5:{y=1;break e}case 0:break t;default:{}}l=l+1|0}y=0}}while(0);e:do{switch(a[v+16>>2]|0){case 0:{if((a[e+1360>>2]|0)!=5){l=a[e+1284>>2]|0;u=a[e+1388>>2]|0;if(l>>>0>u>>>0?(ft=a[v+20>>2]|0,(l-u|0)>>>0>=ft>>>1>>>0):0){ht=e+1284|0;dt=u;bt=(a[e+1288>>2]|0)+ft|0}else{st=e+1284|0;lt=u;ut=l;Xe=1454}}else{a[e+1288>>2]=0;a[e+1284>>2]=0;st=e+1284|0;lt=a[e+1388>>2]|0;ut=0;Xe=1454}do{if((Xe|0)==1454){if(lt>>>0>ut>>>0?(ct=a[v+20>>2]|0,(lt-ut|0)>>>0>ct>>>1>>>0):0){ht=st;dt=lt;bt=(a[e+1288>>2]|0)-ct|0;break}ht=st;dt=lt;bt=a[e+1288>>2]|0}}while(0);if(!(a[e+1364>>2]|0)){l=a[e+1392>>2]|0;l=bt+dt+((l|0)<0?l:0)|0;break e}a[e+1288>>2]=bt;l=a[e+1392>>2]|0;if(!y){a[ht>>2]=dt;l=bt+dt+((l|0)<0?l:0)|0;break e}else{a[e+1288>>2]=0;a[ht>>2]=(l|0)<0?0-l|0:0;l=0;break e}}case 1:{if((a[e+1360>>2]|0)!=5){l=a[e+1296>>2]|0;if((a[e+1292>>2]|0)>>>0>(a[e+1380>>2]|0)>>>0)l=(a[v+12>>2]|0)+l|0}else l=0;p=a[v+36>>2]|0;if(!p)u=0;else u=(a[e+1380>>2]|0)+l|0;_=(a[e+1364>>2]|0)==0;b=(((u|0)!=0&_)<<31>>31)+u|0;if(b){k=((b+-1|0)>>>0)%(p>>>0)|0;w=((b+-1|0)>>>0)/(p>>>0)|0}else{k=0;w=0}if(!p)u=0;else{h=a[v+40>>2]|0;u=0;d=0;do{u=(a[h+(d<<2)>>2]|0)+u|0;d=d+1|0}while((d|0)!=(p|0))}if(b){u=ee(u,w)|0;h=a[v+40>>2]|0;d=0;do{u=(a[h+(d<<2)>>2]|0)+u|0;d=d+1|0}while(d>>>0<=k>>>0)}else u=0;if(_)h=(a[v+28>>2]|0)+u|0;else h=u;u=(a[e+1400>>2]|0)+(a[v+32>>2]|0)|0;if(!y){bt=((u|0)<0?u:0)+h+(a[e+1396>>2]|0)|0;a[e+1296>>2]=l;a[e+1292>>2]=a[e+1380>>2];l=bt;break e}else{a[e+1296>>2]=0;a[e+1292>>2]=0;l=0;break e}}default:{if((a[e+1360>>2]|0)==5){u=e+1296|0;h=0;l=0}else{d=a[e+1380>>2]|0;l=a[e+1296>>2]|0;if((a[e+1292>>2]|0)>>>0>d>>>0)l=(a[v+12>>2]|0)+l|0;u=e+1296|0;h=l;l=(((a[e+1364>>2]|0)==0)<<31>>31)+(l+d<<1)|0}if(!y){a[u>>2]=h;a[e+1292>>2]=a[e+1380>>2];break e}else{a[u>>2]=0;a[e+1292>>2]=0;l=0;break e}}}}while(0);do{if(a[ze>>2]|0){h=a[e+1380>>2]|0;d=a[e+1360>>2]|0;b=a[e+1208>>2]|0;p=a[e+1204>>2]|0;u=a[Ke>>2]|0;if(!(a[e+1364>>2]|0)){Je(e+1220|0,0,u,h,l,(d|0)==5&1,b,p);break}else{Je(e+1220|0,e+1644|0,u,h,l,(d|0)==5&1,b,p);break}}}while(0);a[e+1184>>2]=0;a[ze>>2]=0;e=1;c=pt;return e|0}function at(e){e=e|0;var t=0;t=wt(e)|0;a[854]=t;a[853]=t;a[852]=e;a[855]=t+e;return t|0}function ot(e){e=e|0;var t=0,r=0,i=0,n=0,o=0,s=0,f=0,l=0,u=0,h=0,d=0,b=0,p=0,w=0,k=0,_=0,v=0,y=0,g=0,m=0,E=0;E=c;c=c+16|0;a[852]=e;t=a[853]|0;a[848]=t;a[849]=e;r=e;e:while(1){e=a[858]|0;a[850]=e;p=a[856]|0;t:do{if(!((t|0)==0|(r|0)==0|(p|0)==0)?(g=a[p>>2]|0,(g|0)!=0):0){a[859]=0;a[E>>2]=0;a[p+3392>>2]=a[851];r:do{if((g|0)==2){e=0;m=5}else{i=e;e=1;i:while(1){h=nt(p+8|0,t,r,i,E)|0;b=a[E>>2]|0;t=t+b|0;d=r-b|0;d=(d|0)<0?0:d;a[859]=t;switch(h|0){case 5:{m=31;break t}case 2:{m=7;break r}case 1:{m=10;break i}case 4:{h=0;n:while(1){i=a[p+8+148+(h<<2)>>2]|0;a:do{if((i|0)!=0?(y=a[p+8+20+(a[i+4>>2]<<2)>>2]|0,(y|0)!=0):0){f=a[y+52>>2]|0;l=ee(a[y+56>>2]|0,f)|0;u=a[i+12>>2]|0;if(u>>>0<=1){r=0;break n}r=a[i+16>>2]|0;switch(r|0){case 0:{r=a[i+20>>2]|0;i=0;while(1){if((a[r+(i<<2)>>2]|0)>>>0>l>>>0)break a;i=i+1|0;if(i>>>0>=u>>>0){r=0;break n}}}case 2:{s=a[i+24>>2]|0;r=a[i+28>>2]|0;o=0;while(1){i=a[s+(o<<2)>>2]|0;n=a[r+(o<<2)>>2]|0;if(!(i>>>0<=n>>>0&n>>>0<l>>>0))break a;o=o+1|0;if(((i>>>0)%(f>>>0)|0)>>>0>((n>>>0)%(f>>>0)|0)>>>0)break a;if(o>>>0>=(u+-1|0)>>>0){r=0;break n}}}default:{if((r+-3|0)>>>0<3)if((a[i+36>>2]|0)>>>0>l>>>0)break a;else{r=0;break n}if((r|0)!=6){r=0;break n}if((a[i+40>>2]|0)>>>0<l>>>0)break a;else{r=0;break n}}}}}while(0);h=h+1|0;if(h>>>0>=256){r=1;break}}e=((r|0)==0|d|0)==0?-2:e;break}default:{}}if(!d)break;if((a[p>>2]|0)==2){e=b;m=5;break r}i=a[850]|0;r=d}if((m|0)==10){m=0;a[p+4>>2]=(a[p+4>>2]|0)+1;e=(d|0)==0?2:3}switch(e|0){case-2:case 1:break e;case 4:{m=34;break}case 3:{m=70;break}case 2:break;default:break t}}}while(0);if((m|0)==5){a[p>>2]=1;t=t+e|0;a[859]=t;m=7}do{if((m|0)==7){if((a[p+1288>>2]|0)!=0?(a[p+1244>>2]|0)!=(a[p+1248>>2]|0):0){a[p+1288>>2]=0;a[p>>2]=2;m=70;break}m=34}}while(0);if((m|0)==34){m=0;t=a[856]|0;if(!t)break;r=a[t+24>>2]|0;if(!r)break;if(!(a[t+20>>2]|0))break;a[861]=a[r+52>>2]<<4;a[862]=a[r+56>>2]<<4;if(a[r+80>>2]|0){p=a[r+84>>2]|0;if(((p|0)!=0?(a[p+24>>2]|0)!=0:0)?(a[p+32>>2]|0)!=0:0)a[863]=1;else a[863]=0;t=a[r+84>>2]|0;if(((t|0)!=0?(a[t+24>>2]|0)!=0:0)?(a[t+36>>2]|0)!=0:0)t=a[t+48>>2]|0;else t=2}else{a[863]=0;t=2}a[864]=t;if(!(a[r+60>>2]|0)){a[867]=0;a[868]=0;a[869]=0;a[870]=0;t=0}else{a[867]=1;a[868]=a[r+64>>2]<<1;a[869]=(a[r+52>>2]<<4)-((a[r+68>>2]|0)+(a[r+64>>2]|0)<<1);a[870]=a[r+72>>2]<<1;t=(a[r+56>>2]<<4)-((a[r+76>>2]|0)+(a[r+72>>2]|0)<<1)|0}a[871]=t;r:do{if(((a[r+80>>2]|0)!=0?(w=a[r+84>>2]|0,(w|0)!=0):0)?(a[w>>2]|0)!=0:0){t=a[w+4>>2]|0;do{switch(t|0){case 1:case 0:{e=t;break r}case 2:{e=11;t=12;break r}case 3:{e=11;t=10;break r}case 4:{e=11;t=16;break r}case 5:{e=33;t=40;break r}case 6:{e=11;t=24;break r}case 7:{e=11;t=20;break r}case 8:{e=11;t=32;break r}case 9:{e=33;t=80;break r}case 10:{e=11;t=18;break r}case 11:{e=11;t=15;break r}case 12:{e=33;t=64;break r}case 13:{e=99;t=160;break r}case 255:{t=a[w+8>>2]|0;p=a[w+12>>2]|0;e=(t|0)==0|(p|0)==0?0:p;t=(t|0)==0|(p|0)==0?0:t;break r}default:{e=0;t=0;break r}}}while(0)}else{e=1;t=1}}while(0);a[865]=t;a[866]=e;a[860]=a[r>>2];ye();p=a[859]|0;a[849]=(a[848]|0)-p+(a[849]|0);a[848]=p;break}else if((m|0)==70){m=0;p=t;a[849]=(a[848]|0)-p+(a[849]|0);a[848]=p}a[849]=0;a[858]=(a[858]|0)+1;t=a[856]|0;if((((t|0)!=0?(k=a[t+1248>>2]|0,k>>>0<(a[t+1244>>2]|0)>>>0):0)?(_=a[t+1240>>2]|0,a[t+1248>>2]=k+1,(_+(k<<4)|0)!=0):0)?(v=a[_+(k<<4)>>2]|0,(v|0)!=0):0){i=_+(k<<4)+8|0;n=_+(k<<4)+12|0;e=_+(k<<4)+4|0;t=v;while(1){p=a[i>>2]|0;b=a[n>>2]|0;d=a[e>>2]|0;a[872]=t;a[873]=d;a[874]=b;a[875]=p;a[857]=(a[857]|0)+1;le(t|0,a[861]|0,a[862]|0);t=a[856]|0;if(!t)break t;e=a[t+1248>>2]|0;if(e>>>0>=(a[t+1244>>2]|0)>>>0)break t;r=a[t+1240>>2]|0;a[t+1248>>2]=e+1;if(!(r+(e<<4)|0))break t;t=a[r+(e<<4)>>2]|0;if(!t)break t;i=r+(e<<4)+8|0;n=r+(e<<4)+12|0;e=r+(e<<4)+4|0}}}else m=31}while(0);if((m|0)==31)m=0;e=a[849]|0;if(!e){m=84;break}t=a[848]|0;r=e}if((m|0)==84){c=E;return}a[849]=0;c=E;return}function st(){var e=0,t=0,r=0,o=0,s=0,f=0;f=c;c=c+16|0;o=wt(3396)|0;if(o){vt(o+8|0,0,3388)|0;a[o+16>>2]=32;a[o+12>>2]=256;a[o+1340>>2]=1;r=wt(2112)|0;a[o+3384>>2]=r;if(r){a[o>>2]=1;a[o+4>>2]=0;a[856]=o;a[857]=1;a[858]=1;s=0;c=f;return s|0}r=0;do{t=o+8+20+(r<<2)|0;e=a[t>>2]|0;if(e){kt(a[e+40>>2]|0);a[(a[t>>2]|0)+40>>2]=0;kt(a[(a[t>>2]|0)+84>>2]|0);a[(a[t>>2]|0)+84>>2]=0;kt(a[t>>2]|0);a[t>>2]=0}r=r+1|0}while((r|0)!=32);r=0;do{e=o+8+148+(r<<2)|0;t=a[e>>2]|0;if(t){kt(a[t+20>>2]|0);a[(a[e>>2]|0)+20>>2]=0;kt(a[(a[e>>2]|0)+24>>2]|0);a[(a[e>>2]|0)+24>>2]=0;kt(a[(a[e>>2]|0)+28>>2]|0);a[(a[e>>2]|0)+28>>2]=0;kt(a[(a[e>>2]|0)+44>>2]|0);a[(a[e>>2]|0)+44>>2]=0;kt(a[e>>2]|0);a[e>>2]=0}r=r+1|0}while((r|0)!=256);kt(a[o+3384>>2]|0);a[o+3384>>2]=0;kt(a[o+1220>>2]|0);a[o+1220>>2]=0;kt(a[o+1180>>2]|0);a[o+1180>>2]=0;e=a[o+1228>>2]|0;if((e|0)!=0?(a[o+1256>>2]|0)!=-1:0){t=0;do{kt(a[e+(t*40|0)+4>>2]|0);e=a[o+1228>>2]|0;a[e+(t*40|0)+4>>2]=0;t=t+1|0}while(t>>>0<((a[o+1256>>2]|0)+1|0)>>>0)}kt(e);a[o+1228>>2]=0;kt(a[o+1232>>2]|0);a[o+1232>>2]=0;kt(a[o+1240>>2]|0);kt(o)}e=a[892]|0;do{if(!e){e=i[3626]|0;i[3626]=e+255|e;e=a[888]|0;if(!(e&8)){a[890]=0;a[889]=0;t=a[899]|0;a[895]=t;a[893]=t;e=t+(a[900]|0)|0;a[892]=e;break}a[888]=e|32;s=-1;c=f;return s|0}else t=a[893]|0}while(0);if((e-t|0)>>>0<29){if((Ut[a[3588>>2]&3](3552,7834,29)|0)>>>0<29){s=-1;c=f;return s|0}}else{e=7834;r=t+29|0;do{i[t>>0]=i[e>>0]|0;t=t+1|0;e=e+1|0}while((t|0)<(r|0));a[893]=(a[893]|0)+29}r=i[3627]|0;if(r<<24>>24!=10){e=a[893]|0;t=a[892]|0;if(e>>>0<t>>>0){a[893]=e+1;i[e>>0]=10;s=-1;c=f;return s|0}}else t=a[892]|0;i[f>>0]=10;do{if(!t){r=n[1813]|0;i[3626]=((r&65535)<<24>>24)+255|(r&65535)<<24>>24;e=a[888]|0;if(!(e&8)){a[890]=0;a[889]=0;o=a[899]|0;a[895]=o;a[893]=o;t=o+(a[900]|0)|0;a[892]=t;e=(r&65535)>>>8&255;s=32;break}else{a[888]=e|32;break}}else{o=a[893]|0;e=r;s=32}}while(0);do{if((s|0)==32)if(o>>>0>=t>>>0|e<<24>>24==10){Ut[a[3588>>2]&3](3552,f,1)|0;break}else{a[893]=o+1;i[o>>0]=10;break}}while(0);s=-1;c=f;return s|0}function ft(){return}function lt(){return 2}function ut(){return 3}function ct(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,n=0,o=0,s=0,f=0,l=0;l=c;c=c+48|0;o=a[e+28>>2]|0;a[l+32>>2]=o;o=(a[e+20>>2]|0)-o|0;a[l+32+4>>2]=o;a[l+32+8>>2]=t;a[l+32+12>>2]=r;f=l+32|0;n=2;o=o+r|0;while(1){if(!(a[876]|0)){a[l+16>>2]=a[e+60>>2];a[l+16+4>>2]=f;a[l+16+8>>2]=n;t=Ee(146,l+16|0)|0;if(t>>>0>4294963200){if(!(a[876]|0))i=3548;else i=a[(ce()|0)+60>>2]|0;a[i>>2]=0-t;t=-1}}else{ke(1,e|0);a[l>>2]=a[e+60>>2];a[l+4>>2]=f;a[l+8>>2]=n;t=Ee(146,l|0)|0;if(t>>>0>4294963200){if(!(a[876]|0))i=3548;else i=a[(ce()|0)+60>>2]|0;a[i>>2]=0-t;t=-1}ue(0)}if((o|0)==(t|0)){t=13;break}if((t|0)<0){t=15;break}o=o-t|0;i=a[f+4>>2]|0;if(t>>>0<=i>>>0){if((n|0)==2){a[e+28>>2]=(a[e+28>>2]|0)+t;s=i;i=f;n=2}else{s=i;i=f}}else{s=a[e+44>>2]|0;a[e+28>>2]=s;a[e+20>>2]=s;s=a[f+12>>2]|0;t=t-i|0;i=f+8|0;n=n+-1|0}a[i>>2]=(a[i>>2]|0)+t;a[i+4>>2]=s-t;f=i}if((t|0)==13){f=a[e+44>>2]|0;a[e+16>>2]=f+(a[e+48>>2]|0);a[e+28>>2]=f;a[e+20>>2]=f}else if((t|0)==15){a[e+16>>2]=0;a[e+28>>2]=0;a[e+20>>2]=0;a[e>>2]=a[e>>2]|32;if((n|0)==2)r=0;else r=r-(a[f+4>>2]|0)|0}c=l;return r|0}function ht(e,t,r){e=e|0;t=t|0;r=r|0;var n=0;n=c;c=c+80|0;a[e+36>>2]=3;if((a[e>>2]&64|0)==0?(a[n>>2]=a[e+60>>2],a[n+4>>2]=21505,a[n+8>>2]=n+12,(ve(54,n|0)|0)!=0):0)i[e+75>>0]=-1;r=ct(e,t,r)|0;c=n;return r|0}function dt(e){e=e|0;var t=0,r=0;r=c;c=c+16|0;a[r>>2]=a[e+60>>2];e=he(6,r|0)|0;if(e>>>0>4294963200){if(!(a[876]|0))t=3548;else t=a[(ce()|0)+60>>2]|0;a[t>>2]=0-e;e=-1}c=r;return e|0}function bt(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,n=0;n=c;c=c+32|0;a[n>>2]=a[e+60>>2];a[n+4>>2]=0;a[n+8>>2]=t;a[n+12>>2]=n+20;a[n+16>>2]=r;t=ge(140,n|0)|0;if(t>>>0<=4294963200){if((t|0)<0)i=7;else e=a[n+20>>2]|0}else{if(!(a[876]|0))e=3548;else e=a[(ce()|0)+60>>2]|0;a[e>>2]=0-t;i=7}if((i|0)==7){a[n+20>>2]=-1;e=-1}c=n;return e|0}function pt(e){e=e|0;return}function wt(e){e=e|0;var t=0,r=0,i=0,n=0,o=0,s=0,f=0,l=0,u=0,c=0,h=0,d=0,b=0,p=0,w=0,k=0,_=0,v=0,y=0,g=0,m=0,E=0,A=0,S=0,T=0,M=0,R=0,C=0,O=0,P=0;do{if(e>>>0<245){d=e>>>0<11?16:e+11&-8;o=a[916]|0;if(o>>>(d>>>3)&3){e=(o>>>(d>>>3)&1^1)+(d>>>3)<<1;t=a[3704+(e+2<<2)>>2]|0;r=a[t+8>>2]|0;do{if((3704+(e<<2)|0)!=(r|0)){if(r>>>0<(a[920]|0)>>>0)be();if((a[r+12>>2]|0)==(t|0)){a[r+12>>2]=3704+(e<<2);a[3704+(e+2<<2)>>2]=r;break}else be()}else a[916]=o&~(1<<(o>>>(d>>>3)&1^1)+(d>>>3))}while(0);P=(o>>>(d>>>3)&1^1)+(d>>>3)<<3;a[t+4>>2]=P|3;a[t+(P|4)>>2]=a[t+(P|4)>>2]|1;P=t+8|0;return P|0}t=a[918]|0;if(d>>>0>t>>>0){if(o>>>(d>>>3)){e=o>>>(d>>>3)<<(d>>>3)&(2<<(d>>>3)|0-(2<<(d>>>3)));n=((e&0-e)+-1|0)>>>(((e&0-e)+-1|0)>>>12&16);i=n>>>(n>>>5&8)>>>(n>>>(n>>>5&8)>>>2&4);i=(n>>>5&8|((e&0-e)+-1|0)>>>12&16|n>>>(n>>>5&8)>>>2&4|i>>>1&2|i>>>(i>>>1&2)>>>1&1)+(i>>>(i>>>1&2)>>>(i>>>(i>>>1&2)>>>1&1))|0;n=a[3704+((i<<1)+2<<2)>>2]|0;e=a[n+8>>2]|0;do{if((3704+(i<<1<<2)|0)!=(e|0)){if(e>>>0<(a[920]|0)>>>0)be();if((a[e+12>>2]|0)==(n|0)){a[e+12>>2]=3704+(i<<1<<2);a[3704+((i<<1)+2<<2)>>2]=e;s=a[918]|0;break}else be()}else{a[916]=o&~(1<<i);s=t}}while(0);a[n+4>>2]=d|3;a[n+(d|4)>>2]=(i<<3)-d|1;a[n+(i<<3)>>2]=(i<<3)-d;if(s){r=a[921]|0;t=s>>>3;e=a[916]|0;if(e&1<<t){e=a[3704+((t<<1)+2<<2)>>2]|0;if(e>>>0<(a[920]|0)>>>0)be();else{f=3704+((t<<1)+2<<2)|0;l=e}}else{a[916]=e|1<<t;f=3704+((t<<1)+2<<2)|0;l=3704+(t<<1<<2)|0}a[f>>2]=r;a[l+12>>2]=r;a[r+8>>2]=l;a[r+12>>2]=3704+(t<<1<<2)}a[918]=(i<<3)-d;a[921]=n+d;P=n+8|0;return P|0}e=a[917]|0;if(e){f=((e&0-e)+-1|0)>>>(((e&0-e)+-1|0)>>>12&16);l=f>>>(f>>>5&8)>>>(f>>>(f>>>5&8)>>>2&4);l=a[3968+((f>>>5&8|((e&0-e)+-1|0)>>>12&16|f>>>(f>>>5&8)>>>2&4|l>>>1&2|l>>>(l>>>1&2)>>>1&1)+(l>>>(l>>>1&2)>>>(l>>>(l>>>1&2)>>>1&1))<<2)>>2]|0;f=(a[l+4>>2]&-8)-d|0;t=l;while(1){e=a[t+16>>2]|0;if(!e){e=a[t+20>>2]|0;if(!e)break}t=(a[e+4>>2]&-8)-d|0;P=t>>>0<f>>>0;f=P?t:f;t=e;l=P?e:l}n=a[920]|0;if(l>>>0<n>>>0)be();s=l+d|0;if(l>>>0>=s>>>0)be();o=a[l+24>>2]|0;e=a[l+12>>2]|0;do{if((e|0)==(l|0)){t=l+20|0;e=a[t>>2]|0;if(!e){t=l+16|0;e=a[t>>2]|0;if(!e){u=0;break}}while(1){r=e+20|0;i=a[r>>2]|0;if(i){e=i;t=r;continue}r=e+16|0;i=a[r>>2]|0;if(!i)break;else{e=i;t=r}}if(t>>>0<n>>>0)be();else{a[t>>2]=0;u=e;break}}else{t=a[l+8>>2]|0;if(t>>>0<n>>>0)be();if((a[t+12>>2]|0)!=(l|0))be();if((a[e+8>>2]|0)==(l|0)){a[t+12>>2]=e;a[e+8>>2]=t;u=e;break}else be()}}while(0);do{if(o){e=a[l+28>>2]|0;if((l|0)==(a[3968+(e<<2)>>2]|0)){a[3968+(e<<2)>>2]=u;if(!u){a[917]=a[917]&~(1<<e);break}}else{if(o>>>0<(a[920]|0)>>>0)be();if((a[o+16>>2]|0)==(l|0))a[o+16>>2]=u;else a[o+20>>2]=u;if(!u)break}t=a[920]|0;if(u>>>0<t>>>0)be();a[u+24>>2]=o;e=a[l+16>>2]|0;do{if(e)if(e>>>0<t>>>0)be();else{a[u+16>>2]=e;a[e+24>>2]=u;break}}while(0);e=a[l+20>>2]|0;if(e)if(e>>>0<(a[920]|0)>>>0)be();else{a[u+20>>2]=e;a[e+24>>2]=u;break}}}while(0);if(f>>>0<16){P=f+d|0;a[l+4>>2]=P|3;P=l+(P+4)|0;a[P>>2]=a[P>>2]|1}else{a[l+4>>2]=d|3;a[l+(d|4)>>2]=f|1;a[l+(f+d)>>2]=f;t=a[918]|0;if(t){r=a[921]|0;e=a[916]|0;if(e&1<<(t>>>3)){e=a[3704+((t>>>3<<1)+2<<2)>>2]|0;if(e>>>0<(a[920]|0)>>>0)be();else{c=3704+((t>>>3<<1)+2<<2)|0;h=e}}else{a[916]=e|1<<(t>>>3);c=3704+((t>>>3<<1)+2<<2)|0;h=3704+(t>>>3<<1<<2)|0}a[c>>2]=r;a[h+12>>2]=r;a[r+8>>2]=h;a[r+12>>2]=3704+(t>>>3<<1<<2)}a[918]=f;a[921]=s}P=l+8|0;return P|0}else f=d}else f=d}else if(e>>>0<=4294967231){u=e+11&-8;f=a[917]|0;if(f){if((e+11|0)>>>8){if(u>>>0>16777215)s=31;else{s=(e+11|0)>>>8<<((((e+11|0)>>>8)+1048320|0)>>>16&8);s=14-((s+520192|0)>>>16&4|(((e+11|0)>>>8)+1048320|0)>>>16&8|((s<<((s+520192|0)>>>16&4))+245760|0)>>>16&2)+(s<<((s+520192|0)>>>16&4)<<(((s<<((s+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;s=u>>>(s+7|0)&1|s<<1}}else s=0;e=a[3968+(s<<2)>>2]|0;e:do{if(!e){t=0-u|0;r=0;e=0;m=86}else{t=0-u|0;r=0;n=u<<((s|0)==31?0:25-(s>>>1)|0);o=e;e=0;while(1){i=a[o+4>>2]&-8;if((i-u|0)>>>0<t>>>0)if((i|0)==(u|0)){t=i-u|0;i=o;e=o;m=90;break e}else{t=i-u|0;e=o}m=a[o+20>>2]|0;o=a[o+16+(n>>>31<<2)>>2]|0;r=(m|0)==0|(m|0)==(o|0)?r:m;if(!o){m=86;break}else n=n<<1}}}while(0);if((m|0)==86){if((r|0)==0&(e|0)==0){e=2<<s;if(!((e|0-e)&f)){f=u;break}h=((e|0-e)&f&0-((e|0-e)&f))+-1|0;e=h>>>(h>>>12&16)>>>(h>>>(h>>>12&16)>>>5&8);r=e>>>(e>>>2&4)>>>(e>>>(e>>>2&4)>>>1&2);r=a[3968+((h>>>(h>>>12&16)>>>5&8|h>>>12&16|e>>>2&4|e>>>(e>>>2&4)>>>1&2|r>>>1&1)+(r>>>(r>>>1&1))<<2)>>2]|0;e=0}if(!r){f=t;l=e}else{i=r;m=90}}if((m|0)==90)while(1){m=0;h=(a[i+4>>2]&-8)-u|0;r=h>>>0<t>>>0;t=r?h:t;e=r?i:e;r=a[i+16>>2]|0;if(r){i=r;m=90;continue}i=a[i+20>>2]|0;if(!i){f=t;l=e;break}else m=90}if((l|0)!=0?f>>>0<((a[918]|0)-u|0)>>>0:0){n=a[920]|0;if(l>>>0<n>>>0)be();s=l+u|0;if(l>>>0>=s>>>0)be();o=a[l+24>>2]|0;e=a[l+12>>2]|0;do{if((e|0)==(l|0)){t=l+20|0;e=a[t>>2]|0;if(!e){t=l+16|0;e=a[t>>2]|0;if(!e){d=0;break}}while(1){r=e+20|0;i=a[r>>2]|0;if(i){e=i;t=r;continue}r=e+16|0;i=a[r>>2]|0;if(!i)break;else{e=i;t=r}}if(t>>>0<n>>>0)be();else{a[t>>2]=0;d=e;break}}else{t=a[l+8>>2]|0;if(t>>>0<n>>>0)be();if((a[t+12>>2]|0)!=(l|0))be();if((a[e+8>>2]|0)==(l|0)){a[t+12>>2]=e;a[e+8>>2]=t;d=e;break}else be()}}while(0);do{if(o){e=a[l+28>>2]|0;if((l|0)==(a[3968+(e<<2)>>2]|0)){a[3968+(e<<2)>>2]=d;if(!d){a[917]=a[917]&~(1<<e);break}}else{if(o>>>0<(a[920]|0)>>>0)be();if((a[o+16>>2]|0)==(l|0))a[o+16>>2]=d;else a[o+20>>2]=d;if(!d)break}t=a[920]|0;if(d>>>0<t>>>0)be();a[d+24>>2]=o;e=a[l+16>>2]|0;do{if(e)if(e>>>0<t>>>0)be();else{a[d+16>>2]=e;a[e+24>>2]=d;break}}while(0);e=a[l+20>>2]|0;if(e)if(e>>>0<(a[920]|0)>>>0)be();else{a[d+20>>2]=e;a[e+24>>2]=d;break}}}while(0);e:do{if(f>>>0>=16){a[l+4>>2]=u|3;a[l+(u|4)>>2]=f|1;a[l+(f+u)>>2]=f;t=f>>>3;if(f>>>0<256){e=a[916]|0;if(e&1<<t){e=a[3704+((t<<1)+2<<2)>>2]|0;if(e>>>0<(a[920]|0)>>>0)be();else{p=3704+((t<<1)+2<<2)|0;w=e}}else{a[916]=e|1<<t;p=3704+((t<<1)+2<<2)|0;w=3704+(t<<1<<2)|0}a[p>>2]=s;a[w+12>>2]=s;a[l+(u+8)>>2]=w;a[l+(u+12)>>2]=3704+(t<<1<<2);break}e=f>>>8;if(e){if(f>>>0>16777215)i=31;else{i=e<<((e+1048320|0)>>>16&8)<<(((e<<((e+1048320|0)>>>16&8))+520192|0)>>>16&4);i=14-(((e<<((e+1048320|0)>>>16&8))+520192|0)>>>16&4|(e+1048320|0)>>>16&8|(i+245760|0)>>>16&2)+(i<<((i+245760|0)>>>16&2)>>>15)|0;i=f>>>(i+7|0)&1|i<<1}}else i=0;e=3968+(i<<2)|0;a[l+(u+28)>>2]=i;a[l+(u+20)>>2]=0;a[l+(u+16)>>2]=0;t=a[917]|0;r=1<<i;if(!(t&r)){a[917]=t|r;a[e>>2]=s;a[l+(u+24)>>2]=e;a[l+(u+12)>>2]=s;a[l+(u+8)>>2]=s;break}e=a[e>>2]|0;t:do{if((a[e+4>>2]&-8|0)!=(f|0)){i=f<<((i|0)==31?0:25-(i>>>1)|0);while(1){r=e+16+(i>>>31<<2)|0;t=a[r>>2]|0;if(!t)break;if((a[t+4>>2]&-8|0)==(f|0)){_=t;break t}else{i=i<<1;e=t}}if(r>>>0<(a[920]|0)>>>0)be();else{a[r>>2]=s;a[l+(u+24)>>2]=e;a[l+(u+12)>>2]=s;a[l+(u+8)>>2]=s;break e}}else _=e}while(0);e=_+8|0;t=a[e>>2]|0;P=a[920]|0;if(t>>>0>=P>>>0&_>>>0>=P>>>0){a[t+12>>2]=s;a[e>>2]=s;a[l+(u+8)>>2]=t;a[l+(u+12)>>2]=_;a[l+(u+24)>>2]=0;break}else be()}else{P=f+u|0;a[l+4>>2]=P|3;P=l+(P+4)|0;a[P>>2]=a[P>>2]|1}}while(0);P=l+8|0;return P|0}else f=u}else f=u}else f=-1}while(0);r=a[918]|0;if(r>>>0>=f>>>0){e=r-f|0;t=a[921]|0;if(e>>>0>15){a[921]=t+f;a[918]=e;a[t+(f+4)>>2]=e|1;a[t+r>>2]=e;a[t+4>>2]=f|3}else{a[918]=0;a[921]=0;a[t+4>>2]=r|3;a[t+(r+4)>>2]=a[t+(r+4)>>2]|1}P=t+8|0;return P|0}e=a[919]|0;if(e>>>0>f>>>0){O=e-f|0;a[919]=O;P=a[922]|0;a[922]=P+f;a[P+(f+4)>>2]=O|1;a[P+4>>2]=f|3;P=P+8|0;return P|0}do{if(!(a[1034]|0)){e=me(30)|0;if(!(e+-1&e)){a[1036]=e;a[1035]=e;a[1037]=-1;a[1038]=-1;a[1039]=0;a[1027]=0;a[1034]=(we(0)|0)&-16^1431655768;break}else be()}}while(0);n=f+48|0;i=a[1036]|0;o=f+47|0;s=i+o&0-i;if(s>>>0<=f>>>0){P=0;return P|0}e=a[1026]|0;if((e|0)!=0?(_=a[1024]|0,(_+s|0)>>>0<=_>>>0|(_+s|0)>>>0>e>>>0):0){P=0;return P|0}e:do{if(!(a[1027]&4)){r=a[922]|0;t:do{if(r){e=4112;while(1){t=a[e>>2]|0;if(t>>>0<=r>>>0?(b=e+4|0,(t+(a[b>>2]|0)|0)>>>0>r>>>0):0)break;e=a[e+8>>2]|0;if(!e){m=174;break t}}t=i+o-(a[919]|0)&0-i;if(t>>>0<2147483647){r=pe(t|0)|0;_=(r|0)==((a[e>>2]|0)+(a[b>>2]|0)|0);e=_?t:0;if(_){if((r|0)!=(-1|0)){w=r;p=e;m=194;break e}}else m=184}else e=0}else m=174}while(0);do{if((m|0)==174){i=pe(0)|0;if((i|0)!=(-1|0)){e=a[1035]|0;if(!(e+-1&i))t=s;else t=s-i+(e+-1+i&0-e)|0;e=a[1024]|0;r=e+t|0;if(t>>>0>f>>>0&t>>>0<2147483647){_=a[1026]|0;if((_|0)!=0?r>>>0<=e>>>0|r>>>0>_>>>0:0){e=0;break}r=pe(t|0)|0;e=(r|0)==(i|0)?t:0;if((r|0)==(i|0)){w=i;p=e;m=194;break e}else m=184}else e=0}else e=0}}while(0);t:do{if((m|0)==184){i=0-t|0;do{if(n>>>0>t>>>0&(t>>>0<2147483647&(r|0)!=(-1|0))?(k=a[1036]|0,k=o-t+k&0-k,k>>>0<2147483647):0)if((pe(k|0)|0)==(-1|0)){pe(i|0)|0;break t}else{t=k+t|0;break}}while(0);if((r|0)!=(-1|0)){w=r;p=t;m=194;break e}}}while(0);a[1027]=a[1027]|4;m=191}else{e=0;m=191}}while(0);if((((m|0)==191?s>>>0<2147483647:0)?(v=pe(s|0)|0,y=pe(0)|0,v>>>0<y>>>0&((v|0)!=(-1|0)&(y|0)!=(-1|0))):0)?(g=(y-v|0)>>>0>(f+40|0)>>>0,g):0){w=v;p=g?y-v|0:e;m=194}if((m|0)==194){e=(a[1024]|0)+p|0;a[1024]=e;if(e>>>0>(a[1025]|0)>>>0)a[1025]=e;o=a[922]|0;e:do{if(o){n=4112;while(1){e=a[n>>2]|0;t=n+4|0;r=a[t>>2]|0;if((w|0)==(e+r|0)){m=204;break}i=a[n+8>>2]|0;if(!i)break;else n=i}if(((m|0)==204?(a[n+12>>2]&8|0)==0:0)?o>>>0<w>>>0&o>>>0>=e>>>0:0){a[t>>2]=r+p;P=(a[919]|0)+p|0;O=(o+8&7|0)==0?0:0-(o+8)&7;a[922]=o+O;a[919]=P-O;a[o+(O+4)>>2]=P-O|1;a[o+(P+4)>>2]=40;a[923]=a[1038];break}e=a[920]|0;if(w>>>0<e>>>0){a[920]=w;c=w}else c=e;t=w+p|0;e=4112;while(1){if((a[e>>2]|0)==(t|0)){m=212;break}e=a[e+8>>2]|0;if(!e){e=4112;break}}if((m|0)==212)if(!(a[e+12>>2]&8)){a[e>>2]=w;d=e+4|0;a[d>>2]=(a[d>>2]|0)+p;d=w+8|0;d=(d&7|0)==0?0:0-d&7;l=w+(p+8)|0;l=(l&7|0)==0?0:0-l&7;e=w+(l+p)|0;h=d+f|0;b=w+h|0;u=e-(w+d)-f|0;a[w+(d+4)>>2]=f|3;t:do{if((e|0)!=(o|0)){if((e|0)==(a[921]|0)){P=(a[918]|0)+u|0;a[918]=P;a[921]=b;a[w+(h+4)>>2]=P|1;a[w+(P+h)>>2]=P;break}s=p+4|0;f=a[w+(l+s)>>2]|0;if((f&3|0)==1){r:do{if(f>>>0>=256){o=a[w+((l|24)+p)>>2]|0;t=a[w+(p+12+l)>>2]|0;do{if((t|0)==(e|0)){r=w+((l|16)+s)|0;t=a[r>>2]|0;if(!t){r=w+((l|16)+p)|0;t=a[r>>2]|0;if(!t){R=0;break}}while(1){i=t+20|0;n=a[i>>2]|0;if(n){t=n;r=i;continue}i=t+16|0;n=a[i>>2]|0;if(!n)break;else{t=n;r=i}}if(r>>>0<c>>>0)be();else{a[r>>2]=0;R=t;break}}else{r=a[w+((l|8)+p)>>2]|0;if(r>>>0<c>>>0)be();if((a[r+12>>2]|0)!=(e|0))be();if((a[t+8>>2]|0)==(e|0)){a[r+12>>2]=t;a[t+8>>2]=r;R=t;break}else be()}}while(0);if(!o)break;t=a[w+(p+28+l)>>2]|0;do{if((e|0)!=(a[3968+(t<<2)>>2]|0)){if(o>>>0<(a[920]|0)>>>0)be();if((a[o+16>>2]|0)==(e|0))a[o+16>>2]=R;else a[o+20>>2]=R;if(!R)break r}else{a[3968+(t<<2)>>2]=R;if(R)break;a[917]=a[917]&~(1<<t);break r}}while(0);t=a[920]|0;if(R>>>0<t>>>0)be();a[R+24>>2]=o;e=a[w+((l|16)+p)>>2]|0;do{if(e)if(e>>>0<t>>>0)be();else{a[R+16>>2]=e;a[e+24>>2]=R;break}}while(0);e=a[w+((l|16)+s)>>2]|0;if(!e)break;if(e>>>0<(a[920]|0)>>>0)be();else{a[R+20>>2]=e;a[e+24>>2]=R;break}}else{t=a[w+((l|8)+p)>>2]|0;r=a[w+(p+12+l)>>2]|0;do{if((t|0)!=(3704+(f>>>3<<1<<2)|0)){if(t>>>0<c>>>0)be();if((a[t+12>>2]|0)==(e|0))break;be()}}while(0);if((r|0)==(t|0)){a[916]=a[916]&~(1<<(f>>>3));break}do{if((r|0)==(3704+(f>>>3<<1<<2)|0))T=r+8|0;else{if(r>>>0<c>>>0)be();if((a[r+8>>2]|0)==(e|0)){T=r+8|0;break}be()}}while(0);a[t+12>>2]=r;a[T>>2]=t}}while(0);e=w+((f&-8|l)+p)|0;n=(f&-8)+u|0}else n=u;t=e+4|0;a[t>>2]=a[t>>2]&-2;a[w+(h+4)>>2]=n|1;a[w+(n+h)>>2]=n;t=n>>>3;if(n>>>0<256){e=a[916]|0;do{if(!(e&1<<t)){a[916]=e|1<<t;C=3704+((t<<1)+2<<2)|0;O=3704+(t<<1<<2)|0}else{e=a[3704+((t<<1)+2<<2)>>2]|0;if(e>>>0>=(a[920]|0)>>>0){C=3704+((t<<1)+2<<2)|0;O=e;break}be()}}while(0);a[C>>2]=b;a[O+12>>2]=b;a[w+(h+8)>>2]=O;a[w+(h+12)>>2]=3704+(t<<1<<2);break}e=n>>>8;do{if(!e)i=0;else{if(n>>>0>16777215){i=31;break}i=e<<((e+1048320|0)>>>16&8)<<(((e<<((e+1048320|0)>>>16&8))+520192|0)>>>16&4);i=14-(((e<<((e+1048320|0)>>>16&8))+520192|0)>>>16&4|(e+1048320|0)>>>16&8|(i+245760|0)>>>16&2)+(i<<((i+245760|0)>>>16&2)>>>15)|0;i=n>>>(i+7|0)&1|i<<1}}while(0);e=3968+(i<<2)|0;a[w+(h+28)>>2]=i;a[w+(h+20)>>2]=0;a[w+(h+16)>>2]=0;t=a[917]|0;r=1<<i;if(!(t&r)){a[917]=t|r;a[e>>2]=b;a[w+(h+24)>>2]=e;a[w+(h+12)>>2]=b;a[w+(h+8)>>2]=b;break}e=a[e>>2]|0;r:do{if((a[e+4>>2]&-8|0)!=(n|0)){i=n<<((i|0)==31?0:25-(i>>>1)|0);while(1){r=e+16+(i>>>31<<2)|0;t=a[r>>2]|0;if(!t)break;if((a[t+4>>2]&-8|0)==(n|0)){P=t;break r}else{i=i<<1;e=t}}if(r>>>0<(a[920]|0)>>>0)be();else{a[r>>2]=b;a[w+(h+24)>>2]=e;a[w+(h+12)>>2]=b;a[w+(h+8)>>2]=b;break t}}else P=e}while(0);e=P+8|0;t=a[e>>2]|0;O=a[920]|0;if(t>>>0>=O>>>0&P>>>0>=O>>>0){a[t+12>>2]=b;a[e>>2]=b;a[w+(h+8)>>2]=t;a[w+(h+12)>>2]=P;a[w+(h+24)>>2]=0;break}else be()}else{P=(a[919]|0)+u|0;a[919]=P;a[922]=b;a[w+(h+4)>>2]=P|1}}while(0);P=w+(d|8)|0;return P|0}else e=4112;while(1){t=a[e>>2]|0;if(t>>>0<=o>>>0?(E=a[e+4>>2]|0,(t+E|0)>>>0>o>>>0):0)break;e=a[e+8>>2]|0}n=t+(E+-47+((t+(E+-39)&7|0)==0?0:0-(t+(E+-39))&7))|0;n=n>>>0<(o+16|0)>>>0?o:n;P=w+8|0;P=(P&7|0)==0?0:0-P&7;O=p+-40-P|0;a[922]=w+P;a[919]=O;a[w+(P+4)>>2]=O|1;a[w+(p+-36)>>2]=40;a[923]=a[1038];a[n+4>>2]=27;a[n+8>>2]=a[1028];a[n+8+4>>2]=a[1029];a[n+8+8>>2]=a[1030];a[n+8+12>>2]=a[1031];a[1028]=w;a[1029]=p;a[1031]=0;a[1030]=n+8;a[n+28>>2]=7;if((n+32|0)>>>0<(t+E|0)>>>0){e=n+28|0;do{P=e;e=e+4|0;a[e>>2]=7}while((P+8|0)>>>0<(t+E|0)>>>0)}if((n|0)!=(o|0)){a[n+4>>2]=a[n+4>>2]&-2;a[o+4>>2]=n-o|1;a[n>>2]=n-o;if((n-o|0)>>>0<256){e=a[916]|0;if(e&1<<((n-o|0)>>>3)){e=a[3704+(((n-o|0)>>>3<<1)+2<<2)>>2]|0;if(e>>>0<(a[920]|0)>>>0)be();else{A=3704+(((n-o|0)>>>3<<1)+2<<2)|0;S=e}}else{a[916]=e|1<<((n-o|0)>>>3);A=3704+(((n-o|0)>>>3<<1)+2<<2)|0;S=3704+((n-o|0)>>>3<<1<<2)|0}a[A>>2]=o;a[S+12>>2]=o;a[o+8>>2]=S;a[o+12>>2]=3704+((n-o|0)>>>3<<1<<2);break}if((n-o|0)>>>8){if((n-o|0)>>>0>16777215)i=31;else{i=(n-o|0)>>>8<<((((n-o|0)>>>8)+1048320|0)>>>16&8);i=14-((i+520192|0)>>>16&4|(((n-o|0)>>>8)+1048320|0)>>>16&8|((i<<((i+520192|0)>>>16&4))+245760|0)>>>16&2)+(i<<((i+520192|0)>>>16&4)<<(((i<<((i+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;i=(n-o|0)>>>(i+7|0)&1|i<<1}}else i=0;e=3968+(i<<2)|0;a[o+28>>2]=i;a[o+20>>2]=0;a[o+16>>2]=0;t=a[917]|0;r=1<<i;if(!(t&r)){a[917]=t|r;a[e>>2]=o;a[o+24>>2]=e;a[o+12>>2]=o;a[o+8>>2]=o;break}e=a[e>>2]|0;t:do{if((a[e+4>>2]&-8|0)!=(n-o|0)){i=n-o<<((i|0)==31?0:25-(i>>>1)|0);while(1){r=e+16+(i>>>31<<2)|0;t=a[r>>2]|0;if(!t)break;if((a[t+4>>2]&-8|0)==(n-o|0)){M=t;break t}else{i=i<<1;e=t}}if(r>>>0<(a[920]|0)>>>0)be();else{a[r>>2]=o;a[o+24>>2]=e;a[o+12>>2]=o;a[o+8>>2]=o;break e}}else M=e}while(0);e=M+8|0;t=a[e>>2]|0;P=a[920]|0;if(t>>>0>=P>>>0&M>>>0>=P>>>0){a[t+12>>2]=o;a[e>>2]=o;a[o+8>>2]=t;a[o+12>>2]=M;a[o+24>>2]=0;break}else be()}}else{P=a[920]|0;if((P|0)==0|w>>>0<P>>>0)a[920]=w;a[1028]=w;a[1029]=p;a[1031]=0;a[925]=a[1034];a[924]=-1;e=0;do{P=e<<1;a[3704+(P+3<<2)>>2]=3704+(P<<2);a[3704+(P+2<<2)>>2]=3704+(P<<2);e=e+1|0}while((e|0)!=32);P=w+8|0;P=(P&7|0)==0?0:0-P&7;O=p+-40-P|0;a[922]=w+P;a[919]=O;a[w+(P+4)>>2]=O|1;a[w+(p+-36)>>2]=40;a[923]=a[1038]}}while(0);e=a[919]|0;if(e>>>0>f>>>0){O=e-f|0;a[919]=O;P=a[922]|0;a[922]=P+f;a[P+(f+4)>>2]=O|1;a[P+4>>2]=f|3;P=P+8|0;return P|0}}if(!(a[876]|0))e=3548;else e=a[(ce()|0)+60>>2]|0;a[e>>2]=12;P=0;return P|0}function kt(e){e=e|0;var t=0,r=0,i=0,n=0,o=0,s=0,f=0,l=0,u=0,c=0,h=0,d=0,b=0,p=0,w=0,k=0,_=0,v=0,y=0;if(!e)return;f=a[920]|0;if((e+-8|0)>>>0<f>>>0)be();p=a[e+-4>>2]|0;if((p&3|0)==1)be();b=e+((p&-8)+-8)|0;do{if(!(p&1)){u=a[e+-8>>2]|0;if(!(p&3))return;c=e+(-8-u)|0;h=u+(p&-8)|0;if(c>>>0<f>>>0)be();if((c|0)==(a[921]|0)){t=a[e+((p&-8)+-4)>>2]|0;if((t&3|0)!=3){v=c;o=h;break}a[918]=h;a[e+((p&-8)+-4)>>2]=t&-2;a[e+(-8-u+4)>>2]=h|1;a[b>>2]=h;return}if(u>>>0<256){t=a[e+(-8-u+8)>>2]|0;r=a[e+(-8-u+12)>>2]|0;if((t|0)!=(3704+(u>>>3<<1<<2)|0)){if(t>>>0<f>>>0)be();if((a[t+12>>2]|0)!=(c|0))be()}if((r|0)==(t|0)){a[916]=a[916]&~(1<<(u>>>3));v=c;o=h;break}if((r|0)!=(3704+(u>>>3<<1<<2)|0)){if(r>>>0<f>>>0)be();if((a[r+8>>2]|0)!=(c|0))be();else i=r+8|0}else i=r+8|0;a[t+12>>2]=r;a[i>>2]=t;v=c;o=h;break}s=a[e+(-8-u+24)>>2]|0;t=a[e+(-8-u+12)>>2]|0;do{if((t|0)==(c|0)){t=a[e+(-8-u+20)>>2]|0;if(!t){t=a[e+(-8-u+16)>>2]|0;if(!t){l=0;break}else n=e+(-8-u+16)|0}else n=e+(-8-u+20)|0;while(1){r=t+20|0;i=a[r>>2]|0;if(i){t=i;n=r;continue}r=t+16|0;i=a[r>>2]|0;if(!i)break;else{t=i;n=r}}if(n>>>0<f>>>0)be();else{a[n>>2]=0;l=t;break}}else{r=a[e+(-8-u+8)>>2]|0;if(r>>>0<f>>>0)be();if((a[r+12>>2]|0)!=(c|0))be();if((a[t+8>>2]|0)==(c|0)){a[r+12>>2]=t;a[t+8>>2]=r;l=t;break}else be()}}while(0);if(s){t=a[e+(-8-u+28)>>2]|0;if((c|0)==(a[3968+(t<<2)>>2]|0)){a[3968+(t<<2)>>2]=l;if(!l){a[917]=a[917]&~(1<<t);v=c;o=h;break}}else{if(s>>>0<(a[920]|0)>>>0)be();if((a[s+16>>2]|0)==(c|0))a[s+16>>2]=l;else a[s+20>>2]=l;if(!l){v=c;o=h;break}}r=a[920]|0;if(l>>>0<r>>>0)be();a[l+24>>2]=s;t=a[e+(-8-u+16)>>2]|0;do{if(t)if(t>>>0<r>>>0)be();else{a[l+16>>2]=t;a[t+24>>2]=l;break}}while(0);t=a[e+(-8-u+20)>>2]|0;if(t){if(t>>>0<(a[920]|0)>>>0)be();else{a[l+20>>2]=t;a[t+24>>2]=l;v=c;o=h;break}}else{v=c;o=h}}else{v=c;o=h}}else{v=e+-8|0;o=p&-8}}while(0);if(v>>>0>=b>>>0)be();i=a[e+((p&-8)+-4)>>2]|0;if(!(i&1))be();if(!(i&2)){if((b|0)==(a[922]|0)){y=(a[919]|0)+o|0;a[919]=y;a[922]=v;a[v+4>>2]=y|1;if((v|0)!=(a[921]|0))return;a[921]=0;a[918]=0;return}if((b|0)==(a[921]|0)){y=(a[918]|0)+o|0;a[918]=y;a[921]=v;a[v+4>>2]=y|1;a[v+y>>2]=y;return}o=(i&-8)+o|0;do{if(i>>>0>=256){s=a[e+((p&-8)+16)>>2]|0;t=a[e+(p&-8|4)>>2]|0;do{if((t|0)==(b|0)){t=a[e+((p&-8)+12)>>2]|0;if(!t){t=a[e+((p&-8)+8)>>2]|0;if(!t){w=0;break}else n=e+((p&-8)+8)|0}else n=e+((p&-8)+12)|0;while(1){r=t+20|0;i=a[r>>2]|0;if(i){t=i;n=r;continue}r=t+16|0;i=a[r>>2]|0;if(!i)break;else{t=i;n=r}}if(n>>>0<(a[920]|0)>>>0)be();else{a[n>>2]=0;w=t;break}}else{r=a[e+(p&-8)>>2]|0;if(r>>>0<(a[920]|0)>>>0)be();if((a[r+12>>2]|0)!=(b|0))be();if((a[t+8>>2]|0)==(b|0)){a[r+12>>2]=t;a[t+8>>2]=r;w=t;break}else be()}}while(0);if(s){t=a[e+((p&-8)+20)>>2]|0;if((b|0)==(a[3968+(t<<2)>>2]|0)){a[3968+(t<<2)>>2]=w;if(!w){a[917]=a[917]&~(1<<t);break}}else{if(s>>>0<(a[920]|0)>>>0)be();if((a[s+16>>2]|0)==(b|0))a[s+16>>2]=w;else a[s+20>>2]=w;if(!w)break}r=a[920]|0;if(w>>>0<r>>>0)be();a[w+24>>2]=s;t=a[e+((p&-8)+8)>>2]|0;do{if(t)if(t>>>0<r>>>0)be();else{a[w+16>>2]=t;a[t+24>>2]=w;break}}while(0);t=a[e+((p&-8)+12)>>2]|0;if(t)if(t>>>0<(a[920]|0)>>>0)be();else{a[w+20>>2]=t;a[t+24>>2]=w;break}}}else{r=a[e+(p&-8)>>2]|0;t=a[e+(p&-8|4)>>2]|0;if((r|0)!=(3704+(i>>>3<<1<<2)|0)){if(r>>>0<(a[920]|0)>>>0)be();if((a[r+12>>2]|0)!=(b|0))be()}if((t|0)==(r|0)){a[916]=a[916]&~(1<<(i>>>3));break}if((t|0)!=(3704+(i>>>3<<1<<2)|0)){if(t>>>0<(a[920]|0)>>>0)be();if((a[t+8>>2]|0)!=(b|0))be();else d=t+8|0}else d=t+8|0;a[r+12>>2]=t;a[d>>2]=r}}while(0);a[v+4>>2]=o|1;a[v+o>>2]=o;if((v|0)==(a[921]|0)){a[918]=o;return}}else{a[e+((p&-8)+-4)>>2]=i&-2;a[v+4>>2]=o|1;a[v+o>>2]=o}r=o>>>3;if(o>>>0<256){t=a[916]|0;if(t&1<<r){t=a[3704+((r<<1)+2<<2)>>2]|0;if(t>>>0<(a[920]|0)>>>0)be();else{k=3704+((r<<1)+2<<2)|0;_=t}}else{a[916]=t|1<<r;k=3704+((r<<1)+2<<2)|0;_=3704+(r<<1<<2)|0}a[k>>2]=v;a[_+12>>2]=v;a[v+8>>2]=_;a[v+12>>2]=3704+(r<<1<<2);return}t=o>>>8;if(t){if(o>>>0>16777215)n=31;else{n=t<<((t+1048320|0)>>>16&8)<<(((t<<((t+1048320|0)>>>16&8))+520192|0)>>>16&4);n=14-(((t<<((t+1048320|0)>>>16&8))+520192|0)>>>16&4|(t+1048320|0)>>>16&8|(n+245760|0)>>>16&2)+(n<<((n+245760|0)>>>16&2)>>>15)|0;n=o>>>(n+7|0)&1|n<<1}}else n=0;t=3968+(n<<2)|0;a[v+28>>2]=n;a[v+20>>2]=0;a[v+16>>2]=0;r=a[917]|0;i=1<<n;e:do{if(r&i){t=a[t>>2]|0;t:do{if((a[t+4>>2]&-8|0)!=(o|0)){n=o<<((n|0)==31?0:25-(n>>>1)|0);while(1){i=t+16+(n>>>31<<2)|0;r=a[i>>2]|0;if(!r)break;if((a[r+4>>2]&-8|0)==(o|0)){y=r;break t}else{n=n<<1;t=r}}if(i>>>0<(a[920]|0)>>>0)be();else{a[i>>2]=v;a[v+24>>2]=t;a[v+12>>2]=v;a[v+8>>2]=v;break e}}else y=t}while(0);t=y+8|0;r=a[t>>2]|0;_=a[920]|0;if(r>>>0>=_>>>0&y>>>0>=_>>>0){a[r+12>>2]=v;a[t>>2]=v;a[v+8>>2]=r;a[v+12>>2]=y;a[v+24>>2]=0;break}else be()}else{a[917]=r|i;a[t>>2]=v;a[v+24>>2]=t;a[v+12>>2]=v;a[v+8>>2]=v}}while(0);y=(a[924]|0)+-1|0;a[924]=y;if(!y)t=4120;else return;while(1){t=a[t>>2]|0;if(!t)break;else t=t+8|0}a[924]=-1;return}function _t(){}function vt(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,o=0,s=0;n=e+r|0;if((r|0)>=20){t=t&255;o=e&3;s=t|t<<8|t<<16|t<<24;if(o){o=e+4-o|0;while((e|0)<(o|0)){i[e>>0]=t;e=e+1|0}}while((e|0)<(n&~3|0)){a[e>>2]=s;e=e+4|0}}while((e|0)<(n|0)){i[e>>0]=t;e=e+1|0}return e-r|0}function yt(e,t,r){e=e|0;t=t|0;r=r|0;var n=0;if((r|0)>=4096)return _e(e|0,t|0,r|0)|0;n=e|0;if((e&3)==(t&3)){while(e&3){if(!r)return n|0;i[e>>0]=i[t>>0]|0;e=e+1|0;t=t+1|0;r=r-1|0}while((r|0)>=4){a[e>>2]=a[t>>2];e=e+4|0;t=t+4|0;r=r-4|0}}while((r|0)>0){i[e>>0]=i[t>>0]|0;e=e+1|0;t=t+1|0;r=r-1|0}return n|0}function gt(e,t){e=e|0;t=t|0;return It[e&1](t|0)|0}function mt(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;return Ut[e&3](t|0,r|0,i|0)|0}function Et(e,t,r,i,n,a){e=e|0;t=t|0;r=r|0;i=i|0;n=n|0;a=a|0;Dt[e&3](t|0,r|0,i|0,n|0,a|0)}function At(e,t){e=e|0;t=t|0;xt[e&1](t|0)}function St(e){e=e|0;ie(0);return 0}function Tt(e,t,r){e=e|0;t=t|0;r=r|0;ie(1);return 0}function Mt(e,t,r,i,n){e=e|0;t=t|0;r=r|0;i=i|0;n=n|0;ie(2)}function Rt(e){e=e|0;ie(3)}function Ct(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,n=0,o=0,s=0,f=0,l=0,u=0,c=0,h=0;c=a[t+4>>2]|0;h=a[t+8>>2]|0;switch(r|0){case 0:case 5:{i=3;break}default:if(!(a[e+3384>>2]|0))u=0;else i=3}if((i|0)==3){n=a[e+1224>>2]|0;o=0;do{i=a[n+(o<<2)>>2]|0;if((i|0)!=0?(a[i+20>>2]|0)>>>0>1:0)i=a[i>>2]|0;else i=0;o=o+1|0}while(o>>>0<16&(i|0)==0);u=i}f=a[e+1176>>2]|0;e:do{if(!f){n=0;o=0;i=0}else{s=a[e+1212>>2]|0;n=0;o=0;i=0;do{if(a[s+(o*216|0)+196>>2]|0)break e;o=o+1|0;n=n+1|0;i=((n|0)==(c|0)&1)+i|0;n=(n|0)==(c|0)?0:n}while(o>>>0<f>>>0)}}while(0);if((o|0)==(f|0)){switch(r|0){case 2:case 7:{if((u|0)==0|(a[e+3384>>2]|0)==0)i=16;else i=17;break}default:if(!u)i=16;else i=17}if((i|0)==16)vt(a[t>>2]|0,-128,ee(c*384|0,h)|0)|0;else if((i|0)==17)yt(a[t>>2]|0,u|0,ee(c*384|0,h)|0)|0;o=a[e+1176>>2]|0;a[e+1204>>2]=o;if(!o)return;i=a[e+1212>>2]|0;n=0;do{a[i+(n*216|0)+8>>2]=1;n=n+1|0}while((n|0)!=(o|0));return}s=a[e+1212>>2]|0;f=ee(i,c)|0;if(n){o=n;do{o=o+-1|0;l=o+f|0;Ot(s+(l*216|0)|0,t,i,o,r,u);a[s+(l*216|0)+196>>2]=1;a[e+1204>>2]=(a[e+1204>>2]|0)+1}while((o|0)!=0)}n=n+1|0;if(n>>>0<c>>>0)do{o=n+f|0;if(!(a[s+(o*216|0)+196>>2]|0)){Ot(s+(o*216|0)|0,t,i,n,r,u);a[s+(o*216|0)+196>>2]=1;a[e+1204>>2]=(a[e+1204>>2]|0)+1}n=n+1|0}while((n|0)!=(c|0));if(i){if(c){n=i+-1|0;o=ee(n,c)|0;f=0;do{s=n;l=(a[e+1212>>2]|0)+((f+o|0)*216|0)|0;while(1){Ot(l,t,s,f,r,u);a[l+196>>2]=1;a[e+1204>>2]=(a[e+1204>>2]|0)+1;if(!s)break;else{s=s+-1|0;l=l+((0-c|0)*216|0)|0}}f=f+1|0}while((f|0)!=(c|0))}}else i=0;i=i+1|0;if(i>>>0>=h>>>0)return;if(!c)return;do{s=a[e+1212>>2]|0;o=ee(i,c)|0;f=0;do{n=f+o|0;if(!(a[s+(n*216|0)+196>>2]|0)){Ot(s+(n*216|0)|0,t,i,f,r,u);a[s+(n*216|0)+196>>2]=1;a[e+1204>>2]=(a[e+1204>>2]|0)+1}f=f+1|0}while((f|0)!=(c|0));i=i+1|0}while((i|0)!=(h|0));return}function Ot(e,t,r,n,s,f){e=e|0;t=t|0;r=r|0;n=n|0;s=s|0;f=f|0;var l=0,u=0,h=0,d=0,b=0,p=0,w=0,k=0,_=0,v=0,y=0,g=0,m=0,E=0,A=0,S=0,T=0,M=0,R=0,C=0,O=0,P=0,I=0,U=0,D=0,x=0,N=0,L=0,B=0,F=0,H=0,j=0,Y=0,G=0;G=c;c=c+480|0;j=a[t+4>>2]|0;l=a[t+8>>2]|0;d=(ee(j,r)|0)+n|0;Y=ee(l,j)|0;k=a[t>>2]|0;a[t+12>>2]=k+((d-((d>>>0)%(j>>>0)|0)<<8)+(((d>>>0)%(j>>>0)|0)<<4));d=(((d>>>0)%(j>>>0)|0)<<3)+(Y<<8)+(d-((d>>>0)%(j>>>0)|0)<<6)|0;a[t+16>>2]=k+d;a[t+20>>2]=k+(d+(Y<<6));d=(ee(r<<8,j)|0)+(n<<4)|0;a[e+20>>2]=40;a[e+8>>2]=0;a[e>>2]=6;a[e+12>>2]=0;a[e+16>>2]=0;a[e+24>>2]=0;e:do{switch(s|0){case 2:case 7:{vt(G+96|0,0,384)|0;break}default:{a[G+24>>2]=0;a[G+4>>2]=j;a[G+8>>2]=l;a[G>>2]=f;if(!f){vt(G+96|0,0,384)|0;break e}Ke(G+96|0,G+24|0,G,n<<4,r<<4,0,0,16,16);Ze(t,G+96|0);c=G;return}}}while(0);f=G+32|0;s=f+64|0;do{a[f>>2]=0;f=f+4|0}while((f|0)<(s|0));if((r|0)!=0?(a[e+((0-j|0)*216|0)+196>>2]|0)!=0:0){S=d-(j<<4)|3;m=(o[k+(d-(j<<4)|1)>>0]|0)+(o[k+(d-(j<<4))>>0]|0)+(o[k+((d-(j<<4)|1)+1)>>0]|0)+(o[k+S>>0]|0)|0;R=d-(j<<4)|7;S=(o[k+(S+2)>>0]|0)+(o[k+(S+1)>>0]|0)+(o[k+(S+3)>>0]|0)+(o[k+R>>0]|0)|0;T=(o[k+(R+2)>>0]|0)+(o[k+(R+1)>>0]|0)+(o[k+(R+3)>>0]|0)+(o[k+(R+4)>>0]|0)|0;R=(o[k+(R+6)>>0]|0)+(o[k+(R+5)>>0]|0)+(o[k+(R+7)>>0]|0)+(o[k+(d-(j<<4)|15)>>0]|0)|0;a[G+32>>2]=T+(S+m)+R;a[G+32+4>>2]=S+m-T-R;f=T+(S+m)+R|0;s=S+m-T-R|0;A=1}else{f=0;s=0;m=0;S=0;T=0;R=0;A=0}if((l+-1|0)!=(r|0)?(a[e+(j*216|0)+196>>2]|0)!=0:0){M=d+(j<<8)|3;y=(o[k+(d+(j<<8)|1)>>0]|0)+(o[k+(d+(j<<8))>>0]|0)+(o[k+((d+(j<<8)|1)+1)>>0]|0)+(o[k+M>>0]|0)|0;O=d+(j<<8)|7;M=(o[k+(M+2)>>0]|0)+(o[k+(M+1)>>0]|0)+(o[k+(M+3)>>0]|0)+(o[k+O>>0]|0)|0;C=(o[k+(O+2)>>0]|0)+(o[k+(O+1)>>0]|0)+(o[k+(O+3)>>0]|0)+(o[k+(O+4)>>0]|0)|0;O=(o[k+(O+6)>>0]|0)+(o[k+(O+5)>>0]|0)+(o[k+(O+7)>>0]|0)+(o[k+(d+(j<<8)|15)>>0]|0)|0;f=C+(M+y)+f+O|0;a[G+32>>2]=f;s=M+y-C-O+s|0;a[G+32+4>>2]=s;E=1;_=A+1|0}else{E=0;y=0;M=0;C=0;O=0;_=A}if((n|0)!=0?(a[e+-20>>2]|0)!=0:0){g=(o[k+(d+-1+(j<<4))>>0]|0)+(o[k+(d+-1)>>0]|0)+(o[k+(d+-1+(j<<5))>>0]|0)+(o[k+(d+-1+(j*48|0))>>0]|0)|0;D=d+-1+(j<<6)|0;P=(o[k+(D+(j<<4))>>0]|0)+(o[k+D>>0]|0)+(o[k+(D+(j<<5))>>0]|0)+(o[k+(D+(j*48|0))>>0]|0)|0;I=(o[k+(D+(j<<6)+(j<<4))>>0]|0)+(o[k+(D+(j<<6))>>0]|0)+(o[k+(D+(j<<6)+(j<<5))>>0]|0)+(o[k+(D+(j<<6)+(j*48|0))>>0]|0)|0;D=D+(j<<6)+(j<<6)|0;D=(o[k+(D+(j<<4))>>0]|0)+(o[k+D>>0]|0)+(o[k+(D+(j<<5))>>0]|0)+(o[k+(D+(j*48|0))>>0]|0)|0;f=I+(P+g)+f+D|0;a[G+32>>2]=f;a[G+32+16>>2]=P+g-I-D;u=P+g-I-D|0;h=_+1|0;v=1}else{u=0;h=_;g=0;P=0;I=0;D=0;v=0}do{if((j+-1|0)!=(n|0)?(a[e+412>>2]|0)!=0:0){w=(o[k+(d+16+(j<<4))>>0]|0)+(o[k+(d+16)>>0]|0)+(o[k+(d+16+(j<<5))>>0]|0)+(o[k+(d+16+(j*48|0))>>0]|0)|0;d=d+16+(j<<6)|0;b=(o[k+(d+(j<<4))>>0]|0)+(o[k+d>>0]|0)+(o[k+(d+(j<<5))>>0]|0)+(o[k+(d+(j*48|0))>>0]|0)|0;p=(o[k+(d+(j<<6)+(j<<4))>>0]|0)+(o[k+(d+(j<<6))>>0]|0)+(o[k+(d+(j<<6)+(j<<5))>>0]|0)+(o[k+(d+(j<<6)+(j*48|0))>>0]|0)|0;d=d+(j<<6)+(j<<6)|0;d=(o[k+(d+(j<<4))>>0]|0)+(o[k+d>>0]|0)+(o[k+(d+(j<<5))>>0]|0)+(o[k+(d+(j*48|0))>>0]|0)|0;k=h+1|0;l=v+1|0;f=p+(b+w)+f+d|0;a[G+32>>2]=f;u=b+w-p-d+u|0;a[G+32+16>>2]=u;e=(_|0)==0;h=(v|0)!=0;if(!(e&h)){if(!e){e=h;d=1;h=k;k=21;break}}else a[G+32+4>>2]=I+D+P+g-w-b-p-d>>5;p=G+32+16|0;b=h;h=(A|0)!=0;d=(E|0)!=0;e=1;s=k;k=27}else k=17}while(0);if((k|0)==17){l=(v|0)!=0;if(!_){b=l;w=0;s=h;l=v;k=23}else{e=l;d=0;l=v;k=21}}if((k|0)==21){a[G+32+4>>2]=s>>_+3;b=e;w=d;s=h;k=23}do{if((k|0)==23){e=(l|0)==0;h=(A|0)!=0;d=(E|0)!=0;if(d&(h&e)){a[G+32+16>>2]=T+R+S+m-O-C-M-y>>5;H=b;h=1;d=1;F=w;break}if(e){H=b;F=w}else{p=G+32+16|0;e=w;k=27}}}while(0);if((k|0)==27){a[p>>2]=u>>l+3;H=b;F=e}switch(s|0){case 1:{l=f>>4;a[G+32>>2]=l;break}case 2:{l=f>>5;a[G+32>>2]=l;break}case 3:{l=f*21>>10;a[G+32>>2]=l;break}default:{l=f>>6;a[G+32>>2]=l}}L=G+32+4|0;f=a[L>>2]|0;B=G+32+16|0;s=a[B>>2]|0;if(!(s|f)){a[G+32+60>>2]=l;a[G+32+56>>2]=l;a[G+32+52>>2]=l;a[G+32+48>>2]=l;a[G+32+44>>2]=l;a[G+32+40>>2]=l;a[G+32+36>>2]=l;a[G+32+32>>2]=l;a[G+32+28>>2]=l;a[G+32+24>>2]=l;a[G+32+20>>2]=l;a[B>>2]=l;a[G+32+12>>2]=l;a[G+32+8>>2]=l;a[L>>2]=l;s=0;l=G+96|0;e=G+32|0}else{x=f+l|0;N=(f>>1)+l|0;e=l-(f>>1)|0;l=l-f|0;a[G+32>>2]=x+s;a[B>>2]=(s>>1)+x;a[G+32+32>>2]=x-(s>>1);a[G+32+48>>2]=x-s;a[L>>2]=N+s;a[G+32+20>>2]=N+(s>>1);a[G+32+36>>2]=N-(s>>1);a[G+32+52>>2]=N-s;a[G+32+8>>2]=e+s;a[G+32+24>>2]=e+(s>>1);a[G+32+40>>2]=e-(s>>1);a[G+32+56>>2]=e-s;a[G+32+12>>2]=l+s;a[G+32+28>>2]=(s>>1)+l;a[G+32+44>>2]=l-(s>>1);a[G+32+60>>2]=l-s;s=0;l=G+96|0;e=G+32|0}while(1){f=a[e+((s>>>2&3)<<2)>>2]|0;i[l>>0]=(f|0)<0?0:(f|0)>255?-1:f&255;f=s+1|0;if((f|0)==256)break;else{s=f;l=l+1|0;e=(f&63|0)==0?e+16|0:e}}N=0-(j<<3)|3;x=(j<<4)+-1+(j<<4)|0;v=S;e=T;l=R;k=M;b=C;u=O;U=0;_=P;w=I;p=D;I=(a[t>>2]|0)+((ee(r<<6,j)|0)+(n<<3)+(Y<<8))|0;while(1){f=G+32|0;s=f+64|0;do{a[f>>2]=0;f=f+4|0}while((f|0)<(s|0));if(h){m=(o[I+(0-(j<<3)|1)>>0]|0)+(o[I+(0-(j<<3))>>0]|0)|0;C=(o[I+N>>0]|0)+(o[I+((0-(j<<3)|1)+1)>>0]|0)|0;O=(o[I+(N+2)>>0]|0)+(o[I+(N+1)>>0]|0)|0;P=(o[I+(0-(j<<3)|7)>>0]|0)+(o[I+(N+3)>>0]|0)|0;a[G+32>>2]=O+(C+m)+P;a[L>>2]=C+m-O-P;f=O+(C+m)+P|0;s=C+m-O-P|0;e=1}else{f=0;s=0;C=v;O=e;P=l;e=0}if(d){y=(o[I+(j<<6|1)>>0]|0)+(o[I+(j<<6)>>0]|0)|0;T=(o[I+(j<<6|3)>>0]|0)+(o[I+((j<<6|1)+1)>>0]|0)|0;M=(o[I+((j<<6|3)+2)>>0]|0)+(o[I+((j<<6|3)+1)>>0]|0)|0;R=(o[I+(j<<6|7)>>0]|0)+(o[I+((j<<6|3)+3)>>0]|0)|0;f=M+(T+y)+f+R|0;a[G+32>>2]=f;l=T+y-M-R+s|0;a[L>>2]=l;e=e+1|0}else{l=s;T=k;M=b;R=u}if(H){g=(o[I+((j<<3)+-1)>>0]|0)+(o[I+-1>>0]|0)|0;E=(o[I+((j<<4)+-1+(j<<3))>>0]|0)+(o[I+((j<<4)+-1)>>0]|0)|0;A=(o[I+(x+(j<<3))>>0]|0)+(o[I+x>>0]|0)|0;S=(o[I+(x+(j<<4)+(j<<3))>>0]|0)+(o[I+(x+(j<<4))>>0]|0)|0;b=A+(E+g)+f+S|0;a[G+32>>2]=b;a[B>>2]=E+g-A-S;u=E+g-A-S|0;f=e+1|0;s=1}else{b=f;u=0;f=e;E=_;A=w;S=p;s=0}do{if(F){p=(o[I+((j<<3)+8)>>0]|0)+(o[I+8>>0]|0)|0;w=(o[I+((j<<4|8)+(j<<3))>>0]|0)+(o[I+(j<<4|8)>>0]|0)|0;k=(o[I+((j<<4|8)+(j<<4)+(j<<3))>>0]|0)+(o[I+((j<<4|8)+(j<<4))>>0]|0)|0;_=(o[I+((j<<4|8)+(j<<4)+(j<<4)+(j<<3))>>0]|0)+(o[I+((j<<4|8)+(j<<4)+(j<<4))>>0]|0)|0;f=f+1|0;s=s+1|0;v=k+(w+p)+b+_|0;a[G+32>>2]=v;u=w+p-k-_+u|0;a[B>>2]=u;b=(e|0)==0;if(!(H&b)){if(b){e=v;k=53;break}else{b=v;k=49;break}}else{l=A+S+E+g-p-w-k-_>>4;a[L>>2]=l;e=v;k=53;break}}else if(!e){p=l;e=b;k=50}else k=49}while(0);if((k|0)==49){p=l>>e+2;a[L>>2]=p;e=b;k=50}do{if((k|0)==50){k=0;l=(s|0)==0;if(!(d&(h&l))){if(l){l=p;s=u;break}else{l=p;k=53;break}}else{s=O+P+C+m-R-M-T-y>>4;a[B>>2]=s;l=p;break}}}while(0);if((k|0)==53){s=u>>s+2;a[B>>2]=s}switch(f|0){case 1:{f=e>>3;a[G+32>>2]=f;break}case 2:{f=e>>4;a[G+32>>2]=f;break}case 3:{f=e*21>>9;a[G+32>>2]=f;break}default:{f=e>>5;a[G+32>>2]=f}}if(!(s|l)){a[G+32+60>>2]=f;a[G+32+56>>2]=f;a[G+32+52>>2]=f;a[G+32+48>>2]=f;a[G+32+44>>2]=f;a[G+32+40>>2]=f;a[G+32+36>>2]=f;a[G+32+32>>2]=f;a[G+32+28>>2]=f;a[G+32+24>>2]=f;a[G+32+20>>2]=f;a[B>>2]=f;a[G+32+12>>2]=f;a[G+32+8>>2]=f;a[L>>2]=f}else{_=l+f|0;D=l>>1;v=D+f|0;D=f-D|0;r=f-l|0;a[G+32>>2]=_+s;n=s>>1;a[B>>2]=n+_;a[G+32+32>>2]=_-n;a[G+32+48>>2]=_-s;a[L>>2]=v+s;a[G+32+20>>2]=v+n;a[G+32+36>>2]=v-n;a[G+32+52>>2]=v-s;a[G+32+8>>2]=D+s;a[G+32+24>>2]=D+n;a[G+32+40>>2]=D-n;a[G+32+56>>2]=D-s;a[G+32+12>>2]=r+s;a[G+32+28>>2]=n+r;a[G+32+44>>2]=r-n;a[G+32+60>>2]=r-s}s=0;l=G+96+((U<<6)+256)|0;e=G+32|0;while(1){f=a[e+((s>>>1&3)<<2)>>2]|0;i[l>>0]=(f|0)<0?0:(f|0)>255?-1:f&255;f=s+1|0;if((f|0)==64)break;else{s=f;l=l+1|0;e=(f&15|0)==0?e+16|0:e}}U=U+1|0;if((U|0)==2)break;else{v=C;e=O;l=P;k=T;b=M;u=R;_=E;w=A;p=S;I=I+(Y<<6)|0}}Ze(t,G+96|0);c=G;return}function Pt(e,t){e=e|0;t=t|0;var r=0,i=0,n=0;r=Be(e,t)|0;if(r){t=r;return t|0}n=(a[t>>2]|0)+1|0;a[t>>2]=n;if(n>>>0>32){t=1;return t|0}r=Le(e,4)|0;if((r|0)==-1){t=1;return t|0}a[t+4>>2]=r;r=Le(e,4)|0;if((r|0)==-1){t=1;return t|0}a[t+8>>2]=r;e:do{if(a[t>>2]|0){n=0;while(1){i=t+12+(n<<2)|0;r=Be(e,i)|0;if(r){i=17;break}r=a[i>>2]|0;if((r|0)==-1){r=1;i=17;break}a[i>>2]=r+1;a[i>>2]=r+1<<(a[t+4>>2]|0)+6;i=t+140+(n<<2)|0;r=Be(e,i)|0;if(r){i=17;break}r=a[i>>2]|0;if((r|0)==-1){r=1;i=17;break}a[i>>2]=r+1;a[i>>2]=r+1<<(a[t+8>>2]|0)+4;r=Le(e,1)|0;if((r|0)==-1){r=1;i=17;break}a[t+268+(n<<2)>>2]=(r|0)==1&1;n=n+1|0;if(n>>>0>=(a[t>>2]|0)>>>0)break e}if((i|0)==17)return r|0}}while(0);r=Le(e,5)|0;if((r|0)==-1){t=1;return t|0}a[t+396>>2]=r+1;r=Le(e,5)|0;if((r|0)==-1){t=1;return t|0}a[t+400>>2]=r+1;r=Le(e,5)|0;if((r|0)==-1){t=1;return t|0}a[t+404>>2]=r+1;r=Le(e,5)|0;if((r|0)==-1){t=1;return t|0}a[t+408>>2]=r;t=0;return t|0}var It=[St,dt];var Ut=[Tt,ht,bt,ct];var Dt=[Mt,Xe,ze,Mt];var xt=[Rt,pt];return{_free:kt,_broadwayGetMajorVersion:lt,_broadwayExit:ft,_memset:vt,_broadwayCreateStream:at,_malloc:wt,_memcpy:yt,_broadwayGetMinorVersion:ut,_broadwayPlayStream:ot,_broadwayInit:st,runPostSets:_t,stackAlloc:Se,stackSave:Te,stackRestore:Me,establishStackSpace:Re,setThrew:Ce,setTempRet0:Ie,getTempRet0:Ue,dynCall_ii:gt,dynCall_iiii:mt,dynCall_viiiii:Et,dynCall_vi:At}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,_broadwayGetMajorVersion=Module._broadwayGetMajorVersion=asm._broadwayGetMajorVersion,_broadwayExit=Module._broadwayExit=asm._broadwayExit,_broadwayGetMinorVersion=Module._broadwayGetMinorVersion=asm._broadwayGetMinorVersion,_memset=Module._memset=asm._memset,_broadwayCreateStream=Module._broadwayCreateStream=asm._broadwayCreateStream,_malloc=Module._malloc=asm._malloc,_memcpy=Module._memcpy=asm._memcpy,_broadwayPlayStream=Module._broadwayPlayStream=asm._broadwayPlayStream,_broadwayInit=Module._broadwayInit=asm._broadwayInit,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi;Runtime.stackAlloc=asm.stackAlloc,Runtime.stackSave=asm.stackSave,Runtime.stackRestore=asm.stackRestore,Runtime.establishStackSpace=asm.establishStackSpace,Runtime.setTempRet0=asm.setTempRet0,Runtime.getTempRet0=asm.getTempRet0,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){function t(){for(var e=0;e<3;e++)i.push(0)}assert(0==runDependencies,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),assert(0==__ATPRERUN__.length,"cannot call main when preRun functions remain to be called"),e=e||[],ensureInitRuntime();var r=e.length+1,i=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];t();for(var n=0;n<r-1;n+=1)i.push(allocate(intArrayFromString(e[n]),"i8",ALLOC_NORMAL)),t();i.push(0),i=allocate(i,"i32",ALLOC_NORMAL);try{exit(Module._main(r,i,0),!0)}catch(e){if(e instanceof ExitStatus)return;if("SimulateInfiniteLoop"==e)return void(Module.noExitRuntime=!0);throw e&&"object"===(void 0===e?"undefined":_typeof(e))&&e.stack&&Module.printErr("exception thrown: "+[e,e.stack]),e}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=!1;return Module.noInitialRun&&(shouldRunNow=!1),Module.noExitRuntime=!0,run(),Module}(),resultModule=global.Module||Module;return resultModule._broadwayOnHeadersDecoded=par_broadwayOnHeadersDecoded,resultModule._broadwayOnPictureDecoded=par_broadwayOnPictureDecoded,resultModule};return function(){function e(e,t,r){"use asm";var i=e.Math.imul;var n=e.Math.min;var a=e.Math.max;var o=e.Math.pow;var s=new e.Uint8Array(r);var f=new e.Uint32Array(r);var l=new e.Uint8Array(r);var u=new e.Uint8Array(r);var c=new e.Uint32Array(r);var h=0;var d=0;var b=0;var p=0;var w=0;var k=0;var _=0;var v=0;var y=0;var g=0;function m(e,t){e=e|0;t=t|0;var r=0;var n=0;h=e;y=i(e,4)|0;d=t;b=i(h|0,d|0)|0;p=(b|0)>>2;k=i(i(h,d)|0,4)|0;w=b+p|0+p|0;v=0;_=v+k|0;g=_+w|0;n=~~+o(+2,+24);n=i(n,4)|0;for(r=0|0;(r|0)<(n|0)|0;r=r+4|0){c[(g+r|0)>>2]=0}}function E(){var e=0;var t=0;var r=0;var i=0;var n=0;var a=0;var o=0;var s=0;var f=0;var u=0;var w=0;var k=0;var m=0;var E=0;m=v|0;e=_|0;t=e+b|0|0;r=t+p|0;for(f=0;(f|0)<(d|0);f=f+2|0){w=t;k=r;for(u=0;(u|0)<(h|0);u=u+2|0){i=l[e>>0]|0;n=l[(e+h|0)>>0]|0;a=l[t>>0]|0;o=l[r>>0]|0;E=((i<<16|0)+(a<<8|0)|0)+o|0;s=c[(g+E|0)>>2]|0;if(s){}else{s=A(i,a,o)|0;c[(g+E|0)>>2]=s|0}c[m>>2]=s;E=((n<<16|0)+(a<<8|0)|0)+o|0;s=c[(g+E|0)>>2]|0;if(s){}else{s=A(n,a,o)|0;c[(g+E|0)>>2]=s|0}c[(m+y|0)>>2]=s;m=m+4|0;e=e+1|0;i=l[e>>0]|0;n=l[(e+h|0)>>0]|0;E=((i<<16|0)+(a<<8|0)|0)+o|0;s=c[(g+E|0)>>2]|0;if(s){}else{s=A(i,a,o)|0;c[(g+E|0)>>2]=s|0}c[m>>2]=s;E=((n<<16|0)+(a<<8|0)|0)+o|0;s=c[(g+E|0)>>2]|0;if(s){}else{s=A(n,a,o)|0;c[(g+E|0)>>2]=s|0}c[(m+y|0)>>2]=s;m=m+4|0;e=e+1|0;t=t+1|0;r=r+1|0}m=m+y|0;e=e+h|0}}function A(e,t,r){e=e|0;t=t|0;r=r|0;var o=0;var s=0;var f=0;var l=0;var u=0;var c=0;var h=0;var d=0;var b=0;u=i(1192,e-16|0)|0;c=i(1634,r-128|0)|0;h=i(832,r-128|0)|0;d=i(400,t-128|0)|0;b=i(2066,t-128|0)|0;o=(u+c|0)>>10|0;s=((u-h|0)-d|0)>>10|0;f=(u+b|0)>>10|0;if((o&255|0)!=(o|0)|0){o=n(255,a(0,o|0)|0)|0}if((s&255|0)!=(s|0)|0){s=n(255,a(0,s|0)|0)|0}if((f&255|0)!=(f|0)|0){f=n(255,a(0,f|0)|0)|0}l=255;l=l<<8|0;l=l+f|0;l=l<<8|0;l=l+s|0;l=l<<8|0;l=l+o|0;return l|0}return{init:m,doit:E}}var t=function(){return(new Date).getTime()};"undefined"!=typeof performance&&performance.now&&(t=function(){return performance.now()});var r=function(e){function r(e,t){return l.subarray(e,e+t)}function i(e,t){return new Uint32Array(l.buffer,e,t)}this.options=e||{},this.now=t;var a,o={},s=function(e,i,o){var s=this.pictureBuffers[e];s||(s=this.pictureBuffers[e]=r(e,i*o*3/2));var f,l=!1;if(this.infoAr.length&&(l=!0,f=this.infoAr),this.infoAr=[],this.options.rgb){a||(a=n(i,o)),a.inp.set(s),a.doit();var u=new Uint8Array(a.outSize);return u.set(a.out),l&&(f[0].finishDecoding=t()),void this.onPictureDecoded(u,i,o,f)}l&&(f[0].finishDecoding=t()),this.onPictureDecoded(s,i,o,f)}.bind(this);this.options.sliceMode&&(s=function(e,n,a,o){var s=this.pictureBuffers[e];s||(s=this.pictureBuffers[e]=r(e,n*a*3/2));var f=this.pictureBuffers[o];f||(f=this.pictureBuffers[o]=i(o,18));var l;this.infoAr.length&&(!0,l=this.infoAr),this.infoAr=[],l[0].finishDecoding=t();for(var u=[],c=0;c<20;++c)u.push(f[c]);l[0].sliceInfoAr=u,this.onPictureDecoded(s,n,a,l)}.bind(this));var f=getModule.apply(o,[function(){},s]),l=(f.HEAP8,f.HEAPU8);f.HEAP16,f.HEAP32;f._broadwayInit(),this.streamBuffer=r(f._broadwayCreateStream(1048576),1048576),this.pictureBuffers={},this.infoAr=[],this.onPictureDecoded=function(e,t,r,i){};var u=0;this.options.sliceMode?(u=this.options.sliceNum,this.decode=function(e,r,i){this.infoAr.push(r),r.startDecoding=t();var n,a=r.nals;if(!a){a=[],r.nals=a;var o=e.length,s=!1,l=0,c=0;for(n=0;n<o;++n)if(1===e[n]&&0===e[n-1]&&0===e[n-2]){var h=n-2;0===e[n-3]&&(h=n-3),s&&a.push({offset:l,end:h,type:31&e[c]}),l=h,c=h+3,0===e[n-3]&&(c=h+4),s=!0}s&&a.push({offset:l,end:n,type:31&e[c]})}var d,b=0,p=0;for(n=0;n<a.length;++n)1===a[n].type||5===a[n].type?(b===u&&(d=e.subarray(a[n].offset,a[n].end),this.streamBuffer[p]=0,p+=1,this.streamBuffer.set(d,p),p+=d.length),b+=1):(d=e.subarray(a[n].offset,a[n].end),this.streamBuffer[p]=0,p+=1,this.streamBuffer.set(d,p),p+=d.length,f._broadwayPlayStream(p),p=0);i(),f._broadwayPlayStream(p)}):this.decode=function(e,r){r&&(this.infoAr.push(r),r.startDecoding=t()),this.streamBuffer.set(e),f._broadwayPlayStream(e.length)}};r.prototype={};var i={},n=function(t,r){var n=t+"x"+r;if(i[n])return i[n];for(var a=t*r,o=(0|a)>>2,s=a+o+o,f=t*r*4,l=4*Math.pow(2,24),u=s+f+l,c=Math.pow(2,24),h=c;h<u;)h+=c;var d=new ArrayBuffer(h),b=e(global,{},d);return b.init(t,r),i[n]=b,b.heap=d,b.out=new Uint8Array(d,0,f),b.inp=new Uint8Array(d,f,s),b.outSize=f,b};if("undefined"!=typeof self){var a,o,s,f,l,u,c=!1,h=!1,d=!1,b=0,p=0,w=0,k=0,_=[],v=[],y=function(e){if(v.length){for(var t=v.shift();t&&t.byteLength!==e;)t=v.shift();if(t)return t}return new ArrayBuffer(e)},g=function(e,t,r,i,n){var a=function(r,n){var a=0;for(a=0;a<16;++a){var o=r+i*a,s=n+i*a;t.set(e.subarray(o,s),o)}},o=function(r,n){var a=0;for(a=0;a<8;++a){var o=r+i/2*a,s=n+i/2*a;t.set(e.subarray(o,s),o)}},s=function(r,i){t.set(e.subarray(r,i),r)},f=r[0],l=r[1];l>0&&(a(f,l),o(r[2],r[3]),o(r[4],r[5])),f=r[6],l=r[7],l>0&&(a(f,l),o(r[8],r[9]),o(r[10],r[11])),f=r[12],(l=r[15])>0&&(s(f,l),s(r[13],r[16]),s(r[14],r[17]))},m=function(e){p=e,w=p-1};self.addEventListener("message",function(e){if(c){if(h&&e.data.reuse&&v.push(e.data.reuse),e.data.buf)return void(d&&0!==k?_.push(e.data):a.decode(new Uint8Array(e.data.buf,e.data.offset||0,e.data.length),e.data.info,function(){d&&b!==w&&postMessage(e.data,[e.data.buf])}));if(e.data.slice){var i=t();if(g(new Uint8Array(e.data.slice),s,e.data.infos[0].sliceInfoAr,e.data.width,e.data.height),e.data.theOne&&(g(s,new Uint8Array(e.data.slice),o,e.data.width,e.data.height),u>e.data.infos[0].timeDecoding&&(e.data.infos[0].timeDecoding=u),e.data.infos[0].timeCopy+=t()-i),postMessage(e.data,[e.data.slice]),0===(k-=1)&&_.length){var n=_.shift();a.decode(new Uint8Array(n.buf,n.offset||0,n.length),n.info,function(){d&&b!==w&&postMessage(n,[n.buf])})}return}if(e.data.setSliceCnt)return void m(e.data.sliceCnt)}else e.data&&"Broadway.js - Worker init"===e.data.type&&(c=!0,a=new r(e.data.options),e.data.options.sliceMode?(h=!0,d=!0,b=e.data.options.sliceNum,m(e.data.options.sliceCnt),a.onPictureDecoded=function(e,t,r,i){var n=new Uint8Array(y(e.length));g(e,n,i[0].sliceInfoAr,t),f=i[0].startDecoding,l=i[0].finishDecoding,u=l-f,i[0].timeDecoding=u,i[0].timeCopy=0,postMessage({slice:n.buffer,sliceNum:b,width:t,height:r,infos:i},[n.buffer]),k=p-1,s=e,o=i[0].sliceInfoAr}):e.data.options.reuseMemory?(h=!0,a.onPictureDecoded=function(e,t,r,i){var n=new Uint8Array(y(e.length));n.set(e,0,e.length),postMessage({buf:n.buffer,length:e.length,width:t,height:r,infos:i},[n.buffer])}):a.onPictureDecoded=function(e,t,r,i){e&&(e=new Uint8Array(e));var n=new Uint8Array(e.length);n.set(e,0,e.length),postMessage({buf:n.buffer,length:e.length,width:t,height:r,infos:i},[n.buffer])},postMessage({consoleLog:"broadway worker initialized"}))},!1)}return r.nowValue=t,r}()})}).call(exports,__webpack_require__(1),"/")},function(e,t,r){"use strict";var i,n,a;"function"==typeof Symbol&&Symbol.iterator;!function(r,o){n=[],i=o,void 0!==(a="function"==typeof i?i.apply(t,n):i)&&(e.exports=a)}(0,function(){function e(e){e=e||{},this.canvasElement=e.canvas||document.createElement("canvas"),this.contextOptions=e.contextOptions,this.type=e.type||"yuv420",this.customYUV444=e.customYUV444,this.isFix=!!e.isFix&&e.isFix,this.conversionType=e.conversionType||"rec601",this.width=e.width||640,this.height=e.height||320,this.animationTime=e.animationTime||0,this.canvasElement.width=this.width,this.canvasElement.height=this.height,this.initContextGL(),this.contextGL&&(this.initProgram(),this.initBuffers(),this.initTextures()),"yuv420"===this.type?this.drawNextOuptutPictureGL=function(e){var t=this.contextGL,r=this.texturePosBuffer,i=this.uTexturePosBuffer,n=this.vTexturePosBuffer,a=this.yTextureRef,o=this.uTextureRef,s=this.vTextureRef,f=e.yData,l=e.uData,u=e.vData,c=this.width,h=this.height,d=e.yDataPerRow||c,b=e.yRowCnt||h,p=e.uDataPerRow||c/2,w=e.uRowCnt||h/2,k=e.vDataPerRow||p,_=e.vRowCnt||w;t.viewport(0,0,c,h),this.isFix&&t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,!0);var v=h/b,y=c/d,g=new Float32Array([y,0,0,0,y,v,0,v]);t.bindBuffer(t.ARRAY_BUFFER,r),t.bufferData(t.ARRAY_BUFFER,g,t.DYNAMIC_DRAW),this.customYUV444?(v=h/w,y=c/p):(v=h/2/w,y=c/2/p);var m=new Float32Array([y,0,0,0,y,v,0,v]);t.bindBuffer(t.ARRAY_BUFFER,i),t.bufferData(t.ARRAY_BUFFER,m,t.DYNAMIC_DRAW),this.customYUV444?(v=h/_,y=c/k):(v=h/2/_,y=c/2/k);var E=new Float32Array([y,0,0,0,y,v,0,v]);t.bindBuffer(t.ARRAY_BUFFER,n),t.bufferData(t.ARRAY_BUFFER,E,t.DYNAMIC_DRAW),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,a),t.texImage2D(t.TEXTURE_2D,0,t.LUMINANCE,d,b,0,t.LUMINANCE,t.UNSIGNED_BYTE,f),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.LUMINANCE,p,w,0,t.LUMINANCE,t.UNSIGNED_BYTE,l),t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,s),t.texImage2D(t.TEXTURE_2D,0,t.LUMINANCE,k,_,0,t.LUMINANCE,t.UNSIGNED_BYTE,u),t.drawArrays(t.TRIANGLE_STRIP,0,4)}:"yuv422"===this.type&&(this.drawNextOuptutPictureGL=function(e){var t=this.contextGL,r=this.texturePosBuffer,i=this.textureRef,n=e.data,a=this.width,o=this.height,s=e.dataPerRow||2*a,f=e.rowCnt||o;t.viewport(0,0,a,o);var l=o/f,u=a/(s/2),c=new Float32Array([u,0,0,0,u,l,0,l]);t.bindBuffer(t.ARRAY_BUFFER,r),t.bufferData(t.ARRAY_BUFFER,c,t.DYNAMIC_DRAW),t.uniform2f(t.getUniformLocation(this.shaderProgram,"resolution"),s,o),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,i),t.texImage2D(t.TEXTURE_2D,0,t.LUMINANCE,s,f,0,t.LUMINANCE,t.UNSIGNED_BYTE,n),t.drawArrays(t.TRIANGLE_STRIP,0,4)})}return e.prototype.isWebGL=function(){return this.contextGL},e.prototype.initContextGL=function(){for(var e=this.canvasElement,t=null,r=["webgl","experimental-webgl","moz-webgl","webkit-3d"],i=0;!t&&i<r.length;){var n=r[i];try{t=this.contextOptions?e.getContext(n,this.contextOptions):e.getContext(n)}catch(e){t=null}t&&"function"==typeof t.getParameter||(t=null),++i}this.contextGL=t},e.prototype.initProgram=function(){var e,t,r=this.contextGL;"yuv420"===this.type?(e=["attribute vec4 vertexPos;","attribute vec4 texturePos;","attribute vec4 uTexturePos;","attribute vec4 vTexturePos;","varying vec2 textureCoord;","varying vec2 uTextureCoord;","varying vec2 vTextureCoord;","void main()","{"," gl_Position = vertexPos;"," textureCoord = texturePos.xy;"," uTextureCoord = uTexturePos.xy;"," vTextureCoord = vTexturePos.xy;","}"].join("\n"),t=["precision highp float;","varying highp vec2 textureCoord;","varying highp vec2 uTextureCoord;","varying highp vec2 vTextureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","uniform mat4 YUV2RGB;","void main(void) {"," highp float y = texture2D(ySampler, textureCoord).r;"," highp float u = texture2D(uSampler, uTextureCoord).r;"," highp float v = texture2D(vSampler, vTextureCoord).r;",this.isFix?" gl_FragColor = vec4(y, u, v, 1).rbga * YUV2RGB;":" gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n")):"yuv422"===this.type&&(e=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{"," gl_Position = vertexPos;"," textureCoord = texturePos.xy;","}"].join("\n"),t=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D sampler;","uniform highp vec2 resolution;","uniform mat4 YUV2RGB;","void main(void) {"," highp float texPixX = 1.0 / resolution.x;"," highp float logPixX = 2.0 / resolution.x;"," highp float logHalfPixX = 4.0 / resolution.x;"," highp float steps = floor(textureCoord.x / logPixX);"," highp float uvSteps = floor(textureCoord.x / logHalfPixX);"," highp float y = texture2D(sampler, vec2((logPixX * steps) + texPixX, textureCoord.y)).r;"," highp float u = texture2D(sampler, vec2((logHalfPixX * uvSteps), textureCoord.y)).r;"," highp float v = texture2D(sampler, vec2((logHalfPixX * uvSteps) + texPixX + texPixX, textureCoord.y)).r;",this.isFix?" gl_FragColor = vec4(y, u, v, 1.0).rbga * YUV2RGB;":" gl_FragColor = vec4(y, u, v, 1.0) * YUV2RGB;","}"].join("\n"));var i=[];i="rec709"==this.conversionType?[1.16438,0,1.79274,-.97295,1.16438,-.21325,-.53291,.30148,1.16438,2.1124,0,-1.1334,0,0,0,1]:[1.16438,0,1.59603,-.87079,1.16438,-.39176,-.81297,.52959,1.16438,2.01723,0,-1.08139,0,0,0,1];var n=r.createShader(r.VERTEX_SHADER);r.shaderSource(n,e),r.compileShader(n),r.getShaderParameter(n,r.COMPILE_STATUS)||console.log("Vertex shader failed to compile: "+r.getShaderInfoLog(n));var a=r.createShader(r.FRAGMENT_SHADER);r.shaderSource(a,t),r.compileShader(a),r.getShaderParameter(a,r.COMPILE_STATUS)||console.log("Fragment shader failed to compile: "+r.getShaderInfoLog(a));var o=r.createProgram();r.attachShader(o,n),r.attachShader(o,a),r.linkProgram(o),r.getProgramParameter(o,r.LINK_STATUS)||console.log("Program failed to compile: "+r.getProgramInfoLog(o)),r.useProgram(o);var s=r.getUniformLocation(o,"YUV2RGB");r.uniformMatrix4fv(s,!1,i),this.shaderProgram=o},e.prototype.initBuffers=function(){var e=this.contextGL,t=this.shaderProgram,r=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,r),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),e.STATIC_DRAW);var i=e.getAttribLocation(t,"vertexPos");if(e.enableVertexAttribArray(i),e.vertexAttribPointer(i,2,e.FLOAT,!1,0,0),this.animationTime){var n=this.animationTime,a=0;!function r(){a+=15;var i=1*a/n;a>=n?i=1:setTimeout(r,15);var o=-1*i,s=1*i,f=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,f),e.bufferData(e.ARRAY_BUFFER,new Float32Array([s,s,o,s,s,o,o,o]),e.STATIC_DRAW);var l=e.getAttribLocation(t,"vertexPos");e.enableVertexAttribArray(l),e.vertexAttribPointer(l,2,e.FLOAT,!1,0,0);try{e.drawArrays(e.TRIANGLE_STRIP,0,4)}catch(e){}}()}var o=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,o),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var s=e.getAttribLocation(t,"texturePos");if(e.enableVertexAttribArray(s),e.vertexAttribPointer(s,2,e.FLOAT,!1,0,0),this.texturePosBuffer=o,"yuv420"===this.type){var f=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,f),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var l=e.getAttribLocation(t,"uTexturePos");e.enableVertexAttribArray(l),e.vertexAttribPointer(l,2,e.FLOAT,!1,0,0),this.uTexturePosBuffer=f;var u=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,u),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var c=e.getAttribLocation(t,"vTexturePos");e.enableVertexAttribArray(c),e.vertexAttribPointer(c,2,e.FLOAT,!1,0,0),this.vTexturePosBuffer=u}},e.prototype.initTextures=function(){var e=this.contextGL,t=this.shaderProgram;if("yuv420"===this.type){var r=this.initTexture(),i=e.getUniformLocation(t,"ySampler");e.uniform1i(i,0),this.yTextureRef=r;var n=this.initTexture(),a=e.getUniformLocation(t,"uSampler");e.uniform1i(a,1),this.uTextureRef=n;var o=this.initTexture(),s=e.getUniformLocation(t,"vSampler");e.uniform1i(s,2),this.vTextureRef=o}else if("yuv422"===this.type){var f=this.initTexture(),l=e.getUniformLocation(t,"sampler");e.uniform1i(l,0),this.textureRef=f}},e.prototype.initTexture=function(){var e=this.contextGL,t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),t},e.prototype.drawNextOutputPicture=function(e,t,r,i){this.contextGL?this.drawNextOuptutPictureGL(e,t,r,i):this.drawNextOuptutPictureRGBA(e,t,r,i)},e.prototype.drawNextOuptutPictureRGBA=function(e,t,r,i){var n=this.canvasElement,a=i,o=n.getContext("2d"),s=o.getImageData(0,0,e,t);s.data.set(a),o.putImageData(s,0,0)},e})},function(e,t,r){"use strict";!function(e){e.SunloginControl=r(27),e.SunloginControl.DesktopView=r(57),e.SunloginControl.isSupport=function(){if("undefined"==typeof windows)throw new Error('"checkEnv" only enable in browser');if("undefined"==typeof WebSocket)return!1;var e=document.createElement("canvas");return!(!e||"function"!=typeof e.getContext)}}("undefined"==typeof window?t:window)},function(e,t,r){"use strict";t.Client=r(10),t.Plugin={Desktop:r(54)}},function(e,t,r){"use strict";t.Connection=r(29)},function(e,t,r){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s=function(){function e(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,r,i){return r&&e(t.prototype,r),i&&e(t,i),t}}(),f=r(3).EventEmitter,l=function(e){function t(e,r){i(this,t);var a=n(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return a._host=e,a._status=0,a._options=Object.assign({ssl:!0,port:443,rpcPort:2480,udpPort:4118,path:null,debug:!1},"object"==(void 0===r?"undefined":o(r))?r:{}),a._cookie={},a}return a(t,e),s(t,[{key:"initialize",value:function(e,i){var n=this;if(void 0==e&&(e=this._host),void 0==i&&(i=this._options.ssl),"undefined"!=typeof window){var a=r(30),o=i?"https:":"http:",s=this._options.port?this._options.port:443,f=o+"//"+e+":"+s+"/getsid";return a.preConnect(f)}return new Promise(function(a,o){var s=i?"https:":"http:",f=n._options.port?n._options.port:443,l={Host:e,UserAgent:"SLCC/1.0 (Javascript)",Accept:"*/*","Accept-Encoding":"gzip, deflate, sdch"},u=s+"//"+e+":"+f+"/";n.debug("Preconnect request: GET",u),r(31).preConnect(u,"GET",l).then(function(e){if(n.debug("Preconnect response: ",e),(302==e.statusCode||200==e.statusCode)&&e.headers["set-cookie"])for(var r=0,i=e.headers["set-cookie"].length;r<i;r++){var o=e.headers["set-cookie"][r],s=o.split(";")[0];s=s.split("="),n._cookie[s[0]]=s[1].replace(/^\s+|\s+$/,"")}t.StatusInitialized=1,a(n)}).catch(function(e){o(e)})})}},{key:"connect",value:function(e,i,n){var a=this;return new Promise(function(o,s){void 0===n&&(n=a._options.ssl);var f=a._options.port?a._options.port:n?443:80;void 0===i?i=a._host+":"+f:-1!=i.indexOf(":")&&(i=i+":"+f);var l=n?"wss:":"ws:",u=l+"//"+i+(a._options.path?a._options.path:"/");if(a.debug("WebSocket connect to: "+u),"undefined"==typeof WebSocket){var c=r(51).w3cwebsocket,h=n?"https:":"http:",d=h+"//"+i,b=[];for(var p in a._cookie)b.push(p+"="+a._cookie[p]);var w={"Accept-Encoding":"gzip, deflate, sdch, br","Accept-Language":"zh-CN,zh;q=0.8",Cookie:b.join("; "),"User-Agent":"SLCC/1.0 (Javascript)","Cache-Control":"no-cache","Sec-WebSocket-Extensions":"permessage-deflate; client_max_window_bits"};a._websocket=new c(u,null,d,w,{rejectUnauthorized:!1})}else a._websocket=new WebSocket(u);void 0!==e&&(a._websocket.binaryType=e),a._websocket.onopen=function(e){a._status=t.StatusOpened,a._currentHost=i,o(),a.debug("WebSocket connection opened"),a.emit("open")},a._websocket.onclose=function(){a._status!=t.StatusReconnecting&&a._status!=t.StatusForwarding&&(a._status=t.StatusDisconnected),a.debug("WebSocket connection closed"),a.emit("close")},a._websocket.onmessage=function(e){e.data&&(a.debug("WebSocket message received: "+e.data.byteLength+" Bytes"),a.emit("data",e))},a._websocket.onerror=function(e){a.debug("WebSocket error occured",e),a.emit("error",e)}})}},{key:"reconnect",value:function(e){return this.debug("Reconnect"),this._status=t.StatusReconnecting,this.disconnect(),this.connect(e)}},{key:"send",value:function(e){if(this._status==t.StatusDisconnected)return this.debug("Send message while connection had been disconnected."),!1;try{this._websocket.send(e),this.debug("Send message: ",e)}catch(e){this.debug("WebSocket error occured: "+e)}}},{key:"disconnect",value:function(){this._websocket&&(this._websocket.close(),this._websocket=null)}},{key:"forwardBy",value:function(e,r,i){var n=this;return this._status=t.StatusForwarding,this.disconnect(),this.debug("Connect to forward server: ",r,"@",e),new Promise(function(t,a){var o=r+"."+e;n.initialize(o,i).then(function(){return n.connect("arraybuffer",o,i)}).then(function(){t()}).catch(function(e){a(e)})})}},{key:"getSessionID",value:function(){return this._cookie.SID}},{key:"setHost",value:function(e){this._host=e}},{key:"getCurrentHost",value:function(){return void 0!==this._currentHost?this._currentHost:this._host}},{key:"debug",value:function(){this._options.debug&&"undefined"!=typeof console&&console.log.apply(null,arguments)}}]),t}(f);l.Status=0,l.StatusInitialized=1,l.StatusOpened=2,l.StatusForwarding=3,l.StatusReconnecting=4,l.StatusDisconnected=9,e.exports=l},function(e,t,r){"use strict";t.preConnect=function(e){return new Promise(function(t,r){var i=document.createElement("img");i.src=e,i.width=i.height=0,i.onerror=i.onload=function(){t()},document.body.appendChild(i)})}},function(e,t,r){"use strict";t.preConnect=function(e,t,i,n){var a=r(9),o=a.parse(e),s=r("https:"==o.protocol?37:13);return i["Content-Length"]=n?n.length:0,new Promise(function(e,r){var a={headers:null,statusCode:0,body:""},f={host:o.hostname,port:o.port,path:o.path,method:t,headers:i,timeout:1e3,rejectUnauthorized:!1},l=s.request(f,function(t){t.setEncoding("utf8"),a.headers=t.headers,a.statusCode=t.statusCode,t.on("data",function(e){console.log(e),a.body=a.body+e}),t.once("end",function(){e(a)})});l.on("error",function(e){r(e)}),null!=n?l.write(n):l.write(""),l.end()})}},function(e,t,r){"use strict";(function(e,i){var n,a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(o){function s(e){throw new RangeError(N[e])}function f(e,t){for(var r=e.length,i=[];r--;)i[r]=t(e[r]);return i}function l(e,t){var r=e.split("@"),i="";return r.length>1&&(i=r[0]+"@",e=r[1]),e=e.replace(x,"."),i+f(e.split("."),t).join(".")}function u(e){for(var t,r,i=[],n=0,a=e.length;n<a;)t=e.charCodeAt(n++),t>=55296&&t<=56319&&n<a?(r=e.charCodeAt(n++),56320==(64512&r)?i.push(((1023&t)<<10)+(1023&r)+65536):(i.push(t),n--)):i.push(t);return i}function c(e){return f(e,function(e){var t="";return e>65535&&(e-=65536,t+=F(e>>>10&1023|55296),e=56320|1023&e),t+=F(e)}).join("")}function h(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:S}function d(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function b(e,t,r){var i=0;for(e=r?B(e/C):e>>1,e+=B(e/t);e>L*M>>1;i+=S)e=B(e/L);return B(i+(L+1)*e/(e+R))}function p(e){var t,r,i,n,a,o,f,l,u,d,p=[],w=e.length,k=0,_=P,v=O;for(r=e.lastIndexOf(I),r<0&&(r=0),i=0;i<r;++i)e.charCodeAt(i)>=128&&s("not-basic"),p.push(e.charCodeAt(i));for(n=r>0?r+1:0;n<w;){for(a=k,o=1,f=S;n>=w&&s("invalid-input"),l=h(e.charCodeAt(n++)),(l>=S||l>B((A-k)/o))&&s("overflow"),k+=l*o,u=f<=v?T:f>=v+M?M:f-v,!(l<u);f+=S)d=S-u,o>B(A/d)&&s("overflow"),o*=d;t=p.length+1,v=b(k-a,t,0==a),B(k/t)>A-_&&s("overflow"),_+=B(k/t),k%=t,p.splice(k++,0,_)}return c(p)}function w(e){var t,r,i,n,a,o,f,l,c,h,p,w,k,_,v,y=[];for(e=u(e),w=e.length,t=P,r=0,a=O,o=0;o<w;++o)(p=e[o])<128&&y.push(F(p));for(i=n=y.length,n&&y.push(I);i<w;){for(f=A,o=0;o<w;++o)(p=e[o])>=t&&p<f&&(f=p);for(k=i+1,f-t>B((A-r)/k)&&s("overflow"),r+=(f-t)*k,t=f,o=0;o<w;++o)if(p=e[o],p<t&&++r>A&&s("overflow"),p==t){for(l=r,c=S;h=c<=a?T:c>=a+M?M:c-a,!(l<h);c+=S)v=l-h,_=S-h,y.push(F(d(h+v%_,0))),l=B(v/_);y.push(F(d(l,0))),a=b(r,k,i==n),r=0,++i}++r,++t}return y.join("")}function k(e){return l(e,function(e){return U.test(e)?p(e.slice(4).toLowerCase()):e})}function _(e){return l(e,function(e){return D.test(e)?"xn--"+w(e):e})}var v="object"==a(t)&&t&&!t.nodeType&&t,y="object"==a(e)&&e&&!e.nodeType&&e,g="object"==(void 0===i?"undefined":a(i))&&i;g.global!==g&&g.window!==g&&g.self!==g||(o=g);var m,E,A=2147483647,S=36,T=1,M=26,R=38,C=700,O=72,P=128,I="-",U=/^xn--/,D=/[^\x20-\x7E]/,x=/[\x2E\u3002\uFF0E\uFF61]/g,N={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},L=S-T,B=Math.floor,F=String.fromCharCode;if(m={version:"1.4.1",ucs2:{decode:u,encode:c},decode:p,encode:w,toASCII:_,toUnicode:k},"object"==a(r(11))&&r(11))void 0!==(n=function(){return m}.call(t,r,t,e))&&(e.exports=n);else if(v&&y)if(e.exports==v)y.exports=m;else for(E in m)m.hasOwnProperty(E)&&(v[E]=m[E]);else o.punycode=m}(void 0)}).call(t,r(33)(e),r(0))},function(e,t,r){"use strict";e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,r){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"===(void 0===e?"undefined":i(e))&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(e,t,r){"use strict";function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,r,a){t=t||"&",r=r||"=";var o={};if("string"!=typeof e||0===e.length)return o;var s=/\+/g;e=e.split(t);var f=1e3;a&&"number"==typeof a.maxKeys&&(f=a.maxKeys);var l=e.length;f>0&&l>f&&(l=f);for(var u=0;u<l;++u){var c,h,d,b,p=e[u].replace(s,"%20"),w=p.indexOf(r);w>=0?(c=p.substr(0,w),h=p.substr(w+1)):(c=p,h=""),d=decodeURIComponent(c),b=decodeURIComponent(h),i(o,d)?n(o[d])?o[d].push(b):o[d]=[o[d],b]:o[d]=b}return o};var n=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,r){"use strict";function i(e,t){if(e.map)return e.map(t);for(var r=[],i=0;i<e.length;i++)r.push(t(e[i],i));return r}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(e){switch(void 0===e?"undefined":n(e)){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,r,f){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"===(void 0===e?"undefined":n(e))?i(s(e),function(n){var s=encodeURIComponent(a(n))+r;return o(e[n])?i(e[n],function(e){return s+encodeURIComponent(a(e))}).join(t):s+encodeURIComponent(a(e[n]))}).join(t):f?encodeURIComponent(a(f))+r+encodeURIComponent(a(e)):""};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},s=Object.keys||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return t}},function(e,t,r){"use strict";function i(e){if("string"==typeof e&&(e=a.parse(e)),e.protocol||(e.protocol="https:"),"https:"!==e.protocol)throw new Error('Protocol "'+e.protocol+'" not supported. Expected "https:"');return e}var n=r(13),a=r(9),o=e.exports;for(var s in n)n.hasOwnProperty(s)&&(o[s]=n[s]);o.request=function(e,t){return e=i(e),n.request.call(this,e,t)},o.get=function(e,t){return e=i(e),n.get.call(this,e,t)}},function(e,t,r){"use strict";(function(t,i,n){function a(e,t){return s.fetch&&t?"fetch":s.mozchunkedarraybuffer?"moz-chunked-arraybuffer":s.msstream?"ms-stream":s.arraybuffer&&e?"arraybuffer":s.vbArray&&e?"text:vbarray":"text"}function o(e){try{var t=e.status;return null!==t&&0!==t}catch(e){return!1}}var s=r(15),f=r(2),l=r(41),u=r(16),c=r(48),h=l.IncomingMessage,d=l.readyStates,b=e.exports=function(e){var r=this;u.Writable.call(r),r._opts=e,r._body=[],r._headers={},e.auth&&r.setHeader("Authorization","Basic "+new t(e.auth).toString("base64")),Object.keys(e.headers).forEach(function(t){r.setHeader(t,e.headers[t])});var i,n=!0;if("disable-fetch"===e.mode||"timeout"in e)n=!1,i=!0;else if("prefer-streaming"===e.mode)i=!1;else if("allow-wrong-content-type"===e.mode)i=!s.overrideMimeType;else{if(e.mode&&"default"!==e.mode&&"prefer-fast"!==e.mode)throw new Error("Invalid value for opts.mode");i=!0}r._mode=a(i,n),r.on("finish",function(){r._onFinish()})};f(b,u.Writable),b.prototype.setHeader=function(e,t){var r=this,i=e.toLowerCase();-1===p.indexOf(i)&&(r._headers[i]={name:e,value:t})},b.prototype.getHeader=function(e){var t=this._headers[e.toLowerCase()];return t?t.value:null},b.prototype.removeHeader=function(e){delete this._headers[e.toLowerCase()]},b.prototype._onFinish=function(){var e=this;if(!e._destroyed){var r=e._opts,a=e._headers,o=null;"GET"!==r.method&&"HEAD"!==r.method&&(o=s.blobConstructor?new i.Blob(e._body.map(function(e){return c(e)}),{type:(a["content-type"]||{}).value||""}):t.concat(e._body).toString());var f=[];if(Object.keys(a).forEach(function(e){var t=a[e].name,r=a[e].value;Array.isArray(r)?r.forEach(function(e){f.push([t,e])}):f.push([t,r])}),"fetch"===e._mode)i.fetch(e._opts.url,{method:e._opts.method,headers:f,body:o||void 0,mode:"cors",credentials:r.withCredentials?"include":"same-origin"}).then(function(t){e._fetchResponse=t,e._connect()},function(t){e.emit("error",t)});else{var l=e._xhr=new i.XMLHttpRequest;try{l.open(e._opts.method,e._opts.url,!0)}catch(t){return void n.nextTick(function(){e.emit("error",t)})}"responseType"in l&&(l.responseType=e._mode.split(":")[0]),"withCredentials"in l&&(l.withCredentials=!!r.withCredentials),"text"===e._mode&&"overrideMimeType"in l&&l.overrideMimeType("text/plain; charset=x-user-defined"),"timeout"in r&&(l.timeout=r.timeout,l.ontimeout=function(){e.emit("timeout")}),f.forEach(function(e){l.setRequestHeader(e[0],e[1])}),e._response=null,l.onreadystatechange=function(){switch(l.readyState){case d.LOADING:case d.DONE:e._onXHRProgress()}},"moz-chunked-arraybuffer"===e._mode&&(l.onprogress=function(){e._onXHRProgress()}),l.onerror=function(){e._destroyed||e.emit("error",new Error("XHR error"))};try{l.send(o)}catch(t){return void n.nextTick(function(){e.emit("error",t)})}}}},b.prototype._onXHRProgress=function(){var e=this;o(e._xhr)&&!e._destroyed&&(e._response||e._connect(),e._response._onXHRProgress())},b.prototype._connect=function(){var e=this;e._destroyed||(e._response=new h(e._xhr,e._fetchResponse,e._mode),e._response.on("error",function(t){e.emit("error",t)}),e.emit("response",e._response))},b.prototype._write=function(e,t,r){this._body.push(e),r()},b.prototype.abort=b.prototype.destroy=function(){var e=this;e._destroyed=!0,e._response&&(e._response._destroyed=!0),e._xhr&&e._xhr.abort()},b.prototype.end=function(e,t,r){var i=this;"function"==typeof e&&(r=e,e=void 0),u.Writable.prototype.end.call(i,e,t,r)},b.prototype.flushHeaders=function(){},b.prototype.setTimeout=function(){},b.prototype.setNoDelay=function(){},b.prototype.setSocketKeepAlive=function(){};var p=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","user-agent","via"]}).call(t,r(5).Buffer,r(0),r(1))},function(e,t,r){"use strict";function i(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[t-2]?2:"="===e[t-1]?1:0}function n(e){return 3*e.length/4-i(e)}function a(e){var t,r,n,a,o,s=e.length;a=i(e),o=new c(3*s/4-a),r=a>0?s-4:s;var f=0;for(t=0;t<r;t+=4)n=u[e.charCodeAt(t)]<<18|u[e.charCodeAt(t+1)]<<12|u[e.charCodeAt(t+2)]<<6|u[e.charCodeAt(t+3)],o[f++]=n>>16&255,o[f++]=n>>8&255,o[f++]=255&n;return 2===a?(n=u[e.charCodeAt(t)]<<2|u[e.charCodeAt(t+1)]>>4,o[f++]=255&n):1===a&&(n=u[e.charCodeAt(t)]<<10|u[e.charCodeAt(t+1)]<<4|u[e.charCodeAt(t+2)]>>2,o[f++]=n>>8&255,o[f++]=255&n),o}function o(e){return l[e>>18&63]+l[e>>12&63]+l[e>>6&63]+l[63&e]}function s(e,t,r){for(var i,n=[],a=t;a<r;a+=3)i=(e[a]<<16)+(e[a+1]<<8)+e[a+2],n.push(o(i));return n.join("")}function f(e){for(var t,r=e.length,i=r%3,n="",a=[],o=0,f=r-i;o<f;o+=16383)a.push(s(e,o,o+16383>f?f:o+16383));return 1===i?(t=e[r-1],n+=l[t>>2],n+=l[t<<4&63],n+="=="):2===i&&(t=(e[r-2]<<8)+e[r-1],n+=l[t>>10],n+=l[t>>4&63],n+=l[t<<2&63],n+="="),a.push(n),a.join("")}t.byteLength=n,t.toByteArray=a,t.fromByteArray=f;for(var l=[],u=[],c="undefined"!=typeof Uint8Array?Uint8Array:Array,h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",d=0,b=h.length;d<b;++d)l[d]=h[d],u[h.charCodeAt(d)]=d;u["-".charCodeAt(0)]=62,u["_".charCodeAt(0)]=63},function(e,t,r){"use strict";t.read=function(e,t,r,i,n){var a,o,s=8*n-i-1,f=(1<<s)-1,l=f>>1,u=-7,c=r?n-1:0,h=r?-1:1,d=e[t+c];for(c+=h,a=d&(1<<-u)-1,d>>=-u,u+=s;u>0;a=256*a+e[t+c],c+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=i;u>0;o=256*o+e[t+c],c+=h,u-=8);if(0===a)a=1-l;else{if(a===f)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,i),a-=l}return(d?-1:1)*o*Math.pow(2,a-i)},t.write=function(e,t,r,i,n,a){var o,s,f,l=8*a-n-1,u=(1<<l)-1,c=u>>1,h=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:a-1,b=i?1:-1,p=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(f=Math.pow(2,-o))<1&&(o--,f*=2),t+=o+c>=1?h/f:h*Math.pow(2,1-c),t*f>=2&&(o++,f/=2),o+c>=u?(s=0,o=u):o+c>=1?(s=(t*f-1)*Math.pow(2,n),o+=c):(s=t*Math.pow(2,c-1)*Math.pow(2,n),o=0));n>=8;e[r+d]=255&s,d+=b,s/=256,n-=8);for(o=o<<n|s,l+=n;l>0;e[r+d]=255&o,d+=b,o/=256,l-=8);e[r+d-b]|=128*p}},function(e,t,r){"use strict";(function(e,i,n){var a=r(15),o=r(2),s=r(16),f=t.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},l=t.IncomingMessage=function(t,r,n){var o=this;if(s.Readable.call(o),o._mode=n,o.headers={},o.rawHeaders=[],o.trailers={},o.rawTrailers=[],o.on("end",function(){e.nextTick(function(){o.emit("close")})}),"fetch"===n){o._fetchResponse=r,o.url=r.url,o.statusCode=r.status,o.statusMessage=r.statusText,r.headers.forEach(function(e,t){o.headers[t.toLowerCase()]=e,o.rawHeaders.push(t,e)});var f=r.body.getReader();!function e(){f.read().then(function(t){if(!o._destroyed){if(t.done)return void o.push(null);o.push(new i(t.value)),e()}}).catch(function(e){o.emit("error",e)})}()}else{o._xhr=t,o._pos=0,o.url=t.responseURL,o.statusCode=t.status,o.statusMessage=t.statusText;if(t.getAllResponseHeaders().split(/\r?\n/).forEach(function(e){var t=e.match(/^([^:]+):\s*(.*)/);if(t){var r=t[1].toLowerCase();"set-cookie"===r?(void 0===o.headers[r]&&(o.headers[r]=[]),o.headers[r].push(t[2])):void 0!==o.headers[r]?o.headers[r]+=", "+t[2]:o.headers[r]=t[2],o.rawHeaders.push(t[1],t[2])}}),o._charset="x-user-defined",!a.overrideMimeType){var l=o.rawHeaders["mime-type"];if(l){var u=l.match(/;\s*charset=([^;])(;|$)/);u&&(o._charset=u[1].toLowerCase())}o._charset||(o._charset="utf-8")}}};o(l,s.Readable),l.prototype._read=function(){},l.prototype._onXHRProgress=function(){var e=this,t=e._xhr,r=null;switch(e._mode){case"text:vbarray":if(t.readyState!==f.DONE)break;try{r=new n.VBArray(t.responseBody).toArray()}catch(e){}if(null!==r){e.push(new i(r));break}case"text":try{r=t.responseText}catch(t){e._mode="text:vbarray";break}if(r.length>e._pos){var a=r.substr(e._pos);if("x-user-defined"===e._charset){for(var o=new i(a.length),s=0;s<a.length;s++)o[s]=255&a.charCodeAt(s);e.push(o)}else e.push(a,e._charset);e._pos=r.length}break;case"arraybuffer":if(t.readyState!==f.DONE||!t.response)break;r=t.response,e.push(new i(new Uint8Array(r)));break;case"moz-chunked-arraybuffer":if(r=t.response,t.readyState!==f.LOADING||!r)break;e.push(new i(new Uint8Array(r)));break;case"ms-stream":if(r=t.response,t.readyState!==f.LOADING)break;var l=new n.MSStreamReader;l.onprogress=function(){l.result.byteLength>e._pos&&(e.push(new i(new Uint8Array(l.result.slice(e._pos)))),e._pos=l.result.byteLength)},l.onload=function(){e.push(null)},l.readAsArrayBuffer(r)}e._xhr.readyState===f.DONE&&"ms-stream"!==e._mode&&e.push(null)}}).call(t,r(1),r(5).Buffer,r(0))},function(e,t){},function(e,t,r){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t,r){e.copy(t,r)}var a=r(8).Buffer;e.exports=function(){function e(){i(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},e.prototype.concat=function(e){if(0===this.length)return a.alloc(0);if(1===this.length)return this.head.data;for(var t=a.allocUnsafe(e>>>0),r=this.head,i=0;r;)n(r.data,t,i),i+=r.data.length,r=r.next;return t},e}()},function(e,t,r){"use strict";function i(e,t){this._id=e,this._clearFn=t}var n=Function.prototype.apply;t.setTimeout=function(){return new i(n.call(setTimeout,window,arguments),clearTimeout)},t.setInterval=function(){return new i(n.call(setInterval,window,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(window,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},r(45),t.setImmediate=setImmediate,t.clearImmediate=clearImmediate},function(e,t,r){"use strict";(function(e,t){!function(e,r){function i(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var i={callback:e,args:t};return l[f]=i,s(f),f++}function n(e){delete l[e]}function a(e){var t=e.callback,i=e.args;switch(i.length){case 0:t();break;case 1:t(i[0]);break;case 2:t(i[0],i[1]);break;case 3:t(i[0],i[1],i[2]);break;default:t.apply(r,i)}}function o(e){if(u)setTimeout(o,0,e);else{var t=l[e];if(t){u=!0;try{a(t)}finally{n(e),u=!1}}}}if(!e.setImmediate){var s,f=1,l={},u=!1,c=e.document,h=Object.getPrototypeOf&&Object.getPrototypeOf(e);h=h&&h.setTimeout?h:e,"[object process]"==={}.toString.call(e.process)?function(){s=function(e){t.nextTick(function(){o(e)})}}():function(){if(e.postMessage&&!e.importScripts){var t=!0,r=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=r,t}}()?function(){var t="setImmediate$"+Math.random()+"$",r=function(r){r.source===e&&"string"==typeof r.data&&0===r.data.indexOf(t)&&o(+r.data.slice(t.length))};e.addEventListener?e.addEventListener("message",r,!1):e.attachEvent("onmessage",r),s=function(r){e.postMessage(t+r,"*")}}():e.MessageChannel?function(){var e=new MessageChannel;e.port1.onmessage=function(e){o(e.data)},s=function(t){e.port2.postMessage(t)}}():c&&"onreadystatechange"in c.createElement("script")?function(){var e=c.documentElement;s=function(t){var r=c.createElement("script");r.onreadystatechange=function(){o(t),r.onreadystatechange=null,e.removeChild(r),r=null},e.appendChild(r)}}():function(){s=function(e){setTimeout(o,0,e)}}(),h.setImmediate=i,h.clearImmediate=n}}("undefined"==typeof self?void 0===e?void 0:e:self)}).call(t,r(0),r(1))},function(e,t,r){"use strict";(function(t){function r(e,t){function r(){if(!n){if(i("throwDeprecation"))throw new Error(t);i("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}if(i("noDeprecation"))return e;var n=!1;return r}function i(e){try{if(!t.localStorage)return!1}catch(e){return!1}var r=t.localStorage[e];return null!=r&&"true"===String(r).toLowerCase()}e.exports=r}).call(t,r(0))},function(e,t,r){"use strict";function i(e){if(!(this instanceof i))return new i(e);n.call(this,e)}e.exports=i;var n=r(22),a=r(6);a.inherits=r(2),a.inherits(i,n),i.prototype._transform=function(e,t,r){r(null,e)}},function(e,t,r){"use strict";var i=r(5).Buffer;e.exports=function(e){if(e instanceof Uint8Array){if(0===e.byteOffset&&e.byteLength===e.buffer.byteLength)return e.buffer;if("function"==typeof e.buffer.slice)return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(i.isBuffer(e)){for(var t=new Uint8Array(e.length),r=e.length,n=0;n<r;n++)t[n]=e[n];return t.buffer}throw new Error("Argument must be a Buffer")}},function(e,t,r){"use strict";function i(){for(var e={},t=0;t<arguments.length;t++){var r=arguments[t];for(var i in r)n.call(r,i)&&(e[i]=r[i])}return e}e.exports=i;var n=Object.prototype.hasOwnProperty},function(e,t,r){"use strict";e.exports={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",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent 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 Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",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",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}},function(e,t,r){"use strict";function i(e,t){return t?new a(e,t):new a(e)}var n=function(){return this}(),a=n.WebSocket||n.MozWebSocket,o=r(52);a&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach(function(e){Object.defineProperty(i,e,{get:function(){return a[e]}})}),e.exports={w3cwebsocket:a?i:null,version:o}},function(e,t,r){"use strict";e.exports=r(53).version},function(e,t){e.exports={name:"websocket",description:"Websocket Client & Server Library implementing the WebSocket protocol as specified in RFC 6455.",keywords:["websocket","websockets","socket","networking","comet","push","RFC-6455","realtime","server","client"],author:"Brian McKelvey <brian@worlize.com> (https://www.worlize.com/)",contributors:["Iñaki Baz Castillo <ibc@aliax.net> (http://dev.sipdoc.net)"],version:"1.0.25",repository:{type:"git",url:"https://github.com/theturtle32/WebSocket-Node.git"},homepage:"https://github.com/theturtle32/WebSocket-Node",engines:{node:">=0.10.0"},dependencies:{debug:"^2.2.0",nan:"^2.3.3","typedarray-to-buffer":"^3.1.2",yaeti:"^0.0.6"},devDependencies:{"buffer-equal":"^1.0.0",faucet:"^0.0.1",gulp:"git+https://github.com/gulpjs/gulp.git#4.0","gulp-jshint":"^2.0.4","jshint-stylish":"^2.2.1",jshint:"^2.0.0",tape:"^4.0.1"},config:{verbose:!1},scripts:{install:"(node-gyp rebuild 2> builderror.log) || (exit 0)",test:"faucet test/unit",gulp:"gulp"},main:"index",directories:{lib:"./lib"},browser:"lib/browser.js",license:"Apache-2.0",_from:"websocket@1.0.25",_resolved:"http://registry.npm.taobao.org/websocket/download/websocket-1.0.25.tgz"}},function(e,t,r){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var o=function(){function e(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,r,i){return r&&e(t.prototype,r),i&&e(t,i),t}}(),s=r(23),f=r(55),l=r(56),u=function(e){function t(e){i(this,t);var r=n(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return void 0===r._options.quality&&(r._options.quality=15),r}return a(t,e),o(t,[{key:"connect",value:function(){var e=this;this._client.on("message",function(t){e._messageHandler(t)}),this._status=1;var t="/desktop?CID="+this._client.getCID(),r=this._client.getServerSessionID();if(r&&(t+="&SID="+r),this._client.sendHttpRequest(t,"GET"),this._client.isEmbed()){var i=this._client.getForwardAddress(),n=this._client.getCID();this._client.debug("Send embed login request"),this._client.getConnection().send(new f.LoginHeaderMessage(i,n).buffer()),this._client.getConnection().send("Host:"+i+"\nSession:"+n+"\n")}else this._client.debug("Send enum users request",f.ID_ACCESS_MESSAGE,f.ID_ENUM_USERS),this._client.send(new f.DoubleMessage(f.ID_ACCESS_MESSAGE,f.ID_ENUM_USERS).buffer())}},{key:"keepAlive",value:function(){var e=this;this._keepAliveTimeout&&clearTimeout(this._keepAliveTimeout),this._keepAliveTimeout=setTimeout(function(){e._client.debug("KEEP-ALIVE"),e._client.send(new f.DoubleMessage(10718,10719).buffer()),e.keepAlive()},12e4)}},{key:"setView",value:function(e){this._view=e}},{key:"rotate",value:function(){this._client.send(new f.DoubleMessage(f.ID_ACCESS_MESSAGE,f.ID_ROTATE_SCREEN_REQ).buffer())}},{key:"transportKeyBoardEvent",value:function(){var e=this,t=new l.Keyboard;return t.on("active",function(t){console.log(t.keyboardEvent);var r=t.keyboardEvent;e._client.debug("Send KeyBoardEvent: ",r.keycode),e._client.send(new h(r.keycode,r.mask).buffer())}),t.listen(),t}},{key:"transportMouseEvent",value:function(e){function t(e,t){return 0==t?0:(e=Math.max(e,0),32767*Math.min(e,t)/t)}var r=this,i=new l.Mouse(e);i.listen();var n=this;return i.on("active",function(e){if(n._imgInfo){var i=e.slMouseEvent,a=new d(i.type,0,i.wheelData,t(i.x,n._imgInfo.width),t(i.y,n._imgInfo.height));r._client.send(a.buffer())}}),i}},{key:"sendKey",value:function(){for(var e=arguments,t=arguments.length,r=0;r<t;r++)this._client.send(new h(e[r],0).buffer());for(var i=t-1;i>=0;i--)this._client.send(new h(e[i],1).buffer())}},{key:"switchSession",value:function(e){e!=this._sessionId&&(this._client.send(new f.SwitchHostMessage(e).buffer()),this._sessionId=e)}},{key:"switchScreen",value:function(e){e!==this._screenId&&(this._client.send(new f.SwitchScreenMessage(e).buffer()),this._screenId=e)}},{key:"_messageHandler",value:function(e){this._client.debug("RECIVED: ",e);var t=new DataView(e),r=this._client.isEmbed()?24:0,i=t.getUint8(r+4);for(t.getUint8(0);;){switch(this._client.debug("Current state: ",i),i){case f.ID_ACCESS_MESSAGE:this._client.debug("Receive message: ID_ACCESS_MESSAGE"),this._processAccessMessage(t,r,e);break;case f.ID_CONTROL_MESSAGE:var n=t.getUint8(r+12);this._client.debug("Receive message: ID_CONTROL_MESSAGE, type: ",n);break;case f.ID_DISPLAY_CHANGE:this._processDisplayChange(t,r,e)}if((r+=t.getUint32(r,!0)+8)>=e.byteLength)break;i=t.getUint8(r+4)}}},{key:"_processDisplayChange",value:function(e,t,r){var i=e.getUint8(t+12);switch(this._client.debug("Receive message: ID_DISPLAY_CHANGE, type: ",i),i){case f.ID_QUERY_CONFIG_RES:this._client.debug("Receive Message: ID_QUERY_CONFIG_RES"),this._client.send(new f.DoubleMessage(f.ID_ACCESS_MESSAGE,f.ID_ENUM_SCREEN_REQUEST).buffer());break;case f.ID_IMAGE_H264:this._client.debug("Receive Message: ID_IMAGE_H264");var n=e.getUint32(t+24,!0),a=e.getUint32(t+8,!0)-20-8;this._client.debug("STREAM :",a," Bytes Received");var o=r.slice(t+44,a+t+44),s=new Uint8Array(o);this.emit("stream",s,{streamId:n,width:e.getUint16(t+20,!0),height:e.getUint16(t+22,!0),frameId:e.getUint16(t+40),length:a,type:e.getUint8(t+42)});break;case f.ID_CHANGE_COPYRECT:this._client.debug("Receive Message: ID_CHANGE_COPYRECT");break;case f.ID_IMAGE_ZIP:throw this._client.debug("Receive Message: ID_IMAGE_ZIP"),new Error("Unsupport zip format stream");case f.ID_IMAGE_INFO:this._client.debug("Receive Message: ID_IMAGE_INFO");var l=new c(e.getUint16(t+16,!0),e.getUint16(t+18,!0),e.getUint32(t+20,!0),e.getUint32(t+24,!0),e.getUint32(t+28,!0),e.getUint8(t+32));this._imgInfo=l,this.emit("imageinfo",l),this._client.debug("Receive image info",l);break;case f.ID_LOAD_CACHE:this._client.debug("Receive Message: ID_LOAD_CACHE");break;case f.ID_UPDATE_CACHE:this._client.debug("Receive Message: ID_UPDATE_CACHE");break;case f.ID_SET_COMPRESSION:this._client.debug("Receive Message: ID_SET_COMPRESSION");var u=e.getUint8(t+16,!0),h=e.getUint8(t+17,!0);this._client.debug("ID_SET_COMPRESSION : compress - "+u+" - quality - "+h),this.emit("qualitychanged",u,h)}}},{key:"_processAccessMessage",value:function(e,t,r){var i=e.getUint8(t+12);switch(i){case f.ID_LOGON_REPLY:this._client.debug("Send enum users request",f.ID_ACCESS_MESSAGE,f.ID_ENUM_USERS),this._client.send(new f.DoubleMessage(f.ID_ACCESS_MESSAGE,f.ID_ENUM_USERS).buffer());break;case f.ID_ENUM_USERS_RES:this._client.debug("Receive command: ID_ENUM_USERS_RES");for(var n=e.getUint16(t+16,!0),a=e.getUint16(t+20,!0),o=[],s=0;s<n;s++){var l=r.slice(t+20+68*s+4,t+20+68*s+4+64);o.push({id:e.getUint16(t+20+68*s,!0),name:String.fromCharCode.apply(null,new Uint16Array(l))})}this._sessions=o,this._sessionId=a,this._client.send(new f.SwitchHostMessage(this._sessionId).buffer()),this.emit("session",o);break;case f.ID_SWITCH_HOST_RES:this._client.debug("Receive command: ID_SWITCH_HOST_RES"),this._client.send(new f.CtrlMessage({compress:9,quality:this._options.quality}).buffer()),this._client.send((new f.MouseCtrlMessage).buffer()),this._client.send((new f.SystemMgrMessage).buffer());break;case f.ID_ENUM_SCREEN_RESPONSE:this._client.debug("Receive command: ID_ENUM_SCREEN_RESPONSE"),this._screenId=0,this._screenCount=e.getUint32(t+16,!0),this.emit("screen",this._screenCount),this._client.send(new f.DoubleMessage(f.ID_DISPLAY_CHANGE,f.ID_START_DESKTOP_STREAM).buffer());break;default:this._client.debug("Receive command: ",i)}}}]),t}(s),c=function e(t,r,n,a,o,s){i(this,e),this.width=t,this.height=r,this.redMask=n,this.greenMask=a,this.blueMask=o,this.bitsPixel=s},h=function(e){function t(e,r){i(this,t);var a=n(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),o=new ArrayBuffer(12);return a._dataview=new DataView(o),a._dataview.setUint32(0,4,!0),a._dataview.setUint8(4,f.ID_KEYBOARD_EVENT),a._dataview.setUint8(5,0),a._dataview.setUint8(6,0),a._dataview.setUint8(7,0),a._dataview.setUint8(8,e),a._dataview.setUint8(9,0),a._dataview.setUint16(10,r,!0),a}return a(t,e),t}(f.Message),d=function(e){function t(e,r,a,o,s){i(this,t);var l=n(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),u=new ArrayBuffer(16);return l._dataview=new DataView(u),l._dataview.setUint32(0,8,!0),l._dataview.setUint8(4,f.ID_MOUSE_EVENT),l._dataview.setUint8(5,0),l._dataview.setUint8(6,0),l._dataview.setUint8(7,0),l._dataview.setUint8(8,e),l._dataview.setUint8(9,r),l._dataview.setUint8(10,a),l._dataview.setUint8(11,0),l._dataview.setUint16(12,o,!0),l._dataview.setUint16(14,s,!0),l}return a(t,e),t}(f.Message);!function(e){function t(e){i(this,t);var r=n(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),a=new ArrayBuffer(24);return r._dataview=new DataView(a),r._dataview.setUint32(0,16,!0),r._dataview.setUint8(4,f.ID_ACCESS_MESSAGE),r._dataview.setUint8(5,0),r._dataview.setUint8(6,0),r._dataview.setUint8(7,0),r._dataview.setUint32(8,8,!0),r._dataview.setUint8(12,f.ID_SWITCH_SCREEN_REQUEST),r._dataview.setUint8(13,0),r._dataview.setUint8(14,0),r._dataview.setUint8(15,0),r._dataview.setUint8(16,e),r}a(t,e)}(f.Message);u.MouseEvent=d,u.KeyboardEvent=h,e.exports=u},function(e,t,r){"use strict";function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){var r=new Uint8Array(e.byteLength+t.byteLength);return r.set(new Uint8Array(e),0),r.set(new Uint8Array(t),e.byteLength),r.buffer}var f,l=function(){function e(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,r,i){return r&&e(t.prototype,r),i&&e(t,i),t}}(),u=242,c=5,h=15,d=243,b=1,p=1,w=23,k=6,_=3,v=function(){function e(){o(this,e)}return l(e,[{key:"buffer",value:function(){return void 0==this._dataview?null:this._dataview.buffer}}]),e}(),y=function(e){function t(e,r){o(this,t);var i=n(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),a=new ArrayBuffer(16);return i._dataview=new DataView(a),i._dataview.setUint32(0,8,!0),i._dataview.setUint8(4,e),i._dataview.setUint8(5,0),i._dataview.setUint8(6,0),i._dataview.setUint8(7,0),i._dataview.setUint32(8,0,!0),i._dataview.setUint8(12,r),i._dataview.setUint8(13,0),i._dataview.setUint8(14,0),i._dataview.setUint8(15,0),i}return a(t,e),t}(v),g=function(e){function t(e,r){o(this,t);var i=n(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),a="Host:"+e+"\nSession:"+r+"\n",s=44+a.length,f=new ArrayBuffer(44);return i._dataview=new DataView(f),i._dataview.setUint32(0,0,!0),i._dataview.setUint16(4,4160,!0),i._dataview.setUint16(6,0,!0),i._dataview.setUint32(8,s,!0),i._dataview.setUint32(12,131078,!0),i._dataview.setUint32(16,0,!0),i._dataview.setUint32(20,s-20,!0),i._dataview.setUint32(24,s-20-4,!0),i._dataview.setUint8(28,u),i._dataview.setUint8(29,0),i._dataview.setUint8(30,0),i._dataview.setUint8(31,0),i._dataview.setUint32(32,s-20-8-4,!0),i._dataview.setUint8(36,1),i._dataview.setUint8(37,0),i._dataview.setUint8(38,0),i._dataview.setUint8(39,0),i._dataview.setUint16(40,1,!0),i._dataview.setUint16(42,s-20-16-4,!0),i}return a(t,e),t}(v),m=function(e){function t(e){o(this,t);var r=n(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),i=new ArrayBuffer(20),a=new DataView(i);a.setUint32(0,48,!0),a.setUint8(4,d),a.setUint8(5,0),a.setUint8(6,0),a.setUint8(7,0),a.setUint8(8,b),a.setUint8(9,0),a.setUint8(10,0),a.setUint8(11,0),a.setUint32(12,p,!0),a.setUint32(16,36,!0);var f=new E(e.compress,e.quality),l=new y(u,h),c=s(a.buffer,f.buffer());return r._dataview=new DataView(s(c,l.buffer())),r}return a(t,e),t}(v),E=function(e){function t(e,r){o(this,t);var i=n(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),a=new ArrayBuffer(4),f=new DataView(a);f.setUint8(0,e),f.setUint8(1,r),f.setUint16(2,0,!0);var l=new y(b,w);return l._dataview.setUint32(0,12,!0),l._dataview.setUint32(8,4,!0),i._dataview=new DataView(s(l.buffer(),f.buffer)),i}return a(t,e),t}(v),A=function(e){function t(e){o(this,t);var r=n(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),i=new ArrayBuffer(24);return r._dataview=new DataView(i),r._dataview.setUint32(0,16,!0),r._dataview.setUint8(4,u),r._dataview.setUint8(5,0),r._dataview.setUint8(6,0),r._dataview.setUint8(7,0),r._dataview.setUint32(8,8,!0),r._dataview.setUint8(12,c),r._dataview.setUint8(13,0),r._dataview.setUint8(14,0),r._dataview.setUint8(15,0),r._dataview.setUint32(16,e,!0),r._dataview.setUint32(20,0,!0),r}return a(t,e),t}(v),S=function(e){function t(){o(this,t);var e=n(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),r=new ArrayBuffer(20);return e._dataview=new DataView(r),e._dataview.setUint32(0,12,!0),e._dataview.setUint8(4,d),e._dataview.setUint8(5,0),e._dataview.setUint8(6,0),e._dataview.setUint8(7,0),e._dataview.setUint8(8,k),e._dataview.setUint8(9,0),e._dataview.setUint8(10,0),e._dataview.setUint8(11,0),e._dataview.setUint32(12,p,!0),e._dataview.setUint32(16,36,!0),e}return a(t,e),t}(v),T=function(e){function t(){o(this,t);var e=n(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),r=new ArrayBuffer(20);return e._dataview=new DataView(r),e._dataview.setUint32(0,12,!0),e._dataview.setUint8(4,d),e._dataview.setUint8(5,0),e._dataview.setUint8(6,0),e._dataview.setUint8(7,0),e._dataview.setUint8(8,_),e._dataview.setUint8(9,0),e._dataview.setUint8(10,0),e._dataview.setUint8(11,0),e._dataview.setUint32(12,p,!0),e._dataview.setUint32(16,36,!0),e}return a(t,e),t}(v);e.exports=(f={ID_ACCESS_MESSAGE:u,ID_LOGON_REPLY:2,ID_ENUM_USERS:3,ID_ENUM_USERS_RES:4,ID_SWITCH_HOST:c,ID_SWITCH_HOST_RES:7,ID_QUERY_CONFIG:h,ID_SWITCH_SCREEN_REQUEST:18,ID_SWITCH_SCREEN_RESPONSE:19},i(f,"ID_QUERY_CONFIG",h),i(f,"ID_ENUM_SCREEN_REQUEST",20),i(f,"ID_ENUM_SCREEN_RESPONSE",21),i(f,"ID_CONTROL_MESSAGE",d),i(f,"ID_DISPLAY_CHANGE",b),i(f,"ID_CHANGE_COPYRECT",1),i(f,"CTRL_RUN",p),i(f,"ID_IMAGE_INFO",12),i(f,"ID_IMAGE_ZIP",8),i(f,"ID_IMAGE_H264",9),i(f,"ID_UPDATE_CACHE",18),i(f,"ID_LOAD_CACHE",20),i(f,"ID_SET_COMPRESSION",w),i(f,"ID_QUERY_CONFIG_RES",53),i(f,"ID_START_DESKTOP_STREAM",54),i(f,"ID_SYSTEM_MANAGE",k),i(f,"ID_ENUM_DISPLAYSETTING",5),i(f,"SYSMSG_ID_SHUTDOWN",4),i(f,"SYSMSG_ID_RESTART",2),i(f,"SYSMSG_ID_LOGOFF",3),i(f,"SYSMSG_ID_CONSOLE",4),i(f,"ID_KVM_PARAMS_SET",48),i(f,"ID_MOUSE_EVENT",_),i(f,"ID_KEYBOARD_EVENT",4),i(f,"Message",v),i(f,"DoubleMessage",y),i(f,"LoginHeaderMessage",g),i(f,"CtrlMessage",m),i(f,"SetCompressMessage",E),i(f,"SystemMgrMessage",S),i(f,"SwitchHostMessage",A),i(f,"MouseCtrlMessage",T),f)},function(e,t,r){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,e.preventDefault?e.preventDefault():e.returnValue=!1}function f(e){var t=null;switch(e.keyCode){case 8:t=65288;break;case 13:t=65293;break;case 9:t=65289}if("keydown"===e.type)switch(e.keyCode){case 27:t=65307;break;case 46:t=65535;break;case 36:t=65360;break;case 35:t=65367;break;case 33:t=65365;break;case 34:t=65366;break;case 45:t=65379;break;case 37:t=65361;break;case 38:t=65362;break;case 39:t=65363;break;case 40:t=65364;break;case 16:t=65505;break;case 17:t=65507;break;case 18:t=65513;break;case 112:t=65470;break;case 113:t=65471;break;case 114:t=65472;break;case 115:t=65473;break;case 116:t=65474;break;case 117:t=65475;break;case 118:t=65476;break;case 119:t=65477;break;case 120:t=65478;break;case 121:t=65479;break;case 122:t=65480;break;case 123:t=65481}if(!t&&(e.ctrlKey||e.altKey)){switch(t=void 0!==e.which&&e.which>0?e.which:e.keyCode){case 186:t=59;break;case 187:t=61;break;case 188:t=44;break;case 109:(Util.Engine.gecko||Util.Engine.presto)&&(t=45);break;case 189:t=45;break;case 190:t=46;break;case 191:t=47;break;case 192:t=96;break;case 219:t=91;break;case 220:t=92;break;case 221:t=93;break;case 222:t=39}if(e.shiftKey)switch(t){case 48:t=41;break;case 49:t=33;break;case 50:t=64;break;case 51:t=35;break;case 52:t=36;break;case 53:t=37;break;case 54:t=94;break;case 55:t=38;break;case 56:t=42;break;case 57:t=40;break;case 59:t=58;break;case 61:t=43;break;case 44:t=60;break;case 45:t=95;break;case 46:t=62;break;case 47:t=63;break;case 96:t=126;break;case 91:t=123;break;case 92:t=124;break;case 93:t=125;break;case 39:t=34}else if(t>=65&&t<=90)t+=32;else if(3===e.keyLocation)switch(t){case 96:t=48;break;case 97:t=49;break;case 98:t=50;break;case 99:t=51;break;case 100:t=52;break;case 101:t=53;break;case 102:t=54;break;case 103:t=55;break;case 104:t=56;break;case 105:t=57;break;case 109:t=45;break;case 110:t=46;break;case 111:t=47}}return t}function l(e){var t;return t=void 0!==e.which?e.which:e.keyCode,t>255&&t<65280&&void 0===(t=d[t])&&(t=0),t}var u,c=function(){function e(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,r,i){return r&&e(t.prototype,r),i&&e(t,i),t}}(),h=r(3),d=(u={260:417,728:418,321:419,317:421,346:422,352:425,350:426,356:427,377:428,381:430,379:431,261:433,731:434,322:435,318:437,347:438,711:439,353:441,351:442,357:443,378:444,733:445,382:446,380:447,340:448,258:451,313:453,262:454,268:456,280:458,282:460,270:463,272:464,323:465,327:466,336:469,344:472,366:473,368:475,354:478,341:480,259:483,314:485,263:486,269:488,281:490,283:492,271:495,273:496,324:497,328:498,337:501,369:507,345:504,367:505,355:510,729:511,294:673,292:678,304:681,286:683,308:684,295:689,293:694,305:697,287:699,309:700,266:709,264:710,288:725,284:728,364:733,348:734,267:741,265:742,289:757,285:760,365:765,349:766,312:930,342:931,296:933,315:934,274:938,290:939,358:940,343:947,297:949,316:950,275:954,291:955,359:956,330:957,331:959,256:960,302:967,278:972,298:975,325:977,332:978,310:979,370:985,360:989,362:990,257:992,303:999,279:1004,299:1007,326:1009,333:1010,311:1011,371:1017,361:1021,363:1022,7682:16784898,7683:16784899,7690:16784906,7808:16785024,7810:16785026,7691:16784907,7922:16785138,7710:16784926,7711:16784927,7744:16784960,7745:16784961,7766:16784982,7809:16785025,7767:16784983,7811:16785027,7776:16784992,7923:16785139,7812:16785028,7813:16785029,7777:16784993,372:16777588,7786:16785002,374:16777590,373:16777589,7787:16785003,375:16777591,338:5052,339:5053,376:5054,8254:1150,12290:1185,12300:1186,12301:1187,12289:1188,12539:1189,12530:1190,12449:1191,12451:1192,12453:1193,12455:1194,12457:1195,12515:1196,12517:1197,12519:1198,12483:1199,12540:1200,12450:1201,12452:1202,12454:1203,12456:1204,12458:1205,12459:1206,12461:1207,12463:1208,12465:1209,12467:1210,12469:1211,12471:1212,12473:1213,12475:1214,12477:1215,12479:1216,12481:1217,12484:1218,12486:1219,12488:1220,12490:1221,12491:1222,12492:1223,12493:1224,12494:1225,12495:1226,12498:1227,12501:1228,12504:1229,12507:1230,12510:1231,12511:1232,12512:1233,12513:1234,12514:1235,12516:1236,12518:1237,12520:1238,12521:1239,12522:1240,12523:1241,12524:1242,12525:1243,12527:1244,12531:1245,12443:1246,12444:1247,1776:16778992,1777:16778993,1778:16778994,1779:16778995,1780:16778996,1781:16778997,1782:16778998,1783:16778999,1784:16779e3,1785:16779001,1642:16778858,1648:16778864,1657:16778873,1662:16778878,1670:16778886,1672:16778888,1681:16778897,1548:1452,1748:16778964,1632:16778848,1633:16778849,1634:16778850,1635:16778851,1636:16778852,1637:16778853,1638:16778854,1639:16778855,1640:16778856,1641:16778857,1563:1467,1567:1471,1569:1473,1570:1474,1571:1475,1572:1476,1573:1477,1574:1478,1575:1479,1576:1480,1577:1481,1578:1482,1579:1483,1580:1484,1581:1485,1582:1486,1583:1487,1584:1488,1585:1489,1586:1490,1587:1491,1588:1492,1589:1493,1590:1494,1591:1495,1592:1496,1593:1497,1594:1498,1600:1504,1601:1505,1602:1506,1603:1507,1604:1508,1605:1509,1606:1510,1607:1511,1608:1512,1609:1513,1610:1514,1611:1515,1612:1516,1613:1517,1614:1518,1615:1519,1616:1520,1617:1521,1618:1522,1619:16778835,1620:16778836,1621:16778837,1688:16778904,1700:16778916,1705:16778921,1711:16778927,1722:16778938,1726:16778942,1740:16778956,1746:16778962,1729:16778945,1170:16778386,1171:16778387,1174:16778390,1175:16778391,1178:16778394,1179:16778395,1180:16778396,1181:16778397,1186:16778402,1187:16778403,1198:16778414,1199:16778415,1200:16778416,1201:16778417,1202:16778418,1203:16778419,1206:16778422,1207:16778423,1208:16778424,1209:16778425,1210:16778426,1211:16778427,1240:16778456,1241:16778457,1250:16778466,1251:16778467,1256:16778472,1257:16778473,1262:16778478,1263:16778479,1106:1697,1107:1698,1105:1699,1108:1700,1109:1701,1110:1702,1111:1703,1112:1704,1113:1705,1114:1706,1115:1707,1116:1708,1169:1709,1118:1710,1119:1711,8470:1712,1026:1713,1027:1714,1025:1715,1028:1716,1029:1717,1030:1718,1031:1719,1032:1720,1033:1721,1034:1722,1035:1723,1036:1724,1168:1725,1038:1726,1039:1727,1102:1728,1072:1729,1073:1730,1094:1731,1076:1732,1077:1733,1092:1734,1075:1735,1093:1736,1080:1737,1081:1738,1082:1739,1083:1740,1084:1741,1085:1742,1086:1743,1087:1744,1103:1745,1088:1746,1089:1747,1090:1748,1091:1749,1078:1750,1074:1751,1100:1752,1099:1753,1079:1754,1096:1755,1101:1756,1097:1757,1095:1758,1098:1759,1070:1760,1040:1761,1041:1762,1062:1763,1044:1764,1045:1765,1060:1766,1043:1767,1061:1768,1048:1769,1049:1770,1050:1771,1051:1772,1052:1773,1053:1774,1054:1775,1055:1776,1071:1777,1056:1778,1057:1779,1058:1780,1059:1781,1046:1782,1042:1783,1068:1784,1067:1785,1047:1786,1064:1787,1069:1788,1065:1789,1063:1790,1066:1791,902:1953,904:1954,905:1955,906:1956,938:1957,908:1959,910:1960,939:1961,911:1963,901:1966,8213:1967,940:1969,941:1970,942:1971,943:1972,970:1973,912:1974,972:1975,973:1976,971:1977,944:1978,974:1979,913:1985,914:1986,915:1987,916:1988,917:1989,918:1990,919:1991,920:1992,921:1993,922:1994,923:1995,924:1996,925:1997,926:1998,927:1999,928:2e3,929:2001,931:2002,932:2004,933:2005,934:2006,935:2007,936:2008,937:2009,945:2017,946:2018,947:2019,948:2020,949:2021,950:2022,951:2023,952:2024,953:2025,954:2026,955:2027,956:2028,957:2029,958:2030,959:2031,960:2032,961:2033,963:2034,962:2035,964:2036,965:2037,966:2038,967:2039,968:2040,969:2041,9143:2209,8992:2212,8993:2213,9121:2215,9123:2216,9124:2217,9126:2218,9115:2219,9117:2220,9118:2221,9120:2222,9128:2223,9132:2224,8804:2236,8800:2237,8805:2238,8747:2239,8756:2240,8733:2241,8734:2242,8711:2245,8764:2248,8771:2249,8660:2253,8658:2254,8801:2255,8730:2262,8834:2266,8835:2267,8745:2268,8746:2269,8743:2270,8744:2271,8706:2287,402:2294,8592:2299,8593:2300,8594:2301,8595:2302,9670:2528,9618:2529,9225:2530,9228:2531,9229:2532,9226:2533,9252:2536,9227:2537,9496:2538,9488:2539,9484:2540,9492:2541,9532:2542,9146:2543,9147:2544,9472:2545,9148:2546,9149:2547,9500:2548,9508:2549,9524:2550,9516:2551,9474:2552,8195:2721,8194:2722,8196:2723,8197:2724,8199:2725,8200:2726,8201:2727,8202:2728,8212:2729,8211:2730,8230:2734,8229:2735,8531:2736,8532:2737,8533:2738,8534:2739,8535:2740,8536:2741,8537:2742,8538:2743,8453:2744,8210:2747,8539:2755,8540:2756,8541:2757,8542:2758,8482:2761,8216:2768,8217:2769,8220:2770,8221:2771,8478:2772,8242:2774,8243:2775,10013:2777,9827:2796,9830:2797,9829:2798,10016:2800,8224:2801,8225:2802,10003:2803,10007:2804,9839:2805,9837:2806,9794:2807,9792:2808,9742:2809,8981:2810,8471:2811,8248:2812,8218:2813,8222:2814,8868:3010,8970:3012,8728:3018,9109:3020,8869:3022,9675:3023,8968:3027,8867:3036,8866:3068,8215:3295,1488:3296,1489:3297,1490:3298,1491:3299,1492:3300,1493:3301,1494:3302,1495:3303,1496:3304,1497:3305,1498:3306,1499:3307,1500:3308,1501:3309,1502:3310,1503:3311,1504:3312,1505:3313,1506:3314,1507:3315,1508:3316,1509:3317,1510:3318,1511:3319,1512:3320,1513:3321,1514:3322,3585:3489,3586:3490,3587:3491,3588:3492,3589:3493,3590:3494,3591:3495,3592:3496,3593:3497,3594:3498,3595:3499,3596:3500,3597:3501,3598:3502,3599:3503,3600:3504,3601:3505,3602:3506,3603:3507,3604:3508,3605:3509,3606:3510,3607:3511,3608:3512,3609:3513,3610:3514,3611:3515,3612:3516,3613:3517,3614:3518,3615:3519,3616:3520,3617:3521,3618:3522,3619:3523,3620:3524,3621:3525,3622:3526,3623:3527,3624:3528,3625:3529,3626:3530,3627:3531,3628:3532,3629:3533,3630:3534,3631:3535,3632:3536,3633:3537,3634:3538,3635:3539,3636:3540,3637:3541,3638:3542,3639:3543,3640:3544,3641:3545,3642:3546,3647:3551,3648:3552,3649:3553,3650:3554,3651:3555,3652:3556,3653:3557,3654:3558,3655:3559,3656:3560,3657:3561,3658:3562,3659:3563,3660:3564,3661:3565,3664:3568,3665:3569,3666:3570,3667:3571,3668:3572,3669:3573,3670:3574,3671:3575,3672:3576,3673:3577,1415:16778631,1417:16778633,1373:16778589,1418:16778634,1372:16778588,1371:16778587,1374:16778590,1329:16778545,1377:16778593,1330:16778546,1378:16778594,1331:16778547,1379:16778595,1332:16778548,1380:16778596,1333:16778549,1381:16778597,1334:16778550,1382:16778598,1335:16778551,1383:16778599,1336:16778552,1384:16778600,1337:16778553,1385:16778601,1338:16778554,1386:16778602,1339:16778555,1387:16778603,1340:16778556,1388:16778604,1341:16778557,1389:16778605,1342:16778558,1390:16778606,1343:16778559,1391:16778607,1344:16778560,1392:16778608,1345:16778561,1393:16778609,1346:16778562,1394:16778610,1347:16778563,1395:16778611,1348:16778564,1396:16778612,1349:16778565,1397:16778613,1350:16778566,1398:16778614,1351:16778567,1399:16778615,1352:16778568,1400:16778616,1353:16778569,1401:16778617,1354:16778570,1402:16778618,1355:16778571,1403:16778619,1356:16778572,1404:16778620,1357:16778573,1405:16778621,1358:16778574,1406:16778622,1359:16778575,1407:16778623,1360:16778576,1408:16778624,1361:16778577,1409:16778625,1362:16778578,1410:16778626,1363:16778579,1411:16778627,1364:16778580,1412:16778628,1365:16778581,1413:16778629,1366:16778582,1414:16778630,1370:16778586,4304:16781520,4305:16781521,4306:16781522,4307:16781523,4308:16781524,4309:16781525,4310:16781526,4311:16781527,4312:16781528,4313:16781529,4314:16781530,4315:16781531,4316:16781532,4317:16781533,4318:16781534,4319:16781535,4320:16781536,4321:16781537,4322:16781538,4323:16781539,4324:16781540,4325:16781541,4326:16781542,4327:16781543,4328:16781544,4329:16781545,4330:16781546,4331:16781547,4332:16781548,4333:16781549,4334:16781550,4335:16781551,4336:16781552,4337:16781553,4338:16781554,4339:16781555,4340:16781556,4341:16781557,4342:16781558,7818:16785034,300:16777516,437:16777653,486:16777702,466:16777681,415:16777631,7819:16785035,301:16777517,438:16777654,487:16777703},o(u,"466",16777682),o(u,629,16777845),o(u,399,16777615),o(u,601,16777817),o(u,7734,16784950),o(u,7735,16784951),o(u,7840,16785056),o(u,7841,16785057),o(u,7842,16785058),o(u,7843,16785059),o(u,7844,16785060),o(u,7845,16785061),o(u,7846,16785062),o(u,7847,16785063),o(u,7848,16785064),o(u,7849,16785065),o(u,7850,16785066),o(u,7851,16785067),o(u,7852,16785068),o(u,7853,16785069),o(u,7854,16785070),o(u,7855,16785071),o(u,7856,16785072),o(u,7857,16785073),o(u,7858,16785074),o(u,7859,16785075),o(u,7860,16785076),o(u,7861,16785077),o(u,7862,16785078),o(u,7863,16785079),o(u,7864,16785080),o(u,7865,16785081),o(u,7866,16785082),o(u,7867,16785083),o(u,7868,16785084),o(u,7869,16785085),o(u,7870,16785086),o(u,7871,16785087),o(u,7872,16785088),o(u,7873,16785089),o(u,7874,16785090),o(u,7875,16785091),o(u,7876,16785092),o(u,7877,16785093),o(u,7878,16785094),o(u,7879,16785095),o(u,7880,16785096),o(u,7881,16785097),o(u,7882,16785098),o(u,7883,16785099),o(u,7884,16785100),o(u,7885,16785101),o(u,7886,16785102),o(u,7887,16785103),o(u,7888,16785104),o(u,7889,16785105),o(u,7890,16785106),o(u,7891,16785107),o(u,7892,16785108),o(u,7893,16785109),o(u,7894,16785110),o(u,7895,16785111),o(u,7896,16785112),o(u,7897,16785113),o(u,7898,16785114),o(u,7899,16785115),o(u,7900,16785116),o(u,7901,16785117),o(u,7902,16785118),o(u,7903,16785119),o(u,7904,16785120),o(u,7905,16785121),o(u,7906,16785122),o(u,7907,16785123),o(u,7908,16785124),o(u,7909,16785125),o(u,7910,16785126),o(u,7911,16785127),o(u,7912,16785128),o(u,7913,16785129),o(u,7914,16785130),o(u,7915,16785131),o(u,7916,16785132),o(u,7917,16785133),o(u,7918,16785134),o(u,7919,16785135),o(u,7920,16785136),o(u,7921,16785137),o(u,7924,16785140),o(u,7925,16785141),o(u,7926,16785142),o(u,7927,16785143),o(u,7928,16785144),o(u,7929,16785145),o(u,416,16777632),o(u,417,16777633),o(u,431,16777647),o(u,432,16777648),o(u,8352,16785568),o(u,8353,16785569),o(u,8354,16785570),o(u,8355,16785571),o(u,8356,16785572),o(u,8357,16785573),o(u,8358,16785574),o(u,8359,16785575),o(u,8360,16785576),o(u,8361,16785577),o(u,8362,16785578),o(u,8363,16785579),o(u,8364,8364),o(u,8304,16785520),o(u,8308,16785524),o(u,8309,16785525),o(u,8310,16785526),o(u,8311,16785527),o(u,8312,16785528),o(u,8313,16785529),o(u,8320,16785536),o(u,8321,16785537),o(u,8322,16785538),o(u,8323,16785539),o(u,8324,16785540),o(u,8325,16785541),o(u,8326,16785542),o(u,8327,16785543),o(u,8328,16785544),o(u,8329,16785545),o(u,"8706",16785922),o(u,8709,16785925),o(u,8712,16785928),o(u,8713,16785929),o(u,8715,16785931),o(u,"8730",16785946),o(u,8731,16785947),o(u,8732,16785948),o(u,8748,16785964),o(u,8749,16785965),o(u,8757,16785973),o(u,8773,16785992),o(u,8775,16785991),o(u,8802,16786018),o(u,8803,16786019),o(u,10240,16787456),o(u,10241,16787457),o(u,10242,16787458),o(u,10243,16787459),o(u,10244,16787460),o(u,10245,16787461),o(u,10246,16787462),o(u,10247,16787463),o(u,10248,16787464),o(u,10249,16787465),o(u,10250,16787466),o(u,10251,16787467),o(u,10252,16787468),o(u,10253,16787469),o(u,10254,16787470),o(u,10255,16787471),o(u,10256,16787472),o(u,10257,16787473),o(u,10258,16787474),o(u,10259,16787475),o(u,10260,16787476),o(u,10261,16787477),o(u,10262,16787478),o(u,10263,16787479),o(u,10264,16787480),o(u,10265,16787481),o(u,10266,16787482),o(u,10267,16787483),o(u,10268,16787484),o(u,10269,16787485),o(u,10270,16787486),o(u,10271,16787487),o(u,10272,16787488),o(u,10273,16787489),o(u,10274,16787490),o(u,10275,16787491),o(u,10276,16787492),o(u,10277,16787493),o(u,10278,16787494),o(u,10279,16787495),o(u,10280,16787496),o(u,10281,16787497),o(u,10282,16787498),o(u,10283,16787499),o(u,10284,16787500),o(u,10285,16787501),o(u,10286,16787502),o(u,10287,16787503),o(u,10288,16787504),o(u,10289,16787505),o(u,10290,16787506),o(u,10291,16787507),o(u,10292,16787508),o(u,10293,16787509),o(u,10294,16787510),o(u,10295,16787511),o(u,10296,16787512),o(u,10297,16787513),o(u,10298,16787514),o(u,10299,16787515),o(u,10300,16787516),o(u,10301,16787517),o(u,10302,16787518),o(u,10303,16787519),o(u,10304,16787520),o(u,10305,16787521),o(u,10306,16787522),o(u,10307,16787523),o(u,10308,16787524),o(u,10309,16787525),o(u,10310,16787526),o(u,10311,16787527),o(u,10312,16787528),o(u,10313,16787529),o(u,10314,16787530),o(u,10315,16787531),o(u,10316,16787532),o(u,10317,16787533),o(u,10318,16787534),o(u,10319,16787535),o(u,10320,16787536),o(u,10321,16787537),o(u,10322,16787538),o(u,10323,16787539),o(u,10324,16787540),o(u,10325,16787541),o(u,10326,16787542),o(u,10327,16787543),o(u,10328,16787544),o(u,10329,16787545),o(u,10330,16787546),o(u,10331,16787547),o(u,10332,16787548),o(u,10333,16787549),o(u,10334,16787550),o(u,10335,16787551),o(u,10336,16787552),o(u,10337,16787553),o(u,10338,16787554),o(u,10339,16787555),o(u,10340,16787556),o(u,10341,16787557),o(u,10342,16787558),o(u,10343,16787559),o(u,10344,16787560),o(u,10345,16787561),o(u,10346,16787562),o(u,10347,16787563),o(u,10348,16787564),o(u,10349,16787565),o(u,10350,16787566),o(u,10351,16787567),o(u,10352,16787568),o(u,10353,16787569),o(u,10354,16787570),o(u,10355,16787571),o(u,10356,16787572),o(u,10357,16787573),o(u,10358,16787574),o(u,10359,16787575),o(u,10360,16787576),o(u,10361,16787577),o(u,10362,16787578),o(u,10363,16787579),o(u,10364,16787580),o(u,10365,16787581),o(u,10366,16787582),o(u,10367,16787583),o(u,10368,16787584),o(u,10369,16787585),o(u,10370,16787586),o(u,10371,16787587),o(u,10372,16787588),o(u,10373,16787589),o(u,10374,16787590),o(u,10375,16787591),o(u,10376,16787592),o(u,10377,16787593),o(u,10378,16787594),o(u,10379,16787595),o(u,10380,16787596),o(u,10381,16787597),o(u,10382,16787598),o(u,10383,16787599),o(u,10384,16787600),o(u,10385,16787601),o(u,10386,16787602),o(u,10387,16787603),o(u,10388,16787604),o(u,10389,16787605),o(u,10390,16787606),o(u,10391,16787607),o(u,10392,16787608),o(u,10393,16787609),o(u,10394,16787610),o(u,10395,16787611),o(u,10396,16787612),o(u,10397,16787613),o(u,10398,16787614),o(u,10399,16787615),o(u,10400,16787616),o(u,10401,16787617),o(u,10402,16787618),o(u,10403,16787619),o(u,10404,16787620),o(u,10405,16787621),o(u,10406,16787622),o(u,10407,16787623),o(u,10408,16787624),o(u,10409,16787625),o(u,10410,16787626),o(u,10411,16787627),o(u,10412,16787628),o(u,10413,16787629),o(u,10414,16787630),o(u,10415,16787631),o(u,10416,16787632),o(u,10417,16787633),o(u,10418,16787634),o(u,10419,16787635),o(u,10420,16787636),o(u,10421,16787637),o(u,10422,16787638),o(u,10423,16787639),o(u,10424,16787640),o(u,10425,16787641),o(u,10426,16787642),o(u,10427,16787643),o(u,10428,16787644),o(u,10429,16787645),o(u,10430,16787646),o(u,10431,16787647),o(u,10432,16787648),o(u,10433,16787649),o(u,10434,16787650),o(u,10435,16787651),o(u,10436,16787652),o(u,10437,16787653),o(u,10438,16787654),o(u,10439,16787655),o(u,10440,16787656),o(u,10441,16787657),o(u,10442,16787658),o(u,10443,16787659),o(u,10444,16787660),o(u,10445,16787661),o(u,10446,16787662),o(u,10447,16787663),o(u,10448,16787664),o(u,10449,16787665),o(u,10450,16787666),o(u,10451,16787667),o(u,10452,16787668),o(u,10453,16787669),o(u,10454,16787670),o(u,10455,16787671),o(u,10456,16787672),o(u,10457,16787673),o(u,10458,16787674),o(u,10459,16787675),o(u,10460,16787676),o(u,10461,16787677),o(u,10462,16787678),o(u,10463,16787679),o(u,10464,16787680),o(u,10465,16787681),o(u,10466,16787682),o(u,10467,16787683),o(u,10468,16787684),o(u,10469,16787685),o(u,10470,16787686),o(u,10471,16787687),o(u,10472,16787688),o(u,10473,16787689),o(u,10474,16787690),o(u,10475,16787691),o(u,10476,16787692),o(u,10477,16787693),o(u,10478,16787694),o(u,10479,16787695),o(u,10480,16787696),o(u,10481,16787697),o(u,10482,16787698),o(u,10483,16787699),o(u,10484,16787700),o(u,10485,16787701),o(u,10486,16787702),o(u,10487,16787703),o(u,10488,16787704),o(u,10489,16787705),o(u,10490,16787706),o(u,10491,16787707),o(u,10492,16787708),o(u,10493,16787709),o(u,10494,16787710),o(u,10495,16787711),u),b=0,p=1,w=1,k=2,_=3,v=5,y=6,g=8,m=9,E=11,A=function(e){function t(e){i(this,t);var r=n(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r._target=e,r}return a(t,e),c(t,[{key:"listen",value:function(){function e(e){switch(s(e),e.type){case"touchstart":case"mousedown":e.slMouseEvent={type:[k,g,v][e.button],flag:0,wheelData:0};break;case"mouseup":case"touchend":e.slMouseEvent={type:[_,m,y][e.button],flag:0,wheelData:0};break;case"DOMMouseScroll":case"mousewheel":e.slMouseEvent={type:E,flag:0,wheelData:e.wheelDelta};break;case"mousemove":case"touchmove":e.slMouseEvent={type:w,flag:0,wheelData:0};break;default:return}var r=document.documentElement&&document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft,i=document.documentElement&&document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop;e.slMouseEvent.x=1*(e.clientX+r-t._target.offsetLeft),e.slMouseEvent.y=1*(e.clientY+i-t._target.offsetTop),t.emit("active",e)}var t=this;"ontouchstart"in document.documentElement&&(document.addEventListener("touchstart",e),document.addEventListener("touchend",e),document.addEventListener("touchmove",e)),document.body.addEventListener("mousedown",e),document.body.addEventListener("mouseup",e),document.body.addEventListener("mousemove",e),document.body.addEventListener("mousewheel",e),document.body.addEventListener("DOMMouseScroll",e),document.addEventListener("click",s),document.body.addEventListener("contextmenu",s)}}]),t}(h.EventEmitter),S=function(e){function t(){i(this,t);var e=n(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e._keyDownList=[],e}return a(t,e),c(t,[{key:"listen",value:function(){function e(e){if(s(e),"undefined"!==e.which&&0===e.which)return!1;if(!t)var t=l(e);var i=null;switch(e.type){case"keydown":r._keyDownList.push({}),i=b;break;case"keypress":if(f(e))return;var n=r._keyDownList.length;n>0&&(r._keyDownList[n-1].keysym=t),i=b;break;case"keyup":i=p}e.keyboardEvent={keycode:t,mask:i},r.emit("active",e)}var t=this,r=this;document.addEventListener("keydown",e),document.addEventListener("keyup",e),document.addEventListener("blur",function(e){do{var i=r._keyDownList.pop();evt.keyboardEvent={keycode:i.keysym,mask:p},t.emit("active",evt)}while(r._keyDownList.length<=0)})}}]),t}(h.EventEmitter);t.Mouse=A,t.Keyboard=S},function(e,t,r){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(){function e(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,r,i){return r&&e(t.prototype,r),i&&e(t,i),t}}(),o=r(58),s=function(){function e(t,r){i(this,e),this._parentEle=t,this._frameSkip=null,this._frameCounter=0,console.log(void 0===r?"undefined":n(r)),"number"==typeof r&&r>0&&(this._frameSkip=Math.max(10,r))}return a(e,[{key:"render",value:function(){this._parentEle.appendChild(this.getDOMElement())}},{key:"getDOMElement",value:function(){return this._player.canvas}},{key:"zoom",value:function(e){this._parentEle.style.zoom=e}},{key:"getScale",value:function(){return null===this._parentEle.style.zoom||void 0===this._parentEle.style.zoom?1:this._parentEle.style.zoom}},{key:"decode",value:function(e,t){if(null!==this._frameSkip){var r=!1;if(this._frameCounter>0&&(r=!0),this._frameCounter++,this._frameCounter>this._frameSkip&&(this._frameCounter=0),r)return void console.log("Skipped frame")}if(!this._player){var i={size:{width:this._imageInfo.width,height:this._imageInfo.height}};32767!=t.streamId&&(i.isFix=!0),this._player=new o.Player(i),this.render()}this._imageInfo.width==t.width&&this._imageInfo.height==t.height||(this._player.canvas.width=t.width,this._player.canvas.height=t.height,this._imageInfo.width=t.width,this._imageInfo.height=t.height),this._player.decode(e)}},{key:"setImageInfo",value:function(e){this._imageInfo=e}},{key:"_onPictureDecoded",value:function(e,t,r){if(e){if(this._imgData&&t==this._canvas.width&&r==this._canvas.height||(this._canvas.width=t,this._canvas.height=r,this._canvasCtx=this._canvas.getContext("2d"),this._imgData=this._canvasCtx.createImageData(t,r)),this._streamInfo&&32767!=this._streamInfo.stramId)return this._fixDisplay(e,t,r,0,0);this._imgData.data.set(e),this._canvasCtx.putImageData(this._imgData)}}},{key:"_fixDisplay",value:function(e,t,r,i,n){var a,o,s=Uint8ClampedArray.from(e),f=this._imageInfo.bitsPixel/8;if(16==this._imageInfo.bitsPixel)if(63488==this._imageInfo.redMask&&2016==this._imageInfo.greenMask&&31==this._imageInfo.blueMask)for(o=0;o<r;o++){var l,u,c,h=o*t*f,d=(r-o-1)*t*4;for(a=0;a<t*f;a+=f){var b=s[h+a],p=s[h+a+1],w=p<<8|b;l=(63488&w)>>11,u=(2016&w)>>5,c=31&w,c<<=3,u<<=2,l<<=3,e[d]=l,e[d+1]=u,e[d+2]=c,e[d+3]=255,d+=4}}else for(o=0;o<r;o++){var l,u,c,h=o*t*f,d=(r-o-1)*t*4;for(a=0;a<t*f;a+=f){var b=s[h+a],p=s[h+a+1],k=p<<8|b;l=k<<3&248,u=k>>2&248,c=k>>7&248,e[d]=l,e[d+1]=u,e[d+2]=c,e[d+3]=255,d+=4}}else if(24==this._imageInfo.bitsPixel||32==this._imageInfo.bitsPixel)for(o=0;o<r;o++){var h=o*t*f,d=(r-o-1)*t*4;for(a=0;a<t*f;a+=f)e[d]=s[h+a+2],e[d+1]=s[h+a+1],e[d+2]=s[h+a],e[d+3]=255,d+=4}return e}}]),e}();e.exports=s},function(e,t,r){"use strict";e.exports={Player:r(59),Decoder:r(24),YUVCanvas:r(25)}},function(e,t,r){"use strict";var i,n,a;"function"==typeof Symbol&&Symbol.iterator;!function(o,s){n=[r(24),r(25)],i=s,void 0!==(a="function"==typeof i?i.apply(t,n):i)&&(e.exports=a)}(0,function(e,t){var r=e.nowValue,i=function(t){var i=this;this._config=t||{},this.render=!0,!1===this._config.render&&(this.render=!1),this.nowValue=r,this._config.workerFile=this._config.workerFile||"Decoder.js",this._config.preserveDrawingBuffer&&(this._config.contextOptions=this._config.contextOptions||{},this._config.contextOptions.preserveDrawingBuffer=!0);var n="auto";if(!0===this._config.webgl?n=!0:!1===this._config.webgl&&(n=!1),"auto"==n){n=!0;try{if(window.WebGLRenderingContext){document.createElement("canvas").getContext("webgl")||(n=!1)}else n=!1}catch(e){n=!1}}this.webgl=n,this.webgl?(this.createCanvasObj=this.createCanvasWebGL,this.renderFrame=this.renderFrameWebGL):(this.createCanvasObj=this.createCanvasRGB,this.renderFrame=this.renderFrameRGB);var a=function(e,t,n,a){i.onPictureDecoded(e,t,n,a);r();e&&i.render&&(i.renderFrame({canvasObj:i.canvasObj,data:e,isFix:i._config.isFix,width:t,height:n}),i.onRenderFrameComplete&&i.onRenderFrameComplete({data:e,width:t,height:n,infos:a,canvasObj:i.canvasObj}))};if(this._config.size||(this._config.size={}),this._config.size.width=this._config.size.width||200,this._config.size.height=this._config.size.height||200,this._config.useWorker){var o=new Worker(this._config.workerFile);this.worker=o,o.addEventListener("message",function(e){var t=e.data;if(t.consoleLog)return void console.log(t.consoleLog);a.call(i,new Uint8Array(t.buf,0,t.length),t.width,t.height,t.infos)},!1),o.postMessage({type:"Broadway.js - Worker init",options:{rgb:!n,memsize:this.memsize,reuseMemory:!!this._config.reuseMemory}}),this._config.transferMemory?this.decode=function(e,t){o.postMessage({buf:e.buffer,offset:e.byteOffset,length:e.length,info:t},[e.buffer])}:this.decode=function(e,t){var r=new Uint8Array(e.length);r.set(e,0,e.length),o.postMessage({buf:r.buffer,offset:0,length:e.length,info:t},[r.buffer])},this._config.reuseMemory&&(this.recycleMemory=function(e){o.postMessage({reuse:e.buffer},[e.buffer])})}else this.decoder=new e({rgb:!n}),this.decoder.onPictureDecoded=a,this.decode=function(e,t){i.decoder.decode(e,t)};this.render&&(this.canvasObj=this.createCanvasObj({contextOptions:this._config.contextOptions}),this.canvas=this.canvasObj.canvas),this.domNode=this.canvas,this._config.size.width,this._config.size.height};return i.prototype={onPictureDecoded:function(e,t,r,i){},recycleMemory:function(e){},createCanvasWebGL:function(e){var t=this._createBasicCanvasObj(e);return t.contextOptions=e.contextOptions,t},createCanvasRGB:function(e){return this._createBasicCanvasObj(e)},_createBasicCanvasObj:function(e){e=e||{};var t={},r=e.width;r||(r=this._config.size.width);var i=e.height;return i||(i=this._config.size.height),t.canvas=document.createElement("canvas"),t.canvas.width=r,t.canvas.height=i,t.canvas.style.backgroundColor="#0D0E1B",t},renderFrameWebGL:function(e){var r=e.canvasObj,i=e.width||r.canvas.width,n=e.height||r.canvas.height;r.canvas.width===i&&r.canvas.height===n&&r.webGLCanvas||(r.canvas.width=i,r.canvas.height=n,console.log(e.isFix),r.webGLCanvas=new t({canvas:r.canvas,contextOptions:r.contextOptions,isFix:e.isFix,width:i,height:n}));var a=i*n,o=i/2*(n/2);r.webGLCanvas.drawNextOutputPicture({yData:e.data.subarray(0,a),uData:e.data.subarray(a,a+o),vData:e.data.subarray(a+o,a+o+o)}),this.recycleMemory(e.data)},renderFrameRGB:function(e){var t=e.canvasObj,r=e.width||t.canvas.width,i=e.height||t.canvas.height;t.canvas.width===r&&t.canvas.height===i||(t.canvas.width=r,t.canvas.height=i);var n=t.ctx,a=t.imgData;n||(t.ctx=t.canvas.getContext("2d"),n=t.ctx,t.imgData=n.createImageData(r,i),a=t.imgData),a.data.set(e.data),n.putImageData(a,0,0),this.recycleMemory(e.data)}},i})}]);