diff --git a/pkg/ui/v1alpha3/frontend/public/index.html b/pkg/ui/v1alpha3/frontend/public/index.html index a2a23bba911..74d3961eceb 100755 --- a/pkg/ui/v1alpha3/frontend/public/index.html +++ b/pkg/ui/v1alpha3/frontend/public/index.html @@ -1,14 +1,14 @@ - - - - - - - - + + + + + + + + diff --git a/pkg/ui/v1alpha3/frontend/public/scripts/ace.js b/pkg/ui/v1alpha3/frontend/public/scripts/ace.js new file mode 100644 index 00000000000..47f29365f85 --- /dev/null +++ b/pkg/ui/v1alpha3/frontend/public/scripts/ace.js @@ -0,0 +1,17 @@ +(function(){function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.define.packaged)t.original=i.define,i.define=t,i.define.packaged=!0;if(!i.require||!i.require.packaged)r.original=i.require,i.require=r,i.require.packaged=!0}var ACE_NAMESPACE = "ace",e=function(){return this}();!e&&typeof window!="undefined"&&(e=window);if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)};t.modules={},t.payloads={};var n=function(e,t,n){if(typeof t=="string"){var i=s(e,t);if(i!=undefined)return n&&n(),i}else if(Object.prototype.toString.call(t)==="[object Array]"){var o=[];for(var u=0,a=t.length;u1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;et.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+ta)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n=0?parseFloat((s.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((s.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=s.match(/ Gecko\/\d+/),t.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(s.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(s.split(" Chrome/")[1])||undefined,t.isEdge=parseFloat(s.split(" Edge/")[1])||undefined,t.isAIR=s.indexOf("AdobeAIR")>=0,t.isAndroid=s.indexOf("Android")>=0,t.isChromeOS=s.indexOf(" CrOS ")>=0,t.isIOS=/iPad|iPhone|iPod/.test(s)&&!window.MSStream,t.isIOS&&(t.isMac=!0),t.isMobile=t.isIOS||t.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("./useragent"),i="http://www.w3.org/1999/xhtml";t.buildDom=function o(e,t,n){if(typeof e=="string"&&e){var r=document.createTextNode(e);return t&&t.appendChild(r),r}if(!Array.isArray(e))return e;if(typeof e[0]!="string"||!e[0]){var i=[];for(var s=0;s=1.5:!0;if(typeof document!="undefined"){var s=document.createElement("div");t.HI_DPI&&s.style.transform!==undefined&&(t.HAS_CSS_TRANSFORMS=!0),!r.isEdge&&typeof s.style.animationName!="undefined"&&(t.HAS_CSS_ANIMATION=!0),s=null}t.HAS_CSS_TRANSFORMS?t.translate=function(e,t,n){e.style.transform="translate("+Math.round(t)+"px, "+Math.round(n)+"px)"}:t.translate=function(e,t,n){e.style.top=Math.round(n)+"px",e.style.left=Math.round(t)+"px"}}),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./oop"),i=function(){var e={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,"super":8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},t,n;for(n in e.FUNCTION_KEYS)t=e.FUNCTION_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);for(n in e.PRINTABLE_KEYS)t=e.PRINTABLE_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);return r.mixin(e,e.MODIFIER_KEYS),r.mixin(e,e.PRINTABLE_KEYS),r.mixin(e,e.FUNCTION_KEYS),e.enter=e["return"],e.escape=e.esc,e.del=e["delete"],e[173]="-",function(){var t=["cmd","ctrl","alt","shift"];for(var n=Math.pow(2,t.length);n--;)e.KEY_MODS[n]=t.filter(function(t){return n&e.KEY_MODS[t]}).join("-")+"-"}(),e.KEY_MODS[0]="",e.KEY_MODS[-1]="input-",e}();r.mixin(t,i),t.keyCodeToString=function(e){var t=i[e];return typeof t!="string"&&(t=String.fromCharCode(e)),t.toLowerCase()}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function a(e,t,n){var a=u(t);if(!i.isMac&&s){t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(a|=8);if(s.altGr){if((3&a)==3)return;s.altGr=0}if(n===18||n===17){var f="location"in t?t.location:t.keyLocation;if(n===17&&f===1)s[n]==1&&(o=t.timeStamp);else if(n===18&&a===3&&f===2){var l=t.timeStamp-o;l<50&&(s.altGr=!0)}}}n in r.MODIFIER_KEYS&&(n=-1);if(!a&&n===13){var f="location"in t?t.location:t.keyLocation;if(f===3){e(t,a,-n);if(t.defaultPrevented)return}}if(i.isChromeOS&&a&8){e(t,a,n);if(t.defaultPrevented)return;a&=-9}return!!a||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,a,n):!1}function f(){s=Object.create(null)}var r=e("./keys"),i=e("./useragent"),s=null,o=0;t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent("on"+t,r)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return e.type=="dblclick"?0:e.type=="contextmenu"||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0),i},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){var t=8;e.wheelDeltaX!==undefined?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=(e.deltaX||0)*5,e.wheelY=(e.deltaY||0)*5}n(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=(e.detail||0)*5,e.wheelY=0):(e.wheelX=0,e.wheelY=(e.detail||0)*5),n(e)})},t.addMultiMouseDownListener=function(e,n,r,s){function c(e){t.getButton(e)!==0?o=0:e.detail>1?(o++,o>4&&(o=1)):o=1;if(i.isIE){var c=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-a)>5;if(!f||c)o=1;f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),o==1&&(u=e.clientX,a=e.clientY)}e._clicks=o,r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}function h(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),r[s]("mousedown",e),r[s](l[o],e)}var o=0,u,a,f,l={2:"dblclick",3:"tripleclick",4:"quadclick"};Array.isArray(e)||(e=[e]),e.forEach(function(e){t.addListener(e,"mousedown",c),i.isOldIE&&t.addListener(e,"dblclick",h)})};var u=!i.isMac||!i.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};t.getModifierString=function(e){return r.KEY_MODS[u(e)]},t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var o=null;r(e,"keydown",function(e){o=e.keyCode}),r(e,"keypress",function(e){return a(n,e,o)})}else{var u=null;r(e,"keydown",function(e){s[e.keyCode]=(s[e.keyCode]||0)+1;var t=a(n,e,e.keyCode);return u=e.defaultPrevented,t}),r(e,"keypress",function(e){u&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),u=null)}),r(e,"keyup",function(e){s[e.keyCode]=null}),s||(f(),r(window,"focus",f))}};if(typeof window=="object"&&window.postMessage&&!i.isOldIE){var l=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+l++,i=function(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())};t.addListener(n,"message",i),n.postMessage(r,"*")}}t.$idleBlocked=!1,t.onIdle=function(e,n){return setTimeout(function r(){t.$idleBlocked?setTimeout(r,100):e()},n)},t.$idleBlockId=null,t.blockIdle=function(e){t.$idleBlockId&&clearTimeout(t.$idleBlockId),t.$idleBlocked=!0,t.$idleBlockId=setTimeout(function(){t.$idleBlocked=!1},e||100)},t.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.rowt)var r={row:t+1,column:0};else if(this.start.row0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;nDate.now()-50?!0:r=!1},cancel:function(){r=Date.now()}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("../lib/dom"),o=e("../lib/lang"),u=e("../clipboard"),a=i.isChrome<18,f=i.isIE,l=i.isChrome>63,c=400,h=e("../lib/keys"),p=h.KEY_MODS,d=i.isIOS,v=d?/\s/:/\n/,m=function(e,t){function z(){S=!0,n.blur(),n.focus(),S=!1}function X(e){e.keyCode==27&&n.value.lengthN&&x[s]=="\n")o=h.end;else if(rN&&x.slice(0,s).split("\n").length>2)o=h.down;else if(s>N&&x[s-1]==" ")o=h.right,u=p.option;else if(s>N||s==N&&N!=T&&r==s)o=h.right;r!==s&&(u|=p.shift);if(o){var a=t.onCommandKey({},u,o);if(!a&&t.commands){o=h.keyCodeToString(o);var f=t.commands.findKeyCommand(u,o);f&&t.execCommand(f)}T=r,N=s,L("")}};document.addEventListener("selectionchange",s),t.on("destroy",function(){document.removeEventListener("selectionchange",s)})}var n=s.createElement("textarea");n.className="ace_text-input",n.setAttribute("wrap","off"),n.setAttribute("autocorrect","off"),n.setAttribute("autocapitalize","off"),n.setAttribute("spellcheck",!1),n.style.opacity="0",e.insertBefore(n,e.firstChild);var m=!1,g=!1,y=!1,b=!1,w="";i.isMobile||(n.style.fontSize="1px");var E=!1,S=!1,x="",T=0,N=0;try{var C=document.activeElement===n}catch(k){}r.addListener(n,"blur",function(e){if(S)return;t.onBlur(e),C=!1}),r.addListener(n,"focus",function(e){if(S)return;C=!0;if(i.isEdge)try{if(!document.hasFocus())return}catch(e){}t.onFocus(e),i.isEdge?setTimeout(L):L()}),this.$focusScroll=!1,this.focus=function(){if(w||l||this.$focusScroll=="browser")return n.focus({preventScroll:!0});var e=n.style.top;n.style.position="fixed",n.style.top="0px";try{var t=n.getBoundingClientRect().top!=0}catch(r){return}var i=[];if(t){var s=n.parentElement;while(s&&s.nodeType==1)i.push(s),s.setAttribute("ace_nocontext",!0),!s.parentElement&&s.getRootNode?s=s.getRootNode().host:s=s.parentElement}n.focus({preventScroll:!0}),t&&i.forEach(function(e){e.removeAttribute("ace_nocontext")}),setTimeout(function(){n.style.position="",n.style.top=="0px"&&(n.style.top=e)},0)},this.blur=function(){n.blur()},this.isFocused=function(){return C},t.on("beforeEndOperation",function(){if(t.curOp&&t.curOp.command.name=="insertstring")return;y&&(x=n.value="",U()),L()});var L=d?function(e){if(!C||m&&!e||b)return;e||(e="");var r="\n ab"+e+"cde fg\n";r!=n.value&&(n.value=x=r);var i=4,s=4+(e.length||(t.selection.isEmpty()?0:1));(T!=i||N!=s)&&n.setSelectionRange(i,s),T=i,N=s}:function(){if(y||b)return;if(!C&&!_)return;y=!0;var e=t.selection,r=e.getRange(),i=e.cursor.row,s=r.start.column,o=r.end.column,u=t.session.getLine(i);if(r.start.row!=i){var a=t.session.getLine(i-1);s=r.start.rowi+1?f.length:o,o+=u.length+1,u=u+"\n"+f}u.length>c&&(s=x.length&&e.value===x&&x&&e.selectionEnd!==N},O=function(e){if(y)return;m?m=!1:A(n)&&(t.selectAll(),L())},M=null;this.setInputHandler=function(e){M=e},this.getInputHandler=function(){return M};var _=!1,D=function(e,r){_&&(_=!1);if(g)return L(),e&&t.onPaste(e),g=!1,"";var i=n.selectionStart,s=n.selectionEnd,o=T,u=x.length-N,a=e,f=e.length-i,l=e.length-s,c=0;while(o>0&&x[c]==e[c])c++,o--;a=a.slice(c),c=1;while(u>0&&x.length-c>T-1&&x[x.length-c]==e[e.length-c])c++,u--;f-=c-1,l-=c-1;var h=a.length-c+1;return h<0&&(o=-h,h=0),a=a.slice(0,h),!r&&f==a.length&&!o&&!u&&!l?"":(b=!0,a&&!o&&!u&&!f&&!l||E?t.onTextInput(a):t.onTextInput(a,{extendLeft:o,extendRight:u,restoreStart:f,restoreEnd:l}),b=!1,x=e,T=i,N=s,a)},P=function(e){if(y)return R();if(e&&e.inputType){if(e.inputType=="historyUndo")return t.execCommand("undo");if(e.inputType=="historyRedo")return t.execCommand("redo")}var r=n.value,i=D(r,!0);(r.length>c+100||v.test(i))&&L()},H=function(e,t,n){var r=e.clipboardData||window.clipboardData;if(!r||a)return;var i=f||n?"Text":"text/plain";try{return t?r.setData(i,t)!==!1:r.getData(i)}catch(e){if(!n)return H(e,t,!0)}},B=function(e,i){var s=t.getCopyText();if(!s)return r.preventDefault(e);H(e,s)?(d&&(L(s),m=s,setTimeout(function(){m=!1},10)),i?t.onCut():t.onCopy(),r.preventDefault(e)):(m=!0,n.value=s,n.select(),setTimeout(function(){m=!1,L(),i?t.onCut():t.onCopy()}))},j=function(e){B(e,!0)},F=function(e){B(e,!1)},I=function(e){var s=H(e);if(u.pasteCancelled())return;typeof s=="string"?(s&&t.onPaste(s,e),i.isIE&&setTimeout(L),r.preventDefault(e)):(n.value="",g=!0)};r.addCommandKeyListener(n,t.onCommandKey.bind(t)),r.addListener(n,"select",O),r.addListener(n,"input",P),r.addListener(n,"cut",j),r.addListener(n,"copy",F),r.addListener(n,"paste",I),(!("oncut"in n)||!("oncopy"in n)||!("onpaste"in n))&&r.addListener(e,"keydown",function(e){if(i.isMac&&!e.metaKey||!e.ctrlKey)return;switch(e.keyCode){case 67:F(e);break;case 86:I(e);break;case 88:j(e)}});var q=function(e){if(y||!t.onCompositionStart||t.$readOnly)return;y={};if(E)return;setTimeout(R,0),t.on("mousedown",z);var r=t.getSelectionRange();r.end.row=r.start.row,r.end.column=r.start.column,y.markerRange=r,y.selectionStart=T,t.onCompositionStart(y),y.useTextareaForIME?(n.value="",x="",T=0,N=0):(n.msGetInputContext&&(y.context=n.msGetInputContext()),n.getInputContext&&(y.context=n.getInputContext()))},R=function(){if(!y||!t.onCompositionUpdate||t.$readOnly)return;if(E)return z();if(y.useTextareaForIME)t.onCompositionUpdate(n.value);else{var e=n.value;D(e),y.markerRange&&(y.context&&(y.markerRange.start.column=y.selectionStart=y.context.compositionStartOffset),y.markerRange.end.column=y.markerRange.start.column+N-y.selectionStart)}},U=function(e){if(!t.onCompositionEnd||t.$readOnly)return;y=!1,t.onCompositionEnd(),t.off("mousedown",z),e&&P()},W=o.delayedCall(R,50).schedule.bind(null,null);r.addListener(n,"compositionstart",q),r.addListener(n,"compositionupdate",R),r.addListener(n,"keyup",X),r.addListener(n,"keydown",W),r.addListener(n,"compositionend",U),this.getElement=function(){return n},this.setCommandMode=function(e){E=e,n.readOnly=!1},this.setReadOnly=function(e){E||(n.readOnly=e)},this.setCopyWithEmptySelection=function(e){},this.onContextMenu=function(e){_=!0,L(),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,o){w||(w=n.style.cssText),n.style.cssText=(o?"z-index:100000;":"")+(i.isIE?"opacity:0.1;":"")+"text-indent: -"+(T+N)*t.renderer.characterWidth*.5+"px;";var u=t.container.getBoundingClientRect(),a=s.computedStyle(t.container),f=u.top+(parseInt(a.borderTopWidth)||0),l=u.left+(parseInt(u.borderLeftWidth)||0),c=u.bottom-f-n.clientHeight-2,h=function(e){s.translate(n,e.clientX-l-2,Math.min(e.clientY-f-2,c))};h(e);if(e.type!="mousedown")return;t.renderer.$isMousePressed=!0,clearTimeout(V),i.isWin&&r.capture(t.container,h,$)},this.onContextMenuClose=$;var V,J=function(e){t.textInput.onContextMenu(e),$()};r.addListener(n,"mouseup",J),r.addListener(n,"mousedown",function(e){e.preventDefault(),$()}),r.addListener(t.renderer.scroller,"contextmenu",J),r.addListener(n,"contextmenu",J),d&&K(e,t,n)};t.TextInput=m}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(e,t,n){"use strict";function o(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e));var n=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];n.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function u(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}function a(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row==e.end.row-1&&!e.start.column&&!e.end.column)var n=t.column-4;else var n=2*t.row-e.start.row-e.end.row;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var r=e("../lib/useragent"),i=0,s=550;(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var i=this.editor,s=e.getButton();if(s!==0){var o=i.getSelectionRange(),u=o.isEmpty();(u||s==1)&&i.selection.moveToPosition(n),s==2&&(i.textInput.onContextMenu(e.domEvent),r.isMozilla||e.preventDefault());return}this.mousedownEvent.time=Date.now();if(t&&!i.isFocused()){i.focus();if(this.$focusTimeout&&!this.$clickSelection&&!i.inMultiSelectMode){this.setState("focusWait"),this.captureMouse(e);return}}return this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;if(!this.mousedownEvent)return;this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select")},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=a(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=a(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>i||t-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var n=this.$lastScroll,r=e.domEvent.timeStamp,i=r-n.t,o=i?e.wheelX/i:n.vx,u=i?e.wheelY/i:n.vy;i=1&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(f=!0),a<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(f=!0);if(f)n.allowed=r;else if(r-n.allowedt.session.documentToScreenRow(l.row,l.column))return c()}if(f==s)return;f=s.text.join("
"),i.setHtml(f),i.show(),t._signal("showGutterTooltip",i),t.on("mousewheel",c);if(e.$tooltipFollowsMouse)h(u);else{var p=u.domEvent.target,d=p.getBoundingClientRect(),v=i.getElement().style;v.left=d.right+"px",v.top=d.bottom+"px"}}function c(){o&&(o=clearTimeout(o)),f&&(i.hide(),f=null,t._signal("hideGutterTooltip",i),t.removeEventListener("mousewheel",c))}function h(e){i.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,i=new a(t.container);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var o,u,f;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();f&&e.$tooltipFollowsMouse&&h(t),u=t;if(o)return;o=setTimeout(function(){o=null,u&&!e.isMousePressed?l():c()},50)}),s.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!f||o)return;o=setTimeout(function(){o=null,c()},50)}),t.on("changeSession",c)}function a(e){o.call(this,e)}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event"),o=e("../tooltip").Tooltip;i.inherits(a,o),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),o.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=u}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||e.column!=n.column;if(!S||i||s)t.moveCursorToPosition(e),S=r,x={x:p,y:d};else{var o=l(x.x,x.y,p,d);o>a?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),C(),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.selection.fromOrientedRange(m),t.isFocused()&&!w&&t.$resetCursorStyle(),m=null,g=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",s.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),s.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||(k(),y++),A!==null&&(A=null),e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!g)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e)),i.addListener(c,"dragend",this.onDragEnd.bind(e)),i.addListener(c,"dragenter",this.onDragEnter.bind(e)),i.addListener(c,"dragover",this.onDragOver.bind(e)),i.addListener(c,"dragleave",this.onDragLeave.bind(e)),i.addListener(c,"drop",this.onDrop.bind(e));var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=s.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./mouse_event").MouseEvent,i=e("../lib/dom");t.addTouchListeners=function(e,t){function y(){var e=window.navigator&&window.navigator.clipboard,r=!1,s=function(){var n=t.getCopyText(),s=t.session.getUndoManager().hasUndo();g.replaceChild(i.buildDom(r?["span",!n&&["span",{"class":"ace_mobile-button",action:"selectall"},"Select All"],n&&["span",{"class":"ace_mobile-button",action:"copy"},"Copy"],n&&["span",{"class":"ace_mobile-button",action:"cut"},"Cut"],e&&["span",{"class":"ace_mobile-button",action:"paste"},"Paste"],s&&["span",{"class":"ace_mobile-button",action:"undo"},"Undo"],["span",{"class":"ace_mobile-button",action:"find"},"Find"],["span",{"class":"ace_mobile-button",action:"openCommandPallete"},"Pallete"]]:["span"]),g.firstChild)},o=function(n){var i=n.target.getAttribute("action");if(i=="more"||!r)return r=!r,s();if(i=="paste")e.readText().then(function(e){t.execCommand(i,e)});else if(i){if(i=="cut"||i=="copy")e?e.writeText(t.getCopyText()):document.execCommand("copy");t.execCommand(i)}g.firstChild.style.display="none",r=!1,i!="openCommandPallete"&&t.focus()};g=i.buildDom(["div",{"class":"ace_mobile-menu",ontouchstart:function(e){n="menu",e.stopPropagation(),e.preventDefault(),t.textInput.focus()},ontouchend:function(e){e.stopPropagation(),e.preventDefault(),o(e)},onclick:o},["span"],["span",{"class":"ace_mobile-button",action:"more"},"..."]],t.container)}function b(){g||y();var e=t.selection.cursor,n=t.renderer.textToScreenCoordinates(e.row,e.column),r=t.container.getBoundingClientRect();g.style.top=n.pageY-r.top-3+"px",g.style.right="10px",g.style.display="",g.firstChild.style.display="none",t.on("input",w)}function w(e){g&&(g.style.display="none"),t.off("input",w)}function E(){f=null,clearTimeout(f);var e=t.selection.getRange(),r=e.contains(h.row,h.column);if(e.isEmpty()||!r)t.selection.moveToPosition(h),t.selection.selectWord();n="wait",b()}function S(){f=null,clearTimeout(f),t.selection.moveToPosition(h);var e=p>=2?t.selection.getLineRange(h.row):t.session.getBracketRange(h);e&&!e.isEmpty()?t.selection.setRange(e):t.selection.selectWord(),n="wait"}function x(){c+=60,l=setInterval(function(){c--<=0&&(clearInterval(l),l=null),Math.abs(d)<.01&&(d=0),Math.abs(v)<.01&&(v=0),c<20&&(d=.9*d),c<20&&(v=.9*v);var e=t.session.getScrollTop();t.renderer.scrollBy(10*d,10*v),e==t.session.getScrollTop()&&(c=0)},10)}var n="scroll",s,o,u,a,f,l,c=0,h,p=0,d=0,v=0,m,g;e.addEventListener("contextmenu",function(e){if(!m)return;var n=t.textInput.getElement();n.focus()}),e.addEventListener("touchstart",function(e){var i=e.touches;if(f||i.length>1){clearTimeout(f),f=null,u=-1,n="zoom";return}m=t.$mouseHandler.isMousePressed=!0;var l=t.renderer.layerConfig.lineHeight,g=t.renderer.layerConfig.lineHeight,y=e.timeStamp;a=y;var b=i[0],w=b.clientX,x=b.clientY;Math.abs(s-w)+Math.abs(o-x)>l&&(u=-1),s=e.clientX=w,o=e.clientY=x,d=v=0;var T=new r(e,t);h=T.getDocumentPosition();if(y-u<500&&i.length==1&&!c)p++,e.preventDefault(),e.button=0,S();else{p=0;var N=t.selection.cursor,C=t.selection.isEmpty()?N:t.selection.anchor,k=t.renderer.$cursorLayer.getPixelPosition(N,!0),L=t.renderer.$cursorLayer.getPixelPosition(C,!0),A=t.renderer.scroller.getBoundingClientRect(),O=function(e,t){return e/=g,t=t/l-.75,e*e+t*t};if(e.clientX_?"cursor":"anchor"),_<3.5?n="anchor":M<3.5?n="cursor":n="scroll",f=setTimeout(E,450)}u=y}),e.addEventListener("touchend",function(e){m=t.$mouseHandler.isMousePressed=!1,l&&clearInterval(l),n=="zoom"?(n="",c=0):f?(t.selection.moveToPosition(h),c=0,b()):n=="scroll"?(x(),e.preventDefault(),w()):b(),clearTimeout(f),f=null}),e.addEventListener("touchmove",function(e){f&&(clearTimeout(f),f=null);var i=e.touches;if(i.length>1||n=="zoom")return;var u=i[0],l=s-u.clientX,c=o-u.clientY;if(n=="wait"){if(!(l*l+c*c>4))return e.preventDefault();n="cursor"}s=u.clientX,o=u.clientY,e.clientX=u.clientX,e.clientY=u.clientY;var h=e.timeStamp,p=h-a;a=h;if(n=="scroll"){var m=new r(e,t);m.speed=1,m.wheelX=l,m.wheelY=c,10*Math.abs(l)1&&(i=n[n.length-2]);var o=a[t+"Path"];return o==null?o=a.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i&&!t.$loading[n])return r&&r(i);t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r);if(t.$loading[n].length>1)return;var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a),f()};var f=function(){!a.basePath&&!a.workerPath&&!a.modePath&&!a.themePath&&!Object.keys(a.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),f=function(){})};t.init=l,t.version="1.4.6"}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,u=e("./mouse_event").MouseEvent,a=e("./dragdrop_handler").DragdropHandler,f=e("./touch_handler").addTouchListeners,l=e("../config"),c=function(e){var t=this;this.editor=e,new s(this),new o(this),new a(this);var n=function(t){var n=!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement());n&&window.focus(),e.focus()},u=e.renderer.getMouseEventTarget();r.addListener(u,"click",this.onMouseEvent.bind(this,"click")),r.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener([u,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent"),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel")),f(e.container,e);var l=e.renderer.$gutter;r.addListener(l,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(l,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(l,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(l,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),r.addListener(u,"mousedown",n),r.addListener(l,"mousedown",n),i.isIE&&e.renderer.scrollBarV&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n),r.addListener(e.renderer.scrollBarH.element,"mousedown",n)),e.on("mousemove",function(n){if(t.state||t.$dragDelay||!t.$dragEnabled)return;var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),s=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?s.setCursorStyle("default"):s.setCursorStyle("")})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new u(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!n||!n.length)return;this.editor._emit(e,new u(t,this.editor))},this.onMouseWheel=function(e,t){var n=new u(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor,s=this.editor.renderer;s.$isMousePressed=!0;var o=this,a=function(e){if(!e)return;if(i.isWebKit&&!e.which&&o.releaseMouse)return o.releaseMouse();o.x=e.clientX,o.y=e.clientY,t&&t(e),o.mouseEvent=new u(e,o.editor),o.$mouseMoved=!0},f=function(e){n.off("beforeEndOperation",c),clearInterval(h),l(),o[o.state+"End"]&&o[o.state+"End"](e),o.state="",o.isMousePressed=s.$isMousePressed=!1,s.$keepTextAreaAtCursor&&s.$moveTextAreaToCursor(),o.$onCaptureMouseMove=o.releaseMouse=null,e&&o.onMouseEvent("mouseup",e),n.endOperation()},l=function(){o[o.state]&&o[o.state](),o.$mouseMoved=!1};if(i.isOldIE&&e.domEvent.type=="dblclick")return setTimeout(function(){f(e)});var c=function(e){if(!o.releaseMouse)return;n.curOp.command.name&&n.curOp.selectionChanged&&(o[o.state+"End"]&&o[o.state+"End"](),o.state="",o.releaseMouse())};n.on("beforeEndOperation",c),n.startOperation({command:{name:"mouse"}}),o.$onCaptureMouseMove=a,o.releaseMouse=r.capture(this.editor.container,a,f);var h=setInterval(l,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){if(t&&t.domEvent&&t.domEvent.type!="contextmenu")return;this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent)}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(c.prototype),l.defineOptions(c.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=c}),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";function i(e){e.on("click",function(t){var n=t.getDocumentPosition(),i=e.session,s=i.getFoldAt(n.row,n.column,1);s&&(t.getAccelKey()?i.removeFold(s):i.expandFold(s),t.stop());var o=t.domEvent&&t.domEvent.target;o&&r.hasCssClass(o,"ace_inline_button")&&r.hasCssClass(o,"ace_toggle_wrap")&&(i.setOption("wrap",!i.getUseWrapMode()),e.renderer.scrollCursorIntoView())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.getParentFoldRangeData(r,!0),o=s.range||s.firstRange;if(o){r=o.start.row;var u=i.getFoldAt(r,i.getLine(r).length,1);u?i.removeFold(u):(i.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}var r=e("../lib/dom");t.FoldHandler=i}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]==e)return;while(t[t.length-1]&&t[t.length-1]!=this.$defaultHandler)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;typeof e=="function"&&!e.handleKeyboard&&(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){var s,o=!1,u=this.$editor.commands;for(var a=this.$handlers.length;a--;){s=this.$handlers[a].handleKeyboard(this.$data,e,t,n,r);if(!s||!s.command)continue;s.command=="null"?o=!0:o=u.exec(s.command,this.$editor,s.args,r),o&&r&&e!=-1&&s.passEvent!=1&&s.command.passEvent!=1&&i.stopEvent(r);if(o)break}return!o&&e==-1&&(s={command:"insertstring"},o=u.exec("insertstring",this.$editor,t)),o&&this.$editor._signal&&this.$editor._signal("keyboardActivity",s),o},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);return this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){return this.$callKeyboardHandlers(-1,e)}}).call(s.prototype),t.KeyBinding=s}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(e,t,n){"use strict";function F(e,t,n,r){var i=s?d:p,c=null,h=null,v=null,m=0,g=null,y=null,b=-1,w=null,E=null,T=[];if(!r)for(w=0,r=[];w0)if(g==16){for(w=b;w-1){for(w=b;w=0;C--){if(r[C]!=N)break;t[C]=s}}}function I(e,t,n){if(o=e){u=i+1;while(u=e)u++;for(a=i,l=u-1;a=t.length||(o=n[r-1])!=b&&o!=w||(c=t[r+1])!=b&&c!=w)return E;return u&&(c=w),c==o?c:E;case k:o=r>0?n[r-1]:S;if(o==b&&r+10&&n[r-1]==b)return b;if(u)return E;p=r+1,h=t.length;while(p=1425&&d<=2303||d==64286;o=t[p];if(v&&(o==y||o==T))return y}if(r<1||(o=t[r-1])==S)return E;return n[r-1];case S:return u=!1,f=!0,s;case x:return l=!0,E;case O:case M:case D:case P:case _:u=!1;case H:return E}}function R(e){var t=e.charCodeAt(0),n=t>>8;return n==0?t>191?g:B[t]:n==5?/[\u0591-\u05f4]/.test(e)?y:g:n==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(e)?A:/[\u0660-\u0669\u066b-\u066c]/.test(e)?w:t==1642?L:/[\u06f0-\u06f9]/.test(e)?b:T:n==32&&t<=8287?j[t&255]:n==254?t>=65136?T:E:E}function U(e){return e>="\u064b"&&e<="\u0655"}var r=["\u0621","\u0641"],i=["\u063a","\u064a"],s=0,o=0,u=!1,a=!1,f=!1,l=!1,c=!1,h=!1,p=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],d=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],v=0,m=1,g=0,y=1,b=2,w=3,E=4,S=5,x=6,T=7,N=8,C=9,k=10,L=11,A=12,O=13,M=14,_=15,D=16,P=17,H=18,B=[H,H,H,H,H,H,H,H,H,x,S,x,N,S,H,H,H,H,H,H,H,H,H,H,H,H,H,H,S,S,S,x,N,E,E,L,L,L,E,E,E,E,E,k,C,k,C,C,b,b,b,b,b,b,b,b,b,b,C,E,E,E,E,E,E,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,E,E,E,E,E,E,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,E,E,E,E,H,H,H,H,H,H,S,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,H,C,E,L,L,L,L,E,E,E,E,g,E,E,H,E,E,L,L,b,b,E,g,E,E,E,b,g,E,E,E,E,E],j=[N,N,N,N,N,N,N,N,N,N,N,H,H,H,g,y,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,N,S,O,M,_,D,P,C,L,L,L,L,L,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,C,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,N];t.L=g,t.R=y,t.EN=b,t.ON_R=3,t.AN=4,t.R_H=5,t.B=6,t.RLE=7,t.DOT="\u00b7",t.doBidiReorder=function(e,n,r){if(e.length<2)return{};var i=e.split(""),o=new Array(i.length),u=new Array(i.length),a=[];s=r?m:v,F(i,a,i.length,n);for(var f=0;fT&&n[f]0&&i[f-1]==="\u0644"&&/\u0622|\u0623|\u0625|\u0627/.test(i[f])&&(a[f-1]=a[f]=t.R_H,f++);i[i.length-1]===t.DOT&&(a[i.length-1]=t.B),i[0]==="\u202b"&&(a[0]=t.RLE);for(var f=0;f=0&&(e=this.session.$docRowCache[n])}return e},this.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var n,r=this.session.$getRowCacheIndex(t,this.currentRow);while(this.currentRow-e>0){n=this.session.$getRowCacheIndex(t,this.currentRow-e-1);if(n!==r)break;r=n,e++}}else e=this.currentRow;return e},this.updateRowLine=function(e,t){e===undefined&&(e=this.getDocumentRow());var n=e===this.session.getLength()-1,s=n?this.EOF:this.EOL;this.wrapIndent=0,this.line=this.session.getLine(e),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE;if(this.session.$useWrapMode){var o=this.session.$wrapData[e];o&&(t===undefined&&(t=this.getSplitIndex()),t>0&&o.length?(this.wrapIndent=o.indent,this.wrapOffset=this.wrapIndent*this.charWidths[r.L],this.line=tt?this.session.getOverwrite()?e:e-1:t,i=r.getVisualFromLogicalIdx(n,this.bidiMap),s=this.bidiMap.bidiLevels,o=0;!this.session.getOverwrite()&&e<=t&&s[i]%2!==0&&i++;for(var u=0;ut&&s[i]%2===0&&(o+=this.charWidths[s[i]]),this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(o+=this.rtlLineOffset),o},this.getSelections=function(e,t){var n=this.bidiMap,r=n.bidiLevels,i,s=[],o=0,u=Math.min(e,t)-this.wrapIndent,a=Math.max(e,t)-this.wrapIndent,f=!1,l=!1,c=0;this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var h,p=0;p=u&&hn+s/2){n+=s;if(r===i.length-1){s=0;break}s=this.charWidths[i[++r]]}return r>0&&i[r-1]%2!==0&&i[r]%2===0?(e0&&i[r-1]%2===0&&i[r]%2!==0?t=1+(e>n?this.bidiMap.logicalFromVisual[r]:this.bidiMap.logicalFromVisual[r-1]):this.isRtlDir&&r===i.length-1&&s===0&&i[r-1]%2===0||!this.isRtlDir&&r===0&&i[r]%2!==0?t=1+this.bidiMap.logicalFromVisual[r]:(r>0&&i[r-1]%2!==0&&s!==0&&r--,t=this.bidiMap.logicalFromVisual[r]),t===0&&this.isRtlDir&&t++,t+this.wrapIndent}}).call(o.prototype),t.BidiHandler=o}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var t=this;this.cursor.on("change",function(e){t.$cursorChanged=!0,t.$silent||t._emit("changeCursor"),!t.$isEmpty&&!t.$silent&&t._emit("changeSelection"),!t.$keepDesiredColumnOnChange&&e.old.column!=e.value.column&&(t.$desiredColumn=null)}),this.anchor.on("change",function(){t.$anchorChanged=!0,!t.$isEmpty&&!t.$silent&&t._emit("changeSelection")})};(function(){r.implement(this,s),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.$isEmpty=!1,this.anchor.setPosition(e,t)},this.getAnchor=this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.$isEmpty?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},this.setRange=this.setSelectionRange=function(e,t){var n=t?e.end:e.start,r=t?e.start:e.end;this.$setSelection(n.row,n.column,r.row,r.column)},this.$setSelection=function(e,t,n,r){var i=this.$isEmpty,s=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(e,t),this.cursor.setPosition(n,r),this.$isEmpty=!o.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||i!=this.$isEmpty||s)&&this._emit("changeSelection")},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(e,t,n){var r=e.column,i=e.column+t;return n<0&&(r=e.column-t,i=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(r,i).split(" ").length-1==t},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.wouldMoveIntoSoftTab(e,n,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var i=this.session.getFoldAt(e,t,1);if(i){this.moveCursorTo(i.end.row,i.end.column);return}this.session.nonTokenRe.exec(r)&&(t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t));if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(s)&&(t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t=0,n,r=/\s/,i=this.session.tokenRe;i.lastIndex=0;if(this.session.tokenRe.exec(e))t=this.session.tokenRe.lastIndex;else{while((n=e[t])&&r.test(n))t++;if(t<1){i.lastIndex=0;while((n=e[t])&&!i.test(n)){i.lastIndex=0,t++;if(r.test(n)){if(t>2){t--;break}while((n=e[t])&&r.test(n))t++;if(t>2)break}}}}return i.lastIndex=0,t},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column),r;t===0&&(e!==0&&(this.session.$bidiHandler.isBidiRow(n.row,this.lead.row)?(r=this.session.$bidiHandler.getPosLeft(n.column),n.column=Math.round(r/this.session.$bidiHandler.charWidths[0])):r=n.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var i=this.session.screenToDocumentPosition(n.row+e,n.column,r);e!==0&&t===0&&i.row===this.lead.row&&i.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[i.row]&&(i.row>0||e>0)&&i.row++,this.moveCursorTo(i.row,i.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0;var i=this.session.getLine(e);/[\uDC00-\uDFFF]/.test(i.charAt(t))&&i.charAt(t-1)&&(this.lead.row==e&&this.lead.column==t+1?t-=1:t+=1),this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(e.start==undefined){if(this.rangeList&&e.length>1){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(u.prototype),t.Selection=u}),ace.define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var r=e("./config"),i=2e3,s=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a1?f.onMatch=this.$applyToken:f.onMatch=f.token),c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){i=e|0},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;il){var g=e.substring(l,m-v.length);h.type==p?h.value+=g:(h.type&&f.push(h),h={type:p,value:g})}for(var y=0;yi){c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});while(l1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:f,state:n.length?n:r}},this.reportError=r.reportError}).call(s.prototype),t.Tokenizer=s}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},this.getCurrentTokenRange=function(){var e=this.$rowTokens[this.$tokenIndex],t=this.getCurrentTokenColumn();return new r(this.$row,t,this.$row,t+e.value.length)}}).call(i.prototype),t.TokenIterator=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","rparen","paren","punctuation.operator"],a=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],f,l={},c={'"':'"',"'":"'"},h=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},p=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},d=function(e){this.add("braces","insertion",function(t,n,r,i,s){var u=r.getCursorPosition(),a=i.doc.getLine(u.row);if(s=="{"){h(r);var l=r.getSelectionRange(),c=i.doc.getTextRange(l);if(c!==""&&c!=="{"&&r.getWrapBehavioursEnabled())return p(l,c,"{","}");if(d.isSaneInsertion(r,i))return/[\]\}\)]/.test(a[u.column])||r.inMultiSelectMode||e&&e.braces?(d.recordAutoInsert(r,i,"}"),{text:"{}",selection:[1,1]}):(d.recordMaybeInsert(r,i,"{"),{text:"{",selection:[1,1]})}else if(s=="}"){h(r);var v=a.substring(u.column,u.column+1);if(v=="}"){var m=i.$findOpeningBracket("}",{column:u.column+1,row:u.row});if(m!==null&&d.isAutoInsertedClosing(u,a,s))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(s=="\n"||s=="\r\n"){h(r);var g="";d.isMaybeInsertedClosing(u,a)&&(g=o.stringRepeat("}",f.maybeInsertedBrackets),d.clearMaybeInsertedClosing());var v=a.substring(u.column,u.column+1);if(v==="}"){var y=i.findMatchingBracket({row:u.row,column:u.column+1},"}");if(!y)return null;var b=this.$getIndent(i.getLine(y.row))}else{if(!g){d.clearMaybeInsertedClosing();return}var b=this.$getIndent(a)}var w=b+i.getTabString();return{text:"\n"+w+"\n"+b+g,selection:[1,w.length,1,w.length]}}d.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){h(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return p(s,o,"(",")");if(d.isSaneInsertion(n,r))return d.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){h(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&d.isAutoInsertedClosing(u,a,i))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){h(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return p(s,o,"[","]");if(d.isSaneInsertion(n,r))return d.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){h(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&d.isAutoInsertedClosing(u,a,i))return d.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){h(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){var s=r.$mode.$quotes||c;if(i.length==1&&s[i]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(i)!=-1)return;h(n);var o=i,u=n.getSelectionRange(),a=r.doc.getTextRange(u);if(a!==""&&(a.length!=1||!s[a])&&n.getWrapBehavioursEnabled())return p(u,a,o,o);if(!a){var f=n.getCursorPosition(),l=r.doc.getLine(f.row),d=l.substring(f.column-1,f.column),v=l.substring(f.column,f.column+1),m=r.getTokenAt(f.row,f.column),g=r.getTokenAt(f.row,f.column+1);if(d=="\\"&&m&&/escape/.test(m.type))return null;var y=m&&/string|escape/.test(m.type),b=!g||/string|escape/.test(g.type),w;if(v==o)w=y!==b,w&&/string\.end/.test(g.type)&&(w=!1);else{if(y&&!b)return null;if(y&&b)return null;var E=r.$mode.tokenRe;E.lastIndex=0;var S=E.test(d);E.lastIndex=0;var x=E.test(d);if(S||x)return null;if(v&&!/[\s;,.})\]\\]/.test(v))return null;var T=l[f.column-2];if(!(d!=o||T!=o&&!E.test(T)))return null;w=!0}return{text:w?o+o:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.$mode.$quotes||c,o=r.doc.getTextRange(i);if(!i.isMultiLine()&&s.hasOwnProperty(o)){h(n);var u=r.doc.getLine(i.start.row),a=u.substring(i.start.column+1,i.start.column+2);if(a==o)return i.end.column++,i}})};d.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){if(/[)}\]]/.test(e.session.getLine(n.row)[n.column]))return!0;var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},d.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},d.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},d.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},d.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},d.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},d.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},d.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(d,i),t.CstyleBehaviour=d}),ace.define("ace/unicode",["require","exports","module"],function(e,t,n){"use strict";var r=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],i=0,s=[];for(var o=0;o2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(ne.length&&(E=e.length)}),u==Infinity&&(u=E,s=!1,o=!1),l&&u%f!=0&&(u=Math.floor(u/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new f(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,a=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new l(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new f(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new l(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);a.start.row==c&&(a.start.column+=h),a.end.row==c&&(a.end.column+=h),t.selection.fromOrientedRange(a)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)if(e[t]){var n=e[t],i=n.prototype.$id,s=r.$modes[i];s||(r.$modes[i]=s=new n),r.$modes[t]||(r.$modes[t]=s),this.$embeds.push(t),this.$modes[t]=s}var o=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(var t=0;t=0&&t.row=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.columnthis.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e0,r=t=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4?this.$splitAndapplyLargeDelta(e,2e4):(i(this.$lines,e,t),this._signal("change",e))},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length-t+1,i=e.start.row,s=e.start.column;for(var o=0,u=0;o20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,r==-1&&(r=t),s<=r&&n.fireUpdateEvent(s,r)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.lines[t]=null;else if(e.action=="remove")this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(s.prototype),t.BackgroundTokenizer=s}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i)}}}).call(o.prototype),t.SearchHighlight=o}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var r=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.row=r)break}if(e.action=="insert"){var f=i-r,l=-t.column+n.column;for(;or)break;a.start.row==r&&a.start.column>=t.column&&(a.start.column==t.column&&this.$bias<=0||(a.start.column+=l,a.start.row+=f));if(a.end.row==r&&a.end.column>=t.column){if(a.end.column==t.column&&this.$bias<0)continue;a.end.column==t.column&&l>0&&oa.start.column&&a.end.column==s[o+1].start.column&&(a.end.column-=l),a.end.column+=l,a.end.row+=f}}}else{var f=r-i,l=t.column-n.column;for(;oi)break;if(a.end.rowt.column)a.end.column=t.column,a.end.row=t.row}else a.end.column+=l,a.end.row+=f;else a.end.row>i&&(a.end.row+=f);if(a.start.rowt.column)a.start.column=t.column,a.start.row=t.row}else a.start.column+=l,a.start.row+=f;else a.start.row>i&&(a.start.row+=f)}}if(f!=0&&o=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i=t){u=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column,c=this.getFoldAt(u,a,1),h=this.getFoldAt(f,l,-1);if(c&&h==c)return c.addSubFold(o);c&&!c.range.isStart(u,a)&&this.removeFold(c),h&&!h.range.isEnd(f,l)&&this.removeFold(h);var p=this.getFoldsInRange(o.range);p.length>0&&(this.removeFolds(p),p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;e==null?(n=new r(0,0,this.getLength(),0),t=!0):typeof e=="number"?n=new r(e,0,e,this.getLine(e).length):"row"in e?n=r.fromPoints(e,e):n=e,i=this.getFoldsInRangeList(n);if(t)this.removeFolds(i);else{var s=i;while(s.length)this.expandFolds(s),s=this.getFoldsInRangeList(n)}if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row),i==null&&(i=0),t==null&&(t=e.end.row),n==null&&(n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(tl)break}while(s&&a.test(s.type));s=i.stepBackward()}else s=i.getCurrentToken();return f.end.row=i.getCurrentTokenRow(),f.end.column=i.getCurrentTokenColumn()+s.value.length-2,f}},this.foldAll=function(e,t,n){n==undefined&&(n=1e5);var r=this.foldWidgets;if(!r)return;t=t||this.getLength(),e=e||0;for(var i=e;i=e){i=s.end.row;try{var o=this.addFold("...",s);o&&(o.collapseChildren=n)}catch(u){}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==e)return;this.$foldStyle=e,e=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)},this.$setFolding=function(e){if(this.$foldMode==e)return;this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation");if(!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};var r=e-1,i;while(r>=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s)return t.children||t.all?this.removeFold(s):this.expandFold(s),s;var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range))return this.removeFold(s),s}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,f,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.foldWidgets[t]=null;else if(e.action=="remove")this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator;t.Folding=u}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}r.implement(this,u),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;e.addSession(this),this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.mergeUndoDeltas=!1},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.setNavigateWithinSoftTabs=function(e){this.setOption("navigateWithinSoftTabs",e)},this.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(oe&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;ao){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;for(var n=e.length-1;n!=-1;n--){var r=e[n];r.action=="insert"||r.action=="remove"?this.doc.revertDelta(r):r.folds&&this.addFolds(r.folds)}!t&&this.$undoSelect&&(e.selectionBefore?this.selection.fromJSON(e.selectionBefore):this.selection.setRange(this.$getUndoSelection(e,!0))),this.$fromUndo=!1},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;for(var n=0;ne.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,f=s.start,o=f.row-a.row,u=f.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},this.outdentRows=function(e){var t=e.collapseRows(),n=new l(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new l(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+i,u),o.length&&this.addFolds(o),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode")},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,r=e.start,i=e.end,s=r.row,o=i.row,u=o-s,a=null;this.$updating=!0;if(u!=0)if(n==="remove"){this[t?"$wrapData":"$rowLengthCache"].splice(s,u);var f=this.$foldData;a=this.getFoldsInRange(e),this.removeFolds(a);var l=this.getFoldLine(i.row),c=0;if(l){l.addRemoveChars(i.row,i.column,r.column-i.column),l.shiftRow(-u);var h=this.getFoldLine(s);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c=i.row&&l.shiftRow(-u)}o=s}else{var p=Array(u);p.unshift(s,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(s),c=0;if(l){var v=l.range.compareInside(r.row,r.column);v==0?(l=l.split(r.row,r.column),l&&(l.shiftRow(u),l.addRemoveChars(o,0,i.column-r.column))):v==-1&&(l.addRemoveChars(s,0,i.column-r.column),l.shiftRow(u)),c=f.indexOf(l)+1}for(c;c=s&&l.shiftRow(u)}}else{u=Math.abs(e.start.column-e.end.column),n==="remove"&&(a=this.getFoldsInRange(e),this.removeFolds(a),u=-u);var l=this.getFoldLine(s);l&&l.addRemoveChars(s,r.column,u)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(s,o):this.$updateRowLengthCache(s,o),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r=this.doc.getAllLines(),i=this.getTabSize(),o=this.$wrapData,u=this.$wrapLimit,a,f,l=e;t=Math.min(t,r.length-1);while(l<=t)f=this.getFoldLine(l,f),f?(a=[],f.walk(function(e,t,i,o){var u;if(e!=null){u=this.$getDisplayTokens(e,a.length),u[0]=n;for(var f=1;fr-b){var w=f+r-b;if(e[w-1]>=c&&e[w]>=c){y(w);continue}if(e[w]==n||e[w]==s){for(w;w!=f-1;w--)if(e[w]==n)break;if(w>f){y(w);continue}w=f+r;for(w;w>2)),f-1);while(w>E&&e[w]E&&e[w]E&&e[w]==a)w--}else while(w>E&&e[w]E){y(++w);continue}w=f+r,e[w]==t&&w--,y(w-b)}return o},this.$getDisplayTokens=function(n,r){var i=[],s;r=r||0;for(var o=0;o39&&u<48||u>57&&u<64?i.push(a):u>=4352&&m(u)?i.push(e,t):i.push(e)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i=4352&&m(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]=0)var u=f[l],i=this.$docRowCache[l],h=e>f[c-1];else var h=!c;var p=this.getLength()-1,d=this.getNextFoldLine(i),v=d?d.start.row:Infinity;while(u<=e){a=this.getRowLength(i);if(u+a>e||i>=p)break;u+=a,i++,i>v&&(i=d.end.row+1,d=this.getNextFoldLine(i,d),v=d?d.start.row:Infinity),h&&(this.$docRowCache.push(i),this.$screenRowCache.push(u))}if(d&&d.start.row<=i)r=this.getFoldDisplayLine(d),i=d.start.row;else{if(u+a<=e||i>p)return{row:p,column:this.getLine(p).length};r=this.getLine(i),d=null}var m=0,g=Math.floor(e-u);if(this.$useWrapMode){var y=this.$wrapData[i];y&&(o=y[g],g>0&&y.length&&(m=y.indent,s=y[g-1]||y[y.length-1],r=r.substring(s)))}return n!==undefined&&this.$bidiHandler.isBidiRow(u+g,i,g)&&(t=this.$bidiHandler.offsetToCol(n)),s+=this.$getStringScreenWidth(r,t-m)[1],this.$useWrapMode&&s>=o&&(s=o-1),d?d.idxToPosition(s):{row:i,column:s}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);var v=0;if(this.$useWrapMode){var m=this.$wrapData[i];if(m){var g=0;while(d.length>=m[g])r++,g++;d=d.substring(m[g-1]||0,d.length),v=g>0?m.indent:0}}return{row:r,column:v+this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;ro&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){if(!this.$enableVarChar)return;this.$getStringScreenWidth=function(t,n,r){if(n===0)return[0,0];n||(n=Infinity),r=r||0;var i,s;for(s=0;sn)break}return[r,s]}},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()},this.isFullWidth=m}.call(d.prototype),e("./edit_session/folding").Folding.call(d.prototype),e("./edit_session/bracket_match").BracketMatch.call(d.prototype),o.defineOptions(d.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;this.$wrap=e;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){e=parseInt(e),e>0&&this.$tabSize!==e&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(e){this.setFoldStyle(e)},handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId},handlesSet:!0}}),t.EditSession=d}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";function u(e,t){function n(e){return/\w/.test(e)||t.regExp?"\\b":""}return n(e[0])+e+n(e[e.length-1])}var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i,o){return r=new s(e,n,i,o),n==o&&t.start&&t.start.start&&t.skipCurrent!=0&&r.isEqual(t.start)?(r=null,!1):!0}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a,l;e:for(var c=u.offset||0;c<=f;c++){for(var h=0;hv)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g=0;gE&&o[h].end.row==n.end.row)h--;o=o.slice(g,h+1);for(g=0,h=o.length;g=u;n--)if(c(n,Number.MAX_VALUE,e))return;if(t.wrap==0)return;for(n=a,u=o.row;n>=u;n--)if(c(n,Number.MAX_VALUE,e))return};else var f=function(e){var n=o.row;if(c(n,o.column,e))return;for(n+=1;n<=a;n++)if(c(n,0,e))return;if(t.wrap==0)return;for(n=u,a=o.row;n<=a;n++)if(c(n,0,e))return};if(t.$isMultiLine)var l=n.length,c=function(t,i,s){var o=r?t-l+1:t;if(o<0)return;var u=e.getLine(o),a=u.search(n[0]);if(!r&&ai)return;if(s(o,a,o+l-1,c))return!0};else if(r)var c=function(t,r,i){var s=e.getLine(t),o=[],u,a=0;n.lastIndex=0;while(u=n.exec(s)){var f=u[0].length;a=u.index;if(!f){if(a>=s.length)break;n.lastIndex=a+=1}if(u.index+f>r)break;o.push(u.index,f)}for(var l=o.length-1;l>=0;l-=2){var c=o[l-1],f=o[l];if(i(t,c,t,c+f))return!0}};else var c=function(t,r,i){var s=e.getLine(t),o,u;n.lastIndex=r;while(u=n.exec(s)){var a=u[0].length;o=u.index;if(i(t,o,t,o+a))return!0;if(!a){n.lastIndex=o+=1;if(o>=s.length)return!1}}};return{forEach:f}}}).call(o.prototype),t.Search=o}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function u(e,t){o.call(this,e,t),this.$singleCommand=!1}var r=e("../lib/keys"),i=e("../lib/useragent"),s=r.KEY_MODS;u.prototype=o.prototype,function(){function e(e){return typeof e=="object"&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&(typeof e=="string"?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var s=r[i];if(s==e)delete r[i];else if(Array.isArray(s)){var o=s.indexOf(e);o!=-1&&(s.splice(o,1),s.length==1&&(r[i]=s[0]))}}},this.bindKey=function(e,t,n){typeof e=="object"&&e&&(n==undefined&&(n=e.position),e=e[this.platform]);if(!e)return;if(typeof t=="function")return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(e){var r="";if(e.indexOf(" ")!=-1){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=s[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var o=this.parseKeys(e),u=s[o.hashId]+o.key;this._addCommandToBinding(r+u,t,n)},this)},this._addCommandToBinding=function(t,n,r){var i=this.commandKeyBinding,s;if(!n)delete i[t];else if(!i[t]||this.$singleCommand)i[t]=n;else{Array.isArray(i[t])?(s=i[t].indexOf(n))!=-1&&i[t].splice(s,1):i[t]=[i[t]],typeof r!="number"&&(r=e(n));var o=i[t];for(s=0;sr)break}o.splice(s,0,n)}},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=s[t]+n;return this.commandKeyBinding[r]},this.handleKeyboard=function(e,t,n,r){if(r<0)return;var i=s[t]+n,o=this.commandKeyBinding[i];e.$keyChain&&(e.$keyChain+=" "+i,o=this.commandKeyBinding[e.$keyChain]||o);if(o)if(o=="chainKeys"||o[o.length-1]=="chainKeys")return e.$keyChain=e.$keyChain||i,{command:"null"};if(e.$keyChain)if(!!t&&t!=4||n.length!=1){if(t==-1||r>0)e.$keyChain=""}else e.$keyChain=e.$keyChain.slice(0,-i.length-1);return{command:o}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(o.prototype),t.HashHandler=o,t.MultiHashHandler=u}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").MultiHashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;if(this.$checkCommandState!=0&&e.isAvailable&&!e.isAvailable(t))return!1;var i={editor:t,command:e,args:n};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),i.returnValue===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function o(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config"),s=e("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:o("Alt-E","F4"),exec:function(e){i.loadModule("./ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:o("Alt-Shift-E","Shift-F4"),exec:function(e){i.loadModule("./ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:o("Ctrl-L","Command-L"),exec:function(e,t){typeof t=="number"&&!isNaN(t)&&e.gotoLine(t),e.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:o("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:o("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:o("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:o("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:o("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:o("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:o("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:o("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:o("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:o("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:o("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:o("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(e){},readOnly:!0},{name:"cut",description:"Cut",exec:function(e){var t=e.$copyWithEmptySelection&&e.selection.isEmpty(),n=t?e.selection.getLineRange():e.selection.getRange();e._emit("cut",n),n.isEmpty()||e.session.remove(n),e.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",description:"Undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",description:"Redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:o("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:o("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:o("Ctrl-Shift-Backspace",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:o("Ctrl-Shift-Delete",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:o("Alt-Shift-X","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",description:"Expand to line",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",description:"Join lines",bindKey:o(null,null),exec:function(e){var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,u=e.session.doc.getTextRange(e.selection.getRange()),a=u.replace(/\n\s*/," ").length,f=e.session.doc.getLine(n.row);for(var l=n.row+1;l<=i.row+1;l++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));c.length!==0&&(c=" "+c),f+=c}i.row+10?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o=i.lastRow||r.end.row<=i.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}n=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}var s=this.selection.toJSON();this.curOp.selectionAfter=s,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(s),this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},this.setKeyboardHandler=function(e,t){if(e&&typeof e=="string"&&e!="ace"){this.$keybindingId=e;var n=this;g.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.off("changeCursor",this.$onCursorChange),n.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this}),e&&e.bgTokenizer&&e.bgTokenizer.scheduleStart()},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container).fontSize},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=t.findMatchingBracket(e.getCursorPosition());if(n)var r=new p(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)var r=t.$mode.getMatching(e.session);r&&(t.$bracketHighlight=t.addMarker(r,"ace_bracket","text"))},50)},this.$highlightTags=function(){if(this.$highlightTagPending)return;var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=e.getCursorPosition(),r=new y(e.session,n.row,n.column),i=r.getCurrentToken();if(!i||!/\b(?:tag-open|tag-name)/.test(i.type)){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}if(i.type.indexOf("tag-open")!=-1){i=r.stepForward();if(!i)return}var s=i.value,o=0,u=r.stepBackward();if(u.value=="<"){do u=i,i=r.stepForward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="=0)}else{do i=u,u=r.stepBackward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new p(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column,r=t.end.column,i=e.getLine(t.start.row),s=i.substring(n,r);if(s.length>5e3||!/[\w\d]/.test(s))return;var o=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:s}),u=i.substring(n-1,r+1);if(!o.test(u))return;return o},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText(),t=this.session.doc.getNewLineCharacter(),n=!1;if(!e&&this.$copyWithEmptySelection){n=!0;var r=this.selection.getAllRanges();for(var i=0;iu.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e);n.insert(i,e),s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new p(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new p(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(n.getDocument().isNewLine(e)){var h=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},h)}c&&r.autoOutdent(l,n,i.row)},this.onTextInput=function(e,t){if(!t)return this.keyBinding.onTextInput(e);this.startOperation({command:{name:"insertstring"}});var n=this.applyComposition.bind(this,e,t);this.selection.rangeCount?this.forEachSelection(n):n(),this.endOperation()},this.applyComposition=function(e,t){if(t.extendLeft||t.extendRight){var n=this.selection.getRange();n.start.column-=t.extendLeft,n.end.column+=t.extendRight,this.selection.setRange(n),!e&&!n.isEmpty()&&this.remove()}(e||!this.selection.isEmpty())&&this.insert(e,!0);if(t.restoreStart||t.restoreEnd){var n=this.selection.getRange();n.start.column-=t.restoreStart,n.end.column-=t.restoreEnd,this.selection.setRange(n)}},this.onCommandKey=function(e,t,n){return this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;tt.toLowerCase()?1:0});var i=new p(0,0,0,0);for(var r=e.first;r<=e.last;r++){var s=t.getLine(r);i.start.row=r,i.end.row=r,i.end.column=s.length,t.replace(i,n[r-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&n=u&&o<=a&&(n=t,f.selection.clearSelection(),f.moveCursorTo(e,u+r),f.selection.selectTo(e,a+r)),u=a});var l=this.$toggleWordPairs,c;for(var h=0;hp+1)break;p=d.last}l--,u=this.session.$moveLines(h,p,t?0:e),t&&e==-1&&(c=l+1);while(c<=l)o[c].moveBy(u,0),c++;t||(u=0),a+=u}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(e)},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection());var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.selection.selectAll()},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new y(this.session,n.row,n.column),i=r.getCurrentToken(),s=i||r.stepForward();if(!s)return;var o,u=!1,a={},f=n.column-s.start,l,c={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(s.value.match(/[{}()\[\]]/g))for(;f=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.session.unfold(e),this.selection.setSelectionRange(e);var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.topwindow.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.off("changeSelection",s),this.renderer.off("afterRender",u),this.renderer.off("beforeRender",o)}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!="wide",i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e))},this.prompt=function(e,t,n){var r=this;g.loadModule("./ext/prompt",function(i){i.prompt(r,e,t,n)})}}.call(w.prototype),g.defineOptions(w.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.textInput.setReadOnly(e),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(e){this.textInput.setCopyWithEmptySelection(e)},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(e){this.session.setValue(e)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(e){this.setSession(e)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(e){this.renderer.$gutterLayer.setShowLineNumbers(e),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),e&&this.$relativeLineNumbers?E.attach(this):E.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(e){this.$showLineNumbers&&e?E.attach(this):E.detach(this)}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var E={getText:function(e,t){return(Math.abs(e.selection.lead.row-t)||t+1+(t<9?"\u00b7":""))+""},getWidth:function(e,t,n){return Math.max(t.toString().length,(n.lastRow+1).toString().length,2)*n.characterWidth},update:function(e,t){t.renderer.$loop.schedule(t.renderer.CHANGE_GUTTER)},attach:function(e){e.renderer.$gutterLayer.$renderer=this,e.on("changeSelection",this.update),this.update(null,e)},detach:function(e){e.renderer.$gutterLayer.$renderer==this&&(e.renderer.$gutterLayer.$renderer=null),e.off("changeSelection",this.update),this.update(null,e)}};t.Editor=w}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){for(var n=t;n--;){var r=e[n];if(r&&!r[0].ignore){while(n0){a.row+=i,a.column+=a.row==r.row?s:0;continue}!t&&l<=0&&(a.row=n.row,a.column=n.column,l===0&&(a.bias=1))}}function f(e){return{row:e.row,column:e.column}}function l(e){return{start:f(e.start),end:f(e.end),action:e.action,lines:e.lines.slice()}}function c(e){e=e||this;if(Array.isArray(e))return e.map(c).join("\n");var t="";e.action?(t=e.action=="insert"?"+":"-",t+="["+e.lines+"]"):e.value&&(Array.isArray(e.value)?t=e.value.map(h).join("\n"):t=h(e.value)),e.start&&(t+=h(e));if(e.id||e.rev)t+=" ("+(e.id||e.rev)+")";return t}function h(e){return e.start.row+":"+e.start.column+"=>"+e.end.row+":"+e.end.column}function p(e,t){var n=e.action=="insert",r=t.action=="insert";if(n&&r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.start,e.start)<=0))return null;m(e,t,1)}else if(n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.end,e.start)<=0))return null;m(e,t,-1)}else if(!n&&r)if(o(t.start,e.start)>=0)m(t,e,1);else{if(!(o(t.start,e.start)<=0))return null;m(e,t,1)}else if(!n&&!r)if(o(t.start,e.start)>=0)m(t,e,1);else{if(!(o(t.end,e.start)<=0))return null;m(e,t,-1)}return[t,e]}function d(e,t){for(var n=e.length;n--;)for(var r=0;r=0?m(e,t,-1):o(e.start,t.start)<=0?m(t,e,1):(m(e,s.fromPoints(t.start,e.start),-1),m(t,e,1));else if(!n&&r)o(t.start,e.end)>=0?m(t,e,-1):o(t.start,e.start)<=0?m(e,t,1):(m(t,s.fromPoints(e.start,t.start),-1),m(e,t,1));else if(!n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else{if(!(o(t.end,e.start)<=0)){var i,u;return o(e.start,t.start)<0&&(i=e,e=y(e,t.start)),o(e.end,t.end)>0&&(u=y(e,t.end)),g(t.end,e.start,e.end,-1),u&&!i&&(e.lines=u.lines,e.start=u.start,e.end=u.end,u=e),[t,i,u].filter(Boolean)}m(e,t,-1)}return[t,e]}function m(e,t,n){g(e.start,t.start,t.end,n),g(e.end,t.start,t.end,n)}function g(e,t,n,r){e.row==(r==1?t:n).row&&(e.column+=r*(n.column-t.column)),e.row+=r*(n.row-t.row)}function y(e,t){var n=e.lines,r=e.end;e.end=f(t);var i=e.end.row-e.start.row,s=n.splice(i,n.length),o=i?t.column:t.column-e.start.column;n.push(s[0].substring(0,o)),s[0]=s[0].substr(o);var u={start:f(t),end:r,lines:s,action:e.action};return u}function b(e,t){t=l(t);for(var n=e.length;n--;){var r=e[n];for(var i=0;i0},this.canRedo=function(){return this.$redoStack.length>0},this.bookmark=function(e){e==undefined&&(e=this.$rev),this.mark=e},this.isAtBookmark=function(){return this.$rev===this.mark},this.toJSON=function(){},this.fromJSON=function(){},this.hasUndo=this.canUndo,this.hasRedo=this.canRedo,this.isClean=this.isAtBookmark,this.markClean=this.bookmark,this.$prettyPrint=function(e){return e?c(e):c(this.$undoStack)+"\n---\n"+c(this.$redoStack)}}).call(r.prototype);var s=e("./range").Range,o=s.comparePoints,u=s.comparePoints;t.UndoManager=r}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=function(e,t){this.element=e,this.canvasHeight=t||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0};(function(){this.moveContainer=function(e){r.translate(this.element,0,-(e.firstRowScreen*e.lineHeight%this.canvasHeight)-e.offset*this.$offsetCoefficient)},this.pageChanged=function(e,t){return Math.floor(e.firstRowScreen*e.lineHeight/this.canvasHeight)!==Math.floor(t.firstRowScreen*t.lineHeight/this.canvasHeight)},this.computeLineTop=function(e,t,n){var r=t.firstRowScreen*t.lineHeight,i=Math.floor(r/this.canvasHeight),s=n.documentToScreenRow(e,0)*t.lineHeight;return s-i*this.canvasHeight},this.computeLineHeight=function(e,t,n){return t.lineHeight*n.getRowLength(e)},this.getLength=function(){return this.cells.length},this.get=function(e){return this.cells[e]},this.shift=function(){this.$cacheCell(this.cells.shift())},this.pop=function(){this.$cacheCell(this.cells.pop())},this.push=function(e){if(Array.isArray(e)){this.cells.push.apply(this.cells,e);var t=r.createFragment(this.element);for(var n=0;ns&&(a=i.end.row+1,i=t.getNextFoldLine(a,i),s=i?i.start.row:Infinity);if(a>r){while(this.$lines.getLength()>u+1)this.$lines.pop();break}o=this.$lines.get(++u),o?o.row=a:(o=this.$lines.createCell(a,e,this.session,f),this.$lines.push(o)),this.$renderCell(o,e,i,a),a++}this._signal("afterRender"),this.$updateGutterWidth(e)},this.$updateGutterWidth=function(e){var t=this.session,n=t.gutterRenderer||this.$renderer,r=t.$firstLineNumber,i=this.$lines.last()?this.$lines.last().text:"";if(this.$fixedWidth||t.$useWrapMode)i=t.getLength()+r-1;var s=n?n.getWidth(t,i,e):i.toString().length*e.characterWidth,o=this.$padding||this.$computePadding();s+=o.left+o.right,s!==this.gutterWidth&&!isNaN(s)&&(this.gutterWidth=s,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",s))},this.$updateCursorRow=function(){if(!this.$highlightGutterLine)return;var e=this.session.selection.getCursor();if(this.$cursorRow===e.row)return;this.$cursorRow=e.row},this.updateLineHighlight=function(){if(!this.$highlightGutterLine)return;var e=this.session.selection.cursor.row;this.$cursorRow=e;if(this.$cursorCell&&this.$cursorCell.row==e)return;this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var t=this.$lines.cells;this.$cursorCell=null;for(var n=0;n=this.$cursorRow){if(r.row>this.$cursorRow){var i=this.session.getFoldLine(this.$cursorRow);if(!(n>0&&i&&i.start.row==t[n-1].row))break;r=t[n-1]}r.element.className="ace_gutter-active-line "+r.element.className,this.$cursorCell=r;break}}},this.scrollLines=function(e){var t=this.config;this.config=e,this.$updateCursorRow();if(this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var n=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),r=this.oldLastRow;this.oldLastRow=n;if(!t||r0;i--)this.$lines.shift();if(r>n)for(var i=this.session.getFoldedRowCount(n+1,r);i>0;i--)this.$lines.pop();e.firstRowr&&this.$lines.push(this.$renderLines(e,r+1,n)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},this.$renderLines=function(e,t,n){var r=[],i=t,s=this.session.getNextFoldLine(i),o=s?s.start.row:Infinity;for(;;){i>o&&(i=s.end.row+1,s=this.session.getNextFoldLine(i,s),o=s?s.start.row:Infinity);if(i>n)break;var u=this.$lines.createCell(i,e,this.session,f);this.$renderCell(u,e,s,i),r.push(u),i++}return r},this.$renderCell=function(e,t,n,i){var s=e.element,o=this.session,u=s.childNodes[0],a=s.childNodes[1],f=o.$firstLineNumber,l=o.$breakpoints,c=o.$decorations,h=o.gutterRenderer||this.$renderer,p=this.$showFoldWidgets&&o.foldWidgets,d=n?n.start.row:Number.MAX_VALUE,v="ace_gutter-cell ";this.$highlightGutterLine&&(i==this.$cursorRow||n&&i=d&&this.$cursorRow<=n.end.row)&&(v+="ace_gutter-active-line ",this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=e)),l[i]&&(v+=l[i]),c[i]&&(v+=c[i]),this.$annotations[i]&&(v+=this.$annotations[i].className),s.className!=v&&(s.className=v);if(p){var m=p[i];m==null&&(m=p[i]=o.getFoldWidget(i))}if(m){var v="ace_fold-widget ace_"+m;m=="start"&&i==d&&in.right-t.right)return"foldWidgets"}}).call(a.prototype),t.Gutter=a}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){function e(e,t,n,r){return(e?1:0)|(t?2:0)|(n?4:0)|(r?8:0)}this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.elt=function(e,t){var n=this.i!=-1&&this.element.childNodes[this.i];n?this.i++:(n=document.createElement("div"),this.element.appendChild(n),this.i=-1),n.style.cssText=t,n.className=e},this.update=function(e){if(!e)return;this.config=e,this.i=0;var t;for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(i.isEmpty())continue;i=i.toScreenRange(this.session);if(r.renderer){var s=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,s,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,i,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type=="text"?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start"+" ace_br15",e)}if(this.i!=-1)while(this.ip,l==f),s,l==f?0:1,o)},this.drawMultiLineMarker=function(e,t,n,r,i){var s=this.$padding,o=r.lineHeight,u=this.$getTop(t.start.row,r),a=s+t.start.column*r.characterWidth;i=i||"";if(this.session.$bidiHandler.isBidiRow(t.start.row)){var f=t.clone();f.end.row=f.start.row,f.end.column=this.session.getLine(f.start.row).length,this.drawBidiSingleLineMarker(e,f,n+" ace_br1 ace_start",r,null,i)}else this.elt(n+" ace_br1 ace_start","height:"+o+"px;"+"right:0;"+"top:"+u+"px;left:"+a+"px;"+(i||""));if(this.session.$bidiHandler.isBidiRow(t.end.row)){var f=t.clone();f.start.row=f.end.row,f.start.column=0,this.drawBidiSingleLineMarker(e,f,n+" ace_br12",r,null,i)}else{u=this.$getTop(t.end.row,r);var l=t.end.column*r.characterWidth;this.elt(n+" ace_br12","height:"+o+"px;"+"width:"+l+"px;"+"top:"+u+"px;"+"left:"+s+"px;"+(i||""))}o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<=0)return;u=this.$getTop(t.start.row+1,r);var c=(t.start.column?1:0)|(t.end.column?0:8);this.elt(n+(c?" ace_br"+c:""),"height:"+o+"px;"+"right:0;"+"top:"+u+"px;"+"left:"+s+"px;"+(i||""))},this.drawSingleLineMarker=function(e,t,n,r,i,s){if(this.session.$bidiHandler.isBidiRow(t.start.row))return this.drawBidiSingleLineMarker(e,t,n,r,i,s);var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;this.elt(n,"height:"+o+"px;"+"width:"+u+"px;"+"top:"+a+"px;"+"left:"+f+"px;"+(s||""))},this.drawBidiSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=this.$getTop(t.start.row,r),a=this.$padding,f=this.session.$bidiHandler.getSelections(t.start.column,t.end.column);f.forEach(function(e){this.elt(n,"height:"+o+"px;"+"width:"+e.width+(i||0)+"px;"+"top:"+u+"px;"+"left:"+(a+e.left)+"px;"+(s||""))},this)},this.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),this.elt(n,"height:"+o+"px;"+"top:"+s+"px;"+"left:0;right:0;"+(i||""))},this.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;this.elt(n,"height:"+o+"px;"+"top:"+s+"px;"+"left:0;right:0;"+(i||""))}}).call(s.prototype),t.Marker=s}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("./lines").Lines,u=e("../lib/event_emitter").EventEmitter,a=function(e){this.dom=i,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new o(this.element)};(function(){r.implement(this,u),this.EOF_CHAR="\u00b6",this.EOL_CHAR_LF="\u00ac",this.EOL_CHAR_CRLF="\u00a4",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="\u2014",this.SPACE_CHAR="\u00b7",this.$padding=0,this.MAX_LINE_LENGTH=1e4,this.$updateEolChar=function(){var e=this.session.doc,t=e.getNewLineCharacter()=="\n"&&e.getNewLineMode()!="windows",n=t?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=n)return this.EOL_CHAR=n,!0},this.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;nl&&(u=a.end.row+1,a=this.session.getNextFoldLine(u,a),l=a?a.start.row:Infinity);if(u>i)break;var c=s[o++];if(c){this.dom.removeChildren(c),this.$renderLine(c,u,u==l?a:!1),f&&(c.style.top=this.$lines.computeLineTop(u,e,this.session)+"px");var h=e.lineHeight*this.session.getRowLength(u)+"px";c.style.height!=h&&(f=!0,c.style.height=h)}u++}if(f)while(o0;i--)this.$lines.shift();if(t.lastRow>e.lastRow)for(var i=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);i>0;i--)this.$lines.pop();e.firstRowt.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow))},this.$renderLinesFragment=function(e,t,n){var r=[],s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=this.$lines.createCell(s,e,this.session),f=a.element;this.dom.removeChildren(f),i.setStyle(f.style,"height",this.$lines.computeLineHeight(s,e,this.session)+"px"),i.setStyle(f.style,"top",this.$lines.computeLineTop(s,e,this.session)+"px"),this.$renderLine(f,s,s==u?o:!1),this.$useLineGroups()?f.className="ace_line_group":f.className="ace_line",r.push(a),s++}return r},this.update=function(e){this.$lines.moveContainer(e),this.config=e;var t=e.firstRow,n=e.lastRow,r=this.$lines;while(r.getLength())r.pop();r.push(this.$renderLinesFragment(e,t,n))},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,o=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,u=this.dom.createFragment(this.element),a,f=0;while(a=o.exec(r)){var l=a[1],c=a[2],h=a[3],p=a[4],d=a[5];if(!i.showInvisibles&&c)continue;var v=f!=a.index?r.slice(f,a.index):"";f=a.index+a[0].length,v&&u.appendChild(this.dom.createTextNode(v,this.element));if(l){var m=i.session.getScreenTabSize(t+a.index);u.appendChild(i.$tabStrings[m].cloneNode(!0)),t+=m-1}else if(c)if(i.showInvisibles){var g=this.dom.createElement("span");g.className="ace_invisible ace_invisible_space",g.textContent=s.stringRepeat(i.SPACE_CHAR,c.length),u.appendChild(g)}else u.appendChild(this.com.createTextNode(c,this.element));else if(h){var g=this.dom.createElement("span");g.className="ace_invisible ace_invisible_space ace_invalid",g.textContent=s.stringRepeat(i.SPACE_CHAR,h.length),u.appendChild(g)}else if(p){t+=1;var g=this.dom.createElement("span");g.style.width=i.config.characterWidth*2+"px",g.className=i.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",g.textContent=i.showInvisibles?i.SPACE_CHAR:p,u.appendChild(g)}else if(d){t+=1;var g=this.dom.createElement("span");g.style.width=i.config.characterWidth*2+"px",g.className="ace_cjk",g.textContent=d,u.appendChild(g)}}u.appendChild(this.dom.createTextNode(f?r.slice(f):r,this.element));if(!this.$textToken[n.type]){var y="ace_"+n.type.replace(/\./g," ace_"),g=this.dom.createElement("span");n.type=="fold"&&(g.style.width=n.value.length*this.config.characterWidth+"px"),g.className=y,g.appendChild(u),e.appendChild(g)}else e.appendChild(u);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);if(r<=0||r>=n)return t;if(t[0]==" "){r-=r%this.tabSize;var i=r/this.tabSize;for(var s=0;s=o)u=this.$renderToken(a,u,l,c.substring(0,o-r)),c=c.substring(o-r),r=o,a=this.$createLineElement(),e.appendChild(a),a.appendChild(this.dom.createTextNode(s.stringRepeat("\u00a0",n.indent),this.element)),i++,u=0,o=n[i]||Number.MAX_VALUE;c.length!=0&&(r+=c.length,u=this.$renderToken(a,u,l,c))}}n[n.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(a,u,null,"",!0)},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;sthis.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,n,r,i);n=this.$renderToken(e,n,r,i)}},this.$renderOverflowMessage=function(e,t,n,r,i){n&&this.$renderToken(e,t,n,r.slice(0,this.MAX_LINE_LENGTH-t));var s=this.dom.createElement("span");s.className="ace_inline_button ace_keyword ace_toggle_wrap",s.textContent=i?"":"",e.appendChild(s)},this.$renderLine=function(e,t,n){!n&&n!=0&&(n=this.session.getFoldLine(t));if(n)var r=this.$getFoldLineTokens(t,n);else var r=this.session.getTokens(t);var i=e;if(r.length){var s=this.session.getRowSplitData(t);if(s&&s.length){this.$renderWrappedLine(e,r,s);var i=e.lastChild}else{var i=e;this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i)),this.$renderSimpleLine(i,r)}}else this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i));if(this.showInvisibles&&i){n&&(t=n.end.row);var o=this.dom.createElement("span");o.className="ace_invisible ace_invisible_eol",o.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,i.appendChild(o)}},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.lengthn-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(sn?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){}}).call(a.prototype),t.Text=a}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)};(function(){this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)r.setStyle(t[n].style,"opacity",e?"":"0")},this.$startCssAnimation=function(){var e=this.cursors;for(var t=e.length;t--;)e[t].style.animationDuration=this.blinkInterval+"ms";setTimeout(function(){r.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},this.$stopCssAnimation=function(){r.removeCssClass(this.element,"ace_animate-blinking")},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));if(r.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()}},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+(this.session.$bidiHandler.isBidiRow(n.row,e.row)?this.session.$bidiHandler.getPosLeft(n.column):n.column*this.config.characterWidth),i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.isCursorInView=function(e,t){return e.top>=0&&e.tope.height+e.offset||o.top<0)&&n>1)continue;var u=this.cursors[i++]||this.addCursor(),a=u.style;this.drawCursor?this.drawCursor(u,o,e,t[n],this.session):this.isCursorInView(o,e)?(r.setStyle(a,"display","block"),r.translate(u,o.left,o.top),r.setStyle(a,"width",Math.round(e.characterWidth)+"px"),r.setStyle(a,"height",e.lineHeight+"px")):r.setStyle(a,"display","none")}while(this.cursors.length>i)this.removeCursor();var f=this.session.getOverwrite();this.$setOverwrite(f),this.$pixelPos=o,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(i.prototype),t.Cursor=i}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=32768,a=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent="\u00a0",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)};(function(){r.implement(this,o),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}).call(a.prototype);var f=function(e,t){a.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px",this.$minWidth=0};r.inherits(f,a),function(){this.classSuffix="-v",this.onScroll=function(){if(!this.skipEvent){this.scrollTop=this.element.scrollTop;if(this.coeff!=1){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){this.scrollHeight=e,e>u?(this.coeff=u/e,e=u):this.coeff!=1&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(f.prototype);var l=function(e,t){a.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(l,a),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(l.prototype),t.ScrollBar=f,t.ScrollBarV=f,t.ScrollBarH=l,t.VScrollBar=f,t.HScrollBar=l}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=t||window;var n=this;this._flush=function(e){n.pending=!1;var t=n.changes;t&&(r.blockIdle(100),n.changes=0,n.onRender(t));if(n.changes){if(n.$recursionLimit--<0)return;n.schedule()}else n.$recursionLimit=2}};(function(){this.schedule=function(e){this.changes=this.changes|e,this.changes&&!this.pending&&(r.nextFrame(this._flush),this.pending=!0)},this.clear=function(e){var t=this.changes;return this.changes=0,t}}).call(i.prototype),t.RenderLoop=i}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/event"),u=e("../lib/useragent"),a=e("../lib/event_emitter").EventEmitter,f=256,l=typeof ResizeObserver=="function",c=200,h=t.FontMetrics=function(e){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.innerHTML=s.stringRepeat("X",f),this.$characterSize={width:0,height:0},l?this.$addObserver():this.checkForSizeChanges()};(function(){r.implement(this,a),this.$characterSize={width:0,height:0},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",u.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(e){e===undefined&&(e=this.$measureSizes());if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$addObserver=function(){var e=this;this.$observer=new window.ResizeObserver(function(t){var n=t[0].contentRect;e.checkForSizeChanges({height:n.height,width:n.width/f})}),this.$observer.observe(this.$measureNode)},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=o.onIdle(function t(){e.checkForSizeChanges(),o.onIdle(t,500)},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(e){var t={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/f};return t.width===0||t.height===0?null:t},this.$measureCharWidth=function(e){this.$main.innerHTML=s.stringRepeat(e,f);var t=this.$main.getBoundingClientRect();return t.width/f},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},this.$getZoom=function e(t){return t?(window.getComputedStyle(t).zoom||1)*e(t.parentElement):1},this.$initTransformMeasureNodes=function(){var e=function(e,t){return["div",{style:"position: absolute;top:"+e+"px;left:"+t+"px;"}]};this.els=i.buildDom([e(0,0),e(c,0),e(0,c),e(c,c)],this.el)},this.transformCoordinates=function(e,t){function r(e,t,n){var r=e[1]*t[0]-e[0]*t[1];return[(-t[1]*n[0]+t[0]*n[1])/r,(+e[1]*n[0]-e[0]*n[1])/r]}function i(e,t){return[e[0]-t[0],e[1]-t[1]]}function s(e,t){return[e[0]+t[0],e[1]+t[1]]}function o(e,t){return[e*t[0],e*t[1]]}function u(e){var t=e.getBoundingClientRect();return[t.left,t.top]}if(e){var n=this.$getZoom(this.el);e=o(1/n,e)}this.els||this.$initTransformMeasureNodes();var a=u(this.els[0]),f=u(this.els[1]),l=u(this.els[2]),h=u(this.els[3]),p=r(i(h,f),i(h,l),i(s(f,l),s(h,a))),d=o(1+p[0],i(f,a)),v=o(1+p[1],i(l,a));if(t){var m=t,g=p[0]*m[0]/c+p[1]*m[1]/c+1,y=s(o(m[0],d),o(m[1],v));return s(o(1/g/c,y),a)}var b=i(e,a),w=r(i(d,o(p[0],b)),i(v,o(p[1],b)),b);return o(c,w)}}).call(h.prototype)}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./config"),o=e("./layer/gutter").Gutter,u=e("./layer/marker").Marker,a=e("./layer/text").Text,f=e("./layer/cursor").Cursor,l=e("./scrollbar").HScrollBar,c=e("./scrollbar").VScrollBar,h=e("./renderloop").RenderLoop,p=e("./layer/font_metrics").FontMetrics,d=e("./lib/event_emitter").EventEmitter,v='.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;box-sizing: border-box;min-width: 100%;contain: style size layout;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;contain: style size layout;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {position: absolute;top: 0;left: 0;right: 0;padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {contain: strict;position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;contain: strict;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: transparent;color: inherit;z-index: 1000;opacity: 1;}.ace_composition_placeholder { color: transparent }.ace_composition_marker { border-bottom: 1px solid;position: absolute;border-radius: 0;margin-top: 1px;}[ace_nocontext=true] {transform: none!important;filter: none!important;perspective: none!important;clip-path: none!important;mask : none!important;contain: none!important;perspective: none!important;mix-blend-mode: initial!important;z-index: auto;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;height: 1000000px;contain: style size layout;}.ace_text-layer {font: inherit !important;position: absolute;height: 1000000px;width: 1000000px;contain: style size layout;}.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {contain: style size layout;position: absolute;top: 0;left: 0;right: 0;}.ace_hidpi .ace_text-layer,.ace_hidpi .ace_gutter-layer,.ace_hidpi .ace_content,.ace_hidpi .ace_gutter {contain: strict;will-change: transform;}.ace_hidpi .ace_text-layer > .ace_line, .ace_hidpi .ace_text-layer > .ace_line_group {contain: strict;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {transition: opacity 0.18s;}.ace_animate-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: step-end;animation-name: blink-ace-animate;animation-iteration-count: infinite;}.ace_animate-blinking.ace_smooth-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: ease-in-out;animation-name: blink-ace-animate-smooth;}@keyframes blink-ace-animate {from, to { opacity: 1; }60% { opacity: 0; }}@keyframes blink-ace-animate-smooth {from, to { opacity: 1; }45% { opacity: 1; }60% { opacity: 0; }85% { opacity: 0; }}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;box-sizing: border-box;}.ace_line .ace_fold {box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_inline_button {border: 1px solid lightgray;display: inline-block;margin: -1px 8px;padding: 0 5px;pointer-events: auto;cursor: pointer;}.ace_inline_button:hover {border-color: gray;background: rgba(200,200,200,0.2);display: inline-block;pointer-events: auto;}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_mobile-menu {position: absolute;line-height: 1.5;border-radius: 4px;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;background: white;box-shadow: 1px 3px 2px grey;border: 1px solid #dcdcdc;color: black;}.ace_dark > .ace_mobile-menu {background: #333;color: #ccc;box-shadow: 1px 3px 2px grey;border: 1px solid #444;}.ace_mobile-button {padding: 2px;cursor: pointer;overflow: hidden;}.ace_mobile-button:hover {background-color: #eee;opacity:1;}.ace_mobile-button:active {background-color: #ddd;}',m=e("./lib/useragent"),g=m.isIE;i.importCssString(v,"ace_editor.css");var y=function(e,t){var n=this;this.container=e||i.createElement("div"),i.addCssClass(this.container,"ace_editor"),i.HI_DPI&&i.addCssClass(this.container,"ace_hidpi"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new o(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new u(this.content);var r=this.$textLayer=new a(this.content);this.canvas=r.element,this.$markerFront=new u(this.content),this.$cursorLayer=new f(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new c(this.container,this),this.scrollBarH=new l(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new p(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!m.isIOS,this.$loop=new h(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),s.resetOptions(this),s._signal("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,d),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),i.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e);if(!e)return;this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode)},this.updateLines=function(e,t,n){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow)return;this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(this.resizing>2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var s=0,o=this.$size,u={width:o.width,height:o.height,scrollerHeight:o.scrollerHeight,scrollerWidth:o.scrollerWidth};r&&(e||o.height!=r)&&(o.height=r,s|=this.CHANGE_SIZE,o.scrollerHeight=o.height,this.$horizScroll&&(o.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",s|=this.CHANGE_SCROLL);if(n&&(e||o.width!=n)){s|=this.CHANGE_SIZE,o.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,i.setStyle(this.scrollBarH.element.style,"left",t+"px"),i.setStyle(this.scroller.style,"left",t+this.margin.left+"px"),o.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()-this.margin.h),i.setStyle(this.$gutter.style,"left",this.margin.left+"px");var a=this.scrollBarV.getWidth()+"px";i.setStyle(this.scrollBarH.element.style,"right",a),i.setStyle(this.scroller.style,"right",a),i.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight());if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)s|=this.CHANGE_FULL}return o.$dirty=!n||!r,s&&this._signal("resize",u),s},this.onGutterResize=function(e){var t=this.$showGutter?e:0;t!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,t,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e),this.session.$bidiHandler.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(this.$isMousePressed)return;var e=this.textarea.style,t=this.$composition;if(!this.$keepTextAreaAtCursor&&!t){i.translate(this.textarea,-100,0);return}var n=this.$cursorLayer.$pixelPos;if(!n)return;t&&t.markerRange&&(n=this.$cursorLayer.getPixelPosition(t.markerRange.start,!0));var r=this.layerConfig,s=n.top,o=n.left;s-=r.offset;var u=t&&t.useTextareaForIME?this.lineHeight:g?0:1;if(s<0||s>r.height-u){i.translate(this.textarea,0,0);return}var a=1,f=this.$size.height-u;if(!t)s+=this.lineHeight;else if(t.useTextareaForIME){var l=this.textarea.value;a=this.characterWidth*this.session.$getStringScreenWidth(l)[0],u+=2}else s+=this.lineHeight+2;o-=this.scrollLeft,o>this.$size.scrollerWidth-a&&(o=this.$size.scrollerWidth-a),o+=this.gutterWidth+this.margin.left,i.setStyle(e,"height",u+"px"),i.setStyle(e,"width",a+"px"),i.translate(this.textarea,Math.min(o,this.$size.scrollerWidth-a),Math.min(s,f))},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow,n=this.session.documentToScreenRow(t,0)*e.lineHeight;return n-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.setMargin=function(e,t,n,r){var i=this.margin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender"),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){e|=this.$computeLayerConfig()|this.$loop.clear();if(n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig()|this.$loop.clear())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),i.translate(this.content,-this.scrollLeft,-n.offset);var s=n.width+2*this.$padding+"px",o=n.minHeight+"px";i.setStyle(this.content.style,"width",s),i.setStyle(this.content.style,"height",o)}e&this.CHANGE_H_SCROLL&&(i.translate(this.content,-this.scrollLeft,-n.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left");if(e&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this._signal("afterRender");return}if(e&this.CHANGE_SCROLL){this.$changedLines=null,e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&(e&this.CHANGE_GUTTER||e&this.CHANGE_LINES?this.$gutterLayer.update(n):this.$gutterLayer.scrollLines(n)),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this._signal("afterRender");return}e&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER?this.$showGutter&&this.$gutterLayer.update(n):e&this.CHANGE_CURSOR&&this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender")},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=n<=2*this.lineHeight,i=!r&&e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||i!=this.$vScroll){i!=this.$vScroll&&(this.$vScroll=i,this.scrollBarV.setVisible(i));var s=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,s,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-s-2*this.$padding<0),u=this.$horizScroll!==o;u&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var a=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var f=t.scrollerHeight+this.lineHeight,l=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;i+=l;var c=this.scrollMargin;this.session.setScrollTop(Math.max(-c.top,Math.min(this.scrollTop,i-t.scrollerHeight+c.bottom))),this.session.setScrollLeft(Math.max(-c.left,Math.min(this.scrollLeft,s+2*this.$padding-t.scrollerWidth+c.right)));var h=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i+l<0||this.scrollTop>c.top),p=a!==h;p&&(this.$vScroll=h,this.scrollBarV.setVisible(h));var d=this.scrollTop%this.lineHeight,v=Math.ceil(f/this.lineHeight)-1,m=Math.max(0,Math.round((this.scrollTop-d)/this.lineHeight)),g=m+v,y,b,w=this.lineHeight;m=e.screenToDocumentRow(m,0);var E=e.getFoldLine(m);E&&(m=E.start.row),y=e.documentToScreenRow(m,0),b=e.getRowLength(m)*w,g=Math.min(e.screenToDocumentRow(g,0),e.getLength()-1),f=t.scrollerHeight+e.getRowLength(g)*w+b,d=this.scrollTop-y*w;var S=0;if(this.layerConfig.width!=s||u)S=this.CHANGE_H_SCROLL;if(u||p)S|=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),p&&(s=this.$getLongestLine());return this.layerConfig={width:s,padding:this.$padding,firstRow:m,firstRowScreen:y,lastRow:g,lineHeight:w,characterWidth:this.characterWidth,minHeight:f,maxHeight:i,offset:d,gutterOffset:w?Math.max(0,Math.ceil((d+t.height-t.scrollerHeight)/w)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(s-this.$padding),S},this.$updateLines=function(){if(!this.$changedLines)return;var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(tthis.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,n){this.scrollCursorIntoView(e,n),this.scrollCursorIntoView(t,n)},this.scrollCursorIntoView=function(e,t,n){if(this.$size.scrollerHeight===0)return;var r=this.$cursorLayer.getPixelPosition(e),i=r.left,s=r.top,o=n&&n.top||0,u=n&&n.bottom||0,a=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;a+o>s?(t&&a+o>s+this.lineHeight&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-ui?(i=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},this.pixelToScreenCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,s=i/this.characterWidth,o=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),u=this.$blockCursor?Math.floor(s):Math.round(s);return{row:o,column:u,side:s-u>0?1:-1,offsetX:i}},this.screenToTextCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,s=i/this.characterWidth,o=this.$blockCursor?Math.floor(s):Math.round(s),u=Math.floor((t+this.scrollTop-n.top)/this.lineHeight);return this.session.screenToDocumentPosition(u,Math.max(o,0),i)},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,e)?this.session.$bidiHandler.getPosLeft(r.column):Math.round(r.column*this.characterWidth)),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition=e,e.cssText||(e.cssText=this.textarea.style.cssText),e.useTextareaForIME=this.$useTextareaForIME,this.$useTextareaForIME?(i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):e.markerId=this.session.addMarker(e.markerRange,"ace_composition_marker","text")},this.setCompositionText=function(e){var t=this.session.selection.cursor;this.addToken(e,"composition_placeholder",t.row,t.column),this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),i.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText,this.$composition=null,this.$cursorLayer.element.style.display=""},this.addToken=function(e,t,n,r){var i=this.session;i.bgTokenizer.lines[n]=null;var s={type:t,value:e},o=i.getTokens(n);if(r==null)o.push(s);else{var u=0;for(var a=0;a50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})}}).call(f.prototype);var l=function(e,t,n){var r=null,i=!1,u=Object.create(s),a=[],l=new f({messageBuffer:a,terminate:function(){},postMessage:function(e){a.push(e);if(!r)return;i?setTimeout(c):c()}});l.setEmitSync=function(e){i=e};var c=function(){var e=a.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};return u.postMessage=function(e){l.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.length)c()}),l};t.UIWorkerClient=l,t.WorkerClient=f,t.createWorker=a}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,r.detach(),e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;this.updateAnchors(e),i&&(this.length+=n);if(i&&!this.session.$fromUndo)if(e.action==="insert")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.insertMergedLines(a,e.lines)}else if(e.action==="remove")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.remove(new r(a.row,a.column,a.row,a.column-n))}this.$updating=!1,this.updateMarkers()},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(this.$updating)return;var e=this,t=this.session,n=function(n,i){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),i,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)},this.onCursorChange=function(e){if(this.$updating||!this.session)return;var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(this.$undoStackDepth===-1)return;var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth;for(var n=0;n1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length&&this.$onRemoveRange(e)},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),s=n.start.row,o=n.end.row;if(s==o){if(r)var u=n.end,a=n.start;else var u=n.start,a=n.end;this.addRange(i.fromPoints(a,a)),this.addRange(i.fromPoints(u,u));return}var f=[],l=this.getLineRange(s,!0);l.start.column=n.start.column,f.push(l);for(var c=s+1;c1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.cursor),s=this.session.documentToScreenPosition(this.anchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column0)g--;if(g>0){var y=0;while(r[y].isEmpty())y++}for(var b=g;b>=y;b--)r[b].isEmpty()&&r.splice(b,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;if(!t.multiSelectAction){var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}else t.multiSelectAction=="forEach"?r=n.forEachSelection(t,e.args):t.multiSelectAction=="forEachLine"?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});return r},this.forEachSelection=function(e,t,n){if(this.inVirtualSelectionMode)return;var r=n&&n.keepOrder,i=n==1||n&&n.$byLines,o=this.session,u=this.selection,a=u.rangeList,f=(r?u:a).ranges,l;if(!f.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var c=u._eventRegistry;u._eventRegistry={};var h=new s(o);this.inVirtualSelectionMode=!0;for(var p=f.length;p--;){if(i)while(p>0&&f[p].start.row==f[p-1].end.row)p--;h.fromOrientedRange(f[p]),h.index=p,this.selection=o.selection=h;var d=e.exec?e.exec(this,t||{}):e(this,t||{});!l&&d!==undefined&&(l=d),h.toOrientedRange(f[p])}h.detach(),this.selection=o.selection=u,this.inVirtualSelectionMode=!1,u._eventRegistry=c,u.mergeOverlappingRanges(),u.ranges[0]&&u.fromOrientedRange(u.ranges[0]);var v=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),v&&v.from==v.to&&this.renderer.animateScrolling(v.from),l},this.exitMultiSelectMode=function(){if(!this.inMultiSelectMode||this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var t=this.multiSelect.rangeList.ranges,n=[];for(var r=0;r0);u<0&&(u=0),f>=c&&(f=c-1)}var p=this.session.removeFullLines(u,f);p=this.$reAlignText(p,l),this.session.insert({row:u,column:0},p.join("\n")+"\n"),l||(o.start.column=0,o.end.column=p[p.length-1].length),this.selection.setRange(o)}else{s.forEach(function(e){t.substractPoint(e.cursor)});var d=0,v=Infinity,m=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>d&&(d=n.column),io?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=d,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){function u(e){return a.stringRepeat(" ",e)}function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var n=!0,r=!0,i,s,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,s=t[2].length,o=t[3].length,t):(i+s+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),st[3].length&&(o=t[3].length),t):[e]}).map(t?f:n?r?l:f:c)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){m(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,s=e.getLine(t),o=s.search(i);if(o==-1)return;var u=n||s.length,a=e.getLength(),f=t,l=t;while(++tf){var p=e.getLine(l).length;return new r(f,u,l,p)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=e.getFoldWidget(u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.$id="ace/theme/textmate";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./range").Range;(function(){this.getRowLength=function(e){var t;return this.lineWidgets?t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0:t=0,!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)}),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach();if(this.editor==e)return;this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets))},this.detach=function(e){var t=this.editor;if(!t)return;this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})},this.updateOnFold=function(e,t){var n=t.lineWidgets;if(!n||!e.action)return;var r=e.data,i=r.start.row,s=r.end.row,o=e.action=="add";for(var u=i+1;u0&&!r[i])i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=s;o++){var u=r[o];if(!u||!u.el)continue;if(u.hidden){u.el.style.top=-100-(u.pixelHeight||0)+"px";continue}u._inDocument||(u._inDocument=!0,t.container.appendChild(u.el));var a=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;u.coverLine||(a+=n.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=a-n.offset+"px";var f=u.coverGutter?0:t.gutterWidth;u.fixedWidth||(f-=t.scrollLeft),u.el.style.left=f+"px",u.fullWidth&&u.screenWidth&&(u.el.style.minWidth=n.width+2*n.padding+"px"),u.fixedWidth?u.el.style.right=t.scrollBar.getWidth()+"px":u.el.style.right=""}}}).call(o.prototype),t.LineWidgets=o}),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[s]);if(o>0)r=s+1;else{if(!(o<0))return s;i=s-1}}return-(r+1)}function u(e,t,n){var r=e.getAnnotations().sort(s.comparePoints);if(!r.length)return;var i=o(r,{row:t,column:-1},s.comparePoints);i<0&&(i=-i-1),i>=r.length?i=n>0?0:r.length-1:i===0&&n<0&&(i=r.length-1);var u=r[i];if(!u||!n)return;if(u.row===t){do u=r[i+=n];while(u&&u.row===t);if(!u)return r.slice()}var a=[];t=u.row;do a[n<0?"unshift":"push"](u),u=r[i+=n];while(u&&u.row==t);return a.length&&a}var r=e("../line_widgets").LineWidgets,i=e("../lib/dom"),s=e("../range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var s=e.getCursorPosition(),o=s.row,a=n.widgetManager.getWidgetsAtRow(o).filter(function(e){return e.type=="errorMarker"})[0];a?a.destroy():o-=t;var f=u(n,o,t),l;if(f){var c=f[0];s.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,s.row=c.row,l=e.renderer.$gutterLayer.$annotations[s.row]}else{if(a)return;l={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(s.row),e.selection.moveToPosition(s);var h={row:s.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div"),type:"errorMarker"},p=h.el.appendChild(i.createElement("div")),d=h.el.appendChild(i.createElement("div"));d.className="error_widget_arrow "+l.className;var v=e.renderer.$cursorLayer.getPixelPosition(s).left;d.style.left=v+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+l.className,p.innerHTML=l.text.join("
"),p.appendChild(i.createElement("div"));var m=function(e,t,n){if(t===0&&(n==="esc"||n==="return"))return h.destroy(),{command:"null"}};h.destroy=function(){if(e.$mouseHandler.isMousePressed)return;e.keyBinding.removeKeyboardHandler(m),n.widgetManager.removeLineWidget(h),e.off("changeSelection",h.destroy),e.off("changeSession",h.destroy),e.off("mouseup",h.destroy),e.off("change",h.destroy)},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",h.destroy),e.on("changeSession",h.destroy),e.on("mouseup",h.destroy),e.on("change",h.destroy),e.session.widgetManager.addLineWidget(h),h.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:h.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/dom"),i=e("./lib/event"),s=e("./range").Range,o=e("./editor").Editor,u=e("./edit_session").EditSession,a=e("./undomanager").UndoManager,f=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.require=e,typeof define=="function"&&(t.define=define),t.edit=function(e,n){if(typeof e=="string"){var s=e;e=document.getElementById(s);if(!e)throw new Error("ace.edit can't find div #"+s)}if(e&&e.env&&e.env.editor instanceof o)return e.env.editor;var u="";if(e&&/input|textarea/i.test(e.tagName)){var a=e;u=a.value,e=r.createElement("pre"),a.parentNode.replaceChild(e,a)}else e&&(u=e.textContent,e.innerHTML="");var l=t.createEditSession(u),c=new o(new f(e),l,n),h={document:l,editor:c,onResize:c.resize.bind(c,null)};return a&&(h.textarea=a),i.addListener(window,"resize",h.onResize),c.on("destroy",function(){i.removeListener(window,"resize",h.onResize),h.editor.container.env=null}),c.container.env=c.env=h,c},t.createEditSession=function(e,t){var n=new u(e,t);return n.setUndoManager(new a),n},t.Range=s,t.Editor=o,t.EditSession=u,t.UndoManager=a,t.VirtualRenderer=f,t.version=t.config.version}); (function() { + ace.require(["ace/ace"], function(a) { + if (a) { + a.config.init(true); + a.define = ace.define; + } + if (!window.ace) + window.ace = a; + for (var key in a) if (a.hasOwnProperty(key)) + window.ace[key] = a[key]; + window.ace["default"] = window.ace; + if (typeof module == "object" && typeof exports == "object" && module) { + module.exports = window.ace; + } + }); + })(); + \ No newline at end of file diff --git a/pkg/ui/v1alpha3/frontend/public/scripts/bootstrap.min.js b/pkg/ui/v1alpha3/frontend/public/scripts/bootstrap.min.js new file mode 100644 index 00000000000..534d533433a --- /dev/null +++ b/pkg/ui/v1alpha3/frontend/public/scripts/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.0.0 (https://getbootstrap.com) + * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e(t.bootstrap={},t.jQuery,t.Popper)}(this,function(t,e,n){"use strict";function i(t,e){for(var n=0;n0?i:null}catch(t){return null}},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(n){t(n).trigger(e.end)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var s in n)if(Object.prototype.hasOwnProperty.call(n,s)){var r=n[s],o=e[s],a=o&&i.isElement(o)?"element":(l=o,{}.toString.call(l).match(/\s([a-zA-Z]+)/)[1].toLowerCase());if(!new RegExp(r).test(a))throw new Error(t.toUpperCase()+': Option "'+s+'" provided type "'+a+'" but expected type "'+r+'".')}var l}};return e=("undefined"==typeof window||!window.QUnit)&&{end:"transitionend"},t.fn.emulateTransitionEnd=n,i.supportsTransitionEnd()&&(t.event.special[i.TRANSITION_END]={bindType:e.end,delegateType:e.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}),i}(e),L=(a="alert",h="."+(l="bs.alert"),c=(o=e).fn[a],u={CLOSE:"close"+h,CLOSED:"closed"+h,CLICK_DATA_API:"click"+h+".data-api"},f="alert",d="fade",_="show",g=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.dispose=function(){o.removeData(this._element,l),this._element=null},e._getRootElement=function(t){var e=P.getSelectorFromElement(t),n=!1;return e&&(n=o(e)[0]),n||(n=o(t).closest("."+f)[0]),n},e._triggerCloseEvent=function(t){var e=o.Event(u.CLOSE);return o(t).trigger(e),e},e._removeElement=function(t){var e=this;o(t).removeClass(_),P.supportsTransitionEnd()&&o(t).hasClass(d)?o(t).one(P.TRANSITION_END,function(n){return e._destroyElement(t,n)}).emulateTransitionEnd(150):this._destroyElement(t)},e._destroyElement=function(t){o(t).detach().trigger(u.CLOSED).remove()},t._jQueryInterface=function(e){return this.each(function(){var n=o(this),i=n.data(l);i||(i=new t(this),n.data(l,i)),"close"===e&&i[e](this)})},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},s(t,null,[{key:"VERSION",get:function(){return"4.0.0"}}]),t}(),o(document).on(u.CLICK_DATA_API,'[data-dismiss="alert"]',g._handleDismiss(new g)),o.fn[a]=g._jQueryInterface,o.fn[a].Constructor=g,o.fn[a].noConflict=function(){return o.fn[a]=c,g._jQueryInterface},g),R=(m="button",E="."+(v="bs.button"),T=".data-api",y=(p=e).fn[m],C="active",I="btn",A="focus",b='[data-toggle^="button"]',D='[data-toggle="buttons"]',S="input",w=".active",N=".btn",O={CLICK_DATA_API:"click"+E+T,FOCUS_BLUR_DATA_API:"focus"+E+T+" blur"+E+T},k=function(){function t(t){this._element=t}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=p(this._element).closest(D)[0];if(n){var i=p(this._element).find(S)[0];if(i){if("radio"===i.type)if(i.checked&&p(this._element).hasClass(C))t=!1;else{var s=p(n).find(w)[0];s&&p(s).removeClass(C)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!p(this._element).hasClass(C),p(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!p(this._element).hasClass(C)),t&&p(this._element).toggleClass(C)},e.dispose=function(){p.removeData(this._element,v),this._element=null},t._jQueryInterface=function(e){return this.each(function(){var n=p(this).data(v);n||(n=new t(this),p(this).data(v,n)),"toggle"===e&&n[e]()})},s(t,null,[{key:"VERSION",get:function(){return"4.0.0"}}]),t}(),p(document).on(O.CLICK_DATA_API,b,function(t){t.preventDefault();var e=t.target;p(e).hasClass(I)||(e=p(e).closest(N)),k._jQueryInterface.call(p(e),"toggle")}).on(O.FOCUS_BLUR_DATA_API,b,function(t){var e=p(t.target).closest(N)[0];p(e).toggleClass(A,/^focus(in)?$/.test(t.type))}),p.fn[m]=k._jQueryInterface,p.fn[m].Constructor=k,p.fn[m].noConflict=function(){return p.fn[m]=y,k._jQueryInterface},k),j=function(t){var e="carousel",n="bs.carousel",i="."+n,o=t.fn[e],a={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},l={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},h="next",c="prev",u="left",f="right",d={SLIDE:"slide"+i,SLID:"slid"+i,KEYDOWN:"keydown"+i,MOUSEENTER:"mouseenter"+i,MOUSELEAVE:"mouseleave"+i,TOUCHEND:"touchend"+i,LOAD_DATA_API:"load"+i+".data-api",CLICK_DATA_API:"click"+i+".data-api"},_="carousel",g="active",p="slide",m="carousel-item-right",v="carousel-item-left",E="carousel-item-next",T="carousel-item-prev",y={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},C=function(){function o(e,n){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(n),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(y.INDICATORS)[0],this._addEventListeners()}var C=o.prototype;return C.next=function(){this._isSliding||this._slide(h)},C.nextWhenVisible=function(){!document.hidden&&t(this._element).is(":visible")&&"hidden"!==t(this._element).css("visibility")&&this.next()},C.prev=function(){this._isSliding||this._slide(c)},C.pause=function(e){e||(this._isPaused=!0),t(this._element).find(y.NEXT_PREV)[0]&&P.supportsTransitionEnd()&&(P.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},C.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},C.to=function(e){var n=this;this._activeElement=t(this._element).find(y.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0))if(this._isSliding)t(this._element).one(d.SLID,function(){return n.to(e)});else{if(i===e)return this.pause(),void this.cycle();var s=e>i?h:c;this._slide(s,this._items[e])}},C.dispose=function(){t(this._element).off(i),t.removeData(this._element,n),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},C._getConfig=function(t){return t=r({},a,t),P.typeCheckConfig(e,t,l),t},C._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(d.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&(t(this._element).on(d.MOUSEENTER,function(t){return e.pause(t)}).on(d.MOUSELEAVE,function(t){return e.cycle(t)}),"ontouchstart"in document.documentElement&&t(this._element).on(d.TOUCHEND,function(){e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},500+e._config.interval)}))},C._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},C._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(y.ITEM)),this._items.indexOf(e)},C._getItemByDirection=function(t,e){var n=t===h,i=t===c,s=this._getItemIndex(e),r=this._items.length-1;if((i&&0===s||n&&s===r)&&!this._config.wrap)return e;var o=(s+(t===c?-1:1))%this._items.length;return-1===o?this._items[this._items.length-1]:this._items[o]},C._triggerSlideEvent=function(e,n){var i=this._getItemIndex(e),s=this._getItemIndex(t(this._element).find(y.ACTIVE_ITEM)[0]),r=t.Event(d.SLIDE,{relatedTarget:e,direction:n,from:s,to:i});return t(this._element).trigger(r),r},C._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(y.ACTIVE).removeClass(g);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(g)}},C._slide=function(e,n){var i,s,r,o=this,a=t(this._element).find(y.ACTIVE_ITEM)[0],l=this._getItemIndex(a),c=n||a&&this._getItemByDirection(e,a),_=this._getItemIndex(c),C=Boolean(this._interval);if(e===h?(i=v,s=E,r=u):(i=m,s=T,r=f),c&&t(c).hasClass(g))this._isSliding=!1;else if(!this._triggerSlideEvent(c,r).isDefaultPrevented()&&a&&c){this._isSliding=!0,C&&this.pause(),this._setActiveIndicatorElement(c);var I=t.Event(d.SLID,{relatedTarget:c,direction:r,from:l,to:_});P.supportsTransitionEnd()&&t(this._element).hasClass(p)?(t(c).addClass(s),P.reflow(c),t(a).addClass(i),t(c).addClass(i),t(a).one(P.TRANSITION_END,function(){t(c).removeClass(i+" "+s).addClass(g),t(a).removeClass(g+" "+s+" "+i),o._isSliding=!1,setTimeout(function(){return t(o._element).trigger(I)},0)}).emulateTransitionEnd(600)):(t(a).removeClass(g),t(c).addClass(g),this._isSliding=!1,t(this._element).trigger(I)),C&&this.cycle()}},o._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),s=r({},a,t(this).data());"object"==typeof e&&(s=r({},s,e));var l="string"==typeof e?e:s.slide;if(i||(i=new o(this,s),t(this).data(n,i)),"number"==typeof e)i.to(e);else if("string"==typeof l){if("undefined"==typeof i[l])throw new TypeError('No method named "'+l+'"');i[l]()}else s.interval&&(i.pause(),i.cycle())})},o._dataApiClickHandler=function(e){var i=P.getSelectorFromElement(this);if(i){var s=t(i)[0];if(s&&t(s).hasClass(_)){var a=r({},t(s).data(),t(this).data()),l=this.getAttribute("data-slide-to");l&&(a.interval=!1),o._jQueryInterface.call(t(s),a),l&&t(s).data(n).to(l),e.preventDefault()}}},s(o,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return a}}]),o}();return t(document).on(d.CLICK_DATA_API,y.DATA_SLIDE,C._dataApiClickHandler),t(window).on(d.LOAD_DATA_API,function(){t(y.DATA_RIDE).each(function(){var e=t(this);C._jQueryInterface.call(e,e.data())})}),t.fn[e]=C._jQueryInterface,t.fn[e].Constructor=C,t.fn[e].noConflict=function(){return t.fn[e]=o,C._jQueryInterface},C}(e),H=function(t){var e="collapse",n="bs.collapse",i="."+n,o=t.fn[e],a={toggle:!0,parent:""},l={toggle:"boolean",parent:"(string|element)"},h={SHOW:"show"+i,SHOWN:"shown"+i,HIDE:"hide"+i,HIDDEN:"hidden"+i,CLICK_DATA_API:"click"+i+".data-api"},c="show",u="collapse",f="collapsing",d="collapsed",_="width",g="height",p={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},m=function(){function i(e,n){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(n),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var i=t(p.DATA_TOGGLE),s=0;s0&&(this._selector=o,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var o=i.prototype;return o.toggle=function(){t(this._element).hasClass(c)?this.hide():this.show()},o.show=function(){var e,s,r=this;if(!this._isTransitioning&&!t(this._element).hasClass(c)&&(this._parent&&0===(e=t.makeArray(t(this._parent).find(p.ACTIVES).filter('[data-parent="'+this._config.parent+'"]'))).length&&(e=null),!(e&&(s=t(e).not(this._selector).data(n))&&s._isTransitioning))){var o=t.Event(h.SHOW);if(t(this._element).trigger(o),!o.isDefaultPrevented()){e&&(i._jQueryInterface.call(t(e).not(this._selector),"hide"),s||t(e).data(n,null));var a=this._getDimension();t(this._element).removeClass(u).addClass(f),this._element.style[a]=0,this._triggerArray.length>0&&t(this._triggerArray).removeClass(d).attr("aria-expanded",!0),this.setTransitioning(!0);var l=function(){t(r._element).removeClass(f).addClass(u).addClass(c),r._element.style[a]="",r.setTransitioning(!1),t(r._element).trigger(h.SHOWN)};if(P.supportsTransitionEnd()){var _="scroll"+(a[0].toUpperCase()+a.slice(1));t(this._element).one(P.TRANSITION_END,l).emulateTransitionEnd(600),this._element.style[a]=this._element[_]+"px"}else l()}}},o.hide=function(){var e=this;if(!this._isTransitioning&&t(this._element).hasClass(c)){var n=t.Event(h.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();if(this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",P.reflow(this._element),t(this._element).addClass(f).removeClass(u).removeClass(c),this._triggerArray.length>0)for(var s=0;s0&&t(n).toggleClass(d,!i).attr("aria-expanded",i)}},i._getTargetFromElement=function(e){var n=P.getSelectorFromElement(e);return n?t(n)[0]:null},i._jQueryInterface=function(e){return this.each(function(){var s=t(this),o=s.data(n),l=r({},a,s.data(),"object"==typeof e&&e);if(!o&&l.toggle&&/show|hide/.test(e)&&(l.toggle=!1),o||(o=new i(this,l),s.data(n,o)),"string"==typeof e){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return a}}]),i}();return t(document).on(h.CLICK_DATA_API,p.DATA_TOGGLE,function(e){"A"===e.currentTarget.tagName&&e.preventDefault();var i=t(this),s=P.getSelectorFromElement(this);t(s).each(function(){var e=t(this),s=e.data(n)?"toggle":i.data();m._jQueryInterface.call(e,s)})}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=o,m._jQueryInterface},m}(e),W=function(t){var e="dropdown",i="bs.dropdown",o="."+i,a=".data-api",l=t.fn[e],h=new RegExp("38|40|27"),c={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,CLICK:"click"+o,CLICK_DATA_API:"click"+o+a,KEYDOWN_DATA_API:"keydown"+o+a,KEYUP_DATA_API:"keyup"+o+a},u="disabled",f="show",d="dropup",_="dropright",g="dropleft",p="dropdown-menu-right",m="dropdown-menu-left",v="position-static",E='[data-toggle="dropdown"]',T=".dropdown form",y=".dropdown-menu",C=".navbar-nav",I=".dropdown-menu .dropdown-item:not(.disabled)",A="top-start",b="top-end",D="bottom-start",S="bottom-end",w="right-start",N="left-start",O={offset:0,flip:!0,boundary:"scrollParent"},k={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)"},L=function(){function a(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var l=a.prototype;return l.toggle=function(){if(!this._element.disabled&&!t(this._element).hasClass(u)){var e=a._getParentFromElement(this._element),i=t(this._menu).hasClass(f);if(a._clearMenus(),!i){var s={relatedTarget:this._element},r=t.Event(c.SHOW,s);if(t(e).trigger(r),!r.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof n)throw new TypeError("Bootstrap dropdown require Popper.js (https://popper.js.org)");var o=this._element;t(e).hasClass(d)&&(t(this._menu).hasClass(m)||t(this._menu).hasClass(p))&&(o=e),"scrollParent"!==this._config.boundary&&t(e).addClass(v),this._popper=new n(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===t(e).closest(C).length&&t("body").children().on("mouseover",null,t.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),t(this._menu).toggleClass(f),t(e).toggleClass(f).trigger(t.Event(c.SHOWN,s))}}}},l.dispose=function(){t.removeData(this._element,i),t(this._element).off(o),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},l.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},l._addEventListeners=function(){var e=this;t(this._element).on(c.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},l._getConfig=function(n){return n=r({},this.constructor.Default,t(this._element).data(),n),P.typeCheckConfig(e,n,this.constructor.DefaultType),n},l._getMenuElement=function(){if(!this._menu){var e=a._getParentFromElement(this._element);this._menu=t(e).find(y)[0]}return this._menu},l._getPlacement=function(){var e=t(this._element).parent(),n=D;return e.hasClass(d)?(n=A,t(this._menu).hasClass(p)&&(n=b)):e.hasClass(_)?n=w:e.hasClass(g)?n=N:t(this._menu).hasClass(p)&&(n=S),n},l._detectNavbar=function(){return t(this._element).closest(".navbar").length>0},l._getPopperConfig=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t._config.offset(e.offsets)||{}),e}:e.offset=this._config.offset,{placement:this._getPlacement(),modifiers:{offset:e,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}}},a._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(i);if(n||(n=new a(this,"object"==typeof e?e:null),t(this).data(i,n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}})},a._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=t.makeArray(t(E)),s=0;s0&&r--,40===e.which&&rdocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},p._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},p._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},f="show",d="out",_={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,INSERTED:"inserted"+o,CLICK:"click"+o,FOCUSIN:"focusin"+o,FOCUSOUT:"focusout"+o,MOUSEENTER:"mouseenter"+o,MOUSELEAVE:"mouseleave"+o},g="fade",p="show",m=".tooltip-inner",v=".arrow",E="hover",T="focus",y="click",C="manual",I=function(){function a(t,e){if("undefined"==typeof n)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var I=a.prototype;return I.enable=function(){this._isEnabled=!0},I.disable=function(){this._isEnabled=!1},I.toggleEnabled=function(){this._isEnabled=!this._isEnabled},I.toggle=function(e){if(this._isEnabled)if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(p))return void this._leave(null,this);this._enter(null,this)}},I.dispose=function(){clearTimeout(this._timeout),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,null!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},I.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var i=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){t(this.element).trigger(i);var s=t.contains(this.element.ownerDocument.documentElement,this.element);if(i.isDefaultPrevented()||!s)return;var r=this.getTipElement(),o=P.getUID(this.constructor.NAME);r.setAttribute("id",o),this.element.setAttribute("aria-describedby",o),this.setContent(),this.config.animation&&t(r).addClass(g);var l="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,h=this._getAttachment(l);this.addAttachmentClass(h);var c=!1===this.config.container?document.body:t(this.config.container);t(r).data(this.constructor.DATA_KEY,this),t.contains(this.element.ownerDocument.documentElement,this.tip)||t(r).appendTo(c),t(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new n(this.element,r,{placement:h,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:v},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),t(r).addClass(p),"ontouchstart"in document.documentElement&&t("body").children().on("mouseover",null,t.noop);var u=function(){e.config.animation&&e._fixTransition();var n=e._hoverState;e._hoverState=null,t(e.element).trigger(e.constructor.Event.SHOWN),n===d&&e._leave(null,e)};P.supportsTransitionEnd()&&t(this.tip).hasClass(g)?t(this.tip).one(P.TRANSITION_END,u).emulateTransitionEnd(a._TRANSITION_DURATION):u()}},I.hide=function(e){var n=this,i=this.getTipElement(),s=t.Event(this.constructor.Event.HIDE),r=function(){n._hoverState!==f&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),e&&e()};t(this.element).trigger(s),s.isDefaultPrevented()||(t(i).removeClass(p),"ontouchstart"in document.documentElement&&t("body").children().off("mouseover",null,t.noop),this._activeTrigger[y]=!1,this._activeTrigger[T]=!1,this._activeTrigger[E]=!1,P.supportsTransitionEnd()&&t(this.tip).hasClass(g)?t(i).one(P.TRANSITION_END,r).emulateTransitionEnd(150):r(),this._hoverState="")},I.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},I.isWithContent=function(){return Boolean(this.getTitle())},I.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-tooltip-"+e)},I.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},I.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(m),this.getTitle()),e.removeClass(g+" "+p)},I.setElementContent=function(e,n){var i=this.config.html;"object"==typeof n&&(n.nodeType||n.jquery)?i?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[i?"html":"text"](n)},I.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},I._getAttachment=function(t){return c[t.toUpperCase()]},I._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==C){var i=n===E?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,s=n===E?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(s,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(".modal").on("hide.bs.modal",function(){return e.hide()})}),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},I._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},I._enter=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?T:E]=!0),t(n.getTipElement()).hasClass(p)||n._hoverState===f?n._hoverState=f:(clearTimeout(n._timeout),n._hoverState=f,n.config.delay&&n.config.delay.show?n._timeout=setTimeout(function(){n._hoverState===f&&n.show()},n.config.delay.show):n.show())},I._leave=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?T:E]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState=d,n.config.delay&&n.config.delay.hide?n._timeout=setTimeout(function(){n._hoverState===d&&n.hide()},n.config.delay.hide):n.hide())},I._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},I._getConfig=function(n){return"number"==typeof(n=r({},this.constructor.Default,t(this.element).data(),n)).delay&&(n.delay={show:n.delay,hide:n.delay}),"number"==typeof n.title&&(n.title=n.title.toString()),"number"==typeof n.content&&(n.content=n.content.toString()),P.typeCheckConfig(e,n,this.constructor.DefaultType),n},I._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},I._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(l);null!==n&&n.length>0&&e.removeClass(n.join(""))},I._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},I._fixTransition=function(){var e=this.getTipElement(),n=this.config.animation;null===e.getAttribute("x-placement")&&(t(e).removeClass(g),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},a._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(i),s="object"==typeof e&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new a(this,s),t(this).data(i,n)),"string"==typeof e)){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return u}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return i}},{key:"Event",get:function(){return _}},{key:"EVENT_KEY",get:function(){return o}},{key:"DefaultType",get:function(){return h}}]),a}();return t.fn[e]=I._jQueryInterface,t.fn[e].Constructor=I,t.fn[e].noConflict=function(){return t.fn[e]=a,I._jQueryInterface},I}(e),x=function(t){var e="popover",n="bs.popover",i="."+n,o=t.fn[e],a=new RegExp("(^|\\s)bs-popover\\S+","g"),l=r({},U.Default,{placement:"right",trigger:"click",content:"",template:''}),h=r({},U.DefaultType,{content:"(string|element|function)"}),c="fade",u="show",f=".popover-header",d=".popover-body",_={HIDE:"hide"+i,HIDDEN:"hidden"+i,SHOW:"show"+i,SHOWN:"shown"+i,INSERTED:"inserted"+i,CLICK:"click"+i,FOCUSIN:"focusin"+i,FOCUSOUT:"focusout"+i,MOUSEENTER:"mouseenter"+i,MOUSELEAVE:"mouseleave"+i},g=function(r){var o,g;function p(){return r.apply(this,arguments)||this}g=r,(o=p).prototype=Object.create(g.prototype),o.prototype.constructor=o,o.__proto__=g;var m=p.prototype;return m.isWithContent=function(){return this.getTitle()||this._getContent()},m.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-popover-"+e)},m.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},m.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(f),this.getTitle());var n=this._getContent();"function"==typeof n&&(n=n.call(this.element)),this.setElementContent(e.find(d),n),e.removeClass(c+" "+u)},m._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},m._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(a);null!==n&&n.length>0&&e.removeClass(n.join(""))},p._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),s="object"==typeof e?e:null;if((i||!/destroy|hide/.test(e))&&(i||(i=new p(this,s),t(this).data(n,i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}})},s(p,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return l}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return n}},{key:"Event",get:function(){return _}},{key:"EVENT_KEY",get:function(){return i}},{key:"DefaultType",get:function(){return h}}]),p}(U);return t.fn[e]=g._jQueryInterface,t.fn[e].Constructor=g,t.fn[e].noConflict=function(){return t.fn[e]=o,g._jQueryInterface},g}(e),K=function(t){var e="scrollspy",n="bs.scrollspy",i="."+n,o=t.fn[e],a={offset:10,method:"auto",target:""},l={offset:"number",method:"string",target:"(string|element)"},h={ACTIVATE:"activate"+i,SCROLL:"scroll"+i,LOAD_DATA_API:"load"+i+".data-api"},c="dropdown-item",u="active",f={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},d="offset",_="position",g=function(){function o(e,n){var i=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(n),this._selector=this._config.target+" "+f.NAV_LINKS+","+this._config.target+" "+f.LIST_ITEMS+","+this._config.target+" "+f.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(h.SCROLL,function(t){return i._process(t)}),this.refresh(),this._process()}var g=o.prototype;return g.refresh=function(){var e=this,n=this._scrollElement===this._scrollElement.window?d:_,i="auto"===this._config.method?n:this._config.method,s=i===_?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.makeArray(t(this._selector)).map(function(e){var n,r=P.getSelectorFromElement(e);if(r&&(n=t(r)[0]),n){var o=n.getBoundingClientRect();if(o.width||o.height)return[t(n)[i]().top+s,r]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},g.dispose=function(){t.removeData(this._element,n),t(this._scrollElement).off(i),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},g._getConfig=function(n){if("string"!=typeof(n=r({},a,n)).target){var i=t(n.target).attr("id");i||(i=P.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return P.typeCheckConfig(e,n,l),n},g._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},g._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},g._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},g._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var s=this._offsets.length;s--;){this._activeTarget!==this._targets[s]&&t>=this._offsets[s]&&("undefined"==typeof this._offsets[s+1]||t=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(e),t.Util=P,t.Alert=L,t.Button=R,t.Carousel=j,t.Collapse=H,t.Dropdown=W,t.Modal=M,t.Popover=x,t.Scrollspy=K,t.Tab=V,t.Tooltip=U,Object.defineProperty(t,"__esModule",{value:!0})}); +//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file diff --git a/pkg/ui/v1alpha3/frontend/public/scripts/d3.v5.min.js b/pkg/ui/v1alpha3/frontend/public/scripts/d3.v5.min.js new file mode 100644 index 00000000000..e9db321be9b --- /dev/null +++ b/pkg/ui/v1alpha3/frontend/public/scripts/d3.v5.min.js @@ -0,0 +1,2 @@ +// https://d3js.org v5.12.0 Copyright 2019 Mike Bostock +!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t=t||self).d3=t.d3||{})}(this,function(t){"use strict";function n(t,n){return tn?1:t>=n?0:NaN}function e(t){var e;return 1===t.length&&(e=t,t=function(t,r){return n(e(t),r)}),{left:function(n,e,r,i){for(null==r&&(r=0),null==i&&(i=n.length);r>>1;t(n[o],e)<0?r=o+1:i=o}return r},right:function(n,e,r,i){for(null==r&&(r=0),null==i&&(i=n.length);r>>1;t(n[o],e)>0?i=o:r=o+1}return r}}}var r=e(n),i=r.right,o=r.left;function a(t,n){return[t,n]}function u(t){return null===t?NaN:+t}function c(t,n){var e,r,i=t.length,o=0,a=-1,c=0,f=0;if(null==n)for(;++a1)return f/(o-1)}function f(t,n){var e=c(t,n);return e?Math.sqrt(e):e}function s(t,n){var e,r,i,o=t.length,a=-1;if(null==n){for(;++a=e)for(r=i=e;++ae&&(r=e),i=e)for(r=i=e;++ae&&(r=e),i0)return[t];if((r=n0)for(t=Math.ceil(t/a),n=Math.floor(n/a),o=new Array(i=Math.ceil(n-t+1));++u=0?(o>=y?10:o>=_?5:o>=b?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(o>=y?10:o>=_?5:o>=b?2:1)}function w(t,n,e){var r=Math.abs(n-t)/Math.max(0,e),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/i;return o>=y?i*=10:o>=_?i*=5:o>=b&&(i*=2),n=1)return+e(t[r-1],r-1,t);var r,i=(r-1)*n,o=Math.floor(i),a=+e(t[o],o,t);return a+(+e(t[o+1],o+1,t)-a)*(i-o)}}function A(t,n){var e,r,i=t.length,o=-1;if(null==n){for(;++o=e)for(r=e;++or&&(r=e)}else for(;++o=e)for(r=e;++or&&(r=e);return r}function T(t){for(var n,e,r,i=t.length,o=-1,a=0;++o=0;)for(n=(r=t[i]).length;--n>=0;)e[--a]=r[n];return e}function S(t,n){var e,r,i=t.length,o=-1;if(null==n){for(;++o=e)for(r=e;++oe&&(r=e)}else for(;++o=e)for(r=e;++oe&&(r=e);return r}function k(t){if(!(i=t.length))return[];for(var n=-1,e=S(t,E),r=new Array(e);++n=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}})}function X(t,n){for(var e,r=0,i=t.length;r0)for(var e,r,i=new Array(e),o=0;o=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),$.hasOwnProperty(n)?{space:$[n],local:t}:t}function Z(t){var n=W(t);return(n.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===V&&n.documentElement.namespaceURI===V?n.createElement(t):n.createElementNS(e,t)}})(n)}function Q(){}function K(t){return null==t?Q:function(){return this.querySelector(t)}}function J(){return[]}function tt(t){return null==t?J:function(){return this.querySelectorAll(t)}}function nt(t){return function(){return this.matches(t)}}function et(t){return new Array(t.length)}function rt(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}rt.prototype={constructor:rt,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var it="$";function ot(t,n,e,r,i,o){for(var a,u=0,c=n.length,f=o.length;un?1:t>=n?0:NaN}function ct(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function ft(t,n){return t.style.getPropertyValue(n)||ct(t).getComputedStyle(t,null).getPropertyValue(n)}function st(t){return t.trim().split(/^|\s+/)}function lt(t){return t.classList||new ht(t)}function ht(t){this._node=t,this._names=st(t.getAttribute("class")||"")}function dt(t,n){for(var e=lt(t),r=-1,i=n.length;++r=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var Mt={};(t.event=null,"undefined"!=typeof document)&&("onmouseenter"in document.documentElement||(Mt={mouseenter:"mouseover",mouseleave:"mouseout"}));function Nt(t,n,e){return t=At(t,n,e),function(n){var e=n.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||t.call(this,n)}}function At(n,e,r){return function(i){var o=t.event;t.event=i;try{n.call(this,this.__data__,e,r)}finally{t.event=o}}}function Tt(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r=m&&(m=b+1);!(_=g[m])&&++m=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=ut);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o1?this.each((null==n?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof n?function(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}:function(t,n,e){return function(){this.style.setProperty(t,n,e)}})(t,n,null==e?"":e)):ft(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?function(t){return function(){delete this[t]}}:"function"==typeof n?function(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}:function(t,n){return function(){this[t]=n}})(t,n)):this.node()[t]},classed:function(t,n){var e=st(t+"");if(arguments.length<2){for(var r=lt(this.node()),i=-1,o=e.length;++i=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}})}(t+""),a=o.length;if(!(arguments.length<2)){for(u=n?St:Tt,null==e&&(e=!1),r=0;r>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):(n=on.exec(t))?gn(parseInt(n[1],16)):(n=an.exec(t))?new mn(n[1],n[2],n[3],1):(n=un.exec(t))?new mn(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=cn.exec(t))?yn(n[1],n[2],n[3],n[4]):(n=fn.exec(t))?yn(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=sn.exec(t))?Nn(n[1],n[2]/100,n[3]/100,1):(n=ln.exec(t))?Nn(n[1],n[2]/100,n[3]/100,n[4]):hn.hasOwnProperty(t)?gn(hn[t]):"transparent"===t?new mn(NaN,NaN,NaN,0):null}function gn(t){return new mn(t>>16&255,t>>8&255,255&t,1)}function yn(t,n,e,r){return r<=0&&(t=n=e=NaN),new mn(t,n,e,r)}function _n(t){return t instanceof Jt||(t=vn(t)),t?new mn((t=t.rgb()).r,t.g,t.b,t.opacity):new mn}function bn(t,n,e,r){return 1===arguments.length?_n(t):new mn(t,n,e,null==r?1:r)}function mn(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function xn(){return"#"+Mn(this.r)+Mn(this.g)+Mn(this.b)}function wn(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function Mn(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function Nn(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new Sn(t,n,e,r)}function An(t){if(t instanceof Sn)return new Sn(t.h,t.s,t.l,t.opacity);if(t instanceof Jt||(t=vn(t)),!t)return new Sn;if(t instanceof Sn)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),a=NaN,u=o-i,c=(o+i)/2;return u?(a=n===o?(e-r)/u+6*(e0&&c<1?0:a,new Sn(a,u,c,t.opacity)}function Tn(t,n,e,r){return 1===arguments.length?An(t):new Sn(t,n,e,null==r?1:r)}function Sn(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function kn(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}Qt(Jt,vn,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:dn,formatHex:dn,formatHsl:function(){return An(this).formatHsl()},formatRgb:pn,toString:pn}),Qt(mn,bn,Kt(Jt,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new mn(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new mn(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:xn,formatHex:xn,formatRgb:wn,toString:wn})),Qt(Sn,Tn,Kt(Jt,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Sn(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Sn(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new mn(kn(t>=240?t-240:t+120,i,r),kn(t,i,r),kn(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var En=Math.PI/180,Cn=180/Math.PI,Pn=.96422,zn=1,Rn=.82521,Dn=4/29,qn=6/29,Ln=3*qn*qn,Un=qn*qn*qn;function On(t){if(t instanceof Yn)return new Yn(t.l,t.a,t.b,t.opacity);if(t instanceof Vn)return $n(t);t instanceof mn||(t=_n(t));var n,e,r=jn(t.r),i=jn(t.g),o=jn(t.b),a=Fn((.2225045*r+.7168786*i+.0606169*o)/zn);return r===i&&i===o?n=e=a:(n=Fn((.4360747*r+.3850649*i+.1430804*o)/Pn),e=Fn((.0139322*r+.0971045*i+.7141733*o)/Rn)),new Yn(116*a-16,500*(n-a),200*(a-e),t.opacity)}function Bn(t,n,e,r){return 1===arguments.length?On(t):new Yn(t,n,e,null==r?1:r)}function Yn(t,n,e,r){this.l=+t,this.a=+n,this.b=+e,this.opacity=+r}function Fn(t){return t>Un?Math.pow(t,1/3):t/Ln+Dn}function In(t){return t>qn?t*t*t:Ln*(t-Dn)}function Hn(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function jn(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Xn(t){if(t instanceof Vn)return new Vn(t.h,t.c,t.l,t.opacity);if(t instanceof Yn||(t=On(t)),0===t.a&&0===t.b)return new Vn(NaN,0=1?(e=1,n-1):Math.floor(e*n),i=t[r],o=t[r+1],a=r>0?t[r-1]:2*i-o,u=r180||e<-180?e-360*Math.round(e/360):e):ce(isNaN(t)?n:t)}function le(t){return 1==(t=+t)?he:function(n,e){return e-n?function(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}(n,e,t):ce(isNaN(n)?e:n)}}function he(t,n){var e=n-t;return e?fe(t,e):ce(isNaN(t)?n:t)}Qt(ie,re,Kt(Jt,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new ie(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new ie(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*En,n=+this.l,e=isNaN(this.s)?0:this.s*n*(1-n),r=Math.cos(t),i=Math.sin(t);return new mn(255*(n+e*(Wn*r+Zn*i)),255*(n+e*(Qn*r+Kn*i)),255*(n+e*(Jn*r)),this.opacity)}}));var de=function t(n){var e=le(n);function r(t,n){var r=e((t=bn(t)).r,(n=bn(n)).r),i=e(t.g,n.g),o=e(t.b,n.b),a=he(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=i(n),t.b=o(n),t.opacity=a(n),t+""}}return r.gamma=t,r}(1);function pe(t){return function(n){var e,r,i=n.length,o=new Array(i),a=new Array(i),u=new Array(i);for(e=0;eo&&(i=n.slice(o,i),u[a]?u[a]+=i:u[++a]=i),(e=e[0])===(r=r[0])?u[a]?u[a]+=r:u[++a]=r:(u[++a]=null,c.push({i:a,x:be(e,r)})),o=we.lastIndex;return o180?n+=360:n-t>180&&(t+=360),o.push({i:e.push(i(e)+"rotate(",null,r)-2,x:be(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}(o.rotate,a.rotate,u,c),function(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:be(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}(o.skewX,a.skewX,u,c),function(t,n,e,r,o,a){if(t!==e||n!==r){var u=o.push(i(o)+"scale(",null,",",null,")");a.push({i:u-4,x:be(t,e)},{i:u-2,x:be(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,u,c),o=a=null,function(t){for(var n,e=-1,r=c.length;++e=0&&n._call.call(null,t),n=n._next;--Je}function dr(){ir=(rr=ar.now())+or,Je=tr=0;try{hr()}finally{Je=0,function(){var t,n,e=Qe,r=1/0;for(;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:Qe=n);Ke=t,vr(r)}(),ir=0}}function pr(){var t=ar.now(),n=t-rr;n>er&&(or-=n,rr=t)}function vr(t){Je||(tr&&(tr=clearTimeout(tr)),t-ir>24?(t<1/0&&(tr=setTimeout(dr,t-ar.now()-or)),nr&&(nr=clearInterval(nr))):(nr||(rr=ar.now(),nr=setInterval(pr,er)),Je=1,ur(dr)))}function gr(t,n,e){var r=new sr;return n=null==n?0:+n,r.restart(function(e){r.stop(),t(e+n)},n,e),r}sr.prototype=lr.prototype={constructor:sr,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?cr():+e)+(null==n?0:+n),this._next||Ke===this||(Ke?Ke._next=this:Qe=this,Ke=this),this._call=t,this._time=e,vr()},stop:function(){this._call&&(this._call=null,this._time=1/0,vr())}};var yr=I("start","end","cancel","interrupt"),_r=[],br=0,mr=1,xr=2,wr=3,Mr=4,Nr=5,Ar=6;function Tr(t,n,e,r,i,o){var a=t.__transition;if(a){if(e in a)return}else t.__transition={};!function(t,n,e){var r,i=t.__transition;function o(c){var f,s,l,h;if(e.state!==mr)return u();for(f in i)if((h=i[f]).name===e.name){if(h.state===wr)return gr(o);h.state===Mr?(h.state=Ar,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete i[f]):+fbr)throw new Error("too late; already scheduled");return e}function kr(t,n){var e=Er(t,n);if(e.state>wr)throw new Error("too late; already running");return e}function Er(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function Cr(t,n){var e,r,i,o=t.__transition,a=!0;if(o){for(i in n=null==n?null:n+"",o)(e=o[i]).name===n?(r=e.state>xr&&e.state=0&&(t=t.slice(0,n)),!t||"start"===t})}(n)?Sr:kr;return function(){var a=o(this,t),u=a.on;u!==r&&(i=(r=u).copy()).on(n,e),a.on=i}}(e,t,n))},attr:function(t,n){var e=W(t),r="transform"===e?qe:zr;return this.attrTween(t,"function"==typeof n?(e.local?function(t,n,e){var r,i,o;return function(){var a,u,c=e(this);if(null!=c)return(a=this.getAttributeNS(t.space,t.local))===(u=c+"")?null:a===r&&u===i?o:(i=u,o=n(r=a,c));this.removeAttributeNS(t.space,t.local)}}:function(t,n,e){var r,i,o;return function(){var a,u,c=e(this);if(null!=c)return(a=this.getAttribute(t))===(u=c+"")?null:a===r&&u===i?o:(i=u,o=n(r=a,c));this.removeAttribute(t)}})(e,r,Pr(this,"attr."+t,n)):null==n?(e.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}})(e):(e.local?function(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttributeNS(t.space,t.local);return a===o?null:a===r?i:i=n(r=a,e)}}:function(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttribute(t);return a===o?null:a===r?i:i=n(r=a,e)}})(e,r,n))},attrTween:function(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(null==n)return this.tween(e,null);if("function"!=typeof n)throw new Error;var r=W(t);return this.tween(e,(r.local?function(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&function(t,n){return function(e){this.setAttributeNS(t.space,t.local,n(e))}}(t,i)),e}return i._value=n,i}:function(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&function(t,n){return function(e){this.setAttribute(t,n(e))}}(t,i)),e}return i._value=n,i})(r,n))},style:function(t,n,e){var r="transform"==(t+="")?De:zr;return null==n?this.styleTween(t,function(t,n){var e,r,i;return function(){var o=ft(this,t),a=(this.style.removeProperty(t),ft(this,t));return o===a?null:o===e&&a===r?i:i=n(e=o,r=a)}}(t,r)).on("end.style."+t,Dr(t)):"function"==typeof n?this.styleTween(t,function(t,n,e){var r,i,o;return function(){var a=ft(this,t),u=e(this),c=u+"";return null==u&&(this.style.removeProperty(t),c=u=ft(this,t)),a===c?null:a===r&&c===i?o:(i=c,o=n(r=a,u))}}(t,r,Pr(this,"style."+t,n))).each(function(t,n){var e,r,i,o,a="style."+n,u="end."+a;return function(){var c=kr(this,t),f=c.on,s=null==c.value[a]?o||(o=Dr(n)):void 0;f===e&&i===s||(r=(e=f).copy()).on(u,i=s),c.on=r}}(this._id,t)):this.styleTween(t,function(t,n,e){var r,i,o=e+"";return function(){var a=ft(this,t);return a===o?null:a===r?i:i=n(r=a,e)}}(t,r,n),e).on("end.style."+t,null)},styleTween:function(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==n)return this.tween(r,null);if("function"!=typeof n)throw new Error;return this.tween(r,function(t,n,e){var r,i;function o(){var o=n.apply(this,arguments);return o!==i&&(r=(i=o)&&function(t,n,e){return function(r){this.style.setProperty(t,n(r),e)}}(t,o,e)),r}return o._value=n,o}(t,n,null==e?"":e))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var n=t(this);this.textContent=null==n?"":n}}(Pr(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},remove:function(){return this.on("end.remove",function(t){return function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}}(this._id))},tween:function(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r,i=Er(this.node(),e).tween,o=0,a=i.length;o0&&(r=o-P),M<0?d=p-z:M>0&&(u=c-z),x=wi,B.attr("cursor",Ci.selection),I());break;default:return}mi()},!0).on("keyup.brush",function(){switch(t.event.keyCode){case 16:R&&(g=y=R=!1,I());break;case 18:x===Ni&&(w<0?f=h:w>0&&(r=o),M<0?d=p:M>0&&(u=c),x=Mi,I());break;case 32:x===wi&&(t.event.altKey?(w&&(f=h-P*w,r=o+P*w),M&&(d=p-z*M,u=c+z*M),x=Ni):(w<0?f=h:w>0&&(r=o),M<0?d=p:M>0&&(u=c),x=Mi),B.attr("cursor",Ci[m]),I());break;default:return}mi()},!0),Ht(t.event.view)}bi(),Cr(b),s.call(b),U.start()}function F(){var t=D(b);!R||g||y||(Math.abs(t[0]-L[0])>Math.abs(t[1]-L[1])?y=!0:g=!0),L=t,v=!0,mi(),I()}function I(){var t;switch(P=L[0]-q[0],z=L[1]-q[1],x){case wi:case xi:w&&(P=Math.max(S-r,Math.min(E-f,P)),o=r+P,h=f+P),M&&(z=Math.max(k-u,Math.min(C-d,z)),c=u+z,p=d+z);break;case Mi:w<0?(P=Math.max(S-r,Math.min(E-r,P)),o=r+P,h=f):w>0&&(P=Math.max(S-f,Math.min(E-f,P)),o=r,h=f+P),M<0?(z=Math.max(k-u,Math.min(C-u,z)),c=u+z,p=d):M>0&&(z=Math.max(k-d,Math.min(C-d,z)),c=u,p=d+z);break;case Ni:w&&(o=Math.max(S,Math.min(E,r-P*w)),h=Math.max(S,Math.min(E,f+P*w))),M&&(c=Math.max(k,Math.min(C,u-z*M)),p=Math.max(k,Math.min(C,d+z*M)))}h1e-6)if(Math.abs(s*u-c*f)>1e-6&&i){var h=e-o,d=r-a,p=u*u+c*c,v=h*h+d*d,g=Math.sqrt(p),y=Math.sqrt(l),_=i*Math.tan((Zi-Math.acos((p+l-v)/(2*g*y)))/2),b=_/y,m=_/g;Math.abs(b-1)>1e-6&&(this._+="L"+(t+b*f)+","+(n+b*s)),this._+="A"+i+","+i+",0,0,"+ +(s*h>f*d)+","+(this._x1=t+m*u)+","+(this._y1=n+m*c)}else this._+="L"+(this._x1=t)+","+(this._y1=n);else;},arc:function(t,n,e,r,i,o){t=+t,n=+n,o=!!o;var a=(e=+e)*Math.cos(r),u=e*Math.sin(r),c=t+a,f=n+u,s=1^o,l=o?r-i:i-r;if(e<0)throw new Error("negative radius: "+e);null===this._x1?this._+="M"+c+","+f:(Math.abs(this._x1-c)>1e-6||Math.abs(this._y1-f)>1e-6)&&(this._+="L"+c+","+f),e&&(l<0&&(l=l%Qi+Qi),l>Ki?this._+="A"+e+","+e+",0,1,"+s+","+(t-a)+","+(n-u)+"A"+e+","+e+",0,1,"+s+","+(this._x1=c)+","+(this._y1=f):l>1e-6&&(this._+="A"+e+","+e+",0,"+ +(l>=Zi)+","+s+","+(this._x1=t+e*Math.cos(i))+","+(this._y1=n+e*Math.sin(i))))},rect:function(t,n,e,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +e+"v"+ +r+"h"+-e+"Z"},toString:function(){return this._}};function ao(){}function uo(t,n){var e=new ao;if(t instanceof ao)t.each(function(t,n){e.set(n,t)});else if(Array.isArray(t)){var r,i=-1,o=t.length;if(null==n)for(;++ir!=d>r&&e<(h-f)*(r-s)/(d-s)+f&&(i=-i)}return i}function xo(t,n,e){var r,i,o,a;return function(t,n,e){return(n[0]-t[0])*(e[1]-t[1])==(e[0]-t[0])*(n[1]-t[1])}(t,n,e)&&(i=t[r=+(t[0]===n[0])],o=e[r],a=n[r],i<=o&&o<=a||a<=o&&o<=i)}function wo(){}var Mo=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function No(){var t=1,n=1,e=M,r=u;function i(t){var n=e(t);if(Array.isArray(n))n=n.slice().sort(yo);else{var r=s(t),i=r[0],a=r[1];n=w(i,a,n),n=g(Math.floor(i/n)*n,Math.floor(a/n)*n,n)}return n.map(function(n){return o(t,n)})}function o(e,i){var o=[],u=[];return function(e,r,i){var o,u,c,f,s,l,h=new Array,d=new Array;o=u=-1,f=e[0]>=r,Mo[f<<1].forEach(p);for(;++o=r,Mo[c|f<<1].forEach(p);Mo[f<<0].forEach(p);for(;++u=r,s=e[u*t]>=r,Mo[f<<1|s<<2].forEach(p);++o=r,l=s,s=e[u*t+o+1]>=r,Mo[c|f<<1|s<<2|l<<3].forEach(p);Mo[f|s<<3].forEach(p)}o=-1,s=e[u*t]>=r,Mo[s<<2].forEach(p);for(;++o=r,Mo[s<<2|l<<3].forEach(p);function p(t){var n,e,r=[t[0][0]+o,t[0][1]+u],c=[t[1][0]+o,t[1][1]+u],f=a(r),s=a(c);(n=d[f])?(e=h[s])?(delete d[n.end],delete h[e.start],n===e?(n.ring.push(c),i(n.ring)):h[n.start]=d[e.end]={start:n.start,end:e.end,ring:n.ring.concat(e.ring)}):(delete d[n.end],n.ring.push(c),d[n.end=s]=n):(n=h[s])?(e=d[f])?(delete h[n.start],delete d[e.end],n===e?(n.ring.push(c),i(n.ring)):h[e.start]=d[n.end]={start:e.start,end:n.end,ring:e.ring.concat(n.ring)}):(delete h[n.start],n.ring.unshift(r),h[n.start=f]=n):h[f]=d[s]={start:f,end:s,ring:[r,c]}}Mo[s<<3].forEach(p)}(e,i,function(t){r(t,e,i),function(t){for(var n=0,e=t.length,r=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++n0?o.push([t]):u.push(t)}),u.forEach(function(t){for(var n,e=0,r=o.length;e0&&a0&&u0&&o>0))throw new Error("invalid size");return t=r,n=o,i},i.thresholds=function(t){return arguments.length?(e="function"==typeof t?t:Array.isArray(t)?_o(go.call(t)):_o(t),i):e},i.smooth=function(t){return arguments.length?(r=t?u:wo,i):r===u},i}function Ao(t,n,e){for(var r=t.width,i=t.height,o=1+(e<<1),a=0;a=e&&(u>=o&&(c-=t.data[u-o+a*r]),n.data[u-e+a*r]=c/Math.min(u+1,r-1+o-u,o))}function To(t,n,e){for(var r=t.width,i=t.height,o=1+(e<<1),a=0;a=e&&(u>=o&&(c-=t.data[a+(u-o)*r]),n.data[a+(u-e)*r]=c/Math.min(u+1,i-1+o-u,o))}function So(t){return t[0]}function ko(t){return t[1]}function Eo(){return 1}var Co={},Po={},zo=34,Ro=10,Do=13;function qo(t){return new Function("d","return {"+t.map(function(t,n){return JSON.stringify(t)+": d["+n+"]"}).join(",")+"}")}function Lo(t){var n=Object.create(null),e=[];return t.forEach(function(t){for(var r in t)r in n||e.push(n[r]=r)}),e}function Uo(t,n){var e=t+"",r=e.length;return r9999?"+"+Uo(t,6):Uo(t,4)}(t.getUTCFullYear())+"-"+Uo(t.getUTCMonth()+1,2)+"-"+Uo(t.getUTCDate(),2)+(i?"T"+Uo(n,2)+":"+Uo(e,2)+":"+Uo(r,2)+"."+Uo(i,3)+"Z":r?"T"+Uo(n,2)+":"+Uo(e,2)+":"+Uo(r,2)+"Z":e||n?"T"+Uo(n,2)+":"+Uo(e,2)+"Z":"")}function Bo(t){var n=new RegExp('["'+t+"\n\r]"),e=t.charCodeAt(0);function r(t,n){var r,i=[],o=t.length,a=0,u=0,c=o<=0,f=!1;function s(){if(c)return Po;if(f)return f=!1,Co;var n,r,i=a;if(t.charCodeAt(i)===zo){for(;a++=o?c=!0:(r=t.charCodeAt(a++))===Ro?f=!0:r===Do&&(f=!0,t.charCodeAt(a)===Ro&&++a),t.slice(i+1,n-1).replace(/""/g,'"')}for(;a=(o=(v+y)/2))?v=o:y=o,(s=e>=(a=(g+_)/2))?g=a:_=a,i=d,!(d=d[l=s<<1|f]))return i[l]=p,t;if(u=+t._x.call(null,d.data),c=+t._y.call(null,d.data),n===u&&e===c)return p.next=d,i?i[l]=p:t._root=p,t;do{i=i?i[l]=new Array(4):t._root=new Array(4),(f=n>=(o=(v+y)/2))?v=o:y=o,(s=e>=(a=(g+_)/2))?g=a:_=a}while((l=s<<1|f)==(h=(c>=a)<<1|u>=o));return i[h]=d,i[l]=p,t}function da(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i}function pa(t){return t[0]}function va(t){return t[1]}function ga(t,n,e){var r=new ya(null==n?pa:n,null==e?va:e,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function ya(t,n,e,r,i,o){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function _a(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}var ba=ga.prototype=ya.prototype;function ma(t){return t.x+t.vx}function xa(t){return t.y+t.vy}function wa(t){return t.index}function Ma(t,n){var e=t.get(n);if(!e)throw new Error("missing: "+n);return e}function Na(t){return t.x}function Aa(t){return t.y}ba.copy=function(){var t,n,e=new ya(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return e;if(!r.length)return e._root=_a(r),e;for(t=[{source:r,target:e._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(n=r.source[i])&&(n.length?t.push({source:n,target:r.target[i]=new Array(4)}):r.target[i]=_a(n));return e},ba.add=function(t){var n=+this._x.call(null,t),e=+this._y.call(null,t);return ha(this.cover(n,e),n,e,t)},ba.addAll=function(t){var n,e,r,i,o=t.length,a=new Array(o),u=new Array(o),c=1/0,f=1/0,s=-1/0,l=-1/0;for(e=0;es&&(s=r),il&&(l=i));if(c>s||f>l)return this;for(this.cover(c,f).cover(s,l),e=0;et||t>=i||r>n||n>=o;)switch(u=(nh||(o=c.y0)>d||(a=c.x1)=y)<<1|t>=g)&&(c=p[p.length-1],p[p.length-1]=p[p.length-1-f],p[p.length-1-f]=c)}else{var _=t-+this._x.call(null,v.data),b=n-+this._y.call(null,v.data),m=_*_+b*b;if(m=(u=(p+g)/2))?p=u:g=u,(s=a>=(c=(v+y)/2))?v=c:y=c,n=d,!(d=d[l=s<<1|f]))return this;if(!d.length)break;(n[l+1&3]||n[l+2&3]||n[l+3&3])&&(e=n,h=l)}for(;d.data!==t;)if(r=d,!(d=d.next))return this;return(i=d.next)&&delete d.next,r?(i?r.next=i:delete r.next,this):n?(i?n[l]=i:delete n[l],(d=n[0]||n[1]||n[2]||n[3])&&d===(n[3]||n[2]||n[1]||n[0])&&!d.length&&(e?e[h]=d:this._root=d),this):(this._root=i,this)},ba.removeAll=function(t){for(var n=0,e=t.length;n1?r[0]+r.slice(2):r,+t.slice(e+1)]}function Ea(t){return(t=ka(Math.abs(t)))?t[1]:NaN}var Ca,Pa=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function za(t){if(!(n=Pa.exec(t)))throw new Error("invalid format: "+t);var n;return new Ra({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}function Ra(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function Da(t,n){var e=ka(t,n);if(!e)return t+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}za.prototype=Ra.prototype,Ra.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var qa={"%":function(t,n){return(100*t).toFixed(n)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},g:function(t,n){return t.toPrecision(n)},o:function(t){return Math.round(t).toString(8)},p:function(t,n){return Da(100*t,n)},r:Da,s:function(t,n){var e=ka(t,n);if(!e)return t+"";var r=e[0],i=e[1],o=i-(Ca=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+ka(t,Math.max(0,n+o-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function La(t){return t}var Ua,Oa=Array.prototype.map,Ba=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Ya(t){var n,e,r=void 0===t.grouping||void 0===t.thousands?La:(n=Oa.call(t.grouping,Number),e=t.thousands+"",function(t,r){for(var i=t.length,o=[],a=0,u=n[0],c=0;i>0&&u>0&&(c+u+1>r&&(u=Math.max(1,r-c)),o.push(t.substring(i-=u,i+u)),!((c+=u+1)>r));)u=n[a=(a+1)%n.length];return o.reverse().join(e)}),i=void 0===t.currency?"":t.currency[0]+"",o=void 0===t.currency?"":t.currency[1]+"",a=void 0===t.decimal?".":t.decimal+"",u=void 0===t.numerals?La:function(t){return function(n){return n.replace(/[0-9]/g,function(n){return t[+n]})}}(Oa.call(t.numerals,String)),c=void 0===t.percent?"%":t.percent+"",f=void 0===t.minus?"-":t.minus+"",s=void 0===t.nan?"NaN":t.nan+"";function l(t){var n=(t=za(t)).fill,e=t.align,l=t.sign,h=t.symbol,d=t.zero,p=t.width,v=t.comma,g=t.precision,y=t.trim,_=t.type;"n"===_?(v=!0,_="g"):qa[_]||(void 0===g&&(g=12),y=!0,_="g"),(d||"0"===n&&"="===e)&&(d=!0,n="0",e="=");var b="$"===h?i:"#"===h&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",m="$"===h?o:/[%p]/.test(_)?c:"",x=qa[_],w=/[defgprs%]/.test(_);function M(t){var i,o,c,h=b,M=m;if("c"===_)M=x(t)+M,t="";else{var N=(t=+t)<0;if(t=isNaN(t)?s:x(Math.abs(t),g),y&&(t=function(t){t:for(var n,e=t.length,r=1,i=-1;r0){if(!+t[r])break t;i=0}}return i>0?t.slice(0,i)+t.slice(n+1):t}(t)),N&&0==+t&&(N=!1),h=(N?"("===l?l:f:"-"===l||"("===l?"":l)+h,M=("s"===_?Ba[8+Ca/3]:"")+M+(N&&"("===l?")":""),w)for(i=-1,o=t.length;++i(c=t.charCodeAt(i))||c>57){M=(46===c?a+t.slice(i+1):t.slice(i))+M,t=t.slice(0,i);break}}v&&!d&&(t=r(t,1/0));var A=h.length+t.length+M.length,T=A>1)+h+t+M+T.slice(A);break;default:t=T+h+t+M}return u(t)}return g=void 0===g?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,g)):Math.max(0,Math.min(20,g)),M.toString=function(){return t+""},M}return{format:l,formatPrefix:function(t,n){var e=l(((t=za(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(Ea(n)/3))),i=Math.pow(10,-r),o=Ba[8+r/3];return function(t){return e(i*t)+o}}}}function Fa(n){return Ua=Ya(n),t.format=Ua.format,t.formatPrefix=Ua.formatPrefix,Ua}function Ia(t){return Math.max(0,-Ea(Math.abs(t)))}function Ha(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Ea(n)/3)))-Ea(Math.abs(t)))}function ja(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,Ea(n)-Ea(t))+1}function Xa(){return new Ga}function Ga(){this.reset()}Fa({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),Ga.prototype={constructor:Ga,reset:function(){this.s=this.t=0},add:function(t){$a(Va,t,this.t),$a(this,Va.s,this.s),this.s?this.t+=Va.t:this.s=Va.t},valueOf:function(){return this.s}};var Va=new Ga;function $a(t,n,e){var r=t.s=n+e,i=r-n,o=r-i;t.t=n-o+(e-i)}var Wa=1e-6,Za=1e-12,Qa=Math.PI,Ka=Qa/2,Ja=Qa/4,tu=2*Qa,nu=180/Qa,eu=Qa/180,ru=Math.abs,iu=Math.atan,ou=Math.atan2,au=Math.cos,uu=Math.ceil,cu=Math.exp,fu=Math.log,su=Math.pow,lu=Math.sin,hu=Math.sign||function(t){return t>0?1:t<0?-1:0},du=Math.sqrt,pu=Math.tan;function vu(t){return t>1?0:t<-1?Qa:Math.acos(t)}function gu(t){return t>1?Ka:t<-1?-Ka:Math.asin(t)}function yu(t){return(t=lu(t/2))*t}function _u(){}function bu(t,n){t&&xu.hasOwnProperty(t.type)&&xu[t.type](t,n)}var mu={Feature:function(t,n){bu(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r=0?1:-1,i=r*e,o=au(n=(n*=eu)/2+Ja),a=lu(n),u=Eu*a,c=ku*o+u*au(i),f=u*r*lu(i);Cu.add(ou(f,c)),Su=t,ku=o,Eu=a}function Uu(t){return[ou(t[1],t[0]),gu(t[2])]}function Ou(t){var n=t[0],e=t[1],r=au(e);return[r*au(n),r*lu(n),lu(e)]}function Bu(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function Yu(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function Fu(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function Iu(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function Hu(t){var n=du(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}var ju,Xu,Gu,Vu,$u,Wu,Zu,Qu,Ku,Ju,tc,nc,ec,rc,ic,oc,ac,uc,cc,fc,sc,lc,hc,dc,pc,vc,gc=Xa(),yc={point:_c,lineStart:mc,lineEnd:xc,polygonStart:function(){yc.point=wc,yc.lineStart=Mc,yc.lineEnd=Nc,gc.reset(),zu.polygonStart()},polygonEnd:function(){zu.polygonEnd(),yc.point=_c,yc.lineStart=mc,yc.lineEnd=xc,Cu<0?(ju=-(Gu=180),Xu=-(Vu=90)):gc>Wa?Vu=90:gc<-Wa&&(Xu=-90),Ju[0]=ju,Ju[1]=Gu},sphere:function(){ju=-(Gu=180),Xu=-(Vu=90)}};function _c(t,n){Ku.push(Ju=[ju=t,Gu=t]),nVu&&(Vu=n)}function bc(t,n){var e=Ou([t*eu,n*eu]);if(Qu){var r=Yu(Qu,e),i=Yu([r[1],-r[0],0],r);Hu(i),i=Uu(i);var o,a=t-$u,u=a>0?1:-1,c=i[0]*nu*u,f=ru(a)>180;f^(u*$uVu&&(Vu=o):f^(u*$u<(c=(c+360)%360-180)&&cVu&&(Vu=n)),f?t<$u?Ac(ju,t)>Ac(ju,Gu)&&(Gu=t):Ac(t,Gu)>Ac(ju,Gu)&&(ju=t):Gu>=ju?(tGu&&(Gu=t)):t>$u?Ac(ju,t)>Ac(ju,Gu)&&(Gu=t):Ac(t,Gu)>Ac(ju,Gu)&&(ju=t)}else Ku.push(Ju=[ju=t,Gu=t]);nVu&&(Vu=n),Qu=e,$u=t}function mc(){yc.point=bc}function xc(){Ju[0]=ju,Ju[1]=Gu,yc.point=_c,Qu=null}function wc(t,n){if(Qu){var e=t-$u;gc.add(ru(e)>180?e+(e>0?360:-360):e)}else Wu=t,Zu=n;zu.point(t,n),bc(t,n)}function Mc(){zu.lineStart()}function Nc(){wc(Wu,Zu),zu.lineEnd(),ru(gc)>Wa&&(ju=-(Gu=180)),Ju[0]=ju,Ju[1]=Gu,Qu=null}function Ac(t,n){return(n-=t)<0?n+360:n}function Tc(t,n){return t[0]-n[0]}function Sc(t,n){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:nQa?t+Math.round(-t/tu)*tu:t,n]}function Ic(t,n,e){return(t%=tu)?n||e?Yc(jc(t),Xc(n,e)):jc(t):n||e?Xc(n,e):Fc}function Hc(t){return function(n,e){return[(n+=t)>Qa?n-tu:n<-Qa?n+tu:n,e]}}function jc(t){var n=Hc(t);return n.invert=Hc(-t),n}function Xc(t,n){var e=au(t),r=lu(t),i=au(n),o=lu(n);function a(t,n){var a=au(n),u=au(t)*a,c=lu(t)*a,f=lu(n),s=f*e+u*r;return[ou(c*i-s*o,u*e-f*r),gu(s*i+c*o)]}return a.invert=function(t,n){var a=au(n),u=au(t)*a,c=lu(t)*a,f=lu(n),s=f*i-c*o;return[ou(c*i+f*o,u*e+s*r),gu(s*e-u*r)]},a}function Gc(t){function n(n){return(n=t(n[0]*eu,n[1]*eu))[0]*=nu,n[1]*=nu,n}return t=Ic(t[0]*eu,t[1]*eu,t.length>2?t[2]*eu:0),n.invert=function(n){return(n=t.invert(n[0]*eu,n[1]*eu))[0]*=nu,n[1]*=nu,n},n}function Vc(t,n,e,r,i,o){if(e){var a=au(n),u=lu(n),c=r*e;null==i?(i=n+r*tu,o=n-c/2):(i=$c(a,i),o=$c(a,o),(r>0?io)&&(i+=r*tu));for(var f,s=i;r>0?s>o:s1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}}function Zc(t,n){return ru(t[0]-n[0])=0;--o)i.point((s=f[o])[0],s[1]);else r(h.x,h.p.x,-1,i);h=h.p}f=(h=h.o).z,d=!d}while(!h.v);i.lineEnd()}}}function Jc(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r=0?1:-1,A=N*M,T=A>Qa,S=v*x;if(tf.add(ou(S*N*lu(A),g*w+S*au(A))),a+=T?M+N*tu:M,T^d>=e^b>=e){var k=Yu(Ou(h),Ou(_));Hu(k);var E=Yu(o,k);Hu(E);var C=(T^M>=0?-1:1)*gu(E[2]);(r>C||r===C&&(k[0]||k[1]))&&(u+=T^M>=0?1:-1)}}return(a<-Wa||a0){for(l||(i.polygonStart(),l=!0),i.lineStart(),t=0;t1&&2&c&&h.push(h.pop().concat(h.shift())),a.push(h.filter(of))}return h}}function of(t){return t.length>1}function af(t,n){return((t=t.x)[0]<0?t[1]-Ka-Wa:Ka-t[1])-((n=n.x)[0]<0?n[1]-Ka-Wa:Ka-n[1])}var uf=rf(function(){return!0},function(t){var n,e=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),n=1},point:function(o,a){var u=o>0?Qa:-Qa,c=ru(o-e);ru(c-Qa)0?Ka:-Ka),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),t.point(o,r),n=0):i!==u&&c>=Qa&&(ru(e-i)Wa?iu((lu(n)*(o=au(r))*lu(e)-lu(r)*(i=au(n))*lu(t))/(i*o*a)):(n+r)/2}(e,r,o,a),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),n=0),t.point(e=o,r=a),i=u},lineEnd:function(){t.lineEnd(),e=r=NaN},clean:function(){return 2-n}}},function(t,n,e,r){var i;if(null==t)i=e*Ka,r.point(-Qa,i),r.point(0,i),r.point(Qa,i),r.point(Qa,0),r.point(Qa,-i),r.point(0,-i),r.point(-Qa,-i),r.point(-Qa,0),r.point(-Qa,i);else if(ru(t[0]-n[0])>Wa){var o=t[0]0,i=ru(n)>Wa;function o(t,e){return au(t)*au(e)>n}function a(t,e,r){var i=[1,0,0],o=Yu(Ou(t),Ou(e)),a=Bu(o,o),u=o[0],c=a-u*u;if(!c)return!r&&t;var f=n*a/c,s=-n*u/c,l=Yu(i,o),h=Iu(i,f);Fu(h,Iu(o,s));var d=l,p=Bu(h,d),v=Bu(d,d),g=p*p-v*(Bu(h,h)-1);if(!(g<0)){var y=du(g),_=Iu(d,(-p-y)/v);if(Fu(_,h),_=Uu(_),!r)return _;var b,m=t[0],x=e[0],w=t[1],M=e[1];x0^_[1]<(ru(_[0]-m)Qa^(m<=_[0]&&_[0]<=x)){var T=Iu(d,(-p+y)/v);return Fu(T,h),[_,Uu(T)]}}}function u(n,e){var i=r?t:Qa-t,o=0;return n<-i?o|=1:n>i&&(o|=2),e<-i?o|=4:e>i&&(o|=8),o}return rf(o,function(t){var n,e,c,f,s;return{lineStart:function(){f=c=!1,s=1},point:function(l,h){var d,p=[l,h],v=o(l,h),g=r?v?0:u(l,h):v?u(l+(l<0?Qa:-Qa),h):0;if(!n&&(f=c=v)&&t.lineStart(),v!==c&&(!(d=a(n,p))||Zc(n,d)||Zc(p,d))&&(p[0]+=Wa,p[1]+=Wa,v=o(p[0],p[1])),v!==c)s=0,v?(t.lineStart(),d=a(p,n),t.point(d[0],d[1])):(d=a(n,p),t.point(d[0],d[1]),t.lineEnd()),n=d;else if(i&&n&&r^v){var y;g&e||!(y=a(p,n,!0))||(s=0,r?(t.lineStart(),t.point(y[0][0],y[0][1]),t.point(y[1][0],y[1][1]),t.lineEnd()):(t.point(y[1][0],y[1][1]),t.lineEnd(),t.lineStart(),t.point(y[0][0],y[0][1])))}!v||n&&Zc(n,p)||t.point(p[0],p[1]),n=p,c=v,e=g},lineEnd:function(){c&&t.lineEnd(),n=null},clean:function(){return s|(f&&c)<<1}}},function(n,r,i,o){Vc(o,t,e,i,n,r)},r?[0,-t]:[-Qa,t-Qa])}var ff=1e9,sf=-ff;function lf(t,n,e,r){function i(i,o){return t<=i&&i<=e&&n<=o&&o<=r}function o(i,o,u,f){var s=0,l=0;if(null==i||(s=a(i,u))!==(l=a(o,u))||c(i,o)<0^u>0)do{f.point(0===s||3===s?t:e,s>1?r:n)}while((s=(s+u+4)%4)!==l);else f.point(o[0],o[1])}function a(r,i){return ru(r[0]-t)0?0:3:ru(r[0]-e)0?2:1:ru(r[1]-n)0?1:0:i>0?3:2}function u(t,n){return c(t.x,n.x)}function c(t,n){var e=a(t,1),r=a(n,1);return e!==r?e-r:0===e?n[1]-t[1]:1===e?t[0]-n[0]:2===e?t[1]-n[1]:n[0]-t[0]}return function(a){var c,f,s,l,h,d,p,v,g,y,_,b=a,m=Wc(),x={point:w,lineStart:function(){x.point=M,f&&f.push(s=[]);y=!0,g=!1,p=v=NaN},lineEnd:function(){c&&(M(l,h),d&&g&&m.rejoin(),c.push(m.result()));x.point=w,g&&b.lineEnd()},polygonStart:function(){b=m,c=[],f=[],_=!0},polygonEnd:function(){var n=function(){for(var n=0,e=0,i=f.length;er&&(h-o)*(r-a)>(d-a)*(t-o)&&++n:d<=r&&(h-o)*(r-a)<(d-a)*(t-o)&&--n;return n}(),e=_&&n,i=(c=T(c)).length;(e||i)&&(a.polygonStart(),e&&(a.lineStart(),o(null,null,1,a),a.lineEnd()),i&&Kc(c,u,n,o,a),a.polygonEnd());b=a,c=f=s=null}};function w(t,n){i(t,n)&&b.point(t,n)}function M(o,a){var u=i(o,a);if(f&&s.push([o,a]),y)l=o,h=a,d=u,y=!1,u&&(b.lineStart(),b.point(o,a));else if(u&&g)b.point(o,a);else{var c=[p=Math.max(sf,Math.min(ff,p)),v=Math.max(sf,Math.min(ff,v))],m=[o=Math.max(sf,Math.min(ff,o)),a=Math.max(sf,Math.min(ff,a))];!function(t,n,e,r,i,o){var a,u=t[0],c=t[1],f=0,s=1,l=n[0]-u,h=n[1]-c;if(a=e-u,l||!(a>0)){if(a/=l,l<0){if(a0){if(a>s)return;a>f&&(f=a)}if(a=i-u,l||!(a<0)){if(a/=l,l<0){if(a>s)return;a>f&&(f=a)}else if(l>0){if(a0)){if(a/=h,h<0){if(a0){if(a>s)return;a>f&&(f=a)}if(a=o-c,h||!(a<0)){if(a/=h,h<0){if(a>s)return;a>f&&(f=a)}else if(h>0){if(a0&&(t[0]=u+f*l,t[1]=c+f*h),s<1&&(n[0]=u+s*l,n[1]=c+s*h),!0}}}}}(c,m,t,n,e,r)?u&&(b.lineStart(),b.point(o,a),_=!1):(g||(b.lineStart(),b.point(c[0],c[1])),b.point(m[0],m[1]),u||b.lineEnd(),_=!1)}p=o,v=a,g=u}return x}}var hf,df,pf,vf=Xa(),gf={sphere:_u,point:_u,lineStart:function(){gf.point=_f,gf.lineEnd=yf},lineEnd:_u,polygonStart:_u,polygonEnd:_u};function yf(){gf.point=gf.lineEnd=_u}function _f(t,n){hf=t*=eu,df=lu(n*=eu),pf=au(n),gf.point=bf}function bf(t,n){t*=eu;var e=lu(n*=eu),r=au(n),i=ru(t-hf),o=au(i),a=r*lu(i),u=pf*e-df*r*o,c=df*e+pf*r*o;vf.add(ou(du(a*a+u*u),c)),hf=t,df=e,pf=r}function mf(t){return vf.reset(),Nu(t,gf),+vf}var xf=[null,null],wf={type:"LineString",coordinates:xf};function Mf(t,n){return xf[0]=t,xf[1]=n,mf(wf)}var Nf={Feature:function(t,n){return Tf(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r0&&(i=Mf(t[o],t[o-1]))>0&&e<=i&&r<=i&&(e+r-i)*(1-Math.pow((e-r)/i,2))Wa}).map(c)).concat(g(uu(o/d)*d,i,d).filter(function(t){return ru(t%v)>Wa}).map(f))}return _.lines=function(){return b().map(function(t){return{type:"LineString",coordinates:t}})},_.outline=function(){return{type:"Polygon",coordinates:[s(r).concat(l(a).slice(1),s(e).reverse().slice(1),l(u).reverse().slice(1))]}},_.extent=function(t){return arguments.length?_.extentMajor(t).extentMinor(t):_.extentMinor()},_.extentMajor=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],u=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),u>a&&(t=u,u=a,a=t),_.precision(y)):[[r,u],[e,a]]},_.extentMinor=function(e){return arguments.length?(n=+e[0][0],t=+e[1][0],o=+e[0][1],i=+e[1][1],n>t&&(e=n,n=t,t=e),o>i&&(e=o,o=i,i=e),_.precision(y)):[[n,o],[t,i]]},_.step=function(t){return arguments.length?_.stepMajor(t).stepMinor(t):_.stepMinor()},_.stepMajor=function(t){return arguments.length?(p=+t[0],v=+t[1],_):[p,v]},_.stepMinor=function(t){return arguments.length?(h=+t[0],d=+t[1],_):[h,d]},_.precision=function(h){return arguments.length?(y=+h,c=zf(o,i,90),f=Rf(n,t,y),s=zf(u,a,90),l=Rf(r,e,y),_):y},_.extentMajor([[-180,-90+Wa],[180,90-Wa]]).extentMinor([[-180,-80-Wa],[180,80+Wa]])}function qf(t){return t}var Lf,Uf,Of,Bf,Yf=Xa(),Ff=Xa(),If={point:_u,lineStart:_u,lineEnd:_u,polygonStart:function(){If.lineStart=Hf,If.lineEnd=Gf},polygonEnd:function(){If.lineStart=If.lineEnd=If.point=_u,Yf.add(ru(Ff)),Ff.reset()},result:function(){var t=Yf/2;return Yf.reset(),t}};function Hf(){If.point=jf}function jf(t,n){If.point=Xf,Lf=Of=t,Uf=Bf=n}function Xf(t,n){Ff.add(Bf*t-Of*n),Of=t,Bf=n}function Gf(){Xf(Lf,Uf)}var Vf=1/0,$f=Vf,Wf=-Vf,Zf=Wf,Qf={point:function(t,n){tWf&&(Wf=t);n<$f&&($f=n);n>Zf&&(Zf=n)},lineStart:_u,lineEnd:_u,polygonStart:_u,polygonEnd:_u,result:function(){var t=[[Vf,$f],[Wf,Zf]];return Wf=Zf=-($f=Vf=1/0),t}};var Kf,Jf,ts,ns,es=0,rs=0,is=0,os=0,as=0,us=0,cs=0,fs=0,ss=0,ls={point:hs,lineStart:ds,lineEnd:gs,polygonStart:function(){ls.lineStart=ys,ls.lineEnd=_s},polygonEnd:function(){ls.point=hs,ls.lineStart=ds,ls.lineEnd=gs},result:function(){var t=ss?[cs/ss,fs/ss]:us?[os/us,as/us]:is?[es/is,rs/is]:[NaN,NaN];return es=rs=is=os=as=us=cs=fs=ss=0,t}};function hs(t,n){es+=t,rs+=n,++is}function ds(){ls.point=ps}function ps(t,n){ls.point=vs,hs(ts=t,ns=n)}function vs(t,n){var e=t-ts,r=n-ns,i=du(e*e+r*r);os+=i*(ts+t)/2,as+=i*(ns+n)/2,us+=i,hs(ts=t,ns=n)}function gs(){ls.point=hs}function ys(){ls.point=bs}function _s(){ms(Kf,Jf)}function bs(t,n){ls.point=ms,hs(Kf=ts=t,Jf=ns=n)}function ms(t,n){var e=t-ts,r=n-ns,i=du(e*e+r*r);os+=i*(ts+t)/2,as+=i*(ns+n)/2,us+=i,cs+=(i=ns*t-ts*n)*(ts+t),fs+=i*(ns+n),ss+=3*i,hs(ts=t,ns=n)}function xs(t){this._context=t}xs.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._context.moveTo(t,n),this._point=1;break;case 1:this._context.lineTo(t,n);break;default:this._context.moveTo(t+this._radius,n),this._context.arc(t,n,this._radius,0,tu)}},result:_u};var ws,Ms,Ns,As,Ts,Ss=Xa(),ks={point:_u,lineStart:function(){ks.point=Es},lineEnd:function(){ws&&Cs(Ms,Ns),ks.point=_u},polygonStart:function(){ws=!0},polygonEnd:function(){ws=null},result:function(){var t=+Ss;return Ss.reset(),t}};function Es(t,n){ks.point=Cs,Ms=As=t,Ns=Ts=n}function Cs(t,n){As-=t,Ts-=n,Ss.add(du(As*As+Ts*Ts)),As=t,Ts=n}function Ps(){this._string=[]}function zs(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function Rs(t){return function(n){var e=new Ds;for(var r in t)e[r]=t[r];return e.stream=n,e}}function Ds(){}function qs(t,n,e){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),Nu(e,t.stream(Qf)),n(Qf.result()),null!=r&&t.clipExtent(r),t}function Ls(t,n,e){return qs(t,function(e){var r=n[1][0]-n[0][0],i=n[1][1]-n[0][1],o=Math.min(r/(e[1][0]-e[0][0]),i/(e[1][1]-e[0][1])),a=+n[0][0]+(r-o*(e[1][0]+e[0][0]))/2,u=+n[0][1]+(i-o*(e[1][1]+e[0][1]))/2;t.scale(150*o).translate([a,u])},e)}function Us(t,n,e){return Ls(t,[[0,0],n],e)}function Os(t,n,e){return qs(t,function(e){var r=+n,i=r/(e[1][0]-e[0][0]),o=(r-i*(e[1][0]+e[0][0]))/2,a=-i*e[0][1];t.scale(150*i).translate([o,a])},e)}function Bs(t,n,e){return qs(t,function(e){var r=+n,i=r/(e[1][1]-e[0][1]),o=-i*e[0][0],a=(r-i*(e[1][1]+e[0][1]))/2;t.scale(150*i).translate([o,a])},e)}Ps.prototype={_radius:4.5,_circle:zs(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._string.push("M",t,",",n),this._point=1;break;case 1:this._string.push("L",t,",",n);break;default:null==this._circle&&(this._circle=zs(this._radius)),this._string.push("M",t,",",n,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}},Ds.prototype={constructor:Ds,point:function(t,n){this.stream.point(t,n)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var Ys=16,Fs=au(30*eu);function Is(t,n){return+n?function(t,n){function e(r,i,o,a,u,c,f,s,l,h,d,p,v,g){var y=f-r,_=s-i,b=y*y+_*_;if(b>4*n&&v--){var m=a+h,x=u+d,w=c+p,M=du(m*m+x*x+w*w),N=gu(w/=M),A=ru(ru(w)-1)n||ru((y*E+_*C)/b-.5)>.3||a*h+u*d+c*p2?t[2]%360*eu:0,S()):[g*nu,y*nu,_*nu]},A.angle=function(t){return arguments.length?(b=t%360*eu,S()):b*nu},A.precision=function(t){return arguments.length?(a=Is(u,N=t*t),k()):du(N)},A.fitExtent=function(t,n){return Ls(A,t,n)},A.fitSize=function(t,n){return Us(A,t,n)},A.fitWidth=function(t,n){return Os(A,t,n)},A.fitHeight=function(t,n){return Bs(A,t,n)},function(){return n=t.apply(this,arguments),A.invert=n.invert&&T,S()}}function Vs(t){var n=0,e=Qa/3,r=Gs(t),i=r(n,e);return i.parallels=function(t){return arguments.length?r(n=t[0]*eu,e=t[1]*eu):[n*nu,e*nu]},i}function $s(t,n){var e=lu(t),r=(e+lu(n))/2;if(ru(r)0?n<-Ka+Wa&&(n=-Ka+Wa):n>Ka-Wa&&(n=Ka-Wa);var e=i/su(rl(n),r);return[e*lu(r*t),i-e*au(r*t)]}return o.invert=function(t,n){var e=i-n,o=hu(r)*du(t*t+e*e);return[ou(t,ru(e))/r*hu(e),2*iu(su(i/o,1/r))-Ka]},o}function ol(t,n){return[t,n]}function al(t,n){var e=au(t),r=t===n?lu(t):(e-au(n))/(n-t),i=e/r+t;if(ru(r)=0;)n+=e[r].value;else n=1;t.value=n}function Ml(t,n){var e,r,i,o,a,u=new Sl(t),c=+t.value&&(u.value=t.value),f=[u];for(null==n&&(n=Nl);e=f.pop();)if(c&&(e.value=+e.data.value),(i=n(e.data))&&(a=i.length))for(e.children=new Array(a),o=a-1;o>=0;--o)f.push(r=e.children[o]=new Sl(i[o])),r.parent=e,r.depth=e.depth+1;return u.eachBefore(Tl)}function Nl(t){return t.children}function Al(t){t.data=t.data.data}function Tl(t){var n=0;do{t.height=n}while((t=t.parent)&&t.height<++n)}function Sl(t){this.data=t,this.depth=this.height=0,this.parent=null}hl.invert=function(t,n){for(var e,r=n,i=r*r,o=i*i*i,a=0;a<12&&(o=(i=(r-=e=(r*(ul+cl*i+o*(fl+sl*i))-n)/(ul+3*cl*i+o*(7*fl+9*sl*i)))*r)*i*i,!(ru(e)Wa&&--i>0);return[t/(.8707+(o=r*r)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),r]},gl.invert=Ks(gu),yl.invert=Ks(function(t){return 2*iu(t)}),_l.invert=function(t,n){return[-n,2*iu(cu(t))-Ka]},Sl.prototype=Ml.prototype={constructor:Sl,count:function(){return this.eachAfter(wl)},each:function(t){var n,e,r,i,o=this,a=[o];do{for(n=a.reverse(),a=[];o=n.pop();)if(t(o),e=o.children)for(r=0,i=e.length;r=0;--e)i.push(n[e]);return this},sum:function(t){return this.eachAfter(function(n){for(var e=+t(n.data)||0,r=n.children,i=r&&r.length;--i>=0;)e+=r[i].value;n.value=e})},sort:function(t){return this.eachBefore(function(n){n.children&&n.children.sort(t)})},path:function(t){for(var n=this,e=function(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;for(t=e.pop(),n=r.pop();t===n;)i=t,t=e.pop(),n=r.pop();return i}(n,t),r=[n];n!==e;)n=n.parent,r.push(n);for(var i=r.length;t!==e;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n},descendants:function(){var t=[];return this.each(function(n){t.push(n)}),t},leaves:function(){var t=[];return this.eachBefore(function(n){n.children||t.push(n)}),t},links:function(){var t=this,n=[];return t.each(function(e){e!==t&&n.push({source:e.parent,target:e})}),n},copy:function(){return Ml(this).eachBefore(Al)}};var kl=Array.prototype.slice;function El(t){for(var n,e,r=0,i=(t=function(t){for(var n,e,r=t.length;r;)e=Math.random()*r--|0,n=t[r],t[r]=t[e],t[e]=n;return t}(kl.call(t))).length,o=[];r0&&e*e>r*r+i*i}function Rl(t,n){for(var e=0;e(a*=a)?(r=(f+a-i)/(2*f),o=Math.sqrt(Math.max(0,a/f-r*r)),e.x=t.x-r*u-o*c,e.y=t.y-r*c+o*u):(r=(f+i-a)/(2*f),o=Math.sqrt(Math.max(0,i/f-r*r)),e.x=n.x+r*u-o*c,e.y=n.y+r*c+o*u)):(e.x=n.x+e.r,e.y=n.y)}function Ol(t,n){var e=t.r+n.r-1e-6,r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function Bl(t){var n=t._,e=t.next._,r=n.r+e.r,i=(n.x*e.r+e.x*n.r)/r,o=(n.y*e.r+e.y*n.r)/r;return i*i+o*o}function Yl(t){this._=t,this.next=null,this.previous=null}function Fl(t){if(!(i=t.length))return 0;var n,e,r,i,o,a,u,c,f,s,l;if((n=t[0]).x=0,n.y=0,!(i>1))return n.r;if(e=t[1],n.x=-e.r,e.x=n.r,e.y=0,!(i>2))return n.r+e.r;Ul(e,n,r=t[2]),n=new Yl(n),e=new Yl(e),r=new Yl(r),n.next=r.previous=e,e.next=n.previous=r,r.next=e.previous=n;t:for(u=3;uh&&(h=u),g=s*s*v,(d=Math.max(h/g,g/l))>p){s-=u;break}p=d}y.push(a={value:s,dice:c1?n:1)},e}(sh);var dh=function t(n){function e(t,e,r,i,o){if((a=t._squarify)&&a.ratio===n)for(var a,u,c,f,s,l=-1,h=a.length,d=t.value;++l1?n:1)},e}(sh);function ph(t,n,e){return(n[0]-t[0])*(e[1]-t[1])-(n[1]-t[1])*(e[0]-t[0])}function vh(t,n){return t[0]-n[0]||t[1]-n[1]}function gh(t){for(var n=t.length,e=[0,1],r=2,i=2;i1&&ph(t[e[r-2]],t[e[r-1]],t[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}function yh(){return Math.random()}var _h=function t(n){function e(t,e){return t=null==t?0:+t,e=null==e?1:+e,1===arguments.length?(e=t,t=0):e-=t,function(){return n()*e+t}}return e.source=t,e}(yh),bh=function t(n){function e(t,e){var r,i;return t=null==t?0:+t,e=null==e?1:+e,function(){var o;if(null!=r)o=r,r=null;else do{r=2*n()-1,o=2*n()-1,i=r*r+o*o}while(!i||i>1);return t+e*o*Math.sqrt(-2*Math.log(i)/i)}}return e.source=t,e}(yh),mh=function t(n){function e(){var t=bh.source(n).apply(this,arguments);return function(){return Math.exp(t())}}return e.source=t,e}(yh),xh=function t(n){function e(t){return function(){for(var e=0,r=0;rr&&(n=e,e=r,r=n),function(t){return Math.max(e,Math.min(r,t))}}function Uh(t,n,e){var r=t[0],i=t[1],o=n[0],a=n[1];return i2?Oh:Uh,i=o=null,l}function l(n){return isNaN(n=+n)?e:(i||(i=r(a.map(t),u,c)))(t(f(n)))}return l.invert=function(e){return f(n((o||(o=r(u,a.map(t),be)))(e)))},l.domain=function(t){return arguments.length?(a=Sh.call(t,zh),f===Dh||(f=Lh(a)),s()):a.slice()},l.range=function(t){return arguments.length?(u=kh.call(t),s()):u.slice()},l.rangeRound=function(t){return u=kh.call(t),c=Ae,s()},l.clamp=function(t){return arguments.length?(f=t?Lh(a):Dh,l):f!==Dh},l.interpolate=function(t){return arguments.length?(c=t,s()):c},l.unknown=function(t){return arguments.length?(e=t,l):e},function(e,r){return t=e,n=r,s()}}function Fh(t,n){return Yh()(t,n)}function Ih(n,e,r,i){var o,a=w(n,e,r);switch((i=za(null==i?",f":i)).type){case"s":var u=Math.max(Math.abs(n),Math.abs(e));return null!=i.precision||isNaN(o=Ha(a,u))||(i.precision=o),t.formatPrefix(i,u);case"":case"e":case"g":case"p":case"r":null!=i.precision||isNaN(o=ja(a,Math.max(Math.abs(n),Math.abs(e))))||(i.precision=o-("e"===i.type));break;case"f":case"%":null!=i.precision||isNaN(o=Ia(a))||(i.precision=o-2*("%"===i.type))}return t.format(i)}function Hh(t){var n=t.domain;return t.ticks=function(t){var e=n();return m(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){var r=n();return Ih(r[0],r[r.length-1],null==t?10:t,e)},t.nice=function(e){null==e&&(e=10);var r,i=n(),o=0,a=i.length-1,u=i[o],c=i[a];return c0?r=x(u=Math.floor(u/r)*r,c=Math.ceil(c/r)*r,e):r<0&&(r=x(u=Math.ceil(u*r)/r,c=Math.floor(c*r)/r,e)),r>0?(i[o]=Math.floor(u/r)*r,i[a]=Math.ceil(c/r)*r,n(i)):r<0&&(i[o]=Math.ceil(u*r)/r,i[a]=Math.floor(c*r)/r,n(i)),t},t}function jh(t,n){var e,r=0,i=(t=t.slice()).length-1,o=t[r],a=t[i];return a0){for(;hc)break;v.push(l)}}else for(;h=1;--s)if(!((l=f*s)c)break;v.push(l)}}else v=m(h,d,Math.min(d-h,p)).map(r);return n?v.reverse():v},i.tickFormat=function(n,o){if(null==o&&(o=10===a?".0e":","),"function"!=typeof o&&(o=t.format(o)),n===1/0)return o;null==n&&(n=10);var u=Math.max(1,a*n/i.ticks().length);return function(t){var n=t/r(Math.round(e(t)));return n*a0))return u;do{u.push(a=new Date(+e)),n(e,o),t(e)}while(a=n)for(;t(n),!e(n);)n.setTime(n-1)},function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;n(t,-1),!e(t););else for(;--r>=0;)for(;n(t,1),!e(t););})},e&&(i.count=function(n,r){return ad.setTime(+n),ud.setTime(+r),t(ad),t(ud),Math.floor(e(ad,ud))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(n){return r(n)%t==0}:function(n){return i.count(0,n)%t==0}):i:null}),i}var fd=cd(function(){},function(t,n){t.setTime(+t+n)},function(t,n){return n-t});fd.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?cd(function(n){n.setTime(Math.floor(n/t)*t)},function(n,e){n.setTime(+n+e*t)},function(n,e){return(e-n)/t}):fd:null};var sd=fd.range,ld=6e4,hd=6048e5,dd=cd(function(t){t.setTime(t-t.getMilliseconds())},function(t,n){t.setTime(+t+1e3*n)},function(t,n){return(n-t)/1e3},function(t){return t.getUTCSeconds()}),pd=dd.range,vd=cd(function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())},function(t,n){t.setTime(+t+n*ld)},function(t,n){return(n-t)/ld},function(t){return t.getMinutes()}),gd=vd.range,yd=cd(function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-t.getMinutes()*ld)},function(t,n){t.setTime(+t+36e5*n)},function(t,n){return(n-t)/36e5},function(t){return t.getHours()}),_d=yd.range,bd=cd(function(t){t.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+n)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*ld)/864e5},function(t){return t.getDate()-1}),md=bd.range;function xd(t){return cd(function(n){n.setDate(n.getDate()-(n.getDay()+7-t)%7),n.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+7*n)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*ld)/hd})}var wd=xd(0),Md=xd(1),Nd=xd(2),Ad=xd(3),Td=xd(4),Sd=xd(5),kd=xd(6),Ed=wd.range,Cd=Md.range,Pd=Nd.range,zd=Ad.range,Rd=Td.range,Dd=Sd.range,qd=kd.range,Ld=cd(function(t){t.setDate(1),t.setHours(0,0,0,0)},function(t,n){t.setMonth(t.getMonth()+n)},function(t,n){return n.getMonth()-t.getMonth()+12*(n.getFullYear()-t.getFullYear())},function(t){return t.getMonth()}),Ud=Ld.range,Od=cd(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,n){t.setFullYear(t.getFullYear()+n)},function(t,n){return n.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});Od.every=function(t){return isFinite(t=Math.floor(t))&&t>0?cd(function(n){n.setFullYear(Math.floor(n.getFullYear()/t)*t),n.setMonth(0,1),n.setHours(0,0,0,0)},function(n,e){n.setFullYear(n.getFullYear()+e*t)}):null};var Bd=Od.range,Yd=cd(function(t){t.setUTCSeconds(0,0)},function(t,n){t.setTime(+t+n*ld)},function(t,n){return(n-t)/ld},function(t){return t.getUTCMinutes()}),Fd=Yd.range,Id=cd(function(t){t.setUTCMinutes(0,0,0)},function(t,n){t.setTime(+t+36e5*n)},function(t,n){return(n-t)/36e5},function(t){return t.getUTCHours()}),Hd=Id.range,jd=cd(function(t){t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+n)},function(t,n){return(n-t)/864e5},function(t){return t.getUTCDate()-1}),Xd=jd.range;function Gd(t){return cd(function(n){n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-t)%7),n.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+7*n)},function(t,n){return(n-t)/hd})}var Vd=Gd(0),$d=Gd(1),Wd=Gd(2),Zd=Gd(3),Qd=Gd(4),Kd=Gd(5),Jd=Gd(6),tp=Vd.range,np=$d.range,ep=Wd.range,rp=Zd.range,ip=Qd.range,op=Kd.range,ap=Jd.range,up=cd(function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCMonth(t.getUTCMonth()+n)},function(t,n){return n.getUTCMonth()-t.getUTCMonth()+12*(n.getUTCFullYear()-t.getUTCFullYear())},function(t){return t.getUTCMonth()}),cp=up.range,fp=cd(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n)},function(t,n){return n.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});fp.every=function(t){return isFinite(t=Math.floor(t))&&t>0?cd(function(n){n.setUTCFullYear(Math.floor(n.getUTCFullYear()/t)*t),n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)},function(n,e){n.setUTCFullYear(n.getUTCFullYear()+e*t)}):null};var sp=fp.range;function lp(t){if(0<=t.y&&t.y<100){var n=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return n.setFullYear(t.y),n}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function hp(t){if(0<=t.y&&t.y<100){var n=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return n.setUTCFullYear(t.y),n}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function dp(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}function pp(t){var n=t.dateTime,e=t.date,r=t.time,i=t.periods,o=t.days,a=t.shortDays,u=t.months,c=t.shortMonths,f=wp(i),s=Mp(i),l=wp(o),h=Mp(o),d=wp(a),p=Mp(a),v=wp(u),g=Mp(u),y=wp(c),_=Mp(c),b={a:function(t){return a[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return u[t.getMonth()]},c:null,d:Hp,e:Hp,f:$p,H:jp,I:Xp,j:Gp,L:Vp,m:Wp,M:Zp,p:function(t){return i[+(t.getHours()>=12)]},Q:Nv,s:Av,S:Qp,u:Kp,U:Jp,V:tv,w:nv,W:ev,x:null,X:null,y:rv,Y:iv,Z:ov,"%":Mv},m={a:function(t){return a[t.getUTCDay()]},A:function(t){return o[t.getUTCDay()]},b:function(t){return c[t.getUTCMonth()]},B:function(t){return u[t.getUTCMonth()]},c:null,d:av,e:av,f:lv,H:uv,I:cv,j:fv,L:sv,m:hv,M:dv,p:function(t){return i[+(t.getUTCHours()>=12)]},Q:Nv,s:Av,S:pv,u:vv,U:gv,V:yv,w:_v,W:bv,x:null,X:null,y:mv,Y:xv,Z:wv,"%":Mv},x={a:function(t,n,e){var r=d.exec(n.slice(e));return r?(t.w=p[r[0].toLowerCase()],e+r[0].length):-1},A:function(t,n,e){var r=l.exec(n.slice(e));return r?(t.w=h[r[0].toLowerCase()],e+r[0].length):-1},b:function(t,n,e){var r=y.exec(n.slice(e));return r?(t.m=_[r[0].toLowerCase()],e+r[0].length):-1},B:function(t,n,e){var r=v.exec(n.slice(e));return r?(t.m=g[r[0].toLowerCase()],e+r[0].length):-1},c:function(t,e,r){return N(t,n,e,r)},d:Rp,e:Rp,f:Bp,H:qp,I:qp,j:Dp,L:Op,m:zp,M:Lp,p:function(t,n,e){var r=f.exec(n.slice(e));return r?(t.p=s[r[0].toLowerCase()],e+r[0].length):-1},Q:Fp,s:Ip,S:Up,u:Ap,U:Tp,V:Sp,w:Np,W:kp,x:function(t,n,r){return N(t,e,n,r)},X:function(t,n,e){return N(t,r,n,e)},y:Cp,Y:Ep,Z:Pp,"%":Yp};function w(t,n){return function(e){var r,i,o,a=[],u=-1,c=0,f=t.length;for(e instanceof Date||(e=new Date(+e));++u53)return null;"w"in o||(o.w=1),"Z"in o?(i=(r=hp(dp(o.y))).getUTCDay(),r=i>4||0===i?$d.ceil(r):$d(r),r=jd.offset(r,7*(o.V-1)),o.y=r.getUTCFullYear(),o.m=r.getUTCMonth(),o.d=r.getUTCDate()+(o.w+6)%7):(i=(r=n(dp(o.y))).getDay(),r=i>4||0===i?Md.ceil(r):Md(r),r=bd.offset(r,7*(o.V-1)),o.y=r.getFullYear(),o.m=r.getMonth(),o.d=r.getDate()+(o.w+6)%7)}else("W"in o||"U"in o)&&("w"in o||(o.w="u"in o?o.u%7:"W"in o?1:0),i="Z"in o?hp(dp(o.y)).getUTCDay():n(dp(o.y)).getDay(),o.m=0,o.d="W"in o?(o.w+6)%7+7*o.W-(i+5)%7:o.w+7*o.U-(i+6)%7);return"Z"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,hp(o)):n(o)}}function N(t,n,e,r){for(var i,o,a=0,u=n.length,c=e.length;a=c)return-1;if(37===(i=n.charCodeAt(a++))){if(i=n.charAt(a++),!(o=x[i in gp?n.charAt(a++):i])||(r=o(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}return b.x=w(e,b),b.X=w(r,b),b.c=w(n,b),m.x=w(e,m),m.X=w(r,m),m.c=w(n,m),{format:function(t){var n=w(t+="",b);return n.toString=function(){return t},n},parse:function(t){var n=M(t+="",lp);return n.toString=function(){return t},n},utcFormat:function(t){var n=w(t+="",m);return n.toString=function(){return t},n},utcParse:function(t){var n=M(t,hp);return n.toString=function(){return t},n}}}var vp,gp={"-":"",_:" ",0:"0"},yp=/^\s*\d+/,_p=/^%/,bp=/[\\^$*+?|[\]().{}]/g;function mp(t,n,e){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o68?1900:2e3),e+r[0].length):-1}function Pp(t,n,e){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(n.slice(e,e+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),e+r[0].length):-1}function zp(t,n,e){var r=yp.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function Rp(t,n,e){var r=yp.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function Dp(t,n,e){var r=yp.exec(n.slice(e,e+3));return r?(t.m=0,t.d=+r[0],e+r[0].length):-1}function qp(t,n,e){var r=yp.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function Lp(t,n,e){var r=yp.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function Up(t,n,e){var r=yp.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function Op(t,n,e){var r=yp.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function Bp(t,n,e){var r=yp.exec(n.slice(e,e+6));return r?(t.L=Math.floor(r[0]/1e3),e+r[0].length):-1}function Yp(t,n,e){var r=_p.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function Fp(t,n,e){var r=yp.exec(n.slice(e));return r?(t.Q=+r[0],e+r[0].length):-1}function Ip(t,n,e){var r=yp.exec(n.slice(e));return r?(t.Q=1e3*+r[0],e+r[0].length):-1}function Hp(t,n){return mp(t.getDate(),n,2)}function jp(t,n){return mp(t.getHours(),n,2)}function Xp(t,n){return mp(t.getHours()%12||12,n,2)}function Gp(t,n){return mp(1+bd.count(Od(t),t),n,3)}function Vp(t,n){return mp(t.getMilliseconds(),n,3)}function $p(t,n){return Vp(t,n)+"000"}function Wp(t,n){return mp(t.getMonth()+1,n,2)}function Zp(t,n){return mp(t.getMinutes(),n,2)}function Qp(t,n){return mp(t.getSeconds(),n,2)}function Kp(t){var n=t.getDay();return 0===n?7:n}function Jp(t,n){return mp(wd.count(Od(t),t),n,2)}function tv(t,n){var e=t.getDay();return t=e>=4||0===e?Td(t):Td.ceil(t),mp(Td.count(Od(t),t)+(4===Od(t).getDay()),n,2)}function nv(t){return t.getDay()}function ev(t,n){return mp(Md.count(Od(t),t),n,2)}function rv(t,n){return mp(t.getFullYear()%100,n,2)}function iv(t,n){return mp(t.getFullYear()%1e4,n,4)}function ov(t){var n=t.getTimezoneOffset();return(n>0?"-":(n*=-1,"+"))+mp(n/60|0,"0",2)+mp(n%60,"0",2)}function av(t,n){return mp(t.getUTCDate(),n,2)}function uv(t,n){return mp(t.getUTCHours(),n,2)}function cv(t,n){return mp(t.getUTCHours()%12||12,n,2)}function fv(t,n){return mp(1+jd.count(fp(t),t),n,3)}function sv(t,n){return mp(t.getUTCMilliseconds(),n,3)}function lv(t,n){return sv(t,n)+"000"}function hv(t,n){return mp(t.getUTCMonth()+1,n,2)}function dv(t,n){return mp(t.getUTCMinutes(),n,2)}function pv(t,n){return mp(t.getUTCSeconds(),n,2)}function vv(t){var n=t.getUTCDay();return 0===n?7:n}function gv(t,n){return mp(Vd.count(fp(t),t),n,2)}function yv(t,n){var e=t.getUTCDay();return t=e>=4||0===e?Qd(t):Qd.ceil(t),mp(Qd.count(fp(t),t)+(4===fp(t).getUTCDay()),n,2)}function _v(t){return t.getUTCDay()}function bv(t,n){return mp($d.count(fp(t),t),n,2)}function mv(t,n){return mp(t.getUTCFullYear()%100,n,2)}function xv(t,n){return mp(t.getUTCFullYear()%1e4,n,4)}function wv(){return"+0000"}function Mv(){return"%"}function Nv(t){return+t}function Av(t){return Math.floor(+t/1e3)}function Tv(n){return vp=pp(n),t.timeFormat=vp.format,t.timeParse=vp.parse,t.utcFormat=vp.utcFormat,t.utcParse=vp.utcParse,vp}Tv({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var Sv=Date.prototype.toISOString?function(t){return t.toISOString()}:t.utcFormat("%Y-%m-%dT%H:%M:%S.%LZ");var kv=+new Date("2000-01-01T00:00:00.000Z")?function(t){var n=new Date(t);return isNaN(n)?null:n}:t.utcParse("%Y-%m-%dT%H:%M:%S.%LZ"),Ev=1e3,Cv=60*Ev,Pv=60*Cv,zv=24*Pv,Rv=7*zv,Dv=30*zv,qv=365*zv;function Lv(t){return new Date(t)}function Uv(t){return t instanceof Date?+t:+new Date(+t)}function Ov(t,n,r,i,o,a,u,c,f){var s=Fh(Dh,Dh),l=s.invert,h=s.domain,d=f(".%L"),p=f(":%S"),v=f("%I:%M"),g=f("%I %p"),y=f("%a %d"),_=f("%b %d"),b=f("%B"),m=f("%Y"),x=[[u,1,Ev],[u,5,5*Ev],[u,15,15*Ev],[u,30,30*Ev],[a,1,Cv],[a,5,5*Cv],[a,15,15*Cv],[a,30,30*Cv],[o,1,Pv],[o,3,3*Pv],[o,6,6*Pv],[o,12,12*Pv],[i,1,zv],[i,2,2*zv],[r,1,Rv],[n,1,Dv],[n,3,3*Dv],[t,1,qv]];function M(e){return(u(e)=1?Ny:t<=-1?-Ny:Math.asin(t)}function Sy(t){return t.innerRadius}function ky(t){return t.outerRadius}function Ey(t){return t.startAngle}function Cy(t){return t.endAngle}function Py(t){return t&&t.padAngle}function zy(t,n,e,r,i,o,a){var u=t-e,c=n-r,f=(a?o:-o)/xy(u*u+c*c),s=f*c,l=-f*u,h=t+s,d=n+l,p=e+s,v=r+l,g=(h+p)/2,y=(d+v)/2,_=p-h,b=v-d,m=_*_+b*b,x=i-o,w=h*v-p*d,M=(b<0?-1:1)*xy(_y(0,x*x*m-w*w)),N=(w*b-_*M)/m,A=(-w*_-b*M)/m,T=(w*b+_*M)/m,S=(-w*_+b*M)/m,k=N-g,E=A-y,C=T-g,P=S-y;return k*k+E*E>C*C+P*P&&(N=T,A=S),{cx:N,cy:A,x01:-s,y01:-l,x11:N*(i/x-1),y11:A*(i/x-1)}}function Ry(t){this._context=t}function Dy(t){return new Ry(t)}function qy(t){return t[0]}function Ly(t){return t[1]}function Uy(){var t=qy,n=Ly,e=py(!0),r=null,i=Dy,o=null;function a(a){var u,c,f,s=a.length,l=!1;for(null==r&&(o=i(f=to())),u=0;u<=s;++u)!(u=s;--l)u.point(g[l],y[l]);u.lineEnd(),u.areaEnd()}v&&(g[f]=+t(h,f,c),y[f]=+e(h,f,c),u.point(n?+n(h,f,c):g[f],r?+r(h,f,c):y[f]))}if(d)return u=null,d+""||null}function f(){return Uy().defined(i).curve(a).context(o)}return c.x=function(e){return arguments.length?(t="function"==typeof e?e:py(+e),n=null,c):t},c.x0=function(n){return arguments.length?(t="function"==typeof n?n:py(+n),c):t},c.x1=function(t){return arguments.length?(n=null==t?null:"function"==typeof t?t:py(+t),c):n},c.y=function(t){return arguments.length?(e="function"==typeof t?t:py(+t),r=null,c):e},c.y0=function(t){return arguments.length?(e="function"==typeof t?t:py(+t),c):e},c.y1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:py(+t),c):r},c.lineX0=c.lineY0=function(){return f().x(t).y(e)},c.lineY1=function(){return f().x(t).y(r)},c.lineX1=function(){return f().x(n).y(e)},c.defined=function(t){return arguments.length?(i="function"==typeof t?t:py(!!t),c):i},c.curve=function(t){return arguments.length?(a=t,null!=o&&(u=a(o)),c):a},c.context=function(t){return arguments.length?(null==t?o=u=null:u=a(o=t),c):o},c}function By(t,n){return nt?1:n>=t?0:NaN}function Yy(t){return t}Ry.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._context.lineTo(t,n)}}};var Fy=Hy(Dy);function Iy(t){this._curve=t}function Hy(t){function n(n){return new Iy(t(n))}return n._curve=t,n}function jy(t){var n=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?n(Hy(t)):n()._curve},t}function Xy(){return jy(Uy().curve(Fy))}function Gy(){var t=Oy().curve(Fy),n=t.curve,e=t.lineX0,r=t.lineX1,i=t.lineY0,o=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return jy(e())},delete t.lineX0,t.lineEndAngle=function(){return jy(r())},delete t.lineX1,t.lineInnerRadius=function(){return jy(i())},delete t.lineY0,t.lineOuterRadius=function(){return jy(o())},delete t.lineY1,t.curve=function(t){return arguments.length?n(Hy(t)):n()._curve},t}function Vy(t,n){return[(n=+n)*Math.cos(t-=Math.PI/2),n*Math.sin(t)]}Iy.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,n){this._curve.point(n*Math.sin(t),n*-Math.cos(t))}};var $y=Array.prototype.slice;function Wy(t){return t.source}function Zy(t){return t.target}function Qy(t){var n=Wy,e=Zy,r=qy,i=Ly,o=null;function a(){var a,u=$y.call(arguments),c=n.apply(this,u),f=e.apply(this,u);if(o||(o=a=to()),t(o,+r.apply(this,(u[0]=c,u)),+i.apply(this,u),+r.apply(this,(u[0]=f,u)),+i.apply(this,u)),a)return o=null,a+""||null}return a.source=function(t){return arguments.length?(n=t,a):n},a.target=function(t){return arguments.length?(e=t,a):e},a.x=function(t){return arguments.length?(r="function"==typeof t?t:py(+t),a):r},a.y=function(t){return arguments.length?(i="function"==typeof t?t:py(+t),a):i},a.context=function(t){return arguments.length?(o=null==t?null:t,a):o},a}function Ky(t,n,e,r,i){t.moveTo(n,e),t.bezierCurveTo(n=(n+r)/2,e,n,i,r,i)}function Jy(t,n,e,r,i){t.moveTo(n,e),t.bezierCurveTo(n,e=(e+i)/2,r,e,r,i)}function t_(t,n,e,r,i){var o=Vy(n,e),a=Vy(n,e=(e+i)/2),u=Vy(r,e),c=Vy(r,i);t.moveTo(o[0],o[1]),t.bezierCurveTo(a[0],a[1],u[0],u[1],c[0],c[1])}var n_={draw:function(t,n){var e=Math.sqrt(n/My);t.moveTo(e,0),t.arc(0,0,e,0,Ay)}},e_={draw:function(t,n){var e=Math.sqrt(n/5)/2;t.moveTo(-3*e,-e),t.lineTo(-e,-e),t.lineTo(-e,-3*e),t.lineTo(e,-3*e),t.lineTo(e,-e),t.lineTo(3*e,-e),t.lineTo(3*e,e),t.lineTo(e,e),t.lineTo(e,3*e),t.lineTo(-e,3*e),t.lineTo(-e,e),t.lineTo(-3*e,e),t.closePath()}},r_=Math.sqrt(1/3),i_=2*r_,o_={draw:function(t,n){var e=Math.sqrt(n/i_),r=e*r_;t.moveTo(0,-e),t.lineTo(r,0),t.lineTo(0,e),t.lineTo(-r,0),t.closePath()}},a_=Math.sin(My/10)/Math.sin(7*My/10),u_=Math.sin(Ay/10)*a_,c_=-Math.cos(Ay/10)*a_,f_={draw:function(t,n){var e=Math.sqrt(.8908130915292852*n),r=u_*e,i=c_*e;t.moveTo(0,-e),t.lineTo(r,i);for(var o=1;o<5;++o){var a=Ay*o/5,u=Math.cos(a),c=Math.sin(a);t.lineTo(c*e,-u*e),t.lineTo(u*r-c*i,c*r+u*i)}t.closePath()}},s_={draw:function(t,n){var e=Math.sqrt(n),r=-e/2;t.rect(r,r,e,e)}},l_=Math.sqrt(3),h_={draw:function(t,n){var e=-Math.sqrt(n/(3*l_));t.moveTo(0,2*e),t.lineTo(-l_*e,-e),t.lineTo(l_*e,-e),t.closePath()}},d_=Math.sqrt(3)/2,p_=1/Math.sqrt(12),v_=3*(p_/2+1),g_={draw:function(t,n){var e=Math.sqrt(n/v_),r=e/2,i=e*p_,o=r,a=e*p_+e,u=-o,c=a;t.moveTo(r,i),t.lineTo(o,a),t.lineTo(u,c),t.lineTo(-.5*r-d_*i,d_*r+-.5*i),t.lineTo(-.5*o-d_*a,d_*o+-.5*a),t.lineTo(-.5*u-d_*c,d_*u+-.5*c),t.lineTo(-.5*r+d_*i,-.5*i-d_*r),t.lineTo(-.5*o+d_*a,-.5*a-d_*o),t.lineTo(-.5*u+d_*c,-.5*c-d_*u),t.closePath()}},y_=[n_,e_,o_,s_,f_,h_,g_];function __(){}function b_(t,n,e){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+e)/6)}function m_(t){this._context=t}function x_(t){this._context=t}function w_(t){this._context=t}function M_(t,n){this._basis=new m_(t),this._beta=n}m_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:b_(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:b_(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},x_.prototype={areaStart:__,areaEnd:__,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:b_(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},w_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var e=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break;case 3:this._point=4;default:b_(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},M_.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,e=t.length-1;if(e>0)for(var r,i=t[0],o=n[0],a=t[e]-i,u=n[e]-o,c=-1;++c<=e;)r=c/e,this._basis.point(this._beta*t[c]+(1-this._beta)*(i+r*a),this._beta*n[c]+(1-this._beta)*(o+r*u));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var N_=function t(n){function e(t){return 1===n?new m_(t):new M_(t,n)}return e.beta=function(n){return t(+n)},e}(.85);function A_(t,n,e){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-e),t._x2,t._y2)}function T_(t,n){this._context=t,this._k=(1-n)/6}T_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:A_(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2,this._x1=t,this._y1=n;break;case 2:this._point=3;default:A_(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var S_=function t(n){function e(t){return new T_(t,n)}return e.tension=function(n){return t(+n)},e}(0);function k_(t,n){this._context=t,this._k=(1-n)/6}k_.prototype={areaStart:__,areaEnd:__,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:A_(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var E_=function t(n){function e(t){return new k_(t,n)}return e.tension=function(n){return t(+n)},e}(0);function C_(t,n){this._context=t,this._k=(1-n)/6}C_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:A_(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var P_=function t(n){function e(t){return new C_(t,n)}return e.tension=function(n){return t(+n)},e}(0);function z_(t,n,e){var r=t._x1,i=t._y1,o=t._x2,a=t._y2;if(t._l01_a>wy){var u=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*u-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,i=(i*u-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>wy){var f=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,s=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*f+t._x1*t._l23_2a-n*t._l12_2a)/s,a=(a*f+t._y1*t._l23_2a-e*t._l12_2a)/s}t._context.bezierCurveTo(r,i,o,a,t._x2,t._y2)}function R_(t,n){this._context=t,this._alpha=n}R_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3;default:z_(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var D_=function t(n){function e(t){return n?new R_(t,n):new T_(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function q_(t,n){this._context=t,this._alpha=n}q_.prototype={areaStart:__,areaEnd:__,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:z_(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var L_=function t(n){function e(t){return n?new q_(t,n):new k_(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function U_(t,n){this._context=t,this._alpha=n}U_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:z_(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var O_=function t(n){function e(t){return n?new U_(t,n):new C_(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function B_(t){this._context=t}function Y_(t){return t<0?-1:1}function F_(t,n,e){var r=t._x1-t._x0,i=n-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),a=(e-t._y1)/(i||r<0&&-0),u=(o*i+a*r)/(r+i);return(Y_(o)+Y_(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(u))||0}function I_(t,n){var e=t._x1-t._x0;return e?(3*(t._y1-t._y0)/e-n)/2:n}function H_(t,n,e){var r=t._x0,i=t._y0,o=t._x1,a=t._y1,u=(o-r)/3;t._context.bezierCurveTo(r+u,i+u*n,o-u,a-u*e,o,a)}function j_(t){this._context=t}function X_(t){this._context=new G_(t)}function G_(t){this._context=t}function V_(t){this._context=t}function $_(t){var n,e,r=t.length-1,i=new Array(r),o=new Array(r),a=new Array(r);for(i[0]=0,o[0]=2,a[0]=t[0]+2*t[1],n=1;n=0;--n)i[n]=(a[n]-i[n+1])/o[n];for(o[r-1]=(t[r]+i[r-1])/2,n=0;n1)for(var e,r,i,o=1,a=t[n[0]],u=a.length;o=0;)e[n]=n;return e}function K_(t,n){return t[n]}function J_(t){var n=t.map(tb);return Q_(t).sort(function(t,e){return n[t]-n[e]})}function tb(t){for(var n,e=-1,r=0,i=t.length,o=-1/0;++eo&&(o=n,r=e);return r}function nb(t){var n=t.map(eb);return Q_(t).sort(function(t,e){return n[t]-n[e]})}function eb(t){for(var n,e=0,r=-1,i=t.length;++r0)){if(o/=h,h<0){if(o0){if(o>l)return;o>s&&(s=o)}if(o=r-c,h||!(o<0)){if(o/=h,h<0){if(o>l)return;o>s&&(s=o)}else if(h>0){if(o0)){if(o/=d,d<0){if(o0){if(o>l)return;o>s&&(s=o)}if(o=i-f,d||!(o<0)){if(o/=d,d<0){if(o>l)return;o>s&&(s=o)}else if(d>0){if(o0||l<1)||(s>0&&(t[0]=[c+s*h,f+s*d]),l<1&&(t[1]=[c+l*h,f+l*d]),!0)}}}}}function vb(t,n,e,r,i){var o=t[1];if(o)return!0;var a,u,c=t[0],f=t.left,s=t.right,l=f[0],h=f[1],d=s[0],p=s[1],v=(l+d)/2,g=(h+p)/2;if(p===h){if(v=r)return;if(l>d){if(c){if(c[1]>=i)return}else c=[v,e];o=[v,i]}else{if(c){if(c[1]1)if(l>d){if(c){if(c[1]>=i)return}else c=[(e-u)/a,e];o=[(i-u)/a,i]}else{if(c){if(c[1]=r)return}else c=[n,a*n+u];o=[r,a*r+u]}else{if(c){if(c[0]=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var e=this._x*(1-this._t)+t*this._t;this._context.lineTo(e,this._y),this._context.lineTo(e,n)}}this._x=t,this._y=n}},ab.prototype={constructor:ab,insert:function(t,n){var e,r,i;if(t){if(n.P=t,n.N=t.N,t.N&&(t.N.P=n),t.N=n,t.R){for(t=t.R;t.L;)t=t.L;t.L=n}else t.R=n;e=t}else this._?(t=sb(this._),n.P=null,n.N=t,t.P=t.L=n,e=t):(n.P=n.N=null,this._=n,e=null);for(n.L=n.R=null,n.U=e,n.C=!0,t=n;e&&e.C;)e===(r=e.U).L?(i=r.R)&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.R&&(cb(this,e),e=(t=e).U),e.C=!1,r.C=!0,fb(this,r)):(i=r.L)&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.L&&(fb(this,e),e=(t=e).U),e.C=!1,r.C=!0,cb(this,r)),e=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var n,e,r,i=t.U,o=t.L,a=t.R;if(e=o?a?sb(a):o:a,i?i.L===t?i.L=e:i.R=e:this._=e,o&&a?(r=e.C,e.C=t.C,e.L=o,o.U=e,e!==a?(i=e.U,e.U=t.U,t=e.R,i.L=t,e.R=a,a.U=e):(e.U=i,i=e,t=e.R)):(r=t.C,t=e),t&&(t.U=i),!r)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((n=i.R).C&&(n.C=!1,i.C=!0,cb(this,i),n=i.R),n.L&&n.L.C||n.R&&n.R.C){n.R&&n.R.C||(n.L.C=!1,n.C=!0,fb(this,n),n=i.R),n.C=i.C,i.C=n.R.C=!1,cb(this,i),t=this._;break}}else if((n=i.L).C&&(n.C=!1,i.C=!0,fb(this,i),n=i.L),n.L&&n.L.C||n.R&&n.R.C){n.L&&n.L.C||(n.R.C=!1,n.C=!0,cb(this,n),n=i.L),n.C=i.C,i.C=n.L.C=!1,fb(this,i),t=this._;break}n.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}};var bb,mb=[];function xb(){ub(this),this.x=this.y=this.arc=this.site=this.cy=null}function wb(t){var n=t.P,e=t.N;if(n&&e){var r=n.site,i=t.site,o=e.site;if(r!==o){var a=i[0],u=i[1],c=r[0]-a,f=r[1]-u,s=o[0]-a,l=o[1]-u,h=2*(c*l-f*s);if(!(h>=-Ub)){var d=c*c+f*f,p=s*s+l*l,v=(l*d-f*p)/h,g=(c*p-s*d)/h,y=mb.pop()||new xb;y.arc=t,y.site=i,y.x=v+a,y.y=(y.cy=g+u)+Math.sqrt(v*v+g*g),t.circle=y;for(var _=null,b=Db._;b;)if(y.yLb)u=u.L;else{if(!((i=o-Pb(u,a))>Lb)){r>-Lb?(n=u.P,e=u):i>-Lb?(n=u,e=u.N):n=e=u;break}if(!u.R){n=u;break}u=u.R}!function(t){Rb[t.index]={site:t,halfedges:[]}}(t);var c=Tb(t);if(zb.insert(n,c),n||e){if(n===e)return Mb(n),e=Tb(n.site),zb.insert(c,e),c.edge=e.edge=lb(n.site,c.site),wb(n),void wb(e);if(e){Mb(n),Mb(e);var f=n.site,s=f[0],l=f[1],h=t[0]-s,d=t[1]-l,p=e.site,v=p[0]-s,g=p[1]-l,y=2*(h*g-d*v),_=h*h+d*d,b=v*v+g*g,m=[(g*_-d*b)/y+s,(h*b-v*_)/y+l];db(e.edge,f,p,m),c.edge=lb(f,t,null,m),e.edge=lb(t,p,null,m),wb(n),wb(e)}else c.edge=lb(n.site,c.site)}}function Cb(t,n){var e=t.site,r=e[0],i=e[1],o=i-n;if(!o)return r;var a=t.P;if(!a)return-1/0;var u=(e=a.site)[0],c=e[1],f=c-n;if(!f)return u;var s=u-r,l=1/o-1/f,h=s/f;return l?(-h+Math.sqrt(h*h-2*l*(s*s/(-2*f)-c+f/2+i-o/2)))/l+r:(r+u)/2}function Pb(t,n){var e=t.N;if(e)return Cb(e,n);var r=t.site;return r[1]===n?r[0]:1/0}var zb,Rb,Db,qb,Lb=1e-6,Ub=1e-12;function Ob(t,n,e){return(t[0]-e[0])*(n[1]-t[1])-(t[0]-n[0])*(e[1]-t[1])}function Bb(t,n){return n[1]-t[1]||n[0]-t[0]}function Yb(t,n){var e,r,i,o=t.sort(Bb).pop();for(qb=[],Rb=new Array(t.length),zb=new ab,Db=new ab;;)if(i=bb,o&&(!i||o[1]Lb||Math.abs(i[0][1]-i[1][1])>Lb)||delete qb[o]}(a,u,c,f),function(t,n,e,r){var i,o,a,u,c,f,s,l,h,d,p,v,g=Rb.length,y=!0;for(i=0;iLb||Math.abs(v-h)>Lb)&&(c.splice(u,0,qb.push(hb(a,d,Math.abs(p-t)Lb?[t,Math.abs(l-t)Lb?[Math.abs(h-r)Lb?[e,Math.abs(l-e)Lb?[Math.abs(h-n)=u)return null;var c=t-i.site[0],f=n-i.site[1],s=c*c+f*f;do{i=o.cells[r=a],a=null,i.halfedges.forEach(function(e){var r=o.edges[e],u=r.left;if(u!==i.site&&u||(u=r.right)){var c=t-u[0],f=n-u[1],l=c*c+f*f;lr?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}Xb.prototype=Hb.prototype,t.FormatSpecifier=Ra,t.active=function(t,n){var e,r,i=t.__transition;if(i)for(r in n=null==n?null:n+"",i)if((e=i[r]).state>mr&&e.name===n)return new Lr([[t]],gi,n,+r);return null},t.arc=function(){var t=Sy,n=ky,e=py(0),r=null,i=Ey,o=Cy,a=Py,u=null;function c(){var c,f,s=+t.apply(this,arguments),l=+n.apply(this,arguments),h=i.apply(this,arguments)-Ny,d=o.apply(this,arguments)-Ny,p=vy(d-h),v=d>h;if(u||(u=c=to()),lwy)if(p>Ay-wy)u.moveTo(l*yy(h),l*my(h)),u.arc(0,0,l,h,d,!v),s>wy&&(u.moveTo(s*yy(d),s*my(d)),u.arc(0,0,s,d,h,v));else{var g,y,_=h,b=d,m=h,x=d,w=p,M=p,N=a.apply(this,arguments)/2,A=N>wy&&(r?+r.apply(this,arguments):xy(s*s+l*l)),T=by(vy(l-s)/2,+e.apply(this,arguments)),S=T,k=T;if(A>wy){var E=Ty(A/s*my(N)),C=Ty(A/l*my(N));(w-=2*E)>wy?(m+=E*=v?1:-1,x-=E):(w=0,m=x=(h+d)/2),(M-=2*C)>wy?(_+=C*=v?1:-1,b-=C):(M=0,_=b=(h+d)/2)}var P=l*yy(_),z=l*my(_),R=s*yy(x),D=s*my(x);if(T>wy){var q,L=l*yy(b),U=l*my(b),O=s*yy(m),B=s*my(m);if(p1?0:t<-1?My:Math.acos(t)}((Y*I+F*H)/(xy(Y*Y+F*F)*xy(I*I+H*H)))/2),X=xy(q[0]*q[0]+q[1]*q[1]);S=by(T,(s-X)/(j-1)),k=by(T,(l-X)/(j+1))}}M>wy?k>wy?(g=zy(O,B,P,z,l,k,v),y=zy(L,U,R,D,l,k,v),u.moveTo(g.cx+g.x01,g.cy+g.y01),kwy&&w>wy?S>wy?(g=zy(R,D,L,U,s,-S,v),y=zy(P,z,O,B,s,-S,v),u.lineTo(g.cx+g.x01,g.cy+g.y01),S>a,f=i+2*u>>a,s=_o(20);function l(r){var i=new Float32Array(c*f),l=new Float32Array(c*f);r.forEach(function(r,o,s){var l=+t(r,o,s)+u>>a,h=+n(r,o,s)+u>>a,d=+e(r,o,s);l>=0&&l=0&&h>a),To({width:c,height:f,data:l},{width:c,height:f,data:i},o>>a),Ao({width:c,height:f,data:i},{width:c,height:f,data:l},o>>a),To({width:c,height:f,data:l},{width:c,height:f,data:i},o>>a),Ao({width:c,height:f,data:i},{width:c,height:f,data:l},o>>a),To({width:c,height:f,data:l},{width:c,height:f,data:i},o>>a);var d=s(i);if(!Array.isArray(d)){var p=A(i);d=w(0,p,d),(d=g(0,Math.floor(p/d)*d,d)).shift()}return No().thresholds(d).size([c,f])(i).map(h)}function h(t){return t.value*=Math.pow(2,-2*a),t.coordinates.forEach(d),t}function d(t){t.forEach(p)}function p(t){t.forEach(v)}function v(t){t[0]=t[0]*Math.pow(2,a)-u,t[1]=t[1]*Math.pow(2,a)-u}function y(){return c=r+2*(u=3*o)>>a,f=i+2*u>>a,l}return l.x=function(n){return arguments.length?(t="function"==typeof n?n:_o(+n),l):t},l.y=function(t){return arguments.length?(n="function"==typeof t?t:_o(+t),l):n},l.weight=function(t){return arguments.length?(e="function"==typeof t?t:_o(+t),l):e},l.size=function(t){if(!arguments.length)return[r,i];var n=Math.ceil(t[0]),e=Math.ceil(t[1]);if(!(n>=0||n>=0))throw new Error("invalid size");return r=n,i=e,y()},l.cellSize=function(t){if(!arguments.length)return 1<=1))throw new Error("invalid cell size");return a=Math.floor(Math.log(t)/Math.LN2),y()},l.thresholds=function(t){return arguments.length?(s="function"==typeof t?t:Array.isArray(t)?_o(go.call(t)):_o(t),l):s},l.bandwidth=function(t){if(!arguments.length)return Math.sqrt(o*(o+1));if(!((t=+t)>=0))throw new Error("invalid bandwidth");return o=Math.round((Math.sqrt(4*t*t+1)-1)/2),y()},l},t.contours=No,t.create=function(t){return Rt(Z(t).call(document.documentElement))},t.creator=Z,t.cross=function(t,n,e){var r,i,o,u,c=t.length,f=n.length,s=new Array(c*f);for(null==e&&(e=a),r=o=0;rt?1:n>=t?0:NaN},t.deviation=f,t.dispatch=I,t.drag=function(){var n,e,r,i,o=Vt,a=$t,u=Wt,c=Zt,f={},s=I("start","drag","end"),l=0,h=0;function d(t){t.on("mousedown.drag",p).filter(c).on("touchstart.drag",y).on("touchmove.drag",_).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(){if(!i&&o.apply(this,arguments)){var u=m("mouse",a.apply(this,arguments),Bt,this,arguments);u&&(Rt(t.event.view).on("mousemove.drag",v,!0).on("mouseup.drag",g,!0),Ht(t.event.view),Ft(),r=!1,n=t.event.clientX,e=t.event.clientY,u("start"))}}function v(){if(It(),!r){var i=t.event.clientX-n,o=t.event.clientY-e;r=i*i+o*o>h}f.mouse("drag")}function g(){Rt(t.event.view).on("mousemove.drag mouseup.drag",null),jt(t.event.view,r),It(),f.mouse("end")}function y(){if(o.apply(this,arguments)){var n,e,r=t.event.changedTouches,i=a.apply(this,arguments),u=r.length;for(n=0;nc+d||if+d||ou.index){var p=c-a.x-a.vx,v=f-a.y-a.vy,g=p*p+v*v;gt.r&&(t.r=t[n].r)}function u(){if(n){var r,i,o=n.length;for(e=new Array(o),r=0;r=a)){(t.data!==n||t.next)&&(0===s&&(d+=(s=la())*s),0===l&&(d+=(l=la())*l),d1?(null==e?u.remove(t):u.set(t,d(e)),n):u.get(t)},find:function(n,e,r){var i,o,a,u,c,f=0,s=t.length;for(null==r?r=1/0:r*=r,f=0;f1?(f.on(t,e),n):f.on(t)}}},t.forceX=function(t){var n,e,r,i=sa(.1);function o(t){for(var i,o=0,a=n.length;o=.12&&i<.234&&r>=-.425&&r<-.214?u:i>=.166&&i<.234&&r>=-.214&&r<-.115?c:a).invert(t)},s.stream=function(e){return t&&n===e?t:(r=[a.stream(n=e),u.stream(e),c.stream(e)],i=r.length,t={point:function(t,n){for(var e=-1;++eAc(r[0],r[1])&&(r[1]=i[1]),Ac(i[0],r[1])>Ac(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(a=-1/0,n=0,r=o[e=o.length-1];n<=e;r=i,++n)i=o[n],(u=Ac(r[1],i[0]))>a&&(a=u,ju=i[0],Gu=r[1])}return Ku=Ju=null,ju===1/0||Xu===1/0?[[NaN,NaN],[NaN,NaN]]:[[ju,Xu],[Gu,Vu]]},t.geoCentroid=function(t){tc=nc=ec=rc=ic=oc=ac=uc=cc=fc=sc=0,Nu(t,kc);var n=cc,e=fc,r=sc,i=n*n+e*e+r*r;return i2?t[2]+90:90]):[(t=e())[0],t[1],t[2]-90]},e([0,0,90]).scale(159.155)},t.geoTransverseMercatorRaw=_l,t.gray=function(t,n){return new Yn(t,0,0,null==n?1:n)},t.hcl=Gn,t.hierarchy=Ml,t.histogram=function(){var t=v,n=s,e=M;function r(r){var o,a,u=r.length,c=new Array(u);for(o=0;ol;)h.pop(),--d;var p,v=new Array(d+1);for(o=0;o<=d;++o)(p=v[o]=[]).x0=o>0?h[o-1]:s,p.x1=o1)&&(t-=Math.floor(t));var n=Math.abs(t-.5);return oy.h=360*t-100,oy.s=1.5-1.5*n,oy.l=.8-.9*n,oy+""},t.interpolateRdBu=lg,t.interpolateRdGy=dg,t.interpolateRdPu=qg,t.interpolateRdYlBu=vg,t.interpolateRdYlGn=yg,t.interpolateReds=Jg,t.interpolateRgb=de,t.interpolateRgbBasis=ve,t.interpolateRgbBasisClosed=ge,t.interpolateRound=Ae,t.interpolateSinebow=function(t){var n;return t=(.5-t)*Math.PI,ay.r=255*(n=Math.sin(t))*n,ay.g=255*(n=Math.sin(t+uy))*n,ay.b=255*(n=Math.sin(t+cy))*n,ay+""},t.interpolateSpectral=bg,t.interpolateString=Me,t.interpolateTransformCss=De,t.interpolateTransformSvg=qe,t.interpolateTurbo=function(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+t*(1172.33-t*(10793.56-t*(33300.12-t*(38394.49-14825.05*t)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+t*(557.33+t*(1225.33-t*(3574.96-t*(1073.77+707.56*t)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+t*(3211.1-t*(15327.97-t*(27814-t*(22569.18-6838.66*t)))))))+")"},t.interpolateViridis=sy,t.interpolateWarm=ry,t.interpolateYlGn=Bg,t.interpolateYlGnBu=Ug,t.interpolateYlOrBr=Fg,t.interpolateYlOrRd=Hg,t.interpolateZoom=Fe,t.interrupt=Cr,t.interval=function(t,n,e){var r=new sr,i=n;return null==n?(r.restart(t,n,e),r):(n=+n,e=null==e?cr():+e,r.restart(function o(a){a+=i,r.restart(o,i+=n,e),t(a)},n,e),r)},t.isoFormat=Sv,t.isoParse=kv,t.json=function(t,n){return fetch(t,n).then(oa)},t.keys=function(t){var n=[];for(var e in t)n.push(e);return n},t.lab=Bn,t.lch=function(t,n,e,r){return 1===arguments.length?Xn(t):new Vn(e,n,t,null==r?1:r)},t.line=Uy,t.lineRadial=Xy,t.linkHorizontal=function(){return Qy(Ky)},t.linkRadial=function(){var t=Qy(t_);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t},t.linkVertical=function(){return Qy(Jy)},t.local=qt,t.map=uo,t.matcher=nt,t.max=A,t.mean=function(t,n){var e,r=t.length,i=r,o=-1,a=0;if(null==n)for(;++o=r.length)return null!=t&&e.sort(t),null!=n?n(e):e;for(var c,f,s,l=-1,h=e.length,d=r[i++],p=uo(),v=a();++lr.length)return e;var a,u=i[o-1];return null!=n&&o>=r.length?a=e.entries():(a=[],e.each(function(n,e){a.push({key:e,values:t(n,o)})})),null!=u?a.sort(function(t,n){return u(t.key,n.key)}):a}(o(t,0,so,lo),0)},key:function(t){return r.push(t),e},sortKeys:function(t){return i[r.length-1]=t,e},sortValues:function(n){return t=n,e},rollup:function(t){return n=t,e}}},t.now=cr,t.pack=function(){var t=null,n=1,e=1,r=jl;function i(i){return i.x=n/2,i.y=e/2,t?i.eachBefore(Vl(t)).eachAfter($l(r,.5)).eachBefore(Wl(1)):i.eachBefore(Vl(Gl)).eachAfter($l(jl,1)).eachAfter($l(r,i.r/Math.min(n,e))).eachBefore(Wl(Math.min(n,e)/(2*i.r))),i}return i.radius=function(n){return arguments.length?(t=Il(n),i):t},i.size=function(t){return arguments.length?(n=+t[0],e=+t[1],i):[n,e]},i.padding=function(t){return arguments.length?(r="function"==typeof t?t:Xl(+t),i):r},i},t.packEnclose=El,t.packSiblings=function(t){return Fl(t),t},t.pairs=function(t,n){null==n&&(n=a);for(var e=0,r=t.length-1,i=t[0],o=new Array(r<0?0:r);e0&&(d+=l);for(null!=n?p.sort(function(t,e){return n(v[t],v[e])}):null!=e&&p.sort(function(t,n){return e(a[t],a[n])}),u=0,f=d?(y-h*b)/d:0;u0?l*f:0)+b,v[c]={data:a[c],index:u,value:l,startAngle:g,endAngle:s,padAngle:_};return v}return a.value=function(n){return arguments.length?(t="function"==typeof n?n:py(+n),a):t},a.sortValues=function(t){return arguments.length?(n=t,e=null,a):n},a.sort=function(t){return arguments.length?(e=t,n=null,a):e},a.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:py(+t),a):r},a.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:py(+t),a):i},a.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:py(+t),a):o},a},t.piecewise=function(t,n){for(var e=0,r=n.length-1,i=n[0],o=new Array(r<0?0:r);eu!=f>u&&a<(c-e)*(u-r)/(f-r)+e&&(s=!s),c=e,f=r;return s},t.polygonHull=function(t){if((e=t.length)<3)return null;var n,e,r=new Array(e),i=new Array(e);for(n=0;n=0;--n)f.push(t[r[o[n]][2]]);for(n=+u;n0?a[n-1]:r[0],n=o?[a[o-1],r]:[a[n-1],a[n]]},c.unknown=function(t){return arguments.length?(n=t,c):c},c.thresholds=function(){return a.slice()},c.copy=function(){return t().domain([e,r]).range(u).unknown(n)},Nh.apply(Hh(c),arguments)},t.scaleSequential=function t(){var n=Hh(Bv()(Dh));return n.copy=function(){return Yv(n,t())},Ah.apply(n,arguments)},t.scaleSequentialLog=function t(){var n=Qh(Bv()).domain([1,10]);return n.copy=function(){return Yv(n,t()).base(n.base())},Ah.apply(n,arguments)},t.scaleSequentialPow=Fv,t.scaleSequentialQuantile=function t(){var e=[],r=Dh;function o(t){if(!isNaN(t=+t))return r((i(e,t)-1)/(e.length-1))}return o.domain=function(t){if(!arguments.length)return e.slice();e=[];for(var r,i=0,a=t.length;i0)for(var e,r,i,o,a,u,c=0,f=t[n[0]].length;c=0?(r[0]=o,r[1]=o+=i):i<0?(r[1]=a,r[0]=a+=i):r[0]=o},t.stackOffsetExpand=function(t,n){if((r=t.length)>0){for(var e,r,i,o=0,a=t[0].length;o0){for(var e,r=0,i=t[n[0]],o=i.length;r0&&(r=(e=t[n[0]]).length)>0){for(var e,r,i,o=0,a=1;a0)throw new Error("cycle");return o}return e.id=function(n){return arguments.length?(t=Hl(n),e):t},e.parentId=function(t){return arguments.length?(n=Hl(t),e):n},e},t.style=ft,t.sum=function(t,n){var e,r=t.length,i=-1,o=0;if(null==n)for(;++i=0;--i)u.push(e=n.children[i]=new ch(r[i],i)),e.parent=n;return(a.parent=new ch(null,0)).children=[a],a}(i);if(c.eachAfter(o),c.parent.m=-c.z,c.eachBefore(a),r)i.eachBefore(u);else{var f=i,s=i,l=i;i.eachBefore(function(t){t.xs.x&&(s=t),t.depth>l.depth&&(l=t)});var h=f===s?1:t(f,s)/2,d=h-f.x,p=n/(s.x+h+d),v=e/(l.depth||1);i.eachBefore(function(t){t.x=(t.x+d)*p,t.y=t.depth*v})}return i}function o(n){var e=n.children,r=n.parent.children,i=n.i?r[n.i-1]:null;if(e){!function(t){for(var n,e=0,r=0,i=t.children,o=i.length;--o>=0;)(n=i[o]).z+=e,n.m+=e,e+=n.s+(r+=n.c)}(n);var o=(e[0].z+e[e.length-1].z)/2;i?(n.z=i.z+t(n._,i._),n.m=n.z-o):n.z=o}else i&&(n.z=i.z+t(n._,i._));n.parent.A=function(n,e,r){if(e){for(var i,o=n,a=n,u=e,c=o.parent.children[0],f=o.m,s=a.m,l=u.m,h=c.m;u=oh(u),o=ih(o),u&&o;)c=ih(c),(a=oh(a)).a=n,(i=u.z+l-o.z-f+t(u._,o._))>0&&(ah(uh(u,n,r),n,i),f+=i,s+=i),l+=u.m,f+=o.m,h+=c.m,s+=a.m;u&&!oh(a)&&(a.t=u,a.m+=l-s),o&&!ih(c)&&(c.t=o,c.m+=f-h,r=n)}return r}(n,i,n.parent.A||r[0])}function a(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function u(t){t.x*=n,t.y=t.depth*e}return i.separation=function(n){return arguments.length?(t=n,i):t},i.size=function(t){return arguments.length?(r=!1,n=+t[0],e=+t[1],i):r?null:[n,e]},i.nodeSize=function(t){return arguments.length?(r=!0,n=+t[0],e=+t[1],i):r?[n,e]:null},i},t.treemap=function(){var t=hh,n=!1,e=1,r=1,i=[0],o=jl,a=jl,u=jl,c=jl,f=jl;function s(t){return t.x0=t.y0=0,t.x1=e,t.y1=r,t.eachBefore(l),i=[0],n&&t.eachBefore(Zl),t}function l(n){var e=i[n.depth],r=n.x0+e,s=n.y0+e,l=n.x1-e,h=n.y1-e;l=e-1){var s=u[n];return s.x0=i,s.y0=o,s.x1=a,void(s.y1=c)}for(var l=f[n],h=r/2+l,d=n+1,p=e-1;d>>1;f[v]c-o){var _=(i*y+a*g)/r;t(n,d,g,i,o,_,c),t(d,e,y,_,o,a,c)}else{var b=(o*y+c*g)/r;t(n,d,g,i,o,a,b),t(d,e,y,i,b,a,c)}}(0,c,t.value,n,e,r,i)},t.treemapDice=Ql,t.treemapResquarify=dh,t.treemapSlice=fh,t.treemapSliceDice=function(t,n,e,r,i){(1&t.depth?fh:Ql)(t,n,e,r,i)},t.treemapSquarify=hh,t.tsv=ia,t.tsvFormat=Wo,t.tsvFormatBody=Zo,t.tsvFormatRows=Qo,t.tsvParse=Vo,t.tsvParseRows=$o,t.utcDay=jd,t.utcDays=Xd,t.utcFriday=Kd,t.utcFridays=op,t.utcHour=Id,t.utcHours=Hd,t.utcMillisecond=fd,t.utcMilliseconds=sd,t.utcMinute=Yd,t.utcMinutes=Fd,t.utcMonday=$d,t.utcMondays=np,t.utcMonth=up,t.utcMonths=cp,t.utcSaturday=Jd,t.utcSaturdays=ap,t.utcSecond=dd,t.utcSeconds=pd,t.utcSunday=Vd,t.utcSundays=tp,t.utcThursday=Qd,t.utcThursdays=ip,t.utcTuesday=Wd,t.utcTuesdays=ep,t.utcWednesday=Zd,t.utcWednesdays=rp,t.utcWeek=Vd,t.utcWeeks=tp,t.utcYear=fp,t.utcYears=sp,t.values=function(t){var n=[];for(var e in t)n.push(t[e]);return n},t.variance=c,t.version="5.12.0",t.voronoi=function(){var t=ib,n=ob,e=null;function r(r){return new Yb(r.map(function(e,i){var o=[Math.round(t(e,i,r)/Lb)*Lb,Math.round(n(e,i,r)/Lb)*Lb];return o.index=i,o.data=e,o}),e)}return r.polygons=function(t){return r(t).polygons()},r.links=function(t){return r(t).links()},r.triangles=function(t){return r(t).triangles()},r.x=function(n){return arguments.length?(t="function"==typeof n?n:rb(+n),r):t},r.y=function(t){return arguments.length?(n="function"==typeof t?t:rb(+t),r):n},r.extent=function(t){return arguments.length?(e=null==t?null:[[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]],r):e&&[[e[0][0],e[0][1]],[e[1][0],e[1][1]]]},r.size=function(t){return arguments.length?(e=null==t?null:[[0,0],[+t[0],+t[1]]],r):e&&[e[1][0]-e[0][0],e[1][1]-e[0][1]]},r},t.window=ct,t.xml=ua,t.zip=function(){return k(arguments)},t.zoom=function(){var n,e,r=$b,i=Wb,o=Jb,a=Qb,u=Kb,c=[0,1/0],f=[[-1/0,-1/0],[1/0,1/0]],s=250,l=Fe,h=I("start","zoom","end"),d=500,p=150,v=0;function g(t){t.property("__zoom",Zb).on("wheel.zoom",M).on("mousedown.zoom",N).on("dblclick.zoom",A).filter(u).on("touchstart.zoom",T).on("touchmove.zoom",S).on("touchend.zoom touchcancel.zoom",k).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function y(t,n){return(n=Math.max(c[0],Math.min(c[1],n)))===t.k?t:new Hb(n,t.x,t.y)}function _(t,n,e){var r=n[0]-e[0]*t.k,i=n[1]-e[1]*t.k;return r===t.x&&i===t.y?t:new Hb(t.k,r,i)}function b(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function m(t,n,e){t.on("start.zoom",function(){x(this,arguments).start()}).on("interrupt.zoom end.zoom",function(){x(this,arguments).end()}).tween("zoom",function(){var t=this,r=arguments,o=x(t,r),a=i.apply(t,r),u=null==e?b(a):"function"==typeof e?e.apply(t,r):e,c=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),f=t.__zoom,s="function"==typeof n?n.apply(t,r):n,h=l(f.invert(u).concat(c/f.k),s.invert(u).concat(c/s.k));return function(t){if(1===t)t=s;else{var n=h(t),e=c/n[2];t=new Hb(e,u[0]-n[0]*e,u[1]-n[1]*e)}o.zoom(null,t)}})}function x(t,n,e){return!e&&t.__zooming||new w(t,n)}function w(t,n){this.that=t,this.args=n,this.active=0,this.extent=i.apply(t,n),this.taps=0}function M(){if(r.apply(this,arguments)){var t=x(this,arguments),n=this.__zoom,e=Math.max(c[0],Math.min(c[1],n.k*Math.pow(2,a.apply(this,arguments)))),i=Bt(this);if(t.wheel)t.mouse[0][0]===i[0]&&t.mouse[0][1]===i[1]||(t.mouse[1]=n.invert(t.mouse[0]=i)),clearTimeout(t.wheel);else{if(n.k===e)return;t.mouse=[i,n.invert(i)],Cr(this),t.start()}Vb(),t.wheel=setTimeout(function(){t.wheel=null,t.end()},p),t.zoom("mouse",o(_(y(n,e),t.mouse[0],t.mouse[1]),t.extent,f))}}function N(){if(!e&&r.apply(this,arguments)){var n=x(this,arguments,!0),i=Rt(t.event.view).on("mousemove.zoom",function(){if(Vb(),!n.moved){var e=t.event.clientX-u,r=t.event.clientY-c;n.moved=e*e+r*r>v}n.zoom("mouse",o(_(n.that.__zoom,n.mouse[0]=Bt(n.that),n.mouse[1]),n.extent,f))},!0).on("mouseup.zoom",function(){i.on("mousemove.zoom mouseup.zoom",null),jt(t.event.view,n.moved),Vb(),n.end()},!0),a=Bt(this),u=t.event.clientX,c=t.event.clientY;Ht(t.event.view),Gb(),n.mouse=[a,this.__zoom.invert(a)],Cr(this),n.start()}}function A(){if(r.apply(this,arguments)){var n=this.__zoom,e=Bt(this),a=n.invert(e),u=n.k*(t.event.shiftKey?.5:2),c=o(_(y(n,u),e,a),i.apply(this,arguments),f);Vb(),s>0?Rt(this).transition().duration(s).call(m,c,e):Rt(this).call(g.transform,c)}}function T(){if(r.apply(this,arguments)){var e,i,o,a,u=t.event.touches,c=u.length,f=x(this,arguments,t.event.changedTouches.length===c);for(Gb(),i=0;i=0&&c0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a); +}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S),a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c1)}}),r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var _a,ab=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return T(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?_a:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),_a={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ab[b]||r.find.attr;ab[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=ab[g],ab[g]=e,e=null!=c(a,b,d)?g:null,ab[g]=f),e}});var bb=/^(?:input|select|textarea|button)$/i,cb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function db(a){var b=a.match(L)||[];return b.join(" ")}function eb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,eb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=eb(c),d=1===c.nodeType&&" "+db(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=db(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,eb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=eb(c),d=1===c.nodeType&&" "+db(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=db(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,eb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=eb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+db(eb(c))+" ").indexOf(b)>-1)return!0;return!1}});var fb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(fb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:db(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var gb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!gb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,gb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var hb=/\[\]$/,ib=/\r?\n/g,jb=/^(?:submit|button|image|reset|file)$/i,kb=/^(?:input|select|textarea|keygen)/i;function lb(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||hb.test(a)?d(a,e):lb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d); +});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)lb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)lb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&kb.test(this.nodeName)&&!jb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ib,"\r\n")}}):{name:b.name,value:c.replace(ib,"\r\n")}}).get()}}),r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="
",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=C.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=qa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),b=f.ownerDocument,c=b.documentElement,e=b.defaultView,{top:d.top+e.pageYOffset-c.clientTop,left:d.left+e.pageXOffset-c.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),B(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||ra})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return T(this,function(a,d,e){var f;return r.isWindow(a)?f=a:9===a.nodeType&&(f=a.defaultView),void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Pa(o.pixelPosition,function(a,c){if(c)return c=Oa(a,b),Ma.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return T(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.holdReady=function(a){a?r.readyWait++:r.ready(!0)},r.isArray=Array.isArray,r.parseJSON=JSON.parse,r.nodeName=B,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var mb=a.jQuery,nb=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=nb),b&&a.jQuery===r&&(a.jQuery=mb),r},b||(a.jQuery=a.$=r),r}); diff --git a/pkg/ui/v1alpha3/frontend/public/scripts/mode-xml.js b/pkg/ui/v1alpha3/frontend/public/scripts/mode-xml.js new file mode 100644 index 00000000000..709c38bf526 --- /dev/null +++ b/pkg/ui/v1alpha3/frontend/public/scripts/mode-xml.js @@ -0,0 +1,8 @@ +ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.start.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:t},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getSelectionRange().start,a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=a.getCurrentTokenColumn()+f.value.length;if(o.column/.test(r.getLine(o.row).slice(o.column)))return;while(!u(f,"tag-name")){f=a.stepBackward();if(f.value=="<"){f=a.stepForward();break}}var h=a.getCurrentTokenRow(),p=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var d=f.value;h==o.row&&(d=d.substring(0,o.column-p));if(this.voidElements.hasOwnProperty(d.toLowerCase()))return;return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":this.getCommentFoldWidget(e,n)},this.getCommentFoldWidget=function(e,t){return/comment/.test(e.getState(t))&&/";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return this.getCommentFoldWidget(e,n)&&e.getCommentFoldRange(n,e.getLine(n).length);var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column"},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/xml_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/xml"}.call(l.prototype),t.Mode=l}); (function() { + ace.require(["ace/mode/xml"], function(m) { + if (typeof module == "object" && typeof exports == "object" && module) { + module.exports = m; + } + }); + })(); + \ No newline at end of file diff --git a/pkg/ui/v1alpha3/frontend/public/scripts/popper.min.js b/pkg/ui/v1alpha3/frontend/public/scripts/popper.min.js new file mode 100644 index 00000000000..0f20d2a8959 --- /dev/null +++ b/pkg/ui/v1alpha3/frontend/public/scripts/popper.min.js @@ -0,0 +1,5 @@ +/* + Copyright (C) Federico Zivolo 2017 + Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT). + */(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=getComputedStyle(e,null);return t?o[t]:o}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll)/.test(r+s+p)?e:n(o(e))}function r(e){var o=e&&e.offsetParent,i=o&&o.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TD','TABLE'].indexOf(o.nodeName)&&'static'===t(o,'position')?r(o):o:e?e.ownerDocument.documentElement:document.documentElement}function p(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||r(e.firstElementChild)===e)}function s(e){return null===e.parentNode?e:s(e.parentNode)}function d(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,i=o?e:t,n=o?t:e,a=document.createRange();a.setStart(i,0),a.setEnd(n,0);var l=a.commonAncestorContainer;if(e!==l&&t!==l||i.contains(n))return p(l)?l:r(l);var f=s(e);return f.host?d(f.host,t):d(e,s(t).host)}function a(e){var t=1=o.clientWidth&&i>=o.clientHeight}),l=0i[e]&&!t.escapeWithReference&&(n=_(p[o],i[e]-('right'===e?p.width:p.height))),pe({},o,n)}};return n.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';p=se({},p,s[t](e))}),e.offsets.popper=p,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,i=t.reference,n=e.placement.split('-')[0],r=X,p=-1!==['top','bottom'].indexOf(n),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]r(i[s])&&(e.offsets.popper[d]=r(i[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var i;if(!F(e.instance.modifiers,'arrow','keepTogether'))return e;var n=o.element;if('string'==typeof n){if(n=e.instance.popper.querySelector(n),!n)return e;}else if(!e.instance.popper.contains(n))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',g=a?'bottom':'right',u=L(n)[l];d[g]-us[g]&&(e.offsets.popper[m]+=d[m]+u-s[g]),e.offsets.popper=c(e.offsets.popper);var b=d[m]+d[l]/2-u/2,w=t(e.instance.popper),y=parseFloat(w['margin'+f],10),E=parseFloat(w['border'+f+'Width'],10),v=b-e.offsets.popper[m]-y-E;return v=J(_(s[l]-u,v),0),e.arrowElement=n,e.offsets.arrow=(i={},pe(i,m,Math.round(v)),pe(i,h,''),i),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(k(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=y(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement),i=e.placement.split('-')[0],n=x(i),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case le.FLIP:p=[i,n];break;case le.CLOCKWISE:p=q(i);break;case le.COUNTERCLOCKWISE:p=q(i,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(i!==s||p.length===d+1)return e;i=e.placement.split('-')[0],n=x(i);var a=e.offsets.popper,l=e.offsets.reference,f=X,m='left'===i&&f(a.right)>f(l.left)||'right'===i&&f(a.left)f(l.top)||'bottom'===i&&f(a.top)f(o.right),g=f(a.top)f(o.bottom),b='left'===i&&h||'right'===i&&c||'top'===i&&g||'bottom'===i&&u,w=-1!==['top','bottom'].indexOf(i),y=!!t.flipVariations&&(w&&'start'===r&&h||w&&'end'===r&&c||!w&&'start'===r&&g||!w&&'end'===r&&u);(m||b||y)&&(e.flipped=!0,(m||b)&&(i=p[d+1]),y&&(r=K(r)),e.placement=i+(r?'-'+r:''),e.offsets.popper=se({},e.offsets.popper,S(e.instance.popper,e.offsets.reference,e.placement)),e=C(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport'},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],i=e.offsets,n=i.popper,r=i.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return n[p?'left':'top']=r[o]-(s?n[p?'width':'height']:0),e.placement=x(t),e.offsets.popper=c(n),e}},hide:{order:800,enabled:!0,fn:function(e){if(!F(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=T(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.right":">",'"':""","'":"'","`":"`"},P=h.invert(L),W=function(r){var t=function(n){return r[n]},n="(?:"+h.keys(r).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}};h.escape=W(L),h.unescape=W(P),h.result=function(n,r,t){h.isArray(r)||(r=[r]);var e=r.length;if(!e)return h.isFunction(t)?t.call(n):t;for(var u=0;u/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var J=/(.)^/,U={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},V=/\\|'|\r|\n|\u2028|\u2029/g,$=function(n){return"\\"+U[n]};h.template=function(i,n,r){!n&&r&&(n=r),n=h.defaults({},n,h.templateSettings);var t,e=RegExp([(n.escape||J).source,(n.interpolate||J).source,(n.evaluate||J).source].join("|")+"|$","g"),o=0,a="__p+='";i.replace(e,function(n,r,t,e,u){return a+=i.slice(o,u).replace(V,$),o=u+n.length,r?a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":t?a+="'+\n((__t=("+t+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{t=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}var u=function(n){return t.call(this,n,h)},c=n.variable||"obj";return u.source="function("+c+"){\n"+a+"}",u},h.chain=function(n){var r=h(n);return r._chain=!0,r};var G=function(n,r){return n._chain?h(r).chain():r};h.mixin=function(t){return h.each(h.functions(t),function(n){var r=h[n]=t[n];h.prototype[n]=function(){var n=[this._wrapped];return u.apply(n,arguments),G(this,r.apply(h,n))}}),h},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(r){var t=e[r];h.prototype[r]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==r&&"splice"!==r||0!==n.length||delete n[0],G(this,n)}}),h.each(["concat","join","slice"],function(n){var r=e[n];h.prototype[n]=function(){return G(this,r.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},h.prototype.valueOf=h.prototype.toJSON=h.prototype.value,h.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}(); \ No newline at end of file diff --git a/pkg/ui/v1alpha3/frontend/public/scripts/viz.js b/pkg/ui/v1alpha3/frontend/public/scripts/viz.js new file mode 100644 index 00000000000..dcea5d4d2e6 --- /dev/null +++ b/pkg/ui/v1alpha3/frontend/public/scripts/viz.js @@ -0,0 +1,213 @@ +/* +Viz.js 1.7.1 (Graphviz 2.40.1, Expat 2.1.0, Emscripten 1.37.9) +Copyright (c) 2014-2017 Michael Daines +Licensed under MIT license + +This distribution contains other software in object code form: + +Graphviz +Licensed under Eclipse Public License - v 1.0 +http://www.graphviz.org + +Expat +Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd and Clark Cooper +Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers. +Licensed under MIT license +http://www.libexpat.org + +zlib +Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler +http://www.zlib.net/zlib_license.html +*/ +(function(global) { +var Module = function(Module) { + Module = Module || {}; + var Module = Module; + +var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return xhr.response}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){abort("NO_DYNAMIC_EXECUTION=1 was set, cannot eval")}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){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(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){abort("NO_DYNAMIC_EXECUTION=1 was set, cannot eval")}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}var ALLOC_NORMAL=0;var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var PAGE_SIZE=16384;var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;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()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[(function($0,$1){{var path=Pointer_stringify($0);var data=Pointer_stringify($1);FS.createPath("/",PATH.dirname(path));FS.writeFile(PATH.join("/",path),data)}})];function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}STATIC_BASE=8;STATICTOP=STATIC_BASE+197520;__ATINIT__.push();allocate([0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,32,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,32,193,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,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,32,193,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,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,2,16,0,0,0,0,0,0,0,0,0,0,0,0,16,64,200,47,0,0,8,0,0,0,1,0,0,0,0,0,0,0,2,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,150,64,0,0,0,0,0,128,150,64,4,144,195,0,0,0,0,0,0,0,0,0,0,0,16,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,0,0,0,0,0,0,88,64,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,0,0,0,0,0,0,88,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,32,3,2,0,0,0,0,0,0,0,0,0,0,16,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,66,64,0,0,0,0,0,0,66,64,0,0,0,0,0,32,131,64,0,0,0,0,0,192,136,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,64,0,0,0,0,0,0,66,64,0,0,0,0,0,32,131,64,0,0,0,0,0,192,136,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,176,193,0,0,0,0,0,0,0,0,0,0,0,16,64,104,54,0,0,147,0,0,0,1,0,0,0,0,0,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,16,0,2,0,0,0,0,0,0,0,0,0,0,16,64,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,0,0,0,0,0,0,88,64,0,176,193,0,0,0,0,0,0,0,0,0,0,0,0,0,68,58,0,0,16,0,0,0,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,0,0,0,0,0,0,88,64,64,32,62,3,0,0,0,0,0,0,0,0,0,0,16,64,76,59,0,0,122,0,0,0,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,255,255,255,255,255,255,239,127,255,255,255,255,255,255,239,127,255,255,255,255,255,255,239,255,255,255,255,255,255,255,239,255,0,0,0,0,0,0,248,63,51,51,51,51,51,51,211,63,60,0,0,0,0,0,0,0,154,153,153,153,153,153,169,63,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,4,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,51,51,51,51,51,51,243,63,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,6,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,8,0,0,0,0,0,0,0,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,0,1,0,0,0,255,255,255,255,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,51,51,51,51,211,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,128,70,64,0,0,0,0,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,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,153,153,153,153,153,217,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,51,51,51,51,227,63,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,20,174,71,225,122,228,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,40,86,0,0,1,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,3,0,0,0,0,0,0,0,0,0,0,0,0,128,102,64,0,0,0,0,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,0,4,0,0,0,0,0,0,0,0,0,0,0,0,128,102,64,154,153,153,153,153,153,217,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,128,102,64,123,20,174,71,225,122,228,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,128,70,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,0,0,0,1,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,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,37,117,2,154,8,27,218,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,44,212,154,230,29,167,234,63,106,222,113,138,142,228,232,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,224,63,93,220,70,3,120,11,226,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,208,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,93,220,70,3,120,11,226,63,93,220,70,3,120,11,226,63,93,220,70,3,120,11,226,63,13,113,172,139,219,104,220,63,100,93,220,70,3,120,237,63,210,111,95,7,206,25,231,63,16,122,54,171,62,87,229,63,16,122,54,171,62,87,229,63,210,111,95,7,206,25,231,63,120,11,36,40,126,140,227,63,181,21,251,203,238,201,225,63,210,111,95,7,206,25,231,63,210,111,95,7,206,25,231,63,88,168,53,205,59,78,213,63,136,133,90,211,188,227,216,63,210,111,95,7,206,25,231,63,120,11,36,40,126,140,227,63,196,66,173,105,222,113,236,63,210,111,95,7,206,25,231,63,210,111,95,7,206,25,231,63,181,21,251,203,238,201,225,63,210,111,95,7,206,25,231,63,16,122,54,171,62,87,229,63,181,21,251,203,238,201,225,63,120,11,36,40,126,140,227,63,210,111,95,7,206,25,231,63,210,111,95,7,206,25,231,63,134,56,214,197,109,52,238,63,210,111,95,7,206,25,231,63,210,111,95,7,206,25,231,63,120,11,36,40,126,140,227,63,88,168,53,205,59,78,213,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,166,10,70,37,117,2,222,63,0,0,0,0,0,0,224,63,88,168,53,205,59,78,213,63,13,113,172,139,219,104,220,63,0,0,0,0,0,0,224,63,13,113,172,139,219,104,220,63,0,0,0,0,0,0,224,63,13,113,172,139,219,104,220,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,224,63,211,188,227,20,29,201,209,63,106,222,113,138,142,228,232,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,88,168,53,205,59,78,213,63,136,133,90,211,188,227,216,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,210,111,95,7,206,25,231,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,13,113,172,139,219,104,220,63,244,108,86,125,174,182,222,63,17,54,60,189,82,150,201,63,244,108,86,125,174,182,222,63,59,1,77,132,13,79,225,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,62,232,217,172,250,92,197,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,130,115,70,148,246,6,199,63,13,113,172,139,219,104,220,63,0,0,0,0,0,0,224,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,7,240,22,72,80,252,220,63,162,180,55,248,194,100,214,63,88,168,53,205,59,78,213,63,13,113,172,139,219,104,220,63,13,113,172,139,219,104,220,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,208,63,13,113,172,139,219,104,220,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,196,66,173,105,222,113,236,63,0,0,0,0,0,0,208,63,127,217,61,121,88,168,209,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,120,11,36,40,126,140,227,63,210,111,95,7,206,25,231,63,196,66,173,105,222,113,236,63,19,242,65,207,102,213,211,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,16,122,54,171,62,87,229,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,224,63,210,111,95,7,206,25,231,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,244,108,86,125,174,182,214,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,196,66,173,105,222,113,236,63,16,122,54,171,62,87,229,63,245,219,215,129,115,70,204,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,136,133,90,211,188,227,216,63,1,77,132,13,79,175,226,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,1,77,132,13,79,175,226,63,1,77,132,13,79,175,226,63,1,77,132,13,79,175,226,63,181,21,251,203,238,201,225,63,204,93,75,200,7,61,240,63,16,122,54,171,62,87,229,63,16,122,54,171,62,87,229,63,210,111,95,7,206,25,231,63,210,111,95,7,206,25,231,63,16,122,54,171,62,87,229,63,120,11,36,40,126,140,227,63,106,222,113,138,142,228,232,63,210,111,95,7,206,25,231,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,224,63,16,122,54,171,62,87,229,63,181,21,251,203,238,201,225,63,44,212,154,230,29,167,234,63,210,111,95,7,206,25,231,63,106,222,113,138,142,228,232,63,16,122,54,171,62,87,229,63,106,222,113,138,142,228,232,63,210,111,95,7,206,25,231,63,16,122,54,171,62,87,229,63,120,11,36,40,126,140,227,63,210,111,95,7,206,25,231,63,16,122,54,171,62,87,229,63,134,56,214,197,109,52,238,63,16,122,54,171,62,87,229,63,16,122,54,171,62,87,229,63,120,11,36,40,126,140,227,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,166,10,70,37,117,2,222,63,181,21,251,203,238,201,225,63,72,191,125,29,56,103,204,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,0,0,0,0,0,0,224,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,211,188,227,20,29,201,209,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,72,191,125,29,56,103,204,63,72,191,125,29,56,103,204,63,0,0,0,0,0,0,224,63,72,191,125,29,56,103,204,63,44,212,154,230,29,167,234,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,224,63,211,188,227,20,29,201,209,63,181,21,251,203,238,201,225,63,0,0,0,0,0,0,224,63,210,111,95,7,206,25,231,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,2,154,8,27,158,94,213,63,224,190,14,156,51,162,208,63,2,154,8,27,158,94,213,63,1,77,132,13,79,175,226,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,62,232,217,172,250,92,197,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,29,56,103,68,105,111,200,63,88,168,53,205,59,78,213,63,181,21,251,203,238,201,225,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,211,188,227,20,29,201,209,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,231,29,167,232,72,46,225,63,162,180,55,248,194,100,214,63,72,191,125,29,56,103,204,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,181,21,251,203,238,201,225,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,211,188,227,20,29,201,209,63,120,11,36,40,126,140,227,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,240,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,240,63,211,188,227,20,29,201,209,63,234,149,178,12,113,172,215,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([181,21,251,203,238,201,225,63,106,222,113,138,142,228,232,63,0,0,0,0,0,0,240,63,152,221,147,135,133,90,215,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,196,66,173,105,222,113,236,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,72,191,125,29,56,103,204,63,120,11,36,40,126,140,227,63,134,56,214,197,109,52,238,63,120,11,36,40,126,140,227,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,81,160,79,228,73,210,14,64,180,200,118,190,159,58,53,192,58,34,223,165,212,37,213,191,243,130,62,71,154,46,138,63,159,229,121,112,119,214,249,191,126,253,16,27,44,156,230,63,150,236,216,8,196,235,204,63,205,206,162,119,42,224,208,63,176,227,191,64,16,32,237,191,173,161,212,94,68,219,216,63,59,161,124,230,81,150,118,63,211,110,112,249,122,132,123,63,129,204,206,162,119,42,228,191,209,173,215,244,160,160,200,63,106,223,55,25,176,63,132,63,190,202,144,25,94,255,132,63,28,150,6,126,84,195,196,191,165,73,41,232,246,226,35,64,169,217,3,173,192,144,193,63,8,196,144,65,147,105,137,63,250,68,158,36,93,51,208,191,1,240,153,54,45,194,94,63,13,156,125,47,207,148,151,63,137,181,248,20,0,227,137,63,229,169,88,70,52,203,177,191,143,0,201,207,161,103,166,191,92,181,198,251,204,180,136,63,77,164,143,84,58,179,144,63,230,199,4,161,97,214,160,191,199,105,103,28,19,247,130,191,42,127,107,229,45,112,92,191,228,87,98,84,8,154,117,63,209,241,135,85,114,4,183,63,149,212,9,104,34,60,51,192,100,35,16,175,235,119,16,192,167,33,170,240,103,120,199,63,218,255,0,107,213,174,193,63,78,40,68,192,33,84,247,191,170,72,133,177,133,32,245,63,157,104,87,33,229,39,246,63,77,46,198,192,58,142,205,63,89,107,40,181,23,209,220,191,3,63,170,97,191,39,204,63,166,71,83,61,153,127,218,63,182,129,59,80,167,60,174,63,81,76,222,0,51,223,185,191,245,118,149,255,218,11,166,63,212,165,53,188,15,246,148,63,31,173,32,188,44,220,144,63,40,44,241,128,178,201,35,64,35,90,225,76,2,138,183,63,72,163,101,81,150,41,127,63,187,180,134,247,193,158,147,63,23,168,123,83,71,125,160,191,33,43,174,224,109,148,139,63,51,115,220,132,214,30,181,191,160,120,132,137,245,252,143,63,105,53,36,238,177,244,145,191,184,205,51,122,94,191,106,63,146,62,173,162,63,52,205,191,126,176,231,198,79,62,152,191,7,35,155,80,45,199,164,63,62,24,194,123,88,185,145,191,45,124,125,173,75,141,198,63,0,0,0,64,251,33,249,63,0,0,0,0,45,68,116,62,0,0,0,128,152,70,248,60,0,0,0,96,81,204,120,59,0,0,0,128,131,27,240,57,0,0,0,64,32,37,122,56,0,0,0,128,34,130,227,54,0,0,0,0,29,243,105,53,204,5,1,0,16,43,0,0,3,0,0,0,56,45,0,0,3,0,0,0,16,48,0,0,3,0,0,0,216,48,0,0,3,0,0,0,40,50,0,0,3,0,0,0,160,53,0,0,3,0,0,0,220,56,0,0,3,0,0,0,236,46,0,0,3,0,0,0,164,57,0,0,3,0,0,0,172,58,0,0,3,0,0,0,56,63,0,0,3,0,0,0,92,61,0,0,0,0,0,0,252,44,0,0,0,0,0,0,232,47,0,0,0,0,0,0,56,48,0,0,0,0,0,0,0,50,0,0,0,0,0,0,80,50,0,0,0,0,0,0,180,56,0,0,0,0,0,0,136,46,0,0,0,0,0,0,124,57,0,0,0,0,0,0,132,58,0,0,0,0,0,0,16,63,0,0,0,0,0,0,52,61,0,0,4,0,0,0,96,63,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,176,217,2,0,192,217,2,0,208,217,2,0,224,217,2,0,240,217,2,0,0,218,2,0,16,218,2,0,32,218,2,0,192,217,2,0,192,217,2,0,0,218,2,0,0,218,2,0,31,0,0,0,63,0,0,0,127,0,0,0,0,0,0,0,207,134,1,0,1,0,0,0,208,43,0,0,104,0,0,0,4,0,0,0,229,9,1,0,1,0,0,0,72,44,0,0,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,0,0,0,0,136,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,1,0,0,0,143,6,1,0,1,0,0,0,0,0,0,0,168,0,0,0,2,0,0,0,153,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,3,0,0,0,163,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,4,0,0,0,177,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,5,0,0,0,187,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,6,0,0,0,200,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,9,1,0,1,0,0,0,236,45,0,0,24,1,0,0,1,0,0,0,239,9,1,0,1,0,0,0,236,45,0,0,24,1,0,0,2,0,0,0,245,9,1,0,1,0,0,0,236,45,0,0,24,1,0,0,3,0,0,0,254,9,1,0,1,0,0,0,236,45,0,0,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,1,0,1,0,0,0,0,0,0,0,112,1,0,0,1,0,0,0,18,10,1,0,1,0,0,0,0,0,0,0,112,1,0,0,2,0,0,0,29,10,1,0,1,0,0,0,0,0,0,0,56,1,0,0,3,0,0,0,43,10,1,0,1,0,0,0,0,0,0,0,56,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,1,0,0,0,6,0,0,0,2,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,0,0,0,0,143,25,2,0,148,2,2,0,37,4,2,0,101,10,2,0,92,17,2,0,155,21,2,0,27,25,2,0,44,25,2,0,0,0,0,0,114,10,1,0,1,0,0,0,80,47,0,0,168,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,10,1,0,1,0,0,0,0,0,0,0,200,1,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,126,10,1,0,1,0,0,0,96,48,0,0,0,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,15,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,182,11,1,0,1,0,0,0,0,0,0,0,32,2,0,0,2,0,0,0,192,11,1,0,1,0,0,0,0,0,0,0,88,2,0,0,0,0,0,0,201,11,1,0,1,0,0,0,0,0,0,0,88,2,0,0,3,0,0,0,210,11,1,0,1,0,0,0,0,0,0,0,88,2,0,0,0,0,0,0,220,11,1,0,1,0,0,0,0,0,0,0,32,2,0,0,3,0,0,0,232,11,1,0,1,0,0,0,0,0,0,0,32,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,17,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,3,0,0,0,3,0,0,0,10,0,0,0,4,0,0,0,0,0,0,0,143,25,2,0,148,2,2,0,101,10,2,0,37,4,2,0,155,21,2,0,92,17,2,0,44,25,2,0,27,25,2,0,0,0,0,0,0,0,0,0,165,13,1,0,255,255,255,255,100,49,0,0,144,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,168,13,1,0,255,255,255,255,0,0,0,0,176,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,213,142,1,0,1,0,0,0,120,50,0,0,232,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,5,0,0,0,4,0,0,0,13,0,0,0,5,0,0,0,3,0,0,0,165,17,1,0,179,17,1,0,201,17,1,0,13,251,2,0,215,17,1,0,230,17,1,0,235,17,1,0,9,18,1,0,13,251,2,0,27,18,1,0,75,18,1,0,13,251,2,0,105,18,1,0,145,18,1,0,159,18,1,0,206,18,1,0,2,19,1,0,19,19,1,0,56,19,1,0,91,19,1,0,97,19,1,0,125,19,1,0,154,19,1,0,181,19,1,0,214,19,1,0,240,19,1,0,18,20,1,0,49,20,1,0,87,20,1,0,111,20,1,0,143,20,1,0,172,20,1,0,208,20,1,0,220,20,1,0,13,251,2,0,231,20,1,0,13,21,1,0,49,21,1,0,87,21,1,0,13,251,2,0,141,21,1,0,165,21,1,0,178,21,1,0,225,21,1,0,220,20,1,0,13,251,2,0,238,21,1,0,247,21,1,0,24,22,1,0,83,22,1,0,158,22,1,0,242,22,1,0,20,23,1,0,41,23,1,0,64,23,1,0,86,23,1,0,110,23,1,0,13,251,2,0,132,23,1,0,159,23,1,0,195,23,1,0,231,23,1,0,12,24,1,0,13,251,2,0,45,24,1,0,71,24,1,0,89,24,1,0,102,24,1,0,115,24,1,0,135,24,1,0,150,24,1,0,158,24,1,0,179,24,1,0,193,24,1,0,255,24,1,0,10,25,1,0,220,20,1,0,13,251,2,0,16,25,1,0,28,25,1,0,43,25,1,0,91,19,1,0,13,251,2,0,62,25,1,0,103,25,1,0,133,25,1,0,149,25,1,0,166,25,1,0,173,25,1,0,188,25,1,0,204,25,1,0,16,26,1,0,23,26,1,0,91,19,1,0,13,251,2,0,33,26,1,0,77,26,1,0,88,26,1,0,97,26,1,0,106,26,1,0,123,26,1,0,140,26,1,0,160,26,1,0,220,20,1,0,13,251,2,0,172,26,1,0,188,26,1,0,202,26,1,0,216,26,1,0,229,26,1,0,242,26,1,0,8,27,1,0,17,27,1,0,32,27,1,0,45,27,1,0,62,27,1,0,220,20,1,0,13,251,2,0,73,27,1,0,104,27,1,0,13,251,2,0,122,27,1,0,137,27,1,0,185,27,1,0,195,27,1,0,208,27,1,0,221,27,1,0,234,27,1,0,247,27,1,0,250,27,1,0,13,251,2,0,254,27,1,0,13,251,2,0,33,28,1,0,82,28,1,0,129,28,1,0,152,28,1,0,179,28,1,0,206,28,1,0,220,20,1,0,13,251,2,0,234,28,1,0,13,251,2,0,18,29,1,0,30,29,1,0,49,29,1,0,68,29,1,0,89,29,1,0,110,29,1,0,114,29,1,0,91,19,1,0,13,251,2,0,126,29,1,0,13,251,2,0,142,29,1,0,156,29,1,0,168,29,1,0,181,29,1,0,213,29,1,0,235,29,1,0,13,251,2,0,255,29,1,0,72,30,1,0,142,30,1,0,190,30,1,0,241,30,1,0,248,30,1,0,31,31,1,0,70,31,1,0,13,251,2,0,75,31,1,0,0,0,0,0,0,0,0,0,0,73,1,0,1,0,0,0,0,0,0,0,8,3,0,0,1,0,0,0,191,31,1,0,1,0,0,0,0,0,0,0,8,3,0,0,2,0,0,0,249,72,1,0,1,0,0,0,0,0,0,0,64,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,36,0,0,0,37,0,0,0,6,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,4,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,15,0,0,0,7,0,0,0,5,0,0,0,16,0,0,0,6,0,0,0,0,0,0,0,172,1,2,0,182,1,2,0,137,50,1,0,251,1,2,0,54,2,2,0,88,2,2,0,94,2,2,0,143,25,2,0,133,2,2,0,148,2,2,0,177,2,2,0,188,2,2,0,222,2,2,0,20,3,2,0,74,3,2,0,133,3,2,0,187,3,2,0,221,3,2,0,236,3,2,0,29,4,2,0,37,4,2,0,79,38,1,0,88,38,1,0,66,4,2,0,97,38,1,0,140,4,2,0,106,38,1,0,150,4,2,0,115,38,1,0,160,4,2,0,239,4,2,0,42,5,2,0,127,38,1,0,101,5,2,0,112,5,2,0,181,5,2,0,195,5,2,0,13,6,2,0,27,6,2,0,41,6,2,0,52,6,2,0,101,6,2,0,165,6,2,0,173,6,2,0,181,6,2,0,240,6,2,0,38,7,2,0,50,7,2,0,142,50,1,0,62,7,2,0,72,7,2,0,83,7,2,0,112,7,2,0,166,7,2,0,101,10,2,0,135,10,2,0,147,10,2,0,82,13,2,0,131,13,2,0,175,13,2,0,229,13,2,0,242,13,2,0,20,14,2,0,54,14,2,0,63,14,2,0,137,14,2,0,147,14,2,0,216,14,2,0,14,15,2,0,25,15,2,0,158,15,2,0,179,15,2,0,135,38,1,0,189,15,2,0,199,15,2,0,253,15,2,0,61,16,2,0,75,16,2,0,159,16,2,0,174,16,2,0,189,16,2,0,12,17,2,0,150,50,1,0,76,17,2,0,86,17,2,0,92,17,2,0,136,17,2,0,175,17,2,0,192,17,2,0,203,17,2,0,16,18,2,0,85,18,2,0,100,18,2,0,116,18,2,0,134,18,2,0,150,18,2,0,166,18,2,0,179,18,2,0,189,18,2,0,243,18,2,0,252,18,2,0,60,19,2,0,79,19,2,0,155,50,1,0,87,19,2,0,141,19,2,0,180,19,2,0,234,19,2,0,17,20,2,0,31,20,2,0,85,20,2,0,159,20,2,0,233,20,2,0,244,20,2,0,42,21,2,0,47,21,2,0,76,21,2,0,105,21,2,0,116,21,2,0,155,21,2,0,179,21,2,0,233,21,2,0,31,22,2,0,43,22,2,0,82,22,2,0,93,22,2,0,142,22,2,0,191,22,2,0,136,61,1,0,230,22,2,0,18,23,2,0,72,23,2,0,126,23,2,0,136,23,2,0,165,23,2,0,229,23,2,0,27,24,2,0,161,50,1,0,51,24,2,0,95,24,2,0,134,24,2,0,188,24,2,0,249,24,2,0,27,25,2,0,33,25,2,0,44,25,2,0,83,25,2,0,0,0,0,0,216,142,1,0,1,0,0,0,240,53,0,0,120,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,73,1,0,1,0,0,0,0,0,0,0,152,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,8,0,0,0,6,0,0,0,19,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,189,39,1,0,1,0,0,0,4,57,0,0,208,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,39,1,0,1,0,0,0,0,0,0,0,240,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,53,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,55,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,21,0,0,0,9,0,0,0,7,0,0,0,22,0,0,0,8,0,0,0,0,0,0,0,137,50,1,0,143,25,2,0,148,2,2,0,142,50,1,0,166,7,2,0,101,10,2,0,150,50,1,0,136,17,2,0,60,19,2,0,155,50,1,0,116,21,2,0,155,21,2,0,136,61,1,0,161,50,1,0,27,25,2,0,44,25,2,0,0,0,0,0,166,50,1,0,1,0,0,0,204,57,0,0,40,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,50,1,0,1,0,0,0,0,0,0,0,72,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,0,0,0,0,57,0,0,0,58,0,0,0,10,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,11,0,0,0,8,0,0,0,25,0,0,0,9,0,0,0,0,0,0,0,251,1,2,0,30,60,1,0,143,25,2,0,148,2,2,0,177,2,2,0,41,60,1,0,47,60,1,0,58,60,1,0,65,60,1,0,188,2,2,0,20,3,2,0,73,60,1,0,79,60,1,0,90,60,1,0,187,3,2,0,221,3,2,0,37,4,2,0,97,60,1,0,140,4,2,0,160,4,2,0,42,5,2,0,107,60,1,0,181,5,2,0,195,5,2,0,13,6,2,0,118,60,1,0,27,6,2,0,126,60,1,0,135,60,1,0,149,60,1,0,159,60,1,0,240,6,2,0,168,60,1,0,50,7,2,0,83,7,2,0,112,7,2,0,174,60,1,0,183,7,2,0,226,7,2,0,11,8,2,0,46,8,2,0,87,8,2,0,122,8,2,0,163,8,2,0,198,8,2,0,239,8,2,0,18,9,2,0,59,9,2,0,94,9,2,0,135,9,2,0,170,9,2,0,211,9,2,0,246,9,2,0,31,10,2,0,66,10,2,0,101,10,2,0,181,60,1,0,135,10,2,0,193,60,1,0,175,13,2,0,20,14,2,0,216,14,2,0,206,60,1,0,189,16,2,0,219,60,1,0,76,17,2,0,92,17,2,0,229,60,1,0,136,17,2,0,175,17,2,0,192,17,2,0,244,60,1,0,6,61,1,0,203,17,2,0,85,18,2,0,100,18,2,0,116,18,2,0,134,18,2,0,150,18,2,0,22,61,1,0,33,61,1,0,44,61,1,0,166,18,2,0,60,19,2,0,65,19,2,0,49,61,1,0,58,61,1,0,67,61,1,0,83,61,1,0,90,61,1,0,141,19,2,0,180,19,2,0,234,19,2,0,31,20,2,0,47,21,2,0,76,21,2,0,98,61,1,0,155,21,2,0,105,61,1,0,43,22,2,0,114,61,1,0,93,22,2,0,122,61,1,0,191,22,2,0,136,61,1,0,230,22,2,0,18,23,2,0,143,61,1,0,165,23,2,0,229,23,2,0,153,61,1,0,27,24,2,0,51,24,2,0,134,24,2,0,163,61,1,0,177,61,1,0,188,24,2,0,195,24,2,0,249,24,2,0,27,25,2,0,44,25,2,0,83,25,2,0,0,0,0,0,195,61,1,0,1,0,0,0,212,58,0,0,128,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,61,1,0,1,0,0,0,0,0,0,0,160,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,0,0,0,69,0,0,0,0,0,0,0,0,0,0,0,70,0,0,0,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,27,0,0,0,12,0,0,0,9,0,0,0,28,0,0,0,10,0,0,0,0,0,0,0,65,66,0,0,221,162,1,0,65,73,0,0,183,162,1,0,65,82,0,0,138,162,1,0,65,88,0,0,242,162,1,0,66,32,0,0,46,165,1,0,66,73,0,0,63,165,1,0,67,66,0,0,119,163,1,0,67,79,0,0,101,163,1,0,67,88,0,0,132,163,1,0,72,32,0,0,168,163,1,0,72,66,0,0,178,163,1,0,72,73,0,0,62,164,1,0,72,88,0,0,193,163,1,0,72,98,0,0,242,163,1,0,72,105,0,0,37,164,1,0,72,114,0,0,215,163,1,0,72,120,0,0,8,164,1,0,73,32,0,0,80,165,1,0,75,66,0,0,9,163,1,0,75,73,0,0,81,163,1,0,75,82,0,0,61,163,1,0,75,88,0,0,42,163,1,0,78,66,0,0,80,164,1,0,78,73,0,0,151,164,1,0,78,82,0,0,175,164,1,0,78,88,0,0,123,164,1,0,80,65,0,0,16,165,1,0,80,66,0,0,204,164,1,0,80,73,0,0,0,165,1,0,80,88,0,0,236,164,1,0,82,32,0,0,7,167,1,0,83,32,0,0,31,165,1,0,90,68,0,0,141,165,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,109,72,1,0,255,255,255,255,132,61,0,0,216,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,72,1,0,255,255,255,255,0,0,0,0,248,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,121,72,1,0,1,0,0,0,72,67,0,0,0,0,0,0,16,0,0,0,129,72,1,0,1,0,0,0,72,67,0,0,0,0,0,0,17,0,0,0,137,72,1,0,1,0,0,0,72,67,0,0,0,0,0,0,17,0,0,0,146,72,1,0,1,0,0,0,72,67,0,0,0,0,0,0,17,0,0,0,154,72,1,0,1,0,0,0,72,67,0,0,0,0,0,0,19,0,0,0,162,72,1,0,1,0,0,0,76,67,0,0,0,0,0,0,20,0,0,0,170,72,1,0,1,0,0,0,76,67,0,0,0,0,0,0,21,0,0,0,178,72,1,0,1,0,0,0,76,67,0,0,0,0,0,0,21,0,0,0,187,72,1,0,1,0,0,0,76,67,0,0,0,0,0,0,21,0,0,0,195,72,1,0,1,0,0,0,76,67,0,0,0,0,0,0,22,0,0,0,203,72,1,0,1,0,0,0,80,67,0,0,0,0,0,0,23,0,0,0,212,72,1,0,1,0,0,0,80,67,0,0,0,0,0,0,24,0,0,0,221,72,1,0,1,0,0,0,80,67,0,0,0,0,0,0,24,0,0,0,231,72,1,0,1,0,0,0,80,67,0,0,0,0,0,0,24,0,0,0,240,72,1,0,1,0,0,0,80,67,0,0,0,0,0,0,25,0,0,0,249,72,1,0,1,0,0,0,84,67,0,0,0,0,0,0,25,0,0,0,0,73,1,0,1,0,0,0,84,67,0,0,0,0,0,0,26,0,0,0,6,73,1,0,1,0,0,0,88,67,0,0,0,0,0,0,10,0,0,0,15,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,11,0,0,0,23,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,12,0,0,0,31,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,12,0,0,0,40,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,12,0,0,0,48,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,14,0,0,0,56,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,14,0,0,0,63,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,13,0,0,0,71,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,5,0,0,0,79,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,6,0,0,0,87,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,7,0,0,0,95,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,7,0,0,0,104,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,7,0,0,0,112,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,9,0,0,0,120,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,9,0,0,0,127,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,8,0,0,0,135,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,0,0,0,0,143,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,1,0,0,0,152,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,2,0,0,0,161,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,2,0,0,0,171,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,2,0,0,0,180,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,4,0,0,0,189,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,4,0,0,0,197,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,3,0,0,0,206,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,18,0,0,0,215,73,1,0,1,0,0,0,72,67,0,0,0,0,0,0,27,0,0,0,223,73,1,0,1,0,0,0,100,67,0,0,0,0,0,0,28,0,0,0,231,73,1,0,1,0,0,0,100,67,0,0,0,0,0,0,29,0,0,0,239,73,1,0,1,0,0,0,100,67,0,0,0,0,0,0,29,0,0,0,248,73,1,0,1,0,0,0,100,67,0,0,0,0,0,0,29,0,0,0,0,74,1,0,1,0,0,0,100,67,0,0,0,0,0,0,30,0,0,0,8,74,1,0,1,0,0,0,104,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,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,115,77,1,0,116,67,0,0,1,0,0,0,144,67,0,0,0,0,0,0,0,0,0,0,72,0,0,0,73,0,0,0,1,0,0,0,0,0,0,0,207,134,1,0,0,0,0,0,132,67,0,0,140,67,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,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,24,1,0,0,48,1,0,0,176,0,0,0,152,85,1,0,157,85,1,0,161,85,1,0,168,85,1,0,172,85,1,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,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,161,90,1,0,80,68,0,0,1,0,0,0,168,68,0,0,0,0,0,0,0,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,75,0,0,0,85,0,0,0,75,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,0,0,0,0,174,90,1,0,0,0,0,0,96,68,0,0,208,219,2,0,1,0,0,0,180,90,1,0,0,0,0,0,104,68,0,0,208,219,2,0,2,0,0,0,184,90,1,0,0,0,0,0,112,68,0,0,208,219,2,0,3,0,0,0,189,90,1,0,0,0,0,0,120,68,0,0,208,219,2,0,4,0,0,0,195,90,1,0,0,0,0,0,128,68,0,0,208,219,2,0,5,0,0,0,201,90,1,0,0,0,0,0,152,68,0,0,208,219,2,0,6,0,0,0,211,90,1,0,0,0,0,0,160,68,0,0,208,219,2,0,7,0,0,0,217,90,1,0,0,0,0,0,136,68,0,0,208,219,2,0,7,0,0,0,221,90,1,0,0,0,0,0,136,68,0,0,208,219,2,0,7,0,0,0,226,90,1,0,0,0,0,0,144,68,0,0,208,219,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,48,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,105,104,1,0,129,104,1,0,160,104,1,0,189,104,1,0,220,104,1,0,227,104,1,0,236,104,1,0,105,104,1,0,110,104,1,0,117,104,1,0,122,104,1,0,11,104,1,0,29,104,1,0,43,104,1,0,57,104,1,0,71,104,1,0,78,104,1,0,93,104,1,0,105,104,1,0,0,0,0,0,13,251,2,0,0,0,0,0,74,19,2,0,1,0,0,0,37,107,1,0,7,0,0,0,233,106,1,0,3,0,0,0,245,38,2,0,5,0,0,0,45,107,1,0,15,0,0,0,189,142,1,0,8,0,0,0,189,142,1,0,16,0,0,0,53,107,1,0,4,0,0,0,53,107,1,0,17,0,0,0,58,107,1,0,5,0,0,0,58,107,1,0,2,0,0,0,64,107,1,0,6,0,0,0,71,107,1,0,4,0,0,0,83,107,1,0,7,0,0,0,91,107,1,0,7,0,0,0,107,107,1,0,5,0,0,0,113,107,1,0,8,0,0,0,136,107,1,0,8,0,0,0,113,107,1,0,9,0,0,0,145,107,1,0,7,0,0,0,153,107,1,0,10,0,0,0,179,107,1,0,7,0,0,0,187,107,1,0,11,0,0,0,213,107,1,0,6,0,0,0,220,107,1,0,12,0,0,0,250,107,1,0,9,0,0,0,220,107,1,0,13,0,0,0,4,108,1,0,8,0,0,0,13,108,1,0,14,0,0,0,46,108,1,0,8,0,0,0,55,108,1,0,18,0,0,0,88,108,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,33,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,4,0,0,0,34,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,64,0,0,0,176,71,0,0,192,71,0,0,6,0,0,0,4,0,0,0,204,71,0,0,6,0,0,0,8,0,0,0,6,0,0,0,4,0,0,0,212,71,0,0,0,4,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,121,1,0,53,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,10,0,0,0,92,73,0,0,224,72,0,0,68,73,0,0,1,0,0,0,1,0,0,0,10,0,0,0,22,0,0,0,11,0,0,0,90,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,7,0,0,0,2,0,0,0,5,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,3,0,0,0,14,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,16,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,1,0,0,0,1,0,0,0,11,0,0,0,1,0,0,0,12,0,0,0,1,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,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,19,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,1,0,0,0,30,0,0,0,1,0,0,0,1,0,0,0,19,0,0,0,1,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,19,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,19,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,46,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,47,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,48,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,128,0,0,0,166,180,1,0,135,180,1,0,77,125,1,0,179,180,1,0,171,180,1,0,185,180,1,0,0,0,0,0,83,129,1,0,92,129,1,0,99,129,1,0,113,129,1,0,167,179,1,0,207,180,1,0,120,129,1,0,127,129,1,0,1,0,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,131,1,0,8,0,0,0,3,0,0,0,38,131,1,0,42,131,1,0,11,0,0,0,6,0,0,0,213,142,1,0,54,131,1,0,2,0,0,0,1,0,0,0,57,131,1,0,61,131,1,0,4,0,0,0,2,0,0,0,66,131,1,0,70,131,1,0,4,0,0,0,4,0,0,0,75,131,1,0,80,131,1,0,5,0,0,0,5,0,0,0,86,131,1,0,90,131,1,0,4,0,0,0,7,0,0,0,95,131,1,0,99,131,1,0,5,0,0,0,9,0,0,0,105,131,1,0,109,131,1,0,4,0,0,0,10,0,0,0,114,131,1,0,119,131,1,0,4,0,0,0,12,0,0,0,124,131,1,0,15,136,1,0,0,0,0,0,1,0,0,0,23,136,1,0,1,0,0,0,0,0,0,0,162,179,1,0,1,0,0,0,1,0,0,0,74,19,2],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([248,134,1,0,49,0,0,0,0,0,0,0,0,0,0,0,208,174,1,0,16,0,0,0,116,31,2,0,128,0,0,0,241,134,1,0,64,0,0,0,59,161,1,0,16,0,0,0,243,134,1,0,64,0,0,0,0,0,0,0,0,0,0,0,191,134,1,0,1,0,0,0,198,134,1,0,2,0,0,0,203,134,1,0,3,0,0,0,249,167,1,0,4,0,0,0,93,158,1,0,5,0,0,0,207,134,1,0,6,0,0,0,74,19,2,0,8,0,0,0,211,134,1,0,33,0,0,0,215,134,1,0,34,0,0,0,219,134,1,0,34,0,0,0,223,134,1,0,1,0,0,0,228,134,1,0,7,0,0,0,234,134,1,0,39,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,140,1,0,49,140,1,0,0,0,0,0,80,6,0,0,210,142,1,0,213,142,1,0,216,142,1,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,255,255,255,255,149,142,1,0,155,142,1,0,74,19,2,0,0,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,100,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,42,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,9,0,0,0,43,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,167,1,0,144,85,0,0,176,6,0,0,0,0,0,0,38,158,1,0,144,85,0,0,224,6,0,0,0,0,0,0,255,166,1,0,144,85,0,0,16,7,0,0,0,0,0,0,46,158,1,0,144,85,0,0,16,7,0,0,0,0,0,0,51,158,1,0,144,85,0,0,64,7,0,0,0,0,0,0,58,158,1,0,168,85,0,0,64,7,0,0,0,0,0,0,64,158,1,0,144,85,0,0,112,7,0,0,0,0,0,0,68,158,1,0,144,85,0,0,160,7,0,0,0,0,0,0,74,19,2,0,144,85,0,0,208,7,0,0,0,0,0,0,77,158,1,0,144,85,0,0,208,7,0,0,0,0,0,0,87,158,1,0,144,85,0,0,128,6,0,0,0,0,0,0,93,158,1,0,144,85,0,0,0,8,0,0,0,0,0,0,101,158,1,0,144,85,0,0,48,8,0,0,0,0,0,0,111,158,1,0,144,85,0,0,96,8,0,0,0,0,0,0,125,158,1,0,144,85,0,0,144,8,0,0,0,0,0,0,131,158,1,0,144,85,0,0,192,8,0,0,0,0,0,0,140,158,1,0,144,85,0,0,240,8,0,0,0,0,0,0,148,158,1,0,144,85,0,0,32,9,0,0,0,0,0,0,157,158,1,0,144,85,0,0,80,9,0,0,0,0,0,0,165,158,1,0,144,85,0,0,128,9,0,0,0,0,0,0,170,158,1,0,144,85,0,0,176,9,0,0,0,0,0,0,174,158,1,0,144,85,0,0,224,9,0,0,0,0,0,0,181,158,1,0,144,85,0,0,16,10,0,0,0,0,0,0,187,158,1,0,144,85,0,0,64,10,0,0,0,0,0,0,197,158,1,0,192,85,0,0,112,10,0,0,0,0,0,0,206,158,1,0,144,85,0,0,176,6,0,0,0,0,0,0,211,158,1,0,144,85,0,0,176,6,0,0,0,0,0,0,221,158,1,0,144,85,0,0,160,10,0,0,0,0,0,0,228,158,1,0,144,85,0,0,208,10,0,0,0,0,0,0,241,158,1,0,144,85,0,0,0,11,0,0,0,0,0,0,255,158,1,0,144,85,0,0,48,11,0,0,0,0,0,0,13,159,1,0,144,85,0,0,96,11,0,0,0,0,0,0,25,159,1,0,144,85,0,0,144,11,0,0,0,0,0,0,38,159,1,0,144,85,0,0,192,11,0,0,0,0,0,0,47,159,1,0,144,85,0,0,240,11,0,0,0,0,0,0,57,159,1,0,144,85,0,0,32,12,0,0,0,0,0,0,66,159,1,0,144,85,0,0,80,12,0,0,0,0,0,0,74,159,1,0,144,85,0,0,128,12,0,0,0,0,0,0,82,159,1,0,144,85,0,0,176,12,0,0,0,0,0,0,91,159,1,0,144,85,0,0,224,12,0,0,0,0,0,0,95,159,1,0,144,85,0,0,16,13,0,0,0,0,0,0,106,159,1,0,144,85,0,0,64,13,0,0,0,0,0,0,110,159,1,0,144,85,0,0,112,13,0,0,0,0,0,0,120,159,1,0,144,85,0,0,160,13,0,0,0,0,0,0,129,159,1,0,144,85,0,0,208,13,0,0,0,0,0,0,137,159,1,0,144,85,0,0,0,14,0,0,0,0,0,0,150,159,1,0,144,85,0,0,48,14,0,0,0,0,0,0,162,159,1,0,144,85,0,0,96,14,0,0,0,0,0,0,173,159,1,0,144,85,0,0,144,14,0,0,0,0,0,0,189,159,1,0,144,85,0,0,192,14,0,0,0,0,0,0,203,159,1,0,144,85,0,0,240,14,0,0,0,0,0,0,218,159,1,0,144,85,0,0,32,15,0,0,0,0,0,0,228,159,1,0,144,85,0,0,80,15,0,0,0,0,0,0,237,159,1,0,144,85,0,0,128,15,0,0,0,0,0,0,247,159,1,0,144,85,0,0,176,15,0,0,0,0,0,0,1,160,1,0,144,85,0,0,224,15,0,0,0,0,0,0,8,160,1,0,144,85,0,0,16,16,0,0,0,0,0,0,15,160,1,0,144,85,0,0,64,16,0,0,0,0,0,0,25,160,1,0,216,85,0,0,0,0,0,0,0,0,0,0,32,160,1,0,216,85,0,0,0,0,0,0,0,0,0,0,2,158,1,0,240,85,0,0,0,0,0,0,0,0,0,0,40,160,1,0,8,86,0,0,112,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,0,0,0,92,0,0,0,23,0,0,0,4,0,0,0,2,0,0,0,12,0,0,0,93,0,0,0,92,0,0,0,23,0,0,0,5,0,0,0,0,0,0,0,13,0,0,0,91,0,0,0,92,0,0,0,23,0,0,0,4,0,0,0,2,0,0,0,12,0,0,0,94,0,0,0,95,0,0,0,24,0,0,0,6,0,0,0,3,0,0,0,14,0,0,0,96,0,0,0,97,0,0,0,23,0,0,0,7,0,0,0,0,0,0,0,15,0,0,0,91,0,0,0,92,0,0,0,23,0,0,0,8,0,0,0,2,0,0,0,12,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,42,161,1,0,49,161,1,0,0,0,0,0,57,161,1,0,59,161,1,0,174,31,2,0,61,161,1,0,12,0,0,0,4,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,9,0,0,0,8,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,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,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,138,162,1,0,154,162,1,0,167,162,1,0,0,0,0,0,0,0,0,0,4,0,0,0,172,162,1,0,0,0,0,0,0,0,0,0,183,162,1,0,154,162,1,0,167,162,1,0,0,0,0,0,206,162,1,0,5,0,0,0,172,162,1,0,0,0,0,0,214,162,1,0,221,162,1,0,154,162,1,0,237,162,1,0,0,0,0,0,0,0,0,0,6,0,0,0,172,162,1,0,24,179,1,0,0,0,0,0,242,162,1,0,154,162,1,0,237,162,1,0,0,0,0,0,206,162,1,0,7,0,0,0,172,162,1,0,24,179,1,0,214,162,1,0,9,163,1,0,22,163,1,0,237,162,1,0,0,0,0,0,0,0,0,0,10,0,0,0,36,163,1,0,24,179,1,0,0,0,0,0,42,163,1,0,22,163,1,0,237,162,1,0,0,0,0,0,214,162,1,0,11,0,0,0,36,163,1,0,24,179,1,0,214,162,1,0,61,163,1,0,22,163,1,0,75,163,1,0,0,0,0,0,0,0,0,0,8,0,0,0,36,163,1,0,0,0,0,0,0,0,0,0,81,163,1,0,22,163,1,0,75,163,1,0,0,0,0,0,214,162,1,0,9,0,0,0,36,163,1,0,0,0,0,0,214,162,1,0,101,163,1,0,101,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,109,163,1,0,0,0,0,0,0,0,0,0,119,163,1,0,101,163,1,0,24,179,1,0,0,0,0,0,0,0,0,0,14,0,0,0,109,163,1,0,24,179,1,0,0,0,0,0,132,163,1,0,101,163,1,0,24,179,1,0,0,0,0,0,206,162,1,0,15,0,0,0,109,163,1,0,24,179,1,0,214,162,1,0,152,163,1,0,101,163,1,0,0,0,0,0,0,0,0,0,206,162,1,0,13,0,0,0,109,163,1,0,0,0,0,0,214,162,1,0,168,163,1,0,168,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,172,162,1,0,0,0,0,0,0,0,0,0,178,163,1,0,168,163,1,0,24,179,1,0,0,0,0,0,0,0,0,0,18,0,0,0,172,162,1,0,24,179,1,0,0,0,0,0,193,163,1,0,168,163,1,0,24,179,1,0,0,0,0,0,206,162,1,0,19,0,0,0,172,162,1,0,24,179,1,0,214,162,1,0,215,163,1,0,168,163,1,0,0,0,0,0,232,163,1,0,0,0,0,0,20,0,0,0,172,162,1,0,0,0,0,0,0,0,0,0,242,163,1,0,168,163,1,0,24,179,1,0,232,163,1,0,0,0,0,0,22,0,0,0,172,162,1,0,24,179,1,0,0,0,0,0,8,164,1,0,168,163,1,0,24,179,1,0,232,163,1,0,206,162,1,0,23,0,0,0,172,162,1,0,24,179,1,0,214,162,1,0,37,164,1,0,168,163,1,0,0,0,0,0,232,163,1,0,206,162,1,0,21,0,0,0,172,162,1,0,0,0,0,0,214,162,1,0,62,164,1,0,168,163,1,0,0,0,0,0,0,0,0,0,206,162,1,0,17,0,0,0,172,162,1,0,0,0,0,0,214,162,1,0,80,164,1,0,102,164,1,0,24,179,1,0,0,0,0,0,0,0,0,0,26,0,0,0,36,163,1,0,24,179,1,0,0,0,0,0,123,164,1,0,102,164,1,0,24,179,1,0,0,0,0,0,214,162,1,0,27,0,0,0,36,163,1,0,24,179,1,0,214,162,1,0,151,164,1,0,102,164,1,0,0,0,0,0,0,0,0,0,214,162,1,0,25,0,0,0,36,163,1,0,0,0,0,0,214,162,1,0,175,164,1,0,102,164,1,0,198,164,1,0,0,0,0,0,0,0,0,0,24,0,0,0,36,163,1,0,0,0,0,0,0,0,0,0,204,164,1,0,218,164,1,0,24,179,1,0,0,0,0,0,0,0,0,0,30,0,0,0,36,163,1,0,24,179,1,0,0,0,0,0,236,164,1,0,218,164,1,0,24,179,1,0,0,0,0,0,214,162,1,0,31,0,0,0,36,163,1,0,24,179,1,0,214,162,1,0,0,165,1,0,218,164,1,0,0,0,0,0,0,0,0,0,214,162,1,0,29,0,0,0,36,163,1,0,0,0,0,0,214,162,1,0,16,165,1,0,218,164,1,0,198,164,1,0,0,0,0,0,0,0,0,0,28,0,0,0,36,163,1,0,0,0,0,0,0,0,0,0,31,165,1,0,31,165,1,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,38,165,1,0,0,0,0,0,0,0,0,0,46,165,1,0,57,165,1,0,24,179,1,0,0,0,0,0,0,0,0,0,2,0,0,0,36,163,1,0,24,179,1,0,0,0,0,0,63,165,1,0,57,165,1,0,24,179,1,0,0,0,0,0,214,162,1,0,3,0,0,0,36,163,1,0,24,179,1,0,214,162,1,0,80,165,1,0,57,165,1,0,0,0,0,0,0,0,0,0,214,162,1,0,1,0,0,0,36,163,1,0,0,0,0,0,214,162,1,0,7,167,1,0,57,165,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,163,1,0,0,0,0,0,0,0,0,0,93,165,1,0,119,165,1,0,134,165,1,0,0,0,0,0,214,162,1,0,33,0,0,0,36,163,1,0,0,0,0,0,214,162,1,0,141,165,1,0,154,165,1,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,38,165,1,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,10,0,0,0,45,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,168,1,0,198,0,0,0,60,168,1,0,193,0,0,0,67,168,1,0,194,0,0,0,73,168,1,0,192,0,0,0,80,168,1,0,145,3,0,0,86,168,1,0,197,0,0,0,92,168,1,0,195,0,0,0,99,168,1,0,196,0,0,0,104,168,1,0,146,3,0,0,109,168,1,0,199,0,0,0,116,168,1,0,167,3,0,0,120,168,1,0,33,32,0,0,127,168,1,0,148,3,0,0,133,168,1,0,208,0,0,0,137,168,1,0,201,0,0,0,144,168,1,0,202,0,0,0,150,168,1,0,200,0,0,0,157,168,1,0,149,3,0,0,165,168,1,0,151,3,0,0,169,168,1,0,203,0,0,0,174,168,1,0,147,3,0,0,180,168,1,0,205,0,0,0,187,168,1,0,206,0,0,0,193,168,1,0,204,0,0,0,200,168,1,0,153,3,0,0,205,168,1,0,207,0,0,0,210,168,1,0,154,3,0,0,216,168,1,0,155,3,0,0,223,168,1,0,156,3,0,0,226,168,1,0,209,0,0,0,233,168,1,0,157,3,0,0,236,168,1,0,82,1,0,0,242,168,1,0,211,0,0,0,249,168,1,0,212,0,0,0,255,168,1,0,210,0,0,0,6,169,1,0,169,3,0,0,12,169,1,0,159,3,0,0,20,169,1,0,216,0,0,0,27,169,1,0,213,0,0,0,34,169,1,0,214,0,0,0,39,169,1,0,166,3,0,0,43,169,1,0,160,3,0,0,46,169,1,0,51,32,0,0,52,169,1,0,168,3,0,0,56,169,1,0,161,3,0,0,60,169,1,0,96,1,0,0,67,169,1,0,163,3,0,0,73,169,1,0,222,0,0,0,79,169,1,0,164,3,0,0,83,169,1,0,152,3,0,0,89,169,1,0,218,0,0,0,96,169,1,0,219,0,0,0,102,169,1,0,217,0,0,0,109,169,1,0,165,3,0,0,117,169,1,0,220,0,0,0,122,169,1,0,158,3,0,0,125,169,1,0,221,0,0,0,132,169,1,0,120,1,0,0,137,169,1,0,150,3,0,0,142,169,1,0,225,0,0,0,149,169,1,0,226,0,0,0,155,169,1,0,180,0,0,0,161,169,1,0,230,0,0,0,167,169,1,0,224,0,0,0,174,169,1,0,53,33,0,0,182,169,1,0,177,3,0,0,188,169,1,0,38,0,0,0,192,169,1,0,39,34,0,0,196,169,1,0,32,34,0,0,200,169,1,0,229,0,0,0,206,169,1,0,72,34,0,0,212,169,1,0,227,0,0,0,219,169,1,0,228,0,0,0,224,169,1,0,30,32,0,0,230,169,1,0,178,3,0,0,235,169,1,0,166,0,0,0,242,169,1,0,34,32,0,0,247,169,1,0,41,34,0,0,251,169,1,0,231,0,0,0,2,170,1,0,184,0,0,0,8,170,1,0,162,0,0,0,13,170,1,0,199,3,0,0,17,170,1,0,198,2,0,0,22,170,1,0,99,38,0,0,28,170,1,0,69,34,0,0,33,170,1,0,169,0,0,0,38,170,1,0,181,33,0,0,44,170,1,0,42,34,0,0,48,170,1,0,164,0,0,0,55,170,1,0,211,33,0,0,60,170,1,0,32,32,0,0,67,170,1,0,147,33,0,0,72,170,1,0,176,0,0,0,76,170,1,0,180,3,0,0,82,170,1,0,102,38,0,0,88,170,1,0,247,0,0,0,95,170,1,0,233,0,0,0,102,170,1,0,234,0,0,0,108,170,1,0,232,0,0,0,115,170,1,0,5,34,0,0,121,170,1,0,3,32,0,0,126,170,1,0,2,32,0,0,131,170,1,0,181,3,0,0,139,170,1,0,97,34,0,0,145,170,1,0,183,3,0,0,149,170,1,0,240,0,0,0,153,170,1,0,235,0,0,0,158,170,1,0,172,32,0,0,163,170,1,0,3,34,0,0,169,170,1,0,146,1,0,0,174,170,1,0,0,34,0,0,181,170,1,0,189,0,0,0,188,170,1,0,188,0,0,0,195,170,1,0,190,0,0,0,202,170,1,0,68,32,0,0,208,170,1,0,179,3,0,0,214,170,1,0,101,34,0,0,217,170,1,0,62,0,0,0,220,170,1,0,212,33,0,0,225,170,1,0,148,33,0,0,230,170,1,0,101,38,0,0,237,170,1,0,38,32,0,0,244,170,1,0,237,0,0,0,251,170,1,0,238,0,0,0,1,171,1,0,161,0,0,0,7,171,1,0,236,0,0,0,14,171,1,0,17,33,0,0,20,171,1,0,30,34,0,0,26,171,1,0,43,34,0,0,30,171,1,0,185,3,0,0,35,171,1,0,191,0,0,0,42,171,1,0,8,34,0,0,47,171,1,0,239,0,0,0,52,171,1,0,186,3,0,0,58,171,1,0,208,33,0,0,63,171,1,0,187,3,0,0,70,171,1,0,41,35,0,0,75,171,1,0,171,0,0,0,81,171,1,0,144,33,0,0,86,171,1,0,8,35,0,0,92,171,1,0,28,32,0,0,98,171,1,0,100,34,0,0,101,171,1,0,10,35,0,0,108,171,1,0,23,34,0,0,115,171,1,0,202,37,0,0,119,171,1,0,14,32,0,0,123,171,1,0,57,32,0,0,130,171,1,0,24,32,0,0,136,171,1,0,60,0,0,0,139,171,1,0,175,0,0,0,144,171,1,0,20,32,0,0,150,171,1,0,181,0,0,0,156,171,1,0,183,0,0,0,115,180,1,0,18,34,0,0,163,171,1,0,188,3,0,0,166,171,1,0,7,34,0,0,172,171,1,0,160,0,0,0,177,171,1,0,19,32,0,0,183,171,1,0,96,34,0,0,186,171,1,0,11,34,0,0,189,171,1,0,172,0,0,0,193,171,1,0,9,34,0,0,199,171,1,0,132,34,0,0,204,171,1,0,241,0,0,0,211,171,1,0,189,3,0,0,214,171,1,0,243,0,0,0,221,171,1,0,244,0,0,0,227,171,1,0,83,1,0,0,233,171,1,0,242,0,0,0,240,171,1,0,62,32,0,0,246,171,1,0,201,3,0,0,252,171,1,0,191,3,0,0,4,172,1,0,149,34,0,0,10,172,1,0,40,34,0,0,13,172,1,0,170,0,0,0,18,172,1,0,186,0,0,0,23,172,1,0,248,0,0,0,30,172,1,0,245,0,0,0,37,172,1,0,151,34,0,0,44,172,1,0,246,0,0,0,49,172,1,0,182,0,0,0,54,172,1,0,2,34,0,0,59,172,1,0,48,32,0,0,66,172,1,0,165,34,0,0,71,172,1,0,198,3,0,0,75,172,1,0,192,3,0,0,78,172,1,0,214,3,0,0,82,172,1,0,177,0,0,0,89,172,1,0,163,0,0,0,95,172,1,0,50,32,0,0,101,172,1,0,15,34,0,0,106,172,1,0,29,34,0,0,111,172,1,0,200,3,0,0,115,172,1,0,34,0,0,0,120,172,1,0,210,33,0,0,125,172,1,0,26,34,0,0,131,172,1,0,42,35,0,0,136,172,1,0,187,0,0,0,142,172,1,0,146,33,0,0,147,172,1,0,9,35,0,0,153,172,1,0,29,32,0,0,159,172,1,0,28,33,0,0,164,172,1,0,174,0,0,0,168,172,1,0,11,35,0,0,175,172,1,0,193,3,0,0,179,172,1,0,15,32,0,0,183,172,1,0,58,32,0,0,190,172,1,0,25,32,0,0,196,172,1,0,26,32,0,0,202,172,1,0,97,1,0,0,209,172,1,0,197,34,0,0,214,172,1,0,167,0,0,0,219,172,1,0,173,0,0,0,223,172,1,0,195,3,0,0,229,172,1,0,194,3,0,0,236,172,1,0,60,34,0,0,240,172,1,0,96,38,0,0,247,172,1,0,130,34,0,0,251,172,1,0,134,34,0,0,0,173,1,0,17,34,0,0,4,173,1,0,131,34,0,0,8,173,1,0,185,0,0,0,13,173,1,0,178,0,0,0,18,173,1,0,179,0,0,0,23,173,1,0,135,34,0,0,28,173,1,0,223,0,0,0,34,173,1,0,196,3,0,0,38,173,1,0,52,34,0,0,45,173,1,0,184,3,0,0,51,173,1,0,209,3,0,0,60,173,1,0,9,32,0,0,67,173,1,0,254,0,0,0,73,173,1,0,220,2,0,0,79,173,1,0,215,0,0,0,85,173,1,0,34,33,0,0,91,173,1,0,209,33,0,0,96,173,1,0,250,0,0,0,103,173,1,0,145,33,0,0,108,173,1,0,251,0,0,0,114,173,1,0,249,0,0,0,121,173,1,0,168,0,0,0,125,173,1,0,210,3,0,0,131,173,1,0,197,3,0,0,139,173,1,0,252,0,0,0,144,173,1,0,24,33,0,0,151,173,1,0,190,3,0,0,154,173,1,0,253,0,0,0,161,173,1,0,165,0,0,0,165,173,1,0,255,0,0,0,170,173,1,0,182,3,0,0,175,173,1,0,13,32,0,0,179,173,1,0,12,32,0,0,7,0,0,0,8,0,0,0,1,1,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,48,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,180,1,0,9,0,0,0,53,180,1,0,10,0,0,0,58,180,1,0,10,0,0,0,66,180,1,0,11,0,0,0,72,180,1,0,11,0,0,0,81,180,1,0,12,0,0,0,84,180,1,0,12,0,0,0,90,180,1,0,13,0,0,0,95,180,1,0,13,0,0,0,103,180,1,0,14,0,0,0,108,180,1,0,14,0,0,0,115,180,1,0,15,0,0,0,121,180,1,0,15,0,0,0,133,180,1,0,16,0,0,0,14,0,0,0,98,0,0,0,49,0,0,0,50,0,0,0,20,0,0,0,51,0,0,0,99,0,0,0,52,0,0,0,21,0,0,0,53,0,0,0,8,0,0,0,4,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,181,1,0,85,93,201,127,201,127,255,0,219,181,1,0,187,45,212,190,174,212,255,0,230,181,1,0,20,119,253,253,192,134,255,0,241,181,1,0,85,93,201,127,201,127,255,0,252,181,1,0,187,45,212,190,174,212,255,0,7,182,1,0,20,119,253,253,192,134,255,0,18,182,1,0,42,102,255,255,255,153,255,0,29,182,1,0,85,93,201,127,201,127,255,0,40,182,1,0,187,45,212,190,174,212,255,0,51,182,1,0,20,119,253,253,192,134,255,0,62,182,1,0,42,102,255,255,255,153,255,0,73,182,1,0,151,173,176,56,108,176,255,0,84,182,1,0,85,93,201,127,201,127,255,0,95,182,1,0,187,45,212,190,174,212,255,0,106,182,1,0,20,119,253,253,192,134,255,0,117,182,1,0,42,102,255,255,255,153,255,0,128,182,1,0,151,173,176,56,108,176,255,0,139,182,1,0,232,252,240,240,2,127,255,0,150,182,1,0,85,93,201,127,201,127,255,0,161,182,1,0,187,45,212,190,174,212,255,0,172,182,1,0,20,119,253,253,192,134,255,0,183,182,1,0,42,102,255,255,255,153,255,0,194,182,1,0,151,173,176,56,108,176,255,0,205,182,1,0,232,252,240,240,2,127,255,0,216,182,1,0,17,224,191,191,91,23,255,0,227,182,1,0,85,93,201,127,201,127,255,0,238,182,1,0,187,45,212,190,174,212,255,0,249,182,1,0,20,119,253,253,192,134,255,0,4,183,1,0,42,102,255,255,255,153,255,0,15,183,1,0,151,173,176,56,108,176,255,0,26,183,1,0,232,252,240,240,2,127,255,0,37,183,1,0,17,224,191,191,91,23,255,0,48,183,1,0,0,0,102,102,102,102,255,0,59,183,1,0,147,25,247,222,235,247,255,0,69,183,1,0,142,75,225,158,202,225,255,0,79,183,1,0,145,188,189,49,130,189,255,0,89,183,1,0,159,16,255,239,243,255,255,0,99,183,1,0,143,46,231,189,215,231,255,0,109,183,1,0,143,127,214,107,174,214,255,0,119,183,1,0,147,208,181,33,113,181,255,0,129,183,1,0,159,16,255,239,243,255,255,0,139,183,1,0,143,46,231,189,215,231,255,0,149,183,1,0,143,127,214,107,174,214,255,0,159,183,1,0,145,188,189,49,130,189,255,0,169,183,1,0,149,241,156,8,81,156,255,0,179,183,1,0,159,16,255,239,243,255,255,0,189,183,1,0,148,43,239,198,219,239,255,0,199,183,1,0,142,75,225,158,202,225,255,0,209,183,1,0,143,127,214,107,174,214,255,0,219,183,1,0,145,188,189,49,130,189,255,0,229,183,1,0,149,241,156,8,81,156,255,0,239,183,1,0,159,16,255,239,243,255,255,0,249,183,1,0,148,43,239,198,219,239,255,0,3,184,1,0,142,75,225,158,202,225,255,0,13,184,1,0,143,127,214,107,174,214,255,0,23,184,1,0,144,169,198,66,146,198,255,0,33,184,1,0,147,208,181,33,113,181,255,0,43,184,1,0,151,241,148,8,69,148,255,0,53,184,1,0,148,8,255,247,251,255,255,0,63,184,1,0,147,25,247,222,235,247,255,0,73,184,1,0,148,43,239,198,219,239,255,0,83,184,1,0,142,75,225,158,202,225,255,0,93,184,1,0,143,127,214,107,174,214,255,0,103,184,1,0,144,169,198,66,146,198,255,0,113,184,1,0,147,208,181,33,113,181,255,0,123,184,1,0,151,241,148,8,69,148,255,0,133,184,1,0,148,8,255,247,251,255,255,0,143,184,1,0,147,25,247,222,235,247,255,0,153,184,1,0,148,43,239,198,219,239,255,0,163,184,1,0,142,75,225,158,202,225,255,0,173,184,1,0,143,127,214,107,174,214,255,0,183,184,1,0,144,169,198,66,146,198,255,0,193,184,1,0,147,208,181,33,113,181,255,0,203,184,1,0,149,241,156,8,81,156,255,0,213,184,1,0,152,235,107,8,48,107,255,0,223,184,1,0,23,239,84,84,48,5,255,0,233,184,1,0,119,255,60,0,60,48,255,0,244,184,1,0,23,236,140,140,81,10,255,0,254,184,1,0,24,194,191,191,129,45,255,0,8,185,1,0,29,112,223,223,194,125,255,0,18,185,1,0,30,52,246,246,232,195,255,0,28,185,1,0,121,38,234,199,234,229,255,0,38,185,1,0,120,95,205,128,205,193,255,0,48,185,1,0,124,165,151,53,151,143,255,0,58,185,1,0,124,252,102,1,102,94,255,0,68,185,1,0,23,239,84,84,48,5,255,0,78,185,1,0,124,252,102,1,102,94,255,0,89,185,1,0,119,255,60,0,60,48,255,0,100,185,1,0,23,236,140,140,81,10,255,0,110,185,1,0,24,194,191,191,129,45,255,0,120,185,1,0,29,112,223,223,194,125,255,0,130,185,1,0,30,52,246,246,232,195,255,0,140,185,1,0,0,0,245,245,245,245,255,0,150,185,1,0,121,38,234,199,234,229,255,0,160,185,1,0,120,95,205,128,205,193,255,0,170,185,1,0,124,165,151,53,151,143,255,0,180,185,1,0,28,135,216,216,179,101,255,0,189,185,1,0,0,0,245,245,245,245,255,0,198,185,1,0,123,127,180,90,180,172,255,0,207,185,1,0,21,215,166,166,97,26,255,0,216,185,1,0,29,112,223,223,194,125,255,0,225,185,1,0,120,95,205,128,205,193,255,0,234,185,1,0,121,253,133,1,133,113,255,0,243,185,1,0,21,215,166,166,97,26,255,0,252,185,1,0,29,112,223,223,194,125,255,0,5,186,1,0,0,0,245,245,245,245,255,0,14,186,1,0,120,95,205,128,205,193,255,0,23,186,1,0,121,253,133,1,133,113,255,0,32,186,1,0,23,236,140,140,81,10,255,0,41,186,1,0,28,135,216,216,179,101,255,0,50,186,1,0,30,52,246,246,232,195,255,0,59,186,1,0,121,38,234,199,234,229,255,0,68,186,1,0,123,127,180,90,180,172,255,0,77,186,1,0,124,252,102,1,102,94,255,0,86,186,1,0,23,236,140,140,81,10,255,0,95,186,1,0,28,135,216,216,179,101,255,0,104,186,1,0,30,52,246,246,232,195,255,0,113,186,1,0,0,0,245,245,245,245,255,0,122,186,1,0,121,38,234,199,234,229,255,0,131,186,1,0,123,127,180,90,180,172,255,0,140,186,1,0,124,252,102,1,102,94,255,0,149,186,1,0,23,236,140,140,81,10,255,0,158,186,1,0,24,194,191,191,129,45,255,0,167,186,1,0,29,112,223,223,194,125,255,0,176,186,1,0,30,52,246,246,232,195,255,0,185,186,1,0,121,38,234,199,234,229,255,0,194,186,1,0,120,95,205,128,205,193,255,0,203,186,1,0,124,165,151,53,151,143,255,0,212,186,1,0,124,252,102,1,102,94,255,0,221,186,1,0,23,236,140,140,81,10,255,0,230,186,1,0,24,194,191,191,129,45,255,0,239,186,1,0,29,112,223,223,194,125,255,0,248,186,1,0,30,52,246,246,232,195,255,0,1,187,1,0,0,0,245,245,245,245,255,0,10,187,1,0,121,38,234,199,234,229,255,0,19,187,1,0,120,95,205,128,205,193,255,0,28,187,1,0,124,165,151,53,151,143,255,0,37,187,1,0,124,252,102,1,102,94,255,0,46,187,1,0,135,20,249,229,245,249,255,0,55,187,1,0,117,74,216,153,216,201,255,0,64,187,1,0,103,185,162,44,162,95,255,0,73,187,1,0,136,14,251,237,248,251,255,0,82,187,1,0,127,54,226,178,226,226,255,0,91,187,1,0,113,120,194,102,194,164,255,0,100,187,1,0,98,190,139,35,139,69,255,0,109,187,1,0,136,14,251,237,248,251,255,0,118,187,1,0,127,54,226,178,226,226,255,0,127,187,1,0,113,120,194,102,194,164,255,0,136,187,1,0,103,185,162,44,162,95,255,0,145,187,1,0,102,255,109,0,109,44,255,0,154,187,1,0,136,14,251,237,248,251,255,0,163,187,1,0,119,34,236,204,236,230,255,0,172,187,1,0,117,74,216,153,216,201,255,0,181,187,1,0,113,120,194,102,194,164,255,0,190,187,1,0,103,185,162,44,162,95,255,0,199,187,1,0,102,255,109,0,109,44,255,0,208,187,1,0,136,14,251,237,248,251,255,0,217,187,1,0,119,34,236,204,236,230,255,0,226,187,1,0,117,74,216,153,216,201,255,0,235,187,1,0,113,120,194,102,194,164,255,0,244,187,1,0,105,159,174,65,174,118,255,0,253,187,1,0,98,190,139,35,139,69,255,0,6,188,1,0,102,255,88,0,88,36,255,0,15,188,1,0,134,6,253,247,252,253,255,0,24,188,1,0,135,20,249,229,245,249,255,0,33,188,1,0,119,34,236,204,236,230,255,0,42,188,1,0,117,74,216,153,216,201,255,0,51,188,1,0,113,120,194,102,194,164,255,0,60,188,1,0,105,159,174,65,174,118,255,0,69,188,1,0,98,190,139,35,139,69,255,0,78,188,1,0,102,255,88,0,88,36,255,0,87,188,1,0,134,6,253,247,252,253,255,0,96,188,1,0,135,20,249,229,245,249,255,0,105,188,1,0,119,34,236,204,236,230,255,0,114,188,1,0,117,74,216,153,216,201,255,0,123,188,1,0,113,120,194,102,194,164,255,0,132,188,1,0,105,159,174,65,174,118,255,0,141,188,1,0,98,190,139,35,139,69,255,0,150,188,1,0,102,255,109,0,109,44,255,0,159,188,1,0,101,255,68,0,68,27,255,0,168,188,1,0,144,20,244,224,236,244,255,0,177,188,1,0,148,70,218,158,188,218,255,0,186,188,1,0,196,123,167,136,86,167,255,0,195,188,1,0,136,14,251,237,248,251,255,0,204,188,1,0,146,53,227,179,205,227,255,0,213,188,1,0,162,74,198,140,150,198,255,0,222,188,1,0,202,149,157,136,65,157,255,0,231,188,1,0,136,14,251,237,248,251,255,0,240,188,1,0,146,53,227,179,205,227,255,0,249,188,1,0,162,74,198,140,150,198,255,0,2,189,1,0,196,123,167,136,86,167,255,0,11,189,1,0,214,225,129,129,15,124,255,0,20,189,1,0,136,14,251,237,248,251,255,0,29,189,1,0,148,43,230,191,211,230,255,0,38,189,1,0,148,70,218,158,188,218,255,0,47,189,1,0,162,74,198,140,150,198,255,0,56,189,1,0,196,123,167,136,86,167,255,0,65,189,1,0,214,225,129,129,15,124,255,0,74,189,1,0,136,14,251,237,248,251,255,0,83,189,1,0,148,43,230,191,211,230,255,0,92,189,1,0,148,70,218,158,188,218,255,0,101,189,1,0,162,74,198,140,150,198,255,0,110,189,1,0,190,100,177,140,107,177,255,0,119,189,1,0,202,149,157,136,65,157,255,0,128,189,1,0,213,252,110,110,1,107,255,0,137,189,1,0,134,6,253,247,252,253,255,0,146,189,1,0,144,20,244,224,236,244,255,0,155,189,1,0,148,43,230,191,211,230,255,0,164,189,1,0,148,70,218,158,188,218,255,0,173,189,1,0,162,74,198,140,150,198,255,0,182,189,1,0,190,100,177,140,107,177,255,0,191,189,1,0,202,149,157,136,65,157,255,0,200,189,1,0,213,252,110,110,1,107,255,0,209,189,1,0,134,6,253,247,252,253,255,0,218,189,1,0,144,20,244,224,236,244,255,0,227,189,1,0,148,43,230,191,211,230,255,0,236,189,1,0,148,70,218,158,188,218,255,0,245,189,1,0,162,74,198,140,150,198,255,0,254,189,1,0,190,100,177,140,107,177,255,0,7,190,1,0,202,149,157,136,65,157,255,0,16,190,1,0,214,225,129,129,15,124,255,0,25,190,1,0,213,255,77,77,0,75,255,0,34,190,1,0,114,211,158,27,158,119,255,0,44,190,1,0,18,252,217,217,95,2,255,0,54,190,1,0,173,95,179,117,112,179,255,0,64,190,1,0,114,211,158,27,158,119,255,0,74,190,1,0,18,252,217,217,95,2,255,0,84,190,1,0,173,95,179,117,112,179,255,0,94,190,1,0,233,209,231,231,41,138,255,0,104,190,1,0,114,211,158,27,158,119,255,0,114,190,1,0,18,252,217,217,95,2,255,0,124,190,1,0,173,95,179,117,112,179,255,0,134,190,1,0,233,209,231,231,41,138,255,0,144,190,1,0,62,208,166,102,166,30,255,0,154,190,1,0,114,211,158,27,158,119,255,0,164,190,1,0,18,252,217,217,95,2,255,0,174,190,1,0,173,95,179,117,112,179,255,0,184,190,1,0,233,209,231,231,41,138,255,0,194,190,1,0,62,208,166,102,166,30,255,0,204,190,1,0,31,252,230,230,171,2,255,0,214,190,1,0,114,211,158,27,158,119,255,0,224,190,1,0,18,252,217,217,95,2,255,0,234,190,1,0,173,95,179,117,112,179,255,0,244,190,1,0,233,209,231,231,41,138,255,0,254,190,1,0,62,208,166,102,166,30,255,0,8,191,1,0,31,252,230,230,171,2,255,0,18,191,1,0,27,210,166,166,118,29,255,0,28,191,1,0,114,211,158,27,158,119,255,0,38,191,1,0,18,252,217,217,95,2,255,0,48,191,1,0,173,95,179,117,112,179,255,0,58,191,1,0,233,209,231,231,41,138,255,0,68,191,1,0,62,208,166,102,166,30,255,0,78,191,1,0,31,252,230,230,171,2,255,0,88,191,1,0,27,210,166,166,118,29,255,0,98,191,1,0,0,0,102,102,102,102,255,0,108,191,1,0,76,25,243,224,243,219,255,0,117,191,1,0,95,61,221,168,221,181,255,0,126,191,1,0,140,170,202,67,162,202,255,0,135,191,1,0,65,17,249,240,249,232,255,0,144,191,1,0,87,46,228,186,228,188,255,0,153,191,1,0,123,101,204,123,204,196,255,0,162,191,1,0,141,197,190,43,140,190,255,0,171,191,1,0,65,17,249,240,249,232,255,0,180,191,1,0,87,46,228,186,228,188,255,0,189,191,1,0,123,101,204,123,204,196,255,0,198,191,1,0,140,170,202,67,162,202,255,0,207,191,1,0,145,243,172,8,104,172,255,0,216,191,1,0,65,17,249,240,249,232,255,0,225,191,1,0,77,41,235,204,235,197,255,0,234,191,1,0,95,61,221,168,221,181,255,0,243,191,1,0,123,101,204,123,204,196,255,0,252,191,1,0,140,170,202,67,162,202,255,0,5,192,1,0,145,243,172,8,104,172,255,0,14,192,1,0,65,17,249,240,249,232,255,0,23,192,1,0,77,41,235,204,235,197,255,0,32,192,1,0,95,61,221,168,221,181,255,0,41,192,1,0,123,101,204,123,204,196,255,0,50,192,1,0,137,160,211,78,179,211,255,0,59,192,1,0,141,197,190,43,140,190,255,0,68,192,1,0,147,242,158,8,88,158,255,0,77,192,1,0,60,12,252,247,252,240,255,0,86,192,1,0,76,25,243,224,243,219,255,0,95,192,1,0,77,41,235,204,235,197,255,0,104,192,1,0,95,61,221,168,221,181,255,0,113,192,1,0,123,101,204,123,204,196,255,0,122,192,1,0,137,160,211,78,179,211,255,0,131,192,1,0,141,197,190,43,140,190,255,0,140,192,1,0,147,242,158,8,88,158,255,0,149,192,1,0,60,12,252,247,252,240,255,0,158,192,1,0,76,25,243,224,243,219,255,0,167,192,1,0,77,41,235,204,235,197,255,0,176,192,1,0,95,61,221,168,221,181,255,0,185,192,1,0,123,101,204,123,204,196,255,0,194,192,1,0,137,160,211,78,179,211,255,0,203,192,1,0,141,197,190,43,140,190,255,0,212,192,1,0,145,243,172,8,104,172,255,0,221,192,1,0,150,239,129,8,64,129,255,0,230,192,1,0,74,21,245,229,245,224,255,0,241,192,1,0,80,72,217,161,217,155,255,0,252,192,1,0,98,178,163,49,163,84,255,0,7,193,1,0,73,15,248,237,248,233,255,0,18,193,1,0,78,54,228,186,228,179,255,0,29,193,1,0,86,104,196,116,196,118,255,0,40,193,1,0,98,190,139,35,139,69,255,0,51,193,1,0,73,15,248,237,248,233,255,0,62,193,1,0,78,54,228,186,228,179,255,0,73,193,1,0,86,104,196,116,196,118,255,0,84,193,1,0,98,178,163,49,163,84,255,0,95,193,1,0,102,255,109,0,109,44,255,0,106,193,1,0,73,15,248,237,248,233,255,0,117,193,1,0,77,44,233,199,233,192,255,0,128,193,1,0,80,72,217,161,217,155,255,0,139,193,1,0,86,104,196,116,196,118,255,0,150,193,1,0,98,178,163,49,163,84,255,0,161,193,1,0,102,255,109,0,109,44,255,0,172,193,1,0,73,15,248,237,248,233,255,0,183,193,1,0,77,44,233,199,233,192,255,0,194,193,1,0,80,72,217,161,217,155,255,0,205,193,1,0,86,104,196,116,196,118,255,0,216,193,1,0,96,158,171,65,171,93,255,0,227,193,1,0,98,190,139,35,139,69,255,0,238,193,1,0,108,255,90,0,90,50,255,0,249,193,1,0,72,7,252,247,252,245,255,0,4,194,1,0,74,21,245,229,245,224,255,0,15,194,1,0,77,44,233,199,233,192,255,0,26,194,1,0,80,72,217,161,217,155,255,0,37,194,1,0,86,104,196,116,196,118,255,0,48,194,1,0,96,158,171,65,171,93,255,0,59,194,1,0,98,190,139,35,139,69,255,0,70,194,1,0,108,255,90,0,90,50,255,0,81,194,1,0,72,7,252,247,252,245,255,0,92,194,1,0,74,21,245,229,245,224,255,0,103,194,1,0,77,44,233,199,233,192,255,0,114,194,1,0,80,72,217,161,217,155,255,0,125,194,1,0,86,104,196,116,196,118,255,0,136,194,1,0,96,158,171,65,171,93,255,0,147,194,1,0,98,190,139,35,139,69,255,0,158,194,1,0,102,255,109,0,109,44,255,0,169,194,1,0,101,255,68,0,68,27,255,0,180,194,1,0,0,0,240,240,240,240,255,0,190,194,1,0,0,0,189,189,189,189,255,0,200,194,1,0,0,0,99,99,99,99,255,0,210,194,1,0,0,0,247,247,247,247,255,0,220,194,1,0,0,0,204,204,204,204,255,0,230,194,1,0,0,0,150,150,150,150,255,0,240,194,1,0,0,0,82,82,82,82,255,0,250,194,1,0,0,0,247,247,247,247,255,0,4,195,1,0,0,0,204,204,204,204,255,0,14,195,1,0,0,0,150,150,150,150,255,0,24,195,1,0,0,0,99,99,99,99,255,0,34,195,1,0,0,0,37,37,37,37,255,0,44,195,1,0,0,0,247,247,247,247,255,0,54,195,1,0,0,0,217,217,217,217,255,0,64,195,1,0,0,0,189,189,189,189,255,0,74,195,1,0,0,0,150,150,150,150,255,0,84,195,1,0,0,0,99,99,99,99,255,0,94,195,1,0,0,0,37,37,37,37,255,0,104,195,1,0,0,0,247,247,247,247,255,0,114,195,1,0,0,0,217,217,217,217,255,0,124,195,1,0,0,0,189,189,189,189,255,0,134,195,1,0,0,0,150,150,150,150,255,0,144,195,1,0,0,0,115,115,115,115,255,0,154,195,1,0,0,0,82,82,82,82,255,0,164,195,1,0,0,0,37,37,37,37,255,0,174,195,1,0,0,0,255,255,255,255,255,0,184,195,1,0,0,0,240,240,240,240,255,0,194,195,1,0,0,0,217,217,217,217,255,0,204,195,1,0,0,0,189,189,189,189,255,0,214,195,1,0,0,0,150,150,150,150,255,0,224,195,1,0,0,0,115,115,115,115,255,0,234,195,1,0,0,0,82,82,82,82,255,0,244,195,1,0,0,0,37,37,37,37,255,0,254,195,1,0,0,0,255,255,255,255,255,0,8,196,1,0,0,0,240,240,240,240,255,0,18,196,1,0,0,0,217,217,217,217,255,0,28,196,1,0,0,0,189,189,189,189,255,0,38,196,1,0,0,0,150,150,150,150,255,0,48,196,1,0,0,0,115,115,115,115,255,0,58,196,1,0,0,0,82,82,82,82,255,0,68,196,1,0,0,0,37,37,37,37,255,0,78,196,1,0,0,0,0,0,0,0,255,0,88,196,1,0,21,48,254,254,230,206,255,0,100,196,1,0,19,147,253,253,174,107,255,0,112,196,1,0,14,240,230,230,85,13,255,0,124,196,1,0,19,32,254,254,237,222,255,0,136,196,1,0,20,120,253,253,190,133,255,0,148,196,1,0,17,194,253,253,141,60,255,0,160,196,1,0,13,253,217,217,71,1,255,0,172,196,1,0,19,32,254,254,237,222,255,0,184,196,1,0,20,120,253,253,190,133,255,0,196,196,1,0,17,194,253,253,141,60,255,0,208,196,1,0,14,240,230,230,85,13,255,0,220,196,1,0,13,250,166,166,54,3,255,0,232,196,1,0,19,32,254,254,237,222,255,0,244,196,1],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20484);allocate([21,91,253,253,208,162,255,0,0,197,1,0,19,147,253,253,174,107,255,0,12,197,1,0,17,194,253,253,141,60,255,0,24,197,1,0,14,240,230,230,85,13,255,0,36,197,1,0,13,250,166,166,54,3,255,0,48,197,1,0,19,32,254,254,237,222,255,0,60,197,1,0,21,91,253,253,208,162,255,0,72,197,1,0,19,147,253,253,174,107,255,0,84,197,1,0,17,194,253,253,141,60,255,0,96,197,1,0,16,234,241,241,105,19,255,0,108,197,1,0,13,253,217,217,72,1,255,0,120,197,1,0,12,247,140,140,45,4,255,0,132,197,1,0,21,20,255,255,245,235,255,0,144,197,1,0,21,48,254,254,230,206,255,0,156,197,1,0,21,91,253,253,208,162,255,0,168,197,1,0,19,147,253,253,174,107,255,0,180,197,1,0,17,194,253,253,141,60,255,0,192,197,1,0,16,234,241,241,105,19,255,0,204,197,1,0,13,253,217,217,72,1,255,0,216,197,1,0,12,247,140,140,45,4,255,0,228,197,1,0,21,20,255,255,245,235,255,0,240,197,1,0,21,48,254,254,230,206,255,0,252,197,1,0,21,91,253,253,208,162,255,0,8,198,1,0,19,147,253,253,174,107,255,0,20,198,1,0,17,194,253,253,141,60,255,0,32,198,1,0,16,234,241,241,105,19,255,0,44,198,1,0,13,253,217,217,72,1,255,0,56,198,1,0,13,250,166,166,54,3,255,0,68,198,1,0,12,246,127,127,39,4,255,0,80,198,1,0,25,54,254,254,232,200,255,0,89,198,1,0,19,121,253,253,187,132,255,0,98,198,1,0,5,197,227,227,74,51,255,0,107,198,1,0,26,37,254,254,240,217,255,0,116,198,1,0,24,115,253,253,204,138,255,0,125,198,1,0,13,164,252,252,141,89,255,0,134,198,1,0,3,218,215,215,48,31,255,0,143,198,1,0,26,37,254,254,240,217,255,0,152,198,1,0,24,115,253,253,204,138,255,0,161,198,1,0,13,164,252,252,141,89,255,0,170,198,1,0,5,197,227,227,74,51,255,0,179,198,1,0,0,255,179,179,0,0,255,0,188,198,1,0,26,37,254,254,240,217,255,0,197,198,1,0,24,95,253,253,212,158,255,0,206,198,1,0,19,121,253,253,187,132,255,0,215,198,1,0,13,164,252,252,141,89,255,0,224,198,1,0,5,197,227,227,74,51,255,0,233,198,1,0,0,255,179,179,0,0,255,0,242,198,1,0,26,37,254,254,240,217,255,0,251,198,1,0,24,95,253,253,212,158,255,0,4,199,1,0,19,121,253,253,187,132,255,0,13,199,1,0,13,164,252,252,141,89,255,0,22,199,1,0,7,178,239,239,101,72,255,0,31,199,1,0,3,218,215,215,48,31,255,0,40,199,1,0,0,255,153,153,0,0,255,0,49,199,1,0,24,18,255,255,247,236,255,0,58,199,1,0,25,54,254,254,232,200,255,0,67,199,1,0,24,95,253,253,212,158,255,0,76,199,1,0,19,121,253,253,187,132,255,0,85,199,1,0,13,164,252,252,141,89,255,0,94,199,1,0,7,178,239,239,101,72,255,0,103,199,1,0,3,218,215,215,48,31,255,0,112,199,1,0,0,255,153,153,0,0,255,0,121,199,1,0,24,18,255,255,247,236,255,0,130,199,1,0,25,54,254,254,232,200,255,0,139,199,1,0,24,95,253,253,212,158,255,0,148,199,1,0,19,121,253,253,187,132,255,0,157,199,1,0,13,164,252,252,141,89,255,0,166,199,1,0,7,178,239,239,101,72,255,0,175,199,1,0,3,218,215,215,48,31,255,0,184,199,1,0,0,255,179,179,0,0,255,0,193,199,1,0,0,255,127,127,0,0,255,0,202,199,1,0,142,68,227,166,206,227,255,0,214,199,1,0,190,153,154,106,61,154,255,0,227,199,1,0,144,211,180,31,120,180,255,0,239,199,1,0,65,97,223,178,223,138,255,0,251,199,1,0,82,184,160,51,160,44,255,0,7,200,1,0,0,99,251,251,154,153,255,0,19,200,1,0,254,225,227,227,26,28,255,0,31,200,1,0,23,143,253,253,191,111,255,0,43,200,1,0,21,255,255,255,127,0,255,0,55,200,1,0,198,42,214,202,178,214,255,0,67,200,1,0,142,68,227,166,206,227,255,0,79,200,1,0,190,153,154,106,61,154,255,0,92,200,1,0,42,102,255,255,255,153,255,0,105,200,1,0,144,211,180,31,120,180,255,0,117,200,1,0,65,97,223,178,223,138,255,0,129,200,1,0,82,184,160,51,160,44,255,0,141,200,1,0,0,99,251,251,154,153,255,0,153,200,1,0,254,225,227,227,26,28,255,0,165,200,1,0,23,143,253,253,191,111,255,0,177,200,1,0,21,255,255,255,127,0,255,0,189,200,1,0,198,42,214,202,178,214,255,0,201,200,1,0,142,68,227,166,206,227,255,0,213,200,1,0,190,153,154,106,61,154,255,0,226,200,1,0,42,102,255,255,255,153,255,0,239,200,1,0,15,197,177,177,89,40,255,0,252,200,1,0,144,211,180,31,120,180,255,0,8,201,1,0,65,97,223,178,223,138,255,0,20,201,1,0,82,184,160,51,160,44,255,0,32,201,1,0,0,99,251,251,154,153,255,0,44,201,1,0,254,225,227,227,26,28,255,0,56,201,1,0,23,143,253,253,191,111,255,0,68,201,1,0,21,255,255,255,127,0,255,0,80,201,1,0,198,42,214,202,178,214,255,0,92,201,1,0,142,68,227,166,206,227,255,0,103,201,1,0,144,211,180,31,120,180,255,0,114,201,1,0,65,97,223,178,223,138,255,0,125,201,1,0,142,68,227,166,206,227,255,0,136,201,1,0,144,211,180,31,120,180,255,0,147,201,1,0,65,97,223,178,223,138,255,0,158,201,1,0,82,184,160,51,160,44,255,0,169,201,1,0,142,68,227,166,206,227,255,0,180,201,1,0,144,211,180,31,120,180,255,0,191,201,1,0,65,97,223,178,223,138,255,0,202,201,1,0,82,184,160,51,160,44,255,0,213,201,1,0,0,99,251,251,154,153,255,0,224,201,1,0,142,68,227,166,206,227,255,0,235,201,1,0,144,211,180,31,120,180,255,0,246,201,1,0,65,97,223,178,223,138,255,0,1,202,1,0,82,184,160,51,160,44,255,0,12,202,1,0,0,99,251,251,154,153,255,0,23,202,1,0,254,225,227,227,26,28,255,0,34,202,1,0,142,68,227,166,206,227,255,0,45,202,1,0,144,211,180,31,120,180,255,0,56,202,1,0,65,97,223,178,223,138,255,0,67,202,1,0,82,184,160,51,160,44,255,0,78,202,1,0,0,99,251,251,154,153,255,0,89,202,1,0,254,225,227,227,26,28,255,0,100,202,1,0,23,143,253,253,191,111,255,0,111,202,1,0,142,68,227,166,206,227,255,0,122,202,1,0,144,211,180,31,120,180,255,0,133,202,1,0,65,97,223,178,223,138,255,0,144,202,1,0,82,184,160,51,160,44,255,0,155,202,1,0,0,99,251,251,154,153,255,0,166,202,1,0,254,225,227,227,26,28,255,0,177,202,1,0,23,143,253,253,191,111,255,0,188,202,1,0,21,255,255,255,127,0,255,0,199,202,1,0,142,68,227,166,206,227,255,0,210,202,1,0,144,211,180,31,120,180,255,0,221,202,1,0,65,97,223,178,223,138,255,0,232,202,1,0,82,184,160,51,160,44,255,0,243,202,1,0,0,99,251,251,154,153,255,0,254,202,1,0,254,225,227,227,26,28,255,0,9,203,1,0,23,143,253,253,191,111,255,0,20,203,1,0,21,255,255,255,127,0,255,0,31,203,1,0,198,42,214,202,178,214,255,0,42,203,1,0,3,78,251,251,180,174,255,0,54,203,1,0,146,53,227,179,205,227,255,0,66,203,1,0,77,41,235,204,235,197,255,0,78,203,1,0,3,78,251,251,180,174,255,0,90,203,1,0,146,53,227,179,205,227,255,0,102,203,1,0,77,41,235,204,235,197,255,0,114,203,1,0,202,27,228,222,203,228,255,0,126,203,1,0,3,78,251,251,180,174,255,0,138,203,1,0,146,53,227,179,205,227,255,0,150,203,1,0,77,41,235,204,235,197,255,0,162,203,1,0,202,27,228,222,203,228,255,0,174,203,1,0,24,88,254,254,217,166,255,0,186,203,1,0,3,78,251,251,180,174,255,0,198,203,1,0,146,53,227,179,205,227,255,0,210,203,1,0,77,41,235,204,235,197,255,0,222,203,1,0,202,27,228,222,203,228,255,0,234,203,1,0,24,88,254,254,217,166,255,0,246,203,1,0,42,50,255,255,255,204,255,0,2,204,1,0,3,78,251,251,180,174,255,0,14,204,1,0,146,53,227,179,205,227,255,0,26,204,1,0,77,41,235,204,235,197,255,0,38,204,1,0,202,27,228,222,203,228,255,0,50,204,1,0,24,88,254,254,217,166,255,0,62,204,1,0,42,50,255,255,255,204,255,0,74,204,1,0,28,44,229,229,216,189,255,0,86,204,1,0,3,78,251,251,180,174,255,0,98,204,1,0,146,53,227,179,205,227,255,0,110,204,1,0,77,41,235,204,235,197,255,0,122,204,1,0,202,27,228,222,203,228,255,0,134,204,1,0,24,88,254,254,217,166,255,0,146,204,1,0,42,50,255,255,255,204,255,0,158,204,1,0,28,44,229,229,216,189,255,0,170,204,1,0,233,35,253,253,218,236,255,0,182,204,1,0,3,78,251,251,180,174,255,0,194,204,1,0,146,53,227,179,205,227,255,0,206,204,1,0,77,41,235,204,235,197,255,0,218,204,1,0,202,27,228,222,203,228,255,0,230,204,1,0,24,88,254,254,217,166,255,0,242,204,1,0,42,50,255,255,255,204,255,0,254,204,1,0,28,44,229,229,216,189,255,0,10,205,1,0,233,35,253,253,218,236,255,0,22,205,1,0,0,0,242,242,242,242,255,0,34,205,1,0,108,53,226,179,226,205,255,0,46,205,1,0,17,81,253,253,205,172,255,0,58,205,1,0,155,31,232,203,213,232,255,0,70,205,1,0,108,53,226,179,226,205,255,0,82,205,1,0,17,81,253,253,205,172,255,0,94,205,1,0,155,31,232,203,213,232,255,0,106,205,1,0,228,43,244,244,202,228,255,0,118,205,1,0,108,53,226,179,226,205,255,0,130,205,1,0,17,81,253,253,205,172,255,0,142,205,1,0,155,31,232,203,213,232,255,0,154,205,1,0,228,43,244,244,202,228,255,0,166,205,1,0,56,45,245,230,245,201,255,0,178,205,1,0,108,53,226,179,226,205,255,0,190,205,1,0,17,81,253,253,205,172,255,0,202,205,1,0,155,31,232,203,213,232,255,0,214,205,1,0,228,43,244,244,202,228,255,0,226,205,1,0,56,45,245,230,245,201,255,0,238,205,1,0,35,81,255,255,242,174,255,0,250,205,1,0,108,53,226,179,226,205,255,0,6,206,1,0,17,81,253,253,205,172,255,0,18,206,1,0,155,31,232,203,213,232,255,0,30,206,1,0,228,43,244,244,202,228,255,0,42,206,1,0,56,45,245,230,245,201,255,0,54,206,1,0,35,81,255,255,242,174,255,0,66,206,1,0,25,39,241,241,226,204,255,0,78,206,1,0,108,53,226,179,226,205,255,0,90,206,1,0,17,81,253,253,205,172,255,0,102,206,1,0,155,31,232,203,213,232,255,0,114,206,1,0,228,43,244,244,202,228,255,0,126,206,1,0,56,45,245,230,245,201,255,0,138,206,1,0,35,81,255,255,242,174,255,0,150,206,1,0,25,39,241,241,226,204,255,0,162,206,1,0,0,0,204,204,204,204,255,0,174,206,1,0,230,253,142,142,1,82,255,0,184,206,1,0,77,191,100,39,100,25,255,0,195,206,1,0,230,220,197,197,27,125,255,0,205,206,1,0,232,118,222,222,119,174,255,0,215,206,1,0,229,62,241,241,182,218,255,0,225,206,1,0,233,29,253,253,224,239,255,0,235,206,1,0,59,38,245,230,245,208,255,0,245,206,1,0,61,103,225,184,225,134,255,0,255,206,1,0,63,166,188,127,188,65,255,0,9,207,1,0,68,197,146,77,146,33,255,0,19,207,1,0,230,253,142,142,1,82,255,0,29,207,1,0,68,197,146,77,146,33,255,0,40,207,1,0,77,191,100,39,100,25,255,0,51,207,1,0,230,220,197,197,27,125,255,0,61,207,1,0,232,118,222,222,119,174,255,0,71,207,1,0,229,62,241,241,182,218,255,0,81,207,1,0,233,29,253,253,224,239,255,0,91,207,1,0,0,0,247,247,247,247,255,0,101,207,1,0,59,38,245,230,245,208,255,0,111,207,1,0,61,103,225,184,225,134,255,0,121,207,1,0,63,166,188,127,188,65,255,0,131,207,1,0,231,76,233,233,163,201,255,0,140,207,1,0,0,0,247,247,247,247,255,0,149,207,1,0,63,129,215,161,215,106,255,0,158,207,1,0,228,220,208,208,28,139,255,0,167,207,1,0,229,62,241,241,182,218,255,0,176,207,1,0,61,103,225,184,225,134,255,0,185,207,1,0,72,198,172,77,172,38,255,0,194,207,1,0,228,220,208,208,28,139,255,0,203,207,1,0,229,62,241,241,182,218,255,0,212,207,1,0,0,0,247,247,247,247,255,0,221,207,1,0,61,103,225,184,225,134,255,0,230,207,1,0,72,198,172,77,172,38,255,0,239,207,1,0,230,220,197,197,27,125,255,0,248,207,1,0,231,76,233,233,163,201,255,0,1,208,1,0,233,29,253,253,224,239,255,0,10,208,1,0,59,38,245,230,245,208,255,0,19,208,1,0,63,129,215,161,215,106,255,0,28,208,1,0,68,197,146,77,146,33,255,0,37,208,1,0,230,220,197,197,27,125,255,0,46,208,1,0,231,76,233,233,163,201,255,0,55,208,1,0,233,29,253,253,224,239,255,0,64,208,1,0,0,0,247,247,247,247,255,0,73,208,1,0,59,38,245,230,245,208,255,0,82,208,1,0,63,129,215,161,215,106,255,0,91,208,1,0,68,197,146,77,146,33,255,0,100,208,1,0,230,220,197,197,27,125,255,0,109,208,1,0,232,118,222,222,119,174,255,0,118,208,1,0,229,62,241,241,182,218,255,0,127,208,1,0,233,29,253,253,224,239,255,0,136,208,1,0,59,38,245,230,245,208,255,0,145,208,1,0,61,103,225,184,225,134,255,0,154,208,1,0,63,166,188,127,188,65,255,0,163,208,1,0,68,197,146,77,146,33,255,0,172,208,1,0,230,220,197,197,27,125,255,0,181,208,1,0,232,118,222,222,119,174,255,0,190,208,1,0,229,62,241,241,182,218,255,0,199,208,1,0,233,29,253,253,224,239,255,0,208,208,1,0,0,0,247,247,247,247,255,0,217,208,1,0,59,38,245,230,245,208,255,0,226,208,1,0,61,103,225,184,225,134,255,0,235,208,1,0,63,166,188,127,188,65,255,0,244,208,1,0,68,197,146,77,146,33,255,0,253,208,1,0,206,255,75,64,0,75,255,0,7,209,1,0,101,255,68,0,68,27,255,0,18,209,1,0,206,173,131,118,42,131,255,0,28,209,1,0,199,87,171,153,112,171,255,0,38,209,1,0,199,51,207,194,165,207,255,0,48,209,1,0,210,21,232,231,212,232,255,0,58,209,1,0,76,30,240,217,240,211,255,0,68,209,1,0,80,68,219,166,219,160,255,0,78,209,1,0,88,123,174,90,174,97,255,0,88,209,1,0,97,197,120,27,120,55,255,0,98,209,1,0,206,255,75,64,0,75,255,0,108,209,1,0,97,197,120,27,120,55,255,0,119,209,1,0,101,255,68,0,68,27,255,0,130,209,1,0,206,173,131,118,42,131,255,0,140,209,1,0,199,87,171,153,112,171,255,0,150,209,1,0,199,51,207,194,165,207,255,0,160,209,1,0,210,21,232,231,212,232,255,0,170,209,1,0,0,0,247,247,247,247,255,0,180,209,1,0,76,30,240,217,240,211,255,0,190,209,1,0,80,68,219,166,219,160,255,0,200,209,1,0,88,123,174,90,174,97,255,0,210,209,1,0,196,70,195,175,141,195,255,0,219,209,1,0,0,0,247,247,247,247,255,0,228,209,1,0,82,90,191,127,191,123,255,0,237,209,1,0,201,168,148,123,50,148,255,0,246,209,1,0,199,51,207,194,165,207,255,0,255,209,1,0,80,68,219,166,219,160,255,0,8,210,1,0,102,255,136,0,136,55,255,0,17,210,1,0,201,168,148,123,50,148,255,0,26,210,1,0,199,51,207,194,165,207,255,0,35,210,1,0,0,0,247,247,247,247,255,0,44,210,1,0,80,68,219,166,219,160,255,0,53,210,1,0,102,255,136,0,136,55,255,0,62,210,1,0,206,173,131,118,42,131,255,0,71,210,1,0,196,70,195,175,141,195,255,0,80,210,1,0,210,21,232,231,212,232,255,0,89,210,1,0,76,30,240,217,240,211,255,0,98,210,1,0,82,90,191,127,191,123,255,0,107,210,1,0,97,197,120,27,120,55,255,0,116,210,1,0,206,173,131,118,42,131,255,0,125,210,1,0,196,70,195,175,141,195,255,0,134,210,1,0,210,21,232,231,212,232,255,0,143,210,1,0,0,0,247,247,247,247,255,0,152,210,1,0,76,30,240,217,240,211,255,0,161,210,1,0,82,90,191,127,191,123,255,0,170,210,1,0,97,197,120,27,120,55,255,0,179,210,1,0,206,173,131,118,42,131,255,0,188,210,1,0,199,87,171,153,112,171,255,0,197,210,1,0,199,51,207,194,165,207,255,0,206,210,1,0,210,21,232,231,212,232,255,0,215,210,1,0,76,30,240,217,240,211,255,0,224,210,1,0,80,68,219,166,219,160,255,0,233,210,1,0,88,123,174,90,174,97,255,0,242,210,1,0,97,197,120,27,120,55,255,0,251,210,1,0,206,173,131,118,42,131,255,0,4,211,1,0,199,87,171,153,112,171,255,0,13,211,1,0,199,51,207,194,165,207,255,0,22,211,1,0,210,21,232,231,212,232,255,0,31,211,1,0,0,0,247,247,247,247,255,0,40,211,1,0,76,30,240,217,240,211,255,0,49,211,1,0,80,68,219,166,219,160,255,0,58,211,1,0,88,123,174,90,174,97,255,0,67,211,1,0,97,197,120,27,120,55,255,0,76,211,1,0,189,11,242,236,231,242,255,0,85,211,1,0,151,61,219,166,189,219,255,0,94,211,1,0,141,197,190,43,140,190,255,0,103,211,1,0,185,8,246,241,238,246,255,0,112,211,1,0,155,40,225,189,201,225,255,0,121,211,1,0,145,112,207,116,169,207,255,0,130,211,1,0,143,247,176,5,112,176,255,0,139,211,1,0,185,8,246,241,238,246,255,0,148,211,1,0,155,40,225,189,201,225,255,0,157,211,1,0,145,112,207,116,169,207,255,0,166,211,1,0,141,197,190,43,140,190,255,0,175,211,1,0,143,247,141,4,90,141,255,0,184,211,1,0,185,8,246,241,238,246,255,0,193,211,1,0,168,24,230,208,209,230,255,0,202,211,1,0,151,61,219,166,189,219,255,0,211,211,1,0,145,112,207,116,169,207,255,0,220,211,1,0,141,197,190,43,140,190,255,0,229,211,1,0,143,247,141,4,90,141,255,0,238,211,1,0,185,8,246,241,238,246,255,0,247,211,1,0,168,24,230,208,209,230,255,0,0,212,1,0,151,61,219,166,189,219,255,0,9,212,1,0,145,112,207,116,169,207,255,0,18,212,1,0,142,183,192,54,144,192,255,0,27,212,1,0,143,247,176,5,112,176,255,0,36,212,1,0,143,248,123,3,78,123,255,0,45,212,1,0,233,8,255,255,247,251,255,0,54,212,1,0,189,11,242,236,231,242,255,0,63,212,1,0,168,24,230,208,209,230,255,0,72,212,1,0,151,61,219,166,189,219,255,0,81,212,1,0,145,112,207,116,169,207,255,0,90,212,1,0,142,183,192,54,144,192,255,0,99,212,1,0,143,247,176,5,112,176,255,0,108,212,1,0,143,248,123,3,78,123,255,0,117,212,1,0,233,8,255,255,247,251,255,0,126,212,1,0,189,11,242,236,231,242,255,0,135,212,1,0,168,24,230,208,209,230,255,0,144,212,1,0,151,61,219,166,189,219,255,0,153,212,1,0,145,112,207,116,169,207,255,0,162,212,1,0,142,183,192,54,144,192,255,0,171,212,1,0,143,247,176,5,112,176,255,0,180,212,1,0,143,247,141,4,90,141,255,0,189,212,1,0,143,249,88,2,56,88,255,0,198,212,1,0,200,14,240,236,226,240,255,0,209,212,1,0,151,61,219,166,189,219,255,0,220,212,1,0,130,208,153,28,144,153,255,0,231,212,1,0,207,8,247,246,239,247,255,0,242,212,1,0,155,40,225,189,201,225,255,0,253,212,1,0,143,128,207,103,169,207,255,0,8,213,1,0,130,251,138,2,129,138,255,0,19,213,1,0,207,8,247,246,239,247,255,0,30,213,1,0,155,40,225,189,201,225,255,0,41,213,1,0,143,128,207,103,169,207,255,0,52,213,1,0,130,208,153,28,144,153,255,0,63,213,1,0,119,252,108,1,108,89,255,0,74,213,1,0,207,8,247,246,239,247,255,0,85,213,1,0,168,24,230,208,209,230,255,0,96,213,1,0,151,61,219,166,189,219,255,0,107,213,1,0,143,128,207,103,169,207,255,0,118,213,1,0,130,208,153,28,144,153,255,0,129,213,1,0,119,252,108,1,108,89,255,0,140,213,1,0,207,8,247,246,239,247,255,0,151,213,1,0,168,24,230,208,209,230,255,0,162,213,1,0,151,61,219,166,189,219,255,0,173,213,1,0,143,128,207,103,169,207,255,0,184,213,1,0,142,183,192,54,144,192,255,0,195,213,1,0,130,251,138,2,129,138,255,0,206,213,1,0,118,252,100,1,100,80,255,0,217,213,1,0,233,8,255,255,247,251,255,0,228,213,1,0,200,14,240,236,226,240,255,0,239,213,1,0,168,24,230,208,209,230,255,0,250,213,1,0,151,61,219,166,189,219,255,0,5,214,1,0,143,128,207,103,169,207,255,0,16,214,1,0,142,183,192,54,144,192,255,0,27,214,1,0,130,251,138,2,129,138,255,0,38,214,1,0,118,252,100,1,100,80,255,0,49,214,1,0,233,8,255,255,247,251,255,0,60,214,1,0,200,14,240,236,226,240,255,0,71,214,1,0,168,24,230,208,209,230,255,0,82,214,1,0,151,61,219,166,189,219,255,0,93,214,1,0,143,128,207,103,169,207,255,0,104,214,1,0,142,183,192,54,144,192,255,0,115,214,1,0,130,251,138,2,129,138,255,0,126,214,1,0,119,252,108,1,108,89,255,0,137,214,1,0,117,251,70,1,70,54,255,0,148,214,1,0,18,238,127,127,59,8,255,0,158,214,1,0,195,255,75,45,0,75,255,0,169,214,1,0,20,246,179,179,88,6,255,0,179,214,1,0,22,232,224,224,130,20,255,0,189,214,1,0,23,155,253,253,184,99,255,0,199,214,1,0,24,72,254,254,224,182,255,0,209,214,1,0,165,20,235,216,218,235,255,0,219,214,1,0,177,47,210,178,171,210,255,0,229,214,1,0,179,84,172,128,115,172,255,0,239,214,1,0,189,181,136,84,39,136,255,0,249,214,1,0,18,238,127,127,59,8,255,0,3,215,1,0,189,181,136,84,39,136,255,0,14,215,1,0,195,255,75,45,0,75,255,0,25,215,1,0,20,246,179,179,88,6,255,0,35,215,1,0,22,232,224,224,130,20,255,0,45,215,1,0,23,155,253,253,184,99,255,0,55,215,1,0,24,72,254,254,224,182,255,0,65,215,1,0,0,0,247,247,247,247,255,0,75,215,1,0,165,20,235,216,218,235,255,0,85,215,1,0,177,47,210,178,171,210,255,0,95,215,1,0,179,84,172,128,115,172,255,0,105,215,1,0,23,187,241,241,163,64,255,0,114,215,1,0,0,0,247,247,247,247,255,0,123,215,1,0,178,69,195,153,142,195,255,0,132,215,1,0,17,253,230,230,97,1,255,0,141,215,1,0,23,155,253,253,184,99,255,0,150,215,1,0,177,47,210,178,171,210,255,0,159,215,1,0,185,155,153,94,60,153,255,0,168,215,1,0,17,253,230,230,97,1,255,0,177,215,1,0,23,155,253,253,184,99,255,0,186,215,1,0,0,0,247,247,247,247,255,0,195,215,1,0,177,47,210,178,171,210,255,0,204,215,1,0,185,155,153,94,60,153,255,0,213,215,1,0,20,246,179,179,88,6,255,0,222,215,1,0,23,187,241,241,163,64,255,0,231,215,1,0,24,72,254,254,224,182,255,0,240,215,1,0,165,20,235,216,218,235,255,0,249,215,1,0,178,69,195,153,142,195,255,0,2,216,1,0,189,181,136,84,39,136,255,0,11,216,1,0,20,246,179,179,88,6,255,0,20,216,1,0,23,187,241,241,163,64,255,0,29,216,1,0,24,72,254,254,224,182,255,0,38,216,1,0,0,0,247,247,247,247,255,0,47,216,1,0,165,20,235,216,218,235,255,0,56,216,1,0,178,69,195,153,142,195,255,0,65,216,1,0,189,181,136,84,39,136,255,0,74,216,1,0,20,246,179,179,88,6,255,0,83,216,1,0,22,232,224,224,130,20,255,0,92,216,1,0,23,155,253,253,184,99,255,0,101,216,1,0,24,72,254,254,224,182,255,0,110,216,1,0,165,20,235,216,218,235,255,0,119,216,1,0,177,47,210,178,171,210,255,0,128,216,1,0,179,84,172,128,115,172,255,0,137,216,1,0,189,181,136,84,39,136,255,0,146,216,1,0,20,246,179,179,88,6,255,0,155,216,1,0,22,232,224,224,130,20,255,0,164,216,1,0,23,155,253,253,184,99,255,0,173,216,1,0,24,72,254,254,224,182,255,0,182,216,1,0,0,0,247,247,247,247,255,0,191,216,1,0,165,20,235,216,218,235,255,0,200,216,1,0,177,47,210,178,171,210,255,0,209,216,1,0,179,84,172,128,115,172,255,0,218,216,1,0,189,181,136,84,39,136,255,0,227,216,1,0,188,14,239,231,225,239,255,0,236,216,1,0,214,67,201,201,148,199,255,0,245,216,1,0,234,222,221,221,28,119,255,0,254,216,1,0,185,8,246,241,238,246,255,0,7,217,1,0,211,41,216,215,181,216,255,0,16,217,1,0,228,139,223,223,101,176,255,0,25,217,1,0,239,232,206,206,18,86,255,0,34,217,1,0,185,8,246,241,238,246,255,0,43,217,1,0,211,41,216,215,181,216,255,0,52,217,1,0,228,139,223,223,101,176,255,0,61,217,1,0,234,222,221,221,28,119,255,0,70,217,1,0,236,255,152,152,0,67,255,0,79,217,1,0,185,8,246,241,238,246,255,0,88,217,1,0,204,38,218,212,185,218,255,0,97,217,1,0,214,67,201,201,148,199,255,0,106,217,1,0,228,139,223,223,101,176,255,0,115,217,1,0,234,222,221,221,28,119,255,0,124,217,1,0,236,255,152,152,0,67,255,0,133,217,1,0,185,8,246,241,238,246,255,0,142,217,1,0,204,38,218,212,185,218,255,0,151,217,1,0,214,67,201,201,148,199,255,0,160,217,1,0,228,139,223,223,101,176,255,0,169,217,1,0,233,209,231,231,41,138,255,0,178,217,1,0,239,232,206,206,18,86,255,0,187,217,1,0,236,255,145,145,0,63,255,0,196,217,1,0,195,5,249,247,244,249,255,0,205,217,1,0,188,14,239,231,225,239,255,0,214,217,1,0,204,38,218,212,185,218,255,0,223,217,1,0,214,67,201,201,148,199,255,0,232,217,1,0,228,139,223,223,101,176,255,0,241,217,1,0,233,209,231,231,41,138,255,0,250,217,1,0,239,232,206,206,18,86,255,0,3,218,1,0,236,255,145,145,0,63,255,0,12,218,1,0,195,5,249,247,244,249,255,0,21,218,1,0,188,14,239,231,225,239,255,0,30,218,1,0,204,38,218,212,185,218,255,0,39,218,1,0,214,67,201,201,148,199,255,0,48,218,1,0,228,139,223,223,101,176,255,0,57,218,1,0,233,209,231,231,41,138,255,0,66,218,1,0,239,232,206,206,18,86,255,0,75,218,1,0,236,255,152,152,0,67,255,0,84,218,1,0,242,255,103,103,0,31,255,0,93,218,1,0,180,8,245,239,237,245,255,0,105,218,1,0,168,37,220,188,189,220,255,0,117,218,1,0,176,100,177,117,107,177,255,0,129,218,1,0,182,7,247,242,240,247,255,0,141,218,1,0,173,28,226,203,201,226,255,0,153,218,1,0,173,58,200,158,154,200,255,0,165,218,1,0,182,128,163,106,81,163,255,0,177,218,1,0,182,7,247,242,240,247,255,0,189,218,1,0,173,28,226,203,201,226,255,0,201,218,1,0,173,58,200,158,154,200,255,0,213,218,1,0,176,100,177,117,107,177,255,0,225,218,1,0,188,185,143,84,39,143,255,0,237,218,1,0,182,7,247,242,240,247,255,0,249,218,1,0,170,18,235,218,218,235,255,0,5,219,1,0,168,37,220,188,189,220,255,0,17,219,1,0,173,58,200,158,154,200,255,0,29,219,1,0,176,100,177,117,107,177,255,0,41,219,1,0,188,185,143,84,39,143,255,0,53,219,1,0,182,7,247,242,240,247,255,0,65,219,1,0,170,18,235,218,218,235,255,0,77,219,1,0,168,37,220,188,189,220,255,0,89,219,1,0,173,58,200,158,154,200,255,0,101,219,1,0,172,83,186,128,125,186,255,0,113,219,1,0,182,128,163,106,81,163,255,0,125,219,1,0,190,216,134,74,20,134,255,0,137,219,1,0,191,2,253,252,251,253,255,0,149,219,1,0,180,8,245,239,237,245,255,0,161,219,1,0,170,18,235,218,218,235,255,0,173,219,1,0,168,37,220,188,189,220,255,0,185,219,1,0,173,58,200,158,154,200,255,0,197,219,1,0,172,83,186,128,125,186,255,0,209,219,1,0,182,128,163,106,81,163,255,0,221,219,1,0,190,216,134,74,20,134,255,0,233,219,1,0,191,2,253,252,251,253,255,0,245,219,1,0,180,8,245,239,237,245,255,0,1,220,1,0,170,18,235,218,218,235,255,0,13,220,1,0,168,37,220,188,189,220,255,0,25,220,1,0,173,58,200,158,154,200,255,0,37,220,1,0,172,83,186,128,125,186,255,0,49,220,1,0,182,128,163,106,81,163,255,0,61,220,1,0,188,185,143,84,39,143,255,0,73,220,1,0,191,255,125,63,0,125,255,0,85,220,1,0,242,255,103,103,0,31,255,0,95,220,1,0,150,241,97,5,48,97,255,0,106,220,1,0,249,220,178,178,24,43,255,0,116,220,1,0,5,163,214,214,96,77,255,0,126,220,1,0,13,119,244,244,165,130,255,0,136,220,1,0,15,54,253,253,219,199,255,0,146,220,1,0,142,32,240,209,229,240,255,0,156,220,1,0,141,87,222,146,197,222,255,0,166,220,1,0,143,167,195,67,147,195,255,0,176,220,1,0,148,206,172,33,102,172,255,0,186,220,1,0,242,255,103,103,0,31,255,0,196,220,1,0,148,206,172,33,102,172,255,0,207,220,1,0,150,241,97,5,48,97,255,0,218,220,1,0,249,220,178,178,24,43,255,0,228,220,1,0,5,163,214,214,96,77,255,0,238,220,1,0,13,119,244,244,165,130,255,0,248,220,1,0,15,54,253,253,219,199,255,0,2,221,1,0,0,0,247,247,247,247,255,0,12,221,1,0,142,32,240,209,229,240,255,0,22,221,1,0,141,87,222,146,197,222,255,0,32,221,1,0,143,167,195,67,147,195,255,0,42,221,1,0,12,150,239,239,138,98,255,0,51,221,1,0,0,0,247,247,247,247,255,0,60,221,1,0,143,128,207,103,169,207,255,0,69,221,1,0,248,255,202,202,0,32,255,0,78,221,1,0,13,119,244,244,165,130,255,0,87,221,1,0,141,87,222,146,197,222,255,0,96,221,1,0,143,247,176,5,113,176,255,0,105,221,1,0,248,255,202,202,0,32,255,0,114,221,1,0,13,119,244,244,165,130,255,0,123,221,1,0,0,0,247,247,247,247,255,0,132,221,1,0,141,87,222,146,197,222,255,0,141,221,1,0,143,247,176,5,113,176,255,0,150,221,1,0,249,220,178,178,24,43,255,0,159,221,1,0,12,150,239,239,138,98,255,0,168,221,1,0,15,54,253,253,219,199,255,0,177,221,1,0,142,32,240,209,229,240,255,0,186,221,1,0,143,128,207,103,169,207,255,0,195,221,1,0,148,206,172,33,102,172,255,0,204,221,1,0,249,220,178,178,24,43,255,0,213,221,1,0,12,150,239,239,138,98,255,0,222,221,1,0,15,54,253,253,219,199,255,0,231,221,1,0,0,0,247,247,247,247,255,0,240,221,1,0,142,32,240,209,229,240,255,0,249,221,1,0,143,128,207,103,169,207,255,0,2,222,1,0,148,206,172,33,102,172,255,0,11,222,1,0,249,220,178,178,24,43,255,0,20,222,1,0,5,163,214,214,96,77,255,0,29,222,1,0,13,119,244,244,165,130,255,0,38,222,1,0,15,54,253,253,219,199,255,0,47,222,1,0,142,32,240,209,229,240,255,0,56,222,1,0,141,87,222,146,197,222,255,0,65,222,1,0,143,167,195,67,147,195,255,0,74,222,1,0,148,206,172,33,102,172,255,0,83,222,1,0,249,220,178,178,24,43,255,0,92,222,1,0,5,163,214,214,96,77,255,0,101,222,1,0,13,119,244,244,165,130,255,0,110,222,1,0,15,54,253,253,219,199,255,0,119,222,1,0,0,0,247,247,247,247,255,0,128,222,1,0,142,32,240,209,229,240,255,0,137,222,1,0,141,87,222,146,197,222,255,0,146,222,1,0,143,167,195,67,147,195,255,0,155,222,1,0,148,206,172,33,102,172,255,0,164,222,1,0,242,255,103,103,0,31,255,0,174,222,1,0,0,0,26,26,26,26,255,0,185,222,1,0,249,220,178,178,24,43,255,0,195,222,1,0,5,163,214,214,96,77,255,0,205,222,1,0,13,119,244,244,165,130,255,0,215,222,1,0,15,54,253,253,219,199,255,0,225,222,1,0,0,0,224,224,224,224,255,0,235,222,1,0,0,0,186,186,186,186,255,0,245,222,1,0,0,0,135,135,135,135,255,0,255,222,1,0,0,0,77,77,77,77,255,0,9,223,1,0,242,255,103,103,0,31,255,0,19,223,1,0,0,0,77,77,77,77,255,0,30,223,1,0,0,0,26,26,26,26,255,0,41,223,1,0,249,220,178,178,24,43,255,0,51,223,1,0,5,163,214,214,96,77,255,0,61,223,1,0,13,119,244,244,165,130,255,0,71,223,1,0,15,54,253,253,219,199,255,0,81,223,1,0,0,0,255,255,255,255,255,0,91,223,1,0,0,0,224,224,224,224,255,0,101,223,1,0,0,0,186,186,186,186,255,0,111,223,1,0,0,0,135,135,135,135,255,0,121,223,1,0,12,150,239,239,138,98,255,0,130,223,1,0,0,0,255,255,255,255,255,0,139,223,1,0,0,0,153,153,153,153,255,0,148,223,1,0,248,255,202,202,0,32,255,0,157,223,1,0,13,119,244,244,165,130,255,0,166,223,1,0,0,0,186,186,186,186,255,0,175,223,1,0,0,0,64,64,64,64,255,0,184,223,1,0,248,255,202,202,0,32,255,0,193,223,1,0,13,119,244,244,165,130,255,0,202,223,1,0,0,0,255,255,255,255,255,0,211,223,1,0,0,0,186,186,186,186,255,0,220,223,1,0,0,0,64,64,64,64,255,0,229,223,1,0,249,220,178,178,24,43,255,0,238,223,1,0,12,150,239,239,138,98,255,0,247,223,1,0,15,54,253,253,219,199,255,0,0,224,1,0,0,0,224,224,224,224,255,0,9,224,1,0,0,0,153,153,153,153,255,0,18,224,1,0,0,0,77,77,77,77,255,0,27,224,1,0,249,220,178,178,24,43,255,0,36,224,1,0,12,150,239,239,138,98,255,0,45,224,1,0,15,54,253,253,219,199,255,0,54,224,1,0,0,0,255,255,255,255,255,0,63,224,1,0,0,0,224,224,224,224,255,0,72,224,1,0,0,0,153,153,153,153,255,0,81,224,1,0,0,0,77,77,77,77,255,0,90,224,1,0,249,220,178,178,24,43,255,0,99,224,1,0,5,163,214,214,96,77,255,0,108,224,1,0,13,119,244,244,165,130,255,0,117,224,1,0,15,54,253,253,219,199,255,0,126,224,1,0,0,0,224,224,224,224,255,0,135,224,1,0,0,0,186,186,186,186,255,0,144,224,1,0,0,0,135,135,135,135,255,0,153,224,1,0,0,0,77,77,77,77,255,0,162,224,1,0,249,220,178,178,24,43,255,0,171,224,1,0,5,163,214,214,96,77,255,0,180,224,1,0,13,119,244,244,165,130,255,0,189,224,1,0,15,54,253,253,219,199,255,0,198,224,1,0,0,0,255,255,255,255,255,0,207,224,1,0,0,0,224,224,224,224,255,0,216,224,1,0,0,0,186,186,186,186,255,0,225,224,1,0,0,0,135,135,135,135,255,0,234,224,1,0,0,0,77,77,77,77,255,0,243,224,1,0,3,32,253,253,224,221,255,0,252,224,1,0,244,92,250,250,159,181,255,0,5,225,1,0,227,220,197,197,27,138,255,0,14,225,1,0,13,28,254,254,235,226,255,0,23,225,1,0,252,72,251,251,180,185,255,0,32,225,1,0,238,147,247,247,104,161,255,0,41,225,1,0,224,253,174,174,1,126,255,0,50,225,1,0,13,28,254,254,235,226,255,0,59,225,1,0,252,72,251,251,180,185,255,0,68,225,1,0,238,147,247,247,104,161,255,0,77,225,1,0,227,220,197,197,27,138,255,0,86,225,1,0,213,252,122,122,1,119,255,0,95,225,1,0,13,28,254,254,235,226,255,0,104,225,1,0,3,60,252,252,197,192,255,0,113,225,1,0,244,92,250,250,159,181,255,0,122,225,1,0,238,147,247,247,104,161,255,0,131,225,1,0,227,220,197,197,27,138,255,0,140,225,1,0,213,252,122,122,1,119,255,0,149,225,1,0,13,28,254,254,235,226,255,0,158,225,1,0,3,60,252,252,197,192,255,0,167,225,1,0,244,92,250,250,159,181,255,0,176,225,1,0,238,147,247,247,104,161,255,0,185,225,1,0,230,195,221,221,52,151,255,0,194,225,1,0,224,253,174,174,1,126,255,0,203,225,1,0,213,252,122,122,1,119,255,0,212,225,1,0,14,12,255,255,247,243,255,0,221,225,1,0,3,32,253,253,224,221,255,0,230,225,1,0,3,60,252,252,197,192,255,0,239,225,1,0,244,92,250,250,159,181,255,0,248,225,1,0,238,147,247,247,104,161,255,0,1,226,1,0,230,195,221,221,52,151,255,0,10,226,1,0,224,253,174,174,1,126,255,0,19,226,1,0,213,252,122,122,1,119,255,0,28,226,1,0,14,12,255,255,247,243,255,0,37,226,1,0,3,32,253,253,224,221,255,0,46,226,1,0,3,60,252,252,197,192,255,0,55,226,1,0,244,92,250,250,159,181,255,0,64,226,1,0,238,147,247,247,104,161,255,0,73,226,1,0,230,195,221,221,52,151,255,0,82,226,1,0,224,253,174,174,1,126,255,0,91,226,1,0,213,252,122,122,1,119,255,0,100,226,1,0,199,255,106,73,0,106,255,0,109,226,1,0,245,255,165,165,0,38,255,0,121,226,1,0,167,171,149,49,54,149,255,0,134,226,1,0,2,208,215,215,48,39,255,0,146,226,1,0,10,184,244,244,109,67,255,0,158,226,1,0,20,157,253,253,174,97,255,0,170,226,1,0,30,110,254,254,224,144,255,0,182,226,1,0,136,24,248,224,243,248,255,0,194,226,1,0,138,67,233,171,217,233,255,0,206,226,1,0,143,113,209,116,173,209,255,0,218,226,1,0,151,157,180,69,117,180,255,0,230,226,1,0,245,255,165,165,0,38,255,0,242,226,1,0,151,157,180,69,117,180,255,0,255,226,1,0,167,171,149,49,54,149,255,0,12,227,1,0,2,208,215,215,48,39,255,0,24,227,1,0,10,184,244,244,109,67,255,0,36,227,1,0,20,157,253,253,174,97,255,0,48,227,1,0,30,110,254,254,224,144,255,0,60,227,1,0,42,64,255,255,255,191,255,0,72,227,1,0,136,24,248,224,243,248,255,0,84,227,1,0,138,67,233,171,217,233,255,0,96,227,1,0,143,113,209,116,173,209,255,0,108,227,1,0,13,164,252,252,141,89,255,0,119,227,1,0,42,64,255,255,255,191,255,0,130,227,1,0,143,86,219,145,191,219,255,0,141,227,1,0,254,225,215,215,25,28,255,0,152,227,1,0,20,157,253,253,174,97,255,0,163,227,1,0,138,67,233,171,217,233,255,0,174,227,1,0,145,193,182,44,123,182,255,0,185,227,1,0,254,225,215,215,25,28,255,0,196,227,1,0,20,157,253,253,174,97,255,0,207,227,1,0,42,64,255,255,255,191,255,0,218,227,1,0,138,67,233,171,217,233,255,0,229,227,1,0,145,193,182,44,123,182,255,0,240,227,1,0,2,208,215,215,48,39,255,0,251,227,1,0,13,164,252,252,141,89,255,0,6,228,1,0,30,110,254,254,224,144,255,0,17,228,1,0,136,24,248,224,243,248,255,0,28,228,1,0,143,86,219,145,191,219,255,0,39,228,1,0,151,157,180,69,117,180,255,0,50,228,1,0,2,208,215,215,48,39,255,0,61,228,1,0,13,164,252,252,141,89,255,0,72,228,1,0,30,110,254,254,224,144,255,0,83,228,1,0,42,64,255,255,255,191,255,0,94,228,1,0,136,24,248,224,243,248,255,0,105,228,1,0,143,86,219,145,191,219,255,0,116,228,1,0,151,157,180,69,117,180,255,0,127,228,1,0,2,208,215,215,48,39,255,0,138,228,1,0,10,184,244,244,109,67,255,0,149,228,1,0,20,157,253,253,174,97,255,0,160,228,1,0,30,110,254,254,224,144,255,0,171,228,1,0,136,24,248,224,243,248,255,0,182,228,1,0,138,67,233,171,217,233,255,0,193,228,1,0,143,113,209,116,173,209,255,0,204,228,1,0,151,157,180,69,117,180,255,0,215,228,1,0,2,208,215,215,48,39,255,0,226,228,1,0,10,184,244,244,109,67,255,0,237,228,1,0,20,157,253,253,174,97,255,0,248,228,1,0,30,110,254,254,224,144,255,0,3,229,1,0,42,64,255,255,255,191,255,0,14,229,1,0,136,24,248,224,243,248,255,0,25,229,1,0,138,67,233,171,217,233,255,0,36,229,1,0,143,113,209,116,173,209,255,0,47,229,1,0,151,157,180,69,117,180,255,0,58,229,1,0,245,255,165,165,0,38,255,0,70,229,1,0,107,255,104,0,104,55,255,0,83,229,1,0,2,208,215,215,48,39,255,0,95,229,1,0,10,184,244,244,109,67,255,0,107,229,1,0,20,157,253,253,174,97,255,0,119,229,1,0,31,115,254,254,224,139,255,0,131,229,1,0,51,106,239,217,239,139,255,0,143,229,1,0,62,130,217,166,217,106,255,0,155,229,1,0,83,121,189,102,189,99,255,0,167,229,1,0,103,211,152,26,152,80,255,0,179,229,1,0,245,255,165,165,0,38,255,0,191,229,1,0,103,211,152,26,152,80,255,0,204,229,1,0,107,255,104,0,104,55,255,0,217,229,1,0,2,208,215,215,48,39,255,0,229,229,1,0,10,184,244,244,109,67,255,0,241,229,1,0,20,157,253,253,174,97,255,0,253,229,1,0,31,115,254,254,224,139,255,0,9,230,1,0,42,64,255,255,255,191,255,0,21,230,1,0,51,106,239,217,239,139,255,0,33,230,1,0,62,130,217,166,217,106,255,0,45,230,1,0,83,121,189,102,189,99,255,0,57,230,1,0,13,164,252,252,141,89,255,0,68,230,1,0,42,64,255,255,255,191,255,0,79,230,1,0,66,136,207,145,207,96,255,0,90,230,1,0,254,225,215,215,25,28,255,0,101,230,1,0,20,157,253,253,174,97,255,0,112,230,1,0,62,130,217,166,217,106,255,0,123,230,1,0,98,210,150,26,150,65,255,0,134,230,1,0,254,225,215,215,25,28,255,0,145,230,1,0,20,157,253,253,174,97,255,0,156,230,1,0,42,64,255,255,255,191,255,0,167,230,1,0,62,130,217,166,217,106,255,0,178,230,1,0,98,210,150,26,150,65,255,0,189,230,1,0,2,208,215,215,48,39,255,0,200,230,1,0,13,164,252,252,141,89,255,0,211,230,1,0,31,115,254,254,224,139,255,0,222,230,1,0,51,106,239,217,239,139,255,0,233,230,1,0,66,136,207,145,207,96,255,0,244,230,1,0,103,211,152,26,152,80,255,0,255,230,1,0,2,208,215,215,48,39,255,0,10,231,1,0,13,164,252,252,141,89,255,0,21,231,1,0,31,115,254,254,224,139,255,0,32,231,1,0,42,64,255,255,255,191,255,0,43,231,1,0,51,106,239,217,239,139,255,0,54,231,1,0,66,136,207,145],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+30724);allocate([207,96,255,0,65,231,1,0,103,211,152,26,152,80,255,0,76,231,1,0,2,208,215,215,48,39,255,0,87,231,1,0,10,184,244,244,109,67,255,0,98,231,1,0,20,157,253,253,174,97,255,0,109,231,1,0,31,115,254,254,224,139,255,0,120,231,1,0,51,106,239,217,239,139,255,0,131,231,1,0,62,130,217,166,217,106,255,0,142,231,1,0,83,121,189,102,189,99,255,0,153,231,1,0,103,211,152,26,152,80,255,0,164,231,1,0,2,208,215,215,48,39,255,0,175,231,1,0,10,184,244,244,109,67,255,0,186,231,1,0,20,157,253,253,174,97,255,0,197,231,1,0,31,115,254,254,224,139,255,0,208,231,1,0,42,64,255,255,255,191,255,0,219,231,1,0,51,106,239,217,239,139,255,0,230,231,1,0,62,130,217,166,217,106,255,0,241,231,1,0,83,121,189,102,189,99,255,0,252,231,1,0,103,211,152,26,152,80,255,0,7,232,1,0,13,44,254,254,224,210,255,0,16,232,1,0,9,139,252,252,146,114,255,0,25,232,1,0,1,211,222,222,45,38,255,0,34,232,1,0,13,37,254,254,229,217,255,0,43,232,1,0,11,108,252,252,174,145,255,0,52,232,1,0,7,179,251,251,106,74,255,0,61,232,1,0,253,224,203,203,24,29,255,0,70,232,1,0,13,37,254,254,229,217,255,0,79,232,1,0,11,108,252,252,174,145,255,0,88,232,1,0,7,179,251,251,106,74,255,0,97,232,1,0,1,211,222,222,45,38,255,0,106,232,1,0,253,231,165,165,15,21,255,0,115,232,1,0,13,37,254,254,229,217,255,0,124,232,1,0,12,92,252,252,187,161,255,0,133,232,1,0,9,139,252,252,146,114,255,0,142,232,1,0,7,179,251,251,106,74,255,0,151,232,1,0,1,211,222,222,45,38,255,0,160,232,1,0,253,231,165,165,15,21,255,0,169,232,1,0,13,37,254,254,229,217,255,0,178,232,1,0,12,92,252,252,187,161,255,0,187,232,1,0,9,139,252,252,146,114,255,0,196,232,1,0,7,179,251,251,106,74,255,0,205,232,1,0,3,208,239,239,59,44,255,0,214,232,1,0,253,224,203,203,24,29,255,0,223,232,1,0,251,255,153,153,0,13,255,0,232,232,1,0,14,15,255,255,245,240,255,0,241,232,1,0,13,44,254,254,224,210,255,0,250,232,1,0,12,92,252,252,187,161,255,0,3,233,1,0,9,139,252,252,146,114,255,0,12,233,1,0,7,179,251,251,106,74,255,0,21,233,1,0,3,208,239,239,59,44,255,0,30,233,1,0,253,224,203,203,24,29,255,0,39,233,1,0,251,255,153,153,0,13,255,0,48,233,1,0,14,15,255,255,245,240,255,0,57,233,1,0,13,44,254,254,224,210,255,0,66,233,1,0,12,92,252,252,187,161,255,0,75,233,1,0,9,139,252,252,146,114,255,0,84,233,1,0,7,179,251,251,106,74,255,0,93,233,1,0,3,208,239,239,59,44,255,0,102,233,1,0,253,224,203,203,24,29,255,0,111,233,1,0,253,231,165,165,15,21,255,0,120,233,1,0,249,255,103,103,0,13,255,0,129,233,1,0,254,225,228,228,26,28,255,0,138,233,1,0,146,178,184,55,126,184,255,0,147,233,1,0,83,147,175,77,175,74,255,0,156,233,1,0,254,225,228,228,26,28,255,0,165,233,1,0,146,178,184,55,126,184,255,0,174,233,1,0,83,147,175,77,175,74,255,0,183,233,1,0,207,132,163,152,78,163,255,0,192,233,1,0,254,225,228,228,26,28,255,0,201,233,1,0,146,178,184,55,126,184,255,0,210,233,1,0,83,147,175,77,175,74,255,0,219,233,1,0,207,132,163,152,78,163,255,0,228,233,1,0,21,255,255,255,127,0,255,0,237,233,1,0,254,225,228,228,26,28,255,0,246,233,1,0,146,178,184,55,126,184,255,0,255,233,1,0,83,147,175,77,175,74,255,0,8,234,1,0,207,132,163,152,78,163,255,0,17,234,1,0,21,255,255,255,127,0,255,0,26,234,1,0,42,204,255,255,255,51,255,0,35,234,1,0,254,225,228,228,26,28,255,0,44,234,1,0,146,178,184,55,126,184,255,0,53,234,1,0,83,147,175,77,175,74,255,0,62,234,1,0,207,132,163,152,78,163,255,0,71,234,1,0,21,255,255,255,127,0,255,0,80,234,1,0,42,204,255,255,255,51,255,0,89,234,1,0,15,193,166,166,86,40,255,0,98,234,1,0,254,225,228,228,26,28,255,0,107,234,1,0,146,178,184,55,126,184,255,0,116,234,1,0,83,147,175,77,175,74,255,0,125,234,1,0,207,132,163,152,78,163,255,0,134,234,1,0,21,255,255,255,127,0,255,0,143,234,1,0,42,204,255,255,255,51,255,0,152,234,1,0,15,193,166,166,86,40,255,0,161,234,1,0,232,121,247,247,129,191,255,0,170,234,1,0,254,225,228,228,26,28,255,0,179,234,1,0,146,178,184,55,126,184,255,0,188,234,1,0,83,147,175,77,175,74,255,0,197,234,1,0,207,132,163,152,78,163,255,0,206,234,1,0,21,255,255,255,127,0,255,0,215,234,1,0,42,204,255,255,255,51,255,0,224,234,1,0,15,193,166,166,86,40,255,0,233,234,1,0,232,121,247,247,129,191,255,0,242,234,1,0,0,0,153,153,153,153,255,0,251,234,1,0,114,120,194,102,194,165,255,0,4,235,1,0,11,155,252,252,141,98,255,0,13,235,1,0,156,77,203,141,160,203,255,0,22,235,1,0,114,120,194,102,194,165,255,0,31,235,1,0,11,155,252,252,141,98,255,0,40,235,1,0,156,77,203,141,160,203,255,0,49,235,1,0,228,102,231,231,138,195,255,0,58,235,1,0,114,120,194,102,194,165,255,0,67,235,1,0,11,155,252,252,141,98,255,0,76,235,1,0,156,77,203,141,160,203,255,0,85,235,1,0,228,102,231,231,138,195,255,0,94,235,1,0,58,155,216,166,216,84,255,0,103,235,1,0,114,120,194,102,194,165,255,0,112,235,1,0,11,155,252,252,141,98,255,0,121,235,1,0,156,77,203,141,160,203,255,0,130,235,1,0,228,102,231,231,138,195,255,0,139,235,1,0,58,155,216,166,216,84,255,0,148,235,1,0,34,208,255,255,217,47,255,0,157,235,1,0,114,120,194,102,194,165,255,0,166,235,1,0,11,155,252,252,141,98,255,0,175,235,1,0,156,77,203,141,160,203,255,0,184,235,1,0,228,102,231,231,138,195,255,0,193,235,1,0,58,155,216,166,216,84,255,0,202,235,1,0,34,208,255,255,217,47,255,0,211,235,1,0,25,90,229,229,196,148,255,0,220,235,1,0,114,120,194,102,194,165,255,0,229,235,1,0,11,155,252,252,141,98,255,0,238,235,1,0,156,77,203,141,160,203,255,0,247,235,1,0,228,102,231,231,138,195,255,0,0,236,1,0,58,155,216,166,216,84,255,0,9,236,1,0,34,208,255,255,217,47,255,0,18,236,1,0,25,90,229,229,196,148,255,0,27,236,1,0,0,0,179,179,179,179,255,0,36,236,1,0,120,84,211,141,211,199,255,0,46,236,1,0,211,82,189,188,128,189,255,0,57,236,1,0,42,76,255,255,255,179,255,0,67,236,1,0,175,37,218,190,186,218,255,0,77,236,1,0,4,139,251,251,128,114,255,0,87,236,1,0,144,100,211,128,177,211,255,0,97,236,1,0,22,156,253,253,180,98,255,0,107,236,1,0,58,134,222,179,222,105,255,0,117,236,1,0,233,47,252,252,205,229,255,0,127,236,1,0,0,0,217,217,217,217,255,0,137,236,1,0,120,84,211,141,211,199,255,0,147,236,1,0,211,82,189,188,128,189,255,0,158,236,1,0,77,41,235,204,235,197,255,0,169,236,1,0,42,76,255,255,255,179,255,0,179,236,1,0,175,37,218,190,186,218,255,0,189,236,1,0,4,139,251,251,128,114,255,0,199,236,1,0,144,100,211,128,177,211,255,0,209,236,1,0,22,156,253,253,180,98,255,0,219,236,1,0,58,134,222,179,222,105,255,0,229,236,1,0,233,47,252,252,205,229,255,0,239,236,1,0,0,0,217,217,217,217,255,0,249,236,1,0,120,84,211,141,211,199,255,0,3,237,1,0,211,82,189,188,128,189,255,0,14,237,1,0,77,41,235,204,235,197,255,0,25,237,1,0,37,144,255,255,237,111,255,0,36,237,1,0,42,76,255,255,255,179,255,0,46,237,1,0,175,37,218,190,186,218,255,0,56,237,1,0,4,139,251,251,128,114,255,0,66,237,1,0,144,100,211,128,177,211,255,0,76,237,1,0,22,156,253,253,180,98,255,0,86,237,1,0,58,134,222,179,222,105,255,0,96,237,1,0,233,47,252,252,205,229,255,0,106,237,1,0,0,0,217,217,217,217,255,0,116,237,1,0,120,84,211,141,211,199,255,0,125,237,1,0,42,76,255,255,255,179,255,0,134,237,1,0,175,37,218,190,186,218,255,0,143,237,1,0,120,84,211,141,211,199,255,0,152,237,1,0,42,76,255,255,255,179,255,0,161,237,1,0,175,37,218,190,186,218,255,0,170,237,1,0,4,139,251,251,128,114,255,0,179,237,1,0,120,84,211,141,211,199,255,0,188,237,1,0,42,76,255,255,255,179,255,0,197,237,1,0,175,37,218,190,186,218,255,0,206,237,1,0,4,139,251,251,128,114,255,0,215,237,1,0,144,100,211,128,177,211,255,0,224,237,1,0,120,84,211,141,211,199,255,0,233,237,1,0,42,76,255,255,255,179,255,0,242,237,1,0,175,37,218,190,186,218,255,0,251,237,1,0,4,139,251,251,128,114,255,0,4,238,1,0,144,100,211,128,177,211,255,0,13,238,1,0,22,156,253,253,180,98,255,0,22,238,1,0,120,84,211,141,211,199,255,0,31,238,1,0,42,76,255,255,255,179,255,0,40,238,1,0,175,37,218,190,186,218,255,0,49,238,1,0,4,139,251,251,128,114,255,0,58,238,1,0,144,100,211,128,177,211,255,0,67,238,1,0,22,156,253,253,180,98,255,0,76,238,1,0,58,134,222,179,222,105,255,0,85,238,1,0,120,84,211,141,211,199,255,0,94,238,1,0,42,76,255,255,255,179,255,0,103,238,1,0,175,37,218,190,186,218,255,0,112,238,1,0,4,139,251,251,128,114,255,0,121,238,1,0,144,100,211,128,177,211,255,0,130,238,1,0,22,156,253,253,180,98,255,0,139,238,1,0,58,134,222,179,222,105,255,0,148,238,1,0,233,47,252,252,205,229,255,0,157,238,1,0,120,84,211,141,211,199,255,0,166,238,1,0,42,76,255,255,255,179,255,0,175,238,1,0,175,37,218,190,186,218,255,0,184,238,1,0,4,139,251,251,128,114,255,0,193,238,1,0,144,100,211,128,177,211,255,0,202,238,1,0,22,156,253,253,180,98,255,0,211,238,1,0,58,134,222,179,222,105,255,0,220,238,1,0,233,47,252,252,205,229,255,0,229,238,1,0,0,0,217,217,217,217,255,0,238,238,1,0,237,253,158,158,1,66,255,0,252,238,1,0,177,130,162,94,79,162,255,0,11,239,1,0,250,180,213,213,62,79,255,0,25,239,1,0,10,184,244,244,109,67,255,0,39,239,1,0,20,157,253,253,174,97,255,0,53,239,1,0,31,115,254,254,224,139,255,0,67,239,1,0,49,96,245,230,245,152,255,0,81,239,1,0,79,65,221,171,221,164,255,0,95,239,1,0,114,120,194,102,194,165,255,0,109,239,1,0,143,187,189,50,136,189,255,0,123,239,1,0,237,253,158,158,1,66,255,0,137,239,1,0,143,187,189,50,136,189,255,0,152,239,1,0,177,130,162,94,79,162,255,0,167,239,1,0,250,180,213,213,62,79,255,0,181,239,1,0,10,184,244,244,109,67,255,0,195,239,1,0,20,157,253,253,174,97,255,0,209,239,1,0,31,115,254,254,224,139,255,0,223,239,1,0,42,64,255,255,255,191,255,0,237,239,1,0,49,96,245,230,245,152,255,0,251,239,1,0,79,65,221,171,221,164,255,0,9,240,1,0,114,120,194,102,194,165,255,0,23,240,1,0,13,164,252,252,141,89,255,0,36,240,1,0,42,64,255,255,255,191,255,0,49,240,1,0,81,77,213,153,213,148,255,0,62,240,1,0,254,225,215,215,25,28,255,0,75,240,1,0,20,157,253,253,174,97,255,0,88,240,1,0,79,65,221,171,221,164,255,0,101,240,1,0,143,196,186,43,131,186,255,0,114,240,1,0,254,225,215,215,25,28,255,0,127,240,1,0,20,157,253,253,174,97,255,0,140,240,1,0,42,64,255,255,255,191,255,0,153,240,1,0,79,65,221,171,221,164,255,0,166,240,1,0,143,196,186,43,131,186,255,0,179,240,1,0,250,180,213,213,62,79,255,0,192,240,1,0,13,164,252,252,141,89,255,0,205,240,1,0,31,115,254,254,224,139,255,0,218,240,1,0,49,96,245,230,245,152,255,0,231,240,1,0,81,77,213,153,213,148,255,0,244,240,1,0,143,187,189,50,136,189,255,0,1,241,1,0,250,180,213,213,62,79,255,0,14,241,1,0,13,164,252,252,141,89,255,0,27,241,1,0,31,115,254,254,224,139,255,0,40,241,1,0,42,64,255,255,255,191,255,0,53,241,1,0,49,96,245,230,245,152,255,0,66,241,1,0,81,77,213,153,213,148,255,0,79,241,1,0,143,187,189,50,136,189,255,0,92,241,1,0,250,180,213,213,62,79,255,0,105,241,1,0,10,184,244,244,109,67,255,0,118,241,1,0,20,157,253,253,174,97,255,0,131,241,1,0,31,115,254,254,224,139,255,0,144,241,1,0,49,96,245,230,245,152,255,0,157,241,1,0,79,65,221,171,221,164,255,0,170,241,1,0,114,120,194,102,194,165,255,0,183,241,1,0,143,187,189,50,136,189,255,0,196,241,1,0,250,180,213,213,62,79,255,0,209,241,1,0,10,184,244,244,109,67,255,0,222,241,1,0,20,157,253,253,174,97,255,0,235,241,1,0,31,115,254,254,224,139,255,0,248,241,1,0,42,64,255,255,255,191,255,0,5,242,1,0,49,96,245,230,245,152,255,0,18,242,1,0,79,65,221,171,221,164,255,0,31,242,1,0,114,120,194,102,194,165,255,0,44,242,1,0,143,187,189,50,136,189,255,0,57,242,1,0,147,15,255,240,248,255,255,0,72,242,1,0,24,35,250,250,235,215,255,0,90,242,1,0,127,255,255,0,255,255,255,0,100,242,1,0,113,128,255,127,255,212,255,0,116,242,1,0,127,15,255,240,255,255,255,0,127,242,1,0,42,26,245,245,245,220,255,0,138,242,1,0,23,58,255,255,228,196,255,0,150,242,1,0,0,0,0,0,0,0,255,0,161,242,1,0,25,49,255,255,235,205,255,0,181,242,1,0,170,255,255,0,0,255,255,0,191,242,1,0,192,206,226,138,43,226,255,0,207,242,1,0,0,190,165,165,42,42,255,0,218,242,1,0,23,99,222,222,184,135,255,0,233,242,1,0,128,103,160,95,158,160,255,0,248,242,1,0,63,255,255,127,255,0,255,0,8,243,1,0,17,218,210,210,105,30,255,0,23,243,1,0,11,175,255,255,127,80,255,0,34,243,1,0,154,147,237,100,149,237,255,0,54,243,1,0,33,34,255,255,248,220,255,0,68,243,1,0,246,231,220,220,20,60,255,0,81,243,1,0,127,255,255,0,255,255,255,0,91,243,1,0,170,255,139,0,0,139,255,0,105,243,1,0,127,255,139,0,139,139,255,0,119,243,1,0,30,239,184,184,134,11,255,0,138,243,1,0,0,0,169,169,169,169,255,0,152,243,1,0,85,255,100,0,100,0,255,0,167,243,1,0,0,0,169,169,169,169,255,0,181,243,1,0,39,110,189,189,183,107,255,0,196,243,1,0,212,255,139,139,0,139,255,0,213,243,1,0,58,142,107,85,107,47,255,0,233,243,1,0,23,255,255,255,140,0,255,0,249,243,1,0,198,192,204,153,50,204,255,0,9,244,1,0,0,255,139,139,0,0,255,0,22,244,1,0,10,121,233,233,150,122,255,0,38,244,1,0,85,61,188,143,188,143,255,0,56,244,1,0,175,143,139,72,61,139,255,0,75,244,1,0,127,103,79,47,79,79,255,0,94,244,1,0,127,103,79,47,79,79,255,0,113,244,1,0,128,255,209,0,206,209,255,0,132,244,1,0,199,255,211,148,0,211,255,0,148,244,1,0,232,235,255,255,20,147,255,0,162,244,1,0,138,255,255,0,191,255,255,0,179,244,1,0,0,0,105,105,105,105,255,0,192,244,1,0,0,0,105,105,105,105,255,0,205,244,1,0,148,225,255,30,144,255,255,0,221,244,1,0,0,206,178,178,34,34,255,0,236,244,1,0,28,15,255,255,250,240,255,0,253,244,1,0,85,192,139,34,139,34,255,0,14,245,1,0,212,255,255,255,0,255,255,0,27,245,1,0,0,0,220,220,220,220,255,0,42,245,1,0,170,7,255,248,248,255,255,0,58,245,1,0,35,255,255,255,215,0,255,0,68,245,1,0,30,217,218,218,165,32,255,0,83,245,1,0,0,0,128,128,128,128,255,0,93,245,1,0,85,255,128,0,128,0,255,0,104,245,1,0,59,208,255,173,255,47,255,0,121,245,1,0,0,0,128,128,128,128,255,0,131,245,1,0,85,15,255,240,255,240,255,0,145,245,1,0,233,150,255,255,105,180,255,0,158,245,1,0,0,140,205,205,92,92,255,0,173,245,1,0,194,255,130,75,0,130,255,0,185,245,1,0,42,15,255,255,255,240,255,0,196,245,1,0,38,106,240,240,230,140,255,0,207,245,1,0,170,20,250,230,230,250,255,0,221,245,1,0,240,15,255,255,240,245,255,0,240,245,1,0,64,255,252,124,252,0,255,0,255,245,1,0,38,49,255,255,250,205,255,0,17,246,1,0,137,63,230,173,216,230,255,0,32,246,1,0,0,119,240,240,128,128,255,0,48,246,1,0,127,31,255,224,255,255,255,0,63,246,1,0,42,40,250,250,250,210,255,0,89,246,1,0,0,0,211,211,211,211,255,0,104,246,1,0,85,100,238,144,238,144,255,0,120,246,1,0,0,0,211,211,211,211,255,0,135,246,1,0,248,73,255,255,182,193,255,0,150,246,1,0,12,132,255,255,160,122,255,0,167,246,1,0,125,209,178,32,178,170,255,0,186,246,1,0,143,117,250,135,206,250,255,0,204,246,1,0,148,56,153,119,136,153,255,0,224,246,1,0,148,56,153,119,136,153,255,0,244,246,1,0,151,52,222,176,196,222,255,0,8,247,1,0,42,31,255,255,255,224,255,0,25,247,1,0,85,255,255,0,255,0,255,0,35,247,1,0,85,192,205,50,205,50,255,0,50,247,1,0,21,20,250,250,240,230,255,0,61,247,1,0,212,255,255,255,0,255,255,0,74,247,1,0,0,255,128,128,0,0,255,0,86,247,1,0,113,128,205,102,205,170,255,0,108,247,1,0,170,255,205,0,0,205,255,0,124,247,1,0,204,152,211,186,85,211,255,0,142,247,1,0,183,124,219,147,112,219,255,0,160,247,1,0,103,169,179,60,179,113,255,0,180,247,1,0,176,143,238,123,104,238,255,0,201,247,1,0,111,255,250,0,250,154,255,0,224,247,1,0,125,167,209,72,209,204,255,0,245,247,1,0,228,228,199,199,21,133,255,0,10,248,1,0,170,198,112,25,25,112,255,0,28,248,1,0,106,9,255,245,255,250,255,0,43,248,1,0,4,30,255,255,228,225,255,0,58,248,1,0,26,73,255,255,228,181,255,0,72,248,1,0,25,81,255,255,222,173,255,0,89,248,1,0,170,255,128,0,0,128,255,0,99,248,1,0,27,23,253,253,245,230,255,0,112,248,1,0,42,255,128,128,128,0,255,0,123,248,1,0,56,192,142,107,142,35,255,0,138,248,1,0,27,255,255,255,165,0,255,0,150,248,1,0,11,255,255,255,69,0,255,0,165,248,1,0,214,123,218,218,112,214,255,0,177,248,1,0,38,72,238,238,232,170,255,0,196,248,1,0,85,100,251,152,251,152,255,0,211,248,1,0,127,67,238,175,238,238,255,0,230,248,1,0,241,124,219,219,112,147,255,0,249,248,1,0,26,41,255,255,239,213,255,0,9,249,1,0,20,70,255,255,218,185,255,0,24,249,1,0,20,176,205,205,133,63,255,0,34,249,1,0,247,63,255,255,192,203,255,0,44,249,1,0,212,70,221,221,160,221,255,0,54,249,1,0,132,59,230,176,224,230,255,0,70,249,1,0,212,255,128,128,0,128,255,0,82,249,1,0,0,255,255,255,0,0,255,0,91,249,1,0,0,61,188,188,143,143,255,0,106,249,1,0,159,181,225,65,105,225,255,0,121,249,1,0,17,220,139,139,69,19,255,0,138,249,1,0,4,138,250,250,128,114,255,0,150,249,1,0,19,154,244,244,164,96,255,0,166,249,1,0,103,170,139,46,139,87,255,0,180,249,1,0,17,16,255,255,245,238,255,0,194,249,1,0,13,183,160,160,82,45,255,0,206,249,1,0,0,0,192,192,192,192,255,0,218,249,1,0,139,108,235,135,206,235,255,0,231,249,1,0,175,143,205,106,90,205,255,0,246,249,1,0,148,56,144,112,128,144,255,0,5,250,1,0,148,56,144,112,128,144,255,0,20,250,1,0,0,5,255,255,250,250,255,0,30,250,1,0,106,255,255,0,255,127,255,0,47,250,1,0,146,155,180,70,130,180,255,0,62,250,1,0,24,84,210,210,180,140,255,0,71,250,1,0,127,255,128,0,128,128,255,0,81,250,1,0,212,29,216,216,191,216,255,0,94,250,1,0,6,184,255,255,99,71,255,0,106,250,1,0,123,182,224,64,224,208,255,0,121,250,1,0,212,115,238,238,130,238,255,0,133,250,1,0,27,68,245,245,222,179,255,0,144,250,1,0,0,0,255,255,255,255,255,0,155,250,1,0,0,0,245,245,245,245,255,0,171,250,1,0,42,255,255,255,255,0,255,0,183,250,1,0,56,192,205,154,205,50,255,0,200,250,1,0,45,67,252,247,252,185,255,0,209,250,1,0,68,91,221,173,221,142,255,0,218,250,1,0,98,178,163,49,163,84,255,0,227,250,1,0,42,50,255,255,255,204,255,0,236,250,1,0,62,85,230,194,230,153,255,0,245,250,1,0,85,100,198,120,198,121,255,0,254,250,1,0,99,187,132,35,132,67,255,0,7,251,1,0,42,50,255,255,255,204,255,0,16,251,1,0,62,85,230,194,230,153,255,0,25,251,1,0,85,100,198,120,198,121,255,0,34,251,1,0,98,178,163,49,163,84,255,0,43,251,1,0,107,255,104,0,104,55,255,0,52,251,1,0,42,50,255,255,255,204,255,0,61,251,1,0,55,81,240,217,240,163,255,0,70,251,1,0,68,91,221,173,221,142,255,0,79,251,1,0,85,100,198,120,198,121,255,0,88,251,1,0,98,178,163,49,163,84,255,0,97,251,1,0,107,255,104,0,104,55,255,0,106,251,1,0,42,50,255,255,255,204,255,0,115,251,1,0,55,81,240,217,240,163,255,0,124,251,1,0,68,91,221,173,221,142,255,0,133,251,1,0,85,100,198,120,198,121,255,0,142,251,1,0,96,158,171,65,171,93,255,0,151,251,1,0,99,187,132,35,132,67,255,0,160,251,1,0,108,255,90,0,90,50,255,0,169,251,1,0,42,25,255,255,255,229,255,0,178,251,1,0,45,67,252,247,252,185,255,0,187,251,1,0,55,81,240,217,240,163,255,0,196,251,1,0,68,91,221,173,221,142,255,0,205,251,1,0,85,100,198,120,198,121,255,0,214,251,1,0,96,158,171,65,171,93,255,0,223,251,1,0,99,187,132,35,132,67,255,0,232,251,1,0,108,255,90,0,90,50,255,0,241,251,1,0,42,25,255,255,255,229,255,0,250,251,1,0,45,67,252,247,252,185,255,0,3,252,1,0,55,81,240,217,240,163,255,0,12,252,1,0,68,91,221,173,221,142,255,0,21,252,1,0,85,100,198,120,198,121,255,0,30,252,1,0,96,158,171,65,171,93,255,0,39,252,1,0,99,187,132,35,132,67,255,0,48,252,1,0,107,255,104,0,104,55,255,0,57,252,1,0,110,255,69,0,69,41,255,0,66,252,1,0,49,73,248,237,248,177,255,0,77,252,1,0,117,97,205,127,205,187,255,0,88,252,1,0,144,194,184,44,127,184,255,0,99,252,1,0,42,50,255,255,255,204,255,0,110,252,1,0,99,66,218,161,218,180,255,0,121,252,1,0,132,170,196,65,182,196,255,0,132,252,1,0,150,203,168,34,94,168,255,0,143,252,1,0,42,50,255,255,255,204,255,0,154,252,1,0,99,66,218,161,218,180,255,0,165,252,1,0,132,170,196,65,182,196,255,0,176,252,1,0,144,194,184,44,127,184,255,0,187,252,1,0,164,191,148,37,52,148,255,0,198,252,1,0,42,50,255,255,255,204,255,0,209,252,1,0,69,58,233,199,233,180,255,0,220,252,1,0,117,97,205,127,205,187,255,0,231,252,1,0,132,170,196,65,182,196,255,0,242,252,1,0,144,194,184,44,127,184,255,0,253,252,1,0,164,191,148,37,52,148,255,0,8,253,1,0,42,50,255,255,255,204,255,0,19,253,1,0,69,58,233,199,233,180,255,0,30,253,1,0,117,97,205,127,205,187,255,0,41,253,1,0,132,170,196,65,182,196,255,0,52,253,1,0,139,216,192,29,145,192,255,0,63,253,1,0,150,203,168,34,94,168,255,0,74,253,1,0,158,231,132,12,44,132,255,0,85,253,1,0,42,38,255,255,255,217,255,0,96,253,1,0,49,73,248,237,248,177,255,0,107,253,1,0,69,58,233,199,233,180,255,0,118,253,1,0,117,97,205,127,205,187,255,0,129,253,1,0,132,170,196,65,182,196,255,0,140,253,1,0,139,216,192,29,145,192,255,0,151,253,1,0,150,203,168,34,94,168,255,0,162,253,1,0,158,231,132,12,44,132,255,0,173,253,1,0,42,38,255,255,255,217,255,0,184,253,1,0,49,73,248,237,248,177,255,0,195,253,1,0,69,58,233,199,233,180,255,0,206,253,1,0,117,97,205,127,205,187,255,0,217,253,1,0,132,170,196,65,182,196,255,0,228,253,1,0,139,216,192,29,145,192,255,0,239,253,1,0,150,203,168,34,94,168,255,0,250,253,1,0,164,191,148,37,52,148,255,0,5,254,1,0,158,231,88,8,29,88,255,0,16,254,1,0,37,66,255,255,247,188,255,0,27,254,1,0,28,175,254,254,196,79,255,0,38,254,1,0,16,238,217,217,95,14,255,0,49,254,1,0,42,42,255,255,255,212,255,0,60,254,1,0,28,112,254,254,217,142,255,0,71,254,1,0,22,213,254,254,153,41,255,0,82,254,1,0,15,252,204,204,76,2,255,0,93,254,1,0,42,42,255,255,255,212,255,0,104,254,1,0,28,112,254,254,217,142,255,0,115,254,1,0,22,213,254,254,153,41,255,0,126,254,1,0,16,238,217,217,95,14,255,0,137,254,1,0,13,248,153,153,52,4,255,0,148,254,1,0,42,42,255,255,255,212,255,0,159,254,1,0,31,109,254,254,227,145,255,0,170,254,1,0,28,175,254,254,196,79,255,0,181,254,1,0,22,213,254,254,153,41,255,0,192,254,1,0,16,238,217,217,95,14,255,0,203,254,1,0,13,248,153,153,52,4,255,0,214,254,1,0,42,42,255,255,255,212,255,0,225,254,1,0,31,109,254,254,227,145,255,0,236,254,1,0,28,175,254,254,196,79,255,0,247,254,1,0,22,213,254,254,153,41,255,0,2,255,1,0,18,233,236,236,112,20,255,0,13,255,1,0,15,252,204,204,76,2,255,0,24,255,1,0,12,247,140,140,45,4,255,0,35,255,1,0,42,25,255,255,255,229,255,0,46,255,1,0,37,66,255,255,247,188,255,0,57,255,1,0,31,109,254,254,227,145,255,0,68,255,1,0,28,175,254,254,196,79,255,0,79,255,1,0,22,213,254,254,153,41,255,0,90,255,1,0,18,233,236,236,112,20,255,0,101,255,1,0,15,252,204,204,76,2,255,0,112,255,1,0,12,247,140,140,45,4,255,0,123,255,1,0,42,25,255,255,255,229,255,0,134,255,1,0,37,66,255,255,247,188,255,0,145,255,1,0,31,109,254,254,227,145,255,0,156,255,1,0,28,175,254,254,196,79,255,0,167,255,1,0,22,213,254,254,153,41,255,0,178,255,1,0,18,233,236,236,112,20,255,0,189,255,1,0,15,252,204,204,76,2,255,0,200,255,1,0,13,248,153,153,52,4,255,0,211,255,1,0,13,240,102,102,37,6,255,0,222,255,1,0,34,95,255,255,237,160,255,0,233,255,1,0,24,178,254,254,178,76,255,0,244,255,1,0,5,221,240,240,59,32,255,0,255,255,1,0,42,77,255,255,255,178,255,0,10,0,2,0,29,162,254,254,204,92,255,0,21,0,2,0,17,194,253,253,141,60,255,0,32,0,2,0,254,225,227,227,26,28,255,0,43,0,2,0,42,77,255,255,255,178,255,0,54,0,2,0,29,162,254,254,204,92,255,0,65,0,2,0,17,194,253,253,141,60,255,0,76,0,2,0,5,221,240,240,59,32,255,0,87,0,2,0,246,255,189,189,0,38,255,0,98,0,2,0,42,77,255,255,255,178,255,0,109,0,2,0,30,136,254,254,217,118,255,0,120,0,2,0,24,178,254,254,178,76,255,0,131,0,2,0,17,194,253,253,141,60,255,0,142,0,2,0,5,221,240,240,59,32,255,0,153,0,2,0,246,255,189,189,0,38,255,0,164,0,2,0,42,77,255,255,255,178,255,0,175,0,2,0,30,136,254,254,217,118,255,0,186,0,2,0,24,178,254,254,178,76,255,0,197,0,2,0,17,194,253,253,141,60,255,0,208,0,2,0,7,212,252,252,78,42,255,0,219,0,2,0,254,225,227,227,26,28,255,0,230,0,2,0,245,255,177,177,0,38,255,0,241,0,2,0,42,50,255,255,255,204,255,0,252,0,2,0,34,95,255,255,237,160,255,0,7,1,2,0,30,136,254,254,217,118,255,0,18,1,2,0,24,178,254,254,178,76,255,0,29,1,2,0,17,194,253,253,141,60,255,0,40,1,2,0,7,212,252,252,78,42,255,0,51,1,2,0,254,225,227,227,26,28,255,0,62,1,2,0,245,255,177,177,0,38,255,0,73,1,2,0,42,50,255,255,255,204,255,0,84,1,2,0,34,95,255,255,237,160,255,0,95,1,2,0,30,136,254,254,217,118,255,0,106,1,2,0,24,178,254,254,178,76,255,0,117,1,2,0,17,194,253,253,141,60,255,0,128,1,2,0,7,212,252,252,78,42,255,0,139,1,2,0,254,225,227,227,26,28,255,0,150,1,2,0,246,255,189,189,0,38,255,0,161,1,2,0,242,255,128,128,0,38,255,0,172,1,2,0,147,15,255,240,248,255,255,0,182,1,2,0,24,35,250,250,235,215,255,0,195,1,2,0,23,36,255,255,239,219,255,0,209,1,2,0,23,36,238,238,223,204,255,0,223,1,2,0,23,36,205,205,192,176,255,0,237,1,2,0,24,34,139,139,131,120,255,0,251,1,2,0,113,128,255,127,255,212,255,0,6,2,2,0,113,128,255,127,255,212,255,0,18,2,2,0,113,128,238,118,238,198,255,0,30,2,2,0,113,128,205,102,205,170,255,0,42,2,2,0,113,128,139,69,139,116,255,0,54,2,2,0,127,15,255,240,255,255,255,0,60,2,2,0,127,15,255,240,255,255,255,0,67,2,2,0,127,15,238,224,238,238,255,0,74,2,2,0,127,14,205,193,205,205,255,0,81,2,2,0,127,14,139,131,139,139,255,0,88,2,2,0,42,26,245,245,245,220,255,0,94,2,2,0,23,58,255,255,228,196,255,0,101,2,2,0,23,58,255,255,228,196,255,0,109,2,2,0,23,58,238,238,213,183,255,0,117,2,2,0,22,58,205,205,183,158,255,0,125,2,2,0,23,58,139,139,125,107,255,0,143,25,2,0,0,0,0,0,0,0,255,0,133,2,2,0,25,49,255,255,235,205,255,0,148,2,2,0,170,255,255,0,0,255,255,0,153,2,2,0,170,255,255,0,0,255,255,0,159,2,2,0,170,255,238,0,0,238,255,0,165,2,2,0,170,255,205,0,0,205,255,0,171,2,2,0,170,255,139,0,0,139,255,0,177,2,2,0,192,206,226,138,43,226,255,0,188,2,2,0,0,190,165,165,42,42,255,0,194,2,2,0,0,191,255,255,64,64,255,0,201,2,2,0,0,191,238,238,59,59,255,0,208,2,2,0,0,191,205,205,51,51,255,0,215,2,2,0,0,190,139,139,35,35,255,0,222,2,2,0,23,99,222,222,184,135,255,0,232,2,2,0,23,100,255,255,211,155,255,0,243,2,2,0,23,99,238,238,197,145,255,0,254,2,2,0,23,99,205,205,170,125,255,0,9,3,2,0,23,99,139,139,115,85,255,0,20,3,2,0,128,103,160,95,158,160,255,0,30,3,2,0,131,103,255,152,245,255,255,0,41,3,2,0,131,102,238,142,229,238,255,0,52,3,2,0,131,103,205,122,197,205,255,0,63,3,2,0,131,102,139,83,134,139,255,0,74,3,2,0,63,255,255,127,255,0,255,0,85,3,2,0,63,255,255,127,255,0,255,0,97,3,2,0,63,255,238,118,238,0,255,0,109,3,2,0,63,255,205,102,205,0,255,0,121,3,2,0,63,255,139,69,139,0,255,0,133,3,2,0,17,218,210,210,105,30,255,0,143,3,2,0,17,219,255,255,127,36,255,0,154,3,2,0,17,219,238,238,118,33,255,0,165,3,2,0,17,218,205,205,102,29,255,0,176,3,2,0,17,220,139,139,69,19,255,0,187,3,2,0,11,175,255,255,127,80,255,0,193,3,2,0,7,169,255,255,114,86,255,0,200,3,2,0,6,169,238,238,106,80,255,0,207,3,2,0,6,169,205,205,91,69,255,0,214,3,2,0,6,168,139,139,62,47,255,0,221,3,2,0,154,147,237,100,149,237,255,0,236,3,2,0,33,34,255,255,248,220,255,0,245,3,2,0,33,34,255,255,248,220,255,0,255,3,2,0,34,35,238,238,232,205,255,0,9,4,2,0,34,34,205,205,200,177,255,0,19,4,2,0,35,34,139,139,136,120,255,0,29,4,2,0,246,231,220,220,20,60,255,0,37,4,2,0,127,255,255,0,255,255,255,0,42,4,2,0,127,255,255,0,255,255,255,0,48,4,2,0,127,255,238,0,238,238,255,0,54,4,2,0,127,255,205,0,205,205,255,0,60,4,2,0,127,255,139,0,139,139,255,0,66,4,2,0,30,239,184,184,134,11,255,0,80,4,2,0,30,240,255,255,185,15,255,0,95,4,2,0,30,240,238,238,173,14,255,0,110,4,2,0,30,240,205,205,149,12,255,0,125,4,2,0,30,240,139,139,101,8,255,0,140,4,2,0,85,255,100,0,100,0,255,0,150,4,2,0,39,110,189,189,183,107,255,0,160,4,2,0,58,142,107,85,107,47,255,0,175,4,2,0,58,143,255,202,255,112,255,0,191,4,2,0,58,143,238,188,238,104,255,0,207,4,2,0,58,143,205,162,205,90,255,0,223,4,2,0,58,143,139,110,139,61,255,0,239,4,2,0,23,255,255,255,140,0,255,0,250,4,2,0,21,255,255,255,127,0,255,0,6,5,2,0,21,255,238,238,118,0,255,0,18,5,2,0,21,255,205,205,102,0,255,0,30,5,2,0,21,255,139,139,69,0,255,0,42,5,2,0,198,192,204,153,50,204,255,0,53,5,2,0,198,193,255,191,62,255,255,0,65,5,2,0,198,192,238,178,58,238,255,0,77,5,2,0,198,192,205,154,50,205,255,0,89,5,2,0,198,192,139,104,34,139,255,0,101,5,2,0,10,121,233,233,150,122,255,0,112,5,2,0,85,61,188,143,188,143,255,0,125,5,2,0,85,62,255,193,255,193,255,0,139,5,2,0,85,62,238,180,238,180,255,0,153,5,2,0,85,62,205,155,205,155,255,0,167,5,2,0,85,62,139,105,139,105,255,0,181,5,2,0,175,143,139,72,61,139,255,0,195,5,2,0,127,103,79,47,79,79,255,0,209,5,2,0,127,104,255,151,255,255,255,0,224,5,2,0,127,103,238,141,238,238,255,0,239,5,2,0,127,104,205,121,205,205,255,0,254,5,2,0,127,104,139,82,139,139,255,0,13,6,2,0,127,103,79,47,79,79,255,0,27,6,2,0,128,255,209,0,206,209,255,0,41,6,2,0,199,255,211,148,0,211,255,0,52,6,2,0,232,235,255,255,20,147,255,0,61,6,2,0,232,235,255,255,20,147,255,0,71,6,2,0,232,235,238,238,18,137,255,0,81,6,2,0,232,235,205,205,16,118,255,0,91,6,2,0,231,236,139,139,10,80,255,0,101,6,2,0,138,255,255,0,191,255,255,0,113,6,2,0,138,255,255,0,191,255,255,0,126,6,2,0,138,255,238,0,178,238,255,0,139,6,2,0,138,255,205,0,154,205,255,0,152,6,2,0,138,255,139,0,104,139,255,0,165,6,2,0,0,0,105,105,105,105,255,0,173,6,2,0,0,0,105,105,105,105,255,0,181,6,2,0,148,225,255,30,144,255,255,0,192,6,2,0,148,225,255,30,144,255,255,0,204,6,2,0,148,225,238,28,134,238,255,0,216,6,2,0,148,225,205,24,116,205,255,0,228,6,2,0,148,225,139,16,78,139,255,0,240,6,2,0,0,206,178,178,34,34,255,0,250,6,2,0,0,207,255,255,48,48,255,0,5,7,2,0,0,207,238,238,44,44,255,0,16,7,2,0,0,207,205,205,38,38,255,0,27,7,2,0,0,207,139,139,26,26,255,0,38,7,2,0,28,15,255,255,250,240,255,0,50,7,2,0,85,192,139,34,139,34,255,0,62,7,2,0,0,0,220,220,220,220,255,0,72,7,2,0,170,7,255,248,248,255,255,0,83,7,2,0,35,255,255,255,215,0,255,0,88,7,2,0,35,255,255,255,215,0,255,0,94,7,2,0,35,255,238,238,201,0,255,0,100,7,2,0,35,255,205,205,173,0,255,0,106,7,2,0,35,255,139,139,117,0,255,0,112,7,2,0,30,217,218,218,165,32,255,0,122,7,2,0,30,218,255,255,193,37,255,0,133,7,2,0,30,218,238,238,180,34,255,0,144,7,2,0,30,218,205,205,155,29,255,0,155,7,2,0,30,218,139,139,105,20,255,0,166,7,2,0,0,0,192,192,192,192,255,0,171,7,2,0,0,0,0,0,0,0,255,0,177,7,2,0,0,0,3,3,3,3,255,0,183,7,2,0,0,0,26,26,26,26,255,0,190,7,2,0,0,0,255,255,255,255,255,0,198,7,2,0,0,0,28,28,28,28,255,0,205,7,2,0,0,0,31,31,31,31,255,0,212,7,2,0,0,0,33,33,33,33,255,0,219,7,2,0,0,0,36,36,36,36,255,0,226,7,2,0,0,0,38,38,38,38,255,0,233,7,2,0,0,0,41,41,41,41,255,0,240,7,2,0,0,0,43,43,43,43,255,0,247,7,2,0,0,0,46,46,46,46,255,0,254,7,2,0,0,0,48,48,48,48,255,0,5,8,2,0,0,0,5,5,5,5,255,0,11,8,2,0,0,0,51,51,51,51,255,0,18,8,2,0,0,0,54,54,54,54,255,0,25,8,2,0,0,0,56,56,56,56,255,0,32,8,2,0,0,0,59,59,59,59,255,0,39,8,2,0,0,0,61,61,61,61,255,0,46,8,2,0,0,0,64,64,64,64,255,0,53,8,2,0,0,0,66,66,66,66,255,0,60,8,2,0,0,0,69,69,69,69,255,0,67,8,2,0,0,0,71,71,71,71,255,0,74,8,2,0,0,0,74,74,74,74,255,0,81,8,2,0,0,0,8,8,8,8,255,0,87,8,2,0,0,0,77,77,77,77,255,0,94,8,2,0,0,0,79,79,79,79,255,0,101,8,2,0,0,0,82,82,82,82,255,0,108,8,2,0,0,0,84,84,84,84,255,0,115,8,2,0,0,0,87,87,87,87,255,0,122,8,2,0,0,0,89,89,89,89,255,0,129,8,2,0,0,0,92,92,92,92,255,0,136,8,2,0,0,0,94,94,94,94,255,0,143,8,2,0,0,0,97,97,97,97,255,0,150,8,2,0,0,0,99,99,99,99,255,0,157,8,2,0,0,0,10,10,10,10,255,0,163,8,2,0,0,0,102,102,102,102,255,0,170,8,2,0,0,0,105,105,105,105,255,0,177,8,2,0,0,0,107,107,107,107,255,0,184,8,2,0,0,0,110,110,110,110,255,0,191,8,2,0,0,0,112,112,112,112,255,0,198,8,2,0,0,0,115,115,115,115,255,0,205,8,2,0,0,0,117,117,117,117,255,0,212,8,2,0,0,0,120,120,120,120,255,0,219,8,2,0,0,0,122,122,122,122,255,0,226,8,2,0,0,0,125,125,125,125,255,0,233,8,2,0,0,0,13,13,13,13,255,0,239,8,2,0,0,0,127,127,127,127,255,0,246,8,2,0,0,0,130,130,130,130,255,0,253,8,2,0,0,0,133,133,133,133,255,0,4,9,2,0,0,0,135,135,135,135,255,0,11,9,2,0,0,0,138,138,138,138,255,0,18,9,2,0,0,0,140,140,140,140,255,0,25,9,2,0,0,0,143,143,143,143,255,0,32,9,2,0,0,0,145,145,145,145,255,0,39,9,2,0,0,0,148,148,148,148,255,0,46,9,2,0,0,0,150,150,150,150,255,0,53,9,2,0,0,0,15,15,15,15,255,0,59,9,2,0,0,0,153,153,153,153,255,0,66,9,2,0,0,0,156,156,156,156,255,0,73,9,2,0,0,0,158,158,158,158,255,0,80,9,2,0,0,0,161,161,161,161,255,0,87,9,2,0,0,0,163,163,163,163,255,0,94,9,2,0,0,0,166,166,166,166,255,0,101,9,2,0,0,0,168,168,168,168,255,0,108,9,2,0,0,0,171,171,171,171,255,0,115,9,2,0,0,0,173,173,173,173,255,0,122,9,2,0,0,0,176,176,176,176,255,0,129,9,2,0,0,0,18,18,18,18,255,0,135,9,2,0,0,0,179,179,179,179,255,0,142,9,2,0,0,0,181,181,181,181,255,0,149,9,2,0,0,0,184,184,184,184,255,0,156,9,2,0,0,0,186,186,186,186,255,0,163,9,2,0,0,0,189,189,189,189,255,0,170,9,2,0,0,0,191,191,191,191,255,0,177,9,2,0,0,0,194,194,194,194,255,0,184,9,2,0,0,0,196,196,196,196,255,0,191,9,2,0,0,0,199,199,199,199,255,0,198,9,2,0,0,0,201,201,201,201,255,0,205,9,2,0,0,0,20,20,20,20,255,0,211,9,2,0,0,0,204,204,204,204,255,0,218,9,2,0,0,0,207,207,207,207,255,0,225,9,2,0,0,0,209,209,209,209,255,0,232,9,2,0,0,0,212,212,212,212,255,0,239,9,2,0,0,0,214,214,214,214,255,0,246,9,2,0,0,0,217,217,217,217,255,0,253,9,2,0,0,0,219,219,219,219,255,0,4,10,2,0,0,0,222,222,222,222,255,0,11,10,2,0,0,0,224,224,224,224,255,0,18,10,2,0,0,0,227,227,227,227,255,0,25,10,2,0,0,0,23,23,23,23,255,0,31,10,2,0,0,0,229,229,229,229,255,0,38,10,2,0,0,0,232,232,232,232,255,0,45,10,2,0,0,0,235,235,235,235,255,0,52,10,2,0,0,0,237,237,237,237,255,0,59,10,2,0,0,0,240,240,240,240,255,0,66,10,2,0,0,0,242,242,242,242,255,0,73,10,2,0,0,0,245,245,245,245,255,0,80,10,2,0,0,0,247,247,247,247,255,0,87,10,2,0,0,0,250,250,250,250,255,0,94,10,2,0,0,0,252,252,252,252,255,0,101,10,2,0,85,255,255,0,255,0,255,0,107,10,2,0,85,255,255,0,255,0,255,0,114,10,2,0,85,255,238,0,238,0,255,0,121,10,2,0,85,255,205,0,205,0,255,0,128,10,2,0,85,255,139,0,139,0,255,0,135,10,2,0,59,208,255,173,255,47,255,0,147,10,2,0,0,0,192,192,192,192,255,0,152,10,2,0,0,0,0,0,0,0,255,0,158,10,2,0,0,0,3,3,3,3,255,0,164,10,2,0,0,0,26,26,26,26,255,0,171,10,2,0,0,0,255,255,255,255,255,0,179,10,2,0,0,0,28,28,28,28,255,0,186,10,2,0,0,0,31,31,31,31,255,0,193,10,2,0,0,0,33,33,33,33,255,0,200,10,2,0,0,0,36,36,36,36,255,0,207,10,2,0,0,0,38,38,38,38,255,0,214,10,2,0,0,0,41,41,41,41,255,0,221,10,2,0,0,0,43,43,43,43,255],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+40964);allocate([228,10,2,0,0,0,46,46,46,46,255,0,235,10,2,0,0,0,48,48,48,48,255,0,242,10,2,0,0,0,5,5,5,5,255,0,248,10,2,0,0,0,51,51,51,51,255,0,255,10,2,0,0,0,54,54,54,54,255,0,6,11,2,0,0,0,56,56,56,56,255,0,13,11,2,0,0,0,59,59,59,59,255,0,20,11,2,0,0,0,61,61,61,61,255,0,27,11,2,0,0,0,64,64,64,64,255,0,34,11,2,0,0,0,66,66,66,66,255,0,41,11,2,0,0,0,69,69,69,69,255,0,48,11,2,0,0,0,71,71,71,71,255,0,55,11,2,0,0,0,74,74,74,74,255,0,62,11,2,0,0,0,8,8,8,8,255,0,68,11,2,0,0,0,77,77,77,77,255,0,75,11,2,0,0,0,79,79,79,79,255,0,82,11,2,0,0,0,82,82,82,82,255,0,89,11,2,0,0,0,84,84,84,84,255,0,96,11,2,0,0,0,87,87,87,87,255,0,103,11,2,0,0,0,89,89,89,89,255,0,110,11,2,0,0,0,92,92,92,92,255,0,117,11,2,0,0,0,94,94,94,94,255,0,124,11,2,0,0,0,97,97,97,97,255,0,131,11,2,0,0,0,99,99,99,99,255,0,138,11,2,0,0,0,10,10,10,10,255,0,144,11,2,0,0,0,102,102,102,102,255,0,151,11,2,0,0,0,105,105,105,105,255,0,158,11,2,0,0,0,107,107,107,107,255,0,165,11,2,0,0,0,110,110,110,110,255,0,172,11,2,0,0,0,112,112,112,112,255,0,179,11,2,0,0,0,115,115,115,115,255,0,186,11,2,0,0,0,117,117,117,117,255,0,193,11,2,0,0,0,120,120,120,120,255,0,200,11,2,0,0,0,122,122,122,122,255,0,207,11,2,0,0,0,125,125,125,125,255,0,214,11,2,0,0,0,13,13,13,13,255,0,220,11,2,0,0,0,127,127,127,127,255,0,227,11,2,0,0,0,130,130,130,130,255,0,234,11,2,0,0,0,133,133,133,133,255,0,241,11,2,0,0,0,135,135,135,135,255,0,248,11,2,0,0,0,138,138,138,138,255,0,255,11,2,0,0,0,140,140,140,140,255,0,6,12,2,0,0,0,143,143,143,143,255,0,13,12,2,0,0,0,145,145,145,145,255,0,20,12,2,0,0,0,148,148,148,148,255,0,27,12,2,0,0,0,150,150,150,150,255,0,34,12,2,0,0,0,15,15,15,15,255,0,40,12,2,0,0,0,153,153,153,153,255,0,47,12,2,0,0,0,156,156,156,156,255,0,54,12,2,0,0,0,158,158,158,158,255,0,61,12,2,0,0,0,161,161,161,161,255,0,68,12,2,0,0,0,163,163,163,163,255,0,75,12,2,0,0,0,166,166,166,166,255,0,82,12,2,0,0,0,168,168,168,168,255,0,89,12,2,0,0,0,171,171,171,171,255,0,96,12,2,0,0,0,173,173,173,173,255,0,103,12,2,0,0,0,176,176,176,176,255,0,110,12,2,0,0,0,18,18,18,18,255,0,116,12,2,0,0,0,179,179,179,179,255,0,123,12,2,0,0,0,181,181,181,181,255,0,130,12,2,0,0,0,184,184,184,184,255,0,137,12,2,0,0,0,186,186,186,186,255,0,144,12,2,0,0,0,189,189,189,189,255,0,151,12,2,0,0,0,191,191,191,191,255,0,158,12,2,0,0,0,194,194,194,194,255,0,165,12,2,0,0,0,196,196,196,196,255,0,172,12,2,0,0,0,199,199,199,199,255,0,179,12,2,0,0,0,201,201,201,201,255,0,186,12,2,0,0,0,20,20,20,20,255,0,192,12,2,0,0,0,204,204,204,204,255,0,199,12,2,0,0,0,207,207,207,207,255,0,206,12,2,0,0,0,209,209,209,209,255,0,213,12,2,0,0,0,212,212,212,212,255,0,220,12,2,0,0,0,214,214,214,214,255,0,227,12,2,0,0,0,217,217,217,217,255,0,234,12,2,0,0,0,219,219,219,219,255,0,241,12,2,0,0,0,222,222,222,222,255,0,248,12,2,0,0,0,224,224,224,224,255,0,255,12,2,0,0,0,227,227,227,227,255,0,6,13,2,0,0,0,23,23,23,23,255,0,12,13,2,0,0,0,229,229,229,229,255,0,19,13,2,0,0,0,232,232,232,232,255,0,26,13,2,0,0,0,235,235,235,235,255,0,33,13,2,0,0,0,237,237,237,237,255,0,40,13,2,0,0,0,240,240,240,240,255,0,47,13,2,0,0,0,242,242,242,242,255,0,54,13,2,0,0,0,245,245,245,245,255,0,61,13,2,0,0,0,247,247,247,247,255,0,68,13,2,0,0,0,250,250,250,250,255,0,75,13,2,0,0,0,252,252,252,252,255,0,82,13,2,0,85,15,255,240,255,240,255,0,91,13,2,0,85,15,255,240,255,240,255,0,101,13,2,0,85,15,238,224,238,224,255,0,111,13,2,0,85,14,205,193,205,193,255,0,121,13,2,0,85,14,139,131,139,131,255,0,131,13,2,0,233,150,255,255,105,180,255,0,139,13,2,0,234,145,255,255,110,180,255,0,148,13,2,0,235,141,238,238,106,167,255,0,157,13,2,0,236,135,205,205,96,144,255,0,166,13,2,0,234,148,139,139,58,98,255,0,175,13,2,0,0,140,205,205,92,92,255,0,185,13,2,0,0,148,255,255,106,106,255,0,196,13,2,0,0,148,238,238,99,99,255,0,207,13,2,0,0,149,205,205,85,85,255,0,218,13,2,0,0,148,139,139,58,58,255,0,229,13,2,0,194,255,130,75,0,130,255,0,236,13,2,0,42,0,255,255,255,254,0,0,242,13,2,0,42,15,255,255,255,240,255,0,248,13,2,0,42,15,255,255,255,240,255,0,255,13,2,0,42,15,238,238,238,224,255,0,6,14,2,0,42,14,205,205,205,193,255,0,13,14,2,0,42,14,139,139,139,131,255,0,20,14,2,0,38,106,240,240,230,140,255,0,26,14,2,0,39,112,255,255,246,143,255,0,33,14,2,0,39,112,238,238,230,133,255,0,40,14,2,0,39,111,205,205,198,115,255,0,47,14,2,0,39,111,139,139,134,78,255,0,54,14,2,0,170,20,250,230,230,250,255,0,63,14,2,0,240,15,255,255,240,245,255,0,77,14,2,0,240,15,255,255,240,245,255,0,92,14,2,0,239,15,238,238,224,229,255,0,107,14,2,0,240,14,205,205,193,197,255,0,122,14,2,0,239,14,139,139,131,134,255,0,137,14,2,0,64,255,252,124,252,0,255,0,147,14,2,0,38,49,255,255,250,205,255,0,160,14,2,0,38,49,255,255,250,205,255,0,174,14,2,0,37,50,238,238,233,191,255,0,188,14,2,0,38,49,205,205,201,165,255,0,202,14,2,0,39,49,139,139,137,112,255,0,216,14,2,0,137,63,230,173,216,230,255,0,226,14,2,0,138,64,255,191,239,255,255,0,237,14,2,0,138,64,238,178,223,238,255,0,248,14,2,0,138,63,205,154,192,205,255,0,3,15,2,0,137,64,139,104,131,139,255,0,14,15,2,0,0,119,240,240,128,128,255,0,25,15,2,0,127,31,255,224,255,255,255,0,35,15,2,0,127,31,255,224,255,255,255,0,46,15,2,0,127,31,238,209,238,238,255,0,57,15,2,0,127,31,205,180,205,205,255,0,68,15,2,0,127,31,139,122,139,139,255,0,79,15,2,0,35,115,238,238,221,130,255,0,94,15,2,0,35,116,255,255,236,139,255,0,110,15,2,0,35,115,238,238,220,130,255,0,126,15,2,0,35,115,205,205,190,112,255,0,142,15,2,0,35,115,139,139,129,76,255,0,158,15,2,0,42,40,250,250,250,210,255,0,179,15,2,0,0,0,211,211,211,211,255,0,189,15,2,0,0,0,211,211,211,211,255,0,199,15,2,0,248,73,255,255,182,193,255,0,209,15,2,0,249,81,255,255,174,185,255,0,220,15,2,0,248,81,238,238,162,173,255,0,231,15,2,0,249,80,205,205,140,149,255,0,242,15,2,0,249,80,139,139,95,101,255,0,253,15,2,0,12,132,255,255,160,122,255,0,9,16,2,0,12,132,255,255,160,122,255,0,22,16,2,0,11,132,238,238,149,114,255,0,35,16,2,0,12,133,205,205,129,98,255,0,48,16,2,0,12,133,139,139,87,66,255,0,61,16,2,0,125,209,178,32,178,170,255,0,75,16,2,0,143,117,250,135,206,250,255,0,88,16,2,0,143,79,255,176,226,255,255,0,102,16,2,0,143,79,238,164,211,238,255,0,116,16,2,0,142,79,205,141,182,205,255,0,130,16,2,0,143,78,139,96,123,139,255,0,144,16,2,0,175,143,255,132,112,255,255,0,159,16,2,0,148,56,153,119,136,153,255,0,174,16,2,0,148,56,153,119,136,153,255,0,189,16,2,0,151,52,222,176,196,222,255,0,204,16,2,0,151,53,255,202,225,255,255,0,220,16,2,0,151,53,238,188,210,238,255,0,236,16,2,0,151,53,205,162,181,205,255,0,252,16,2,0,150,53,139,110,123,139,255,0,12,17,2,0,42,31,255,255,255,224,255,0,24,17,2,0,42,31,255,255,255,224,255,0,37,17,2,0,42,31,238,238,238,209,255,0,50,17,2,0,42,31,205,205,205,180,255,0,63,17,2,0,42,31,139,139,139,122,255,0,76,17,2,0,85,192,205,50,205,50,255,0,86,17,2,0,21,20,250,250,240,230,255,0,92,17,2,0,212,255,255,255,0,255,255,0,100,17,2,0,212,255,255,255,0,255,255,0,109,17,2,0,212,255,238,238,0,238,255,0,118,17,2,0,212,255,205,205,0,205,255,0,127,17,2,0,212,255,139,139,0,139,255,0,136,17,2,0,239,185,176,176,48,96,255,0,143,17,2,0,228,203,255,255,52,179,255,0,151,17,2,0,228,203,238,238,48,167,255,0,159,17,2,0,228,204,205,205,41,144,255,0,167,17,2,0,228,203,139,139,28,98,255,0,175,17,2,0,113,128,205,102,205,170,255,0,192,17,2,0,170,255,205,0,0,205,255,0,203,17,2,0,204,152,211,186,85,211,255,0,216,17,2,0,203,153,255,224,102,255,255,0,230,17,2,0,203,153,238,209,95,238,255,0,244,17,2,0,203,153,205,180,82,205,255,0,2,18,2,0,203,154,139,122,55,139,255,0,16,18,2,0,183,124,219,147,112,219,255,0,29,18,2,0,183,125,255,171,130,255,255,0,43,18,2,0,183,125,238,159,121,238,255,0,57,18,2,0,183,125,205,137,104,205,255,0,71,18,2,0,183,124,139,93,71,139,255,0,85,18,2,0,103,169,179,60,179,113,255,0,100,18,2,0,176,143,238,123,104,238,255,0,116,18,2,0,111,255,250,0,250,154,255,0,134,18,2,0,125,167,209,72,209,204,255,0,150,18,2,0,228,228,199,199,21,133,255,0,166,18,2,0,170,198,112,25,25,112,255,0,179,18,2,0,106,9,255,245,255,250,255,0,189,18,2,0,4,30,255,255,228,225,255,0,199,18,2,0,4,30,255,255,228,225,255,0,210,18,2,0,4,30,238,238,213,210,255,0,221,18,2,0,3,29,205,205,183,181,255,0,232,18,2,0,5,29,139,139,125,123,255,0,243,18,2,0,26,73,255,255,228,181,255,0,252,18,2,0,25,81,255,255,222,173,255,0,8,19,2,0,25,81,255,255,222,173,255,0,21,19,2,0,25,82,238,238,207,161,255,0,34,19,2,0,25,82,205,205,179,139,255,0,47,19,2,0,25,82,139,139,121,94,255,0,60,19,2,0,170,255,128,0,0,128,255,0,65,19,2,0,170,255,128,0,0,128,255,0,74,19,2,0,42,0,255,255,255,254,0,0,79,19,2,0,27,23,253,253,245,230,255,0,87,19,2,0,56,192,142,107,142,35,255,0,97,19,2,0,56,193,255,192,255,62,255,0,108,19,2,0,56,192,238,179,238,58,255,0,119,19,2,0,56,192,205,154,205,50,255,0,130,19,2,0,56,192,139,105,139,34,255,0,141,19,2,0,27,255,255,255,165,0,255,0,148,19,2,0,27,255,255,255,165,0,255,0,156,19,2,0,27,255,238,238,154,0,255,0,164,19,2,0,27,255,205,205,133,0,255,0,172,19,2,0,27,255,139,139,90,0,255,0,180,19,2,0,11,255,255,255,69,0,255,0,190,19,2,0,11,255,255,255,69,0,255,0,201,19,2,0,11,255,238,238,64,0,255,0,212,19,2,0,11,255,205,205,55,0,255,0,223,19,2,0,11,255,139,139,37,0,255,0,234,19,2,0,214,123,218,218,112,214,255,0,241,19,2,0,214,124,255,255,131,250,255,0,249,19,2,0,214,124,238,238,122,233,255,0,1,20,2,0,214,124,205,205,105,201,255,0,9,20,2,0,213,124,139,139,71,137,255,0,17,20,2,0,38,72,238,238,232,170,255,0,31,20,2,0,85,100,251,152,251,152,255,0,41,20,2,0,85,101,255,154,255,154,255,0,52,20,2,0,85,100,238,144,238,144,255,0,63,20,2,0,85,100,205,124,205,124,255,0,74,20,2,0,85,100,139,84,139,84,255,0,85,20,2,0,127,67,238,175,238,238,255,0,99,20,2,0,127,68,255,187,255,255,255,0,114,20,2,0,127,68,238,174,238,238,255,0,129,20,2,0,127,68,205,150,205,205,255,0,144,20,2,0,127,67,139,102,139,139,255,0,159,20,2,0,241,124,219,219,112,147,255,0,173,20,2,0,241,125,255,255,130,171,255,0,188,20,2,0,241,125,238,238,121,159,255,0,203,20,2,0,241,125,205,205,104,137,255,0,218,20,2,0,241,124,139,139,71,93,255,0,233,20,2,0,26,41,255,255,239,213,255,0,244,20,2,0,20,70,255,255,218,185,255,0,254,20,2,0,20,70,255,255,218,185,255,0,9,21,2,0,19,69,238,238,203,173,255,0,20,21,2,0,19,69,205,205,175,149,255,0,31,21,2,0,20,69,139,139,119,101,255,0,42,21,2,0,20,176,205,205,133,63,255,0,47,21,2,0,247,63,255,255,192,203,255,0,52,21,2,0,245,73,255,255,181,197,255,0,58,21,2,0,245,73,238,238,169,184,255,0,64,21,2,0,245,74,205,205,145,158,255,0,70,21,2,0,245,73,139,139,99,108,255,0,76,21,2,0,212,70,221,221,160,221,255,0,81,21,2,0,212,68,255,255,187,255,255,0,87,21,2,0,212,68,238,238,174,238,255,0,93,21,2,0,212,68,205,205,150,205,255,0,99,21,2,0,212,67,139,139,102,139,255,0,105,21,2,0,132,59,230,176,224,230,255,0,116,21,2,0,196,221,240,160,32,240,255,0,123,21,2,0,191,207,255,155,48,255,255,0,131,21,2,0,192,207,238,145,44,238,255,0,139,21,2,0,192,207,205,125,38,205,255,0,147,21,2,0,192,207,139,85,26,139,255,0,155,21,2,0,0,255,255,255,0,0,255,0,159,21,2,0,0,255,255,255,0,0,255,0,164,21,2,0,0,255,238,238,0,0,255,0,169,21,2,0,0,255,205,205,0,0,255,0,174,21,2,0,0,255,139,139,0,0,255,0,179,21,2,0,0,61,188,188,143,143,255,0,189,21,2,0,0,62,255,255,193,193,255,0,200,21,2,0,0,62,238,238,180,180,255,0,211,21,2,0,0,62,205,205,155,155,255,0,222,21,2,0,0,62,139,139,105,105,255,0,233,21,2,0,159,181,225,65,105,225,255,0,243,21,2,0,159,183,255,72,118,255,255,0,254,21,2,0,159,183,238,67,110,238,255,0,9,22,2,0,159,182,205,58,95,205,255,0,20,22,2,0,159,183,139,39,64,139,255,0,31,22,2,0,17,220,139,139,69,19,255,0,43,22,2,0,4,138,250,250,128,114,255,0,50,22,2,0,9,150,255,255,140,105,255,0,58,22,2,0,9,150,238,238,130,98,255,0,66,22,2,0,9,150,205,205,112,84,255,0,74,22,2,0,9,150,139,139,76,57,255,0,82,22,2,0,19,154,244,244,164,96,255,0,93,22,2,0,103,170,139,46,139,87,255,0,102,22,2,0,103,171,255,84,255,159,255,0,112,22,2,0,103,171,238,78,238,148,255,0,122,22,2,0,103,171,205,67,205,128,255,0,132,22,2,0,103,170,139,46,139,87,255,0,142,22,2,0,17,16,255,255,245,238,255,0,151,22,2,0,17,16,255,255,245,238,255,0,161,22,2,0,18,17,238,238,229,222,255,0,171,22,2,0,18,17,205,205,197,191,255,0,181,22,2,0,18,16,139,139,134,130,255,0,191,22,2,0,13,183,160,160,82,45,255,0,198,22,2,0,13,184,255,255,130,71,255,0,206,22,2,0,13,184,238,238,121,66,255,0,214,22,2,0,13,184,205,205,104,57,255,0,222,22,2,0,13,185,139,139,71,38,255,0,230,22,2,0,139,108,235,135,206,235,255,0,238,22,2,0,144,120,255,135,206,255,255,0,247,22,2,0,144,120,238,126,192,238,255,0,0,23,2,0,144,120,205,108,166,205,255,0,9,23,2,0,145,119,139,74,112,139,255,0,18,23,2,0,175,143,205,106,90,205,255,0,28,23,2,0,175,144,255,131,111,255,255,0,39,23,2,0,175,144,238,122,103,238,255,0,50,23,2,0,175,144,205,105,89,205,255,0,61,23,2,0,175,144,139,71,60,139,255,0,72,23,2,0,148,56,144,112,128,144,255,0,82,23,2,0,149,56,255,198,226,255,255,0,93,23,2,0,149,56,238,185,211,238,255,0,104,23,2,0,148,57,205,159,182,205,255,0,115,23,2,0,149,56,139,108,123,139,255,0,126,23,2,0,148,56,144,112,128,144,255,0,136,23,2,0,0,5,255,255,250,250,255,0,141,23,2,0,0,5,255,255,250,250,255,0,147,23,2,0,0,5,238,238,233,233,255,0,153,23,2,0,0,4,205,205,201,201,255,0,159,23,2,0,0,3,139,139,137,137,255,0,165,23,2,0,106,255,255,0,255,127,255,0,177,23,2,0,106,255,255,0,255,127,255,0,190,23,2,0,106,255,238,0,238,118,255,0,203,23,2,0,106,255,205,0,205,102,255,0,216,23,2,0,106,255,139,0,139,69,255,0,229,23,2,0,146,155,180,70,130,180,255,0,239,23,2,0,146,156,255,99,184,255,255,0,250,23,2,0,146,156,238,92,172,238,255,0,5,24,2,0,146,156,205,79,148,205,255,0,16,24,2,0,147,155,139,54,100,139,255,0,27,24,2,0,24,84,210,210,180,140,255,0,31,24,2,0,20,176,255,255,165,79,255,0,36,24,2,0,20,176,238,238,154,73,255,0,41,24,2,0,20,176,205,205,133,63,255,0,46,24,2,0,20,176,139,139,90,43,255,0,51,24,2,0,212,29,216,216,191,216,255,0,59,24,2,0,212,30,255,255,225,255,255,0,68,24,2,0,212,30,238,238,210,238,255,0,77,24,2,0,212,29,205,205,181,205,255,0,86,24,2,0,212,29,139,139,123,139,255,0,95,24,2,0,6,184,255,255,99,71,255,0,102,24,2,0,6,184,255,255,99,71,255,0,110,24,2,0,6,184,238,238,92,66,255,0,118,24,2,0,6,184,205,205,79,57,255,0,126,24,2,0,6,185,139,139,54,38,255,0,208,25,2,0,42,0,255,255,255,254,0,0,134,24,2,0,123,182,224,64,224,208,255,0,144,24,2,0,129,255,255,0,245,255,255,0,155,24,2,0,129,255,238,0,229,238,255,0,166,24,2,0,129,255,205,0,197,205,255,0,177,24,2,0,129,255,139,0,134,139,255,0,188,24,2,0,212,115,238,238,130,238,255,0,195,24,2,0,227,215,208,208,32,144,255,0,205,24,2,0,235,193,255,255,62,150,255,0,216,24,2,0,235,192,238,238,58,140,255,0,227,24,2,0,235,192,205,205,50,120,255,0,238,24,2,0,235,192,139,139,34,82,255,0,249,24,2,0,27,68,245,245,222,179,255,0,255,24,2,0,27,69,255,255,231,186,255,0,6,25,2,0,27,68,238,238,216,174,255,0,13,25,2,0,27,68,205,205,186,150,255,0,20,25,2,0,27,67,139,139,126,102,255,0,27,25,2,0,0,0,255,255,255,255,255,0,33,25,2,0,0,0,245,245,245,245,255,0,44,25,2,0,42,255,255,255,255,0,255,0,51,25,2,0,42,255,255,255,255,0,255,0,59,25,2,0,42,255,238,238,238,0,255,0,67,25,2,0,42,255,205,205,205,0,255,0,75,25,2,0,42,255,139,139,139,0,255,0,83,25,2,0,56,192,205,154,205,50,255,0,201,29,2,0,227,25,2,0,229,25,2,0,231,25,2,0,233,25,2,0,235,25,2,0,237,25,2,0,239,25,2,0,241,25,2,0,243,25,2,0,245,25,2,0,248,25,2,0,251,25,2,0,254,25,2,0,1,26,2,0,4,26,2,0,7,26,2,0,10,26,2,0,13,26,2,0,16,26,2,0,19,26,2,0,0,0,0,0,4,0,0,0,4,0,0,0,11,0,0,0,54,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,27,2,0,149,28,2,0,8,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,245,38,2,0,9,0,0,0,251,38,2,0,10,0,0,0,4,39,2,0,11,0,0,0,70,39,2,0,12,0,0,0,76,39,2,0,13,0,0,0,81,39,2,0,14,0,0,0,4,39,2,0,15,0,0,0,217,39,2,0,16,0,0,0,224,39,2,0,17,0,0,0,232,39,2,0,18,0,0,0,239,39,2,0,19,0,0,0,251,39,2,0,20,0,0,0,70,39,2,0,21,0,0,0,7,40,2,0,22,0,0,0,15,40,2,0,23,0,0,0,25,40,2,0,24,0,0,0,39,40,2,0,25,0,0,0,46,40,2,0,26,0,0,0,51,40,2,0,27,0,0,0,54,40,2,0,28,0,0,0,59,40,2,0,29,0,0,0,67,40,2,0,30,0,0,0,73,40,2,0,31,0,0,0,79,40,2,0,32,0,0,0,86,40,2,0,33,0,0,0,92,40,2,0,33,0,0,0,100,40,2,0,34,0,0,0,107,40,2,0,35,0,0,0,4,39,2,0,36,0,0,0,224,39,2,0,17,0,0,0,232,39,2,0,18,0,0,0,98,42,2,0,37,0,0,0,239,39,2,0,19,0,0,0,251,39,2,0,20,0,0,0,70,39,2,0,21,0,0,0,109,42,2,0,38,0,0,0,15,40,2,0,23,0,0,0,25,40,2,0,24,0,0,0,39,40,2,0,25,0,0,0,46,40,2,0,26,0,0,0,51,40,2,0,27,0,0,0,54,40,2,0,28,0,0,0,117,42,2,0,39,0,0,0,67,40,2,0,30,0,0,0,73,40,2,0,31,0,0,0,79,40,2,0,32,0,0,0,86,40,2,0,33,0,0,0,92,40,2,0,33,0,0,0,100,40,2,0,34,0,0,0,107,40,2,0,35,0,0,0,0,0,0,0,76,45,2,0,90,45,2,0,103,45,2,0,120,45,2,0,152,45,2,0,167,45,2,0,185,45,2,0,200,45,2,0,220,45,2,0,248,45,2,0,27,46,2,0,44,46,2,0,71,46,2,0,91,46,2,0,129,46,2,0,156,46,2,0,198,46,2,0,245,46,2,0,6,47,2,0,57,47,2,0,80,47,2,0,126,47,2,0,153,47,2,0,204,47,2,0,240,47,2,0,36,48,2,0,81,48,2,0,96,48,2,0,122,48,2,0,160,48,2,0,192,48,2,0,225,48,2,0,3,49,2,0,20,49,2,0,41,49,2,0,57,49,2,0,74,49,2,0,118,49,2,0,198,49,2,0,1,50,2,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,6,0,0,0,7,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,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,4,254,255,255,135,254,255,255,7,0,0,0,0,0,0,0,0,255,255,127,255,255,255,127,255,255,255,255,255,255,255,243,127,254,253,255,255,255,255,255,127,255,255,255,255,255,255,255,255,15,224,255,255,255,255,49,252,255,255,255,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,1,0,248,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,215,255,255,251,255,255,255,255,127,127,84,253,255,15,0,254,223,255,255,255,255,255,255,255,255,254,223,255,255,255,255,3,0,255,255,255,255,255,255,159,25,255,255,255,207,63,3,0,0,0,0,0,0,254,255,255,255,127,2,254,255,255,255,127,0,0,0,0,0,0,0,0,0,255,255,255,7,7,0,0,0,0,0,254,255,255,7,254,7,0,0,0,0,254,255,255,255,255,255,255,255,255,124,255,127,47,0,96,0,0,0,224,255,255,255,255,255,255,35,0,0,0,255,3,0,0,0,224,159,249,255,255,253,197,3,0,0,0,176,3,0,3,0,224,135,249,255,255,253,109,3,0,0,0,94,0,0,28,0,224,175,251,255,255,253,237,35,0,0,0,0,1,0,0,0,224,159,249,255,255,253,205,35,0,0,0,176,3,0,0,0,224,199,61,214,24,199,191,3,0,0,0,0,0,0,0,0,224,223,253,255,255,253,239,3,0,0,0,0,3,0,0,0,224,223,253,255,255,253,239,3,0,0,0,64,3,0,0,0,224,223,253,255,255,253,255,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,255,255,127,13,0,63,0,0,0,0,0,0,0,150,37,240,254,174,108,13,32,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,254,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,63,0,255,255,255,255,127,0,237,218,7,0,0,0,0,80,1,80,49,130,171,98,44,0,0,0,0,64,0,201,128,245,7,0,0,0,0,8,1,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,3,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,64,76,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,254,3,0,0,254,255,255,255,255,255,255,255,255,255,31,0,254,255,255,255,255,255,255,255,255,255,255,7,224,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,255,7,254,255,255,135,254,255,255,7,0,0,0,0,0,0,128,0,255,255,127,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,1,0,248,3,0,3,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,3,0,0,0,192,215,255,255,251,255,255,255,255,127,127,84,253,255,15,0,254,223,255,255,255,255,255,255,255,255,254,223,255,255,255,255,123,0,255,255,255,255,255,255,159,25,255,255,255,207,63,3,0,0,0,0,0,0,254,255,255,255,127,2,254,255,255,255,127,0,254,255,251,255,255,187,22,0,255,255,255,7,7,0,0,0,0,0,254,255,255,7,255,255,7,0,255,3,255,255,255,255,255,255,255,255,255,124,255,127,239,255,255,61,255,3,238,255,255,255,255,255,255,243,255,63,30,255,207,255,0,0,238,159,249,255,255,253,197,211,159,57,128,176,207,255,3,0,228,135,249,255,255,253,109,211,135,57,0,94,192,255,31,0,238,175,251,255,255,253,237,243,191,59,0,0,193,255,0,0,238,159,249,255,255,253,205,243,143,57,192,176,195,255,0,0,236,199,61,214,24,199,191,195,199,61,128,0,128,255,0,0,238,223,253,255,255,253,239,195,223,61,96,0,195,255,0,0,236,223,253,255,255,253,239,195,223,61,96,64,195,255,0,0,236,223,253,255,255,253,255,195,207,61,128,0,195,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,255,255,127,255,7,255,127,255,3,0,0,0,0,150,37,240,254,174,108,255,59,95,63,255,3,0,0,0,0,0,0,0,3,255,3,160,194,255,254,255,255,255,3,254,255,223,15,191,254,255,63,254,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,255,31,2,0,0,0,160,0,0,0,254,255,62,0,254,255,255,255,255,255,255,255,255,255,31,102,254,255,255,255,255,255,255,255,255,255,255,119,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,0,0,0,0,0,0,0,0,0,1,1,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,45,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,0,0,0,0,0,0,0,0,0,1,1,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,45,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,224,221,0,0,76,231,0,0,192,229,0,0,188,232,0,0,188,232,0,0,44,234,0,0,192,229,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,10,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,14,0,0,0,40,0,0,0,51,0,0,0,52,0,0,0,41,0,0,0,53,0,0,0,15,0,0,0,26,0,0,0,42,0,0,0,11,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,16,0,0,0,49,0,0,0,54,0,0,0,55,0,0,0,50,0,0,0,56,0,0,0,17,0,0,0,27,0,0,0,51,0,0,0,13,0,0,0,14,0,0,0,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,142,1,0,71,52,2,0,128,143,1,0,80,52,2,0,87,52,2,0,96,52,2,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,0,0,0,0,0,0,0,0,0,1,1,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,45,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,64,237,0,0,176,238,0,0,32,240,0,0,144,241,0,0,144,241,0,0,0,243,0,0,32,240,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,6,0,0,0,7,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,10,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+51204);allocate([25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,0,0,0,0,0,0,0,0,0,1,1,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,45,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,14,0,0,0,40,0,0,0,51,0,0,0,52,0,0,0,41,0,0,0,53,0,0,0,15,0,0,0,26,0,0,0,42,0,0,0,11,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,16,0,0,0,49,0,0,0,54,0,0,0,55,0,0,0,50,0,0,0,56,0,0,0,17,0,0,0,27,0,0,0,51,0,0,0,13,0,0,0,14,0,0,0,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,242,52,2,0,248,52,2,0,251,52,2,0,1,53,2,0,155,52,2,0,8,53,2,0,17,53,2,0,25,53,2,0,172,244,0,0,20,0,0,0,67,46,85,84,70,45,56,0,0,0,0,0,0,0,0,0,0,0,0,0,222,18,4,149,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,144,245,0,0,5,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,19,0,0,0,22,251,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,231,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,4,247,0,0,9,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,19,0,0,0,30,251,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,132,247,0,0,5,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,19,0,0,0,38,255,2,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,132,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,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,32,0,0,0,9,0,0,0,10,0,0,0,13,0,0,0,11,0,0,0,12,0,0,0,133,0,0,0,0,32,0,0,1,32,0,0,2,32,0,0,3,32,0,0,4,32,0,0,5,32,0,0,6,32,0,0,8,32,0,0,9,32,0,0,10,32,0,0,40,32,0,0,41,32,0,0,95,32,0,0,0,48,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,3,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,131,249,162,0,68,78,110,0,252,41,21,0,209,87,39,0,221,52,245,0,98,219,192,0,60,153,149,0,65,144,67,0,99,81,254,0,187,222,171,0,183,97,197,0,58,110,36,0,210,77,66,0,73,6,224,0,9,234,46,0,28,146,209,0,235,29,254,0,41,177,28,0,232,62,167,0,245,53,130,0,68,187,46,0,156,233,132,0,180,38,112,0,65,126,95,0,214,145,57,0,83,131,57,0,156,244,57,0,139,95,132,0,40,249,189,0,248,31,59,0,222,255,151,0,15,152,5,0,17,47,239,0,10,90,139,0,109,31,109,0,207,126,54,0,9,203,39,0,70,79,183,0,158,102,63,0,45,234,95,0,186,39,117,0,229,235,199,0,61,123,241,0,247,57,7,0,146,82,138,0,251,107,234,0,31,177,95,0,8,93,141,0,48,3,86,0,123,252,70,0,240,171,107,0,32,188,207,0,54,244,154,0,227,169,29,0,94,97,145,0,8,27,230,0,133,153,101,0,160,20,95,0,141,64,104,0,128,216,255,0,39,115,77,0,6,6,49,0,202,86,21,0,201,168,115,0,123,226,96,0,107,140,192,0,116,0,0,0,146,88,2,0,110,0,0,0,148,88,2,0,114,0,0,0,150,88,2,0,102,0,0,0,152,88,2,0,97,0,0,0,154,88,2,0,101,0,0,0,156,88,2,0,119,0,0,0,158,88,2,0,87,0,0,0,171,88,2,0,115,0,0,0,185,88,2,0,83,0,0,0,197,88,2,0,100,0,0,0,210,88,2,0,68,0,0,0,222,88,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,4,0,27,0,27,0,32,0,32,0,35,0,33,0,10,0,2,0,22,0,9,0,33,0,33,0,33,0,21,0,28,0,1,0,20,0,20,0,20,0,20,0,20,0,20,0,20,0,8,0,4,0,5,0,27,0,2,0,23,0,27,0,32,0,31,0,30,0,29,0,9,0,19,0,0,0,21,0,18,0,21,0,3,0,7,0,21,0,21,0,20,0,20,0,20,0,20,0,20,0,20,0,20,0,20,0,8,0,4,0,5,0,5,0,6,0,27,0,26,0,24,0,25,0,32,0,7,0,21,0,20,0,20,0,20,0,20,0,20,0,20,0,11,0,20,0,13,0,20,0,12,0,20,0,20,0,20,0,14,0,20,0,20,0,20,0,16,0,20,0,15,0,20,0,17,0,0,0,0,0,0,0,174,0,46,0,47,0,51,0,53,0,48,0,55,0,170,0,219,0,219,0,219,0,219,0,0,0,61,0,135,0,55,0,55,0,219,0,219,0,0,0,40,0,53,0,46,0,50,0,47,0,98,0,0,0,0,0,71,0,0,0,0,0,219,0,81,0,0,0,219,0,219,0,219,0,0,0,219,0,132,0,85,0,219,0,130,0,219,0,0,0,129,0,219,0,0,0,62,0,66,0,65,0,72,0,68,0,82,0,91,0,0,0,0,0,94,0,95,0,219,0,0,0,219,0,219,0,219,0,0,0,0,0,123,0,73,0,87,0,82,0,90,0,90,0,93,0,0,0,95,0,0,0,95,0,0,0,101,0,93,0,95,0,0,0,93,0,110,0,106,0,0,0,105,0,0,0,110,0,0,0,219,0,147,0,154,0,161,0,168,0,171,0,112,0,177,0,184,0,191,0,198,0,205,0,211,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,4,0,7,0,3,0,4,0,5,0,5,0,6,0,6,0,8,0,7,0,7,0,17,0,22,0,18,0,17,0,18,0,8,0,8,0,15,0,15,0,23,0,15,0,24,0,15,0,25,0,26,0,26,0,30,0,22,0,52,0,30,0,5,0,50,0,6,0,34,0,34,0,51,0,23,0,24,0,53,0,25,0,26,0,26,0,42,0,54,0,42,0,52,0,55,0,50,0,69,0,59,0,60,0,51,0,59,0,60,0,70,0,53,0,71,0,72,0,76,0,54,0,34,0,73,0,74,0,55,0,69,0,78,0,80,0,98,0,81,0,82,0,84,0,70,0,71,0,85,0,72,0,76,0,86,0,73,0,74,0,88,0,90,0,78,0,68,0,80,0,81,0,82,0,84,0,56,0,47,0,44,0,85,0,41,0,86,0,27,0,16,0,88,0,90,0,93,0,93,0,93,0,93,0,93,0,93,0,93,0,94,0,94,0,94,0,94,0,94,0,94,0,94,0,95,0,95,0,95,0,95,0,95,0,95,0,95,0,96,0,9,0,96,0,96,0,96,0,96,0,96,0,97,0,97,0,99,0,2,0,99,0,99,0,99,0,99,0,99,0,100,0,0,0,100,0,0,0,100,0,100,0,100,0,101,0,0,0,101,0,101,0,101,0,101,0,101,0,102,0,102,0,0,0,102,0,102,0,102,0,102,0,103,0,0,0,103,0,103,0,103,0,103,0,104,0,0,0,104,0,104,0,104,0,104,0,104,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,0,0,92,0,1,0,93,0,93,0,94,0,94,0,95,0,95,0,92,0,92,0,92,0,92,0,92,0,96,0,92,0,92,0,92,0,97,0,92,0,92,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,99,0,100,0,101,0,102,0,102,0,92,0,92,0,103,0,92,0,92,0,92,0,96,0,92,0,92,0,97,0,92,0,97,0,92,0,104,0,97,0,92,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,99,0,100,0,101,0,101,0,92,0,102,0,92,0,92,0,92,0,103,0,104,0,97,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,0,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,0,0,10,0,11,0,12,0,13,0,14,0,10,0,15,0,16,0,17,0,18,0,19,0,10,0,20,0,21,0,21,0,21,0,22,0,23,0,21,0,24,0,21,0,21,0,25,0,21,0,21,0,21,0,26,0,21,0,21,0,10,0,21,0,21,0,21,0,22,0,23,0,24,0,21,0,21,0,25,0,21,0,21,0,21,0,26,0,21,0,21,0,21,0,21,0,27,0,12,0,12,0,36,0,30,0,30,0,32,0,33,0,32,0,33,0,36,0,37,0,38,0,45,0,50,0,47,0,46,0,42,0,37,0,38,0,40,0,41,0,51,0,42,0,52,0,43,0,53,0,54,0,55,0,60,0,50,0,71,0,61,0,34,0,69,0,34,0,63,0,64,0,70,0,51,0,52,0,72,0,53,0,54,0,55,0,47,0,73,0,42,0,71,0,74,0,69,0,76,0,92,0,60,0,70,0,92,0,61,0,77,0,72,0,78,0,79,0,82,0,73,0,65,0,80,0,81,0,74,0,76,0,83,0,84,0,49,0,85,0,86,0,87,0,77,0,78,0,88,0,79,0,82,0,89,0,80,0,81,0,90,0,91,0,83,0,68,0,84,0,85,0,86,0,87,0,75,0,68,0,44,0,88,0,44,0,89,0,56,0,44,0,90,0,91,0,29,0,29,0,29,0,29,0,29,0,29,0,29,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,35,0,35,0,35,0,35,0,35,0,35,0,35,0,39,0,92,0,39,0,39,0,39,0,39,0,39,0,48,0,48,0,57,0,28,0,57,0,57,0,57,0,57,0,57,0,58,0,92,0,58,0,92,0,58,0,58,0,58,0,59,0,92,0,59,0,59,0,59,0,59,0,59,0,62,0,62,0,92,0,62,0,62,0,62,0,62,0,66,0,92,0,66,0,66,0,66,0,66,0,67,0,92,0,67,0,67,0,67,0,67,0,67,0,9,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,8,0,174,255,209,0,10,0,174,255,174,255,11,0,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,5,0,209,0,174,255,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,174,255,251,255,174,255,14,0,236,255,174,255,174,255,174,255,174,255,209,0,209,0,209,0,209,0,209,0,13,0,37,0,12,0,66,0,16,0,80,0,19,0,109,0,123,0,20,0,152,0,15,0,166,0,195,0,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,23,0,174,255,119,0,174,255,7,0,46,0,174,255,38,0,174,255,23,0,17,0,35,0,174,255,13,0,174,255,174,255,174,255,174,255,58,0,174,255,174,255,53,0,174,255,174,255,174,255,40,0,174,255,7,0,174,255,59,0,69,0,174,255,72,0,174,255,174,255,174,255,174,255,174,255,174,255,174,255,252,255,232,0,246,255,255,255,26,0,0,0,39,0,1,0,50,0,174,255,174,255,2,0,36,0,3,0,47,0,174,255,174,255,174,255,174,255,174,255,254,255,148,0,174,255,9,0,27,0,174,255,188,255,174,255,174,255,175,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,0,0,0,0,0,0,109,230,236,222,5,0,11,0,73,0,49,1,83,0,127,1,48,1,105,0,120,1,255,0,129,1,83,2,130,1,131,1,132,1,133,1,134,1,84,2,135,1,136,1,137,1,86,2,138,1,87,2,139,1,140,1,142,1,221,1,143,1,89,2,144,1,91,2,145,1,146,1,147,1,96,2,148,1,99,2,150,1,105,2,151,1,104,2,152,1,153,1,156,1,111,2,157,1,114,2,159,1,117,2,166,1,128,2,167,1,168,1,169,1,131,2,172,1,173,1,174,1,136,2,175,1,176,1,177,1,138,2,178,1,139,2,183,1,146,2,184,1,185,1,188,1,189,1,196,1,198,1,196,1,197,1,197,1,198,1,199,1,201,1,199,1,200,1,200,1,201,1,202,1,204,1,202,1,203,1,203,1,204,1,241,1,243,1,241,1,242,1,242,1,243,1,244,1,245,1,246,1,149,1,247,1,191,1,32,2,158,1,134,3,172,3,136,3,173,3,137,3,174,3,138,3,175,3,140,3,204,3,142,3,205,3,143,3,206,3,153,3,69,3,153,3,190,31,163,3,194,3,247,3,248,3,250,3,251,3,96,30,155,30,158,30,223,0,89,31,81,31,91,31,83,31,93,31,85,31,95,31,87,31,188,31,179,31,204,31,195,31,236,31,229,31,252,31,243,31,58,2,101,44,59,2,60,2,61,2,154,1,62,2,102,44,65,2,66,2,67,2,128,1,68,2,137,2,69,2,140,2,244,3,184,3,249,3,242,3,253,3,123,3,254,3,124,3,255,3,125,3,192,4,207,4,38,33,201,3,42,33,107,0,43,33,229,0,50,33,78,33,131,33,132,33,96,44,97,44,98,44,107,2,99,44,125,29,100,44,125,2,109,44,81,2,110,44,113,2,111,44,80,2,112,44,82,2,114,44,115,44,117,44,118,44,126,44,63,2,127,44,64,2,242,44,243,44,125,167,121,29,139,167,140,167,141,167,101,2,170,167,102,2,199,16,39,45,205,16,45,45,118,3,119,3,156,3,181,0,146,3,208,3,152,3,209,3,166,3,213,3,160,3,214,3,154,3,240,3,161,3,241,3,149,3,245,3,207,3,215,3,0,0,0,0,65,0,32,26,192,0,32,31,0,1,1,47,50,1,1,5,57,1,1,15,74,1,1,45,121,1,1,5,112,3,1,3,145,3,32,17,163,3,32,9,0,4,80,16,16,4,32,32,96,4,1,33,138,4,1,53,193,4,1,13,208,4,1,63,20,5,1,19,49,5,48,38,160,1,1,5,179,1,1,3,205,1,1,15,222,1,1,17,248,1,1,39,34,2,1,17,216,3,1,23,0,30,1,149,160,30,1,95,8,31,248,8,24,31,248,6,40,31,248,8,56,31,248,8,72,31,248,6,104,31,248,8,136,31,248,8,152,31,248,8,168,31,248,8,184,31,248,2,186,31,182,2,200,31,170,4,216,31,248,2,218,31,156,2,232,31,248,2,234,31,144,2,248,31,128,2,250,31,130,2,70,2,1,9,16,5,1,3,96,33,16,16,0,44,48,47,103,44,1,5,128,44,1,99,235,44,1,3,64,166,1,45,128,166,1,23,34,167,1,13,50,167,1,61,121,167,1,3,126,167,1,9,144,167,1,3,160,167,1,9,33,255,32,26,0,0,0,0,123,32,118,97,114,32,112,97,116,104,32,61,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,59,32,118,97,114,32,100,97,116,97,32,61,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,59,32,70,83,46,99,114,101,97,116,101,80,97,116,104,40,34,47,34,44,32,80,65,84,72,46,100,105,114,110,97,109,101,40,112,97,116,104,41,41,59,32,70,83,46,119,114,105,116,101,70,105,108,101,40,80,65,84,72,46,106,111,105,110,40,34,47,34,44,32,112,97,116,104,41,44,32,100,97,116,97,41,59,32,125,0,99,111,114,101,0,120,100,111,116,118,101,114,115,105,111,110,0,49,46,55,0,49,46,52,0,49,46,50,0,95,108,100,114,97,119,95,0,95,104,100,114,97,119,95,0,95,116,100,114,97,119,95,0,95,104,108,100,114,97,119,95,0,95,116,108,100,114,97,119,95,0,120,100,111,116,32,118,101,114,115,105,111,110,32,34,37,115,34,32,116,111,111,32,108,111,110,103,0,32,37,100,32,0,37,46,48,50,102,0,37,115,37,100,32,45,0,35,37,48,50,120,37,48,50,120,37,48,50,120,37,48,50,120,0,115,101,116,108,105,110,101,119,105,100,116,104,40,0,37,46,51,102,0,83,32,0,67,32,0,50,32,0,69,32,0,101,32,0,70,32,0,116,32,37,117,32,0,84,32,0,100,111,116,58,100,111,116,0,103,118,58,100,111,116,0,99,97,110,111,110,58,100,111,116,0,112,108,97,105,110,58,100,111,116,0,112,108,97,105,110,45,101,120,116,58,100,111,116,0,120,100,111,116,58,120,100,111,116,0,120,100,111,116,49,46,50,58,120,100,111,116,0,120,100,111,116,49,46,52,58,120,100,111,116,0,73,32,0,34,95,115,117,98,103,114,97,112,104,95,99,110,116,34,58,32,37,100,0,34,95,103,118,105,100,34,58,32,37,100,0,34,101,100,103,101,115,34,58,32,91,10,0,34,95,103,118,105,100,34,58,32,37,100,44,10,0,34,116,97,105,108,34,58,32,37,100,44,10,0,34,104,101,97,100,34,58,32,37,100,0,34,111,98,106,101,99,116,115,34,58,32,91,10,0,34,110,111,100,101,115,34,58,32,91,10,0,34,110,97,109,101,34,58,32,34,37,115,34,0,92,34,0,92,47,0,92,98,0,92,102,0,92,110,0,92,114,0,92,116,0,34,115,117,98,103,114,97,112,104,115,34,58,32,91,10,0,34,37,115,34,58,32,0,34,37,115,34,0,67,111,117,108,100,32,110,111,116,32,112,97,114,115,101,32,120,100,111,116,32,34,37,115,34,10,0,91,10,0,34,111,112,34,58,32,34,37,99,34,44,10,0,34,114,101,99,116,34,58,32,91,37,46,48,51,102,44,37,46,48,51,102,44,37,46,48,51,102,44,37,46,48,51,102,93,10,0,34,111,112,34,58,32,34,76,34,44,10,0,34,111,112,34,58,32,34,84,34,44,10,0,34,112,116,34,58,32,91,37,46,48,51,102,44,37,46,48,51,102,93,44,10,0,34,97,108,105,103,110,34,58,32,34,37,99,34,44,10,0,34,119,105,100,116,104,34,58,32,37,46,48,51,102,44,10,0,34,116,101,120,116,34,58,32,34,37,115,34,10,0,34,103,114,97,100,34,58,32,34,110,111,110,101,34,44,10,0,34,99,111,108,111,114,34,58,32,34,37,115,34,10,0,34,103,114,97,100,34,58,32,34,108,105,110,101,97,114,34,44,10,0,34,103,114,97,100,34,58,32,34,114,97,100,105,97,108,34,44,10,0,34,111,112,34,58,32,34,70,34,44,10,0,34,115,105,122,101,34,58,32,37,46,48,51,102,44,10,0,34,102,97,99,101,34,58,32,34,37,115,34,10,0,34,111,112,34,58,32,34,83,34,44,10,0,34,115,116,121,108,101,34,58,32,34,37,115,34,10,0,34,111,112,34,58,32,34,116,34,44,10,0,34,102,111,110,116,99,104,97,114,34,58,32,37,100,10,0,34,112,48,34,58,32,91,37,46,48,51,102,44,37,46,48,51,102,44,37,46,48,51,102,93,44,10,0,34,112,49,34,58,32,91,37,46,48,51,102,44,37,46,48,51,102,44,37,46,48,51,102,93,44,10,0,34,115,116,111,112,115,34,58,32,91,0,123,34,102,114,97,99,34,58,32,37,46,48,51,102,44,32,34,99,111,108,111,114,34,58,32,34,37,115,34,125,0,93,10,0,34,112,48,34,58,32,91,37,46,48,51,102,44,37,46,48,51,102,93,44,10,0,34,112,49,34,58,32,91,37,46,48,51,102,44,37,46,48,51,102,93,44,10,0,34,112,111,105,110,116,115,34,58,32,91,0,91,37,46,48,51,102,44,37,46,48,51,102,93,0,100,114,97,119,95,0,108,100,114,97,119,95,0,104,100,114,97,119,95,0,116,100,114,97,119,95,0,104,108,100,114,97,119,95,0,116,108,100,114,97,119,95,0,34,100,105,114,101,99,116,101,100,34,58,32,37,115,44,10,0,34,115,116,114,105,99,116,34,58,32,37,115,0,68,117,112,108,105,99,97,116,101,32,99,108,117,115,116,101,114,32,110,97,109,101,32,34,37,115,34,10,0,120,100,111,116,0,106,115,111,110,0,106,115,111,110,48,0,100,111,116,95,106,115,111,110,0,120,100,111,116,95,106,115,111,110,0,106,115,111,110,58,106,115,111,110,0,106,115,111,110,48,58,106,115,111,110,0,100,111,116,95,106,115,111,110,58,106,115,111,110,0,120,100,111,116,95,106,115,111,110,58,106,115,111,110,0,110,32,62,61,32,52,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,102,105,103,46,99,0,102,105,103,95,98,101,122,105,101,114,0,102,105,103,95,114,101,115,111,108,118,101,95,99,111,108,111,114,0,102,105,103,0,102,105,103,58,102,105,103,0,109,97,112,0,114,101,99,116,32,37,115,32,37,100,44,37,100,32,37,100,44,37,100,10,0,99,105,114,99,108,101,32,37,115,32,37,100,44,37,100,44,37,100,10,0,112,111,108,121,32,37,115,0,32,37,100,44,37,100,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,109,97,112,46,99,0,109,97,112,95,111,117,116,112,117,116,95,115,104,97,112,101,0,114,101,99,116,97,110,103,108,101,32,40,37,100,44,37,100,41,32,40,37,100,44,37,100,41,32,37,115,32,37,115,10,0,60,97,114,101,97,32,115,104,97,112,101,61,34,99,105,114,99,108,101,34,0,60,97,114,101,97,32,115,104,97,112,101,61,34,114,101,99,116,34,0,60,97,114,101,97,32,115,104,97,112,101,61,34,112,111,108,121,34,0,32,104,114,101,102,61,34,0,32,116,105,116,108,101,61,34,0,32,97,108,116,61,34,34,0,32,99,111,111,114,100,115,61,34,0,37,100,44,37,100,44,37,100,0,37,100,44,37,100,44,37,100,44,37,100,0,37,100,44,37,100,0,44,37,100,44,37,100,0,34,62,10,0,60,47,109,97,112,62,10,0,98,97,115,101,32,114,101,102,101,114,101,114,10,0,100,101,102,97,117,108,116,32,0,60,109,97,112,32,105,100,61,34,0,34,32,110,97,109,101,61,34,0,105,115,109,97,112,58,109,97,112,0,99,109,97,112,58,109,97,112,0,105,109,97,112,58,109,97,112,0,99,109,97,112,120,58,109,97,112,0,105,109,97,112,95,110,112,58,109,97,112,0,99,109,97,112,120,95,110,112,58,109,97,112,0,35,32,37,115,10,0,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,46,49,102,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,10,0,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,46,49,102,32,37,100,32,37,100,32,37,100,32,37,100,10,0,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,46,51,102,32,37,100,32,37,46,52,102,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,10,0,37,100,32,37,100,32,35,37,48,50,120,37,48,50,120,37,48,50,120,10,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,109,112,46,99,0,109,112,95,114,101,115,111,108,118,101,95,99,111,108,111,114,0,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,46,49,102,32,37,46,52,102,32,37,100,32,37,46,49,102,32,37,46,49,102,32,37,100,32,37,100,32,37,115,92,48,48,49,10,0,35,32,101,110,100,32,111,102,32,70,73,71,32,102,105,108,101,10,0,35,70,73,71,32,51,46,50,10,0,35,32,71,101,110,101,114,97,116,101,100,32,98,121,32,37,115,32,118,101,114,115,105,111,110,32,37,115,32,40,37,115,41,10,0,35,32,84,105,116,108,101,58,32,37,115,10,0,35,32,80,97,103,101,115,58,32,37,100,10,0,80,111,114,116,114,97,105,116,10,0,67,101,110,116,101,114,10,0,73,110,99,104,101,115,10,0,76,101,116,116,101,114,10,0,49,48,48,46,48,48,10,0,83,105,110,103,108,101,10,0,45,50,10,0,49,50,48,48,0,32,50,10,0,109,112,0,109,112,58,109,112,0,32,93,32,32,37,100,32,116,114,117,101,32,37,115,10,0,32,93,32,32,37,100,32,102,97,108,115,101,32,37,115,10,0,32,115,101,116,108,105,110,101,119,105,100,116,104,10,0,37,115,32,0,115,101,116,104,115,98,0,37,46,53,103,32,37,46,53,103,32,37,46,53,103,32,37,115,99,111,108,111,114,10,0,37,32,0,110,101,119,112,97,116,104,32,0,32,109,111,118,101,116,111,10,0,32,108,105,110,101,116,111,10,0,115,116,114,111,107,101,10,0,32,99,117,114,118,101,116,111,10,0,99,108,111,115,101,112,97,116,104,32,102,105,108,108,10,0,99,108,111,115,101,112,97,116,104,32,115,116,114,111,107,101,10,0,32,101,108,108,105,112,115,101,95,112,97,116,104,32,102,105,108,108,10,0,32,101,108,108,105,112,115,101,95,112,97,116,104,32,115,116,114,111,107,101,10,0,32,47,37,115,32,115,101,116,95,102,111,110,116,10,0,32,109,111,118,101,116,111,32,0,32,37,115,32,97,108,105,103,110,101,100,116,101,120,116,10,0,91,32,47,82,101,99,116,32,91,32,0,32,93,10,0,32,32,47,66,111,114,100,101,114,32,91,32,48,32,48,32,48,32,93,10,32,32,47,65,99,116,105,111,110,32,60,60,32,47,83,117,98,116,121,112,101,32,47,85,82,73,32,47,85,82,73,32,37,115,32,62,62,10,32,32,47,83,117,98,116,121,112,101,32,47,76,105,110,107,10,47,65,78,78,32,112,100,102,109,97,114,107,10,0,103,115,97,118,101,10,0,37,37,32,37,115,10,0,48,32,48,32,48,32,101,100,103,101,99,111,108,111,114,10,0,101,110,100,112,97,103,101,10,115,104,111,119,112,97,103,101,10,103,114,101,115,116,111,114,101,10,0,37,37,80,97,103,101,84,114,97,105,108,101,114,10,0,37,37,37,37,69,110,100,80,97,103,101,58,32,37,100,10,0,37,37,37,37,80,97,103,101,58,32,37,100,32,37,100,10,0,37,37,37,37,80,97,103,101,66,111,117,110,100,105,110,103,66,111,120,58,32,37,100,32,37,100,32,37,100,32,37,100,10,0,76,97,110,100,115,99,97,112,101,0,80,111,114,116,114,97,105,116,0,37,37,37,37,80,97,103,101,79,114,105,101,110,116,97,116,105,111,110,58,32,37,115,10,0,60,60,32,47,80,97,103,101,83,105,122,101,32,91,37,100,32,37,100,93,32,62,62,32,115,101,116,112,97,103,101,100,101,118,105,99,101,10,0,37,100,32,37,100,32,37,100,32,98,101,103,105,110,112,97,103,101,10,0,103,115,97,118,101,10,37,100,32,37,100,32,37,100,32,37,100,32,98,111,120,112,114,105,109,32,99,108,105,112,32,110,101,119,112,97,116,104,10,0,37,103,32,37,103,32,115,101,116,95,115,99,97,108,101,32,37,100,32,114,111,116,97,116,101,32,37,103,32,37,103,32,116,114,97,110,115,108,97,116,101,10,0,99,97,110,118,97,115,32,115,105,122,101,32,40,37,100,44,37,100,41,32,101,120,99,101,101,100,115,32,80,68,70,32,108,105,109,105,116,32,40,37,100,41,10,9,40,115,117,103,103,101,115,116,32,115,101,116,116,105,110,103,32,97,32,98,111,117,110,100,105,110,103,32,98,111,120,32,115,105,122,101,44,32,115,101,101,32,100,111,116,40,49,41,41,10,0,91,32,47,67,114,111,112,66,111,120,32,91,37,100,32,37,100,32,37,100,32,37,100,93,32,47,80,65,71,69,83,32,112,100,102,109,97,114,107,10,0,37,100,32,37,100,32,115,101,116,108,97,121,101,114,10,0,37,37,37,37,84,105,116,108,101,58,32,37,115,10,0,37,37,80,97,103,101,115,58,32,40,97,116,101,110,100,41,10,0,37,37,80,97,103,101,115,58,32,49,10,0,37,37,66,111,117,110,100,105,110,103,66,111,120,58,32,40,97,116,101,110,100,41,10,0,37,37,37,37,66,111,117,110,100,105,110,103,66,111,120,58,32,37,100,32,37,100,32,37,100,32,37,100,10,0,37,37,69,110,100,67,111,109,109,101,110,116,115,10,115,97,118,101,10,0,115,101,116,117,112,76,97,116,105,110,49,10,0,91,32,123,67,97,116,97,108,111,103,125,32,60,60,32,47,85,82,73,32,60,60,32,47,66,97,115,101,32,37,115,32,62,62,32,62,62,10,47,80,85,84,32,112,100,102,109,97,114,107,10,0,37,37,66,101,103,105,110,80,114,111,108,111,103,0,47,68,111,116,68,105,99,116,32,50,48,48,32,100,105,99,116,32,100,101,102,0,68,111,116,68,105,99,116,32,98,101,103,105,110,0,47,115,101,116,117,112,76,97,116,105,110,49,32,123,0,109,97,114,107,0,47,69,110,99,111,100,105,110,103,86,101,99,116,111,114,32,50,53,54,32,97,114,114,97,121,32,100,101,102,0,32,69,110,99,111,100,105,110,103,86,101,99,116,111,114,32,48,0,73,83,79,76,97,116,105,110,49,69,110,99,111,100,105,110,103,32,48,32,50,53,53,32,103,101,116,105,110,116,101,114,118,97,108,32,112,117,116,105,110,116,101,114,118,97,108,0,69,110,99,111,100,105,110,103,86,101,99,116,111,114,32,52,53,32,47,104,121,112,104,101,110,32,112,117,116,0,37,32,83,101,116,32,117,112,32,73,83,79,32,76,97,116,105,110,32,49,32,99,104,97,114,97,99,116,101,114,32,101,110,99,111,100,105,110,103,0,47,115,116,97,114,110,101,116,73,83,79,32,123,0,32,32,32,32,32,32,32,32,100,117,112,32,100,117,112,32,102,105,110,100,102,111,110,116,32,100,117,112,32,108,101,110,103,116,104,32,100,105,99,116,32,98,101,103,105,110,0,32,32,32,32,32,32,32,32,123,32,49,32,105,110,100,101,120,32,47,70,73,68,32,110,101,32,123,32,100,101,102,32,125,123,32,112,111,112,32,112,111,112,32,125,32,105,102,101,108,115,101,0,32,32,32,32,32,32,32,32,125,32,102,111,114,97,108,108,0,32,32,32,32,32,32,32,32,47,69,110,99,111,100,105,110,103,32,69,110,99,111,100,105,110,103,86,101,99,116,111,114,32,100,101,102,0,32,32,32,32,32,32,32,32,99,117,114,114,101,110,116,100,105,99,116,32,101,110,100,32,100,101,102,105,110,101,102,111,110,116,0,125,32,100,101,102,0,47,84,105,109,101,115,45,82,111,109,97,110,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,84,105,109,101,115,45,73,116,97,108,105,99,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,84,105,109,101,115,45,66,111,108,100,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,84,105,109,101,115,45,66,111,108,100,73,116,97,108,105,99,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,72,101,108,118,101,116,105,99,97,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,72,101,108,118,101,116,105,99,97,45,79,98,108,105,113,117,101,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,72,101,108,118,101,116,105,99,97,45,66,111,108,100,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,72,101,108,118,101,116,105,99,97,45,66,111,108,100,79,98,108,105,113,117,101,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,67,111,117,114,105,101,114,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,67,111,117,114,105,101,114,45,79,98,108,105,113,117,101,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,67,111,117,114,105,101,114,45,66,111,108,100,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,67,111,117,114,105,101,114,45,66,111,108,100,79,98,108,105,113,117,101,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,99,108,101,97,114,116,111,109,97,114,107,0,125,32,98,105,110,100,32,100,101,102,0,37,37,66,101,103,105,110,82,101,115,111,117,114,99,101,58,32,112,114,111,99,115,101,116,32,103,114,97,112,104,118,105,122,32,48,32,48,0,47,99,111,111,114,100,45,102,111,110,116,45,102,97,109,105,108,121,32,47,84,105,109,101,115,45,82,111,109,97,110,32,100,101,102,0,47,100,101,102,97,117,108,116,45,102,111,110,116,45,102,97,109,105,108,121,32,47,84,105,109,101,115,45,82,111,109,97,110,32,100,101,102,0,47,99,111,111,114,100,102,111,110,116,32,99,111,111,114,100,45,102,111,110,116,45,102,97,109,105,108,121,32,102,105,110,100,102,111,110,116,32,56,32,115,99,97,108,101,102,111,110,116,32,100,101,102,0,47,73,110,118,83,99,97,108,101,70,97,99,116,111,114,32,49,46,48,32,100,101,102,0,47,115,101,116,95,115,99,97,108,101,32,123,0,32,32,32,32,32,32,32,100,117,112,32,49,32,101,120,99,104,32,100,105,118,32,47,73,110,118,83,99,97,108,101,70,97,99,116,111,114,32,101,120,99,104,32,100,101,102,0,32,32,32,32,32,32,32,115,99,97,108,101,0,37,32,115,116,121,108,101,115,0,47,115,111,108,105,100,32,123,32,91,93,32,48,32,115,101,116,100,97,115,104,32,125,32,98,105,110,100,32,100,101,102,0,47,100,97,115,104,101,100,32,123,32,91,57,32,73,110,118,83,99,97,108,101,70,97,99,116,111,114,32,109,117,108,32,100,117,112,32,93,32,48,32,115,101,116,100,97,115,104,32,125,32,98,105,110,100,32,100,101,102,0,47,100,111,116,116,101,100,32,123,32,91,49,32,73,110,118,83,99,97,108,101,70,97,99,116,111,114,32,109,117,108,32,54,32,73,110,118,83,99,97,108,101,70,97,99,116,111,114,32,109,117,108,93,32,48,32,115,101,116,100,97,115,104,32,125,32,98,105,110,100,32,100,101,102,0,47,105,110,118,105,115,32,123,47,102,105,108,108,32,123,110,101,119,112,97,116,104,125,32,100,101,102,32,47,115,116,114,111,107,101,32,123,110,101,119,112,97,116,104,125,32,100,101,102,32,47,115,104,111,119,32,123,112,111,112,32,110,101,119,112,97,116,104,125,32,100,101,102,125,32,98,105,110,100,32,100,101,102,0,47,98,111,108,100,32,123,32,50,32,115,101,116,108,105,110,101,119,105,100,116,104,32,125,32,98,105,110,100,32,100,101,102,0,47,102,105,108,108,101,100,32,123,32,125,32,98,105,110,100,32,100,101,102,0,47,117,110,102,105,108,108,101,100,32,123,32,125,32,98,105,110,100,32,100,101,102,0,47,114,111,117,110,100,101,100,32,123,32,125,32,98,105,110,100,32,100,101,102,0,47,100,105,97,103,111,110,97,108,115,32,123,32,125,32,98,105,110,100,32,100,101,102,0,47,116,97,112,101,114,101,100,32,123,32,125,32,98,105,110,100,32,100,101,102,0,37,32,104,111,111,107,115,32,102,111,114,32,115,101,116,116,105,110,103,32,99,111,108,111,114,32,0,47,110,111,100,101,99,111,108,111,114,32,123,32,115,101,116,104,115,98,99,111,108,111,114,32,125,32,98,105,110,100,32,100,101,102,0,47,101,100,103,101,99,111,108,111,114,32,123,32,115,101,116,104,115,98,99,111,108,111,114,32,125,32,98,105,110,100,32,100,101,102,0,47,103,114,97,112,104,99,111,108,111,114,32,123,32,115,101,116,104,115,98,99,111,108,111,114,32,125,32,98,105,110,100,32,100,101,102,0,47,110,111,112,99,111,108,111,114,32,123,112,111,112,32,112,111,112,32,112],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+61464);allocate([111,112,125,32,98,105,110,100,32,100,101,102,0,47,98,101,103,105,110,112,97,103,101,32,123,9,37,32,105,32,106,32,110,112,97,103,101,115,0,9,47,110,112,97,103,101,115,32,101,120,99,104,32,100,101,102,0,9,47,106,32,101,120,99,104,32,100,101,102,0,9,47,105,32,101,120,99,104,32,100,101,102,0,9,47,115,116,114,32,49,48,32,115,116,114,105,110,103,32,100,101,102,0,9,110,112,97,103,101,115,32,49,32,103,116,32,123,0,9,9,103,115,97,118,101,0,9,9,9,99,111,111,114,100,102,111,110,116,32,115,101,116,102,111,110,116,0,9,9,9,48,32,48,32,109,111,118,101,116,111,0,9,9,9,40,92,40,41,32,115,104,111,119,32,105,32,115,116,114,32,99,118,115,32,115,104,111,119,32,40,44,41,32,115,104,111,119,32,106,32,115,116,114,32,99,118,115,32,115,104,111,119,32,40,92,41,41,32,115,104,111,119,0,9,9,103,114,101,115,116,111,114,101,0,9,125,32,105,102,0,47,115,101,116,95,102,111,110,116,32,123,0,9,102,105,110,100,102,111,110,116,32,101,120,99,104,0,9,115,99,97,108,101,102,111,110,116,32,115,101,116,102,111,110,116,0,37,32,100,114,97,119,32,116,101,120,116,32,102,105,116,116,101,100,32,116,111,32,105,116,115,32,101,120,112,101,99,116,101,100,32,119,105,100,116,104,0,47,97,108,105,103,110,101,100,116,101,120,116,32,123,9,9,9,37,32,119,105,100,116,104,32,116,101,120,116,0,9,47,116,101,120,116,32,101,120,99,104,32,100,101,102,0,9,47,119,105,100,116,104,32,101,120,99,104,32,100,101,102,0,9,103,115,97,118,101,0,9,9,119,105,100,116,104,32,48,32,103,116,32,123,0,9,9,9,91,93,32,48,32,115,101,116,100,97,115,104,0,9,9,9,116,101,120,116,32,115,116,114,105,110,103,119,105,100,116,104,32,112,111,112,32,119,105,100,116,104,32,101,120,99,104,32,115,117,98,32,116,101,120,116,32,108,101,110,103,116,104,32,100,105,118,32,48,32,116,101,120,116,32,97,115,104,111,119,0,9,9,125,32,105,102,0,9,103,114,101,115,116,111,114,101,0,47,98,111,120,112,114,105,109,32,123,9,9,9,9,37,32,120,99,111,114,110,101,114,32,121,99,111,114,110,101,114,32,120,115,105,122,101,32,121,115,105,122,101,0,9,9,52,32,50,32,114,111,108,108,0,9,9,109,111,118,101,116,111,0,9,9,50,32,99,111,112,121,0,9,9,101,120,99,104,32,48,32,114,108,105,110,101,116,111,0,9,9,48,32,101,120,99,104,32,114,108,105,110,101,116,111,0,9,9,112,111,112,32,110,101,103,32,48,32,114,108,105,110,101,116,111,0,9,9,99,108,111,115,101,112,97,116,104,0,47,101,108,108,105,112,115,101,95,112,97,116,104,32,123,0,9,47,114,121,32,101,120,99,104,32,100,101,102,0,9,47,114,120,32,101,120,99,104,32,100,101,102,0,9,47,121,32,101,120,99,104,32,100,101,102,0,9,47,120,32,101,120,99,104,32,100,101,102,0,9,109,97,116,114,105,120,32,99,117,114,114,101,110,116,109,97,116,114,105,120,0,9,110,101,119,112,97,116,104,0,9,120,32,121,32,116,114,97,110,115,108,97,116,101,0,9,114,120,32,114,121,32,115,99,97,108,101,0,9,48,32,48,32,49,32,48,32,51,54,48,32,97,114,99,0,9,115,101,116,109,97,116,114,105,120,0,47,101,110,100,112,97,103,101,32,123,32,115,104,111,119,112,97,103,101,32,125,32,98,105,110,100,32,100,101,102,0,47,115,104,111,119,112,97,103,101,32,123,32,125,32,100,101,102,0,47,108,97,121,101,114,99,111,108,111,114,115,101,113,0,9,91,9,37,32,108,97,121,101,114,32,99,111,108,111,114,32,115,101,113,117,101,110,99,101,32,45,32,100,97,114,107,101,115,116,32,116,111,32,108,105,103,104,116,101,115,116,0,9,9,91,48,32,48,32,48,93,0,9,9,91,46,50,32,46,56,32,46,56,93,0,9,9,91,46,52,32,46,56,32,46,56,93,0,9,9,91,46,54,32,46,56,32,46,56,93,0,9,9,91,46,56,32,46,56,32,46,56,93,0,9,93,0,100,101,102,0,47,108,97,121,101,114,108,101,110,32,108,97,121,101,114,99,111,108,111,114,115,101,113,32,108,101,110,103,116,104,32,100,101,102,0,47,115,101,116,108,97,121,101,114,32,123,47,109,97,120,108,97,121,101,114,32,101,120,99,104,32,100,101,102,32,47,99,117,114,108,97,121,101,114,32,101,120,99,104,32,100,101,102,0,9,108,97,121,101,114,99,111,108,111,114,115,101,113,32,99,117,114,108,97,121,101,114,32,49,32,115,117,98,32,108,97,121,101,114,108,101,110,32,109,111,100,32,103,101,116,0,9,97,108,111,97,100,32,112,111,112,32,115,101,116,104,115,98,99,111,108,111,114,0,9,47,110,111,100,101,99,111,108,111,114,32,123,110,111,112,99,111,108,111,114,125,32,100,101,102,0,9,47,101,100,103,101,99,111,108,111,114,32,123,110,111,112,99,111,108,111,114,125,32,100,101,102,0,9,47,103,114,97,112,104,99,111,108,111,114,32,123,110,111,112,99,111,108,111,114,125,32,100,101,102,0,47,111,110,108,97,121,101,114,32,123,32,99,117,114,108,97,121,101,114,32,110,101,32,123,105,110,118,105,115,125,32,105,102,32,125,32,100,101,102,0,47,111,110,108,97,121,101,114,115,32,123,0,9,47,109,121,117,112,112,101,114,32,101,120,99,104,32,100,101,102,0,9,47,109,121,108,111,119,101,114,32,101,120,99,104,32,100,101,102,0,9,99,117,114,108,97,121,101,114,32,109,121,108,111,119,101,114,32,108,116,0,9,99,117,114,108,97,121,101,114,32,109,121,117,112,112,101,114,32,103,116,0,9,111,114,0,9,123,105,110,118,105,115,125,32,105,102,0,47,99,117,114,108,97,121,101,114,32,48,32,100,101,102,0,37,37,69,110,100,82,101,115,111,117,114,99,101,0,37,37,69,110,100,80,114,111,108,111,103,0,37,37,66,101,103,105,110,83,101,116,117,112,0,49,52,32,100,101,102,97,117,108,116,45,102,111,110,116,45,102,97,109,105,108,121,32,115,101,116,95,102,111,110,116,0,37,32,47,97,114,114,111,119,108,101,110,103,116,104,32,49,48,32,100,101,102,0,37,32,47,97,114,114,111,119,119,105,100,116,104,32,53,32,100,101,102,0,37,32,109,97,107,101,32,115,117,114,101,32,112,100,102,109,97,114,107,32,105,115,32,104,97,114,109,108,101,115,115,32,102,111,114,32,80,83,45,105,110,116,101,114,112,114,101,116,101,114,115,32,111,116,104,101,114,32,116,104,97,110,32,68,105,115,116,105,108,108,101,114,0,47,112,100,102,109,97,114,107,32,119,104,101,114,101,32,123,112,111,112,125,32,123,117,115,101,114,100,105,99,116,32,47,112,100,102,109,97,114,107,32,47,99,108,101,97,114,116,111,109,97,114,107,32,108,111,97,100,32,112,117,116,125,32,105,102,101,108,115,101,0,37,32,109,97,107,101,32,39,60,60,39,32,97,110,100,32,39,62,62,39,32,115,97,102,101,32,111,110,32,80,83,32,76,101,118,101,108,32,49,32,100,101,118,105,99,101,115,0,47,108,97,110,103,117,97,103,101,108,101,118,101,108,32,119,104,101,114,101,32,123,112,111,112,32,108,97,110,103,117,97,103,101,108,101,118,101,108,125,123,49,125,32,105,102,101,108,115,101,0,50,32,108,116,32,123,0,32,32,32,32,117,115,101,114,100,105,99,116,32,40,60,60,41,32,99,118,110,32,40,91,41,32,99,118,110,32,108,111,97,100,32,112,117,116,0,32,32,32,32,117,115,101,114,100,105,99,116,32,40,62,62,41,32,99,118,110,32,40,91,41,32,99,118,110,32,108,111,97,100,32,112,117,116,0,125,32,105,102,0,37,37,69,110,100,83,101,116,117,112,0,37,37,84,114,97,105,108,101,114,10,0,37,37,37,37,80,97,103,101,115,58,32,37,100,10,0,101,110,100,10,114,101,115,116,111,114,101,10,0,37,37,69,79,70,10,0,37,33,80,83,45,65,100,111,98,101,45,51,46,48,0,32,69,80,83,70,45,51,46,48,10,0,37,37,37,37,67,114,101,97,116,111,114,58,32,37,115,32,118,101,114,115,105,111,110,32,37,115,32,40,37,115,41,10,0,112,115,50,58,112,115,0,60,33,45,45,32,0,60,112,111,108,121,108,105,110,101,0,32,112,111,105,110,116,115,61,34,0,34,47,62,10,0,32,102,105,108,108,61,34,0,117,114,108,40,35,108,95,37,100,41,0,117,114,108,40,35,114,95,37,100,41,0,34,32,102,105,108,108,45,111,112,97,99,105,116,121,61,34,37,102,0,34,32,115,116,114,111,107,101,61,34,0,34,32,115,116,114,111,107,101,45,119,105,100,116,104,61,34,0,34,32,115,116,114,111,107,101,45,100,97,115,104,97,114,114,97,121,61,34,37,115,0,53,44,50,0,49,44,53,0,34,32,115,116,114,111,107,101,45,111,112,97,99,105,116,121,61,34,37,102,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,115,118,103,46,99,0,115,118,103,95,112,114,105,110,116,95,99,111,108,111,114,0,60,112,97,116,104,0,32,105,100,61,34,0,95,112,34,32,0,32,100,61,34,0,37,99,0,60,100,101,102,115,62,10,60,114,97,100,105,97,108,71,114,97,100,105,101,110,116,32,105,100,61,34,114,95,37,100,34,32,99,120,61,34,53,48,37,37,34,32,99,121,61,34,53,48,37,37,34,32,114,61,34,55,53,37,37,34,32,102,120,61,34,37,100,37,37,34,32,102,121,61,34,37,100,37,37,34,62,10,0,60,115,116,111,112,32,111,102,102,115,101,116,61,34,48,34,32,115,116,121,108,101,61,34,115,116,111,112,45,99,111,108,111,114,58,0,59,115,116,111,112,45,111,112,97,99,105,116,121,58,0,49,46,0,59,34,47,62,10,0,60,115,116,111,112,32,111,102,102,115,101,116,61,34,49,34,32,115,116,121,108,101,61,34,115,116,111,112,45,99,111,108,111,114,58,0,59,34,47,62,10,60,47,114,97,100,105,97,108,71,114,97,100,105,101,110,116,62,10,60,47,100,101,102,115,62,10,0,60,100,101,102,115,62,10,60,108,105,110,101,97,114,71,114,97,100,105,101,110,116,32,105,100,61,34,108,95,37,100,34,32,103,114,97,100,105,101,110,116,85,110,105,116,115,61,34,117,115,101,114,83,112,97,99,101,79,110,85,115,101,34,32,0,120,49,61,34,0,34,32,121,49,61,34,0,34,32,120,50,61,34,0,34,32,121,50,61,34,0,34,32,62,10,0,60,115,116,111,112,32,111,102,102,115,101,116,61,34,37,46,48,51,102,34,32,115,116,121,108,101,61,34,115,116,111,112,45,99,111,108,111,114,58,0,59,34,47,62,10,60,47,108,105,110,101,97,114,71,114,97,100,105,101,110,116,62,10,60,47,100,101,102,115,62,10,0,60,112,111,108,121,103,111,110,0,60,101,108,108,105,112,115,101,0,32,99,120,61,34,0,34,32,99,121,61,34,0,34,32,114,120,61,34,0,34,32,114,121,61,34,0,60,116,101,120,116,0,32,116,101,120,116,45,97,110,99,104,111,114,61,34,115,116,97,114,116,34,0,32,116,101,120,116,45,97,110,99,104,111,114,61,34,101,110,100,34,0,32,116,101,120,116,45,97,110,99,104,111,114,61,34,109,105,100,100,108,101,34,0,32,120,61,34,0,34,32,121,61,34,0,32,102,111,110,116,45,102,97,109,105,108,121,61,34,37,115,0,44,37,115,0,32,102,111,110,116,45,119,101,105,103,104,116,61,34,37,115,34,0,32,102,111,110,116,45,115,116,114,101,116,99,104,61,34,37,115,34,0,32,102,111,110,116,45,115,116,121,108,101,61,34,37,115,34,0,32,102,111,110,116,45,102,97,109,105,108,121,61,34,37,115,34,0,32,102,111,110,116,45,119,101,105,103,104,116,61,34,98,111,108,100,34,0,32,102,111,110,116,45,115,116,121,108,101,61,34,105,116,97,108,105,99,34,0,32,116,101,120,116,45,100,101,99,111,114,97,116,105,111,110,61,34,0,37,115,111,118,101,114,108,105,110,101,0,37,115,108,105,110,101,45,116,104,114,111,117,103,104,0,32,98,97,115,101,108,105,110,101,45,115,104,105,102,116,61,34,115,117,112,101,114,34,0,32,98,97,115,101,108,105,110,101,45,115,104,105,102,116,61,34,115,117,98,34,0,32,102,111,110,116,45,115,105,122,101,61,34,37,46,50,102,34,0,32,102,105,108,108,61,34,37,115,34,0,32,102,105,108,108,61,34,35,37,48,50,120,37,48,50,120,37,48,50,120,34,0,115,118,103,95,116,101,120,116,115,112,97,110,0,62,0,60,116,101,120,116,80,97,116,104,32,120,108,105,110,107,58,104,114,101,102,61,34,35,37,115,95,112,34,32,115,116,97,114,116,79,102,102,115,101,116,61,34,53,48,37,37,34,62,0,60,116,115,112,97,110,32,120,61,34,48,34,32,100,121,61,34,0,34,62,0,60,47,116,115,112,97,110,62,60,47,116,101,120,116,80,97,116,104,62,0,60,47,116,101,120,116,62,10,0,60,47,103,62,10,0,60,103,0,32,105,100,61,34,97,95,0,32,120,108,105,110,107,58,104,114,101,102,61,34,0,32,120,108,105,110,107,58,116,105,116,108,101,61,34,0,32,116,97,114,103,101,116,61,34,0,60,116,105,116,108,101,62,0,60,47,116,105,116,108,101,62,10,0,60,103,32,105,100,61,34,0,95,37,115,0,34,32,99,108,97,115,115,61,34,37,115,0,99,108,97,115,115,0,32,116,114,97,110,115,102,111,114,109,61,34,115,99,97,108,101,40,0,41,32,114,111,116,97,116,101,40,37,100,41,32,116,114,97,110,115,108,97,116,101,40,0,41,34,62,10,0,60,47,115,118,103,62,10,0,60,33,45,45,0,32,80,97,103,101,115,58,32,37,100,32,45,45,62,10,0,60,115,118,103,32,119,105,100,116,104,61,34,37,100,112,116,34,32,104,101,105,103,104,116,61,34,37,100,112,116,34,10,0,32,118,105,101,119,66,111,120,61,34,37,46,50,102,32,37,46,50,102,32,37,46,50,102,32,37,46,50,102,34,0,32,120,109,108,110,115,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,50,48,48,48,47,115,118,103,34,0,32,120,109,108,110,115,58,120,108,105,110,107,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57,57,57,47,120,108,105,110,107,34,0,60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,32,115,116,97,110,100,97,108,111,110,101,61,34,110,111,34,63,62,10,0,115,116,121,108,101,115,104,101,101,116,0,60,63,120,109,108,45,115,116,121,108,101,115,104,101,101,116,32,104,114,101,102,61,34,0,34,32,116,121,112,101,61,34,116,101,120,116,47,99,115,115,34,63,62,10,0,60,33,68,79,67,84,89,80,69,32,115,118,103,32,80,85,66,76,73,67,32,34,45,47,47,87,51,67,47,47,68,84,68,32,83,86,71,32,49,46,49,47,47,69,78,34,10,0,32,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,71,114,97,112,104,105,99,115,47,83,86,71,47,49,46,49,47,68,84,68,47,115,118,103,49,49,46,100,116,100,34,62,10,0,60,33,45,45,32,71,101,110,101,114,97,116,101,100,32,98,121,32,0,100,97,114,107,98,108,117,101,0,100,97,114,107,99,121,97,110,0,100,97,114,107,103,114,97,121,0,100,97,114,107,103,114,101,121,0,100,97,114,107,109,97,103,101,110,116,97,0,100,97,114,107,114,101,100,0,108,105,103,104,116,103,114,101,101,110,0,35,32,0,32,99,114,101,97,116,101,32,108,105,110,101,32,0,32,45,102,105,108,108,32,0,32,45,100,97,115,104,32,53,0,32,45,100,97,115,104,32,50,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,116,107,46,99,0,116,107,103,101,110,95,112,114,105,110,116,95,116,97,103,115,0,103,114,97,112,104,32,108,97,98,101,108,0,32,45,116,97,103,115,32,123,37,100,37,115,37,112,125,0,116,107,103,101,110,95,112,114,105,110,116,95,99,111,108,111,114,0,36,99,0,32,45,119,105,100,116,104,32,0,32,45,115,109,111,111,116,104,32,98,101,122,105,101,114,32,0,32,99,114,101,97,116,101,32,112,111,108,121,103,111,110,32,0,32,45,111,117,116,108,105,110,101,32,0,32,99,114,101,97,116,101,32,111,118,97,108,32,0,32,99,114,101,97,116,101,32,116,101,120,116,32,0,32,45,116,101,120,116,32,123,0,125,0,32,45,102,111,110,116,32,123,0,32,37,100,125,0,32,45,97,110,99,104,111,114,32,119,0,32,45,97,110,99,104,111,114,32,101,0,35,0,32,84,105,116,108,101,58,32,0,32,80,97,103,101,115,58,32,37,100,10,0,35,32,71,101,110,101,114,97,116,101,100,32,98,121,32,0,41,10,0,116,107,0,116,107,58,116,107,0,32,32,32,32,32,32,60,33,45,45,32,0,32,45,45,62,10,0,69,114,114,111,114,32,100,117,114,105,110,103,32,99,111,110,118,101,114,115,105,111,110,32,116,111,32,34,85,84,70,45,56,34,46,32,32,81,117,105,116,105,110,103,46,10,0,32,60,118,58,115,104,97,112,101,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,32,0,32,119,105,100,116,104,58,32,37,100,59,32,104,101,105,103,104,116,58,32,37,100,34,32,102,105,108,108,101,100,61,34,102,97,108,115,101,34,62,0,60,118,58,112,97,116,104,32,118,61,34,0,32,109,32,0,37,46,48,102,44,37,46,48,102,32,0,32,108,32,0,32,101,32,0,34,47,62,0,60,47,118,58,115,104,97,112,101,62,10,0,60,118,58,115,116,114,111,107,101,32,99,111,108,111,114,61,34,0,34,32,119,101,105,103,104,116,61,34,37,46,48,102,112,116,0,34,32,100,97,115,104,115,116,121,108,101,61,34,100,97,115,104,0,34,32,100,97,115,104,115,116,121,108,101,61,34,100,111,116,0,34,32,47,62,0,35,37,48,50,120,37,48,50,120,37,48,50,120,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,118,109,108,46,99,0,118,109,108,95,112,114,105,110,116,95,99,111,108,111,114,0,32,119,105,100,116,104,58,32,37,100,59,32,104,101,105,103,104,116,58,32,37,100,34,0,32,62,0,60,118,58,112,97,116,104,32,32,118,61,34,0,47,62,60,47,118,58,115,104,97,112,101,62,10,0,109,32,0,37,115,37,46,48,102,44,37,46,48,102,32,0,99,32,0,32,102,105,108,108,101,100,61,34,116,114,117,101,34,32,102,105,108,108,99,111,108,111,114,61,34,0,34,32,0,32,102,105,108,108,101,100,61,34,102,97,108,115,101,34,32,0,37,46,48,102,32,37,46,48,102,32,0,108,32,0,120,32,101,32,34,47,62,0,32,32,60,118,58,111,118,97,108,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,0,32,108,101,102,116,58,32,37,46,50,102,59,32,116,111,112,58,32,37,46,50,102,59,0,32,119,105,100,116,104,58,32,37,46,50,102,59,32,104,101,105,103,104,116,58,32,37,46,50,102,34,0,60,47,118,58,111,118,97,108,62,10,0,60,118,58,114,101,99,116,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,32,0,32,115,116,114,111,107,101,100,61,34,102,97,108,115,101,34,32,102,105,108,108,101,100,61,34,102,97,108,115,101,34,62,10,0,60,118,58,116,101,120,116,98,111,120,32,105,110,115,101,116,61,34,48,44,48,44,48,44,48,34,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,32,118,45,116,101,120,116,45,119,114,97,112,112,105,110,103,58,39,102,97,108,115,101,39,59,112,97,100,100,105,110,103,58,39,48,39,59,0,102,111,110,116,45,102,97,109,105,108,121,58,32,39,37,115,39,59,0,102,111,110,116,45,119,101,105,103,104,116,58,32,37,115,59,0,102,111,110,116,45,115,116,114,101,116,99,104,58,32,37,115,59,0,102,111,110,116,45,115,116,121,108,101,58,32,37,115,59,0,32,102,111,110,116,45,115,105,122,101,58,32,37,46,50,102,112,116,59,0,99,111,108,111,114,58,37,115,59,0,99,111,108,111,114,58,35,37,48,50,120,37,48,50,120,37,48,50,120,59,0,118,109,108,95,116,101,120,116,115,112,97,110,0,34,62,60,99,101,110,116,101,114,62,0,60,47,99,101,110,116,101,114,62,60,47,118,58,116,101,120,116,98,111,120,62,10,0,60,47,118,58,114,101,99,116,62,10,0,60,47,97,62,10,0,60,97,0,32,104,114,101,102,61,34,37,115,34,0,32,116,105,116,108,101,61,34,37,115,34,0,32,116,97,114,103,101,116,61,34,37,115,34,0,62,10,0,60,47,118,58,103,114,111,117,112,62,10,0,60,47,68,73,86,62,10,0,60,68,73,86,32,105,100,61,39,95,86,77,76,50,95,39,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,118,105,115,105,98,105,108,105,116,121,58,104,105,100,100,101,110,34,62,10,0,60,33,45,45,32,105,110,115,101,114,116,32,97,110,121,32,111,116,104,101,114,32,104,116,109,108,32,99,111,110,116,101,110,116,32,104,101,114,101,32,45,45,62,10,0,60,68,73,86,32,105,100,61,39,95,110,111,116,86,77,76,49,95,39,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,34,62,10,0,60,33,45,45,32,116,104,105,115,32,115,104,111,117,108,100,32,111,110,108,121,32,100,105,115,112,108,97,121,32,111,110,32,78,79,78,45,73,69,32,98,114,111,119,115,101,114,115,32,45,45,62,10,0,60,72,50,62,83,111,114,114,121,44,32,116,104,105,115,32,100,105,97,103,114,97,109,32,119,105,108,108,32,111,110,108,121,32,100,105,115,112,108,97,121,32,99,111,114,114,101,99,116,108,121,32,111,110,32,73,110,116,101,114,110,101,116,32,69,120,112,108,111,114,101,114,32,53,32,40,97,110,100,32,117,112,41,32,98,114,111,119,115,101,114,115,46,60,47,72,50,62,10,0,60,68,73,86,32,105,100,61,39,95,110,111,116,86,77,76,50,95,39,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,34,62,10,0,60,33,45,45,32,105,110,115,101,114,116,32,97,110,121,32,111,116,104,101,114,32,78,79,78,45,73,69,32,104,116,109,108,32,99,111,110,116,101,110,116,32,104,101,114,101,32,45,45,62,10,0,60,47,66,79,68,89,62,10,60,47,72,84,77,76,62,10,0,60,72,69,65,68,62,0,60,77,69,84,65,32,104,116,116,112,45,101,113,117,105,118,61,34,67,111,110,116,101,110,116,45,84,121,112,101,34,32,99,111,110,116,101,110,116,61,34,116,101,120,116,47,104,116,109,108,59,32,99,104,97,114,115,101,116,61,85,84,70,45,56,34,62,10,0,60,84,73,84,76,69,62,0,60,47,84,73,84,76,69,62,0,60,33,45,45,32,80,97,103,101,115,58,32,37,100,32,45,45,62,10,0,32,32,32,60,83,67,82,73,80,84,32,76,65,78,71,85,65,71,69,61,39,74,97,118,97,115,99,114,105,112,116,39,62,10,0,32,32,32,102,117,110,99,116,105,111,110,32,98,114,111,119,115,101,114,99,104,101,99,107,40,41,10,0,32,32,32,123,10,0,32,32,32,32,32,32,118,97,114,32,117,97,32,61,32,119,105,110,100,111,119,46,110,97,118,105,103,97,116,111,114,46,117,115,101,114,65,103,101,110,116,10,0,32,32,32,32,32,32,118,97,114,32,109,115,105,101,32,61,32,117,97,46,105,110,100,101,120,79,102,32,40,32,39,77,83,73,69,32,39,32,41,10,0,32,32,32,32,32,32,118,97,114,32,105,101,118,101,114,115,59,10,0,32,32,32,32,32,32,118,97,114,32,105,116,101,109,59,10,0,32,32,32,32,32,32,118,97,114,32,86,77,76,121,101,115,61,110,101,119,32,65,114,114,97,121,40,39,95,86,77,76,49,95,39,44,39,95,86,77,76,50,95,39,41,59,10,0,32,32,32,32,32,32,118,97,114,32,86,77,76,110,111,61,110,101,119,32,65,114,114,97,121,40,39,95,110,111,116,86,77,76,49,95,39,44,39,95,110,111,116,86,77,76,50,95,39,41,59,10,0,32,32,32,32,32,32,105,102,32,40,32,109,115,105,101,32,62,32,48,32,41,123,32,32,32,32,32,32,47,47,32,73,102,32,73,110,116,101,114,110,101,116,32,69,120,112,108,111,114,101,114,44,32,114,101,116,117,114,110,32,118,101,114,115,105,111,110,32,110,117,109,98,101,114,10,0,32,32,32,32,32,32,32,32,32,105,101,118,101,114,115,61,32,112,97,114,115,101,73,110,116,32,40,117,97,46,115,117,98,115,116,114,105,110,103,32,40,109,115,105,101,43,53,44,32,117,97,46,105,110,100,101,120,79,102,32,40,39,46,39,44,32,109,115,105,101,32,41,41,41,10,0,32,32,32,32,32,32,125,10,0,32,32,32,32,32,32,105,102,32,40,105,101,118,101,114,115,62,61,53,41,123,10,0,32,32,32,32,32,32,32,102,111,114,32,40,120,32,105,110,32,86,77,76,121,101,115,41,123,10,0,32,32,32,32,32,32,32,32,32,105,116,101,109,32,61,32,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,86,77,76,121,101,115,91,120,93,41,59,10,0,32,32,32,32,32,32,32,32,32,105,102,32,40,105,116,101,109,41,32,123,10,0,32,32,32,32,32,32,32,32,32,32,32,105,116,101,109,46,115,116,121,108,101,46,118,105,115,105,98,105,108,105,116,121,61,39,118,105,115,105,98,108,101,39,59,10,0,32,32,32,32,32,32,32,32,32,125,10,0,32,32,32,32,32,32,32,125,10,0,32,32,32,32,32,32,32,102,111,114,32,40,120,32,105,110,32,86,77,76,110,111,41,123,10,0,32,32,32,32,32,32,32,32,32,105,116,101,109,32,61,32,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,86,77,76,110,111,91,120,93,41,59,10,0,32,32,32,32,32,32,32,32,32,32,32,105,116,101,109,46,115,116,121,108,101,46,118,105,115,105,98,105,108,105,116,121,61,39,104,105,100,100,101,110,39,59,10,0,32,32,32,32,32,125,101,108,115,101,123,10,0,32,32,32,32,32,125,10,0,32,32,32,125,10,0,32,32,32,60,47,83,67,82,73,80,84,62,10,0,60,47,72,69,65,68,62,0,60,66,79,68,89,32,111,110,108,111,97,100,61,39,98,114,111,119,115,101,114,99,104,101,99,107,40,41,59,39,62,10,0,60,68,73,86,32,105,100,61,39,95,86,77,76,49,95,39,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,32,100,105,115,112,108,97,121,58,105,110,108,105,110,101,59,32,118,105,115,105,98,105,108,105,116,121,58,104,105,100,100,101,110,0,32,119,105,100,116,104,58,32,37,100,112,116,59,32,104,101,105,103,104,116,58,32,37,100,112,116,34,62,10,0,60,83,84,89,76,69,62,10,0,118,92,58,42,32,123,32,98,101,104,97,118,105,111,114,58,32,117,114,108,40,35,100,101,102,97,117,108,116,35,86,77,76,41,59,100,105,115,112,108,97,121,58,105,110,108,105,110,101,45,98,108,111,99,107,125,10,0,60,47,83,84,89,76,69,62,10,0,60,120,109,108,58,110,97,109,101,115,112,97,99,101,32,110,115,61,34,117,114,110,58,115,99,104,101,109,97,115,45,109,105,99,114,111,115,111,102,116,45,99,111,109,58,118,109,108,34,32,112,114,101,102,105,120,61,34,118,34,32,47,62,10,0,32,60,118,58,103,114,111,117,112,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,32,0,32,119,105,100,116,104,58,32,37,100,112,116,59,32,104,101,105,103,104,116,58,32,37,100,112,116,34,0,32,99,111,111,114,100,111,114,105,103,105,110,61,34,48,44,48,34,32,99,111,111,114,100,115,105,122,101,61,34,37,100,44,37,100,34,32,62,0,60,72,84,77,76,62,10,0,10,60,33,45,45,32,71,101,110,101,114,97,116,101,100,32,98,121,32,0,32,118,101,114,115,105,111,110,32,0,32,40,0,41,10,45,45,62,10,0,97,113,117,97,0,102,117,99,104,115,105,97,0,108,105,109,101,0,111,108,105,118,101,0,116,101,97,108,0,118,109,108,0,118,109,108,58,118,109,108,0,47,47,42,42,42,32,99,111,109,109,101,110,116,58,32,37,115,10,0,47,47,42,42,42,32,112,111,108,121,108,105,110,101,10,0,115,99,97,108,101,32,32,32,32,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,10,0,114,111,116,97,116,101,32,32,32,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,10,0,116,114,97,110,115,108,97,116,101,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,10,0,115,112,104,101,114,101,95,115,119,101,101,112,32,123,10,32,32,32,32,37,115,10,32,32,32,32,37,100,44,10,0,108,105,110,101,97,114,95,115,112,108,105,110,101,0,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,44,32,37,46,51,102,10,0,37,115,32,32,32,32,37,115,0,32,32,32,32,116,111,108,101,114,97,110,99,101,32,48,46,48,49,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,37,115,37,115,0,37,115,32,116,114,97,110,115,109,105,116,32,37,46,51,102,0,82,101,100,0,71,114,101,101,110,0,66,108,117,101,0,114,103,98,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,32,116,114,97,110,115,109,105,116,32,37,46,51,102,0,111,111,112,115,44,32,105,110,116,101,114,110,97,108,32,101,114,114,111,114,58,32,117,110,104,97,110,100,108,101,100,32,99,111,108,111,114,32,116,121,112,101,61,37,100,32,37,115,10,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,112,111,118,46,99,0,112,111,118,95,99,111,108,111,114,95,97,115,95,115,116,114,0,112,105,103,109,101,110,116,32,123,32,99,111,108,111,114,32,37,115,32,125,10,0,112,111,118,32,114,101,110,100,101,114,101,114,58,101,108,32,45,32,37,115,10,0,47,47,42,42,42,32,98,101,122,105,101,114,10,0,98,95,115,112,108,105,110,101,0,32,32,32,32,32,32,32,32,116,111,108,101,114,97,110,99,101,32,48,46,48,49,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,47,47,42,42,42,32,112,111,108,121,103,111,110,10,0,32,32,32,32,116,111,108,101,114,97,110,99,101,32,48,46,49,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,112,111,108,121,103,111,110,32,123,32,37,100,44,10,0,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,0,37,115,10,32,32,32,32,37,115,0,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,47,47,42,42,42,32,101,108,108,105,112,115,101,10,0,116,111,114,117,115,32,123,32,37,46,51,102,44,32,37,46,51,102,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,115,112,104,101,114,101,32,123,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,44,32,49,46,48,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,47,47,42,42,42,32,116,101,120,116,115,112,97,110,58,32,37,115,44,32,102,111,110,116,115,105,122,101,32,61,32,37,46,51,102,44,32,102,111,110,116,110,97,109,101,32,61,32,37,115,10,0,115,99,97,108,101,32,37,46,51,102,10,0,116,101,120,116,32,123,10,32,32,32,32,116,116,102,32,34,37,115,34,44,10,32,32,32,32,34,37,115,34,44,32,37,46,51,102,44,32,37,46,51,102,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,32,32,32,32,110,111,95,115,104,97,100,111,119,10,0,47,47,42,42,42,32,101,110,100,95,101,100,103,101,10,0,47,47,42,42,42,32,98,101,103,105,110,95,101,100,103,101,10,0,47,47,42,42,42,32,101,110,100,95,110,111,100,101,10,0,47,47,42,42,42,32,98,101,103,105,110,95,110,111,100,101,58,32,37,115,10,0,47,47,42,42,42,32,101,110,100,95,99,108,117,115,116,101,114,10,0,47,47,42,42,42,32,98,101,103,105,110,95,99,108,117,115,116,101,114,10,0,47,47,42,42,42,32,101,110,100,95,112,97,103,101,10,0,47,47,42,42,42,32,98,101,103,105,110,95,112,97,103,101,10,0,47,47,42,42,42,32,101,110,100,95,108,97,121,101,114,10,0,47,47,42,42,42,32,98,101,103,105,110,95,108,97,121,101,114,58,32,37,115,44,32,37,100,47,37,100,10,0,47,47,42,42,42,32,101,110,100,95,103,114,97,112,104,10,0,47,47,42,42,42,32,98,101,103,105,110,95,103,114,97,112,104,32,37,115,10,0,99,97,109,101,114,97,32,123,32,108,111,99,97,116,105,111,110,32,60,37,46,51,102,32,44,32,37,46,51,102,32,44,32,37,46,51,102,62,10,32,32,32,32,32,32,32,32,32,108,111,111,107,95,97,116,32,32,60,37,46,51,102,32,44,32,37,46,51,102,32,44,32,37,46,51,102,62,10,32,32,32,32,32,32,32,32,32,114,105,103,104,116,32,120,32,42,32,105,109,97,103,101,95,119,105,100,116,104,32,47,32,105,109,97,103,101,95,104,101,105,103,104,116,10,32,32,32,32,32,32,32,32,32,97,110,103,108,101,32,37,46,51,102,10,125,10,0,47,47,115,107,121,10,112,108,97,110,101,32,123,32,60,48,44,32,49,44,32,48,62,44,32,49,32,104,111,108,108,111,119,10,32,32,32,32,116,101,120,116,117,114,101,32,123,10,32,32,32,32,32,32,32,32,112,105,103,109,101,110,116,32,123,32,98,111,122,111,32,116,117,114,98,117,108,101,110,99,101,32,48,46,57,53,10,32,32,32,32,32,32,32,32,32,32,32,32,99,111,108,111,114,95,109,97,112,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,48,46,48,48,32,114,103,98,32,60,48,46,48,53,44,32,48,46,50,48,44,32,48,46,53,48,62,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,48,46,53,48,32,114,103,98,32,60,48,46,48,53,44,32,48,46,50,48,44,32,48,46,53,48,62,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,48,46,55,53,32,114,103,98,32,60,49,46,48,48,44,32,49,46,48,48,44,32,49,46,48,48,62,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,48,46,55,53,32,114,103,98,32,60,48,46,50,53,44,32,48,46,50,53,44,32,48,46,50,53,62,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,49,46,48,48,32,114,103,98,32,60,48,46,53,48,44,32,48,46,53,48,44,32,48,46,53,48,62,93,10,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,115,99,97,108,101,32,60,49,46,48,48,44,32,49,46,48,48,44,32,49,46,53,48,62,32,42,32,50,46,53,48,10,32,32,32,32,32,32,32,32,32,32,32,32,116,114,97,110,115,108,97,116,101,32,60,48,46,48,48,44,32,48,46,48,48,44,32,48,46,48,48,62,10,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,102,105,110,105,115,104,32,123,32,97,109,98,105,101,110,116,32,49,32,100,105,102,102,117,115,101,32,48,32,125,10,32,32,32,32,125,10,32,32,32,32,115,99,97,108,101,32,49,48,48,48,48,10,125,10,47,47,109,105,115,116,10,102,111,103,32,123,32,102,111,103,95,116,121,112,101,32,50,10,32,32,32,32,100,105,115,116,97,110,99,101,32,53,48,10,32,32,32,32,99,111,108,111,114,32,114,103,98,32,60,49,46,48,48,44,32,49,46,48,48,44,32,49,46,48,48,62,32,42,32,48,46,55,53,10,32,32,32,32,102,111,103,95,111,102,102,115,101,116,32,48,46,49,48,10,32,32,32,32,102,111,103,95,97,108,116,32,49,46,53,48,10,32,32,32,32,116,117,114,98,117,108,101,110,99,101,32,49,46,55,53,10,125,10,47,47,103,110,100,10,112,108,97,110,101,32,123,32,60,48,46,48,48,44,32,49,46,48,48,44,32,48,46,48,48,62,44,32,48,10,32,32,32,32,116,101,120,116,117,114,101,32,123,10,32,32,32,32,32,32,32,32,112,105,103,109,101,110,116,123,32,99,111,108,111,114,32,114,103,98,32,60,48,46,50,53,44,32,48,46,52,53,44,32,48,46,48,48,62,32,125,10,32,32,32,32,32,32,32,32,110,111,114,109,97,108,32,123,32,98,117,109,112,115,32,48,46,55,53,32,115,99,97,108,101,32,48,46,48,49,32,125,10,32,32,32,32,32,32,32,32,102,105,110,105,115,104,32,123,32,112,104,111,110,103,32,48,46,49,48,32,125,10,32,32,32,32,125,10,125,10,0,108,105,103,104,116,95,115,111,117,114,99,101,32,123,32,60,49,53,48,48,44,51,48,48,48,44,45,50,53,48,48,62,32,99,111,108,111,114,32,87,104,105,116,101,32,125,10,0,35,118,101,114,115,105,111,110,32,51,46,54,59,10,0,103,108,111,98,97,108,95,115,101,116,116,105,110,103,115,32,123,32,97,115,115,117,109,101,100,95,103,97,109,109,97,32,49,46,48,32,125,10,0,35,100,101,102,97,117,108,116,32,123,32,102,105,110,105,115,104,32,123,32,97,109,98,105,101,110,116,32,48,46,49,32,100,105,102,102,117,115,101,32,48,46,57,32,125,32,125,10,0,35,105,110,99,108,117,100,101,32,34,99,111,108,111,114,115,46,105,110,99,34,10,35,105,110,99,108,117,100,101,32,34,116,101,120,116,117,114,101,115,46,105,110,99,34,10,35,105,110,99,108,117,100,101,32,34,115,104,97,112,101,115,46,105,110,99,34,10,0,35,100,101,99,108,97,114,101,32,37,115,32,61,32,37,115,59,10,0,66,108,97,99,107,0,87,104,105,116,101,0,98,97,107,101,114,115,99,104,111,99,0,98,114,97,115,115,0,98,114,105,103,104,116,103,111,108,100,0,98,114,111,110,122,101,0,98,114,111,110,122,101,50,0,99,108,101,97,114,0,99,111,111,108,99,111,112,112,101,114,0,99,111,112,112,101,114,0,100,97,114,107,98,114,111,119,110,0,100,97,114,107,112,117,114,112,108,101,0,100,97,114,107,116,97,110,0,100,97,114,107,119,111,111,100,0,100,107,103,114,101,101,110,99,111,112,112,101,114,0,100,117,115,116,121,114,111,115,101,0,102,101,108,100,115,112,97,114,0,102,108,101,115,104,0,103,114,97,121,48,53,0,103,114,101,101,110,99,111,112,112,101,114,0,104,117,110,116,101,114,115,103,114,101,101,110,0,108,105,103,104,116,95,112,117,114,112,108,101,0,108,105,103,104,116,119,111,111,100,0,109,97,110,100,97,114,105,110,111,114,97,110,103,101,0,109,101,100,105,117,109,102,111,114,101,115,116,103,114,101,101,110,0,109,101,100,105,117,109,103,111,108,100,101,110,114,111,100,0,109,101,100,105,117,109,119,111,111,100,0,109,101,100,95,112,117,114,112,108,101,0,109,105,99,97,0,110,101,111,110,98,108,117,101,0,110,101,111,110,112,105,110,107,0,110,101,119,109,105,100,110,105,103,104,116,98,108,117,101,0,110,101,119,116,97,110,0,111,108,100,103,111,108,100,0,113,117,97,114,116,122,0,114,105,99,104,98,108,117,101,0,115,99,97,114,108,101,116,0,115,101,109,105,83,119,101,101,116,67,104,111,99,0,115,105,108,118,101,114,0,115,112,105,99,121,112,105,110,107,0,115,117,109,109,101,114,115,107,121,0,118,101,114,121,100,97,114,107,98,114,111,119,110,0,118,101,114,121,95,108,105,103,104,116,95,112,117,114,112,108,101,0,112,111,118,0,112,111,118,58,112,111,118,0,37,115,32,37,115,10,0,46,92,34,32,0,32,37,100,32,37,100,0,32,37,115,10,0,32,37,100,0,102,105,108,108,32,0,101,108,108,105,112,115,101,32,97,116,116,114,115,37,100,32,37,115,119,105,100,32,37,46,53,102,32,104,116,32,37,46,53,102,32,97,116,32,40,37,46,53,102,44,37,46,53,102,41,59,10,0,46,102,116,32,37,115,10,0,46,112,115,32,37,100,42,92,110,40,83,70,117,47,37,46,48,102,117,10,0,34,37,115,34,32,97,116,32,40,37,46,53,102,44,37,46,53,102,41,59,10,0,37,48,51,111,0,37,115,37,115,32,105,115,32,110,111,116,32,97,32,116,114,111,102,102,32,102,111,110,116,10,0,100,111,116,32,112,105,99,32,112,108,117,103,105,110,58,32,0,82,0,93,10,46,80,69,10,0,46,80,83,32,37,46,53,102,32,37,46,53,102,10,0,37,115,32,116,111,32,99,104,97,110,103,101,32,100,114,97,119,105,110,103,32,115,105,122,101,44,32,109,117,108,116,105,112,108,121,32,116,104,101,32,119,105,100,116,104,32,97,110,100,32,104,101,105,103,104,116,32,111,110,32,116,104,101,32,46,80,83,32,108,105,110,101,32,97,98,111,118,101,32,97,110,100,32,116,104,101,32,110,117,109,98,101,114,32,111,110,32,116,104,101,32,116,119,111,32,108,105,110,101,115,32,98,101,108,111,119,32,40,114,111,117,110,100,101,100,32,116,111,32,116,104,101,32,110,101,97,114,101,115,116,32,105,110,116,101,103,101,114,41,32,98,121,32,97,32,115,99,97,108,101,32,102,97,99,116,111,114,10,0,46,110,114,32,83,70,32,37,46,48,102,10,115,99,97,108,101,116,104,105,99,107,110,101,115,115,32,61,32,37,46,48,102,10,0,37,115,32,100,111,110,39,116,32,99,104,97,110,103,101,32,97,110,121,116,104,105,110,103,32,98,101,108,111,119,32,116,104,105,115,32,108,105,110,101,32,105,110,32,116,104,105,115,32,100,114,97,119,105,110,103,10,0,37,115,32,110,111,110,45,102,97,116,97,108,32,114,117,110,45,116,105,109,101,32,112,105,99,32,118,101,114,115,105,111,110,32,100,101,116,101,114,109,105,110,97,116,105,111,110,44,32,118,101,114,115,105,111,110,32,50,10,0,98,111,120,114,97,100,61,50,46,48,32,37,115,32,119,105,108,108,32,98,101,32,114,101,115,101,116,32,116,111,32,48,46,48,32,98,121,32,103,112,105,99,32,111,110,108,121,10,0,115,99,97,108,101,61,49,46,48,32,37,115,32],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+71704);allocate([114,101,113,117,105,114,101,100,32,102,111,114,32,99,111,109,112,97,114,105,115,111,110,115,10,0,37,115,32,98,111,120,114,97,100,32,105,115,32,110,111,119,32,48,46,48,32,105,110,32,103,112,105,99,44,32,101,108,115,101,32,105,116,32,114,101,109,97,105,110,115,32,50,46,48,10,0,37,115,32,100,97,115,104,119,105,100,32,105,115,32,48,46,49,32,105,110,32,49,48,116,104,32,69,100,105,116,105,111,110,44,32,48,46,48,53,32,105,110,32,68,87,66,32,50,32,97,110,100,32,105,110,32,103,112,105,99,10,0,37,115,32,102,105,108,108,118,97,108,32,105,115,32,48,46,51,32,105,110,32,49,48,116,104,32,69,100,105,116,105,111,110,32,40,102,105,108,108,32,48,32,109,101,97,110,115,32,98,108,97,99,107,41,44,32,48,46,53,32,105,110,32,103,112,105,99,32,40,102,105,108,108,32,48,32,109,101,97,110,115,32,119,104,105,116,101,41,44,32,117,110,100,101,102,105,110,101,100,32,105,110,32,68,87,66,32,50,10,0,37,115,32,102,105,108,108,32,104,97,115,32,110,111,32,109,101,97,110,105,110,103,32,105,110,32,68,87,66,32,50,44,32,103,112,105,99,32,99,97,110,32,117,115,101,32,102,105,108,108,32,111,114,32,102,105,108,108,101,100,44,32,49,48,116,104,32,69,100,105,116,105,111,110,32,117,115,101,115,32,102,105,108,108,32,111,110,108,121,10,0,37,115,32,68,87,66,32,50,32,100,111,101,115,110,39,116,32,117,115,101,32,102,105,108,108,32,97,110,100,32,100,111,101,115,110,39,116,32,100,101,102,105,110,101,32,102,105,108,108,118,97,108,10,0,37,115,32,114,101,115,101,116,32,119,111,114,107,115,32,105,110,32,103,112,105,99,32,97,110,100,32,49,48,116,104,32,101,100,105,116,105,111,110,44,32,98,117,116,32,105,115,110,39,116,32,100,101,102,105,110,101,100,32,105,110,32,68,87,66,32,50,10,0,37,115,32,68,87,66,32,50,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,100,101,102,105,110,105,116,105,111,110,115,10,0,105,102,32,98,111,120,114,97,100,32,62,32,49,46,48,32,38,38,32,100,97,115,104,119,105,100,32,60,32,48,46,48,55,53,32,116,104,101,110,32,88,10,9,102,105,108,108,118,97,108,32,61,32,49,59,10,9,100,101,102,105,110,101,32,102,105,108,108,32,89,32,89,59,10,9,100,101,102,105,110,101,32,115,111,108,105,100,32,89,32,89,59,10,9,100,101,102,105,110,101,32,114,101,115,101,116,32,89,32,115,99,97,108,101,61,49,46,48,32,89,59,10,88,10,0,114,101,115,101,116,32,37,115,32,115,101,116,32,116,111,32,107,110,111,119,110,32,115,116,97,116,101,10,0,37,115,32,71,78,85,32,112,105,99,32,118,115,46,32,49,48,116,104,32,69,100,105,116,105,111,110,32,100,92,40,101,39,116,101,110,116,101,10,0,105,102,32,102,105,108,108,118,97,108,32,62,32,48,46,52,32,116,104,101,110,32,88,10,9,100,101,102,105,110,101,32,115,101,116,102,105,108,108,118,97,108,32,89,32,102,105,108,108,118,97,108,32,61,32,49,32,45,32,89,59,10,9,100,101,102,105,110,101,32,98,111,108,100,32,89,32,116,104,105,99,107,110,101,115,115,32,50,32,89,59,10,0,9,37,115,32,105,102,32,121,111,117,32,117,115,101,32,103,112,105,99,32,97,110,100,32,105,116,32,98,97,114,102,115,32,111,110,32,101,110,99,111,117,110,116,101,114,105,110,103,32,34,115,111,108,105,100,34,44,10,0,9,37,115,9,105,110,115,116,97,108,108,32,97,32,109,111,114,101,32,114,101,99,101,110,116,32,118,101,114,115,105,111,110,32,111,102,32,103,112,105,99,32,111,114,32,115,119,105,116,99,104,32,116,111,32,68,87,66,32,111,114,32,49,48,116,104,32,69,100,105,116,105,111,110,32,112,105,99,59,10,0,9,37,115,9,115,111,114,114,121,44,32,116,104,101,32,103,114,111,102,102,32,102,111,108,107,115,32,99,104,97,110,103,101,100,32,103,112,105,99,59,32,115,101,110,100,32,97,110,121,32,99,111,109,112,108,97,105,110,116,32,116,111,32,116,104,101,109,59,10,0,88,32,101,108,115,101,32,90,10,9,100,101,102,105,110,101,32,115,101,116,102,105,108,108,118,97,108,32,89,32,102,105,108,108,118,97,108,32,61,32,89,59,10,9,100,101,102,105,110,101,32,98,111,108,100,32,89,32,89,59,10,9,100,101,102,105,110,101,32,102,105,108,108,101,100,32,89,32,102,105,108,108,32,89,59,10,90,10,0,37,115,32,97,114,114,111,119,104,101,97,100,32,104,97,115,32,110,111,32,109,101,97,110,105,110,103,32,105,110,32,68,87,66,32,50,44,32,97,114,114,111,119,104,101,97,100,32,61,32,55,32,109,97,107,101,115,32,102,105,108,108,101,100,32,97,114,114,111,119,104,101,97,100,115,32,105,110,32,103,112,105,99,32,97,110,100,32,105,110,32,49,48,116,104,32,69,100,105,116,105,111,110,10,0,37,115,32,97,114,114,111,119,104,101,97,100,32,105,115,32,117,110,100,101,102,105,110,101,100,32,105,110,32,68,87,66,32,50,44,32,105,110,105,116,105,97,108,108,121,32,49,32,105,110,32,103,112,105,99,44,32,50,32,105,110,32,49,48,116,104,32,69,100,105,116,105,111,110,10,0,97,114,114,111,119,104,101,97,100,32,61,32,55,32,37,115,32,110,111,116,32,117,115,101,100,32,98,121,32,103,114,97,112,104,118,105,122,10,0,37,115,32,71,78,85,32,112,105,99,32,115,117,112,112,111,114,116,115,32,97,32,98,111,120,114,97,100,32,118,97,114,105,97,98,108,101,32,116,111,32,100,114,97,119,32,98,111,120,101,115,32,119,105,116,104,32,114,111,117,110,100,101,100,32,99,111,114,110,101,114,115,59,32,68,87,66,32,97,110,100,32,49,48,116,104,32,69,100,46,32,100,111,32,110,111,116,10,0,98,111,120,114,97,100,32,61,32,48,32,37,115,32,110,111,32,114,111,117,110,100,101,100,32,99,111,114,110,101,114,115,32,105,110,32,103,114,97,112,104,118,105,122,10,0,37,115,32,71,78,85,32,112,105,99,32,115,117,112,112,111,114,116,115,32,97,32,108,105,110,101,116,104,105,99,107,32,118,97,114,105,97,98,108,101,32,116,111,32,115,101,116,32,108,105,110,101,32,116,104,105,99,107,110,101,115,115,59,32,68,87,66,32,97,110,100,32,49,48,116,104,32,69,100,46,32,100,111,32,110,111,116,10,0,108,105,110,101,116,104,105,99,107,32,61,32,48,59,32,111,108,100,108,105,110,101,116,104,105,99,107,32,61,32,108,105,110,101,116,104,105,99,107,10,0,37,115,32,46,80,83,32,119,47,111,32,97,114,103,115,32,99,97,117,115,101,115,32,71,78,85,32,112,105,99,32,116,111,32,115,99,97,108,101,32,100,114,97,119,105,110,103,32,116,111,32,102,105,116,32,56,46,53,120,49,49,32,112,97,112,101,114,59,32,68,87,66,32,100,111,101,115,32,110,111,116,10,0,37,115,32,109,97,120,112,115,104,116,32,97,110,100,32,109,97,120,112,115,119,105,100,32,104,97,118,101,32,110,111,32,109,101,97,110,105,110,103,32,105,110,32,68,87,66,32,50,46,48,44,32,115,101,116,32,112,97,103,101,32,98,111,117,110,100,97,114,105,101,115,32,105,110,32,103,112,105,99,32,97,110,100,32,105,110,32,49,48,116,104,32,69,100,105,116,105,111,110,10,0,37,115,32,109,97,120,112,115,104,116,32,97,110,100,32,109,97,120,112,115,119,105,100,32,97,114,101,32,112,114,101,100,101,102,105,110,101,100,32,116,111,32,49,49,46,48,32,97,110,100,32,56,46,53,32,105,110,32,103,112,105,99,10,0,109,97,120,112,115,104,116,32,61,32,37,102,10,109,97,120,112,115,119,105,100,32,61,32,37,102,10,0,68,111,116,58,32,91,10,0,100,101,102,105,110,101,32,97,116,116,114,115,48,32,37,37,32,37,37,59,32,100,101,102,105,110,101,32,117,110,102,105,108,108,101,100,32,37,37,32,37,37,59,32,100,101,102,105,110,101,32,114,111,117,110,100,101,100,32,37,37,32,37,37,59,32,100,101,102,105,110,101,32,100,105,97,103,111,110,97,108,115,32,37,37,32,37,37,10,0,37,115,37,115,32,117,110,115,117,112,112,111,114,116,101,100,10,0,37,115,32,114,101,115,116,111,114,101,32,112,111,105,110,116,32,115,105,122,101,32,97,110,100,32,102,111,110,116,10,46,112,115,32,92,110,40,46,83,10,46,102,116,32,92,110,40,68,70,10,0,37,115,32,67,114,101,97,116,111,114,58,32,37,115,32,118,101,114,115,105,111,110,32,37,115,32,40,37,115,41,10,0,37,115,32,84,105,116,108,101,58,32,37,115,10,0,37,115,32,115,97,118,101,32,112,111,105,110,116,32,115,105,122,101,32,97,110,100,32,102,111,110,116,10,46,110,114,32,46,83,32,92,110,40,46,115,10,46,110,114,32,68,70,32,92,110,40,46,102,10,0,112,105,99,0,112,105,99,58,112,105,99,0,112,110,103,58,115,118,103,0,103,105,102,58,115,118,103,0,106,112,101,103,58,115,118,103,0,106,112,101,58,115,118,103,0,106,112,103,58,115,118,103,0,112,110,103,58,102,105,103,0,103,105,102,58,102,105,103,0,106,112,101,103,58,102,105,103,0,106,112,101,58,102,105,103,0,106,112,103,58,102,105,103,0,112,110,103,58,118,114,109,108,0,103,105,102,58,118,114,109,108,0,106,112,101,103,58,118,114,109,108,0,106,112,101,58,118,114,109,108,0,106,112,103,58,118,114,109,108,0,101,112,115,58,112,115,0,112,115,58,112,115,0,40,108,105,98,41,58,112,115,0,112,110,103,58,109,97,112,0,103,105,102,58,109,97,112,0,106,112,101,103,58,109,97,112,0,106,112,101,58,109,97,112,0,106,112,103,58,109,97,112,0,112,115,58,109,97,112,0,101,112,115,58,109,97,112,0,115,118,103,58,109,97,112,0,112,110,103,58,100,111,116,0,103,105,102,58,100,111,116,0,106,112,101,103,58,100,111,116,0,106,112,101,58,100,111,116,0,106,112,103,58,100,111,116,0,112,115,58,100,111,116,0,101,112,115,58,100,111,116,0,115,118,103,58,100,111,116,0,112,110,103,58,120,100,111,116,0,103,105,102,58,120,100,111,116,0,106,112,101,103,58,120,100,111,116,0,106,112,101,58,120,100,111,116,0,106,112,103,58,120,100,111,116,0,112,115,58,120,100,111,116,0,101,112,115,58,120,100,111,116,0,115,118,103,58,120,100,111,116,0,115,118,103,58,115,118,103,0,112,110,103,58,118,109,108,0,103,105,102,58,118,109,108,0,106,112,101,103,58,118,109,108,0,106,112,101,58,118,109,108,0,106,112,103,58,118,109,108,0,103,105,102,58,116,107,0,105,109,97,103,101,32,99,114,101,97,116,101,32,112,104,111,116,111,32,34,112,104,111,116,111,95,37,115,34,32,45,102,105,108,101,32,34,37,115,34,10,0,36,99,32,99,114,101,97,116,101,32,105,109,97,103,101,32,37,46,50,102,32,37,46,50,102,32,45,105,109,97,103,101,32,34,112,104,111,116,111,95,37,115,34,10,0,60,118,58,105,109,97,103,101,32,115,114,99,61,34,37,115,34,32,115,116,121,108,101,61,34,32,112,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,32,119,105,100,116,104,58,37,46,50,102,59,32,104,101,105,103,104,116,58,37,46,50,102,59,32,108,101,102,116,58,37,46,50,102,32,59,32,116,111,112,58,37,46,50,102,34,0,32,47,62,10,0,103,118,108,111,97,100,105,109,97,103,101,95,99,111,114,101,46,99,0,99,111,114,101,95,108,111,97,100,105,109,97,103,101,95,112,115,108,105,98,0,91,32,0,37,103,32,37,103,32,0,93,32,32,37,100,32,116,114,117,101,32,37,115,10,0,93,32,32,37,100,32,102,97,108,115,101,32,37,115,10,0,99,111,114,101,95,108,111,97,100,105,109,97,103,101,95,112,115,0,103,115,97,118,101,32,37,103,32,37,103,32,116,114,97,110,115,108,97,116,101,32,110,101,119,112,97,116,104,10,0,117,115,101,114,95,115,104,97,112,101,95,37,100,10,0,103,114,101,115,116,111,114,101,10,0,99,111,114,101,95,108,111,97,100,105,109,97,103,101,95,118,114,109,108,0,83,104,97,112,101,32,123,10,0,32,32,97,112,112,101,97,114,97,110,99,101,32,65,112,112,101,97,114,97,110,99,101,32,123,10,0,32,32,32,32,109,97,116,101,114,105,97,108,32,77,97,116,101,114,105,97,108,32,123,10,0,32,32,32,32,32,32,97,109,98,105,101,110,116,73,110,116,101,110,115,105,116,121,32,48,46,51,51,10,0,32,32,32,32,32,32,32,32,100,105,102,102,117,115,101,67,111,108,111,114,32,49,32,49,32,49,10,0,32,32,32,32,125,10,0,32,32,32,32,116,101,120,116,117,114,101,32,73,109,97,103,101,84,101,120,116,117,114,101,32,123,32,117,114,108,32,34,37,115,34,32,125,10,0,32,32,125,10,0,99,111,114,101,95,108,111,97,100,105,109,97,103,101,95,102,105,103,0,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,46,49,102,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,10,32,37,100,32,37,115,10,0,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,10,0,99,111,114,101,95,108,111,97,100,105,109,97,103,101,95,115,118,103,0,60,105,109,97,103,101,32,120,108,105,110,107,58,104,114,101,102,61,34,0,34,32,119,105,100,116,104,61,34,37,103,112,120,34,32,104,101,105,103,104,116,61,34,37,103,112,120,34,32,112,114,101,115,101,114,118,101,65,115,112,101,99,116,82,97,116,105,111,61,34,120,77,105,100,89,77,105,100,32,109,101,101,116,34,32,120,61,34,37,103,34,32,121,61,34,37,103,34,0,32,116,114,97,110,115,102,111,114,109,61,34,114,111,116,97,116,101,40,37,100,32,37,103,32,37,103,41,34,0,34,32,119,105,100,116,104,61,34,37,103,112,120,34,32,104,101,105,103,104,116,61,34,37,103,112,120,34,32,112,114,101,115,101,114,118,101,65,115,112,101,99,116,82,97,116,105,111,61,34,120,77,105,110,89,77,105,110,32,109,101,101,116,34,32,120,61,34,37,103,34,32,121,61,34,37,103,34,0,47,62,10,0,100,111,116,95,108,97,121,111,117,116,0,112,104,97,115,101,0,100,111,116,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,116,104,101,32,97,115,112,101,99,116,32,97,116,116,114,105,98,117,116,101,32,102,111,114,32,100,105,115,99,111,110,110,101,99,116,101,100,32,103,114,97,112,104,115,32,111,114,32,103,114,97,112,104,115,32,119,105,116,104,32,99,108,117,115,116,101,114,115,10,0,99,111,109,112,111,117,110,100,0,118,32,61,61,32,110,0,100,111,116,105,110,105,116,46,99,0,114,101,109,111,118,101,95,102,114,111,109,95,114,97,110,107,0,111,114,100,101,114,0,101,100,103,101,32,108,97,98,101,108,115,32,119,105,116,104,32,115,112,108,105,110,101,115,61,99,117,114,118,101,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,105,110,32,100,111,116,32,45,32,117,115,101,32,120,108,97,98,101,108,115,10,0,69,68,95,108,97,98,101,108,40,102,101,41,0,100,111,116,115,112,108,105,110,101,115,46,99,0,95,100,111,116,95,115,112,108,105,110,101,115,0,102,108,97,116,32,101,100,103,101,32,98,101,116,119,101,101,110,32,97,100,106,97,99,101,110,116,32,110,111,100,101,115,32,111,110,101,32,111,102,32,119,104,105,99,104,32,104,97,115,32,97,32,114,101,99,111,114,100,32,115,104,97,112,101,32,45,32,114,101,112,108,97,99,101,32,114,101,99,111,114,100,115,32,119,105,116,104,32,72,84,77,76,45,108,105,107,101,32,108,97,98,101,108,115,10,0,32,32,69,100,103,101,32,37,115,32,37,115,32,37,115,10,0,120,120,120,0,49,48,48,48,48,0,123,37,115,125,0,97,117,120,103,0,108,97,98,101,108,95,102,108,111,97,116,0,102,105,120,101,100,0,40,108,32,61,32,69,68,95,108,97,98,101,108,40,102,101,41,41,0,115,101,116,69,100,103,101,76,97,98,101,108,80,111,115,0,101,32,33,61,32,78,85,76,76,0,102,97,115,116,103,114,46,99,0,100,101,108,101,116,101,95,102,97,115,116,95,101,100,103,101,0,110,32,33,61,32,78,68,95,110,101,120,116,40,110,41,0,102,97,115,116,95,110,111,100,101,0,117,32,33,61,32,118,0,102,97,115,116,95,110,111,100,101,97,112,112,0,78,68,95,110,101,120,116,40,118,41,32,61,61,32,78,85,76,76,0,102,105,110,100,95,102,97,115,116,95,110,111,100,101,40,103,44,32,110,41,0,100,101,108,101,116,101,95,102,97,115,116,95,110,111,100,101,0,100,101,108,101,116,101,95,102,108,97,116,95,101,100,103,101,0,109,101,114,103,101,95,111,110,101,119,97,121,32,103,108,105,116,99,104,10,0,109,101,114,103,101,95,111,110,101,119,97,121,0,115,97,102,101,95,100,101,108,101,116,101,95,102,97,115,116,95,101,100,103,101,0,108,103,0,99,111,109,112,0,99,110,116,32,61,61,32,115,122,0,109,105,110,99,114,111,115,115,46,99,0,102,105,120,76,97,98,101,108,79,114,100,101,114,0,114,101,109,105,110,99,114,111,115,115,0,109,105,110,99,114,111,115,115,32,37,115,58,32,37,100,32,99,114,111,115,115,105,110,103,115,44,32,37,46,50,102,32,115,101,99,115,46,10,0,118,0,110,101,105,103,104,98,111,114,0,40,114,118,32,61,61,32,48,41,32,124,124,32,40,78,68,95,111,114,100,101,114,40,114,118,41,45,78,68,95,111,114,100,101,114,40,118,41,41,42,100,105,114,32,62,32,48,0,99,111,110,115,116,114,97,105,110,105,110,103,95,102,108,97,116,95,101,100,103,101,40,103,44,118,44,101,41,32,61,61,32,70,65,76,83,69,0,102,108,97,116,95,114,101,111,114,100,101,114,0,78,68,95,114,97,110,107,40,118,41,32,61,61,32,114,0,112,111,115,116,111,114,100,101,114,0,102,108,97,116,105,110,100,101,120,40,97,103,104,101,97,100,40,101,41,41,32,60,32,77,45,62,110,114,111,119,115,0,102,108,97,116,95,115,101,97,114,99,104,0,102,108,97,116,105,110,100,101,120,40,97,103,116,97,105,108,40,101,41,41,32,60,32,77,45,62,110,99,111,108,115,0,111,117,116,0,111,114,100,101,114,105,110,103,32,39,37,115,39,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,46,10,0,111,114,100,101,114,105,110,103,32,39,37,115,39,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,32,102,111,114,32,110,111,100,101,32,39,37,115,39,46,10,0,109,101,114,103,101,50,58,32,103,114,97,112,104,32,37,115,44,32,114,97,110,107,32,37,100,32,104,97,115,32,111,110,108,121,32,37,100,32,60,32,37,100,32,110,111,100,101,115,10,0,109,105,110,99,114,111,115,115,58,32,112,97,115,115,32,37,100,32,105,116,101,114,32,37,100,32,116,114,121,105,110,103,32,37,100,32,99,117,114,95,99,114,111,115,115,32,37,100,32,98,101,115,116,95,99,114,111,115,115,32,37,100,10,0,78,68,95,111,114,100,101,114,40,118,41,32,60,32,78,68,95,111,114,100,101,114,40,119,41,0,98,97,108,97,110,99,101,0,116,114,97,110,115,112,111,115,101,95,115,116,101,112,0,115,117,114,112,114,105,115,101,10,0,105,110,115,116,97,108,108,95,105,110,95,114,97,110,107,44,32,108,105,110,101,32,37,100,58,32,37,115,32,37,115,32,114,97,110,107,32,37,100,32,105,32,61,32,37,100,32,97,110,32,61,32,48,10,0,71,68,95,114,97,110,107,40,103,41,91,114,93,46,110,32,60,61,32,71,68,95,114,97,110,107,40,103,41,91,114,93,46,97,110,0,105,110,115,116,97,108,108,95,105,110,95,114,97,110,107,0,105,110,115,116,97,108,108,95,105,110,95,114,97,110,107,44,32,108,105,110,101,32,37,100,58,32,78,68,95,111,114,100,101,114,40,37,115,41,32,91,37,100,93,32,62,32,71,68,95,114,97,110,107,40,82,111,111,116,41,91,37,100,93,46,97,110,32,91,37,100,93,10,0,105,110,115,116,97,108,108,95,105,110,95,114,97,110,107,44,32,108,105,110,101,32,37,100,58,32,114,97,110,107,32,37,100,32,110,111,116,32,105,110,32,114,97,110,107,32,114,97,110,103,101,32,91,37,100,44,37,100,93,10,0,105,110,115,116,97,108,108,95,105,110,95,114,97,110,107,44,32,108,105,110,101,32,37,100,58,32,71,68,95,114,97,110,107,40,103,41,91,37,100,93,46,118,32,43,32,78,68,95,111,114,100,101,114,40,37,115,41,32,91,37,100,93,32,62,32,71,68,95,114,97,110,107,40,103,41,91,37,100,93,46,97,118,32,43,32,71,68,95,114,97,110,107,40,82,111,111,116,41,91,37,100,93,46,97,110,32,91,37,100,93,10,0,95,110,101,119,95,114,97,110,107,0,109,99,108,105,109,105,116,0,114,97,110,107,40,103,44,32,50,44,32,110,115,105,116,101,114,50,40,103,41,41,32,61,61,32,48,0,112,111,115,105,116,105,111,110,46,99,0,100,111,116,95,112,111,115,105,116,105,111,110,0,65,82,61,37,48,46,52,108,102,9,32,65,114,101,97,61,32,37,48,46,52,108,102,9,0,68,117,109,109,121,61,37,100,10,0,71,111,105,110,103,32,116,111,32,97,112,112,108,121,32,97,110,111,116,104,101,114,32,101,120,112,97,110,115,105,111,110,46,10,0,110,101,120,116,35,105,116,101,114,61,37,100,10,0,104,112,0,99,111,110,110,101,99,116,71,114,97,112,104,0,69,100,103,101,32,108,101,110,103,116,104,32,37,102,32,108,97,114,103,101,114,32,116,104,97,110,32,109,97,120,105,109,117,109,32,37,117,32,97,108,108,111,119,101,100,46,10,67,104,101,99,107,32,102,111,114,32,111,118,101,114,119,105,100,101,32,110,111,100,101,40,115,41,46,10,0,110,115,108,105,109,105,116,0,99,111,110,116,97,105,110,95,110,111,100,101,115,32,99,108,117,115,116,32,37,115,32,114,97,110,107,32,37,100,32,109,105,115,115,105,110,103,32,110,111,100,101,10,0,110,115,108,105,109,105,116,49,0,110,101,119,114,97,110,107,0,77,97,120,114,97,110,107,32,61,32,37,100,44,32,109,105,110,114,97,110,107,32,61,32,37,100,10,0,108,101,97,100,101,114,32,33,61,32,78,85,76,76,0,114,97,110,107,46,99,0,99,108,117,115,116,101,114,95,108,101,97,100,101,114,0,40,78,68,95,85,70,95,115,105,122,101,40,110,41,32,60,61,32,49,41,32,124,124,32,40,110,32,61,61,32,108,101,97,100,101,114,41,0,97,103,104,101,97,100,40,101,41,32,61,61,32,85,70,95,102,105,110,100,40,97,103,104,101,97,100,40,101,41,41,0,109,105,110,109,97,120,95,101,100,103,101,115,0,97,103,116,97,105,108,40,101,41,32,61,61,32,85,70,95,102,105,110,100,40,97,103,116,97,105,108,40,101,41,41,0,114,97,110,107,0,115,97,109,101,0,109,105,110,0,115,111,117,114,99,101,0,109,97,120,0,115,105,110,107,0,108,101,118,101,108,32,97,115,115,105,103,110,109,101,110,116,32,99,111,110,115,116,114,97,105,110,116,115,0,108,101,118,101,108,32,103,114,97,112,104,32,114,101,99,0,127,114,111,111,116,0,127,116,111,112,0,127,98,111,116,0,99,111,109,112,97,99,116,0,95,119,101,97,107,95,37,100,0,114,97,110,107,105,110,103,58,32,102,97,105,108,117,114,101,32,116,111,32,99,114,101,97,116,101,32,115,116,114,111,110,103,32,99,111,110,115,116,114,97,105,110,116,32,101,100,103,101,32,98,101,116,119,101,101,110,32,110,111,100,101,115,32,37,115,32,97,110,100,32,37,115,10,0,37,115,32,104,97,115,32,117,110,114,101,99,111,103,110,105,122,101,100,32,114,97,110,107,61,37,115,0,108,101,118,101,108,32,101,100,103,101,32,114,101,99,0,108,101,118,101,108,32,110,111,100,101,32,114,101,99,0,115,97,109,101,104,101,97,100,0,115,97,109,101,116,97,105,108,0,116,111,111,32,109,97,110,121,32,40,62,32,37,100,41,32,115,97,109,101,123,104,101,97,100,44,116,97,105,108,125,32,103,114,111,117,112,115,32,102,111,114,32,110,111,100,101,32,37,115,10,0,99,111,109,98,105,65,82,32,61,32,37,108,102,10,0,37,108,102,44,37,100,0,116,104,101,32,97,115,112,101,99,116,32,97,116,116,114,105,98,117,116,101,32,104,97,115,32,98,101,101,110,32,100,105,115,97,98,108,101,100,32,100,117,101,32,116,111,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,102,108,97,119,115,32,45,32,97,116,116,114,105,98,117,116,101,32,105,103,110,111,114,101,100,46,10,0,69,68,95,116,111,95,118,105,114,116,40,101,41,32,61,61,32,78,85,76,76,0,99,108,97,115,115,50,46,99,0,109,101,114,103,101,95,99,104,97,105,110,0,69,68,95,116,111,95,118,105,114,116,40,111,114,105,103,41,32,61,61,32,78,85,76,76,0,109,97,107,101,95,99,104,97,105,110,0,69,68,95,116,111,95,118,105,114,116,40,111,114,105,103,41,32,33,61,32,78,85,76,76,0,78,68,95,114,97,110,107,40,102,114,111,109,41,32,60,32,78,68,95,114,97,110,107,40,116,111,41,0,99,108,117,115,116,101,114,46,99,0,109,97,112,95,112,97,116,104,0,37,115,32,119,97,115,32,97,108,114,101,97,100,121,32,105,110,32,97,32,114,97,110,107,115,101,116,44,32,100,101,108,101,116,101,100,32,102,114,111,109,32,99,108,117,115,116,101,114,32,37,115,10,0,108,104,101,97,100,0,108,116,97,105,108,0,37,115,32,45,62,32,37,115,58,32,115,112,108,105,110,101,32,115,105,122,101,32,62,32,49,32,110,111,116,32,115,117,112,112,111,114,116,101,100,10,0,37,115,32,45,62,32,37,115,58,32,104,101,97,100,32,110,111,116,32,105,110,115,105,100,101,32,104,101,97,100,32,99,108,117,115,116,101,114,32,37,115,10,0,37,115,32,45,62,32,37,115,58,32,116,97,105,108,32,105,115,32,105,110,115,105,100,101,32,104,101,97,100,32,99,108,117,115,116,101,114,32,37,115,10,0,98,101,122,45,62,115,102,108,97,103,0,99,111,109,112,111,117,110,100,46,99,0,109,97,107,101,67,111,109,112,111,117,110,100,69,100,103,101,0,98,101,122,45,62,101,102,108,97,103,0,37,115,32,45,62,32,37,115,58,32,116,97,105,108,32,110,111,116,32,105,110,115,105,100,101,32,116,97,105,108,32,99,108,117,115,116,101,114,32,37,115,10,0,37,115,32,45,62,32,37,115,58,32,104,101,97,100,32,105,115,32,105,110,115,105,100,101,32,116,97,105,108,32,99,108,117,115,116,101,114,32,37,115,10,0,115,101,103,109,101,110,116,32,91,37,115,44,37,115,93,32,100,111,101,115,32,110,111,116,32,105,110,116,101,114,115,101,99,116,32,98,111,120,32,108,108,61,37,115,44,117,114,61,37,115,10,0,98,111,120,73,110,116,101,114,115,101,99,116,102,0,40,37,46,53,103,44,37,46,53,103,41,0,99,108,117,115,116,101,114,32,110,97,109,101,100,32,37,115,32,110,111,116,32,102,111,117,110,100,10,0,99,111,110,99,101,110,116,114,97,116,101,61,116,114,117,101,32,109,97,121,32,110,111,116,32,119,111,114,107,32,99,111,114,114,101,99,116,108,121,46,10,0,114,101,98,117,105,108,116,100,95,118,108,105,115,116,115,58,32,114,97,110,107,32,108,101,97,100,32,37,115,32,110,111,116,32,105,110,32,111,114,100,101,114,32,37,100,32,111,102,32,114,97,110,107,32,37,100,10,0,100,101,103,101,110,101,114,97,116,101,32,99,111,110,99,101,110,116,114,97,116,101,100,32,114,97,110,107,32,37,115,44,37,100,10,0,78,68,95,105,110,40,114,105,103,104,116,41,46,115,105,122,101,32,43,32,78,68,95,111,117,116,40,114,105,103,104,116,41,46,115,105,122,101,32,61,61,32,48,0,99,111,110,99,46,99,0,109,101,114,103,101,118,105,114,116,117,97,108,0,100,111,116,58,32,79,117,116,32,111,102,32,109,101,109,111,114,121,10,0,78,68,95,111,117,116,40,118,41,46,115,105,122,101,32,61,61,32,50,0,102,108,97,116,46,99,0,115,101,116,98,111,117,110,100,115,0,71,68,95,109,105,110,114,97,110,107,40,103,41,32,61,61,32,48,0,97,98,111,109,105,110,97,116,105,111,110,0,110,101,97,116,111,95,108,97,121,111,117,116,0,110,101,97,116,111,0,102,100,112,0,115,102,100,112,0,116,119,111,112,105,0,99,105,114,99,111,0,112,97,116,99,104,119,111,114,107,0,111,115,97,103,101,0,110,111,112,0,110,111,112,49,0,110,111,112,50,0,37,108,102,44,37,108,102,44,37,108,102,37,99,0,110,111,100,101,32,37,115,44,32,112,111,115,105,116,105,111,110,32,37,115,44,32,101,120,112,101,99,116,101,100,32,116,119,111,32,100,111,117,98,108,101,115,10,0,110,111,116,114,97,110,115,108,97,116,101,0,110,111,100,101,32,37,115,32,105,110,32,103,114,97,112,104,32,37,115,32,104,97,115,32,110,111,32,112,111,115,105,116,105,111,110,10,0,115,44,37,108,102,44,37,108,102,37,110,0,32,101,44,37,108,102,44,37,108,102,37,110,0,112,111,115,32,97,116,116,114,105,98,117,116,101,32,102,111,114,32,101,100,103,101,32,40,37,115,44,37,115,41,32,100,111,101,115,110,39,116,32,104,97,118,101,32,51,110,43,49,32,112,111,105,110,116,115,10,0,37,108,102,44,37,108,102,37,110,0,115,121,110,116,97,120,32,101,114,114,111,114,32,105,110,32,112,111,115,32,97,116,116,114,105,98,117,116,101,32,102,111,114,32,101,100,103,101,32,40,37,115,44,37,115,41,10,0,37,108,102,44,37,108,102,44,37,108,102,44,37,108,102,0,115,116,97,114,116,0,115,101,108,102,0,114,97,110,100,111,109,0,110,111,100,101,32,112,111,115,105,116,105,111,110,115,32,97,114,101,32,105,103,110,111,114,101,100,32,117,110,108,101,115,115,32,115,116,97,114,116,61,114,97,110,100,111,109,10,0,97,115,32,114,101,113,117,105,114,101,100,32,98,121,32,116,104,101,32,45,110,32,102,108,97,103,10,0,95,110,101,97,116,111,95,99,99,0,103,114,97,112,104,32,37,115,32,105,115,32,100,105,115,99,111,110,110,101,99,116,101,100,46,32,72,101,110,99,101,44,32,116,104,101,32,99,105,114,99,117,105,116,32,109,111,100,101,108,10,0,65,108,116,101,114,110,97,116,105,118,101,108,121,44,32,99,111,110,115,105,100,101,114,32,114,117,110,110,105,110,103,32,110,101,97,116,111,32,117,115,105,110,103,32,45,71,112,97,99,107,61,116,114,117,101,32,111,114,32,100,101,99,111,109,112,111,115,105,110,103,10,0,116,104,101,32,103,114,97,112,104,32,105,110,116,111,32,99,111,110,110,101,99,116,101,100,32,99,111,109,112,111,110,101,110,116,115,46,10,0,83,111,108,118,105,110,103,32,109,111,100,101,108,32,37,100,32,105,116,101,114,97,116,105,111,110,115,32,37,100,32,116,111,108,32,37,102,10,0,78,68,95,105,100,40,110,112,41,32,61,61,32,105,0,110,101,97,116,111,105,110,105,116,46,99,0,109,97,107,101,71,114,97,112,104,68,97,116,97,0,102,32,60,32,103,114,97,112,104,91,106,93,46,110,101,100,103,101,115,0,100,102,115,67,121,99,108,101,0,109,111,100,101,108,32,37,100,32,115,109,97,114,116,95,105,110,105,116,32,37,100,32,115,116,114,101,115,115,119,116,32,37,100,32,105,116,101,114,97,116,105,111,110,115,32,37,100,32,116,111,108,32,37,102,10,0,99,111,110,118,101,114,116,32,103,114,97,112,104,58,32,0,109,97,106,111,114,105,122,97,116,105,111,110,10,0,37,100,32,110,111,100,101,115,32,37,46,50,102,32,115,101,99,10,0,108,101,118,101,108,115,103,97,112,0,108,97,121,111,117,116,32,97,98,111,114,116,101,100,10,0,115,116,114,101,115,115,119,116,0,37,115,32,97,116,116,114,105,98,117,116,101,32,118,97,108,117,101,32,109,117,115,116,32,98,101,32,49,32,111,114,32,50,32,45,32,105,103,110,111,114,105,110,103,10,0,109,111,100,101,108,0,99,105,114,99,117,105,116,0,115,117,98,115,101,116,0,115,104,111,114,116,112,97,116,104,0,109,100,115,0,101,100,103,101,115,32,105,110,32,103,114,97,112,104,32,37,115,32,104,97,118,101,32,110,111,32,108,101,110,32,97,116,116,114,105,98,117,116,101,46,32,72,101,110,99,101,44,32,116,104,101,32,109,100,115,32,109,111,100,101,108,10,0,105,115,32,105,110,97,112,112,114,111,112,114,105,97,116,101,46,32,82,101,118,101,114,116,105,110,103,32,116,111,32,116,104,101,32,115,104,111,114,116,101,115,116,32,112,97,116,104,32,109,111,100,101,108,46,10,0,85,110,107,110,111,119,110,32,118,97,108,117,101,32,37,115,32,102,111,114,32,97,116,116,114,105,98,117,116,101,32,34,109,111,100,101,108,34,32,105,110,32,103,114,97,112,104,32,37,115,32,45,32,105,103,110,111,114,101,100,10,0,109,111,100,101,0,75,75,0,109,97,106,111,114,0,104,105,101,114,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,97,116,116,114,105,98,117,116,101,32,34,109,111,100,101,34,32,105,110,32,103,114,97,112,104,32,37,115,32,45,32,105,103,110,111,114,101,100,10,0,109,97,107,101,83,112,108,105,110,101,58,32,102,97,105,108,101,100,32,116,111,32,109,97,107,101,32,115,112,108,105,110,101,32,101,100,103,101,32,40,37,115,44,37,115,41,10,0,115,112,108,105,110,101,32,37,115,32,37,115,10,0,98,32,61,61,32,110,0,110,101,97,116,111,115,112,108,105,110,101,115,46,99,0,109,97,107,101,95,98,97,114,114,105,101,114,115,0,116,104,101,32,98,111,117,110,100,105,110,103,32,98,111,120,101,115,32,111,102,32,115,111,109,101,32,110,111,100,101,115,32,116,111,117,99,104,32,45,32,102,97,108,108,105,110,103,32,98,97,99,107,32,116,111,32,115,116,114,97,105,103,104,116,32,108,105,110,101,32,101,100,103,101,115,10,0,115,111,109,101,32,110,111,100,101,115,32,119,105,116,104,32,109,97,114,103,105,110,32,40,37,46,48,50,102,44,37,46,48,50,102,41,32,116,111,117,99,104,32,45,32,102,97,108,108,105,110,103,32,98,97,99,107,32,116,111,32,115,116,114,97,105,103,104,116,32,108,105,110,101,32,101,100,103,101,115,10,0,111,114,116,104,111,103,111,110,97,108,32,108,105,110,101,115,0,108,105,110,101,32,115,101,103,109,101,110,116,115,0,112,111,108,121,108,105,110,101,115,0,67,114,101,97,116,105,110,103,32,101,100,103,101,115,32,117,115,105,110,103,32,37,115,10,0,112,111,108,121,108,105,110,101,32,37,115,32,37,115,10,0,109,100,115,77,111,100,101,108,58,32,100,101,108,116,97,32,61,32,37,102,10,0,83,101,116,116,105,110,103,32,117,112,32,115,116,114,101,115,115,32,102,117,110,99,116,105,111,110,0,83,111,108,118,105,110,103,32,109,111,100,101,108,58,32,0,10,102,105,110,97,108,32,101,32,61,32,37,102,32,37,100,32,105,116,101,114,97,116,105,111,110,115,32,37,46,50,102,32,115,101,99,10,0,83,99,97,110,110,105,110,103,32,103,114,97,112,104,32,37,115,44,32,37,100,32,110,111,100,101,115,10,0,68,97,109,112,105,110,103,0,100,101,102,97,117,108,116,100,105,115,116,0,32,105,110,32,37,115,32,45,32,115,101,116,116,105,110,103,32,116,111,32,37,46,48,50,102,10,0,98,97,100,32,101,100,103,101,32,108,101,110,32,34,37,115,34,0,83,101,116,116,105,110,103,32,105,110,105,116,105,97,108,32,112,111,115,105,116,105,111,110,115,10,0,115,116,97,114,116,61,37,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,119,105,116,104,32,109,111,100,101,61,115,101,108,102,32,45,32,105,103,110,111,114,101,100,10,0,83,101,116,116,105,110,103,32,117,112,32,115,112,114,105,110,103,32,109,111,100,101,108,58,32,0,37,46,50,102,32,115,101,99,10,0,10,102,105,110,97,108,32,101,32,61,32,37,102,0,33,0,32,37,100,37,115,32,105,116,101,114,97,116,105,111,110,115,32,37,46,50,102,32,115,101,99,10,0,77,97,120,46,32,105,116,101,114,97,116,105,111,110,115,32,40,37,100,41,32,114,101,97,99,104,101,100,32,111,110,32,103,114,97,112,104,32,37,115,10,0,37,115,32,37,46,51,102,10,0,37,46,51,102,32,0,78,68,95,104,101,97,112,105,110,100,101,120,40,118,41,32,60,32,48,0,115,116,117,102,102,46,99,0,110,101,97,116,111,95,101,110,113,117,101,117,101,0,67,97,108,99,117,108,97,116,105,110,103,32,115,104,111,114,116,101,115,116,32,112,97,116,104,115,58,32,0,115,112,101,99,105,102,105,101,100,32,114,111,111,116,32,110,111,100,101,32,34,37,115,34,32,119,97,115,32,110,111,116,32,102,111,117,110,100,46,0,85,115,105,110,103,32,100,101,102,97,117,108,116,32,99,97,108,99,117,108,97,116,105,111,110,32,102,111,114,32,114,111,111,116,32,110,111,100,101,10,0,114,101,112,111,115,105,116,105,111,110,32,37,115,10,0,37,115,32,58,32,37,102,32,37,102,10,0,37,115,32,58,32,37,102,32,37,102,32,37,102,32,37,102,10,0,32,32,0,71,114,97,112,104,32,37,115,32,104,97,115,32,97,114,114,97,121,32,112,97,99,107,105,110,103,32,119,105,116,104,32,117,115,101,114,32,118,97,108,117,101,115,32,98,117,116,32,110,111,32,34,115,111,114,116,118,34,32,97,116,116,114,105,98,117,116,101,115,32,97,114,101,32,100,101,102,105,110,101,100,46,0,112,105,110,0,87,97,114,110,105,110,103,58,32,110,111,100,101,32,37,115,44,32,112,111,115,105,116,105,111,110,32,37,115,44,32,101,120,112,101,99,116,101,100,32,116,119,111,32,102,108,111,97,116,115,10,0,99,111,111,114,100,115,0,108,97,121,111,117,116,32,37,115,10,0,101,110,100,32,37,115,10,0,105,100,120,32,61,61,32,115,122,0,108,97,121,111,117,116,46,99,0,101,120,112,97,110,100,67,108,117,115,116,101,114,0,105,32,61,61,32,100,101,103,0,103,101,116,69,100,103,101,76,105,115,116,0,95,100,103,95,37,100,0,100,101,114,105,118,101,32,103,114,97,112,104,32,37,115,32,111,102,32,37,115,10,0,110,111,100,101,32,34,37,115,34,32,105,115,32,99,111,110,116,97,105,110,101,100,32,105,110,32,116,119,111,32,110,111,110,45,99,111,109,112,97,114,97,98,108,101,32,99,108,117,115,116,101,114,115,32,34,37,115,34,32,97,110,100,32,34,37,115,34,10,0,95,112,111,114,116,95,37,115,95,37,115,95,37,115,95,37,108,100,0,95,112,111,114,116,95,37,115,95,40,37,100,41,95,40,37,100,41,95,37,108,100,0,37,108,102,44,37,108,102,44,37,108,102,44,37,108,102,37,99,0,103,114,97,112,104,32,37,115,44,32,99,111,111,114,100,32,37,115,44,32,101,120,112,101,99,116,101,100,32,102,111,117,114,32,100,111,117,98,108,101,115,10,0,115,112,108,105,110,101,115,32,97,110,100,32,99,108,117,115,116,101,114,32,101,100,103,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,45,32,117,115,105,110,103,32,108,105,110,101,32,115,101,103,109,101,110,116,115,10,0,109,97,120,105,116,101,114,0,84,48,0,102,100,112,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,115,116,97,114,116,61,115,101,108,102,32,45,32,105,103,110,111,114,105,110,103,10,0,120,76,97,121,111,117,116,32,0,57,58,112,114,105,115,109,0,116,114,105,101,115,32,61,32,37,100,44,32,109,111,100,101,32,61,32,37,115,10,0,100,101,114,105,118,101,100,0,105,110,102,111,0,115,102,100,112,32,111,110,108,121,32,115,117,112,112,111,114,116,115,32,115,116,97,114,116,61,114,97,110,100,111,109,10,0,75,0,114,101,112,117,108,115,105,118,101,102,111,114,99,101,0,108,101,118,101,108,115,0,115,109,111,111,116,104,105,110,103,0,113,117,97,100,116,114,101,101,0,98,101,97,117,116,105,102,121,0,111,118,101,114,108,97,112,95,115,104,114,105,110,107,0,114,111,116,97,116,105,111,110,0,108,97,98,101,108,95,115,99,104,101,109,101,0,108,97,98,101,108,95,115,99,104,101,109,101,32,61,32,37,100,32,62,32,52,32,58,32,105,103,110,111,114,105,110,103,10,0,102,97,115,116,0,97,118,103,95,100,105,115,116,0,103,114,97,112,104,95,100,105,115,116,0,112,111,119,101,114,95,100,105,115,116,0,115,112,114,105,110,103,0,100,105,109,101,110,0,100,105,109,0,115,112,114,105,110,103,95,101,108,101,99,116,114,105,99,97,108,95,99,111,110,116,114,111,108,58,10,0,32,32,114,101,112,117,108,115,105,118,101,32,97,110,100,32,97,116,116,114,97,99,116,105,118,101,32,101,120,112,111,110,101,110,116,115,58,32,37,46,48,51,102,32,37,46,48,51,102,10,0,32,32,114,97,110,100,111,109,32,115,116,97,114,116,32,37,100,32,115,101,101,100,32,37,100,10,0,32,32,75,32,58,32,37,46,48,51,102,32,67,32,58,32,37,46,48,51,102,10,0,32,32,109,97,120,32,108,101,118,101,108,115,32,37,100,32,99,111,97,114,115,101,110,95,115,99,104,101,109,101,32,37,100,32,99,111,97,114,115,101,110,95,110,111,100,101,32,37,100,10,0,32,32,113,117,97,100,116,114,101,101,32,115,105,122,101,32,37,100,32,109,97,120,95,108,101,118,101,108,32,37,100,10,0,32,32,66,97,114,110,101,115,45,72,117,116,116,32,99,111,110,115,116,97,110,116,32,37,46,48,51,102,32,116,111,108,101,114,97,110,99,101,32,32,37,46,48,51,102,32,109,97,120,105,116,101,114,32,37,100,10,0,32,32,99,111,111,108,105,110,103,32,37,46,48,51,102,32,115,116,101,112,32,115,105,122,101,32,32,37,46,48,51,102,32,97,100,97,112,116,105,118,101,32,37,100,10,0,32,32,98,101,97,117,116,105,102,121,95,108,101,97,118,101,115,32,37,100,32,110,111,100,101,32,119,101,105,103,104,116,115,32,37,100,32,114,111,116,97,116,105,111,110,32,37,46,48,51,102,10,0,32,32,115,109,111,111,116,104,105,110,103,32,37,115,32,111,118,101,114,108,97,112,32,37,100,32,105,110,105,116,105,97,108,95,115,99,97,108,105,110,103,32,37,46,48,51,102,32,100,111,95,115,104,114,105,110,107,105,110,103,32,37,100,10,0,32,32,111,99,116,114,101,101,32,115,99,104,101,109,101,32,37,115,32,109,101,116,104,111,100,32,37,115,10,0,32,32,101,100,103,101,95,108,97,98,101,108,105,110,103,95,115,99,104,101,109,101,32,37,100,10,0,83,80,82,73,78,71,95,69,76,69,67,84,82,73,67,65,76,0,83,80,82],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+81944);allocate([73,78,71,95,77,65,88,69,78,84,0,83,84,82,69,83,83,95,77,65,88,69,78,84,0,83,84,82,69,83,83,95,65,80,80,82,79,88,0,83,84,82,69,83,83,0,85,78,73,70,79,82,77,95,83,84,82,69,83,83,0,70,85,76,76,95,83,84,82,69,83,83,0,78,79,78,69,0,78,79,82,77,65,76,0,70,65,83,84,0,72,89,66,82,73,68,0,83,84,82,69,83,83,95,77,65,74,79,82,73,90,65,84,73,79,78,95,71,82,65,80,72,95,68,73,83,84,0,83,84,82,69,83,83,95,77,65,74,79,82,73,90,65,84,73,79,78,95,65,86,71,95,68,73,83,84,0,83,84,82,69,83,83,95,77,65,74,79,82,73,90,65,84,73,79,78,95,80,79,87,69,82,95,68,73,83,84,0,83,80,82,73,78,71,0,84,82,73,65,78,71,76,69,0,82,78,71,0,13,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,105,116,101,114,32,61,32,37,100,44,32,115,116,101,112,32,61,32,37,102,32,70,110,111,114,109,32,61,32,37,102,32,110,122,32,61,32,37,100,32,32,75,32,61,32,37,102,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,115,112,114,105,110,103,95,101,108,101,99,116,114,105,99,97,108,95,101,109,98,101,100,100,105,110,103,95,115,108,111,119,0,100,109,101,97,110,32,61,32,37,102,44,32,114,104,111,32,61,32,37,102,10,0,115,101,110,100,32,114,97,110,100,111,109,32,99,111,111,114,100,105,110,97,116,101,115,10,0,115,99,97,108,105,110,103,32,102,97,99,116,111,114,32,61,32,37,102,10,0,81,85,65,68,95,84,82,69,69,95,72,89,66,82,73,68,44,32,115,105,122,101,32,108,97,114,103,101,114,32,116,104,97,110,32,37,100,44,32,115,119,105,116,99,104,32,116,111,32,102,97,115,116,32,113,117,97,100,116,114,101,101,0,99,116,114,108,45,62,111,118,101,114,108,97,112,61,37,100,10,0,37,100,32,37,100,10,0,117,110,105,102,111,114,109,95,115,116,114,101,115,115,46,99,0,85,110,105,102,111,114,109,83,116,114,101,115,115,83,109,111,111,116,104,101,114,95,110,101,119,0,83,112,97,114,115,101,77,97,116,114,105,120,95,105,115,95,115,121,109,109,101,116,114,105,99,40,66,44,32,70,65,76,83,69,41,0,117,110,105,102,111,114,109,95,115,116,114,101,115,115,0,124,101,100,103,101,108,97,98,101,108,124,0,108,101,110,0,110,111,114,109,97,108,105,122,101,0,111,118,101,114,108,97,112,0,79,118,101,114,108,97,112,32,118,97,108,117,101,32,34,37,115,34,32,117,110,115,117,112,112,111,114,116,101,100,32,45,32,105,103,110,111,114,101,100,10,0,85,110,114,101,99,111,103,110,105,122,101,100,32,111,118,101,114,108,97,112,32,118,97,108,117,101,32,34,37,115,34,32,45,32,117,115,105,110,103,32,102,97,108,115,101,10,0,86,111,114,111,110,111,105,0,111,118,101,114,108,97,112,58,32,37,115,32,118,97,108,117,101,32,37,100,32,115,99,97,108,105,110,103,32,37,46,48,52,102,10,0,111,118,101,114,108,97,112,95,115,99,97,108,105,110,103,0,118,111,114,111,110,111,105,0,115,99,97,108,105,110,103,0,118,112,115,99,0,105,112,115,101,112,0,111,115,99,97,108,101,0,111,108,100,32,115,99,97,108,105,110,103,0,115,99,97,108,101,120,121,0,120,32,97,110,100,32,121,32,115,99,97,108,105,110,103,0,111,114,116,104,111,0,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,111,114,116,104,111,95,121,120,0,111,114,116,104,111,120,121,0,120,121,32,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,111,114,116,104,111,121,120,0,121,120,32,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,112,111,114,116,104,111,0,112,115,101,117,100,111,45,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,112,111,114,116,104,111,95,121,120,0,112,111,114,116,104,111,120,121,0,120,121,32,112,115,101,117,100,111,45,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,112,111,114,116,104,111,121,120,0,121,120,32,112,115,101,117,100,111,45,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,112,114,105,115,109,0,65,100,106,117,115,116,105,110,103,32,37,115,32,117,115,105,110,103,32,37,115,10,0,85,110,104,97,110,100,108,101,100,32,97,100,106,117,115,116,32,111,112,116,105,111,110,32,37,115,10,0,78,117,109,98,101,114,32,111,102,32,105,116,101,114,97,116,105,111,110,115,32,61,32,37,100,10,0,78,117,109,98,101,114,32,111,102,32,105,110,99,114,101,97,115,101,115,32,61,32,37,100,10,0,111,118,101,114,108,97,112,32,91,37,100,93,32,58,32,37,100,10,0,118,111,114,111,95,109,97,114,103,105,110,0,115,101,112,0,101,115,101,112,0,78,111,100,101,32,115,101,112,97,114,97,116,105,111,110,58,32,97,100,100,61,37,100,32,40,37,102,44,37,102,41,10,0,37,102,44,37,102,0,115,99,97,108,101,32,61,32,40,37,46,48,51,102,44,37,46,48,51,102,41,10,0,69,100,103,101,32,115,101,112,97,114,97,116,105,111,110,58,32,97,100,100,61,37,100,32,40,37,102,44,37,102,41,10,0,67,97,108,99,117,108,97,116,105,110,103,32,99,105,114,99,117,105,116,32,109,111,100,101,108,0,99,111,110,106,117,103,97,116,101,95,103,114,97,100,105,101,110,116,58,32,117,110,101,120,112,101,99,116,101,100,32,108,101,110,103,116,104,32,48,32,118,101,99,116,111,114,10,0,67,97,108,99,117,108,97,116,105,110,103,32,115,117,98,115,101,116,32,109,111,100,101,108,0,103,114,97,112,104,32,105,115,32,100,105,115,99,111,110,110,101,99,116,101,100,46,32,72,101,110,99,101,44,32,116,104,101,32,99,105,114,99,117,105,116,32,109,111,100,101,108,10,0,105,115,32,117,110,100,101,102,105,110,101,100,46,32,82,101,118,101,114,116,105,110,103,32,116,111,32,116,104,101,32,115,104,111,114,116,101,115,116,32,112,97,116,104,32,109,111,100,101,108,46,10,0,67,97,108,99,117,108,97,116,105,110,103,32,77,68,83,32,109,111,100,101,108,0,67,97,108,99,117,108,97,116,105,110,103,32,115,104,111,114,116,101,115,116,32,112,97,116,104,115,0,58,32,37,46,50,102,32,115,101,99,10,0,83,101,116,116,105,110,103,32,105,110,105,116,105,97,108,32,112,111,115,105,116,105,111,110,115,0,58,32,37,46,50,102,32,115,101,99,0,99,103,0,100,101,108,116,97,32,60,61,32,48,120,70,70,70,70,0,99,111,110,115,116,114,97,105,110,116,46,99,0,109,107,78,67,111,110,115,116,114,97,105,110,116,71,0,118,103,0,99,111,109,112,114,101,115,115,32,37,103,32,10,0,115,99,97,108,101,32,98,121,32,37,103,44,37,103,32,10,0,98,101,115,116,99,111,115,116,32,60,32,72,85,71,69,95,86,65,76,0,99,111,109,112,117,116,101,83,99,97,108,101,88,89,0,71,114,97,112,104,118,105,122,32,98,117,105,108,116,32,119,105,116,104,111,117,116,32,97,110,121,32,116,114,105,97,110,103,117,108,97,116,105,111,110,32,108,105,98,114,97,114,121,10,0,100,101,108,97,117,110,97,121,95,116,114,105,97,110,103,117,108,97,116,105,111,110,58,32,37,115,10,0,100,101,108,97,117,110,97,121,95,116,114,105,58,32,37,115,10,0,116,114,121,105,110,103,32,116,111,32,100,101,108,101,116,101,32,97,32,110,111,110,45,108,105,110,101,10,0,10,105,110,116,101,114,115,101,99,116,105,111,110,32,97,116,32,37,46,51,102,32,37,46,51,102,10,0,115,101,103,35,37,100,32,58,32,40,37,46,51,102,44,32,37,46,51,102,41,32,40,37,46,51,102,44,32,37,46,51,102,41,10,0,114,101,109,111,118,101,95,111,118,101,114,108,97,112,58,32,71,114,97,112,104,118,105,122,32,110,111,116,32,98,117,105,108,116,32,119,105,116,104,32,116,114,105,97,110,103,117,108,97,116,105,111,110,32,108,105,98,114,97,114,121,10,0,109,97,107,101,65,100,100,80,111,108,121,58,32,117,110,107,110,111,119,110,32,115,104,97,112,101,32,116,121,112,101,32,37,115,10,0,109,97,107,101,80,111,108,121,58,32,117,110,107,110,111,119,110,32,115,104,97,112,101,32,116,121,112,101,32,37,115,10,0,120,33,61,78,85,76,76,0,115,109,97,114,116,95,105,110,105,95,120,46,99,0,73,77,68,83,95,103,105,118,101,110,95,100,105,109,0,105,108,108,45,99,111,110,100,105,116,105,111,110,101,100,0,114,111,111,116,32,61,32,37,115,32,109,97,120,32,115,116,101,112,115,32,116,111,32,114,111,111,116,32,61,32,37,100,10,0,116,119,111,112,105,58,32,117,115,101,32,111,102,32,119,101,105,103,104,116,61,48,32,99,114,101,97,116,101,115,32,100,105,115,99,111,110,110,101,99,116,101,100,32,99,111,109,112,111,110,101,110,116,46,10,0,82,97,110,107,32,115,101,112,97,114,97,116,105,111,110,32,61,32,0,37,46,48,51,108,102,32,0,97,114,101,97,0,105,110,115,101,116,0,37,115,32,99,111,111,114,100,32,37,46,53,103,32,37,46,53,103,32,104,116,32,37,102,32,119,105,100,116,104,32,37,102,10,0,37,46,48,51,102,0,114,101,99,32,37,102,32,37,102,32,37,102,32,37,102,10,0,37,102,32,45,32,37,102,32,37,102,32,37,102,32,37,102,32,61,32,37,102,32,40,37,102,32,37,102,32,37,102,32,37,102,41,10,0,116,114,121,105,110,103,32,116,111,32,97,100,100,32,116,111,32,114,101,99,116,32,123,37,102,32,43,47,45,32,37,102,44,32,37,102,32,43,47,45,32,37,102,125,10,0,116,111,116,97,108,32,97,100,100,101,100,32,115,111,32,102,97,114,32,61,32,37,100,10,0,97,100,100,105,110,103,32,37,100,32,105,116,101,109,115,44,32,116,111,116,97,108,32,97,114,101,97,32,61,32,37,102,44,32,119,32,61,32,37,102,44,32,97,114,101,97,47,119,61,37,102,10,0,99,111,109,112,111,117,110,100,69,100,103,101,115,58,32,99,111,117,108,100,32,110,111,116,32,99,111,110,115,116,114,117,99,116,32,111,98,115,116,97,99,108,101,115,32,45,32,102,97,108,108,105,110,103,32,98,97,99,107,32,116,111,32,115,116,114,97,105,103,104,116,32,108,105,110,101,32,101,100,103,101,115,10,0,99,111,109,112,111,117,110,100,69,100,103,101,115,58,32,110,111,100,101,115,32,116,111,117,99,104,32,45,32,102,97,108,108,105,110,103,32,98,97,99,107,32,116,111,32,115,116,114,97,105,103,104,116,32,108,105,110,101,32,101,100,103,101,115,10,0,112,97,99,107,32,118,97,108,117,101,32,37,100,32,105,115,32,115,109,97,108,108,101,114,32,116,104,97,110,32,101,115,101,112,32,40,37,46,48,51,102,44,37,46,48,51,102,41,10,0,115,101,112,32,118,97,108,117,101,32,40,37,46,48,51,102,44,37,46,48,51,102,41,32,105,115,32,115,109,97,108,108,101,114,32,116,104,97,110,32,101,115,101,112,32,40,37,46,48,51,102,44,37,46,48,51,102,41,10,0,99,99,37,115,95,37,100,0,99,99,37,115,43,37,100,0,99,95,99,110,116,32,61,61,32,48,0,99,111,109,112,46,99,0,102,105,110,100,67,67,111,109,112,0,103,114,105,100,40,37,100,44,37,100,41,58,32,37,115,10,0,119,103,116,32,62,32,48,0,81,117,97,100,84,114,101,101,46,99,0,81,117,97,100,84,114,101,101,95,114,101,112,117,108,115,105,118,101,95,102,111,114,99,101,95,97,99,99,117,109,117,108,97,116,101,0,113,116,50,45,62,110,32,62,32,48,0,113,116,49,45,62,110,32,62,32,48,32,38,38,32,113,116,50,45,62,110,32,62,32,48,0,81,117,97,100,84,114,101,101,95,114,101,112,117,108,115,105,118,101,95,102,111,114,99,101,95,105,110,116,101,114,97,99,116,0,100,105,115,116,32,62,32,48,0,33,40,113,45,62,108,41,0,81,117,97,100,84,114,101,101,95,97,100,100,95,105,110,116,101,114,110,97,108,0,105,105,32,60,32,49,60,60,100,105,109,32,38,38,32,105,105,32,62,61,32,48,0,113,45,62,113,116,115,91,105,105,93,0,113,45,62,110,32,61,61,32,49,0,33,40,113,45,62,113,116,115,41,0,113,45,62,108,0,119,105,100,116,104,32,62,32,48,0,81,117,97,100,84,114,101,101,95,110,101,119,0,65,45,62,102,111,114,109,97,116,32,61,61,32,70,79,82,77,65,84,95,67,83,82,0,83,112,97,114,115,101,77,97,116,114,105,120,46,99,0,83,112,97,114,115,101,77,97,116,114,105,120,95,116,114,97,110,115,112,111,115,101,0,65,32,38,38,32,66,0,83,112,97,114,115,101,77,97,116,114,105,120,95,97,100,100,0,65,45,62,102,111,114,109,97,116,32,61,61,32,66,45,62,102,111,114,109,97,116,32,38,38,32,65,45,62,102,111,114,109,97,116,32,61,61,32,70,79,82,77,65,84,95,67,83,82,0,65,45,62,116,121,112,101,32,61,61,32,66,45,62,116,121,112,101,0,83,112,97,114,115,101,77,97,116,114,105,120,95,105,115,95,115,121,109,109,101,116,114,105,99,0,65,45,62,102,111,114,109,97,116,32,61,61,32,70,79,82,77,65,84,95,67,79,79,82,68,0,83,112,97,114,115,101,77,97,116,114,105,120,95,102,114,111,109,95,99,111,111,114,100,105,110,97,116,101,95,102,111,114,109,97,116,0,109,32,62,32,48,32,38,38,32,110,32,62,32,48,32,38,38,32,110,122,32,62,61,32,48,0,83,112,97,114,115,101,77,97,116,114,105,120,95,102,114,111,109,95,99,111,111,114,100,105,110,97,116,101,95,97,114,114,97,121,115,95,105,110,116,101,114,110,97,108,0,65,0,106,97,91,109,97,115,107,91,106,97,91,106,93,93,93,32,61,61,32,106,97,91,106,93,0,83,112,97,114,115,101,77,97,116,114,105,120,95,115,117,109,95,114,101,112,101,97,116,95,101,110,116,114,105,101,115,0,105,100,32,60,32,110,42,40,121,109,97,120,45,121,109,105,110,43,49,41,0,106,97,91,109,97,115,107,91,105,100,93,93,32,61,61,32,106,97,91,106,93,0,83,112,97,114,115,101,77,97,116,114,105,120,95,109,117,108,116,105,112,108,121,95,100,101,110,115,101,50,0,65,45,62,116,121,112,101,32,61,61,32,77,65,84,82,73,88,95,84,89,80,69,95,82,69,65,76,0,83,112,97,114,115,101,77,97,116,114,105,120,95,109,117,108,116,105,112,108,121,95,118,101,99,116,111,114,0,65,45,62,116,121,112,101,32,61,61,32,77,65,84,82,73,88,95,84,89,80,69,95,82,69,65,76,32,124,124,32,65,45,62,116,121,112,101,32,61,61,32,77,65,84,82,73,88,95,84,89,80,69,95,73,78,84,69,71,69,82,0,83,112,97,114,115,101,77,97,116,114,105,120,95,109,117,108,116,105,112,108,121,95,100,101,110,115,101,49,0,83,112,97,114,115,101,77,97,116,114,105,120,95,109,117,108,116,105,112,108,121,0,106,99,91,109,97,115,107,91,106,98,91,107,93,93,93,32,61,61,32,106,98,91,107,93,0,83,112,97,114,115,101,77,97,116,114,105,120,95,109,117,108,116,105,112,108,121,51,0,106,100,91,109,97,115,107,91,106,99,91,107,93,93,93,32,61,61,32,106,99,91,107,93,0,83,112,97,114,115,101,77,97,116,114,105,120,95,99,111,111,114,100,105,110,97,116,101,95,102,111,114,109,95,97,100,100,95,101,110,116,114,105,101,115,0,83,112,97,114,115,101,77,97,116,114,105,120,95,100,105,118,105,100,101,95,114,111,119,95,98,121,95,100,101,103,114,101,101,0,110,32,62,32,49,0,103,101,110,101,114,97,108,46,99,0,105,114,97,110,100,0,111,110,101,98,108,111,99,107,0,109,105,110,100,105,115,116,0,97,114,116,105,99,117,108,97,116,105,111,110,95,112,111,115,0,114,111,111,116,0,80,114,105,111,114,105,116,121,81,117,101,117,101,46,99,0,80,114,105,111,114,105,116,121,81,117,101,117,101,95,112,117,115,104,0,103,97,105,110,32,60,61,32,113,45,62,110,103,97,105,110,0,83,112,97,114,115,101,77,97,116,114,105,120,95,105,115,95,115,121,109,109,101,116,114,105,99,40,65,44,32,70,65,76,83,69,41,0,112,111,115,116,95,112,114,111,99,101,115,115,46,99,0,105,100,101,97,108,95,100,105,115,116,97,110,99,101,95,109,97,116,114,105,120,0,108,101,110,32,62,32,48,0,83,116,114,101,115,115,77,97,106,111,114,105,122,97,116,105,111,110,83,109,111,111,116,104,101,114,50,95,110,101,119,0,110,122,32,62,32,48,0,105,100,101,97,108,95,100,105,115,116,95,115,99,104,101,109,101,32,118,97,108,117,101,32,119,114,111,110,103,0,83,112,97,114,115,101,77,97,116,114,105,120,95,105,115,95,115,121,109,109,101,116,114,105,99,40,65,44,32,70,65,76,83,69,41,32,38,38,32,65,45,62,116,121,112,101,32,61,61,32,77,65,84,82,73,88,95,84,89,80,69,95,82,69,65,76,0,83,112,97,114,115,101,83,116,114,101,115,115,77,97,106,111,114,105,122,97,116,105,111,110,83,109,111,111,116,104,101,114,95,110,101,119,0,105,100,105,97,103,32,62,61,32,48,0,83,116,114,101,115,115,77,97,106,111,114,105,122,97,116,105,111,110,83,109,111,111,116,104,101,114,95,115,109,111,111,116,104,0,40,33,106,99,110,41,32,38,38,32,40,33,118,97,108,41,0,103,101,116,95,101,100,103,101,95,108,97,98,101,108,95,109,97,116,114,105,120,0,84,114,105,97,110,103,108,101,83,109,111,111,116,104,101,114,95,110,101,119,0,106,100,105,97,103,32,62,61,32,48,0,83,112,114,105,110,103,83,109,111,111,116,104,101,114,95,110,101,119,0,33,102,108,97,103,0,83,112,114,105,110,103,83,109,111,111,116,104,101,114,95,115,109,111,111,116,104,0,110,101,105,103,104,98,61,37,100,10,0,114,111,111,116,32,61,32,37,115,10,0,95,98,108,111,99,107,95,37,100,0,115,45,62,115,122,32,62,32,48,0,98,108,111,99,107,116,114,101,101,46,99,0,112,111,112,0,97,99,116,117,97,108,0,110,111,100,101,108,105,115,116,46,99,0,105,110,115,101,114,116,78,111,100,101,108,105,115,116,0,95,115,112,97,110,95,37,100,0,95,99,108,111,110,101,95,37,100,0,105,112,0,100,101,103,108,105,115,116,46,99,0,114,101,109,111,118,101,68,101,103,108,105,115,116,0,69,114,114,111,114,0,87,97,114,110,105,110,103,0,37,115,58,32,0,117,115,101,114,111,117,116,58,32,99,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,10,0,95,65,71,95,115,116,114,100,97,116,97,0,95,65,71,95,100,97,116,97,100,105,99,116,0,97,103,100,105,99,116,111,102,58,32,117,110,107,110,111,119,110,32,107,105,110,100,32,37,100,10,0,37,99,37,108,100,0,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,117,114,101,0,97,103,100,101,108,101,116,101,32,111,110,32,119,114,111,110,103,32,103,114,97,112,104,0,95,65,71,95,112,101,110,100,105,110,103,0,97,103,114,101,99,111,114,100,95,99,97,108,108,98,97,99,107,32,111,102,32,97,32,98,97,100,32,111,98,106,101,99,116,0,112,101,110,100,32,100,105,99,116,111,102,32,97,32,98,97,100,32,111,98,106,101,99,116,0,109,111,118,101,32,116,111,32,102,114,111,110,116,32,108,111,99,107,32,105,110,99,111,110,115,105,115,116,101,110,99,121,0,92,92,0,102,97,116,97,108,32,102,108,101,120,32,115,99,97,110,110,101,114,32,105,110,116,101,114,110,97,108,32,101,114,114,111,114,45,45,110,111,32,97,99,116,105,111,110,32,102,111,117,110,100,0,37,115,10,0,102,97,116,97,108,32,102,108,101,120,32,115,99,97,110,110,101,114,32,105,110,116,101,114,110,97,108,32,101,114,114,111,114,45,45,101,110,100,32,111,102,32,98,117,102,102,101,114,32,109,105,115,115,101,100,0,102,97,116,97,108,32,101,114,114,111,114,32,45,32,115,99,97,110,110,101,114,32,105,110,112,117,116,32,98,117,102,102,101,114,32,111,118,101,114,102,108,111,119,0,111,117,116,32,111,102,32,100,121,110,97,109,105,99,32,109,101,109,111,114,121,32,105,110,32,97,97,103,95,103,101,116,95,110,101,120,116,95,98,117,102,102,101,114,40,41,0,105,110,112,117,116,0,115,121,110,116,97,120,32,97,109,98,105,103,117,105,116,121,32,45,32,98,97,100,108,121,32,100,101,108,105,109,105,116,101,100,32,110,117,109,98,101,114,32,39,0,39,32,105,110,32,108,105,110,101,32,37,100,32,111,102,32,0,32,115,112,108,105,116,115,32,105,110,116,111,32,116,119,111,32,116,111,107,101,110,115,10,0,37,115,0,108,105,110,101,0,37,100,32,37,49,91,34,93,37,110,0,111,117,116,32,111,102,32,100,121,110,97,109,105,99,32,109,101,109,111,114,121,32,105,110,32,97,97,103,95,99,114,101,97,116,101,95,98,117,102,102,101,114,40,41,0,111,117,116,32,111,102,32,100,121,110,97,109,105,99,32,109,101,109,111,114,121,32,105,110,32,97,97,103,101,110,115,117,114,101,95,98,117,102,102,101,114,95,115,116,97,99,107,40,41,0,58,32,0,32,105,110,32,108,105,110,101,32,37,100,0,32,110,101,97,114,32,39,0,32,115,99,97,110,110,105,110,103,32,97,32,113,117,111,116,101,100,32,115,116,114,105,110,103,32,40,109,105,115,115,105,110,103,32,101,110,100,113,117,111,116,101,63,32,108,111,110,103,101,114,32,116,104,97,110,32,37,100,63,41,0,10,83,116,114,105,110,103,32,115,116,97,114,116,105,110,103,58,34,0,32,115,99,97,110,110,105,110,103,32,97,32,72,84,77,76,32,115,116,114,105,110,103,32,40,109,105,115,115,105,110,103,32,39,62,39,63,32,98,97,100,32,110,101,115,116,105,110,103,63,32,108,111,110,103,101,114,32,116,104,97,110,32,37,100,63,41,0,10,83,116,114,105,110,103,32,115,116,97,114,116,105,110,103,58,60,0,32,115,99,97,110,110,105,110,103,32,97,32,47,42,46,46,46,42,47,32,99,111,109,109,101,110,116,32,40,109,105,115,115,105,110,103,32,39,42,47,63,32,108,111,110,103,101,114,32,116,104,97,110,32,37,100,63,41,0,102,108,101,120,32,115,99,97,110,110,101,114,32,112,117,115,104,45,98,97,99,107,32,111,118,101,114,102,108,111,119,0,34,34,0,115,116,114,105,99,116,0,108,105,110,101,108,101,110,103,116,104,0,59,10,0,32,91,107,101,121,61,0,93,0,32,91,0,44,10,0,61,0,95,37,108,100,95,83,85,83,80,69,67,84,0,100,105,0,115,116,114,105,99,116,32,0,123,10,0,93,59,10,0,18,238,238,20,9,3,238,254,238,238,238,1,238,238,238,1,238,238,10,254,238,19,25,21,238,19,1,238,238,238,238,11,17,238,238,238,238,238,238,238,238,238,1,238,238,22,9,1,1,29,15,23,238,238,26,23,27,238,238,28,238,238,238,238,1,25,251,238,238,238,1,238,16,238,238,30,238,238,238,238,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,23,17,2,2,2,2,2,2,2,2,2,2,2,2,2,18,16,2,19,2,2,22,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,20,2,21,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,14,2,15,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,3,4,5,6,7,8,9,10,11,12,13,11,3,4,5,15,7,3,12,13,6,12,13,14,12,13,26,21,22,0,1,0,3,7,14,6,15,8,12,13,18,19,42,16,17,9,16,47,48,17,50,23,19,13,20,18,46,18,20,65,19,50,19,44,64,42,66,25,44,66,70,34,12,13,14,35,15,9,16,17,10,16,17,201,16,17,45,69,70,252,1,6,246,15,7,246,36,2,16,17,47,48,54,77,78,40,38,59,60,42,54,49,57,61,63,47,58,64,216,68,48,62,37,55,67,53,75,43,56,73,76,0,3,9,0,0,0,1,14,2,11,12,8,35,36,37,54,59,61,0,13,16,18,27,22,28,18,39,50,34,23,51,30,60,6,7,53,5,15,17,20,24,41,0,19,41,0,0,0,0,0,55,21,40,29,30,0,33,38,52,31,48,62,25,44,0,27,0,32,26,42,0,43,58,46,47,0,49,56,57,45,0,2,2,1,0,3,3,1,0,1,0,1,1,1,0,2,1,1,0,2,2,3,1,1,0,0,5,0,1,3,1,3,5,3,1,1,1,1,2,0,1,0,4,2,0,2,1,1,3,2,1,0,3,2,1,0,1,1,0,1,1,1,3,0,24,25,25,25,26,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,36,36,38,39,37,37,40,40,41,41,41,42,42,43,43,43,44,44,45,45,46,47,47,48,49,49,50,51,52,54,53,55,55,55,56,56,56,57,57,58,58,238,238,255,238,238,238,238,238,238,31,32,238,0,239,238,238,238,12,238,238,238,8,13,238,238,238,248,238,238,238,238,238,238,245,238,255,3,8,4,33,5,11,18,19,39,20,21,22,41,50,65,23,24,25,26,44,51,52,66,71,72,27,74,28,29,46,30,79,31,32,107,101,121,0,97,116,116,114,105,98,117,116,101,32,109,97,99,114,111,115,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,37,115,58,37,115,0,67,111,117,108,100,32,110,111,116,32,111,112,101,110,32,34,37,115,34,32,102,111,114,32,119,114,105,116,105,110,103,32,58,32,37,115,10,0,78,111,32,108,105,98,122,32,115,117,112,112,111,114,116,46,10,0,46,37,100,0,110,111,110,97,109,101,46,103,118,0,103,118,119,114,105,116,101,95,110,111,95,122,32,112,114,111,98,108,101,109,32,37,100,10,0,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,117,114,101,10,0,78,111,32,108,105,98,122,32,115,117,112,112,111,114,116,10,0,103,118,112,114,105,110,116,102,58,32,37,115,10,0,45,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,46,57,57,0,103,114,97,112,104,118,105,122,0,50,46,52,48,46,49,0,50,48,49,54,49,50,50,53,46,48,51,48,52,0,114,101,110,100,101,114,0,100,101,118,105,99,101,0,108,111,97,100,105,109,97,103,101,0,100,121,110,97,109,105,99,32,108,111,97,100,105,110,103,32,110,111,116,32,97,118,97,105,108,97,98,108,101,10,0,85,115,105,110,103,32,37,115,58,32,37,115,58,37,115,10,0,103,118,117,115,101,114,115,104,97,112,101,46,99,0,103,118,117,115,101,114,115,104,97,112,101,95,102,105,110,100,0,103,118,117,115,101,114,115,104,97,112,101,95,102,105,108,101,95,97,99,99,101,115,115,0,70,105,108,101,110,97,109,101,32,34,37,115,34,32,105,115,32,117,110,115,97,102,101,10,0,37,115,32,119,104,105,108,101,32,111,112,101,110,105,110,103,32,37,115,10,0,117,115,45,62,102,0,103,118,117,115,101,114,115,104,97,112,101,95,111,112,101,110,0,34,37,115,34,32,119,97,115,32,110,111,116,32,102,111,117,110,100,32,97,115,32,97,32,102,105,108,101,32,111,114,32,97,115,32,97,32,115,104,97,112,101,32,108,105,98,114,97,114,121,32,109,101,109,98,101,114,10,0,47,77,101,100,105,97,66,111,120,0,40,91,97,45,122,93,91,97,45,122,65,45,90,93,42,41,61,34,40,91,94,34,93,42,41,34,0,99,97,110,110,111,116,32,99,111,109,112,105,108,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,37,115,0,37,108,102,37,50,115,0,112,116,0,118,105,101,119,66,111,120,0,37,108,102,32,37,108,102,32,37,108,102,32,37,108,102,0,105,110,0,112,120,0,112,99,0,34,0,99,109,0,109,109,0,37,37,66,111,117,110,100,105,110,103,66,111,120,58,0,1,208,209,210,211,212,213,214,215,216,217,0,60,115,118,103,0,87,69,66,80,0,119,101,98,112,0,40,108,105,98,41,0,137,80,78,71,13,10,26,10,0,112,110,103,0,37,33,80,83,45,65,100,111,98,101,45,0,66,77,0,98,109,112,0,71,73,70,56,0,103,105,102,0,255,216,255,224,0,106,112,101,103,0,37,80,68,70,45,0,112,100,102,0,197,208,211,198,0,101,112,115,0,60,63,120,109,108,0,120,109,108,0,82,73,70,70,0,114,105,102,102,0,0,0,1,0,0,105,99,111,0,37,100,32,37,100,32,37,100,32,37,100,0,76,97,121,111,117,116,32,119,97,115,32,110,111,116,32,100,111,110,101,10,0,102,97,105,108,117,114,101,32,109,97,108,108,111,99,39,105,110,103,32,102,111,114,32,114,101,115,117,108,116,32,115,116,114,105,110,103,0,103,99,58,32,79,117,116,32,111,102,32,109,101,109,111,114,121,10,0,95,99,99,95,0,111,114,105,103,0,111,112,0,99,99,111,109,112,115,46,99,0,109,97,112,67,108,117,115,116,0,99,99,103,114,97,112,104,105,110,102,111,0,99,99,103,110,111,100,101,105,110,102,111,0,40,37,52,108,100,41,32,37,55,108,100,32,110,111,100,101,115,32,37,55,108,100,32,101,100,103,101,115,10,0,32,32,32,32,32,32,32,37,55,100,32,110,111,100,101,115,32,37,55,100,32,101,100,103,101,115,32,37,55,108,100,32,99,111,109,112,111,110,101,110,116,115,32,37,115,10,0,100,103,0,69,114,114,111,114,58,32,110,111,100,101,32,34,37,115,34,32,98,101,108,111,110,103,115,32,116,111,32,116,119,111,32,110,111,110,45,110,101,115,116,101,100,32,99,108,117,115,116,101,114,115,32,34,37,115,34,32,97,110,100,32,34,37,115,34,10,0,115,111,114,116,118,0,114,111,119,32,109,97,106,111,114,0,99,111,108,117,109,110,32,109,97,106,111,114,0,97,114,114,97,121,32,112,97,99,107,105,110,103,58,32,37,115,32,37,100,32,114,111,119,115,32,37,100,32,99,111,108,117,109,110,115,10,0,98,98,91,37,115,93,32,37,46,53,103,32,37,46,53,103,32,37,46,53,103,32,37,46,53,103,10,0,115,116,101,112,32,115,105,122,101,32,61,32,37,100,10,0,112,111,115,91,37,100,93,32,37,100,32,37,100,10,0,99,99,32,40,37,100,32,99,101,108,108,115,41,32,97,116,32,40,37,100,44,37,100,41,32,40,37,100,44,37,100,41,10,0,99,99,32,40,37,100,32,99,101,108,108,115,41,32,97,116,32,40,37,100,44,37,100,41,10,0,37,115,32,110,111,46,32,99,101,108,108,115,32,37,100,32,87,32,37,100,32,72,32,37,100,10,0,32,32,37,100,32,37,100,32,99,101,108,108,10,0,108,105,98,112,97,99,107,58,32,100,105,115,99,32,61,32,37,102,32,40,32,60,32,48,41,10,0,80,97,99,107,105,110,103,58,32,99,111,109,112,117,116,101,32,103,114,105,100,32,115,105,122,101,10,0,97,32,37,102,32,98,32,37,102,32,99,32,37,102,32,100,32,37,102,32,114,32,37,102,10,0,114,111,111,116,32,37,100,32,40,37,102,41,32,37,100,32,40,37,102,41,10,0,32,114,49,32,37,102,32,114,50,32,37,102,10,0,112,105,110,102,111,0,112,97,99,107,46,99,0,103,101,116,80,97,99,107,73,110,102,111,0,32,32,109,97,114,103,105,110,32,37,100,10,0,112,97,99,107,109,111,100,101,0,112,97,114,115,101,80,97,99,107,77,111,100,101,73,110,102,111,0,97,114,114,97,121,0,97,115,112,101,99,116,0,37,102,0,112,97,99,107,32,105,110,102,111,58,10,0,32,32,109,111,100,101,32,32,32,37,115,10,0,32,32,97,115,112,101,99,116,32,37,102,10,0,32,32,115,105,122,101,32,32,32,37,100,10,0,32,32,102,108,97,103,115,32,32,37,100,10,0,117,110,100,101,102,105,110,101,100,0,112,97,99,107,0,65,114,114,111,119,32,116,121,112,101,32,34,37,115,34,32,117,110,107,110,111,119,110,32,45,32,105,103,110,111,114,105,110,103,10,0,110,111,114,109,97,108,0,99,114,111,119,0,116,101,101,0,100,111,116,0,105,110,118,0,118,101,101,0,112,101,110,0,109,112,116,121,0,99,117,114,118,101,0,105,99,117,114,118,101,0,108,0,104,97,108,102,0,105,110,118,101,109,112,116,121,0,95,98,97,99,107,103,114,111,117,110,100,0,95,100,114,97,119,95,0,67,111,117,108,100,32,110,111,116,32,112,97,114,115,101,32,34,95,98,97,99,107,103,114,111,117,110,100,34,32,97,116,116,114,105,98,117,116,101,32,105,110,32,103,114,97,112,104,32,37,115,10,0,32,32,34,37,115,34,10,0,110,111,32,109,101,109,111,114,121,32,102,114,111,109,32,122,109,97,108,108,111,99,40,41,10,0,111,98,106,0,101,109,105,116,46,99,0,112,111,112,95,111,98,106,95,115,116,97,116,101,0,99,108,117,115,116,0,37,108,100,0,112,97,103,101,37,100,44,37,100,95,0,84,111,116,97,108,32,115,105,122,101,32,62,32,49,32,105,110,32,34,37,115,34,32,99,111,108,111,114,32,115,112,101,99,32,0,73,108,108,101,103,97,108,32,108,101,110,103,116,104,32,118,97,108,117,101,32,105,110,32,34,37,115,34,32,99,111,108,111,114,32,97,116,116,114,105,98,117,116,101,32,0,108,110,114,99,111,108,111,114,115,99,104,101,109,101,0,101,109,105,116,95,101,100,103,101,95,108,97,98,101,108,0,37,115,45,37,115,0,102,111,114,119,97,114,100,0,98,97,99,107,0,32,45,62,32,0,32,45,45,32,0,105,110,32,101,100,103,101,32,37,115,37,115,37,115,10,0,108,97,98,101,108,97,108,105,103,110,101,100,0,101,100,103,101,104,114,101,102,0,101,100,103,101,85,82,76,0,108,97,98,101,108,104,114,101,102,0,108,97,98,101,108,85,82,76,0,116,97,105,108,104,114,101,102,0,116,97,105,108,85,82,76,0,104,101,97,100,104,114,101,102,0,104,101,97,100,85,82,76,0,101,100,103,101,116,97,114,103,101,116,0,108,97,98,101,108,116,97,114,103,101,116,0,116,97,105,108,116,97,114,103,101,116,0,104,101,97,100,116,97,114,103,101,116,0,101,100,103,101,116,111,111,108,116,105,112,0,108,97,98,101,108,116,111,111,108,116,105,112,0,116,97,105,108,116,111,111,108,116,105,112,0,104,101,97,100,116,111,111,108,116,105,112,0,1,110,101,115,116,105,110,103,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,115,116,121,108,101,58,32,37,115,10,0,117,110,109,97,116,99,104,101,100,32,39,41,39,32,105,110,32,115,116,121,108,101,58,32,37,115,10,0,116,114,117,110,99,97,116,105,110,103,32,115,116,121,108,101,32,39,37,115,39,10,0,117,110,109,97,116,99,104,101,100,32,39,40,39,32,105,110,32,115,116,121,108,101,58,32,37,115,10,0,97,108,108,0,105,110,32,99,108,117,115,116,101,114,32,37,115,10,0,77,111,114,101,32,116,104,97,110,32,50,32,99,111,108,111,114,115,32,115,112,101,99,105,102,105,101,100,32,102,111,114,32,97,32,103,114,97,100,105,101,110,116,32,45,32,105,103,110,111,114,105,110,103,32,114,101,109,97,105,110,105,110,103,10,0,103,114,97,100,105,101,110,116,32,112,101,110,32,99,111,108,111,114,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,46,10,0,73,109,97,103,101,115,32,117,110,115,117,112,112,111,114,116,101,100,32,105,110,32,34,98,97,99,107,103,114,111,117,110,100,34,32,97,116,116,114,105,98,117,116,101,10,0,108,97,121,101,114,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,105,110,32,37,115,32,111,117,116,112,117,116,10,0,76,97,121,111,117,116,32,119,97,115,32,110,111,116,32,100,111,110,101,46,32,32,77,105,115,115,105,110,103,32,108,97,121,111,117,116,32,112,108,117,103,105,110,115,63,32,10,0,103,118,82,101,110,100,101,114,74,111,98,115,32,37,115,58,32,37,46,50,102,32,115,101,99,115,46,10,0,108,97,121,111,117,116,32,119,97,115,32,110,111,116,32,100,111,110,101,10,0,114,101,110,100,101,114,101,114,32,102,111,114,32,37,115,32,105,115,32,117,110,97,118,97,105,108,97,98,108,101,10,0,112,97,103,101,100,105,114,61,37,115,32,105,103,110,111,114,101,100,10,0,118,105,101,119,112,111,114,116,0,37,108,102,44,37,108,102,44,37,108,102,44,39,37,91,94,39,93,39,0,37,108,102,44,37,108,102,44,37,108,102,44,37,91,94,44,93,37,115,0,37,108,102,44,37,108,102,44,37,108,102,44,37,108,102,44,37,108,102,0,111,117,116,112,117,116,111,114,100,101,114,0,111,100,101,115,102,105,114,115,116,0,100,103,101,115,102,105,114,115,116,0,108,97,121,101,114,115,0,108,97,121,101,114,115,101,108,101,99,116,0,84,104,101,32,108,97,121,101,114,115,101,108,101,99,116,32,97,116,116,114,105,98,117,116,101,32,34,37,115,34,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,108,97,121,101,114,32,115,112,101,99,105,102,101,100,32,98,121,32,116,104,101,32,108,97,121,101,114,115,32,97,116,116,114,105,98,117,116,101,32,45,32,105,103,110,111,114,101,100,46,10,0,108,97,121,101,114,115,101,112,0,58,9,32,0,108,97,121,101,114,108,105,115,116,115,101,112,0,44,0,84,104,101,32,99,104,97,114,97,99,116,101,114,32,39,37,99,39,32,97,112,112,101,97,114,115,32,105,110,32,98,111,116,104,32,116,104,101,32,108,97,121,101,114,115,101,112,32,97,110,100,32,108,97,121,101,114,108,105,115,116,115,101,112,32,97,116,116,114,105,98,117,116,101,115,32,45,32,108,97,121,101,114,108,105,115,116,115,101,112,32,105,103,110,111,114,101,100,46,10,0,112,97,100,0,66,76,0,112,97,103,101,100,105,114,0,115,111,108,105,100,0,0,115,101,116,108,105,110,101,119,105,100,116,104,0,49,0,0,115,112,108,45,62,115,105,122,101,32,62,32,48,0,105,110,105,116,95,115,112,108,105,110,101,115,95,98,98,0,98,122,46,115,105,122,101,32,62,32,48,0,98,101,122,105,101,114,95,98,98,0,98,122,46,115,105,122,101,32,37,32,51,32,61,61,32,49,0,37,108,102,0,102,111,110,116,112,97,116,104,0,68,79,84,70,79,78,84,80,65,84,72,0,71,68,70,79,78,84,80,65,84,72,0,105,109,97,103,101,112,97,116,104,0,113,117,97,110,116,117,109,0,114,97,110,107,100,105,114,0,76,82,0,66,84,0,82,76,0,110,111,100,101,115,101,112,0,114,97,110,107,115,101,112,0,101,113,117,97,108,108,121,0,115,104,111,119,98,111,120,101,115,0,102,111,110,116,110,97,109,101,115,0,115,105,122,101,0,112,97,103,101,0,99,101,110,116,101,114,0,114,111,116,97,116,101,0,111,114,105,101,110,116,97,116,105,111,110,0,108,97,110,100,115,99,97,112,101,0,99,108,117,115,116,101,114,114,97,110,107,0,99,111,110,99,101,110,116,114,97,116,101,0,100,112,105,0,114,101,115,111,108,117,116,105,111,110,0,111,114,100,101,114,105,110,103,0,102,105,108,108,99,111,108,111,114,0,102,111,110,116,115,105,122,101,0,102,111,110,116,110,97,109,101,0,102,111,110,116,99,111,108,111,114,0,120,108,97,98,101,108,0,112,101,110,119,105,100,116,104,0,112,101,114,105,112,104,101,114,105,101,115,0,115,107,101,119,0,100,105,115,116,111,114,116,105,111,110,0,110,111,106,117,115,116,105,102,121,0,108,97,121,101,114,0,103,114,111,117,112,0,99,111,109,109,101,110,116,0,118,101,114,116,105,99,101,115,0,122,0,119,101,105,103,104,116,0,108,97,98,101,108,102,108,111,97,116,0,100,105,114,0,97,114,114,111,119,104,101,97,100,0,97,114,114,111,119,116,97,105,108,0,104,101,97,100,108,97,98,101,108,0,116,97,105,108,108,97,98,101,108,0,108,97,98,101,108,102,111,110,116,115,105,122,101,0,108,97,98,101,108,102,111,110,116,110,97,109,101,0,108,97,98,101,108,102,111,110,116,99,111,108,111,114,0,108,97,98,101,108,100,105,115,116,97,110,99,101,0,108,97,98,101,108,97,110,103,108,101,0,109,105,110,108,101,110,0,100,101,99,111,114,97,116,101,0,97,114,114,111,119,115,105,122,101,0,99,111,110,115,116,114,97,105,110,116,0,116,97,105,108,99,108,105,112,0,104,101,97,100,99,108,105,112,0,108,97,98,101,108,106,117,115,116,0,108,111,99,97,108,0,103,108,111,98,97,108,0,37,108,102,44,37,108,102,37,99,0,37,108,102,37,99,0,114,97,116,105,111,0,97,117,116,111,0,99,111,109,112,114,101,115,115,0,101,120,112,97,110,100,0,102,105,108,108,0,103,100,0,112,115,0,115,118,103,0,99,104,97,114,115,101,116,0,117,116,102,45,56,0,108,97,116,105,110,45,49,0,108,97,116,105,110,49,0,108,49,0,73,83,79,45,56,56,53,57,45,49,0,73,83,79,95,56,56,53,57,45,49,0,73,83,79,56,56,53,57,45,49,0,73,83,79,45,73,82,45,49,48,48,0,98,105,103,45,53,0,98,105,103,53,0,117,116,102,56,0,85,110,115,117,112,112,111,114,116,101,100,32,99,104,97,114,115,101,116,32,34,37,115,34,32,45,32,97,115,115,117,109,105,110,103,32,117,116,102,45,56,10,0,85,110,115,117,112,112,111,114,116,101,100,32,99,104,97,114,115,101,116,32,118,97,108,117,101,32,37,100,10,0,85,84,70,45,56,0,66,73,71,45,53,0,105,110,32,108,97,98,101,108,32,111,102,32,103,114,97,112,104,32,37,115,10,0,105,110,32,108,97,98,101,108,32,111,102,32,110,111,100,101,32,37,115,10,0,105,110,32,108,97,98,101,108,32,111,102,32,101,100,103,101,32,37,115,32,37,115,32,37,115,10,0,107,105,110,100,32,61,61,32,76,84,95,78,79,78,69,0,108,97,98,101,108,115,46,99,0,109,97,107,101,95,108,97,98,101,108,0,92,76,0,92,71,0,92,69,0,92,72,0,92,84,0,38,35,49,51,59,0,38,113,117,111,116,59,0,38,35,49,48,59,0,38,35,49,54,48,59,0,38],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+92184);allocate([97,109,112,59,0,38,103,116,59,0,38,35,51,57,59,0,38,35,52,53,59,0,38,108,116,59,0,37,115,32,37,100,32,110,111,100,101,115,32,37,100,32,101,100,103,101,115,32,109,97,120,105,116,101,114,61,37,100,32,98,97,108,97,110,99,101,61,37,100,10,0,110,101,116,119,111,114,107,32,115,105,109,112,108,101,120,58,32,0,37,100,32,0,37,115,37,100,32,110,111,100,101,115,32,37,100,32,101,100,103,101,115,32,37,100,32,105,116,101,114,32,37,46,50,102,32,115,101,99,10,0,117,112,100,97,116,101,58,32,109,105,115,109,97,116,99,104,101,100,32,108,99,97,32,105,110,32,116,114,101,101,117,112,100,97,116,101,115,10,0,84,114,101,101,95,101,100,103,101,46,115,105,122,101,32,61,61,32,78,95,110,111,100,101,115,32,45,32,49,0,110,115,46,99,0,102,101,97,115,105,98,108,101,95,116,114,101,101,0,33,84,82,69,69,95,69,68,71,69,40,101,41,0,109,101,114,103,101,95,116,114,101,101,115,0,40,114,48,45,62,104,101,97,112,95,105,110,100,101,120,32,62,32,45,49,41,32,124,124,32,40,114,49,45,62,104,101,97,112,95,105,110,100,101,120,32,62,32,45,49,41,0,83,84,115,101,116,85,110,105,111,110,0,114,45,62,104,101,97,112,95,105,110,100,101,120,32,62,61,32,48,0,97,100,100,95,116,114,101,101,95,101,100,103,101,58,32,109,105,115,115,105,110,103,32,116,114,101,101,32,101,100,103,101,10,0,97,100,100,95,116,114,101,101,95,101,100,103,101,58,32,101,109,112,116,121,32,111,117,116,101,100,103,101,32,108,105,115,116,10,0,97,100,100,95,116,114,101,101,95,101,100,103,101,58,32,101,109,112,116,121,32,105,110,101,100,103,101,32,108,105,115,116,10,0,116,114,111,117,98,108,101,32,105,110,32,105,110,105,116,95,114,97,110,107,10,0,9,37,115,32,37,100,10,0,115,101,97,114,99,104,115,105,122,101,0,103,114,97,112,104,32,0,32,0,110,111,100,101,32,0,115,116,111,112,10,0,37,46,53,103,0,112,111,115,0,114,101,99,116,115,0,120,108,112,0,108,112,0,104,101,97,100,95,108,112,0,116,97,105,108,95,108,112,0,108,119,105,100,116,104,0,108,104,101,105,103,104,116,0,98,98,0,37,46,53,103,44,37,46,53,103,44,37,46,53,103,0,44,37,46,53,103,0,37,46,53,103,44,37,46,53,103,0,115,97,109,112,108,101,112,111,105,110,116,115,0,37,46,53,103,32,37,46,53,103,0,115,44,37,46,53,103,44,37,46,53,103,32,0,101,44,37,46,53,103,44,37,46,53,103,32,0,37,46,53,103,44,37,46,53,103,44,37,46,53,103,44,37,46,53,103,0,37,46,50,102,0,37,46,53,103,44,37,46,53,103,44,37,46,53,103,44,37,46,53,103,32,0,47,112,97,116,104,98,111,120,32,123,10,32,32,32,32,47,88,32,101,120,99,104,32,110,101,103,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,89,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,120,32,101,120,99,104,32,110,101,103,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,121,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,110,101,119,112,97,116,104,32,120,32,121,32,109,111,118,101,116,111,10,32,32,32,32,88,32,121,32,108,105,110,101,116,111,10,32,32,32,32,88,32,89,32,108,105,110,101,116,111,10,32,32,32,32,120,32,89,32,108,105,110,101,116,111,10,32,32,32,32,99,108,111,115,101,112,97,116,104,32,115,116,114,111,107,101,10,125,32,100,101,102,10,0,47,112,97,116,104,98,111,120,32,123,10,32,32,32,32,47,89,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,88,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,121,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,120,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,110,101,119,112,97,116,104,32,120,32,121,32,109,111,118,101,116,111,10,32,32,32,32,88,32,121,32,108,105,110,101,116,111,10,32,32,32,32,88,32,89,32,108,105,110,101,116,111,10,32,32,32,32,120,32,89,32,108,105,110,101,116,111,10,32,32,32,32,99,108,111,115,101,112,97,116,104,32,115,116,114,111,107,101,10,32,125,32,100,101,102,10,47,100,98,103,115,116,97,114,116,32,123,32,103,115,97,118,101,32,37,46,53,103,32,37,46,53,103,32,116,114,97,110,115,108,97,116,101,32,125,32,100,101,102,10,47,97,114,114,111,119,108,101,110,103,116,104,32,49,48,32,100,101,102,10,47,97,114,114,111,119,119,105,100,116,104,32,97,114,114,111,119,108,101,110,103,116,104,32,50,32,100,105,118,32,100,101,102,10,47,97,114,114,111,119,104,101,97,100,32,123,10,32,32,32,32,103,115,97,118,101,10,32,32,32,32,114,111,116,97,116,101,10,32,32,32,32,99,117,114,114,101,110,116,112,111,105,110,116,10,32,32,32,32,110,101,119,112,97,116,104,10,32,32,32,32,109,111,118,101,116,111,10,32,32,32,32,97,114,114,111,119,108,101,110,103,116,104,32,97,114,114,111,119,119,105,100,116,104,32,50,32,100,105,118,32,114,108,105,110,101,116,111,10,32,32,32,32,48,32,97,114,114,111,119,119,105,100,116,104,32,110,101,103,32,114,108,105,110,101,116,111,10,32,32,32,32,99,108,111,115,101,112,97,116,104,32,102,105,108,108,10,32,32,32,32,103,114,101,115,116,111,114,101,10,125,32,98,105,110,100,32,100,101,102,10,47,109,97,107,101,97,114,114,111,119,32,123,10,32,32,32,32,99,117,114,114,101,110,116,112,111,105,110,116,32,101,120,99,104,32,112,111,112,32,115,117,98,32,101,120,99,104,32,99,117,114,114,101,110,116,112,111,105,110,116,32,112,111,112,32,115,117,98,32,97,116,97,110,10,32,32,32,32,97,114,114,111,119,104,101,97,100,10,125,32,98,105,110,100,32,100,101,102,10,47,112,111,105,110,116,32,123,32,32,32,32,110,101,119,112,97,116,104,32,32,32,32,50,32,48,32,51,54,48,32,97,114,99,32,102,105,108,108,125,32,100,101,102,47,109,97,107,101,118,101,99,32,123,10,32,32,32,32,47,89,32,101,120,99,104,32,100,101,102,10,32,32,32,32,47,88,32,101,120,99,104,32,100,101,102,10,32,32,32,32,47,121,32,101,120,99,104,32,100,101,102,10,32,32,32,32,47,120,32,101,120,99,104,32,100,101,102,10,32,32,32,32,110,101,119,112,97,116,104,32,120,32,121,32,109,111,118,101,116,111,10,32,32,32,32,88,32,89,32,108,105,110,101,116,111,32,115,116,114,111,107,101,10,32,32,32,32,88,32,89,32,109,111,118,101,116,111,10,32,32,32,32,120,32,121,32,109,97,107,101,97,114,114,111,119,10,125,32,100,101,102,10,0,108,111,115,116,32,37,115,32,37,115,32,101,100,103,101,10,0,110,111,32,112,111,115,105,116,105,111,110,32,102,111,114,32,101,100,103,101,32,119,105,116,104,32,108,97,98,101,108,32,37,115,0,110,111,32,112,111,115,105,116,105,111,110,32,102,111,114,32,101,100,103,101,32,119,105,116,104,32,116,97,105,108,32,108,97,98,101,108,32,37,115,0,110,111,32,112,111,115,105,116,105,111,110,32,102,111,114,32,101,100,103,101,32,119,105,116,104,32,104,101,97,100,32,108,97,98,101,108,32,37,115,0,110,111,32,112,111,115,105,116,105,111,110,32,102,111,114,32,101,100,103,101,32,119,105,116,104,32,120,108,97,98,101,108,32,37,115,0,102,111,114,99,101,108,97,98,101,108,115,0,37,100,32,111,117,116,32,111,102,32,37,100,32,108,97,98,101,108,115,32,112,111,115,105,116,105,111,110,101,100,46,10,0,37,100,32,111,117,116,32,111,102,32,37,100,32,101,120,116,101,114,105,111,114,32,108,97,98,101,108,115,32,112,111,115,105,116,105,111,110,101,100,46,10,0,37,100,32,111,98,106,115,32,37,100,32,120,108,97,98,101,108,115,32,102,111,114,99,101,61,37,100,32,98,98,61,40,37,46,48,50,102,44,37,46,48,50,102,41,32,40,37,46,48,50,102,44,37,46,48,50,102,41,10,0,111,98,106,101,99,116,115,10,0,32,91,37,100,93,32,40,37,46,48,50,102,44,37,46,48,50,102,41,32,40,37,46,48,50,102,44,37,46,48,50,102,41,32,37,112,32,34,37,115,34,10,0,120,108,97,98,101,108,115,10,0,32,91,37,100,93,32,37,112,32,115,101,116,32,37,100,32,40,37,46,48,50,102,44,37,46,48,50,102,41,32,40,37,46,48,50,102,44,37,46,48,50,102,41,32,37,115,10,0,115,104,97,112,101,102,105,108,101,32,110,111,116,32,115,101,116,32,111,114,32,110,111,116,32,102,111,117,110,100,32,102,111,114,32,101,112,115,102,32,110,111,100,101,32,37,115,10,0,99,111,117,108,100,110,39,116,32,111,112,101,110,32,101,112,115,102,32,102,105,108,101,32,37,115,10,0,37,37,37,37,66,111,117,110,100,105,110,103,66,111,120,58,32,37,100,32,37,100,32,37,100,32,37,100,0,114,101,97,100,0,66,111,117,110,100,105,110,103,66,111,120,32,110,111,116,32,102,111,117,110,100,32,105,110,32,101,112,115,102,32,102,105,108,101,32,37,115,10,0,99,97,110,39,116,32,102,105,110,100,32,108,105,98,114,97,114,121,32,102,105,108,101,32,37,115,10,0,99,97,110,39,116,32,111,112,101,110,32,108,105,98,114,97,114,121,32,102,105,108,101,32,37,115,10,0,69,79,70,0,66,69,71,73,78,0,69,78,68,0,84,82,65,73,76,69,82,0,47,117,115,101,114,95,115,104,97,112,101,95,37,100,32,123,10,0,37,37,66,101,103,105,110,68,111,99,117,109,101,110,116,58,10,0,37,37,69,110,100,68,111,99,117,109,101,110,116,10,0,125,32,98,105,110,100,32,100,101,102,10,0,85,84,70,45,56,32,105,110,112,117,116,32,117,115,101,115,32,110,111,110,45,76,97,116,105,110,49,32,99,104,97,114,97,99,116,101,114,115,32,119,104,105,99,104,32,99,97,110,110,111,116,32,98,101,32,104,97,110,100,108,101,100,32,98,121,32,116,104,105,115,32,80,111,115,116,83,99,114,105,112,116,32,100,114,105,118,101,114,10,0,99,97,110,110,111,116,32,114,101,45,97,108,108,111,99,97,116,101,32,112,115,10,0,114,111,117,116,101,115,112,108,105,110,101,115,105,110,105,116,58,32,99,97,110,110,111,116,32,97,108,108,111,99,97,116,101,32,112,115,10,0,114,111,117,116,101,115,112,108,105,110,101,115,58,32,37,100,32,101,100,103,101,115,44,32,37,100,32,98,111,120,101,115,32,37,46,50,102,32,115,101,99,10,0,105,110,32,114,111,117,116,101,115,112,108,105,110,101,115,44,32,99,97,110,110,111,116,32,102,105,110,100,32,78,79,82,77,65,76,32,101,100,103,101,10,0,105,110,32,114,111,117,116,101,115,112,108,105,110,101,115,44,32,105,108,108,101,103,97,108,32,118,97,108,117,101,115,32,111,102,32,112,114,101,118,32,37,100,32,97,110,100,32,110,101,120,116,32,37,100,44,32,108,105,110,101,32,37,100,10,0,105,110,32,114,111,117,116,101,115,112,108,105,110,101,115,44,32,101,100,103,101,32,105,115,32,97,32,108,111,111,112,32,97,116,32,37,115,10,0,105,110,32,114,111,117,116,101,115,112,108,105,110,101,115,44,32,80,115,104,111,114,116,101,115,116,112,97,116,104,32,102,97,105,108,101,100,10,0,105,110,32,114,111,117,116,101,115,112,108,105,110,101,115,44,32,80,114,111,117,116,101,115,112,108,105,110,101,32,102,97,105,108,101,100,10,0,85,110,97,98,108,101,32,116,111,32,114,101,99,108,97,105,109,32,98,111,120,32,115,112,97,99,101,32,105,110,32,115,112,108,105,110,101,32,114,111,117,116,105,110,103,32,102,111,114,32,101,100,103,101,32,34,37,115,34,32,45,62,32,34,37,115,34,46,32,83,111,109,101,116,104,105,110,103,32,105,115,32,112,114,111,98,97,98,108,121,32,115,101,114,105,111,117,115,108,121,32,119,114,111,110,103,46,10,0,105,110,32,99,104,101,99,107,112,97,116,104,44,32,98,111,120,32,48,32,104,97,115,32,76,76,32,99,111,111,114,100,32,62,32,85,82,32,99,111,111,114,100,10,0,105,110,32,99,104,101,99,107,112,97,116,104,44,32,98,111,120,32,37,100,32,104,97,115,32,76,76,32,99,111,111,114,100,32,62,32,85,82,32,99,111,111,114,100,10,0,105,110,32,99,104,101,99,107,112,97,116,104,44,32,98,111,120,101,115,32,37,100,32,97,110,100,32,37,100,32,100,111,110,39,116,32,116,111,117,99,104,10,0,105,110,32,99,104,101,99,107,112,97,116,104,44,32,115,116,97,114,116,32,112,111,114,116,32,110,111,116,32,105,110,32,102,105,114,115,116,32,98,111,120,10,0,105,110,32,99,104,101,99,107,112,97,116,104,44,32,101,110,100,32,112,111,114,116,32,110,111,116,32,105,110,32,108,97,115,116,32,98,111,120,10,0,37,100,32,98,111,120,101,115,58,10,0,37,100,32,40,37,46,53,103,44,32,37,46,53,103,41,44,32,40,37,46,53,103,44,32,37,46,53,103,41,10,0,99,111,110,115,116,114,97,105,110,101,100,0,110,111,116,32,99,111,110,115,116,114,97,105,110,101,100,0,115,116,97,114,116,32,112,111,114,116,58,32,40,37,46,53,103,44,32,37,46,53,103,41,44,32,116,97,110,103,101,110,116,32,97,110,103,108,101,58,32,37,46,53,103,44,32,37,115,10,0,101,110,100,32,112,111,114,116,58,32,40,37,46,53,103,44,32,37,46,53,103,41,44,32,116,97,110,103,101,110,116,32,97,110,103,108,101,58,32,37,46,53,103,44,32,37,115,10,0,115,105,100,101,115,32,61,61,32,52,0,115,104,97,112,101,115,46,99,0,114,111,117,110,100,95,99,111,114,110,101,114,115,0,98,97,100,32,108,97,98,101,108,32,102,111,114,109,97,116,32,37,115,10,0,92,78,0,109,97,114,103,105,110,0,37,108,102,44,37,108,102,0,114,101,103,117,108,97,114,0,99,117,115,116,111,109,0,115,104,97,112,101,102,105,108,101,0,60,110,105,108,62,0,78,111,32,111,114,32,105,109,112,114,111,112,101,114,32,115,104,97,112,101,102,105,108,101,61,34,37,115,34,32,102,111,114,32,110,111,100,101,32,34,37,115,34,10,0,78,111,32,111,114,32,105,109,112,114,111,112,101,114,32,105,109,97,103,101,61,34,37,115,34,32,102,111,114,32,110,111,100,101,32,34,37,115,34,10,0,108,97,98,101,108,108,111,99,0,110,111,100,101,32,39,37,115,39,44,32,103,114,97,112,104,32,39,37,115,39,32,115,105,122,101,32,116,111,111,32,115,109,97,108,108,32,102,111,114,32,108,97,98,101,108,10,0,101,112,115,102,0,117,115,105,110,103,32,37,115,32,102,111,114,32,117,110,107,110,111,119,110,32,115,104,97,112,101,32,37,115,10,0,112,111,108,121,103,111,110,0,111,118,97,108,0,99,105,114,99,108,101,0,112,111,105,110,116,0,101,103,103,0,116,114,105,97,110,103,108,101,0,112,108,97,105,110,116,101,120,116,0,112,108,97,105,110,0,100,105,97,109,111,110,100,0,116,114,97,112,101,122,105,117,109,0,112,97,114,97,108,108,101,108,111,103,114,97,109,0,104,111,117,115,101,0,112,101,110,116,97,103,111,110,0,104,101,120,97,103,111,110,0,115,101,112,116,97,103,111,110,0,111,99,116,97,103,111,110,0,110,111,116,101,0,116,97,98,0,102,111,108,100,101,114,0,98,111,120,51,100,0,99,111,109,112,111,110,101,110,116,0,99,121,108,105,110,100,101,114,0,114,101,99,116,0,114,101,99,116,97,110,103,108,101,0,115,113,117,97,114,101,0,100,111,117,98,108,101,99,105,114,99,108,101,0,100,111,117,98,108,101,111,99,116,97,103,111,110,0,116,114,105,112,108,101,111,99,116,97,103,111,110,0,105,110,118,116,114,105,97,110,103,108,101,0,105,110,118,116,114,97,112,101,122,105,117,109,0,105,110,118,104,111,117,115,101,0,117,110,100,101,114,108,105,110,101,0,77,100,105,97,109,111,110,100,0,77,115,113,117,97,114,101,0,77,99,105,114,99,108,101,0,112,114,111,109,111,116,101,114,0,99,100,115,0,116,101,114,109,105,110,97,116,111,114,0,117,116,114,0,105,110,115,117,108,97,116,111,114,0,114,105,98,111,115,105,116,101,0,114,110,97,115,116,97,98,0,112,114,111,116,101,97,115,101,115,105,116,101,0,112,114,111,116,101,105,110,115,116,97,98,0,112,114,105,109,101,114,115,105,116,101,0,114,101,115,116,114,105,99,116,105,111,110,115,105,116,101,0,102,105,118,101,112,111,118,101,114,104,97,110,103,0,116,104,114,101,101,112,111,118,101,114,104,97,110,103,0,110,111,118,101,114,104,97,110,103,0,97,115,115,101,109,98,108,121,0,115,105,103,110,97,116,117,114,101,0,114,112,114,111,109,111,116,101,114,0,108,97,114,114,111,119,0,114,97,114,114,111,119,0,108,112,114,111,109,111,116,101,114,0,114,101,99,111,114,100,0,77,114,101,99,111,114,100,0,115,116,97,114,0,35,56,48,56,48,56,48,0,35,102,99,102,99,102,99,0,35,51,48,51,48,51,48,0,35,101,56,101,56,101,56,0,35,101,48,101,48,101,48,0,35,102,48,102,48,102,48,0,35,49,48,49,48,49,48,0,35,102,56,102,56,102,56,0,105,110,32,110,111,100,101,32,37,115,10,0,114,111,117,110,100,101,100,0,100,105,97,103,111,110,97,108,115,0,114,97,100,105,97,108,0,115,116,114,105,112,101,100,0,119,101,100,103,101,100,0,95,0,110,111,100,101,32,37,115,44,32,112,111,114,116,32,37,115,44,32,117,110,114,101,99,111,103,110,105,122,101,100,32,99,111,109,112,97,115,115,32,112,111,105,110,116,32,39,37,115,39,32,45,32,105,103,110,111,114,101,100,10,0,110,111,100,101,32,37,115,44,32,112,111,114,116,32,37,115,32,117,110,114,101,99,111,103,110,105,122,101,100,10,0,37,46,53,103,32,37,46,53,103,32,116,114,97,110,115,108,97,116,101,32,110,101,119,112,97,116,104,32,117,115,101,114,95,115,104,97,112,101,95,37,100,10,0,105,110,118,105,115,0,0,102,105,108,108,101,100,0,0,115,0,101,0,119,0,115,112,108,105,110,101,115,46,99,0,98,101,103,105,110,112,97,116,104,0,80,45,62,101,110,100,46,116,104,101,116,97,32,60,32,50,32,42,32,77,95,80,73,0,101,110,100,112,97,116,104,0,109,97,107,101,83,101,108,102,69,100,103,101,0,103,101,116,115,112,108,105,110,101,112,111,105,110,116,115,58,32,110,111,32,115,112,108,105,110,101,32,112,111,105,110,116,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,101,100,103,101,32,40,37,115,44,37,115,41,10,0,112,111,108,121,108,105,110,101,77,105,100,112,111,105,110,116,0,115,112,97,110,45,62,102,111,110,116,0,116,101,120,116,115,112,97,110,46,99,0,116,101,120,116,115,112,97,110,95,115,105,122,101,0,102,111,110,116,45,62,110,97,109,101,0,102,111,110,116,110,97,109,101,58,32,34,37,115,34,32,114,101,115,111,108,118,101,100,32,116,111,58,32,37,115,10,0,102,111,110,116,110,97,109,101,58,32,117,110,97,98,108,101,32,116,111,32,114,101,115,111,108,118,101,32,34,37,115,34,10,0,99,111,117,114,0,97,114,105,97,108,0,104,101,108,118,101,116,105,99,97,0,91,105,110,116,101,114,110,97,108,32,116,105,109,101,115,93,0,91,105,110,116,101,114,110,97,108,32,99,111,117,114,105,101,114,93,0,91,105,110,116,101,114,110,97,108,32,97,114,105,97,108,93,0,65,118,97,110,116,71,97,114,100,101,45,66,111,111,107,0,85,82,87,32,71,111,116,104,105,99,32,76,0,98,111,111,107,0,115,97,110,115,45,83,101,114,105,102,0,65,118,97,110,116,71,97,114,100,101,45,66,111,111,107,79,98,108,105,113,117,101,0,111,98,108,105,113,117,101,0,105,116,97,108,105,99,0,65,118,97,110,116,71,97,114,100,101,45,68,101,109,105,0,100,101,109,105,0,65,118,97,110,116,71,97,114,100,101,45,68,101,109,105,79,98,108,105,113,117,101,0,66,111,111,107,109,97,110,45,68,101,109,105,0,85,82,87,32,66,111,111,107,109,97,110,32,76,0,115,101,114,105,102,0,66,111,111,107,109,97,110,45,68,101,109,105,73,116,97,108,105,99,0,66,111,111,107,109,97,110,45,76,105,103,104,116,0,108,105,103,104,116,0,66,111,111,107,109,97,110,45,76,105,103,104,116,73,116,97,108,105,99,0,67,111,117,114,105,101,114,0,109,111,110,111,115,112,97,99,101,0,67,111,117,114,105,101,114,45,66,111,108,100,0,67,111,117,114,105,101,114,45,66,111,108,100,79,98,108,105,113,117,101,0,67,111,117,114,105,101,114,45,79,98,108,105,113,117,101,0,72,101,108,118,101,116,105,99,97,0,72,101,108,118,101,116,105,99,97,45,66,111,108,100,0,72,101,108,118,101,116,105,99,97,45,66,111,108,100,79,98,108,105,113,117,101,0,72,101,108,118,101,116,105,99,97,45,78,97,114,114,111,119,0,99,111,110,100,101,110,115,101,100,0,72,101,108,118,101,116,105,99,97,45,78,97,114,114,111,119,45,66,111,108,100,0,72,101,108,118,101,116,105,99,97,45,78,97,114,114,111,119,45,66,111,108,100,79,98,108,105,113,117,101,0,72,101,108,118,101,116,105,99,97,45,78,97,114,114,111,119,45,79,98,108,105,113,117,101,0,72,101,108,118,101,116,105,99,97,45,79,98,108,105,113,117,101,0,78,101,119,67,101,110,116,117,114,121,83,99,104,108,98,107,45,66,111,108,100,0,67,101,110,116,117,114,121,32,83,99,104,111,111,108,98,111,111,107,32,76,0,78,101,119,67,101,110,116,117,114,121,83,99,104,108,98,107,45,66,111,108,100,73,116,97,108,105,99,0,78,101,119,67,101,110,116,117,114,121,83,99,104,108,98,107,45,73,116,97,108,105,99,0,78,101,119,67,101,110,116,117,114,121,83,99,104,108,98,107,45,82,111,109,97,110,0,114,111,109,97,110,0,80,97,108,97,116,105,110,111,45,66,111,108,100,0,80,97,108,97,116,105,110,111,32,76,105,110,111,116,121,112,101,0,80,97,108,97,116,105,110,111,45,66,111,108,100,73,116,97,108,105,99,0,80,97,108,97,116,105,110,111,45,73,116,97,108,105,99,0,80,97,108,97,116,105,110,111,45,82,111,109,97,110,0,83,121,109,98,111,108,0,102,97,110,116,97,115,121,0,84,105,109,101,115,45,66,111,108,100,0,84,105,109,101,115,0,84,105,109,101,115,45,66,111,108,100,73,116,97,108,105,99,0,84,105,109,101,115,45,73,116,97,108,105,99,0,90,97,112,102,67,104,97,110,99,101,114,121,45,77,101,100,105,117,109,73,116,97,108,105,99,0,85,82,87,32,67,104,97,110,99,101,114,121,32,76,0,109,101,100,105,117,109,0,90,97,112,102,68,105,110,103,98,97,116,115,0,68,105,110,103,98,97,116,115,0,105,110,112,117,116,115,99,97,108,101,0,110,111,0,116,114,117,101,0,121,101,115,0,117,116,105,108,115,46,99,0,117,32,61,61,32,85,70,95,102,105,110,100,40,117,41,0,85,70,95,115,101,116,110,97,109,101,0,1,102,105,108,101,32,108,111,97,100,105,110,103,32,105,115,32,100,105,115,97,98,108,101,100,32,98,101,99,97,117,115,101,32,116,104,101,32,101,110,118,105,114,111,110,109,101,110,116,32,99,111,110,116,97,105,110,115,32,83,69,82,86,69,82,95,78,65,77,69,61,34,37,115,34,10,97,110,100,32,116,104,101,32,71,86,95,70,73,76,69,95,80,65,84,72,32,118,97,114,105,97,98,108,101,32,105,115,32,117,110,115,101,116,32,111,114,32,101,109,112,116,121,46,10,0,80,97,116,104,32,112,114,111,118,105,100,101,100,32,116,111,32,102,105,108,101,58,32,34,37,115,34,32,104,97,115,32,98,101,101,110,32,105,103,110,111,114,101,100,32,98,101,99,97,117,115,101,32,102,105,108,101,115,32,97,114,101,32,111,110,108,121,32,112,101,114,109,105,116,116,101,100,32,116,111,32,98,101,32,108,111,97,100,101,100,32,102,114,111,109,32,116,104,101,32,100,105,114,101,99,116,111,114,105,101,115,32,105,110,32,34,37,115,34,32,119,104,101,110,32,114,117,110,110,105,110,103,32,105,110,32,97,110,32,104,116,116,112,32,115,101,114,118,101,114,46,10,0,37,115,37,115,37,115,0,47,0,58,0,101,108,108,105,112,115,101,0,84,105,109,101,115,45,82,111,109,97,110,0,99,108,117,115,116,101,114,0,95,95,99,108,117,115,116,101,114,110,111,100,101,115,0,99,108,117,115,116,101,114,32,99,121,99,108,101,32,37,115,32,45,45,32,37,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,10,0,116,97,105,108,32,99,108,117,115,116,101,114,32,37,115,32,105,110,115,105,100,101,32,104,101,97,100,32,99,108,117,115,116,101,114,32,37,115,10,0,104,101,97,100,32,99,108,117,115,116,101,114,32,37,115,32,105,110,115,105,100,101,32,116,97,105,108,32,99,108,117,115,116,101,114,32,37,115,10,0,116,97,105,108,32,110,111,100,101,32,37,115,32,105,110,115,105,100,101,32,104,101,97,100,32,99,108,117,115,116,101,114,32,37,115,10,0,104,101,97,100,32,110,111,100,101,32,37,115,32,105,110,115,105,100,101,32,116,97,105,108,32,99,108,117,115,116,101,114,32,37,115,10,0,95,95,0,108,97,98,101,108,0,115,104,97,112,101,0,98,111,120,0,84,119,111,32,99,108,117,115,116,101,114,115,32,110,97,109,101,100,32,37,115,32,45,32,116,104,101,32,115,101,99,111,110,100,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,10,0,109,97,112,78,0,65,69,108,105,103,0,65,97,99,117,116,101,0,65,99,105,114,99,0,65,103,114,97,118,101,0,65,108,112,104,97,0,65,114,105,110,103,0,65,116,105,108,100,101,0,65,117,109,108,0,66,101,116,97,0,67,99,101,100,105,108,0,67,104,105,0,68,97,103,103,101,114,0,68,101,108,116,97,0,69,84,72,0,69,97,99,117,116,101,0,69,99,105,114,99,0,69,103,114,97,118,101,0,69,112,115,105,108,111,110,0,69,116,97,0,69,117,109,108,0,71,97,109,109,97,0,73,97,99,117,116,101,0,73,99,105,114,99,0,73,103,114,97,118,101,0,73,111,116,97,0,73,117,109,108,0,75,97,112,112,97,0,76,97,109,98,100,97,0,77,117,0,78,116,105,108,100,101,0,78,117,0,79,69,108,105,103,0,79,97,99,117,116,101,0,79,99,105,114,99,0,79,103,114,97,118,101,0,79,109,101,103,97,0,79,109,105,99,114,111,110,0,79,115,108,97,115,104,0,79,116,105,108,100,101,0,79,117,109,108,0,80,104,105,0,80,105,0,80,114,105,109,101,0,80,115,105,0,82,104,111,0,83,99,97,114,111,110,0,83,105,103,109,97,0,84,72,79,82,78,0,84,97,117,0,84,104,101,116,97,0,85,97,99,117,116,101,0,85,99,105,114,99,0,85,103,114,97,118,101,0,85,112,115,105,108,111,110,0,85,117,109,108,0,88,105,0,89,97,99,117,116,101,0,89,117,109,108,0,90,101,116,97,0,97,97,99,117,116,101,0,97,99,105,114,99,0,97,99,117,116,101,0,97,101,108,105,103,0,97,103,114,97,118,101,0,97,108,101,102,115,121,109,0,97,108,112,104,97,0,97,109,112,0,97,110,100,0,97,110,103,0,97,114,105,110,103,0,97,115,121,109,112,0,97,116,105,108,100,101,0,97,117,109,108,0,98,100,113,117,111,0,98,101,116,97,0,98,114,118,98,97,114,0,98,117,108,108,0,99,97,112,0,99,99,101,100,105,108,0,99,101,100,105,108,0,99,101,110,116,0,99,104,105,0,99,105,114,99,0,99,108,117,98,115,0,99,111,110,103,0,99,111,112,121,0,99,114,97,114,114,0,99,117,112,0,99,117,114,114,101,110,0,100,65,114,114,0,100,97,103,103,101,114,0,100,97,114,114,0,100,101,103,0,100,101,108,116,97,0,100,105,97,109,115,0,100,105,118,105,100,101,0,101,97,99,117,116,101,0,101,99,105,114,99,0,101,103,114,97,118,101,0,101,109,112,116,121,0,101,109,115,112,0,101,110,115,112,0,101,112,115,105,108,111,110,0,101,113,117,105,118,0,101,116,97,0,101,116,104,0,101,117,109,108,0,101,117,114,111,0,101,120,105,115,116,0,102,110,111,102,0,102,111,114,97,108,108,0,102,114,97,99,49,50,0,102,114,97,99,49,52,0,102,114,97,99,51,52,0,102,114,97,115,108,0,103,97,109,109,97,0,103,101,0,103,116,0,104,65,114,114,0,104,97,114,114,0,104,101,97,114,116,115,0,104,101,108,108,105,112,0,105,97,99,117,116,101,0,105,99,105,114,99,0,105,101,120,99,108,0,105,103,114,97,118,101,0,105,109,97,103,101,0,105,110,102,105,110,0,105,110,116,0,105,111,116,97,0,105,113,117,101,115,116,0,105,115,105,110,0,105,117,109,108,0,107,97,112,112,97,0,108,65,114,114,0,108,97,109,98,100,97,0,108,97,110,103,0,108,97,113,117,111,0,108,97,114,114,0,108,99,101,105,108,0,108,100,113,117,111,0,108,101,0,108,102,108,111,111,114,0,108,111,119,97,115,116,0,108,111,122,0,108,114,109,0,108,115,97,113,117,111,0,108,115,113,117,111,0,108,116,0,109,97,99,114,0,109,100,97,115,104,0,109,105,99,114,111,0,109,105,100,100,111,116,0,109,117,0,110,97,98,108,97,0,110,98,115,112,0,110,100,97,115,104,0,110,101,0,110,105,0,110,111,116,0,110,111,116,105,110,0,110,115,117,98,0,110,116,105,108,100,101,0,110,117,0,111,97,99,117,116,101,0,111,99,105,114,99,0,111,101,108,105,103,0,111,103,114,97,118,101,0,111,108,105,110,101,0,111,109,101,103,97,0,111,109,105,99,114,111,110,0,111,112,108,117,115,0,111,114,0,111,114,100,102,0,111,114,100,109,0,111,115,108,97,115,104,0,111,116,105,108,100,101,0,111,116,105,109,101,115,0,111,117,109,108,0,112,97,114,97,0,112,97,114,116,0,112,101,114,109,105,108,0,112,101,114,112,0,112,104,105,0,112,105,0,112,105,118,0,112,108,117,115,109,110,0,112,111,117,110,100,0,112,114,105,109,101,0,112,114,111,100,0,112,114,111,112,0,112,115,105,0,113,117,111,116,0,114,65,114,114,0,114,97,100,105,99,0,114,97,110,103,0,114,97,113,117,111,0,114,97,114,114,0,114,99,101,105,108,0,114,100,113,117,111,0,114,101,97,108,0,114,101,103,0,114,102,108,111,111,114,0,114,104,111,0,114,108,109,0,114,115,97,113,117,111,0,114,115,113,117,111,0,115,98,113,117,111,0,115,99,97,114,111,110,0,115,100,111,116,0,115,101,99,116,0,115,104,121,0,115,105,103,109,97,0,115,105,103,109,97,102,0,115,105,109,0,115,112,97,100,101,115,0,115,117,98,0,115,117,98,101,0,115,117,109,0,115,117,112,0,115,117,112,49,0,115,117,112,50,0,115,117,112,51,0,115,117,112,101,0,115,122,108,105,103,0,116,97,117,0,116,104,101,114,101,52,0,116,104,101,116,97,0,116,104,101,116,97,115,121,109,0,116,104,105,110,115,112,0,116,104,111,114,110,0,116,105,108,100,101,0,116,105,109,101,115,0,116,114,97,100,101,0,117,65,114,114,0,117,97,99,117,116,101,0,117,97,114,114,0,117,99,105,114,99,0,117,103,114,97,118,101,0,117,109,108,0,117,112,115,105,104,0,117,112,115,105,108,111,110,0,117,117,109,108,0,119,101,105,101,114,112,0,120,105,0,121,97,99,117,116,101,0,121,101,110,0,121,117,109,108,0,122,101,116,97,0,122,119,106,0,122,119,110,106,0,85,84,70,56,32,99,111,100,101,115,32,62,32,52,32,98,121,116,101,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,32,40,103,114,97,112,104,32,37,115,41,32,45,32,116,114,101,97,116,101,100,32,97,115,32,76,97,116,105,110,45,49,46,32,80,101,114,104,97,112,115,32,34,45,71,99,104,97,114,115,101,116,61,108,97,116,105,110,49,34,32,105,115,32,110,101,101,100,101,100,63,10,0,73,110,118,97,108,105,100,32,37,100,45,98,121,116,101,32,85,84,70,56,32,102,111,117,110,100,32,105,110,32,105,110,112,117,116,32,111,102,32,103,114,97,112,104,32,37,115,32,45,32,116,114,101,97,116,101,100,32,97,115,32,76,97,116,105,110,45,49,46,32,80,101,114,104,97,112,115,32,34,45,71,99,104,97,114,115,101,116,61,108,97,116,105,110,49,34,32,105,115,32,110,101,101,100,101,100,63,10,0,98,122,46,115,105,122,101,0,111,118,101,114,108,97,112,95,98,101,122,105,101,114,0,117,114,118,101,100,0,111,109,112,111,117,110,100,0,97,108,115,101,0,105,110,101,0,111,110,101,0,111,0,114,116,104,111,0,111,108,121,108,105,110,101,0,112,108,105,110,101,0,114,117,101,0,101,115,0,85,110,107,110,111,119,110,32,34,115,112,108,105,110,101,115,34,32,118,97,108,117,101,58,32,34,37,115,34,32,45,32,105,103,110,111,114,101,100,10,0,115,112,108,105,110,101,115,0,111,100,98,0,79,114,116,104,111,103,111,110,97,108,32,101,100,103,101,115,32,100,111,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,104,97,110,100,108,101,32,101,100,103,101,32,108,97,98,101,108,115,46,32,84,114,121,32,117,115,105,110,103,32,120,108,97,98,101,108,115,46,10,0,111,114,116,104,111,32,37,115,32,37,115,10,0,99,104,97,110,105,0,111,114,116,104,111,46,99,0,99,104,97,110,83,101,97,114,99,104,0,99,112,0,37,37,33,80,83,45,65,100,111,98,101,45,50,46,48,10,37,37,37,37,66,111,117,110,100,105,110,103,66,111,120,58,32,40,97,116,101,110,100,41,10,47,112,111,105,110,116,32,123,10,32,32,47,89,32,101,120,99,104,32,100,101,102,10,32,32,47,88,32,101,120,99,104,32,100,101,102,10,32,32,110,101,119,112,97,116,104,10,32,32,88,32,89,32,51,32,48,32,51,54,48,32,97,114,99,32,102,105,108,108,10,125,32,100,101,102,10,47,99,101,108,108,32,123,10,32,32,47,89,32,101,120,99,104,32,100,101,102,10,32,32,47,88,32,101,120,99,104,32,100,101,102,10,32,32,47,121,32,101,120,99,104,32,100,101,102,10,32,32,47,120,32,101,120,99,104,32,100,101,102,10,32,32,110,101,119,112,97,116,104,10,32,32,120,32,121,32,109,111,118,101,116,111,10,32,32,120,32,89,32,108,105,110,101,116,111,10,32,32,88,32,89,32,108,105,110,101,116,111,10,32,32,88,32,121,32,108,105,110,101,116,111,10,32,32,99,108,111,115,101,112,97,116,104,32,115,116,114,111,107,101,10,125,32,100,101,102,10,47,110,111,100,101,32,123,10,32,47,117,32,101,120,99,104,32,100,101,102,10,32,47,114,32,101,120,99,104,32,100,101,102,10,32,47,100,32,101,120,99,104,32,100,101,102,10,32,47,108,32,101,120,99,104,32,100,101,102,10,32,110,101,119,112,97,116,104,32,108,32,100,32,109,111,118,101,116,111,10,32,114,32,100,32,108,105,110,101,116,111,32,114,32,117,32,108,105,110,101,116,111,32,108,32,117,32,108,105,110,101,116,111,10,32,99,108,111,115,101,112,97,116,104,32,102,105,108,108,10,125,32,100,101,102,10,10,0,37,100,32,37,100,32,116,114,97,110,115,108,97,116,101,10,0,48,46,56,32,48,46,56,32,48,46,56,32,115,101,116,114,103,98,99,111,108,111,114,10,0,115,104,111,119,112,97,103,101,10,37,37,37,37,84,114,97,105,108,101,114,10,37,37,37,37,66,111,117,110,100,105,110,103,66,111,120,58,32,37,100,32,37,100,32,37,100,32,37,100,10,0,110,101,119,112,97,116,104,32,37,100,32,37,100,32,109,111,118,101,116,111,10,0,37,100,32,37,100,32,108,105,110,101,116,111,10,0,37,100,32,37,100,32,108,105,110,101,116,111,32,115,116,114,111,107,101,10,0,99,104,97,110,110,101,108,32,37,100,32,40,37,102,44,37,102,41,10,0,32,45,62,10,0,32,32,32,32,32,0,40,40,37,102,44,37,102,41,44,40,37,102,44,37,102,41,41,32,37,115,32,37,115,0,66,95,82,73,71,72,84,0,66,95,68,79,87,78,0,66,95,76,69,70,84,0,66,95,85,80,0,66,95,78,79,68,69,0,115,101,103,0,110,101,120,116,95,115,101,103,0,100,101,99,105,100,101,95,112,111,105,110,116,0,105,110,99,111,109,112,97,114,97,98,108,101,32,115,101,103,109,101,110,116,115,32,33,33,32,45,45,32,65,98,111,114,116,105,110,103,10,0,115,49,45,62,99,111,109,109,95,99,111,111,114,100,61,61,115,50,45,62,99,111,109,109,95,99,111,111,114,100,0,105,115,95,112,97,114,97,108,108,101,108,0,103,114,97,112,104,32,71,32,123,10,0,32,110,111,100,101,91,115,104,97,112,101,61,112,111,105,110,116,93,10,0,32,32,37,100,32,91,112,111,115,61,34,37,100,44,37,100,34,93,10,0,32,32,37,100,32,45,45,32,37,100,91,108,101,110,61,34,37,102,34,93,10,0,125,10,0,99,111,108,111,114,32,37,115,0,37,115,32,105,115,32,110,111,116,32,97,32,107,110,111,119,110,32,99,111,108,111,114,46,10,0,101,114,114,111,114,32,105,110,32,99,111,108,120,108,97,116,101,40,41,10,0,115,111,108,105,100,0,105,110,118,105,115,105,98,108,101,0,98,111,108,100,0,115,101,116,108,105,110,101,119,105,100,116,104,0,102,105,108,108,101,100,0,117,110,102,105,108,108,101,100,0,116,97,112,101,114,101,100,0,103,118,114,101,110,100,101,114,95,115,101,116,95,115,116,121,108,101,58,32,117,110,115,117,112,112,111,114,116,101,100,32,115,116,121,108,101,32,37,115,32,45,32,105,103,110,111,114,105,110,103,10,0,103,118,114,101,110,100,101,114,46,99,0,103,118,114,101,110,100,101,114,95,117,115,101,114,115,104,97,112,101,0,110,97,109,101,0,110,97,109,101,91,48,93,0,98,111,116,104,0,108,97,121,111,117,116,0,76,97,121,111,117,116,32,116,121,112,101,58,32,34,37,115,34,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,46,32,85,115,101,32,111,110,101,32,111,102,58,37,115,10,0,106,111,98,0,103,118,108,111,97,100,105,109,97,103,101,46,99,0,103,118,108,111,97,100,105,109,97,103,101,0,117,115,0,117,115,45,62,110,97,109,101,0,117,115,45,62,110,97,109,101,91,48,93,0,78,111,32,108,111,97,100,105,109,97,103,101,32,112,108,117,103,105,110,32,102,111,114,32,34,37,115,34,10,0,81,0,76,101,102,116,0,75,80,95,76,101,102,116,0,82,105,103,104,116,0,75,80,95,82,105,103,104,116,0,85,112,0,75,80,95,85,112,0,68,111,119,110,0,75,80,95,68,111,119,110,0,112,108,117,115,0,75,80,95,65,100,100,0,109,105,110,117,115,0,75,80,95,83,117,98,116,114,97,99,116,0,70,0,101,100,103,101,0,116,97,105,108,112,111,114,116,0,104,101,97,100,112,111,114,116,0,107,101,121,0,85,82,76,0,110,111,100,101,0,100,105,103,114,97,112,104,0,103,114,97,112,104,0,115,117,98,103,114,97,112,104,0,95,76,84,88,95,108,105,98,114,97,114,121,0,116,101,120,116,108,97,121,111,117,116,0,111,98,106,112,45,62,108,98,108,0,120,108,97,98,101,108,115,46,99,0,120,108,97,100,106,117,115,116,0,120,108,105,110,116,101,114,115,101,99,116,105,111,110,115,0,108,112,32,33,61,32,99,108,112,0,103,101,116,105,110,116,114,115,120,105,0,111,98,106,112,49,45,62,115,122,46,120,32,61,61,32,48,32,38,38,32,111,98,106,112,49,45,62,115,122,46,121,32,61,61,32,48,0,108,98,108,101,110,99,108,111,115,105,110,103,0,118,112,0,120,108,104,100,120,117,110,108,111,97,100,0,115,105,122,101,61,61,102,114,101,101,100,0,114,101,99,116,46,98,111,117,110,100,97,114,121,91,50,93,32,60,32,73,78,84,95,77,65,88,0,111,98,106,112,108,112,109,107,115,0,114,101,99,116,46,98,111,117,110,100,97,114,121,91,51,93,32,60,32,73,78,84,95,77,65,88,0,111,117,116,32,111,102,32,109,101,109,111,114,121,10,0,35,37,50,120,37,50,120,37,50,120,37,50,120,0,37,108,102,37,108,102,37,108,102,0,47,97,99,99,101,110,116,51,47,49,0,47,97,99,99,101,110,116,51,47,50,0,47,97,99,99,101,110,116,51,47,51,0,47,97,99,99,101,110,116,52,47,49,0,47,97,99,99,101,110,116,52,47,50,0,47,97,99,99,101,110,116,52,47,51,0,47,97,99,99,101,110,116,52,47,52,0,47,97,99,99,101,110,116,53,47,49,0,47,97,99,99,101,110,116,53,47,50,0,47,97,99,99,101,110,116,53,47,51,0,47,97,99,99,101,110,116,53,47,52,0,47,97,99,99,101,110,116,53,47,53,0,47,97,99,99,101,110,116,54,47,49,0,47,97,99,99,101,110,116,54,47,50,0,47,97,99,99,101,110,116,54,47,51,0,47,97,99,99,101,110,116,54,47,52,0,47,97,99,99,101,110,116,54,47,53,0,47,97,99,99,101,110,116,54,47,54,0,47,97,99,99,101,110,116,55,47,49,0,47,97,99,99,101,110,116,55,47,50,0,47,97,99,99,101,110,116,55,47,51,0,47,97,99,99,101,110,116,55,47,52,0,47,97,99,99,101,110,116,55,47,53,0,47,97,99,99,101,110,116,55,47,54,0,47,97,99,99,101,110,116,55,47,55,0,47,97,99,99,101,110,116,56,47,49,0,47,97,99,99,101,110,116,56,47,50,0,47,97,99,99,101,110,116,56,47,51,0,47,97,99,99,101,110,116,56,47,52,0,47,97,99,99,101,110,116,56,47,53,0,47,97,99,99,101,110,116,56,47,54,0,47,97,99,99,101,110,116,56,47,55,0,47,97,99,99,101,110,116,56,47,56,0,47,98,108,117,101,115,51,47,49,0,47,98,108,117,101,115,51,47,50,0,47,98,108,117,101,115,51,47,51,0,47,98,108,117,101,115,52,47,49,0,47,98,108,117,101,115,52,47,50,0,47,98,108,117,101,115,52,47,51,0,47,98,108,117,101,115,52,47,52,0,47,98,108,117,101,115,53,47,49,0,47,98,108,117,101,115,53,47,50,0,47,98,108,117,101,115,53,47,51,0,47,98,108,117,101,115,53,47,52,0,47,98,108,117,101,115,53,47,53,0,47,98,108,117,101,115,54,47,49,0,47,98,108,117,101,115,54,47,50,0,47,98,108,117,101,115,54,47,51,0,47,98,108,117,101,115,54,47,52,0,47,98,108,117,101,115,54,47,53,0,47,98,108,117,101,115,54,47,54,0,47,98,108,117,101,115,55,47,49,0,47,98,108,117,101,115,55,47,50,0,47,98,108,117,101,115,55,47,51,0,47,98,108,117,101,115,55,47,52,0,47,98,108,117,101,115,55,47,53],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+102424);allocate([0,47,98,108,117,101,115,55,47,54,0,47,98,108,117,101,115,55,47,55,0,47,98,108,117,101,115,56,47,49,0,47,98,108,117,101,115,56,47,50,0,47,98,108,117,101,115,56,47,51,0,47,98,108,117,101,115,56,47,52,0,47,98,108,117,101,115,56,47,53,0,47,98,108,117,101,115,56,47,54,0,47,98,108,117,101,115,56,47,55,0,47,98,108,117,101,115,56,47,56,0,47,98,108,117,101,115,57,47,49,0,47,98,108,117,101,115,57,47,50,0,47,98,108,117,101,115,57,47,51,0,47,98,108,117,101,115,57,47,52,0,47,98,108,117,101,115,57,47,53,0,47,98,108,117,101,115,57,47,54,0,47,98,108,117,101,115,57,47,55,0,47,98,108,117,101,115,57,47,56,0,47,98,108,117,101,115,57,47,57,0,47,98,114,98,103,49,48,47,49,0,47,98,114,98,103,49,48,47,49,48,0,47,98,114,98,103,49,48,47,50,0,47,98,114,98,103,49,48,47,51,0,47,98,114,98,103,49,48,47,52,0,47,98,114,98,103,49,48,47,53,0,47,98,114,98,103,49,48,47,54,0,47,98,114,98,103,49,48,47,55,0,47,98,114,98,103,49,48,47,56,0,47,98,114,98,103,49,48,47,57,0,47,98,114,98,103,49,49,47,49,0,47,98,114,98,103,49,49,47,49,48,0,47,98,114,98,103,49,49,47,49,49,0,47,98,114,98,103,49,49,47,50,0,47,98,114,98,103,49,49,47,51,0,47,98,114,98,103,49,49,47,52,0,47,98,114,98,103,49,49,47,53,0,47,98,114,98,103,49,49,47,54,0,47,98,114,98,103,49,49,47,55,0,47,98,114,98,103,49,49,47,56,0,47,98,114,98,103,49,49,47,57,0,47,98,114,98,103,51,47,49,0,47,98,114,98,103,51,47,50,0,47,98,114,98,103,51,47,51,0,47,98,114,98,103,52,47,49,0,47,98,114,98,103,52,47,50,0,47,98,114,98,103,52,47,51,0,47,98,114,98,103,52,47,52,0,47,98,114,98,103,53,47,49,0,47,98,114,98,103,53,47,50,0,47,98,114,98,103,53,47,51,0,47,98,114,98,103,53,47,52,0,47,98,114,98,103,53,47,53,0,47,98,114,98,103,54,47,49,0,47,98,114,98,103,54,47,50,0,47,98,114,98,103,54,47,51,0,47,98,114,98,103,54,47,52,0,47,98,114,98,103,54,47,53,0,47,98,114,98,103,54,47,54,0,47,98,114,98,103,55,47,49,0,47,98,114,98,103,55,47,50,0,47,98,114,98,103,55,47,51,0,47,98,114,98,103,55,47,52,0,47,98,114,98,103,55,47,53,0,47,98,114,98,103,55,47,54,0,47,98,114,98,103,55,47,55,0,47,98,114,98,103,56,47,49,0,47,98,114,98,103,56,47,50,0,47,98,114,98,103,56,47,51,0,47,98,114,98,103,56,47,52,0,47,98,114,98,103,56,47,53,0,47,98,114,98,103,56,47,54,0,47,98,114,98,103,56,47,55,0,47,98,114,98,103,56,47,56,0,47,98,114,98,103,57,47,49,0,47,98,114,98,103,57,47,50,0,47,98,114,98,103,57,47,51,0,47,98,114,98,103,57,47,52,0,47,98,114,98,103,57,47,53,0,47,98,114,98,103,57,47,54,0,47,98,114,98,103,57,47,55,0,47,98,114,98,103,57,47,56,0,47,98,114,98,103,57,47,57,0,47,98,117,103,110,51,47,49,0,47,98,117,103,110,51,47,50,0,47,98,117,103,110,51,47,51,0,47,98,117,103,110,52,47,49,0,47,98,117,103,110,52,47,50,0,47,98,117,103,110,52,47,51,0,47,98,117,103,110,52,47,52,0,47,98,117,103,110,53,47,49,0,47,98,117,103,110,53,47,50,0,47,98,117,103,110,53,47,51,0,47,98,117,103,110,53,47,52,0,47,98,117,103,110,53,47,53,0,47,98,117,103,110,54,47,49,0,47,98,117,103,110,54,47,50,0,47,98,117,103,110,54,47,51,0,47,98,117,103,110,54,47,52,0,47,98,117,103,110,54,47,53,0,47,98,117,103,110,54,47,54,0,47,98,117,103,110,55,47,49,0,47,98,117,103,110,55,47,50,0,47,98,117,103,110,55,47,51,0,47,98,117,103,110,55,47,52,0,47,98,117,103,110,55,47,53,0,47,98,117,103,110,55,47,54,0,47,98,117,103,110,55,47,55,0,47,98,117,103,110,56,47,49,0,47,98,117,103,110,56,47,50,0,47,98,117,103,110,56,47,51,0,47,98,117,103,110,56,47,52,0,47,98,117,103,110,56,47,53,0,47,98,117,103,110,56,47,54,0,47,98,117,103,110,56,47,55,0,47,98,117,103,110,56,47,56,0,47,98,117,103,110,57,47,49,0,47,98,117,103,110,57,47,50,0,47,98,117,103,110,57,47,51,0,47,98,117,103,110,57,47,52,0,47,98,117,103,110,57,47,53,0,47,98,117,103,110,57,47,54,0,47,98,117,103,110,57,47,55,0,47,98,117,103,110,57,47,56,0,47,98,117,103,110,57,47,57,0,47,98,117,112,117,51,47,49,0,47,98,117,112,117,51,47,50,0,47,98,117,112,117,51,47,51,0,47,98,117,112,117,52,47,49,0,47,98,117,112,117,52,47,50,0,47,98,117,112,117,52,47,51,0,47,98,117,112,117,52,47,52,0,47,98,117,112,117,53,47,49,0,47,98,117,112,117,53,47,50,0,47,98,117,112,117,53,47,51,0,47,98,117,112,117,53,47,52,0,47,98,117,112,117,53,47,53,0,47,98,117,112,117,54,47,49,0,47,98,117,112,117,54,47,50,0,47,98,117,112,117,54,47,51,0,47,98,117,112,117,54,47,52,0,47,98,117,112,117,54,47,53,0,47,98,117,112,117,54,47,54,0,47,98,117,112,117,55,47,49,0,47,98,117,112,117,55,47,50,0,47,98,117,112,117,55,47,51,0,47,98,117,112,117,55,47,52,0,47,98,117,112,117,55,47,53,0,47,98,117,112,117,55,47,54,0,47,98,117,112,117,55,47,55,0,47,98,117,112,117,56,47,49,0,47,98,117,112,117,56,47,50,0,47,98,117,112,117,56,47,51,0,47,98,117,112,117,56,47,52,0,47,98,117,112,117,56,47,53,0,47,98,117,112,117,56,47,54,0,47,98,117,112,117,56,47,55,0,47,98,117,112,117,56,47,56,0,47,98,117,112,117,57,47,49,0,47,98,117,112,117,57,47,50,0,47,98,117,112,117,57,47,51,0,47,98,117,112,117,57,47,52,0,47,98,117,112,117,57,47,53,0,47,98,117,112,117,57,47,54,0,47,98,117,112,117,57,47,55,0,47,98,117,112,117,57,47,56,0,47,98,117,112,117,57,47,57,0,47,100,97,114,107,50,51,47,49,0,47,100,97,114,107,50,51,47,50,0,47,100,97,114,107,50,51,47,51,0,47,100,97,114,107,50,52,47,49,0,47,100,97,114,107,50,52,47,50,0,47,100,97,114,107,50,52,47,51,0,47,100,97,114,107,50,52,47,52,0,47,100,97,114,107,50,53,47,49,0,47,100,97,114,107,50,53,47,50,0,47,100,97,114,107,50,53,47,51,0,47,100,97,114,107,50,53,47,52,0,47,100,97,114,107,50,53,47,53,0,47,100,97,114,107,50,54,47,49,0,47,100,97,114,107,50,54,47,50,0,47,100,97,114,107,50,54,47,51,0,47,100,97,114,107,50,54,47,52,0,47,100,97,114,107,50,54,47,53,0,47,100,97,114,107,50,54,47,54,0,47,100,97,114,107,50,55,47,49,0,47,100,97,114,107,50,55,47,50,0,47,100,97,114,107,50,55,47,51,0,47,100,97,114,107,50,55,47,52,0,47,100,97,114,107,50,55,47,53,0,47,100,97,114,107,50,55,47,54,0,47,100,97,114,107,50,55,47,55,0,47,100,97,114,107,50,56,47,49,0,47,100,97,114,107,50,56,47,50,0,47,100,97,114,107,50,56,47,51,0,47,100,97,114,107,50,56,47,52,0,47,100,97,114,107,50,56,47,53,0,47,100,97,114,107,50,56,47,54,0,47,100,97,114,107,50,56,47,55,0,47,100,97,114,107,50,56,47,56,0,47,103,110,98,117,51,47,49,0,47,103,110,98,117,51,47,50,0,47,103,110,98,117,51,47,51,0,47,103,110,98,117,52,47,49,0,47,103,110,98,117,52,47,50,0,47,103,110,98,117,52,47,51,0,47,103,110,98,117,52,47,52,0,47,103,110,98,117,53,47,49,0,47,103,110,98,117,53,47,50,0,47,103,110,98,117,53,47,51,0,47,103,110,98,117,53,47,52,0,47,103,110,98,117,53,47,53,0,47,103,110,98,117,54,47,49,0,47,103,110,98,117,54,47,50,0,47,103,110,98,117,54,47,51,0,47,103,110,98,117,54,47,52,0,47,103,110,98,117,54,47,53,0,47,103,110,98,117,54,47,54,0,47,103,110,98,117,55,47,49,0,47,103,110,98,117,55,47,50,0,47,103,110,98,117,55,47,51,0,47,103,110,98,117,55,47,52,0,47,103,110,98,117,55,47,53,0,47,103,110,98,117,55,47,54,0,47,103,110,98,117,55,47,55,0,47,103,110,98,117,56,47,49,0,47,103,110,98,117,56,47,50,0,47,103,110,98,117,56,47,51,0,47,103,110,98,117,56,47,52,0,47,103,110,98,117,56,47,53,0,47,103,110,98,117,56,47,54,0,47,103,110,98,117,56,47,55,0,47,103,110,98,117,56,47,56,0,47,103,110,98,117,57,47,49,0,47,103,110,98,117,57,47,50,0,47,103,110,98,117,57,47,51,0,47,103,110,98,117,57,47,52,0,47,103,110,98,117,57,47,53,0,47,103,110,98,117,57,47,54,0,47,103,110,98,117,57,47,55,0,47,103,110,98,117,57,47,56,0,47,103,110,98,117,57,47,57,0,47,103,114,101,101,110,115,51,47,49,0,47,103,114,101,101,110,115,51,47,50,0,47,103,114,101,101,110,115,51,47,51,0,47,103,114,101,101,110,115,52,47,49,0,47,103,114,101,101,110,115,52,47,50,0,47,103,114,101,101,110,115,52,47,51,0,47,103,114,101,101,110,115,52,47,52,0,47,103,114,101,101,110,115,53,47,49,0,47,103,114,101,101,110,115,53,47,50,0,47,103,114,101,101,110,115,53,47,51,0,47,103,114,101,101,110,115,53,47,52,0,47,103,114,101,101,110,115,53,47,53,0,47,103,114,101,101,110,115,54,47,49,0,47,103,114,101,101,110,115,54,47,50,0,47,103,114,101,101,110,115,54,47,51,0,47,103,114,101,101,110,115,54,47,52,0,47,103,114,101,101,110,115,54,47,53,0,47,103,114,101,101,110,115,54,47,54,0,47,103,114,101,101,110,115,55,47,49,0,47,103,114,101,101,110,115,55,47,50,0,47,103,114,101,101,110,115,55,47,51,0,47,103,114,101,101,110,115,55,47,52,0,47,103,114,101,101,110,115,55,47,53,0,47,103,114,101,101,110,115,55,47,54,0,47,103,114,101,101,110,115,55,47,55,0,47,103,114,101,101,110,115,56,47,49,0,47,103,114,101,101,110,115,56,47,50,0,47,103,114,101,101,110,115,56,47,51,0,47,103,114,101,101,110,115,56,47,52,0,47,103,114,101,101,110,115,56,47,53,0,47,103,114,101,101,110,115,56,47,54,0,47,103,114,101,101,110,115,56,47,55,0,47,103,114,101,101,110,115,56,47,56,0,47,103,114,101,101,110,115,57,47,49,0,47,103,114,101,101,110,115,57,47,50,0,47,103,114,101,101,110,115,57,47,51,0,47,103,114,101,101,110,115,57,47,52,0,47,103,114,101,101,110,115,57,47,53,0,47,103,114,101,101,110,115,57,47,54,0,47,103,114,101,101,110,115,57,47,55,0,47,103,114,101,101,110,115,57,47,56,0,47,103,114,101,101,110,115,57,47,57,0,47,103,114,101,121,115,51,47,49,0,47,103,114,101,121,115,51,47,50,0,47,103,114,101,121,115,51,47,51,0,47,103,114,101,121,115,52,47,49,0,47,103,114,101,121,115,52,47,50,0,47,103,114,101,121,115,52,47,51,0,47,103,114,101,121,115,52,47,52,0,47,103,114,101,121,115,53,47,49,0,47,103,114,101,121,115,53,47,50,0,47,103,114,101,121,115,53,47,51,0,47,103,114,101,121,115,53,47,52,0,47,103,114,101,121,115,53,47,53,0,47,103,114,101,121,115,54,47,49,0,47,103,114,101,121,115,54,47,50,0,47,103,114,101,121,115,54,47,51,0,47,103,114,101,121,115,54,47,52,0,47,103,114,101,121,115,54,47,53,0,47,103,114,101,121,115,54,47,54,0,47,103,114,101,121,115,55,47,49,0,47,103,114,101,121,115,55,47,50,0,47,103,114,101,121,115,55,47,51,0,47,103,114,101,121,115,55,47,52,0,47,103,114,101,121,115,55,47,53,0,47,103,114,101,121,115,55,47,54,0,47,103,114,101,121,115,55,47,55,0,47,103,114,101,121,115,56,47,49,0,47,103,114,101,121,115,56,47,50,0,47,103,114,101,121,115,56,47,51,0,47,103,114,101,121,115,56,47,52,0,47,103,114,101,121,115,56,47,53,0,47,103,114,101,121,115,56,47,54,0,47,103,114,101,121,115,56,47,55,0,47,103,114,101,121,115,56,47,56,0,47,103,114,101,121,115,57,47,49,0,47,103,114,101,121,115,57,47,50,0,47,103,114,101,121,115,57,47,51,0,47,103,114,101,121,115,57,47,52,0,47,103,114,101,121,115,57,47,53,0,47,103,114,101,121,115,57,47,54,0,47,103,114,101,121,115,57,47,55,0,47,103,114,101,121,115,57,47,56,0,47,103,114,101,121,115,57,47,57,0,47,111,114,97,110,103,101,115,51,47,49,0,47,111,114,97,110,103,101,115,51,47,50,0,47,111,114,97,110,103,101,115,51,47,51,0,47,111,114,97,110,103,101,115,52,47,49,0,47,111,114,97,110,103,101,115,52,47,50,0,47,111,114,97,110,103,101,115,52,47,51,0,47,111,114,97,110,103,101,115,52,47,52,0,47,111,114,97,110,103,101,115,53,47,49,0,47,111,114,97,110,103,101,115,53,47,50,0,47,111,114,97,110,103,101,115,53,47,51,0,47,111,114,97,110,103,101,115,53,47,52,0,47,111,114,97,110,103,101,115,53,47,53,0,47,111,114,97,110,103,101,115,54,47,49,0,47,111,114,97,110,103,101,115,54,47,50,0,47,111,114,97,110,103,101,115,54,47,51,0,47,111,114,97,110,103,101,115,54,47,52,0,47,111,114,97,110,103,101,115,54,47,53,0,47,111,114,97,110,103,101,115,54,47,54,0,47,111,114,97,110,103,101,115,55,47,49,0,47,111,114,97,110,103,101,115,55,47,50,0,47,111,114,97,110,103,101,115,55,47,51,0,47,111,114,97,110,103,101,115,55,47,52,0,47,111,114,97,110,103,101,115,55,47,53,0,47,111,114,97,110,103,101,115,55,47,54,0,47,111,114,97,110,103,101,115,55,47,55,0,47,111,114,97,110,103,101,115,56,47,49,0,47,111,114,97,110,103,101,115,56,47,50,0,47,111,114,97,110,103,101,115,56,47,51,0,47,111,114,97,110,103,101,115,56,47,52,0,47,111,114,97,110,103,101,115,56,47,53,0,47,111,114,97,110,103,101,115,56,47,54,0,47,111,114,97,110,103,101,115,56,47,55,0,47,111,114,97,110,103,101,115,56,47,56,0,47,111,114,97,110,103,101,115,57,47,49,0,47,111,114,97,110,103,101,115,57,47,50,0,47,111,114,97,110,103,101,115,57,47,51,0,47,111,114,97,110,103,101,115,57,47,52,0,47,111,114,97,110,103,101,115,57,47,53,0,47,111,114,97,110,103,101,115,57,47,54,0,47,111,114,97,110,103,101,115,57,47,55,0,47,111,114,97,110,103,101,115,57,47,56,0,47,111,114,97,110,103,101,115,57,47,57,0,47,111,114,114,100,51,47,49,0,47,111,114,114,100,51,47,50,0,47,111,114,114,100,51,47,51,0,47,111,114,114,100,52,47,49,0,47,111,114,114,100,52,47,50,0,47,111,114,114,100,52,47,51,0,47,111,114,114,100,52,47,52,0,47,111,114,114,100,53,47,49,0,47,111,114,114,100,53,47,50,0,47,111,114,114,100,53,47,51,0,47,111,114,114,100,53,47,52,0,47,111,114,114,100,53,47,53,0,47,111,114,114,100,54,47,49,0,47,111,114,114,100,54,47,50,0,47,111,114,114,100,54,47,51,0,47,111,114,114,100,54,47,52,0,47,111,114,114,100,54,47,53,0,47,111,114,114,100,54,47,54,0,47,111,114,114,100,55,47,49,0,47,111,114,114,100,55,47,50,0,47,111,114,114,100,55,47,51,0,47,111,114,114,100,55,47,52,0,47,111,114,114,100,55,47,53,0,47,111,114,114,100,55,47,54,0,47,111,114,114,100,55,47,55,0,47,111,114,114,100,56,47,49,0,47,111,114,114,100,56,47,50,0,47,111,114,114,100,56,47,51,0,47,111,114,114,100,56,47,52,0,47,111,114,114,100,56,47,53,0,47,111,114,114,100,56,47,54,0,47,111,114,114,100,56,47,55,0,47,111,114,114,100,56,47,56,0,47,111,114,114,100,57,47,49,0,47,111,114,114,100,57,47,50,0,47,111,114,114,100,57,47,51,0,47,111,114,114,100,57,47,52,0,47,111,114,114,100,57,47,53,0,47,111,114,114,100,57,47,54,0,47,111,114,114,100,57,47,55,0,47,111,114,114,100,57,47,56,0,47,111,114,114,100,57,47,57,0,47,112,97,105,114,101,100,49,48,47,49,0,47,112,97,105,114,101,100,49,48,47,49,48,0,47,112,97,105,114,101,100,49,48,47,50,0,47,112,97,105,114,101,100,49,48,47,51,0,47,112,97,105,114,101,100,49,48,47,52,0,47,112,97,105,114,101,100,49,48,47,53,0,47,112,97,105,114,101,100,49,48,47,54,0,47,112,97,105,114,101,100,49,48,47,55,0,47,112,97,105,114,101,100,49,48,47,56,0,47,112,97,105,114,101,100,49,48,47,57,0,47,112,97,105,114,101,100,49,49,47,49,0,47,112,97,105,114,101,100,49,49,47,49,48,0,47,112,97,105,114,101,100,49,49,47,49,49,0,47,112,97,105,114,101,100,49,49,47,50,0,47,112,97,105,114,101,100,49,49,47,51,0,47,112,97,105,114,101,100,49,49,47,52,0,47,112,97,105,114,101,100,49,49,47,53,0,47,112,97,105,114,101,100,49,49,47,54,0,47,112,97,105,114,101,100,49,49,47,55,0,47,112,97,105,114,101,100,49,49,47,56,0,47,112,97,105,114,101,100,49,49,47,57,0,47,112,97,105,114,101,100,49,50,47,49,0,47,112,97,105,114,101,100,49,50,47,49,48,0,47,112,97,105,114,101,100,49,50,47,49,49,0,47,112,97,105,114,101,100,49,50,47,49,50,0,47,112,97,105,114,101,100,49,50,47,50,0,47,112,97,105,114,101,100,49,50,47,51,0,47,112,97,105,114,101,100,49,50,47,52,0,47,112,97,105,114,101,100,49,50,47,53,0,47,112,97,105,114,101,100,49,50,47,54,0,47,112,97,105,114,101,100,49,50,47,55,0,47,112,97,105,114,101,100,49,50,47,56,0,47,112,97,105,114,101,100,49,50,47,57,0,47,112,97,105,114,101,100,51,47,49,0,47,112,97,105,114,101,100,51,47,50,0,47,112,97,105,114,101,100,51,47,51,0,47,112,97,105,114,101,100,52,47,49,0,47,112,97,105,114,101,100,52,47,50,0,47,112,97,105,114,101,100,52,47,51,0,47,112,97,105,114,101,100,52,47,52,0,47,112,97,105,114,101,100,53,47,49,0,47,112,97,105,114,101,100,53,47,50,0,47,112,97,105,114,101,100,53,47,51,0,47,112,97,105,114,101,100,53,47,52,0,47,112,97,105,114,101,100,53,47,53,0,47,112,97,105,114,101,100,54,47,49,0,47,112,97,105,114,101,100,54,47,50,0,47,112,97,105,114,101,100,54,47,51,0,47,112,97,105,114,101,100,54,47,52,0,47,112,97,105,114,101,100,54,47,53,0,47,112,97,105,114,101,100,54,47,54,0,47,112,97,105,114,101,100,55,47,49,0,47,112,97,105,114,101,100,55,47,50,0,47,112,97,105,114,101,100,55,47,51,0,47,112,97,105,114,101,100,55,47,52,0,47,112,97,105,114,101,100,55,47,53,0,47,112,97,105,114,101,100,55,47,54,0,47,112,97,105,114,101,100,55,47,55,0,47,112,97,105,114,101,100,56,47,49,0,47,112,97,105,114,101,100,56,47,50,0,47,112,97,105,114,101,100,56,47,51,0,47,112,97,105,114,101,100,56,47,52,0,47,112,97,105,114,101,100,56,47,53,0,47,112,97,105,114,101,100,56,47,54,0,47,112,97,105,114,101,100,56,47,55,0,47,112,97,105,114,101,100,56,47,56,0,47,112,97,105,114,101,100,57,47,49,0,47,112,97,105,114,101,100,57,47,50,0,47,112,97,105,114,101,100,57,47,51,0,47,112,97,105,114,101,100,57,47,52,0,47,112,97,105,114,101,100,57,47,53,0,47,112,97,105,114,101,100,57,47,54,0,47,112,97,105,114,101,100,57,47,55,0,47,112,97,105,114,101,100,57,47,56,0,47,112,97,105,114,101,100,57,47,57,0,47,112,97,115,116,101,108,49,51,47,49,0,47,112,97,115,116,101,108,49,51,47,50,0,47,112,97,115,116,101,108,49,51,47,51,0,47,112,97,115,116,101,108,49,52,47,49,0,47,112,97,115,116,101,108,49,52,47,50,0,47,112,97,115,116,101,108,49,52,47,51,0,47,112,97,115,116,101,108,49,52,47,52,0,47,112,97,115,116,101,108,49,53,47,49,0,47,112,97,115,116,101,108,49,53,47,50,0,47,112,97,115,116,101,108,49,53,47,51,0,47,112,97,115,116,101,108,49,53,47,52,0,47,112,97,115,116,101,108,49,53,47,53,0,47,112,97,115,116,101,108,49,54,47,49,0,47,112,97,115,116,101,108,49,54,47,50,0,47,112,97,115,116,101,108,49,54,47,51,0,47,112,97,115,116,101,108,49,54,47,52,0,47,112,97,115,116,101,108,49,54,47,53,0,47,112,97,115,116,101,108,49,54,47,54,0,47,112,97,115,116,101,108,49,55,47,49,0,47,112,97,115,116,101,108,49,55,47,50,0,47,112,97,115,116,101,108,49,55,47,51,0,47,112,97,115,116,101,108,49,55,47,52,0,47,112,97,115,116,101,108,49,55,47,53,0,47,112,97,115,116,101,108,49,55,47,54,0,47,112,97,115,116,101,108,49,55,47,55,0,47,112,97,115,116,101,108,49,56,47,49,0,47,112,97,115,116,101,108,49,56,47,50,0,47,112,97,115,116,101,108,49,56,47,51,0,47,112,97,115,116,101,108,49,56,47,52,0,47,112,97,115,116,101,108,49,56,47,53,0,47,112,97,115,116,101,108,49,56,47,54,0,47,112,97,115,116,101,108,49,56,47,55,0,47,112,97,115,116,101,108,49,56,47,56,0,47,112,97,115,116,101,108,49,57,47,49,0,47,112,97,115,116,101,108,49,57,47,50,0,47,112,97,115,116,101,108,49,57,47,51,0,47,112,97,115,116,101,108,49,57,47,52,0,47,112,97,115,116,101,108,49,57,47,53,0,47,112,97,115,116,101,108,49,57,47,54,0,47,112,97,115,116,101,108,49,57,47,55,0,47,112,97,115,116,101,108,49,57,47,56,0,47,112,97,115,116,101,108,49,57,47,57,0,47,112,97,115,116,101,108,50,51,47,49,0,47,112,97,115,116,101,108,50,51,47,50,0,47,112,97,115,116,101,108,50,51,47,51,0,47,112,97,115,116,101,108,50,52,47,49,0,47,112,97,115,116,101,108,50,52,47,50,0,47,112,97,115,116,101,108,50,52,47,51,0,47,112,97,115,116,101,108,50,52,47,52,0,47,112,97,115,116,101,108,50,53,47,49,0,47,112,97,115,116,101,108,50,53,47,50,0,47,112,97,115,116,101,108,50,53,47,51,0,47,112,97,115,116,101,108,50,53,47,52,0,47,112,97,115,116,101,108,50,53,47,53,0,47,112,97,115,116,101,108,50,54,47,49,0,47,112,97,115,116,101,108,50,54,47,50,0,47,112,97,115,116,101,108,50,54,47,51,0,47,112,97,115,116,101,108,50,54,47,52,0,47,112,97,115,116,101,108,50,54,47,53,0,47,112,97,115,116,101,108,50,54,47,54,0,47,112,97,115,116,101,108,50,55,47,49,0,47,112,97,115,116,101,108,50,55,47,50,0,47,112,97,115,116,101,108,50,55,47,51,0,47,112,97,115,116,101,108,50,55,47,52,0,47,112,97,115,116,101,108,50,55,47,53,0,47,112,97,115,116,101,108,50,55,47,54,0,47,112,97,115,116,101,108,50,55,47,55,0,47,112,97,115,116,101,108,50,56,47,49,0,47,112,97,115,116,101,108,50,56,47,50,0,47,112,97,115,116,101,108,50,56,47,51,0,47,112,97,115,116,101,108,50,56,47,52,0,47,112,97,115,116,101,108,50,56,47,53,0,47,112,97,115,116,101,108,50,56,47,54,0,47,112,97,115,116,101,108,50,56,47,55,0,47,112,97,115,116,101,108,50,56,47,56,0,47,112,105,121,103,49,48,47,49,0,47,112,105,121,103,49,48,47,49,48,0,47,112,105,121,103,49,48,47,50,0,47,112,105,121,103,49,48,47,51,0,47,112,105,121,103,49,48,47,52,0,47,112,105,121,103,49,48,47,53,0,47,112,105,121,103,49,48,47,54,0,47,112,105,121,103,49,48,47,55,0,47,112,105,121,103,49,48,47,56,0,47,112,105,121,103,49,48,47,57,0,47,112,105,121,103,49,49,47,49,0,47,112,105,121,103,49,49,47,49,48,0,47,112,105,121,103,49,49,47,49,49,0,47,112,105,121,103,49,49,47,50,0,47,112,105,121,103,49,49,47,51,0,47,112,105,121,103,49,49,47,52,0,47,112,105,121,103,49,49,47,53,0,47,112,105,121,103,49,49,47,54,0,47,112,105,121,103,49,49,47,55,0,47,112,105,121,103,49,49,47,56,0,47,112,105,121,103,49,49,47,57,0,47,112,105,121,103,51,47,49,0,47,112,105,121,103,51,47,50,0,47,112,105,121,103,51,47,51,0,47,112,105,121,103,52,47,49,0,47,112,105,121,103,52,47,50,0,47,112,105,121,103,52,47,51,0,47,112,105,121,103,52,47,52,0,47,112,105,121,103,53,47,49,0,47,112,105,121,103,53,47,50,0,47,112,105,121,103,53,47,51,0,47,112,105,121,103,53,47,52,0,47,112,105,121,103,53,47,53,0,47,112,105,121,103,54,47,49,0,47,112,105,121,103,54,47,50,0,47,112,105,121,103,54,47,51,0,47,112,105,121,103,54,47,52,0,47,112,105,121,103,54,47,53,0,47,112,105,121,103,54,47,54,0,47,112,105,121,103,55,47,49,0,47,112,105,121,103,55,47,50,0,47,112,105,121,103,55,47,51,0,47,112,105,121,103,55,47,52,0,47,112,105,121,103,55,47,53,0,47,112,105,121,103,55,47,54,0,47,112,105,121,103,55,47,55,0,47,112,105,121,103,56,47,49,0,47,112,105,121,103,56,47,50,0,47,112,105,121,103,56,47,51,0,47,112,105,121,103,56,47,52,0,47,112,105,121,103,56,47,53,0,47,112,105,121,103,56,47,54,0,47,112,105,121,103,56,47,55,0,47,112,105,121,103,56,47,56,0,47,112,105,121,103,57,47,49,0,47,112,105,121,103,57,47,50,0,47,112,105,121,103,57,47,51,0,47,112,105,121,103,57,47,52,0,47,112,105,121,103,57,47,53,0,47,112,105,121,103,57,47,54,0,47,112,105,121,103,57,47,55,0,47,112,105,121,103,57,47,56,0,47,112,105,121,103,57,47,57,0,47,112,114,103,110,49,48,47,49,0,47,112,114,103,110,49,48,47,49,48,0,47,112,114,103,110,49,48,47,50,0,47,112,114,103,110,49,48,47,51,0,47,112,114,103,110,49,48,47,52,0,47,112,114,103,110,49,48,47,53,0,47,112,114,103,110,49,48,47,54,0,47,112,114,103,110,49,48,47,55,0,47,112,114,103,110,49,48,47,56,0,47,112,114,103,110,49,48,47,57,0,47,112,114,103,110,49,49,47,49,0,47,112,114,103,110,49,49,47,49,48,0,47,112,114,103,110,49,49,47,49,49,0,47,112,114,103,110,49,49,47,50,0,47,112,114,103,110,49,49,47,51,0,47,112,114,103,110,49,49,47,52,0,47,112,114,103,110,49,49,47,53,0,47,112,114,103,110,49,49,47,54,0,47,112,114,103,110,49,49,47,55,0,47,112,114,103,110,49,49,47,56,0,47,112,114,103,110,49,49,47,57,0,47,112,114,103,110,51,47,49,0,47,112,114,103,110,51,47,50,0,47,112,114,103,110,51,47,51,0,47,112,114,103,110,52,47,49,0,47,112,114,103,110,52,47,50,0,47,112,114,103,110,52,47,51,0,47,112,114,103,110,52,47,52,0,47,112,114,103,110,53,47,49,0,47,112,114,103,110,53,47,50,0,47,112,114,103,110,53,47,51,0,47,112,114,103,110,53,47,52,0,47,112,114,103,110,53,47,53,0,47,112,114,103,110,54,47,49,0,47,112,114,103,110,54,47,50,0,47,112,114,103,110,54,47,51,0,47,112,114,103,110,54,47,52,0,47,112,114,103,110,54,47,53,0,47,112,114,103,110,54,47,54,0,47,112,114,103,110,55,47,49,0,47,112,114,103,110,55,47,50,0,47,112,114,103,110,55,47,51,0,47,112,114,103,110,55,47,52,0,47,112,114,103,110,55,47,53,0,47,112,114,103,110,55,47,54,0,47,112,114,103,110,55,47,55,0,47,112,114,103,110,56,47,49,0,47,112,114,103,110,56,47,50,0,47,112,114,103,110,56,47,51,0,47,112,114,103,110,56,47,52,0,47,112,114,103,110,56,47,53,0,47,112,114,103,110,56,47,54,0,47,112,114,103,110,56,47,55,0,47,112,114,103,110,56,47,56,0,47,112,114,103,110,57,47,49,0,47,112,114,103,110,57,47,50,0,47,112,114,103,110,57,47,51,0,47,112,114,103,110,57,47,52,0,47,112,114,103,110,57,47,53,0,47,112,114,103,110,57,47,54,0,47,112,114,103,110,57,47,55,0,47,112,114,103,110,57,47,56,0,47,112,114,103,110,57,47,57,0,47,112,117,98,117,51,47,49,0,47,112,117,98,117,51,47,50,0,47,112,117,98,117,51,47,51,0,47,112,117,98,117,52,47,49,0,47,112,117,98,117,52,47,50,0,47,112,117,98,117,52,47,51,0,47,112,117,98,117,52,47,52,0,47,112,117,98,117,53,47,49,0,47,112,117,98,117,53,47,50,0,47,112,117,98,117,53,47,51,0,47,112,117,98,117,53,47,52,0,47,112,117,98,117,53,47,53,0,47,112,117,98,117,54,47,49,0,47,112,117,98,117,54,47,50,0,47,112,117,98,117,54,47,51,0,47,112,117,98,117,54,47,52,0,47,112,117,98,117,54,47,53,0,47,112,117,98,117,54,47,54,0,47,112,117,98,117,55,47,49,0,47,112,117,98,117,55,47,50,0,47,112,117,98,117,55,47,51,0,47,112,117,98,117,55,47,52,0,47,112,117,98,117,55,47,53,0,47,112,117,98,117,55,47,54,0,47,112,117,98,117,55,47,55,0,47,112,117,98,117,56,47,49,0,47,112,117,98,117,56,47,50,0,47,112,117,98,117,56,47,51,0,47,112,117,98,117,56,47,52,0,47,112,117,98,117,56,47,53,0,47,112,117,98,117,56,47,54,0,47,112,117,98,117,56,47,55,0,47,112,117,98,117,56,47,56,0,47,112,117,98,117,57,47,49,0,47,112,117,98,117,57,47,50,0,47,112,117,98,117,57,47,51,0,47,112,117,98,117,57,47,52,0,47,112,117,98,117,57,47,53,0,47,112,117,98,117,57,47,54,0,47,112,117,98,117,57,47,55,0,47,112,117,98,117,57,47,56,0,47,112,117,98,117,57,47,57,0,47,112,117,98,117,103,110,51,47,49,0,47,112,117,98,117,103,110,51,47,50,0,47,112,117,98,117,103,110,51,47,51,0,47,112,117,98,117,103,110,52,47,49,0,47,112,117,98,117,103,110,52,47,50,0,47,112,117,98,117,103,110,52,47,51,0,47,112,117,98,117,103,110,52,47,52,0,47,112,117,98,117,103,110,53,47,49,0,47,112,117,98,117,103,110,53,47,50,0,47,112,117,98,117,103,110,53,47,51,0,47,112,117,98,117,103,110,53,47,52,0,47,112,117,98,117,103,110,53,47,53,0,47,112,117,98,117,103,110,54,47,49,0,47,112,117,98,117,103,110,54,47,50,0,47,112,117,98,117,103,110,54,47,51,0,47,112,117,98,117,103,110,54,47,52,0,47,112,117,98,117,103,110,54,47,53,0,47,112,117,98,117,103,110,54,47,54,0,47,112,117,98,117,103,110,55,47,49,0,47,112,117,98,117,103,110,55,47,50,0,47,112,117,98,117,103,110,55,47,51,0,47,112,117,98,117,103,110,55,47,52,0,47,112,117,98,117,103,110,55,47,53,0,47,112,117,98,117,103,110,55,47,54,0,47,112,117,98,117,103,110,55,47,55,0,47,112,117,98,117,103,110,56,47,49,0,47,112,117,98,117,103,110,56,47,50,0,47,112,117,98,117,103,110,56,47,51,0,47,112,117,98,117,103,110,56,47,52,0,47,112,117,98,117,103,110,56,47,53,0,47,112,117,98,117,103,110,56,47,54,0,47,112,117,98,117,103,110,56,47,55,0,47,112,117,98,117,103,110,56,47,56,0,47,112,117,98,117,103,110,57,47,49,0,47,112,117,98,117,103,110,57,47,50,0,47,112,117,98,117,103,110,57,47,51,0,47,112,117,98,117,103,110,57,47,52,0,47,112,117,98,117,103,110,57,47,53,0,47,112,117,98,117,103,110,57,47,54,0,47,112,117,98,117,103,110,57,47,55,0,47,112,117,98,117,103,110,57,47,56,0,47,112,117,98,117,103,110,57,47,57,0,47,112,117,111,114,49,48,47,49,0,47,112,117,111,114,49,48,47,49,48,0,47,112,117,111,114,49,48,47,50,0,47,112,117,111,114,49,48,47,51,0,47,112,117,111,114,49,48,47,52,0,47,112,117,111,114,49,48,47,53,0,47,112,117,111,114,49,48,47,54,0,47,112,117,111,114,49,48,47,55,0,47,112,117,111,114,49,48,47,56,0,47,112,117,111,114,49,48,47,57,0,47,112,117,111,114,49,49,47,49,0,47,112,117,111,114,49,49,47,49,48,0,47,112,117,111,114,49,49,47,49,49,0,47,112,117,111,114,49,49,47,50,0,47,112,117,111,114,49,49,47,51,0,47,112,117,111,114,49,49,47,52,0,47,112,117,111,114,49,49,47,53,0,47,112,117,111,114,49,49,47,54,0,47,112,117,111,114,49,49,47,55,0,47,112,117,111,114,49,49,47,56,0,47,112,117,111,114,49,49,47,57,0,47,112,117,111,114,51,47,49,0,47,112,117,111,114,51,47,50,0,47,112,117,111,114,51,47,51,0,47,112,117,111,114,52,47,49,0,47,112,117,111,114,52,47,50,0,47,112,117,111,114,52,47,51,0,47,112,117,111,114,52,47,52,0,47,112,117,111,114,53,47,49,0,47,112,117,111,114,53,47,50,0,47,112,117,111,114,53,47,51,0,47,112,117,111,114,53,47,52,0,47,112,117,111,114,53,47,53,0,47,112,117,111,114,54,47,49,0,47,112,117,111,114,54,47,50,0,47,112,117,111,114,54,47,51,0,47,112,117,111,114,54,47,52,0,47,112,117,111,114,54,47,53,0,47,112,117,111,114,54,47,54,0,47,112,117,111,114,55,47,49,0,47,112,117,111,114,55,47,50,0,47,112,117,111,114,55,47,51,0,47,112,117,111,114,55,47,52,0,47,112,117,111,114,55,47,53,0,47,112,117,111,114,55,47,54,0,47,112,117,111,114,55,47,55,0,47,112,117,111,114,56,47,49,0,47,112,117,111,114,56,47,50,0,47,112,117,111,114,56,47,51,0,47,112,117,111,114,56,47,52,0,47,112,117,111,114,56,47,53,0,47,112,117,111,114,56,47,54,0,47,112,117,111,114,56,47,55,0,47,112,117,111,114,56,47,56,0,47,112,117,111,114,57,47,49,0,47,112,117,111,114,57,47,50,0,47,112,117,111,114,57,47,51,0,47,112,117,111,114,57,47,52,0,47,112,117,111,114,57,47,53,0,47,112,117,111,114,57,47,54,0,47,112,117,111,114,57,47,55,0,47,112,117,111,114,57,47,56,0,47,112,117,111,114,57,47,57,0,47,112,117,114,100,51,47,49,0,47,112,117,114,100,51,47,50,0,47,112,117,114,100,51,47,51,0,47,112,117,114,100,52,47,49,0,47,112,117,114,100,52,47,50,0,47,112,117,114,100,52,47,51,0,47,112,117,114,100,52,47,52,0,47,112,117,114,100,53,47,49,0,47,112,117,114,100,53,47,50,0,47,112,117,114,100,53,47,51,0,47,112,117,114,100,53,47,52,0,47,112,117,114,100,53,47,53,0,47,112,117,114,100,54,47,49,0,47,112,117,114,100,54,47,50,0,47,112,117,114,100,54,47,51,0,47,112,117,114,100,54,47,52,0,47,112,117,114,100,54,47,53,0,47,112,117,114,100,54,47,54,0,47,112,117,114,100,55,47,49,0,47,112,117,114,100,55,47,50,0,47,112,117,114,100,55,47,51,0,47,112,117,114,100,55,47,52,0,47,112,117,114,100,55,47,53,0,47,112,117,114,100,55,47,54,0,47,112,117,114,100,55,47,55,0,47,112,117,114,100,56,47,49,0,47,112,117,114,100,56,47,50,0,47,112,117,114,100,56,47,51,0,47,112,117,114,100,56,47,52,0,47,112,117,114,100,56,47,53,0,47,112,117,114,100,56,47,54,0,47,112,117,114,100,56,47,55,0,47,112,117,114,100,56,47,56,0,47,112,117,114,100,57,47,49,0,47,112,117,114,100,57,47,50,0,47,112,117,114,100,57,47,51,0,47,112,117,114,100,57,47,52,0,47,112,117,114,100,57,47,53,0,47,112,117,114,100,57,47,54,0,47,112,117,114,100,57,47,55,0,47,112,117,114,100,57,47,56,0,47,112,117,114,100,57,47,57,0,47,112,117,114,112,108,101,115,51,47,49,0,47,112,117,114,112,108,101,115,51,47,50,0,47,112,117,114,112,108,101,115,51,47,51,0,47,112,117,114,112,108,101,115,52,47,49,0,47,112,117,114,112,108,101,115,52,47,50,0,47,112,117,114,112,108,101,115,52,47,51,0,47,112,117,114,112,108,101,115,52,47,52,0,47,112,117,114,112,108,101,115,53,47,49,0,47,112,117,114,112,108,101,115,53,47,50,0,47,112,117,114,112,108,101,115,53,47,51,0,47,112,117,114,112,108,101,115,53,47,52,0,47,112,117,114,112,108,101,115,53,47,53,0,47,112,117,114,112,108,101,115,54,47,49,0,47,112,117,114,112,108,101,115,54,47,50,0,47,112,117,114,112,108,101,115,54,47,51,0,47,112,117,114,112,108,101,115,54,47,52,0,47,112,117,114,112,108,101,115,54,47,53,0,47,112,117,114,112,108,101,115,54,47,54,0,47,112,117,114,112,108,101,115,55,47,49,0,47,112,117,114,112,108,101,115,55,47,50,0,47,112,117,114,112,108,101,115,55,47,51,0,47,112,117,114,112,108,101,115,55,47,52,0,47,112,117,114,112,108,101,115,55,47,53,0,47,112,117,114,112,108,101,115,55,47,54,0,47,112,117,114,112,108,101,115,55,47,55,0,47,112,117,114,112,108,101,115,56,47,49,0,47,112,117,114,112,108,101,115,56,47,50,0,47,112,117,114,112,108,101,115,56,47,51,0,47,112,117,114,112,108,101,115,56,47,52,0,47,112,117,114,112,108,101,115,56,47,53,0,47,112,117,114,112,108,101,115,56,47,54,0,47,112,117,114,112,108,101,115,56,47,55,0,47,112,117,114,112,108,101,115,56,47,56,0,47,112,117,114,112,108,101,115,57,47,49,0,47,112,117,114,112,108,101,115,57,47,50,0,47,112,117,114,112,108,101,115,57,47,51,0,47,112,117,114,112,108,101,115,57,47,52,0,47,112,117,114,112,108,101,115,57,47,53,0,47,112,117,114,112,108,101,115,57,47,54,0,47,112,117,114,112,108,101,115,57,47,55,0,47,112,117,114,112,108,101,115,57,47,56,0,47,112,117,114,112,108,101,115,57,47,57,0,47,114,100,98,117,49,48,47,49,0,47,114,100,98,117,49,48,47,49,48,0,47,114,100,98,117,49,48,47,50,0,47,114,100,98,117,49,48,47,51,0,47,114,100,98,117,49,48,47,52,0,47,114,100,98,117,49,48,47,53,0,47,114,100,98,117,49,48,47,54,0,47,114,100,98,117,49,48,47,55,0,47,114,100,98,117,49,48,47,56,0,47,114,100,98,117,49,48,47,57,0,47,114,100,98,117,49,49,47,49,0,47,114,100,98,117,49,49,47,49,48,0,47,114,100,98,117,49,49,47,49,49,0,47,114,100,98,117,49,49,47,50,0,47,114,100,98,117,49,49,47,51,0,47,114,100,98,117,49,49,47,52,0,47,114,100,98,117,49,49,47,53,0,47,114,100,98,117,49,49,47,54,0,47,114,100,98,117,49,49,47,55,0,47,114,100,98,117,49,49,47,56,0,47,114,100,98,117,49,49,47,57,0,47,114,100,98,117,51,47,49,0,47,114,100,98,117,51,47,50,0,47,114,100,98,117,51,47,51,0,47,114,100,98,117,52,47,49,0,47,114,100,98,117,52,47,50,0,47,114,100,98,117,52,47,51,0,47,114,100,98,117,52,47,52,0,47,114,100,98,117,53,47,49,0,47,114,100,98,117,53,47,50,0,47,114,100,98,117,53,47,51,0,47,114,100,98,117,53,47,52,0,47,114,100,98,117,53,47,53,0,47,114,100,98,117,54,47,49,0,47,114,100,98,117,54,47,50,0,47,114,100,98,117,54,47,51,0,47,114,100,98,117,54,47,52,0,47,114,100,98,117,54,47,53,0,47,114,100,98,117,54,47,54,0,47,114,100,98,117,55,47,49,0,47,114,100,98,117,55,47,50,0,47,114,100,98,117,55,47,51,0,47,114,100,98,117,55,47,52,0,47,114,100,98,117,55,47,53,0,47,114,100,98,117,55,47,54,0,47,114,100,98,117,55,47,55,0,47,114,100,98,117,56,47,49,0,47,114,100,98,117,56,47,50,0,47,114,100,98,117,56,47,51,0,47,114,100,98,117,56,47,52,0,47,114,100,98,117,56,47,53,0,47,114,100,98,117,56,47,54,0,47,114,100,98,117,56,47,55,0,47,114,100,98,117,56,47,56,0,47,114,100,98,117,57,47,49,0,47,114,100,98,117,57,47,50,0,47,114,100,98,117,57,47,51,0,47,114,100,98,117,57,47,52,0,47,114,100,98,117,57,47,53,0,47,114,100,98,117,57,47,54,0,47,114,100,98,117,57,47,55,0,47,114,100,98,117,57,47,56,0,47,114,100,98,117,57,47,57,0,47,114,100,103,121,49,48,47,49,0,47,114,100,103,121,49,48,47,49,48,0,47,114,100,103,121,49,48,47,50,0,47,114,100,103,121,49,48,47,51,0,47,114,100,103,121,49,48,47,52,0,47,114,100,103,121,49,48,47,53,0,47,114,100,103,121,49,48,47,54,0,47,114,100,103,121,49,48,47,55,0,47,114,100,103,121,49,48,47,56,0,47,114,100,103,121,49,48,47,57,0,47,114,100,103,121,49,49,47,49,0,47,114,100,103,121,49,49,47,49,48,0,47,114,100,103,121,49,49,47,49,49,0,47,114,100,103,121,49,49,47,50,0,47,114,100,103,121,49,49,47,51,0,47,114,100,103,121,49,49,47,52,0,47,114,100,103,121,49,49,47,53,0,47,114,100,103,121,49,49,47,54,0,47,114,100,103,121,49,49,47,55,0,47,114,100,103,121,49,49,47,56,0,47,114,100,103,121,49,49,47,57,0,47,114,100,103,121,51,47,49,0,47,114,100,103,121,51,47,50,0,47,114,100,103,121,51,47,51,0,47,114,100,103,121,52,47,49,0,47,114,100,103,121,52,47,50,0,47,114,100,103,121,52,47,51,0,47,114,100,103,121,52,47,52,0,47,114,100,103,121,53,47,49,0,47,114,100,103,121,53,47,50,0,47,114,100,103,121,53,47,51,0,47,114,100,103,121,53,47,52,0,47,114,100,103,121,53,47,53,0,47,114,100,103,121,54,47,49,0,47,114,100,103,121,54,47,50,0,47,114,100,103,121,54,47,51,0,47,114,100,103,121,54,47,52,0,47,114,100,103,121,54,47,53,0,47,114,100,103,121,54,47,54,0,47,114,100,103,121],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+112664);allocate([55,47,49,0,47,114,100,103,121,55,47,50,0,47,114,100,103,121,55,47,51,0,47,114,100,103,121,55,47,52,0,47,114,100,103,121,55,47,53,0,47,114,100,103,121,55,47,54,0,47,114,100,103,121,55,47,55,0,47,114,100,103,121,56,47,49,0,47,114,100,103,121,56,47,50,0,47,114,100,103,121,56,47,51,0,47,114,100,103,121,56,47,52,0,47,114,100,103,121,56,47,53,0,47,114,100,103,121,56,47,54,0,47,114,100,103,121,56,47,55,0,47,114,100,103,121,56,47,56,0,47,114,100,103,121,57,47,49,0,47,114,100,103,121,57,47,50,0,47,114,100,103,121,57,47,51,0,47,114,100,103,121,57,47,52,0,47,114,100,103,121,57,47,53,0,47,114,100,103,121,57,47,54,0,47,114,100,103,121,57,47,55,0,47,114,100,103,121,57,47,56,0,47,114,100,103,121,57,47,57,0,47,114,100,112,117,51,47,49,0,47,114,100,112,117,51,47,50,0,47,114,100,112,117,51,47,51,0,47,114,100,112,117,52,47,49,0,47,114,100,112,117,52,47,50,0,47,114,100,112,117,52,47,51,0,47,114,100,112,117,52,47,52,0,47,114,100,112,117,53,47,49,0,47,114,100,112,117,53,47,50,0,47,114,100,112,117,53,47,51,0,47,114,100,112,117,53,47,52,0,47,114,100,112,117,53,47,53,0,47,114,100,112,117,54,47,49,0,47,114,100,112,117,54,47,50,0,47,114,100,112,117,54,47,51,0,47,114,100,112,117,54,47,52,0,47,114,100,112,117,54,47,53,0,47,114,100,112,117,54,47,54,0,47,114,100,112,117,55,47,49,0,47,114,100,112,117,55,47,50,0,47,114,100,112,117,55,47,51,0,47,114,100,112,117,55,47,52,0,47,114,100,112,117,55,47,53,0,47,114,100,112,117,55,47,54,0,47,114,100,112,117,55,47,55,0,47,114,100,112,117,56,47,49,0,47,114,100,112,117,56,47,50,0,47,114,100,112,117,56,47,51,0,47,114,100,112,117,56,47,52,0,47,114,100,112,117,56,47,53,0,47,114,100,112,117,56,47,54,0,47,114,100,112,117,56,47,55,0,47,114,100,112,117,56,47,56,0,47,114,100,112,117,57,47,49,0,47,114,100,112,117,57,47,50,0,47,114,100,112,117,57,47,51,0,47,114,100,112,117,57,47,52,0,47,114,100,112,117,57,47,53,0,47,114,100,112,117,57,47,54,0,47,114,100,112,117,57,47,55,0,47,114,100,112,117,57,47,56,0,47,114,100,112,117,57,47,57,0,47,114,100,121,108,98,117,49,48,47,49,0,47,114,100,121,108,98,117,49,48,47,49,48,0,47,114,100,121,108,98,117,49,48,47,50,0,47,114,100,121,108,98,117,49,48,47,51,0,47,114,100,121,108,98,117,49,48,47,52,0,47,114,100,121,108,98,117,49,48,47,53,0,47,114,100,121,108,98,117,49,48,47,54,0,47,114,100,121,108,98,117,49,48,47,55,0,47,114,100,121,108,98,117,49,48,47,56,0,47,114,100,121,108,98,117,49,48,47,57,0,47,114,100,121,108,98,117,49,49,47,49,0,47,114,100,121,108,98,117,49,49,47,49,48,0,47,114,100,121,108,98,117,49,49,47,49,49,0,47,114,100,121,108,98,117,49,49,47,50,0,47,114,100,121,108,98,117,49,49,47,51,0,47,114,100,121,108,98,117,49,49,47,52,0,47,114,100,121,108,98,117,49,49,47,53,0,47,114,100,121,108,98,117,49,49,47,54,0,47,114,100,121,108,98,117,49,49,47,55,0,47,114,100,121,108,98,117,49,49,47,56,0,47,114,100,121,108,98,117,49,49,47,57,0,47,114,100,121,108,98,117,51,47,49,0,47,114,100,121,108,98,117,51,47,50,0,47,114,100,121,108,98,117,51,47,51,0,47,114,100,121,108,98,117,52,47,49,0,47,114,100,121,108,98,117,52,47,50,0,47,114,100,121,108,98,117,52,47,51,0,47,114,100,121,108,98,117,52,47,52,0,47,114,100,121,108,98,117,53,47,49,0,47,114,100,121,108,98,117,53,47,50,0,47,114,100,121,108,98,117,53,47,51,0,47,114,100,121,108,98,117,53,47,52,0,47,114,100,121,108,98,117,53,47,53,0,47,114,100,121,108,98,117,54,47,49,0,47,114,100,121,108,98,117,54,47,50,0,47,114,100,121,108,98,117,54,47,51,0,47,114,100,121,108,98,117,54,47,52,0,47,114,100,121,108,98,117,54,47,53,0,47,114,100,121,108,98,117,54,47,54,0,47,114,100,121,108,98,117,55,47,49,0,47,114,100,121,108,98,117,55,47,50,0,47,114,100,121,108,98,117,55,47,51,0,47,114,100,121,108,98,117,55,47,52,0,47,114,100,121,108,98,117,55,47,53,0,47,114,100,121,108,98,117,55,47,54,0,47,114,100,121,108,98,117,55,47,55,0,47,114,100,121,108,98,117,56,47,49,0,47,114,100,121,108,98,117,56,47,50,0,47,114,100,121,108,98,117,56,47,51,0,47,114,100,121,108,98,117,56,47,52,0,47,114,100,121,108,98,117,56,47,53,0,47,114,100,121,108,98,117,56,47,54,0,47,114,100,121,108,98,117,56,47,55,0,47,114,100,121,108,98,117,56,47,56,0,47,114,100,121,108,98,117,57,47,49,0,47,114,100,121,108,98,117,57,47,50,0,47,114,100,121,108,98,117,57,47,51,0,47,114,100,121,108,98,117,57,47,52,0,47,114,100,121,108,98,117,57,47,53,0,47,114,100,121,108,98,117,57,47,54,0,47,114,100,121,108,98,117,57,47,55,0,47,114,100,121,108,98,117,57,47,56,0,47,114,100,121,108,98,117,57,47,57,0,47,114,100,121,108,103,110,49,48,47,49,0,47,114,100,121,108,103,110,49,48,47,49,48,0,47,114,100,121,108,103,110,49,48,47,50,0,47,114,100,121,108,103,110,49,48,47,51,0,47,114,100,121,108,103,110,49,48,47,52,0,47,114,100,121,108,103,110,49,48,47,53,0,47,114,100,121,108,103,110,49,48,47,54,0,47,114,100,121,108,103,110,49,48,47,55,0,47,114,100,121,108,103,110,49,48,47,56,0,47,114,100,121,108,103,110,49,48,47,57,0,47,114,100,121,108,103,110,49,49,47,49,0,47,114,100,121,108,103,110,49,49,47,49,48,0,47,114,100,121,108,103,110,49,49,47,49,49,0,47,114,100,121,108,103,110,49,49,47,50,0,47,114,100,121,108,103,110,49,49,47,51,0,47,114,100,121,108,103,110,49,49,47,52,0,47,114,100,121,108,103,110,49,49,47,53,0,47,114,100,121,108,103,110,49,49,47,54,0,47,114,100,121,108,103,110,49,49,47,55,0,47,114,100,121,108,103,110,49,49,47,56,0,47,114,100,121,108,103,110,49,49,47,57,0,47,114,100,121,108,103,110,51,47,49,0,47,114,100,121,108,103,110,51,47,50,0,47,114,100,121,108,103,110,51,47,51,0,47,114,100,121,108,103,110,52,47,49,0,47,114,100,121,108,103,110,52,47,50,0,47,114,100,121,108,103,110,52,47,51,0,47,114,100,121,108,103,110,52,47,52,0,47,114,100,121,108,103,110,53,47,49,0,47,114,100,121,108,103,110,53,47,50,0,47,114,100,121,108,103,110,53,47,51,0,47,114,100,121,108,103,110,53,47,52,0,47,114,100,121,108,103,110,53,47,53,0,47,114,100,121,108,103,110,54,47,49,0,47,114,100,121,108,103,110,54,47,50,0,47,114,100,121,108,103,110,54,47,51,0,47,114,100,121,108,103,110,54,47,52,0,47,114,100,121,108,103,110,54,47,53,0,47,114,100,121,108,103,110,54,47,54,0,47,114,100,121,108,103,110,55,47,49,0,47,114,100,121,108,103,110,55,47,50,0,47,114,100,121,108,103,110,55,47,51,0,47,114,100,121,108,103,110,55,47,52,0,47,114,100,121,108,103,110,55,47,53,0,47,114,100,121,108,103,110,55,47,54,0,47,114,100,121,108,103,110,55,47,55,0,47,114,100,121,108,103,110,56,47,49,0,47,114,100,121,108,103,110,56,47,50,0,47,114,100,121,108,103,110,56,47,51,0,47,114,100,121,108,103,110,56,47,52,0,47,114,100,121,108,103,110,56,47,53,0,47,114,100,121,108,103,110,56,47,54,0,47,114,100,121,108,103,110,56,47,55,0,47,114,100,121,108,103,110,56,47,56,0,47,114,100,121,108,103,110,57,47,49,0,47,114,100,121,108,103,110,57,47,50,0,47,114,100,121,108,103,110,57,47,51,0,47,114,100,121,108,103,110,57,47,52,0,47,114,100,121,108,103,110,57,47,53,0,47,114,100,121,108,103,110,57,47,54,0,47,114,100,121,108,103,110,57,47,55,0,47,114,100,121,108,103,110,57,47,56,0,47,114,100,121,108,103,110,57,47,57,0,47,114,101,100,115,51,47,49,0,47,114,101,100,115,51,47,50,0,47,114,101,100,115,51,47,51,0,47,114,101,100,115,52,47,49,0,47,114,101,100,115,52,47,50,0,47,114,101,100,115,52,47,51,0,47,114,101,100,115,52,47,52,0,47,114,101,100,115,53,47,49,0,47,114,101,100,115,53,47,50,0,47,114,101,100,115,53,47,51,0,47,114,101,100,115,53,47,52,0,47,114,101,100,115,53,47,53,0,47,114,101,100,115,54,47,49,0,47,114,101,100,115,54,47,50,0,47,114,101,100,115,54,47,51,0,47,114,101,100,115,54,47,52,0,47,114,101,100,115,54,47,53,0,47,114,101,100,115,54,47,54,0,47,114,101,100,115,55,47,49,0,47,114,101,100,115,55,47,50,0,47,114,101,100,115,55,47,51,0,47,114,101,100,115,55,47,52,0,47,114,101,100,115,55,47,53,0,47,114,101,100,115,55,47,54,0,47,114,101,100,115,55,47,55,0,47,114,101,100,115,56,47,49,0,47,114,101,100,115,56,47,50,0,47,114,101,100,115,56,47,51,0,47,114,101,100,115,56,47,52,0,47,114,101,100,115,56,47,53,0,47,114,101,100,115,56,47,54,0,47,114,101,100,115,56,47,55,0,47,114,101,100,115,56,47,56,0,47,114,101,100,115,57,47,49,0,47,114,101,100,115,57,47,50,0,47,114,101,100,115,57,47,51,0,47,114,101,100,115,57,47,52,0,47,114,101,100,115,57,47,53,0,47,114,101,100,115,57,47,54,0,47,114,101,100,115,57,47,55,0,47,114,101,100,115,57,47,56,0,47,114,101,100,115,57,47,57,0,47,115,101,116,49,51,47,49,0,47,115,101,116,49,51,47,50,0,47,115,101,116,49,51,47,51,0,47,115,101,116,49,52,47,49,0,47,115,101,116,49,52,47,50,0,47,115,101,116,49,52,47,51,0,47,115,101,116,49,52,47,52,0,47,115,101,116,49,53,47,49,0,47,115,101,116,49,53,47,50,0,47,115,101,116,49,53,47,51,0,47,115,101,116,49,53,47,52,0,47,115,101,116,49,53,47,53,0,47,115,101,116,49,54,47,49,0,47,115,101,116,49,54,47,50,0,47,115,101,116,49,54,47,51,0,47,115,101,116,49,54,47,52,0,47,115,101,116,49,54,47,53,0,47,115,101,116,49,54,47,54,0,47,115,101,116,49,55,47,49,0,47,115,101,116,49,55,47,50,0,47,115,101,116,49,55,47,51,0,47,115,101,116,49,55,47,52,0,47,115,101,116,49,55,47,53,0,47,115,101,116,49,55,47,54,0,47,115,101,116,49,55,47,55,0,47,115,101,116,49,56,47,49,0,47,115,101,116,49,56,47,50,0,47,115,101,116,49,56,47,51,0,47,115,101,116,49,56,47,52,0,47,115,101,116,49,56,47,53,0,47,115,101,116,49,56,47,54,0,47,115,101,116,49,56,47,55,0,47,115,101,116,49,56,47,56,0,47,115,101,116,49,57,47,49,0,47,115,101,116,49,57,47,50,0,47,115,101,116,49,57,47,51,0,47,115,101,116,49,57,47,52,0,47,115,101,116,49,57,47,53,0,47,115,101,116,49,57,47,54,0,47,115,101,116,49,57,47,55,0,47,115,101,116,49,57,47,56,0,47,115,101,116,49,57,47,57,0,47,115,101,116,50,51,47,49,0,47,115,101,116,50,51,47,50,0,47,115,101,116,50,51,47,51,0,47,115,101,116,50,52,47,49,0,47,115,101,116,50,52,47,50,0,47,115,101,116,50,52,47,51,0,47,115,101,116,50,52,47,52,0,47,115,101,116,50,53,47,49,0,47,115,101,116,50,53,47,50,0,47,115,101,116,50,53,47,51,0,47,115,101,116,50,53,47,52,0,47,115,101,116,50,53,47,53,0,47,115,101,116,50,54,47,49,0,47,115,101,116,50,54,47,50,0,47,115,101,116,50,54,47,51,0,47,115,101,116,50,54,47,52,0,47,115,101,116,50,54,47,53,0,47,115,101,116,50,54,47,54,0,47,115,101,116,50,55,47,49,0,47,115,101,116,50,55,47,50,0,47,115,101,116,50,55,47,51,0,47,115,101,116,50,55,47,52,0,47,115,101,116,50,55,47,53,0,47,115,101,116,50,55,47,54,0,47,115,101,116,50,55,47,55,0,47,115,101,116,50,56,47,49,0,47,115,101,116,50,56,47,50,0,47,115,101,116,50,56,47,51,0,47,115,101,116,50,56,47,52,0,47,115,101,116,50,56,47,53,0,47,115,101,116,50,56,47,54,0,47,115,101,116,50,56,47,55,0,47,115,101,116,50,56,47,56,0,47,115,101,116,51,49,48,47,49,0,47,115,101,116,51,49,48,47,49,48,0,47,115,101,116,51,49,48,47,50,0,47,115,101,116,51,49,48,47,51,0,47,115,101,116,51,49,48,47,52,0,47,115,101,116,51,49,48,47,53,0,47,115,101,116,51,49,48,47,54,0,47,115,101,116,51,49,48,47,55,0,47,115,101,116,51,49,48,47,56,0,47,115,101,116,51,49,48,47,57,0,47,115,101,116,51,49,49,47,49,0,47,115,101,116,51,49,49,47,49,48,0,47,115,101,116,51,49,49,47,49,49,0,47,115,101,116,51,49,49,47,50,0,47,115,101,116,51,49,49,47,51,0,47,115,101,116,51,49,49,47,52,0,47,115,101,116,51,49,49,47,53,0,47,115,101,116,51,49,49,47,54,0,47,115,101,116,51,49,49,47,55,0,47,115,101,116,51,49,49,47,56,0,47,115,101,116,51,49,49,47,57,0,47,115,101,116,51,49,50,47,49,0,47,115,101,116,51,49,50,47,49,48,0,47,115,101,116,51,49,50,47,49,49,0,47,115,101,116,51,49,50,47,49,50,0,47,115,101,116,51,49,50,47,50,0,47,115,101,116,51,49,50,47,51,0,47,115,101,116,51,49,50,47,52,0,47,115,101,116,51,49,50,47,53,0,47,115,101,116,51,49,50,47,54,0,47,115,101,116,51,49,50,47,55,0,47,115,101,116,51,49,50,47,56,0,47,115,101,116,51,49,50,47,57,0,47,115,101,116,51,51,47,49,0,47,115,101,116,51,51,47,50,0,47,115,101,116,51,51,47,51,0,47,115,101,116,51,52,47,49,0,47,115,101,116,51,52,47,50,0,47,115,101,116,51,52,47,51,0,47,115,101,116,51,52,47,52,0,47,115,101,116,51,53,47,49,0,47,115,101,116,51,53,47,50,0,47,115,101,116,51,53,47,51,0,47,115,101,116,51,53,47,52,0,47,115,101,116,51,53,47,53,0,47,115,101,116,51,54,47,49,0,47,115,101,116,51,54,47,50,0,47,115,101,116,51,54,47,51,0,47,115,101,116,51,54,47,52,0,47,115,101,116,51,54,47,53,0,47,115,101,116,51,54,47,54,0,47,115,101,116,51,55,47,49,0,47,115,101,116,51,55,47,50,0,47,115,101,116,51,55,47,51,0,47,115,101,116,51,55,47,52,0,47,115,101,116,51,55,47,53,0,47,115,101,116,51,55,47,54,0,47,115,101,116,51,55,47,55,0,47,115,101,116,51,56,47,49,0,47,115,101,116,51,56,47,50,0,47,115,101,116,51,56,47,51,0,47,115,101,116,51,56,47,52,0,47,115,101,116,51,56,47,53,0,47,115,101,116,51,56,47,54,0,47,115,101,116,51,56,47,55,0,47,115,101,116,51,56,47,56,0,47,115,101,116,51,57,47,49,0,47,115,101,116,51,57,47,50,0,47,115,101,116,51,57,47,51,0,47,115,101,116,51,57,47,52,0,47,115,101,116,51,57,47,53,0,47,115,101,116,51,57,47,54,0,47,115,101,116,51,57,47,55,0,47,115,101,116,51,57,47,56,0,47,115,101,116,51,57,47,57,0,47,115,112,101,99,116,114,97,108,49,48,47,49,0,47,115,112,101,99,116,114,97,108,49,48,47,49,48,0,47,115,112,101,99,116,114,97,108,49,48,47,50,0,47,115,112,101,99,116,114,97,108,49,48,47,51,0,47,115,112,101,99,116,114,97,108,49,48,47,52,0,47,115,112,101,99,116,114,97,108,49,48,47,53,0,47,115,112,101,99,116,114,97,108,49,48,47,54,0,47,115,112,101,99,116,114,97,108,49,48,47,55,0,47,115,112,101,99,116,114,97,108,49,48,47,56,0,47,115,112,101,99,116,114,97,108,49,48,47,57,0,47,115,112,101,99,116,114,97,108,49,49,47,49,0,47,115,112,101,99,116,114,97,108,49,49,47,49,48,0,47,115,112,101,99,116,114,97,108,49,49,47,49,49,0,47,115,112,101,99,116,114,97,108,49,49,47,50,0,47,115,112,101,99,116,114,97,108,49,49,47,51,0,47,115,112,101,99,116,114,97,108,49,49,47,52,0,47,115,112,101,99,116,114,97,108,49,49,47,53,0,47,115,112,101,99,116,114,97,108,49,49,47,54,0,47,115,112,101,99,116,114,97,108,49,49,47,55,0,47,115,112,101,99,116,114,97,108,49,49,47,56,0,47,115,112,101,99,116,114,97,108,49,49,47,57,0,47,115,112,101,99,116,114,97,108,51,47,49,0,47,115,112,101,99,116,114,97,108,51,47,50,0,47,115,112,101,99,116,114,97,108,51,47,51,0,47,115,112,101,99,116,114,97,108,52,47,49,0,47,115,112,101,99,116,114,97,108,52,47,50,0,47,115,112,101,99,116,114,97,108,52,47,51,0,47,115,112,101,99,116,114,97,108,52,47,52,0,47,115,112,101,99,116,114,97,108,53,47,49,0,47,115,112,101,99,116,114,97,108,53,47,50,0,47,115,112,101,99,116,114,97,108,53,47,51,0,47,115,112,101,99,116,114,97,108,53,47,52,0,47,115,112,101,99,116,114,97,108,53,47,53,0,47,115,112,101,99,116,114,97,108,54,47,49,0,47,115,112,101,99,116,114,97,108,54,47,50,0,47,115,112,101,99,116,114,97,108,54,47,51,0,47,115,112,101,99,116,114,97,108,54,47,52,0,47,115,112,101,99,116,114,97,108,54,47,53,0,47,115,112,101,99,116,114,97,108,54,47,54,0,47,115,112,101,99,116,114,97,108,55,47,49,0,47,115,112,101,99,116,114,97,108,55,47,50,0,47,115,112,101,99,116,114,97,108,55,47,51,0,47,115,112,101,99,116,114,97,108,55,47,52,0,47,115,112,101,99,116,114,97,108,55,47,53,0,47,115,112,101,99,116,114,97,108,55,47,54,0,47,115,112,101,99,116,114,97,108,55,47,55,0,47,115,112,101,99,116,114,97,108,56,47,49,0,47,115,112,101,99,116,114,97,108,56,47,50,0,47,115,112,101,99,116,114,97,108,56,47,51,0,47,115,112,101,99,116,114,97,108,56,47,52,0,47,115,112,101,99,116,114,97,108,56,47,53,0,47,115,112,101,99,116,114,97,108,56,47,54,0,47,115,112,101,99,116,114,97,108,56,47,55,0,47,115,112,101,99,116,114,97,108,56,47,56,0,47,115,112,101,99,116,114,97,108,57,47,49,0,47,115,112,101,99,116,114,97,108,57,47,50,0,47,115,112,101,99,116,114,97,108,57,47,51,0,47,115,112,101,99,116,114,97,108,57,47,52,0,47,115,112,101,99,116,114,97,108,57,47,53,0,47,115,112,101,99,116,114,97,108,57,47,54,0,47,115,112,101,99,116,114,97,108,57,47,55,0,47,115,112,101,99,116,114,97,108,57,47,56,0,47,115,112,101,99,116,114,97,108,57,47,57,0,47,115,118,103,47,97,108,105,99,101,98,108,117,101,0,47,115,118,103,47,97,110,116,105,113,117,101,119,104,105,116,101,0,47,115,118,103,47,97,113,117,97,0,47,115,118,103,47,97,113,117,97,109,97,114,105,110,101,0,47,115,118,103,47,97,122,117,114,101,0,47,115,118,103,47,98,101,105,103,101,0,47,115,118,103,47,98,105,115,113,117,101,0,47,115,118,103,47,98,108,97,99,107,0,47,115,118,103,47,98,108,97,110,99,104,101,100,97,108,109,111,110,100,0,47,115,118,103,47,98,108,117,101,0,47,115,118,103,47,98,108,117,101,118,105,111,108,101,116,0,47,115,118,103,47,98,114,111,119,110,0,47,115,118,103,47,98,117,114,108,121,119,111,111,100,0,47,115,118,103,47,99,97,100,101,116,98,108,117,101,0,47,115,118,103,47,99,104,97,114,116,114,101,117,115,101,0,47,115,118,103,47,99,104,111,99,111,108,97,116,101,0,47,115,118,103,47,99,111,114,97,108,0,47,115,118,103,47,99,111,114,110,102,108,111,119,101,114,98,108,117,101,0,47,115,118,103,47,99,111,114,110,115,105,108,107,0,47,115,118,103,47,99,114,105,109,115,111,110,0,47,115,118,103,47,99,121,97,110,0,47,115,118,103,47,100,97,114,107,98,108,117,101,0,47,115,118,103,47,100,97,114,107,99,121,97,110,0,47,115,118,103,47,100,97,114,107,103,111,108,100,101,110,114,111,100,0,47,115,118,103,47,100,97,114,107,103,114,97,121,0,47,115,118,103,47,100,97,114,107,103,114,101,101,110,0,47,115,118,103,47,100,97,114,107,103,114,101,121,0,47,115,118,103,47,100,97,114,107,107,104,97,107,105,0,47,115,118,103,47,100,97,114,107,109,97,103,101,110,116,97,0,47,115,118,103,47,100,97,114,107,111,108,105,118,101,103,114,101,101,110,0,47,115,118,103,47,100,97,114,107,111,114,97,110,103,101,0,47,115,118,103,47,100,97,114,107,111,114,99,104,105,100,0,47,115,118,103,47,100,97,114,107,114,101,100,0,47,115,118,103,47,100,97,114,107,115,97,108,109,111,110,0,47,115,118,103,47,100,97,114,107,115,101,97,103,114,101,101,110,0,47,115,118,103,47,100,97,114,107,115,108,97,116,101,98,108,117,101,0,47,115,118,103,47,100,97,114,107,115,108,97,116,101,103,114,97,121,0,47,115,118,103,47,100,97,114,107,115,108,97,116,101,103,114,101,121,0,47,115,118,103,47,100,97,114,107,116,117,114,113,117,111,105,115,101,0,47,115,118,103,47,100,97,114,107,118,105,111,108,101,116,0,47,115,118,103,47,100,101,101,112,112,105,110,107,0,47,115,118,103,47,100,101,101,112,115,107,121,98,108,117,101,0,47,115,118,103,47,100,105,109,103,114,97,121,0,47,115,118,103,47,100,105,109,103,114,101,121,0,47,115,118,103,47,100,111,100,103,101,114,98,108,117,101,0,47,115,118,103,47,102,105,114,101,98,114,105,99,107,0,47,115,118,103,47,102,108,111,114,97,108,119,104,105,116,101,0,47,115,118,103,47,102,111,114,101,115,116,103,114,101,101,110,0,47,115,118,103,47,102,117,99,104,115,105,97,0,47,115,118,103,47,103,97,105,110,115,98,111,114,111,0,47,115,118,103,47,103,104,111,115,116,119,104,105,116,101,0,47,115,118,103,47,103,111,108,100,0,47,115,118,103,47,103,111,108,100,101,110,114,111,100,0,47,115,118,103,47,103,114,97,121,0,47,115,118,103,47,103,114,101,101,110,0,47,115,118,103,47,103,114,101,101,110,121,101,108,108,111,119,0,47,115,118,103,47,103,114,101,121,0,47,115,118,103,47,104,111,110,101,121,100,101,119,0,47,115,118,103,47,104,111,116,112,105,110,107,0,47,115,118,103,47,105,110,100,105,97,110,114,101,100,0,47,115,118,103,47,105,110,100,105,103,111,0,47,115,118,103,47,105,118,111,114,121,0,47,115,118,103,47,107,104,97,107,105,0,47,115,118,103,47,108,97,118,101,110,100,101,114,0,47,115,118,103,47,108,97,118,101,110,100,101,114,98,108,117,115,104,0,47,115,118,103,47,108,97,119,110,103,114,101,101,110,0,47,115,118,103,47,108,101,109,111,110,99,104,105,102,102,111,110,0,47,115,118,103,47,108,105,103,104,116,98,108,117,101,0,47,115,118,103,47,108,105,103,104,116,99,111,114,97,108,0,47,115,118,103,47,108,105,103,104,116,99,121,97,110,0,47,115,118,103,47,108,105,103,104,116,103,111,108,100,101,110,114,111,100,121,101,108,108,111,119,0,47,115,118,103,47,108,105,103,104,116,103,114,97,121,0,47,115,118,103,47,108,105,103,104,116,103,114,101,101,110,0,47,115,118,103,47,108,105,103,104,116,103,114,101,121,0,47,115,118,103,47,108,105,103,104,116,112,105,110,107,0,47,115,118,103,47,108,105,103,104,116,115,97,108,109,111,110,0,47,115,118,103,47,108,105,103,104,116,115,101,97,103,114,101,101,110,0,47,115,118,103,47,108,105,103,104,116,115,107,121,98,108,117,101,0,47,115,118,103,47,108,105,103,104,116,115,108,97,116,101,103,114,97,121,0,47,115,118,103,47,108,105,103,104,116,115,108,97,116,101,103,114,101,121,0,47,115,118,103,47,108,105,103,104,116,115,116,101,101,108,98,108,117,101,0,47,115,118,103,47,108,105,103,104,116,121,101,108,108,111,119,0,47,115,118,103,47,108,105,109,101,0,47,115,118,103,47,108,105,109,101,103,114,101,101,110,0,47,115,118,103,47,108,105,110,101,110,0,47,115,118,103,47,109,97,103,101,110,116,97,0,47,115,118,103,47,109,97,114,111,111,110,0,47,115,118,103,47,109,101,100,105,117,109,97,113,117,97,109,97,114,105,110,101,0,47,115,118,103,47,109,101,100,105,117,109,98,108,117,101,0,47,115,118,103,47,109,101,100,105,117,109,111,114,99,104,105,100,0,47,115,118,103,47,109,101,100,105,117,109,112,117,114,112,108,101,0,47,115,118,103,47,109,101,100,105,117,109,115,101,97,103,114,101,101,110,0,47,115,118,103,47,109,101,100,105,117,109,115,108,97,116,101,98,108,117,101,0,47,115,118,103,47,109,101,100,105,117,109,115,112,114,105,110,103,103,114,101,101,110,0,47,115,118,103,47,109,101,100,105,117,109,116,117,114,113,117,111,105,115,101,0,47,115,118,103,47,109,101,100,105,117,109,118,105,111,108,101,116,114,101,100,0,47,115,118,103,47,109,105,100,110,105,103,104,116,98,108,117,101,0,47,115,118,103,47,109,105,110,116,99,114,101,97,109,0,47,115,118,103,47,109,105,115,116,121,114,111,115,101,0,47,115,118,103,47,109,111,99,99,97,115,105,110,0,47,115,118,103,47,110,97,118,97,106,111,119,104,105,116,101,0,47,115,118,103,47,110,97,118,121,0,47,115,118,103,47,111,108,100,108,97,99,101,0,47,115,118,103,47,111,108,105,118,101,0,47,115,118,103,47,111,108,105,118,101,100,114,97,98,0,47,115,118,103,47,111,114,97,110,103,101,0,47,115,118,103,47,111,114,97,110,103,101,114,101,100,0,47,115,118,103,47,111,114,99,104,105,100,0,47,115,118,103,47,112,97,108,101,103,111,108,100,101,110,114,111,100,0,47,115,118,103,47,112,97,108,101,103,114,101,101,110,0,47,115,118,103,47,112,97,108,101,116,117,114,113,117,111,105,115,101,0,47,115,118,103,47,112,97,108,101,118,105,111,108,101,116,114,101,100,0,47,115,118,103,47,112,97,112,97,121,97,119,104,105,112,0,47,115,118,103,47,112,101,97,99,104,112,117,102,102,0,47,115,118,103,47,112,101,114,117,0,47,115,118,103,47,112,105,110,107,0,47,115,118,103,47,112,108,117,109,0,47,115,118,103,47,112,111,119,100,101,114,98,108,117,101,0,47,115,118,103,47,112,117,114,112,108,101,0,47,115,118,103,47,114,101,100,0,47,115,118,103,47,114,111,115,121,98,114,111,119,110,0,47,115,118,103,47,114,111,121,97,108,98,108,117,101,0,47,115,118,103,47,115,97,100,100,108,101,98,114,111,119,110,0,47,115,118,103,47,115,97,108,109,111,110,0,47,115,118,103,47,115,97,110,100,121,98,114,111,119,110,0,47,115,118,103,47,115,101,97,103,114,101,101,110,0,47,115,118,103,47,115,101,97,115,104,101,108,108,0,47,115,118,103,47,115,105,101,110,110,97,0,47,115,118,103,47,115,105,108,118,101,114,0,47,115,118,103,47,115,107,121,98,108,117,101,0,47,115,118,103,47,115,108,97,116,101,98,108,117,101,0,47,115,118,103,47,115,108,97,116,101,103,114,97,121,0,47,115,118,103,47,115,108,97,116,101,103,114,101,121,0,47,115,118,103,47,115,110,111,119,0,47,115,118,103,47,115,112,114,105,110,103,103,114,101,101,110,0,47,115,118,103,47,115,116,101,101,108,98,108,117,101,0,47,115,118,103,47,116,97,110,0,47,115,118,103,47,116,101,97,108,0,47,115,118,103,47,116,104,105,115,116,108,101,0,47,115,118,103,47,116,111,109,97,116,111,0,47,115,118,103,47,116,117,114,113,117,111,105,115,101,0,47,115,118,103,47,118,105,111,108,101,116,0,47,115,118,103,47,119,104,101,97,116,0,47,115,118,103,47,119,104,105,116,101,0,47,115,118,103,47,119,104,105,116,101,115,109,111,107,101,0,47,115,118,103,47,121,101,108,108,111,119,0,47,115,118,103,47,121,101,108,108,111,119,103,114,101,101,110,0,47,121,108,103,110,51,47,49,0,47,121,108,103,110,51,47,50,0,47,121,108,103,110,51,47,51,0,47,121,108,103,110,52,47,49,0,47,121,108,103,110,52,47,50,0,47,121,108,103,110,52,47,51,0,47,121,108,103,110,52,47,52,0,47,121,108,103,110,53,47,49,0,47,121,108,103,110,53,47,50,0,47,121,108,103,110,53,47,51,0,47,121,108,103,110,53,47,52,0,47,121,108,103,110,53,47,53,0,47,121,108,103,110,54,47,49,0,47,121,108,103,110,54,47,50,0,47,121,108,103,110,54,47,51,0,47,121,108,103,110,54,47,52,0,47,121,108,103,110,54,47,53,0,47,121,108,103,110,54,47,54,0,47,121,108,103,110,55,47,49,0,47,121,108,103,110,55,47,50,0,47,121,108,103,110,55,47,51,0,47,121,108,103,110,55,47,52,0,47,121,108,103,110,55,47,53,0,47,121,108,103,110,55,47,54,0,47,121,108,103,110,55,47,55,0,47,121,108,103,110,56,47,49,0,47,121,108,103,110,56,47,50,0,47,121,108,103,110,56,47,51,0,47,121,108,103,110,56,47,52,0,47,121,108,103,110,56,47,53,0,47,121,108,103,110,56,47,54,0,47,121,108,103,110,56,47,55,0,47,121,108,103,110,56,47,56,0,47,121,108,103,110,57,47,49,0,47,121,108,103,110,57,47,50,0,47,121,108,103,110,57,47,51,0,47,121,108,103,110,57,47,52,0,47,121,108,103,110,57,47,53,0,47,121,108,103,110,57,47,54,0,47,121,108,103,110,57,47,55,0,47,121,108,103,110,57,47,56,0,47,121,108,103,110,57,47,57,0,47,121,108,103,110,98,117,51,47,49,0,47,121,108,103,110,98,117,51,47,50,0,47,121,108,103,110,98,117,51,47,51,0,47,121,108,103,110,98,117,52,47,49,0,47,121,108,103,110,98,117,52,47,50,0,47,121,108,103,110,98,117,52,47,51,0,47,121,108,103,110,98,117,52,47,52,0,47,121,108,103,110,98,117,53,47,49,0,47,121,108,103,110,98,117,53,47,50,0,47,121,108,103,110,98,117,53,47,51,0,47,121,108,103,110,98,117,53,47,52,0,47,121,108,103,110,98,117,53,47,53,0,47,121,108,103,110,98,117,54,47,49,0,47,121,108,103,110,98,117,54,47,50,0,47,121,108,103,110,98,117,54,47,51,0,47,121,108,103,110,98,117,54,47,52,0,47,121,108,103,110,98,117,54,47,53,0,47,121,108,103,110,98,117,54,47,54,0,47,121,108,103,110,98,117,55,47,49,0,47,121,108,103,110,98,117,55,47,50,0,47,121,108,103,110,98,117,55,47,51,0,47,121,108,103,110,98,117,55,47,52,0,47,121,108,103,110,98,117,55,47,53,0,47,121,108,103,110,98,117,55,47,54,0,47,121,108,103,110,98,117,55,47,55,0,47,121,108,103,110,98,117,56,47,49,0,47,121,108,103,110,98,117,56,47,50,0,47,121,108,103,110,98,117,56,47,51,0,47,121,108,103,110,98,117,56,47,52,0,47,121,108,103,110,98,117,56,47,53,0,47,121,108,103,110,98,117,56,47,54,0,47,121,108,103,110,98,117,56,47,55,0,47,121,108,103,110,98,117,56,47,56,0,47,121,108,103,110,98,117,57,47,49,0,47,121,108,103,110,98,117,57,47,50,0,47,121,108,103,110,98,117,57,47,51,0,47,121,108,103,110,98,117,57,47,52,0,47,121,108,103,110,98,117,57,47,53,0,47,121,108,103,110,98,117,57,47,54,0,47,121,108,103,110,98,117,57,47,55,0,47,121,108,103,110,98,117,57,47,56,0,47,121,108,103,110,98,117,57,47,57,0,47,121,108,111,114,98,114,51,47,49,0,47,121,108,111,114,98,114,51,47,50,0,47,121,108,111,114,98,114,51,47,51,0,47,121,108,111,114,98,114,52,47,49,0,47,121,108,111,114,98,114,52,47,50,0,47,121,108,111,114,98,114,52,47,51,0,47,121,108,111,114,98,114,52,47,52,0,47,121,108,111,114,98,114,53,47,49,0,47,121,108,111,114,98,114,53,47,50,0,47,121,108,111,114,98,114,53,47,51,0,47,121,108,111,114,98,114,53,47,52,0,47,121,108,111,114,98,114,53,47,53,0,47,121,108,111,114,98,114,54,47,49,0,47,121,108,111,114,98,114,54,47,50,0,47,121,108,111,114,98,114,54,47,51,0,47,121,108,111,114,98,114,54,47,52,0,47,121,108,111,114,98,114,54,47,53,0,47,121,108,111,114,98,114,54,47,54,0,47,121,108,111,114,98,114,55,47,49,0,47,121,108,111,114,98,114,55,47,50,0,47,121,108,111,114,98,114,55,47,51,0,47,121,108,111,114,98,114,55,47,52,0,47,121,108,111,114,98,114,55,47,53,0,47,121,108,111,114,98,114,55,47,54,0,47,121,108,111,114,98,114,55,47,55,0,47,121,108,111,114,98,114,56,47,49,0,47,121,108,111,114,98,114,56,47,50,0,47,121,108,111,114,98,114,56,47,51,0,47,121,108,111,114,98,114,56,47,52,0,47,121,108,111,114,98,114,56,47,53,0,47,121,108,111,114,98,114,56,47,54,0,47,121,108,111,114,98,114,56,47,55,0,47,121,108,111,114,98,114,56,47,56,0,47,121,108,111,114,98,114,57,47,49,0,47,121,108,111,114,98,114,57,47,50,0,47,121,108,111,114,98,114,57,47,51,0,47,121,108,111,114,98,114,57,47,52,0,47,121,108,111,114,98,114,57,47,53,0,47,121,108,111,114,98,114,57,47,54,0,47,121,108,111,114,98,114,57,47,55,0,47,121,108,111,114,98,114,57,47,56,0,47,121,108,111,114,98,114,57,47,57,0,47,121,108,111,114,114,100,51,47,49,0,47,121,108,111,114,114,100,51,47,50,0,47,121,108,111,114,114,100,51,47,51,0,47,121,108,111,114,114,100,52,47,49,0,47,121,108,111,114,114,100,52,47,50,0,47,121,108,111,114,114,100,52,47,51,0,47,121,108,111,114,114,100,52,47,52,0,47,121,108,111,114,114,100,53,47,49,0,47,121,108,111,114,114,100,53,47,50,0,47,121,108,111,114,114,100,53,47,51,0,47,121,108,111,114,114,100,53,47,52,0,47,121,108,111,114,114,100,53,47,53,0,47,121,108,111,114,114,100,54,47,49,0,47,121,108,111,114,114,100,54,47,50,0,47,121,108,111,114,114,100,54,47,51,0,47,121,108,111,114,114,100,54,47,52,0,47,121,108,111,114,114,100,54,47,53,0,47,121,108,111,114,114,100,54,47,54,0,47,121,108,111,114,114,100,55,47,49,0,47,121,108,111,114,114,100,55,47,50,0,47,121,108,111,114,114,100,55,47,51,0,47,121,108,111,114,114,100,55,47,52,0,47,121,108,111,114,114,100,55,47,53,0,47,121,108,111,114,114,100,55,47,54,0,47,121,108,111,114,114,100,55,47,55,0,47,121,108,111,114,114,100,56,47,49,0,47,121,108,111,114,114,100,56,47,50,0,47,121,108,111,114,114,100,56,47,51,0,47,121,108,111,114,114,100,56,47,52,0,47,121,108,111,114,114,100,56,47,53,0,47,121,108,111,114,114,100,56,47,54,0,47,121,108,111,114,114,100,56,47,55,0,47,121,108,111,114,114,100,56,47,56,0,47,121,108,111,114,114,100,57,47,49,0,47,121,108,111,114,114,100,57,47,50,0,47,121,108,111,114,114,100,57,47,51,0,47,121,108,111,114,114,100,57,47,52,0,47,121,108,111,114,114,100,57,47,53,0,47,121,108,111,114,114,100,57,47,54,0,47,121,108,111,114,114,100,57,47,55,0,47,121,108,111,114,114,100,57,47,56,0,47,121,108,111,114,114,100,57,47,57,0,97,108,105,99,101,98,108,117,101,0,97,110,116,105,113,117,101,119,104,105,116,101,0,97,110,116,105,113,117,101,119,104,105,116,101,49,0,97,110,116,105,113,117,101,119,104,105,116,101,50,0,97,110,116,105,113,117,101,119,104,105,116,101,51,0,97,110,116,105,113,117,101,119,104,105,116,101,52,0,97,113,117,97,109,97,114,105,110,101,0,97,113,117,97,109,97,114,105,110,101,49,0,97,113,117,97,109,97,114,105,110,101,50,0,97,113,117,97,109,97,114,105,110,101,51,0,97,113,117,97,109,97,114,105,110,101,52,0,97,122,117,114,101,0,97,122,117,114,101,49,0,97,122,117,114,101,50,0,97,122,117,114,101,51,0,97,122,117,114,101,52,0,98,101,105,103,101,0,98,105,115,113,117,101,0,98,105,115,113,117,101,49,0,98,105,115,113,117,101,50,0,98,105,115,113,117,101,51,0,98,105,115,113,117,101,52,0,98,108,97,110,99,104,101,100,97,108,109,111,110,100,0,98,108,117,101,0,98,108,117,101,49,0,98,108,117,101,50,0,98,108,117,101,51,0,98,108,117,101,52,0,98,108,117,101,118,105,111,108,101,116,0,98,114,111,119,110,0,98,114,111,119,110,49,0,98,114,111,119,110,50,0,98,114,111,119,110,51,0,98,114,111,119,110,52,0,98,117,114,108,121,119,111,111,100,0,98,117,114,108,121,119,111,111,100,49,0,98,117,114,108,121,119,111,111,100,50,0,98,117,114,108,121,119,111,111,100,51,0,98,117,114,108,121,119,111,111,100,52,0,99,97,100,101,116,98,108,117,101,0,99,97,100,101,116,98,108,117,101,49,0,99,97,100,101,116,98,108,117,101,50,0,99,97,100,101,116,98,108,117,101,51,0,99,97,100,101,116,98,108,117,101,52,0,99,104,97,114,116,114,101,117,115,101,0,99,104,97,114,116,114,101,117,115,101,49,0,99,104,97,114,116,114,101,117,115,101,50,0,99,104,97,114,116,114,101,117,115,101,51,0,99,104,97,114,116,114,101,117,115,101,52,0,99,104,111,99,111,108,97,116,101,0,99,104,111,99,111,108,97,116,101,49,0,99,104,111,99,111,108,97,116,101,50,0,99,104,111,99,111,108,97,116,101,51,0,99,104,111,99,111,108,97,116,101,52,0,99,111,114,97,108,0,99,111,114,97,108,49,0,99,111,114,97,108,50,0,99,111,114,97,108,51,0,99,111,114,97,108,52,0,99,111,114,110,102,108,111,119,101,114,98,108,117,101,0,99,111,114,110,115,105,108,107,0,99,111,114,110,115,105,108,107,49,0,99,111,114,110,115,105,108,107,50,0,99,111,114,110,115,105,108,107,51,0,99,111,114,110,115,105,108,107,52,0,99,114,105,109,115,111,110,0,99,121,97,110,0,99,121,97,110,49,0,99,121,97,110,50,0,99,121,97,110,51,0,99,121,97,110,52,0,100,97,114,107,103,111,108,100,101,110,114,111,100,0,100,97,114,107,103,111,108,100,101,110,114,111,100,49,0,100,97,114,107,103,111,108,100,101,110,114,111,100,50,0,100,97,114,107,103,111,108,100,101,110,114,111,100,51,0,100,97,114,107,103,111,108,100,101,110,114,111,100,52,0,100,97,114,107,103,114,101,101,110,0,100,97,114,107,107,104,97,107,105,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,49,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,50,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,51,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,52,0,100,97,114,107,111,114,97,110,103,101,0,100,97,114,107,111,114,97,110,103,101,49,0,100,97,114,107,111,114,97,110,103,101,50,0,100,97,114,107,111,114,97,110,103,101,51,0,100,97,114,107,111,114,97,110,103,101,52,0,100,97,114,107,111,114,99,104,105,100,0,100,97,114,107,111,114,99,104,105,100,49,0,100,97,114,107,111,114,99,104,105,100,50,0,100,97,114,107,111,114,99,104,105,100,51,0,100,97,114,107,111,114,99,104,105,100,52,0,100,97,114,107,115,97,108,109,111,110,0,100,97,114,107,115,101,97,103,114,101,101,110,0,100,97,114,107,115,101,97,103,114,101,101,110,49,0,100,97,114,107,115,101,97,103,114,101,101,110,50,0,100,97,114,107,115,101,97,103,114,101,101,110,51,0,100,97,114,107,115,101,97,103,114,101,101,110,52,0,100,97,114,107,115,108,97,116,101,98,108,117,101,0,100,97,114,107,115,108,97,116,101,103,114,97,121,0,100,97,114,107,115,108,97,116,101,103,114,97,121,49,0,100,97,114,107,115,108,97,116,101,103,114,97,121,50,0,100,97,114,107,115,108,97,116,101,103,114,97,121,51,0,100,97,114,107,115,108,97,116,101,103,114,97,121,52,0,100,97,114,107,115,108,97,116,101,103,114,101,121,0,100,97,114,107,116,117,114,113,117,111,105,115,101,0,100,97,114,107,118,105,111,108,101,116,0,100,101,101,112,112,105,110,107,0,100,101,101,112,112,105,110,107,49,0,100,101,101,112,112,105,110,107,50,0,100,101,101,112,112,105,110,107,51,0,100,101,101,112,112,105,110,107,52,0,100,101,101,112,115,107,121,98,108,117,101,0,100,101,101,112,115,107,121,98,108,117,101,49,0,100,101,101,112,115,107,121,98,108,117,101,50,0,100,101,101,112,115,107,121,98,108,117,101,51,0,100,101,101,112,115,107,121,98,108,117,101,52,0,100,105,109,103,114,97,121,0,100,105,109,103,114,101,121,0,100,111,100,103,101,114,98,108,117,101,0,100,111,100,103,101,114,98,108,117,101,49,0,100,111,100,103,101,114,98,108,117,101,50,0,100,111,100,103,101,114,98,108,117,101,51,0,100,111,100,103,101,114,98,108,117,101,52,0,102,105,114,101,98,114,105,99,107,0,102,105,114,101,98,114,105,99,107,49,0,102,105,114,101,98,114,105,99,107,50,0,102,105,114,101,98,114,105,99,107,51,0,102,105,114,101,98,114,105,99,107,52,0,102,108,111,114,97,108,119,104,105,116,101,0,102,111,114,101,115,116,103,114,101,101,110,0,103,97,105,110,115,98,111,114,111,0,103,104,111,115,116,119,104,105,116,101,0,103,111,108,100,0,103,111,108,100,49,0,103,111,108,100,50,0,103,111,108,100,51,0,103,111,108,100,52,0,103,111,108,100,101,110,114,111,100,0,103,111,108,100,101,110,114,111,100,49,0,103,111,108,100,101,110,114,111,100,50,0,103,111,108,100,101,110,114,111,100,51,0,103,111,108,100,101,110,114,111,100,52,0,103,114,97,121,0,103,114,97,121,48,0,103,114,97,121,49,0,103,114,97,121,49,48,0,103,114,97,121,49,48,48,0,103,114,97,121,49,49,0,103,114,97,121,49,50,0,103,114,97,121,49,51,0,103,114,97,121,49,52,0,103,114,97,121,49,53,0,103,114,97,121,49,54,0,103,114,97,121,49,55,0,103,114,97,121,49,56,0,103,114,97,121,49,57,0,103,114,97,121,50,0,103,114,97,121,50,48,0,103,114,97,121,50,49,0,103,114,97,121,50,50],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+122904);allocate([103,114,97,121,50,51,0,103,114,97,121,50,52,0,103,114,97,121,50,53,0,103,114,97,121,50,54,0,103,114,97,121,50,55,0,103,114,97,121,50,56,0,103,114,97,121,50,57,0,103,114,97,121,51,0,103,114,97,121,51,48,0,103,114,97,121,51,49,0,103,114,97,121,51,50,0,103,114,97,121,51,51,0,103,114,97,121,51,52,0,103,114,97,121,51,53,0,103,114,97,121,51,54,0,103,114,97,121,51,55,0,103,114,97,121,51,56,0,103,114,97,121,51,57,0,103,114,97,121,52,0,103,114,97,121,52,48,0,103,114,97,121,52,49,0,103,114,97,121,52,50,0,103,114,97,121,52,51,0,103,114,97,121,52,52,0,103,114,97,121,52,53,0,103,114,97,121,52,54,0,103,114,97,121,52,55,0,103,114,97,121,52,56,0,103,114,97,121,52,57,0,103,114,97,121,53,0,103,114,97,121,53,48,0,103,114,97,121,53,49,0,103,114,97,121,53,50,0,103,114,97,121,53,51,0,103,114,97,121,53,52,0,103,114,97,121,53,53,0,103,114,97,121,53,54,0,103,114,97,121,53,55,0,103,114,97,121,53,56,0,103,114,97,121,53,57,0,103,114,97,121,54,0,103,114,97,121,54,48,0,103,114,97,121,54,49,0,103,114,97,121,54,50,0,103,114,97,121,54,51,0,103,114,97,121,54,52,0,103,114,97,121,54,53,0,103,114,97,121,54,54,0,103,114,97,121,54,55,0,103,114,97,121,54,56,0,103,114,97,121,54,57,0,103,114,97,121,55,0,103,114,97,121,55,48,0,103,114,97,121,55,49,0,103,114,97,121,55,50,0,103,114,97,121,55,51,0,103,114,97,121,55,52,0,103,114,97,121,55,53,0,103,114,97,121,55,54,0,103,114,97,121,55,55,0,103,114,97,121,55,56,0,103,114,97,121,55,57,0,103,114,97,121,56,0,103,114,97,121,56,48,0,103,114,97,121,56,49,0,103,114,97,121,56,50,0,103,114,97,121,56,51,0,103,114,97,121,56,52,0,103,114,97,121,56,53,0,103,114,97,121,56,54,0,103,114,97,121,56,55,0,103,114,97,121,56,56,0,103,114,97,121,56,57,0,103,114,97,121,57,0,103,114,97,121,57,48,0,103,114,97,121,57,49,0,103,114,97,121,57,50,0,103,114,97,121,57,51,0,103,114,97,121,57,52,0,103,114,97,121,57,53,0,103,114,97,121,57,54,0,103,114,97,121,57,55,0,103,114,97,121,57,56,0,103,114,97,121,57,57,0,103,114,101,101,110,0,103,114,101,101,110,49,0,103,114,101,101,110,50,0,103,114,101,101,110,51,0,103,114,101,101,110,52,0,103,114,101,101,110,121,101,108,108,111,119,0,103,114,101,121,0,103,114,101,121,48,0,103,114,101,121,49,0,103,114,101,121,49,48,0,103,114,101,121,49,48,48,0,103,114,101,121,49,49,0,103,114,101,121,49,50,0,103,114,101,121,49,51,0,103,114,101,121,49,52,0,103,114,101,121,49,53,0,103,114,101,121,49,54,0,103,114,101,121,49,55,0,103,114,101,121,49,56,0,103,114,101,121,49,57,0,103,114,101,121,50,0,103,114,101,121,50,48,0,103,114,101,121,50,49,0,103,114,101,121,50,50,0,103,114,101,121,50,51,0,103,114,101,121,50,52,0,103,114,101,121,50,53,0,103,114,101,121,50,54,0,103,114,101,121,50,55,0,103,114,101,121,50,56,0,103,114,101,121,50,57,0,103,114,101,121,51,0,103,114,101,121,51,48,0,103,114,101,121,51,49,0,103,114,101,121,51,50,0,103,114,101,121,51,51,0,103,114,101,121,51,52,0,103,114,101,121,51,53,0,103,114,101,121,51,54,0,103,114,101,121,51,55,0,103,114,101,121,51,56,0,103,114,101,121,51,57,0,103,114,101,121,52,0,103,114,101,121,52,48,0,103,114,101,121,52,49,0,103,114,101,121,52,50,0,103,114,101,121,52,51,0,103,114,101,121,52,52,0,103,114,101,121,52,53,0,103,114,101,121,52,54,0,103,114,101,121,52,55,0,103,114,101,121,52,56,0,103,114,101,121,52,57,0,103,114,101,121,53,0,103,114,101,121,53,48,0,103,114,101,121,53,49,0,103,114,101,121,53,50,0,103,114,101,121,53,51,0,103,114,101,121,53,52,0,103,114,101,121,53,53,0,103,114,101,121,53,54,0,103,114,101,121,53,55,0,103,114,101,121,53,56,0,103,114,101,121,53,57,0,103,114,101,121,54,0,103,114,101,121,54,48,0,103,114,101,121,54,49,0,103,114,101,121,54,50,0,103,114,101,121,54,51,0,103,114,101,121,54,52,0,103,114,101,121,54,53,0,103,114,101,121,54,54,0,103,114,101,121,54,55,0,103,114,101,121,54,56,0,103,114,101,121,54,57,0,103,114,101,121,55,0,103,114,101,121,55,48,0,103,114,101,121,55,49,0,103,114,101,121,55,50,0,103,114,101,121,55,51,0,103,114,101,121,55,52,0,103,114,101,121,55,53,0,103,114,101,121,55,54,0,103,114,101,121,55,55,0,103,114,101,121,55,56,0,103,114,101,121,55,57,0,103,114,101,121,56,0,103,114,101,121,56,48,0,103,114,101,121,56,49,0,103,114,101,121,56,50,0,103,114,101,121,56,51,0,103,114,101,121,56,52,0,103,114,101,121,56,53,0,103,114,101,121,56,54,0,103,114,101,121,56,55,0,103,114,101,121,56,56,0,103,114,101,121,56,57,0,103,114,101,121,57,0,103,114,101,121,57,48,0,103,114,101,121,57,49,0,103,114,101,121,57,50,0,103,114,101,121,57,51,0,103,114,101,121,57,52,0,103,114,101,121,57,53,0,103,114,101,121,57,54,0,103,114,101,121,57,55,0,103,114,101,121,57,56,0,103,114,101,121,57,57,0,104,111,110,101,121,100,101,119,0,104,111,110,101,121,100,101,119,49,0,104,111,110,101,121,100,101,119,50,0,104,111,110,101,121,100,101,119,51,0,104,111,110,101,121,100,101,119,52,0,104,111,116,112,105,110,107,0,104,111,116,112,105,110,107,49,0,104,111,116,112,105,110,107,50,0,104,111,116,112,105,110,107,51,0,104,111,116,112,105,110,107,52,0,105,110,100,105,97,110,114,101,100,0,105,110,100,105,97,110,114,101,100,49,0,105,110,100,105,97,110,114,101,100,50,0,105,110,100,105,97,110,114,101,100,51,0,105,110,100,105,97,110,114,101,100,52,0,105,110,100,105,103,111,0,105,110,118,105,115,0,105,118,111,114,121,0,105,118,111,114,121,49,0,105,118,111,114,121,50,0,105,118,111,114,121,51,0,105,118,111,114,121,52,0,107,104,97,107,105,0,107,104,97,107,105,49,0,107,104,97,107,105,50,0,107,104,97,107,105,51,0,107,104,97,107,105,52,0,108,97,118,101,110,100,101,114,0,108,97,118,101,110,100,101,114,98,108,117,115,104,0,108,97,118,101,110,100,101,114,98,108,117,115,104,49,0,108,97,118,101,110,100,101,114,98,108,117,115,104,50,0,108,97,118,101,110,100,101,114,98,108,117,115,104,51,0,108,97,118,101,110,100,101,114,98,108,117,115,104,52,0,108,97,119,110,103,114,101,101,110,0,108,101,109,111,110,99,104,105,102,102,111,110,0,108,101,109,111,110,99,104,105,102,102,111,110,49,0,108,101,109,111,110,99,104,105,102,102,111,110,50,0,108,101,109,111,110,99,104,105,102,102,111,110,51,0,108,101,109,111,110,99,104,105,102,102,111,110,52,0,108,105,103,104,116,98,108,117,101,0,108,105,103,104,116,98,108,117,101,49,0,108,105,103,104,116,98,108,117,101,50,0,108,105,103,104,116,98,108,117,101,51,0,108,105,103,104,116,98,108,117,101,52,0,108,105,103,104,116,99,111,114,97,108,0,108,105,103,104,116,99,121,97,110,0,108,105,103,104,116,99,121,97,110,49,0,108,105,103,104,116,99,121,97,110,50,0,108,105,103,104,116,99,121,97,110,51,0,108,105,103,104,116,99,121,97,110,52,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,49,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,50,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,51,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,52,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,121,101,108,108,111,119,0,108,105,103,104,116,103,114,97,121,0,108,105,103,104,116,103,114,101,121,0,108,105,103,104,116,112,105,110,107,0,108,105,103,104,116,112,105,110,107,49,0,108,105,103,104,116,112,105,110,107,50,0,108,105,103,104,116,112,105,110,107,51,0,108,105,103,104,116,112,105,110,107,52,0,108,105,103,104,116,115,97,108,109,111,110,0,108,105,103,104,116,115,97,108,109,111,110,49,0,108,105,103,104,116,115,97,108,109,111,110,50,0,108,105,103,104,116,115,97,108,109,111,110,51,0,108,105,103,104,116,115,97,108,109,111,110,52,0,108,105,103,104,116,115,101,97,103,114,101,101,110,0,108,105,103,104,116,115,107,121,98,108,117,101,0,108,105,103,104,116,115,107,121,98,108,117,101,49,0,108,105,103,104,116,115,107,121,98,108,117,101,50,0,108,105,103,104,116,115,107,121,98,108,117,101,51,0,108,105,103,104,116,115,107,121,98,108,117,101,52,0,108,105,103,104,116,115,108,97,116,101,98,108,117,101,0,108,105,103,104,116,115,108,97,116,101,103,114,97,121,0,108,105,103,104,116,115,108,97,116,101,103,114,101,121,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,49,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,50,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,51,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,52,0,108,105,103,104,116,121,101,108,108,111,119,0,108,105,103,104,116,121,101,108,108,111,119,49,0,108,105,103,104,116,121,101,108,108,111,119,50,0,108,105,103,104,116,121,101,108,108,111,119,51,0,108,105,103,104,116,121,101,108,108,111,119,52,0,108,105,109,101,103,114,101,101,110,0,108,105,110,101,110,0,109,97,103,101,110,116,97,0,109,97,103,101,110,116,97,49,0,109,97,103,101,110,116,97,50,0,109,97,103,101,110,116,97,51,0,109,97,103,101,110,116,97,52,0,109,97,114,111,111,110,0,109,97,114,111,111,110,49,0,109,97,114,111,111,110,50,0,109,97,114,111,111,110,51,0,109,97,114,111,111,110,52,0,109,101,100,105,117,109,97,113,117,97,109,97,114,105,110,101,0,109,101,100,105,117,109,98,108,117,101,0,109,101,100,105,117,109,111,114,99,104,105,100,0,109,101,100,105,117,109,111,114,99,104,105,100,49,0,109,101,100,105,117,109,111,114,99,104,105,100,50,0,109,101,100,105,117,109,111,114,99,104,105,100,51,0,109,101,100,105,117,109,111,114,99,104,105,100,52,0,109,101,100,105,117,109,112,117,114,112,108,101,0,109,101,100,105,117,109,112,117,114,112,108,101,49,0,109,101,100,105,117,109,112,117,114,112,108,101,50,0,109,101,100,105,117,109,112,117,114,112,108,101,51,0,109,101,100,105,117,109,112,117,114,112,108,101,52,0,109,101,100,105,117,109,115,101,97,103,114,101,101,110,0,109,101,100,105,117,109,115,108,97,116,101,98,108,117,101,0,109,101,100,105,117,109,115,112,114,105,110,103,103,114,101,101,110,0,109,101,100,105,117,109,116,117,114,113,117,111,105,115,101,0,109,101,100,105,117,109,118,105,111,108,101,116,114,101,100,0,109,105,100,110,105,103,104,116,98,108,117,101,0,109,105,110,116,99,114,101,97,109,0,109,105,115,116,121,114,111,115,101,0,109,105,115,116,121,114,111,115,101,49,0,109,105,115,116,121,114,111,115,101,50,0,109,105,115,116,121,114,111,115,101,51,0,109,105,115,116,121,114,111,115,101,52,0,109,111,99,99,97,115,105,110,0,110,97,118,97,106,111,119,104,105,116,101,0,110,97,118,97,106,111,119,104,105,116,101,49,0,110,97,118,97,106,111,119,104,105,116,101,50,0,110,97,118,97,106,111,119,104,105,116,101,51,0,110,97,118,97,106,111,119,104,105,116,101,52,0,110,97,118,121,0,110,97,118,121,98,108,117,101,0,110,111,110,101,0,111,108,100,108,97,99,101,0,111,108,105,118,101,100,114,97,98,0,111,108,105,118,101,100,114,97,98,49,0,111,108,105,118,101,100,114,97,98,50,0,111,108,105,118,101,100,114,97,98,51,0,111,108,105,118,101,100,114,97,98,52,0,111,114,97,110,103,101,0,111,114,97,110,103,101,49,0,111,114,97,110,103,101,50,0,111,114,97,110,103,101,51,0,111,114,97,110,103,101,52,0,111,114,97,110,103,101,114,101,100,0,111,114,97,110,103,101,114,101,100,49,0,111,114,97,110,103,101,114,101,100,50,0,111,114,97,110,103,101,114,101,100,51,0,111,114,97,110,103,101,114,101,100,52,0,111,114,99,104,105,100,0,111,114,99,104,105,100,49,0,111,114,99,104,105,100,50,0,111,114,99,104,105,100,51,0,111,114,99,104,105,100,52,0,112,97,108,101,103,111,108,100,101,110,114,111,100,0,112,97,108,101,103,114,101,101,110,0,112,97,108,101,103,114,101,101,110,49,0,112,97,108,101,103,114,101,101,110,50,0,112,97,108,101,103,114,101,101,110,51,0,112,97,108,101,103,114,101,101,110,52,0,112,97,108,101,116,117,114,113,117,111,105,115,101,0,112,97,108,101,116,117,114,113,117,111,105,115,101,49,0,112,97,108,101,116,117,114,113,117,111,105,115,101,50,0,112,97,108,101,116,117,114,113,117,111,105,115,101,51,0,112,97,108,101,116,117,114,113,117,111,105,115,101,52,0,112,97,108,101,118,105,111,108,101,116,114,101,100,0,112,97,108,101,118,105,111,108,101,116,114,101,100,49,0,112,97,108,101,118,105,111,108,101,116,114,101,100,50,0,112,97,108,101,118,105,111,108,101,116,114,101,100,51,0,112,97,108,101,118,105,111,108,101,116,114,101,100,52,0,112,97,112,97,121,97,119,104,105,112,0,112,101,97,99,104,112,117,102,102,0,112,101,97,99,104,112,117,102,102,49,0,112,101,97,99,104,112,117,102,102,50,0,112,101,97,99,104,112,117,102,102,51,0,112,101,97,99,104,112,117,102,102,52,0,112,101,114,117,0,112,105,110,107,0,112,105,110,107,49,0,112,105,110,107,50,0,112,105,110,107,51,0,112,105,110,107,52,0,112,108,117,109,0,112,108,117,109,49,0,112,108,117,109,50,0,112,108,117,109,51,0,112,108,117,109,52,0,112,111,119,100,101,114,98,108,117,101,0,112,117,114,112,108,101,0,112,117,114,112,108,101,49,0,112,117,114,112,108,101,50,0,112,117,114,112,108,101,51,0,112,117,114,112,108,101,52,0,114,101,100,0,114,101,100,49,0,114,101,100,50,0,114,101,100,51,0,114,101,100,52,0,114,111,115,121,98,114,111,119,110,0,114,111,115,121,98,114,111,119,110,49,0,114,111,115,121,98,114,111,119,110,50,0,114,111,115,121,98,114,111,119,110,51,0,114,111,115,121,98,114,111,119,110,52,0,114,111,121,97,108,98,108,117,101,0,114,111,121,97,108,98,108,117,101,49,0,114,111,121,97,108,98,108,117,101,50,0,114,111,121,97,108,98,108,117,101,51,0,114,111,121,97,108,98,108,117,101,52,0,115,97,100,100,108,101,98,114,111,119,110,0,115,97,108,109,111,110,0,115,97,108,109,111,110,49,0,115,97,108,109,111,110,50,0,115,97,108,109,111,110,51,0,115,97,108,109,111,110,52,0,115,97,110,100,121,98,114,111,119,110,0,115,101,97,103,114,101,101,110,0,115,101,97,103,114,101,101,110,49,0,115,101,97,103,114,101,101,110,50,0,115,101,97,103,114,101,101,110,51,0,115,101,97,103,114,101,101,110,52,0,115,101,97,115,104,101,108,108,0,115,101,97,115,104,101,108,108,49,0,115,101,97,115,104,101,108,108,50,0,115,101,97,115,104,101,108,108,51,0,115,101,97,115,104,101,108,108,52,0,115,105,101,110,110,97,0,115,105,101,110,110,97,49,0,115,105,101,110,110,97,50,0,115,105,101,110,110,97,51,0,115,105,101,110,110,97,52,0,115,107,121,98,108,117,101,0,115,107,121,98,108,117,101,49,0,115,107,121,98,108,117,101,50,0,115,107,121,98,108,117,101,51,0,115,107,121,98,108,117,101,52,0,115,108,97,116,101,98,108,117,101,0,115,108,97,116,101,98,108,117,101,49,0,115,108,97,116,101,98,108,117,101,50,0,115,108,97,116,101,98,108,117,101,51,0,115,108,97,116,101,98,108,117,101,52,0,115,108,97,116,101,103,114,97,121,0,115,108,97,116,101,103,114,97,121,49,0,115,108,97,116,101,103,114,97,121,50,0,115,108,97,116,101,103,114,97,121,51,0,115,108,97,116,101,103,114,97,121,52,0,115,108,97,116,101,103,114,101,121,0,115,110,111,119,0,115,110,111,119,49,0,115,110,111,119,50,0,115,110,111,119,51,0,115,110,111,119,52,0,115,112,114,105,110,103,103,114,101,101,110,0,115,112,114,105,110,103,103,114,101,101,110,49,0,115,112,114,105,110,103,103,114,101,101,110,50,0,115,112,114,105,110,103,103,114,101,101,110,51,0,115,112,114,105,110,103,103,114,101,101,110,52,0,115,116,101,101,108,98,108,117,101,0,115,116,101,101,108,98,108,117,101,49,0,115,116,101,101,108,98,108,117,101,50,0,115,116,101,101,108,98,108,117,101,51,0,115,116,101,101,108,98,108,117,101,52,0,116,97,110,0,116,97,110,49,0,116,97,110,50,0,116,97,110,51,0,116,97,110,52,0,116,104,105,115,116,108,101,0,116,104,105,115,116,108,101,49,0,116,104,105,115,116,108,101,50,0,116,104,105,115,116,108,101,51,0,116,104,105,115,116,108,101,52,0,116,111,109,97,116,111,0,116,111,109,97,116,111,49,0,116,111,109,97,116,111,50,0,116,111,109,97,116,111,51,0,116,111,109,97,116,111,52,0,116,117,114,113,117,111,105,115,101,0,116,117,114,113,117,111,105,115,101,49,0,116,117,114,113,117,111,105,115,101,50,0,116,117,114,113,117,111,105,115,101,51,0,116,117,114,113,117,111,105,115,101,52,0,118,105,111,108,101,116,0,118,105,111,108,101,116,114,101,100,0,118,105,111,108,101,116,114,101,100,49,0,118,105,111,108,101,116,114,101,100,50,0,118,105,111,108,101,116,114,101,100,51,0,118,105,111,108,101,116,114,101,100,52,0,119,104,101,97,116,0,119,104,101,97,116,49,0,119,104,101,97,116,50,0,119,104,101,97,116,51,0,119,104,101,97,116,52,0,119,104,105,116,101,0,119,104,105,116,101,115,109,111,107,101,0,121,101,108,108,111,119,0,121,101,108,108,111,119,49,0,121,101,108,108,111,119,50,0,121,101,108,108,111,119,51,0,121,101,108,108,111,119,52,0,121,101,108,108,111,119,103,114,101,101,110,0,108,97,99,107,0,104,105,116,101,0,105,103,104,116,103,114,101,121,0,88,49,49,47,0,47,37,115,47,37,115,0,105,109,97,103,101,115,99,97,108,101,0,102,97,108,115,101,0,98,108,97,99,107,0,100,111,116,116,101,100,0,100,97,115,104,101,100,0,99,112,45,62,115,114,99,0,104,116,109,108,116,97,98,108,101,46,99,0,101,109,105,116,95,104,116,109,108,95,105,109,103,0,99,112,45,62,115,114,99,91,48,93,0,116,114,97,110,115,112,97,114,101,110,116,0,95,37,100,0,37,100,0,49,0,50,0,51,0,52,0,53,0,54,0,55,0,56,0,57,0,49,48,0,49,49,0,49,50,0,49,51,0,49,52,0,49,53,0,49,54,0,49,55,0,49,56,0,49,57,0,50,48,0,65,103,110,111,100,101,105,110,102,111,95,116,0,65,103,101,100,103,101,105,110,102,111,95,116,0,114,111,119,103,0,99,111,108,103,0,65,103,114,97,112,104,105,110,102,111,95,116,0,100,101,108,120,32,62,61,32,48,0,112,111,115,95,104,116,109,108,95,116,98,108,0,100,101,108,121,32,62,61,32,48,0,116,97,98,108,101,32,115,105,122,101,32,116,111,111,32,115,109,97,108,108,32,102,111,114,32,99,111,110,116,101,110,116,10,0,102,105,120,101,100,32,116,97,98,108,101,32,115,105,122,101,32,119,105,116,104,32,117,110,115,112,101,99,105,102,105,101,100,32,119,105,100,116,104,32,111,114,32,104,101,105,103,104,116,10,0,99,101,108,108,32,115,105,122,101,32,116,111,111,32,115,109,97,108,108,32,102,111,114,32,99,111,110,116,101,110,116,10,0,102,105,120,101,100,32,99,101,108,108,32,115,105,122,101,32,119,105,116,104,32,117,110,115,112,101,99,105,102,105,101,100,32,119,105,100,116,104,32,111,114,32,104,101,105,103,104,116,10,0,78,111,32,111,114,32,105,109,112,114,111,112,101,114,32,105,109,97,103,101,32,102,105,108,101,61,34,37,115,34,10,0,112,101,110,99,111,108,111,114,0,45,62,0,102,80,81,46,99,0,80,81,99,104,101,99,107,0,72,101,97,112,32,111,118,101,114,102,108,111,119,10,0,37,33,80,83,45,65,100,111,98,101,45,50,46,48,10,47,110,111,100,101,32,123,10,32,32,47,89,32,101,120,99,104,32,100,101,102,10,32,32,47,88,32,101,120,99,104,32,100,101,102,10,32,32,47,121,32,101,120,99,104,32,100,101,102,10,32,32,47,120,32,101,120,99,104,32,100,101,102,10,32,32,110,101,119,112,97,116,104,10,32,32,120,32,121,32,109,111,118,101,116,111,10,32,32,120,32,89,32,108,105,110,101,116,111,10,32,32,88,32,89,32,108,105,110,101,116,111,10,32,32,88,32,121,32,108,105,110,101,116,111,10,32,32,99,108,111,115,101,112,97,116,104,32,102,105,108,108,10,125,32,100,101,102,10,47,99,101,108,108,32,123,10,32,32,47,89,32,101,120,99,104,32,100,101,102,10,32,32,47,88,32,101,120,99,104,32,100,101,102,10,32,32,47,121,32,101,120,99,104,32,100,101,102,10,32,32,47,120,32,101,120,99,104,32,100,101,102,10,32,32,110,101,119,112,97,116,104,10,32,32,120,32,121,32,109,111,118,101,116,111,10,32,32,120,32,89,32,108,105,110,101,116,111,10,32,32,88,32,89,32,108,105,110,101,116,111,10,32,32,88,32,121,32,108,105,110,101,116,111,10,32,32,99,108,111,115,101,112,97,116,104,32,115,116,114,111,107,101,10,125,32,100,101,102,10,0,115,104,111,119,112,97,103,101,10,0,102,97,105,108,101,100,32,97,116,32,110,111,100,101,32,37,100,91,48,93,10,0,110,112,45,62,99,101,108,108,115,91,48,93,0,109,97,122,101,46,99,0,99,104,107,83,103,114,97,112,104,0,102,97,105,108,101,100,32,97,116,32,110,111,100,101,32,37,100,91,49,93,10,0,110,112,45,62,99,101,108,108,115,91,49,93,0,100,105,116,101,109,115,0,102,105,110,100,83,86,101,114,116,0,37,37,37,37,80,97,103,101,58,32,49,32,49,10,37,37,37,37,80,97,103,101,66,111,117,110,100,105,110,103,66,111,120,58,32,37,100,32,37,100,32,37,100,32,37,100,10,0,37,102,32,37,102,32,116,114,97,110,115,108,97,116,101,10,0,48,32,48,32,49,32,115,101,116,114,103,98,99,111,108,111,114,10,0,37,102,32,37,102,32,37,102,32,37,102,32,110,111,100,101,10,0,48,32,48,32,48,32,115,101,116,114,103,98,99,111,108,111,114,10,0,37,102,32,37,102,32,37,102,32,37,102,32,99,101,108,108,10,0,49,32,48,32,48,32,115,101,116,114,103,98,99,111,108,111,114,10,0,117,110,101,120,112,101,99,116,101,100,32,99,97,115,101,32,105,110,32,108,111,99,97,116,101,95,101,110,100,112,111,105,110,116,10,0,48,0,116,114,97,112,101,122,111,105,100,46,99,0,108,111,99,97,116,101,95,101,110,100,112,111,105,110,116,0,97,100,100,95,115,101,103,109,101,110,116,58,32,101,114,114,111,114,10,0,110,101,119,110,111,100,101,58,32,81,117,101,114,121,45,116,97,98,108,101,32,111,118,101,114,102,108,111,119,10,0,110,101,119,110,111,100,101,0,110,101,119,116,114,97,112,58,32,84,114,97,112,101,122,111,105,100,45,116,97,98,108,101,32,111,118,101,114,102,108,111,119,32,37,100,10,0,110,101,119,116,114,97,112,0,105,110,100,101,120,46,99,0,82,84,114,101,101,83,101,97,114,99,104,0,110,45,62,108,101,118,101,108,32,62,61,32,48,0,82,84,114,101,101,73,110,115,101,114,116,0,108,101,118,101,108,32,62,61,32,48,32,38,38,32,108,101,118,101,108,32,60,61,32,40,42,110,41,45,62,108,101,118,101,108,0,114,45,62,98,111,117,110,100,97,114,121,91,105,93,32,60,61,32,114,45,62,98,111,117,110,100,97,114,121,91,78,85,77,68,73,77,83,32,43,32,105,93,0,114,32,38,38,32,110,32,38,38,32,110,101,119,0,82,84,114,101,101,73,110,115,101,114,116,50,0,108,101,118,101,108,32,62,61,32,48,32,38,38,32,108,101,118,101,108,32,60,61,32,110,45,62,108,101,118,101,108,0,70,65,76,83,69,0,110,111,100,101,46,99,0,78,111,100,101,67,111,118,101,114,0,114,32,38,38,32,110,0,80,105,99,107,66,114,97,110,99,104,0,65,100,100,66,114,97,110,99,104,0,105,32,60,32,78,79,68,69,67,65,82,68,0,110,101,119,0,110,32,38,38,32,105,32,62,61,32,48,32,38,38,32,105,32,60,32,78,79,68,69,67,65,82,68,0,68,105,115,99,111,110,66,114,97,110,99,104,0,114,0,114,101,99,116,97,110,103,108,101,46,99,0,82,101,99,116,65,114,101,97,0,114,32,38,38,32,114,114,0,67,111,109,98,105,110,101,82,101,99,116,0,114,32,38,38,32,115,0,79,118,101,114,108,97,112,0,110,0,115,112,108,105,116,46,113,46,99,0,83,112,108,105,116,78,111,100,101,0,98,0,110,45,62,99,111,117,110,116,32,43,32,40,42,110,110,41,45,62,99,111,117,110,116,32,61,61,32,78,79,68,69,67,65,82,68,32,43,32,49,0,76,111,97,100,78,111,100,101,115,0,113,0,112,0,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,112,97,114,116,105,116,105,111,110,91,105,93,32,61,61,32,48,32,124,124,32,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,112,97,114,116,105,116,105,111,110,91,105,93,32,61,61,32,49,0,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,99,111,117,110,116,91,48,93,32,43,32,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,99,111,117,110,116,91,49,93,32,61,61,32,78,79,68,69,67,65,82,68,32,43,32,49,0,77,101,116,104,111,100,90,101,114,111,0,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,99,111,117,110,116,91,48,93,32,62,61,32,114,116,112,45,62,77,105,110,70,105,108,108,32,38,38,32,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,99,111,117,110,116,91,49,93,32,62,61,32,114,116,112,45,62,77,105,110,70,105,108,108,0,33,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,116,97,107,101,110,91,105,93,0,67,108,97,115,115,105,102,121,0,71,101,116,66,114,97,110,99,104,101,115,0,110,45,62,98,114,97,110,99,104,91,105,93,46,99,104,105,108,100,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,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,2,2,2,2,2,2,16,12,89,1,0,31,80,8,3,7,18,19,20,87,22,23,8,11,105,12,31,10,5,12,14,41,17,43,15,45,16,47,48,32,50,6,52,53,27,28,29,30,11,12,33,34,35,36,37,38,39,40,12,24,25,23,4,10,27,28,26,32,42,10,33,34,35,36,37,38,39,40,12,10,14,83,10,44,88,49,88,88,88,88,88,88,12,27,28,15,46,88,51,33,34,35,36,37,38,39,40,27,28,255,83,255,255,33,34,35,36,37,38,39,40,12,255,255,5,255,255,255,9,20,255,255,255,255,255,12,27,28,255,16,21,22,33,34,35,36,37,38,39,40,27,28,255,255,255,255,33,34,35,36,37,38,39,40,12,255,18,19,20,17,22,23,255,255,255,255,255,255,12,27,28,255,255,255,18,33,34,35,36,37,38,39,40,27,28,255,255,255,255,33,34,35,36,37,38,39,40,12,255,255,255,255,255,255,19,255,255,255,255,255,255,12,27,28,255,255,255,255,33,34,35,36,37,38,39,40,27,28,255,255,255,255,33,34,35,36,37,38,39,40,18,19,20,21,22,23,24,25,255,255,255,255,255,255,255,255,255,35,36,37,38,39,27,18,19,20,22,23,34,54,104,1,31,56,86,33,32,2,27,27,27,94,27,27,55,57,112,54,210,194,79,4,60,34,71,34,63,34,68,34,34,88,34,101,34,34,5,6,95,96,57,4,7,8,9,10,11,12,13,14,4,102,103,93,106,109,5,6,111,88,59,113,7,8,9,10,11,12,13,14,4,114,60,91,115,62,97,70,27,18,19,20,22,23,4,5,6,63,65,98,73,7,8,9,10,11,12,13,14,5,6,0,92,0,0,7,8,9,10,11,12,13,14,4,0,0,79,0,0,0,83,66,0,0,0,0,0,4,5,6,0,68,84,85,7,8,9,10,11,12,13,14,5,6,0,0,0,0,7,8,9,10,11,12,13,14,4,0,42,44,46,71,49,51,0,0,0,0,0,0,4,5,6,0,0,0,74,7,8,9,10,11,12,13,14,5,6,0,0,0,0,7,8,9,10,11,12,13,14,4,0,0,0,0,0,0,76,0,0,0,0,0,0,4,5,6,0,0,0,0,7,8,9,10,11,12,13,14,5,6,0,0,0,0,7,8,9,10,11,12,13,14,41,43,45,47,48,50,52,53,0,0,0,0,0,0,0,0,0,41,43,45,48,50,0,4,47,0,36,35,0,18,20,22,26,28,30,32,24,0,5,7,47,47,47,0,47,47,0,0,9,8,40,0,0,1,34,2,6,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,37,3,38,19,10,41,21,11,42,23,14,45,25,17,27,12,43,29,13,44,31,15,33,16,0,51,0,48,0,47,67,0,49,0,47,0,53,46,39,66,50,65,0,58,56,0,60,52,69,0,54,0,64,0,0,63,0,68,55,59,57,61,0,2,3,3,1,1,2,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,2,0,6,1,3,3,3,3,3,1,0,1,2,3,0,4,1,2,3,0,4,0,4,0,4,0,3,2,1,2,1,2,1,83,121,110,116,97,120,32,101,114,114,111,114,58,32,110,111,110,45,115,112,97,99,101,32,115,116,114,105,110,103,32,117,115,101,100,32,98,101,102,111,114,101,32,60,84,65,66,76,69,62,0,83,121,110,116,97,120,32,101,114,114,111,114,58,32,110,111,110,45,115,112,97,99,101,32,115,116,114,105,110,103,32,117,115,101,100,32,97,102,116,101,114,32,60,47,84,65,66,76,69,62,0,0,41,42,42,42,43,44,44,45,45,45,45,45,45,45,45,45,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,62,63,63,65,64,66,66,66,66,66,66,67,67,68,68,68,70,69,71,71,71,73,72,74,72,75,72,76,72,77,77,78,78,79,79,255,3,15,16,17,35,58,36,61,37,64,21,67,38,69,39,72,24,75,25,77,26,40,28,78,29,30,80,81,82,89,90,108,107,110,99,100,87,105,109,101,109,111,114,121,32,101,120,104,97,117,115,116,101,100,0,37,115,32,105,110,32,108,105,110,101,32,37,100,32,10,0,46,46,46,32,37,115,32,46,46,46,10,0,84,65,66,76,69,0,84,82,0,84,72,0,84,68,0,72,84,77,76,0,70,79,78,84,0,66,0,85,0,79,0,73,0,83,85,80,0,83,85,66,0,83,0,66,82,0,72,82,0,86,82,0,73,77,71,0,85,110,107,110,111,119,110,32,72,84,77,76,32,101,108,101,109,101,110,116,32,60,37,115,62,32,111,110,32,108,105,110,101,32,37,100,32,10,0,60,73,77,71,62,0,73,108,108,101,103,97,108,32,97,116,116,114,105,98,117,116,101,32,37,115,32,105,110,32,37,115,32,45,32,105,103,110,111,114,101,100,10,0,115,99,97,108,101,0,115,114,99,0,60,66,82,62,0,97,108,105,103,110,0,73,71,72,84,0,69,70,84,0,69,78,84,69,82,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,65,76,73,71,78,32,45,32,105,103,110,111,114,101,100,10,0,60,70,79,78,84,62,0,99,111,108,111,114,0,102,97,99,101,0,112,111,105,110,116,45,115,105,122,101,0,80,79,73,78,84,45,83,73,90,69,0,73,109,112,114,111,112,101,114,32,37,115,32,118,97,108,117,101,32,37,115,32,45,32,105,103,110,111,114,101,100,0,37,115,32,118,97,108,117,101,32,37,115,32,62,32,37,100,32,45,32,116,111,111,32,108,97,114,103,101,32,45,32,105,103,110,111,114,101,100,0,37,115,32,118,97,108,117,101,32,37,115,32,60,32,37,100,32,45,32,116,111,111,32,115,109,97,108,108,32,45,32,105,103,110,111,114,101,100,0,60,84,68,62,0,98,97,108,105,103,110,0,98,103,99,111,108,111,114,0,98,111,114,100,101,114,0,99,101,108,108,112,97,100,100,105,110,103,0,99,101,108,108,115,112,97,99,105,110,103,0,99,111,108,115,112,97,110,0,102,105,120,101,100,115,105,122,101,0,103,114,97,100,105,101,110,116,97,110,103,108,101,0,104,101,105,103,104,116,0,104,114,101,102,0,105,100,0,112,111,114,116,0,114,111,119,115,112,97,110,0,115,105,100,101,115,0,115,116,121,108,101,0,116,97,114,103,101,116,0,116,105,116,108,101,0,116,111,111,108,116,105,112,0,118,97,108,105,103,110,0,119,105,100,116,104,0,87,73,68,84,72,0,79,84,84,79,77,0,79,80,0,73,68,68,76,69,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,86,65,76,73,71,78,32,45,32,105,103,110,111,114,101,100,10,0,32,44,0,79,85,78,68,69,68,0,65,68,73,65,76,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,83,84,89,76,69,32,45,32,105,103,110,111,114,101,100,10,0,83,79,76,73,68,0,73,78,86,73,83,73,66,76,69,0,73,78,86,73,83,0,68,79,84,84,69,68,0,68,65,83,72,69,68,0,85,110,114,101,99,111,103,110,105,122,101,100,32,99,104,97,114,97,99,116,101,114,32,39,37,99,39,32,40,37,100,41,32,105,110,32,115,105,100,101,115,32,97,116,116,114,105,98,117,116,101,10,0,82,79,87,83,80,65,78,0,82,79,87,83,80,65,78,32,118,97,108,117,101,32,99,97,110,110,111,116,32,98,101,32,48,32,45,32,105,103,110,111,114,101,100,10,0,72,69,73,71,72,84,0,71,82,65,68,73,69,78,84,65,78,71,76,69,0,82,85,69,0,65,76,83,69,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,70,73,88,69,68,83,73,90,69,32,45,32,105,103,110,111,114,101,100,10,0,67,79,76,83,80,65,78,0,67,79,76,83,80,65,78,32,118,97,108,117,101,32,99,97,110,110,111,116,32,98,101,32,48,32,45,32,105,103,110,111,114,101,100,10,0,67,69,76,76,83,80,65,67,73,78,71,0,67,69,76,76,80,65,68,68,73,78,71,0,66,79,82,68,69,82,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,66,65,76,73,71,78,32,105,110,32,84,68,32,45,32,105,103,110,111,114,101,100,10,0,69,88,84,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,65,76,73,71,78,32,105,110,32,84,68,32,45,32,105,103,110,111,114,101,100,10,0,60,84,65,66,76,69,62,0,99,101,108,108,98,111,114,100,101,114,0,99,111,108,117,109,110,115,0,114,111,119,115,0,85,110,107,110,111,119,110,32,118,97,108,117,101,32,37,115,32,102,111,114,32,82,79,87,83,32,45,32,105,103,110,111,114,101,100,10,0,85,110,107,110,111,119,110,32,118,97,108,117,101,32,37,115,32,102,111,114,32,67,79,76,85,77,78,83,32,45,32,105,103,110,111,114,101,100,10,0,67,69,76,76,83,66,79,82,68,69,82,0,60,72,84,77,76,62,0,60,47,72,84,77,76,62,0,45,45,0,76,97,98,101,108,32,99,108,111,115,101,100,32,98,101,102,111,114,101,32,101,110,100,32,111,102,32,72,84,77,76,32,101,108,101,109,101,110,116,10,0,85,110,99,108,111,115,101,100,32,99,111,109,109,101,110,116,10,0,106,32,61,61,32,48,0,99,118,116,46,99,0,80,111,98,115,112,97,116,104,0,114,111,117,116,101,46,99,0,108,105,98,112,97,116,104,47,37,115,58,37,100,58,32,37,115,10,0,115,104,111,114,116,101,115,116,46,99,0,115,111,117,114,99,101,32,112,111,105,110,116,32,110,111,116,32,105,110,32,97,110,121,32,116,114,105,97,110,103,108,101,0,100,101,115,116,105,110,97,116,105,111,110,32,112,111,105,110,116,32,110,111,116,32,105,110,32,97,110,121,32,116,114,105,97,110,103,108,101,0,99,97,110,110,111,116,32,102,105,110,100,32,116,114,105,97,110,103,108,101,32,112,97,116,104,0,99,97,110,110,111,116,32,109,97,108,108,111,99,32,111,112,115,0,99,97,110,110,111,116,32,114,101,97,108,108,111,99,32,111,112,115,0,116,114,105,97,110,103,117,108,97,116,105,111,110,32,102,97,105,108,101,100,0,99,97,110,110,111,116,32,109,97,108,108,111,99,32,116,114,105,115,0,99,97,110,110,111,116,32,114,101,97,108,108,111,99,32,116,114,105,115,0,99,97,110,110,111,116,32,109,97,108,108,111,99,32,100,113,46,112,110,108,115,0,99,97,110,110,111,116,32,114,101,97,108,108,111,99,32,100,113,46,112,110,108,115,0,99,97,110,110,111,116,32,109,97,108,108,111,99,32,112,110,108,115,0,99,97,110,110,111,116,32,109,97,108,108,111,99,32,112,110,108,112,115,0,99,97,110,110,111,116,32,114,101,97,108,108,111,99,32,112,110,108,115,0,99,97,110,110,111,116,32,114,101,97,108,108,111,99,32,112,110,108,112,115,0,67,68,65,84,65,0,73,68,0,73,68,82,69,70,0,73,68,82,69,70,83,0,69,78,84,73,84,89,0,69,78,84,73,84,73,69,83,0,78,77,84,79,75,69,78,0,78,77,84,79,75,69,78,83,0,78,79,84,65,84,73,79,78,40,0,40,0,124,0,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,88,77,76,47,49,57,57,56,47,110,97,109,101,115,112,97,99,101,0,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,50,48,48,48,47,120,109,108,110,115,47,0,120,109,108,61,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,88,77,76,47,49,57,57,56,47,110,97,109,101,115,112,97,99,101,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,115,121,110,116,97,120,32,101,114,114,111,114,0,110,111,32,101,108,101,109,101,110,116,32,102,111,117,110,100,0,110,111,116,32,119,101,108,108,45,102,111,114,109,101,100,32,40,105,110,118,97,108,105,100,32,116,111,107,101,110,41,0,117,110,99,108,111,115,101,100,32,116,111,107,101,110,0,112,97,114,116,105,97,108,32,99,104,97,114,97,99,116,101,114,0,109,105,115,109,97,116,99,104,101,100,32,116,97,103,0,100,117,112,108,105,99,97,116,101,32,97,116,116,114,105,98,117,116,101,0,106,117,110,107,32,97,102,116,101,114,32,100,111,99,117,109,101,110,116,32,101,108,101,109,101,110,116,0,105,108,108,101,103,97,108,32,112,97,114,97,109,101,116,101,114,32,101,110,116,105,116,121,32,114,101,102,101,114,101,110,99,101,0,117,110,100,101,102,105,110,101,100,32,101,110,116,105,116,121,0,114,101,99,117,114,115,105,118,101,32,101,110,116,105,116,121,32,114,101,102,101,114,101,110,99,101,0,97,115,121,110,99,104,114,111,110,111,117,115,32,101,110,116,105,116,121,0,114,101,102,101,114,101,110,99,101,32,116,111,32,105,110,118,97,108,105,100,32,99,104,97,114,97,99,116,101,114,32,110,117,109,98,101,114,0,114,101,102,101,114,101,110,99,101,32,116,111,32,98,105,110,97,114,121,32,101,110,116,105,116,121,0,114,101,102,101,114,101,110,99,101,32,116,111,32,101,120,116,101,114,110,97,108,32,101,110,116,105,116,121,32,105,110,32,97,116,116,114,105,98,117,116,101,0,88,77,76,32,111,114,32,116,101,120,116,32,100,101,99,108,97,114,97,116,105,111,110,32,110,111,116,32,97,116,32,115,116,97,114,116,32,111,102,32,101,110,116,105,116,121,0,117,110,107,110,111,119,110,32,101,110,99,111,100,105,110,103,0,101,110,99,111,100,105,110,103,32,115,112,101,99,105,102,105,101,100,32,105,110,32,88,77,76,32,100,101,99,108,97,114,97,116,105,111,110,32,105,115,32,105,110,99,111,114,114,101,99,116,0,117,110,99,108,111,115,101,100,32,67,68,65,84,65,32,115,101,99,116,105,111,110,0,101,114,114,111,114,32,105,110,32,112,114,111,99,101,115,115,105,110,103,32,101,120,116,101,114,110,97,108,32,101,110,116,105,116,121,32,114,101,102,101,114,101,110,99,101,0,100,111,99,117,109,101,110,116,32,105,115,32,110,111,116,32,115,116,97,110,100,97,108,111,110,101,0,117,110,101,120,112,101,99,116,101,100,32,112,97,114,115,101,114,32,115,116,97,116,101,32,45,32,112,108,101,97,115,101,32,115,101,110,100,32,97,32,98,117,103,32,114,101,112,111,114,116,0,101,110,116,105,116,121,32,100,101,99,108,97,114,101,100,32,105,110,32,112,97,114,97,109,101,116,101,114,32,101,110,116,105,116,121,0,114,101,113,117,101,115,116,101,100,32,102,101,97,116,117,114,101,32,114,101,113,117,105,114,101,115,32,88,77,76,95,68,84,68,32,115,117,112,112,111,114,116,32,105,110,32,69,120],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+133144);allocate([112,97,116,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,115,101,116,116,105,110,103,32,111,110,99,101,32,112,97,114,115,105,110,103,32,104,97,115,32,98,101,103,117,110,0,117,110,98,111,117,110,100,32,112,114,101,102,105,120,0,109,117,115,116,32,110,111,116,32,117,110,100,101,99,108,97,114,101,32,112,114,101,102,105,120,0,105,110,99,111,109,112,108,101,116,101,32,109,97,114,107,117,112,32,105,110,32,112,97,114,97,109,101,116,101,114,32,101,110,116,105,116,121,0,88,77,76,32,100,101,99,108,97,114,97,116,105,111,110,32,110,111,116,32,119,101,108,108,45,102,111,114,109,101,100,0,116,101,120,116,32,100,101,99,108,97,114,97,116,105,111,110,32,110,111,116,32,119,101,108,108,45,102,111,114,109,101,100,0,105,108,108,101,103,97,108,32,99,104,97,114,97,99,116,101,114,40,115,41,32,105,110,32,112,117,98,108,105,99,32,105,100,0,112,97,114,115,101,114,32,115,117,115,112,101,110,100,101,100,0,112,97,114,115,101,114,32,110,111,116,32,115,117,115,112,101,110,100,101,100,0,112,97,114,115,105,110,103,32,97,98,111,114,116,101,100,0,112,97,114,115,105,110,103,32,102,105,110,105,115,104,101,100,0,99,97,110,110,111,116,32,115,117,115,112,101,110,100,32,105,110,32,101,120,116,101,114,110,97,108,32,112,97,114,97,109,101,116,101,114,32,101,110,116,105,116,121,0,114,101,115,101,114,118,101,100,32,112,114,101,102,105,120,32,40,120,109,108,41,32,109,117,115,116,32,110,111,116,32,98,101,32,117,110,100,101,99,108,97,114,101,100,32,111,114,32,98,111,117,110,100,32,116,111,32,97,110,111,116,104,101,114,32,110,97,109,101,115,112,97,99,101,32,110,97,109,101,0,114,101,115,101,114,118,101,100,32,112,114,101,102,105,120,32,40,120,109,108,110,115,41,32,109,117,115,116,32,110,111,116,32,98,101,32,100,101,99,108,97,114,101,100,32,111,114,32,117,110,100,101,99,108,97,114,101,100,0,112,114,101,102,105,120,32,109,117,115,116,32,110,111,116,32,98,101,32,98,111,117,110,100,32,116,111,32,111,110,101,32,111,102,32,116,104,101,32,114,101,115,101,114,118,101,100,32,110,97,109,101,115,112,97,99,101,32,110,97,109,101,115,0,2,3,4,5,6,7,8,0,0,9,10,11,12,13,14,15,16,17,0,0,0,0,0,0,0,0,0,0,0,0,18,19,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,0,0,0,0,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,23,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,3,26,27,28,29,30,0,0,31,32,33,34,35,36,37,16,17,0,0,0,0,0,0,0,0,0,0,0,0,18,19,38,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,22,0,0,0,0,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,23,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,68,65,84,65,91,85,83,45,65,83,67,73,73,0,85,84,70,45,49,54,0,85,84,70,45,49,54,66,69,0,85,84,70,45,49,54,76,69,0,118,101,114,115,105,111,110,0,101,110,99,111,100,105,110,103,0,115,116,97,110,100,97,108,111,110,101,0,68,79,67,84,89,80,69,0,83,89,83,84,69,77,0,80,85,66,76,73,67,0,69,78,84,73,84,89,0,65,84,84,76,73,83,84,0,69,76,69,77,69,78,84,0,78,79,84,65,84,73,79,78,0,73,78,67,76,85,68,69,0,73,71,78,79,82,69,0,69,77,80,84,89,0,65,78,89,0,80,67,68,65,84,65,0,73,77,80,76,73,69,68,0,82,69,81,85,73,82,69,68,0,70,73,88,69,68,0,67,68,65,84,65,0,73,68,0,73,68,82,69,70,0,73,68,82,69,70,83,0,69,78,84,73,84,73,69,83,0,78,77,84,79,75,69,78,0,78,77,84,79,75,69,78,83,0,78,68,65,84,65,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,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,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,68,69,70,71,72,73,16,16,16,74,75,76,77,78,16,16,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,17,17,17,82,83,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,84,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,85,16,16,16,16,86,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,87,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,88,89,90,91,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,92,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,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,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,60,64,215,255,255,251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,254,255,255,255,127,2,254,255,255,255,255,0,0,0,0,0,255,191,182,0,255,255,255,7,7,0,0,0,255,7,255,255,255,255,255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,31,254,225,255,159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,1,0,0,0,0,0,0,0,0,253,31,0,0,0,0,0,0,240,3,255,127,255,255,255,255,255,255,255,239,255,223,225,255,207,255,254,254,238,159,249,255,255,253,197,227,159,89,128,176,207,255,3,0,238,135,249,255,255,253,109,195,135,25,2,94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,0,238,159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,255,195,199,29,129,0,192,255,0,0,238,223,253,255,255,253,239,227,223,29,96,3,207,255,0,0,236,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,236,223,253,255,255,255,255,231,223,93,128,0,207,255,0,252,236,255,127,252,255,255,251,47,127,128,95,255,0,0,12,0,254,255,255,255,255,127,255,7,63,32,255,3,0,0,0,0,150,37,240,254,174,236,255,59,95,32,255,243,0,0,0,0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,231,193,255,255,127,64,255,51,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,135,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,31,0,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,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,255,199,1,0,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,7,255,255,255,255,255,255,255,255,63,0,255,255,255,31,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,127,254,255,31,0,255,3,255,3,128,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,255,191,255,3,0,255,255,255,255,255,255,63,0,255,227,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,222,111,0,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,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243,224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,63,254,255,255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,255,127,240,143,255,255,255,128,255,255,255,255,255,255,255,255,255,255,0,0,0,0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,121,15,0,255,7,0,0,0,0,0,0,0,0,0,255,187,247,255,255,255,0,0,0,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,15,0,255,3,0,0,252,8,255,255,255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,255,0,128,255,3,0,0,0,0,255,255,255,255,255,255,127,0,255,63,255,3,255,255,127,4,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,126,0,127,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0,0,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,63,255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,3,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,63,0,255,255,255,3,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,254,255,255,15,0,0,0,0,0,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,255,255,255,255,199,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,30,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,0,255,3,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,31,0,255,255,255,255,255,127,0,0,248,255,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,255,255,255,253,255,255,247,207,255,255,255,255,255,255,239,255,255,255,150,254,247,10,132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0,18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,16,16,34,35,16,36,37,38,39,40,41,42,43,16,44,45,46,17,47,48,17,17,49,17,17,17,50,51,52,53,54,55,56,57,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,58,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,59,16,60,61,62,63,64,65,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,66,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,67,16,16,68,16,69,70,71,16,72,16,73,16,16,16,16,74,75,76,77,16,16,78,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,16,16,16,16,82,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,83,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,84,85,86,87,16,16,88,89,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,90,16,91,92,93,94,95,96,97,98,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,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,254,255,0,252,1,0,0,248,1,0,0,120,0,0,0,0,255,251,223,251,0,0,128,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,252,255,224,175,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,32,64,176,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,134,254,255,255,255,0,64,73,0,0,0,0,0,24,0,223,255,0,200,0,0,0,0,0,0,0,1,0,60,0,0,0,0,0,0,0,0,0,0,0,0,16,224,1,30,0,96,255,191,0,0,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,207,3,0,0,0,3,0,32,255,127,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,0,0,0,16,0,32,30,0,48,0,1,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,252,15,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,3,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,253,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,255,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,63,2,0,0,0,0,0,0,0,0,0,4,0,0,0,0,16,0,0,0,0,0,0,128,0,128,192,223,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,254,255,255,255,0,252,255,255,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,192,255,223,255,7,0,0,0,0,0,0,0,0,0,0,128,6,0,252,0,0,24,62,0,0,128,191,0,204,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,96,255,255,255,31,0,0,255,3,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,1,0,0,24,0,0,0,0,0,0,0,0,0,56,0,0,0,0,16,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,254,127,47,0,0,255,3,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,255,255,255,255,0,0,0,192,0,0,0,0,0,0,0,0,1,0,224,159,0,0,0,0,127,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,16,0,0,252,255,255,255,31,0,0,0,0,0,12,0,0,0,0,0,0,64,0,12,240,0,0,0,0,0,0,192,248,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,255,0,255,255,255,33,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,127,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,3,224,0,224,0,224,0,96,128,248,255,255,255,252,255,255,255,255,255,127,31,252,241,127,255,127,0,0,255,255,255,3,0,0,255,255,255,255,1,0,123,3,208,193,175,66,0,12,31,188,255,255,0,0,0,0,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,255,255,127,0,0,0,255,7,0,0,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,252,255,255,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,31,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,135,3,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,255,15,0,0,0,0,0,0,0,0,255,255,255,251,255,255,255,255,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,255,15,30,255,255,255,1,252,193,224,0,0,0,0,0,0,0,0,0,0,0,30,1,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,15,0,0,0,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,0,0,0,0,0,192,0,224,0,0,0,0,0,0,0,0,0,0,0,128,15,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,255,255,127,0,3,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,8,0,0,0,15,255,3,0,0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,16,192,0,0,255,255,3,7,0,0,0,0,0,248,0,0,0,0,8,128,0,0,0,0,0,0,0,0,0,0,8,0,255,63,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,0,128,11,0,0,0,0,0,0,0,128,2,0,0,192,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,255,255,255,3,127,0,255,255,255,255,247,255,127,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,254,255,0,252,1,0,0,248,1,0,0,248,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,127,0,48,135,255,255,255,255,255,143,255,0,0,0,0,0,0,224,255,255,7,255,15,0,0,0,0,0,0,255,255,255,255,255,63,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,143,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,255,0,255,1,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,255,0,0,0,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,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,63,252,255,63,0,0,0,3,0,0,0,0,0,0,254,3,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,255,255,255,255,127,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,127,0,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,8,0,0,0,8,0,0,32,0,0,0,32,0,0,128,0,0,0,128,0,0,0,2,0,0,0,2,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,127,254,127,254,255,254,255,0,0,0,0,255,7,255,255,255,127,255,255,255,255,255,255,255,15,255,255,255,255,255,7,0,0,0,0,0,0,0,0,192,255,255,255,7,0,255,255,255,255,255,7,255,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,1,0,191,255,255,255,255,255,255,255,255,31,255,255,15,0,255,255,255,255,223,7,0,0,255,255,1,0,255,255,255,255,255,255,255,127,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,30,255,255,255,255,255,255,255,63,15,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,255,255,255,225,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,108,110,117,109,0,97,108,112,104,97,0,98,108,97,110,107,0,99,110,116,114,108,0,100,105,103,105,116,0,103,114,97,112,104,0,108,111,119,101,114,0,112,114,105,110,116,0,112,117,110,99,116,0,115,112,97,99,101,0,117,112,112,101,114,0,120,100,105,103,105,116,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47,0,105,110,102,105,110,105,116,121,0,110,97,110,0,76,67,95,65,76,76,0,76,67,95,67,84,89,80,69],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+143384);allocate([76,67,95,78,85,77,69,82,73,67,0,0,76,67,95,84,73,77,69,0,0,0,0,0,76,67,95,67,79,76,76,65,84,69,0,0,76,67,95,77,79,78,69,84,65,82,89,0,76,67,95,77,69,83,83,65,71,69,83,0,76,65,78,71,0,67,46,85,84,70,45,56,0,80,79,83,73,88,0,77,85,83,76,95,76,79,67,80,65,84,72,0,67,46,85,84,70,45,56,0,0,0,0,0,0,0,0,0,67,0,114,119,97,0,9,0,10,0,13,0,12,0,7,0,27,0,91,91,58,97,108,110,117,109,58,93,95,93,0,91,94,91,58,97,108,110,117,109,58,93,95,93,0,91,91,58,115,112,97,99,101,58,93,93,0,91,94,91,58,115,112,97,99,101,58,93,93,0,91,91,58,100,105,103,105,116,58,93,93,0,91,94,91,58,100,105,103,105,116,58,93,93,0,47,116,109,112,47,116,109,112,102,105,108,101,95,88,88,88,88,88,88,0,119,43,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+153624);var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};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};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;Module["_bitshift64Shl"]=_bitshift64Shl;function ___syscall192(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get(),prot=SYSCALLS.get(),flags=SYSCALLS.get(),fd=SYSCALLS.get(),off=SYSCALLS.get();off<<=12;var ptr;var allocated=false;if(fd===-1){ptr=_memalign(PAGE_SIZE,len);if(!ptr)return-ERRNO_CODES.ENOMEM;_memset(ptr,0,len);allocated=true}else{var info=FS.getStream(fd);if(!info)return-ERRNO_CODES.EBADF;var res=FS.mmap(info,HEAPU8,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,flags:flags};return ptr}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___lock(){}function ___unlock(){}Module["_i64Add"]=_i64Add;function _realloc(){throw"bad"}Module["_realloc"]=_realloc;Module["_saveSetjmp"]=_saveSetjmp;var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;Module["_testSetjmp"]=_testSetjmp;function _longjmp(env,value){Module["setThrew"](env,value||1);throw"longjmp"}function _llvm_trap(){abort("trap!")}function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_get_now(){abort()}function _emscripten_get_now_is_monotonic(){return ENVIRONMENT_IS_NODE||typeof dateNow!=="undefined"||(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(ERRNO_CODES.EINVAL);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function ___clock_gettime(){return _clock_gettime.apply(null,arguments)}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___map_file(pathname,size){___setErrNo(ERRNO_CODES.EPERM);return-1}function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);Module["_llvm_cttz_i32"]=_llvm_cttz_i32;Module["___udivmoddi4"]=___udivmoddi4;Module["___udivdi3"]=___udivdi3;Module["___muldsi3"]=___muldsi3;Module["___muldi3"]=___muldi3;var _llvm_pow_f64=Math_pow;Module["_sbrk"]=_sbrk;Module["_memmove"]=_memmove;Module["___uremdi3"]=___uremdi3;function _times(buffer){if(buffer!==0){_memset(buffer,0,16)}return 0}function _abort(){Module["abort"]()}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;Module["_llvm_bswap_i16"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now=(function(){return self["performance"]["now"]()})}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now=(function(){return performance["now"]()})}else{_emscripten_get_now=Date.now}DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_d(index){try{return Module["dynCall_d"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_di(index,a1){try{return Module["dynCall_di"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_i(index){try{return Module["dynCall_i"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{return Module["dynCall_iiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiidd(index,a1,a2,a3,a4){try{return Module["dynCall_iiidd"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddi(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiddi"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_dddd(index,a1,a2,a3){try{return Module["dynCall_dddd"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_vi":invoke_vi,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_d":invoke_d,"invoke_di":invoke_di,"invoke_i":invoke_i,"invoke_iiiiiiiiiii":invoke_iiiiiiiiiii,"invoke_iiidd":invoke_iiidd,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_viiiddi":invoke_viiiddi,"invoke_viiiiiiiii":invoke_viiiiiiiii,"invoke_ii":invoke_ii,"invoke_dddd":invoke_dddd,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiii":invoke_iiiii,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_iiiiii":invoke_iiiiii,"invoke_viiii":invoke_viiii,"___syscall221":___syscall221,"_emscripten_get_now_is_monotonic":_emscripten_get_now_is_monotonic,"_llvm_pow_f64":_llvm_pow_f64,"___syscall6":___syscall6,"___syscall20":___syscall20,"_setenv":_setenv,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"_longjmp":_longjmp,"_clock_gettime":_clock_gettime,"_times":_times,"___setErrNo":___setErrNo,"___syscall192":___syscall192,"___syscall197":___syscall197,"_emscripten_get_now":_emscripten_get_now,"___syscall195":___syscall195,"__exit":__exit,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___syscall91":___syscall91,"_getenv":_getenv,"___map_file":___map_file,"___syscall33":___syscall33,"___syscall54":___syscall54,"___unlock":___unlock,"_emscripten_asm_const_iii":_emscripten_asm_const_iii,"___syscall10":___syscall10,"___lock":___lock,"_abort":_abort,"___syscall5":___syscall5,"___clock_gettime":___clock_gettime,"_time":_time,"___syscall140":___syscall140,"_llvm_trap":_llvm_trap,"_exit":_exit,"___syscall145":___syscall145,"___syscall146":___syscall146,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM +var asm=(function(global,env,buffer) { +"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.cttz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0.0;var D=0;var E=global.Math.floor;var F=global.Math.abs;var G=global.Math.sqrt;var H=global.Math.pow;var I=global.Math.cos;var J=global.Math.sin;var K=global.Math.tan;var L=global.Math.acos;var M=global.Math.asin;var N=global.Math.atan;var O=global.Math.atan2;var P=global.Math.exp;var Q=global.Math.log;var R=global.Math.ceil;var S=global.Math.imul;var T=global.Math.min;var U=global.Math.max;var V=global.Math.clz32;var W=env.abort;var X=env.assert;var Y=env.enlargeMemory;var Z=env.getTotalMemory;var _=env.abortOnCannotGrowMemory;var $=env.invoke_vi;var aa=env.invoke_iiii;var ba=env.invoke_viiiii;var ca=env.invoke_d;var da=env.invoke_di;var ea=env.invoke_i;var fa=env.invoke_iiiiiiiiiii;var ga=env.invoke_iiidd;var ha=env.invoke_vii;var ia=env.invoke_iiiiiii;var ja=env.invoke_viiiddi;var ka=env.invoke_viiiiiiiii;var la=env.invoke_ii;var ma=env.invoke_dddd;var na=env.invoke_viii;var oa=env.invoke_v;var pa=env.invoke_iiiii;var qa=env.invoke_viiiiii;var ra=env.invoke_iii;var sa=env.invoke_iiiiii;var ta=env.invoke_viiii;var ua=env.___syscall221;var va=env._emscripten_get_now_is_monotonic;var wa=env._llvm_pow_f64;var xa=env.___syscall6;var ya=env.___syscall20;var za=env._setenv;var Aa=env.___assert_fail;var Ba=env.___buildEnvironment;var Ca=env._longjmp;var Da=env._clock_gettime;var Ea=env._times;var Fa=env.___setErrNo;var Ga=env.___syscall192;var Ha=env.___syscall197;var Ia=env._emscripten_get_now;var Ja=env.___syscall195;var Ka=env.__exit;var La=env._emscripten_memcpy_big;var Ma=env.___syscall91;var Na=env._getenv;var Oa=env.___map_file;var Pa=env.___syscall33;var Qa=env.___syscall54;var Ra=env.___unlock;var Sa=env._emscripten_asm_const_iii;var Ta=env.___syscall10;var Ua=env.___lock;var Va=env._abort;var Wa=env.___syscall5;var Xa=env.___clock_gettime;var Ya=env._time;var Za=env.___syscall140;var _a=env._llvm_trap;var $a=env._exit;var ab=env.___syscall145;var bb=env.___syscall146;var cb=0.0; +// EMSCRIPTEN_START_FUNCS +function CV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=l;l=l+96|0;X=$+32|0;f=$+16|0;Y=$;r=X;k=b+(a*56|0)|0;q=r+56|0;do{c[r>>2]=c[k>>2];r=r+4|0;k=k+4|0}while((r|0)<(q|0));Z=X+16|0;_=X+24|0;i=+h[_>>3];P=X+8|0;j=+h[P>>3];g=X+36|0;p=X+40|0;do if(!(i>j+1.0e-07)){if(!(i>3]>+h[X>>3]:0){O=4;break}O=(GV(a,b,1)|0)==0;f=c[g>>2]|0;if(O){n=0;O=7}else{f=EV(X,Z,f,b,e)|0;O=20}}else O=4;while(0);if((O|0)==4){c[f>>2]=c[X>>2];c[f+4>>2]=c[X+4>>2];c[f+8>>2]=c[X+8>>2];c[f+12>>2]=c[X+12>>2];c[X>>2]=c[Z>>2];c[X+4>>2]=c[Z+4>>2];c[X+8>>2]=c[Z+8>>2];c[X+12>>2]=c[Z+12>>2];c[Z>>2]=c[f>>2];c[Z+4>>2]=c[f+4>>2];c[Z+8>>2]=c[f+8>>2];c[Z+12>>2]=c[f+12>>2];O=c[g>>2]|0;f=c[p>>2]|0;c[g>>2]=f;c[p>>2]=O;if(!(GV(a,b,2)|0)){n=1;O=7}else{f=EV(X,Z,f,b,e)|0;O=19}}if((O|0)==7){m=EV(X,Z,f,b,e)|0;f=HV(d)|0;c[d+(f*72|0)+68>>2]=1;r=d+(f*72|0)|0;k=d+(m*72|0)|0;q=r+72|0;do{c[r>>2]=c[k>>2];r=r+4|0;k=k+4|0}while((r|0)<(q|0));t=+h[P>>3];h[d+(f*72|0)+16>>3]=t;h[d+(m*72|0)+32>>3]=t;t=+h[X>>3];h[d+(f*72|0)+8>>3]=t;h[d+(m*72|0)+24>>3]=t;c[d+(m*72|0)+48>>2]=f;c[d+(m*72|0)+52>>2]=0;c[d+(f*72|0)+40>>2]=m;c[d+(f*72|0)+44>>2]=0;g=c[d+(f*72|0)+48>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}g=c[d+(f*72|0)+52>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}M=IV()|0;O=IV()|0;N=d+(m*72|0)+56|0;L=c[N>>2]|0;c[e+(L*40|0)>>2]=2;K=e+(L*40|0)+8|0;c[K>>2]=c[X>>2];c[K+4>>2]=c[X+4>>2];c[K+8>>2]=c[X+8>>2];c[K+12>>2]=c[X+12>>2];c[e+(L*40|0)+4>>2]=a;c[e+(L*40|0)+32>>2]=O;c[e+(L*40|0)+36>>2]=M;c[e+(M*40|0)>>2]=3;c[e+(M*40|0)+24>>2]=m;c[e+(M*40|0)+28>>2]=L;c[e+(O*40|0)>>2]=3;c[e+(O*40|0)+24>>2]=f;c[e+(O*40|0)+28>>2]=L;c[N>>2]=M;c[d+(f*72|0)+56>>2]=O;if(n)O=19;else O=20}if((O|0)==19)if(!(GV(a,b,1)|0)){o=1;O=21}else{g=1;O=32}else if((O|0)==20)if(!(GV(a,b,2)|0)){o=0;O=21}else{g=0;O=32}if((O|0)==21){n=EV(Z,X,c[p>>2]|0,b,e)|0;m=HV(d)|0;c[d+(m*72|0)+68>>2]=1;r=d+(m*72|0)|0;k=d+(n*72|0)|0;q=r+72|0;do{c[r>>2]=c[k>>2];r=r+4|0;k=k+4|0}while((r|0)<(q|0));t=+h[_>>3];h[d+(m*72|0)+16>>3]=t;h[d+(n*72|0)+32>>3]=t;t=+h[Z>>3];h[d+(m*72|0)+8>>3]=t;h[d+(n*72|0)+24>>3]=t;c[d+(n*72|0)+48>>2]=m;c[d+(n*72|0)+52>>2]=0;c[d+(m*72|0)+40>>2]=n;c[d+(m*72|0)+44>>2]=0;g=c[d+(m*72|0)+48>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(n|0))c[k>>2]=m;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(n|0))c[g>>2]=m}g=c[d+(m*72|0)+52>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(n|0))c[k>>2]=m;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(n|0))c[g>>2]=m}M=IV()|0;N=IV()|0;g=d+(n*72|0)+56|0;L=c[g>>2]|0;c[e+(L*40|0)>>2]=2;K=e+(L*40|0)+8|0;c[K>>2]=c[Z>>2];c[K+4>>2]=c[Z+4>>2];c[K+8>>2]=c[Z+8>>2];c[K+12>>2]=c[Z+12>>2];c[e+(L*40|0)+4>>2]=a;c[e+(L*40|0)+32>>2]=N;c[e+(L*40|0)+36>>2]=M;c[e+(M*40|0)>>2]=3;c[e+(M*40|0)+24>>2]=n;c[e+(M*40|0)+28>>2]=L;c[e+(N*40|0)>>2]=3;c[e+(N*40|0)+24>>2]=m;c[e+(N*40|0)+28>>2]=L;c[g>>2]=M;c[d+(m*72|0)+56>>2]=N;N=f;f=0;g=o}else if((O|0)==32){N=f;n=EV(Z,X,c[p>>2]|0,b,e)|0;f=1}a:do if((N|0)>0){L=d+(n*72|0)+24|0;M=d+(n*72|0)+32|0;K=(f|0)!=0;G=g?b+(a*56|0)+48|0:b+(a*56|0)+44|0;I=Y+8|0;g=0;f=0;H=N;while(1){k=d+(H*72|0)|0;D=d+(H*72|0)+24|0;if(!(JV(D,L)|0))break a;m=d+(H*72|0)+56|0;C=c[m>>2]|0;o=IV()|0;p=IV()|0;c[e+(C*40|0)>>2]=1;c[e+(C*40|0)+4>>2]=a;c[e+(C*40|0)+32>>2]=o;c[e+(C*40|0)+36>>2]=p;c[e+(o*40|0)>>2]=3;c[e+(o*40|0)+24>>2]=H;c[e+(o*40|0)+28>>2]=C;c[e+(p*40|0)>>2]=3;E=HV(d)|0;c[e+(p*40|0)+24>>2]=E;J=d+(E*72|0)|0;c[d+(E*72|0)+68>>2]=1;c[e+(p*40|0)+28>>2]=C;g=(H|0)==(N|0)?E:g;C=d+(H*72|0)+32|0;if(+F(+(+h[C>>3]-+h[M>>3]))<=1.0e-07?+F(+(+h[D>>3]-+h[L>>3]))<=1.0e-07:0)f=E;r=J;q=r+72|0;do{c[r>>2]=c[k>>2];r=r+4|0;k=k+4|0}while((r|0)<(q|0));c[m>>2]=o;c[d+(E*72|0)+56>>2]=p;z=d+(H*72|0)+48|0;k=c[z>>2]|0;q=(k|0)<1;m=d+(H*72|0)+52|0;if(q?(c[m>>2]|0)<1:0)break;A=d+(E*72|0)+48|0;r=d+(H*72|0)+64|0;p=d+(E*72|0)+44|0;o=d+(E*72|0)+52|0;v=d+(H*72|0)+60|0;w=d+(E*72|0)+60|0;y=d+(E*72|0)+40|0;x=d+(H*72|0)+44|0;B=d+(H*72|0)+40|0;do if((k|0)>0?(c[m>>2]|0)<1:0){k=c[B>>2]|0;do if((k|0)>0?(Q=c[x>>2]|0,(Q|0)>0):0){k=c[v>>2]|0;if((k|0)<=0){c[y>>2]=Q;c[p>>2]=-1;c[x>>2]=-1;c[d+(Q*72|0)+48>>2]=E;break}if((c[r>>2]|0)==1){c[y>>2]=Q;c[x>>2]=-1;c[p>>2]=k;r=E;q=Q;k=c[B>>2]|0}else{c[p>>2]=-1;c[y>>2]=c[x>>2];q=c[B>>2]|0;c[x>>2]=q;c[B>>2]=k;r=H;p=y}c[d+(k*72|0)+48>>2]=H;c[d+(q*72|0)+48>>2]=r;c[d+((c[p>>2]|0)*72|0)+48>>2]=E;c[w>>2]=0;c[v>>2]=0}else O=52;while(0);do if((O|0)==52){O=0;q=d+(k*72|0)+48|0;r=c[q>>2]|0;k=d+(k*72|0)+52|0;if((r|0)>0?(c[k>>2]|0)>0:0){k=c[d+(r*72|0)+4>>2]|0;if((k|0)>0?(FV(k,b,Z)|0)==0:0){c[p>>2]=-1;c[x>>2]=-1;c[B>>2]=-1;c[d+((c[y>>2]|0)*72|0)+52>>2]=E;break}c[x>>2]=-1;c[p>>2]=-1;c[y>>2]=-1;c[d+((c[B>>2]|0)*72|0)+48>>2]=H;break}c[q>>2]=H;c[k>>2]=E}while(0);if(+F(+(+h[C>>3]-+h[M>>3]))<=1.0e-07?K&+F(+(+h[D>>3]-+h[L>>3]))<=1.0e-07:0){k=c[G>>2]|0;if((k|0)>0?(FV(k,b,X)|0)!=0:0){c[d+((c[z>>2]|0)*72|0)+40>>2]=H;m=o;k=E}else{c[d+((c[A>>2]|0)*72|0)+44>>2]=E;k=H}c[m>>2]=-1;c[d+(k*72|0)+48>>2]=-1;k=c[z>>2]|0;break}k=c[z>>2]|0;m=d+(k*72|0)+40|0;o=c[m>>2]|0;p=d+(k*72|0)+44|0;if((o|0)>0?(R=c[p>>2]|0,S=(o|0)==(H|0),(R|0)>0):0){c[d+(k*72|0)+60>>2]=S?R:o;c[d+(k*72|0)+64>>2]=S?1:2}c[m>>2]=H;c[p>>2]=E}else O=70;while(0);do if((O|0)==70){O=0;if(q?(c[m>>2]|0)>0:0){k=c[B>>2]|0;do if((k|0)>0?(T=c[x>>2]|0,(T|0)>0):0){k=c[v>>2]|0;if((k|0)<=0){c[y>>2]=T;c[p>>2]=-1;c[x>>2]=-1;c[d+(T*72|0)+48>>2]=E;break}if((c[r>>2]|0)==1){c[y>>2]=T;c[x>>2]=-1;c[p>>2]=k;r=E;q=T;k=c[B>>2]|0}else{c[p>>2]=-1;c[y>>2]=c[x>>2];q=c[B>>2]|0;c[x>>2]=q;c[B>>2]=k;r=H;p=y}c[d+(k*72|0)+48>>2]=H;c[d+(q*72|0)+48>>2]=r;c[d+((c[p>>2]|0)*72|0)+48>>2]=E;c[w>>2]=0;c[v>>2]=0}else O=80;while(0);do if((O|0)==80){O=0;q=d+(k*72|0)+48|0;r=c[q>>2]|0;k=d+(k*72|0)+52|0;if((r|0)>0?(c[k>>2]|0)>0:0){k=c[d+(r*72|0)+4>>2]|0;if((k|0)>0?(FV(k,b,Z)|0)==0:0){c[p>>2]=-1;c[x>>2]=-1;c[B>>2]=-1;c[d+((c[y>>2]|0)*72|0)+52>>2]=E;break}c[x>>2]=-1;c[p>>2]=-1;c[y>>2]=-1;c[d+((c[B>>2]|0)*72|0)+48>>2]=H;break}c[q>>2]=H;c[k>>2]=E}while(0);if(+F(+(+h[C>>3]-+h[M>>3]))<=1.0e-07?K&+F(+(+h[D>>3]-+h[L>>3]))<=1.0e-07:0){k=c[G>>2]|0;if((k|0)>0?(FV(k,b,X)|0)!=0:0){c[d+((c[m>>2]|0)*72|0)+40>>2]=H;k=E}else{c[d+((c[o>>2]|0)*72|0)+44>>2]=E;o=m;k=H}c[o>>2]=-1;c[d+(k*72|0)+48>>2]=-1;k=c[m>>2]|0;break}k=c[m>>2]|0;m=d+(k*72|0)+40|0;o=c[m>>2]|0;p=d+(k*72|0)+44|0;if((o|0)>0?(U=c[p>>2]|0,V=(o|0)==(H|0),(U|0)>0):0){c[d+(k*72|0)+60>>2]=V?U:o;c[d+(k*72|0)+64>>2]=V?1:2}c[m>>2]=H;c[p>>2]=E;break}i=+h[C>>3];j=+h[P>>3];s=i-j;u=!(+F(+s)<=1.0e-07);t=+h[X>>3];if(u){h[I>>3]=i;h[Y>>3]=t+s/(+h[_>>3]-j)*(+h[Z>>3]-t);u=(KV(Y,D)|0)!=0}else u=+h[D>>3]>t;k=c[B>>2]|0;do if((k|0)>0?(W=c[x>>2]|0,(W|0)>0):0){k=c[v>>2]|0;if((k|0)<=0){c[y>>2]=W;c[p>>2]=-1;c[x>>2]=-1;c[d+(W*72|0)+48>>2]=E;break}if((c[r>>2]|0)==1){c[y>>2]=W;c[x>>2]=-1;c[p>>2]=k;r=E;q=W;k=c[B>>2]|0}else{c[p>>2]=-1;c[y>>2]=c[x>>2];q=c[B>>2]|0;c[x>>2]=q;c[B>>2]=k;r=H;p=y}c[d+(k*72|0)+48>>2]=H;c[d+(q*72|0)+48>>2]=r;c[d+((c[p>>2]|0)*72|0)+48>>2]=E;c[w>>2]=0;c[v>>2]=0}else O=109;while(0);do if((O|0)==109){O=0;q=d+(k*72|0)+48|0;r=c[q>>2]|0;k=d+(k*72|0)+52|0;if((r|0)>0?(c[k>>2]|0)>0:0){k=c[d+(r*72|0)+4>>2]|0;if((k|0)>0?(FV(k,b,Z)|0)==0:0){c[p>>2]=-1;c[x>>2]=-1;c[B>>2]=-1;c[d+((c[y>>2]|0)*72|0)+52>>2]=E;break}c[x>>2]=-1;c[p>>2]=-1;c[y>>2]=-1;c[d+((c[B>>2]|0)*72|0)+48>>2]=H;break}c[q>>2]=H;c[k>>2]=E}while(0);if(+F(+(+h[C>>3]-+h[M>>3]))<=1.0e-07?K&+F(+(+h[D>>3]-+h[L>>3]))<=1.0e-07:0){k=c[z>>2]|0;c[d+(k*72|0)+40>>2]=H;c[d+(k*72|0)+44>>2]=-1;k=c[m>>2]|0;c[d+(k*72|0)+40>>2]=E;c[d+(k*72|0)+44>>2]=-1;c[A>>2]=k;c[o>>2]=-1;c[m>>2]=-1;k=-1}else O=119;do if((O|0)==119){O=0;k=c[z>>2]|0;c[d+(k*72|0)+40>>2]=H;p=d+(k*72|0)+44|0;if(u){c[p>>2]=E;D=c[m>>2]|0;c[d+(D*72|0)+40>>2]=E;c[d+(D*72|0)+44>>2]=-1;c[m>>2]=-1;break}else{c[p>>2]=-1;k=c[m>>2]|0;c[d+(k*72|0)+40>>2]=H;c[d+(k*72|0)+44>>2]=E;c[A>>2]=k;c[o>>2]=-1;k=c[m>>2]|0;break}}while(0)}while(0);c[J>>2]=a;c[d+(H*72|0)+4>>2]=a;if((k|0)>0)H=k;else break a}_3(138727,19,1,c[15715]|0)|0}else{g=0;f=0}while(0);LV(a,N,n,1,d,e);LV(a,g,f,2,d,e);c[b+(a*56|0)+32>>2]=1;l=$;return}function DV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!(c[b+(a*56|0)+32>>2]|0)){f=b+(a*56|0)|0;g=b+(a*56|0)+16|0;h=b+(a*56|0)+36|0;c[h>>2]=c[d+((EV(f,g,c[h>>2]|0,b,e)|0)*72|0)+56>>2];a=b+(a*56|0)+40|0;c[a>>2]=c[d+((EV(g,f,c[a>>2]|0,b,e)|0)*72|0)+56>>2]}return}function EV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0,q=0.0,r=0,s=0;p=b+8|0;r=a+8|0;i=d;a:while(1){m=f+(i*40|0)+36|0;d=f+(i*40|0)+32|0;b:do switch(c[f+(i*40|0)>>2]|0){case 3:{s=3;break a}case 2:{g=+h[r>>3];j=+h[f+(i*40|0)+16>>3];k=j+1.0e-07;if(!(g>k)){l=j+-1.0e-07;i=f+(i*40|0)+8|0;if(!(g>3]>+h[i>>3]:0){d=m;break b}if(+F(+(g-j))<=1.0e-07?(n=+h[i>>3],+F(+(+h[a>>3]-n))<=1.0e-07):0){g=+h[p>>3];if(g>k)d=m;else if(!(g>3]>n:0){d=m;break b}}}else d=m;break}case 1:{j=+h[r>>3];i=c[f+(i*40|0)+4>>2]|0;if(+F(+(j-+h[e+(i*56|0)+8>>3]))<=1.0e-07?(o=+h[a>>3],+F(+(o-+h[e+(i*56|0)>>3]))<=1.0e-07):0)g=o;else s=16;do if((s|0)==16){s=0;if(+F(+(j-+h[e+(i*56|0)+24>>3]))<=1.0e-07?(q=+h[a>>3],+F(+(q-+h[e+(i*56|0)+16>>3]))<=1.0e-07):0){g=q;break}i=(FV(i,e,a)|0)==0;d=i?m:d;break b}while(0);if(!(+F(+(j-+h[p>>3]))<=1.0e-07)){i=(FV(i,e,b)|0)==0;d=i?m:d;break b}if(!(+h[b>>3]>2]|0}if((s|0)==3)return c[f+(i*40|0)+24>>2]|0;else if((s|0)==23){_3(138661,35,1,c[15715]|0)|0;Aa(138697,138699,349,138711)}return 0}function FV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0,i=0.0,j=0.0,k=0,l=0.0;i=+h[b+(a*56|0)+24>>3];j=+h[b+(a*56|0)+8>>3];k=b+(a*56|0)+16|0;b=b+(a*56|0)|0;a=c+8|0;do if(!(i>j+1.0e-07)){if(!(i>3]>+h[b>>3]:0){g=4;break}f=+h[a>>3];a=!(+F(+(i-f))<=1.0e-07);e=+h[c>>3];if(!a){d=e<+h[k>>3]?1.0:-1.0;break}c=!(+F(+(j-f))<=1.0e-07);d=+h[b>>3];if(c){l=+h[k>>3];d=(f-i)*(d-l)-(j-i)*(e-l);break}else{d=e>3];g=!(+F(+(i-f))<=1.0e-07);e=+h[c>>3];if(!g){d=e<+h[k>>3]?1.0:-1.0;break}g=!(+F(+(j-f))<=1.0e-07);d=+h[b>>3];if(g){d=(f-j)*(+h[k>>3]-d)-(i-j)*(e-d);break}else{d=e0.0|0}function GV(a,b,d){a=a|0;b=b|0;d=d|0;return c[b+((c[((d|0)==1?b+(a*56|0)+48|0:b+(a*56|0)+44|0)>>2]|0)*56|0)+32>>2]|0}function HV(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[47466]|0;if((b|0)<(c[47465]|0)){c[a+(b*72|0)>>2]=-1;c[a+(b*72|0)+4>>2]=-1;c[a+(b*72|0)+68>>2]=1;c[47466]=b+1;l=e;return b|0}else{e=c[15715]|0;c[d>>2]=b;z4(e,138786,d)|0;Aa(138697,138699,88,138824)}return 0}function IV(){var a=0;a=c[47467]|0;if((a|0)<(c[47464]|0)){c[47467]=a+1;return a|0}else{_3(138747,30,1,c[15715]|0)|0;Aa(138697,138699,72,138778)}return 0}function JV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c>d+1.0e-07))if(c>3]>=+h[b>>3]&1;else a=1;return a|0}function KV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(cd+1.0e-07)a=0;else a=+h[a>>3]<+h[b>>3]&1;else a=1;return a|0}function LV(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=f+(d*72|0)+24|0;p=(e|0)==1;a:while(1){o=f+(b*72|0)+24|0;j=f+(b*72|0)+48|0;k=f+(b*72|0)+52|0;l=f+(b*72|0)|0;m=f+(b*72|0)+4|0;n=f+(b*72|0)+56|0;if((b|0)<=0)break;while(1){if(!(JV(o,q)|0))break a;d=c[j>>2]|0;e=(d|0)>0;do if(p){if(e?(c[f+(d*72|0)+4>>2]|0)==(a|0):0)break;d=c[k>>2]|0;if((d|0)<=0){b=d;continue a}e=d;d=f+(d*72|0)+4|0;r=13}else{if(e?(c[f+(d*72|0)>>2]|0)==(a|0):0)break;d=c[k>>2]|0;if((d|0)<=0){b=d;continue a}e=d;d=f+(d*72|0)|0;r=13}while(0);if((r|0)==13){r=0;if((c[d>>2]|0)==(a|0))d=e;else{b=e;continue a}}if((c[l>>2]|0)!=(c[f+(d*72|0)>>2]|0)){b=d;continue a}if((c[m>>2]|0)!=(c[f+(d*72|0)+4>>2]|0)){b=d;continue a}s=c[f+(d*72|0)+56>>2]|0;e=c[g+(s*40|0)+28>>2]|0;h=g+(e*40|0)+32|0;i=c[n>>2]|0;if((c[h>>2]|0)==(s|0))c[h>>2]=i;else c[g+(e*40|0)+36>>2]=i;e=c[f+(d*72|0)+48>>2]|0;c[j>>2]=e;do if((e|0)>0){h=f+(e*72|0)+40|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=b;break}e=f+(e*72|0)+44|0;if((c[e>>2]|0)==(d|0))c[e>>2]=b}while(0);e=c[f+(d*72|0)+52>>2]|0;c[k>>2]=e;do if((e|0)>0){h=f+(e*72|0)+40|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=b;break}e=f+(e*72|0)+44|0;if((c[e>>2]|0)==(d|0))c[e>>2]=b}while(0);s=f+(d*72|0)+24|0;c[o>>2]=c[s>>2];c[o+4>>2]=c[s+4>>2];c[o+8>>2]=c[s+8>>2];c[o+12>>2]=c[s+12>>2];c[f+(d*72|0)+68>>2]=2}}return}function MV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[d+8>>3];do if(!(e>f+1.0e-07)){if(!(+F(+(e-f))<=1.0e-07)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}if(+h[b>>3]>+h[d>>3]+1.0e-07){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}while(0);return}function NV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[d+8>>3];do if(!(e>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}if(+h[b>>3]<+h[d>>3]){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}while(0);return}function OV(a){a=a|0;var b=0;b=HK(8)|0;if(b|0){c[b+4>>2]=a;c[b>>2]=0}return b|0}function PV(a,b){a=a|0;b=b|0;if(b){b=OV(b)|0;c[b>>2]=a;a=b}return a|0}function QV(a){a=a|0;var b=0;do{b=a;a=c[a>>2]|0;l6(b)}while((a|0)!=0);return}function RV(){var a=0;a=HK(1992)|0;if(a|0)c[a>>2]=SV(a)|0;return a|0}function SV(a){a=a|0;var b=0;b=YV(a)|0;c[b+4>>2]=0;a=a+1972|0;c[a>>2]=(c[a>>2]|0)+1;return b|0}function TV(a){a=a|0;UV(a,c[a>>2]|0);l6(c[a>>2]|0);l6(a);return 0}function UV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=a+1936|0;h=a+1980|0;i=a+1912|0;a:do if((c[b+4>>2]|0)>0){d=0;while(1){if((d|0)==64)break a;e=b+8+(d*20|0)+16|0;f=c[e>>2]|0;if(f|0?(UV(a,f),l6(c[e>>2]|0),cW(b,d),c[h>>2]=(c[h>>2]|0)+-1,c[i>>2]|0):0)c[g>>2]=(c[g>>2]|0)+1;d=d+1|0}}else{d=0;while(1){if((d|0)==64)break a;if(c[b+8+(d*20|0)+16>>2]|0?(cW(b,d),c[h>>2]=(c[h>>2]|0)+-1,c[i>>2]|0):0)c[g>>2]=(c[g>>2]|0)+1;d=d+1|0}}while(0);return}function VV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!b)Aa(139182,138832,194,138840);e=c[b+4>>2]|0;if((e|0)<=-1)Aa(138852,138832,195,138840);if(!d)Aa(139124,138832,196,138840);i=a+1952|0;c[i>>2]=(c[i>>2]|0)+1;a:do if((e|0)>0){i=0;e=0;while(1){if((i|0)==64)break a;f=b+8+(i*20|0)+16|0;if((c[f>>2]|0)!=0?(hW(d,b+8+(i*20|0)|0)|0)!=0:0){g=VV(a,c[f>>2]|0,d)|0;if(!e)e=g;else{f=e;while(1){h=c[f>>2]|0;if(!h)break;else f=h}c[f>>2]=g}}i=i+1|0}}else{g=0;e=0;while(1){if((g|0)==64)break a;f=b+8+(g*20|0)|0;if((c[b+8+(g*20|0)+16>>2]|0)!=0?(hW(d,f)|0)!=0:0)e=PV(e,f)|0;g=g+1|0}}while(0);return e|0}function WV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+64|0;j=o+52|0;k=o+32|0;m=o+16|0;n=o;c[j>>2]=0;if(!((b|0)!=0&(e|0)!=0))Aa(139038,138832,247,138866);if((f|0)>-1?(i=c[e>>2]|0,(c[i+4>>2]|0)>=(f|0)):0){g=0;while(1){if((g|0)>=2)break;if((c[b+(g<<2)>>2]|0)>(c[b+(g+2<<2)>>2]|0)){h=8;break}else g=g+1|0}if((h|0)==8)Aa(138913,138832,250,138866);g=a+1912|0;h=a+1908|0;if(c[g>>2]|0){p=c[h>>2]|0?a+1924|0:a+1916|0;c[p>>2]=(c[p>>2]|0)+1}if(!(c[h>>2]|0)){p=a+1964|0;c[p>>2]=(c[p>>2]|0)+1}if(!(XV(a,b,d,i,j,f)|0))g=0;else{if(c[g>>2]|0){p=c[h>>2]|0?a+1948|0:a+1944|0;c[p>>2]=(c[p>>2]|0)+1}g=YV(a)|0;p=a+1976|0;c[p>>2]=(c[p>>2]|0)+1;p=c[e>>2]|0;c[g+4>>2]=(c[p+4>>2]|0)+1;$V(m,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];p=k+16|0;c[p>>2]=c[e>>2];bW(a,k,g,0)|0;$V(n,c[j>>2]|0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];c[p>>2]=c[j>>2];bW(a,k,g,0)|0;c[e>>2]=g;g=a+1980|0;c[g>>2]=(c[g>>2]|0)+2;g=1}l=o;return g|0}Aa(138878,138832,248,138866);return 0}function XV(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;m=q+52|0;n=q+48|0;o=q+32|0;p=q+16|0;k=q;c[n>>2]=0;if(!((b|0)!=0&(e|0)!=0&(f|0)!=0))Aa(138956,138832,311,138970);if((g|0)>-1?(i=e+4|0,h=c[i>>2]|0,(h|0)>=(g|0)):0){if(c[a+1912>>2]|0){h=c[a+1908>>2]|0?a+1948|0:a+1944|0;c[h>>2]=(c[h>>2]|0)+1;h=c[i>>2]|0}do if((h|0)>(g|0)){i=aW(b,e)|0;h=e+8+(i*20|0)+16|0;i=e+8+(i*20|0)|0;if(!(XV(a,b,d,c[h>>2]|0,n,g)|0)){gW(o,b,i);c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];j=0;break}else{$V(p,c[h>>2]|0);c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];j=c[n>>2]|0;c[m+16>>2]=j;$V(k,j);c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];j=a+1980|0;c[j>>2]=(c[j>>2]|0)+1;j=bW(a,m,e,f)|0;break}}else if((h|0)==(g|0)){c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];c[m+16>>2]=d;j=a+1980|0;c[j>>2]=(c[j>>2]|0)+1;j=bW(a,m,e,f)|0;break}else Aa(139015,138832,341,138970);while(0);l=q;return j|0}Aa(138983,138832,312,138970);return 0}function YV(a){a=a|0;a=a+1968|0;c[a>>2]=(c[a>>2]|0)+1;a=k6(1288)|0;ZV(a);return a|0}function ZV(a){a=a|0;var b=0;c[a>>2]=0;c[a+4>>2]=-1;b=0;while(1){if((b|0)==64)break;_V(a+8+(b*20|0)|0);b=b+1|0}return}function _V(a){a=a|0;dW(a);c[a+16>>2]=0;return}function $V(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+16|0;h=i;if(!b)Aa(139182,139021,99,139028);dW(g);d=1;f=0;while(1){if((f|0)==64)break;do if(c[b+8+(f*20|0)+16>>2]|0){e=b+8+(f*20|0)|0;if(!d){gW(h,g,e);c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];d=0;break}else{c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];d=0;break}}while(0);f=f+1|0}c[a>>2]=c[g>>2];c[a+4>>2]=c[g+4>>2];c[a+8>>2]=c[g+8>>2];c[a+12>>2]=c[g+12>>2];l=i;return}function aW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;k=l;l=l+32|0;i=k+16|0;j=k;if(!((a|0)!=0&(b|0)!=0))Aa(139038,139021,125,139045);d=0;e=0;f=0;g=1;h=0;while(1){if((h|0)==64)break;if(c[b+8+(h*20|0)+16>>2]|0){n=b+8+(h*20|0)|0;p=fW(n)|0;gW(j,a,n);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];n=(fW(i)|0)-p|0;m=(g|0)!=0|(n|0)<(f|0);o=m|(p|0)<(e|0)&(n|0)==(f|0);d=o?h:d;e=o?p:e;f=o?n:f;g=m?0:g}h=h+1|0}l=k;return d|0}function bW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!b)Aa(139204,139021,167,139056);if(!d)Aa(139182,139021,168,139056);do if((c[d>>2]|0)<64){a=0;while(1){if((a|0)>=64){e=10;break}if(!(c[d+8+(a*20|0)+16>>2]|0)){e=8;break}a=a+1|0}if((e|0)==8){f=d+8+(a*20|0)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];f=0;g=d;break}else if((e|0)==10)Aa(139066,139021,178,139056)}else{if(c[a+1912>>2]|0){h=c[a+1908>>2]|0?a+1948|0:a+1944|0;c[h>>2]=(c[h>>2]|0)+1}if(!e)Aa(139079,139021,187,139056);else{iW(a,d,b,e);f=1;g=(c[d+4>>2]|0)==0?a+1972|0:a+1976|0;break}}while(0);c[g>>2]=(c[g>>2]|0)+1;return f|0}function cW(a,b){a=a|0;b=b|0;if(!((a|0)!=0&b>>>0<64))Aa(139083,139021,201,139111);if(!(c[a+8+(b*20|0)+16>>2]|0))Aa(139605,139021,202,139111);else{_V(a+8+(b*20|0)|0);c[a>>2]=(c[a>>2]|0)+-1;return}}function dW(a){a=a|0;var b=0;b=0;while(1){if((b|0)==4)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function eW(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=1;c[d+8>>2]=-1;b=1;while(1){if((b|0)==2)break;c[d+(b+2<<2)>>2]=0;c[d+(b<<2)>>2]=0;b=b+1|0}c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];l=e;return}function fW(a){a=a|0;var b=0,d=0,e=0;if(!a)Aa(139124,139126,128,139138);a:do if((c[a>>2]|0)>(c[a+8>>2]|0))b=0;else{b=1;d=0;while(1){if((d|0)==2)break a;e=S(c[a+(d+2<<2)>>2]|0,b)|0;b=e-(c[a+(d<<2)>>2]|0)|0;d=d+1|0}}while(0);return b|0}function gW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;f=g;if(!((b|0)!=0&(d|0)!=0))Aa(139147,139126,195,139155);do if((c[b>>2]|0)>(c[b+8>>2]|0)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2]}else{if((c[d>>2]|0)>(c[d+8>>2]|0)){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else e=0;while(1){if((e|0)==2)break;j=c[b+(e<<2)>>2]|0;h=c[d+(e<<2)>>2]|0;c[f+(e<<2)>>2]=(j|0)<(h|0)?j:h;h=e+2|0;j=c[b+(h<<2)>>2]|0;i=c[d+(h<<2)>>2]|0;c[f+(h<<2)>>2]=(j|0)>(i|0)?j:i;e=e+1|0}c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2]}while(0);l=g;return}function hW(a,b){a=a|0;b=b|0;var d=0,e=0;if((a|0)!=0&(b|0)!=0)d=0;else Aa(139167,139126,216,139174);while(1){if((d|0)>=2){d=1;break}e=d+2|0;if((c[a+(d<<2)>>2]|0)>(c[b+(e<<2)>>2]|0)){d=0;break}if((c[b+(d<<2)>>2]|0)>(c[a+(e<<2)>>2]|0)){d=0;break}else d=d+1|0}return d|0}function iW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;if(!b)Aa(139182,139184,40,139194);if(!d)Aa(139204,139184,41,139194);j=a+1912|0;k=a+1908|0;if(c[j>>2]|0){i=c[k>>2]|0?a+1932|0:a+1928|0;c[i>>2]=(c[i>>2]|0)+1}h=b+4|0;i=c[h>>2]|0;jW(a,b,d);d=a+1324|0;kW(a);f=fW(a+1852|0)|0;f=(fW(a+1868|0)|0)+f|0;if(c[j>>2]|0?(f|0)!=0&(c[k>>2]|0)==0:0){k=a+1960|0;g[k>>2]=+g[k>>2]+ +((c[a+1320>>2]|0)>>>0)/+(f|0)}k=YV(a)|0;c[e>>2]=k;c[h>>2]=i;c[k+4>>2]=i;lW(a,b,k,d);if(((c[c[e>>2]>>2]|0)+(c[b>>2]|0)|0)==65)return;else Aa(139206,139184,86,139194)}function jW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h;if(!b)Aa(139182,139184,106,139593);if(!d)Aa(139204,139184,107,139593);else e=0;while(1){if((e|0)>=64)break;if(!(c[b+8+(e*20|0)+16>>2]|0)){f=7;break}j=b+8+(e*20|0)|0;i=a+4+(e*20|0)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[i+16>>2]=c[j+16>>2];e=e+1|0}if((f|0)==7)Aa(139605,139184,111,139593);e=a+4|0;j=a+1284|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[j+16>>2]=c[d+16>>2];d=a+1304|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=1;while(1){if((e|0)==65)break;gW(g,d,a+4+(e*20|0)|0);c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];e=e+1|0}c[a+1320>>2]=fW(d)|0;ZV(b);l=h;return}function kW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;i=u+32|0;k=u+16|0;m=u;mW(a);nW(a);s=a+1844|0;q=a+1848|0;t=a+1892|0;n=a+1852|0;o=a+1884|0;p=a+1868|0;j=a+1888|0;f=0;e=0;while(1){b=c[s>>2]|0;d=c[q>>2]|0;if((d+b|0)>=65)break;h=65-(c[t>>2]|0)|0;b=(b|0)<(h|0);if(b&(d|0)<(h|0)){g=-1;h=0}else{r=12;break}while(1){if((h|0)==65)break;if(!(c[a+1584+(h<<2)>>2]|0)){v=a+4+(h*20|0)|0;gW(k,v,n);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];b=fW(i)|0;d=c[o>>2]|0;gW(m,v,p);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];v=fW(i)|0;b=v-(c[j>>2]|0)+(d-b)|0;d=(b|0)>-1;b=d?b:0-b|0;d=(d^1)&1;if((b|0)<=(g|0))if((b|0)==(g|0)){v=(c[a+1844+(d<<2)>>2]|0)<(c[a+1844+(f<<2)>>2]|0);b=g;d=v?d:f;e=v?h:e}else{b=g;d=f}else e=h}else{b=g;d=f}g=b;h=h+1|0;f=d}oW(a,e,f)}if((r|0)==12){b=(b^1)&1;d=0;while(1){if((d|0)==65)break;if(!(c[a+1584+(d<<2)>>2]|0))oW(a,d,b);d=d+1|0}d=c[q>>2]|0;b=c[s>>2]|0}if((d+b|0)!=65)Aa(139349,139184,210,139435);v=c[t>>2]|0;if((b|0)<(v|0)|(d|0)<(v|0))Aa(139446,139184,212,139435);else{l=u;return}}function lW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if(!b)Aa(139182,139184,297,139246);if(!d)Aa(139256,139184,298,139246);if(!e)Aa(139258,139184,299,139246);else g=0;while(1){if((g|0)>=65){e=14;break}f=c[a+1324+(g<<2)>>2]|0;if(f>>>0>=2){e=9;break}e=a+4+(g*20|0)|0;switch(f|0){case 0:{bW(a,e,b,0)|0;break}case 1:{bW(a,e,d,0)|0;break}default:{}}g=g+1|0}if((e|0)==9)Aa(139260,139184,303,139246);else if((e|0)==14)return}function mW(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;e=d;c[a+1848>>2]=0;c[a+1844>>2]=0;b=a+1852|0;f=a+1868|0;eW(e);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[a+1888>>2]=0;c[a+1884>>2]=0;b=0;while(1){if((b|0)==65)break;c[a+1584+(b<<2)>>2]=0;c[a+1324+(b<<2)>>2]=-1;b=b+1|0}l=d;return}function nW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+304|0;k=o+32|0;m=o+16|0;n=o;b=0;while(1){if((b|0)==65)break;c[k+(b<<2)>>2]=fW(a+4+(b*20|0)|0)|0;b=b+1|0}b=0;d=0;e=0;g=0;a:while(1){if((g|0)==64)break;i=g+1|0;j=a+4+(g*20|0)|0;h=k+(g<<2)|0;f=i;while(1){if((f|0)==65){g=i;continue a}gW(n,j,a+4+(f*20|0)|0);c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];p=fW(m)|0;p=p-(c[h>>2]|0)-(c[k+(f<<2)>>2]|0)|0;q=p>>>0>e>>>0;r=q?f:b;f=f+1|0;b=r;d=q?g:d;e=q?p:e}}oW(a,d,0);oW(a,b,1);l=o;return}function oW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;e=a+1584+(b<<2)|0;if(c[e>>2]|0)Aa(139549,139184,257,139584);c[a+1324+(b<<2)>>2]=d;c[e>>2]=1;g=a+1844+(d<<2)|0;f=a+1852+(d<<4)|0;e=a+4+(b*20|0)|0;if(!(c[g>>2]|0)){c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2]}else{gW(h,e,f);c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2]}c[a+1884+(d<<2)>>2]=fW(f)|0;c[g>>2]=(c[g>>2]|0)+1;l=i;return}function pW(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+1200|0;t=v+800|0;h=v;c[47468]=0;c[47469]=-2;f=t;j=200;n=h;o=0;q=0;g=t;a:while(1){b[g>>1]=o;if((f+(j<<1)+-2|0)>>>0>g>>>0){r=j;s=f;p=h;i=n}else{m=(g-f>>1)+1|0;if(j>>>0>9999){u=96;break}j=j<<1;j=j>>>0<1e4?j:1e4;e=k6(j*6|3)|0;if(e){B6(e|0,f|0,m<<1|0)|0;i=e+(j>>>1<<2)|0;B6(i|0,n|0,m<<2|0)|0;if((f|0)==(t|0)){k=0;f=e}else{l6(f);k=0;f=e}}else{k=4;i=n}e=(k|0)==0;switch((e?((j|0)>(m|0)?0:9):k)&15){case 9:{e=1;u=97;break a}case 4:{u=96;break a}case 0:{r=j;s=f;p=e?i+(m<<2)+-4|0:h;g=e?f+(m<<1)+-2|0:g;break}default:{e=0;break a}}}if((o|0)==31){e=0;f=s;u=97;break}e=b[65806+(o<<1)>>1]|0;j=e<<16>>16;k=(q|0)!=0;do if(e<<16>>16!=-82){f=c[47469]|0;if((f|0)==-2){f=EX()|0;c[47469]=f}if((f|0)>=1)if(f>>>0<296)h=d[139624+f>>0]|0;else h=2;else{c[47469]=0;h=0}f=h+j|0;if(f>>>0<=271?(a[139920+f>>0]|0)==(h|0):0){o=a[140192+f>>0]|0;e=o<<24>>24;if(o<<24>>24<1){f=0-e|0;u=23;break}else{c[47469]=-2;h=p+4|0;c[h>>2]=c[47470];k=k?q+-1|0:0;break}}else u=22}else u=22;while(0);if((u|0)==22){u=0;o=a[140464+o>>0]|0;f=o&255;if(!(o<<24>>24)){do if(k)if((q|0)==3){f=c[47469]|0;if((f|0)<1)if(!f){e=1;f=s;u=97;break a}else{f=p;break}else{c[47469]=-2;f=p;break}}else f=p;else{c[47468]=(c[47468]|0)+1;KW(142682);f=p}while(0);while(1){if(e<<16>>16==8)break;if((g|0)==(s|0)){e=1;f=s;u=97;break a}e=g+-2|0;f=f+-4|0;g=e;e=b[65806+(b[e>>1]<<1)>>1]|0}h=f+4|0;c[h>>2]=c[47470];e=1;k=3}else u=23}do if((u|0)==23){u=0;m=d[140580+f>>0]|0;e=c[p+(1-m<<2)>>2]|0;h=p+-12|0;j=p+-4|0;k=p+-8|0;do switch(f|0){case 4:{u=26;break a}case 2:{c[47471]=qW(c[j>>2]|0,2)|0;break}case 3:{c[47471]=qW(c[j>>2]|0,1)|0;break}case 5:{e=sW()|0;break}case 8:{tW(c[47472]|0);break}case 9:{uW(c[p>>2]|0);break}case 18:{vW(c[p>>2]|0);break}case 19:{wW();break}case 20:{vW(c[p>>2]|0);break}case 21:{wW();break}case 22:{vW(c[p>>2]|0);break}case 23:{wW();break}case 24:{vW(c[p>>2]|0);break}case 25:{wW();break}case 26:{vW(c[p>>2]|0);break}case 27:{wW();break}case 28:{vW(c[p>>2]|0);break}case 29:{wW();break}case 30:{vW(c[p>>2]|0);break}case 31:{wW();break}case 32:{vW(c[p>>2]|0);break}case 33:{wW();break}case 34:{e=c[j>>2]|0;break}case 35:{e=c[p>>2]|0;break}case 38:{e=c[47472]|0;h=c[e+4>>2]|0;if(h>>>0>=(c[e+8>>2]|0)>>>0){iA(e,1)|0;h=c[47472]|0;e=h;h=c[h+4>>2]|0}a[h>>0]=0;o=c[e>>2]|0;c[e+4>>2]=o;if(xW(o)|0){u=51;break a}c[(c[p>>2]|0)+80>>2]=c[47473];e=Sz(56092,c[4590]|0)|0;c[(c[p>>2]|0)+84>>2]=e;c[47473]=c[p>>2];c[(c[p>>2]|0)+108>>2]=c[c[47474]>>2];e=c[p>>2]|0;break}case 39:{e=c[47472]|0;h=c[e+4>>2]|0;if(h>>>0>=(c[e+8>>2]|0)>>>0){iA(e,1)|0;h=c[47472]|0;e=h;h=c[h+4>>2]|0}a[h>>0]=0;o=c[e>>2]|0;c[e+4>>2]=o;if(xW(o)|0){u=56;break a}e=c[47473]|0;c[47473]=c[e+80>>2];break}case 40:{e=c[p>>2]|0;break}case 41:{e=c[j>>2]|0;break}case 42:{e=c[j>>2]|0;break}case 43:{e=c[j>>2]|0;break}case 44:{e=c[j>>2]|0;break}case 45:{e=c[j>>2]|0;break}case 48:{e=c[p>>2]|0;break}case 49:{e=c[p>>2]|0;break}case 50:{a[(c[k>>2]|0)+12>>0]=1;e=c[p>>2]|0;break}case 51:{yW();break}case 52:{e=zW()|0;break}case 53:{e=c[p>>2]|0;break}case 54:{e=c[p>>2]|0;break}case 55:{e=(c[k>>2]|0)+100|0;a[e>>0]=a[e>>0]|1;e=c[p>>2]|0;break}case 56:{AW(c[j>>2]|0,c[p>>2]|0,1);break}case 57:{e=c[h>>2]|0;break}case 58:{AW(c[j>>2]|0,c[p>>2]|0,2);break}case 59:{e=c[h>>2]|0;break}case 60:{AW(c[j>>2]|0,c[p>>2]|0,3);break}case 61:{e=c[h>>2]|0;break}case 62:{AW(c[p>>2]|0,sW()|0,2);break}case 63:{e=c[k>>2]|0;break}case 64:{e=c[j>>2]|0;break}case 65:{e=c[p>>2]|0;break}default:{}}while(0);h=0-m|0;p=p+(h<<2)|0;g=g+(h<<1)|0;h=p+4|0;c[p+4>>2]=e;e=(d[140752+f>>0]|0)+-41|0;p=b[g>>1]|0;f=p+(b[66038+(e<<1)>>1]|0)|0;if(f>>>0<272?(a[139920+f>>0]|0)==(p|0):0){e=a[140192+f>>0]|0;k=q;break}e=a[140822+e>>0]|0;k=q}while(0);f=s;j=r;n=i;o=e;q=k;g=g+2|0}if((u|0)==26){rW();e=1;f=s;u=97}else if((u|0)==51){KW(140650);rW();e=1;f=s;u=97}else if((u|0)==56){KW(140701);rW();e=1;f=s;u=97}else if((u|0)==96){KW(140861);e=2;u=97}if((u|0)==97)if((f|0)!=(t|0))l6(f);l=v;return e|0}function qW(b,d){b=b|0;d=d|0;var e=0;e=HK(8)|0;a[e+4>>0]=d;c[e>>2]=b;return e|0}function rW(){var a=0,b=0;a=c[47473]|0;b=c[47471]|0;if(b|0){kU(b,1);c[47471]=0}c[14036]=67;while(1){if(!a)break;b=c[a+80>>2]|0;EW(a);a=b}c[14036]=56;c[14045]=68;b=c[47476]|0;eb[c[b>>2]&63](b,0,64)|0;c[14045]=56;c[14054]=69;b=c[47477]|0;eb[c[b>>2]&63](b,0,64)|0;c[14054]=56;HW();return}function sW(){var a=0,d=0,e=0,f=0,g=0,h=0;e=c[47477]|0;f=HK(40)|0;if(Uz(c[47476]|0)|0)uW(0);a=Uz(e)|0;b[f+4>>1]=a;a:do if(!a)a=e;else{c[f>>2]=HK(a*24|0)|0;a=0;d=eb[c[e>>2]&63](e,0,128)|0;while(1){if(!d){a=e;break a}g=(c[f>>2]|0)+(a*24|0)|0;h=d+8|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[g+16>>2]=c[h+16>>2];c[g+20>>2]=c[h+20>>2];a=a+1|0;d=eb[c[e>>2]&63](e,d,8)|0}}while(0);eb[c[a>>2]&63](e,0,64)|0;return f|0}function tW(b){b=b|0;var d=0,e=0,f=0;e=HK(64)|0;f=b+4|0;d=c[f>>2]|0;if(d>>>0>=(c[b+8>>2]|0)>>>0){iA(b,1)|0;d=c[f>>2]|0}a[d>>0]=0;b=c[b>>2]|0;c[f>>2]=b;c[e+8>>2]=Y3(b)|0;c[e+12>>2]=c[c[47474]>>2];f=c[47476]|0;eb[c[f>>2]&63](f,e,1)|0;return}function uW(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=HK(32)|0;j=c[47476]|0;e=Uz(j)|0;k=i+8|0;a[i+14>>0]=d;a:do if(!e){c[k>>2]=HK(56)|0;b[i+12>>1]=1;h=Y3(195341)|0;k=c[k>>2]|0;c[k>>2]=h;c[k+4>>2]=c[c[47474]>>2]}else{b[i+12>>1]=e;c[k>>2]=HK(e*56|0)|0;d=0;e=Qz(j)|0;while(1){if(!e)break a;f=(c[k>>2]|0)+(d*56|0)|0;g=e+8|0;h=f+56|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));d=d+1|0;e=c[e>>2]|0}}while(0);eb[c[j>>2]&63](j,0,64)|0;k=c[47477]|0;eb[c[k>>2]&63](k,i,1)|0;return}function vW(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;g=j;i=HK(8)|0;f=c[c[47474]>>2]|0;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];c[g+20>>2]=c[a+20>>2];c[g+24>>2]=c[a+24>>2];c[g+28>>2]=c[a+28>>2];if(f|0){a=g+4|0;if((c[a>>2]|0)==0?(b=c[f+4>>2]|0,b|0):0)c[a>>2]=b;a=g+16|0;if(+h[a>>3]<0.0?(d=+h[f+16>>3],d>=0.0):0)h[a>>3]=d;if((c[g>>2]|0)==0?(e=c[f>>2]|0,e|0):0)c[g>>2]=e;a=c[f+24>>2]&127;if(a|0){f=g+24|0;e=c[f>>2]|0;c[f>>2]=e&127|a|e&-128}}f=c[(c[47475]|0)+144>>2]|0;c[i>>2]=eb[c[f>>2]&63](f,g,1)|0;c[i+4>>2]=c[47474];c[47474]=i;l=j;return}function wW(){var a=0,b=0;b=c[47474]|0;a=c[b+4>>2]|0;l6(b);c[47474]=a;return}function xW(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break}if(c<<24>>24==32)b=b+1|0;else{b=1;break}}return b|0}function yW(){var b=0,d=0,e=0;e=Sz(56128,c[4590]|0)|0;b=c[47473]|0;d=HK(16)|0;c[d+8>>2]=e;if(a[b+112>>0]&2)a[d+12>>0]=1;e=c[b+84>>2]|0;eb[c[e>>2]&63](e,d,1)|0;return}function zW(){var a=0;a=c[(c[47473]|0)+84>>2]|0;return eb[c[a>>2]&63](a,0,256)|0}function AW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=HK(16)|0;f=c[47473]|0;h=c[f+84>>2]|0;h=c[(eb[c[h>>2]&63](h,0,256)|0)+8>>2]|0;c[g+8>>2]=b;eb[c[h>>2]&63](h,g,1)|0;a[b+92>>0]=e;if(a[f+112>>0]&1)a[b+100>>0]=1;c[b+88>>2]=d;return}function BW(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function CW(a,b,d){a=a|0;b=b|0;d=d|0;Oz(c[b+8>>2]|0)|0;l6(b);return}function DW(a,b,d){a=a|0;b=b|0;d=d|0;IW(c[b+8>>2]|0);l6(b);return}function EW(a){a=a|0;Oz(c[a+84>>2]|0)|0;hU(a);l6(a);return}function FW(a,b,d){a=a|0;b=b|0;d=d|0;l6(c[b+8>>2]|0);l6(b);return}function GW(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d+12|0;a=b[g>>1]|0;if(a<<16>>16){h=d+8|0;e=0;f=c[h>>2]|0;while(1){if((e|0)>=(a<<16>>16|0))break;l6(c[f>>2]|0);e=e+1|0;f=f+56|0;a=b[g>>1]|0}l6(c[h>>2]|0)}l6(d);return}function HW(){var a=0,b=0;a=c[47474]|0;while(1){b=c[a+4>>2]|0;if(!b)break;l6(a);a=b}return}function IW(b){b=b|0;var d=0;d=b+88|0;switch(a[b+92>>0]|0){case 1:{EW(c[d>>2]|0);break}case 2:{iU(c[d>>2]|0);break}default:{}}hU(b);l6(b);return}function JW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+160|0;e=f+8|0;g=f;c[g>>2]=0;c[g+4>>2]=0;c[47474]=g;c[47473]=0;c[47471]=0;c[47475]=c[(c[(c[d+52>>2]|0)+16>>2]|0)+144>>2];c[47476]=Sz(56164,c[4590]|0)|0;c[47477]=Sz(56200,c[4590]|0)|0;hA(e,128,f+24|0);c[47472]=e;if(!(NW(a,e,d)|0)){pW()|0;c[b>>2]=DX()|0;a=c[47471]|0}else{c[b>>2]=2;a=0}Oz(c[47476]|0)|0;Oz(c[47477]|0)|0;c[47476]=0;c[47477]=0;c[47474]=0;lA(e);l=f;return a|0}function KW(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;if(!(a[189945]|0)){a[189945]=1;f=LW()|0;c[d>>2]=b;c[d+4>>2]=f;dA(1,140878,d)|0;MW()}l=e;return}function LW(){return f_(c[47478]|0)|0}function MW(){var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;b=c[47481]|0;c[b+4>>2]=c[b>>2];d=c[47490]|0;if((d|0)>0){jA(b,c[47488]|0,d)|0;b=c[47481]|0}jA(b,c[47487]|0,c[47489]|0)|0;d=c[47481]|0;b=c[d+4>>2]|0;if(b>>>0>=(c[d+8>>2]|0)>>>0){iA(d,1)|0;b=c[47481]|0;d=b;b=c[b+4>>2]|0}c[d+4>>2]=b+1;a[b>>0]=0;b=c[47481]|0;d=c[b>>2]|0;c[b+4>>2]=d;c[e>>2]=d;dA(3,140894,e)|0;l=f;return}function NW(b,e,f){b=b|0;e=e|0;f=f|0;c[47481]=e;hA(189928,128,0);c[47479]=b;a[189947]=0;a[189944]=0;a[189945]=0;c[47489]=0;c[47490]=0;a[189946]=1;f=f+52|0;e=SY(uK(d[(c[(c[f>>2]|0)+16>>2]|0)+115>>0]|0)|0)|0;c[47478]=e;XZ(e,c[(c[(c[f>>2]|0)+16>>2]|0)+144>>2]|0);YZ(c[47478]|0,70,27);ZZ(c[47478]|0,71);return 0}function OW(b,d,e){b=b|0;d=d|0;e=e|0;do if(!(C3(d,140906)|0)){c[47470]=SW(e)|0;a[189946]=0;c[47480]=286}else{if(C3(d,140912)|0?C3(d,140915)|0:0){if(!(C3(d,140918)|0)){a[189946]=1;c[47470]=TW(e)|0;c[47480]=287;break}if(!(C3(d,140926)|0)){c[47470]=UW(b,e,0)|0;c[47480]=288;break}if(!(C3(d,140931)|0)){c[47470]=UW(b,0,1)|0;c[47480]=290;break}if(!(C3(d,140947)|0)){c[47470]=UW(b,0,32)|0;c[47480]=295;break}if(!(C3(d,140933)|0)){c[47470]=UW(b,0,4)|0;c[47480]=291;break}if(!(C3(d,140935)|0)){c[47470]=UW(b,0,64)|0;c[47480]=292;break}if(!(C3(d,140937)|0)){c[47470]=UW(b,0,2)|0;c[47480]=289;break}if(!(C3(d,140939)|0)){c[47470]=UW(b,0,8)|0;c[47480]=293;break}if(!(C3(d,140943)|0)){c[47470]=UW(b,0,16)|0;c[47480]=294;break}if(!(C3(d,140949)|0)){VW(e);c[47480]=283;break}if(!(C3(d,140952)|0)){c[47480]=277;break}if(!(C3(d,140955)|0)){c[47480]=280;break}if(!(C3(d,140958)|0)){c[47470]=WW(e)|0;c[47480]=285;break}if(!(C3(d,140921)|0)){c[47480]=262;break}else{RW(d);break}}a[189946]=0;c[47480]=260}while(0);return}function PW(b,d){b=b|0;d=d|0;do if(!(C3(d,140906)|0)){c[47480]=264;a[189946]=1}else{if(C3(d,140912)|0?C3(d,140915)|0:0){if(!(C3(d,140918)|0)){c[47480]=265;a[189946]=0;break}if(!(C3(d,140921)|0)){c[47480]=263;break}if(!(C3(d,140926)|0)){c[47480]=266;break}if(!(C3(d,140931)|0)){c[47480]=270;break}if(!(C3(d,140933)|0)){c[47480]=271;break}if(!(C3(d,140935)|0)){c[47480]=272;break}if(!(C3(d,140937)|0)){c[47480]=269;break}if(!(C3(d,140939)|0)){c[47480]=273;break}if(!(C3(d,140943)|0)){c[47480]=274;break}if(!(C3(d,140947)|0)){c[47480]=275;break}if(!(C3(d,140949)|0)){c[47480]=(c[47480]|0)==283?282:258;break}if(!(C3(d,140952)|0)){c[47480]=(c[47480]|0)==277?276:278;break}if(!(C3(d,140955)|0)){c[47480]=(c[47480]|0)==280?279:281;break}if(!(C3(d,140958)|0)){c[47480]=(c[47480]|0)==285?284:259;break}else{RW(d);break}}c[47480]=261}while(0);return}function QW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(a[189946]|0){b=0;while(1){if(!e)break;h=d+1|0;g=a[d>>0]|0;if((g&255)>31){d=c[47481]|0;f=c[d+4>>2]|0;if(f>>>0>=(c[d+8>>2]|0)>>>0){iA(d,1)|0;f=c[47481]|0;d=f;f=c[f+4>>2]|0}c[d+4>>2]=f+1;a[f>>0]=g;b=b+1|0}d=h;e=e+-1|0}if(b|0)c[47480]=267}return}function RW(b){b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;c[47480]=268;a[189945]=1;f=LW()|0;c[e>>2]=b;c[e+4>>2]=f;dA(1,140962,e)|0;l=d;return}function SW(b){b=b|0;var d=0;d=HK(120)|0;c[d+100>>2]=-1;a[d+88>>0]=-1;XW(d,56460,22,b,141914);return d|0}function TW(a){a=a|0;var c=0;c=HK(104)|0;b[c+80>>1]=1;b[c+82>>1]=1;XW(c,56284,22,a,141268);return c|0}function UW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+32|0;e=f;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;h[e+16>>3]=-1.0;c[e+24>>2]=d&127;if(b|0)XW(e,56260,3,b,141119);d=c[a+144>>2]|0;e=eb[c[d>>2]&63](d,e,1)|0;l=f;return e|0}function VW(a){a=a|0;c[47470]=0;XW(189880,56252,1,a,141055);return}function WW(a){a=a|0;var b=0;b=HK(40)|0;XW(b,56236,2,a,141001);return b|0}function XW(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;m=o+8|0;while(1){k=c[g>>2]|0;if(!k)break;i=c[g+4>>2]|0;c[m>>2]=k;j=e6(m,e,f,8,104)|0;if(!j){c[n>>2]=k;c[n+4>>2]=h;dA(0,141007,n)|0;i=1}else{i=vb[c[j+4>>2]&127](b,i)|0;i=(d[189944]|0|i)&255}a[189944]=i;g=g+8|0}l=o;return}function YW(a,b){a=a|0;b=b|0;return C3(c[a>>2]|0,c[b>>2]|0)|0}function ZW(a,b){a=a|0;b=b|0;c[a+36>>2]=Y3(b)|0;return 0}function _W(a,b){a=a|0;b=b|0;c[a+32>>2]=Y3(b)|0;return 0}function $W(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;e=(a2(a[d>>0]|0)|0)<<24>>24;f=d+1|0;switch(e|0){case 82:{if(!(C3(f,141066)|0)){c[b>>2]=114;b=0}else h=4;break}case 76:{h=5;break}default:h=4}do if((h|0)==4)if(!(C3(f,141071)|0))h=5;else{if((e|0)!=67?(C3(f,141075)|0)==0:0){c[g>>2]=d;dA(0,141081,g)|0;b=1;break}c[b>>2]=110;b=0}while(0);if((h|0)==5){c[b>>2]=108;b=0}l=i;return b|0}function aX(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return 0}function bX(a,b){a=a|0;b=b|0;c[a>>2]=b;return 0}function cX(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if(!(dX(b,141148,0,255,d)|0)){h[a+16>>3]=+(c[d>>2]|0);a=0}else a=1;l=e;return a|0}function dX(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;j=k+24|0;i=k+8|0;h=k;m=k+36|0;g=$1(a,m,10)|0;do if((c[m>>2]|0)!=(a|0)){if((g|0)>(e|0)){c[i>>2]=b;c[i+4>>2]=a;c[i+8>>2]=e;dA(0,141190,i)|0;a=1;break}if((g|0)<(d|0)){c[j>>2]=b;c[j+4>>2]=a;c[j+8>>2]=d;dA(0,141229,j)|0;a=1;break}else{c[f>>2]=g;a=0;break}}else{c[h>>2]=b;c[h+4>>2]=a;dA(0,141159,h)|0;a=1}while(0);l=k;return a|0}function eX(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=e+1|0;d=d+36|0;switch((a2(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(C3(f,141071)|0)){b[d>>1]=b[d>>1]|4;d=0}else h=9;break}case 82:{if(!(C3(f,141066)|0)){b[d>>1]=b[d>>1]|2;d=0}else h=9;break}case 84:{if(!(C3(f,141866)|0)){b[d>>1]=b[d>>1]|6;d=0}else h=9;break}case 67:{if(!(C3(f,141075)|0))d=0;else h=9;break}default:h=9}if((h|0)==9){c[g>>2]=e;dA(0,141870,g)|0;d=1}l=i;return d|0}function fX(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=e+1|0;d=d+36|0;switch((a2(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(C3(f,141071)|0)){b[d>>1]=b[d>>1]|512;d=0}else h=7;break}case 82:{if(!(C3(f,141066)|0)){b[d>>1]=b[d>>1]|256;d=0}else h=7;break}case 67:{if(!(C3(f,141075)|0))d=0;else h=7;break}default:h=7}if((h|0)==7){c[g>>2]=e;dA(0,141821,g)|0;d=1}l=i;return d|0}function gX(a,b){a=a|0;b=b|0;c[a+20>>2]=Y3(b)|0;return 0}function hX(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(dX(e,141814,0,255,f)|0)){a[d+33>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|32;d=0}else d=1;l=g;return d|0}function iX(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(dX(e,141802,0,255,f)|0)){a[d+34>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|64;d=0}else d=1;l=g;return d|0}function jX(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(dX(e,141790,-128,127,f)|0)){a[d+32>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|128;d=0}else d=1;l=g;return d|0}function kX(a,b){a=a|0;b=b|0;c[a+24>>2]=Y3(b)|0;return 0}function lX(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=g+4|0;do if(!(dX(d,141745,0,65535,e)|0)){d=c[e>>2]|0;if(!d){dA(0,141753,f)|0;d=1;break}else{b[a+80>>1]=d;d=0;break}}else d=1;while(0);l=g;return d|0}function mX(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=e+1|0;switch((a2(d[e>>0]|0)|0)<<24>>24|0){case 84:{if(!(C3(f,141694)|0)){a=a+36|0;b[a>>1]=b[a>>1]|1;a=0}else h=5;break}case 70:{if(!(C3(f,141698)|0))a=0;else h=5;break}default:h=5}if((h|0)==5){c[g>>2]=e;dA(0,141703,g)|0;a=1}l=i;return a|0}function nX(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if(!(dX(b,141680,0,360,d)|0)){c[a+28>>2]=c[d>>2]&65535;a=0}else a=1;l=e;return a|0}function oX(a,d){a=a|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(dX(d,141673,0,65535,e)|0)){b[a+40>>1]=c[e>>2];a=0}else a=1;l=f;return a|0}function pX(a,b){a=a|0;b=b|0;c[a>>2]=Y3(b)|0;return 0}function qX(a,b){a=a|0;b=b|0;c[a+16>>2]=Y3(b)|0;return 0}function rX(a,b){a=a|0;b=b|0;c[a+4>>2]=Y3(b)|0;return 0}function sX(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=g+4|0;do if(!(dX(d,141628,0,65535,e)|0)){d=c[e>>2]|0;if(!d){dA(0,141636,f)|0;d=1;break}else{b[a+82>>1]=d;d=0;break}}else d=1;while(0);l=g;return d|0}function tX(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;h=0;a:while(1){b:while(1){g=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break a;e=e<<24>>24;f=(R1(e)|0)+-98|0;switch(f>>>1|f<<31|0){case 5:{j=5;break b}case 9:{f=2048;break b}case 8:{j=6;break b}case 0:{j=7;break b}default:{}}c[i>>2]=e;c[i+4>>2]=e;dA(0,141575,i)|0;e=g}if((j|0)==5){j=0;f=1024}else if((j|0)==6){j=0;f=4096}else if((j|0)==7){j=0;f=8192}e=g;h=(h&65535|f)&65535}if(h<<16>>16!=15360){j=d+36|0;b[j>>1]=b[j>>1]|h}l=k;return 0}function uX(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;h=Y3(e)|0;g=d+42|0;f=0;e=h;while(1){d=i6(e,141485)|0;if(!d)break;if(((a2(a[d>>0]|0)|0)&255|0)==82){e=d+1|0;if(!(C3(e,141488)|0)){b[g>>1]=b[g>>1]|4;d=f;e=0;f=d;continue}if(!(C3(e,141495)|0)){b[g>>1]=b[g>>1]|2;d=f;e=0;f=d;continue}else{c[i>>2]=d;dA(0,141501,i)|0;f=1;e=0;continue}}if(!(C3(d,141539)|0)){b[g>>1]=b[g>>1]&-385;d=f;e=0;f=d;continue}if(C3(d,141545)|0?C3(d,141555)|0:0){if(!(C3(d,141561)|0)){b[g>>1]=b[g>>1]|128;d=f;e=0;f=d;continue}if(!(C3(d,141568)|0)){b[g>>1]=b[g>>1]|256;d=f;e=0;f=d;continue}else{c[j>>2]=d;dA(0,141501,j)|0;f=1;e=0;continue}}b[g>>1]=b[g>>1]|32;d=f;e=0;f=d}l6(h);l=k;return f|0}function vX(a,b){a=a|0;b=b|0;c[a+8>>2]=Y3(b)|0;return 0}function wX(a,b){a=a|0;b=b|0;c[a+12>>2]=Y3(b)|0;return 0}function xX(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=e+1|0;d=d+36|0;switch((a2(a[e>>0]|0)|0)<<24>>24|0){case 66:{if(!(C3(f,141431)|0)){b[d>>1]=b[d>>1]|16;d=0}else h=7;break}case 84:{if(!(C3(f,141437)|0)){b[d>>1]=b[d>>1]|8;d=0}else h=7;break}case 77:{if(!(C3(f,141440)|0))d=0;else h=7;break}default:h=7}if((h|0)==7){c[g>>2]=e;dA(0,141446,g)|0;d=1}l=i;return d|0}function yX(a,d){a=a|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(dX(d,141425,0,65535,e)|0)){b[a+38>>1]=c[e>>2];a=0}else a=1;l=f;return a|0}function zX(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=e+1|0;d=d+36|0;switch((a2(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(C3(f,141071)|0)){b[d>>1]=b[d>>1]|4;d=0}else h=7;break}case 82:{if(!(C3(f,141066)|0)){b[d>>1]=b[d>>1]|2;d=0}else h=7;break}case 67:{if(!(C3(f,141075)|0))d=0;else h=7;break}default:h=7}if((h|0)==7){c[g>>2]=e;dA(0,141081,g)|0;d=1}l=i;return d|0}function AX(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(dX(d,142023,0,127,e)|0)){a[b+88>>0]=c[e>>2];b=0}else b=1;l=f;return b|0}function BX(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((a[d>>0]|0)==42){b=b+112|0;a[b>>0]=a[b>>0]|1;b=0}else{c[e>>2]=d;dA(0,141983,e)|0;b=1}l=f;return b|0}function CX(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((a[d>>0]|0)==42){b=b+112|0;a[b>>0]=a[b>>0]|2;b=0}else{c[e>>2]=d;dA(0,141946,e)|0;b=1}l=f;return b|0}function DX(){var b=0;b=(a[189945]|a[189944])<<24>>24;YY(c[47478]|0);lA(189928);return b|0}function EX(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;c[47480]=0;d=0;a:do{b:do switch(a[189947]|0){case 2:{b=-1;break a}case 0:{a[189947]=1;h=6;b=142035;d=0;break}default:{b=c[47479]|0;if(!(a[b>>0]|0)){a[189947]=2;h=7;b=142042;break b}else{d=FX(b)|0;h=d-b|0;break b}}}while(0);c[47488]=c[47487];c[47490]=c[47489];c[47487]=b;c[47489]=h;e=c[47483]|0;f=e-(c[47482]|0)|0;g=c[47478]|0;if(!f)b=_Z(g,b,h,(h|0)==0&1)|0;else{if(e>>>0<(c[47484]|0)>>>0)b=e;else{iA(189928,1)|0;b=c[47483]|0}a[b>>0]=0;b=c[47482]|0;c[47483]=b;b=_Z(g,b,f,0)|0}if(!((b|0)!=0|(a[189945]|0)!=0)){g=g_(e_(c[47478]|0)|0)|0;h=LW()|0;c[i>>2]=g;c[i+4>>2]=h;dA(1,140878,i)|0;MW();a[189945]=1;c[47480]=268}if(d|0)c[47479]=d;b=c[47480]|0}while((b|0)==0);l=j;return b|0}function FX(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;d=b+1|0;f=a[b>>0]|0;a:do if(f<<24>>24==60){e=a[d>>0]|0;if(e<<24>>24==33)if(!(h2(b+2|0,142050,2)|0)){e=GX(b+4|0)|0;d=e;e=a[e>>0]|0}else{e=33;h=5}else h=5;b:do if((h|0)==5)while(1){switch(e<<24>>24){case 62:case 0:break b;default:{}}e=d+1|0;d=e;e=a[e>>0]|0;h=5}while(0);if(e<<24>>24==62){d=d+1|0;break}else{dA(0,142053,g)|0;a[189944]=1;break}}else{d=b;while(1){switch(f<<24>>24){case 60:case 0:break a;default:{}}e=d+1|0;if(f<<24>>24==38?(a[e>>0]|0)!=35:0)e=ZP(e,189928)|0;else{d=c[47483]|0;if(d>>>0>=(c[47484]|0)>>>0){iA(189928,1)|0;d=c[47483]|0}c[47483]=d+1;a[d>>0]=f}d=e;f=a[e>>0]|0}}while(0);l=i;return d|0}function GX(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;f=1;c=b;a:while(1){e=(f|0)==0;d=c;b:while(1){if(e)break a;g=d+1|0;switch(a[d>>0]|0){case 0:{c=g;break a}case 60:{h=5;break b}case 62:{c=-1;break b}default:d=g}}if((h|0)==5){h=0;c=1}f=f+c|0;c=g}d=c+-1|0;do if(a[d>>0]|0){c=c+-3|0;if(c>>>0>=b>>>0?(h2(c,142050,2)|0)==0:0)break;dA(0,142094,i)|0;a[189944]=1}while(0);l=j;return d|0}function HX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=k6(28)|0;if(!d)d=0;else{e=0;f=0;while(1){if((e|0)>=(b|0))break;r=(c[(c[a+(e<<2)>>2]|0)+4>>2]|0)+f|0;e=e+1|0;f=r}o=d+8|0;c[o>>2]=IX(f<<4)|0;p=d+12|0;c[p>>2]=IX((b<<2)+4|0)|0;e=f<<2;q=d+16|0;c[q>>2]=IX(e)|0;e=IX(e)|0;r=d+20|0;c[r>>2]=e;c[d+4>>2]=f;c[d>>2]=b;f=0;h=0;while(1){c[(c[p>>2]|0)+(h<<2)>>2]=f;if((h|0)>=(b|0))break;j=a+(h<<2)|0;n=c[j>>2]|0;k=c[n+4>>2]|0;l=f+-1|0;g=0;i=f;m=k;while(1){if((g|0)>=(m|0))break;m=(c[o>>2]|0)+(i<<4)|0;e=(c[n>>2]|0)+(g<<4)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];m=i+1|0;c[(c[q>>2]|0)+(i<<2)>>2]=m;e=c[r>>2]|0;c[e+(i<<2)>>2]=i+-1;s=c[j>>2]|0;g=g+1|0;i=m;m=c[s+4>>2]|0;n=s}s=l+k|0;c[(c[q>>2]|0)+(s<<2)>>2]=f;c[e+(f<<2)>>2]=s;f=i;h=h+1|0}IY(d)}return d|0}function IX(a){a=a|0;if(!a)a=0;else a=k6(a)|0;return a|0}function JX(a){a=a|0;var b=0,d=0;l6(c[a+8>>2]|0);l6(c[a+12>>2]|0);l6(c[a+16>>2]|0);l6(c[a+20>>2]|0);d=a+24|0;b=c[d>>2]|0;if(b|0){l6(c[b>>2]|0);l6(c[d>>2]|0)}l6(a);return}function KX(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;m=p+16|0;j=p;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];n=PY(a,d,m)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];o=PY(a,f,m)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];m=yY(j,d,n,m,f,o,a)|0;d=c[a+4>>2]|0;j=d+1|0;f=1;h=d;while(1){h=c[m+(h<<2)>>2]|0;k=f+1|0;if((h|0)==(j|0))break;else f=k}i=k6(k<<4)|0;h=i+(f<<4)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];a=a+8|0;while(1){d=c[m+(d<<2)>>2]|0;f=f+-1|0;h=i+(f<<4)|0;if((d|0)==(j|0))break;e=(c[a>>2]|0)+(d<<4)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2]}c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];if(f|0)Aa(142112,142119,148,142125);if(n|0)l6(n);if(o|0)l6(o);c[g+4>>2]=k;c[g>>2]=i;l6(m);l=p;return 1}function LX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+48|0;h=j+32|0;g=j+16|0;f=j;i=c[a>>2]|0;d=c[a+4>>2]|0;e=d+-1|0;a=0;while(1){if((a|0)>=(d|0)){a=1;break}m=i+(((e+a|0)%(d|0)|0)<<4)|0;k=i+(a<<4)|0;c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];if((EY(f,g,h)|0)==1){a=0;break}else a=a+1|0}l=j;return a|0}function MX(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;m=u+48|0;k=u+32|0;s=4;j=k6(40)|0;c[j>>2]=0;n=u+16|0;q=u;r=c[d>>2]|0;i=c[d+4>>2]|0;s=x6(189964,1,j|0,s|0)|0;j=D;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,s|0,j|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1)d=D;else d=0;while(1){if(d|0){d=-1;break}o=0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];ha(28,n|0,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,s|0,j|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){d=D;continue};c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[e+12>>2]=c[n+12>>2];h=e+16|0;o=0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];ha(28,q|0,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,s|0,j|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){d=D;continue};c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[h+12>>2]=c[q+12>>2];c[47530]=0;o=0;$(115,4);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,s|0,j|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){d=D;continue}g=c[47531]|0;d=c[47530]|0;c[47530]=d+1;d=g+(d<<4)|0;c[d>>2]=c[r>>2];c[d+4>>2]=c[r+4>>2];c[d+8>>2]=c[r+8>>2];c[d+12>>2]=c[r+12>>2];o=0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];d=ia(1,a|0,b|0,r|0,i|0,k|0,m|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,s|0,j|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1)d=D;else{t=8;break}}if((t|0)==8)if((d|0)==-1)d=-1;else{c[f+4>>2]=c[47530];c[f>>2]=c[47531];d=0}l6(s|0);l=u;return d|0}function NX(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0;d=+h[b>>3];e=b+8|0;f=+h[e>>3];g=d*d+f*f;if(g>1.0e-06){g=+G(+g);h[b>>3]=d/g;h[e>>3]=f/g};c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function OX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g;if((c[47534]|0)<(a|0)){b=c[47531]|0;d=a<<4;if(!b){f=k6(d)|0;c[47531]=f;if(!f){f=c[15715]|0;c[e>>2]=142134;c[e+4>>2]=531;c[e+8>>2]=142269;z4(f,142142,e)|0;Ca(189964,1)}}else{e=n6(b,d)|0;c[47531]=e;if(!e){e=c[15715]|0;c[f>>2]=142134;c[f+4>>2]=537;c[f+8>>2]=142287;z4(e,142142,f)|0;Ca(189964,1)}}c[47534]=a}l=g;return}function PX(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0.0;R=l;l=l+336|0;J=R+320|0;I=R+304|0;w=R+144|0;q=R+128|0;G=R+112|0;H=R+96|0;Q=R+80|0;A=R+64|0;C=R+48|0;K=R+32|0;L=R+16|0;M=R;x=R+288|0;y=R+272|0;z=R+256|0;B=R+240|0;D=R+224|0;E=R+208|0;N=R+192|0;O=R+176|0;P=R+160|0;i=c[47533]|0;do if((c[47532]|0)<(e|0)){k=e*40|0;if(!i){i=k6(k)|0;c[47533]=i;if(!i){i=-1;break}}else{i=n6(i,k)|0;c[47533]=i;if(!i){i=-1;break}}c[47532]=e;n=6}else n=6;while(0);if((n|0)==6){h[i>>3]=0.0;k=1;j=0.0;while(1){if((k|0)>=(e|0))break;n=d+(k<<4)|0;F=d+(k+-1<<4)|0;c[I>>2]=c[n>>2];c[I+4>>2]=c[n+4>>2];c[I+8>>2]=c[n+8>>2];c[I+12>>2]=c[n+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];v=j+ +QX(I,J);h[i+(k*40|0)>>3]=v;k=k+1|0;j=v}F=e+-1|0;n=i+(F*40|0)|0;k=1;while(1){if((k|0)>=(e|0))break;S=i+(k*40|0)|0;h[S>>3]=+h[S>>3]/+h[n>>3];k=k+1|0}k=0;while(1){if((k|0)>=(e|0))break;S=i+(k*40|0)+8|0;n=i+(k*40|0)|0;v=+RX(+h[n>>3]);c[J>>2]=c[f>>2];c[J+4>>2]=c[f+4>>2];c[J+8>>2]=c[f+8>>2];c[J+12>>2]=c[f+12>>2];SX(x,J,v);c[S>>2]=c[x>>2];c[S+4>>2]=c[x+4>>2];c[S+8>>2]=c[x+8>>2];c[S+12>>2]=c[x+12>>2];S=i+(k*40|0)+24|0;v=+TX(+h[n>>3]);c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];SX(y,J,v);c[S>>2]=c[y>>2];c[S+4>>2]=c[y+4>>2];c[S+8>>2]=c[y+8>>2];c[S+12>>2]=c[y+12>>2];k=k+1|0}c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[I+12>>2]=c[f+12>>2];c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];UX(d,e,i,I,J,G,A,H,C);c[q>>2]=c[G>>2];c[q+4>>2]=c[G+4>>2];c[q+8>>2]=c[G+8>>2];c[q+12>>2]=c[G+12>>2];c[w>>2]=c[A>>2];c[w+4>>2]=c[A+4>>2];c[w+8>>2]=c[A+8>>2];c[w+12>>2]=c[A+12>>2];c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];if(!(VX(a,b,q,w,I,J,d,e)|0)){c[J>>2]=c[A>>2];c[J+4>>2]=c[A+4>>2];c[J+8>>2]=c[A+8>>2];c[J+12>>2]=c[A+12>>2];SX(z,J,.3333333333333333);c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[z>>2];c[J+4>>2]=c[z+4>>2];c[J+8>>2]=c[z+8>>2];c[J+12>>2]=c[z+12>>2];WX(B,I,J);v=+h[B>>3];u=+h[B+8>>3];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];SX(D,J,.3333333333333333);c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[J>>2]=c[D>>2];c[J+4>>2]=c[D+4>>2];c[J+8>>2]=c[D+8>>2];c[J+12>>2]=c[D+12>>2];XX(E,I,J);t=+h[E>>3];p=+h[E+8>>3];q=c[47533]|0;r=+h[G>>3];s=+h[H>>3];o=+h[G+8>>3];m=+h[H+8>>3];n=Q+8|0;i=-1;j=-1.0;k=1;while(1){if((k|0)>=(F|0))break;W=+h[q+(k*40|0)>>3];T=+YX(W);U=+RX(W);V=+TX(W);W=+ZX(W);h[Q>>3]=T*r+v*U+t*V+W*s;h[n>>3]=W*m+(p*V+(u*U+T*o));S=d+(k<<4)|0;c[I>>2]=c[Q>>2];c[I+4>>2]=c[Q+4>>2];c[I+8>>2]=c[Q+8>>2];c[I+12>>2]=c[Q+12>>2];c[J>>2]=c[S>>2];c[J+4>>2]=c[S+4>>2];c[J+8>>2]=c[S+8>>2];c[J+12>>2]=c[S+12>>2];T=+QX(I,J);S=T>j;i=S?k:i;j=S?T:j;k=k+1|0}S=d+(i<<4)|0;Q=d+(i+-1<<4)|0;c[I>>2]=c[S>>2];c[I+4>>2]=c[S+4>>2];c[I+8>>2]=c[S+8>>2];c[I+12>>2]=c[S+12>>2];c[J>>2]=c[Q>>2];c[J+4>>2]=c[Q+4>>2];c[J+8>>2]=c[Q+8>>2];c[J+12>>2]=c[Q+12>>2];XX(N,I,J);c[J>>2]=c[N>>2];c[J+4>>2]=c[N+4>>2];c[J+8>>2]=c[N+8>>2];c[J+12>>2]=c[N+12>>2];NX(L,J);Q=i+1|0;N=d+(Q<<4)|0;c[I>>2]=c[N>>2];c[I+4>>2]=c[N+4>>2];c[I+8>>2]=c[N+8>>2];c[I+12>>2]=c[N+12>>2];c[J>>2]=c[S>>2];c[J+4>>2]=c[S+4>>2];c[J+8>>2]=c[S+8>>2];c[J+12>>2]=c[S+12>>2];XX(O,I,J);c[J>>2]=c[O>>2];c[J+4>>2]=c[O+4>>2];c[J+8>>2]=c[O+8>>2];c[J+12>>2]=c[O+12>>2];NX(M,J);c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];WX(P,I,J);c[J>>2]=c[P>>2];c[J+4>>2]=c[P+4>>2];c[J+8>>2]=c[P+8>>2];c[J+12>>2]=c[P+12>>2];NX(K,J);c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[I+12>>2]=c[f+12>>2];c[J>>2]=c[K>>2];c[J+4>>2]=c[K+4>>2];c[J+8>>2]=c[K+8>>2];c[J+12>>2]=c[K+12>>2];PX(a,b,d,Q,I,J)|0;c[I>>2]=c[K>>2];c[I+4>>2]=c[K+4>>2];c[I+8>>2]=c[K+8>>2];c[I+12>>2]=c[K+12>>2];c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];PX(a,b,S,e-i|0,I,J)|0;i=0}else i=0}l=R;return i|0}function QX(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[b>>3]-+h[a>>3];c=+h[b+8>>3]-+h[a+8>>3];return +(+G(+(d*d+c*c)))}function RX(a){a=+a;var b=0.0;b=1.0-a;return +(b*(a*3.0*b))}function SX(a,b,d){a=a|0;b=b|0;d=+d;var e=0;h[b>>3]=+h[b>>3]*d;e=b+8|0;h[e>>3]=+h[e>>3]*d;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function TX(a){a=+a;return +((1.0-a)*(a*3.0*a))}function UX(a,b,d,e,f,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0,K=0,L=0,M=0;G=l;l=l+128|0;B=G+112|0;v=G+96|0;u=G;r=G+80|0;s=G+64|0;t=G+48|0;C=G+32|0;D=G+16|0;E=a+(b+-1<<4)|0;q=0;w=0.0;x=0.0;y=0.0;z=0.0;A=0.0;while(1){if((q|0)>=(b|0))break;K=d+(q*40|0)+8|0;c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];H=x+ +dY(v,B);J=d+(q*40|0)+24|0;c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[J>>2];c[B+4>>2]=c[J+4>>2];c[B+8>>2]=c[J+8>>2];c[B+12>>2]=c[J+12>>2];p=A+ +dY(v,B);c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[v+12>>2]=c[J+12>>2];c[B>>2]=c[J>>2];c[B+4>>2]=c[J+4>>2];c[B+8>>2]=c[J+8>>2];c[B+12>>2]=c[J+12>>2];o=y+ +dY(v,B);L=a+(q<<4)|0;M=d+(q*40|0)|0;I=+eY(+h[M>>3]);c[B>>2]=c[a>>2];c[B+4>>2]=c[a+4>>2];c[B+8>>2]=c[a+8>>2];c[B+12>>2]=c[a+12>>2];SX(s,B,I);I=+fY(+h[M>>3]);c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];SX(t,B,I);c[v>>2]=c[s>>2];c[v+4>>2]=c[s+4>>2];c[v+8>>2]=c[s+8>>2];c[v+12>>2]=c[s+12>>2];c[B>>2]=c[t>>2];c[B+4>>2]=c[t+4>>2];c[B+8>>2]=c[t+8>>2];c[B+12>>2]=c[t+12>>2];WX(r,v,B);c[v>>2]=c[L>>2];c[v+4>>2]=c[L+4>>2];c[v+8>>2]=c[L+8>>2];c[v+12>>2]=c[L+12>>2];c[B>>2]=c[r>>2];c[B+4>>2]=c[r+4>>2];c[B+8>>2]=c[r+8>>2];c[B+12>>2]=c[r+12>>2];XX(u,v,B);c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];I=w+ +dY(v,B);c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[v+12>>2]=c[J+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];q=q+1|0;w=I;x=H;y=o;z=z+ +dY(v,B);A=p}o=x*y-A*A;p=o>=0.0?o:-o;if(!(p>=1.0e-06?(m=(w*y-z*A)/o,n=(z*x-w*A)/o,!(n<=0.0|(m<=0.0|p<1.0e-06))):0))F=6;if((F|0)==6){c[v>>2]=c[a>>2];c[v+4>>2]=c[a+4>>2];c[v+8>>2]=c[a+8>>2];c[v+12>>2]=c[a+12>>2];c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];m=+QX(v,B)/3.0;n=m};c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];SX(C,B,m);c[i>>2]=c[C>>2];c[i+4>>2]=c[C+4>>2];c[i+8>>2]=c[C+8>>2];c[i+12>>2]=c[C+12>>2];c[j>>2]=c[E>>2];c[j+4>>2]=c[E+4>>2];c[j+8>>2]=c[E+8>>2];c[j+12>>2]=c[E+12>>2];c[B>>2]=c[f>>2];c[B+4>>2]=c[f+4>>2];c[B+8>>2]=c[f+8>>2];c[B+12>>2]=c[f+12>>2];SX(D,B,n);c[k>>2]=c[D>>2];c[k+4>>2]=c[D+4>>2];c[k+8>>2]=c[D+8>>2];c[k+12>>2]=c[D+12>>2];l=G;return}function VX(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,E=0;C=l;l=l+64|0;B=C;z=(j|0)==2;y=+h[d>>3];u=+h[d+8>>3];v=B+8|0;w=+h[e>>3];x=B+16|0;p=+h[e+8>>3];q=B+24|0;r=+h[f>>3];s=+h[g>>3];t=B+32|0;o=+h[f+8>>3];n=+h[g+8>>3];e=B+40|0;f=B+48|0;g=B+56|0;d=1;k=4.0;m=4.0;while(1){h[B>>3]=y;h[v>>3]=u;h[x>>3]=y+m*w/3.0;h[q>>3]=u+m*p/3.0;h[t>>3]=r-k*s/3.0;h[e>>3]=o-k*n/3.0;h[f>>3]=r;h[g>>3]=o;if(d?(D=+_X(B,4),D<+_X(i,j)+-.001):0){d=0;break}if($X(a,b,B)|0){A=5;break}if(m==0.0&k==0.0){A=9;break}E=m>.01;d=0;k=E?k*.5:0.0;m=E?m*.5:0.0}a:do if((A|0)==5){OX((c[47530]|0)+4|0);e=c[47531]|0;d=1;while(1){if((d|0)==4){d=1;break a}E=c[47530]|0;h[e+(E<<4)>>3]=+h[B+(d<<4)>>3];D=+h[B+(d<<4)+8>>3];c[47530]=E+1;h[e+(E<<4)+8>>3]=D;d=d+1|0}}else if((A|0)==9)if(z){OX((c[47530]|0)+4|0);e=c[47531]|0;d=1;while(1){if((d|0)==4){d=1;break a}E=c[47530]|0;h[e+(E<<4)>>3]=+h[B+(d<<4)>>3];D=+h[B+(d<<4)+8>>3];c[47530]=E+1;h[e+(E<<4)+8>>3]=D;d=d+1|0}}else d=0;while(0);l=C;return d|0}function WX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[d>>3]+ +h[b>>3];e=b+8|0;h[e>>3]=+h[d+8>>3]+ +h[e>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function XX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]-+h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]-+h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function YX(a){a=+a;a=1.0-a;return +(a*(a*a))}function ZX(a){a=+a;return +(a*a*a)}function _X(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0.0,g=0;c=0.0;d=1;while(1){if((d|0)>=(b|0))break;g=d+-1|0;f=+h[a+(d<<4)>>3]-+h[a+(g<<4)>>3];e=+h[a+(d<<4)+8>>3]-+h[a+(g<<4)+8>>3];c=c+ +G(+(f*f+e*e));d=d+1|0}return +c}function $X(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,E=0.0;C=l;l=l+64|0;t=C+32|0;u=C;w=u+16|0;x=d+16|0;z=d+32|0;A=d+48|0;B=d+8|0;g=d+24|0;i=d+40|0;j=d+56|0;k=u+8|0;m=u+24|0;f=0;a:while(1){if((f|0)>=(b|0)){e=1;break}n=a+(f<<5)|0;c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];n=a+(f<<5)+16|0;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];n=aY(d,u,t)|0;b:do if((n|0)!=4){o=+h[u>>3];p=+h[k>>3];q=+h[w>>3];r=+h[m>>3];e=0;while(1){if((e|0)>=(n|0))break b;s=+h[t+(e<<3)>>3];if((!(s<1.0e-06|s>.999999)?(y=s*(s*s),v=s*3.0,E=1.0-s,D=E*(s*v),s=E*(v*E),E=E*(E*E),v=E*+h[d>>3]+s*+h[x>>3]+D*+h[z>>3]+y*+h[A>>3],y=E*+h[B>>3]+s*+h[g>>3]+D*+h[i>>3]+y*+h[j>>3],D=v-o,s=y-p,!(D*D+s*s<.001)):0)?(D=v-q,E=y-r,!(D*D+E*E<.001)):0){e=0;break a}e=e+1|0}}while(0);f=f+1|0}l=C;return e|0}function aY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+96|0;y=C+48|0;A=C+24|0;z=C;B=C+80|0;u=+h[b>>3];s=+h[b+16>>3]-u;t=+h[b+8>>3];o=+h[b+24>>3]-t;c[B>>2]=0;v=y+8|0;f=a+48|0;e=a+56|0;w=y+16|0;i=a+32|0;p=a+40|0;q=a+8|0;x=y+24|0;g=+h[a>>3];j=+h[f>>3];k=+h[i>>3];r=a+24|0;n=a+16|0;m=+h[n>>3];a:do if(!(s==0.0)){o=o/s;bY(+h[q>>3]-o*g,+h[r>>3]-o*m,+h[p>>3]-o*k,+h[e>>3]-o*j,y);h[y>>3]=u*o-t+ +h[y>>3];e=zY(y,A)|0;if((e|0)==4)b=4;else{b=0;while(1){if((b|0)>=(e|0))break;g=+h[A+(b<<3)>>3];if(g>=0.0&g<=1.0?(bY(+h[a>>3],+h[n>>3],+h[i>>3],+h[f>>3],y),t=(+h[y>>3]+g*(+h[v>>3]+g*(+h[w>>3]+g*+h[x>>3]))-u)/s,t>=0.0&t<=1.0):0)cY(g,d,B);b=b+1|0}b=c[B>>2]|0}}else{bY(g,m,k,j,y);h[y>>3]=+h[y>>3]-u;n=zY(y,A)|0;if(!(o==0.0)){if((n|0)==4){b=4;break}else b=0;while(1){if((b|0)>=(n|0))break;g=+h[A+(b<<3)>>3];if(g>=0.0&g<=1.0?(bY(+h[q>>3],+h[r>>3],+h[p>>3],+h[e>>3],y),u=(+h[y>>3]+g*(+h[v>>3]+g*(+h[w>>3]+g*+h[x>>3]))-t)/o,u>=0.0&u<=1.0):0)cY(g,d,B);b=b+1|0}b=c[B>>2]|0;break}bY(+h[q>>3],+h[r>>3],+h[p>>3],+h[e>>3],y);h[y>>3]=+h[y>>3]-t;i=zY(y,z)|0;b=(i|0)==4;b:do if((n|0)==4){if(b){b=4;break a}else b=0;while(1){if((b|0)>=(i|0))break b;cY(+h[z+(b<<3)>>3],d,B);b=b+1|0}}else{if(b){b=0;while(1){if((b|0)>=(n|0))break b;cY(+h[A+(b<<3)>>3],d,B);b=b+1|0}}else e=0;while(1){if((e|0)>=(n|0))break b;f=A+(e<<3)|0;b=0;while(1){if((b|0)>=(i|0))break;g=+h[f>>3];if(g==+h[z+(b<<3)>>3])cY(g,d,B);b=b+1|0}e=e+1|0}}while(0);b=c[B>>2]|0}while(0);l=C;return b|0}function bY(a,b,c,d,e){a=+a;b=+b;c=+c;d=+d;e=e|0;c=c*3.0;h[e+24>>3]=b*3.0+d-(c+a);h[e+16>>3]=a*3.0+c-b*6.0;h[e+8>>3]=(b-a)*3.0;h[e>>3]=a;return}function cY(a,b,d){a=+a;b=b|0;d=d|0;var e=0;if(a>=0.0&a<=1.0){e=c[d>>2]|0;h[b+(e<<3)>>3]=a;c[d>>2]=e+1}return}function dY(a,b){a=a|0;b=b|0;return +(+h[a>>3]*+h[b>>3]+ +h[a+8>>3]*+h[b+8>>3])}function eY(a){a=+a;var b=0.0;b=1.0-a;return +(b*b*(b+a*3.0))}function fY(a){a=+a;return +(a*a*((1.0-a)*3.0+a))}function gY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0;J=l;l=l+112|0;G=J+80|0;F=J+64|0;E=J+48|0;I=4;H=k6(40)|0;c[H>>2]=0;x=J+32|0;y=J+16|0;z=J;A=J+96|0;I=x6(190140,1,H|0,I|0)|0;H=D;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1)e=D;else e=0;a:while(1){if(e|0){e=-2;break}g=a+4|0;o=0;$(116,c[g>>2]|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}c[47574]=0;c[47575]=0;o=0;$(117,c[g>>2]<<1|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}n=(c[47577]|0)/2|0;c[47578]=n;c[47579]=n+-1;n=c[g>>2]|0;g=c[a>>2]|0;e=0;f=-1;i=t;while(1){if((e|0)>=(n|0))break;K=+h[g+(e<<4)>>3];w=i>K;v=w?e:f;e=e+1|0;f=v;i=w?K:i}m=g+(f<<4)|0;c[y>>2]=c[m>>2];c[y+4>>2]=c[m+4>>2];c[y+8>>2]=c[m+8>>2];c[y+12>>2]=c[m+12>>2];m=g+(((f|0)==0?n:f)+-1<<4)|0;c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];c[x+8>>2]=c[m+8>>2];c[x+12>>2]=c[m+12>>2];m=n+-1|0;w=g+(((f|0)==(m|0)?0:f+1|0)<<4)|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];K=+h[y>>3];if((+h[x>>3]==K?K==+h[z>>3]:0)?+h[z+8>>3]>+h[y+8>>3]:0)w=15;else w=12;b:do if((w|0)==12){w=0;o=0;e=aa(39,x|0,y|0,z|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,I|0,H|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}if((e|0)==1){g=c[47581]|0;e=c[47582]|0;f=0;while(1){if((f|0)>=(n|0))break b;j=c[a>>2]|0;k=j+(f<<4)|0;if(!(((f|0)>0?(C=f+-1|0,+h[k>>3]==+h[j+(C<<4)>>3]):0)?+h[j+(f<<4)+8>>3]==+h[j+(C<<4)+8>>3]:0)){v=c[47574]|0;c[g+(v<<3)>>2]=k;c[g+(v<<3)+4>>2]=g+(((v|0)%(n|0)|0)<<3);c[e+(v<<2)>>2]=g+(v<<3);c[47574]=v+1}f=f+1|0}}else w=15}while(0);c:do if((w|0)==15){w=0;g=c[47581]|0;e=c[47582]|0;f=m;while(1){if((f|0)<=-1)break c;j=c[a>>2]|0;k=j+(f<<4)|0;if(!(((f|0)<(m|0)?(B=f+1|0,+h[k>>3]==+h[j+(B<<4)>>3]):0)?+h[j+(f<<4)+8>>3]==+h[j+(B<<4)+8>>3]:0)){v=c[47574]|0;c[g+(v<<3)>>2]=k;c[g+(v<<3)+4>>2]=g+(((v|0)%(n|0)|0)<<3);c[e+(v<<2)>>2]=g+(v<<3);c[47574]=v+1}f=f+-1|0}}while(0);o=0;ha(29,e|0,c[47574]|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}j=0;e=c[47575]|0;d:while(1){if((j|0)>=(e|0)){u=0;break}k=j+1|0;g=k;while(1){if((g|0)>=(e|0)){j=k;continue d}o=0;ha(30,j|0,g|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue a}g=g+1|0;e=c[47575]|0}}while(1){if((u|0)>=(e|0))break;o=0;f=ra(105,u|0,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=A6(c[g>>2]|0,I|0,H|0)|0;if(!j)Ca(g|0,p|0);D=p}else j=-1;if((j|0)==1){e=D;continue a}if(f|0)break;u=u+1|0}if((u|0)==(e|0)){e=c[15715]|0;o=0;c[E>>2]=142161;c[E+4>>2]=192;c[E+8>>2]=142172;aa(35,e|0,142142,E|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}else{w=42;break}}v=b+16|0;k=0;while(1){if((k|0)>=(e|0))break;o=0;f=ra(105,k|0,v|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=A6(c[g>>2]|0,I|0,H|0)|0;if(!j)Ca(g|0,p|0);D=p}else j=-1;if((j|0)==1){e=D;continue a}if(f|0)break;k=k+1|0}if((k|0)==(e|0)){e=c[15715]|0;o=0;c[F>>2]=142161;c[F+4>>2]=200;c[F+8>>2]=142205;aa(35,e|0,142142,F|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}else{w=49;break}}o=0;e=ra(106,u|0,k|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,I|0,H|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue}if(!e){e=c[15715]|0;o=0;c[G>>2]=142161;c[G+4>>2]=207;c[G+8>>2]=142243;aa(35,e|0,142142,G|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}o=0;$(118,2);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}else{w=54;break}}s=d+4|0;if((u|0)==(k|0)){o=0;$(118,2);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}else{w=57;break}}c[A>>2]=b;c[A+4>>2]=0;f=A+8|0;c[f>>2]=v;c[A+12>>2]=0;o=0;ha(31,1,A|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue}c[47580]=c[47578];q=u;e:while(1){if((q|0)==-1){g=f;e=0;break}r=c[47584]|0;c[r+(q*52|0)>>2]=2;g=0;while(1){j=g+1|0;if((g|0)>=3){w=65;break}e=c[r+(q*52|0)+4+(g<<4)+12>>2]|0;if(!e){g=j;continue}if((c[e>>2]|0)==1){w=68;break}else g=j}if((w|0)==65){w=0;if((g|0)==3){e=c[47576]|0;k=c[e+(c[47579]<<2)>>2]|0;o=0;e=aa(39,v|0,c[c[e+(c[47578]<<2)>>2]>>2]|0,c[k>>2]|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=A6(c[g>>2]|0,I|0,H|0)|0;if(!j)Ca(g|0,p|0);D=p}else j=-1;if((j|0)==1){e=D;continue a}j=(e|0)==1;n=j?f:k;j=j?k:f}else w=68}if((w|0)==68){w=0;m=c[r+(q*52|0)+4+(g<<4)>>2]|0;k=c[r+(q*52|0)+4+(g<<4)+4>>2]|0;o=0;e=aa(39,c[m>>2]|0,c[c[r+(q*52|0)+4+(((j|0)%3|0)<<4)+4>>2]>>2]|0,c[k>>2]|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=A6(c[g>>2]|0,I|0,H|0)|0;if(!j)Ca(g|0,p|0);D=p}else j=-1;if((j|0)==1){e=D;continue a}j=(e|0)==1;n=j?m:k;j=j?k:m}do if((q|0)==(u|0)){o=0;ha(31,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}o=0;ha(31,1,n|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}e=0}else{m=c[47576]|0;if((c[m+(c[47578]<<2)>>2]|0)!=(n|0)?(c[m+(c[47579]<<2)>>2]|0)!=(n|0):0){o=0;j=la(34,n|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}o=0;ha(32,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}o=0;ha(31,1,n|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}if((j|0)<=(c[47580]|0)){e=0;break}c[47580]=j;e=0;break}o=0;k=la(34,j|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}o=0;ha(32,1,k|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}o=0;ha(31,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}if((k|0)>=(c[47580]|0)){e=0;break}c[47580]=k;e=0}while(0);while(1){if((e|0)>=3){q=-1;continue e}g=c[r+(q*52|0)+4+(e<<4)+12>>2]|0;if(g|0?(c[g>>2]|0)==1:0)break;e=e+1|0}q=(g-(c[47584]|0)|0)/52|0}while(1){if(!g)break;g=c[g+4>>2]|0;e=e+1|0}o=0;$(118,e|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){j=A6(c[g>>2]|0,I|0,H|0)|0;if(!j)Ca(g|0,p|0);D=p}else j=-1;if((j|0)==1)e=D;else{w=94;break}}if((w|0)==42)e=-1;else if((w|0)==49)e=-1;else if((w|0)==54){c[d+4>>2]=2;e=c[47583]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];H=e+16|0;c[H>>2]=c[v>>2];c[H+4>>2]=c[v+4>>2];c[H+8>>2]=c[v+8>>2];c[H+12>>2]=c[v+12>>2];c[d>>2]=e;e=0}else if((w|0)==57){c[s>>2]=2;e=c[47583]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];H=e+16|0;c[H>>2]=c[v>>2];c[H+4>>2]=c[v+4>>2];c[H+8>>2]=c[v+8>>2];c[H+12>>2]=c[v+12>>2];c[d>>2]=e;e=0}else if((w|0)==94){c[s>>2]=e;g=c[47583]|0;while(1){e=e+-1|0;if(!f)break;H=g+(e<<4)|0;G=c[f>>2]|0;c[H>>2]=c[G>>2];c[H+4>>2]=c[G+4>>2];c[H+8>>2]=c[G+8>>2];c[H+12>>2]=c[G+12>>2];f=c[f+4>>2]|0}c[d>>2]=g;e=0}l6(I|0);l=J;return e|0}function hY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+64|0;g=j+48|0;i=j+32|0;h=j+16|0;f=j;if((c[47587]|0)<(a|0)){b=c[47581]|0;d=a<<3;e=a<<2;if(!b){i=k6(d)|0;c[47581]=i;if(!i){i=c[15715]|0;c[f>>2]=142161;c[f+4>>2]=523;c[f+8>>2]=142411;z4(i,142142,f)|0;Ca(190140,1)}i=k6(e)|0;c[47582]=i;if(!i){i=c[15715]|0;c[h>>2]=142161;c[h+4>>2]=527;c[h+8>>2]=142430;z4(i,142142,h)|0;Ca(190140,1)}}else{h=n6(b,d)|0;c[47581]=h;if(!h){h=c[15715]|0;c[i>>2]=142161;c[i+4>>2]=533;c[i+8>>2]=142450;z4(h,142142,i)|0;Ca(190140,1)}i=n6(c[47582]|0,e)|0;c[47582]=i;if(!i){i=c[15715]|0;c[g>>2]=142161;c[g+4>>2]=539;c[g+8>>2]=142470;z4(i,142142,g)|0;Ca(190140,1)}}c[47587]=a}l=j;return}function iY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g;if((c[47577]|0)<(a|0)){b=c[47576]|0;d=a<<2;if(!b){f=k6(d)|0;c[47576]=f;if(!f){f=c[15715]|0;c[e>>2]=142161;c[e+4>>2]=573;c[e+8>>2]=142366;z4(f,142142,e)|0;Ca(190140,1)}}else{e=n6(b,d)|0;c[47576]=e;if(!e){e=c[15715]|0;c[f>>2]=142161;c[f+4>>2]=580;c[f+8>>2]=142388;z4(e,142142,f)|0;Ca(190140,1)}}c[47577]=a}l=g;return}function jY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[b+8>>3];d=+h[b>>3];d=(+h[a+8>>3]-e)*(+h[c>>3]-d)-(+h[c+8>>3]-e)*(+h[a>>3]-d);return (d>0.0?1:d<0.0?2:3)|0}function kY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;a:while(1){if((b|0)>3)e=0;else{b=9;break}while(1){if((e|0)>=(b|0)){b=8;break a}f=e+1|0;d=(f|0)%(b|0)|0;g=(e+2|0)%(b|0)|0;if(!(sY(e,g,a,b)|0))e=f;else break}tY(c[a+(e<<2)>>2]|0,c[a+(d<<2)>>2]|0,c[a+(g<<2)>>2]|0);b=b+-1|0;while(1){if((d|0)>=(b|0))continue a;g=d+1|0;c[a+(d<<2)>>2]=c[a+(g<<2)>>2];d=g}}if((b|0)==8){a=c[15715]|0;c[h>>2]=142161;c[h+4>>2]=324;c[h+8>>2]=142306;z4(a,142142,h)|0}else if((b|0)==9)tY(c[a>>2]|0,c[a+4>>2]|0,c[a+8>>2]|0);l=i;return}function lY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=c[47584]|0;i=h+(a*52|0)|0;j=h+(b*52|0)|0;e=0;while(1){if((e|0)==3)break;k=h+(a*52|0)+4+(e<<4)|0;l=h+(a*52|0)+4+(e<<4)+4|0;m=h+(a*52|0)+4+(e<<4)+12|0;d=0;while(1){if((d|0)==3)break;n=c[c[k>>2]>>2]|0;f=c[c[h+(b*52|0)+4+(d<<4)>>2]>>2]|0;g=c[c[h+(b*52|0)+4+(d<<4)+4>>2]>>2]|0;if((n|0)==(f|0)?(c[c[l>>2]>>2]|0)==(g|0):0)o=9;else o=7;if(((o|0)==7?(o=0,(n|0)==(g|0)):0)?(c[c[l>>2]>>2]|0)==(f|0):0)o=9;if((o|0)==9){c[m>>2]=j;c[h+(b*52|0)+4+(d<<4)+12>>2]=i}d=d+1|0}e=e+1|0}return}function mY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[47584]|0;d=0;e=0;while(1){if((e|0)==3)break;d=((jY(c[c[f+(a*52|0)+4+(e<<4)>>2]>>2]|0,c[c[f+(a*52|0)+4+(e<<4)+4>>2]>>2]|0,b)|0)!=2&1)+d|0;e=e+1|0}return ((d|0)==3|(d|0)==0)&1|0}function nY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[47584]|0;e=d+(a*52|0)|0;a:do if(!(c[e>>2]|0)){c[e>>2]=1;if((a|0)==(b|0))d=1;else{f=0;while(1){if((f|0)>=3)break;e=c[d+(a*52|0)+4+(f<<4)+12>>2]|0;if(e){if(nY((e-d|0)/52|0,b)|0){d=1;break a}d=c[47584]|0}f=f+1|0}c[d+(a*52|0)>>2]=0;d=0}}else d=0;while(0);return d|0}function oY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g;if((c[47585]|0)<(a|0)){b=c[47583]|0;d=a<<4;if(!b){f=k6(d)|0;c[47583]=f;if(!f){f=c[15715]|0;c[e>>2]=142161;c[e+4>>2]=593;c[e+8>>2]=142269;z4(f,142142,e)|0;Ca(190140,1)}}else{e=n6(b,d)|0;c[47583]=e;if(!e){e=c[15715]|0;c[f>>2]=142161;c[f+4>>2]=599;c[f+8>>2]=142287;z4(e,142142,f)|0;Ca(190140,1)}}c[47585]=a}l=g;return}function pY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[47579]|0;e=c[47578]|0;f=(d|0)>=(e|0);g=b+4|0;if((a|0)==1){if(f)c[g>>2]=c[(c[47576]|0)+(e<<2)>>2];a=e+-1|0;d=190312}else{if(f)c[g>>2]=c[(c[47576]|0)+(d<<2)>>2];a=d+1|0;d=190316}c[d>>2]=a;c[(c[47576]|0)+(a<<2)>>2]=b;return}function qY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[47580]|0;g=c[47576]|0;b=c[47578]|0;while(1){if((b|0)>=(f|0)){e=4;break}d=b+1|0;if((jY(c[c[g+(d<<2)>>2]>>2]|0,c[c[g+(b<<2)>>2]>>2]|0,c[a>>2]|0)|0)==1)break;else b=d}a:do if((e|0)==4){b=c[47579]|0;while(1){if((b|0)<=(f|0)){b=f;break a}d=b+-1|0;if((jY(c[c[g+(d<<2)>>2]>>2]|0,c[c[g+(b<<2)>>2]>>2]|0,c[a>>2]|0)|0)==2)break;else b=d}}while(0);return b|0}function rY(a,b){a=a|0;b=b|0;c[((a|0)==1?190316:190312)>>2]=b;return}function sY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[c[d+(((a+-1+e|0)%(e|0)|0)<<2)>>2]>>2]|0;i=c[c[d+(a<<2)>>2]>>2]|0;g=c[c[d+(((a+1|0)%(e|0)|0)<<2)>>2]>>2]|0;k=(jY(f,i,g)|0)==1;j=c[c[d+(b<<2)>>2]>>2]|0;if(k)if((jY(i,j,f)|0)==1){f=jY(j,i,g)|0;g=1;h=5}else f=0;else{f=jY(i,j,g)|0;g=2;h=5}a:do if((h|0)==5)if((f|0)==(g|0)){f=0;while(1){if((f|0)>=(e|0)){f=1;break a}g=f;f=f+1|0;h=(f|0)%(e|0)|0;if((h|0)==(b|0)|((g|0)==(b|0)|((g|0)==(a|0)|(h|0)==(a|0))))continue;if(vY(i,j,c[c[d+(g<<2)>>2]>>2]|0,c[c[d+(h<<2)>>2]>>2]|0)|0){f=0;break}}}else f=0;while(0);return f|0}function tY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[47575]|0;f=c[47586]|0;if((e|0)<(f|0))h=e;else{uY(f+20|0);h=c[47575]|0}g=c[47584]|0;c[47575]=h+1;f=g+(h*52|0)|0;c[f>>2]=0;c[g+(h*52|0)+4>>2]=a;c[g+(h*52|0)+8>>2]=b;c[g+(h*52|0)+16>>2]=0;c[g+(h*52|0)+20>>2]=b;c[g+(h*52|0)+24>>2]=d;c[g+(h*52|0)+32>>2]=0;c[g+(h*52|0)+36>>2]=d;c[g+(h*52|0)+40>>2]=a;c[g+(h*52|0)+48>>2]=0;e=0;while(1){if((e|0)==3)break;c[g+(h*52|0)+4+(e<<4)+8>>2]=f;e=e+1|0}return}function uY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g;if((c[47586]|0)<(a|0)){b=c[47584]|0;d=a*52|0;if(!b){f=k6(d)|0;c[47584]=f;if(!f){f=c[15715]|0;c[e>>2]=142161;c[e+4>>2]=552;c[e+8>>2]=142327;z4(f,142142,e)|0;Ca(190140,1)}}else{e=n6(b,d)|0;c[47584]=e;if(!e){e=c[15715]|0;c[f>>2]=142161;c[f+4>>2]=558;c[f+8>>2]=142346;z4(e,142142,f)|0;Ca(190140,1)}}c[47586]=a}l=g;return}function vY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;f=jY(a,b,c)|0;if((((f|0)!=3?(g=jY(a,b,d)|0,(g|0)!=3):0)?(h=jY(c,d,a)|0,(h|0)!=3):0)?(e=jY(c,d,b)|0,(e|0)!=3):0)a=((f|0)==1^(g|0)==1)&((h|0)==1^(e|0)==1)&1;else if(((wY(a,b,c)|0)==0?(wY(a,b,d)|0)==0:0)?(wY(c,d,a)|0)==0:0)return (wY(c,d,b)|0)!=0|0;else a=1;return a|0}function wY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;e=+h[a>>3];g=+h[b>>3]-e;f=+h[a+8>>3];d=+h[b+8>>3]-f;e=+h[c>>3]-e;f=+h[c+8>>3]-f;if((jY(a,b,c)|0)==3)a=(g*e+d*f>=0.0?e*e+f*f<=g*g+d*d:0)&1;else a=0;return a|0}function xY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;m=k6(d<<2)|0;n=k6((d<<3)+8|0)|0;o=n+8|0;f=0;while(1){if((f|0)>=(d|0))break;c[m+(f<<2)>>2]=-1;h[o+(f<<3)>>3]=-2147483647.0;f=f+1|0}h[n>>3]=-2147483648.0;a:while(1){if((a|0)==(b|0))break;l=o+(a<<3)|0;j=+h[l>>3];h[l>>3]=j==-2147483647.0?0.0:-j;k=0;f=-1;while(1){if((k|0)>=(d|0)){a=f;continue a}i=o+(k<<3)|0;g=+h[i>>3];if(g<0.0){q=(a|0)<(k|0);p=+h[(c[e+((q?k:a)<<2)>>2]|0)+((q?a:k)<<3)>>3];j=-(p+ +h[l>>3]);if(p!=0.0&g>3]=j;c[m+(k<<2)>>2]=a;g=j}f=g>+h[o+(f<<3)>>3]?k:f}k=k+1|0}}l6(n);return m|0}function yY(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;j=l;l=l+32|0;k=j+16|0;m=j;i=c[h+4>>2]|0;c[m>>2]=c[a>>2];c[m+4>>2]=c[a+4>>2];c[m+8>>2]=c[a+8>>2];c[m+12>>2]=c[a+12>>2];c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];a=i+2|0;if(!(RY(m,b,k,f,h)|0)){m=c[h+24>>2]|0;c[m+(i<<2)>>2]=g;k=i+1|0;c[m+(k<<2)>>2]=d;a=xY(k,i,a,m)|0}else{a=k6(a<<2)|0;m=i+1|0;c[a+(i<<2)>>2]=m;c[a+(m<<2)>>2]=-1}l=j;return a|0}function zY(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;d=+h[a+24>>3];a:do if(d<1.0e-07&d>-1.0e-07)a=AY(a,b)|0;else{i=+h[a+16>>3]/(d*3.0);e=+h[a+8>>3]/d;g=i*i;d=+h[a>>3]/d+(i*2.0*g-e*i);g=e/3.0-g;e=d*d;g=e+g*(g*(g*4.0));a=b+16|0;f=-d;c=b+8|0;if(!(g<0.0)){d=(+G(+g)-d)*.5;e=+U3(d);d=e+ +U3(f-d);h[b>>3]=d;d=d*-.5;if(g>0.0)a=1;else{h[a>>3]=d;h[c>>3]=d;a=3}}else{f=+O(+(+G(+-g)),+f);g=+U3(+G(+(e-g))*.5)*2.0;h[b>>3]=g*+I(+(f/3.0));h[c>>3]=g*+I(+((f+3.141592653589793+3.141592653589793)/3.0));h[a>>3]=g*+I(+((f+-3.141592653589793+-3.141592653589793)/3.0));a=3}c=0;while(1){if((c|0)>=(a|0))break a;j=b+(c<<3)|0;h[j>>3]=+h[j>>3]-i;c=c+1|0}}while(0);return a|0}function AY(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+16>>3];do if(!(c<1.0e-07&c>-1.0e-07)){d=+h[a+8>>3]/(c*2.0);c=d*d-+h[a>>3]/c;if(!(c<0.0))if(c==0.0){h[b>>3]=-d;a=1;break}else{c=+G(+c)-d;h[b>>3]=c;h[b+8>>3]=d*-2.0-c;a=2;break}else a=0}else a=BY(a,b)|0;while(0);return a|0}function BY(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a+8>>3];c=+h[a>>3];if(d<1.0e-07&d>-1.0e-07)a=c<1.0e-07&c>-1.0e-07?4:0;else{h[b>>3]=-c/d;a=1}return a|0}function CY(a){a=a|0;l6(c[a>>2]|0);l6(a);return}function DY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[a+4>>2]|0;l=(f*3|0)+-2|0;e=c[47589]|0;if((l|0)>(c[47588]|0)){d=l<<4;if(!e)d=k6(d)|0;else d=n6(e,d)|0;c[47589]=d;c[47588]=l;k=d;j=d}else{k=e;j=e}i=c[a>>2]|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];I6(k+16|0,i|0,16)|0;a=f+-1|0;d=1;e=2;while(1){f=k+(e<<4)|0;g=k+(e+1<<4)|0;h=i+(d<<4)|0;if((d|0)>=(a|0))break;m=k+(e+2<<4)|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];I6(g|0,h|0,16)|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];d=d+1|0;e=e+3|0}c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];I6(g|0,h|0,16)|0;c[b+4>>2]=l;c[b>>2]=j;return}function EY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[b+8>>3];d=+h[b>>3];d=(+h[a+8>>3]-e)*(+h[c>>3]-d)-(+h[c+8>>3]-e)*(+h[a>>3]-d);return (d>.0001?1:(d<-.0001)<<31>>31)|0}function FY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;e=+h[a>>3];f=+h[b>>3];if(e!=f){d=+h[c>>3];if(!(e>3];e=+h[c+8>>3];d=+h[b+8>>3];if(!(f>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];j=EY(g,h,i)|0;if((j|0)==0?(c[g>>2]=c[a>>2],c[g+4>>2]=c[a+4>>2],c[g+8>>2]=c[a+8>>2],c[g+12>>2]=c[a+12>>2],c[h>>2]=c[b>>2],c[h+4>>2]=c[b+4>>2],c[h+8>>2]=c[b+8>>2],c[h+12>>2]=c[b+12>>2],c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],(FY(g,h,i)|0)!=0):0)f=1;else k=3;do if((k|0)==3){c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];f=EY(g,h,i)|0;if((f|0)==0?(c[g>>2]=c[a>>2],c[g+4>>2]=c[a+4>>2],c[g+8>>2]=c[a+8>>2],c[g+12>>2]=c[a+12>>2],c[h>>2]=c[b>>2],c[h+4>>2]=c[b+4>>2],c[h+8>>2]=c[b+8>>2],c[h+12>>2]=c[b+12>>2],c[i>>2]=c[e>>2],c[i+4>>2]=c[e+4>>2],c[i+8>>2]=c[e+8>>2],c[i+12>>2]=c[e+12>>2],FY(g,h,i)|0):0){f=1;break};c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];k=EY(g,h,i)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];f=((S(EY(g,h,i)|0,k)|0)&(S(f,j)|0))>>>31}while(0);l=m;return f|0}function HY(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3]-+h[b>>3];c=+h[a+8>>3]-+h[b+8>>3];return +(d*d+c*c)}function IY(a){a=a|0;c[a+24>>2]=JY(c[a+4>>2]|0)|0;KY(a);return}function JY(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+2|0;f=k6(e<<2)|0;b=m6(S(a,a)|0,8)|0;d=0;while(1){if((d|0)>=(a|0))break;c[f+(d<<2)>>2]=b;b=b+(a<<3)|0;d=d+1|0}while(1){if((a|0)>=(e|0))break;c[f+(a<<2)>>2]=0;a=a+1|0}return f|0}function KY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;p=l;l=l+32|0;i=p+16|0;g=p;j=c[a+4>>2]|0;m=c[a+8>>2]|0;n=c[a+16>>2]|0;o=c[a+20>>2]|0;d=c[a+24>>2]|0;b=0;while(1){if((b|0)>=(j|0))break;q=c[o+(b<<2)>>2]|0;e=m+(b<<4)|0;f=m+(q<<4)|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];r=+LY(g,i);f=c[d+(b<<2)>>2]|0;h[f+(q<<3)>>3]=r;h[(c[d+(q<<2)>>2]|0)+(b<<3)>>3]=r;a=b+-1|0;a=(q|0)==(a|0)?b+-2|0:a;while(1){if((a|0)<=-1)break;if((MY(b,a,m,n,o)|0?MY(a,b,m,n,o)|0:0)?(k=m+(a<<4)|0,c[g>>2]=c[e>>2],c[g+4>>2]=c[e+4>>2],c[g+8>>2]=c[e+8>>2],c[g+12>>2]=c[e+12>>2],c[i>>2]=c[k>>2],c[i+4>>2]=c[k+4>>2],c[i+8>>2]=c[k+8>>2],c[i+12>>2]=c[k+12>>2],NY(g,i,j,j,j,m,n)|0):0){c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];r=+LY(g,i);h[f+(a<<3)>>3]=r;h[(c[d+(a<<2)>>2]|0)+(b<<3)>>3]=r}a=a+-1|0}b=b+1|0}l=p;return}function LY(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0;e=l;l=l+32|0;f=e+16|0;g=e;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];d=+G(+(+HY(g,f)));l=e;return +d}function MY(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;g=l;l=l+64|0;h=g+48|0;i=g+32|0;j=g+16|0;k=g;n=d+(c[f+(a<<2)>>2]<<4)|0;m=d+(a<<4)|0;e=d+(c[e+(a<<2)>>2]<<4)|0;f=d+(b<<4)|0;c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];f=OY(k,j,i,h)|0;l=g;return f|0}function NY(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+64|0;n=p+48|0;m=p+32|0;k=p+16|0;j=p;i=0;while(1){if((i|0)>=(d|0)){o=4;break}r=g+(i<<4)|0;q=g+(c[h+(i<<2)>>2]<<4)|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[m>>2]=c[r>>2];c[m+4>>2]=c[r+4>>2];c[m+8>>2]=c[r+8>>2];c[m+12>>2]=c[r+12>>2];c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];if(!(GY(j,k,m,n)|0))i=i+1|0;else{e=0;break}}a:do if((o|0)==4)while(1){if((e|0)>=(f|0)){e=1;break a}q=g+(e<<4)|0;r=g+(c[h+(e<<2)>>2]<<4)|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[m+12>>2]=c[q+12>>2];c[n>>2]=c[r>>2];c[n+4>>2]=c[r+4>>2];c[n+8>>2]=c[r+8>>2];c[n+12>>2]=c[r+12>>2];if(!(GY(j,k,m,n)|0)){e=e+1|0;o=4}else{e=0;break}}while(0);l=p;return e|0}function OY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=l;l=l+48|0;h=g+32|0;i=g+16|0;j=g;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];f=EY(j,i,h)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];e=EY(j,i,h)|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];d=(EY(j,i,h)|0)>0;l=g;return (d?e|f:e&f)>>>31^1|0}function PY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+80|0;k=t+64|0;j=t+48|0;i=t+32|0;m=t+16|0;p=t;q=c[a+4>>2]|0;r=c[a+8>>2]|0;s=c[a+16>>2]|0;n=c[a+20>>2]|0;o=k6((q<<3)+16|0)|0;if((b|0)==-2222){c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];b=QY(a,k)|0}if((b|0)>-1){f=c[a+12>>2]|0;g=c[f+(b+1<<2)>>2]|0;f=c[f+(b<<2)>>2]|0}else{g=q;f=q}b=0;while(1){if((b|0)>=(f|0)){b=f;break}u=r+(b<<4)|0;c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];u=r+(c[n+(b<<2)>>2]<<4)|0;a=r+(c[s+(b<<2)>>2]<<4)|0;c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[m+12>>2]=c[u+12>>2];c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];a=o+(b<<3)|0;if((OY(m,i,j,k)|0)!=0?(c[j>>2]=c[d>>2],c[j+4>>2]=c[d+4>>2],c[j+8>>2]=c[d+8>>2],c[j+12>>2]=c[d+12>>2],c[k>>2]=c[p>>2],c[k+4>>2]=c[p+4>>2],c[k+8>>2]=c[p+8>>2],c[k+12>>2]=c[p+12>>2],(NY(j,k,f,g,q,r,s)|0)!=0):0){c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[k>>2]=c[p>>2];c[k+4>>2]=c[p+4>>2];c[k+8>>2]=c[p+8>>2];c[k+12>>2]=c[p+12>>2];e=+LY(j,k)}else e=0.0;h[a>>3]=e;b=b+1|0}while(1){if((b|0)>=(g|0)){b=g;break}h[o+(b<<3)>>3]=0.0;b=b+1|0}while(1){if((b|0)>=(q|0))break;u=r+(b<<4)|0;c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];u=r+(c[n+(b<<2)>>2]<<4)|0;a=r+(c[s+(b<<2)>>2]<<4)|0;c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[m+12>>2]=c[u+12>>2];c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];a=o+(b<<3)|0;if((OY(m,i,j,k)|0)!=0?(c[j>>2]=c[d>>2],c[j+4>>2]=c[d+4>>2],c[j+8>>2]=c[d+8>>2],c[j+12>>2]=c[d+12>>2],c[k>>2]=c[p>>2],c[k+4>>2]=c[p+4>>2],c[k+8>>2]=c[p+8>>2],c[k+12>>2]=c[p+12>>2],(NY(j,k,f,g,q,r,s)|0)!=0):0){c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[k>>2]=c[p>>2];c[k+4>>2]=c[p+4>>2];c[k+8>>2]=c[p+8>>2];c[k+12>>2]=c[p+12>>2];e=+LY(j,k)}else e=0.0;h[a>>3]=e;b=b+1|0}h[o+(q<<3)>>3]=0.0;h[o+(q+1<<3)>>3]=0.0;l=t;return o|0}function QY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;f=m;e=m+24|0;h=m+16|0;i=a+8|0;j=a+12|0;k=h+4|0;d=0;while(1){if((d|0)>=(c[a>>2]|0)){d=-1111;break}o=c[j>>2]|0;n=c[o+(d<<2)>>2]|0;c[h>>2]=(c[i>>2]|0)+(n<<4);g=d+1|0;c[k>>2]=(c[o+(g<<2)>>2]|0)-n;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];if(!(LX(e,f)|0))d=g;else break}l=m;return d|0}function RY(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+64|0;m=t+48|0;k=t+32|0;o=t+16|0;n=t;q=c[f+4>>2]|0;r=c[f+8>>2]|0;p=c[f+16>>2]|0;h=e+1|0;f=f+12|0;g=(e|0)<0;if((b|0)<0)if(g){f=0;e=0;g=0;b=0}else{g=c[f>>2]|0;f=c[g+(h<<2)>>2]|0;e=c[g+(e<<2)>>2]|0;g=0;b=0}else{f=c[f>>2]|0;j=c[f+(b<<2)>>2]|0;i=c[f+(b+1<<2)>>2]|0;if(g){f=i;e=j;g=0;b=0}else{u=(b|0)>(e|0);b=c[f+(e<<2)>>2]|0;g=c[f+(h<<2)>>2]|0;f=u?i:g;e=u?j:b;g=u?g:i;b=u?b:j}}h=0;while(1){if((h|0)>=(b|0)){s=9;break}j=r+(h<<4)|0;u=r+(c[p+(h<<2)>>2]<<4)|0;c[n>>2]=c[a>>2];c[n+4>>2]=c[a+4>>2];c[n+8>>2]=c[a+8>>2];c[n+12>>2]=c[a+12>>2];c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[m+12>>2]=c[u+12>>2];if(!(GY(n,o,k,m)|0))h=h+1|0;else{f=0;break}}a:do if((s|0)==9){while(1){if((g|0)>=(e|0))break;s=r+(g<<4)|0;u=r+(c[p+(g<<2)>>2]<<4)|0;c[n>>2]=c[a>>2];c[n+4>>2]=c[a+4>>2];c[n+8>>2]=c[a+8>>2];c[n+12>>2]=c[a+12>>2];c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[k>>2]=c[s>>2];c[k+4>>2]=c[s+4>>2];c[k+8>>2]=c[s+8>>2];c[k+12>>2]=c[s+12>>2];c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[m+12>>2]=c[u+12>>2];if(!(GY(n,o,k,m)|0)){g=g+1|0;s=9}else{f=0;break a}}while(1){if((f|0)>=(q|0)){f=1;break a}s=r+(f<<4)|0;u=r+(c[p+(f<<2)>>2]<<4)|0;c[n>>2]=c[a>>2];c[n+4>>2]=c[a+4>>2];c[n+8>>2]=c[a+8>>2];c[n+12>>2]=c[a+12>>2];c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[k>>2]=c[s>>2];c[k+4>>2]=c[s+4>>2];c[k+8>>2]=c[s+8>>2];c[k+12>>2]=c[s+12>>2];c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[m+12>>2]=c[u+12>>2];if(!(GY(n,o,k,m)|0))f=f+1|0;else{f=0;break}}}while(0);l=t;return f|0}function SY(a){a=a|0;return TY(a,0,0)|0}function TY(a,b,c){a=a|0;b=b|0;c=c|0;return UY(a,b,c,0)|0}function UY(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if(!d){g=k6(500)|0;if(!g)g=0;else{c[g+12>>2]=35;c[g+16>>2]=107;c[g+20>>2]=105;d=35;h=6}}else{g=pb[c[d>>2]&63](500)|0;if(!g)g=0;else{h=c[d>>2]|0;c[g+12>>2]=h;c[g+16>>2]=c[d+4>>2];c[g+20>>2]=c[d+8>>2];d=h;h=6}}do if((h|0)==6){c[g+8>>2]=0;c[g+32>>2]=0;c[g+380>>2]=16;k=g+12|0;j=pb[d&63](256)|0;d=g+392|0;c[d>>2]=j;h=g+20|0;if(!j){db[c[h>>2]&127](g);g=0;break}i=pb[c[k>>2]&63](1024)|0;j=g+44|0;c[j>>2]=i;if(!i){db[c[h>>2]&127](c[d>>2]|0);db[c[h>>2]&127](g);g=0;break}c[g+48>>2]=i+1024;if(!f){f=VY(k)|0;c[g+356>>2]=f;if(!f){db[c[h>>2]&127](c[j>>2]|0);db[c[h>>2]&127](c[d>>2]|0);db[c[h>>2]&127](g);g=0;break}}else c[g+356>>2]=f;c[g+376>>2]=0;c[g+368>>2]=0;c[g+304>>2]=0;c[g+468>>2]=0;c[g+464>>2]=0;c[g+124>>2]=0;c[g+248>>2]=0;d=g+472|0;a[d>>0]=33;h=g+236|0;a[h>>0]=0;a[g+237>>0]=0;c[g+396>>2]=0;c[g+400>>2]=0;a[g+404>>0]=0;WY(g+416|0,k);WY(g+440|0,k);XY(g,b);if(b|0?(c[g+232>>2]|0)==0:0){YY(g);g=0;break}if(!e){c[g+228>>2]=V_()|0;break}else{a[h>>0]=1;c[g+228>>2]=B0()|0;a[d>>0]=a[e>>0]|0;break}}while(0);return g|0}function VY(b){b=b|0;var d=0;d=pb[c[b>>2]&63](188)|0;if(d|0){WY(d+80|0,b);WY(d+104|0,b);VZ(d,b);VZ(d+20|0,b);VZ(d+40|0,b);VZ(d+60|0,b);a[d+131>>0]=0;VZ(d+132|0,b);c[d+152>>2]=0;c[d+156>>2]=0;a[d+160>>0]=0;b=d+164|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;a[d+128>>0]=1;a[d+129>>0]=0;a[d+130>>0]=0}return d|0}function WY(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=b;return}function XY(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;c[d+280>>2]=56;I0(d+256|0);if(!e)e=0;else e=eZ(d+416|0,e)|0;c[d+232>>2]=e;c[d+360>>2]=0;K$(d+148|0,d+144|0,0)|0;c[d>>2]=0;c[d+4>>2]=0;e=d+116|0;g=d+52|0;h=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[e>>2]=d;c[d+120>>2]=0;e=d+128|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=c[d+8>>2]|0;c[d+24>>2]=e;c[d+28>>2]=e;c[d+36>>2]=0;c[d+40>>2]=0;e=d+316|0;g=d+408|0;c[g>>2]=0;c[g+4>>2]=0;g=d+284|0;f=d+308|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;g=e;h=g+36|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[e+36>>1]=0;a[f>>0]=1;c[d+312>>2]=0;c[d+364>>2]=0;c[d+372>>2]=0;c[d+384>>2]=0;c[d+240>>2]=0;c[d+252>>2]=0;c[d+244>>2]=0;c[d+476>>2]=0;c[d+480>>2]=0;a[d+488>>0]=0;a[d+489>>0]=0;c[d+492>>2]=0;c[d+496>>2]=0;return}function YY(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;if(b|0){e=b+368|0;g=b+20|0;d=c[b+364>>2]|0;while(1){if(!d){d=c[e>>2]|0;if(!d)break;c[e>>2]=0}h=c[d>>2]|0;db[c[g>>2]&127](c[d+36>>2]|0);ZY(c[d+44>>2]|0,b);db[c[g>>2]&127](d);d=h}e=b+304|0;d=c[b+300>>2]|0;while(1){if(!d){d=c[e>>2]|0;if(!d)break;c[e>>2]=0}h=c[d+8>>2]|0;db[c[g>>2]&127](d);d=h}d=b+12|0;ZY(c[b+376>>2]|0,b);ZY(c[b+372>>2]|0,b);_Y(b+416|0);_Y(b+440|0);if((a[b+488>>0]|0)==0?(f=c[b+356>>2]|0,f|0):0)$Y(f,(c[b+476>>2]|0)==0&1,d);db[c[g>>2]&127](c[b+392>>2]|0);db[c[g>>2]&127](c[b+464>>2]|0);db[c[g>>2]&127](c[b+8>>2]|0);db[c[g>>2]&127](c[b+44>>2]|0);db[c[g>>2]&127](c[b+396>>2]|0);db[c[g>>2]&127](c[b+240>>2]|0);d=c[b+252>>2]|0;if(d|0)db[d&127](c[b+244>>2]|0);db[c[g>>2]&127](b)}return}function ZY(a,b){a=a|0;b=b|0;var d=0;b=b+20|0;while(1){if(!a)break;d=c[a+4>>2]|0;db[c[b>>2]&127](c[a+16>>2]|0);db[c[b>>2]&127](a);a=d}return}function _Y(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;b=c[a>>2]|0;while(1){if(!b)break;e=c[b>>2]|0;db[c[(c[d>>2]|0)+8>>2]&127](b);b=e}b=c[a+4>>2]|0;while(1){if(!b)break;e=c[b>>2]|0;db[c[(c[d>>2]|0)+8>>2]&127](b);b=e}return}function $Y(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=a+20|0;aZ(f,g);d=d+8|0;while(1){e=bZ(f)|0;if(!e)break;if(!(c[e+16>>2]|0))continue;db[c[d>>2]&127](c[e+20>>2]|0)}cZ(a);cZ(a+132|0);cZ(g);cZ(a+40|0);cZ(a+60|0);_Y(a+80|0);_Y(a+104|0);if(b<<24>>24){db[c[d>>2]&127](c[a+184>>2]|0);db[c[d>>2]&127](c[a+164>>2]|0)}db[c[d>>2]&127](a);l=h;return}function aZ(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=d;c[a+4>>2]=d+(c[b+8>>2]<<2);return}function bZ(a){a=a|0;var b=0,d=0,e=0;d=c[a+4>>2]|0;e=c[a>>2]|0;do{if((e|0)==(d|0)){b=0;break}b=e;e=e+4|0;c[a>>2]=e;b=c[b>>2]|0}while(!(b|0));return b|0}function cZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=a+8|0;e=a+16|0;b=0;while(1){f=c[(c[e>>2]|0)+8>>2]|0;g=c[a>>2]|0;if(b>>>0>=(c[d>>2]|0)>>>0)break;db[f&127](c[g+(b<<2)>>2]|0);b=b+1|0}db[f&127](g);return}function dZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=gZ(a)|0;if(!f){c[a+280>>2]=57;f=hZ(a,b,d,e)|0}return f|0}function eZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=b+12|0;g=b+8|0;while(1){e=c[f>>2]|0;if((e|0)==(c[g>>2]|0)){if(!((fZ(b)|0)<<24>>24)){d=0;break}e=c[f>>2]|0}i=a[d>>0]|0;c[f>>2]=e+1;a[e>>0]=i;if(!(a[d>>0]|0)){h=6;break}else d=d+1|0}if((h|0)==6){i=b+16|0;d=c[i>>2]|0;c[i>>2]=c[f>>2]}return d|0}function fZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=a+4|0;f=c[b>>2]|0;i=a+16|0;j=a+12|0;k=a+8|0;do if(f){g=c[i>>2]|0;if(!g){c[a>>2]=f;c[b>>2]=c[f>>2];c[f>>2]=0;b=f+8|0;c[i>>2]=b;c[k>>2]=(c[f+4>>2]|0)+(f+8);c[j>>2]=b;b=1;break}d=c[k>>2]|0;e=d-g|0;if((e|0)<(c[f+4>>2]|0)){d=c[f>>2]|0;c[f>>2]=c[a>>2];c[a>>2]=f;c[b>>2]=d;B6(f+8|0,g|0,e|0)|0;b=c[a>>2]|0;c[j>>2]=(c[j>>2]|0)-(c[i>>2]|0)+(b+8);c[i>>2]=b+8;c[k>>2]=(c[b+4>>2]|0)+(b+8);b=1}else h=7}else{d=c[k>>2]|0;h=7}while(0);a:do if((h|0)==7){e=c[a>>2]|0;f=a+20|0;do if(!e){h=i;b=c[i>>2]|0}else{h=c[i>>2]|0;b=h;if((h|0)!=(e+8|0)){h=i;break}d=d-b<<1;b=vb[c[(c[f>>2]|0)+4>>2]&127](e,d+8|0)|0;if(!b){b=0;break a}c[a>>2]=b;c[b+4>>2]=d;c[j>>2]=(c[j>>2]|0)-(c[i>>2]|0)+(b+8);c[i>>2]=b+8;c[k>>2]=b+8+d;b=1;break a}while(0);g=d-b|0;g=(g|0)<1024?1024:g<<1;b=pb[c[c[f>>2]>>2]&63](g+8|0)|0;if(!b)b=0;else{c[b+4>>2]=g;c[b>>2]=c[a>>2];c[a>>2]=b;a=c[j>>2]|0;e=c[i>>2]|0;f=b+8|0;d=a;b=e;if((a|0)!=(e|0)){B6(f|0,e|0,d-b|0)|0;d=c[j>>2]|0;b=c[h>>2]|0}c[j>>2]=f+(d-b);c[i>>2]=f;c[k>>2]=f+g;b=1}}while(0);return b|0}function gZ(b){b=b|0;var d=0;d=b+232|0;if(!(eb[(a[b+236>>0]<<24>>24?40:41)&63](b+148|0,b+144|0,c[d>>2]|0)|0))b=UZ(b,c[d>>2]|0)|0;else b=0;return b|0}function hZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=l;l=l+16|0;h=g;c[h>>2]=d;j=b+144|0;i=c[j>>2]|0;i=tb[c[i>>2]&127](i,d,e,h)|0;f=iZ(b,c[j>>2]|0,d,e,i,c[h>>2]|0,f,(a[b+484>>0]|0)==0&1)|0;l=g;return f|0}function iZ(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0;Ha=l;l=l+16|0;wa=Ha;c[wa>>2]=i;s=c[b+356>>2]|0;t=b+144|0;u=b+300|0;if((c[t>>2]|0)==(e|0)){q=b+288|0;r=b+292|0}else{r=c[u>>2]|0;q=r;r=r+4|0}v=b+256|0;w=k<<24>>24!=0;x=b+328|0;y=b+344|0;z=b+136|0;A=b+353|0;xa=b+116|0;oa=b+489|0;ya=b+4|0;B=s+80|0;C=b+340|0;D=b+348|0;E=b+316|0;F=s+168|0;G=s+164|0;za=s+130|0;H=b+352|0;I=b+260|0;J=s+184|0;K=b+476|0;sa=b+492|0;L=s+96|0;M=b+332|0;N=s+160|0;O=b+324|0;P=b+128|0;Q=b+96|0;R=b+464|0;S=s+180|0;Aa=b+108|0;Ba=s+131|0;T=b+132|0;U=b+336|0;Ca=s+129|0;Da=b+360|0;V=b+416|0;W=b+80|0;ta=s+132|0;X=b+320|0;Ea=b+112|0;Y=s+128|0;Z=b+84|0;_=b+428|0;$=b+424|0;aa=s+92|0;ba=b+12|0;ca=b+432|0;da=b+480|0;ea=b+88|0;fa=s+120|0;ga=s+116|0;ha=b+92|0;ia=b+468|0;ja=b+16|0;ka=b+272|0;la=b+120|0;ma=s+176|0;p=e;o=f;e=h;a:while(1){c[q>>2]=o;f=c[wa>>2]|0;c[r>>2]=f;i=f;b:do if((e|0)<1){if(w&(e|0)!=0){n=7;break a}h=0-e|0;switch(e|0){case -1:{i=5;n=278;break a}case 0:{n=9;break a}case -2:{i=6;break a}case -4:{n=10;break a}case -15:{e=h;break b}default:{}}c[wa>>2]=g;e=h;i=g}while(0);m=wb[c[v>>2]&63](v,e,o,i,p)|0;i=p+56|0;f=p+68|0;c:do switch(m|0){case 2:{n=58;break a}case -1:{n=184;break a}case 1:{i=jZ(b,0,o,c[wa>>2]|0)|0;if(i|0){n=278;break a}i=c[t>>2]|0;break}case 4:{if(!(c[Z>>2]|0))i=1;else{n=kZ(V,p,o,c[wa>>2]|0)|0;c[X>>2]=n;if(!n){i=1;n=278;break a}c[ca>>2]=c[_>>2];c[x>>2]=0;i=0}c[O>>2]=0;n=272;break}case 7:{i=c[Z>>2]|0;if(!i)n=273;else{fb[i&31](c[ya>>2]|0,c[X>>2]|0,c[O>>2]|0,c[x>>2]|0,1);c[X>>2]=0;lZ(V);i=p}break}case 57:{i=jZ(b,1,o,c[wa>>2]|0)|0;if(i|0){n=278;break a}i=c[t>>2]|0;break}case 6:{a[oa>>0]=0;n=mZ(b,ta,75667,36)|0;c[E>>2]=n;if(!n){i=1;n=278;break a}a[Ca>>0]=1;if(!(c[Z>>2]|0))n=33;else{if(!(tb[c[i>>2]&127](p,o,c[wa>>2]|0,q)|0)){i=32;n=278;break a}i=c[f>>2]|0;i=kZ(V,p,o+i|0,(c[wa>>2]|0)+(0-i)|0)|0;if(!i){i=1;n=278;break a}nZ(i);c[ca>>2]=c[_>>2];c[x>>2]=i;i=0;n=34}break}case 14:{n=33;break}case 8:{i=c[X>>2]|0;if(!i)i=1;else{fb[c[Z>>2]&31](c[ya>>2]|0,i,c[O>>2]|0,c[x>>2]|0,0);lZ(V);i=0}if(!((c[O>>2]|0)==0?!(a[oa>>0]|0):0)){f=a[Ca>>0]|0;a[Ca>>0]=1;do if(c[sa>>2]|0?c[Ea>>2]|0:0){h=mZ(b,ta,75667,36)|0;if(!h){i=1;n=278;break a}e=h+20|0;if(!(a[oa>>0]|0))e=c[e>>2]|0;else{m=c[Da>>2]|0;c[e>>2]=m;e=m}a[Ba>>0]=0;if(!(wb[c[Ea>>2]&63](c[xa>>2]|0,0,e,c[h+16>>2]|0,c[h+24>>2]|0)|0)){i=21;n=278;break a}if(!(a[Ba>>0]|0)){if(c[O>>2]|0)break;a[Ca>>0]=f;break}if(((a[za>>0]|0)==0?(na=c[Aa>>2]|0,na|0):0)?(pb[na&63](c[ya>>2]|0)|0)==0:0){i=22;n=278;break a}}while(0);a[oa>>0]=0}e=c[ea>>2]|0;if(!e)n=272;else{db[e&127](c[ya>>2]|0);i=p}break}case 34:{n=pZ(b,p,o,c[wa>>2]|0)|0;c[y>>2]=n;if(!n){i=1;n=278;break a}else n=80;break}case 22:{n=qZ(b,p,o,c[wa>>2]|0)|0;c[D>>2]=n;if(!n){i=1;n=278;break a}a[H>>0]=0;c[M>>2]=0;a[A>>0]=0;n=80;break}case 23:{a[H>>0]=1;c[M>>2]=142491;n=80;break}case 24:{a[A>>0]=1;c[M>>2]=142497;n=80;break}case 25:{c[M>>2]=142500;n=80;break}case 26:{c[M>>2]=142506;n=80;break}case 27:{c[M>>2]=142513;n=80;break}case 28:{c[M>>2]=142520;n=80;break}case 29:{c[M>>2]=142529;n=80;break}case 30:{c[M>>2]=142537;n=80;break}case 32:case 31:{if((a[Y>>0]|0)!=0?(c[T>>2]|0)!=0:0){if(!(rZ(V,(c[M>>2]|0)==0?((m|0)==32?142546:142556):142558)|0)){i=1;n=278;break a}if(!(sZ(V,p,o,c[wa>>2]|0)|0)){i=1;n=278;break a}c[M>>2]=c[ca>>2];i=p}else n=273;break}case 36:case 35:{if(a[Y>>0]|0){if(!(tZ(c[y>>2]|0,c[D>>2]|0,a[H>>0]|0,a[A>>0]|0,0,b)|0)){i=1;n=278;break a}if((c[T>>2]|0)!=0?(pa=c[M>>2]|0,(pa|0)!=0):0){switch(a[pa>>0]|0){case 40:{n=93;break}case 78:{if((a[pa+1>>0]|0)==79)n=93;break}default:{}}if((n|0)==93){n=0;i=c[_>>2]|0;if((i|0)==(c[$>>2]|0)){if(!((fZ(V)|0)<<24>>24)){i=1;n=278;break a}i=c[_>>2]|0}c[_>>2]=i+1;a[i>>0]=41;i=c[_>>2]|0;if((i|0)==(c[$>>2]|0)){if(!((fZ(V)|0)<<24>>24)){i=1;n=278;break a}i=c[_>>2]|0}c[_>>2]=i+1;a[i>>0]=0;c[M>>2]=c[ca>>2];c[ca>>2]=c[_>>2]}c[r>>2]=o;ub[c[T>>2]&15](c[ya>>2]|0,c[c[y>>2]>>2]|0,c[c[D>>2]>>2]|0,c[M>>2]|0,0,(m|0)==36&1);lZ(V);i=p}else n=273}else n=273;break}case 38:case 37:{if(a[Y>>0]|0){i=c[f>>2]|0;i=uZ(b,p,a[H>>0]|0,o+i|0,(c[wa>>2]|0)+(0-i)|0,B)|0;if(i|0){n=278;break a}e=c[L>>2]|0;c[L>>2]=c[aa>>2];if(!(tZ(c[y>>2]|0,c[D>>2]|0,a[H>>0]|0,0,e,b)|0)){i=1;n=278;break a}if((c[T>>2]|0)!=0?(qa=c[M>>2]|0,(qa|0)!=0):0){switch(a[qa>>0]|0){case 40:{n=108;break}case 78:{if((a[qa+1>>0]|0)==79)n=108;break}default:{}}if((n|0)==108){n=0;i=c[_>>2]|0;if((i|0)==(c[$>>2]|0)){if(!((fZ(V)|0)<<24>>24)){i=1;n=278;break a}i=c[_>>2]|0}c[_>>2]=i+1;a[i>>0]=41;i=c[_>>2]|0;if((i|0)==(c[$>>2]|0)){if(!((fZ(V)|0)<<24>>24)){i=1;n=278;break a}i=c[_>>2]|0}c[_>>2]=i+1;a[i>>0]=0;c[M>>2]=c[ca>>2];c[ca>>2]=c[_>>2]}c[r>>2]=o;ub[c[T>>2]&15](c[ya>>2]|0,c[c[y>>2]>>2]|0,c[c[D>>2]>>2]|0,c[M>>2]|0,e,(m|0)==38&1);lZ(V);i=p}else n=273}else n=273;break}case 12:{if(a[Y>>0]|0){i=c[f>>2]|0;i=vZ(b,p,o+i|0,(c[wa>>2]|0)+(0-i)|0)|0;e=c[E>>2]|0;f=c[fa>>2]|0;if(e){c[e+4>>2]=f;n=c[ga>>2]|0;c[e+8>>2]=n-f;c[fa>>2]=n;if(!(c[z>>2]|0))e=1;else{c[r>>2]=o;e=c[E>>2]|0;ob[c[z>>2]&0](c[ya>>2]|0,c[e>>2]|0,d[e+33>>0]|0,c[e+4>>2]|0,c[e+8>>2]|0,c[Da>>2]|0,0,0,0);e=0}}else{c[ga>>2]=f;e=1}if(!i){i=e;n=272}else{n=278;break a}}else n=273;break}case 5:{a[oa>>0]=0;a[Ca>>0]=1;if(!(c[Z>>2]|0)){c[O>>2]=75667;i=1}else{n=c[f>>2]|0;n=kZ(V,p,o+n|0,(c[wa>>2]|0)+(0-n)|0)|0;c[O>>2]=n;if(!n){i=1;n=278;break a}c[ca>>2]=c[_>>2];i=0}if((((a[za>>0]|0)==0?(c[sa>>2]|0)==0:0)?(ra=c[Aa>>2]|0,ra|0):0)?(pb[ra&63](c[ya>>2]|0)|0)==0:0){i=22;n=278;break a}if(!(c[E>>2]|0)){e=mZ(b,ta,75667,36)|0;c[E>>2]=e;if(!e){i=1;n=278;break a}c[e+24>>2]=0;n=133}else n=133;break}case 13:{i=1;n=133;break}case 15:{if(((a[Y>>0]|0)!=0?(c[E>>2]|0)!=0:0)?(c[z>>2]|0)!=0:0){c[r>>2]=o;i=c[E>>2]|0;ob[c[z>>2]&0](c[ya>>2]|0,c[i>>2]|0,d[i+33>>0]|0,0,0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,0);i=p}else n=273;break}case 16:{if((a[Y>>0]|0)!=0?(c[E>>2]|0)!=0:0){m=kZ(B,p,o,c[wa>>2]|0)|0;c[(c[E>>2]|0)+28>>2]=m;if(!m){i=1;n=278;break a}c[L>>2]=c[aa>>2];if(c[ha>>2]|0){c[r>>2]=o;i=c[E>>2]|0;ub[c[ha>>2]&15](c[ya>>2]|0,c[i>>2]|0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,c[i+28>>2]|0);i=p;break c}if(c[z>>2]|0){c[r>>2]=o;i=c[E>>2]|0;ob[c[z>>2]&0](c[ya>>2]|0,c[i>>2]|0,0,0,0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,c[i+28>>2]|0);i=p}else n=273}else n=273;break}case 9:{if(eb[c[p+48>>2]&63](p,o,c[wa>>2]|0)|0){c[E>>2]=0;n=273;break c}if(!(a[Y>>0]|0)){c[aa>>2]=c[L>>2];c[E>>2]=0;n=273;break c}i=kZ(B,p,o,c[wa>>2]|0)|0;if(!i){i=1;n=278;break a}e=mZ(b,s,i,36)|0;c[E>>2]=e;if(!e){i=1;n=278;break a}if((c[e>>2]|0)!=(i|0)){c[aa>>2]=c[L>>2];c[E>>2]=0;n=273;break c}c[L>>2]=c[aa>>2];c[e+24>>2]=0;a[e+33>>0]=0;if(!(c[K>>2]|0))i=(c[u>>2]|0)!=0;else i=1;a[e+34>>0]=(i^1)&1;if(!(c[z>>2]|0))n=273;else i=p;break}case 10:{if(!(a[Y>>0]|0)){c[aa>>2]=c[L>>2];c[E>>2]=0;n=273;break c}i=kZ(B,p,o,c[wa>>2]|0)|0;if(!i){i=1;n=278;break a}e=mZ(b,ta,i,36)|0;c[E>>2]=e;if(!e){i=1;n=278;break a}if((c[e>>2]|0)!=(i|0)){c[aa>>2]=c[L>>2];c[E>>2]=0;n=273;break c}c[L>>2]=c[aa>>2];c[e+24>>2]=0;a[e+33>>0]=1;if(!(c[K>>2]|0))i=(c[u>>2]|0)!=0;else i=1;a[e+34>>0]=(i^1)&1;if(!(c[z>>2]|0))n=273;else i=p;break}case 18:{c[C>>2]=0;c[U>>2]=0;if(!(c[Q>>2]|0))n=273;else{o=kZ(V,p,o,c[wa>>2]|0)|0;c[U>>2]=o;if(!o){i=1;n=278;break a}c[ca>>2]=c[_>>2];i=p}break}case 21:{if(!(tb[c[i>>2]&127](p,o,c[wa>>2]|0,q)|0)){i=32;n=278;break a}if(!(c[U>>2]|0))n=273;else{i=c[f>>2]|0;i=kZ(V,p,o+i|0,(c[wa>>2]|0)+(0-i)|0)|0;if(!i){i=1;n=278;break a}nZ(i);c[C>>2]=i;c[ca>>2]=c[_>>2];i=p}break}case 19:{if((c[U>>2]|0)!=0?(c[Q>>2]|0)!=0:0){i=c[f>>2]|0;i=kZ(V,p,o+i|0,(c[wa>>2]|0)+(0-i)|0)|0;if(!i){i=1;n=278;break a}c[r>>2]=o;fb[c[Q>>2]&31](c[ya>>2]|0,c[U>>2]|0,c[Da>>2]|0,i,c[C>>2]|0);i=0}else i=1;lZ(V);n=272;break}case 20:{if((c[C>>2]|0)!=0?(c[Q>>2]|0)!=0:0){c[r>>2]=o;fb[c[Q>>2]&31](c[ya>>2]|0,c[U>>2]|0,c[Da>>2]|0,0,c[C>>2]|0);i=0}else i=1;lZ(V);n=272;break}case 58:{if(c[W>>2]|0)wZ(b,p,o,c[wa>>2]|0);i=xZ(b,p,wa,g,j,k)|0;if(i|0){n=278;break a}if(!(c[wa>>2]|0)){n=189;break a}else i=p;break}case 44:{i=c[ia>>2]|0;do if((c[I>>2]|0)>>>0>=i>>>0){if(!i){m=c[ba>>2]|0;c[ia>>2]=32;m=pb[m&63](32)|0;c[R>>2]=m;if(!m){i=1;n=278;break a}else break}h=c[ja>>2]|0;m=c[R>>2]|0;i=i<<1;c[ia>>2]=i;i=vb[h&127](m,i)|0;if(!i){i=1;n=278;break a}c[R>>2]=i;i=c[J>>2]|0;if(i|0){i=vb[c[ja>>2]&127](i,c[ia>>2]<<2)|0;if(!i){i=1;n=278;break a}c[J>>2]=i}}while(0);a[(c[R>>2]|0)+(c[I>>2]|0)>>0]=0;if(a[N>>0]|0){i=zZ(b)|0;if((i|0)<0){i=1;n=278;break a}c[(c[J>>2]|0)+(c[S>>2]<<2)>>2]=i;c[S>>2]=(c[S>>2]|0)+1;c[(c[G>>2]|0)+(i*28|0)>>2]=6;if(c[P>>2]|0)i=p;else n=273}else n=273;break}case 50:{i=(c[R>>2]|0)+(c[I>>2]|0)|0;if((a[i>>0]|0)==124){i=2;n=278;break a}a[i>>0]=44;if((a[N>>0]|0)!=0?(c[P>>2]|0)!=0:0)i=p;else n=273;break}case 49:{e=(c[R>>2]|0)+(c[I>>2]|0)|0;i=a[e>>0]|0;if(i<<24>>24==44){i=2;n=278;break a}if(i<<24>>24==0&(a[N>>0]|0)!=0?(ua=(c[G>>2]|0)+((c[(c[J>>2]|0)+((c[S>>2]|0)+-1<<2)>>2]|0)*28|0)|0,(c[ua>>2]|0)!=3):0){c[ua>>2]=5;i=(c[P>>2]|0)==0&1}else i=1;a[e>>0]=124;n=272;break}case 59:case 60:{a[Ca>>0]=1;if(c[sa>>2]|0){e=c[f>>2]|0;e=kZ(B,p,o+e|0,(c[wa>>2]|0)+(0-e)|0)|0;if(!e){i=1;n=278;break a}h=mZ(b,ta,e,0)|0;c[aa>>2]=c[L>>2];i=(h|0)!=0;f=(m|0)==60;do if(c[ka>>2]|0){if(!(a[za>>0]|0)){if(a[Ca>>0]|0){n=217;break}}else if(c[u>>2]|0){n=217;break}if(!i){i=11;n=278;break a}if(!(a[h+34>>0]|0)){i=24;n=278;break a}}else n=217;while(0);if((n|0)==217?(n=0,!i):0){a[Y>>0]=a[za>>0]|0;if(!f){n=273;break c}i=c[la>>2]|0;if(!i){n=273;break c}rb[i&127](c[ya>>2]|0,e,1);i=p;break c}e=h+32|0;if(a[e>>0]|0){i=12;n=278;break a}if(c[h+4>>2]|0){i=AZ(b,h,f&1)|0;e=(i|0)==0;if(e){i=(e^1)&1;n=272;break c}else{n=278;break a}}i=c[Ea>>2]|0;if(!i){a[Y>>0]=a[za>>0]|0;n=273;break c}a[Ba>>0]=0;a[e>>0]=1;m=(wb[i&63](c[xa>>2]|0,0,c[h+20>>2]|0,c[h+16>>2]|0,c[h+24>>2]|0)|0)==0;a[e>>0]=0;if(m){i=21;n=278;break a}e=a[za>>0]|0;if(!(a[Ba>>0]|0)){a[Y>>0]=e;i=p;break c}else i=0}else{e=a[za>>0]|0;a[Y>>0]=e;i=1}if((e<<24>>24==0?(va=c[Aa>>2]|0,(va|0)!=0):0)?(pb[va&63](c[ya>>2]|0)|0)==0:0){i=22;n=278;break a}else n=272;break}case 40:{if(!(c[P>>2]|0))n=273;else{o=pZ(b,p,o,c[wa>>2]|0)|0;c[y>>2]=o;if(!o){i=1;n=278;break a}c[S>>2]=0;c[ma>>2]=0;a[N>>0]=1;i=p}break}case 42:case 41:{if(!(a[N>>0]|0))n=273;else{if(!(c[P>>2]|0))i=1;else{i=pb[c[ba>>2]&63](20)|0;if(!i){i=1;n=278;break a}n=i+4|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[i>>2]=(m|0)==41?2:1;c[r>>2]=o;rb[c[P>>2]&127](c[ya>>2]|0,c[c[y>>2]>>2]|0,i);i=0}a[N>>0]=0;n=272}break}case 43:{if((a[N>>0]|0)!=0?(c[(c[G>>2]|0)+((c[(c[J>>2]|0)+((c[S>>2]|0)+-1<<2)>>2]|0)*28|0)>>2]=3,(c[P>>2]|0)!=0):0)i=p;else n=273;break}case 51:{e=0;n=245;break}case 53:{e=1;n=245;break}case 52:{e=2;n=245;break}case 54:{e=3;n=245;break}case 45:{f=0;n=256;break}case 47:{f=1;n=256;break}case 46:{f=2;n=256;break}case 48:{f=3;n=256;break}case 55:{if(!(CZ(b,p,o,c[wa>>2]|0)|0)){i=1;n=278;break a}else i=p;break}case 56:{if(!(DZ(b,p,o,c[wa>>2]|0)|0)){i=1;n=278;break a}else i=p;break}case 0:{if((e|0)==14)i=p;else n=273;break}case 3:{if(!(c[Z>>2]|0))n=273;else i=p;break}case 11:{if((a[Y>>0]|0)!=0?(c[z>>2]|0)!=0:0)i=p;else n=273;break}case 17:{if(!(c[Q>>2]|0))n=273;else i=p;break}case 33:{if((a[Y>>0]|0)!=0?(c[T>>2]|0)!=0:0)i=p;else n=273;break}case 39:{if(!(c[P>>2]|0))n=273;else i=p;break}default:n=273}while(0);if((n|0)==33)if(!(tb[c[i>>2]&127](p,o,c[wa>>2]|0,q)|0)){i=32;n=278;break}else{i=1;n=34}else if((n|0)==80){n=0;if((a[Y>>0]|0)!=0?(c[T>>2]|0)!=0:0)i=p;else n=273}else if((n|0)==133){n=0;if((a[Y>>0]|0)!=0?(c[E>>2]|0)!=0:0){m=c[f>>2]|0;m=kZ(B,p,o+m|0,(c[wa>>2]|0)+(0-m)|0)|0;e=c[E>>2]|0;c[e+16>>2]=m;if(!m){i=1;n=278;break}c[e+20>>2]=c[Da>>2];c[L>>2]=c[aa>>2];if(c[z>>2]|0)i=p;else n=272}else n=272}else if((n|0)==245){n=0;if(a[N>>0]|0){i=c[wa>>2]|0;if(e)i=i+(0-(c[f>>2]|0))|0;f=zZ(b)|0;if((f|0)<0){i=1;n=278;break}m=c[G>>2]|0;c[m+(f*28|0)>>2]=4;c[m+(f*28|0)+4>>2]=e;i=pZ(b,p,o,i)|0;if(!i){i=1;n=278;break}e=c[i>>2]|0;c[(c[G>>2]|0)+(f*28|0)+8>>2]=e;i=0;do{m=i;i=i+1|0}while((a[e+m>>0]|0)!=0);c[F>>2]=(c[F>>2]|0)+i;if(c[P>>2]|0)i=p;else n=273}else n=273}else if((n|0)==256)if(a[N>>0]|0){e=(c[P>>2]|0)==0;i=e&1;n=(c[S>>2]|0)+-1|0;c[S>>2]=n;c[(c[G>>2]|0)+((c[(c[J>>2]|0)+(n<<2)>>2]|0)*28|0)+4>>2]=f;if(!n){if(!e){e=BZ(b)|0;if(!e){i=1;n=278;break}c[r>>2]=o;rb[c[P>>2]&127](c[ya>>2]|0,c[c[y>>2]>>2]|0,e)}a[N>>0]=0;c[F>>2]=0;n=272}else n=272}else n=273;if((n|0)==34){n=0;if((a[Y>>0]|0)!=0?(c[E>>2]|0)!=0:0){e=c[f>>2]|0;e=kZ(B,p,o+e|0,(c[wa>>2]|0)+(0-e)|0)|0;if(!e){i=1;n=278;break}nZ(e);c[(c[E>>2]|0)+24>>2]=e;c[L>>2]=c[aa>>2];if(c[z>>2]|0)i=p;else n=272}else n=272}if((n|0)==272){n=0;if(!(i<<24>>24))i=p;else n=273}if((n|0)==273){n=0;if(!(c[W>>2]|0))i=p;else{wZ(b,p,o,c[wa>>2]|0);i=p}}switch(c[da>>2]|0){case 3:{n=276;break a}case 2:{i=35;n=278;break a}default:{}}e=c[wa>>2]|0;p=i;o=e;e=tb[c[i>>2]&127](i,e,g,wa)|0}d:do if((n|0)==7){c[j>>2]=o;i=0}else if((n|0)==9){c[q>>2]=f;i=4}else if((n|0)==10){if((p|0)==(c[t>>2]|0)){if(!(a[b+488>>0]|0)){i=3;break}}else if(!(a[(c[u>>2]|0)+20>>0]|0)){c[j>>2]=o;i=0;break}if((wb[c[v>>2]&63](v,-4,g,g,p)|0)==-1)i=29;else{c[j>>2]=o;i=0}}else if((n|0)==58){e=b+280|0;do if((a[oa>>0]|0?(Fa=a[Ca>>0]|0,a[Ca>>0]=1,c[sa>>2]|0):0)?c[Ea>>2]|0:0){i=mZ(b,ta,75667,36)|0;if(!i){i=1;break d}Da=c[Da>>2]|0;c[i+20>>2]=Da;a[Ba>>0]=0;if(!(wb[c[Ea>>2]&63](c[xa>>2]|0,0,Da,c[i+16>>2]|0,c[i+24>>2]|0)|0)){i=21;break d}if(!(a[Ba>>0]|0)){a[Ca>>0]=Fa;break}if(((a[za>>0]|0)==0?(Ga=c[Aa>>2]|0,Ga|0):0)?(pb[Ga&63](c[ya>>2]|0)|0)==0:0){i=22;break d}}while(0);c[e>>2]=58;i=oZ(b,o,g,j)|0}else if((n|0)==184)i=(e|0)==28?10:(e|0)==12?17:2;else if((n|0)==189){c[b+280>>2]=59;i=0}else if((n|0)==276){c[j>>2]=c[wa>>2];i=0}while(0);l=Ha;return i|0}function jZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;q=r+16|0;m=r+12|0;i=r+8|0;j=r+4|0;k=r;c[q>>2]=0;c[m>>2]=0;c[i>>2]=0;c[k>>2]=-1;n=b+144|0;p=b+288|0;g=(d|0)!=0;a:do if(jb[(a[b+236>>0]<<24>>24?1:2)&3](d,c[n>>2]|0,e,f,p,i,j,q,m,k)|0){if((c[k>>2]|0)==1&(g^1)?(a[(c[b+356>>2]|0)+130>>0]=1,h=b+492|0,(c[h>>2]|0)==1):0)c[h>>2]=0;h=b+140|0;o=b+440|0;if(!(c[h>>2]|0))if(!(c[b+80>>2]|0)){e=0;d=0}else{wZ(b,c[n>>2]|0,e,f);e=0;d=0}else{d=c[q>>2]|0;if(!d)d=0;else{f=c[n>>2]|0;d=kZ(o,f,d,d+(vb[c[f+32>>2]&127](f,d)|0)|0)|0;if(!d){d=1;break}c[b+456>>2]=c[b+452>>2]}g=c[i>>2]|0;if(g){i=c[n>>2]|0;g=kZ(o,i,g,(c[j>>2]|0)+(0-(c[i+68>>2]|0))|0)|0;if(!g){d=1;break}}else g=0;xb[c[h>>2]&31](c[b+4>>2]|0,g,d,c[k>>2]|0);e=g}h=(d|0)!=0;do if(!(c[b+232>>2]|0)){g=c[m>>2]|0;if(g|0)if((c[g+68>>2]|0)==(c[(c[n>>2]|0)+68>>2]|0)){c[n>>2]=g;break}else{c[p>>2]=c[q>>2];d=19;break a}g=c[q>>2]|0;if(g|0){if(!h){d=c[n>>2]|0;d=kZ(o,d,g,g+(vb[c[d+32>>2]&127](d,g)|0)|0)|0;if(!d){d=1;break a}}d=UZ(b,d)|0;lZ(o);if((d|0)!=18)break a;c[p>>2]=c[q>>2];d=18;break a}}while(0);if(h|(e|0)!=0){lZ(o);d=0}else d=0}else d=g?31:30;while(0);l=r;return d|0}function kZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;do if(!(sZ(b,d,e,f)|0))d=0;else{e=b+12|0;d=c[e>>2]|0;if((d|0)==(c[b+8>>2]|0)){if(!((fZ(b)|0)<<24>>24)){d=0;break}d=c[e>>2]|0}c[e>>2]=d+1;a[d>>0]=0;d=c[b+16>>2]|0}while(0);return d|0}function lZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+4|0;b=c[e>>2]|0;d=c[a>>2]|0;a:do if(!b)c[e>>2]=d;else while(1){if(!d)break a;g=c[d>>2]|0;c[d>>2]=b;c[e>>2]=d;f=d;d=g;b=f}while(0);c[a>>2]=0;c[a+16>>2]=0;c[a+12>>2]=0;c[a+8>>2]=0;return}function mZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=e+8|0;n=c[x>>2]|0;z=e+12|0;v=e+4|0;o=(g|0)!=0;y=e+16|0;a:do if(!n)if(o){a[v>>0]=6;c[x>>2]=64;h=pb[c[c[y>>2]>>2]&63](256)|0;c[e>>2]=h;if(!h){c[x>>2]=0;h=0;break}else{u6(h|0,0,256)|0;i=SZ(b,f)|0;i=(c[x>>2]|0)+-1&i;p=26;break}}else h=0;else{w=SZ(b,f)|0;i=n+-1|0;k=c[e>>2]|0;l=w&0-n;m=i>>>2;j=0;i=w&i;while(1){h=c[k+(i<<2)>>2]|0;if(!h)break;if((TZ(f,c[h>>2]|0)|0)<<24>>24)break a;if(!(j<<24>>24))h=(l>>>((d[v>>0]|0)+-1|0)&m|1)&255;else h=j;u=h&255;j=h;i=i-u+(i>>>0>>0?n:0)|0}if(o){h=d[v>>0]|0;if((c[z>>2]|0)>>>(h+-1|0)){i=h+1|0;r=i&255;i=i&255;t=1<>2]>>2]&63](h)|0;if(!u)h=0;else{u6(u|0,0,h|0)|0;p=0-t|0;q=s>>>2;n=i+-1|0;m=c[x>>2]|0;l=0;while(1){if(l>>>0>=m>>>0)break;h=c[(c[e>>2]|0)+(l<<2)>>2]|0;o=h;if(h|0){h=SZ(b,c[h>>2]|0)|0;j=((h&p)>>>n&q|1)&255;h=h&s;i=0;while(1){k=u+(h<<2)|0;if(!(c[k>>2]|0))break;k=i<<24>>24==0?j:i;A=k&255;h=h+(h>>>0>>0?t:0)-A|0;i=k}c[k>>2]=o}l=l+1|0}db[c[(c[y>>2]|0)+8>>2]&127](c[e>>2]|0);c[e>>2]=u;a[v>>0]=r;c[x>>2]=t;j=((w&p)>>>n&q|1)&255;i=s&w;h=0;while(1){if(!(c[u+(i<<2)>>2]|0)){p=26;break a}A=h<<24>>24==0?j:h;x=A&255;i=i+(i>>>0>>0?t:0)-x|0;h=A}}}else p=26}else h=0}while(0);if((p|0)==26){h=pb[c[c[y>>2]>>2]&63](g)|0;c[(c[e>>2]|0)+(i<<2)>>2]=h;h=c[(c[e>>2]|0)+(i<<2)>>2]|0;if(!h)h=0;else{u6(h|0,0,g|0)|0;h=(c[e>>2]|0)+(i<<2)|0;c[c[h>>2]>>2]=f;c[z>>2]=(c[z>>2]|0)+1;h=c[h>>2]|0}}return h|0}function nZ(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=b;c=b;while(1){d=a[h>>0]|0;e=c+-1|0;f=(c|0)!=(b|0);if(!(d<<24>>24))break;g=c+1|0;switch(d<<24>>24|0){case 10:case 13:case 32:{if(f){if((a[e>>0]|0)!=32){a[c>>0]=32;c=g}}else c=b;break}default:{a[c>>0]=d;c=g}}h=h+1|0}if(f)b=(a[e>>0]|0)==32?e:c;a[b>>0]=0;return}function oZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;d=GZ(b,0,c[b+144>>2]|0,d,e,f,(a[b+484>>0]|0)==0&1)|0;if((d|0)==0?(OZ(b)|0)<<24>>24==0:0)d=1;return d|0}function pZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+356>>2]|0;e=kZ(g+80|0,b,d,e)|0;do if((e|0)!=0?(f=mZ(a,g+20|0,e,24)|0,(f|0)!=0):0){d=g+92|0;b=g+96|0;if((c[f>>2]|0)==(e|0)){c[b>>2]=c[d>>2];if(!(PZ(a,f)|0)){f=0;break}}else c[d>>2]=c[b>>2]}else f=0;while(0);return f|0}function qZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=c[b+356>>2]|0;m=j+80|0;o=j+92|0;h=c[o>>2]|0;n=j+88|0;if((h|0)==(c[n>>2]|0))if(!((fZ(m)|0)<<24>>24))g=0;else{h=c[o>>2]|0;i=4}else i=4;a:do if((i|0)==4){c[o>>2]=h+1;a[h>>0]=0;e=kZ(m,d,e,f)|0;if((e|0)!=0?(l=e+1|0,g=mZ(b,j+40|0,l,12)|0,(g|0)!=0):0){k=j+96|0;if((c[g>>2]|0)!=(l|0)){c[o>>2]=c[k>>2];break}h=c[o>>2]|0;c[k>>2]=h;if(a[b+236>>0]|0){d=a[l>>0]|0;i=j+60|0;b:do if(d<<24>>24==120)if((((a[e+2>>0]|0)==109?(a[e+3>>0]|0)==108:0)?(a[e+4>>0]|0)==110:0)?(a[e+5>>0]|0)==115:0){switch(a[e+6>>0]|0){case 0:{h=j+152|0;break}case 58:{h=mZ(b,i,e+7|0,8)|0;break}default:{f=0;d=120;break b}}c[g+4>>2]=h;a[g+9>>0]=1;break a}else{f=0;d=120}else f=0;while(0);c:while(1){switch(d<<24>>24){case 0:break a;case 58:{e=0;break c}default:{}}d=f+1|0;f=d;d=a[l+d>>0]|0}while(1){d=(h|0)==(c[n>>2]|0);if((e|0)>=(f|0))break;if(d){if(!((fZ(m)|0)<<24>>24)){g=0;break a}h=c[o>>2]|0}j=a[l+e>>0]|0;c[o>>2]=h+1;a[h>>0]=j;e=e+1|0;h=c[o>>2]|0}if(d){if(!((fZ(m)|0)<<24>>24)){g=0;break}h=c[o>>2]|0}c[o>>2]=h+1;a[h>>0]=0;b=mZ(b,i,c[k>>2]|0,8)|0;c[g+4>>2]=b;h=c[k>>2]|0;if((c[b>>2]|0)==(h|0)){c[k>>2]=c[o>>2];break}else{c[o>>2]=h;break}}}else g=0}while(0);return g|0}function rZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=b+12|0;h=b+8|0;while(1){e=a[d>>0]|0;if(!(e<<24>>24)){i=7;break}f=c[g>>2]|0;if((f|0)==(c[h>>2]|0)){if(!((fZ(b)|0)<<24>>24)){d=0;break}f=c[g>>2]|0;e=a[d>>0]|0}c[g>>2]=f+1;a[f>>0]=e;d=d+1|0}if((i|0)==7)d=c[b+16>>2]|0;return d|0}function sZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;c[h>>2]=d;g=a+12|0;if((c[g>>2]|0)==0?(fZ(a)|0)<<24>>24==0:0)d=0;else f=3;a:do if((f|0)==3){d=b+60|0;f=a+8|0;while(1){fb[c[d>>2]&31](b,h,e,g,c[f>>2]|0);if((c[h>>2]|0)==(e|0))break;if(!((fZ(a)|0)<<24>>24)){d=0;break a}}d=c[a+16>>2]|0}while(0);l=i;return d|0}function tZ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=b+12|0;m=b+20|0;l=c[n>>2]|0;i=f<<24>>24!=0;a:do if(i|(g|0)!=0){f=0;while(1){if((f|0)>=(l|0))break;if((c[(c[m>>2]|0)+(f*12|0)>>2]|0)==(d|0)){f=1;break a}else f=f+1|0}if((i?(j=b+8|0,(c[j>>2]|0)==0):0)?(a[d+9>>0]|0)==0:0){c[j>>2]=d;k=8}else k=8}else k=8;while(0);b:do if((k|0)==8){i=b+16|0;do if((l|0)==(c[i>>2]|0)){if(!l){c[i>>2]=8;f=pb[c[h+12>>2]&63](96)|0;c[m>>2]=f;if(!f){f=0;break b}else break}f=vb[c[h+16>>2]&127](c[m>>2]|0,l*24|0)|0;if(!f){f=0;break b}c[i>>2]=l<<1;c[m>>2]=f}else f=c[m>>2]|0;while(0);i=c[n>>2]|0;c[f+(i*12|0)>>2]=d;c[f+(i*12|0)+8>>2]=g;a[f+(i*12|0)+4>>0]=e;if(!(e<<24>>24))a[d+8>>0]=1;c[n>>2]=i+1;f=1}while(0);return f|0}function uZ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;b=RZ(b,d,e,f,g,h)|0;do if(!b){d=h+12|0;b=c[d>>2]|0;if((e<<24>>24==0?(b|0)!=(c[h+16>>2]|0):0)?(i=b+-1|0,(a[i>>0]|0)==32):0){c[d>>2]=i;b=i}if((b|0)==(c[h+8>>2]|0)){if(!((fZ(h)|0)<<24>>24)){b=1;break}b=c[d>>2]|0}c[d>>2]=b+1;a[b>>0]=0;b=0}while(0);return b|0}function vZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+16|0;B=H;C=H+4|0;g=c[b+356>>2]|0;D=g+104|0;F=b+276|0;E=c[F>>2]|0;c[F>>2]=1;if((c[D>>2]|0)==0?(fZ(D)|0)<<24>>24==0:0)g=1;else{n=d+20|0;o=b+144|0;p=g+116|0;q=g+112|0;r=d+68|0;s=b+488|0;t=b+416|0;u=g+132|0;v=b+432|0;w=b+428|0;x=g+130|0;y=g+128|0;z=b+228|0;A=b+112|0;j=g+131|0;k=b+116|0;m=d+44|0;a:while(1){b:do switch(tb[c[n>>2]&127](d,e,f,B)|0){case -4:{g=0;break a}case -1:{G=39;break a}case 0:{G=41;break a}case 28:{if((a[s>>0]|0)==0?(c[o>>2]|0)==(d|0):0){G=19;break a}g=c[r>>2]|0;g=kZ(t,d,e+g|0,(c[B>>2]|0)+(0-g)|0)|0;if(!g){g=1;break a}h=mZ(b,u,g,0)|0;c[w>>2]=c[v>>2];if(!h){G=9;break a}i=h+32|0;if(a[i>>0]|0){G=11;break a}g=c[h+16>>2]|0;if(!g){a[i>>0]=1;g=c[h+4>>2]|0;g=vZ(b,c[z>>2]|0,g,g+(c[h+8>>2]|0)|0)|0;a[i>>0]=0;if(!g)break b;else break a}e=c[A>>2]|0;if(e|0){a[j>>0]=0;a[i>>0]=1;h=(wb[e&63](c[k>>2]|0,0,c[h+20>>2]|0,g,c[h+24>>2]|0)|0)==0;a[i>>0]=0;if(h){g=21;break a}if(a[j>>0]|0)break b}a[y>>0]=a[x>>0]|0;break}case 6:case 9:{if(!(sZ(D,d,e,c[B>>2]|0)|0)){g=1;break a}break}case -3:{c[B>>2]=e+(c[r>>2]|0);G=22;break}case 7:{G=22;break}case 10:{g=vb[c[m>>2]&127](d,e)|0;if((g|0)<0){G=27;break a}h=h_(g,C)|0;if(!h){G=30;break a}else e=0;while(1){if((e|0)>=(h|0))break;g=c[p>>2]|0;if((c[q>>2]|0)==(g|0)){if(!((fZ(D)|0)<<24>>24)){g=1;G=37;break a}g=c[p>>2]|0}i=a[C+e>>0]|0;c[p>>2]=g+1;a[g>>0]=i;e=e+1|0}break}default:{G=43;break a}}while(0);if((G|0)==22){G=0;g=c[p>>2]|0;if((c[q>>2]|0)==(g|0)){if(!((fZ(D)|0)<<24>>24)){g=1;break}g=c[p>>2]|0}c[p>>2]=g+1;a[g>>0]=10}e=c[B>>2]|0}if((G|0)==9){a[y>>0]=a[x>>0]|0;g=0}else if((G|0)==11)if((c[o>>2]|0)==(d|0)){c[b+288>>2]=e;g=12}else g=12;else if((G|0)==19){c[b+288>>2]=e;g=10}else if((G|0)==27)if((c[o>>2]|0)==(d|0)){c[b+288>>2]=e;g=14;G=37}else{g=14;G=37}else if((G|0)==30)if((c[o>>2]|0)==(d|0)){c[b+288>>2]=e;g=14;G=37}else{g=14;G=37}else if((G|0)==39)if((c[o>>2]|0)==(d|0)){c[b+288>>2]=e;g=4}else g=4;else if((G|0)==41)if((c[o>>2]|0)==(d|0)){c[b+288>>2]=c[B>>2];g=4}else g=4;else if((G|0)==43)if((c[o>>2]|0)==(d|0)){c[b+288>>2]=e;g=23}else g=23;c[F>>2]=E}l=H;return g|0}function wZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;o=p+4|0;c[n>>2]=e;if(!(a[d+72>>0]|0)){if((c[b+144>>2]|0)==(d|0)){g=b+292|0;h=b+288|0}else{h=c[b+300>>2]|0;g=h+4|0}i=b+44|0;j=d+60|0;k=b+48|0;m=b+80|0;e=b+4|0;do{c[o>>2]=c[i>>2];fb[c[j>>2]&31](d,n,f,o,c[k>>2]|0);c[g>>2]=c[n>>2];b=c[i>>2]|0;rb[c[m>>2]&127](c[e>>2]|0,b,(c[o>>2]|0)-b|0);c[h>>2]=c[n>>2]}while((c[n>>2]|0)!=(f|0))}else rb[c[b+80>>2]&127](c[b+4>>2]|0,e,f-e|0);l=p;return}function xZ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m;k=c[d>>2]|0;if((c[a+144>>2]|0)==(b|0)){i=a+288|0;c[i>>2]=k;h=a+292|0}else{i=c[a+300>>2]|0;h=i+4|0}c[i>>2]=k;c[d>>2]=0;n=tb[c[b+12>>2]&127](b,k,e,j)|0;e=c[j>>2]|0;c[h>>2]=e;h=g<<24>>24!=0;switch(n|0){case 42:{if(c[a+80>>2]|0){wZ(a,b,k,e);e=c[j>>2]|0}c[d>>2]=e;c[f>>2]=e;e=(c[a+480>>2]|0)==2?35:0;break}case 0:{c[i>>2]=e;e=4;break}case -2:{if(h){c[f>>2]=k;e=0}else e=6;break}case -4:case -1:{if(h){c[f>>2]=k;e=0}else e=2;break}default:{c[i>>2]=e;e=23}}l=m;return e|0}function yZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;c[g>>2]=d;d=xZ(b,c[b+144>>2]|0,g,e,f,(a[b+484>>0]|0)==0&1)|0;if(!d){d=c[g>>2]|0;if(!d)d=0;else{c[b+280>>2]=57;d=hZ(b,d,e,f)|0}}l=h;return d|0}function zZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[a+356>>2]|0;k=j+184|0;f=a+12|0;if(!(c[k>>2]|0)){b=pb[c[f>>2]&63](c[a+468>>2]<<2)|0;c[k>>2]=b;if(!b)b=-1;else{c[b>>2]=0;d=4}}else d=4;do if((d|0)==4){i=j+176|0;b=c[i>>2]|0;g=j+172|0;d=c[g>>2]|0;h=j+164|0;e=c[h>>2]|0;if(b>>>0>>0)g=e;else{if(!e){b=pb[c[f>>2]&63](896)|0;if(!b){b=-1;break}else{d=b;b=32}}else{b=vb[c[a+16>>2]&127](e,d*56|0)|0;if(!b){b=-1;break}d=b;b=c[g>>2]<<1}c[g>>2]=b;c[h>>2]=d;b=c[i>>2]|0;g=d}c[i>>2]=b+1;d=c[j+180>>2]|0;if(d|0){a=c[(c[k>>2]|0)+(d+-1<<2)>>2]|0;f=g+(a*28|0)+16|0;d=c[f>>2]|0;if(d|0)c[g+(d*28|0)+24>>2]=b;d=g+(a*28|0)+20|0;e=c[d>>2]|0;if(!e)c[g+(a*28|0)+12>>2]=b;c[f>>2]=b;c[d>>2]=e+1}k=g+(b*28|0)+12|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0}while(0);return b|0}function AZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;p=r;q=b+304|0;f=c[q>>2]|0;if(!f){f=pb[c[b+12>>2]&63](24)|0;if(!f)f=1;else{o=f;g=4}}else{c[q>>2]=c[f+8>>2];o=f;g=4}do if((g|0)==4){j=d+32|0;a[j>>0]=1;k=d+12|0;c[k>>2]=0;m=b+300|0;n=o+8|0;c[n>>2]=c[m>>2];c[m>>2]=o;c[o+12>>2]=d;h=c[b+312>>2]|0;c[o+16>>2]=h;a[o+20>>0]=e;c[o>>2]=0;c[o+4>>2]=0;e=c[d+4>>2]|0;i=e+(c[d+8>>2]|0)|0;f=b+228|0;g=c[f>>2]|0;if(!(a[d+33>>0]|0))f=GZ(b,h,g,e,i,p,0)|0;else{d=tb[c[g>>2]&127](g,e,i,p)|0;f=iZ(b,c[f>>2]|0,e,i,d,c[p>>2]|0,p,0)|0}if(!f){f=c[p>>2]|0;if((i|0)!=(f|0)?(c[b+480>>2]|0)==3:0){c[k>>2]=f-e;c[b+280>>2]=60;f=0;break}a[j>>0]=0;c[m>>2]=c[n>>2];c[n>>2]=c[q>>2];c[q>>2]=o;f=0}}while(0);l=r;return f|0}function BZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;b=c[a+356>>2]|0;f=b+176|0;b=pb[c[a+12>>2]&63](((c[f>>2]|0)*20|0)+(c[b+168>>2]|0)|0)|0;if(!b)b=0;else{c[e>>2]=b+((c[f>>2]|0)*20|0);c[d>>2]=b+20;FZ(a,0,b,d,e)}l=g;return b|0}function CZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=a+64|0;if(!(c[j>>2]|0))if(!(c[a+80>>2]|0))d=1;else{wZ(a,b,d,e);d=1}else{h=b+68|0;g=d+(c[h>>2]<<1)|0;d=g+(vb[c[b+32>>2]&127](b,g)|0)|0;f=a+416|0;g=kZ(f,b,g,d)|0;if((g|0)!=0?(c[a+432>>2]=c[a+428>>2],i=vb[c[b+36>>2]&127](b,d)|0,i=kZ(f,b,i,e+(0-(c[h>>2]<<1))|0)|0,(i|0)!=0):0){EZ(i);rb[c[j>>2]&127](c[a+4>>2]|0,g,i);lZ(f);d=1}else d=0}return d|0}function DZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=a+68|0;if(!(c[g>>2]|0))if(!(c[a+80>>2]|0))b=1;else{wZ(a,b,d,e);b=1}else{f=a+416|0;h=c[b+68>>2]|0;b=kZ(f,b,d+(h<<2)|0,e+(S(h,-3)|0)|0)|0;if(!b)b=0;else{EZ(b);lb[c[g>>2]&63](c[a+4>>2]|0,b);lZ(f);b=1}}return b|0}function EZ(b){b=b|0;var c=0,d=0,e=0,f=0;a:while(1){switch(a[b>>0]|0){case 0:break a;case 13:{f=b;e=13;c=4;break a}default:{}}b=b+1|0}if((c|0)==4){while(1){c=f;f=f+1|0;d=b+1|0;if(e<<24>>24==13){a[c>>0]=10;b=(a[d>>0]|0)==10?b+2|0:d}else{a[c>>0]=e;b=d}e=a[b>>0]|0;if(!(e<<24>>24))break;else c=4}a[f>>0]=0}return}function FZ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=(c[b+356>>2]|0)+164|0;h=c[k>>2]|0;m=c[h+(d*28|0)>>2]|0;c[e>>2]=m;c[e+4>>2]=c[h+(d*28|0)+4>>2];l=e+12|0;i=e+8|0;j=e+16|0;if((m|0)==4){c[i>>2]=c[g>>2];e=c[h+(d*28|0)+8>>2]|0;while(1){k=a[e>>0]|0;m=c[g>>2]|0;c[g>>2]=m+1;a[m>>0]=k;if(!(a[e>>0]|0))break;else e=e+1|0}c[l>>2]=0;c[j>>2]=0}else{h=c[h+(d*28|0)+20>>2]|0;c[l>>2]=h;c[j>>2]=c[f>>2];c[f>>2]=(c[f>>2]|0)+(h*20|0);e=(c[k>>2]|0)+(d*28|0)+12|0;d=0;while(1){e=c[e>>2]|0;if(d>>>0>=h>>>0)break;FZ(b,e,(c[j>>2]|0)+(d*20|0)|0,f,g);e=(c[k>>2]|0)+(e*28|0)+24|0;d=d+1|0;h=c[l>>2]|0}c[i>>2]=0}return}function GZ(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;ma=l;l=l+48|0;ja=ma+28|0;_=ma+32|0;ka=ma+24|0;Y=ma;c[ja>>2]=f;Z=c[b+356>>2]|0;if((c[b+144>>2]|0)==(e|0)){ea=b+288|0;$=b+292|0}else{$=c[b+300>>2]|0;ea=$;$=$+4|0}c[ea>>2]=f;t=e+4|0;aa=e+72|0;u=b+56|0;v=b+376|0;ba=b+48|0;ga=b+80|0;w=e+68|0;ca=b+44|0;ha=b+312|0;x=b+52|0;da=e+60|0;y=e+32|0;z=b+104|0;A=b+416|0;B=b+392|0;C=b+368|0;fa=b+60|0;ia=b+4|0;D=b+364|0;E=b+432|0;F=b+428|0;G=b+480|0;H=e+48|0;I=Z+80|0;J=Z+96|0;K=Z+92|0;L=Z+129|0;M=b+120|0;N=b+112|0;O=b+116|0;P=b+308|0;Q=Z+130|0;R=b+12|0;S=b+16|0;T=b+236|0;U=b+237|0;V=b+472|0;W=e+44|0;X=b+72|0;a:while(1){s=c[ja>>2]|0;c[_>>2]=s;s=tb[c[t>>2]&127](e,s,g,_)|0;f=c[_>>2]|0;c[$>>2]=f;k=f;b:do switch(s|0){case -3:{la=6;break a}case -4:{la=15;break a}case 0:{la=20;break a}case -1:{la=21;break a}case -2:{la=23;break a}case 12:{f=17;break a}case -5:{la=136;break a}case 9:{s=c[w>>2]|0;s=(eb[c[H>>2]&63](e,(c[ja>>2]|0)+s|0,k+(0-s)|0)|0)&255;a[ka>>0]=s;do if(s<<24>>24){f=c[fa>>2]|0;if(f|0){rb[f&127](c[ia>>2]|0,ka,1);break}if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,c[_>>2]|0)}else{j=c[w>>2]|0;j=kZ(I,e,(c[ja>>2]|0)+j|0,(c[_>>2]|0)+(0-j)|0)|0;if(!j){f=1;la=56;break a}k=mZ(b,Z,j,0)|0;c[K>>2]=c[J>>2];f=(k|0)!=0;if((a[L>>0]|0)!=0?(a[Q>>0]|0)==0:0){if(!f){f=c[M>>2]|0;if(f|0){rb[f&127](c[ia>>2]|0,j,0);break}if(!(c[ga>>2]|0))break;wZ(b,e,c[ja>>2]|0,c[_>>2]|0);break}}else{if(!f){f=11;la=56;break a}if(!(a[k+34>>0]|0)){f=24;la=56;break a}}f=k+32|0;if(a[f>>0]|0){f=12;la=56;break a}if(c[k+28>>2]|0){f=15;la=56;break a}if(!(c[k+4>>2]|0)){if(!(c[N>>2]|0)){if(!(c[ga>>2]|0))break;wZ(b,e,c[ja>>2]|0,c[_>>2]|0);break}a[f>>0]=1;j=IZ(b)|0;a[f>>0]=0;if(!j){f=1;la=56;break a}if(!(wb[c[N>>2]&63](c[O>>2]|0,j,c[k+20>>2]|0,c[k+16>>2]|0,c[k+24>>2]|0)|0)){f=21;la=56;break a}c[F>>2]=c[E>>2];break}if(a[P>>0]|0){f=AZ(b,k,0)|0;if(!f)break;else{la=58;break a}}f=c[M>>2]|0;if(!f){if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,c[_>>2]|0)}else rb[f&127](c[ia>>2]|0,c[k>>2]|0,0);break b}while(0);break}case 1:case 2:{f=c[C>>2]|0;if(!f){f=pb[c[R>>2]&63](48)|0;if(!f){f=1;la=75;break a}j=pb[c[R>>2]&63](32)|0;c[f+36>>2]=j;if(!j){la=63;break a}c[f+40>>2]=j+32}else c[C>>2]=c[f>>2];o=f+44|0;c[o>>2]=0;c[f>>2]=c[D>>2];c[D>>2]=f;s=f+12|0;c[f+16>>2]=0;c[f+20>>2]=0;p=(c[ja>>2]|0)+(c[w>>2]|0)|0;q=f+4|0;c[q>>2]=p;p=vb[c[y>>2]&127](e,p)|0;c[f+8>>2]=p;c[ha>>2]=(c[ha>>2]|0)+1;q=c[q>>2]|0;p=q+p|0;c[Y>>2]=q;q=f+36|0;c[ka>>2]=c[q>>2];r=f+40|0;j=c[r>>2]|0;while(1){fb[c[da>>2]&31](e,Y,p,ka,j+-1|0);j=c[ka>>2]|0;m=c[q>>2]|0;k=m;n=j-k|0;if((c[Y>>2]|0)==(p|0))break;k=(c[r>>2]|0)-k<<1;j=vb[c[S>>2]&127](m,k)|0;if(!j){la=69;break a}c[q>>2]=j;m=j+k|0;c[r>>2]=m;c[ka>>2]=j+n;j=m}c[f+24>>2]=n;c[s>>2]=k;a[j>>0]=0;f=JZ(b,e,c[ja>>2]|0,s,o)|0;if(f|0){la=75;break a}f=c[x>>2]|0;if(!f){if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,c[_>>2]|0)}else rb[f&127](c[ia>>2]|0,c[s>>2]|0,c[B>>2]|0);lZ(A);break}case 3:case 4:{s=(c[ja>>2]|0)+(c[w>>2]|0)|0;c[ka>>2]=0;s=kZ(A,e,s,s+(vb[c[y>>2]&127](e,s)|0)|0)|0;c[Y>>2]=s;if(!s){f=1;la=93;break a}c[E>>2]=c[F>>2];f=JZ(b,e,c[ja>>2]|0,Y,ka)|0;if(f|0){la=93;break a}c[E>>2]=c[F>>2];f=c[x>>2]|0;if(!f)j=1;else{rb[f&127](c[ia>>2]|0,c[Y>>2]|0,c[B>>2]|0);j=0}f=c[u>>2]|0;if(!f){if(j|0?c[ga>>2]|0:0)wZ(b,e,c[ja>>2]|0,c[_>>2]|0)}else{if(c[x>>2]|0){c[ea>>2]=c[$>>2];f=c[u>>2]|0}lb[f&63](c[ia>>2]|0,c[Y>>2]|0)}lZ(A);f=c[ka>>2]|0;while(1){if(!f)break;j=c[z>>2]|0;if(j|0)lb[j&63](c[ia>>2]|0,c[c[f>>2]>>2]|0);s=c[f+4>>2]|0;c[ka>>2]=s;c[f+4>>2]=c[v>>2];c[v>>2]=f;c[(c[f>>2]|0)+4>>2]=c[f+8>>2];f=s}if(!(c[ha>>2]|0)){la=95;break a}break}case 5:{if((c[ha>>2]|0)==(d|0)){f=13;break a}o=c[D>>2]|0;c[D>>2]=c[o>>2];c[o>>2]=c[C>>2];c[C>>2]=o;f=(c[ja>>2]|0)+(c[w>>2]<<1)|0;j=vb[c[y>>2]&127](e,f)|0;if((j|0)!=(c[o+8>>2]|0)){la=99;break a}if(g2(c[o+4>>2]|0,f,j)|0){la=99;break a}c[ha>>2]=(c[ha>>2]|0)+-1;f=c[u>>2]|0;if(!f){if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,c[_>>2]|0)}else{j=c[o+16>>2]|0;n=o+12|0;if((j|0)!=0&(a[T>>0]|0)!=0){f=(c[n>>2]|0)+(c[o+28>>2]|0)|0;while(1){k=a[j>>0]|0;m=f+1|0;if(!(k<<24>>24))break;a[f>>0]=k;f=m;j=j+1|0}j=c[o+20>>2]|0;c:do if((j|0)!=0&(a[U>>0]|0)!=0){a[f>>0]=a[V>>0]|0;f=m;while(1){k=a[j>>0]|0;if(!(k<<24>>24))break c;a[f>>0]=k;j=j+1|0;f=f+1|0}}while(0);a[f>>0]=0;f=c[u>>2]|0}lb[f&63](c[ia>>2]|0,c[n>>2]|0)}j=o+44|0;k=c[j>>2]|0;while(1){if(!k)break;f=c[z>>2]|0;if(!f)f=k;else{lb[f&63](c[ia>>2]|0,c[c[k>>2]>>2]|0);f=c[j>>2]|0}s=c[f+4>>2]|0;c[j>>2]=s;c[k+4>>2]=c[v>>2];c[v>>2]=k;c[(c[k>>2]|0)+4>>2]=c[k+8>>2];k=s}if(!(c[ha>>2]|0)){la=119;break a}break}case 10:{f=vb[c[W>>2]&127](e,c[ja>>2]|0)|0;if((f|0)<0){f=14;break a}j=c[fa>>2]|0;if(j|0){r=c[ia>>2]|0;s=h_(f,ka)|0;rb[j&127](r,ka,s);break b}if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,c[_>>2]|0);break}case 7:{f=c[fa>>2]|0;if(f|0){a[ka>>0]=10;rb[f&127](c[ia>>2]|0,ka,1);break b}if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,k);break}case 8:{f=c[X>>2]|0;if(!f){if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,k)}else db[f&127](c[ia>>2]|0);f=LZ(b,e,_,g,h,i)|0;if(f|0)break a;if(!(c[_>>2]|0)){la=135;break a}break}case 6:{j=c[fa>>2]|0;if(!j){if(!(c[ga>>2]|0))break b;wZ(b,e,c[ja>>2]|0,k);break b}if(!(a[aa>>0]|0))f=k;else{s=c[ja>>2]|0;rb[j&127](c[ia>>2]|0,s,f-s|0);break b}while(1){c[ka>>2]=c[ca>>2];fb[c[da>>2]&31](e,ja,f,ka,c[ba>>2]|0);c[$>>2]=c[ja>>2];f=c[ca>>2]|0;rb[j&127](c[ia>>2]|0,f,(c[ka>>2]|0)-f|0);f=c[ja>>2]|0;if((f|0)==(c[_>>2]|0))break;c[ea>>2]=f;f=c[_>>2]|0}break}case 11:{if(!(CZ(b,e,c[ja>>2]|0,k)|0)){f=1;break a}break}case 13:{if(!(DZ(b,e,c[ja>>2]|0,k)|0)){f=1;break a}break}default:if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,k)}while(0);s=c[_>>2]|0;c[ja>>2]=s;c[ea>>2]=s;switch(c[G>>2]|0){case 2:{f=35;break a}case 3:{la=162;break a}default:{}}}switch(la|0){case 6:{j=(d|0)==0;if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}c[$>>2]=g;f=c[fa>>2]|0;if(!f){if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,g)}else{a[ka>>0]=10;rb[f&127](c[ia>>2]|0,ka,1)}if(!j)if((c[ha>>2]|0)==(d|0)){c[h>>2]=g;f=0}else f=13;else f=3;break}case 15:{if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}if((d|0)>0)if((c[ha>>2]|0)==(d|0)){c[h>>2]=c[ja>>2];f=0}else f=13;else f=3;break}case 20:{c[ea>>2]=f;f=4;break}case 21:{if(!(i<<24>>24))f=5;else{c[h>>2]=c[ja>>2];f=0}break}case 23:{if(!(i<<24>>24))f=6;else{c[h>>2]=c[ja>>2];f=0}break}case 56:break;case 58:break;case 63:{db[c[b+20>>2]&127](f);f=1;la=75;break}case 69:{f=1;la=75;break}case 93:break;case 95:{f=KZ(b,c[_>>2]|0,g,h)|0;break}case 99:{c[ea>>2]=f;f=7;break}case 119:{f=KZ(b,c[_>>2]|0,g,h)|0;break}case 135:{c[b+280>>2]=61;f=0;break}case 136:{j=(d|0)==0;if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}f=c[fa>>2]|0;do if(!f){if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,g)}else if(!(a[aa>>0]|0)){c[ka>>2]=c[ca>>2];fb[c[da>>2]&31](e,ja,g,ka,c[ba>>2]|0);ja=c[ca>>2]|0;rb[c[fa>>2]&127](c[ia>>2]|0,ja,(c[ka>>2]|0)-ja|0);break}else{ka=c[ja>>2]|0;rb[f&127](c[ia>>2]|0,ka,g-ka|0);break}while(0);if(j){c[ea>>2]=g;f=3;break}if((c[ha>>2]|0)==(d|0)){c[h>>2]=g;f=0;break}else{c[ea>>2]=g;f=13;break}}case 162:{c[h>>2]=c[_>>2];f=0;break}}l=ma;return f|0}function HZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;r=s;n=b+300|0;o=c[n>>2]|0;do if(o){p=c[o+12>>2]|0;j=p+4|0;m=c[j>>2]|0;k=p+12|0;g=m+(c[k>>2]|0)|0;m=m+(c[p+8>>2]|0)|0;q=p+33|0;h=b+228|0;i=c[h>>2]|0;if(!(a[q>>0]|0))g=GZ(b,c[o+16>>2]|0,i,g,m,r,0)|0;else{i=tb[c[i>>2]&127](i,g,m,r)|0;g=iZ(b,c[h>>2]|0,g,m,i,c[r>>2]|0,r,0)|0}if(!g){g=c[r>>2]|0;if((m|0)!=(g|0)?(c[b+480>>2]|0)==3:0){c[k>>2]=g-(c[j>>2]|0);g=0;break}a[p+32>>0]=0;h=o+8|0;c[n>>2]=c[h>>2];g=b+304|0;c[h>>2]=c[g>>2];c[g>>2]=o;g=b+280|0;h=b+144|0;i=c[h>>2]|0;if(!(a[q>>0]|0)){c[g>>2]=58;g=GZ(b,(c[b+476>>2]|0)!=0&1,i,d,e,f,(a[b+484>>0]|0)==0&1)|0;break}else{c[g>>2]=57;g=tb[c[i>>2]&127](i,d,e,r)|0;g=iZ(b,c[h>>2]|0,d,e,g,c[r>>2]|0,f,(a[b+484>>0]|0)==0&1)|0;break}}}else g=23;while(0);l=s;return g|0}function IZ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;k=p;i=c[b+356>>2]|0;g=i+156|0;j=b+472|0;n=b+416|0;o=b+428|0;m=b+424|0;a:do if(!(c[g>>2]|0)){d=0;h=11}else{d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break}d=c[o>>2]|0}c[o>>2]=d+1;a[d>>0]=61;e=(((a[j>>0]|0)!=0)<<31>>31)+(c[(c[g>>2]|0)+20>>2]|0)|0;f=0;while(1){if((f|0)>=(e|0)){d=1;h=11;break a}d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break a}d=c[o>>2]|0}q=a[(c[(c[g>>2]|0)+16>>2]|0)+f>>0]|0;c[o>>2]=d+1;a[d>>0]=q;f=f+1|0}}while(0);b:do if((h|0)==11){aZ(k,i+60|0);c:while(1){do{e=bZ(k)|0;if(!e)break c;h=e+4|0}while(!(c[h>>2]|0));if(d<<24>>24){d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break b}d=c[o>>2]|0}c[o>>2]=d+1;a[d>>0]=12}g=c[e>>2]|0;while(1){e=a[g>>0]|0;d=c[o>>2]|0;f=(d|0)==(c[m>>2]|0);if(!(e<<24>>24))break;if(f){if(!((fZ(n)|0)<<24>>24)){d=0;break b}d=c[o>>2]|0;e=a[g>>0]|0}c[o>>2]=d+1;a[d>>0]=e;g=g+1|0}if(f){if(!((fZ(n)|0)<<24>>24)){d=0;break b}d=c[o>>2]|0}c[o>>2]=d+1;a[d>>0]=61;f=(((a[j>>0]|0)!=0)<<31>>31)+(c[(c[h>>2]|0)+20>>2]|0)|0;e=0;while(1){if((e|0)>=(f|0)){d=1;continue c}d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break b}d=c[o>>2]|0}q=a[(c[(c[h>>2]|0)+16>>2]|0)+e>>0]|0;c[o>>2]=d+1;a[d>>0]=q;e=e+1|0}}aZ(k,i);d:while(1){do{e=bZ(k)|0;if(!e)break d}while(!(a[e+32>>0]|0));if(d<<24>>24){d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break b}d=c[o>>2]|0}c[o>>2]=d+1;a[d>>0]=12}f=c[e>>2]|0;while(1){e=a[f>>0]|0;if(!(e<<24>>24)){d=1;continue d}d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break b}d=c[o>>2]|0;e=a[f>>0]|0}c[o>>2]=d+1;a[d>>0]=e;f=f+1|0}}d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break}d=c[o>>2]|0}c[o>>2]=d+1;a[d>>0]=0;d=c[b+432>>2]|0}while(0);l=p;return d|0}function JZ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=c[b+356>>2]|0;k=L+20|0;i=mZ(b,k,c[g>>2]|0,0)|0;K=b+236|0;if(!i){i=eZ(L+80|0,c[g>>2]|0)|0;if((i|0)!=0?(j=mZ(b,k,i,24)|0,(j|0)!=0):0)if((a[K>>0]|0)!=0?(PZ(b,j)|0)==0:0)i=1;else A=6;else i=1}else{j=i;A=6}a:do if((A|0)==6){w=c[j+12>>2]|0;l=e+40|0;i=b+380|0;s=b+392|0;t=tb[c[l>>2]&127](e,f,c[i>>2]|0,c[s>>2]|0)|0;k=t+w|0;m=c[i>>2]|0;z=b+16|0;if((k|0)>(m|0)){J=k+16|0;c[i>>2]=J;i=vb[c[z>>2]&127](c[s>>2]|0,J<<4)|0;if(!i){i=1;break}c[s>>2]=i;if((t|0)>(m|0))tb[c[l>>2]&127](e,f,t,i)|0}J=c[s>>2]|0;v=j+20|0;G=b+416|0;H=b+432|0;I=b+428|0;q=e+32|0;r=0;p=0;k=0;while(1){if((p|0)>=(t|0))break;o=c[(c[s>>2]|0)+(p<<4)>>2]|0;o=qZ(b,e,o,o+(vb[c[q>>2]&127](e,o)|0)|0)|0;if(!o){i=1;break a}i=(c[o>>2]|0)+-1|0;if(a[i>>0]|0){A=14;break}a[i>>0]=1;c[J+(r<<2)>>2]=c[o>>2];F=c[s>>2]|0;n=J+(r+1<<2)|0;m=F+(p<<4)+4|0;f=F+(p<<4)+8|0;if(a[F+(p<<4)+12>>0]|0){F=kZ(G,e,c[m>>2]|0,c[f>>2]|0)|0;c[n>>2]=F;if(!F){i=1;break a}}else{b:do if(!(a[o+8>>0]|0))i=1;else{i=0;while(1){if((i|0)>=(w|0)){i=1;break b}l=c[v>>2]|0;if((o|0)==(c[l+(i*12|0)>>2]|0))break;i=i+1|0}i=a[l+(i*12|0)+4>>0]|0}while(0);i=uZ(b,e,i,c[m>>2]|0,c[f>>2]|0,G)|0;if(i|0)break a;c[n>>2]=c[H>>2]}c[H>>2]=c[I>>2];l=c[o+4>>2]|0;i=r+2|0;do if(l)if(a[o+9>>0]|0){i=QZ(b,l,o,c[n>>2]|0,h)|0;if(!i){i=r;break}else break a}else{a[(c[o>>2]|0)+-1>>0]=2;k=k+1|0;break}while(0);r=i;p=p+1|0}if((A|0)==14){if((c[b+144>>2]|0)!=(e|0)){i=8;break}c[b+288>>2]=c[(c[s>>2]|0)+(p<<4)>>2];i=8;break}c[b+384>>2]=r;i=c[j+8>>2]|0;c:do if((i|0)!=0?(u=c[i>>2]|0,(a[u+-1>>0]|0)!=0):0){i=0;while(1){if((i|0)>=(r|0)){p=0;q=k;E=r;break c}if((c[J+(i<<2)>>2]|0)==(u|0)){A=35;break c}i=i+2|0}}else{i=-1;A=35}while(0);if((A|0)==35){c[b+388>>2]=i;p=0;q=k;E=r}while(1){n=J+(E<<2)|0;if((p|0)>=(w|0))break;i=c[v>>2]|0;o=i+(p*12|0)|0;l=c[o>>2]|0;m=(c[l>>2]|0)+-1|0;d:do if((a[m>>0]|0)==0?(x=i+(p*12|0)+8|0,y=c[x>>2]|0,(y|0)!=0):0){k=c[l+4>>2]|0;i=E+2|0;f=J+(E+1<<2)|0;do if(k)if(a[l+9>>0]|0){i=QZ(b,k,l,y,h)|0;if(!i){k=q;i=E;break d}else break a}else{a[m>>0]=2;k=q+1|0;break}else{a[m>>0]=1;k=q}while(0);c[n>>2]=c[c[o>>2]>>2];c[f>>2]=c[x>>2]}else{k=q;i=E}while(0);p=p+1|0;q=k;E=i}c[n>>2]=0;F=b+472|0;D=b+237|0;e:do if(!q)i=0;else{m=b+400|0;l=c[m>>2]|0;B=b+404|0;i=a[B>>0]|0;k=i&255;C=b+396|0;if(!(q<<1>>k)){i=1<>24}while((q>>(A&255)|0)!=0);k=(i&255)>3?i:3;a[B>>0]=k;k=k&255;i=vb[c[z>>2]&127](c[C>>2]|0,12<>2]=i;k=1<>2]|0)+(A*12|0)>>2]=-1;i=A}}while(0);A=i+-1|0;c[m>>2]=A;u=b+496|0;v=L+40|0;w=b+424|0;x=k+-1|0;y=0-k|0;z=x>>>2;i=0;e=q;do{while(1){if((i|0)>=(E|0))break e;t=J+(i<<2)|0;p=c[t>>2]|0;l=p+-1|0;if((a[l>>0]|0)==2)break;a[l>>0]=0;i=i+2|0}m=c[u>>2]|0;a[l>>0]=0;s=c[(c[(mZ(b,v,p,0)|0)+4>>2]|0)+4>>2]|0;if(!s){i=27;break a}n=s+20|0;o=s+16|0;q=m;m=0;while(1){if((m|0)>=(c[n>>2]|0)){l=p;break}f=a[(c[o>>2]|0)+m>>0]|0;l=c[I>>2]|0;if((l|0)==(c[w>>2]|0)){if(!((fZ(G)|0)<<24>>24)){i=1;break a}l=c[I>>2]|0}c[I>>2]=l+1;a[l>>0]=f;q=f&255^q*1000003;m=m+1|0}while(1){m=l+1|0;if((a[l>>0]|0)==58)break;else l=m}while(1){n=a[m>>0]|0;l=c[I>>2]|0;if((l|0)==(c[w>>2]|0)){if(!((fZ(G)|0)<<24>>24)){i=1;break a}l=c[I>>2]|0;f=a[m>>0]|0}else f=n;c[I>>2]=l+1;a[l>>0]=f;q=n&255^q*1000003;if(!(a[m>>0]|0))break;else m=m+1|0}o=c[C>>2]|0;p=q&y;l=0;r=q&x;while(1){if((c[o+(r*12|0)>>2]|0)!=(A|0))break;if((q|0)==(c[o+(r*12|0)+4>>2]|0)){m=c[o+(r*12|0)+8>>2]|0;f=c[H>>2]|0;while(1){M=a[f>>0]|0;n=M<<24>>24==0;if(n|M<<24>>24!=(a[m>>0]|0))break;m=m+1|0;f=f+1|0}if(n){i=8;break a}}if(!(l<<24>>24))l=(p>>>((d[B>>0]|0)+-1|0)&z|1)&255;M=l&255;r=r+((r|0)<(M|0)?k:0)-M|0}if(a[D>>0]|0){a[(c[I>>2]|0)+-1>>0]=a[F>>0]|0;m=c[c[s>>2]>>2]|0;while(1){l=c[I>>2]|0;if((l|0)==(c[w>>2]|0)){if(!((fZ(G)|0)<<24>>24)){i=1;break a}l=c[I>>2]|0}M=a[m>>0]|0;c[I>>2]=l+1;a[l>>0]=M;if(!(a[m>>0]|0))break;else m=m+1|0}}s=c[H>>2]|0;c[H>>2]=c[I>>2];c[t>>2]=s;M=c[C>>2]|0;c[M+(r*12|0)>>2]=A;c[M+(r*12|0)+4>>2]=q;c[M+(r*12|0)+8>>2]=s;e=e+-1|0;i=i+2|0}while((e|0)!=0)}while(0);while(1){if((i|0)>=(E|0)){i=h;break}a[(c[J+(i<<2)>>2]|0)+-1>>0]=0;i=i+2|0}while(1){i=c[i>>2]|0;if(!i)break;a[(c[c[i+12>>2]>>2]|0)+-1>>0]=0;i=i+4|0}if(!(a[K>>0]|0))i=0;else{i=c[j+4>>2]|0;if(!i){i=c[L+156>>2]|0;if(!i){i=0;break}k=c[g>>2]|0}else{i=c[i+4>>2]|0;if(!i){i=27;break}j=c[g>>2]|0;while(1){k=j+1|0;if((a[j>>0]|0)==58)break;else j=k}}m=c[c[i>>2]>>2]|0;if((a[D>>0]|0)==0|(m|0)==0)l=0;else{j=0;while(1){l=j+1|0;if(!(a[m+j>>0]|0))break;else j=l}}c[g+4>>2]=k;o=i+20|0;j=c[o>>2]|0;c[g+16>>2]=j;c[g+8>>2]=m;c[g+20>>2]=l;p=0;while(1){q=p+1|0;if(!(a[k+p>>0]|0))break;else p=q}m=j+l+q|0;f=i+24|0;r=i+16|0;if((m|0)>(c[f>>2]|0)){j=m+24|0;m=pb[c[b+12>>2]&63](j)|0;if(!m){i=1;break}c[f>>2]=j;B6(m|0,c[r>>2]|0,c[o>>2]|0)|0;n=c[r>>2]|0;j=b+364|0;while(1){j=c[j>>2]|0;if(!j)break;f=j+12|0;if((c[f>>2]|0)==(n|0))c[f>>2]=m}db[c[b+20>>2]&127](n);c[r>>2]=m;j=c[o>>2]|0}else m=c[r>>2]|0;j=m+j|0;B6(j|0,k|0,q|0)|0;if(l|0){M=j+p|0;a[M>>0]=a[F>>0]|0;B6(M+1|0,c[c[i>>2]>>2]|0,l|0)|0}c[g>>2]=c[r>>2];i=0}}while(0);return i|0}function KZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;j=q;c[b+280>>2]=62;k=b+288|0;c[k>>2]=d;m=b+144|0;n=b+292|0;o=b+80|0;i=b+480|0;g=d;a:while(1){c[j>>2]=0;r=c[m>>2]|0;r=tb[c[r>>2]&127](r,g,e,j)|0;d=c[j>>2]|0;c[n>>2]=d;h=d;switch(r|0){case -15:{p=3;break a}case -4:{p=7;break a}case 0:{p=12;break a}case -1:{p=13;break a}case -2:{p=15;break a}case 15:{if(c[o>>2]|0)wZ(b,c[m>>2]|0,g,h);break}case 11:{if(!(CZ(b,c[m>>2]|0,g,h)|0)){d=1;break a}break}case 13:{if(!(DZ(b,c[m>>2]|0,g,h)|0)){d=1;break a}break}default:{d=9;break a}}d=c[j>>2]|0;c[k>>2]=d;switch(c[i>>2]|0){case 2:{d=35;break a}case 3:{p=18;break a}default:{}}g=d}do if((p|0)==3){if(c[o>>2]|0){wZ(b,c[m>>2]|0,g,h);if((c[i>>2]|0)==2){d=35;break}d=c[j>>2]|0}c[f>>2]=d;d=0}else if((p|0)==7){c[f>>2]=g;d=0}else if((p|0)==12){c[k>>2]=d;d=4}else if((p|0)==13)if(!(a[b+484>>0]|0)){c[f>>2]=g;d=0}else d=5;else if((p|0)==15)if(!(a[b+484>>0]|0)){c[f>>2]=g;d=0}else d=6;else if((p|0)==18){c[f>>2]=d;d=0}while(0);l=q;return d|0}function LZ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+16|0;y=B+8|0;z=B+4|0;x=B;i=c[e>>2]|0;c[y>>2]=i;if((c[b+144>>2]|0)==(d|0)){s=b+288|0;c[s>>2]=i;t=b+292|0}else{t=c[b+300>>2]|0;s=t;t=t+4|0}c[s>>2]=i;c[e>>2]=0;m=d+8|0;u=b+4|0;v=b+80|0;n=b+60|0;w=b+480|0;o=d+72|0;p=b+44|0;q=d+60|0;r=b+48|0;a:while(1){k=tb[c[m>>2]&127](d,c[y>>2]|0,f,z)|0;i=c[z>>2]|0;c[t>>2]=i;j=i;b:do switch(k|0){case 40:{A=6;break a}case 0:{A=23;break a}case -2:{A=24;break a}case -4:case -1:{A=26;break a}case 7:{i=c[n>>2]|0;if(i|0){a[x>>0]=10;rb[i&127](c[u>>2]|0,x,1);break b}if(c[v>>2]|0)wZ(b,d,c[y>>2]|0,j);break}case 6:{k=c[n>>2]|0;if(!k){if(!(c[v>>2]|0))break b;wZ(b,d,c[y>>2]|0,j);break b}if(!(a[o>>0]|0))i=j;else{j=c[y>>2]|0;rb[k&127](c[u>>2]|0,j,i-j|0);break b}while(1){c[x>>2]=c[p>>2];fb[c[q>>2]&31](d,y,i,x,c[r>>2]|0);c[t>>2]=c[z>>2];i=c[p>>2]|0;rb[k&127](c[u>>2]|0,i,(c[x>>2]|0)-i|0);i=c[y>>2]|0;if((i|0)==(c[z>>2]|0))break;c[s>>2]=i;i=c[z>>2]|0}break}default:{A=28;break a}}while(0);k=c[z>>2]|0;c[y>>2]=k;c[s>>2]=k;switch(c[w>>2]|0){case 3:{A=30;break a}case 2:{i=35;break a}default:{}}}if((A|0)==6){i=c[b+76>>2]|0;if(!i){if(c[v>>2]|0)wZ(b,d,c[y>>2]|0,j)}else db[i&127](c[u>>2]|0);i=c[z>>2]|0;c[e>>2]=i;c[g>>2]=i;i=(c[w>>2]|0)==2?35:0}else if((A|0)==23){c[s>>2]=i;i=4}else if((A|0)==24)if(!(h<<24>>24))i=6;else{c[g>>2]=c[y>>2];i=0}else if((A|0)==26)if(!(h<<24>>24))i=20;else{c[g>>2]=c[y>>2];i=0}else if((A|0)==28){c[s>>2]=i;i=23}else if((A|0)==30){c[g>>2]=c[z>>2];i=0}l=B;return i|0}function MZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;c[g>>2]=d;d=LZ(b,c[b+144>>2]|0,g,e,f,(a[b+484>>0]|0)==0&1)|0;do if(!d){d=c[g>>2]|0;if(d){g=b+280|0;if(!(c[b+476>>2]|0)){c[g>>2]=58;d=oZ(b,d,e,f)|0;break}else{c[g>>2]=63;d=NZ(b,d,e,f)|0;break}}else d=0}while(0);l=h;return d|0}function NZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;d=GZ(b,1,c[b+144>>2]|0,d,e,f,(a[b+484>>0]|0)==0&1)|0;if((d|0)==0?(OZ(b)|0)<<24>>24==0:0)d=1;return d|0}function OZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+16|0;a=a+364|0;while(1){a=c[a>>2]|0;if(!a){a=1;break}i=(c[a+24>>2]|0)+1|0;j=a+36|0;f=c[j>>2]|0;e=f+i|0;l=a+4|0;d=c[l>>2]|0;if((d|0)==(e|0)){a=1;break}k=a+8|0;b=c[k>>2]|0;g=b+i|0;h=a+40|0;if((g|0)>((c[h>>2]|0)-f|0)){e=vb[c[m>>2]&127](f,g)|0;if(!e){a=0;break}b=a+12|0;f=c[j>>2]|0;if((c[b>>2]|0)==(f|0))c[b>>2]=e;b=a+16|0;d=c[b>>2]|0;if(d|0)c[b>>2]=e+(d-f);c[j>>2]=e;c[h>>2]=e+g;e=e+i|0;d=c[l>>2]|0;b=c[k>>2]|0}B6(e|0,d|0,b|0)|0;c[l>>2]=e}return a|0}function PZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c[b+356>>2]|0;j=n+80|0;k=n+92|0;l=n+88|0;m=n+60|0;n=n+96|0;i=d+4|0;h=c[d>>2]|0;a:while(1){switch(a[h>>0]|0){case 0:{e=1;break a}case 58:{g=c[d>>2]|0;while(1){e=c[k>>2]|0;f=(e|0)==(c[l>>2]|0);if((g|0)==(h|0))break;if(f){if(!((fZ(j)|0)<<24>>24)){e=0;break a}e=c[k>>2]|0}f=a[g>>0]|0;c[k>>2]=e+1;a[e>>0]=f;g=g+1|0}if(f){if(!((fZ(j)|0)<<24>>24)){e=0;break a}e=c[k>>2]|0}c[k>>2]=e+1;a[e>>0]=0;e=mZ(b,m,c[n>>2]|0,8)|0;if(!e){e=0;break a}f=c[n>>2]|0;if((c[e>>2]|0)==(f|0))c[n>>2]=c[k>>2];else c[k>>2]=f;c[i>>2]=e;break}default:{}}h=h+1|0}return e|0}function QZ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=c[d>>2]|0;i=(h|0)!=0;a:do if((a[f>>0]|0)!=0|i^1){b:do if(((i?(a[h>>0]|0)==120:0)?(a[h+1>>0]|0)==109:0)?(a[h+2>>0]|0)==108:0){switch(a[h+3>>0]|0){case 110:break;case 0:{m=1;break b}default:{m=0;break b}}if((a[h+4>>0]|0)==115?(a[h+5>>0]|0)==0:0){h=39;break a}else m=0}else m=0;while(0);n=m<<24>>24!=0;l=1;h=1;i=0;c:while(1){p=n|l^1;while(1){k=a[f+i>>0]|0;j=h<<24>>24!=0;o=i+1|0;if(!(k<<24>>24))break c;do if(j){if((i|0)<=36?k<<24>>24==(a[142560+i>>0]|0):0)break;h=0}else h=0;while(0);if(p){i=o;continue}if((i|0)>29){l=0;i=o;continue c}if(k<<24>>24==(a[142597+i>>0]|0))i=o;else{l=0;i=o;continue c}}}if((m&255|0)!=(j&(i|0)==36&1|0)){h=n?38:40;break}if(!(l&(i|0)==29)){p=b+472|0;n=(a[p>>0]|0)==0?i:o;h=b+376|0;j=c[h>>2]|0;m=n+24|0;do if(!j){h=b+12|0;i=pb[c[h>>2]&63](28)|0;if(!i){h=1;break a}o=pb[c[h>>2]&63](m)|0;c[i+16>>2]=o;if(!o){db[c[b+20>>2]&127](i);h=1;break a}else{c[i+24>>2]=m;j=i;break}}else{i=j+24|0;if((n|0)>(c[i>>2]|0)){k=j+16|0;l=vb[c[b+16>>2]&127](c[k>>2]|0,m)|0;if(!l){h=1;break a}c[k>>2]=l;c[i>>2]=m}c[h>>2]=c[j+4>>2]}while(0);c[j+20>>2]=n;i=j+16|0;B6(c[i>>2]|0,f|0,n|0)|0;h=a[p>>0]|0;if(h<<24>>24)a[(c[i>>2]|0)+(n+-1)>>0]=h;c[j>>2]=d;c[j+12>>2]=e;i=d+4|0;c[j+8>>2]=c[i>>2];if((a[f>>0]|0)==0?((c[b+356>>2]|0)+152|0)==(d|0):0)h=0;else h=j;c[i>>2]=h;c[j+4>>2]=c[g>>2];c[g>>2]=j;if((e|0)!=0?(q=c[b+100>>2]|0,(q|0)!=0):0){rb[q&127](c[b+4>>2]|0,c[d>>2]|0,c[i>>2]|0?f:0);h=0}else h=0}else h=40}else h=28;while(0);return h|0}function RZ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=l;l=l+16|0;I=L;J=L+4|0;K=c[b+356>>2]|0;o=d+16|0;p=d+68|0;q=b+144|0;r=h+16|0;s=h+8|0;t=h+12|0;v=b+288|0;w=d+44|0;x=e<<24>>24==0;y=d+48|0;z=b+440|0;A=b+456|0;B=b+452|0;C=(K+80|0)==(h|0);D=K+130|0;E=K+129|0;F=b+272|0;G=b+300|0;H=b+228|0;i=0;a:while(1){b:while(1){switch(tb[c[o>>2]&127](d,f,g,I)|0){case -4:{i=0;n=63;break a}case 0:{n=4;break a}case -1:{n=6;break a}case 6:{n=23;break b}case -3:{n=24;break b}case 7:case 39:{n=25;break b}case 10:{j=vb[c[w>>2]&127](d,f)|0;c:do if((j|0)<0)if((c[q>>2]|0)==(d|0)){c[v>>2]=f;j=1;i=14}else{j=1;i=14}else{if(x&(j|0)==32){k=c[t>>2]|0;if((k|0)==(c[r>>2]|0)){j=4;break}if((a[k+-1>>0]|0)==32){j=4;break}}m=h_(j,J)|0;if(!m){if((c[q>>2]|0)!=(d|0)){j=1;i=14;break}c[v>>2]=f;j=1;i=14;break}else k=0;while(1){if((k|0)>=(m|0)){j=0;break c}j=c[t>>2]|0;if((j|0)==(c[s>>2]|0)){if(!((fZ(h)|0)<<24>>24)){j=1;i=1;break c}j=c[t>>2]|0}M=a[J+k>>0]|0;c[t>>2]=j+1;a[j>>0]=M;k=k+1|0}}while(0);switch(j&7){case 4:case 0:break b;default:{}}break}case 9:{j=c[p>>2]|0;j=(eb[c[y>>2]&63](d,f+j|0,(c[I>>2]|0)+(0-j)|0)|0)&255;if(j<<24>>24){n=33;break b}j=c[p>>2]|0;j=kZ(z,d,f+j|0,(c[I>>2]|0)+(0-j)|0)|0;if(!j){i=1;n=63;break a}m=mZ(b,K,j,0)|0;c[B>>2]=c[A>>2];do if(C){if(!(c[F>>2]|0))if(!m)break b;else break;if(!(a[D>>0]|0)){j=(m|0)!=0;if(!(a[E>>0]|0)){n=47;break}else{u=j;n=49;break}}else{j=(m|0)!=0;if(!(c[G>>2]|0)){n=47;break}else{u=j;n=49;break}}}else if(!(a[E>>0]|0))if(!m){i=11;n=63;break a}else{n=48;break}else{j=(m|0)!=0;if(!(a[D>>0]|0)){u=j;n=49;break}else{n=47;break}}while(0);if((n|0)==47)if(j)n=48;else{i=11;n=63;break a}else if((n|0)==49?(n=0,!u):0)break b;if((n|0)==48?(n=0,(a[m+34>>0]|0)==0):0){i=24;n=63;break a}k=m+32|0;if(a[k>>0]|0){n=51;break a}if(c[m+28>>2]|0){n=54;break a}j=c[m+4>>2]|0;if(!j){n=57;break a}m=j+(c[m+8>>2]|0)|0;a[k>>0]=1;m=RZ(b,c[H>>2]|0,e,j,m,h)|0;a[k>>0]=0;j=(m|0)==0;if(j)break b;else{j=(j^1)&1;i=m}break}default:{n=60;break a}}if(j)break a}if((n|0)==23){n=0;if(!(sZ(h,d,f,c[I>>2]|0)|0)){i=1;n=63;break}}else if((n|0)==24){c[I>>2]=f+(c[p>>2]|0);n=25}else if((n|0)==33){n=0;f=c[t>>2]|0;if((f|0)==(c[s>>2]|0)){if(!((fZ(h)|0)<<24>>24)){i=1;n=63;break}f=c[t>>2]|0}c[t>>2]=f+1;a[f>>0]=j}do if((n|0)==25){n=0;f=c[t>>2]|0;if(x){if((f|0)==(c[r>>2]|0))break;if((a[f+-1>>0]|0)==32)break}if((f|0)==(c[s>>2]|0)){if(!((fZ(h)|0)<<24>>24)){i=1;n=63;break a}f=c[t>>2]|0}c[t>>2]=f+1;a[f>>0]=32}while(0);f=c[I>>2]|0}if((n|0)==4)if((c[q>>2]|0)==(d|0)){c[v>>2]=c[I>>2];i=4;n=63}else{i=4;n=63}else if((n|0)==6)if((c[q>>2]|0)==(d|0)){c[v>>2]=f;i=4;n=63}else{i=4;n=63}else if((n|0)==51)if((c[q>>2]|0)==(d|0)){c[v>>2]=f;i=12;n=63}else{i=12;n=63}else if((n|0)==54)if((c[q>>2]|0)==(d|0)){c[v>>2]=f;i=15;n=63}else{i=15;n=63}else if((n|0)==57)if((c[q>>2]|0)==(d|0)){c[v>>2]=f;i=16;n=63}else{i=16;n=63}else if((n|0)==60)if((c[q>>2]|0)==(d|0)){c[v>>2]=f;i=23;n=63}else{i=23;n=63}l=L;return i|0}function SZ(b,d){b=b|0;d=d|0;var e=0;e=c[b+496>>2]|0;b=d;while(1){d=a[b>>0]|0;if(!(d<<24>>24))break;e=d&255^e*1000003;b=b+1|0}return e|0}function TZ(b,c){b=b|0;c=c|0;var d=0;while(1){d=a[b>>0]|0;if(d<<24>>24!=(a[c>>0]|0)){c=0;break}if(!(d<<24>>24)){c=1;break}c=c+1|0;b=b+1|0}return c|0}function UZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+1040|0;i=k;f=c[b+124>>2]|0;a:do if(!f)e=18;else{e=0;while(1){if((e|0)==256)break;c[i+(e<<2)>>2]=-1;e=e+1|0}g=i+1028|0;c[g>>2]=0;j=i+1024|0;c[j>>2]=0;h=i+1032|0;c[h>>2]=0;do if(eb[f&63](c[b+248>>2]|0,d,i)|0){f=c[b+12>>2]|0;e=i_()|0;e=pb[f&63](e)|0;c[b+240>>2]=e;if(!e){e=c[h>>2]|0;if(!e)e=1;else{db[e&127](c[j>>2]|0);e=1}}else{e=tb[(a[b+236>>0]<<24>>24?64:65)&127](e,i,c[g>>2]|0,c[j>>2]|0)|0;if(!e)break;c[b+244>>2]=c[j>>2];c[b+252>>2]=c[h>>2];c[b+144>>2]=e;e=0}break a}while(0);e=c[h>>2]|0;if(e|0)db[e&127](c[j>>2]|0);e=18}while(0);l=k;return e|0}function VZ(b,d){b=b|0;d=d|0;a[b+4>>0]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b>>2]=0;c[b+16>>2]=d;return}function WZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=c[b+356>>2]|0;m=b+416|0;n=b+428|0;o=b+424|0;p=b+432|0;q=l+152|0;r=b+372|0;j=l+60|0;k=l+80|0;a:while(1){g=d;b:while(1){if(!(a[d>>0]|0)){d=1;break a}e=a[g>>0]|0;h=g+1|0;switch(e<<24>>24){case 0:case 12:{s=5;break b}case 61:break b;default:{}}f=c[n>>2]|0;if((f|0)==(c[o>>2]|0)){if(!((fZ(m)|0)<<24>>24)){d=0;break a}f=c[n>>2]|0;e=a[g>>0]|0}c[n>>2]=f+1;a[f>>0]=e;g=h}if((s|0)==5){s=0;d=c[n>>2]|0;if((d|0)==(c[o>>2]|0)){if(!((fZ(m)|0)<<24>>24)){d=0;break}d=c[n>>2]|0}c[n>>2]=d+1;a[d>>0]=0;d=mZ(b,l,c[p>>2]|0,0)|0;if(d|0)a[d+32>>0]=1;d=(a[g>>0]|0)==0?g:h;c[n>>2]=c[p>>2];continue}d=c[n>>2]|0;if((d|0)==(c[p>>2]|0))f=q;else{if((d|0)==(c[o>>2]|0)){if(!((fZ(m)|0)<<24>>24)){d=0;break}d=c[n>>2]|0}c[n>>2]=d+1;a[d>>0]=0;f=mZ(b,j,c[p>>2]|0,8)|0;if(!f){d=0;break}e=c[f>>2]|0;i=c[p>>2]|0;d=i;if((e|0)==(i|0)){i=eZ(k,e)|0;c[f>>2]=i;if(!i){d=0;break}d=c[p>>2]|0}c[n>>2]=d}c:while(1){e=a[h>>0]|0;g=(d|0)==(c[o>>2]|0);i=h+1|0;switch(e<<24>>24){case 0:case 12:break c;default:{}}if(g){if(!((fZ(m)|0)<<24>>24)){d=0;break a}d=c[n>>2]|0;e=a[h>>0]|0}c[n>>2]=d+1;a[d>>0]=e;h=i;d=c[n>>2]|0}if(g){if(!((fZ(m)|0)<<24>>24)){d=0;break}d=c[n>>2]|0}c[n>>2]=d+1;a[d>>0]=0;if(QZ(b,f,0,c[p>>2]|0,r)|0){d=0;break}c[n>>2]=c[p>>2];d=(a[h>>0]|0)==0?h:i}return d|0}function XZ(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;e=(c[d>>2]|0)==(c[a>>2]|0);c[a>>2]=b;if(e)c[d>>2]=b;return}function YZ(a,b,d){a=a|0;b=b|0;d=d|0;c[a+52>>2]=b;c[a+56>>2]=d;return}function ZZ(a,b){a=a|0;b=b|0;c[a+60>>2]=b;return}function _Z(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=b+480|0;j=b+284|0;switch(c[i>>2]|0){case 3:{c[j>>2]=33;g=0;break}case 2:{c[j>>2]=36;g=0;break}case 0:{if((c[b+476>>2]|0)==0?($Z(b)|0)<<24>>24==0:0){c[j>>2]=1;g=0}else h=7;break}default:h=7}a:do if((h|0)==7){c[i>>2]=1;if(e|0){g=b_(b,e)|0;if(!g){g=0;break}B6(g|0,d|0,e|0)|0;g=c_(b,e,f)|0;break}a[b+484>>0]=f;if(!f)g=1;else{g=b+24|0;f=c[g>>2]|0;d=b+296|0;c[d>>2]=f;h=c[b+28>>2]|0;c[b+40>>2]=h;e=b+280|0;h=tb[c[e>>2]&127](b,f,h,g)|0;c[j>>2]=h;if(h|0){c[b+292>>2]=c[b+288>>2];c[e>>2]=66;g=0;break}switch(c[i>>2]|0){case 3:{j=c[b+144>>2]|0;xb[c[j+52>>2]&31](j,c[d>>2]|0,c[g>>2]|0,b+408|0);c[d>>2]=c[g>>2];g=2;break a}case 1:case 0:{c[i>>2]=2;g=1;break a}default:{g=1;break a}}}}while(0);return g|0}function $Z(b){b=b|0;var d=0;d=b+496|0;if(!(c[d>>2]|0))c[d>>2]=d_()|0;if(!(a[b+236>>0]|0))b=1;else b=WZ(b,142627)|0;return b|0}function a_(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return c[a+284>>2]|0}function b_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=a+284|0;a:do switch(c[a+480>>2]|0){case 3:{c[l>>2]=33;d=0;break}case 2:{c[l>>2]=36;d=0;break}default:{m=a+32|0;k=c[m>>2]|0;p=a+28|0;e=c[p>>2]|0;d=e;if((k-e|0)<(b|0)){q=a+24|0;j=c[q>>2]|0;f=e-j|0;o=a+8|0;g=c[o>>2]|0;r=g;h=j-r|0;i=(h|0)>1024;e=i?1024:h;b=f+b+e|0;do if((b|0)>(k-r|0)){d=k-j|0;d=(d|0)==0?1024:d;do d=d<<1;while((d|0)<(b|0));e=pb[c[a+12>>2]&63](d)|0;if(!e){c[l>>2]=1;d=0;break a}c[m>>2]=e+d;d=c[q>>2]|0;b=d;f=(c[p>>2]|0)-b|0;if(!d){d=e+f|0;c[p>>2]=d;c[o>>2]=e;n=14;break}else{n=b-(c[o>>2]|0)|0;n=(n|0)<1024?n:1024;B6(e|0,d+(0-n)|0,n+f|0)|0;db[c[a+20>>2]&127](c[o>>2]|0);c[o>>2]=e;d=e+((c[p>>2]|0)-(c[q>>2]|0))+n|0;c[p>>2]=d;e=e+n|0;n=14;break}}else if(i){d=h-e|0;I6(g|0,g+d|0,e+f|0)|0;e=0-d|0;d=(c[p>>2]|0)+e|0;c[p>>2]=d;e=(c[q>>2]|0)+e|0;n=14}while(0);if((n|0)==14)c[q>>2]=e;c[a+292>>2]=0;c[a+288>>2]=0;c[a+296>>2]=0}}}while(0);return d|0}function c_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=b+480|0;i=b+284|0;switch(c[h>>2]|0){case 3:{c[i>>2]=33;d=0;break}case 2:{c[i>>2]=36;d=0;break}case 0:{if((c[b+476>>2]|0)==0?($Z(b)|0)<<24>>24==0:0){c[i>>2]=1;d=0}else f=7;break}default:f=7}a:do if((f|0)==7){c[h>>2]=1;f=b+24|0;k=c[f>>2]|0;g=b+296|0;c[g>>2]=k;l=b+28|0;j=(c[l>>2]|0)+d|0;c[l>>2]=j;c[b+40>>2]=j;l=b+36|0;c[l>>2]=(c[l>>2]|0)+d;a[b+484>>0]=e;d=b+280|0;j=tb[c[d>>2]&127](b,k,j,f)|0;c[i>>2]=j;if(j|0){c[b+292>>2]=c[b+288>>2];c[d>>2]=66;d=0;break}switch(c[h>>2]|0){case 3:{d=2;break}case 1:case 0:{if(!e)d=1;else{c[h>>2]=2;d=1;break a}break}default:d=1}l=c[b+144>>2]|0;xb[c[l+52>>2]&31](l,c[g>>2]|0,c[f>>2]|0,b+408|0);c[g>>2]=c[f>>2]}while(0);return d|0}function d_(){var a=0;a=Ya(0)|0;T4(((a|0)==-1&1)+a|0);return U4()|0}function e_(a){a=a|0;return c[a+284>>2]|0}function f_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+288|0;d=c[b>>2]|0;e=a+408|0;if(d|0?(f=a+296|0,g=c[f>>2]|0,d>>>0>=g>>>0):0){a=c[a+144>>2]|0;xb[c[a+52>>2]&31](a,g,d,e);c[f>>2]=c[b>>2]}return (c[e>>2]|0)+1|0}function g_(a){a=a|0;if((a+-1|0)>>>0<40)a=c[56636+(a<<2)>>2]|0;else a=0;return a|0}function h_(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;do if((b|0)>=0){if((b|0)<128){a[c>>0]=b;d=1;break}h=c+1|0;d=b>>>6;e=(b&63|128)&255;if((b|0)<2048){a[c>>0]=d|192;a[h>>0]=e;d=2;break}f=b>>>12;g=c+2|0;d=(d&63|128)&255;if((b|0)<65536){a[c>>0]=f|224;a[h>>0]=d;a[g>>0]=e;d=3;break}if((b|0)<1114112){a[c>>0]=b>>>18|240;a[h>>0]=f&63|128;a[g>>0]=d;a[c+3>>0]=e;d=4}else d=0}else d=0;while(0);return d|0}function i_(){return 1912}function j_(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=0;while(1){if((i|0)==368){i=0;break}a[e+i>>0]=a[56800+i>>0]|0;i=i+1|0}a:while(1){if((i|0)>=128){j=5;break}switch(a[56876+i>>0]|0){case 0:case 28:break;default:if((c[f+(i<<2)>>2]|0)!=(i|0)){e=0;break a}}i=i+1|0}b:do if((j|0)==5){t=e+376|0;m=e+888|0;n=e+76|0;l=0;while(1){if((l|0)>=256)break;o=c[f+(l<<2)>>2]|0;p=t+(l<<1)|0;q=m+(l<<2)|0;r=m+(l<<2)+1|0;s=n+l|0;do if((o|0)==-1){a[s>>0]=1;b[p>>1]=-1;a[q>>0]=1;a[r>>0]=0}else{if((o|0)<0){if((o|0)<-4){e=0;break b}a[s>>0]=3-o;a[q>>0]=0;b[p>>1]=0;break}if((o|0)<128){i=a[56876+o>>0]|0;switch(i<<24>>24){case 0:case 28:break;default:if((o|0)!=(l|0)){e=0;break b}}a[s>>0]=i;a[q>>0]=1;a[r>>0]=o;b[p>>1]=(o|0)==0?-1:o&65535;break}if((k_(o)|0)<0){a[s>>0]=0;b[p>>1]=-1;a[q>>0]=1;a[r>>0]=0;break}if((o|0)>65535){e=0;break b}i=o>>>8;j=o>>>5&7;k=1<<(o&31);if(!(c[57168+((d[143937+i>>0]<<3|j)<<2)>>2]&k))i=c[57168+((d[144193+i>>0]<<3|j)<<2)>>2]&k|0?26:28;else i=22;a[s>>0]=i;a[q>>0]=h_(o,r)|0;b[p>>1]=o}while(0);l=l+1|0}c[e+372>>2]=h;c[e+368>>2]=g;if(g|0){c[e+332>>2]=108;c[e+336>>2]=108;c[e+340>>2]=108;c[e+344>>2]=109;c[e+348>>2]=109;c[e+352>>2]=109;c[e+356>>2]=110;c[e+360>>2]=110;c[e+364>>2]=110}c[e+60>>2]=18;c[e+64>>2]=19}while(0);return e|0}function k_(b){b=b|0;var c=0;switch(b>>8|0){case 223:case 222:case 221:case 220:case 219:case 218:case 217:case 216:{b=-1;break}case 0:{if(!(a[56876+b>>0]|0))b=-1;else c=4;break}case 255:{if((b|1|0)==65535)b=-1;else c=4;break}default:c=4}return b|0}function l_(a,b){a=a|0;b=b|0;a=vb[c[a+368>>2]&127](c[a+372>>2]|0,b)|0;if(a>>>0>65535)a=0;else a=c[57168+(((d[144193+(a>>>8)>>0]|0)<<3|a>>>5&7)<<2)>>2]&1<<(a&31);return a|0}function m_(a,b){a=a|0;b=b|0;a=vb[c[a+368>>2]&127](c[a+372>>2]|0,b)|0;if(a>>>0>65535)a=0;else a=c[57168+(((d[143937+(a>>>8)>>0]|0)<<3|a>>>5&7)<<2)>>2]&1<<(a&31);return a|0}function n_(a,b){a=a|0;b=b|0;a=vb[c[a+368>>2]&127](c[a+372>>2]|0,b)|0;if(a>>>0>65535)a=1;else a=(k_(a)|0)<0;return a&1|0}function o_(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;m=q;n=b+368|0;o=b+888|0;p=b+372|0;k=b+76|0;a:while(1){j=c[e>>2]|0;if((j|0)==(f|0))break;r=d[j>>0]|0;i=o+(r<<2)+1|0;r=a[o+(r<<2)>>0]|0;b=r<<24>>24;if(!(r<<24>>24)){b=h_(vb[c[n>>2]&127](c[p>>2]|0,j)|0,m)|0;if((b|0)>(h-(c[g>>2]|0)|0))break;j=c[e>>2]|0;i=m;j=j+((d[k+(d[j>>0]|0)>>0]|0)+-3)|0}else{if((b|0)>(h-(c[g>>2]|0)|0))break;j=j+1|0}c[e>>2]=j;while(1){j=a[i>>0]|0;r=c[g>>2]|0;c[g>>2]=r+1;a[r>>0]=j;b=b+-1|0;if(!b)continue a;else i=i+1|0}}l=q;return}function p_(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=a+376|0;m=a+368|0;n=a+372|0;k=a+76|0;while(1){i=c[e>>2]|0;if((i|0)==(f|0))break;if((c[g>>2]|0)==(h|0))break;a=b[l+((d[i>>0]|0)<<1)>>1]|0;if(!(a<<16>>16)){a=(vb[c[m>>2]&127](c[n>>2]|0,i)|0)&65535;i=c[e>>2]|0;j=(d[k+(d[i>>0]|0)>>0]|0)+-3|0}else j=1;c[e>>2]=i+j;j=c[g>>2]|0;c[g>>2]=j+2;b[j>>1]=a}return}function q_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((e|0)==(f|0))h=-4;else{q=b+76|0;i=e+1|0;l=b+332|0;m=f;h=(i|0)==(f|0);n=b+340|0;o=b+336|0;k=e+2|0;j=m-e|0;do switch(a[q+(d[e>>0]|0)>>0]|0){case 12:{h=S_(12,b,i,f,g)|0;break a}case 13:{h=S_(13,b,i,f,g)|0;break a}case 2:{if(h){h=-1;break a}switch(a[q+(d[i>>0]|0)>>0]|0){case 16:{h=T_(b,k,f,g)|0;break a}case 15:{h=O_(b,k,f,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;h=29;break a}default:{c[g>>2]=i;h=0;break a}}}case 9:{if(h){c[g>>2]=f;h=-15;break a}else p=13;break}case 10:case 21:{p=13;break}case 30:{h=I_(b,i,f,g)|0;break a}case 35:{c[g>>2]=i;h=38;break a}case 20:{c[g>>2]=i;h=25;break a}case 4:{if(h){h=-26;break a}if((a[i>>0]|0)==93){if((k|0)==(f|0)){h=-1;break a}if((a[k>>0]|0)==62){c[g>>2]=e+3;h=34;break a}}c[g>>2]=i;h=26;break a}case 31:{c[g>>2]=i;h=23;break a}case 32:{if(h){h=-24;break a}switch(a[q+(d[i>>0]|0)>>0]|0){case 33:{c[g>>2]=k;h=36;break a}case 15:{c[g>>2]=k;h=35;break a}case 34:{c[g>>2]=k;h=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=i;h=24;break a}default:{c[g>>2]=i;h=0;break a}}}case 36:{c[g>>2]=i;h=21;break a}case 11:{c[g>>2]=i;h=17;break a}case 19:{h=U_(b,i,f,g)|0;break a}case 5:{if((j|0)<2){h=-2;break a}if(!(vb[c[b+344>>2]&127](b,e)|0))if(!(vb[c[l>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=19;i=k}else{h=18;i=k}break}case 6:{if((j|0)<3){h=-2;break a}i=e+3|0;if(!(vb[c[b+348>>2]&127](b,e)|0))if(!(vb[c[o>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=19;else h=18;break}case 7:{if((j|0)<4){h=-2;break a}i=e+4|0;if(!(vb[c[b+352>>2]&127](b,e)|0))if(!(vb[c[n>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=19;else h=18;break}case 24:case 22:{h=18;break}case 23:case 27:case 26:case 25:{h=19;break}default:{c[g>>2]=e;h=0;break a}}while(0);if((p|0)==13){b:while(1){h=e;e=e+1|0;if((e|0)==(f|0)){p=17;break}switch(a[q+(d[e>>0]|0)>>0]|0){case 10:case 21:{p=13;continue b}case 9:break;default:{p=16;break b}}if((h+2|0)==(f|0)){p=16;break}else p=13}if((p|0)==16){c[g>>2]=e;h=15;break}else if((p|0)==17){c[g>>2]=f;h=15;break}}c:while(1){if((i|0)==(f|0)){p=96;break}j=i+1|0;e=m-i|0;switch(a[q+(d[i>>0]|0)>>0]|0){case 27:case 26:case 25:case 24:case 22:{p=h;i=j;h=p;continue c}case 29:{p=54;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{p=67;break c}case 34:{p=86;break c}case 33:{p=89;break c}case 15:{p=92;break c}case 5:{if((e|0)<2){h=-2;break a}if(!(vb[c[l>>2]&127](b,i)|0)){p=57;break c}p=h;i=i+2|0;h=p;continue c}case 6:{if((e|0)<3){h=-2;break a}if(!(vb[c[o>>2]&127](b,i)|0)){p=61;break c}p=h;i=i+3|0;h=p;continue c}case 7:{if((e|0)<4){h=-2;break a}if(!(vb[c[n>>2]&127](b,i)|0)){p=65;break c}p=h;i=i+4|0;h=p;continue c}case 23:{switch(h&63){case 18:break;case 41:{h=19;i=j;continue c}default:{p=h;i=j;h=p;continue c}}if((j|0)==(f|0)){h=-1;break a}h=m-j|0;switch(a[q+(d[j>>0]|0)>>0]|0){case 29:{p=71;break c}case 27:case 26:case 25:case 24:case 22:{h=41;i=i+2|0;continue c}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[l>>2]&127](b,j)|0)){p=75;break c}h=41;i=i+3|0;continue c}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[o>>2]&127](b,j)|0)){p=79;break c}h=41;i=i+4|0;continue c}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[n>>2]&127](b,j)|0)){p=83;break c}h=41;i=i+5|0;continue c}default:{h=19;i=j;continue c}}}default:{p=95;break c}}}switch(p|0){case 54:{c[g>>2]=i;h=0;break a}case 57:{c[g>>2]=i;h=0;break a}case 61:{c[g>>2]=i;h=0;break a}case 65:{c[g>>2]=i;h=0;break a}case 67:{c[g>>2]=i;break a}case 71:{c[g>>2]=j;h=0;break a}case 75:{c[g>>2]=j;h=0;break a}case 79:{c[g>>2]=j;h=0;break a}case 83:{c[g>>2]=j;h=0;break a}case 86:if((h|0)==19){c[g>>2]=i;h=0;break a}else{c[g>>2]=j;h=32;break a}case 89:if((h|0)==19){c[g>>2]=i;h=0;break a}else{c[g>>2]=j;h=31;break a}case 92:if((h|0)==19){c[g>>2]=i;h=0;break a}else{c[g>>2]=j;h=30;break a}case 95:{c[g>>2]=i;h=0;break a}case 96:{h=0-h|0;break a}}}while(0);return h|0}function r_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if((e|0)!=(f|0)){p=b+76|0;l=b+356|0;m=f;n=b+360|0;i=e+1|0;o=b+364|0;h=m-e|0;j=e+2|0;k=(i|0)==(f|0);b:do switch(a[p+(d[e>>0]|0)>>0]|0){case 2:{e=L_(b,i,f,g)|0;break a}case 3:{e=H_(b,i,f,g)|0;break a}case 9:{if(k){e=-3;break a}c[g>>2]=(a[p+(d[i>>0]|0)>>0]|0)==10?j:i;e=7;break a}case 10:{c[g>>2]=i;e=7;break a}case 4:{if(k){e=-5;break a}if((a[i>>0]|0)==93){if((j|0)==(f|0)){e=-5;break a}if((a[j>>0]|0)==62){c[g>>2]=j;e=0;break a}}break}case 5:{if((h|0)<2){e=-2;break a}if(!(vb[c[l>>2]&127](b,e)|0))i=j;else{c[g>>2]=e;e=0;break a}break}case 6:{if((h|0)<3){e=-2;break a}if(!(vb[c[n>>2]&127](b,e)|0)){i=e+3|0;break b}else{c[g>>2]=e;e=0;break a}}case 7:{if((h|0)<4){e=-2;break a}if(!(vb[c[o>>2]&127](b,e)|0)){i=e+4|0;break b}else{c[g>>2]=e;e=0;break a}}case 8:case 1:case 0:{c[g>>2]=e;e=0;break a}default:{}}while(0);c:while(1){if((i|0)==(f|0)){h=44;break}j=i+2|0;e=i+1|0;h=m-i|0;switch(a[p+(d[i>>0]|0)>>0]|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{h=43;break c}case 5:{if((h|0)<2){h=29;break c}if(!(vb[c[l>>2]&127](b,i)|0)){i=j;continue c}else{h=29;break c}}case 6:{if((h|0)<3){h=32;break c}if(vb[c[n>>2]&127](b,i)|0){h=32;break c}i=i+3|0;continue c}case 7:{if((h|0)<4){h=36;break c}if(vb[c[o>>2]&127](b,i)|0){h=36;break c}i=i+4|0;continue c}case 4:{if((e|0)==(f|0)){h=43;break c}if((a[e>>0]|0)!=93){i=e;continue c}if((j|0)==(f|0)){h=43;break c}if((a[j>>0]|0)==62){h=42;break c}else{i=e;continue c}}default:{i=e;continue c}}}if((h|0)==29){c[g>>2]=i;e=6;break}else if((h|0)==32){c[g>>2]=i;e=6;break}else if((h|0)==36){c[g>>2]=i;e=6;break}else if((h|0)==42){c[g>>2]=j;e=0;break}else if((h|0)==43){c[g>>2]=i;e=6;break}else if((h|0)==44){c[g>>2]=f;e=6;break}}else e=-4;while(0);return e|0} +function s_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if((e|0)!=(f|0)){p=b+76|0;l=b+356|0;m=f;n=b+360|0;i=e+1|0;o=b+364|0;h=m-e|0;j=(i|0)==(f|0);k=e+2|0;b:do switch(a[p+(d[e>>0]|0)>>0]|0){case 4:{if(j){e=-1;break a}if((a[i>>0]|0)==93){if((k|0)==(f|0)){e=-1;break a}if((a[k>>0]|0)==62){c[g>>2]=e+3;e=40;break a}}break}case 9:{if(j){e=-1;break a}c[g>>2]=(a[p+(d[i>>0]|0)>>0]|0)==10?k:i;e=7;break a}case 10:{c[g>>2]=i;e=7;break a}case 5:{if((h|0)<2){e=-2;break a}if(!(vb[c[l>>2]&127](b,e)|0))i=k;else{c[g>>2]=e;e=0;break a}break}case 6:{if((h|0)<3){e=-2;break a}if(!(vb[c[n>>2]&127](b,e)|0)){i=e+3|0;break b}else{c[g>>2]=e;e=0;break a}}case 7:{if((h|0)<4){e=-2;break a}if(!(vb[c[o>>2]&127](b,e)|0)){i=e+4|0;break b}else{c[g>>2]=e;e=0;break a}}case 8:case 1:case 0:{c[g>>2]=e;e=0;break a}default:{}}while(0);c:while(1){if((i|0)==(f|0)){h=36;break}e=m-i|0;switch(a[p+(d[i>>0]|0)>>0]|0){case 4:case 10:case 9:case 8:case 1:case 0:{h=34;break c}case 5:{if((e|0)<2){h=27;break c}if(!(vb[c[l>>2]&127](b,i)|0))e=2;else{h=27;break c}break}case 6:{if((e|0)<3){h=30;break c}if(!(vb[c[n>>2]&127](b,i)|0))e=3;else{h=30;break c}break}case 7:{if((e|0)<4){h=33;break c}if(!(vb[c[o>>2]&127](b,i)|0))e=4;else{h=33;break c}break}default:e=1}i=i+e|0}if((h|0)==27){c[g>>2]=i;e=6;break}else if((h|0)==30){c[g>>2]=i;e=6;break}else if((h|0)==33){c[g>>2]=i;e=6;break}else if((h|0)==34){c[g>>2]=i;e=6;break}else if((h|0)==36){c[g>>2]=f;e=6;break}}else e=-4;while(0);return e|0}function t_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;o=b+76|0;p=f;q=b+356|0;r=b+360|0;s=b+364|0;n=0;a:while(1){if((e|0)==(f|0)){e=-1;break}h=e+1|0;i=e+2|0;j=(i|0)==(f|0);k=e+3|0;l=p-e|0;m=(h|0)==(f|0);switch(a[o+(d[e>>0]|0)>>0]|0){case 8:case 1:case 0:{t=14;break a}case 5:{if((l|0)<2){e=-2;break a}if(!(vb[c[q>>2]&127](b,e)|0)){m=n;e=i;n=m;continue a}else{t=6;break a}}case 6:{if((l|0)<3){e=-2;break a}if(!(vb[c[r>>2]&127](b,e)|0)){m=n;e=k;n=m;continue a}else{t=9;break a}}case 7:{if((l|0)<4){e=-2;break a}if(vb[c[s>>2]&127](b,e)|0){t=12;break a}m=n;e=e+4|0;n=m;continue a}case 2:{if(m){e=-1;break a}if((a[h>>0]|0)!=33){m=n;e=h;n=m;continue a}if(j){e=-1;break a}e=(a[i>>0]|0)==91;n=(e&1)+n|0;e=e?k:i;continue a}case 4:{if(m){e=-1;break a}if((a[h>>0]|0)!=93){m=n;e=h;n=m;continue a}if(j){e=-1;break a}if((a[i>>0]|0)!=62){m=n;e=i;n=m;continue a}if(!n){t=24;break a}n=n+-1|0;e=k;continue a}default:{m=n;e=h;n=m;continue a}}}if((t|0)==6){c[g>>2]=e;e=0}else if((t|0)==9){c[g>>2]=e;e=0}else if((t|0)==12){c[g>>2]=e;e=0}else if((t|0)==14){c[g>>2]=e;e=0}else if((t|0)==24){c[g>>2]=k;e=42}return e|0}function u_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;do if((e|0)!=(f|0)){j=b+76|0;h=e;a:while(1){if((h|0)==(f|0)){k=22;break}i=h+1|0;switch(a[j+(d[h>>0]|0)>>0]|0){case 3:{k=8;break a}case 2:{k=11;break a}case 10:{k=12;break a}case 9:{k=15;break a}case 21:{k=19;break a}case 5:{h=h+2|0;continue a}case 6:{h=h+3|0;continue a}case 7:{h=h+4|0;continue a}default:{h=i;continue a}}}if((k|0)==8)if((h|0)==(e|0)){h=H_(b,i,f,g)|0;break}else{c[g>>2]=h;h=6;break}else if((k|0)==11){c[g>>2]=h;h=0;break}else if((k|0)==12)if((h|0)==(e|0)){c[g>>2]=i;h=7;break}else{c[g>>2]=h;h=6;break}else if((k|0)==15){if((h|0)!=(e|0)){c[g>>2]=h;h=6;break}if((i|0)==(f|0)){h=-3;break}c[g>>2]=(a[j+(d[i>>0]|0)>>0]|0)==10?e+2|0:i;h=7;break}else if((k|0)==19)if((h|0)==(e|0)){c[g>>2]=i;h=39;break}else{c[g>>2]=h;h=6;break}else if((k|0)==22){c[g>>2]=f;h=6;break}}else h=-4;while(0);return h|0}function v_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;do if((e|0)!=(f|0)){j=b+76|0;h=e;a:while(1){if((h|0)==(f|0)){k=21;break}i=h+1|0;switch(a[j+(d[h>>0]|0)>>0]|0){case 3:{k=8;break a}case 30:{k=11;break a}case 10:{k=14;break a}case 9:{k=17;break a}case 5:{h=h+2|0;continue a}case 6:{h=h+3|0;continue a}case 7:{h=h+4|0;continue a}default:{h=i;continue a}}}if((k|0)==8)if((h|0)==(e|0)){h=H_(b,i,f,g)|0;break}else{c[g>>2]=h;h=6;break}else if((k|0)==11)if((h|0)==(e|0)){h=I_(b,i,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=h;h=6;break}else if((k|0)==14)if((h|0)==(e|0)){c[g>>2]=i;h=7;break}else{c[g>>2]=h;h=6;break}else if((k|0)==17){if((h|0)!=(e|0)){c[g>>2]=h;h=6;break}if((i|0)==(f|0)){h=-3;break}c[g>>2]=(a[j+(d[i>>0]|0)>>0]|0)==10?e+2|0:i;h=7;break}else if((k|0)==21){c[g>>2]=f;h=6;break}}else h=-4;while(0);return h|0}function w_(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;g=b+76|0;a:while(1){f=a[c>>0]|0;b=d+1|0;e=c+1|0;switch(a[g+(f&255)>>0]|0){case 7:{h=3;break}case 6:{b=f;h=5;break}case 5:{b=f;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:if((a[d>>0]|0)==f<<24>>24){d=b;c=e;continue a}else{b=0;break a}default:{h=10;break a}}if((h|0)==3){h=0;if(f<<24>>24!=(a[d>>0]|0)){b=0;break}d=b;c=e;b=a[e>>0]|0;h=5}if((h|0)==5){h=0;e=c+1|0;if(b<<24>>24!=(a[d>>0]|0)){b=0;break}d=d+1|0;c=e;b=a[e>>0]|0}if(b<<24>>24!=(a[d>>0]|0)){b=0;break}if((a[c+1>>0]|0)==(a[d+1>>0]|0)){d=d+2|0;c=c+2|0}else{b=0;break}}b:do if((h|0)==10){b=a[d>>0]|0;if(f<<24>>24==b<<24>>24)b=1;else{switch(a[g+(b&255)>>0]|0){case 27:case 26:case 25:case 24:case 23:case 22:case 29:case 7:case 6:case 5:{b=0;break b}default:{}}b=1}}while(0);return b|0}function x_(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;b=c;while(1){c=a[e>>0]|0;f=(b|0)==(d|0);if(!(c<<24>>24)){g=6;break}if(f){b=0;break}if((a[b>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+1|0}if((g|0)==6)b=f&1;return b|0}function y_(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+76|0;b=c;a:while(1){switch(a[f+(d[b>>0]|0)>>0]|0){case 5:{e=2;break}case 6:{e=3;break}case 7:{e=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{e=1;break}default:break a}b=b+e|0}return b-c|0}function z_(b,c){b=b|0;c=c|0;b=b+76|0;a:while(1){switch(a[b+(d[c>>0]|0)>>0]|0){case 21:case 9:case 10:break;default:break a}c=c+1|0}return c|0}function A_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=b+76|0;u=0;v=0;b=1;a:while(1){h=e+1|0;s=a[h>>0]|0;t=v+1|0;i=(b|0)!=2;j=(b|0)==2;k=e+2|0;l=(v|0)<(f|0);m=(b|0)==1;n=g+(v<<4)+12|0;o=g+(v<<4)+4|0;p=g+(v<<4)|0;q=(b|0)==0;r=g+(v<<4)+8|0;do switch(a[w+(s&255)>>0]|0){case 5:{if(!q){r=b;s=v;t=u;e=k;b=r;v=s;u=t;continue a}if(!l){s=v;t=u;b=1;e=k;v=s;u=t;continue a}c[p>>2]=h;a[n>>0]=1;s=v;t=u;b=1;e=k;v=s;u=t;continue a}case 6:{if(q&l){c[p>>2]=h;a[n>>0]=1;b=1}else b=q?1:b;s=v;t=u;e=e+3|0;v=s;u=t;continue a}case 7:{if(q&l){c[p>>2]=h;a[n>>0]=1;b=1}else b=q?1:b;s=v;t=u;e=e+4|0;v=s;u=t;continue a}case 24:case 22:case 29:{if(!q){r=b;s=v;t=u;e=h;b=r;v=s;u=t;continue a}if(!l){s=v;t=u;b=1;e=h;v=s;u=t;continue a}c[p>>2]=h;a[n>>0]=1;s=v;t=u;b=1;e=h;v=s;u=t;continue a}case 12:{if(i){if(!l){t=v;u=12;b=2;e=h;v=t;continue a}c[o>>2]=k;t=v;u=12;b=2;e=h;v=t;continue a}if((u|0)!=12){s=v;t=u;b=2;e=h;v=s;u=t;continue a}if(!l){u=12;v=t;b=0;e=h;continue a}c[r>>2]=h;u=12;v=t;b=0;e=h;continue a}case 13:{if(i){if(!l){t=v;u=13;b=2;e=h;v=t;continue a}c[o>>2]=k;t=v;u=13;b=2;e=h;v=t;continue a}if((u|0)!=13){s=v;t=u;b=2;e=h;v=s;u=t;continue a}if(!l){u=13;v=t;b=0;e=h;continue a}c[r>>2]=h;u=13;v=t;b=0;e=h;continue a}case 3:{if(!l){r=b;s=v;t=u;e=h;b=r;v=s;u=t;continue a}a[n>>0]=0;r=b;s=v;t=u;e=h;b=r;v=s;u=t;continue a}case 21:{if(m){s=v;t=u;b=0;e=h;v=s;u=t;continue a}if(!j){r=b;s=v;t=u;e=h;b=r;v=s;u=t;continue a}if(!l){s=v;t=u;b=2;e=h;v=s;u=t;continue a}if(!(a[n>>0]|0)){s=v;t=u;b=2;e=h;v=s;u=t;continue a}if(((s<<24>>24==32?(h|0)!=(c[o>>2]|0):0)?(x=a[k>>0]|0,x<<24>>24!=32):0)?(d[w+(x&255)>>0]|0)!=(u|0):0){s=v;t=u;b=2;e=h;v=s;u=t;continue a}a[n>>0]=0;s=v;t=u;b=2;e=h;v=s;u=t;continue a}case 10:case 9:{if(m){s=v;t=u;b=0;e=h;v=s;u=t;continue a}if(!j){r=b;s=v;t=u;e=h;b=r;v=s;u=t;continue a}if(!l){s=v;t=u;b=2;e=h;v=s;u=t;continue a}a[n>>0]=0;s=v;t=u;b=2;e=h;v=s;u=t;continue a}case 17:case 11:if(i)break a;else{s=v;t=u;b=2;e=h;v=s;u=t;continue a}default:{r=b;s=v;t=u;e=h;b=r;v=s;u=t;continue a}}while(0)}return v|0}function B_(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+2|0;d=a[b>>0]|0;a:do if(d<<24>>24==120){d=c+3|0;b=0;while(1){b:while(1){e=a[d>>0]|0;c=e<<24>>24;if(e<<24>>24==59){e=14;break a}switch(c|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{e=7;break b}case 70:case 69:case 68:case 67:case 66:case 65:{e=8;break b}case 102:case 101:case 100:case 99:case 98:case 97:{e=9;break b}default:{}}d=d+1|0}if((e|0)==7){e=0;b=c+-48|b<<4}else if((e|0)==8){e=0;b=(b<<4)+-55+c|0}else if((e|0)==9){e=0;b=(b<<4)+-87+c|0}if((b|0)<1114112)d=d+1|0;else{b=-1;break}}}else{c=b;b=0;while(1){if(d<<24>>24==59){e=14;break a}b=(b*10|0)+-48+(d<<24>>24)|0;d=c+1|0;if((b|0)>=1114112){b=-1;break a}c=d;d=a[d>>0]|0}}while(0);if((e|0)==14)b=k_(b)|0;return b|0}function C_(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=c+1|0;f=c+2|0;a:do switch(d-c|0){case 2:{if((a[e>>0]|0)==116){b=a[c>>0]|0;b=b<<24>>24==108?60:b<<24>>24==103?62:0}else g=14;break}case 3:{if(((a[c>>0]|0)==97?(a[e>>0]|0)==109:0)?(a[f>>0]|0)==112:0)b=38;else g=14;break}case 4:{b=c+3|0;switch(a[c>>0]|0){case 113:{if((a[e>>0]|0)!=117){g=14;break a}if((a[f>>0]|0)!=111){g=14;break a}if((a[b>>0]|0)==116){b=34;break a}else{g=14;break a}}case 97:{if((a[e>>0]|0)!=112){g=14;break a}if((a[f>>0]|0)!=111){g=14;break a}if((a[b>>0]|0)==115){b=39;break a}else{g=14;break a}}default:{g=14;break a}}}default:g=14}while(0);if((g|0)==14)b=0;return b|0}function D_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=b+76|0;i=g+4|0;b=e;while(1){if(b>>>0>=f>>>0)break;e=b+1|0;switch(a[h+(d[b>>0]|0)>>0]|0){case 5:{b=b+2|0;break}case 6:{b=b+3|0;break}case 7:{b=b+4|0;break}case 10:{c[i>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;b=e;break}case 9:{c[g>>2]=(c[g>>2]|0)+1;if((e|0)==(f|0))b=f;else b=(a[h+(d[e>>0]|0)>>0]|0)==10?b+2|0:e;c[i>>2]=-1;break}default:b=e}c[i>>2]=(c[i>>2]|0)+1}return}function E_(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=e+-1|0;g=b+76|0;a:while(1){d=d+1|0;if((d|0)==(h|0)){d=1;break}b=a[d>>0]|0;e=b<<24>>24;switch(a[g+(b&255)>>0]|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:continue a;case 21:if(b<<24>>24==9){i=7;break a}else continue a;case 22:case 26:{if(b<<24>>24>=0)continue a;break}default:{}}switch(e|0){case 64:case 36:break;default:{i=7;break a}}}if((i|0)==7){c[f>>2]=d;d=0}return d|0}function F_(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=h;while(1){j=c[e>>2]|0;if((j|0)==(f|0))break;k=d[j>>0]|0;b=c[g>>2]|0;if(!(k&128)){if((b|0)==(h|0))break;c[e>>2]=j+1;j=a[j>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=j;continue}else{if((i-b|0)<2)break;c[g>>2]=b+1;a[b>>0]=k>>>6|192;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=k&63|128;c[e>>2]=(c[e>>2]|0)+1;continue}}return}function G_(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;while(1){a=c[e>>2]|0;if((a|0)==(f|0))break;if((c[g>>2]|0)==(h|0))break;c[e>>2]=a+1;i=d[a>>0]|0;a=c[g>>2]|0;c[g>>2]=a+2;b[a>>1]=i}return}function H_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){n=b+76|0;m=f;h=m-e|0;i=e+1|0;b:do switch(a[n+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;e=0;break a}case 24:case 22:break;case 5:{if((h|0)<2){e=-2;break a}if(!(vb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;e=0;break a}else{i=e+2|0;break b}}case 6:{if((h|0)<3){e=-2;break a}if(!(vb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;e=0;break a}else{i=e+3|0;break b}}case 7:{if((h|0)<4){e=-2;break a}if(!(vb[c[b+352>>2]&127](b,e)|0)){c[g>>2]=e;e=0;break a}else{i=e+4|0;break b}}case 19:{e=J_(b,i,f,g)|0;break a}default:{c[g>>2]=e;e=0;break a}}while(0);h=b+332|0;j=b+336|0;k=b+340|0;c:while(1){if((i|0)==(f|0)){e=-1;break a}l=i+1|0;e=m-i|0;switch(a[n+(d[i>>0]|0)>>0]|0){case 27:case 26:case 25:case 24:case 22:{i=l;continue c}case 29:{h=21;break c}case 18:{h=34;break c}case 5:{if((e|0)<2){e=-2;break a}if(!(vb[c[h>>2]&127](b,i)|0)){h=24;break c}i=i+2|0;continue c}case 6:{if((e|0)<3){e=-2;break a}if(!(vb[c[j>>2]&127](b,i)|0)){h=28;break c}i=i+3|0;continue c}case 7:{if((e|0)<4){e=-2;break a}if(!(vb[c[k>>2]&127](b,i)|0)){h=32;break c}i=i+4|0;continue c}default:{h=35;break c}}}if((h|0)==21){c[g>>2]=i;e=0;break}else if((h|0)==24){c[g>>2]=i;e=0;break}else if((h|0)==28){c[g>>2]=i;e=0;break}else if((h|0)==32){c[g>>2]=i;e=0;break}else if((h|0)==34){c[g>>2]=l;e=9;break}else if((h|0)==35){c[g>>2]=i;e=0;break}}else e=-1;while(0);return e|0}function I_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:do if((e|0)!=(f|0)){o=b+76|0;n=f;h=n-e|0;switch(a[o+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;h=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=2;break}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=3;break}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[b+352>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=4;break}case 30:case 9:case 10:case 21:{c[g>>2]=e;h=22;break a}default:{c[g>>2]=e;h=0;break a}}k=b+332|0;l=b+336|0;m=b+340|0;i=e+h|0;b:while(1){if((i|0)==(f|0)){h=-1;break a}j=i+1|0;h=n-i|0;switch(a[o+(d[i>>0]|0)>>0]|0){case 27:case 26:case 25:case 24:case 22:{i=j;continue b}case 29:{e=18;break b}case 18:{e=31;break b}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[k>>2]&127](b,i)|0)){e=21;break b}i=i+2|0;continue b}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[l>>2]&127](b,i)|0)){e=25;break b}i=i+3|0;continue b}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[m>>2]&127](b,i)|0)){e=29;break b}i=i+4|0;continue b}default:{e=32;break b}}}if((e|0)==18){c[g>>2]=i;h=0;break}else if((e|0)==21){c[g>>2]=i;h=0;break}else if((e|0)==25){c[g>>2]=i;h=0;break}else if((e|0)==29){c[g>>2]=i;h=0;break}else if((e|0)==31){c[g>>2]=j;h=28;break}else if((e|0)==32){c[g>>2]=i;h=0;break}}else h=-1;while(0);return h|0}function J_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;a:do if((e|0)!=(f|0)){i=a[e>>0]|0;h=e+1|0;if(i<<24>>24==120){h=K_(b,h,f,g)|0;break}b=b+76|0;if((a[b+(i&255)>>0]|0)!=25){c[g>>2]=e;h=0;break}b:while(1){if((h|0)==(f|0)){h=-1;break a}e=h+1|0;switch(a[b+(d[h>>0]|0)>>0]|0){case 25:{h=e;break}case 18:{b=8;break b}default:{b=9;break b}}}if((b|0)==8){c[g>>2]=e;h=10;break}else if((b|0)==9){c[g>>2]=h;h=0;break}}else h=-1;while(0);return h|0}function K_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;a:do if((e|0)!=(f|0)){i=b+76|0;if((a[i+(d[e>>0]|0)>>0]&-2)<<24>>24!=24){c[g>>2]=e;b=0;break}b=e+1|0;b:while(1){if((b|0)==(f|0)){b=-1;break a}h=b+1|0;switch(a[i+(d[b>>0]|0)>>0]|0){case 24:case 25:{b=h;break}case 18:{e=7;break b}default:{e=8;break b}}}if((e|0)==7){c[g>>2]=h;b=10;break}else if((e|0)==8){c[g>>2]=b;b=0;break}}else b=-1;while(0);return b|0}function L_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a:do if((e|0)!=(f|0)){r=b+76|0;n=b+344|0;o=f;h=e+1|0;p=b+352|0;q=b+348|0;i=o-e|0;b:do switch(a[r+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;h=0;break a}case 24:case 22:break;case 5:{if((i|0)<2){h=-2;break a}if(!(vb[c[n>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=e+2|0;break b}}case 6:{if((i|0)<3){h=-2;break a}if(!(vb[c[q>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=e+3|0;break b}}case 7:{if((i|0)<4){h=-2;break a}if(!(vb[c[p>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=e+4|0;break b}}case 16:{if((h|0)==(f|0)){h=-1;break a}e=e+2|0;switch(a[r+(d[h>>0]|0)>>0]|0){case 27:{h=M_(b,e,f,g)|0;break a}case 20:{h=N_(e,f,g)|0;break a}default:{c[g>>2]=h;h=0;break a}}}case 15:{h=O_(b,h,f,g)|0;break a}case 17:{h=P_(b,h,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}while(0);k=b+332|0;l=b+336|0;m=b+340|0;i=0;c:while(1){if((h|0)==(f|0)){h=-1;break a}j=h+1|0;e=o-h|0;switch(a[r+(d[h>>0]|0)>>0]|0){case 27:case 26:case 25:case 24:case 22:{e=i;h=j;i=e;continue c}case 29:{s=27;break c}case 10:case 9:case 21:{h=j;s=59;break c}case 11:{s=76;break c}case 17:break c;case 5:{if((e|0)<2){h=-2;break a}if(!(vb[c[k>>2]&127](b,h)|0)){s=30;break c}j=i;h=h+2|0;i=j;continue c}case 6:{if((e|0)<3){h=-2;break a}if(!(vb[c[l>>2]&127](b,h)|0)){s=34;break c}j=i;h=h+3|0;i=j;continue c}case 7:{if((e|0)<4){h=-2;break a}if(!(vb[c[m>>2]&127](b,h)|0)){s=38;break c}j=i;h=h+4|0;i=j;continue c}case 23:{if(i|0){s=41;break c}if((j|0)==(f|0)){h=-1;break a}e=o-j|0;switch(a[r+(d[j>>0]|0)>>0]|0){case 29:{s=44;break c}case 24:case 22:{i=1;h=h+2|0;continue c}case 5:{if((e|0)<2){h=-2;break a}if(!(vb[c[n>>2]&127](b,j)|0)){s=48;break c}i=1;h=h+3|0;continue c}case 6:{if((e|0)<3){h=-2;break a}if(!(vb[c[q>>2]&127](b,j)|0)){s=52;break c}i=1;h=h+4|0;continue c}case 7:{if((e|0)<4){h=-2;break a}if(!(vb[c[p>>2]&127](b,j)|0)){s=56;break c}i=1;h=h+5|0;continue c}default:{s=58;break c}}}default:{s=81;break c}}}d:switch(s|0){case 27:{c[g>>2]=h;h=0;break a}case 30:{c[g>>2]=h;h=0;break a}case 34:{c[g>>2]=h;h=0;break a}case 38:{c[g>>2]=h;h=0;break a}case 41:{c[g>>2]=h;h=0;break a}case 44:{c[g>>2]=j;h=0;break a}case 48:{c[g>>2]=j;h=0;break a}case 52:{c[g>>2]=j;h=0;break a}case 56:{c[g>>2]=j;h=0;break a}case 58:{c[g>>2]=j;h=0;break a}case 59:{e:while(1){s=0;if((h|0)==(f|0)){h=-1;break a}e=h+1|0;switch(a[r+(d[h>>0]|0)>>0]|0){case 11:{s=76;break d}case 17:break d;case 10:case 9:case 21:{h=e;s=59;break}case 29:{s=61;break e}case 24:case 22:{h=e;break e}case 5:{s=62;break e}case 6:{s=66;break e}case 7:{s=70;break e}default:{s=74;break e}}}do if((s|0)==61){c[g>>2]=h;h=0;break a}else if((s|0)==62){if((o-h|0)<2){h=-2;break a}if(!(vb[c[n>>2]&127](b,h)|0)){c[g>>2]=h;h=0;break a}else{h=h+2|0;break}}else if((s|0)==66){if((o-h|0)<3){h=-2;break a}if(!(vb[c[q>>2]&127](b,h)|0)){c[g>>2]=h;h=0;break a}else{h=h+3|0;break}}else if((s|0)==70){if((o-h|0)<4){h=-2;break a}if(!(vb[c[p>>2]&127](b,h)|0)){c[g>>2]=h;h=0;break a}else{h=h+4|0;break}}else if((s|0)==74){c[g>>2]=h;h=0;break a}while(0);h=Q_(b,h,f,g)|0;break a}case 81:{c[g>>2]=h;h=0;break a}}if((s|0)==76){c[g>>2]=h+1;h=2;break}e=h+1|0;if((e|0)!=(f|0))if((a[e>>0]|0)==62){c[g>>2]=h+2;h=4;break}else{c[g>>2]=e;h=0;break}else h=-1}else h=-1;while(0);return h|0}function M_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){if((a[e>>0]|0)!=45){c[g>>2]=e;e=0;break}l=b+76|0;m=f;i=b+356|0;j=b+360|0;k=b+364|0;n=e+1|0;b:while(1){if((n|0)==(f|0)){e=-1;break a}e=n+1|0;h=m-n|0;switch(a[l+(d[n>>0]|0)>>0]|0){case 8:case 1:case 0:{h=19;break b}case 5:{if((h|0)<2){e=-2;break a}if(vb[c[i>>2]&127](b,n)|0){h=9;break b}n=n+2|0;continue b}case 6:{if((h|0)<3){e=-2;break a}if(vb[c[j>>2]&127](b,n)|0){h=13;break b}n=n+3|0;continue b}case 7:{if((h|0)<4){e=-2;break a}if(vb[c[k>>2]&127](b,n)|0){h=17;break b}n=n+4|0;continue b}case 27:{if((e|0)==(f|0)){e=-1;break a}if((a[e>>0]|0)==45){h=22;break b}else{n=e;continue b}}default:{n=e;continue b}}}if((h|0)==9){c[g>>2]=n;e=0;break}else if((h|0)==13){c[g>>2]=n;e=0;break}else if((h|0)==17){c[g>>2]=n;e=0;break}else if((h|0)==19){c[g>>2]=n;e=0;break}else if((h|0)==22){e=n+2|0;if((e|0)==(f|0)){e=-1;break}if((a[e>>0]|0)==62){c[g>>2]=n+3;e=13;break}else{c[g>>2]=e;e=0;break}}}else e=-1;while(0);return e|0}function N_(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)<6)d=-1;else{d=0;while(1){if((d|0)>=6){d=8;break}if((a[b>>0]|0)!=(a[144449+d>>0]|0)){d=0;break}d=d+1|0;b=b+1|0}c[e>>2]=b}return d|0}function O_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;q=s;a:do if((e|0)==(f|0))h=-1;else{r=b+76|0;p=f;h=p-e|0;switch(a[r+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;h=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=2;break}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=3;break}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[b+352>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=4;break}default:{c[g>>2]=e;h=0;break a}}k=b+332|0;m=b+336|0;n=b+340|0;h=e+h|0;b:while(1){if((h|0)==(f|0)){h=-1;break a}j=h+1|0;i=p-h|0;switch(a[r+(d[h>>0]|0)>>0]|0){case 27:case 26:case 25:case 24:case 22:{h=j;continue b}case 29:{o=17;break b}case 10:case 9:case 21:{o=30;break b}case 15:{o=51;break b}case 5:{if((i|0)<2){h=-2;break a}if(!(vb[c[k>>2]&127](b,h)|0)){o=20;break b}h=h+2|0;continue b}case 6:{if((i|0)<3){h=-2;break a}if(!(vb[c[m>>2]&127](b,h)|0)){o=24;break b}h=h+3|0;continue b}case 7:{if((i|0)<4){h=-2;break a}if(!(vb[c[n>>2]&127](b,h)|0)){o=28;break b}h=h+4|0;continue b}default:break b}}if((o|0)==17){c[g>>2]=h;h=0;break}else if((o|0)==20){c[g>>2]=h;h=0;break}else if((o|0)==24){c[g>>2]=h;h=0;break}else if((o|0)==28){c[g>>2]=h;h=0;break}else if((o|0)==30){if(!(R_(e,h,q)|0)){c[g>>2]=h;h=0;break}k=b+356|0;m=b+360|0;n=b+364|0;c:while(1){if((j|0)==(f|0)){h=-1;break a}h=j+1|0;i=p-j|0;switch(a[r+(d[j>>0]|0)>>0]|0){case 8:case 1:case 0:{o=47;break c}case 5:{if((i|0)<2){h=-2;break a}if(vb[c[k>>2]&127](b,j)|0){o=37;break c}j=j+2|0;continue c}case 6:{if((i|0)<3){h=-2;break a}if(vb[c[m>>2]&127](b,j)|0){o=41;break c}j=j+3|0;continue c}case 7:{if((i|0)<4){h=-2;break a}if(vb[c[n>>2]&127](b,j)|0){o=45;break c}j=j+4|0;continue c}case 15:{if((h|0)==(f|0)){h=-1;break a}if((a[h>>0]|0)==62){o=50;break c}else{j=h;continue c}}default:{j=h;continue c}}}if((o|0)==37){c[g>>2]=j;h=0;break}else if((o|0)==41){c[g>>2]=j;h=0;break}else if((o|0)==45){c[g>>2]=j;h=0;break}else if((o|0)==47){c[g>>2]=j;h=0;break}else if((o|0)==50){c[g>>2]=j+2;h=c[q>>2]|0;break}}else if((o|0)==51){if(!(R_(e,h,q)|0)){c[g>>2]=h;h=0;break}if((j|0)==(f|0)){h=-1;break}if((a[j>>0]|0)==62){c[g>>2]=h+2;h=c[q>>2]|0;break}else h=j}c[g>>2]=h;h=0}while(0);l=s;return h|0}function P_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){n=b+76|0;m=f;h=m-e|0;switch(a[n+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;h=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=2;break}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=3;break}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[b+352>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=4;break}default:{c[g>>2]=e;h=0;break a}}i=b+332|0;k=b+336|0;l=b+340|0;j=e+h|0;b:while(1){if((j|0)==(f|0)){h=-1;break a}h=j+1|0;e=m-j|0;switch(a[n+(d[j>>0]|0)>>0]|0){case 23:case 27:case 26:case 25:case 24:case 22:{j=h;continue b}case 29:{i=17;break b}case 10:case 9:case 21:{i=30;break b}case 11:{i=34;break b}case 5:{if((e|0)<2){h=-2;break a}if(!(vb[c[i>>2]&127](b,j)|0)){i=20;break b}j=j+2|0;continue b}case 6:{if((e|0)<3){h=-2;break a}if(!(vb[c[k>>2]&127](b,j)|0)){i=24;break b}j=j+3|0;continue b}case 7:{if((e|0)<4){h=-2;break a}if(!(vb[c[l>>2]&127](b,j)|0)){i=28;break b}j=j+4|0;continue b}default:{i=35;break b}}}if((i|0)==17){c[g>>2]=j;h=0;break}else if((i|0)==20){c[g>>2]=j;h=0;break}else if((i|0)==24){c[g>>2]=j;h=0;break}else if((i|0)==28){c[g>>2]=j;h=0;break}else if((i|0)==30){c:while(1){if((h|0)==(f|0)){h=-1;break a}e=h+1|0;switch(a[n+(d[h>>0]|0)>>0]|0){case 10:case 9:case 21:{h=e;i=30;break}case 11:{i=32;break c}default:{i=33;break c}}}if((i|0)==32){c[g>>2]=e;h=5;break}else if((i|0)==33){c[g>>2]=h;h=0;break}}else if((i|0)==34){c[g>>2]=h;h=5;break}else if((i|0)==35){c[g>>2]=j;h=0;break}}else h=-1;while(0);return h|0}function Q_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+16|0;x=z;c[x>>2]=e;s=b+76|0;t=b+344|0;u=b+348|0;v=f;w=b+352|0;m=b+332|0;n=b+336|0;o=b+340|0;p=b+356|0;q=b+360|0;r=b+364|0;i=0;a:while(1){if((e|0)==(f|0)){e=-1;break}h=v-e|0;j=e+1|0;b:do switch(a[s+(d[e>>0]|0)>>0]|0){case 29:{y=4;break a}case 27:case 26:case 25:case 24:case 22:{c[x>>2]=j;k=i;e=j;i=k;continue a}case 5:{if((h|0)<2){e=-2;break a}if(!(vb[c[m>>2]&127](b,e)|0)){y=8;break a}j=e+2|0;c[x>>2]=j;k=i;e=j;i=k;continue a}case 6:{if((h|0)<3){e=-2;break a}if(!(vb[c[n>>2]&127](b,e)|0)){y=12;break a}j=e+3|0;c[x>>2]=j;k=i;e=j;i=k;continue a}case 7:{if((h|0)<4){e=-2;break a}if(!(vb[c[o>>2]&127](b,e)|0)){y=16;break a}j=e+4|0;c[x>>2]=j;k=i;e=j;i=k;continue a}case 23:{if(i|0){y=19;break a}c[x>>2]=j;if((j|0)==(f|0)){e=-1;break a}h=v-j|0;switch(a[s+(d[j>>0]|0)>>0]|0){case 29:{y=22;break a}case 24:case 22:{k=e+2|0;c[x>>2]=k;i=1;e=k;continue a}case 5:{if((h|0)<2){e=-2;break a}if(!(vb[c[t>>2]&127](b,j)|0)){y=26;break a}k=e+3|0;c[x>>2]=k;i=1;e=k;continue a}case 6:{if((h|0)<3){e=-2;break a}if(!(vb[c[u>>2]&127](b,j)|0)){y=30;break a}k=e+4|0;c[x>>2]=k;i=1;e=k;continue a}case 7:{if((h|0)<4){e=-2;break a}if(!(vb[c[w>>2]&127](b,j)|0)){y=34;break a}k=e+5|0;c[x>>2]=k;i=1;e=k;continue a}default:{y=36;break a}}}case 10:case 9:case 21:while(1){e=e+1|0;c[x>>2]=e;if((e|0)==(f|0)){e=-1;break a}switch(a[s+(d[e>>0]|0)>>0]|0){case 14:break b;case 9:case 10:case 21:break;default:{y=39;break a}}}case 14:break;default:{y=92;break a}}while(0);while(1){h=e+1|0;c[x>>2]=h;if((h|0)==(f|0)){e=-1;break a}k=a[s+(d[h>>0]|0)>>0]|0;if((k|1)<<24>>24==13)break;switch(k<<24>>24){case 9:case 10:case 21:{e=h;break}default:{y=43;break a}}}e=e+2|0;c[x>>2]=e;c:while(1){if((e|0)==(f|0)){e=-1;break a}h=a[s+(d[e>>0]|0)>>0]|0;if(h<<24>>24==k<<24>>24)break;i=e+1|0;j=v-e|0;switch(h<<24>>24){case 8:case 1:case 0:{y=60;break a}case 2:{y=65;break a}case 5:{if((j|0)<2){e=-2;break a}if(vb[c[p>>2]&127](b,e)|0){y=50;break a}j=e+2|0;c[x>>2]=j;e=j;continue c}case 6:{if((j|0)<3){e=-2;break a}if(vb[c[q>>2]&127](b,e)|0){y=54;break a}j=e+3|0;c[x>>2]=j;e=j;continue c}case 7:{if((j|0)<4){e=-2;break a}if(vb[c[r>>2]&127](b,e)|0){y=58;break a}j=e+4|0;c[x>>2]=j;e=j;continue c}case 3:{e=H_(b,i,f,x)|0;if((e|0)<1){y=63;break a}e=c[x>>2]|0;continue c}default:{c[x>>2]=i;e=i;continue c}}}h=e+1|0;c[x>>2]=h;if((h|0)==(f|0)){e=-1;break}switch(a[s+(d[h>>0]|0)>>0]|0){case 11:{y=86;break a}case 17:{y=87;break a}case 10:case 9:case 21:{e=h;break}default:{y=69;break a}}d:while(1){h=e+1|0;c[x>>2]=h;if((h|0)==(f|0)){e=-1;break a}switch(a[s+(d[h>>0]|0)>>0]|0){case 29:{y=72;break a}case 11:{y=86;break a}case 17:{y=87;break a}case 10:case 9:case 21:{e=h;break}case 24:case 22:{y=73;break d}case 5:{y=74;break d}case 6:{y=78;break d}case 7:{y=82;break d}default:{y=91;break a}}}if((y|0)==73){y=0;e=e+2|0;c[x>>2]=e;i=0;continue}else if((y|0)==74){y=0;if((v-h|0)<2){e=-2;break}if(!(vb[c[t>>2]&127](b,h)|0)){y=76;break}e=e+3|0;c[x>>2]=e;i=0;continue}else if((y|0)==78){y=0;if((v-h|0)<3){e=-2;break}if(!(vb[c[u>>2]&127](b,h)|0)){y=80;break}e=e+4|0;c[x>>2]=e;i=0;continue}else if((y|0)==82){y=0;if((v-h|0)<4){e=-2;break}if(!(vb[c[w>>2]&127](b,h)|0)){y=84;break}e=e+5|0;c[x>>2]=e;i=0;continue}}switch(y|0){case 4:{c[g>>2]=e;e=0;break}case 8:{c[g>>2]=e;e=0;break}case 12:{c[g>>2]=e;e=0;break}case 16:{c[g>>2]=e;e=0;break}case 19:{c[g>>2]=e;e=0;break}case 22:{c[g>>2]=j;e=0;break}case 26:{c[g>>2]=j;e=0;break}case 30:{c[g>>2]=j;e=0;break}case 34:{c[g>>2]=j;e=0;break}case 36:{c[g>>2]=j;e=0;break}case 39:{c[g>>2]=e;e=0;break}case 43:{c[g>>2]=h;e=0;break}case 50:{c[g>>2]=e;e=0;break}case 54:{c[g>>2]=e;e=0;break}case 58:{c[g>>2]=e;e=0;break}case 60:{c[g>>2]=e;e=0;break}case 63:{if(!e){c[g>>2]=c[x>>2];e=0}break}case 65:{c[g>>2]=e;e=0;break}case 69:{c[g>>2]=h;e=0;break}case 72:{c[g>>2]=h;e=0;break}case 76:{c[g>>2]=h;e=0;break}case 80:{c[g>>2]=h;e=0;break}case 84:{c[g>>2]=h;e=0;break}case 86:{c[g>>2]=e+2;e=1;break}case 87:{e=h+1|0;c[x>>2]=e;if((e|0)!=(f|0))if((a[e>>0]|0)==62){c[g>>2]=h+2;e=3;break}else{c[g>>2]=e;e=0;break}else e=-1;break}case 91:{c[g>>2]=h;e=0;break}case 92:{c[g>>2]=e;e=0;break}}l=z;return e|0}function R_(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==3){switch(a[b>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}switch(a[b+1>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}switch(a[b+2>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1;while(0);return d|0}function S_(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=e+76|0;m=g;n=e+356|0;o=e+360|0;p=e+364|0;a:while(1){if((f|0)==(g|0)){f=-1;break}i=a[l+(d[f>>0]|0)>>0]|0;j=f+1|0;k=m-f|0;switch(i<<24>>24){case 8:case 1:case 0:{q=16;break a}case 5:{if((k|0)<2){f=-2;break a}if(vb[c[n>>2]&127](e,f)|0){q=6;break a}f=f+2|0;continue a}case 6:{if((k|0)<3){f=-2;break a}if(vb[c[o>>2]&127](e,f)|0){q=10;break a}f=f+3|0;continue a}case 7:{if((k|0)<4){f=-2;break a}if(vb[c[p>>2]&127](e,f)|0){q=14;break a}f=f+4|0;continue a}case 13:case 12:if((i&255|0)==(b|0)){q=18;break a}else{f=j;continue a}default:{f=j;continue a}}}b:do if((q|0)==6){c[h>>2]=f;f=0}else if((q|0)==10){c[h>>2]=f;f=0}else if((q|0)==14){c[h>>2]=f;f=0}else if((q|0)==16){c[h>>2]=f;f=0}else if((q|0)==18)if((j|0)==(g|0))f=-27;else{c[h>>2]=j;switch(a[l+(d[j>>0]|0)>>0]|0){case 20:case 30:case 11:case 10:case 9:case 21:{f=27;break b}default:{}}f=0}while(0);return f|0}function T_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if((e|0)==(f|0))h=-1;else{i=b+76|0;h=e+1|0;switch(a[i+(d[e>>0]|0)>>0]|0){case 27:{h=M_(b,h,f,g)|0;break a}case 20:{c[g>>2]=h;h=33;break a}case 24:case 22:{b:while(1){if((h|0)==(f|0)){h=-1;break a}b=h+1|0;switch(a[i+(d[h>>0]|0)>>0]|0){case 24:case 22:{h=b;break}case 30:{j=8;break b}case 10:case 9:case 21:break b;default:{j=12;break b}}}if((j|0)==12){c[g>>2]=h;h=0;break a}c:do if((j|0)==8){if((b|0)==(f|0)){h=-1;break a}switch(a[i+(d[b>>0]|0)>>0]|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=h;h=0;break a}while(0);c[g>>2]=h;h=16;break a}default:{c[g>>2]=e;h=0;break a}}}while(0);return h|0}function U_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){n=b+76|0;m=f;h=m-e|0;switch(a[n+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;h=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=2;break}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=3;break}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[b+352>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=4;break}default:{c[g>>2]=e;h=0;break a}}j=b+332|0;k=b+336|0;l=b+340|0;i=e+h|0;b:while(1){if((i|0)==(f|0)){h=-20;break a}h=m-i|0;switch(a[n+(d[i>>0]|0)>>0]|0){case 29:{e=17;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{e=28;break b}case 27:case 26:case 25:case 24:case 22:{h=1;break}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[j>>2]&127](b,i)|0)){e=20;break b}else h=2;break}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[k>>2]&127](b,i)|0)){e=23;break b}else h=3;break}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[l>>2]&127](b,i)|0)){e=26;break b}else h=4;break}default:{e=29;break b}}i=i+h|0}if((e|0)==17){c[g>>2]=i;h=0;break}else if((e|0)==20){c[g>>2]=i;h=0;break}else if((e|0)==23){c[g>>2]=i;h=0;break}else if((e|0)==26){c[g>>2]=i;h=0;break}else if((e|0)==28){c[g>>2]=i;h=20;break}else if((e|0)==29){c[g>>2]=i;h=0;break}}else h=-1;while(0);return h|0}function V_(){return 58448}function W_(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=c[d>>2]|0;b=c[f>>2]|0;g=g-b|0;a:do if((e-h|0)>(g|0)){e=h+g|0;while(1){if(e>>>0<=h>>>0)break a;g=e+-1|0;if((a[g>>0]&-64)<<24>>24==-128)e=g;else break}}while(0);while(1){if((h|0)==(e|0))break;a[b>>0]=a[h>>0]|0;h=h+1|0;b=b+1|0}c[d>>2]=e;c[f>>2]=b;return}function X_(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=d+76|0;d=c[g>>2]|0;i=c[e>>2]|0;a:while(1){if((i|0)==(f|0)|(d|0)==(h|0))break;j=a[i>>0]|0;k=i+1|0;l=d+2|0;m=i+3|0;n=j<<24>>24;o=i+2|0;switch(a[p+(j&255)>>0]|0){case 5:{b[d>>1]=a[k>>0]&63|n<<6&1984;d=l;i=o;continue a}case 6:{b[d>>1]=(a[k>>0]&63)<<6|n<<12|a[o>>0]&63;d=l;i=m;continue a}case 7:{if((l|0)==(h|0))break a;o=((a[k>>0]&63)<<12|n<<18&1835008|(a[o>>0]&63)<<6|a[m>>0]&63)+-65536|0;b[d>>1]=o>>>10|55296;b[l>>1]=o&1023|56320;d=d+4|0;i=i+4|0;continue a}default:{b[d>>1]=j<<24>>24;d=l;i=k;continue a}}}c[e>>2]=i;c[g>>2]=d;return}function Y_(a,b){a=a|0;b=b|0;a=d[b>>0]|0;b=d[b+1>>0]|0;return 1<<(b&31)&c[57168+(((d[144193+(a>>>2&7)>>0]|0)<<3|a<<1&6|b>>>5&1)<<2)>>2]|0}function Z_(b,e){b=b|0;e=e|0;var f=0;f=d[e+1>>0]|0;b=d[e+2>>0]|0;return 1<<(b&31)&c[57168+(((d[144193+(f>>>2&15|a[e>>0]<<4&255)>>0]|0)<<3|f<<1&6|b>>>5&1)<<2)>>2]|0}function __(a,b){a=a|0;b=b|0;return 0}function $_(a,b){a=a|0;b=b|0;a=d[b>>0]|0;b=d[b+1>>0]|0;return 1<<(b&31)&c[57168+(((d[143937+(a>>>2&7)>>0]|0)<<3|a<<1&6|b>>>5&1)<<2)>>2]|0}function a$(b,e){b=b|0;e=e|0;var f=0;f=d[e+1>>0]|0;b=d[e+2>>0]|0;return 1<<(b&31)&c[57168+(((d[143937+(f>>>2&15|a[e>>0]<<4&255)>>0]|0)<<3|f<<1&6|b>>>5&1)<<2)>>2]|0}function b$(a,b){a=a|0;b=b|0;if((d[b>>0]|0)<194)a=1;else{a=d[b+1>>0]|0;a=(a&128|0)==0|(a&192|0)==192}return a&1|0}function c$(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=a[c+2>>0]|0;e=d&255;do if(!(e&128))b=1;else{f=a[c>>0]|0;b=c+1|0;if(f<<24>>24==-17?(a[b>>0]|0)==-65:0)if((d&255)>189){b=1;break}else{b=191;d=-65;c=0}else{if((e&192|0)==192){b=1;break}d=a[b>>0]|0;b=d&255;c=(b&192|0)==192;if(f<<24>>24==-32){b=(d&255)<160|c;break}}b=(b&128|0)==0|(f<<24>>24==-19?(d&255)>159:c)}while(0);return b&1|0}function d$(b,c){b=b|0;c=c|0;var e=0,f=0;f=d[c+3>>0]|0;do if(!((f&128|0)==0|(f&192|0)==192)?(f=d[c+2>>0]|0,!((f&128|0)==0|(f&192|0)==192)):0){f=a[c>>0]|0;b=a[c+1>>0]|0;c=b&255;e=(c&192|0)==192;if(f<<24>>24==-16){b=(b&255)<144|e;break}else{b=(c&128|0)==0|(f<<24>>24==-12?(b&255)>143:e);break}}else b=1;while(0);return b&1|0}function e$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((e|0)!=(f|0)){h=e;p=f-h|0;o=(p&1|0)==0;p=p&-2;q=(p|0)==0;p=o|q?f:e+p|0;if(o|q^1){i=a[e+1>>0]|0;q=b+76|0;m=a[e>>0]|0;if(!(i<<24>>24))l=d[q+(m&255)>>0]|0;else l=v$(i,m)|0;j=e+2|0;o=p;k=e+3|0;f=o-h|0;h=(j|0)==(p|0);n=e+4|0;do switch(l|0){case 12:{f=H$(12,b,j,p,g)|0;break a}case 13:{f=H$(13,b,j,p,g)|0;break a}case 2:{if(h){f=-1;break a}f=a[k>>0]|0;h=a[j>>0]|0;if(!(f<<24>>24))f=d[q+(h&255)>>0]|0;else f=v$(f,h)|0;switch(f|0){case 16:{f=I$(b,n,p,g)|0;break a}case 15:{f=D$(b,n,p,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;f=29;break a}default:{c[g>>2]=j;f=0;break a}}}case 9:{if(h){c[g>>2]=p;f=-15;break a}else h=20;break}case 10:case 21:{h=20;break}case 30:{f=x$(b,j,p,g)|0;break a}case 35:{c[g>>2]=j;f=38;break a}case 20:{c[g>>2]=j;f=25;break a}case 4:{if(h){f=-26;break a}if((a[k>>0]|0)==0?(a[j>>0]|0)==93:0){if((n|0)==(p|0)){f=-1;break a}if((a[e+5>>0]|0)==0?(a[n>>0]|0)==62:0){c[g>>2]=e+6;f=34;break a}}c[g>>2]=j;f=26;break a}case 31:{c[g>>2]=j;f=23;break a}case 32:{if(h){f=-24;break a}f=a[k>>0]|0;h=a[j>>0]|0;if(!(f<<24>>24))f=d[q+(h&255)>>0]|0;else f=v$(f,h)|0;switch(f|0){case 33:{c[g>>2]=n;f=36;break a}case 15:{c[g>>2]=n;f=35;break a}case 34:{c[g>>2]=n;f=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=j;f=24;break a}default:{c[g>>2]=j;f=0;break a}}}case 36:{c[g>>2]=j;f=21;break a}case 11:{c[g>>2]=j;f=17;break a}case 19:{f=J$(b,j,p,g)|0;break a}case 5:{if((f|0)<2){f=-2;break a}c[g>>2]=e;f=0;break a}case 6:{if((f|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((f|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 24:case 22:{f=18;h=63;break}case 23:case 27:case 26:case 25:{f=19;h=63;break}case 29:{i=i&255;h=m&255;f=h>>>5;h=1<<(h&31);if(!(h&c[57168+((f|d[143937+i>>0]<<3)<<2)>>2]))if(!(c[57168+((d[144193+i>>0]<<3|f)<<2)>>2]&h))h=62;else{f=19;h=63}else{f=18;h=63}break}default:h=62}while(0);if((h|0)==20){b:while(1){i=e;e=e+2|0;if((e|0)==(p|0)){h=27;break}f=a[i+3>>0]|0;h=a[e>>0]|0;if(!(f<<24>>24))f=d[q+(h&255)>>0]|0;else f=v$(f,h)|0;switch(f|0){case 10:case 21:{h=20;continue b}case 9:break;default:{h=26;break b}}if((i+4|0)==(p|0)){h=26;break}else h=20}if((h|0)==26){c[g>>2]=e;f=15;break}else if((h|0)==27){c[g>>2]=p;f=15;break}}else if((h|0)==62){c[g>>2]=e;f=0;break}else if((h|0)==63){c:while(1){if((j|0)==(p|0)){h=103;break}h=a[j+1>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))e=d[q+(i&255)>>0]|0;else e=v$(h,i)|0;k=j+2|0;switch(e|0){case 27:case 26:case 25:case 24:case 22:{h=f;j=k;f=h;h=63;continue c}case 5:{h=70;break c}case 6:{h=72;break c}case 7:{h=74;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{h=76;break c}case 34:{h=93;break c}case 33:{h=96;break c}case 15:{h=99;break c}case 29:{n=i&255;if(!(1<<(n&31)&c[57168+((n>>>5|d[144193+(h&255)>>0]<<3)<<2)>>2])){h=69;break c}else{h=f;j=k;f=h;h=63;continue c}}case 23:break;default:{h=102;break c}}switch(f&63){case 18:break;case 41:{f=19;j=k;h=63;continue c}default:{h=f;j=k;f=h;h=63;continue c}}if((k|0)==(p|0)){f=-1;break a}f=a[j+3>>0]|0;h=a[k>>0]|0;if(!(f<<24>>24))i=d[q+(h&255)>>0]|0;else i=v$(f,h)|0;switch(i|0){case 5:{h=86;break c}case 6:{h=88;break c}case 7:{h=90;break c}case 29:{n=h&255;if(!(1<<(n&31)&c[57168+((n>>>5|d[144193+(f&255)>>0]<<3)<<2)>>2])){h=84;break c}break}case 27:case 26:case 25:case 24:case 22:break;default:{f=19;j=k;h=63;continue c}}f=41;j=j+4|0;h=63}switch(h|0){case 69:{c[g>>2]=j;f=0;break a}case 70:{if((o-j|0)<2){f=-2;break a}c[g>>2]=j;f=0;break a}case 72:{if((o-j|0)<3){f=-2;break a}c[g>>2]=j;f=0;break a}case 74:{if((o-j|0)<4){f=-2;break a}c[g>>2]=j;f=0;break a}case 76:{c[g>>2]=j;break a}case 84:{c[g>>2]=k;f=0;break a}case 86:{if((o-k|0)<2){f=-2;break a}c[g>>2]=k;f=0;break a}case 88:{if((o-k|0)<3){f=-2;break a}c[g>>2]=k;f=0;break a}case 90:{if((o-k|0)<4){f=-2;break a}c[g>>2]=k;f=0;break a}case 93:if((f|0)==19){c[g>>2]=j;f=0;break a}else{c[g>>2]=k;f=32;break a}case 96:if((f|0)==19){c[g>>2]=j;f=0;break a}else{c[g>>2]=k;f=31;break a}case 99:if((f|0)==19){c[g>>2]=j;f=0;break a}else{c[g>>2]=k;f=30;break a}case 102:{c[g>>2]=j;f=0;break a}case 103:{f=0-f|0;break a}}}}else f=-1}else f=-4;while(0);return f|0}function f$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if((e|0)!=(f|0)){l=e;o=f-l|0;n=(o&1|0)==0;o=o&-2;p=(o|0)==0;o=n|p?f:e+o|0;if(n|p^1){f=a[e+1>>0]|0;h=a[e>>0]|0;p=b+76|0;if(!(f<<24>>24))j=d[p+(h&255)>>0]|0;else j=v$(f,h)|0;k=e+2|0;n=o;i=e+3|0;m=e+4|0;f=n-l|0;h=(k|0)==(o|0);switch(j|0){case 2:{f=A$(b,k,o,g)|0;break a}case 3:{f=w$(b,k,o,g)|0;break a}case 9:{if(h){f=-3;break a}f=a[i>>0]|0;h=a[k>>0]|0;if(!(f<<24>>24))f=d[p+(h&255)>>0]|0;else f=v$(f,h)|0;c[g>>2]=(f|0)==10?m:k;f=7;break a}case 10:{c[g>>2]=k;f=7;break a}case 4:{if(h){f=-5;break a}if((a[i>>0]|0)==0?(a[k>>0]|0)==93:0){if((m|0)==(o|0)){f=-5;break a}if((a[e+5>>0]|0)==0?(a[m>>0]|0)==62:0){c[g>>2]=m;f=0;break a}}break}case 5:{if((f|0)<2){f=-2;break a}break}case 6:{if((f|0)<3){f=-2;break a}else k=i;break}case 7:{if((f|0)<4){f=-2;break a}else k=m;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:{}}b:while(1){if((k|0)==(o|0)){h=46;break}f=a[k+1>>0]|0;h=a[k>>0]|0;if(!(f<<24>>24))i=d[p+(h&255)>>0]|0;else i=v$(f,h)|0;j=k+4|0;f=k+2|0;h=n-k|0;switch(i|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{h=45;break b}case 5:if((h|0)<2){h=32;break b}else{k=f;continue b}case 6:{if((h|0)<3){h=34;break b}k=k+3|0;continue b}case 7:if((h|0)<4){h=37;break b}else{k=j;continue b}case 4:{if((f|0)==(o|0)){h=45;break b}if(a[k+3>>0]|0){k=f;continue b}if((a[f>>0]|0)!=93){k=f;continue b}if((j|0)==(o|0)){h=45;break b}if(a[k+5>>0]|0){k=f;continue b}if((a[j>>0]|0)==62){h=44;break b}else{k=f;continue b}}default:{k=f;continue b}}}if((h|0)==32){c[g>>2]=k;f=6;break}else if((h|0)==34){c[g>>2]=k;f=6;break}else if((h|0)==37){c[g>>2]=k;f=6;break}else if((h|0)==44){c[g>>2]=j;f=0;break}else if((h|0)==45){c[g>>2]=k;f=6;break}else if((h|0)==46){c[g>>2]=o;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function g$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){k=e;m=f-k|0;l=(m&1|0)==0;m=m&-2;n=(m|0)==0;m=l|n?f:e+m|0;if(l|n^1){f=a[e+1>>0]|0;h=a[e>>0]|0;n=b+76|0;if(!(f<<24>>24))j=d[n+(h&255)>>0]|0;else j=v$(f,h)|0;i=e+2|0;l=m;h=(i|0)==(m|0);f=l-k|0;b=e+3|0;k=e+4|0;switch(j|0){case 4:{if(h){f=-1;break a}if((a[b>>0]|0)==0?(a[i>>0]|0)==93:0){if((k|0)==(m|0)){f=-1;break a}if((a[e+5>>0]|0)==0?(a[k>>0]|0)==62:0){c[g>>2]=e+6;f=40;break a}}break}case 9:{if(h){f=-1;break a}f=a[b>>0]|0;b=a[i>>0]|0;if(!(f<<24>>24))f=d[n+(b&255)>>0]|0;else f=v$(f,b)|0;c[g>>2]=(f|0)==10?k:i;f=7;break a}case 10:{c[g>>2]=i;f=7;break a}case 5:{if((f|0)<2){f=-2;break a}break}case 6:{if((f|0)<3){f=-2;break a}else i=b;break}case 7:{if((f|0)<4){f=-2;break a}else i=k;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:{}}b:while(1){if((i|0)==(m|0)){b=38;break}f=a[i+1>>0]|0;b=a[i>>0]|0;if(!(f<<24>>24))h=d[n+(b&255)>>0]|0;else h=v$(f,b)|0;f=i+2|0;b=l-i|0;switch(h|0){case 4:case 10:case 9:case 8:case 1:case 0:{b=37;break b}case 5:if((b|0)<2){b=30;break b}else{i=f;continue b}case 6:{if((b|0)<3){b=32;break b}i=i+3|0;continue b}case 7:{if((b|0)<4){b=35;break b}i=i+4|0;continue b}default:{i=f;continue b}}}if((b|0)==30){c[g>>2]=i;f=6;break}else if((b|0)==32){c[g>>2]=i;f=6;break}else if((b|0)==35){c[g>>2]=i;f=6;break}else if((b|0)==37){c[g>>2]=i;f=6;break}else if((b|0)==38){c[g>>2]=m;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function h$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f-e|0;r=(r&1|0)==0?f:e+(r&-2)|0;p=b+76|0;q=r;o=0;a:while(1){if((e|0)==(r|0)){f=-1;break}f=a[e+1>>0]|0;b=a[e>>0]|0;if(!(f<<24>>24))n=d[p+(b&255)>>0]|0;else n=v$(f,b)|0;f=e+2|0;b=(f|0)==(r|0);h=e+4|0;i=e+3|0;j=e+6|0;k=(h|0)==(r|0);l=e+5|0;m=q-e|0;switch(n|0){case 8:case 1:case 0:{s=10;break a}case 5:if((m|0)<2){f=-2;break a}else{n=o;e=f;o=n;continue a}case 6:if((m|0)<3){f=-2;break a}else{n=o;e=i;o=n;continue a}case 7:if((m|0)<4){f=-2;break a}else{n=o;e=h;o=n;continue a}case 2:{if(b){f=-1;break a}if(a[i>>0]|0){n=o;e=f;o=n;continue a}if((a[f>>0]|0)!=33){n=o;e=f;o=n;continue a}if(k){f=-1;break a}if(a[l>>0]|0){n=o;e=h;o=n;continue a}e=(a[h>>0]|0)==91;o=(e&1)+o|0;e=e?j:h;continue a}case 4:{if(b){f=-1;break a}if(a[i>>0]|0){n=o;e=f;o=n;continue a}if((a[f>>0]|0)!=93){n=o;e=f;o=n;continue a}if(k){f=-1;break a}if(a[l>>0]|0){n=o;e=h;o=n;continue a}if((a[h>>0]|0)!=62){n=o;e=h;o=n;continue a}if(!o){s=24;break a}o=o+-1|0;e=j;continue a}default:{n=o;e=f;o=n;continue a}}}if((s|0)==10){c[g>>2]=e;f=0}else if((s|0)==24){c[g>>2]=j;f=42}return f|0}function i$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if((e|0)!=(f|0)){l=b+76|0;j=e;a:while(1){if((j|0)==(f|0)){i=27;break}i=a[j+1>>0]|0;h=a[j>>0]|0;if(!(i<<24>>24))h=d[l+(h&255)>>0]|0;else h=v$(i,h)|0;k=j+2|0;switch(h|0){case 21:{i=24;break a}case 3:{i=10;break a}case 2:{i=13;break a}case 10:{i=14;break a}case 9:{i=17;break a}case 6:{j=j+3|0;continue a}case 7:{j=j+4|0;continue a}default:{j=k;continue a}}}if((i|0)==10)if((j|0)==(e|0)){h=w$(b,k,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==13){c[g>>2]=j;h=0;break}else if((i|0)==14)if((j|0)==(e|0)){c[g>>2]=k;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==17){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}if((k|0)==(f|0)){h=-3;break}h=a[e+3>>0]|0;i=a[k>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=v$(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:k;h=7;break}else if((i|0)==24)if((j|0)==(e|0)){c[g>>2]=k;h=39;break}else{c[g>>2]=j;h=6;break}else if((i|0)==27){c[g>>2]=f;h=6;break}}else h=-4;while(0);return h|0}function j$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if((e|0)!=(f|0)){l=b+76|0;j=e;a:while(1){if((j|0)==(f|0)){i=26;break}i=a[j+1>>0]|0;h=a[j>>0]|0;if(!(i<<24>>24))h=d[l+(h&255)>>0]|0;else h=v$(i,h)|0;k=j+2|0;switch(h|0){case 9:{i=19;break a}case 3:{i=10;break a}case 30:{i=13;break a}case 10:{i=16;break a}case 6:{j=j+3|0;continue a}case 7:{j=j+4|0;continue a}default:{j=k;continue a}}}if((i|0)==10)if((j|0)==(e|0)){h=w$(b,k,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==13)if((j|0)==(e|0)){h=x$(b,k,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=j;h=6;break}else if((i|0)==16)if((j|0)==(e|0)){c[g>>2]=k;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==19){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}if((k|0)==(f|0)){h=-3;break}h=a[e+3>>0]|0;i=a[k>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=v$(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:k;h=7;break}else if((i|0)==26){c[g>>2]=f;h=6;break}}else h=-4;while(0);return h|0}function k$(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=b+76|0;f=e;b=c;a:while(1){h=b+1|0;i=a[h>>0]|0;e=a[b>>0]|0;if(!(i<<24>>24))g=d[j+(e&255)>>0]|0;else g=v$(i,e)|0;c=f+1|0;switch(g|0){case 7:{if(e<<24>>24==(a[f>>0]|0)){f=c;b=h;e=i;k=7}else{b=0;break a}break}case 6:{k=7;break}case 5:{k=9;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{if((a[f>>0]|0)!=e<<24>>24){b=0;break a}if((a[c>>0]|0)==i<<24>>24)e=f;else{b=0;break a}break}default:{k=14;break a}}if((k|0)==7){k=0;c=b+1|0;if(e<<24>>24!=(a[f>>0]|0)){b=0;break}f=f+1|0;b=c;e=a[c>>0]|0;k=9}if((k|0)==9){k=0;if(e<<24>>24!=(a[f>>0]|0)){b=0;break}if((a[b+1>>0]|0)==(a[f+1>>0]|0))e=f;else{b=0;break}}f=e+2|0;b=b+2|0}b:do if((k|0)==14){e=a[c>>0]|0;b=a[f>>0]|0;if(!(e<<24>>24))b=d[j+(b&255)>>0]|0;else b=v$(e,b)|0;switch(b|0){case 27:case 26:case 25:case 24:case 23:case 22:case 29:case 7:case 6:case 5:{b=0;break b}default:{}}b=1}while(0);return b|0}function l$(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;b=c;while(1){c=a[e>>0]|0;f=(b|0)==(d|0);if(!(c<<24>>24)){g=7;break}if(f){b=0;break}if(a[b+1>>0]|0){b=0;break}if((a[b>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+2|0}if((g|0)==7)b=f&1;return b|0}function m$(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+76|0;f=c;a:while(1){b=a[f+1>>0]|0;e=a[f>>0]|0;if(!(b<<24>>24))b=d[g+(e&255)>>0]|0;else b=v$(b,e)|0;switch(b|0){case 27:case 26:case 25:case 24:case 23:case 22:case 29:case 5:{f=f+2|0;continue a}case 6:{f=f+3|0;continue a}case 7:{f=f+4|0;continue a}default:break a}}return f-c|0}function n$(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+76|0;a:while(1){b=a[c+1>>0]|0;e=a[c>>0]|0;if(!(b<<24>>24))b=d[f+(e&255)>>0]|0;else b=v$(b,e)|0;switch(b|0){case 21:case 9:case 10:break;default:break a}c=c+2|0}return c|0}function o$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=b+76|0;x=0;y=0;u=1;a:while(1){w=e+2|0;r=e+3|0;b=a[r>>0]|0;s=b<<24>>24==0;t=a[w>>0]|0;if(s)p=d[z+(t&255)>>0]|0;else p=v$(b,t)|0;b=(y|0)<(f|0);q=e+4|0;h=(u|0)==1;i=(u|0)==2;v=g+(y<<4)+12|0;j=y+1|0;k=(u|0)==0;l=(u|0)!=2;m=g+(y<<4)+8|0;n=g+(y<<4)+4|0;o=g+(y<<4)|0;do switch(p|0){case 5:{if(!k){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=1;e=w;y=t;x=v;continue a}c[o>>2]=w;a[v>>0]=1;t=y;v=x;u=1;e=w;y=t;x=v;continue a}case 6:{if(!k){t=u;v=y;w=x;e=r;u=t;y=v;x=w;continue a}if(!b){v=y;w=x;u=1;e=r;y=v;x=w;continue a}c[o>>2]=w;a[v>>0]=1;v=y;w=x;u=1;e=r;y=v;x=w;continue a}case 7:{if(!k){t=u;v=y;w=x;e=q;u=t;y=v;x=w;continue a}if(!b){v=y;w=x;u=1;e=q;y=v;x=w;continue a}c[o>>2]=w;a[v>>0]=1;v=y;w=x;u=1;e=q;y=v;x=w;continue a}case 24:case 22:case 29:{if(!k){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=1;e=w;y=t;x=v;continue a}c[o>>2]=w;a[v>>0]=1;t=y;v=x;u=1;e=w;y=t;x=v;continue a}case 12:{if(l){if(!b){v=y;x=12;u=2;e=w;y=v;continue a}c[n>>2]=q;v=y;x=12;u=2;e=w;y=v;continue a}if((x|0)!=12){t=y;v=x;u=2;e=w;y=t;x=v;continue a}if(!b){x=12;y=j;u=0;e=w;continue a}c[m>>2]=w;x=12;y=j;u=0;e=w;continue a}case 13:{if(l){if(!b){v=y;x=13;u=2;e=w;y=v;continue a}c[n>>2]=q;v=y;x=13;u=2;e=w;y=v;continue a}if((x|0)!=13){t=y;v=x;u=2;e=w;y=t;x=v;continue a}if(!b){x=13;y=j;u=0;e=w;continue a}c[m>>2]=w;x=13;y=j;u=0;e=w;continue a}case 3:{if(!b){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}a[v>>0]=0;s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}case 21:{if(h){t=y;v=x;u=0;e=w;y=t;x=v;continue a}if(!i){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=2;e=w;y=t;x=v;continue a}if(!(a[v>>0]|0)){t=y;v=x;u=2;e=w;y=t;x=v;continue a}do if(s&(w|0)!=(c[n>>2]|0)&t<<24>>24==32){e=a[e+5>>0]|0;b=a[q>>0]|0;if(!(e<<24>>24)){if(b<<24>>24==32)break;b=d[z+(b&255)>>0]|0}else b=v$(e,b)|0;if((b|0)!=(x|0)){t=y;v=x;u=2;e=w;y=t;x=v;continue a}}while(0);a[v>>0]=0;t=y;v=x;u=2;e=w;y=t;x=v;continue a}case 10:case 9:{if(h){t=y;v=x;u=0;e=w;y=t;x=v;continue a}if(!i){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=2;e=w;y=t;x=v;continue a}a[v>>0]=0;t=y;v=x;u=2;e=w;y=t;x=v;continue a}case 17:case 11:if(l)break a;else{t=y;v=x;u=2;e=w;y=t;x=v;continue a}default:{s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}}while(0)}return y|0}function p$(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+4|0;a:do if((a[c+5>>0]|0)==0?(a[b>>0]|0)==120:0){c=c+6|0;b=0;while(1){b:while(1){if(!(a[c+1>>0]|0)){d=a[c>>0]|0;if(d<<24>>24==59){e=17;break a}d=d<<24>>24;switch(d|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{e=8;break b}case 70:case 69:case 68:case 67:case 66:case 65:{e=9;break b}case 102:case 101:case 100:case 99:case 98:case 97:{e=10;break b}default:{}}}c=c+2|0}if((e|0)==8){e=0;b=d+-48|b<<4}else if((e|0)==9){e=0;b=(b<<4)+-55+d|0}else if((e|0)==10){e=0;b=(b<<4)+-87+d|0}if((b|0)<1114112)c=c+2|0;else{b=-1;break}}}else{d=b;b=0;e=13}while(0);c:do if((e|0)==13)while(1){e=0;if(!(a[d+1>>0]|0)){c=a[d>>0]|0;if(c<<24>>24==59){e=17;break c}c=c<<24>>24}else c=-1;b=(b*10|0)+-48+c|0;if((b|0)>=1114112){b=-1;break}else{d=d+2|0;e=13}}while(0);if((e|0)==17)b=k_(b)|0;return b|0}function q$(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=c+2|0;b=c+1|0;h=c+3|0;e=c+4|0;f=c+5|0;a:do switch((d-c|0)/2|0|0){case 2:{if((a[h>>0]|0)==0?(a[g>>0]|0)==116:0){if(!(a[b>>0]|0))b=a[c>>0]|0;else b=-1;b=(b|0)==108?60:(b|0)==103?62:0}else i=27;break}case 3:{if((((((a[b>>0]|0)==0?(a[c>>0]|0)==97:0)?(a[h>>0]|0)==0:0)?(a[g>>0]|0)==109:0)?(a[f>>0]|0)==0:0)?(a[e>>0]|0)==112:0)b=38;else i=27;break}case 4:{if(!(a[b>>0]|0)){b=c+6|0;d=c+7|0;switch(a[c>>0]|0){case 113:{if(a[h>>0]|0){i=27;break a}if((a[g>>0]|0)!=117){i=27;break a}if(a[f>>0]|0){i=27;break a}if((a[e>>0]|0)!=111){i=27;break a}if(a[d>>0]|0){i=27;break a}if((a[b>>0]|0)==116){b=34;break a}else{i=27;break a}}case 97:{if(a[h>>0]|0){i=27;break a}if((a[g>>0]|0)!=112){i=27;break a}if(a[f>>0]|0){i=27;break a}if((a[e>>0]|0)!=111){i=27;break a}if(a[d>>0]|0){i=27;break a}if((a[b>>0]|0)==115){b=39;break a}else{i=27;break a}}default:{i=27;break a}}}else i=27;break}default:i=27}while(0);if((i|0)==27)b=0;return b|0}function r$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=b+76|0;k=g+4|0;b=e;while(1){if(b>>>0>=f>>>0)break;h=a[b+1>>0]|0;e=a[b>>0]|0;if(!(h<<24>>24))e=d[j+(e&255)>>0]|0;else e=v$(h,e)|0;i=b+2|0;switch(e|0){case 9:{c[g>>2]=(c[g>>2]|0)+1;if((i|0)==(f|0))b=f;else{e=a[b+3>>0]|0;h=a[i>>0]|0;if(!(e<<24>>24))e=d[j+(h&255)>>0]|0;else e=v$(e,h)|0;b=(e|0)==10?b+4|0:i}c[k>>2]=-1;break}case 6:{b=b+3|0;break}case 7:{b=b+4|0;break}case 10:{c[k>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;b=i;break}default:b=i}c[k>>2]=(c[k>>2]|0)+1}return}function s$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f+-2|0;i=b+76|0;f=e;a:while(1){h=f+2|0;if((h|0)==(j|0)){f=1;break}f=a[f+3>>0]|0;e=f<<24>>24==0;b=a[h>>0]|0;if(e)f=d[i+(b&255)>>0]|0;else f=v$(f,b)|0;switch(f|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:{f=h;continue a}case 21:if(e&b<<24>>24==9){k=12;break a}else{f=h;continue a}case 22:case 26:{if(!e){k=12;break a}if(b<<24>>24>=0){f=h;continue a}break}default:if(!e){k=12;break a}}switch(b<<24>>24|0){case 64:case 36:{f=h;break}default:{k=12;break a}}}if((k|0)==12){c[g>>2]=h;f=0}return f|0}function t$(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=h;b=c[e>>2]|0;a:while(1){if((b|0)==(f|0)){b=f;break}k=a[b>>0]|0;i=a[b+1>>0]|0;m=i&255;j=k&255;n=j>>>6;l=(j&63|128)&255;switch(i<<24>>24){case 0:{if(k<<24>>24>-1){i=c[g>>2]|0;if((i|0)==(h|0))break a;c[g>>2]=i+1;a[i>>0]=k}else p=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{p=7;break}case -37:case -38:case -39:case -40:{i=c[g>>2]|0;if((o-i|0)<4)break a;m=(m<<2&12|n)+1|0;c[g>>2]=i+1;a[i>>0]=m>>>2|240;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=j>>>2&15|m<<4&48|128;n=b+2|0;m=d[n>>0]|0;l=(j<<4&48|m>>>6|a[b+3>>0]<<2&12|128)&255;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=l;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=m&63|128;b=n;break}default:{i=c[g>>2]|0;if((o-i|0)<3)break a;c[g>>2]=i+1;a[i>>0]=m>>>4|224;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=n|m<<2&60|128;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=l}}if((p|0)==7){p=0;i=c[g>>2]|0;if((o-i|0)<2)break;c[g>>2]=i+1;a[i>>0]=n|m<<2|192;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=l}b=b+2|0}c[e>>2]=b;return}function u$(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;e=c[f>>2]|0;if((g-e|0)>(i-(c[h>>2]|0)|0))g=(a[g+-1>>0]&-8)<<24>>24==-40?g+-2|0:g;while(1){if((e|0)==(g|0))break;j=c[h>>2]|0;if((j|0)==(i|0))break;k=((d[e+1>>0]|0)<<8|(d[e>>0]|0))&65535;c[h>>2]=j+2;b[j>>1]=k;j=(c[f>>2]|0)+2|0;c[f>>2]=j;e=j}return}function v$(a,b){a=a|0;b=b|0;var c=0;switch(a<<24>>24){case -37:case -38:case -39:case -40:{a=7;break}case -33:case -34:case -35:case -36:{a=8;break}case -1:{if((b&255)>253)a=0;else c=4;break}default:c=4}if((c|0)==4)a=29;return a|0}function w$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){k=a[e+1>>0]|0;m=b+76|0;l=a[e>>0]|0;if(!(k<<24>>24))j=d[m+(l&255)>>0]|0;else j=v$(k,l)|0;n=f;h=n-e|0;i=e+2|0;switch(j|0){case 29:{l=l&255;if(!(1<<(l&31)&c[57168+((l>>>5|(d[143937+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((h|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((h|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((h|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}case 19:{b=y$(b,i,f,g)|0;break a}default:{c[g>>2]=e;b=0;break a}}b:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i+1>>0]|0;e=a[i>>0]|0;if(!(b<<24>>24))h=d[m+(e&255)>>0]|0;else h=v$(b,e)|0;j=i+2|0;switch(h|0){case 27:case 26:case 25:case 24:case 22:{i=j;continue b}case 5:{e=23;break b}case 6:{e=25;break b}case 7:{e=27;break b}case 18:{e=29;break b}case 29:break;default:{e=30;break b}}l=e&255;if(!(1<<(l&31)&c[57168+((l>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){e=22;break}else i=j}if((e|0)==22){c[g>>2]=i;b=0;break}else if((e|0)==23){if((n-i|0)<2){b=-2;break}c[g>>2]=i;b=0;break}else if((e|0)==25){if((n-i|0)<3){b=-2;break}c[g>>2]=i;b=0;break}else if((e|0)==27){if((n-i|0)<4){b=-2;break}c[g>>2]=i;b=0;break}else if((e|0)==29){c[g>>2]=j;b=9;break}else if((e|0)==30){c[g>>2]=i;b=0;break}}else b=-1;while(0);return b|0}function x$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){j=a[e+1>>0]|0;k=b+76|0;i=a[e>>0]|0;if(!(j<<24>>24))h=d[k+(i&255)>>0]|0;else h=v$(j,i)|0;l=f;b=l-e|0;switch(h|0){case 29:{i=i&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[143937+(j&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((b|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((b|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((b|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}case 30:case 9:case 10:case 21:{c[g>>2]=e;b=22;break a}default:{c[g>>2]=e;b=0;break a}}e=e+2|0;b:while(1){if((e|0)==(f|0)){b=-1;break a}b=a[e+1>>0]|0;h=a[e>>0]|0;if(!(b<<24>>24))i=d[k+(h&255)>>0]|0;else i=v$(b,h)|0;j=e+2|0;switch(i|0){case 27:case 26:case 25:case 24:case 22:{e=j;continue b}case 5:{h=24;break b}case 6:{h=26;break b}case 7:{h=28;break b}case 18:{h=30;break b}case 29:break;default:{h=31;break b}}i=h&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){h=23;break}else e=j}if((h|0)==23){c[g>>2]=e;b=0;break}else if((h|0)==24){if((l-e|0)<2){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==26){if((l-e|0)<3){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==28){if((l-e|0)<4){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==30){c[g>>2]=j;b=28;break}else if((h|0)==31){c[g>>2]=e;b=0;break}}else b=-1;while(0);return b|0}function y$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){h=a[e+1>>0]|0;i=h<<24>>24==0;j=e+2|0;k=a[e>>0]|0;if(i&k<<24>>24==120){b=z$(b,j,f,g)|0;break}l=b+76|0;if(i)b=d[l+(k&255)>>0]|0;else b=v$(h,k)|0;if((b|0)!=25){c[g>>2]=e;b=0;break}b:while(1){if((j|0)==(f|0)){b=-1;break a}b=a[j+1>>0]|0;h=a[j>>0]|0;if(!(b<<24>>24))b=d[l+(h&255)>>0]|0;else b=v$(b,h)|0;i=j+2|0;switch(b|0){case 25:{j=i;break}case 18:{h=14;break b}default:{h=15;break b}}}if((h|0)==14){c[g>>2]=i;b=10;break}else if((h|0)==15){c[g>>2]=j;b=0;break}}else b=-1;while(0);return b|0}function z$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if((e|0)!=(f|0)){h=a[e+1>>0]|0;j=b+76|0;b=a[e>>0]|0;if(!(h<<24>>24))b=d[j+(b&255)>>0]|0;else b=v$(h,b)|0;if((b&-2|0)!=24){c[g>>2]=e;b=0;break}i=e+2|0;b:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i+1>>0]|0;h=a[i>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=v$(b,h)|0;e=i+2|0;switch(b|0){case 24:case 25:{i=e;break}case 18:{h=13;break b}default:{h=14;break b}}}if((h|0)==13){c[g>>2]=e;b=10;break}else if((h|0)==14){c[g>>2]=i;b=0;break}}else b=-1;while(0);return b|0}function A$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:do if((e|0)!=(f|0)){k=a[e+1>>0]|0;n=b+76|0;l=a[e>>0]|0;if(!(k<<24>>24))j=d[n+(l&255)>>0]|0;else j=v$(k,l)|0;h=e+2|0;m=f;i=m-e|0;switch(j|0){case 29:{l=l&255;if(!(1<<(l&31)&c[57168+((l>>>5|d[143937+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;h=0;break a}else l=0;break}case 24:case 22:{l=0;break}case 5:{if((i|0)<2){h=-2;break a}c[g>>2]=e;h=0;break a}case 6:{if((i|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 7:{if((i|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 16:{if((h|0)==(f|0)){h=-1;break a}i=a[e+3>>0]|0;j=a[h>>0]|0;if(!(i<<24>>24))j=d[n+(j&255)>>0]|0;else j=v$(i,j)|0;i=e+4|0;switch(j|0){case 27:{h=B$(b,i,f,g)|0;break a}case 20:{h=C$(i,f,g)|0;break a}default:{c[g>>2]=h;h=0;break a}}}case 15:{h=D$(b,h,f,g)|0;break a}case 17:{h=E$(b,h,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}b:while(1){c:while(1){if((h|0)==(f|0)){h=-1;break a}i=a[h+1>>0]|0;j=a[h>>0]|0;if(!(i<<24>>24))k=d[n+(j&255)>>0]|0;else k=v$(i,j)|0;e=h+2|0;switch(k|0){case 5:{o=32;break b}case 6:{o=34;break b}case 7:{o=36;break b}case 10:case 9:case 21:{h=e;o=56;break b}case 11:{o=71;break b}case 17:break b;case 27:case 26:case 25:case 24:case 22:{h=e;continue c}case 23:break c;case 29:break;default:{o=77;break b}}k=j&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[144193+(i&255)>>0]<<3)<<2)>>2])){o=31;break b}else h=e}if(l|0){o=39;break}if((e|0)==(f|0)){h=-1;break a}i=a[h+3>>0]|0;j=a[e>>0]|0;if(!(i<<24>>24))k=d[n+(j&255)>>0]|0;else k=v$(i,j)|0;switch(k|0){case 5:{o=49;break b}case 6:{o=51;break b}case 7:{o=53;break b}case 29:{l=j&255;if(!(1<<(l&31)&c[57168+((l>>>5|d[143937+(i&255)>>0]<<3)<<2)>>2])){o=46;break b}break}case 24:case 22:break;default:{o=55;break b}}l=1;h=h+4|0}d:switch(o|0){case 31:{c[g>>2]=h;h=0;break a}case 32:{if((m-h|0)<2){h=-2;break a}c[g>>2]=h;h=0;break a}case 34:{if((m-h|0)<3){h=-2;break a}c[g>>2]=h;h=0;break a}case 36:{if((m-h|0)<4){h=-2;break a}c[g>>2]=h;h=0;break a}case 39:{c[g>>2]=h;h=0;break a}case 46:{c[g>>2]=e;h=0;break a}case 49:{if((m-e|0)<2){h=-2;break a}c[g>>2]=e;h=0;break a}case 51:{if((m-e|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 53:{if((m-e|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 55:{c[g>>2]=e;h=0;break a}case 56:{e:while(1){o=0;if((h|0)==(f|0)){h=-1;break a}i=a[h+1>>0]|0;j=a[h>>0]|0;if(!(i<<24>>24))l=d[n+(j&255)>>0]|0;else l=v$(i,j)|0;k=h+2|0;switch(l|0){case 11:{o=71;break d}case 17:break d;case 10:case 9:case 21:{h=k;o=56;break}case 29:{o=61;break e}case 24:case 22:break e;case 5:{o=64;break e}case 6:{o=66;break e}case 7:{o=68;break e}default:{o=70;break e}}}if((o|0)==61){o=j&255;if(!(1<<(o&31)&c[57168+((o>>>5|d[143937+(i&255)>>0]<<3)<<2)>>2])){c[g>>2]=h;h=0;break a}}else if((o|0)==64){if((m-h|0)<2){h=-2;break a}c[g>>2]=h;h=0;break a}else if((o|0)==66){if((m-h|0)<3){h=-2;break a}c[g>>2]=h;h=0;break a}else if((o|0)==68){if((m-h|0)<4){h=-2;break a}c[g>>2]=h;h=0;break a}else if((o|0)==70){c[g>>2]=h;h=0;break a}h=F$(b,k,f,g)|0;break a}case 77:{c[g>>2]=h;h=0;break a}}if((o|0)==71){c[g>>2]=h+2;h=2;break}i=h+2|0;if((i|0)!=(f|0)){if((a[h+3>>0]|0)==0?(a[i>>0]|0)==62:0){c[g>>2]=h+4;h=4;break}c[g>>2]=i;h=0}else h=-1}else h=-1;while(0);return h|0}function B$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)==(f|0))b=-1;else{if((a[e+1>>0]|0)==0?(a[e>>0]|0)==45:0){j=b+76|0;k=f;i=e+2|0;b:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i+1>>0]|0;e=a[i>>0]|0;if(!(b<<24>>24))h=d[j+(e&255)>>0]|0;else h=v$(b,e)|0;b=i+2|0;e=k-i|0;switch(h|0){case 8:case 1:case 0:{l=16;break b}case 5:if((e|0)<2){b=-2;break a}else{i=b;continue b}case 6:{if((e|0)<3){b=-2;break a}i=i+3|0;continue b}case 7:{if((e|0)<4){b=-2;break a}i=i+4|0;continue b}case 27:{if((b|0)==(f|0)){b=-1;break a}if(a[i+3>>0]|0){i=b;continue b}if((a[b>>0]|0)==45)break b;else{i=b;continue b}}default:{i=b;continue b}}}if((l|0)==16){c[g>>2]=i;b=0;break}b=i+4|0;if((b|0)==(f|0)){b=-1;break}if((a[i+5>>0]|0)==0?(a[b>>0]|0)==62:0){c[g>>2]=i+6;b=13;break}c[g>>2]=b;b=0;break}c[g>>2]=e;b=0}while(0);return b|0}function C$(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)<12)d=-1;else{d=0;while(1){if((d|0)>=6){d=8;break}if(a[b+1>>0]|0){d=0;break}if((a[b>>0]|0)!=(a[144449+d>>0]|0)){d=0;break}d=d+1|0;b=b+2|0}c[e>>2]=b}return d|0}function D$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;a:do if((e|0)==(f|0))b=-1;else{j=a[e+1>>0]|0;o=b+76|0;b=a[e>>0]|0;if(!(j<<24>>24))i=d[o+(b&255)>>0]|0;else i=v$(j,b)|0;n=f;h=n-e|0;switch(i|0){case 29:{k=b&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[143937+(j&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((h|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((h|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((h|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}default:{c[g>>2]=e;b=0;break a}}b=e+2|0;b:while(1){if((b|0)==(f|0)){b=-1;break a}h=a[b+1>>0]|0;i=a[b>>0]|0;if(!(h<<24>>24))k=d[o+(i&255)>>0]|0;else k=v$(h,i)|0;j=b+2|0;switch(k|0){case 27:case 26:case 25:case 24:case 22:{b=j;continue b}case 5:{m=23;break b}case 6:{m=25;break b}case 7:{m=27;break b}case 10:case 9:case 21:{m=29;break b}case 15:{m=46;break b}case 29:break;default:break b}k=i&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[144193+(h&255)>>0]<<3)<<2)>>2])){m=22;break}else b=j}if((m|0)==22){c[g>>2]=b;b=0;break}else if((m|0)==23){if((n-b|0)<2){b=-2;break}c[g>>2]=b;b=0;break}else if((m|0)==25){if((n-b|0)<3){b=-2;break}c[g>>2]=b;b=0;break}else if((m|0)==27){if((n-b|0)<4){b=-2;break}c[g>>2]=b;b=0;break}else if((m|0)==29){if(!(G$(e,b,p)|0)){c[g>>2]=b;b=0;break}c:while(1){if((j|0)==(f|0)){b=-1;break a}b=a[j+1>>0]|0;h=a[j>>0]|0;if(!(b<<24>>24))i=d[o+(h&255)>>0]|0;else i=v$(b,h)|0;b=j+2|0;h=n-j|0;switch(i|0){case 8:case 1:case 0:{m=41;break c}case 5:if((h|0)<2){b=-2;break a}else{j=b;continue c}case 6:{if((h|0)<3){b=-2;break a}j=j+3|0;continue c}case 7:{if((h|0)<4){b=-2;break a}j=j+4|0;continue c}case 15:{if((b|0)==(f|0)){b=-1;break a}if(a[j+3>>0]|0){j=b;continue c}if((a[b>>0]|0)==62){m=45;break c}else{j=b;continue c}}default:{j=b;continue c}}}if((m|0)==41){c[g>>2]=j;b=0;break}else if((m|0)==45){c[g>>2]=j+4;b=c[p>>2]|0;break}}else if((m|0)==46){if(!(G$(e,b,p)|0)){c[g>>2]=b;b=0;break}if((j|0)==(f|0)){b=-1;break}if((a[b+3>>0]|0)==0?(a[j>>0]|0)==62:0){c[g>>2]=b+4;b=c[p>>2]|0;break}else b=j}c[g>>2]=b;b=0}while(0);l=q;return b|0}function E$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){j=a[e+1>>0]|0;l=b+76|0;i=a[e>>0]|0;if(!(j<<24>>24))h=d[l+(i&255)>>0]|0;else h=v$(j,i)|0;k=f;b=k-e|0;switch(h|0){case 29:{i=i&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[143937+(j&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((b|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((b|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((b|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}default:{c[g>>2]=e;b=0;break a}}j=e+2|0;b:while(1){if((j|0)==(f|0)){b=-1;break a}b=a[j+1>>0]|0;h=a[j>>0]|0;if(!(b<<24>>24))e=d[l+(h&255)>>0]|0;else e=v$(b,h)|0;i=j+2|0;switch(e|0){case 23:case 27:case 26:case 25:case 24:case 22:{j=i;continue b}case 5:{e=23;break b}case 6:{e=25;break b}case 7:{e=27;break b}case 10:case 9:case 21:{e=29;break b}case 11:{e=36;break b}case 29:break;default:{e=37;break b}}e=h&255;if(!(1<<(e&31)&c[57168+((e>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){e=22;break}else j=i}if((e|0)==22){c[g>>2]=j;b=0;break}else if((e|0)==23){if((k-j|0)<2){b=-2;break}c[g>>2]=j;b=0;break}else if((e|0)==25){if((k-j|0)<3){b=-2;break}c[g>>2]=j;b=0;break}else if((e|0)==27){if((k-j|0)<4){b=-2;break}c[g>>2]=j;b=0;break}else if((e|0)==29){c:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i+1>>0]|0;h=a[i>>0]|0;if(!(b<<24>>24))b=d[l+(h&255)>>0]|0;else b=v$(b,h)|0;h=i+2|0;switch(b|0){case 10:case 9:case 21:{i=h;e=29;break}case 11:{e=34;break c}default:{e=35;break c}}}if((e|0)==34){c[g>>2]=h;b=5;break}else if((e|0)==35){c[g>>2]=i;b=0;break}}else if((e|0)==36){c[g>>2]=i;b=5;break}else if((e|0)==37){c[g>>2]=j;b=0;break}}else b=-1;while(0);return b|0}function F$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;c[p>>2]=e;m=b+76|0;n=f;h=0;a:while(1){b:while(1){if((e|0)==(f|0)){e=-1;break a}k=a[e+1>>0]|0;i=a[e>>0]|0;if(!(k<<24>>24))j=d[m+(i&255)>>0]|0;else j=v$(k,i)|0;switch(j|0){case 5:{o=11;break a}case 6:{o=13;break a}case 7:{o=15;break a}case 23:{o=17;break b}case 10:case 9:case 21:{h=e;o=33;break b}case 14:{o=39;break b}case 29:{j=i&255;if(!(1<<(j&31)&c[57168+((j>>>5|d[144193+(k&255)>>0]<<3)<<2)>>2])){o=9;break a}break}case 27:case 26:case 25:case 24:case 22:break;default:{o=93;break a}}k=e+2|0;c[p>>2]=k;e=k}c:do if((o|0)==17){o=0;if(h|0){o=18;break a}h=e+2|0;c[p>>2]=h;if((h|0)==(f|0)){e=-1;break a}i=a[e+3>>0]|0;j=a[h>>0]|0;if(!(i<<24>>24))k=d[m+(j&255)>>0]|0;else k=v$(i,j)|0;switch(k|0){case 5:{o=26;break a}case 6:{o=28;break a}case 7:{o=30;break a}case 24:case 22:{h=1;break c}case 29:break;default:{o=32;break a}}k=j&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[143937+(i&255)>>0]<<3)<<2)>>2])){o=25;break a}else h=1}else if((o|0)==33)while(1){o=0;e=h+2|0;c[p>>2]=e;if((e|0)==(f|0)){e=-1;break a}h=a[h+3>>0]|0;i=a[e>>0]|0;if(!(h<<24>>24))h=d[m+(i&255)>>0]|0;else h=v$(h,i)|0;switch(h|0){case 14:{o=39;break c}case 9:case 10:case 21:{h=e;o=33;break}default:{o=38;break a}}}while(0);d:do if((o|0)==39){while(1){o=0;j=e+2|0;c[p>>2]=j;if((j|0)==(f|0)){e=-1;break a}h=a[e+3>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))k=d[m+(i&255)>>0]|0;else k=v$(h,i)|0;if((k|1|0)==13)break;switch(k|0){case 9:case 10:case 21:{e=j;o=39;break}default:{o=45;break a}}}e=e+4|0;c[p>>2]=e;e:while(1){if((e|0)==(f|0)){e=-1;break a}h=a[e+1>>0]|0;i=a[e>>0]|0;if(!(h<<24>>24))h=d[m+(i&255)>>0]|0;else h=v$(h,i)|0;if((h|0)==(k|0))break;switch(h|0){case 8:case 1:case 0:{o=59;break a}case 2:{o=64;break a}case 5:{if((n-e|0)<2){e=-2;break a}j=e+2|0;c[p>>2]=j;e=j;continue e}case 6:{if((n-e|0)<3){e=-2;break a}j=e+3|0;c[p>>2]=j;e=j;continue e}case 7:{if((n-e|0)<4){e=-2;break a}j=e+4|0;c[p>>2]=j;e=j;continue e}case 3:{e=w$(b,e+2|0,f,p)|0;if((e|0)<1){o=62;break a}e=c[p>>2]|0;continue e}default:{j=e+2|0;c[p>>2]=j;e=j;continue e}}}i=e+2|0;c[p>>2]=i;if((i|0)==(f|0)){e=-1;break a}h=a[e+3>>0]|0;j=a[i>>0]|0;if(!(h<<24>>24))h=d[m+(j&255)>>0]|0;else h=v$(h,j)|0;switch(h|0){case 11:{o=85;break a}case 17:{o=86;break a}case 10:case 9:case 21:{e=i;break}default:{o=71;break a}}f:while(1){i=e+2|0;c[p>>2]=i;if((i|0)==(f|0)){e=-1;break a}h=a[e+3>>0]|0;j=a[i>>0]|0;if(!(h<<24>>24))k=d[m+(j&255)>>0]|0;else k=v$(h,j)|0;switch(k|0){case 5:{o=79;break a}case 6:{o=81;break a}case 7:{o=83;break a}case 11:{o=85;break a}case 17:{o=86;break a}case 24:case 22:{h=0;break d}case 10:case 9:case 21:{e=i;break}case 29:break f;default:{o=91;break a}}}k=j&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[143937+(h&255)>>0]<<3)<<2)>>2])){o=78;break a}else h=0}while(0);e=e+4|0;c[p>>2]=e}switch(o|0){case 9:{c[g>>2]=e;e=0;break}case 11:{if((f-e|0)<2)e=-2;else{c[g>>2]=e;e=0}break}case 13:{if((f-e|0)<3)e=-2;else{c[g>>2]=e;e=0}break}case 15:{if((f-e|0)<4)e=-2;else{c[g>>2]=e;e=0}break}case 18:{c[g>>2]=e;e=0;break}case 25:{c[g>>2]=h;e=0;break}case 26:{if((f-h|0)<2)e=-2;else{c[g>>2]=h;e=0}break}case 28:{if((f-h|0)<3)e=-2;else{c[g>>2]=h;e=0}break}case 30:{if((f-h|0)<4)e=-2;else{c[g>>2]=h;e=0}break}case 32:{c[g>>2]=h;e=0;break}case 38:{c[g>>2]=e;e=0;break}case 45:{c[g>>2]=j;e=0;break}case 59:{c[g>>2]=e;e=0;break}case 62:{if(!e){c[g>>2]=c[p>>2];e=0}break}case 64:{c[g>>2]=e;e=0;break}case 71:{c[g>>2]=i;e=0;break}case 78:{c[g>>2]=i;e=0;break}case 79:{if((n-i|0)<2)e=-2;else{c[g>>2]=i;e=0}break}case 81:{if((n-i|0)<3)e=-2;else{c[g>>2]=i;e=0}break}case 83:{if((n-i|0)<4)e=-2;else{c[g>>2]=i;e=0}break}case 85:{c[g>>2]=e+4;e=1;break}case 86:{h=i+2|0;c[p>>2]=h;e=h;if((h|0)==(f|0))e=-1;else{if((a[i+3>>0]|0)==0?(a[h>>0]|0)==62:0){c[g>>2]=i+4;e=3;break}c[g>>2]=e;e=0}break}case 91:{c[g>>2]=i;e=0;break}case 93:{c[g>>2]=e;e=0;break}}l=q;return e|0}function G$(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==6?(a[b+1>>0]|0)==0:0){switch(a[b>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}if(!(a[b+3>>0]|0)){switch(a[b+2>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}if(!(a[b+5>>0]|0)){switch(a[b+4>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1}else d=1}else d=1;while(0);return d|0}function H$(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;l=e+76|0;k=g;a:while(1){if((f|0)==(g|0)){e=-1;break}i=a[f+1>>0]|0;e=a[f>>0]|0;if(!(i<<24>>24))i=d[l+(e&255)>>0]|0;else i=v$(i,e)|0;j=f+2|0;e=k-f|0;switch(i|0){case 8:case 1:case 0:{m=12;break a}case 5:if((e|0)<2){e=-2;break a}else{f=j;continue a}case 6:{if((e|0)<3){e=-2;break a}f=f+3|0;continue a}case 7:{if((e|0)<4){e=-2;break a}f=f+4|0;continue a}case 13:case 12:if((i|0)==(b|0)){m=14;break a}else{f=j;continue a}default:{f=j;continue a}}}b:do if((m|0)==12){c[h>>2]=f;e=0}else if((m|0)==14)if((j|0)==(g|0))e=-27;else{c[h>>2]=j;f=a[f+3>>0]|0;e=a[j>>0]|0;if(!(f<<24>>24))e=d[l+(e&255)>>0]|0;else e=v$(f,e)|0;switch(e|0){case 20:case 30:case 11:case 10:case 9:case 21:{e=27;break b}default:{}}e=0}while(0);return e|0}function I$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if((e|0)==(f|0))h=-1;else{h=a[e+1>>0]|0;i=a[e>>0]|0;k=b+76|0;if(!(h<<24>>24))i=d[k+(i&255)>>0]|0;else i=v$(h,i)|0;h=e+2|0;switch(i|0){case 27:{h=B$(b,h,f,g)|0;break a}case 20:{c[g>>2]=h;h=33;break a}case 24:case 22:{e=h;b:while(1){if((e|0)==(f|0)){h=-1;break a}h=a[e+1>>0]|0;i=a[e>>0]|0;if(!(h<<24>>24))h=d[k+(i&255)>>0]|0;else h=v$(h,i)|0;b=e+2|0;switch(h|0){case 24:case 22:{e=b;break}case 30:{j=14;break b}case 10:case 9:case 21:break b;default:{j=21;break b}}}if((j|0)==21){c[g>>2]=e;h=0;break a}c:do if((j|0)==14){if((b|0)==(f|0)){h=-1;break a}i=a[e+3>>0]|0;h=a[b>>0]|0;if(!(i<<24>>24))h=d[k+(h&255)>>0]|0;else h=v$(i,h)|0;switch(h|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=e;h=0;break a}while(0);c[g>>2]=e;h=16;break a}default:{c[g>>2]=e;h=0;break a}}}while(0);return h|0}function J$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){j=a[e+1>>0]|0;k=b+76|0;i=a[e>>0]|0;if(!(j<<24>>24))h=d[k+(i&255)>>0]|0;else h=v$(j,i)|0;l=f;b=l-e|0;switch(h|0){case 29:{i=i&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[143937+(j&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((b|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((b|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((b|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}default:{c[g>>2]=e;b=0;break a}}b:while(1){b=e;e=e+2|0;if((e|0)==(f|0)){b=-20;break a}b=a[b+3>>0]|0;h=a[e>>0]|0;if(!(b<<24>>24))i=d[k+(h&255)>>0]|0;else i=v$(b,h)|0;switch(i|0){case 27:case 26:case 25:case 24:case 22:continue b;case 5:{h=22;break b}case 6:{h=24;break b}case 7:{h=26;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{h=28;break b}case 29:break;default:{h=29;break b}}j=h&255;if(!(1<<(j&31)&c[57168+((j>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){h=21;break}}if((h|0)==21){c[g>>2]=e;b=0;break}else if((h|0)==22){if((l-e|0)<2){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==24){if((l-e|0)<3){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==26){if((l-e|0)<4){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==28){c[g>>2]=e;b=20;break}else if((h|0)==29){c[g>>2]=e;b=0;break}}else b=-1;while(0);return b|0}function K$(b,d,e){b=b|0;d=d|0;e=e|0;e=L$(e)|0;if((e|0)==-1)e=0;else{a[b+73>>0]=e;c[b>>2]=67;c[b+4>>2]=68;c[b+52>>2]=31;c[b+76>>2]=d;c[d>>2]=b;e=1}return e|0}function L$(a){a=a|0;var b=0;a:do if(!a)b=6;else{b=0;while(1){if((b|0)>=6){b=-1;break a}if(u0(a,c[60316+(b<<2)>>2]|0)|0)break a;b=b+1|0}}while(0);return b|0}function M$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return P$(59184,a,0,b,c,d)|0}function N$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return P$(59184,a,1,b,c,d)|0}function O$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;D_(58816,b,c,d);return}function P$(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if((f|0)==(g|0))d=-4;else{p=c[d+76>>2]|0;i=f+1|0;o=(e|0)==1;n=d+73|0;b:do if((i|0)==(g|0)){d=a[n>>0]|0;if(((d<<24>>24)+-3|0)>>>0<3){d=-1;break a}switch(a[f>>0]|0){case 60:case 0:{d=-1;break a}case -17:case -1:case -2:break;default:break b}if(!(o&d<<24>>24==0)){d=-1;break a}}else{l=a[f>>0]|0;d=a[i>>0]|0;i=b+16|0;m=b+20|0;j=f+2|0;k=((l&255)<<8|d&255)&65535;c:do if(k<<16>>16<-2){if(k<<16>>16>=-257){switch(k<<16>>16){case -257:break;default:break c}if(o&(a[n>>0]|0)==0)break b;c[h>>2]=j;c[p>>2]=c[i>>2];d=14;break a}switch(k<<16>>16){case -4165:break;default:break c}if(o)switch(a[n>>0]|0){case 0:case 3:case 4:case 5:break b;default:{}}if((j|0)==(g|0)){d=-1;break a}if((a[j>>0]|0)!=-65)break b;c[h>>2]=f+3;c[p>>2]=c[b+8>>2];d=14;break a}else{if(k<<16>>16<15360){switch(k<<16>>16){case -2:break;default:break c}if(o&(a[n>>0]|0)==0)break b;c[h>>2]=j;c[p>>2]=c[m>>2];d=14;break a}switch(k<<16>>16){case 15360:break;default:break c}d=a[n>>0]|0;if(d<<24>>24==4){if(o)break b}else if(o&d<<24>>24==3)break b;d=c[m>>2]|0;c[p>>2]=d;d=tb[c[d+(e<<2)>>2]&127](d,f,g,h)|0;break a}while(0);if(l<<24>>24){if(o|d<<24>>24!=0)break;d=c[m>>2]|0;c[p>>2]=d;d=tb[c[d+(e<<2)>>2]&127](d,f,g,h)|0;break a}if(o?(a[n>>0]|0)==5:0)break;d=c[i>>2]|0;c[p>>2]=d;d=tb[c[d+(e<<2)>>2]&127](d,f,g,h)|0;break a}while(0);d=c[b+(a[n>>0]<<2)>>2]|0;c[p>>2]=d;d=tb[c[d+(e<<2)>>2]&127](d,f,g,h)|0}while(0);return d|0}function Q$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((e|0)!=(f|0)){h=e;p=f-h|0;o=(p&1|0)==0;p=p&-2;q=(p|0)==0;p=o|q?f:e+p|0;if(o|q^1){i=a[e>>0]|0;q=b+76|0;l=a[e+1>>0]|0;if(!(i<<24>>24))k=d[q+(l&255)>>0]|0;else k=v$(i,l)|0;j=e+2|0;o=p;m=e+3|0;f=o-h|0;h=(j|0)==(p|0);n=e+4|0;do switch(k|0){case 12:{f=q0(12,b,j,p,g)|0;break a}case 13:{f=q0(13,b,j,p,g)|0;break a}case 2:{if(h){f=-1;break a}h=a[j>>0]|0;f=a[m>>0]|0;if(!(h<<24>>24))f=d[q+(f&255)>>0]|0;else f=v$(h,f)|0;switch(f|0){case 16:{f=r0(b,n,p,g)|0;break a}case 15:{f=m0(b,n,p,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;f=29;break a}default:{c[g>>2]=j;f=0;break a}}}case 9:{if(h){c[g>>2]=p;f=-15;break a}else h=20;break}case 10:case 21:{h=20;break}case 30:{f=g0(b,j,p,g)|0;break a}case 35:{c[g>>2]=j;f=38;break a}case 20:{c[g>>2]=j;f=25;break a}case 4:{if(h){f=-26;break a}if((a[j>>0]|0)==0?(a[m>>0]|0)==93:0){if((n|0)==(p|0)){f=-1;break a}if((a[n>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=e+6;f=34;break a}}c[g>>2]=j;f=26;break a}case 31:{c[g>>2]=j;f=23;break a}case 32:{if(h){f=-24;break a}h=a[j>>0]|0;f=a[m>>0]|0;if(!(h<<24>>24))f=d[q+(f&255)>>0]|0;else f=v$(h,f)|0;switch(f|0){case 33:{c[g>>2]=n;f=36;break a}case 15:{c[g>>2]=n;f=35;break a}case 34:{c[g>>2]=n;f=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=j;f=24;break a}default:{c[g>>2]=j;f=0;break a}}}case 36:{c[g>>2]=j;f=21;break a}case 11:{c[g>>2]=j;f=17;break a}case 19:{f=s0(b,j,p,g)|0;break a}case 5:{if((f|0)<2){f=-2;break a}c[g>>2]=e;f=0;break a}case 6:{if((f|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((f|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 24:case 22:{f=18;h=63;break}case 23:case 27:case 26:case 25:{f=19;h=63;break}case 29:{i=i&255;h=l&255;f=h>>>5;h=1<<(h&31);if(!(h&c[57168+((f|d[143937+i>>0]<<3)<<2)>>2]))if(!(c[57168+((d[144193+i>>0]<<3|f)<<2)>>2]&h))h=62;else{f=19;h=63}else{f=18;h=63}break}default:h=62}while(0);if((h|0)==20){b:while(1){i=e;e=e+2|0;if((e|0)==(p|0)){h=27;break}f=a[e>>0]|0;h=a[i+3>>0]|0;if(!(f<<24>>24))f=d[q+(h&255)>>0]|0;else f=v$(f,h)|0;switch(f|0){case 10:case 21:{h=20;continue b}case 9:break;default:{h=26;break b}}if((i+4|0)==(p|0)){h=26;break}else h=20}if((h|0)==26){c[g>>2]=e;f=15;break}else if((h|0)==27){c[g>>2]=p;f=15;break}}else if((h|0)==62){c[g>>2]=e;f=0;break}else if((h|0)==63){c:while(1){if((j|0)==(p|0)){h=103;break}h=a[j>>0]|0;i=a[j+1>>0]|0;if(!(h<<24>>24))e=d[q+(i&255)>>0]|0;else e=v$(h,i)|0;k=j+2|0;switch(e|0){case 27:case 26:case 25:case 24:case 22:{h=f;j=k;f=h;h=63;continue c}case 5:{h=70;break c}case 6:{h=72;break c}case 7:{h=74;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{h=76;break c}case 34:{h=93;break c}case 33:{h=96;break c}case 15:{h=99;break c}case 29:{n=i&255;if(!(1<<(n&31)&c[57168+((n>>>5|d[144193+(h&255)>>0]<<3)<<2)>>2])){h=69;break c}else{h=f;j=k;f=h;h=63;continue c}}case 23:break;default:{h=102;break c}}switch(f&63){case 18:break;case 41:{f=19;j=k;h=63;continue c}default:{h=f;j=k;f=h;h=63;continue c}}if((k|0)==(p|0)){f=-1;break a}f=a[k>>0]|0;h=a[j+3>>0]|0;if(!(f<<24>>24))i=d[q+(h&255)>>0]|0;else i=v$(f,h)|0;switch(i|0){case 5:{h=86;break c}case 6:{h=88;break c}case 7:{h=90;break c}case 29:{n=h&255;if(!(1<<(n&31)&c[57168+((n>>>5|d[144193+(f&255)>>0]<<3)<<2)>>2])){h=84;break c}break}case 27:case 26:case 25:case 24:case 22:break;default:{f=19;j=k;h=63;continue c}}f=41;j=j+4|0;h=63}switch(h|0){case 69:{c[g>>2]=j;f=0;break a}case 70:{if((o-j|0)<2){f=-2;break a}c[g>>2]=j;f=0;break a}case 72:{if((o-j|0)<3){f=-2;break a}c[g>>2]=j;f=0;break a}case 74:{if((o-j|0)<4){f=-2;break a}c[g>>2]=j;f=0;break a}case 76:{c[g>>2]=j;break a}case 84:{c[g>>2]=k;f=0;break a}case 86:{if((o-k|0)<2){f=-2;break a}c[g>>2]=k;f=0;break a}case 88:{if((o-k|0)<3){f=-2;break a}c[g>>2]=k;f=0;break a}case 90:{if((o-k|0)<4){f=-2;break a}c[g>>2]=k;f=0;break a}case 93:if((f|0)==19){c[g>>2]=j;f=0;break a}else{c[g>>2]=k;f=32;break a}case 96:if((f|0)==19){c[g>>2]=j;f=0;break a}else{c[g>>2]=k;f=31;break a}case 99:if((f|0)==19){c[g>>2]=j;f=0;break a}else{c[g>>2]=k;f=30;break a}case 102:{c[g>>2]=j;f=0;break a}case 103:{f=0-f|0;break a}}}}else f=-1}else f=-4;while(0);return f|0}function R$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if((e|0)!=(f|0)){l=e;o=f-l|0;n=(o&1|0)==0;o=o&-2;p=(o|0)==0;o=n|p?f:e+o|0;if(n|p^1){f=a[e>>0]|0;p=b+76|0;h=a[e+1>>0]|0;if(!(f<<24>>24))i=d[p+(h&255)>>0]|0;else i=v$(f,h)|0;k=e+2|0;n=o;h=(k|0)==(o|0);j=e+3|0;m=e+4|0;f=n-l|0;switch(i|0){case 2:{f=j0(b,k,o,g)|0;break a}case 3:{f=f0(b,k,o,g)|0;break a}case 9:{if(h){f=-3;break a}h=a[k>>0]|0;f=a[j>>0]|0;if(!(h<<24>>24))f=d[p+(f&255)>>0]|0;else f=v$(h,f)|0;c[g>>2]=(f|0)==10?m:k;f=7;break a}case 10:{c[g>>2]=k;f=7;break a}case 4:{if(h){f=-5;break a}if((a[k>>0]|0)==0?(a[j>>0]|0)==93:0){if((m|0)==(o|0)){f=-5;break a}if((a[m>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=m;f=0;break a}}break}case 5:{if((f|0)<2){f=-2;break a}break}case 6:{if((f|0)<3){f=-2;break a}else k=j;break}case 7:{if((f|0)<4){f=-2;break a}else k=m;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:{}}b:while(1){if((k|0)==(o|0)){h=46;break}f=a[k>>0]|0;h=a[k+1>>0]|0;if(!(f<<24>>24))i=d[p+(h&255)>>0]|0;else i=v$(f,h)|0;j=k+4|0;f=k+2|0;h=n-k|0;switch(i|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{h=45;break b}case 5:if((h|0)<2){h=32;break b}else{k=f;continue b}case 6:{if((h|0)<3){h=34;break b}k=k+3|0;continue b}case 7:if((h|0)<4){h=37;break b}else{k=j;continue b}case 4:{if((f|0)==(o|0)){h=45;break b}if(a[f>>0]|0){k=f;continue b}if((a[k+3>>0]|0)!=93){k=f;continue b}if((j|0)==(o|0)){h=45;break b}if(a[j>>0]|0){k=f;continue b}if((a[k+5>>0]|0)==62){h=44;break b}else{k=f;continue b}}default:{k=f;continue b}}}if((h|0)==32){c[g>>2]=k;f=6;break}else if((h|0)==34){c[g>>2]=k;f=6;break}else if((h|0)==37){c[g>>2]=k;f=6;break}else if((h|0)==44){c[g>>2]=j;f=0;break}else if((h|0)==45){c[g>>2]=k;f=6;break}else if((h|0)==46){c[g>>2]=o;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function S$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){k=e;m=f-k|0;l=(m&1|0)==0;m=m&-2;n=(m|0)==0;m=l|n?f:e+m|0;if(l|n^1){h=a[e>>0]|0;n=b+76|0;f=a[e+1>>0]|0;if(!(h<<24>>24))h=d[n+(f&255)>>0]|0;else h=v$(h,f)|0;i=e+2|0;j=e+3|0;l=m;b=(i|0)==(m|0);f=l-k|0;k=e+4|0;switch(h|0){case 4:{if(b){f=-1;break a}if((a[i>>0]|0)==0?(a[j>>0]|0)==93:0){if((k|0)==(m|0)){f=-1;break a}if((a[k>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=e+6;f=40;break a}}break}case 9:{if(b){f=-1;break a}b=a[i>>0]|0;f=a[j>>0]|0;if(!(b<<24>>24))f=d[n+(f&255)>>0]|0;else f=v$(b,f)|0;c[g>>2]=(f|0)==10?k:i;f=7;break a}case 10:{c[g>>2]=i;f=7;break a}case 5:{if((f|0)<2){f=-2;break a}break}case 6:{if((f|0)<3){f=-2;break a}else i=j;break}case 7:{if((f|0)<4){f=-2;break a}else i=k;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:{}}b:while(1){if((i|0)==(m|0)){b=38;break}f=a[i>>0]|0;b=a[i+1>>0]|0;if(!(f<<24>>24))h=d[n+(b&255)>>0]|0;else h=v$(f,b)|0;f=i+2|0;b=l-i|0;switch(h|0){case 4:case 10:case 9:case 8:case 1:case 0:{b=37;break b}case 5:if((b|0)<2){b=30;break b}else{i=f;continue b}case 6:{if((b|0)<3){b=32;break b}i=i+3|0;continue b}case 7:{if((b|0)<4){b=35;break b}i=i+4|0;continue b}default:{i=f;continue b}}}if((b|0)==30){c[g>>2]=i;f=6;break}else if((b|0)==32){c[g>>2]=i;f=6;break}else if((b|0)==35){c[g>>2]=i;f=6;break}else if((b|0)==37){c[g>>2]=i;f=6;break}else if((b|0)==38){c[g>>2]=m;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function T$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f-e|0;r=(r&1|0)==0?f:e+(r&-2)|0;p=b+76|0;q=r;o=0;a:while(1){if((e|0)==(r|0)){f=-1;break}f=a[e>>0]|0;b=a[e+1>>0]|0;if(!(f<<24>>24))n=d[p+(b&255)>>0]|0;else n=v$(f,b)|0;f=e+2|0;b=(f|0)==(r|0);h=e+3|0;i=e+4|0;j=e+5|0;k=e+6|0;l=q-e|0;m=(i|0)==(r|0);switch(n|0){case 8:case 1:case 0:{s=10;break a}case 5:if((l|0)<2){f=-2;break a}else{n=o;e=f;o=n;continue a}case 6:if((l|0)<3){f=-2;break a}else{n=o;e=h;o=n;continue a}case 7:if((l|0)<4){f=-2;break a}else{n=o;e=i;o=n;continue a}case 2:{if(b){f=-1;break a}if(a[f>>0]|0){n=o;e=f;o=n;continue a}if((a[h>>0]|0)!=33){n=o;e=f;o=n;continue a}if(m){f=-1;break a}if(a[i>>0]|0){n=o;e=i;o=n;continue a}e=(a[j>>0]|0)==91;o=(e&1)+o|0;e=e?k:i;continue a}case 4:{if(b){f=-1;break a}if(a[f>>0]|0){n=o;e=f;o=n;continue a}if((a[h>>0]|0)!=93){n=o;e=f;o=n;continue a}if(m){f=-1;break a}if(a[i>>0]|0){n=o;e=i;o=n;continue a}if((a[j>>0]|0)!=62){n=o;e=i;o=n;continue a}if(!o){s=24;break a}o=o+-1|0;e=k;continue a}default:{n=o;e=f;o=n;continue a}}}if((s|0)==10){c[g>>2]=e;f=0}else if((s|0)==24){c[g>>2]=k;f=42}return f|0}function U$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if((e|0)!=(f|0)){l=b+76|0;j=e;a:while(1){if((j|0)==(f|0)){i=27;break}i=a[j>>0]|0;h=a[j+1>>0]|0;if(!(i<<24>>24))h=d[l+(h&255)>>0]|0;else h=v$(i,h)|0;k=j+2|0;switch(h|0){case 21:{i=24;break a}case 3:{i=10;break a}case 2:{i=13;break a}case 10:{i=14;break a}case 9:{i=17;break a}case 6:{j=j+3|0;continue a}case 7:{j=j+4|0;continue a}default:{j=k;continue a}}}if((i|0)==10)if((j|0)==(e|0)){h=f0(b,k,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==13){c[g>>2]=j;h=0;break}else if((i|0)==14)if((j|0)==(e|0)){c[g>>2]=k;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==17){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}if((k|0)==(f|0)){h=-3;break}h=a[k>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=v$(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:k;h=7;break}else if((i|0)==24)if((j|0)==(e|0)){c[g>>2]=k;h=39;break}else{c[g>>2]=j;h=6;break}else if((i|0)==27){c[g>>2]=f;h=6;break}}else h=-4;while(0);return h|0}function V$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if((e|0)!=(f|0)){l=b+76|0;j=e;a:while(1){if((j|0)==(f|0)){i=26;break}i=a[j>>0]|0;h=a[j+1>>0]|0;if(!(i<<24>>24))h=d[l+(h&255)>>0]|0;else h=v$(i,h)|0;k=j+2|0;switch(h|0){case 9:{i=19;break a}case 3:{i=10;break a}case 30:{i=13;break a}case 10:{i=16;break a}case 6:{j=j+3|0;continue a}case 7:{j=j+4|0;continue a}default:{j=k;continue a}}}if((i|0)==10)if((j|0)==(e|0)){h=f0(b,k,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==13)if((j|0)==(e|0)){h=g0(b,k,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=j;h=6;break}else if((i|0)==16)if((j|0)==(e|0)){c[g>>2]=k;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==19){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}if((k|0)==(f|0)){h=-3;break}h=a[k>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=v$(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:k;h=7;break}else if((i|0)==26){c[g>>2]=f;h=6;break}}else h=-4;while(0);return h|0}function W$(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=b+76|0;b=c;a:while(1){c=a[b>>0]|0;h=b+1|0;i=a[h>>0]|0;if(!(c<<24>>24))f=d[j+(i&255)>>0]|0;else f=v$(c,i)|0;g=e+1|0;switch(f|0){case 7:{if(c<<24>>24==(a[e>>0]|0)){e=g;b=h;c=i;k=7}else{b=0;break a}break}case 6:{k=7;break}case 5:{k=9;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{if((a[e>>0]|0)!=c<<24>>24){b=0;break a}if((a[g>>0]|0)!=i<<24>>24){b=0;break a}break}default:{k=14;break a}}if((k|0)==7){k=0;f=b+1|0;if(c<<24>>24!=(a[e>>0]|0)){b=0;break}e=e+1|0;b=f;c=a[f>>0]|0;k=9}if((k|0)==9){k=0;if(c<<24>>24!=(a[e>>0]|0)){b=0;break}if((a[b+1>>0]|0)!=(a[e+1>>0]|0)){b=0;break}}e=e+2|0;b=b+2|0}b:do if((k|0)==14){e=a[e>>0]|0;b=a[g>>0]|0;if(!(e<<24>>24))b=d[j+(b&255)>>0]|0;else b=v$(e,b)|0;switch(b|0){case 27:case 26:case 25:case 24:case 23:case 22:case 29:case 7:case 6:case 5:{b=0;break b}default:{}}b=1}while(0);return b|0}function X$(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;b=c;while(1){c=a[e>>0]|0;f=(b|0)==(d|0);if(!(c<<24>>24)){g=7;break}if(f){b=0;break}if(a[b>>0]|0){b=0;break}if((a[b+1>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+2|0}if((g|0)==7)b=f&1;return b|0}function Y$(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+76|0;f=c;a:while(1){b=a[f>>0]|0;e=a[f+1>>0]|0;if(!(b<<24>>24))b=d[g+(e&255)>>0]|0;else b=v$(b,e)|0;switch(b|0){case 27:case 26:case 25:case 24:case 23:case 22:case 29:case 5:{f=f+2|0;continue a}case 6:{f=f+3|0;continue a}case 7:{f=f+4|0;continue a}default:break a}}return f-c|0}function Z$(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+76|0;a:while(1){b=a[c>>0]|0;e=a[c+1>>0]|0;if(!(b<<24>>24))b=d[f+(e&255)>>0]|0;else b=v$(b,e)|0;switch(b|0){case 21:case 9:case 10:break;default:break a}c=c+2|0}return c|0}function _$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=b+76|0;x=0;y=0;u=1;a:while(1){w=e+2|0;b=a[w>>0]|0;r=b<<24>>24==0;s=e+3|0;t=a[s>>0]|0;if(r)q=d[z+(t&255)>>0]|0;else q=v$(b,t)|0;b=(y|0)<(f|0);h=e+4|0;i=(u|0)==1;j=(u|0)==2;v=g+(y<<4)+12|0;k=y+1|0;l=(u|0)==0;m=(u|0)!=2;n=g+(y<<4)+8|0;o=g+(y<<4)+4|0;p=g+(y<<4)|0;do switch(q|0){case 5:{if(!l){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=1;e=w;y=t;x=v;continue a}c[p>>2]=w;a[v>>0]=1;t=y;v=x;u=1;e=w;y=t;x=v;continue a}case 6:{if(!l){t=u;v=y;w=x;e=s;u=t;y=v;x=w;continue a}if(!b){v=y;w=x;u=1;e=s;y=v;x=w;continue a}c[p>>2]=w;a[v>>0]=1;v=y;w=x;u=1;e=s;y=v;x=w;continue a}case 7:{if(!l){t=u;v=y;w=x;e=h;u=t;y=v;x=w;continue a}if(!b){v=y;w=x;u=1;e=h;y=v;x=w;continue a}c[p>>2]=w;a[v>>0]=1;v=y;w=x;u=1;e=h;y=v;x=w;continue a}case 24:case 22:case 29:{if(!l){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=1;e=w;y=t;x=v;continue a}c[p>>2]=w;a[v>>0]=1;t=y;v=x;u=1;e=w;y=t;x=v;continue a}case 12:{if(m){if(!b){v=y;x=12;u=2;e=w;y=v;continue a}c[o>>2]=h;v=y;x=12;u=2;e=w;y=v;continue a}if((x|0)!=12){t=y;v=x;u=2;e=w;y=t;x=v;continue a}if(!b){x=12;y=k;u=0;e=w;continue a}c[n>>2]=w;x=12;y=k;u=0;e=w;continue a}case 13:{if(m){if(!b){v=y;x=13;u=2;e=w;y=v;continue a}c[o>>2]=h;v=y;x=13;u=2;e=w;y=v;continue a}if((x|0)!=13){t=y;v=x;u=2;e=w;y=t;x=v;continue a}if(!b){x=13;y=k;u=0;e=w;continue a}c[n>>2]=w;x=13;y=k;u=0;e=w;continue a}case 3:{if(!b){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}a[v>>0]=0;s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}case 21:{if(i){t=y;v=x;u=0;e=w;y=t;x=v;continue a}if(!j){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=2;e=w;y=t;x=v;continue a}if(!(a[v>>0]|0)){t=y;v=x;u=2;e=w;y=t;x=v;continue a}do if(r&(w|0)!=(c[o>>2]|0)&t<<24>>24==32){h=a[h>>0]|0;b=a[e+5>>0]|0;if(!(h<<24>>24)){if(b<<24>>24==32)break;b=d[z+(b&255)>>0]|0}else b=v$(h,b)|0;if((b|0)!=(x|0)){t=y;v=x;u=2;e=w;y=t;x=v;continue a}}while(0);a[v>>0]=0;t=y;v=x;u=2;e=w;y=t;x=v;continue a}case 10:case 9:{if(i){t=y;v=x;u=0;e=w;y=t;x=v;continue a}if(!j){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=2;e=w;y=t;x=v;continue a}a[v>>0]=0;t=y;v=x;u=2;e=w;y=t;x=v;continue a}case 17:case 11:if(m)break a;else{t=y;v=x;u=2;e=w;y=t;x=v;continue a}default:{s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}}while(0)}return y|0}function $$(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;b=c+4|0;d=a[b>>0]|0;a:do if(!(d<<24>>24))if((a[c+5>>0]|0)==120){c=c+6|0;b=0;while(1){b:while(1){if(!(a[c>>0]|0)){d=a[c+1>>0]|0;if(d<<24>>24==59){f=18;break a}d=d<<24>>24;switch(d|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{f=8;break b}case 70:case 69:case 68:case 67:case 66:case 65:{f=9;break b}case 102:case 101:case 100:case 99:case 98:case 97:{f=10;break b}default:{}}}c=c+2|0}if((f|0)==8){f=0;b=d+-48|b<<4}else if((f|0)==9){f=0;b=(b<<4)+-55+d|0}else if((f|0)==10){f=0;b=(b<<4)+-87+d|0}if((b|0)<1114112)c=c+2|0;else{b=-1;break}}}else{e=b;b=0;c=0;f=13}else{e=b;b=0;c=d;f=13}while(0);c:do if((f|0)==13)while(1){f=0;if(!(c<<24>>24)){c=a[e+1>>0]|0;if(c<<24>>24==59){f=18;break c}c=c<<24>>24}else c=-1;b=(b*10|0)+-48+c|0;c=e+2|0;if((b|0)>=1114112){b=-1;break c}e=c;c=a[c>>0]|0;f=13}while(0);if((f|0)==18)b=k_(b)|0;return b|0}function a0(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=c+2|0;h=c+3|0;i=c+4|0;e=c+5|0;f=c+1|0;a:do switch((d-c|0)/2|0|0){case 2:{if((a[g>>0]|0)==0?(a[h>>0]|0)==116:0){if(!(a[c>>0]|0))b=a[f>>0]|0;else b=-1;b=(b|0)==108?60:(b|0)==103?62:0}else j=27;break}case 3:{if((((((a[c>>0]|0)==0?(a[f>>0]|0)==97:0)?(a[g>>0]|0)==0:0)?(a[h>>0]|0)==109:0)?(a[i>>0]|0)==0:0)?(a[e>>0]|0)==112:0)b=38;else j=27;break}case 4:{if(!(a[c>>0]|0)){d=c+6|0;b=c+7|0;switch(a[f>>0]|0){case 113:{if(a[g>>0]|0){j=27;break a}if((a[h>>0]|0)!=117){j=27;break a}if(a[i>>0]|0){j=27;break a}if((a[e>>0]|0)!=111){j=27;break a}if(a[d>>0]|0){j=27;break a}if((a[b>>0]|0)==116){b=34;break a}else{j=27;break a}}case 97:{if(a[g>>0]|0){j=27;break a}if((a[h>>0]|0)!=112){j=27;break a}if(a[i>>0]|0){j=27;break a}if((a[e>>0]|0)!=111){j=27;break a}if(a[d>>0]|0){j=27;break a}if((a[b>>0]|0)==115){b=39;break a}else{j=27;break a}}default:{j=27;break a}}}else j=27;break}default:j=27}while(0);if((j|0)==27)b=0;return b|0}function b0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=b+76|0;k=g+4|0;b=e;while(1){if(b>>>0>=f>>>0)break;h=a[b>>0]|0;e=a[b+1>>0]|0;if(!(h<<24>>24))e=d[j+(e&255)>>0]|0;else e=v$(h,e)|0;i=b+2|0;switch(e|0){case 9:{c[g>>2]=(c[g>>2]|0)+1;if((i|0)==(f|0))b=f;else{e=a[i>>0]|0;h=a[b+3>>0]|0;if(!(e<<24>>24))e=d[j+(h&255)>>0]|0;else e=v$(e,h)|0;b=(e|0)==10?b+4|0:i}c[k>>2]=-1;break}case 6:{b=b+3|0;break}case 7:{b=b+4|0;break}case 10:{c[k>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;b=i;break}default:b=i}c[k>>2]=(c[k>>2]|0)+1}return}function c0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f+-2|0;j=b+76|0;a:while(1){h=e+2|0;if((h|0)==(k|0)){f=1;break}f=a[h>>0]|0;i=f<<24>>24==0;b=a[e+3>>0]|0;if(i)f=d[j+(b&255)>>0]|0;else f=v$(f,b)|0;switch(f|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:{e=h;continue a}case 21:if(i&b<<24>>24==9){l=12;break a}else{e=h;continue a}case 22:case 26:{if(!i){l=12;break a}if(b<<24>>24>=0){e=h;continue a}break}default:if(!i){l=12;break a}}switch(b<<24>>24|0){case 64:case 36:{e=h;break}default:{l=12;break a}}}if((l|0)==12){c[g>>2]=h;f=0}return f|0}function d0(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=h;b=c[e>>2]|0;a:while(1){if((b|0)==(f|0)){b=f;break}k=a[b+1>>0]|0;i=a[b>>0]|0;m=i&255;j=k&255;n=j>>>6;l=(j&63|128)&255;switch(i<<24>>24){case 0:{if(k<<24>>24>-1){i=c[g>>2]|0;if((i|0)==(h|0))break a;c[g>>2]=i+1;a[i>>0]=k}else p=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{p=7;break}case -37:case -38:case -39:case -40:{i=c[g>>2]|0;if((o-i|0)<4)break a;m=(m<<2&12|n)+1|0;c[g>>2]=i+1;a[i>>0]=m>>>2|240;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=j>>>2&15|m<<4&48|128;n=b+2|0;m=d[b+3>>0]|0;l=(j<<4&48|m>>>6|a[n>>0]<<2&12|128)&255;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=l;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=m&63|128;b=n;break}default:{i=c[g>>2]|0;if((o-i|0)<3)break a;c[g>>2]=i+1;a[i>>0]=m>>>4|224;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=n|m<<2&60|128;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=l}}if((p|0)==7){p=0;i=c[g>>2]|0;if((o-i|0)<2)break;c[g>>2]=i+1;a[i>>0]=n|m<<2|192;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=l}b=b+2|0}c[e>>2]=b;return}function e0(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;e=c[f>>2]|0;if((g-e|0)>(i-(c[h>>2]|0)|0)){j=g+-2|0;j=(a[j>>0]&-8)<<24>>24==-40?j:g}else j=g;while(1){if((e|0)==(j|0))break;g=c[h>>2]|0;if((g|0)==(i|0))break;k=((d[e>>0]|0)<<8|(d[e+1>>0]|0))&65535;c[h>>2]=g+2;b[g>>1]=k;g=(c[f>>2]|0)+2|0;c[f>>2]=g;e=g}return}function f0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){k=a[e>>0]|0;m=b+76|0;l=a[e+1>>0]|0;if(!(k<<24>>24))j=d[m+(l&255)>>0]|0;else j=v$(k,l)|0;n=f;h=n-e|0;i=e+2|0;switch(j|0){case 29:{l=l&255;if(!(1<<(l&31)&c[57168+((l>>>5|(d[143937+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((h|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((h|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((h|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}case 19:{b=h0(b,i,f,g)|0;break a}default:{c[g>>2]=e;b=0;break a}}b:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i>>0]|0;e=a[i+1>>0]|0;if(!(b<<24>>24))h=d[m+(e&255)>>0]|0;else h=v$(b,e)|0;j=i+2|0;switch(h|0){case 27:case 26:case 25:case 24:case 22:{i=j;continue b}case 5:{e=23;break b}case 6:{e=25;break b}case 7:{e=27;break b}case 18:{e=29;break b}case 29:break;default:{e=30;break b}}l=e&255;if(!(1<<(l&31)&c[57168+((l>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){e=22;break}else i=j}if((e|0)==22){c[g>>2]=i;b=0;break}else if((e|0)==23){if((n-i|0)<2){b=-2;break}c[g>>2]=i;b=0;break}else if((e|0)==25){if((n-i|0)<3){b=-2;break}c[g>>2]=i;b=0;break}else if((e|0)==27){if((n-i|0)<4){b=-2;break}c[g>>2]=i;b=0;break}else if((e|0)==29){c[g>>2]=j;b=9;break}else if((e|0)==30){c[g>>2]=i;b=0;break}}else b=-1;while(0);return b|0}function g0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){j=a[e>>0]|0;k=b+76|0;i=a[e+1>>0]|0;if(!(j<<24>>24))h=d[k+(i&255)>>0]|0;else h=v$(j,i)|0;l=f;b=l-e|0;switch(h|0){case 29:{i=i&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[143937+(j&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((b|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((b|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((b|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}case 30:case 9:case 10:case 21:{c[g>>2]=e;b=22;break a}default:{c[g>>2]=e;b=0;break a}}e=e+2|0;b:while(1){if((e|0)==(f|0)){b=-1;break a}b=a[e>>0]|0;h=a[e+1>>0]|0;if(!(b<<24>>24))i=d[k+(h&255)>>0]|0;else i=v$(b,h)|0;j=e+2|0;switch(i|0){case 27:case 26:case 25:case 24:case 22:{e=j;continue b}case 5:{h=24;break b}case 6:{h=26;break b}case 7:{h=28;break b}case 18:{h=30;break b}case 29:break;default:{h=31;break b}}i=h&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){h=23;break}else e=j}if((h|0)==23){c[g>>2]=e;b=0;break}else if((h|0)==24){if((l-e|0)<2){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==26){if((l-e|0)<3){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==28){if((l-e|0)<4){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==30){c[g>>2]=j;b=28;break}else if((h|0)==31){c[g>>2]=e;b=0;break}}else b=-1;while(0);return b|0}function h0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){h=a[e>>0]|0;i=h<<24>>24==0;j=e+2|0;k=a[e+1>>0]|0;if(i&k<<24>>24==120){b=i0(b,j,f,g)|0;break}l=b+76|0;if(i)b=d[l+(k&255)>>0]|0;else b=v$(h,k)|0;if((b|0)!=25){c[g>>2]=e;b=0;break}b:while(1){if((j|0)==(f|0)){b=-1;break a}b=a[j>>0]|0;h=a[j+1>>0]|0;if(!(b<<24>>24))b=d[l+(h&255)>>0]|0;else b=v$(b,h)|0;i=j+2|0;switch(b|0){case 25:{j=i;break}case 18:{h=14;break b}default:{h=15;break b}}}if((h|0)==14){c[g>>2]=i;b=10;break}else if((h|0)==15){c[g>>2]=j;b=0;break}}else b=-1;while(0);return b|0}function i0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if((e|0)!=(f|0)){h=a[e>>0]|0;j=b+76|0;b=a[e+1>>0]|0;if(!(h<<24>>24))b=d[j+(b&255)>>0]|0;else b=v$(h,b)|0;if((b&-2|0)!=24){c[g>>2]=e;b=0;break}i=e+2|0;b:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i>>0]|0;h=a[i+1>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=v$(b,h)|0;e=i+2|0;switch(b|0){case 24:case 25:{i=e;break}case 18:{h=13;break b}default:{h=14;break b}}}if((h|0)==13){c[g>>2]=e;b=10;break}else if((h|0)==14){c[g>>2]=i;b=0;break}}else b=-1;while(0);return b|0}function j0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:do if((e|0)!=(f|0)){k=a[e>>0]|0;n=b+76|0;l=a[e+1>>0]|0;if(!(k<<24>>24))j=d[n+(l&255)>>0]|0;else j=v$(k,l)|0;h=e+2|0;m=f;i=m-e|0;switch(j|0){case 29:{l=l&255;if(!(1<<(l&31)&c[57168+((l>>>5|d[143937+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;h=0;break a}else l=0;break}case 24:case 22:{l=0;break}case 5:{if((i|0)<2){h=-2;break a}c[g>>2]=e;h=0;break a}case 6:{if((i|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 7:{if((i|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 16:{if((h|0)==(f|0)){h=-1;break a}i=a[h>>0]|0;j=a[e+3>>0]|0;if(!(i<<24>>24))j=d[n+(j&255)>>0]|0;else j=v$(i,j)|0;i=e+4|0;switch(j|0){case 27:{h=k0(b,i,f,g)|0;break a}case 20:{h=l0(i,f,g)|0;break a}default:{c[g>>2]=h;h=0;break a}}}case 15:{h=m0(b,h,f,g)|0;break a}case 17:{h=n0(b,h,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}b:while(1){c:while(1){if((h|0)==(f|0)){h=-1;break a}i=a[h>>0]|0;j=a[h+1>>0]|0;if(!(i<<24>>24))k=d[n+(j&255)>>0]|0;else k=v$(i,j)|0;e=h+2|0;switch(k|0){case 5:{o=32;break b}case 6:{o=34;break b}case 7:{o=36;break b}case 10:case 9:case 21:{h=e;o=56;break b}case 11:{o=71;break b}case 17:break b;case 27:case 26:case 25:case 24:case 22:{h=e;continue c}case 23:break c;case 29:break;default:{o=77;break b}}k=j&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[144193+(i&255)>>0]<<3)<<2)>>2])){o=31;break b}else h=e}if(l|0){o=39;break}if((e|0)==(f|0)){h=-1;break a}i=a[e>>0]|0;j=a[h+3>>0]|0;if(!(i<<24>>24))k=d[n+(j&255)>>0]|0;else k=v$(i,j)|0;switch(k|0){case 5:{o=49;break b}case 6:{o=51;break b}case 7:{o=53;break b}case 29:{l=j&255;if(!(1<<(l&31)&c[57168+((l>>>5|d[143937+(i&255)>>0]<<3)<<2)>>2])){o=46;break b}break}case 24:case 22:break;default:{o=55;break b}}l=1;h=h+4|0}d:switch(o|0){case 31:{c[g>>2]=h;h=0;break a}case 32:{if((m-h|0)<2){h=-2;break a}c[g>>2]=h;h=0;break a}case 34:{if((m-h|0)<3){h=-2;break a}c[g>>2]=h;h=0;break a}case 36:{if((m-h|0)<4){h=-2;break a}c[g>>2]=h;h=0;break a}case 39:{c[g>>2]=h;h=0;break a}case 46:{c[g>>2]=e;h=0;break a}case 49:{if((m-e|0)<2){h=-2;break a}c[g>>2]=e;h=0;break a}case 51:{if((m-e|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 53:{if((m-e|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 55:{c[g>>2]=e;h=0;break a}case 56:{e:while(1){o=0;if((h|0)==(f|0)){h=-1;break a}i=a[h>>0]|0;j=a[h+1>>0]|0;if(!(i<<24>>24))l=d[n+(j&255)>>0]|0;else l=v$(i,j)|0;k=h+2|0;switch(l|0){case 11:{o=71;break d}case 17:break d;case 10:case 9:case 21:{h=k;o=56;break}case 29:{o=61;break e}case 24:case 22:break e;case 5:{o=64;break e}case 6:{o=66;break e}case 7:{o=68;break e}default:{o=70;break e}}}if((o|0)==61){o=j&255;if(!(1<<(o&31)&c[57168+((o>>>5|d[143937+(i&255)>>0]<<3)<<2)>>2])){c[g>>2]=h;h=0;break a}}else if((o|0)==64){if((m-h|0)<2){h=-2;break a}c[g>>2]=h;h=0;break a}else if((o|0)==66){if((m-h|0)<3){h=-2;break a}c[g>>2]=h;h=0;break a}else if((o|0)==68){if((m-h|0)<4){h=-2;break a}c[g>>2]=h;h=0;break a}else if((o|0)==70){c[g>>2]=h;h=0;break a}h=o0(b,k,f,g)|0;break a}case 77:{c[g>>2]=h;h=0;break a}}if((o|0)==71){c[g>>2]=h+2;h=2;break}i=h+2|0;if((i|0)!=(f|0)){if((a[i>>0]|0)==0?(a[h+3>>0]|0)==62:0){c[g>>2]=h+4;h=4;break}c[g>>2]=i;h=0}else h=-1}else h=-1;while(0);return h|0}function k0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)==(f|0))b=-1;else{if((a[e>>0]|0)==0?(a[e+1>>0]|0)==45:0){j=b+76|0;k=f;i=e+2|0;b:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i>>0]|0;e=a[i+1>>0]|0;if(!(b<<24>>24))h=d[j+(e&255)>>0]|0;else h=v$(b,e)|0;b=i+2|0;e=k-i|0;switch(h|0){case 8:case 1:case 0:{l=16;break b}case 5:if((e|0)<2){b=-2;break a}else{i=b;continue b}case 6:{if((e|0)<3){b=-2;break a}i=i+3|0;continue b}case 7:{if((e|0)<4){b=-2;break a}i=i+4|0;continue b}case 27:{if((b|0)==(f|0)){b=-1;break a}if(a[b>>0]|0){i=b;continue b}if((a[i+3>>0]|0)==45)break b;else{i=b;continue b}}default:{i=b;continue b}}}if((l|0)==16){c[g>>2]=i;b=0;break}b=i+4|0;if((b|0)==(f|0)){b=-1;break}if((a[b>>0]|0)==0?(a[i+5>>0]|0)==62:0){c[g>>2]=i+6;b=13;break}c[g>>2]=b;b=0;break}c[g>>2]=e;b=0}while(0);return b|0}function l0(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)<12)d=-1;else{d=0;while(1){if((d|0)>=6){d=8;break}if(a[b>>0]|0){d=0;break}if((a[b+1>>0]|0)!=(a[144449+d>>0]|0)){d=0;break}d=d+1|0;b=b+2|0}c[e>>2]=b}return d|0}function m0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;a:do if((e|0)==(f|0))b=-1;else{j=a[e>>0]|0;o=b+76|0;b=a[e+1>>0]|0;if(!(j<<24>>24))i=d[o+(b&255)>>0]|0;else i=v$(j,b)|0;n=f;h=n-e|0;switch(i|0){case 29:{k=b&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[143937+(j&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((h|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((h|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((h|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}default:{c[g>>2]=e;b=0;break a}}b=e+2|0;b:while(1){if((b|0)==(f|0)){b=-1;break a}h=a[b>>0]|0;i=a[b+1>>0]|0;if(!(h<<24>>24))k=d[o+(i&255)>>0]|0;else k=v$(h,i)|0;j=b+2|0;switch(k|0){case 27:case 26:case 25:case 24:case 22:{b=j;continue b}case 5:{m=23;break b}case 6:{m=25;break b}case 7:{m=27;break b}case 10:case 9:case 21:{m=29;break b}case 15:{m=46;break b}case 29:break;default:break b}k=i&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[144193+(h&255)>>0]<<3)<<2)>>2])){m=22;break}else b=j}if((m|0)==22){c[g>>2]=b;b=0;break}else if((m|0)==23){if((n-b|0)<2){b=-2;break}c[g>>2]=b;b=0;break}else if((m|0)==25){if((n-b|0)<3){b=-2;break}c[g>>2]=b;b=0;break}else if((m|0)==27){if((n-b|0)<4){b=-2;break}c[g>>2]=b;b=0;break}else if((m|0)==29){if(!(p0(e,b,p)|0)){c[g>>2]=b;b=0;break}c:while(1){if((j|0)==(f|0)){b=-1;break a}b=a[j>>0]|0;h=a[j+1>>0]|0;if(!(b<<24>>24))i=d[o+(h&255)>>0]|0;else i=v$(b,h)|0;b=j+2|0;h=n-j|0;switch(i|0){case 8:case 1:case 0:{m=41;break c}case 5:if((h|0)<2){b=-2;break a}else{j=b;continue c}case 6:{if((h|0)<3){b=-2;break a}j=j+3|0;continue c}case 7:{if((h|0)<4){b=-2;break a}j=j+4|0;continue c}case 15:{if((b|0)==(f|0)){b=-1;break a}if(a[b>>0]|0){j=b;continue c}if((a[j+3>>0]|0)==62){m=45;break c}else{j=b;continue c}}default:{j=b;continue c}}}if((m|0)==41){c[g>>2]=j;b=0;break}else if((m|0)==45){c[g>>2]=j+4;b=c[p>>2]|0;break}}else if((m|0)==46){if(!(p0(e,b,p)|0)){c[g>>2]=b;b=0;break}if((j|0)==(f|0)){b=-1;break}if((a[j>>0]|0)==0?(a[b+3>>0]|0)==62:0){c[g>>2]=b+4;b=c[p>>2]|0;break}else b=j}c[g>>2]=b;b=0}while(0);l=q;return b|0}function n0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){j=a[e>>0]|0;l=b+76|0;i=a[e+1>>0]|0;if(!(j<<24>>24))h=d[l+(i&255)>>0]|0;else h=v$(j,i)|0;k=f;b=k-e|0;switch(h|0){case 29:{i=i&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[143937+(j&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((b|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((b|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((b|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}default:{c[g>>2]=e;b=0;break a}}j=e+2|0;b:while(1){if((j|0)==(f|0)){b=-1;break a}b=a[j>>0]|0;h=a[j+1>>0]|0;if(!(b<<24>>24))e=d[l+(h&255)>>0]|0;else e=v$(b,h)|0;i=j+2|0;switch(e|0){case 23:case 27:case 26:case 25:case 24:case 22:{j=i;continue b}case 5:{e=23;break b}case 6:{e=25;break b}case 7:{e=27;break b}case 10:case 9:case 21:{e=29;break b}case 11:{e=36;break b}case 29:break;default:{e=37;break b}}e=h&255;if(!(1<<(e&31)&c[57168+((e>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){e=22;break}else j=i}if((e|0)==22){c[g>>2]=j;b=0;break}else if((e|0)==23){if((k-j|0)<2){b=-2;break}c[g>>2]=j;b=0;break}else if((e|0)==25){if((k-j|0)<3){b=-2;break}c[g>>2]=j;b=0;break}else if((e|0)==27){if((k-j|0)<4){b=-2;break}c[g>>2]=j;b=0;break}else if((e|0)==29){c:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i>>0]|0;h=a[i+1>>0]|0;if(!(b<<24>>24))b=d[l+(h&255)>>0]|0;else b=v$(b,h)|0;h=i+2|0;switch(b|0){case 10:case 9:case 21:{i=h;e=29;break}case 11:{e=34;break c}default:{e=35;break c}}}if((e|0)==34){c[g>>2]=h;b=5;break}else if((e|0)==35){c[g>>2]=i;b=0;break}}else if((e|0)==36){c[g>>2]=i;b=5;break}else if((e|0)==37){c[g>>2]=j;b=0;break}}else b=-1;while(0);return b|0}function o0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;c[p>>2]=e;m=b+76|0;n=f;h=0;a:while(1){b:while(1){if((e|0)==(f|0)){e=-1;break a}k=a[e>>0]|0;i=a[e+1>>0]|0;if(!(k<<24>>24))j=d[m+(i&255)>>0]|0;else j=v$(k,i)|0;switch(j|0){case 5:{o=11;break a}case 6:{o=13;break a}case 7:{o=15;break a}case 23:{o=17;break b}case 10:case 9:case 21:{h=e;o=33;break b}case 14:{o=39;break b}case 29:{j=i&255;if(!(1<<(j&31)&c[57168+((j>>>5|d[144193+(k&255)>>0]<<3)<<2)>>2])){o=9;break a}break}case 27:case 26:case 25:case 24:case 22:break;default:{o=93;break a}}k=e+2|0;c[p>>2]=k;e=k}c:do if((o|0)==17){o=0;if(h|0){o=18;break a}h=e+2|0;c[p>>2]=h;if((h|0)==(f|0)){e=-1;break a}i=a[h>>0]|0;j=a[e+3>>0]|0;if(!(i<<24>>24))k=d[m+(j&255)>>0]|0;else k=v$(i,j)|0;switch(k|0){case 5:{o=26;break a}case 6:{o=28;break a}case 7:{o=30;break a}case 24:case 22:{h=1;break c}case 29:break;default:{o=32;break a}}k=j&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[143937+(i&255)>>0]<<3)<<2)>>2])){o=25;break a}else h=1}else if((o|0)==33)while(1){o=0;e=h+2|0;c[p>>2]=e;if((e|0)==(f|0)){e=-1;break a}i=a[e>>0]|0;h=a[h+3>>0]|0;if(!(i<<24>>24))h=d[m+(h&255)>>0]|0;else h=v$(i,h)|0;switch(h|0){case 14:{o=39;break c}case 9:case 10:case 21:{h=e;o=33;break}default:{o=38;break a}}}while(0);d:do if((o|0)==39){while(1){o=0;j=e+2|0;c[p>>2]=j;if((j|0)==(f|0)){e=-1;break a}h=a[j>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))k=d[m+(i&255)>>0]|0;else k=v$(h,i)|0;if((k|1|0)==13)break;switch(k|0){case 9:case 10:case 21:{e=j;o=39;break}default:{o=45;break a}}}e=e+4|0;c[p>>2]=e;e:while(1){if((e|0)==(f|0)){e=-1;break a}h=a[e>>0]|0;i=a[e+1>>0]|0;if(!(h<<24>>24))h=d[m+(i&255)>>0]|0;else h=v$(h,i)|0;if((h|0)==(k|0))break;switch(h|0){case 8:case 1:case 0:{o=59;break a}case 2:{o=64;break a}case 5:{if((n-e|0)<2){e=-2;break a}j=e+2|0;c[p>>2]=j;e=j;continue e}case 6:{if((n-e|0)<3){e=-2;break a}j=e+3|0;c[p>>2]=j;e=j;continue e}case 7:{if((n-e|0)<4){e=-2;break a}j=e+4|0;c[p>>2]=j;e=j;continue e}case 3:{e=f0(b,e+2|0,f,p)|0;if((e|0)<1){o=62;break a}e=c[p>>2]|0;continue e}default:{j=e+2|0;c[p>>2]=j;e=j;continue e}}}i=e+2|0;c[p>>2]=i;if((i|0)==(f|0)){e=-1;break a}h=a[i>>0]|0;j=a[e+3>>0]|0;if(!(h<<24>>24))h=d[m+(j&255)>>0]|0;else h=v$(h,j)|0;switch(h|0){case 11:{o=85;break a}case 17:{o=86;break a}case 10:case 9:case 21:{e=i;break}default:{o=71;break a}}f:while(1){i=e+2|0;c[p>>2]=i;if((i|0)==(f|0)){e=-1;break a}h=a[i>>0]|0;j=a[e+3>>0]|0;if(!(h<<24>>24))k=d[m+(j&255)>>0]|0;else k=v$(h,j)|0;switch(k|0){case 5:{o=79;break a}case 6:{o=81;break a}case 7:{o=83;break a}case 11:{o=85;break a}case 17:{o=86;break a}case 24:case 22:{h=0;break d}case 10:case 9:case 21:{e=i;break}case 29:break f;default:{o=91;break a}}}k=j&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[143937+(h&255)>>0]<<3)<<2)>>2])){o=78;break a}else h=0}while(0);e=e+4|0;c[p>>2]=e}switch(o|0){case 9:{c[g>>2]=e;e=0;break}case 11:{if((f-e|0)<2)e=-2;else{c[g>>2]=e;e=0}break}case 13:{if((f-e|0)<3)e=-2;else{c[g>>2]=e;e=0}break}case 15:{if((f-e|0)<4)e=-2;else{c[g>>2]=e;e=0}break}case 18:{c[g>>2]=e;e=0;break}case 25:{c[g>>2]=h;e=0;break}case 26:{if((f-h|0)<2)e=-2;else{c[g>>2]=h;e=0}break}case 28:{if((f-h|0)<3)e=-2;else{c[g>>2]=h;e=0}break}case 30:{if((f-h|0)<4)e=-2;else{c[g>>2]=h;e=0}break}case 32:{c[g>>2]=h;e=0;break}case 38:{c[g>>2]=e;e=0;break}case 45:{c[g>>2]=j;e=0;break}case 59:{c[g>>2]=e;e=0;break}case 62:{if(!e){c[g>>2]=c[p>>2];e=0}break}case 64:{c[g>>2]=e;e=0;break}case 71:{c[g>>2]=i;e=0;break}case 78:{c[g>>2]=i;e=0;break}case 79:{if((n-i|0)<2)e=-2;else{c[g>>2]=i;e=0}break}case 81:{if((n-i|0)<3)e=-2;else{c[g>>2]=i;e=0}break}case 83:{if((n-i|0)<4)e=-2;else{c[g>>2]=i;e=0}break}case 85:{c[g>>2]=e+4;e=1;break}case 86:{h=i+2|0;c[p>>2]=h;e=h;if((h|0)==(f|0))e=-1;else{if((a[h>>0]|0)==0?(a[i+3>>0]|0)==62:0){c[g>>2]=i+4;e=3;break}c[g>>2]=e;e=0}break}case 91:{c[g>>2]=i;e=0;break}case 93:{c[g>>2]=e;e=0;break}}l=q;return e|0}function p0(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==6?(a[b>>0]|0)==0:0){switch(a[b+1>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}if(!(a[b+2>>0]|0)){switch(a[b+3>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}if(!(a[b+4>>0]|0)){switch(a[b+5>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1}else d=1}else d=1;while(0);return d|0}function q0(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;l=e+76|0;k=g;j=f;a:while(1){if((j|0)==(g|0)){e=-1;break}f=a[j>>0]|0;e=a[j+1>>0]|0;if(!(f<<24>>24))i=d[l+(e&255)>>0]|0;else i=v$(f,e)|0;e=j+2|0;f=k-j|0;switch(i|0){case 8:case 1:case 0:{m=12;break a}case 5:if((f|0)<2){e=-2;break a}else{j=e;continue a}case 6:{if((f|0)<3){e=-2;break a}j=j+3|0;continue a}case 7:{if((f|0)<4){e=-2;break a}j=j+4|0;continue a}case 13:case 12:if((i|0)==(b|0)){m=14;break a}else{j=e;continue a}default:{j=e;continue a}}}b:do if((m|0)==12){c[h>>2]=j;e=0}else if((m|0)==14)if((e|0)==(g|0))e=-27;else{c[h>>2]=e;f=a[e>>0]|0;e=a[j+3>>0]|0;if(!(f<<24>>24))e=d[l+(e&255)>>0]|0;else e=v$(f,e)|0;switch(e|0){case 20:case 30:case 11:case 10:case 9:case 21:{e=27;break b}default:{}}e=0}while(0);return e|0}function r0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if((e|0)==(f|0))h=-1;else{h=a[e>>0]|0;i=a[e+1>>0]|0;k=b+76|0;if(!(h<<24>>24))i=d[k+(i&255)>>0]|0;else i=v$(h,i)|0;h=e+2|0;switch(i|0){case 27:{h=k0(b,h,f,g)|0;break a}case 20:{c[g>>2]=h;h=33;break a}case 24:case 22:{b=h;b:while(1){if((b|0)==(f|0)){h=-1;break a}h=a[b>>0]|0;i=a[b+1>>0]|0;if(!(h<<24>>24))i=d[k+(i&255)>>0]|0;else i=v$(h,i)|0;h=b+2|0;switch(i|0){case 24:case 22:{b=h;break}case 30:{j=14;break b}case 10:case 9:case 21:break b;default:{j=21;break b}}}if((j|0)==21){c[g>>2]=b;h=0;break a}c:do if((j|0)==14){if((h|0)==(f|0)){h=-1;break a}h=a[h>>0]|0;i=a[b+3>>0]|0;if(!(h<<24>>24))h=d[k+(i&255)>>0]|0;else h=v$(h,i)|0;switch(h|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=b;h=0;break a}while(0);c[g>>2]=b;h=16;break a}default:{c[g>>2]=e;h=0;break a}}}while(0);return h|0}function s0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){j=a[e>>0]|0;k=b+76|0;i=a[e+1>>0]|0;if(!(j<<24>>24))h=d[k+(i&255)>>0]|0;else h=v$(j,i)|0;l=f;b=l-e|0;switch(h|0){case 29:{i=i&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[143937+(j&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((b|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((b|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((b|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}default:{c[g>>2]=e;b=0;break a}}b:while(1){b=e;e=e+2|0;if((e|0)==(f|0)){b=-20;break a}i=a[e>>0]|0;b=a[b+3>>0]|0;if(!(i<<24>>24))h=d[k+(b&255)>>0]|0;else h=v$(i,b)|0;switch(h|0){case 27:case 26:case 25:case 24:case 22:continue b;case 5:{h=22;break b}case 6:{h=24;break b}case 7:{h=26;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{h=28;break b}case 29:break;default:{h=29;break b}}j=b&255;if(!(1<<(j&31)&c[57168+((j>>>5|(d[144193+(i&255)>>0]|0)<<3)<<2)>>2])){h=21;break}}if((h|0)==21){c[g>>2]=e;b=0;break}else if((h|0)==22){if((l-e|0)<2){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==24){if((l-e|0)<3){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==26){if((l-e|0)<4){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==28){c[g>>2]=e;b=20;break}else if((h|0)==29){c[g>>2]=e;b=0;break}}else b=-1;while(0);return b|0}function t0(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;while(1){b=c[d>>2]|0;if((b|0)==(e|0))break;if((c[f>>2]|0)==(g|0))break;c[d>>2]=b+1;h=a[b>>0]|0;b=c[f>>2]|0;c[f>>2]=b+1;a[b>>0]=h}return}function u0(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a:while(1){f=a[b>>0]|0;g=a[c>>0]|0;f=(f+-97&255)<26?(f&255)+224&255:f;switch((f<<24>>24==((g+-97&255)<26?(g&255)+224&255:g)<<24>>24?(f<<24>>24==0?2:0):1)&3){case 0:{c=c+1|0;b=b+1|0;break}case 1:{e=3;break a}case 2:{d=1;break a}default:{e=5;break a}}}if((e|0)==3)d=0;return d|0}function v0(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return x0(42,a,b,c,d,e,f,g,h,i,j)|0}function w0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+144|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;fb[c[b+60>>2]&31](b,i,e,g,f+127|0);do if((c[i>>2]|0)==(e|0)){a[c[g>>2]>>0]=0;if(u0(f,144464)|0?(c[b+68>>2]|0)==2:0)break;b=L$(f)|0;if((b|0)!=-1)b=c[59184+(b<<2)>>2]|0;else b=0}else b=0;while(0);l=h;return b|0}function x0(a,b,d,e,f,g,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;t=v+8|0;q=v+12|0;o=v+4|0;p=v;c[q>>2]=0;c[o>>2]=0;c[p>>2]=0;u=d+68|0;s=c[u>>2]|0;r=e+(s*5|0)|0;c[t>>2]=r;s=f+(0-(s<<1))|0;r=(y0(d,r,s,o,p,q,t)|0)!=0;n=c[o>>2]|0;e=n;a:do if(r&(n|0)!=0){r=d+28|0;f=c[p>>2]|0;b=(b|0)!=0;do if(!(tb[c[r>>2]&127](d,n,f,144489)|0)){if(!b){c[g>>2]=e;e=0;break a}}else{if(h|0)c[h>>2]=c[q>>2];e=c[t>>2]|0;if(i|0)c[i>>2]=e;if(!(y0(d,e,s,o,p,q,t)|0)){c[g>>2]=c[t>>2];e=0;break a}e=c[o>>2]|0;if(e|0){n=e;f=c[p>>2]|0;break}if(!b){e=1;break a}c[g>>2]=c[t>>2];e=0;break a}while(0);if(tb[c[r>>2]&127](d,n,f,144497)|0){f=c[q>>2]|0;e=f;if((((z0(d,f,s)|0)&-33)+-65|0)>>>0>=26){c[g>>2]=e;e=0;break}if(j|0)c[j>>2]=e;e=c[t>>2]|0;if(k|0)c[k>>2]=eb[a&63](d,f,e+(0-(c[u>>2]|0))|0)|0;if(!(y0(d,e,s,o,p,q,t)|0)){c[g>>2]=c[t>>2];e=0;break}e=c[o>>2]|0;if(!e){e=1;break}n=e;f=c[p>>2]|0}if(b|(tb[c[r>>2]&127](d,n,f,144506)|0)==0){c[g>>2]=e;e=0;break}f=c[q>>2]|0;e=c[t>>2]|0;n=(m|0)!=0;b=f;if(!(tb[c[r>>2]&127](d,f,e+(0-(c[u>>2]|0))|0,107958)|0)){if(!(tb[c[r>>2]&127](d,f,e+(0-(c[u>>2]|0))|0,107950)|0)){c[g>>2]=b;e=0;break}if(n)c[m>>2]=0}else if(n)c[m>>2]=1;while(1){if(!(A0(z0(d,e,s)|0)|0))break;e=e+(c[u>>2]|0)|0}c[t>>2]=e;if((e|0)==(s|0))e=1;else{c[g>>2]=e;e=0}}else{c[g>>2]=c[t>>2];e=0}while(0);l=v;return e|0}function y0(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;a:do if((b|0)!=(d|0)){if(!(A0(z0(a,b,d)|0)|0)){c[h>>2]=b;b=0;break}j=a+68|0;do b=b+(c[j>>2]|0)|0;while((A0(z0(a,b,d)|0)|0)!=0);if((b|0)==(d|0)){c[e>>2]=0;b=1;break}c[e>>2]=b;b:while(1){i=z0(a,b,d)|0;switch(i|0){case -1:{i=11;break b}case 61:{i=12;break b}default:{}}if(A0(i)|0){i=14;break}b=b+(c[j>>2]|0)|0}if((i|0)==11){c[h>>2]=b;b=0;break}else if((i|0)==12)c[f>>2]=b;else if((i|0)==14){c[f>>2]=b;do{b=b+(c[j>>2]|0)|0;i=z0(a,b,d)|0}while((A0(i)|0)!=0);if((i|0)!=61){c[h>>2]=b;b=0;break}}if((b|0)==(c[e>>2]|0)){c[h>>2]=b;b=0;break}do{b=b+(c[j>>2]|0)|0;i=z0(a,b,d)|0}while((A0(i)|0)!=0);switch(i|0){case 34:case 39:break;default:{c[h>>2]=b;b=0;break a}}f=b+(c[j>>2]|0)|0;c[g>>2]=f;b=i<<24>>24;c:while(1){i=z0(a,f,d)|0;if((i|0)==(b|0)){i=30;break}if((i+-48|0)>>>0>9&((i&-33)+-65|0)>>>0>25)switch(i|0){case 45:case 46:case 95:break;default:{i=28;break c}}f=f+(c[j>>2]|0)|0}if((i|0)==28){c[h>>2]=f;b=0;break}else if((i|0)==30){c[h>>2]=f+(c[j>>2]|0);b=1;break}}else{c[e>>2]=0;b=1}while(0);return b|0}function z0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;fb[c[b+60>>2]&31](b,i,e,g,f+1|0);l=h;return ((c[g>>2]|0)==(f|0)?-1:a[f>>0]|0)|0}function A0(a){a=a|0;switch(a|0){case 9:case 10:case 13:case 32:{a=1;break}default:a=0}return a|0}function B0(){return 60340}function C0(b,d,e){b=b|0;d=d|0;e=e|0;e=L$(e)|0;if((e|0)==-1)e=0;else{a[b+73>>0]=e;c[b>>2]=69;c[b+4>>2]=70;c[b+52>>2]=31;c[b+76>>2]=d;c[d>>2]=b;e=1}return e|0}function D0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return P$(60708,a,0,b,c,d)|0}function E0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return P$(60708,a,1,b,c,d)|0}function F0(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return x0(43,a,b,c,d,e,f,g,h,i,j)|0}function G0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+144|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;fb[c[b+60>>2]&31](b,i,e,g,f+127|0);do if((c[i>>2]|0)==(e|0)){a[c[g>>2]>>0]=0;if(u0(f,144464)|0?(c[b+68>>2]|0)==2:0)break;b=L$(f)|0;if((b|0)!=-1)b=c[60708+(b<<2)>>2]|0;else b=0}else b=0;while(0);l=h;return b|0}function H0(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;b=j_(b,c,d,e)|0;if(b|0)a[b+76+58>>0]=23;return b|0}function I0(a){a=a|0;c[a>>2]=4;c[a+16>>2]=1;c[a+12>>2]=0;c[a+20>>2]=0;return}function J0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{c[a>>2]=5;a=0;break}case 12:{c[a>>2]=5;a=1;break}case 11:{c[a>>2]=5;a=55;break}case 13:{c[a>>2]=5;a=56;break}case 14:{a=0;break}case 16:{if(!(tb[c[f+28>>2]&127](f,d+(c[f+68>>2]<<1)|0,e,144517)|0))g=9;else{c[a>>2]=6;a=3}break}case 29:{c[a>>2]=7;a=2;break}default:g=9}if((g|0)==9)a=N0(a,b)|0;return a|0}function K0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 14:case 15:{a=0;break}case 11:{a=55;break}case 13:{a=56;break}case 16:{if(!(tb[c[f+28>>2]&127](f,d+(c[f+68>>2]<<1)|0,e,144517)|0))g=7;else{c[a>>2]=6;a=3}break}case 29:{c[a>>2]=7;a=2;break}default:g=7}if((g|0)==7)a=N0(a,b)|0;return a|0}function L0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 41:case 18:{c[a>>2]=8;a=4;break}default:a=N0(a,b)|0}return a|0}function M0(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function N0(a,b){a=a|0;b=b|0;if((b|0)==28&(c[a+16>>2]|0)==0)a=59;else{c[a>>2]=7;a=-1}return a|0}function O0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=3;break}case 25:{c[a>>2]=9;a=7;break}case 17:{c[a>>2]=10;a=8;break}case 18:{g=f+28|0;if(tb[c[g>>2]&127](f,d,e,144525)|0){c[a>>2]=11;a=3;break a}if(!(tb[c[g>>2]&127](f,d,e,144532)|0))h=8;else{c[a>>2]=12;a=3}break}default:h=8}while(0);if((h|0)==8)a=N0(a,b)|0;return a|0}function P0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:do switch(b|0){case -4:case 15:{a=0;break}case 16:{g=f+28|0;h=f+68|0;if(tb[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,144539)|0){c[a>>2]=13;a=11;break a}if(tb[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,144546)|0){c[a>>2]=14;a=33;break a}if(tb[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,144554)|0){c[a>>2]=15;a=39;break a}if(!(tb[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,144562)|0))i=14;else{c[a>>2]=16;a=17}break}case 11:{a=55;break}case 13:{a=56;break}case 28:{a=60;break}case 26:{c[a>>2]=17;a=3;break}default:i=14}while(0);if((i|0)==14)a=N0(a,b)|0;return a|0}function Q0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;f=b+-11|0;switch(f>>>1|f<<31|0){case 2:{a=0;break}case 0:{a=55;break}case 1:{a=56;break}case 9:{c[a>>2]=7;a=2;break}default:a=N0(a,b)|0}return a|0}function R0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 27:{c[a>>2]=18;a=5;break}default:a=N0(a,b)|0}return a|0}function S0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 27:{c[a>>2]=11;a=6;break}default:a=N0(a,b)|0}return a|0}function T0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 25:{c[a>>2]=9;a=7;break}case 17:{c[a>>2]=10;a=8;break}default:a=N0(a,b)|0}return a|0}function U0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 22:{c[a>>2]=19;a=11;break}case 18:{c[a>>2]=20;a=9;break}default:a=N0(a,b)|0}return a|0}function V0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 41:case 18:{c[a>>2]=21;a=34;break}default:a=N0(a,b)|0}return a|0}function W0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 41:case 18:{c[a>>2]=22;a=40;break}default:a=N0(a,b)|0}return a|0}function X0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 18:{c[a>>2]=23;a=18;break}default:a=N0(a,b)|0}return a|0}function Y0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 17:{c[a>>2]=10;a=8;break}default:a=N0(a,b)|0}return a|0}function Z0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=17;break}case 18:{g=f+28|0;if(tb[c[g>>2]&127](f,d,e,144525)|0){c[a>>2]=24;a=17;break a}if(!(tb[c[g>>2]&127](f,d,e,144532)|0))h=6;else{c[a>>2]=25;a=17}break}default:h=6}while(0);if((h|0)==6)a=N0(a,b)|0;return a|0}function _0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=26;c[a+8>>2]=17;a=19;break}default:a=N0(a,b)|0}return a|0}function $0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=27;a=21;break}default:a=N0(a,b)|0}return a|0}function a1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=26;c[a+8>>2]=17;a=19;break}case 17:{c[a>>2]=c[a+16>>2]|0?9:28;a=20;break}default:a=N0(a,b)|0}return a|0}function b1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;d=a+8|0;switch(b|0){case 15:{d=c[d>>2]|0;break}case 17:{c[a>>2]=c[a+16>>2]|0?9:28;d=c[d>>2]|0;break}default:d=N0(a,b)|0}return d|0}function c1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=a+12|0;switch(b|0){case 33:{c[a>>2]=29;d=0;break}case 34:{d=c[g>>2]|0;if(!d)h=7;else{c[g>>2]=d+-1;d=0}break}case 15:{d=0;break}case 26:{h=7;break}case -4:{if(!(c[g>>2]|0))d=0;else h=7;break}default:d=P0(a,b,d,e,f)|0}if((h|0)==7)d=N0(a,b)|0;return d|0}function d1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=0;break}case 18:{g=f+28|0;if(tb[c[g>>2]&127](f,d,e,144571)|0){c[a>>2]=30;a=0;break a}if(!(tb[c[g>>2]&127](f,d,e,144579)|0))h=6;else{c[a>>2]=31;a=0}break}default:h=6}while(0);if((h|0)==6)a=N0(a,b)|0;return a|0}function e1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=0;break}case 25:{c[a>>2]=28;a=a+12|0;c[a>>2]=(c[a>>2]|0)+1;a=0;break}default:a=N0(a,b)|0}return a|0}function f1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=0;break}case 25:{c[a>>2]=28;a=58;break}default:a=N0(a,b)|0}return a|0}function g1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:do switch(b|0){case 15:{a=39;break}case 18:{g=f+28|0;h=a+8|0;if(tb[c[g>>2]&127](f,d,e,144586)|0){c[a>>2]=26;c[h>>2]=39;a=42;break a}if(!(tb[c[g>>2]&127](f,d,e,144592)|0))i=7;else{c[a>>2]=26;c[h>>2]=39;a=41}break}case 23:{c[a>>2]=32;c[a+4>>2]=1;a=44;break}default:i=7}while(0);if((i|0)==7)a=N0(a,b)|0;return a|0}function h1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{a=39;break}case 20:{if(!(tb[c[f+28>>2]&127](f,d+(c[f+68>>2]|0)|0,e,144596)|0))g=9;else{c[a>>2]=33;a=43}break}case 23:{c[a+4>>2]=2;c[a>>2]=34;a=44;break}case 41:case 18:{c[a>>2]=35;a=51;break}case 30:{c[a>>2]=35;a=53;break}case 31:{c[a>>2]=35;a=52;break}case 32:{c[a>>2]=35;a=54;break}default:g=9}if((g|0)==9)a=N0(a,b)|0;return a|0}function i1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;d=a+8|0;switch(b|0){case 15:{d=39;break}case 24:{c[a>>2]=26;c[d>>2]=39;d=45;break}case 36:{c[a>>2]=26;c[d>>2]=39;d=46;break}case 21:{c[a>>2]=36;d=39;break}default:d=N0(a,b)|0}return d|0}function j1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 23:{a=a+4|0;c[a>>2]=(c[a>>2]|0)+1;a=44;break}case 41:case 18:{c[a>>2]=35;a=51;break}case 30:{c[a>>2]=35;a=53;break}case 31:{c[a>>2]=35;a=52;break}case 32:{c[a>>2]=35;a=54;break}default:a=N0(a,b)|0}return a|0}function k1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;d=a+8|0;e=a+4|0;switch(b|0){case 15:{d=39;break}case 24:{b=(c[e>>2]|0)+-1|0;c[e>>2]=b;if(!b){c[a>>2]=26;c[d>>2]=39;d=45}else d=45;break}case 36:{b=(c[e>>2]|0)+-1|0;c[e>>2]=b;if(!b){c[a>>2]=26;c[d>>2]=39;d=46}else d=46;break}case 35:{b=(c[e>>2]|0)+-1|0;c[e>>2]=b;if(!b){c[a>>2]=26;c[d>>2]=39;d=47}else d=47;break}case 37:{b=(c[e>>2]|0)+-1|0;c[e>>2]=b;if(!b){c[a>>2]=26;c[d>>2]=39;d=48}else d=48;break}case 38:{c[a>>2]=34;d=50;break}case 21:{c[a>>2]=34;d=49;break}default:d=N0(a,b)|0}return d|0}function l1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 41:case 18:{c[a>>2]=37;a=51;break}default:a=N0(a,b)|0}return a|0}function m1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 36:{c[a>>2]=26;c[a+8>>2]=39;a=46;break}case 21:{c[a>>2]=36;a=39;break}default:a=N0(a,b)|0}return a|0}function n1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 17:{c[a>>2]=c[a+16>>2]|0?9:28;a=33;break}case 41:case 18:{c[a>>2]=38;a=22;break}default:a=N0(a,b)|0}return a|0}function o1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a:do switch(b|0){case 15:{g=33;break}case 18:{h=f+28|0;g=0;while(1){i=c[h>>2]|0;if((g|0)>=8)break;if(tb[i&127](f,d,e,c[62576+(g<<2)>>2]|0)|0){j=6;break}g=g+1|0}if((j|0)==6){c[a>>2]=39;g=g+23|0;break a}if(!(tb[i&127](f,d,e,144562)|0))j=10;else{c[a>>2]=40;g=33}break}case 23:{c[a>>2]=41;g=33;break}default:j=10}while(0);if((j|0)==10)g=N0(a,b)|0;return g|0}function p1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:do switch(b|0){case 15:{a=33;break}case 20:{g=f+28|0;h=f+68|0;if(tb[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,144603)|0){c[a>>2]=21;a=35;break a}if(tb[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,144611)|0){c[a>>2]=21;a=36;break a}if(!(tb[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,144620)|0))i=9;else{c[a>>2]=42;a=33}break}case 27:{c[a>>2]=21;a=37;break}default:i=9}while(0);if((i|0)==9)a=N0(a,b)|0;return a|0}function q1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 23:{c[a>>2]=43;a=33;break}default:a=N0(a,b)|0}return a|0}function r1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 41:case 18:case 19:{c[a>>2]=44;a=31;break}default:a=N0(a,b)|0}return a|0}function s1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 24:{c[a>>2]=39;a=33;break}case 21:{c[a>>2]=41;a=33;break}default:a=N0(a,b)|0}return a|0}function t1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 18:{c[a>>2]=45;a=32;break}default:a=N0(a,b)|0}return a|0}function u1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 24:{c[a>>2]=39;a=33;break}case 21:{c[a>>2]=43;a=33;break}default:a=N0(a,b)|0}return a|0}function v1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 27:{c[a>>2]=21;a=38;break}default:a=N0(a,b)|0}return a|0}function w1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 18:{c[a>>2]=46;a=10;break}default:a=N0(a,b)|0}return a|0}function x1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=11;break}case 18:{g=f+28|0;if(tb[c[g>>2]&127](f,d,e,144525)|0){c[a>>2]=47;a=11;break a}if(!(tb[c[g>>2]&127](f,d,e,144532)|0))h=7;else{c[a>>2]=48;a=11}break}case 27:{c[a>>2]=26;c[a+8>>2]=11;a=12;break}default:h=7}while(0);if((h|0)==7)a=N0(a,b)|0;return a|0}function y1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=49;a=13;break}default:a=N0(a,b)|0}return a|0}function z1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=47;a=14;break}default:a=N0(a,b)|0}return a|0}function A1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{a=11;break}case 17:{c[a>>2]=c[a+16>>2]|0?9:28;a=15;break}case 18:{if(!(tb[c[f+28>>2]&127](f,d,e,144674)|0))g=5;else{c[a>>2]=50;a=11}break}default:g=5}if((g|0)==5)a=N0(a,b)|0;return a|0}function B1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 18:{c[a>>2]=26;c[a+8>>2]=11;a=16;break}default:a=N0(a,b)|0}return a|0}function C1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=11;break}case 18:{g=f+28|0;if(tb[c[g>>2]&127](f,d,e,144525)|0){c[a>>2]=51;a=11;break a}if(!(tb[c[g>>2]&127](f,d,e,144532)|0))h=7;else{c[a>>2]=52;a=11}break}case 27:{c[a>>2]=26;c[a+8>>2]=11;a=12;break}default:h=7}while(0);if((h|0)==7)a=N0(a,b)|0;return a|0}function D1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=53;a=13;break}default:a=N0(a,b)|0}return a|0}function E1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=51;a=14;break}default:a=N0(a,b)|0}return a|0}function F1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 17:{c[a>>2]=c[a+16>>2]|0?9:28;a=15;break}default:a=N0(a,b)|0}return a|0}function G1(){return 190360}function H1(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=O1(c[a+60>>2]|0)|0;a=K1(xa(6,d|0)|0)|0;l=b;return a|0}function I1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;k=n+16|0;g=n;f=n+32|0;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=K1(bb(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;p=c[f+4>>2]|0;o=g>>>0>p>>>0;f=o?f+8|0:f;b=(o<<31>>31)+b|0;p=g-(o?p:0)|0;c[f>>2]=(c[f>>2]|0)+p;o=f+4|0;c[o>>2]=(c[o>>2]|0)-p;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=K1(bb(146,k|0)|0)|0;if((e|0)==(g|0)){m=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else m=3;while(0);if((m|0)==3){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[i>>2]=p;c[j>>2]=p}l=n;return d|0}function J1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((K1(Za(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;l=f;return a|0}function K1(a){a=a|0;if(a>>>0>4294963200){c[(L1()|0)>>2]=0-a;a=-1}return a|0}function L1(){return (M1()|0)+64|0}function M1(){return N1()|0}function N1(){return 62988}function O1(a){a=a|0;return a|0}function P1(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k;i=k+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;c[f>>2]=c[b+60>>2];c[f+4>>2]=i;c[f+8>>2]=2;f=K1(ab(145,f|0)|0)|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else c[b>>2]=c[b>>2]|f&48^16;l=k;return f|0}function Q1(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;c[b+36>>2]=18;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,Qa(54,f|0)|0):0)a[b+75>>0]=-1;f=I1(b,d,e)|0;l=g;return f|0}function R1(a){a=a|0;var b=0;b=(S1(a)|0)==0;return (b?a:a|32)|0}function S1(a){a=a|0;return (a+-65|0)>>>0<26|0}function T1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+128|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;U1(h,0);d=V1(h,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+108>>2]|0)-(c[g>>2]|0));l=j;return d|0}function U1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;c[a+100>>2]=(b|0)!=0&(f|0)>(b|0)?e+b|0:d;return}function V1(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(L1()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=W1(b)|0}while((X1(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=W1(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=W1(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=W1(b)|0;if((d[144681+i>>0]|0)>15){g=(c[q>>2]|0)!=0;if(g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){U1(b,0);h=0;g=0;break a}if(!g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[144681+i>>0]|0)>>>0>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;U1(b,0);c[(L1()|0)>>2]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;j=e;do{i=(i*10|0)+j|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;e=d[e>>0]|0}else e=W1(b)|0;j=e+-48|0}while(j>>>0<10&i>>>0<429496729);f=0}else{e=i;i=0;f=0}k=e+-48|0;if(k>>>0<10){j=e;do{e=G6(i|0,f|0,10,0)|0;l=D;m=((k|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&e>>>0>~k>>>0){e=10;n=72;break c}i=w6(e|0,l|0,k|0,m|0)|0;f=D;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=W1(b)|0;k=j+-48|0}while(k>>>0<10&(f>>>0<429496729|(f|0)==429496729&i>>>0<2576980378));if(k>>>0>9){j=p;e=f}else{e=10;n=72}}else{j=p;e=f}}else n=46;while(0);d:do if((n|0)==46){if(!(e+-1&e)){n=a[144937+((e*23|0)>>>5&7)>>0]|0;f=a[144681+i>>0]|0;j=f&255;if(j>>>0>>0){i=0;k=j;do{i=k|i<>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=W1(b)|0;f=a[144681+j>>0]|0;k=f&255}while(i>>>0<134217728&k>>>0>>0);k=0}else{j=i;k=0;i=0}l=z6(-1,-1,n|0)|0;m=D;if((f&255)>>>0>=e>>>0|(k>>>0>m>>>0|(k|0)==(m|0)&i>>>0>l>>>0)){f=k;n=72;break}else j=k;while(1){i=v6(i|0,j|0,n|0)|0;k=D;i=f&255|i;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=W1(b)|0;f=a[144681+j>>0]|0;if((f&255)>>>0>=e>>>0|(k>>>0>m>>>0|(k|0)==(m|0)&i>>>0>l>>>0)){f=k;n=72;break d}else j=k}}f=a[144681+i>>0]|0;j=f&255;if(j>>>0>>0){i=0;k=j;do{i=k+(S(i,e)|0)|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=W1(b)|0;f=a[144681+j>>0]|0;k=f&255}while(i>>>0<119304647&k>>>0>>0);k=0}else{j=i;i=0;k=0}if((f&255)>>>0>>0){n=E6(-1,-1,e|0,0)|0;o=D;m=k;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&i>>>0>n>>>0){f=m;n=72;break d}k=G6(i|0,m|0,e|0,0)|0;l=D;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=m;n=72;break d}i=w6(f|0,0,k|0,l|0)|0;k=D;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=W1(b)|0;f=a[144681+j>>0]|0;if((f&255)>>>0>=e>>>0){f=k;n=72;break}else m=k}}else{f=k;n=72}}while(0);if((n|0)==72)if((d[144681+j>>0]|0)>>>0>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=W1(b)|0}while((d[144681+i>>0]|0)>>>0>>0);c[(L1()|0)>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else{j=p;e=f}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0>>0|(e|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(L1()|0)>>2]=34;g=w6(g|0,h|0,-1,-1)|0;h=D;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(L1()|0)>>2]=34;break}}g=((j|0)<0)<<31>>31;g=t6(i^j|0,e^g|0,j|0,g|0)|0;h=D}while(0);D=h;return g|0}function W1(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=b+104|0;j=c[f>>2]|0;if((j|0)!=0?(c[b+108>>2]|0)>=(j|0):0)k=4;else{e=Y1(b)|0;if((e|0)>=0){g=c[f>>2]|0;f=b+8|0;if(g){i=c[f>>2]|0;f=c[b+4>>2]|0;h=b+108|0;g=g-(c[h>>2]|0)|0;j=i;if((i-f|0)<(g|0)){i=j;g=j}else{i=f+(g+-1)|0;g=j}}else{g=c[f>>2]|0;h=b+108|0;i=g;f=c[b+4>>2]|0}c[b+100>>2]=i;if(g|0)c[h>>2]=g+1-f+(c[h>>2]|0);f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else k=4}if((k|0)==4){c[b+100>>2]=0;e=-1}return e|0}function X1(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Y1(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;if((Z1(a)|0)==0?(eb[c[a+32>>2]&63](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;l=e;return a|0}function Z1(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)eb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function _1(a,b,c){a=a|0;b=b|0;c=c|0;c=T1(a,b,c,-1,0)|0;return c|0}function $1(a,b,c){a=a|0;b=b|0;c=c|0;c=T1(a,b,c,-2147483648,0)|0;return c|0}function a2(a){a=a|0;var b=0;b=(b2(a)|0)==0;return (b?a:a&95)|0}function b2(a){a=a|0;return (a+-97|0)>>>0<26|0}function c2(a,b){a=+a;b=+b;var d=0.0,e=0,f=0,g=0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=l;l=l+32|0;m=q+24|0;n=q+16|0;o=q+8|0;p=q;h[j>>3]=a;t=c[j>>2]|0;g=c[j+4>>2]|0;h[j>>3]=b;e=c[j>>2]|0;g=g&2147483647;f=c[j+4>>2]&2147483647;i=g>>>0>>0|(g|0)==(f|0)&t>>>0>>0;s=i?e:t;r=i?f:g;e=i?t:e;f=i?g:f;g=z6(s|0,r|0,52)|0;i=z6(e|0,f|0,52)|0;c[j>>2]=s;c[j+4>>2]=r;a=+h[j>>3];c[j>>2]=e;c[j+4>>2]=f;k=+h[j>>3];do if((i|0)!=2047){if(!((e|0)==0&(f|0)==0|(g|0)==2047)){if((g-i|0)>64){a=a+k;break}if(g>>>0>1533){d=5260135901548373507240989.0e186;b=a*1.90109156629516e-211;a=k*1.90109156629516e-211}else{t=i>>>0<573;d=t?1.90109156629516e-211:1.0;b=t?a*5260135901548373507240989.0e186:a;a=t?k*5260135901548373507240989.0e186:k}d2(m,n,b);d2(o,p,a);a=d*+G(+(+h[p>>3]+ +h[n>>3]+ +h[o>>3]+ +h[m>>3]))}}else a=k;while(0);l=q;return +a}function d2(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=c*134217729.0;e=e+(c-e);d=c-e;c=c*c;h[a>>3]=c;h[b>>3]=d*d+(e*e-c+e*2.0*d);return}function e2(a,b){a=+a;b=+b;var d=0,e=0;h[j>>3]=a;e=c[j>>2]|0;d=c[j+4>>2]|0;h[j>>3]=b;d=c[j+4>>2]&-2147483648|d&2147483647;c[j>>2]=e;c[j+4>>2]=d;return +(+h[j>>3])}function f2(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function g2(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function h2(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if(!d)e=0;else{h=a[b>>0]|0;e=h&255;g=a[c>>0]|0;f=g&255;a:do if(h<<24>>24)do{d=d+-1|0;if(!(h<<24>>24==g<<24>>24&((d|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;h=a[b>>0]|0;e=h&255;g=a[c>>0]|0;f=g&255}while(h<<24>>24!=0);while(0);e=e-f|0}return e|0}function i2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=j2(a,b,f)|0;l=e;return d|0}function j2(a,b,c){a=a|0;b=b|0;c=c|0;return k2(a,2147483647,b,c)|0}function k2(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;g=n+124|0;m=n;h=m;i=63492;j=h+124|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;k=4}else{c[(L1()|0)>>2]=75;d=-1}else k=4;if((k|0)==4){k=-2-b|0;k=d>>>0>k>>>0?k:d;c[m+48>>2]=k;g=m+20|0;c[g>>2]=b;c[m+44>>2]=b;d=b+k|0;b=m+16|0;c[b>>2]=d;c[m+28>>2]=d;d=l2(m,e,f)|0;if(k){m=c[g>>2]|0;a[m+(((m|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}l=n;return d|0}function l2(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+224|0;n=s+120|0;o=s+80|0;q=s;r=s+136|0;f=o;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[n>>2]=c[e>>2];if((m2(0,d,n,q,o)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)p=n2(b)|0;else p=0;e=c[b>>2]|0;m=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;f=b+48|0;if(!(c[f>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=r;i=b+28|0;c[i>>2]=r;j=b+20|0;c[j>>2]=r;c[f>>2]=80;k=b+16|0;c[k>>2]=r+80;e=m2(b,d,n,q,o)|0;if(h){eb[c[b+36>>2]&63](b,0,0)|0;e=(c[j>>2]|0)==0?-1:e;c[g>>2]=h;c[f>>2]=0;c[k>>2]=0;c[i>>2]=0;c[j>>2]=0}}else e=m2(b,d,n,q,o)|0;f=c[b>>2]|0;c[b>>2]=f|m;if(p|0)o2(b);e=(f&32|0)==0?e:-1}l=s;return e|0}function m2(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;H=l;l=l+64|0;C=H+16|0;E=H;A=H+24|0;F=H+8|0;G=H+20|0;c[C>>2]=e;x=(d|0)!=0;y=A+40|0;z=y;A=A+39|0;B=F+4|0;k=0;j=0;p=0;a:while(1){do if((j|0)>-1)if((k|0)>(2147483647-j|0)){c[(L1()|0)>>2]=75;j=-1;break}else{j=k+j|0;break}while(0);k=a[e>>0]|0;if(!(k<<24>>24)){w=87;break}else m=e;b:while(1){switch(k<<24>>24){case 37:{k=m;w=9;break b}case 0:{k=m;break b}default:{}}v=m+1|0;c[C>>2]=v;k=a[v>>0]|0;m=v}c:do if((w|0)==9)while(1){w=0;if((a[m+1>>0]|0)!=37)break c;k=k+1|0;m=m+2|0;c[C>>2]=m;if((a[m>>0]|0)==37)w=9;else break}while(0);k=k-e|0;if(x)p2(d,e,k);if(k|0){e=m;continue}n=m+1|0;k=(a[n>>0]|0)+-48|0;if(k>>>0<10){v=(a[m+2>>0]|0)==36;u=v?k:-1;p=v?1:p;n=v?m+3|0:n}else u=-1;c[C>>2]=n;k=a[n>>0]|0;m=(k<<24>>24)+-32|0;d:do if(m>>>0<32){o=0;q=k;while(1){k=1<>2]=n;k=a[n>>0]|0;m=(k<<24>>24)+-32|0;if(m>>>0>=32)break;else q=k}}else o=0;while(0);if(k<<24>>24==42){m=n+1|0;k=(a[m>>0]|0)+-48|0;if(k>>>0<10?(a[n+2>>0]|0)==36:0){c[i+(k<<2)>>2]=10;k=c[g+((a[m>>0]|0)+-48<<3)>>2]|0;p=1;n=n+3|0}else{if(p|0){j=-1;break}if(x){p=(c[f>>2]|0)+(4-1)&~(4-1);k=c[p>>2]|0;c[f>>2]=p+4;p=0;n=m}else{k=0;p=0;n=m}}c[C>>2]=n;v=(k|0)<0;k=v?0-k|0:k;o=v?o|8192:o}else{k=q2(C)|0;if((k|0)<0){j=-1;break}n=c[C>>2]|0}do if((a[n>>0]|0)==46){if((a[n+1>>0]|0)!=42){c[C>>2]=n+1;m=q2(C)|0;n=c[C>>2]|0;break}q=n+2|0;m=(a[q>>0]|0)+-48|0;if(m>>>0<10?(a[n+3>>0]|0)==36:0){c[i+(m<<2)>>2]=10;m=c[g+((a[q>>0]|0)+-48<<3)>>2]|0;n=n+4|0;c[C>>2]=n;break}if(p|0){j=-1;break a}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);m=c[v>>2]|0;c[f>>2]=v+4}else m=0;c[C>>2]=q;n=q}else m=-1;while(0);t=0;while(1){if(((a[n>>0]|0)+-65|0)>>>0>57){j=-1;break a}v=n+1|0;c[C>>2]=v;q=a[(a[n>>0]|0)+-65+(144946+(t*58|0))>>0]|0;r=q&255;if((r+-1|0)>>>0<8){t=r;n=v}else break}if(!(q<<24>>24)){j=-1;break}s=(u|0)>-1;do if(q<<24>>24==19)if(s){j=-1;break a}else w=49;else{if(s){c[i+(u<<2)>>2]=r;s=g+(u<<3)|0;u=c[s+4>>2]|0;w=E;c[w>>2]=c[s>>2];c[w+4>>2]=u;w=49;break}if(!x){j=0;break a}r2(E,r,f)}while(0);if((w|0)==49?(w=0,!x):0){k=0;e=v;continue}n=a[n>>0]|0;n=(t|0)!=0&(n&15|0)==3?n&-33:n;s=o&-65537;u=(o&8192|0)==0?o:s;e:do switch(n|0){case 110:switch((t&255)<<24>>24){case 0:{c[c[E>>2]>>2]=j;k=0;e=v;continue a}case 1:{c[c[E>>2]>>2]=j;k=0;e=v;continue a}case 2:{k=c[E>>2]|0;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;k=0;e=v;continue a}case 3:{b[c[E>>2]>>1]=j;k=0;e=v;continue a}case 4:{a[c[E>>2]>>0]=j;k=0;e=v;continue a}case 6:{c[c[E>>2]>>2]=j;k=0;e=v;continue a}case 7:{k=c[E>>2]|0;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;k=0;e=v;continue a}default:{k=0;e=v;continue a}}case 112:{n=120;m=m>>>0>8?m:8;e=u|8;w=61;break}case 88:case 120:{e=u;w=61;break}case 111:{n=E;e=c[n>>2]|0;n=c[n+4>>2]|0;r=t2(e,n,y)|0;s=z-r|0;o=0;q=145410;m=(u&8|0)==0|(m|0)>(s|0)?m:s+1|0;s=u;w=67;break}case 105:case 100:{n=E;e=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){e=t6(0,0,e|0,n|0)|0;n=D;o=E;c[o>>2]=e;c[o+4>>2]=n;o=1;q=145410;w=66;break e}else{o=(u&2049|0)!=0&1;q=(u&2048|0)==0?((u&1|0)==0?145410:145412):145411;w=66;break e}}case 117:{n=E;o=0;q=145410;e=c[n>>2]|0;n=c[n+4>>2]|0;w=66;break}case 99:{a[A>>0]=c[E>>2];e=A;o=0;q=145410;r=y;n=1;m=s;break}case 109:{n=v2(c[(L1()|0)>>2]|0)|0;w=71;break}case 115:{n=c[E>>2]|0;n=n|0?n:145420;w=71;break}case 67:{c[F>>2]=c[E>>2];c[B>>2]=0;c[E>>2]=F;r=-1;n=F;w=75;break}case 83:{e=c[E>>2]|0;if(!m){x2(d,32,k,0,u);e=0;w=84}else{r=m;n=e;w=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{k=z2(d,+h[E>>3],k,m,u,n)|0;e=v;continue a}default:{o=0;q=145410;r=y;n=m;m=u}}while(0);f:do if((w|0)==61){u=E;t=c[u>>2]|0;u=c[u+4>>2]|0;r=s2(t,u,y,n&32)|0;q=(e&8|0)==0|(t|0)==0&(u|0)==0;o=q?0:2;q=q?145410:145410+(n>>4)|0;s=e;e=t;n=u;w=67}else if((w|0)==66){r=u2(e,n,y)|0;s=u;w=67}else if((w|0)==71){w=0;u=w2(n,0,m)|0;t=(u|0)==0;e=n;o=0;q=145410;r=t?n+m|0:u;n=t?m:u-n|0;m=s}else if((w|0)==75){w=0;q=n;e=0;m=0;while(1){o=c[q>>2]|0;if(!o)break;m=y2(G,o)|0;if((m|0)<0|m>>>0>(r-e|0)>>>0)break;e=m+e|0;if(r>>>0>e>>>0)q=q+4|0;else break}if((m|0)<0){j=-1;break a}x2(d,32,k,e,u);if(!e){e=0;w=84}else{o=0;while(1){m=c[n>>2]|0;if(!m){w=84;break f}m=y2(G,m)|0;o=m+o|0;if((o|0)>(e|0)){w=84;break f}p2(d,G,m);if(o>>>0>=e>>>0){w=84;break}else n=n+4|0}}}while(0);if((w|0)==67){w=0;n=(e|0)!=0|(n|0)!=0;u=(m|0)!=0|n;n=((n^1)&1)+(z-r)|0;e=u?r:y;r=y;n=u?((m|0)>(n|0)?m:n):m;m=(m|0)>-1?s&-65537:s}else if((w|0)==84){w=0;x2(d,32,k,e,u^8192);k=(k|0)>(e|0)?k:e;e=v;continue}t=r-e|0;s=(n|0)<(t|0)?t:n;u=s+o|0;k=(k|0)<(u|0)?u:k;x2(d,32,k,u,m);p2(d,q,o);x2(d,48,k,u,m^65536);x2(d,48,s,t,0);p2(d,e,t);x2(d,32,k,u,m^8192);e=v}g:do if((w|0)==87)if(!d)if(!p)j=0;else{j=1;while(1){e=c[i+(j<<2)>>2]|0;if(!e)break;r2(g+(j<<3)|0,e,f);j=j+1|0;if((j|0)>=10){j=1;break g}}while(1){if(c[i+(j<<2)>>2]|0){j=-1;break g}j=j+1|0;if((j|0)>=10){j=1;break}}}while(0);l=H;return j|0}function n2(a){a=a|0;return 0}function o2(a){a=a|0;return}function p2(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))L2(b,d,a)|0;return}function q2(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;f=(a[e>>0]|0)+-48|0;if(f>>>0<10){d=0;do{d=f+(d*10|0)|0;e=e+1|0;c[b>>2]=e;f=(a[e>>0]|0)+-48|0}while(f>>>0<10)}else d=0;return d|0}function r2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function s2(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[145458+(b&15)>>0]|0|f;b=z6(b|0,c|0,4)|0;c=D}while(!((b|0)==0&(c|0)==0));return e|0}function t2(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=z6(b|0,c|0,3)|0;c=D}while(!((b|0)==0&(c|0)==0));return d|0}function u2(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){while(1){e=J6(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e&255|48;e=b;b=E6(b|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=D}c=b}else c=b;if(c)while(1){d=d+-1|0;a[d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}return d|0}function v2(a){a=a|0;return G2(a,c[(F2()|0)+188>>2]|0)|0}function w2(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=S(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return (e|0?b:0)|0}function x2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;u6(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{p2(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}p2(a,f,e)}l=g;return}function y2(a,b){a=a|0;b=b|0;if(!a)a=0;else a=D2(a,b,0)|0;return a|0}function z2(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;H=l;l=l+560|0;m=H+8|0;u=H;G=H+524|0;F=G;n=H+512|0;c[u>>2]=0;E=n+12|0;A2(e)|0;if((D|0)<0){e=-e;B=1;A=145427}else{B=(h&2049|0)!=0&1;A=(h&2048|0)==0?((h&1|0)==0?145428:145433):145430}A2(e)|0;C=D&2146435072;do if(C>>>0<2146435072|(C|0)==2146435072&0<0){r=+B2(e,u)*2.0;j=r!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;w=i|32;if((w|0)==97){s=i&32;q=(s|0)==0?A:A+9|0;p=B|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[q>>0]|0)==45){e=-(e+(-r-e));break}else{e=r+e-e;break}}else e=r;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=u2(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=n+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;o=j+-2|0;a[o>>0]=i+15;n=(g|0)<1;m=(h&8|0)==0;j=G;do{C=~~e;k=j+1|0;a[j>>0]=d[145458+C>>0]|s;e=(e-+(C|0))*16.0;if((k-F|0)==1?!(m&(n&e==0.0)):0){a[k>>0]=46;j=j+2|0}else j=k}while(e!=0.0);C=j-F|0;F=E-o|0;E=(g|0)!=0&(C+-2|0)<(g|0)?g+2|0:C;j=F+p+E|0;x2(b,32,f,j,h);p2(b,q,p);x2(b,48,f,j,h^65536);p2(b,G,C);x2(b,48,E-C|0,0,0);p2(b,o,F);x2(b,32,f,j,h^8192);break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=r*268435456.0}else{e=r;j=c[u>>2]|0}C=(j|0)<0?m:m+288|0;m=C;do{y=~~e>>>0;c[m>>2]=y;m=m+4|0;e=(e-+(y>>>0))*1.0e9}while(e!=0.0);if((j|0)>0){n=C;p=m;while(1){o=(j|0)<29?j:29;j=p+-4|0;if(j>>>0>=n>>>0){m=0;do{x=v6(c[j>>2]|0,0,o|0)|0;x=w6(x|0,D|0,m|0,0)|0;y=D;v=J6(x|0,y|0,1e9,0)|0;c[j>>2]=v;m=E6(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=n>>>0);if(m){n=n+-4|0;c[n>>2]=m}}m=p;while(1){if(m>>>0<=n>>>0)break;j=m+-4|0;if(!(c[j>>2]|0))m=j;else break}j=(c[u>>2]|0)-o|0;c[u>>2]=j;if((j|0)>0)p=m;else break}}else n=C;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(w|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(n>>>0>>0){o=(1<>>s;q=0;j=n;do{y=c[j>>2]|0;c[j>>2]=(y>>>s)+q;q=S(y&o,p)|0;j=j+4|0}while(j>>>0>>0);j=(c[n>>2]|0)==0?n+4|0:n;if(!q){n=j;j=m}else{c[m>>2]=q;n=j;j=m+4|0}}else{n=(c[n>>2]|0)==0?n+4|0:n;j=m}m=t?C:n;m=(j-m>>2|0)>(g|0)?m+(g<<2)|0:j;j=(c[u>>2]|0)+s|0;c[u>>2]=j}while((j|0)<0);j=n;g=m}else{j=n;g=m}y=C;if(j>>>0>>0){m=(y-j>>2)*9|0;o=c[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;m=m+1|0}while(o>>>0>=n>>>0)}}else m=0;t=(w|0)==103;v=(k|0)!=0;n=k-((w|0)!=102?m:0)+((v&t)<<31>>31)|0;if((n|0)<(((g-y>>2)*9|0)+-9|0)){n=n+9216|0;s=C+4+(((n|0)/9|0)+-1024<<2)|0;n=((n|0)%9|0)+1|0;if((n|0)<9){o=10;do{o=o*10|0;n=n+1|0}while((n|0)!=9)}else o=10;p=c[s>>2]|0;q=(p>>>0)%(o>>>0)|0;n=(s+4|0)==(g|0);if(!(n&(q|0)==0)){r=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;e=q>>>0>>0?.5:n&(q|0)==(x|0)?1.0:1.5;if(B){x=(a[A>>0]|0)==45;e=x?-e:e;r=x?-r:r}n=p-q|0;c[s>>2]=n;if(r+e!=r){x=n+o|0;c[s>>2]=x;if(x>>>0>999999999){m=s;while(1){n=m+-4|0;c[m>>2]=0;if(n>>>0>>0){j=j+-4|0;c[j>>2]=0}x=(c[n>>2]|0)+1|0;c[n>>2]=x;if(x>>>0>999999999)m=n;else break}}else n=s;m=(y-j>>2)*9|0;p=c[j>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;m=m+1|0}while(p>>>0>=o>>>0)}}else n=s}else n=s;n=n+4|0;n=g>>>0>n>>>0?n:g;x=j}else{n=g;x=j}w=n;while(1){if(w>>>0<=x>>>0){u=0;break}j=w+-4|0;if(!(c[j>>2]|0))w=j;else{u=1;break}}g=0-m|0;do if(t){j=((v^1)&1)+k|0;if((j|0)>(m|0)&(m|0)>-5){o=i+-1|0;k=j+-1-m|0}else{o=i+-2|0;k=j+-1|0}j=h&8;if(!j){if(u?(z=c[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){n=0;j=10;do{j=j*10|0;n=n+1|0}while(!((z>>>0)%(j>>>0)|0|0))}else n=0;else n=9;j=((w-y>>2)*9|0)+-9|0;if((o|32|0)==102){s=j-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}else{s=j+m-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}}else s=j}else{o=i;s=h&8}while(0);t=k|s;p=(t|0)!=0&1;q=(o|32|0)==102;if(q){v=0;j=(m|0)>0?m:0}else{j=(m|0)<0?g:m;j=u2(j,((j|0)<0)<<31>>31,E)|0;n=E;if((n-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((n-j|0)<2);a[j+-1>>0]=(m>>31&2)+43;j=j+-2|0;a[j>>0]=o;v=j;j=n-j|0}j=B+1+k+p+j|0;x2(b,32,f,j,h);p2(b,A,B);x2(b,48,f,j,h^65536);if(q){o=x>>>0>C>>>0?C:x;s=G+9|0;p=s;q=G+8|0;n=o;do{m=u2(c[n>>2]|0,0,s)|0;if((n|0)==(o|0)){if((m|0)==(s|0)){a[q>>0]=48;m=q}}else if(m>>>0>G>>>0){u6(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}p2(b,m,p-m|0);n=n+4|0}while(n>>>0<=C>>>0);if(t|0)p2(b,145474,1);if(n>>>0>>0&(k|0)>0)while(1){m=u2(c[n>>2]|0,0,s)|0;if(m>>>0>G>>>0){u6(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}p2(b,m,(k|0)<9?k:9);n=n+4|0;m=k+-9|0;if(!(n>>>0>>0&(k|0)>9)){k=m;break}else k=m}x2(b,48,k+9|0,9,0)}else{t=u?w:x+4|0;if((k|0)>-1){u=G+9|0;s=(s|0)==0;g=u;p=0-F|0;q=G+8|0;o=x;do{m=u2(c[o>>2]|0,0,u)|0;if((m|0)==(u|0)){a[q>>0]=48;m=q}do if((o|0)==(x|0)){n=m+1|0;p2(b,m,1);if(s&(k|0)<1){m=n;break}p2(b,145474,1);m=n}else{if(m>>>0<=G>>>0)break;u6(G|0,48,m+p|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}while(0);F=g-m|0;p2(b,m,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}x2(b,48,k+18|0,18,0);p2(b,v,E-v|0)}x2(b,32,f,j,h^8192)}else{G=(i&32|0)!=0;j=B+3|0;x2(b,32,f,j,h&-65537);p2(b,A,B);p2(b,e!=e|0.0!=0.0?(G?153609:145454):G?145446:145450,3);x2(b,32,f,j,h^8192)}while(0);l=H;return ((j|0)<(f|0)?f:j)|0}function A2(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;D=c[j+4>>2]|0;return b|0}function B2(a,b){a=+a;b=b|0;return +(+C2(a,b))}function C2(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=z6(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+C2(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function D2(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(E2()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(L1()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(L1()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function E2(){return N1()|0}function F2(){return N1()|0}function G2(b,e){b=b|0;e=e|0;var f=0,g=0;g=0;while(1){if((d[145476+g>>0]|0)==(b|0)){b=2;break}f=g+1|0;if((f|0)==87){f=145564;g=87;b=5;break}else g=f}if((b|0)==2)if(!g)f=145564;else{f=145564;b=5}if((b|0)==5)while(1){do{b=f;f=f+1|0}while((a[b>>0]|0)!=0);g=g+-1|0;if(!g)break;else b=5}return H2(f,c[e+20>>2]|0)|0}function H2(a,b){a=a|0;b=b|0;return I2(a,b)|0}function I2(a,b){a=a|0;b=b|0;if(!b)b=0;else b=J2(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function J2(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=K2(c[b+8>>2]|0,o)|0;f=K2(c[b+12>>2]|0,o)|0;g=K2(c[b+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=d-(h<<2)|0,f>>>0>>0&g>>>0>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=K2(c[b+(g<<2)>>2]|0,o)|0;g=K2(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=f2(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}else{l=f?l:k;h=f?j:h-j|0}}f=i+m|0;g=K2(c[b+(f<<2)>>2]|0,o)|0;f=K2(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function K2(a,b){a=a|0;b=b|0;var c=0;c=K6(a|0)|0;return ((b|0)==0?a:c)|0}function L2(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(M2(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0>>0){f=eb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){i=d;while(1){if(!i){h=0;g=b;break b}g=i+-1|0;if((a[b+g>>0]|0)==10)break;else i=g}f=eb[c[e+36>>2]&63](e,b,i)|0;if(f>>>0>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}else{h=0;g=b}while(0);B6(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function M2(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function N2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;B6(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function O2(a){a=a|0;return ((a+-48|0)>>>0<10|(P2(a)|0)!=0)&1|0}function P2(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Q2(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function R2(a){a=a|0;if(!(S2(a)|0))a=(T2(a)|0)!=0;else a=1;return a&1|0}function S2(a){a=a|0;return (a+-48|0)>>>0<10|0}function T2(a){a=a|0;if(a>>>0<131072)a=(d[147368+((d[147368+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=a>>>0<196606&1;return a|0}function U2(a){a=a|0;return Q2(a)|0}function V2(a){a=a|0;return ((a+-65529|0)>>>0<3|((a&-2|0)==8232|(a>>>0<32|(a+-127|0)>>>0<33)))&1|0}function W2(a,b){a=a|0;b=b|0;do switch(b|0){case 1:{a=R2(a)|0;break}case 2:{a=T2(a)|0;break}case 3:{a=U2(a)|0;break}case 4:{a=V2(a)|0;break}case 5:{a=S2(a)|0;break}case 6:{a=X2(a)|0;break}case 7:{a=Y2(a)|0;break}case 8:{a=Z2(a)|0;break}case 9:{a=_2(a)|0;break}case 10:{a=$2(a)|0;break}case 11:{a=a3(a)|0;break}case 12:{a=b3(a)|0;break}default:a=0}while(0);return a|0}function X2(a){a=a|0;if(!($2(a)|0))a=(Z2(a)|0)!=0;else a=0;return a&1|0}function Y2(a){a=a|0;return (g3(a)|0)!=(a|0)|0}function Z2(a){a=a|0;if(a>>>0>=255)if((a+-57344|0)>>>0<8185|(a>>>0<8232|(a+-8234|0)>>>0<47062))a=1;else return (a&65534|0)!=65534&(a+-65532|0)>>>0<1048580&1|0;else a=(a+1&127)>>>0>32&1;return a|0}function _2(a){a=a|0;if(a>>>0<131072)a=(d[150344+((d[150344+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=0;return a|0}function $2(a){a=a|0;if(!a)a=0;else a=(e3(63616,a)|0)!=0;return a&1|0}function a3(a){a=a|0;return (c3(a)|0)!=(a|0)|0}function b3(a){a=a|0;return ((a+-48|0)>>>0<10|((a|32)+-97|0)>>>0<6)&1|0}function c3(a){a=a|0;return d3(a,1)|0}function d3(c,f){c=c|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=(f<<1)+-1|0;l=f+-1|0;a:do if(!((c+-43008|0)>>>0<22272|((c+-11776|0)>>>0<30784|((c+-1536|0)>>>0<2560|(T2(c)|0)==0)))){g=(f|0)!=0;if(g&(c+-4256|0)>>>0<46){if((c|0)>4293)switch(c|0){case 4295:case 4301:break;default:break a}c=c+7264|0;break}if((c+-11520|0)>>>0<38&(g^1)){c=c+-7264|0;break}else g=0;do{i=a[66618+(g<<2)+2>>0]|0;j=i<<24>>24;h=c-(e[66618+(g<<2)>>1]|0)|0;if((h-(j&l)|0)>>>0<(d[66618+(g<<2)+3>>0]|0)>>>0){m=11;break}g=g+1|0}while((g|0)!=61);if((m|0)==11)if(i<<24>>24==1){c=f+c-(h&1)|0;break}else{c=(S(j,k)|0)+c|0;break}i=1-f|0;g=b[66130+(i<<1)>>1]|0;b:do if(g<<16>>16){h=0;while(1){if((g&65535|0)==(c|0))break;h=h+1|0;g=b[66130+(h<<2)+(i<<1)>>1]|0;if(!(g<<16>>16))break b}c=e[66130+(h<<2)+(f<<1)>>1]|0;break a}while(0);return ((c+-66600+(f*40|0)|0)>>>0<40?c+-40+(f*80|0)|0:c)|0}while(0);return c|0}function e3(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)a=a+((f3(a)|0)<<2)|0;else{while(1){e=c[a>>2]|0;d=(e|0)!=0;if((e|0)==(b|0)|d^1)break;else a=a+4|0}a=d?a:0}return a|0}function f3(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function g3(a){a=a|0;return d3(a,0)|0}function h3(b){b=b|0;var c=0,d=0,e=0,f=0;e=a[b>>0]|0;c=1;d=153512;f=97;while(1){if(e<<24>>24==f<<24>>24?(f2(b,d)|0)==0:0)break;d=d+6|0;f=a[d>>0]|0;if(!(f<<24>>24)){c=0;break}else c=c+1|0}return c|0}function i3(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Ha(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ua(221,e|0)|0)>=0):0){j3(e,a);c[f>>2]=e;c[f+4>>2]=b;b=K1(Ja(195,f|0)|0)|0}else b=K1(d)|0;l=g;return b|0}function j3(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=153585;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function k3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+208|0;j=m+8|0;k=m;h=S(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)l3(a,d,e,f,j);else n3(a,d,e,k,f,0,j);if((f|0)==1){o3(k,1);f=0;break}else{o3(k,b);f=1;break}}else{l3(a,d,e,f,j);m3(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0>>0)}else{f=1;b=1}n3(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1){if(!(c[g>>2]|0))break a}else if((f|0)>=2){o3(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;m3(k,1);n3(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);o3(k,1);b=c[k>>2]|1;c[k>>2]=b;h=a+i|0;n3(h,d,e,k,n,1,j);a=h;f=n;continue}b=p3(k)|0;m3(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}while(0);l=m;return}function l3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+240|0;m=n;c[m>>2]=a;a:do if((e|0)>1){k=0-b|0;g=a;j=e;e=1;while(1){h=g+k|0;i=j+-2|0;g=h+(0-(c[f+(i<<2)>>2]|0))|0;if((vb[d&127](a,g)|0)>-1?(vb[d&127](a,h)|0)>-1:0)break a;a=e+1|0;e=m+(e<<2)|0;if((vb[d&127](g,h)|0)>-1){c[e>>2]=g;e=j+-1|0}else{c[e>>2]=h;g=h;e=i}if((e|0)<=1){e=a;break a}j=e;e=a;a=c[m>>2]|0}}else e=1;while(0);r3(b,m,e);l=n;return}function m3(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function n3(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+240|0;n=p+232|0;o=p;q=c[e>>2]|0;c[n>>2]=q;j=c[e+4>>2]|0;k=n+4|0;c[k>>2]=j;c[o>>2]=a;a:do if((q|0)!=1|(j|0)!=0?(m=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(vb[d&127](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+m|0;i=c[h+(f+-2<<2)>>2]|0;if((vb[d&127](g,j)|0)>-1){i=10;break a}if((vb[d&127](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[o+(e<<2)>>2]=j;q=p3(n)|0;m3(n,q);f=q+f|0;if(!((c[n>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((vb[d&127](a,c[o>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{q=j;e=g;g=1;j=a;a=q}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){r3(b,o,e);l3(a,b,d,f,h)}l=p;return}function o3(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<>2]=d<>2]|0)+-1|0)|0;if(!b){b=q3(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function q3(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;do{a=a+1|0;b=b>>>1}while(!(b&1|0))}else a=0;else a=32;return a|0} +function yb(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function zb(){return l|0}function Ab(a){a=a|0;l=a}function Bb(a,b){a=a|0;b=b|0;l=a;m=b}function Cb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Db(a){a=a|0;D=a}function Eb(){return D|0}function Fb(a){a=a|0;c[46696]=a;return 0}function Gb(){return c[46696]|0}function Hb(a,b){a=a|0;b=b|0;Sa(0,a|0,b|0)|0;return}function Ib(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+4|0;g=i;c[f>>2]=0;h=kG()|0;pG(h,11016);pG(h,17260);pG(h,17480);cA(1)|0;bA(18)|0;while(1){a=WB(a)|0;e=c[f>>2]|0;if(!a)break;if(e|0){a=195341;continue}lG(h,a,d)|0;oG(h,a,b,f,g)|0;a=195341}l=i;return e|0}function Jb(a){a=a|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;f=c[(c[a+16>>2]|0)+8>>2]|0;a=a+64|0;switch(c[a>>2]|0){case 0:{HL(f);break}case 1:{if(b[(c[f+16>>2]|0)+136>>1]&1)SP(f);break}case 4:case 5:case 6:{EL(f,e,d);Mb(f,c[e>>2]|0,c[d>>2]|0,c[a>>2]|0);break}default:{}}l=g;return}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0;e=c[(c[a+16>>2]|0)+8>>2]|0;if(!(c[46697]|0)){c[46697]=c[4689];c[46698]=57;c[46699]=19}f=e+64|0;d=(c[f>>2]|0)+8|0;b=c[d>>2]|0;c[d>>2]=186788;d=a+152|0;switch(c[a+64>>2]|0){case 2:{uL(a,e,a,0);break}case 3:{uL(a,e,a,1);break}case 1:case 0:{if(!(c[d>>2]&134217728))bE(e,a)|0;break}case 6:case 5:case 4:{Lb(e);if(!(c[d>>2]&134217728))bE(e,a)|0;break}default:{}}c[(c[f>>2]|0)+8>>2]=b;return}function Lb(b){b=b|0;var d=0,e=0;d=c[46701]|0;if((d|0)!=(c[46700]|0)){e=c[c[46732]>>2]|0;if(!e){e=YP(b,0,100109,195341)|0;c[c[46732]>>2]=e;d=c[46701]|0}if(d>>>0>=(c[46702]|0)>>>0){iA(186800,1)|0;d=c[46701]|0}a[d>>0]=0;d=c[46700]|0;c[46701]=d;HA(b,e,d)|0}if(c[(c[b+16>>2]|0)+12>>2]|0){e=c[(c[46732]|0)+4>>2]|0;d=c[46717]|0;if(d>>>0>=(c[46718]|0)>>>0){iA(186864,1)|0;d=c[46717]|0}a[d>>0]=0;d=c[46716]|0;c[46717]=d;HA(b,e,d)|0}QA(b,67025,c[(c[46732]|0)+8236>>2]|0,195341)|0;d=0;while(1){if((d|0)==8)break;lA(186800+(d<<4)|0);d=d+1|0}l6(c[46732]|0);h[1]=1.0;h[5]=1.0;c[46733]=0;c[46737]=0;return}function Mb(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=k6(8240)|0;c[46732]=j;h=j+8232|0;a:do switch(g|0){case 6:{b[h>>1]=14;g=67041;h=j;break}case 5:{b[h>>1]=12;g=67045;h=j;break}default:{g=NA(d,67025)|0;if((g|0?a[g>>0]|0:0)?(i=Nb(g)|0,(i&65535)>10):0){h=c[46732]|0;b[h+8232>>1]=i;break a}g=Nb(67037)|0;h=c[46732]|0;b[h+8232>>1]=g;g=67037}}while(0);c[h+8236>>2]=g;j=d+16|0;g=c[j>>2]|0;if(!(c[g+180>>2]|0))i=0;else{i=YP(d,0,100109,195341)|0;h=c[46732]|0;g=c[j>>2]|0}c[h>>2]=i;if(!(a[g+113>>0]&8))g=0;else g=YP(d,0,67049,195341)|0;c[(c[46732]|0)+4>>2]=g;i=YP(d,1,100109,195341)|0;c[(c[46732]|0)+8>>2]=i;i=YP(d,1,67049,195341)|0;c[(c[46732]|0)+12>>2]=i;i=YP(d,2,100109,195341)|0;g=c[46732]|0;c[g+16>>2]=i;if(!f)h=0;else{h=YP(d,2,67057,195341)|0;g=c[46732]|0}c[g+20>>2]=h;if(!e)h=0;else{h=YP(d,2,67065,195341)|0;g=c[46732]|0}c[g+24>>2]=h;h=a[(c[j>>2]|0)+113>>0]|0;if(!(h&33))i=0;else{i=YP(d,2,67049,195341)|0;g=c[46732]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+28>>2]=i;if(!(h&2))i=0;else{i=YP(d,2,67073,195341)|0;g=c[46732]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+32>>2]=i;if(!(h&4))h=0;else{h=YP(d,2,67082,195341)|0;g=c[46732]|0}c[g+36>>2]=h;g=0;while(1){if((g|0)==8)break;hA(186800+(g<<4)|0,1024,(c[46732]|0)+40+(g<<10)|0);g=g+1|0}return}function Nb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+1040|0;h=j;i=j+8|0;g=0;d=b;a:while(1){e=d;do{f=e;e=e+1|0;f=a[f>>0]|0;if(!(f<<24>>24)){e=8;break a}}while(((f<<24>>24)+-48|0)>>>0>=10);d=i+g|0;if((g|0)>=1023){e=7;break}a[d>>0]=f;g=g+1|0;d=e}if((e|0)==7){c[h>>2]=b;dA(0,67091,h)|0}else if((e|0)==8)d=i+g|0;a[d>>0]=0;i=(d6(i)|0)&65535;l=j;return i|0}function Ob(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;d=c[c[46732]>>2]|0;b=c[46705]|0;if(b>>>0>=(c[46706]|0)>>>0){iA(186816,1)|0;b=c[46705]|0}a[b>>0]=0;b=c[46704]|0;c[46705]=b;HA(e,d,b)|0;if(c[(c[e+16>>2]|0)+12>>2]|0){d=c[(c[46732]|0)+4>>2]|0;b=c[46721]|0;if(b>>>0>=(c[46722]|0)>>>0){iA(186880,1)|0;b=c[46721]|0}a[b>>0]=0;b=c[46720]|0;c[46721]=b;HA(e,d,b)|0}h[2]=1.0;h[6]=1.0;c[46734]=0;c[46738]=0;return}function Pb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[46705]|0;if((b|0)!=(c[46704]|0)){d=c[(c[46732]|0)+8>>2]|0;if(b>>>0>=(c[46706]|0)>>>0){iA(186816,1)|0;b=c[46705]|0}a[b>>0]=0;b=c[46704]|0;c[46705]=b;HA(e,d,b)|0}b=c[46721]|0;if((b|0)!=(c[46720]|0)){d=c[(c[46732]|0)+12>>2]|0;if(b>>>0>=(c[46722]|0)>>>0){iA(186880,1)|0;b=c[46721]|0}a[b>>0]=0;b=c[46720]|0;c[46721]=b;HA(e,d,b)|0}h[9]=1.0;h[11]=1.0;c[46741]=0;c[46743]=0;return}function Qb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[46705]|0;if((b|0)!=(c[46704]|0)){d=c[(c[46732]|0)+16>>2]|0;if(b>>>0>=(c[46706]|0)>>>0){iA(186816,1)|0;b=c[46705]|0}a[b>>0]=0;b=c[46704]|0;c[46705]=b;HA(e,d,b)|0}b=c[46709]|0;if((b|0)!=(c[46708]|0)){d=c[(c[46732]|0)+24>>2]|0;if(b>>>0>=(c[46710]|0)>>>0){iA(186832,1)|0;b=c[46709]|0}a[b>>0]=0;b=c[46708]|0;c[46709]=b;HA(e,d,b)|0}b=c[46713]|0;if((b|0)!=(c[46712]|0)){d=c[(c[46732]|0)+20>>2]|0;if(b>>>0>=(c[46714]|0)>>>0){iA(186848,1)|0;b=c[46713]|0}a[b>>0]=0;b=c[46712]|0;c[46713]=b;HA(e,d,b)|0}b=c[46721]|0;if((b|0)!=(c[46720]|0)){d=c[(c[46732]|0)+28>>2]|0;if(b>>>0>=(c[46722]|0)>>>0){iA(186880,1)|0;b=c[46721]|0}a[b>>0]=0;b=c[46720]|0;c[46721]=b;HA(e,d,b)|0}b=c[46725]|0;if((b|0)!=(c[46724]|0)){d=c[(c[46732]|0)+36>>2]|0;if(b>>>0>=(c[46726]|0)>>>0){iA(186896,1)|0;b=c[46725]|0}a[b>>0]=0;b=c[46724]|0;c[46725]=b;HA(e,d,b)|0}b=c[46729]|0;if((b|0)!=(c[46728]|0)){d=c[(c[46732]|0)+32>>2]|0;if(b>>>0>=(c[46730]|0)>>>0){iA(186912,1)|0;b=c[46729]|0}a[b>>0]=0;b=c[46728]|0;c[46729]=b;HA(e,d,b)|0}h[10]=1.0;h[12]=1.0;h[3]=1.0;h[4]=1.0;h[7]=1.0;h[8]=1.0;c[46742]=0;c[46744]=0;c[46735]=0;c[46736]=0;c[46739]=0;c[46740]=0;return}function Rb(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1056|0;j=t+16|0;s=t+8|0;r=t;k=t+32|0;o=c[(c[d+16>>2]|0)+12>>2]|0;p=c[11456+(o<<2)>>2]|0;kA(p,67188)|0;g=f+4|0;_b(k,+h[(c[g>>2]|0)+16>>3]);kA(p,k)|0;bc(d,195341,c[c[g>>2]>>2]|0);Xb(d);q=a[f+48>>0]|0;q=q<<24>>24==108?-1:q<<24>>24==114&1;g=c[g>>2]|0;if(!g)g=0;else g=c[g+24>>2]&127;i=b[(c[46732]|0)+8232>>1]|0;if((i&65535)>14?(m=c[11504+((i&65535)+-15<<2)>>2]&g,n=186932+(o<<2)|0,(c[n>>2]|0)!=(m|0)):0){c[r>>2]=m;i2(k,67191,r)|0;kA(p,k)|0;c[n>>2]=m}r=e+8|0;h[r>>3]=+h[f+24>>3]+ +h[r>>3];kA(p,67197)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];Zb(p,j);c[s>>2]=q;i2(k,102521,s)|0;kA(p,k)|0;_b(k,+h[f+32>>3]);kA(p,k)|0;bc(d,195341,c[f>>2]|0);l=t;return}function Sb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;i=l;l=l+1040|0;f=i;g=i+16|0;e=c[(c[a+16>>2]|0)+12>>2]|0;Wb(a);Xb(a);e=11456+(e<<2)|0;if(!d){a=c[e>>2]|0;kA(a,67185)|0}else{if((d|1|0)==3)dc(a,d,b,2);else ec(a);a=c[e>>2]|0;kA(a,67182)|0};c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];Zb(a,f);_b(g,+h[b+16>>3]-+h[b>>3]);kA(a,g)|0;_b(g,+h[b+24>>3]-+h[b+8>>3]);kA(a,g)|0;l=i;return}function Tb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Wb(a);Xb(a);if(!d)Yb(a,112,b,c);else{if((d|1|0)==3)dc(a,d,b,c);else ec(a);Yb(a,80,b,c)}return}function Ub(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Wb(a);Xb(a);if(!f)Yb(a,66,b,c);else{if((f|1|0)==3)dc(a,f,b,c);else ec(a);Yb(a,98,b,c)}return}function Vb(a,b,c){a=a|0;b=b|0;c=c|0;Wb(a);Xb(a);Yb(a,76,b,c);return}function Wb(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+1184|0;i=n;f=n+24|0;m=n+8|0;hA(m,1024,n+152|0);j=b+16|0;d=c[j>>2]|0;g=+h[d+152>>3];e=8+(c[d+12>>2]<<3)|0;if(g!=+h[e>>3]){h[e>>3]=g;kA(m,67154)|0;h[i>>3]=+h[(c[j>>2]|0)+152>>3];i2(f,67168,i)|0;$b(f,0);kA(m,f)|0;f=m+4|0;d=c[f>>2]|0;e=m+8|0;if(d>>>0>=(c[e>>2]|0)>>>0){iA(m,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=41;d=c[f>>2]|0;if(d>>>0>=(c[e>>2]|0)>>>0){iA(m,1)|0;d=c[f>>2]|0}a[d>>0]=0;d=c[m>>2]|0;c[f>>2]=d;bc(b,67173,d);d=c[j>>2]|0}d=c[d+160>>2]|0;if(d|0){j=m+4|0;k=m+8|0;a:while(1){i=d+4|0;d=c[d>>2]|0;if(!d)break;switch(a[d>>0]|0){case 102:{if(!(f2(d,111402)|0)){d=i;continue a}break}case 98:{if(!(f2(d,111384)|0)){d=i;continue a}break}case 115:{if(!(f2(d,111389)|0)){d=i;continue a}break}default:{}}kA(m,d)|0;do{f=d;d=d+1|0}while((a[f>>0]|0)!=0);if(a[d>>0]|0){e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){iA(m,1)|0;e=c[j>>2]|0}c[j>>2]=e+1;a[e>>0]=40;f=0;while(1){if(!(a[d>>0]|0))break;if(f|0){e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){iA(m,1)|0;e=c[j>>2]|0}c[j>>2]=e+1;a[e>>0]=44}kA(m,d)|0;do{e=d;d=d+1|0}while((a[e>>0]|0)!=0);f=f+1|0}d=c[j>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){iA(m,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=41}d=c[j>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){iA(m,1)|0;d=c[j>>2]|0}a[d>>0]=0;d=c[m>>2]|0;c[j>>2]=d;bc(b,67173,d);d=i}lA(m)}l=n;return}function Xb(a){a=a|0;ac((c[a+16>>2]|0)+16|0);bc(a,76106,194038);return}function Yb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+1040|0;j=k;i=k+16|0;h=c[11456+(c[(c[b+16>>2]|0)+12>>2]<<2)>>2]|0;g=h+4|0;b=c[g>>2]|0;if(b>>>0>=(c[h+8>>2]|0)>>>0){iA(h,1)|0;b=c[g>>2]|0}c[g>>2]=b+1;a[b>>0]=d;c[j>>2]=f;i2(i,67118,j)|0;kA(h,i)|0;b=0;while(1){if((b|0)>=(f|0))break;i=e+(b<<4)|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];Zb(h,j);b=b+1|0}l=k;return}function Zb(a,b){a=a|0;b=b|0;var c=0,d=0;c=l;l=l+1024|0;d=c;_b(d,+h[b>>3]);kA(a,d)|0;_b(d,+tL(+h[b+8>>3]));kA(a,d)|0;l=c;return}function _b(a,b){a=a|0;b=+b;var c=0,d=0;c=l;l=l+16|0;d=c;h[d>>3]=b>-1.0e-08&b<1.0e-08?0.0:b;i2(a,67123,d)|0;$b(a,1);l=c;return}function $b(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=F3(b,46)|0;e=(c|0)!=0;if(!d){if(e){d=b+(D3(b)|0)|0;f=10}}else{while(1){c=d+1|0;if(!(a[c>>0]|0))break;else d=c}a:while(1){switch(a[d>>0]|0){case 46:{f=5;break a}case 48:break;default:{f=6;break a}}a[d>>0]=0;d=d+-1|0}if((f|0)==5)a[d>>0]=0;else if((f|0)==6)d=d+1|0;if(e)f=10}if((f|0)==10){a[d>>0]=32;a[d+1>>0]=0}return}function ac(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j;e=a[b+3>>0]|0;f=d[b>>0]|0;g=d[b+1>>0]|0;b=d[b+2>>0]|0;if(e<<24>>24==-1){c[h>>2]=f;c[h+4>>2]=g;c[h+8>>2]=b;i2(194038,75986,h)|0}else{c[i>>2]=f;c[i+4>>2]=g;c[i+8>>2]=b;c[i+12>>2]=e&255;i2(194038,67136,i)|0}l=j;return}function bc(a,b,d){a=a|0;b=b|0;d=d|0;cc(c[11456+(c[(c[a+16>>2]|0)+12>>2]<<2)>>2]|0,b,d);return}function cc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+1040|0;h=f;g=f+8|0;i=D3(e)|0;c[h>>2]=d;c[h+4>>2]=i;i2(g,67129,h)|0;kA(b,g)|0;kA(b,e)|0;e=b+4|0;d=c[e>>2]|0;if(d>>>0>=(c[b+8>>2]|0)>>>0){iA(b,1)|0;d=c[e>>2]|0}c[e>>2]=d+1;a[d>>0]=32;l=f;return}function dc(b,d,f,i){b=b|0;d=d|0;f=f|0;i=i|0;var j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+1120|0;s=w+64|0;v=w+80|0;k=w+32|0;q=w+16|0;r=w;t=c[b+16>>2]|0;j=+(c[t+136>>2]|0)*3.141592653589793/180.0;if((e[(c[46732]|0)+8232>>1]|0)<14)ec(b);else{hA(v,1024,w+96|0);u=(d|0)==2;if(u){nQ(f,k,i,j,2);f=v+4|0;d=c[f>>2]|0;if(d>>>0>=(c[v+8>>2]|0)>>>0){iA(v,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=91;c[s>>2]=c[k>>2];c[s+4>>2]=c[k+4>>2];c[s+8>>2]=c[k+8>>2];c[s+12>>2]=c[k+12>>2];Zb(v,s);r=k+16|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];Zb(v,s)}else{nQ(f,k,i,0.0,3);p=+h[k+24>>3];n=+h[k>>3];m=+h[k+8>>3];o=p*.25;if(j==0.0){h[q>>3]=n;j=m}else{h[q>>3]=n+o*+I(+j);j=m+o*+J(+j)}h[q+8>>3]=j;h[r>>3]=n;h[r+8>>3]=m;f=v+4|0;d=c[f>>2]|0;if(d>>>0>=(c[v+8>>2]|0)>>>0){iA(v,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=40;c[s>>2]=c[q>>2];c[s+4>>2]=c[q+4>>2];c[s+8>>2]=c[q+8>>2];c[s+12>>2]=c[q+12>>2];Zb(v,s);fc(v,o);c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];Zb(v,s);fc(v,p)}kA(v,67179)|0;f=t+140|0;j=+g[f>>2];i=t+56|0;d=t+96|0;if(j>0.0){gc(v,j,i);gc(v,+g[f>>2],d)}else{gc(v,0.0,i);gc(v,1.0,d)}mA(v)|0;k=v+4|0;d=c[k>>2]|0;i=v+8|0;f=d>>>0>=(c[i>>2]|0)>>>0;if(u){if(f){iA(v,1)|0;d=c[k>>2]|0}c[k>>2]=d+1;a[d>>0]=93}else{if(f){iA(v,1)|0;d=c[k>>2]|0}c[k>>2]=d+1;a[d>>0]=41}d=c[k>>2]|0;if(d>>>0>=(c[i>>2]|0)>>>0){iA(v,1)|0;d=c[k>>2]|0}a[d>>0]=0;u=c[v>>2]|0;c[k>>2]=u;bc(b,67176,u);lA(v)}l=w;return}function ec(a){a=a|0;ac((c[a+16>>2]|0)+56|0);bc(a,67176,194038);return}function fc(a,b){a=a|0;b=+b;var c=0,d=0;c=l;l=l+1024|0;d=c;_b(d,b);kA(a,d)|0;l=c;return}function gc(a,b,c){a=a|0;b=+b;c=c|0;var d=0,e=0,f=0;d=l;l=l+1040|0;f=d;e=d+8|0;h[f>>3]=b;i2(e,94469,f)|0;$b(e,1);ac(c);cc(a,e,194038);l=d;return}function hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0;e=l;l=l+1040|0;i=e;f=e+16|0;g=c[11456+(c[(c[a+16>>2]|0)+12>>2]<<2)>>2]|0;kA(g,67285)|0;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];Zb(g,i);_b(f,+h[d+16>>3]-+h[d>>3]);kA(g,f)|0;_b(f,+h[d+24>>3]-+h[d+8>>3]);kA(g,f)|0;bc(a,195341,c[b+8>>2]|0);l=e;return}function ic(a){a=a|0;var b=0;switch(c[a+64>>2]|0){case 0:{b=yF(c[a>>2]|0)|0;mG(b,c[(c[a+16>>2]|0)+8>>2]|0,68069,0)|0;zF(b);break}case 1:{HL(c[(c[a>>2]|0)+168>>2]|0);break}default:{}}return}function jc(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=c[(c[b+16>>2]|0)+8>>2]|0;if(!(c[46745]|0)){c[46745]=c[4689];c[46746]=57;c[46747]=19}c[(c[e+64>>2]|0)+8>>2]=186980;kc(e,1);c[d>>2]=0;a[d+4>>0]=(a[(c[e+16>>2]|0)+115>>0]|0)==1&1;g=c[b+64>>2]|0;a[d+5>>0]=((g|0)==0|(g|0)==3)&1;a[d+6>>0]=0;lc(e,b,1,d);l=f;return}function kc(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[a>>2]&-9;d=MD(a)|0;while(1){if(!d)break;kc(d,0);d=ND(d)|0}a:do if(b|0){b=gC(a)|0;while(1){if(!b)break a;c[b>>2]=c[b>>2]&-9;d=UA(a,b)|0;while(1){if(!d)break;c[d>>2]=c[d>>2]&-9;d=WA(a,d)|0}b=hC(a,b)|0}}while(0);return}function lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q+8|0;o=q;n=(d|0)!=0;if(n){m=Sz(11876,c[4591]|0)|0;WC(a,1,141363,12,0);WC(a,2,141363,12,0);WC(a,0,141363,-12,0);f=mc(a,0,m)|0;j=gC(a)|0;i=0;g=0;while(1){if(!j)break;if(!(h2(HB(j)|0,108307,7)|0)){k=g;g=nc(m,HB(j)|0)|0}else{k=g+1|0;g=g+f|0}c[(PC(j,141363,0)|0)+8>>2]=g;h=UA(a,j)|0;g=i;while(1){if(!h)break;c[(PC(h,141363,0)|0)+8>>2]=g;h=WA(a,h)|0;g=g+1|0}j=hC(a,j)|0;i=g;g=k}Oz(m)|0}else f=0;m=c[e>>2]|0;c[e>>2]=m+1;oc(b,m);mF(b,97675)|0;pc(a,b,d,e);qc(a,b,e);mF(b,97646)|0;oc(b,c[e>>2]|0);if(n){c[o>>2]=f;sF(b,67288,o)}else{c[p>>2]=c[(PC(a,141363,0)|0)+8>>2];sF(b,67308,p)}sc(a,b,d,rc(a,b,d,e)|0,e);tc(a,b,d,e);mF(b,153748)|0;p=(c[e>>2]|0)+-1|0;c[e>>2]=p;oc(b,p);if(n)mF(b,111309)|0;else mF(b,75629)|0;l=q;return}function mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((vC(a)|0)!=(a|0)){e=b+1|0;c[(PC(a,141363,0)|0)+8>>2]=b;if(!(h2(HB(a)|0,108307,7)|0)){b=HB(a)|0;Fc(d,b,c[(PC(a,141363,0)|0)+8>>2]|0);b=e}else b=e}e=MD(a)|0;while(1){if(!e)break;a=mc(e,b,d)|0;e=ND(e)|0;b=a}return b|0}function nc(a,b){a=a|0;b=b|0;a=eb[c[a>>2]&63](a,b,512)|0;if(!a)a=-1;else a=c[a+12>>2]|0;return a|0}function oc(a,b){a=a|0;b=b|0;while(1){if((b|0)<=0)break;mF(a,90875)|0;b=b+-1|0}return}function pc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;g=h+16|0;f=h+8|0;i=h;j=HB(a)|0;oc(b,c[e>>2]|0);c[i>>2]=wc(j,e)|0;sF(b,67396,i);if(d|0){mF(b,97646)|0;oc(b,c[e>>2]|0);j=(uB(a)|0)!=0;c[f>>2]=j?107953:137609;sF(b,68010,f);oc(b,c[e>>2]|0);j=(wB(a)|0)!=0;c[g>>2]=j?107953:137609;sF(b,68027,g)}l=h;return}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;m=o;i=vC(b)|0;j=c[b>>2]&3;f=IA(i,j,0)|0;a:do if(f|0){k=e+5|0;while(1){if(!f)break a;g=OA(b,f)|0;do if(g|0){h=f+8|0;if(!(a[g>>0]|0)){g=c[h>>2]|0;if((a[g>>0]|0)!=108)break;if(f2(g,108525)|0)break}mF(d,97646)|0;oc(d,c[e>>2]|0);c[m>>2]=wc(c[h>>2]|0,e)|0;sF(d,67446,m);if(a[k>>0]|0?yc(c[h>>2]|0)|0:0){zc(OA(b,f)|0,d,e);break}c[n>>2]=wc(OA(b,f)|0,e)|0;sF(d,67453,n)}while(0);f=IA(i,j,f)|0}}while(0);l=o;return}function rc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=MD(a)|0;if(f){mF(b,97646)|0;g=c[e>>2]|0;c[e>>2]=g+1;oc(b,g);g=(d|0)!=0;if(g){mF(b,67370)|0;a=0;d=f}else{mF(b,67430)|0;oc(b,c[e>>2]|0);a=0;d=f}while(1){if(!d)break;if(!a)a=1;else mF(b,97646)|0;if(g)xc(d,b,e);else{c[h>>2]=c[(PC(d,141363,0)|0)+8>>2];sF(b,137696,h)}d=ND(d)|0}if(g)a=1;else{c[e>>2]=(c[e>>2]|0)+-1;mF(b,153748)|0;oc(b,c[e>>2]|0);mF(b,97641)|0;a=1}}else a=0;l=i;return a|0}function sc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=gC(a)|0;e=(e|0)!=0;if(!g){if((d|0)!=0&e){c[f>>2]=(c[f>>2]|0)+-1;mF(b,153748)|0;oc(b,c[f>>2]|0);mF(b,97641)|0}}else{mF(b,97646)|0;h=(d|0)!=0;if(h)if(e)e=0;else{e=c[f>>2]|0;c[f>>2]=e+1;oc(b,e);mF(b,67370)|0;e=0}else{e=c[f>>2]|0;c[f>>2]=e+1;oc(b,e);mF(b,67384)|0;oc(b,c[f>>2]|0);e=0}while(1){if(!g)break;if(h2(HB(g)|0,108307,7)|0){do if(e)if(h){mF(b,97646)|0;break}else{mF(b,101300)|0;break}else e=1;while(0);vc(g,b,d,f)}g=hC(a,g)|0}c[f>>2]=(c[f>>2]|0)+-1;mF(b,153748)|0;oc(b,c[f>>2]|0);mF(b,97641)|0}return}function tc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=gC(a)|0;a:do if(f|0){while(1){if(!f)break a;if(UA(a,f)|0)break;f=hC(a,f)|0}mF(b,97646)|0;i=c[e>>2]|0;c[e>>2]=i+1;oc(b,i);mF(b,67320)|0;i=(d|0)!=0;if(i)g=0;else{oc(b,c[e>>2]|0);g=0}while(1){if(!f)break;h=UA(a,f)|0;while(1){if(!h)break;do if(g)if(i){mF(b,97646)|0;break}else{mF(b,101300)|0;break}else g=1;while(0);uc(h,b,d,e);h=WA(a,h)|0}f=hC(a,f)|0}c[e>>2]=(c[e>>2]|0)+-1;mF(b,153748)|0;oc(b,c[e>>2]|0);mF(b,97641)|0}while(0);return}function uc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+24|0;h=j+16|0;g=j+8|0;f=j;if(!d){c[i>>2]=c[(PC(a,141363,0)|0)+8>>2];sF(b,137696,i)}else{i=c[e>>2]|0;c[e>>2]=i+1;oc(b,i);mF(b,97675)|0;oc(b,c[e>>2]|0);c[f>>2]=c[(PC(a,141363,0)|0)+8>>2];sF(b,67332,f);oc(b,c[e>>2]|0);c[g>>2]=c[(PC(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0,141363,0)|0)+8>>2];sF(b,67346,g);oc(b,c[e>>2]|0);c[h>>2]=c[(PC(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0,141363,0)|0)+8>>2];sF(b,67359,h);qc(a,b,e);mF(b,153748)|0;i=(c[e>>2]|0)+-1|0;c[e>>2]=i;oc(b,i);mF(b,75629)|0}l=j;return}function vc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i+16|0;g=i+8|0;f=i;if(!d){c[h>>2]=c[(PC(a,141363,0)|0)+8>>2];sF(b,137696,h)}else{h=c[e>>2]|0;c[e>>2]=h+1;oc(b,h);mF(b,97675)|0;oc(b,c[e>>2]|0);c[f>>2]=c[(PC(a,141363,0)|0)+8>>2];sF(b,67332,f);oc(b,c[e>>2]|0);c[g>>2]=wc(HB(a)|0,e)|0;sF(b,67396,g);qc(a,b,e);mF(b,153748)|0;h=(c[e>>2]|0)+-1|0;c[e>>2]=h;oc(b,h);mF(b,75629)|0}l=i;return}function wc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+4|0;if(a[g>>0]|0)b=cQ(b)|0;if(!(c[46748]|0)){hA(186992,1024,0);e=b}else e=b;a:while(1){f=a[e>>0]|0;switch(f<<24>>24){case 0:break a;case 34:{kA(186992,67409)|0;break}case 92:{kA(186992,96917)|0;break}case 47:{kA(186992,67412)|0;break}case 8:{kA(186992,67415)|0;break}case 12:{kA(186992,67418)|0;break}case 10:{kA(186992,67421)|0;break}case 13:{kA(186992,67424)|0;break}case 9:{kA(186992,67427)|0;break}default:{d=c[46749]|0;if(d>>>0>=(c[46750]|0)>>>0){iA(186992,1)|0;d=c[46749]|0}c[46749]=d+1;a[d>>0]=f}}e=e+1|0}d=c[46749]|0;if(d>>>0>=(c[46750]|0)>>>0){iA(186992,1)|0;d=c[46749]|0}a[d>>0]=0;d=c[46748]|0;c[46749]=d;if(a[g>>0]|0)l6(b);return d|0}function xc(a,b,c){a=a|0;b=b|0;c=c|0;lc(a,b,0,c);a=MD(a)|0;while(1){if(!a)break;mF(b,97646)|0;xc(a,b,c);a=ND(a)|0}return}function yc(b){b=b|0;var c=0;c=b+1|0;a:do if((a[b>>0]|0)==95){b=(a[c>>0]|0)+-100<<24>>24;switch(((b&255)>>>2|b<<6&255)<<24>>24){case 0:{if(!(f2(c,67967)|0)){b=1;break a}break}case 2:{if(!(f2(c,67973)|0)){b=1;break a}break}case 1:{if(!(f2(c,67980)|0)){b=1;break a}b=(f2(c,67994)|0)==0;break a}case 4:{if(!(f2(c,67987)|0)){b=1;break a}b=(f2(c,68002)|0)==0;break a}default:{b=0;break a}}b=0}else b=0;while(0);return b&1|0}function zc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;do if(b|0?a[b>>0]|0:0){h=BH(b)|0;if(!h){c[f>>2]=b;dA(0,67458,f)|0;break}mF(d,153748)|0;g=c[e>>2]|0;c[e>>2]=g+1;oc(d,g);mF(d,67485)|0;g=h+8|0;b=0;f=0;while(1){if((f|0)>=(c[h>>2]|0))break;if(!b)b=1;else mF(d,97646)|0;Ac((c[g>>2]|0)+(f*80|0)|0,d,e);f=f+1|0}c[e>>2]=(c[e>>2]|0)+-1;mF(d,153748)|0;oc(d,c[e>>2]|0);mF(d,97641)|0;CH(h)}while(0);l=i;return}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;A=l;l=l+240|0;y=A+224|0;x=A+216|0;w=A+208|0;v=A+200|0;u=A+192|0;t=A+184|0;s=A+176|0;r=A+152|0;q=A+136|0;p=A+128|0;o=A+112|0;n=A+104|0;m=A+96|0;k=A+88|0;j=A+72|0;i=A+48|0;z=A+40|0;g=A+8|0;f=A;e=c[d>>2]|0;c[d>>2]=e+1;oc(b,e);mF(b,97675)|0;oc(b,c[d>>2]|0);e=c[a>>2]|0;a:do switch(e|0){case 1:case 0:{c[f>>2]=(e|0)==0?69:101;sF(b,67488,f);oc(b,c[d>>2]|0);D=+h[a+16>>3];C=+h[a+24>>3];B=+h[a+32>>3];h[g>>3]=+h[a+8>>3];h[g+8>>3]=D;h[g+16>>3]=C;h[g+24>>3]=B;sF(b,67501,g);break}case 3:case 2:{c[z>>2]=(e|0)==2?80:112;sF(b,67488,z);oc(b,c[d>>2]|0);Bc(b,a+8|0);break}case 5:case 4:{c[i>>2]=(e|0)==4?66:98;sF(b,67488,i);oc(b,c[d>>2]|0);Bc(b,a+8|0);break}case 6:{sF(b,67536,A+56|0);oc(b,c[d>>2]|0);Bc(b,a+8|0);break}case 7:{sF(b,67548,A+64|0);oc(b,c[d>>2]|0);D=+h[a+16>>3];h[j>>3]=+h[a+8>>3];h[j+8>>3]=D;sF(b,67560,j);oc(b,c[d>>2]|0);z=c[a+24>>2]|0;c[k>>2]=(z|0)==0?108:(z|0)==1?99:114;sF(b,67582,k);oc(b,c[d>>2]|0);h[m>>3]=+h[a+32>>3];sF(b,67598,m);oc(b,c[d>>2]|0);c[n>>2]=wc(c[a+40>>2]|0,d)|0;sF(b,67615,n);break}case 9:case 8:{c[o>>2]=(e|0)==8?67:99;sF(b,67488,o);oc(b,c[d>>2]|0);sF(b,67629,A+120|0);oc(b,c[d>>2]|0);c[p>>2]=wc(c[a+8>>2]|0,d)|0;sF(b,67646,p);break}case 13:case 14:{c[q>>2]=(e|0)==13?67:99;sF(b,67488,q);oc(b,c[d>>2]|0);switch(c[a+8>>2]|0){case 0:{sF(b,67629,A+144|0);oc(b,c[d>>2]|0);c[r>>2]=wc(c[a+16>>2]|0,d)|0;sF(b,67646,r);break a}case 1:{sF(b,67661,A+160|0);oc(b,c[d>>2]|0);Cc(b,a+16|0,d);break a}default:{sF(b,67680,A+168|0);oc(b,c[d>>2]|0);Dc(b,a+16|0,d);break a}}}case 10:{sF(b,67699,s);oc(b,c[d>>2]|0);h[t>>3]=+h[a+8>>3];sF(b,67711,t);oc(b,c[d>>2]|0);c[u>>2]=wc(c[a+16>>2]|0,d)|0;sF(b,67727,u);break}case 11:{sF(b,67741,v);oc(b,c[d>>2]|0);c[w>>2]=wc(c[a+8>>2]|0,d)|0;sF(b,67753,w);break}case 15:{sF(b,67768,x);oc(b,c[d>>2]|0);c[y>>2]=c[a+8>>2];sF(b,67780,y);break}default:{}}while(0);z=(c[d>>2]|0)+-1|0;c[d>>2]=z;oc(b,z);mF(b,75629)|0;l=A;return}function Bc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0;j=l;l=l+48|0;i=j+32|0;g=j+16|0;f=j+8|0;e=c[b>>2]|0;d=c[b+4>>2]|0;sF(a,67941,j);b=0;while(1){if((b|0)>=(e|0))break;if((b|0)>0)sF(a,101300,f);k=+h[d+(b*24|0)+8>>3];h[g>>3]=+h[d+(b*24|0)>>3];h[g+8>>3]=k;sF(a,67953,g);b=b+1|0}sF(a,67894,i);l=j;return}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0;e=l;l=l+32|0;f=e+16|0;i=e;oc(a,c[d>>2]|0);g=+h[b+8>>3];h[i>>3]=+h[b>>3];h[i+8>>3]=g;sF(a,67897,i);oc(a,c[d>>2]|0);g=+h[b+24>>3];h[f>>3]=+h[b+16>>3];h[f+8>>3]=g;sF(a,67919,f);oc(a,c[d>>2]|0);Ec(a,c[b+32>>2]|0,c[b+36>>2]|0,d);l=e;return}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0;e=l;l=l+48|0;f=e+24|0;j=e;oc(a,c[d>>2]|0);g=+h[b+8>>3];i=+h[b+16>>3];h[j>>3]=+h[b>>3];h[j+8>>3]=g;h[j+16>>3]=i;sF(a,67796,j);oc(a,c[d>>2]|0);i=+h[b+32>>3];g=+h[b+40>>3];h[f>>3]=+h[b+24>>3];h[f+8>>3]=i;h[f+16>>3]=g;sF(a,67824,f);oc(a,c[d>>2]|0);Ec(a,c[b+48>>2]|0,c[b+52>>2]|0,d);l=e;return}function Ec(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+48|0;k=m+32|0;j=m+16|0;i=m+8|0;sF(a,67852,m);f=0;while(1){if((f|0)>=(b|0))break;if((f|0)>0)sF(a,101300,i);o=+g[d+(f<<3)>>2];n=wc(c[d+(f<<3)+4>>2]|0,e)|0;h[j>>3]=o;c[j+8>>2]=n;sF(a,67863,j);f=f+1|0}sF(a,67894,k);l=m;return}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=eb[c[a>>2]&63](a,b,512)|0;if(e){if((c[e+12>>2]|0)!=(d|0)){c[f>>2]=b;dA(0,68040,f)|0}}else{f=m6(1,16)|0;c[f+8>>2]=Y3(b)|0;c[f+12>>2]=d;eb[c[a>>2]&63](a,f,1)|0}l=g;return}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;l6(c[b+8>>2]|0);l6(b);return}function Hc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;mF(a,68895)|0;j=c[c[a+12>>2]>>2]|0;i=c[j+4>>2]|0;h=c[j+8>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;c[g+8>>2]=h;sF(a,68905,g);c[e>>2]=HB(c[f+8>>2]|0)|0;sF(a,68940,e);c[d>>2]=S(c[a+168>>2]|0,c[a+164>>2]|0)|0;sF(a,68953,d);mF(a,68966)|0;mF(a,68976)|0;mF(a,68984)|0;mF(a,68992)|0;mF(a,69e3)|0;mF(a,69008)|0;mF(a,69016)|0;mF(a,69020)|0;mF(a,69025)|0;l=b;return}function Ic(a){a=a|0;mF(a,68876)|0;return}function Jc(a){a=a|0;c[46752]=2;return}function Kc(a){a=a|0;c[46752]=1;return}function Lc(a){a=a|0;c[46752]=2;return}function Mc(a){a=a|0;c[46752]=0;return}function Nc(a){a=a|0;c[46752]=2;return}function Oc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=l;l=l+80|0;o=p;m=c[(c[b+16>>2]|0)+16>>2]|0;n=c[46752]|0;f=c[e+4>>2]|0;g=+h[f+16>>3]*+h[b+352>>3];i=c[b+360>>2]|0?1.5707963267948966:0.0;j=c[e>>2]|0;k=g*2.0/3.0*+((D3(j)|0)>>>0)*.5;f=c[f+8>>2]|0;if(!f)f=-1;else f=c[f+20>>2]|0;e=a[e+48>>0]|0;r=+h[d>>3];q=+h[d+8>>3]+-72.0;j=Yc(j)|0;c[o>>2]=4;c[o+4>>2]=e<<24>>24==108?0:e<<24>>24==114?2:1;c[o+8>>2]=m;c[o+12>>2]=n;c[o+16>>2]=0;c[o+20>>2]=f;h[o+24>>3]=g;h[o+32>>3]=i;c[o+40>>2]=6;h[o+48>>3]=g;h[o+56>>3]=k;c[o+64>>2]=~~(r+(r>=0.0?.5:-.5));c[o+68>>2]=~~(q+(q>=0.0?.5:-.5));c[o+72>>2]=j;sF(b,68821,o);l=p;return}function Pc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;i=n+20|0;m=e+32|0;a:do switch(c[m>>2]|0){case 5:{f=0;while(1){g=c[12764+(f<<2)>>2]|0;if((f|0)==8)break a;h=c[e>>2]|0;if((a[g>>0]|0)==(a[h>>0]|0)?(f2(g,h)|0)==0:0){k=10;break a}f=f+1|0}}case 1:{g=e+1|0;h=e+2|0;f=(Xc(i,d[e>>0]|0,d[g>>0]|0,d[h>>0]|0)|0)+32|0;if(!(c[i>>2]|0))k=10;else{o=d[e>>0]|0;i=d[g>>0]|0;k=d[h>>0]|0;c[j>>2]=0;c[j+4>>2]=f;c[j+8>>2]=o;c[j+12>>2]=i;c[j+16>>2]=k;sF(b,68764,j);k=10}break}default:Aa(138697,68161,163,68192)}while(0);if((k|0)==10)c[e>>2]=f;c[m>>2]=6;l=n;return}function Qc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0;e=l;l=l+112|0;f=e+8|0;u=e+104|0;t=e;k=c[a+16>>2]|0;s=~~+h[k+152>>3];r=c[k+16>>2]|0;q=c[k+56>>2]|0;p=c[46752]|0;Vc(k,u,t);n=+h[b>>3];k=~~(n+(n>=0.0?.5:-.5));m=+h[b+8>>3];j=~~(m+(m>=0.0?.5:-.5));i=+h[b+16>>3];n=i-n;g=+h[b+24>>3];m=g-m;b=c[u>>2]|0;o=+h[t>>3];c[f>>2]=1;c[f+4>>2]=1;c[f+8>>2]=b;c[f+12>>2]=s;c[f+16>>2]=r;c[f+20>>2]=q;c[f+24>>2]=p;c[f+28>>2]=0;c[f+32>>2]=d|0?20:-1;h[f+40>>3]=o;c[f+48>>2]=0;h[f+56>>3]=0.0;c[f+64>>2]=k;c[f+68>>2]=j;c[f+72>>2]=~~(n+(n>=0.0?.5:-.5));c[f+76>>2]=~~(m+(m>=0.0?.5:-.5));c[f+80>>2]=k;c[f+84>>2]=j;c[f+88>>2]=~~(i+(i>=0.0?.5:-.5));c[f+92>>2]=~~(g+(g>=0.0?.5:-.5));sF(a,68699,f);l=e;return}function Rc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;f=l;l=l+96|0;g=f+8|0;o=f+80|0;p=f;q=c[a+16>>2]|0;n=~~+h[q+152>>3];m=c[q+16>>2]|0;k=c[q+56>>2]|0;j=c[46752]|0;Vc(q,o,p);o=c[o>>2]|0;i=+h[p>>3];c[g>>2]=2;c[g+4>>2]=3;c[g+8>>2]=o;c[g+12>>2]=n;c[g+16>>2]=m;c[g+20>>2]=k;c[g+24>>2]=j;c[g+28>>2]=0;c[g+32>>2]=e|0?20:-1;h[g+40>>3]=i;c[g+48>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;c[g+64>>2]=0;c[g+68>>2]=d+1;sF(a,68603,g);Wc(a,b,d,1);l=f;return}function Sc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0;C=l;l=l+192|0;B=C+176|0;z=C+168|0;A=C+104|0;y=C+96|0;i=C+88|0;u=C+180|0;v=C+80|0;w=C+16|0;x=C;f=a+16|0;e=c[f>>2]|0;q=~~+h[e+152>>3];r=c[e+16>>2]|0;s=c[46752]|0;if((d|0)<=3)Aa(68154,68161,360,68181);t=k6((d*140|0)+140|0)|0;Vc(e,u,v);if(!g){o=4;j=0;k=-1}else{o=5;j=c[(c[f>>2]|0)+56>>2]|0;k=20}E=+h[b>>3];n=w+48|0;h[n>>3]=E;D=+h[b+8>>3];h[w+56>>3]=D;c[i>>2]=~~(E+(E>=0.0?.5:-.5));c[i+4>>2]=~~(D+(D>=0.0?.5:-.5));m=x+8|0;e=t+(i2(t,81371,i)|0)|0;p=1;g=0;while(1){i=g+3|0;if((i|0)>=(d|0))break;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];f=1;while(1){if((f|0)==4){f=1;break}F=f+g|0;h[w+(f<<4)>>3]=+h[b+(F<<4)>>3];h[w+(f<<4)+8>>3]=+h[b+(F<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;iP(x,w,3,+(f|0)/6.0,0,0);D=+h[x>>3];E=+h[m>>3];c[y>>2]=~~(D+(D>=0.0?.5:-.5));c[y+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;e=e+(i2(e,81371,y)|0)|0}p=p+6|0;g=i}f=c[u>>2]|0;E=+h[v>>3];c[A>>2]=3;c[A+4>>2]=o;c[A+8>>2]=f;c[A+12>>2]=q;c[A+16>>2]=r;c[A+20>>2]=j;c[A+24>>2]=s;c[A+28>>2]=0;c[A+32>>2]=k;h[A+40>>3]=E;c[A+48>>2]=0;c[A+52>>2]=0;c[A+56>>2]=0;c[A+60>>2]=p;sF(a,68654,A);c[z>>2]=t;sF(a,81378,z);l6(t);f=p+-1|0;e=0;while(1){if((e|0)>=(p|0))break;c[B>>2]=((e|0)%(f|0)|0|0)!=0&1;sF(a,81383,B);e=e+1|0}mF(a,153748)|0;l=C;return}function Tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+96|0;f=e+8|0;m=e+80|0;n=e;o=c[a+16>>2]|0;k=~~+h[o+152>>3];j=c[o+16>>2]|0;i=c[46752]|0;Vc(o,m,n);m=c[m>>2]|0;g=+h[n>>3];c[f>>2]=2;c[f+4>>2]=1;c[f+8>>2]=m;c[f+12>>2]=k;c[f+16>>2]=j;c[f+20>>2]=0;c[f+24>>2]=i;c[f+28>>2]=0;c[f+32>>2]=0;h[f+40>>3]=g;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=d;sF(a,68603,f);Wc(a,b,d,0);l=e;return}function Uc(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;sF(a,68597,e);l=d;return}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function Wc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));sF(a,81371,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));sF(a,81371,i)}mF(a,153748)|0;l=j;return}function Xc(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c[a>>2]=0;m=c[46753]|0;h=195075;g=0;i=-1;while(1){j=190960+(g<<1)|0;k=191472+(g<<1)|0;l=191984+(g<<1)|0;if((g|0)>=(m|0)){n=6;break}o=(b[j>>1]|0)-d|0;k=(b[k>>1]|0)-e|0;j=(b[l>>1]|0)-f|0;j=(S(k,k)|0)+(S(o,o)|0)+(S(j,j)|0)|0;if((j|0)<(h|0))if(!j)break;else{h=j;i=g}g=g+1|0}if((n|0)==6){c[46753]=m+1;if((m|0)==256)g=i;else{b[j>>1]=d;b[k>>1]=e;b[l>>1]=f;c[a>>2]=1}}return g|0}function Yc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[46754]|0;if(!d){c[46755]=64;d=k6(64)|0;c[46754]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[46755]|0;if((e|0)>(b+-8|0)){d=b<<1;c[46755]=d;d=n6(c[46754]|0,d)|0;c[46754]=d;d=d+e|0}b=d+1|0;if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;i2(b,81496,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=b}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[46754]|0}function Zc(b){b=b|0;var d=0,e=0,f=0;e=c[b+16>>2]|0;switch(c[b+64>>2]|0){case 0:{mF(b,68492)|0;d=e+208|0;e=c[d>>2]|0;if(e|0?a[e>>0]|0:0){mF(b,68506)|0;mF(b,DK(c[d>>2]|0)|0)|0;mF(b,153748)|0}break}case 1:{d=e+208|0;f=c[d>>2]|0;if(f|0?a[f>>0]|0:0){mF(b,68506)|0;mF(b,DK(c[d>>2]|0)|0)|0;mF(b,102905)|0;mF(b,DK(HB(c[e+8>>2]|0)|0)|0)|0;mF(b,153748)|0}break}case 3:{f=DK(HB(c[e+8>>2]|0)|0)|0;mF(b,68515)|0;mF(b,f)|0;mF(b,68525)|0;mF(b,f)|0;mF(b,68480)|0;break}default:{}}return}function _c(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;d=c[a+16>>2]|0;e=d+264|0;f=d+228|0;g=d+244|0;h=d+208|0;i=d+272|0;b=d+268|0;d=d+212|0;switch(c[a+64>>2]|0){case 2:{ad(a,c[e>>2]|0,c[i>>2]|0,c[b>>2]|0,c[h>>2]|0,c[f>>2]|0,c[g>>2]|0,c[d>>2]|0);break}case 3:{ad(a,c[e>>2]|0,c[i>>2]|0,c[b>>2]|0,c[h>>2]|0,c[f>>2]|0,c[g>>2]|0,c[d>>2]|0);mF(a,68484)|0;break}default:{}}return}function $c(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+16>>2]|0;ad(a,c[g+264>>2]|0,c[g+272>>2]|0,c[g+268>>2]|0,b,d,e,f);return}function ad(b,d,e,f,g,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=l;l=l+128|0;x=y+120|0;u=y+112|0;t=y+96|0;s=y+80|0;r=y+56|0;w=y+48|0;q=y+40|0;v=y+24|0;p=y;a:do if((e|0)!=0&(f|0)!=0){m=f+10|0;if((c[46756]|0)<(f|0)){c[46756]=m;o=n6(c[46757]|0,m<<3)|0;c[46757]=o}else o=c[46757]|0;m=0;while(1){if((m|0)>=(f|0))break;z=+h[e+(m<<4)>>3];c[o+(m<<3)>>2]=~~(z+(z>=0.0?.5:-.5));z=+h[e+(m<<4)+8>>3];c[o+(m<<3)+4>>2]=~~(z+(z>=0.0?.5:-.5));m=m+1|0}n=b+64|0;m=c[n>>2]|0;e=(g|0)!=0;if(e&(m|0)==0){if(!(a[g>>0]|0))break;switch(d|0){case 0:{v=c[o>>2]|0;w=c[o+12>>2]|0;x=c[o+8>>2]|0;f=c[o+4>>2]|0;c[p>>2]=g;c[p+4>>2]=v;c[p+8>>2]=w;c[p+12>>2]=x;c[p+16>>2]=f;sF(b,68226,p);break a}case 1:{w=c[o>>2]|0;x=c[o+4>>2]|0;f=(c[o+8>>2]|0)-w|0;c[v>>2]=g;c[v+4>>2]=w;c[v+8>>2]=x;c[v+12>>2]=f;sF(b,68247,v);break a}case 2:{c[q>>2]=g;sF(b,68267,q);m=0;while(1){if((m|0)>=(f|0))break;v=c[46757]|0;x=c[v+(m<<3)+4>>2]|0;c[w>>2]=c[v+(m<<3)>>2];c[w+4>>2]=x;sF(b,68275,w);m=m+1|0}mF(b,153748)|0;break a}default:Aa(138697,68282,63,68302)}}if(e&(m|0)==1){if(!(a[g>>0]|0))break;if(!d){w=c[o+12>>2]|0;x=c[o+8>>2]|0;f=c[o+4>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=w;c[r+8>>2]=x;c[r+12>>2]=f;c[r+16>>2]=g;c[r+20>>2]=i;sF(b,68319,r);break}else Aa(138697,68282,75,68302)}if((m&-2|0)==2){switch(d|0){case 1:{mF(b,68352)|0;break}case 0:{mF(b,68373)|0;break}case 2:{mF(b,68392)|0;break}default:Aa(138697,68282,91,68302)}if(k|0?a[k>>0]|0:0){mF(b,73872)|0;mF(b,GK(k)|0)|0;mF(b,99045)|0}if(e?a[g>>0]|0:0){mF(b,68411)|0;mF(b,GK(g)|0)|0;mF(b,99045)|0}if(j|0?a[j>>0]|0:0){mF(b,74831)|0;mF(b,DK(j)|0)|0;mF(b,99045)|0}if(i|0?a[i>>0]|0:0){mF(b,68419)|0;mF(b,DK(i)|0)|0;mF(b,99045)|0}mF(b,68428)|0;mF(b,68436)|0;b:do switch(d|0){case 1:{f=c[46757]|0;w=c[f>>2]|0;x=c[f+4>>2]|0;f=(c[f+8>>2]|0)-w|0;c[s>>2]=w;c[s+4>>2]=x;c[s+8>>2]=f;sF(b,68446,s);break}case 0:{v=c[46757]|0;w=c[v+12>>2]|0;x=c[v+8>>2]|0;f=c[v+4>>2]|0;c[t>>2]=c[v>>2];c[t+4>>2]=w;c[t+8>>2]=x;c[t+12>>2]=f;sF(b,68455,t);break}case 2:{w=c[46757]|0;m=c[w+4>>2]|0;c[u>>2]=c[w>>2];c[u+4>>2]=m;sF(b,68467,u);m=1;while(1){if((m|0)>=(f|0))break b;v=c[46757]|0;w=c[v+(m<<3)+4>>2]|0;c[x>>2]=c[v+(m<<3)>>2];c[x+4>>2]=w;sF(b,68473,x);m=m+1|0}}default:{}}while(0);if((c[n>>2]|0)==3){mF(b,73696)|0;break}else{mF(b,68480)|0;break}}}while(0);l=y;return}function bd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;mF(a,68895)|0;j=c[c[a+12>>2]>>2]|0;i=c[j+4>>2]|0;h=c[j+8>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;c[g+8>>2]=h;sF(a,68905,g);c[e>>2]=HB(c[f+8>>2]|0)|0;sF(a,68940,e);c[d>>2]=S(c[a+168>>2]|0,c[a+164>>2]|0)|0;sF(a,68953,d);mF(a,68966)|0;mF(a,68976)|0;mF(a,68984)|0;mF(a,68992)|0;mF(a,69e3)|0;mF(a,69008)|0;mF(a,69016)|0;mF(a,69020)|0;mF(a,69025)|0;l=b;return}function cd(a){a=a|0;mF(a,68876)|0;return}function dd(a){a=a|0;c[46758]=2;return}function ed(a){a=a|0;c[46758]=1;return}function fd(a){a=a|0;c[46758]=2;return}function gd(a){a=a|0;c[46758]=0;return}function hd(a){a=a|0;c[46758]=2;return}function id(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0;n=l;l=l+80|0;m=n;j=c[(c[b+16>>2]|0)+16>>2]|0;k=c[46758]|0;f=c[e+4>>2]|0;g=+h[f+16>>3]*+h[b+352>>3];i=c[b+360>>2]|0?1.5707963267948966:0.0;f=c[f+8>>2]|0;if(!f)f=-1;else f=c[f+20>>2]|0;q=a[e+48>>0]|0;p=+h[d>>3];o=+h[d+8>>3];e=sd(c[e>>2]|0)|0;c[m>>2]=4;c[m+4>>2]=q<<24>>24==108?0:q<<24>>24==114?2:1;c[m+8>>2]=j;c[m+12>>2]=k;c[m+16>>2]=0;c[m+20>>2]=f;h[m+24>>3]=g;h[m+32>>3]=i;c[m+40>>2]=4;h[m+48>>3]=0.0;h[m+56>>3]=0.0;c[m+64>>2]=~~(p+(p>=0.0?.5:-.5));c[m+68>>2]=~~(o+(o>=0.0?.5:-.5));c[m+72>>2]=e;sF(b,68821,m);l=n;return}function jd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;i=n+20|0;m=e+32|0;a:do switch(c[m>>2]|0){case 5:{f=0;while(1){g=c[12764+(f<<2)>>2]|0;if((f|0)==8)break a;h=c[e>>2]|0;if((a[g>>0]|0)==(a[h>>0]|0)?(f2(g,h)|0)==0:0){k=10;break a}f=f+1|0}}case 1:{g=e+1|0;h=e+2|0;f=(rd(i,d[e>>0]|0,d[g>>0]|0,d[h>>0]|0)|0)+32|0;if(!(c[i>>2]|0))k=10;else{o=d[e>>0]|0;i=d[g>>0]|0;k=d[h>>0]|0;c[j>>2]=0;c[j+4>>2]=f;c[j+8>>2]=o;c[j+12>>2]=i;c[j+16>>2]=k;sF(b,68764,j);k=10}break}case 0:{f=0;k=10;break}default:Aa(138697,68785,168,68804)}while(0);if((k|0)==10)c[e>>2]=f;c[m>>2]=6;l=n;return}function kd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0;e=l;l=l+112|0;f=e+8|0;u=e+104|0;t=e;k=c[a+16>>2]|0;s=~~+h[k+152>>3];r=c[k+16>>2]|0;q=c[k+56>>2]|0;p=c[46758]|0;pd(k,u,t);n=+h[b>>3];k=~~(n+(n>=0.0?.5:-.5));m=+h[b+8>>3];j=~~(m+(m>=0.0?.5:-.5));i=+h[b+16>>3];n=i-n;g=+h[b+24>>3];m=g-m;b=c[u>>2]|0;o=+h[t>>3];c[f>>2]=1;c[f+4>>2]=1;c[f+8>>2]=b;c[f+12>>2]=s;c[f+16>>2]=r;c[f+20>>2]=q;c[f+24>>2]=p;c[f+28>>2]=0;c[f+32>>2]=d|0?20:-1;h[f+40>>3]=o;c[f+48>>2]=0;h[f+56>>3]=0.0;c[f+64>>2]=k;c[f+68>>2]=j;c[f+72>>2]=~~(n+(n>=0.0?.5:-.5));c[f+76>>2]=~~(m+(m>=0.0?.5:-.5));c[f+80>>2]=k;c[f+84>>2]=j;c[f+88>>2]=~~(i+(i>=0.0?.5:-.5));c[f+92>>2]=~~(g+(g>=0.0?.5:-.5));sF(a,68699,f);l=e;return}function ld(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;f=l;l=l+96|0;g=f+8|0;o=f+80|0;p=f;q=c[a+16>>2]|0;n=~~+h[q+152>>3];m=c[q+16>>2]|0;k=c[q+56>>2]|0;j=c[46758]|0;pd(q,o,p);o=c[o>>2]|0;i=+h[p>>3];c[g>>2]=2;c[g+4>>2]=3;c[g+8>>2]=o;c[g+12>>2]=n;c[g+16>>2]=m;c[g+20>>2]=k;c[g+24>>2]=j;c[g+28>>2]=0;c[g+32>>2]=e|0?20:-1;h[g+40>>3]=i;c[g+48>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;c[g+64>>2]=0;c[g+68>>2]=d+1;sF(a,68603,g);qd(a,b,d,1);l=f;return}function md(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0;C=l;l=l+192|0;B=C+176|0;z=C+168|0;A=C+104|0;y=C+96|0;f=C+88|0;u=C+180|0;v=C+80|0;w=C+16|0;x=C;e=a+16|0;p=c[e>>2]|0;q=~~+h[p+152>>3];r=c[p+16>>2]|0;s=c[46758]|0;t=k6((d*140|0)+140|0)|0;pd(p,u,v);if(!g){o=4;j=0;k=-1}else{o=5;j=c[(c[e>>2]|0)+56>>2]|0;k=20}E=+h[b>>3];n=w+48|0;h[n>>3]=E;D=+h[b+8>>3];h[w+56>>3]=D;c[f>>2]=~~(E+(E>=0.0?.5:-.5));c[f+4>>2]=~~(D+(D>=0.0?.5:-.5));m=x+8|0;e=t+(i2(t,81371,f)|0)|0;p=1;g=0;while(1){i=g+3|0;if((i|0)>=(d|0))break;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];f=1;while(1){if((f|0)==4){f=1;break}F=f+g|0;h[w+(f<<4)>>3]=+h[b+(F<<4)>>3];h[w+(f<<4)+8>>3]=+h[b+(F<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;iP(x,w,3,+(f|0)/6.0,0,0);D=+h[x>>3];E=+h[m>>3];c[y>>2]=~~(D+(D>=0.0?.5:-.5));c[y+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;e=e+(i2(e,81371,y)|0)|0}p=p+6|0;g=i}f=c[u>>2]|0;E=+h[v>>3];c[A>>2]=3;c[A+4>>2]=o;c[A+8>>2]=f;c[A+12>>2]=q;c[A+16>>2]=r;c[A+20>>2]=j;c[A+24>>2]=s;c[A+28>>2]=0;c[A+32>>2]=k;h[A+40>>3]=E;c[A+48>>2]=0;c[A+52>>2]=0;c[A+56>>2]=0;c[A+60>>2]=p;sF(a,68654,A);c[z>>2]=t;sF(a,81378,z);l6(t);f=p+-1|0;e=0;while(1){if((e|0)>=(p|0))break;c[B>>2]=((e|0)%(f|0)|0|0)!=0&1;sF(a,81383,B);e=e+1|0}mF(a,153748)|0;l=C;return}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+96|0;f=e+8|0;m=e+80|0;n=e;o=c[a+16>>2]|0;k=~~+h[o+152>>3];j=c[o+16>>2]|0;i=c[46758]|0;pd(o,m,n);m=c[m>>2]|0;g=+h[n>>3];c[f>>2]=2;c[f+4>>2]=1;c[f+8>>2]=m;c[f+12>>2]=k;c[f+16>>2]=j;c[f+20>>2]=0;c[f+24>>2]=i;c[f+28>>2]=0;c[f+32>>2]=0;h[f+40>>3]=g;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=d;sF(a,68603,f);qd(a,b,d,0);l=e;return}function od(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;sF(a,68597,e);l=d;return}function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));sF(a,81371,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));sF(a,81371,i)}mF(a,153748)|0;l=j;return}function rd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c[a>>2]=0;m=c[46759]|0;h=195075;g=0;i=-1;while(1){j=192496+(g<<1)|0;k=193008+(g<<1)|0;l=193520+(g<<1)|0;if((g|0)>=(m|0)){n=6;break}o=(b[j>>1]|0)-d|0;k=(b[k>>1]|0)-e|0;j=(b[l>>1]|0)-f|0;j=(S(k,k)|0)+(S(o,o)|0)+(S(j,j)|0)|0;if((j|0)<(h|0))if(!j)break;else{h=j;i=g}g=g+1|0}if((n|0)==6){c[46759]=m+1;if((m|0)==256)g=i;else{b[j>>1]=d;b[k>>1]=e;b[l>>1]=f;c[a>>2]=1}}return g|0}function sd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[46760]|0;if(!d){c[46761]=64;d=k6(64)|0;c[46760]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[46761]|0;if((e|0)>(b+-8|0)){d=b<<1;c[46761]=d;d=n6(c[46760]|0,d)|0;c[46760]=d;d=d+e|0}b=d+1|0;if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;i2(b,81496,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=b}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[46760]|0}function td(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=l;l=l+16|0;b=d;mF(a,73604)|0;if((c[a+64>>2]|0)==2)mF(a,73619)|0;else mF(a,153748)|0;g=c[c[a+12>>2]>>2]|0;f=c[g+4>>2]|0;e=c[g+8>>2]|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;c[b+8>>2]=e;sF(a,73630,b);l=d;return}function ud(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+8|0;e=g;mF(a,73558)|0;b=a+64|0;d=a+12|0;if((c[b>>2]|0)!=2){c[e>>2]=c[(c[d>>2]|0)+28>>2];sF(a,73569,e)}if((c[(c[d>>2]|0)+20>>2]|0)==0?(c[b>>2]|0)!=2:0){b=c[a+476>>2]|0;d=c[a+480>>2]|0;e=c[a+484>>2]|0;c[f>>2]=c[a+472>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=e;sF(a,69938,f)}mF(a,73584)|0;mF(a,73597)|0;l=g;return}function vd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;j=k+24|0;f=k+8|0;i=k;g=c[b+16>>2]|0;a[194048]=0;e=b+12|0;h=g+8|0;if(!(c[(c[e>>2]|0)+28>>2]|0)){c[i>>2]=HB(c[h>>2]|0)|0;sF(b,69869,i);d=b+64|0;if((c[d>>2]|0)==2)mF(b,69902)|0;else mF(b,69884)|0;do if(!(c[(c[e>>2]|0)+20>>2]|0))if((c[d>>2]|0)==2){n=c[b+460>>2]|0;m=c[b+464>>2]|0;d=c[b+468>>2]|0;c[f>>2]=c[b+456>>2];c[f+4>>2]=n;c[f+8>>2]=m;c[f+12>>2]=d;sF(b,69938,f);break}else{mF(b,69914)|0;break}while(0);mF(b,69968)|0;wM(b,c[(c[e>>2]|0)+24>>2]|0,13040);yM(b);d=c[(c[e>>2]|0)+20>>2]|0;if(d|0){c[i>>2]=c[d>>2];c[i+4>>2]=0;wM(b,0,i)}}c[46762]=(a[(c[(c[h>>2]|0)+16>>2]|0)+115>>0]|0)==1?1:-1;if(!(a[194048]|0)){mF(b,69988)|0;a[194048]=1}d=c[g+208>>2]|0;if(d|0){c[j>>2]=zM(d,c[46762]|0)|0;sF(b,70001,j)}l=k;return}function wd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;b=l;l=l+16|0;f=b;c[f>>2]=d;c[f+4>>2]=e;sF(a,69853,f);l=b;return}function xd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0;s=l;l=l+144|0;r=s+128|0;q=s+112|0;p=s+72|0;o=s+56|0;n=s+40|0;m=s+32|0;e=s+24|0;b=s+8|0;d=s;f=c[a+456>>2]|0;j=c[a+460>>2]|0;g=c[a+464>>2]|0;i=c[a+468>>2]|0;k=a+12|0;t=(c[(c[k>>2]|0)+28>>2]|0)+1|0;c[d>>2]=t;c[d+4>>2]=t;sF(a,69480,d);if(!(c[(c[k>>2]|0)+20>>2]|0)){c[b>>2]=f;c[b+4>>2]=j;c[b+8>>2]=g;c[b+12>>2]=i;sF(a,69497,b)}d=a+360|0;c[e>>2]=c[d>>2]|0?69531:69541;sF(a,69550,e);b=a+64|0;if((c[b>>2]|0)==1){c[m>>2]=g;c[m+4>>2]=i;sF(a,69575,m)}m=c[a+200>>2]|0;t=c[a+204>>2]|0;c[n>>2]=c[a+196>>2];c[n+4>>2]=m;c[n+8>>2]=t;sF(a,69614,n);if(!(c[(c[k>>2]|0)+20>>2]|0)){c[o>>2]=f;c[o+4>>2]=j;c[o+8>>2]=g-f;c[o+12>>2]=i-j;sF(a,69634,o)}w=+h[a+496>>3];t=c[d>>2]|0;v=+h[a+504>>3];u=+h[a+512>>3];h[p>>3]=+h[a+488>>3];h[p+8>>3]=w;c[p+16>>2]=t;h[p+24>>3]=v;h[p+32>>3]=u;sF(a,69674,p);if((c[b>>2]|0)==1){if((g|0)>14399|(i|0)>14399){t=c[(c[k>>2]|0)+16>>2]|0;c[q>>2]=g;c[q+4>>2]=i;c[q+8>>2]=14400;lb[t&63](69717,q)}c[r>>2]=f;c[r+4>>2]=j;c[r+8>>2]=g;c[r+12>>2]=i;sF(a,69812,r)}l=s;return}function yd(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=a+12|0;if(c[(c[b>>2]|0)+20>>2]|0){mF(a,69404)|0;wM(a,0,(c[(c[b>>2]|0)+20>>2]|0)+4|0)}mF(a,69421)|0;mF(a,69448)|0;c[d>>2]=c[(c[b>>2]|0)+28>>2];sF(a,69463,d);l=e;return}function zd(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=HB(c[(c[a+16>>2]|0)+8>>2]|0)|0;sF(a,69397,d);mF(a,69390)|0;l=b;return}function Ad(a){a=a|0;mF(a,84824)|0;return}function Bd(a){a=a|0;mF(a,69390)|0;return}function Cd(a){a=a|0;mF(a,84824)|0;return}function Dd(a){a=a|0;mF(a,69390)|0;return}function Ed(a){a=a|0;mF(a,84824)|0;return}function Fd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;e=l;l=l+16|0;d=e;if(b|0?(g=(c[a+16>>2]|0)+272|0,c[g>>2]|0):0){mF(a,69286)|0;wF(a,c[g>>2]|0,2);mF(a,69297)|0;c[d>>2]=zM(b,c[46762]|0)|0;sF(a,69301,d)}l=e;return}function Gd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;j=m+8|0;k=m;f=c[b+16>>2]|0;if(!(+h[f+40>>3]<.5)){Nd(b,f+16|0);f=e+4|0;tF(b,+h[(c[f>>2]|0)+16>>3]);c[j>>2]=c[c[f>>2]>>2];sF(b,69245,j);f=zM(c[e>>2]|0,c[46762]|0)|0;i=e+32|0;switch(a[e+48>>0]|0){case 114:{g=+h[i>>3];break}case 108:{g=0.0;break}default:g=+h[i>>3]*.5}h[d>>3]=+h[d>>3]-g;n=d+8|0;h[n>>3]=+h[e+24>>3]+ +h[n>>3];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];vF(b,j);mF(b,69260)|0;tF(b,+h[i>>3]);c[k>>2]=f;sF(b,69269,k)}l=m;return}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+32|0;f=g;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];h[f+16>>3]=+h[b+16>>3]-+h[b>>3];h[f+24>>3]=+h[b+24>>3]-+h[b+8>>3];b=a+16|0;if(d|0?(e=c[b>>2]|0,+h[e+80>>3]>.5):0){Nd(a,e+56|0);wF(a,f,2);mF(a,69203)|0}if(+h[(c[b>>2]|0)+40>>3]>.5){Od(a);Nd(a,(c[b>>2]|0)+16|0);wF(a,f,2);mF(a,69223)|0}l=g;return}function Id(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+16|0;i=j;g=a+16|0;if(e|0?(f=c[g>>2]|0,+h[f+80>>3]>.5):0){Nd(a,f+56|0);mF(a,69124)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];vF(a,i);mF(a,69133)|0;e=1;while(1){if((e|0)>=(d|0))break;f=b+(e<<4)|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];vF(a,i);mF(a,69142)|0;e=e+1|0}mF(a,69169)|0}if(+h[(c[g>>2]|0)+40>>3]>.5){Od(a);Nd(a,(c[g>>2]|0)+16|0);mF(a,69124)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];vF(a,i);mF(a,69133)|0;e=1;while(1){if((e|0)>=(d|0))break;g=b+(e<<4)|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];vF(a,i);mF(a,69142)|0;e=e+1|0}mF(a,69185)|0}l=j;return}function Jd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0;k=l;l=l+16|0;f=k;i=a+16|0;if(g|0?(j=c[i>>2]|0,+h[j+80>>3]>.5):0){Nd(a,j+56|0);mF(a,69124)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];vF(a,f);mF(a,69133)|0;e=1;while(1){if((e|0)>=(d|0))break;wF(a,b+(e<<4)|0,3);mF(a,69159)|0;e=e+3|0}mF(a,69169)|0}if(+h[(c[i>>2]|0)+40>>3]>.5){Od(a);Nd(a,(c[i>>2]|0)+16|0);mF(a,69124)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];vF(a,f);mF(a,69133)|0;e=1;while(1){if((e|0)>=(d|0))break;wF(a,b+(e<<4)|0,3);mF(a,69159)|0;e=e+3|0}mF(a,69151)|0}l=k;return}function Kd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;g=l;l=l+16|0;f=g;e=a+16|0;if(+h[(c[e>>2]|0)+40>>3]>.5){Od(a);Nd(a,(c[e>>2]|0)+16|0);mF(a,69124)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];vF(a,f);mF(a,69133)|0;e=1;while(1){if((e|0)>=(d|0))break;i=b+(e<<4)|0;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];vF(a,f);mF(a,69142)|0;e=e+1|0}mF(a,69151)|0}l=g;return}function Ld(a,b){a=a|0;b=b|0;mF(a,69121)|0;mF(a,b)|0;mF(a,153748)|0;return}function Md(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+16|0;m=n+8|0;k=n;i=a+16|0;if(f|0?(j=c[i>>2]|0,+h[j+80>>3]>.5):0){Nd(a,j+56|0);mF(a,84719)|0;wF(a,d,e);mF(a,102905)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];vF(a,g);c[k>>2]=e;c[k+4>>2]=b;sF(a,69038,k)}if(+h[(c[i>>2]|0)+40>>3]>.5){Od(a);Nd(a,(c[i>>2]|0)+16|0);mF(a,84719)|0;wF(a,d,e);mF(a,102905)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];vF(a,g);c[m>>2]=e;c[m+4>>2]=b;sF(a,69054,m)}l=n;return}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=l;l=l+32|0;e=f;if(b|0){switch(c[(c[a+16>>2]|0)+4>>2]|0){case 1:case 0:{d=111795;break}case 2:{d=111782;break}case 3:{d=111751;break}default:d=69090}i=+h[b+8>>3];g=+h[b+16>>3];h[e>>3]=+h[b>>3];h[e+8>>3]=i;h[e+16>>3]=g;c[e+24>>2]=d;sF(a,69097,e)}l=f;return}function Od(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+8|0;j=m;g=b+16|0;i=c[g>>2]|0;d=c[i+160>>2]|0;tF(b,+h[i+152>>3]);mF(b,69071)|0;while(1){if(!d)break;i=d+4|0;f=c[d>>2]|0;if(!f)break;if(!(f2(f,111389)|0)){d=i;continue}else e=f;while(1){d=e+1|0;if(!(a[e>>0]|0))break;else e=d}a:while(1){if(!(a[d>>0]|0))break;c[j>>2]=d;sF(b,69086,j);while(1){e=d+1|0;if(!(a[d>>0]|0)){d=e;continue a}else d=e}}if(!(f2(f,134636)|0))h[(c[g>>2]|0)+152>>3]=0.0;c[k>>2]=f;sF(b,96971,k);d=i}l=m;return}function Pd(b){b=b|0;var d=0;mF(b,75110)|0;d=NA(c[(c[b>>2]|0)+168>>2]|0,75166)|0;if(d|0?a[d>>0]|0:0){mF(b,75177)|0;mF(b,d)|0;mF(b,75201)|0}mF(b,75222)|0;mF(b,75270)|0;mF(b,75324)|0;d=b+12|0;mF(b,DK(c[c[c[d>>2]>>2]>>2]|0)|0)|0;mF(b,78453)|0;mF(b,DK(c[(c[c[d>>2]>>2]|0)+4>>2]|0)|0)|0;mF(b,78463)|0;mF(b,DK(c[(c[c[d>>2]>>2]|0)+8>>2]|0)|0)|0;mF(b,75706)|0;mF(b,75730)|0;return}function Qd(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0;i=l;l=l+48|0;g=i+16|0;f=i+8|0;e=i;d=c[b+16>>2]|0;mF(b,74945)|0;d=d+8|0;if(a[(HB(c[d>>2]|0)|0)>>0]|0){mF(b,75669)|0;mF(b,DK(HB(c[d>>2]|0)|0)|0)|0}c[e>>2]=S(c[b+168>>2]|0,c[b+164>>2]|0)|0;sF(b,74950,e);e=c[b+452>>2]|0;c[f>>2]=c[b+448>>2];c[f+4>>2]=e;sF(b,74966,f);m=+h[b+392>>3];k=+h[b+400>>3];j=+h[b+408>>3];h[g>>3]=+h[b+384>>3];h[g+8>>3]=m;h[g+16>>3]=k;h[g+24>>3]=j;sF(b,74999,g);mF(b,75030)|0;mF(b,75066)|0;mF(b,76660)|0;l=i;return}function Rd(a){a=a|0;mF(a,74937)|0;return}function Sd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;ne(a,b,0,101811,c[(c[a+16>>2]|0)+8>>2]|0);mF(a,76660)|0;return}function Td(a){a=a|0;mF(a,74785)|0;return}function Ud(b){b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=c[b+16>>2]|0;d=g+8|0;ne(b,c[g+212>>2]|0,0,111795,c[d>>2]|0);mF(b,74889)|0;tF(b,+h[b+488>>3]);mF(b,102905)|0;tF(b,+h[b+496>>3]);c[f>>2]=0-(c[b+360>>2]|0);sF(b,74908,f);tF(b,+h[b+504>>3]);mF(b,102905)|0;tF(b,-+h[b+512>>3]);mF(b,74932)|0;if(a[(HB(c[d>>2]|0)|0)>>0]|0){mF(b,74841)|0;mF(b,DK(HB(c[d>>2]|0)|0)|0)|0;mF(b,74849)|0}l=e;return}function Vd(a){a=a|0;mF(a,74785)|0;return}function Wd(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;ne(a,c[d+212>>2]|0,0,108307,c[b>>2]|0);mF(a,76660)|0;mF(a,74841)|0;mF(a,DK(HB(c[b>>2]|0)|0)|0)|0;mF(a,74849)|0;return}function Xd(a){a=a|0;mF(a,74785)|0;return}function Yd(a){a=a|0;var b=0,d=0,e=0;d=c[a+16>>2]|0;b=c[a+160>>2]|0;if((b|0)>1)b=c[(c[(c[a>>2]|0)+308>>2]|0)+(b<<2)>>2]|0;else b=0;e=d+8|0;ne(a,c[d+212>>2]|0,b,111782,c[e>>2]|0);mF(a,76660)|0;mF(a,74841)|0;mF(a,DK(HB(c[e>>2]|0)|0)|0)|0;mF(a,74849)|0;return}function Zd(a){a=a|0;mF(a,74785)|0;return}function _d(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;ne(a,c[d+212>>2]|0,0,111751,c[b>>2]|0);mF(a,76660)|0;mF(a,74841)|0;b=CK(102396,c[b>>2]|0)|0;mF(a,DK(b)|0)|0;l6(b);mF(a,74849)|0;return}function $d(a){a=a|0;mF(a,74785)|0;return}function ae(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;mF(b,74791)|0;if(f|0){mF(b,74794)|0;mF(b,DK(f)|0)|0;mF(b,99045)|0}mF(b,74684)|0;mF(b,76621)|0;if(c|0?a[c>>0]|0:0){mF(b,74802)|0;mF(b,c)|0;mF(b,99045)|0}if(d|0?a[d>>0]|0:0){mF(b,74816)|0;mF(b,EK(d,1)|0)|0;mF(b,99045)|0}if(e|0?a[e>>0]|0:0){mF(b,74831)|0;mF(b,DK(e)|0)|0;mF(b,99045)|0}mF(b,76660)|0;return}function be(a){a=a|0;mF(a,76615)|0;mF(a,74785)|0;return}function ce(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+176|0;L=M+160|0;K=M+152|0;F=M+136|0;J=M+128|0;E=M+120|0;D=M+112|0;C=M+104|0;B=M+96|0;A=M+88|0;y=M+80|0;w=M+72|0;v=M+64|0;u=M+56|0;t=M+48|0;i=M+40|0;q=M+32|0;s=M+24|0;r=M+16|0;p=M+8|0;o=M;I=c[e+16>>2]|0;mF(e,74316)|0;switch(a[g+48>>0]|0){case 108:{mF(e,74322)|0;break}case 114:{mF(e,74343)|0;break}default:mF(e,74362)|0}H=f+8|0;G=+h[g+24>>3]+ +h[H>>3];h[H>>3]=G;H=I+260|0;if(!(b[H>>1]&512)){mF(e,74384)|0;tF(e,+h[f>>3]);mF(e,74389)|0;tF(e,-G);mF(e,99045)|0}x=g+4|0;f=c[x>>2]|0;n=c[f+8>>2]|0;if(n){f=n+16|0;i=n+8|0;switch(c[(c[(c[(c[e>>2]|0)+168>>2]|0)+16>>2]|0)+244>>2]|0){case 1:{m=n;break}case 2:{m=n+24|0;f=n+32|0;i=n+28|0;break}default:m=n+4|0}j=c[f>>2]|0;f=c[i>>2]|0;k=c[n+12>>2]|0;c[o>>2]=c[m>>2];sF(e,74395,o);i=c[n+24>>2]|0;if(i|0){c[p>>2]=i;sF(e,74412,p)}mF(e,99045)|0;if(f|0){c[r>>2]=f;sF(e,74416,r)}if(k|0){c[s>>2]=k;sF(e,74434,s)}if(!j)j=0;else{c[q>>2]=j;sF(e,74453,q)}}else{c[i>>2]=c[f>>2];sF(e,74470,i);j=0;f=0}i=c[x>>2]|0;if(i|0?(z=c[i+24>>2]|0,z&127|0):0){if(!((f|0)!=0|(z&1|0)==0))sF(e,74488,t);if(!((j|0)!=0|(z&2|0)==0))sF(e,74508,u);if(z&100|0){sF(e,74529,v);if(!(z&4))f=0;else{sF(e,106287,w);f=1}if(z&64){c[y>>2]=f|0?101300:195341;sF(e,74548,y);f=1}if(z&32|0){c[A>>2]=f|0?101300:195341;sF(e,74559,A)}sF(e,99045,B)}if(z&8|0)sF(e,74574,C);if(z&16|0)sF(e,74598,D)}h[E>>3]=+h[(c[x>>2]|0)+16>>3];sF(e,74620,E);f=I+16|0;switch(c[I+48>>2]|0){case 5:{f=c[f>>2]|0;if(C3(f,137615)|0){c[J>>2]=f;sF(e,74638,J)}break}case 1:{E=d[f+1>>0]|0;J=d[f+2>>0]|0;c[F>>2]=d[f>>0];c[F+4>>2]=E;c[F+8>>2]=J;sF(e,74649,F);break}default:Aa(138697,73830,486,74671)}mF(e,74684)|0;if(b[H>>1]&512){c[K>>2]=DK(c[I+212>>2]|0)|0;sF(e,74686,K);mF(e,74735)|0;tF(e,-G);mF(e,74753)|0}mF(e,EK(c[g>>2]|0,1)|0)|0;if(b[H>>1]&512)sF(e,74756,L);mF(e,74776)|0;l=M;return}function de(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c|0){case 2:{d=ke(a,b,2)|0;break}case 3:{d=le(a)|0;break}default:d=0}mF(a,74280)|0;ie(a,c,d);mF(a,74289)|0;tF(a,+h[b>>3]);mF(a,74295)|0;c=b+8|0;tF(a,-+h[c>>3]);mF(a,74302)|0;tF(a,+h[b+16>>3]-+h[b>>3]);mF(a,74309)|0;tF(a,+h[b+24>>3]-+h[c>>3]);mF(a,73696)|0;return}function ee(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(d|0){case 2:{e=ke(a,b,c)|0;break}case 3:{e=le(a)|0;break}default:e=0}mF(a,74271)|0;ie(a,d,e);mF(a,73686)|0;e=0;while(1){if((e|0)>=(c|0))break;tF(a,+h[b+(e<<4)>>3]);mF(a,101300)|0;tF(a,-+h[b+(e<<4)+8>>3]);mF(a,102905)|0;e=e+1|0}tF(a,+h[b>>3]);mF(a,101300)|0;tF(a,-+h[b+8>>3]);mF(a,73696)|0;return}function fe(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;g=c[a+16>>2]|0;switch(h|0){case 2:{f=ke(a,d,e)|0;break}case 3:{f=le(a)|0;break}default:f=0}mF(a,73866)|0;if(b[g+260>>1]&512){mF(a,73872)|0;mF(a,DK(c[g+212>>2]|0)|0)|0;mF(a,73878)|0}ie(a,h,f);mF(a,73883)|0;me(a,d,e);mF(a,73696)|0;return}function ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;mF(a,73676)|0;ie(a,0,0);mF(a,73686)|0;d=0;while(1){if((d|0)>=(c|0))break;tF(a,+h[b+(d<<4)>>3]);mF(a,101300)|0;tF(a,-+h[b+(d<<4)+8>>3]);mF(a,102905)|0;d=d+1|0}mF(a,73696)|0;return}function he(a,b){a=a|0;b=b|0;mF(a,73670)|0;mF(a,DK(b)|0)|0;mF(a,75730)|0;return}function ie(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+96|0;k=q+48|0;p=q+40|0;n=q+32|0;o=q+24|0;j=q+16|0;g=q+8|0;f=q;m=c[b+16>>2]|0;mF(b,73701)|0;a:do switch(d|0){case 2:{c[f>>2]=e;sF(b,73709,f);break}case 3:{c[g>>2]=e;sF(b,73720,g);break}case 0:{mF(b,136010)|0;break}default:{d=m+56|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));je(b,k);if((c[m+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:break a;default:{}}h[j>>3]=+(d&255)/255.0;sF(b,73731,j)}}}while(0);mF(b,73750)|0;e=m+16|0;f=k;g=e;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));je(b,k);d=m+152|0;if(+h[d>>3]!=1.0){mF(b,73761)|0;tF(b,+h[d>>3])}switch(c[m+144>>2]|0){case 1:{c[o>>2]=73801;sF(b,73778,o);break}case 2:{c[n>>2]=73805;sF(b,73778,n);break}default:{}}b:do if((c[m+48>>2]|0)==1){d=a[e+3>>0]|0;switch(d<<24>>24){case -1:case 0:break b;default:{}}h[p>>3]=+(d&255)/255.0;sF(b,73809,p)}while(0);mF(b,99045)|0;l=q;return}function je(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{mF(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){mF(b,137680)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;sF(b,75986,f);break a}default:Aa(138697,73830,117,73850)}while(0);l=g;return}function ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+112|0;o=t+64|0;r=t+56|0;n=t+48|0;m=t+40|0;i=t+32|0;k=t;q=c[46764]|0;c[46764]=q+1;p=c[b+16>>2]|0;f=+(c[p+136>>2]|0)*3.141592653589793/180.0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;nQ(d,k,e,f,0);c[o>>2]=q;sF(b,74103,o);mF(b,74168)|0;tF(b,+h[k>>3]);mF(b,74173)|0;tF(b,+h[k+8>>3]);mF(b,74180)|0;tF(b,+h[k+16>>3]);mF(b,74187)|0;tF(b,+h[k+24>>3]);mF(b,74194)|0;k=p+140|0;f=+g[k>>2];if(f>0.0){h[i>>3]=f+-.001;sF(b,74199,i)}else mF(b,73975)|0;d=p+56|0;e=o;i=d;j=e+40|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(j|0));je(b,o);mF(b,74011)|0;a:do if((c[p+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{s=7;break a}default:{}}h[m>>3]=+(d&255)/255.0;sF(b,99913,m)}else s=7;while(0);if((s|0)==7)mF(b,74026)|0;mF(b,74029)|0;f=+g[k>>2];if(f>0.0){h[n>>3]=f;sF(b,74199,n)}else mF(b,74035)|0;d=p+96|0;e=o;i=d;j=e+40|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(j|0));je(b,o);mF(b,74011)|0;b:do if((c[p+128>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{s=14;break b}default:{}}h[r>>3]=+(d&255)/255.0;sF(b,99913,r)}else s=14;while(0);if((s|0)==14)mF(b,74026)|0;mF(b,74239)|0;l=t;return q|0}function le(b){b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;k=q+16|0;o=q+8|0;j=q;n=c[46763]|0;c[46763]=n+1;m=c[b+16>>2]|0;r=+(c[m+136>>2]|0)*3.141592653589793/180.0;e=r;if(r==0.0){f=50;d=50}else{f=~~((+I(+e)+1.0)*50.0);d=~~((1.0-+J(+e))*50.0)}c[k>>2]=n;c[k+4>>2]=f;c[k+8>>2]=d;sF(b,73891,k);mF(b,73975)|0;d=m+56|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));je(b,k);mF(b,74011)|0;a:do if((c[m+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{p=6;break a}default:{}}h[j>>3]=+(d&255)/255.0;sF(b,99913,j)}else p=6;while(0);if((p|0)==6)mF(b,74026)|0;mF(b,74029)|0;mF(b,74035)|0;d=m+96|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));je(b,k);mF(b,74011)|0;b:do if((c[m+128>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{p=10;break b}default:{}}h[o>>3]=+(d&255)/255.0;sF(b,99913,o)}else p=10;while(0);if((p|0)==10)mF(b,74026)|0;mF(b,74071)|0;l=q;return n|0}function me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;i=l;l=l+16|0;g=i;e=77;f=0;while(1){if((f|0)>=(d|0))break;c[g>>2]=e;sF(a,73888,g);tF(a,+h[b+(f<<4)>>3]);mF(a,101300)|0;tF(a,-+h[b+(f<<4)+8>>3]);e=(f|0)==0?67:32;f=f+1|0}l=i;return}function ne(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;mF(b,74859)|0;mF(b,DK(d)|0)|0;if(e|0){c[h>>2]=DK(e)|0;sF(b,74867,h)}c[i>>2]=f;sF(b,74871,i);d=NA(g,74883)|0;if(d|0?a[d>>0]|0:0){mF(b,102905)|0;mF(b,DK(d)|0)|0}mF(b,99045)|0;l=j;return}function oe(a){a=a|0;var b=0;mF(a,75690)|0;b=a+12|0;mF(a,ye(c[c[c[b>>2]>>2]>>2]|0)|0)|0;mF(a,78453)|0;mF(a,ye(c[(c[c[b>>2]>>2]|0)+4>>2]|0)|0)|0;mF(a,78463)|0;mF(a,ye(c[(c[c[b>>2]>>2]|0)+8>>2]|0)|0)|0;mF(a,75706)|0;return}function pe(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=c[b+16>>2]|0;mF(b,75667)|0;d=d+8|0;if(a[(HB(c[d>>2]|0)|0)>>0]|0){mF(b,75669)|0;mF(b,ye(HB(c[d>>2]|0)|0)|0)|0}c[e>>2]=S(c[b+168>>2]|0,c[b+164>>2]|0)|0;sF(b,75678,e);c[46765]=0;l=f;return}function qe(a){a=a|0;c[46765]=1;return}function re(a){a=a|0;c[46765]=-1;return}function se(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;i=n+8|0;m=n;f=c[b+16>>2]|0;if(c[f+144>>2]|0?(k=e+4|0,j=~~(+h[(c[k>>2]|0)+16>>3]*+h[b+352>>3]),j|0):0){ze(b);mF(b,75606)|0;g=d+8|0;h[g>>3]=+h[g>>3]-+(j|0)*.55;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];vF(b,i);mF(b,75620)|0;mF(b,c[e>>2]|0)|0;mF(b,75629)|0;mF(b,75427)|0;g=i;d=f+16|0;f=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(f|0));Ae(b,i);mF(b,75631)|0;i=c[k>>2]|0;k=c[i+8>>2]|0;k=c[((k|0)==0?i:k+4|0)>>2]|0;mF(b,99045)|0;mF(b,k)|0;mF(b,99045)|0;c[m>>2]=j;sF(b,75640,m);switch(a[e+48>>0]|0){case 108:{mF(b,75645)|0;break}case 114:{mF(b,75656)|0;break}default:{}}Be(b);mF(b,153748)|0}l=n;return}function te(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0;j=l;l=l+48|0;f=j;g=c[a+16>>2]|0;i=g+144|0;if(c[i>>2]|0){n=+h[b>>3];e=b+8|0;m=+h[e>>3];k=+h[b+24>>3]-m;h[b>>3]=n-(+h[b+16>>3]-n);h[e>>3]=m-k;ze(a);mF(a,75592)|0;wF(a,b,2);mF(a,75427)|0;do if(!d)if(!(c[46765]|0)){mF(a,97610)|0;break}else{mF(a,137499)|0;break}else{b=f;d=g+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ae(a,f)}while(0);if((c[46765]|0)==1)c[46765]=0;mF(a,75538)|0;tF(a,+h[g+152>>3]);mF(a,75581)|0;b=f;d=g+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ae(a,f);b=c[i>>2]|0;if((b|0)==1){mF(a,75435)|0;b=c[i>>2]|0}if((b|0)==2)mF(a,75444)|0;Be(a);mF(a,153748)|0}l=j;return}function ue(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+48|0;f=j;g=c[a+16>>2]|0;i=g+144|0;if(c[i>>2]|0){ze(a);mF(a,75564)|0;wF(a,b,d);mF(a,75427)|0;do if(!e)if(!(c[46765]|0)){mF(a,97610)|0;break}else{mF(a,137499)|0;break}else{b=f;d=g+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ae(a,f)}while(0);if((c[46765]|0)==1)c[46765]=0;mF(a,75538)|0;tF(a,+h[g+152>>3]);mF(a,75581)|0;b=f;d=g+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ae(a,f);b=c[i>>2]|0;if((b|0)==1){mF(a,75435)|0;b=c[i>>2]|0}if((b|0)==2)mF(a,75444)|0;Be(a);mF(a,153748)|0}l=j;return}function ve(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0;m=l;l=l+48|0;i=m;j=c[a+16>>2]|0;k=j+144|0;if(c[k>>2]|0){ze(a);mF(a,75413)|0;wF(a,b,d);mF(a,75427)|0;e=i;f=j+16|0;g=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));Ae(a,i);mF(a,75538)|0;tF(a,+h[j+152>>3]);e=c[k>>2]|0;if((e|0)==1){mF(a,75435)|0;e=c[k>>2]|0}if((e|0)==2)mF(a,75444)|0;mF(a,75547)|0;Be(a);mF(a,153748)|0}l=m;return}function we(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;g=i;e=c[a+16>>2]|0;h=e+144|0;if(c[h>>2]|0){ze(a);mF(a,75413)|0;wF(a,b,d);mF(a,75427)|0;f=g;b=e+16|0;d=f+40|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(d|0));Ae(a,g);b=c[h>>2]|0;if((b|0)==1){mF(a,75435)|0;b=c[h>>2]|0}if((b|0)==2)mF(a,75444)|0;Be(a);mF(a,153748)|0}l=i;return}function xe(a,b){a=a|0;b=b|0;mF(a,75410)|0;mF(a,ye(b)|0)|0;mF(a,153748)|0;return}function ye(a){a=a|0;return a|0}function ze(b){b=b|0;if(!(a[b+144>>0]|0))mF(b,75535)|0;else mF(b,c[b+148>>2]|0)|0;return}function Ae(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{mF(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){mF(b,97610)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;sF(b,75986,f);break a}default:Aa(138697,75453,49,75517)}while(0);l=g;return}function Be(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;h=c[a+16>>2]|0;e=h+8|0;switch(c[h+12>>2]|0){case 8:{b=1;d=111782;break}case 10:{b=0;d=111782;break}case 3:case 2:case 9:{b=1;d=111751;break}case 7:case 6:case 11:{b=0;d=111751;break}case 0:{b=1;d=111795;break}case 4:{b=0;d=75489;break}case 1:{b=1;d=111795;break}case 5:{b=0;d=111795;break}default:Aa(138697,75453,106,75472)}h=c[(c[e>>2]|0)+8>>2]|0;c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=h;sF(a,75501,f);l=g;return}function Ce(a){a=a|0;var b=0;mF(a,78425)|0;mF(a,78433)|0;b=a+12|0;mF(a,Ne(c[c[c[b>>2]>>2]>>2]|0)|0)|0;mF(a,78453)|0;mF(a,Ne(c[(c[c[b>>2]>>2]|0)+4>>2]|0)|0)|0;mF(a,78463)|0;mF(a,Ne(c[(c[c[b>>2]>>2]|0)+8>>2]|0)|0)|0;mF(a,78466)|0;return}function De(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;i=j+24|0;g=j+16|0;f=j+8|0;e=j;d=c[b+16>>2]|0;c[46769]=~~(+h[b+232>>3]-+h[b+216>>3]);c[46768]=~~(+h[b+224>>3]-+h[b+208>>3]);mF(b,77112)|0;mF(b,77119)|0;d=HB(c[d+8>>2]|0)|0;if(a[d>>0]|0){mF(b,77188)|0;mF(b,Ne(d)|0)|0;mF(b,77196)|0}c[e>>2]=S(c[b+168>>2]|0,c[b+164>>2]|0)|0;sF(b,77205,e);mF(b,77225)|0;mF(b,77260)|0;mF(b,77288)|0;mF(b,77294)|0;mF(b,77337)|0;mF(b,77378)|0;mF(b,77397)|0;mF(b,77414)|0;mF(b,77462)|0;mF(b,77515)|0;mF(b,77591)|0;mF(b,77667)|0;mF(b,77676)|0;mF(b,77699)|0;mF(b,77726)|0;mF(b,77779)|0;mF(b,77801)|0;mF(b,77846)|0;mF(b,77858)|0;mF(b,77868)|0;mF(b,77894)|0;mF(b,77779)|0;mF(b,77946)|0;mF(b,77846)|0;mF(b,77858)|0;mF(b,77990)|0;mF(b,77699)|0;mF(b,77726)|0;mF(b,77779)|0;mF(b,77946)|0;mF(b,77846)|0;mF(b,77858)|0;mF(b,77868)|0;mF(b,77894)|0;mF(b,77779)|0;mF(b,77801)|0;mF(b,77846)|0;mF(b,77858)|0;mF(b,78003)|0;mF(b,78011)|0;mF(b,78017)|0;mF(b,78031)|0;mF(b,78039)|0;mF(b,78072)|0;e=(c[46769]|0)+10|0;c[f>>2]=c[46768];c[f+4>>2]=e;sF(b,78149,f);mF(b,78179)|0;mF(b,78188)|0;mF(b,78246)|0;mF(b,78256)|0;mF(b,78321)|0;f=c[46769]|0;c[g>>2]=c[46768];c[g+4>>2]=f;sF(b,78358,g);g=c[46769]|0;c[i>>2]=c[46768];c[i+4>>2]=g;sF(b,78386,i);l=j;return}function Ee(a){a=a|0;mF(a,76663)|0;mF(a,76675)|0;mF(a,76683)|0;mF(a,76746)|0;mF(a,76675)|0;mF(a,76791)|0;mF(a,76840)|0;mF(a,76894)|0;mF(a,76675)|0;mF(a,76994)|0;mF(a,77043)|0;mF(a,76675)|0;mF(a,77095)|0;return}function Fe(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j+8|0;g=j;mF(b,76621)|0;if(d|0?a[d>>0]|0:0){c[g>>2]=Ne(d)|0;sF(b,76624,g)}if(e|0?a[e>>0]|0:0){c[h>>2]=Ne(e)|0;sF(b,76635,h)}if(f|0?a[f>>0]|0:0){c[i>>2]=Ne(f)|0;sF(b,76647,i)}mF(b,76660)|0;l=j;return}function Ge(a){a=a|0;mF(a,76615)|0;return}function He(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;A=l;l=l+112|0;y=A+96|0;z=A+88|0;w=A+80|0;q=A+72|0;v=A+64|0;t=A+56|0;s=A+48|0;r=A+40|0;p=A+24|0;o=A+8|0;n=A;x=c[b+16>>2]|0;m=+h[f+32>>3];switch(a[f+48>>0]|0){case 108:{j=+h[e>>3];break}case 114:{j=+h[e>>3]-m;break}default:j=+h[e>>3]-m*.5}g=f+40|0;i=+h[g>>3];u=f+4|0;k=+h[(c[u>>2]|0)+16>>3];if(i>3]=i}D=j+-8.0;B=+((c[46769]|0)>>>0)-+h[e+8>>3];C=k/5.0+(k<12.0?1.4:2.0);k=C+(B-i);sF(b,76277,n);h[o>>3]=D;h[o+8>>3]=k;sF(b,76214,o);h[p>>3]=m+j+8.0-D;h[p+8>>3]=C+B-k;sF(b,76238,p);mF(b,76312)|0;mF(b,76346)|0;g=c[u>>2]|0;e=c[g+8>>2]|0;if(e){c[r>>2]=c[e+4>>2];sF(b,76436,r);g=c[e+8>>2]|0;if(g|0){c[s>>2]=g;sF(b,76455,s)}g=c[e+12>>2]|0;if(g|0){c[t>>2]=g;sF(b,76472,t)}g=c[e+16>>2]|0;if(g|0){c[v>>2]=g;sF(b,76490,v)}}else{c[q>>2]=c[g>>2];sF(b,76436,q)}h[w>>3]=+h[(c[u>>2]|0)+16>>3];sF(b,76506,w);g=x+16|0;switch(c[x+48>>2]|0){case 5:{g=c[g>>2]|0;if(C3(g,137615)|0){c[z>>2]=g;sF(b,76526,z)}break}case 1:{x=d[g+1>>0]|0;z=d[g+2>>0]|0;c[y>>2]=d[g>>0];c[y+4>>2]=x;c[y+8>>2]=z;sF(b,76536,y);break}default:Aa(138697,76e3,438,76557)}mF(b,76570)|0;mF(b,Ne(c[f>>2]|0)|0)|0;mF(b,76581)|0;mF(b,76604)|0;l=A;return}function Ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0;e=l;l=l+32|0;f=e+16|0;j=e;mF(a,76178)|0;m=+h[b>>3];i=+h[b+16>>3]-m;k=+h[b+8>>3];g=+h[b+24>>3]-k;k=+((c[46769]|0)>>>0)-(k+g);h[j>>3]=m-i;h[j+8>>3]=k;sF(a,76214,j);h[f>>3]=i*2.0;h[f+8>>3]=g*2.0;sF(a,76238,f);Re(a,d);mF(a,76060)|0;Pe(a);mF(a,76266)|0;l=e;return}function Je(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+24|0;j=m+8|0;g=m;mF(a,75783)|0;n=c[46769]|0;c[g>>2]=c[46768];c[g+4>>2]=n;sF(a,76036,g);Re(a,e);mF(a,76060)|0;Pe(a);mF(a,76063)|0;g=d+-1|0;e=0;while(1){if((e|0)>=(d|0))break;i=+h[b+(e<<4)>>3];f=+((c[46769]|0)>>>0)-+h[b+(e<<4)+8>>3];if(!e){mF(a,76090)|0;h[j>>3]=i;h[j+8>>3]=f;sF(a,76156,j);mF(a,76167)|0}else{h[k>>3]=i;h[k+8>>3]=f;sF(a,76156,k)}if((e|0)==(g|0))mF(a,76170)|0;e=e+1|0}mF(a,75899)|0;l=m;return}function Ke(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;f=l;l=l+16|0;e=f;mF(a,75783)|0;h=c[46769]|0;c[e>>2]=c[46768];c[e+4>>2]=h;sF(a,76036,e);Re(a,g);mF(a,76060)|0;Pe(a);mF(a,76063)|0;Se(a,b,d);mF(a,76076)|0;l=f;return}function Le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0.0;k=l;l=l+48|0;j=k+24|0;i=k+8|0;f=k;mF(a,75783)|0;g=c[46769]|0;c[f>>2]=c[46768];c[f+4>>2]=g;sF(a,75820,f);mF(a,75860)|0;f=d+-1|0;g=b+8|0;e=0;while(1){if((e|0)>=(d|0))break;if(!e){mF(a,75872)|0;m=+((c[46769]|0)>>>0)-+h[g>>3];h[i>>3]=+h[b>>3];h[i+8>>3]=m;sF(a,75876,i);mF(a,75887)|0}else{m=+((c[46769]|0)>>>0)-+h[b+(e<<4)+8>>3];h[j>>3]=+h[b+(e<<4)>>3];h[j+8>>3]=m;sF(a,75876,j)}if((e|0)==(f|0))mF(a,75891)|0;e=e+1|0}mF(a,75895)|0;Pe(a);mF(a,75899)|0;l=k;return}function Me(a,b){a=a|0;b=b|0;mF(a,75718)|0;mF(a,Ne(b)|0)|0;mF(a,75730)|0;return}function Ne(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;e=u;d=c[46766]|0;if(!d){c[46767]=64;d=IK(64)|0;c[46766]=d}s=e+15|0;r=e+14|0;g=0;q=0;o=0;e=0;f=0;a:while(1){n=(o|0)!=0;m=g;p=b;j=e;k=f;b:while(1){if(!p){t=29;break a}b=a[p>>0]|0;if(!(b<<24>>24)){t=29;break a}e=c[46767]|0;if((q|0)>(e+-8|0)){d=e<<1;c[46767]=d;d=KK(c[46766]|0,d)|0;c[46766]=d;d=d+q|0;e=a[p>>0]|0}else e=b;b=p+1|0;switch(e<<24>>24){case 60:{e=4;f=102454;t=24;break b}case 62:{e=4;f=102437;t=25;break b}case 38:{t=11;break b}case 45:{e=5;f=102448;i=m;break b}default:{}}if(n&e<<24>>24==32){t=13;break}switch(e<<24>>24){case 34:{e=6;f=102411;t=24;break b}case 39:{e=5;f=102442;t=25;break b}default:{}}if(e<<24>>24<0){i=127;f=0}else{e=1;f=p;t=24;break}while(1){g=i&255;h=e&255;if(g>>>0>=h>>>0)break;e=h&i&255;i=g>>>1;f=f+1|0}g=(f|0)>1;j=v6(j|0,k|0,6)|0;k=g?f:m;f=w6(e&255|0,0,(g?0:j)|0,(g?0:D)|0)|0;g=D;m=k+-1|0;if((k|0)>1){p=b;j=f;k=g}else{t=19;break}}if((t|0)==11){t=0;f=(Oe(p)|0)==0;e=f?5:1;f=f?102431:p;i=m}else if((t|0)==13){t=0;f=(a[o>>0]|0)==32;e=f?6:1;f=f?102424:p;i=m}else if((t|0)==19){t=0;a[s>>0]=59;e=3;i=r;j=f;k=g;while(1){f=J6(j|0,k|0,10,0)|0;h=i+-1|0;a[i>>0]=f|48;f=j;j=E6(j|0,k|0,10,0)|0;g=k;k=D;o=e;e=e+1|0;if((o|0)>11){t=21;break a}if(!(g>>>0>0|(g|0)==0&f>>>0>9))break;else i=h}f=i+-2|0;a[h>>0]=35;a[f>>0]=38;i=m}else if((t|0)==24){t=0;i=m}else if((t|0)==25){t=0;i=m}h=d+e|0;g=e;while(1){if(!g)break;a[d>>0]=a[f>>0]|0;g=g+-1|0;f=f+1|0;d=d+1|0}g=i;q=e+q|0;o=p;d=h;e=j;f=k}if((t|0)==21){_3(75736,46,1,c[15715]|0)|0;$a(1)}else if((t|0)==29){a[d>>0]=0;l=u;return c[46766]|0}return 0}function Oe(b){b=b|0;var c=0,d=0;d=b+1|0;c=a[d>>0]|0;a:do if(c<<24>>24==35){d=b+2|0;c=a[d>>0]|0;switch(c<<24>>24){case 88:case 120:break;default:{b=d;while(1){d=b+1|0;if((c+-48&255)>=10)break a;b=d;c=a[d>>0]|0}}}d=b+3|0;while(1){c=a[d>>0]|0;if((c+-48&255)>=10)switch(c<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}d=d+1|0}}else while(1){b=d+1|0;if(((c&-33)+-65&255)>=26)break a;d=b;c=a[b>>0]|0}while(0);return c<<24>>24==59|0}function Pe(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+48|0;d=k+8|0;j=k;i=c[a+16>>2]|0;mF(a,75911)|0;e=d;f=i+16|0;g=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));Qe(a,d);b=+h[i+152>>3];if(b!=1.0){h[j>>3]=b;sF(a,75929,j)}switch(c[i+144>>2]|0){case 1:{mF(a,75946)|0;break}case 2:{mF(a,75964)|0;break}default:{}}mF(a,75981)|0;l=k;return}function Qe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{mF(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){mF(b,136010)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;sF(b,75986,f);break a}default:Aa(138697,76e3,94,76020)}while(0);l=g;return}function Re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g;if(!b)mF(a,76139)|0;else{d=c[a+16>>2]|0;mF(a,76109)|0;b=f;d=d+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Qe(a,f);mF(a,76136)|0}l=g;return}function Se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0;i=l;l=l+32|0;g=i;e=76090;f=0;while(1){if((f|0)>=(d|0))break;k=+h[b+(f<<4)>>3];j=+((c[46769]|0)>>>0)-+h[b+(f<<4)+8>>3];c[g>>2]=e;h[g+8>>3]=k;h[g+16>>3]=j;sF(a,76093,g);e=(f|0)==0?76106:195341;f=f+1|0}mF(a,99045)|0;l=i;return}function Te(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+8|0;e=b;mF(a,80723)|0;mF(a,80738)|0;mF(a,80777)|0;mF(a,80826)|0;c[e>>2]=137615;c[e+4>>2]=80914;sF(a,80895,e);c[d>>2]=137499;c[d+4>>2]=80920;sF(a,80895,d);l=b;return}function Ue(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;b=l;l=l+64|0;d=b+8|0;j=b;c[j>>2]=HB(c[(c[a+16>>2]|0)+8>>2]|0)|0;sF(a,79676,j);i=+h[a+368>>3]*.5*+h[a+488>>3];g=+h[a+376>>3]*.5*+h[a+496>>3];f=+N(+(i/500.0))*180.0/3.141592653589793*2.0;e=+N(+(g/500.0))*180.0/3.141592653589793*2.0;h[d>>3]=i;h[d+8>>3]=g;h[d+16>>3]=-500.0;h[d+24>>3]=i;h[d+32>>3]=g;h[d+40>>3]=0.0;h[d+48>>3]=(f>e?f:e)*1.2;sF(a,79698,d);mF(a,79845)|0;mF(a,80675)|0;l=b;return}function Ve(a){a=a|0;mF(a,79659)|0;return}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0;f=l;l=l+16|0;h=f;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=e;sF(a,79629,h);g[46770]=+(S(d,-10)|0);l=f;return}function Xe(a){a=a|0;mF(a,79612)|0;return}function Ye(a){a=a|0;mF(a,79594)|0;return}function Ze(a){a=a|0;mF(a,79578)|0;return}function _e(a){a=a|0;mF(a,79557)|0;g[46770]=+g[46770]+-2.0;return}function $e(a){a=a|0;mF(a,79538)|0;return}function af(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=HB(c[(c[a+16>>2]|0)+8>>2]|0)|0;sF(a,79516,d);l=b;return}function bf(a){a=a|0;mF(a,79500)|0;return}function cf(a){a=a|0;mF(a,79482)|0;g[46770]=+g[46770]+-5.0;return}function df(a){a=a|0;mF(a,79466)|0;g[46770]=+g[46770]+5.0;return}function ef(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0;r=l;l=l+144|0;o=r+104|0;q=r+56|0;m=r+32|0;j=r+24|0;i=r;p=e+4|0;n=c[p>>2]|0;f=+h[n+16>>3];n=c[n>>2]|0;c[i>>2]=c[e>>2];h[i+8>>3]=f;c[i+16>>2]=n;sF(b,79312,i);g[46771]=+g[46770]+-9.0;i=e+32|0;switch(a[e+48>>0]|0){case 108:{f=+h[d>>3];break}case 114:{f=+h[d>>3]-+h[i>>3];k=5;break}default:{f=+h[d>>3]-+h[i>>3]*.5;k=5}}if((k|0)==5)h[d>>3]=f;u=+h[b+488>>3];t=(f+ +h[b+504>>3])*u;s=(+h[d+8>>3]+ +h[b+512>>3])*+h[b+496>>3];h[j>>3]=u*+h[(c[p>>2]|0)+16>>3];n=lf(b,79364,j)|0;f=+(c[b+360>>2]|0);h[m>>3]=0.0;h[m+8>>3]=0.0;h[m+16>>3]=f;i=lf(b,78581,m)|0;f=+g[46771];h[o>>3]=t;h[o+8>>3]=s;h[o+16>>3]=f;d=lf(b,78613,o)|0;j=o;k=(c[b+16>>2]|0)+16|0;m=j+40|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(m|0));o=mf(b,o,0.0)|0;e=c[e>>2]|0;c[q>>2]=c[c[p>>2]>>2];h[q+8>>3]=.25;h[q+16>>3]=0.0;c[q+24>>2]=e;c[q+28>>2]=79451;c[q+32>>2]=n;c[q+36>>2]=i;c[q+40>>2]=d;c[q+44>>2]=o;q=lf(b,79376,q)|0;mF(b,q)|0;l6(q);l6(i);l6(o);l6(d);l6(n);l=r;return}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=l;l=l+240|0;x=z+192|0;y=z+152|0;t=z+128|0;r=z+104|0;o=z+80|0;n=z+48|0;e=z+24|0;m=z;mF(a,79189)|0;g[46771]=+g[46770]+-6.0;j=+h[b>>3];i=+h[a+488>>3];p=(j+ +h[a+504>>3])*i;k=+h[b+8>>3];A=+h[a+496>>3];q=(k+ +h[a+512>>3])*A;j=i*(+h[b+16>>3]-j);k=A*(+h[b+24>>3]-k);s=a+16|0;A=j+k;i=+h[(c[s>>2]|0)+152>>3]/A*.5*5.0;h[m>>3]=j;h[m+8>>3]=A*.25;h[m+16>>3]=k;b=lf(a,78549,m)|0;m=a+360|0;A=+(c[m>>2]|0);h[e>>3]=90.0;h[e+8>>3]=0.0;h[e+16>>3]=A;e=lf(a,78581,e)|0;A=+g[46771];h[x>>3]=p;h[x+8>>3]=q;h[x+16>>3]=A;f=lf(a,78613,x)|0;u=x;v=(c[s>>2]|0)+16|0;w=u+40|0;do{c[u>>2]=c[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));v=mf(a,x,0.0)|0;h[n>>3]=1.0;h[n+8>>3]=i;c[n+16>>2]=b;c[n+20>>2]=e;c[n+24>>2]=f;c[n+28>>2]=v;w=lf(a,79204,n)|0;mF(a,w)|0;l6(b);l6(e);l6(f);l6(v);l6(w);if(d|0){h[o>>3]=j;h[o+8>>3]=k;h[o+16>>3]=1.0;f=lf(a,78549,o)|0;A=+(c[m>>2]|0);h[r>>3]=0.0;h[r+8>>3]=0.0;h[r+16>>3]=A;e=lf(a,78581,r)|0;A=+g[46771];h[t>>3]=p;h[t+8>>3]=q;h[t+16>>3]=A;b=lf(a,78613,t)|0;u=x;v=(c[s>>2]|0)+56|0;w=u+40|0;do{c[u>>2]=c[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));x=mf(a,x,0.0)|0;h[y>>3]=0.0;h[y+8>>3]=0.0;h[y+16>>3]=0.0;c[y+24>>2]=f;c[y+28>>2]=e;c[y+32>>2]=b;c[y+36>>2]=x;y=lf(a,79250,y)|0;mF(a,y)|0;l6(f);l6(e);l6(b);l6(x);l6(y)}l=z;return}function gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=l;l=l+336|0;E=N+296|0;M=N+288|0;L=N+272|0;K=N+264|0;J=N+240|0;G=N+232|0;D=N+208|0;C=N+184|0;A=N+160|0;z=N+152|0;y=N+136|0;x=N+128|0;w=N+96|0;v=N+88|0;u=N+56|0;f=N+48|0;m=N+24|0;k=N;mF(a,79054)|0;g[46771]=+g[46770]+-2.0;s=a+488|0;t=a+496|0;q=+h[t>>3];h[k>>3]=+h[s>>3];h[k+8>>3]=q;h[k+16>>3]=1.0;k=lf(a,78549,k)|0;B=a+360|0;q=+(c[B>>2]|0);h[m>>3]=0.0;h[m+8>>3]=0.0;h[m+16>>3]=q;m=lf(a,78581,m)|0;q=+g[46771]+-2.0;h[E>>3]=0.0;h[E+8>>3]=0.0;h[E+16>>3]=q;n=lf(a,78613,E)|0;F=a+16|0;i=E;j=(c[F>>2]|0)+16|0;r=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(r|0));j=mf(a,E,0.0)|0;c[f>>2]=78676;c[f+4>>2]=d+1;H=a+512|0;I=a+504|0;i=0;f=lf(a,78645,f)|0;while(1){o=+h[H>>3];p=+h[I>>3];q=+h[(c[F>>2]|0)+152>>3];if((i|0)>=(d|0))break;o=o+ +h[b+(i<<4)+8>>3];h[u>>3]=p+ +h[b+(i<<4)>>3];h[u+8>>3]=o;h[u+16>>3]=0.0;h[u+24>>3]=q;O=lf(a,78690,u)|0;c[v>>2]=f;c[v+4>>2]=O;r=lf(a,78719,v)|0;l6(O);l6(f);i=i+1|0;f=r}o=o+ +h[b+8>>3];h[w>>3]=p+ +h[b>>3];h[w+8>>3]=o;h[w+16>>3]=0.0;h[w+24>>3]=q;w=lf(a,78690,w)|0;c[x>>2]=f;c[x+4>>2]=w;O=lf(a,78719,x)|0;l6(w);l6(f);c[y>>2]=k;c[y+4>>2]=m;c[y+8>>2]=n;c[y+12>>2]=j;y=lf(a,79069,y)|0;c[z>>2]=O;c[z+4>>2]=y;O=lf(a,78774,z)|0;l6(y);mF(a,O)|0;l6(k);l6(m);l6(n);l6(j);l6(O);if(e|0){q=+h[t>>3];h[A>>3]=+h[s>>3];h[A+8>>3]=q;h[A+16>>3]=1.0;n=lf(a,78549,A)|0;q=+(c[B>>2]|0);h[C>>3]=0.0;h[C+8>>3]=0.0;h[C+16>>3]=q;m=lf(a,78581,C)|0;q=+g[46771]+-2.0;h[D>>3]=0.0;h[D+8>>3]=0.0;h[D+16>>3]=q;k=lf(a,78613,D)|0;i=E;j=(c[F>>2]|0)+56|0;r=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(r|0));j=mf(a,E,.25)|0;c[G>>2]=d;i=0;f=lf(a,79114,G)|0;while(1){if((i|0)>=(d|0))break;q=+h[b+(i<<4)+8>>3]+ +h[H>>3];h[J>>3]=+h[b+(i<<4)>>3]+ +h[I>>3];h[J+8>>3]=q;h[J+16>>3]=0.0;G=lf(a,79129,J)|0;c[K>>2]=f;c[K+4>>2]=G;O=lf(a,79151,K)|0;l6(G);l6(f);i=i+1|0;f=O}c[L>>2]=n;c[L+4>>2]=m;c[L+8>>2]=k;c[L+12>>2]=j;L=lf(a,79161,L)|0;c[M>>2]=f;c[M+4>>2]=L;O=lf(a,78774,M)|0;l6(L);mF(a,O)|0;l6(n);l6(m);l6(k);l6(j);l6(O)}l=N;return}function hf(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0;B=l;l=l+208|0;e=B+160|0;A=B+152|0;z=B+136|0;y=B+128|0;x=B+96|0;w=B+88|0;v=B+56|0;k=B+48|0;s=B+24|0;r=B;mF(a,78981)|0;g[46771]=+g[46770]+-4.0;C=+h[a+496>>3];h[r>>3]=+h[a+488>>3];h[r+8>>3]=C;h[r+16>>3]=1.0;r=lf(a,78549,r)|0;C=+(c[a+360>>2]|0);h[s>>3]=0.0;h[s+8>>3]=0.0;h[s+16>>3]=C;s=lf(a,78581,s)|0;C=+g[46771]+-2.0;h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=C;t=lf(a,78613,e)|0;u=a+16|0;f=e;i=(c[u>>2]|0)+56|0;j=f+40|0;do{c[f>>2]=c[i>>2];f=f+4|0;i=i+4|0}while((f|0)<(j|0));n=mf(a,e,0.0)|0;c[k>>2]=78995;c[k+4>>2]=d+2;o=a+504|0;p=a+512|0;q=d+-1|0;m=0;e=lf(a,78645,k)|0;while(1){if((m|0)>=(d|0))break;f=b+(m<<4)|0;i=b+(m<<4)+8|0;D=+h[i>>3]+ +h[p>>3];C=+h[(c[u>>2]|0)+152>>3];h[v>>3]=+h[f>>3]+ +h[o>>3];h[v+8>>3]=D;h[v+16>>3]=0.0;h[v+24>>3]=C;k=lf(a,78690,v)|0;c[w>>2]=e;c[w+4>>2]=k;j=lf(a,78719,w)|0;l6(k);l6(e);if((m|0)==0|(m|0)==(q|0)){C=+h[i>>3]+ +h[p>>3];D=+h[(c[u>>2]|0)+152>>3];h[x>>3]=+h[f>>3]+ +h[o>>3];h[x+8>>3]=C;h[x+16>>3]=0.0;h[x+24>>3]=D;k=lf(a,78690,x)|0;c[y>>2]=j;c[y+4>>2]=k;e=lf(a,78719,y)|0;l6(k);l6(j)}else e=j;m=m+1|0}c[z>>2]=r;c[z+4>>2]=s;c[z+8>>2]=t;c[z+12>>2]=n;b=lf(a,79004,z)|0;c[A>>2]=e;c[A+4>>2]=b;d=lf(a,78774,A)|0;l6(b);mF(a,d)|0;l6(r);l6(s);l6(t);l6(n);l6(d);l=B;return}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0.0;v=l;l=l+160|0;e=v+120|0;u=v+112|0;t=v+96|0;s=v+88|0;r=v+56|0;m=v+48|0;n=v+24|0;q=v;mF(a,78533)|0;g[46771]=+g[46770]+-6.0;w=+h[a+496>>3];h[q>>3]=+h[a+488>>3];h[q+8>>3]=w;h[q+16>>3]=1.0;q=lf(a,78549,q)|0;w=+(c[a+360>>2]|0);h[n>>3]=0.0;h[n+8>>3]=0.0;h[n+16>>3]=w;n=lf(a,78581,n)|0;w=+g[46771];h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=w;o=lf(a,78613,e)|0;p=a+16|0;f=e;i=(c[p>>2]|0)+16|0;j=f+40|0;do{c[f>>2]=c[i>>2];f=f+4|0;i=i+4|0}while((f|0)<(j|0));i=mf(a,e,0.0)|0;c[m>>2]=78676;c[m+4>>2]=d;j=a+504|0;k=a+512|0;f=0;e=lf(a,78645,m)|0;while(1){if((f|0)>=(d|0))break;y=+h[b+(f<<4)+8>>3]+ +h[k>>3];w=+h[(c[p>>2]|0)+152>>3];h[r>>3]=+h[b+(f<<4)>>3]+ +h[j>>3];h[r+8>>3]=y;h[r+16>>3]=0.0;h[r+24>>3]=w;x=lf(a,78690,r)|0;c[s>>2]=e;c[s+4>>2]=x;m=lf(a,78719,s)|0;l6(x);l6(e);f=f+1|0;e=m}c[t>>2]=q;c[t+4>>2]=n;c[t+8>>2]=o;c[t+12>>2]=i;t=lf(a,78728,t)|0;c[u>>2]=e;c[u+4>>2]=t;x=lf(a,78774,u)|0;l6(t);mF(a,x)|0;l6(q);l6(n);l6(o);l6(i);l6(x);l=v;return}function kf(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;sF(a,78514,e);l=d;return}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+1056|0;h=i;e=i+24|0;f=i+8|0;c[f>>2]=d;g=k2(e,1024,b,f)|0;do if((g|0)>=0)if((g|0)>1023){a=k6(g+1|0)|0;c[f>>2]=d;j2(a,b,f)|0;break}else{a=Y3(e)|0;break}else{a=c[(c[a+12>>2]|0)+16>>2]|0;c[h>>2]=v2(c[(L1()|0)>>2]|0)|0;lb[a&63](78959,h);a=Y3(195341)|0}while(0);l=i;return a|0}function mf(a,b,e){a=a|0;b=b|0;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;q=l;l=l+112|0;o=q+104|0;j=q+96|0;i=q+64|0;m=q+48|0;p=q+32|0;n=q+16|0;k=q;g=c[b+32>>2]|0;a:do switch(g|0){case 5:{f=c[b>>2]|0;if(!(f2(f,136603)|0)){c[k>>2]=78796;h[k+8>>3]=e;f=lf(a,78779,k)|0;break a}if(!(f2(f,133733)|0)){c[n>>2]=78800;h[n+8>>3]=e;f=lf(a,78779,n)|0;break a}if(!(f2(f,131732)|0)){c[p>>2]=78806;h[p+8>>3]=e;f=lf(a,78779,p)|0;break a}else{c[m>>2]=f;h[m+8>>3]=e;f=lf(a,78779,m)|0;break a}}case 1:{s=+(d[b+1>>0]|0)*.00390625;r=+(d[b+2>>0]|0)*.00390625;h[i>>3]=+(d[b>>0]|0)*.00390625;h[i+8>>3]=s;h[i+16>>3]=r;h[i+24>>3]=e;f=lf(a,78811,i)|0;break}default:{p=c[15715]|0;n=c[b>>2]|0;c[j>>2]=g;c[j+4>>2]=n;z4(p,78850,j)|0;Aa(138697,78900,436,78920)}}while(0);c[o>>2]=f;p=lf(a,78937,o)|0;l6(f);l=q;return p|0}function nf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;h=c[c[a+12>>2]>>2]|0;j=c[h>>2]|0;i=c[h+4>>2]|0;h=c[h+8>>2]|0;c[g>>2]=81366;c[g+4>>2]=j;c[g+8>>2]=i;c[g+12>>2]=h;sF(a,83976,g);f=HB(c[f+8>>2]|0)|0;c[e>>2]=81366;c[e+4>>2]=f;sF(a,84008,e);c[d>>2]=81366;sF(a,84022,d);l=b;return}function of(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=81366;sF(a,83924,d);l=b;return}function pf(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+304|0;V=W+296|0;U=W+288|0;T=W+272|0;R=W+264|0;Q=W+256|0;P=W+248|0;O=W+240|0;N=W+232|0;M=W+224|0;L=W+216|0;K=W+208|0;J=W+200|0;I=W+192|0;G=W+184|0;F=W+176|0;E=W+168|0;D=W+160|0;C=W+152|0;A=W+144|0;z=W+136|0;y=W+128|0;x=W+120|0;w=W+112|0;v=W+104|0;u=W+96|0;t=W+88|0;s=W+80|0;r=W+72|0;q=W+64|0;p=W+56|0;o=W+48|0;S=W+40|0;B=W+24|0;n=W+16|0;m=W;f=c[a+456>>2]|0;g=c[a+460>>2]|0;i=c[a+464>>2]|0;j=c[a+468>>2]|0;k=a+360|0;a:do if(c[4035]|0){switch(c[k>>2]|0){case 90:case 0:break a;default:{}}Bf();c[4035]=0}while(0);e=(+(j|0)-+(g|0))/72.0;b=(+(i|0)-+(f|0))/72.0;k=(c[k>>2]|0)==90;d=k?e:b;e=k?b:e;h[m>>3]=d;h[m+8>>3]=e;sF(a,81553,m);c[n>>2]=81366;sF(a,81568,n);if(d>0.0){b=+V3(d);h[19233]=b;b=b+(3.0-+(~~b|0))}else b=3.0;b=+H(10.0,+b);h[19233]=b;h[B>>3]=b;h[B+8>>3]=b;sF(a,81737,B);c[S>>2]=81366;sF(a,81772,S);c[o>>2]=81366;sF(a,81830,o);c[p>>2]=81366;sF(a,81890,p);c[q>>2]=81366;sF(a,81939,q);c[r>>2]=81366;sF(a,81978,r);c[s>>2]=81366;sF(a,82029,s);c[t>>2]=81366;sF(a,82091,t);c[u>>2]=81366;sF(a,82201,u);c[v>>2]=81366;sF(a,82292,v);c[w>>2]=81366;sF(a,82346,w);c[x>>2]=81366;sF(a,82415,x);sF(a,82451,y);c[z>>2]=81366;sF(a,82576,z);c[A>>2]=81366;sF(a,82605,A);sF(a,82645,C);c[D>>2]=81366;sF(a,82738,D);c[E>>2]=81366;sF(a,82797,E);c[F>>2]=81366;sF(a,82878,F);sF(a,82948,G);c[I>>2]=81366;sF(a,83037,I);c[J>>2]=81366;sF(a,83142,J);c[K>>2]=81366;sF(a,83218,K);c[L>>2]=81366;sF(a,83257,L);c[M>>2]=81366;sF(a,83356,M);c[N>>2]=81366;sF(a,83402,N);sF(a,83491,O);c[P>>2]=81366;sF(a,83532,P);c[Q>>2]=81366;sF(a,83615,Q);c[R>>2]=81366;sF(a,83716,R);h[T>>3]=e;h[T+8>>3]=d;sF(a,83780,T);sF(a,83808,U);sF(a,83816,V);l=W;return}function qf(a){a=a|0;var b=0;b=l;l=l+16|0;sF(a,81546,b);l=b;return}function rf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;p=q+24|0;o=q+8|0;n=q;j=+h[e+32>>3];switch(a[e+48>>0]|0){case 108:{i=+h[d>>3];break}case 114:{g=j;f=4;break}default:{g=j*.5;f=4}}if((f|0)==4){i=+h[d>>3]-g;h[d>>3]=i}k=e+4|0;f=c[k>>2]|0;g=+h[f+16>>3];r=d+8|0;m=+h[r>>3]+g/216.0;h[r>>3]=m;i=j/144.0+i;h[d>>3]=i;f=c[f>>2]|0;do if(f){d=c[46772]|0;if(d|0?(f2(d,f)|0)==0:0)break;c[n>>2]=zf(f)|0;sF(b,81445,n);r=c[k>>2]|0;c[46772]=c[r>>2];g=+h[r+16>>3]}while(0);f=~~g;f=(f|0)>1?f:1;if((f|0)!=(c[46773]|0)){j=+h[19233];c[o>>2]=f;h[o+8>>3]=j;sF(b,81453,o);c[46773]=f}c[p>>2]=Af(c[e>>2]|0)|0;h[p+8>>3]=i;h[p+16>>3]=m;sF(b,81474,p);l=q;return}function sf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+48|0;f=e;i=+h[b>>3];k=(+h[b+16>>3]-i)*2.0/72.0;g=+h[b+8>>3];j=(+h[b+24>>3]-g)*2.0/72.0;c[f>>2]=1;c[f+4>>2]=d|0?81387:195341;h[f+8>>3]=k;h[f+16>>3]=j;h[f+24>>3]=i/72.0;h[f+32>>3]=g/72.0;sF(a,81393,f);l=e;return}function tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=l;l=l+16|0;xf(c[a+16>>2]|0,e+8|0,e);yf(a,b,d,1);l=e;return}function uf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0;t=l;l=l+128|0;s=t+112|0;q=t+104|0;p=t+96|0;e=t+88|0;n=t+16|0;o=t;k=c[a+16>>2]|0;j=k6((d*140|0)+140|0)|0;xf(k,t+116|0,t+80|0);v=+h[b>>3];k=n+48|0;h[k>>3]=v;u=+h[b+8>>3];h[n+56>>3]=u;c[e>>2]=~~(v+(v>=0.0?.5:-.5));c[e+4>>2]=~~(u+(u>=0.0?.5:-.5));i=o+8|0;e=j+(i2(j,81371,e)|0)|0;r=1;g=0;while(1){m=g+3|0;if((m|0)>=(d|0))break;c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];f=1;while(1){if((f|0)==4){f=1;break}w=f+g|0;h[n+(f<<4)>>3]=+h[b+(w<<4)>>3];h[n+(f<<4)+8>>3]=+h[b+(w<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;iP(o,n,3,+(f|0)/6.0,0,0);u=+h[o>>3];v=+h[i>>3];c[p>>2]=~~(u+(u>=0.0?.5:-.5));c[p+4>>2]=~~(v+(v>=0.0?.5:-.5));f=f+1|0;e=e+(i2(e,81371,p)|0)|0}r=r+6|0;g=m}c[q>>2]=j;sF(a,81378,q);l6(j);f=r+-1|0;e=0;while(1){if((e|0)>=(r|0))break;c[s>>2]=((e|0)%(f|0)|0|0)!=0&1;sF(a,81383,s);e=e+1|0}mF(a,153748)|0;l=t;return}function vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;xf(c[a+16>>2]|0,e+8|0,e);yf(a,b,d,0);l=e;return}function wf(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=81366;c[e+4>>2]=b;sF(a,81359,e);l=d;return}function xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));sF(a,81371,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));sF(a,81371,i)}mF(a,153748)|0;l=j;return}function zf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;a:while(1){d=15868;while(1){e=c[d+4>>2]|0;if(!e)break;if(!(f2(e,b)|0)){g=6;break a}d=d+8|0}c[f>>2]=81527;c[f+4>>2]=b;dA(1,81501,f)|0;d=I4(b,45)|0;if(!d){d=81544;break}a[d>>0]=0}l=h;return d|0}function Af(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[46774]|0;if(!d){c[46775]=64;d=k6(64)|0;c[46774]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[46775]|0;if((e|0)>(b+-8|0)){d=b<<1;c[46775]=d;d=n6(c[46774]|0,d)|0;c[46774]=d;d=d+e|0}b=d+1|0;if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;i2(b,81496,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=b}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[46774]|0}function Bf(){var a=0,b=0;a=l;l=l+16|0;b=a;c[b>>2]=81527;c[b+4>>2]=91570;dA(0,83906,b)|0;l=a;return}function Cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0;e=l;l=l+32|0;f=e+8|0;j=e;b=b+8|0;k=c[b>>2]|0;c[j>>2]=k;c[j+4>>2]=k;sF(a,84495,j);i=(+h[d+16>>3]+ +h[d>>3])*.5;g=(+h[d+24>>3]+ +h[d+8>>3])*.5;c[f>>2]=c[b>>2];h[f+8>>3]=i;h[f+16>>3]=g;sF(a,84537,f);l=e;return}function Df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+48|0;f=e;i=+h[d>>3];k=+h[d+16>>3]-i;g=+h[d+24>>3];j=g-+h[d+8>>3];g=+(~~(+h[a+232>>3]-+h[a+216>>3])>>>0)-g;c[f>>2]=c[b+8>>2];h[f+8>>3]=k;h[f+16>>3]=j;h[f+24>>3]=i;h[f+32>>3]=g;sF(a,84582,f);mF(a,84674)|0;l=e;return}function Ef(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function Ff(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+160|0;s=t+152|0;r=t+136|0;q=t+120|0;k=t+112|0;n=t+104|0;m=t+88|0;j=t+72|0;i=t+64|0;o=t;if(!a)Aa(111583,84679,212,84698);if(!b)Aa(111613,84679,213,84698);p=b+8|0;if(!(c[p>>2]|0))Aa(111616,84679,214,84698);if(c[b+52>>2]|0){c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];b=o+32|0;d=d+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];f=+h[o>>3];h[o+16>>3]=f;h[o+24>>3]=+h[o+40>>3];h[o+48>>3]=+h[b>>3];g=+h[o+8>>3];h[o+56>>3]=g;if(e<<24>>24){sF(a,84719,i);b=0;while(1){if((b|0)==4)break;u=+h[o+(b<<4)+8>>3];h[j>>3]=+h[o+(b<<4)>>3];h[j+8>>3]=u;sF(a,84722,j);b=b+1|0}h[m>>3]=f;h[m+8>>3]=g;sF(a,84722,m);m=c[p>>2]|0;c[n>>2]=4;c[n+4>>2]=m;sF(a,84729,n)}sF(a,84719,k);b=0;while(1){if((b|0)==4)break;u=+h[o+(b<<4)+8>>3];h[q>>3]=+h[o+(b<<4)>>3];h[q+8>>3]=u;sF(a,84722,q);b=b+1|0}h[r>>3]=f;h[r+8>>3]=g;sF(a,84722,r);r=c[p>>2]|0;c[s>>2]=4;c[s+4>>2]=r;sF(a,84744,s)}l=t;return}function Gf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+112|0;o=p+24|0;n=p+16|0;m=p;g=p+28|0;if(!b)Aa(111583,84679,153,84760);if(!d)Aa(111613,84679,154,84760);if(!(c[d+8>>2]|0))Aa(111616,84679,155,84760);j=d+52|0;k=d+60|0;if(c[j>>2]|0){f=c[k>>2]|0;if((f|0)==100)i=18;else{db[f&127](d);c[j>>2]=0;c[k>>2]=0;c[d+56>>2]=0;i=10}}else i=10;do if((i|0)==10){if(!((MF(d)|0)<<24>>24))break;f=V5(c[d+20>>2]|0)|0;if((c[d+24>>2]&-2|0)==6){i3(f,g)|0;g=c[g+36>>2]|0;c[d+56>>2]=g;f=K4(0,g,1,1,f,0)|0;c[j>>2]=f;a[d+16>>0]=1}else f=c[j>>2]|0;if(f|0)c[k>>2]=100;NF(d);if(c[j>>2]|0)i=18}while(0);if((i|0)==18){q=+h[e+8>>3]-+(c[d+36>>2]|0);h[m>>3]=+h[e>>3]-+(c[d+32>>2]|0);h[m+8>>3]=q;sF(b,84778,m);if(!(a[d+16>>0]|0)){c[n>>2]=c[d+12>>2];sF(b,84809,n)}else xM(b,d);sF(b,84824,o)}l=p;return}function Hf(a){a=a|0;E3(c[a+52>>2]|0,c[a+56>>2]|0)|0;return}function If(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+80|0;f=g+48|0;if(!a)Aa(111583,84679,121,84834);e=c[a+16>>2]|0;if(!e)Aa(100203,84679,123,84834);if(!b)Aa(111613,84679,124,84834);d=b+8|0;if(!(c[d>>2]|0))Aa(111616,84679,125,84834);if(!(c[e+8>>2]|0))Aa(139182,84679,128,84834);else{sF(a,84854,g);sF(a,84863,g+8|0);sF(a,84890,g+16|0);sF(a,84915,g+24|0);sF(a,84944,g+32|0);sF(a,84972,g+40|0);c[f>>2]=c[d>>2];sF(a,84979,f);sF(a,85018,g+56|0);sF(a,111309,g+64|0);l=g;return}}function Jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0.0;i=l;l=l+128|0;g=i+80|0;f=i;if(!a)Aa(111583,84679,97,85023);if(!b)Aa(111613,84679,98,85023);e=c[b+8>>2]|0;if(!e)Aa(111616,84679,99,85023);else{m=+h[d>>3];j=~~(m+(m>=0.0?.5:-.5));m=+h[d+8>>3];b=~~(m+(m>=0.0?.5:-.5));m=+h[d+16>>3];k=~~(m+(m>=0.0?.5:-.5));m=+h[d+24>>3];d=~~(m+(m>=0.0?.5:-.5));c[f>>2]=2;c[f+4>>2]=5;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=-1;c[f+24>>2]=1;c[f+28>>2]=-1;c[f+32>>2]=0;h[f+40>>3]=0.0;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=5;c[f+72>>2]=0;c[f+76>>2]=e;sF(a,85042,f);c[g>>2]=j;c[g+4>>2]=b;c[g+8>>2]=j;c[g+12>>2]=d;c[g+16>>2]=k;c[g+20>>2]=d;c[g+24>>2]=k;c[g+28>>2]=b;c[g+32>>2]=j;c[g+36>>2]=b;sF(a,85100,g);l=i;return}}function Kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+96|0;o=p+56|0;n=p+32|0;m=p;q=+h[d+16>>3];i=+h[d>>3];k=q-i;j=+h[d+24>>3];f=+h[d+8>>3];g=j-f;i=(q+i-k)*.5;if(!a)Aa(111583,84679,53,85132);if(!b)Aa(111613,84679,54,85132);e=b+8|0;if(!(c[e>>2]|0))Aa(111616,84679,55,85132);mF(a,85151)|0;mF(a,c[e>>2]|0)|0;e=a+360|0;f=-((j+f+g)*.5);if(!(c[e>>2]|0)){h[o>>3]=k;h[o+8>>3]=g;h[o+16>>3]=i;h[o+24>>3]=f;sF(a,85280,o)}else{h[m>>3]=g;h[m+8>>3]=k;h[m+16>>3]=i;h[m+24>>3]=f;sF(a,85171,m);c[n>>2]=c[e>>2];h[n+8>>3]=i;h[n+16>>3]=f;sF(a,85250,n)}mF(a,85359)|0;l=p;return}function Lf(a){a=a|0;var b=0,c=0;b=gC(a)|0;while(1){if(!b)break;Mf(b);b=hC(a,b)|0}c=gC(a)|0;while(1){if(!c)break;b=UA(a,c)|0;while(1){if(!b)break;Nf(b);b=WA(a,b)|0}c=hC(a,c)|0}return}function Mf(a){a=a|0;var b=0,d=0;RC(a,137750,304,1)|0;qP(a);oQ(a,c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&1);a=a+16|0;c[(c[a>>2]|0)+176>>2]=0;b=HK(20)|0;d=c[a>>2]|0;c[d+172>>2]=b;c[d+184>>2]=0;d=HK(20)|0;b=c[a>>2]|0;c[b+180>>2]=d;c[b+200>>2]=0;b=HK(12)|0;d=c[a>>2]|0;c[d+196>>2]=b;c[d+192>>2]=0;d=HK(12)|0;b=c[a>>2]|0;c[b+188>>2]=d;c[b+208>>2]=0;b=HK(12)|0;a=c[a>>2]|0;c[a+204>>2]=b;c[a+216>>2]=1;return}function Nf(d){d=d|0;var e=0,f=0,g=0,h=0,i=0;RC(d,137763,176,1)|0;rP(d)|0;h=XO(d,c[47236]|0,1,0)|0;g=d+16|0;c[(c[g>>2]|0)+156>>2]=h;h=_O(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,c[47230]|0,195341)|0;i=_O(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,c[47230]|0,195341)|0;e=c[g>>2]|0;f=e+154|0;b[f>>1]=1;b[e+168>>1]=1;if((h|0)==(i|0)&(a[h>>0]|0)!=0){b[f>>1]=1e3;i=e+156|0;c[i>>2]=(c[i>>2]|0)*100}if(Jk(d)|0){i=c[g>>2]|0;b[i+154>>1]=0;c[i+156>>2]=0}i=(XO(d,c[47256]|0,0,0)|0)&255;a[(c[g>>2]|0)+152>>0]=i;i=(XO(d,c[47237]|0,1,0)|0)&65535;b[(c[g>>2]|0)+170>>1]=i;return}function Of(a){a=a|0;var b=0,d=0;Pf(c[(c[a+16>>2]|0)+192>>2]|0);d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;WP(b);b=WA(a,b)|0}Qf(d);d=hC(a,d)|0}Rf(a);return}function Pf(b){b=b|0;var d=0,e=0,f=0,g=0;while(1){if(!b)break;f=b+16|0;g=c[(c[f>>2]|0)+164>>2]|0;Sf(b);d=c[f>>2]|0;if((a[d+156>>0]|0)!=1){b=g;continue}e=c[d+180>>2]|0;if(e){l6(e);d=c[f>>2]|0}e=c[d+172>>2]|0;if(e){l6(e);d=c[f>>2]|0}l6(d);l6(b);b=g}return}function Qf(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+172>>2]|0;if(d){l6(d);b=c[e>>2]|0}d=c[b+180>>2]|0;if(d){l6(d);b=c[e>>2]|0}d=c[b+188>>2]|0;if(d){l6(d);b=c[e>>2]|0}d=c[b+196>>2]|0;if(d){l6(d);b=c[e>>2]|0}d=c[b+204>>2]|0;if(d){l6(d);b=c[e>>2]|0}AK(c[b+104>>2]|0);AK(c[(c[e>>2]|0)+108>>2]|0);b=c[(c[e>>2]|0)+8>>2]|0;if(b|0)db[c[(c[b+4>>2]|0)+4>>2]&127](a);TC(a,137750)|0;return}function Rf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;d=MD(a)|0;while(1){if(!d)break;Rf(d);d=ND(d)|0}if(RC(a,137786,0,1)|0){g=a+16|0;d=c[g>>2]|0;e=c[d+184>>2]|0;if(e){l6(e);d=c[g>>2]|0}e=c[d+268>>2]|0;if(e){l6(e);d=c[g>>2]|0}e=c[d+216>>2]|0;if(e){l6(e);d=c[g>>2]|0}e=c[d+196>>2]|0;do if(e|0){f=b[d+236>>1]|0;while(1){if((f|0)>(b[d+238>>1]|0))break;l6(c[e+(f<<6)+12>>2]|0);h=c[g>>2]|0;f=f+1|0;d=h;e=c[h+196>>2]|0}if((b[d+236>>1]|0)==-1){l6(e+-64|0);break}else{l6(e);break}}while(0);if((vC(a)|0)!=(a|0)){AK(c[(c[g>>2]|0)+12>>2]|0);TC(a,137786)|0}}return}function Sf(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;d=c[e>>2]|0;b=c[d+176>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;b=c[(c[d+172>>2]|0)+(a<<2)>>2]|0;fh(b);l6(c[b+16>>2]|0);l6(b);b=a;d=c[e>>2]|0}b=c[d+184>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;b=c[(c[(c[e>>2]|0)+180>>2]|0)+(a<<2)>>2]|0;fh(b);l6(c[b+16>>2]|0);l6(b);b=a}return}function Tf(a){a=a|0;if(qB(a)|0)Uf(a);rM(a);return}function Uf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+48|0;g=h+32|0;f=h;b=jH(a,-1,8)|0;d=kH(a,0,f)|0;iH(a,2,8,f)|0;d=(d|0)==0;e=(b|0)<0;if(e&d)Vf(a);else{if(d)c[f+16>>2]=3;else b=e?8:b;c[f+8>>2]=b;c[f+20>>2]=0;e=EG(a,g,0)|0;b=c[g>>2]|0;do if((b|0)==1){Vf(a);b=0}else{if(c[(c[(c[a+16>>2]|0)+8>>2]|0)+84>>2]|0){Vf(a);b=0;break}c[f+12>>2]=1;d=0;while(1){if((d|0)>=(b|0))break;b=c[e+(d<<2)>>2]|0;Wf(b,a);Vf(b);d=d+1|0;b=c[g>>2]|0}Xf(a);hH(c[g>>2]|0,e,a,f)|0;Yf(a);Zf(c[g>>2]|0,e,a);b=0}while(0);while(1){if((b|0)>=(c[g>>2]|0))break;f=e+(b<<2)|0;l6(c[(c[(c[f>>2]|0)+16>>2]|0)+8>>2]|0);Rf(c[f>>2]|0);tC(a,c[f>>2]|0)|0;b=b+1|0}l6(e)}l=h;return}function Vf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+40|0;e=m;i=XO(a,DA(a,0,85374,0)|0,-1,1)|0;mQ(a,10);d=Ik(a,e)|0;$f(a,a);Lf(a);f=(i|0)==1;g=e+32|0;h=(i|0)==2;i=(i|0)==3;j=e+28|0;e=e+24|0;while(1){uj(a,d);if(f){d=3;break}if(c[g>>2]|0){dA(0,85380,k)|0;c[e>>2]=0;d=0}Eh(a,(d|0)!=0&1);if(h){d=7;break}Hi(a,d);if(i){d=9;break}n=(c[j>>2]|0)+-1|0;c[j>>2]=n;if(!((n|0)!=0&(c[e>>2]|0)!=0)){d=11;break}}if((d|0)==3)ag(a,1);else if((d|0)==7)ag(a,2);else if((d|0)==9)ag(a,2);else if((d|0)==11){if(b[(c[a+16>>2]|0)+136>>1]&16)bg(a);ok(a);fg(a);if((bP(NA(a,85471)|0)|0)<<24>>24)il(a)}l=m;return}function Wf(b,d){b=b|0;d=d|0;var e=0,f=0;RC(b,137786,280,1)|0;e=HK(96)|0;b=c[b+16>>2]|0;c[b+8>>2]=e;d=c[d+16>>2]|0;f=c[d+8>>2]|0;h[e>>3]=+h[f>>3];h[e+24>>3]=+h[f+24>>3];c[b+144>>2]=c[d+144>>2];a[b+115>>0]=a[d+115>>0]|0;c[b+116>>2]=c[d+116>>2];c[b+248>>2]=c[d+248>>2];c[b+252>>2]=c[d+252>>2];c[b+244>>2]=c[d+244>>2];return}function Xf(a){a=a|0;var b=0,d=0,e=0;b=HK((qB(a)|0)<<4)|0;d=gC(a)|0;while(1){if(!d)break;e=c[d+16>>2]|0;c[e+132>>2]=b;h[b>>3]=+h[e+16>>3]/72.0;h[b+8>>3]=+h[e+24>>3]/72.0;b=b+16|0;d=hC(a,d)|0}return}function Yf(a){a=a|0;var b=0,d=0,e=0,f=0;e=c[(c[(gC(a)|0)+16>>2]|0)+132>>2]|0;b=e;d=gC(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;c[f+132>>2]=0;h[f+16>>3]=+h[b>>3]*72.0;h[f+24>>3]=+h[b+8>>3]*72.0;b=b+16|0;d=hC(a,d)|0}l6(e);return}function Zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=0;f=0;while(1){if((e|0)>=(a|0))break;i=(c[(c[(c[b+(e<<2)>>2]|0)+16>>2]|0)+180>>2]|0)+f|0;e=e+1|0;f=i}i=d+16|0;c[(c[i>>2]|0)+180>>2]=f;g=HK((f<<2)+4|0)|0;c[(c[i>>2]|0)+184>>2]=g;g=0;e=1;while(1){if((g|0)>=(a|0))break;h=(c[b+(g<<2)>>2]|0)+16|0;f=1;while(1){d=c[h>>2]|0;if((f|0)>(c[d+180>>2]|0))break;d=DG(c[(c[d+184>>2]|0)+(f<<2)>>2]|0)|0;c[(c[(c[i>>2]|0)+184>>2]|0)+(e<<2)>>2]=d;_f(c[(c[(c[h>>2]|0)+184>>2]|0)+(f<<2)>>2]|0,d);f=f+1|0;e=e+1|0}g=g+1|0}return}function _f(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;RC(d,137786,280,1)|0;g=d+16|0;d=(c[g>>2]|0)+16|0;f=b+16|0;b=(c[f>>2]|0)+16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];c[d+24>>2]=c[b+24>>2];c[d+28>>2]=c[b+28>>2];b=c[f>>2]|0;d=c[g>>2]|0;a[d+275>>0]=a[b+275>>0]|0;d=d+48|0;b=b+48|0;e=d+64|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));b=c[(c[f>>2]|0)+180>>2]|0;c[(c[g>>2]|0)+180>>2]=b;d=HK((b<<2)+4|0)|0;c[(c[g>>2]|0)+184>>2]=d;d=1;while(1){e=c[f>>2]|0;if((d|0)>(b|0))break;e=DG(c[(c[e+184>>2]|0)+(d<<2)>>2]|0)|0;c[(c[(c[g>>2]|0)+184>>2]|0)+(d<<2)>>2]=e;_f(c[(c[(c[f>>2]|0)+184>>2]|0)+(d<<2)>>2]|0,e);d=d+1|0}f=e+12|0;c[(c[g>>2]|0)+12>>2]=c[f>>2];c[f>>2]=0;return}function $f(a,b){a=a|0;b=b|0;if((vC(a)|0)!=(a|0))RC(a,137786,280,1)|0;if((a|0)==(b|0))c[(c[(vC(a)|0)+16>>2]|0)+188>>2]=a;a=MD(a)|0;while(1){if(!a)break;$f(a,b);a=ND(a)|0}return}function ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1040|0;k=m+8|0;j=m;e=m+16|0;f=DA(a,1,87443,195341)|0;g=DA(a,1,85514,195341)|0;h=(b|0)>0;d=(b|0)==1;b=gC(a)|0;while(1){if(!b)break;if(h?(i=b+16|0,c[j>>2]=c[(c[i>>2]|0)+232>>2],i2(e,137696,j)|0,HA(b,f,e)|0,!d):0){c[k>>2]=c[(c[i>>2]|0)+236>>2];i2(e,137696,k)|0;HA(b,g,e)|0}b=hC(a,b)|0}l=m;return}function bg(a){a=a|0;var b=0,c=0,d=0;c=LD(a,86947,0)|0;if(c|0){b=gC(c)|0;while(1){if(!b)break;d=hC(c,b)|0;nh(a,b);cg(a,b);Qf(b);sC(a,b)|0;b=d}PD(a,c)|0}return}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=c[(c[b+16>>2]|0)+232>>2]|0;i=a+16|0;a=c[(c[i>>2]|0)+196>>2]|0;d=c[a+(j<<6)>>2]|0;h=a+(j<<6)+4|0;g=0;e=0;while(1){if((e|0)>=(d|0)){f=7;break}f=c[(c[h>>2]|0)+(e<<2)>>2]|0;e=e+1|0;if((f|0)==(b|0)){f=4;break}else g=f}if((f|0)==4){while(1){if((e|0)>=(d|0))break;f=c[a+(j<<6)+4>>2]|0;c[f+(e+-1<<2)>>2]=c[f+(e<<2)>>2];f=c[(c[i>>2]|0)+196>>2]|0;e=e+1|0;d=c[f+(j<<6)>>2]|0;a=f;f=4}c[a+(j<<6)>>2]=d+-1}else if((f|0)==7?(g|0)!=(b|0):0)Aa(85480,85487,248,85497);return}function dg(a){a=a|0;return c[(c[(vC(a)|0)+16>>2]|0)+188>>2]|0}function eg(b,c){b=b|0;c=c|0;var d=0;d=a[b+28>>0]|0;if(a[c+28>>0]|0)if(d<<24>>24){d=~~(+h[b>>3]-+h[c>>3]);if(!d)d=~~(+h[b+8>>3]-+h[c+8>>3])}else d=-1;else d=d<<24>>24!=0&1;return d|0}function fg(a){a=a|0;gg(a,1);return}function gg(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=l;l=l+656|0;P=_+592|0;O=_+552|0;g=_+544|0;U=_+96|0;V=_;Z=_+632|0;W=d+16|0;Y=b[(c[W>>2]|0)+136>>1]&14;Q=Y&65535;R=U+16|0;c[R>>2]=_+368;S=V+16|0;c[S>>2]=_+192;do if(Y<<16>>16){T=Y<<16>>16==4;f=d+60|0;do if(T){hg(d);if(!(a[(c[(c[f>>2]|0)+16>>2]|0)+113>>0]&1))C=9;else{dA(0,85520,g)|0;C=9}}else if(Y<<16>>16==8){hg(d);if(!(a[(c[(c[f>>2]|0)+16>>2]|0)+113>>0]&1)){pQ(d,0);n=0;m=0;k=0;break}else{ig(d);pQ(d,1);n=0;m=0;k=0;break}}else C=9;while(0);if((C|0)==9){gl(d);if(DM()|0)break;X=HK(96)|0;L=c[(c[W>>2]|0)+248>>2]|0;c[Z+8>>2]=(L|0)/4|0;c[Z+12>>2]=L;q=HK(512)|0;G=Z+4|0;c[G>>2]=0;c[Z>>2]=0;j=c[W>>2]|0;D=b[j+236>>1]|0;E=0;M=0;N=q;F=q;m=q;n=q;p=q;I=0;J=0;a:while(1){if((D|0)>(b[j+238>>1]|0))break;r=c[j+196>>2]|0;i=c[r+(D<<6)>>2]|0;H=i+E|0;g=c[r+(D<<6)+4>>2]|0;f=c[g>>2]|0;if(!f)f=I;else{o=+(I|0);f=c[f+16>>2]|0;z=+h[f+16>>3]-+h[f+88>>3];f=~~(o>2]|0,(K|0)!=0):0){o=+(J|0);g=c[K+16>>2]|0;z=+h[g+16>>3]+ +h[g+96>>3];g=~~(o>z?o:z)}else g=J;B=f+-16|0;A=g+16|0;y=0;u=M;v=N;s=j;w=F;k=m;g=q;f=r;while(1){if((y|0)>=(i|0))break;q=c[(c[f+(D<<6)+4>>2]|0)+(y<<2)>>2]|0;x=q+16|0;f=c[x>>2]|0;i=c[f+112>>2]|0;if(i){i=i+16|0;j=c[(c[i>>2]|0)+96>>2]|0;if(!j){C=21;break a}t=j+56|0;f=f+16|0;c[t>>2]=c[f>>2];c[t+4>>2]=c[f+4>>2];c[t+8>>2]=c[f+8>>2];c[t+12>>2]=c[f+12>>2];a[(c[(c[i>>2]|0)+96>>2]|0)+81>>0]=1;f=c[x>>2]|0}if((a[f+156>>0]|0)!=0?(pb[c[17340>>2]&63](q)|0)<<24>>24==0:0){r=u;f=v;j=w;i=p}else{t=0;r=u;s=v;j=w;C=25}b:do if((C|0)==25){while(1){C=0;q=c[x>>2]|0;i=c[(c[q+180>>2]|0)+(t<<2)>>2]|0;if(!i)break;switch(a[(c[i+16>>2]|0)+112>>0]|0){case 6:case 4:{f=r;i=s;break}default:{jg(i,1,16,64);f=r+1|0;c[s+(r<<2)>>2]=i;if(!(f&127)){g=KK(g,(r<<2)+516|0)|0;i=g;j=g;k=g;n=g;p=g}else i=s}}t=t+1|0;r=f;s=i;C=25}f=c[q+188>>2]|0;c:do if(!f)i=p;else{t=0;i=p;while(1){f=c[f+(t<<2)>>2]|0;if(!f)break c;jg(f,2,0,128);p=r+1|0;c[s+(r<<2)>>2]=f;if(!(p&127)){g=KK(i,(r<<2)+516|0)|0;f=g;j=g;k=g;n=g;i=g}else f=s;q=c[x>>2]|0;t=t+1|0;r=p;s=f;f=c[q+188>>2]|0}}while(0);f=c[q+204>>2]|0;if(!f)f=s;else{if(!(a[q+156>>0]|0)){w=q+96|0;z=+h[w>>3];t=q+240|0;h[w>>3]=+h[t>>3];h[t>>3]=z;t=0;q=s}else{t=0;q=s}while(1){f=c[f+(t<<2)>>2]|0;if(!f){f=q;break b}jg(f,0,0,128);p=r+1|0;c[q+(r<<2)>>2]=f;if(!(p&127)){g=KK(n,(r<<2)+516|0)|0;f=g;j=g;k=g;n=g;i=g}else f=q;t=t+1|0;r=p;q=f;f=c[(c[x>>2]|0)+204>>2]|0}}}while(0);s=c[W>>2]|0;x=c[s+196>>2]|0;y=y+1|0;u=r;v=f;w=j;p=i;i=c[x+(D<<6)>>2]|0;f=x}D=D+1|0;E=H;M=u;N=v;F=w;j=s;m=k;q=g;I=B;J=A}if((C|0)==21)Aa(85588,85601,313,85614);c[Z>>2]=I;c[G>>2]=J;k3(F,M,4,58);c[X+84>>2]=HK((E<<5)+11520|0)|0;c[Z+16>>2]=HK(D<<5)|0;d:do if(Y<<16>>16==2){f=(c[W>>2]|0)+192|0;while(1){g=c[f>>2]|0;if(!g)break d;i=g+16|0;f=c[i>>2]|0;if((a[f+156>>0]|0)==1?(c[f+104>>2]|0)!=0:0){lg(g);f=c[i>>2]|0}f=f+164|0}}while(0);B=V+48|0;C=V+-48|0;D=U+48|0;E=U+-48|0;A=V+16|0;z=+(L|0);y=0;e:while(1){if((y|0)>=(M|0))break;v=N+(y<<2)|0;s=c[v>>2]|0;t=mg(s)|0;u=s+16|0;g=c[u>>2]|0;if(!(a[g+44>>0]|0)){g=(a[g+84>>0]|0)==0?t:s;f=g;g=c[g+16>>2]|0}else f=s;i=f+16|0;if(c[g+164>>2]&32){g=c[R>>2]|0;B6(g|0,c[i>>2]|0,176)|0;n=U;p=f;q=n+48|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));c[R>>2]=g;p=c[f>>2]&3;n=c[U>>2]&3;c[((n|0)==3?U:D)+40>>2]=c[((p|0)==2?f:f+-48|0)+40>>2];c[((n|0)==2?U:E)+40>>2]=c[((p|0)==3?f:f+48|0)+40>>2];n=g+16|0;p=(c[i>>2]|0)+56|0;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));n=g+56|0;p=(c[i>>2]|0)+16|0;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));a[g+112>>0]=1;c[g+116>>2]=f;f=U}r=f+16|0;x=1;f=y;while(1){w=f+1|0;if((w|0)>=(M|0))break;j=N+(w<<2)|0;f=c[j>>2]|0;if((t|0)!=(mg(f)|0))break;if(!(a[(c[u>>2]|0)+113>>0]|0)){k=f+16|0;g=c[k>>2]|0;if(!(a[g+44>>0]|0)){g=(a[g+84>>0]|0)==0?t:f;f=g;g=c[g+16>>2]|0}i=f+16|0;if(c[g+164>>2]&32){g=c[S>>2]|0;B6(g|0,c[i>>2]|0,176)|0;n=V;p=f;q=n+48|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));c[S>>2]=g;p=c[f>>2]&3;n=c[V>>2]&3;c[((n|0)==3?V:B)+40>>2]=c[((p|0)==2?f:f+-48|0)+40>>2];c[((n|0)==2?V:C)+40>>2]=c[((p|0)==3?f:f+48|0)+40>>2];n=g+16|0;p=(c[i>>2]|0)+56|0;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));n=g+56|0;p=(c[i>>2]|0)+16|0;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));a[g+112>>0]=1;c[g+116>>2]=f;g=c[A>>2]|0}i=c[r>>2]|0;f=g+16|0;n=O;p=i+16|0;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));n=P;p=f;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));if(eg(O,P)|0)break;f=g+56|0;n=O;p=i+56|0;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));n=P;p=f;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));if(eg(O,P)|0)break;L=c[u>>2]|0;if((c[L+164>>2]&15|0)==2?(c[L+96>>2]|0)!=(c[(c[k>>2]|0)+96>>2]|0):0)break;if(c[(c[(c[j>>2]|0)+16>>2]|0)+164>>2]&64|0)break}x=x+1|0;f=w}if(T){if((x|0)==1)f=P;else f=HK(x<<2)|0;c[f>>2]=mg(c[v>>2]|0)|0;g=1;while(1){if((g|0)>=(x|0))break;c[f+(g<<2)>>2]=c[v+(g<<2)>>2];g=g+1|0}NM(d,f,x,Q,17336);if((x|0)>1)l6(f);y=w;continue}f=c[s>>2]&3;L=c[((f|0)==3?s:s+48|0)+40>>2]|0;f=c[((f|0)==2?s:s+-48|0)+40>>2]|0;g=c[L+16>>2]|0;n=c[g+232>>2]|0;if((L|0)!=(f|0))if((n|0)==(c[(c[f+16>>2]|0)+232>>2]|0)){ng(d,Z,X,N,y,x,Q);y=w;continue}else{og(d,Z,X,N,y,x,Q);y=w;continue}j=c[W>>2]|0;f=j+196|0;k=n+-1|0;i=g+24|0;do if((n|0)==(b[j+238>>1]|0))if((n|0)>0){f=~~(+h[(c[(c[c[(c[f>>2]|0)+(k<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[i>>3]);break}else{f=~~+h[g+80>>3];break}else{g=c[f>>2]|0;o=+h[i>>3];f=~~(o-+h[(c[(c[c[g+(n+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);if((n|0)!=(b[j+236>>1]|0)){L=~~(+h[(c[(c[c[g+(k<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-o);f=(L|0)<(f|0)?L:f}}while(0);jO(X,N,y,x,z,+((f|0)/2|0|0),17336);f=0;while(1){if((f|0)>=(x|0)){y=w;continue e}g=c[(c[(c[N+(f+y<<2)>>2]|0)+16>>2]|0)+96>>2]|0;if(g|0)xP(d,g);f=f+1|0}}f=(c[W>>2]|0)+192|0;while(1){g=c[f>>2]|0;if(!g)break;i=g+16|0;f=c[i>>2]|0;if((a[f+156>>0]|0)==1?(c[f+104>>2]|0)!=0:0){lg(g);xP(d,c[(c[i>>2]|0)+104>>2]|0);f=c[i>>2]|0}f=f+164|0}if(!e){n=X;k=X}else{pg(d);n=X;k=X}}f:do if((c[47266]|0)!=0|(c[47267]|0)!=0?(c[47272]|0)!=0|(c[47271]|0)!=0:0){j=gC(d)|0;while(1){if(!j)break f;g:do if(c[47266]|0){f=XA(d,j)|0;while(1){if(!f)break g;g=f+-48|0;i=(c[f>>2]&3|0)==2?f:g;if(c[(c[i+16>>2]|0)+100>>2]|0){rO(i,1)|0;xP(d,c[(c[((c[f>>2]&3|0)==2?f:g)+16>>2]|0)+100>>2]|0)}f=YA(d,f)|0}}while(0);h:do if(c[47267]|0){f=UA(d,j)|0;while(1){if(!f)break h;g=f+16|0;if(c[(c[g>>2]|0)+104>>2]|0?rO(f,0)|0:0)xP(d,c[(c[g>>2]|0)+104>>2]|0);f=WA(d,f)|0}}while(0);j=hC(d,j)|0}}while(0);switch(Y&15){case 4:case 8:break;default:{l6(m);l6(c[n+84>>2]|0);l6(k);l6(c[Z+16>>2]|0);EM()}}c[47185]=1;c[47186]=1}while(0);l=_;return}function hg(a){a=a|0;var b=0,d=0,e=0.0,f=0;b=gC(a)|0;while(1){if(!b)break;d=c[b+16>>2]|0;if(c[d+204>>2]|0){f=d+96|0;e=+h[f>>3];d=d+240|0;h[f>>3]=+h[d>>3];h[d>>3]=e}b=hC(a,b)|0}return}function ig(b){b=b|0;var d=0,e=0,f=0,g=0;d=(c[b+16>>2]|0)+192|0;a:while(1){f=c[d>>2]|0;if(!f){d=12;break}g=f+16|0;d=c[g>>2]|0;do if((a[d+156>>0]|0)==1){e=c[d+112>>2]|0;if(!e){e=c[d+104>>2]|0;if(!e)break;lg(f);d=e}else{e=c[(c[e+16>>2]|0)+96>>2]|0;if(!e){d=6;break a}f=e+56|0;d=d+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];a[e+81>>0]=1;d=e}xP(b,d);d=c[g>>2]|0}while(0);d=d+164|0}if((d|0)==6)Aa(85788,85601,234,85807);else if((d|0)==12)return}function jg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=b+-48|0;i=b+48|0;j=b+16|0;do if(!d){g=c[b>>2]&3;d=c[((g|0)==3?b:i)+40>>2]|0;g=c[((g|0)==2?b:h)+40>>2]|0;if((d|0)!=(g|0)){d=(c[(c[d+16>>2]|0)+232>>2]|0)==(c[(c[g+16>>2]|0)+232>>2]|0)?2:1;break}d=c[j>>2]|0;if(!(a[d+44>>0]|0))d=(a[d+84>>0]|0)==0?8:4;else d=4}while(0);a:do if(!e)switch(d|0){case 1:{e=c[b>>2]&3;e=(c[(c[(c[((e|0)==3?b:i)+40>>2]|0)+16>>2]|0)+232>>2]|0)<(c[(c[(c[((e|0)==2?b:h)+40>>2]|0)+16>>2]|0)+232>>2]|0)?16:32;break a}case 2:{e=c[b>>2]&3;e=(c[(c[(c[((e|0)==3?b:i)+40>>2]|0)+16>>2]|0)+236>>2]|0)<(c[(c[(c[((e|0)==2?b:h)+40>>2]|0)+16>>2]|0)+236>>2]|0)?16:32;break a}default:{e=16;break a}}while(0);c[(c[j>>2]|0)+164>>2]=d|f|e;return}function kg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+624|0;y=C+584|0;x=C+544|0;r=C+368|0;s=C+96|0;u=C;t=s+16|0;c[t>>2]=r;v=u+16|0;c[v>>2]=C+192;B=c[b>>2]|0;A=c[d>>2]|0;w=B+16|0;p=c[w>>2]|0;d=c[p+164>>2]|0;e=d&15;z=A+16|0;b=c[z>>2]|0;f=c[b+164>>2]&15;do if((f|0)==(e|0)){o=mg(B)|0;q=mg(A)|0;m=c[o>>2]|0;f=m&3;e=c[(c[((f|0)==3?o:o+48|0)+40>>2]|0)+16>>2]|0;f=c[(c[((f|0)==2?o:o+-48|0)+40>>2]|0)+16>>2]|0;g=(c[e+232>>2]|0)-(c[f+232>>2]|0)|0;n=c[q>>2]|0;k=n&3;j=c[(c[((k|0)==3?q:q+48|0)+40>>2]|0)+16>>2]|0;k=c[(c[((k|0)==2?q:q+-48|0)+40>>2]|0)+16>>2]|0;i=(c[j+232>>2]|0)-(c[k+232>>2]|0)|0;g=(g|0)>-1?g:0-g|0;i=(i|0)>-1?i:0-i|0;if((g|0)!=(i|0)){b=g-i|0;break}f=~~(+h[e+16>>3]-+h[f+16>>3]);f=(f|0)>-1?f:0-f|0;e=~~(+h[j+16>>3]-+h[k+16>>3]);e=(e|0)>-1?e:0-e|0;if((f|0)!=(e|0)){b=f-e|0;break}f=m>>>4;e=n>>>4;if((f|0)!=(e|0)){b=f-e|0;break}if(!(a[p+44>>0]|0)){d=(a[p+84>>0]|0)==0?o:B;f=d;d=c[(c[d+16>>2]|0)+164>>2]|0}else f=B;e=f+16|0;if(d&32){B6(r|0,c[e>>2]|0,176)|0;g=s;i=f;j=g+48|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));c[t>>2]=r;i=c[f>>2]&3;g=c[s>>2]&3;c[((g|0)==3?s:s+48|0)+40>>2]=c[((i|0)==2?f:f+-48|0)+40>>2];c[((g|0)==2?s:s+-48|0)+40>>2]=c[((i|0)==3?f:f+48|0)+40>>2];g=r+16|0;i=(c[e>>2]|0)+56|0;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));g=r+56|0;i=(c[e>>2]|0)+16|0;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));a[r+112>>0]=1;c[r+116>>2]=f;f=s;b=c[z>>2]|0}if(!(a[b+44>>0]|0)){b=(a[b+84>>0]|0)==0?q:A;e=b;b=c[b+16>>2]|0}else e=A;d=e+16|0;if(!(c[b+164>>2]&32))e=b;else{b=c[v>>2]|0;B6(b|0,c[d>>2]|0,176)|0;g=u;i=e;j=g+48|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));c[v>>2]=b;i=c[e>>2]&3;g=c[u>>2]&3;c[((g|0)==3?u:u+48|0)+40>>2]=c[((i|0)==2?e:e+-48|0)+40>>2];c[((g|0)==2?u:u+-48|0)+40>>2]=c[((i|0)==3?e:e+48|0)+40>>2];g=b+16|0;i=(c[d>>2]|0)+56|0;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));g=b+56|0;i=(c[d>>2]|0)+16|0;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));a[b+112>>0]=1;c[b+116>>2]=e;e=c[u+16>>2]|0}d=c[f+16>>2]|0;b=e+16|0;g=x;i=d+16|0;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));g=y;i=b;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));b=eg(x,y)|0;if(!b){b=e+56|0;g=x;i=d+56|0;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));g=y;i=b;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));b=eg(x,y)|0;if(!b){d=c[(c[w>>2]|0)+164>>2]&192;b=c[(c[z>>2]|0)+164>>2]&192;if((d|0)==(b|0)){b=((c[B>>2]|0)>>>4)-((c[A>>2]|0)>>>4)|0;break}else{b=d-b|0;break}}}}else b=f-e|0;while(0);l=C;return b|0}function lg(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=b+16|0;d=c[f>>2]|0;if(c[d+176>>2]|0){d=c[d+180>>2]|0;while(1){d=(c[d>>2]|0)+16|0;e=c[d>>2]|0;if(!(a[e+112>>0]|0))break;else d=e+116|0}e=c[e+96>>2]|0;g=+h[e+24>>3];i=+h[e+32>>3];e=(c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&1|0)!=0;b=c[f>>2]|0;f=c[(c[d>>2]|0)+96>>2]|0;h[f+56>>3]=+h[b+16>>3]+(e?i:g)*.5;h[f+64>>3]=+h[b+24>>3];a[f+81>>0]=1}return}function mg(a){a=a|0;var b=0,d=0;while(1){b=c[a+16>>2]|0;d=c[b+172>>2]|0;if(!d)break;else a=d}while(1){b=c[b+116>>2]|0;if(!b)break;a=b;b=c[b+16>>2]|0}return a|0}function ng(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;B=l;l=l+1712|0;x=B+1664|0;o=B+1488|0;u=B+1392|0;A=B+1696|0;y=B+696|0;z=B;n=u+16|0;c[n>>2]=o;s=c[f+(g<<2)>>2]|0;t=s+16|0;k=c[t>>2]|0;v=a[k+113>>0]|0;if(c[k+164>>2]&32){B6(o|0,k|0,176)|0;p=u;q=s;r=p+48|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));c[n>>2]=o;p=c[u>>2]&3;c[((p|0)==3?u:u+48|0)+40>>2]=c[((c[s>>2]&3|0)==2?s:s+-48|0)+40>>2];c[((p|0)==2?u:u+-48|0)+40>>2]=c[((c[s>>2]&3|0)==3?s:s+48|0)+40>>2];p=o+16|0;q=(c[t>>2]|0)+56|0;r=p+40|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));k=c[n>>2]|0;p=k+56|0;q=(c[t>>2]|0)+16|0;r=p+40|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));a[k+112>>0]=1;c[k+116>>2]=s;s=u}k=1;while(1){if((k|0)>=(i|0)){u=6;break}if(!(a[(c[(c[f+(k+g<<2)>>2]|0)+16>>2]|0)+113>>0]|0))k=k+1|0;else{u=7;break}}a:do if((u|0)==6)if(!(v<<24>>24)){k=c[s+16>>2]|0;if(c[k+96>>2]|0){Ng(b,d,e,s,j);break}n=s+48|0;o=s+-48|0;if((j|0)==2){A=c[s>>2]&3;Og(c[((A|0)==3?s:n)+40>>2]|0,c[((A|0)==2?s:o)+40>>2]|0,f,g,i,2);break}r=a[k+49>>0]|0;v=a[k+89>>0]|0;t=(j|0)==10;if(!(r<<24>>24==1&v<<24>>24!=4)?!(r<<24>>24!=4&v<<24>>24==1):0){p=c[s>>2]&3;q=c[((p|0)==3?s:n)+40>>2]|0;p=c[((p|0)==2?s:o)+40>>2]|0;k=c[q+16>>2]|0;n=c[k+232>>2]|0;o=c[b+16>>2]|0;if((n|0)>0){j=c[o+196>>2]|0;v=n+~(a[(c[(c[b+60>>2]|0)+16>>2]|0)+113>>0]&1)|0;m=+h[(c[(c[c[j+(v<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[j+(v<<6)+16>>3]-+h[k+24>>3]-+h[j+(n<<6)+24>>3]}else m=+(c[o+252>>2]|0);C=+(i+1|0);w=+(c[d+12>>2]|0)/C;m=m/C;Qg(b,d,e,q,s,y,1);Qg(b,d,e,p,s,z,0);p=y+52|0;q=z+52|0;r=e+80|0;k=0;while(1){if((k|0)>=(i|0))break a;s=c[f+(k+g<<2)>>2]|0;o=c[p>>2]|0;n=o+-1|0;G=+h[y+56+(n<<5)>>3];F=+h[y+56+(n<<5)+16>>3];C=+h[y+56+(n<<5)+24>>3];h[19234]=G;h[19235]=C;k=k+1|0;E=+(k|0);D=w*E;h[19236]=D+F;C=m*E+C;h[19237]=C;h[19238]=G;h[19239]=C;n=(c[q>>2]|0)+-1|0;G=+h[z+56+(n<<5)+16>>3];h[19240]=G;h[19241]=m+C;E=+h[z+56+(n<<5)>>3];F=+h[z+56+(n<<5)+24>>3];h[19244]=G;h[19243]=F;h[19242]=E-D;h[19245]=C;n=0;while(1){if((n|0)>=(o|0)){n=0;break}o=y+56+(n<<5)|0;c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];c[x+16>>2]=c[o+16>>2];c[x+20>>2]=c[o+20>>2];c[x+24>>2]=c[o+24>>2];c[x+28>>2]=c[o+28>>2];dO(e,x);n=n+1|0;o=c[p>>2]|0}while(1){if((n|0)==3)break;d=153872+(n<<5)|0;c[x>>2]=c[d>>2];c[x+4>>2]=c[d+4>>2];c[x+8>>2]=c[d+8>>2];c[x+12>>2]=c[d+12>>2];c[x+16>>2]=c[d+16>>2];c[x+20>>2]=c[d+20>>2];c[x+24>>2]=c[d+24>>2];c[x+28>>2]=c[d+28>>2];dO(e,x);n=n+1|0}o=c[q>>2]|0;while(1){n=o+-1|0;if((o|0)<=0)break;o=z+56+(n<<5)|0;c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];c[x+16>>2]=c[o+16>>2];c[x+20>>2]=c[o+20>>2];c[x+24>>2]=c[o+24>>2];c[x+28>>2]=c[o+28>>2];dO(e,x);o=n}if(t)n=FM(e,A)|0;else n=LM(e,A)|0;o=c[A>>2]|0;if(!o)break a;bO(s,c[((c[s>>2]&3|0)==2?s:s+-48|0)+40>>2]|0,n,o,17336);c[r>>2]=0}}Pg(b,d,e,f,g,i,s,t&1)}else u=7;while(0);if((u|0)==7)Mg(b,f,g,i,s,j);l=B;return}function og(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;da=l;l=l+2576|0;T=da+2528|0;aa=da+2568|0;k=da+2352|0;n=da+2176|0;w=da+1904|0;Z=da+1808|0;ba=da+1712|0;U=da+1016|0;V=da+320|0;W=da+256|0;Y=da+2564|0;_=da+2560|0;B=da+288|0;C=da+224|0;M=da+192|0;N=da+160|0;O=da+128|0;P=da+96|0;Q=da+64|0;R=da+32|0;X=da;t=w+16|0;c[t>>2]=k;o=Z+16|0;c[o>>2]=n;ca=ba+16|0;c[ca>>2]=da+2e3;if(!(c[46776]|0)){c[46776]=IK(32e3)|0;c[46777]=IK(32e3)|0;c[46778]=2e3;c[46779]=2e3}x=c[f+(g<<2)>>2]|0;K=c[x>>2]&3;p=x+48|0;q=x+-48|0;K=(c[(c[(c[((K|0)==3?x:p)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((K|0)==2?x:q)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;u=w+-48|0;$=Z+-48|0;r=x+16|0;s=w+48|0;if((((K|0)>-1?K:0-K|0)|0)<=1){k=c[r>>2]|0;if(!(c[k+164>>2]&32)){w=x;n=0}else{n=c[t>>2]|0;B6(n|0,k|0,176)|0;y=w;z=x;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));c[t>>2]=n;y=c[w>>2]&3;c[((y|0)==3?w:s)+40>>2]=c[((c[x>>2]&3|0)==2?x:q)+40>>2];c[((y|0)==2?w:u)+40>>2]=c[((c[x>>2]&3|0)==3?x:p)+40>>2];y=n+16|0;z=(c[r>>2]|0)+56|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));k=c[t>>2]|0;y=k+56|0;z=(c[r>>2]|0)+16|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));a[k+112>>0]=1;n=0;L=12}}else{B6(k|0,c[r>>2]|0,176)|0;y=w;z=x;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));y=w+48|0;z=p;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));c[t>>2]=k;k=c[r>>2]|0;if(!(c[k+164>>2]&32)){B6(n|0,k|0,176)|0;y=Z;z=x;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));c[o>>2]=n;o=c[w>>2]|0;c[((o&3|0)==3?w:s)+40>>2]=c[((c[x>>2]&3|0)==3?x:p)+40>>2];y=Z+48|0;z=p;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0))}else{n=c[o>>2]|0;B6(n|0,k|0,176)|0;y=Z;z=x;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));c[o>>2]=n;y=c[Z>>2]&3;c[((y|0)==3?Z:Z+48|0)+40>>2]=c[((c[x>>2]&3|0)==2?x:q)+40>>2];c[((y|0)==2?Z:$)+40>>2]=c[((c[x>>2]&3|0)==3?x:p)+40>>2];y=n+16|0;z=(c[r>>2]|0)+56|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));k=c[o>>2]|0;y=k+56|0;z=(c[r>>2]|0)+16|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));a[k+112>>0]=1;c[k+116>>2]=x;o=c[w>>2]|0;c[((o&3|0)==3?w:s)+40>>2]=c[((c[x>>2]&3|0)==2?x:q)+40>>2];y=(c[t>>2]|0)+16|0;z=(c[r>>2]|0)+56|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0))}k=mg(x)|0;while(1){n=c[(c[k+16>>2]|0)+172>>2]|0;if(!n)break;else k=n}c[((o&3|0)==2?w:u)+40>>2]=c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2];k=c[t>>2]|0;a[k+84>>0]=0;a[k+112>>0]=1;n=k+56|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;n=1;L=12}if((L|0)==12)c[k+116>>2]=x;J=(j|0)==2;if(J?(v=sg(b,w,c[46776]|0,aa)|0,c[_>>2]=v,(v|0)!=0):0)L=63;else L=15;a:do if((L|0)==15){I=(j|0)==10;c[_>>2]=0;o=c[w>>2]&3;k=c[((o|0)==3?w:w+48|0)+40>>2]|0;o=c[((o|0)==2?w:w+-48|0)+40>>2]|0;c[aa>>2]=o;tg(B,b,d,k,0,w);c[U>>2]=c[B>>2];c[U+4>>2]=c[B+4>>2];c[U+8>>2]=c[B+8>>2];c[U+12>>2]=c[B+12>>2];c[U+16>>2]=c[B+16>>2];c[U+20>>2]=c[B+20>>2];c[U+24>>2]=c[B+24>>2];c[U+28>>2]=c[B+28>>2];c[W>>2]=c[B>>2];c[W+4>>2]=c[B+4>>2];c[W+8>>2]=c[B+8>>2];c[W+12>>2]=c[B+12>>2];c[W+16>>2]=c[B+16>>2];c[W+20>>2]=c[B+20>>2];eO(e,w,1,U,ug(k)|0);D=U+52|0;K=(c[D>>2]|0)+-1|0;F=W+24|0;h[F>>3]=+h[U+56+(K<<5)+24>>3];G=W+8|0;h[G>>3]=+h[U+56+(K<<5)+8>>3];K=c[k+16>>2]|0;H=b+16|0;m=+h[K+24>>3]-+h[(c[(c[H>>2]|0)+196>>2]|0)+(c[K+232>>2]<<6)+16>>3];c[T>>2]=c[W>>2];c[T+4>>2]=c[W+4>>2];c[T+8>>2]=c[W+8>>2];c[T+12>>2]=c[W+12>>2];c[T+16>>2]=c[W+16>>2];c[T+20>>2]=c[W+20>>2];c[T+24>>2]=c[W+24>>2];c[T+28>>2]=c[W+28>>2];vg(C,T,1,m);c[W>>2]=c[C>>2];c[W+4>>2]=c[C+4>>2];c[W+8>>2]=c[C+8>>2];c[W+12>>2]=c[C+12>>2];c[W+16>>2]=c[C+16>>2];c[W+20>>2]=c[C+20>>2];c[W+24>>2]=c[C+24>>2];c[W+28>>2]=c[C+28>>2];C=W+16|0;if(+h[W>>3]<+h[C>>3]?+h[G>>3]<+h[F>>3]:0){K=c[D>>2]|0;c[D>>2]=K+1;K=U+56+(K<<5)|0;c[K>>2]=c[W>>2];c[K+4>>2]=c[W+4>>2];c[K+8>>2]=c[W+8>>2];c[K+12>>2]=c[W+12>>2];c[K+16>>2]=c[W+16>>2];c[K+20>>2]=c[W+20>>2];c[K+24>>2]=c[W+24>>2];c[K+28>>2]=c[W+28>>2]}y=b+60|0;E=V+52|0;z=e+56|0;A=e+69|0;j=e+16|0;B=e+29|0;K=w;q=0;r=-1;b:while(1){s=0;p=0;v=K;while(1){t=o;x=o;u=s|1;o=153872+(s<<5)|0;k=k+16|0;if((a[(c[t+16>>2]|0)+156>>0]|0)!=1)break b;if((pb[c[17340>>2]&63](t)|0)<<24>>24)break b;wg(M,d,b,c[(c[k>>2]|0)+232>>2]|0);c[o>>2]=c[M>>2];c[o+4>>2]=c[M+4>>2];c[o+8>>2]=c[M+8>>2];c[o+12>>2]=c[M+12>>2];c[o+16>>2]=c[M+16>>2];c[o+20>>2]=c[M+20>>2];c[o+24>>2]=c[M+24>>2];c[o+28>>2]=c[M+28>>2];if(!p){q=xg(t)|0;o=(q|0)<((a[(c[(c[y>>2]|0)+16>>2]|0)+113>>0]<<1&2)+3&255|0);q=o?q:q+-2|0;r=o?r:1;o=(o^1)&1}else o=p;if(!((o|0)==0|(r|0)>0))break;u=153872+(u<<5)|0;tg(N,b,d,t,v,c[c[(c[t+16>>2]|0)+180>>2]>>2]|0);c[u>>2]=c[N>>2];c[u+4>>2]=c[N+4>>2];c[u+8>>2]=c[N+8>>2];c[u+12>>2]=c[N+12>>2];c[u+16>>2]=c[N+16>>2];c[u+20>>2]=c[N+20>>2];c[u+24>>2]=c[N+24>>2];c[u+28>>2]=c[N+28>>2];u=c[c[(c[x+16>>2]|0)+180>>2]>>2]|0;x=c[u>>2]&3;k=c[((x|0)==3?u:u+48|0)+40>>2]|0;x=c[((x|0)==2?u:u+-48|0)+40>>2]|0;c[aa>>2]=x;s=s+2|0;r=r+-1|0;p=o;v=u;o=x}tg(O,b,d,t,v,c[c[(c[t+16>>2]|0)+180>>2]>>2]|0);c[V>>2]=c[O>>2];c[V+4>>2]=c[O+4>>2];c[V+8>>2]=c[O+8>>2];c[V+12>>2]=c[O+12>>2];c[V+16>>2]=c[O+16>>2];c[V+20>>2]=c[O+20>>2];c[V+24>>2]=c[O+24>>2];c[V+28>>2]=c[O+28>>2];hO(e,v,1,V,ug(c[((c[v>>2]&3|0)==2?v:v+-48|0)+40>>2]|0)|0);t=V+56+((c[E>>2]|0)+-1<<5)|0;s=c[x+16>>2]|0;m=+h[s+24>>3]+ +h[(c[(c[H>>2]|0)+196>>2]|0)+(c[s+232>>2]<<6)+24>>3];c[T>>2]=c[t>>2];c[T+4>>2]=c[t+4>>2];c[T+8>>2]=c[t+8>>2];c[T+12>>2]=c[t+12>>2];c[T+16>>2]=c[t+16>>2];c[T+20>>2]=c[t+20>>2];c[T+24>>2]=c[t+24>>2];c[T+28>>2]=c[t+28>>2];vg(W,T,4,m);if(+h[W>>3]<+h[C>>3]?+h[G>>3]<+h[F>>3]:0){t=c[E>>2]|0;c[E>>2]=t+1;t=V+56+(t<<5)|0;c[t>>2]=c[W>>2];c[t+4>>2]=c[W+4>>2];c[t+8>>2]=c[W+8>>2];c[t+12>>2]=c[W+12>>2];c[t+16>>2]=c[W+16>>2];c[t+20>>2]=c[W+20>>2];c[t+24>>2]=c[W+24>>2];c[t+28>>2]=c[W+28>>2]}h[z>>3]=1.5707963267948966;a[A>>0]=1;yg(e,K,v,U,V,u);if(!I){k=LM(e,Y)|0;o=c[Y>>2]|0;if(J&(o|0)>4){v=k+16|0;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];v=k+32|0;o=k+(o+-1<<4)|0;c[v>>2]=c[o>>2];c[v+4>>2]=c[o+4>>2];c[v+8>>2]=c[o+8>>2];c[v+12>>2]=c[o+12>>2];I6(k+48|0,o|0,16)|0;c[Y>>2]=4;o=4}else L=33}else{k=FM(e,Y)|0;o=c[Y>>2]|0;L=33}if((L|0)==33){L=0;if(!o)break a}u=c[_>>2]|0;p=u+o|0;if((p|0)>(c[46778]|0)){c[46778]=p<<1;t=KK(c[46776]|0,p<<5)|0;c[46776]=t;o=c[Y>>2]|0}else t=c[46776]|0;s=0;p=u;while(1){if((s|0)>=(o|0))break;v=t+(p<<4)|0;u=k+(s<<4)|0;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];s=s+1|0;p=p+1|0}c[_>>2]=p;o=zg(c[c[(c[x+16>>2]|0)+180>>2]>>2]|0,q,t,_)|0;Ag(K,e);p=c[o>>2]&3;k=c[((p|0)==3?o:o+48|0)+40>>2]|0;p=c[((p|0)==2?o:o+-48|0)+40>>2]|0;c[aa>>2]=p;x=k+16|0;tg(P,b,d,k,c[c[(c[x>>2]|0)+172>>2]>>2]|0,o);c[U>>2]=c[P>>2];c[U+4>>2]=c[P+4>>2];c[U+8>>2]=c[P+8>>2];c[U+12>>2]=c[P+12>>2];c[U+16>>2]=c[P+16>>2];c[U+20>>2]=c[P+20>>2];c[U+24>>2]=c[P+24>>2];c[U+28>>2]=c[P+28>>2];eO(e,o,1,U,ug(k)|0);K=U+56+((c[D>>2]|0)+-1<<5)|0;x=c[x>>2]|0;m=+h[x+24>>3]-+h[(c[(c[H>>2]|0)+196>>2]|0)+(c[x+232>>2]<<6)+16>>3];c[T>>2]=c[K>>2];c[T+4>>2]=c[K+4>>2];c[T+8>>2]=c[K+8>>2];c[T+12>>2]=c[K+12>>2];c[T+16>>2]=c[K+16>>2];c[T+20>>2]=c[K+20>>2];c[T+24>>2]=c[K+24>>2];c[T+28>>2]=c[K+28>>2];vg(W,T,1,m);if(+h[W>>3]<+h[C>>3]?+h[G>>3]<+h[F>>3]:0){K=c[D>>2]|0;c[D>>2]=K+1;K=U+56+(K<<5)|0;c[K>>2]=c[W>>2];c[K+4>>2]=c[W+4>>2];c[K+8>>2]=c[W+8>>2];c[K+12>>2]=c[W+12>>2];c[K+16>>2]=c[W+16>>2];c[K+20>>2]=c[W+20>>2];c[K+24>>2]=c[W+24>>2];c[K+28>>2]=c[W+28>>2]}h[j>>3]=-1.5707963267948966;a[B>>0]=1;K=o;o=p}s=v+-48|0;wg(Q,d,b,c[(c[k>>2]|0)+232>>2]|0);c[o>>2]=c[Q>>2];c[o+4>>2]=c[Q+4>>2];c[o+8>>2]=c[Q+8>>2];c[o+12>>2]=c[Q+12>>2];c[o+16>>2]=c[Q+16>>2];c[o+20>>2]=c[Q+20>>2];c[o+24>>2]=c[Q+24>>2];c[o+28>>2]=c[Q+28>>2];tg(R,b,d,t,v,0);c[V>>2]=c[R>>2];c[V+4>>2]=c[R+4>>2];c[V+8>>2]=c[R+8>>2];c[V+12>>2]=c[R+12>>2];c[V+16>>2]=c[R+16>>2];c[V+20>>2]=c[R+20>>2];c[V+24>>2]=c[R+24>>2];c[V+28>>2]=c[R+28>>2];c[W>>2]=c[R>>2];c[W+4>>2]=c[R+4>>2];c[W+8>>2]=c[R+8>>2];c[W+12>>2]=c[R+12>>2];c[W+16>>2]=c[R+16>>2];c[W+20>>2]=c[R+20>>2];c[W+24>>2]=c[R+24>>2];c[W+28>>2]=c[R+28>>2];r=(n|0)!=0;hO(e,r?Z:v,1,V,ug(c[((c[v>>2]&3|0)==2?v:s)+40>>2]|0)|0);R=(c[E>>2]|0)+-1|0;h[F>>3]=+h[V+56+(R<<5)+24>>3];h[G>>3]=+h[V+56+(R<<5)+8>>3];R=c[x+16>>2]|0;m=+h[R+24>>3]+ +h[(c[(c[H>>2]|0)+196>>2]|0)+(c[R+232>>2]<<6)+24>>3];c[T>>2]=c[W>>2];c[T+4>>2]=c[W+4>>2];c[T+8>>2]=c[W+8>>2];c[T+12>>2]=c[W+12>>2];c[T+16>>2]=c[W+16>>2];c[T+20>>2]=c[W+20>>2];c[T+24>>2]=c[W+24>>2];c[T+28>>2]=c[W+28>>2];vg(X,T,4,m);c[W>>2]=c[X>>2];c[W+4>>2]=c[X+4>>2];c[W+8>>2]=c[X+8>>2];c[W+12>>2]=c[X+12>>2];c[W+16>>2]=c[X+16>>2];c[W+20>>2]=c[X+20>>2];c[W+24>>2]=c[X+24>>2];c[W+28>>2]=c[X+28>>2];if(+h[W>>3]<+h[C>>3]?+h[G>>3]<+h[F>>3]:0){X=c[E>>2]|0;c[E>>2]=X+1;X=V+56+(X<<5)|0;c[X>>2]=c[W>>2];c[X+4>>2]=c[W+4>>2];c[X+8>>2]=c[W+8>>2];c[X+12>>2]=c[W+12>>2];c[X+16>>2]=c[W+16>>2];c[X+20>>2]=c[W+20>>2];c[X+24>>2]=c[W+24>>2];c[X+28>>2]=c[W+28>>2]}yg(e,K,v,U,V,u);if(I)q=FM(e,Y)|0;else q=LM(e,Y)|0;k=c[Y>>2]|0;if(!(J&(k|0)>4)){if(!k)break}else{X=q+32|0;k=q+(k+-1<<4)|0;W=q+16|0;c[W>>2]=c[q>>2];c[W+4>>2]=c[q+4>>2];c[W+8>>2]=c[q+8>>2];c[W+12>>2]=c[q+12>>2];c[X>>2]=c[k>>2];c[X+4>>2]=c[k+4>>2];c[X+8>>2]=c[k+8>>2];c[X+12>>2]=c[k+12>>2];I6(q+48|0,k|0,16)|0;c[Y>>2]=4;k=4}o=c[_>>2]|0;n=o+k|0;if((n|0)>(c[46778]|0)){c[46778]=n<<1;p=KK(c[46776]|0,n<<5)|0;c[46776]=p;k=c[Y>>2]|0}else p=c[46776]|0;n=0;while(1){if((n|0)>=(k|0))break;Y=p+(o<<4)|0;X=q+(n<<4)|0;c[Y>>2]=c[X>>2];c[Y+4>>2]=c[X+4>>2];c[Y+8>>2]=c[X+8>>2];c[Y+12>>2]=c[X+12>>2];n=n+1|0;o=o+1|0}c[_>>2]=o;Ag(K,e);if(r)k=(c[Z>>2]&3|0)==2?Z:$;else k=(c[v>>2]&3|0)==2?v:s;c[aa>>2]=c[k+40>>2];v=o;L=63}while(0);c:do if((L|0)==63){if((i|0)==1){bO(w,c[aa>>2]|0,c[46776]|0,v,17336);break}t=d+12|0;u=v+-1|0;m=+((S(c[t>>2]|0,i+-1|0)|0)/2|0|0);n=c[46776]|0;k=1;while(1){if((k|0)>=(u|0))break;d=n+(k<<4)|0;h[d>>3]=+h[d>>3]-m;k=k+1|0}k=c[46778]|0;if((k|0)>(c[46779]|0)){c[46779]=k;o=KK(c[46777]|0,k<<4)|0;c[46777]=o;n=c[46776]|0}else o=c[46777]|0;k=0;while(1){if((k|0)>=(v|0))break;d=o+(k<<4)|0;$=n+(k<<4)|0;c[d>>2]=c[$>>2];c[d+4>>2]=c[$+4>>2];c[d+8>>2]=c[$+8>>2];c[d+12>>2]=c[$+12>>2];k=k+1|0}bO(w,c[aa>>2]|0,o,v,17336);r=ba+48|0;s=ba+-48|0;q=1;while(1){if((q|0)>=(i|0))break c;o=c[f+(q+g<<2)>>2]|0;p=o+16|0;k=c[p>>2]|0;if(c[k+164>>2]&32){n=c[ca>>2]|0;B6(n|0,k|0,176)|0;y=ba;z=o;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));c[ca>>2]=n;y=c[ba>>2]&3;c[((y|0)==3?ba:r)+40>>2]=c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2];c[((y|0)==2?ba:s)+40>>2]=c[((c[o>>2]&3|0)==3?o:o+48|0)+40>>2];y=n+16|0;z=(c[p>>2]|0)+56|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));k=c[ca>>2]|0;y=k+56|0;z=(c[p>>2]|0)+16|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));a[k+112>>0]=1;c[k+116>>2]=o;o=ba}p=c[46776]|0;k=1;while(1){if((k|0)>=(u|0))break;aa=p+(k<<4)|0;h[aa>>3]=+(c[t>>2]|0)+ +h[aa>>3];k=k+1|0}n=c[46777]|0;k=0;while(1){if((k|0)>=(v|0))break;aa=n+(k<<4)|0;d=p+(k<<4)|0;c[aa>>2]=c[d>>2];c[aa+4>>2]=c[d+4>>2];c[aa+8>>2]=c[d+8>>2];c[aa+12>>2]=c[d+12>>2];k=k+1|0}bO(o,c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0,n,v,17336);q=q+1|0}}while(0);l=da;return}function pg(a){a=a|0;var b=0,d=0,e=0;b=gC(a)|0;while(1){if(!b)break;d=UA(a,b)|0;while(1){if(!d)break;if((pb[c[4334]&63](d)|0)<<24>>24?(e=c[(c[d+16>>2]|0)+8>>2]|0,e|0):0)qg(e);d=WA(a,d)|0}b=hC(a,b)|0}return}function qg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[a+4>>2]|0;g=IK(f*48|0)|0;b=g;d=0;e=(c[a>>2]|0)+((f+-1|0)*48|0)|0;while(1){if((d|0)>=(f|0)){b=0;break}rg(e,b);b=b+48|0;d=d+1|0;e=e+-48|0}while(1){d=c[a>>2]|0;if((b|0)>=(f|0))break;l6(c[d+(b*48|0)>>2]|0);b=b+1|0}l6(d);c[a>>2]=g;return}function rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;h=IK(g<<4)|0;d=h;e=0;f=(c[a>>2]|0)+(g+-1<<4)|0;while(1){if((e|0)>=(g|0))break;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];d=d+16|0;e=e+1|0;f=f+-16|0}c[b>>2]=h;c[b+4>>2]=g;c[b+8>>2]=c[a+12>>2];c[b+12>>2]=c[a+8>>2];h=b+16|0;g=a+32|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];h=b+32|0;g=a+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];return}function sg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=l;l=l+96|0;r=y+80|0;t=y+64|0;s=y+48|0;v=y+32|0;w=y+16|0;x=y;n=d;while(1){u=n+16|0;g=c[u>>2]|0;if(!(a[g+112>>0]|0))break;n=c[g+116>>2]|0}g=c[n>>2]&3;q=c[((g|0)==2?n:n+-48|0)+40>>2]|0;g=c[((g|0)==3?n:n+48|0)+40>>2]|0;n=q+16|0;o=g+16|0;z=(c[(c[n>>2]|0)+232>>2]|0)-(c[(c[o>>2]|0)+232>>2]|0)|0;switch(((z|0)>-1?z:0-z|0)|0){case 1:{g=0;break}case 2:{if(!(a[(c[(c[b+60>>2]|0)+16>>2]|0)+113>>0]&1))p=6;else g=0;break}default:p=6}do if((p|0)==6){if((c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)==(g|0)){c[f>>2]=q;z=(c[o>>2]|0)+16|0;p=(c[u>>2]|0)+16|0;c[t>>2]=c[z>>2];c[t+4>>2]=c[z+4>>2];c[t+8>>2]=c[z+8>>2];c[t+12>>2]=c[z+12>>2];c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];Kg(v,t,r);p=(c[n>>2]|0)+16|0;z=(c[u>>2]|0)+56|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[r>>2]=c[z>>2];c[r+4>>2]=c[z+4>>2];c[r+8>>2]=c[z+8>>2];c[r+12>>2]=c[z+12>>2];Kg(w,t,r)}else{c[f>>2]=g;z=(c[n>>2]|0)+16|0;p=(c[u>>2]|0)+56|0;c[t>>2]=c[z>>2];c[t+4>>2]=c[z+4>>2];c[t+8>>2]=c[z+8>>2];c[t+12>>2]=c[z+12>>2];c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];Kg(v,t,r);p=(c[o>>2]|0)+16|0;z=(c[u>>2]|0)+16|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[r>>2]=c[z>>2];c[r+4>>2]=c[z+4>>2];c[r+8>>2]=c[z+8>>2];c[r+12>>2]=c[z+12>>2];Kg(w,t,r)}g=c[(c[u>>2]|0)+96>>2]|0;n=e+16|0;o=e+32|0;b=e+48|0;if(!g){c[e>>2]=c[v>>2];c[e+4>>2]=c[v+4>>2];c[e+8>>2]=c[v+8>>2];c[e+12>>2]=c[v+12>>2];c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];c[o>>2]=c[w>>2];c[o+4>>2]=c[w+4>>2];c[o+8>>2]=c[w+8>>2];c[o+12>>2]=c[w+12>>2];c[b>>2]=c[w>>2];c[b+4>>2]=c[w+4>>2];c[b+8>>2]=c[w+8>>2];c[b+12>>2]=c[w+12>>2];g=4;break}k=+h[g+24>>3];m=+h[g+32>>3];q=(c[(c[(uC(q)|0)+16>>2]|0)+116>>2]&1|0)==0;z=(c[(c[u>>2]|0)+96>>2]|0)+56|0;c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[r>>2]=c[z>>2];c[r+4>>2]=c[z+4>>2];c[r+8>>2]=c[z+8>>2];c[r+12>>2]=c[z+12>>2];z=(Lg(s,t,r)|0)==0;i=(q?k:m)*.5;j=+h[x>>3];g=x+8|0;k=(q?m:k)*.5;m=+h[g>>3];if(z){h[x>>3]=j-i;i=k+m}else{h[x>>3]=i+j;i=m-k}h[g>>3]=i;c[e>>2]=c[v>>2];c[e+4>>2]=c[v+4>>2];c[e+8>>2]=c[v+8>>2];c[e+12>>2]=c[v+12>>2];c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];g=e+64|0;c[g>>2]=c[x>>2];c[g+4>>2]=c[x+4>>2];c[g+8>>2]=c[x+8>>2];c[g+12>>2]=c[x+12>>2];c[b>>2]=c[x>>2];c[b+4>>2]=c[x+4>>2];c[b+8>>2]=c[x+8>>2];c[b+12>>2]=c[x+12>>2];c[o>>2]=c[x>>2];c[o+4>>2]=c[x+4>>2];c[o+8>>2]=c[x+8>>2];c[o+12>>2]=c[x+12>>2];g=e+80|0;z=e+96|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2];g=7}while(0);l=y;return g|0}function tg(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0,l=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0;s=c[f+16>>2]|0;q=+h[s+16>>3];m=q-+h[s+88>>3]+-4.0;k=Gg(d,f,g,i,-1)|0;p=e+8|0;r=d+16|0;if(!k){n=~~(m+(m>=0.0?.5:-.5));k=c[e>>2]|0;k=(n|0)<(k|0)?n:k}else{l=Hg(d,f,k)|0;do if(!l){n=c[k+16>>2]|0;j=+h[n+16>>3]+ +h[n+240>>3];if(!(a[n+156>>0]|0)){j=j+ +(c[(c[r>>2]|0)+248>>2]|0)*.5;break}else{j=j+ +(c[p>>2]|0);break}}else j=+h[(c[l+16>>2]|0)+32>>3]+ +(c[p>>2]|0);while(0);o=j=0.0?.5:-.5))}o=+(k|0);n=(a[s+156>>0]|0)==1;if(n?(c[s+104>>2]|0)!=0:0)m=q+10.0;else m=q+ +h[s+96>>3]+4.0;l=Gg(d,f,g,i,1)|0;if(!l){p=~~(m+(m>=0.0?.5:-.5));k=c[e+4>>2]|0;k=(p|0)>(k|0)?p:k}else{k=Hg(d,f,l)|0;do if(!k){f=c[l+16>>2]|0;j=+h[f+16>>3]-+h[f+88>>3];if(!(a[f+156>>0]|0)){j=j-+(c[(c[r>>2]|0)+248>>2]|0)*.5;break}else{j=j-+(c[p>>2]|0);break}}else j=+h[(c[k+16>>2]|0)+16>>3]-+(c[p>>2]|0);while(0);m=j>m?j:m;k=~~(m+(m>=0.0?.5:-.5))}j=+(k|0);if(n?(c[s+104>>2]|0)!=0:0){j=j-+h[s+96>>3];if(j>3];r=c[(c[r>>2]|0)+196>>2]|0;s=c[s+232>>2]|0;m=q-+h[r+(s<<6)+16>>3];q=q+ +h[r+(s<<6)+24>>3];h[b>>3]=o;h[b+8>>3]=m;h[b+16>>3]=j;h[b+24>>3]=q;return}function ug(b){b=b|0;b=c[b+16>>2]|0;if((a[b+156>>0]|0)==1)if((c[b+176>>2]|0)>1)b=1;else b=(c[b+184>>2]|0)>1&1;else b=0;return b|0}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0,i=0;i=l;l=l+32|0;f=i;g=b+16|0;switch(d|0){case 1:{Fg(f,+h[b>>3],e,+h[g>>3],+h[b+8>>3]);break}case 4:{Fg(f,+h[b>>3],+h[b+24>>3],+h[g>>3],e);break}default:{}}c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];c[a+16>>2]=c[f+16>>2];c[a+20>>2]=c[f+20>>2];c[a+24>>2]=c[f+24>>2];c[a+28>>2]=c[f+28>>2];l=i;return}function wg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0;l=c[b+16>>2]|0;k=l+(e<<5)|0;j=+h[k>>3];m=l+(e<<5)+8|0;g=+h[m>>3];n=l+(e<<5)+16|0;f=+h[n>>3];l=l+(e<<5)+24|0;i=+h[l>>3];if(j==f){d=c[(c[d+16>>2]|0)+196>>2]|0;o=e+1|0;j=+(c[b>>2]|0);g=+h[(c[(c[c[d+(o<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +h[d+(o<<6)+24>>3];f=+(c[b+4>>2]|0);i=+h[(c[(c[c[d+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[d+(e<<6)+16>>3];h[k>>3]=j;h[m>>3]=g;h[n>>3]=f;h[l>>3]=i}h[a>>3]=j;h[a+8>>3]=g;h[a+16>>3]=f;h[a+24>>3]=i;return}function xg(b){b=b|0;var d=0,e=0;b=c[b+16>>2]|0;e=b+16|0;d=0;while(1){b=c[c[b+180>>2]>>2]|0;b=c[(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0;if((a[b+156>>0]|0)!=1)break;if((c[b+184>>2]|0)!=1)break;if((c[b+176>>2]|0)!=1)break;if(+h[b+16>>3]!=+h[e>>3])break;d=d+1|0}return d|0}function yg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k;h=Cg(b,-1)|0;b=Cg(b,1)|0;if(!((h|0)!=0?!(sO(h)|0):0))i=3;do if((i|0)==3){if(b|0?(sO(b)|0)==0:0)break;h=Dg(d,-1)|0;b=Dg(d,1)|0;if(h|0?(sO(h)|0)==0:0)break;if(b|0?(sO(b)|0)==0:0)break;h=e+52|0;b=0;while(1){if((b|0)>=(c[h>>2]|0))break;d=e+56+(b<<5)|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[j+16>>2]=c[d+16>>2];c[j+20>>2]=c[d+20>>2];c[j+24>>2]=c[d+24>>2];c[j+28>>2]=c[d+28>>2];dO(a,j);b=b+1|0}h=c[a+80>>2]|0;i=g+-3|0;b=0;while(1){if((b|0)>=(g|0))break;e=153872+(b<<5)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[j+16>>2]=c[e+16>>2];c[j+20>>2]=c[e+20>>2];c[j+24>>2]=c[e+24>>2];c[j+28>>2]=c[e+28>>2];dO(a,j);b=b+1|0}d=h+1|0;i=i+d|0;h=c[f+52>>2]|0;while(1){b=h+-1|0;if((h|0)<=0)break;h=f+56+(b<<5)|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];c[j+16>>2]=c[h+16>>2];c[j+20>>2]=c[h+20>>2];c[j+24>>2]=c[h+24>>2];c[j+28>>2]=c[h+28>>2];dO(a,j);h=b}Eg(a,d,i)}while(0);l=k;return}function zg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[e>>2]|0;while(1){if(!b)break;a=c[c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0;b=b+-1|0}c[e>>2]=f+1;g=d+(f<<4)|0;b=d+(f+-1<<4)|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];f=c[e>>2]|0;c[e>>2]=f+1;f=d+(f<<4)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];f=d+(c[e>>2]<<4)|0;e=(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+16|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];return a|0}function Ag(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0;n=d+80|0;m=d+84|0;e=0;d=b;a:while(1){k=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;l=k+16|0;if((a[(c[l>>2]|0)+156>>0]|0)!=1)break;if((pb[c[17340>>2]&63](k)|0)<<24>>24)break;d=c[n>>2]|0;while(1){if((e|0)>=(d|0))break a;b=c[m>>2]|0;j=c[l>>2]|0;f=+h[j+24>>3];if(!(+h[b+(e<<5)+8>>3]>f))break;e=e+1|0}do if(!(+h[b+(e<<5)+24>>3]>3];i=~~g;f=+h[b+(e<<5)+16>>3];d=~~f;if(!(c[j+104>>2]|0)){Bg(k,i,~~((g+f)*.5),d);break}else{Bg(k,i,d,~~(f+ +h[j+96>>3]));break}}while(0);d=c[c[(c[l>>2]|0)+180>>2]>>2]|0}return}function Bg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+16>>2]|0;h[a+16>>3]=+(d|0);h[a+88>>3]=+(d-b|0);h[a+96>>3]=+(e-d|0);return}function Cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=c[(c[(c[((h|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180>>2]|0;h=((h|0)==2?a:a+-48|0)+40|0;g=0;a=0;while(1){e=c[i+(g<<2)>>2]|0;if(!e)break;f=c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do if((S(f-(c[(c[(c[h>>2]|0)+16>>2]|0)+236>>2]|0)|0,b)|0)>=1){d=c[e+16>>2]|0;if(!(c[d+8>>2]|0)){d=c[d+116>>2]|0;if(!d)break;if(!(c[(c[d+16>>2]|0)+8>>2]|0))break}if(a|0?(S((c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,b)|0)<=0:0)break;a=e}while(0);g=g+1|0}return a|0}function Dg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=c[(c[(c[((h|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172>>2]|0;h=((h|0)==3?a:a+48|0)+40|0;g=0;a=0;while(1){e=c[i+(g<<2)>>2]|0;if(!e)break;f=c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do if((S(f-(c[(c[(c[h>>2]|0)+16>>2]|0)+236>>2]|0)|0,b)|0)>=1){d=c[e+16>>2]|0;if(!(c[d+8>>2]|0)){d=c[d+116>>2]|0;if(!d)break;if(!(c[(c[d+16>>2]|0)+8>>2]|0))break}if(a|0?(S((c[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,b)|0)<=0:0)break;a=e}while(0);g=g+1|0}return a|0}function Eg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0;p=a+84|0;f=b+-1|0;while(1){if((f|0)>(d|0))break;i=c[p>>2]|0;g=i+(f<<5)|0;e=+h[g>>3];i=i+(f<<5)+16|0;j=+h[i>>3];o=~~((e+j)*.5);k=+(o+-8|0);l=+(o+8|0);if(!(f-b&1)){if(e>=j){h[g>>3]=k;h[i>>3]=l}}else if(e+16.0>j){h[g>>3]=k;h[i>>3]=l}f=f+1|0}o=(c[a+80>>2]|0)+-1|0;f=0;while(1){if((f|0)>=(o|0))break;g=c[p>>2]|0;n=f+1|0;i=g+(n<<5)|0;m=g+(f<<5)+16|0;a=g+(n<<5)+16|0;g=g+(f<<5)|0;if(!((f|0)<(b|0)|(f|0)>(d|0))?(f-b&1|0)==0:0){e=+h[g>>3]+16.0;if(e>+h[a>>3])h[a>>3]=e;e=+h[m>>3]+-16.0;if(!(e<+h[i>>3])){f=n;continue}h[i>>3]=e;f=n;continue}if(!((f|0)<(d|0)&(n|0)>=(b|0))){f=n;continue}if(n-b&1|0){f=n;continue}e=+h[a>>3];if(+h[g>>3]+16.0>e)h[g>>3]=e+-16.0;e=+h[i>>3];if(!(+h[m>>3]+-16.0>3]=e+16.0;f=n}return}function Fg(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function Gg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=c[(c[b+16>>2]|0)+196>>2]|0;h=c[d+16>>2]|0;j=c[h+232>>2]|0;i=k+(j<<6)|0;j=k+(j<<6)+4|0;h=c[h+236>>2]|0;a:do{h=h+g|0;if((h|0)<=-1){b=0;break}if((h|0)>=(c[i>>2]|0)){b=0;break}b=c[(c[j>>2]|0)+(h<<2)>>2]|0;k=c[b+16>>2]|0;switch(a[k+156>>0]|0){case 0:break a;case 1:{if(c[k+104>>2]|0)break a;break}default:{}}}while((Jg(b,d,e,f)|0)<<24>>24!=0);return b|0}function Hg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;d=c[d+16>>2]|0;if(!(a[d+156>>0]|0)){i=c[d+212>>2]|0;h=i}else{i=c[(c[(c[c[d+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;g=c[i>>2]&3;h=c[(c[(c[((g|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;i=c[(c[(c[((g|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0}d=c[e+16>>2]|0;if(!(a[d+156>>0]|0)){e=c[d+212>>2]|0;e=(e|0)==(b|0)?0:e;return ((e|0)==(h|0)|((e|0)==0|(e|0)==(i|0))?0:e)|0}f=c[(c[(c[c[d+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;g=c[f>>2]&3;d=c[(c[(c[((g|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;d=(d|0)==(b|0)?0:d;if(!(!((d|0)==(h|0)|((d|0)==0|(d|0)==(i|0)))?(Ig(d,e)|0)!=0:0)){d=c[(c[(c[((g|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;d=(d|0)==(b|0)?0:d;if((d|0)==(h|0)|((d|0)==0|(d|0)==(i|0)))d=0;else{e=(Ig(d,e)|0)==0;return (e?0:d)|0}}return d|0}function Ig(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0;d=c[a+16>>2]|0;a=c[b+16>>2]|0;f=+h[a+16>>3];if((+h[d+16>>3]<=f?f<=+h[d+32>>3]:0)?(e=+h[a+24>>3],+h[d+24>>3]<=e):0)a=e<=+h[d+40>>3];else a=0;return a&1|0}function Jg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=c[b+16>>2]|0;j=(c[i+236>>2]|0)>(c[(c[d+16>>2]|0)+236>>2]|0);a:do if((c[i+184>>2]|0)==1){b:do if(f|0){h=0;b=c[c[i+180>>2]>>2]|0;while(1){if((h|0)>=2)break b;b=c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0;d=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((b|0)==(d|0))break b;g=c[b+16>>2]|0;b=c[d+16>>2]|0;if(j^(c[g+236>>2]|0)>(c[b+236>>2]|0)){b=1;break a}if((c[g+184>>2]|0)!=1)break b;if(!(a[g+156>>0]|0))break b;if((c[b+184>>2]|0)!=1)break b;if(!(a[b+156>>0]|0))break b;h=h+1|0;f=c[c[b+180>>2]>>2]|0;b=c[c[g+180>>2]>>2]|0}}while(0);if(e|0?(c[i+176>>2]|0)==1:0){g=0;d=e;b=c[c[i+172>>2]>>2]|0;while(1){if((g|0)>=2){b=0;break a}b=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;d=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((b|0)==(d|0)){b=0;break a}f=c[b+16>>2]|0;b=c[d+16>>2]|0;if(j^(c[f+236>>2]|0)>(c[b+236>>2]|0)){b=1;break a}if((c[f+176>>2]|0)!=1){b=0;break a}if(!(a[f+156>>0]|0)){b=0;break a}if((c[b+176>>2]|0)!=1){b=0;break a}if(!(a[b+156>>0]|0)){b=0;break a}g=g+1|0;d=c[c[b+172>>2]>>2]|0;b=c[c[f+172>>2]>>2]|0}}else b=0}else b=0;while(0);return b|0}function Kg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]+ +h[c+8>>3];h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=d;return}function Lg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[b+8>>3];d=+h[b>>3];return (~~((+h[a+8>>3]-e)*(+h[c>>3]-d)-(+h[c+8>>3]-e)*(+h[a>>3]-d))|0)>0|0}function Mg(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=l;l=l+256|0;E=S+232|0;D=S+216|0;Q=S+88|0;P=S+80|0;L=S+64|0;M=S+200|0;N=S+184|0;O=S;F=S+168|0;G=S+152|0;H=S+136|0;I=S+120|0;J=S+104|0;C=c[g>>2]&3;K=c[((C|0)==3?g:g+48|0)+40>>2]|0;C=c[((C|0)==2?g:g+-48|0)+40>>2]|0;do if((UM(K)|0)!=2?(UM(C)|0)!=2:0){g=0;j=0;m=0;while(1){if((m|0)>=(f|0))break;B=c[(c[d+(m+e<<2)>>2]|0)+16>>2]|0;g=((c[B+96>>2]|0)!=0&1)+g|0;if(!((a[B+44>>0]|0)==0?(a[B+84>>0]|0)==0:0))j=1;m=m+1|0}if(!j)if(!g){Og(K,C,d,e,f,i);break}else{Tg(K,C,d,e,f,i,g);break}z=HK(156)|0;A=Ug(b,z)|0;w=LD(A,85750,1)|0;RC(w,137786,280,1)|0;PA(w,87443,87457)|0;k=+h[(c[C+16>>2]|0)+16>>3];n=+h[(c[K+16>>2]|0)+16>>3];B=b+16|0;u=(c[(c[B>>2]|0)+116>>2]&1|0)==0;v=u?C:K;u=u?K:C;w=Vg(w,u)|0;x=Vg(A,v)|0;g=0;t=0;while(1){s=(g|0)!=0;if((t|0)>=(f|0))break;j=d+(t+e<<2)|0;while(1){r=c[j>>2]|0;q=r+16|0;j=c[q>>2]|0;if(!(a[j+112>>0]|0))break;else j=j+116|0}if((c[((c[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0)==(u|0))m=Wg(A,w,x,r)|0;else m=Wg(A,x,w,r)|0;j=c[q>>2]|0;c[j+120>>2]=m;if(!s)if((a[j+44>>0]|0)==0?(a[j+84>>0]|0)==0:0){c[(c[m+16>>2]|0)+120>>2]=r;g=m}else g=0;t=t+1|0}if(s)y=g;else y=fB(A,w,x,0,1)|0;HA(y,c[47236]|0,85754)|0;g=A+16|0;r=c[g>>2]|0;c[r+144>>2]=c[(c[B>>2]|0)+144>>2];c[r+188>>2]=A;mQ(A,i);Lf(A);uj(A,0);Eh(A,0);Hi(A,0);r=u+16|0;u=c[r>>2]|0;i=c[v+16>>2]|0;s=w+16|0;p=+(~~((+h[(c[s>>2]|0)+16>>3]+ +h[(c[x+16>>2]|0)+16>>3])*.5)|0);o=+(~~k|0);k=+(~~n|0);n=+(~~((+h[u+16>>3]-+h[u+96>>3]+ +h[i+16>>3]+ +h[i+88>>3])*.5)|0);g=(c[g>>2]|0)+192|0;while(1){g=c[g>>2]|0;if(!g)break;j=c[g+16>>2]|0;m=j+16|0;q=j+24|0;do if((g|0)!=(w|0))if((g|0)==(x|0)){h[q>>3]=k;h[m>>3]=p;break}else{h[q>>3]=n;break}else{h[q>>3]=o;h[m>>3]=p}while(0);g=j+164|0}ok(A);gg(A,0);rM(A);w=c[r>>2]|0;p=+h[w+16>>3];x=c[s>>2]|0;k=+h[w+24>>3];n=+h[x+16>>3];o=+h[x+24>>3];if(!(c[(c[B>>2]|0)+116>>2]&1)){h[L>>3]=p-n;k=k-o}else{h[L>>3]=p-o;k=k+n}h[L+8>>3]=k;v=O+16|0;i=O+32|0;w=O+48|0;u=0;while(1){if((u|0)>=(f|0))break;g=d+(u+e<<2)|0;while(1){j=c[g>>2]|0;t=j+16|0;g=c[t>>2]|0;if(!(a[g+112>>0]|0))break;else g=g+116|0}x=c[g+120>>2]|0;s=x+16|0;g=c[s>>2]|0;if(!((x|0)==(y|0)&(c[g+120>>2]|0)==0)){q=c[c[g+8>>2]>>2]|0;r=q+4|0;j=aO(j,c[r>>2]|0)|0;c[j+8>>2]=c[q+8>>2];g=j+16|0;x=q+16|0;m=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[x>>2];c[D+4>>2]=c[x+4>>2];c[D+8>>2]=c[x+8>>2];c[D+12>>2]=c[x+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(M,D,E,m);c[g>>2]=c[M>>2];c[g+4>>2]=c[M+4>>2];c[g+8>>2]=c[M+8>>2];c[g+12>>2]=c[M+12>>2];c[j+12>>2]=c[q+12>>2];g=j+32|0;m=q+32|0;x=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[m>>2];c[D+4>>2]=c[m+4>>2];c[D+8>>2]=c[m+8>>2];c[D+12>>2]=c[m+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(N,D,E,x);c[g>>2]=c[N>>2];c[g+4>>2]=c[N+4>>2];c[g+8>>2]=c[N+8>>2];c[g+12>>2]=c[N+12>>2];g=0;while(1){if((g|0)>=(c[r>>2]|0))break;m=(c[j>>2]|0)+(g<<4)|0;T=(c[q>>2]|0)+(g<<4)|0;x=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[T>>2];c[D+4>>2]=c[T+4>>2];c[D+8>>2]=c[T+8>>2];c[D+12>>2]=c[T+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(F,D,E,x);c[m>>2]=c[F>>2];c[m+4>>2]=c[F+4>>2];c[m+8>>2]=c[F+8>>2];c[m+12>>2]=c[F+12>>2];c[O>>2]=c[F>>2];c[O+4>>2]=c[F+4>>2];c[O+8>>2]=c[F+8>>2];c[O+12>>2]=c[F+12>>2];m=g+1|0;if((m|0)>=(c[r>>2]|0)){R=48;break}x=(c[j>>2]|0)+(m<<4)|0;m=(c[q>>2]|0)+(m<<4)|0;T=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[m>>2];c[D+4>>2]=c[m+4>>2];c[D+8>>2]=c[m+8>>2];c[D+12>>2]=c[m+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(G,D,E,T);c[x>>2]=c[G>>2];c[x+4>>2]=c[G+4>>2];c[x+8>>2]=c[G+8>>2];c[x+12>>2]=c[G+12>>2];c[v>>2]=c[G>>2];c[v+4>>2]=c[G+4>>2];c[v+8>>2]=c[G+8>>2];c[v+12>>2]=c[G+12>>2];x=g+2|0;T=(c[j>>2]|0)+(x<<4)|0;x=(c[q>>2]|0)+(x<<4)|0;m=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[x>>2];c[D+4>>2]=c[x+4>>2];c[D+8>>2]=c[x+8>>2];c[D+12>>2]=c[x+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(H,D,E,m);c[T>>2]=c[H>>2];c[T+4>>2]=c[H+4>>2];c[T+8>>2]=c[H+8>>2];c[T+12>>2]=c[H+12>>2];c[i>>2]=c[H>>2];c[i+4>>2]=c[H+4>>2];c[i+8>>2]=c[H+8>>2];c[i+12>>2]=c[H+12>>2];T=g+3|0;m=(c[q>>2]|0)+(T<<4)|0;x=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[m>>2];c[D+4>>2]=c[m+4>>2];c[D+8>>2]=c[m+8>>2];c[D+12>>2]=c[m+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(I,D,E,x);c[w>>2]=c[I>>2];c[w+4>>2]=c[I+4>>2];c[w+8>>2]=c[I+8>>2];c[w+12>>2]=c[I+12>>2];jI((c[B>>2]|0)+16|0,O);g=T}if((R|0)==48)R=0;g=c[(c[t>>2]|0)+96>>2]|0;if(g|0){T=g+56|0;s=(c[(c[s>>2]|0)+96>>2]|0)+56|0;x=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[s>>2];c[D+4>>2]=c[s+4>>2];c[D+8>>2]=c[s+8>>2];c[D+12>>2]=c[s+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(J,D,E,x);c[T>>2]=c[J>>2];c[T+4>>2]=c[J+4>>2];c[T+8>>2]=c[J+8>>2];c[T+12>>2]=c[J+12>>2];T=c[(c[t>>2]|0)+96>>2]|0;a[T+81>>0]=1;xP(b,T)}}u=u+1|0}Yg(A,z)}else R=3;while(0);if((R|0)==3?(c[46780]|0)==0:0){c[46780]=1;dA(0,85627,P)|0;P=HB(K)|0;R=(uB(b)|0)!=0;T=HB(C)|0;c[Q>>2]=P;c[Q+4>>2]=R?138041:142050;c[Q+8>>2]=T;dA(3,85733,Q)|0}l=S;return}function Ng(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;z=l;l=l+1600|0;u=z+1552|0;n=z+1536|0;t=z+840|0;v=z+144|0;w=z+1584|0;j=z+32|0;s=z+16|0;o=z;q=c[f>>2]&3;p=c[((q|0)==3?f:f+48|0)+40>>2]|0;x=f+-48|0;q=c[((q|0)==2?f:x)+40>>2]|0;r=f+16|0;k=c[r>>2]|0;i=c[k+172>>2]|0;while(1){m=c[(c[i+16>>2]|0)+172>>2]|0;if(!m)break;else i=m}k=(c[k+96>>2]|0)+56|0;i=(c[((c[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16|0;m=(c[i>>2]|0)+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=c[r>>2]|0;a[(c[k+96>>2]|0)+81>>0]=1;m=c[p+16>>2]|0;if((g|0)!=2){k=c[i>>2]|0;C=+h[k+16>>3];E=C-+h[k+88>>3];C=C+ +h[k+96>>3];B=+h[k+24>>3];D=B+ +h[k+80>>3]*.5;k=c[(c[b+16>>2]|0)+196>>2]|0;j=c[m+232>>2]|0;B=+(~~(+(~~(B-+h[k+(j<<6)+16>>3]-+h[m+24>>3]+ +h[k+(j<<6)+24>>3])|0)/6.0)|0);B=D-(B<5.0?5.0:B);Qg(b,d,e,p,f,t,1);Qg(b,d,e,q,f,v,0);j=t+52|0;k=c[j>>2]|0;m=k+-1|0;A=+h[t+56+(m<<5)>>3];h[19234]=A;h[19235]=+h[t+56+(m<<5)+24>>3];h[19236]=E;h[19237]=B;h[19238]=A;h[19239]=B;m=v+52|0;i=(c[m>>2]|0)+-1|0;A=+h[v+56+(i<<5)+16>>3];h[19240]=A;h[19241]=D;h[19242]=C;h[19245]=B;h[19243]=+h[v+56+(i<<5)+24>>3];h[19244]=A;i=0;while(1){if((i|0)>=(k|0)){i=0;break}k=t+56+(i<<5)|0;c[u>>2]=c[k>>2];c[u+4>>2]=c[k+4>>2];c[u+8>>2]=c[k+8>>2];c[u+12>>2]=c[k+12>>2];c[u+16>>2]=c[k+16>>2];c[u+20>>2]=c[k+20>>2];c[u+24>>2]=c[k+24>>2];c[u+28>>2]=c[k+28>>2];dO(e,u);i=i+1|0;k=c[j>>2]|0}while(1){if((i|0)==3)break;t=153872+(i<<5)|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];dO(e,u);i=i+1|0}j=c[m>>2]|0;while(1){i=j+-1|0;if((j|0)<=0)break;j=v+56+(i<<5)|0;c[u>>2]=c[j>>2];c[u+4>>2]=c[j+4>>2];c[u+8>>2]=c[j+8>>2];c[u+12>>2]=c[j+12>>2];c[u+16>>2]=c[j+16>>2];c[u+20>>2]=c[j+20>>2];c[u+24>>2]=c[j+24>>2];c[u+28>>2]=c[j+28>>2];dO(e,u);j=i}if((g|0)==10)j=FM(e,w)|0;else j=LM(e,w)|0;i=c[w>>2]|0;if(i|0)y=17}else{i=m+16|0;v=k+16|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];Kg(s,n,u);v=(c[q+16>>2]|0)+16|0;i=(c[r>>2]|0)+56|0;c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];c[u>>2]=c[i>>2];c[u+4>>2]=c[i+4>>2];c[u+8>>2]=c[i+8>>2];c[u+12>>2]=c[i+12>>2];Kg(o,n,u);i=c[(c[r>>2]|0)+96>>2]|0;D=+h[i+56>>3];E=+h[i+64>>3]-+h[i+32>>3]*.5;i=j+16|0;c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[j+12>>2]=c[s+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];i=j+32|0;v=j+48|0;y=j+64|0;h[j+64>>3]=D;h[j+72>>3]=E;c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[i>>2]=c[y>>2];c[i+4>>2]=c[y+4>>2];c[i+8>>2]=c[y+8>>2];c[i+12>>2]=c[y+12>>2];i=j+80|0;y=j+96|0;c[y>>2]=c[o>>2];c[y+4>>2]=c[o+4>>2];c[y+8>>2]=c[o+8>>2];c[y+12>>2]=c[o+12>>2];c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];c[w>>2]=7;i=7;y=17}if((y|0)==17)bO(f,c[((c[f>>2]&3|0)==2?f:x)+40>>2]|0,j,i,17336);l=z;return}function Og(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=l;l=l+352|0;z=P+336|0;y=P+320|0;N=P+144|0;u=P+304|0;A=P+128|0;O=P+112|0;G=P+96|0;H=P+80|0;I=P+64|0;J=P+48|0;K=P+32|0;L=P+16|0;M=P;a=a+16|0;s=(c[a>>2]|0)+16|0;x=(c[d+(e<<2)>>2]|0)+16|0;t=(c[x>>2]|0)+16|0;c[y>>2]=c[s>>2];c[y+4>>2]=c[s+4>>2];c[y+8>>2]=c[s+8>>2];c[y+12>>2]=c[s+12>>2];c[z>>2]=c[t>>2];c[z+4>>2]=c[t+4>>2];c[z+8>>2]=c[t+8>>2];c[z+12>>2]=c[t+12>>2];Kg(u,y,z);E=+h[u>>3];F=+h[u+8>>3];u=(c[b+16>>2]|0)+16|0;x=(c[x>>2]|0)+56|0;c[y>>2]=c[u>>2];c[y+4>>2]=c[u+4>>2];c[y+8>>2]=c[u+8>>2];c[y+12>>2]=c[u+12>>2];c[z>>2]=c[x>>2];c[z+4>>2]=c[x+4>>2];c[z+8>>2]=c[x+8>>2];c[z+12>>2]=c[x+12>>2];Kg(A,y,z);C=+h[A>>3];D=+h[A+8>>3];if((f|0)>1){B=+h[(c[a>>2]|0)+80>>3];i=B*.5;B=B/+(f+-1|0)}else{i=0.0;B=0.0}r=(g|8|0)==10;o=N+8|0;s=N+16|0;t=N+48|0;u=N+32|0;v=(E*2.0+C)/3.0;w=(E+C*2.0)/3.0;p=N+24|0;x=N+64|0;y=N+80|0;z=N+96|0;A=N+112|0;m=N+128|0;q=N+136|0;n=N+144|0;i=F-i;b=0;while(1){if((b|0)>=(f|0))break;k=c[d+(b+e<<2)>>2]|0;h[N>>3]=E;h[o>>3]=F;if(r){Sg(O,v,i);c[s>>2]=c[O>>2];c[s+4>>2]=c[O+4>>2];c[s+8>>2]=c[O+8>>2];c[s+12>>2]=c[O+12>>2];Sg(G,w,i);c[u>>2]=c[G>>2];c[u+4>>2]=c[G+4>>2];c[u+8>>2]=c[G+8>>2];c[u+12>>2]=c[G+12>>2];a=4;g=3;j=t}else{h[s>>3]=E;h[p>>3]=F;Sg(H,v,i);c[u>>2]=c[H>>2];c[u+4>>2]=c[H+4>>2];c[u+8>>2]=c[H+8>>2];c[u+12>>2]=c[H+12>>2];Sg(I,v,i);c[t>>2]=c[I>>2];c[t+4>>2]=c[I+4>>2];c[t+8>>2]=c[I+8>>2];c[t+12>>2]=c[I+12>>2];Sg(J,v,i);c[x>>2]=c[J>>2];c[x+4>>2]=c[J+4>>2];c[x+8>>2]=c[J+8>>2];c[x+12>>2]=c[J+12>>2];Sg(K,w,i);c[y>>2]=c[K>>2];c[y+4>>2]=c[K+4>>2];c[y+8>>2]=c[K+8>>2];c[y+12>>2]=c[K+12>>2];Sg(L,w,i);c[z>>2]=c[L>>2];c[z+4>>2]=c[L+4>>2];c[z+8>>2]=c[L+8>>2];c[z+12>>2]=c[L+12>>2];Sg(M,w,i);c[A>>2]=c[M>>2];c[A+4>>2]=c[M+4>>2];c[A+8>>2]=c[M+8>>2];c[A+12>>2]=c[M+12>>2];h[m>>3]=C;h[q>>3]=D;a=10;g=9;j=n}h[j>>3]=C;h[N+(g<<4)+8>>3]=D;bO(k,c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0,N,a,17336);i=B+i;b=b+1|0}l=P;return}function Pg(a,d,e,f,g,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;x=l;l=l+1440|0;t=x+1392|0;v=x+1424|0;w=x+696|0;u=x;r=c[j>>2]&3;q=c[((r|0)==3?j:j+48|0)+40>>2]|0;r=c[((r|0)==2?j:j+-48|0)+40>>2]|0;m=c[q+16>>2]|0;o=c[m+232>>2]|0;p=c[a+16>>2]|0;if((o|0)<(b[p+238>>1]|0)){y=c[p+196>>2]|0;p=o+1|0;n=+h[m+24>>3]-+h[y+(o<<6)+32>>3]-(+h[(c[(c[c[y+(p<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +h[y+(p<<6)+40>>3])}else n=+(c[p+252>>2]|0);z=+(i+1|0);s=+(c[d+12>>2]|0)/z;n=n/z;Rg(a,d,e,q,j,w,1);Rg(a,d,e,r,j,u,0);r=w+52|0;j=u+52|0;a=(k|0)==0;d=e+80|0;m=0;while(1){if((m|0)>=(i|0))break;q=c[f+(m+g<<2)>>2]|0;p=c[r>>2]|0;o=p+-1|0;D=+h[w+56+(o<<5)>>3];B=+h[w+56+(o<<5)+8>>3];C=+h[w+56+(o<<5)+16>>3];h[19234]=D;h[19237]=B;m=m+1|0;z=+(m|0);A=s*z;h[19236]=A+C;z=B-n*z;h[19235]=z;h[19238]=D;h[19241]=z;o=(c[j>>2]|0)+-1|0;D=+h[u+56+(o<<5)+16>>3];h[19240]=D;h[19239]=z-n;B=+h[u+56+(o<<5)>>3];C=+h[u+56+(o<<5)+8>>3];h[19244]=D;h[19245]=C;h[19242]=B-A;h[19243]=z;o=0;while(1){if((o|0)>=(p|0)){o=0;break}p=w+56+(o<<5)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];c[t+20>>2]=c[p+20>>2];c[t+24>>2]=c[p+24>>2];c[t+28>>2]=c[p+28>>2];dO(e,t);o=o+1|0;p=c[r>>2]|0}while(1){if((o|0)==3)break;y=153872+(o<<5)|0;c[t>>2]=c[y>>2];c[t+4>>2]=c[y+4>>2];c[t+8>>2]=c[y+8>>2];c[t+12>>2]=c[y+12>>2];c[t+16>>2]=c[y+16>>2];c[t+20>>2]=c[y+20>>2];c[t+24>>2]=c[y+24>>2];c[t+28>>2]=c[y+28>>2];dO(e,t);o=o+1|0}p=c[j>>2]|0;while(1){o=p+-1|0;if((p|0)<=0)break;p=u+56+(o<<5)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];c[t+20>>2]=c[p+20>>2];c[t+24>>2]=c[p+24>>2];c[t+28>>2]=c[p+28>>2];dO(e,t);p=o}if(a)o=LM(e,v)|0;else o=FM(e,v)|0;p=c[v>>2]|0;if(!p)break;bO(q,c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2]|0,o,p,17336);c[d>>2]=0}l=x;return}function Qg(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+128|0;j=n+96|0;k=n+64|0;o=n+32|0;m=n;tg(o,a,b,e,0,f);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[g+16>>2]=c[o+16>>2];c[g+20>>2]=c[o+20>>2];c[g+24>>2]=c[o+24>>2];c[g+28>>2]=c[o+28>>2];c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];c[k+24>>2]=c[o+24>>2];c[k+28>>2]=c[o+28>>2];c[g+48>>2]=4;if(!(i<<24>>24))hO(d,f,2,g,0);else eO(d,f,2,g,0);b=g+52|0;f=(c[b>>2]|0)+-1|0;o=k+24|0;h[o>>3]=+h[g+56+(f<<5)+24>>3];i=k+8|0;h[i>>3]=+h[g+56+(f<<5)+8>>3];e=c[e+16>>2]|0;p=+h[e+24>>3]+ +h[(c[(c[a+16>>2]|0)+196>>2]|0)+(c[e+232>>2]<<6)+24>>3];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];vg(m,j,4,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[k+16>>2]=c[m+16>>2];c[k+20>>2]=c[m+20>>2];c[k+24>>2]=c[m+24>>2];c[k+28>>2]=c[m+28>>2];if(+h[k>>3]<+h[k+16>>3]?+h[i>>3]<+h[o>>3]:0){o=c[b>>2]|0;c[b>>2]=o+1;o=g+56+(o<<5)|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[o+16>>2]=c[k+16>>2];c[o+20>>2]=c[k+20>>2];c[o+24>>2]=c[k+24>>2];c[o+28>>2]=c[k+28>>2]}l=n;return}function Rg(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+128|0;j=n+96|0;k=n+64|0;o=n+32|0;m=n;tg(o,a,b,e,0,f);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[g+16>>2]=c[o+16>>2];c[g+20>>2]=c[o+20>>2];c[g+24>>2]=c[o+24>>2];c[g+28>>2]=c[o+28>>2];c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];c[k+24>>2]=c[o+24>>2];c[k+28>>2]=c[o+28>>2];c[g+48>>2]=1;if(!(i<<24>>24))hO(d,f,2,g,0);else eO(d,f,2,g,0);b=g+52|0;f=(c[b>>2]|0)+-1|0;o=k+24|0;h[o>>3]=+h[g+56+(f<<5)+24>>3];i=k+8|0;h[i>>3]=+h[g+56+(f<<5)+8>>3];e=c[e+16>>2]|0;p=+h[e+24>>3]-+h[(c[(c[a+16>>2]|0)+196>>2]|0)+(c[e+232>>2]<<6)+24>>3];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];vg(m,j,1,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[k+16>>2]=c[m+16>>2];c[k+20>>2]=c[m+20>>2];c[k+24>>2]=c[m+24>>2];c[k+28>>2]=c[m+28>>2];if(+h[k>>3]<+h[k+16>>3]?+h[i>>3]<+h[o>>3]:0){o=c[b>>2]|0;c[b>>2]=o+1;o=g+56+(o<<5)|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[o+16>>2]=c[k+16>>2];c[o+20>>2]=c[k+20>>2];c[o+24>>2]=c[k+24>>2];c[o+28>>2]=c[k+28>>2]}l=n;return}function Sg(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Tg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=l;l=l+288|0;U=$+256|0;T=$+240|0;S=$+224|0;Y=$+280|0;Z=$+272|0;_=$+32|0;V=$+16|0;W=$;m=$+208|0;n=$+192|0;o=c[e+(f<<2)>>2]|0;X=HK(g<<2)|0;k=0;while(1){if((k|0)>=(g|0))break;c[X+(k<<2)>>2]=c[e+(k+f<<2)>>2];k=k+1|0}k3(X,g,4,59);E=b+16|0;G=(c[E>>2]|0)+16|0;F=o+16|0;K=(c[F>>2]|0)+16|0;c[T>>2]=c[G>>2];c[T+4>>2]=c[G+4>>2];c[T+8>>2]=c[G+8>>2];c[T+12>>2]=c[G+12>>2];c[U>>2]=c[K>>2];c[U+4>>2]=c[K+4>>2];c[U+8>>2]=c[K+8>>2];c[U+12>>2]=c[K+12>>2];Kg(m,T,U);c[V>>2]=c[m>>2];c[V+4>>2]=c[m+4>>2];c[V+8>>2]=c[m+8>>2];c[V+12>>2]=c[m+12>>2];K=d+16|0;G=(c[K>>2]|0)+16|0;F=(c[F>>2]|0)+56|0;c[T>>2]=c[G>>2];c[T+4>>2]=c[G+4>>2];c[T+8>>2]=c[G+8>>2];c[T+12>>2]=c[G+12>>2];c[U>>2]=c[F>>2];c[U+4>>2]=c[F+4>>2];c[U+8>>2]=c[F+8>>2];c[U+12>>2]=c[F+12>>2];Kg(n,T,U);c[W>>2]=c[n>>2];c[W+4>>2]=c[n+4>>2];c[W+8>>2]=c[n+8>>2];c[W+12>>2]=c[n+12>>2];y=+h[V>>3]+ +h[(c[E>>2]|0)+96>>3];z=+h[W>>3]-+h[(c[K>>2]|0)+88>>3];x=(y+z)*.5;K=c[X>>2]|0;c[_>>2]=c[V>>2];c[_+4>>2]=c[V+4>>2];c[_+8>>2]=c[V+8>>2];c[_+12>>2]=c[V+12>>2];E=_+16|0;c[E>>2]=c[V>>2];c[E+4>>2]=c[V+4>>2];c[E+8>>2]=c[V+8>>2];c[E+12>>2]=c[V+12>>2];F=_+32|0;c[F>>2]=c[W>>2];c[F+4>>2]=c[W+4>>2];c[F+8>>2]=c[W+8>>2];c[F+12>>2]=c[W+12>>2];G=_+48|0;c[G>>2]=c[W>>2];c[G+4>>2]=c[W+4>>2];c[G+8>>2]=c[W+8>>2];c[G+12>>2]=c[W+12>>2];bO(K,c[((c[K>>2]&3|0)==2?K:K+-48|0)+40>>2]|0,_,4,17336);K=c[(c[K+16>>2]|0)+96>>2]|0;h[K+56>>3]=x;H=V+8|0;v=+h[H>>3];w=+h[K+32>>3];h[K+64>>3]=v+(w+6.0)*.5;a[K+81>>0]=1;v=v+3.0;J=+h[K+24>>3]*.5;I=x-J;J=x+J;K=W+8|0;L=_+72|0;M=_+40|0;N=_+120|0;O=_+64|0;P=Y+4|0;Q=_+56|0;R=_+24|0;o=(i|0)==6&1;e=_+104|0;f=_+96|0;i=_+80|0;C=_+88|0;D=_+112|0;t=0.0;s=0.0;w=v+w;m=1;while(1){if((m|0)>=(j|0)){B=6;break}d=c[X+(m<<2)>>2]|0;p=+h[V>>3];q=+h[K>>3];r=+h[W>>3];u=+h[H>>3];n=d+16|0;if(!(m&1)){c[_>>2]=c[V>>2];c[_+4>>2]=c[V+4>>2];c[_+8>>2]=c[V+8>>2];c[_+12>>2]=c[V+12>>2];h[E>>3]=I;h[R>>3]=u;h[F>>3]=I;h[M>>3]=w;h[G>>3]=J;h[Q>>3]=w;h[O>>3]=J;h[L>>3]=q;h[i>>3]=r;h[C>>3]=q;h[f>>3]=r;A=w+6.0;h[e>>3]=A;h[D>>3]=p;h[N>>3]=A;A=+h[(c[(c[n>>2]|0)+96>>2]|0)+32>>3];p=w+A*.5+6.0;w=w+(A+6.0)}else{k=c[(c[n>>2]|0)+96>>2]|0;if((m|0)==1){s=+h[k+24>>3]*.5;t=x+s;s=x-s}v=v-(+h[k+32>>3]+6.0);c[_>>2]=c[V>>2];c[_+4>>2]=c[V+4>>2];c[_+8>>2]=c[V+8>>2];c[_+12>>2]=c[V+12>>2];h[E>>3]=p;p=v+-6.0;h[R>>3]=p;h[F>>3]=r;h[M>>3]=p;c[G>>2]=c[W>>2];c[G+4>>2]=c[W+4>>2];c[G+8>>2]=c[W+8>>2];c[G+12>>2]=c[W+12>>2];h[O>>3]=t;h[L>>3]=q;h[i>>3]=t;h[C>>3]=v;h[f>>3]=s;h[e>>3]=v;h[D>>3]=s;h[N>>3]=u;p=v+ +h[(c[(c[n>>2]|0)+96>>2]|0)+32>>3]*.5}c[P>>2]=8;c[Y>>2]=_;c[S>>2]=c[V>>2];c[S+4>>2]=c[V+4>>2];c[S+8>>2]=c[V+8>>2];c[S+12>>2]=c[V+12>>2];c[T>>2]=c[W>>2];c[T+4>>2]=c[W+4>>2];c[T+8>>2]=c[W+8>>2];c[T+12>>2]=c[W+12>>2];c[U>>2]=c[Y>>2];c[U+4>>2]=c[Y+4>>2];k=BM(S,T,U,Z,o)|0;b=c[Z>>2]|0;if(!b)break;n=c[(c[n>>2]|0)+96>>2]|0;h[n+56>>3]=x;h[n+64>>3]=p;a[n+81>>0]=1;bO(d,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,k,b,17336);m=m+1|0}a:do if((B|0)==6){A=(y*2.0+z)/3.0;x=(y+z*2.0)/3.0;while(1){if((m|0)>=(g|0))break;d=c[X+(m<<2)>>2]|0;p=+h[V>>3];q=+h[K>>3];r=+h[W>>3];u=+h[H>>3];if(!(m&1)){c[_>>2]=c[V>>2];c[_+4>>2]=c[V+4>>2];c[_+8>>2]=c[V+8>>2];c[_+12>>2]=c[V+12>>2];h[E>>3]=I;h[R>>3]=u;h[F>>3]=I;h[M>>3]=w;h[G>>3]=J;h[Q>>3]=w;h[O>>3]=J;h[L>>3]=q;h[i>>3]=r;h[C>>3]=q;h[f>>3]=r;q=w+6.0;w=q;r=q}else{B=(m|0)==1;y=B?A:s;t=B?x:t;z=v+-6.0;c[_>>2]=c[V>>2];c[_+4>>2]=c[V+4>>2];c[_+8>>2]=c[V+8>>2];c[_+12>>2]=c[V+12>>2];h[E>>3]=p;v=z+-6.0;h[R>>3]=v;h[F>>3]=r;h[M>>3]=v;c[G>>2]=c[W>>2];c[G+4>>2]=c[W+4>>2];c[G+8>>2]=c[W+8>>2];c[G+12>>2]=c[W+12>>2];h[O>>3]=t;h[L>>3]=q;h[i>>3]=t;h[C>>3]=z;h[f>>3]=y;v=z;s=y;r=u;p=y;q=z}h[e>>3]=q;h[D>>3]=p;h[N>>3]=r;c[P>>2]=8;c[Y>>2]=_;c[S>>2]=c[V>>2];c[S+4>>2]=c[V+4>>2];c[S+8>>2]=c[V+8>>2];c[S+12>>2]=c[V+12>>2];c[T>>2]=c[W>>2];c[T+4>>2]=c[W+4>>2];c[T+8>>2]=c[W+8>>2];c[T+12>>2]=c[W+12>>2];c[U>>2]=c[Y>>2];c[U+4>>2]=c[Y+4>>2];k=BM(S,T,U,Z,o)|0;b=c[Z>>2]|0;if(!b)break a;bO(d,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,k,b,17336);m=m+1|0}l6(X)}while(0);l=$;return}function Ug(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;g=l;l=l+16|0;f=g;j=(uB(b)|0)==0;c[f>>2]=c[(j?18636:18628)>>2];f=lB(85765,f,0)|0;RC(f,137786,280,1)|0;DA(f,0,87443,195341)|0;j=HK(96)|0;e=c[f+16>>2]|0;c[e+8>>2]=j;i=c[b+16>>2]|0;k=c[i+8>>2]|0;h[j>>3]=+h[k>>3];h[j+24>>3]=+h[k+24>>3];a[e+115>>0]=a[i+115>>0]|0;c[e+116>>2]=c[i+116>>2]&1^1;c[e+248>>2]=c[i+248>>2];c[e+252>>2]=c[i+252>>2];e=IA(vC(b)|0,1,0)|0;while(1){if(!e)break;DA(f,1,c[e+8>>2]|0,c[e+12>>2]|0)|0;e=IA(vC(b)|0,1,e)|0}e=IA(vC(b)|0,2,0)|0;while(1){if(!e)break;DA(f,2,c[e+8>>2]|0,c[e+12>>2]|0)|0;e=IA(vC(b)|0,2,e)|0}if(!(DA(f,2,111765,0)|0))DA(f,2,111765,195341)|0;if(!(DA(f,2,111756,0)|0))DA(f,2,111756,195341)|0;Zg(f,d);l=g;return f|0}function Vg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;a=qC(a,HB(b)|0,1)|0;RC(a,137750,304,1)|0;RA(b,a)|0;if((UM(b)|0)==2){f=b+16|0;b=IK((D3(c[c[(c[f>>2]|0)+104>>2]>>2]|0)|0)+3|0)|0;c[d>>2]=c[c[(c[f>>2]|0)+104>>2]>>2];i2(b,85760,d)|0;PA(a,108525,b)|0}l=e;return a|0}function Wg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=fB(a,b,c,0,1)|0;RC(c,137763,176,1)|0;RA(d,c)|0;return c|0}function Xg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0;i=l;l=l+32|0;g=i+16|0;f=i;if(e|0){j=+h[b>>3];e=b+8|0;h[b>>3]=+h[e>>3];h[e>>3]=-j};c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];Kg(a,f,g);l=i;return}function Yg(a,b){a=a|0;b=b|0;c[47258]=c[b>>2];c[47262]=c[b+4>>2];c[47263]=c[b+8>>2];c[47236]=c[b+12>>2];c[47237]=c[b+16>>2];c[47250]=c[b+20>>2];c[47249]=c[b+24>>2];c[47248]=c[b+28>>2];c[47274]=c[b+32>>2];c[47266]=c[b+36>>2];c[47251]=c[b+40>>2];c[47261]=c[b+44>>2];c[47270]=c[b+48>>2];c[47269]=c[b+52>>2];c[47268]=c[b+56>>2];c[47273]=c[b+60>>2];c[47267]=c[b+64>>2];c[47252]=c[b+68>>2];c[47199]=c[b+72>>2];c[47200]=c[b+76>>2];c[47201]=c[b+80>>2];c[47219]=c[b+84>>2];c[47212]=c[b+88>>2];c[47213]=c[b+92>>2];c[47214]=c[b+96>>2];c[47216]=c[b+100>>2];c[47217]=c[b+104>>2];c[47220]=c[b+108>>2];c[47223]=c[b+112>>2];c[47221]=c[b+116>>2];c[47222]=c[b+120>>2];c[47225]=c[b+124>>2];c[47224]=c[b+128>>2];c[47226]=c[b+132>>2];c[47227]=c[b+136>>2];c[47218]=c[b+140>>2];c[47230]=c[b+144>>2];c[47194]=c[b+148>>2];c[47185]=c[b+152>>2];l6(b);Of(a);pB(a)|0;return}function Zg(a,b){a=a|0;b=b|0;c[b>>2]=c[47258];c[b+4>>2]=c[47262];c[b+8>>2]=c[47263];c[b+12>>2]=c[47236];c[b+16>>2]=c[47237];c[b+20>>2]=c[47250];c[b+24>>2]=c[47249];c[b+28>>2]=c[47248];c[b+32>>2]=c[47274];c[b+36>>2]=c[47266];c[b+40>>2]=c[47251];c[b+44>>2]=c[47261];c[b+48>>2]=c[47270];c[b+52>>2]=c[47269];c[b+56>>2]=c[47268];c[b+60>>2]=c[47273];c[b+64>>2]=c[47267];c[b+68>>2]=c[47252];c[b+72>>2]=c[47199];c[b+76>>2]=c[47200];c[b+80>>2]=c[47201];c[b+84>>2]=c[47219];c[b+88>>2]=c[47212];c[b+92>>2]=c[47213];c[b+96>>2]=c[47214];c[b+100>>2]=c[47216];c[b+104>>2]=c[47217];c[b+108>>2]=c[47220];c[b+112>>2]=c[47223];c[b+116>>2]=c[47221];c[b+120>>2]=c[47222];c[b+124>>2]=c[47225];c[b+128>>2]=c[47224];c[b+132>>2]=c[47226];c[b+136>>2]=c[47227];c[b+140>>2]=c[47218];c[b+144>>2]=c[47230];c[b+152>>2]=c[47185];c[b+148>>2]=c[47194];c[47258]=0;c[47262]=DA(a,2,87684,0)|0;c[47263]=DA(a,2,87693,0)|0;b=DA(a,2,101842,0)|0;c[47236]=b;if(!b)c[47236]=DA(a,2,101842,195341)|0;c[47237]=0;c[47250]=0;c[47249]=DA(a,2,101738,0)|0;c[47248]=DA(a,2,101729,0)|0;c[47274]=DA(a,2,102018,0)|0;c[47266]=0;c[47251]=DA(a,2,108525,0)|0;c[47261]=DA(a,2,85770,0)|0;c[47270]=0;c[47269]=DA(a,2,101918,0)|0;c[47268]=DA(a,2,101904,0)|0;c[47273]=DA(a,2,102009,0)|0;c[47267]=0;c[47252]=0;c[47199]=DA(a,1,141351,0)|0;c[47200]=DA(a,1,141419,0)|0;c[47201]=DA(a,1,108531,0)|0;c[47219]=0;c[47212]=DA(a,1,101729,0)|0;c[47213]=DA(a,1,101738,0)|0;c[47214]=0;c[47216]=DA(a,1,108525,0)|0;c[47217]=0;c[47220]=0;c[47223]=DA(a,1,101710,0)|0;c[47221]=DA(a,1,141379,0)|0;c[47222]=DA(a,1,101773,0)|0;c[47225]=DA(a,1,101785,0)|0;c[47224]=DA(a,1,101649,0)|0;c[47226]=DA(a,1,101790,0)|0;c[47227]=DA(a,1,85782,0)|0;c[47218]=0;c[47230]=0;c[47194]=DA(a,0,101710,0)|0;return}function _g(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0;d=c[(c[(c[a>>2]|0)+16>>2]|0)+96>>2]|0;a=c[(c[(c[b>>2]|0)+16>>2]|0)+96>>2]|0;b=(a|0)!=0;if(d)if(b?(f=+h[d+24>>3],i=+h[d+32>>3],e=+h[a+24>>3],g=+h[a+32>>3],!(f>e)):0)if(!(fg)a=-1;else a=i>0]|0)!=37?(h=c[i>>2]|0,h=wb[c[(c[h+4>>2]|0)+4>>2]&63](c[h+16>>2]|0,d,e,f,g)|0,h|0):0)break;h=JB(b,d,e,f)|0;if(!h)k=5}else k=5;while(0);if((k|0)==5)if(g){h=c[i>>2]|0;h=wb[c[(c[h+4>>2]|0)+4>>2]&63](c[h+16>>2]|0,d,0,f,g)|0;if(j&(h|0)!=0){k=f;KB(b,d,e,c[k>>2]|0,c[k+4>>2]|0)}}else h=0;return h|0}function FB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+64>>2]|0;return tb[c[(c[a+4>>2]|0)+8>>2]&127](c[a+16>>2]|0,b,d,e)|0}function GB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;PB(a,b,d,e)|0;a=c[a+64>>2]|0;xb[c[(c[a+4>>2]|0)+12>>2]&31](c[a+16>>2]|0,b,d,e);return}function HB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=uC(a)|0;f=a+8|0;b=f;b=NB(d,c[a>>2]&3,c[b>>2]|0,c[b+4>>2]|0)|0;do if(!b){b=c[d+64>>2]|0;d=c[(c[b+4>>2]|0)+16>>2]|0;if(d|0?(e=f,e=tb[d&127](c[b+16>>2]|0,c[a>>2]&3,c[e>>2]|0,c[e+4>>2]|0)|0,e|0):0){b=e;break}if((c[a>>2]&3|0)==2)b=0;else{e=c[f>>2]|0;f=c[f+4>>2]|0;c[g>>2]=37;b=g+8|0;c[b>>2]=e;c[b+4>>2]=f;i2(195053,96757,g)|0;b=195053}}while(0);l=h;return b|0}function IB(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+64>>2]|0;rb[c[(c[a+4>>2]|0)+24>>2]&127](c[a+16>>2]|0,b,d);return}function JB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;b=c[(c[a+64>>2]|0)+56+(((b|0)==3?2:b)<<2)>>2]|0;if(((b|0)!=0?(f=aD(a,d)|0,(f|0)!=0):0)?(c[h+24>>2]=f,g=eb[c[b>>2]&63](b,h,4)|0,(g|0)!=0):0){d=g+16|0;h=c[d+4>>2]|0;b=e;c[b>>2]=c[d>>2];c[b+4>>2]=h;b=1}else b=0;l=i;return b|0}function KB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=aC(a,32)|0;g=h+16|0;c[g>>2]=e;c[g+4>>2]=f;c[h+24>>2]=dD(a,d)|0;e=(b|0)==3?2:b;g=a+64|0;d=c[g>>2]|0;b=c[d+56+(e<<2)>>2]|0;if(!b){f=SD(a,18684,c[4599]|0)|0;c[(c[g>>2]|0)+56+(e<<2)>>2]=f;b=c[g>>2]|0}else{f=b;b=d}b=c[b+68+(e<<2)>>2]|0;if(!b){b=SD(a,18720,c[4599]|0)|0;c[(c[g>>2]|0)+68+(e<<2)>>2]=b}eb[c[f>>2]&63](f,h,1)|0;eb[c[b>>2]&63](b,h,1)|0;return}function LB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=b+16|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=d+16|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0?1:(a>>>0>>0|(a|0)==(d|0)&b>>>0>>0)<<31>>31)|0}function MB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b+24>>2]|0;e=c[d+24>>2]|0;return (b>>>0>e>>>0?1:(b>>>0>>0)<<31>>31)|0}function NB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=OB(a,b,d,e)|0;if(!a)a=0;else a=c[a+24>>2]|0;return a|0}function OB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;a=c[(c[a+64>>2]|0)+68+(((b|0)==3?2:b)<<2)>>2]|0;if(!a)a=0;else{b=f+16|0;c[b>>2]=d;c[b+4>>2]=e;a=eb[c[a>>2]&63](a,f,4)|0}l=g;return a|0}function PB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=(b|0)==3?2:b;b=OB(a,f,d,e)|0;if(!b)b=0;else{e=a+64|0;d=c[(c[e>>2]|0)+56+(f<<2)>>2]|0;eb[c[d>>2]&63](d,b,2)|0;e=c[(c[e>>2]|0)+68+(f<<2)>>2]|0;eb[c[e>>2]&63](e,b,2)|0;fD(a,c[b+24>>2]|0)|0;bC(a,b);b=1}return b|0}function QB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[46985]=b;g=c[b+64>>2]|0;f=0;while(1){if((f|0)==3)break;h=g+56+(f<<2)|0;d=c[h>>2]|0;a:do if(d|0){d=eb[c[d>>2]&63](d,0,128)|0;while(1){if(!d)break a;e=c[h>>2]|0;e=eb[c[e>>2]&63](e,d,8)|0;if((a[c[d+24>>2]>>0]|0)!=37){d=e;continue}i=d+16|0;PB(b,f,c[i>>2]|0,c[i+4>>2]|0)|0;d=e}}while(0);f=f+1|0}return}function RB(a){a=a|0;c[46985]=a;a=a+64|0;SB((c[a>>2]|0)+56|0);SB((c[a>>2]|0)+68|0);return}function SB(a){a=a|0;var b=0,d=0,e=0;b=0;while(1){if((b|0)==3)break;d=a+(b<<2)|0;e=c[d>>2]|0;if(e|0){Oz(e)|0;c[d>>2]=0}b=b+1|0}return}function TB(a,b,c){a=a|0;b=b|0;c=c|0;if(!(o4(b,c,a)|0))a=0;else a=D3(b)|0;return a|0}function UB(a,b){a=a|0;b=b|0;return Z3(b,a)|0}function VB(a){a=a|0;return m4(a)|0}function WB(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+32|0;e=b+12|0;d=b;c[4693]=c[4690];c[4694]=c[4691];c[e>>2]=a;c[e+4>>2]=D3(a)|0;c[e+8>>2]=0;c[d>>2]=18780;c[d+4>>2]=18656;c[d+8>>2]=18768;a=hF(e,d)|0;iD(0);l=b;return a|0}function XB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((e|0)!=0?(h=b+8|0,f=c[h>>2]|0,(f|0)<(c[b+4>>2]|0)):0){i=(c[b>>2]|0)+f|0;b=0;g=a[i>>0]|0;f=d;d=i;while(1){d=d+1|0;a[f>>0]=g;b=b+1|0;if(!(g<<24>>24!=10&(b|0)<(e|0)))break;g=a[d>>0]|0;if(!(g<<24>>24))break;else f=f+1|0}c[h>>2]=(c[h>>2]|0)+b}else b=0;return b|0}function YB(a){a=a|0;return 0}function ZB(a,b){a=a|0;b=b|0;a=k6(b)|0;u6(a|0,0,b|0)|0;return a|0}function _B(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=n6(b,d)|0;if(d>>>0>c>>>0)u6(a+c|0,0,d-c|0)|0;return a|0}function $B(a,b){a=a|0;b=b|0;l6(b);return}function aC(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;a=c[a+64>>2]|0;a=vb[c[(c[a>>2]|0)+4>>2]&127](c[a+12>>2]|0,b)|0;if(!a)dA(1,96763,d)|0;l=d;return a|0}function bC(a,b){a=a|0;b=b|0;if(b|0){a=c[a+64>>2]|0;lb[c[(c[a>>2]|0)+12>>2]&63](c[a+12>>2]|0,b)}return}function cC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[b+16>>2]|0)+8|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=(c[d+16>>2]|0)+8|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0>>0|(a|0)==(d|0)&b>>>0>>0?-1:(a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0)&1)|0}function dC(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+16>>2]|0;if((a+28|0)!=(b|0))bC(c[a+24>>2]|0,b);return}function eC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=(c[c[b+16>>2]>>2]|0)>>>4;e=(c[c[d+16>>2]>>2]|0)>>>4;return (b>>>0>>0?-1:b>>>0>e>>>0&1)|0}function fC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=186424;c[e>>2]=b;c[e+4>>2]=d;c[46990]=186416;a=c[a+40>>2]|0;a=eb[c[a>>2]&63](a,187944,4)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function gC(a){a=a|0;a=c[a+36>>2]|0;a=eb[c[a>>2]&63](a,0,128)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function hC(a,b){a=a|0;b=b|0;var d=0;b=VA(a,b)|0;if((b|0)!=0?(d=c[a+36>>2]|0,d=eb[c[d>>2]&63](d,b,8)|0,(d|0)!=0):0)b=c[d+16>>2]|0;else b=0;return b|0}function iC(a){a=a|0;a=c[a+36>>2]|0;a=eb[c[a>>2]&63](a,0,256)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function jC(a,b){a=a|0;b=b|0;var d=0;b=VA(a,b)|0;if((b|0)!=0?(d=c[a+36>>2]|0,d=eb[c[d>>2]&63](d,b,16)|0,(d|0)!=0):0)b=c[d+16>>2]|0;else b=0;return b|0}function kC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=fC(a,b,c)|0;do if((d|0)!=0&(e|0)==0){e=vC(a)|0;if((e|0)!=(a|0)?(f=fC(e,b,c)|0,f|0):0){lC(a,f,1)|0;e=f;break}if(!(FB(a,1,b,c)|0))e=0;else{e=oB(a,1)|0;e=mC(a,b,c,e,D)|0;nC(a,e);oC(a,e)}}while(0);return e|0}function lC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=vC(a)|0;if((e|0)==(c[b+24>>2]|0)){e=b+8|0;e=fC(a,c[e>>2]|0,c[e+4>>2]|0)|0;if((d|0)!=0&(e|0)==0){e=OD(a)|0;if(!e)e=0;else{d=lC(e,b,d)|0;pC(a,d);return d|0}}}else e=0;return e|0}function mC(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;g=aC(b,64)|0;h=c[g>>2]|0;i=g+8|0;c[i>>2]=d;c[i+4>>2]=e;c[g>>2]=h&12|f<<4|1;c[g+24>>2]=vC(b)|0;if(a[(vC(b)|0)+24>>0]&64)RC(g,c[4610]|0,16,0)|0;return g|0}function nC(a,b){a=a|0;b=b|0;do{pC(a,b);a=OD(a)|0}while((a|0)!=0);return}function oC(b,c){b=b|0;c=c|0;if(a[(vC(b)|0)+24>>0]&64)rA(b,c);wC(b,c);return}function pC(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+40|0;Uz(c[e>>2]|0)|0;if((vC(a)|0)==(a|0))d=b+28|0;else d=aC(a,36)|0;c[d+16>>2]=b;e=c[e>>2]|0;eb[c[e>>2]&63](e,d,1)|0;e=c[a+36>>2]|0;eb[c[e>>2]&63](e,d,1)|0;return}function qC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;h=vC(a)|0;e=(d|0)!=0;if(EB(a,1,b,g,0)|0){d=g;d=fC(a,c[d>>2]|0,c[d+4>>2]|0)|0;if(!d)if(!((h|0)==(a|0)|e^1)?(f=g,f=fC(h,c[f>>2]|0,c[f+4>>2]|0)|0,(f|0)!=0):0)d=lC(a,f,1)|0;else i=6}else i=6;if((i|0)==6)if(e?(EB(a,1,b,g,1)|0)!=0:0){i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;d=oB(a,1)|0;d=mC(a,h,i,d,D)|0;nC(a,d);oC(a,d);IB(a,1,d)}else d=0;l=j;return d|0}function rC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[46999]=b;d=ZA(a,b)|0;while(1){if(!d)break;e=_A(a,d,b)|0;gB(a,d,0);d=e}e=c[a+40>>2]|0;eb[c[e>>2]&63](e,187980,2)|0;e=c[a+36>>2]|0;eb[c[e>>2]&63](e,187980,2)|0;return}function sC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d+8|0;e=f;if(fC(b,c[e>>2]|0,c[e+4>>2]|0)|0){if((vC(b)|0)==(b|0)){e=ZA(b,d)|0;while(1){if(!e)break;g=_A(b,e,d)|0;iB(b,e)|0;e=g}if(a[b+24>>0]&64)LA(d);AC(b,d);ZC(d);g=f;GB(b,1,c[g>>2]|0,c[g+4>>2]|0)}if(!(zE(b,d,59,0,0)|0))if((vC(b)|0)==(b|0)){bC(b,d);e=0}else e=0;else e=-1}else e=-1;return e|0}function tC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;d=c[b>>2]|0;do if(!(d&3))if((OD(b)|0)==(a|0)){d=c[b>>2]|0;g=5;break}else{dA(1,96789,e)|0;f=-1;break}else g=5;while(0);a:do if((g|0)==5)switch(d&3){case 1:{f=sC(a,b)|0;break a}case 2:case 3:{f=iB(a,b)|0;break a}case 0:{f=pB(b)|0;break a}default:{}}while(0);l=h;return f|0}function uC(a){a=a|0;var b=0;switch(c[a>>2]&3){case 2:case 3:{b=c[(c[a+40>>2]|0)+24>>2]|0;break}case 1:{b=c[a+24>>2]|0;break}case 0:{b=a;break}default:{}}return b|0}function vC(a){a=a|0;var b=0;switch(c[a>>2]&3){case 2:case 3:{b=(c[a+40>>2]|0)+24|0;break}case 1:{b=a+24|0;break}case 0:{b=a+60|0;break}default:{}}return c[b>>2]|0}function wC(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))GC(b,d,100,0);else xC(b,d,c[e+48>>2]|0);return}function xC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d|0){xC(a,b,c[d+8>>2]|0);switch(c[b>>2]&3){case 0:{e=c[d>>2]|0;break}case 1:{e=(c[d>>2]|0)+12|0;break}case 2:{e=(c[d>>2]|0)+24|0;break}default:break a}e=c[e>>2]|0;if(e|0)rb[e&127](a,b,c[d+4>>2]|0)}while(0);return}function yC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+64>>2]|0;if(!(a[f+52>>0]|0))GC(b,d,101,e);else zC(b,d,e,c[f+48>>2]|0);return}function zC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0){zC(a,b,d,c[e+8>>2]|0);switch(c[b>>2]&3){case 0:{f=(c[e>>2]|0)+4|0;break}case 1:{f=(c[e>>2]|0)+16|0;break}case 2:{f=(c[e>>2]|0)+28|0;break}default:break a}f=c[f>>2]|0;if(f|0)xb[f&31](a,b,c[e+4>>2]|0,d)}while(0);return}function AC(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))GC(b,d,102,0);else BC(b,d,c[e+48>>2]|0);return}function BC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d|0){BC(a,b,c[d+8>>2]|0);switch(c[b>>2]&3){case 0:{e=(c[d>>2]|0)+8|0;break}case 1:{e=(c[d>>2]|0)+20|0;break}case 2:{e=(c[d>>2]|0)+32|0;break}default:break a}e=c[e>>2]|0;if(e|0)rb[e&127](a,b,c[d+4>>2]|0)}while(0);return}function CC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=aC(a,12)|0;c[e>>2]=b;c[e+4>>2]=d;d=(c[a+64>>2]|0)+48|0;c[e+8>>2]=c[d>>2];c[d>>2]=e;return}function DC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=(c[a+64>>2]|0)+48|0;d=c[e>>2]|0;a:do if(!d)d=-1;else{if((c[d>>2]|0)!=(b|0)){while(1){e=d+8|0;if(!d){d=-1;break a}f=c[e>>2]|0;if((c[f>>2]|0)==(b|0))break;else d=f}if(f)c[e>>2]=c[f+8>>2]}else c[e>>2]=c[d+8>>2];bC(a,d);d=0}while(0);return d|0}function EC(a,b){a=a|0;b=b|0;var d=0;d=vC(a)|0;a:do if((d|0)==(vC(b)|0))switch(c[b>>2]&3){case 0:{while(1){if((b|0)==(a|0)){b=1;break a}b=OD(b)|0;if(!b){b=0;break}}break}case 1:{b=b+8|0;b=(kC(a,c[b>>2]|0,c[b+4>>2]|0,0)|0)!=0;break a}default:{b=(jB(a,b,0)|0)!=0;break a}}else b=0;while(0);return b&1|0}function FC(a){a=a|0;return c[a>>2]&3|0}function GC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=RC(a,96813,44,0)|0;switch(c|0){case 100:{c=HC(e,b,100)|0;if(!(IC(c,b)|0))JC(c,a,b,d)|0;break}case 101:{if((IC(HC(e,b,100)|0,b)|0)==0?(IC(HC(e,b,102)|0,b)|0)==0:0){e=HC(e,b,101)|0;c=IC(e,b)|0;if(!c)c=JC(e,a,b,d)|0;KC(b,c,d)}break}case 102:{LC(HC(e,b,100)|0,b);LC(HC(e,b,101)|0,b);c=HC(e,b,102)|0;if(!(IC(c,b)|0))JC(c,a,b,d)|0;break}default:dA(1,96825,f)|0}l=g;return}function HC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g;a:do switch(c[b>>2]&3){case 0:switch(d|0){case 100:{d=a+8|0;break a}case 101:{d=a+20|0;break a}case 102:{d=a+32|0;break a}default:{f=14;break a}}case 1:switch(d|0){case 100:{d=a+12|0;break a}case 101:{d=a+24|0;break a}case 102:{d=a+36|0;break a}default:{f=14;break a}}case 2:switch(d|0){case 100:{d=a+16|0;break a}case 101:{d=a+28|0;break a}case 102:{d=a+40|0;break a}default:{f=14;break a}}default:f=14}while(0);if((f|0)==14){dA(1,96859,e)|0;d=0}a=c[d>>2]|0;if(!a){a=uC(b)|0;a=SD(a,18872,c[4599]|0)|0;c[d>>2]=a}l=g;return a|0}function IC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+32|0;e=d;f=MC(b)|0;b=e+8|0;c[b>>2]=f;c[b+4>>2]=D;b=eb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function JC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=aC(uC(d)|0,32)|0;c[f+20>>2]=d;g=MC(d)|0;d=f+8|0;c[d>>2]=g;c[d+4>>2]=D;c[f+16>>2]=b;if(e|0){g=aC(b,8)|0;c[f+24>>2]=g;c[g>>2]=e}eb[c[a>>2]&63](a,f,1)|0;return f|0}function KC(a,b,d){a=a|0;b=b|0;d=d|0;a=b+24|0;while(1){a=c[a>>2]|0;if(!a)break;if((c[a>>2]|0)==(d|0))break;else a=a+4|0}return}function LC(a,b){a=a|0;b=b|0;b=IC(a,b)|0;if(b|0)eb[c[a>>2]&63](a,b,2)|0;return}function MC(a){a=a|0;a=a+8|0;D=c[a+4>>2]|0;return c[a>>2]|0}function NC(a,b,d){a=a|0;b=b|0;d=d|0;OC(b);bC(c[b+16>>2]|0,b);return}function OC(a){a=a|0;var b=0,d=0;b=a+16|0;a=c[a+24>>2]|0;while(1){if(!a)break;d=c[a+4>>2]|0;bC(c[b>>2]|0,a);a=d}return}function PC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;h=c[b+16>>2]|0;f=h;while(1){if(!f){f=0;break}g=c[f>>2]|0;if((g|0)==(d|0)){j=7;break}if((a[d>>0]|0)==(a[g>>0]|0)?(f2(d,g)|0)==0:0){j=7;break}f=c[f+4>>2]|0;if((f|0)==(h|0)){f=0;break}}do if((j|0)==7){if(!(c[b>>2]&4)){if((f|0)==(h|0)&(e|0)==0){f=h;break}QC(b,f,e);break}if(e)if((h|0)==(f|0))f=h;else dA(1,96884,i)|0}while(0);l=k;return f|0}function QC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[a+16>>2]=b;e=c[a>>2]|0;d=d<<2&4;c[a>>2]=e&-5|d;if(e&2|0){e=(e&3|0)==3?-1:1;c[a+(e*48|0)+16>>2]=b;e=a+(e*48|0)|0;c[e>>2]=c[e>>2]&-5|d}return}function RC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=uC(a)|0;f=PC(a,b,0)|0;a:do if((d|0)!=0&(f|0)==0){d=aC(h,d)|0;c[d>>2]=dD(h,b)|0;switch(c[a>>2]&3){case 0:{SC(a,d);g=d;break a}case 1:{SC(a,d);g=d;break a}case 2:case 3:{SC(a,d);g=d;break a}default:{}}}else g=f;while(0);if(e|0)PC(a,b,1)|0;return g|0}function SC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+16>>2]|0;do if(d){e=d+4|0;f=c[e>>2]|0;if((f|0)==(d|0)){c[e>>2]=b;e=d;d=b;break}else{c[b+4>>2]=f;e=b;break}}else{e=b;d=b}while(0);c[d+4>>2]=e;if(!(c[a>>2]&4))QC(a,b,0);return}function TC(a,b){a=a|0;b=b|0;var d=0,e=0;e=uC(a)|0;d=PC(a,b,0)|0;if(!d)b=-1;else{UC(a,d);if(!(c[a>>2]&3)){VC(e,a,d);b=d}else{zE(vC(e)|0,a,60,d,0)|0;b=d}fD(e,c[d>>2]|0)|0;bC(e,b);b=0}return b|0}function UC(a,b){a=a|0;b=b|0;var d=0;a=c[a+16>>2]|0;do{d=a+4|0;a=c[d>>2]|0}while((a|0)!=(b|0));c[d>>2]=c[b+4>>2];return}function VC(a,b,d){a=a|0;b=b|0;d=d|0;if((c[b+16>>2]|0)==(d|0)){a=c[d+4>>2]|0;QC(b,(a|0)==(d|0)?0:a,0)}return}function WC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=(d|0)>-1;g=f?d:0-d|0;a:do switch(b|0){case 0:{RC(a,c,g,e)|0;if(!f){b=MD(a)|0;while(1){if(!b)break a;WC(b,0,c,d,e);b=ND(b)|0}}break}case 3:case 2:case 1:{d=(b|0)==1;b=gC(a)|0;while(1){if(!b)break a;b:do if(d)RC(b,c,g,e)|0;else{f=UA(a,b)|0;while(1){if(!f)break b;RC(f,c,g,e)|0;f=WA(a,f)|0}}while(0);b=hC(a,b)|0}}default:{}}while(0);return}function XC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:do switch(b|0){case 0:{zE(a,a,61,c,1)|0;break}case 3:case 2:case 1:{e=(b|0)==1;d=gC(a)|0;while(1){if(!d)break a;b:do if(e)TC(d,c)|0;else{b=UA(a,d)|0;while(1){if(!b)break b;TC(b,c)|0;b=WA(a,b)|0}}while(0);d=hC(a,d)|0}}default:{}}while(0);return}function YC(a,b,c){a=a|0;b=b|0;c=c|0;TC(b,c)|0;return}function ZC(a){a=a|0;var b=0,d=0,e=0;d=uC(a)|0;b=a+16|0;a=c[b>>2]|0;if(a|0)do{e=a;a=c[a+4>>2]|0;fD(d,c[e>>2]|0)|0;bC(d,e)}while((a|0)!=(c[b>>2]|0));c[b>>2]=0;return}function _C(a){a=a|0;return UD(a,$C(a)|0)|0}function $C(a){a=a|0;var b=0,d=0;if(!a)d=188016;else d=(c[a+64>>2]|0)+20|0;b=c[d>>2]|0;if(!b){b=SD(a,18908,c[4599]|0)|0;c[d>>2]=b;a=186480;c[a>>2]=-2147483648;c[a+4>>2]=0;a=186488;c[a>>2]=2147483647;c[a+4>>2]=-1}return b|0}function aD(a,b){a=a|0;b=b|0;return bD($C(a)|0,b)|0}function bD(a,b){a=a|0;b=b|0;a=cD(a,b)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function cD(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e+16>>2]=b;b=eb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function dD(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)d=0;else{e=$C(a)|0;d=cD(e,b)|0;if(!d){d=(D3(b)|0)+24|0;if(!a)d=k6(d)|0;else d=aC(a,d)|0;a=d+8|0;c[a>>2]=1;c[a+4>>2]=0;a=d+20|0;O3(a,b)|0;c[d+16>>2]=a;eb[c[e>>2]&63](e,d,1)|0}else{e=d+8|0;b=e;b=w6(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[e>>2]=b;c[e+4>>2]=D}d=c[d+16>>2]|0}return d|0}function eD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!b)d=0;else{e=$C(a)|0;d=cD(e,b)|0;if(!d){d=(D3(b)|0)+24|0;if(!a)d=k6(d)|0;else d=aC(a,d)|0;g=186480;f=c[g+4>>2]|0;a=d+8|0;c[a>>2]=c[g>>2]|1;c[a+4>>2]=f;a=d+20|0;O3(a,b)|0;c[d+16>>2]=a;eb[c[e>>2]&63](e,d,1)|0}else{g=d+8|0;f=g;f=w6(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[g>>2]=f;c[g+4>>2]=D}d=c[d+16>>2]|0}return d|0}function fD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((b|0)!=0?(d=$C(a)|0,e=cD(d,b)|0,(e|0)!=0):0)if((c[e+16>>2]|0)==(b|0)?(b=e+8|0,g=b,g=w6(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0,f=D,b,c[b>>2]=g,c[b+4>>2]=f,b=186488,!(((g|0)!=0|(f|0)!=0)&((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0))):0){TD(a,d,e)|0;a=0}else a=0;else a=-1;return a|0}function gD(a){a=a|0;var b=0;if(!a)a=0;else{a=a+-12|0;b=186480;a=c[b>>2]&c[a>>2]}return a|0}function hD(a){a=a|0;var b=0,d=0,e=0;if(a|0){d=186480;a=a+-12|0;e=a;b=c[e+4>>2]|c[d+4>>2];c[a>>2]=c[e>>2]|c[d>>2];c[a+4>>2]=b}return}function iD(a){a=a|0;c[47009]=a;c[4736]=1;return}function jD(a,b){a=a|0;b=b|0;c[47010]=a;c[47011]=b;c[47012]=0;return}function kD(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!(c[47013]|0)){c[47013]=1;if(!(c[47014]|0))c[47014]=1;if(!(c[47005]|0))c[47005]=c[15808];if(!(c[47006]|0))c[47006]=c[15840];k=c[47015]|0;if(!((k|0)!=0?(c[k+(c[47016]<<2)>>2]|0)!=0:0)){lD();k=mD(c[47005]|0,16384)|0;c[(c[47015]|0)+(c[47016]<<2)>>2]=k}nD()}a:while(1){h=c[47017]|0;a[h>>0]=a[195085]|0;e=(c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]|0)+(c[47014]|0)|0;f=h;b:while(1){i=f;while(1){f=c[18948+(d[i>>0]<<2)>>2]|0;if(b[64128+(e<<1)>>1]|0){c[47018]=e;c[47019]=i}c:while(1){g=f&255;do{f=(b[64314+(e<<1)>>1]|0)+g|0;if((b[64524+(f<<1)>>1]|0)==(e|0))break c;k=b[65060+(e<<1)>>1]|0;e=k<<16>>16}while(k<<16>>16<=92);f=c[19972+(g<<2)>>2]|0}e=b[65270+(f<<1)>>1]|0;f=i+1|0;if((b[64314+(e<<1)>>1]|0)==219)break;else i=f}d:while(1){k=h;e:while(1){e=b[64128+(e<<1)>>1]|0;if(!(e<<16>>16)){e=b[64128+(c[47018]<<1)>>1]|0;f=c[47019]|0}else e=e<<16>>16;c[47007]=h;j=f;c[47008]=j-k;a[195085]=a[f>>0]|0;a[f>>0]=0;c[47017]=f;f:while(1){switch(e|0){case 1:{m=27;break a}case 12:{m=53;break a}case 13:{m=55;break a}case 14:{m=57;break a}case 15:{m=61;break a}case 16:{m=65;break a}case 17:{m=67;break a}case 18:{m=69;break a}case 19:{m=72;break a}case 20:{m=75;break a}case 21:{m=78;break a}case 23:{m=86;break a}case 33:{m=118;break a}case 39:case 38:case 37:case 36:{l=0;break a}case 2:{m=29;break b}case 3:{m=32;break b}case 4:{m=35;break b}case 5:{m=37;break b}case 6:{m=39;break b}case 7:{m=42;break b}case 8:{m=44;break b}case 9:{m=47;break b}case 10:{m=49;break b}case 11:{m=51;break b}case 22:{m=83;break b}case 24:{m=89;break b}case 25:{m=92;break b}case 26:{m=95;break b}case 27:{m=98;break b}case 28:{m=101;break b}case 29:{m=104;break b}case 30:{m=109;break b}case 31:{m=112;break b}case 32:{m=115;break b}case 34:{m=121;break b}case 0:break f;case 35:break;default:{m=134;break a}}i=c[47007]|0;a[f>>0]=a[195085]|0;e=(c[47015]|0)+(c[47016]<<2)|0;g=c[e>>2]|0;if(!(c[g+44>>2]|0)){n=c[g+16>>2]|0;c[47021]=n;c[g>>2]=c[47005];g=c[e>>2]|0;c[g+44>>2]=1;e=n}else e=c[47021]|0;if((c[47017]|0)>>>0<=((c[g+4>>2]|0)+e|0)>>>0){m=128;break e}switch(wD()|0){case 0:{m=132;break d}case 2:{m=133;break e}case 1:break;default:continue a}c[47017]=c[47007];e=(((c[47014]|0)+-1|0)/2|0)+36|0}a[f>>0]=a[195085]|0;f=c[47019]|0;e=c[47018]|0}if((m|0)==128){m=0;g=(c[47007]|0)+(j-i+-1)|0;c[47017]=g;e=uD()|0;f=vD(e)|0;h=c[47007]|0;if(!f){f=g;continue}else{m=129;break}}else if((m|0)==133){m=0;f=(c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+4>>2]|0)+(c[47021]|0)|0;c[47017]=f;e=uD()|0;h=c[47007]|0;continue}}if((m|0)==129){m=0;n=g+1|0;c[47017]=n;e=f;f=n;continue}else if((m|0)==132){m=0;f=(c[47007]|0)+(j-i+-1)|0;c[47017]=f;e=uD()|0;h=c[47007]|0;continue}}switch(m|0){case 29:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[4736]=(c[4736]|0)+1;continue a}case 32:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[47014]=3;continue a}case 35:{m=0;e=c[47008]|0;if(!e)continue a;c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;continue a}case 37:{m=0;e=c[47008]|0;if(!e)continue a;c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;continue a}case 39:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[47014]=1;continue a}case 42:{m=0;e=c[47008]|0;if(!e)continue a;c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;continue a}case 44:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;oD();continue a}case 47:{m=0;e=c[47008]|0;if(!e)continue a;c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;continue a}case 49:{m=0;e=c[47008]|0;if(!e)continue a;c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;continue a}case 51:{m=0;e=c[47008]|0;if(!e)continue a;c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;continue a}case 83:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[47014]=5;qD();continue a}case 89:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;sD(99045);continue a}case 92:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;sD(96917);continue a}case 95:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[4736]=(c[4736]|0)+1;continue a}case 98:{m=0;e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;sD(f);continue a}case 101:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[47014]=7;c[47020]=1;qD();continue a}case 104:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;n=(c[47020]|0)+-1|0;c[47020]=n;if(!n){m=108;break a}sD(c[47007]|0);continue a}case 109:{m=0;e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;c[47020]=(c[47020]|0)+1;sD(f);continue a}case 112:{m=0;e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;sD(f);c[4736]=(c[4736]|0)+1;continue a}case 115:{m=0;e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;sD(f);continue a}case 121:{m=0;e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;_3(f,e,1,c[47006]|0)|0;continue a}}}switch(m|0){case 27:{e=c[47008]|0;if(!e)l=-1;else{c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=-1}break}case 53:{e=c[47008]|0;if(!e)l=259;else{c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=259}break}case 55:{e=c[47008]|0;if(!e)l=260;else{c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=260}break}case 57:{e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;if(!(c[47012]|0)){c[47012]=258;l=258}else l=258;break}case 61:{e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;if(!(c[47012]|0)){c[47012]=261;l=261}else l=261;break}case 65:{e=c[47008]|0;if(!e)l=263;else{c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=263}break}case 67:{e=c[47008]|0;if(!e)l=262;else{c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=262}break}case 69:{e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=(c[47012]|0)==261?264:45;break}case 72:{e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=(c[47012]|0)==258?264:45;break}case 75:{e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;c[47036]=dD(c[46985]|0,f)|0;l=267;break}case 78:{e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;if(pD()|0){m=(c[47008]|0)+-1|0;a[f>>0]=a[195085]|0;n=h+m|0;c[47017]=n;c[47007]=h;c[47008]=m;a[195085]=a[n>>0]|0;a[n>>0]=0;c[47017]=n}c[47036]=dD(c[46985]|0,c[47007]|0)|0;l=267;break}case 86:{e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[47014]=1;rD();l=268;break}case 108:{c[47014]=1;tD();l=268;break}case 118:{e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;l=a[f>>0]|0;break}case 134:{xD(96920);break}}return l|0}function lD(){var a=0,b=0,d=0;b=c[47015]|0;do if(!b){a=ED(4)|0;c[47015]=a;if(!a)xD(97278);else{c[a>>2]=0;c[47027]=1;c[47016]=0;break}}else{a=c[47027]|0;if((c[47016]|0)>>>0>=(a+-1|0)>>>0){d=a+8|0;a=yD(b,d<<2)|0;c[47015]=a;if(!a)xD(97278);else{b=a+(c[47027]<<2)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[47027]=d;break}}}while(0);return}function mD(a,b){a=a|0;b=b|0;var d=0;d=ED(48)|0;if(!d)xD(97233);c[d+12>>2]=b;b=ED(b+2|0)|0;c[d+4>>2]=b;if(!b)xD(97233);else{c[d+20>>2]=1;AD(d,a);return d|0}return 0}function nD(){var b=0,d=0;d=(c[47015]|0)+(c[47016]<<2)|0;b=c[d>>2]|0;c[47021]=c[b+16>>2];b=c[b+8>>2]|0;c[47017]=b;c[47007]=b;c[47005]=c[c[d>>2]>>2];a[195085]=a[b>>0]|0;return}function oD(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g;d=g+16|0;e=g+12|0;h=c[47007]|0;b=h+1|0;i=(h2(b,97217,4)|0)==0;b=i?h+5|0:b;c[f>>2]=e;c[f+4>>2]=g+20;c[f+8>>2]=d;f=q4(b,97222,f)|0;if((f|0)>0?(c[4736]=(c[e>>2]|0)+-1,(f|0)!=1):0){d=b+(c[d>>2]|0)|0;b=d;a:while(1){e=a[b>>0]|0;switch(e<<24>>24){case 0:case 34:break a;default:{}}b=b+1|0}if((b|0)!=(d|0)&e<<24>>24==34){a[b>>0]=0;DD(d,b-d|0)}}l=g;return}function pD(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+2080|0;i=j+8|0;f=j;b=j+1056|0;d=j+32|0;h=j+16|0;k=a[(c[47007]|0)+((c[47008]|0)+-1)>>0]|0;e=k<<24>>24==46;if(e|((k&255)+-48|0)>>>0<10)if(e?(CD()|0)!=0:0)g=4;else b=0;else g=4;if((g|0)==4){k=c[47009]|0;hA(h,1024,b);kA(h,97128)|0;kA(h,c[47007]|0)|0;c[f>>2]=c[4736];i2(d,97172,f)|0;kA(h,d)|0;kA(h,(k|0)==0?97122:k)|0;kA(h,97189)|0;d=h+4|0;b=c[d>>2]|0;if(b>>>0>=(c[h+8>>2]|0)>>>0){iA(h,1)|0;b=c[d>>2]|0}a[b>>0]=0;b=c[h>>2]|0;c[d>>2]=b;c[i>>2]=b;dA(0,97214,i)|0;lA(h);b=1}l=j;return b|0}function qD(){var b=0;b=c[47022]|0;if(!b){b=k6(1024)|0;c[47022]=b;c[47024]=b+1024}c[47023]=b;a[b>>0]=0;return}function rD(){c[47036]=dD(c[46985]|0,c[47022]|0)|0;a[c[47022]>>0]=0;return}function sD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[47023]|0;d=c[47022]|0;if(e>>>0>d>>>0){e=e+-1|0;f=3}a:while(1){if((f|0)==3)c[47023]=e;f=c[47024]|0;g=f;do{h=b;b=b+1|0;h=a[h>>0]|0;i=e;e=e+1|0;a[i>>0]=h;if(!(h<<24>>24))break a}while(e>>>0>>0);c[47023]=e;f=d;i=g-f<<1;d=n6(d,i)|0;c[47022]=d;c[47024]=d+i;e=d+(e-f)|0;f=3}c[47023]=e;return}function tD(){c[47036]=eD(c[46985]|0,c[47022]|0)|0;a[c[47022]>>0]=0;return}function uD(){var d=0,e=0,f=0,g=0,h=0;h=c[47017]|0;g=c[47007]|0;e=(c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]|0)+(c[47014]|0)|0;while(1){if(g>>>0>=h>>>0)break;d=a[g>>0]|0;if(!(d<<24>>24))d=1;else d=c[18948+((d&255)<<2)>>2]|0;if(b[64128+(e<<1)>>1]|0){c[47018]=e;c[47019]=g}a:while(1){f=d&255;do{d=(b[64314+(e<<1)>>1]|0)+f|0;if((b[64524+(d<<1)>>1]|0)==(e|0))break a;d=b[65060+(e<<1)>>1]|0;e=d<<16>>16}while(d<<16>>16<=92);d=c[19972+(f<<2)>>2]|0}g=g+1|0;e=b[65270+(d<<1)>>1]|0}return e|0}function vD(a){a=a|0;var d=0;if(b[64128+(a<<1)>>1]|0){d=c[47017]|0;c[47018]=a;c[47019]=d}while(1){d=(b[64314+(a<<1)>>1]|0)+1|0;if((b[64524+(d<<1)>>1]|0)==(a|0))break;a=b[65060+(a<<1)>>1]|0}d=b[65270+(d<<1)>>1]|0;return (d<<16>>16==92?0:d<<16>>16)|0}function wD(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=(c[47015]|0)+(c[47016]<<2)|0;g=c[i>>2]|0;h=c[g+4>>2]|0;e=c[47007]|0;l=c[47017]|0;j=l;if(l>>>0>(h+((c[47021]|0)+1)|0)>>>0)xD(96975);f=j-e|0;if(!(c[g+40>>2]|0))b=(f|0)==1?1:2;else{l=f+-1|0;g=h;f=0;while(1){if((f|0)>=(l|0))break;a[g>>0]=a[e>>0]|0;g=g+1|0;e=e+1|0;f=f+1|0}e=c[i>>2]|0;do if((c[e+44>>2]|0)==2){c[47021]=0;c[e+16>>2]=0;m=17}else{while(1){h=e+12|0;g=c[h>>2]|0;f=g-l+-1|0;if(f|0){m=16;break}f=e+4|0;i=c[f>>2]|0;if(!(c[e+20>>2]|0)){m=12;break}e=g<<1;e=(e|0)==0?(g>>>3)+g|0:e;c[h>>2]=e;e=yD(i,e+2|0)|0;c[f>>2]=e;if(!e)break;i=e+(j-i)|0;c[47017]=i;e=c[(c[47015]|0)+(c[47016]<<2)>>2]|0;j=i}if((m|0)==12)c[f>>2]=0;else if((m|0)==16){d=eb[c[c[(c[47010]|0)+8>>2]>>2]&63](c[47011]|0,(c[e+4>>2]|0)+l|0,f>>>0<8192?f:8192)|0;c[47021]=d;e=c[(c[47015]|0)+(c[47016]<<2)>>2]|0;c[e+16>>2]=d;if(!d){m=17;break}else{b=0;k=e;break}}xD(97031)}while(0);do if((m|0)==17)if(!l){zD(c[47005]|0);b=1;d=c[47021]|0;k=c[(c[47015]|0)+(c[47016]<<2)>>2]|0;break}else{c[e+44>>2]=2;b=2;d=0;k=e;break}while(0);e=d+l|0;do if(e>>>0>(c[k+12>>2]|0)>>>0){m=yD(c[k+4>>2]|0,e+(d>>>1)|0)|0;d=(c[47015]|0)+(c[47016]<<2)|0;c[(c[d>>2]|0)+4>>2]=m;d=c[(c[d>>2]|0)+4>>2]|0;if(!d)xD(97075);else{n=c[47021]|0;o=d;break}}else{n=d;o=c[k+4>>2]|0}while(0);n=n+l|0;c[47021]=n;a[o+n>>0]=0;o=(c[47015]|0)+(c[47016]<<2)|0;a[(c[(c[o>>2]|0)+4>>2]|0)+((c[47021]|0)+1)>>0]=0;c[47007]=c[(c[o>>2]|0)+4>>2]}return b|0}function xD(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=c[15715]|0;c[b>>2]=a;z4(d,96971,b)|0;$a(2)}function yD(a,b){a=a|0;b=b|0;return n6(a,b)|0}function zD(a){a=a|0;var b=0,d=0,e=0;d=c[47015]|0;if((d|0)!=0?(b=c[d+(c[47016]<<2)>>2]|0,(b|0)!=0):0)e=4;else{lD();b=mD(c[47005]|0,16384)|0;d=c[47015]|0;c[d+(c[47016]<<2)>>2]=b;if(!d)b=0;else e=4}AD(b,a);nD();return}function AD(a,b){a=a|0;b=b|0;var d=0;d=c[(L1()|0)>>2]|0;BD(a);c[a>>2]=b;c[a+40>>2]=1;b=c[47015]|0;if(!b)b=0;else b=c[b+(c[47016]<<2)>>2]|0;if((b|0)!=(a|0)){c[a+32>>2]=1;c[a+36>>2]=0}c[a+24>>2]=0;c[(L1()|0)>>2]=d;return}function BD(b){b=b|0;var d=0;if(b|0){c[b+16>>2]=0;d=b+4|0;a[c[d>>2]>>0]=0;a[(c[d>>2]|0)+1>>0]=0;c[b+8>>2]=c[d>>2];c[b+28>>2]=1;c[b+44>>2]=0;d=c[47015]|0;if(!d)d=0;else d=c[d+(c[47016]<<2)>>2]|0;if((d|0)==(b|0))nD()}return}function CD(){var b=0,d=0;d=c[47007]|0;b=(c[47008]|0)+-2|0;while(1){if((b|0)<=-1){b=0;break}if((a[d+b>>0]|0)==46){b=1;break}else b=b+-1|0}return b|0}function DD(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[47025]|0;if((d|0)<(b|0)){e=b+1|0;if(!d)d=k6(e)|0;else d=n6(c[47026]|0,e)|0;c[47026]=d;c[47025]=b}else d=c[47026]|0;O3(d,a)|0;c[47009]=c[47026];return}function ED(a){a=a|0;return k6(a)|0}function FD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+2112|0;k=m+32|0;i=m+24|0;h=m+16|0;g=m+8|0;f=m;d=m+56|0;j=m+40|0;hA(j,1024,m+1080|0);e=c[47009]|0;if(e|0){kA(j,e)|0;kA(j,97328)|0}kA(j,b)|0;c[f>>2]=c[4736];i2(d,97331,f)|0;kA(j,d)|0;a:do if(!(a[c[47007]>>0]|0))switch(((c[47014]|0)+-1|0)/2|0|0){case 2:{c[g>>2]=16384;i2(d,97351,g)|0;kA(j,d)|0;b=c[47022]|0;if(!(a[b>>0]|0))break a;i=D3(b)|0;kA(j,97413)|0;b=c[47022]|0;if((i|0)>80)a[b+80>>0]=0;kA(j,b)|0;break a}case 3:{c[h>>2]=16384;i2(d,97432,h)|0;kA(j,d)|0;b=c[47022]|0;if(!(a[b>>0]|0))break a;i=D3(b)|0;kA(j,97500)|0;b=c[47022]|0;if((i|0)>80)a[b+80>>0]=0;kA(j,b)|0;break a}case 1:{c[i>>2]=16384;i2(d,97519,i)|0;kA(j,d)|0;break a}default:break a}else{kA(j,97343)|0;kA(j,c[47007]|0)|0;d=j+4|0;b=c[d>>2]|0;if(b>>>0>=(c[j+8>>2]|0)>>>0){iA(j,1)|0;b=c[d>>2]|0}c[d>>2]=b+1;a[b>>0]=39}while(0);e=j+4|0;b=c[e>>2]|0;d=j+8|0;if(b>>>0>=(c[d>>2]|0)>>>0){iA(j,1)|0;b=c[e>>2]|0}c[e>>2]=b+1;a[b>>0]=10;b=c[e>>2]|0;if(b>>>0>=(c[d>>2]|0)>>>0){iA(j,1)|0;b=c[e>>2]|0}a[b>>0]=0;i=c[j>>2]|0;c[e>>2]=i;c[k>>2]=i;dA(1,97214,k)|0;lA(j);l=m;return}function GD(){HD(c[47007]|0);return}function HD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=c[47017]|0;a[j>>0]=a[195085]|0;i=(c[47015]|0)+(c[47016]<<2)|0;e=c[i>>2]|0;d=c[e+4>>2]|0;if(j>>>0<(d+2|0)>>>0){f=d+((c[47021]|0)+2)|0;g=d+((c[e+12>>2]|0)+2)|0;k=d;h=e;while(1){if(f>>>0<=k>>>0)break;e=f+-1|0;k=g+-1|0;a[k>>0]=a[e>>0]|0;h=c[i>>2]|0;f=e;g=k;k=c[h+4>>2]|0}e=g-f|0;d=j+e|0;j=c[h+12>>2]|0;c[47021]=j;c[h+16>>2]=j;if(d>>>0<(k+2|0)>>>0)xD(97578);else{l=b+e|0;m=d}}else{l=b;m=j}b=m+-1|0;a[b>>0]=64;c[47007]=l;a[195085]=a[b>>0]|0;c[47017]=b;return}function ID(){var a=0;a=c[47015]|0;if(!a)a=0;else a=c[a+(c[47016]<<2)>>2]|0;BD(a);return}function JD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+80|0;f=e;g=a+52|0;VD(a,c[g>>2]|0,18592);a=f+8|0;c[a>>2]=b;c[a+4>>2]=d;d=c[g>>2]|0;d=eb[c[d>>2]&63](d,f,4)|0;l=e;return d|0}function KD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=JD(b,d,e)|0;if(!f){f=aC(b,72)|0;c[f+64>>2]=c[b+64>>2];g=f+24|0;h=c[b+24>>2]|0;c[g>>2]=h;a[g>>0]=h&255&-9;c[f+56>>2]=b;c[f+60>>2]=c[b+60>>2];b=f+8|0;c[b>>2]=d;c[b+4>>2]=e;nB(f)|0}return f|0}function LD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;if(!(((b|0)!=0?(EB(a,0,b,f,0)|0)!=0:0)?(e=f,e=JD(a,c[e>>2]|0,c[e+4>>2]|0)|0,(e|0)!=0):0))if((d|0)!=0?(EB(a,0,b,f,1)|0)!=0:0){e=f;e=KD(a,c[e>>2]|0,c[e+4>>2]|0)|0;IB(a,0,e)}else e=0;l=g;return e|0}function MD(a){a=a|0;a=c[a+52>>2]|0;return eb[c[a>>2]&63](a,0,128)|0}function ND(a){a=a|0;var b=0;b=OD(a)|0;if(!b)a=0;else{b=c[b+52>>2]|0;a=eb[c[b>>2]&63](b,a,8)|0}return a|0}function OD(a){a=a|0;return c[a+56>>2]|0}function PD(a,b){a=a|0;b=b|0;a=c[a+52>>2]|0;return eb[c[a>>2]&63](a,b,2)|0}function QD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[47028]|0;e=(b|0)!=0;do if(!a)if(e){l6(b);a=0;break}else{a=k6(d)|0;break}else if(e){bC(a,b);a=0;break}else{a=aC(a,d)|0;break}while(0);return a|0}function RD(a,b,d){a=a|0;b=b|0;d=d|0;a=c[47028]|0;if(!a)l6(b);else bC(a,b);return}function SD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=b+28|0;f=c[e>>2]|0;c[e>>2]=7;c[47028]=a;d=Sz(b,d)|0;c[e>>2]=f;c[47028]=0;return d|0}function TD(a,b,d){a=a|0;b=b|0;d=d|0;c[47028]=a;return eb[c[b>>2]&63](b,d,2)|0}function UD(a,b){a=a|0;b=b|0;var d=0,e=0;d=(_z(b,0,0)|0)+28|0;e=c[d>>2]|0;c[d>>2]=7;c[47028]=a;if(!(Oz(b)|0)){c[d>>2]=e;c[47028]=0;a=0}else a=1;return a|0}function VD(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0?(_z(b,0,0)|0)!=(c|0):0)_z(b,c,0)|0;return}function WD(a,b){a=a|0;b=b|0;if(!(gD(a)|0))b=YD(a,b)|0;else XD(a,b)|0;return b|0}function XD(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;a[c>>0]=60;f=c+1|0;while(1){d=a[b>>0]|0;e=f+1|0;if(!(d<<24>>24))break;a[f>>0]=d;f=e;b=b+1|0}a[f>>0]=62;a[e>>0]=0;return c|0}function YD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:do if((b|0)!=0?(a[b>>0]|0)!=0:0){a[d>>0]=34;k=a[b>>0]|0;t=0;g=((k+-45&255)<2|((k&255)+-48|0)>>>0<10)&1;h=0;i=0;j=0;e=d+1|0;f=b+1|0;b:while(1){o=g;l=e;p=k;while(1){g=l+1|0;if(!(p<<24>>24))break b;e=p&255;c:do if(p<<24>>24==34){a[l>>0]=92;h=1}else{if(!o){g=p<<24>>24>-1&(p<<24>>24!=95&(O2(e)|0)==0);o=0;h=g?1:h;g=l;break}switch(p<<24>>24){case 45:{g=(j|0)==0;o=g?o:0;h=g?h:1;g=l;break c}case 46:{g=(i|0)==0;o=g?o:0;h=g?h:1;i=i+1|0;g=l;break c}default:{g=(e+-48|0)>>>0<10;o=g?o:0;h=g?h:1;g=l;break c}}}while(0);e=g+1|0;a[g>>0]=p;s=f+1|0;r=a[f>>0]|0;j=j+1|0;f=c[5042]|0;if(!f){l=e;f=s;p=r;continue}k=r&255;l=r<<24>>24!=0;m=g+2|0;n=r<<24>>24>-1;q=g+3|0;if((t&l?!(p<<24>>24==92|p<<24>>24>-1&((p+-45&255)>1&(O2(p<<24>>24)|0)==0)^1):0)?(r+-45&255)<2|(O2(k)|0)!=0|n^1:0)break;if((j|0)<(f|0)|l^1){l=e;f=s;p=r;continue}if(p<<24>>24==92|p<<24>>24>-1&((O2(p<<24>>24)|0)==0&(p+-45&255)>1)^1){t=1;g=o;k=r;f=s;continue b}if(!((r+-45&255)<2|(O2(k)|0)!=0|n^1)){t=1;g=o;k=r;f=s;continue b}a[e>>0]=92;a[m>>0]=10;h=1;j=0;l=q;f=s;p=r}a[e>>0]=92;a[m>>0]=10;t=0;g=o;h=1;j=0;k=r;e=q;f=s}a[l>>0]=34;a[g>>0]=0;if(!h){if((j|0)==1?((a[b>>0]|0)+-45&255)<2:0){b=d;break}else e=20172;while(1){f=c[e>>2]|0;if(!f)break a;if(!(C3(f,b)|0)){b=d;break}else e=e+4|0}}else b=d}else b=97610;while(0);return b|0}function ZD(a){a=a|0;return WD(a,_D(a)|0)|0}function _D(a){a=a|0;var b=0;b=((D3(a)|0)<<1)+2|0;b=b>>>0>1024?b:1024;a=c[47030]|0;if(b>>>0>(c[47029]|0)>>>0){if(!a)a=k6(b)|0;else a=n6(a,b)|0;c[47030]=a;c[47029]=b}return a|0}function $D(a,b){a=a|0;b=b|0;a=MD(a)|0;while(1){if(!a){a=0;break}if((aE(a)|0)==0?lC(a,b,0)|0:0){a=1;break}a=ND(a)|0}return a|0}function aE(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=HB(b)|0;if((h|0)!=0?(a[h>>0]|0)!=37:0)d=0;else e=3;a:do if((e|0)==3){d=tA(b)|0;b:do if(d|0?(f=tA(OD(b)|0)|0,f|0):0){h=Uz(c[(tA(vC(b)|0)|0)+8>>2]|0)|0;g=d+12|0;e=f+12|0;d=0;while(1){if((d|0)>=(h|0))break b;f=c[(c[g>>2]|0)+(d<<2)>>2]|0;if((f|0?(i=c[(c[e>>2]|0)+(d<<2)>>2]|0,i|0):0)?f2(f,i)|0:0){d=0;break a}d=d+1|0}}while(0);d=oA(b,0)|0;if(d)if((Uz(c[d+8>>2]|0)|0)>0)d=0;else return (Uz(c[d+12>>2]|0)|0)<1|0;else d=1}while(0);return d|0}function bE(b,d){b=b|0;d=d|0;var e=0,f=0;c[47031]=0;e=NA(b,97620)|0;if((e|0?((a[e>>0]|0)+-48|0)>>>0<10:0)?(f=$1(e,0,10)|0,(f|0)==0|(f|0)>59):0)c[5042]=f;cE(b,1);if(((dE(b,d,1)|0)!=-1?(eE(b,d)|0)!=-1:0)?(fE(b,d)|0)!=-1:0){c[5042]=128;b=pb[c[(c[(c[b+64>>2]|0)+8>>2]|0)+8>>2]&63](d)|0}else b=-1;return b|0}function cE(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[a>>2]&-9;d=MD(a)|0;while(1){if(!d)break;cE(d,0);d=ND(d)|0}a:do if(b|0){b=gC(a)|0;while(1){if(!b)break a;c[b>>2]=c[b>>2]&-9;d=UA(a,b)|0;while(1){if(!d)break;c[d>>2]=c[d>>2]&-9;d=WA(a,d)|0}b=hC(a,b)|0}}while(0);return}function dE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if((e|0)==0?(OD(b)|0)!=0:0){i=0;g=195341;k=109815}else{k=(a[b+24>>0]&1)==0?195341:97664;g=(wB(b)|0)==0;c[47032]=DA(b,2,111756,0)|0;c[47033]=DA(b,2,111765,0)|0;i=1;g=g?195341:97667}f=HB(b)|0;if((f|0)!=0?(a[f>>0]|0)!=37:0){h=1;j=102905}else{h=0;j=195341;f=195341}do if((gE(b,d)|0)!=-1?(hE(b,d,g)|0)!=-1:0){g=(h|0)==0;if(h|i|0){if((hE(b,d,k)|0)==-1){f=-1;break}if((hE(b,d,102898)|0)==-1){f=-1;break}}if(!g?(sE(b,d,f)|0)==-1:0){f=-1;break}if(((hE(b,d,j)|0)!=-1?(hE(b,d,97675)|0)!=-1:0)?(c[47031]=(c[47031]|0)+1,(xE(b,d,e)|0)!=-1):0){c[b>>2]=c[b>>2]|8;f=0}else f=-1}else f=-1;while(0);return f|0}function eE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if((iE(a,b)|0)==-1)d=-1;else{k=oA(vC(a)|0,0)|0;i=(k|0)!=0;j=k+8|0;k=k+12|0;h=gC(a)|0;while(1){if(!h){d=0;break a}if(jE(a,h,(c[h>>2]|0)>>>4,0)|0){if(i)d=c[j>>2]|0;else d=0;if((kE(h,b,d)|0)==-1){d=-1;break a}}g=UA(a,h)|0;d=h;while(1){if(!g)break;f=g+-48|0;e=c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0;if((d|0)!=(e|0)?(jE(a,e,(c[h>>2]|0)>>>4,0)|0)!=0:0){if(i)d=c[j>>2]|0;else d=0;if((kE(c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0,b,d)|0)==-1){d=-1;break a}d=c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0}if(lE(a,g)|0){if(i)e=c[k>>2]|0;else e=0;if((mE(g,b,e)|0)==-1){d=-1;break a}}g=WA(a,g)|0}h=hC(a,h)|0}}while(0);return d|0}function fE(a,b){a=a|0;b=b|0;c[47031]=(c[47031]|0)+-1;if((gE(a,b)|0)==-1)a=-1;else a=((hE(a,b,111309)|0)==-1)<<31>>31;return a|0}function gE(a,b){a=a|0;b=b|0;var d=0;d=c[47031]|0;while(1){if((d|0)<=0){d=0;break}if((hE(a,b,153746)|0)==-1){d=-1;break}else d=d+-1|0}return d|0}function hE(a,b,d){a=a|0;b=b|0;d=d|0;return vb[c[(c[(c[a+64>>2]|0)+8>>2]|0)+4>>2]&127](b,d)|0}function iE(a,b){a=a|0;b=b|0;a=MD(a)|0;while(1){if(!a){a=0;break}if(!(aE(a)|0)){if((dE(a,b,0)|0)==-1){a=-1;break}if((eE(a,b)|0)==-1){a=-1;break}if((fE(a,b)|0)==-1){a=-1;break}}else iE(a,b)|0;a=ND(a)|0}return a|0}function jE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(($D(a,b)|0)==0?(uE(a,b,c,d)|0)!=0:0)if((vE(a,b)|0)==0?(wE(b)|0)==0:0)e=5;else a=1;else e=5;if((e|0)==5)a=0;return a|0}function kE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=uC(a)|0;do if((gE(d,b)|0)!=-1?(nE(a,b)|0)!=-1:0){if((pE(a)|0)==0?(qE(a,b,c)|0)==-1:0){a=-1;break}a=hE(d,b,97631)|0}else a=-1;while(0);return a|0}function lE(a,b){a=a|0;b=b|0;a=MD(a)|0;while(1){if(!a){a=1;break}if((aE(a)|0)==0?jB(a,b,0)|0:0){a=0;break}a=ND(a)|0}return a|0}function mE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a>>2]&3;g=c[((e|0)==3?a:a+48|0)+40>>2]|0;e=c[((e|0)==2?a:a+-48|0)+40>>2]|0;f=uC(g)|0;do if((((((gE(f,b)|0)!=-1?(nE(g,b)|0)!=-1:0)?(oE(a,b,c[47032]|0)|0)!=-1:0)?(g=(uB(uC(g)|0)|0)!=0,(hE(f,b,g?100380:100385)|0)!=-1):0)?(nE(e,b)|0)!=-1:0)?(oE(a,b,c[47033]|0)|0)!=-1:0){if(!(pE(a)|0)){if((qE(a,b,d)|0)==-1){a=-1;break}}else if((rE(a,b,1)|0)==-1){a=-1;break}a=hE(f,b,97631)|0}else a=-1;while(0);return a|0}function nE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;g=i;d=i+8|0;e=HB(a)|0;f=uC(a)|0;if(!e){j=a+8|0;a=c[j+4>>2]|0;e=g;c[e>>2]=c[j>>2];c[e+4>>2]=a;i2(d,97651,g)|0;if((hE(f,b,d)|0)==-1)a=-1;else h=4}else if((sE(f,b,e)|0)==-1)a=-1;else h=4;if((h|0)==4)a=0;l=i;return a|0}function oE(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if((d|0)!=0?(e=uC(b)|0,f=OA(b,d)|0,(a[f>>0]|0)!=0):0)if((hE(e,c,108285)|0)==-1)b=-1;else{do if(gD(f)|0){if((sE(e,c,f)|0)==-1){b=-1;break a}}else{b=F3(f,58)|0;if(!b)if((tE(e,c,f,0)|0)==-1){b=-1;break a}else break;a[b>>0]=0;if((tE(e,c,f,0)|0)==-1){b=-1;break a}if((hE(e,c,108285)|0)==-1){b=-1;break a}if((tE(e,c,b+1|0,0)|0)==-1){b=-1;break a}a[b>>0]=58}while(0);b=0}else b=0;while(0);return b|0}function pE(a){a=a|0;return (c[a>>2]|0)>>>3&1|0}function qE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if(!(c[a>>2]&2)){e=0;k=4}else{switch(rE(a,b,0)|0){case -1:{e=-1;break a}case 0:{e=0;k=4;break a}default:{}}e=1;k=4}while(0);b:do if((k|0)==4){f=tA(a)|0;j=uC(a)|0;c:do if(f){i=f+12|0;h=eb[c[d>>2]&63](d,0,128)|0;while(1){if(!h)break c;f=h+16|0;do if(c[a>>2]&2){g=c[47032]|0;if(g|0?(c[f>>2]|0)==(c[g+16>>2]|0):0)break;g=c[47033]|0;if(!((g|0)!=0?(c[f>>2]|0)==(c[g+16>>2]|0):0))k=12}else k=12;while(0);if((k|0)==12){k=0;if((c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]|0)!=(c[h+12>>2]|0)){g=e+1|0;if(e){if((hE(j,b,97646)|0)==-1){e=-1;break b}if((gE(j,b)|0)==-1){e=-1;break b}}else{if((gE(j,b)|0)==-1){e=-1;break b}if((hE(j,b,97643)|0)==-1){e=-1;break b}c[47031]=(c[47031]|0)+1}if((sE(j,b,c[h+8>>2]|0)|0)==-1){e=-1;break b}if((hE(j,b,97649)|0)==-1){e=-1;break b}if((sE(j,b,c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]|0)|0)==-1){e=-1;break b}else e=g}}h=eb[c[d>>2]&63](d,h,8)|0}}while(0);if((e|0)>0){if((hE(j,b,97641)|0)==-1){e=-1;break}c[47031]=(c[47031]|0)+-1}c[a>>2]=c[a>>2]|8;e=0}while(0);return e|0}function rE(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=HB(b)|0;b=uC(b)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0)if((hE(b,c,97634)|0)!=-1?(sE(b,c,e)|0)!=-1:0)if((d|0)!=0?(hE(b,c,97641)|0)==-1:0)b=-1;else{b=1;f=7}else b=-1;else{b=0;f=7}return b|0}function sE(a,b,c){a=a|0;b=b|0;c=c|0;return tE(a,b,c,1)|0}function tE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!d)c=YD(c,_D(c)|0)|0;else c=ZD(c)|0;return hE(a,b,c)|0}function uE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a:do if(0>>0|(0==(e|0)?(c[b>>2]|0)>>>4>>>0>>0:0))b=0;else{b=XA(a,b)|0;while(1){if(!b){b=1;break a}if(0>>0|(0==(e|0)?(c[c[b+40>>2]>>2]|0)>>>4>>>0>>0:0)){b=0;break a}b=YA(a,b)|0}}while(0);return b|0}function vE(a,b){a=a|0;b=b|0;if(!(XA(a,b)|0))a=(UA(a,b)|0)==0;else a=0;return a&1|0}function wE(a){a=a|0;var b=0,d=0,e=0;a=tA(a)|0;a:do if(!a)a=0;else{d=a+8|0;e=c[d>>2]|0;b=a+12|0;a=eb[c[e>>2]&63](e,0,128)|0;while(1){if(!a){a=0;break a}if((c[(c[b>>2]|0)+(c[a+16>>2]<<2)>>2]|0)!=(c[a+12>>2]|0)){a=1;break a}e=c[d>>2]|0;a=eb[c[e>>2]&63](e,a,8)|0}}while(0);return a|0}function xE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=oA(a,0)|0;if(e)if(((yE(a,b,111795,c[e+16>>2]|0,d)|0)!=-1?(yE(a,b,111782,c[e+8>>2]|0,d)|0)!=-1:0)?(yE(a,b,111751,c[e+12>>2]|0,d)|0)!=-1:0)f=5;else a=-1;else f=5;if((f|0)==5)a=0;return a|0}function yE(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=(g|0)!=0;if(m)l=0;else l=Xz(f,0)|0;k=(l|0)==0;j=eb[c[f>>2]&63](f,0,128)|0;g=0;while(1){if(!j){n=23;break}i=j+12|0;n=c[i>>2]|0;if((n|0)!=0?(a[n>>0]|0)!=0:0)n=12;else n=7;do if((n|0)==7){n=0;if(!(a[j+22>>0]|0)){if(!k){h=eb[c[l>>2]&63](l,j,4)|0;o=c[h+12>>2]|0;if(o|0?a[o>>0]|0:0){n=12;break}if(!(a[h+22>>0]|0))n=12}}else n=12}while(0);if((n|0)==12){n=0;h=g+1|0;if(g){if((hE(b,d,97646)|0)==-1){g=-1;break}if((gE(b,d)|0)==-1){g=-1;break}}else{if((gE(b,d)|0)==-1){g=-1;break}if((hE(b,d,e)|0)==-1){g=-1;break}if((hE(b,d,97643)|0)==-1){g=-1;break}c[47031]=(c[47031]|0)+1}if((sE(b,d,c[j+8>>2]|0)|0)==-1){g=-1;break}if((hE(b,d,97649)|0)==-1){g=-1;break}if((sE(b,d,c[i>>2]|0)|0)==-1){g=-1;break}else g=h}j=eb[c[f>>2]&63](f,j,8)|0}do if((n|0)==23){if((g|0)>0){c[47031]=(c[47031]|0)+-1;if((g|0)!=1){if((hE(b,d,153748)|0)==-1){g=-1;break}if((gE(b,d)|0)==-1){g=-1;break}}g=(hE(b,d,97678)|0)==-1;if(m|g){g=g<<31>>31;break}}else if(m){g=0;break}Xz(f,l)|0;g=0}while(0);return g|0}function zE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(c[b>>2]&3){case 0:{g=82;break}case 1:{g=83;break}case 3:case 2:{g=84;break}default:{}}b=vb[g&127](a,b)|0;if(!b)b=-1;else{DE(a,b,d,e,g,f);b=0}return b|0}function AE(a,b){a=a|0;b=b|0;if((uC(b)|0)!=(a|0))b=jB(a,b,0)|0;return b|0}function BE(a,b){a=a|0;b=b|0;if((uC(b)|0)!=(a|0))b=lC(a,b,0)|0;return b|0}function CE(a,b){a=a|0;b=b|0;return a|0}function DE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=(f|0)!=0;if(h)rb[c&127](a,b,d);g=MD(a)|0;while(1){if(!g)break;i=vb[e&127](g,b)|0;if(i|0)DE(g,i,c,d,e,f);g=ND(g)|0}if(!h)rb[c&127](a,b,d);return}function EE(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+1200|0;s=u+800|0;h=u;c[47034]=0;c[47035]=-2;f=s;i=200;n=h;o=0;p=0;g=s;a:while(1){b[g>>1]=o;if((f+(i<<1)+-2|0)>>>0>g>>>0){q=i;r=f;k=h}else{m=(g-f>>1)+1|0;if(i>>>0>9999){t=76;break}j=i<<1;j=j>>>0<1e4?j:1e4;e=k6(j*6|3)|0;if(e){B6(e|0,f|0,m<<1|0)|0;i=e+(j>>>1<<2)|0;B6(i|0,n|0,m<<2|0)|0;if((f|0)==(s|0)){k=0;f=e}else{l6(f);k=0;f=e}}else{k=4;i=n}e=(k|0)==0;switch((e?((j|0)>(m|0)?0:9):k)&15){case 9:{e=1;t=77;break a}case 4:{t=76;break a}case 0:{q=j;r=f;k=e?i+(m<<2)+-4|0:h;n=i;g=e?f+(m<<1)+-2|0:g;break}default:{e=0;break a}}}if((o|0)==6){e=0;f=r;t=77;break}e=a[97682+o>>0]|0;i=e<<24>>24;j=(p|0)!=0;do if(e<<24>>24!=-18){f=c[47035]|0;if((f|0)==-2){f=kD()|0;c[47035]=f}if((f|0)>=1)if(f>>>0<269)h=d[97762+f>>0]|0;else h=2;else{c[47035]=0;h=0}f=h+i|0;if(f>>>0<=59?(d[98031+f>>0]|0)==(h|0):0){o=a[98091+f>>0]|0;e=o<<24>>24;if(o<<24>>24<1){f=0-e|0;t=23;break}else{c[47035]=-2;h=k+4|0;c[h>>2]=c[47036];j=j?p+-1|0:0;break}}else t=22}else t=22;while(0);if((t|0)==22){t=0;o=a[98151+o>>0]|0;f=o&255;if(!(o<<24>>24)){do if(j)if((p|0)==3){f=c[47035]|0;if((f|0)<1)if(!f){e=1;f=r;t=77;break a}else{f=k;break}else{c[47035]=-2;f=k;break}}else f=k;else{c[47034]=(c[47034]|0)+1;FD(142682);f=k}while(0);while(1){if(e<<24>>24==18)break;if((g|0)==(r|0)){e=1;f=r;t=77;break a}e=g+-2|0;f=f+-4|0;g=e;e=a[97682+(b[e>>1]|0)>>0]|0}h=f+4|0;c[h>>2]=c[47036];e=1;j=3}else t=23}do if((t|0)==23){t=0;j=d[98231+f>>0]|0;e=c[k+(1-j<<2)>>2]|0;h=k+-4|0;i=k+-8|0;b:do switch(f|0){case 2:{FE();GE();break}case 3:{if(c[47037]|0){FE();GE();pB(c[47037]|0)|0;c[46985]=0;c[47037]=0}break}case 6:{HE(c[k>>2]|0,c[h>>2]|0,c[i>>2]|0);break}case 7:{e=c[k>>2]|0;break}case 8:{e=0;break}case 9:{e=1;break}case 10:{e=0;break}case 11:{e=0;break}case 12:{e=1;break}case 21:if(!(c[h>>2]|0)){JE();break b}else{IE();break b}case 24:{KE();break}case 25:{KE();break}case 26:{e=1;break}case 27:{e=0;break}case 30:{LE(c[k>>2]|0,0,0);break}case 31:{LE(c[i>>2]|0,c[k>>2]|0,0);break}case 32:{LE(c[k+-16>>2]|0,c[i>>2]|0,c[k>>2]|0);break}case 33:{ME(c[i>>2]|0,c[h>>2]|0);break}case 34:{ME(258,0);break}case 35:{e=258;break}case 36:{e=259;break}case 37:{e=260;break}case 38:{e=c[h>>2]|0;break}case 39:{e=0;break}case 48:{NE(c[i>>2]|0,c[k>>2]|0);break}case 49:{NE(c[k>>2]|0,0);break}case 51:{OE(c[k>>2]|0);break}case 52:{PE();break}case 53:{e=c[k>>2]|0;break}case 54:{e=0;break}case 55:{e=0;break}case 59:{e=c[k>>2]|0;break}case 60:{e=c[k>>2]|0;break}case 61:{e=c[k>>2]|0;break}case 62:{e=QE(c[i>>2]|0,c[k>>2]|0)|0;break}default:{}}while(0);h=0-j|0;o=k+(h<<2)|0;g=g+(h<<1)|0;h=o+4|0;c[o+4>>2]=e;e=(d[98294+f>>0]|0)+-24|0;o=b[g>>1]|0;f=o+(a[98357+e>>0]|0)|0;if(f>>>0<60?(d[98031+f>>0]|0)==(o|0):0){e=a[98091+f>>0]|0;j=p;break}e=a[98392+e>>0]|0;j=p}while(0);f=r;i=q;o=e;p=j;g=g+2|0}if((t|0)==76){FD(140861);e=2;t=77}if((t|0)==77)if((f|0)!=(s|0))l6(f);l=u;return e|0}function FE(){var a=0,b=0;a=c[47038]|0;while(1){if(!a)break;YE(a+8|0);YE((c[47038]|0)+24|0);YE((c[47038]|0)+16|0);b=RE(c[47038]|0)|0;c[47038]=b;a=b}return}function GE(){GD();QB(c[47037]|0);return}function HE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=c[47037]|0;if(!f){a[188156]=d&1|(e&255)<<1&2|a[188156]&-12|8;f=c[47040]|0;c[g>>2]=c[47039];f=lB(b,g,f)|0;c[47037]=f}c[46985]=f;c[47038]=SE(c[47038]|0,f)|0;fD(0,b)|0;l=h;return}function IE(){var b=0,d=0,e=0,f=0,g=0,h=0;XE(2);e=c[47038]|0;f=a[98427]|0;h=0;b=e+24|0;while(1){d=c[b>>2]|0;if(!d)break;if(((c[d>>2]|0)==267?(g=c[d+4>>2]|0,(a[g>>0]|0)==f<<24>>24):0)?(f2(g,98427)|0)==0:0)b=c[d+8>>2]|0;else b=h;h=b;b=d+12|0}b=e+16|0;a:while(1){e=c[b>>2]|0;b=e+12|0;if(!(c[b>>2]|0))break;d=e+4|0;if((c[e>>2]|0)==262){e=c[d>>2]|0;d=gC(e)|0;while(1){if(!d)continue a;g=lC(c[c[47038]>>2]|0,d,0)|0;dF(g,0,c[b>>2]|0,h);d=hC(e,d)|0}}else while(1){d=c[d>>2]|0;if(!d)continue a;dF(c[d+4>>2]|0,c[d+8>>2]|0,c[b>>2]|0,h);d=d+12|0}}YE((c[47038]|0)+8|0);YE((c[47038]|0)+16|0);YE((c[47038]|0)+24|0);c[(c[47038]|0)+4>>2]=0;return}function JE(){var a=0;XE(1);a=(c[47038]|0)+8|0;while(1){a=c[a>>2]|0;if(!a)break;cF(c[a+4>>2]|0);a=a+12|0}YE((c[47038]|0)+8|0);YE((c[47038]|0)+24|0);YE((c[47038]|0)+16|0);c[(c[47038]|0)+4>>2]=0;return}function KE(){var a=0,b=0;a=c[47038]|0;b=c[a+8>>2]|0;if(!b){b=c[a+4>>2]|0;if(!b)b=0;else{b=bF(b)|0;a=c[47038]|0}c[a+4>>2]=0}else{b=aF(b)|0;a=c[47038]|0;c[a+12>>2]=0;c[a+8>>2]=0}if(b|0)UE(a+16|0,b);return}function LE(a,b,d){a=a|0;b=b|0;d=d|0;if(d)b=_E(b,d)|0;d=$E(qC(c[c[47038]>>2]|0,a,1)|0,b)|0;UE((c[47038]|0)+8|0,d);fD(c[47037]|0,a)|0;return}function ME(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(d|0)WE();d=(c[47038]|0)+24|0;while(1){d=c[d>>2]|0;if(!d)break;if(!(c[d+8>>2]|0))WE();d=d+12|0}g=(b|0)==260?2:(b|0)==259&1;XE(g);b=c[47038]|0;d=b+24|0;while(1){f=c[d>>2]|0;if(!f)break;do if((c[f>>2]|0)!=267){d=c[f+4>>2]|0;e=c[b>>2]|0;if(!((a[d+21>>0]|0)!=0&(e|0)==(c[47037]|0))){d=DA(e,g,c[d+8>>2]|0,c[f+8>>2]|0)|0;b=c[47038]|0;if((c[b>>2]|0)!=(c[47037]|0))break}a[d+22>>0]=1}while(0);d=f+12|0}YE(b+24|0);return}function NE(a,b){a=a|0;b=b|0;b=TE(a,b)|0;UE((c[47038]|0)+24|0,b);return}function OE(a){a=a|0;var b=0;b=c[47038]|0;c[47038]=SE(b,LD(c[b>>2]|0,a,1)|0)|0;fD(c[47037]|0,a)|0;return}function PE(){var a=0,b=0;a=c[47038]|0;b=c[a>>2]|0;a=RE(a)|0;c[47038]=a;c[a+4>>2]=b;return}function QE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+1024|0;f=g;d=D3(a)|0;d=d+1+(D3(b)|0)|0;if(d>>>0<1025)d=f;else d=k6(d)|0;O3(d,a)|0;g6(d,b)|0;e=dD(c[47037]|0,d)|0;fD(c[47037]|0,a)|0;fD(c[47037]|0,b)|0;if((d|0)!=(f|0))l6(d);l=g;return e|0}function RE(a){a=a|0;var b=0;b=c[(c[47038]|0)+32>>2]|0;bC(c[47037]|0,a);return b|0}function SE(a,b){a=a|0;b=b|0;var d=0;d=aC(c[47037]|0,36)|0;c[d+32>>2]=a;c[d>>2]=b;return d|0}function TE(a,b){a=a|0;b=b|0;return VE(267,a,b)|0}function UE(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;e=c[d>>2]|0;if(e|0)c[e+12>>2]=b;c[d>>2]=b;if(!(c[a>>2]|0))c[a>>2]=b;return}function VE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=aC(c[47037]|0,16)|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;return e|0}function WE(){var a=0;a=l;l=l+16|0;dA(0,98431,a)|0;l=a;return}function XE(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=(b|0)==2;d=(c[47038]|0)+24|0;while(1){d=c[d>>2]|0;if(!d)break;e=d+4|0;f=c[e>>2]|0;if(!((g?(a[f>>0]|0)==(a[98427]|0):0)?!(f2(f,98427)|0):0)){h=DA(c[c[47038]>>2]|0,b,f,0)|0;c[e>>2]=h;if(!h)c[e>>2]=DA(c[c[47038]>>2]|0,b,f,195341)|0;c[d>>2]=266;fD(c[47037]|0,f)|0}d=d+12|0}return}function YE(a){a=a|0;ZE(c[a>>2]|0);c[a+4>>2]=0;c[a>>2]=0;return}function ZE(a){a=a|0;var b=0;while(1){if(!a)break;b=c[a+12>>2]|0;switch(c[a>>2]|0){case 265:{ZE(c[a+4>>2]|0);break}case 266:case 267:{fD(c[47037]|0,c[a+8>>2]|0)|0;break}default:{}}bC(c[47037]|0,a);a=b}return}function _E(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+1040|0;f=h;g=h+8|0;d=D3(a)|0;d=d+2+(D3(b)|0)|0;if(d>>>0<1025)e=g;else e=k6(d)|0;c[f>>2]=a;c[f+4>>2]=b;i2(e,98464,f)|0;d=dD(c[47037]|0,e)|0;fD(c[47037]|0,a)|0;fD(c[47037]|0,b)|0;if((e|0)!=(g|0))l6(e);l=h;return d|0}function $E(a,b){a=a|0;b=b|0;return VE(259,a,b)|0}function aF(a){a=a|0;return VE(265,a,0)|0}function bF(a){a=a|0;return VE(262,a,0)|0}function cF(a){a=a|0;var b=0,d=0;b=(c[47038]|0)+24|0;while(1){b=c[b>>2]|0;if(!b)break;if((c[b>>2]|0)==266?(d=c[b+4>>2]|0,d|0):0)HA(a,d,c[b+8>>2]|0)|0;b=b+12|0}return}function dF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=d+4|0;a:do if((c[d>>2]|0)==262){d=c[f>>2]|0;f=gC(d)|0;while(1){if(!f)break a;eF(a,b,lC(c[c[47038]>>2]|0,f,0)|0,0,e);f=hC(d,f)|0}}else while(1){f=c[f>>2]|0;if(!f)break a;d=lC(c[c[47038]>>2]|0,c[f+4>>2]|0,0)|0;eF(a,b,d,c[f+8>>2]|0,e);f=f+12|0}while(0);return}function eF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;d=fB(c[c[47038]>>2]|0,a,d,f,1)|0;if(d|0){g=c[d>>2]&3;f=c[((g|0)==2?d:d+-48|0)+40>>2]|0;a=(f|0)==(a|0)?(c[((g|0)==3?d:d+48|0)+40>>2]|0)!=(f|0):0;fF(d,111756,a?e:b);fF(d,111765,a?b:e);cF(d)}return}function fF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=DA(c[c[47038]>>2]|0,2,b,0)|0;if(!e)e=DA(c[c[47038]>>2]|0,2,b,195341)|0;HA(a,e,d)|0}return}function gF(a,b,d){a=a|0;b=b|0;d=d|0;c[47005]=b;c[47037]=a;c[46985]=0;a=d|0?d:18644;c[47040]=a;jD(a,b);EE()|0;a=c[46985]|0;if(!a){ID();a=c[46985]|0}return a|0}function hF(a,b){a=a|0;b=b|0;return gF(0,a,b)|0}function iF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+8|0;j=m;d=c[b+76>>2]|0;f=c[b>>2]|0;i=b+12|0;if((d|0)!=0?(e=c[d>>2]|0,(e|0)!=0):0){db[e&127](b);g=12}else g=4;do if((g|0)==4)if((c[b+40>>2]|0)==0?(h=b+36|0,(c[h>>2]|0)==0):0){if(a[f+13>>0]|0)jF(b);d=b+32|0;e=c[d>>2]|0;if(!e){c[h>>2]=c[15840];g=12;break}f=f4(e,106813)|0;c[h>>2]=f;if(!f){k=c[(c[i>>2]|0)+16>>2]|0;i=c[d>>2]|0;d=v2(c[(L1()|0)>>2]|0)|0;c[j>>2]=i;c[j+4>>2]=d;lb[k&63](98470,j);d=1}else g=12}else g=12;while(0);if((g|0)==12)if(!(c[b+152>>2]&1024))d=0;else{lb[c[(c[i>>2]|0)+16>>2]&63](98508,k);d=1}l=m;return d|0}function jF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+112|0;e=h;g=h+4|0;d=c[b+24>>2]|0;if(!d)a[g>>0]=0;else{c[e>>2]=d+1;i2(g,98526,e)|0}e=c[b+20>>2]|0;e=e|0?e:98530;d=D3(e)|0;i=D3(g)|0;f=b+52|0;i=d+1+i+(D3(c[f>>2]|0)|0)|0;d=i+11|0;if((c[47041]|0)>>>0<(i+1|0)>>>0){c[47041]=d;d=n6(c[47042]|0,d)|0;c[47042]=d}else d=c[47042]|0;O3(d,e)|0;g6(c[47042]|0,g)|0;d=c[47042]|0;d=d+(D3(d)|0)|0;a[d>>0]=46;a[d+1>>0]=0;d=Y3(c[f>>2]|0)|0;f=c[47042]|0;while(1){e=I4(d,58)|0;if(!e)break;g6(f,e+1|0)|0;i=c[47042]|0;g=i+(D3(i)|0)|0;a[g>>0]=46;a[g+1>>0]=0;a[e>>0]=0;f=i}g6(f,d)|0;l6(d);c[b+32>>2]=c[47042];l=h;return}function kF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+8|0;g=i;if((b|0)!=0&(d|0)!=0){f=a+12|0;if(c[a+152>>2]&1024|0){lb[c[(c[f>>2]|0)+16>>2]&63](98508,g);$a(1)}if((lF(a,b,d)|0)==(d|0))e=d;else{g=c[(c[f>>2]|0)+16>>2]|0;c[h>>2]=d;lb[g&63](98540,h);$a(1)}}else e=0;l=i;return e|0}function lF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;f=c[(c[b>>2]|0)+104>>2]|0;do if(!f){j=b+40|0;h=c[j>>2]|0;if(!h){e=_3(d,1,e,c[b+36>>2]|0)|0;break}f=b+44|0;i=b+48|0;g=c[i>>2]|0;do if(((c[f>>2]|0)+-1-g|0)>>>0>>0){g=e+4096+g&-4096;c[f>>2]=g;f=n6(h,g)|0;c[j>>2]=f;if(!f){lb[c[(c[b+12>>2]|0)+16>>2]&63](98565,n);$a(1)}else{k=f;m=c[i>>2]|0;break}}else{k=h;m=g}while(0);B6(k+m|0,d|0,e|0)|0;n=(c[i>>2]|0)+e|0;c[i>>2]=n;a[(c[j>>2]|0)+n>>0]=0}else e=eb[f&63](b,d,e)|0;while(0);l=o;return e|0}function mF(a,b){a=a|0;b=b|0;var c=0;c=D3(b)|0;b=(kF(a,b,c)|0)==(c|0);return (b?1:-1)|0}function nF(b,c){b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;e=d;a[e>>0]=c;b=(kF(b,e,1)|0)==1;l=d;return (b?c:-1)|0}function oF(b){b=b|0;var d=0;d=c[b+36>>2]|0;if(((d|0)!=0?(a[b+144>>0]|0)==0:0)?(c[(c[b>>2]|0)+104>>2]|0)==0:0)b=m4(d)|0;else b=0;return b|0}function pF(a){a=a|0;var b=0,d=0;b=c[a+76>>2]|0;if(b|0?(d=c[b+4>>2]|0,d|0):0)db[d&127](a);oF(a)|0;return}function qF(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=c[a+76>>2]|0;if(c[a+152>>2]&1024|0){lb[c[(c[a+12>>2]|0)+16>>2]&63](98592,e);$a(1)}if((d|0)!=0?(b=c[d+8>>2]|0,(b|0)!=0):0)db[b&127](a);else{oF(a)|0;rF(a)}l=e;return}function rF(b){b=b|0;var d=0,e=0,f=0;d=b+32|0;if((c[d>>2]|0?(e=b+36|0,f=c[e>>2]|0,(f|0)!=(c[15840]|0)):0)?(a[b+144>>0]|0)==0:0){if(f|0){l4(f)|0;c[e>>2]=0}c[d>>2]=0}return}function sF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+1056|0;f=i;h=i+24|0;g=i+8|0;c[g>>2]=d;e=k2(h,1024,b,g)|0;if((e|0)>=0){if((e|0)>1023){e=IK(e+1|0)|0;c[g>>2]=d;f=e;e=j2(e,b,g)|0}else f=h;kF(a,f,e)|0;if((f|0)!=(h|0))l6(f)}else{c[f>>2]=v2(c[(L1()|0)>>2]|0)|0;dA(1,98609,f)|0}l=i;return}function tF(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=uF(e,b)|0;kF(a,f,c[e>>2]|0)|0;l=d;return}function uF(b,d){b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(d<-1.0e15))if(!(d>1.0e15)){d=d*1.0e4;f=~~(d+(d<0.0?-.5:.5));if(!f){f=138697;e=1}else{l=(f|0)<0;k=4;i=0;e=195106;f=l?0-f|0:f;while(1){h=e+-1|0;if(!((f|0)!=0|(k|0)>0))break;g=(f|0)%10|0;j=(f|0)/10|0;if((g|0)==0&i<<24>>24==0)f=0;else{a[h>>0]=g|48;f=1;e=h}if((k|0)==1)if(!(f<<24>>24))f=1;else{e=e+-1|0;a[e>>0]=46;f=1}k=k+-1|0;i=f;f=j}if(l){a[h>>0]=45;e=h}f=e;e=195106-e|0}}else{f=98624;e=18}else{f=98623;e=19}c[b>>2]=e;return f|0}function vF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=uF(e,+h[b>>3])|0;kF(a,f,c[e>>2]|0)|0;kF(a,102905,1)|0;b=uF(e,+h[b+8>>3])|0;kF(a,b,c[e>>2]|0)|0;l=d;return}function wF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;e=0;while(1){h=b+(e<<4)|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];vF(a,f);e=e+1|0;if((e|0)>=(d|0))break;kF(a,102905,1)|0}l=g;return}function xF(a,b){a=a|0;b=b|0;var d=0;d=HK(392)|0;if(d|0){c[d>>2]=20200;c[d+16>>2]=23;c[d+32>>2]=a;c[d+36>>2]=b}return d|0}function yF(a){a=a|0;var b=0,d=0,e=0,f=0;b=HK(392)|0;d=b;e=a;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));f=b+60|0;e=a+60|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];f=b+80|0;e=a+80|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];return b|0}function zF(a){a=a|0;GF(a);l6(a);return}function AF(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+160|0;d=c[e>>2]|0;if(d){e=c[47043]|0;if(e){d=c[e+4>>2]|0;if(!d){d=HK(632)|0;c[(c[47043]|0)+4>>2]=d}}}else{d=HK(632)|0;c[e>>2]=d;c[a+164>>2]=d}c[47043]=d;c[d+32>>2]=b;c[d>>2]=a;return}function BF(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+160|0;d=c[e>>2]|0;if(d){e=c[47044]|0;if(e){d=c[e+4>>2]|0;if(!d){d=HK(632)|0;c[(c[47044]|0)+4>>2]=d}}}else{d=HK(632)|0;c[e>>2]=d;c[a+164>>2]=d}c[47044]=d;c[d+52>>2]=b;c[d>>2]=a;return (JF(a,3,b)|0)!=0|0}function CF(a){a=a|0;var b=0;b=c[a+160>>2]|0;c[a+164>>2]=b;return b|0}function DF(a){a=a|0;var b=0,d=0,e=0;a=a+164|0;b=c[a>>2]|0;d=c[b+4>>2]|0;if(d|0?(e=d+52|0,(c[e>>2]|0)==0):0)c[e>>2]=c[b+52>>2];c[a>>2]=d;return d|0}function EF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+8|0;f=b+10|0;if((c[e>>2]|0)>(b|0))a=c[a>>2]|0;else{c[e>>2]=f;f=KK(c[a>>2]|0,f<<2)|0;c[a>>2]=f;a=f}c[a+(b<<2)>>2]=d;return}function FF(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0)l6(b);c[a>>2]=0;c[a+8>>2]=0;c[a+4>>2]=0;return}function GF(a){a=a|0;var b=0,d=0,e=0;d=a+160|0;b=c[d>>2]|0;while(1){if(!b)break;e=c[b+4>>2]|0;FF(b+604|0);FF(b+592|0);l6(c[b+584>>2]|0);l6(c[b+588>>2]|0);l6(b);b=e}c[47044]=0;c[47043]=0;c[a+192>>2]=0;c[a+164>>2]=0;c[d>>2]=0;c[a+28>>2]=0;return}function HF(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;m=l;l=l+128|0;j=m+64|0;k=m;N4(j,e,63)|0;i=F3(j,58)|0;if(i|0)a[i>>0]=0;d=b+60+(d<<2)|0;while(1){b=c[d>>2]|0;if(!b)break;N4(k,c[b+4>>2]|0,63)|0;b=F3(k,58)|0;if(b|0)a[b>>0]=0;if((f2(j,k)|0)<1)break;d=c[d>>2]|0}while(1){b=c[d>>2]|0;if(!b)break;N4(k,c[b+4>>2]|0,63)|0;b=F3(k,58)|0;if(b|0)a[b>>0]=0;if(f2(j,k)|0)break;b=c[d>>2]|0;if((c[b+8>>2]|0)>(f|0))d=b;else break}k=IK(20)|0;c[k>>2]=c[d>>2];c[d>>2]=k;c[k+4>>2]=e;c[k+8>>2]=f;c[k+12>>2]=g;c[k+16>>2]=h;l=m;return 1}function IF(a,b){a=a|0;b=b|0;b=l;l=l+16|0;dA(1,98697,b)|0;l=b;return 0}function JF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+144|0;r=s;o=s+80|0;p=s+16|0;n=(d+-3|0)>>>0<2?0:d;N4(o,e,63)|0;e=F3(o,58)|0;if(e){f=e+1|0;a[e>>0]=0;e=F3(f,58)|0;if(!e)m=0;else{a[e>>0]=0;m=e+1|0}}else{m=0;f=0}i=(f|0)!=0;j=(m|0)==0;k=(n|0)==(d|0);h=b+60+(d<<2)|0;a:while(1){e=c[h>>2]|0;if(!e){e=0;break}N4(p,c[e+4>>2]|0,63)|0;e=F3(p,58)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}do if(!(f2(p,o)|0)){g=(e|0)!=0;if(i&g?f2(e,f)|0:0)break;if(!j?f2(m,c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2]|0)|0:0)break;if(k|g^1){q=16;break a}if(JF(b,n,e)|0){q=16;break a}}while(0);h=c[h>>2]|0}do if((q|0)==16){e=c[h>>2]|0;f=e+16|0;g=b+8|0;if(e){if((c[f>>2]|0)==0?(IF(0,0)|0,(c[f>>2]|0)==0):0){e=0;break}if((c[g>>2]|0)>0){q=c[15715]|0;o=c[e+4>>2]|0;p=c[(c[e+12>>2]|0)+8>>2]|0;c[r>>2]=c[20212+(d<<2)>>2];c[r+4>>2]=o;c[r+8>>2]=p;z4(q,98728,r)|0}}else e=0}while(0);c[b+80+(d<<2)>>2]=e;l=s;return e|0}function KF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;do if(!e)e=0;else{if(c[5058]|0){hA(188180,0,0);c[5058]=0}h=Y3(e)|0;e=F3(h,58)|0;if(e){a[e>>0]=0;f=b+60+(d<<2)|0;e=1;g=f;while(1){b=c[g>>2]|0;if(!b)break;d=Y3(c[b+4>>2]|0)|0;b=F3(d,58)|0;if(b|0)a[b>>0]=0;if(!((a[h>>0]|0)!=0?(C3(h,d)|0)!=0:0)){e=c[47046]|0;if(e>>>0>=(c[47047]|0)>>>0){iA(188180,1)|0;e=c[47046]|0}c[47046]=e+1;a[e>>0]=32;kA(188180,c[(c[g>>2]|0)+4>>2]|0)|0;e=c[47046]|0;if(e>>>0>=(c[47047]|0)>>>0){iA(188180,1)|0;e=c[47046]|0}c[47046]=e+1;a[e>>0]=58;kA(188180,c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)|0;e=0}l6(d);g=c[g>>2]|0}l6(h);if(e<<24>>24){g=0;i=19}}else{l6(h);g=0;f=b+60+(d<<2)|0;e=1;i=19}if((i|0)==19){while(1){b=c[f>>2]|0;if(!b)break;d=Y3(c[b+4>>2]|0)|0;b=F3(d,58)|0;if(b|0)a[b>>0]=0;if(!((g|0)!=0?(C3(g,d)|0)==0:0)){e=c[47046]|0;if(e>>>0>=(c[47047]|0)>>>0){iA(188180,1)|0;e=c[47046]|0}c[47046]=e+1;a[e>>0]=32;kA(188180,d)|0;e=0}g=d;f=c[f>>2]|0;i=19}if(e<<24>>24){e=195341;break}}e=c[47046]|0;if(e>>>0>=(c[47047]|0)>>>0){iA(188180,1)|0;e=c[47046]|0}a[e>>0]=0;e=c[47045]|0;c[47046]=e}while(0);return e|0}function LF(b){b=b|0;var d=0;if(!b)Aa(111509,98745,573,98759);if(!(a[b>>0]|0))Aa(111514,98745,574,98759);d=c[47049]|0;if(!d)b=0;else b=eb[c[d>>2]&63](d,b,512)|0;return b|0}function MF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;if(!b)Aa(111613,98745,589,98776);g=b+8|0;e=c[g>>2]|0;if(!e)Aa(111616,98745,590,98776);if(!(a[e>>0]|0))Aa(111625,98745,591,98776);h=b+20|0;f=c[h>>2]|0;do if(!f){d=kP(e)|0;if(!d){c[i>>2]=c[g>>2];dA(0,98800,i)|0;d=0;break}i=f4(d,139124)|0;c[h>>2]=i;if(!i){c[j>>2]=v2(c[(L1()|0)>>2]|0)|0;c[j+4>>2]=d;dA(0,98825,j)|0;d=0;break}d=c[47050]|0;if((d|0)>49){a[b+17>>0]=1;d=1;break}else{c[47050]=d+1;d=1;break}}else{y4(f,0,0)|0;if(!(c[h>>2]|0))Aa(98846,98745,614,98776);else d=1}while(0);l=k;return d|0}function NF(b){b=b|0;var d=0,e=0;if(a[b+17>>0]|0?(d=b+20|0,e=c[d>>2]|0,e|0):0){l4(e)|0;c[d>>2]=0}return}function OF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0;if(!b){e=-1;d=-1}else{i=c[b+48>>2]|0;e=d+8|0;f=+(i|0);if(!i){g=+h[d>>3];f=+h[e>>3]}else{h[e>>3]=f;h[d>>3]=f;g=f}e=~~(+((c[b+40>>2]|0)*72|0)/g);d=~~(+((c[b+44>>2]|0)*72|0)/f)}c[a>>2]=e;c[a+4>>2]=d;return}function PF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+48|0;f=n+16|0;j=n;k=n+32|0;m=b+4|0;if((e|0)!=0?(a[e>>0]|0)!=0:0){if(((c[47179]|0)==0?(g=c[47178]|0,(c[47051]|0)!=(g|0)):0)?(c[47051]=g,i=c[47049]|0,i|0):0){Oz(i)|0;c[47049]=0}o=+h[(c[(c[d+16>>2]|0)+8>>2]|0)+24>>3];o=!(o>=1.0)?96.0:o;h[j+8>>3]=o;h[j>>3]=o;d=QF(e)|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];OF(k,d,f);d=c[k+4>>2]|0;f=c[k>>2]|0}else{d=-1;f=-1}c[b>>2]=f;c[m>>2]=d;l=n;return}function QF(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;if(!a)Aa(111509,98745,638,98852);if(!(c[47049]|0))c[47049]=Sz(20236,c[4599]|0)|0;b=LF(a)|0;a:do if(!b){b=HK(64)|0;if(!b)b=0;else{d=b+8|0;c[d>>2]=dD(0,a)|0;if(!((MF(b)|0)<<24>>24)){RF(b);b=0;break}if(!(c[b+20>>2]|0))Aa(98846,98745,653,98852);do switch(SF(b)|0){case 0:{a=gN(c[d>>2]|0)|0;c[b+52>>2]=a;if(!a){c[e>>2]=c[d>>2];dA(0,98869,e)|0;RF(b);b=0;break a}break}case 2:{TF(b);break}case 3:{UF(b);break}case 1:{VF(b);break}case 4:{WF(b);break}case 6:{XF(b);break}case 11:{YF(b);break}case 8:{ZF(b);break}case 5:{_F(b);break}case 12:{$F(b);break}default:{}}while(0);NF(b);e=c[47049]|0;eb[c[e>>2]&63](e,b,1)|0}}else NF(b);while(0);l=f;return b|0}function RF(a){a=a|0;var b=0;b=c[a+8>>2]|0;if(b|0)fD(0,b)|0;l6(a);return}function SF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+224|0;e=j+200|0;f=j;g=a+20|0;b=c[g>>2]|0;h=a+24|0;d=a+28|0;a:do if((b|0)!=0?(X5(e,1,20,b)|0)==20:0){b=0;while(1){if(b>>>0>=10){i=13;break a}if(!(g2(e,c[20272+(b<<4)>>2]|0,c[20272+(b<<4)+4>>2]|0)|0))break;b=b+1|0}c[d>>2]=c[20272+(b<<4)+12>>2];a=c[20272+(b<<4)+8>>2]|0;c[h>>2]=a;switch(b|0){case 7:break;case 8:{if(g2(e+8|0,99085,4)|0)break a;c[d>>2]=99090;c[h>>2]=11;a=11;break a}default:break a}while(1){if(!(o4(f,200,c[g>>2]|0)|0)){i=11;break}if(!(g2(f,99080,4)|0)){i=8;break}}if((i|0)==8){c[d>>2]=102104;c[h>>2]=8;a=8;break}else if((i|0)==11){a=c[h>>2]|0;break}}else i=13;while(0);if((i|0)==13){c[d>>2]=99095;c[h>>2]=0;a=0}l=j;return a|0}function TF(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;y4(c[e>>2]|0,6,0)|0;if((iG(c[e>>2]|0,2,b)|0)<<24>>24?(iG(c[e>>2]|0,2,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function UF(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;y4(c[e>>2]|0,16,0)|0;if((aG(c[e>>2]|0,4,b)|0)<<24>>24?(aG(c[e>>2]|0,4,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function VF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;b=h+12|0;d=h+8|0;e=h+4|0;f=h;c[a+48>>2]=0;g=a+20|0;y4(c[g>>2]|0,16,0)|0;if((((iG(c[g>>2]|0,2,b)|0)<<24>>24?(iG(c[g>>2]|0,2,d)|0)<<24>>24:0)?(iG(c[g>>2]|0,2,e)|0)<<24>>24:0)?(iG(c[g>>2]|0,2,f)|0)<<24>>24:0){c[a+40>>2]=c[b>>2]<<16|c[d>>2];c[a+44>>2]=c[e>>2]<<16|c[f>>2]}l=h;return}function WF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;b=o+16|0;e=o+12|0;j=o+8|0;k=o+4|0;m=o;c[a+48>>2]=0;n=a+20|0;while(1){if(!((aG(c[n>>2]|0,1,b)|0)<<24>>24))break;d=c[b>>2]|0;if((d|0)==255)continue;if(F3(99068,d)|0)continue;if((d|0)==192){i=6;break}f=c[n>>2]|0;if((d|0)==194){i=11;break}if(!((aG(f,2,e)|0)<<24>>24))break;y4(c[n>>2]|0,(c[e>>2]|0)+-2|0,1)|0}if((i|0)==6){d=a+40|0;b=a+44|0;if(((aG(c[n>>2]|0,3,m)|0)<<24>>24?(aG(c[n>>2]|0,2,j)|0)<<24>>24:0)?(aG(c[n>>2]|0,2,k)|0)<<24>>24:0){c[b>>2]=c[j>>2];c[d>>2]=c[k>>2]}}else if((((i|0)==11?(g=a+40|0,h=a+44|0,(aG(f,3,m)|0)<<24>>24):0)?(aG(c[n>>2]|0,2,j)|0)<<24>>24:0)?(aG(c[n>>2]|0,2,k)|0)<<24>>24:0){c[h>>2]=c[j>>2];c[g>>2]=c[k>>2]}l=o;return}function XF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1056|0;j=m;b=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;c[a+48>>2]=72;i=a+20|0;y4(c[i>>2]|0,0,0)|0;while(1){if(!(o4(b,1024,c[i>>2]|0)|0))break;d=C4(b,99053)|0;if(!d)continue;c[j>>2]=e;c[j+4>>2]=f;c[j+8>>2]=g;c[j+12>>2]=h;if((q4(d,104612,j)|0)==4){k=5;break}}if((k|0)==5){j=c[e>>2]|0;c[a+32>>2]=j;k=c[f>>2]|0;c[a+36>>2]=k;c[a+40>>2]=(c[g>>2]|0)-j;c[a+44>>2]=(c[h>>2]|0)-k}l=m;return}function YF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;b=h+4|0;e=h;c[a+48>>2]=0;f=a+20|0;y4(c[f>>2]|0,15,0)|0;i=(S5(c[f>>2]|0)|0)==88;g=c[f>>2]|0;d=a+40|0;a=a+44|0;if(i){y4(g,24,0)|0;if((iG(c[f>>2]|0,4,b)|0)<<24>>24?(iG(c[f>>2]|0,4,e)|0)<<24>>24:0){c[d>>2]=c[b>>2];c[a>>2]=c[e>>2]}}else{y4(g,26,0)|0;if((iG(c[f>>2]|0,2,b)|0)<<24>>24?(iG(c[f>>2]|0,2,e)|0)<<24>>24:0){c[d>>2]=c[b>>2];c[a>>2]=c[e>>2]}}l=h;return}function ZF(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+352|0;C=F+80|0;B=F+72|0;E=F+64|0;D=F+56|0;A=F+48|0;d=F+40|0;s=F+32|0;t=F+24|0;u=F+16|0;v=F+8|0;w=F;x=F+328|0;y=F+128|0;z=F+96|0;if(!(c[47052]|0)){if(X4(188212,98938,1)|0){c[d>>2]=98938;dA(1,98965,d)|0}c[47052]=188212}m=b+20|0;y4(c[m>>2]|0,0,0)|0;n=z+12|0;o=z+20|0;p=z+8|0;q=z+16|0;r=z+4|0;d=0;g=0;f=0;e=0;a:while(1){if(!(o4(y,200,c[m>>2]|0)|0))break;if(g<<24>>24==0|d<<24>>24==0){i=y;k=e}else break;b:while(1){j=f;c:while(1){while(1){if(M5(188212,i,4,z,0)|0){f=j;e=k;continue a}a[i+(c[n>>2]|0)>>0]=0;a[i+(c[o>>2]|0)>>0]=0;e=i+(c[p>>2]|0)|0;f=i+(c[q>>2]|0)|0;i=i+((c[r>>2]|0)+1)|0;if(!(f2(e,141419)|0))break;if(!(f2(e,141351)|0))break c;if(f2(e,99012)|0)continue;c[C>>2]=t;c[C+4>>2]=u;c[C+8>>2]=v;c[C+12>>2]=w;if((q4(f,99020,C)|0)==4)break b}c[A>>2]=s;c[A+4>>2]=x;if((q4(f,99002,A)|0)!=2){c[D>>2]=s;if((q4(f,101510,D)|0)==1){e=1;f=hG(+h[s>>3],99009)|0}else{e=g;f=j}}else{e=1;f=hG(+h[s>>3],x)|0}if(!(d<<24>>24)){d=0;g=e;j=f}else{g=e;e=k;continue a}}c[E>>2]=s;c[E+4>>2]=x;if((q4(f,99002,E)|0)!=2){c[B>>2]=s;if((q4(f,101510,B)|0)==1){d=1;e=hG(+h[s>>3],99009)|0}else e=k}else{d=1;e=hG(+h[s>>3],x)|0}if(!(g<<24>>24)){g=0;f=j;k=e}else{f=j;continue a}}d=1;g=1;f=~~(+h[v>>3]-+h[t>>3]+1.0)>>>0;e=~~(+h[w>>3]-+h[u>>3]+1.0)>>>0}c[b+48>>2]=0;c[b+40>>2]=f;c[b+44>>2]=e;l=F;return}function _F(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0;d=l;l=l+32|0;b=d;c[a+48>>2]=0;e=a+20|0;y4(c[e>>2]|0,0,0)|0;if(!(bG(c[e>>2]|0,b)|0)){g=+h[b>>3];c[a+32>>2]=~~g;f=+h[b+8>>3];c[a+36>>2]=~~f;c[a+40>>2]=~~(+h[b+16>>3]-g);c[a+44>>2]=~~(+h[b+24>>3]-f)}l=d;return}function $F(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;y4(c[e>>2]|0,6,0)|0;if((aG(c[e>>2]|0,1,b)|0)<<24>>24?(aG(c[e>>2]|0,1,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function aG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;e=0;while(1){if(e>>>0>=b>>>0){e=1;break}f=S5(a)|0;if(p4(a)|0){e=0;break}c[d>>2]=c[d>>2]<<8|f;e=e+1|0}return e|0}function bG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+1040|0;d=h;e=h+16|0;while(1){if(!(o4(e,1024,a)|0)){a=1;break}f=C4(e,98928)|0;if(f|0){g=4;break}}if((g|0)==4){c[d+4>>2]=e;c[d>>2]=f+9;c[d+8>>2]=a;a=cG(d,b)|0}l=h;return a|0}function cG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+1024|0;f=g;dG(b);e=a[c[b>>2]>>0]|0;if(!(e<<24>>24))e=(eG(b)|0)&255;else e=e<<24>>24;if((((e|0)==91?(c[b>>2]=(c[b>>2]|0)+1,fG(b,f),(gG(f,d)|0)==0):0)?(fG(b,f),(gG(f,d+8|0)|0)==0):0)?(fG(b,f),(gG(f,d+16|0)|0)==0):0){fG(b,f);e=(gG(f,d+24|0)|0)!=0&1}else e=1;l=g;return e|0}function dG(b){b=b|0;var d=0;d=c[b>>2]|0;while(1){d=a[d>>0]|0;if(!(d<<24>>24))d=(eG(b)|0)&255;else d=d<<24>>24;if(!((d&255)<<24>>24))break;if(!(X1(d&255)|0))break;d=(c[b>>2]|0)+1|0;c[b>>2]=d}return}function eG(b){b=b|0;var d=0;d=b+4|0;if(!(o4(c[d>>2]|0,1024,c[b+8>>2]|0)|0))b=0;else{d=c[d>>2]|0;c[b>>2]=d;b=a[d>>0]|0}return b|0}function fG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;dG(b);e=0;f=c[b>>2]|0;while(1){f=a[f>>0]|0;if(!(f<<24>>24))g=(eG(b)|0)&255;else g=f<<24>>24;f=g<<24>>24;if(!f)break;if(!((f|0)==46|(f+-48|0)>>>0<10))break;a[d+e>>0]=g;e=e+1|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;if((e|0)==1023){e=1023;break}}a[d+e>>0]=0;return}function gG(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;e=l;l=l+16|0;f=e;d=+b6(a,f);if((c[f>>2]|0)==(a|0))a=1;else{h[b>>3]=d;a=0}l=e;return a|0}function hG(a,b){a=+a;b=b|0;var c=0.0,d=0.0;d=a*72.0;do if(!(f2(b,99036)|0)){c=d;a=d>=0.0?.5:-.5}else{if(!(f2(b,99039)|0)){a=d/96.0;c=a;a=a>=0.0?.5:-.5;break}if(!(f2(b,99042)|0)){a=d/6.0;c=a;a=a>=0.0?.5:-.5;break}if(f2(b,99009)|0?f2(b,99045)|0:0)if(!(f2(b,99047)|0)){a=a*28.346456664;c=a;a=a>=0.0?.5:-.5;break}else{b=(f2(b,99050)|0)==0;d=a*2.8346456663999997;return (b?~~(d+(d>=0.0?.5:-.5)):0)|0}c=a>=0.0?.5:-.5}while(0);return ~~(a+c)|0}function iG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;e=0;while(1){if(e>>>0>=b>>>0){e=1;break}f=S5(a)|0;if(p4(a)|0){e=0;break}c[d>>2]=c[d>>2]|f<<(e<<3);e=e+1|0}return e|0}function jG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[b+20>>2]|0;if(a|0)l4(a)|0;if(c[b+52>>2]|0?(e=c[b+60>>2]|0,e|0):0)db[e&127](b);l6(b);return}function kG(){var a=0;DA(0,1,108525,105794)|0;a=xF(0,1)|0;_S(a,0);return a|0}function lG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0;m=l;l=l+304|0;k=m+24|0;j=m+8|0;f=m;i=m+40|0;if((tS(b,e)|0)!=999)if((uS(b,d)|0)==-1)b=-1;else{n=c[d+16>>2]|0;p=+h[n+32>>3];q=+h[n+16>>3];r=+h[n+24>>3];o=+h[n+40>>3];b=~~(r+(r>=0.0?.5:-.5));e=~~(q+(q>=0.0?.5:-.5));f=~~(p+(p>=0.0?.5:-.5));g=~~(o+(o>=0.0?.5:-.5));if(!(a[(c[n+8>>2]|0)+81>>0]|0)){c[k>>2]=e;c[k+4>>2]=b;c[k+8>>2]=f;c[k+12>>2]=g;i2(i,99200,k)|0}else{c[j>>2]=b;c[j+4>>2]=e;c[j+8>>2]=g;c[j+12>>2]=f;i2(i,99200,j)|0}QA(d,102972,i,195341)|0;b=0}else{b=KF(b,1,e)|0;c[f>>2]=e;c[f+4>>2]=b;dA(1,111534,f)|0;b=-1}l=m;return b|0}function mG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=c[b+60>>2]|0;BF(a,d)|0;d=c[a+164>>2]|0;c[d+56>>2]=HR(d,c[d+52>>2]|0)|0;b=d+152|0;if((RC(f,137786,0,1)|0)!=0?(c[(c[f+16>>2]|0)+8>>2]|0)!=0:0)h=5;else if(!(c[b>>2]&67108864)){gA(99212,g);b=-1}else h=5;if((h|0)==5){c[d+36>>2]=e;if(!e)c[b>>2]=c[b>>2]|134217728;b=QJ(a,f)|0;JR(d);GF(a)}l=i;return b|0}function nG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=c[b+60>>2]|0;BF(a,d)|0;b=c[a+164>>2]|0;c[b+56>>2]=HR(b,c[b+52>>2]|0)|0;if((RC(f,137786,0,1)|0)!=0?(c[(c[f+16>>2]|0)+8>>2]|0)!=0:0)h=5;else if(!(c[b+152>>2]&67108864)){gA(99212,g);b=-1}else h=5;if((h|0)==5){AF(a,e);h=QJ(a,f)|0;JR(b);qF(b);GF(a);b=h}l=i;return b|0}function oG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m+8|0;g=m;b=c[b+60>>2]|0;BF(a,d)|0;j=c[a+164>>2]|0;c[j+56>>2]=HR(j,c[j+52>>2]|0)|0;if((RC(b,137786,0,1)|0)!=0?(c[(c[b+16>>2]|0)+8>>2]|0)!=0:0)k=5;else if(!(c[j+152>>2]&67108864)){gA(99212,g);b=-1}else k=5;do if((k|0)==5){if(e|0?(i=k6(4096)|0,c[e>>2]=i,i|0):0){g=j+40|0;c[g>>2]=i;c[j+44>>2]=4096;d=j+48|0;c[d>>2]=0;b=QJ(a,b)|0;JR(j);if(!b){c[e>>2]=c[g>>2];c[f>>2]=c[d>>2]}GF(a);break}dA(1,99233,h)|0;b=-1}while(0);l=m;return b|0}function pG(a,b){a=a|0;b=b|0;YS(a,0,b);return}function qG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0;G=l;l=l+4288|0;C=G+8|0;B=G;E=4;F=k6(40)|0;c[F>>2]=0;y=G+4152|0;z=G+4148|0;A=G+4128|0;j=G+4112|0;k=G+16|0;o=0;i=la(24,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;a:do if((h|0)!=1){if(!i){c[d>>2]=0;g=0;break}o=0;n=aa(32,e|0,z|0,y|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)!=1){o=0;m=la(23,40)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)!=1){o=0;ba(16,A|0,j|0,k|0,24,85);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)!=1){o=0;e=la(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)!=1){j=A+16|0;i=c[j>>2]|0;g=e;while(1){if(!g)break;o=0;ra(i|0,g|0,0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=A6(c[h>>2]|0,F|0,E|0)|0;if(!e)Ca(h|0,p|0);D=p}else e=-1;if((e|0)==1){x=0;w=j;v=m;u=n;g=D;m=15;break a}o=0;g=ra(86,b|0,g|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=A6(c[h>>2]|0,F|0,E|0)|0;if(!e)Ca(h|0,p|0);D=p}else e=-1;if((e|0)==1){x=0;w=j;v=m;u=n;g=D;m=15;break a}}F=x6(188244,1,F|0,E|0)|0;E=D;o=0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){x=m;w=j;v=m;u=n;g=D;m=15}else{x=m;w=j;v=m;u=n;g=0;m=15}}else{x=0;w=0;v=m;u=n;g=D;m=15}}else{x=0;w=0;v=m;u=n;g=D;m=15}}else{x=0;w=0;v=m;u=n;g=D;m=15}}else{x=0;w=0;v=0;u=n;g=D;m=15}}else{x=0;w=0;v=0;u=0;g=D;m=15}while(0);do if((m|0)==15){b:while(1){c:do if(!g){o=0;e=la(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}t=u+(c[z>>2]|0)|0;k=0;m=0;j=0;while(1){if(!e)break;o=0;g=ra(c[w>>2]|0,e|0,-1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){i=A6(c[h>>2]|0,F|0,E|0)|0;if(!i)Ca(h|0,p|0);D=p}else i=-1;if((i|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}if((g|0)==0?(a[(c[e+16>>2]|0)+119>>0]|0)==3:0){if(!m){o=0;c[B>>2]=j;aa(33,t|0,137696,B|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}o=0;i=aa(34,b|0,u|0,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}o=0;pa(53,i|0,137786,280,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}c[x+(j<<2)>>2]=i;k=1;j=j+1|0}else i=m;o=0;pa(54,b|0,e|0,i|0,A|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}}else i=m;o=0;e=ra(86,b|0,e|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}m=i}o=0;e=la(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}i=10;q=x;n=v;s=v;while(1){if(!e){e=0;m=q;i=s;break c}o=0;g=ra(c[w>>2]|0,e|0,-1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){m=A6(c[h>>2]|0,F|0,E|0)|0;if(!m)Ca(h|0,p|0);D=p}else m=-1;if((m|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}if(!g){o=0;c[C>>2]=j;aa(33,t|0,137696,C|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}o=0;r=aa(34,b|0,u|0,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}o=0;pa(53,r|0,137786,280,1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){g=A6(c[h>>2]|0,F|0,E|0)|0;if(!g)Ca(h|0,p|0);D=p}else g=-1;if((g|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}o=0;pa(54,b|0,e|0,r|0,A|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}if((j|0)==(i|0)){i=j<<1;o=0;m=ra(87,n|0,j<<3|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}g=m;n=m;h=m}else{g=q;h=s}c[g+(j<<2)>>2]=r;q=g;j=j+1|0;m=h}else m=s;o=0;e=ra(86,b|0,e|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}s=m}}else{e=1;k=0;m=x;j=0;i=v}while(0);o=0;$(108,A|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue}if((u|0)!=(y|0)){o=0;$(105,u|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue}}if(!e){o=0;g=ra(87,i|0,j<<2|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=A6(c[h>>2]|0,F|0,E|0)|0;if(!e)Ca(h|0,p|0);D=p}else e=-1;if((e|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue}else{m=58;break}}c[d>>2]=0;g=0;while(1){if((g|0)>=(j|0))break;o=0;la(26,c[m+(g<<2)>>2]|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=A6(c[h>>2]|0,F|0,E|0)|0;if(!e)Ca(h|0,p|0);D=p}else e=-1;if((e|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}g=g+1|0}o=0;$(105,i|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15}else{m=56;break}}if((m|0)==56){g=0;break}else if((m|0)==58){c[d>>2]=j;a[f>>0]=k;break}}while(0);l6(F|0);l=G;return g|0}function rG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if(!((a|0)!=0?(AG(a)|0)!=0:0))a=99289;f=D3(a)|0;e=f+25|0;if((e|0)>=129){d=IK(e)|0;if(!d)d=0;else g=6}else g=6;if((g|0)==6){O3(d,a)|0;c[b>>2]=f}return d|0}function sG(a,b){a=a|0;b=b|0;lC(b,a,1)|0;return}function tG(b,d){b=b|0;d=d|0;var e=0;b=(c[b+16>>2]|0)+157|0;e=a[b>>0]|0;if((d|0)>=0)a[b>>0]=d;return e|0}function uG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[b>>2]=d;c[b+4>>2]=d+4096;c[b+12>>2]=0;c[b+8>>2]=0;c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=d;c[a+12>>2]=e;c[a+16>>2]=f;return}function vG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;yG(e,b);i=e+12|0;j=e+16|0;b=0;a:while(1){k=zG(e)|0;if(!k)break;b=b+1|0;f=c[i>>2]|0;if(f|0)lb[f&63](k,d);h=ZA(a,k)|0;while(1){if(!h)continue a;g=c[h>>2]&3;f=c[((g|0)==3?h:h+48|0)+40>>2]|0;if((f|0)==(k|0))f=c[((g|0)==2?h:h+-48|0)+40>>2]|0;if(!(vb[c[j>>2]&127](f,-1)|0))yG(e,f);h=_A(a,h,k)|0}}return b|0}function wG(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;while(1){if(!a)break;b=c[a+12>>2]|0;xG(a);a=b}return}function xG(a){a=a|0;l6(c[a>>2]|0);l6(a);return}function yG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;f=k;g=a+8|0;i=a+4|0;d=c[i>>2]|0;if((c[g>>2]|0)==(c[d+4>>2]|0)){d=c[d+12>>2]|0;do if(!d){e=IK(16)|0;if(!e){dA(1,99270,f)|0;Ca(188244,1)}c[e+8>>2]=c[i>>2];c[e+12>>2]=0;d=IK(4e6)|0;c[e>>2]=d;if(!d){dA(1,99270,j)|0;Ca(188244,1)}else{c[e+4>>2]=d+4e6;c[(c[i>>2]|0)+12>>2]=e;h=e;break}}else h=d;while(0);c[i>>2]=h;c[g>>2]=c[h>>2]}vb[c[a+16>>2]&127](b,1)|0;j=c[g>>2]|0;c[g>>2]=j+4;c[j>>2]=b;l=k;return}function zG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;d=a+4|0;e=c[d>>2]|0;if((b|0)==(c[e>>2]|0))if((e|0)==(c[a>>2]|0))b=0;else{b=c[e+8>>2]|0;c[d>>2]=b;b=c[b+4>>2]|0;c[f>>2]=b;g=4}else g=4;if((g|0)==4){b=b+-4|0;c[f>>2]=b;b=c[b>>2]|0}return b|0}function AG(b){b=b|0;var c=0;a:while(1){c=b;b=b+1|0;c=a[c>>0]|0;switch(c<<24>>24){case 95:continue a;case 0:{b=1;break a}default:{}}if(!(O2(c&255)|0)){b=0;break}}return b|0}function BG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+4272|0;w=z;x=4;y=k6(40)|0;c[y>>2]=0;t=z+4144|0;u=z+4140|0;v=z+4120|0;h=z+4104|0;i=z+8|0;o=0;f=la(24,a|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){e=A6(c[g>>2]|0,y|0,x|0)|0;if(!e)Ca(g|0,p|0);D=p}else e=-1;a:do if((e|0)!=1)if(f){o=0;k=aa(32,d|0,u|0,t|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)!=1){o=0;j=la(23,40)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)!=1){o=0;ba(16,v|0,h|0,i|0,24,85);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)!=1){o=0;f=la(25,a|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)!=1){h=v+16|0;g=c[h>>2]|0;e=f;while(1){if(!e)break;o=0;ra(g|0,e|0,0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=A6(c[d>>2]|0,y|0,x|0)|0;if(!f)Ca(d|0,p|0);D=p}else f=-1;if((f|0)==1){s=h;r=j;q=k;e=D;j=14;break a}o=0;e=ra(86,a|0,e|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=A6(c[d>>2]|0,y|0,x|0)|0;if(!f)Ca(d|0,p|0);D=p}else f=-1;if((f|0)==1){s=h;r=j;q=k;e=D;j=14;break a}}y=x6(188244,1,y|0,x|0)|0;x=D;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)==1){s=h;r=j;q=k;e=D;j=14}else{s=h;r=j;q=k;e=0;j=14}}else{s=0;r=j;q=k;e=D;j=14}}else{s=0;r=j;q=k;e=D;j=14}}else{s=0;r=j;q=k;e=D;j=14}}else{s=0;r=0;q=k;e=D;j=14}}else{d=0;e=0}else{s=0;r=0;q=0;e=D;j=14}while(0);b:do if((j|0)==14){c:while(1){if(e|0){o=0;$(108,v|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue}o=0;$(105,r|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue}if((q|0)==(t|0)){d=0;e=0;break b}o=0;$(105,q|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue}else{j=19;break}}o=0;f=la(25,a|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue}n=q+(c[u>>2]|0)|0;m=10;i=r;e=0;j=r;while(1){if(!f)break;o=0;d=ra(c[s>>2]|0,f|0,-1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,y|0,x|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}if(!d){o=0;c[w>>2]=e;aa(33,n|0,137696,w|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,y|0,x|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}o=0;k=aa(34,a|0,q|0,1)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,y|0,x|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}o=0;pa(53,k|0,137786,280,1)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,y|0,x|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}o=0;pa(54,a|0,f|0,k|0,v|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,y|0,x|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}if((e|0)==(m|0)){h=e<<1;o=0;i=ra(87,j|0,e<<3|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,y|0,x|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}g=i;d=i}else{h=m;g=i;d=j}c[g+(e<<2)>>2]=k;e=e+1|0;i=g;j=d}else h=m;o=0;f=ra(86,a|0,f|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,y|0,x|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}m=h}o=0;$(108,v|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=A6(c[d>>2]|0,y|0,x|0)|0;if(!f)Ca(d|0,p|0);D=p}else f=-1;if((f|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue}o=0;d=ra(87,j|0,e<<2|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,y|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue}if((q|0)==(t|0))break b;o=0;$(105,q|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,y|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14}else{j=39;break}}if((j|0)==19){d=0;e=0;break}else if((j|0)==39)break}while(0);c[b>>2]=e;l6(y|0);l=z;return d|0}function CG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=0;f=gC(a)|0;while(1){if(!f)break;e=UA(b,f)|0;while(1){if(!e)break;if(lC(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,0)|0){jB(a,e,1)|0;d=d+1|0}e=WA(b,e)|0}f=hC(a,f)|0}return d|0}function DG(a){a=a|0;a=PC(a,99294,0)|0;if(!a)Aa(99299,99302,529,99311);else return c[a+8>>2]|0;return 0}function EG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=l;l=l+4320|0;s=u+24|0;r=u+8|0;q=u;t=u+4184|0;p=u+4160|0;f=u+40|0;if(qB(b)|0){WC(b,0,99320,-12,0);WC(b,1,99332,16,0);o=rG(e,f,t)|0;k=FG(b)|0;m=IK((qB(k)|0)<<2)|0;uG(p,u+4144|0,u+48|0,24,88);h=gC(k)|0;n=p+16|0;i=o+(c[f>>2]|0)|0;j=c[15715]|0;e=0;while(1){if(!h)break;if(!(vb[c[n>>2]&127](h,-1)|0)){c[q>>2]=e;i2(i,100234,q)|0;v=LD(k,o,1)|0;w=LD(b,o,1)|0;RC(w,99320,12,0)|0;a[(PC(w,99320,0)|0)+8>>0]=1;f=vG(k,h,v,p)|0;HG(v,w);g=IG(w)|0;JG(b,w);c[m+(e<<2)>>2]=w;tC(k,v)|0;if(a[195234]|0){c[r>>2]=e;c[r+4>>2]=f;c[r+8>>2]=g;z4(j,99344,r)|0}e=e+1|0}h=hC(k,h)|0}if(a[195234]|0){r=qB(b)|0;v=rB(b)|0;w=HB(b)|0;c[s>>2]=r;c[s+4>>2]=v;c[s+8>>2]=e;c[s+12>>2]=w;z4(j,99374,s)|0}pB(k)|0;XC(b,0,99320);XC(b,1,99332);wG(p);f=KK(m,e<<2)|0;if((o|0)!=(t|0))l6(o)}else{f=0;e=0}c[d>>2]=e;l=u;return f|0}function FG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;c[g>>2]=c[4660];g=lB(99421,g,0)|0;MG(g,a);b=gC(a)|0;while(1){if(!b)break;if(!(c[(PC(b,99332,0)|0)+12>>2]|0)){f=qC(g,HB(b)|0,1)|0;RC(f,99332,16,1)|0;c[(c[f+16>>2]|0)+12>>2]=b;c[(PC(b,99332,0)|0)+12>>2]=f}b=hC(a,b)|0}d=gC(a)|0;while(1){if(!d)break;e=c[(PC(d,99332,0)|0)+12>>2]|0;b=UA(a,d)|0;while(1){if(!b)break;f=c[(PC(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0,99332,0)|0)+12>>2]|0;do if((f|0)!=(e|0))if(f>>>0>e>>>0){fB(g,e,f,0,1)|0;break}else{fB(g,f,e,0,1)|0;break}while(0);b=WA(a,b)|0}d=hC(a,d)|0}l=h;return g|0}function GG(b,d){b=b|0;d=d|0;var e=0;b=(c[b+16>>2]|0)+8|0;e=a[b>>0]|0;if((d|0)>=0)a[b>>0]=d;return e|0}function HG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=gC(a)|0;while(1){if(!e)break;f=c[(c[e+16>>2]|0)+12>>2]|0;a:do if((c[f>>2]&3|0)==1)lC(b,f,1)|0;else{d=gC(f)|0;while(1){if(!d)break a;lC(b,d,1)|0;d=hC(f,d)|0}}while(0);e=hC(a,e)|0}return}function IG(a){a=a|0;return CG(a,c[a+60>>2]|0)|0}function JG(a,b){a=a|0;b=b|0;KG(a,b,0);return}function KG(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=(d|0)==0;b=MD(b)|0;while(1){if(!b)break;if((a[(PC(b,99320,0)|0)+8>>0]|0)==0?(f=LG(b,c,d)|0,f|0):0){if(g)e=(h2(HB(b)|0,108307,7)|0)==0;else e=1;KG(b,f,e&1)}b=ND(b)|0}return}function LG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=0;h=gC(a)|0;while(1){f=(e|0)==0;if(!h)break;g=qC(b,HB(h)|0,0)|0;if(g){if(f)e=LD(b,HB(a)|0,1)|0;lC(e,g,1)|0}h=hC(a,h)|0}if((d|0)!=0&f)e=LD(b,HB(a)|0,1)|0;if(e|0?(CG(e,a)|0,RA(a,e)|0,(h2(HB(e)|0,108307,7)|0)==0):0)c[(RC(e,99294,12,0)|0)+8>>2]=a;return e|0}function MG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;g=h;d=MD(b)|0;e=c[15715]|0;while(1){if(!d)break;a:do if(!(h2(HB(d)|0,108307,7)|0)){f=qC(a,HB(d)|0,1)|0;RC(f,99332,16,1)|0;c[(c[f+16>>2]|0)+12>>2]=d;b=gC(d)|0;while(1){if(!b)break a;if(c[(PC(b,99332,0)|0)+12>>2]|0){k=HB(b)|0;j=HB(d)|0;i=HB(c[(PC(b,99332,0)|0)+12>>2]|0)|0;c[g>>2]=k;c[g+4>>2]=j;c[g+8>>2]=i;z4(e,99424,g)|0}c[(PC(b,99332,0)|0)+12>>2]=f;b=hC(d,b)|0}}else MG(a,d);while(0);d=ND(d)|0}l=h;return}function NG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0;n=+h[a>>3];j=~~(n+(n>=0.0?.5:-.5));n=+h[a+8>>3];a=~~(n+(n>=0.0?.5:-.5));n=+h[b>>3];g=~~(n+(n>=0.0?.5:-.5));n=+h[b+8>>3];f=~~(n+(n>=0.0?.5:-.5));l=g-j|0;i=((l|0)>-1?l:0-l|0)<<1;l=l>>31|1;m=f-a|0;k=((m|0)>-1?m:0-m|0)<<1;m=m>>31|1;a:do if((i|0)>(k|0)){e=0-i|0;d=k-(i>>1)|0;b=j;while(1){OL(c,b,a);if((b|0)==(g|0))break a;j=(d|0)>-1;d=d+k+(j?e:0)|0;b=b+l|0;a=(j?m:0)+a|0}}else{e=0-k|0;d=j;b=i-(k>>1)|0;while(1){OL(c,d,a);if((a|0)==(f|0))break a;k=(b|0)>-1;d=(k?l:0)+d|0;b=b+i+(k?e:0)|0;a=a+m|0}}while(0);return}function OG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;j=n+4|0;do if((a|0)<1)d=0;else{f=e+16|0;if((c[f>>2]|0)>>>0<4){d=PG(a,b,d,e)|0;break}m=IK(a<<5)|0;d=0;while(1){if((d|0)==(a|0))break;g=c[b+(d<<2)>>2]|0;zP(g);h=m+(d<<5)|0;g=(c[g+16>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];c[h+24>>2]=c[g+24>>2];c[h+28>>2]=c[g+28>>2];d=d+1|0}if((c[f>>2]|0)==4){h=e+28|0;a:do if(c[h>>2]&2|0){f=e+24|0;c[f>>2]=HK(a<<2)|0;d=0;while(1){if((d|0)==(a|0))break a;g=NA(c[b+(d<<2)>>2]|0,99491)|0;if(g|0?(c[k>>2]=j,g=(q4(g,137696,k)|0)>0,i=c[j>>2]|0,g&(i|0)>-1):0)c[(c[f>>2]|0)+(d<<2)>>2]=i;d=d+1|0}}while(0);d=QG(a,m,e)|0;if(c[h>>2]&2)l6(c[e+24>>2]|0)}else d=0;l6(m)}while(0);l=n;return d|0}function PG(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0;H=l;l=l+144|0;C=H+136|0;B=H+64|0;G=H+48|0;w=H+40|0;v=H;u=H+120|0;A=H+104|0;D=H+96|0;E=c[g+20>>2]|0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;a:do if((b|0)>=1){x=A+12|0;y=A+8|0;z=A+4|0;p=(E|0)==0;F=c[15715]|0;q=u+4|0;r=u+8|0;s=u+12|0;o=0;i=0;while(1){if((o|0)==(b|0))break;t=c[e+(o<<2)>>2]|0;zP(t);if(!p?(a[E+o>>0]|0)!=0:0){n=c[t+16>>2]|0;I=+h[n+16>>3];j=~~(I+(I>=0.0?.5:-.5));c[u>>2]=j;I=+h[n+24>>3];k=~~(I+(I>=0.0?.5:-.5));c[q>>2]=k;I=+h[n+32>>3];m=~~(I+(I>=0.0?.5:-.5));c[r>>2]=m;I=+h[n+40>>3];n=~~(I+(I>=0.0?.5:-.5));c[s>>2]=n;if(!i){c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2]}else{c[A>>2]=c[((j|0)<(c[A>>2]|0)?u:A)>>2];c[z>>2]=c[((k|0)<(c[z>>2]|0)?u:A)+4>>2];c[y>>2]=c[((m|0)>(c[y>>2]|0)?u:A)+8>>2];c[x>>2]=c[((n|0)>(c[x>>2]|0)?u:A)+12>>2]}i=i+1|0}if((d[195234]|0)>2){n=HB(t)|0;t=c[t+16>>2]|0;L=+h[t+16>>3];K=+h[t+24>>3];J=+h[t+32>>3];I=+h[t+40>>3];c[v>>2]=n;h[v+8>>3]=L;h[v+16>>3]=K;h[v+24>>3]=J;h[v+32>>3]=I;z4(F,99558,v)|0}o=o+1|0}r=IK(b<<5)|0;i=0;while(1){if((i|0)==(b|0))break;v=r+(i<<5)|0;u=(c[(c[e+(i<<2)>>2]|0)+16>>2]|0)+16|0;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];c[v+16>>2]=c[u+16>>2];c[v+20>>2]=c[u+20>>2];c[v+24>>2]=c[u+24>>2];c[v+28>>2]=c[u+28>>2];i=i+1|0}p=g+8|0;q=TG(b,r,c[p>>2]|0)|0;if(a[195234]|0){c[w>>2]=q;z4(F,99586,w)|0}if((q|0)>=1){o=(E|0)!=0;i=D+4|0;if(o){c[D>>2]=((c[y>>2]|0)+(c[A>>2]|0)|0)/2|0;c[i>>2]=((c[x>>2]|0)+(c[z>>2]|0)|0)/2|0}else{c[i>>2]=0;c[D>>2]=0}n=HK(b<<4)|0;m=g+16|0;i=0;while(1){if((i|0)>=(b|0))break;j=c[e+(i<<2)>>2]|0;k=n+(i<<4)|0;c[n+(i<<4)+12>>2]=i;if((c[m>>2]|0)==3){y=(c[j+16>>2]|0)+16|0;z=c[p>>2]|0;A=HB(j)|0;c[B>>2]=c[y>>2];c[B+4>>2]=c[y+4>>2];c[B+8>>2]=c[y+8>>2];c[B+12>>2]=c[y+12>>2];c[B+16>>2]=c[y+16>>2];c[B+20>>2]=c[y+20>>2];c[B+24>>2]=c[y+24>>2];c[B+28>>2]=c[y+28>>2];c[C>>2]=c[D>>2];c[C+4>>2]=c[D+4>>2];UG(B,k,q,z,C,A)}else{c[C>>2]=c[D>>2];c[C+4>>2]=c[D+4>>2];VG(f,j,k,q,g,C)}i=i+1|0}k=HK(b<<2)|0;i=0;while(1){if((i|0)>=(b|0))break;c[k+(i<<2)>>2]=n+(i<<4);i=i+1|0}k3(k,b,4,89);m=IL()|0;i=HK(b<<3)|0;b:do if(o){j=0;while(1){if((j|0)>=(b|0)){j=0;break}if(a[E+j>>0]|0){f=c[k+(j<<2)>>2]|0;g=i+(c[f+12>>2]<<3)|0;c[C>>2]=c[D>>2];c[C+4>>2]=c[D+4>>2];XG(f,m,g,C)}j=j+1|0}while(1){if((j|0)>=(b|0))break b;if(!(a[E+j>>0]|0)){D=c[k+(j<<2)>>2]|0;YG(j,D,m,i+(c[D+12>>2]<<3)|0,q,c[p>>2]|0,r)}j=j+1|0}}else{j=0;while(1){if((j|0)>=(b|0))break b;E=c[k+(j<<2)>>2]|0;YG(j,E,m,i+(c[E+12>>2]<<3)|0,q,c[p>>2]|0,r);j=j+1|0}}while(0);l6(k);j=0;while(1){if((j|0)>=(b|0))break;l6(c[n+(j<<4)+4>>2]|0);j=j+1|0}l6(n);LL(m);l6(r);if((d[195234]|0)>1){j=0;while(1){if((j|0)>=(b|0))break a;D=c[i+(j<<3)>>2]|0;E=c[i+(j<<3)+4>>2]|0;c[G>>2]=j;c[G+4>>2]=D;c[G+8>>2]=E;z4(F,99602,G)|0;j=j+1|0}}}else i=0}else i=0;while(0);l=H;return i|0}function QG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+16|0;f=C;A=HK(b<<3)|0;y=c[e+4>>2]|0;B=e+28|0;z=(c[B>>2]&1|0)==0;v=(y|0)>0;w=b+-1|0;x=~~+R(+(+G(+(+(b|0)))));w=v?(w+y|0)/(y|0)|0:(w+x|0)/(x|0)|0;x=v?y:x;y=z?x:w;x=z?w:x;if(a[195234]|0){w=c[15715]|0;c[f>>2]=z?99497:99507;c[f+4>>2]=x;c[f+8>>2]=y;z4(w,99520,f)|0}u=HK((y<<3)+8|0)|0;v=HK((x<<3)+8|0)|0;w=HK(b*24|0)|0;j=e+8|0;f=0;i=w;while(1){if((f|0)>=(b|0))break;o=+h[d+(f<<5)+8>>3];n=+h[d+(f<<5)+24>>3];p=+((c[j>>2]|0)>>>0);h[i>>3]=+h[d+(f<<5)+16>>3]-+h[d+(f<<5)>>3]+p;h[i+8>>3]=n-o+p;c[i+16>>2]=f;f=f+1|0;i=i+24|0}t=HK(b<<2)|0;f=0;while(1){if((f|0)>=(b|0))break;c[t+(f<<2)>>2]=w+(f*24|0);f=f+1|0}f=c[e+24>>2]|0;if(!f)if(!(c[B>>2]&64)){k3(t,b,4,91);i=0;f=0;k=0}else{i=0;f=0;k=0}else{c[47100]=f;k3(t,b,4,90);i=0;f=0;k=0}while(1){if((k|0)>=(b|0)){g=0.0;f=0;break}e=c[t+(k<<2)>>2]|0;j=u+(f<<3)|0;p=+h[j>>3];o=+h[e>>3];h[j>>3]=p>o?p:o;j=v+(i<<3)|0;o=+h[j>>3];p=+h[e+8>>3];h[j>>3]=o>p?o:p;j=i+1|0;e=f+1|0;if(z){f=(e|0)==(y|0);i=f?j:i;f=f?0:e}else{s=(j|0)==(x|0);i=s?0:j;f=s?e:f}k=k+1|0}while(1){if((f|0)>(y|0)){g=0.0;f=x;break}s=u+(f<<3)|0;p=+h[s>>3];h[s>>3]=g;g=g+p;f=f+1|0}while(1){if((f|0)<=0)break;s=f+-1|0;p=+h[v+(s<<3)>>3];h[v+(f<<3)>>3]=g;g=g+p;f=s}h[v>>3]=g;i=0;f=0;s=0;while(1){if((s|0)>=(b|0))break;q=c[(c[t+(s<<2)>>2]|0)+16>>2]|0;g=+h[d+(q<<5)>>3];p=+h[d+(q<<5)+8>>3];m=+h[d+(q<<5)+16>>3];o=+h[d+(q<<5)+24>>3];k=c[B>>2]|0;j=u+(f<<3)|0;r=f+1|0;do if(!(k&4)){n=+h[u+(r<<3)>>3];if(!(k&8)){g=(n+ +h[j>>3]-m-g)*.5;break}else{g=n-(m-g);break}}else g=+h[j>>3];while(0);c[A+(q<<3)>>2]=~~g;j=v+(i<<3)|0;e=i+1|0;if(!(k&16)){g=+h[v+(e<<3)>>3];if(!(k&32))g=(g+ +h[j>>3]-o-p)*.5}else g=+h[j>>3]-(o-p);c[A+(q<<3)+4>>2]=~~g;if(z){f=(r|0)==(y|0);i=f?e:i;f=f?0:r}else{q=(e|0)==(x|0);i=q?0:e;f=q?r:f}s=s+1|0}l6(w);l6(t);l6(u);l6(v);l=C;return A|0}function RG(a,b){a=a|0;b=b|0;var d=0;d=c[47100]|0;a=c[d+(c[(c[a>>2]|0)+16>>2]<<2)>>2]|0;b=c[d+(c[(c[b>>2]|0)+16>>2]<<2)>>2]|0;return ((a|0)>(b|0)?1:((a|0)<(b|0))<<31>>31)|0}function SG(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a>>2]|0;b=c[b>>2]|0;e=+h[a+8>>3]+ +h[a>>3];d=+h[b+8>>3]+ +h[b>>3];return (ed)<<31>>31)|0}function TG(a,b,e){a=a|0;b=b|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;t=l;l=l+96|0;r=t+80|0;s=t+48|0;q=t+8|0;n=t;m=(a*100|0)+-1|0;f=+(e<<1|0);o=0.0;p=0.0;e=0;while(1){if((e|0)>=(a|0))break;j=f+(+h[b+(e<<5)+16>>3]-+h[b+(e<<5)>>3]);k=f+(+h[b+(e<<5)+24>>3]-+h[b+(e<<5)+8>>3]);o=o-(j+k);p=p-j*k;e=e+1|0}j=+(m|0);k=o*o-j*4.0*p;if(!(k<0.0)){f=+G(+k);i=j*2.0;g=(f-o)/i;i=(-o-f)/i;e=~~g;e=(e|0)==0?1:e;if((d[195234]|0)>2){n=c[15715]|0;_3(99745,27,1,n)|0;h[q>>3]=j;h[q+8>>3]=o;h[q+16>>3]=p;h[q+24>>3]=k;h[q+32>>3]=f;z4(n,99773,q)|0;c[s>>2]=e;h[s+8>>3]=g;c[s+16>>2]=~~i;h[s+24>>3]=i;z4(n,99799,s)|0;h[r>>3]=p+(o*g+g*(j*g));h[r+8>>3]=p+(o*i+i*(j*i));z4(n,99821,r)|0}}else{h[n>>3]=k;dA(1,99718,n)|0;e=-1}l=t;return e|0}function UG(a,b,e,f,g,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0.0,x=0.0;v=l;l=l+32|0;u=v+16|0;t=v;q=+h[a>>3];r=+h[a+8>>3];o=+h[a+16>>3];p=+h[a+24>>3];s=IL()|0;k=c[g>>2]|0;a=k-f|0;m=c[g+4>>2]|0;j=m-f|0;k=f-~~(q+(q>=0.0?.5:-.5))+k+~~(o+(o>=0.0?.5:-.5))|0;m=f-~~(r+(r>=0.0?.5:-.5))+m+~~(p+(p>=0.0?.5:-.5))|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)n=(j|0)/(e|0)|0;else n=((j+1|0)/(e|0)|0)+-1|0;if((k|0)>-1)k=(k|0)/(e|0)|0;else k=((k+1|0)/(e|0)|0)+-1|0;if((m|0)>-1)j=(m|0)/(e|0)|0;else j=((m+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(k|0))break;else a=n;while(1){if((a|0)>(j|0))break;OL(s,g,a);a=a+1|0}g=g+1|0}m=b+4|0;c[m>>2]=SL(s)|0;k=RL(s)|0;n=b+8|0;c[n>>2]=k;x=+(f<<1|0);w=+(e|0);j=~~+R(+((x+(o-q))/w));a=~~+R(+((x+(p-r))/w));c[b>>2]=a+j;a:do if((d[195234]|0)>2){g=c[15715]|0;c[t>>2]=i;c[t+4>>2]=k;c[t+8>>2]=j;c[t+12>>2]=a;z4(g,99677,t)|0;a=0;while(1){if((a|0)>=(c[n>>2]|0))break a;i=c[m>>2]|0;t=c[i+(a<<3)+4>>2]|0;c[u>>2]=c[i+(a<<3)>>2];c[u+4>>2]=t;z4(g,99704,u)|0;a=a+1|0}}while(0);LL(s);l=v;return}function VG(a,b,e,f,g,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,S=0.0;P=l;l=l+128|0;G=P+112|0;F=P+104|0;O=P+16|0;N=P;I=P+64|0;J=P+56|0;A=P+40|0;B=P+96|0;z=P+88|0;w=P+24|0;x=P+80|0;y=P+72|0;L=c[g+8>>2]|0;H=c[g+12>>2]|0;D=(a|0)==0?b:a;M=IL()|0;K=b+16|0;C=c[K>>2]|0;u=+h[C+16>>3];E=(c[i>>2]|0)-~~(u+(u>=0.0?.5:-.5))|0;u=+h[C+24>>3];C=(c[i+4>>2]|0)-~~(u+(u>=0.0?.5:-.5))|0;a:do if((c[g+16>>2]|0)==1){w=IK((qB(b)|0)<<2)|0;a=0;i=gC(b)|0;while(1){if(!i)break;y=i+16|0;c[w+(a<<2)>>2]=c[(c[y>>2]|0)+112>>2];c[(c[y>>2]|0)+112>>2]=0;a=a+1|0;i=hC(b,i)|0}p=E-L|0;q=C-L|0;r=E+L|0;s=C+L|0;o=1;while(1){a=c[K>>2]|0;if((o|0)>(c[a+180>>2]|0))break;n=c[(c[a+184>>2]|0)+(o<<2)>>2]|0;j=c[n+16>>2]|0;u=+h[j+16>>3];a=~~(u+(u>=0.0?.5:-.5));u=+h[j+24>>3];i=~~(u+(u>=0.0?.5:-.5));u=+h[j+32>>3];g=~~(u+(u>=0.0?.5:-.5));u=+h[j+40>>3];j=~~(u+(u>=0.0?.5:-.5));b:do if((g|0)>(a|0)&(j|0)>(i|0)){a=p+a|0;k=q+i|0;g=r+g|0;m=s+j|0;if((a|0)>-1)i=(a|0)/(f|0)|0;else i=((a+1|0)/(f|0)|0)+-1|0;if((k|0)>-1)k=(k|0)/(f|0)|0;else k=((k+1|0)/(f|0)|0)+-1|0;if((g|0)>-1)j=(g|0)/(f|0)|0;else j=((g+1|0)/(f|0)|0)+-1|0;if((m|0)>-1)g=(m|0)/(f|0)|0;else g=((m+1|0)/(f|0)|0)+-1|0;while(1){if((i|0)>(j|0))break;else a=k;while(1){if((a|0)>(g|0))break;OL(M,i,a);a=a+1|0}i=i+1|0}a=gC(n)|0;while(1){if(!a)break b;c[(c[a+16>>2]|0)+212>>2]=n;a=hC(n,a)|0}}while(0);o=o+1|0}s=A+8|0;t=I+4|0;u=+(L|0);v=J+4|0;r=B+4|0;q=z+4|0;p=gC(b)|0;while(1){if(!p)break;hP(A,p);S=+h[A>>3];Q=+h[s>>3];n=~~(S+(S>=0.0?.5:-.5))+E|0;c[I>>2]=n;o=~~(Q+(Q>=0.0?.5:-.5))+C|0;c[t>>2]=o;i=p+16|0;a=c[i>>2]|0;c:do if(!(c[a+212>>2]|0)){c[J>>2]=~~(u+(+h[a+88>>3]+ +h[a+96>>3])*.5);c[v>>2]=~~(u+ +h[a+80>>3]*.5);c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];_G(B,F,G);a=c[B>>2]|0;g=c[r>>2]|0;c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];$G(z,F,G);j=c[z>>2]|0;k=c[q>>2]|0;if((a|0)>-1)i=(a|0)/(f|0)|0;else i=((a+1|0)/(f|0)|0)+-1|0;if((g|0)>-1)m=(g|0)/(f|0)|0;else m=((g+1|0)/(f|0)|0)+-1|0;if((j|0)>-1)j=(j|0)/(f|0)|0;else j=((j+1|0)/(f|0)|0)+-1|0;if((k|0)>-1)g=(k|0)/(f|0)|0;else g=((k+1|0)/(f|0)|0)+-1|0;while(1){if((i|0)>(j|0))break;else a=m;while(1){if((a|0)>(g|0))break;OL(M,i,a);a=a+1|0}i=i+1|0}if((n|0)>-1)a=(n|0)/(f|0)|0;else a=((n+1|0)/(f|0)|0)+-1|0;c[I>>2]=a;if((o|0)>-1)a=(o|0)/(f|0)|0;else a=((o+1|0)/(f|0)|0)+-1|0;c[t>>2]=a;a=UA(D,p)|0;while(1){if(!a)break c;c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];aH(a,G,M,E,C,f,H);a=WA(D,a)|0}}else{if((n|0)>-1)a=(n|0)/(f|0)|0;else a=((n+1|0)/(f|0)|0)+-1|0;c[I>>2]=a;if((o|0)>-1)a=(o|0)/(f|0)|0;else a=((o+1|0)/(f|0)|0)+-1|0;c[t>>2]=a;a=UA(D,p)|0;while(1){if(!a)break c;if((c[(c[i>>2]|0)+212>>2]|0)!=(c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)){c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];aH(a,G,M,E,C,f,H)}a=WA(D,a)|0}}while(0);p=hC(b,p)|0}a=0;i=gC(b)|0;while(1){if(!i)break;c[(c[i+16>>2]|0)+112>>2]=c[w+(a<<2)>>2];a=a+1|0;i=hC(b,i)|0}l6(w)}else{s=w+8|0;t=I+4|0;u=+(L|0);v=J+4|0;r=x+4|0;q=y+4|0;p=gC(b)|0;while(1){if(!p)break a;hP(w,p);Q=+h[w>>3];S=+h[s>>3];n=~~(Q+(Q>=0.0?.5:-.5))+E|0;c[I>>2]=n;o=~~(S+(S>=0.0?.5:-.5))+C|0;c[t>>2]=o;a=c[p+16>>2]|0;c[J>>2]=~~(u+(+h[a+88>>3]+ +h[a+96>>3])*.5);c[v>>2]=~~(u+ +h[a+80>>3]*.5);c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];_G(x,F,G);a=c[x>>2]|0;g=c[r>>2]|0;c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];$G(y,F,G);j=c[y>>2]|0;k=c[q>>2]|0;if((a|0)>-1)i=(a|0)/(f|0)|0;else i=((a+1|0)/(f|0)|0)+-1|0;if((g|0)>-1)m=(g|0)/(f|0)|0;else m=((g+1|0)/(f|0)|0)+-1|0;if((j|0)>-1)j=(j|0)/(f|0)|0;else j=((j+1|0)/(f|0)|0)+-1|0;if((k|0)>-1)g=(k|0)/(f|0)|0;else g=((k+1|0)/(f|0)|0)+-1|0;while(1){if((i|0)>(j|0))break;else a=m;while(1){if((a|0)>(g|0))break;OL(M,i,a);a=a+1|0}i=i+1|0}if((n|0)>-1)a=(n|0)/(f|0)|0;else a=((n+1|0)/(f|0)|0)+-1|0;c[I>>2]=a;if((o|0)>-1)a=(o|0)/(f|0)|0;else a=((o+1|0)/(f|0)|0)+-1|0;c[t>>2]=a;a=UA(D,p)|0;while(1){if(!a)break;c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];aH(a,G,M,E,C,f,H);a=WA(D,a)|0}p=hC(b,p)|0}}while(0);j=e+4|0;c[j>>2]=SL(M)|0;k=e+8|0;c[k>>2]=RL(M)|0;i=c[K>>2]|0;Q=+(L<<1|0);S=+(f|0);a=~~+R(+((Q+(+h[i+32>>3]-+h[i+16>>3]))/S));i=~~+R(+((Q+(+h[i+40>>3]-+h[i+24>>3]))/S));c[e>>2]=i+a;d:do if((d[195234]|0)>2){g=c[15715]|0;e=HB(b)|0;b=c[k>>2]|0;c[N>>2]=e;c[N+4>>2]=b;c[N+8>>2]=a;c[N+12>>2]=i;z4(g,99677,N)|0;a=0;while(1){if((a|0)>=(c[k>>2]|0))break d;b=c[j>>2]|0;N=c[b+(a<<3)+4>>2]|0;c[O>>2]=c[b+(a<<3)>>2];c[O+4>>2]=N;z4(g,99704,O)|0;a=a+1|0}}while(0);LL(M);l=P;return}function WG(a,b){a=a|0;b=b|0;return (c[c[b>>2]>>2]|0)-(c[c[a>>2]>>2]|0)|0}function XG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;i=k+16|0;j=k;m=c[a+4>>2]|0;h=c[a+8>>2]|0;c[e>>2]=0-(c[f>>2]|0);g=e+4|0;c[g>>2]=0-(c[f+4>>2]|0);a=0;f=m;while(1){if((a|0)>=(h|0))break;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];ML(b,i);a=a+1|0;f=f+8|0}if((d[195234]|0)>1){m=c[15715]|0;b=c[e>>2]|0;e=c[g>>2]|0;c[j>>2]=h;c[j+4>>2]=b;c[j+8>>2]=e;z4(m,99651,j)|0}l=k;return}function YG(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,l=0,m=0,n=0.0,o=0.0;m=c[b+12>>2]|0;j=+h[i+(m<<5)+24>>3]-+h[i+(m<<5)+8>>3];k=+h[i+(m<<5)+16>>3]-+h[i+(m<<5)>>3];if(!((a|0)==0?(o=+(g<<1|0),n=+(f|0),(ZG((~~+R(+((o+k)/n))|0)/-2|0,(~~+R(+((o+j)/n))|0)/-2|0,b,d,e,f,i)|0)!=0):0))l=3;a:do if((l|0)==3?(ZG(0,0,b,d,e,f,i)|0)==0:0)if((~~+R(+k)|0)<(~~+R(+j)|0)){m=1;while(1){l=0-m|0;a=0;while(1){if((a|0)<=(l|0)){g=l;break}if(ZG(l,a,b,d,e,f,i)|0)break a;a=a+-1|0}while(1){if((g|0)>=(m|0))break;if(ZG(g,a,b,d,e,f,i)|0)break a;g=g+1|0}while(1){if((a|0)>=(m|0))break;if(ZG(g,a,b,d,e,f,i)|0)break a;a=a+1|0}while(1){if((g|0)<=(l|0))break;if(ZG(g,a,b,d,e,f,i)|0)break a;g=g+-1|0}while(1){if((a|0)<=0)break;if(!(ZG(g,a,b,d,e,f,i)|0))a=a+-1|0;else break a}m=m+1|0}}else{m=1;while(1){l=0-m|0;a=0;while(1){if((a|0)>=(m|0)){g=l;break}if(ZG(a,l,b,d,e,f,i)|0)break a;a=a+1|0}while(1){if((g|0)>=(m|0))break;if(ZG(a,g,b,d,e,f,i)|0)break a;g=g+1|0}while(1){if((a|0)<=(l|0))break;if(ZG(a,g,b,d,e,f,i)|0)break a;a=a+-1|0}while(1){if((g|0)<=(l|0))break;if(ZG(a,g,b,d,e,f,i)|0)break a;g=g+-1|0}while(1){if((a|0)>=0)break;if(!(ZG(a,g,b,d,e,f,i)|0))a=a+1|0;else break a}m=m+1|0}}while(0);return}function ZG(a,b,e,f,g,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0;u=l;l=l+48|0;s=u+32|0;t=u+8|0;r=u;n=e+4|0;p=c[e+8>>2]|0;q=r+4|0;k=c[n>>2]|0;m=0;while(1){if((m|0)>=(p|0)){o=5;break}w=k;v=c[w+4>>2]|0;c[r>>2]=(c[w>>2]|0)+a;c[q>>2]=v+b;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];if(PL(f,s)|0){k=0;break}k=k+8|0;m=m+1|0}if((o|0)==5){e=c[e+12>>2]|0;y=+h[j+(e<<5)>>3];x=+h[j+(e<<5)+8>>3];c[g>>2]=(S(i,a)|0)-~~(y+(y>=0.0?.5:-.5));e=g+4|0;c[e>>2]=(S(i,b)|0)-~~(x+(x>=0.0?.5:-.5));k=c[n>>2]|0;m=0;while(1){if((m|0)>=(p|0))break;v=k;w=c[v+4>>2]|0;c[r>>2]=(c[v>>2]|0)+a;c[q>>2]=w+b;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];ML(f,s);k=k+8|0;m=m+1|0}if((d[195234]|0)>1){k=c[15715]|0;v=c[g>>2]|0;w=c[e>>2]|0;c[t>>2]=p;c[t+4>>2]=a;c[t+8>>2]=b;c[t+12>>2]=v;c[t+16>>2]=w;z4(k,99617,t)|0;k=1}else k=1}l=u;return k|0}function _G(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[b+4>>2]|0)-(c[d+4>>2]|0)|0;c[a>>2]=(c[b>>2]|0)-(c[d>>2]|0);c[a+4>>2]=e;return}function $G(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[d+4>>2]|0)+(c[b+4>>2]|0)|0;c[a>>2]=(c[d>>2]|0)+(c[b>>2]|0);c[a+4>>2]=e;return}function aH(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+112|0;x=A+96|0;w=A+80|0;q=A+48|0;r=A+32|0;y=A+16|0;z=A;n=A+64|0;h[y>>3]=+(c[b>>2]|0);s=y+8|0;h[s>>3]=+(c[b+4>>2]|0);v=+(g|0);a:do if((i|0)!=0?(t=a+16|0,m=c[(c[t>>2]|0)+8>>2]|0,(m|0)!=0):0){p=+(e|0);o=+(f|0);i=z+8|0;e=0;while(1){if((e|0)>=(c[m+4>>2]|0))break a;n=c[m>>2]|0;b=c[n+(e*48|0)>>2]|0;g=c[n+(e*48|0)+4>>2]|0;f=c[n+(e*48|0)+8>>2]|0;a=c[n+(e*48|0)+12>>2]|0;m=n+(e*48|0)+16|0;c[q>>2]=c[m>>2];c[q+4>>2]=c[m+4>>2];c[q+8>>2]=c[m+8>>2];c[q+12>>2]=c[m+12>>2];n=n+(e*48|0)+32|0;c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];c[r+8>>2]=c[n+8>>2];c[r+12>>2]=c[n+12>>2];if(!f){c[y>>2]=c[b>>2];c[y+4>>2]=c[b+4>>2];c[y+8>>2]=c[b+8>>2];c[y+12>>2]=c[b+12>>2];m=b+16|0;c[z>>2]=c[m>>2];c[z+4>>2]=c[m+4>>2];c[z+8>>2]=c[m+8>>2];c[z+12>>2]=c[m+12>>2];m=2}else{c[y>>2]=c[q>>2];c[y+4>>2]=c[q+4>>2];c[y+8>>2]=c[q+8>>2];c[y+12>>2]=c[q+12>>2];c[z>>2]=c[b>>2];c[z+4>>2]=c[b+4>>2];c[z+8>>2]=c[b+8>>2];c[z+12>>2]=c[b+12>>2];m=1}j=p+ +h[y>>3];h[y>>3]=j;k=o+ +h[s>>3];h[s>>3]=k;if(!(j>=0.0))j=(j+1.0)/v+-1.0;else j=j/v;h[y>>3]=j;if(!(k>=0.0))j=(k+1.0)/v+-1.0;else j=k/v;h[s>>3]=j;j=p+ +h[z>>3];h[z>>3]=j;k=o+ +h[i>>3];h[i>>3]=k;if(!(j>=0.0))j=(j+1.0)/v+-1.0;else j=j/v;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)/v+-1.0;else j=k/v;h[i>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];NG(w,x,d);while(1){if((m|0)>=(g|0))break;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];f=b+(m<<4)|0;c[z>>2]=c[f>>2];c[z+4>>2]=c[f+4>>2];c[z+8>>2]=c[f+8>>2];c[z+12>>2]=c[f+12>>2];j=p+ +h[z>>3];h[z>>3]=j;k=o+ +h[i>>3];h[i>>3]=k;if(!(j>=0.0))j=(j+1.0)/v+-1.0;else j=j/v;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)/v+-1.0;else j=k/v;h[i>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];NG(w,x,d);m=m+1|0}if(a|0){c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[z>>2]=c[r>>2];c[z+4>>2]=c[r+4>>2];c[z+8>>2]=c[r+8>>2];c[z+12>>2]=c[r+12>>2];j=p+ +h[z>>3];h[z>>3]=j;k=o+ +h[i>>3];h[i>>3]=k;if(!(j>=0.0))j=(j+1.0)/v+-1.0;else j=j/v;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)/v+-1.0;else j=k/v;h[i>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];NG(w,x,d)}e=e+1|0;m=c[(c[t>>2]|0)+8>>2]|0}}else u=4;while(0);if((u|0)==4){hP(n,c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0);c[z>>2]=c[n>>2];c[z+4>>2]=c[n+4>>2];c[z+8>>2]=c[n+8>>2];c[z+12>>2]=c[n+12>>2];j=+(e|0)+ +h[z>>3];h[z>>3]=j;m=z+8|0;k=+(f|0)+ +h[m>>3];h[m>>3]=k;if(!(j>=0.0))j=(j+1.0)/v+-1.0;else j=j/v;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)/v+-1.0;else j=k/v;h[m>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];NG(w,x,d)}l=A;return}function bH(a,b,d){a=a|0;b=b|0;d=d|0;a:do if((a|0)<1)a=0;else switch(c[d+16>>2]|0){case 4:{a=QG(a,b,d)|0;break a}case 3:{a=cH(a,b,d)|0;break a}default:{a=0;break a}}while(0);return a|0}function cH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+80|0;i=p+64|0;h=p+24|0;o=p+8|0;g=p;j=p+56|0;m=f+8|0;n=TG(b,e,c[m>>2]|0)|0;if(a[195234]|0){k=c[15715]|0;c[g>>2]=n;z4(k,99586,g)|0}a:do if((n|0)>=1){c[j+4>>2]=0;c[j>>2]=0;k=HK(b<<4)|0;f=0;while(1){if((f|0)>=(b|0))break;c[k+(f<<4)+12>>2]=f;q=e+(f<<5)|0;g=c[m>>2]|0;c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[h+12>>2]=c[q+12>>2];c[h+16>>2]=c[q+16>>2];c[h+20>>2]=c[q+20>>2];c[h+24>>2]=c[q+24>>2];c[h+28>>2]=c[q+28>>2];c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];UG(h,k+(f<<4)|0,n,g,i,195341);f=f+1|0}h=HK(b<<2)|0;f=0;while(1){if((f|0)>=(b|0))break;c[h+(f<<2)>>2]=k+(f<<4);f=f+1|0}k3(h,b,4,89);i=IL()|0;f=HK(b<<3)|0;g=0;while(1){if((g|0)>=(b|0))break;q=c[h+(g<<2)>>2]|0;YG(g,q,i,f+(c[q+12>>2]<<3)|0,n,c[m>>2]|0,e);g=g+1|0}l6(h);g=0;while(1){if((g|0)>=(b|0))break;l6(c[k+(g<<4)+4>>2]|0);g=g+1|0}l6(k);LL(i);if((d[195234]|0)>1){h=c[15715]|0;g=0;while(1){if((g|0)>=(b|0))break a;e=c[f+(g<<3)>>2]|0;q=c[f+(g<<3)+4>>2]|0;c[o>>2]=g;c[o+4>>2]=e;c[o+8>>2]=q;z4(h,99602,o)|0;g=g+1|0}}}else f=0;while(0);l=p;return f|0}function dH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;a:do if((a|0)<1)f=0-a|0;else{s=(e|0)==0;q=(f|0)==0;j=0;while(1){if((j|0)==(a|0)){f=0;break a}r=c[b+(j<<2)>>2]|0;g=s?r:e;k=c[d+(j<<3)>>2]|0;l=c[d+(j<<3)+4>>2]|0;m=+(k|0);n=m/72.0;o=+(l|0);p=o/72.0;i=gC(r)|0;while(1){if(!i)break;f=c[i+16>>2]|0;t=c[f+132>>2]|0;h[t>>3]=n+ +h[t>>3];t=t+8|0;h[t>>3]=p+ +h[t>>3];t=f+16|0;h[t>>3]=m+ +h[t>>3];t=f+24|0;h[t>>3]=o+ +h[t>>3];f=c[f+108>>2]|0;if(f|0){t=f+56|0;h[t>>3]=m+ +h[t>>3];t=f+64|0;h[t>>3]=o+ +h[t>>3]}b:do if(!q){f=UA(g,i)|0;while(1){if(!f)break b;eH(f,k,l);f=WA(g,f)|0}}while(0);i=hC(r,i)|0}fH(r,k,l);j=j+1|0}}while(0);return f|0}function eH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0;e=c[a+16>>2]|0;a=c[e+96>>2]|0;m=+(b|0);l=+(d|0);if(a|0){k=a+56|0;h[k>>3]=m+ +h[k>>3];k=a+64|0;h[k>>3]=l+ +h[k>>3]}a=c[e+108>>2]|0;if(a|0){k=a+56|0;h[k>>3]=m+ +h[k>>3];k=a+64|0;h[k>>3]=l+ +h[k>>3]}a=c[e+100>>2]|0;if(a|0){k=a+56|0;h[k>>3]=m+ +h[k>>3];k=a+64|0;h[k>>3]=l+ +h[k>>3]}a=c[e+104>>2]|0;if(a|0){k=a+56|0;h[k>>3]=m+ +h[k>>3];k=a+64|0;h[k>>3]=l+ +h[k>>3]}j=c[e+8>>2]|0;a:do if(j|0){d=c[j+4>>2]|0;a=0;while(1){if((a|0)>=(d|0))break a;k=c[j>>2]|0;e=c[k+(a*48|0)>>2]|0;f=c[k+(a*48|0)+4>>2]|0;g=c[k+(a*48|0)+8>>2]|0;i=c[k+(a*48|0)+12>>2]|0;b=0;while(1){if((b|0)>=(f|0))break;n=e+(b<<4)|0;h[n>>3]=m+ +h[n>>3];n=e+(b<<4)+8|0;h[n>>3]=l+ +h[n>>3];b=b+1|0}if(g|0){n=k+(a*48|0)+16|0;h[n>>3]=m+ +h[n>>3];n=k+(a*48|0)+24|0;h[n>>3]=l+ +h[n>>3]}if(i|0){n=k+(a*48|0)+32|0;h[n>>3]=m+ +h[n>>3];n=k+(a*48|0)+40|0;h[n>>3]=l+ +h[n>>3]}a=a+1|0}}while(0);return}function fH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0;j=b+16|0;b=c[j>>2]|0;o=b+16|0;m=b+24|0;f=b+32|0;b=b+40|0;g=+(d|0);l=g+ +h[f>>3];i=+(e|0);n=i+ +h[m>>3];k=i+ +h[b>>3];h[o>>3]=g+ +h[o>>3];h[m>>3]=n;h[f>>3]=l;h[b>>3]=k;b=c[j>>2]|0;f=c[b+12>>2]|0;if((f|0)!=0?(a[f+81>>0]|0)!=0:0){o=f+56|0;h[o>>3]=g+ +h[o>>3];f=f+64|0;h[f>>3]=i+ +h[f>>3];f=1}else f=1;while(1){if((f|0)>(c[b+180>>2]|0))break;fH(c[(c[b+184>>2]|0)+(f<<2)>>2]|0,d,e);f=f+1|0;b=c[j>>2]|0}return}function gH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=OG(a,b,d,e)|0;if(!f)a=1;else{a=dH(a,b,f,d,c[e+12>>2]|0)|0;l6(f)}return a|0}function hH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+32|0;o=p;n=gH(a,b,d,e)|0;if(!n){zP(d);m=(c[d+16>>2]|0)+16|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[o+16>>2]=c[m+16>>2];c[o+20>>2]=c[m+20>>2];c[o+24>>2]=c[m+24>>2];c[o+28>>2]=c[m+28>>2];f=o+8|0;g=o+16|0;i=o+24|0;e=0;while(1){if((e|0)>=(a|0))break;k=c[(c[b+(e<<2)>>2]|0)+16>>2]|0;j=c[k+180>>2]|0;k=k+184|0;d=1;while(1){if((d|0)>(j|0))break;r=c[(c[(c[k>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;q=r+16|0;h[o>>3]=+h[(+h[o>>3]<+h[q>>3]?o:q)>>3];h[f>>3]=+h[(+h[f>>3]<+h[r+24>>3]?o:q)+8>>3];h[g>>3]=+h[(+h[g>>3]>+h[r+32>>3]?o:q)+16>>3];h[i>>3]=+h[(+h[i>>3]>+h[r+40>>3]?o:q)+24>>3];d=d+1|0}e=e+1|0}c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[m+16>>2]=c[o+16>>2];c[m+20>>2]=c[o+20>>2];c[m+24>>2]=c[o+24>>2];c[m+28>>2]=c[o+28>>2]}l=p;return n|0}function iH(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=l;l=l+16|0;g=h;if(!f)Aa(99835,99841,1400,99848);e=jH(b,e,e)|0;c[f+8>>2]=e;if(a[195234]|0){i=c[15715]|0;c[g>>2]=e;z4(i,99860,g)|0}c[f+12>>2]=0;c[f+20>>2]=0;kH(b,d,f)|0;l=h;return c[f+16>>2]|0}function jH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=i+4|0;g=NA(b,99990)|0;a:do if(g){c[h>>2]=f;h=(q4(g,137696,h)|0)==1;b=c[f>>2]|0;if(h&(b|0)>-1)d=b;else{switch(a[g>>0]|0){case 84:case 116:break;default:break a}d=e}}while(0);l=i;return d|0}function kH(a,b,c){a=a|0;b=b|0;c=c|0;return lH(NA(a,99873)|0,b,c)|0}function lH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+64|0;r=u+40|0;q=u+32|0;t=u+24|0;s=u+16|0;m=u+8|0;k=u;i=u+48|0;j=u+44|0;if(!e)Aa(99835,99841,1292,99882);o=e+28|0;c[o>>2]=0;p=e+16|0;c[p>>2]=d;n=e+4|0;c[n>>2]=0;c[e+24>>2]=0;a:do if(b|0?(f=a[b>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:{d=b+5|0;if(!(h2(b,99900,5)|0)){c[p>>2]=4;m=mH(d,e)|0;c[k>>2]=j;m=(q4(m,137696,k)|0)>0;d=c[j>>2]|0;if(!(m&(d|0)>0))break a;c[n>>2]=d;break a}else{if(h2(b,99906,6)|0)break a;c[p>>2]=5;c[m>>2]=i;m=(q4(d,99913,m)|0)>0;v=+g[i>>2];g[e>>2]=m&v>0.0?v:1.0;break a}}case 99:{if(f<<24>>24!=99)break a;if(f2(b,108307)|0)break a;c[p>>2]=1;break a}case 103:{if(f<<24>>24!=103)break a;if(f2(b,111795)|0)break a;c[p>>2]=3;break a}case 110:{if(f<<24>>24!=110)break a;if(f2(b,111782)|0)break a;c[p>>2]=2;break a}default:break a}while(0);if(a[195234]|0){d=c[15715]|0;_3(99916,11,1,d)|0;c[s>>2]=nH(c[p>>2]|0)|0;z4(d,99928,s)|0;if((c[p>>2]|0)==5){h[t>>3]=+g[e>>2];z4(d,99941,t)|0}c[q>>2]=c[n>>2];z4(d,99954,q)|0;c[r>>2]=c[o>>2];z4(d,99967,r)|0}l=u;return c[p>>2]|0}function mH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;a:do if((a[b>>0]|0)==95){f=d+28|0;e=1;while(1){b=b+1|0;b:while(1){if(!e)break a;d=a[b>>0]|0;if(!(d<<24>>24))break a;switch(d<<24>>24|0){case 99:{g=10;break b}case 105:{g=9;break b}case 117:{g=11;break b}case 116:{g=12;break b}case 98:{d=32;break b}case 108:{g=7;break b}case 114:{g=8;break b}default:e=0}}if((g|0)==7){g=0;d=4}else if((g|0)==8){g=0;d=8}else if((g|0)==9){g=0;d=64}else if((g|0)==10){g=0;d=1}else if((g|0)==11){g=0;d=2}else if((g|0)==12){g=0;d=16}c[f>>2]=c[f>>2]|d}}while(0);return b|0}function nH(a){a=a|0;switch(a|0){case 1:{a=108307;break}case 2:{a=111782;break}case 3:{a=111795;break}case 4:{a=99900;break}case 5:{a=99906;break}default:a=99980}return a|0}function oH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;k=n;m=n+80|0;do if(a){if(!e){e=m6(1,20)|0;c[e+4>>2]=d>>>0>80?d:80}d=c[e>>2]|0;j=c[e+4>>2]|0;if(!d){h=100;d=a;i=m6(100,j)|0}else{h=d+100|0;i=n6(c[e+8>>2]|0,S(h,j)|0)|0;u6(i+(S(j,d)|0)|0,0,j*100|0)|0;d=a}while(1){d=pH(k,d,b,m)|0;if(!d)break;a=c[e>>2]|0;f=h<<1;g=S(h,j)|0;if((a|0)==(h|0)){i=n6(i,S(f,j)|0)|0;u6(i+g|0,0,g|0)|0;a=c[e>>2]|0}else f=h;a=i+(S(a,j)|0)|0;g=k;h=a+80|0;do{c[a>>2]=c[g>>2];a=a+4|0;g=g+4|0}while((a|0)<(h|0));c[e>>2]=(c[e>>2]|0)+1;h=f}if(c[m>>2]|0){m=e+16|0;c[m>>2]=c[m>>2]|1}d=c[e>>2]|0;if(!d){l6(i);l6(e);e=0;break}else{c[e+8>>2]=n6(i,S(d,j)|0)|0;break}}while(0);l=n;return e|0}function pH(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+80|0;n=r+64|0;g=r;c[f>>2]=0;do{h=a[d>>0]|0;d=d+1|0}while((X1(h)|0)!=0);p=(e|0)!=0;j=e+4|0;k=g+8|0;q=b+72|0;m=e+8|0;o=e+40|0;i=b+8|0;a:do switch(h|0){case 69:{c[b>>2]=0;d=qH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e>>2];break}case 101:{c[b>>2]=1;d=qH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e>>2];break}case 80:{c[b>>2]=2;d=rH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[j>>2];break}case 112:{c[b>>2]=3;d=rH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[j>>2];break}case 98:{c[b>>2]=4;d=rH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[m>>2];break}case 66:{c[b>>2]=5;d=rH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[m>>2];break}case 99:{d=sH(d,n)|0;if(!d){c[f>>2]=1;d=0;break a}m=tH(c[n>>2]|0,g)|0;c[n>>2]=m;if(!m){c[f>>2]=1;d=0;break a}if(!(c[g>>2]|0)){c[b>>2]=9;c[i>>2]=c[k>>2];if(!p)break a;c[q>>2]=c[e+24>>2];break a}else{c[b>>2]=14;h=i+64|0;do{c[i>>2]=c[g>>2];i=i+4|0;g=g+4|0}while((i|0)<(h|0));if(!p)break a;c[q>>2]=c[o>>2];break a}}case 67:{d=sH(d,n)|0;if(!d){c[f>>2]=1;d=0;break a}m=tH(c[n>>2]|0,g)|0;c[n>>2]=m;if(!m){c[f>>2]=1;d=0;break a}if(!(c[g>>2]|0)){c[b>>2]=8;c[i>>2]=c[k>>2];if(!p)break a;c[q>>2]=c[e+20>>2];break a}else{c[b>>2]=13;h=i+64|0;do{c[i>>2]=c[g>>2];i=i+4|0;g=g+4|0}while((i|0)<(h|0));if(!p)break a;c[q>>2]=c[o>>2];break a}}case 76:{c[b>>2]=6;d=rH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e+12>>2];break}case 84:{c[b>>2]=7;d=uH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}d=uH(d,b+16|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=vH(d,b+24|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=uH(d,b+32|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=sH(d,b+40|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e+16>>2];break}case 70:{c[b>>2]=10;d=uH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}d=sH(d,b+16|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e+28>>2];break}case 83:{c[b>>2]=11;d=sH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e+32>>2];break}case 73:{c[b>>2]=12;d=qH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}d=sH(d,b+40|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e+36>>2];break}case 116:{c[b>>2]=15;d=wH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e+44>>2];break}case 0:{d=0;break}default:{c[f>>2]=1;d=0}}while(0);l=r;return d|0}function qH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0;i=l;l=l+16|0;e=i;h[b>>3]=+b6(a,e);f=c[e>>2]|0;if(((f|0)!=(a|0)?(h[b+8>>3]=+b6(f,e),g=c[e>>2]|0,(f|0)!=(g|0)):0)?(h[b+16>>3]=+b6(g,e),d=c[e>>2]|0,(g|0)!=(d|0)):0){h[b+24>>3]=+b6(d,e);a=c[e>>2]|0;a=(d|0)==(a|0)?0:a}else a=0;l=i;return a|0}function rH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+4|0;g=k;a=xH(a,j)|0;do if(a){d=c[j>>2]|0;i=m6(d,24)|0;c[b>>2]=d;e=i;f=0;while(1){if((f|0)>=(d|0)){d=9;break}h[e>>3]=+b6(a,g);d=c[g>>2]|0;if((a|0)==(d|0)){d=5;break}h[e+8>>3]=+b6(d,g);a=c[g>>2]|0;if((d|0)==(a|0)){d=7;break}h[e+16>>3]=0.0;e=e+24|0;d=c[b>>2]|0;f=f+1|0}if((d|0)==5){c[j>>2]=f;l6(i);a=0;break}else if((d|0)==7){c[j>>2]=f;l6(i);a=0;break}else if((d|0)==9){c[j>>2]=f;c[b+4>>2]=i;break}}else a=0;while(0);l=k;return a|0}function sH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;b=xH(b,i)|0;f=c[i>>2]|0;do if(!((b|0)==0|(f|0)<1)){do{h=a[b>>0]|0;e=h<<24>>24==0;b=b+1|0}while(h<<24>>24!=45&(e^1));if(!e){h=m6(f+1|0,1)|0;g=h;e=f;while(1){if((e|0)<=0){e=9;break}e=a[b>>0]|0;if(!(e<<24>>24)){e=8;break}a[g>>0]=e;e=(c[i>>2]|0)+-1|0;c[i>>2]=e;g=g+1|0;b=b+1|0}if((e|0)==8){l6(h);b=0;break}else if((e|0)==9){a[g>>0]=0;c[d>>2]=h;break}}else b=0}else b=0;while(0);l=j;return b|0}function tH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=a[b>>0]|0;f=d+8|0;g=b+1|0;switch(e|0){case 91:{b=yH(g,d)|0;break}case 40:{b=zH(g,d)|0;break}case 47:case 35:{c[d>>2]=0;c[f>>2]=b;break}default:if(!(O2(e)|0))b=0;else{c[d>>2]=0;c[f>>2]=b}}return b|0}function uH(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;f=l;l=l+16|0;d=f;e=+b6(a,d);d=c[d>>2]|0;if((d|0)==(a|0))d=0;else h[b>>3]=e;l=f;return d|0}function vH(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;a=xH(a,e)|0;e=c[e>>2]|0;c[b>>2]=(e|0)<0?0:e|0?2:1;l=d;return a|0}function wH(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[b>>2]=_1(a,e,10)|0;b=c[e>>2]|0;l=d;return ((b|0)==(a|0)?0:b)|0}function xH(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[b>>2]=$1(a,e,10)|0;b=c[e>>2]|0;l=d;return ((b|0)==(a|0)?0:b)|0}function yH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;c[b>>2]=1;n=b+8|0;i=uH(a,n)|0;do if(((((i|0)!=0?(j=uH(i,b+16|0)|0,(j|0)!=0):0)?(e=uH(j,b+24|0)|0,(e|0)!=0):0)?(f=uH(e,b+32|0)|0,(f|0)!=0):0)?(k=b+40|0,d=xH(f,k)|0,(d|0)!=0):0){b=c[k>>2]|0;f=m6(b,8)|0;e=0;while(1){if((e|0)>=(b|0)){d=13;break}d=uH(d,m)|0;if(!d){d=9;break}g[f+(e<<3)>>2]=+h[m>>3];d=sH(d,f+(e<<3)+4|0)|0;if(!d){d=12;break}e=e+1|0;b=c[k>>2]|0}if((d|0)==9){l6(f);a=0;break}else if((d|0)==12){l6(f);a=0;break}else if((d|0)==13){c[n+36>>2]=f;break}}else a=0;while(0);l=o;return a|0}function zH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;c[b>>2]=2;k=uH(a,b+8|0)|0;do if(((((((k|0)!=0?(m=uH(k,b+16|0)|0,(m|0)!=0):0)?(e=uH(m,b+24|0)|0,(e|0)!=0):0)?(f=uH(e,b+32|0)|0,(f|0)!=0):0)?(i=uH(f,b+40|0)|0,(i|0)!=0):0)?(j=uH(i,b+48|0)|0,(j|0)!=0):0)?(o=b+56|0,d=xH(j,o)|0,(d|0)!=0):0){e=c[o>>2]|0;i=m6(e,8)|0;f=0;while(1){if((f|0)>=(e|0)){d=15;break}d=uH(d,n)|0;if(!d){d=11;break}g[i+(f<<3)>>2]=+h[n>>3];d=sH(d,i+(f<<3)+4|0)|0;if(!d){d=14;break}f=f+1|0;e=c[o>>2]|0}if((d|0)==11){l6(i);a=0;break}else if((d|0)==14){l6(i);a=0;break}else if((d|0)==15){c[b+60>>2]=i;break}}else a=0;while(0);l=p;return a|0}function AH(a,b,c){a=a|0;b=b|0;c=c|0;return oH(a,b,c,0)|0}function BH(a){a=a|0;return AH(a,0,0)|0}function CH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a+12>>2]|0;if(a|0){f=c[a+8>>2]|0;g=a+4|0;h=(e|0)==0;b=0;while(1){if((b|0)>=(c[a>>2]|0))break;d=f+(S(c[g>>2]|0,b)|0)|0;if(!h)db[e&127](d);DH(d);b=b+1|0}l6(f);l6(a)}return}function DH(a){a=a|0;var b=0,d=0;b=a+8|0;d=b+4|0;switch(c[a>>2]|0){case 3:case 2:{l6(c[d>>2]|0);break}case 5:case 4:{l6(c[d>>2]|0);break}case 6:{l6(c[d>>2]|0);break}case 7:{l6(c[a+40>>2]|0);break}case 9:case 8:{l6(c[b>>2]|0);break}case 14:case 13:{EH(b);break}case 10:{l6(c[a+16>>2]|0);break}case 11:{l6(c[b>>2]|0);break}case 12:{l6(c[a+40>>2]|0);break}default:{}}return}function EH(a){a=a|0;var b=0,d=0,e=0;switch(c[a>>2]|0){case 1:{e=a+40|0;b=a+8+36|0;a=0;while(1){d=c[b>>2]|0;if((a|0)>=(c[e>>2]|0))break;l6(c[d+(a<<3)+4>>2]|0);a=a+1|0}l6(d);break}case 2:{e=a+56|0;d=a+60|0;a=0;while(1){b=c[d>>2]|0;if((a|0)>=(c[e>>2]|0))break;l6(c[b+(a<<3)+4>>2]|0);a=a+1|0}l6(b);break}default:{}}return}function FH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;k=o+4|0;n=o;c[d>>2]=0;c[e>>2]=(uB(uC(b)|0)|0)!=0&1;f=c[47253]|0;a:do if(f|0?(h=OA(b,f)|0,i=a[h>>0]|0,i<<24>>24):0){f=20432;while(1){g=c[f>>2]|0;if(!g)break a;if(i<<24>>24==(a[g>>0]|0)?(f2(h,g)|0)==0:0)break;f=f+12|0}c[d>>2]=c[f+4>>2];c[e>>2]=c[f+8>>2]}while(0);f=c[47264]|0;if((f|0?(c[e>>2]|0)==1:0)?(j=OA(b,f)|0,a[j>>0]|0):0)GH(j,e);f=c[47265]|0;if((f|0?(c[d>>2]|0)==1:0)?(m=OA(b,f)|0,a[m>>0]|0):0)GH(m,d);if(a[(c[b+16>>2]|0)+153>>0]|0){j=b+-48|0;i=uC(c[((c[b>>2]&3|0)==2?b:j)+40>>2]|0)|0;m=c[b>>2]&3;FH(fB(i,c[((m|0)==2?b:j)+40>>2]|0,c[((m|0)==3?b:b+48|0)+40>>2]|0,0,0)|0,k,n);c[e>>2]=c[k>>2]|c[e>>2];c[d>>2]=c[n>>2]|c[d>>2]}l=o;return}function GH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;k=o+4|0;j=0;e=0;a:while(1){c[d>>2]=e;f=(j|0)<4;g=(j|0)==3;h=(j|0)==0;while(1){if(!(f&(a[b>>0]|0)!=0))break a;c[k>>2]=0;i=HH(b,k)|0;e=c[k>>2]|0;if(!e){n=5;break a}b=(e|0)==8;if(!(g&b)){if(!(h&b)){b=e;break}if(a[i>>0]|0){b=8;break}}c[k>>2]=0;b=i}e=c[d>>2]|b<<(j<<3);j=j+1|0;b=i}if((n|0)==5){c[m>>2]=b;dA(0,99995,m)|0}l=o;return}function HH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=0;d=IH(a,20492,e)|0;if((d|0)==(a|0)){while(1){d=IH(a,20508,e)|0;if((a|0)==(d|0))break;else a=d}d=IH(a,20556,e)|0}a=c[e>>2]|0;if((a|0)!=0&(a&15|0)==0){a=a|1;c[e>>2]=a}c[b>>2]=c[b>>2]|a;l=f;return d|0}function IH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;while(1){e=c[b>>2]|0;if(!e)break;f=D3(e)|0;if(!(h2(a,e,f)|0)){g=4;break}b=b+8|0}if((g|0)==4){c[d>>2]=c[d>>2]|c[b+4>>2];a=a+f|0}return a|0}function JH(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0;g=0;d=0.0;while(1){if((g|0)==4)break;f=b>>(g<<3)&15;e=1400;while(1){if(!(c[e+16>>2]|0))break;if((f|0)==(c[e>>2]|0)){i=6;break}e=e+24|0}if((i|0)==6){i=0;d=d+ +h[e+8>>3]}g=g+1|0}return +(d*10.0*+YO(a,c[47257]|0,1.0,0.0))}function KH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0,k=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0;s=l;l=l+96|0;n=s+80|0;r=s;m=f>4.0?f*.25*.35:.35;k=+h[d+8>>3];o=m*k;i=+h[d>>3];m=m*i;f=+h[b>>3];i=i+f;h[n>>3]=i;e=+h[b+8>>3];k=k+e;h[n+8>>3]=k;d=r+64|0;p=r+32|0;q=r+16|0;j=r+24|0;if(!(g&32)){c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];c[r+8>>2]=c[n+8>>2];c[r+12>>2]=c[n+12>>2];h[q>>3]=o+i;h[j>>3]=k-m;c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];f=i;e=k}else{c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];h[q>>3]=o+f;h[j>>3]=e-m;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2]}h[r+48>>3]=f-o;h[r+56>>3]=m+e;d=g>>>4&1^1;do if(!(g&64))if(!(g&128)){lS(a,q,3,d);break}else{lS(a,p,3,d);break}else lS(a,r,3,d);while(0);l=s;return}function LH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0.0,C=0,D=0,E=0;D=l;l=l+160|0;A=D+144|0;C=D;u=e*4.0;E=(g&32|0)!=0;z=E^1;u=!(u1.0)|z?0.0:(f+-1.0)*.05/e;y=+h[d+8>>3];v=-y;B=u*v;x=+h[d>>3];u=u*x;v=w*v;w=w*x;f=+h[b>>3];s=x+f;h[A>>3]=s;t=+h[b+8>>3];e=y+t;h[A+8>>3]=e;x=f+x*.5;y=y*.5+t;d=C+128|0;i=x-v;j=y-w;z=C+48|0;k=C+64|0;m=C+40|0;n=C+32|0;o=C+24|0;p=C+16|0;q=C+80|0;r=C+56|0;if(E){c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[C>>2]=c[b>>2];c[C+4>>2]=c[b+4>>2];c[C+8>>2]=c[b+8>>2];c[C+12>>2]=c[b+12>>2];h[p>>3]=s-B;h[o>>3]=e-u;h[n>>3]=i;h[m>>3]=j;h[z>>3]=s-v;h[r>>3]=e-w;c[k>>2]=c[A>>2];c[k+4>>2]=c[A+4>>2];c[k+8>>2]=c[A+8>>2];c[k+12>>2]=c[A+12>>2];h[q>>3]=v+s;i=w+e;f=s}else{c[d>>2]=c[A>>2];c[d+4>>2]=c[A+4>>2];c[d+8>>2]=c[A+8>>2];c[d+12>>2]=c[A+12>>2];c[C>>2]=c[A>>2];c[C+4>>2]=c[A+4>>2];c[C+8>>2]=c[A+8>>2];c[C+12>>2]=c[A+12>>2];h[p>>3]=f-B;h[o>>3]=t-u;h[n>>3]=i;h[m>>3]=j;h[z>>3]=f;h[r>>3]=t;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];h[q>>3]=f;i=t;e=t}h[C+88>>3]=i;h[C+96>>3]=v+x;h[C+104>>3]=w+y;h[C+112>>3]=B+f;h[C+120>>3]=u+e;do if(!(g&64))if(!(g&128)){lS(a,C,9,1);break}else{lS(a,z,6,1);break}else lS(a,C,6,1);while(0);l=D;return}function MH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;q=l;l=l+64|0;p=q;t=+h[d+8>>3];s=+h[d>>3];k=+h[b>>3];e=s+k;m=+h[b+8>>3];f=t+m;i=k+s*.2;j=t*.2+m;k=k+s*.6;m=t*.6+m;h[p>>3]=i-t;h[p+8>>3]=s+j;n=p+16|0;h[n>>3]=t+i;o=p+24|0;h[o>>3]=j-s;h[p+32>>3]=t+k;h[p+40>>3]=m-s;h[p+48>>3]=k-t;h[p+56>>3]=s+m;if(!(g&64)){if(g&128|0){d=2;g=1;r=3}}else{d=3;g=0;r=3}if((r|0)==3){h[p+(g<<4)>>3]=i;h[p+(g<<4)+8>>3]=j;h[p+(d<<4)>>3]=k;h[p+(d<<4)+8>>3]=m}lS(a,p,4,1);c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];h[n>>3]=e;h[o>>3]=f;oS(a,p,2);l=q;return}function NH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0;o=l;l=l+64|0;n=o;j=+h[d+8>>3];r=j*-.4;i=+h[d>>3];q=i*.4;t=+h[b>>3];e=t+i*.8;s=+h[b+8>>3];f=j*.8+s;i=i+t;j=j+s;h[n>>3]=r+t;k=n+8|0;h[k>>3]=q+s;d=n+16|0;h[d>>3]=t-r;m=n+24|0;h[m>>3]=s-q;h[n+32>>3]=e-r;h[n+40>>3]=f-q;h[n+48>>3]=r+e;h[n+56>>3]=q+f;if(!(g&64)){if(g&128|0){c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];d=2;p=5}}else{c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];d=3;p=5}if((p|0)==5){h[n+(d<<4)>>3]=e;h[n+(d<<4)+8>>3]=f}lS(a,n,4,g>>>4&1^1);h[n>>3]=e;h[k>>3]=f;h[n+16>>3]=i;h[m>>3]=j;oS(a,n,2);l=o;return}function OH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;k=l;l=l+80|0;j=k;p=+h[d+8>>3];m=-p/3.0;r=+h[d>>3];f=r/3.0;q=+h[b>>3];n=q+r*.5;o=+h[b+8>>3];e=p*.5+o;i=j+64|0;h[j+64>>3]=r+q;h[j+72>>3]=p+o;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];h[j+16>>3]=m+n;h[j+24>>3]=f+e;i=j+32|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[j+48>>3]=n-m;h[j+56>>3]=e-f;d=g>>>4&1^1;do if(!(g&64))if(!(g&128)){lS(a,j,4,d);break}else{lS(a,j,3,d);break}else lS(a,i,3,d);while(0);l=k;return}function PH(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;var g=0,i=0,j=0.0;g=l;l=l+32|0;i=g;j=+h[c>>3];e=+h[c+8>>3];d=+G(+(j*j+e*e))*.5;j=j*.5+ +h[b>>3];h[i>>3]=j-d;e=e*.5+ +h[b+8>>3];h[i+8>>3]=e-d;h[i+16>>3]=d+j;h[i+24>>3]=d+e;kS(a,i,2,f>>>4&1^1);l=g;return}function QH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;r=l;l=l+112|0;o=r+48|0;p=r+16|0;q=r;t=f>4.0?f*.5*.25:.5;s=+h[b>>3];m=+h[d>>3];f=+h[b+8>>3];e=+h[d+8>>3];k=t*e;t=t*m;c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];h[p+16>>3]=s+m;h[p+24>>3]=f+e;h[o>>3]=t+(s-k);e=f+t+k;h[o+8>>3]=e;h[o+48>>3]=t+(s+k);f=f-t+k;h[o+56>>3]=f;m=k*-.95;i=t+(s+m);j=t*4.0/3.0;b=o+32|0;k=k*4.0/3.0;m=t+(s-m);d=o+16|0;n=o+24|0;if(!(g&32)){h[d>>3]=i-j;h[n>>3]=e-k;h[b>>3]=m-j;e=f-k}else{h[d>>3]=j+i;h[n>>3]=k+e;h[b>>3]=j+m;e=f+k}h[o+40>>3]=e;oS(a,p,2);if(!(g&64)){if(g&128|0)iP(q,o,3,.5,o,0)}else iP(q,o,3,.5,0,o);nS(a,o,4,0,0,0);l=r;return}function RH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0;g=l;l=l+32|0;i=g;e=+h[b>>3]+ +h[d>>3];f=+h[b+8>>3]+ +h[d+8>>3];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[i+16>>3]=e;h[i+24>>3]=f;oS(a,i,2);l=g;return}function SH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;n=l;l=l+80|0;j=n+72|0;k=n+8|0;m=n;i=+JH(a,g);i=i*i;h[m>>3]=i;c[f+12>>2]=g;g=f+32|0;a=e+3|0;f=b+(a<<4)|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];if((e|0)>(d|0)?(p=+h[b+(e<<4)>>3]-+h[f>>3],o=+h[b+(e<<4)+8>>3]-+h[b+(a<<4)+8>>3],p*p+o*o>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];q=k+32|0;a=b+(e+1<<4)|0;c[q>>2]=c[a>>2];c[q+4>>2]=c[a+4>>2];c[q+8>>2]=c[a+8>>2];c[q+12>>2]=c[a+12>>2];f=k+16|0;d=b+(e+2<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];c[j>>2]=k;c[j+4>>2]=m;ZN(j,92,k,1);c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];c[a>>2]=c[q>>2];c[a+4>>2]=c[q+4>>2];c[a+8>>2]=c[q+8>>2];c[a+12>>2]=c[q+12>>2];c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];m=b+(e+3<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];l=n;return e|0}function TH(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a>>2]|0;e=+h[b>>3]-+h[f>>3];d=+h[b+8>>3]-+h[f+8>>3];return e*e+d*d<=+h[c[a+4>>2]>>3]|0}function UH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0;o=l;l=l+80|0;k=o+72|0;m=o+8|0;n=o;j=+JH(a,g);j=j*j;h[n>>3]=j;c[f+8>>2]=g;f=f+16|0;a=b+(d<<4)|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];if(!((e|0)>(d|0)?(i=d+3|0,q=+h[a>>3]-+h[b+(i<<4)>>3],p=+h[b+(d<<4)+8>>3]-+h[b+(i<<4)+8>>3],q*q+p*p>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];g=m+16|0;d=b+(i+2<<4)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];r=m+32|0;a=b+(i+1<<4)|0;c[r>>2]=c[a>>2];c[r+4>>2]=c[a+4>>2];c[r+8>>2]=c[a+8>>2];c[r+12>>2]=c[a+12>>2];s=m+48|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];c[k>>2]=s;c[k+4>>2]=n;ZN(k,92,m,0);n=b+(i<<4)|0;c[n>>2]=c[s>>2];c[n+4>>2]=c[s+4>>2];c[n+8>>2]=c[s+8>>2];c[n+12>>2]=c[s+12>>2];c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];l=o;return i|0}function VH(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0;t=(g|0)!=0;p=(i|0)!=0;F=f+24|0;D=f+12|0;A=e+3|0;B=b+(A<<4)|0;x=e+1|0;E=f+16|0;A=b+(A<<4)+8|0;C=b+(x<<4)|0;z=f+32|0;v=b+(e<<4)|0;H=f+8|0;w=f+40|0;y=b+(e+2<<4)|0;x=b+(x<<4)+8|0;f=b+(e<<4)+8|0;if(!((e|0)==(d|0)&(t&p))){if(p){j=+JH(a,i);o=+h[v>>3];n=+h[f>>3];l=+h[B>>3];m=+h[A>>3];r=o-l;s=n-m;s=+G(+(r*r+s*s))*.9;j=j>=s?s:j;if(n==m){k=l+(o>3]=o;h[x>>3]=n;h[B>>3]=k;h[A>>3]=j;c[y>>2]=c[B>>2];c[y+4>>2]=c[B+4>>2];c[y+8>>2]=c[B+8>>2];c[y+12>>2]=c[B+12>>2];c[D>>2]=i;h[z>>3]=l;h[w>>3]=m}if(t){l=+JH(a,g);f=b+(d<<4)|0;k=+h[f>>3];j=+h[b+(d<<4)+8>>3];D=d+3|0;n=+h[b+(D<<4)>>3];o=+h[b+(D<<4)+8>>3];r=k-n;s=j-o;s=+G(+(r*r+s*s))*.9;l=l>=s?s:l;if(j==o){m=k+(k>3]=m;h[b+(D<<4)+8>>3]=l;c[f>>2]=c[u>>2];c[f+4>>2]=c[u+4>>2];c[f+8>>2]=c[u+8>>2];c[f+12>>2]=c[u+12>>2];u=d+2|0;h[b+(u<<4)>>3]=n;h[b+(u<<4)+8>>3]=o;u=16}}else{s=+h[v>>3];r=+h[f>>3];k=+h[B>>3];j=+h[A>>3];l=+JH(a,g);q=+JH(a,i);o=s-k;m=r-j;m=+G(+(o*o+m*m));d=!(l+q>=m);m=m/3.0;l=d?l:m;m=d?q:m;if(r==j){d=s>3]=q;h[x>>3]=n;c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];h[B>>3]=o;h[A>>3]=l;c[y>>2]=c[B>>2];c[y+4>>2]=c[B+4>>2];c[y+8>>2]=c[B+8>>2];c[y+12>>2]=c[B+12>>2];c[D>>2]=i;h[z>>3]=s;h[w>>3]=r;u=16}if((u|0)==16){c[H>>2]=g;h[E>>3]=k;h[F>>3]=j}return}function WH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;m=+h[b>>3];k=+h[c>>3]-m;o=+h[b+8>>3];j=+h[c+8>>3]-o;l=d*10.0/(+G(+(j*j+k*k))+.0001);k=(k+(k>=0.0?.0001:-.0001))*l;j=l*(j+(j>=0.0?.0001:-.0001));l=k*.5;n=j*.5;i=m-n;f=o-l;n=m+n;l=o+l;o=k+i;m=f+j;k=k+n;j=l+j;g=o>k?o:k;g=n>g?n:g;d=m>j?m:j;d=l>d?l:d;k=o>3]=i>3]=f>3]=i>g?i:g;h[a+24>>3]=f>d?f:d;return}function XH(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0;q=l;l=l+48|0;m=q+32|0;k=q+16|0;p=q;n=(c[a+16>>2]|0)+12|0;o=c[n>>2]|0;c[n>>2]=b;jS(a,c[(c[a>>2]|0)+336>>2]|0);sS(a,g);t=+h[e>>3]-+h[d>>3];b=e+8|0;r=+h[b>>3]-+h[d+8>>3];s=10.0/(+G(+(r*r+t*t))+.0001);h[e>>3]=(t+(t>=0.0?.0001:-.0001))*s;h[b>>3]=s*(r+(r>=0.0?.0001:-.0001));b=0;while(1){if((b|0)>=4)break;j=i>>(b<<3)&255;if(!j)break;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];YH(p,a,k,m,f,g,j);c[d>>2]=c[p>>2];c[d+4>>2]=c[p+4>>2];c[d+8>>2]=c[p+8>>2];c[d+12>>2]=c[p+12>>2];b=b+1|0}c[n>>2]=o;l=q;return}function YH(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+32|0;m=q+16|0;k=q;n=i&15;j=1400;while(1){o=c[j>>2]|0;if(!o)break;if((n|0)==(o|0)){p=4;break}j=j+24|0}if((p|0)==4){r=+h[j+8>>3]*f;h[e>>3]=+h[e>>3]*r;o=e+8|0;h[o>>3]=r*+h[o>>3];p=c[j+16>>2]|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];nb[p&15](b,k,m,f,g,i);h[d>>3]=+h[d>>3]+ +h[e>>3];p=d+8|0;h[p>>3]=+h[p>>3]+ +h[o>>3]};c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];l=q;return}function ZH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;f=i;d=NA(b,100097)|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){e=d;h=5}else{d=NA(b,100109)|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){e=d;h=5}else d=0}if((h|0)==5){d=AH(e,0,120)|0;if(!d){c[f>>2]=HB(b)|0;dA(0,100116,f)|0;c[g>>2]=e;dA(3,100169,g)|0}}l=i;return d|0}function _H(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+16|0;j=HK(304)|0;if(!j)dA(1,100177,k)|0;b=a+16|0;a=c[b>>2]|0;c[j>>2]=a;c[b>>2]=j;b=j+152|0;d=j+144|0;e=j+148|0;if(!a){c[d>>2]=3;c[e>>2]=0;h[b>>3]=1.0}else{f=j+16|0;g=a+16|0;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));f=j+56|0;g=a+56|0;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));c[d>>2]=c[a+144>>2];c[e>>2]=c[a+148>>2];h[b>>3]=+h[a+152>>3];c[j+136>>2]=c[a+136>>2];f=j+96|0;g=a+96|0;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0))}l=k;return j|0}function $H(a){a=a|0;var b=0;a=a+16|0;b=c[a>>2]|0;if(!b)Aa(100203,100207,117,100214);else{l6(c[b+212>>2]|0);l6(c[b+208>>2]|0);l6(c[b+216>>2]|0);l6(c[b+220>>2]|0);l6(c[b+224>>2]|0);l6(c[b+228>>2]|0);l6(c[b+232>>2]|0);l6(c[b+236>>2]|0);l6(c[b+240>>2]|0);l6(c[b+244>>2]|0);l6(c[b+248>>2]|0);l6(c[b+252>>2]|0);l6(c[b+256>>2]|0);l6(c[b+272>>2]|0);l6(c[b+284>>2]|0);l6(c[b+280>>2]|0);c[a>>2]=c[b>>2];l6(b);return}}function aI(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;m=c[d+16>>2]|0;l=c[d+152>>2]|0;k=m+192|0;if((e|0)!=0&(l&32768|0)!=0)c[k>>2]=e;if(((l&65536|0)!=0?(c[m+212>>2]=CK(i,j)|0,(f|0)!=0):0)?(a[f>>0]|0)!=0:0){c[m+208>>2]=CK(f,j)|0;d=1}else d=0;do if(l&4194304){if(g|0?a[g>>0]|0:0){c[m+228>>2]=CK(g,j)|0;d=m+260|0;b[d>>1]=b[d>>1]|1;d=1;break}e=c[k>>2]|0;if(e){c[m+228>>2]=Y3(e)|0;d=1}}while(0);if((h|0)!=0&(l&8388608|0)!=0?(a[h>>0]|0)!=0:0){c[m+244>>2]=CK(h,j)|0;d=1}return d|0}function bI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+80|0;i=j;h=j+8|0;g=c[(c[b>>2]|0)+168>>2]|0;f=c[(c[(c[g+16>>2]|0)+8>>2]|0)+92>>2]|0;cI(b,e);b=NA(d,141363)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0){kA(e,b)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){iA(e,1)|0;b=c[f>>2]|0}a[b>>0]=0;b=c[e>>2]|0;c[f>>2]=b}else{if((g|0)!=(d|0)&(f|0)!=0){kA(e,f)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){iA(e,1)|0;b=c[f>>2]|0}c[f>>2]=b+1;a[b>>0]=95}switch(FC(d)|0){case 0:{f=(g|0)==(d|0)?111795:100228;b=(c[d>>2]|0)>>>4;break}case 1:{f=111782;b=(c[d>>2]|0)>>>4;break}case 2:{f=111751;b=(c[d>>2]|0)>>>4;break}default:{f=0;b=0}}kA(e,f)|0;c[i>>2]=b;i2(h,100234,i)|0;kA(e,h)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){iA(e,1)|0;b=c[f>>2]|0}a[b>>0]=0;b=c[e>>2]|0;c[f>>2]=b}l=j;return b|0}function cI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+144|0;h=i;g=i+8|0;e=c[b+160>>2]|0;if((e|0)>1?c[b+152>>2]&64|0:0){kA(d,c[(c[(c[b>>2]|0)+308>>2]|0)+(e<<2)>>2]|0)|0;f=d+4|0;e=c[f>>2]|0;if(e>>>0>=(c[d+8>>2]|0)>>>0){iA(d,1)|0;e=c[f>>2]|0}c[f>>2]=e+1;a[e>>0]=95}f=c[b+196>>2]|0;e=c[b+200>>2]|0;if((f|0)>0|(e|0)>0){c[h>>2]=f;c[h+4>>2]=e;i2(g,100238,h)|0;kA(d,g)|0}l=i;return}function dI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,i=0.0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0;s=l;l=l+48|0;p=s+16|0;f=s+32|0;q=s;r=+h[(c[a+16>>2]|0)+152>>3];o=eI(d,0,f)|0;if((o+-1|0)>>>0>=2){e=+h[b+16>>3];k=(+h[b>>3]+e)*.5;h[q>>3]=k;i=+h[b+24>>3];m=(+h[b+8>>3]+i)*.5;h[q+8>>3]=m;k=e-k;m=i-m;n=r>.5;if(n)sS(a,.5);j=c[f>>2]|0;i=0.0;f=c[j+8>>2]|0;while(1){d=c[f>>2]|0;if(!d)break;b=f+4|0;if(+g[b>>2]==0.0)e=i;else{hS(a,d);if(!(c[f+12>>2]|0))e=6.283185307179586;else e=i+ +g[b>>2]*6.283185307179586;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];b=GT(p,k,m,i,e)|0;nS(a,c[b>>2]|0,c[b+4>>2]|0,0,0,1);CY(b)}i=e;f=f+12|0}if(n)sS(a,r);fI(j)}l=s;return o|0}function eI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;n=q+8|0;i=q;p=HK(12)|0;h=Y3(b)|0;a:do if(!d){d=1;f=h;while(1){switch(a[f>>0]|0){case 0:break a;case 58:{d=d+1|0;break}default:{}}f=f+1|0}}while(0);c[p+4>>2]=h;o=HK((d*12|0)+12|0)|0;c[p+8>>2]=o;j=1.0;f=0;d=0;while(1){h=i6(h,108285)|0;if(!h){h=20;break}k=+gI(h);if(!(k>=0.0)){h=17;break}m=k-j;if(m>0.0)if((c[5167]|0)!=0?!(m<1.0e-05&m>-1.0e-05):0){c[i>>2]=b;dA(0,100249,i)|0;c[5167]=0;k=j;d=3}else k=j;j=j-k;if(k>0.0)a[o+(f*12|0)+8>>0]=1;if(a[h>>0]|0)c[o+(f*12|0)>>2]=h;g[o+(f*12|0)+4>>2]=k;if(j<1.0e-05&j>-1.0e-05){h=30;break}else{f=f+1|0;h=0}}b:do if((h|0)==17){if(!(c[5167]|0))d=1;else{c[n>>2]=b;dA(1,100284,n)|0;c[5167]=0;d=2}fI(p)}else if((h|0)==20){b=f+-1|0;if(j>0.0){h=0;i=0;while(1){if((h|0)>=(f|0))break;n=(+g[o+(h*12|0)+4>>2]==0.0&1)+i|0;h=h+1|0;i=n}if((i|0)<=0){f=o+(b*12|0)+4|0;g[f>>2]=j+ +g[f>>2];f=b;h=30;break}j=j/+(i|0);h=0;while(1){if((h|0)>=(f|0)){f=b;h=30;break b}i=o+(h*12|0)+4|0;if(+g[i>>2]==0.0)g[i>>2]=j;h=h+1|0}}else{f=b;h=30}}while(0);if((h|0)==30){while(1){if((f|0)<=-1)break;if(+g[o+(f*12|0)+4>>2]>0.0)break;f=f+-1|0}n=f+1|0;c[o+(n*12|0)>>2]=0;c[p>>2]=n;c[e>>2]=p}l=q;return d|0}function fI(a){a=a|0;l6(c[a+4>>2]|0);l6(c[a+8>>2]|0);l6(a);return}function gI(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;b=F3(b,59)|0;if(!b)d=0.0;else{g=b+1|0;a[b>>0]=0;d=+b6(g,e);d=(d>=0.0?(c[e>>2]|0)!=(g|0):0)?d:-1.0}l=f;return +d}function hI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;u=l;l=l+80|0;o=u+64|0;s=u;t=+h[(c[a+16>>2]|0)+152>>3];p=eI(d,0,o)|0;if((p+-1|0)>>>0>=2){q=s+16|0;d=s+48|0;i=b+48|0;r=s+32|0;j=b+32|0;k=b+16|0;if(!e){c[s>>2]=c[b>>2];c[s+4>>2]=c[b+4>>2];c[s+8>>2]=c[b+8>>2];c[s+12>>2]=c[b+12>>2];c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];c[r>>2]=c[j>>2];c[r+4>>2]=c[j+4>>2];c[r+8>>2]=c[j+8>>2];c[r+12>>2]=c[j+12>>2];c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];c[d+8>>2]=c[i+8>>2];c[d+12>>2]=c[i+12>>2]}else{c[s>>2]=c[j>>2];c[s+4>>2]=c[j+4>>2];c[s+8>>2]=c[j+8>>2];c[s+12>>2]=c[j+12>>2];c[q>>2]=c[i>>2];c[q+4>>2]=c[i+4>>2];c[q+8>>2]=c[i+8>>2];c[q+12>>2]=c[i+12>>2];c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2]}m=+h[q>>3];f=+h[s>>3];n=m-f;h[r>>3]=f;h[q>>3]=f;e=t>.5;if(e)sS(a,.5);k=c[o>>2]|0;b=s+48|0;j=c[k+8>>2]|0;while(1){d=c[j>>2]|0;if(!d)break;i=j+4|0;if(!(+g[i>>2]==0.0)){hS(a,d);if(!(c[j+12>>2]|0))f=m;else f=+h[s>>3]+n*+g[i>>2];h[r>>3]=f;h[q>>3]=f;lS(a,s,4,1);f=+h[q>>3];h[b>>3]=f;h[s>>3]=f}j=j+12|0}if(e)sS(a,t);fI(k)}l=u;return p|0}function iI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;g=f>>>16^2;c[d+264>>2]=g;h=d+268|0;c[h>>2]=g+2;g=d+272|0;l6(c[g>>2]|0);d=HK(c[h>>2]<<4)|0;c[g>>2]=d;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];g=d+16|0;b=b+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];if(!(e&8192))LR(a,d,d,2)|0;if(!f)hK(d)}return}function jI(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+144|0;c=r+80|0;e=r+16|0;j=r;k=+h[b>>3];o=a+16|0;m=+h[o>>3];p=a+24|0;n=a+8|0;if(!(((((((((!(k>m)?(d=+h[a>>3],!(k>3],g=+h[p>>3],!(f>g)):0)?(i=+h[n>>3],!(f>3],!(k>m|k>3],!(k>g|k>3],!(k>m|k>3],!(k>g|k>3],!(k>m|k>3],!(m>g|m>3];if(!(d>+h[o>>3])){if(d<+h[a>>3]){c=a;q=15}}else{c=o;q=15}if((q|0)==15){q=0;h[c>>3]=d}d=+h[b+(e<<4)+8>>3];if(!(d>+h[p>>3])){if(d<+h[n>>3]){c=a;q=18}}else{c=o;q=18}if((q|0)==18){q=0;h[c+8>>3]=d}e=e+1|0}}while(0);l=r;return}function kI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,h=0,i=0;b=l;l=l+48|0;d=b+32|0;e=b+16|0;f=b;i=a+48|0;h=a+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];g=+mK(f,e,d);h=a+32|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];a=g<4.0&+mK(f,e,d)<4.0&1;l=b;return a|0}function lI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0;G=l;l=l+272|0;x=G+256|0;y=G+224|0;z=G+192|0;A=G+160|0;B=G+64|0;C=G;D=G+128|0;E=G+96|0;F=G+32|0;w=c[d+16>>2]|0;v=c[w+144>>2]|0;u=w+16|0;c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2];c[A+16>>2]=c[u+16>>2];c[A+20>>2]=c[u+20>>2];c[A+24>>2]=c[u+24>>2];c[A+28>>2]=c[u+28>>2];w=c[(c[w+8>>2]|0)+88>>2]|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[C+24>>2]=0;c[C+28>>2]=0;if(!w){c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];c[b+16>>2]=c[A+16>>2];c[b+20>>2]=c[A+20>>2];c[b+24>>2]=c[A+24>>2];c[b+28>>2]=c[A+28>>2]}else{d=A+16|0;if(+h[A>>3]==+h[d>>3]?(e=A+8|0,f=A+24|0,+h[e>>3]==+h[f>>3]):0){h[e>>3]=1797693134862315708145274.0e284;h[A>>3]=1797693134862315708145274.0e284;h[f>>3]=-1797693134862315708145274.0e284;h[d>>3]=-1797693134862315708145274.0e284}n=y+8|0;o=y+16|0;p=y+24|0;q=B+16|0;r=B+24|0;s=v+144|0;t=z+16|0;u=w+12|0;d=0;k=c[w+8>>2]|0;e=0;g=0.0;m=0;while(1){if((m|0)>=(c[w>>2]|0))break;c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];c[B+8>>2]=c[C+8>>2];c[B+12>>2]=c[C+12>>2];c[B+16>>2]=c[C+16>>2];c[B+20>>2]=c[C+20>>2];c[B+24>>2]=c[C+24>>2];c[B+28>>2]=c[C+28>>2];j=k+8|0;f=k+80|0;i=j+4|0;switch(c[k>>2]|0){case 1:case 0:{K=+h[j>>3];J=+h[k+24>>3];h[y>>3]=K-J;I=+h[k+16>>3];H=+h[k+32>>3];h[n>>3]=I-H;h[o>>3]=K+J;h[p>>3]=I+H;c[f>>2]=c[y>>2];c[f+4>>2]=c[y+4>>2];c[f+8>>2]=c[y+8>>2];c[f+12>>2]=c[y+12>>2];j=k+96|0;c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[j+12>>2]=c[o+12>>2];c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2];c[x+12>>2]=c[y+12>>2];mI(A,x);c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];mI(A,x);break}case 3:case 2:{nI(D,c[i>>2]|0,c[j>>2]|0,A);c[f>>2]=c[D>>2];c[f+4>>2]=c[D+4>>2];c[f+8>>2]=c[D+8>>2];c[f+12>>2]=c[D+12>>2];c[f+16>>2]=c[D+16>>2];c[f+20>>2]=c[D+20>>2];c[f+24>>2]=c[D+24>>2];c[f+28>>2]=c[D+28>>2];break}case 5:case 4:{nI(E,c[i>>2]|0,c[j>>2]|0,A);c[f>>2]=c[E>>2];c[f+4>>2]=c[E+4>>2];c[f+8>>2]=c[E+8>>2];c[f+12>>2]=c[E+12>>2];c[f+16>>2]=c[E+16>>2];c[f+20>>2]=c[E+20>>2];c[f+24>>2]=c[E+24>>2];c[f+28>>2]=c[E+28>>2];break}case 6:{nI(F,c[i>>2]|0,c[j>>2]|0,A);c[f>>2]=c[F>>2];c[f+4>>2]=c[F+4>>2];c[f+8>>2]=c[F+8>>2];c[f+12>>2]=c[F+12>>2];c[f+16>>2]=c[F+16>>2];c[f+20>>2]=c[F+20>>2];c[f+24>>2]=c[F+24>>2];c[f+28>>2]=c[F+28>>2];break}case 7:{i=k+112|0;c[i>>2]=HK(56)|0;L=Y3(c[k+40>>2]|0)|0;M=c[i>>2]|0;c[M>>2]=L;a[M+48>>0]=a[100330+(c[k+24>>2]|0)>>0]|0;c[B>>2]=e;h[q>>3]=g;c[r>>2]=c[r>>2]&-128|d&127;M=c[s>>2]|0;M=eb[c[M>>2]&63](M,B,1)|0;L=c[i>>2]|0;c[L+4>>2]=M;JO(x,v,L);oI(z,+h[j>>3],+h[k+16>>3],c[i>>2]|0);c[f>>2]=c[z>>2];c[f+4>>2]=c[z+4>>2];c[f+8>>2]=c[z+8>>2];c[f+12>>2]=c[z+12>>2];c[f+16>>2]=c[z+16>>2];c[f+20>>2]=c[z+20>>2];c[f+24>>2]=c[z+24>>2];c[f+28>>2]=c[z+28>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];mI(A,x);c[x>>2]=c[t>>2];c[x+4>>2]=c[t+4>>2];c[x+8>>2]=c[t+8>>2];c[x+12>>2]=c[t+12>>2];mI(A,x);if(!(c[u>>2]|0))c[u>>2]=109;break}case 10:{e=c[k+16>>2]|0;g=+h[j>>3];break}case 15:{d=c[j>>2]|0;break}default:{}}k=k+120|0;m=m+1|0}c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];c[b+16>>2]=c[A+16>>2];c[b+20>>2]=c[A+20>>2];c[b+24>>2]=c[A+24>>2];c[b+28>>2]=c[A+28>>2]}l=G;return}function mI(a,b){a=a|0;b=b|0;var c=0.0,d=0;c=+h[b>>3];d=a+16|0;if(c>+h[d>>3])h[d>>3]=c;if(c<+h[a>>3])h[a>>3]=c;c=+h[b+8>>3];b=a+24|0;if(c>+h[b>>3])h[b>>3]=c;b=a+8|0;if(c<+h[b>>3])h[b>>3]=c;return}function nI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;k=r+32|0;n=r;f=+h[b>>3];o=n+16|0;h[o>>3]=f;h[n>>3]=f;f=+h[b+8>>3];p=n+24|0;h[p>>3]=f;m=n+8|0;h[m>>3]=f;j=1;while(1){if((j|0)>=(d|0))break;i=b+24|0;f=+h[i>>3];if(!(f<+h[n>>3])){if(f>+h[o>>3]){g=o;q=5}}else{g=n;q=5}if((q|0)==5){q=0;h[g>>3]=f}f=+h[b+32>>3];if(!(f<+h[m>>3])){if(f>+h[p>>3]){b=o;q=8}}else{b=n;q=8}if((q|0)==8){q=0;h[b+8>>3]=f}j=j+1|0;b=i}c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];mI(e,k);c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];mI(e,k);c[a>>2]=c[n>>2];c[a+4>>2]=c[n+4>>2];c[a+8>>2]=c[n+8>>2];c[a+12>>2]=c[n+12>>2];c[a+16>>2]=c[n+16>>2];c[a+20>>2]=c[n+20>>2];c[a+24>>2]=c[n+24>>2];c[a+28>>2]=c[n+28>>2];l=r;return}function oI(b,c,d,e){b=b|0;c=+c;d=+d;e=e|0;var f=0.0,g=0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+16|0;i=n+8|0;j=n;f=+h[e+32>>3];k=+h[e+40>>3];switch(a[e+48>>0]|0){case 108:{h[i>>3]=c;f=f+c;g=j;m=5;break}case 110:{f=f*.5;h[i>>3]=c-f;f=f+c;g=j;m=5;break}case 114:{h[j>>3]=c;f=c-f;g=i;m=5;break}default:{c=0.0;f=0.0}}if((m|0)==5){h[g>>3]=f;c=+h[i>>3];f=+h[j>>3]}d=+h[e+16>>3]+d;h[b>>3]=c;h[b+8>>3]=d-k;h[b+16>>3]=f;h[b+24>>3]=d;l=n;return}function pI(a){a=a|0;if((c[a>>2]|0)==7)zK(c[a+112>>2]|0,1);return}function qI(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0.0,o=0,p=0;m=l;l=l+16|0;k=m;j=c[b+152>>2]|0;g=+h[b+352>>3];n=+h[b+432>>3];f=g*n/72.0;h[b+488>>3]=f;i=+h[b+440>>3];g=g*i/72.0;h[b+496>>3]=g;h[b+520>>3]=n/72.0;i=i/72.0;e=b+528|0;h[e>>3]=i;if(c[47187]|j&4096|0)h[e>>3]=-i;p=(c[b+360>>2]|0)==0;o=b+376|0;n=+((c[b+452>>2]|0)>>>0);e=b+368|0;h[(p?e:o)>>3]=+((c[b+448>>2]|0)>>>0)/(p?f:g);h[(p?o:e)>>3]=n/(p?g:f);pS(b,_O(d,DA(d,0,101823,0)|0,195341)|0);c[b+160>>2]=0;rI(b,d);if(j&2|0)sI(b,d);e=gC(d)|0;while(1){if(!e)break;a[(c[e+16>>2]|0)+116>>0]=0;e=hC(d,e)|0}tI(b,k);while(1){if(!((uI(b)|0)<<24>>24))break;if((vI(b)|0)>1)QR(b);wI(b);while(1){if(!((xI(b)|0)<<24>>24))break;yI(b,d);zI(b)}if((vI(b)|0)>1)RR(b);AI(b,k)}BI(b);l=m;return}function rI(a,b){a=a|0;b=b|0;var d=0;d=_H(a)|0;c[d+4>>2]=0;c[d+8>>2]=b;c[d+12>>2]=0;AJ(a,c[(c[b+16>>2]|0)+12>>2]|0,b);MR(a,b);return}function sI(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;hS(b,135101);d=NA(c,141280)|0;if(d|0?a[d>>0]|0:0)hS(b,d);d=NA(c,101747)|0;if(d|0?a[d>>0]|0:0)fS(b,d);MJ(b,c);g=gC(c)|0;while(1){if(!g)break;d=NA(g,141126)|0;if(d|0?a[d>>0]|0:0)fS(b,d);d=NA(g,138032)|0;if(d|0?a[d>>0]|0:0)hS(b,d);d=NA(g,101719)|0;do if(d|0?a[d>>0]|0:0){if(!(F3(d,58)|0)){fS(b,d);break}e=Y3(d)|0;d=e;while(1){d=i6(d,108285)|0;if(!d)break;if(!(a[d>>0]|0)){d=0;continue}fS(b,d);d=0}l6(e)}while(0);d=NA(g,101747)|0;if(d|0?a[d>>0]|0:0)fS(b,d);f=UA(c,g)|0;while(1){if(!f)break;d=NA(f,141126)|0;do if(d|0?a[d>>0]|0:0){if(!(F3(d,58)|0)){fS(b,d);break}e=Y3(d)|0;d=e;while(1){d=i6(d,108285)|0;if(!d)break;if(!(a[d>>0]|0)){d=0;continue}fS(b,d);d=0}l6(e)}while(0);d=NA(f,101747)|0;if(d|0?a[d>>0]|0:0)fS(b,d);f=WA(c,f)|0}g=hC(c,g)|0}return}function tI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;e=m+8|0;j=m;h=c[a>>2]|0;d=c[h+312>>2]|0;g=a+156|0;c[g>>2]=d;h=c[h+316>>2]|0;i=a+152|0;f=a+52|0;k=a+160|0;if(!h)if((d|0)>1?(c[i>>2]&64|0)==0:0){c[e>>2]=c[f>>2];dA(0,100868,e)|0;c[g>>2]=1;d=0;a=1}else{d=0;a=1}else{a=h+4|0;if((c[h>>2]|0)>1?(c[i>>2]&64|0)==0:0){c[j>>2]=c[f>>2];dA(0,100868,j)|0;c[h+8>>2]=(c[g>>2]|0)+1}d=h+8|0;a=c[a>>2]|0}c[k>>2]=a;c[b>>2]=d;l=m;return}function uI(a){a=a|0;return (c[a+160>>2]|0)<=(c[a+156>>2]|0)|0}function vI(a){a=a|0;var b=0;b=c[(c[a>>2]|0)+316>>2]|0;return c[((b|0)==0?a+156|0:b)>>2]|0}function wI(a){a=a|0;var b=0,d=0;d=a+172|0;b=c[d+4>>2]|0;a=a+196|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;return}function xI(a){a=a|0;var b=0,d=0;d=c[a+196>>2]|0;if(((d|0)>-1?(d|0)<(c[a+164>>2]|0):0)?(b=c[a+200>>2]|0,(b|0)>-1):0)a=(b|0)<(c[a+168>>2]|0)&1;else a=0;return a|0}function yI(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+176|0;m=q;f=q+48|0;n=q+32|0;o=c[d+16>>2]|0;p=c[d+152>>2]|0;if((c[d+160>>2]|0)<=1?(c[d+196>>2]|0)<=0:0)h=0;else{hA(n,128,f);g=o+212|0;h=c[g>>2]|0;cI(d,n);kA(n,h)|0;i=n+4|0;f=c[i>>2]|0;if(f>>>0>=(c[n+8>>2]|0)>>>0){iA(n,1)|0;f=c[i>>2]|0}a[f>>0]=0;j=c[n>>2]|0;c[i>>2]=j;c[g>>2]=j}FT(NA(e,100333)|0);DI(d);OR(d);fS(d,137615);hS(d,135101);i=o+208|0;j=o+260|0;do if(p&4259840|0){if((c[i>>2]|0)==0?(b[j>>1]&1)==0:0)break;if(p&655360){g=p&131072;c[o+264>>2]=g>>>16^2;f=HK((g>>>12^32)+32|0)|0;r=d+288|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];r=f+16|0;s=d+304|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];if(!g){hK(f);g=4}else g=2}else{f=0;g=0}if(!(p&8192))LR(d,f,f,g)|0;c[o+272>>2]=f;c[o+268>>2]=g}while(0);f=e+16|0;if(p&32768|0?(k=c[(c[f>>2]|0)+12>>2]|0,k|0):0)c[o+192>>2]=c[k>>2];g=(p&4|0)!=0;do if(!g){if((c[i>>2]|0)==0?(b[j>>1]&1)==0:0)break;s=d+256|0;c[m>>2]=c[s>>2];c[m+4>>2]=c[s+4>>2];c[m+8>>2]=c[s+8>>2];c[m+12>>2]=c[s+12>>2];c[m+16>>2]=c[s+16>>2];c[m+20>>2]=c[s+20>>2];c[m+24>>2]=c[s+24>>2];c[m+28>>2]=c[s+28>>2];iI(d,m);aS(d,c[i>>2]|0,c[o+228>>2]|0,c[o+244>>2]|0,c[o+212>>2]|0)}while(0);EI(d,e);f=c[(c[f>>2]|0)+12>>2]|0;if(f|0)BK(d,4,f);do if(!g){if((c[i>>2]|0)==0?(b[j>>1]&1)==0:0)break;bS(d)}while(0);FI(d,e,p);PR(d);if(h|0){lA(n);c[o+212>>2]=h}l=q;return}function zI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;d=h+24|0;b=h+16|0;j=h+8|0;f=h;g=a+196|0;i=a+188|0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];CI(j,b,d);i=c[j+4>>2]|0;e=g;c[e>>2]=c[j>>2];c[e+4>>2]=i;if(!((xI(a)|0)<<24>>24)){e=a+180|0;if(!(c[a+184>>2]|0))c[a+200>>2]=c[a+176>>2];else c[g>>2]=c[a+172>>2];c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];CI(f,b,d);i=c[f+4>>2]|0;j=g;c[j>>2]=c[f>>2];c[j+4>>2]=i}l=h;return}function AI(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;a=a+160|0;if(!d)c[a>>2]=(c[a>>2]|0)+1;else{c[a>>2]=c[d>>2];c[b>>2]=d+4}return}function BI(a){a=a|0;NR(a);$H(a);return}function CI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[d+4>>2]|0)+(c[b+4>>2]|0)|0;c[a>>2]=(c[d>>2]|0)+(c[b>>2]|0);c[a+4>>2]=e;return}function DI(a){a=a|0;var b=0.0,d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0;v=l;l=l+48|0;n=v+32|0;g=v+24|0;j=v+8|0;k=v+16|0;m=v;e=a+196|0;d=c[e>>2]|0;e=c[e+4>>2]|0;o=g;c[o>>2]=d;c[o+4>>2]=e;o=a+164|0;i=c[o>>2]|0;o=c[o+4>>2]|0;u=j;c[u>>2]=i;c[u+4>>2]=o;u=a+360|0;if(c[u>>2]|0){c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];LJ(k,n);e=k;d=c[e>>2]|0;e=c[e+4>>2]|0;o=g;c[o>>2]=d;c[o+4>>2]=e;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];LJ(m,n);o=m;i=c[o>>2]|0;o=c[o+4>>2]|0;n=j;c[n>>2]=i;c[n+4>>2]=o}r=+(d|0);s=+h[a+320>>3];f=r*s-+h[a+240>>3];h[a+288>>3]=f;p=+(e|0);q=+h[a+328>>3];t=p*q-+h[a+248>>3];h[a+296>>3]=t;h[a+304>>3]=s+f;h[a+312>>3]=q+t;d=a+472|0;e=a+456|0;if(!(c[(c[a+12>>2]|0)+28>>2]|0)){c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2]}else{c[d>>2]=c[((c[d>>2]|0)<(c[e>>2]|0)?d:e)>>2];n=a+476|0;c[n>>2]=c[((c[n>>2]|0)<(c[a+460>>2]|0)?d:e)+4>>2];n=a+480|0;c[n>>2]=c[((c[n>>2]|0)>(c[a+464>>2]|0)?d:e)+8>>2];n=a+484|0;c[n>>2]=c[((c[n>>2]|0)>(c[a+468>>2]|0)?d:e)+12>>2]}j=c[a+152>>2]|0;b=+h[a+336>>3];d=a+256|0;e=a+264|0;f=+h[a+344>>3];g=a+272|0;if(!(j&128)){b=b+s*(r-+(i|0)*.5);h[d>>3]=b;t=f+q*(p-+(o|0)*.5);h[e>>3]=t;r=s+b;h[g>>3]=r;f=q+t;s=b;q=r}else{q=+h[a+368>>3]*.5;s=b-q;h[d>>3]=s;r=+h[a+376>>3]*.5;t=f-r;h[e>>3]=t;q=b+q;h[g>>3]=q;f=f+r}h[a+280>>3]=f;b=+h[a+352>>3];d=a+512|0;e=a+504|0;g=(c[47187]|j&4096|0)!=0;r=+h[a+384>>3]/b;b=+h[a+392>>3]/b;if(!(c[u>>2]|0)){h[e>>3]=r-s;p=b;b=b-t}else{h[d>>3]=-f-b;p=r;f=q;d=e;b=r-s}h[d>>3]=g?-f-p:b;l=v;return} +function EI(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;q=s;o=s+40|0;p=s+36|0;r=s+32|0;e=NA(d,141280)|0;if(!e){j=1;e=137499}else{i=(a[e>>0]|0)==0;j=i&1;e=i?137499:e}h=c[b+152>>2]|0;i=(a[e>>0]|0)==116;if(!(h&256))if(i){m=(f2(e,137680)|0)==0;k=m?137499:e;m=m?1:j;n=8}else{k=e;m=j;n=8}else if(!(i?!(f2(e,137680)|0):0)){k=e;m=j;n=8}if((n|0)==8?!((m|0)!=0&(h&33554432|0)!=0):0)if(!((HJ(k,o,p)|0)<<24>>24)){hS(b,k);fS(b,137680);r=b+256|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];c[q+16>>2]=c[r+16>>2];c[q+20>>2]=c[r+20>>2];c[q+24>>2]=c[r+24>>2];c[q+28>>2]=c[r+28>>2];mS(b,q,1)}else{c[r>>2]=0;i=c[o>>2]|0;hS(b,i);fS(b,137680);GJ(d,r)|0;e=c[o+4>>2]|0;h=XO(d,c[47197]|0,0,0)|0;f=+g[p>>2];if(!e)iS(b,137615,h,f);else iS(b,e,h,f);r=(c[r>>2]|0)>>>1&1|2;p=b+256|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];c[q+16>>2]=c[p+16>>2];c[q+20>>2]=c[p+20>>2];c[q+24>>2]=c[p+24>>2];c[q+28>>2]=c[p+28>>2];mS(b,q,r);l6(i)}e=c[(c[(c[d+16>>2]|0)+8>>2]|0)+88>>2]|0;if(e|0)JJ(b,e);l=s;return}function FI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[a>>2]|0)+28|0;c[g>>2]=(c[g>>2]|0)+1;g=(d&4|0)!=0;if(!g)GI(a,b,d);a:do if(!(d&1)){if(d&16|0){WR(a);f=gC(b)|0;while(1){if(!f)break;e=UA(b,f)|0;while(1){if(!e)break;II(a,e);e=WA(b,e)|0}f=hC(b,f)|0}XR(a);UR(a);e=gC(b)|0;while(1){if(!e)break;HI(a,e);e=hC(b,e)|0}VR(a);break}if(!(d&8)){f=gC(b)|0;while(1){if(!f)break a;HI(a,f);e=UA(b,f)|0;while(1){if(!e)break;HI(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0);II(a,e);e=WA(b,e)|0}f=hC(b,f)|0}}UR(a);e=gC(b)|0;while(1){if(!e)break;if((JI(b,e)|0)<<24>>24)HI(a,e);e=hC(b,e)|0}VR(a);WR(a);f=gC(b)|0;while(1){if(!f)break;e=UA(b,f)|0;while(1){if(!e)break;if((KI(b,e)|0)<<24>>24)II(a,e);e=WA(b,e)|0}f=hC(b,f)|0}XR(a)}else{UR(a);e=gC(b)|0;while(1){if(!e)break;HI(a,e);e=hC(b,e)|0}VR(a);WR(a);f=gC(b)|0;while(1){if(!f)break;e=UA(b,f)|0;while(1){if(!e)break;II(a,e);e=WA(b,e)|0}f=hC(b,f)|0}XR(a)}while(0);if(g)GI(a,b,d);return}function GI(e,f,i){e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=l;l=l+128|0;y=R+72|0;P=R+64|0;J=R+112|0;K=R;L=R+104|0;M=f+16|0;N=(i&4|0)!=0;O=e+16|0;z=K+24|0;A=K+56|0;C=K+8|0;D=K+16|0;E=K+32|0;F=K+40|0;G=K+48|0;H=(i&8|0)==0;I=L+4|0;x=1;while(1){j=c[M>>2]|0;if((x|0)>(c[j+180>>2]|0))break;w=c[(c[j+184>>2]|0)+(x<<2)>>2]|0;if((EJ(e,w)|0)<<24>>24){if(N)GI(e,w,i);FJ(e,w);j=c[O>>2]|0;s=j+208|0;if(!(c[s>>2]|0))v=(b[j+260>>1]&1)!=0;else v=1;FT(NA(w,100333)|0);t=j+212|0;u=j+228|0;q=j+244|0;r=w+16|0;if(!(N|v^1)){p=(c[r>>2]|0)+16|0;c[y>>2]=c[p>>2];c[y+4>>2]=c[p+4>>2];c[y+8>>2]=c[p+8>>2];c[y+12>>2]=c[p+12>>2];c[y+16>>2]=c[p+16>>2];c[y+20>>2]=c[p+20>>2];c[y+24>>2]=c[p+24>>2];c[y+28>>2]=c[p+28>>2];iI(e,y);aS(e,c[s>>2]|0,c[u>>2]|0,c[q>>2]|0,c[t>>2]|0)}c[J>>2]=0;j=GJ(w,J)|0;if(!j)o=0;else{jS(e,j);o=c[J>>2]&1}j=d[(c[r>>2]|0)+112>>0]|0;do if(!(j&1)){if(j&2|0){j=$O(w,c[47188]|0,106557)|0;k=$O(w,c[47189]|0,106565)|0;Q=29;break}if(j&8|0){j=$O(w,c[47192]|0,106573)|0;k=$O(w,c[47193]|0,106581)|0;Q=29;break}if(j&4|0){j=$O(w,c[47190]|0,106589)|0;k=$O(w,c[47191]|0,106597)|0;Q=29;break}j=NA(w,141126)|0;if(!j)k=0;else k=(a[j>>0]|0)==0?0:j;j=NA(w,138032)|0;if(!j)j=k;else j=(a[j>>0]|0)==0?k:j;m=NA(w,101719)|0;if(m)k=(a[m>>0]|0)==0?k:m;if(!((o|0)!=0&(k|0)!=0)){m=NA(w,141280)|0;if(m|0?a[m>>0]|0:0){k=m;Q=29;break}j=(j|0)==0?137615:j;m=(k|0)==0?135101:k;c[L>>2]=0;if(!o){k=0;o=m}else{o=m;Q=31}}else Q=29}else{j=$O(w,c[47188]|0,106541)|0;k=$O(w,c[47189]|0,106549)|0;Q=29}while(0);if((Q|0)==29){c[L>>2]=0;j=(j|0)==0?137615:j;o=(k|0)==0?135101:k;Q=31}if((Q|0)==31){Q=0;if(!((HJ(o,L,y)|0)<<24>>24)){hS(e,o);k=1}else{hS(e,c[L>>2]|0);k=c[I>>2]|0;m=XO(w,c[47197]|0,0,0)|0;n=+g[y>>2];if(!k)iS(e,137615,m,n);else iS(e,k,m,n);k=(c[J>>2]|0)>>>1&1|2}}m=c[47196]|0;if((m|0?(B=OA(w,m)|0,B|0):0)?a[B>>0]|0:0)sS(e,+YO(w,c[47196]|0,1.0,0.0));p=c[J>>2]|0;m=c[47195]|0;do if(p&4){m=XO(w,m,1,0)|0;if(m|k|0){o=c[r>>2]|0;S=o+16|0;c[K>>2]=c[S>>2];c[K+4>>2]=c[S+4>>2];c[K+8>>2]=c[S+8>>2];c[K+12>>2]=c[S+12>>2];o=o+32|0;c[E>>2]=c[o>>2];c[E+4>>2]=c[o+4>>2];c[E+8>>2]=c[o+8>>2];c[E+12>>2]=c[o+12>>2];h[D>>3]=+h[E>>3];h[z>>3]=+h[C>>3];h[G>>3]=+h[K>>3];h[A>>3]=+h[F>>3];if(!m)fS(e,137680);else fS(e,j);RM(e,K,4,p,k)}}else{if(!(p&64)){if(XO(w,m,1,0)|0){fS(e,j);S=(c[r>>2]|0)+16|0;c[y>>2]=c[S>>2];c[y+4>>2]=c[S+4>>2];c[y+8>>2]=c[S+8>>2];c[y+12>>2]=c[S+12>>2];c[y+16>>2]=c[S+16>>2];c[y+20>>2]=c[S+20>>2];c[y+24>>2]=c[S+24>>2];c[y+28>>2]=c[S+28>>2];mS(e,y,k);break}if(!k)break;fS(e,137680);S=(c[r>>2]|0)+16|0;c[y>>2]=c[S>>2];c[y+4>>2]=c[S+4>>2];c[y+8>>2]=c[S+8>>2];c[y+12>>2]=c[S+12>>2];c[y+16>>2]=c[S+16>>2];c[y+20>>2]=c[S+20>>2];c[y+24>>2]=c[S+24>>2];c[y+28>>2]=c[S+28>>2];mS(e,y,k);break}S=c[r>>2]|0;p=S+16|0;c[K>>2]=c[p>>2];c[K+4>>2]=c[p+4>>2];c[K+8>>2]=c[p+8>>2];c[K+12>>2]=c[p+12>>2];S=S+32|0;c[E>>2]=c[S>>2];c[E+4>>2]=c[S+4>>2];c[E+8>>2]=c[S+8>>2];c[E+12>>2]=c[S+12>>2];h[D>>3]=+h[E>>3];h[z>>3]=+h[C>>3];h[G>>3]=+h[K>>3];h[A>>3]=+h[F>>3];if(!(XO(w,m,1,0)|0))fS(e,137680);else fS(e,j);if((hI(e,K,o,0)|0)>1){c[P>>2]=HB(w)|0;dA(3,100701,P)|0}S=(c[r>>2]|0)+16|0;c[y>>2]=c[S>>2];c[y+4>>2]=c[S+4>>2];c[y+8>>2]=c[S+8>>2];c[y+12>>2]=c[S+12>>2];c[y+16>>2]=c[S+16>>2];c[y+20>>2]=c[S+20>>2];c[y+24>>2]=c[S+24>>2];c[y+28>>2]=c[S+28>>2];mS(e,y,0)}while(0);l6(c[L>>2]|0);j=c[(c[r>>2]|0)+12>>2]|0;if(j|0)BK(e,5,j);if(v){if(N){S=(c[r>>2]|0)+16|0;c[y>>2]=c[S>>2];c[y+4>>2]=c[S+4>>2];c[y+8>>2]=c[S+8>>2];c[y+12>>2]=c[S+12>>2];c[y+16>>2]=c[S+16>>2];c[y+20>>2]=c[S+20>>2];c[y+24>>2]=c[S+24>>2];c[y+28>>2]=c[S+28>>2];iI(e,y);aS(e,c[s>>2]|0,c[u>>2]|0,c[q>>2]|0,c[t>>2]|0)}bS(e)}a:do if(!H){k=gC(w)|0;while(1){if(!k)break a;HI(e,k);j=UA(w,k)|0;while(1){if(!j)break;II(e,j);j=WA(w,j)|0}k=hC(w,k)|0}}while(0);IJ(e,f);if(!N)GI(e,w,i)}x=x+1|0}l=R;return}function HI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j;h=c[b>>2]|0;i=d+16|0;a:do if(((c[(c[i>>2]|0)+8>>2]|0?(wJ(b,uC(d)|0,d)|0)<<24>>24:0)?(k=b+256|0,c[e>>2]=c[k>>2],c[e+4>>2]=c[k+4>>2],c[e+8>>2]=c[k+8>>2],c[e+12>>2]=c[k+12>>2],c[e+16>>2]=c[k+16>>2],c[e+20>>2]=c[k+20>>2],c[e+24>>2]=c[k+24>>2],c[e+28>>2]=c[k+28>>2],(xJ(d,e)|0)<<24>>24):0)?(f=(c[i>>2]|0)+116|0,g=c[h+28>>2]|0,(a[f>>0]|0)!=(g|0)):0){a[f>>0]=g;pS(b,HB(d)|0);e=_O(d,c[47231]|0,195341)|0;if(a[e>>0]|0)pS(b,e);e=_O(d,c[47219]|0,195341)|0;b:do if(a[e>>0]|0){NI(e)|0;e=188404;while(1){f=e;e=e+4|0;f=c[f>>2]|0;if(!f)break b;if((a[f>>0]|0)!=105)continue;if(!(f2(f,134636)|0))break a}}while(0);yJ(b,d);lb[c[(c[(c[(c[i>>2]|0)+8>>2]|0)+4>>2]|0)+20>>2]&63](b,d);e=c[(c[i>>2]|0)+108>>2]|0;if(e|0?a[e+81>>0]|0:0)BK(b,10,e);zJ(b)}while(0);l=j;return}function II(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;g=h;e=b+256|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[g+16>>2]=c[e+16>>2];c[g+20>>2]=c[e+20>>2];c[g+24>>2]=c[e+24>>2];c[g+28>>2]=c[e+28>>2];a:do if((LI(d,g)|0)<<24>>24?(f=d+-48|0,(MI(b,d)|0)<<24>>24):0){i=d+48|0;e=D3(HB(c[((c[d>>2]&3|0)==3?d:i)+40>>2]|0)|0)|0;e=k6(e+3+(D3(HB(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0)|0)|0;O3(e,HB(c[((c[d>>2]&3|0)==3?d:i)+40>>2]|0)|0)|0;i=(uB(uC(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0)==0;g=e+(D3(e)|0)|0;if(i){a[g>>0]=a[142050]|0;a[g+1>>0]=a[142051]|0;a[g+2>>0]=a[142052]|0}else{a[g>>0]=a[138041]|0;a[g+1>>0]=a[138042]|0;a[g+2>>0]=a[138043]|0}g6(e,HB(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0;pS(b,e);l6(e);e=_O(d,c[47260]|0,195341)|0;if(a[e>>0]|0)pS(b,e);e=_O(d,c[47254]|0,195341)|0;b:do if(!(a[e>>0]|0))e=0;else{NI(e)|0;e=188404;while(1){f=e;e=e+4|0;f=c[f>>2]|0;if(!f){e=188404;break b}if((a[f>>0]|0)!=105)continue;if(!(f2(f,134636)|0))break a}}while(0);OI(b,d,e);PI(b,d,e);QI(b)}while(0);l=h;return}function JI(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0)){a=1;break}if(!(EC(c[(c[e+184>>2]|0)+(a<<2)>>2]|0,b)|0))a=a+1|0;else{a=0;break}}return a|0}function KI(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0)){a=1;break}if(!(EC(c[(c[e+184>>2]|0)+(a<<2)>>2]|0,b)|0))a=a+1|0;else{a=0;break}}return a|0}function LI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+64|0;i=j+32|0;f=j;g=b+16|0;b=c[g>>2]|0;e=c[b+8>>2]|0;if((e|0)!=0?(e=e+8|0,c[f>>2]=c[e>>2],c[f+4>>2]=c[e+4>>2],c[f+8>>2]=c[e+8>>2],c[f+12>>2]=c[e+12>>2],c[f+16>>2]=c[e+16>>2],c[f+20>>2]=c[e+20>>2],c[f+24>>2]=c[e+24>>2],c[f+28>>2]=c[e+28>>2],c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[i+16>>2]=c[d+16>>2],c[i+20>>2]=c[d+20>>2],c[i+24>>2]=c[d+24>>2],c[i+28>>2]=c[d+28>>2],(vJ(f,i)|0)!=0):0)b=1;else h=3;do if((h|0)==3){e=c[b+96>>2]|0;if(e){c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[i+16>>2]=c[d+16>>2];c[i+20>>2]=c[d+20>>2];c[i+24>>2]=c[d+24>>2];c[i+28>>2]=c[d+28>>2];if((gQ(e,i)|0)<<24>>24){b=1;break}b=c[g>>2]|0}b=c[b+108>>2]|0;if((b|0?a[b+81>>0]|0:0)?(c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[i+16>>2]=c[d+16>>2],c[i+20>>2]=c[d+20>>2],c[i+24>>2]=c[d+24>>2],c[i+28>>2]=c[d+28>>2],(gQ(b,i)|0)<<24>>24):0){b=1;break}b=0}while(0);l=j;return b|0}function MI(b,d){b=b|0;d=d|0;var e=0,f=0;a:do if((c[b+156>>2]|0)>=2?(e=_O(d,c[47259]|0,195341)|0,(rJ(b,e)|0)<<24>>24==0):0)if(!(a[e>>0]|0)){e=0;while(1){if((e|0)>=2){e=0;break a}f=(e|0)==1;f=_O(c[((c[d>>2]&3|0)==((f?2:3)|0)?d:d+((f?-1:1)*48|0)|0)+40>>2]|0,c[47229]|0,195341)|0;if(!(a[f>>0]|0)){e=1;break a}if(!((rJ(b,f)|0)<<24>>24))e=e+1|0;else{e=1;break}}}else e=0;else e=1;while(0);return e|0}function NI(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+192|0;q=r+24|0;p=r+16|0;o=r+8|0;n=r;i=r+48|0;m=r+32|0;if(a[100583]|0){hA(188668,128,195106);a[100583]=0}hA(m,128,r+56|0);c[i>>2]=b;j=m+4|0;k=m+8|0;d=0;h=0;a:while(1){b:while(1){e=pJ(i,m)|0;f=d<<24>>24!=0;if(!e){d=22;break a}g=d<<24>>24==0;switch(e|0){case 40:if(f){d=8;break a}else{d=1;continue b}case 41:if(g){d=10;break a}else{d=0;continue b}default:break b}}f=188404+(h<<2)|0;if(g){if((h|0)==63){d=13;break}e=c[47168]|0;if(e>>>0>=(c[47169]|0)>>>0){iA(188668,1)|0;e=c[47168]|0}c[47168]=e+1;a[e>>0]=0;c[f>>2]=c[47168];f=h+1|0}else f=h;e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){iA(m,1)|0;e=c[j>>2]|0}a[e>>0]=0;e=c[m>>2]|0;c[j>>2]=e;kA(188668,e)|0;e=c[47168]|0;if(e>>>0>=(c[47169]|0)>>>0){iA(188668,1)|0;e=c[47168]|0}c[47168]=e+1;a[e>>0]=0;h=f}do if((d|0)==8){c[n>>2]=b;dA(1,100584,n)|0;c[47101]=0;lA(m)}else if((d|0)==10){c[o>>2]=b;dA(1,100618,o)|0;c[47101]=0;lA(m)}else if((d|0)==13){c[p>>2]=b;dA(0,100646,p)|0;c[f>>2]=0;lA(m)}else if((d|0)==22){if(f){c[q>>2]=b;dA(1,100669,q)|0;c[47101]=0;lA(m);break}c[188404+(h<<2)>>2]=0;lA(m);d=c[47168]|0;if(d>>>0>=(c[47169]|0)>>>0){iA(188668,1)|0;d=c[47168]|0}a[d>>0]=0;c[47168]=c[47167]}while(0);l=r;return 188404}function OI(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+160|0;B=E+24|0;z=E+20|0;y=E+16|0;k=E;n=E+32|0;A=c[d+152>>2]|0;c[B>>2]=0;c[z>>2]=0;c[y>>2]=0;C=_H(d)|0;c[C+4>>2]=3;c[C+8>>2]=f;c[C+12>>2]=9;w=f+16|0;t=c[(c[w>>2]|0)+96>>2]|0;D=C+260|0;if((t|0?(a[t+82>>0]|0)==0:0)?(cP(NA(f,100406)|0,0)|0)<<24>>24:0)b[D>>1]=b[D>>1]|512;if(g|0?c[(c[w>>2]|0)+8>>2]|0:0)jS(d,g);g=c[47275]|0;if((g|0?(i=OA(f,g)|0,i|0):0)?a[i>>0]|0:0)sS(d,+YO(f,c[47275]|0,1.0,0.0));do if(A&16777216|0){g=f+48|0;i=C+176|0;if((e[(c[(uC(c[((c[f>>2]&3|0)==3?f:g)+40>>2]|0)|0)+16>>2]|0)+178>>1]|0)>2){m=+h[(c[(c[(c[((c[f>>2]&3|0)==3?f:g)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;h[i>>3]=+(~~(m+(m>=0.0?.5:-.5))|0);m=+h[(c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;h[C+184>>3]=+(~~(m+(m>=0.0?.5:-.5))|0);break}else{c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;break}}while(0);r=C+200|0;s=C+204|0;q=C+192|0;if(A&32768|0){j=c[w>>2]|0;g=c[j+96>>2]|0;if(!g)g=c[q>>2]|0;else{g=c[g>>2]|0;c[q>>2]=g}i=C+196|0;c[i>>2]=g;c[s>>2]=g;c[r>>2]=g;g=c[j+108>>2]|0;if(g|0)c[i>>2]=c[g>>2];g=c[j+104>>2]|0;if(g|0)c[r>>2]=c[g>>2];g=c[j+100>>2]|0;if(g|0)c[s>>2]=c[g>>2]}t=C+208|0;if(!(A&65536))k=0;else{hA(k,128,n);c[C+212>>2]=CK(bI(d,f,k)|0,f)|0;lA(k);g=NA(f,141358)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=31;else{g=NA(f,111778)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=31;else j=0}if((p|0)==31)j=CK(g,f)|0;g=NA(f,100419)|0;i=(j|0)!=0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=36;else p=34;do if((p|0)==34){g=NA(f,100428)|0;if(g|0?a[g>>0]|0:0){p=36;break}if(i){g=Y3(j)|0;p=39}}while(0);if((p|0)==36){g=CK(g,f)|0;p=39}if((p|0)==39)c[t>>2]=g;g=NA(f,100436)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=44;else p=42;do if((p|0)==42){g=NA(f,100446)|0;if(g|0?a[g>>0]|0:0){p=44;break}if(i){g=Y3(j)|0;p=47}}while(0);if((p|0)==44){g=CK(g,f)|0;p=47}if((p|0)==47)c[C+216>>2]=g;g=NA(f,100455)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=52;else p=50;do if((p|0)==50){g=NA(f,100464)|0;if(g|0?a[g>>0]|0:0){p=52;break}if(i)c[C+220>>2]=Y3(j)|0}while(0);if((p|0)==52){c[C+220>>2]=CK(g,f)|0;b[D>>1]=b[D>>1]|128}g=NA(f,100472)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=59;else p=57;do if((p|0)==57){g=NA(f,100481)|0;if(g|0?a[g>>0]|0:0){p=59;break}if(i)c[C+224>>2]=Y3(j)|0}while(0);if((p|0)==59){c[C+224>>2]=CK(g,f)|0;b[D>>1]=b[D>>1]|256}k=j}o=C+244|0;do if(A&8388608){g=NA(f,141391)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)i=CK(g,f)|0;else i=0;g=NA(f,100489)|0;j=(i|0)!=0;if((g|0)!=0?(a[g>>0]|0)!=0:0){b[D>>1]=b[D>>1]|64;g=CK(g,f)|0;p=72}else p=70;if((p|0)==70?j:0){g=Y3(i)|0;p=72}if((p|0)==72)c[o>>2]=g;g=NA(f,100500)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){g=CK(g,f)|0;p=78}else p=76;if((p|0)==76?j:0){g=Y3(i)|0;p=78}if((p|0)==78)c[C+248>>2]=g;g=NA(f,100512)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){c[C+252>>2]=CK(g,f)|0;b[D>>1]=b[D>>1]|16}else p=82;if((p|0)==82?j:0)c[C+252>>2]=Y3(i)|0;g=NA(f,100523)|0;if(g|0?a[g>>0]|0:0){b[D>>1]=b[D>>1]|32;c[C+256>>2]=CK(g,f)|0;break}if(j)c[C+256>>2]=Y3(i)|0;else i=0}else i=0;while(0);do if(A&4194304|0){g=NA(f,141404)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=94;else p=92;do if((p|0)==92){g=NA(f,100534)|0;if(g|0?a[g>>0]|0:0){p=94;break}g=c[q>>2]|0;if(g|0)c[C+228>>2]=Y3(g)|0}while(0);if((p|0)==94){n=hJ(g,f)|0;c[C+228>>2]=CK(n,f)|0;l6(n);b[D>>1]=b[D>>1]|1}g=NA(f,100546)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){n=hJ(g,f)|0;c[C+232>>2]=CK(n,f)|0;l6(n);b[D>>1]=b[D>>1]|8}else p=100;if((p|0)==100?(u=c[q>>2]|0,u|0):0)c[C+232>>2]=Y3(u)|0;g=NA(f,100559)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){u=hJ(g,f)|0;c[C+236>>2]=CK(u,f)|0;l6(u);b[D>>1]=b[D>>1]|2}else p=105;if((p|0)==105?(v=c[r>>2]|0,v|0):0)c[C+236>>2]=Y3(v)|0;g=NA(f,100571)|0;if(g|0?a[g>>0]|0:0){v=hJ(g,f)|0;c[C+240>>2]=CK(v,f)|0;l6(v);b[D>>1]=b[D>>1]|4;break}g=c[s>>2]|0;if(g|0)c[C+240>>2]=Y3(g)|0}while(0);l6(k);l6(i);n=C+228|0;do if(A&4259840|0?(x=c[(c[w>>2]|0)+8>>2]|0,x|0):0){if(!(c[t>>2]|0)){if((A&524288|0)==0|(c[n>>2]|0)==0)break}else if(!(A&524288))break;m=+h[(c[d+16>>2]|0)+152>>3]*.5;m=m>2.0?m:2.0;i=c[x+4>>2]|0;g=0;while(1){if((g|0)>=(i|0))break;iJ(B,z,y,(c[x>>2]|0)+(g*48|0)|0,m);g=g+1|0}j=c[y>>2]|0;c[C+276>>2]=j;k=c[z>>2]|0;c[C+280>>2]=k;if(!(A&8192)){g=0;i=0;while(1){if((i|0)>=(j|0))break;g=(c[k+(i<<2)>>2]|0)+g|0;i=i+1|0}B=c[B>>2]|0;LR(d,B,B,g)|0;g=B}else g=c[B>>2]|0;c[C+284>>2]=g;c[C+264>>2]=2;c[C+272>>2]=g;c[C+268>>2]=c[k>>2]}while(0);_R(d,f);g=c[t>>2]|0;if(!((g|0)==0?!(b[D>>1]&1):0))aS(d,g,c[n>>2]|0,c[o>>2]|0,c[C+212>>2]|0);l=E;return}function PI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;T=l;l=l+240|0;P=T+224|0;O=T+208|0;z=T+144|0;y=T+112|0;S=T+64|0;C=T+48|0;D=T+32|0;E=T+16|0;F=T;G=T+192|0;H=T+176|0;A=T+160|0;B=T+128|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;Q=+h[(c[b+16>>2]|0)+152>>3];FT(NA(e,100333)|0);N=e+16|0;a:do if(c[(c[N>>2]|0)+8>>2]|0){R=+YO(e,c[47257]|0,1.0,0.0);k=_O(e,c[47238]|0,195341)|0;r=(f|0)!=0;b:do if(r){g=f;while(1){i=g;g=g+4|0;i=c[i>>2]|0;if(!i){p=0;break b}if((a[i>>0]|0)!=116)continue;if(!(f2(i,111418)|0)){p=1;break}}}else p=0;while(0);j=k;q=0;i=0;c:while(1){g=q+1|0;switch(a[j>>0]|0){case 0:break c;case 58:break;case 59:{g=q;i=i+1|0;break}default:g=q}j=j+1|0;q=g}o=(q|0)!=0;if((i|0)!=0&o)if(!(XI(b,e,f,k,g,R,Q)|0))break;else m=137615;else m=k;g=d[(c[N>>2]|0)+115>>0]|0;if(!(g&1))if(!(g&2))if(!(g&8))if(!(g&4)){u=m;g=$O(e,c[47239]|0,m)|0}else{j=106597;g=106589;k=188980;i=188976;n=18}else{j=106581;g=106573;k=188988;i=188984;n=18}else{j=106565;g=106557;k=188972;i=188968;n=18}else{j=106549;g=106541;k=188964;i=188960;n=18}if((n|0)==18){i=c[i>>2]|0;i=$O(e,i,YI(m,g)|0)|0;g=$O(e,c[k>>2]|0,j)|0;if((i|0)==(m|0))u=m;else{fS(b,i);u=i}}if((g|0)!=(m|0))hS(b,g);J=S+16|0;L=S+4|0;M=S+32|0;K=S+12|0;I=S+8|0;if(p<<24>>24){i=(a[u>>0]|0)==0?137615:u;g=(a[g>>0]|0)==0?137615:g;fS(b,137680);hS(b,i);o=S;m=c[c[(c[N>>2]|0)+8>>2]>>2]|0;n=o+48|0;do{c[o>>2]=c[m>>2];o=o+4|0;m=m+4|0}while((o|0)<(n|0));N=xO(S,ZI(e)|0,Q,0,0)|0;lS(b,c[N+8>>2]|0,c[N>>2]|0,1);_I(N);fS(b,i);if((g|0)!=(i|0))hS(b,g);g=c[I>>2]|0;if(g|0){N=c[S>>2]|0;c[O>>2]=c[J>>2];c[O+4>>2]=c[J+4>>2];c[O+8>>2]=c[J+8>>2];c[O+12>>2]=c[J+12>>2];c[P>>2]=c[N>>2];c[P+4>>2]=c[N+4>>2];c[P+8>>2]=c[N+8>>2];c[P+12>>2]=c[N+12>>2];XH(b,2,O,P,R,Q,g)}g=c[K>>2]|0;if(!g)break;S=(c[S>>2]|0)+((c[L>>2]|0)+-1<<4)|0;c[O>>2]=c[M>>2];c[O+4>>2]=c[M+4>>2];c[O+8>>2]=c[M+8>>2];c[O+12>>2]=c[M+12>>2];c[P>>2]=c[S>>2];c[P+4>>2]=c[S+4>>2];c[P+8>>2]=c[S+8>>2];c[P+12>>2]=c[S+12>>2];XH(b,3,O,P,R,Q,g);break}i=c[N>>2]|0;if(!o){do if(!(a[i+115>>0]&3)){if(a[u>>0]|0){fS(b,u);hS(b,g);break}fS(b,137615);if(!(a[g>>0]|0)){hS(b,137615);break}else{hS(b,g);break}}while(0);k=b+152|0;j=0;while(1){g=c[(c[N>>2]|0)+8>>2]|0;if((j|0)>=(c[g+4>>2]|0))break a;o=S;m=(c[g>>2]|0)+(j*48|0)|0;n=o+48|0;do{c[o>>2]=c[m>>2];o=o+4|0;m=m+4|0}while((o|0)<(n|0));g=c[S>>2]|0;i=c[L>>2]|0;do if(!(c[k>>2]&16384)){nS(b,g,i,0,0,0);g=c[I>>2]|0;if(g|0){H=c[S>>2]|0;c[O>>2]=c[J>>2];c[O+4>>2]=c[J+4>>2];c[O+8>>2]=c[J+8>>2];c[O+12>>2]=c[J+12>>2];c[P>>2]=c[H>>2];c[P+4>>2]=c[H+4>>2];c[P+8>>2]=c[H+8>>2];c[P+12>>2]=c[H+12>>2];XH(b,2,O,P,R,Q,g)}g=c[K>>2]|0;if(g|0){H=(c[S>>2]|0)+((c[L>>2]|0)+-1<<4)|0;c[O>>2]=c[M>>2];c[O+4>>2]=c[M+4>>2];c[O+8>>2]=c[M+8>>2];c[O+12>>2]=c[M+12>>2];c[P>>2]=c[H>>2];c[P+4>>2]=c[H+4>>2];c[P+8>>2]=c[H+8>>2];c[P+12>>2]=c[H+12>>2];XH(b,3,O,P,R,Q,g)}if((c[(c[(c[N>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(c[I>>2]|0)){if(!(r&(c[K>>2]|0)!=0))break}else if(!r)break;jS(b,f)}}else nS(b,g,i,c[I>>2]|0,c[K>>2]|0,0);while(0);j=j+1|0}}w=c[(c[i+8>>2]|0)+4>>2]|0;v=w*48|0;x=k6(v)|0;v=k6(v)|0;t=+(q+2|0)*.5;e=C+8|0;f=D+8|0;r=E+8|0;s=F+8|0;q=0;while(1){if((q|0)>=(w|0))break;o=S;m=(c[c[(c[N>>2]|0)+8>>2]>>2]|0)+(q*48|0)|0;n=o+48|0;do{c[o>>2]=c[m>>2];o=o+4|0;m=m+4|0}while((o|0)<(n|0));g=c[L>>2]|0;c[x+(q*48|0)+4>>2]=g;c[v+(q*48|0)+4>>2]=g;k=g<<4;j=k6(k)|0;c[x+(q*48|0)>>2]=j;k=k6(k)|0;c[v+(q*48|0)>>2]=k;i=c[S>>2]|0;c[F>>2]=c[i>>2];c[F+4>>2]=c[i+4>>2];c[F+8>>2]=c[i+8>>2];c[F+12>>2]=c[i+12>>2];i=0;while(1){m=j+(i<<4)|0;n=k+(i<<4)+8|0;o=k+(i<<4)|0;p=j+(i<<4)+8|0;if((i|0)>=(g+-1|0))break;c[C>>2]=c[F>>2];c[C+4>>2]=c[F+4>>2];c[C+8>>2]=c[F+8>>2];c[C+12>>2]=c[F+12>>2];g=i+1|0;U=(c[S>>2]|0)+(g<<4)|0;c[D>>2]=c[U>>2];c[D+4>>2]=c[U+4>>2];c[D+8>>2]=c[U+8>>2];c[D+12>>2]=c[U+12>>2];if(!i){c[O>>2]=c[C>>2];c[O+4>>2]=c[C+4>>2];c[O+8>>2]=c[C+8>>2];c[O+12>>2]=c[C+12>>2];c[P>>2]=c[D>>2];c[P+4>>2]=c[D+4>>2];c[P+8>>2]=c[D+8>>2];c[P+12>>2]=c[D+12>>2];$I(G,O,P);c[m>>2]=c[G>>2];c[m+4>>2]=c[G+4>>2];c[m+8>>2]=c[G+8>>2];c[m+12>>2]=c[G+12>>2]}else{c[O>>2]=c[E>>2];c[O+4>>2]=c[E+4>>2];c[O+8>>2]=c[E+8>>2];c[O+12>>2]=c[E+12>>2];c[P>>2]=c[D>>2];c[P+4>>2]=c[D+4>>2];c[P+8>>2]=c[D+8>>2];c[P+12>>2]=c[D+12>>2];$I(H,O,P);c[m>>2]=c[H>>2];c[m+4>>2]=c[H+4>>2];c[m+8>>2]=c[H+8>>2];c[m+12>>2]=c[H+12>>2]}Y=c[S>>2]|0;V=i+2|0;Z=Y+(V<<4)|0;c[E>>2]=c[Z>>2];c[E+4>>2]=c[Z+4>>2];c[E+8>>2]=c[Z+8>>2];c[E+12>>2]=c[Z+12>>2];U=i+3|0;Y=Y+(U<<4)|0;c[F>>2]=c[Y>>2];c[F+4>>2]=c[Y+4>>2];c[F+8>>2]=c[Y+8>>2];c[F+12>>2]=c[Y+12>>2];X=j+(g<<4)|0;W=j+(V<<4)|0;c[y>>2]=c[C>>2];c[y+4>>2]=c[C+4>>2];c[y+8>>2]=c[C+8>>2];c[y+12>>2]=c[C+12>>2];c[z>>2]=c[D>>2];c[z+4>>2]=c[D+4>>2];c[z+8>>2]=c[D+8>>2];c[z+12>>2]=c[D+12>>2];c[O>>2]=c[Z>>2];c[O+4>>2]=c[Z+4>>2];c[O+8>>2]=c[Z+8>>2];c[O+12>>2]=c[Z+12>>2];c[P>>2]=c[Y>>2];c[P+4>>2]=c[Y+4>>2];c[P+8>>2]=c[Y+8>>2];c[P+12>>2]=c[Y+12>>2];aJ(A,y,z,O,P);c[W>>2]=c[A>>2];c[W+4>>2]=c[A+4>>2];c[W+8>>2]=c[A+8>>2];c[W+12>>2]=c[A+12>>2];c[X>>2]=c[A>>2];c[X+4>>2]=c[A+4>>2];c[X+8>>2]=c[A+8>>2];c[X+12>>2]=c[A+12>>2];h[o>>3]=+h[C>>3]-t*+h[m>>3];h[n>>3]=+h[e>>3]-t*+h[p>>3];h[k+(g<<4)>>3]=+h[D>>3]-t*+h[X>>3];h[k+(g<<4)+8>>3]=+h[f>>3]-t*+h[j+(g<<4)+8>>3];h[k+(V<<4)>>3]=+h[E>>3]-t*+h[W>>3];h[k+(V<<4)+8>>3]=+h[r>>3]-t*+h[j+(V<<4)+8>>3];i=U;g=c[L>>2]|0}c[O>>2]=c[E>>2];c[O+4>>2]=c[E+4>>2];c[O+8>>2]=c[E+8>>2];c[O+12>>2]=c[E+12>>2];c[P>>2]=c[F>>2];c[P+4>>2]=c[F+4>>2];c[P+8>>2]=c[F+8>>2];c[P+12>>2]=c[F+12>>2];$I(B,O,P);c[m>>2]=c[B>>2];c[m+4>>2]=c[B+4>>2];c[m+8>>2]=c[B+8>>2];c[m+12>>2]=c[B+12>>2];h[o>>3]=+h[F>>3]-t*+h[m>>3];h[n>>3]=+h[s>>3]-t*+h[p>>3];q=q+1|0}s=Y3(u)|0;f=0;r=u;i=u;j=u;g=s;while(1){g=i6(g,108285)|0;if(!g)break;e=(a[g>>0]|0)==0?137615:g;if((e|0)!=(j|0))if(!(a[(c[N>>2]|0)+115>>0]&3)){fS(b,e);hS(b,e);j=e}else j=e;m=(f|0)==0;n=(f|1|0)==1;g=0;while(1){if((g|0)>=(w|0))break;o=c[v+(g*48|0)>>2]|0;p=c[x+(g*48|0)>>2]|0;q=c[v+(g*48|0)+4>>2]|0;k=0;while(1){if((k|0)>=(q|0))break;Z=o+(k<<4)|0;h[Z>>3]=+h[p+(k<<4)>>3]+ +h[Z>>3];Z=o+(k<<4)+8|0;h[Z>>3]=+h[p+(k<<4)+8>>3]+ +h[Z>>3];k=k+1|0}nS(b,o,q,0,0,0);g=g+1|0}f=f+1|0;r=m?e:r;i=n?e:i;g=0}g=c[I>>2]|0;if(!g)i=0;else{if(i){if(!(a[(c[N>>2]|0)+115>>0]&3)){fS(b,i);hS(b,i)}}else i=0;Z=c[S>>2]|0;c[O>>2]=c[J>>2];c[O+4>>2]=c[J+4>>2];c[O+8>>2]=c[J+8>>2];c[O+12>>2]=c[J+12>>2];c[P>>2]=c[Z>>2];c[P+4>>2]=c[Z+4>>2];c[P+8>>2]=c[Z+8>>2];c[P+12>>2]=c[Z+12>>2];XH(b,2,O,P,R,Q,g)}g=c[K>>2]|0;if(g|0){if((i|0)!=(r|0)?(a[(c[N>>2]|0)+115>>0]&3)==0:0){fS(b,r);hS(b,r);g=c[K>>2]|0}Z=(c[S>>2]|0)+((c[L>>2]|0)+-1<<4)|0;c[O>>2]=c[M>>2];c[O+4>>2]=c[M+4>>2];c[O+8>>2]=c[M+8>>2];c[O+12>>2]=c[M+12>>2];c[P>>2]=c[Z>>2];c[P+4>>2]=c[Z+4>>2];c[P+8>>2]=c[Z+8>>2];c[P+12>>2]=c[Z+12>>2];XH(b,3,O,P,R,Q,g)}l6(s);g=0;while(1){if((g|0)>=(w|0))break;l6(c[x+(g*48|0)>>2]|0);l6(c[v+(g*48|0)>>2]|0);g=g+1|0}l6(x);l6(v)}while(0);l=T;return}function QI(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+64|0;q=D+48|0;t=D+32|0;s=D+16|0;r=D;z=c[a+16>>2]|0;A=c[z+8>>2]|0;p=z+208|0;C=z+212|0;m=z+268|0;B=z+260|0;n=z+272|0;if(!((c[p>>2]|0)==0?!(b[B>>1]&1):0))d=3;a:do if((d|0)==3?(bS(a),o=z+276|0,e=c[o>>2]|0,e|0):0){h=z+280|0;d=c[h>>2]|0;i=z+284|0;j=z+228|0;k=z+244|0;f=c[d>>2]|0;g=1;while(1){if((g|0)>=(e|0))break a;c[m>>2]=c[d+(g<<2)>>2];c[n>>2]=(c[i>>2]|0)+(f<<4);aS(a,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0,c[C>>2]|0);bS(a);y=c[h>>2]|0;f=(c[y+(g<<2)>>2]|0)+f|0;g=g+1|0;e=c[o>>2]|0;d=y}}while(0);c[m>>2]=0;c[n>>2]=0;o=A+16|0;d=c[o>>2]|0;e=c[d+8>>2]|0;p=z+236|0;u=z+240|0;v=z+224|0;w=z+256|0;x=z+220|0;y=z+252|0;if(e){m=c[e>>2]|0;d=c[m>>2]|0;n=c[m+8>>2]|0;k=m+16|0;c[s>>2]=c[k>>2];c[s+4>>2]=c[k+4>>2];c[s+8>>2]=c[k+8>>2];c[s+12>>2]=c[k+12>>2];m=m+32|0;c[r>>2]=c[m>>2];c[r+4>>2]=c[m+4>>2];c[r+8>>2]=c[m+8>>2];c[r+12>>2]=c[m+12>>2];if(!n){c[t>>2]=c[d>>2];c[t+4>>2]=c[d+4>>2];c[t+8>>2]=c[d+8>>2];c[t+12>>2]=c[d+12>>2]}else{c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2]}m=b[B>>1]|0;k=c[x>>2]|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];RI(a,q,(m<<8&65535)<<16>>16>>15&255,k,(m<<14&65535)<<16>>16>>15&255);m=c[(c[o>>2]|0)+8>>2]|0;k=c[m>>2]|0;m=(c[m+4>>2]|0)+-1|0;d=c[k+(m*48|0)>>2]|0;e=c[k+(m*48|0)+4>>2]|0;n=c[k+(m*48|0)+12>>2]|0;j=k+(m*48|0)+16|0;c[s>>2]=c[j>>2];c[s+4>>2]=c[j+4>>2];c[s+8>>2]=c[j+8>>2];c[s+12>>2]=c[j+12>>2];s=k+(m*48|0)+32|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];if(!n){s=d+(e+-1<<4)|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2]}else{c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2]}d=b[B>>1]|0;s=c[v>>2]|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];RI(a,q,(d<<7&65535)<<16>>16>>15&255,s,(d<<13&65535)<<16>>16>>15&255);d=c[o>>2]|0}g=c[d+96>>2]|0;h=(b[B>>1]<<12&65535)<<16>>16>>15<<16>>16;k=z+216|0;i=c[k>>2]|0;m=z+232|0;j=c[m>>2]|0;n=z+248|0;e=c[n>>2]|0;f=c[C>>2]|0;if(!((bP(_O(A,c[47255]|0,137609)|0)|0)<<24>>24))d=0;else d=c[(c[o>>2]|0)+8>>2]|0;SI(a,g,11,h,i,j,e,f,d);i=c[(c[o>>2]|0)+108>>2]|0;j=(b[B>>1]<<12&65535)<<16>>16>>15<<16>>16;h=c[k>>2]|0;g=c[m>>2]|0;e=c[n>>2]|0;f=c[C>>2]|0;if(!((bP(_O(A,c[47255]|0,137609)|0)|0)<<24>>24))d=0;else d=c[(c[o>>2]|0)+8>>2]|0;SI(a,i,11,j,h,g,e,f,d);SI(a,c[(c[o>>2]|0)+100>>2]|0,7,(b[B>>1]<<13&65535)<<16>>16>>15<<16>>16,c[v>>2]|0,c[u>>2]|0,c[w>>2]|0,c[C>>2]|0,0);SI(a,c[(c[o>>2]|0)+104>>2]|0,6,(b[B>>1]<<14&65535)<<16>>16>>15<<16>>16,c[x>>2]|0,c[p>>2]|0,c[y>>2]|0,c[C>>2]|0,0);$R(a);$H(a);l=D;return}function RI(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;h=j;i=c[a+16>>2]|0;if(!(e<<24>>24))f=c[i+208>>2]|0;if(!(g<<24>>24==0?((f|0)==0?(b[i+260>>1]&1)==0:0):0)){c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];WI(a,h)}l=j;return}function SI(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;o=s;r=c[b+152>>2]|0;if(d|0?a[d+81>>0]|0:0){if(!j)n=0;else{n=HK((D3(j)|0)+11|0)|0;switch(e|0){case 11:{m=108525;break}case 7:{m=101884;break}case 6:{m=101894;break}default:Aa(138697,100207,2730,100345)}c[o>>2]=j;c[o+4>>2]=m;i2(n,100361,o)|0}o=b+16|0;q=(c[o>>2]|0)+12|0;p=c[q>>2]|0;c[q>>2]=e;q=(g|0)!=0;j=(f|0)!=0;m=(r&4|0)!=0;if(!(m|(j|q)^1)){TI(b,d);aS(b,g,h,i,n)}BK(b,e,d);if(k|0)UI(b,d,k);if(j|q){if(m){TI(b,d);aS(b,g,h,i,n)}bS(b)}l6(n);c[(c[o>>2]|0)+12>>2]=p}l=s;return}function TI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;j=f>>>16^2;c[d+264>>2]=j;i=d+268|0;c[i>>2]=j+2;j=d+272|0;l6(c[j>>2]|0);d=HK(c[i>>2]<<4)|0;c[j>>2]=d;j=b+56|0;i=b+24|0;h[d>>3]=+h[j>>3]-+h[i>>3]*.5;g=b+64|0;b=b+32|0;h[d+8>>3]=+h[g>>3]-+h[b>>3]*.5;h[d+16>>3]=+h[j>>3]+ +h[i>>3]*.5;h[d+24>>3]=+h[g>>3]+ +h[b>>3]*.5;if(!(e&8192))LR(a,d,d,2)|0;if(!f)hK(d)}return}function UI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+96|0;g=o+80|0;i=o+32|0;j=o+16|0;k=o;f=c[d>>2]|0;while(1){m=a[f>>0]|0;if(!(m<<24>>24))break;if(!(X1(m&255)|0)){n=4;break}else f=f+1|0}if((n|0)==4){p=+h[d+24>>3];m=d+56|0;VI(i,p*.5+ +h[m>>3],+h[d+64>>3]-+h[d+32>>3]*.5);n=i+16|0;VI(j,+h[i>>3]-p,+h[i+8>>3]);c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];n=i+32|0;c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];c[g+8>>2]=c[m+8>>2];c[g+12>>2]=c[m+12>>2];oP(k,e,g);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];jS(b,c[(c[b>>2]|0)+336>>2]|0);fS(b,c[d+8>>2]|0);oS(b,i,3)}l=o;return}function VI(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function WI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;j=f>>>16^2;c[d+264>>2]=j;k=d+268|0;c[k>>2]=j+2;j=d+272|0;l6(c[j>>2]|0);d=HK(c[k>>2]<<4)|0;c[j>>2]=d;i=+h[b>>3];h[d>>3]=i+-3.0;g=+h[b+8>>3];h[d+8>>3]=g+-3.0;h[d+16>>3]=i+3.0;h[d+24>>3]=g+3.0;if(!(e&8192))LR(a,d,d,2)|0;if(!f)hK(d)}return}function XI(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;var j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+256|0;C=I+224|0;B=I+208|0;j=I+192|0;E=I+144|0;F=I+96|0;G=I+48|0;D=I;k=I+240|0;e=eI(e,f,k)|0;if((e|0)>1){y=b+48|0;z=uC(c[((c[b>>2]&3|0)==3?b:y)+40>>2]|0)|0;y=HB(c[((c[b>>2]&3|0)==3?b:y)+40>>2]|0)|0;z=(uB(z)|0)!=0;A=HB(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[j>>2]=y;c[j+4>>2]=z?100380:100385;c[j+8>>2]=A;dA(3,100390,j)|0;if((e|0)==2)e=1;else H=4}else if((e|0)==1)e=1;else H=4;if((H|0)==4){A=b+16|0;r=c[k>>2]|0;s=r+8|0;t=G+4|0;u=E+8|0;v=E+12|0;q=(d|0)!=0;w=E+32|0;x=E+4|0;y=E+16|0;z=D+4|0;e=0;p=0;while(1){f=c[(c[A>>2]|0)+8>>2]|0;if((p|0)>=(c[f+4>>2]|0))break;j=E;f=(c[f>>2]|0)+(p*48|0)|0;b=j+48|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(b|0));b=1;m=1.0;o=c[s>>2]|0;a:while(1){f=c[o>>2]|0;if(!f)break;k=o+4|0;n=+g[k>>2];do if(n<1.0e-05&n>-1.0e-05)f=b;else{fS(a,f);n=+g[k>>2];m=m-n;e=c[o>>2]|0;if(b|0){fJ(E,n,G,D);k=c[G>>2]|0;nS(a,k,c[t>>2]|0,0,0,0);l6(k);if(m<1.0e-05&m>-1.0e-05){H=11;break a}else{f=0;break}}if(m<1.0e-05&m>-1.0e-05){H=13;break a}j=F;f=D;b=j+48|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(b|0));n=+g[k>>2];fJ(F,n/(m+n),G,D);l6(c[F>>2]|0);f=c[G>>2]|0;nS(a,f,c[t>>2]|0,0,0,0);l6(f);f=0}while(0);b=f;o=o+12|0}if((H|0)==11){H=0;l6(c[D>>2]|0)}else if((H|0)==13){H=0;o=c[D>>2]|0;nS(a,o,c[z>>2]|0,0,0,0);l6(o)}if(c[u>>2]|0){fS(a,c[c[s>>2]>>2]|0);hS(a,c[c[s>>2]>>2]|0);k=c[E>>2]|0;o=c[u>>2]|0;c[B>>2]=c[y>>2];c[B+4>>2]=c[y+4>>2];c[B+8>>2]=c[y+8>>2];c[B+12>>2]=c[y+12>>2];c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];XH(a,2,B,C,h,i,o)}if(c[v>>2]|0){fS(a,e);hS(a,e);k=(c[E>>2]|0)+((c[x>>2]|0)+-1<<4)|0;o=c[v>>2]|0;c[B>>2]=c[w>>2];c[B+4>>2]=c[w+4>>2];c[B+8>>2]=c[w+8>>2];c[B+12>>2]=c[w+12>>2];c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];XH(a,3,B,C,h,i,o)}do if((c[(c[(c[A>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(c[u>>2]|0)){if(!(q&(c[v>>2]|0)!=0))break}else if(!q)break;jS(a,d)}while(0);p=p+1|0}fI(r);e=0}l=I;return e|0}function YI(b,d){b=b|0;d=d|0;var e=0,f=0;e=1;a:while(1){switch(a[b>>0]|0){case 0:break a;case 58:{e=e+1|0;break}default:{}}b=b+1|0}f=S((D3(d)|0)+1|0,e)|0;b=f+10|0;if((c[47165]|0)<(f|0)){c[47165]=b;b=n6(c[47166]|0,b)|0;c[47166]=b}else b=c[47166]|0;O3(b,d)|0;while(1){e=e+-1|0;b=c[47166]|0;if(!e)break;f=b+(D3(b)|0)|0;a[f>>0]=58;a[f+1>>0]=0;g6(b,d)|0}return b|0}function ZI(b){b=b|0;var d=0,e=0;d=c[47253]|0;a:do if(!d)e=7;else{d=OA(b,d)|0;switch(a[d>>0]|0){case 110:if(!(f2(d,136010)|0)){d=2;break a}else{e=7;break a}case 102:if(!(f2(d,100367)|0)){d=1;break a}else{e=7;break a}case 98:{if(!(f2(d,100375)|0)){d=3;break a}if(!(f2(d,111522)|0)){d=4;break a}else{e=7;break a}}default:{e=7;break a}}}while(0);if((e|0)==7){d=(uB(uC(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)|0)!=0;d=d?1:2}return d|0}function _I(a){a=a|0;if(a|0){l6(c[a+8>>2]|0);l6(a)}return}function $I(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;e=+h[b>>3]-+h[c>>3];f=+h[b+8>>3]-+h[c+8>>3];d=2.0/+G(+(e*e+f*f+.0001));h[a>>3]=f*d;h[a+8>>3]=-(e*d);return}function aJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0;g=+h[c>>3]-+h[d>>3];i=+h[c+8>>3]-+h[d+8>>3];f=+G(+(g*g+i*i));if(f<.0001){j=+h[b>>3]-+h[e>>3];f=+h[b+8>>3]-+h[e+8>>3];i=f;g=j;f=+G(+(j*j+f*f+.0001))}j=2.0/f;h[a>>3]=j*i;h[a+8>>3]=-(g*j);return}function bJ(a,b,c){a=+a;b=+b;c=+c;return +((1.0-a/b)*c*.5)}function cJ(a,b,c){a=+a;b=+b;c=+c;return +(c*.5)}function dJ(a,b,c){a=+a;b=+b;c=+c;return +(a/b*c*.5)}function eJ(a,b,c){a=+a;b=+b;c=+c;b=a/b;return +((!(b<=.5)?1.0-b:b)*c)}function fJ(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+16|0;q=r;p=c[a+4>>2]|0;j=(p+-1|0)/3|0;k=d+4|0;if((p+-4|0)>>>0<3){c[k>>2]=4;c[d>>2]=HK(64)|0;c[e+4>>2]=4;p=HK(64)|0;c[e>>2]=p;iP(q,c[a>>2]|0,3,b,c[d>>2]|0,p)}else{p=HK(j<<3)|0;f=0;g=c[a>>2]|0;i=0.0;while(1){if((f|0)>=(j|0))break;s=+gJ(g);h[p+(f<<3)>>3]=s;f=f+1|0;g=g+48|0;i=i+s}b=b*i;n=0;i=0.0;while(1){f=n+1|0;o=p+(n<<3)|0;if((j|0)<=(n|0))break;i=i+ +h[o>>3];if(!(i>=b))n=f;else break}f=(f*3|0)+1|0;c[k>>2]=f;c[d>>2]=HK(f<<4)|0;f=((j-n|0)*3|0)+1|0;m=e+4|0;c[m>>2]=f;c[e>>2]=HK(f<<4)|0;f=0;while(1){if((f|0)>=(c[k>>2]|0))break;j=(c[d>>2]|0)+(f<<4)|0;g=(c[a>>2]|0)+(f<<4)|0;c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];f=f+1|0}f=f+-4|0;g=0;while(1){j=c[a>>2]|0;k=c[e>>2]|0;if((g|0)>=(c[m>>2]|0))break;k=k+(g<<4)|0;j=j+(f<<4)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];f=f+1|0;g=g+1|0}s=+h[o>>3];e=n*3|0;iP(q,j+(e<<4)|0,3,(b-(i-s))/s,(c[d>>2]|0)+(e<<4)|0,k);l6(p)}l=r;return}function gJ(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0;e=+h[a+16>>3];c=+h[a>>3]-e;d=+h[a+24>>3];f=+h[a+8>>3]-d;f=+G(+(c*c+f*f));c=+h[a+32>>3];e=e-c;b=+h[a+40>>3];d=d-b;d=f+ +G(+(e*e+d*d));c=c-+h[a+48>>3];b=b-+h[a+56>>3];return +(d+ +G(+(c*c+b*b)))}function hJ(b,d){b=b|0;d=d|0;d=vC(d)|0;if((a[(c[d+16>>2]|0)+115>>0]|0)==1)d=cQ(b)|0;else d=$P(b,d)|0;return oJ(d)|0}function iJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+1664|0;m=q+1600|0;n=q+800|0;o=q;p=IK(24)|0;c[p+16>>2]=1;j=((c[e+4>>2]|0)+-1|0)/3|0;h=0;i=p;while(1){if((h|0)>=(j|0))break;k=h*3|0;g=0;while(1){if((g|0)==4)break;r=m+(g<<4)|0;s=(c[e>>2]|0)+(g+k<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];g=g+1|0}h=h+1|0;i=jJ(m,i)|0}g=0;h=0;i=p;while(1){if(!i){h=p;g=p;break}j=c[i+16>>2]|0;k=n+(g<<4)|0;e=o+(g<<4)|0;kJ(h,i,j,k,e,f);g=g+1|0;if(!((g|0)==50|(j|0)==0)){h=i;i=j;continue}lJ(a,b,d,g,n,o);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];h=i;g=1;i=j}while(1){if(!h)break;s=c[h+16>>2]|0;l6(g);h=s;g=s}l=q;return}function jJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+144|0;f=g+128|0;d=g+64|0;e=g;if(!(kI(a)|0)){iP(f,a,3,.5,d,e);d=jJ(e,jJ(d,b)|0)|0}else{d=b+16|0;if((c[d>>2]|0)==1){c[d>>2]=0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2]}d=a+48|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];d=nJ(f,b)|0}l=g;return d|0}function kJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0;t=l;l=l+96|0;p=t+80|0;o=t+64|0;n=t+48|0;q=t+32|0;r=t+16|0;s=t;c[q>>2]=c[b>>2];c[q+4>>2]=c[b+4>>2];c[q+8>>2]=c[b+8>>2];c[q+12>>2]=c[b+12>>2];m=q+8|0;b=s+8|0;k=r+8|0;do if(a){c[r>>2]=c[a>>2];c[r+4>>2]=c[a+4>>2];c[r+8>>2]=c[a+8>>2];c[r+12>>2]=c[a+12>>2];if(!d){j=+h[q>>3];h[s>>3]=j*2.0-+h[r>>3];i=+h[m>>3];h[b>>3]=i*2.0-+h[k>>3];break}else{c[s>>2]=c[d>>2];c[s+4>>2]=c[d+4>>2];c[s+8>>2]=c[d+8>>2];c[s+12>>2]=c[d+12>>2];j=+h[q>>3];i=+h[m>>3];break}}else{c[s>>2]=c[d>>2];c[s+4>>2]=c[d+4>>2];c[s+8>>2]=c[d+8>>2];c[s+12>>2]=c[d+12>>2];j=+h[q>>3];h[r>>3]=j*2.0-+h[s>>3];i=+h[m>>3];h[k>>3]=i*2.0-+h[b>>3]}while(0);c[n>>2]=c[r>>2];c[n+4>>2]=c[r+4>>2];c[n+8>>2]=c[r+8>>2];c[n+12>>2]=c[r+12>>2];c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];c[p>>2]=c[s>>2];c[p+4>>2]=c[s+4>>2];c[p+8>>2]=c[s+8>>2];c[p+12>>2]=c[s+12>>2];v=+mJ(n,o,p);u=+I(+v)*g;g=+J(+v)*g;h[e>>3]=u+j;h[e+8>>3]=g+i;h[f>>3]=j-u;h[f+8>>3]=i-g;l=t;return}function lJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;i=e<<1;j=c[d>>2]|0;k=c[b>>2]|0;h=0;l=0;while(1){if((h|0)>=(j|0))break;m=(c[k+(h<<2)>>2]|0)+l|0;h=h+1|0;l=m}m=j+1|0;c[d>>2]=m;m=KK(k,m<<2)|0;c[b>>2]=m;c[m+(h<<2)>>2]=i;c[a>>2]=KK(c[a>>2]|0,l+i<<4)|0;b=i+-1+l|0;h=0;while(1){if((h|0)>=(e|0))break;m=(c[a>>2]|0)+(h+l<<4)|0;k=f+(h<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];m=(c[a>>2]|0)+(b-h<<4)|0;k=g+(h<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];h=h+1|0}return}function mJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+h[b+8>>3];e=+h[b>>3];d=+O(+(+h[c+8>>3]-f),+(+h[c>>3]-e));e=+O(+(+h[a+8>>3]-f),+(+h[a>>3]-e));d=d-e;return +(e+(d>0.0?d+-6.283185307179586:d)*.5)}function nJ(a,b){a=a|0;b=b|0;var d=0;d=IK(24)|0;c[d+16>>2]=0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[b+16>>2]=d;return d|0}function oJ(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;c=b;g=b;a:while(1){d=0;while(1){e=c;c=c+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break a;if(d<<24>>24){f=5;break}if(e<<24>>24!=92){f=10;break}else d=1}b:do if((f|0)==5){d=g+1|0;switch(e<<24>>24|0){case 114:{e=13;break b}case 108:case 110:{e=10;break b}default:break b}}else if((f|0)==10)d=g+1|0;while(0);a[g>>0]=e;g=d}a[g>>0]=0;return b|0}function pJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[b>>2]|0;while(1){j=a[e>>0]|0;f=j<<24>>24;if(!(j<<24>>24)){h=3;break}g=e+1|0;if(j<<24>>24==44|(X1(f)|0)!=0)e=g;else break}if((h|0)==3)g=e+1|0;a:do switch(f|0){case 0:{f=0;break}case 41:case 40:{e=g;break}default:{h=d+4|0;i=d+8|0;g=j;while(1){if((qJ(g<<24>>24)|0)<<24>>24){f=1;break a}f=c[h>>2]|0;if(f>>>0>=(c[i>>2]|0)>>>0){iA(d,1)|0;f=c[h>>2]|0}c[h>>2]=f+1;a[f>>0]=g;j=e+1|0;e=j;g=a[j>>0]|0}}}while(0);c[b>>2]=e;return f|0}function qJ(a){a=a|0;switch(a|0){case 0:case 44:case 41:case 40:{a=1;break}default:a=0}return a|0}function rJ(a,b){a=a|0;b=b|0;return sJ(c[a>>2]|0,c[a+160>>2]|0,c[a+156>>2]|0,b)|0}function sJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+160|0;k=o+20|0;m=o+16|0;n=o;c[k>>2]=0;c[m>>2]=0;hA(n,128,o+24|0);kA(n,f)|0;g=n+4|0;f=c[g>>2]|0;if(f>>>0>=(c[n+8>>2]|0)>>>0){iA(n,1)|0;f=c[g>>2]|0}a[f>>0]=0;h=c[n>>2]|0;c[g>>2]=h;i=b+300|0;j=b+296|0;f=0;g=h;a:while(1){if(f){f=1;break}f=j6(g,c[i>>2]|0,k)|0;if(!f){f=0;break}g=j6(f,c[j>>2]|0,m)|0;h=(g|0)!=0;if(h)f=j6(0,c[j>>2]|0,m)|0;else f=0;switch(((f|0)!=0&1)+(h&1)&3){case 2:{g=tJ(b,g,0)|0;f=tJ(b,f,e)|0;h=(g|0)>(f|0);f=(f&g|0)>-1&(((h?g:f)|0)>=(d|0)&((h?f:g)|0)<=(d|0));g=0;continue a}case 1:{f=(tJ(b,g,d)|0)==(d|0);g=0;continue a}default:{f=0;g=0;continue a}}}lA(n);l=o;return f|0}function tJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=a[d>>0]|0;if(!(h<<24>>24==97?(f2(d,100697)|0)==0:0))f=3;a:do if((f|0)==3){if((uJ(d)|0)<<24>>24){e=d6(d)|0;break}g=c[b+308>>2]|0;if(!g)e=-1;else{b=c[b+312>>2]|0;e=1;while(1){if((e|0)>(b|0)){e=-1;break a}f=c[g+(e<<2)>>2]|0;if(h<<24>>24==(a[f>>0]|0)?(f2(d,f)|0)==0:0)break a;e=e+1|0}}}while(0);return e|0}function uJ(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=1;break}if(((c&255)+-48|0)>>>0<10)b=b+1|0;else{b=0;break}}return b|0}function vJ(a,b){a=a|0;b=b|0;if((+h[a+16>>3]>=+h[b>>3]?+h[b+16>>3]>=+h[a>>3]:0)?+h[a+24>>3]>=+h[b+8>>3]:0)a=+h[b+24>>3]>=+h[a+8>>3];else a=0;return a&1|0}function wJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;a:do if((c[b+156>>2]|0)>=2?(f=_O(e,c[47229]|0,195341)|0,(rJ(b,f)|0)<<24>>24==0):0)if(!(a[f>>0]|0))if(!(ZA(d,e)|0))f=1;else{f=ZA(d,e)|0;while(1){if(!f){f=0;break a}g=_O(f,c[47259]|0,195341)|0;if(!(a[g>>0]|0)){f=1;break a}if((rJ(b,g)|0)<<24>>24){f=1;break a}f=_A(d,f,e)|0}}else f=0;else f=1;while(0);return f|0}function xJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+64|0;e=d+32|0;f=d;a=(c[a+16>>2]|0)+48|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[f+16>>2]=c[a+16>>2];c[f+20>>2]=c[a+20>>2];c[f+24>>2]=c[a+24>>2];c[f+28>>2]=c[a+28>>2];c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];b=(vJ(f,e)|0)&255;l=d;return b|0}function yJ(a,d){a=a|0;d=d|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0.0,w=0.0;s=c[a+152>>2]|0;t=_H(a)|0;c[t+4>>2]=2;c[t+8>>2]=d;c[t+12>>2]=8;n=d+16|0;if(s&16777216|0){if((e[(c[(uC(d)|0)+16>>2]|0)+178>>1]|0)>2){g=+h[(c[(c[n>>2]|0)+132>>2]|0)+16>>3]*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0)}else g=0.0;h[t+168>>3]=g}AJ(a,c[(c[n>>2]|0)+104>>2]|0,d);do if(s&4259840|0){if((c[t+208>>2]|0)==0?(b[t+260>>1]&1)==0:0)break;q=UM(d)|0;l=c[n>>2]|0;g=+h[l+16>>3];r=+h[l+24>>3];l=BJ(d)|0;a:do if((q|2|0)==3){m=c[(c[n>>2]|0)+12>>2]|0;if(!((CJ(m)|0)<<24>>24))f=0;else f=(c[m+4>>2]|l|0)!=0;o=t+264|0;if(!((s&524288|0)==0|((m|0)==0|f))){i=m+8|0;p=c[i>>2]|0;p=(p|0)<3?1:p;j=m+4|0;k=c[j>>2]|0;k=(k|0)>1?k:1;q=c[m+44>>2]|0;f=NA(d,103006)|0;if(!f)f=0;else f=d6(f)|0;f=(f+-4|0)>>>0>56?20:f;if(!(c[j>>2]|l)){c[o>>2]=0;i=HK(32)|0;f=c[n>>2]|0;w=+h[f+88>>3];h[i>>3]=g-w;v=+h[f+80>>3]*.5;h[i+8>>3]=r-v;h[i+16>>3]=g+w;h[i+24>>3]=r+v;f=2;break}i=c[i>>2]|0;if(((i|0)<3?+h[m+32>>3]==0.0:0)?+h[m+24>>3]==0.0:0){if(c[m>>2]|0){c[o>>2]=1;i=HK(32)|0;h[i>>3]=g;h[i+8>>3]=r;f=(k<<1)+-1|0;h[i+16>>3]=g+ +h[q+(f<<4)>>3];h[i+24>>3]=r+ +h[q+(f<<4)+8>>3];f=2;break}c[o>>2]=2;i=(k<<1)+-1|0;i=DJ(+h[q+(i<<4)>>3],+h[q+(i<<4)+8>>3],f)|0;j=0;while(1){if((j|0)>=(f|0))break a;q=i+(j<<4)|0;h[q>>3]=g+ +h[q>>3];q=i+(j<<4)+8|0;h[q>>3]=r+ +h[q>>3];j=j+1|0}}m=S(i,k+-1|0)|0;c[o>>2]=2;if((i|0)<(f|0)){i=HK(p<<4)|0;f=0;while(1){if((f|0)>=(p|0)){f=p;break a}o=f+m|0;h[i+(f<<4)>>3]=g+ +h[q+(o<<4)>>3];h[i+(f<<4)+8>>3]=r+ +h[q+(o<<4)+8>>3];f=f+1|0}}else{l=(i|0)/(f|0)|0;i=HK(f<<4)|0;j=0;k=0;while(1){if((j|0)>=(f|0))break a;p=k+m|0;h[i+(j<<4)>>3]=g+ +h[q+(p<<4)>>3];h[i+(j<<4)+8>>3]=r+ +h[q+(p<<4)+8>>3];j=j+1|0;k=k+l|0}}}else{f=o;u=32}}else{f=t+264|0;u=32}while(0);if((u|0)==32){c[f>>2]=0;i=HK(32)|0;f=c[n>>2]|0;h[i>>3]=g-+h[f+88>>3];w=+h[f+80>>3]*.5;h[i+8>>3]=r-w;h[i+16>>3]=g+ +h[f+96>>3];h[i+24>>3]=r+w;f=2}if(!(s&8192))LR(a,i,i,f)|0;c[t+272>>2]=i;c[t+268>>2]=f}while(0);FT(NA(d,100333)|0);YR(a,d);return}function zJ(a){a=a|0;ZR(a);$H(a);return}function AJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m;f=NA(e,141358)|0;i=NA(e,141404)|0;k=NA(e,141391)|0;hA(j,128,m+16|0);if(!d)h=0;else h=c[d>>2]|0;if(!((f|0)!=0?(a[f>>0]|0)!=0:0))f=NA(e,111778)|0;g=bI(b,e,j)|0;if(!i)d=0;else d=hJ(i,e)|0;aI(b,h,f,d,k,g,e)|0;l6(d);lA(j);l=m;return}function BJ(b){b=b|0;var d=0,e=0;b=$O(b,c[47219]|0,195341)|0;a:do if(!(a[b>>0]|0))b=0;else{NI(b)|0;b=0;d=188404;while(1){e=c[d>>2]|0;if(!e)break a;e=(f2(e,111402)|0)==0;b=e?1:b;d=d+4|0}}while(0);return b|0}function CJ(a){a=a|0;var b=0.0;if(((c[a+8>>2]|0)==4?(b=+h[a+16>>3],((~~(b+(b>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+h[a+24>>3]==0.0:0)a=+h[a+32>>3]==0.0&1;else a=0;return a|0}function DJ(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0,f=0.0,g=0;f=6.283185307179586/+(c|0);g=HK(c<<4)|0;d=0.0;e=0;while(1){if((e|0)>=(c|0))break;h[g+(e<<4)>>3]=+I(+d)*a;h[g+(e<<4)+8>>3]=+J(+d)*b;d=f+d;e=e+1|0}return g|0}function EJ(b,d){b=b|0;d=d|0;var e=0;a:do if((c[b+156>>2]|0)>=2?(e=_O(d,DA(d,0,101811,0)|0,195341)|0,(rJ(b,e)|0)<<24>>24==0):0)if(!(a[e>>0]|0)){e=gC(d)|0;while(1){if(!e){e=0;break a}if((wJ(b,d,e)|0)<<24>>24){e=1;break a}e=hC(d,e)|0}}else e=0;else e=1;while(0);return e|0}function FJ(a,b){a=a|0;b=b|0;var d=0;d=_H(a)|0;c[d+4>>2]=1;c[d+8>>2]=b;c[d+12>>2]=1;AJ(a,c[(c[b+16>>2]|0)+12>>2]|0,b);SR(a,b);return}function GJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;b=NA(b,141385)|0;a:do if((b|0)!=0?(a[b>>0]|0)!=0:0){NI(b)|0;e=188404;b=0;while(1){g=e;while(1){f=c[g>>2]|0;if(!f){e=188404;break a}e=g+4|0;if(!(f2(f,111402)|0)){f=1;break}if(!(f2(f,106635)|0)){e=g;h=9;break}if(!(f2(f,106642)|0)){e=g;h=11;break}if(!(f2(f,106617)|0)){e=g;h=13;break}else g=e}if((h|0)==9)while(1){h=0;i=e;e=e+4|0;f=c[e>>2]|0;c[i>>2]=f;if(!f){e=g;f=3;break}else h=9}else if((h|0)==11)while(1){h=0;f=e;e=e+4|0;i=c[e>>2]|0;c[f>>2]=i;if(!i){e=g;f=64;break}else h=11}else if((h|0)==13)while(1){h=0;f=e;e=e+4|0;i=c[e>>2]|0;c[f>>2]=i;if(!i){e=g;f=4;break}else h=13}b=b|f}}else{e=0;b=0}while(0);c[d>>2]=b;return e|0}function HJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;i=k;j=k+4|0;c[j>>2]=0;m=(eI(b,0,j)|0)==0;j=c[j>>2]|0;if((m?(f=c[j>>2]|0,(f|0)>=2):0)?(h=j+8|0,(c[c[h>>2]>>2]|0)!=0):0){if((f|0)>2)dA(0,100716,i)|0;m=IK((D3(b)|0)+1|0)|0;c[d>>2]=m;O3(m,c[c[h>>2]>>2]|0)|0;if(!(c[(c[h>>2]|0)+12>>2]|0))c[d+4>>2]=0;else{m=c[d>>2]|0;m=m+((D3(m)|0)+1)|0;c[d+4>>2]=m;O3(m,c[(c[h>>2]|0)+12>>2]|0)|0}b=c[h>>2]|0;do if(!(a[b+8>>0]|0))if(!(a[b+20>>0]|0)){g[e>>2]=0.0;break}else{g[e>>2]=1.0-+g[b+16>>2];break}else c[e>>2]=c[b+4>>2];while(0);fI(j);b=1}else{c[d>>2]=0;fI(j);b=0}l=k;return b|0}function IJ(a,b){a=a|0;b=b|0;TR(a,b);$H(a);return}function JJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0.0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;A=l;l=l+96|0;s=A+48|0;v=A+16|0;z=A+8|0;y=A;w=A+80|0;c[w>>2]=1e3;f=IK(16e3)|0;x=a+256|0;e=1;d=1;i=0;t=0;u=c[b+8>>2]|0;while(1){if((t|0)>=(c[b>>2]|0))break;p=c[u>>2]|0;k=u+80|0;m=f+8|0;q=u+8|0;n=q+4|0;a:do switch(p|0){case 1:case 0:{c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];c[v+16>>2]=c[k+16>>2];c[v+20>>2]=c[k+20>>2];c[v+24>>2]=c[k+24>>2];c[v+28>>2]=c[k+28>>2];c[s>>2]=c[x>>2];c[s+4>>2]=c[x+4>>2];c[s+8>>2]=c[x+8>>2];c[s+12>>2]=c[x+12>>2];c[s+16>>2]=c[x+16>>2];c[s+20>>2]=c[x+20>>2];c[s+24>>2]=c[x+24>>2];c[s+28>>2]=c[x+28>>2];if(vJ(v,s)|0){B=+h[q>>3];j=+h[u+24>>3];h[f>>3]=B-j;o=+h[u+16>>3];r=+h[u+32>>3];h[m>>3]=o-r;h[f+16>>3]=B+j;h[f+24>>3]=o+r;kS(a,f,2,(p|0)==0?d:0)}break}case 3:case 2:{c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];c[v+16>>2]=c[k+16>>2];c[v+20>>2]=c[k+20>>2];c[v+24>>2]=c[k+24>>2];c[v+28>>2]=c[k+28>>2];c[s>>2]=c[x>>2];c[s+4>>2]=c[x+4>>2];c[s+8>>2]=c[x+8>>2];c[s+12>>2]=c[x+12>>2];c[s+16>>2]=c[x+16>>2];c[s+20>>2]=c[x+20>>2];c[s+24>>2]=c[x+24>>2];c[s+28>>2]=c[x+28>>2];if(vJ(v,s)|0){f=KJ(f,w,c[n>>2]|0,c[q>>2]|0)|0;lS(a,f,c[q>>2]|0,(c[u>>2]|0)==2?d:0)}break}case 5:case 4:{c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];c[v+16>>2]=c[k+16>>2];c[v+20>>2]=c[k+20>>2];c[v+24>>2]=c[k+24>>2];c[v+28>>2]=c[k+28>>2];c[s>>2]=c[x>>2];c[s+4>>2]=c[x+4>>2];c[s+8>>2]=c[x+8>>2];c[s+12>>2]=c[x+12>>2];c[s+16>>2]=c[x+16>>2];c[s+20>>2]=c[x+20>>2];c[s+24>>2]=c[x+24>>2];c[s+28>>2]=c[x+28>>2];if(vJ(v,s)|0){f=KJ(f,w,c[n>>2]|0,c[q>>2]|0)|0;nS(a,f,c[q>>2]|0,0,0,(c[u>>2]|0)==4?d&255:0)}break}case 6:{c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];c[v+16>>2]=c[k+16>>2];c[v+20>>2]=c[k+20>>2];c[v+24>>2]=c[k+24>>2];c[v+28>>2]=c[k+28>>2];c[s>>2]=c[x>>2];c[s+4>>2]=c[x+4>>2];c[s+8>>2]=c[x+8>>2];c[s+12>>2]=c[x+12>>2];c[s+16>>2]=c[x+16>>2];c[s+20>>2]=c[x+20>>2];c[s+24>>2]=c[x+24>>2];c[s+28>>2]=c[x+28>>2];if(vJ(v,s)|0){f=KJ(f,w,c[n>>2]|0,c[q>>2]|0)|0;oS(a,f,c[q>>2]|0)}break}case 7:{c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];c[v+16>>2]=c[k+16>>2];c[v+20>>2]=c[k+20>>2];c[v+24>>2]=c[k+24>>2];c[v+28>>2]=c[k+28>>2];c[s>>2]=c[x>>2];c[s+4>>2]=c[x+4>>2];c[s+8>>2]=c[x+8>>2];c[s+12>>2]=c[x+12>>2];c[s+16>>2]=c[x+16>>2];c[s+20>>2]=c[x+20>>2];c[s+24>>2]=c[x+24>>2];c[s+28>>2]=c[x+28>>2];if(vJ(v,s)|0){h[f>>3]=+h[q>>3];h[m>>3]=+h[u+16>>3];q=c[u+112>>2]|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];eS(a,s,q)}break}case 8:{hS(a,c[q>>2]|0);d=1;break}case 9:{fS(a,c[q>>2]|0);d=1;break}case 13:{d=u+16|0;if((c[q>>2]|0)!=2){p=c[d+36>>2]|0;q=c[p+12>>2]|0;B=+g[p+8>>2];d=~~(+O(+(+h[u+40>>3]-+h[u+24>>3]),+(+h[u+32>>3]-+h[d>>3]))*180.0/3.141592653589793);hS(a,c[p+4>>2]|0);iS(a,q,d,B);d=2;break a}q=c[u+68>>2]|0;k=c[q+4>>2]|0;m=c[q+12>>2]|0;r=+g[q+8>>2];o=+h[u+40>>3];j=+h[d>>3];if(o==j?+h[u+48>>3]==+h[u+24>>3]:0)d=0;else d=~~(+L(+((j-o)/+h[u+32>>3]))*180.0/3.141592653589793);hS(a,k);iS(a,m,d,r);d=3;break}case 14:{dA(0,100782,y)|0;break}case 12:{if(!e)e=0;else{dA(0,100822,z)|0;e=0}break}case 11:{NI(c[q>>2]|0)|0;jS(a,188404);i=188404;break}default:{}}while(0);t=t+1|0;u=u+120|0}if(i|0)jS(a,c[(c[a>>2]|0)+336>>2]|0);l6(f);l=A;return}function KJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[b>>2]|0;f=g<<1;f=(f|0)>(e|0)?f:e;if((g|0)<(e|0)){a=KK(a,f<<4)|0;c[b>>2]=f}b=0;while(1){if((b|0)>=(e|0))break;h[a+(b<<4)>>3]=+h[d+(b*24|0)>>3];h[a+(b<<4)+8>>3]=+h[d+(b*24|0)+8>>3];b=b+1|0}return a|0}function LJ(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=c[b+4>>2];c[a+4>>2]=d;return}function MJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+16|0;f=1;while(1){d=c[g>>2]|0;if((f|0)>(c[d+180>>2]|0))break;e=c[(c[d+184>>2]|0)+(f<<2)>>2]|0;MJ(b,e);d=NA(e,141126)|0;if(d|0?a[d>>0]|0:0)fS(b,d);d=NA(e,138032)|0;if(d|0?a[d>>0]|0:0)fS(b,d);d=NA(e,141280)|0;if(d|0?a[d>>0]|0:0)fS(b,d);d=NA(e,101719)|0;if(d|0?a[d>>0]|0:0)hS(b,d);d=NA(e,101747)|0;if(d|0?a[d>>0]|0:0)fS(b,d);f=f+1|0}return}function NJ(a){a=a|0;var b=0,d=0,e=0;b=c[47171]|0;if(!b){b=Sz(20672,c[4591]|0)|0;c[47171]=b}if(!(eb[c[b>>2]&63](b,a,4)|0)){d=c[47171]|0;e=c[d>>2]|0;b=Y3(a)|0;eb[e&63](d,b,1)|0;b=1}else b=0;return b|0}function OJ(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function PJ(a){a=a|0;var b=0;b=c[47172]|0;if(!a){if((b|0)>0?(b=b+-1|0,c[47172]=b,(b|0)==0):0){L3(1,c[47173]|0)|0;l6(c[47173]|0)}}else{c[47172]=b+1;if(!b){c[47173]=Y3(L3(1,0)|0)|0;L3(1,153740)|0}}return}function QJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;v=l;l=l+96|0;s=v+72|0;r=v+56|0;q=v+48|0;u=v+32|0;t=v+24|0;f=v+8|0;e=v;if(a[195234]|0)RO();do if((RC(d,137786,0,1)|0)!=0?(p=d+16|0,(c[(c[p>>2]|0)+8>>2]|0)!=0):0){RJ(d);SJ(b,d);TJ(b,d);PJ(1);k=b+56|0;m=b+184|0;n=b+192|0;o=b+28|0;j=CF(b)|0;a:while(1){if(!j){i=33;break}e=c[k>>2]|0;f=j+20|0;if(!e){c[f>>2]=0;e=0}else{c[f>>2]=c[e+8>>2];e=c[e+12>>2]|0}c[j+24>>2]=e;c[j+12>>2]=b;c[j+28>>2]=c[m>>2];c[j+620>>2]=25812;c[j+624>>2]=c[6481];if(!(c[(c[p>>2]|0)+8>>2]|0)){i=13;break}f=j+52|0;i=HR(j,c[f>>2]|0)|0;c[j+56>>2]=i;switch(i|0){case 999:{i=16;break a}case 21:{e=1;break}case 24:{e=520;break}default:e=UJ(d)|0}g=j+152|0;c[g>>2]=c[g>>2]|e;e=c[n>>2]|0;do if(!e)i=24;else{if(c[e+152>>2]&32|0?(f2(c[f>>2]|0,c[e+52>>2]|0)|0)==0:0){e=c[47174]|0;if(!e){i=27;break}c[e+8>>2]=j;c[j+36>>2]=c[e+36>>2];i=29;break}JR(e);c[n>>2]=0;c[o>>2]=0;i=24}while(0);if((i|0)==24){c[47174]=0;i=27}if((i|0)==27?(i=0,(IR(j)|0)==0):0){c[n>>2]=j;i=29}if((i|0)==29){c[j+8>>2]=0;c[j+104>>2]=25928;VJ(j);WJ(j);XJ(j,d);YJ(j,d);ZJ(j,d);if(!(c[g>>2]&128))qI(j,d);c[47174]=j}j=DF(b)|0}if((i|0)==13){dA(1,100980,t)|0;PJ(0);if(!(a[195234]|0)){e=-1;break}e=c[15715]|0;t=HB(d)|0;w=+SO();c[u>>2]=t;h[u+8>>3]=w;z4(e,100951,u)|0;e=-1;break}else if((i|0)==16){c[q>>2]=c[f>>2];dA(1,101001,q)|0;PJ(0);if(!(a[195234]|0)){e=-1;break}e=c[15715]|0;u=HB(d)|0;w=+SO();c[r>>2]=u;h[r+8>>3]=w;z4(e,100951,r)|0;e=-1;break}else if((i|0)==33){PJ(0);if(!(a[195234]|0)){e=0;break}e=c[15715]|0;u=HB(d)|0;w=+SO();c[s>>2]=u;h[s+8>>3]=w;z4(e,100951,s)|0;e=0;break}}else i=5;while(0);if((i|0)==5){dA(1,100903,e)|0;if(!(a[195234]|0))e=-1;else{e=c[15715]|0;u=HB(d)|0;w=+SO();c[f>>2]=u;h[f+8>>3]=w;z4(e,100951,f)|0;e=-1}}l=v;return e|0}function RJ(a){a=a|0;var b=0;b=gC(a)|0;while(1){if(!b)break;cK(a,b);b=hC(a,b)|0}return}function SJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+32|0;k=o+24|0;f=o+16|0;j=o+8|0;n=o;c[b+168>>2]=d;g=b+293|0;a[g>>0]=0;e=NA(d,105797)|0;if(e|0?(c[f>>2]=j,c[f+4>>2]=n,i=q4(e,105804,f)|0,(i|0)>0):0){p=+h[j>>3]*72.0;e=b+208|0;h[e>>3]=p;h[b+200>>3]=p;if((i|0)!=1)h[e>>3]=+h[n>>3]*72.0;a[g>>0]=1}f=b+292|0;a[f>>0]=0;e=NA(d,101403)|0;if(e|0?(c[k>>2]=j,c[k+4>>2]=n,m=q4(e,105804,k)|0,(m|0)>0):0){p=+h[j>>3]*72.0;e=b+224|0;h[e>>3]=p;h[b+216>>3]=p;if((m|0)!=1)h[e>>3]=+h[n>>3]*72.0;a[f>>0]=1}e=b+294|0;a[e>>0]=0;f=b+232|0;g=d+16|0;n=(c[(c[g>>2]|0)+8>>2]|0)+48|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];f=c[(c[g>>2]|0)+8>>2]|0;if(+h[f+48>>3]>.001?+h[f+56>>3]>.001:0)a[e>>0]=1;c[b+288>>2]=a[f+81>>0]|0?90:0;e=b+196|0;c[e>>2]=101407;f=NA(d,101410)|0;if(f|0?a[f>>0]|0:0)c[e>>2]=f;n=b+256|0;m=(c[g>>2]|0)+16|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];c[n+20>>2]=c[m+20>>2];c[n+24>>2]=c[m+24>>2];c[n+28>>2]=c[m+28>>2];c[47195]=DA(d,0,101773,0)|0;c[47196]=DA(d,0,101764,0)|0;c[b+320>>2]=$O(0,c[47213]|0,108295)|0;h[b+328>>3]=+YO(0,c[47212]|0,14.0,1.0);c[b+336>>2]=20708;c[b+188>>2]=HB(d)|0;l=o;return}function TJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b+304|0;f=c[e>>2]|0;if(f|0){l6(f);c[e>>2]=0}g=b+308|0;e=c[g>>2]|0;if(e|0){l6(e);c[g>>2]=0}h=b+316|0;e=c[h>>2]|0;if(e|0){l6(e);c[h>>2]=0}e=NA(d,101154)|0;f=b+312|0;if(e){c[f>>2]=aK(b,d,e)|0;e=NA(d,101161)|0;if(e|0?a[e>>0]|0:0)c[h>>2]=bK(b,e)|0}else{c[g>>2]=0;c[f>>2]=1}return}function UJ(b){b=b|0;var c=0;b=NA(b,101122)|0;a:do if(!b)b=0;else{c=b+1|0;switch(a[b>>0]|0){case 110:{if(!(f2(c,101134)|0))b=1;else{b=0;break a}break}case 101:{if(!(f2(c,101144)|0))b=16;else{b=0;break a}break}default:{b=0;break a}}}while(0);return b|0}function VJ(b){b=b|0;var d=0,e=0.0,f=0;d=c[b>>2]|0;f=b+240|0;if(!(a[d+292>>0]|0)){if((c[b+56>>2]|0)==300)e=+h[(c[b+68>>2]|0)+8>>3];else e=4.0;h[b+248>>3]=e;h[f>>3]=e}else{b=d+216|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2]}return}function WJ(b){b=b|0;var d=0,e=0;d=c[b>>2]|0;e=b+416|0;a:do if(!(a[d+293>>0]|0))switch(c[b+56>>2]|0){case 300:{d=(c[b+84>>2]|0)+8|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];break a}case 30:case 21:case 22:case 4:case 3:case 2:{h[b+424>>3]=36.0;h[e>>3]=36.0;break a}default:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;break a}}else{d=d+200|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2]}while(0);return}function XJ(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0;g=c[(c[b>>2]|0)+192>>2]|0;e=+h[(c[(c[d+16>>2]|0)+8>>2]|0)+24>>3];d=b+432|0;f=b+440|0;do if(!(e!=0.0)){if(g|0?a[g+128>>0]|0:0){g=g+112|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];break}if((c[b+56>>2]|0)==300){g=(c[b+84>>2]|0)+40|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];break}else{h[f>>3]=96.0;h[d>>3]=96.0;break}}else{h[f>>3]=e;h[d>>3]=e}while(0);return}function YJ(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+112|0;u=B+80|0;v=B+56|0;t=B+40|0;w=B+32|0;x=B+24|0;y=B+16|0;z=B+8|0;A=B;m=c[b>>2]|0;p=+h[m+272>>3];r=+h[m+280>>3];q=+h[m+256>>3];s=+h[m+264>>3];f=+h[b+240>>3];e=q-f;h[b+208>>3]=e;i=+h[b+248>>3];j=s-i;h[b+216>>3]=j;f=p+f;h[b+224>>3]=f;i=r+i;h[b+232>>3]=i;e=f-e;j=i-j;h[y>>3]=1.0;g=c[(c[d+16>>2]|0)+8>>2]|0;i=+h[g+64>>3];do if(i>.001?(k=+h[g+72>>3],k>.001):0){e=e==0.0?i:e;f=j==0.0?k:j;if(!(if&(i>e&(a[g+80>>0]|0)!=0)):0){k=e;j=f;i=1.0;break}o=i/e>3]=i;k=e;j=f}else{k=e;i=1.0}while(0);f=(p+q)*.5;h[z>>3]=f;e=(r+s)*.5;h[A>>3]=e;c[b+360>>2]=c[m+288>>2];k=k*i;h[w>>3]=k;j=j*i;h[x>>3]=j;o=NA(d,101053)|0;if(o){m=k6((D3(o)|0)+1|0)|0;n=k6((D3(o)|0)+1|0)|0;c[t>>2]=w;c[t+4>>2]=x;c[t+8>>2]=y;c[t+12>>2]=m;g=d+60|0;do if((q4(o,101062,t)|0)==4){g=qC(c[g>>2]|0,m,0)|0;if(g|0){v=c[g+16>>2]|0;h[z>>3]=+h[v+16>>3];h[A>>3]=+h[v+24>>3]}}else{c[v>>2]=w;c[v+4>>2]=x;c[v+8>>2]=y;c[v+12>>2]=m;c[v+16>>2]=n;if((q4(o,101082,v)|0)!=4){c[u>>2]=w;c[u+4>>2]=x;c[u+8>>2]=y;c[u+12>>2]=z;c[u+16>>2]=A;q4(o,101102,u)|0;break}g=qC(c[g>>2]|0,m,0)|0;if(g|0){v=c[g+16>>2]|0;h[z>>3]=+h[v+16>>3];h[A>>3]=+h[v+24>>3]}}while(0);l6(m);l6(n);k=+h[w>>3];j=+h[x>>3];i=+h[y>>3];f=+h[z>>3];e=+h[A>>3]}h[b+368>>3]=k;h[b+376>>3]=j;h[b+352>>3]=i;h[b+336>>3]=f;h[b+344>>3]=e;l=B;return}function ZJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0;M=l;l=l+224|0;J=M+200|0;x=M+176|0;C=M+152|0;G=M+120|0;D=M+96|0;F=M+80|0;e=M+184|0;t=M+168|0;u=M+144|0;w=M+136|0;v=M+112|0;y=M+64|0;z=M+48|0;A=M+32|0;B=M+16|0;K=M+8|0;L=M;s=c[b>>2]|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;H=b+368|0;c[G>>2]=c[H>>2];c[G+4>>2]=c[H+4>>2];c[G+8>>2]=c[H+8>>2];c[G+12>>2]=c[H+12>>2];H=b+360|0;if(c[H>>2]|0){c[J>>2]=c[G>>2];c[J+4>>2]=c[G+4>>2];c[J+8>>2]=c[G+8>>2];c[J+12>>2]=c[G+12>>2];_J(e,J);c[G>>2]=c[e>>2];c[G+4>>2]=c[e+4>>2];c[G+8>>2]=c[e+8>>2];c[G+12>>2]=c[e+12>>2]}E=b+416|0;c[D>>2]=c[E>>2];c[D+4>>2]=c[E+4>>2];c[D+8>>2]=c[E+8>>2];c[D+12>>2]=c[E+12>>2];E=D+8|0;I=G+8|0;q=C+8|0;o=b+204|0;f=b+164|0;i=b+168|0;if((a[s+294>>0]|0)!=0?(c[b+152>>2]&32|0)!=0:0){m=+h[s+232>>3]-+h[D>>3]*2.0;h[C>>3]=m;k=+h[s+240>>3]-+h[E>>3]*2.0;h[q>>3]=k;if(!(m<.0001)){p=+h[G>>3];e=~~(p/m);c[f>>2]=e;if(p-m*+(e|0)>.0001){e=e+1|0;r=8}}else{e=1;r=8}if((r|0)==8)c[f>>2]=e;j=+h[I>>3];if(!(k<.0001)){f=~~(j/k);c[i>>2]=f;if(j-k*+(f|0)>.0001){f=f+1|0;r=12}}else{f=1;r=12}if((r|0)==12)c[i>>2]=f;c[o>>2]=S(f,e)|0;g=+h[(+h[G>>3]>3];h[G>>3]=g;e=G;j=+h[(j>3];r=21}else{if(c[b+68>>2]|0){e=c[b+84>>2]|0;g=+h[e+24>>3]-+h[D>>3]*2.0;g=g<0.0?0.0:g;h[C>>3]=g;p=+h[e+32>>3]-+h[E>>3]*2.0;h[q>>3]=p;if(p<0.0){e=q;r=17}else j=g}else{h[q>>3]=0.0;e=C;r=17}if((r|0)==17){h[e>>3]=0.0;j=+h[C>>3]}c[o>>2]=1;c[i>>2]=1;c[f>>2]=1;g=+h[G>>3];if(j>3]=g;m=g}else m=j;j=+h[q>>3];k=+h[I>>3];if(j>3]=j;p=+h[q>>3]}n=+h[D>>3];q=b+432|0;k=+h[q>>3]*(m+n*2.0)/72.0;c[b+448>>2]=~~(k+(k>=0.0?.5:-.5));k=+h[E>>3];r=b+440|0;j=+h[r>>3]*(p+k*2.0)/72.0;c[b+452>>2]=~~(j+(j>=0.0?.5:-.5));i=b+188|0;o=b+180|0;e=b+172|0;f=s+196|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;$J(t,b,a[c[f>>2]>>0]|0);s=t;t=c[s+4>>2]|0;e=o;c[e>>2]=c[s>>2];c[e+4>>2]=t;$J(u,b,a[(c[f>>2]|0)+1>>0]|0);e=u;u=c[e>>2]|0;e=c[e+4>>2]|0;t=i;c[t>>2]=u;c[t+4>>2]=e;u=u+(c[o>>2]|0)|0;if(!((((u|0)>-1?u:0-u|0)|0)==1?(u=e+(c[b+184>>2]|0)|0,(((u|0)>-1?u:0-u|0)|0)==1):0)){$J(w,b,66);t=w;w=c[t+4>>2]|0;u=o;c[u>>2]=c[t>>2];c[u+4>>2]=w;$J(v,b,76);u=v;v=c[u+4>>2]|0;w=i;c[w>>2]=c[u>>2];c[w+4>>2]=v;c[x>>2]=c[f>>2];dA(0,101033,x)|0}e=F+8|0;if(a[(c[(c[d+16>>2]|0)+8>>2]|0)+82>>0]|0){if(m>g){m=(m-g)*.5;h[F>>3]=m}else m=0.0;j=+h[I>>3];if(p>j){j=(p-j)*.5;h[e>>3]=j}else j=0.0}else{j=0.0;m=0.0}if(!(c[H>>2]|0))i=1;else{c[J>>2]=c[G>>2];c[J+4>>2]=c[G+4>>2];c[J+8>>2]=c[G+8>>2];c[J+12>>2]=c[G+12>>2];_J(y,J);c[G>>2]=c[y>>2];c[G+4>>2]=c[y+4>>2];c[G+8>>2]=c[y+8>>2];c[G+12>>2]=c[y+12>>2];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];_J(z,J);c[C>>2]=c[z>>2];c[C+4>>2]=c[z+4>>2];c[C+8>>2]=c[z+8>>2];c[C+12>>2]=c[z+12>>2];c[J>>2]=c[D>>2];c[J+4>>2]=c[D+4>>2];c[J+8>>2]=c[D+8>>2];c[J+12>>2]=c[D+12>>2];_J(A,J);c[D>>2]=c[A>>2];c[D+4>>2]=c[A+4>>2];c[D+8>>2]=c[A+8>>2];c[D+12>>2]=c[A+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];_J(B,J);c[F>>2]=c[B>>2];c[F+4>>2]=c[B+4>>2];c[F+8>>2]=c[B+8>>2];c[F+12>>2]=c[B+12>>2];n=+h[D>>3];m=+h[F>>3];k=+h[E>>3];j=+h[e>>3];g=+h[G>>3];i=(c[H>>2]|0)==0}n=n+m;h[b+384>>3]=n;j=k+j;h[b+392>>3]=j;m=n+g;h[b+400>>3]=m;N=+h[I>>3];p=j+N;h[b+408>>3]=p;k=+h[b+352>>3];h[b+320>>3]=g/k;h[b+328>>3]=N/k;k=+h[q>>3];n=n*k/72.0;f=b+456|0;c[f>>2]=~~(n+(n>=0.0?.5:-.5));n=+h[r>>3];j=j*n/72.0;c[b+460>>2]=~~(j+(j>=0.0?.5:-.5));m=k*m/72.0;e=b+464|0;c[e>>2]=~~(m+(m>=0.0?.5:-.5));p=n*p/72.0;c[b+468>>2]=~~(p+(p>=0.0?.5:-.5));if(!i){c[J>>2]=c[f>>2];c[J+4>>2]=c[f+4>>2];LJ(K,J);I=K;K=c[I+4>>2]|0;b=f;c[b>>2]=c[I>>2];c[b+4>>2]=K;c[J>>2]=c[e>>2];c[J+4>>2]=c[e+4>>2];LJ(L,J);b=L;K=c[b+4>>2]|0;L=e;c[L>>2]=c[b>>2];c[L+4>>2]=K}l=M;return}function _J(a,b){a=a|0;b=b|0;var c=0.0;c=+h[b>>3];h[a>>3]=+h[b+8>>3];h[a+8>>3]=c;return}function $J(a,b,d){a=a|0;b=b|0;d=d|0;d=(d<<24>>24)+-66|0;switch(d>>>1|d<<31|0){case 9:{c[b+176>>2]=(c[b+168>>2]|0)+-1;b=0;d=-1;break}case 0:{b=0;d=1;break}case 5:{b=1;d=0;break}case 8:{c[b+172>>2]=(c[b+164>>2]|0)+-1;b=-1;d=0;break}default:{b=0;d=0}}c[a>>2]=b;c[a+4>>2]=d;return}function aK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;f=NA(d,101274)|0;i=b+296|0;c[i>>2]=(f|0)==0?101283:f;d=NA(d,101287)|0;f=b+300|0;d=(d|0)==0?101300:d;c[f>>2]=d;d=h6(c[i>>2]|0,d)|0;if(d|0){c[g>>2]=a[d>>0];dA(0,101302,g)|0;c[f>>2]=195341}d=Y3(e)|0;c[b+304>>2]=d;h=b+308|0;f=0;b=0;while(1){e=i6(d,c[i>>2]|0)|0;if(!e)break;g=b+1|0;if((b|0)<(f|0))d=c[h>>2]|0;else{f=f+128|0;d=c[h>>2]|0;b=f<<2;if(!d)d=IK(b)|0;else d=KK(d,b)|0;c[h>>2]=d}c[d+(g<<2)>>2]=e;b=g;d=0}if(b|0){i=KK(c[h>>2]|0,(b<<2)+8|0)|0;c[h>>2]=i;c[i>>2]=0;c[(c[h>>2]|0)+(b+1<<2)>>2]=0}l=j;return b|0}function bK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;j=a+312|0;d=IK((c[j>>2]<<2)+8|0)|0;e=0;i=1;while(1){g=c[j>>2]|0;h=e+1|0;f=d+(h<<2)|0;if((i|0)>(g|0))break;if((sJ(a,i,g,b)|0)<<24>>24){c[f>>2]=i;e=h}i=i+1|0}if(!e){c[k>>2]=b;dA(0,101173,k)|0;l6(d);d=0}else{c[d>>2]=e;c[f>>2]=(c[j>>2]|0)+1}l=m;return d|0}function cK(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0;d=c[b+16>>2]|0;g=+h[d+16>>3];h[d+48>>3]=g-+h[d+88>>3];f=+h[d+24>>3];e=+h[d+80>>3]*.5;h[d+56>>3]=f-e;h[d+64>>3]=g+ +h[d+96>>3];h[d+72>>3]=f+e;b=UA(a,b)|0;while(1){if(!b)break;dK(b);b=WA(a,b)|0}return}function dK(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a|0)eK(a);return}function eK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+240|0;v=C+192|0;u=C+176|0;w=C+64|0;x=C+32|0;y=C;z=C+144|0;A=C+112|0;B=a+4|0;if((c[B>>2]|0)<=0)Aa(101441,100207,3994,101455);b=c[a>>2]|0;d=w;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));d=v;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));fK(x,v);i=x+8|0;j=y+8|0;k=x+16|0;m=y+16|0;n=x+24|0;o=y+24|0;p=w+8|0;q=w+12|0;r=w+32|0;s=w+4|0;t=w+16|0;g=0;while(1){if((g|0)>=(c[B>>2]|0))break;if((g|0)>0){b=(c[a>>2]|0)+(g*48|0)|0;d=w;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));d=v;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));fK(y,v);h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}b=c[p>>2]|0;if(b|0){f=c[w>>2]|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];WH(z,u,v,1.0,b);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}b=c[q>>2]|0;if(b|0){f=(c[w>>2]|0)+((c[s>>2]|0)+-1<<4)|0;c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];WH(A,u,v,1.0,b);c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];c[y+8>>2]=c[A+8>>2];c[y+12>>2]=c[A+12>>2];c[y+16>>2]=c[A+16>>2];c[y+20>>2]=c[A+20>>2];c[y+24>>2]=c[A+24>>2];c[y+28>>2]=c[A+28>>2];h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}g=g+1|0}B=a+8|0;c[B>>2]=c[x>>2];c[B+4>>2]=c[x+4>>2];c[B+8>>2]=c[x+8>>2];c[B+12>>2]=c[x+12>>2];c[B+16>>2]=c[x+16>>2];c[B+20>>2]=c[x+20>>2];c[B+24>>2]=c[x+24>>2];c[B+28>>2]=c[x+28>>2];l=C;return}function fK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0;n=l;l=l+48|0;i=n+32|0;j=n;k=c[b+4>>2]|0;if((k|0)<=0)Aa(101471,100207,3968,101483);if(((k>>>0)%3|0|0)!=1)Aa(101493,100207,3969,101483);m=j+16|0;d=c[b>>2]|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];e=i+8|0;f=j+8|0;g=j+24|0;b=1;while(1){if((b|0)>=(k|0))break;o=+h[d+(b<<4)+8>>3];t=b+1|0;p=+h[d+(t<<4)+8>>3];r=(+h[d+(b<<4)>>3]+ +h[d+(t<<4)>>3])*.5;h[i>>3]=r;p=(o+p)*.5;h[e>>3]=p;o=+h[(+h[j>>3]>3];h[j>>3]=o;s=+h[(+h[f>>3]>3];h[f>>3]=s;r=+h[(+h[m>>3]>r?m:i)>>3];h[m>>3]=r;p=+h[(+h[g>>3]>p?m:i)+8>>3];h[g>>3]=p;t=d+(b+2<<4)|0;c[i>>2]=c[t>>2];c[i+4>>2]=c[t+4>>2];c[i+8>>2]=c[t+8>>2];c[i+12>>2]=c[t+12>>2];q=+h[i>>3];h[j>>3]=+h[(o>3];o=+h[e>>3];h[f>>3]=+h[(s>3];h[m>>3]=+h[(r>q?m:i)>>3];h[g>>3]=+h[(p>o?m:i)+8>>3];b=b+3|0}c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];c[a+16>>2]=c[j+16>>2];c[a+20>>2]=c[j+20>>2];c[a+24>>2]=c[j+24>>2];c[a+28>>2]=c[j+28>>2];l=n;return}function gK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;t=+h[a>>3];u=+h[c>>3];o=t>=u;q=c+8|0;r=c+16|0;m=a+8|0;s=c+24|0;if((o?t<=+h[r>>3]:0)?(d=+h[m>>3],d>=+h[q>>3]):0)c=d<=+h[s>>3];else c=0;d=+h[b>>3];j=d>=u;a=b+8|0;if((j?d<=+h[r>>3]:0)?(e=+h[a>>3],e>=+h[q>>3]):0){a=e<=+h[s>>3];if(!(c^a))if(c&a)a=1;else{n=e;p=12}else a=0}else if(c)a=0;else{n=+h[a>>3];p=12}a:do if((p|0)==12){l=+h[m>>3];do if(t==d){u=+h[q>>3];if(o&(l>=u^n>=u)?t<=+h[r>>3]:0){a=0;break a}}else{if(l==n){if(!(o^j))break;if(!(l>=+h[q>>3]))break;if(!(l<=+h[s>>3]))break;else{a=0;break a}}k=(n-l)/(d-t);p=t>3];if(!(!(u>=f)|!(u<=d)|!(e>=i))?e<=+h[s>>3]:0){a=0;break a}g=+h[r>>3];e=e+k*(g-u);if(e>=i?!(!(g<=d)|(g>=f?!(e<=+h[s>>3]):1)):0){a=0;break a}r=l=f)|(!(d>=u)|!(d<=g))))){a=0;break a}n=+h[s>>3];t=d+(n-i)/k;if(!(!(n<=e)|(!(n>=f)|(!(t>=u)|!(t<=g))))){a=0;break a}}while(0);a=-1}while(0);return a|0}function hK(a){a=a|0;var b=0,c=0.0;b=a+16|0;c=+h[b>>3];h[a+32>>3]=c;h[a+48>>3]=c;h[a+40>>3]=+h[a+24>>3];h[a+56>>3]=+h[a+8>>3];h[b>>3]=+h[a>>3];return}function iK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;if((c[47175]|0)!=(d|0)){X3(+(d|0)/6.283185307179586,186496,186504);c[47175]=d}f=+h[b>>3];i=+h[23313];g=+h[b+8>>3];e=+h[23312];h[a>>3]=f*i-g*e;h[a+8>>3]=i*g+f*e;return}function jK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;f=k;e=+h[b>>3];i=b+8|0;g=+h[i>>3];a:do switch(d|0){case 0:{j=11;break}case 90:{h[b>>3]=g;e=-e;j=10;break}case 180:{e=-g;j=10;break}case 270:{h[b>>3]=g;j=10;break}default:{if((d|0)<0){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];kK(a,f,0-d|0);break a}if((d|0)>360){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];jK(a,f,(d>>>0)%360|0);break a}else{c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];iK(a,f,d);break a}}}while(0);if((j|0)==10){h[i>>3]=e;j=11}if((j|0)==11){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}l=k;return}function kK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0;m=l;l=l+16|0;g=m;e=+h[b>>3];j=b+8|0;f=+h[j>>3];i=-f;a:do switch(d|0){case 0:{k=10;break}case 90:{f=i;k=8;break}case 180:{e=i;k=9;break}case 270:{k=8;break}default:{if((d|0)<0){c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];jK(a,g,0-d|0);break a}if((d|0)>360){c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];kK(a,g,(d>>>0)%360|0);break a}else{c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];iK(a,g,360-d|0);break a}}}while(0);if((k|0)==8){h[b>>3]=f;k=9}if((k|0)==9){h[j>>3]=e;k=10}if((k|0)==10){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}l=m;return}function lK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[c>>3];d=+h[c+8>>3];f=+h[b>>3]+d;e=+h[b+24>>3]+g;d=+h[b+16>>3]+d;h[a>>3]=+h[b+8>>3]+g;h[a+8>>3]=f;h[a+16>>3]=e;h[a+24>>3]=d;return}function mK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;f=+h[a>>3];e=+h[b>>3]-f;g=+h[a+8>>3];d=+h[b+8>>3]-g;f=e*(+h[c+8>>3]-g)-d*(+h[c>>3]-f);f=f*f;return +(f<1.0e-10?0.0:f/(e*e+d*d))}function nK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g+8|0;e=g;a=NA(a,b)|0;if(a|0?(c[f>>2]=e,(q4(a,101510,f)|0)>0):0)h[d>>3]=+h[e>>3];l=g;return}function oK(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;g=n+8|0;i=n;e=HK(96)|0;m=b+16|0;c[(c[m>>2]|0)+8>>2]=e;e=NA(b,101514)|0;if(!e){e=Na(101523)|0;if(e|0)k=3}else k=3;if((k|0)==3)za(101535,e|0,1)|0;e=(pK(b)|0)&255;a[(c[m>>2]|0)+115>>0]=e;if((c[47179]|0)==0?(e=NA(b,101546)|0,c[47178]=e,(e|0)==0):0)c[47178]=c[47177];f=+YO(b,DA(b,0,101556,0)|0,0.0,0.0);h[c[(c[m>>2]|0)+8>>2]>>3]=f;e=NA(b,101564)|0;a:do if(!e)e=0;else{switch(a[e>>0]|0){case 76:{if(!(f2(e,101572)|0)){e=1;break a}break}case 66:{if(!(f2(e,101575)|0)){e=2;break a}break}case 82:{e=(f2(e,101578)|0)==0;e=e?3:0;break a}default:{e=0;break a}}e=0}while(0);c[(c[m>>2]|0)+116>>2]=e<<2|(d<<24>>24==0?0:e);f=+YO(b,DA(b,0,101581,0)|0,.25,.02);h[i>>3]=f;f=f*72.0;c[(c[m>>2]|0)+248>>2]=~~(f+(f>=0.0?.5:-.5));e=_O(b,DA(b,0,101589,0)|0,0)|0;if(e){c[g>>2]=i;if(q4(e,101510,g)|0){f=+h[i>>3];if(f<.02){h[i>>3]=.02;f=.02}}else{h[i>>3]=.5;f=.5}if(C4(e,101597)|0)a[(c[m>>2]|0)+276>>0]=1}else{h[i>>3]=.5;f=.5}f=f*72.0;c[(c[m>>2]|0)+252>>2]=~~(f+(f>=0.0?.5:-.5));i=(XO(b,DA(b,0,101605,0)|0,0,0)|0)&255;a[(c[m>>2]|0)+243>>0]=i;i=nP(_O(b,DA(b,0,101615,0)|0,0)|0,20724,20740)|0;c[(c[m>>2]|0)+244>>2]=i;qK(b);i=rK(b,101625,(c[(c[m>>2]|0)+8>>2]|0)+64|0)|0;e=c[(c[m>>2]|0)+8>>2]|0;a[e+80>>0]=i;rK(b,101630,e+48|0)|0;e=bP(NA(b,101635)|0)|0;a[(c[(c[m>>2]|0)+8>>2]|0)+82>>0]=e;e=NA(b,101642)|0;do if(!e){e=NA(b,101649)|0;if(e|0){e=(a[e>>0]|32)<<24>>24==108&1;k=27;break}e=NA(b,101661)|0;if(e|0){e=bP(e)|0;k=27}}else{e=(d6(e)|0)==90&1;k=27}while(0);if((k|0)==27)a[(c[(c[m>>2]|0)+8>>2]|0)+81>>0]=e;c[47182]=nP(NA(b,101671)|0,20756,20772)|0;a[195236]=bP(NA(b,101683)|0)|0;c[47185]=0;c[47186]=0;h[(c[(c[m>>2]|0)+8>>2]|0)+24>>3]=0.0;e=NA(b,101695)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0)k=32;else k=30;if(((k|0)==30?(j=NA(b,101699)|0,j|0):0)?a[j>>0]|0:0){e=j;k=32}if((k|0)==32){f=+a6(e);h[(c[(c[m>>2]|0)+8>>2]|0)+24>>3]=f}sK(b);h[23316]=1.e+37;c[47194]=DA(b,0,101710,0)|0;c[47197]=DA(b,0,141337,0)|0;c[47198]=DA(b,0,105797,0)|0;c[47199]=DA(b,1,141351,0)|0;c[47200]=DA(b,1,141419,0)|0;c[47201]=DA(b,1,108531,0)|0;c[47202]=DA(b,1,141126,0)|0;c[47203]=DA(b,1,101719,0)|0;c[47219]=DA(b,1,141385,0)|0;c[47212]=DA(b,1,101729,0)|0;c[47213]=DA(b,1,101738,0)|0;c[47214]=DA(b,1,101747,0)|0;k=DA(b,1,108525,0)|0;c[47216]=k;if(!k)c[47216]=DA(b,1,108525,105794)|0;c[47217]=DA(b,1,101757,0)|0;c[47220]=DA(b,1,101605,0)|0;c[47234]=DA(b,1,101764,0)|0;c[47223]=DA(b,1,101710,0)|0;c[47215]=DA(b,1,105797,0)|0;c[47221]=DA(b,1,141379,0)|0;c[47222]=DA(b,1,101773,0)|0;c[47225]=DA(b,1,101785,0)|0;c[47224]=DA(b,1,101649,0)|0;c[47226]=DA(b,1,101790,0)|0;c[47227]=DA(b,1,141327,0)|0;c[47228]=DA(b,1,137598,0)|0;c[47218]=DA(b,1,101801,0)|0;c[47229]=DA(b,1,101811,0)|0;c[47230]=DA(b,1,101817,0)|0;c[47231]=DA(b,1,101823,0)|0;c[47232]=DA(b,1,101831,0)|0;c[47233]=DA(b,1,101840,0)|0;c[47235]=DA(b,1,141337,0)|0;c[47236]=DA(b,2,101842,0)|0;c[47238]=DA(b,2,141126,0)|0;c[47239]=DA(b,2,101719,0)|0;c[47248]=DA(b,2,101729,0)|0;c[47249]=DA(b,2,101738,0)|0;c[47250]=DA(b,2,101747,0)|0;c[47251]=DA(b,2,108525,0)|0;c[47252]=DA(b,2,101757,0)|0;c[47261]=DA(b,2,101849,0)|0;c[47253]=DA(b,2,101860,0)|0;c[47264]=DA(b,2,101864,0)|0;c[47265]=DA(b,2,101874,0)|0;c[47266]=DA(b,2,101884,0)|0;c[47267]=DA(b,2,101894,0)|0;c[47268]=DA(b,2,101904,0)|0;c[47269]=DA(b,2,101918,0)|0;c[47270]=DA(b,2,101932,0)|0;c[47271]=DA(b,2,101947,0)|0;c[47272]=DA(b,2,101961,0)|0;c[47237]=DA(b,2,101972,0)|0;c[47256]=DA(b,2,101605,0)|0;c[47254]=DA(b,2,141385,0)|0;c[47255]=DA(b,2,101979,0)|0;c[47257]=DA(b,2,101988,0)|0;c[47258]=DA(b,2,101998,0)|0;c[47259]=DA(b,2,101811,0)|0;c[47260]=DA(b,2,101823,0)|0;c[47273]=DA(b,2,102009,0)|0;c[47274]=DA(b,2,102018,0)|0;c[47275]=DA(b,2,101764,0)|0;e=ZH(b)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+88>>2]=e;e=NA(b,141363)|0;if(e|0?a[e>>0]|0:0){b=CK(e,b)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+92>>2]=b}l=n;return}function pK(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;a=$O(a,DA(a,0,102108,0)|0,102116)|0;if(((((((C3(a,102122)|0)!=0?(C3(a,102130)|0)!=0:0)?(C3(a,102137)|0)!=0:0)?(C3(a,102140)|0)!=0:0)?(C3(a,102151)|0)!=0:0)?(C3(a,102162)|0)!=0:0)?(C3(a,102172)|0)!=0:0)if((C3(a,102183)|0)!=0?(C3(a,102189)|0)!=0:0)if((C3(a,102116)|0)!=0?(C3(a,102194)|0)!=0:0){c[b>>2]=a;dA(0,102199,b)|0;a=0}else a=0;else a=2;else a=1;l=d;return a|0}function qK(b){b=b|0;var d=0.0,e=0,f=0;e=NA(b,102066)|0;a:do if(e|0?(f=a[e>>0]|0,f<<24>>24):0){b=b+16|0;switch(f<<24>>24|0){case 97:{if(f<<24>>24!=97)break a;if(f2(e,102072)|0)break a;c[(c[(c[b>>2]|0)+8>>2]|0)+84>>2]=4;break a}case 99:{if(f<<24>>24!=99)break a;if(f2(e,102077)|0)break a;c[(c[(c[b>>2]|0)+8>>2]|0)+84>>2]=3;break a}case 101:{if(f<<24>>24!=101)break a;if(f2(e,102086)|0)break a;c[(c[(c[b>>2]|0)+8>>2]|0)+84>>2]=5;break a}case 102:{if(f<<24>>24!=102)break a;if(f2(e,102093)|0)break a;c[(c[(c[b>>2]|0)+8>>2]|0)+84>>2]=2;break a}default:{d=+a6(e);if(!(d>0.0))break a;f=c[(c[b>>2]|0)+8>>2]|0;c[f+84>>2]=1;h[f+16>>3]=d;break a}}}while(0);return}function rK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o+32|0;i=o+16|0;k=o+8|0;j=o;n=o+40|0;a[n>>0]=0;d=NA(b,d)|0;do if(d){c[i>>2]=k;c[i+4>>2]=j;c[i+8>>2]=n;i=(q4(d,102050,i)|0)>1;g=+h[k>>3];f=+h[j>>3];b=e+8|0;if(i&g>0.0&f>0.0){g=g*72.0;h[e>>3]=+(~~(g+(g>=0.0?.5:-.5))|0);g=f*72.0;h[b>>3]=+(~~(g+(g>=0.0?.5:-.5))|0);b=(a[n>>0]|0)==33;break}a[n>>0]=0;c[m>>2]=k;c[m+4>>2]=n;m=(q4(d,102060,m)|0)>0;f=+h[k>>3];if(m&f>0.0){g=f*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);h[e>>3]=g;h[b>>3]=g;b=(a[n>>0]|0)==33}else b=0}else b=0;while(0);l=o;return b&1|0}function sK(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0;d=NA(b,108525)|0;do if(d|0?a[d>>0]|0:0){e=(c[(c[b+60>>2]|0)+16>>2]|0)+113|0;a[e>>0]=a[e>>0]|8;e=(gD(d)|0)!=0;i=+YO(b,DA(b,0,101729,0)|0,14.0,1.0);j=$O(b,DA(b,0,101738,0)|0,108295)|0;d=xK(b,d,e?2:0,i,j,$O(b,DA(b,0,101747,0)|0,137615)|0)|0;j=b+16|0;c[(c[j>>2]|0)+12>>2]=d;d=NA(b,105929)|0;e=(d|0)!=0;do if((vC(b)|0)==(b|0)){if(e?(a[d>>0]|0)==116:0){d=1;break}d=0}else{if(e?(a[d>>0]|0)==98:0){d=0;break}d=1}while(0);e=NA(b,102027)|0;a:do if(e){f=d&255;switch(a[e>>0]|0){case 108:{d=(f|2)&255;break a}case 114:{d=(f|4)&255;break a}default:break a}}while(0);a[(c[j>>2]|0)+275>>0]=d;if((vC(b)|0)!=(b|0)){d=c[(c[j>>2]|0)+12>>2]|0;g=+h[d+24>>3]+16.0;i=+h[d+32>>3]+8.0;b=(c[(c[(vC(b)|0)+16>>2]|0)+116>>2]&1|0)==0;d=c[j>>2]|0;e=a[d+275>>0]<<1&2;if(b){b=e&255;h[d+48+(b<<4)>>3]=g;h[d+48+(b<<4)+8>>3]=i;break}else{b=(e^3)&255;h[d+48+(b<<4)>>3]=i;h[d+48+(b<<4)+8>>3]=g;break}}}while(0);return}function tK(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;d=c[e>>2]|0;b=c[d+8>>2]|0;do if(!b)b=d;else{d=c[b+88>>2]|0;if(d){CH(d);d=c[e>>2]|0;b=c[d+8>>2]|0;if(!b){b=d;break}}l6(c[b+92>>2]|0);b=c[e>>2]|0}while(0);l6(c[b+8>>2]|0);e=c[e>>2]|0;c[e+8>>2]=0;AK(c[e+12>>2]|0);XC(a,0,137786);return}function uK(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;switch(a|0){case 0:{a=102272;break}case 1:{a=102140;break}case 2:{a=102278;break}default:{c[b>>2]=a;dA(1,102242,b)|0;a=102272}}l=d;return a|0}function vK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[d>>2]|0;m=d+24|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;if(a[f>>0]|0){g=IK((D3(f)|0)+1|0)|0;a[g>>0]=0;k=d+12|0;e=g;a:while(1){b:while(1){i=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24))break a;j=e+1|0;f=f+2|0;if(!(h<<24>>24==-1|((h&255)<161|(c[k>>2]|0)!=2))){a[e>>0]=h;i=a[i>>0]|0;e=e+2|0;a[j>>0]=i;if(!(i<<24>>24))break a;else continue}switch(h<<24>>24){case 92:break b;case 10:{l=12;break b}default:{}}a[e>>0]=h;e=j;f=i}if((l|0)==12){l=0;a[e>>0]=0;wK(b,d,g,110);e=j;g=j;f=i;continue}h=a[i>>0]|0;switch(h<<24>>24|0){case 114:case 108:case 110:{a[e>>0]=0;wK(b,d,g,a[i>>0]|0);g=j;break}default:a[e>>0]=h}e=j;f=(a[i>>0]|0)==0?i:f}if((g|0)!=(e|0)){a[e>>0]=0;wK(b,d,g,110)}d=d+40|0;c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2]}return}function wK(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+32|0;r=t+16|0;q=t;s=e+76|0;m=b[s>>1]|0;o=e+72|0;n=c[o>>2]|0;i=m+2|0;if(!n)p=HK(i*56|0)|0;else p=JK(n,i,56,m+1|0)|0;c[o>>2]=p;i=b[s>>1]|0;m=i<<16>>16;n=p+(m*56|0)|0;c[n>>2]=f;a[p+(m*56|0)+48>>0]=g;j=+h[e+16>>3];if((f|0)!=0?(a[f>>0]|0)!=0:0){c[46636]=c[e+4>>2];h[23320]=j;i=c[d+144>>2]|0;c[p+(m*56|0)+4>>2]=eb[c[i>>2]&63](i,186544,1)|0;JO(q,d,n);k=+h[q>>3];h[r>>3]=k;j=+h[q+8>>3];i=b[s>>1]|0}else{h[r>>3]=0.0;j=+(~~(j*1.2)|0);h[p+(m*56|0)+40>>3]=j;k=0.0}b[s>>1]=i+1<<16>>16;s=e+24|0;h[s>>3]=+h[(+h[s>>3]>k?s:r)>>3];s=e+32|0;h[s>>3]=j+ +h[s>>3];l=t;return}function xK(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;r=u+16|0;q=u+8|0;p=u;t=HK(88)|0;switch(FC(b)|0){case 0:{m=0;s=c[b+60>>2]|0;n=b;o=0;break}case 1:{m=0;s=vC(uC(b)|0)|0;n=0;o=b;break}case 2:{m=b;s=vC(uC(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)|0;n=0;o=0;break}default:{m=0;s=0;n=0;o=0}}c[t+4>>2]=i;c[t+8>>2]=j;h[t+16>>3]=g;k=s+16|0;j=t+12|0;c[j>>2]=d[(c[k>>2]|0)+115>>0];a:do if(f&4){c[t>>2]=Y3(e)|0;if(f&2|0)a[t+82>>0]=1}else switch(f|0){case 2:{c[t>>2]=Y3(e)|0;a[t+82>>0]=1;if(!(zU(b,t)|0))break a;switch(FC(b)|0){case 0:{c[p>>2]=HB(n)|0;dA(3,102284,p)|0;break a}case 1:{c[q>>2]=HB(o)|0;dA(3,102306,q)|0;break a}case 2:{p=HB(c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)|0;q=(uB(s)|0)!=0;s=HB(c[((c[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=q?138041:142050;c[r+8>>2]=s;dA(3,102327,r)|0;break a}default:break a}}case 0:{i=yK(e,b,0)|0;c[t>>2]=i;if((c[j>>2]|0)==1)i=cQ(i)|0;else i=$P(i,s)|0;l6(c[t>>2]|0);c[t>>2]=i;vK(c[(c[k>>2]|0)+144>>2]|0,t);break a}default:Aa(102354,102370,166,102379)}while(0);l=u;return t|0}function yK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=(b|0)!=0;switch(FC(d)|0){case 0:{i=HB(d)|0;g=D3(i)|0;f=c[(c[d+16>>2]|0)+12>>2]|0;if(f){f=c[f>>2]|0;if(m){v=0;t=2;u=2;s=2;h=2;y=102402;n=102399;j=105794;o=195341;r=195341;q=0;p=0;m=D3(f)|0;w=f;x=102396}else{v=0;t=2;u=2;s=2;h=2;y=102402;n=102399;j=105794;o=195341;r=195341;q=0;p=0;m=2;w=f;x=102396}}else{v=0;t=2;u=2;s=2;h=2;y=102402;n=102399;j=105794;o=195341;r=195341;q=0;p=0;m=2;w=102390;x=102396}break}case 1:{i=HB(uC(d)|0)|0;g=D3(i)|0;j=HB(d)|0;h=D3(j)|0;f=c[(c[d+16>>2]|0)+104>>2]|0;if(f){f=c[f>>2]|0;if(m){v=0;t=2;u=2;s=2;y=102402;n=102399;o=195341;r=195341;q=0;p=0;m=D3(f)|0;w=f;x=102396}else{v=0;t=2;u=2;s=2;y=102402;n=102399;o=195341;r=195341;q=0;p=0;m=2;w=f;x=102396}}else{v=0;t=2;u=2;s=2;y=102402;n=102399;o=195341;r=195341;q=0;p=0;m=2;w=102390;x=102396}break}case 2:{h=d+48|0;i=HB(vC(uC(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0)|0)|0;g=D3(i)|0;l=HB(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0;k=D3(l)|0;f=d+16|0;r=c[(c[f>>2]|0)+52>>2]|0;if(!r)p=0;else p=D3(r)|0;n=HB(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;f=c[f>>2]|0;o=c[f+92>>2]|0;if(!o)q=0;else q=D3(o)|0;j=D3(n)|0;f=c[f+96>>2]|0;if(f){f=c[f>>2]|0;if(m)m=D3(f)|0;else m=2}else{m=2;f=102390}x=(uB(vC(uC(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0)|0)|0)==0;v=1;t=k;u=j;s=k+2+(p|0?p+1|0:0)+j+(q|0?q+1|0:0)|0;h=2;y=l;j=105794;w=f;x=x?142050:138041;break}default:{v=0;t=2;u=2;s=2;h=2;g=2;y=102402;n=102399;j=105794;i=102393;o=195341;r=195341;q=0;p=0;m=2;w=102390;x=102396}}e=(e|0)!=0;k=0;f=b;a:while(1){d=f+1|0;l=k+1|0;switch(a[f>>0]|0){case 0:break a;case 92:break;default:{k=l;f=d;continue a}}f=f+2|0;switch(a[d>>0]|0){case 71:{k=k+g|0;continue a}case 78:{k=k+h|0;continue a}case 69:{k=k+s|0;continue a}case 72:{k=k+u|0;continue a}case 84:{k=k+t|0;continue a}case 76:{k=k+m|0;continue a}case 92:{if(e){k=l;continue a}break}default:{}}k=k+2|0}t=IK(l)|0;s=(v|0)==0;p=(p|0)==0;m=(q|0)==0;f=t;g=b;b:while(1){k=g+1|0;h=a[g>>0]|0;if(!(h<<24>>24))break;d=f+1|0;if(h<<24>>24!=92){a[f>>0]=h;f=d;g=k;continue}l=g+2|0;g=a[k>>0]|0;switch(g<<24>>24|0){case 71:{g=i;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=l;continue b}g=g+1|0;f=f+1|0}}case 78:{g=j;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=l;continue b}g=g+1|0;f=f+1|0}}case 69:{if(s){g=l;continue b}else g=y;while(1){b=a[g>>0]|0;a[f>>0]=b;h=f+1|0;if(!(b<<24>>24))break;else{g=g+1|0;f=h}}c:do if(p)g=x;else{a[f>>0]=58;g=r;f=h;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=x;break c}g=g+1|0;f=f+1|0}}while(0);while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=n;break}g=g+1|0;f=f+1|0}while(1){b=a[g>>0]|0;a[f>>0]=b;h=f+1|0;if(!(b<<24>>24))break;else{g=g+1|0;f=h}}if(m){g=l;continue b}a[f>>0]=58;g=o;f=h;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=l;continue b}g=g+1|0;f=f+1|0}}case 84:{g=y;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=l;continue b}g=g+1|0;f=f+1|0}}case 72:{g=n;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=l;continue b}f=f+1|0;g=g+1|0}}case 76:{g=w;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=l;continue b}f=f+1|0;g=g+1|0}}case 92:{if(e){a[f>>0]=92;f=d;g=l;continue b}break}default:{}}a[f>>0]=92;a[d>>0]=g;f=f+2|0;g=l}a[f>>0]=0;return t|0}function zK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(a|0){d=a;e=0;while(1){if((e|0)>=(b|0))break;if(!e)l6(c[d>>2]|0);g=c[d+8>>2]|0;if(g|0?(f=c[d+12>>2]|0,f|0):0)db[f&127](g);d=d+56|0;e=e+1|0}l6(a)}return}function AK(d){d=d|0;var e=0;if(d|0){l6(c[d>>2]|0);e=d+72|0;if(a[d+82>>0]|0){e=c[e>>2]|0;if(e|0)kU(e,1)}else zK(c[e>>2]|0,b[d+76>>1]|0);l6(d)}return}function BK(d,e,f){d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;q=u+16|0;r=u;m=c[d+16>>2]|0;s=m+12|0;t=c[s>>2]|0;c[s>>2]=e;o=f+72|0;if(!(a[f+82>>0]|0)){p=f+76|0;if((b[p>>1]|0)>=1){cS(d,0);fS(d,c[f+8>>2]|0);e=f+64|0;i=f+48|0;j=f+32|0;switch(a[f+80>>0]|0){case 116:{k=+h[e>>3];g=k+ +h[i>>3]*.5;break}case 98:{k=+h[e>>3];g=+h[j>>3]+(k-+h[i>>3]*.5);break}default:{k=+h[e>>3];g=k+ +h[j>>3]*.5}}g=g-+h[f+16>>3];n=r+8|0;h[n>>3]=g;if(b[m+260>>1]&512)h[n>>3]=g-k;m=f+40|0;i=f+56|0;e=0;while(1){if((e|0)>=(b[p>>1]|0))break;f=c[o>>2]|0;j=f+(e*56|0)|0;switch(a[f+(e*56|0)+48>>0]|0){case 108:{g=+h[i>>3]-+h[m>>3]*.5;break}case 114:{g=+h[i>>3]+ +h[m>>3]*.5;break}default:g=+h[i>>3]}h[r>>3]=g;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];eS(d,q,j);h[n>>3]=+h[n>>3]-+h[(c[o>>2]|0)+(e*56|0)+40>>3];e=e+1|0}dS(d);i=18}}else{RT(d,c[o>>2]|0,f);i=18}if((i|0)==18)c[s>>2]=t;l=u;return}function CK(a,b){a=a|0;b=b|0;return yK(a,b,1)|0}function DK(a){a=a|0;return EK(a,0)|0}function EK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[47276]|0;if(!e){c[47277]=64;e=IK(64)|0;c[47276]=e}j=d<<24>>24!=0;i=0;f=0;h=b;while(1){if(!h)break;d=a[h>>0]|0;if(!(d<<24>>24))break;b=c[47277]|0;if((i|0)>(b+-8|0)){e=b<<1;c[47277]=e;e=KK(c[47276]|0,e)|0;c[47276]=e;e=e+i|0;d=a[h>>0]|0}a:do switch(d<<24>>24){case 38:{if(!j?(FK(h)|0)!=0:0)k=19;else{f=5;d=102431}break}case 60:{f=4;d=102454;break}case 62:{f=4;d=102437;break}case 45:{f=5;d=102448;break}default:{if((f|0)!=0&d<<24>>24==32)if((a[f>>0]|0)==32){f=6;d=102424;break a}else{k=19;break a}switch(d<<24>>24){case 34:{f=6;d=102411;break a}case 39:{f=5;d=102442;break a}case 10:if(j){f=5;d=102418;break a}else{k=19;break a}case 13:if(j){f=5;d=102405;break a}else{k=19;break a}default:{k=19;break a}}}}while(0);if((k|0)==19){k=0;f=1;d=h}g=e+f|0;b=f;while(1){if(!b)break;a[e>>0]=a[d>>0]|0;b=b+-1|0;d=d+1|0;e=e+1|0}b=h;i=f+i|0;e=g;h=h+1|0;f=b}a[e>>0]=0;return c[47276]|0}function FK(b){b=b|0;var c=0,d=0;d=b+1|0;c=a[d>>0]|0;a:do if(c<<24>>24==35){d=b+2|0;c=a[d>>0]|0;switch(c<<24>>24){case 88:case 120:break;default:{b=d;while(1){d=b+1|0;if((c+-48&255)>=10)break a;b=d;c=a[d>>0]|0}}}d=b+3|0;while(1){c=a[d>>0]|0;if((c+-48&255)>=10)switch(c<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}d=d+1|0}}else while(1){b=d+1|0;if(((c&-33)+-65&255)>=26)break a;d=b;c=a[b>>0]|0}while(0);return c<<24>>24==59|0}function GK(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[47278]|0;if(!d){c[47279]=64;d=IK(64)|0;c[47278]=d;i=0;h=b}else{i=0;h=b}while(1){if(!h)break;b=a[h>>0]|0;if(!(b<<24>>24))break;e=c[47279]|0;if((i|0)>(e+-8|0)){d=e<<1;c[47279]=d;d=KK(c[47278]|0,d)|0;c[47278]=d;d=d+i|0;b=a[h>>0]|0}switch(b<<24>>24){case 38:{if(!(FK(h)|0)){f=5;b=102431}else j=12;break}case 60:{f=4;b=102454;break}case 62:{f=4;b=102437;break}case 34:{f=6;b=102411;break}case 39:{f=5;b=102442;break}default:j=12}if((j|0)==12){j=0;f=1;b=h}g=d+f|0;e=f;while(1){if(!e)break;a[d>>0]=a[b>>0]|0;e=e+-1|0;b=b+1|0;d=d+1|0}i=f+i|0;d=g;h=h+1|0}a[d>>0]=0;return c[47278]|0}function HK(a){a=a|0;var b=0;if(!a)a=0;else{b=IK(a)|0;u6(b|0,0,a|0)|0;a=b}return a|0}function IK(a){a=a|0;if(a){a=k6(a)|0;if(!a){_3(112041,14,1,c[15715]|0)|0;a=0}}else a=0;return a|0}function JK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=n6(a,S(d,b)|0)|0;if(!((b|0)!=0&(a|0)==0)){if(b>>>0>e>>>0)u6(a+(S(e,d)|0)|0,0,S(b-e|0,d)|0)|0}else _3(112041,14,1,c[15715]|0)|0;return a|0}function KK(a,b){a=a|0;b=b|0;a=n6(a,b)|0;if((b|0)!=0&(a|0)==0)_3(112041,14,1,c[15715]|0)|0;return a|0}function LK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0.0,n=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+80|0;s=v+40|0;r=v+32|0;q=v+24|0;n=v;t=4;u=k6(40)|0;c[u>>2]=0;g=v+68|0;i=v+64|0;if(a[195234]|0){o=0;na(62,b|0,g|0,i|0);j=o;o=0;if((j|0)!=0&(p|0)!=0){k=A6(c[j>>2]|0,u|0,t|0)|0;if(!k)Ca(j|0,p|0);D=p}else k=-1;if((k|0)!=1){k=c[15715]|0;j=c[g>>2]|0;g=c[i>>2]|0;o=0;c[n>>2]=102503;c[n+4>>2]=j;c[n+8>>2]=g;c[n+12>>2]=e;c[n+16>>2]=d;aa(35,k|0,102459,n|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)!=1){o=0;oa(1);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)!=1)k=6;else{g=D;k=15}}else{g=D;k=15}}else{g=D;k=15}}else k=6;do if((k|0)==6){o=0;g=la(27,b|0)|0;i=o;o=0;if((i|0)!=0&(p|0)!=0){j=A6(c[i>>2]|0,u|0,t|0)|0;if(!j)Ca(i|0,p|0);D=p}else j=-1;if((j|0)!=1){if(!g){o=0;oa(2);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;break}}if((e|0)<1){o=0;oa(3);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;break}g=0;break}else{c[47280]=(f|0)>-1?f:30;u=x6(189124,1,u|0,t|0)|0;t=D;o=0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;break}g=0;k=15;break}}else{g=D;k=15}}while(0);a:do if((k|0)==15){b:while(1){if(g|0){g=2;break a}o=0;oa(4);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue}b=c[15715]|0;n=0;while(1){o=0;k=ea(2)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}if(!k)break;o=0;g=la(28,k|0)|0;i=o;o=0;if((i|0)!=0&(p|0)!=0){j=A6(c[i>>2]|0,u|0,t|0)|0;if(!j)Ca(i|0,p|0);D=p}else j=-1;if((j|0)==1){g=D;k=15;continue b}o=0;ha(25,k|0,g|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}n=n+1|0;do if(((n|0)%100|0|0)==0&(a[195234]|0)!=0){g=(n|0)%1e3|0;if((g|0)==100){o=0;ra(93,102503,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}o=0;c[q>>2]=n;aa(35,b|0,102521,q|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}break}o=0;c[r>>2]=n;aa(35,b|0,102521,r|0)|0;i=o;o=0;if((i|0)!=0&(p|0)!=0){j=A6(c[i>>2]|0,u|0,t|0)|0;if(!j)Ca(i|0,p|0);D=p}else j=-1;if((j|0)==1){g=D;k=15;continue b}if(!g){o=0;ra(94,10,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}}}while(0);if((n|0)>=(e|0))break}switch(d|0){case 1:{o=0;oa(5);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}break}case 2:{o=0;oa(6);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}break}default:{o=0;oa(7);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}o=0;oa(3);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}}}if(!(a[195234]|0)){g=0;break a}if((n|0)>99){o=0;ra(94,10,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue}}g=c[47320]|0;i=c[47321]|0;o=0;m=+ca(1);j=o;o=0;if((j|0)!=0&(p|0)!=0){k=A6(c[j>>2]|0,u|0,t|0)|0;if(!k)Ca(j|0,p|0);D=p}else k=-1;if((k|0)==1){g=D;k=15;continue}o=0;c[s>>2]=102503;c[s+4>>2]=g;c[s+8>>2]=i;c[s+12>>2]=n;h[s+16>>3]=m;aa(35,b|0,102525,s|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15}else break}g=0}while(0);l6(u|0);l=v;return g|0}function MK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a=(c[a+16>>2]|0)+192|0;e=0;h=0;while(1){a=c[a>>2]|0;if(!a)break;g=c[a+16>>2]|0;f=c[g+180>>2]|0;a=0;while(1){if(!(c[f+(a<<2)>>2]|0))break;a=a+1|0;e=e+1|0}a=g+164|0;h=h+1|0}c[b>>2]=h;c[d>>2]=e;return}function NK(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c[47324]=b;c[47331]=0;c[47321]=0;c[47320]=0;i=b+16|0;b=(c[i>>2]|0)+192|0;h=0;f=0;while(1){b=c[b>>2]|0;if(!b)break;g=c[b+16>>2]|0;a[g+157>>0]=0;h=h+1|0;c[47320]=h;d=c[g+180>>2]|0;b=0;while(1){if(!(c[d+(b<<2)>>2]|0))break;k=f+1|0;c[47321]=k;b=b+1|0;f=k}b=g+164|0}b=c[47332]|0;if(!b)b=IK(h<<2)|0;else b=KK(b,h<<2)|0;c[47332]=b;c[47333]=0;b=c[47326]|0;d=c[47320]<<2;if(!b)b=IK(d)|0;else b=KK(b,d)|0;c[47326]=b;c[47325]=0;d=1;b=(c[i>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;k=b+16|0;h=c[k>>2]|0;i=h+292|0;c[i>>2]=0;h=c[h+172>>2]|0;j=d;b=0;d=0;while(1){g=c[h+(b<<2)>>2]|0;b=b+1|0;if(!g)break;d=d+1|0;c[i>>2]=d;f=c[g+16>>2]|0;c[f+160>>2]=0;c[f+164>>2]=-1;if(!j){j=0;continue}l=c[g>>2]&3;j=((c[(c[(c[((l|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((l|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)<(e[f+170>>1]|0|0)?0:j}b=HK(b<<2)|0;d=c[k>>2]|0;c[d+264>>2]=b;c[d+268>>2]=0;d=c[d+180>>2]|0;b=0;do{l=b;b=b+1|0}while((c[d+(l<<2)>>2]|0)!=0);d=HK(b<<2)|0;b=c[k>>2]|0;c[b+272>>2]=d;c[b+276>>2]=0;d=j;b=b+164|0}return d|0}function OK(){var a=0,b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;k=o;m=TO(c[47320]|0)|0;a=(c[(c[47324]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b){j=0;break}d=b+16|0;a=c[d>>2]|0;if(!(c[a+292>>2]|0)){VO(m,b);a=c[d>>2]|0}a=a+164|0}while(1){a=WO(m)|0;if(!a)break;i=a+16|0;a=c[i>>2]|0;f=a+232|0;c[f>>2]=0;d=c[a+172>>2]|0;b=0;h=0;while(1){g=c[d+(b<<2)>>2]|0;if(!g){f=0;break}g=(e[(c[g+16>>2]|0)+170>>1]|0)+(c[(c[(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;g=(h|0)>(g|0)?h:g;c[f>>2]=g;b=b+1|0;h=g}while(1){b=c[(c[a+180>>2]|0)+(f<<2)>>2]|0;if(!b)break;d=b+-48|0;g=(c[(c[((c[b>>2]&3|0)==2?b:d)+40>>2]|0)+16>>2]|0)+292|0;h=c[g>>2]|0;c[g>>2]=h+-1;if((h|0)<2){VO(m,c[((c[b>>2]&3|0)==2?b:d)+40>>2]|0);a=c[i>>2]|0}f=f+1|0}j=j+1|0}a:do if((j|0)!=(c[47320]|0)){dA(1,102857,k)|0;a=(c[(c[47324]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b)break a;d=b+16|0;a=c[d>>2]|0;if(c[a+292>>2]|0){k=HB(b)|0;a=c[(c[d>>2]|0)+292>>2]|0;c[n>>2]=k;c[n+4>>2]=a;dA(3,102879,n)|0;a=c[d>>2]|0}a=a+164|0}}while(0);UO(m);l=o;return}function PK(){var b=0,d=0,e=0;b=(c[(c[47324]|0)+16>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;e=b+16|0;b=c[e>>2]|0;d=c[b+264>>2]|0;if(d){l6(d);b=c[e>>2]|0}d=c[b+272>>2]|0;if(d){l6(d);b=c[e>>2]|0}a[b+157>>0]=0;b=b+164|0}return}function QK(){var a=0,b=0,d=0,e=0,f=0;a=(c[(c[47324]|0)+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if(!a)break;a=c[a+16>>2]|0;c[a+280>>2]=0;a=a+164|0}f=HK(c[47320]<<2)|0;e=0;a=(c[(c[47324]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b)break;d=b+16|0;a=c[d>>2]|0;if(!(c[a+280>>2]|0)){c[f+(e<<2)>>2]=bL(b)|0;b=e+1|0;a=c[d>>2]|0}else b=e;e=b;a=a+164|0}a=cL(f,e)|0;while(1){if((dL(a)|0)<=1)break;hL(a,c[(gL(fL(eL(a)|0)|0)|0)+8>>2]|0)}l6(a);a=0;while(1){if((a|0)>=(e|0))break;l6(c[f+(a<<2)>>2]|0);a=a+1|0}l6(f);if((c[47325]|0)==((c[47320]|0)+-1|0)){iL();return}else Aa(102602,102632,523,102637)}function RK(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[47331]|0;f=c[47325]|0;j=c[47326]|0;k=c[47280]|0;b=0;a=0;g=i;while(1){if((g|0)>=(f|0)){h=8;break}e=c[j+(g<<2)>>2]|0;d=c[(c[e+16>>2]|0)+160>>2]|0;if((d|0)<0){if(!a)a=e;else a=(c[(c[a+16>>2]|0)+160>>2]|0)>(d|0)?e:a;b=b+1|0;if((b|0)>=(k|0))break}e=g+1|0;c[47331]=e;g=e}if((h|0)==8)if((i|0)>0){f=0;while(1){if((f|0)>=(i|0))break;d=c[j+(f<<2)>>2]|0;e=c[(c[d+16>>2]|0)+160>>2]|0;if((e|0)<0){if(!a)a=d;else a=(c[(c[a+16>>2]|0)+160>>2]|0)>(e|0)?d:a;b=b+1|0;if((b|0)>=(k|0))break}f=f+1|0}c[47331]=f}return a|0}function SK(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>>2]|0;a=c[((b|0)==2?a:a+-48|0)+40>>2]|0;b=(c[(c[d+16>>2]|0)+288>>2]|0)<(c[(c[a+16>>2]|0)+288>>2]|0);a=b?d:a;c[47327]=0;c[47328]=2147483647;d=c[a+16>>2]|0;c[47329]=c[d+284>>2];c[47330]=c[d+288>>2];if(b)aL(a);else $K(a);return c[47327]|0}function TK(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;o=p;h=c[b>>2]&3;n=b+-48|0;k=b+48|0;m=b+16|0;h=(c[(c[(c[((h|0)==2?b:n)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?b:k)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[m>>2]|0)+170>>1]|0)|0;do if((h|0)>0){d=c[a>>2]&3;i=c[((d|0)==3?a:a+48|0)+40>>2]|0;j=c[i+16>>2]|0;if(((c[j+276>>2]|0)+(c[j+268>>2]|0)|0)==1){XK(i,h);break}d=c[((d|0)==2?a:a+-48|0)+40>>2]|0;f=c[d+16>>2]|0;g=0-h|0;if(((c[f+276>>2]|0)+(c[f+268>>2]|0)|0)==1){XK(d,g);break}if((c[j+288>>2]|0)<(c[f+288>>2]|0)){XK(i,h);break}else{XK(d,g);break}}while(0);d=a+16|0;f=c[(c[d>>2]|0)+160>>2]|0;g=c[b>>2]&3;g=YK(c[((g|0)==3?b:k)+40>>2]|0,c[((g|0)==2?b:n)+40>>2]|0,f,1)|0;j=c[b>>2]&3;if((YK(c[((j|0)==2?b:n)+40>>2]|0,c[((j|0)==3?b:k)+40>>2]|0,f,0)|0)==(g|0)){c[(c[m>>2]|0)+160>>2]=0-f;c[(c[d>>2]|0)+160>>2]=0;ZK(a,b);o=c[g+16>>2]|0;_K(g,c[o+280>>2]|0,c[o+284>>2]|0)|0;l=p;return}else{dA(1,102563,o)|0;Ca(189124,1)}}function UK(){var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;WK();n=HK((c[47323]<<2)+4|0)|0;d=c[47323]|0;b=0;while(1){if((b|0)>(d|0))break;c[n+(b<<2)>>2]=0;b=b+1|0}b=c[(c[(c[47324]|0)+16>>2]|0)+192>>2]|0;d=b;while(1){if(!d)break;d=c[d+16>>2]|0;if(!(a[d+156>>0]|0)){m=n+(c[d+232>>2]<<2)|0;c[m>>2]=(c[m>>2]|0)+1}d=c[d+164>>2]|0}while(1){if(!b)break;m=b+16|0;b=c[m>>2]|0;if(!(a[b+156>>0]|0)){h=c[47323]|0;f=c[b+172>>2]|0;k=0;j=0;d=0;while(1){g=c[f+(d<<2)>>2]|0;if(!g)break;i=c[g+16>>2]|0;l=(e[i+170>>1]|0)+(c[(c[(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;k=(c[i+156>>2]|0)+k|0;j=(j|0)>(l|0)?j:l;d=d+1|0}g=c[b+180>>2]|0;i=0;l=h;d=0;while(1){f=c[g+(d<<2)>>2]|0;if(!f)break;o=c[f+16>>2]|0;h=(c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[o+170>>1]|0)|0;i=(c[o+156>>2]|0)+i|0;l=(l|0)<(h|0)?l:h;d=d+1|0}d=(j|0)>0?j:0;if((k|0)==(i|0)){h=d;f=d;while(1){d=f+1|0;g=n+(h<<2)|0;if((f|0)>=(l|0))break;h=(c[n+(d<<2)>>2]|0)<(c[g>>2]|0)?d:h;f=d}o=b+232|0;l=n+(c[o>>2]<<2)|0;c[l>>2]=(c[l>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=h}d=c[b+264>>2]|0;if(d){l6(d);b=c[m>>2]|0}d=c[b+272>>2]|0;if(d){l6(d);b=c[m>>2]|0}a[b+157>>0]=0}b=c[b+164>>2]|0}l6(n);return}function VK(){var a=0,b=0,d=0,f=0,g=0,h=0;b=0;while(1){if((b|0)>=(c[47325]|0))break;a=c[(c[47326]|0)+(b<<2)>>2]|0;do if(((c[(c[a+16>>2]|0)+160>>2]|0)==0?(d=SK(a)|0,d|0):0)?(f=c[d>>2]&3,f=(c[(c[(c[((f|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((f|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0,(f|0)>=2):0){h=c[a>>2]&3;g=c[((h|0)==3?a:a+48|0)+40>>2]|0;a=c[((h|0)==2?a:a+-48|0)+40>>2]|0;if((c[(c[g+16>>2]|0)+288>>2]|0)<(c[(c[a+16>>2]|0)+288>>2]|0)){XK(g,f>>>1);break}else{XK(a,(f|0)/-2|0);break}}while(0);b=b+1|0}PK();return}function WK(){var b=0,d=0,e=0,f=0,g=0;c[47322]=2147483647;c[47323]=-2147483647;b=c[(c[(c[47324]|0)+16>>2]|0)+192>>2]|0;e=b;d=2147483647;f=-2147483647;while(1){if(!e)break;e=c[e+16>>2]|0;if(!(a[e+156>>0]|0)){g=c[e+232>>2]|0;d=(d|0)<(g|0)?d:g;c[47322]=d;f=(f|0)>(g|0)?f:g;c[47323]=f}e=c[e+164>>2]|0}if(d|0){while(1){if(!b)break;g=c[b+16>>2]|0;e=g+232|0;c[e>>2]=(c[e>>2]|0)-d;b=c[g+164>>2]|0}c[47323]=f-d;c[47322]=0}return}function XK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;a=c[f>>2]|0;e=a+232|0;c[e>>2]=(c[e>>2]|0)-b;e=0;while(1){d=c[(c[a+272>>2]|0)+(e<<2)>>2]|0;if(!d){e=0;break}if((d|0)!=(c[a+280>>2]|0)){XK(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,b);a=c[f>>2]|0}e=e+1|0}while(1){d=c[(c[a+264>>2]|0)+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(c[a+280>>2]|0)){XK(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,b);a=c[f>>2]|0}e=e+1|0}return}function YK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=(e|0)==0&1;h=0-d|0;f=c[(c[b+16>>2]|0)+288>>2]|0;b=a;while(1){a=c[b+16>>2]|0;if((c[a+284>>2]|0)<=(f|0)?(f|0)<=(c[a+288>>2]|0):0)break;a=c[a+280>>2]|0;i=a+48|0;j=(c[a+16>>2]|0)+160|0;c[j>>2]=(((b|0)==(c[((c[a>>2]&3|0)==3?a:i)+40>>2]|0)?e:g)|0?d:h)+(c[j>>2]|0);j=c[a>>2]&3;i=c[((j|0)==3?a:i)+40>>2]|0;a=c[((j|0)==2?a:a+-48|0)+40>>2]|0;b=(c[(c[i+16>>2]|0)+288>>2]|0)>(c[(c[a+16>>2]|0)+288>>2]|0)?i:a}return b|0}function ZK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+16|0;h=(c[e>>2]|0)+164|0;c[(c[b+16>>2]|0)+164>>2]=c[h>>2];c[(c[47326]|0)+(c[h>>2]<<2)>>2]=b;c[(c[e>>2]|0)+164>>2]=-1;e=(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16|0;h=c[e>>2]|0;d=h+276|0;f=c[d>>2]|0;g=f+-1|0;c[d>>2]=g;h=c[h+272>>2]|0;d=0;while(1){i=h+(d<<2)|0;if((d|0)>=(f|0))break;if((c[i>>2]|0)==(a|0))break;else d=d+1|0}c[i>>2]=c[h+(g<<2)>>2];c[(c[(c[e>>2]|0)+272>>2]|0)+(g<<2)>>2]=0;e=(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16|0;h=c[e>>2]|0;d=h+268|0;f=c[d>>2]|0;g=f+-1|0;c[d>>2]=g;h=c[h+264>>2]|0;d=0;while(1){i=h+(d<<2)|0;if((d|0)>=(f|0))break;if((c[i>>2]|0)==(a|0))break;else d=d+1|0}c[i>>2]=c[h+(g<<2)>>2];c[(c[(c[e>>2]|0)+264>>2]|0)+(g<<2)>>2]=0;a=(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)+16|0;i=c[a>>2]|0;h=c[i+272>>2]|0;i=i+276|0;g=c[i>>2]|0;c[i>>2]=g+1;c[h+(g<<2)>>2]=b;a=c[a>>2]|0;c[(c[a+272>>2]|0)+(c[a+276>>2]<<2)>>2]=0;a=(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)+16|0;g=c[a>>2]|0;h=c[g+264>>2]|0;g=g+268|0;i=c[g>>2]|0;c[g>>2]=i+1;c[h+(i<<2)>>2]=b;b=c[a>>2]|0;c[(c[b+264>>2]|0)+(c[b+268>>2]<<2)>>2]=0;return}function _K(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;c[a+280>>2]=b;c[a+284>>2]=d;f=0;while(1){e=c[(c[a+272>>2]|0)+(f<<2)>>2]|0;if(!e){f=0;break}if((e|0)!=(b|0)){d=_K(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,e,d)|0;a=c[g>>2]|0}f=f+1|0}while(1){e=c[(c[a+264>>2]|0)+(f<<2)>>2]|0;if(!e)break;if((e|0)!=(b|0)){d=_K(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,e,d)|0;a=c[g>>2]|0}f=f+1|0}c[a+288>>2]=d;return d+1|0}function $K(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+16|0;b=0;while(1){a=c[l>>2]|0;i=c[(c[a+180>>2]|0)+(b<<2)>>2]|0;if(!i){d=0;break}j=c[i+16>>2]|0;d=c[i>>2]&3;f=c[((d|0)==2?i:i+-48|0)+40>>2]|0;g=c[f+16>>2]|0;h=c[g+288>>2]|0;if((c[j+164>>2]|0)<0){if((c[47329]|0)>(h|0)|(h|0)>(c[47330]|0)?(k=(c[g+232>>2]|0)-(c[(c[(c[((d|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[j+170>>1]|0)|0,(k|0)<(c[47328]|0)|(c[47327]|0)==0):0){c[47327]=i;c[47328]=k}}else if((h|0)<(c[a+288>>2]|0))$K(f);b=b+1|0}while(1){b=c[(c[a+264>>2]|0)+(d<<2)>>2]|0;if(!((b|0)!=0&(c[47328]|0)>0))break;b=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0)){$K(b);a=c[l>>2]|0}d=d+1|0}return}function aL(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+16|0;b=0;while(1){a=c[l>>2]|0;i=c[(c[a+172>>2]|0)+(b<<2)>>2]|0;if(!i){d=0;break}j=c[i+16>>2]|0;d=c[i>>2]&3;f=c[((d|0)==3?i:i+48|0)+40>>2]|0;g=c[f+16>>2]|0;h=c[g+288>>2]|0;if((c[j+164>>2]|0)<0){if((c[47329]|0)>(h|0)|(h|0)>(c[47330]|0)?(k=(c[(c[(c[((d|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[g+232>>2]|0)-(e[j+170>>1]|0)|0,(k|0)<(c[47328]|0)|(c[47327]|0)==0):0){c[47327]=i;c[47328]=k}}else if((h|0)<(c[a+288>>2]|0))aL(f);b=b+1|0}while(1){b=c[(c[a+272>>2]|0)+(d<<2)>>2]|0;if(!((b|0)!=0&(c[47328]|0)>0))break;b=c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0)){aL(b);a=c[l>>2]|0}d=d+1|0}return}function bL(a){a=a|0;var b=0;b=HK(16)|0;c[b>>2]=a;c[b+4>>2]=rL(a,b)|0;c[b+12>>2]=b;return b|0}function cL(a,b){a=a|0;b=b|0;var d=0,e=0;e=HK(8)|0;c[e>>2]=a;c[e+4>>2]=b;d=0;while(1){if((d|0)>=(b|0))break;c[(c[a+(d<<2)>>2]|0)+8>>2]=d;d=d+1|0}d=(b|0)/2|0;while(1){if((d|0)<=-1)break;hL(e,d);d=d+-1|0}return e|0}function dL(a){a=a|0;return c[a+4>>2]|0}function eL(a){a=a|0;var b=0,d=0,e=0,f=0;f=c[a>>2]|0;b=c[f>>2]|0;c[b+8>>2]=-1;d=a+4|0;e=(c[d>>2]|0)+-1|0;c[f>>2]=c[f+(e<<2)>>2];f=c[a>>2]|0;c[(c[f>>2]|0)+8>>2]=0;c[f+(e<<2)>>2]=b;c[d>>2]=e;hL(a,0);return b|0}function fL(a){a=a|0;return qL(c[a>>2]|0,0,0)|0}function gL(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0;b=a+16|0;if((c[(c[b>>2]|0)+164>>2]|0)>-1)Aa(102651,102632,463,102665);g=a+48|0;d=mL(c[((c[a>>2]&3|0)==3?a:g)+40>>2]|0)|0;i=a+-48|0;f=mL(c[((c[a>>2]&3|0)==2?a:i)+40>>2]|0)|0;h=c[a>>2]&3;b=(c[(c[(c[((h|0)==2?a:i)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?a:g)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[b>>2]|0)+170>>1]|0)|0;if((c[d+8>>2]|0)==-1)nL(c[d>>2]|0,0,b);else nL(c[f>>2]|0,0,0-b|0);oL(a);return pL(d,f)|0}function hL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=c[a>>2]|0;h=c[a+4>>2]|0;while(1){a=b<<1;f=a+2|0;a=a|1;g=i+(b<<2)|0;if(!((a|0)<(h|0)?(c[(c[i+(a<<2)>>2]|0)+4>>2]|0)<(c[(c[g>>2]|0)+4>>2]|0):0))a=b;if((f|0)>=(h|0))break;d=i+(f<<2)|0;e=c[d>>2]|0;if((f|0)==(b|0)?1:(c[e+4>>2]|0)>=(c[(c[i+(a<<2)>>2]|0)+4>>2]|0))break;a=c[g>>2]|0;c[g>>2]=e;c[d>>2]=a;c[(c[g>>2]|0)+8>>2]=b;c[a+8>>2]=f;b=f}return}function iL(){_K(c[(c[(c[47324]|0)+16>>2]|0)+192>>2]|0,0,1)|0;jL(c[(c[(c[47324]|0)+16>>2]|0)+192>>2]|0,0);return}function jL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;d=0;while(1){a=c[f>>2]|0;e=c[(c[a+272>>2]|0)+(d<<2)>>2]|0;if(!e){e=0;break}if((e|0)!=(b|0))jL(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,e);d=d+1|0}while(1){d=c[(c[a+264>>2]|0)+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(b|0)){jL(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,d);a=c[f>>2]|0}e=e+1|0}if(b|0)kL(b);return}function kL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>>2]|0;e=c[d+16>>2]|0;if((c[e+280>>2]|0)==(a|0))i=1;else{e=c[((b|0)==2?a:a+-48|0)+40>>2]|0;i=-1;d=e;e=c[e+16>>2]|0}g=c[e+180>>2]|0;b=0;f=0;while(1){h=c[g+(f<<2)>>2]|0;if(!h)break;b=(lL(h,d,i)|0)+b|0;f=f+1|0}g=c[e+172>>2]|0;e=0;while(1){f=c[g+(e<<2)>>2]|0;if(!f)break;b=(lL(f,d,i)|0)+b|0;e=e+1|0}c[(c[a+16>>2]|0)+160>>2]=b;return}function lL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;f=c[((h|0)==3?a:a+48|0)+40>>2]|0;e=(f|0)==(b|0);h=((h|0)==2?a:a+-48|0)+40|0;if(e)f=c[h>>2]|0;g=c[b+16>>2]|0;i=c[(c[f+16>>2]|0)+288>>2]|0;f=c[a+16>>2]|0;a=c[f+156>>2]|0;if((c[g+284>>2]|0)<=(i|0)?(i|0)<=(c[g+288>>2]|0):0){if((c[f+164>>2]|0)>-1)f=c[f+160>>2]|0;else f=0;g=0;f=f-a|0}else{g=1;f=a}if((d|0)>0)e=(c[h>>2]|0)==(b|0);i=e?1:-1;return ((((g|0)==0?i:0-i|0)|0)<0?0-f|0:f)|0}function mL(a){a=a|0;var b=0,d=0;a=c[(c[a+16>>2]|0)+280>>2]|0;while(1){b=a+12|0;d=c[b>>2]|0;if(!((d|0)!=(a|0)&(d|0)!=0))break;a=c[d+12>>2]|0;if(!a){a=d;continue}c[b>>2]=a}return a|0}function nL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=a+16|0;e=c[h>>2]|0;g=e+232|0;c[g>>2]=(c[g>>2]|0)+d;g=0;while(1){f=c[(c[e+264>>2]|0)+(g<<2)>>2]|0;if(!f){g=0;break}f=c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0;if((f|0)!=(b|0)){nL(f,a,d);e=c[h>>2]|0}g=g+1|0}while(1){f=c[(c[e+272>>2]|0)+(g<<2)>>2]|0;if(!f)break;f=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((f|0)!=(b|0)){nL(f,a,d);e=c[h>>2]|0}g=g+1|0}return}function oL(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;d=(c[b+16>>2]|0)+164|0;if((c[d>>2]|0)>-1){dA(1,102754,h)|0;Ca(189124,1)}g=c[47325]|0;c[d>>2]=g;d=c[47326]|0;c[47325]=g+1;c[d+(g<<2)>>2]=b;d=c[b>>2]|0;g=b+48|0;e=c[((d&3|0)==3?b:g)+40>>2]|0;if(!(a[(c[e+16>>2]|0)+157>>0]|0)){f=c[47332]|0;d=c[47333]|0;c[47333]=d+1;c[f+(d<<2)>>2]=e;d=c[b>>2]|0}f=b+-48|0;e=c[((d&3|0)==2?b:f)+40>>2]|0;if(!(a[(c[e+16>>2]|0)+157>>0]|0)){i=c[47332]|0;d=c[47333]|0;c[47333]=d+1;c[i+(d<<2)>>2]=e;d=c[b>>2]|0}i=(c[((d&3|0)==3?b:g)+40>>2]|0)+16|0;d=c[i>>2]|0;a[d+157>>0]=1;e=c[d+272>>2]|0;d=d+276|0;g=c[d>>2]|0;c[d>>2]=g+1;c[e+(g<<2)>>2]=b;g=c[i>>2]|0;c[(c[g+272>>2]|0)+(c[g+276>>2]<<2)>>2]=0;i=c[i>>2]|0;if(!(c[(c[i+180>>2]|0)+((c[i+276>>2]|0)+-1<<2)>>2]|0)){dA(1,102788,h+8|0)|0;Ca(189124,1)}i=(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)+16|0;e=c[i>>2]|0;a[e+157>>0]=1;f=c[e+264>>2]|0;e=e+268|0;g=c[e>>2]|0;c[e>>2]=g+1;c[f+(g<<2)>>2]=b;b=c[i>>2]|0;c[(c[b+264>>2]|0)+(c[b+268>>2]<<2)>>2]=0;i=c[i>>2]|0;if(!(c[(c[i+172>>2]|0)+((c[i+268>>2]|0)+-1<<2)>>2]|0)){dA(1,102823,h+16|0)|0;Ca(189124,1)}else{l=h;return}}function pL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;while(1){i=a+12|0;d=c[i>>2]|0;if((d|0)==0|(d|0)==(a|0))break;else a=d}while(1){h=b+12|0;d=c[h>>2]|0;if((d|0)==0|(d|0)==(b|0))break;else b=d}if((a|0)!=(b|0)){d=c[a+8>>2]|0;e=c[b+8>>2]|0;if((e&d|0)<=-1)Aa(102677,102632,327,102724);f=c[a+4>>2]|0;g=c[b+4>>2]|0;if((e|0)!=-1){d=(d|0)==-1?b:(g|0)<(f|0)?a:b;a=d;d=c[d+8>>2]|0}c[h>>2]=a;c[i>>2]=a;c[a+4>>2]=g+f;if((d|0)>-1)j=a;else Aa(102735,102632,335,102724)}else j=a;return j|0}function qL(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=mL(a)|0;if(d){k=c[d>>2]&3;if(((c[(c[(c[((k|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((k|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)!=(e[(c[d+16>>2]|0)+170>>1]|0|0))f=3}else{d=0;f=3}a:do if((f|0)==3){k=a+16|0;j=0;while(1){f=c[k>>2]|0;i=c[(c[f+180>>2]|0)+(j<<2)>>2]|0;if(!i){j=0;break}f=i+16|0;g=i+-48|0;h=c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0;do if((c[(c[f>>2]|0)+164>>2]|0)>-1){if((h|0)!=(b|0))d=qL(h,a,d)|0}else if((mL(h)|0)!=(l|0)){if(d|0?(m=c[i>>2]&3,h=c[d>>2]&3,((c[(c[(c[((m|0)==2?i:g)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((m|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[f>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((h|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0)):0)break;d=i}while(0);j=j+1|0}while(1){f=c[(c[f+172>>2]|0)+(j<<2)>>2]|0;if(!f)break a;g=f+16|0;h=f+48|0;i=c[((c[f>>2]&3|0)==3?f:h)+40>>2]|0;do if((c[(c[g>>2]|0)+164>>2]|0)>-1){if((i|0)!=(b|0))d=qL(i,a,d)|0}else if((mL(i)|0)!=(l|0)){if(d|0?(i=c[f>>2]&3,m=c[d>>2]&3,((c[(c[(c[((i|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((i|0)==3?f:h)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[g>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((m|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((m|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0)):0)break;d=f}while(0);j=j+1|0;f=c[k>>2]|0}}while(0);return d|0}function rL(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=a+16|0;d=c[l>>2]|0;c[d+280>>2]=b;a=1;h=0;while(1){g=c[(c[d+172>>2]|0)+(h<<2)>>2]|0;if(!g){h=0;break}f=c[g+16>>2]|0;if(((c[f+164>>2]|0)<=-1?(i=c[g>>2]&3,j=g+48|0,k=c[(c[((i|0)==3?g:j)+40>>2]|0)+16>>2]|0,(c[k+280>>2]|0)==0):0)?((c[(c[(c[((i|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[k+232>>2]|0)|0)==(e[f+170>>1]|0|0):0){oL(g);a=(rL(c[((c[g>>2]&3|0)==3?g:j)+40>>2]|0,b)|0)+a|0;d=c[l>>2]|0}h=h+1|0}while(1){f=c[(c[d+180>>2]|0)+(h<<2)>>2]|0;if(!f)break;g=c[f+16>>2]|0;if(((c[g+164>>2]|0)<=-1?(m=c[f>>2]&3,n=f+-48|0,o=c[(c[((m|0)==2?f:n)+40>>2]|0)+16>>2]|0,(c[o+280>>2]|0)==0):0)?((c[o+232>>2]|0)-(c[(c[(c[((m|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)==(e[g+170>>1]|0|0):0){oL(f);a=(rL(c[((c[f>>2]&3|0)==2?f:n)+40>>2]|0,b)|0)+a|0;d=c[l>>2]|0}h=h+1|0}return a|0}function sL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=NA(a,102887)|0;if(!d)d=30;else d=d6(d)|0;return LK(a,b,c,d)|0}function tL(a){a=+a;return +((c[47187]|0)==0?a:+h[23322]-a)}function uL(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0;s=l;l=l+16|0;r=s;c[47334]=c[(c[(c[d+64>>2]|0)+8>>2]|0)+4>>2];vL(d);i=c[d+16>>2]|0;u=+h[i+32>>3];t=+h[i+40>>3];wL(e,102898,+h[b+352>>3]);wL(e,102905,u/72.0);wL(e,102905,t/72.0);xL(e);i=gC(d)|0;while(1){if(!i)break;g=i+16|0;if(!(a[(c[g>>2]|0)+118>>0]|0)){yL(e,102907,ZD(HB(i)|0)|0);q=(c[g>>2]|0)+16|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];zL(e,r);if(!(a[(c[(c[g>>2]|0)+104>>2]|0)+82>>0]|0)){b=uC(i)|0;b=AL(b,c[c[(c[g>>2]|0)+104>>2]>>2]|0)|0}else b=ZD(OA(i,c[47216]|0)|0)|0;wL(e,102905,+h[(c[g>>2]|0)+32>>3]);wL(e,102905,+h[(c[g>>2]|0)+40>>3]);yL(e,102905,b);yL(e,102905,$O(i,c[47219]|0,111368)|0);yL(e,102905,c[c[(c[g>>2]|0)+8>>2]>>2]|0);yL(e,102905,$O(i,c[47202]|0,137615)|0);b=$O(i,c[47203]|0,195341)|0;if(!(a[b>>0]|0))b=$O(i,c[47202]|0,135101)|0;yL(e,102905,b);xL(e)}i=hC(d,i)|0}o=f<<24>>24==0;n=gC(d)|0;while(1){if(!n)break;m=UA(d,n)|0;while(1){if(!m)break;if(o){f=195341;j=195341}else{j=NA(m,111756)|0;f=NA(m,111765)|0;f=f|0?f:195341;j=j|0?j:195341}p=m+16|0;b=c[p>>2]|0;k=c[b+8>>2]|0;q=m+48|0;a:do if(k){i=c[k+4>>2]|0;b=0;g=0;while(1){if((b|0)>=(i|0))break;v=(c[(c[k>>2]|0)+(b*48|0)+4>>2]|0)+g|0;b=b+1|0;g=v}yL(e,0,111751);BL(e,c[((c[m>>2]&3|0)==3?m:q)+40>>2]|0,j);BL(e,c[((c[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0,f);CL(e,g);f=0;while(1){b=c[p>>2]|0;g=c[b+8>>2]|0;if((f|0)>=(c[g+4>>2]|0))break a;i=c[g>>2]|0;g=c[i+(f*48|0)>>2]|0;i=c[i+(f*48|0)+4>>2]|0;b=0;while(1){if((b|0)>=(i|0))break;v=g+(b<<4)|0;c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];zL(e,r);b=b+1|0}f=f+1|0}}while(0);if(c[b+96>>2]|0){v=uC(c[((c[m>>2]&3|0)==3?m:q)+40>>2]|0)|0;yL(e,102905,AL(v,c[c[(c[p>>2]|0)+96>>2]>>2]|0)|0);v=(c[(c[p>>2]|0)+96>>2]|0)+56|0;c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];zL(e,r)}yL(e,102905,$O(m,c[47254]|0,111368)|0);yL(e,102905,$O(m,c[47238]|0,137615)|0);xL(e);m=WA(d,m)|0}n=hC(d,n)|0}DL(102913,e);l=s;return}function vL(a){a=a|0;var b=0.0;if(c[47187]|0){a=c[a+16>>2]|0;b=+h[a+40>>3]+ +h[a+24>>3];h[23322]=b;h[23323]=b/72.0}return}function wL(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0;f=l;l=l+1040|0;e=f;d=f+8|0;if(b|0)DL(b,a);h[e>>3]=c;i2(d,102919,e)|0;DL(d,a);l=f;return}function xL(b){b=b|0;a[195237]=10;vb[c[47334]&127](b,195237)|0;return}function yL(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)DL(b,a);DL(c,a);return}function zL(a,b){a=a|0;b=b|0;var d=0.0;wL(a,102905,+h[b>>3]/72.0);d=+h[b+8>>3];wL(a,102905,((c[47187]|0)==0?d:+h[23322]-d)/72.0);return}function AL(a,b){a=a|0;b=b|0;var c=0;c=dD(a,b)|0;b=ZD(c)|0;fD(a,c)|0;return b|0}function BL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!(a[(c[d+16>>2]|0)+118>>0]|0))d=ZD(HB(d)|0)|0;else{f=uC(d)|0;d=AL(f,(F3(HB(d)|0,58)|0)+1|0)|0}yL(b,102905,d);if(e|0?a[e>>0]|0:0)yL(b,108285,ZD(e)|0);return}function CL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+1040|0;f=d;e=d+8|0;DL(102905,a);c[f>>2]=b;i2(e,137696,f)|0;DL(e,a);l=d;return}function DL(a,b){a=a|0;b=b|0;vb[c[47334]&127](b,a)|0;return}function EL(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0.0,Z=0;X=l;l=l+2288|0;V=X+208|0;U=X+192|0;T=X+176|0;S=X+160|0;R=X+144|0;Q=X+128|0;O=X+112|0;N=X+96|0;M=X+80|0;L=X+64|0;K=X+56|0;H=X+48|0;W=X+32|0;P=X+24|0;G=X;D=X+1264|0;E=X+224|0;F=d+16|0;B=(e[(c[F>>2]|0)+178>>1]|0)>2;PJ(1);vL(d);hA(E,1024,X+240|0);YP(d,1,102924,195341)|0;YP(d,1,102928,195341)|0;c[47200]=YP(d,1,141419,195341)|0;c[47199]=YP(d,1,141351,195341)|0;YP(d,2,102924,195341)|0;i=a[(c[F>>2]|0)+113>>0]|0;if(i&16){YP(d,1,102934,195341)|0;i=a[(c[F>>2]|0)+113>>0]|0}if(i&1){YP(d,2,102938,195341)|0;i=a[(c[F>>2]|0)+113>>0]|0}if(i&32){YP(d,2,102934,195341)|0;i=a[(c[F>>2]|0)+113>>0]|0}if(i&2){YP(d,2,102941,195341)|0;i=a[(c[F>>2]|0)+113>>0]|0}if(i&4){YP(d,2,102949,195341)|0;i=a[(c[F>>2]|0)+113>>0]|0}if(!(i&8)){u=0;v=0;w=0}else{w=YP(d,0,102938,195341)|0;v=YP(d,0,102957,195341)|0;u=YP(d,0,102964,195341)|0}y=YP(d,0,102972,195341)|0;z=E+4|0;A=E+8|0;t=0;i=0;x=gC(d)|0;while(1){if(!x)break;s=x+16|0;j=c[s>>2]|0;n=+h[j+16>>3];o=+h[j+24>>3];o=(c[47187]|0)==0?o:+h[23322]-o;if(B){Y=+h[(c[j+132>>2]|0)+16>>3]*72.0;h[G>>3]=n;h[G+8>>3]=o;h[G+16>>3]=Y;i2(D,102975,G)|0;kA(E,D)|0;j=3;while(1){if((j|0)>=(e[(c[F>>2]|0)+178>>1]|0))break;h[P>>3]=+h[(c[(c[s>>2]|0)+132>>2]|0)+(j<<3)>>3]*72.0;i2(D,102990,P)|0;kA(E,D)|0;j=j+1|0}j=c[z>>2]|0;if(j>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;j=c[z>>2]|0}a[j>>0]=0;r=c[E>>2]|0;c[z>>2]=r;PA(x,102924,r)|0;r=x}else{h[W>>3]=n;h[W+8>>3]=o;i2(D,102996,W)|0;PA(x,102924,D)|0;r=x}h[H>>3]=+h[(c[s>>2]|0)+80>>3]/72.0;i2(D,102919,H)|0;HA(r,c[47199]|0,D)|0;j=c[s>>2]|0;h[K>>3]=(+h[j+88>>3]+ +h[j+96>>3])/72.0;i2(D,102919,K)|0;HA(r,c[47200]|0,D)|0;j=c[s>>2]|0;k=c[j+108>>2]|0;if((k|0)!=0?(a[k+81>>0]|0)!=0:0){Y=+h[k+64>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[L>>3]=+h[k+56>>3];h[L+8>>3]=Y;i2(D,102996,L)|0;PA(r,102934,D)|0;j=c[s>>2]|0}if(f2(c[c[j+8>>2]>>2]|0,106521)|0){if(c[47232]|0?(fN(x)|0)<<24>>24:0){k=c[(c[s>>2]|0)+12>>2]|0;q=k+8|0;j=c[q>>2]|0;if((j|0)<3){j=NA(r,103006)|0;if(!j)j=8;else j=d6(j)|0;j=(j|0)<3?8:j}p=k+44|0;n=+(j|0);m=0;while(1){if((m|0)>=(j|0))break;if((m|0)>0){k=c[z>>2]|0;if(k>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;k=c[z>>2]|0}c[z>>2]=k+1;a[k>>0]=32}k=(c[47187]|0)!=0;if((c[q>>2]|0)>2){Z=c[p>>2]|0;Y=+h[Z+(m<<4)+8>>3]/72.0;Y=k?+h[23323]-Y:Y;h[M>>3]=+h[Z+(m<<4)>>3]/72.0;h[M+8>>3]=Y;i2(D,103019,M)|0}else{Z=c[s>>2]|0;Y=+(m|0)/n*3.141592653589793*2.0;o=+h[Z+32>>3]*.5*+I(+Y);Y=+h[Z+40>>3]*.5*+J(+Y);Y=k?+h[23323]-Y:Y;h[N>>3]=o;h[N+8>>3]=Y;i2(D,103019,N)|0}kA(E,D)|0;m=m+1|0}k=c[47232]|0;j=c[z>>2]|0;if(j>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;j=c[z>>2]|0}a[j>>0]=0;Z=c[E>>2]|0;c[z>>2]=Z;HA(r,k,Z)|0}}else{FL(x,c[j+12>>2]|0,E);mA(E)|0;j=c[z>>2]|0;if(j>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;j=c[z>>2]|0}a[j>>0]=0;Z=c[E>>2]|0;c[z>>2]=Z;PA(r,102928,Z)|0}a:do if((c[47185]|0)>0){s=UA(d,x)|0;j=t;while(1){if(!s)break a;r=s+16|0;k=c[r>>2]|0;do if((a[k+112>>0]|0)!=6?(C=c[k+8>>2]|0,(C|0)!=0):0){q=0;k=C;while(1){if((q|0)>=(c[k+4>>2]|0))break;if((q|0)>0){k=c[z>>2]|0;if(k>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;k=c[z>>2]|0}c[z>>2]=k+1;a[k>>0]=59;k=c[(c[r>>2]|0)+8>>2]|0}k=c[k>>2]|0;if(c[k+(q*48|0)+8>>2]|0){Y=+h[k+(q*48|0)+24>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[O>>3]=+h[k+(q*48|0)+16>>3];h[O+8>>3]=Y;i2(D,103029,O)|0;kA(E,D)|0;i=1;k=c[c[(c[r>>2]|0)+8>>2]>>2]|0}if(c[k+(q*48|0)+12>>2]|0){Y=+h[k+(q*48|0)+40>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[Q>>3]=+h[k+(q*48|0)+32>>3];h[Q+8>>3]=Y;i2(D,103042,Q)|0;kA(E,D)|0;j=1}p=0;while(1){k=c[(c[r>>2]|0)+8>>2]|0;m=c[k>>2]|0;if((p|0)>=(c[m+(q*48|0)+4>>2]|0))break;if((p|0)>0){k=c[z>>2]|0;if(k>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;k=c[z>>2]|0}c[z>>2]=k+1;a[k>>0]=32;k=c[c[(c[r>>2]|0)+8>>2]>>2]|0}else k=m;Z=c[k+(q*48|0)>>2]|0;Y=+h[Z+(p<<4)+8>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[R>>3]=+h[Z+(p<<4)>>3];h[R+8>>3]=Y;i2(D,102996,R)|0;kA(E,D)|0;p=p+1|0}q=q+1|0}k=c[z>>2]|0;if(k>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;k=c[z>>2]|0}a[k>>0]=0;k=c[E>>2]|0;c[z>>2]=k;PA(s,102924,k)|0;k=c[r>>2]|0;m=c[k+96>>2]|0;if(m){Y=+h[m+64>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[S>>3]=+h[m+56>>3];h[S+8>>3]=Y;i2(D,102996,S)|0;PA(s,102938,D)|0;k=c[r>>2]|0}m=c[k+108>>2]|0;do if(m){if(!(a[m+81>>0]|0))break;Y=+h[m+64>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[T>>3]=+h[m+56>>3];h[T+8>>3]=Y;i2(D,102996,T)|0;PA(s,102934,D)|0;k=c[r>>2]|0}while(0);m=c[k+100>>2]|0;if(m){Y=+h[m+64>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[U>>3]=+h[m+56>>3];h[U+8>>3]=Y;i2(D,102996,U)|0;PA(s,102941,D)|0;k=c[r>>2]|0}k=c[k+104>>2]|0;if(!k)break;Y=+h[k+64>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[V>>3]=+h[k+56>>3];h[V+8>>3]=Y;i2(D,102996,V)|0;PA(s,102949,D)|0}while(0);s=WA(d,s)|0}}else j=t;while(0);t=j;x=hC(d,x)|0}GL(d,y,w,v,u);lA(E);if(b[(c[F>>2]|0)+136>>1]&1)SP(d);c[f>>2]=i;c[g>>2]=t;PJ(0);l=X;return}function FL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0;i=l;l=l+1056|0;f=i;e=i+32|0;g=b+48|0;if(!(c[g>>2]|0)){q=c[a+16>>2]|0;p=+h[q+16>>3];m=(c[47187]|0)!=0;j=+h[q+24>>3];o=j+ +h[b+24>>3];k=+h[23322];n=p+ +h[b+32>>3];j=j+ +h[b+40>>3];h[f>>3]=+h[b+16>>3]+p;h[f+8>>3]=m?k-o:o;h[f+16>>3]=n;h[f+24>>3]=m?k-j:j;i2(e,103080,f)|0;kA(d,e)|0}e=b+56|0;b=0;while(1){if((b|0)>=(c[g>>2]|0))break;FL(a,c[(c[e>>2]|0)+(b<<2)>>2]|0,d);b=b+1|0}l=i;return}function GL(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0;p=l;l=l+1088|0;k=p+56|0;n=p+48|0;m=p+32|0;i=p;j=p+64|0;o=b+16|0;v=c[o>>2]|0;s=(c[47187]|0)!=0;u=+h[v+24>>3];r=+h[23322];t=+h[v+32>>3];q=+h[v+40>>3];h[i>>3]=+h[v+16>>3];h[i+8>>3]=s?r-u:u;h[i+16>>3]=t;h[i+24>>3]=s?r-q:q;i2(j,103055,i)|0;HA(b,d,j)|0;i=c[(c[o>>2]|0)+12>>2]|0;if((i|0)!=0?(a[c[i>>2]>>0]|0)!=0:0){u=+h[i+64>>3];u=(c[47187]|0)==0?u:+h[23322]-u;h[m>>3]=+h[i+56>>3];h[m+8>>3]=u;i2(j,102996,m)|0;HA(b,e,j)|0;v=c[(c[o>>2]|0)+12>>2]|0;u=+h[v+32>>3];h[n>>3]=+h[v+24>>3]/72.0;i2(j,103075,n)|0;HA(b,f,j)|0;h[k>>3]=u/72.0;i2(j,103075,k)|0;HA(b,g,j)|0;b=1}else b=1;while(1){i=c[o>>2]|0;if((b|0)>(c[i+180>>2]|0))break;GL(c[(c[i+184>>2]|0)+(b<<2)>>2]|0,d,e,f,g);b=b+1|0}l=p;return}function HL(a){a=a|0;var b=0;b=l;l=l+16|0;EL(a,b,b+4|0);l=b;return}function IL(){return Sz(20788,c[4591]|0)|0}function JL(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function KL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if((a|0)<=(e|0))if((a|0)<(e|0))a=-1;else{b=c[b+4>>2]|0;d=c[d+4>>2]|0;return ((b|0)>(d|0)?1:((b|0)<(d|0))<<31>>31)|0}else a=1;return a|0}function LL(a){a=a|0;Oz(a)|0;return}function ML(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];b=NL(e)|0;if((eb[c[a>>2]&63](a,b,1)|0)!=(b|0))l6(b);l=d;return}function NL(a){a=a|0;var b=0,d=0,e=0;b=HK(16)|0;e=a;d=c[e+4>>2]|0;a=b+8|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return b|0}function OL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[g>>2]=b;c[g+4>>2]=d;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];b=NL(f)|0;if((eb[c[a>>2]&63](a,b,1)|0)!=(b|0))l6(b);l=e;return}function PL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;e=d;g=b;f=c[g+4>>2]|0;b=e+8|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;b=(eb[c[a>>2]&63](a,e,4)|0)!=0&1;l=d;return b|0}function QL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f+8>>2]=b;c[f+12>>2]=d;d=(eb[c[a>>2]&63](a,f,4)|0)!=0&1;l=e;return d|0}function RL(a){a=a|0;return Uz(a)|0}function SL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=HK((Uz(a)|0)<<3)|0;b=d;a=Qz(a)|0;while(1){if(!a)break;g=a+8|0;f=c[g+4>>2]|0;e=b;c[e>>2]=c[g>>2];c[e+4>>2]=f;b=b+8|0;a=c[a>>2]|0}return d|0}function TL(){var a=0,b=0,d=0,e=0;a=IK(40)|0;b=a;d=20824;e=b+36|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));c[a+36>>2]=0;return Sz(a,c[4591]|0)|0}function UL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d+36|0;a=c[d>>2]|0;if(!a)a=IK(20)|0;else c[d>>2]=c[a>>2];f=b+8|0;e=c[f+4>>2]|0;d=a+8|0;c[d>>2]=c[f>>2];c[d+4>>2]=e;c[a+16>>2]=c[b+16>>2];return a|0}function VL(a,b,d){a=a|0;b=b|0;d=d|0;d=d+36|0;c[b>>2]=c[d>>2];c[d>>2]=b;return}function WL(a){a=a|0;eb[c[a>>2]&63](a,0,64)|0;return}function XL(a){a=a|0;var b=0,d=0;b=c[a+4>>2]|0;Oz(a)|0;a=c[b+36>>2]|0;while(1){if(!a)break;d=c[a>>2]|0;l6(a);a=d}l6(b);return}function YL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+32|0;g=f;c[g+8>>2]=b;c[g+12>>2]=d;c[g+16>>2]=e;e=c[(eb[c[a>>2]&63](a,g,1)|0)+16>>2]|0;l=f;return e|0}function ZL(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+160|0;q=t+144|0;d=t+64|0;j=t+128|0;k=t+112|0;m=t+96|0;n=t+48|0;o=t+32|0;p=t+16|0;r=t;s=a+16|0;a=c[s>>2]|0;e=+h[a+16>>3];f=+h[a+24>>3];g=+h[a+32>>3];i=+h[a+40>>3];a=d+16|0;if((b+-1|0)>>>0<2){_L(j,e,i);c[q>>2]=c[j>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[q+12>>2]=c[j+12>>2];$L(d,q);_L(k,g,f);c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];$L(m,q);c[a>>2]=c[m>>2];c[a+4>>2]=c[m+4>>2];c[a+8>>2]=c[m+8>>2];c[a+12>>2]=c[m+12>>2]}else{_L(n,e,f);c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];$L(d,q);_L(o,g,i);c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];$L(p,q);c[a>>2]=c[p>>2];c[a+4>>2]=c[p+4>>2];c[a+8>>2]=c[p+8>>2];c[a+12>>2]=c[p+12>>2]}a=(c[s>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];a=c[(c[s>>2]|0)+12>>2]|0;if(!a)a=1;else{a=a+56|0;c[q>>2]=c[a>>2];c[q+4>>2]=c[a+4>>2];c[q+8>>2]=c[a+8>>2];c[q+12>>2]=c[a+12>>2];$L(r,q);c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];a=1}while(1){d=c[s>>2]|0;if((a|0)>(c[d+180>>2]|0))break;ZL(c[(c[d+184>>2]|0)+(a<<2)>>2]|0,b);a=a+1|0}l=t;return}function _L(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function $L(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+32|0;g=d+16|0;e=d;f=(c[47335]|0)*90|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];kK(e,g,f);c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];h[b>>3]=+h[b>>3]-+h[23324];e=b+8|0;h[e>>3]=+h[e>>3]-+h[23325];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];l=d;return}function aM(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;A=l;l=l+1168|0;x=A+144|0;z=A+96|0;y=A+64|0;w=A+48|0;s=A+32|0;t=A+16|0;u=A;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;v=b+16|0;q=c[(c[v>>2]|0)+116>>2]|0;c[47335]=q&3;q=q&1;a[195239]=q;if(!(q<<24>>24))cM(b);else bM(b);dM(b);q=c[v>>2]|0;g=c[q+12>>2]|0;do if(g|0?(a[g+81>>0]|0)==0:0){j=g+24|0;c[w>>2]=c[j>>2];c[w+4>>2]=c[j+4>>2];c[w+8>>2]=c[j+8>>2];c[w+12>>2]=c[j+12>>2];r=+h[w>>3]+16.0;h[w>>3]=r;j=w+8|0;e=+h[j>>3]+8.0;h[j>>3]=e;j=(a[q+275>>0]&1)!=0;m=q+16|0;n=q+40|0;o=q+24|0;p=q+32|0;if(a[195239]|0){if(j)h[p>>3]=e+ +h[p>>3];else h[m>>3]=+h[m>>3]-e;e=+h[n>>3];f=+h[o>>3];B=e-f;i=(r-B)*.5;if(!(r>B))break;h[o>>3]=f-i;h[n>>3]=e+i;break}k=(c[47335]|0)==0;do if(j)if(k){h[n>>3]=e+ +h[n>>3];break}else{h[o>>3]=+h[o>>3]-e;break}else if(k){h[o>>3]=+h[o>>3]-e;break}else{h[n>>3]=e+ +h[n>>3];break}while(0);e=+h[p>>3];f=+h[m>>3];B=e-f;i=(r-B)*.5;if(r>B){h[m>>3]=f-i;h[p>>3]=e+i}}while(0);if(d){switch(c[47335]|0){case 0:{u=q+16|0;c[46648]=c[u>>2];c[46649]=c[u+4>>2];c[46650]=c[u+8>>2];c[46651]=c[u+12>>2];break}case 1:{_L(s,-+h[q+40>>3],+h[q+16>>3]);c[46648]=c[s>>2];c[46649]=c[s+4>>2];c[46650]=c[s+8>>2];c[46651]=c[s+12>>2];break}case 2:{_L(t,+h[q+16>>3],-+h[q+40>>3]);c[46648]=c[t>>2];c[46649]=c[t+4>>2];c[46650]=c[t+8>>2];c[46651]=c[t+12>>2];break}case 3:{_L(u,+h[q+24>>3],+h[q+16>>3]);c[46648]=c[u>>2];c[46649]=c[u+4>>2];c[46650]=c[u+8>>2];c[46651]=c[u+12>>2];break}default:{}}eM(b);g=c[(c[v>>2]|0)+12>>2]|0}if(g|0?(a[g+81>>0]|0)==0:0){c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];fM(b,x)}if(c[47181]|0){e=+h[23324];f=+h[23325];if(!(a[195239]|0)){h[z>>3]=f;h[z+8>>3]=e;h[z+16>>3]=f;h[z+24>>3]=e;h[z+32>>3]=-e;h[z+40>>3]=-f;i2(x,103316,z)|0}else{h[y>>3]=e;h[y+8>>3]=f;h[y+16>>3]=e;h[y+24>>3]=f;i2(x,103101,y)|0}z=Y3(x)|0;c[c[47181]>>2]=z}l=A;return}function bM(b){b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0.0,k=0,l=0;l=b+16|0;if(((vC(b)|0)!=(b|0)?(i=c[l>>2]|0,k=c[i+12>>2]|0,(k|0)!=0):0)?(a[k+81>>0]|0)==0:0){b=a[i+275>>0]|0;if(!(b&1)){j=+h[i+16>>3]+ +h[i+96>>3]*.5;d=i+104|0}else{j=+h[i+32>>3]-+h[i+64>>3]*.5;d=i+72|0}g=b<<24>>24;f=+h[d>>3]*.5;b=i+24|0;do if(!(g&4)){e=+h[i+40>>3];if(!(g&2)){e=(e+ +h[b>>3])*.5;break}else{e=e-f;break}}else e=f+ +h[b>>3];while(0);h[k+56>>3]=j;h[k+64>>3]=e;a[(c[(c[l>>2]|0)+12>>2]|0)+81>>0]=1;b=1}else b=1;while(1){d=c[l>>2]|0;if((b|0)>(c[d+180>>2]|0))break;bM(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function cM(b){b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0.0,k=0,l=0;l=b+16|0;if(((vC(b)|0)!=(b|0)?(i=c[l>>2]|0,k=c[i+12>>2]|0,(k|0)!=0):0)?(a[k+81>>0]|0)==0:0){b=a[i+275>>0]|0;if(!(b&1)){j=+h[i+24>>3]+ +h[i+56>>3]*.5;d=i+48|0}else{j=+h[i+40>>3]-+h[i+88>>3]*.5;d=i+80|0}g=b<<24>>24;f=+h[d>>3]*.5;b=i+32|0;do if(!(g&4)){e=+h[i+16>>3];if(!(g&2)){e=(e+ +h[b>>3])*.5;break}else{e=f+e;break}}else e=+h[b>>3]-f;while(0);h[k+56>>3]=e;h[k+64>>3]=j;a[(c[(c[l>>2]|0)+12>>2]|0)+81>>0]=1;b=1}else b=1;while(1){d=c[l>>2]|0;if((b|0)>(c[d+180>>2]|0))break;cM(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function dM(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=l;l=l+544|0;L=S+504|0;R=S+448|0;Q=S+408|0;K=S+352|0;J=S+312|0;I=S+304|0;H=S+248|0;M=S+200|0;B=S+184|0;O=S+96|0;q=S+488|0;C=S+456|0;D=S+416|0;E=S+376|0;F=S+360|0;G=S+320|0;w=S+288|0;x=S+256|0;y=S+232|0;z=S+152|0;A=S+136|0;f=S+56|0;N=S+16|0;P=S;p=e+16|0;u=c[p>>2]|0;g=b[u+136>>1]&14;u=d[u+113>>0]|0;if(!((u&54|0)==0?(u&1|0)==0|(c[47186]|0)!=0:0)){u=g<<16>>16!=0;o=gC(e)|0;h=0;j=0;i=0;while(1){if(!o)break;g=c[(c[o+16>>2]|0)+108>>2]|0;do if(g)if(!(a[g+81>>0]|0)){i=i+1|0;break}else{h=h+1|0;break}while(0);n=UA(e,o)|0;g=j;while(1){if(!n)break;k=c[n+16>>2]|0;j=c[k+108>>2]|0;m=k+8|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(u)g=((c[m>>2]|0)!=0&1)+g|0}while(0);j=c[k+100>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(u)g=((c[m>>2]|0)!=0&1)+g|0}while(0);j=c[k+104>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(u)g=((c[m>>2]|0)!=0&1)+g|0}while(0);j=c[k+96>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(u)g=((c[m>>2]|0)!=0&1)+g|0}while(0);n=WA(e,n)|0}o=hC(e,o)|0;j=g}if(!(a[(c[p>>2]|0)+113>>0]&8))o=0;else o=hM(e)|0;t=j+i|0;if(t|0){p=h+j+o+(qB(e)|0)|0;r=HK(p*40|0)|0;s=HK(t*40|0)|0;_L(M,2147483647.0,2147483647.0);g=M+16|0;_L(q,-2147483647.0,-2147483647.0);c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];c[g+8>>2]=c[q+8>>2];c[g+12>>2]=c[q+12>>2];g=s;i=r;n=gC(e)|0;while(1){if(!n)break;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];iM(C,n,i,L);c[M>>2]=c[C>>2];c[M+4>>2]=c[C+4>>2];c[M+8>>2]=c[C+8>>2];c[M+12>>2]=c[C+12>>2];c[M+16>>2]=c[C+16>>2];c[M+20>>2]=c[C+20>>2];c[M+24>>2]=c[C+24>>2];c[M+28>>2]=c[C+28>>2];h=c[(c[n+16>>2]|0)+108>>2]|0;do if(h)if(!(a[h+81>>0]|0)){c[L>>2]=c[B>>2];c[L+4>>2]=c[B+4>>2];c[L+8>>2]=c[B+8>>2];c[L+12>>2]=c[B+12>>2];kM(h,i,g,0,L);g=g+40|0;break}else{i=i+40|0;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];jM(D,h,i,L);c[M>>2]=c[D>>2];c[M+4>>2]=c[D+4>>2];c[M+8>>2]=c[D+8>>2];c[M+12>>2]=c[D+12>>2];c[M+16>>2]=c[D+16>>2];c[M+20>>2]=c[D+20>>2];c[M+24>>2]=c[D+24>>2];c[M+28>>2]=c[D+28>>2];break}while(0);m=UA(e,n)|0;i=i+40|0;while(1){if(!m)break;k=m+16|0;h=c[k>>2]|0;j=c[h+96>>2]|0;a:do if(!j)v=52;else{do if(!(a[j+81>>0]|0)){if(u?c[h+8>>2]|0:0){tO(F,e,m);c[L>>2]=c[F>>2];c[L+4>>2]=c[F+4>>2];c[L+8>>2]=c[F+8>>2];c[L+12>>2]=c[F+12>>2];kM(j,i,g,1,L);g=g+40|0;break}c[H>>2]=c[j>>2];dA(0,104128,H)|0;break a}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];jM(E,j,i,L);c[M>>2]=c[E>>2];c[M+4>>2]=c[E+4>>2];c[M+8>>2]=c[E+8>>2];c[M+12>>2]=c[E+12>>2];c[M+16>>2]=c[E+16>>2];c[M+20>>2]=c[E+20>>2];c[M+24>>2]=c[E+24>>2];c[M+28>>2]=c[E+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0;v=52}while(0);b:do if((v|0)==52){v=0;j=c[h+104>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(u?c[h+8>>2]|0:0){lM(w,m);c[L>>2]=c[w>>2];c[L+4>>2]=c[w+4>>2];c[L+8>>2]=c[w+8>>2];c[L+12>>2]=c[w+12>>2];kM(j,i,g,1,L);g=g+40|0;break}c[I>>2]=c[j>>2];dA(0,104163,I)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];jM(G,j,i,L);c[M>>2]=c[G>>2];c[M+4>>2]=c[G+4>>2];c[M+8>>2]=c[G+8>>2];c[M+12>>2]=c[G+12>>2];c[M+16>>2]=c[G+16>>2];c[M+20>>2]=c[G+20>>2];c[M+24>>2]=c[G+24>>2];c[M+28>>2]=c[G+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0}j=c[h+100>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(u?c[h+8>>2]|0:0){mM(y,m);c[L>>2]=c[y>>2];c[L+4>>2]=c[y+4>>2];c[L+8>>2]=c[y+8>>2];c[L+12>>2]=c[y+12>>2];kM(j,i,g,1,L);g=g+40|0;break}c[J>>2]=c[j>>2];dA(0,104203,J)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];jM(x,j,i,L);c[M>>2]=c[x>>2];c[M+4>>2]=c[x+4>>2];c[M+8>>2]=c[x+8>>2];c[M+12>>2]=c[x+12>>2];c[M+16>>2]=c[x+16>>2];c[M+20>>2]=c[x+20>>2];c[M+24>>2]=c[x+24>>2];c[M+28>>2]=c[x+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0}j=c[h+108>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(u?c[h+8>>2]|0:0){tO(A,e,m);c[L>>2]=c[A>>2];c[L+4>>2]=c[A+4>>2];c[L+8>>2]=c[A+8>>2];c[L+12>>2]=c[A+12>>2];kM(j,i,g,1,L);g=g+40|0;break}c[K>>2]=c[j>>2];dA(0,104243,K)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];jM(z,j,i,L);c[M>>2]=c[z>>2];c[M+4>>2]=c[z+4>>2];c[M+8>>2]=c[z+8>>2];c[M+12>>2]=c[z+12>>2];c[M+16>>2]=c[z+16>>2];c[M+20>>2]=c[z+20>>2];c[M+24>>2]=c[z+24>>2];c[M+28>>2]=c[z+28>>2]}while(0);i=i+40|0}}while(0);m=WA(e,m)|0}n=hC(e,n)|0}if(o|0){c[f>>2]=c[M>>2];c[f+4>>2]=c[M+4>>2];c[f+8>>2]=c[M+8>>2];c[f+12>>2]=c[M+12>>2];c[f+16>>2]=c[M+16>>2];c[f+20>>2]=c[M+20>>2];c[f+24>>2]=c[M+24>>2];c[f+28>>2]=c[M+28>>2];c[f+32>>2]=i;h=L;g=h+40|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(g|0));nM(N,e,L);c[M>>2]=c[N>>2];c[M+4>>2]=c[N+4>>2];c[M+8>>2]=c[N+8>>2];c[M+12>>2]=c[N+12>>2];c[M+16>>2]=c[N+16>>2];c[M+20>>2]=c[N+20>>2];c[M+24>>2]=c[N+24>>2];c[M+28>>2]=c[N+28>>2]}a[O+32>>0]=aP(e,DA(e,0,104279,0)|0,1)|0;c[O>>2]=c[M>>2];c[O+4>>2]=c[M+4>>2];c[O+8>>2]=c[M+8>>2];c[O+12>>2]=c[M+12>>2];c[O+16>>2]=c[M+16>>2];c[O+20>>2]=c[M+20>>2];c[O+24>>2]=c[M+24>>2];c[O+28>>2]=c[M+28>>2];fT(r,p,s,t,O)|0;if(a[195234]|0)oM(r,p,s,t,O);f=0;g=0;h=s;while(1){if((g|0)>=(t|0))break;if(a[h+36>>0]|0){O=c[h+32>>2]|0;a[O+81>>0]=1;N=O+56|0;pM(P,h);c[N>>2]=c[P>>2];c[N+4>>2]=c[P+4>>2];c[N+8>>2]=c[P+8>>2];c[N+12>>2]=c[P+12>>2];xP(e,O);f=f+1|0}g=g+1|0;h=h+40|0}if(!(a[195234]|0)){if((f|0)!=(t|0)){c[R>>2]=f;c[R+4>>2]=t;dA(0,104324,R)|0}}else{R=c[15715]|0;c[Q>>2]=f;c[Q+4>>2]=t;z4(R,104291,Q)|0}l6(r);l6(s)}}l=S;return}function eM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0;i=l;l=l+48|0;e=i+32|0;f=i+16|0;g=i;if(+h[23324]!=0.0|+h[23325]!=0.0|(c[47335]|0)!=0){d=gC(a)|0;while(1){if(!d)break;if(c[47335]|0)oQ(d,0);b=d+16|0;j=(c[b>>2]|0)+16|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];$L(f,e);c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];b=c[(c[b>>2]|0)+108>>2]|0;if(b|0){j=b+56|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];$L(g,e);c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2]}a:do if((c[47185]|0)==1){b=UA(a,d)|0;while(1){if(!b)break a;gM(b);b=WA(a,b)|0}}while(0);d=hC(a,d)|0}ZL(a,c[(c[a+16>>2]|0)+116>>2]&3)}l=i;return}function fM(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0;i=b+16|0;j=c[i>>2]|0;g=a[j+275>>0]|0;b=j+32|0;do if(!(g&4)){e=+h[j+16>>3];if(!(g&2)){f=(e+ +h[b>>3])*.5;break}else{f=e+ +h[d>>3]*.5;break}}else f=+h[b>>3]-+h[d>>3]*.5;while(0);e=+h[d+8>>3]*.5;if(!(g&1))e=e+ +h[j+24>>3];else e=+h[j+40>>3]-e;j=c[j+12>>2]|0;h[j+56>>3]=f;h[j+64>>3]=e;a[(c[(c[i>>2]|0)+12>>2]|0)+81>>0]=1;return}function gM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+144|0;q=s+120|0;e=s+16|0;i=s+104|0;j=s+88|0;k=s+72|0;m=s+56|0;n=s+40|0;o=s+24|0;r=s;p=b+16|0;d=c[p>>2]|0;f=c[d+8>>2]|0;if(!f){if((a[195236]|0)==0?(a[d+112>>0]|0)!=6:0){q=HB(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;r=HB(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[e>>2]=q;c[e+4>>2]=r;dA(1,104111,e)|0}}else{h=0;b=f;while(1){if((h|0)>=(c[b+4>>2]|0))break;g=c[b>>2]|0;b=c[g+(h*48|0)>>2]|0;e=c[g+(h*48|0)+4>>2]|0;f=c[g+(h*48|0)+8>>2]|0;g=c[g+(h*48|0)+12>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;t=b+(d<<4)|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];$L(i,q);c[t>>2]=c[i>>2];c[t+4>>2]=c[i+4>>2];c[t+8>>2]=c[i+8>>2];c[t+12>>2]=c[i+12>>2];d=d+1|0}if(f|0){t=(c[c[(c[p>>2]|0)+8>>2]>>2]|0)+(h*48|0)+16|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];$L(j,q);c[t>>2]=c[j>>2];c[t+4>>2]=c[j+4>>2];c[t+8>>2]=c[j+8>>2];c[t+12>>2]=c[j+12>>2]}if(g|0){t=(c[c[(c[p>>2]|0)+8>>2]>>2]|0)+(h*48|0)+32|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];$L(k,q);c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2]}d=c[p>>2]|0;h=h+1|0;b=c[d+8>>2]|0}b=c[d+96>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];$L(m,q);c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];d=c[p>>2]|0}b=c[d+108>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];$L(n,q);c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];d=c[p>>2]|0}b=c[d+100>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];$L(o,q);c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];d=c[p>>2]|0}d=c[d+104>>2]|0;if(d|0){t=d+56|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];$L(r,q);c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2]}}l=s;return}function hM(b){b=b|0;var d=0,e=0,f=0;f=b+16|0;if((vC(b)|0)!=(b|0)?(d=c[(c[f>>2]|0)+12>>2]|0,(d|0)!=0):0){e=1;b=(a[d+81>>0]|0)!=0&1}else{e=1;b=0}while(1){d=c[f>>2]|0;if((e|0)>(c[d+180>>2]|0))break;d=(hM(c[(c[d+184>>2]|0)+(e<<2)>>2]|0)|0)+b|0;e=e+1|0;b=d}return b|0}function iM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0.0,n=0;g=l;l=l+32|0;i=g;n=(a[195239]|0)==0;d=c[d+16>>2]|0;m=+h[d+40>>3]*72.0;j=+h[d+32>>3]*72.0;k=n?j:m;j=n?m:j;h[e+16>>3]=k;h[e+24>>3]=j;d=d+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];h[e>>3]=+h[e>>3]-k*.5;d=e+8|0;h[d>>3]=+h[d>>3]-j*.5;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];qM(b,e,i);l=g;return}function jM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0.0,n=0;g=l;l=l+32|0;i=g;n=(a[195239]|0)==0;j=+h[d+24>>3];m=+h[d+32>>3];k=n?j:m;j=n?m:j;h[e+16>>3]=k;h[e+24>>3]=j;d=d+56|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];h[e>>3]=+h[e>>3]-k*.5;d=e+8|0;h[d>>3]=+h[d>>3]-j*.5;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];qM(b,e,i);l=g;return}function kM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(f|0){f=d+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2]}f=b+24|0;if(!(a[195239]|0)){c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2]}else{h[e>>3]=+h[b+32>>3];h[e+8>>3]=+h[f>>3]}c[e+32>>2]=b;a[e+36>>0]=0;c[d+32>>2]=e;return}function lM(a,b){a=a|0;b=b|0;b=sO(b)|0;do if(b){b=c[b>>2]|0;if(!(c[b+8>>2]|0)){b=c[b>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{b=b+16|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}while(0);return}function mM(a,b){a=a|0;b=b|0;var d=0;b=sO(b)|0;do if(b){d=c[b>>2]|0;b=(c[b+4>>2]|0)+-1|0;if(!(c[d+(b*48|0)+12>>2]|0)){d=(c[d+(b*48|0)>>2]|0)+((c[d+(b*48|0)+4>>2]|0)+-1<<4)|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}else{d=d+(b*48|0)+32|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}while(0);return}function nM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+112|0;k=q+72|0;n=q+32|0;o=q;p=d+16|0;j=1;while(1){f=c[p>>2]|0;if((j|0)>(c[f+180>>2]|0))break;f=c[(c[f+184>>2]|0)+(j<<2)>>2]|0;g=k;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));nM(n,f,k);g=e;h=n;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));j=j+1|0}if(((vC(d)|0)!=(d|0)?(m=c[(c[p>>2]|0)+12>>2]|0,m|0):0)?a[m+81>>0]|0:0){p=e+32|0;n=c[p>>2]|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[k+16>>2]=c[e+16>>2];c[k+20>>2]=c[e+20>>2];c[k+24>>2]=c[e+24>>2];c[k+28>>2]=c[e+28>>2];jM(o,m,n,k);c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];c[e+16>>2]=c[o+16>>2];c[e+20>>2]=c[o+20>>2];c[e+24>>2]=c[o+24>>2];c[e+28>>2]=c[o+28>>2];c[p>>2]=(c[p>>2]|0)+40}g=b;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=q;return}function oM(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+160|0;r=s+96|0;p=s+48|0;o=s;q=c[15715]|0;n=d[g+32>>0]|0;i=+h[g>>3];j=+h[g+8>>3];k=+h[g+16>>3];m=+h[g+24>>3];c[o>>2]=b;c[o+4>>2]=f;c[o+8>>2]=n;h[o+16>>3]=i;h[o+24>>3]=j;h[o+32>>3]=k;h[o+40>>3]=m;z4(q,104366,o)|0;a:do if((d[195234]|0)>=2){_3(104426,8,1,q)|0;o=0;while(1){if((o|0)>=(b|0))break;g=c[a+32>>2]|0;i=+h[a>>3];j=+h[a+8>>3];k=+h[a+16>>3];m=+h[a+24>>3];if(!g)n=195341;else n=c[c[g+32>>2]>>2]|0;c[p>>2]=o;h[p+8>>3]=i;h[p+16>>3]=j;h[p+24>>3]=k;h[p+32>>3]=m;c[p+40>>2]=g;c[p+44>>2]=n;z4(q,104435,p)|0;o=o+1|0;a=a+40|0}_3(104478,8,1,q)|0;g=0;while(1){if((g|0)>=(f|0))break a;b=d[e+36>>0]|0;i=+h[e+16>>3];j=+h[e+24>>3];k=+h[e>>3];m=+h[e+8>>3];p=c[c[e+32>>2]>>2]|0;c[r>>2]=g;c[r+4>>2]=e;c[r+8>>2]=b;h[r+16>>3]=i;h[r+24>>3]=j;h[r+32>>3]=k;h[r+40>>3]=m;c[r+48>>2]=p;z4(q,104487,r)|0;e=e+40|0;g=g+1|0}}while(0);l=s;return}function pM(a,b){a=a|0;b=b|0;var c=0.0;c=+h[b+24>>3]+ +h[b+8>>3]*.5;h[a>>3]=+h[b+16>>3]+ +h[b>>3]*.5;h[a+8>>3]=c;return}function qM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0;e=l;l=l+16|0;f=e;j=+h[b>>3];h[d>>3]=+h[(+h[d>>3]>3];g=d+8|0;i=+h[b+8>>3];h[g>>3]=+h[(+h[g>>3]>3];j=j+ +h[b+16>>3];h[f>>3]=j;i=i+ +h[b+24>>3];h[f+8>>3]=i;g=d+16|0;h[g>>3]=+h[(+h[g>>3]>j?g:f)>>3];b=d+24|0;h[b>>3]=+h[(+h[b>>3]>i?g:f)+8>>3];c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];l=e;return}function rM(a){a=a|0;aM(a,1);return}function sM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=l;l=l+16|0;d=e;b=kP(NA(a,105827)|0)|0;if(b){b=tM(b)|0;if(b|0){f=c[b+40>>2]|0;d=c[b+44>>2]|0;g=a+16|0;a=c[g>>2]|0;h[a+32>>3]=+(f|0)/72.0;h[a+40>>3]=+(d|0)/72.0;a=HK(12)|0;c[(c[g>>2]|0)+12>>2]=a;c[a>>2]=c[b+12>>2];c[a+4>>2]=((f|0)/-2|0)-(c[b+32>>2]|0);c[a+8>>2]=((d|0)/-2|0)-(c[b+36>>2]|0)}}else{c[d>>2]=HB(a)|0;dA(0,104535,d)|0}l=e;return}function tM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+1152|0;i=p+24|0;h=p+8|0;e=p;f=p+120|0;j=p+44|0;k=p+40|0;m=p+36|0;n=p+32|0;o=p+28|0;d=c[47336]|0;if(!d){d=Sz(20860,c[4591]|0)|0;c[47336]=d}d=eb[c[d>>2]&63](d,b,512)|0;do if(!d){g=f4(b,139124)|0;if(!g){c[e>>2]=b;dA(0,104584,e)|0;d=0;break}else{d=0;e=0}while(1){if(!(o4(f,1024,g)|0)){f=11;break}c[h>>2]=k;c[h+4>>2]=m;c[h+8>>2]=n;c[h+12>>2]=o;q=(q4(f,104612,h)|0)==4;e=q?1:e;if((a[f>>0]|0)!=37){q=(C4(f,104641)|0)==0;d=q?d:1}if((e|0)!=0&(d|0)!=0){f=12;break}}if((f|0)==11)if(!e){c[i>>2]=b;dA(0,104646,i)|0;d=0}else f=12;if((f|0)==12){q=IK(64)|0;k=c[k>>2]|0;c[q+32>>2]=k;m=c[m>>2]|0;c[q+40>>2]=(c[n>>2]|0)-k;c[q+36>>2]=(c[o>>2]|0)-m;c[q+8>>2]=b;o=c[47337]|0;c[47337]=o+1;c[q+12>>2]=o;i3(V5(g)|0,j)|0;o=c[j+36>>2]|0;n=IK(o+1|0)|0;c[q+52>>2]=n;y4(g,0,0)|0;X5(n,o,1,g)|0;a[n+o>>0]=0;o=c[47336]|0;eb[c[o>>2]&63](o,q,1)|0;a[q+16>>0]=d;d=q}l4(g)|0}while(0);l=p;return d|0}function uM(a,b,d){a=a|0;b=b|0;d=d|0;l6(c[b+52>>2]|0);return}function vM(a){a=a|0;l6(c[(c[a+16>>2]|0)+12>>2]|0);return}function wM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n+8|0;k=n;j=(d|0)!=0;a:do if(j){h=0;f=0;b:while(1)while(1){if(h)break a;g=c[d+(f<<2)>>2]|0;if(!g){i=6;break a}f=f+1|0;if(!(a[g>>0]|0)){h=1;continue b}}}else i=6;while(0);c:do if((i|0)==6)while(1){f=c[e>>2]|0;if(!f)break c;mF(b,f)|0;mF(b,153748)|0;e=e+4|0;i=6}while(0);d:do if(j){h=0;while(1){f=c[d+(h<<2)>>2]|0;if(!f)break d;do if(a[f>>0]|0){e=kP(f)|0;if(!e){c[k>>2]=f;dA(0,104685,k)|0;break}g=f4(e,139124)|0;if(!g){c[m>>2]=e;dA(0,104713,m)|0;break}while(1){f=jP(g)|0;if(!f)break;mF(b,f)|0}mF(b,153748)|0;l4(g)|0}while(0);h=h+1|0}}while(0);l=n;return}function xM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;d=c[d+52>>2]|0;a:while(1){e=a[d>>0]|0;b:do switch(e<<24>>24){case 0:break a;case 37:{if((a[d+1>>0]|0)==37){f=d+2|0;if((((N3(f,104741,3)|0)!=0?(N3(f,104745,5)|0)!=0:0)?(N3(f,104751,3)|0)!=0:0)?(N3(f,104755,7)|0)!=0:0)break b;else f=37;while(1){if((f&255)<14){e=d+1|0;if(!(7166>>>(f&255)&1))break}else e=d+1|0;d=e;f=a[e>>0]|0}switch(f<<24>>24){case 0:continue a;case 13:{if((a[e>>0]|0)==10){d=d+2|0;continue a}break}default:{}}d=e;continue a}else e=37;break}default:{}}while(0);c:while(1){switch(e<<24>>24){case 10:case 13:case 0:break c;default:{}}nF(b,e<<24>>24)|0;f=d+1|0;d=f;e=a[f>>0]|0}f=d+1|0;switch(e<<24>>24){case 13:{if((a[f>>0]|0)==10)d=d+2|0;else g=21;break}case 0:break;default:g=21}if((g|0)==21){g=0;d=f}nF(b,10)|0}return}function yM(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;d=c[47336]|0;a:do if(d|0){d=eb[c[d>>2]&63](d,0,128)|0;while(1){if(!d)break a;if(!(a[d+16>>0]|0)){c[e>>2]=c[d+12>>2];sF(b,104763,e);mF(b,104781)|0;xM(b,d);mF(b,104799)|0;mF(b,104814)|0}g=c[47336]|0;d=eb[c[g>>2]&63](g,d,8)|0}}while(0);l=f;return}function zM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;a:do switch(d|0){case 0:{f=b;break}case 1:{f=dQ(b)|0;break}default:{switch(AM(b)|0){case 2:break;case 1:{f=dQ(b)|0;break a}default:{f=b;break a}}if(!(c[47338]|0)){dA(0,104826,e)|0;c[47338]=1;f=b}else f=b}}while(0);if(!(c[47339]|0))hA(189356,0,0);d=c[47340]|0;if(d>>>0>=(c[47341]|0)>>>0){iA(189356,1)|0;d=c[47340]|0}c[47340]=d+1;a[d>>0]=40;e=f;b:while(1){switch(a[e>>0]|0){case 0:break b;case 92:case 41:case 40:{d=c[47340]|0;if(d>>>0>=(c[47341]|0)>>>0){iA(189356,1)|0;d=c[47340]|0}c[47340]=d+1;a[d>>0]=92;break}default:{}}d=c[47340]|0;if(d>>>0>=(c[47341]|0)>>>0){iA(189356,1)|0;d=c[47340]|0}h=a[e>>0]|0;c[47340]=d+1;a[d>>0]=h;e=e+1|0}d=c[47340]|0;if(d>>>0>=(c[47341]|0)>>>0){iA(189356,1)|0;d=c[47340]|0}c[47340]=d+1;a[d>>0]=41;if((f|0)!=(b|0))l6(f);d=c[47340]|0;if(d>>>0>=(c[47341]|0)>>>0){iA(189356,1)|0;d=c[47340]|0}a[d>>0]=0;h=c[47339]|0;c[47340]=h;l=g;return h|0}function AM(b){b=b|0;var c=0,d=0;c=0;a:while(1){while(1){d=a[b>>0]|0;if(!(d<<24>>24))break a;if((d&255)<127)b=b+1|0;else break}if((d&-4)<<24>>24==-64){c=1;b=b+2|0}else{c=2;break}}return c|0}function BM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+96|0;i=n+80|0;j=n+72|0;m=n+64|0;g=n+32|0;k=n;h[g>>3]=+h[a>>3];h[g+8>>3]=+h[a+8>>3];h[g+16>>3]=+h[b>>3];h[g+24>>3]=+h[b+8>>3];do if((gY(d,g,j)|0)>=0){if(!f){b=d+4|0;a=c[b>>2]|0;f=c[47344]|0;if((a|0)>(c[47343]|0)){a=a<<5;if(!f)a=IK(a)|0;else a=KK(f,a)|0;c[47344]=a;g=c[b>>2]|0;c[47343]=g;f=a}else g=a;b=c[d>>2]|0;a=0;while(1){if((a|0)>=(g|0))break;o=f+(a<<5)|0;d=b+(a<<4)|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];o=f+(a<<5)+16|0;d=a+1|0;p=b+(((d|0)%(g|0)|0)<<4)|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];a=d}c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];if((MX(f,g,i,k,m)|0)<0){a=0;break}}else{c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];DY(i,m)}a=m+4|0;if(!(CM(c[a>>2]|0)|0)){g=c[a>>2]|0;a=c[47345]|0;f=c[m>>2]|0;b=0;while(1){if((b|0)>=(g|0))break;p=a+(b<<4)|0;o=f+(b<<4)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];b=b+1|0}c[e>>2]=g}else a=0}else a=0;while(0);l=n;return a|0}function CM(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[47346]|0;do if((b|0)<(a|0)){a=a+300-((a|0)%300|0)+b|0;b=KK(c[47345]|0,a<<4)|0;c[47345]=b;if(!b){dA(1,104916,d)|0;a=1;break}else{c[47346]=a;a=0;break}}else a=0;while(0);l=e;return a|0}function DM(){var b=0,d=0,e=0;d=l;l=l+16|0;b=d;e=c[47347]|0;c[47347]=e+1;do if((e|0)<=0){e=IK(4800)|0;c[47345]=e;if(!e){dA(1,104939,b)|0;b=1;break}c[47346]=300;c[47348]=0;c[47349]=0;if(a[195234]|0){RO();b=0}else b=0}else b=0;while(0);l=d;return b|0}function EM(){var b=0,d=0,e=0,f=0.0,g=0,i=0;d=l;l=l+16|0;b=d;e=c[47347]|0;c[47347]=e+-1;if((e|0)<=1?(l6(c[47345]|0),a[195234]|0):0){e=c[15715]|0;i=c[47348]|0;g=c[47349]|0;f=+SO();c[b>>2]=i;c[b+4>>2]=g;h[b+8>>3]=f;z4(e,104977,b)|0}l=d;return}function FM(a,b){a=a|0;b=b|0;return GM(a,b,0)|0}function GM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0;P=l;l=l+176|0;K=P+168|0;O=P+128|0;B=P+120|0;z=P+112|0;j=P+104|0;w=P+88|0;s=P+72|0;g=P+64|0;x=P+160|0;M=P+152|0;C=P+144|0;y=P+32|0;A=P;N=P+136|0;c[47348]=(c[47348]|0)+1;L=c[b+80>>2]|0;c[47349]=(c[47349]|0)+L;f=b+88|0;while(1){G=c[f>>2]|0;if(!G){H=4;break}f=c[G+16>>2]|0;if(!(a[f+112>>0]|0)){H=5;break}else f=f+116|0}do if((H|0)==4){dA(1,105020,g)|0;f=0}else if((H|0)==5){F=c[b+84>>2]|0;if(!(HM(L,F,b)|0)){i=L<<3;if((i|0)>(c[47350]|0)){f=c[47351]|0;g=L<<7;if(!f)f=IK(g)|0;else f=KK(f,g)|0;c[47351]=f;c[47350]=i}a:do if((L|0)>1?+h[F+8>>3]>+h[F+40>>3]:0){f=0;while(1){if((f|0)==(L|0)){u=1;break a}D=F+(f<<5)+24|0;Q=+h[D>>3];E=F+(f<<5)+8|0;h[D>>3]=-+h[E>>3];h[E>>3]=-Q;f=f+1|0}}else u=0;while(0);v=c[G>>2]&3;D=G+48|0;f=c[((v|0)==3?G:D)+40>>2]|0;E=G+-48|0;if((f|0)==(c[((v|0)==2?G:E)+40>>2]|0)){c[j>>2]=HB(f)|0;dA(1,105127,j)|0;f=0;break}t=L+-1|0;v=c[47351]|0;j=0;f=0;b:while(1){c:while(1){if((f|0)>=(L|0)){s=t;break b}i=F+(f<<5)+8|0;if((f|0)>0)k=+h[i>>3]>+h[F+(f+-1<<5)+8>>3]?-1:1;else k=0;r=f+1|0;if((f|0)<(t|0))m=+h[F+(r<<5)+8>>3]>+h[i>>3]?1:-1;else m=0;if((k|0)!=(m|0)){H=24;break}switch(k|0){case -1:{f=r;break}case 0:{H=28;break c}default:{H=29;break b}}}do if((H|0)==24){H=0;q=j+2|0;n=F+(f<<5)|0;o=F+(f<<5)+24|0;g=v+(j+1<<4)|0;p=v+(j<<4)+8|0;j=v+(j<<4)|0;if((k|0)==1|(m|0)==-1){h[j>>3]=+h[n>>3];h[p>>3]=+h[o>>3];h[g>>3]=+h[n>>3];f=q;break}else{f=F+(f<<5)+16|0;h[j>>3]=+h[f>>3];h[p>>3]=+h[i>>3];h[g>>3]=+h[f>>3];i=o;f=q;break}}else if((H|0)==28){H=0;q=F+(f<<5)|0;h[v+(j<<4)>>3]=+h[q>>3];h[v+(j<<4)+8>>3]=+h[F+(f<<5)+24>>3];g=v+(j+1<<4)|0;h[g>>3]=+h[q>>3];f=j+2|0}while(0);h[g+8>>3]=+h[i>>3];j=f;f=r}if((H|0)==29){c[s>>2]=k;c[s+4>>2]=k;c[s+8>>2]=480;dA(1,105062,s)|0;f=0;break}d:while(1){if((s|0)<=-1)break;g=F+(s<<5)+8|0;if((s|0)<(t|0))k=+h[g>>3]>+h[F+(s+1<<5)+8>>3]?-1:1;else k=0;if((s|0)>0)m=+h[F+(s+-1<<5)+8>>3]>+h[g>>3]?1:-1;else m=0;n=F+(s<<5)|0;f=j+1|0;i=j+2|0;o=F+(s<<5)+16|0;r=F+(s<<5)+24|0;e:do if((k|0)!=(m|0)){p=v+(f<<4)|0;q=v+(j<<4)|0;j=v+(j<<4)+8|0;if((k|0)==1|(m|0)==-1){h[q>>3]=+h[n>>3];h[j>>3]=+h[r>>3];h[p>>3]=+h[n>>3];break}else{h[q>>3]=+h[o>>3];h[j>>3]=+h[g>>3];h[p>>3]=+h[o>>3];g=r;break}}else switch(k|0){case 0:{h[v+(j<<4)>>3]=+h[o>>3];h[v+(j<<4)+8>>3]=+h[g>>3];h[v+(f<<4)>>3]=+h[o>>3];g=r;break e}case -1:{h[v+(j<<4)>>3]=+h[o>>3];h[v+(j<<4)+8>>3]=+h[g>>3];h[v+(f<<4)>>3]=+h[o>>3];h[v+(f<<4)+8>>3]=+h[r>>3];h[v+(i<<4)>>3]=+h[n>>3];f=j+3|0;h[v+(i<<4)+8>>3]=+h[r>>3];h[v+(f<<4)>>3]=+h[n>>3];i=j+4|0;break e}default:{H=42;break d}}while(0);h[v+(f<<4)+8>>3]=+h[g>>3];s=s+-1|0;j=i}if((H|0)==42){c[w>>2]=k;c[w+4>>2]=k;c[w+8>>2]=513;dA(1,105062,w)|0;f=0;break}f:do if(!u)f=0;else{f=0;while(1){if((f|0)>=(L|0)){f=0;break}u=F+(f<<5)+24|0;Q=+h[u>>3];w=F+(f<<5)+8|0;h[u>>3]=-+h[w>>3];h[w>>3]=-Q;f=f+1|0}while(1){if((f|0)>=(j|0)){f=0;break f}w=v+(f<<4)+8|0;h[w>>3]=-+h[w>>3];f=f+1|0}}while(0);while(1){if((f|0)>=(L|0))break;h[F+(f<<5)>>3]=2147483647.0;h[F+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}c[x>>2]=v;i=x+4|0;c[i>>2]=j;h[y>>3]=+h[b>>3];h[y+8>>3]=+h[b+8>>3];h[y+16>>3]=+h[b+40>>3];h[y+24>>3]=+h[b+48>>3];if((gY(x,y,M)|0)<0){dA(1,105166,z)|0;f=0;break}if(!e){g=c[i>>2]|0;f=c[47344]|0;if((g|0)>(c[47343]|0)){g=g<<5;if(!f)f=IK(g)|0;else f=KK(f,g)|0;c[47344]=f;g=c[i>>2]|0;c[47343]=g}j=c[47351]|0;i=0;while(1){if((i|0)>=(g|0))break;y=f+(i<<5)|0;z=j+(i<<4)|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];y=f+(i<<5)+16|0;z=i+1|0;x=j+(((z|0)%(g|0)|0)<<4)|0;c[y>>2]=c[x>>2];c[y+4>>2]=c[x+4>>2];c[y+8>>2]=c[x+8>>2];c[y+12>>2]=c[x+12>>2];i=z}if(!(a[b+29>>0]|0)){c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0}else{Q=+h[b+16>>3];h[A>>3]=+I(+Q);h[A+8>>3]=+J(+Q)}i=A+16|0;if(!(a[b+69>>0]|0)){c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0}else{Q=+h[b+56>>3];h[i>>3]=-+I(+Q);h[A+24>>3]=-+J(+Q)};c[K>>2]=c[M>>2];c[K+4>>2]=c[M+4>>2];if((MX(f,g,K,A,C)|0)<0){dA(1,105205,B)|0;f=0;break}}else{c[K>>2]=c[M>>2];c[K+4>>2]=c[M+4>>2];DY(K,C)}k=C+4|0;if(!(CM(c[k>>2]|0)|0)){f=0;while(1){if((f|0)>=(L|0))break;h[F+(f<<5)>>3]=2147483647.0;h[F+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}i=c[k>>2]|0;j=c[47345]|0;g=c[C>>2]|0;f=0;while(1){if((f|0)>=(i|0)){i=1;f=10;g=0;break}C=j+(f<<4)|0;B=g+(f<<4)|0;c[C>>2]=c[B>>2];c[C+4>>2]=c[B+4>>2];c[C+8>>2]=c[B+8>>2];c[C+12>>2]=c[B+12>>2];f=f+1|0}while(1){if(!((g|0)<15&i<<24>>24!=0))break;IM(F,L,c[47345]|0,c[k>>2]|0,f);j=0;while(1){if((j|0)>=(L|0))break;if(+h[F+(j<<5)>>3]==2147483647.0){H=84;break}if(+h[F+(j<<5)+16>>3]==-2147483648.0){H=84;break}j=j+1|0}if((H|0)==84){H=0;C=f<<1;f=C;g=(C|0)>(2147483647/(L|0)|0|0)?15:g}i=(j|0)==(L|0)?0:i;g=g+1|0}if(i<<24>>24){D=HB(c[((c[G>>2]&3|0)==3?G:D)+40>>2]|0)|0;H=HB(c[((c[G>>2]&3|0)==2?G:E)+40>>2]|0)|0;c[O>>2]=D;c[O+4>>2]=H;dA(0,105243,O)|0;c[K>>2]=c[M>>2];c[K+4>>2]=c[M+4>>2];DY(K,N);IM(F,L,c[N>>2]|0,c[N+4>>2]|0,10);l6(c[N>>2]|0)}c[d>>2]=c[k>>2];f=c[47345]|0}else f=0}else f=0}while(0);l=P;return f|0}function HM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0;S=l;l=l+32|0;J=S+16|0;I=S+8|0;m=S;f=0;k=0;while(1){if((k|0)>=(b|0))break;j=d+(k<<5)|0;t=+h[d+(k<<5)+8>>3]-+h[d+(k<<5)+24>>3];if(!((t>=0.0?t:-t)<.01)?(t=+h[j>>3]-+h[d+(k<<5)+16>>3],!((t>=0.0?t:-t)<.01)):0){if((f|0)!=(k|0)){P=d+(f<<5)|0;c[P>>2]=c[j>>2];c[P+4>>2]=c[j+4>>2];c[P+8>>2]=c[j+8>>2];c[P+12>>2]=c[j+12>>2];c[P+16>>2]=c[j+16>>2];c[P+20>>2]=c[j+20>>2];c[P+24>>2]=c[j+24>>2];c[P+28>>2]=c[j+28>>2]}f=f+1|0}k=k+1|0}K=d+16|0;do if(!(+h[d>>3]>+h[K>>3])?(M=d+8|0,N=d+24|0,!(+h[M>>3]>+h[N>>3])):0){O=f+-1|0;P=c[15715]|0;x=0;while(1){if((x|0)>=(O|0))break;E=x+1|0;F=d+(E<<5)|0;g=+h[F>>3];G=d+(E<<5)+16|0;i=+h[G>>3];if(g>i){R=16;break}B=d+(E<<5)+8|0;o=+h[B>>3];C=d+(E<<5)+24|0;p=+h[C>>3];if(o>p){R=16;break}H=d+(x<<5)+16|0;w=+h[H>>3]>3]>i;b=v&1;A=d+(x<<5)+24|0;u=+h[A>>3]>3]>p;j=m&1;y=b+f+k+j|0;n=(y|0)!=0;if(!((a[195234]|0)==0|n^1)){c[J>>2]=x;c[J+4>>2]=E;z4(P,105443,J)|0;JM(e)}a:do if(n){if(!w)if(!v)if(!u){if(m){m=0;n=f;f=C;j=z;R=24}}else{m=j;k=0;n=f;f=B;j=A;R=24}else{m=j;b=0;n=f;f=G;j=D;R=24}else{m=j;n=0;f=F;j=H;R=24}if((R|0)==24){R=0;x=~~+h[j>>3];h[j>>3]=+h[f>>3];h[f>>3]=+(x|0);j=m;f=n}n=y+-1|0;m=0;while(1){if((m|0)>=(n|0))break a;do if((f|0)!=1){if((b|0)==1){t=+(~~((+h[D>>3]+ +h[G>>3])*.5+.5)|0);h[G>>3]=t;h[D>>3]=t;b=0;break}if((k|0)==1){t=+(~~((+h[A>>3]+ +h[B>>3])*.5+.5)|0);h[B>>3]=t;h[A>>3]=t;k=0;break}if((j|0)==1){t=+(~~((+h[z>>3]+ +h[C>>3])*.5+.5)|0);h[C>>3]=t;h[z>>3]=t;j=0}}else{t=+(~~((+h[H>>3]+ +h[F>>3])*.5+.5)|0);h[F>>3]=t;h[H>>3]=t;f=0}while(0);m=m+1|0}}while(0);q=+h[D>>3];r=+h[H>>3];s=+h[F>>3];t=+h[G>>3];j=KM(~~q,~~r,~~s,~~t)|0;p=+h[z>>3];o=+h[A>>3];i=+h[B>>3];g=+h[C>>3];f=KM(~~p,~~o,~~i,~~g)|0;if(!((j|0)!=0&(f|0)!=0)){x=E;continue}if((j|0)<(f|0)){C=r-q>t-s;x=r>3]=C?(x?s:t):x?r:q;x=E;continue}else{C=o-p>g-i;x=o>3]=C?(x?i:g):x?o:p;x=E;continue}}if((R|0)==16){c[I>>2]=E;dA(1,105397,I)|0;JM(e);f=1;break}i=+h[e>>3];g=+h[d>>3];f=e+8|0;if(!(((!(i+h[K>>3]):0)?(L=+h[f>>3],!(L<+h[M>>3])):0)?!(L>+h[N>>3]):0)){if(a[195234]|0){_3(105486,42,1,P)|0;JM(e);i=+h[e>>3];g=+h[d>>3]}if(i>3]=g;i=g}g=+h[K>>3];if(i>g)h[e>>3]=g;i=+h[f>>3];g=+h[M>>3];if(i>3]=g;i=g}g=+h[N>>3];if(i>g)h[f>>3]=g}k=e+40|0;i=+h[k>>3];f=d+(O<<5)|0;g=+h[f>>3];n=e+48|0;b=d+(O<<5)+8|0;m=d+(O<<5)+24|0;j=d+(O<<5)+16|0;if(((!(i+h[j>>3]):0)?(Q=+h[n>>3],!(Q<+h[b>>3])):0)?!(Q>+h[m>>3]):0){f=0;break}if(a[195234]|0){_3(105529,39,1,P)|0;JM(e);i=+h[k>>3];g=+h[f>>3]}if(i>3]=g;i=g}g=+h[j>>3];if(i>g)h[k>>3]=g;i=+h[n>>3];g=+h[b>>3];if(i>3]=g;i=g}g=+h[m>>3];if(i>g){h[n>>3]=g;f=0}else f=0}else R=12;while(0);if((R|0)==12){dA(1,105352,m)|0;JM(e);f=1}l=S;return f|0}function IM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;s=S(e,b)|0;t=+(s|0);e=0;a:while(1){u=e+3|0;if((u|0)>=(d|0))break;o=c+(e<<4)|0;p=c+(e<<4)+8|0;r=e+1|0;q=c+(r<<4)|0;r=c+(r<<4)+8|0;j=e+2|0;i=c+(j<<4)|0;j=c+(j<<4)+8|0;k=c+(u<<4)|0;l=c+(u<<4)+8|0;g=0;while(1){if((g|0)>(s|0)){e=u;continue a}x=+(g|0)/t;m=+h[o>>3];n=+h[p>>3];y=+h[q>>3];v=+h[r>>3];z=+h[i>>3];w=+h[j>>3];m=m+x*(y-m);n=n+x*(v-n);y=y+x*(z-y);v=v+x*(w-v);m=m+x*(y-m);n=n+x*(v-n);m=m+x*(y+x*(z+x*(+h[k>>3]-z)-y)-m);n=n+x*(v+x*(w+x*(+h[l>>3]-w)-v)-n);f=0;while(1){if((f|0)>=(b|0))break;if(n<=+h[a+(f<<5)+24>>3]+.0001?n>=+h[a+(f<<5)+8>>3]+-.0001:0){e=a+(f<<5)|0;if(+h[e>>3]>m)h[e>>3]=m;e=a+(f<<5)+16|0;if(+h[e>>3]>3]=m}f=f+1|0}g=g+1|0}}return}function JM(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0;m=l;l=l+112|0;j=m+80|0;k=m+48|0;i=m+8|0;g=m;e=c[15715]|0;f=b+80|0;c[g>>2]=c[f>>2];z4(e,105569,g)|0;g=b+84|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;r=c[g>>2]|0;q=+h[r+(d<<5)>>3];p=+h[r+(d<<5)+8>>3];o=+h[r+(d<<5)+16>>3];n=+h[r+(d<<5)+24>>3];c[i>>2]=d;h[i+8>>3]=q;h[i+16>>3]=p;h[i+24>>3]=o;h[i+32>>3]=n;z4(e,105580,i)|0;d=d+1|0}q=+h[b+8>>3];p=+h[b+16>>3];r=a[b+29>>0]|0?105611:105623;h[k>>3]=+h[b>>3];h[k+8>>3]=q;h[k+16>>3]=p;c[k+24>>2]=r;z4(e,105639,k)|0;p=+h[b+48>>3];q=+h[b+56>>3];r=a[b+69>>0]|0?105611:105623;h[j>>3]=+h[b+40>>3];h[j+8>>3]=p;h[j+16>>3]=q;c[j+24>>2]=r;z4(e,105690,j)|0;l=m;return}function KM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;do if((b|0)>(c|0)&(d|0)>(a|0)){if(!((c|0)>(a|0)|(d|0)<(a|0))){a=d-a|0;break}if((b|0)<(c|0)|(b|0)>(d|0)){b=b-a|0;a=d-c|0;a=(b|0)<(a|0)?b:a;break}else{a=b-c|0;break}}else a=0;while(0);return a|0}function LM(a,b){a=a|0;b=b|0;return GM(a,b,1)|0}function MM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+80|0;g=j;i=1;f=b;while(1){h=f;f=c[(c[f+16>>2]|0)+172>>2]|0;if(!((f|0)!=0&(h|0)!=(f|0)))break;else i=i+1|0}if((i|0)>=21)g=HK(i<<2)|0;h=0;f=b;while(1){if((h|0)>=(i|0))break;c[g+(h<<2)>>2]=f;h=h+1|0;f=c[(c[f+16>>2]|0)+172>>2]|0}NM(a,g,i,d,e);if((i|0)>20)l6(g);l=j;return} +function aQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=j;a[g>>0]=b;a[g+1>>0]=0;g=cQ(g)|0;h=d+4|0;i=d+8|0;e=D3(g)|0;f=g;while(1){if((e|0)<=1)break;b=c[h>>2]|0;if(b>>>0>=(c[i>>2]|0)>>>0){iA(d,1)|0;b=c[h>>2]|0}k=a[f>>0]|0;c[h>>2]=b+1;a[b>>0]=k;e=e+-1|0;f=f+1|0}k=a[f>>0]|0;l6(g);l=j;return k|0}function bQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;d=i+8|0;e=c[b>>2]|0;a:do if((a[e>>0]|0)!=35){c[h>>2]=d;f=0;while(1){if((f|0)>=8){d=0;break a}g=a[e+f>>0]|0;if(!(g<<24>>24)){d=0;break a}f=f+1|0;if(g<<24>>24==59)break;a[d>>0]=g;d=d+1|0}a[d>>0]=0;d=e6(h,23712,252,8,96)|0;if(!d)d=0;else{e=e+f|0;d=c[d+4>>2]|0}}else{h=a[e+1>>0]|0;d=h&255;b:do if((h|32)<<24>>24==120){h=0;g=2;while(1){if((g|0)>=8){f=h;break b}f=a[e+g>>0]|0;d=f&255;if((f+-65&255)>=6)if((f+-97&255)>=6)if((f+-48&255)<10)f=-48;else{f=h;break b}else f=-87;else f=-55;d=f+d|0;h=d+(h<<4)|0;g=g+1|0}}else{f=0;g=1;while(1){if((g|0)>=8)break b;h=a[e+g>>0]|0;d=h&255;if((h+-48&255)>=10)break b;f=(f*10|0)+-48+d|0;g=g+1|0}}while(0);d=(d|0)==59;e=d?e+(g+1)|0:e;d=d?f:0}while(0);c[b>>2]=e;l=i;return d|0}function cQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+1056|0;i=n;k=n+8|0;c[i>>2]=b;hA(k,1024,n+24|0);j=k+8|0;m=k+4|0;while(1){c[i>>2]=b+1;d=a[b>>0]|0;if(!(d<<24>>24))break;b=d&255;if(d<<24>>24==38){b=bQ(i)|0;if(!b){b=38;e=c[j>>2]|0;h=7}else h=6}else h=6;do if((h|0)==6){h=0;e=c[j>>2]|0;if(b>>>0<127)h=7;else{d=c[m>>2]|0;e=d>>>0>=e>>>0;f=b>>>6;g=(b&63|128)&255;if(b>>>0<2047){if(e){iA(k,1)|0;b=c[m>>2]|0}else b=d;c[m>>2]=b+1;a[b>>0]=f|192;b=c[m>>2]|0;if(b>>>0>=(c[j>>2]|0)>>>0){iA(k,1)|0;b=c[m>>2]|0}c[m>>2]=b+1;a[b>>0]=g;break}if(e){iA(k,1)|0;d=c[m>>2]|0}c[m>>2]=d+1;a[d>>0]=b>>>12|224;b=c[m>>2]|0;if(b>>>0>=(c[j>>2]|0)>>>0){iA(k,1)|0;b=c[m>>2]|0}c[m>>2]=b+1;a[b>>0]=f&63|128;b=c[m>>2]|0;if(b>>>0>=(c[j>>2]|0)>>>0){iA(k,1)|0;b=c[m>>2]|0}c[m>>2]=b+1;a[b>>0]=g}}while(0);if((h|0)==7){d=c[m>>2]|0;if(d>>>0>=e>>>0){iA(k,1)|0;d=c[m>>2]|0}c[m>>2]=d+1;a[d>>0]=b}b=c[i>>2]|0}b=c[m>>2]|0;if(b>>>0>=(c[j>>2]|0)>>>0){iA(k,1)|0;b=c[m>>2]|0}a[b>>0]=0;j=c[k>>2]|0;c[m>>2]=j;m=Y3(j)|0;lA(k);l=n;return m|0}function dQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+1040|0;h=j;hA(h,1024,j+16|0);i=h+4|0;g=h+8|0;while(1){d=b+1|0;e=a[b>>0]|0;f=c[g>>2]|0;if(!(e<<24>>24))break;if((e&255)<127){b=c[i>>2]|0;if(b>>>0>=f>>>0){iA(h,1)|0;b=c[i>>2]|0}c[i>>2]=b+1;a[b>>0]=e;b=d;continue}else{e=a[d>>0]&63|e<<6&255;d=c[i>>2]|0;if(d>>>0>=f>>>0){iA(h,1)|0;d=c[i>>2]|0}c[i>>2]=d+1;a[d>>0]=e;b=b+2|0;continue}}b=c[i>>2]|0;if(b>>>0>=f>>>0){iA(h,1)|0;b=c[i>>2]|0}a[b>>0]=0;g=c[h>>2]|0;c[i>>2]=g;i=Y3(g)|0;lA(h);l=j;return i|0}function eQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;e=n+48|0;d=n+32|0;f=n+64|0;g=n+16|0;i=n;j=b+16|0;k=a+16|0;m=c[k>>2]|0;if(((+h[j>>3]>=+h[m+48>>3]?+h[m+64>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=+h[m+56>>3]:0)?+h[m+72>>3]>=+h[b+8>>3]:0){m=m+16|0;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];fQ(g,d,e);c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];BP(i,d,e);c[f>>2]=a;c[f+4>>2]=0;d=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];d=vb[d&127](f,e)|0}else d=0;l=n;return d|0}function fQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[b+8>>3]+ +h[c+8>>3])*.5;h[a>>3]=(+h[b>>3]+ +h[c>>3])*.5;h[a+8>>3]=d;return}function gQ(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;e=l;l=l+80|0;j=e+64|0;k=e+48|0;m=e;n=e+32|0;g=e+16|0;h[m>>3]=+h[a+24>>3]*.5;h[m+8>>3]=+h[a+32>>3]*.5;a=a+56|0;c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];BP(n,k,j);i=+h[n>>3];f=+h[n+8>>3];c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];CP(g,k,j);d=+h[g+8>>3];if((+h[b+16>>3]>=i?+h[g>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=f:0)a=d>=+h[b+8>>3]&1;else a=0;l=e;return a|0}function hQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;k=n+48|0;j=n;h=a+16|0;a=c[h>>2]|0;i=c[a+8>>2]|0;a:do if((i|0)!=0?(g=i+8|0,c[j>>2]=c[g>>2],c[j+4>>2]=c[g+4>>2],c[j+8>>2]=c[g+8>>2],c[j+12>>2]=c[g+12>>2],c[j+16>>2]=c[g+16>>2],c[j+20>>2]=c[g+20>>2],c[j+24>>2]=c[g+24>>2],c[j+28>>2]=c[g+28>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(iQ(j,k)|0)!=0):0){d=i+4|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;e=j;f=(c[i>>2]|0)+(a*48|0)|0;g=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[k+16>>2]=c[b+16>>2];c[k+20>>2]=c[b+20>>2];c[k+24>>2]=c[b+24>>2];c[k+28>>2]=c[b+28>>2];if(!((jQ(j,k)|0)<<24>>24))a=a+1|0;else{a=1;break a}}a=c[h>>2]|0;m=7}else m=7;while(0);do if((m|0)==7){a=c[a+96>>2]|0;if(a|0?(c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(gQ(a,k)|0)<<24>>24):0){a=1;break}a=0}while(0);l=n;return a|0}function iQ(a,b){a=a|0;b=b|0;if((+h[a+16>>3]>=+h[b>>3]?+h[b+16>>3]>=+h[a>>3]:0)?+h[a+24>>3]>=+h[b+8>>3]:0)a=+h[b+24>>3]>=+h[a+8>>3];else a=0;return a&1|0}function jQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;k=n+64|0;j=n+48|0;i=n+32|0;f=n+16|0;g=n;m=a+4|0;d=c[m>>2]|0;if(!d)Aa(110238,107962,1637,110246);e=c[a>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];e=1;while(1){if((e|0)>=(d|0)){h=7;break}d=(c[a>>2]|0)+(e<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[k+16>>2]=c[b+16>>2];c[k+20>>2]=c[b+20>>2];c[k+24>>2]=c[b+24>>2];c[k+28>>2]=c[b+28>>2];if((gK(i,j,k)|0)!=-1){d=1;break};c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];e=e+1|0;d=c[m>>2]|0}do if((h|0)==7){d=c[a+8>>2]|0;if(d|0?(g=a+16|0,h=c[a>>2]|0,c[i>>2]=c[g>>2],c[i+4>>2]=c[g+4>>2],c[i+8>>2]=c[g+8>>2],c[i+12>>2]=c[g+12>>2],c[j>>2]=c[h>>2],c[j+4>>2]=c[h+4>>2],c[j+8>>2]=c[h+8>>2],c[j+12>>2]=c[h+12>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(kQ(i,j,d,k)|0)<<24>>24):0){d=1;break}d=c[a+12>>2]|0;if(d|0?(h=a+32|0,m=(c[a>>2]|0)+((c[m>>2]|0)+-1<<4)|0,c[i>>2]=c[h>>2],c[i+4>>2]=c[h+4>>2],c[i+8>>2]=c[h+8>>2],c[i+12>>2]=c[h+12>>2],c[j>>2]=c[m>>2],c[j+4>>2]=c[m+4>>2],c[j+8>>2]=c[m+8>>2],c[j+12>>2]=c[m+12>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(kQ(i,j,d,k)|0)<<24>>24):0){d=1;break}d=0}while(0);l=n;return d|0}function kQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+160|0;g=m+144|0;f=m+128|0;n=m+96|0;i=m+64|0;j=m+32|0;k=m;o=+h[e+16>>3];c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];WH(n,f,g,1.0,d);if(((o>=+h[n>>3]?(c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],WH(i,f,g,1.0,d),+h[i+16>>3]>=+h[e>>3]):0)?(o=+h[e+24>>3],c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],WH(j,f,g,1.0,d),o>=+h[j+8>>3]):0)?(c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],WH(k,f,g,1.0,d),+h[k+24>>3]>=+h[e+8>>3]):0)f=1;else f=0;l=m;return f|0}function lQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;a:do if((b|0)!=0?(e=a[b>>0]|0,e<<24>>24!=0):0){f=b+1|0;do switch(e<<24>>24|0){case 48:{d=2;break a}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{d=10;break a}case 67:case 99:{if(!(C3(f,110261)|0)){d=4;break a}if(!(C3(f,110267)|0)){d=12;break a}break}case 70:case 102:{if(!(C3(f,110275)|0)){d=2;break a}break}case 76:case 108:{if(!(C3(f,110280)|0)){d=2;break a}break}case 78:case 110:{if(!(C3(f,110284)|0)){d=0;break a}if(!(C3(f,110288)|0)){d=2;break a}break}case 79:case 111:{if(!(C3(f,110290)|0)){d=8;break a}break}case 80:case 112:{if(!(C3(f,110295)|0)){d=6;break a}break}case 83:case 115:{if(!(C3(f,110303)|0)){d=10;break a}break}case 84:case 116:{if(!(C3(f,110309)|0)){d=10;break a}break}case 89:case 121:{if(!(C3(f,110313)|0)){d=10;break a}break}default:{}}while(0);c[g>>2]=b;dA(0,110316,g)|0}while(0);l=h;return d|0}function mQ(d,f){d=d|0;f=f|0;var g=0;g=NA(d,110357)|0;if(g)if(!(a[g>>0]|0))f=0;else f=lQ(g,f)|0;d=(c[d+16>>2]|0)+136|0;b[d>>1]=e[d>>1]|f;return}function nQ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0;w=l;l=l+32|0;n=w+16|0;p=w;v=e&1;u=e&2;j=n+8|0;k=p+8|0;g=+h[a>>3];i=+h[a+8>>3];a:do if((c|0)==2){t=+h[a+16>>3]-g;q=+h[a+24>>3]-i;s=g-t;h[n>>3]=s;t=g+t;h[p>>3]=t;f=i-q;h[j>>3]=f;q=i+q;h[k>>3]=q;g=s}else{h[p>>3]=g;h[n>>3]=g;h[k>>3]=i;h[j>>3]=i;e=0;m=g;f=i;while(1){if((e|0)>=(c|0)){t=g;g=m;q=i;break a}x=a+(e<<4)|0;s=+h[x>>3];q=+h[(s>3];h[n>>3]=q;t=+h[a+(e<<4)+8>>3];r=+h[(t>3];h[j>>3]=r;s=+h[(s>g?x:p)>>3];h[p>>3]=s;t=+h[(t>i?x:p)+8>>3];h[k>>3]=t;e=e+1|0;m=q;f=r;g=s;i=t}}while(0);s=g+(t-g)*.5;r=f+(q-f)*.5;e=(u|0)!=0;o=-r;j=b+8|0;a=b+24|0;m=r-f;k=b+16|0;if(!v){i=d;g=+J(+i);i=+I(+i);f=(q-r)*g;if(e){h[j>>3]=r-f;f=r+f}else{h[j>>3]=f-r;f=o-m*g}h[a>>3]=f;d=(t-s)*i;h[b>>3]=s-d;h[k>>3]=s+d}else{d=s-g;d=+G(+(d*d+m*m));h[j>>3]=e?r:o;h[b>>3]=s;h[k>>3]=d*.25;h[a>>3]=d}l=w;return}function oQ(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0;f=b<<24>>24==0;b=c[a+16>>2]|0;d=+h[b+32>>3]*72.0;e=+h[b+40>>3]*72.0;g=(f?d:e)*.5;h[b+96>>3]=g;h[b+88>>3]=g;h[b+80>>3]=f?e:d;return}function pQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=l;l=l+16|0;j=y+8|0;x=4;w=k6(40)|0;c[w>>2]=0;s=y;o=0;e=la(29,b|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;a:do if((g|0)!=1){o=0;v=la(23,e<<3|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){e=A6(c[f>>2]|0,w|0,x|0)|0;if(!e)Ca(f|0,p|0);D=p}else e=-1;if((e|0)!=1){if(!(a[195236]|0))t=0;else{o=0;e=ea(3)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){n=0;k=0;m=0;j=0;i=0;d=v;h=v;e=D;g=0;u=74;break}t=e}o=0;e=ra(97,b|0,110365)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)!=1){c[47394]=0;b:do if(e|0?(i=a[e>>0]|0,i<<24>>24):0){h=e;f=i;g=0;while(1){i=h+1|0;if(!(f<<24>>24))break b;switch(f<<24>>24|0){case 99:{e=8;u=15;break}case 105:{e=18;u=15;break}case 109:{e=1;u=15;break}case 114:{e=4;u=15;break}case 115:{e=2;u=15;break}default:e=g}if((u|0)==15){u=0;e=g|e;c[47394]=e}h=i;f=a[i>>0]|0;g=e}}while(0);if(d|0){o=0;aa(23,0,110369,j|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){n=0;k=t;m=0;j=0;i=0;d=v;h=v;e=D;g=0;u=74;break}}o=0;r=ra(98,b|0,0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){m=c[r+16>>2]|0;if(c[47394]&2|0){o=0;ha(26,c[15715]|0,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break}}o=0;g=la(25,b|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){n=0;while(1){if(!g)break;o=0;e=ra(99,b|0,g|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=A6(c[f>>2]|0,w|0,x|0)|0;if(!h)Ca(f|0,p|0);D=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}i=n;while(1){if(!e)break;if(!((c[47180]|0)==2?(c[(c[e+16>>2]|0)+8>>2]|0)!=0:0))u=32;c:do if((u|0)==32){u=0;do if(a[195236]|0){k=c[e>>2]&3;j=(c[c[((k|0)==3?e:e+48|0)+40>>2]>>2]|0)>>>4;k=(c[c[((k|0)==2?e:e+-48|0)+40>>2]>>2]|0)>>>4;if(j>>>0>k>>>0){o=0;f=aa(37,t|0,k|0,j|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){d=A6(c[h>>2]|0,w|0,x|0)|0;if(!d)Ca(h|0,p|0);D=p}else d=-1;if((d|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}if(f|0)break c;o=0;na(64,t|0,k|0,j|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=A6(c[f>>2]|0,w|0,x|0)|0;if(!h)Ca(f|0,p|0);D=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}break}else{o=0;f=aa(37,t|0,j|0,k|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){d=A6(c[h>>2]|0,w|0,x|0)|0;if(!d)Ca(h|0,p|0);D=p}else d=-1;if((d|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}if(f|0)break c;o=0;na(64,t|0,j|0,k|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=A6(c[f>>2]|0,w|0,x|0)|0;if(!h)Ca(f|0,p|0);D=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}break}}while(0);c[v+(i<<3)+4>>2]=e;o=0;d=la(30,e|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=A6(c[f>>2]|0,w|0,x|0)|0;if(!h)Ca(f|0,p|0);D=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}c[v+(i<<3)>>2]=d;i=i+1|0}while(0);o=0;e=ra(100,b|0,e|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=A6(c[f>>2]|0,w|0,x|0)|0;if(!h)Ca(f|0,p|0);D=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}}o=0;g=ra(86,b|0,g|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}n=i}o=0;j=la(31,n<<3|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){o=0;ta(28,v|0,n|0,8,101);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){g=c[m>>2]|0;o=0;$(110,g+2|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){i=c[m+16>>2]|0;d=i+(g*40|0)|0;i=i+((g+1|0)*40|0)|0;q=c[15715]|0;h=0;while(1){if((h|0)>=(n|0))break;if((h|0)>0?c[47394]&16|0:0){o=0;ha(26,q|0,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}}e=c[v+(h<<3)+4>>2]|0;k=c[e>>2]&3;g=c[(c[(c[((k|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;e=c[(c[(c[((k|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if((g|0)==(e|0)){o=0;ta(29,m|0,g|0,i|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}}else{o=0;na(65,m|0,e|0,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}o=0;na(65,m|0,g|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}}o=0;e=aa(38,m|0,i|0,d|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}if(e|0){k=t;m=j;i=r;d=v;h=v;break a}e=j+(h<<3)|0;o=0;ta(30,s|0,m|0,d|0,i|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}g=s;k=c[g+4>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=k;o=0;$(111,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}h=h+1|0}o=0;oa(8);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){o=0;e=la(32,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)!=1){c[r+20>>2]=e;o=0;e=la(33,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)!=1){c[r+24>>2]=e;o=0;na(66,n|0,j|0,r|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){w=x6(189580,1,w|0,x|0)|0;x=D;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){k=t;m=j;i=r;d=v;h=v;e=0;g=q;u=74}else{k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=D;g=0;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=D;g=0;u=74}}else{k=t;m=0;i=r;d=v;h=v;e=D;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=0;d=v;h=v;e=D;g=0;u=74}}else{n=0;k=0;m=0;j=0;i=0;d=0;h=v;e=D;g=0;u=74}}else{n=0;k=0;m=0;j=0;i=0;d=0;h=0;e=D;g=0;u=74}while(0);d:while(1){if((u|0)==74){u=0;if(e|0){q=g;continue}o=0;$(112,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){z=g;f=h;q=d;r=i;s=j;t=m;v=k;u=n;e=D;g=z;h=f;d=q;i=r;j=s;m=t;k=v;n=u;u=74;continue}if(c[47394]&4|0){o=0;ba(17,g|0,i|0,n|0,m|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){f=g;q=h;r=d;s=i;t=j;v=m;z=k;u=n;e=D;g=f;h=q;d=r;i=s;j=t;m=v;k=z;n=u;u=74;continue}}o=0;qa(10,b|0,i|0,n|0,m|0,d|0,0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){f=g;q=h;r=d;s=i;t=j;v=m;z=k;u=n;e=D;g=f;h=q;d=r;i=s;j=t;m=v;k=z;n=u;u=74;continue}q=g}if(!(a[195236]|0))e=0;else{o=0;$(113,k|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;g=q;u=74;continue}e=0}while(1){if((e|0)>=(n|0))break;o=0;$(105,c[m+(e<<3)+4>>2]|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;g=q;u=74;continue d}e=e+1|0}o=0;$(105,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;g=q;u=74;continue}o=0;$(114,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;g=q;u=74;continue}o=0;$(105,h|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;g=q;u=74}else break}l6(w|0);l=y;return}function qQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;p=q+32|0;o=q+16|0;j=q;k=q+48|0;Z3(111236,a)|0;Z3(111247,a)|0;m=b+16|0;n=j+8|0;i=k+4|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;d=c[m>>2]|0;e=c[d+(g*40|0)+20>>2]|0;f=c[d+(g*40|0)+24>>2]|0;if((e|0)==(f|0)){jR(j,e);d=~~+h[j>>3];e=~~+h[n>>3]}else{lR(k,(c[e>>2]&1|0)==0?e:f,d+(g*40|0)|0);d=c[k>>2]|0;e=c[i>>2]|0}c[o>>2]=g;c[o+4>>2]=d;c[o+8>>2]=e;z4(a,111267,o)|0;g=g+1|0}f=b+4|0;e=b+20|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;o=c[e>>2]|0;b=c[o+(d*24|0)+16>>2]|0;r=+h[o+(d*24|0)>>3];c[p>>2]=c[o+(d*24|0)+12>>2];c[p+4>>2]=b;h[p+8>>3]=r;z4(a,111287,p)|0;d=d+1|0}Z3(111309,a)|0;l=q;return}function rQ(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;f=c[a>>2]&3;e=c[(c[((f|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;a=c[(c[((f|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;d=+h[e+16>>3]-+h[a+16>>3];b=+h[e+24>>3]-+h[a+24>>3];return ~~(d*d+b*b)|0}function sQ(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function tQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n;jR(n+16|0,d);k=d+32|0;m=d+36|0;g=0;while(1){if((g|0)>=(c[k>>2]|0))break;h=c[(c[m>>2]|0)+(g<<2)>>2]|0;do if(!(a[h+36>>0]|0)){i=c[h+20>>2]|0;if((i|0)==(d|0)){hR(j,h,c[h+24>>2]|0);CR(b,f,h,0.0)|0;break}else{hR(j,h,i);CR(b,e,h,0.0)|0;break}}while(0);g=g+1|0}c[b>>2]=(c[b>>2]|0)+2;l=n;return}function uQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k;jR(k+16|0,b);i=b+32|0;j=b+36|0;f=0;while(1){if((f|0)>=(c[i>>2]|0))break;g=c[(c[j>>2]|0)+(f<<2)>>2]|0;e=c[g+20>>2]|0;if((e|0)==(b|0))e=c[g+24>>2]|0;hR(h,g,e);CR(a,d,g,0.0)|0;f=f+1|0}c[a>>2]=(c[a>>2]|0)+1;c[d+24>>2]=b;c[d+20>>2]=b;l=k;return}function vQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+128|0;F=K+64|0;n=K+48|0;G=K+32|0;H=K+16|0;I=K;g=0;i=e;while(1){if(!i)break;g=g+1|0;i=c[i+8>>2]|0}E=HK((g*56|0)+-112|0)|0;c[F+52>>2]=0;c[F+48>>2]=0;D=e+8|0;e=c[D>>2]|0;i=c[e+8>>2]|0;g=c[e+20>>2]|0;if(c[g>>2]&1)g=c[e+24>>2]|0;hR(n,e,g);j=e;o=e;q=0.0;p=+h[n>>3];C=0;m=0.0;A=+h[n+8>>3];while(1){B=i+8|0;if(!(c[B>>2]|0))break;y=iR(j,i)|0;aV(d,y,c[o+12>>2]|0);w=o+36|0;x=i+36|0;if((a[w>>0]|0)==(a[x>>0]|0))if((c[B>>2]|0)==(f|0)){hR(H,i,y);e=H;J=12}else{n=o;e=C;k=A}else{jR(G,y);e=G;J=12}if((J|0)==12){J=0;z=+h[e>>3];k=+h[e+8>>3];n=a[w>>0]|0;t=n<<24>>24!=0;e=(o|0)==(c[D>>2]|0);j=g+40|0;v=y+48|0;s=i+20|0;r=g+48|0;u=y+40|0;if(t){g=e?0:m>A?1:3;if(n<<24>>24==(a[x>>0]|0)){n=u;o=j;j=r;e=0}else{n=u;o=j;j=r;e=(c[s>>2]|0)==(y|0)?1:3}}else{g=e?0:q>p?4:2;if(!(a[x>>0]|0)){n=v;o=r;e=0}else{n=v;o=r;e=(c[s>>2]|0)==(y|0)?4:2}}kR(F,(t^1)&1,+h[j>>3],+h[o>>3],+h[n>>3],g,e);e=C+1|0;g=E+(C*56|0)|0;n=F;o=g+56|0;do{c[g>>2]=c[n>>2];g=g+4|0;n=n+4|0}while((g|0)<(o|0));if((a[w>>0]|0)!=(a[x>>0]|0)?(c[B>>2]|0)==(f|0):0){hR(I,i,y);j=(a[x>>0]|0)!=0;q=+h[(j?u:v)>>3];kR(F,(j^1)&1,+h[(j?v:u)>>3],q,q,j?(A>k?1:3):p>z?4:2,0);j=C+2|0;g=E+(e*56|0)|0;n=F;o=g+56|0;do{c[g>>2]=c[n>>2];g=g+4|0;n=n+4|0}while((g|0)<(o|0));g=y;n=i;q=p;p=z;e=j;m=A}else{g=y;n=i;q=p;p=z;m=A}}j=i;i=c[B>>2]|0;o=n;C=e;A=k}i=n6(E,C*56|0)|0;e=C+-1|0;g=0;while(1){if((g|0)>=(C|0))break;if((g|0)>0)c[i+(g*56|0)+48>>2]=i+((g+-1|0)*56|0);j=g+1|0;if((g|0)>=(e|0)){g=j;continue}c[i+(g*56|0)+52>>2]=i+(j*56|0);g=j}c[b>>2]=C;c[b+4>>2]=i;l=K;return}function wQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Sz(25740,c[4591]|0)|0;k=a+8|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;b=(c[k>>2]|0)+(i*72|0)|0;if(!(c[b>>2]&4)){while(1){d=c[(c[b+36>>2]|0)+8>>2]|0;if(!d)break;d=c[d+20>>2]|0;if(!d)break;if(!(c[d>>2]&1))b=d;else break}g=HK(40)|0;c[g+36>>2]=b;h[g+8>>3]=+h[b+40>>3];f=b;d=c[b>>2]|0;while(1){c[f>>2]=d|4;d=c[c[f+36>>2]>>2]|0;if(!d)break;e=c[d+24>>2]|0;if(!e)break;d=c[e>>2]|0;if(d&1|0)break;else f=e}h[g+16>>3]=+h[f+56>>3];cR(j,g,+h[b+48>>3])}i=i+1|0}return j|0}function xQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Sz(25740,c[4591]|0)|0;k=a+8|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;b=(c[k>>2]|0)+(i*72|0)|0;if(!(c[b>>2]&2)){while(1){d=c[(c[b+36>>2]|0)+12>>2]|0;if(!d)break;d=c[d+20>>2]|0;if(!d)break;if(!(c[d>>2]&1))b=d;else break}g=HK(40)|0;c[g+36>>2]=b;h[g+8>>3]=+h[b+48>>3];f=b;d=c[b>>2]|0;while(1){c[f>>2]=d|2;d=c[(c[f+36>>2]|0)+4>>2]|0;if(!d)break;e=c[d+24>>2]|0;if(!e)break;d=c[e>>2]|0;if(d&1|0)break;else f=e}h[g+16>>3]=+h[f+64>>3];cR(j,g,+h[b+40>>3])}i=i+1|0}return j|0}function yQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=e+20|0;i=e+24|0;e=0;while(1){if((e|0)>=(b|0))break;g=c[d+(e<<3)>>2]|0;h=c[d+(e<<3)+4>>2]|0;f=0;while(1){if((f|0)>=(g|0))break;k=h+(f*56|0)|0;bR(HQ(c[((a[k>>0]|0)==0?j:i)>>2]|0,k)|0,k);f=f+1|0}e=e+1|0}return}function zQ(a){a=a|0;var b=0,d=0;d=a+20|0;JQ(c[d>>2]|0);b=a+24|0;JQ(c[b>>2]|0);KQ(c[d>>2]|0);KQ(c[b>>2]|0);LQ(c[d>>2]|0,a);LQ(c[b>>2]|0,a);MQ(c[d>>2]|0);MQ(c[b>>2]|0);return}function AQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0.0;z=l;l=l+224|0;n=z+176|0;m=z+208|0;x=z+160|0;y=z+128|0;k=z+96|0;t=z+64|0;u=z+32|0;o=z;v=u+8|0;h[v>>3]=1797693134862315708145274.0e284;h[u>>3]=1797693134862315708145274.0e284;w=u+24|0;h[w>>3]=-1797693134862315708145274.0e284;p=u+16|0;h[p>>3]=-1797693134862315708145274.0e284;Z3(110484,a)|0;c[n>>2]=10;c[n+4>>2]=10;z4(a,110890,n)|0;Z3(138568,a)|0;i=b+4|0;q=t+16|0;r=t+8|0;s=t+24|0;j=b+12|0;g=0;while(1){if((g|0)>=(c[i>>2]|0))break;D=(c[j>>2]|0)+(g*72|0)+40|0;c[t>>2]=c[D>>2];c[t+4>>2]=c[D+4>>2];c[t+8>>2]=c[D+8>>2];c[t+12>>2]=c[D+12>>2];c[t+16>>2]=c[D+16>>2];c[t+20>>2]=c[D+20>>2];c[t+24>>2]=c[D+24>>2];c[t+28>>2]=c[D+28>>2];C=+h[r>>3];B=+h[q>>3];A=+h[s>>3];h[k>>3]=+h[t>>3];h[k+8>>3]=C;h[k+16>>3]=B;h[k+24>>3]=A;z4(a,138587,k)|0;g=g+1|0}g=0;while(1){if((g|0)>=(d|0))break;D=c[f+(g<<3)+4>>2]|0;k=e+(g<<3)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[n+12>>2]=c[u+12>>2];c[n+16>>2]=c[u+16>>2];c[n+20>>2]=c[u+20>>2];c[n+24>>2]=c[u+24>>2];c[n+28>>2]=c[u+28>>2];IQ(o,a,D,m,b,n);c[u>>2]=c[o>>2];c[u+4>>2]=c[o+4>>2];c[u+8>>2]=c[o+8>>2];c[u+12>>2]=c[o+12>>2];c[u+16>>2]=c[o+16>>2];c[u+20>>2]=c[o+20>>2];c[u+24>>2]=c[o+24>>2];c[u+28>>2]=c[o+28>>2];g=g+1|0}Z3(110907,a)|0;i=b+8|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;D=(c[i>>2]|0)+(g*72|0)+40|0;c[t>>2]=c[D>>2];c[t+4>>2]=c[D+4>>2];c[t+8>>2]=c[D+8>>2];c[t+12>>2]=c[D+12>>2];c[t+16>>2]=c[D+16>>2];c[t+20>>2]=c[D+20>>2];c[t+24>>2]=c[D+24>>2];c[t+28>>2]=c[D+28>>2];E=+h[t>>3];A=+h[r>>3];B=+h[q>>3];C=+h[s>>3];h[y>>3]=E;h[y+8>>3]=A;h[y+16>>3]=B;h[y+24>>3]=C;z4(a,138624,y)|0;h[u>>3]=+h[(+h[u>>3]>3];h[v>>3]=+h[(+h[v>>3]>3];h[p>>3]=+h[(+h[p>>3]>B?u:t)+16>>3];h[w>>3]=+h[(+h[w>>3]>C?u:t)+24>>3];g=g+1|0}v=~~(+h[v>>3]+10.0);y=~~(+h[p>>3]+10.0);D=~~(+h[w>>3]+10.0);c[x>>2]=~~(+h[u>>3]+10.0);c[x+4>>2]=v;c[x+8>>2]=y;c[x+12>>2]=D;z4(a,110932,x)|0;l=z;return}function BQ(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+112|0;I=Q+88|0;H=Q+72|0;P=Q+32|0;L=Q+16|0;M=Q;N=Q+56|0;O=Q+40|0;J=c[15715]|0;z=(j|0)==0;A=M+8|0;B=L+8|0;y=0;k=0;m=0;p=0;j=0;while(1){if((y|0)>=(f|0))break;C=c[i+(y<<3)+4>>2]|0;D=C+48|0;x=(c[(c[((c[C>>2]&3|0)==3?C:D)+40>>2]|0)+16>>2]|0)+16|0;E=C+16|0;F=(c[E>>2]|0)+16|0;c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];c[I>>2]=c[F>>2];c[I+4>>2]=c[F+4>>2];c[I+8>>2]=c[F+8>>2];c[I+12>>2]=c[F+12>>2];CQ(N,H,I);c[L>>2]=c[N>>2];c[L+4>>2]=c[N+4>>2];c[L+8>>2]=c[N+8>>2];c[L+12>>2]=c[N+12>>2];F=C+-48|0;x=(c[(c[((c[C>>2]&3|0)==2?C:F)+40>>2]|0)+16>>2]|0)+16|0;w=(c[E>>2]|0)+56|0;c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];c[I>>2]=c[w>>2];c[I+4>>2]=c[w+4>>2];c[I+8>>2]=c[w+8>>2];c[I+12>>2]=c[w+12>>2];CQ(O,H,I);c[M>>2]=c[O>>2];c[M+4>>2]=c[O+4>>2];c[M+8>>2]=c[O+8>>2];c[M+12>>2]=c[O+12>>2];w=c[g+(y<<3)>>2]|0;x=c[g+(y<<3)+4>>2]|0;v=w*3|0;G=v+1|0;if((v|0)>=(m|0)){if(k|0)l6(j);p=IK(G<<4)|0;k=p;m=G;j=p}if(!(a[x>>0]|0)){o=+(EQ(x,e)|0);n=+h[L>>3]}else{n=+DQ(x,e);o=+h[B>>3]}s=k+16|0;h[k+16>>3]=n;h[k+24>>3]=o;c[p>>2]=c[s>>2];c[p+4>>2]=c[s+4>>2];c[p+8>>2]=c[s+8>>2];c[p+12>>2]=c[s+12>>2];s=1;q=x;t=2;while(1){r=t+1|0;u=k+(r<<4)|0;v=k+(t<<4)|0;if((s|0)>=(w|0))break;q=x+(s*56|0)|0;if(!(a[q>>0]|0))o=+(EQ(q,e)|0);else n=+DQ(q,e);r=k+(t+2<<4)|0;h[v>>3]=n;h[k+(t<<4)+8>>3]=o;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];s=s+1|0;t=t+3|0}if(!(a[q>>0]|0)){o=+(EQ(q,e)|0);n=+h[M>>3]}else{n=+DQ(q,e);o=+h[A>>3]}h[u>>3]=n;h[k+(r<<4)+8>>3]=o;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];if((d[195234]|0)>1){x=HB(c[((c[C>>2]&3|0)==3?C:D)+40>>2]|0)|0;D=HB(c[((c[C>>2]&3|0)==2?C:F)+40>>2]|0)|0;c[P>>2]=x;c[P+4>>2]=D;z4(J,110443,P)|0}bO(C,c[((c[C>>2]&3|0)==2?C:F)+40>>2]|0,k,G,25728);if((!z?(K=c[(c[E>>2]|0)+96>>2]|0,K|0):0)?(a[K+81>>0]|0)==0:0){c[H>>2]=c[L>>2];c[H+4>>2]=c[L+4>>2];c[H+8>>2]=c[L+8>>2];c[H+12>>2]=c[L+12>>2];c[I>>2]=c[M>>2];c[I+4>>2]=c[M+4>>2];c[I+8>>2]=c[M+8>>2];c[I+12>>2]=c[M+12>>2];wO(b,C,H,I)}y=y+1|0}l6(j);l=Q;return}function CQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[d>>3]+ +h[b>>3];e=b+8|0;h[e>>3]=+h[d+8>>3]+ +h[e>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function DQ(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=HQ(c[b+24>>2]|0,a)|0;b=c[e+36>>2]|0;d=+h[b+40>>3];return +(d+ +(c[a+44>>2]|0)/+((c[e+24>>2]|0)+1|0)*(+h[b+56>>3]-d))}function EQ(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=HQ(c[b+20>>2]|0,a)|0;b=c[e+36>>2]|0;d=+h[b+48>>3];return ~~(d+(1.0-+(c[a+44>>2]|0)/+((c[e+24>>2]|0)+1|0))*(+h[b+64>>3]-d))|0}function FQ(a){a=a|0;return 0}function GQ(a){a=a|0;return 0}function HQ(a,b){a=a|0;b=b|0;a=eb[c[a>>2]&63](a,b+8|0,512)|0;if(!a)Aa(110456,110462,423,110470);a=c[a+16>>2]|0;a=eb[c[a>>2]&63](a,b+16|0,512)|0;if(!a)Aa(110481,110462,425,110470);else return a|0;return 0}function IQ(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;z=l;l=l+32|0;y=z+16|0;u=z+8|0;m=z;j=c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;t=c[f+4>>2]|0;if(!(a[t>>0]|0)){s=+h[j+56>>3];k=+h[j+40>>3];j=EQ(t,g)|0;k=(s+k)*.5}else{s=+h[j+64>>3];k=+h[j+48>>3];j=~~((s+k)*.5);k=+DQ(t,g)}A=~~k;p=+h[i>>3];r=+(A|0);p=p>3]=p;v=i+8|0;q=+h[v>>3];s=+(j|0);q=q>3]=q;w=i+16|0;k=+h[w>>3];r=k>r?k:r;h[w>>3]=r;x=i+24|0;k=+h[x>>3];s=k>s?k:s;h[x>>3]=s;c[m>>2]=A;c[m+4>>2]=j;z4(d,110983,m)|0;o=c[f>>2]|0;m=t;n=1;f=A;while(1){if((n|0)>=(o|0))break;m=t+(n*56|0)|0;if(!(a[m>>0]|0))j=EQ(m,g)|0;else f=~~+DQ(m,g);B=+(f|0);D=p>3]=D;k=+(j|0);C=q>3]=C;B=r>B?r:B;h[w>>3]=B;k=s>k?s:k;h[x>>3]=k;c[u>>2]=f;c[u+4>>2]=j;z4(d,111005,u)|0;n=n+1|0;p=D;q=C;r=B;s=k}j=c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if(!(a[m>>0]|0)){D=+h[j+56>>3];k=+h[j+40>>3];j=EQ(m,g)|0;k=(D+k)*.5}else{D=+h[j+64>>3];k=+h[j+48>>3];j=~~((D+k)*.5);k=+DQ(m,g)}A=~~k;C=+(A|0);h[i>>3]=p>3]=q>3]=r>C?r:C;h[x>>3]=s>D?s:D;c[y>>2]=A;c[y+4>>2]=j;z4(d,111019,y)|0;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];c[b+16>>2]=c[i+16>>2];c[b+20>>2]=c[i+20>>2];c[b+24>>2]=c[i+24>>2];c[b+28>>2]=c[i+28>>2];l=z;return}function JQ(a){a=a|0;var b=0;a=Qz(a)|0;while(1){if(!a)break;b=Qz(c[a+16>>2]|0)|0;while(1){if(!b)break;c[b+32>>2]=mR(c[b+24>>2]|0)|0;b=c[b>>2]|0}a=c[a>>2]|0}return}function KQ(a){a=a|0;var b=0;a=Qz(a)|0;while(1){if(!a)break;b=Qz(c[a+16>>2]|0)|0;while(1){if(!b)break;if(c[b+24>>2]|0)aR(b);b=c[b>>2]|0}a=c[a>>2]|0}return}function LQ(a,b){a=a|0;b=b|0;var d=0;d=Qz(a)|0;while(1){if(!d)break;a=Qz(c[d+16>>2]|0)|0;while(1){if(!a)break;QQ(a,b);a=c[a>>2]|0}d=c[d>>2]|0}return}function MQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0;e=Qz(a)|0;while(1){if(!e)break;i=e+8|0;f=Qz(c[e+16>>2]|0)|0;while(1){if(!f)break;a=f+24|0;a:do if(c[a>>2]|0){if(c[47394]&8|0)NQ(f,~~+h[i>>3]);g=f+32|0;rR(c[g>>2]|0);b=c[a>>2]|0;d=f+28|0;a=0;while(1){if((a|0)>=(b|0))break a;c[(c[(c[d>>2]|0)+(a<<2)>>2]|0)+44>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+(a*12|0)+4>>2]|0)+1;a=a+1|0}}while(0);f=c[f>>2]|0}e=c[e>>2]|0}return}function NQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+32|0;d=j;g=a+24|0;a:do if((c[g>>2]|0)>=2){i=c[15715]|0;m=+h[a+8>>3];k=+h[a+16>>3];c[d>>2]=b;h[d+8>>3]=m;h[d+16>>3]=k;z4(i,111040,d)|0;f=a+32|0;a=a+28|0;b=0;while(1){if((b|0)>=(c[g>>2]|0))break a;e=c[(c[(c[f>>2]|0)+4>>2]|0)+(b*12|0)+8>>2]|0;b:do if(Uz(e)|0){OQ(i,c[(c[a>>2]|0)+(b<<2)>>2]|0);Z3(111060,i)|0;d=eb[c[e>>2]&63](e,0,128)|0;while(1){if(!d)break b;Z3(111065,i)|0;OQ(i,c[(c[a>>2]|0)+(c[d>>2]<<2)>>2]|0);Z3(153748,i)|0;d=eb[c[e>>2]&63](e,d,8)|0}}while(0);b=b+1|0}}while(0);l=j;return}function OQ(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;m=l;l=l+80|0;k=m+40|0;j=m;n=(a[d>>0]|0)==0;i=+h[d+8>>3];e=+h[d+24>>3];f=+h[d+16>>3];g=PQ(c[d+32>>2]|0)|0;d=PQ(c[d+36>>2]|0)|0;if(n){h[k>>3]=f;h[k+8>>3]=i;h[k+16>>3]=e;h[k+24>>3]=i;c[k+32>>2]=g;c[k+36>>2]=d;z4(b,111071,k)|0}else{h[j>>3]=i;h[j+8>>3]=f;h[j+16>>3]=i;h[j+24>>3]=e;c[j+32>>2]=g;c[j+36>>2]=d;z4(b,111071,j)|0}l=m;return}function PQ(a){a=a|0;switch(a|0){case 0:{a=111122;break}case 1:{a=111117;break}case 2:{a=111110;break}case 3:{a=111103;break}case 4:{a=111095;break}default:a=0}return a|0}function QQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;r=w+8|0;t=w;u=c[a+32>>2]|0;v=c[a+28>>2]|0;p=a+24|0;m=r+4|0;n=t+4|0;j=0;a=c[p>>2]|0;a:while(1){q=j+1|0;if((q|0)>=(a|0))break;o=v+(j<<2)|0;k=q;while(1){if((k|0)>=(a|0)){j=q;continue a}b:do if(((qR(u,j,k)|0)==0?(qR(u,k,j)|0)==0:0)?(s=v+(k<<2)|0,RQ(c[o>>2]|0,c[s>>2]|0)|0):0){f=c[o>>2]|0;a=c[f+48>>2]|0;i=c[s>>2]|0;d=c[i+48>>2]|0;e=(d|0)==0;if(a)if(e)a=1;else a=+h[a+8>>3]!=+h[d+8>>3];else a=e^1;g=a&1;SQ(r,f,i,0,g);a=c[r>>2]|0;i=c[m>>2]|0;f=g^1;SQ(t,c[o>>2]|0,c[s>>2]|0,1,f);d=c[t>>2]|0;e=c[n>>2]|0;switch(i|0){case -1:{TQ(c[s>>2]|0,c[o>>2]|0,g,0,a,b);TQ(c[s>>2]|0,c[o>>2]|0,f,1,d,b);if((e|0)!=1)break b;UQ(c[o>>2]|0,c[s>>2]|0,f,b);break b}case 0:switch(e|0){case -1:{TQ(c[s>>2]|0,c[o>>2]|0,g,0,a,b);TQ(c[s>>2]|0,c[o>>2]|0,f,1,d,b);break b}case 0:{TQ(c[o>>2]|0,c[s>>2]|0,0,g,a,b);TQ(c[o>>2]|0,c[s>>2]|0,1,f,d,b);break b}case 1:{TQ(c[o>>2]|0,c[s>>2]|0,0,g,a,b);TQ(c[o>>2]|0,c[s>>2]|0,1,f,d,b);break b}default:break b}case 1:{TQ(c[o>>2]|0,c[s>>2]|0,0,g,a,b);TQ(c[o>>2]|0,c[s>>2]|0,1,f,d,b);if((e|0)!=-1)break b;UQ(c[o>>2]|0,c[s>>2]|0,f,b);break b}default:break b}}while(0);k=k+1|0;a=c[p>>2]|0}}l=w;return}function RQ(a,b){a=a|0;b=b|0;if(!(+h[a+8>>3]==+h[b+8>>3]))Aa(111193,110462,843,111224);if((+h[a+16>>3]==+h[b+16>>3]?+h[a+24>>3]==+h[b+24>>3]:0)?(c[a+32>>2]|0)==(c[b+32>>2]|0):0)a=(c[a+36>>2]|0)==(c[b+36>>2]|0);else a=0;return a&1|0}function SQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){b=VQ(b,e)|0;h=g+1|0;if(!b){i=0;break}d=VQ(d,f)|0;if(!d){j=5;break}if(!(RQ(b,d)|0)){j=6;break}else g=h}if((j|0)==5)Aa(138697,110462,871,111142);else if((j|0)==6)i=XQ(b,WQ(b,d)|0,h,1-e|0)|0;c[a>>2]=g;c[a+4>>2]=i;return}function TQ(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i+24|0;v=i+20|0;i=HQ(c[((a[b>>0]|0)==0?v:w)>>2]|0,b)|0;oR(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0);s=1;while(1){if((s|0)>(g|0))break;t=VQ(b,e)|0;u=VQ(d,f)|0;j=i+32|0;k=b+40|0;l=d+40|0;m=t+8|0;n=b+36|0;o=b+32|0;p=b+16|0;q=u+40|0;r=t+40|0;do if(!(a[b>>0]|0)){i=HQ(c[w>>2]|0,t)|0;j=c[j>>2]|0;d=c[k>>2]|0;b=c[l>>2]|0;if(+h[m>>3]==+h[p>>3]){p=(c[o>>2]|0)==1;j=(qR(j,d,b)|0)!=0;k=c[i+32>>2]|0;d=c[q>>2]|0;b=c[r>>2]|0;if(p)if(j){oR(k,d,b);break}else{oR(k,b,d);break}else if(j){oR(k,b,d);break}else{oR(k,d,b);break}}else{p=(c[n>>2]|0)==1;j=(qR(j,d,b)|0)!=0;k=c[i+32>>2]|0;d=c[q>>2]|0;b=c[r>>2]|0;if(p)if(j){oR(k,b,d);break}else{oR(k,d,b);break}else if(j){oR(k,d,b);break}else{oR(k,b,d);break}}}else{i=HQ(c[v>>2]|0,t)|0;j=c[j>>2]|0;d=c[k>>2]|0;b=c[l>>2]|0;if(+h[m>>3]==+h[p>>3]){p=(c[o>>2]|0)==2;j=(qR(j,d,b)|0)!=0;k=c[i+32>>2]|0;d=c[q>>2]|0;b=c[r>>2]|0;if(p)if(j){oR(k,b,d);break}else{oR(k,d,b);break}else if(j){oR(k,d,b);break}else{oR(k,b,d);break}}else{p=(c[n>>2]|0)==2;j=(qR(j,d,b)|0)!=0;k=c[i+32>>2]|0;d=c[q>>2]|0;b=c[r>>2]|0;if(p)if(j){oR(k,d,b);break}else{oR(k,b,d);break}else if(j){oR(k,b,d);break}else{oR(k,d,b);break}}}while(0);b=t;d=u;s=s+1|0}return}function UQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;while(1){if(!(RQ(b,d)|0))break;g=VQ(b,1)|0;d=VQ(d,e)|0;b=g}g=c[(HQ(c[((a[b>>0]|0)==0?f+20|0:f+24|0)>>2]|0,b)|0)+32>>2]|0;pR(g,c[b+40>>2]|0,c[d+40>>2]|0);return}function VQ(a,b){a=a|0;b=b|0;if(!a)Aa(111129,110462,798,111133);else return c[((b|0)==0?a+48|0:a+52|0)>>2]|0;return 0}function WQ(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=a[b>>0]|0;if(d<<24>>24==(a[c>>0]|0)?!(+h[b+8>>3]!=+h[c+8>>3]):0){if(!(d<<24>>24))b=YQ(b,c,3,1)|0;else b=YQ(b,c,4,2)|0;l=f;return b|0}dA(1,111155,e)|0;Ca(189580,1);return 0}function XQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;m=1;while(1){if((m|0)>(e|0))break;l=VQ(b,f)|0;g=+h[l+8>>3]==+h[b+16>>3];k=0-d|0;i=b+36|0;j=b+32|0;do if(!(a[b>>0]|0))if(g){g=(c[j>>2]|0)==1;break}else{g=(c[i>>2]|0)==3;break}else if(g){g=(c[j>>2]|0)==4;break}else{g=(c[i>>2]|0)==2;break}while(0);b=l;m=m+1|0;d=g?k:d}return d|0}function YQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0,q=0,r=0,s=0;p=+h[a+24>>3];i=+h[b+16>>3];do if(!(p>3],m=+h[b+24>>3],!(f>m)):0){if(i>2]|0;return ((d|0)==(c[b>>2]|0)?0:(d|0)==(e|0)?1:-1)|0}else{b=c[a>>2]|0;b=(b|0)==(c[g>>2]|0)?0:(b|0)==(e|0)?1:-1;break}q=c[b>>2]|0;r=c[a>>2]|0;if(!(p==m))if(p>2]|0)==(d|0);b=$Q(q,r,d,e)|0;b=s?b:0-b|0;break}else{s=(c[g>>2]|0)==(e|0);b=$Q(r,q,d,e)|0;b=s?b:0-b|0;break}n=c[g>>2]|0;if((r|0)==(q|0)?(c[s>>2]|0)==(n|0):0){b=0;break}o=(q|0)==(d|0);j=(r|0)!=(e|0);b=(r|0)!=(d|0);k=(q|0)==(e|0);if((q|0)==(n|0)){if(o|k){b=o?1:-1;break}if(b?(c[s>>2]|0)!=(d|0):0){b=1;break}if(j?(c[s>>2]|0)!=(e|0):0){b=-1;break}b=0;break}l=(n|0)!=(e|0);if(!(l|o^1)){if(b?(c[s>>2]|0)==(e|0):0){b=1;break}if((r|0)==(d|0)?(c[s>>2]|0)!=(e|0):0){b=-1;break}b=0;break}g=c[s>>2]|0;a=(n|0)!=(d|0);if(!(a|k^1)){if((r|0)==(e|0)&(g|0)!=(d|0)){b=1;break}return (j&(g|0)==(d|0))<<31>>31|0}b=(q|0)!=0;if(!(b|a)){b=_Q(r,g,d)|0;break}if(!(b|l)){b=0-(_Q(r,g,e)|0)|0;break}if(o&(n|0)==0){b=_Q(g,r,d)|0;break}else{b=0-(_Q(g,r,e)|0)|0;break}}else b=0;while(0);return b|0}function ZQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0;i=+h[a+24>>3];j=+h[b+24>>3];k=a+36|0;f=b+32|0;do if(i>2]|0;if((a|0)==(d|0)?(c[f>>2]|0)==(e|0):0){a=-1;break}if((a|0)==(e|0)?(c[f>>2]|0)==(d|0):0){a=1;break}a=0}else{f=c[f>>2]|0;g=(f|0)==(e|0);a=b+36|0;if(i==j){f=c[a>>2]|0;a=c[k>>2]|0;if(g){a=$Q(a,f,d,e)|0;break}else{a=0-($Q(f,a,d,e)|0)|0;break}}if(g?(c[a>>2]|0)==(e|0):0){a=-1;break}if((f|0)==(d|0)?(c[a>>2]|0)==(d|0):0){a=1;break}a=0}while(0);return a|0}function _Q(a,b,c){a=a|0;b=b|0;c=c|0;return ((a|0)==(c|0)?((b|0)==(c|0))<<31>>31:1)|0}function $Q(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(d|0)){b=(a|0)==0;if(b)return 0;else b=b&1}return ((a|0)!=0|(b|0)!=(c|0))<<31>>31|0}function aR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=c[a+28>>2]|0;h=c[a+24>>2]|0;d=c[a+32>>2]|0;a=0;a:while(1){e=a+1|0;if((e|0)>=(h|0))break;f=g+(a<<2)|0;b=e;while(1){if((b|0)==(h|0)){a=e;continue a}switch(WQ(c[f>>2]|0,c[g+(b<<2)>>2]|0)|0){case 1:{oR(d,a,b);break}case -1:{oR(d,b,a);break}default:{}}b=b+1|0}}return}function bR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+24|0;e=c[f>>2]|0;d=e+1|0;c[f>>2]=d;c[b+40>>2]=e;e=a+28|0;a=c[e>>2]|0;if(!a)a=IK(d<<2)|0;else a=KK(a,d<<2)|0;c[e>>2]=a;c[a+((c[f>>2]|0)+-1<<2)>>2]=b;return}function cR(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;h[f>>3]=d;e=eb[c[a>>2]&63](a,f,512)|0;if(!e){e=HK(24)|0;h[e+8>>3]=+h[f>>3];c[e+16>>2]=Sz(25776,c[4591]|0)|0;eb[c[a>>2]&63](a,e,1)|0}f=c[e+16>>2]|0;eb[c[f>>2]&63](f,b,1)|0;l=g;return}function dR(a,b,d){a=a|0;b=b|0;d=d|0;nR(c[b+32>>2]|0);l6(c[b+28>>2]|0);l6(b);return}function eR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];f=+h[c>>3];d=c+8|0;a=b+8|0;if(!(e>f))if(e>3]>=+h[d>>3])<<31>>31;else a=0;else a=!(+h[a>>3]<=+h[d>>3])&1;return a|0}function fR(a,b,d){a=a|0;b=b|0;d=d|0;Oz(c[b+16>>2]|0)|0;l6(b);return}function gR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[b>>3];e=+h[c>>3];return (f>e?1:(f>31)|0}function hR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0;m=(a[d+36>>0]|0)!=0;k=e+40|0;j=e+48|0;i=e+64|0;l=e+56|0;do if((c[d+24>>2]|0)==(e|0)){f=+h[k>>3];g=+h[j>>3];if(m){g=(g+ +h[i>>3])*.5;break}else{f=(f+ +h[l>>3])*.5;break}}else{g=+h[i>>3];f=+h[l>>3];if(m){g=(g+ +h[j>>3])*.5;break}else{f=(f+ +h[k>>3])*.5;break}}while(0);h[b>>3]=f;h[b+8>>3]=g;return}function iR(a,b){a=a|0;b=b|0;var d=0;d=c[a+20>>2]|0;if((d|0)!=(c[b+20>>2]|0)?(d|0)!=(c[b+24>>2]|0):0)d=c[a+24>>2]|0;return d|0}function jR(a,b){a=a|0;b=b|0;var c=0.0;c=(+h[b+48>>3]+ +h[b+64>>3])*.5;h[a>>3]=(+h[b+40>>3]+ +h[b+56>>3])*.5;h[a+8>>3]=c;return}function kR(b,d,e,f,g,i,j){b=b|0;d=d|0;e=+e;f=+f;g=+g;i=i|0;j=j|0;var k=0,l=0,m=0;a[b>>0]=d;h[b+8>>3]=e;d=b+16|0;k=b+32|0;l=b+36|0;m=b+24|0;if(f>3]=f;h[m>>3]=g;c[k>>2]=i;c[l>>2]=j;d=0}else{h[m>>3]=f;h[d>>3]=g;c[l>>2]=i;c[k>>2]=j;d=1}a[b+1>>0]=d;return}function lR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;f=c[b+36>>2]|0;i=b+64|0;g=b+56|0;e=b+40|0;do if((c[f+4>>2]|0)!=(d|0)){b=b+48|0;if((c[f+12>>2]|0)==(d|0)){e=~~((+h[e>>3]+ +h[g>>3])*.5);b=~~+h[b>>3];break}if((c[f+8>>2]|0)==(d|0)){e=~~+h[e>>3];b=~~((+h[b>>3]+ +h[i>>3])*.5);break}if((c[f>>2]|0)==(d|0)){e=~~+h[g>>3];b=~~((+h[b>>3]+ +h[i>>3])*.5)}else{e=0;b=0}}else{e=~~((+h[e>>3]+ +h[g>>3])*.5);b=~~+h[i>>3]}while(0);c[a>>2]=e;c[a+4>>2]=b;return}function mR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=HK(8)|0;c[d>>2]=a;e=d+4|0;c[e>>2]=HK(a*12|0)|0;b=0;while(1){if((b|0)>=(a|0))break;g=NU()|0;f=c[e>>2]|0;c[f+(b*12|0)+8>>2]=g;c[f+(b*12|0)>>2]=0;b=b+1|0}return d|0}function nR(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;b=0;while(1){e=c[d>>2]|0;if((b|0)>=(c[a>>2]|0))break;Oz(c[e+(b*12|0)+8>>2]|0)|0;b=b+1|0}l6(e);l6(a);return}function oR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=c[(c[a+4>>2]|0)+(b*12|0)+8>>2]|0;eb[c[d>>2]&63](d,f,1)|0;l=e;return}function pR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;c[f>>2]=d;a=a+4|0;g=c[(c[a>>2]|0)+(b*12|0)+8>>2]|0;eb[c[g>>2]&63](g,f,2)|0;c[f>>2]=b;d=c[(c[a>>2]|0)+(d*12|0)+8>>2]|0;eb[c[d>>2]&63](d,f,2)|0;l=e;return}function qR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=c[(c[a+4>>2]|0)+(b*12|0)+8>>2]|0;d=(eb[c[d>>2]&63](d,f,512)|0)!=0&1;l=e;return d|0}function rR(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;do if(b|0){f=a+4|0;if((b|0)==1){c[(c[f>>2]|0)+4>>2]=0;break}e=sR(b)|0;d=0;b=0;while(1){if((d|0)>=(c[a>>2]|0)){b=0;break}if(!(c[(c[f>>2]|0)+(d*12|0)>>2]|0))b=tR(a,d,b,e)|0;d=d+1|0}while(1){d=uR(e)|0;if((d|0)<=-1)break;c[(c[f>>2]|0)+(d*12|0)+4>>2]=b;b=b+1|0}vR(e)}while(0);return}function sR(a){a=a|0;var b=0;b=HK(8)|0;c[b+4>>2]=HK(a<<2)|0;c[b>>2]=-1;return b|0}function tR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+4|0;g=c[i>>2]|0;j=g+(b*12|0)|0;c[j>>2]=1;g=c[g+(b*12|0)+8>>2]|0;h=g+4|0;d=d+1|0;g=Qz(g)|0;while(1){if(!g)break;f=c[(c[h>>2]|0)+8>>2]|0;if((f|0)<0)f=c[g+8>>2]|0;else f=g+(0-f)|0;f=c[f>>2]|0;if(!(c[(c[i>>2]|0)+(f*12|0)>>2]|0))d=tR(a,f,d,e)|0;g=c[g>>2]|0}c[j>>2]=2;wR(e,b);return d+1|0}function uR(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if((b|0)==-1)a=-1;else{d=c[(c[a+4>>2]|0)+(b<<2)>>2]|0;c[a>>2]=b+-1;a=d}return a|0}function vR(a){a=a|0;l6(c[a+4>>2]|0);l6(a);return}function wR(a,b){a=a|0;b=b|0;var d=0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[(c[a+4>>2]|0)+(d<<2)>>2]=b;return}function xR(a){a=a|0;var d=0,e=0,f=0;e=c[a>>2]|0;c[a+8>>2]=e;c[a+12>>2]=c[a+4>>2];d=a+16|0;a=0;while(1){if((a|0)>=(e|0))break;f=c[d>>2]|0;b[f+(a*40|0)+18>>1]=b[f+(a*40|0)+16>>1]|0;a=a+1|0}return}function yR(a){a=a|0;var d=0,e=0,f=0;d=c[a+8>>2]|0;c[a>>2]=d;c[a+4>>2]=c[a+12>>2];e=a+16|0;a=0;while(1){if((a|0)>=(d|0))break;f=c[e>>2]|0;b[f+(a*40|0)+16>>1]=b[f+(a*40|0)+18>>1]|0;a=a+1|0}d=d+2|0;while(1){if((a|0)>=(d|0))break;b[(c[e>>2]|0)+(a*40|0)+16>>1]=0;a=a+1|0}return}function zR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=HK(((c[a>>2]|0)*6|0)+(b<<1)<<2)|0;c[a+20>>2]=HK((((c[a>>2]|0)*3|0)+b|0)*24|0)|0;e=c[a>>2]|0;f=a+16|0;a=0;while(1){if((a|0)>=(e|0))break;c[(c[f>>2]|0)+(a*40|0)+28>>2]=d;d=d+24|0;a=a+1|0}e=e+2|0;while(1){if((a|0)>=(e|0))break;c[(c[f>>2]|0)+(a*40|0)+28>>2]=d;d=d+(b<<2)|0;a=a+1|0}return}function AR(a){a=a|0;var b=0;b=HK(24)|0;c[b>>2]=0;c[b+16>>2]=HK(a*40|0)|0;return b|0}function BR(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=c[a>>2]|0;c[d+(b*40|0)+32>>2]=b;c[a>>2]=b+1;return d+(b*40|0)|0}function CR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0;g=a+4|0;f=c[g>>2]|0;c[g>>2]=f+1;g=c[a+20>>2]|0;a=g+(f*24|0)|0;c[g+(f*24|0)+12>>2]=c[b+32>>2];c[g+(f*24|0)+16>>2]=c[d+32>>2];h[a>>3]=e;c[g+(f*24|0)+8>>2]=0;DR(b,f);DR(d,f);return a|0}function DR(a,d){a=a|0;d=d|0;var e=0,f=0;e=a+16|0;f=b[e>>1]|0;c[(c[a+28>>2]|0)+(f<<16>>16<<2)>>2]=d;b[e>>1]=f+1<<16>>16;return}function ER(a){a=a|0;var b=0;b=a+16|0;l6(c[(c[b>>2]|0)+28>>2]|0);l6(c[b>>2]|0);l6(c[a+20>>2]|0);l6(a);return}function FR(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a>>2]|0;i=a+16|0;f=0;while(1){if((f|0)>=(g|0))break;c[(c[i>>2]|0)+(f*40|0)>>2]=-2147483648;f=f+1|0}VU();a:do if(!(YU(d)|0)){c[d+8>>2]=0;c[d>>2]=0;d=a+20|0;b:while(1){g=_U()|0;if(!g){f=0;break a}c[g>>2]=0-(c[g>>2]|0);if((g|0)==(e|0)){f=0;break a}i=g+16|0;j=g+28|0;f=0;while(1){if((f|0)>=(b[i>>1]|0))continue b;k=(c[d>>2]|0)+((c[(c[j>>2]|0)+(f<<2)>>2]|0)*24|0)|0;l=GR(a,k,g)|0;m=c[l>>2]|0;do if((m|0)<0){n=~~-(+(c[g>>2]|0)+ +h[k>>3]);if((m|0)==-2147483648){c[l>>2]=n;if(YU(l)|0){f=1;break a}c[l+8>>2]=g;c[l+12>>2]=k;break}else{if((m|0)>=(n|0))break;$U(l,n);c[l+8>>2]=g;c[l+12>>2]=k;break}}while(0);f=f+1|0}}}else f=1;while(0);return f|0}function GR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+12>>2]|0;if((e|0)==(c[d+32>>2]|0))e=c[b+16>>2]|0;return (c[a+16>>2]|0)+(e*40|0)|0}function HR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[a>>2]|0;JF(d,3,b)|0;b=c[d+92>>2]|0;do if(b){e=c[b+16>>2]|0;h=c[e+12>>2]|0;c[a+76>>2]=h;f=c[e+16>>2]|0;c[a+84>>2]=f;g=a+80|0;c[g>>2]=c[e>>2];c[a+88>>2]=c[b+4>>2];e=a+152|0;f=c[e>>2]|c[f>>2];c[e>>2]=f;b=c[d+80>>2]|0;d=a+60|0;if(!b){c[d>>2]=0;b=999;break}else{i=c[b+16>>2]|0;c[d>>2]=c[i+12>>2];d=c[i+16>>2]|0;c[a+68>>2]=d;c[a+72>>2]=c[b+4>>2];c[e>>2]=f|c[d>>2];c[a+64>>2]=c[((h|0)==0?g:i)>>2];b=300;break}}else b=999;while(0);return b|0}function IR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(!(iF(a)|0))if((b|0)!=0?(d=c[b>>2]|0,(d|0)!=0):0){db[d&127](a);a=0}else a=0;else a=1;return a|0}function JR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+4>>2]|0,d|0):0)db[d&127](a);c[(c[a>>2]|0)+24>>2]=0;qF(a);return}function KR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0.0;j=+h[b+504>>3];g=+h[b+512>>3];l=+h[b+352>>3];k=(c[b+360>>2]|0)==0;i=+h[d>>3];f=+h[d+8>>3];e=l*+h[b+528>>3]*((k?g:j)+(k?f:i));h[a>>3]=l*+h[b+520>>3]*(k?j+i:-(g+f));h[a+8>>3]=e;return}function LR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0;f=+h[a+504>>3];g=+h[a+512>>3];i=+h[a+352>>3];j=i*+h[a+520>>3];i=i*+h[a+528>>3];a:do if(!(c[a+360>>2]|0)){a=0;while(1){if((a|0)>=(e|0))break a;h[d+(a<<4)>>3]=j*(f+ +h[b+(a<<4)>>3]);h[d+(a<<4)+8>>3]=i*(g+ +h[b+(a<<4)+8>>3]);a=a+1|0}}else{a=0;while(1){if((a|0)>=(e|0))break a;k=-(j*(g+ +h[b+(a<<4)+8>>3]));h[d+(a<<4)+8>>3]=i*(f+ +h[b+(a<<4)>>3]);h[d+(a<<4)>>3]=k;a=a+1|0}}while(0);return d|0}function MR(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+8>>2]|0,d|0):0)db[d&127](a);return}function NR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+12>>2]|0,d|0):0)db[d&127](a);pF(a);return}function OR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+24>>2]|0,d|0):0)db[d&127](a);return}function PR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+28>>2]|0,d|0):0)db[d&127](a);return}function QR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+16>>2]|0,d|0):0){b=c[a+160>>2]|0;xb[d&31](a,c[(c[(c[a>>2]|0)+308>>2]|0)+(b<<2)>>2]|0,b,c[a+156>>2]|0)}return}function RR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+20>>2]|0,d|0):0)db[d&127](a);return}function SR(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+32>>2]|0,d|0):0)db[d&127](a);return}function TR(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+36>>2]|0,d|0):0)db[d&127](a);return}function UR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+40>>2]|0,d|0):0)db[d&127](a);return}function VR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+44>>2]|0,d|0):0)db[d&127](a);return}function WR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+48>>2]|0,d|0):0)db[d&127](a);return}function XR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+52>>2]|0,d|0):0)db[d&127](a);return}function YR(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+56>>2]|0,d|0):0)db[d&127](a);return}function ZR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+60>>2]|0,d|0):0)db[d&127](a);return}function _R(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+64>>2]|0,d|0):0)db[d&127](a);return}function $R(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+68>>2]|0,d|0):0)db[d&127](a);return}function aS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[a+60>>2]|0;if(g|0?(h=c[g+72>>2]|0,h|0):0)fb[h&31](a,b,d,e,f);return}function bS(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+76>>2]|0,d|0):0)db[d&127](a);return}function cS(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+60>>2]|0;if(d|0?(e=c[d+80>>2]|0,e|0):0)lb[e&63](a,b);return}function dS(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+84>>2]|0,d|0):0)db[d&127](a);return}function eS(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;f=k+32|0;h=k;i=k+16|0;j=c[b+60>>2]|0;m=c[e>>2]|0;do if(m|0?a[m>>0]|0:0){m=c[b+16>>2]|0;if(m|0?(c[m+144>>2]|0)==0:0)break;if(!(c[b+152>>2]&8192)){c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];KR(i,b,f);c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2]}else{c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2]}if(j|0?(g=c[j+88>>2]|0,g|0):0){c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];rb[g&127](b,f,e)}}while(0);l=k;return}function fS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[b+60>>2]|0;g=(c[b+16>>2]|0)+16|0;i=F3(d,58)|0;h=(i|0)!=0;if(h)a[i>>0]=0;if(f|0?(gS(c[b+68>>2]|0,d,g),e=c[f+92>>2]|0,e|0):0)lb[e&63](b,g);if(h)a[i>>0]=58;return}function gS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;j=k+8|0;i=k;c[d>>2]=b;c[d+32>>2]=5;e=xT(b)|0;f=c[a+16>>2]|0;if(!((f|0)!=0?(e6(e,f,c[a+20>>2]|0,4,102)|0)!=0:0))h=3;a:do if((h|0)==3){switch(yT(b,d,c[a+24>>2]|0)|0){case 0:break a;case 1:break;default:{dA(1,111347,g)|0;break a}}a=IK((D3(b)|0)+16|0)|0;c[i>>2]=b;i2(a,111312,i)|0;if(NJ(a)|0){c[j>>2]=b;dA(0,111321,j)|0}l6(a)}while(0);l=k;return}function hS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[b+60>>2]|0;g=(c[b+16>>2]|0)+56|0;i=F3(d,58)|0;h=(i|0)!=0;if(h)a[i>>0]=0;if(f|0?(gS(c[b+68>>2]|0,d,g),e=c[f+92>>2]|0,e|0):0)lb[e&63](b,g);if(h)a[i>>0]=58;return}function iS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0;h=c[a+60>>2]|0;i=a+16|0;j=(c[i>>2]|0)+96|0;if(h|0?(gS(c[a+68>>2]|0,b,j),f=c[h+92>>2]|0,f|0):0)lb[f&63](a,j);j=c[i>>2]|0;c[j+136>>2]=d;g[j+140>>2]=e;return}function jS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;j=c[b+60>>2]|0;b=c[b+16>>2]|0;c[b+160>>2]=d;a:do if((d|0)!=0&(j|0)!=0){j=b+144|0;i=b+152|0;g=b+148|0;b=d;b:while(1){f=b+4|0;b=c[b>>2]|0;if(!b)break a;c:do switch(a[b>>0]|0){case 115:{if(!(f2(b,111368)|0)){c[j>>2]=3;b=f;continue b}if(!(f2(b,111389)|0)){d=115;while(1){e=b+1|0;if(!(d<<24>>24))break;b=e;d=a[e>>0]|0}h[i>>3]=+a6(e);b=f;continue b}break}case 100:{if(!(f2(b,137628)|0)){c[j>>2]=1;b=f;continue b}if(!(f2(b,137621)|0)){c[j>>2]=2;b=f;continue b}break}case 105:{if(f2(b,134636)|0?f2(b,111374)|0:0)break c;c[j>>2]=0;b=f;continue b}case 98:{if(!(f2(b,111384)|0)){h[i>>3]=2.0;b=f;continue b}break}case 102:{if(!(f2(b,111402)|0)){c[g>>2]=1;b=f;continue b}break}case 117:{if(!(f2(b,111409)|0)){c[g>>2]=0;b=f;continue b}break}case 116:{if(!(f2(b,111418)|0)){b=f;continue b}break}default:{}}while(0);c[k>>2]=b;dA(0,111426,k)|0;b=f}}while(0);l=m;return}function kS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+32|0;g=j;d=c[a+60>>2]|0;if((d|0?(i=d+96|0,f=c[i>>2]|0,f|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){d=b+16|0;h[g>>3]=(+h[b>>3]+ +h[d>>3])*.5;h[g+8>>3]=(+h[b+8>>3]+ +h[b+24>>3])*.5;b=g+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];if(!(c[a+152>>2]&8192)){LR(a,g,g,2)|0;f=c[i>>2]|0}rb[f&127](a,g,e)}l=j;return}function lS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o;f=c[a+60>>2]|0;if((f|0?(n=f+100|0,c[n>>2]|0):0)?(k=a+16|0,g=c[k>>2]|0,c[g+144>>2]|0):0){j=g+16|0;if(!(e&4))g=0;else{i=g+56|0;e=e&-5;f=m;g=j;h=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));f=j;g=i;h=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));g=1}if(!(c[a+152>>2]&8192)){f=d+10|0;if((c[47434]|0)<(d|0)){c[47434]=f;f=KK(c[47435]|0,f<<4)|0;c[47435]=f}else f=c[47435]|0;LR(a,b,f,d)|0;xb[c[n>>2]&31](a,f,d,e)}else xb[c[n>>2]&31](a,b,d,e);if(g|0){f=(c[k>>2]|0)+16|0;g=m;h=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0))}}l=o;return}function mS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+64|0;f=e;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];g=f+32|0;b=b+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];h[f+16>>3]=+h[f>>3];h[f+24>>3]=+h[f+40>>3];h[f+48>>3]=+h[g>>3];h[f+56>>3]=+h[f+8>>3];lS(a,f,4,d);l=e;return}function nS(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=c[a+60>>2]|0;do if((h|0?(j=h+104|0,i=c[j>>2]|0,i|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){h=g&255;if(c[a+152>>2]&8192|0){ub[i&15](a,b,d,e,f,h);break}g=d+10|0;if((c[47434]|0)<(d|0)){c[47434]=g;g=KK(c[47435]|0,g<<4)|0;c[47435]=g}else g=c[47435]|0;LR(a,b,g,d)|0;ub[c[j>>2]&15](a,g,d,e,f,h)}while(0);return}function oS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a+60>>2]|0;do if((e|0?(g=e+108|0,f=c[g>>2]|0,f|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){if(c[a+152>>2]&8192|0){rb[f&127](a,b,d);break}e=d+10|0;if((c[47434]|0)<(d|0)){c[47434]=e;e=KK(c[47435]|0,e<<4)|0;c[47435]=e}else e=c[47435]|0;LR(a,b,e,d)|0;rb[c[g>>2]&127](a,e,d)}while(0);return}function pS(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+60>>2]|0;if((d|0?!((e|0)==0|(a[d>>0]|0)==0):0)?(f=c[e+112>>2]|0,f|0):0)lb[f&63](b,d);return}function qS(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;H=l;l=l+112|0;D=H+64|0;G=H;n=H+96|0;z=H+48|0;A=H+32|0;E=c[b+60>>2]|0;if(!b)Aa(111583,111479,691,111490);if(!d)Aa(111509,111479,692,111490);if(!(a[d>>0]|0))Aa(111514,111479,693,111490);F=LF(d)|0;if(!F){if((E|0)!=0&(gN(d)|0)!=0?(m=c[E+116>>2]|0,m|0):0)fb[m&31](b,d,e,f,g&255)}else{s=b+432|0;c[D>>2]=c[s>>2];c[D+4>>2]=c[s+4>>2];c[D+8>>2]=c[s+8>>2];c[D+12>>2]=c[s+12>>2];OF(n,F,D);s=c[n>>2]|0;m=c[n+4>>2]|0;if(!((s|0)<1&(m|0)<1)){n=G+16|0;c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];c[G>>2]=c[e>>2];c[G+4>>2]=c[e+4>>2];c[G+8>>2]=c[e+8>>2];c[G+12>>2]=c[e+12>>2];B=G+24|0;C=G+8|0;d=1;k=+h[G>>3];x=+h[C>>3];j=+h[n>>3];y=+h[B>>3];while(1){if((d|0)>=(f|0))break;I=e+(d<<4)|0;v=+h[I>>3];t=+h[(k>3];h[G>>3]=t;w=+h[e+(d<<4)+8>>3];u=+h[(x>3];h[C>>3]=u;v=+h[(j>v?n:I)>>3];h[n>>3]=v;w=+h[(y>w?n:I)+8>>3];h[B>>3]=w;d=d+1|0;k=t;x=u;j=v;y=w}v=j-k;w=y-x;o=+(m|0);p=+(s|0);t=v/p;q=w/o;u=o*q;r=p*t;a:do switch(rS(i)|0){case 1:if(t>3]=k;j=j-v;h[n>>3]=j}if(o>3]=w+x;h[B>>3]=y-w}if(!(c[b+152>>2]&8192)){c[D>>2]=c[G>>2];c[D+4>>2]=c[G+4>>2];c[D+8>>2]=c[G+8>>2];c[D+12>>2]=c[G+12>>2];KR(z,b,D);c[G>>2]=c[z>>2];c[G+4>>2]=c[z+4>>2];c[G+8>>2]=c[z+8>>2];c[G+12>>2]=c[z+12>>2];c[D>>2]=c[n>>2];c[D+4>>2]=c[n+4>>2];c[D+8>>2]=c[n+8>>2];c[D+12>>2]=c[n+12>>2];KR(A,b,D);c[n>>2]=c[A>>2];c[n+4>>2]=c[A+4>>2];c[n+8>>2]=c[A+8>>2];c[n+12>>2]=c[A+12>>2];k=+h[G>>3];j=+h[n>>3]}if(k>j){h[G>>3]=j;h[n>>3]=k}j=+h[C>>3];k=+h[B>>3];if(j>k){h[C>>3]=k;h[B>>3]=j}if(E|0){I=c[b+72>>2]|0;c[D>>2]=c[G>>2];c[D+4>>2]=c[G+4>>2];c[D+8>>2]=c[G+8>>2];c[D+12>>2]=c[G+12>>2];c[D+16>>2]=c[G+16>>2];c[D+20>>2]=c[G+20>>2];c[D+24>>2]=c[G+24>>2];c[D+28>>2]=c[G+28>>2];vS(b,F,D,g,I)}}}l=H;return}function rS(b){b=b|0;if(a[b>>0]|0)if(C3(b,141419)|0)if(C3(b,141351)|0)if(!(C3(b,111522)|0))b=4;else b=(bP(b)|0)<<24>>24!=0&1;else b=3;else b=2;else b=0;return b|0}function sS(a,b){a=a|0;b=+b;if(c[a+60>>2]|0)h[(c[a+16>>2]|0)+152>>3]=b;return}function tS(a,b){a=a|0;b=b|0;b=JF(a,1,b)|0;if(!b)b=999;else{b=c[b+16>>2]|0;c[a+184>>2]=c[b+4>>2];c[a+172>>2]=c[b+12>>2];c[a+176>>2]=c[b>>2];c[a+180>>2]=c[b+16>>2];b=300}return b|0}function uS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;RC(b,137786,280,1)|0;g=b+16|0;c[(c[g>>2]|0)+144>>2]=a;if((vC(b)|0)!=(b|0))c[(c[(vC(b)|0)+16>>2]|0)+144>>2]=a;d=NA(b,111527)|0;e=a+172|0;if((d|0)!=0?(c[e>>2]=0,(tS(a,d)|0)==999):0){h=KF(a,1,d)|0;c[f>>2]=d;c[f+4>>2]=h;dA(1,111534,f)|0;d=-1}else{e=c[e>>2]|0;if(!e)d=-1;else{PJ(1);oK(b,c[c[a+180>>2]>>2]&1);d=c[(c[g>>2]|0)+8>>2]|0;c[(c[(vC(b)|0)+16>>2]|0)+8>>2]=d;YN();d=c[e>>2]|0;if(d|0?(db[d&127](b),h=c[e+4>>2]|0,h|0):0)c[(c[g>>2]|0)+148>>2]=h;PJ(0);d=0}}l=i;return d|0}function vS(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+176|0;k=n+8|0;j=n;h=n+40|0;if(!b)Aa(111583,111587,52,111601);if(!d)Aa(111613,111587,53,111601);i=c[d+8>>2]|0;if(!i)Aa(111616,111587,54,111601);if(!(a[i>>0]|0))Aa(111625,111587,55,111601);O3(h,c[d+28>>2]|0)|0;i=h+(D3(h)|0)|0;a[i>>0]=58;a[i+1>>0]=0;g6(h,g)|0;if((wS(b,h)|0)==999){c[j>>2]=h;dA(0,111637,j)|0}g=c[b+92>>2]|0;if(g|0?(m=c[g>>2]|0,m|0):0){c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[k+16>>2]=c[e+16>>2];c[k+20>>2]=c[e+20>>2];c[k+24>>2]=c[e+24>>2];c[k+28>>2]=c[e+28>>2];xb[m&31](b,d,k,f)}l=n;return}function wS(a,b){a=a|0;b=b|0;b=JF(c[a>>2]|0,4,b)|0;if(!b)b=999;else{b=c[b+16>>2]|0;c[a+92>>2]=c[b+12>>2];c[a+96>>2]=c[b>>2];b=300}return b|0}function xS(a){a=a|0;return 1}function yS(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]+10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function zS(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]-10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function AS(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]-10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function BS(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]+10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function CS(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]*1.1;a[b+537>>0]=1;return 0}function DS(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]/1.1;a[b+537>>0]=1;return 0}function ES(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;e=b+536|0;d=(a[e>>0]|0)==0;a[e>>0]=d&1;if(d){d=c[b+448>>2]|0;e=c[b+452>>2]|0;i=+(d>>>0);g=+(e>>>0);f=i/+(d|0)>3]=(f?i:g)/+((f?d:e)|0);e=b+336|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a[b+537>>0]=1}return 0}function FS(b){b=b|0;var d=0,e=0;d=c[(c[b>>2]|0)+168>>2]|0;e=b+580|0;if(!(c[e>>2]|0)){c[e>>2]=d;e=(c[d+16>>2]|0)+112|0;a[e>>0]=a[e>>0]|2;VS(b,d)}qI(b,d);a[b+540>>0]=1;return}function GS(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+16|0;m=C;x=b+452|0;t=b+448|0;y=e+8|0;o=b+536|0;A=b+360|0;p=b+541|0;q=b+538|0;z=b+336|0;n=d&255;B=b+344|0;u=b+352|0;v=b+528|0;w=b+520|0;switch(d|0){case 1:{c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];OS(b,m);US(b);a[q>>0]=1;a[p>>0]=n;r=13;break}case 2:{a[q>>0]=1;a[p>>0]=n;r=13;break}case 3:{c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];OS(b,m);a[q>>0]=1;a[p>>0]=n;r=13;break}case 4:{a[o>>0]=0;j=+h[z>>3];k=+h[u>>3];i=+((c[t>>2]|0)>>>0)*.5;g=k*+h[w>>3];f=(+h[y>>3]-+((c[x>>2]|0)>>>0)*.5)*.10000000000000009/(k*+h[v>>3]);if(!(c[A>>2]|0))h[z>>3]=j+(+h[e>>3]-i)*.10000000000000009/g;else{h[z>>3]=j-f;f=(+h[e>>3]-i)*.10000000000000009/g}h[B>>3]=f+ +h[B>>3];h[u>>3]=k*1.1;r=13;break}case 5:{a[o>>0]=0;s=+h[u>>3]/1.1;h[u>>3]=s;k=+h[z>>3];j=+((c[t>>2]|0)>>>0)*.5;f=+h[v>>3];i=+h[w>>3];g=(+h[y>>3]-+((c[x>>2]|0)>>>0)*.5)*.10000000000000009;if(!(c[A>>2]|0))h[z>>3]=k-(+h[e>>3]-j)*.10000000000000009/(s*i);else{h[z>>3]=k+g/(s*f);g=(+h[e>>3]-j)*.10000000000000009;f=i}h[B>>3]=+h[B>>3]-g/(s*f);r=13;break}default:{}}if((r|0)==13)a[b+537>>0]=1;B=b+560|0;c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];l=C;return}function HS(b,c,d){b=b|0;c=c|0;d=d|0;a[b+538>>0]=0;a[b+541>>0]=0;return}function IS(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0.0;n=l;l=l+16|0;f=n;m=b+560|0;e=(+h[d>>3]-+h[m>>3])/+h[b+520>>3];g=(+h[d+8>>3]-+h[b+568>>3])/+h[b+528>>3];if(!(+F(+e)<.0001?+F(+g)<.0001:0)){switch(a[b+541>>0]|0){case 0:{c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];OS(b,f);break}case 2:{f=b+336|0;o=+h[b+352>>3];j=+h[f>>3];i=e/o;k=b+344|0;e=g/o;g=+h[k>>3];if(!(c[b+360>>2]|0)){h[f>>3]=j-i;e=g-e}else{h[f>>3]=j-e;e=i+g}h[k>>3]=e;a[b+537>>0]=1;break}default:{}}c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2]}l=n;return}function JS(a,b,c){a=a|0;b=b|0;c=c|0;return}function KS(a){a=a|0;return}function LS(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[b>>2]|0;if(d){d=f4(d,139124)|0;if(d|0){i=hF(d,0)|0;l4(d)|0;f=5}}else{i=hF(c[15808]|0,0)|0;f=5}if((f|0)==5?i|0:0){g=j+168|0;d=c[g>>2]|0;if(d|0){f=c[j+172>>2]|0;if((f|0)!=0?(h=c[f+4>>2]|0,(h|0)!=0):0){db[h&127](d);d=c[g>>2]|0}tK(d);pB(c[g>>2]|0)|0}WC(i,0,137786,280,1);WC(i,1,137750,304,1);WC(i,2,137763,176,1);c[g>>2]=i;c[(c[i+16>>2]|0)+144>>2]=j;if((lG(j,i,e)|0)!=-1){c[b+580>>2]=0;c[b+576>>2]=0;a[b+537>>0]=1}}return}function MS(a,b){a=a|0;b=b|0;a=c[a>>2]|0;lG(a,c[a+168>>2]|0,b)|0;return}function NS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;f=g+160|0;e=c[f>>2]|0;if((e|0)!=0?(c[g+164>>2]|0)==0:0){i=g+192|0;h=c[i>>2]|0;c[f>>2]=0;c[i>>2]=0;f=h}else{f=0;e=0}nG(g,c[g+168>>2]|0,b,d)|0;if(e|0){i=c[a>>2]|0;c[i+160>>2]=e;c[i+192>>2]=f}return}function OS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0;f=l;l=l+80|0;e=f+48|0;g=f;m=f+32|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];PS(m,b,e);k=+h[m>>3];j=+h[m+8>>3];i=1.0/+h[b+352>>3];h[g+16>>3]=k+i;h[g+24>>3]=j+i;h[g>>3]=k-i;h[g+8>>3]=j-i;d=c[(c[b>>2]|0)+168>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];d=QS(d,e)|0;e=b+576|0;if((d|0)!=(c[e>>2]|0)){RS(b);c[e>>2]=d;SS(b);a[b+537>>0]=1}l=f;return}function PS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;e=+h[b+352>>3];g=+h[d>>3];i=e*+h[b+520>>3];e=+h[d+8>>3]/(e*+h[b+528>>3]);if(!(c[b+360>>2]|0))f=g/i;else{f=e;e=-g/i}i=e-+h[b+512>>3];h[a>>3]=f-+h[b+504>>3];h[a+8>>3]=i;return}function QS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g;e=gC(a)|0;a:while(1){if(!e){e=9;break}d=UA(a,e)|0;while(1){if(!d)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if((hQ(d,f)|0)<<24>>24){e=6;break a}d=WA(a,d)|0}e=hC(a,e)|0}do if((e|0)!=6)if((e|0)==9){d=iC(a)|0;while(1){if(!d)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if((eQ(d,f)|0)<<24>>24){e=12;break}d=jC(a,d)|0}if((e|0)==12)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];d=TS(a,f)|0;if(!d){d=a;break}else break}while(0);l=g;return d|0}function RS(b){b=b|0;var d=0;d=c[b+576>>2]|0;a:do if(d|0)switch(FC(d)|0){case 0:{d=(c[d+16>>2]|0)+112|0;a[d>>0]=a[d>>0]&-2;break a}case 1:{d=(c[d+16>>2]|0)+117|0;a[d>>0]=a[d>>0]&-2;break a}case 2:{d=(c[d+16>>2]|0)+115|0;a[d>>0]=a[d>>0]&-2;break a}default:break a}while(0);c[b+584>>2]=0;return}function SS(b){b=b|0;var d=0,e=0;e=b+584|0;d=c[e>>2]|0;if(d|0){l6(d);c[e>>2]=0}d=c[b+576>>2]|0;a:do if(d|0)switch(FC(d)|0){case 0:{b=(c[d+16>>2]|0)+112|0;a[b>>0]=a[b>>0]|1;b=DA(d,0,141404,0)|0;if(!b)break a;c[e>>2]=CK(OA(d,b)|0,d)|0;break a}case 1:{b=(c[d+16>>2]|0)+117|0;a[b>>0]=a[b>>0]|1;b=DA(uC(d)|0,1,141404,0)|0;if(!b)break a;c[e>>2]=CK(OA(d,b)|0,d)|0;break a}case 2:{b=(c[d+16>>2]|0)+115|0;a[b>>0]=a[b>>0]|1;b=DA(uC(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0,2,141404,0)|0;if(!b)break a;c[e>>2]=CK(OA(d,b)|0,d)|0;break a}default:break a}while(0);return}function TS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+32|0;e=m;g=c[a+16>>2]|0;i=c[g+180>>2]|0;j=g+184|0;d=1;while(1){if((d|0)>(i|0)){k=4;break}f=c[(c[j>>2]|0)+(d<<2)>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];f=TS(f,e)|0;if(!f)d=d+1|0;else{a=f;break}}do if((k|0)==4){o=+h[g+24>>3];n=+h[g+40>>3];if(((+h[b+16>>3]>=+h[g+16>>3]?+h[g+32>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=o:0)?n>=+h[b+8>>3]:0)break;a=0}while(0);l=m;return a|0}function US(b){b=b|0;var d=0,e=0,f=0;f=b+580|0;d=c[f>>2]|0;a:do if(d|0)switch(FC(d)|0){case 0:{e=(c[d+16>>2]|0)+112|0;a[e>>0]=a[e>>0]&-7|4;break a}case 1:{e=(c[d+16>>2]|0)+117|0;a[e>>0]=a[e>>0]&-7|4;break a}case 2:{e=(c[d+16>>2]|0)+115|0;a[e>>0]=a[e>>0]&-7|4;break a}default:break a}while(0);d=b+588|0;e=c[d>>2]|0;if(e|0){l6(e);c[d>>2]=0}d=c[b+576>>2]|0;c[f>>2]=d;b:do if(d|0)switch(FC(d)|0){case 0:{f=(c[d+16>>2]|0)+112|0;a[f>>0]=a[f>>0]|2;VS(b,d);break b}case 1:{f=(c[d+16>>2]|0)+117|0;a[f>>0]=a[f>>0]|2;WS(b,d);break b}case 2:{f=(c[d+16>>2]|0)+115|0;a[f>>0]=a[f>>0]|2;XS(b,d);break b}default:break b}while(0);return}function VS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+592|0;do if((vC(b)|0)==(b|0))if(!(uB(b)|0)){EF(d,0,111795);break}else{EF(d,0,111787);break}else EF(d,0,111801);while(0);EF(d,1,HB(b)|0);c[a+596>>2]=2;f=a+604|0;d=0;e=2;while(1){d=IA(b,0,d)|0;if(!d)break;EF(f,e,c[d+8>>2]|0);EF(f,e+1|0,OA(b,d)|0);EF(f,e+2|0,0);e=e+3|0}c[a+608>>2]=e;d=DA(b,0,141358,0)|0;if(!d){d=DA(b,0,111778,0)|0;if(d|0)g=11}else g=11;if((g|0)==11)c[a+588>>2]=CK(OA(b,d)|0,b)|0;return}function WS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+592|0;EF(f,0,111782);EF(f,1,HB(b)|0);c[a+596>>2]=2;f=a+604|0;g=vC(uC(b)|0)|0;e=2;d=0;while(1){d=IA(g,1,d)|0;if(!d)break;EF(f,e,c[d+8>>2]|0);EF(f,e|1,OA(b,d)|0);e=e+2|0}c[a+608>>2]=e;d=DA(uC(b)|0,1,141358,0)|0;if(!d){d=DA(uC(b)|0,1,111778,0)|0;if(d|0)h=6}else h=6;if((h|0)==6)c[a+588>>2]=CK(OA(b,d)|0,b)|0;return}function XS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=a+592|0;EF(h,0,111751);k=b+48|0;EF(h,1,HB(c[((c[b>>2]&3|0)==3?b:k)+40>>2]|0)|0);k=(uB(uC(c[((c[b>>2]&3|0)==3?b:k)+40>>2]|0)|0)|0)!=0;EF(h,3,k?138041:142050);k=b+-48|0;EF(h,4,HB(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0);c[a+596>>2]=7;i=a+604|0;j=vC(uC(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0)|0;g=7;d=0;a:while(1){while(1){d=IA(j,2,d)|0;if(!d)break a;e=d+8|0;f=c[e>>2]|0;if(!(f2(f,111756)|0)){l=5;break}if(!(f2(f,111765)|0)){l=7;break}if(f2(f,111774)|0)break;EF(h,6,OA(b,d)|0)}if((l|0)==5){l=0;EF(h,2,OA(b,d)|0)}else if((l|0)==7){l=0;EF(h,5,OA(b,d)|0)}EF(i,g,c[e>>2]|0);EF(i,g+1|0,OA(b,d)|0);g=g+2|0}c[a+608>>2]=g;d=DA(uC(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0,2,141358,0)|0;if(!d){d=DA(uC(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0,2,111778,0)|0;if(d|0)l=13}else l=13;if((l|0)==13)c[a+588>>2]=CK(OA(b,d)|0,b)|0;return}function YS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=ZS(a,b,c[d>>2]|0)|0;d=c[d+4>>2]|0;while(1){f=c[d+4>>2]|0;if(!f)break;b=0;while(1){e=c[f+(b*20|0)+4>>2]|0;if(!e)break;HF(a,c[d>>2]|0,e,c[f+(b*20|0)+8>>2]|0,g,f+(b*20|0)|0)|0;b=b+1|0}d=d+8|0}return}function ZS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=IK(12)|0;if(!b)b=0;else b=Y3(b)|0;c[e+4>>2]=b;c[e+8>>2]=Y3(d)|0;d=a+100|0;c[e>>2]=c[d>>2];c[d>>2]=e;return e|0}function _S(b,c){b=b|0;c=c|0;$S(b);a[b+44>>0]=0;aT(b)|0;NO(b)|0;return}function $S(b){b=b|0;var d=0,e=0;d=c[b+32>>2]|0;a:do if(d|0)while(1){e=c[d>>2]|0;if(!e)break a;if((a[e>>0]|0)==103?C4(e,111810)|0:0)YS(b,0,c[d+4>>2]|0);d=d+8|0}while(0);return}function aT(a){a=a|0;var b=0;b=JF(a,2,111823)|0;if(!b)a=999;else{c[a+148>>2]=c[(c[b+16>>2]|0)+12>>2];a=300}return a|0}function bT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[a+148>>2]|0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)!=0):0)a=vb[e&127](b,d)|0;else a=0;return a|0}function cT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return (c[b>>2]|0)-(c[d>>2]|0)|0}function dT(a){a=a|0;var b=0.0,d=0.0;a=c[a+16>>2]|0;d=+h[a+16>>3];b=+h[a+24>>3];return (eT(~~(d>b?d:b)>>>0)|0)+1|0}function eT(a){a=a|0;var b=0,c=0;if(!a)a=-1;else{b=a>>>0>65535;c=b?a>>>16:a;a=b?16:0;b=c>>>0>255;c=b?c>>>8:c;a=b?a|8:a;b=c>>>0>15;c=b?c>>>4:c;a=b?a|4:a;b=c>>>0>3;a=((b?c>>>2:c)>>>0>1&1)+(b?a|2:a)|0}return a|0}function fT(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;q=r;p=gT(b,d,e,f,g)|0;e=hT(p)|0;if((e|0)>=0){n=q+16|0;o=q+24|0;m=q+8|0;k=g+32|0;e=0;g=0;while(1){if((g|0)>=(d|0))break;f=b+(g*40|0)+32|0;do if(c[f>>2]|0){iT(q,p,b+(g*40|0)|0);i=+h[n>>3];j=+h[o>>3];if(!(c[q>>2]|0)){a[(c[f>>2]|0)+36>>0]=1;break}if(+h[m>>3]==0.0){f=c[f>>2]|0;h[f+16>>3]=i;h[f+24>>3]=j;a[f+36>>0]=1;break}if((a[k>>0]|0)==1){f=c[f>>2]|0;h[f+16>>3]=i;h[f+24>>3]=j;a[f+36>>0]=1}else e=1}while(0);g=g+1|0}jT(p)}l=r;return e|0}function gT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=HK(28)|0;j=Sz(25964,c[4594]|0)|0;h=g+20|0;c[h>>2]=j;do if(j){j=RV()|0;c[g+24>>2]=j;if(!j){_3(112041,14,1,c[15715]|0)|0;i=6;break}else{c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=e;c[g+16>>2]=f;break}}else{_3(112041,14,1,c[15715]|0)|0;i=6}while(0);if((i|0)==6){a=c[h>>2]|0;if(a|0)Oz(a)|0;a=c[g+24>>2]|0;if(a|0)TV(a)|0;l6(g);g=0}return g|0}function hT(a){a=a|0;var b=0;b=sT(a)|0;if((b|0)>=0){tT(a);uT(a);b=Oz(c[a+20>>2]|0)|0}return b|0}function iT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0,O=0;O=l;l=l+464|0;L=O+416|0;N=O+400|0;I=O+384|0;j=O+352|0;n=O+320|0;o=O+288|0;p=O+256|0;r=O+224|0;s=O+192|0;t=O+160|0;u=O+128|0;v=O+96|0;w=O+64|0;x=O+32|0;J=O;y=c[d+32>>2]|0;e=+h[y>>3];B=d+16|0;z=(e*2.0+ +h[B>>3])*.125;C=y+8|0;K=d+24|0;i=+h[K>>3];M=(+h[C>>3]*2.0+i)*.5;if(!y)Aa(111834,111844,445,111854);f=L;g=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));A=y+16|0;h[A>>3]=+h[d>>3]-e;D=d+8|0;E=y+24|0;h[E>>3]=i+ +h[D>>3];kT(j,b,d,L);m=c[j>>2]|0;f=c[j+4>>2]|0;e=+h[j+8>>3];H=j+16|0;c[N>>2]=c[H>>2];c[N+4>>2]=c[H+4>>2];c[N+8>>2]=c[H+8>>2];c[N+12>>2]=c[H+12>>2];H=a+16|0;G=a+8|0;F=a+4|0;a:do if(!m){c[a>>2]=0;c[F>>2]=f;h[G>>3]=e;c[H>>2]=c[N>>2];c[H+4>>2]=c[N+4>>2];c[H+8>>2]=c[N+8>>2];c[H+12>>2]=c[N+12>>2]}else{h[E>>3]=+h[D>>3];kT(n,b,d,L);g=c[n>>2]|0;j=c[n+4>>2]|0;i=+h[n+8>>3];n=n+16|0;c[I>>2]=c[n>>2];c[I+4>>2]=c[n+4>>2];c[I+8>>2]=c[n+8>>2];c[I+12>>2]=c[n+12>>2];if(!g){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];f=j;e=i}else g=m;h[E>>3]=+h[D>>3]-+h[C>>3];kT(o,b,d,L);m=c[o>>2]|0;j=c[o+4>>2]|0;i=+h[o+8>>3];o=o+16|0;c[I>>2]=c[o>>2];c[I+4>>2]=c[o+4>>2];c[I+8>>2]=c[o+8>>2];c[I+12>>2]=c[o+12>>2];if(!m){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];f=j;e=i}else m=g;h[A>>3]=+h[d>>3];h[E>>3]=+h[D>>3]+ +h[K>>3];kT(p,b,d,L);g=c[p>>2]|0;j=c[p+4>>2]|0;i=+h[p+8>>3];p=p+16|0;c[I>>2]=c[p>>2];c[I+4>>2]=c[p+4>>2];c[I+8>>2]=c[p+8>>2];c[I+12>>2]=c[p+12>>2];if(!g){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];m=g;f=j;e=i}h[E>>3]=+h[D>>3]-+h[C>>3];kT(r,b,d,L);g=c[r>>2]|0;j=c[r+4>>2]|0;i=+h[r+8>>3];r=r+16|0;c[I>>2]=c[r>>2];c[I+4>>2]=c[r+4>>2];c[I+8>>2]=c[r+8>>2];c[I+12>>2]=c[r+12>>2];if(!g){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];m=g;f=j;e=i}h[A>>3]=+h[d>>3]+ +h[B>>3];h[E>>3]=+h[D>>3]+ +h[K>>3];kT(s,b,d,L);g=c[s>>2]|0;j=c[s+4>>2]|0;i=+h[s+8>>3];s=s+16|0;c[I>>2]=c[s>>2];c[I+4>>2]=c[s+4>>2];c[I+8>>2]=c[s+8>>2];c[I+12>>2]=c[s+12>>2];if(!g){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];m=g;f=j;e=i}h[E>>3]=+h[D>>3];kT(t,b,d,L);g=c[t>>2]|0;j=c[t+4>>2]|0;i=+h[t+8>>3];t=t+16|0;c[I>>2]=c[t>>2];c[I+4>>2]=c[t+4>>2];c[I+8>>2]=c[t+8>>2];c[I+12>>2]=c[t+12>>2];if(!g){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];m=g;f=j;e=i}h[E>>3]=+h[D>>3]-+h[C>>3];kT(u,b,d,L);g=c[u>>2]|0;j=c[u+4>>2]|0;i=+h[u+8>>3];u=u+16|0;c[I>>2]=c[u>>2];c[I+4>>2]=c[u+4>>2];c[I+8>>2]=c[u+8>>2];c[I+12>>2]=c[u+12>>2];if(!g){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];f=j;e=i}else g=m;t=L+12|0;u=L+32|0;n=(c[L+28>>2]|0)!=0;o=(c[u>>2]|0)==0;j=c[t>>2]|0;m=c[L>>2]|0;do if(!(o&(((c[L+24>>2]|0)!=0|n)^1)&(j|0)==0&(m|0)==0)){do if(o&(n^1)){h[A>>3]=+h[d>>3]-+h[y>>3];p=v+4|0;r=v+8|0;s=v+16|0;m=E;j=D;i=+h[K>>3];b:while(1){while(1){h[m>>3]=i+ +h[j>>3];if(!(+h[A>>3]<=+h[d>>3]+ +h[B>>3])){n=42;break b}kT(v,b,d,L);n=c[v>>2]|0;o=c[p>>2]|0;k=+h[r>>3];c[I>>2]=c[s>>2];c[I+4>>2]=c[s+4>>2];c[I+8>>2]=c[s+8>>2];c[I+12>>2]=c[s+12>>2];if(!n){n=39;break b}if(k>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];m=A;j=A;i=z;g=n;f=o;e=k}if((n|0)==39){c[a>>2]=0;c[F>>2]=o;h[G>>3]=k;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break a}else if((n|0)==42){j=c[t>>2]|0;m=c[L>>2]|0;break}}while(0);if(!((j|0)==0&(m|0)==0))break;h[A>>3]=+h[d>>3]-+h[y>>3];k=+h[D>>3];n=w+4|0;o=w+8|0;p=w+16|0;i=k;k=k+ +h[K>>3];while(1){h[E>>3]=k;if(!(k>=i-+h[C>>3])){n=51;break}kT(w,b,d,L);j=c[w>>2]|0;m=c[n>>2]|0;i=+h[o>>3];c[I>>2]=c[p>>2];c[I+4>>2]=c[p+4>>2];c[I+8>>2]=c[p+8>>2];c[I+12>>2]=c[p+12>>2];if(!j){n=47;break}if(i>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];g=j;f=m;e=i}i=+h[D>>3];k=+h[E>>3]-M}if((n|0)==47){c[a>>2]=0;c[F>>2]=m;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break a}else if((n|0)==51){m=c[L>>2]|0;break}}else m=0;while(0);i=+h[d>>3];k=i+ +h[B>>3];h[A>>3]=k;q=+h[C>>3];h[E>>3]=+h[D>>3]-q;t=L+20|0;o=(c[L+4>>2]|0)!=0;n=(m|0)==0;m=c[t>>2]|0;j=c[u>>2]|0;c:do if(!(n&(((c[L+8>>2]|0)!=0|o)^1)&(m|0)==0&(j|0)==0)){do if(n&(o^1)){h[A>>3]=k;p=x+4|0;r=x+8|0;s=x+16|0;m=E;j=D;i=q;d:while(1){while(1){h[m>>3]=+h[j>>3]-i;i=+h[d>>3];if(!(+h[A>>3]>=i-+h[y>>3])){n=61;break d}kT(x,b,d,L);n=c[x>>2]|0;o=c[p>>2]|0;k=+h[r>>3];c[I>>2]=c[s>>2];c[I+4>>2]=c[s+4>>2];c[I+8>>2]=c[s+8>>2];c[I+12>>2]=c[s+12>>2];if(!n){n=58;break d}if(k>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];m=A;j=A;i=z;g=n;f=o;e=k}if((n|0)==58){c[a>>2]=0;c[F>>2]=o;h[G>>3]=k;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break a}else if((n|0)==61){m=c[t>>2]|0;j=c[u>>2]|0;break}}while(0);if(!((m|0)==0&(j|0)==0))break;h[A>>3]=i+ +h[B>>3];i=+h[D>>3];n=J+4|0;o=J+8|0;p=J+16|0;k=i;i=i-+h[C>>3];while(1){h[E>>3]=i;if(!(i<=k+ +h[K>>3]))break c;kT(J,b,d,L);j=c[J>>2]|0;m=c[n>>2]|0;i=+h[o>>3];c[I>>2]=c[p>>2];c[I+4>>2]=c[p+4>>2];c[I+8>>2]=c[p+8>>2];c[I+12>>2]=c[p+12>>2];if(!j)break;if(i>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];g=j;f=m;e=i}k=+h[D>>3];i=M+ +h[E>>3]}c[a>>2]=0;c[F>>2]=m;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break a}while(0);c[a>>2]=g;c[F>>2]=f;h[G>>3]=e;c[H>>2]=c[N>>2];c[H+4>>2]=c[N+4>>2];c[H+8>>2]=c[N+8>>2];c[H+12>>2]=c[N+12>>2]}while(0);l=O;return}function jT(a){a=a|0;TV(c[a+24>>2]|0)|0;l6(a);return}function kT(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0;t=l;l=l+48|0;q=t+32|0;s=t+16|0;p=t;g=c[e+32>>2]|0;if(!g)Aa(111834,111844,382,111863);o=g+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];o=d+4|0;m=0;g=0;while(1){if((m|0)>=(c[o>>2]|0))break;j=c[d>>2]|0;k=j+(m*40|0)|0;do if((k|0)!=(e|0)){if(+h[j+(m*40|0)+16>>3]>0.0?+h[j+(m*40|0)+24>>3]>0.0:0)break;g=((lT(e,k)|0)!=0&1)+g|0}while(0);m=m+1|0}mT(e,q);m=c[d+24>>2]|0;m=VV(m,c[m>>2]|0,q)|0;if(!m){c[b>>2]=g;h[b+8>>3]=0.0;s=b+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2]}else{k=m;i=0.0;while(1){if(!k)break;j=c[(c[k+4>>2]|0)+16>>2]|0;if((j|0)!=(e|0)){nT(j,s);n=+oT(q,s);if(n>0.0){g=g+1|0;i=i+ +pT(e,j,q,n,f)}d=c[j+32>>2]|0;if(((d|0)!=0?(a[d+36>>0]|0)!=0:0)?(mT(j,s),r=+oT(q,s),r>0.0):0){g=g+1|0;i=i+ +qT(e,j,q,r,f)}}k=c[k>>2]|0}QV(m);c[b>>2]=g;h[b+8>>3]=i;s=b+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2]}l=t;return}function lT(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0.0;a=c[a+32>>2]|0;if(+h[b+16>>3]==0.0?+h[b+24>>3]==0.0:0){if(!a)a=0;else{g=+h[b>>3];f=+h[a+16>>3];if((g>f?g>3]:0)?(d=+h[b+8>>3],e=+h[a+24>>3],d>e):0)a=d>3];else a=0;a=a&1}return a|0}Aa(111900,111844,219,111937);return 0}function mT(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a+32>>2]|0;e=+h[a+16>>3];c[b>>2]=~~e;d=+h[a+24>>3];c[b+4>>2]=~~d;c[b+8>>2]=~~(e+ +h[a>>3]);c[b+12>>2]=~~(d+ +h[a+8>>3]);return}function nT(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;e=+h[a>>3];c[b>>2]=~~e;d=+h[a+8>>3];c[b+4>>2]=~~d;c[b+8>>2]=~~(e+ +h[a+16>>3]);c[b+12>>2]=~~(d+ +h[a+24>>3]);return}function oT(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[a+8>>2]|0;j=c[b>>2]|0;if((((i|0)>=(j|0)?(k=c[a>>2]|0,l=c[b+8>>2]|0,(k|0)<=(l|0)):0)?(e=c[a+12>>2]|0,f=c[b+4>>2]|0,(e|0)>=(f|0)):0)?(g=c[a+4>>2]|0,h=c[b+12>>2]|0,(g|0)<=(h|0)):0)d=(+(c[((i|0)<(l|0)?a:b)+8>>2]|0)-+(c[((k|0)>(j|0)?a:b)>>2]|0))*(+(c[((e|0)<(h|0)?a:b)+12>>2]|0)-+(c[((g|0)>(f|0)?a:b)+4>>2]|0));else d=0.0;return +d}function pT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;a=rT(a,b)|0;f=f+(((a|0)<0?5:a)<<2)|0;a=c[f>>2]|0;if(!a){c[f>>2]=b;g=e}else{nT(a,i);g=+oT(d,i);g=g>e?g:0.0;a=c[f>>2]|0;if((c[a+32>>2]|0)!=0?(mT(a,i),h=+oT(d,i),h>e):0)g=h>g?h:g;if(!(g>0.0)){c[f>>2]=b;g=e}}l=j;return +g}function qT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;a=rT(a,b)|0;f=f+(((a|0)<0?5:a)<<2)|0;a=c[f>>2]|0;if(!a){c[f>>2]=b;g=e}else{nT(a,i);g=+oT(d,i);g=g>e?g:0.0;a=c[f>>2]|0;if((c[a+32>>2]|0)!=0?(mT(a,i),h=+oT(d,i),h>e):0)g=h>g?h:g;if(!(g>0.0)){c[f>>2]=b;g=e}}l=j;return +g}function rT(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=c[b+32>>2]|0;f=c[d+32>>2]|0;if((e|0)==(f|0))Aa(111879,111844,276,111889);do if((a[e+36>>0]|0)!=0?(a[f+36>>0]|0)!=0:0){k=+h[b>>3];e=b+8|0;if(k==0.0?+h[e>>3]==0.0:0){e=-1;break}i=+h[d>>3];j=+h[d+8>>3];if(!(i==0.0&j==0.0)){g=+h[e>>3];f=ik;if(jg))return (f|e^1?(f?3:-1):5)|0;if(f)e=6;else e=e?8:7}else e=-1}else e=-1;while(0);return e|0}function sT(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;d=k+24|0;e=k+16|0;f=k;g=dT(a)|0;h=a+4|0;i=e+4|0;j=a+20|0;b=0;while(1){if((b|0)>=(c[h>>2]|0)){b=0;break}m=HK(32)|0;o=(c[a>>2]|0)+(b*40|0)|0;n=m+12|0;c[m+28>>2]=o;vT(f,o);c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];n=c[n>>2]|0;c[e>>2]=(((c[m+20>>2]|0)-n|0)/2|0)+n;n=c[m+16>>2]|0;c[i>>2]=(((c[m+24>>2]|0)-n|0)/2|0)+n;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[m+8>>2]=wT(d,g)|0;n=c[j>>2]|0;if(!(eb[c[n>>2]&63](n,m,1)|0)){b=-1;break}else b=b+1|0}l=k;return b|0}function tT(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;e=c[d>>2]|0;b=a+24|0;a=eb[c[e>>2]&63](e,0,128)|0;while(1){if(!a)break;e=c[b>>2]|0;WV(e,a+12|0,c[a+28>>2]|0,e,0)|0;e=c[d>>2]|0;a=eb[c[e>>2]&63](e,a,8)|0}return}function uT(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=a+20|0;f=Uz(c[e>>2]|0)|0;d=0;while(1){if(!(Uz(c[e>>2]|0)|0))break;g=c[e>>2]|0;a=c[(c[g+8>>2]|0)+4>>2]|0;if(!a){h=8;break}b=c[(c[g+4>>2]|0)+8>>2]|0;if((b|0)<0)a=c[a+8>>2]|0;else a=a+(0-b)|0;if(!a){h=8;break}eb[c[g>>2]&63](g,a,4096)|0;l6(a);d=d+1|0}if((h|0)==8)Aa(111950,111844,616,111953);if((f|0)==(d|0))return;else Aa(111965,111844,623,111953)}function vT(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,l=0.0;d=c[b+32>>2]|0;if(!d){e=0.0;f=0.0}else{e=+h[d>>3];f=+h[d+8>>3]}l=+h[b>>3];k=~~+E(+(l-e));g=+h[b+8>>3];j=~~+E(+(g-f));i=~~+R(+(e+(l+ +h[b+16>>3])));if((i|0)==2147483647)Aa(111977,111844,264,112004);d=~~+R(+(f+(g+ +h[b+24>>3])));if((d|0)==2147483647)Aa(112014,111844,266,112004);else{c[a>>2]=k;c[a+4>>2]=j;c[a+8>>2]=i;c[a+12>>2]=d;return}}function wT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=0;e=c[a>>2]|0;d=c[a+4>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;i=e>>>a&1;b=d>>>a&1;g=b+-1|0;h=g&(e^d);g=g&0-i;f=i<<1|f<<2|i^b;b=a;e=h^e^g;d=h^d^g}return f|0}function xT(b){b=b|0;var d=0,e=0,f=0,g=0;d=D3(b)|0;if(d>>>0>=(c[47436]|0)>>>0){d=d+11|0;c[47436]=d;d=KK(c[47437]|0,d)|0;c[47437]=d;if(!d)d=0;else e=4}else{d=c[47437]|0;e=4}if((e|0)==4){g=d;while(1){e=a[b>>0]|0;if(!(e<<24>>24))break;f=e&255;if(S1(f)|0)e=(R1(f)|0)&255;a[g>>0]=e;g=g+1|0;b=b+1|0}a[g>>0]=0}return d|0}function yT(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0;N=l;l=l+144|0;s=N+96|0;q=N+80|0;v=N+124|0;t=N+72|0;w=N+64|0;x=N+56|0;K=N+48|0;L=N+40|0;M=N+32|0;G=N+24|0;H=N+16|0;I=N+8|0;J=N;k=N+120|0;n=N+116|0;o=N+112|0;p=N+108|0;c[e+32>>2]=f;while(1)if((a[b>>0]|0)==32)b=b+1|0;else break;c[p>>2]=255;g=a[b>>0]|0;y=e+12|0;z=e+8|0;A=e+4|0;B=e+24|0;C=e+16|0;D=e+1|0;E=e+2|0;F=e+3|0;a:do if(g<<24>>24==35){c[q>>2]=k;c[q+4>>2]=n;c[q+8>>2]=o;c[q+12>>2]=p;if((q4(b,112056,q)|0)<=2){g=a[b>>0]|0;r=12;break}switch(f|0){case 0:{O=+((c[k>>2]|0)>>>0)/255.0;h[K>>3]=O;i=+((c[n>>2]|0)>>>0)/255.0;h[L>>3]=i;j=+((c[o>>2]|0)>>>0)/255.0;h[M>>3]=j;m=+((c[p>>2]|0)>>>0)/255.0;zT(O,i,j,t,w,x);h[e>>3]=+h[t>>3];h[z>>3]=+h[w>>3];h[C>>3]=+h[x>>3];h[B>>3]=m;b=0;break a}case 1:{a[e>>0]=c[k>>2];a[D>>0]=c[n>>2];a[E>>0]=c[o>>2];a[F>>0]=c[p>>2];b=0;break a}case 3:{j=+((c[k>>2]|0)>>>0)/255.0;h[K>>3]=j;m=+((c[n>>2]|0)>>>0)/255.0;h[L>>3]=m;O=+((c[o>>2]|0)>>>0)/255.0;h[M>>3]=O;AT(j,m,O,G,H,I,J);a[e>>0]=~~+h[G>>3]*255;a[D>>0]=~~+h[H>>3]*255;a[E>>0]=~~+h[I>>3]*255;a[F>>0]=~~+h[J>>3]*255;b=0;break a}case 2:{c[e>>2]=(((c[k>>2]|0)*65535|0)>>>0)/255|0;c[A>>2]=(((c[n>>2]|0)*65535|0)>>>0)/255|0;c[z>>2]=(((c[o>>2]|0)*65535|0)>>>0)/255|0;c[y>>2]=(((c[p>>2]|0)*65535|0)>>>0)/255|0;b=0;break a}case 4:{h[e>>3]=+((c[k>>2]|0)>>>0)/255.0;h[z>>3]=+((c[n>>2]|0)>>>0)/255.0;h[C>>3]=+((c[o>>2]|0)>>>0)/255.0;h[B>>3]=+((c[p>>2]|0)>>>0)/255.0;b=0;break a}default:{b=0;break a}}}else r=12;while(0);b:do if((r|0)==12){if(!(g<<24>>24!=46?((g&255)+-48|0)>>>0>=10:0)){g=D3(b)|0;if(g>>>0>=(c[47438]|0)>>>0){g=g+11|0;c[47438]=g;g=KK(c[47439]|0,g)|0;c[47439]=g;if(!g){b=-1;break}}else g=c[47439]|0;n=g;k=b;c:while(1){o=k+1|0;k=a[k>>0]|0;switch(k<<24>>24){case 0:break c;case 44:{k=32;break}default:{}}a[n>>0]=k;n=n+1|0;k=o}a[n>>0]=0;c[s>>2]=t;c[s+4>>2]=w;c[s+8>>2]=x;if((q4(g,112070,s)|0)==3){m=+h[t>>3];m=m<1.0?m:1.0;m=m>0.0?m:0.0;h[t>>3]=m;j=+h[w>>3];j=j<1.0?j:1.0;j=j>0.0?j:0.0;h[w>>3]=j;i=+h[x>>3];i=i<1.0?i:1.0;i=i>0.0?i:0.0;h[x>>3]=i;switch(f|0){case 0:{h[e>>3]=m;h[z>>3]=j;h[C>>3]=i;h[B>>3]=1.0;b=0;break b}case 1:{BT(m,j,i,K,L,M);a[e>>0]=~~(+h[K>>3]*255.0);a[D>>0]=~~(+h[L>>3]*255.0);a[E>>0]=~~(+h[M>>3]*255.0);a[F>>0]=-1;b=0;break b}case 3:{BT(m,j,i,K,L,M);AT(+h[K>>3],+h[L>>3],+h[M>>3],G,H,I,J);a[e>>0]=~~+h[G>>3]*255;a[D>>0]=~~+h[H>>3]*255;a[E>>0]=~~+h[I>>3]*255;a[F>>0]=~~+h[J>>3]*255;b=0;break b}case 2:{BT(m,j,i,K,L,M);c[e>>2]=~~(+h[K>>3]*65535.0);c[A>>2]=~~(+h[L>>3]*65535.0);c[z>>2]=~~(+h[M>>3]*65535.0);c[y>>2]=65535;b=0;break b}case 4:{BT(m,j,i,K,L,M);h[e>>3]=+h[K>>3];h[z>>3]=+h[L>>3];h[C>>3]=+h[M>>3];h[B>>3]=1.0;b=0;break b}default:{b=0;break b}}}}b=CT(b)|0;c[v>>2]=b;if(!b)b=-1;else{g=c[47440]|0;if(((g|0)!=0?(u=c[g>>2]|0,(a[u>>0]|0)==(a[b>>0]|0)):0)?(f2(u,b)|0)==0:0)k=g;else{b=e6(v,26e3,2491,12,103)|0;c[47440]=b;if(!b)switch(f|0){case 0:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[B>>3]=1.0;b=1;break b}case 1:{a[E>>0]=0;a[D>>0]=0;a[e>>0]=0;a[F>>0]=-1;b=1;break b}case 3:{c[e>>2]=0;b=1;break b}case 2:{c[z>>2]=0;c[A>>2]=0;c[e>>2]=0;c[y>>2]=65535;b=1;break b}case 4:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[B>>3]=1.0;b=1;break b}default:{b=1;break b}}else{k=b;g=b}}b=k+7|0;switch(f|0){case 0:{h[e>>3]=+(d[k+4>>0]|0)/255.0;h[z>>3]=+(d[k+5>>0]|0)/255.0;h[C>>3]=+(d[k+6>>0]|0)/255.0;h[B>>3]=+(d[k+10>>0]|0)/255.0;b=0;break b}case 1:{a[e>>0]=a[b>>0]|0;a[D>>0]=a[g+8>>0]|0;a[E>>0]=a[g+9>>0]|0;a[F>>0]=a[g+10>>0]|0;b=0;break b}case 3:{j=+(d[b>>0]|0)/255.0;h[K>>3]=j;m=+(d[g+8>>0]|0)/255.0;h[L>>3]=m;O=+(d[g+9>>0]|0)/255.0;h[M>>3]=O;AT(j,m,O,G,H,I,J);a[e>>0]=~~+h[G>>3]*255;a[D>>0]=~~+h[H>>3]*255;a[E>>0]=~~+h[I>>3]*255;a[F>>0]=~~+h[J>>3]*255;b=0;break b}case 2:{c[e>>2]=(d[b>>0]|0)*257;c[A>>2]=(d[g+8>>0]|0)*257;c[z>>2]=(d[g+9>>0]|0)*257;c[y>>2]=(d[g+10>>0]|0)*257;b=0;break b}case 4:{h[e>>3]=+(d[b>>0]|0)/255.0;h[z>>3]=+(d[g+8>>0]|0)/255.0;h[C>>3]=+(d[g+9>>0]|0)/255.0;h[B>>3]=+(d[g+10>>0]|0)/255.0;b=0;break b}default:{b=0;break b}}}}while(0);l=N;return b|0}function zT(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0.0,l=0.0;g=bc?b:c;l=la?a:g);k=l>0.0?g/l:0.0;if(k>0.0){i=(l-a)/g;j=(l-b)/g;g=(l-c)/g;do if(!(l==a)){if(l==b){g=i+2.0-g;break}if(l==c)g=j+4.0-i;else g=0.0}else g=g-j;while(0);g=g*60.0;if(g<0.0)g=g+360.0}else g=0.0;h[d>>3]=g/360.0;h[f>>3]=l;h[e>>3]=k;return}function AT(a,b,c,d,e,f,g){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h[d>>3]=1.0-a;h[e>>3]=1.0-b;h[f>>3]=1.0-c;b=+h[d>>3];c=+h[e>>3];c=b>3]=c;b=+h[f>>3];c=b>3]=c;h[d>>3]=+h[d>>3]-c;h[e>>3]=+h[e>>3]-+h[g>>3];h[f>>3]=+h[f>>3]-+h[g>>3];return}function BT(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0,l=0;a:do if(!(b<=0.0)){i=!(a>=1.0)?a*6.0:0.0;l=~~i;i=i-+(l|0);a=(1.0-b)*c;j=(1.0-i*b)*c;b=(1.0-(1.0-i)*b)*c;switch(l|0){case 0:{g=a;i=b;a=c;k=8;break a}case 1:{g=a;i=c;a=j;k=8;break a}case 2:{g=b;i=c;k=8;break a}case 3:{g=c;i=j;k=8;break a}case 4:{g=c;i=a;a=b;k=8;break a}case 5:{g=j;i=a;a=c;k=8;break a}default:break a}}else{g=c;i=c;a=c;k=8}while(0);if((k|0)==8){h[d>>3]=a;h[e>>3]=i;h[f>>3]=g}return}function CT(b){b=b|0;var d=0,e=0;d=a[b>>0]|0;if(((d<<24>>24!=98?(e=b+1|0,!(d<<24>>24==119|(h2(e,137567,4)|0)==0)):0)?!(d<<24>>24==108|(h2(e,137572,4)|0)==0):0)?(h2(e,137577,8)|0)!=0:0){do if(d<<24>>24==47){d=F3(e,47)|0;if(d){if((a[e>>0]|0)!=47){e=(N3(137586,e,4)|0)==0;b=e?d+1|0:b;break}d=c[47441]|0;b=b+2|0;if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(N3(137586,d,3)|0)!=0:0)b=ET(d,b)|0}else b=e}else{d=c[47441]|0;if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(N3(137586,d,3)|0)!=0:0)b=ET(d,b)|0}while(0);b=xT(b)|0}return b|0}function DT(a,b){a=a|0;b=b|0;return C3(c[a>>2]|0,c[b>>2]|0)|0}function ET(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;g=D3(a)|0;g=(D3(b)|0)+g|0;d=g+13|0;if((g+3|0)>>>0<(c[47442]|0)>>>0)d=c[47443]|0;else{c[47442]=d;d=KK(c[47443]|0,d)|0;c[47443]=d}c[e>>2]=a;c[e+4>>2]=b;i2(d,137591,e)|0;l=f;return c[47443]|0}function FT(a){a=a|0;c[47441]=a;return}function GT(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0,g=0;f=l;l=l+208|0;g=f;HT(g,+h[a>>3],+h[a+8>>3],b,c,d,e);a=IT(g)|0;l=f;return a|0}function HT(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;var i=0,j=0;h[a>>3]=b;h[a+8>>3]=c;j=a+16|0;h[j>>3]=d;i=a+24|0;h[i>>3]=e;h[a+32>>3]=0.0;c=+O(+(+J(+f)/e),+(+I(+f)/d));h[a+56>>3]=c;e=+O(+(+J(+g)/e),+(+I(+g)/d));h[a+40>>3]=1.0;h[a+48>>3]=0.0;e=e-+E(+((e-c)/6.283185307179586))*6.283185307179586;h[a+64>>3]=g-f>3.141592653589793&e-c<3.141592653589793?e+6.283185307179586:e;OT(a);PT(a);QT(a);g=+h[j>>3];g=(g-+h[i>>3])/g;h[a+168>>3]=g;h[a+176>>3]=g*(2.0-g);g=1.0-g;h[a+184>>3]=g;h[a+192>>3]=g*g;return}function IT(a){a=a|0;var b=0,c=0.0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;q=HK(8)|0;f=+h[a+56>>3];e=+h[a+64>>3]-f;p=1;b=0;while(1){o=e/+(p|0);if(!(b<<24>>24==0&(p|0)<1024))break;a:do if(!(o<=1.5707963267948966))b=0;else{c=f;d=0;b=1;while(1){if(!(b<<24>>24!=0&(d|0)<(p|0)))break a;n=o+c;b=+JT(a,c,n)<=1.0e-05&1;c=n;d=d+1|0}}while(0);p=p<<1}c=+I(+f);u=+J(+f);d=a+16|0;s=+h[d>>3];g=c*s;j=a+24|0;r=+h[j>>3];v=u*r;r=c*r;c=+h[a>>3];k=a+40|0;t=+h[k>>3];l=a+48|0;i=+h[l>>3];e=c+g*t-v*i;m=a+8|0;n=+h[m>>3];g=v*t+(n+g*i);s=-(u*s);KT(q,c,n);LT(q,e,g);n=+K(+(o*.5));n=+J(+o)*(+G(+(n*(n*3.0)+4.0))+-1.0)/3.0;c=f;f=g;g=r*t+i*s;i=t*s-r*i;b=0;while(1){if((b|0)>=(p|0))break;r=o+c;x=+I(+r);v=+J(+r);u=+h[d>>3];t=x*u;y=+h[j>>3];z=v*y;y=x*y;x=+h[k>>3];w=+h[l>>3];s=+h[a>>3]+t*x-z*w;t=z*x+(+h[m>>3]+t*w);u=-(v*u);v=x*u-y*w;u=y*x+w*u;MT(q,n*i+e,f+n*g,s-n*v,t-n*u,s,t);c=r;e=s;f=t;g=u;i=v;b=b+1|0}NT(q);return q|0}function JT(a,b,c){a=a|0;b=+b;c=+c;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;e=(b+c)*.5;i=+h[a+16>>3];d=+h[a+24>>3]/i;g=+I(+(e*2.0));f=+I(+(e*4.0));e=+I(+(e*6.0));a=d<.25?10440:10696;return +(i*((d*(d*.001+4.98)+.207)/(d+.0067))*+P(+((+h[a+16>>3]+d*(d*+h[a>>3]+ +h[a+8>>3]))/(d+ +h[a+24>>3])+g*((+h[a+48>>3]+d*(d*+h[a+32>>3]+ +h[a+40>>3]))/(d+ +h[a+56>>3]))+f*((+h[a+80>>3]+d*(d*+h[a+64>>3]+ +h[a+72>>3]))/(d+ +h[a+88>>3]))+e*((+h[a+112>>3]+d*(d*+h[a+96>>3]+ +h[a+104>>3]))/(d+ +h[a+120>>3]))+(c-b)*((+h[a+144>>3]+d*(d*+h[a+128>>3]+ +h[a+136>>3]))/(d+ +h[a+152>>3])+g*((+h[a+176>>3]+d*(d*+h[a+160>>3]+ +h[a+168>>3]))/(d+ +h[a+184>>3]))+f*((+h[a+208>>3]+d*(d*+h[a+192>>3]+ +h[a+200>>3]))/(d+ +h[a+216>>3]))+e*((+h[a+240>>3]+d*(d*+h[a+224>>3]+ +h[a+232>>3]))/(d+ +h[a+248>>3]))))))}function KT(a,b,d){a=a|0;b=+b;d=+d;var e=0;c[47444]=100;e=HK(1600)|0;c[a>>2]=e;h[e>>3]=b;h[e+8>>3]=d;c[a+4>>2]=1;return}function LT(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;f=c[a>>2]|0;e=(c[a+4>>2]|0)+-1|0;MT(a,+h[f+(e<<4)>>3],+h[f+(e<<4)+8>>3],b,d,b,d);return}function MT(a,b,d,e,f,g,i){a=a|0;b=+b;d=+d;e=+e;f=+f;g=+g;i=+i;var j=0,k=0,l=0,m=0;l=a+4|0;j=c[l>>2]|0;k=c[47444]|0;if((j+3|0)<(k|0))a=c[a>>2]|0;else{c[47444]=k<<1;j=n6(c[a>>2]|0,k<<5)|0;c[a>>2]=j;a=j;j=c[l>>2]|0}h[a+(j<<4)>>3]=b;m=j+1|0;h[a+(j<<4)+8>>3]=d;h[a+(m<<4)>>3]=e;k=j+2|0;h[a+(m<<4)+8>>3]=f;h[a+(k<<4)>>3]=g;c[l>>2]=j+3;h[a+(k<<4)+8>>3]=i;return}function NT(a){a=a|0;var b=0;b=c[a>>2]|0;LT(a,+h[b>>3],+h[b+8>>3]);c[a>>2]=n6(c[a>>2]|0,c[a+4>>2]<<4)|0;c[47444]=0;return}function OT(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0;e=+h[a+16>>3];c=+h[a+24>>3];c=+G(+(e*e-c*c));e=c*+h[a+40>>3];c=c*+h[a+48>>3];d=+h[a>>3];h[a+104>>3]=d-e;b=+h[a+8>>3];h[a+112>>3]=b-c;h[a+120>>3]=e+d;h[a+128>>3]=c+b;return}function PT(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0;d=+h[a+16>>3];j=+h[a+56>>3];i=d*+I(+j);g=+h[a+24>>3];j=g*+J(+j);f=+h[a+64>>3];d=d*+I(+f);f=g*+J(+f);g=+h[a>>3];e=+h[a+40>>3];c=+h[a+48>>3];h[a+72>>3]=g+i*e-j*c;b=+h[a+8>>3];h[a+80>>3]=j*e+(i*c+b);h[a+88>>3]=g+d*e-f*c;h[a+96>>3]=f*e+(d*c+b);return}function QT(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;p=+h[a+24>>3];q=+h[a+16>>3];c=p/q;r=+h[a+48>>3];k=+F(+r)<.1;o=+h[a+40>>3];do if(k){n=r/o;d=+N(+(c*n));b=-d;c=1.5707963267948966-+N(+(n/c));if(o<0.0){e=b;b=3.141592653589793-d;d=c+3.141592653589793;break}else{e=-3.141592653589793-d;d=c;c=c+-3.141592653589793;break}}else{n=o/r;b=+N(+(n/c))+1.5707963267948966;c=+N(+(c*n));if(r<0.0){e=b+-3.141592653589793;d=c+3.141592653589793;break}else{e=b;b=b+3.141592653589793;d=c;c=c+-3.141592653589793;break}}while(0);m=+h[a+56>>3];e=e-+E(+((e-m)/6.283185307179586))*6.283185307179586;l=c-+E(+((c-m)/6.283185307179586))*6.283185307179586;b=b-+E(+((b-m)/6.283185307179586))*6.283185307179586;m=d-+E(+((d-m)/6.283185307179586))*6.283185307179586;n=+h[a+64>>3];f=a+88|0;g=a+72|0;if(!(e<=n)){e=+h[g>>3];c=+h[f>>3];c=e>3]+q*+I(+e)*o-r*(p*+J(+e));h[a+136>>3]=c;i=a+96|0;j=a+80|0;k=a+8|0;if(!(l<=n)){l=+h[j>>3];d=+h[i>>3];d=l>3]+r*(q*+I(+l))+p*+J(+l)*o;h[a+144>>3]=d;if(!(b<=n)){l=+h[g>>3];b=+h[f>>3];b=l>b?l:b}else b=+h[a>>3]+q*+I(+b)*o-r*(p*+J(+b));h[a+152>>3]=b-c;if(!(m<=n)){r=+h[j>>3];b=+h[i>>3];b=r>b?r:b}else b=+h[k>>3]+r*(q*+I(+m))+p*+J(+m)*o;h[a+160>>3]=b-d;return}function RT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+80|0;m=n;ST(b);k=+h[e+56>>3];g=+h[e+64>>3];f=e+48|0;switch(a[e+80>>0]|0){case 116:{g=g+(+h[f>>3]-+TT(d))*.5;i=4;break}case 98:{g=g-(+h[f>>3]-+TT(d))*.5;i=4;break}default:{}}if((i|0)==4)g=g+-1.0;h[m>>3]=k;h[m+8>>3]=g;c[m+20>>2]=c[e+8>>2];c[m+16>>2]=c[e+4>>2];h[m+32>>3]=+h[e+16>>3];j=b+16|0;e=NA(c[(c[j>>2]|0)+8>>2]|0,137598)|0;f=m+56|0;c[f>>2]=e;i=m+60|0;c[i>>2]=c[(c[j>>2]|0)+212>>2];j=m+64|0;a[j>>0]=0;if(!((e|0)!=0?(a[e>>0]|0)!=0:0))c[f>>2]=137609;if((a[d+4>>0]|0)==1){f=c[d>>2]|0;jS(b,c[(c[b>>2]|0)+336>>2]|0);e=c[f+24>>2]|0;if(!e)fS(b,137615);else fS(b,e);VT(b,f,m);if(a[j>>0]|0)l6(c[i>>2]|0)}else UT(b,c[d>>2]|0,m);WT(b);l=n;return}function ST(a){a=a|0;var d=0,e=0;a=_H(a)|0;d=c[a>>2]|0;e=c[d+4>>2]|0;c[a+4>>2]=e;c[a+12>>2]=c[d+12>>2];if(e>>>0<4)c[a+8>>2]=c[d+8>>2];c[a+208>>2]=c[d+208>>2];c[a+228>>2]=c[d+228>>2];c[a+244>>2]=c[d+244>>2];e=a+260|0;b[e>>1]=b[e>>1]&-2|b[d+260>>1]&1;return}function TT(b){b=b|0;var d=0.0,e=0,f=0;switch(a[b+4>>0]|0){case 1:{e=c[b>>2]|0;b=e+72|0;e=e+56|0;f=5;break}case 3:{e=c[b>>2]|0;b=e+24|0;e=e+8|0;f=5;break}case 2:{e=c[b>>2]|0;b=e+32|0;e=e+16|0;f=5;break}default:d=0.0}if((f|0)==5)d=+h[b>>3]-+h[e>>3];return +d}function UT(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;n=l;l=l+96|0;j=n+64|0;i=n+32|0;g=n+16|0;k=n;m=b[e+4>>1]|0;if(m<<16>>16>=1){r=e+8|0;p=+h[e+24>>3];o=+h[r>>3];h[k>>3]=+h[f>>3]+(p+o)*.5;h[k+8>>3]=+h[f+8>>3]+(+h[e+32>>3]+ +h[e+16>>3])*.5;q=c[e>>2]|0;s=f+16|0;f=a[e+6>>0]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[i+16>>2]=c[s+16>>2];c[i+20>>2]=c[s+20>>2];c[i+24>>2]=c[s+24>>2];c[i+28>>2]=c[s+28>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];c[j+16>>2]=c[r+16>>2];c[j+20>>2]=c[r+20>>2];c[j+24>>2]=c[r+24>>2];c[j+28>>2]=c[r+28>>2];gU(d,m<<16>>16,q,g,(p-o)*.5,i,j,f)}l=n;return}function VT(f,g,i){f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+176|0;w=B+96|0;y=B+64|0;z=B+136|0;q=B;r=B+128|0;s=g+48|0;c[y>>2]=c[s>>2];c[y+4>>2]=c[s+4>>2];c[y+8>>2]=c[s+8>>2];c[y+12>>2]=c[s+12>>2];c[y+16>>2]=c[s+16>>2];c[y+20>>2]=c[s+20>>2];c[y+24>>2]=c[s+24>>2];c[y+28>>2]=c[s+28>>2];m=+h[i>>3];n=+h[i+8>>3];s=g+84|0;j=c[s>>2]|0;if(!(c[g>>2]|0))A=(c[g+8>>2]|0)!=0;else A=1;x=g+108|0;k=c[x>>2]|0;if(k|0)XT(i,k,186712);h[y>>3]=m+ +h[y>>3];u=y+16|0;h[u>>3]=m+ +h[u>>3];u=y+8|0;h[u>>3]=n+ +h[u>>3];u=y+24|0;h[u>>3]=n+ +h[u>>3];u=f+152|0;if(A?(c[u>>2]&4|0)==0:0){c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2];c[w+20>>2]=c[y+20>>2];c[w+24>>2]=c[y+24>>2];c[w+28>>2]=c[y+28>>2];t=YT(f,i,g,w,z)|0}else t=0;p=g+42|0;k=e[p>>1]|0;if(!(k&32)){o=c[g+20>>2]|0;v=g+33|0;if(o){k=ZT(f,o,c[g+28>>2]|0,k,r)|0;if(!(b[p>>1]&4)){c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2];c[w+20>>2]=c[y+20>>2];c[w+24>>2]=c[y+24>>2];c[w+28>>2]=c[y+28>>2];mS(f,w,k)}else{p=d[v>>0]|0;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2];c[w+20>>2]=c[y+20>>2];c[w+24>>2]=c[y+24>>2];c[w+28>>2]=c[y+28>>2];RM(f,_T(q,w,p)|0,4,4,k)}l6(c[r>>2]|0)}while(1){k=c[j>>2]|0;if(!k)break;$T(f,k,i);j=j+4|0}j=c[s>>2]|0;sS(f,1.0);k=g+24|0;while(1){o=j+4|0;j=c[j>>2]|0;if(!j)break;if(!(a[j+100>>0]|0)){j=o;continue}aU(f,j,i,c[k>>2]|0,c[o>>2]|0);j=o}if(a[v>>0]|0){c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2];c[w+20>>2]=c[y+20>>2];c[w+24>>2]=c[y+24>>2];c[w+28>>2]=c[y+28>>2];bU(f,g,w)}}if(t|0)cU(f,z);if((A?c[u>>2]&4|0:0)?(c[w>>2]=c[y>>2],c[w+4>>2]=c[y+4>>2],c[w+8>>2]=c[y+8>>2],c[w+12>>2]=c[y+12>>2],c[w+16>>2]=c[y+16>>2],c[w+20>>2]=c[y+20>>2],c[w+24>>2]=c[y+24>>2],c[w+28>>2]=c[y+28>>2],YT(f,i,g,w,z)|0):0)cU(f,z);if(c[x>>2]|0)dU(i,186712);l=B;return}function WT(a){a=a|0;var b=0;b=c[a+16>>2]|0;c[b+208>>2]=0;c[b+228>>2]=0;c[b+244>>2]=0;c[b+212>>2]=0;$H(a);return}function XT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0;i=a+16|0;f=c[i>>2]|0;if(f|0){if(!(c[b>>2]|0)){f=0;g=d}else{c[d>>2]=f;f=c[b>>2]|0;g=i}c[g>>2]=f}f=c[a+20>>2]|0;if(f|0){g=b+4|0;if(!(c[g>>2]|0)){f=0;g=d}else{c[d+4>>2]=f;f=c[g>>2]|0;g=i}c[g+4>>2]=f}e=+h[a+32>>3];if(e>=0.0){f=b+16|0;if(!(+h[f>>3]>=0.0))e=-1.0;else{h[d+16>>3]=e;e=+h[f>>3];d=i}h[d+16>>3]=e}return}function YT(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+224|0;n=u+8|0;k=u;t=u+40|0;j=u+184|0;i=u+56|0;m=c[d+16>>2]|0;o=m+208|0;c[h>>2]=c[o>>2];p=m+228|0;c[h+4>>2]=c[p>>2];q=m+244|0;c[h+8>>2]=c[q>>2];r=m+212|0;c[h+12>>2]=c[r>>2];s=m+260|0;a[h+16>>0]=(b[s>>1]<<15&65535)<<16>>16>>15;h=c[f+16>>2]|0;m=m+8|0;if((h|0)!=0?(a[h>>0]|0)!=0:0)i=0;else{hA(t,128,i);i=e+60|0;h=c[i>>2]|0;if(!h){h=Y3(bI(d,c[m>>2]|0,t)|0)|0;c[i>>2]=h;a[e+64>>0]=1}kA(t,h)|0;i=c[47445]|0;c[47445]=i+1;c[k>>2]=i;i2(j,137692,k)|0;kA(t,j)|0;i=t+4|0;h=c[i>>2]|0;if(h>>>0>=(c[t+8>>2]|0)>>>0){iA(t,1)|0;h=c[i>>2]|0}a[h>>0]=0;h=c[t>>2]|0;c[i>>2]=h;i=1}h=aI(d,0,c[f>>2]|0,c[f+12>>2]|0,c[f+8>>2]|0,h,c[m>>2]|0)|0;if(i)lA(t);do if(h|0){if((c[o>>2]|0)==0?(b[s>>1]&1)==0:0)break;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];c[n+16>>2]=c[g+16>>2];c[n+20>>2]=c[g+20>>2];c[n+24>>2]=c[g+24>>2];c[n+28>>2]=c[g+28>>2];iI(d,n);aS(d,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)}while(0);l=u;return h|0}function ZT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;if(!((HJ(b,f,i)|0)<<24>>24)){hS(a,b);b=1}else{hS(a,c[f>>2]|0);b=c[f+4>>2]|0;h=+g[i>>2];if(!b)iS(a,137615,d,h);else iS(a,b,d,h);b=e>>>1&1|2}fS(a,137680);l=j;return b|0}function _T(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0,j=0.0,k=0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];i=a+32|0;k=b+16|0;c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];k=a+40|0;b=a+8|0;if((d|0)>1){e=+(d|0)*.5;g=e+ +h[a>>3];h[a>>3]=g;f=e+ +h[b>>3];h[b>>3]=f;j=+h[i>>3]-e;h[i>>3]=j;e=+h[k>>3]-e;h[k>>3]=e}else{j=+h[i>>3];f=+h[b>>3];g=+h[a>>3];e=+h[k>>3]}h[a+16>>3]=j;h[a+24>>3]=f;h[a+48>>3]=g;h[a+56>>3]=e;return a|0}function $T(f,g,i){f=f|0;g=g|0;i=i|0;var j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+176|0;u=y+96|0;v=y+136|0;w=y+64|0;s=y;t=y+128|0;x=g+48|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];c[w+24>>2]=c[x+24>>2];c[w+28>>2]=c[x+28>>2];k=+h[i>>3];m=+h[i+8>>3];if(!(c[g>>2]|0))x=(c[g+8>>2]|0)!=0;else x=1;h[w>>3]=k+ +h[w>>3];r=w+16|0;h[r>>3]=k+ +h[r>>3];r=w+8|0;h[r>>3]=m+ +h[r>>3];r=w+24|0;h[r>>3]=m+ +h[r>>3];r=f+152|0;if(x?(c[r>>2]&4|0)==0:0){c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];c[u+16>>2]=c[w+16>>2];c[u+20>>2]=c[w+20>>2];c[u+24>>2]=c[w+24>>2];c[u+28>>2]=c[w+28>>2];q=YT(f,i,g,u,v)|0}else q=0;o=g+42|0;j=e[o>>1]|0;a:do if(!(j&32)){n=c[g+20>>2]|0;p=g+33|0;if(n|0){j=ZT(f,n,c[g+28>>2]|0,j,t)|0;if(!(b[o>>1]&4)){c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];c[u+16>>2]=c[w+16>>2];c[u+20>>2]=c[w+20>>2];c[u+24>>2]=c[w+24>>2];c[u+28>>2]=c[w+28>>2];mS(f,u,j)}else{o=d[p>>0]|0;c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];c[u+16>>2]=c[w+16>>2];c[u+20>>2]=c[w+20>>2];c[u+24>>2]=c[w+24>>2];c[u+28>>2]=c[w+28>>2];RM(f,_T(s,u,o)|0,4,4,j)}l6(c[t>>2]|0)}if(a[p>>0]|0){c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];c[u+16>>2]=c[w+16>>2];c[u+20>>2]=c[w+20>>2];c[u+24>>2]=c[w+24>>2];c[u+28>>2]=c[w+28>>2];bU(f,g,u)}j=g+88|0;switch(a[g+92>>0]|0){case 1:{VT(f,c[j>>2]|0,i);break a}case 3:{fU(f,c[j>>2]|0,i);break a}default:{UT(f,c[j>>2]|0,i);break a}}}while(0);if(q|0)cU(f,v);if((x?c[r>>2]&4|0:0)?(c[u>>2]=c[w>>2],c[u+4>>2]=c[w+4>>2],c[u+8>>2]=c[w+8>>2],c[u+12>>2]=c[w+12>>2],c[u+16>>2]=c[w+16>>2],c[u+20>>2]=c[w+20>>2],c[u+24>>2]=c[w+24>>2],c[u+28>>2]=c[w+28>>2],YT(f,i,g,u,v)|0):0)cU(f,v);l=y;return}function aU(f,g,i,j,k){f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0;G=l;l=l+32|0;E=G+16|0;F=G;y=+h[i>>3];s=+h[i+8>>3];p=(j|0)==0?137615:j;hS(f,p);fS(f,p);B=y+ +h[g+48>>3];C=y+ +h[g+64>>3];D=s+ +h[g+56>>3];s=s+ +h[g+72>>3];p=g+100|0;i=a[p>>0]|0;q=g+86|0;z=F+8|0;t=g+84|0;u=g+82|0;v=g+96|0;w=g+80|0;if((i&1)!=0?(o=c[v>>2]|0,((e[w>>1]|0)+(e[t>>1]|0)|0)<(c[o+104>>2]|0)):0){j=b[q>>1]|0;g=o+33|0;n=a[o+32>>0]|0;H=(n<<24>>24)/2|0;i=H<<24>>24;r=+(H<<24>>24);if(j<<16>>16)if(((e[u>>1]|0)+(j&65535)|0)==(c[o+100>>2]|0)){i=(d[g>>0]|0)+i|0;j=i;i=i&255;m=D-r}else{j=0;m=D}else{j=(d[g>>0]|0)+i|0;m=D}h[z>>3]=m-+(i|0);h[F>>3]=C+r;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];eU(f,E,0.0,+(n<<24>>24)+(s+ +(j&255|0)-D));i=a[p>>0]|0}if(i&2?(A=b[q>>1]|0,x=c[v>>2]|0,((e[u>>1]|0)+(A&65535)|0)<(c[x+100>>2]|0)):0){H=b[t>>1]|0;q=(k|0)!=0;o=k+86|0;g=x+33|0;i=x+32|0;p=x+64|0;n=((e[w>>1]|0)+(H&65535)|0)==(c[x+104>>2]|0);do if(!(H<<16>>16)){i=a[i>>0]|0;H=(i<<24>>24)/2|0;g=(H<<24>>24)+(d[g>>0]|0)|0;j=g&255;g=g&255;m=+(H<<24>>24);h[F>>3]=B-+(g|0)-m;if(n){j=g<<1&255;break}if(q?(b[o>>1]|0)!=A<<16>>16:0)j=~~(+(j&255)+(y+ +h[p>>3]-(C+m)))&255}else{i=a[i>>0]|0;j=(i<<24>>24)/2|0;m=+(j<<24>>24);h[F>>3]=B-m;if(n){j=(d[g>>0]|0)+(j&255)&255;break}if(q?(b[o>>1]|0)!=A<<16>>16:0)j=~~(y+ +h[p>>3]-(C+m)+0.0)&255;else j=0}while(0);h[z>>3]=D-+(((i<<24>>24)/2|0)<<24>>24);c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];eU(f,E,+(i<<24>>24)+(C+ +(j&255)-B),0.0)}l=G;return}function bU(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+160|0;o=q+112|0;p=q;j=q+144|0;m=c[f+24>>2]|0;fS(e,(m|0)==0?137615:m);m=f+42|0;i=b[m>>1]|0;if(!(i&384))jS(e,c[(c[e>>2]|0)+336>>2]|0);else{c[j+4>>2]=0;c[j>>2]=0;i=i&65535;if(!(i&256)){if(i&128|0){i=137621;k=4}}else{i=137628;k=4}if((k|0)==4)c[j>>2]=i;jS(e,j)}i=f+33|0;sS(e,+(d[i>>0]|0));i=a[i>>0]|0;j=i&255;a:do if(!(b[m>>1]&4)){n=b[f+36>>1]&15360;if(!(n<<16>>16)){if((i&255)>1){r=+(i&255)*.5;h[g>>3]=r+ +h[g>>3];p=g+8|0;h[p>>3]=r+ +h[p>>3];p=g+16|0;h[p>>3]=+h[p>>3]-r;p=g+24|0;h[p>>3]=+h[p>>3]-r};c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];mS(e,o,0);break}m=p+16|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];_T(m,o,j)|0;i=p+32|0;j=p+64|0;k=p+48|0;f=p+80|0;do switch(((n&65535)+-1024|0)>>>10&4194303|0){case 7:{oS(e,m,2);break a}case 3:{oS(e,i,2);break a}case 1:{oS(e,k,2);break a}case 0:{c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];oS(e,p,2);break a}case 11:{oS(e,m,3);break a}case 5:{oS(e,i,3);break a}case 2:{c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];oS(e,k,3);break a}case 8:{c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];oS(e,p,3);break a}case 13:{oS(e,m,4);break a}case 6:{c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];oS(e,i,4);break a}case 10:{c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];p=p+96|0;c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];oS(e,k,4);break a}case 12:{c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];oS(e,p,4);break a}case 9:{oS(e,m,2);oS(e,k,2);break a}case 4:{c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];oS(e,p,2);oS(e,i,2);break a}default:break a}while(0)}else{c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];RM(e,_T(p,o,j)|0,4,4,0)}while(0);l=q;return}function cU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=c[d+16>>2]|0;f=h+208|0;i=h+260|0;if((c[f>>2]|0)==0?(b[i>>1]&1)==0:0)d=0;else{bS(d);d=c[f>>2]|0}if((d|0)!=(c[e>>2]|0)){l6(d);c[f>>2]=c[e>>2]}d=h+228|0;f=c[d>>2]|0;g=e+4|0;if((f|0)!=(c[g>>2]|0)){l6(f);c[d>>2]=c[g>>2]}d=h+244|0;f=c[d>>2]|0;g=e+8|0;if((f|0)!=(c[g>>2]|0)){l6(f);c[d>>2]=c[g>>2]}d=h+212|0;f=c[d>>2]|0;g=e+12|0;if((f|0)!=(c[g>>2]|0)){l6(f);c[d>>2]=c[g>>2]}b[i>>1]=b[i>>1]&-2|a[e+16>>0]&1;return}function dU(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=c[b>>2]|0;if(e|0)c[a+16>>2]=e;e=c[b+4>>2]|0;if(e|0)c[a+20>>2]=e;d=+h[b+16>>3];if(d>=0.0)h[a+32>>3]=d;return}function eU(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0;f=l;l=l+64|0;g=f+32|0;i=f;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[i+16>>3]=+h[b>>3]+d;h[i+24>>3]=+h[b+8>>3]+e;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2];c[g+20>>2]=c[i+20>>2];c[g+24>>2]=c[i+24>>2];c[g+28>>2]=c[i+28>>2];mS(a,g,1);l=f;return}function fU(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0;i=l;l=l+64|0;g=i;k=+h[e>>3];n=+h[d>>3]+k;m=+h[e+8>>3];j=+h[d+8>>3]+m;k=+h[d+16>>3]+k;m=+h[d+24>>3]+m;h[g>>3]=k;h[g+8>>3]=m;h[g+32>>3]=n;h[g+40>>3]=j;h[g+16>>3]=n;h[g+24>>3]=m;h[g+48>>3]=k;h[g+56>>3]=j;f=c[d+36>>2]|0;if(!f)f=c[e+56>>2]|0;e=c[d+32>>2]|0;if(!e)Aa(137635,137643,623,137655);if(!(a[e>>0]|0))Aa(137669,137643,624,137655);else{qS(b,e,g,4,1,f);l=i;return}}function gU(d,e,f,g,i,j,k,m){d=d|0;e=e|0;f=f|0;g=g|0;i=+i;j=j|0;k=k|0;m=m|0;var n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0;Q=l;l=l+128|0;K=Q+104|0;O=Q+48|0;P=Q+16|0;L=Q;J=L;c[J>>2]=0;c[J+4>>2]=0;M=+h[g>>3];N=M-i;I=M+i;J=L+8|0;h[J>>3]=+h[g+8>>3]+(+h[k+24>>3]-+h[k+8>>3])*.5;cS(d,1);D=P+16|0;E=P+4|0;F=P+24|0;G=O+4|0;H=O+16|0;u=(m|0)==0;v=O+24|0;w=O+8|0;x=O+32|0;y=O+40|0;z=O+48|0;A=j+16|0;B=P+8|0;C=j+4|0;t=0;while(1){if((t|0)>=(e|0))break;k=f+(t*24|0)+8|0;switch(a[f+(t*24|0)+6>>0]|0){case 108:{i=N;break}case 114:{i=I-+h[k>>3];break}default:i=M-+h[k>>3]*.5}h[g>>3]=i;r=f+(t*24|0)+16|0;h[J>>3]=+h[J>>3]-+h[r>>3];s=f+(t*24|0)+4|0;p=c[f+(t*24|0)>>2]|0;q=0;while(1){if((q|0)>=(b[s>>1]|0))break;o=p+4|0;k=c[o>>2]|0;if(!k){h[D>>3]=+h[A>>3];c[P>>2]=c[j>>2];m=c[C>>2]|0;c[E>>2]=m;k=c[F>>2]&-128}else{h[D>>3]=+h[(+h[k+16>>3]>0.0?k:j)+16>>3];c[P>>2]=c[((c[k>>2]|0)==0?j:k)>>2];m=c[((c[k+4>>2]|0)==0?j:k)+4>>2]|0;c[E>>2]=m;k=c[k+24>>2]&127|c[F>>2]&-128}c[F>>2]=k;fS(d,m);c[O>>2]=c[p>>2];c[G>>2]=P;h[H>>3]=+h[p+16>>3];if(u)n=1.0;else n=+h[p+24>>3];h[v>>3]=n;c[B>>2]=c[(c[o>>2]|0)+8>>2];c[w>>2]=c[p+8>>2];o=p+32|0;h[x>>3]=+h[o>>3];h[y>>3]=+h[r>>3];a[z>>0]=108;h[L>>3]=i;c[K>>2]=c[L>>2];c[K+4>>2]=c[L+4>>2];c[K+8>>2]=c[L+8>>2];c[K+12>>2]=c[L+12>>2];eS(d,K,O);n=i+ +h[o>>3];h[g>>3]=n;p=p+56|0;q=q+1|0;i=n}t=t+1|0}dS(d);l=Q;return}function hU(a){a=a|0;l6(c[a>>2]|0);l6(c[a+4>>2]|0);l6(c[a+8>>2]|0);l6(c[a+16>>2]|0);l6(c[a+12>>2]|0);l6(c[a+20>>2]|0);l6(c[a+24>>2]|0);return}function iU(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(a|0){j=a+4|0;e=0;g=c[a>>2]|0;while(1){if((e|0)>=(b[j>>1]|0))break;k=g+4|0;d=0;f=c[g>>2]|0;while(1){if((d|0)>=(b[k>>1]|0))break;l6(c[f>>2]|0);h=c[f+8>>2]|0;if(h|0?(i=c[f+12>>2]|0,i|0):0)db[i&127](h);d=d+1|0;f=f+56|0}e=e+1|0;g=g+24|0}d=c[a>>2]|0;if(d|0)l6(d);l6(a)}return}function jU(a){a=a|0;l6(c[a+32>>2]|0);l6(a);return}function kU(b,d){b=b|0;d=d|0;switch(a[b+4>>0]|0){case 1:{lU(c[b>>2]|0);break}case 3:{jU(c[b>>2]|0);break}default:iU(c[b>>2]|0)}if(d|0)l6(b);return}function lU(a){a=a|0;var b=0,d=0,e=0;e=a+84|0;if((c[a+100>>2]|0)==-1)Oz(c[e>>2]|0)|0;else{b=c[e>>2]|0;l6(c[a+92>>2]|0);l6(c[a+96>>2]|0);while(1){d=c[b>>2]|0;if(!d)break;mU(d);b=b+4|0}l6(c[e>>2]|0)}hU(a);l6(a);return}function mU(a){a=a|0;kU(a+88|0,0);hU(a);l6(a);return}function nU(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;b=c[(c[(c[b+16>>2]|0)+104>>2]|0)+72>>2]|0;if((a[b+4>>0]|0)!=2?(g=oU(c[b>>2]|0,e)|0,(g|0)!=0):0){c[f>>2]=d[g+35>>0];b=g+48|0}else b=0;return b|0}function oU(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;if(!((d|0)!=0?(C3(d,b)|0)==0:0))e=3;a:do if((e|0)==3){d=c[a+84>>2]|0;while(1){a=c[d>>2]|0;if(!a){a=0;break a}a=pU(a,b)|0;if(!a)d=d+4|0;else break}}while(0);return a|0}function pU(b,d){b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;if(!((e|0)!=0?(C3(e,d)|0)==0:0))if((a[b+92>>0]|0)==1)b=oU(c[b+88>>2]|0,d)|0;else b=0;return b|0}function qU(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function rU(d){d=d|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=d+92|0;c[p>>2]=HK((c[d+100>>2]<<2)+4|0)|0;n=HK((c[d+104>>2]<<2)+4|0)|0;c[d+96>>2]=n;o=d+32|0;m=c[d+84>>2]|0;while(1){l=c[m>>2]|0;if(!l)break;d=b[l+82>>1]|0;f=d&65535;g=+h[l+72>>3];if(d<<16>>16==1)j=~~g;else{j=~~((g-+(S((a[o>>0]|0)+-1|0,f+-1|0)|0))/+(d&65535));j=(j|0)>1?j:1}d=b[l+80>>1]|0;k=d&65535;g=+h[l+64>>3];if(d<<16>>16==1)i=~~g;else{i=~~((g-+(S((a[o>>0]|0)+-1|0,k+-1|0)|0))/+(d&65535));i=(i|0)>1?i:1}d=e[l+86>>1]|0;f=d+f|0;while(1){if((d|0)>=(f|0))break;q=(c[p>>2]|0)+(d<<2)|0;r=c[q>>2]|0;c[q>>2]=(r|0)>(j|0)?r:j;d=d+1|0}d=e[l+84>>1]|0;f=d+k|0;while(1){if((d|0)>=(f|0))break;r=n+(d<<2)|0;q=c[r>>2]|0;c[r>>2]=(q|0)>(i|0)?q:i;d=d+1|0}m=m+4|0}return}function sU(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;if(a>>>0<21)a=c[55892+(a<<2)>>2]|0;else{c[b>>2]=a;i2(195241,137696,b)|0;a=195241}l=d;return a|0}function tU(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+104|0;l=a+100|0;j=d+16|0;f=0;g=0;while(1){if((f|0)>(c[k>>2]|0))break;i=qC(d,sU(f)|0,1)|0;RC(i,137750,304,1)|0;m=i+16|0;c[(c[m>>2]|0)+176>>2]=0;o=HK((c[l>>2]<<2)+4|0)|0;n=c[m>>2]|0;c[n+172>>2]=o;c[n+184>>2]=0;n=HK((c[l>>2]<<2)+4|0)|0;c[(c[m>>2]|0)+180>>2]=n;if(!g)c[(c[j>>2]|0)+192>>2]=i;else c[(c[g+16>>2]|0)+164>>2]=i;f=f+1|0;g=i}j=b+16|0;f=0;g=0;while(1){if((f|0)>(c[l>>2]|0))break;i=qC(b,sU(f)|0,1)|0;RC(i,137750,304,1)|0;o=i+16|0;c[(c[o>>2]|0)+176>>2]=0;m=HK((c[k>>2]<<2)+4|0)|0;n=c[o>>2]|0;c[n+172>>2]=m;c[n+184>>2]=0;n=HK((c[k>>2]<<2)+4|0)|0;c[(c[o>>2]|0)+180>>2]=n;if(!g)c[(c[j>>2]|0)+192>>2]=i;else c[(c[g+16>>2]|0)+164>>2]=i;f=f+1|0;g=i}f=c[a+84>>2]|0;while(1){g=c[f>>2]|0;if(!g)break;o=g+84|0;n=qC(d,sU(e[o>>1]|0)|0,0)|0;o=qC(d,sU((e[g+80>>1]|0)+(e[o>>1]|0)|0)|0,0)|0;uU(d,n,o,~~+h[g+64>>3]);o=g+86|0;n=qC(b,sU(e[o>>1]|0)|0,0)|0;o=qC(b,sU((e[g+82>>1]|0)+(e[o>>1]|0)|0)|0,0)|0;uU(b,n,o,~~+h[g+72>>3]);f=f+4|0}vU(d);vU(b);return}function uU(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;h=fB(a,d,f,0,0)|0;if(!h){i=fB(a,d,f,0,1)|0;RC(i,137763,176,1)|0;b[(c[i+16>>2]|0)+170>>1]=g;d=d+16|0;h=c[d>>2]|0;a=c[h+180>>2]|0;h=(c[h+184>>2]<<2)+8|0;if(!a)a=IK(h)|0;else a=KK(a,h)|0;g=c[d>>2]|0;c[g+180>>2]=a;g=g+184|0;h=c[g>>2]|0;c[g>>2]=h+1;c[a+(h<<2)>>2]=i;d=c[d>>2]|0;c[(c[d+180>>2]|0)+(c[d+184>>2]<<2)>>2]=0;d=f+16|0;h=c[d>>2]|0;a=c[h+172>>2]|0;h=(c[h+176>>2]<<2)+8|0;if(!a)a=IK(h)|0;else a=KK(a,h)|0;g=c[d>>2]|0;c[g+172>>2]=a;g=g+176|0;f=c[g>>2]|0;c[g>>2]=f+1;c[a+(f<<2)>>2]=i;i=c[d>>2]|0;c[(c[i+172>>2]|0)+(c[i+176>>2]<<2)>>2]=0}else{i=(c[h+16>>2]|0)+170|0;f=e[i>>1]|0;b[i>>1]=(f|0)>(g|0)?f:g}return}function vU(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[(c[a+16>>2]|0)+192>>2]|0;e=d;d=d+16|0;while(1){h=c[(c[d>>2]|0)+164>>2]|0;if(!h)break;d=h+16|0;if(fB(a,e,h,0,0)|0){e=h;continue}i=fB(a,e,h,0,1)|0;RC(i,137763,176,1)|0;b[(c[i+16>>2]|0)+170>>1]=0;g=e+16|0;f=c[g>>2]|0;e=c[f+180>>2]|0;f=(c[f+184>>2]<<2)+8|0;if(!e)e=IK(f)|0;else e=KK(e,f)|0;j=c[g>>2]|0;c[j+180>>2]=e;j=j+184|0;f=c[j>>2]|0;c[j>>2]=f+1;c[e+(f<<2)>>2]=i;f=c[g>>2]|0;c[(c[f+180>>2]|0)+(c[f+184>>2]<<2)>>2]=0;f=c[d>>2]|0;e=c[f+172>>2]|0;f=(c[f+176>>2]<<2)+8|0;if(!e)e=IK(f)|0;else e=KK(e,f)|0;g=c[d>>2]|0;c[g+172>>2]=e;g=g+176|0;j=c[g>>2]|0;c[g>>2]=j+1;c[e+(j<<2)>>2]=i;e=c[d>>2]|0;c[(c[e+172>>2]|0)+(c[e+176>>2]<<2)>>2]=0;e=h}return}function wU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+92|0;e=0;f=0;b=c[(c[(c[b+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){b=c[b+164>>2]|0;if(!b)break;b=c[b+16>>2]|0;h=b+232|0;c[(c[g>>2]|0)+(f<<2)>>2]=(c[h>>2]|0)-e;e=c[h>>2]|0;f=f+1|0}a=a+96|0;e=0;f=0;b=c[(c[(c[d+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){b=c[b+164>>2]|0;if(!b)break;b=c[b+16>>2]|0;h=b+232|0;c[(c[a>>2]|0)+(f<<2)>>2]=(c[h>>2]|0)-e;e=c[h>>2]|0;f=f+1|0}return}function xU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+4|0;b=g;c[b>>2]=c[4658];d=c[a+100>>2]|0;if((d|0)!=1?(e=a+104|0,(c[e>>2]|0)!=1):0){c[a+92>>2]=HK((d<<2)+4|0)|0;c[a+96>>2]=HK((c[e>>2]<<2)+4|0)|0;c[f>>2]=c[b>>2];e=lB(137776,f,0)|0;c[f>>2]=c[b>>2];f=lB(137781,f,0)|0;RC(e,137786,280,1)|0;RC(f,137786,280,1)|0;tU(a,e,f);sL(e,2,2147483647)|0;sL(f,2,2147483647)|0;wU(a,e,f);yU(e,f)}else rU(a);l=g;return}function yU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(c[b+16>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;f=d+16|0;d=c[f>>2]|0;e=c[d+172>>2]|0;if(e){l6(e);d=c[f>>2]|0}e=c[d+180>>2]|0;if(e){l6(e);d=c[f>>2]|0}d=d+164|0}pB(a)|0;pB(b)|0;return}function zU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;r=l;l=l+272|0;p=r+104|0;q=r+136|0;n=r+72|0;o=r;g=r+144|0;c[o+48>>2]=b;i=o+52|0;switch(FC(b)|0){case 0:{e=c[b+60>>2]|0;f=5;break}case 1:{e=uC(b)|0;f=5;break}case 2:{e=uC(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;f=5;break}default:e=0}if((f|0)==5)c[i>>2]=e;m=c[e+60>>2]|0;h[o+32>>3]=+h[d+16>>3];c[o+16>>2]=c[d+4>>2];c[o+20>>2]=c[d+8>>2];c[o+40>>2]=0;k=JW(c[d>>2]|0,q,o)|0;if(!k){hA(p,128,g);a[d+82>>0]=0;e=Y3(AU(b,p)|0)|0;c[d>>2]=e;if((c[d+12>>2]|0)==1)e=cQ(e)|0;else e=$P(e,c[i>>2]|0)|0;l6(c[d>>2]|0);c[d>>2]=e;vK(c[(c[m+16>>2]|0)+144>>2]|0,d);lA(p);e=c[q>>2]|0}else{e=k+4|0;f=d+24|0;g=n+8|0;i=n+24|0;j=n+16|0;if((a[e>>0]|0)==1){if((c[(c[k>>2]|0)+24>>2]|0)==0?BU(b)|0:0){b=Y3(BU(b)|0)|0;c[(c[k>>2]|0)+24>>2]=b}o=CU(m,c[k>>2]|0,0,o)|0;c[q>>2]=c[q>>2]|o;o=c[k>>2]|0;t=+h[o+64>>3]*.5;s=+h[o+72>>3]*.5;DU(n,-t,-s,t,s);o=c[k>>2]|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];c[p+16>>2]=c[n+16>>2];c[p+20>>2]=c[n+20>>2];c[p+24>>2]=c[n+24>>2];c[p+28>>2]=c[n+28>>2];EU(o,p,15)}else{FU(c[(c[m+16>>2]|0)+144>>2]|0,c[k>>2]|0,o);p=c[k>>2]|0;s=+h[p+24>>3]*.5;t=+h[p+32>>3]*.5;DU(n,-s,-t,s,t);p=(c[k>>2]|0)+8|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];c[p+16>>2]=c[n+16>>2];c[p+20>>2]=c[n+20>>2];c[p+24>>2]=c[n+24>>2];c[p+28>>2]=c[n+28>>2]}h[f>>3]=+h[j>>3]-+h[n>>3];h[d+32>>3]=+h[i>>3]-+h[g>>3];c[d+72>>2]=k;if((a[e>>0]|0)==1){l6(c[d>>2]|0);c[d>>2]=Y3(141914)|0}e=c[q>>2]|0}l=r;return e|0}function AU(b,d){b=b|0;d=d|0;var e=0;a:do switch(FC(b)|0){case 0:{kA(d,HB(b)|0)|0;break}case 1:{kA(d,HB(b)|0)|0;break}case 2:{kA(d,HB(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)|0;e=b+-48|0;kA(d,HB(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0)|0;if(!(uB(uC(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0)|0)){kA(d,142050)|0;break a}else{kA(d,138041)|0;break a}}default:{}}while(0);e=d+4|0;b=c[e>>2]|0;if(b>>>0>=(c[d+8>>2]|0)>>>0){iA(d,1)|0;b=c[e>>2]|0}a[b>>0]=0;d=c[d>>2]|0;c[e>>2]=d;return d|0}function BU(b){b=b|0;var c=0,d=0;c=NA(b,138032)|0;if(!((c|0)!=0?(a[c>>0]|0)!=0:0))d=3;do if((d|0)==3){c=NA(b,141126)|0;if(c|0?a[c>>0]|0:0)break;c=0}while(0);return c|0}function CU(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;u=w+8|0;t=w;v=g+108|0;k=c[v>>2]|0;if(k|0)XT(j,k,186744);c[g+80>>2]=i;k=JU(f,g,j)|0;r=g+36|0;f=e[r>>1]|0;i=g+32|0;if(!(f&128))a[i>>0]=2;m=g+33|0;if(!(f&32))a[m>>0]=1;xU(g);n=c[g+104>>2]|0;p=a[i>>0]|0;f=S(p,n+1|0)|0;o=d[m>>0]<<1;q=c[g+100>>2]|0;p=S(q+1|0,p)|0;m=g+96|0;f=o+f|0;i=0;while(1){if((i|0)>=(n|0))break;f=(c[(c[m>>2]|0)+(i<<2)>>2]|0)+f|0;i=i+1|0}n=g+92|0;i=p+o|0;m=0;while(1){if((m|0)>=(q|0))break;i=(c[(c[n>>2]|0)+(m<<2)>>2]|0)+i|0;m=m+1|0}n=g+38|0;o=g+40|0;do if(b[r>>1]&1){r=b[n>>1]|0;m=r&65535;if(r<<16>>16?(s=b[o>>1]|0,s<<16>>16):0){if(!((m|0)<(f|0)|(s&65535|0)<(i|0))){i=0;f=0;break}dA(0,137832,t)|0;k=1;i=0;f=0;break}dA(0,137866,u)|0;k=1}while(0);u=e[n>>1]|0;h[g+64>>3]=+(((f|0)>(u|0)?f:u)|0);u=e[o>>1]|0;h[g+72>>3]=+(((i|0)>(u|0)?i:u)|0);if(c[v>>2]|0)dU(j,186744);l=w;return k|0}function DU(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function EU(f,g,i){f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0;J=l;l=l+64|0;H=J+32|0;I=J;w=c[f+84>>2]|0;m=c[f+80>>2]|0;if((m|0?(j=c[m+24>>2]|0,j|0):0)?(k=f+24|0,(c[k>>2]|0)==0):0)c[k>>2]=Y3(j)|0;G=f+48|0;j=g+16|0;o=+h[j>>3];n=+h[g>>3];k=~~(o-n-+(~~+h[f+64>>3]|0));if((k|0)<=-1)Aa(137799,137643,1761,137809);m=g+24|0;u=+h[m>>3];p=g+8|0;q=+h[p>>3];r=+(~~+h[f+72>>3]|0);s=~~(u-q-r);if((s|0)<=-1)Aa(137822,137643,1764,137809);t=e[f+36>>1]|0;a:do if(t&1){b:do if((k|0)>0)switch(t&6){case 4:{h[j>>3]=n+r;break b}case 2:{K=+(k|0);h[j>>3]=o+K;n=K+n;h[g>>3]=n;break b}default:{K=+(k>>>1|0);n=n+K;h[g>>3]=n;h[j>>3]=o-K;break b}}while(0);if((s|0)>0)switch(t&24){case 16:{u=q+r;h[m>>3]=u;s=0;j=0;break a}case 8:{K=+(s|0);u=K+u;h[m>>3]=u;h[p>>3]=q+K;s=0;j=0;break a}default:{K=+(s>>>1|0);h[p>>3]=q+K;u=u-K;h[m>>3]=u;s=0;j=0;break a}}else{s=0;j=0}}else j=k;while(0);o=+(d[f+33>>0]|0);E=f+32|0;F=a[E>>0]|0;v=F<<24>>24;q=+(F<<24>>24);F=f+104|0;m=c[F>>2]|0;t=(j|0)/(m|0)|0;p=j-(S(t,m)|0)|0;p=~~(+(p|0)+((p|0)>-1?.5:-.5));D=f+96|0;t=t+v|0;j=~~(n+o+q);k=0;while(1){if((k|0)>(m|0))break;C=(c[D>>2]|0)+(k<<2)|0;m=c[C>>2]|0;c[C>>2]=j;j=t+j+((k|0)<(p|0)&1)+m|0;k=k+1|0;m=c[F>>2]|0}C=f+100|0;m=c[C>>2]|0;p=(s|0)/(m|0)|0;s=s-(S(p,m)|0)|0;s=~~(+(s|0)+((s|0)>-1?.5:-.5));B=f+92|0;p=p+v|0;j=~~(u-o-q);k=0;while(1){if((k|0)>(m|0))break;A=(c[B>>2]|0)+(k<<2)|0;m=c[A>>2]|0;c[A>>2]=j;j=j-p+(((k|0)<(s|0))<<31>>31)-m|0;k=k+1|0;m=c[C>>2]|0}x=(i|0)==0;y=I+16|0;z=I+24|0;A=I+8|0;m=w;while(1){p=c[m>>2]|0;if(!p)break;j=b[p+84>>1]|0;k=b[p+86>>1]|0;s=k&65535;t=j&65535;v=(e[p+80>>1]|0)+t|0;w=(e[p+82>>1]|0)+s|0;if(x)j=0;else{j=j<<16>>16==0?8:0;j=k<<16>>16==0?j|4:j;j=(w|0)==(c[C>>2]|0)|((v|0)==(c[F>>2]|0)?j|2:j)}k=c[D>>2]|0;h[I>>3]=+(c[k+(t<<2)>>2]|0);t=a[E>>0]|0;h[y>>3]=+((c[k+(v<<2)>>2]|0)-t|0);v=c[B>>2]|0;h[z>>3]=+(c[v+(s<<2)>>2]|0);h[A>>3]=+((c[v+(w<<2)>>2]|0)+t|0);c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];c[H+16>>2]=c[I+16>>2];c[H+20>>2]=c[I+20>>2];c[H+24>>2]=c[I+24>>2];c[H+28>>2]=c[I+28>>2];GU(p,H,j&i);m=m+4|0}a[f+35>>0]=i;c[G>>2]=c[g>>2];c[G+4>>2]=c[g+4>>2];c[G+8>>2]=c[g+8>>2];c[G+12>>2]=c[g+12>>2];c[G+16>>2]=c[g+16>>2];c[G+20>>2]=c[g+20>>2];c[G+24>>2]=c[g+24>>2];c[G+28>>2]=c[g+28>>2];l=J;return}function FU(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0.0;P=l;l=l+112|0;I=P+48|0;J=P+16|0;K=P;c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;c[J+16>>2]=0;c[J+20>>2]=0;c[J+24>>2]=0;c[J+28>>2]=0;L=e+4|0;M=J+16|0;N=f+16|0;O=f+32|0;r=b[L>>1]|0;n=r<<16>>16;g=0;j=-1.0;m=0;while(1){if((m|0)>=(n|0)){g=1;break}i=c[e>>2]|0;if((b[i+(m*24|0)+4>>1]|0)>1){g=0;break}i=c[(c[i+(m*24|0)>>2]|0)+4>>2]|0;if(!i){k=+h[O>>3];h[M>>3]=k;i=N}else{if(c[i+24>>2]&127|0){g=0;break}k=+h[(+h[i+16>>3]>0.0?i:N)+16>>3];h[M>>3]=k;i=(c[i>>2]|0)==0?N:i}i=c[i>>2]|0;c[J>>2]=i;if(!(j==-1.0)){if(k!=j){g=0;break}}else j=k;if(g){if(f2(i,g)|0){g=0;break}}else g=i;m=m+1|0}a[e+6>>0]=g;E=f+48|0;F=J+4|0;G=J+24|0;H=f+40|0;x=f+20|0;y=d+144|0;z=I+4|0;w=K+8|0;A=I+16|0;B=I+24|0;C=I+8|0;D=I+12|0;v=(g|0)==0;j=0.0;s=0.0;t=0.0;u=0.0;f=0;g=r;while(1){if((f|0)>=(g<<16>>16|0))break;k=0.0;q=0.0;n=0;p=0.0;j=0.0;i=c[e>>2]|0;while(1){if((n|0)>=(b[i+(f*24|0)+4>>1]|0))break;c[I>>2]=CK(c[(c[i+(f*24|0)>>2]|0)+(n*56|0)>>2]|0,c[E>>2]|0)|0;i=(c[e>>2]|0)+(f*24|0)|0;g=c[(c[i>>2]|0)+(n*56|0)+4>>2]|0;m=c[G>>2]&-128;if(!g){h[M>>3]=+h[O>>3];c[J>>2]=c[N>>2];c[F>>2]=c[x>>2];c[G>>2]=c[H>>2]&127|m}else{g=c[g+24>>2]&127;if(!g)g=c[H>>2]&127;c[G>>2]=g|m;r=c[(c[i>>2]|0)+(n*56|0)+4>>2]|0;h[M>>3]=+h[(+h[r+16>>3]>0.0?r:N)+16>>3];c[J>>2]=c[((c[r>>2]|0)==0?N:r)>>2];c[F>>2]=c[((c[r+4>>2]|0)==0?N:r)+4>>2]}i=c[y>>2]|0;c[z>>2]=eb[c[i>>2]&63](i,J,1)|0;JO(K,d,I);R=+h[K>>3];o=+h[w>>3];l6(c[(c[(c[e>>2]|0)+(f*24|0)>>2]|0)+(n*56|0)>>2]|0);i=c[e>>2]|0;r=c[i+(f*24|0)>>2]|0;c[r+(n*56|0)>>2]=c[I>>2];h[r+(n*56|0)+32>>3]=R;h[r+(n*56|0)+16>>3]=+h[A>>3];h[r+(n*56|0)+24>>3]=+h[B>>3];c[r+(n*56|0)+4>>2]=c[z>>2];c[r+(n*56|0)+8>>2]=c[C>>2];c[r+(n*56|0)+12>>2]=c[D>>2];Q=+h[M>>3];S=+h[B>>3];k=S>k?S:k;q=q+R;n=n+1|0;p=Q>p?Q:p;j=o>j?o:j}h[i+(f*24|0)+8>>3]=q;g=(f|0)==0;do if(v)if(g){o=p;k=p-k;break}else{o=p;k=t+p-u-k;break}else{o=j;k=g?p:j}while(0);h[i+(f*24|0)+16>>3]=k;s=q>s?q:s;t=t+o;u=u+k;f=f+1|0;g=b[L>>1]|0}h[e+24>>3]=s;h[e+32>>3]=g<<16>>16==1?j:t;l=P;return}function GU(f,g,i){f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;z=l;l=l+64|0;v=z+32|0;y=z;k=f+24|0;if((c[k>>2]|0)==0?(j=c[(c[f+96>>2]|0)+24>>2]|0,j|0):0)c[k>>2]=Y3(j)|0;u=f+36|0;t=e[u>>1]|0;k=g+8|0;j=g+16|0;w=t&6;s=g+24|0;x=t&24;a:do if(t&1){m=+h[f+64>>3];r=+h[f+72>>3];n=+h[j>>3];p=+h[g>>3];o=n-p-m;b:do if(o>0.0)switch(w&7){case 4:{n=m+p;h[j>>3]=n;m=p;break b}case 2:{n=n+o;h[j>>3]=n;m=o+p;h[g>>3]=m;break b}default:{q=o*.5;m=p+q;h[g>>3]=m;n=n-q;h[j>>3]=n;break b}}else m=p;while(0);q=+h[s>>3];p=+h[k>>3];o=q-p-r;if(o>0.0)switch(x&31){case 16:{o=r+p;h[s>>3]=o;break a}case 8:{r=q+o;h[s>>3]=r;p=o+p;h[k>>3]=p;o=r;break a}default:{o=o*.5;p=p+o;h[k>>3]=p;o=q-o;h[s>>3]=o;break a}}else o=q}else{m=+h[g>>3];p=+h[k>>3];n=+h[j>>3];o=+h[s>>3]}while(0);t=f+48|0;c[t>>2]=c[g>>2];c[t+4>>2]=c[g+4>>2];c[t+8>>2]=c[g+8>>2];c[t+12>>2]=c[g+12>>2];c[t+16>>2]=c[g+16>>2];c[t+20>>2]=c[g+20>>2];c[t+24>>2]=c[g+24>>2];c[t+28>>2]=c[g+28>>2];a[f+35>>0]=i;B=+(d[f+33>>0]|0);A=+(d[f+34>>0]|0);q=m+B+A;h[y>>3]=q;r=A+(B+p);t=y+8|0;h[t>>3]=r;p=n-B-A;s=y+16|0;h[s>>3]=p;o=o-B-A;g=y+24|0;h[g>>3]=o;j=a[f+92>>0]|0;k=f+88|0;do if(j<<24>>24==1){x=c[k>>2]|0;c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[v+16>>2]=c[y+16>>2];c[v+20>>2]=c[y+20>>2];c[v+24>>2]=c[y+24>>2];c[v+28>>2]=c[y+28>>2];EU(x,v,i)}else{m=p-q;if(j<<24>>24==3){j=c[k>>2]|0;n=+h[j+24>>3];m=m-+h[j+16>>3];c:do if(m>0.0)switch(w&7){case 4:{h[s>>3]=p-m;break c}case 2:{h[y>>3]=q+m;break c}default:break c}while(0);m=o-r-n;d:do if(m>0.0)switch(x&31){case 16:{h[g>>3]=o-m;break d}case 8:{h[t>>3]=r+m;break d}default:break d}while(0);c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[v+16>>2]=c[y+16>>2];c[v+20>>2]=c[y+20>>2];c[v+24>>2]=c[y+24>>2];c[v+28>>2]=c[y+28>>2];HU(j,v);break}j=c[k>>2]|0;n=+h[j+32>>3];m=m-+h[j+24>>3];e:do if(!((w|0)==6|!(m>0.0)))switch(w&7){case 4:{h[s>>3]=p-m;break e}case 2:{h[y>>3]=q+m;break e}default:{B=m*.5;h[y>>3]=q+B;h[s>>3]=p-B;break e}}while(0);m=o-r-n;f:do if(m>0.0)switch(x&31){case 16:{h[g>>3]=o-m;break f}case 8:{h[t>>3]=r+m;break f}default:{B=m*.5;h[t>>3]=r+B;h[g>>3]=o-B;break f}}while(0);x=j+8|0;c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2];c[x+12>>2]=c[y+12>>2];c[x+16>>2]=c[y+16>>2];c[x+20>>2]=c[y+20>>2];c[x+24>>2]=c[y+24>>2];c[x+28>>2]=c[y+28>>2];y=b[u>>1]&768;IU(c[k>>2]|0,(y&1023)==512?108:(y&1023)==256?114:110)}while(0);l=z;return}function HU(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];return}function IU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;g=b[d+4>>1]|0;f=0;while(1){if((f|0)>=(g|0))break;h=(c[d>>2]|0)+(f*24|0)+6|0;if(!(a[h>>0]|0))a[h>>0]=e;f=f+1|0}return}function JU(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=f+84|0;t=c[l>>2]|0;u=IL()|0;v=NU()|0;i=0;h=0;k=Qz(t)|0;while(1){if(!k)break;j=Qz(c[k+8>>2]|0)|0;while(1){if(!j)break;j=c[j>>2]|0;i=i+1|0}h=h+1|0;if(a[k+12>>0]|0)RU(v,h);k=c[k>>2]|0}h=HK((i<<2)+4|0)|0;c[l>>2]=h;i=0;j=0;k=0;q=0;r=Qz(t)|0;while(1){if(!r)break;s=q&65535;p=0;o=Qz(c[r+8>>2]|0)|0;while(1){if(!o)break;n=c[o+8>>2]|0;c[h>>2]=n;k=KU(d,n,f,g)|0|k;l=LU(u,q,p,n)|0;b[n+86>>1]=s;b[n+84>>1]=l;l=(e[n+80>>1]|0)+l|0;m=(e[n+82>>1]|0)+q|0;if(SU(v,m)|0){p=n+100|0;a[p>>0]=a[p>>0]|2}p=l;h=h+4|0;o=c[o>>2]|0;i=(l|0)>(i|0)?l:i;j=(m|0)>(j|0)?m:j}q=q+1|0;r=c[r>>2]|0}c[f+100>>2]=j;c[f+104>>2]=i;Oz(t)|0;Oz(v)|0;LL(u);return k|0}function KU(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+16|0;w=x+8|0;v=x;c[g+96>>2]=i;t=g+36|0;o=e[t>>1]|0;s=g+34|0;p=i+36|0;if(!(o&64)){if(!(b[p>>1]&64))n=2;else n=a[i+34>>0]|0;a[s>>0]=n}q=g+33|0;if(!(o&32)){n=a[i+88>>0]|0;if(n<<24>>24<=-1)if(!(b[p>>1]&32))n=1;else n=a[i+33>>0]|0;a[q>>0]=n}r=g+92|0;n=g+88|0;switch(a[r>>0]|0){case 1:{o=CU(f,c[n>>2]|0,g,j)|0;p=c[n>>2]|0;n=o;o=p+64|0;p=p+72|0;break}case 3:{o=MU(c[n>>2]|0,j)|0;p=c[n>>2]|0;n=o;o=p+16|0;p=p+24|0;break}default:{FU(c[(c[f+16>>2]|0)+144>>2]|0,c[n>>2]|0,j);p=c[n>>2]|0;n=0;o=p+24|0;p=p+32|0}}k=+((d[q>>0]|0)+(d[s>>0]|0)<<1|0);m=+h[o>>3]+k;k=+h[p>>3]+k;p=g+38|0;i=g+40|0;do if(b[t>>1]&1){o=b[p>>1]|0;if(o<<16>>16?(u=b[i>>1]|0,u<<16>>16):0){if(!(+(o&65535)>0]|0)==3){m=0.0;k=0.0;break}dA(0,137917,v)|0;n=1;m=0.0;k=0.0;break}dA(0,137950,w)|0;n=1}while(0);y=+(e[p>>1]|0);h[g+64>>3]=m>y?m:y;m=+(e[i>>1]|0);h[g+72>>3]=k>m?k:m;l=x;return n|0}function LU(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=d+80|0;i=(e[j>>1]|0)+-1|0;h=0;a:while(1){f=c;while(1){if(h)break a;g=i+f|0;while(1){if((g|0)<(f|0)){c=f;h=1;continue a}if(QL(a,g,b)|0)break;g=g+-1|0}f=g+1|0}}h=d+82|0;f=c;while(1){if((f|0)<((e[j>>1]|0)+c|0))g=b;else break;while(1){if((g|0)>=((e[h>>1]|0)+b|0))break;OL(a,f,g);g=g+1|0}f=f+1|0}return c|0}function MU(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;i=m+8|0;d=d+52|0;g=b+32|0;PF(i,c[d>>2]|0,c[g>>2]|0);k=c[i>>2]|0;i=c[i+4>>2]|0;if((i&k|0)==-1){c[j>>2]=c[g>>2];dA(1,138e3,j)|0;d=1;f=0.0;e=0.0}else{a[(c[(c[d>>2]|0)+16>>2]|0)+114>>0]=1;d=0;f=+(i|0);e=+(k|0)}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;h[b+16>>3]=e;h[b+24>>3]=f;l=m;return d|0}function NU(){return Sz(55976,c[4591]|0)|0}function OU(a,b,d){a=a|0;b=b|0;d=d|0;d=HK(12)|0;c[d>>2]=c[b>>2];return d|0}function PU(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function QU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return ((b|0)>(e|0)?1:((b|0)<(e|0))<<31>>31)|0}function RU(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;eb[c[a>>2]&63](a,e,1)|0;l=d;return}function SU(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;b=(eb[c[a>>2]&63](a,e,512)|0)!=0&1;l=d;return b|0}function TU(a){a=a|0;var b=0;if(!(c[47446]|0)){b=HK((a<<2)+4|0)|0;c[47446]=b;c[b>>2]=189788;c[47457]=a}c[47458]=0;return}function UU(){l6(c[47446]|0);c[47446]=0;c[47458]=0;return}function VU(){c[47458]=0;return}function WU(){var a=0,b=0,d=0;b=c[47458]|0;d=c[47446]|0;a=1;while(1){if((a|0)>(b|0)){a=5;break}if((c[(c[d+(a<<2)>>2]|0)+4>>2]|0)==(a|0))a=a+1|0;else{a=4;break}}if((a|0)==4)Aa(138697,138044,59,138050);else if((a|0)==5)return}function XU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=c[47446]|0;g=c[f+(a<<2)>>2]|0;h=c[g>>2]|0;while(1){b=(a|0)/2|0;d=c[f+(b<<2)>>2]|0;e=f+(a<<2)|0;if((c[d>>2]|0)>=(h|0))break;c[e>>2]=d;c[d+4>>2]=a;a=b}c[e>>2]=g;c[g+4>>2]=a;return}function YU(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=c[47458]|0;if((b|0)==(c[47457]|0)){dA(1,138058,d)|0;a=1}else{b=b+1|0;c[47458]=b;c[(c[47446]|0)+(b<<2)>>2]=a;XU(b);WU();a=0}l=d;return a|0}function ZU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[47446]|0;g=c[f+(a<<2)>>2]|0;h=c[g>>2]|0;i=c[47458]|0;j=(i|0)/2|0;while(1){e=f+(a<<2)|0;if((a|0)>(j|0))break;d=a<<1;b=c[f+(d<<2)>>2]|0;if((d|0)<(i|0)){m=d|1;k=c[f+(m<<2)>>2]|0;l=(c[b>>2]|0)<(c[k>>2]|0);d=l?m:d;b=l?k:b}if((h|0)>=(c[b>>2]|0))break;c[e>>2]=b;c[b+4>>2]=a;a=d}c[e>>2]=g;c[g+4>>2]=a;return}function _U(){var a=0,b=0,d=0,e=0;b=c[47458]|0;if(!b)a=0;else{e=c[47446]|0;d=e+4|0;a=c[d>>2]|0;c[d>>2]=c[e+(b<<2)>>2];b=b+-1|0;c[47458]=b;if(b|0)ZU(1);WU()}return a|0}function $U(a,b){a=a|0;b=b|0;c[a>>2]=b;XU(c[a+4>>2]|0);WU();return}function aV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=b+16|0;j=c[m>>2]|0;j=(a[j+((c[e+12>>2]|0)*40|0)+36>>0]|0)!=(a[j+((c[e+16>>2]|0)*40|0)+36>>0]|0);k=~~((+h[d+64>>3]-+h[d+48>>3]+-3.0)*.5);l=~~((+h[d+56>>3]-+h[d+40>>3]+-3.0)*.5);g=(k|0)<(l|0)?k:l;n=d+4|0;f=0;while(1){b=c[n>>2]|0;if((f|0)>=(b|0)){g=f;break}i=c[d+8+(f<<2)>>2]|0;o=c[m>>2]|0;if((a[o+((c[i+12>>2]|0)*40|0)+36>>0]|0)==(a[o+((c[i+16>>2]|0)*40|0)+36>>0]|0)){g=f;break}bV(i,g);f=f+1|0}while(1){if((g|0)>=(b|0))break;f=c[d+8+(g<<2)>>2]|0;if(j|(f|0)==(e|0)){bV(f,a[(c[m>>2]|0)+((c[f+12>>2]|0)*40|0)+36>>0]|0?k:l);b=c[n>>2]|0}g=g+1|0}return}function bV(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+8|0;e=c[d>>2]|0;c[d>>2]=e+1;if((e|0)>=(b|0)){c[d>>2]=0;h[a>>3]=+h[a>>3]+16384.0}return}function cV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0;x=l;l=l+112|0;u=x+64|0;t=x+96|0;m=x+32|0;v=x;w=HK(28)|0;b=qB(a)|0;s=w+4|0;c[s>>2]=b;b=HK(b*72|0)|0;r=w+12|0;c[r>>2]=b;e=v+8|0;h[e>>3]=1797693134862315708145274.0e284;h[v>>3]=1797693134862315708145274.0e284;f=v+24|0;h[f>>3]=-1797693134862315708145274.0e284;g=v+16|0;h[g>>3]=-1797693134862315708145274.0e284;i=m+16|0;j=m+8|0;k=m+24|0;d=gC(a)|0;n=1797693134862315708145274.0e284;o=1797693134862315708145274.0e284;p=-1797693134862315708145274.0e284;q=-1797693134862315708145274.0e284;while(1){if(!d)break;C=d+16|0;D=c[C>>2]|0;z=(+h[D+88>>3]+ +h[D+96>>3])*.5;z=z<1.0?1.0:z;E=+h[D+80>>3]*.5;E=E<1.0?1.0:E;y=+h[D+16>>3];B=y-z;h[m>>3]=B;z=y+z;h[i>>3]=z;y=+h[D+24>>3];A=y-E;h[j>>3]=A;y=E+y;h[k>>3]=y;B=+h[(n>3];h[v>>3]=B;A=+h[(o>3];h[e>>3]=A;z=+h[(p>z?v:m)+16>>3];h[g>>3]=z;y=+h[(q>y?v:m)+24>>3];h[f>>3]=y;D=b+40|0;c[D>>2]=c[m>>2];c[D+4>>2]=c[m+4>>2];c[D+8>>2]=c[m+8>>2];c[D+12>>2]=c[m+12>>2];c[D+16>>2]=c[m+16>>2];c[D+20>>2]=c[m+20>>2];c[D+24>>2]=c[m+24>>2];c[D+28>>2]=c[m+28>>2];c[b>>2]=c[b>>2]|1;c[(c[C>>2]|0)+112>>2]=b;b=b+72|0;d=hC(a,d)|0;n=B;o=A;p=z;q=y}h[v>>3]=n+-36.0;h[e>>3]=o+-36.0;h[g>>3]=p+36.0;h[f>>3]=q+36.0;D=c[r>>2]|0;f=c[s>>2]|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];f=mV(D,f,t,u)|0;if(c[47394]&1|0){r=c[r>>2]|0;C=c[s>>2]|0;D=c[t>>2]|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];dV(r,C,u,f,D)}e=w+8|0;c[e>>2]=HK((c[t>>2]|0)*72|0)|0;c[w>>2]=c[t>>2];d=c[t>>2]|0;b=0;while(1){if((b|0)>=(d|0))break;D=(c[e>>2]|0)+(b*72|0)+40|0;C=f+(b<<5)|0;c[D>>2]=c[C>>2];c[D+4>>2]=c[C+4>>2];c[D+8>>2]=c[C+8>>2];c[D+12>>2]=c[C+12>>2];c[D+16>>2]=c[C+16>>2];c[D+20>>2]=c[C+20>>2];c[D+24>>2]=c[C+24>>2];c[D+28>>2]=c[C+28>>2];b=b+1|0}l6(f);c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];c[w+16>>2]=eV(w,u)|0;l=x;return w|0}function dV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0;q=l;l=l+128|0;p=q+96|0;o=q+64|0;j=q+32|0;r=q+16|0;s=q;m=+h[d+16>>3];n=+h[d>>3];k=+h[d+24>>3];g=+h[d+8>>3];i=c[15715]|0;Z3(c[14003]|0,i)|0;c[s>>2]=10;c[s+4>>2]=10;c[s+8>>2]=~~(m+10.0-n);c[s+12>>2]=~~(k+10.0-g);z4(i,138503,s)|0;h[r>>3]=10.0-n;h[r+8>>3]=10.0-g;z4(i,138551,r)|0;Z3(138568,i)|0;d=0;while(1){if((d|0)>=(b|0))break;v=+h[a+(d*72|0)+48>>3];u=+h[a+(d*72|0)+56>>3];t=+h[a+(d*72|0)+64>>3];h[j>>3]=+h[a+(d*72|0)+40>>3];h[j+8>>3]=v;h[j+16>>3]=u;h[j+24>>3]=t;z4(i,138587,j)|0;d=d+1|0}Z3(138605,i)|0;d=0;while(1){if((d|0)>=(f|0))break;t=+h[e+(d<<5)+8>>3];u=+h[e+(d<<5)+16>>3];v=+h[e+(d<<5)+24>>3];h[o>>3]=+h[e+(d<<5)>>3];h[o+8>>3]=t;h[o+16>>3]=u;h[o+24>>3]=v;z4(i,138624,o)|0;d=d+1|0}Z3(138642,i)|0;h[p>>3]=n;h[p+8>>3]=g;h[p+16>>3]=m;h[p+24>>3]=k;z4(i,138624,p)|0;Z3(c[14004]|0,i)|0;l=q;return}function eV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;z=l;l=l+32|0;t=z+16|0;m=z;v=c[a>>2]|0;x=AR(v<<2|2)|0;y=Sz(56020,c[4591]|0)|0;u=Sz(56056,c[4591]|0)|0;v=HK(v<<7)|0;g=HK(c[a>>2]<<4)|0;w=a+8|0;i=b+16|0;j=m+8|0;k=b+24|0;n=b+8|0;e=0;while(1){if((e|0)>=(c[a>>2]|0))break;d=c[w>>2]|0;o=d+(e*72|0)|0;c[d+(e*72|0)+32>>2]=4;p=d+(e*72|0)+36|0;c[p>>2]=g+(e<<2<<2);f=+h[d+(e*72|0)+56>>3];q=d+(e*72|0)+40|0;r=d+(e*72|0)+48|0;if(f<+h[i>>3]){h[m>>3]=f;h[j>>3]=+h[r>>3];c[t>>2]=c[m>>2];c[t+4>>2]=c[m+4>>2];c[t+8>>2]=c[m+8>>2];c[t+12>>2]=c[m+12>>2];s=fV(x,y,t,v,1)|0;c[s+20>>2]=o;c[c[p>>2]>>2]=s}f=+h[d+(e*72|0)+64>>3];if(f<+h[k>>3]){h[m>>3]=+h[q>>3];h[j>>3]=f;c[t>>2]=c[m>>2];c[t+4>>2]=c[m+4>>2];c[t+8>>2]=c[m+8>>2];c[t+12>>2]=c[m+12>>2];s=fV(x,u,t,v,0)|0;c[s+20>>2]=o;c[(c[p>>2]|0)+4>>2]=s}if(+h[q>>3]>+h[b>>3]){c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];s=fV(x,y,t,v,1)|0;c[s+24>>2]=o;c[(c[p>>2]|0)+8>>2]=s}if(+h[r>>3]>+h[n>>3]){c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];s=fV(x,u,t,v,0)|0;c[s+24>>2]=o;c[(c[p>>2]|0)+12>>2]=s}e=e+1|0}o=HK(c[x>>2]<<2)|0;r=a+4|0;s=a+12|0;p=t+8|0;m=0;q=0;n=0;while(1){d=c[r>>2]|0;if((n|0)>=(d|0)){e=0;break}e=c[s>>2]|0;i=e+(n*72|0)|0;j=e+(n*72|0)+36|0;c[j>>2]=o+(m<<2);b=e+(n*72|0)+40|0;c[t>>2]=c[b>>2];c[t+4>>2]=c[b+4>>2];c[t+8>>2]=c[b+8>>2];c[t+12>>2]=c[b+12>>2];b=e+(n*72|0)+56|0;k=e+(n*72|0)+32|0;d=eb[c[u>>2]&63](u,t,512)|0;while(1){if(!d)break;if(!(+h[d+8>>3]<+h[b>>3]))break;B=c[d>>2]|0;A=c[j>>2]|0;g=c[k>>2]|0;c[k>>2]=g+1;c[A+(g<<2)>>2]=B;c[(c[d>>2]|0)+24>>2]=i;d=eb[c[u>>2]&63](u,d,8)|0}g=e+(n*72|0)+64|0;d=eb[c[y>>2]&63](y,t,512)|0;while(1){f=+h[g>>3];if(!d)break;if(!(+h[d+16>>3]>2]|0;A=c[j>>2]|0;B=c[k>>2]|0;c[k>>2]=B+1;c[A+(B<<2)>>2]=C;c[(c[d>>2]|0)+24>>2]=i;d=eb[c[y>>2]&63](y,d,8)|0}h[p>>3]=f;d=eb[c[u>>2]&63](u,t,512)|0;while(1){f=+h[b>>3];if(!d)break;if(!(+h[d+8>>3]>2]|0;B=c[j>>2]|0;C=c[k>>2]|0;c[k>>2]=C+1;c[B+(C<<2)>>2]=A;c[(c[d>>2]|0)+20>>2]=i;d=eb[c[u>>2]&63](u,d,8)|0}h[t>>3]=f;h[p>>3]=+h[e+(n*72|0)+48>>3];d=eb[c[y>>2]&63](y,t,512)|0;while(1){e=c[k>>2]|0;if(!d)break;if(!(+h[d+16>>3]<+h[g>>3]))break;B=c[d>>2]|0;C=c[j>>2]|0;c[k>>2]=e+1;c[C+(e<<2)>>2]=B;c[(c[d>>2]|0)+20>>2]=i;d=eb[c[y>>2]&63](y,d,8)|0}m=e+m|0;q=(e|0)>(q|0)?e:q;n=n+1|0}while(1){if((e|0)>=(d|0))break;gV((c[s>>2]|0)+(e*72|0)|0);e=e+1|0;d=c[r>>2]|0}d=c[x>>2]|0;C=c[x+16>>2]|0;c[C+(d*40|0)+32>>2]=d;d=d+1|0;c[C+(d*40|0)+32>>2]=d;zR(x,q);d=0;while(1){if((d|0)>=(c[a>>2]|0))break;hV((c[w>>2]|0)+(d*72|0)|0,x);d=d+1|0}Oz(y)|0;Oz(u)|0;l6(v);iV(x);xR(x);l=z;return x|0}function fV(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=eb[c[d>>2]&63](d,e,512)|0;do if(!h){b=BR(b)|0;if(!f)Aa(138486,138434,291,138493);else{h=c[b+32>>2]|0;i=f+(h<<5)|0;f=f+(h<<5)+8|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[i>>2]=b;a[b+36>>0]=g;eb[c[d>>2]&63](d,i,1)|0;break}}else i=h;while(0);return c[i>>2]|0}function gV(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=b+32|0;k=b+36|0;a:do if((+h[b+64>>3]-+h[b+48>>3]+-3.0)*.5<2.0){i=c[j>>2]|0;g=0;while(1){if((g|0)>=(i|0))break a;d=c[(c[k>>2]|0)+(g<<2)>>2]|0;b:do if(a[d+36>>0]|0){f=c[d+20>>2]|0;if((f|0)==(b|0)){e=c[d+24>>2]|0;d=e;e=c[e>>2]|0;do{c[d>>2]=e|8;d=c[c[d+36>>2]>>2]|0;if(!d)break b;d=c[d+24>>2]|0;e=c[d>>2]|0}while(!(e&1|0))}else{e=f;d=c[f>>2]|0;do{c[e>>2]=d|8;d=c[(c[e+36>>2]|0)+8>>2]|0;if(!d)break b;e=c[d+20>>2]|0;d=c[e>>2]|0}while(!(d&1|0))}}while(0);g=g+1|0}}while(0);c:do if((+h[b+56>>3]-+h[b+40>>3]+-3.0)*.5<2.0){i=c[j>>2]|0;g=0;while(1){if((g|0)>=(i|0))break c;d=c[(c[k>>2]|0)+(g<<2)>>2]|0;d:do if(!(a[d+36>>0]|0)){f=c[d+20>>2]|0;if((f|0)==(b|0)){e=c[d+24>>2]|0;d=e;e=c[e>>2]|0;do{c[d>>2]=e|16;d=c[(c[d+36>>2]|0)+4>>2]|0;if(!d)break d;d=c[d+24>>2]|0;e=c[d>>2]|0}while(!(e&1|0))}else{e=f;d=c[f>>2]|0;do{c[e>>2]=d|16;d=c[(c[e+36>>2]|0)+12>>2]|0;if(!d)break d;e=c[d+20>>2]|0;d=c[e>>2]|0}while(!(d&1|0))}}while(0);g=g+1|0}}while(0);return}function hV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;g=+h[a+56>>3]-+h[a+40>>3];i=+h[a+64>>3]-+h[a+48>>3];f=(g+i)*.5+500.0;if((i+-3.0)*.5<2.0){l=(c[a>>2]&8|0)==0;f=l?16384.0:f;p=l?16384.0:g}else p=g;if((g+-3.0)*.5<2.0){l=(c[a>>2]&16|0)==0;i=l?16384.0:i;f=l?16384.0:f}l=a+36|0;d=c[l>>2]|0;e=c[d+8>>2]|0;if((e|0)!=0?(j=c[d+4>>2]|0,(j|0)!=0):0){j=CR(b,e,j,f)|0;e=a+4|0;d=c[e>>2]|0;c[e>>2]=d+1;c[a+8+(d<<2)>>2]=j;d=c[l>>2]|0}e=c[d+4>>2]|0;if((e|0)!=0?(k=c[d>>2]|0,(k|0)!=0):0){k=CR(b,e,k,f)|0;j=a+4|0;d=c[j>>2]|0;c[j>>2]=d+1;c[a+8+(d<<2)>>2]=k;d=c[l>>2]|0}e=c[d+8>>2]|0;if((e|0)!=0?(m=c[d+12>>2]|0,(m|0)!=0):0){m=CR(b,e,m,f)|0;k=a+4|0;d=c[k>>2]|0;c[k>>2]=d+1;c[a+8+(d<<2)>>2]=m;d=c[l>>2]|0}e=c[d+12>>2]|0;if((e|0)!=0?(n=c[d>>2]|0,(n|0)!=0):0){n=CR(b,e,n,f)|0;m=a+4|0;d=c[m>>2]|0;c[m>>2]=d+1;c[a+8+(d<<2)>>2]=n;d=c[l>>2]|0}e=c[d+4>>2]|0;if((e|0)!=0?(o=c[d+12>>2]|0,(o|0)!=0):0){o=CR(b,e,o,i)|0;n=a+4|0;d=c[n>>2]|0;c[n>>2]=d+1;c[a+8+(d<<2)>>2]=o;d=c[l>>2]|0}e=c[d+8>>2]|0;if(e|0?(q=c[d>>2]|0,q|0):0){b=CR(b,e,q,p)|0;o=a+4|0;q=c[o>>2]|0;c[o>>2]=q+1;c[a+8+(q<<2)>>2]=b}return}function iV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;f=a+16|0;g=c[15715]|0;e=0;while(1){if((e|0)>=(c[a>>2]|0)){b=10;break}b=c[f>>2]|0;d=b+(e*40|0)+20|0;if((c[d>>2]|0)==0?(c[h>>2]=e,z4(g,138399,h)|0,(c[d>>2]|0)==0):0){b=5;break}b=b+(e*40|0)+24|0;if((c[b>>2]|0)==0?(c[i>>2]=e,z4(g,138451,i)|0,(c[b>>2]|0)==0):0){b=8;break}e=e+1|0}if((b|0)==5)Aa(138421,138434,311,138441);else if((b|0)==8)Aa(138473,138434,313,138441);else if((b|0)==10){l=j;return}}function jV(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[c+8>>3];if(!(e>f))if(!(e>3];e=+h[c>>3];if(f>e)a=1;else a=(f>31}else a=-1;else a=1;return a|0}function kV(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];f=+h[c>>3];if(!(e>f))if(!(e>3];e=+h[c+8>>3];if(f>e)a=1;else a=(f>31}else a=-1;else a=1;return a|0}function lV(a){a=a|0;var b=0,d=0;d=a+8|0;l6(c[(c[d>>2]|0)+36>>2]|0);b=a+12|0;l6(c[(c[b>>2]|0)+36>>2]|0);l6(c[d>>2]|0);l6(c[b>>2]|0);ER(c[a+16>>2]|0);Oz(c[a+20>>2]|0)|0;Oz(c[a+24>>2]|0)|0;l6(a);return}function mV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;h=p;i=b<<2;f=i+4|0;i=i+5|0;o=IK(i*56|0)|0;i=HK(i<<2)|0;g=f*5|1;j=IK(g*72|0)|0;m=g<<5;k=HK(m)|0;m=HK(m)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2];c[h+28>>2]=c[e+28>>2];nV(a,b,h,o,0);W4(173);oV(f,i);yV(f,o,i,g,j)|0;n=pV(f,o,j,0,k)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2];c[h+28>>2]=c[e+28>>2];nV(a,b,h,o,1);oV(f,i);yV(f,o,i,g,j)|0;f=pV(f,o,j,1,m)|0;g=HK(S(n<<5,f)|0)|0;b=0;a=0;while(1){if((b|0)>=(f|0))break;h=m+(b<<5)|0;e=0;while(1){if((e|0)>=(n|0))break;q=((qV(g+(a<<5)|0,h,k+(e<<5)|0)|0)!=0&1)+a|0;e=e+1|0;a=q}b=b+1|0}q=KK(g,a<<5)|0;l6(o);l6(i);l6(j);l6(k);l6(m);c[d>>2]=a;l=p;return q|0}function nV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+96|0;h=j+64|0;i=j;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];c[h+16>>2]=c[d+16>>2];c[h+20>>2]=c[d+20>>2];c[h+24>>2]=c[d+24>>2];c[h+28>>2]=c[d+28>>2];wV(h,f,1,i);d=xV(e,1,i)|0;g=0;while(1){if((g|0)>=(b|0))break;k=a+(g*72|0)+40|0;c[h>>2]=c[k>>2];c[h+4>>2]=c[k+4>>2];c[h+8>>2]=c[k+8>>2];c[h+12>>2]=c[k+12>>2];c[h+16>>2]=c[k+16>>2];c[h+20>>2]=c[k+20>>2];c[h+24>>2]=c[k+24>>2];c[h+28>>2]=c[k+28>>2];wV(h,f,0,i);d=xV(e,d,i)|0;g=g+1|0}l=j;return}function oV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=0;while(1){if((d|0)>(a|0))break;c[b+(d<<2)>>2]=d;d=d+1|0}g=a+1|0;d=1;while(1){if((d|0)>(a|0))break;h=~~(+(d|0)+ +(g-d|0)*+S4());e=b+(d<<2)|0;f=b+(h<<2)|0;if((h|0)!=(d|0)){h=c[e>>2]|0;c[e>>2]=c[f>>2];c[f>>2]=h}d=d+1|0}return}function pV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=a*5|0;j=g+1|0;l=HK(j<<2)|0;c[47459]=HK(j<<4)|0;c[47460]=HK((a*56|0)+56|0)|0;j=HK(a<<2)|0;c[47461]=j;k=0;while(1){if((k|0)>(g|0))break;if(rV(d+(k*72|0)|0,b)|0)break;k=k+1|0}h=c[47459]|0;i=c[47460]|0;g=1;while(1){if((g|0)>(a|0))break;c[h+(g<<4)+8>>2]=c[b+(g*56|0)+48>>2];m=b+(g*56|0)+44|0;c[h+(g<<4)+4>>2]=c[m>>2];c[h+(g<<4)>>2]=g;n=i+(g*56|0)|0;o=b+(g*56|0)|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[i+(g*56|0)+16>>2]=c[m>>2];c[i+(g*56|0)+32>>2]=g;c[i+(g*56|0)+48>>2]=1;g=g+1|0}c[47462]=a;c[47463]=0;c[j>>2]=1;g=c[d+(k*72|0)+40>>2]|0;if((g|0)<=0){g=c[d+(k*72|0)+48>>2]|0;if((g|0)>0)g=sV(l,f,0,b,d,0,k,g,e,2)|0;else g=0}else g=sV(l,f,0,b,d,0,k,g,e,1)|0;l6(l);l6(c[47459]|0);l6(c[47460]|0);l6(c[47461]|0);return g|0}function qV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[(+h[b>>3]>+h[c>>3]?b:c)>>3];f=+h[(+h[b+16>>3]<+h[c+16>>3]?b:c)+16>>3];h[a+16>>3]=f;h[a>>3]=g;e=+h[(+h[b+8>>3]>+h[c+8>>3]?b:c)+8>>3];d=+h[(+h[b+24>>3]<+h[c+24>>3]?b:c)+24>>3];h[a+24>>3]=d;h[a+8>>3]=e;return !(g>=f)&!(e>=d)&1|0}function rV(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a+4>>2]|0;do if((c[a+68>>2]|0)!=2?!((f|0)<1|(c[a>>2]|0)<1):0){if(!((c[a+40>>2]|0)<1?(c[a+44>>2]|0)<1:0)){if((c[a+48>>2]|0)>=1){a=0;break}if((c[a+52>>2]|0)>=1){a=0;break}}d=+h[b+(f*56|0)+24>>3];e=+h[b+(f*56|0)+8>>3];if(!(d>e+1.0e-07))if(d>3]>+h[b+(f*56|0)>>3]&1;else a=1}else a=0;while(0);return a|0}function sV(a,b,d,e,f,g,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0.0,I=0.0,J=0,K=0,L=0,M=0;E=(k|0)==0;D=g;a:while(1){if((i|0)<1)break;g=a+(i<<2)|0;if(c[g>>2]|0)break;c[g>>2]=1;r=f+(i*72|0)+16|0;n=+h[r>>3];x=f+(i*72|0)+32|0;o=+h[x>>3];v=f+(i*72|0)|0;y=f+(i*72|0)+4|0;if((n>o?(C=c[v>>2]|0,H=+h[e+(C*56|0)>>3],H==+h[e+(C*56|0)+16>>3]):0)?(C=c[y>>2]|0,I=+h[e+(C*56|0)>>3],I==+h[e+(C*56|0)+16>>3]):0){g=b+(d<<5)+16|0;m=b+(d<<5)+8|0;p=b+(d<<5)|0;if(E){h[p>>3]=H;h[m>>3]=o;h[g>>3]=I}else{h[p>>3]=o;h[m>>3]=-I;h[g>>3]=n;n=-H}h[b+(d<<5)+24>>3]=n;d=d+1|0}g=f+(i*72|0)+40|0;w=c[g>>2]|0;A=f+(i*72|0)+48|0;B=f+(i*72|0)+52|0;C=f+(i*72|0)+44|0;do if((w|0)<1?(c[C>>2]|0)<1:0){if((c[A>>2]|0)>0?(J=c[B>>2]|0,(J|0)>0):0){l=c[f+(J*72|0)>>2]|0;g=c[v>>2]|0;if((J|0)==(j|0)){j=tV(D,g,l)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;g=A;l=1;break}else{j=tV(D,l,g)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;g=B;l=1;break}}d=sV(a,b,d,e,f,D,w,i,k,2)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;j=D;g=B;l=1}else M=19;while(0);do if((M|0)==19){M=0;s=c[A>>2]|0;if((s|0)<1?(c[B>>2]|0)<1:0){if((w|0)>0?(K=c[C>>2]|0,(K|0)>0):0){m=c[y>>2]|0;l=c[f+(w*72|0)+4>>2]|0;if((K|0)==(j|0)){j=tV(D,l,m)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;l=2;break}else{j=tV(D,m,l)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;g=C;l=2;break}}d=sV(a,b,d,e,f,D,w,i,k,2)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;j=D;g=B;l=1;break}z=(l|0)==1;u=(l|0)==2;t=f+(i*72|0)+24|0;p=c[C>>2]|0;l=(p|0)>0;if((w|0)>0){if(l){if((s|0)>0?(L=c[B>>2]|0,(L|0)>0):0){m=c[f+(L*72|0)>>2]|0;l=c[f+(w*72|0)+4>>2]|0;if(z&(p|0)==(j|0)|u&(L|0)==(j|0)){j=tV(D,l,m)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[g>>2]|0,i,k,2)|0;g=A;l=1;break}else{j=tV(D,m,l)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[C>>2]|0,i,k,2)|0;g=B;l=1;break}}l=c[v>>2]|0;if(+F(+(+h[x>>3]-+h[e+(l*56|0)+24>>3]))<=1.0e-07?+F(+(+h[t>>3]-+h[e+(l*56|0)+16>>3]))<=1.0e-07:0){m=c[f+(w*72|0)+4>>2]|0;l=c[e+(l*56|0)+44>>2]|0;if(z&(w|0)==(j|0)){j=tV(D,l,m)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,j,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[C>>2]|0,i,k,2)|0;g=B;l=1;break}else{j=tV(D,m,l)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;l=2;break}}m=c[y>>2]|0;l=c[f+(w*72|0)+4>>2]|0;if(z&(p|0)==(j|0)){j=tV(D,l,m)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,j,c[B>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[A>>2]|0,i,k,1)|0;l=2;break}else{j=tV(D,m,l)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;g=C;l=2;break}}}else if(!l)break a;q=f+(i*72|0)+8|0;n=+h[r>>3];r=c[v>>2]|0;m=e+(r*56|0)|0;p=+F(+(n-+h[e+(r*56|0)+8>>3]))<=1.0e-07;if((s|0)>0?(G=c[B>>2]|0,(G|0)>0):0){if(p?+F(+(+h[q>>3]-+h[m>>3]))<=1.0e-07:0){l=c[f+(G*72|0)>>2]|0;if(u&(s|0)==(j|0)){j=tV(D,l,r)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,j,c[C>>2]|0,i,k,2)|0;g=B;l=1;break}else{j=tV(D,r,l)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;g=A;l=1;break}}m=c[f+(G*72|0)>>2]|0;l=c[e+((c[y>>2]|0)*56|0)+44>>2]|0;if(u&(G|0)==(j|0)){j=tV(D,l,m)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,j,c[g>>2]|0,i,k,2)|0;g=A;l=1;break}else{j=tV(D,m,l)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;g=B;l=1;break}}l=c[y>>2]|0;if(((p?+F(+(+h[q>>3]-+h[m>>3]))<=1.0e-07:0)?+F(+(+h[x>>3]-+h[e+(l*56|0)+8>>3]))<=1.0e-07:0)?+F(+(+h[t>>3]-+h[e+(l*56|0)>>3]))<=1.0e-07:0)if(z){j=tV(D,r,l)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,j,c[B>>2]|0,i,k,1)|0;g=A;l=1;break}else{j=tV(D,l,r)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[g>>2]|0,i,k,2)|0;g=C;l=2;break}if(((+F(+(n-+h[e+(l*56|0)+24>>3]))<=1.0e-07?+F(+(+h[q>>3]-+h[e+(l*56|0)+16>>3]))<=1.0e-07:0)?+F(+(+h[x>>3]-+h[e+(r*56|0)+24>>3]))<=1.0e-07:0)?+F(+(+h[t>>3]-+h[e+(r*56|0)+16>>3]))<=1.0e-07:0){j=c[e+(l*56|0)+44>>2]|0;l=c[e+(r*56|0)+44>>2]|0;if(z){j=tV(D,l,j)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,j,c[B>>2]|0,i,k,1)|0;g=A;l=1;break}else{j=tV(D,j,l)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[g>>2]|0,i,k,2)|0;g=C;l=2;break}}d=sV(a,b,d,e,f,D,w,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;j=D;g=B;l=1}while(0);C=i;D=j;i=c[g>>2]|0;j=C}return d|0}function tV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;f=l;l=l+16|0;r=f+4|0;i=f;e=(c[47463]|0)+1|0;c[47463]=e;m=c[47460]|0;uV(b,d,r,i);r=c[r>>2]|0;h=c[m+(b*56|0)+32+(r<<2)>>2]|0;i=c[m+(d*56|0)+32+(c[i>>2]<<2)>>2]|0;n=c[47462]|0;g=n+1|0;n=n+2|0;c[47462]=n;q=c[47459]|0;c[q+(g<<4)>>2]=b;c[q+(n<<4)>>2]=d;o=q+(h<<4)+4|0;p=q+(g<<4)+4|0;c[p>>2]=c[o>>2];c[q+(c[o>>2]<<4)+8>>2]=g;c[q+(g<<4)+8>>2]=n;c[q+(n<<4)+4>>2]=g;j=q+(i<<4)+8|0;c[q+(n<<4)+8>>2]=c[j>>2];c[q+(c[j>>2]<<4)+4>>2]=n;c[o>>2]=i;c[j>>2]=h;j=m+(b*56|0)+48|0;o=c[j>>2]|0;i=m+(d*56|0)+48|0;k=c[i>>2]|0;c[m+(b*56|0)+16+(r<<2)>>2]=d;c[m+(b*56|0)+32+(o<<2)>>2]=g;c[m+(b*56|0)+16+(o<<2)>>2]=c[q+(c[p>>2]<<4)>>2];c[m+(d*56|0)+32+(k<<2)>>2]=n;c[m+(d*56|0)+16+(k<<2)>>2]=b;c[j>>2]=(c[j>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+1;d=c[47461]|0;c[d+(a<<2)>>2]=h;c[d+(e<<2)>>2]=g;l=f;return e|0}function uV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0;l=c[47460]|0;m=l+(b*56|0)|0;n=l+(a*56|0)|0;f=0;g=-4.0;i=0;while(1){if((i|0)==4)break;h=c[l+(a*56|0)+16+(i<<2)>>2]|0;if((h|0)>=1?(j=+vV(n,l+(h*56|0)|0,m),j>g):0){f=i;g=j}i=i+1|0}c[d>>2]=f;f=0;i=0;g=-4.0;while(1){if((i|0)==4)break;h=c[l+(b*56|0)+16+(i<<2)>>2]|0;if((h|0)>=1?(k=+vV(m,l+(h*56|0)|0,n),k>g):0){f=i;g=k}i=i+1|0}c[e>>2]=f;return}function vV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0;g=+h[a>>3];k=+h[b>>3]-g;j=+h[a+8>>3];i=+h[b+8>>3]-j;g=+h[c>>3]-g;j=+h[c+8>>3]-j;d=k*g+i*j;e=+G(+(k*k+i*i));f=+G(+(g*g+j*j));if(!(k*j-i*g>=0.0))d=-d/e/f+-2.0;else d=d/e/f;return +d}function wV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];l=e+32|0;k=a+16|0;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];c[l+12>>2]=c[k+12>>2];d=(d|0)==0;g=+h[a+8>>3];j=+h[k>>3];i=+h[a>>3];f=+h[a+24>>3];h[e+16>>3]=d?i:j;h[e+24>>3]=d?f:g;h[e+48>>3]=d?j:i;h[e+56>>3]=d?g:f;a:do if(b|0){a=0;while(1){if((a|0)==4)break a;k=e+(a<<4)+8|0;j=+h[k>>3];l=e+(a<<4)|0;h[k>>3]=+h[l>>3];h[l>>3]=-j;a=a+1|0}}while(0);return}function xV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=b+3|0;i=b+1|0;j=b+2|0;f=0;g=b;while(1){if((g|0)>(h|0))break;k=g+1|0;e=a+(g*56|0)+44|0;do if((g|0)!=(b|0))if((g|0)==(h|0)){c[e>>2]=b;e=j;break}else{c[e>>2]=k;e=g+-1|0;break}else{c[e>>2]=i;e=h}while(0);c[a+(g*56|0)+48>>2]=e;c[a+(g*56|0)+32>>2]=0;m=a+(g*56|0)|0;l=d+(f<<4)|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];I6(a+(e*56|0)+16|0,l|0,16)|0;f=f+1|0;g=k}return b+4|0}function yV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;c[47464]=e<<1;c[47465]=e;k=HK(e*80|0)|0;c[47466]=1;c[47467]=1;u6(f|0,0,e*72|0)|0;g=zV(c[d+4>>2]|0,b,f,k)|0;e=1;while(1){if((e|0)>(a|0))break;c[b+(e*56|0)+40>>2]=g;c[b+(e*56|0)+36>>2]=g;e=e+1|0}j=AV(a)|0;g=2;i=1;while(1){if((i|0)>(j|0))break;e=BV(a,i+-1|0)|0;h=BV(a,i)|0;while(1){if((e|0)>=(h|0)){e=1;break}CV(c[d+(g<<2)>>2]|0,b,f,k);e=e+1|0;g=g+1|0}while(1){if((e|0)>(a|0))break;DV(e,b,f,k);e=e+1|0}i=i+1|0}e=BV(a,j)|0;while(1){if((e|0)>=(a|0))break;CV(c[d+(g<<2)>>2]|0,b,f,k);g=g+1|0;e=e+1|0}l6(k);return c[47466]|0}function zV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=IV()|0;c[e+(f*40|0)>>2]=2;s=e+(f*40|0)+8|0;k=b+(a*56|0)|0;l=b+(a*56|0)+16|0;MV(s,k,l);n=IV()|0;c[e+(f*40|0)+36>>2]=n;c[e+(n*40|0)>>2]=3;c[e+(n*40|0)+28>>2]=f;j=IV()|0;c[e+(f*40|0)+32>>2]=j;c[e+(j*40|0)>>2]=2;r=e+(j*40|0)+8|0;NV(r,k,l);c[e+(j*40|0)+28>>2]=f;l=IV()|0;c[e+(j*40|0)+32>>2]=l;c[e+(l*40|0)>>2]=3;c[e+(l*40|0)+28>>2]=j;k=IV()|0;c[e+(j*40|0)+36>>2]=k;c[e+(k*40|0)>>2]=1;c[e+(k*40|0)+4>>2]=a;c[e+(k*40|0)+28>>2]=j;j=IV()|0;c[e+(k*40|0)+32>>2]=j;c[e+(j*40|0)>>2]=3;c[e+(j*40|0)+28>>2]=k;g=IV()|0;c[e+(k*40|0)+36>>2]=g;c[e+(g*40|0)>>2]=3;c[e+(g*40|0)+28>>2]=k;k=HV(d)|0;i=HV(d)|0;m=HV(d)|0;o=HV(d)|0;p=d+(k*72|0)+8|0;q=d+(i*72|0)+8|0;t=d+(o*72|0)+24|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];I6(q|0,s|0,16)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];p=d+(k*72|0)+24|0;q=d+(i*72|0)+24|0;s=d+(m*72|0)+8|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];I6(q|0,r|0,16)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];h[d+(o*72|0)+16>>3]=1073741824.0;h[d+(o*72|0)+8>>3]=1073741824.0;h[d+(m*72|0)+32>>3]=-1073741824.0;h[d+(m*72|0)+24>>3]=-1073741824.0;c[d+(i*72|0)>>2]=a;c[d+(k*72|0)+4>>2]=a;c[d+(i*72|0)+40>>2]=o;c[d+(k*72|0)+40>>2]=o;c[d+(i*72|0)+48>>2]=m;c[d+(k*72|0)+48>>2]=m;c[d+(m*72|0)+40>>2]=k;c[d+(o*72|0)+48>>2]=k;c[d+(m*72|0)+44>>2]=i;c[d+(o*72|0)+52>>2]=i;c[d+(k*72|0)+56>>2]=j;c[d+(i*72|0)+56>>2]=g;c[d+(m*72|0)+56>>2]=l;c[d+(o*72|0)+56>>2]=n;c[d+(i*72|0)+68>>2]=1;c[d+(k*72|0)+68>>2]=1;c[d+(o*72|0)+68>>2]=1;c[d+(m*72|0)+68>>2]=1;c[e+(n*40|0)+24>>2]=o;c[e+(l*40|0)+24>>2]=m;c[e+(j*40|0)+24>>2]=k;c[e+(g*40|0)+24>>2]=i;c[b+(a*56|0)+32>>2]=1;return f|0}function AV(a){a=a|0;var b=0.0;b=+(a|0);a=0;while(1){if(!(b>=1.0))break;b=+W3(b);a=a+1|0}return a+-1|0}function BV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+(a|0);c=d;a=0;while(1){if((a|0)>=(b|0))break;c=+W3(c);a=a+1|0}return ~~+R(+(d/c))|0} +function pq(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0.0,o=0.0,p=0,q=0.0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0.0,C=0,D=0,E=0,F=0,I=0,J=0.0,K=0.0,L=0,M=0,N=0,O=0.0,P=0.0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0.0,Z=0,_=0.0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=l;l=l+32|0;ba=ha+24|0;ca=ha+20|0;da=ha+16|0;fa=ha+12|0;ga=ha+8|0;X=ha;q=+h[e>>3];p=e+24|0;o=+h[p>>3];r=e+32|0;n=+h[r>>3];Y=+h[e+72>>3];Z=c[e+80>>2]|0;_=+h[e+88>>3];t=+h[e+96>>3];$=c[e+104>>2]|0;c[ba>>2]=0;c[ca>>2]=10;c[da>>2]=0;c[fa>>2]=0;c[ga>>2]=0;h[X>>3]=0.0;if(!((b|0)==0|(Z|0)<1)?(aa=c[b>>2]|0,m=c[b+4>>2]|0,!((a|0)<1|(m|0)<1)):0){if((m|0)<(c[e+52>>2]|0)){s=0;j=0;k=0}else{k=IK(a*80|0)|0;c[da>>2]=k;c[fa>>2]=IK(80)|0;c[ga>>2]=IK(80)|0;s=1;j=k}c[i>>2]=0;if((aa|0)==(m|0)){R=sw(b,1)|0;T=c[R+20>>2]|0;U=c[R+24>>2]|0;V=c[d+20>>2]|0;W=c[d+24>>2]|0;Q=c[d+28>>2]|0;a:do if(c[e+16>>2]|0){T4(c[e+108>>2]|0);k=S(aa,a)|0;j=0;while(1){if((j|0)>=(k|0))break a;h[g+(j<<3)>>3]=+Pw();j=j+1|0}}while(0);if(o<0.0){o=+aq(R,a,g);h[p>>3]=o}if(n<0.0){h[r>>3]=.2;n=.2}if(q>=0.0){h[e>>3]=-1.0;q=-1.0}O=1.0-q;P=+H(+o,+O);K=+H(+n,+((2.0-q)/3.0))/o;M=a<<3;L=IK(M)|0;M=S(aa,M)|0;N=IK(M)|0;F=(s|0)!=0;I=e+116|0;J=K*.2;C=q==-1.0;D=e+64|0;E=(f|0)!=0;j=0;A=0;B=0.0;z=t;b:while(1){A=A+1|0;B6(N|0,g|0,M|0)|0;if(F)j=ew(a,aa,10,g,(c[I>>2]|0)==0?0:f)|0;s=0;o=0.0;c:while(1){if((s|0)<(aa|0))k=0;else break;while(1){if((k|0)>=(a|0))break;h[L+(k<<3)>>3]=0.0;k=k+1|0}x=s+1|0;d=T+(x<<2)|0;y=S(s,a)|0;m=c[T+(s<<2)>>2]|0;while(1){if((m|0)>=(c[d>>2]|0))break;p=U+(m<<2)|0;k=c[p>>2]|0;d:do if((k|0)!=(s|0)){n=+Xw(g,a,s,k);k=0;while(1){if((k|0)>=(a|0))break d;t=n*(K*(+h[g+(k+y<<3)>>3]-+h[g+((S(c[p>>2]|0,a)|0)+k<<3)>>3]));w=L+(k<<3)|0;h[w>>3]=+h[w>>3]-t;k=k+1|0}}while(0);m=m+1|0}p=V+(x<<2)|0;d=c[V+(s<<2)>>2]|0;while(1){if((d|0)>=(c[p>>2]|0))break;r=W+(d<<2)|0;k=c[r>>2]|0;e:do if((k|0)!=(s|0)){n=+Ww(g,a,s,k);m=Q+(d<<3)|0;k=0;while(1){if((k|0)>=(a|0))break e;q=+h[m>>3];t=n-q;t=t*(t*(J*(+h[g+(k+y<<3)>>3]-+h[g+((S(c[r>>2]|0,a)|0)+k<<3)>>3])))/n;w=L+(k<<3)|0;h[w>>3]=+h[w>>3]+(n>2]|0)!=0){k=0;while(1){if((k|0)==(aa|0)){n=0.0;k=0;break f}g:do if((k|0)!=(s|0)){q=+Ww(g,a,s,k);d=f+(k<<3)|0;p=S(k,a)|0;t=q*q;m=0;while(1){if((m|0)>=(a|0))break g;r=L+(m<<3)|0;if(C)n=t;else n=+H(+q,+O);h[r>>3]=+h[r>>3]+P*+h[d>>3]*(+h[g+(m+y<<3)>>3]-+h[g+(m+p<<3)>>3])/n;m=m+1|0}}while(0);k=k+1|0}}else{k=0;while(1){if((k|0)==(aa|0)){n=0.0;k=0;break f}h:do if((k|0)!=(s|0)){q=+Ww(g,a,s,k);d=S(k,a)|0;t=q*q;m=0;while(1){if((m|0)>=(a|0))break h;p=L+(m<<3)|0;if(C)n=t;else n=+H(+q,+O);h[p>>3]=+h[p>>3]+P*(+h[g+(m+y<<3)>>3]-+h[g+(m+d<<3)>>3])/n;m=m+1|0}}while(0);k=k+1|0}}else{_v(j,+h[D>>3],g+(y<<3)|0,s,ba,ca,da,fa,ga,X,i);d=c[ba>>2]|0;if(c[i>>2]|0)break b;p=c[ga>>2]|0;r=c[fa>>2]|0;s=c[da>>2]|0;k=0;while(1){if((k|0)>=(d|0)){n=0.0;k=0;break f}q=+h[p+(k<<3)>>3];q=q>1.0e-15?q:1.0e-15;u=r+(k<<3)|0;v=S(k,a)|0;t=q*q;m=0;while(1){if((m|0)>=(a|0))break;w=L+(m<<3)|0;if(C)n=t;else n=+H(+q,+O);h[w>>3]=+h[w>>3]+P*+h[u>>3]*(+h[g+(m+y<<3)>>3]-+h[s+(m+v<<3)>>3])/n;m=m+1|0}k=k+1|0}}while(0);while(1){if((k|0)>=(a|0))break;t=+h[L+(k<<3)>>3];n=n+t*t;k=k+1|0}n=+G(+n);o=o+n;i:do if(n>0.0){k=0;while(1){if((k|0)>=(a|0)){k=0;break i}w=L+(k<<3)|0;h[w>>3]=+h[w>>3]/n;k=k+1|0}}else k=0;while(0);while(1){if((k|0)>=(a|0)){s=x;continue c}w=g+(k+y<<3)|0;h[w>>3]=+h[w>>3]+z*+h[L+(k<<3)>>3];k=k+1|0}}if(j|0)lw(j);z=+gq($,z,o,B,_);if(!((A|0)<(Z|0)&z>Y)){ea=75;break}else B=o}if((ea|0)==75?c[e+112>>2]|0:0)hq(a,R,g);l6(N);if((R|0)!=(b|0))nw(R);l6(L);j=c[da>>2]|0;k=j}else c[i>>2]=-100;if(k|0)l6(j);j=c[fa>>2]|0;if(j|0)l6(j);j=c[ga>>2]|0;if(j|0)l6(j)}l=ha;return}function qq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=c[b+20>>2]|0;o=c[b+24>>2]|0;p=IK(a<<3)|0;m=c[b>>2]|0;k=0;a:while(1){if((k|0)<(m|0))b=0;else break;while(1){if((b|0)>=(a|0))break;h[p+(b<<3)>>3]=0.0;b=b+1|0}l=k+1|0;j=c[n+(l<<2)>>2]|0;i=c[n+(k<<2)>>2]|0;b=0;while(1){if((i|0)>=(j|0))break;e=c[o+(i<<2)>>2]|0;if((e|0)!=(k|0)){g=S(e,a)|0;e=0;while(1){if((e|0)>=(a|0))break;q=p+(e<<3)|0;h[q>>3]=+h[d+(e+g<<3)>>3]+ +h[q>>3];e=e+1|0}b=b+1|0}i=i+1|0}if((b|0)<=0){k=l;continue}f=.5/+(b|0);e=S(k,a)|0;b=0;while(1){if((b|0)>=(a|0)){k=l;continue a}q=d+(b+e<<3)|0;h[q>>3]=+h[q>>3]*.5+f*+h[p+(b<<3)>>3];b=b+1|0}}l6(p);return}function rq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0.0;i=c[a+20>>2]|0;j=c[a+24>>2]|0;h=c[a>>2]|0;k=IK((h<<2)+4|0)|0;a=0;while(1){if((a|0)>(h|0)){d=0;e=0;break}c[k+(a<<2)>>2]=0;a=a+1|0}while(1){if((e|0)>=(h|0))break;f=e+1|0;g=c[i+(f<<2)>>2]|0;a=0;b=c[i+(e<<2)>>2]|0;while(1){if((b|0)>=(g|0))break;a=((e|0)!=(c[j+(b<<2)>>2]|0)&1)+a|0;b=b+1|0}g=k+(a<<2)|0;e=(c[g>>2]|0)+1|0;c[g>>2]=e;d=(d|0)>(e|0)?d:e;e=f}l=+(c[k+4>>2]|0);if(l>+(d|0)*.8?l>+(h|0)*.3:0)a=1;else a=0;l6(k);return a|0}function sq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;o=l;l=l+48|0;n=o+16|0;j=o;g=S(b,b)|0;e=0;while(1){if((e|0)>=(g|0)){e=0;break}h[n+(e<<3)>>3]=0.0;e=e+1|0}while(1){if((e|0)>=(b|0)){g=0;break}h[j+(e<<3)>>3]=0.0;e=e+1|0}while(1){if((g|0)>=(a|0))break;i=S(g,b)|0;e=0;while(1){if((e|0)>=(b|0))break;m=j+(e<<3)|0;h[m>>3]=+h[c+(e+i<<3)>>3]+ +h[m>>3];e=e+1|0}g=g+1|0}d=+(a|0);e=0;while(1){if((e|0)>=(b|0)){g=0;break}m=j+(e<<3)|0;h[m>>3]=+h[m>>3]/d;e=e+1|0}while(1){if((g|0)>=(a|0)){i=0;break}i=S(g,b)|0;e=0;while(1){if((e|0)>=(b|0))break;m=c+(e+i<<3)|0;h[m>>3]=+h[m>>3]-+h[j+(e<<3)>>3];e=e+1|0}g=g+1|0}while(1){if((i|0)>=(a|0))break;j=S(i,b)|0;g=0;while(1){if((g|0)>=(b|0))break;k=c+(g+j<<3)|0;m=S(g,b)|0;e=0;while(1){if((e|0)==(b|0))break;p=n+(e+m<<3)|0;h[p>>3]=+h[p>>3]+ +h[k>>3]*+h[c+(e+j<<3)>>3];e=e+1|0}g=g+1|0}i=i+1|0}d=+h[n+8>>3];if(d==0.0)d=0.0;else{q=+h[n>>3];f=+h[n+24>>3];d=-(f-q-+G(+(f*f+(d*(d*4.0)+q*q-q*2.0*f))))/(d*2.0)}f=+G(+(d*d+1.0));d=d/f;f=1.0/f;e=0;while(1){if((e|0)>=(a|0))break;p=S(e,b)|0;n=c+(p<<3)|0;q=+h[n>>3];p=c+(p+1<<3)|0;r=+h[p>>3];h[n>>3]=d*q+f*r;h[p>>3]=d*r-f*q;e=e+1|0}l=o;return}function tq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;uq(a,b,c,d,e,f,g,h,i,j);return}function uq(b,d,e,f,g,i,j,k,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;H=l;l=l+192|0;D=H+176|0;B=H+168|0;F=H;B6(F|0,f|0,168)|0;c[n>>2]=0;do if(d|0?(G=c[d+4>>2]|0,!((b|0)<1|(G|0)<1)):0){A=f+136|0;if((tw(d,0)|0)!=0?(c[d+16>>2]|0)==1:0){if((c[A>>2]|0)==1)p=yw(e)|0;else p=e;E=yw(d)|0}else t=5;do if((t|0)==5)if((c[A>>2]|0)==1){E=xw(d,0)|0;p=xw(e,0)|0;break}else{E=Nw(d)|0;p=e;break}while(0);C=f+160|0;r=c[C>>2]|0;q=(k|0)>0;if((r|0)==3){if(q)t=14}else if(q&(r|0)==4)t=14;if((t|0)==14){e=IK(S(b<<3,c[E>>2]|0)|0)|0;G=vq(E,k,m)|0;tq(b,G,0,f,0,0,e,0,0,n);wq(b,E,k,m,j,e);iu(b,E,j,i,c[f+124>>2]|0,+h[f+144>>3],c[C>>2]|0,k,m);nw(G);l6(e);if((E|0)==(d|0))break;nw(E);break}y=cx(c[f+44>>2]|0,c[f+48>>2]|0)|0;c[y+16>>2]=c[f+40>>2];z=qx(E,p,g,y)|0;r=tx(z)|0;if(!(c[r+32>>2]|0))s=j;else s=IK(S(b<<3,c[r+4>>2]|0)|0)|0;q=rq(E)|0;if(+h[f>>3]==-1.0001234){h[f>>3]=-1.0;o=(q|0)==0?-1.0:-1.8;q=f;t=20}while(1){if((t|0)==20){t=0;h[q>>3]=o}v=r+24|0;q=f+96|0;w=r+32|0;x=r+8|0;a:do switch(c[A>>2]|0){case 0:{u=c[f+132>>2]|0;switch(u|0){case 0:{kq(b,c[x>>2]|0,f,c[v>>2]|0,s,n);break a}case 2:break;default:t=24}do if((t|0)==24){t=c[x>>2]|0;if((u|0)==3?(c[t>>2]|0)>1e4:0){if(!(a[195234]|0))break;u=c[15715]|0;c[B>>2]=1e4;z4(u,92600,B)|0;break}lq(b,t,f,c[v>>2]|0,s,n);break a}while(0);fq(b,c[x>>2]|0,f,c[v>>2]|0,s,n);break}case 1:{h[q>>3]=1.0;t=f+104|0;c[t>>2]=1;I=(c[r+28>>2]|0)==0;o=I?.5:.05;c[f+80>>2]=I?500:100;I=(c[w>>2]|0)==0;u=r+12|0;mq(b,c[x>>2]|0,c[u>>2]|0,f,c[v>>2]|0,s,o,n);if(I){c[f+16>>2]=0;h[q>>3]=.05;c[t>>2]=0;mq(b,c[x>>2]|0,c[u>>2]|0,f,c[v>>2]|0,s,o*.5,n);mq(b,c[x>>2]|0,c[u>>2]|0,f,c[v>>2]|0,s,o*.125,n);mq(b,c[x>>2]|0,c[u>>2]|0,f,c[v>>2]|0,s,o*.03125,n)}break}default:{}}while(0);v=c[w>>2]|0;if(!v){t=38;break}if(c[n>>2]|0){t=34;break}t=c[r+16>>2]|0;r=c[r+40>>2]|0;if(!(c[v+32>>2]|0))u=j;else u=IK(S(b<<3,c[v+4>>2]|0)|0)|0;I=f+24|0;xq(b,c[v+8>>2]|0,t,c[v+20>>2]|0,s,u,r,+h[I>>3]*.001);l6(s);c[f+16>>2]=0;h[I>>3]=+h[I>>3]*.75;c[f+104>>2]=0;o=((c[(c[v+28>>2]|0)+40>>2]|0)+-9|0)>>>0<2?1.0:.1;r=v;s=u;t=20}if((t|0)==34)l6(s);else if((t|0)==38){Rx(b,E,f,g,j,n);q=f+124|0;if(a[195234]|0){I=c[15715]|0;c[D>>2]=c[q>>2];z4(I,92663,D)|0}if((b|0)==2)sq(G,2,j);o=+h[f+152>>3];if(o!=0.0)yq(G,b,j,o);iu(b,E,j,i,c[q>>2]|0,+h[f+144>>3],c[C>>2]|0,k,m)}B6(f|0,F|0,168)|0;if((E|0)!=(d|0))nw(E);if(!((p|0)==0|(p|0)==(e|0)))nw(p);dx(y);ex(z)}while(0);l=H;return}function vq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;x=y;u=c[a+20>>2]|0;v=c[a+24>>2]|0;w=IK(c[a>>2]<<2)|0;e=0;while(1){if((e|0)>=(c[a>>2]|0)){e=0;break}c[w+(e<<2)>>2]=1;e=e+1|0}while(1){if((e|0)>=(b|0)){e=0;d=0;break}c[w+(c[d+(e<<2)>>2]<<2)>>2]=-1;e=e+1|0}while(1){m=c[a>>2]|0;if((d|0)>=(m|0)){d=0;b=0;break}b=w+(d<<2)|0;if((c[b>>2]|0)>0){c[b>>2]=e;e=e+1|0}d=d+1|0}a:while(1){while(1){if((b|0)>=(m|0))break a;j=b+1|0;if((c[w+(b<<2)>>2]|0)<0)b=j;else break}k=c[u+(j<<2)>>2]|0;i=c[u+(b<<2)>>2]|0;while(1){if((i|0)>=(k|0)){b=j;continue a}f=c[v+(i<<2)>>2]|0;b:do if((c[w+(f<<2)>>2]|0)>-1)d=d+1|0;else{h=c[u+(f+1<<2)>>2]|0;g=c[u+(f<<2)>>2]|0;while(1){if((g|0)>=(h|0))break b;f=c[v+(g<<2)>>2]|0;if((f|0)!=(b|0))d=((c[w+(f<<2)>>2]|0)>>>31^1)+d|0;g=g+1|0}}while(0);i=i+1|0}}b=d<<2;if((d|0)>0){r=IK(b)|0;s=IK(b)|0;p=s;q=r}else{p=0;q=0;r=0;s=0}t=c[15715]|0;b=0;d=0;c:while(1){f=c[a>>2]|0;while(1){if((b|0)>=(f|0))break c;n=w+(b<<2)|0;o=b+1|0;if((c[n>>2]|0)<0)b=o;else break}m=u+(o<<2)|0;k=c[u+(b<<2)>>2]|0;while(1){if((k|0)>=(c[m>>2]|0)){b=o;continue c}f=v+(k<<2)|0;g=c[f>>2]|0;d:do if((c[w+(g<<2)>>2]|0)>-1){c[q+(d<<2)>>2]=c[n>>2];c[p+(d<<2)>>2]=c[w+(c[f>>2]<<2)>>2];d=d+1|0}else{j=u+(g+1<<2)|0;i=c[u+(g<<2)>>2]|0;while(1){if((i|0)>=(c[j>>2]|0))break d;g=v+(i<<2)|0;h=c[g>>2]|0;if((h|0)!=(b|0)?(c[w+(h<<2)>>2]|0)>-1:0){c[q+(d<<2)>>2]=c[n>>2];h=d+1|0;c[p+(d<<2)>>2]=c[w+(c[g>>2]<<2)>>2];f=c[n>>2]|0;d=c[w+(c[g>>2]<<2)>>2]|0;if((f|0)==68|(d|0)==68){c[x>>2]=f;c[x+4>>2]=d;z4(t,92681,x)|0;d=h}else d=h}i=i+1|0}}while(0);k=k+1|0}}x=Aw(d,e,e,q,p,0,8,8)|0;l6(r);l6(s);l6(w);l=y;return x|0}function wq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0;p=IK(c[b>>2]<<2)|0;i=0;while(1){if((i|0)>=(c[b>>2]|0)){i=0;break}c[p+(i<<2)>>2]=1;i=i+1|0}while(1){if((i|0)>=(d|0)){i=0;l=0;break}j=c[e+(i<<2)>>2]|0;if((j|0)>-1?(j|0)<(c[b>>2]|0):0)c[p+(j<<2)>>2]=-1;i=i+1|0}while(1){n=c[b>>2]|0;if((l|0)>=(n|0)){m=0;break}j=p+(l<<2)|0;if((c[j>>2]|0)>-1){c[j>>2]=i;i=i+1|0}l=l+1|0}while(1){if((m|0)>=(n|0))break;i=c[p+(m<<2)>>2]|0;a:do if((i|0)>-1){j=S(i,a)|0;l=S(m,a)|0;i=0;while(1){if((i|0)>=(a|0))break a;h[f+(i+l<<3)>>3]=+h[g+(i+j<<3)>>3];i=i+1|0}}while(0);m=m+1|0}o=b+20|0;g=b+24|0;n=0;while(1){if((n|0)>=(d|0))break;b=c[e+(n<<2)>>2]|0;i=c[o>>2]|0;l=c[i+(b+1<<2)>>2]|0;i=c[i+(b<<2)>>2]|0;m=l-i|0;b=S(b,a)|0;j=0;while(1){if((j|0)>=(a|0))break;h[f+(j+b<<3)>>3]=0.0;j=j+1|0}while(1){if((i|0)<(l|0))j=0;else break;while(1){if((j|0)>=(a|0))break;k=+h[f+((S(c[(c[g>>2]|0)+(i<<2)>>2]|0,a)|0)+j<<3)>>3];q=f+(j+b<<3)|0;h[q>>3]=k+ +h[q>>3];j=j+1|0}i=i+1|0}k=+(m|0);i=0;while(1){if((i|0)>=(a|0))break;q=f+(i+b<<3)|0;h[q>>3]=+h[q>>3]/k;i=i+1|0}n=n+1|0}l6(p);return}function xq(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=+j;var k=0,m=0,n=0,o=0,p=0,q=0.0;o=l;l=l+16|0;n=o;c[n>>2]=g;Dw(d,0,f,0,n,0,a);a:do if((i+-1|0)>>>0<6){qq(a,b,c[n>>2]|0);k=c[e>>2]|0;m=c[e+20>>2]|0;g=c[e+24>>2]|0;b=0;b:while(1){if((b|0)>=(k|0))break a;i=b+1|0;e=m+(i<<2)|0;b=c[m+(b<<2)>>2]|0;c:while(1){b=b+1|0;if((b|0)>=(c[e>>2]|0)){b=i;continue b}f=g+(b<<2)|0;d=0;while(1){if((d|0)>=(a|0))continue c;q=(+Pw()+-.5)*j;p=(c[n>>2]|0)+((S(c[f>>2]|0,a)|0)+d<<3)|0;h[p>>3]=q+ +h[p>>3];d=d+1|0}}}}while(0);l=o;return}function yq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;k=l;l=l+16|0;j=k;e=0;while(1){if((e|0)>=(b|0)){g=0;break}h[j+(e<<3)>>3]=0.0;e=e+1|0}while(1){if((g|0)>=(a|0))break;i=S(g,b)|0;e=0;while(1){if((e|0)>=(b|0))break;m=j+(e<<3)|0;h[m>>3]=+h[c+(e+i<<3)>>3]+ +h[m>>3];e=e+1|0}g=g+1|0}f=+(a|0);e=0;while(1){if((e|0)>=(b|0)){g=0;break}m=j+(e<<3)|0;h[m>>3]=+h[m>>3]/f;e=e+1|0}while(1){if((g|0)>=(a|0))break;i=S(g,b)|0;e=0;while(1){if((e|0)>=(b|0))break;m=c+(e+i<<3)|0;h[m>>3]=+h[m>>3]-+h[j+(e<<3)>>3];e=e+1|0}g=g+1|0}d=d*-.017453277777777776;f=+I(+d);d=+J(+d);e=0;while(1){if((e|0)>=(a|0))break;m=S(e,b)|0;j=c+(m<<3)|0;n=+h[j>>3];m=c+(m+1<<3)|0;o=+h[m>>3];h[j>>3]=f*n+d*o;h[m>>3]=f*o-d*n;e=e+1|0}l=k;return}function zq(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;i=i|0;var j=0,k=0,l=0,m=0;m=(tw(b,0)|0)!=0;j=(c[b+16>>2]|0)==1;do if(!(m&j))if(j){j=yw(sw(b,0)|0)|0;break}else{j=Nw(b)|0;break}else j=b;while(0);l=yw(j)|0;c[i>>2]=0;j=c[l>>2]|0;m=S(j,a)|0;if(!d){IK(S(a<<3,j)|0)|0;_a()}k=Dx(l,a,0.0,c[d>>2]|0,(e|0)==0?0:2,1)|0;if(!k)c[i>>2]=-1;else{h[k+40>>3]=.1;c[k+24>>2]=5;+Fx(k,a,c[d>>2]|0,f,g);e=k+32|0;j=0;while(1){if((j|0)>=(m|0))break;i=(c[d>>2]|0)+(j<<3)|0;h[i>>3]=+h[i>>3]/+h[e>>3];j=j+1|0}Ex(k)}if((l|0)!=(b|0))nw(l);return}function Aq(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;zq(a,c,d,e,f,g,h);return}function Bq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0;A=c[b>>2]|0;B=c[b+20>>2]|0;y=c[b+24>>2]|0;z=c[b+28>>2]|0;if(!(tw(b,0)|0))Aa(96096,92688,37,92705);a=IK(56)|0;p=a+20|0;c[p>>2]=0;c[a+24>>2]=2;c[a+12>>2]=0;o=IK(16)|0;c[p>>2]=o;h[o>>3]=e;h[o+8>>3]=f;c[a+16>>2]=105;h[a+40>>3]=.01;c[a+48>>2]=~~+G(+(+(c[b>>2]|0)));o=b+8|0;p=a+4|0;c[p>>2]=ow(A,A,(c[o>>2]|0)+A|0,1,1)|0;o=ow(A,A,(c[o>>2]|0)+A|0,1,1)|0;c[a+8>>2]=o;p=c[p>>2]|0;q=c[p+28>>2]|0;r=c[o+28>>2]|0;if((o|0)==0|(p|0)==0){Cx(a);a=0}else{s=c[p+20>>2]|0;t=c[p+24>>2]|0;u=c[o+20>>2]|0;v=c[o+24>>2]|0;c[u>>2]=0;c[s>>2]=0;m=0;d=0;while(1){if((m|0)>=(A|0))break;w=m+1|0;x=B+(w<<2)|0;e=0.0;f=0.0;n=c[B+(m<<2)>>2]|0;while(1){l=d+1|0;g=t+(d<<2)|0;b=q+(d<<3)|0;i=v+(d<<2)|0;j=r+(d<<3)|0;if((n|0)>=(c[x>>2]|0))break;k=c[y+(n<<2)>>2]|0;if((k|0)!=(m|0)){C=+h[z+(n<<3)>>3];C=C>=0.0?C:-C;C=C>.01?C:.01;c[g>>2]=k;c[i>>2]=k;h[b>>3]=-1.0;h[j>>3]=-C;e=e+ +h[b>>3];f=f-C;d=l}n=n+1|0}c[g>>2]=m;c[i>>2]=m;h[b>>3]=-e;h[j>>3]=-f;c[s+(w<<2)>>2]=l;c[u+(w<<2)>>2]=l;m=w;d=l}c[p+8>>2]=d;c[o+8>>2]=d}return a|0}function Cq(a){a=a|0;Cx(a);return}function Dq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Gx(a,b,c,d,.001))}function Eq(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0;if((c[a+16>>2]|0)==1)d=sw(a,0)|0;else d=Nw(a)|0;f=c[d+28>>2]|0;a:do if(b!=1.0){e=c[d+8>>2]|0;a=0;while(1){if((a|0)>=(e|0))break a;g=f+(a<<3)|0;h[g>>3]=+h[g>>3]*b;a=a+1|0}}while(0);return d|0}function Fq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0.0;j=c[b>>2]|0;c[e>>2]=0;k=S(j,a)|0;e=0;while(1){if((e|0)>=(k|0)){e=1;f=1;break}h[d+(e<<3)>>3]=+Pw()*100.0;e=e+1|0}while(1){if((f|0)>=(j|0))break;i=S(f,a)|0;g=0;while(1){if((g|0)>=(a|0))break;l=+h[d+(g<<3)>>3]-+h[d+(g+i<<3)>>3];if((l>=0.0?l:-l)>1.0e-16){e=0;f=j;break}else g=g+1|0}f=f+1|0}a:do if(e|0){T4(1);e=0;while(1){if((e|0)>=(k|0))break a;h[d+(e<<3)>>3]=+Pw()*100.0;e=e+1|0}}while(0);e=Eq(b,1.0)|0;if(!(tw(e,0)|0))Aa(92731,92688,164,92767);else{k=Bq(0,e,0,101.0e5,100.0,0)|0;+Dq(k,a,d,300);Cq(k);k=Bq(0,e,0,101.0e3,100.0,0)|0;+Dq(k,a,d,300);Cq(k);k=Bq(0,e,0,1010.0,100.0,0)|0;+Dq(k,a,d,300);Cq(k);k=Bq(0,e,0,10.1,100.0,0)|0;+Dq(k,a,d,300);Cq(k);Zw(0.0,0.0,490.0,700.0,c[b>>2]|0,a,d);nw(e);return}}function Gq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0;k=IK((qB(a)|0)<<4)|0;i=(e|0)!=0;j=b+8|0;g=gC(a)|0;f=0;while(1){if(!g)break;if(i)f=((h2(HB(g)|0,92782,11)|0)==0&1)+f|0;m=c[g+16>>2]|0;l=c[m+120>>2]<<1;h[k+(l<<3)>>3]=+h[m+32>>3]*.5+ +h[b>>3];h[k+((l|1)<<3)>>3]=+h[m+40>>3]*.5+ +h[j>>3];g=hC(a,g)|0}if(i&(f|0)!=0){b=IK(f<<2)|0;g=gC(a)|0;f=0;while(1){if(!g)break;if(!(h2(HB(g)|0,92782,11)|0)){c[b+(f<<2)>>2]=c[(c[g+16>>2]|0)+120>>2];f=f+1|0}g=hC(a,g)|0}c[e>>2]=b;c[d>>2]=f}return k|0}function Hq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+32|0;w=z+16|0;v=z+8|0;u=z;if(a){x=qB(a)|0;y=rB(a)|0;b=gC(a)|0;e=0;while(1){if(!b)break;c[(c[b+16>>2]|0)+120>>2]=e;b=hC(a,b)|0;e=e+1|0}r=y<<2;q=IK(r)|0;r=IK(r)|0;b=y<<3;s=IK(b)|0;o=DA(a,2,101842,0)|0;t=(d|0)!=0;if(t){e=DA(a,2,92794,0)|0;p=HK(b)|0;n=p}else{n=0;e=0;p=0}j=(o|0)==0;k=(e|0)==0;i=gC(a)|0;b=0;while(1){if(!i)break;m=c[(c[i+16>>2]|0)+120>>2]|0;g=UA(a,i)|0;while(1){if(!g)break;c[q+(b<<2)>>2]=m;c[r+(b<<2)>>2]=c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+120>>2];if(!j?(A=OA(g,o)|0,c[v>>2]=u,(q4(A,101510,v)|0)==1):0)f=+h[u>>3];else{h[u>>3]=1.0;f=1.0}h[s+(b<<3)>>3]=f;if(!k){A=OA(g,e)|0;c[w>>2]=u;if((q4(A,101510,w)|0)==1)f=+h[u>>3];else{h[u>>3]=1.0;f=1.0}h[n+(b<<3)>>3]=f}g=WA(a,g)|0;b=b+1|0}i=hC(a,i)|0}b=Aw(y,x,x,q,r,s,1,8)|0;if(t)c[d>>2]=Aw(y,x,x,q,r,p,1,8)|0;l6(q);l6(r);l6(s);if(n)l6(p)}else b=0;l=z;return b|0}function Iq(a){a=a|0;var b=0,d=0,e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0.0,p=0.0;m=l;l=l+16|0;k=m;a:do if(Jq(a,k)|0){b=c[(c[(gC(a)|0)+16>>2]|0)+132>>2]|0;g=+h[b>>3];e=+h[b+8>>3];b=gC(a)|0;while(1){if(!b)break;f=c[(c[b+16>>2]|0)+132>>2]|0;h[f>>3]=+h[f>>3]-g;f=f+8|0;h[f>>3]=+h[f>>3]-e;b=hC(a,b)|0}b=(g!=0.0|e!=0.0)&1;d=gC(a)|0;while(1){if(!d)break a;f=UA(a,d)|0;if(f|0)break;d=hC(a,d)|0}n=c[f>>2]&3;d=c[(c[(c[((n|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;f=c[(c[(c[((n|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;i=+h[f+8>>3];j=+h[f>>3];e=+O(+(+h[d+8>>3]-i),+(+h[d>>3]-j));e=+h[k>>3]-e;h[k>>3]=e;if(e!=0.0){g=+I(+e);e=+J(+e);b=gC(a)|0;while(1){if(!b){b=1;break a}k=c[(c[b+16>>2]|0)+132>>2]|0;p=+h[k>>3]-j;n=k+8|0;o=+h[n>>3]-i;h[k>>3]=j+(g*p-e*o);h[n>>3]=i+(e*p+g*o);b=hC(a,b)|0}}}else b=0;while(0);l=m;return b|0}function Jq(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0;g=l;l=l+16|0;f=g;b=NA(b,92798)|0;do if((b|0)!=0?(a[b>>0]|0)!=0:0){e=+b6(b,f);if((c[f>>2]|0)==(b|0))if(!((bP(b)|0)<<24>>24)){b=0;break}else e=0.0;while(1){if(!(e>180.0))break;e=e+-360.0}while(1){if(!(e<=-180.0))break;e=e+360.0}h[d>>3]=e/180.0*3.141592653589793;b=1}else b=0;while(0);l=g;return b|0}function Kq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=NA(a,92808)|0;return Lq(a,(d|0)==0?(c|0?c:195341):d,b)|0}function Lq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+32|0;n=o+16|0;j=o+8|0;i=o;m=e+4|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){f=17936;while(1){g=c[f+4>>2]|0;if(!g)break;if(!(N3(d,g,c[f+8>>2]|0)|0)){k=5;break}f=f+16|0}if((k|0)==5){if(!(c[f+12>>2]|0)){c[i>>2]=g;dA(0,92816,i)|0;f=17936}i=c[f>>2]|0;c[e>>2]=i;c[m>>2]=c[f+12>>2];if((i|0)==18)Mq(b,d+(c[f+8>>2]|0)|0,e)}if(!(c[f+4>>2]|0)){f=cP(d,63)|0;if(f<<24>>24==63){c[j>>2]=d;dA(0,92858,j)|0;f=0}else f=f&255;g=(f|0)==0;f=g&1;g=g?92905:136010;k=14}}else{f=0;g=136010;k=14}if((k|0)==14){c[e>>2]=f;c[m>>2]=g}if(a[195234]|0){k=c[15715]|0;j=c[e+8>>2]|0;p=+h[e+16>>3];c[n>>2]=c[m>>2];c[n+4>>2]=j;h[n+8>>3]=p;z4(k,92913,n)|0}l=o;return e|0}function Mq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=e+4|0;c[f>>2]=g;f=(q4(b,137696,f)|0)>0;b=c[g>>2]|0;c[d+8>>2]=f&(b|0)>-1?b:1e3;h[d+16>>3]=+YO(a,DA(a,0,92949,0)|0,-4.0,-1.0e10);l=e;return}function Nq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+16|0;h=i+8|0;g=i;do if((qB(b)|0)>=2){e=Iq(b)|0;e=(Oq(b)|0)+e|0;f=c[d>>2]|0;if(f){if(a[195234]|0){f=c[15715]|0;k=HB(b)|0;j=c[d+4>>2]|0;c[g>>2]=k;c[g+4>>2]=j;z4(f,93278,g)|0;f=c[d>>2]|0}if(f>>>0>2){switch(f|0){case 3:{f=Pr(b,1)|0;break}case 4:{f=Pr(b,0)|0;break}case 6:case 5:{f=0;break}case 10:case 9:case 7:case 8:case 14:case 13:case 11:case 12:{zr(b,f)|0;f=0;break}case 15:{f=Pr(b,-1)|0;break}default:{c[h>>2]=c[d+4>>2];dA(0,93301,h)|0;f=0}}e=f+e|0;break}if(Pq(b)|0){Qq();l6(c[46887]|0);c[46887]=0;break}Rq(b);if((c[d>>2]|0)==2)f=Sq()|0;else f=Tq()|0;if(f|0)Uq();Qq();l6(c[46887]|0);c[46887]=0;e=f+e|0}}else e=0;while(0);l=i;return e|0}function Oq(b){b=b|0;var d=0,e=0.0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;j=n+24|0;g=n+16|0;k=n;d=NA(b,141045)|0;a:do if(((d|0)!=0?(m=k+8|0,c[g>>2]=k,c[g+4>>2]=m,f=q4(d,105804,g)|0,(f|0)!=0):0)?(i=+h[k>>3],!(+F(+i)<1.0e-09)):0){if((f|0)!=1){e=+h[m>>3];if(+F(+e)<1.0e-09){d=0;break}}else{h[m>>3]=i;e=i}if(!(i==1.0&e==1.0)){if(a[195234]|0){g=c[15715]|0;h[j>>3]=i;h[j+8>>3]=e;z4(g,93461,j)|0}d=gC(b)|0;while(1){if(!d){d=1;break a}j=c[(c[d+16>>2]|0)+132>>2]|0;h[j>>3]=+h[k>>3]*+h[j>>3];j=j+8|0;h[j>>3]=+h[m>>3]*+h[j>>3];d=hC(b,d)|0}}else d=0}else d=0;while(0);l=n;return d|0}function Pq(b){b=b|0;var d=0,e=0.0,f=0.0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+16|0;k=n;c[46896]=qB(b)|0;qs();c[46911]=IK((c[46896]|0)*96|0)|0;d=gC(b)|0;i=c[46911]|0;ir(k,b);e=+g[k>>2];f=+g[k+4>>2];if(!(a[k+8>>0]|0))k=1;else{k=2;e=e/72.0;f=f/72.0}j=0;while(1){if((j|0)>=(c[46896]|0)){d=0;break}o=c[(c[d+16>>2]|0)+132>>2]|0;h[i+8>>3]=+h[o>>3];h[i+16>>3]=+h[o+8>>3];if(kb[k&3](i+40|0,d,e,f)|0){m=6;break}c[i+24>>2]=j;c[i+28>>2]=1;c[i>>2]=d;c[i+88>>2]=0;i=i+96|0;j=j+1|0;d=hC(b,d)|0}if((m|0)==6){l6(c[46911]|0);c[46911]=0;d=1}l=n;return d|0}function Qq(){var a=0,b=0;a=c[46911]|0;b=0;while(1){if((b|0)>=(c[46896]|0))break;mu(a+40|0);a=a+96|0;b=b+1|0}lu();Ss();l6(c[46911]|0);return}function Rq(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0;o=l;l=l+32|0;m=o+16|0;n=o;p=c[46911]|0;i=+h[p+8>>3];k=+h[p+16>>3];f=c[46896]|0;d=p;e=1;g=i+ +h[p+40>>3];i=i+ +h[p+56>>3];j=k+ +h[p+48>>3];k=k+ +h[p+64>>3];while(1){if((e|0)>=(f|0))break;s=+h[d+104>>3];q=+h[d+112>>3];t=s+ +h[d+136>>3];r=q+ +h[d+144>>3];s=s+ +h[d+152>>3];q=q+ +h[d+160>>3];d=d+96|0;e=e+1|0;g=ti?s:i;j=rk?q:k}d=NA(b,93401)|0;if(d|0?a[d>>0]|0:0)h[173]=+a6(d);s=+h[173];t=(k-j)*s;s=(i-g)*s;h[m>>3]=g-s;h[m+8>>3]=j-t;h[n>>3]=i+s;h[n+8>>3]=k+t;ar(m,n);l=o;return}function Sq(){var b=0,d=0,e=0,f=0;e=l;l=l+16|0;d=e;if(Vq(0)|0){Wq();b=0;do{hr();b=b+1|0}while((Vq(b)|0)!=0);if(!(a[195234]|0))b=1;else{f=c[15715]|0;c[d>>2]=b;z4(f,93329,d)|0;b=1}}else b=0;l=e;return b|0}function Tq(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;d=Vq(0)|0;if(!d)b=0;else{Wq();Xq(0);Vu(0,1);b=0;f=0;e=0;while(1){Zq();e=e+1|0;g=Vq(e)|0;if(!g)break;d=(g|0)<(d|0)?0:f+1|0;c[46888]=1;if(d){_q();b=b+1|0}Xq(1);Vu(0,1);f=d;d=g}if(a[195234]|0){g=c[15715]|0;c[h>>2]=e;z4(g,93329,h)|0;c[i>>2]=b;z4(g,93356,i)|0}$q();b=1}l=j;return b|0}function Uq(){var a=0,b=0,d=0,e=0;d=c[46896]|0;a=c[46911]|0;b=0;while(1){if((b|0)>=(d|0))break;e=c[(c[(c[a>>2]|0)+16>>2]|0)+132>>2]|0;h[e>>3]=+h[a+8>>3];h[e+8>>3]=+h[a+16>>3];a=a+96|0;b=b+1|0}return}function Vq(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;p=r+24|0;o=r+8|0;q=r;e=c[46911]|0;f=c[46896]|0;b=0;while(1){if((b|0)>=(f|0)){g=0;b=0;break}c[e+(b*96|0)+32>>2]=0;b=b+1|0}a:while(1){if((b|0)>=(f+-1|0))break;n=e+96|0;b=b+1|0;k=e+8|0;m=e+40|0;j=e+32|0;h=n;i=b;while(1){if((i|0)>=(f|0)){e=n;continue a}f=h+8|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];if(!(vu(o,m,p,h+40|0)|0))e=g;else{c[j>>2]=1;c[h+32>>2]=1;e=g+1|0}h=h+96|0;i=i+1|0;g=e;f=c[46896]|0}}if((d[195234]|0)>1){p=c[15715]|0;c[q>>2]=a;c[q+4>>2]=g;z4(p,93382,q)|0}l=r;return g|0}function Wq(){var a=0,b=0,d=0,e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0;fr();l=c[46890]|0;m=c[46911]|0;a=c[46887]|0;a:while(1){k=a;if(a>>>0>=l>>>0)break;b=a+4|0;if(b>>>0>=l>>>0){a=b;continue}f=c[b>>2]|0;d=c[a>>2]|0;j=+h[d>>3];if(+h[f>>3]!=j){a=b;continue}i=+h[d+8>>3];if(+h[f+8>>3]!=i){a=b;continue}f=a+8|0;d=2;while(1){if(f>>>0>=l>>>0)break;o=c[f>>2]|0;e=+h[o>>3];g=+h[o+8>>3];if(!(e==j&g==i)){n=10;break}f=f+4|0;d=d+1|0}if((n|0)==10){n=0;if(g==i){e=(e-j)/+(d|0);d=(((f>>>0>b>>>0?f:b)+-1+(0-k)|0)>>>2)+1|0;a=1;while(1){if((a|0)==(d|0)){a=f;continue a}o=c[b>>2]|0;h[o>>3]=e*+(a|0)+ +h[o>>3];a=a+1|0;b=b+4|0}}}while(1){if(b>>>0>=f>>>0){a=f;continue a}p=c[a>>2]|0;d=c[p+16>>2]|0;o=c[b>>2]|0;k=c[o+16>>2]|0;h[o>>3]=+h[p>>3]+(+h[m+(d*96|0)+56>>3]-+h[m+(d*96|0)+40>>3]+(+h[m+(k*96|0)+56>>3]-+h[m+(k*96|0)+40>>3]))*.5;b=b+4|0;a=a+4|0}}return}function Xq(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0.0,g=0,i=0,j=0,k=0;if(a|0)fr();i=c[46887]|0;j=c[i>>2]|0;e=+h[j>>3];h[23291]=e;f=+h[j>>3];h[23292]=f;k=c[46896]|0;g=1;while(1){if((g|0)>=(k|0))break;a=c[i+(g<<2)>>2]|0;d=+h[a>>3];if(d>3]}else{b=d;d=e}if(b>f)h[23292]=b;else b=f;g=g+1|0;e=d;f=b}d=+h[j+8>>3];h[23293]=d;b=+h[(c[i+(k+-1<<2)>>2]|0)+8>>3];h[23294]=b;h[23296]=b-d;h[23295]=f-e;return}function Yq(){var a=0;a=c[46889]|0;if(a>>>0<(c[46890]|0)>>>0){c[46889]=a+4;a=c[a>>2]|0}else a=0;return a|0}function Zq(){var a=0,b=0,d=0;a=c[46911]|0;br();d=(c[46888]|0)==0;b=0;while(1){if((b|0)>=(c[46896]|0))break;if(!(d?!(c[a+32>>2]|0):0))cr(a);a=a+96|0;b=b+1|0}return}function _q(){var a=0,b=0,c=0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0;a=l;l=l+32|0;c=a+16|0;b=a;j=+h[23287];i=+h[23285];g=+h[23288];e=+h[23286];d=(i-e)*.05;f=(j-g)*.05;h[b>>3]=j+f;h[b+8>>3]=i+d;h[c>>3]=g-f;h[c+8>>3]=e-d;ar(c,b);l=a;return}function $q(){Ds();Fs();Hu();js();return}function ar(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0;f=+h[a>>3];h[23288]=f;e=+h[b>>3];h[23287]=e;c=+h[a+8>>3];h[23286]=c;d=+h[b+8>>3];h[23285]=d;h[23277]=f;h[23279]=f;h[23281]=e;h[23283]=e;h[23284]=d;h[23280]=d;h[23282]=c;h[23278]=c;return}function br(){var a=0,b=0.0,d=0.0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0;m=c[46911]|0;g=m+8|0;f=+rs(g,186216);e=+rs(g,186232);d=+rs(g,186248);a=1;b=+rs(g,186264);g=m;i=m;j=m;k=m;while(1){l=m+96|0;if((a|0)>=(c[46896]|0))break;q=m+104|0;r=+rs(q,186216);n=r>2]|0;o=k+8|0;b=0.0;d=0.0;e=0.0;k=c[k>>2]|0;while(1){f=c[k>>2]|0;if(!f)break;s=k+8|0;r=f+8|0;c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];q=+dr(g,i,j);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];er(g,i,j,m,n);b=b+q*+h[n>>3];d=d+q*+h[m>>3];e=e+q;k=f}h[a+8>>3]=d/e;h[a+16>>3]=b/e;l=p;return}function dr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+h[b+8>>3];e=+h[c+8>>3];d=+h[a+8>>3];return +(+F(+(+h[c>>3]*(d-f)+(+h[a>>3]*(f-e)+ +h[b>>3]*(e-d))))*.5)}function er(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;h[d>>3]=(+h[a>>3]+ +h[b>>3]+ +h[c>>3])/3.0;h[e>>3]=(+h[a+8>>3]+ +h[b+8>>3]+ +h[c+8>>3])/3.0;return}function fr(){var a=0,b=0,d=0,e=0;a=c[46887]|0;if(!a){a=IK(c[46896]<<2)|0;c[46887]=a;c[46890]=a+(c[46896]<<2)}d=c[46911]|0;Ss();e=c[46896]|0;b=0;while(1){if((b|0)>=(e|0))break;c[a>>2]=d+8;c[d+88>>2]=0;c[d+28>>2]=1;d=d+96|0;a=a+4|0;b=b+1|0}k3(c[46887]|0,e,4,69);c[46889]=c[46887];return}function gr(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a>>2]|0;b=c[b>>2]|0;d=+h[a+8>>3];e=+h[b+8>>3];if(!(de)){e=+h[a>>3];d=+h[b>>3];if(ed&1}else a=1;else a=-1;return a|0}function hr(){var a=0,b=0,d=0,e=0;d=c[46896]|0;a=0;b=c[46911]|0;while(1){if((a|0)>=(d|0))break;e=b+8|0;h[e>>3]=+h[e>>3]*1.05;e=b+16|0;h[e>>3]=+h[e>>3]*1.05;a=a+1|0;b=b+96|0}return}function ir(b,e){b=b|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0.0;o=l;l=l+48|0;n=o;j=o+24|0;f=NA(e,93413)|0;k=j+8|0;m=j+4|0;if(!((f|0)!=0?(jr(f,j,1.0,0.0)|0)!=0:0))i=3;do if((i|0)==3){e=NA(e,93417)|0;if(e|0?jr(e,j,.800000011920929,4.0)|0:0)break;g[m>>2]=4.0;g[j>>2]=4.0;a[k>>0]=1}while(0);if(a[195234]|0){i=c[15715]|0;q=+g[j>>2];p=+g[m>>2];c[n>>2]=d[k>>0];h[n+8>>3]=q;h[n+16>>3]=p;z4(i,93422,n)|0};c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];l=o;return}function jr(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var h=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+16|0;o=r;p=r+12|0;q=r+8|0;while(1){k=a[b>>0]|0;m=b+1|0;if(!(X1(k<<24>>24)|0))break;else b=m}s=k<<24>>24==43;k=d+8|0;a[k>>0]=s&1;c[o>>2]=p;c[o+4>>2]=q;b=q4(s?m:b,93455,o)|0;if(!b)b=0;else{n=+g[p>>2];if((b|0)==1){g[q>>2]=n;h=n}else h=+g[q>>2];i=n/e;j=h/e;do if(a[k>>0]|0){if(e>1.0){g[d>>2]=i>f?f:i;h=j>f?f:j;break}if(e<1.0){g[d>>2]=i>2]=n;break}}else{g[d>>2]=i+1.0;h=j+1.0}while(0);g[d+4>>2]=h;b=1}l=r;return b|0}function kr(a,b){a=a|0;b=b|0;var c=0,d=0;d=l;l=l+32|0;c=d;if((qB(a)|0)<2)a=0;else{Lq(a,b,c)|0;a=Nq(a,c)|0}l=d;return a|0}function lr(a){a=a|0;return kr(a,NA(a,92808)|0)|0}function mr(b,e){b=b|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0.0;o=l;l=l+48|0;n=o;j=o+24|0;f=NA(e,93417)|0;k=j+8|0;m=j+4|0;if(!((f|0)!=0?(jr(f,j,1.0,0.0)|0)!=0:0))i=3;do if((i|0)==3){e=NA(e,93413)|0;if(e|0?jr(e,j,1.25,3.200000047683716)|0:0)break;g[m>>2]=3.200000047683716;g[j>>2]=3.200000047683716;a[k>>0]=1}while(0);if(a[195234]|0){i=c[15715]|0;q=+g[j>>2];p=+g[m>>2];c[n>>2]=d[k>>0];h[n+8>>3]=q;h[n+16>>3]=p;z4(i,93484,n)|0};c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];l=o;return}function nr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;o=p;h=0;while(1){if((h|0)>=(d|0))break;c[e+(h<<2)>>2]=-1;h=h+1|0}c[e+(a<<2)>>2]=0;or(f,a);a:do if(!(c[b+8>>2]|0)){h=2147483647;b:while(1){if(!((pr(f,o)|0)<<24>>24))break a;j=c[o>>2]|0;h=c[e+(j<<2)>>2]|0;i=b+(j*20|0)|0;j=b+(j*20|0)+4|0;k=h+1|0;a=1;while(1){if((a|0)>=(c[i>>2]|0))continue b;m=c[(c[j>>2]|0)+(a<<2)>>2]|0;n=e+(m<<2)|0;if((c[n>>2]|0)<0){c[n>>2]=k;qr(f,m)|0}a=a+1|0}}}else{h=2147483647;c:while(1){if(!((pr(f,o)|0)<<24>>24))break a;k=c[o>>2]|0;h=c[e+(k<<2)>>2]|0;i=b+(k*20|0)|0;j=b+(k*20|0)+4|0;k=b+(k*20|0)+8|0;a=1;while(1){if((a|0)>=(c[i>>2]|0))continue c;m=c[(c[j>>2]|0)+(a<<2)>>2]|0;n=e+(m<<2)|0;if((c[n>>2]|0)<0){c[n>>2]=~~+g[(c[k>>2]|0)+(a<<2)>>2]+h;qr(f,m)|0}a=a+1|0}}}while(0);a=h+10|0;h=0;while(1){if((h|0)>=(d|0))break;i=e+(h<<2)|0;if((c[i>>2]|0)<0)c[i>>2]=a;h=h+1|0}l=p;return}function or(a,b){a=a|0;b=b|0;c[c[a>>2]>>2]=b;c[a+12>>2]=0;c[a+8>>2]=1;return}function pr(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;e=c[d>>2]|0;if((e|0)<(c[a+8>>2]|0)){a=c[a>>2]|0;c[d>>2]=e+1;c[b>>2]=c[a+(e<<2)>>2];a=1}else a=0;return a|0}function qr(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+8|0;e=c[d>>2]|0;if((e|0)<(c[a+4>>2]|0)){a=c[a>>2]|0;c[d>>2]=e+1;c[a+(e<<2)>>2]=b;a=1}else a=0;return a|0}function rr(a,b){a=a|0;b=b|0;c[a>>2]=IK(b<<2)|0;c[a+4>>2]=b;c[a+8>>2]=0;c[a+12>>2]=0;return}function sr(a){a=a|0;l6(c[a>>2]|0);return}function tr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0;if(!(a[195234]|0))i=0;else{_3(93517,25,1,c[15715]|0)|0;i=0}while(1){if((i|0)>=(b|0))break;j=d+(i<<2)|0;g=0;f=0.0;while(1){if((g|0)==(b|0))break;if((i|0)!=(g|0))f=f+ +h[(c[j>>2]|0)+(g<<3)>>3];g=g+1|0}h[(c[j>>2]|0)+(i<<3)>>3]=-f;i=i+1|0}return tt(d,e,b+-1|0)|0}function ur(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0.0;j=rn(b,b,0.0)|0;k=rn(b,b,0.0)|0;e=gC(a)|0;while(1){if(!e)break;d=ZA(a,e)|0;while(1){if(!d)break;g=c[d>>2]&3;f=(c[c[((g|0)==3?d:d+48|0)+40>>2]>>2]|0)>>>4;g=(c[c[((g|0)==2?d:d+-48|0)+40>>2]>>2]|0)>>>4;if((f|0)!=(g|0)){l=-1.0/+h[(c[d+16>>2]|0)+136>>3];h[(c[j+(g<<2)>>2]|0)+(f<<3)>>3]=l;h[(c[j+(f<<2)>>2]|0)+(g<<3)>>3]=l}d=_A(a,d,e)|0}e=hC(a,e)|0}i=tr(b,j,k)|0;a:do if(i|0){f=a+16|0;e=0;while(1){if((e|0)>=(b|0))break a;g=k+(e<<2)|0;d=0;while(1){if((d|0)==(b|0))break;a=c[g>>2]|0;h[(c[(c[(c[f>>2]|0)+160>>2]|0)+(e<<2)>>2]|0)+(d<<3)>>3]=+h[a+(e<<3)>>3]+ +h[(c[k+(d<<2)>>2]|0)+(d<<3)>>3]-+h[a+(d<<3)>>3]*2.0;d=d+1|0}e=e+1|0}}while(0);sn(j);sn(k);return i|0}function vr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;j=s;n=d<<3;o=IK(n)|0;p=IK(n)|0;q=IK(n)|0;k=IK(n)|0;m=IK(n)|0;n=IK(n)|0;Lt(d,c,n);Et(d,n);Et(d,b);Gt(a,d,b,k);It(d,n,k,o);Lt(d,o,p);i=f+-1|0;c=0;g=+Mt(d,o,o);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+Nt(d,o)>e)){c=0;break}Gt(a,d,p,q);h=+Mt(d,p,q);if(h==0.0){c=0;break}h=g/h;Kt(d,p,h,m);Jt(d,b,m,b);if((c|0)<(i|0)){Kt(d,q,h,q);It(d,o,q,o);h=+Mt(d,o,o);if(g==0.0){r=7;break}Kt(d,p,h/g,p);Jt(d,o,p,p);g=h}c=c+1|0}if((r|0)==7){dA(1,93543,j)|0;c=1}l6(o);l6(p);l6(q);l6(k);l6(m);l6(n);l=s;return c|0}function wr(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;var h=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;j=s;o=d<<3;p=IK(o)|0;q=IK(o)|0;k=IK(o)|0;m=IK(o)|0;n=IK(o)|0;o=IK(o)|0;Lt(d,c,o);if(g<<24>>24){Et(d,o);Et(d,b)}Ht(a,d,b,m);It(d,o,m,p);Lt(d,p,q);g=f+-1|0;c=0;h=+Mt(d,p,p);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+Nt(d,p)>e)){c=0;break}Ht(a,d,q,k);i=+Mt(d,q,k);if(i==0.0){c=0;break}i=h/i;Kt(d,q,i,n);Jt(d,b,n,b);if((c|0)<(g|0)){Kt(d,k,i,k);It(d,p,k,p);i=+Mt(d,p,p);if(h==0.0){r=9;break}Kt(d,q,i/h,q);Jt(d,p,q,q);h=i}c=c+1|0}if((r|0)==9){dA(1,93543,j)|0;c=1}l6(p);l6(q);l6(k);l6(m);l6(n);l6(o);l=s;return c|0}function xr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;j=q;k=d<<2;m=HK(k)|0;n=HK(k)|0;o=HK(k)|0;k=HK(k)|0;Pt(d,b);Pt(d,c);Qt(a,d,b,k);Pt(d,k);Rt(d,c,k,m);Vt(d,m,n);i=f+-1|0;c=0;g=+Wt(d,m,m);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+Zt(d,m)>e)){c=0;break}Pt(d,n);Pt(d,b);Pt(d,m);Qt(a,d,n,o);Pt(d,o);h=+Wt(d,n,o);if(h==0.0){c=0;break}h=g/h;Tt(d,b,h,n);if((c|0)<(i|0)){Tt(d,m,-h,o);h=+Wt(d,m,m);if(g==0.0){p=7;break}Ut(d,n,h/g,n);St(d,m,n,n);g=h}c=c+1|0}if((p|0)==7){dA(1,93543,j)|0;c=1}l6(m);l6(n);l6(o);l6(k);l=q;return c|0}function yr(b,d,e,f,i,j,k,m,n,o){b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=+o;var p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,G=0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0;P=l;l=l+48|0;I=P+24|0;D=P+16|0;C=P+8|0;B=P;M=P+40|0;N=P+36|0;K=P+32|0;t=k&4;c[M>>2]=0;c[N>>2]=0;a:do if(c[b+16>>2]|0){q=0;p=0;while(1){if((q|0)>=(d|0))break;u=c[b+(q*20|0)>>2]|0;v=b+(q*20|0)+16|0;s=1;while(1){if((s|0)>=(u|0))break;if(!(p<<24>>24))p=+g[(c[v>>2]|0)+(s<<2)>>2]!=0.0;else p=1;s=s+1|0;p=p&1}q=q+1|0}if(p<<24>>24){A=(t|0)!=0;G=f+4|0;E=o>0.0;if(A){b:do if((j|0)>2){p=j+-1|0;if((ln(b,d,e,G,i,p,k,m,15)|0)<0){p=-1;break a}q=f+(p<<2)|0;p=0;while(1){if((p|0)>=(d|0))break b;h[(c[q>>2]|0)+(p<<3)>>3]=+h[(c[G>>2]|0)+(p<<3)>>3];p=p+1|0}}while(0);w=c[f>>2]|0;x=c[G>>2]|0;if((gu(b,d,x,d)|0)==0?(qy(b,d,.01,.1,x,M,N,K)|0)==0:0){y=c[K>>2]|0;if((y|0)<1){p=ln(b,d,e,f,i,j,k,m,n)|0;break}c:do if(E){s=c[M>>2]|0;t=c[N>>2]|0;u=y+-1|0;r=0.0;q=0;d:while(1){if((q|0)==(y|0))break c;p=c[t+(q<<2)>>2]|0;H=o-(r+ +h[x+(c[s+(p<<2)>>2]<<3)>>3]-+h[x+(c[s+(p+-1<<2)>>2]<<3)>>3]);r=r+(H<0.0?0.0:H);v=q+1|0;if((q|0)<(u|0))q=c[t+(v<<2)>>2]|0;else q=d;while(1){if((p|0)>=(q|0)){q=v;continue d}L=x+(c[s+(p<<2)>>2]<<3)|0;h[L>>3]=r+ +h[L>>3];p=p+1|0}}}while(0);if((j|0)==2?(Nu(b,d,x,w,+h[23315])|0)!=0:0){q=0;p=-1}else O=32}else{q=0;p=-1}}else{en(b,d,j,f,i)|0;if(!(qy(b,d,.01,.1,0,M,N,K)|0))O=32;else{q=0;p=-1}}e:do if((O|0)==32){if((d|0)==1){p=0;break a}L=IK(c[K>>2]<<2)|0;if(!n){p=0;break a}if(a[195234]|0)RO();switch(m|0){case 2:{if(a[195234]|0)_3(93591,24,1,c[15715]|0)|0;p=kn(b,d)|0;O=45;break}case 1:{p=fn(b,d)|0;if(!p){dA(0,93616,B)|0;dA(3,93665,C)|0;O=46}else J=p;break}case 3:{if(a[195234]|0)_3(93718,21,1,c[15715]|0)|0;p=gn(b,d)|0;O=45;break}default:O=46}if((O|0)==45)if(!p)O=46;else J=p;if((O|0)==46){if(a[195234]|0)_3(93740,26,1,c[15715]|0)|0;J=jn(b,d)|0}if(a[195234]|0){b=c[15715]|0;h[D>>3]=+SO();z4(b,93767,D)|0;_3(93779,25,1,b)|0;RO()}C=d+-1|0;t=(S(C,d)|0)/2|0;b=t+d|0;f:do if(!A){r=1.0;q=0;while(1){if((q|0)>=(j|0))break;s=f+(q<<2)|0;p=0;while(1){if((p|0)>=(d|0))break;H=+F(+(+h[(c[s>>2]|0)+(p<<3)>>3]));r=H>r?H:r;p=p+1|0}q=q+1|0}r=10.0/r;q=0;while(1){if((q|0)>=(j|0))break f;s=f+(q<<2)|0;p=0;while(1){if((p|0)>=(d|0))break;D=(c[s>>2]|0)+(p<<3)|0;h[D>>3]=r*+h[D>>3];p=p+1|0}q=q+1|0}}while(0);H=+(t|0);g:do if(E){p=0;r=0.0;t=0;h:while(1){if((t|0)>=(C|0))break;u=t+1|0;s=p;q=u;while(1){p=s+1|0;if((q|0)>=(d|0)){t=u;continue h}z=+ct(f,j,t,q);s=p;r=r+z/+g[J+(p<<2)>>2];q=q+1|0}}r=r/H;p=0;while(1){if((p|0)>=(b|0)){p=0;break g}E=J+(p<<2)|0;g[E>>2]=r*+g[E>>2];p=p+1|0}}else p=0;while(0);while(1){if((p|0)>=(j|0))break;Et(d,c[f+(p<<2)>>2]|0);p=p+1|0}q=c[G>>2]|0;r=+h[q>>3];p=0;while(1){if((p|0)>=(d|0))break;G=q+(p<<3)|0;h[G>>3]=+h[G>>3]-r;p=p+1|0}v=j<<2;B=IK(v)|0;x=d<<2;w=S(x,j)|0;s=IK(w)|0;p=0;while(1){if((p|0)>=(j|0))break;t=s+((S(p,d)|0)<<2)|0;c[B+(p<<2)>>2]=t;u=f+(p<<2)|0;q=0;while(1){if((q|0)>=(d|0))break;g[t+(q<<2)>>2]=+h[(c[u>>2]|0)+(q<<3)>>3];q=q+1|0}p=p+1|0}if(a[195234]|0){G=c[15715]|0;h[I>>3]=+SO();z4(G,93805,I)|0}_t(b,J);$t(b,J);m=IK(d<<3)|0;Xt(d,0.0,m);p=0;s=0;while(1){if((s|0)>=(C|0)){p=d;q=0;s=0;break}t=d-s|0;r=0.0;q=1;while(1){p=p+1|0;if((q|0)>=(t|0))break;z=+g[J+(p<<2)>>2];I=m+(q+s<<3)|0;h[I>>3]=+h[I>>3]-z;r=r+z;q=q+1|0}I=m+(s<<3)|0;h[I>>3]=+h[I>>3]-r;s=s+1|0}while(1){if((q|0)>=(d|0))break;g[J+(s<<2)>>2]=+h[m+(q<<3)>>3];I=p+s|0;p=p+-1|0;q=q+1|0;s=I}A=IK(v)|0;c[A>>2]=IK(w)|0;p=1;while(1){if((p|0)>=(j|0))break;c[A+(p<<2)>>2]=(c[A>>2]|0)+((S(p,d)|0)<<2);p=p+1|0}k=IK(x)|0;e=IK(x)|0;i=IK(b<<2)|0;q=Bu(J,d)|0;y=Gu(J,d,c[M>>2]|0,c[N>>2]|0,c[K>>2]|0)|0;s=0;z=1797693134862315708145274.0e284;p=0;while(1){if(!(s<<24>>24==0&(p|0)<(n|0)))break;Xt(d,0.0,m);au(b,J,i);w=0;u=0;while(1){if((w|0)>=(C|0)){s=0;t=d;u=0;break}x=d-w+-1|0;Yt(d,0.0,e);s=0;while(1){if((s|0)>=(j|0))break;K=B+(s<<2)|0;Yt(x,+g[(c[K>>2]|0)+(w<<2)>>2],k);Tt(x,k,-1.0,(c[K>>2]|0)+(w<<2)+4|0);_t(x,k);St(x,k,e,e);s=s+1|0}bu(x,e);s=0;while(1){if((s|0)>=(x|0))break;t=e+(s<<2)|0;r=+g[t>>2];if(r>=3402823466385288598117041.0e14|r<0.0)g[t>>2]=0.0;s=s+1|0}v=w+1|0;r=0.0;s=u;t=0;while(1){s=s+1|0;if((t|0)>=(x|0))break;K=i+(s<<2)|0;Q=+g[e+(t<<2)>>2]*+g[K>>2];g[K>>2]=Q;K=m+(v+t<<3)|0;h[K>>3]=+h[K>>3]-Q;r=r+Q;t=t+1|0}u=m+(w<<3)|0;h[u>>3]=+h[u>>3]-r;w=v;u=s}while(1){if((s|0)>=(d|0)){s=0;break}g[i+(u<<2)>>2]=+h[m+(s<<3)>>3];K=t+u|0;s=s+1|0;t=t+-1|0;u=K}while(1){if((s|0)>=(j|0)){r=0.0;s=0;break}Qt(i,d,c[B+(s<<2)>>2]|0,c[A+(s<<2)>>2]|0);s=s+1|0}while(1){if((s|0)>=(j|0))break;r=r+ +Wt(d,c[B+(s<<2)>>2]|0,c[A+(s<<2)>>2]|0);s=s+1|0}r=H+r*2.0;s=0;while(1){if((s|0)>=(j|0))break;K=B+(s<<2)|0;Qt(J,d,c[K>>2]|0,k);r=r-+Wt(d,c[K>>2]|0,k);s=s+1|0}Q=+F(+(r-z))/+F(+(z+1.0e-10));s=((p|0)>1&r>z|Q<+h[23315])&1;t=0;while(1){if((t|0)>=(j|0))break;u=c[A+(t<<2)>>2]|0;if((t|0)!=1){if(xr(J,c[B+(t<<2)>>2]|0,u,d,.001,d)|0){p=-1;break e}}else Cu(y,u,B,j,1,15,L,o)|0;t=t+1|0}z=r;p=p+1|0}l6(L);Fu(y);if(B|0){s=0;while(1){if((s|0)>=(j|0))break;u=B+(s<<2)|0;v=f+(s<<2)|0;t=0;while(1){if((t|0)>=(d|0))break;h[(c[v>>2]|0)+(t<<3)>>3]=+g[(c[u>>2]|0)+(t<<2)>>2];t=t+1|0}s=s+1|0}l6(c[B>>2]|0);l6(B)}if(A|0){l6(c[A>>2]|0);l6(A)}l6(k);l6(e);l6(m);l6(J);l6(i)}while(0);l6(c[M>>2]|0);l6(c[N>>2]|0);if(q){l6(c[q>>2]|0);l6(q)}}else O=10}else O=10;while(0);if((O|0)==10)p=ln(b,d,e,f,i,j,k,m,n)|0;l=P;return p|0}function zr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;f=m+24|0;g=m+12|0;d=m;i=qB(a)|0;k=IK(i*48|0)|0;ir(d,a);c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];d=gC(a)|0;e=k;while(1){if(!d)break;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];Ar(d,e,f);d=hC(a,d)|0;e=e+48|0}a:do if(!(Br(k,i)|0))d=0;else{switch(b|0){case 9:{Dr(a,k,i,70,1);Fr(a,k,i,71,1);d=0;e=k;break}case 10:{Fr(a,k,i,71,1);Dr(a,k,i,70,1);d=0;e=k;break}case 7:{Dr(a,k,i,72,1);Fr(a,k,i,71,1);j=9;break}case 8:{j=9;break}case 13:{j=10;break}case 14:{Fr(a,k,i,71,0);Dr(a,k,i,70,0);d=0;e=k;break}case 12:{Fr(a,k,i,73,0);Dr(a,k,i,70,0);d=0;e=k;break}default:{Dr(a,k,i,72,0);Fr(a,k,i,71,0);d=0;e=k}}if((j|0)==9){Fr(a,k,i,73,1);Dr(a,k,i,70,1);j=10}if((j|0)==10){Dr(a,k,i,70,0);Fr(a,k,i,71,0);d=0;e=k}while(1){if((d|0)>=(i|0)){d=1;break a}g=c[e+16>>2]|0;j=c[(c[(c[e+20>>2]|0)+16>>2]|0)+132>>2]|0;h[j>>3]=+(c[e+12>>2]|0)/72.0/10.0;h[j+8>>3]=+(g|0)/72.0/10.0;d=d+1|0;e=e+48|0}}while(0);l6(k);l=m;return d|0}function Ar(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0;f=c[b+16>>2]|0;n=c[f+132>>2]|0;l=+h[n>>3]*10.0*72.0;m=~~(l+(l>=0.0?.5:-.5));l=+h[n+8>>3]*10.0*72.0;n=~~(l+(l>=0.0?.5:-.5));l=+g[e+4>>2];i=+g[e>>2];j=+h[f+32>>3];k=+h[f+40>>3];if(!(a[e+8>>0]|0)){j=j*(i*5.0)*72.0;l=l*5.0*k*72.0;f=~~(j+(j>=0.0?.5:-.5));e=~~(l+(l>=0.0?.5:-.5))}else{j=j*.5*72.0;k=k*.5*72.0;f=~~((i+ +(~~(j+(j>=0.0?.5:-.5))|0))*10.0);e=~~((l+ +(~~(k+(k>=0.0?.5:-.5))|0))*10.0)}c[d+12>>2]=m;c[d+16>>2]=n;c[d+20>>2]=b;c[d+32>>2]=m-f;c[d+36>>2]=n-e;c[d+40>>2]=f+m;c[d+44>>2]=e+n;return}function Br(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=b+-1|0;d=0;a:while(1){if((d|0)>=(k|0)){a=0;break}j=a+48|0;d=d+1|0;g=a+32|0;h=a+40|0;i=a+36|0;f=a+44|0;a=j;e=d;while(1){if((e|0)>=(b|0)){a=j;continue a}if((((c[g>>2]|0)<=(c[a+40>>2]|0)?(c[a+32>>2]|0)<=(c[h>>2]|0):0)?(c[i>>2]|0)<=(c[a+44>>2]|0):0)?(c[a+36>>2]|0)<=(c[f>>2]|0):0){a=1;break a}a=a+48|0;e=e+1|0}}return a|0}function Cr(a,b){a=a|0;b=b|0;if((c[a+36>>2]|0)>(c[b+44>>2]|0))a=0;else a=(c[b+36>>2]|0)<=(c[a+44>>2]|0);return a&1|0}function Dr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Sz(18208,c[4594]|0)|0;g=b;h=0;while(1){if((h|0)>=(d|0))break;c[g+8>>2]=c[g+12>>2];eb[c[i>>2]&63](i,g,1)|0;g=g+48|0;h=h+1|0}if(!f)h=Lr(a,i,e,74)|0;else h=Kr(i,e,74)|0;sL(h,2,2147483647)|0;g=0;while(1){if((g|0)>=(d|0))break;f=b+12|0;a=c[(c[(c[b+24>>2]|0)+16>>2]|0)+232>>2]|0;e=a-(c[f>>2]|0)|0;c[f>>2]=a;f=b+32|0;c[f>>2]=(c[f>>2]|0)+e;f=b+40|0;c[f>>2]=(c[f>>2]|0)+e;b=b+48|0;g=g+1|0}Mr(h);Oz(i)|0;return}function Er(a,b){a=a|0;b=b|0;if((c[a+32>>2]|0)>(c[b+40>>2]|0))a=0;else a=(c[b+32>>2]|0)<=(c[a+40>>2]|0);return a&1|0}function Fr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Sz(18208,c[4594]|0)|0;g=b;h=0;while(1){if((h|0)>=(d|0))break;c[g+8>>2]=c[g+16>>2];eb[c[i>>2]&63](i,g,1)|0;g=g+48|0;h=h+1|0}if(!f)h=Lr(a,i,e,75)|0;else h=Kr(i,e,75)|0;sL(h,2,2147483647)|0;g=0;while(1){if((g|0)>=(d|0))break;f=b+16|0;a=c[(c[(c[b+24>>2]|0)+16>>2]|0)+232>>2]|0;e=a-(c[f>>2]|0)|0;c[f>>2]=a;f=b+36|0;c[f>>2]=(c[f>>2]|0)+e;f=b+44|0;c[f>>2]=(c[f>>2]|0)+e;b=b+48|0;g=g+1|0}Mr(h);Oz(i)|0;return}function Gr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+32|0;e=b+32|0;if((c[a+36>>2]|0)<=(c[b+44>>2]|0)?(c[b+36>>2]|0)<=(c[a+44>>2]|0):0)if((c[a+40>>2]|0)<(c[e>>2]|0))a=1;else{g=Jr(d,e)|0;g=g-(c[b+12>>2]|0)+(c[a+12>>2]|0)|0;b=c[b+16>>2]|0;f=c[a+16>>2]|0;a=Ir(d,e)|0;a=(g|0)<=(((b|0)<(f|0)?b-f|0:f-b|0)+a|0)&1}else a=0;return a|0}function Hr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+32|0;e=b+32|0;if((c[d>>2]|0)<=(c[b+40>>2]|0)?(c[e>>2]|0)<=(c[a+40>>2]|0):0)if((c[a+44>>2]|0)<(c[b+36>>2]|0))a=1;else{g=Ir(d,e)|0;g=g-(c[b+16>>2]|0)+(c[a+16>>2]|0)|0;b=c[b+12>>2]|0;f=c[a+12>>2]|0;a=Jr(d,e)|0;a=(g|0)<=(((b|0)<(f|0)?b-f|0:f-b|0)+a|0)&1}else a=0;return a|0}function Ir(a,b){a=a|0;b=b|0;return ((c[a+12>>2]|0)-(c[a+4>>2]|0)+(c[b+12>>2]|0)-(c[b+4>>2]|0)|0)/2|0|0}function Jr(a,b){a=a|0;b=b|0;return ((c[a+8>>2]|0)-(c[a>>2]|0)+(c[b+8>>2]|0)-(c[b>>2]|0)|0)/2|0|0}function Kr(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;v=x;c[v>>2]=c[4658];w=lB(93816,v,0)|0;RC(w,137786,280,1)|0;f=Qz(a)|0;g=-2147483647;u=0;while(1){if(!f)break;s=c[f+8>>2]|0;t=((g|0)!=(s|0)&1)+u|0;f=c[f>>2]|0;g=s;u=t}s=w+16|0;t=(u<<3)+-4|0;f=0;j=0;i=0;m=0;k=0;r=Qz(a)|0;h=-2147483647;while(1){n=k+16|0;if(!r)break;q=c[r+8>>2]|0;if((h|0)!=(q|0)){p=qC(w,HB(c[r+20>>2]|0)|0,1)|0;RC(p,137750,304,1)|0;o=p+16|0;g=c[o>>2]|0;c[g+112>>2]=r;if(!m){c[(c[s>>2]|0)+192>>2]=p;m=p}else c[(c[f+16>>2]|0)+164>>2]=p;c[g+176>>2]=0;i=j+1|0;h=HK(i<<2)|0;c[(c[o>>2]|0)+172>>2]=h;if(!k){j=i;i=p;k=p;f=p;g=m;h=q}else{c[(c[n>>2]|0)+184>>2]=0;h=HK((k|0)==(m|0)?t:u-j<<2)|0;c[(c[n>>2]|0)+180>>2]=h;h=fB(w,k,p,0,1)|0;RC(h,137763,176,1)|0;g=c[h+16>>2]|0;b[g+170>>1]=10;c[g+156>>2]=1;g=c[n>>2]|0;f=c[g+180>>2]|0;g=(c[g+184>>2]<<2)+8|0;if(!f)f=IK(g)|0;else f=KK(f,g)|0;k=c[n>>2]|0;c[k+180>>2]=f;k=k+184|0;g=c[k>>2]|0;c[k>>2]=g+1;c[f+(g<<2)>>2]=h;g=c[n>>2]|0;c[(c[g+180>>2]|0)+(c[g+184>>2]<<2)>>2]=0;g=c[o>>2]|0;f=c[g+172>>2]|0;g=(c[g+176>>2]<<2)+8|0;if(!f)f=IK(g)|0;else f=KK(f,g)|0;k=c[o>>2]|0;c[k+172>>2]=f;k=k+176|0;j=c[k>>2]|0;c[k>>2]=j+1;c[f+(j<<2)>>2]=h;j=c[o>>2]|0;c[(c[j+172>>2]|0)+(c[j+176>>2]<<2)>>2]=0;j=i;i=p;k=p;f=p;g=m;h=q}}else g=m;c[r+24>>2]=i;m=g;r=c[r>>2]|0}c[(c[n>>2]|0)+184>>2]=0;k=HK(4)|0;c[(c[n>>2]|0)+180>>2]=k;c[v>>2]=c[4658];k=lB(93863,v,0)|0;f=Qz(a)|0;while(1){if(!f)break;v=qC(k,HB(c[f+20>>2]|0)|0,1)|0;RC(v,137750,304,1)|0;c[f+28>>2]=v;c[(c[v+16>>2]|0)+112>>2]=f;f=c[f>>2]|0}f=0;j=Qz(a)|0;g=-2147483647;a:while(1){if(!j)break;i=c[j+8>>2]|0;b:do if((g|0)==(i|0))i=g;else{f=j;while(1){f=c[f>>2]|0;if(!f)break a;if((c[f+8>>2]|0)!=(i|0))break b}}while(0);h=j+28|0;g=f;while(1){if(!g)break;if(vb[d&127](j,g)|0)fB(k,c[h>>2]|0,c[g+28>>2]|0,0,1)|0;g=c[g>>2]|0}j=c[j>>2]|0;g=i}Nr(k,w,e);pB(k)|0;l=x;return w|0}function Lr(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+16|0;q=r;c[q>>2]=c[4658];q=lB(93816,q,0)|0;RC(q,137786,280,1)|0;j=q+16|0;g=Qz(d)|0;h=0;while(1){if(!g)break;i=qC(q,HB(c[g+20>>2]|0)|0,1)|0;RC(i,137750,304,1)|0;o=i+16|0;m=c[o>>2]|0;c[m+112>>2]=g;c[g+24>>2]=i;c[m+176>>2]=0;m=HK(4)|0;n=c[o>>2]|0;c[n+172>>2]=m;c[n+184>>2]=0;n=HK(4)|0;c[(c[o>>2]|0)+180>>2]=n;if(!h)c[(c[j>>2]|0)+192>>2]=i;else c[(c[h+16>>2]|0)+164>>2]=i;g=c[g>>2]|0;h=i}k=Qz(d)|0;a:while(1){if(!k)break;m=k+32|0;n=k+24|0;o=k+20|0;g=k;while(1){g=c[g>>2]|0;if(!g)break;if(vb[e&127](k,g)|0){h=vb[f&127](m,g+32|0)|0;i=fB(q,c[n>>2]|0,c[g+24>>2]|0,0,1)|0;RC(i,137763,176,1)|0;if((h|0)>=65536){p=13;break a}j=i+16|0;s=c[j>>2]|0;b[s+170>>1]=h;c[s+156>>2]=1;if(i|0?fB(a,c[o>>2]|0,c[g+20>>2]|0,0,0)|0:0)c[(c[j>>2]|0)+156>>2]=100}}k=c[k>>2]|0}if((p|0)==13)Aa(93819,93835,254,93848);k=Qz(d)|0;while(1){if(!k)break;j=c[k+24>>2]|0;m=j+16|0;j=UA(q,j)|0;while(1){if(!j)break;h=c[m>>2]|0;g=c[h+180>>2]|0;h=(c[h+184>>2]<<2)+8|0;if(!g)g=IK(h)|0;else g=KK(g,h)|0;h=c[m>>2]|0;c[h+180>>2]=g;h=h+184|0;i=c[h>>2]|0;c[h>>2]=i+1;c[g+(i<<2)>>2]=j;i=c[m>>2]|0;c[(c[i+180>>2]|0)+(c[i+184>>2]<<2)>>2]=0;i=j+-48|0;g=c[(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0)+16>>2]|0;h=c[g+172>>2]|0;g=(c[g+176>>2]<<2)+8|0;if(!h)g=IK(g)|0;else g=KK(h,g)|0;c[(c[(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0)+16>>2]|0)+172>>2]=g;f=c[(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0)+16>>2]|0;p=c[f+172>>2]|0;f=f+176|0;s=c[f>>2]|0;c[f>>2]=s+1;c[p+(s<<2)>>2]=j;s=c[(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0)+16>>2]|0;c[(c[s+172>>2]|0)+(c[s+176>>2]<<2)>>2]=0;j=WA(q,j)|0}k=c[k>>2]|0}l=r;return q|0}function Mr(a){a=a|0;var b=0,d=0,e=0,f=0;f=gC(a)|0;while(1){if(!f)break;d=f+16|0;b=c[d>>2]|0;e=c[b+172>>2]|0;if(e){l6(e);b=c[d>>2]|0}b=c[b+180>>2]|0;if(b|0)l6(b);f=hC(a,f)|0}pB(a)|0;return}function Nr(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=gC(a)|0;while(1){if(!k)break;n=c[(c[k+16>>2]|0)+112>>2]|0;m=c[n+24>>2]|0;n=n+32|0;o=m+16|0;l=UA(a,k)|0;while(1){if(!l)break;h=c[(c[(c[((c[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;p=vb[e&127](n,h+32|0)|0;h=c[h+24>>2]|0;i=fB(d,m,h,0,1)|0;RC(i,137763,176,1)|0;j=i+16|0;f=c[j>>2]|0;c[f+156>>2]=1;g=b[f+170>>1]|0;if((g&65535|0)<(p|0)){if(!(g<<16>>16)){g=c[o>>2]|0;f=c[g+180>>2]|0;g=(c[g+184>>2]<<2)+8|0;if(!f)f=IK(g)|0;else f=KK(f,g)|0;q=c[o>>2]|0;c[q+180>>2]=f;q=q+184|0;g=c[q>>2]|0;c[q>>2]=g+1;c[f+(g<<2)>>2]=i;g=c[o>>2]|0;c[(c[g+180>>2]|0)+(c[g+184>>2]<<2)>>2]=0;h=h+16|0;g=c[h>>2]|0;f=c[g+172>>2]|0;g=(c[g+176>>2]<<2)+8|0;if(!f)f=IK(g)|0;else f=KK(f,g)|0;g=c[h>>2]|0;c[g+172>>2]=f;g=g+176|0;q=c[g>>2]|0;c[g>>2]=q+1;c[f+(q<<2)>>2]=i;f=c[h>>2]|0;c[(c[f+172>>2]|0)+(c[f+176>>2]<<2)>>2]=0;f=c[j>>2]|0}b[f+170>>1]=p}l=WA(a,l)|0}k=hC(a,k)|0}return}function Or(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return (c[b>>2]|0)-(c[d>>2]|0)|0}function Pr(b,d){b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+64|0;t=x+24|0;r=x+16|0;q=x+52|0;p=x+40|0;s=x;v=qB(b)|0;w=IK(v*72|0)|0;ir(p,b);i=+g[p>>2];j=+g[p+4>>2];p=(a[p+8>>0]|0)!=0;if(p){i=i/72.0;j=j/72.0}e=w;f=gC(b)|0;while(1){if(!f)break;o=c[f+16>>2]|0;k=+h[o+40>>3];n=+h[o+32>>3];if(p){m=j+k*.5;k=i+n*.5}else{m=j*k*.5;k=i*n*.5}o=c[o+132>>2]|0;y=+h[o>>3];h[e>>3]=y;n=+h[o+8>>3];h[e+8>>3]=n;h[e+16>>3]=y-k;h[e+24>>3]=n-m;h[e+32>>3]=k+y;h[e+40>>3]=m+n;h[e+48>>3]=k;h[e+56>>3]=m;c[e+64>>2]=f;e=e+72|0;f=hC(b,f)|0}do if((d|0)<0){i=+Qr(w,v);if(i==0.0){l6(w);e=0;break}if(!(a[195234]|0)){k=i;j=i;u=21}else{u=c[15715]|0;h[r>>3]=i;z4(u,93866,r)|0;k=i;j=i;u=21}}else{f=Rr(w,v,q)|0;e=c[q>>2]|0;if(!e){l6(f);l6(w);e=0;break}if(!d){Tr(s,f,e);i=+h[s>>3];j=+h[s+8>>3]}else{j=+Sr(f,e);i=j}l6(f);if(!(a[195234]|0)){k=i;u=21}else{u=c[15715]|0;h[t>>3]=i;h[t+8>>3]=j;z4(u,93880,t)|0;k=i;u=21}}while(0);if((u|0)==21){e=0;f=w;while(1){if((e|0)>=(v|0))break;u=c[(c[(c[f+64>>2]|0)+16>>2]|0)+132>>2]|0;h[u>>3]=k*+h[f>>3];h[u+8>>3]=j*+h[f+8>>3];e=e+1|0;f=f+72|0}l6(w);e=1}l=x;return e|0}function Qr(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=0.0;d=0;a:while(1){if((d|0)>=(b|0))break;r=a+72|0;d=d+1|0;m=a+16|0;n=a+8|0;o=a+56|0;p=a+48|0;q=a+32|0;k=a+24|0;l=a+40|0;i=d;j=r;while(1){if((i|0)>=(b|0)){a=r;continue a}if(((+h[m>>3]<=+h[j+32>>3]?+h[j+16>>3]<=+h[q>>3]:0)?+h[k>>3]<=+h[j+40>>3]:0)?+h[j+24>>3]<=+h[l>>3]:0){c=0.0;break a}e=+h[a>>3];f=+h[j>>3];if(e==f)g=t;else g=(+h[p>>3]+ +h[j+48>>3])/+F(+(e-f));e=+h[n>>3];f=+h[j+8>>3];if(e==f)e=t;else e=(+h[o>>3]+ +h[j+56>>3])/+F(+(e-f));g=ec?g:c}}return +c}function Rr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=IK((b<<4)+16|0)|0;m=0;e=0;n=k;o=b;i=k;a:while(1){if((e|0)>=(b|0))break;z=a+72|0;e=e+1|0;y=a+16|0;r=a+32|0;s=a+24|0;u=a+40|0;v=a+8|0;w=a+56|0;x=a+48|0;p=e;q=z;l=i;while(1){if((p|0)==(b|0)){a=z;i=l;continue a}if(((+h[y>>3]<=+h[q+32>>3]?+h[q+16>>3]<=+h[r>>3]:0)?+h[s>>3]<=+h[q+40>>3]:0)?+h[q+24>>3]<=+h[u>>3]:0){i=o+b|0;if((m|0)==(o|0)){k=KK(k,(i<<4)+16|0)|0;n=k;l=k}else i=o;f=+h[a>>3];g=+h[q>>3];if(!(f==g)){f=(+h[x>>3]+ +h[q+48>>3])/+F(+(f-g));if(f<1.0){f=1.0;A=13}}else{f=t;A=13}if((A|0)==13)A=0;g=+h[v>>3];j=+h[q+8>>3];if(!(g==j)){g=(+h[w>>3]+ +h[q+56>>3])/+F(+(g-j));if(g<1.0){g=1.0;A=16}}else{g=t;A=16}if((A|0)==16)A=0;m=m+1|0;h[n+(m<<4)>>3]=f;h[n+(m<<4)+8>>3]=g}else i=o;p=p+1|0;q=q+72|0;o=i}}A=KK(i,(m<<4)+16|0)|0;c[d>>2]=m;return A|0}function Sr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,f=0.0,g=0.0;d=1;e=0.0;while(1){c=a+16|0;if((d|0)>(b|0))break;g=+h[c>>3];f=+h[a+24>>3];f=ge?f:e;a=c}return +e}function Tr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,i=0.0;h[b>>3]=1.0;h[b+8>>3]=t;k3(b+16|0,c,16,76);g=IK((c<<4)+16|0)|0;h[g+(c<<4)>>3]=+h[b+(c<<4)>>3];f=c;d=1.0;while(1){h[g+(f<<4)+8>>3]=d;e=f+-1|0;if((f|0)<=0){d=t;e=0;f=0;break}h[g+(e<<4)>>3]=+h[b+(e<<4)>>3];i=+h[(+h[b+(f<<4)+8>>3]>d?b:g)+(f<<4)+8>>3];f=e;d=i}while(1){if((f|0)>(c|0))break;i=+h[g+(f<<4)>>3]*+h[g+(f<<4)+8>>3];b=i>3];h[a>>3]=+h[g+(e<<4)>>3];h[a+8>>3]=i;return}else Aa(93897,93835,832,93917)}function Ur(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3];d=+h[b>>3];if(!(cd)){d=+h[a+8>>3];c=+h[b+8>>3];if(dc&1}else a=1;else a=-1;return a|0}function Vr(a,b,d){a=a|0;b=b|0;d=d|0;d=l;l=l+16|0;b=d;c[b>>2]=93932;dA(1,93982,b)|0;l=d;return 0}function Wr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=l;l=l+16|0;d=e;c[d>>2]=93932;dA(1,94010,d)|0;l=e;return 0}function Xr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a:do switch(d|0){case 2:{e=IK(16)|0;f=IK(24)|0;c[f+8>>2]=0;c[f+4>>2]=e;c[f>>2]=2;c[e>>2]=0;c[e+4>>2]=1;d=e+8|0;c[f+16>>2]=d;c[f+20>>2]=0;c[f+12>>2]=2;c[d>>2]=1;c[e+12>>2]=0;break}case 1:{e=IK(4)|0;f=IK(12)|0;c[f+8>>2]=0;c[f+4>>2]=e;c[f>>2]=1;c[e>>2]=0;break}default:{Vr(0,0,0)|0;a=(d|0)>0;if(!e){if(!a){f=0;break a}_a()}else{if(!a){f=0;break a}_a()}}}while(0);return f|0}function Yr(a){a=a|0;var b=0;if(a|0){b=c[a+4>>2]|0;if(b|0)l6(b);b=c[a+8>>2]|0;if(b|0)l6(b);l6(a)}return}function Zr(a){a=a|0;var b=0;if(a|0){b=c[a+4>>2]|0;if(b|0)l6(b);b=c[a+8>>2]|0;if(b|0)l6(b);b=c[a+16>>2]|0;if(b|0)l6(b);l6(a)}return}function _r(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;m=o;k=n6(c[46891]|0,d<<2)|0;c[46891]=k;f=0;while(1){if((f|0)>=(d|0))break;c[e+(f<<2)>>2]=2147483647;f=f+1|0}c[e+(a<<2)>>2]=0;h=b+(a*20|0)|0;i=b+(a*20|0)+8|0;j=b+(a*20|0)+4|0;f=1;while(1){if((f|0)>=(c[h>>2]|0))break;c[e+(c[(c[j>>2]|0)+(f<<2)>>2]<<2)>>2]=~~+g[(c[i>>2]|0)+(f<<2)>>2];f=f+1|0}$r(n,a,k,e,d);i=-2147483639;while(1){if(!((as(n,m,c[46891]|0,e)|0)<<24>>24)){f=0;break}f=c[m>>2]|0;a=c[e+(f<<2)>>2]|0;if((a|0)==2147483647){f=0;break}i=b+(f*20|0)|0;j=b+(f*20|0)+4|0;h=b+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(c[i>>2]|0))break;bs(n,c[(c[j>>2]|0)+(f<<2)>>2]|0,~~+g[(c[h>>2]|0)+(f<<2)>>2]+a|0,c[46891]|0,e);f=f+1|0}i=a+10|0}while(1){if((f|0)>=(d|0))break;h=e+(f<<2)|0;if((c[h>>2]|0)==2147483647)c[h>>2]=i;f=f+1|0}cs(n);l=o;return}function $r(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=f+-1|0;if((f|0)==1)i=0;else i=IK(j<<2)|0;c[a>>2]=i;c[a+4>>2]=j;g=0;h=0;while(1){if((h|0)>=(f|0))break;if((h|0)!=(b|0)){c[i+(g<<2)>>2]=h;c[d+(h<<2)>>2]=g;g=g+1|0}h=h+1|0}g=(j|0)/2|0;while(1){if((g|0)<=-1)break;ds(a,g,d,e);g=g+-1|0}return}function as(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+4|0;if(!(c[f>>2]|0))a=0;else{g=c[a>>2]|0;c[b>>2]=c[g>>2];b=c[g+((c[f>>2]|0)+-1<<2)>>2]|0;c[g>>2]=b;c[d+(b<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+-1;ds(a,0,d,e);a=1}return a|0}function bs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=f+(b<<2)|0;if((c[g>>2]|0)>(d|0)){k=e+(b<<2)|0;j=c[k>>2]|0;c[g>>2]=d;g=c[a>>2]|0;a=j;while(1){h=g+(a<<2)|0;if((a|0)<=0)break;i=a>>>1;j=c[g+(i<<2)>>2]|0;if((c[f+(j<<2)>>2]|0)<=(d|0))break;c[h>>2]=j;c[e+(j<<2)>>2]=a;a=i}c[h>>2]=b;c[k>>2]=a}return}function cs(a){a=a|0;a=c[a>>2]|0;if(a|0)l6(a);return}function ds(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+4|0;while(1){f=b<<1;g=f|1;h=c[i>>2]|0;if(!((f|0)<(h|0)?(j=c[a>>2]|0,(c[e+(c[j+(f<<2)>>2]<<2)>>2]|0)<(c[e+(c[j+(b<<2)>>2]<<2)>>2]|0)):0))f=b;if((g|0)<(h|0)){j=c[a>>2]|0;f=(c[e+(c[j+(g<<2)>>2]<<2)>>2]|0)<(c[e+(c[j+(f<<2)>>2]<<2)>>2]|0)?g:f}if((f|0)==(b|0))break;j=c[a>>2]|0;h=j+(f<<2)|0;g=c[h>>2]|0;j=j+(b<<2)|0;c[h>>2]=c[j>>2];c[j>>2]=g;c[d+(c[h>>2]<<2)>>2]=f;c[d+(c[j>>2]<<2)>>2]=b;b=f}return}function es(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;m=p+8|0;n=p;c[n>>2]=0;o=IK(d<<2)|0;f=0;while(1){if((f|0)>=(d|0))break;g[e+(f<<2)>>2]=3402823466385288598117041.0e14;f=f+1|0}g[e+(a<<2)>>2]=0.0;h=c[b+(a*20|0)>>2]|0;i=b+(a*20|0)+8|0;j=b+(a*20|0)+4|0;f=1;while(1){if((f|0)>=(h|0))break;c[e+(c[(c[j>>2]|0)+(f<<2)>>2]<<2)>>2]=c[(c[i>>2]|0)+(f<<2)>>2];f=f+1|0}fs(m,a,o,e,d);a:while(1){if(!((gs(m,n,o,e)|0)<<24>>24))break;f=c[n>>2]|0;k=+g[e+(f<<2)>>2];if(k==3402823466385288598117041.0e14)break;i=b+(f*20|0)|0;j=b+(f*20|0)+4|0;h=b+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(c[i>>2]|0))continue a;hs(m,c[(c[j>>2]|0)+(f<<2)>>2]|0,k+ +g[(c[h>>2]|0)+(f<<2)>>2],o,e);f=f+1|0}}cs(m);l6(o);l=p;return}function fs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=f+-1|0;j=IK(i<<2)|0;c[a>>2]=j;c[a+4>>2]=i;g=0;h=0;while(1){if((h|0)>=(f|0))break;if((h|0)!=(b|0)){c[j+(g<<2)>>2]=h;c[d+(h<<2)>>2]=g;g=g+1|0}h=h+1|0}g=(i|0)/2|0;while(1){if((g|0)<=-1)break;is(a,g,d,e);g=g+-1|0}return}function gs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+4|0;if(!(c[f>>2]|0))a=0;else{g=c[a>>2]|0;c[b>>2]=c[g>>2];b=c[g+((c[f>>2]|0)+-1<<2)>>2]|0;c[g>>2]=b;c[d+(b<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+-1;is(a,0,d,e);a=1}return a|0}function hs(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0;h=f+(b<<2)|0;if(!(+g[h>>2]<=d)){l=e+(b<<2)|0;k=c[l>>2]|0;g[h>>2]=d;h=c[a>>2]|0;a=k;while(1){i=h+(a<<2)|0;if((a|0)<=0)break;j=a>>>1;k=c[h+(j<<2)>>2]|0;if(!(+g[f+(k<<2)>>2]>d))break;c[i>>2]=k;c[e+(k<<2)>>2]=a;a=j}c[i>>2]=b;c[l>>2]=a}return}function is(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=a+4|0;while(1){f=b<<1;h=f|1;i=c[j>>2]|0;if(!((f|0)<(i|0)?(k=c[a>>2]|0,+g[e+(c[k+(f<<2)>>2]<<2)>>2]<+g[e+(c[k+(b<<2)>>2]<<2)>>2]):0))f=b;if((h|0)<(i|0)?(k=c[a>>2]|0,+g[e+(c[k+(h<<2)>>2]<<2)>>2]<+g[e+(c[k+(f<<2)>>2]<<2)>>2]):0)f=h;if((f|0)==(b|0))break;k=c[a>>2]|0;i=k+(f<<2)|0;h=c[i>>2]|0;k=k+(b<<2)|0;c[i>>2]=c[k>>2];c[k>>2]=h;c[d+(c[i>>2]<<2)>>2]=f;c[d+(c[k>>2]<<2)>>2]=b;b=f}return}function js(){cu(187568,48);c[46895]=0;return}function ks(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0,i=0.0;g=eu(187568)|0;c[g+32>>2]=a;c[g+36>>2]=b;Mu(a);Mu(b);c[g+24>>2]=0;c[g+28>>2]=0;i=+h[a>>3];f=+h[b>>3]-i;e=+h[a+8>>3];d=+h[b+8>>3]-e;b=g+16|0;h[b>>3]=i*f+e*d+(f*f+d*d)*.5;a=g+8|0;if((f>0.0?f:-f)>(d>0.0?d:-d)){h[g>>3]=1.0;e=d/f;d=f}else{h[a>>3]=1.0;e=f/d;a=g}h[a>>3]=e;h[b>>3]=+h[b>>3]/d;b=c[46895]|0;c[g+40>>2]=b;c[46895]=b+1;return g|0}function ls(a){a=a|0;var b=0.0,d=0.0,e=0,f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0;r=+h[a>>3];l=r==1.0;q=a+8|0;e=c[a+28>>2]|0;f=c[a+24>>2]|0;if(l?+h[q>>3]>=0.0:0)p=f;else{p=e;e=f}f=(e|0)!=0;n=(p|0)!=0;t=a+16|0;o=p+8|0;k=e+8|0;a:do if(l){do if(f){d=+h[k>>3];if(d>+h[23285])break a;g=+h[23286];if(!(d>=g)){d=g;b=+h[t>>3]-g*+h[q>>3];break}else{b=+h[e>>3];break}}else{g=+h[23286];d=g;b=+h[t>>3]-g*+h[q>>3]}while(0);do if(n){i=+h[o>>3];if(i>3]-g*+h[q>>3];break}else{g=+h[p>>3];break}}else{g=+h[23285];i=g;g=+h[t>>3]-g*+h[q>>3]}while(0);j=+h[23287];e=b>j;f=g>j;m=+h[23288];if(!(e&f|b>3]-j)/+h[q>>3];b=j}if(b>3]-m)/+h[q>>3];b=m}if(f){i=(+h[t>>3]-j)/+h[q>>3];g=j}if(g>3]-m)/+h[q>>3];g=m;s=47}else s=47}}else{do if(f){b=+h[e>>3];if(b>+h[23287])break a;i=+h[23288];if(!(b>=i)){d=+h[t>>3]-r*i;b=i;break}else{d=+h[k>>3];break}}else{i=+h[23288];d=+h[t>>3]-r*i;b=i}while(0);do if(n){g=+h[p>>3];if(g>3]-r*j;g=j;break}else{i=+h[o>>3];break}}else{g=+h[23287];i=+h[t>>3]-r*g}while(0);j=+h[23285];e=d>j;f=i>j;m=+h[23286];if(!(e&f|d>3]-j)/r}if(d>3]-m)/r}if(f){i=j;g=(+h[t>>3]-j)/r}if(i>3]-m)/r;s=47}else s=47}}while(0);if((s|0)==47)ms(a,b,d,g,i);return}function ms(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=+f;var g=0;g=a+32|0;Ts(c[g>>2]|0,b,d);Ts(c[g>>2]|0,e,f);a=a+36|0;Ts(c[a>>2]|0,b,d);Ts(c[a>>2]|0,e,f);return}function ns(a,b,d){a=a|0;b=b|0;d=d|0;c[a+24+(b<<2)>>2]=d;Mu(d);if(c[a+24+(1-b<<2)>>2]|0){ls(a);Lu(c[a+32>>2]|0);Lu(c[a+36>>2]|0);fu(a,187568)}return}function os(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+16|0;o=p;m=b<<2;h=IK(S(m,d)|0)|0;g=c[e>>2]|0;m=IK(m)|0;n=c[a+8>>2]|0;if(g|0){l6(c[g>>2]|0);l6(g)}k=IK(d<<2)|0;c[e>>2]=k;g=0;while(1){if((g|0)>=(d|0))break;c[k+(g<<2)>>2]=h+((S(g,b)|0)<<2);g=g+1|0}j=(f|0)!=0;if(j)at(a,b);e=(U4()|0)%(b|0)|0;rr(o,b);g=c[k>>2]|0;if(j){_r(e,a,b,g);f=0;g=0}else{nr(e,a,b,g,o);f=0;g=0}while(1){if((g|0)>=(b|0)){i=1;break}h=c[(c[k>>2]|0)+(g<<2)>>2]|0;c[m+(g<<2)>>2]=h;i=(h|0)>(f|0);f=i?h:f;e=i?g:e;g=g+1|0}while(1){if((i|0)>=(d|0))break;h=k+(i<<2)|0;g=c[h>>2]|0;if(j){_r(e,a,b,g);g=0;f=0}else{nr(e,a,b,g,o);g=0;f=0}while(1){if((g|0)>=(b|0))break;s=m+(g<<2)|0;q=c[s>>2]|0;r=c[(c[h>>2]|0)+(g<<2)>>2]|0;r=(q|0)<(r|0)?q:r;c[s>>2]=r;s=(r|0)>(f|0);q=s?g:e;g=g+1|0;f=s?r:f;e=q}i=i+1|0}l6(m);if(j)bt(a,b,n);l=p;return}function ps(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0.0,j=0,k=0;i=+(b|0);h=0;while(1){if((h|0)>=(d|0))break;j=a+(h<<2)|0;e=0.0;f=0;while(1){if((f|0)>=(b|0))break;e=e+ +(c[(c[j>>2]|0)+(f<<2)>>2]|0);f=f+1|0}g=~~(e/i);f=0;while(1){if((f|0)>=(b|0))break;k=(c[j>>2]|0)+(f<<2)|0;c[k>>2]=(c[k>>2]|0)-g;f=f+1|0}h=h+1|0}return}function qs(){c[46897]=~~+G(+(+((c[46896]|0)+4|0)));return}function rs(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3]-+h[b>>3];c=+h[a+8>>3]-+h[b+8>>3];return +(d*d+c*c)}function ss(a,b,c){a=a|0;b=b|0;c=c|0;h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=+h[b+8>>3]-+h[c+8>>3];return}function ts(a,b,c){a=a|0;b=b|0;c=c|0;h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=+h[b+8>>3]+ +h[c+8>>3];return}function us(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[b+8>>3];d=+h[b>>3];return +((+h[a+8>>3]-e)*(+h[c>>3]-d)-(+h[c+8>>3]-e)*(+h[a>>3]-d))}function vs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+48|0;f=e+32|0;g=e+16|0;h=e;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];d=+us(h,g,f)>0.0&1;l=e;return d|0}function ws(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;o=+h[a>>3];p=+h[d+8>>3];q=+h[c+8>>3];m=o*(p-q);n=+h[b>>3];l=+h[d>>3];k=+h[b+8>>3];i=+h[a+8>>3];j=k-i;f=+h[c>>3];g=f*(i-k)+(m+n*(q-p)+l*j);if(g==0.0)d=0;else{p=(l*(q-i)+(m+f*(i-p)))/g;q=-(f*j+(o*(q-k)+n*(i-q)))/g;h[e>>3]=o+(n-o)*p;h[e+8>>3]=i+j*p;d=q<=1.0&(q>=0.0&(p>=0.0&p<=1.0))&1}return d|0}function xs(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,g=0,i=0;c[a+20>>2]=b;Mu(b);i=a+24|0;h[i>>3]=+h[b+8>>3]+d;e=c[46898]|0;e=e+((ys(a)|0)*40|0)|0;while(1){g=e+32|0;e=c[g>>2]|0;if(!e){e=0;break}d=+h[i>>3];f=+h[e+24>>3];if(d>f)continue;if(!(d==f))break;if(!(+h[b>>3]>+h[c[e+20>>2]>>3]))break}c[a+32>>2]=e;c[g>>2]=a;c[46899]=(c[46899]|0)+1;return}function ys(a){a=a|0;var b=0.0,d=0,e=0.0;d=c[46900]|0;e=+(d|0);b=(+h[a+24>>3]-+h[23293])/+h[23296]*e;do if(!(b<0.0))if(!(b>=e)){a=~~b;break}else{a=d+-1|0;break}else a=0;while(0);if((a|0)<(c[46901]|0))c[46901]=a;return a|0}function zs(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;if(c[d>>2]|0){b=c[46898]|0;b=b+((ys(a)|0)*40|0)|0;do{e=b+32|0;b=c[e>>2]|0}while((b|0)!=(a|0));c[e>>2]=c[a+32>>2];c[46899]=(c[46899]|0)+-1;Lu(c[d>>2]|0);c[d>>2]=0}return}function As(){return (c[46899]|0)==0|0}function Bs(a){a=a|0;var b=0,d=0,e=0,f=0.0;b=c[46898]|0;d=c[46901]|0;while(1){e=c[b+(d*40|0)+32>>2]|0;if(e|0)break;e=d+1|0;c[46901]=e;d=e}f=+h[e+24>>3];h[a>>3]=+h[c[e+20>>2]>>3];h[a+8>>3]=f;return}function Cs(){var a=0,b=0;b=(c[46898]|0)+((c[46901]|0)*40|0)+32|0;a=c[b>>2]|0;c[b>>2]=c[a+32>>2];c[46899]=(c[46899]|0)+-1;return a|0}function Ds(){l6(c[46898]|0);c[46898]=0;return}function Es(){var a=0,b=0,d=0;c[46899]=0;c[46901]=0;a=c[46897]|0;b=a<<2;c[46900]=b;d=c[46898]|0;if(!d){d=IK(a*160|0)|0;c[46898]=d;b=c[46900]|0}a=0;while(1){if((a|0)>=(b|0))break;c[d+(a*40|0)+32>>2]=0;a=a+1|0}return}function Fs(){cu(187616,40);l6(c[46907]|0);c[46907]=0;return}function Gs(){var a=0,b=0,d=0;cu(187616,40);a=c[46897]|0;b=a<<1;c[46908]=b;d=c[46907]|0;if(!d){d=IK(a<<3)|0;c[46907]=d;b=c[46908]|0}a=0;while(1){if((a|0)>=(b|0))break;c[d+(a<<2)>>2]=0;a=a+1|0}c[46902]=Hs(0,0)|0;c[46903]=Hs(0,0)|0;c[c[46902]>>2]=0;d=c[46903]|0;b=c[46902]|0;c[b+4>>2]=d;c[d>>2]=b;c[(c[46903]|0)+4>>2]=0;d=c[46907]|0;c[d>>2]=c[46902];c[d+((c[46908]|0)+-1<<2)>>2]=c[46903];return}function Hs(b,d){b=b|0;d=d|0;var e=0;e=eu(187616)|0;c[e+8>>2]=b;a[e+16>>0]=d;c[e+32>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;return e|0}function Is(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0;i=c[b+8>>2]|0;k=c[d+8>>2]|0;do if((!((i|0)==0|(k|0)==0)?(o=c[i+36>>2]|0,e=c[k+36>>2]|0,(o|0)!=(e|0)):0)?(j=+h[i>>3],f=+h[k+8>>3],g=+h[i+8>>3],l=+h[k>>3],m=j*f-g*l,!(m>-1.0e-10&m<1.0e-10)):0){p=+h[i+16>>3];q=+h[k+16>>3];n=(f*p-g*q)/m;j=(j*q-l*p)/m;f=+h[o+8>>3];g=+h[e+8>>3];do if(f>3]<+h[e>>3]:0){e=o;break}b=d}while(0);b=a[b+16>>0]|0;if(!(n>=+h[e>>3])){if(b<<24>>24==1){b=0;break}}else if(!(b<<24>>24)){b=0;break}b=Iu()|0;c[b+20>>2]=0;h[b>>3]=n;h[b+8>>3]=j}else b=0;while(0);return b|0}function Js(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0;o=c[b+8>>2]|0;i=c[o+36>>2]|0;m=+h[d>>3];p=+h[i>>3];n=m>p;e=a[b+16>>0]|0;b=n^1;q=e<<24>>24!=0;if(q|b)if(e<<24>>24==1&b)b=0;else{g=+h[o>>3];b=o+16|0;j=+h[d+8>>3];f=+h[i+8>>3];k=m-p;l=k*k;do if(g==1.0){f=j-f;g=+h[o+8>>3];e=g<0.0;if(n?g>=0.0:e){b=f>=k*g;if(b){b=b&1;break}}else{b=e^m+j*g>+h[b>>3];if(!b){b=b&1;break}}p=p-+h[c[o+32>>2]>>3];b=(l-f*f)*g>3]-m*g;m=j-p;p=p-f;b=m*m>l+p*p&1}while(0);b=b^q&1}else b=1;return b|0}function Ks(a,b){a=a|0;b=b|0;c[b>>2]=a;a=a+4|0;c[b+4>>2]=c[a>>2];c[c[a>>2]>>2]=b;c[a>>2]=b;return}function Ls(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[46908]|0;b=~~((+h[a>>3]-+h[23291])/+h[23295]*+(f|0));b=(b|0)>0?b:0;f=(b|0)<(f|0)?b:f+-1|0;b=Ms(f)|0;if(!b){d=1;while(1){b=Ms(f-d|0)|0;if(b|0)break;b=Ms(d+f|0)|0;if(b|0)break;d=d+1|0}c[46909]=(c[46909]|0)+d}c[46910]=(c[46910]|0)+1;e=c[46902]|0;d=c[46903]|0;a:do if((b|0)==(e|0))g=9;else{if((b|0)!=(d|0)?(Js(b,a)|0)!=0:0){g=9;break}while(1){b=c[b>>2]|0;if((b|0)==(e|0))break a;if(Js(b,a)|0){e=b;break}}}while(0);if((g|0)==9){while(1){b=c[b+4>>2]|0;if((b|0)==(d|0))break;if(!(Js(b,a)|0))break;else g=9}e=c[b>>2]|0}if((f|0)>0?(f|0)<((c[46908]|0)+-1|0):0){b=(c[46907]|0)+(f<<2)|0;d=c[b>>2]|0;if(d|0){g=d+12|0;c[g>>2]=(c[g>>2]|0)+-1}c[b>>2]=e;g=e+12|0;c[g>>2]=(c[g>>2]|0)+1}return e|0}function Ms(a){a=a|0;var b=0,d=0;if((a|0)>-1&(c[46908]|0)>(a|0)?(d=(c[46907]|0)+(a<<2)|0,b=c[d>>2]|0,(b|0)!=0):0){if((c[b+8>>2]|0)==(-2|0)){c[d>>2]=0;a=b+12|0;d=(c[a>>2]|0)+-1|0;c[a>>2]=d;if(!d){fu(b,187616);b=0}else b=0}}else b=0;return b|0}function Ns(a){a=a|0;var b=0,d=0;b=a+4|0;d=c[a>>2]|0;c[d+4>>2]=c[b>>2];c[c[b>>2]>>2]=d;c[a+8>>2]=-2;return}function Os(a){a=a|0;return c[a+4>>2]|0}function Ps(a){a=a|0;return c[a>>2]|0}function Qs(b){b=b|0;var d=0;d=c[b+8>>2]|0;if(!d)b=187840;else b=d+32+(((a[b+16>>0]|0)!=0&1)<<2)|0;return c[b>>2]|0}function Rs(b){b=b|0;var d=0;d=c[b+8>>2]|0;if(!d)b=187840;else b=d+32+(((a[b+16>>0]|0)==0&1)<<2)|0;return c[b>>2]|0}function Ss(){cu(187648,24);return}function Ts(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;i=j;g=(c[46911]|0)+((c[a+16>>2]|0)*96|0)+88|0;f=c[g>>2]|0;h[i+8>>3]=b;h[i+16>>3]=d;e=Us(a,i,f)|0;do if(e|0){if((e|0)<0){i=eu(187648)|0;h[i+8>>3]=b;h[i+16>>3]=d;c[i>>2]=f;c[g>>2]=i;break}while(1){e=c[f>>2]|0;g=Us(a,i,e)|0;if((g|0)>0)f=e;else break}if(g|0){i=eu(187648)|0;h[i+8>>3]=b;h[i+16>>3]=d;c[f>>2]=i;c[i>>2]=e}}while(0);l=j;return}function Us(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0;do if(c){e=+h[b+8>>3];g=+h[c+8>>3];d=+h[b+16>>3];f=+h[c+16>>3];if(!(e==g&d==f)){k=+h[a>>3];j=e-k;e=+h[a+8>>3];i=d-e;g=g-k;f=f-e;d=f/g;e=i/j;b=e=0.0)){a=g>=0.0;b=a|b;b=e>d|b?(b?(a?1:-1):1):j>g?-1:1;break}if(!(g<0.0)){c=g>0.0;if(j>0.0)if(c)return (e==e&d==d&e!=d?(b?-1:1):j0.0?-1:1;break}b=i<=0.0;if(c){b=b?-1:1;break}if(i>2]|0;d=a+(d*20|0)+4|0;b=1;a=0;while(1){if((b|0)>=(f|0))break;g=((c[e+(c[(c[d>>2]|0)+(b<<2)>>2]<<2)>>2]|0)>0&1)+a|0;b=b+1|0;a=g}return a|0}function Ws(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+(b*20|0)|0;b=a+(b*20|0)+4|0;a=1;while(1){if((a|0)>=(c[e>>2]|0))break;c[d+(c[(c[b>>2]|0)+(a<<2)>>2]<<2)>>2]=1;a=a+1|0}return}function Xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+(b*20|0)|0;b=a+(b*20|0)+4|0;a=1;while(1){if((a|0)>=(c[e>>2]|0))break;c[d+(c[(c[b>>2]|0)+(a<<2)>>2]<<2)>>2]=0;a=a+1|0}return}function Ys(a,b){a=a|0;b=b|0;if(!(c[a+8>>2]|0))a=_s(a,b)|0;else a=Zs(a,b)|0;return a|0}function Zs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=b<<2;e=IK(S(f,b)|0)|0;f=IK(f)|0;d=0;while(1){if((d|0)>=(b|0)){d=0;break}c[f+(d<<2)>>2]=e+((S(d,b)|0)<<2);d=d+1|0}while(1){if((d|0)>=(b|0))break;_r(d,a,b,c[f+(d<<2)>>2]|0);d=d+1|0}return f|0}function _s(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=b<<2;e=IK(S(g,b)|0)|0;g=IK(g)|0;d=0;while(1){if((d|0)>=(b|0))break;c[g+(d<<2)>>2]=e+((S(d,b)|0)<<2);d=d+1|0}rr(f,b);d=0;while(1){if((d|0)>=(b|0))break;nr(d,a,b,c[g+(d<<2)>>2]|0,f);d=d+1|0}sr(f);l=h;return g|0}function $s(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a+8>>2]|0;at(a,b);d=Zs(a,b)|0;bt(a,b,e);return d|0}function at(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=IK(b<<2)|0;d=0;e=0;while(1){if((d|0)>=(b|0))break;k=(c[a+(d*20|0)>>2]|0)+e|0;d=d+1|0;e=k}e=IK(e<<2)|0;d=0;while(1){if((d|0)>=(b|0))break;c[l+(d<<2)>>2]=0;d=d+1|0}f=0;while(1){if((f|0)>=(b|0))break;c[a+(f*20|0)+8>>2]=e;Ws(a,f,l);h=a+(f*20|0)|0;i=c[h>>2]|0;j=a+(f*20|0)+4|0;k=i+-2|0;d=1;while(1){if((d|0)>=(i|0))break;m=c[(c[j>>2]|0)+(d<<2)>>2]|0;n=c[a+(m*20|0)>>2]|0;g[e+(d<<2)>>2]=+(k+n-((Vs(a,0,m,l)|0)<<1)|0);d=d+1|0}Xs(a,f,l);e=e+(c[h>>2]<<2)|0;f=f+1|0}l6(l);return}function bt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+8|0;l6(c[e>>2]|0);c[e>>2]=0;a:do if(d|0){e=0;while(1){if((e|0)>=(b|0))break a;c[a+(e*20|0)+8>>2]=d;f=d+(c[a+(e*20|0)>>2]<<2)|0;e=e+1|0;d=f}}while(0);return}function ct(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0;f=0;g=0.0;while(1){if((f|0)>=(b|0))break;j=c[a+(f<<2)>>2]|0;i=+h[j+(d<<3)>>3]-+h[j+(e<<3)>>3];f=f+1|0;g=g+i*i}return +(+G(+g))}function dt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e|0)>(d|0)){c[46915]=a;k3(b+(d<<2)|0,1-d+e|0,4,77)}return}function et(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[46915]|0;e=+g[f+(c[a>>2]<<2)>>2];d=+g[f+(c[b>>2]<<2)>>2];return (ed&1)|0}function ft(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;if((d|0)<(e|0)){gt(a,b,d,e,f);g=c[f>>2]|0;f=g+-1|0;ft(a,b,d,f);g=g+1|0;ft(a,b,g,e);if(!(ht(a,b,d,f)|0))ft(a,b,d,f);if(!(ht(a,b,g,e)|0))ft(a,b,g,e)}l=h;return}function gt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0.0;k=U4()|0;k=b+(((((U4()|0)<<16|k)>>>0)%((1-d+e|0)>>>0)|0)+d<<2)|0;l=c[k>>2]|0;m=b+(d<<2)|0;c[k>>2]=c[m>>2];c[m>>2]=l;n=+h[a+(l<<3)>>3];d=d+1|0;a:while(1){if((d|0)>=(e|0))break;while(1){j=d+1|0;k=b+(d<<2)|0;if((d|0)>=(e|0))break;if(!(+h[a+(c[k>>2]<<3)>>3]<=n))break;else d=j}while(1){i=b+(e<<2)|0;g=e;e=e+-1|0;if((d|0)>=(g|0)){e=g;continue a}g=c[i>>2]|0;if(!(+h[a+(g<<3)>>3]>n))break}d=c[k>>2]|0;c[k>>2]=g;c[i>>2]=d;d=j}a=((+h[a+(c[b+(d<<2)>>2]<<3)>>3]>n)<<31>>31)+d|0;c[f>>2]=a;f=b+(a<<2)|0;c[m>>2]=c[f>>2];c[f>>2]=l;return}function ht(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=1;while(1){f=d+1|0;if(!((d|0)<(e|0)&(g|0)!=0))break;g=+h[a+(c[b+(d<<2)>>2]<<3)>>3]>+h[a+(c[b+(f<<2)>>2]<<3)>>3]?0:g;d=f}return g|0}function it(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=l;l=l+16|0;v=4;w=k6(40)|0;c[w>>2]=0;t=x;o=0;u=la(23,b*40|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,w|0,v|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)!=1){d=0;r=0;while(1){if((d|0)>=(b|0))break;s=(c[(c[a+(d<<2)>>2]|0)+4>>2]|0)+r|0;d=d+1|0;r=s}o=0;s=la(23,r*24|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,w|0,v|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)!=1){d=0;m=0;while(1){if((m|0)>=(b|0))break;n=u+(m*40|0)|0;c[n>>2]=s+(d*24|0);q=a+(m<<2)|0;f=0;g=1797693134862315708145274.0e284;i=-1797693134862315708145274.0e284;j=-1797693134862315708145274.0e284;k=1797693134862315708145274.0e284;while(1){e=c[q>>2]|0;if((f|0)>=(c[e+4>>2]|0))break;e=c[e>>2]|0;z=+h[e+(f<<4)>>3];y=+h[e+(f<<4)+8>>3];h[s+(d*24|0)>>3]=z;h[s+(d*24|0)+8>>3]=y;c[s+(d*24|0)+16>>2]=n;c[s+(d*24|0)+20>>2]=0;f=f+1|0;d=d+1|0;g=gz?i:z;j=j>y?j:y;k=k>2]=s+((d+-1|0)*24|0);h[u+(m*40|0)+8>>3]=g;h[u+(m*40|0)+16>>3]=k;h[u+(m*40|0)+24>>3]=i;h[u+(m*40|0)+32>>3]=j;m=m+1|0}c[t>>2]=r;c[t+4>>2]=b;w=x6(187664,1,w|0,v|0)|0;v=D;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,w|0,v|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;q=s;m=s;n=u}else{d=0;q=s;m=s;n=u}}else{d=D;q=0;m=s;n=u}}else{d=D;q=0;m=0;n=0}while(1){if(d|0){o=0;$(105,u|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,w|0,v|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){f=n;r=m;s=q;d=D;n=f;m=r;q=s;continue}o=0;$(105,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,w|0,v|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){f=n;r=m;s=q;d=D;n=f;m=r;q=s;continue}else{e=17;break}}o=0;d=ra(78,q|0,t|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,v|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=D;n=f;m=r;q=s;continue}if(!d){o=0;d=aa(27,a|0,b|0,n|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,v|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=D;n=f;m=r;q=s;continue}}o=0;$(105,u|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,v|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=D;n=f;m=r;q=s;continue}o=0;$(105,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,v|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=D;n=f;m=r;q=s}else{e=24;break}}if((e|0)==17)d=0;else if((e|0)==24)d=(d|0)==0&1;l6(w|0);l=x;return d|0}function jt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;r=w;p=w+8|0;q=w+4|0;c[b+8>>2]=0;v=IK(c[b>>2]<<2)|0;f=c[b>>2]|0;e=0;while(1){if((e|0)>=(f|0))break;c[v+(e<<2)>>2]=a+(e*24|0);e=e+1|0}k3(v,f,4,79);n=0;g=0;f=0;h=0;a:while(1){if((n|0)>=(c[b>>2]|0)){t=0;d=g;u=h;break}o=v+(n<<2)|0;e=c[o>>2]|0;c[p>>2]=e;a=c[e+16>>2]|0;if((e|0)==(c[a>>2]|0))e=c[a+4>>2]|0;else e=e+-24|0;c[q>>2]=e;m=0;a=g;k=h;while(1){if((m|0)>=2)break;j=e+20|0;switch(lt(p,q)|0){case -1:{g=0;h=a;while(1){if((g|0)>=(k|0))break;i=mt(c[h>>2]|0,e)|0;if(i|0){t=i;d=a;u=k;break a}g=g+1|0;h=c[h+4>>2]|0}g=IK(12)|0;if(!k){f=0;a=g}else c[f+4>>2]=g;c[g+8>>2]=f;c[g>>2]=e;c[g+4>>2]=0;c[j>>2]=g;h=a;f=g;g=k+1|0;break}case 1:{g=c[j>>2]|0;if(!g){s=19;break a}do if((k|0)!=1){if((g|0)==(a|0)){a=c[a+4>>2]|0;c[a+8>>2]=0;e=f;break}if((g|0)==(f|0)){e=c[f+8>>2]|0;c[e+4>>2]=0;break}else{e=g+4|0;i=c[g+8>>2]|0;c[i+4>>2]=c[e>>2];c[(c[e>>2]|0)+8>>2]=i;e=f;break}}else{a=0;e=0}while(0);l6(g);c[j>>2]=0;h=a;f=e;g=k+-1|0;break}default:{h=a;g=k}}e=c[o>>2]|0;a=c[e+16>>2]|0;if((e|0)==(c[a+4>>2]|0))a=c[a>>2]|0;else a=e+24|0;c[q>>2]=a;m=m+1|0;a=h;k=g}n=n+1|0;g=a;h=k}if((s|0)==19){dA(1,94028,r)|0;Ca(187664,1)}e=0;while(1){if((e|0)>=(u|0))break;s=c[d+4>>2]|0;l6(d);e=e+1|0;d=s}l6(v);l=w;return t|0}function kt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0.0;G=l;l=l+48|0;s=G+16|0;r=G+32|0;y=G;e=0;a:while(1){if((e|0)>=(b|0)){e=0;break}C=c[a+(e<<2)>>2]|0;D=c[C>>2]|0;c[y>>2]=c[D>>2];c[y+4>>2]=c[D+4>>2];c[y+8>>2]=c[D+8>>2];c[y+12>>2]=c[D+12>>2];D=e+1|0;E=d+(e*40|0)+8|0;t=d+(e*40|0)+16|0;u=d+(e*40|0)+32|0;g=d+(e*40|0)+24|0;e=D;while(1){if((e|0)>=(b|0)){e=D;continue a}i=c[a+(e<<2)>>2]|0;j=+h[E>>3];k=+h[d+(e*40|0)+24>>3];m=d+(e*40|0)+32|0;n=d+(e*40|0)+16|0;o=+h[d+(e*40|0)+8>>3];p=+h[g>>3];q=p>=o;f=!(j<=k);if(((!(f|!(j>=o))?(v=+h[t>>3],w=+h[m>>3],v<=w):0)?(x=+h[n>>3],!(!(p<=k)|!(v>=x)|q^1)):0)?(H=+h[u>>3],!(!(H<=w)|!(H>=x))):0){c[r>>2]=c[i>>2];c[r+4>>2]=c[i+4>>2];c[s>>2]=c[y>>2];c[s+4>>2]=c[y+4>>2];c[s+8>>2]=c[y+8>>2];c[s+12>>2]=c[y+12>>2];if(LX(r,s)|0){e=1;break a}}else F=10;if((((((F|0)==10?(F=0,!(!(o>=j)|q^1)):0)?(z=+h[n>>3],A=+h[u>>3],z<=A):0)?(B=+h[t>>3],!(f|(!(k<=p)|!(z>=B)))):0)?(H=+h[m>>3],!(!(H<=A)|!(H>=B))):0)?(q=c[i>>2]|0,c[r>>2]=c[C>>2],c[r+4>>2]=c[C+4>>2],c[s>>2]=c[q>>2],c[s+4>>2]=c[q+4>>2],c[s+8>>2]=c[q+8>>2],c[s+12>>2]=c[q+12>>2],LX(r,s)|0):0){e=1;break a}e=e+1|0}}l=G;return e|0}function lt(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=c[a>>2]|0;a=c[b>>2]|0;d=+h[e>>3]-+h[a>>3];if(!(d!=0.0)){d=+h[e+8>>3]-+h[a+8>>3];if(d==0.0)a=0;else a=d>0.0?1:-1}else a=d>0.0?1:-1;return a|0}function mt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;g=m+32|0;i=m+24|0;j=m+16|0;k=m;f=m+48|0;nt(a,b,f);d=f+8|0;e=c[d>>2]|0;do if((e|0)>0)d=0;else{if((e|0)<0){nt(b,a,f);d=c[d>>2]|0;if((d|0)>0){d=0;break}if((d|0)<0)d=3;else{d=c[f>>2]|0;d=ot(b,a,(d|0)>-1?d:0-d|0)|0}if(!(pt(a,b,i,j,d)|0)){d=0;break}}else{d=c[f>>2]|0;if((d|0)==(c[f+4>>2]|0)){d=ot(a,b,0)|0;d=(ot(a,b,(d|0)<=(ot(a,b,1)|0)&1)|0)<<1}else d=ot(a,b,(d|0)>-1?d:0-d|0)|0;if(!(pt(a,b,i,j,d)|0)){d=0;break}}h[k>>3]=+h[i>>3];h[k+8>>3]=+h[j>>3];c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];d=qt(a,b,g)|0}while(0);l=m;return d|0}function nt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0;i=+h[a>>3];j=+h[a+8>>3];e=c[a+16>>2]|0;if((c[e+4>>2]|0)==(a|0))a=c[e>>2]|0;else a=a+24|0;g=+h[a>>3]-i;f=+h[a+8>>3]-j;a=c[b+16>>2]|0;if((c[a+4>>2]|0)==(b|0))a=c[a>>2]|0;else a=b+24|0;k=+h[a>>3]-i;l=+h[a+8>>3]-j;j=g*(+h[b+8>>3]-j)-f*(+h[b>>3]-i);b=j==0.0?0:j>0.0?1:-1;c[d>>2]=b;j=g*l-f*k;e=j==0.0?0:j>0.0?1:-1;c[d+4>>2]=e;c[d+8>>2]=S(e,b)|0;return}function ot(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0;k=+h[a>>3];l=+h[a+8>>3];f=c[a+16>>2]|0;if((c[f+4>>2]|0)==(a|0))a=c[f>>2]|0;else a=a+24|0;j=+h[a>>3];i=+h[a+8>>3];do if(d){a=c[b+16>>2]|0;if((c[a+4>>2]|0)==(b|0)){b=c[a>>2]|0;break}else{b=b+24|0;break}}while(0);g=+h[b>>3];e=+h[b+8>>3];if(k==j){if(k==g)b=(st(l,e,i)|0)!=-1;else b=0;b=b&1}else b=st(k,g,j)|0;return b|0}function pt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;a:do if((f|0)<1)g=0;else{q=+h[a>>3];s=+h[a+8>>3];g=c[a+16>>2]|0;if((c[g+4>>2]|0)==(a|0))g=c[g>>2]|0;else g=a+24|0;l=+h[g>>3];j=+h[g+8>>3];p=+h[b>>3];r=+h[b+8>>3];g=c[b+16>>2]|0;if((c[g+4>>2]|0)==(b|0))g=c[g>>2]|0;else g=b+24|0;k=+h[g>>3];i=+h[g+8>>3];n=s-j;o=q-l;b:do switch(f|0){case 3:{m=(r-i)/(p-k);if(q==l){h[d>>3]=q;i=i+(q-k)*m;break b}i=n/o;if(p==k){h[d>>3]=p;i=j+i*(p-l);break b}else{r=r-p*m;q=s-q*i;s=m-i;h[d>>3]=(q-r)/s;i=(q*m-i*r)/s;break b}}case 2:{if((ot(a,b,0)|0)==-1)if((ot(b,a,1)|0)==-1){f=(ot(b,a,0)|0)==-1;l=f?l:q;k=p;j=f?j:s;i=r}else{l=k;k=p;j=i;i=r}else if((ot(a,b,1)|0)!=-1)if((ot(b,a,0)|0)==-1){k=q;i=s}else{g=0;break a}else{l=p;j=r}h[d>>3]=(l+k)*.5;i=(j+i)*.5;break}case 1:if(o*(r-s)==n*(p-q)){h[d>>3]=p;i=r;break b}else{h[d>>3]=k;break b}default:{g=1;break a}}while(0);h[e>>3]=i;g=1}while(0);return g|0}function qt(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;t=l;l=l+16|0;r=t;p=+h[a>>3];q=+h[a+8>>3];f=c[a+16>>2]|0;if((c[f+4>>2]|0)==(a|0))f=c[f>>2]|0;else f=a+24|0;n=+h[f>>3];k=+h[f+8>>3];m=+h[b>>3];o=+h[b+8>>3];f=c[b+16>>2]|0;if((c[f+4>>2]|0)==(b|0))f=c[f>>2]|0;else f=b+24|0;j=+h[f>>3];i=+h[f+8>>3];f=e+8|0;a:do if(!(p!=n&m!=j)){do if(p==n){g=+h[e>>3];if(p==g?q==+h[f>>3]:0)break;if(!(n==g)){s=18;break a}if(!(k==+h[f>>3])){s=18;break a}}while(0);if(m==j){g=+h[e>>3];if(m==g?o==+h[f>>3]:0){f=0;break}if(j==g?i==+h[f>>3]:0)f=0;else s=18}else f=0}else s=18;while(0);if((s|0)==18)if((d[195234]|0)>1){s=c[15715]|0;q=+h[f>>3];h[r>>3]=+h[e>>3];h[r+8>>3]=q;z4(s,94057,r)|0;rt(1,a);rt(2,b);f=1}else f=1;l=t;return f|0}function rt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+48|0;i=j;e=c[15715]|0;f=+h[b>>3];g=+h[b+8>>3];d=c[b+16>>2]|0;if((c[d+4>>2]|0)==(b|0))b=c[d>>2]|0;else b=b+24|0;m=+h[b>>3];k=+h[b+8>>3];c[i>>2]=a;h[i+8>>3]=f;h[i+16>>3]=g;h[i+24>>3]=m;h[i+32>>3]=k;z4(e,94085,i)|0;l=j;return}function st(a,b,c){a=+a;b=+b;c=+c;return (a==b|b==c?0:(a>3]=0.0;e=e+1|0}h[f+(a<<3)>>3]=1.0;sy(c[b+(a<<2)>>2]|0,f,d);a=a+1|0}l6(f);f=0;while(1){if((f|0)>=(d|0)){a=1;break a}e=b+(f<<2)|0;a=0;while(1){if((a|0)==(f|0))break;j=(c[e>>2]|0)+(a<<3)|0;i=+h[j>>3];g=(c[b+(a<<2)>>2]|0)+(f<<3)|0;h[j>>3]=+h[g>>3];h[g>>3]=i;a=a+1|0}f=f+1|0}}while(0);return a|0}function ut(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=b<<3;p=IK(q)|0;q=IK(q)|0;r=b*30|0;n=(d|0)<(b|0)?d:b;o=b+-1|0;m=(g|0)==0;d=0;i=0;a:while(1){if((i|0)>=(n|0))break;k=c[e+(i<<2)>>2]|0;do{b:do if(m)d=0;else{d=0;while(1){if((d|0)==(b|0)){d=0;break b}h[k+(d<<3)>>3]=+((U4()|0)%100|0|0);d=d+1|0}}while(0);while(1){if((d|0)==(i|0))break;g=c[e+(d<<2)>>2]|0;wt(k,0,o,-+vt(g,0,o,k),g);d=d+1|0}j=+xt(k,0,o)}while(j<1.0e-10);yt(k,0,o,1.0/j,k);d=0;do{zt(q,0,o,k);At(a,b,b,k,p);zt(k,0,o,p);g=0;while(1){if((g|0)==(i|0))break;s=c[e+(g<<2)>>2]|0;wt(k,0,o,-+vt(s,0,o,k),s);g=g+1|0}s=d;d=d+1|0;j=+xt(k,0,o);if(!((s|0)<(r|0)&!(j<1.0e-10)))break a;yt(k,0,o,1.0/j,k);l=+vt(k,0,o,q)}while(+F(+l)<.999);h[f+(i<<3)>>3]=j*l;i=i+1|0}while(1){if((i|0)>=(n|0))break;k=c[e+(i<<2)>>2]|0;g=0;while(1){if((g|0)>=(b|0)){g=0;break}h[k+(g<<3)>>3]=+((U4()|0)%100|0|0);g=g+1|0}while(1){if((g|0)>=(i|0))break;s=c[e+(g<<2)>>2]|0;wt(k,0,o,-+vt(s,0,o,k),s);g=g+1|0}yt(k,0,o,1.0/+xt(k,0,o),k);h[f+(i<<3)>>3]=0.0;i=i+1|0}m=n+-1|0;i=0;while(1){if((i|0)>=(m|0))break;a=f+(i<<3)|0;b=i+1|0;j=+h[a>>3];g=i;k=b;while(1){if((k|0)>=(n|0))break;l=+h[f+(k<<3)>>3];s=j>2]|0);s=e+(g<<2)|0;zt(c[k>>2]|0,0,o,c[s>>2]|0);zt(c[s>>2]|0,0,o,p);h[f+(g<<3)>>3]=+h[a>>3];h[a>>3]=j;i=b}l6(p);l6(q);return (d|0)<=(r|0)|0}function vt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0;f=0.0;e=1-b+c|0;d=d+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!e)break;f=f+ +h[c>>3]*+h[d>>3];e=e+-1|0;d=d+8|0;c=c+8|0}return +f}function wt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0;f=1-b+c|0;e=e+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!f)break;h[c>>3]=+h[c>>3]+ +h[e>>3]*d;f=f+-1|0;e=e+8|0;c=c+8|0}return}function xt(a,b,c){a=a|0;b=b|0;c=c|0;return +(+G(+(+vt(a,b,c,a))))}function yt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0;f=1-b+c|0;e=e+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!f)break;h[c>>3]=+h[e>>3]*d;f=f+-1|0;e=e+8|0;c=c+8|0}return}function zt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=1-b+c|0;d=d+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!e)break;h[c>>3]=+h[d>>3];e=e+-1|0;d=d+8|0;c=c+8|0}return}function At(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0;j=0;while(1){if((j|0)>=(b|0))break;k=a+(j<<2)|0;g=0.0;i=0;while(1){if((i|0)>=(d|0))break;g=g+ +h[(c[k>>2]|0)+(i<<3)>>3]*+h[e+(i<<3)>>3];i=i+1|0}h[f+(j<<3)>>3]=g;j=j+1|0}return}function Bt(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0;k=c[i>>2]|0;l=d<<2;j=S(l,f)|0;if(!k){j=k6(j)|0;o=k6(l)|0}else{j=n6(c[k>>2]|0,j)|0;o=n6(k,l)|0}c[i>>2]=o;k=0;while(1){if((k|0)>=(d|0)){l=0;break}c[o+(k<<2)>>2]=j;k=k+1|0;j=j+(f<<2)|0}while(1){if((l|0)>=(d|0))break;i=a+(l<<2)|0;n=o+(l<<2)|0;k=0;while(1){if((k|0)<(f|0)){j=0;m=0.0}else break;while(1){if((j|0)>=(e|0))break;p=m+ +h[(c[i>>2]|0)+(j<<3)>>3]*+g[(c[b+(j<<2)>>2]|0)+(k<<2)>>2];j=j+1|0;m=p}g[(c[n>>2]|0)+(k<<2)>>2]=m;k=k+1|0}l=l+1|0}return}function Ct(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0;k=c[i>>2]|0;j=S(d<<3,f)|0;if(!k){j=k6(j)|0;o=k6(d<<2)|0}else{j=n6(c[k>>2]|0,j)|0;o=n6(k,d<<2)|0}c[i>>2]=o;k=0;while(1){if((k|0)>=(d|0)){i=0;break}c[o+(k<<2)>>2]=j;k=k+1|0;j=j+(f<<3)|0}while(1){if((i|0)>=(d|0))break;m=a+(i<<2)|0;n=o+(i<<2)|0;k=0;while(1){if((k|0)<(f|0)){l=0.0;j=0}else break;while(1){if((j|0)>=(e|0))break;l=l+ +h[(c[m>>2]|0)+(j<<3)>>3]*+g[(c[b+(j<<2)>>2]|0)+(k<<2)>>2];j=j+1|0}h[(c[n>>2]|0)+(k<<3)>>3]=l;k=k+1|0}i=i+1|0}return}function Dt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0;j=c[f>>2]|0;i=S(d*20|0,e)|0;if(!j){i=k6(i)|0;q=k6(d<<2)|0}else{i=n6(c[j>>2]|0,i)|0;q=n6(j,d<<2)|0}c[f>>2]=q;j=0;while(1){if((j|0)>=(d|0)){f=0;break}c[q+(j<<2)>>2]=i;j=j+1|0;i=i+(e<<2)|0}while(1){if((f|0)>=(d|0))break;l=c[a+(f*20|0)+4>>2]|0;m=c[a+(f*20|0)+8>>2]|0;n=c[a+(f*20|0)>>2]|0;o=q+(f<<2)|0;i=0;while(1){if((i|0)>=(e|0))break;p=b+(i<<2)|0;k=0.0;j=0;while(1){if((j|0)>=(n|0))break;k=k+ +g[m+(j<<2)>>2]*+h[(c[p>>2]|0)+(c[l+(j<<2)>>2]<<3)>>3];j=j+1|0}g[(c[o>>2]|0)+(i<<2)>>2]=k;i=i+1|0}f=f+1|0}return}function Et(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;c=0.0;d=b;e=a;while(1){if(!e)break;c=c+ +h[d>>3];d=d+8|0;e=e+-1|0}c=c/+(a|0);while(1){if(!a)break;h[b>>3]=+h[b>>3]-c;b=b+8|0;a=a+-1|0}return}function Ft(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=(a|0))break;h[b+(c<<3)>>3]=+((U4()|0)%500|0|0);c=c+1|0}Et(a,b);return}function Gt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,l=0,m=0;j=0;while(1){if((j|0)>=(b|0))break;k=c[a+(j*20|0)>>2]|0;l=a+(j*20|0)+8|0;m=a+(j*20|0)+4|0;f=0.0;i=0;while(1){if((i|0)>=(k|0))break;f=f+ +g[(c[l>>2]|0)+(i<<2)>>2]*+h[d+(c[(c[m>>2]|0)+(i<<2)>>2]<<3)>>3];i=i+1|0}h[e+(j<<3)>>3]=f;j=j+1|0}return}function Ht(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0;j=0;while(1){if((j|0)>=(b|0))break;k=a+(j<<2)|0;f=0.0;i=0;while(1){if((i|0)==(b|0))break;f=f+ +g[(c[k>>2]|0)+(i<<2)>>2]*+h[d+(i<<3)>>3];i=i+1|0}h[e+(j<<3)>>3]=f;j=j+1|0}return}function It(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[b+(e<<3)>>3]-+h[c+(e<<3)>>3];e=e+1|0}return}function Jt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[b+(e<<3)>>3]+ +h[c+(e<<3)>>3];e=e+1|0}return}function Kt(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[b+(e<<3)>>3]*c;e=e+1|0}return}function Lt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;h[c+(d<<3)>>3]=+h[b+(d<<3)>>3];d=d+1|0}return}function Mt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;d=0.0;e=0;while(1){if((e|0)>=(a|0))break;d=d+ +h[b+(e<<3)>>3]*+h[c+(e<<3)>>3];e=e+1|0}return +d}function Nt(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0;c=0;d=-1.e+50;while(1){if((c|0)>=(a|0))break;e=+F(+(+h[b+(c<<3)>>3]));c=c+1|0;d=e>d?e:d}return +d}function Ot(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0;j=0;while(1){if((j|0)<(b|0)){g=0.0;i=0}else break;while(1){if((i|0)>=(d|0))break;g=g+ +h[(c[a+(i<<2)>>2]|0)+(j<<3)>>3]*+h[e+(i<<3)>>3];i=i+1|0}h[f+(j<<3)>>3]=g;j=j+1|0}return}function Pt(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;c=0.0;d=b;e=a;while(1){if(!e)break;c=c+ +g[d>>2];d=d+4|0;e=e+-1|0}c=c/+(a|0);while(1){if(!a)break;g[b>>2]=+g[b>>2]-c;b=b+4|0;a=a+-1|0}return}function Qt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0;e=0;while(1){if((e|0)>=(b|0)){h=0;j=0;m=b;break}g[d+(e<<2)>>2]=0.0;e=e+1|0}while(1){if((j|0)>=(b|0))break;l=+g[c+(j<<2)>>2];k=j+1|0;f=l*+g[a+(h<<2)>>2]+0.0;i=k;e=h;while(1){e=e+1|0;if((i|0)==(b|0))break;p=+g[a+(e<<2)>>2];n=f+p*+g[c+(i<<2)>>2];o=d+(i<<2)|0;g[o>>2]=l*p+ +g[o>>2];f=n;i=i+1|0}o=d+(j<<2)|0;g[o>>2]=f+ +g[o>>2];h=h+m|0;j=k;m=m+-1|0}return}function Rt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[b+(e<<2)>>2]-+g[c+(e<<2)>>2];e=e+1|0}return}function St(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[b+(e<<2)>>2]+ +g[c+(e<<2)>>2];e=e+1|0}return}function Tt(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,f=0;e=0;while(1){if((e|0)>=(a|0))break;f=b+(e<<2)|0;g[f>>2]=+g[f>>2]+ +g[d+(e<<2)>>2]*c;e=e+1|0}return}function Ut(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[b+(e<<2)>>2]*c;e=e+1|0}return}function Vt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;c[d+(e<<2)>>2]=c[b+(e<<2)>>2];e=e+1|0}return}function Wt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;d=0.0;e=0;while(1){if((e|0)>=(a|0))break;d=d+ +g[b+(e<<2)>>2]*+g[c+(e<<2)>>2];e=e+1|0}return +d}function Xt(a,b,c){a=a|0;b=+b;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;h[c+(d<<3)>>3]=b;d=d+1|0}return}function Yt(a,b,c){a=a|0;b=+b;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;g[c+(d<<2)>>2]=b;d=d+1|0}return}function Zt(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0;c=-1000000015047466219876688.0e6;d=0;while(1){if((d|0)>=(a|0))break;e=+F(+(+g[b+(d<<2)>>2]));c=e>c?e:c;d=d+1|0}return +c}function _t(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];g[d>>2]=e*e;c=c+1|0}return}function $t(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];if(e!=0.0)g[d>>2]=1.0/e;c=c+1|0}return}function au(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;d=0;while(1){if((d|0)>=(a|0))break;e=+g[b+(d<<2)>>2];if(e>=0.0)g[c+(d<<2)>>2]=+G(+e);d=d+1|0}return}function bu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];if(e>0.0)g[d>>2]=1.0/+G(+e);c=c+1|0}return}function cu(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=0;if(b&3)if(!(4%(b>>>0)|0))b=4;else b=S(4/((du(b)|0)>>>0)|0,b)|0;c[a+8>>2]=b;a=a+4|0;b=c[a>>2]|0;a:do if(b|0)while(1){if(!b)break a;d=c[b>>2]|0;l6(c[b+4>>2]|0);l6(b);b=d}while(0);c[a>>2]=0;return}function du(a){a=a|0;var b=0,c=0;c=4;a:while(1){b=c;while(1){if((b|0)==(a|0))break a;if((b|0)<=(a|0))break;b=b-a|0}c=b;a=a-b|0}return a|0}function eu(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;if(!b){d=c[a+8>>2]|0;e=IK(8)|0;f=IK(S(c[46897]|0,d)|0)|0;c[e+4>>2]=f;b=0;while(1){if((b|0)>=(c[46897]|0))break;fu(f+(S(b,d)|0)|0,a);b=b+1|0}b=a+4|0;c[e>>2]=c[b>>2];c[b>>2]=e;b=c[a>>2]|0}c[a>>2]=c[b>>2];return b|0}function fu(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[b>>2]=a;return}function gu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=HK(b<<3)|0;l=a+8|0;f=c[l>>2]|0;hu(a,b,m);Ft(b,d);h=0;i=0;while(1){if((i|0)>=(b|0))break;h=(c[a+(i*20|0)>>2]|0)+h|0;i=i+1|0}h=IK(h<<2)|0;j=0;while(1){if((j|0)>=(b|0))break;c[a+(j*20|0)+8>>2]=h;k=c[a+(j*20|0)>>2]|0;g[h>>2]=+(1-k|0);i=1;while(1){if((i|0)>=(k|0))break;g[h+(i<<2)>>2]=1.0;i=i+1|0}h=h+(k<<2)|0;j=j+1|0}i=vr(a,d,m,b,.001,e)|0;l6(c[l>>2]|0);h=0;while(1){if((h|0)>=(b|0))break;c[a+(h*20|0)+8>>2]=f;f=f+(c[a+(h*20|0)>>2]<<2)|0;h=h+1|0}l6(m);return i>>>31|0}function hu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,i=0,j=0,k=0,l=0,m=0;k=a+16|0;i=0;while(1){if((i|0)>=(b|0))break;if(c[k>>2]|0){l=c[a+(i*20|0)>>2]|0;m=a+(i*20|0)+8|0;j=a+(i*20|0)+16|0;e=0.0;f=1;while(1){if((f|0)>=(l|0))break;e=e+ +g[(c[m>>2]|0)+(f<<2)>>2]*+g[(c[j>>2]|0)+(f<<2)>>2];f=f+1|0}h[d+(i<<3)>>3]=e}i=i+1|0}return}function iu(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=i|0;j=j|0;a=l;l=l+16|0;if(!(c[46955]|0)){c[46955]=1;dA(1,94121,a)|0}l=a;return}function ju(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=IK(f<<2)|0;i=b<<3;g=0;while(1){if((g|0)>=(f|0))break;c[r+(g<<2)>>2]=IK(i)|0;g=g+1|0}p=IK(f<<3)|0;q=IK(b<<2)|0;g=IK(S(i,b)|0)|0;i=0;while(1){if((i|0)>=(b|0))break;c[q+(i<<2)>>2]=g;g=g+(b<<3)|0;i=i+1|0}k=0;o=1;while(1){if((k|0)>=(b|0))break;l=a+(k<<2)|0;m=q+(k<<2)|0;i=0;while(1){if((i|0)==(o|0))break;n=a+(i<<2)|0;g=0;j=0.0;while(1){if((g|0)>=(d|0))break;s=j+ +(S(c[(c[n>>2]|0)+(g<<2)>>2]|0,c[(c[l>>2]|0)+(g<<2)>>2]|0)|0);g=g+1|0;j=s}h[(c[q+(i<<2)>>2]|0)+(k<<3)>>3]=j;h[(c[m>>2]|0)+(i<<3)>>3]=j;i=i+1|0}k=k+1|0;o=o+1|0}ut(q,b,f,r,p,1)|0;i=0;while(1){if((i|0)>=(f|0)){g=0;break}l=r+(i<<2)|0;m=e+(i<<2)|0;k=0;while(1){if((k|0)<(d|0)){g=0;j=0.0}else break;while(1){if((g|0)>=(b|0))break;s=j+ +(c[(c[a+(g<<2)>>2]|0)+(k<<2)>>2]|0)*+h[(c[l>>2]|0)+(g<<3)>>3];g=g+1|0;j=s}h[(c[m>>2]|0)+(k<<3)>>3]=j;k=k+1|0}i=i+1|0}while(1){if((g|0)>=(f|0))break;l6(c[r+(g<<2)>>2]|0);g=g+1|0}l6(r);l6(p);l6(c[q>>2]|0);l6(q);return}function ku(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+32|0;g=f+16|0;j=f+20|0;i=f+12|0;h=f+8|0;c[g>>2]=e;c[i>>2]=0;c[h>>2]=0;fy(c[a>>2]|0,d,d<<2,j);Dt(c[j>>2]|0,a,d,b,i);Ct(a,c[i>>2]|0,b,d,b,h);l6(c[c[i>>2]>>2]|0);l6(c[i>>2]|0);e=(ut(c[h>>2]|0,b,1,g,f,1)|0)&255;l=f;return e|0}function lu(){c[46956]=0;l6(c[46957]|0);l6(c[46958]|0);l6(c[46959]|0);c[46957]=0;c[46958]=0;c[46959]=0;return}function mu(a){a=a|0;l6(c[a+36>>2]|0);return}function nu(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0.0;u=l;l=l+80|0;o=u+64|0;t=u+68|0;i=u+48|0;j=u+32|0;k=u+16|0;m=u;n=d+16|0;g=c[n>>2]|0;p=b+40|0;r=f;s=e;a:do if(!(c[g+212>>2]|0))switch(UM(d)|0){case 1:{g=c[n>>2]|0;i=c[g+12>>2]|0;j=c[i+8>>2]|0;c[t>>2]=j;g=c[c[g+8>>2]>>2]|0;k=i+44|0;switch(a[g>>0]|0){case 98:{if(!(f2(g,108537)|0))q=11;else q=8;break}case 112:{if((f2(g,106022)|0)==0?(ou(c[k>>2]|0,j)|0)!=0:0)q=11;else q=8;break}default:q=8}do if((q|0)==8)if((j|0)<3){c[p>>2]=(c[i>>2]|0)==0?0:2;q=16;break}else{c[p>>2]=0;break}else if((q|0)==11?(c[p>>2]=1,(j|0)<=2):0)q=16;while(0);if((q|0)==16){i=pu(d,t,e,f)|0;q=20;break a}i=IK(j<<4)|0;if((c[p>>2]|0)==1){q=c[k>>2]|0;h[i>>3]=s+ +h[q>>3]/72.0;h[i+8>>3]=r+ +h[q+8>>3]/72.0;h[i+16>>3]=+h[q+16>>3]/72.0-s;h[i+24>>3]=r+ +h[q+24>>3]/72.0;h[i+32>>3]=+h[q+32>>3]/72.0-s;h[i+40>>3]=+h[q+40>>3]/72.0-r;h[i+48>>3]=s+ +h[q+48>>3]/72.0;h[i+56>>3]=+h[q+56>>3]/72.0-r;q=20;break a}else g=0;while(1){if((g|0)>=(j|0)){q=20;break a}q=c[k>>2]|0;v=+h[q+(g<<4)>>3];e=+h[q+(g<<4)+8>>3];f=+G(+(v*v+e*e));h[i+(g<<4)>>3]=v*(s/f+1.0)/72.0;h[i+(g<<4)+8>>3]=e*(r/f+1.0)/72.0;g=g+1|0}}case 2:{c[t>>2]=4;q=IK(64)|0;d=c[(c[n>>2]|0)+12>>2]|0;w=+h[d+32>>3];s=+h[d+40>>3];o=~~+h[d+16>>3];d=~~+h[d+24>>3];v=-e;r=-f;qu(i,o,d,v,r);c[q>>2]=c[i>>2];c[q+4>>2]=c[i+4>>2];c[q+8>>2]=c[i+8>>2];c[q+12>>2]=c[i+12>>2];i=q+16|0;n=~~w;qu(j,n,d,e,r);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];i=q+32|0;d=~~s;qu(k,n,d,e,f);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];i=q+48|0;qu(m,o,d,v,f);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[p>>2]=1;i=q;q=20;break a}case 3:{c[p>>2]=2;i=pu(d,t,e,f)|0;q=20;break a}default:{c[o>>2]=c[c[(c[n>>2]|0)+8>>2]>>2];dA(1,94184,o)|0;g=1;break a}}else{c[t>>2]=4;v=s+ +h[g+32>>3]*.5;w=r+ +h[g+40>>3]*.5;c[p>>2]=1;i=IK(64)|0;h[i>>3]=v;h[i+8>>3]=w;s=-v;h[i+16>>3]=s;h[i+24>>3]=w;h[i+32>>3]=s;w=-w;h[i+40>>3]=w;h[i+48>>3]=v;h[i+56>>3]=w;q=20}while(0);if((q|0)==20){c[b+36>>2]=i;g=c[t>>2]|0;c[b+32>>2]=g;ru(i,g,b,b+16|0);if((g|0)>(c[46956]|0)){c[46956]=g;g=0}else g=0}l=u;return g|0}function ou(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,f=0.0,g=0,i=0;do if((b|0)==4){e=+h[a+8>>3];f=+h[a+24>>3];g=a+56|0;i=a+48|0;b=a+16|0;c=a+32|0;d=a+40|0;if(e==f){if(!(+h[d>>3]==+h[g>>3])){b=0;break}if(!(+h[a>>3]==+h[i>>3])){b=0;break}b=+h[b>>3]==+h[c>>3];break}if((+h[a>>3]==+h[b>>3]?+h[c>>3]==+h[i>>3]:0)?e==+h[g>>3]:0)b=f==+h[d>>3];else b=0}else b=0;while(0);return b&1|0}function pu(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0.0,i=0,j=0,k=0,l=0.0;f=NA(a,103006)|0;if(!f)f=0;else f=d6(f)|0;i=(f|0)<3?20:f;j=IK(i<<4)|0;a=a+16|0;g=+(i|0);f=0;while(1){if((f|0)>=(i|0))break;k=c[a>>2]|0;l=+(f|0)/g*3.141592653589793*2.0;h[j+(f<<4)>>3]=+I(+l)*(d+ +h[k+32>>3]*.5);h[j+(f<<4)+8>>3]=+J(+l)*(e+ +h[k+40>>3]*.5);f=f+1|0}c[b>>2]=i;return j|0}function qu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;h[a>>3]=+(b|0)/72.0+d;h[a+8>>3]=+(c|0)/72.0+e;return}function ru(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0.0;j=+h[a>>3];i=+h[a+8>>3];e=1;f=i;g=j;while(1){if((e|0)>=(b|0))break;k=a+16|0;l=+h[k>>3];m=+h[a+24>>3];e=e+1|0;f=m>f?m:f;g=l>g?l:g;i=m>3]=j;h[c+8>>3]=i;h[d>>3]=g;h[d+8>>3]=f;return}function su(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0;s=l;l=l+80|0;n=s+64|0;q=s+68|0;i=s+48|0;j=s+32|0;k=s+16|0;m=s;o=d+16|0;g=c[o>>2]|0;p=b+40|0;a:do if(!(c[g+212>>2]|0))switch(UM(d)|0){case 1:{m=c[(c[o>>2]|0)+12>>2]|0;n=m+8|0;k=c[n>>2]|0;c[q>>2]=k;b:do if((k|0)>2){i=IK(k<<4)|0;j=m+44|0;g=0;while(1){if((g|0)>=(k|0))break b;d=c[j>>2]|0;h[i+(g<<4)>>3]=+h[d+(g<<4)>>3]/72.0;h[i+(g<<4)+8>>3]=+h[d+(g<<4)+8>>3]/72.0;g=g+1|0}}else i=pu(d,q,0.0,0.0)|0;while(0);g=c[c[(c[o>>2]|0)+8>>2]>>2]|0;switch(a[g>>0]|0){case 98:{if(!(f2(g,108537)|0))g=1;else r=13;break}case 112:{if((f2(g,106022)|0)==0?(ou(i,c[q>>2]|0)|0)!=0:0)g=1;else r=13;break}default:r=13}do if((r|0)==13){if((c[n>>2]|0)<3?c[m>>2]|0:0){g=2;break}g=0}while(0);c[p>>2]=g;r=20;break a}case 2:{c[q>>2]=4;r=IK(64)|0;o=c[(c[o>>2]|0)+12>>2]|0;u=+h[o+16>>3];w=+h[o+24>>3];v=+h[o+32>>3];t=+h[o+40>>3];tu(i,u,w);c[r>>2]=c[i>>2];c[r+4>>2]=c[i+4>>2];c[r+8>>2]=c[i+8>>2];c[r+12>>2]=c[i+12>>2];i=r+16|0;tu(j,v,w);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];i=r+32|0;tu(k,v,t);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];i=r+48|0;tu(m,u,t);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[p>>2]=1;i=r;r=20;break a}case 3:{c[p>>2]=2;i=pu(d,q,0.0,0.0)|0;r=20;break a}default:{c[n>>2]=c[c[(c[o>>2]|0)+8>>2]>>2];dA(1,94220,n)|0;g=1;break a}}else{c[q>>2]=4;v=+h[g+32>>3]*.5;w=+h[g+40>>3]*.5;c[p>>2]=1;i=IK(64)|0;h[i>>3]=v;h[i+8>>3]=w;u=-v;h[i+16>>3]=u;h[i+24>>3]=w;h[i+32>>3]=u;w=-w;h[i+40>>3]=w;h[i+48>>3]=v;h[i+56>>3]=w;r=20}while(0);if((r|0)==20){g=c[q>>2]|0;if(e!=1.0|f!=1.0)uu(i,g,e,f);c[b+36>>2]=i;c[b+32>>2]=g;ru(i,g,b,b+16|0);if((g|0)>(c[46956]|0)){c[46956]=g;g=0}else g=0}l=s;return g|0}function tu(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b/72.0;h[a+8>>3]=c/72.0;return}function uu(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0,f=0;e=0;while(1){if((e|0)>=(b|0))break;h[a>>3]=c*+h[a>>3];f=a+8|0;h[f>>3]=d*+h[f>>3];a=a+16|0;e=e+1|0}return}function vu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0;s=l;l=l+128|0;p=s+112|0;o=s+96|0;n=s+80|0;g=s+64|0;q=s+48|0;r=s+32|0;k=s+16|0;m=s;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];ts(q,o,p);i=b+16|0;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];ts(r,o,p);c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[p>>2]=c[e>>2];c[p+4>>2]=c[e+4>>2];c[p+8>>2]=c[e+8>>2];c[p+12>>2]=c[e+12>>2];ts(k,o,p);j=e+16|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];ts(m,o,p);c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];c[g+8>>2]=c[q+8>>2];c[g+12>>2]=c[q+12>>2];c[n>>2]=c[r>>2];c[n+4>>2]=c[r+4>>2];c[n+8>>2]=c[r+8>>2];c[n+12>>2]=c[r+12>>2];c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];do if(wu(g,n,o,p)|0){f=c[b+40>>2]|0;g=e+40|0;if(f&1|0?c[g>>2]&1|0:0){f=1;break}if(f&2|0?c[g>>2]&2|0:0){t=+h[i>>3]-+h[b>>3]+ +h[j>>3]-+h[e>>3];v=+h[a>>3]-+h[d>>3];u=+h[a+8>>3]-+h[d+8>>3];f=!(v*v+u*u>t*t*.25);break}f=c[46957]|0;if(!f){c[46957]=IK(c[46956]<<4)|0;i=IK(c[46956]<<4)|0;c[46958]=i;f=c[46957]|0}else i=c[46958]|0;w=c[b+36>>2]|0;j=b+32|0;g=c[j>>2]|0;c[p>>2]=c[a>>2];c[p+4>>2]=c[a+4>>2];c[p+8>>2]=c[a+8>>2];c[p+12>>2]=c[a+12>>2];xu(w,g,p,f);a=c[e+36>>2]|0;g=e+32|0;e=c[g>>2]|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];xu(a,e,p,i);if(!(yu(c[46957]|0,i,c[j>>2]|0,c[g>>2]|0)|0)){f=c[46957]|0;c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];if(zu(n,o,p)|0?(m=c[46958]|0,w=c[g>>2]|0,c[p>>2]=c[f>>2],c[p+4>>2]=c[f+4>>2],c[p+8>>2]=c[f+8>>2],c[p+12>>2]=c[f+12>>2],Au(m,w,p)|0):0){f=1;break}f=c[46958]|0;c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];if(!(zu(n,o,p)|0))f=0;else{r=c[46957]|0;w=c[j>>2]|0;c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];f=(Au(r,w,p)|0)!=0}}else f=1}else f=0;while(0);l=s;return f&1|0}function wu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((+h[a>>3]<=+h[d>>3]?+h[c>>3]<=+h[b>>3]:0)?+h[a+8>>3]<=+h[d+8>>3]:0)a=+h[c+8>>3]<=+h[b+8>>3];else a=0;return a&1|0}function xu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=c+8|0;e=0;while(1){if((e|0)>=(b|0))break;h[d>>3]=+h[a>>3]+ +h[c>>3];h[d+8>>3]=+h[a+8>>3]+ +h[f>>3];e=e+1|0;a=a+16|0;d=d+16|0}return}function yu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+112|0;w=E+96|0;v=E+80|0;u=E+64|0;t=E+48|0;y=E+32|0;z=E+16|0;A=E;B=d+-1|0;C=e+-1|0;D=d<<1;x=e<<1;i=0;h=0;g=0;f=0;while(1){q=a+(i<<4)|0;p=a+(((B+i|0)%(d|0)|0)<<4)|0;c[v>>2]=c[q>>2];c[v+4>>2]=c[q+4>>2];c[v+8>>2]=c[q+8>>2];c[v+12>>2]=c[q+12>>2];c[w>>2]=c[p>>2];c[w+4>>2]=c[p+4>>2];c[w+8>>2]=c[p+8>>2];c[w+12>>2]=c[p+12>>2];ss(y,v,w);s=b+(h<<4)|0;r=b+(((C+h|0)%(e|0)|0)<<4)|0;c[v>>2]=c[s>>2];c[v+4>>2]=c[s+4>>2];c[v+8>>2]=c[s+8>>2];c[v+12>>2]=c[s+12>>2];c[w>>2]=c[r>>2];c[w+4>>2]=c[r+4>>2];c[w+8>>2]=c[r+8>>2];c[w+12>>2]=c[r+12>>2];ss(z,v,w);c[u>>2]=c[46578];c[u+4>>2]=c[46579];c[u+8>>2]=c[46580];c[u+12>>2]=c[46581];c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[w>>2]=c[z>>2];c[w+4>>2]=c[z+4>>2];c[w+8>>2]=c[z+8>>2];c[w+12>>2]=c[z+12>>2];j=+us(u,v,w);c[u>>2]=c[p>>2];c[u+4>>2]=c[p+4>>2];c[u+8>>2]=c[p+8>>2];c[u+12>>2]=c[p+12>>2];c[v>>2]=c[q>>2];c[v+4>>2]=c[q+4>>2];c[v+8>>2]=c[q+8>>2];c[v+12>>2]=c[q+12>>2];c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];c[w+12>>2]=c[s+12>>2];k=vs(u,v,w)|0;c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];c[v>>2]=c[s>>2];c[v+4>>2]=c[s+4>>2];c[v+8>>2]=c[s+8>>2];c[v+12>>2]=c[s+12>>2];c[w>>2]=c[q>>2];c[w+4>>2]=c[q+4>>2];c[w+8>>2]=c[q+8>>2];c[w+12>>2]=c[q+12>>2];m=vs(u,v,w)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[u>>2]=c[q>>2];c[u+4>>2]=c[q+4>>2];c[u+8>>2]=c[q+8>>2];c[u+12>>2]=c[q+12>>2];c[v>>2]=c[r>>2];c[v+4>>2]=c[r+4>>2];c[v+8>>2]=c[r+8>>2];c[v+12>>2]=c[r+12>>2];c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];c[w+12>>2]=c[s+12>>2];if(ws(t,u,v,w,A)|0){f=1;break}q=(k|0)==0;r=(m|0)==0;n=(i+1|0)%(d|0)|0;s=f+1|0;o=(h+1|0)%(e|0)|0;p=g+1|0;do if(j!=0.0|(m|k|0)!=0)if(!(j>=0.0)){i=r?n:i;h=r?h:o;g=r?p:g;f=r?f:s;break}else{i=q?i:n;h=q?o:h;g=q?g:p;f=q?s:f;break}else{i=n;g=p}while(0);if(!((f|0)<(x|0)&((g|0)<(D|0)&((f|0)<(e|0)|(g|0)<(d|0))))){f=0;break}}l=E;return f|0}function zu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[a>>3];if((e<=+h[c>>3]?e>=+h[b>>3]:0)?(d=+h[a+8>>3],d<=+h[c+8>>3]):0)a=d>=+h[b+8>>3];else a=0;return a&1|0}function Au(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0;e=c[46959]|0;if(!e){e=IK(c[46956]<<4)|0;c[46959]=e}i=d+8|0;g=0;while(1){if((g|0)>=(b|0))break;h[e+(g<<4)>>3]=+h[a+(g<<4)>>3]-+h[d>>3];h[e+(g<<4)+8>>3]=+h[a+(g<<4)+8>>3]-+h[i>>3];g=g+1|0}m=b+-1|0;f=0.0;l=0;a:while(1){if((l|0)>=(b|0)){n=18;break}d=(m+l|0)%(b|0)|0;j=+h[e+(l<<4)+8>>3];a=j==0.0;g=e+(l<<4)|0;i=e+(d<<4)|0;k=+h[e+(d<<4)+8>>3];d=k==0.0;do if(a&d){if(+h[g>>3]*+h[i>>3]<0.0){e=1;break a}}else{if(!(j>=0.0)|!(k<=0.0)?!(j<=0.0)|!(k>=0.0):0)break;j=(k*+h[g>>3]-j*+h[i>>3])/(k-j);if(j==0.0){e=1;break a}if(j>0.0)if(a|d){f=f+.5;break}else{f=f+1.0;break}}while(0);l=l+1|0}if((n|0)==18)e=((~~f|0)%2|0|0)==1&1;return e|0}function Bu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=IK(b<<2)|0;i=S(b,b)|0;d=IK(i<<2)|0;c[j>>2]=d;Yt(i,0.0,d);d=1;while(1){if((d|0)>=(b|0)){d=0;g=0;i=b;break}c[j+(d<<2)>>2]=(c[j>>2]|0)+((S(d,b)|0)<<2);d=d+1|0}while(1){if((g|0)>=(b|0))break;h=j+(g<<2)|0;e=g;f=d;while(1){if((e|0)==(b|0))break;k=c[a+(f<<2)>>2]|0;c[(c[h>>2]|0)+(e<<2)>>2]=k;c[(c[j+(e<<2)>>2]|0)+(g<<2)>>2]=k;e=e+1|0;f=f+1|0}d=d+i|0;g=g+1|0;i=i+-1|0}return j|0}function Cu(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=+j;var k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=c[d+(f<<2)>>2]|0;C=c[a+4>>2]|0;D=c[a>>2]|0;E=c[a+48>>2]|0;G=c[a+52>>2]|0;H=c[a+56>>2]|0;a:do if((h|0)<1)d=0;else{Eu(N,C,E,G,H,j);I=c[a+28>>2]|0;J=c[a+32>>2]|0;K=c[a+36>>2]|0;L=c[a+12>>2]|0;M=c[a+16>>2]|0;f=0;e=0;d=-1;while(1){if((f|0)>=(C|0))break;if((f|0)>=(e|0)){d=d+1|0;if((d|0)==(H|0)){e=C;d=H}else e=c[G+(d<<2)>>2]|0}c[M+(c[E+(f<<2)>>2]<<2)>>2]=d;f=f+1|0}A=c[a+40>>2]|0;B=J+(C+-1<<2)|0;d=0;e=0;while(1){if(e<<24>>24==0&(d|0)<(h|0)){k=-1.0e9;f=0;e=1}else break a;b:while(1){y=f;while(1){if((y|0)>=(C|0))break b;f=c[E+(y<<2)>>2]|0;z=+g[N+(f<<2)>>2];o=z;x=y;l=0.0;while(1){g[A+(f<<2)>>2]=l;f=x+1|0;w=E+(f<<2)|0;if((f|0)>=(C|0)){v=0;break}l=(c[M+(f<<2)>>2]|0)>(c[M+(x<<2)>>2]|0)?o+j:o;a=c[w>>2]|0;m=+g[N+(a<<2)>>2];if(+F(+(m-l))>1.0e-09){v=1;break}o=l;x=f;l=m-z;f=a}n=y;while(1){if((n|0)>(x|0)){a=0;p=y;break}p=c[E+(n<<2)>>2]|0;q=c[D+(p<<2)>>2]|0;a=0;l=-+g[b+(p<<2)>>2];while(1){if((a|0)>=(C|0))break;if((a|0)!=(p|0))l=l+ +g[q+(a<<2)>>2]*+g[N+(a<<2)>>2];a=a+1|0}g[I+(p<<2)>>2]=l/-+g[q+(p<<2)>>2]-+g[A+(p<<2)>>2];n=n+1|0}c:while(1){if((p|0)>(x|0)){m=0.0;o=0.0;r=0;break}n=c[M+(c[E+(p<<2)>>2]<<2)>>2]|0;if((n|0)==(H|0))r=f;else{r=c[G+(n<<2)>>2]|0;r=(f|0)<(r|0)?f:r}q=p;while(1){if((q|0)>=(r|0)){q=p;break}n=c[E+(q<<2)>>2]|0;if(+g[I+(n<<2)>>2]>2]=n;a=a+1|0}q=q+1|0}while(1){if((q|0)>=(r|0))break;n=c[E+(q<<2)>>2]|0;if(+g[I+(n<<2)>>2]==z){c[L+(a<<2)>>2]=n;a=a+1|0}q=q+1|0}while(1){if((p|0)>=(r|0)){p=r;continue c}n=c[E+(p<<2)>>2]|0;if(+g[I+(n<<2)>>2]>z){c[L+(a<<2)>>2]=n;a=a+1|0}p=p+1|0}}while(1){if((r|0)>=(a|0))break;p=c[L+(r<<2)>>2]|0;q=c[D+(p<<2)>>2]|0;l=0.0;n=0;while(1){if((n|0)==(r|0))break;l=l-+g[q+(c[L+(n<<2)>>2]<<2)>>2];n=n+1|0}l=l*2.0;u=q+(p<<2)|0;s=+g[u>>2];s=(z*l+(o*m-s*+g[I+(p<<2)>>2]))/(l+(m-s));g[J+(r<<2)>>2]=s;m=m+(l-+g[u>>2]);o=s;r=r+1|0}q=(a|0)==(C|0);if(q)g[B>>2]=z;u=a+-1|0;m=0.0;o=0.0;p=u;while(1){if((p|0)<=-1)break;r=c[L+(p<<2)>>2]|0;t=c[D+(r<<2)>>2]|0;l=0.0;n=p;while(1){n=n+1|0;if((n|0)>=(a|0))break;l=l-+g[t+(c[L+(n<<2)>>2]<<2)>>2]}l=l*2.0;t=t+(r<<2)|0;s=+g[t>>2];s=(z*l+(o*m-s*+g[I+(r<<2)>>2]))/(l+(m-s));g[K+(p<<2)>>2]=s;m=m+(l-+g[t>>2]);o=s;p=p+-1|0}if(q){g[K>>2]=z;s=0.0;n=-1;q=0}else{s=0.0;n=-1;q=0}while(1){if((a|0)<=(q|0))break;o=+g[K+(q<<2)>>2];if((q|0)>0)l=+g[J+(q+-1<<2)>>2];else l=o;do if(oz;if(os;s=t?o:s;n=t?q:n;q=q+1|0}r=E+(x<<2)|0;p=c[L+(u<<2)>>2]|0;q=N+(p<<2)|0;if((n|0)>-1)break;k=+g[q>>2];if(!v){y=f;continue}k=(c[M+(c[w>>2]<<2)>>2]|0)>(c[M+(c[r>>2]<<2)>>2]|0)?k+j:k;y=f}o=+g[K+(n<<2)>>2];if(!n)s=o;else s=+g[J+(n+-1<<2)>>2];do if(v){u=c[w>>2]|0;m=+g[N+(u<<2)>>2];l=+g[A+(p<<2)>>2];if((c[M+(u<<2)>>2]|0)>(c[M+(c[r>>2]<<2)>>2]|0)){l=m-j-l;break}else{l=m-l;break}}else l=1.0e9;while(0);l=ok?s:k;do if(lz;if(l=(n|0))break;u=c[L+(p<<2)>>2]|0;g[N+(u<<2)>>2]=l+ +g[A+(u<<2)>>2];p=p+1|0}while(1){if((n|0)>=(a|0))break;u=c[L+(n<<2)>>2]|0;g[N+(u<<2)>>2]=m+ +g[A+(u<<2)>>2];n=n+1|0}k=+g[q>>2];if(v)k=(c[M+(c[w>>2]<<2)>>2]|0)>(c[M+(c[r>>2]<<2)>>2]|0)?k+j:k;a=y;while(1){if((a|0)>(x|0))break;c[E+(a<<2)>>2]=c[L+(a-y<<2)>>2];a=a+1|0}if(e<<24>>24!=0?+F(+(l-z))<.01:0)e=+F(+(m-z))<.01;else e=0;e=e&1}Pt(C,N);Du(N,E,G,H,i);d=d+1|0}}while(0);return d|0}function Du(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=0;while(1){if((g|0)>=(e|0))break;c[f+(g<<2)>>2]=c[a+(c[b+((c[d+(g<<2)>>2]|0)+-1<<2)>>2]<<2)>>2];g=g+1|0}return}function Eu(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0.0,j=0,k=0,l=0,m=0;i=-1.0e9;k=0;j=-1;m=0;while(1){if((m|0)>=(b|0))break;if((m|0)<(k|0))l=k;else{j=j+1|0;if((j|0)==(f|0))k=b;else k=c[e+(j<<2)>>2]|0;if((m|0)>0)i=+g[a+(c[d+(m+-1<<2)>>2]<<2)>>2]+h;else i=-1.0e9;dt(a,d,m,k+-1|0);l=k}k=a+(c[d+(m<<2)>>2]<<2)|0;if(+g[k>>2]>2]=i;k=l;m=m+1|0}return}function Fu(a){a=a|0;l6(c[c[a>>2]>>2]|0);l6(c[a>>2]|0);l6(c[a+8>>2]|0);l6(c[a+28>>2]|0);l6(c[a+32>>2]|0);l6(c[a+36>>2]|0);l6(c[a+40>>2]|0);l6(c[a+12>>2]|0);l6(c[a+16>>2]|0);l6(c[a+20>>2]|0);l6(c[a+24>>2]|0);l6(a);return}function Gu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=IK(60)|0;c[k>>2]=0;l=k+4|0;c[l>>2]=b;c[k+48>>2]=d;c[k+52>>2]=e;c[k+56>>2]=f;c[k>>2]=Bu(a,b)|0;i=b<<2;j=IK(i)|0;c[k+8>>2]=j;h=0;b=0;a=-1;while(1){if((h|0)>=(c[l>>2]|0))break;g=a+1|0;if((h|0)>=(b|0)){b=c[((g|0)==(f|0)?l:e+(g<<2)|0)>>2]|0;a=g}c[j+(c[d+(h<<2)>>2]<<2)>>2]=a;h=h+1|0}c[k+28>>2]=IK(i)|0;c[k+32>>2]=IK(i)|0;c[k+36>>2]=IK(i)|0;c[k+40>>2]=IK(i)|0;c[k+12>>2]=IK(i)|0;c[k+16>>2]=IK(i)|0;c[k+20>>2]=IK(i)|0;c[k+24>>2]=IK(i)|0;return k|0}function Hu(){cu(187844,24);c[46964]=0;return}function Iu(){return eu(187844)|0}function Ju(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3]-+h[b>>3];c=+h[a+8>>3]-+h[b+8>>3];return +(+G(+(d*d+c*c)))}function Ku(a){a=a|0;var b=0;b=c[46964]|0;c[a+16>>2]=b;c[46964]=b+1;return}function Lu(a){a=a|0;var b=0,d=0;d=a+20|0;b=(c[d>>2]|0)+-1|0;c[d>>2]=b;if(!b)fu(a,187844);return}function Mu(a){a=a|0;a=a+20|0;c[a>>2]=(c[a>>2]|0)+1;return}function Nu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+16|0;o=x;c[o>>2]=e;q=b<<2;u=IK(q)|0;k=b<<3;v=IK(k)|0;t=Ys(a,b)|0;a=0;while(1){if((a|0)>=(b|0))break;j=t+(a<<2)|0;i=0;while(1){if((i|0)==(b|0))break;s=(c[j>>2]|0)+(i<<2)|0;c[s>>2]=c[s>>2]<<8;i=i+1|0}a=a+1|0}if(!d)Aa(94253,94261,283,94275);s=IK(k)|0;a=0;while(1){if((a|0)>=(b|0))break;h[s+(a<<3)>>3]=+h[d+(a<<3)>>3];a=a+1|0}Ou(s,b);m=0.0;n=0.0;k=1;while(1){if((k|0)>=(b|0))break;i=t+(k<<2)|0;j=d+(k<<3)|0;a=0;while(1){if((a|0)==(k|0))break;y=c[(c[i>>2]|0)+(a<<2)>>2]|0;r=+F(+(+h[j>>3]-+h[d+(a<<3)>>3]));m=m+r*(1.0/+(S(y,y)|0)*r);n=n+1.0/+(y|0)*r;a=a+1|0}k=k+1|0}r=n/m;a=0;while(1){if((a|0)>=(b|0))break;y=d+(a<<3)|0;h[y>>3]=r*+h[y>>3];a=a+1|0}Pu(b,o,f,d,t);j=IK(S(q,b)|0)|0;i=0;while(1){if((i|0)>=(b|0)){o=1;break}k=j+((S(i,b)|0)<<2)|0;c[u+(i<<2)>>2]=k;o=t+(i<<2)|0;m=0.0;a=0;while(1){if((a|0)==(b|0))break;if((a|0)!=(i|0)){p=+(c[(c[o>>2]|0)+(a<<2)>>2]|0);p=-1.0/(p*p);g[k+(a<<2)>>2]=p;m=m-p}a=a+1|0}g[k+(i<<2)>>2]=m;i=i+1|0}while(1){if((o|0)>=(b|0)){i=0;break}n=+h[d+(o<<3)>>3];j=t+(o<<2)|0;i=0;while(1){if((i|0)==(o|0))break;k=(c[j>>2]|0)+(i<<2)|0;p=+(c[k>>2]|0);m=n-+h[d+(i<<3)>>3];m=p*p-m*m;if(m>0.0)a=~~+G(+m);else a=0;c[(c[t+(i<<2)>>2]|0)+(o<<2)>>2]=a;c[k>>2]=a;i=i+1|0}o=o+1|0}while(1){if((i|0)>=(b|0)){q=0;a=0;break}n=+h[e+(i<<3)>>3];k=v+(i<<3)|0;h[k>>3]=0.0;o=t+(i<<2)|0;j=u+(i<<2)|0;a=0;m=0.0;while(1){if((a|0)==(b|0))break;if((a|0)!=(i|0)){p=+(c[(c[o>>2]|0)+(a<<2)>>2]|0)*+g[(c[j>>2]|0)+(a<<2)>>2];m=m+(n>=+h[e+(a<<3)>>3]?-p:p);h[k>>3]=m}a=a+1|0}i=i+1|0}while(1){if(!(a<<24>>24==0&(q|0)<200)){a=0;w=58;break}if((wr(u,e,v,b,f,b,1)|0)<0){a=1;break}else{a=1;o=0}while(1){if((o|0)>=(b|0))break;p=+h[e+(o<<3)>>3];j=t+(o<<2)|0;k=u+(o<<2)|0;m=0.0;i=0;while(1){if((i|0)==(b|0))break;do if((i|0)!=(o|0)){n=+(c[(c[j>>2]|0)+(i<<2)>>2]|0)*+g[(c[k>>2]|0)+(i<<2)>>2];if(!(p>=+h[e+(i<<3)>>3])){m=m+n;break}else{m=m+-n;break}}while(0);i=i+1|0}i=v+(o<<3)|0;p=+h[i>>3];if(m!=p?+F(+(1.0-m/p))>1.0e-05:0){h[i>>3]=m;a=0}o=o+1|0}q=q+1|0}a:do if((w|0)==58)while(1){if((a|0)>=(b|0)){a=0;break a}w=d+(a<<3)|0;h[w>>3]=+h[w>>3]/r;w=e+(a<<3)|0;h[w>>3]=+h[w>>3]/r;a=a+1|0;w=58}while(0);l6(c[t>>2]|0);l6(t);l6(c[u>>2]|0);l6(u);l6(s);l6(v);l=x;return a|0}function Ou(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0;c=0;d=0.0;while(1){if((c|0)>=(b|0))break;e=d+ +h[a+(c<<3)>>3];c=c+1|0;d=e}d=d/+(b|0);c=0;while(1){if((c|0)>=(b|0))break;f=a+(c<<3)|0;h[f>>3]=+h[f>>3]-d;c=c+1|0}f=b+-1|0;yt(a,0,f,1.0/+xt(a,0,f),a);return}function Pu(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;k=Qu(f,a)|0;l=IK(8)|0;if(!e){f=0;j=0}else{g=IK(a<<3)|0;f=0;while(1){if((f|0)>=(a|0))break;h[g+(f<<3)>>3]=+h[e+(f<<3)>>3];f=f+1|0}Ou(g,a);f=g;j=g}Ru(k,a,b,l,f,d);e=0;while(1){if((e|0)==1)break;g=l+(e<<3)|0;i=b+(e<<2)|0;f=0;while(1){if((f|0)>=(a|0))break;d=+G(+(+F(+(+h[g>>3]))));m=(c[i>>2]|0)+(f<<3)|0;h[m>>3]=d*+h[m>>3];f=f+1|0}e=e+1|0}l6(c[k>>2]|0);l6(k);l6(l);l6(j);return}function Qu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+16|0;f=o;n=b<<2;e=IK(S(n,b)|0)|0;n=IK(n)|0;d=0;while(1){if((d|0)>=(b|0))break;c[n+(d<<2)>>2]=e+((S(d,b)|0)<<2);d=d+1|0}m=Tu(a,b,f)|0;h=+g[f>>2];e=0;k=1;while(1){if((e|0)>=(b|0))break;f=a+(e<<2)|0;i=m+(e<<2)|0;j=n+(e<<2)|0;d=0;while(1){if((d|0)==(k|0))break;p=+(c[(c[f>>2]|0)+(d<<2)>>2]|0);p=+g[m+(d<<2)>>2]+(+g[i>>2]-p*p)-h;g[(c[j>>2]|0)+(d<<2)>>2]=p;g[(c[n+(d<<2)>>2]|0)+(e<<2)>>2]=p;d=d+1|0}e=e+1|0;k=k+1|0}l6(m);l=o;return n|0}function Ru(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0;r=b<<3;q=IK(r)|0;r=IK(r)|0;n=1.0-g;o=(b|0)<1?b:1;p=b+-1|0;k=(f|0)==0;j=0;a:while(1){if((j|0)>=(o|0))break;l=c[d+(j<<2)>>2]|0;do{i=0;while(1){if((i|0)==(b|0))break;h[l+(i<<3)>>3]=+((U4()|0)%100|0|0);i=i+1|0}if(k)i=0;else{wt(l,0,p,-+vt(f,0,p,l),f);i=0}while(1){if((i|0)==(j|0))break;s=d+(i<<2)|0;m=-+vt(c[s>>2]|0,0,p,l);wt(l,0,p,m,c[s>>2]|0);i=i+1|0}g=+xt(l,0,p)}while(g<1.0e-10);yt(l,0,p,1.0/g,l);do{zt(r,0,p,l);Su(a,b,b,l,q,f);zt(l,0,p,q);i=0;while(1){if((i|0)==(j|0))break;s=d+(i<<2)|0;m=-+vt(c[s>>2]|0,0,p,l);wt(l,0,p,m,c[s>>2]|0);i=i+1|0}g=+xt(l,0,p);if(g<1.0e-10)break a;yt(l,0,p,1.0/g,l);m=+vt(l,0,p,r)}while(+F(+m)>3]=g*m;j=j+1|0}while(1){if((j|0)>=(o|0))break;k=c[d+(j<<2)>>2]|0;i=0;while(1){if((i|0)>=(b|0)){i=0;break}h[k+(i<<3)>>3]=+((U4()|0)%100|0|0);i=i+1|0}while(1){if((i|0)>=(j|0))break;s=d+(i<<2)|0;n=-+vt(c[s>>2]|0,0,p,k);wt(k,0,p,n,c[s>>2]|0);i=i+1|0}yt(k,0,p,1.0/+xt(k,0,p),k);h[e+(j<<3)>>3]=0.0;j=j+1|0}l=o+-1|0;j=0;while(1){if((j|0)>=(l|0))break;a=e+(j<<3)|0;f=j+1|0;g=+h[a>>3];i=j;k=f;while(1){if((k|0)>=(o|0))break;n=+h[e+(k<<3)>>3];s=g>2]|0);s=d+(i<<2)|0;zt(c[b>>2]|0,0,p,c[s>>2]|0);zt(c[s>>2]|0,0,p,q);h[e+(i<<3)>>3]=+h[a>>3];h[a>>3]=g;j=f}l6(q);l6(r);return}function Su(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0.0,l=0,m=0;j=0;while(1){if((j|0)>=(b|0))break;m=a+(j<<2)|0;k=0.0;l=0;while(1){if((l|0)>=(d|0))break;k=k+ +g[(c[m>>2]|0)+(l<<2)>>2]*+h[e+(l<<3)>>3];l=l+1|0}h[f+(j<<3)>>3]=k;j=j+1|0}j=b+-1|0;if(i|0)wt(f,0,j,-+vt(f,0,j,i),i);return}function Tu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0,j=0,k=0.0,l=0,m=0.0;j=IK(b<<2)|0;k=+(b|0);e=0.0;i=0;while(1){if((i|0)>=(b|0))break;l=a+(i<<2)|0;f=0.0;h=0;while(1){if((h|0)==(b|0))break;m=+(c[(c[l>>2]|0)+(h<<2)>>2]|0);m=m*m;f=f+m;h=h+1|0;e=e+m}g[j+(i<<2)>>2]=f/k;i=i+1|0}g[d>>2]=e/+(S(b,b)|0);return j|0}function Uu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;q=S(d,d)|0;r=IK(q<<3)|0;s=IK(d<<3)|0;e=0;while(1){if((e|0)>=(d|0))break;h[s+(e<<3)>>3]=+h[c+(e<<3)>>3];e=e+1|0}e=0;while(1){if((e|0)>=(q|0))break;h[r+(e<<3)>>3]=+h[a+(e<<3)>>3];e=e+1|0}p=d+-1|0;g=0;o=0;a:while(1){if((o|0)<(p|0)){f=0.0;e=o}else{l=21;break}while(1){if((e|0)>=(d|0))break;t=+F(+(+h[a+((S(e,d)|0)+o<<3)>>3]));m=t=(d|0))break;l=a+(e+i<<3)|0;t=+h[l>>3];m=a+(e+n<<3)|0;h[l>>3]=+h[m>>3];h[m>>3]=t;e=e+1|0}m=c+(g<<3)|0;t=+h[m>>3];j=c+(o<<3)|0;h[m>>3]=+h[j>>3];h[j>>3]=t;m=o+1|0;k=a+(n+o<<3)|0;e=m;while(1){if((e|0)>=(d|0)){o=m;continue a}l=S(e,d)|0;f=+h[a+(l+o<<3)>>3]/+h[k>>3];i=c+(e<<3)|0;h[i>>3]=+h[i>>3]-f*+h[j>>3];i=0;while(1){if((i|0)>=(d|0))break;u=a+(i+l<<3)|0;h[u>>3]=+h[u>>3]-f*+h[a+(i+n<<3)>>3];i=i+1|0}e=e+1|0}}if((l|0)==21){f=+h[a+(q+-1<<3)>>3];if(+F(+f)<1.0e-10)l=33;else{h[b+(p<<3)>>3]=+h[c+(p<<3)>>3]/f;e=0;while(1){if((e|0)>=(p|0)){e=0;break}g=d-e|0;i=g+-2|0;f=+h[c+(i<<3)>>3];j=b+(i<<3)|0;h[j>>3]=f;k=S(i,d)|0;g=g+-1|0;while(1){if((g|0)>=(d|0))break;t=f-+h[a+(g+k<<3)>>3]*+h[b+(g<<3)>>3];h[j>>3]=t;g=g+1|0;f=t}h[j>>3]=f/+h[a+(k+i<<3)>>3];e=e+1|0}while(1){if((e|0)>=(d|0)){e=0;break}h[c+(e<<3)>>3]=+h[s+(e<<3)>>3];e=e+1|0}while(1){if((e|0)>=(q|0))break;h[a+(e<<3)>>3]=+h[r+(e<<3)>>3];e=e+1|0}l6(r);l6(s)}}if((l|0)==33){Z5(94290)|0;l6(r);l6(s)}return}function Vu(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=l;l=l+16|0;r=s;js();Hu();Es();c[46960]=ib[d&3]()|0;Gs();q=r+8|0;p=ib[d&3]()|0;e=0.0;f=0.0;a:while(1){n=(p|0)==0;o=p+8|0;while(1){if(!(As()|0)){Bs(r);e=+h[r>>3];f=+h[q>>3]}if(!n){if(As()|0)break;g=+h[o>>3];if(g>3]>2]|0;Ku(j);ns(c[t+8>>2]|0,a[t+16>>0]|0,j);ns(c[v+8>>2]|0,a[v+16>>0]|0,j);Ns(t);zs(v);Ns(v);v=+h[m+8>>3]>+h[u+8>>3];t=v&1;k=v?u:m;u=ks(k,v?m:u)|0;m=Hs(u,t)|0;Ks(b,m);ns(u,(t^1)&255,j);Lu(j);j=Is(b,m)|0;if(j|0){zs(b);xs(b,j,+Ju(j,k))}b=Is(m,i)|0;if(!b)continue;xs(m,b,+Ju(b,k))}b=Ls(p)|0;k=Os(b)|0;i=ks(Rs(b)|0,p)|0;m=Hs(i,0)|0;Ks(b,m);j=Is(b,m)|0;if(j|0){zs(b);xs(b,j,+Ju(j,p))}i=Hs(i,1)|0;Ks(m,i);b=Is(i,k)|0;if(b|0)xs(i,b,+Ju(b,p));p=ib[d&3]()|0}b=c[46902]|0;while(1){b=Os(b)|0;if((b|0)==(c[46903]|0))break;ls(c[b+8>>2]|0)}l=s;return}function Wu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h+8|0;f=h;do if((qB(b)|0)!=1){Xu(b);if(!d)d=Yu(b)|0;e=Zu(b,d)|0;if(a[195234]|0){i=c[15715]|0;c[f>>2]=HB(d)|0;c[f+4>>2]=e;z4(i,94306,f)|0}if((e|0)<0){dA(1,94340,g)|0;break}else{_u(b);$u(b,d);av(b,d);bv(b,e);break}}else{i=c[(c[(gC(b)|0)+16>>2]|0)+132>>2]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0}while(0);l=h;return d|0}function Xu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=qB(a)|0;d=S(d,d)|0;b=gC(a)|0;while(1){if(!b)break;e=b+16|0;f=c[(c[e>>2]|0)+112>>2]|0;g=f+24|0;c[g>>2]=d;c[g+4>>2]=0;h[f+48>>3]=10.0;f=(jv(a,b)|0)==0;e=c[(c[e>>2]|0)+112>>2]|0;c[e>>2]=f?d:0;c[e+4>>2]=f?0:0;b=hC(a,b)|0}return}function Yu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=(qB(a)|0)<3;b=gC(a)|0;a:do if(!e){while(1){if(!b)break;e=c[(c[b+16>>2]|0)+112>>2]|0;if((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)iv(a,b,0);b=hC(a,b)|0}d=0;b=0;e=gC(a)|0;while(1){if(!e)break a;h=c[(c[e+16>>2]|0)+112>>2]|0;g=c[h>>2]|0;h=c[h+4>>2]|0;f=((d|0)<0)<<31>>31;f=h>>>0>f>>>0|(h|0)==(f|0)&g>>>0>d>>>0;d=f?g:d;b=f?e:b;e=hC(a,e)|0}}while(0);return b|0}function Zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[(c[b+16>>2]|0)+112>>2]|0;f=d+24|0;e=c[f>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[d+32>>2]=0;fv(a,b);d=gC(a)|0;e=y6(0,e|0,32)|0;f=D;b=0;while(1){if(!d)break;h=(c[(c[d+16>>2]|0)+112>>2]|0)+24|0;g=c[h>>2]|0;h=c[h+4>>2]|0;if((g|0)==(e|0)&(h|0)==(f|0)){b=-1;break}i=((b|0)<0)<<31>>31;b=h>>>0>i>>>0|(h|0)==(i|0)&g>>>0>b>>>0?g:b;d=hC(a,d)|0}return b|0}function _u(a){a=a|0;var b=0,d=0,e=0,f=0;d=gC(a)|0;while(1){if(!d)break;b=c[(c[d+16>>2]|0)+112>>2]|0;e=b+16|0;a:do if((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)while(1){e=b+8|0;f=e;f=w6(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=D;b=c[b+32>>2]|0;if(!b)break a;b=c[(c[b+16>>2]|0)+112>>2]|0}while(0);d=hC(a,d)|0}return}function $u(a,b){a=a|0;b=b|0;h[(c[(c[b+16>>2]|0)+112>>2]|0)+40>>3]=6.283185307179586;ev(a,b);return}function av(a,b){a=a|0;b=b|0;h[(c[(c[b+16>>2]|0)+112>>2]|0)+48>>3]=0.0;dv(a,b);return}function bv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;g=j;i=cv(b,d)|0;if(a[195234]|0){f=c[15715]|0;Z3(94396,f)|0;e=0;while(1){if((e|0)>(d|0))break;h[g>>3]=+h[i+(e<<3)>>3];z4(f,94415,g)|0;e=e+1|0}Z3(153748,f)|0}e=gC(b)|0;while(1){if(!e)break;g=c[e+16>>2]|0;f=c[g+112>>2]|0;k=+h[i+(c[f+24>>2]<<3)>>3];f=f+48|0;m=k*+I(+(+h[f>>3]));g=c[g+132>>2]|0;h[g>>3]=m;h[g+8>>3]=k*+J(+(+h[f>>3]));e=hC(b,e)|0}l6(i);l=j;return}function cv(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;m=HK((d<<3)+8|0)|0;b=_O(b,DA(c[b+60>>2]|0,0,101589,0)|0,0)|0;a:do if(!b){f=1.0;e=0.0;b=1}else{i=0.0;e=0.0;g=1;b:while(1){if((g|0)>(d|0)){f=i;b=g;break a}f=+b6(b,k);if(!(f>0.0)){f=i;b=g;break a}i=f>.02?f:.02;e=e+i;j=g+1|0;h[m+(g<<3)>>3]=e;b=c[k>>2]|0;while(1){g=a[b>>0]|0;if(!(g<<24>>24)){g=j;continue b}if(!(g<<24>>24==58|(X1(g<<24>>24)|0)!=0)){g=j;continue b}b=b+1|0}}}while(0);while(1){if((b|0)>(d|0))break;i=f+e;h[m+(b<<3)>>3]=i;b=b+1|0;e=i}l=n;return m|0}function dv(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0.0;d=c[(c[b+16>>2]|0)+112>>2]|0;if(!(c[d+32>>2]|0))e=0.0;else e=+h[d+48>>3]-+h[d+40>>3]*.5;g=ZA(a,b)|0;while(1){if(!g)break;d=c[g>>2]&3;f=c[((d|0)==3?g:g+48|0)+40>>2]|0;if((f|0)==(b|0))f=c[((d|0)==2?g:g+-48|0)+40>>2]|0;d=c[(c[f+16>>2]|0)+112>>2]|0;if((c[d+32>>2]|0)==(b|0)?(i=d+48|0,!(+h[i>>3]!=10.0)):0){j=+h[d+40>>3];h[i>>3]=e+j*.5;e=e+j;d=d+16|0;if(!((c[d>>2]|0)==0&(c[d+4>>2]|0)==0))dv(a,f)}g=_A(a,g,b)|0}return}function ev(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0;e=c[(c[b+16>>2]|0)+112>>2]|0;f=e+8|0;g=+h[e+40>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+((c[f+4>>2]|0)>>>0));f=ZA(a,b)|0;while(1){if(!f)break;e=c[f>>2]&3;d=c[((e|0)==3?f:f+48|0)+40>>2]|0;if((d|0)==(b|0))d=c[((e|0)==2?f:f+-48|0)+40>>2]|0;e=c[(c[d+16>>2]|0)+112>>2]|0;if(((c[e+32>>2]|0)==(b|0)?(i=e+40|0,!(+h[i>>3]!=0.0)):0)?(j=e+8|0,h[i>>3]=g*(+((c[j>>2]|0)>>>0)+4294967296.0*+((c[j+4>>2]|0)>>>0)),e=e+16|0,!((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)):0)ev(a,d);f=_A(a,f,b)|0}return}function fv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+16|0;n=p;o=DA(b,2,101842,0)|0;c[n+4>>2]=0;c[n>>2]=0;gv(n,d);j=(o|0)==0;a:while(1){k=hv(n)|0;if(!k)break;m=k+16|0;h=c[(c[(c[m>>2]|0)+112>>2]|0)+24>>2]|0;g=ZA(b,k)|0;h=w6(0,h|0,0,1)|0;h=y6(h|0,D|0,32)|0;i=D;while(1){if(!g)continue a;if(!((!j?(a[(OA(g,o)|0)>>0]|0)==48:0)?!(f2(OA(g,o)|0,138697)|0):0)){d=c[g>>2]&3;e=c[((d|0)==3?g:g+48|0)+40>>2]|0;if((e|0)==(k|0))e=c[((d|0)==2?g:g+-48|0)+40>>2]|0;d=c[(c[e+16>>2]|0)+112>>2]|0;f=d+24|0;q=f;r=c[q+4>>2]|0;if(i>>>0>>0|((i|0)==(r|0)?h>>>0<(c[q>>2]|0)>>>0:0)){r=f;c[r>>2]=h;c[r+4>>2]=i;c[d+32>>2]=k;r=(c[(c[m>>2]|0)+112>>2]|0)+16|0;q=r;q=w6(c[q>>2]|0,c[q+4>>2]|0,1,0)|0;c[r>>2]=q;c[r+4>>2]=D;gv(n,e)}}g=_A(b,g,k)|0}}l=p;return}function gv(a,b){a=a|0;b=b|0;var d=0,e=0;d=HK(8)|0;c[d>>2]=b;b=a+4|0;e=c[b>>2]|0;c[((e|0)==0?a:e+4|0)>>2]=d;c[b>>2]=d;return}function hv(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;if(d){b=c[d>>2]|0;c[a>>2]=c[d+4>>2];l6(d);if(!(c[a>>2]|0))c[a+4>>2]=0}else b=0;return b|0}function iv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=c[c[(c[b+16>>2]|0)+112>>2]>>2]|0;g=ZA(a,b)|0;h=w6(0,h|0,0,1)|0;h=y6(h|0,D|0,32)|0;i=D;while(1){if(!g)break;f=c[g>>2]&3;e=c[((f|0)==3?g:g+48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((f|0)==2?g:g+-48|0)+40>>2]|0;if((e|0)!=(d|0)?(j=c[(c[e+16>>2]|0)+112>>2]|0,f=j,k=c[f+4>>2]|0,i>>>0>>0|((i|0)==(k|0)?h>>>0<(c[f>>2]|0)>>>0:0)):0){k=j;c[k>>2]=h;c[k+4>>2]=i;iv(a,e,b)}g=_A(a,g,b)|0}return}function jv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=0;g=ZA(a,b)|0;while(1){if(!g){d=1;break}e=c[g>>2]&3;d=c[((e|0)==3?g:g+48|0)+40>>2]|0;if((d|0)==(b|0))d=c[((e|0)==2?g:g+-48|0)+40>>2]|0;if((d|0)!=(b|0)){if(f)if((f|0)==(d|0))d=f;else{d=0;break}}else d=f;f=d;g=_A(a,g,b)|0}return d|0}function kv(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;b=l;l=l+32|0;e=b;d=DA(a,1,94423,0)|0;g=DA(a,0,94423,0)|0;a=lv(a,g,d,DA(a,0,94428,0)|0)|0;d=a+16|0;f=+G(+(+h[a>>3]+.1));wv(e,0.0,0.0,f,f);c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[d+16>>2]=c[e+16>>2];c[d+20>>2]=c[e+20>>2];c[d+24>>2]=c[e+24>>2];c[d+28>>2]=c[e+28>>2];mv(a);nv(a);ov(a);l=b;return}function lv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=HK(72)|0;c[o+60>>2]=0;c[o+56>>2]=a;k=a+16|0;f=0.0;l=0;i=1;j=0;m=0;while(1){g=c[k>>2]|0;if((i|0)>(c[g+180>>2]|0))break;g=lv(c[(c[g+184>>2]|0)+(i<<2)>>2]|0,b,d,e)|0;f=f+ +h[g>>3];if(j|0)c[j+52>>2]=g;l=l+1|0;i=i+1|0;j=g;m=(m|0)==0?g:m}n=gC(a)|0;g=m;while(1){if(!n)break;i=n+16|0;if(!(c[c[(c[i>>2]|0)+112>>2]>>2]|0)){k=rv(n,d)|0;f=f+ +h[k>>3];if(j|0)c[j+52>>2]=k;c[c[(c[i>>2]|0)+112>>2]>>2]=a;i=l+1|0;j=k;g=(g|0)==0?k:g}else i=l;n=hC(a,n)|0;l=i}c[o+64>>2]=l;if(!l)f=+tv(a,b);else{h[o+8>>3]=f;f=+sv(o,e)}h[o>>3]=f;c[o+48>>2]=g;return o|0}function mv(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;s=l;l=l+176|0;i=s+144|0;q=s+64|0;o=s+32|0;m=s;r=c[b+64>>2]|0;a:do if(r|0){p=HK(r<<2)|0;d=b+48|0;f=0;e=d;while(1){e=c[e>>2]|0;if((f|0)>=(r|0))break;c[p+(f<<2)>>2]=e;f=f+1|0;e=e+52|0}k3(p,r,4,80);n=HK(r<<3)|0;e=0;while(1){if((e|0)>=(r|0))break;h[n+(e<<3)>>3]=+h[c[p+(e<<2)>>2]>>3];e=e+1|0}j=+h[b+8>>3];e=b+16|0;f=b+32|0;g=b+40|0;k=b+24|0;if(+h[b>>3]==j){c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[i+16>>2]=c[e+16>>2];c[i+20>>2]=c[e+20>>2];c[i+24>>2]=c[e+24>>2];c[i+28>>2]=c[e+28>>2];i=uv(r,n,i)|0}else{t=+h[g>>3];u=+h[f>>3];h[m>>3]=+h[e>>3];h[m+8>>3]=+h[k>>3];v=t-u;j=(t+u-+G(+(j*4.0+v*v)))*.5;h[m+16>>3]=u-j;h[m+24>>3]=t-j;c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[i+16>>2]=c[m+16>>2];c[i+20>>2]=c[m+20>>2];c[i+24>>2]=c[m+24>>2];c[i+28>>2]=c[m+28>>2];i=uv(r,n,i)|0}if(a[195234]|0){m=c[15715]|0;t=+h[k>>3];u=+h[f>>3];v=+h[g>>3];h[o>>3]=+h[e>>3];h[o+8>>3]=t;h[o+16>>3]=u;h[o+24>>3]=v;z4(m,94475,o)|0}f=c[15715]|0;e=0;while(1){if((e|0)>=(r|0))break;o=(c[p+(e<<2)>>2]|0)+16|0;g=i+(e<<5)|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];if(a[195234]|0){j=+h[g>>3];u=+h[i+(e<<5)+16>>3];x=u*.5;t=+h[i+(e<<5)+8>>3];v=+h[i+(e<<5)+24>>3];w=v*.5;h[q>>3]=+h[n+(e<<3)>>3];h[q+8>>3]=j-x;h[q+16>>3]=t-w;h[q+24>>3]=j+x;h[q+32>>3]=t+w;h[q+40>>3]=u*v;h[q+48>>3]=j;h[q+56>>3]=t;h[q+64>>3]=u;h[q+72>>3]=v;z4(f,94492,q)|0}e=e+1|0}l6(p);l6(n);l6(i);e=0;while(1){d=c[d>>2]|0;if((e|0)>=(r|0))break a;if(!(c[d+60>>2]|0))mv(d);d=d+52|0;e=e+1|0}}while(0);l=s;return}function nv(b){b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0,k=0,m=0.0,n=0.0;g=l;l=l+48|0;f=g;e=b+56|0;if(c[b+60>>2]|0){m=+h[b+24>>3];j=+h[b+32>>3];i=+h[b+40>>3];d=c[e>>2]|0;e=d+16|0;k=c[e>>2]|0;h[k+16>>3]=+h[b+16>>3];h[k+24>>3]=m;b=c[e>>2]|0;h[b+32>>3]=j/72.0;h[b+40>>3]=i/72.0;oQ(d,c[(c[(uC(d)|0)+16>>2]|0)+116>>2]&1);pv(d);if(a[195234]|0){k=c[15715]|0;b=HB(d)|0;e=c[e>>2]|0;n=+h[e+16>>3];i=+h[e+24>>3];j=+h[e+80>>3];m=+h[e+88>>3]+ +h[e+96>>3];c[f>>2]=b;h[f+8>>3]=n;h[f+16>>3]=i;h[f+24>>3]=j;h[f+32>>3]=m;z4(k,94434,f)|0}}else{d=b+48|0;while(1){d=c[d>>2]|0;if(!d)break;nv(d);d=d+52|0}i=+h[b+32>>3];m=+h[b+40>>3];j=+h[b+16>>3]-i*.5;n=+h[b+24>>3]-m*.5;k=c[(c[e>>2]|0)+16>>2]|0;h[k+16>>3]=j;h[k+24>>3]=n;h[k+32>>3]=i+j;h[k+40>>3]=m+n}l=g;return}function ov(a){a=a|0;var b=0,d=0,e=0;e=c[a+64>>2]|0;b=a+48|0;d=0;while(1){b=c[b>>2]|0;if((d|0)>=(e|0))break;ov(b);b=b+52|0;d=d+1|0}l6(a);return}function pv(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g;d=g+8|0;e=c[47212]|0;if(e|0?(a[(OA(b,e)|0)>>0]|0)==0:0){h[f>>3]=+h[(c[b+16>>2]|0)+80>>3]*.7;i2(d,94469,f)|0;HA(b,c[47212]|0,d)|0}qP(b);l=g;return}function qv(a,b){a=a|0;b=b|0;var d=0.0;d=+h[c[a>>2]>>3]-+h[c[b>>2]>>3];return (d<0.0?1:(d>0.0)<<31>>31)|0}function rv(a,b){a=a|0;b=b|0;var d=0;d=HK(72)|0;h[d>>3]=+tv(a,b);c[d+60>>2]=1;c[d+56>>2]=a;return d|0}function sv(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;e=+YO(c[a+56>>2]|0,b,0.0,0.0);d=+h[a+8>>3];if(!(e==0.0)){d=e*2.0+ +G(+d);d=d*d}return +d}function tv(a,b){a=a|0;b=b|0;var c=0.0;c=+YO(a,b,1.0,0.0);return +(c==0.0?1.0e3:c*1.0e3)}function uv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0;i=l;l=l+32|0;g=i;e=0;f=0.0;while(1){if((e|0)>=(a|0))break;j=f+ +h[b+(e<<3)>>3];e=e+1|0;f=j}if(f>+h[d+16>>3]*+h[d+24>>3]+.001)e=0;else{e=HK(a<<5)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[g+16>>2]=c[d+16>>2];c[g+20>>2]=c[d+20>>2];c[g+24>>2]=c[d+24>>2];c[g+28>>2]=c[d+28>>2];vv(a,b,e,0,0.0,1.0,0.0,1.0,g)}l=i;return e|0}function vv(b,d,e,f,g,i,j,k,m){b=b|0;d=d|0;e=e|0;f=f|0;g=+g;i=+i;j=+j;k=+k;m=m|0;var n=0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0;B=l;l=l+112|0;A=B+72|0;v=B+40|0;r=B+32|0;n=B;z=m+16|0;o=+h[z>>3];x=m+24|0;p=+h[x>>3];w=+h[m+16+((!(o>3];do if((b|0)>=1){y=m+8|0;if(a[195234]|0){C=c[15715]|0;D=+h[y>>3];h[n>>3]=+h[m>>3];h[n+8>>3]=o;h[n+16>>3]=D;h[n+24>>3]=p;z4(C,94529,n)|0;c[r>>2]=f;z4(C,94575,r)|0}if(!f){j=+h[d>>3];D=w*w;w=j/D;D=D/j;c[A>>2]=c[m>>2];c[A+4>>2]=c[m+4>>2];c[A+8>>2]=c[m+8>>2];c[A+12>>2]=c[m+12>>2];c[A+16>>2]=c[m+16>>2];c[A+20>>2]=c[m+20>>2];c[A+24>>2]=c[m+24>>2];c[A+28>>2]=c[m+28>>2];vv(b,d,e,1,j,j,j,w>D?w:D,A);break}r=d+(f<<3)|0;if((b|0)>(f|0)?(u=+h[r>>3],q=ui?i:u,u=u+j,s=u/w,D=s/(t/s),s=q/s/s,s=D>s?D:s,s<=k):0){c[A>>2]=c[m>>2];c[A+4>>2]=c[m+4>>2];c[A+8>>2]=c[m+8>>2];c[A+12>>2]=c[m+12>>2];c[A+16>>2]=c[m+16>>2];c[A+20>>2]=c[m+20>>2];c[A+24>>2]=c[m+24>>2];c[A+28>>2]=c[m+28>>2];vv(b,d,e,f+1|0,q,t,u,s,A);break}q=j/w;if(a[195234]|0){C=c[15715]|0;c[v>>2]=f;h[v+8>>3]=j;h[v+16>>3]=w;h[v+24>>3]=q;z4(C,94600,v)|0}o=+h[z>>3];p=q*.5;if(w==o){o=+h[m>>3]-o*.5;n=0;while(1){if((n|0)>=(f|0))break;h[e+(n<<5)+24>>3]=q;D=+h[d+(n<<3)>>3]/q;h[e+(n<<5)+16>>3]=D;h[e+(n<<5)+8>>3]=+h[y>>3]+ +h[x>>3]*.5-p;h[e+(n<<5)>>3]=o+D*.5;o=o+D;n=n+1|0}h[y>>3]=+h[y>>3]-p;n=1}else{o=+h[y>>3]+ +h[x>>3]*.5;n=0;while(1){if((n|0)>=(f|0))break;h[e+(n<<5)+16>>3]=q;D=+h[d+(n<<3)>>3]/q;h[e+(n<<5)+24>>3]=D;h[e+(n<<5)>>3]=p+(+h[m>>3]-+h[z>>3]*.5);h[e+(n<<5)+8>>3]=o-D*.5;o=o-D;n=n+1|0}h[m>>3]=p+ +h[m>>3];n=0}C=m+16+(n<<3)|0;h[C>>3]=+h[C>>3]-q;c[A>>2]=c[m>>2];c[A+4>>2]=c[m+4>>2];c[A+8>>2]=c[m+8>>2];c[A+12>>2]=c[m+12>>2];c[A+16>>2]=c[m+16>>2];c[A+20>>2]=c[m+20>>2];c[A+24>>2]=c[m+24>>2];c[A+28>>2]=c[m+28>>2];vv(b-f|0,r,e+(f<<5)|0,0,0.0,0.0,0.0,1.0,A)}while(0);l=B;return}function wv(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function xv(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=l;l=l+96|0;D=E+48|0;C=E+24|0;B=E+16|0;A=E+8|0;v=E+80|0;w=E;x=d+4|0;y=v+4|0;z=a+16|0;t=gC(a)|0;e=0;f=0;i=0;j=0;while(1){if(!t)break;u=UA(a,t)|0;r=e;s=j;while(1){if(!u)break;e=(b[(c[u+16>>2]|0)+168>>1]|0)==0;do if((t|0)!=(c[((c[u>>2]&3|0)==2?u:u+-48|0)+40>>2]|0)|e)if(!e){i=yv(u,d)|0;j=i+8|0;if(it(c[j>>2]|0,c[i>>2]|0)|0){k=HX(c[j>>2]|0,c[i>>2]|0)|0;if(!k){dA(0,94653,A)|0;j=1;e=s;break}else e=u;while(1){if(!e)break;F=e+16|0;G=(c[F>>2]|0)+144|0;Nm(w,e,k,0,c[j>>2]|0,c[i>>2]|0);I=w;H=c[I+4>>2]|0;c[G>>2]=c[I>>2];c[G+4>>2]=H;Pm(a,e,c[j>>2]|0,c[i>>2]|0,0);e=c[(c[F>>2]|0)+172>>2]|0}zv(i);j=r;e=s;break}if(!r){ir(v,a);e=jH(a,8,8)|0;dA(0,94737,B)|0;n=+(e|0);o=+g[d>>2];p=+g[x>>2];q=p;if(!(n<=o)&!(n<=p)){m=+g[v>>2];n=+g[y>>2];if(!(!(m<=o)&!(n<=p))){h[D>>3]=m;h[D+8>>3]=n;h[D+16>>3]=o;h[D+24>>3]=q;dA(3,94853,D)|0}}else{c[C>>2]=e;h[C+8>>3]=o;h[C+16>>3]=q;dA(3,94803,C)|0}j=1;e=s}else{j=r;e=s}}else{j=r;e=s}else{if(!f){e=HK(96)|0;c[e+84>>2]=HK(((qB(a)|0)<<5)+11520|0)|0;f=e}else e=s;Hm(f,u,c[(c[z>>2]|0)+248>>2]|0);j=r}while(0);u=WA(a,u)|0;r=j;s=e}t=hC(a,t)|0;e=r;j=s}Av(i);if(f|0){l6(c[f+84>>2]|0);l6(j)}l=E;return e|0}function yv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;m=p+4|0;n=p;e=c[b>>2]&3;f=c[((e|0)==2?b:b+-48|0)+40>>2]|0;e=c[((e|0)==3?b:b+48|0)+40>>2]|0;q=f+16|0;h=c[(c[q>>2]|0)+212>>2]|0;c[m>>2]=h;i=e+16|0;g=c[(c[i>>2]|0)+212>>2]|0;c[n>>2]=g;k=HK(12)|0;b=h;j=g;if(a[(c[q>>2]|0)+118>>0]|0){b=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2]|0;c[m>>2]=b;f=h;h=b}if(!(a[(c[i>>2]|0)+118>>0]|0))i=j;else{i=c[(c[(c[j+16>>2]|0)+140>>2]|0)+48>>2]|0;c[n>>2]=i;e=g;g=i}h=c[(c[(c[h+16>>2]|0)+140>>2]|0)+44>>2]|0;g=c[(c[(c[g+16>>2]|0)+140>>2]|0)+44>>2]|0;if((h|0)<=(g|0))if((g|0)>(h|0)){Bv(k,g,e,h,n,d);b=c[n>>2]|0;g=b;e=n;o=11}else h=i;else{Bv(k,h,f,g,m,d);b=c[m>>2]|0;f=b;g=e;e=m;o=11}while(1){if((o|0)==11){c[e>>2]=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2];e=g;b=c[m>>2]|0;h=c[n>>2]|0}if((b|0)==(h|0))break;Cv(k,b,0,f,d);Cv(k,h,e,0,d);c[m>>2]=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2];f=b;g=h;e=n;b=h;o=11}Cv(k,h,e,f,d);l=p;return k|0}function zv(a){a=a|0;c[a>>2]=0;return}function Av(a){a=a|0;if(a|0){l6(c[a+8>>2]|0);l6(a)}return}function Bv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=f;while(1){h=c[i>>2]|0;if((b|0)<=(e|0))break;Cv(a,h,d,0,g);b=b+-1|0;i=(c[(c[h+16>>2]|0)+140>>2]|0)+48|0;d=h}c[f>>2]=d;return}function Cv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=gC(d)|0;while(1){if(!h)break;i=c[h+16>>2]|0;if(!((h|0)==(f|0)|((h|0)==(e|0)?1:(c[i+212>>2]|0)!=(d|0)))?(a[i+118>>0]|0)==0:0)Dv(b,Km(h,g,0)|0);h=hC(d,h)|0}i=d+16|0;d=1;while(1){h=c[i>>2]|0;if((d|0)>(c[h+180>>2]|0))break;h=c[(c[h+184>>2]|0)+(d<<2)>>2]|0;if(!((h|0)==(e|0)|(h|0)==(f|0)))Dv(b,Ev(h,g)|0);d=d+1|0}return}function Dv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+4|0;f=c[e>>2]|0;g=a+8|0;d=c[g>>2]|0;do if((f|0)==(c[a>>2]|0))if(!d){d=IK(400)|0;c[g>>2]=d;c[e>>2]=100;break}else{c[e>>2]=f<<1;d=KK(d,f<<3)|0;c[g>>2]=d;break}while(0);g=c[a>>2]|0;c[a>>2]=g+1;c[d+(g<<2)>>2]=b;return}function Ev(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0;n=HK(8)|0;b=c[b+16>>2]|0;e=+h[b+16>>3];l=+h[b+24>>3];f=+h[b+32>>3];k=+h[b+40>>3];c[n+4>>2]=4;b=HK(64)|0;c[n>>2]=b;i=+g[d>>2];m=+g[d+4>>2];if(!(a[d+8>>0]|0)){p=(e+f)*.5*(i+-1.0);o=(l+k)*.5*(m+-1.0);j=e*i-p;i=f*i-p;f=k*m-o;e=l*m-o}else{j=e-i;i=f+i;f=k+m;e=l-m}h[b>>3]=j;h[b+8>>3]=e;h[b+16>>3]=j;h[b+24>>3]=f;h[b+32>>3]=i;h[b+40>>3]=f;h[b+48>>3]=i;h[b+56>>3]=e;return n|0}function Fv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+160|0;o=p+16|0;k=p+8|0;g=p;m=p+24|0;n=HK(qB(b)|0)|0;h=b+16|0;f=c[c[(c[h>>2]|0)+140>>2]>>2]|0;a:do if(!f){g=0;f=0}else{j=HB(b)|0;i=c[46965]|0;c[g>>2]=j;c[g+4>>2]=i;i2(m,94913,g)|0;i=LD(b,m,1)|0;RC(i,137786,280,1)|0;j=HK(56)|0;c[(c[i+16>>2]|0)+140>>2]=j;c[j>>2]=f;c[j+4>>2]=c[(c[(c[h>>2]|0)+140>>2]|0)+4>>2];while(1){g=c[f+4>>2]|0;if(!g){g=i;f=1;break a}if(!(a[n+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0))Gv(b,g,i,n);f=f+16|0}}while(0);i=0;j=gC(b)|0;while(1){h=(g|0)!=0;if(!j)break;q=c[j+16>>2]|0;if((a[n+(c[q+120>>2]|0)>>0]|0)==0?(a[q+119>>0]|0)==3:0){if(!h){q=HB(b)|0;g=(c[46965]|0)+f|0;c[k>>2]=q;c[k+4>>2]=g;i2(m,94913,k)|0;g=LD(b,m,1)|0;RC(g,137786,280,1)|0;q=HK(56)|0;c[(c[g+16>>2]|0)+140>>2]=q;f=f+1|0}Gv(b,j,g,n);h=1}else h=i;i=h;j=hC(b,j)|0}if(h)IG(g)|0;g=gC(b)|0;while(1){if(!g)break;if(!(a[n+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0)){k=HB(b)|0;q=(c[46965]|0)+f|0;c[o>>2]=k;c[o+4>>2]=q;i2(m,94921,o)|0;q=LD(b,m,1)|0;RC(q,137786,280,1)|0;k=HK(56)|0;c[(c[q+16>>2]|0)+140>>2]=k;Gv(b,g,q,n);IG(q)|0;f=f+1|0}g=hC(b,g)|0}l6(n);c[46965]=(c[46965]|0)+f;if(d|0)c[d>>2]=f;if(e|0)c[e>>2]=i;i=HK((f<<2)+4|0)|0;h=i;g=MD(b)|0;while(1){if(!g)break;c[h>>2]=g;h=h+4|0;g=ND(g)|0;f=f+-1|0}if(!f){c[h>>2]=0;l=p;return i|0}else Aa(94929,94940,134,94947);return 0}function Gv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a[f+(c[(c[d+16>>2]|0)+120>>2]|0)>>0]=1;lC(e,d,1)|0;i=ZA(b,d)|0;while(1){if(!i)break;h=c[i>>2]&3;g=c[((h|0)==3?i:i+48|0)+40>>2]|0;if((g|0)==(d|0))g=c[((h|0)==2?i:i+-48|0)+40>>2]|0;if(!(a[f+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0))Gv(b,g,e,f);i=_A(b,i,d)|0}return}function Hv(a){a=a|0;var b=0;b=IK(24)|0;c[46966]=b;c[b>>2]=Sz(18244,c[4591]|0)|0;c[b+16>>2]=0;c[b+12>>2]=0;c[b+4>>2]=Iv(a)|0;return b|0}function Iv(a){a=a|0;var b=0,d=0;b=IK(16)|0;c[b+12>>2]=0;d=IK(a*20|0)|0;c[b>>2]=d;c[b+8>>2]=d+(a*20|0);c[b+4>>2]=d;return b|0}function Jv(a,b,d){a=a|0;b=b|0;d=d|0;d=Lv(c[46966]|0)|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=0;return d|0}function Kv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[b>>2]|0)-(c[d>>2]|0)|0;if(!a)a=(c[b+4>>2]|0)-(c[d+4>>2]|0)|0;return a|0}function Lv(a){a=a|0;var b=0,d=0,e=0,f=0;f=a+8|0;a=c[f>>2]|0;b=c[a+4>>2]|0;if((b|0)==(c[a+8>>2]|0)){d=a+12|0;e=c[d>>2]|0;if(!e){a=Iv(((b-(c[a>>2]|0)|0)/20|0)<<1)|0;c[d>>2]=a}else a=e;c[f>>2]=a;b=c[a>>2]|0;c[a+4>>2]=b}c[a+4>>2]=b+20;return b|0}function Mv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+12|0;d=c[f>>2]|0;if((d|0)<(b|0)){e=d<<1;e=(e|0)<(b|0)?b:e;b=a+16|0;d=c[b>>2]|0;if(d|0)l6(d);c[b>>2]=IK(e<<3)|0;c[f>>2]=e}return}function Nv(a){a=a|0;var b=0;b=c[a>>2]|0;eb[c[b>>2]&63](b,0,64)|0;c[a+20>>2]=c[a+16>>2];b=c[a+4>>2]|0;c[a+8>>2]=b;c[b+4>>2]=c[b>>2];return}function Ov(a){a=a|0;Oz(c[a>>2]|0)|0;Pv(c[a+4>>2]|0);l6(c[a+16>>2]|0);l6(a);return}function Pv(a){a=a|0;var b=0;while(1){if(!a)break;b=c[a+12>>2]|0;l6(c[a>>2]|0);l6(a);a=b}return}function Qv(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=l;l=l+32|0;g=h;i=h+12|0;c[i>>2]=b;c[i+4>>2]=e;j=c[a>>2]|0;i=(eb[c[j>>2]&63](j,i,1)|0)+8|0;c[i>>2]=Rv(a,f,c[i>>2]|0)|0;if((d[195234]|0)>2){j=c[15715]|0;i=HB(f)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=i;z4(j,94957,g)|0}l=h;return}function Rv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+20|0;a=c[e>>2]|0;c[e>>2]=a+8;c[a>>2]=b;c[a+4>>2]=d;return a|0}function Sv(a,b){a=a|0;b=b|0;Zz(c[a>>2]|0,b,a)|0;return}function Tv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+32|0;f=e;c[f>>2]=b;c[f+4>>2]=d;d=c[a>>2]|0;d=eb[c[d>>2]&63](d,f,4)|0;l=e;return d|0}function Uv(a){a=a|0;l6(c[a+8>>2]|0);l6(a);return}function Vv(a){a=a|0;return +(+h[a>>3])}function Wv(a){a=a|0;return c[a+8>>2]|0}function Xv(a){a=a|0;return ~~+h[a+16>>3]|0}function Yv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=c[b>>2]|0;if((b|0)>=(c[d>>2]|0)){b=b+10|0;c[d>>2]=b;c[e>>2]=KK(c[e>>2]|0,S(a<<3,b)|0)|0;c[f>>2]=KK(c[f>>2]|0,c[d>>2]<<3)|0;c[g>>2]=KK(c[g>>2]|0,c[d>>2]<<3)|0}return}function Zv(a,b,d,e,f,g,i,j,k,l,m){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0.0;h[l>>3]=+h[l>>3]+1.0;a:do if(a|0){q=c[a+16>>2]|0;n=c[a+40>>2]|0;if(n|0)do{Yv(q,f,g,i,j,k);if((Xv(wy(n)|0)|0)!=(e|0)){p=Wv(wy(n)|0)|0;o=0;while(1){if((o|0)>=(q|0))break;h[(c[i>>2]|0)+((S(c[f>>2]|0,q)|0)+o<<3)>>3]=+h[p+(o<<3)>>3];o=o+1|0}r=+Vv(wy(n)|0);h[(c[j>>2]|0)+(c[f>>2]<<3)>>3]=r;r=+Yw(d,p,q);p=c[f>>2]|0;h[(c[k>>2]|0)+(p<<3)>>3]=r;c[f>>2]=p+1}n=xy(n)|0}while((n|0)!=0);p=a+36|0;if(c[p>>2]|0){r=+Yw(c[a+20>>2]|0,d,q);if(!(+h[a+24>>3]=(o|0))break a;Zv(c[(c[p>>2]|0)+(n<<2)>>2]|0,b,d,e,f,g,i,j,k,l,m);n=n+1|0}}Yv(q,f,g,i,j,k);o=c[a+32>>2]|0;p=c[f>>2]|0;m=S(p,q)|0;n=0;while(1){if((n|0)>=(q|0))break;h[(c[i>>2]|0)+(m+n<<3)>>3]=+h[o+(n<<3)>>3];n=n+1|0}h[(c[j>>2]|0)+(p<<3)>>3]=+h[a+8>>3];r=+Yw(o,d,q);j=c[f>>2]|0;h[(c[k>>2]|0)+(j<<3)>>3]=r;c[f>>2]=j+1}}while(0);return}function _v(a,b,d,e,f,g,i,j,k,l,m){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0;n=c[a+16>>2]|0;h[l>>3]=0.0;c[f>>2]=0;c[m>>2]=0;c[g>>2]=10;if(!(c[i>>2]|0))c[i>>2]=IK(n*80|0)|0;if(!(c[j>>2]|0))c[j>>2]=IK(c[g>>2]<<3)|0;if(!(c[k>>2]|0))c[k>>2]=IK(c[g>>2]<<3)|0;Zv(a,b,d,e,f,g,i,j,k,l,m);return}function $v(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=+g;i=i|0;j=j|0;var k=0,l=0,m=0;m=c[a>>2]|0;l=c[a+16>>2]|0;k=0;while(1){if((k|0)==4)break;h[i+(k<<3)>>3]=0.0;k=k+1|0}c[j>>2]=0;l=S(l,m)|0;k=0;while(1){if((k|0)>=(l|0))break;h[b+(k<<3)>>3]=0.0;k=k+1|0}aw(a,a,d,b,e,f,g,i);bw(a,b,i);e=+(m|0);k=0;while(1){if((k|0)==4)break;m=i+(k<<3)|0;h[m>>3]=+h[m>>3]/e;k=k+1|0}return}function aw(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=+i;j=j|0;var k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0;a:do if((a|0)!=0&(b|0)!=0){if((c[a>>2]|0)>0?(c[b>>2]|0)>0:0){v=c[a+16>>2]|0;p=c[a+40>>2]|0;u=b+40|0;l=c[u>>2]|0;k=a+32|0;m=b+32|0;r=+Yw(c[k>>2]|0,c[m>>2]|0,v);n=+h[a+24>>3];o=+h[b+24>>3];w=g==-1.0;x=1.0-g;if(n+o>3]=+h[j>>3]+1.0;q=c[k>>2]|0;o=+h[a+8>>3];p=cw(a,v)|0;m=c[m>>2]|0;n=+h[b+8>>3];l=cw(b,v)|0;if(!(r>0.0))Aa(95099,94982,191,95065);o=o*n*i;f=r*r;k=0;while(1){if((k|0)>=(v|0))break a;if(w)n=f;else n=+H(+r,+x);i=o*(+h[q+(k<<3)>>3]-+h[m+(k<<3)>>3])/n;e=p+(k<<3)|0;h[e>>3]=+h[e>>3]+i;e=l+(k<<3)|0;h[e>>3]=+h[e>>3]-i;k=k+1|0}}m=(p|0)!=0;k=(l|0)!=0;t=(a|0)==(b|0);if(m&k){b=j+8|0;l=p;while(1){if(!l)break a;p=Wv(wy(l)|0)|0;g=+Vv(wy(l)|0);q=Xv(wy(l)|0)|0;s=dw(e,q,l,v)|0;m=c[u>>2]|0;while(1){if(!m)break;a=Wv(wy(m)|0)|0;n=+Vv(wy(m)|0);k=Xv(wy(m)|0)|0;j=dw(e,k,m,v)|0;b:do if(!((q|0)==(k|0)|t&(k|0)<(q|0))){h[b>>3]=+h[b>>3]+1.0;r=+Ww(d,v,q,k);o=g*n*i;f=r*r;k=0;while(1){if((k|0)>=(v|0))break b;if(w)n=f;else n=+H(+r,+x);n=o*(+h[p+(k<<3)>>3]-+h[a+(k<<3)>>3])/n;y=s+(k<<3)|0;h[y>>3]=+h[y>>3]+n;y=j+(k<<3)|0;h[y>>3]=+h[y>>3]-n;k=k+1|0}}while(0);m=xy(m)|0}l=xy(l)|0}}q=1<=(q|0))break a;m=c[(c[p>>2]|0)+(l<<2)>>2]|0;k=l;while(1){if((k|0)==(q|0))break;aw(m,c[(c[p>>2]|0)+(k<<2)>>2]|0,d,e,f,g,i,j);k=k+1|0}l=l+1|0}}if(!(m|!(n>o))){k=0;while(1){if((k|0)>=(q|0))break a;aw(c[(c[p>>2]|0)+(k<<2)>>2]|0,b,d,e,f,g,i,j);k=k+1|0}}l=b+36|0;if(!(k|!(o>n))){k=0;while(1){if((k|0)>=(q|0))break a;aw(c[(c[l>>2]|0)+(k<<2)>>2]|0,a,d,e,f,g,i,j);k=k+1|0}}if(!m){k=0;while(1){if((k|0)>=(q|0))break a;aw(c[(c[p>>2]|0)+(k<<2)>>2]|0,b,d,e,f,g,i,j);k=k+1|0}}if(k)Aa(138697,94982,273,95065);else s=0;while(1){if((s|0)>=(q|0))break a;aw(c[(c[l>>2]|0)+(s<<2)>>2]|0,a,d,e,f,g,i,j);s=s+1|0}}Aa(95040,94982,175,95065)}while(0);return}function bw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;e=c[a+40>>2]|0;l=c[a+16>>2]|0;m=+h[a+8>>3];n=cw(a,l)|0;if(!(m>0.0))Aa(94974,94982,289,94993);k=d+16|0;h[k>>3]=+h[k>>3]+1.0;a:do if(!e){k=1<=(k|0))break a;i=c[(c[f>>2]|0)+(e<<2)>>2]|0;if(i|0){if((c[i>>2]|0)<=0)break;j=cw(i,l)|0;g=+h[i+8>>3]/m;a=0;while(1){if((a|0)>=(l|0))break;o=j+(a<<3)|0;h[o>>3]=+h[o>>3]+g*+h[n+(a<<3)>>3];a=a+1|0}bw(i,b,d)}e=e+1|0}Aa(95029,94982,307,94993)}else while(1){if(!e)break a;f=dw(b,Xv(wy(e)|0)|0,e,l)|0;g=+Vv(wy(e)|0)/m;a=0;while(1){if((a|0)>=(l|0))break;o=f+(a<<3)|0;h[o>>3]=+h[o>>3]+g*+h[n+(a<<3)>>3];a=a+1|0}e=xy(e)|0}while(0);return}function cw(a,b){a=a|0;b=b|0;var d=0;d=a+48|0;a=c[d>>2]|0;a:do if(!a){a=IK(b<<3)|0;c[d>>2]=a;d=0;while(1){if((d|0)>=(b|0))break a;h[a+(d<<3)>>3]=0.0;d=d+1|0}}while(0);return a|0}function dw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[(wy(d)|0)+24>>2]|0;if(!f){f=a+((S(e,b)|0)<<3)|0;c[(wy(d)|0)+24>>2]=f;f=c[(wy(d)|0)+24>>2]|0}return f|0}function ew(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0;m=a<<3;k=IK(m)|0;l=IK(m)|0;m=IK(m)|0;if((k|0)!=0&(l|0)!=0&(m|0)!=0){f=0;while(1){if((f|0)>=(a|0)){f=0;break}h[k+(f<<3)>>3]=+h[d+(f<<3)>>3];f=f+1|0}while(1){if((f|0)>=(a|0)){g=1;break}h[l+(f<<3)>>3]=+h[d+(f<<3)>>3];f=f+1|0}while(1){if((g|0)>=(b|0))break;j=S(g,a)|0;f=0;while(1){if((f|0)>=(a|0))break;n=k+(f<<3)|0;i=+h[n>>3];p=d+(f+j<<3)|0;o=+h[p>>3];h[n>>3]=i>3];i=+h[p>>3];h[n>>3]=o>i?o:i;f=f+1|0}g=g+1|0}i=+h[l>>3]-+h[k>>3];f=0;while(1){if((f|0)>=(a|0))break;p=k+(f<<3)|0;n=l+(f<<3)|0;h[m+(f<<3)>>3]=(+h[p>>3]+ +h[n>>3])*.5;o=+h[n>>3]-+h[p>>3];i=i>o?i:o;f=f+1|0}f=fw(a,m,i==0.0?5.2e-06:i*.52,c)|0;a:do if(!e){g=0;while(1){if((g|0)>=(b|0))break a;f=gw(f,d+((S(g,a)|0)<<3)|0,1.0,g)|0;g=g+1|0}}else{g=0;while(1){if((g|0)>=(b|0))break a;p=d+((S(g,a)|0)<<3)|0;f=gw(f,p,+h[e+(g<<3)>>3],g)|0;g=g+1|0}}while(0);l6(k);l6(l);l6(m)}else{l6(k);l6(l);l6(m);f=0}return f|0}function fw(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,g=0,i=0;g=IK(56)|0;c[g+16>>2]=a;c[g>>2]=0;i=IK(a<<3)|0;c[g+20>>2]=i;f=0;while(1){if((f|0)>=(a|0))break;h[i+(f<<3)>>3]=+h[b+(f<<3)>>3];f=f+1|0}if(d>0.0){h[g+24>>3]=d;h[g+8>>3]=0.0;c[g+32>>2]=0;c[g+36>>2]=0;c[g+40>>2]=0;c[g+44>>2]=e;c[g+48>>2]=0;return g|0}else Aa(95197,94982,410,95207);return 0}function gw(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;if(!a)a=0;else hw(a,b,c,d,0)|0;return a|0}function hw(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=a+16|0;s=c[w>>2]|0;u=c[a+44>>2]|0;r=a+20|0;t=a+24|0;j=c[a>>2]|0;m=a+8|0;x=a+40|0;do if(!j){c[a>>2]=1;h[m>>3]=d;j=IK(s<<3)|0;c[a+32>>2]=j;i=c[w>>2]|0;g=0;while(1){if((g|0)>=(i|0))break;h[j+(g<<3)>>3]=+h[b+(g<<3)>>3];g=g+1|0}g=iw(i,d,b,e)|0;if(!(c[x>>2]|0)){c[x>>2]=ty(g)|0;break}else Aa(95108,94982,502,95116)}else{v=a+36|0;p=a+32|0;o=+h[m>>3]+d;n=j+1|0;if((u|0)<=(f|0)){if(c[v>>2]|0)Aa(95182,94982,541,95116);c[a>>2]=n;h[m>>3]=o;k=+(n|0);l=+(j+2|0);g=0;while(1){if((g|0)>=(s|0))break;q=(c[p>>2]|0)+(g<<3)|0;h[q>>3]=(+h[b+(g<<3)>>3]+ +h[q>>3]*k)/l;g=g+1|0}g=iw(s,d,b,e)|0;i=c[x>>2]|0;if(!i)Aa(95192,94982,547,95116);else{c[x>>2]=vy(i,g)|0;break}}h[m>>3]=o;l=+(j|0);k=+(n|0);g=0;while(1){if((g|0)>=(s|0))break;q=(c[p>>2]|0)+(g<<3)|0;h[q>>3]=(l*+h[q>>3]+ +h[b+(g<<3)>>3])/k;g=g+1|0}q=1<>2]|0)){c[v>>2]=IK(q<<2)|0;g=0;while(1){if((g|0)>=(q|0))break a;c[(c[v>>2]|0)+(g<<2)>>2]=0;g=g+1|0}}while(0);g=c[r>>2]|0;j=jw(s,g,b)|0;if(!((j|0)<(q|0)&(j|0)>-1))Aa(95138,94982,515,95116);i=c[(c[v>>2]|0)+(j<<2)>>2]|0;if(!i){i=kw(c[w>>2]|0,g,+h[t>>3]*.5,u,j)|0;c[(c[v>>2]|0)+(j<<2)>>2]=i;i=c[(c[v>>2]|0)+(j<<2)>>2]|0}p=f+1|0;e=hw(i,b,d,e,p)|0;c[(c[v>>2]|0)+(j<<2)>>2]=e;if(!(c[(c[v>>2]|0)+(j<<2)>>2]|0))Aa(95161,94982,519,95116);g=c[x>>2]|0;do if(g|0){m=Xv(wy(g)|0)|0;if((c[a>>2]|0)!=1)Aa(95172,94982,523,95116);n=Wv(wy(c[x>>2]|0)|0)|0;k=+Vv(wy(c[x>>2]|0)|0);i=c[r>>2]|0;j=jw(s,i,n)|0;if(!((j|0)<(q|0)&(j|0)>-1))Aa(95138,94982,527,95116);g=c[(c[v>>2]|0)+(j<<2)>>2]|0;if(!g){g=kw(c[w>>2]|0,i,+h[t>>3]*.5,u,j)|0;c[(c[v>>2]|0)+(j<<2)>>2]=g;g=c[(c[v>>2]|0)+(j<<2)>>2]|0}w=hw(g,n,k,m,p)|0;c[(c[v>>2]|0)+(j<<2)>>2]=w;if(!(c[(c[v>>2]|0)+(j<<2)>>2]|0))Aa(95161,94982,532,95116);else{uy(c[x>>2]|0,106);c[x>>2]=0;break}}while(0);c[a>>2]=(c[a>>2]|0)+1}while(0);return a|0}function iw(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0,g=0;g=IK(32)|0;h[g>>3]=b;f=IK(a<<3)|0;c[g+8>>2]=f;h[g+16>>3]=+(e|0);e=0;while(1){if((e|0)>=(a|0))break;h[f+(e<<3)>>3]=+h[d+(e<<3)>>3];e=e+1|0}c[g+24>>2]=0;return g|0}function jw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a+-1|0;if((a|0)<=0)break;a=d;e=!(+h[c+(d<<3)>>3]-+h[b+(d<<3)>>3]<0.0)&1|e<<1}return e|0}function kw(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0.0;g=fw(a,b,d,e)|0;i=c[g+20>>2]|0;j=-d;e=0;b=f;while(1){if((e|0)>=(a|0))break;f=i+(e<<3)|0;h[f>>3]=((b&1|0)==0?j:d)+ +h[f>>3];e=e+1|0;b=(b|0)/2|0}return g|0}function lw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0){b=c[a+16>>2]|0;l6(c[a+20>>2]|0);l6(c[a+32>>2]|0);l6(c[a+48>>2]|0);g=a+36|0;e=c[g>>2]|0;if(e|0){f=1<=(f|0))break;lw(c[b+(d<<2)>>2]|0);d=d+1|0;b=c[g>>2]|0}l6(b)}uy(c[a+40>>2]|0,106);l6(a)}return}function mw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0;a:do if(!a)b=0;else{l=c[a+20>>2]|0;m=c[a+24>>2]|0;d=c[a+8>>2]|0;n=c[a>>2]|0;e=c[a+4>>2]|0;i=a+16|0;if((c[a+32>>2]|0)!=1)Aa(95220,95244,76,95259);b=ow(e,n,d,c[i>>2]|0,1)|0;c[b+8>>2]=d;o=c[b+20>>2]|0;k=c[b+24>>2]|0;d=0;while(1){if((d|0)>(e|0)){d=0;break}c[o+(d<<2)>>2]=0;d=d+1|0}b:while(1){if((d|0)>=(n|0)){d=0;break}f=d+1|0;g=l+(f<<2)|0;d=c[l+(d<<2)>>2]|0;while(1){if((d|0)>=(c[g>>2]|0)){d=f;continue b}j=o+((c[m+(d<<2)>>2]|0)+1<<2)|0;c[j>>2]=(c[j>>2]|0)+1;d=d+1|0}}while(1){if((d|0)>=(e|0))break;j=d+1|0;g=o+(j<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[o+(d<<2)>>2]|0);d=j}d=a+28|0;f=b+28|0;c:do switch(c[i>>2]|0){case 1:{j=c[d>>2]|0;g=c[f>>2]|0;f=0;d:while(1){if((f|0)>=(n|0))break c;a=f+1|0;i=l+(a<<2)|0;d=c[l+(f<<2)>>2]|0;while(1){if((d|0)>=(c[i>>2]|0)){f=a;continue d}r=m+(d<<2)|0;c[k+(c[o+(c[r>>2]<<2)>>2]<<2)>>2]=f;q=+h[j+(d<<3)>>3];r=o+(c[r>>2]<<2)|0;p=c[r>>2]|0;c[r>>2]=p+1;h[g+(p<<3)>>3]=q;d=d+1|0}}}case 2:{j=c[d>>2]|0;g=c[f>>2]|0;f=0;e:while(1){if((f|0)>=(n|0))break c;a=f+1|0;i=l+(a<<2)|0;d=c[l+(f<<2)>>2]|0;while(1){if((d|0)>=(c[i>>2]|0)){f=a;continue e}r=m+(d<<2)|0;c[k+(c[o+(c[r>>2]<<2)>>2]<<2)>>2]=f;t=d<<1;r=o+(c[r>>2]<<2)|0;p=c[r>>2]|0;s=p<<1;h[g+(s<<3)>>3]=+h[j+(t<<3)>>3];h[g+((s|1)<<3)>>3]=+h[j+((t|1)<<3)>>3];c[r>>2]=p+1;d=d+1|0}}}case 4:{j=c[d>>2]|0;g=c[f>>2]|0;f=0;f:while(1){if((f|0)>=(n|0))break c;a=f+1|0;i=l+(a<<2)|0;d=c[l+(f<<2)>>2]|0;while(1){if((d|0)>=(c[i>>2]|0)){f=a;continue f}r=m+(d<<2)|0;c[k+(c[o+(c[r>>2]<<2)>>2]<<2)>>2]=f;s=c[j+(d<<2)>>2]|0;r=o+(c[r>>2]<<2)|0;t=c[r>>2]|0;c[r>>2]=t+1;c[g+(t<<2)>>2]=s;d=d+1|0}}}case 8:{f=0;g:while(1){if((f|0)>=(n|0))break c;g=f+1|0;a=l+(g<<2)|0;d=c[l+(f<<2)>>2]|0;while(1){if((d|0)>=(c[a>>2]|0)){f=g;continue g}s=o+(c[m+(d<<2)>>2]<<2)|0;t=c[s>>2]|0;c[s>>2]=t+1;c[k+(t<<2)>>2]=f;d=d+1|0}}}case 16:{nw(b);b=0;break a}default:{nw(b);b=0;break a}}while(0);while(1){d=e+-1|0;if((e|0)<=0)break;c[o+(e<<2)>>2]=c[o+(d<<2)>>2];e=d}c[o>>2]=0}while(0);return b|0}function nw(a){a=a|0;var b=0;if(a|0){b=c[a+20>>2]|0;if(b|0)l6(b);b=c[a+24>>2]|0;if(b|0)l6(b);l6(c[a+28>>2]|0);l6(a)}return}function ow(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=qw(a,b,d,pw(d)|0,e)|0;if((c|0)>0)rw(a,c)|0;return a|0}function pw(a){a=a|0;switch(a|0){case 1:{a=8;break}case 2:{a=16;break}case 4:{a=4;break}case 8:{a=0;break}case 16:{a=0;break}default:a=0}return a|0}function qw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=IK(44)|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=d;c[g+40>>2]=e;if((f|0)==2)a=0;else a=IK((a<<2)+4|0)|0;c[g+20>>2]=a;c[g+24>>2]=0;c[g+28>>2]=0;c[g+32>>2]=f;c[g+36>>2]=0;return g|0}function rw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=c[a+32>>2]|0;f=a+28|0;c[f>>2]=0;d=b<<2;e=IK(d)|0;if((h|0)!=2){c[a+24>>2]=e;d=c[a+40>>2]|0;if((b|0)!=0&(d|0)>0)g=4}else{c[a+20>>2]=e;c[a+24>>2]=IK(d)|0;d=c[a+40>>2]|0;g=4}if((g|0)==4)c[f>>2]=IK(S(d,b)|0)|0;c[a+12>>2]=b;return a|0}function sw(a,b){a=a|0;b=b|0;if(!(tw(a,b)|0)){b=mw(a)|0;if(!b)b=0;else{a=vw(a,b)|0;nw(b);b=a+36|0;c[b>>2]=c[b>>2]|3;b=a}}else b=uw(a)|0;return b|0} +function NM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,O=0,P=0;K=l;l=l+304|0;A=K+272|0;z=K+208|0;F=K+96|0;H=K+32|0;I=K+16|0;J=K;r=K+192|0;y=K+176|0;i=K+160|0;B=K+296|0;C=K+288|0;j=c[d>>2]|0;w=c[j>>2]&3;k=j+-48|0;D=c[((w|0)==2?j:k)+40>>2]|0;t=F+16|0;w=(c[(c[((w|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+16|0;x=j+16|0;E=(c[x>>2]|0)+16|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[A>>2]=c[E>>2];c[A+4>>2]=c[E+4>>2];c[A+8>>2]=c[E+8>>2];c[A+12>>2]=c[E+12>>2];OM(r,z,A);c[F>>2]=c[r>>2];c[F+4>>2]=c[r+4>>2];c[F+8>>2]=c[r+8>>2];c[F+12>>2]=c[r+12>>2];c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[I>>2]=c[r>>2];c[I+4>>2]=c[r+4>>2];c[I+8>>2]=c[r+8>>2];c[I+12>>2]=c[r+12>>2];r=F+32|0;E=F+48|0;w=(c[D+16>>2]|0)+16|0;x=(c[x>>2]|0)+56|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];OM(y,z,A);c[E>>2]=c[y>>2];c[E+4>>2]=c[y+4>>2];c[E+8>>2]=c[y+8>>2];c[E+12>>2]=c[y+12>>2];c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];c[J>>2]=c[y>>2];c[J+4>>2]=c[y+4>>2];c[J+8>>2]=c[y+8>>2];c[J+12>>2]=c[y+12>>2];a:do if((e|0)!=1&(a[195236]|0)==0){m=+h[F>>3];n=+h[E>>3];L=m-n;o=+h[F+8>>3];p=+h[F+56>>3];s=o-p;q=s*s;if(L*L+q<1.0e-06){c[t>>2]=c[F>>2];c[t+4>>2]=c[F+4>>2];c[t+8>>2]=c[F+8>>2];c[t+12>>2]=c[F+12>>2];c[r>>2]=c[E>>2];c[r+4>>2]=c[E+4>>2];c[r+8>>2]=c[E+8>>2];c[r+12>>2]=c[E+12>>2];y=F+24|0;x=F+40|0;n=0.0;m=0.0}else{M=n-m;L=+G(+(M*M+q));w=c[(c[(c[b+60>>2]|0)+16>>2]|0)+248>>2]|0;N=+((S(w,e+-1|0)|0)/2|0|0);q=s*N/L;h[t>>3]=m+q;m=M*N/L;y=F+24|0;h[y>>3]=o+m;h[r>>3]=n+q;x=F+40|0;h[x>>3]=p+m;m=+(0-w|0);n=M*m/L;m=s*m/L}f=(f|0)==6;u=C+4|0;v=B+4|0;j=0;while(1){if((j|0)>=(e|0))break a;w=c[d+(j<<2)>>2]|0;k=w+-48|0;b:do if((c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0)==(D|0)){c[I>>2]=c[F>>2];c[I+4>>2]=c[F+4>>2];c[I+8>>2]=c[F+8>>2];c[I+12>>2]=c[F+12>>2];c[J>>2]=c[E>>2];c[J+4>>2]=c[E+4>>2];c[J+8>>2]=c[E+8>>2];c[J+12>>2]=c[E+12>>2];i=0;while(1){if((i|0)==4)break b;O=H+(i<<4)|0;P=F+(i<<4)|0;c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];i=i+1|0}}else{c[I>>2]=c[E>>2];c[I+4>>2]=c[E+4>>2];c[I+8>>2]=c[E+8>>2];c[I+12>>2]=c[E+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];i=0;while(1){if((i|0)==4)break b;P=H+(3-i<<4)|0;O=F+(i<<4)|0;c[P>>2]=c[O>>2];c[P+4>>2]=c[O+4>>2];c[P+8>>2]=c[O+8>>2];c[P+12>>2]=c[O+12>>2];i=i+1|0}}while(0);if(f){c[u>>2]=4;c[C>>2]=z;i=0;while(1){if((i|0)==4)break;P=z+(i<<4)|0;O=H+(i<<4)|0;c[P>>2]=c[O>>2];c[P+4>>2]=c[O+4>>2];c[P+8>>2]=c[O+8>>2];c[P+12>>2]=c[O+12>>2];i=i+1|0}c[A>>2]=c[C>>2];c[A+4>>2]=c[C+4>>2];DY(A,B);bO(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,c[B>>2]|0,c[v>>2]|0,g)}else bO(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,H,4,g);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];wO(b,w,z,A);h[t>>3]=m+ +h[t>>3];h[y>>3]=n+ +h[y>>3];h[r>>3]=m+ +h[r>>3];h[x>>3]=n+ +h[x>>3];j=j+1|0}}else{if((f|0)==4){PM(i,b);c[A>>2]=c[i>>2];c[A+4>>2]=c[i+4>>2];c[A+8>>2]=c[i+8>>2];c[A+12>>2]=c[i+12>>2];QM(F,A)}bO(j,c[((c[j>>2]&3|0)==2?j:k)+40>>2]|0,F,4,g);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];wO(b,j,z,A)}while(0);l=K;return}function OM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]+ +h[c+8>>3];h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=d;return}function PM(a,b){a=a|0;b=b|0;b=c[b+16>>2]|0;h[23326]=(+h[b+16>>3]+ +h[b+32>>3])*.5;h[23327]=(+h[b+24>>3]+ +h[b+40>>3])*.5;c[a>>2]=c[46652];c[a+4>>2]=c[46653];c[a+8>>2]=c[46654];c[a+12>>2]=c[46655];return}function QM(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;g=+h[a>>3];d=+h[a+48>>3];i=(g+d)*.5;f=+h[a+8>>3];c=+h[a+56>>3];e=(f+c)*.5;g=d-g;f=c-f;f=+G(+(g*g+f*f))/5.0;g=+h[b>>3]-i;c=+h[b+8>>3]-e;d=+G(+(g*g+c*c));if(!(d==0.0)){g=i-f*(g/d);i=e-f*(c/d);h[a+32>>3]=g;h[a+16>>3]=g;h[a+40>>3]=i;h[a+24>>3]=i}return}function RM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0.0,K=0.0,L=0.0;I=l;l=l+208|0;t=I+192|0;s=I+176|0;F=I+48|0;w=I+16|0;x=I;B=I+160|0;C=I+144|0;u=I+128|0;v=I+32|0;i=e&2130706432;D=(e&8|0)==0?((i|0)==0?4:i):8;if((D|0)==436207616)SM(a,b,d,f);else{H=HK((d<<6)+64|0)|0;E=d+-1|0;q=w+8|0;r=x+8|0;A=12.0;e=0;while(1){if((e|0)>=(d|0))break;g=b+(e<<4)|0;c[w>>2]=c[g>>2];c[w+4>>2]=c[g+4>>2];c[w+8>>2]=c[g+8>>2];c[w+12>>2]=c[g+12>>2];g=e+1|0;if((e|0)<(E|0)){p=b+(g<<4)|0;c[x>>2]=c[p>>2];c[x+4>>2]=c[p+4>>2];c[x+8>>2]=c[p+8>>2];c[x+12>>2]=c[p+12>>2]}else{c[x>>2]=c[b>>2];c[x+4>>2]=c[b+4>>2];c[x+8>>2]=c[b+8>>2];c[x+12>>2]=c[b+12>>2]}y=+h[x>>3]-+h[w>>3];z=+h[r>>3]-+h[q>>3];z=+G(+(y*y+z*z))/3.0;A=A=(d|0))break;m=b+(e<<4)|0;c[w>>2]=c[m>>2];c[w+4>>2]=c[m+4>>2];c[w+8>>2]=c[m+8>>2];c[w+12>>2]=c[m+12>>2];m=e+1|0;if((e|0)<(E|0)){e=b+(m<<4)|0;c[x>>2]=c[e>>2];c[x+4>>2]=c[e+4>>2];c[x+8>>2]=c[e+8>>2];c[x+12>>2]=c[e+12>>2]}else{c[x>>2]=c[b>>2];c[x+4>>2]=c[b+4>>2];c[x+8>>2]=c[b+8>>2];c[x+12>>2]=c[b+12>>2]}z=+h[x>>3]-+h[w>>3];y=+h[r>>3]-+h[q>>3];y=A/+G(+(z*z+y*y));y=n?y/3.0:j?y*.5:y;z=y*.5;if(o){c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];TM(B,z,s,t);c[g>>2]=c[B>>2];c[g+4>>2]=c[B+4>>2];c[g+8>>2]=c[B+8>>2];c[g+12>>2]=c[B+12>>2]}else{c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2]};c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];TM(C,y,s,t);c[k>>2]=c[C>>2];c[k+4>>2]=c[C+4>>2];c[k+8>>2]=c[C+8>>2];c[k+12>>2]=c[C+12>>2];e=i+3|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];TM(u,1.0-y,s,t);c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];if(!o){i=e;e=m;continue}e=H+(e<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];TM(v,1.0-z,s,t);c[e>>2]=c[v>>2];c[e+4>>2]=c[v+4>>2];c[e+8>>2]=c[v+8>>2];c[e+12>>2]=c[v+12>>2];i=i+4|0;e=m}c[g>>2]=c[H>>2];c[g+4>>2]=c[H+4>>2];c[g+8>>2]=c[H+8>>2];c[g+12>>2]=c[H+12>>2];v=H+16|0;c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[k+12>>2]=c[v+12>>2];x=H+32|0;c[p>>2]=c[x>>2];c[p+4>>2]=c[x+4>>2];c[p+8>>2]=c[x+8>>2];c[p+12>>2]=c[x+12>>2];g=d+4|0;t=d+3|0;i=d<<4;u=d+1|0;j=g<<4;k=(d|0)==4;w=d+2|0;m=d+12|0;n=w<<4;o=d+5|0;p=u<<4;q=t<<4;r=m<<4;s=o<<4;e=D&2147483647;a:do if((e|0)<201326592){if((e|0)>=83886080){if((e|0)<134217728){if((e|0)<100663296){switch(e|0){case 83886080:break;default:break a}if(k){d=HK(192)|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];p=d+16|0;t=b+16|0;c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];c[p+8>>2]=c[t+8>>2];c[p+12>>2]=c[t+12>>2];p=H+48|0;L=+h[p>>3];t=H+64|0;L=L+(+h[t>>3]-L);o=d+32|0;h[o>>3]=L;q=H+56|0;z=+h[q>>3];r=H+72|0;z=z+(+h[r>>3]-z);C=d+40|0;h[C>>3]=z;A=L+(+h[p>>3]-+h[x>>3]);u=d+48|0;h[u>>3]=A;K=z+(+h[q>>3]-+h[H+40>>3]);x=d+56|0;h[x>>3]=K;y=A+(+h[t>>3]-+h[p>>3]);p=d+64|0;h[p>>3]=y;J=K+(+h[r>>3]-+h[q>>3]);q=d+72|0;h[q>>3]=J;r=d+80|0;h[r>>3]=y+(L-A);h[d+88>>3]=J+(z-K);t=H+96|0;K=+h[t>>3];v=H+80|0;K=K+(+h[v>>3]-K);E=d+144|0;h[E>>3]=K;w=H+104|0;z=+h[w>>3];s=H+88|0;z=z+(+h[s>>3]-z);h[d+152>>3]=z;J=K+(+h[t>>3]-+h[H+112>>3]);B=d+128|0;h[B>>3]=J;A=z+(+h[w>>3]-+h[H+120>>3]);D=d+136|0;h[D>>3]=A;L=J+(+h[v>>3]-+h[t>>3]);t=d+112|0;h[t>>3]=L;y=A+(+h[s>>3]-+h[w>>3]);w=d+120|0;h[w>>3]=y;s=d+96|0;h[s>>3]=L+(K-J);v=d+104|0;h[v>>3]=y+(z-A);n=d+160|0;m=b+32|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];n=d+176|0;b=b+48|0;c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];lS(a,d,12,f);c[F>>2]=c[o>>2];c[F+4>>2]=c[o+4>>2];c[F+8>>2]=c[o+8>>2];c[F+12>>2]=c[o+12>>2];A=+h[o>>3];z=+h[u>>3];A=A-(z-A);u=F+16|0;h[u>>3]=A;y=+h[C>>3];J=+h[x>>3];y=y-(J-y);x=F+24|0;h[x>>3]=y;C=F+32|0;h[C>>3]=A+(+h[p>>3]-z);b=F+40|0;h[b>>3]=y+(+h[q>>3]-J);f=F+48|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];oS(a,F,4);c[F>>2]=c[s>>2];c[F+4>>2]=c[s+4>>2];c[F+8>>2]=c[s+8>>2];c[F+12>>2]=c[s+12>>2];J=+h[s>>3];y=+h[t>>3];J=J-(y-J);h[u>>3]=J;z=+h[v>>3];A=+h[w>>3];z=z-(A-z);h[x>>3]=z;h[C>>3]=J+(+h[B>>3]-y);h[b>>3]=z+(+h[D>>3]-A);c[f>>2]=c[E>>2];c[f+4>>2]=c[E+4>>2];c[f+8>>2]=c[E+8>>2];c[f+12>>2]=c[E+12>>2];oS(a,F,4);l6(d);break}else Aa(105739,105750,737,105759)}if((e|0)<117440512){switch(e|0){case 100663296:break;default:break a}d=HK(s)|0;C=b+16|0;L=+h[C>>3];J=+h[b>>3]-L;J=J*.125+(L+J*.5);h[d>>3]=J;D=b+40|0;L=+h[D>>3];E=b+24|0;v=H+48|0;w=H+56|0;B=H+72|0;L=L+(+h[E>>3]-L)*.5+(+h[w>>3]-+h[B>>3])*3.0*.5;h[d+8>>3]=L;A=+h[C>>3];K=+h[b>>3]-A;K=A+K*.5-K*.25;h[d+16>>3]=K;h[d+24>>3]=L;h[d+32>>3]=K;A=+h[D>>3];h[d+40>>3]=A+(+h[E>>3]-A)*.5;K=K+(+h[x>>3]-+h[v>>3])*.5;h[d+48>>3]=K;A=+h[D>>3];h[d+56>>3]=A+(+h[E>>3]-A)*.5;h[d+64>>3]=K;K=+h[D>>3];K=K+(+h[E>>3]-K)*.5+(+h[w>>3]-+h[B>>3]);h[d+72>>3]=K;h[d+80>>3]=J;h[d+88>>3]=K;h[d+96>>3]=J;K=K-(+h[w>>3]-+h[B>>3])*.25;h[d+104>>3]=K;h[d+112>>3]=J+(+h[x>>3]-+h[v>>3]);h[d+120>>3]=K+(+h[w>>3]-+h[B>>3])*.5;h[d+128>>3]=+h[d>>3];h[d+136>>3]=L+(+h[w>>3]-+h[B>>3])*.25;lS(a,d,o,f);h[F>>3]=+h[C>>3];L=+h[D>>3];h[F+8>>3]=L+(+h[E>>3]-L)*.5;h[F+16>>3]=+h[b>>3];h[F+24>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}else{switch(e|0){case 117440512:break;default:break a}d=HK(p)|0;h[d>>3]=+h[v>>3];E=H+56|0;F=H+72|0;h[d+8>>3]=+h[H+24>>3]-(+h[E>>3]-+h[F>>3])*.5;h[d+16>>3]=+h[H+48>>3];L=+h[E>>3];h[d+24>>3]=L-(L-+h[F>>3])*.5;h[d+32>>3]=+h[b+32>>3];D=b+40|0;h[d+40>>3]=+h[D>>3]+(+h[E>>3]-+h[F>>3])*.5;h[d+48>>3]=+h[v>>3];h[d+56>>3]=+h[D>>3]+(+h[E>>3]-+h[F>>3])*.5;L=+h[b+8>>3];h[d+72>>3]=L-(L-+h[b+56>>3])*.5;h[d+64>>3]=+h[b>>3];lS(a,d,u,f);l6(d);break}}if((e|0)<167772160)if((e|0)<150994944){switch(e|0){case 134217728:break;default:break a}d=HK(j)|0;C=b+16|0;A=+h[C>>3];B=H+48|0;A=A+(+h[b>>3]-A)*.5+(+h[x>>3]-+h[B>>3])*.25;h[d>>3]=A;D=b+40|0;L=+h[D>>3];E=b+24|0;L=L+(+h[E>>3]-L)*.5;h[d+8>>3]=L;h[d+16>>3]=A;v=H+56|0;w=H+72|0;J=L+(+h[v>>3]-+h[w>>3])*.5;h[d+24>>3]=J;A=A+(+h[x>>3]-+h[B>>3])*.5;h[d+32>>3]=A;h[d+40>>3]=J;h[d+48>>3]=A;A=J+(+h[v>>3]-+h[w>>3])*.5;h[d+56>>3]=A;K=+h[C>>3];K=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[B>>3])*3.0*.25;h[d+64>>3]=K;h[d+72>>3]=A;h[d+80>>3]=K;h[d+88>>3]=J;K=+h[C>>3];K=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[B>>3])*.25;h[d+96>>3]=K;h[d+104>>3]=J;h[d+112>>3]=K;h[d+120>>3]=L;lS(a,d,g,f);h[F>>3]=+h[C>>3];L=+h[D>>3];h[F+8>>3]=L+(+h[E>>3]-L)*.5;h[F+16>>3]=+h[b>>3];h[F+24>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}else{switch(e|0){case 150994944:break;default:break a}d=HK(n)|0;C=b+16|0;J=+h[C>>3];B=H+48|0;J=J+(+h[b>>3]-J)*.5+(+h[x>>3]-+h[B>>3])*3.0*.25;h[d>>3]=J;D=b+40|0;L=+h[D>>3];E=b+24|0;L=L+(+h[E>>3]-L)*.5;h[d+8>>3]=L;h[d+16>>3]=J;u=H+56|0;v=H+72|0;J=L+(+h[u>>3]-+h[v>>3])*.25;h[d+24>>3]=J;K=+h[C>>3];h[d+32>>3]=K+(+h[b>>3]-K)*.5+(+h[x>>3]-+h[B>>3])*.25;K=J+(+h[u>>3]-+h[v>>3])*.5;h[d+40>>3]=K;A=+h[C>>3];h[d+48>>3]=A+(+h[b>>3]-A)*.5-(+h[x>>3]-+h[B>>3])*.25;h[d+56>>3]=K;K=+h[C>>3];K=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[B>>3])*3.0*.25;h[d+64>>3]=K;h[d+72>>3]=J;h[d+80>>3]=K;h[d+88>>3]=L;lS(a,d,w,f);h[F>>3]=+h[C>>3];L=+h[D>>3];h[F+8>>3]=L+(+h[E>>3]-L)*.5;h[F+16>>3]=+h[b>>3];h[F+24>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}else if((e|0)<184549376){switch(e|0){case 167772160:break;default:break a}d=HK(p)|0;C=b+16|0;J=+h[C>>3];v=H+48|0;J=J+(+h[b>>3]-J)*.5+(+h[x>>3]-+h[v>>3]);h[d>>3]=J;D=b+40|0;L=+h[D>>3];E=b+24|0;w=H+56|0;B=H+72|0;L=L+(+h[E>>3]-L)*.5+(+h[w>>3]-+h[B>>3])*.25;h[d+8>>3]=L;J=J-(+h[x>>3]-+h[v>>3]);h[d+16>>3]=J;h[d+24>>3]=L+(+h[w>>3]-+h[B>>3]);h[d+32>>3]=J;J=L+(+h[w>>3]-+h[B>>3])*.5;h[d+40>>3]=J;A=+h[C>>3];K=+h[b>>3]-A;K=A+K*.5-K*.25;h[d+48>>3]=K;h[d+56>>3]=J;h[d+64>>3]=K;h[d+72>>3]=L;lS(a,d,u,f);h[F>>3]=+h[C>>3];L=+h[D>>3];h[F+8>>3]=L+(+h[E>>3]-L)*.5;h[F+16>>3]=+h[b>>3];h[F+24>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}else{switch(e|0){case 184549376:break;default:break a}d=HK(j)|0;B=b+16|0;J=+h[B>>3];K=+h[b>>3]-J;u=H+48|0;K=K*.125+(J+K*.5)+(+h[x>>3]-+h[u>>3])*.5;h[d>>3]=K;v=b+40|0;J=+h[v>>3];w=b+24|0;E=H+56|0;C=H+72|0;J=J+(+h[w>>3]-J)*.5+(+h[E>>3]-+h[C>>3])*.25;h[d+8>>3]=J;A=+h[B>>3];L=+h[b>>3]-A;L=A+L*.5-L*.125;h[d+16>>3]=L;h[d+24>>3]=J;h[d+32>>3]=L;J=J+(+h[E>>3]-+h[C>>3])*.5;h[d+40>>3]=J;L=L-(+h[x>>3]-+h[u>>3])*.5;h[d+48>>3]=L;h[d+56>>3]=J;D=d+64|0;h[D>>3]=L;L=+h[v>>3];L=L+(+h[w>>3]-L)*.5-(+h[E>>3]-+h[C>>3])*.25;h[d+72>>3]=L;J=K-(+h[x>>3]-+h[u>>3])*.5;h[d+80>>3]=J;h[d+88>>3]=L;h[d+96>>3]=J;L=L-(+h[E>>3]-+h[C>>3])*.5;h[d+104>>3]=L;x=d+112|0;h[x>>3]=K;h[d+120>>3]=L;lS(a,d,g,f);h[F>>3]=+h[B>>3];L=+h[v>>3];B=F+8|0;h[B>>3]=L+(+h[w>>3]-L)*.5;C=F+16|0;h[C>>3]=+h[D>>3];D=b+8|0;E=b+56|0;f=F+24|0;h[f>>3]=L+(+h[D>>3]-+h[E>>3])*.5;oS(a,F,2);h[F>>3]=+h[x>>3];L=+h[v>>3];h[B>>3]=L+(+h[w>>3]-L)*.5;h[C>>3]=+h[b>>3];h[f>>3]=L+(+h[D>>3]-+h[E>>3])*.5;oS(a,F,2);l6(d);break}}if((e|0)<33554432){if((e|0)<8){switch(e|0){case 4:break;default:break a}i=IK((d*96|0)+32|0)|0;e=0;g=0;while(1){j=g|1;k=i+(g<<4)|0;m=i+(j<<4)|0;if((e|0)>=(d|0))break;b=e<<2;E=H+(b<<4)|0;c[k>>2]=c[E>>2];c[k+4>>2]=c[E+4>>2];c[k+8>>2]=c[E+8>>2];c[k+12>>2]=c[E+12>>2];E=H+((b|1)<<4)|0;c[m>>2]=c[E>>2];c[m+4>>2]=c[E+4>>2];c[m+8>>2]=c[E+8>>2];c[m+12>>2]=c[E+12>>2];F=i+(g+2<<4)|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];F=i+(g+3<<4)|0;E=H+((b|2)<<4)|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];F=i+(g+4<<4)|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];F=i+(g+5<<4)|0;b=H+((b|3)<<4)|0;c[F>>2]=c[b>>2];c[F+4>>2]=c[b+4>>2];c[F+8>>2]=c[b+8>>2];c[F+12>>2]=c[b+12>>2];e=e+1|0;g=g+6|0}c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];d=i+16|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];nS(a,d,j,0,0,f&255);l6(i);break}if((e|0)<16777216){switch(e|0){case 8:break;default:break a}lS(a,b,d,f);g=F+16|0;e=0;while(1){if((e|0)>=(d|0))break a;f=e*3|0;b=H+(f+2<<4)|0;c[F>>2]=c[b>>2];c[F+4>>2]=c[b+4>>2];c[F+8>>2]=c[b+8>>2];c[F+12>>2]=c[b+12>>2];f=H+(f+4<<4)|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];oS(a,F,2);e=e+1|0}}switch(e|0){case 16777216:break;default:break a}g=HK(p)|0;e=1;while(1){if((e|0)>=(d|0))break;D=g+(e<<4)|0;C=b+(e<<4)|0;c[D>>2]=c[C>>2];c[D+4>>2]=c[C+4>>2];c[D+8>>2]=c[C+8>>2];c[D+12>>2]=c[C+12>>2];e=e+1|0}b=E*3|0;E=H+(b+4<<4)|0;c[g>>2]=c[E>>2];c[g+4>>2]=c[E+4>>2];c[g+8>>2]=c[E+8>>2];c[g+12>>2]=c[E+12>>2];D=g+(d<<4)|0;d=H+(b+2<<4)|0;c[D>>2]=c[d>>2];c[D+4>>2]=c[d+4>>2];c[D+8>>2]=c[d+8>>2];c[D+12>>2]=c[d+12>>2];lS(a,g,u,f);l6(g);c[F>>2]=c[d>>2];c[F+4>>2]=c[d+4>>2];c[F+8>>2]=c[d+8>>2];c[F+12>>2]=c[d+12>>2];f=F+16|0;c[f>>2]=c[E>>2];c[f+4>>2]=c[E+4>>2];c[f+8>>2]=c[E+8>>2];c[f+12>>2]=c[E+12>>2];b=b+3|0;d=F+32|0;h[d>>3]=+h[f>>3]+(+h[F>>3]-+h[H+(b<<4)>>3]);h[F+40>>3]=+h[F+24>>3]+(+h[F+8>>3]-+h[H+(b<<4)+8>>3]);oS(a,f,2);c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];oS(a,F,2);break}else{if((e|0)<50331648){switch(e|0){case 33554432:break;default:break a}g=HK(n)|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];i=g+16|0;c[i>>2]=c[x>>2];c[i+4>>2]=c[x+4>>2];c[i+8>>2]=c[x+8>>2];c[i+12>>2]=c[x+12>>2];i=H+48|0;E=H+64|0;h[g+32>>3]=+h[x>>3]+(+h[i>>3]-+h[E>>3])/3.0;d=H+56|0;e=H+72|0;h[g+40>>3]=+h[H+40>>3]+(+h[d>>3]-+h[e>>3])/3.0;L=+h[i>>3];h[g+48>>3]=L+(L-+h[E>>3])/3.0;L=+h[d>>3];h[g+56>>3]=L+(L-+h[e>>3])/3.0;e=4;while(1){if((e|0)>=(w|0))break;d=g+(e<<4)|0;E=b+(e+-2<<4)|0;c[d>>2]=c[E>>2];c[d+4>>2]=c[E+4>>2];c[d+8>>2]=c[E+8>>2];c[d+12>>2]=c[E+12>>2];e=e+1|0}lS(a,g,w,f);l6(g);c[F>>2]=c[i>>2];c[F+4>>2]=c[i+4>>2];c[F+8>>2]=c[i+8>>2];c[F+12>>2]=c[i+12>>2];f=F+16|0;c[f>>2]=c[x>>2];c[f+4>>2]=c[x+4>>2];c[f+8>>2]=c[x+8>>2];c[f+12>>2]=c[x+12>>2];oS(a,F,2);break}if((e|0)>=67108864){switch(e|0){case 67108864:break;default:break a}if(k){D=HK(n)|0;c[D>>2]=c[b>>2];c[D+4>>2]=c[b+4>>2];c[D+8>>2]=c[b+8>>2];c[D+12>>2]=c[b+12>>2];d=D+16|0;c[d>>2]=c[x>>2];c[d+4>>2]=c[x+4>>2];c[d+8>>2]=c[x+8>>2];c[d+12>>2]=c[x+12>>2];d=D+32|0;E=H+64|0;c[d>>2]=c[E>>2];c[d+4>>2]=c[E+4>>2];c[d+8>>2]=c[E+8>>2];c[d+12>>2]=c[E+12>>2];d=D+48|0;b=b+32|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];b=D+64|0;d=H+128|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=D+80|0;C=H+160|0;c[b>>2]=c[C>>2];c[b+4>>2]=c[C+4>>2];c[b+8>>2]=c[C+8>>2];c[b+12>>2]=c[C+12>>2];lS(a,D,w,f);l6(D);h[F>>3]=+h[v>>3]+(+h[H+176>>3]-+h[H>>3]);h[F+8>>3]=+h[H+24>>3]+(+h[H+184>>3]-+h[H+8>>3]);f=F+16|0;c[f>>2]=c[E>>2];c[f+4>>2]=c[E+4>>2];c[f+8>>2]=c[E+8>>2];c[f+12>>2]=c[E+12>>2];oS(a,F,2);c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];oS(a,F,2);c[f>>2]=c[H>>2];c[f+4>>2]=c[H+4>>2];c[f+8>>2]=c[H+8>>2];c[f+12>>2]=c[H+12>>2];oS(a,F,2);break}else Aa(105739,105750,714,105759)}switch(e|0){case 50331648:break;default:break a}g=HK(q)|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];L=+h[b>>3];h[g+16>>3]=L-(L-+h[v>>3])*.25;e=H+56|0;L=+h[b+8>>3]+(+h[e>>3]-+h[H+72>>3])/3.0;h[g+24>>3]=L;K=+h[b>>3];h[g+32>>3]=K-(K-+h[v>>3])*2.0;h[g+40>>3]=L;L=+h[b>>3];h[g+48>>3]=L-(L-+h[v>>3])*2.25;h[g+56>>3]=+h[e>>3];h[g+64>>3]=+h[H+48>>3];h[g+72>>3]=+h[e>>3];e=4;while(1){if((e|0)>=(t|0))break;d=g+(e<<4)|0;F=b+(e+-3<<4)|0;c[d>>2]=c[F>>2];c[d+4>>2]=c[F+4>>2];c[d+8>>2]=c[F+8>>2];c[d+12>>2]=c[F+12>>2];e=e+1|0}lS(a,g,t,f);l6(g);break}}else if((e|0)<318767104){if((e|0)<251658240){if((e|0)<218103808){switch(e|0){case 201326592:break;default:break a}E=HK(i)|0;u=b+16|0;L=+h[u>>3];h[E>>3]=L;C=b+40|0;K=+h[C>>3];D=b+24|0;B=H+48|0;v=H+56|0;w=H+72|0;K=K+(+h[D>>3]-K)*.5+(+h[v>>3]-+h[w>>3])*.125;h[E+8>>3]=K;J=L+(+h[x>>3]-+h[B>>3])*2.0;h[E+16>>3]=J;h[E+24>>3]=K;h[E+32>>3]=J;K=K+(+h[v>>3]-+h[w>>3])*.5;h[E+40>>3]=K;h[E+48>>3]=L;h[E+56>>3]=K;lS(a,E,d,f);l6(E);E=HK(i)|0;K=+h[u>>3]+(+h[x>>3]-+h[B>>3]);h[E>>3]=K;L=+h[C>>3];L=L+(+h[D>>3]-L)*.5-(+h[v>>3]-+h[w>>3])*5.0*.125;h[E+8>>3]=L;J=K+(+h[x>>3]-+h[B>>3]);B=E+16|0;h[B>>3]=J;h[E+24>>3]=L;h[E+32>>3]=J;L=L+(+h[v>>3]-+h[w>>3])*.5;h[E+40>>3]=L;h[E+48>>3]=K;h[E+56>>3]=L;lS(a,E,d,f);h[F>>3]=+h[B>>3];L=+h[C>>3];h[F+8>>3]=L+(+h[D>>3]-L)*.5;h[F+16>>3]=+h[b>>3];h[F+24>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(E);break}if((e|0)<234881024){switch(e|0){case 218103808:break;default:break a}E=HK(i)|0;L=+h[b>>3];h[E>>3]=L;B=b+40|0;K=+h[B>>3];C=b+24|0;w=H+56|0;D=H+72|0;K=K+(+h[C>>3]-K)*.5+(+h[w>>3]-+h[D>>3])*.125;h[E+8>>3]=K;h[E+16>>3]=L;J=K+(+h[w>>3]-+h[D>>3])*.5;h[E+24>>3]=J;L=L-(+h[w>>3]-+h[D>>3])*2.0;h[E+32>>3]=L;h[E+40>>3]=J;h[E+48>>3]=L;h[E+56>>3]=K;lS(a,E,d,f);l6(E);E=HK(i)|0;K=+h[b>>3]-(+h[x>>3]-+h[H+48>>3]);h[E>>3]=K;L=+h[B>>3];L=L+(+h[C>>3]-L)*.5-(+h[w>>3]-+h[D>>3])*5.0*.125;h[E+8>>3]=L;h[E+16>>3]=K;J=L+(+h[w>>3]-+h[D>>3])*.5;h[E+24>>3]=J;K=K-(+h[w>>3]-+h[D>>3]);h[E+32>>3]=K;h[E+40>>3]=J;D=E+48|0;h[D>>3]=K;h[E+56>>3]=L;lS(a,E,d,f);h[F>>3]=+h[b+16>>3];L=+h[B>>3];h[F+8>>3]=L+(+h[C>>3]-L)*.5;h[F+16>>3]=+h[D>>3];h[F+24>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(E);break}else{switch(e|0){case 234881024:break;default:break a}E=HK(i)|0;t=b+16|0;K=+h[t>>3];u=H+48|0;K=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[u>>3])*9.0*.125;h[E>>3]=K;v=b+40|0;L=+h[v>>3];w=b+24|0;D=H+56|0;C=H+72|0;L=L+(+h[w>>3]-L)*.5+(+h[D>>3]-+h[C>>3])*.125;h[E+8>>3]=L;J=K+(+h[x>>3]-+h[u>>3]);h[E+16>>3]=J;h[E+24>>3]=L;h[E+32>>3]=J;L=L+(+h[D>>3]-+h[C>>3])*.5;h[E+40>>3]=L;h[E+48>>3]=K;h[E+56>>3]=L;lS(a,E,d,f);l6(E);E=HK(i)|0;L=+h[t>>3];L=L+(+h[b>>3]-L)*.5-(+h[x>>3]-+h[u>>3])*9.0*.125;h[E>>3]=L;K=+h[v>>3];K=K+(+h[w>>3]-K)*.5-(+h[D>>3]-+h[C>>3])*5.0*.125;h[E+8>>3]=K;J=L+(+h[x>>3]-+h[u>>3]);h[E+16>>3]=J;h[E+24>>3]=K;h[E+32>>3]=J;K=K+(+h[D>>3]-+h[C>>3])*.5;h[E+40>>3]=K;h[E+48>>3]=L;h[E+56>>3]=K;lS(a,E,d,f);l6(E);E=HK(i)|0;K=+h[t>>3];K=K+(+h[b>>3]-K)*.5+(+h[x>>3]-+h[u>>3])*.125;h[E>>3]=K;L=+h[v>>3];L=L+(+h[w>>3]-L)*.5-(+h[D>>3]-+h[C>>3])*5.0*.125;h[E+8>>3]=L;J=K+(+h[x>>3]-+h[u>>3]);h[E+16>>3]=J;h[E+24>>3]=L;h[E+32>>3]=J;L=L+(+h[D>>3]-+h[C>>3])*.5;h[E+40>>3]=L;h[E+48>>3]=K;h[E+56>>3]=L;lS(a,E,d,f);l6(E);E=HK(i)|0;L=+h[t>>3];L=L+(+h[b>>3]-L)*.5+(+h[x>>3]-+h[u>>3])*.125;h[E>>3]=L;K=+h[v>>3];K=K+(+h[w>>3]-K)*.5+(+h[D>>3]-+h[C>>3])*.125;h[E+8>>3]=K;J=L+(+h[x>>3]-+h[u>>3]);B=E+16|0;h[B>>3]=J;h[E+24>>3]=K;h[E+32>>3]=J;K=K+(+h[D>>3]-+h[C>>3])*.5;h[E+40>>3]=K;h[E+48>>3]=L;h[E+56>>3]=K;lS(a,E,d,f);h[F>>3]=+h[B>>3];K=+h[v>>3];B=F+8|0;h[B>>3]=K+(+h[w>>3]-K)*.5;C=F+16|0;h[C>>3]=+h[b>>3];D=b+8|0;d=b+56|0;f=F+24|0;h[f>>3]=K+(+h[D>>3]-+h[d>>3])*.5;oS(a,F,2);K=+h[t>>3];h[F>>3]=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[u>>3])*9.0*.125;L=+h[v>>3];h[B>>3]=L+(+h[w>>3]-L)*.5;h[C>>3]=K;h[f>>3]=L+(+h[D>>3]-+h[d>>3])*.5;oS(a,F,2);l6(E);break}}if((e|0)<285212672)if((e|0)<268435456){switch(e|0){case 251658240:break;default:break a}E=HK(i)|0;u=b+16|0;L=+h[u>>3];B=H+48|0;L=L+(+h[b>>3]-L)*.5-(+h[x>>3]-+h[B>>3]);h[E>>3]=L;v=b+40|0;K=+h[v>>3];w=b+24|0;D=H+56|0;C=H+72|0;K=K+(+h[w>>3]-K)*.5+(+h[D>>3]-+h[C>>3])*.125;h[E+8>>3]=K;J=L+(+h[x>>3]-+h[B>>3])*2.0;h[E+16>>3]=J;h[E+24>>3]=K;h[E+32>>3]=J;K=K+(+h[D>>3]-+h[C>>3])*.5;h[E+40>>3]=K;h[E+48>>3]=L;h[E+56>>3]=K;lS(a,E,d,f);l6(E);E=HK(i)|0;K=+h[u>>3];K=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[B>>3]);h[E>>3]=K;L=+h[v>>3];L=L+(+h[w>>3]-L)*.5-(+h[D>>3]-+h[C>>3])*5.0*.125;h[E+8>>3]=L;J=K+(+h[x>>3]-+h[B>>3])*2.0;B=E+16|0;h[B>>3]=J;h[E+24>>3]=L;h[E+32>>3]=J;L=L+(+h[D>>3]-+h[C>>3])*.5;h[E+40>>3]=L;h[E+48>>3]=K;h[E+56>>3]=L;lS(a,E,d,f);h[F>>3]=+h[B>>3];L=+h[v>>3];B=F+8|0;h[B>>3]=L+(+h[w>>3]-L)*.5;C=F+16|0;h[C>>3]=+h[b>>3];D=b+8|0;d=b+56|0;f=F+24|0;h[f>>3]=L+(+h[D>>3]-+h[d>>3])*.5;oS(a,F,2);h[F>>3]=+h[u>>3];L=+h[v>>3];h[B>>3]=L+(+h[w>>3]-L)*.5;h[C>>3]=+h[E>>3];h[f>>3]=L+(+h[D>>3]-+h[d>>3])*.5;oS(a,F,2);l6(E);break}else{switch(e|0){case 268435456:break;default:break a}E=HK(i)|0;h[E>>3]=+h[b>>3];u=H+48|0;B=H+56|0;C=H+72|0;h[E+8>>3]=+h[H+24>>3]-(+h[B>>3]-+h[C>>3])*.5;h[E+16>>3]=+h[u>>3];L=+h[B>>3];h[E+24>>3]=L-(L-+h[C>>3])*.5;h[E+32>>3]=+h[b+32>>3];w=b+40|0;h[E+40>>3]=+h[w>>3]+(+h[B>>3]-+h[C>>3])*.5;h[E+48>>3]=+h[b>>3];h[E+56>>3]=+h[w>>3]+(+h[B>>3]-+h[C>>3])*.5;lS(a,E,d,f);v=b+16|0;L=(+h[x>>3]-+h[u>>3])*.25;K=+h[v>>3]+L;h[F>>3]=K;A=+h[w>>3];t=b+24|0;J=+h[B>>3]-+h[C>>3];A=A+(+h[t>>3]-A)*.5+J*.125;D=F+8|0;h[D>>3]=A;d=F+16|0;h[d>>3]=K+L;f=F+24|0;h[f>>3]=A-J*.25;oS(a,F,2);J=(+h[x>>3]-+h[u>>3])*.25;A=+h[v>>3]+J;h[F>>3]=A;L=+h[w>>3];K=+h[B>>3]-+h[C>>3];L=L+(+h[t>>3]-L)*.5-K*.125;h[D>>3]=L;h[d>>3]=A+J;h[f>>3]=L+K*.25;oS(a,F,2);K=(+h[x>>3]-+h[u>>3])*.25;h[F>>3]=+h[v>>3]+K;L=+h[w>>3]+(+h[B>>3]-+h[C>>3])*3.0*.25;h[D>>3]=L;h[d>>3]=+h[b>>3]-K;h[f>>3]=L;oS(a,F,2);l6(E);break}else if((e|0)<301989888){switch(e|0){case 285212672:break;default:break a}B=HK(i)|0;u=b+16|0;z=+h[u>>3];C=H+48|0;z=z+(+h[b>>3]-z)*.5+(+h[x>>3]-+h[C>>3])*.5;h[B>>3]=z;v=b+40|0;A=+h[v>>3];w=b+24|0;A=A+(+h[w>>3]-A)*.5+(+h[x>>3]-+h[C>>3])*.5;h[B+8>>3]=A;h[B+16>>3]=z;z=+h[v>>3];L=(+h[x>>3]-+h[C>>3])*.5;z=z+(+h[w>>3]-z)*.5-L;h[B+24>>3]=z;J=+h[u>>3];L=J+(+h[b>>3]-J)*.5-L;h[B+32>>3]=L;h[B+40>>3]=z;h[B+48>>3]=L;h[B+56>>3]=A;lS(a,B,d,f);l6(B);A=+h[u>>3];A=A+(+h[b>>3]-A)*.5;L=(+h[x>>3]-+h[C>>3])*3.0*.25;z=A+L;h[F>>3]=z;J=+h[v>>3];J=J+(+h[w>>3]-J)*.5;K=J+L;B=F+8|0;h[B>>3]=K;D=F+16|0;h[D>>3]=z;J=J-L;f=F+24|0;h[f>>3]=J;L=A-L;h[F+32>>3]=L;h[F+40>>3]=J;h[F+48>>3]=L;h[F+56>>3]=K;E=F+64|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];oS(a,F,5);K=+h[u>>3];L=+h[b>>3];h[F>>3]=K+(L-K)*.5+(+h[x>>3]-+h[C>>3])*3.0*.25;K=+h[v>>3];h[B>>3]=K+(+h[w>>3]-K)*.5;h[D>>3]=L;E=b+8|0;d=b+56|0;h[f>>3]=K+(+h[E>>3]-+h[d>>3])*.5;oS(a,F,2);K=+h[u>>3];h[F>>3]=K;L=+h[v>>3];h[B>>3]=L+(+h[w>>3]-L)*.5;h[D>>3]=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[C>>3])*3.0*.25;h[f>>3]=L+(+h[E>>3]-+h[d>>3])*.5;oS(a,F,2);break}else{switch(e|0){case 301989888:break;default:break a}d=HK(r)|0;w=b+16|0;y=+h[w>>3];s=H+48|0;y=y+(+h[b>>3]-y)*.5+(+h[x>>3]-+h[s>>3])*.25;h[d>>3]=y;B=b+40|0;A=+h[B>>3];C=b+24|0;u=H+56|0;v=H+72|0;A=A+(+h[C>>3]-A)*.5+(+h[u>>3]-+h[v>>3])*.5;t=d+8|0;h[t>>3]=A;h[d+16>>3]=y;A=A+(+h[u>>3]-+h[v>>3])*.125;E=d+24|0;h[E>>3]=A;J=y-(+h[x>>3]-+h[s>>3])*.125;D=d+32|0;h[D>>3]=J;z=A+(+h[u>>3]-+h[v>>3])*.125;h[d+40>>3]=z;h[d+48>>3]=y;L=z+(+h[u>>3]-+h[v>>3])*.125;h[d+56>>3]=L;h[d+64>>3]=y;y=L+(+h[u>>3]-+h[v>>3])*.125;h[d+72>>3]=y;h[d+80>>3]=J;h[d+88>>3]=y;J=+h[w>>3];J=J+(+h[b>>3]-J)*.5;h[d+96>>3]=J;h[d+104>>3]=L;K=J-(+h[x>>3]-+h[s>>3])*.125;h[d+112>>3]=K;h[d+120>>3]=y;K=K-(+h[x>>3]-+h[s>>3])*.125;h[d+128>>3]=K;h[d+136>>3]=y;h[d+144>>3]=K;h[d+152>>3]=L;L=K+(+h[x>>3]-+h[s>>3])*.125;h[d+160>>3]=L;h[d+168>>3]=z;h[d+176>>3]=K;h[d+184>>3]=A;h[d+192>>3]=K;K=+h[t>>3];h[d+200>>3]=K;h[d+208>>3]=L;h[d+216>>3]=K;x=d+224|0;h[x>>3]=J;h[d+232>>3]=+h[E>>3];h[d+240>>3]=+h[D>>3];h[d+248>>3]=K;lS(a,d,m,f);K=+h[x>>3];h[F>>3]=K;J=+h[B>>3];J=J+(+h[C>>3]-J)*.5;D=F+8|0;h[D>>3]=J;E=F+16|0;h[E>>3]=K;f=F+24|0;h[f>>3]=J+(+h[u>>3]-+h[v>>3])*.125;oS(a,F,2);J=+h[x>>3];h[F>>3]=J;K=+h[B>>3];L=+h[u>>3]-+h[v>>3];K=K+(+h[C>>3]-K)*.5+L*.25;h[D>>3]=K;h[E>>3]=J;h[f>>3]=K+L*.125;oS(a,F,2);h[F>>3]=+h[w>>3];L=+h[B>>3];h[D>>3]=L+(+h[C>>3]-L)*.5;h[E>>3]=+h[b>>3];h[f>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}}else{if((e|0)<369098752){if((e|0)<335544320){switch(e|0){case 318767104:break;default:break a}d=HK(j)|0;w=b+16|0;J=+h[w>>3];D=H+48|0;J=J+(+h[b>>3]-J)*.5+(+h[x>>3]-+h[D>>3])*.125;h[d>>3]=J;B=b+40|0;K=+h[B>>3];C=b+24|0;u=H+56|0;v=H+72|0;K=K+(+h[C>>3]-K)*.5+(+h[u>>3]-+h[v>>3])*.5;h[d+8>>3]=K;z=J+(+h[x>>3]-+h[D>>3])*.125;h[d+16>>3]=z;L=K+(+h[u>>3]-+h[v>>3])*.125;h[d+24>>3]=L;h[d+32>>3]=z;z=L+(+h[u>>3]-+h[v>>3])*.25;h[d+40>>3]=z;h[d+48>>3]=J;A=z+(+h[u>>3]-+h[v>>3])*.125;h[d+56>>3]=A;J=J-(+h[x>>3]-+h[D>>3])*.25;h[d+64>>3]=J;h[d+72>>3]=A;A=J-(+h[x>>3]-+h[D>>3])*.125;h[d+80>>3]=A;h[d+88>>3]=z;h[d+96>>3]=A;h[d+104>>3]=L;h[d+112>>3]=J;h[d+120>>3]=K;lS(a,d,g,f);K=+h[w>>3];K=K+(+h[b>>3]-K)*.5;h[F>>3]=K;J=+h[B>>3];J=J+(+h[C>>3]-J)*.5;D=F+8|0;h[D>>3]=J;E=F+16|0;h[E>>3]=K;f=F+24|0;h[f>>3]=J+(+h[u>>3]-+h[v>>3])*.125;oS(a,F,2);J=+h[w>>3];J=J+(+h[b>>3]-J)*.5;h[F>>3]=J;K=+h[B>>3];L=+h[u>>3]-+h[v>>3];K=K+(+h[C>>3]-K)*.5+L*.25;h[D>>3]=K;h[E>>3]=J;h[f>>3]=K+L*.125;oS(a,F,2);h[F>>3]=+h[w>>3];L=+h[B>>3];h[D>>3]=L+(+h[C>>3]-L)*.5;h[E>>3]=+h[b>>3];h[f>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}if((e|0)<352321536){switch(e|0){case 335544320:break;default:break a}d=HK(r)|0;B=b+16|0;y=+h[B>>3];u=H+48|0;y=y+(+h[b>>3]-y)*.5+(+h[x>>3]-+h[u>>3])*.25;h[d>>3]=y;C=b+40|0;A=+h[C>>3];D=b+24|0;s=H+56|0;t=H+72|0;A=A+(+h[D>>3]-A)*.5+(+h[s>>3]-+h[t>>3])*.5;E=d+8|0;h[E>>3]=A;h[d+16>>3]=y;A=A+(+h[s>>3]-+h[t>>3])*.125;v=d+24|0;h[v>>3]=A;K=y-(+h[x>>3]-+h[u>>3])*.125;w=d+32|0;h[w>>3]=K;z=A+(+h[s>>3]-+h[t>>3])*.125;h[d+40>>3]=z;h[d+48>>3]=y;J=z+(+h[s>>3]-+h[t>>3])*.125;h[d+56>>3]=J;h[d+64>>3]=y;y=J+(+h[s>>3]-+h[t>>3])*.125;h[d+72>>3]=y;h[d+80>>3]=K;h[d+88>>3]=y;K=+h[B>>3];K=K+(+h[b>>3]-K)*.5;h[d+96>>3]=K;h[d+104>>3]=J;L=K-(+h[x>>3]-+h[u>>3])*.125;h[d+112>>3]=L;h[d+120>>3]=y;L=L-(+h[x>>3]-+h[u>>3])*.125;h[d+128>>3]=L;h[d+136>>3]=y;h[d+144>>3]=L;h[d+152>>3]=J;J=L+(+h[x>>3]-+h[u>>3])*.125;h[d+160>>3]=J;h[d+168>>3]=z;h[d+176>>3]=L;h[d+184>>3]=A;h[d+192>>3]=L;L=+h[E>>3];h[d+200>>3]=L;h[d+208>>3]=J;h[d+216>>3]=L;E=d+224|0;h[E>>3]=K;h[d+232>>3]=+h[v>>3];h[d+240>>3]=+h[w>>3];h[d+248>>3]=L;lS(a,d,m,f);c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];E=F+16|0;h[E>>3]=+h[F>>3];L=+h[C>>3];f=F+24|0;h[f>>3]=L+(+h[D>>3]-L)*.5;oS(a,F,2);h[F>>3]=+h[B>>3];L=+h[C>>3];h[F+8>>3]=L+(+h[D>>3]-L)*.5;h[E>>3]=+h[b>>3];h[f>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}else{switch(e|0){case 352321536:break;default:break a}d=HK(j)|0;w=b+16|0;K=+h[w>>3];D=H+48|0;K=K+(+h[b>>3]-K)*.5+(+h[x>>3]-+h[D>>3])*.125;h[d>>3]=K;B=b+40|0;L=+h[B>>3];C=b+24|0;u=H+56|0;v=H+72|0;L=L+(+h[C>>3]-L)*.5+(+h[u>>3]-+h[v>>3])*.5;E=d+8|0;h[E>>3]=L;z=K+(+h[x>>3]-+h[D>>3])*.125;h[d+16>>3]=z;J=L+(+h[u>>3]-+h[v>>3])*.125;h[d+24>>3]=J;h[d+32>>3]=z;z=J+(+h[u>>3]-+h[v>>3])*.25;h[d+40>>3]=z;h[d+48>>3]=K;A=z+(+h[u>>3]-+h[v>>3])*.125;h[d+56>>3]=A;K=K-(+h[x>>3]-+h[D>>3])*.25;h[d+64>>3]=K;h[d+72>>3]=A;A=K-(+h[x>>3]-+h[D>>3])*.125;h[d+80>>3]=A;h[d+88>>3]=z;h[d+96>>3]=A;h[d+104>>3]=J;h[d+112>>3]=K;h[d+120>>3]=L;lS(a,d,g,f);L=+h[w>>3];L=L+(+h[b>>3]-L)*.5;h[F>>3]=L;D=F+8|0;h[D>>3]=+h[E>>3];E=F+16|0;h[E>>3]=L;L=+h[B>>3];f=F+24|0;h[f>>3]=L+(+h[C>>3]-L)*.5;oS(a,F,2);h[F>>3]=+h[w>>3];L=+h[B>>3];h[D>>3]=L+(+h[C>>3]-L)*.5;h[E>>3]=+h[b>>3];h[f>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}}if((e|0)<402653184)if((e|0)<385875968){switch(e|0){case 369098752:break;default:break a}d=HK(s)|0;F=H+48|0;h[d>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;E=H+56|0;D=H+72|0;h[d+8>>3]=+h[H+24>>3]-(+h[E>>3]-+h[D>>3])*.5;h[d+16>>3]=+h[F>>3];L=+h[E>>3];h[d+24>>3]=L-(L-+h[D>>3])*.5;h[d+32>>3]=+h[b+32>>3];C=b+40|0;h[d+40>>3]=+h[C>>3];L=+h[x>>3];h[d+48>>3]=L+(L-+h[F>>3])*.5;h[d+56>>3]=+h[C>>3];L=+h[x>>3];h[d+64>>3]=L+(L-+h[F>>3])*.5;h[d+72>>3]=+h[C>>3]+(+h[E>>3]-+h[D>>3])*.5;h[d+80>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;h[d+88>>3]=+h[C>>3]+(+h[E>>3]-+h[D>>3])*.5;h[d+96>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;D=b+56|0;h[d+104>>3]=+h[D>>3];E=b+8|0;L=+h[E>>3];h[d+120>>3]=L-(L-+h[D>>3])*.5;h[d+112>>3]=+h[b>>3];h[d+136>>3]=+h[E>>3];h[d+128>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;lS(a,d,o,f);l6(d);break}else{switch(e|0){case 385875968:break;default:break a}d=HK(q)|0;F=H+48|0;h[d>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;E=H+56|0;D=H+72|0;h[d+8>>3]=+h[H+24>>3]-(+h[E>>3]-+h[D>>3])*.5;h[d+16>>3]=+h[F>>3];L=+h[E>>3];h[d+24>>3]=L-(L-+h[D>>3])*.5;h[d+32>>3]=+h[b+32>>3];C=b+40|0;h[d+40>>3]=+h[C>>3]+(+h[E>>3]-+h[D>>3])*.5;h[d+48>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;h[d+56>>3]=+h[C>>3]+(+h[E>>3]-+h[D>>3])*.5;h[d+64>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;D=b+56|0;h[d+72>>3]=+h[D>>3];E=b+8|0;L=+h[E>>3];h[d+88>>3]=L-(L-+h[D>>3])*.5;h[d+80>>3]=+h[b>>3];h[d+104>>3]=+h[E>>3];h[d+96>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;lS(a,d,t,f);l6(d);break}else if((e|0)<419430400){switch(e|0){case 402653184:break;default:break a}d=HK(q)|0;h[d>>3]=+h[b>>3];C=b+8|0;D=H+48|0;E=H+56|0;F=H+72|0;h[d+8>>3]=+h[C>>3]-(+h[E>>3]-+h[F>>3])*.5;L=+h[x>>3];h[d+16>>3]=L+(L-+h[D>>3])*.5;h[d+24>>3]=+h[C>>3]-(+h[E>>3]-+h[F>>3])*.5;L=+h[x>>3];h[d+32>>3]=L+(L-+h[D>>3])*.5;h[d+40>>3]=+h[H+40>>3];h[d+48>>3]=+h[b+16>>3];L=+h[b+24>>3];C=b+40|0;h[d+56>>3]=L-(L-+h[C>>3])*.5;L=+h[x>>3];h[d+64>>3]=L+(L-+h[D>>3])*.5;h[d+72>>3]=+h[C>>3];h[d+88>>3]=+h[C>>3]+(+h[E>>3]-+h[F>>3])*.5;L=+h[x>>3];h[d+80>>3]=L+(L-+h[D>>3])*.5;h[d+104>>3]=+h[b+56>>3]+(+h[E>>3]-+h[F>>3])*.5;h[d+96>>3]=+h[b>>3];lS(a,d,t,f);l6(d);break}else{switch(e|0){case 419430400:break;default:break a}d=HK(s)|0;h[d>>3]=+h[b>>3];F=b+8|0;E=H+48|0;C=H+56|0;D=H+72|0;h[d+8>>3]=+h[F>>3]-(+h[C>>3]-+h[D>>3])*.5;L=+h[x>>3];h[d+16>>3]=L+(L-+h[E>>3])*.5;h[d+24>>3]=+h[F>>3]-(+h[C>>3]-+h[D>>3])*.5;L=+h[x>>3];h[d+32>>3]=L+(L-+h[E>>3])*.5;h[d+40>>3]=+h[H+40>>3];h[d+48>>3]=+h[b+16>>3];L=+h[b+24>>3];F=b+40|0;h[d+56>>3]=L-(L-+h[F>>3])*.5;L=+h[x>>3];h[d+64>>3]=L+(L-+h[E>>3])*.5;h[d+72>>3]=+h[F>>3];h[d+88>>3]=+h[F>>3]+(+h[C>>3]-+h[D>>3])*.5;L=+h[x>>3];h[d+80>>3]=L+(L-+h[E>>3])*.5;F=b+56|0;h[d+104>>3]=+h[F>>3]+(+h[C>>3]-+h[D>>3])*.5;h[d+96>>3]=+h[v>>3]-(+h[x>>3]-+h[E>>3])*.5;h[d+112>>3]=+h[v>>3]-(+h[x>>3]-+h[E>>3])*.5;h[d+120>>3]=+h[F>>3];h[d+128>>3]=+h[b+48>>3];h[d+136>>3]=+h[F>>3];lS(a,d,o,f);l6(d);break}}while(0);l6(H)}l=I;return}function SM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0;f=l;l=l+112|0;g=f;k=+h[b+8>>3];k=k+k;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];h[g+16>>3]=+h[b+16>>3];h[g+24>>3]=k-+h[b+24>>3];h[g+32>>3]=+h[b+32>>3];h[g+40>>3]=k-+h[b+40>>3];h[g+48>>3]=+h[b+48>>3];h[g+56>>3]=k-+h[b+56>>3];h[g+64>>3]=+h[b+64>>3];h[g+72>>3]=k-+h[b+72>>3];h[g+80>>3]=+h[b+80>>3];h[g+88>>3]=k-+h[b+88>>3];i=g+96|0;j=b+96|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];nS(a,b,d,0,0,e&255);nS(a,g,7,0,0,0);l=f;return}function TM(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[c>>3];e=+h[c+8>>3];e=e+(+h[d+8>>3]-e)*b;h[a>>3]=f+(+h[d>>3]-f)*b;h[a+8>>3]=e;return}function UM(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a){a=c[c[a+4>>2]>>2]|0;if((a|0)!=91)if((a|0)==94)a=2;else return ((a|0)==93?3:(a|0)==96?4:0)|0;else a=1}else a=0;return a|0}function VM(b){b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0.0,A=0,B=0,C=0,D=0,E=0,H=0,K=0,L=0,M=0,N=0,P=0,Q=0.0,R=0.0,T=0,U=0,V=0.0,W=0.0,X=0.0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0.0;ca=l;l=l+144|0;K=ca+112|0;N=ca+104|0;D=ca+96|0;E=ca+88|0;j=ca+80|0;$=ca+64|0;aa=ca+48|0;T=ca+40|0;U=ca+32|0;o=ca+24|0;x=ca+16|0;B=ca+136|0;A=ca+128|0;L=ca;ba=HK(48)|0;Z=b+16|0;P=c[(c[(c[Z>>2]|0)+8>>2]|0)+8>>2]|0;i=(P|0)==1664;_=c[P>>2]|0;e=c[P+4>>2]|0;g=c[P+8>>2]|0;f=+h[P+16>>3];k=+h[P+32>>3];m=+h[P+24>>3];_=(bP(NA(b,105812)|0)|0)&255|_;P=(_|0)!=0;do if(!i){if(!P){Y=c[Z>>2]|0;d=+h[Y+32>>3]*72.0;r=+h[Y+40>>3]*72.0;r=+(~~(r+(r>=0.0?.5:-.5))|0);d=+(~~(d+(d>=0.0?.5:-.5))|0);break}d=+dN(b);if(d>0.0)r=d;else{Y=c[Z>>2]|0;r=+h[Y+32>>3];d=+h[Y+40>>3];d=(r=0.0?.5:-.5))|0);r=d}}else{r=0.0;d=0.0}while(0);Y=XO(b,c[47222]|0,e,0)|0;X=f+ +YO(b,c[47224]|0,0.0,-360.0);if(!g){W=+YO(b,c[47225]|0,0.0,-100.0);H=XO(b,c[47221]|0,4,0)|0;V=+YO(b,c[47226]|0,0.0,-100.0)}else{H=g;W=k;V=m}e=c[(c[Z>>2]|0)+104>>2]|0;C=e+24|0;c[$>>2]=c[C>>2];c[$+4>>2]=c[C+4>>2];c[$+8>>2]=c[C+8>>2];c[$+12>>2]=c[C+12>>2];n=+h[$>>3];C=$+8|0;if(n>0.0)if(i)k=n;else M=11;else if(i|!(+h[C>>3]>0.0))k=n;else M=11;if((M|0)==11){e=NA(b,105797)|0;f=n+16.0;do if(e){h[x>>3]=0.0;h[o>>3]=0.0;c[j>>2]=o;c[j+4>>2]=x;e=q4(e,105804,j)|0;k=+h[o>>3];if(k<0.0){h[o>>3]=0.0;k=0.0}m=+h[x>>3];if(m<0.0){h[x>>3]=0.0;m=0.0}if((e|0)<=0){h[$>>3]=f;k=8.0;break}k=k*72.0;k=+(~~(k+(k>=0.0?.5:-.5))<<1|0);f=n+k;h[$>>3]=f;if((e|0)!=1){k=m*72.0;k=+(~~(k+(k>=0.0?.5:-.5))<<1|0)}}else{h[$>>3]=f;k=8.0}while(0);h[C>>3]=k+ +h[C>>3];e=c[(c[Z>>2]|0)+104>>2]|0;k=f}q=k-+h[e+24>>3];f=+h[c[(c[(uC(b)|0)+16>>2]|0)+8>>2]>>3];if(f>0.0){Q=f*72.0;Q=+(~~(Q+(Q>=0.0?.5:-.5))|0);R=+eN(k,Q);h[$>>3]=R;h[C>>3]=+eN(+h[C>>3],Q)}else R=k;e=c[(c[Z>>2]|0)+8>>2]|0;do if(!(a[e+12>>0]|0)){g=NA(b,109326)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){PF(A,uC(b)|0,g);e=c[A>>2]|0;i=c[A+4>>2]|0;if((i&e|0)==-1){e=HB(b)|0;c[D>>2]=g;c[D+4>>2]=e;dA(0,105888,D)|0;g=0;e=0;break}else{a[(c[(uC(b)|0)+16>>2]|0)+114>>0]=1;g=e+2|0;e=i+2|0;break}}else{g=0;e=0}}else{e=c[e>>2]|0;if((a[e>>0]|0)==99?(f2(e,105820)|0)==0:0){g=NA(b,105827)|0;PF(B,uC(b)|0,g);e=c[B>>2]|0;i=c[B+4>>2]|0;if((i&e|0)==-1){e=HB(b)|0;c[E>>2]=g|0?g:105837;c[E+4>>2]=e;dA(0,105843,E)|0;g=0;e=0;break}else{a[(c[(uC(b)|0)+16>>2]|0)+114>>0]=1;g=e+2|0;e=i+2|0;break}}else{g=0;e=0}}while(0);Q=+(g|0);h[aa>>3]=R>Q?R:Q;Q=+h[C>>3];p=+(e|0);A=aa+8|0;h[A>>3]=Q>p?Q:p;e=(H|0)<3&(V!=0.0|W!=0.0)?120:H;g=NA(b,105929)|0;if(!g)i=99;else{i=a[g>>0]|0;i=i<<24>>24==116?116:i<<24>>24==98?98:99}g=c[Z>>2]|0;a[(c[g+104>>2]|0)+80>>0]=i;if((e|0)==4)if((V==0.0?((~~(X+(X>=0.0?.5:-.5))|0)%90|0|0)==0:0)&W==0.0){n=4.0;o=1}else{n=4.0;M=40}else{n=+(e|0);M=40}do if((M|0)==40){g=c[(c[(c[g+8>>2]|0)+8>>2]|0)+44>>2]|0;if(g|0){o=c[g>>2]|0;c[K>>2]=c[aa>>2];c[K+4>>2]=c[aa+4>>2];c[K+8>>2]=c[aa+8>>2];c[K+12>>2]=c[aa+12>>2];lb[o&63](L,K);c[aa>>2]=c[L>>2];c[aa+4>>2]=c[L+4>>2];c[aa+8>>2]=c[L+8>>2];c[aa+12>>2]=c[L+12>>2];o=0;break}f=+h[A>>3];k=f*1.4142135623730951;if(r>k&i<<24>>24==99){m=f/r;m=+G(+(1.0/(1.0-m*m)));m=m*+h[aa>>3];h[aa>>3]=m}else{m=+h[aa>>3]*1.4142135623730951;h[aa>>3]=m;h[A>>3]=k;f=k}if((e|0)>2){z=+I(+(3.141592653589793/n));h[aa>>3]=m/z;h[A>>3]=f/z;o=0}else o=0}while(0);k=+h[A>>3];g=_O(b,c[47227]|0,137609)|0;x=ba+40|0;if((a[g>>0]|0)==115?(f2(g,108531)|0)==0:0){h[aa>>3]=d;h[A>>3]=r;c[x>>2]=c[x>>2]|2048;f=r}else{if(!((bP(g)|0)<<24>>24)){f=+h[aa>>3];d=d>f?d:f;h[aa>>3]=d;f=+h[A>>3];f=r>f?r:f}else{M=c[(c[Z>>2]|0)+104>>2]|0;if(!(!(d<+h[M+24>>3])?!(r<+h[M+32>>3]):0)){L=HB(b)|0;M=HB(uC(b)|0)|0;c[N>>2]=L;c[N+4>>2]=M;dA(0,105938,N)|0}h[aa>>3]=d;f=r}h[A>>3]=f}if(P){y=d>f?d:f;h[A>>3]=y;h[aa>>3]=y;z=y}else{z=f;y=d}d=R-q;do if(!((bP(_O(b,c[47218]|0,137609)|0)|0)<<24>>24)){if(o){d=+h[(R>+h[aa>>3]?$:aa)>>3]-q;break}f=+h[A>>3];if(Q>3]*+G(+(1.0-Q*Q/(f*f)));d=(R>d?R:d)-q}}while(0);g=c[(c[Z>>2]|0)+104>>2]|0;h[g+40>>3]=d;if(!(c[x>>2]&2048)){w=+h[A>>3]-k;h[g+48>>3]=Q+(Q1;g=j?Y:1;a:do if((e|0)<3){g=HK(g<<5)|0;f=+h[aa>>3]*.5;d=+h[A>>3]*.5;h[g>>3]=-f;h[g+8>>3]=-d;h[g+16>>3]=f;h[g+24>>3]=d;if(j){e=1;i=2;while(1){if((e|0)==(Y|0))break;y=f+4.0;z=d+4.0;h[g+(i<<4)>>3]=-y;h[g+(i<<4)+8>>3]=-z;U=i|1;h[g+(U<<4)>>3]=y;h[g+(U<<4)+8>>3]=z;e=e+1|0;i=i+2|0;f=y;d=z}h[aa>>3]=f*2.0;h[A>>3]=d*2.0;e=2}else e=2}else{g=HK(S(g<<4,e)|0)|0;i=c[(c[(c[(c[Z>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2]|0;b:do if(!i){p=6.283185307179586/n;s=p*.5;q=+J(+s);r=+c2(+F(+V)+ +F(+W),1.0);s=V*1.4142135623730951/+I(+s);t=W*.5;k=(p+-3.141592653589793)*.5;X3(k,T,U);u=X/180.0*3.141592653589793;f=0.0;d=0.0;k=k+(3.141592653589793-p)*.5;i=0;m=+h[U>>3]*.5;n=+h[T>>3]*.5;while(1){if((i|0)>=(e|0))break b;k=p+k;X3(k,T,U);m=m+q*+h[U>>3];n=n+q*+h[T>>3];w=t*n+m*(r+s*n);X3(u+ +O(+n,+w),T,U);w=+c2(w,n);v=w*+h[U>>3]*+h[aa>>3];w=w*+h[T>>3]*+h[A>>3];da=+F(+v);d=da>d?da:d;da=+F(+w);f=da>f?da:f;h[g+(i<<4)>>3]=v;h[g+(i<<4)+8>>3]=w;if(o)break;else i=i+1|0}da=-v;h[g+16>>3]=da;h[g+24>>3]=w;h[g+32>>3]=da;da=-w;h[g+40>>3]=da;h[g+48>>3]=v;h[g+56>>3]=da}else{lb[c[i+4>>2]&63](g,aa);f=+h[A>>3]*.5;d=+h[aa>>3]*.5}while(0);d=d*2.0;f=f*2.0;y=y>d?y:d;h[aa>>3]=y;da=z>f?z:f;h[A>>3]=da;d=y/d;f=da/f;i=0;while(1){if((i|0)>=(e|0))break;P=g+(i<<4)|0;b=g+(i<<4)+8|0;da=f*+h[b>>3];h[P>>3]=d*+h[P>>3];h[b>>3]=da;i=i+1|0}if(j){j=e+-1|0;f=+h[g>>3];k=+h[g+8>>3];d=+O(+(k-+h[g+(j<<4)+8>>3]),+(f-+h[g+(j<<4)>>3]));j=0;c:while(1){if((j|0)>=(e|0))break;o=j+1|0;i=(o|0)%(e|0)|0;m=+h[g+(i<<4)>>3];n=+h[g+(i<<4)+8>>3];p=+O(+(n-k),+(m-f));z=(d+3.141592653589793-p)*.5;da=4.0/+J(+z);X3(d-z,T,U);h[T>>3]=da*+h[T>>3];h[U>>3]=da*+h[U>>3];i=1;d=k;while(1){if((i|0)==(Y|0)){d=p;j=o;f=m;k=n;continue c}z=f+ +h[U>>3];da=d+ +h[T>>3];b=(S(i,e)|0)+j|0;h[g+(b<<4)>>3]=z;h[g+(b<<4)+8>>3]=da;i=i+1|0;f=z;d=da}}j=S(e,Y+-1|0)|0;i=0;while(1){if((i|0)>=(e|0))break a;U=i+j|0;z=+h[g+(U<<4)+8>>3];y=+F(+(+h[g+(U<<4)>>3]))*2.0;da=+h[aa>>3];h[aa>>3]=y>da?y:da;z=+F(+z)*2.0;da=+h[A>>3];h[A>>3]=z>da?z:da;i=i+1|0}}}while(0);c[ba>>2]=_;c[ba+4>>2]=Y;c[ba+8>>2]=e;h[ba+16>>3]=X;h[ba+32>>3]=W;h[ba+24>>3]=V;c[ba+44>>2]=g;g=c[Z>>2]|0;f=+h[aa>>3];d=+h[A>>3];e=g+32|0;if(!(c[x>>2]&2048))h[e>>3]=f/72.0;else{h[e>>3]=+h[(R>f?$:aa)>>3]/72.0;d=+h[(Q>d?$:aa)+8>>3]}h[g+40>>3]=d/72.0;c[g+12>>2]=ba;l=ca;return}function WM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;j=o+40|0;e=o+32|0;k=o+16|0;n=o;d=(c[(c[(uC(a)|0)+16>>2]|0)+116>>2]|0)>>>2&1^1;m=a+16|0;f=c[c[(c[m>>2]|0)+104>>2]>>2]|0;c[47352]=f;f=D3(f)|0;f=HK(((f|0)>1?f:1)+1|0)|0;b=YM(a,d,1,f)|0;if(!b){c[e>>2]=c[c[(c[m>>2]|0)+104>>2]>>2];dA(1,105773,e)|0;c[47352]=105794;b=YM(a,d,1,f)|0}l6(f);ZM(j,a,b);d=c[m>>2]|0;i=+h[d+32>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))|0);h[n>>3]=i;g=+h[d+40>>3]*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);d=n+8|0;h[d>>3]=g;if(!((bP(_O(a,c[47227]|0,137609)|0)|0)<<24>>24)){i=+h[(+h[b>>3]>i?b:n)>>3];h[n>>3]=i;e=b+8|0;g=+h[(+h[e>>3]>g?b:n)+8>>3];h[d>>3]=g;d=e;e=b}else{d=b+8|0;e=b}a=(bP(_O(a,c[47218]|0,137609)|0)|0)&255;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];_M(b,j,a);$M(k,i*-.5,g*.5);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];aN(b,j,15);n=c[m>>2]|0;h[n+32>>3]=+h[e>>3]/72.0;h[n+40>>3]=(+h[d>>3]+1.0)/72.0;c[n+12>>2]=b;l=o;return}function XM(a){a=a|0;var b=0.0,d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,l=0.0,m=0;j=HK(48)|0;k=a+16|0;g=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0;b=+YO(a,c[47200]|0,1797693134862315708145274.0e284,0.0);f=+YO(a,c[47199]|0,1797693134862315708145274.0e284,0.0);b=b>2]|0;b=f==1797693134862315708145274.0e284&b==1797693134862315708145274.0e284?.05:b>0.0?(b>.0003?b:.0003):b;h[i+40>>3]=b;h[i+32>>3]=b;b=b*72.0;g=XO(a,c[47222]|0,g,0)|0;i=HK((g|0)<1?32:g<<5)|0;f=b*.5;e=-f;h[i>>3]=e;h[i+8>>3]=e;h[i+16>>3]=f;h[i+24>>3]=f;if((g|0)>1){a=1;d=2;e=f;b=f;while(1){if((a|0)==(g|0))break;l=e+4.0;f=b+4.0;h[i+(d<<4)>>3]=-l;h[i+(d<<4)+8>>3]=-f;m=d|1;h[i+(m<<4)>>3]=l;h[i+(m<<4)+8>>3]=f;a=a+1|0;d=d+2|0;e=l;b=f}b=e*2.0}c[j>>2]=1;c[j+4>>2]=g;c[j+8>>2]=2;m=j+16|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[j+44>>2]=i;l=b/72.0;m=c[k>>2]|0;h[m+32>>3]=l;h[m+40>>3]=l;c[m+12>>2]=j;return}function YM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=HK(72)|0;n=c[(c[b+16>>2]|0)+104>>2]|0;m=0;i=1;j=c[47352]|0;a:while(1){k=a[j>>0]|0;switch(k<<24>>24){case 0:break a;case 92:{j=j+1|0;k=a[j>>0]|0;switch(k<<24>>24){case 124:case 125:case 123:case 92:{l=m;break}default:E=4}break}default:E=4}if((E|0)==4){E=0;switch(k<<24>>24){case 123:{l=m+1|0;break}case 125:{l=m+-1|0;break}default:{l=m;i=((m|0)==0&k<<24>>24==124&1)+i|0}}if((l|0)<0)break}m=l;j=j+1|0}C=g+56|0;c[C>>2]=HK(i<<2)|0;a[g+64>>0]=d;z=(d|0)==0&1;A=f+1|0;B=n+82|0;y=(e|0)==0;w=n+16|0;x=n+4|0;v=n+8|0;l=0;m=0;d=0;u=0;k=0;e=0;n=f;i=0;j=0;b:while(1){p=l;l=0;c:while(1){r=n;d:while(1){t=e;e:while(1){s=i;f:while(1){q=m;o=k;g:while(1){while(1){if(u){E=79;break b}i=c[47352]|0;k=a[i>>0]|0;e=i+1|0;if((k+-1&255)>=31)break;c[47352]=e}switch(k<<24>>24|0){case 92:{E=52;break d}case 0:case 124:case 125:break e;case 60:break f;case 62:break g;case 123:break;default:{E=56;break d}}c[47352]=e;if(o|0){E=32;break b}if(!(a[e>>0]|0)){E=32;break b}o=YM(b,z,0,f)|0;c[(c[C>>2]|0)+(q<<2)>>2]=o;if(!o){E=34;break b}else{q=q+1|0;o=4}}n=s+-1|0;if(a[B>>0]|0){k=o;break d}if(!(o&16)){E=26;break b}if(s>>>0<=A>>>0|(n|0)==(t|0))i=s;else i=(a[n>>0]|0)==32?n:s;a[i>>0]=0;l=Y3(f)|0;c[47352]=(c[47352]|0)+1;m=q;k=o&-17;s=i}if(o&6|0){E=21;break b}if(a[B>>0]|0){E=57;break d}c[47352]=e;m=q;k=o|18;t=f;i=f}if((o&16|0)!=0|y&k<<24>>24==0){E=36;break b}if(!(o&4)){e=HK(72)|0;c[(c[C>>2]|0)+(q<<2)>>2]=e;m=q+1|0}else{e=p;m=q}if(l|0)c[e+60>>2]=l;if(!(o&5)){a[f+j>>0]=32;o=o|1;j=j+1|0}i=f+j|0;if(!(o&1))n=r;else{if((j|0)>1?(D=i+-1|0,(D|0)!=(r|0)):0)i=(a[D>>0]|0)==32?D:i;a[i>>0]=0;n=Y3(f)|0;c[e+52>>2]=xK(b,n,a[B>>0]|0?2:0,+h[w>>3],c[x>>2]|0,c[v>>2]|0)|0;a[e+64>>0]=1;n=f;j=0}i=c[47352]|0;k=a[i>>0]|0;if(!(k<<24>>24)){l=e;u=1;k=o;e=t;i=s;continue b}c[47352]=i+1;if(k<<24>>24==125){E=51;break b}else{p=e;k=0;l=0;e=t;r=n;i=s}}h:do if((E|0)==52){E=0;k=f+j|0;n=s+-1|0;m=j+1|0;switch(a[e>>0]|0){case 0:{k=o;break h}case 62:case 60:case 124:case 125:case 123:{i=d;k=o;break}case 32:{if(!(a[B>>0]|0)){i=1;k=o}else E=54;break}default:E=54}if((E|0)==54){E=0;a[k>>0]=92;i=d;k=o|9;j=m}c[47352]=e;d=i;i=e}else if((E|0)==56){E=0;k=o;n=s+-1|0}else if((E|0)==57){E=0;k=o;n=s+-1|0}while(0);e=f+j|0;if(k&4|0?(a[i>>0]|0)!=32:0){E=60;break b}if(!(k&24))k=(a[i>>0]|0)==32?k:k|9;o=(d|0)!=0;if(!(k&8))if(!(k&16)){e=t;n=r;o=s}else{m=a[i>>0]|0;if(!(o|m<<24>>24!=32))if((s|0)!=(f|0))if((a[n>>0]|0)==32)m=s;else E=74;else m=f;else E=74;if((E|0)==74){E=0;a[s>>0]=m;m=s+1|0;i=c[47352]|0}e=o?m+-1|0:t;n=r;o=m}else{m=a[i>>0]|0;if(!((!(o|m<<24>>24!=32)?(a[e+-1>>0]|0)==32:0)?(a[B>>0]|0)==0:0)){a[e>>0]=m;j=j+1|0}if(o){e=t;n=f+j+-1|0;o=s}else{e=t;n=r;o=s}}i=i+1|0;c[47352]=i;while(1){if((a[i>>0]|0)>=0){m=q;i=o;continue c}t=i+1|0;c[47352]=t;a[f+j>>0]=a[i>>0]|0;j=j+1|0;i=t}}}if((E|0)==21){bN(g,l);g=0}else if((E|0)==26){bN(g,l);g=0}else if((E|0)==32){bN(g,l);g=0}else if((E|0)==34){bN(g,l);g=0}else if((E|0)==36){bN(g,l);g=0}else if((E|0)==51)c[g+48>>2]=m;else if((E|0)==60){bN(g,l);g=0}else if((E|0)==79)c[g+48>>2]=q;return g|0}function ZM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;n=v+48|0;k=v+40|0;p=v+32|0;u=v+16|0;s=v;j=c[e+52>>2]|0;t=u+8|0;a:do if(!j){o=e+48|0;p=e+56|0;q=e+64|0;r=s+8|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;n=0;while(1){if((n|0)>=(c[o>>2]|0))break a;ZM(s,d,c[(c[p>>2]|0)+(n<<2)>>2]|0);f=+h[t>>3];g=+h[u>>3];i=+h[s>>3];m=+h[r>>3];if(!(a[q>>0]|0)){h[t>>3]=f+m;j=g>i?u:s;k=u}else{h[u>>3]=g+i;j=(f>m?u:s)+8|0;k=t}h[k>>3]=+h[j>>3];n=n+1|0}}else{g=+h[j+24>>3];f=+h[j+32>>3];if(g>0.0|f>0.0){j=NA(d,105797)|0;m=g+16.0;if((j|0)!=0?(c[n>>2]=k,c[n+4>>2]=p,o=q4(j,105804,n)|0,(o|0)>0):0){i=+h[k>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))<<1|0);g=g+i;if((o|0)!=1){i=+h[p>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))<<1|0)}}else{i=8.0;g=m}f=f+i}h[u>>3]=g;h[t>>3]=f}while(0);c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];c[b>>2]=c[u>>2];c[b+4>>2]=c[u+4>>2];c[b+8>>2]=c[u+8>>2];c[b+12>>2]=c[u+12>>2];l=v;return}function _M(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0;r=l;l=l+32|0;n=r+16|0;o=r;p=+h[d>>3];g=p-+h[b>>3];q=+h[d+8>>3];f=q-+h[b+8>>3];c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];d=c[b+52>>2]|0;if(!((e|0)!=0|(d|0)==0)){m=d+40|0;h[m>>3]=g+ +h[m>>3];m=d+48|0;h[m>>3]=f+ +h[m>>3]}k=b+48|0;d=c[k>>2]|0;a:do if(d|0){m=b+64|0;g=((a[m>>0]|0)==0?f:g)/+(d|0);j=b+56|0;i=0;while(1){if((i|0)>=(d|0))break a;d=c[(c[j>>2]|0)+(i<<2)>>2]|0;b=i+1|0;f=+(~~(g*+(b|0))-~~(g*+(i|0))|0);if(!(a[m>>0]|0))$M(o,p,f+ +h[d+8>>3]);else $M(o,f+ +h[d>>3],q);c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];_M(d,n,e);i=b;d=c[k>>2]|0}}while(0);l=r;return}function $M(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function aN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;q=l;l=l+48|0;j=q+32|0;n=q+16|0;m=q;a[b+65>>0]=e;k=b+16|0;s=+h[d>>3];p=d+8|0;r=+h[p>>3];$M(n,s,r-+h[b+8>>3]);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];k=b+32|0;$M(m,s+ +h[b>>3],r);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=c[b+48>>2]|0;m=k+-1|0;n=(e|0)==0;o=b+64|0;i=b+56|0;g=0;while(1){if((g|0)>=(k|0))break;do if(!n){b=(g|0)==0;f=(g|0)==(m|0);if(!(a[o>>0]|0))if(b){b=f?15:14;break}else{b=f?11:10;break}else if(b){b=f?15:13;break}else{b=f?7:5;break}}else b=0;while(0);f=c[(c[i>>2]|0)+(g<<2)>>2]|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];aN(f,j,b&e);b=c[(c[i>>2]|0)+(g<<2)>>2]|0;if(!(a[o>>0]|0))h[p>>3]=+h[p>>3]-+h[b+8>>3];else h[d>>3]=+h[d>>3]+ +h[b>>3];g=g+1|0}l=q;return}function bN(a,b){a=a|0;b=b|0;cN(a);l6(b);return}function cN(a){a=a|0;var b=0,d=0,e=0;d=a+48|0;e=a+56|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;cN(c[(c[e>>2]|0)+(b<<2)>>2]|0);b=b+1|0}l6(c[a+60>>2]|0);AK(c[a+52>>2]|0);l6(c[e>>2]|0);l6(a);return}function dN(a){a=a|0;var b=0.0,d=0.0;d=+YO(a,c[47200]|0,0.0,.01);b=+YO(a,c[47199]|0,0.0,.02);b=(d>b?d:b)*72.0;return +(+(~~(b+(b>=0.0?.5:-.5))|0))}function eN(a,b){a=+a;b=+b;var c=0;c=~~(a/b);return +(+((+(c|0)*b+1.0e-05>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[c[a+4>>2]>>2]|0)==91&1;return a|0}function gN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[47353]|0;a:do if(!f)d=0;else{g=c[47354]|0;e=0;while(1){if((e|0)>=(g|0)){d=0;break a}d=c[f+(e<<2)>>2]|0;h=c[d>>2]|0;if((a[h>>0]|0)==(a[b>>0]|0)?(f2(h,b)|0)==0:0)break a;e=e+1|0}}while(0);return d|0}function hN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;do if(!(kP(NA(d,105827)|0)|0))d=b;else{if((a[b>>0]|0)==101?(f2(b,105986)|0)==0:0){d=b;break}d=105820}while(0);f=a[d>>0]|0;if(f<<24>>24==99?(f2(d,105820)|0)==0:0)g=11;else{b=20896;g=7}a:do if((g|0)==7)while(1){g=0;e=c[b>>2]|0;if(!e){g=11;break a}if((a[e>>0]|0)==f<<24>>24?(f2(e,d)|0)==0:0)break a;b=b+16|0;g=7}while(0);if((g|0)==11)b=iN(d)|0;return b|0}function iN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=gN(b)|0;if(!d){f=c[47354]|0;e=f+1|0;c[47354]=e;d=c[47353]|0;e=e<<2;if(!d)d=IK(e)|0;else d=KK(d,e)|0;c[47353]=d;d=HK(16)|0;c[(c[47353]|0)+(f<<2)>>2]=d;c[d>>2]=c[5224];c[d+4>>2]=c[5225];c[d+8>>2]=c[5226];c[d+12>>2]=c[5227];e=Y3(b)|0;c[d>>2]=e;do if(!(c[47176]|0)){if((a[b>>0]|0)==99?(f2(b,105820)|0)==0:0){e=1;break}c[g>>2]=c[5224];c[g+4>>2]=e;dA(0,105991,g)|0;e=0}else e=1;while(0);a[d+12>>0]=e}l=h;return d|0}function jN(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[b>>3]/1.902113032590307;c=+h[b+8>>3]/1.1180339887498947;c=(d>c?d:c)*.9510565162951535*.8090169943749475/.29389262614623657;h[a>>3]=c*2.0*.9510565162951535;h[a+8>>3]=c*1.8090169943749475;return}function kN(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0;d=+h[b>>3];k=b+8|0;e=+h[k>>3];c=e/d;if(!(c>.9510565162951536))if(c<.9510565162951536){j=d;e=d*.9510565162951536}else j=d;else j=e/.9510565162951536;i=j/1.902113032590307;d=i*.9510565162951535*.30901699437494745/.7694208842938134;g=i*.19098300562505266*.5;c=.3141592653589793;f=0;while(1){if((f|0)>=10)break;h[a+(f<<4)>>3]=i*+I(+c);h[a+(f<<4)+8>>3]=i*+J(+c)-g;l=c+.6283185307179586;m=f|1;h[a+(m<<4)>>3]=d*+I(+l);h[a+(m<<4)+8>>3]=d*+J(+l)-g;c=l+.6283185307179586;f=f+2|0}h[b>>3]=j;h[k>>3]=e;return}function lN(a){a=a|0;a=c[(c[a+16>>2]|0)+12>>2]|0;if(a|0){l6(c[a+44>>2]|0);l6(a)}return}function mN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+80|0;k=o+40|0;g=o;n=o+64|0;h=o+56|0;if(!(a[e>>0]|0)){g=4256;h=b+40|0;do{c[b>>2]=c[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0))}else{i=(f|0)==0?106657:f;c[n>>2]=15;j=d+16|0;f=c[j>>2]|0;do if(a[(c[f+104>>2]|0)+82>>0]|0){f=nU(d,e,n)|0;if(!f){f=c[j>>2]|0;m=8;break}if(AN(d,f,g,i,c[n>>2]|0,0)|0){c[k>>2]=HB(d)|0;c[k+4>>2]=e;c[k+8>>2]=i;dA(0,106659,k)|0}}else m=8;while(0);if((m|0)==8){if((c[(c[f+8>>2]|0)+8>>2]|0)==1712)h=0;else{c[h>>2]=d;c[h+4>>2]=0}if(AN(d,0,g,e,c[n>>2]|0,h)|0)BN(d,e)}c[g+36>>2]=0;h=b+40|0;do{c[b>>2]=c[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0))}l=o;return}function nN(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0;r=l;l=l+112|0;n=r+96|0;m=r+80|0;p=r+64|0;k=r+48|0;q=r+32|0;o=r+16|0;f=r;if(!a){c[47357]=0;a=0}else{g=c[a+4>>2]|0;a=c[a>>2]|0;i=(c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];kK(f,n,i);c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];c[q+8>>2]=c[f+8>>2];c[q+12>>2]=c[f+12>>2];a:do if(g){d=+h[g+8>>3];e=+h[g+24>>3];s=+h[q>>3];if((+h[g>>3]<=s?s<=+h[g+16>>3]:0)?(j=+h[q+8>>3],d<=j):0)a=j<=e&1;else a=0}else{if((a|0)==(c[47357]|0)){f=c[47358]|0;g=c[47360]|0;i=c[47359]|0}else{g=c[(c[a+16>>2]|0)+12>>2]|0;c[47361]=g;i=c[g+44>>2]|0;c[47359]=i;f=c[g+8>>2]|0;c[47358]=f;g=S((c[g+4>>2]|0)+-1|0,f)|0;g=(g|0)>0?g:0;c[47360]=g;c[47357]=a}a=0;b=0;while(1){if((a|0)>=(f|0)){a=1;break a}t=i+(g+a<<4)|0;c[o>>2]=c[t>>2];c[o+4>>2]=c[t+4>>2];c[o+8>>2]=c[t+8>>2];c[o+12>>2]=c[t+12>>2];t=i+(((a+4|0)%(f|0)|0)+g<<4)|0;c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[k+12>>2]=c[q+12>>2];c[p>>2]=c[46656];c[p+4>>2]=c[46657];c[p+8>>2]=c[46658];c[p+12>>2]=c[46659];c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];b=((zN(k,p,m,n)|0)==0&1)+b|0;if((b|0)==2){a=0;break}else a=a+2|0}}while(0)}l=r;return a|0}function oN(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;e=c[b+16>>2]|0;if((a[(c[e+104>>2]|0)+82>>0]|0)!=0?(a[e+145>>0]|0)!=0:0)b=qU(b,d,0,f,g)|0;else b=0;return b|0}function pN(e,f){e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0;V=l;l=l+48|0;R=V+24|0;Q=V+16|0;N=V+8|0;M=V;T=V+32|0;q=V+28|0;n=c[e+16>>2]|0;U=n+208|0;o=c[U>>2]|0;if(!o){i=e+152|0;j=n+228|0;k=n+212|0;m=n+244|0;if(!(b[n+260>>1]&1)){O=i;J=0}else P=4}else{i=e+152|0;j=n+228|0;m=n+244|0;k=n+212|0;P=4}if((P|0)==4)if(!(c[i>>2]&4)){aS(e,o,c[j>>2]|0,c[m>>2]|0,c[k>>2]|0);O=i;J=1}else{O=i;J=1}K=f+16|0;i=c[K>>2]|0;y=c[i+12>>2]|0;I=c[y+44>>2]|0;L=c[y+8>>2]|0;y=c[y+4>>2]|0;if((c[47355]|0)<(L|0)){n=L+5|0;c[47355]=n;i=c[47356]|0;n=n<<4;if(!i)i=IK(n)|0;else i=KK(i,n)|0;c[47356]=i;i=c[K>>2]|0}H=(c[i+104>>2]|0)+56|0;i=i+16|0;c[H>>2]=c[i>>2];c[H+4>>2]=c[i+4>>2];c[H+8>>2]=c[i+8>>2];c[H+12>>2]=c[i+12>>2];H=c[K>>2]|0;F=+h[H+32>>3]*72.0;F=(+h[H+88>>3]+ +h[H+96>>3])/+(~~(F+(F>=0.0?.5:-.5))|0);G=+h[H+40>>3]*72.0;G=+h[H+80>>3]/+(~~(G+(G>=0.0?.5:-.5))|0);H=qN(e,f)|0;c[T>>2]=0;i=d[(c[K>>2]|0)+117>>0]|0;do if(!(i&1)){if(i&2|0){B=$O(f,c[47206]|0,106557)|0;fS(e,B);hS(e,$O(f,c[47207]|0,106565)|0);n=0;i=1;break}if(i&8|0){B=$O(f,c[47210]|0,106573)|0;fS(e,B);hS(e,$O(f,c[47211]|0,106581)|0);n=0;i=1;break}if(i&4|0){B=$O(f,c[47208]|0,106589)|0;fS(e,B);hS(e,$O(f,c[47209]|0,106597)|0);n=0;i=1;break}if(!(H&1))if(!(H&576)){n=0;i=0}else{n=rN(f)|0;i=1}else{n=rN(f)|0;if(!((HJ(n,T,q)|0)<<24>>24)){hS(e,n);i=1}else{hS(e,c[T>>2]|0);i=c[T+4>>2]|0;o=XO(f,c[47235]|0,0,0)|0;p=+g[q>>2];if(!i)iS(e,137615,o,p);else iS(e,i,o,p);i=(H&2)>>>1|2}}B=sN(e,f)|0}else{B=$O(f,c[47204]|0,106541)|0;fS(e,B);hS(e,$O(f,c[47205]|0,106549)|0);n=0;i=1}while(0);o=c[(c[K>>2]|0)+8>>2]|0;if(a[o+12>>0]|0){o=c[o>>2]|0;if((a[o>>0]|0)==99){o=(f2(o,105820)|0)==0;P=33}else o=1}else{o=1;P=33}if((P|0)==33){o=o^1;if(!((y|0)!=0|i<<24>>24==0|o)){fS(e,137680);y=1;o=0}}C=(L|0)<3;D=(H&64|0)!=0;v=(H&512|0)!=0;E=(H&8|0)==0;w=(H&1024|0)==0;x=(H&2130706444|0)==0;u=0;while(1){r=(u|0)==0;z=i&255;A=v&r;if((u|0)>=(y|0))break;s=S(u,L)|0;t=c[47356]|0;q=0;while(1){if((q|0)>=(L|0))break;X=q+s|0;p=+h[I+(X<<4)+8>>3];W=c[K>>2]|0;h[t+(q<<4)>>3]=F*+h[I+(X<<4)>>3]+ +h[W+16>>3];h[t+(q<<4)+8>>3]=G*p+ +h[W+24>>3];q=q+1|0}do if(C){if(A?(F3(n,58)|0)!=0:0)if((dI(e,t,n)|0)>1){c[M>>2]=HB(f)|0;dA(3,106605,M)|0;i=0}else i=0;kS(e,c[47356]|0,L,i&255);if(!E)tN(e,f)}else{if(D){if(r?(hI(e,t,n,1)|0)>1:0){c[N>>2]=HB(f)|0;dA(3,106605,N)|0}lS(e,c[47356]|0,L,0);break}if(!w){fS(e,137680);lS(e,c[47356]|0,L,z);fS(e,B);oS(e,(c[47356]|0)+32|0,2);break}if(x){lS(e,t,L,z);break}else{RM(e,t,L,H,z);break}}while(0);u=u+1|0;i=0}q=c[(c[K>>2]|0)+8>>2]|0;if(!(a[q+12>>0]|0)){q=NA(f,109326)|0;if(q|0?a[q>>0]|0:0)P=65}else{q=c[q>>2]|0;if((a[q>>0]|0)==99?(f2(q,105820)|0)==0:0){q=NA(f,105827)|0;if(q|0?a[q>>0]|0:0)P=65}else P=65}if((P|0)==65){s=c[47356]|0;r=0;while(1){if((r|0)>=(L|0))break;p=+h[I+(r<<4)+8>>3];X=c[K>>2]|0;h[s+(r<<4)>>3]=F*+h[I+(r<<4)>>3]+ +h[X+16>>3];h[s+(r<<4)+8>>3]=G*p+ +h[X+24>>3];r=r+1|0}do if(!(o|i<<24>>24==0)){if(C){if(A?(F3(n,58)|0)!=0:0)if((dI(e,s,n)|0)>1){c[Q>>2]=HB(f)|0;dA(3,106605,Q)|0;i=0}else i=0;kS(e,c[47356]|0,L,i&255);if(E)break;tN(e,f);break}if(!D)if(!(H&12)){lS(e,s,L,z);break}else{RM(e,s,L,H,z);break}else{if((hI(e,s,n,1)|0)>1){c[R>>2]=HB(f)|0;dA(3,106605,R)|0}lS(e,c[47356]|0,L,0);break}}while(0);X=c[47356]|0;qS(e,q,X,L,i,_O(f,c[47228]|0,137609)|0)}l6(c[T>>2]|0);BK(e,10,c[(c[K>>2]|0)+104>>2]|0);if(J){if(c[O>>2]&4|0)aS(e,c[U>>2]|0,c[j>>2]|0,c[m>>2]|0,c[k>>2]|0);bS(e)}l=V;return}function qN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;e=wN(d,f)|0;if(e|0)jS(b,e);e=c[47234]|0;if((e|0?(g=OA(d,e)|0,g|0):0)?a[g>>0]|0:0)sS(b,+YO(d,c[47234]|0,1.0,0.0));l=h;return c[f>>2]|0}function rN(a){a=a|0;return vN(a,135101)|0}function sN(b,d){b=b|0;d=d|0;d=$O(d,c[47202]|0,195341)|0;d=a[d>>0]|0?d:137615;fS(b,d);return d|0}function tN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0;d=l;l=l+96|0;j=d+80|0;k=d+64|0;e=d+32|0;m=d+16|0;g=d;b=c[b+16>>2]|0;f=+h[b+80>>3]*.75*.5;h[m+8>>3]=f;i=+h[b+96>>3]*.6614;h[m>>3]=i;b=b+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];uN(g,k,j);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];g=e+8|0;b=e+24|0;h[b>>3]=+h[g>>3];h[e+16>>3]=+h[e>>3]-i*2.0;oS(a,e,2);f=+h[g>>3]-f*2.0;h[g>>3]=f;h[b>>3]=f;oS(a,e,2);l=d;return}function uN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]+ +h[c+8>>3];h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=d;return}function vN(b,d){b=b|0;d=d|0;var e=0;e=$O(b,c[47203]|0,195341)|0;if(!(a[e>>0]|0)){e=$O(b,c[47202]|0,195341)|0;return ((a[e>>0]|0)==0?d:e)|0}else return e|0;return 0}function wN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=$O(b,c[47219]|0,195341)|0;a:do if(!(a[e>>0]|0)){g=0;e=0}else{g=NI(e)|0;i=g;e=0;b:while(1){f=c[i>>2]|0;if(!f)break a;h=i+4|0;switch(a[f>>0]|0){case 102:{i=h;e=e|(f2(f,111402)|0)==0;continue b}case 114:{if(!(f2(f,106617)|0)){f=i;do{j=f;f=f+4|0;h=c[f>>2]|0;c[j>>2]=h}while((h|0)!=0);j=i;e=e|4;i=j;continue b}if(!(f2(f,106635)|0))f=i;else{j=e;i=h;e=j;continue b}do{h=f;f=f+4|0;j=c[f>>2]|0;c[h>>2]=j}while((j|0)!=0);j=i;e=e|3;i=j;continue b}case 100:{if(!(f2(f,106625)|0))f=i;else{j=e;i=h;e=j;continue b}do{h=f;f=f+4|0;j=c[f>>2]|0;c[h>>2]=j}while((j|0)!=0);j=i;e=e|8;i=j;continue b}case 105:{j=(f2(f,134636)|0)==0;i=h;e=j?e|32:e;continue b}case 115:{if(f2(f,106642)|0){j=e;i=h;e=j;continue b}if(!(xN(b)|0)){j=e;i=h;e=j;continue b}else f=i;do{h=f;f=f+4|0;j=c[f>>2]|0;c[h>>2]=j}while((j|0)!=0);j=i;e=e|64;i=j;continue b}case 119:{if(f2(f,106650)|0){j=e;i=h;e=j;continue b}if(!(yN(b)|0)){j=e;i=h;e=j;continue b}else f=i;do{h=f;f=f+4|0;j=c[f>>2]|0;c[h>>2]=j}while((j|0)!=0);j=i;e=e|512;i=j;continue b}default:{j=e;i=h;e=j;continue b}}}}while(0);f=c[(c[(c[b+16>>2]|0)+8>>2]|0)+8>>2]|0;if(f)e=c[f+40>>2]|e;c[d>>2]=e;return g|0}function xN(a){a=a|0;var b=0.0;a=c[(c[(c[a+16>>2]|0)+8>>2]|0)+8>>2]|0;if(!a)a=0;else{if(((c[a+8>>2]|0)==4?(b=+h[a+16>>3],((~~(b+(b>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+h[a+24>>3]==0.0:0)a=+h[a+32>>3]==0.0;else a=0;a=a&1}return a|0}function yN(a){a=a|0;a=c[(c[(c[a+16>>2]|0)+8>>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[a+8>>2]|0)<3&1;return a|0}function zN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;e=+h[c+8>>3];g=-(+h[d+8>>3]-e);i=+h[c>>3];f=+h[d>>3]-i;e=i*g+e*f;return (+h[a>>3]*g+f*+h[a+8>>3]-e>=0.0^+h[b>>3]*g+f*+h[b+8>>3]-e>=0.0^1)&1|0}function AN(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+192|0;D=H+176|0;F=H+160|0;m=H+144|0;B=H+128|0;C=H+112|0;o=H+96|0;p=H+80|0;w=H+64|0;x=H+48|0;y=H+32|0;z=H+16|0;E=H;G=F+8|0;if(!d){c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;n=(c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&1|0)==0;m=c[b+16>>2]|0;t=+h[m+80>>3]*.5;v=-t;s=+h[m+88>>3];u=-s;m=0;k=0.0;q=n?u:v;r=n?s:t;s=n?t:s;t=0.0;u=n?v:u}else{q=+h[d>>3];u=+h[d+8>>3];r=+h[d+16>>3];s=+h[d+24>>3];$M(m,(q+r)*.5,(u+s)*.5);c[F>>2]=c[m>>2];c[F+4>>2]=c[m+4>>2];c[F+8>>2]=c[m+8>>2];c[F+12>>2]=c[m+12>>2];m=1;k=+h[F>>3];t=+h[G>>3]}v=(r>s?r:s)*4.0;a:do if((f|0)!=0?(A=a[f>>0]|0,A<<24>>24!=0):0){f=f+1|0;n=(i|0)!=0;j=-v;switch(A<<24>>24|0){case 99:{p=1;g=0;f=0;n=0;j=0.0;o=0;break a}case 101:{if(a[f>>0]|0){p=1;g=0;f=0;n=0;j=0.0;o=1;break a}if(n){CN(B,i,t,v);c[F>>2]=c[B>>2];c[F+4>>2]=c[B+4>>2];c[F+8>>2]=c[B+8>>2];c[F+12>>2]=c[B+12>>2]}else h[F>>3]=r;p=0;g=g&2;f=0;n=1;j=0.0;o=0;m=1;break a}case 115:{h[G>>3]=u;switch(a[f>>0]|0){case 0:{if(n){CN(C,i,j,k);c[F>>2]=c[C>>2];c[F+4>>2]=c[C+4>>2];c[F+8>>2]=c[C+8>>2];c[F+12>>2]=c[C+12>>2]}else h[F>>3]=k;p=0;g=g&1;f=0;n=1;j=-1.5707963267948966;o=0;m=1;break a}case 101:{if(n){CN(o,i,j,v);c[F>>2]=c[o>>2];c[F+4>>2]=c[o+4>>2];c[F+8>>2]=c[o+8>>2];c[F+12>>2]=c[o+12>>2]}else h[F>>3]=r;p=0;g=g&3;f=0;n=1;j=-.7853981633974483;o=0;m=1;break a}case 119:{if(n){CN(p,i,j,j);c[F>>2]=c[p>>2];c[F+4>>2]=c[p+4>>2];c[F+8>>2]=c[p+8>>2];c[F+12>>2]=c[p+12>>2]}else h[F>>3]=q;p=0;g=g&9;f=0;n=1;j=-2.356194490192345;o=0;m=1;break a}default:{h[G>>3]=t;p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}case 119:{if(a[f>>0]|0){p=1;g=0;f=0;n=0;j=0.0;o=1;break a}if(n){CN(w,i,t,j);c[F>>2]=c[w>>2];c[F+4>>2]=c[w+4>>2];c[F+8>>2]=c[w+8>>2];c[F+12>>2]=c[w+12>>2]}else h[F>>3]=q;p=0;g=g&8;f=0;n=1;j=3.141592653589793;o=0;m=1;break a}case 110:{h[G>>3]=s;switch(a[f>>0]|0){case 0:{if(n){CN(x,i,v,k);c[F>>2]=c[x>>2];c[F+4>>2]=c[x+4>>2];c[F+8>>2]=c[x+8>>2];c[F+12>>2]=c[x+12>>2]}else h[F>>3]=k;p=0;g=g&4;f=0;n=1;j=1.5707963267948966;o=0;m=1;break a}case 101:{if(n){CN(y,i,v,v);c[F>>2]=c[y>>2];c[F+4>>2]=c[y+4>>2];c[F+8>>2]=c[y+8>>2];c[F+12>>2]=c[y+12>>2]}else h[F>>3]=r;p=0;g=g&6;f=0;n=1;j=.7853981633974483;o=0;m=1;break a}case 119:{if(n){CN(z,i,v,j);c[F>>2]=c[z>>2];c[F+4>>2]=c[z+4>>2];c[F+8>>2]=c[z+8>>2];c[F+12>>2]=c[z+12>>2]}else h[F>>3]=q;p=0;g=g&12;f=0;n=1;j=2.356194490192345;o=0;m=1;break a}default:{h[G>>3]=t;p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}case 95:{p=1;f=1;n=0;j=0.0;o=0;break a}default:{p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}else{p=1;g=0;f=0;n=0;j=0.0;o=0}while(0);C=(c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&3)*90|0;c[D>>2]=c[F>>2];c[D+4>>2]=c[F+4>>2];c[D+8>>2]=c[F+8>>2];c[D+12>>2]=c[F+12>>2];jK(E,D,C);c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];if(!(f<<24>>24))g=DN(g,c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&3)|0;a[e+33>>0]=g;c[e+24>>2]=d;k=+h[F>>3];h[e>>3]=+(~~(k+(k>=0.0?.5:-.5))|0);k=+h[G>>3];h[e+8>>3]=+(~~(k+(k>=0.0?.5:-.5))|0);h[e+16>>3]=+EN(j,c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&3);k=+h[F>>3];j=+h[G>>3];if(k==0.0&j==0.0)g=-128;else{v=+O(+j,+k)+4.71238898038469;g=~~((!(v>=6.283185307179586)?v:v+-6.283185307179586)*256.0/6.283185307179586)&255}a[e+32>>0]=g;a[e+29>>0]=n;a[e+28>>0]=m;a[e+30>>0]=p;a[e+31>>0]=f;l=H;return o|0}function BN(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=HB(a)|0;c[e+4>>2]=b;dA(0,106720,e)|0;l=d;return}function CN(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+128|0;i=p+112|0;j=p+48|0;k=p+16|0;m=p+32|0;n=p;o=c[b>>2]|0;g=c[(c[(uC(o)|0)+16>>2]|0)+116>>2]&3;h[k>>3]=e;h[k+8>>3]=d;f=(g|0)!=0;g=g*90|0;if(f){c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];jK(m,i,g);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2]}m=j+48|0;q=j+32|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];ZN(b,c[(c[(c[(c[o+16>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0,j,1);if(f){c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];kK(n,i,g);c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2]};c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];l=p;return}function DN(a,b){a=a|0;b=b|0;a:do switch(b|0){case 3:switch(a|0){case 4:{a=2;break a}case 1:{a=8;break a}case 8:{a=1;break a}case 2:{a=4;break a}default:break a}case 2:switch(a|0){case 4:{a=1;break a}case 1:{a=4;break a}default:break a}case 1:switch(a|0){case 4:{a=2;break a}case 1:{a=8;break a}case 8:{a=4;break a}case 2:{a=1;break a}default:break a}default:{}}while(0);return a|0}function EN(a,b){a=+a;b=b|0;switch(b|0){case 3:{if(!(a==3.141592653589793))if(!(a==2.356194490192345))if(!(a==1.5707963267948966))if(!(a==0.0))if(!(a==-.7853981633974483)){if(a==-1.5707963267948966)a=3.141592653589793}else a=2.356194490192345;else a=1.5707963267948966;else a=0.0;else a=-.7853981633974483;else a=-1.5707963267948966;break}case 2:{a=-a;break}case 1:{a=a+-1.5707963267948966;break}default:{}}return +a}function FN(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0,i=0,j=0,k=0;e=l;l=l+32|0;k=e+16|0;i=e;a=c[a>>2]|0;j=(c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];kK(i,k,j);d=+h[i>>3];g=+h[i+8>>3];a=c[a+16>>2]|0;f=+h[a+80>>3]*.5;if(!(!(g>=-f)|!(g<=f))?d>=-+h[a+88>>3]:0)a=d<=+h[a+96>>3]&1;else a=0;l=e;return a|0}function GN(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;q=l;l=l+32|0;p=q;e=c[a+16>>2]|0;n=e+208|0;m=c[n>>2]|0;if(!m)o=(b[e+260>>1]&1)!=0;else o=1;g=d+16|0;d=c[g>>2]|0;i=c[d+12>>2]|0;if(i|0){j=e+212|0;k=e+244|0;e=e+228|0;f=a+152|0;if(o?(c[f>>2]&4|0)==0:0){aS(a,m,c[e>>2]|0,c[k>>2]|0,c[j>>2]|0);d=c[g>>2]|0}m=c[a+36>>2]|0;s=+h[d+24>>3]+ +(c[i+8>>2]|0);r=c[i>>2]|0;h[p>>3]=+h[d+16>>3]+ +(c[i+4>>2]|0);h[p+8>>3]=s;c[p+16>>2]=r;z4(m,106751,p)|0;m=c[g>>2]|0;p=(c[m+104>>2]|0)+56|0;m=m+16|0;c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];BK(a,10,c[(c[g>>2]|0)+104>>2]|0);if(o){if(c[f>>2]&4|0)aS(a,c[n>>2]|0,c[e>>2]|0,c[k>>2]|0,c[j>>2]|0);bS(a)}}l=q;return}function HN(a){a=a|0;cN(c[(c[a+16>>2]|0)+12>>2]|0);return}function IN(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;k=m+40|0;h=m;if(!(a[f>>0]|0)){h=4256;g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0))}else{g=(g|0)==0?106657:g;i=c[(c[e+16>>2]|0)+12>>2]|0;j=ON(i,f)|0;if(!j){if(AN(e,i+16|0,h,f,15,0)|0)BN(e,f)}else if(AN(e,j+16|0,h,g,d[j+65>>0]|0,0)|0){c[k>>2]=HB(e)|0;c[k+4>>2]=f;c[k+8>>2]=g;dA(0,106659,k)|0}g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0))}l=m;return}function JN(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0.0;k=l;l=l+32|0;m=k+16|0;i=k;f=c[a+4>>2]|0;a=c[a>>2]|0;g=(c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];kK(i,m,g);c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(!f){f=c[(c[a+16>>2]|0)+12>>2]|0;g=f+16|0;a=f+24|0;i=f+32|0;f=f+40|0}else{g=f;a=f+8|0;i=f+16|0;f=f+24|0}e=+h[a>>3];d=+h[f>>3];n=+h[b>>3];if((+h[g>>3]<=n?n<=+h[i>>3]:0)?(j=+h[b+8>>3],e<=j):0)a=j<=d&1;else a=0;l=k;return a|0}function KN(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0.0;u=l;l=l+80|0;r=u+64|0;q=u+32|0;t=u;a:do if(!(a[d+28>>0]|0))e=0;else{i=+h[d>>3];p=b+16|0;m=c[(c[p>>2]|0)+12>>2]|0;k=m+48|0;m=m+56|0;d=0;while(1){if((d|0)>=(c[k>>2]|0))break a;n=(c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&1|0)==0;o=c[(c[m>>2]|0)+(d<<2)>>2]|0;j=+(~~+h[(n?o+16|0:o+24|0)>>3]|0);if(j<=i?(s=+(~~+h[(n?o+32|0:o+40|0)>>3]|0),i<=s):0)break;d=d+1|0}if(!(c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&1)){t=c[p>>2]|0;v=+h[t+16>>3];h[f>>3]=j+v;j=+h[t+24>>3];i=+h[t+80>>3];h[f+8>>3]=j-i*.5;h[f+16>>3]=s+v}else{o=(c[(c[m>>2]|0)+(d<<2)>>2]|0)+16|0;b=(c[p>>2]|0)+16|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];c[q+16>>2]=c[o+16>>2];c[q+20>>2]=c[o+20>>2];c[q+24>>2]=c[o+24>>2];c[q+28>>2]=c[o+28>>2];c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];lK(t,q,r);c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];c[f+16>>2]=c[t+16>>2];c[f+20>>2]=c[t+20>>2];c[f+24>>2]=c[t+24>>2];c[f+28>>2]=c[t+28>>2];t=c[p>>2]|0;i=+h[t+80>>3];j=+h[t+24>>3]}h[f+24>>3]=j+i*.5;c[g>>2]=1}while(0);l=u;return e|0}function LN(d,e){d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=l;l=l+144|0;p=z+96|0;r=z+64|0;t=z;w=z+128|0;f=c[d+16>>2]|0;x=f+208|0;i=c[x>>2]|0;if(!i)y=(b[f+260>>1]&1)!=0;else y=1;m=e+16|0;s=c[m>>2]|0;q=c[s+12>>2]|0;u=q+16|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];c[r+16>>2]=c[u+16>>2];c[r+20>>2]=c[u+20>>2];c[r+24>>2]=c[u+24>>2];c[r+28>>2]=c[u+28>>2];A=+h[s+16>>3];h[r>>3]=A+ +h[r>>3];k=+h[s+24>>3];s=r+8|0;h[s>>3]=k+ +h[s>>3];s=r+16|0;h[s>>3]=A+ +h[s>>3];u=r+24|0;h[u>>3]=k+ +h[u>>3];u=f+228|0;v=f+212|0;n=f+244|0;o=d+152|0;if(y?(c[o>>2]&4|0)==0:0)aS(d,i,c[u>>2]|0,c[n>>2]|0,c[v>>2]|0);f=qN(d,e)|0;sN(d,e)|0;c[w>>2]=0;if(!(f&1))i=0;else{i=rN(e)|0;if(!((HJ(i,w,p)|0)<<24>>24)){hS(d,i);i=1}else{hS(d,c[w>>2]|0);i=c[w+4>>2]|0;j=XO(e,c[47235]|0,0,0)|0;k=+g[p>>2];if(!i)iS(d,137615,j,k);else iS(d,i,j,k);i=f>>>1&1|2}}j=c[c[(c[m>>2]|0)+8>>2]>>2]|0;if((a[j>>0]|0)==77){m=(f2(j,106528)|0)==0;f=m?f|4:f}if(!(f&2130706444)){c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];c[p+16>>2]=c[r+16>>2];c[p+20>>2]=c[r+20>>2];c[p+24>>2]=c[r+24>>2];c[p+28>>2]=c[r+28>>2];mS(d,p,i)}else{c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];r=t+32|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];h[t+16>>3]=+h[r>>3];h[t+24>>3]=+h[t+8>>3];h[t+48>>3]=+h[t>>3];h[t+56>>3]=+h[t+40>>3];RM(d,t,4,f,i)}MN(d,e,q);l6(c[w>>2]|0);if(y){if(c[o>>2]&4|0)aS(d,c[x>>2]|0,c[u>>2]|0,c[n>>2]|0,c[v>>2]|0);bS(d)}l=z;return}function MN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+144|0;p=u+128|0;o=u+112|0;q=u+16|0;r=u;i=u+96|0;j=u+80|0;s=u+64|0;t=u+48|0;k=e+52|0;g=c[k>>2]|0;f=d+16|0;if(g){n=g+56|0;g=e+16|0;m=e+32|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];NN(i,o,p);m=(c[f>>2]|0)+16|0;c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];uN(j,o,p);c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];BK(b,10,c[k>>2]|0);sN(b,d)|0}m=(c[f>>2]|0)+16|0;c[r>>2]=c[m>>2];c[r+4>>2]=c[m+4>>2];c[r+8>>2]=c[m+8>>2];c[r+12>>2]=c[m+12>>2];m=e+48|0;n=e+56|0;j=e+64|0;k=q+16|0;i=0;while(1){if((i|0)>=(c[m>>2]|0))break;if((i|0)>0){f=(c[n>>2]|0)+(i<<2)|0;g=c[f>>2]|0;if(!(a[j>>0]|0)){g=g+32|0;c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];h[q>>3]=+h[(c[f>>2]|0)+16>>3];f=k;g=0}else{g=g+16|0;c[q>>2]=c[g>>2];c[q+4>>2]=c[g+4>>2];c[q+8>>2]=c[g+8>>2];c[q+12>>2]=c[g+12>>2];h[k>>3]=+h[q>>3];f=(c[f>>2]|0)+32|0;g=1}h[q+(g<<4)+8>>3]=+h[f+8>>3];c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];uN(s,o,p);c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];uN(t,o,p);c[k>>2]=c[t>>2];c[k+4>>2]=c[t+4>>2];c[k+8>>2]=c[t+8>>2];c[k+12>>2]=c[t+12>>2];oS(b,q,2)}MN(b,d,c[(c[n>>2]|0)+(i<<2)>>2]|0);i=i+1|0}l=u;return}function NN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[b+8>>3]+ +h[c+8>>3])*.5;h[a>>3]=(+h[b>>3]+ +h[c>>3])*.5;h[a+8>>3]=d;return}function ON(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[b+60>>2]|0;if(!(((e|0)!=0?(a[e>>0]|0)==(a[d>>0]|0):0)?(f2(e,d)|0)==0:0))f=4;a:do if((f|0)==4){g=b+56|0;f=c[b+48>>2]|0;e=0;while(1){if((e|0)>=(f|0)){b=0;break a}b=ON(c[(c[g>>2]|0)+(e<<2)>>2]|0,d)|0;if(!b)e=e+1|0;else break}}while(0);return b|0}function PN(a,b){a=a|0;b=b|0;var d=0;d=b+8|0;h[d>>3]=+h[d>>3]*1.375;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function QN(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;f=+h[b>>3]*.5;m=+h[b+8>>3];i=m*.5;m=m/11.0;h[a>>3]=f;e=i-m;h[a+8>>3]=e;h[a+16>>3]=f;g=i-m*.44821599999999995;h[a+24>>3]=g;j=f*.551784;h[a+32>>3]=j;h[a+40>>3]=i;h[a+48>>3]=0.0;h[a+56>>3]=i;k=f*-.551784;h[a+64>>3]=k;h[a+72>>3]=i;l=-f;h[a+80>>3]=l;h[a+88>>3]=g;d=a+96|0;h[d>>3]=l;h[a+104>>3]=e;b=a+112|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=a+128|0;h[b>>3]=l;h[a+136>>3]=m-i;d=a+144|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];h[a+160>>3]=l;g=-g;h[a+168>>3]=g;h[a+176>>3]=k;i=-i;h[a+184>>3]=i;h[a+192>>3]=0.0;h[a+200>>3]=i;h[a+208>>3]=j;h[a+216>>3]=i;h[a+224>>3]=f;h[a+232>>3]=g;d=a+240|0;h[d>>3]=f;h[a+248>>3]=-e;b=a+256|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=a+288|0;d=a+272|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];return}function RN(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+144|0;u=x+112|0;t=x+96|0;w=x+80|0;s=x+64|0;v=x+32|0;q=x+16|0;r=x;f=x+48|0;do if(a){j=c[a+4>>2]|0;k=c[a>>2]|0;o=(c[(c[(uC(k)|0)+16>>2]|0)+116>>2]&3)*90|0;c[u>>2]=c[b>>2];c[u+4>>2]=c[b+4>>2];c[u+8>>2]=c[b+8>>2];c[u+12>>2]=c[b+12>>2];kK(f,u,o);c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];f=v+8|0;if(j|0){d=+h[v>>3];if(!(+h[j>>3]<=d)){a=0;break}if(!(d<=+h[j+16>>3])){a=0;break}d=+h[f>>3];if(!(+h[j+8>>3]<=d)){a=0;break}a=d<=+h[j+24>>3];break}if((k|0)==(c[47362]|0)){d=+h[23330];e=+h[23331];i=+h[23332]}else{a=k+16|0;b=c[(c[a>>2]|0)+12>>2]|0;c[47363]=b;c[47364]=c[b+44>>2];c[47365]=c[b+8>>2];if(!(c[b+40>>2]&2048)){n=(c[(c[(uC(k)|0)+16>>2]|0)+116>>2]&1|0)==0;o=c[a>>2]|0;h[(n?186664:186672)>>3]=+h[o+88>>3]+ +h[o+96>>3];h[(n?186672:186664)>>3]=+h[o+80>>3];i=+h[o+32>>3]*72.0;g=+h[o+40>>3]*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);i=+(~~(i+(i>=0.0?.5:-.5))|0)}else{wP(u,b);i=+h[u+16>>3]-+h[u>>3];g=+h[u+24>>3]-+h[u+8>>3];o=(c[(c[(uC(k)|0)+16>>2]|0)+116>>2]&1|0)==0;h[(o?186664:186672)>>3]=i;h[(o?186672:186664)>>3]=g}d=+h[23333];if(d==0.0){h[23333]=1.0;d=1.0}e=+h[23334];if(e==0.0){h[23334]=1.0;e=1.0}d=i/d;h[23330]=d;e=g/e;h[23331]=e;i=i*.5;h[23332]=i;h[23335]=g*.5;o=S((c[(c[47363]|0)+4>>2]|0)+-1|0,c[47365]|0)|0;c[47366]=(o|0)>0?o:0;c[47362]=k}g=d*+h[v>>3];h[v>>3]=g;d=e*+h[f>>3];h[f>>3]=d;if(!(+F(+g)>i)?(e=+F(+d),p=+h[23335],!(e>p)):0){o=c[47365]|0;if((o|0)<3){a=+c2(g/i,d/p)<1.0;break}b=(c[47367]|0)%(o|0)|0;a=(b+1|0)%(o|0)|0;k=c[47364]|0;m=c[47366]|0;n=k+(m+b<<4)|0;c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];n=k+(m+a<<4)|0;c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];c[r+8>>2]=c[n+8>>2];c[r+12>>2]=c[n+12>>2];c[s>>2]=c[v>>2];c[s+4>>2]=c[v+4>>2];c[s+8>>2]=c[v+8>>2];c[s+12>>2]=c[v+12>>2];c[w>>2]=c[46672];c[w+4>>2]=c[46673];c[w+8>>2]=c[46674];c[w+12>>2]=c[46675];c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];if(zN(s,w,t,u)|0){c[s>>2]=c[v>>2];c[s+4>>2]=c[v+4>>2];c[s+8>>2]=c[v+8>>2];c[s+12>>2]=c[v+12>>2];c[w>>2]=c[q>>2];c[w+4>>2]=c[q+4>>2];c[w+8>>2]=c[q+8>>2];c[w+12>>2]=c[q+12>>2];c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[u>>2]=c[46672];c[u+4>>2]=c[46673];c[u+8>>2]=c[46674];c[u+12>>2]=c[46675];n=(zN(s,w,t,u)|0)!=0;if(n?(c[s>>2]=c[v>>2],c[s+4>>2]=c[v+4>>2],c[s+8>>2]=c[v+8>>2],c[s+12>>2]=c[v+12>>2],c[w>>2]=c[r>>2],c[w+4>>2]=c[r+4>>2],c[w+8>>2]=c[r+8>>2],c[w+12>>2]=c[r+12>>2],c[t>>2]=c[46672],c[t+4>>2]=c[46673],c[t+8>>2]=c[46674],c[t+12>>2]=c[46675],c[u>>2]=c[q>>2],c[u+4>>2]=c[q+4>>2],c[u+8>>2]=c[q+8>>2],c[u+12>>2]=c[q+12>>2],(zN(s,w,t,u)|0)!=0):0){a=1;break}else{j=b;b=1}while(1){if((b|0)>=(o|0)){b=31;break}if(n){f=a;a=(a+1|0)%(o|0)|0}else{f=(j+-1+o|0)%(o|0)|0;a=j}q=k+(m+f<<4)|0;r=k+(m+a<<4)|0;c[s>>2]=c[v>>2];c[s+4>>2]=c[v+4>>2];c[s+8>>2]=c[v+8>>2];c[s+12>>2]=c[v+12>>2];c[w>>2]=c[46672];c[w+4>>2]=c[46673];c[w+8>>2]=c[46674];c[w+12>>2]=c[46675];c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];if(!(zN(s,w,t,u)|0)){b=30;break}else{j=f;b=b+1|0}}if((b|0)==30){c[47367]=f;a=0;break}else if((b|0)==31){c[47367]=j;a=1;break}}else a=0}else a=0}else{c[47362]=0;a=0}while(0);l=x;return a&1|0}function SN(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;i=j;if(a){a=c[a>>2]|0;k=(c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];kK(i,f,k);g=+h[i>>3];e=+h[i+8>>3];if((a|0)==(c[47370]|0))d=+h[23338];else{i=c[(c[a+16>>2]|0)+12>>2]|0;k=(c[i+4>>2]<<1)+-2|0;d=+h[(c[i+44>>2]|0)+((((k|0)>0?k:0)|1)<<4)>>3];h[23338]=d;c[47370]=a}if(!(+F(+g)>d)?!(+F(+e)>d):0)a=+c2(g,e)<=d&1;else a=0}else{c[47370]=0;a=0}l=j;return a|0}function TN(e,f){e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0;w=l;l=l+16|0;p=w;m=c[e+16>>2]|0;v=m+208|0;n=c[v>>2]|0;if(!n){i=m+228|0;j=m+212|0;k=m+244|0;g=e+152|0;if(!(b[m+260>>1]&1)){u=i;t=0}else o=4}else{g=e+152|0;i=m+228|0;k=m+244|0;j=m+212|0;o=4}if((o|0)==4)if(!(c[g>>2]&4)){aS(e,n,c[i>>2]|0,c[k>>2]|0,c[j>>2]|0);u=i;t=1}else{u=i;t=1}q=f+16|0;n=c[(c[q>>2]|0)+12>>2]|0;r=c[n+44>>2]|0;s=c[n+8>>2]|0;n=c[n+4>>2]|0;if((c[47368]|0)<(s|0)){m=s+2|0;c[47368]=m;i=c[47369]|0;m=m<<4;if(!i)i=IK(m)|0;else i=KK(i,m)|0;c[47369]=i}wN(f,p)|0;if(!(c[p>>2]&32))jS(e,22068);else jS(e,22064);i=c[47234]|0;if(i|0)sS(e,+YO(f,i,1.0,0.0));i=d[(c[q>>2]|0)+117>>0]|0;do if(!(i&1)){if(i&2|0){fS(e,$O(f,c[47206]|0,106557)|0);i=$O(f,c[47207]|0,106565)|0;hS(e,i);break}if(i&8|0){fS(e,$O(f,c[47210]|0,106573)|0);i=$O(f,c[47211]|0,106581)|0;hS(e,i);break}if(!(i&4)){i=vN(f,137615)|0;hS(e,i);sN(e,f)|0;break}else{fS(e,$O(f,c[47208]|0,106589)|0);i=$O(f,c[47209]|0,106597)|0;hS(e,i);break}}else{fS(e,$O(f,c[47204]|0,106541)|0);i=$O(f,c[47205]|0,106549)|0;hS(e,i)}while(0);if(!n)if(!(a[i>>0]|0))m=1;else{fS(e,i);m=1}else m=n;n=1;o=0;while(1){if((o|0)>=(m|0))break;p=c[47369]|0;f=S(o,s)|0;i=0;while(1){if((i|0)>=(s|0))break;z=i+f|0;y=+h[r+(z<<4)+8>>3];x=c[q>>2]|0;h[p+(i<<4)>>3]=+h[r+(z<<4)>>3]+ +h[x+16>>3];h[p+(i<<4)+8>>3]=y+ +h[x+24>>3];i=i+1|0}kS(e,p,s,n);n=0;o=o+1|0}if(t){if(c[g>>2]&4|0)aS(e,c[v>>2]|0,c[u>>2]|0,c[k>>2]|0,c[j>>2]|0);bS(e)}l=w;return}function UN(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+48|0;h=g;e=VN(b,e,f)|0;c[h+36>>2]=c[f+36>>2];AN(b,c[f+24>>2]|0,h,e,d[f+33>>0]|0,0)|0;b=h;e=a+40|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(e|0));l=g;return}function VN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0;z=l;l=l+32|0;y=z;j=z+24|0;n=z+16|0;x=c[(c[(c[(uC(b)|0)+60>>2]|0)+16>>2]|0)+116>>2]&3;f=b+16|0;w=(c[f>>2]|0)+16|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];WN(j,y,x);w=(c[d+16>>2]|0)+16|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];WN(n,y,x);x=a[e+33>>0]|0;y=x&255;a:do switch(x<<24>>24){case 0:case 15:{d=0;break}default:{d=c[e+24>>2]|0;if(!d){x=(c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&1|0)==0;w=c[f>>2]|0;B=+h[w+80>>3]*.5;A=-B;k=+h[w+88>>3];g=-k;m=x?g:A;i=x?k:B;k=x?B:k;g=x?A:g}else{m=+h[d>>3];i=+h[d+16>>3];k=+h[d+24>>3];g=+h[d+8>>3]}v=~~((g+k)*.5);w=~~((m+i)*.5);x=c[j>>2]|0;t=c[j+4>>2]|0;u=c[n>>2]|0;s=c[n+4>>2]|0;r=~~g;q=~~i;p=~~k;o=~~m;j=0;n=0;d=0;e=0;b=0;while(1){if((n|0)==4)break a;if(1<>2]|0;else f=j}else f=j;j=f;n=n+1|0}}}while(0);l=z;return d|0}function WN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0;g=b+8|0;switch(d|0){case 0:{f=+h[b>>3];e=+h[g>>3];break}case 2:{f=+h[b>>3];e=-+h[g>>3];break}case 1:{f=-+h[g>>3];e=+h[b>>3];break}case 3:{f=+h[g>>3];e=+h[b>>3];break}default:{f=0.0;e=0.0}}c[a>>2]=~~(f+(f>=0.0?.5:-.5));c[a+4>>2]=~~(e+(e>=0.0?.5:-.5));return}function XN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+80|0;f=k+40|0;i=k;g=b+16|0;e=c[g>>2]|0;d=e+16|0;j=b+-48|0;h=b+48|0;if(a[e+47>>0]|0){e=c[b>>2]&3;UN(f,c[((e|0)==3?b:h)+40>>2]|0,c[((e|0)==2?b:j)+40>>2]|0,d);e=f;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));e=c[g>>2]|0}d=e+56|0;if(a[e+87>>0]|0){e=c[b>>2]&3;UN(i,c[((e|0)==2?b:j)+40>>2]|0,c[((e|0)==3?b:h)+40>>2]|0,d);e=i;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0))}l=k;return}function YN(){var a=0,b=0,d=0;a=l;l=l+32|0;b=a+16|0;d=a;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];RN(0,b)|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];SN(0,b)|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];nN(0,b)|0;l=a;return}function ZN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+192|0;s=z+176|0;x=z+112|0;y=z+48|0;t=z+32|0;u=z+24|0;v=z+16|0;w=z;if(!(e<<24>>24)){k=d+48|0;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];k=u;m=v;n=x;o=0}else{c[t>>2]=c[d>>2];c[t+4>>2]=c[d+4>>2];c[t+8>>2]=c[d+8>>2];c[t+12>>2]=c[d+12>>2];k=v;m=u;n=0;o=x}h[u>>3]=0.0;h[v>>3]=1.0;q=t+8|0;f=0.0;g=1.0;j=0;p=+h[t>>3];while(1){r=+h[q>>3];f=(g+f)*.5;iP(w,d,3,f,n,o);c[t>>2]=c[w>>2];c[t+4>>2]=c[w+4>>2];c[t+8>>2]=c[w+8>>2];c[t+12>>2]=c[w+12>>2];c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];a:do if(!((vb[b&127](a,s)|0)<<24>>24)){e=0;while(1){if((e|0)==4){e=k;j=1;break a}j=y+(e<<4)|0;A=x+(e<<4)|0;c[j>>2]=c[A>>2];c[j+4>>2]=c[A+4>>2];c[j+8>>2]=c[A+8>>2];c[j+12>>2]=c[A+12>>2];e=e+1|0}}else e=m;while(0);h[e>>3]=f;i=+h[t>>3];p=p-i;if(!((p>=0.0?p:-p)>.5)?(r=r-+h[q>>3],!((r>=0.0?r:-r)>.5)):0)break;f=+h[u>>3];g=+h[v>>3];p=i}b:do if(!(j<<24>>24)){e=0;while(1){if((e|0)==4)break b;A=d+(e<<4)|0;y=x+(e<<4)|0;c[A>>2]=c[y>>2];c[A+4>>2]=c[y+4>>2];c[A+8>>2]=c[y+8>>2];c[A+12>>2]=c[y+12>>2];e=e+1|0}}else{e=0;while(1){if((e|0)==4)break b;A=d+(e<<4)|0;x=y+(e<<4)|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];e=e+1|0}}while(0);l=z;return}function _N(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+48|0;d=m+16|0;f=m;g=m+32|0;i=a+16|0;j=c[i>>2]|0;k=c[j+8>>2]|0;if(k|0?(e=c[(c[k+4>>2]|0)+12>>2]|0,e|0):0){c[g>>2]=a;c[g+4>>2]=0;n=+h[j+96>>3];h[f>>3]=+h[b>>3]-+h[j+16>>3];h[f+8>>3]=+h[b+8>>3]-+h[j+24>>3];c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];k=vb[e&127](g,d)|0;h[(c[i>>2]|0)+96>>3]=n;$N(g,a,b,k)}l=m;return}function $N(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+64|0;m=n;g=b+16|0;i=c[g>>2]|0;k=+h[i+96>>3];j=i+16|0;f=i+24|0;b=0;while(1){if((b|0)==4)break;h[m+(b<<4)>>3]=+h[d+(b<<4)>>3]-+h[j>>3];h[m+(b<<4)+8>>3]=+h[d+(b<<4)+8>>3]-+h[f>>3];b=b+1|0}ZN(a,c[(c[(c[i+8>>2]|0)+4>>2]|0)+12>>2]|0,m,e);f=c[g>>2]|0;g=f+16|0;i=f+24|0;b=0;while(1){if((b|0)==4)break;h[d+(b<<4)>>3]=+h[m+(b<<4)>>3]+ +h[g>>3];h[d+(b<<4)+8>>3]=+h[m+(b<<4)+8>>3]+ +h[i>>3];b=b+1|0}h[f+96>>3]=k;l=n;return}function aO(b,d){b=b|0;d=d|0;var e=0,f=0;while(1){f=b+16|0;b=c[f>>2]|0;if(!(a[b+112>>0]|0))break;b=c[b+116>>2]|0}b=c[b+8>>2]|0;if(!b){b=HK(40)|0;c[(c[f>>2]|0)+8>>2]=b}e=c[b>>2]|0;b=((c[b+4>>2]|0)*48|0)+48|0;if(!e)b=IK(b)|0;else b=KK(e,b)|0;f=c[(c[f>>2]|0)+8>>2]|0;c[f>>2]=b;f=f+4|0;e=c[f>>2]|0;c[f>>2]=e+1;f=b+(e*48|0)|0;c[f>>2]=HK(d<<4)|0;c[b+(e*48|0)+4>>2]=d;b=b+(e*48|0)+8|0;e=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));return f|0}function bO(b,e,f,g,i){b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0;D=l;l=l+96|0;A=D+16|0;t=D;x=D+92|0;y=D+88|0;u=D+80|0;m=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;z=uC(m)|0;B=aO(b,g)|0;n=b;while(1){o=c[n+16>>2]|0;if(!(a[o+112>>0]|0))break;n=c[o+116>>2]|0}if((a[i+8>>0]|0)==0?(j=c[m+16>>2]|0,k=c[e+16>>2]|0,(c[j+232>>2]|0)==(c[k+232>>2]|0)):0){p=(c[j+236>>2]|0)>(c[k+236>>2]|0);w=p?m:e;m=p?e:m}else w=e;F=(m|0)==(c[((c[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0);p=c[o+40>>2]|0;e=c[o+80>>2]|0;k=d[o+86>>0]|0;E=d[o+46>>0]|0;n=F?k:E;j=F?p:e;o=F?e:p;p=g+-4|0;g=t+8|0;e=u+4|0;if((((F?E:k)|0)!=0?(r=m+16|0,q=c[(c[r>>2]|0)+8>>2]|0,(q|0)!=0):0)?(c[(c[q+4>>2]|0)+12>>2]|0)!=0:0){c[u>>2]=m;c[e>>2]=j;k=0;while(1){if((k|0)>=(p|0))break;j=k+3|0;F=c[r>>2]|0;h[t>>3]=+h[f+(j<<4)>>3]-+h[F+16>>3];h[g>>3]=+h[f+(j<<4)+8>>3]-+h[F+24>>3];F=c[(c[(c[F+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[t>>2];c[A+4>>2]=c[t+4>>2];c[A+8>>2]=c[t+8>>2];c[A+12>>2]=c[t+12>>2];if(!((vb[F&127](u,A)|0)<<24>>24))break;else k=j}c[x>>2]=k;$N(u,m,f+(k<<4)|0,1)}else{c[x>>2]=0;k=0}if(((n|0)!=0?(v=w+16|0,s=c[(c[v>>2]|0)+8>>2]|0,(s|0)!=0):0)?(c[(c[s+4>>2]|0)+12>>2]|0)!=0:0){c[u>>2]=w;c[e>>2]=o;j=p;while(1){if((j|0)<=0)break;F=c[v>>2]|0;h[t>>3]=+h[f+(j<<4)>>3]-+h[F+16>>3];h[g>>3]=+h[f+(j<<4)+8>>3]-+h[F+24>>3];F=c[(c[(c[F+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[t>>2];c[A+4>>2]=c[t+4>>2];c[A+8>>2]=c[t+8>>2];c[A+12>>2]=c[t+12>>2];if(!((vb[F&127](u,A)|0)<<24>>24))break;j=j+-3|0}c[y>>2]=j;$N(u,w,f+(j<<4)|0,0)}else{c[y>>2]=p;j=p}while(1){if((k|0)>=(p|0))break;e=k+3|0;H=+h[f+(k<<4)>>3]-+h[f+(e<<4)>>3];G=+h[f+(k<<4)+8>>3]-+h[f+(e<<4)+8>>3];if(H*H+G*G<1.0e-06)k=e;else break}c[x>>2]=k;while(1){if((j|0)<=0)break;F=j+3|0;G=+h[f+(j<<4)>>3]-+h[f+(F<<4)>>3];H=+h[f+(j<<4)+8>>3]-+h[f+(F<<4)+8>>3];if(!(G*G+H*H<1.0e-06))break;j=j+-3|0}c[y>>2]=j;cO(b,w,f,x,y,B,i);p=c[x>>2]|0;m=(c[y>>2]|0)+4|0;n=A+16|0;o=A+32|0;g=A+48|0;k=z+16|0;j=p;while(1){if((j|0)>=(m|0))break;F=(c[B>>2]|0)+(j-p<<4)|0;e=f+(j<<4)|0;c[F>>2]=c[e>>2];c[F+4>>2]=c[e+4>>2];c[F+8>>2]=c[e+8>>2];c[F+12>>2]=c[e+12>>2];c[A>>2]=c[e>>2];c[A+4>>2]=c[e+4>>2];c[A+8>>2]=c[e+8>>2];c[A+12>>2]=c[e+12>>2];e=j+1|0;if((e|0)>=(m|0)){C=35;break}E=(c[B>>2]|0)+(e-p<<4)|0;F=f+(e<<4)|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[n>>2]=c[F>>2];c[n+4>>2]=c[F+4>>2];c[n+8>>2]=c[F+8>>2];c[n+12>>2]=c[F+12>>2];F=j+2|0;E=(c[B>>2]|0)+(F-p<<4)|0;F=f+(F<<4)|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[o>>2]=c[F>>2];c[o+4>>2]=c[F+4>>2];c[o+8>>2]=c[F+8>>2];c[o+12>>2]=c[F+12>>2];F=j+3|0;E=f+(F<<4)|0;c[g>>2]=c[E>>2];c[g+4>>2]=c[E+4>>2];c[g+8>>2]=c[E+8>>2];c[g+12>>2]=c[E+12>>2];jI((c[k>>2]|0)+16|0,A);j=F}c[B+4>>2]=m-p;l=D;return}function cO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;m=p+4|0;n=p;o=b;while(1){j=c[(c[o+16>>2]|0)+116>>2]|0;if(!j)break;else o=j}if(!(a[i+8>>0]|0))k=(pb[c[i>>2]&63](o)|0)&255;else k=0;FH(o,m,n);j=i+4|0;if((pb[c[j>>2]&63](d)|0)<<24>>24)c[n>>2]=0;if(!((pb[c[j>>2]&63](c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)<<24>>24))b=c[m>>2]|0;else{c[m>>2]=0;b=0}if(k){d=c[n>>2]|0;c[m>>2]=d;c[n>>2]=b;b=d}if(!(a[i+9>>0]|0)){if(b|0)c[f>>2]=UH(o,e,c[f>>2]|0,c[g>>2]|0,h,b)|0;j=c[n>>2]|0;if(j|0)c[g>>2]=SH(o,e,c[f>>2]|0,c[g>>2]|0,h,j)|0}else{j=c[n>>2]|0;if(j|b|0)VH(o,e,c[f>>2]|0,c[g>>2]|0,h,b,j)}l=p;return}function dO(a,b){a=a|0;b=b|0;var d=0,e=0;if(+h[b>>3]<+h[b+16>>3]?+h[b+8>>3]<+h[b+24>>3]:0){d=c[a+84>>2]|0;e=a+80|0;a=c[e>>2]|0;c[e>>2]=a+1;a=d+(a<<5)|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2]}return}function eO(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0;D=l;l=l+112|0;A=D+72|0;r=D+56|0;p=D+16|0;s=D;n=c[d>>2]&3;t=d+48|0;B=c[((n|0)==3?d:t)+40>>2]|0;u=d+16|0;z=c[u>>2]|0;i=z+16|0;if(a[z+47>>0]|0){UN(p,B,c[((n|0)==2?d:d+-48|0)+40>>2]|0,i);n=p;p=i+40|0;do{c[i>>2]=c[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(p|0))}w=B+16|0;n=c[w>>2]|0;i=c[n+8>>2]|0;if(!i)p=0;else p=c[(c[i+4>>2]|0)+16>>2]|0;z=n+16|0;n=(c[u>>2]|0)+16|0;c[r>>2]=c[z>>2];c[r+4>>2]=c[z+4>>2];c[r+8>>2]=c[z+8>>2];c[r+12>>2]=c[z+12>>2];c[A>>2]=c[n>>2];c[A+4>>2]=c[n+4>>2];c[A+8>>2]=c[n+8>>2];c[A+12>>2]=c[n+12>>2];fO(s,r,A);c[b>>2]=c[s>>2];c[b+4>>2]=c[s+4>>2];c[b+8>>2]=c[s+8>>2];c[b+12>>2]=c[s+12>>2];n=b+16|0;if(!(g<<24>>24)){i=c[u>>2]|0;if(!(a[i+45>>0]|0))i=0;else{j=+h[i+32>>3];C=9}}else{j=+gO(c[((c[d>>2]&3|0)==3?d:t)+40>>2]|0);C=9}if((C|0)==9){h[n>>3]=j;i=1}a[b+29>>0]=i;c[b+80>>2]=0;c[b+88>>2]=d;y=f+32|0;c[y>>2]=c[b>>2];c[y+4>>2]=c[b+4>>2];c[y+8>>2]=c[b+8>>2];c[y+12>>2]=c[b+12>>2];y=f+48|0;z=f+52|0;t=b+8|0;g=f+56|0;switch(e|0){case 1:{i=c[w>>2]|0;if((a[i+156>>0]|0)==0?(s=a[(c[u>>2]|0)+49>>0]|0,x=s&255,s<<24>>24!=0):0){c[A>>2]=c[f>>2];c[A+4>>2]=c[f+4>>2];c[A+8>>2]=c[f+8>>2];c[A+12>>2]=c[f+12>>2];c[A+16>>2]=c[f+16>>2];c[A+20>>2]=c[f+20>>2];c[A+24>>2]=c[f+24>>2];c[A+28>>2]=c[f+28>>2];s=A+16|0;r=i+80|0;o=+h[t>>3];p=i+24|0;do if(!(x&4)){i=A+24|0;if(x&1|0){c[y>>2]=1;h[i>>3]=+h[(+h[i>>3]>o?s:b)+8>>3];c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1;break}n=A+8|0;k=+h[b>>3];j=+h[p>>3]-+h[r>>3]*.5;if(!(x&8)){c[y>>2]=2;h[A>>3]=k;h[n>>3]=j;h[i>>3]=o;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1;break}else{c[y>>2]=8;h[s>>3]=k;h[n>>3]=j;h[i>>3]=o;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1;break}}else{c[y>>2]=4;m=+h[A>>3];j=+h[p>>3]+ +h[r>>3]*.5;k=+h[s>>3];if(+h[b>>3]<+h[i+16>>3]){m=m+-1.0;q=j+ +((c[(c[(uC(B)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[w>>2]|0;h[s>>3]=+h[i+16>>3]-+h[i+88>>3];h[A+24>>3]=o;h[A+8>>3]=+h[i+24>>3]-+h[i+80>>3]*.5;h[A>>3]=m;h[f+56>>3]=m;h[f+64>>3]=o;h[f+72>>3]=k;h[f+80>>3]=q;i=f+88|0;c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[i+12>>2]=c[A+12>>2];c[i+16>>2]=c[A+16>>2];c[i+20>>2]=c[A+20>>2];c[i+24>>2]=c[A+24>>2];c[i+28>>2]=c[A+28>>2];i=2;break}else{k=k+1.0;q=j+ +((c[(c[(uC(B)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[w>>2]|0;h[A>>3]=+h[i+16>>3]+ +h[i+96>>3]+0.0;h[A+24>>3]=o;h[A+8>>3]=+h[i+24>>3]-+h[i+80>>3]*.5;h[s>>3]=k;h[f+56>>3]=m;h[f+64>>3]=o;h[f+72>>3]=k;h[f+80>>3]=q;i=f+88|0;c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[i+12>>2]=c[A+12>>2];c[i+16>>2]=c[A+16>>2];c[i+20>>2]=c[A+20>>2];c[i+24>>2]=c[A+24>>2];c[i+28>>2]=c[A+28>>2];i=2;break}}while(0);c[z>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((B|0)==(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)?i+16|0:i+56|0)+30>>0]=0}else{d=1;C=47}break}case 2:{x=a[(c[u>>2]|0)+49>>0]|0;s=x&255;if(!(x<<24>>24))C=46;else{c[A>>2]=c[f>>2];c[A+4>>2]=c[f+4>>2];c[A+8>>2]=c[f+8>>2];c[A+12>>2]=c[f+12>>2];c[A+16>>2]=c[f+16>>2];c[A+20>>2]=c[f+20>>2];c[A+24>>2]=c[f+24>>2];c[A+28>>2]=c[f+28>>2];n=A+8|0;do if(!(s&4)){i=A+16|0;p=A+24|0;r=(c[y>>2]|0)==4;if(s&1|0)if(r){x=c[w>>2]|0;q=+h[x+24>>3]-+h[x+80>>3]*.5;o=+h[i>>3]+1.0;k=+h[b>>3];m=q-+((c[(c[(uC(B)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[w>>2]|0;h[A>>3]=+h[b+16>>3]+ +h[b+96>>3]+0.0;h[n>>3]=q;h[p>>3]=+h[b+24>>3]+ +h[b+80>>3]*.5;h[i>>3]=o;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=o;h[f+80>>3]=q;i=f+88|0;c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[i+12>>2]=c[A+12>>2];c[i+16>>2]=c[A+16>>2];c[i+20>>2]=c[A+20>>2];c[i+24>>2]=c[A+24>>2];c[i+28>>2]=c[A+28>>2];i=2;break}else{h[p>>3]=+h[(+h[p>>3]>+h[t>>3]?i:b)+8>>3];c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1;break}q=+h[b>>3];b=c[w>>2]|0;k=+h[t>>3];o=+h[b+80>>3]*.5;j=k+1.0;E=+h[b+24>>3];m=E-o;o=E+o;if(!(s&8)){h[A>>3]=q;if(r){h[p>>3]=o;j=k;i=A}else h[n>>3]=m;h[i+8>>3]=j;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1;break}else{h[i>>3]=q+1.0;if(r){h[p>>3]=o;j=k+-1.0;i=A}else h[n>>3]=m;h[i+8>>3]=j;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1;break}}else{h[n>>3]=+h[(+h[n>>3]<+h[t>>3]?A:b)+8>>3];c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1}while(0);c[z>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((B|0)==(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)?i+16|0:i+56|0)+30>>0]=0;c[y>>2]=s}break}default:C=46}if((C|0)==46){d=c[y>>2]|0;C=47}a:do if((C|0)==47){if(p|0?(v=wb[p&63](B,(c[u>>2]|0)+16|0,d,g,z)|0,v|0):0){c[y>>2]=v;break};c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];c[g+16>>2]=c[f+16>>2];c[g+20>>2]=c[f+20>>2];c[g+24>>2]=c[f+24>>2];c[g+28>>2]=c[f+28>>2];c[z>>2]=1;switch(e|0){case 8:{Aa(138697,106815,569,106825);break}case 2:{h[((c[y>>2]|0)==4?g:f+72|0)+8>>3]=+h[t>>3];break a}case 1:{h[f+80>>3]=+h[t>>3];c[y>>2]=1;break a}default:break a}}while(0);l=D;return}function fO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]+ +h[c+8>>3];h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=d;return}function gO(a){a=a|0;var b=0.0,d=0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,l=0.0;i=c[a+16>>2]|0;j=c[i+172>>2]|0;f=0.0;g=0;while(1){a=c[j+(g<<2)>>2]|0;if(!a)break;f=f+ +h[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+16>>3];g=g+1|0}e=c[i+180>>2]|0;b=0.0;a=0;while(1){d=c[e+(a<<2)>>2]|0;if(!d)break;b=b+ +h[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+16>>3];a=a+1|0}k=+h[i+16>>3];l=+h[i+24>>3];j=c[j>>2]|0;f=+O(+(l-+h[(c[(c[((c[j>>2]&3|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+24>>3]),+(k-f/+(g|0)));j=c[e>>2]|0;return +((f+ +O(+(+h[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+24>>3]-l),+(b/+(a|0)-k)))*.5)}function hO(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+112|0;C=F+72|0;r=F+56|0;p=F+16|0;t=F;o=c[d>>2]&3;v=d+-48|0;D=c[((o|0)==2?d:v)+40>>2]|0;x=d+16|0;B=c[x>>2]|0;i=B+56|0;if(a[B+87>>0]|0){UN(p,D,c[((o|0)==3?d:d+48|0)+40>>2]|0,i);o=p;p=i+40|0;do{c[i>>2]=c[o>>2];i=i+4|0;o=o+4|0}while((i|0)<(p|0))}z=D+16|0;o=c[z>>2]|0;i=c[o+8>>2]|0;if(!i)p=0;else p=c[(c[i+4>>2]|0)+16>>2]|0;w=b+40|0;B=o+16|0;o=(c[x>>2]|0)+56|0;c[r>>2]=c[B>>2];c[r+4>>2]=c[B+4>>2];c[r+8>>2]=c[B+8>>2];c[r+12>>2]=c[B+12>>2];c[C>>2]=c[o>>2];c[C+4>>2]=c[o+4>>2];c[C+8>>2]=c[o+8>>2];c[C+12>>2]=c[o+12>>2];fO(t,r,C);c[w>>2]=c[t>>2];c[w+4>>2]=c[t+4>>2];c[w+8>>2]=c[t+8>>2];c[w+12>>2]=c[t+12>>2];o=b+56|0;if(!(g<<24>>24)){i=c[x>>2]|0;if(!(a[i+85>>0]|0))u=0;else{h[o>>3]=+h[i+72>>3];u=1}}else{s=+gO(c[((c[d>>2]&3|0)==2?d:v)+40>>2]|0)+3.141592653589793;h[o>>3]=s;if(s<6.283185307179586)u=1;else Aa(106835,106815,606,106859)}a[b+69>>0]=u;B=f+32|0;c[B>>2]=c[w>>2];c[B+4>>2]=c[w+4>>2];c[B+8>>2]=c[w+8>>2];c[B+12>>2]=c[w+12>>2];B=f+48|0;g=f+52|0;v=f+56|0;t=b+48|0;switch(e|0){case 1:{i=c[z>>2]|0;if((a[i+156>>0]|0)==0?(b=a[(c[x>>2]|0)+89>>0]|0,A=b&255,b<<24>>24!=0):0){c[C>>2]=c[f>>2];c[C+4>>2]=c[f+4>>2];c[C+8>>2]=c[f+8>>2];c[C+12>>2]=c[f+12>>2];c[C+16>>2]=c[f+16>>2];c[C+20>>2]=c[f+20>>2];c[C+24>>2]=c[f+24>>2];c[C+28>>2]=c[f+28>>2];p=C+8|0;s=+h[t>>3];do if(!(A&4)){o=C+16|0;q=+h[w>>3];j=+h[i+80>>3]*.5;n=+h[i+24>>3];if(!(A&1)){i=C+24|0;j=n+j;if(!(A&8)){c[B>>2]=2;h[C>>3]=q;h[i>>3]=j;h[p>>3]=s;c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1;break}else{c[B>>2]=8;h[o>>3]=q;h[i>>3]=j;h[p>>3]=s;c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1;break}}else{c[B>>2]=1;k=+h[C>>3];m=+h[o>>3];j=n-j;if(q<+h[i+16>>3]){n=k+-1.0;q=j-+((c[(c[(uC(D)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[z>>2]|0;h[o>>3]=+h[i+16>>3]-+h[i+88>>3];h[p>>3]=s;h[C+24>>3]=+h[i+24>>3]+ +h[i+80>>3]*.5;h[C>>3]=n;h[f+56>>3]=n;h[f+64>>3]=q;h[f+72>>3]=m;h[f+80>>3]=s;i=f+88|0;c[i>>2]=c[C>>2];c[i+4>>2]=c[C+4>>2];c[i+8>>2]=c[C+8>>2];c[i+12>>2]=c[C+12>>2];c[i+16>>2]=c[C+16>>2];c[i+20>>2]=c[C+20>>2];c[i+24>>2]=c[C+24>>2];c[i+28>>2]=c[C+28>>2];i=2;break}else{q=m+1.0;n=j-+((c[(c[(uC(D)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[z>>2]|0;h[C>>3]=+h[i+16>>3]+ +h[i+96>>3]+0.0;h[p>>3]=s;h[C+24>>3]=+h[i+24>>3]+ +h[i+80>>3]*.5;h[o>>3]=q;h[f+56>>3]=k;h[f+64>>3]=n;h[f+72>>3]=q;h[f+80>>3]=s;i=f+88|0;c[i>>2]=c[C>>2];c[i+4>>2]=c[C+4>>2];c[i+8>>2]=c[C+8>>2];c[i+12>>2]=c[C+12>>2];c[i+16>>2]=c[C+16>>2];c[i+20>>2]=c[C+20>>2];c[i+24>>2]=c[C+24>>2];c[i+28>>2]=c[C+28>>2];i=2;break}}}else{c[B>>2]=4;h[p>>3]=+h[(+h[p>>3]>3];c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1}while(0);c[g>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((D|0)==(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)?i+56|0:i+16|0)+30>>0]=0;c[B>>2]=A}else{d=4;E=47}break}case 2:{A=a[(c[x>>2]|0)+89>>0]|0;u=A&255;if(!(A<<24>>24))E=46;else{c[C>>2]=c[f>>2];c[C+4>>2]=c[f+4>>2];c[C+8>>2]=c[f+8>>2];c[C+12>>2]=c[f+12>>2];c[C+16>>2]=c[f+16>>2];c[C+20>>2]=c[f+20>>2];c[C+24>>2]=c[f+24>>2];c[C+28>>2]=c[f+28>>2];o=C+8|0;do if(!(u&4)){i=C+16|0;p=C+24|0;r=(c[B>>2]|0)==4;if(u&1|0)if(r){m=+h[C>>3]+-1.0;i=c[z>>2]|0;s=+h[i+24>>3]-+h[i+80>>3]*.5;q=+h[w>>3];n=s-+((c[(c[(uC(D)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[z>>2]|0;h[C+16>>3]=+h[i+16>>3]-+h[i+88>>3]+-2.0;h[o>>3]=s;h[p>>3]=+h[i+24>>3]+ +h[i+80>>3]*.5;h[C>>3]=m;h[f+56>>3]=m;h[f+64>>3]=n;h[f+72>>3]=q;h[f+80>>3]=s;i=f+88|0;c[i>>2]=c[C>>2];c[i+4>>2]=c[C+4>>2];c[i+8>>2]=c[C+8>>2];c[i+12>>2]=c[C+12>>2];c[i+16>>2]=c[C+16>>2];c[i+20>>2]=c[C+20>>2];c[i+24>>2]=c[C+24>>2];c[i+28>>2]=c[C+28>>2];i=2;break}else{h[p>>3]=+h[(+h[p>>3]>+h[b+8>>3]?i:b)+8>>3];c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1;break}q=+h[w>>3];f=c[z>>2]|0;k=+h[t>>3];j=k+-1.0;s=+h[f+24>>3];n=+h[f+80>>3]*.5;m=s-n;n=s+n;if(!(u&8)){h[C>>3]=q+-1.0;if(r){h[p>>3]=n;i=C}else{h[o>>3]=m;j=k}h[i+8>>3]=j;c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1;break}else{h[i>>3]=q+1.0;if(r){h[p>>3]=n;i=C}else{h[o>>3]=m;j=k+1.0}h[i+8>>3]=j;c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1;break}}else{h[o>>3]=+h[(+h[o>>3]<+h[t>>3]?C:w)+8>>3];c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1}while(0);c[g>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((D|0)==(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)?i+56|0:i+16|0)+30>>0]=0;c[B>>2]=u}break}default:E=46}if((E|0)==46){d=c[B>>2]|0;E=47}a:do if((E|0)==47){if(p|0?(y=wb[p&63](D,(c[x>>2]|0)+56|0,d,v,g)|0,y|0):0){c[B>>2]=y;break};c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];c[v+16>>2]=c[f+16>>2];c[v+20>>2]=c[f+20>>2];c[v+24>>2]=c[f+24>>2];c[v+28>>2]=c[f+28>>2];c[g>>2]=1;switch(e|0){case 8:{Aa(138697,106815,765,106859);break}case 2:{h[((c[B>>2]|0)==4?v:f+72|0)+8>>3]=+h[t>>3];break a}case 1:{h[f+64>>3]=+h[t>>3];c[B>>2]=4;break a}default:break a}}while(0);l=F;return}function iO(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;g=c[b+16>>2]|0;i=c[g+96>>2]|0;if((a[g+44>>0]|0)==0?(a[g+84>>0]|0)==0:0)j=6;else{d=a[g+49>>0]|0;e=d&255;if(((e&8|0)==0?(f=a[g+89>>0]|0,(f&8)==0):0)?((e&5|0)==0?1:d<<24>>24!=f<<24>>24):0)j=6;else b=0}if((j|0)==6)if(!i)b=18;else{b=(c[(c[(uC(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)!=0;b=~~(+h[(b?i+32|0:i+24|0)>>3]+18.0)}return b|0}function jO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;i=i|0;var j=0,k=0,l=0,m=0;b=c[(c[d+(e<<2)>>2]|0)+16>>2]|0;if((a[b+44>>0]|0)==0?(a[b+84>>0]|0)==0:0)l=6;else l=3;do if((l|0)==3){j=a[b+49>>0]|0;k=j&255;b=b+89|0;if((k&8|0)==0?(m=a[b>>0]|0,(m&8)==0):0){if((k&5|0)==0?1:j<<24>>24!=m<<24>>24){l=6;break}if(k&4|0){lO(d,e,f,g,h,i);break}if(!(k&1))Aa(138697,106815,1231,106867);else{nO(d,e,f,g,h,i);break}}if((k&2|0)==0?(a[b>>0]&2)==0:0){mO(d,e,f,g,h,i);break}lO(d,e,f,g,h,i)}while(0);if((l|0)==6)kO(d,e,f,g,h,i);return}function kO(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0.0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0;O=l;l=l+16080|0;K=O+80|0;L=O+64|0;M=O+48|0;N=O+32|0;I=O+16|0;J=O;A=c[b+(e<<2)>>2]|0;i=i*.5/+(f|0);i=i>2.0?i:2.0;C=(c[((c[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16|0;z=c[C>>2]|0;B=+h[z+16>>3];G=+h[z+24>>3];A=c[A+16>>2]|0;D=B+ +h[A+16>>3];E=G+ +h[A+24>>3];F=B+ +h[A+56>>3];G=G+ +h[A+64>>3];k=!(E>=G)?-1:1;m=+h[z+96>>3];switch(oO(d[A+49>>0]|0,d[A+89>>0]|0)|0){case 65:case 32:{if(E==G)k=0-k|0;break}default:{}}P=B+m;o=(P-D)*3.0;P=(P-F)*3.0;u=i*+(k|0);t=K+8|0;v=K+16|0;w=K+32|0;x=K+48|0;y=(E+G)*.5;z=K+64|0;A=K+80|0;r=K+96|0;s=K+104|0;q=0;n=0.0;i=m;o=m=(f|0))break;p=e+1|0;e=c[b+(e<<2)>>2]|0;i=i+g;o=o+g;m=m+g;n=u+n;h[K>>3]=D;h[t>>3]=E;P=E+n;pO(L,D+o/3.0,P);c[v>>2]=c[L>>2];c[v+4>>2]=c[L+4>>2];c[v+8>>2]=c[L+8>>2];c[v+12>>2]=c[L+12>>2];Q=B+i;pO(M,Q,P);c[w>>2]=c[M>>2];c[w+4>>2]=c[M+4>>2];c[w+8>>2]=c[M+8>>2];c[w+12>>2]=c[M+12>>2];pO(N,Q,y);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];P=G-n;pO(I,Q,P);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];pO(J,F+m/3.0,P);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];h[r>>3]=F;h[s>>3]=G;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(R=(c[(c[(uC(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,H=+h[(R?k+24|0:k+32|0)>>3],R=c[C>>2]|0,h[k+56>>3]=H*.5+(i+ +h[R+16>>3]),h[k+64>>3]=+h[R+24>>3],a[k+81>>0]=1,H>g):0)i=i+(H-g);bO(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,K,7,j);e=p;q=q+1|0}l=O;return}function lO(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;B=c[b+(e<<2)>>2]|0;q=g*.5/+(f|0);q=q>2.0?q:2.0;D=(c[((c[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)+16|0;k=c[D>>2]|0;g=+h[k+16>>3];C=+h[k+24>>3];B=c[B+16>>2]|0;E=g+ +h[B+16>>3];F=C+ +h[B+24>>3];G=g+ +h[B+56>>3];H=C+ +h[B+64>>3];p=!(E>=G)?-1.0:1.0;s=+h[k+80>>3]*.5;m=E-g;n=G-g;o=g-E;switch(oO(d[B+49>>0]|0,d[B+89>>0]|0)|0){case 15:{m=p*(q+(+h[k+96>>3]-n));break}case 38:{m=p*(q+(+h[k+88>>3]-(g-G)));break}case 41:{m=p*(q+(+h[k+96>>3]-m));break}case 48:{m=p*(q+(+h[k+96>>3]-m));break}case 58:case 57:case 51:case 47:case 37:case 14:{m=p*((+h[k+88>>3]-o+(+h[k+96>>3]-n))/3.0);break}case 73:{m=p*(q+(+h[k+88>>3]-o));break}case 83:{m=p*(+h[k+88>>3]-o);break}case 84:{m=p*(q+(+h[k+88>>3]-o+(+h[k+96>>3]-n))*.5);break}case 85:case 75:case 74:{m=p*(q*2.0+(+h[k+88>>3]-o+(+h[k+96>>3]-n))*.5);break}default:m=0.0}n=C+s;o=(n-F)*3.0;n=(n-H)*3.0;p=q*p;w=L+8|0;x=L+16|0;y=L+32|0;z=L+48|0;q=(E+G)*.5;A=L+64|0;B=L+80|0;u=L+96|0;v=L+104|0;t=0;g=s;o=s=(f|0))break;r=e+1|0;e=c[b+(e<<2)>>2]|0;g=g+i;o=o+i;n=n+i;m=p+m;h[L>>3]=E;h[w>>3]=F;s=E+m;pO(M,s,F+o/3.0);c[x>>2]=c[M>>2];c[x+4>>2]=c[M+4>>2];c[x+8>>2]=c[M+8>>2];c[x+12>>2]=c[M+12>>2];Q=C+g;pO(N,s,Q);c[y>>2]=c[N>>2];c[y+4>>2]=c[N+4>>2];c[y+8>>2]=c[N+8>>2];c[y+12>>2]=c[N+12>>2];pO(O,q,Q);c[z>>2]=c[O>>2];c[z+4>>2]=c[O+4>>2];c[z+8>>2]=c[O+8>>2];c[z+12>>2]=c[O+12>>2];s=G-m;pO(J,s,Q);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];pO(K,s,H+n/3.0);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];h[u>>3]=G;h[v>>3]=H;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(R=(c[(c[(uC(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,I=+h[(R?k+32|0:k+24|0)>>3],R=c[D>>2]|0,h[k+64>>3]=I*.5+(g+ +h[R+24>>3]),h[k+56>>3]=+h[R+16>>3],a[k+81>>0]=1,I>i):0)g=g+(I-i);bO(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,L,7,j);e=r;t=t+1|0}l=P;return}function mO(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0.0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0;O=l;l=l+16080|0;K=O+80|0;L=O+64|0;M=O+48|0;N=O+32|0;I=O+16|0;J=O;A=c[b+(e<<2)>>2]|0;i=i*.5/+(f|0);i=i>2.0?i:2.0;C=(c[((c[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16|0;z=c[C>>2]|0;B=+h[z+16>>3];G=+h[z+24>>3];A=c[A+16>>2]|0;D=B+ +h[A+16>>3];E=G+ +h[A+24>>3];F=B+ +h[A+56>>3];G=G+ +h[A+64>>3];k=!(E>=G)?-1:1;m=+h[z+88>>3];switch(oO(d[A+49>>0]|0,d[A+89>>0]|0)|0){case 67:case 12:{if(E==G)k=0-k|0;break}default:{}}o=(D+m-B)*3.0;P=(F+m-B)*3.0;u=i*+(k|0);t=K+8|0;v=K+16|0;w=K+32|0;x=K+48|0;y=(E+G)*.5;z=K+64|0;A=K+80|0;r=K+96|0;s=K+104|0;q=0;n=0.0;i=m;o=m=(f|0))break;p=e+1|0;e=c[b+(e<<2)>>2]|0;i=i+g;o=o+g;m=m+g;n=u+n;h[K>>3]=D;h[t>>3]=E;P=E+n;pO(L,D-o/3.0,P);c[v>>2]=c[L>>2];c[v+4>>2]=c[L+4>>2];c[v+8>>2]=c[L+8>>2];c[v+12>>2]=c[L+12>>2];Q=B-i;pO(M,Q,P);c[w>>2]=c[M>>2];c[w+4>>2]=c[M+4>>2];c[w+8>>2]=c[M+8>>2];c[w+12>>2]=c[M+12>>2];pO(N,Q,y);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];P=G-n;pO(I,Q,P);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];pO(J,F-m/3.0,P);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];h[r>>3]=F;h[s>>3]=G;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(R=(c[(c[(uC(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,H=+h[(R?k+24|0:k+32|0)>>3],R=c[C>>2]|0,h[k+56>>3]=+h[R+16>>3]-i-H*.5,h[k+64>>3]=+h[R+24>>3],a[k+81>>0]=1,H>g):0)i=i+(H-g);bO(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,K,7,j);e=p;q=q+1|0}l=O;return}function nO(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0.0,F=0,G=0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0;O=l;l=l+16080|0;K=O+80|0;L=O+64|0;M=O+48|0;N=O+32|0;I=O+16|0;J=O;B=c[b+(e<<2)>>2]|0;A=g*.5/+(f|0);v=(c[((c[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)+16|0;C=c[v>>2]|0;y=+h[C+16>>3];u=+h[C+24>>3];B=c[B+16>>2]|0;w=y+ +h[B+16>>3];x=u+ +h[B+24>>3];y=y+ +h[B+56>>3];z=u+ +h[B+64>>3];t=!(w>=y)?-1:1;P=+h[C+80>>3]*.5;B=(oO(d[B+49>>0]|0,d[B+89>>0]|0)|0)==67;m=(x+P-u)*3.0;n=(z+P-u)*3.0;A=(A>2.0?A:2.0)*+((B?0-t|0:t)|0);t=K+8|0;B=K+16|0;C=K+32|0;D=K+48|0;E=(w+y)*.5;F=K+64|0;G=K+80|0;r=K+96|0;s=K+104|0;g=P;k=0.0;m=P=(f|0))break;q=e+1|0;o=c[b+(e<<2)>>2]|0;g=g+i;m=m+i;n=n+i;k=A+k;h[K>>3]=w;h[t>>3]=x;P=w+k;pO(L,P,x-m/3.0);c[B>>2]=c[L>>2];c[B+4>>2]=c[L+4>>2];c[B+8>>2]=c[L+8>>2];c[B+12>>2]=c[L+12>>2];Q=u-g;pO(M,P,Q);c[C>>2]=c[M>>2];c[C+4>>2]=c[M+4>>2];c[C+8>>2]=c[M+8>>2];c[C+12>>2]=c[M+12>>2];pO(N,E,Q);c[D>>2]=c[N>>2];c[D+4>>2]=c[N+4>>2];c[D+8>>2]=c[N+8>>2];c[D+12>>2]=c[N+12>>2];P=y-k;pO(I,P,Q);c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];c[F+8>>2]=c[I+8>>2];c[F+12>>2]=c[I+12>>2];pO(J,P,z-n/3.0);c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];h[r>>3]=y;h[s>>3]=z;e=o+16|0;if((c[(c[e>>2]|0)+96>>2]|0)!=0?(R=(c[(c[(uC(c[((c[o>>2]&3|0)==3?o:o+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,e=c[(c[e>>2]|0)+96>>2]|0,H=+h[(R?e+32|0:e+24|0)>>3],R=c[v>>2]|0,h[e+64>>3]=+h[R+24>>3]-g-H*.5,h[e+56>>3]=+h[R+16>>3],a[e+81>>0]=1,H>i):0)g=g+(H-i);bO(o,c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0,K,7,j);e=q;p=p+1|0}l=O;return}function oO(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)>=8){b=-1;break}if((c[22092+(d<<2)>>2]|0)==(b|0)){b=d;break}d=d+1|0}d=0;while(1){if((d|0)>=8){d=-1;break}if((c[22092+(d<<2)>>2]|0)==(a|0))break;d=d+1|0}if((d|b|0)<0)d=0;else d=c[22124+(d<<5)+(b<<2)>>2]|0;return d|0}function pO(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function qO(b){b=b|0;var d=0,e=0,f=0;if((c[47272]|0)!=0|(c[47271]|0)!=0){e=b+16|0;f=c[(c[e>>2]|0)+100>>2]|0;d=b+48|0;if((f|0?(a[f+81>>0]|0)==0:0)?rO(b,1)|0:0){f=uC(c[((c[b>>2]&3|0)==3?b:d)+40>>2]|0)|0;xP(f,c[(c[e>>2]|0)+100>>2]|0)}f=c[(c[e>>2]|0)+104>>2]|0;if((f|0?(a[f+81>>0]|0)==0:0)?rO(b,0)|0:0){f=uC(c[((c[b>>2]&3|0)==3?b:d)+40>>2]|0)|0;xP(f,c[(c[e>>2]|0)+104>>2]|0)}}return}function rO(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+96|0;p=r+32|0;m=r+16|0;o=r;i=b+16|0;do if((a[(c[i>>2]|0)+112>>0]|0)!=6){e=c[47272]|0;if(!((e|0)!=0?(a[(OA(b,e)|0)>>0]|0)!=0:0)){e=c[47271]|0;if(!e){e=0;break}if(!(a[(OA(b,e)|0)>>0]|0)){e=0;break}}d=d<<24>>24==0;q=c[i>>2]|0;q=c[(d?q+104|0:q+100|0)>>2]|0;e=sO(b)|0;if(e){n=c[e>>2]|0;do if(d){o=c[n>>2]|0;g=+h[o>>3];f=+h[o+8>>3];if(!(c[n+8>>2]|0))e=0;else{k=g;g=+h[n+16>>3];j=f;f=+h[n+24>>3];break}while(1){if((e|0)==4)break;o=p+(e<<4)|0;i=(c[n>>2]|0)+(e<<4)|0;c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];e=e+1|0}iP(m,p,3,.1,0,0);k=+h[m>>3];j=+h[m+8>>3]}else{e=(c[e+4>>2]|0)+-1|0;d=n+(e*48|0)+4|0;i=n+(e*48|0)|0;s=c[i>>2]|0;m=(c[d>>2]|0)+-1|0;f=+h[s+(m<<4)+8>>3];g=+h[s+(m<<4)>>3];if(!(c[n+(e*48|0)+12>>2]|0))e=0;else{k=g;g=+h[n+(e*48|0)+32>>3];j=f;f=+h[n+(e*48|0)+40>>3];break}while(1){if((e|0)==4)break;s=p+(e<<4)|0;n=(c[i>>2]|0)+(e+-4+(c[d>>2]|0)<<4)|0;c[s>>2]=c[n>>2];c[s+4>>2]=c[n+4>>2];c[s+8>>2]=c[n+8>>2];c[s+12>>2]=c[n+12>>2];e=e+1|0}iP(o,p,3,.9,0,0);k=+h[o>>3];j=+h[o+8>>3]}while(0);k=+O(+(j-f),+(k-g));k=k+ +YO(b,c[47272]|0,-25.0,-180.0)/180.0*3.141592653589793;j=+YO(b,c[47271]|0,1.0,0.0)*10.0;h[q+56>>3]=g+j*+I(+k);h[q+64>>3]=f+j*+J(+k);a[q+81>>0]=1;e=1}else e=0}else e=0;while(0);l=r;return e|0}function sO(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;d=b;while(1){e=c[d+16>>2]|0;d=c[e+8>>2]|0;if(d|0)break;if(!(a[e+112>>0]|0)){g=5;break}d=c[e+116>>2]|0}if((g|0)==5){g=HB(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;d=HB(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[f>>2]=g;c[f+4>>2]=d;dA(1,106880,f)|0;d=0}l=h;return d|0}function tO(a,d,e){a=a|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;s=l;l=l+96|0;m=s+80|0;n=s+64|0;o=s+48|0;p=s+32|0;q=s+16|0;r=s;k=b[(c[d+16>>2]|0)+136>>1]|0;d=e+16|0;uO(c[(c[d>>2]|0)+8>>2]|0,p,q);f=+h[p>>3];g=+h[q>>3];u=f-g;i=+h[p+8>>3];j=+h[q+8>>3];t=i-j;a:do if(u*u+t*t<1.0e-06){c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2]}else{d=c[(c[d>>2]|0)+8>>2]|0;switch(k&14){case 4:case 10:{h[n>>3]=(f+g)*.5;h[n+8>>3]=(i+j)*.5;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];oP(r,d,m);c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];c[o+8>>2]=c[r+8>>2];c[o+12>>2]=c[r+12>>2];break a}default:{vO(o,d,p,q);break a}}}while(0);c[a>>2]=c[o>>2];c[a+4>>2]=c[o+4>>2];c[a+8>>2]=c[o+8>>2];c[a+12>>2]=c[o+12>>2];l=s;return}function uO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+32|0;g=h+16|0;f=h;j=c[a>>2]|0;e=c[j>>2]|0;i=c[j+8>>2]|0;k=j+16|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];j=j+32|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];if(!i){c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2]}else{c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2]}i=c[a>>2]|0;j=(c[a+4>>2]|0)+-1|0;e=c[i+(j*48|0)>>2]|0;a=c[i+(j*48|0)+4>>2]|0;k=c[i+(j*48|0)+12>>2]|0;b=i+(j*48|0)+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];j=i+(j*48|0)+32|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];if(!k){k=e+(a+-1<<4)|0;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2]}else{c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2]}l=h;return}function vO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0;r=c[b+4>>2]|0;g=0.0;f=0;while(1){if((f|0)>=(r|0))break;l=c[b>>2]|0;k=c[l+(f*48|0)>>2]|0;l=c[l+(f*48|0)+4>>2]|0;i=3;j=0;while(1){if((i|0)>=(l|0))break;p=+h[k+(j<<4)>>3]-+h[k+(i<<4)>>3];q=+h[k+(j<<4)+8>>3]-+h[k+(i<<4)+8>>3];i=i+3|0;j=j+3|0;g=g+ +G(+(p*p+q*q))}f=f+1|0}l=0;g=g*.5;a:while(1){if((l|0)>=(r|0)){f=15;break}k=c[b>>2]|0;j=c[k+(l*48|0)>>2]|0;k=c[k+(l*48|0)+4>>2]|0;f=3;i=0;while(1){if((f|0)>=(k|0))break;m=+h[j+(i<<4)>>3];p=+h[j+(i<<4)+8>>3];n=+h[j+(f<<4)>>3];o=+h[j+(f<<4)+8>>3];s=m-n;q=p-o;q=+G(+(s*s+q*q));if(q>=g){f=12;break a}f=f+3|0;i=i+3|0;g=g-q}l=l+1|0}if((f|0)==12){h[d>>3]=m;h[d+8>>3]=p;h[e>>3]=n;h[e+8>>3]=o;s=q-g;h[a>>3]=(g*n+m*s)/q;h[a+8>>3]=(g*o+p*s)/q;return}else if((f|0)==15)Aa(139015,106815,1316,106942)}function wO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;qO(b);return}function xO(b,d,e,f,g){b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0,G=0,H=0,K=0,L=0,M=0,N=0;L=yO(b)|0;K=c[L+4>>2]|0;M=c[L>>2]|0;H=K+-1|0;D=+h[M+(H<<6)+16>>3];E=+(K|0);F=(g|0)==2;G=(f|0)!=0;n=0;j=0.0;i=0.0;l=0.0;m=0.0;while(1){if((n|0)>=(K|0))break;b=~~+zO(+(n+-1|0),E);C=n+1|0;N=~~+zO(+(C|0),E);o=M+(n<<6)|0;m=+h[o>>3];B=M+(n<<6)+8|0;l=+h[B>>3];u=M+(n<<6)+16|0;v=+h[u>>3];w=M+(n<<6)+24|0;x=M+(n<<6)+32|0;y=M+(n<<6)+40|0;z=M+(n<<6)+48|0;A=M+(n<<6)+56|0;k=+AO(+h[M+(N<<6)+8>>3]-l,+h[M+(N<<6)>>3]-m);p=+AO(+h[M+(b<<6)+8>>3]-l,+h[M+(b<<6)>>3]-m);t=+qb[d&7](v,D,e);b=(n|0)==0;q=k+1.5707963267948966;r=p+-1.5707963267948966;do if(b|(n|0)==(H|0))if(b){if(!F){b=0;s=q;j=t;i=q;break}b=0;s=q;j=t;i=q;l=l-t*+J(+k);m=m-t*+I(+k);break}else{if(!F){b=0;s=r;j=t;i=r;break}b=0;s=r;j=t;i=r;l=l-t*+J(+p);m=m-t*+I(+p);break}else{i=k-p;i=1.5707963267948966-(i<0.0?i+6.283185307179586:i)*.5;j=+I(+i);j=j==0.0?0.0:t/j;i=q+i;if(G|j>t*10.0){i=+zO(r,6.283185307179586);b=1;s=+zO(q,6.283185307179586);j=t}else{b=0;s=i}}while(0);h[o>>3]=m;h[B>>3]=l;h[u>>3]=v;a[w>>0]=108;h[x>>3]=i;h[y>>3]=j;c[z>>2]=b;h[A>>3]=s;n=C}o=HK(12)|0;b=0;while(1){if((b|0)>=(K|0))break;m=+h[M+(b<<6)>>3];l=+h[M+(b<<6)+8>>3];i=+h[M+(b<<6)+32>>3];j=+h[M+(b<<6)+40>>3];N=c[M+(b<<6)+48>>2]|0;k=+h[M+(b<<6)+56>>3];BO(o,m+j*+I(+i),l+j*+J(+i));if(N|0)CO(m,l,j,1,i,k,f,o);b=b+1|0}n=(g|0)==1;k=i+3.141592653589793;if(n)DO(o,m,l,j,i,k);else{BO(o,m+j*+I(+k),l+j*+J(+k));i=k}b=K+-2|0;k=m;while(1){if((b|0)<=-1)break;m=+h[M+(b<<6)>>3];l=+h[M+(b<<6)+8>>3];j=+h[M+(b<<6)+40>>3];N=c[M+(b<<6)+48>>2]|0;i=+h[M+(b<<6)+32>>3]+3.141592653589793;k=+h[M+(b<<6)+56>>3]+3.141592653589793;BO(o,m+j*+I(+k),l+j*+J(+k));if(N|0)CO(m,l,j,0,i,k,f,o);b=b+-1|0;k=m}if(n)DO(o,k,l,j,i,i+3.141592653589793);EO(L);return o|0}function yO(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;q=l;l=l+144|0;i=q+128|0;h=q+112|0;j=q+96|0;k=q+64|0;m=q;n=q+80|0;o=FO()|0;p=c[a+4>>2]|0;f=c[a>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];GO(o,i,0.0);g=m+48|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];d=0;b=0.0;a:while(1){e=d+3|0;if((e|0)>=(p|0))break;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];a=1;while(1){if((a|0)==4)break;r=m+(a<<4)|0;s=f+(a+d<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];a=a+1|0}c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];a=1;while(1){if((a|0)==21){d=e;continue a}iP(n,m,3,+(a|0)/20.0,0,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];t=b+ +HO(h,i);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];GO(o,i,t);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];a=a+1|0;b=t}}IO(o);l=q;return o|0}function zO(a,b){a=+a;b=+b;if(!(!(a<0.0)&!(a>=b)))a=a-+E(+(a/b))*b;return +a}function AO(a,b){a=+a;b=+b;if(!(a==0.0&b==0.0)){a=+O(+a,+b);if(!(a>=0.0))a=a+6.283185307179586}else a=0.0;return +a}function BO(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0;f=c[a>>2]|0;e=a+4|0;g=a+8|0;if((f|0)<(c[e>>2]|0))e=c[g>>2]|0;else{c[e>>2]=2e3;e=KK(c[g>>2]|0,32e3)|0;c[g>>2]=e;f=c[a>>2]|0}c[a>>2]=f+1;h[e+(f<<4)>>3]=b;h[e+(f<<4)+8>>3]=d;return}function CO(a,b,c,d,e,f,g,h){a=+a;b=+b;c=+c;d=d|0;e=+e;f=+f;g=g|0;h=h|0;var i=0.0,j=0.0,k=0.0;d=(d|0)==0;i=d?e:f;j=+I(+i)*c+a;k=+J(+i)*c+a;do if((g|0)==1){e=(d?f:e)-i;e=!(e<=1.7453292519943296e-03)?e:e+6.283185307179586;if(e<3.141592653589793){DO(h,a,b,c,i+e,i);break}else{BO(h,j,k);break}}else BO(h,j,k);while(0);return}function DO(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0,h=0.0;BO(a,+I(+e)*d+b,+J(+e)*d+c);a:do if(!(d==0.0)){while(1){if(!(f>e))break;f=f+-6.283185307179586}f=e-f;while(1){if(!(f>6.283185307179586))break;f=f+-6.283185307179586}f=f/19.0;g=1;while(1){if((g|0)==20)break a;h=e-f*+(g|0);BO(a,+I(+h)*d+b,+J(+h)*d+c);g=g+1|0}}while(0);return}function EO(a){a=a|0;l6(c[a>>2]|0);l6(a);return}function FO(){var a=0;a=HK(12)|0;c[a+4>>2]=0;c[a+8>>2]=2e3;c[a>>2]=HK(128e3)|0;return a|0}function GO(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;i=a+4|0;e=c[i>>2]|0;f=a+8|0;g=c[f>>2]|0;if((e|0)<(g|0))a=c[a>>2]|0;else{c[f>>2]=g<<1;e=KK(c[a>>2]|0,g<<7)|0;c[a>>2]=e;a=e;e=c[i>>2]|0}h[a+(e<<6)>>3]=+h[b>>3];h[a+(e<<6)+8>>3]=+h[b+8>>3];c[i>>2]=e+1;h[a+(e<<6)+16>>3]=d;return}function HO(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3]-+h[b>>3];c=+h[a+8>>3]-+h[b+8>>3];return +(+G(+(d*d+c*c)))}function IO(a){a=a|0;var b=0;b=c[a+4>>2]|0;if((c[a+8>>2]|0)>(b|0))c[a>>2]=KK(c[a>>2]|0,b<<6)|0;return}function JO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+8|0;j=m;h=m+12|0;c[h>>2]=0;i=c[e+4>>2]|0;if(!i)Aa(106959,106970,203,106981);f=c[i>>2]|0;if(!f)Aa(106995,106970,206,106981);g=i+8|0;if(!(c[g>>2]|0))c[g>>2]=KO(f)|0;if(!(a[195234]|0))f=0;else{f=(NJ(c[i>>2]|0)|0)==0;f=f?0:h}if(!((bT(d,e,f)|0)<<24>>24))LO(e,f);do if(f|0){g=c[h>>2]|0;d=c[15715]|0;f=c[i>>2]|0;if(!g){c[k>>2]=f;z4(d,107038,k)|0;break}else{c[j>>2]=f;c[j+4>>2]=g;z4(d,107006,j)|0;break}}while(0);k=e+32|0;c[b>>2]=c[k>>2];c[b+4>>2]=c[k+4>>2];c[b+8>>2]=c[k+8>>2];c[b+12>>2]=c[k+12>>2];l=m;return}function KO(a){a=a|0;var b=0;b=c[47371]|0;if((b|0)!=0?(C3(b,a)|0)==0:0)a=c[47380]|0;else{l6(b);c[47371]=Y3(a)|0;a=e6(189484,22380,35,36,95)|0;c[47380]=a}return a|0}function LO(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0.0,j=0,k=0.0;j=c[b+4>>2]|0;e=c[j>>2]|0;i=+h[j+16>>3];j=b+32|0;h[j>>3]=0.0;h[b+40>>3]=i*1.2;h[b+16>>3]=0.0;h[b+24>>3]=i*.1;c[b+8>>2]=0;c[b+12>>2]=0;if(N3(e,107072,4)|0)if((N3(e,107077,5)|0)!=0?(N3(e,107083,9)|0)!=0:0){g=4296;e=107093}else{g=8392;e=107129}else{g=6344;e=107110}if(d|0)c[d>>2]=e;e=c[b>>2]|0;if(e|0){f=0.0;while(1){b=a[e>>0]|0;if(!(b<<24>>24))break;k=f+ +h[g+((b&255)<<3)>>3];h[j>>3]=k;e=e+1|0;f=k}h[j>>3]=i*f}return}function MO(a,b){a=a|0;b=b|0;return C3(c[a>>2]|0,c[b>>2]|0)|0}function NO(a){a=a|0;var b=0;b=a+108|0;c[b>>2]=0;c[a+112>>2]=32;c[a+116>>2]=-1;c[a+120>>2]=36;c[a+124>>2]=63;c[a+128>>2]=55;c[a+132>>2]=0;c[a+136>>2]=0;c[a+140>>2]=0;b=Sz(b,c[4591]|0)|0;c[a+144>>2]=b;return b|0}function OO(a,b,d){a=a|0;b=b|0;d=d|0;d=m6(1,32)|0;a=c[b>>2]|0;if(a|0)c[d>>2]=Y3(a)|0;a=c[b+4>>2]|0;if(a|0)c[d+4>>2]=Y3(a)|0;c[d+24>>2]=c[b+24>>2]&127;h[d+16>>3]=+h[b+16>>3];c[d+8>>2]=c[b+8>>2];return d|0}function PO(a,b,d){a=a|0;b=b|0;d=d|0;l6(c[b>>2]|0);l6(c[b+4>>2]|0);l6(b);return}function QO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0;a=c[b>>2]|0;e=c[d>>2]|0;i=(e|0)==0;if(!a)if(i)j=5;else a=-1;else if(!i){a=f2(a,e)|0;if(!a)j=5}else a=1;do if((j|0)==5){a=c[b+4>>2]|0;e=c[d+4>>2]|0;i=(e|0)==0;if(!a){if(!i){a=-1;break}}else{if(i){a=1;break}a=f2(a,e)|0;if(a|0)break}a=(c[b+24>>2]&127)-(c[d+24>>2]&127)|0;if(!a){g=+h[b+16>>3];f=+h[d+16>>3];if(gf&1}}while(0);return a|0}function RO(){Ea(189524)|0;return}function SO(){var a=0,b=0;b=l;l=l+16|0;a=b;Ea(a|0)|0;l=b;return +(+((c[a+4>>2]|0)+(c[a>>2]|0)-(c[47381]|0)-(c[47382]|0)|0)/60.0)}function TO(a){a=a|0;var b=0,d=0;b=HK(16)|0;a=(a|0)>2?a:2;d=HK(a<<2)|0;c[b>>2]=d;c[b+12>>2]=d;c[b+8>>2]=d;c[b+4>>2]=d+(a<<2);return b|0}function UO(a){a=a|0;l6(c[a>>2]|0);l6(a);return}function VO(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;e=c[d>>2]|0;c[d>>2]=e+4;c[e>>2]=b;if((c[d>>2]|0)>>>0>=(c[a+4>>2]|0)>>>0)c[d>>2]=c[a>>2];return}function WO(a){a=a|0;var b=0,d=0,e=0;d=a+8|0;b=c[d>>2]|0;if((b|0)!=(c[a+12>>2]|0)){e=b+4|0;c[d>>2]=e;b=c[b>>2]|0;if(e>>>0>=(c[a+4>>2]|0)>>>0)c[d>>2]=c[a>>2]}else b=0;return b|0}function XO(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;g=i;if(((d|0)!=0?(h=OA(b,d)|0,(h|0)!=0):0)?(a[h>>0]|0)!=0:0){d=$1(h,g,10)|0;e=(h|0)==(c[g>>2]|0)?e:(d|0)<(f|0)?f:d}l=i;return e|0}function YO(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,h=0,i=0,j=0.0;i=l;l=l+16|0;g=i;if(((b|0)!=0&(d|0)!=0?(h=OA(b,d)|0,(h|0)!=0):0)?(a[h>>0]|0)!=0:0){j=+b6(h,g);e=(h|0)==(c[g>>2]|0)?e:j0.0)){b=+YO(a,DA(a,0,107939,0)|0,-1.0,0.0);b=b==0.0?72.0:b}return +b}function _O(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)!=0&(b|0)!=0)c=OA(a,b)|0;return c|0}function $O(b,c,d){b=b|0;c=c|0;d=d|0;b=_O(b,c,d)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)d=b;return d|0}function aP(a,b,c){a=a|0;b=b|0;c=c|0;if(!b)a=c&255;else a=bP(OA(a,b)|0)|0;return a|0}function bP(a){a=a|0;return cP(a,0)|0}function cP(b,c){b=b|0;c=c|0;var d=0;if((b|0)!=0?(d=a[b>>0]|0,d<<24>>24!=0):0)if((C3(b,137609)|0)!=0?(C3(b,107950)|0)!=0:0)if((C3(b,107953)|0)!=0?(C3(b,107958)|0)!=0:0){if(((d<<24>>24)+-48|0)>>>0<10)c=(d6(b)|0)&255}else c=1;else c=0;return c|0}function dP(a){a=a|0;var b=0,d=0;while(1){b=(c[a+16>>2]|0)+220|0;d=c[b>>2]|0;if(!((d|0)!=(a|0)&(d|0)!=0))break;a=c[(c[d+16>>2]|0)+220>>2]|0;if(!a){a=d;continue}c[b>>2]=a}return a|0}function eP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((a|0)!=(b|0)){d=c[a+16>>2]|0;e=d+220|0;if(!(c[e>>2]|0)){c[e>>2]=a;c[d+216>>2]=1}else a=dP(a)|0;e=c[b+16>>2]|0;d=e+220|0;if(!(c[d>>2]|0)){c[d>>2]=b;c[e+216>>2]=1;d=e;e=1}else{b=dP(b)|0;e=c[b+16>>2]|0;d=e;e=c[e+216>>2]|0}h=c[a+16>>2]|0;g=(c[h+120>>2]|0)>(c[d+120>>2]|0);f=h+216|0;e=e+(c[f>>2]|0)|0;a=g?b:a;c[(g?h:d)+220>>2]=a;c[(g?d+216|0:f)>>2]=e}return a|0}function fP(b){b=b|0;b=c[b+16>>2]|0;c[b+216>>2]=1;c[b+220>>2]=0;a[b+159>>0]=0;return}function gP(a,b){a=a|0;b=b|0;if((dP(a)|0)==(a|0)){a=c[a+16>>2]|0;c[a+220>>2]=b;b=(c[b+16>>2]|0)+216|0;c[b>>2]=(c[b>>2]|0)+(c[a+216>>2]|0);return}else Aa(107970,107962,194,107986)}function hP(a,b){a=a|0;b=b|0;var d=0.0;b=c[(c[b+16>>2]|0)+132>>2]|0;d=+h[b+8>>3]*72.0;h[a>>3]=+h[b>>3]*72.0;h[a+8>>3]=d;return}function iP(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0;o=l;l=l+576|0;n=o;i=0;while(1){if((i|0)>(d|0))break;k=n+(i<<4)|0;j=b+(i<<4)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];i=i+1|0}m=1.0-e;i=1;while(1){if((i|0)>(d|0))break;j=d-i|0;k=i+-1|0;b=0;while(1){if((b|0)>(j|0))break;p=b+1|0;h[n+(i*96|0)+(b<<4)>>3]=m*+h[n+(k*96|0)+(b<<4)>>3]+ +h[n+(k*96|0)+(p<<4)>>3]*e;h[n+(i*96|0)+(b<<4)+8>>3]=m*+h[n+(k*96|0)+(b<<4)+8>>3]+ +h[n+(k*96|0)+(p<<4)+8>>3]*e;b=p}i=i+1|0}a:do if(f|0){i=0;while(1){if((i|0)>(d|0))break a;p=f+(i<<4)|0;k=n+(i*96|0)|0;c[p>>2]=c[k>>2];c[p+4>>2]=c[k+4>>2];c[p+8>>2]=c[k+8>>2];c[p+12>>2]=c[k+12>>2];i=i+1|0}}while(0);b:do if(g|0){i=0;while(1){if((i|0)>(d|0))break b;p=g+(i<<4)|0;f=n+((d-i|0)*96|0)+(i<<4)|0;c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];i=i+1|0}}while(0);p=n+(d*96|0)|0;c[a>>2]=c[p>>2];c[a+4>>2]=c[p+4>>2];c[a+8>>2]=c[p+8>>2];c[a+12>>2]=c[p+12>>2];l=o;return}function jP(b){b=b|0;var d=0,e=0,f=0,g=0;e=0;do{d=c[47385]|0;f=d+1024|0;if((d-e|0)<1024){c[47385]=f;f=KK(c[47386]|0,f)|0;c[47386]=f;d=c[47385]|0}else f=c[47386]|0;d=o4(f+e|0,d-e|0,b)|0;if(!d){g=6;break}e=(D3(d)|0)+e|0;d=c[47386]|0}while((a[d+(e+-1)>>0]|0)!=10);if((g|0)==6)d=c[47386]|0;return ((e|0)>0?d:0)|0}function kP(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;f=h;do if((b|0)!=0?(a[b>>0]|0)!=0:0){d=c[47179]|0;if(!d){d=c[47178]|0;e=c[47388]|0;if((c[47387]|0)==(d|0))d=e;else{if(e){l6(c[e>>2]|0);l6(c[47388]|0);c[47388]=0;d=c[47178]|0}c[47387]=d;if(!d)break;if(!(a[d>>0]|0))break;d=lP(d)|0;c[47388]=d}if(!((a[b>>0]|0)!=47&(d|0)!=0))break;b=mP(d,c[47389]|0,b)|0;break}e=c[47177]|0;if(e|0?a[e>>0]|0:0){if(!(c[47387]|0)){c[47388]=lP(e)|0;e=c[47177]|0;c[47387]=e}d=I4(b,47)|0;d=(d|0)==0?b:d+1|0;f=I4(d,92)|0;f=(f|0)==0?d:f+1|0;d=I4(f,58)|0;d=(d|0)==0?f:d+1|0;if(!((a[107997]|0)==0|(d|0)==(b|0))){c[g>>2]=b;c[g+4>>2]=e;dA(0,108123,g)|0;a[107997]=0}b=mP(c[47388]|0,c[47389]|0,d)|0;break}if(a[107997]|0){c[f>>2]=d;dA(0,107998,f)|0;a[107997]=0;b=0}else b=0}else b=0;while(0);l=h;return b|0}function lP(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=0;f=0;g=0;b=Y3(a)|0;d=0;while(1){b=i6(b,108285)|0;if(!b)break;a=(g<<2)+8|0;if(!f)a=IK(a)|0;else a=KK(d,a)|0;c[a+(g<<2)>>2]=b;f=D3(b)|0;e=e>>>0>f>>>0?e:f;f=a;g=g+1|0;b=0;d=a}c[f+(g<<2)>>2]=0;c[47389]=e;return f|0}function mP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;h=c[47390]|0;c[47390]=n6(h,b+2+(D3(d)|0)|0)|0;while(1){b=c[a>>2]|0;if(!b){a=0;break}h=c[47390]|0;c[e>>2]=b;c[e+4>>2]=108283;c[e+8>>2]=d;i2(h,108276,e)|0;if(!(H4(c[47390]|0,4)|0)){f=4;break}else a=a+4|0}if((f|0)==4)a=c[47390]|0;l=g;return a|0}function nP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=(b|0)==0;f=0;while(1){h=c[d+(f<<2)>>2]|0;if(!h)break;if((!g?(a[b>>0]|0)==(a[h>>0]|0):0)?(f2(b,h)|0)==0:0)break;f=f+1|0}return c[e+(f<<2)>>2]|0}function oP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=l;l=l+80|0;x=z+16|0;y=z;u=c[b+4>>2]|0;v=c[b>>2]|0;w=d+8|0;f=0;e=-1;g=1.e+38;b=-1;while(1){if((f|0)>=(u|0))break;s=c[v+(f*48|0)>>2]|0;t=c[v+(f*48|0)+4>>2]|0;r=0;while(1){if((r|0)>=(t|0))break;p=+h[s+(r<<4)>>3]-+h[d>>3];q=+h[s+(r<<4)+8>>3]-+h[w>>3];q=p*p+q*q;A=(e|0)==-1|q>2]|0;e=(((e|0)==((c[v+(b*48|0)+4>>2]|0)+-1|0))<<31>>31)+e|0;e=e-((e|0)%3|0)|0;b=0;while(1){if((b|0)==4)break;B=b+e|0;h[x+(b<<4)>>3]=+h[f+(B<<4)>>3];h[x+(b<<4)+8>>3]=+h[f+(B<<4)+8>>3];b=b+1|0}q=+h[d>>3];p=+h[x>>3]-q;o=+h[w>>3];k=+h[x+8>>3]-o;n=+h[x+48>>3]-q;j=+h[x+56>>3]-o;b=y+8|0;g=1.0;i=0.0;j=n*n+j*j;k=p*p+k*k;while(1){p=(i+g)*.5;iP(y,x,3,p,0,0);m=+h[y>>3];n=+h[b>>3];if(+F(+(k-j))<1.0)break;if(+F(+(g-i))<1.0e-05)break;B=k>3]=m;h[a+8>>3]=n;l=z;return}function pP(){return c[47391]|0}function qP(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;d=+YO(b,c[47200]|0,.75,.01);g=b+16|0;h[(c[g>>2]|0)+32>>3]=d;d=+YO(b,c[47199]|0,.5,.02);h[(c[g>>2]|0)+40>>3]=d;l=hN($O(b,c[47201]|0,108287)|0,b)|0;c[(c[g>>2]|0)+8>>2]=l;l=OA(b,c[47216]|0)|0;d=+YO(b,c[47212]|0,14.0,1.0);e=$O(b,c[47213]|0,108295)|0;f=$O(b,c[47214]|0,137615)|0;i=(gD(l)|0)!=0;k=(UM(b)|0)==2;i=xK(b,l,(k?4:0)|(i?2:0),d,e,f)|0;c[(c[g>>2]|0)+104>>2]=i;i=c[47217]|0;if((i|0?(j=OA(b,i)|0,j|0):0)?a[j>>0]|0:0){l=(gD(j)|0)!=0;l=xK(b,j,l?2:0,d,e,f)|0;c[(c[g>>2]|0)+108>>2]=l;l=(c[(uC(b)|0)+16>>2]|0)+113|0;a[l>>0]=a[l>>0]|16}k=(XO(b,c[47220]|0,0,0)|0)&255;l=c[g>>2]|0;a[l+144>>0]=k;db[c[c[(c[l+8>>2]|0)+4>>2]>>2]&127](b);return}function rP(b){b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+112|0;m=v+96|0;n=v+80|0;s=v+40|0;u=v;r=b+48|0;p=uC(c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0)|0;g=m+8|0;c[g>>2]=0;o=n+8|0;c[o>>2]=0;d=c[47251]|0;if(((d|0)!=0?(e=OA(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0){sP(b,m);t=(gD(e)|0)!=0;i=+h[m>>3];f=c[g>>2]|0;d=c[m+12>>2]|0;e=xK(b,e,t?2:0,i,f,d)|0;t=b+16|0;c[(c[t>>2]|0)+96>>2]=e;e=(c[p+16>>2]|0)+113|0;a[e>>0]=a[e>>0]|1;e=bP(_O(b,c[47261]|0,137609)|0)|0;a[(c[t>>2]|0)+114>>0]=e;t=1;e=f}else{t=0;d=0;i=0.0;e=0}f=c[47252]|0;if((f|0?(j=OA(b,f)|0,j|0):0)?a[j>>0]|0:0){if(!e){sP(b,m);i=+h[m>>3];e=c[g>>2]|0;d=c[m+12>>2]|0}g=(gD(j)|0)!=0;j=xK(b,j,g?2:0,i,e,d)|0;c[(c[b+16>>2]|0)+108>>2]=j;j=(c[p+16>>2]|0)+113|0;a[j>>0]=a[j>>0]|32}d=c[47266]|0;if(((d|0)!=0?(k=OA(b,d)|0,(k|0)!=0):0)?(a[k>>0]|0)!=0:0){tP(b,m,n);j=(gD(k)|0)!=0;i=+h[n>>3];d=c[o>>2]|0;e=c[n+12>>2]|0;k=xK(b,k,j?2:0,i,d,e)|0;c[(c[b+16>>2]|0)+100>>2]=k;k=(c[p+16>>2]|0)+113|0;a[k>>0]=a[k>>0]|2}else{e=0;i=0.0;d=0}f=c[47267]|0;if((f|0?(q=OA(b,f)|0,q|0):0)?a[q>>0]|0:0){if(!d){tP(b,m,n);e=c[n+12>>2]|0;i=+h[n>>3];d=c[o>>2]|0}o=(gD(q)|0)!=0;q=xK(b,q,o?2:0,i,d,e)|0;c[(c[b+16>>2]|0)+104>>2]=q;q=(c[p+16>>2]|0)+113|0;a[q>>0]=a[q>>0]|4}d=NA(b,111756)|0;d=d|0?d:195341;if(a[d>>0]|0)a[(c[(c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0)+16>>2]|0)+145>>0]=1;g=b+16|0;f=(c[g>>2]|0)+16|0;e=c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0;uP(s,c[(c[(c[(c[e+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,e,d);d=s;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));if((vP(b,c[47273]|0)|0)<<24>>24)a[(c[g>>2]|0)+46>>0]=0;d=NA(b,111765)|0;d=d|0?d:195341;e=b+-48|0;if(a[d>>0]|0)a[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+145>>0]=1;f=(c[g>>2]|0)+56|0;e=c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0;uP(u,c[(c[(c[(c[e+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,e,d);d=u;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));if((vP(b,c[47274]|0)|0)<<24>>24)a[(c[g>>2]|0)+86>>0]=0;l=v;return t|0}function sP(a,b){a=a|0;b=b|0;h[b>>3]=+YO(a,c[47248]|0,14.0,1.0);c[b+8>>2]=$O(a,c[47249]|0,108295)|0;c[b+12>>2]=$O(a,c[47250]|0,137615)|0;return}function tP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=b+8|0;if(!(c[e>>2]|0))sP(a,b);h[d>>3]=+YO(a,c[47268]|0,+h[b>>3],1.0);c[d+8>>2]=$O(a,c[47269]|0,c[e>>2]|0)|0;c[d+12>>2]=$O(a,c[47270]|0,c[b+12>>2]|0)|0;return}function uP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+128|0;k=m+80|0;h=m+40|0;g=m;if((f|0)!=0?(j=F3(f,58)|0,(j|0)!=0):0){a[j>>0]=0;i=j+1|0;xb[d&31](h,e,f,i);e=k;g=h;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));a[j>>0]=58;f=i}else{xb[d&31](g,e,f,0);e=k;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0))}e=b;g=k;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));c[b+36>>2]=f;l=m;return}function vP(b,c){b=b|0;c=c|0;var d=0;if(((c|0)!=0?(d=OA(b,c)|0,(d|0)!=0):0)?(a[d>>0]|0)!=0:0)b=(bP(d)|0)<<24>>24==0&1;else b=0;return b|0}function wP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;k=l;l=l+32|0;i=k;j=c[b+8>>2]|0;d=c[b+4>>2]|0;d=(c[b+44>>2]|0)+((S((d|0)>1?d+-1|0:0,j)|0)<<4)|0;e=i+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];f=i+8|0;g=i+24|0;b=1;while(1){if((b|0)>=(j|0))break;m=d+(b<<4)|0;o=+h[m>>3];h[i>>3]=+h[(+h[i>>3]>3];n=+h[m+8>>3];h[f>>3]=+h[(+h[f>>3]>3];h[e>>3]=+h[(+h[e>>3]>o?e:m)>>3];h[g>>3]=+h[(+h[g>>3]>n?e:m)+8>>3];b=b+1|0}c[a>>2]=c[i>>2];c[a+4>>2]=c[i+4>>2];c[a+8>>2]=c[i+8>>2];c[a+12>>2]=c[i+12>>2];c[a+16>>2]=c[i+16>>2];c[a+20>>2]=c[i+20>>2];c[a+24>>2]=c[i+24>>2];c[a+28>>2]=c[i+28>>2];l=k;return}function xP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+64|0;g=d+32|0;e=d;f=c[a+16>>2]|0;a=f+16|0;f=c[f+116>>2]&1;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];c[g+20>>2]=c[a+20>>2];c[g+24>>2]=c[a+24>>2];c[g+28>>2]=c[a+28>>2];yP(e,g,b,f);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];c[a+16>>2]=c[e+16>>2];c[a+20>>2]=c[e+20>>2];c[a+24>>2]=c[e+24>>2];c[a+28>>2]=c[e+28>>2];l=d;return}function yP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0;m=+h[d+56>>3];l=+h[d+64>>3];j=e<<24>>24==0;k=+h[d+24>>3];i=+h[d+32>>3];g=(j?k:i)*.5;f=m-g;g=m+g;if(f<+h[b>>3])h[b>>3]=f;e=b+16|0;if(g>+h[e>>3])h[e>>3]=g;g=(j?i:k)*.5;f=l-g;g=l+g;e=b+8|0;if(f<+h[e>>3])h[e>>3]=f;e=b+24|0;if(g>+h[e>>3])h[e>>3]=g;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];return}function zP(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0,Q=0.0,R=0.0;M=l;l=l+432|0;I=M+400|0;u=M+384|0;v=M+288|0;L=M+224|0;H=M+192|0;B=M+144|0;C=M+64|0;d=M+368|0;e=M+352|0;f=M+336|0;D=M+320|0;w=M+256|0;x=M+160|0;y=M+112|0;z=M+80|0;A=M+32|0;J=M;G=L+16|0;K=b+16|0;if((qB(b)|0)==0?(c[(c[K>>2]|0)+180>>2]|0)==0:0){AP(L,0.0,0.0);AP(d,0.0,0.0);c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2]}else{AP(e,2147483647.0,2147483647.0);c[L>>2]=c[e>>2];c[L+4>>2]=c[e+4>>2];c[L+8>>2]=c[e+8>>2];c[L+12>>2]=c[e+12>>2];AP(f,-2147483647.0,-2147483647.0);c[G>>2]=c[f>>2];c[G+4>>2]=c[f+4>>2];c[G+8>>2]=c[f+8>>2];c[G+12>>2]=c[f+12>>2];E=L+24|0;F=L+8|0;p=C+8|0;q=v+16|0;r=v+8|0;s=v+24|0;t=B+8|0;o=gC(b)|0;while(1){if(!o)break;hP(B,o);d=o+16|0;n=c[d>>2]|0;h[C>>3]=(+h[n+88>>3]+ +h[n+96>>3])*.5;h[p>>3]=+h[n+80>>3]*.5;c[u>>2]=c[B>>2];c[u+4>>2]=c[B+4>>2];c[u+8>>2]=c[B+8>>2];c[u+12>>2]=c[B+12>>2];c[I>>2]=c[C>>2];c[I+4>>2]=c[C+4>>2];c[I+8>>2]=c[C+8>>2];c[I+12>>2]=c[C+12>>2];BP(v,u,I);c[u>>2]=c[B>>2];c[u+4>>2]=c[B+4>>2];c[u+8>>2]=c[B+8>>2];c[u+12>>2]=c[B+12>>2];c[I>>2]=c[C>>2];c[I+4>>2]=c[C+4>>2];c[I+8>>2]=c[C+8>>2];c[I+12>>2]=c[C+12>>2];CP(D,u,I);c[q>>2]=c[D>>2];c[q+4>>2]=c[D+4>>2];c[q+8>>2]=c[D+8>>2];c[q+12>>2]=c[D+12>>2];h[L>>3]=+h[(+h[L>>3]<+h[v>>3]?L:v)>>3];h[F>>3]=+h[(+h[F>>3]<+h[r>>3]?L:v)+8>>3];h[G>>3]=+h[(+h[G>>3]>+h[q>>3]?L:v)+16>>3];h[E>>3]=+h[(+h[E>>3]>+h[s>>3]?L:v)+24>>3];d=c[(c[d>>2]|0)+108>>2]|0;if(d|0?a[d+81>>0]|0:0){n=c[(c[K>>2]|0)+116>>2]&1;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[I+16>>2]=c[L+16>>2];c[I+20>>2]=c[L+20>>2];c[I+24>>2]=c[L+24>>2];c[I+28>>2]=c[L+28>>2];yP(w,I,d,n);c[L>>2]=c[w>>2];c[L+4>>2]=c[w+4>>2];c[L+8>>2]=c[w+8>>2];c[L+12>>2]=c[w+12>>2];c[L+16>>2]=c[w+16>>2];c[L+20>>2]=c[w+20>>2];c[L+24>>2]=c[w+24>>2];c[L+28>>2]=c[w+28>>2]}n=UA(b,o)|0;while(1){if(!n)break;m=n+16|0;d=c[m>>2]|0;g=c[d+8>>2]|0;if(g|0){i=c[g+4>>2]|0;f=0;while(1){if((f|0)>=(i|0))break;k=c[g>>2]|0;j=c[k+(f*48|0)+4>>2]|0;k=k+(f*48|0)|0;e=0;while(1){if((e|0)>=(j|0))break;P=(c[k>>2]|0)+(e<<4)|0;c[B>>2]=c[P>>2];c[B+4>>2]=c[P+4>>2];c[B+8>>2]=c[P+8>>2];c[B+12>>2]=c[P+12>>2];O=+h[B>>3];h[L>>3]=+h[(+h[L>>3]>3];N=+h[t>>3];h[F>>3]=+h[(+h[F>>3]>3];h[G>>3]=+h[(+h[G>>3]>O?G:B)>>3];h[E>>3]=+h[(+h[E>>3]>N?G:B)+8>>3];e=e+1|0}f=f+1|0}e=c[d+96>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[K>>2]|0)+116>>2]&1;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[I+16>>2]=c[L+16>>2];c[I+20>>2]=c[L+20>>2];c[I+24>>2]=c[L+24>>2];c[I+28>>2]=c[L+28>>2];yP(x,I,e,d);c[L>>2]=c[x>>2];c[L+4>>2]=c[x+4>>2];c[L+8>>2]=c[x+8>>2];c[L+12>>2]=c[x+12>>2];c[L+16>>2]=c[x+16>>2];c[L+20>>2]=c[x+20>>2];c[L+24>>2]=c[x+24>>2];c[L+28>>2]=c[x+28>>2];d=c[m>>2]|0}e=c[d+100>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[K>>2]|0)+116>>2]&1;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[I+16>>2]=c[L+16>>2];c[I+20>>2]=c[L+20>>2];c[I+24>>2]=c[L+24>>2];c[I+28>>2]=c[L+28>>2];yP(y,I,e,d);c[L>>2]=c[y>>2];c[L+4>>2]=c[y+4>>2];c[L+8>>2]=c[y+8>>2];c[L+12>>2]=c[y+12>>2];c[L+16>>2]=c[y+16>>2];c[L+20>>2]=c[y+20>>2];c[L+24>>2]=c[y+24>>2];c[L+28>>2]=c[y+28>>2];d=c[m>>2]|0}e=c[d+104>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[K>>2]|0)+116>>2]&1;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[I+16>>2]=c[L+16>>2];c[I+20>>2]=c[L+20>>2];c[I+24>>2]=c[L+24>>2];c[I+28>>2]=c[L+28>>2];yP(z,I,e,d);c[L>>2]=c[z>>2];c[L+4>>2]=c[z+4>>2];c[L+8>>2]=c[z+8>>2];c[L+12>>2]=c[z+12>>2];c[L+16>>2]=c[z+16>>2];c[L+20>>2]=c[z+20>>2];c[L+24>>2]=c[z+24>>2];c[L+28>>2]=c[z+28>>2];d=c[m>>2]|0}d=c[d+108>>2]|0;if(d|0?a[d+81>>0]|0:0){P=c[(c[K>>2]|0)+116>>2]&1;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[I+16>>2]=c[L+16>>2];c[I+20>>2]=c[L+20>>2];c[I+24>>2]=c[L+24>>2];c[I+28>>2]=c[L+28>>2];yP(A,I,d,P);c[L>>2]=c[A>>2];c[L+4>>2]=c[A+4>>2];c[L+8>>2]=c[A+8>>2];c[L+12>>2]=c[A+12>>2];c[L+16>>2]=c[A+16>>2];c[L+20>>2]=c[A+20>>2];c[L+24>>2]=c[A+24>>2];c[L+28>>2]=c[A+28>>2]}}n=WA(b,n)|0}o=hC(b,o)|0}d=c[K>>2]|0;f=c[d+180>>2]|0;g=d+184|0;i=H+8|0;j=H+16|0;k=H+24|0;e=1;while(1){if((e|0)>(f|0))break;P=c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;R=+h[P+16>>3];h[H>>3]=R;Q=+h[P+24>>3];h[i>>3]=Q;N=+h[P+32>>3];h[j>>3]=N;O=+h[P+40>>3];h[k>>3]=O;h[L>>3]=+h[(+h[L>>3]>3];h[F>>3]=+h[(+h[F>>3]>3];h[G>>3]=+h[(+h[G>>3]>N?L:H)+16>>3];h[E>>3]=+h[(+h[E>>3]>O?L:H)+24>>3];e=e+1|0}e=c[d+12>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[d+116>>2]&1;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[I+16>>2]=c[L+16>>2];c[I+20>>2]=c[L+20>>2];c[I+24>>2]=c[L+24>>2];c[I+28>>2]=c[L+28>>2];yP(J,I,e,d);c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];c[L+16>>2]=c[J+16>>2];c[L+20>>2]=c[J+20>>2];c[L+24>>2]=c[J+24>>2];c[L+28>>2]=c[J+28>>2];d=c[K>>2]|0}P=d+16|0;c[P>>2]=c[L>>2];c[P+4>>2]=c[L+4>>2];c[P+8>>2]=c[L+8>>2];c[P+12>>2]=c[L+12>>2];c[P+16>>2]=c[L+16>>2];c[P+20>>2]=c[L+20>>2];c[P+24>>2]=c[L+24>>2];c[P+28>>2]=c[L+28>>2]}l=M;return}function AP(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function BP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function CP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]+ +h[c+8>>3];h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=d;return}function DP(a){a=a|0;if((c[a+60>>2]|0)==(a|0))a=1;else a=(N3(HB(a)|0,108307,7)|0)==0;return a&1|0}function EP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a:do if(!e)switch(FC(b)|0){case 0:{e=DA(a,0,c,195341)|0;break a}case 1:{e=DA(a,1,c,195341)|0;break a}case 2:{e=DA(a,2,c,195341)|0;break a}default:{e=0;break a}}while(0);HA(b,e,d)|0;return e|0}function FP(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+144|0;g=k;i=GP(d)|0;h=Sz(23640,c[4591]|0)|0;j=LD(d,108315,1)|0;RC(j,137786,280,1)|0;hA(g,128,k+16|0);e=gC(d)|0;while(1){if(!e)break;a:do if(!(a[(c[e+16>>2]|0)+118>>0]|0)){f=UA(d,e)|0;while(1){if(!f)break a;HP(f,j,g,h,i);f=WA(d,f)|0}}while(0);e=hC(d,e)|0}lA(g);Oz(h)|0;f=qB(j)|0;e=gC(j)|0;while(1){if(!e)break;h=hC(j,e)|0;tC(d,e)|0;e=h}pB(j)|0;if(f|0){j=(c[d+16>>2]|0)+136|0;b[j>>1]=b[j>>1]|1}Oz(i)|0;l=k;return f|0}function GP(a){a=a|0;var b=0;b=Sz(23676,c[4591]|0)|0;QP(a,b);return b|0}function HP(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;q=t+32|0;p=t+24|0;s=t+16|0;r=t+8|0;k=t;n=c[b>>2]&3;m=c[((n|0)==3?b:b+48|0)+40>>2]|0;n=c[((n|0)==2?b:b+-48|0)+40>>2]|0;do if(!(a[(c[n+16>>2]|0)+118>>0]|0)){if(!(h2(HB(m)|0,108307,7)|0))o=IP(g,HB(m)|0)|0;else o=0;if(!(h2(HB(n)|0,108307,7)|0))j=IP(g,HB(n)|0)|0;else j=0;h=(o|0)!=0;i=(j|0)!=0;if(h|i){if((o|0)==(j|0)){r=HB(m)|0;s=HB(m)|0;c[k>>2]=r;c[k+4>>2]=s;dA(0,108330,k)|0;break}g=JP(f,b)|0;if(g|0){KP(b,c[g+16>>2]|0,c[g+20>>2]|0)|0;break}if(!i)if(!(EC(o,n)|0)){MP(f,m,n,KP(b,LP(m,o,e,d)|0,n)|0);break}else{r=HB(n)|0;s=HB(o)|0;c[q>>2]=r;c[q+4>>2]=s;dA(0,108485,q)|0;break}if(!h)if(!(EC(j,m)|0)){MP(f,m,n,KP(b,m,LP(n,j,e,d)|0)|0);break}else{r=HB(m)|0;s=HB(j)|0;c[p>>2]=r;c[p+4>>2]=s;dA(0,108448,p)|0;break}if(EC(j,o)|0){q=HB(o)|0;s=HB(j)|0;c[r>>2]=q;c[r+4>>2]=s;dA(0,108368,r)|0;break}if(!(EC(o,j)|0)){s=LP(m,o,e,d)|0;MP(f,m,n,KP(b,s,LP(n,j,e,d)|0)|0);break}else{q=HB(j)|0;r=HB(o)|0;c[s>>2]=q;c[s+4>>2]=r;dA(0,108408,s)|0;break}}}while(0);l=t;return}function IP(a,b){a=a|0;b=b|0;a=eb[c[a>>2]&63](a,b,512)|0;if(!a)a=0;else a=c[a+12>>2]|0;return a|0}function JP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=c[b>>2]&3;c[e>>2]=c[((f|0)==3?b:b+48|0)+40>>2];c[e+4>>2]=c[((f|0)==2?b:b+-48|0)+40>>2];b=eb[c[a>>2]&63](a,e,512)|0;l=d;return b|0}function KP(a,b,c){a=a|0;b=b|0;c=c|0;c=fB(uC(b)|0,b,c,0,1)|0;RC(c,137763,176,1)|0;RA(a,c)|0;return c|0}function LP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+112|0;g=k;j=k+4|0;kA(e,108522)|0;i=c[47392]|0;c[47392]=i+1;c[g>>2]=i;i2(j,137696,g)|0;kA(e,j)|0;j=e+4|0;g=c[j>>2]|0;i=e+8|0;if(g>>>0>=(c[i>>2]|0)>>>0){iA(e,1)|0;g=c[j>>2]|0}c[j>>2]=g+1;a[g>>0]=58;kA(e,HB(d)|0)|0;h=vC(d)|0;g=c[j>>2]|0;if(g>>>0>=(c[i>>2]|0)>>>0){iA(e,1)|0;g=c[j>>2]|0}a[g>>0]=0;e=c[e>>2]|0;c[j>>2]=e;j=qC(h,e,1)|0;RC(j,137750,304,1)|0;a[(c[j+16>>2]|0)+118>>0]=1;lC(d,j,1)|0;lC(f,b,1)|0;f=uC(j)|0;c[47216]=EP(f,j,108525,195341,c[47216]|0)|0;f=uC(j)|0;c[47219]=EP(f,j,141385,134636,c[47219]|0)|0;f=uC(j)|0;c[47201]=EP(f,j,108531,108537,c[47201]|0)|0;l=k;return j|0}function MP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;f=l;l=l+32|0;g=f;n=g+8|0;c[n>>2]=b;m=g+12|0;c[m>>2]=d;o=c[e>>2]&3;i=e+48|0;j=g+16|0;c[j>>2]=c[((o|0)==3?e:i)+40>>2];k=e+-48|0;h=g+20|0;c[h>>2]=c[((o|0)==2?e:k)+40>>2];eb[c[a>>2]&63](a,g,1)|0;c[n>>2]=d;c[m>>2]=b;d=c[e>>2]&3;c[j>>2]=c[((d|0)==2?e:k)+40>>2];c[h>>2]=c[((d|0)==3?e:i)+40>>2];eb[c[a>>2]&63](a,g,1)|0;l=f;return}function NP(a,b,d){a=a|0;b=b|0;d=d|0;d=HK(24)|0;c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];return d|0}function OP(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function PP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if(a>>>0>=e>>>0)if(a>>>0>e>>>0)a=1;else{b=c[b+4>>2]|0;d=c[d+4>>2]|0;return (b>>>0>>0?-1:b>>>0>d>>>0&1)|0}else a=-1;return a|0}function QP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h;f=a+16|0;e=1;while(1){a=c[f>>2]|0;if((e|0)>(c[a+180>>2]|0))break;a=c[(c[a+184>>2]|0)+(e<<2)>>2]|0;d=HB(a)|0;if(!(eb[c[b>>2]&63](b,d,512)|0)){i=HK(16)|0;c[i+8>>2]=d;c[i+12>>2]=a;eb[c[b>>2]&63](b,i,1)|0}else{c[g>>2]=d;dA(0,108541,g)|0}QP(a,b);e=e+1|0}l=h;return}function RP(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function SP(a){a=a|0;var b=0,c=0,d=0;d=LD(a,108315,1)|0;RC(d,137786,280,1)|0;b=gC(a)|0;while(1){if(!b)break;c=UA(a,b)|0;while(1){if(!c)break;TP(c,d);c=WA(a,c)|0}b=hC(a,b)|0}b=gC(d)|0;while(1){if(!b)break;c=hC(d,b)|0;UP(b);tC(a,b)|0;b=c}pB(d)|0;return}function TP(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b>>2]&3;f=c[((e|0)==3?b:b+48|0)+40>>2]|0;e=c[((e|0)==2?b:b+-48|0)+40>>2]|0;if(!((a[(c[f+16>>2]|0)+118>>0]|0)==0?!(a[(c[e+16>>2]|0)+118>>0]|0):0)){f=VP(f,d)|0;e=KP(b,f,VP(e,d)|0)|0;f=c[b+16>>2]|0;d=f+8|0;e=c[e+16>>2]|0;c[e+8>>2]=c[d>>2];c[d>>2]=0;d=f+96|0;c[e+96>>2]=c[d>>2];c[d>>2]=0;d=f+108|0;c[e+108>>2]=c[d>>2];c[d>>2]=0;d=f+100|0;c[e+100>>2]=c[d>>2];c[d>>2]=0;f=f+104|0;c[e+104>>2]=c[f>>2];c[f>>2]=0;WP(b)}return}function UP(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+132>>2]|0;if(d){l6(d);b=c[e>>2]|0}d=c[b+8>>2]|0;if(d){db[c[(c[d+4>>2]|0)+4>>2]&127](a);b=c[e>>2]|0}AK(c[b+104>>2]|0);AK(c[(c[e>>2]|0)+108>>2]|0);TC(a,137750)|0;return}function VP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=uC(b)|0;a:do if(a[(c[b+16>>2]|0)+118>>0]|0){lC(d,b,1)|0;b=F3(HB(b)|0,58)|0;if(!b)Aa(111509,107962,1225,108593);d=b+1|0;b=qC(f,d,0)|0;if(!b){b=qC(f,d,1)|0;RC(b,137750,304,1)|0;d=IA(f,1,0)|0;while(1){if(!d)break a;g=OA(b,d)|0;e=c[d+12>>2]|0;if((g|0)!=(e|0))HA(b,d,e)|0;d=IA(f,1,d)|0}}}while(0);return b|0}function WP(a){a=a|0;var b=0;b=a+16|0;l6(c[(c[b>>2]|0)+144>>2]|0);XP(a);AK(c[(c[b>>2]|0)+96>>2]|0);AK(c[(c[b>>2]|0)+108>>2]|0);AK(c[(c[b>>2]|0)+100>>2]|0);AK(c[(c[b>>2]|0)+104>>2]|0);TC(a,137763)|0;return}function XP(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;a=c[e>>2]|0;b=c[a+8>>2]|0;if(b){d=0;while(1){a=c[b>>2]|0;if((d|0)>=(c[b+4>>2]|0))break;l6(c[a+(d*48|0)>>2]|0);d=d+1|0;b=c[(c[e>>2]|0)+8>>2]|0}l6(a);l6(c[(c[e>>2]|0)+8>>2]|0);a=c[e>>2]|0}c[a+8>>2]=0;return}function YP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=DA(a,b,c,0)|0;if(!e)e=DA(a,b,c,d)|0;return e|0}function ZP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o;h=o+8|0;j=o+16|0;m=F3(b,59)|0;n=d+4|0;e=c[n>>2]|0;k=d+8|0;if(e>>>0>=(c[k>>2]|0)>>>0){iA(d,1)|0;e=c[n>>2]|0}c[n>>2]=e+1;a[e>>0]=38;if(((m|0)!=0?(f=m-b|0,(f+-2|0)>>>0<=6):0)?(N4(j,b,f)|0,a[j+f>>0]=0,c[h>>2]=j,g=e6(h,23712,252,8,96)|0,(g|0)!=0):0){c[i>>2]=c[g+4>>2];i2(j,137696,i)|0;b=c[n>>2]|0;if(b>>>0>=(c[k>>2]|0)>>>0){iA(d,1)|0;b=c[n>>2]|0}c[n>>2]=b+1;a[b>>0]=35;kA(d,j)|0;b=c[n>>2]|0;if(b>>>0>=(c[k>>2]|0)>>>0){iA(d,1)|0;b=c[n>>2]|0}c[n>>2]=b+1;a[b>>0]=59;b=m+1|0}l=o;return b|0}function _P(a,b){a=a|0;b=b|0;return f2(c[a>>2]|0,c[b>>2]|0)|0}function $P(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+1072|0;k=q+8|0;j=q;i=q+16|0;o=q+24|0;c[i>>2]=b;if((c[47393]|0)!=(d|0)){c[47393]=d;a[195240]=0}hA(o,1024,q+40|0);n=o+8|0;p=o+4|0;while(1){f=b+1|0;c[i>>2]=f;e=a[b>>0]|0;if(!(e<<24>>24))break;do if((e&255)<192)if(e<<24>>24==38){g=bQ(i)|0;if(!g)e=38;else{if(g>>>0<127){e=g&255;break}b=c[p>>2]|0;f=b>>>0>=(c[n>>2]|0)>>>0;h=g>>>6;e=(g&63|128)&255;if(g>>>0<2047){if(f){iA(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=h|192;break}if(f){iA(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=g>>>12|224;b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){iA(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=h&63|128}}else{h=0;m=9}else if((e&255)>=224)if((e&255)>=240)if((e&255)<248){h=3;m=9}else{if(!(a[195240]|0)){c[j>>2]=HB(d)|0;dA(0,110008,j)|0;a[195240]=1}h=-1;e=aQ(e,o)|0;m=9}else{h=2;m=9}else{h=1;m=9}while(0);do if((m|0)==9){m=0;g=0;while(1){if((g|0)>=(h|0)){m=34;break}if((a[f>>0]&-64)<<24>>24!=-128)break;b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){iA(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=e;g=g+1|0;e=a[f>>0]|0;f=f+1|0}if((m|0)==34){m=0;c[i>>2]=f;break}c[i>>2]=f;if(!(a[195240]|0)){g=HB(d)|0;c[k>>2]=h+1;c[k+4>>2]=g;dA(0,110129,k)|0;a[195240]=1}e=aQ(e,o)|0}while(0);b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){iA(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=e;b=c[i>>2]|0}b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){iA(o,1)|0;b=c[p>>2]|0}a[b>>0]=0;n=c[o>>2]|0;c[p>>2]=n;p=Y3(n)|0;lA(o);l=q;return p|0} +function tw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;if(a){if((c[a+32>>2]|0)!=1)Aa(95220,95244,187,95375);s=a+36|0;d=c[s>>2]|0;if((d&2|0)==0?(p=(b|0)!=0,(d&1|0)==0|p^1):0)if((c[a>>2]|0)==(c[a+4>>2]|0)?(t=mw(a)|0,(t|0)!=0):0){k=c[a+20>>2]|0;l=c[a+24>>2]|0;m=c[t+20>>2]|0;n=c[t+24>>2]|0;o=c[a>>2]|0;q=IK(o<<2)|0;b=0;while(1){if((b|0)>=(o|0))break;c[q+(b<<2)>>2]=-1;b=b+1|0}b=a+28|0;d=t+28|0;a:do switch((p?8:c[a+16>>2]|0)|0){case 1:{i=c[b>>2]|0;g=c[d>>2]|0;b=0;while(1){if((b|0)>(o|0)){d=0;break}if((c[k+(b<<2)>>2]|0)==(c[m+(b<<2)>>2]|0))b=b+1|0;else{b=0;break a}}b:while(1){if((d|0)>=(o|0)){r=54;break a}e=k+(d<<2)|0;f=d+1|0;a=k+(f<<2)|0;b=c[e>>2]|0;while(1){if((b|0)>=(c[a>>2]|0))break;c[q+(c[l+(b<<2)>>2]<<2)>>2]=b;b=b+1|0}b=c[m+(d<<2)>>2]|0;a=c[m+(f<<2)>>2]|0;d=b;while(1){if((d|0)>=(a|0))break;if((c[q+(c[n+(d<<2)>>2]<<2)>>2]|0)<(c[e>>2]|0)){b=0;break a}else d=d+1|0}while(1){if((b|0)>=(a|0)){d=f;continue b}u=+h[g+(b<<3)>>3]-+h[i+(c[q+(c[n+(b<<2)>>2]<<2)>>2]<<3)>>3];if((u>=0.0?u:-u)>1.0e-07){b=0;break a}else b=b+1|0}}}case 2:{j=c[b>>2]|0;i=c[d>>2]|0;b=0;while(1){if((b|0)>(o|0)){d=0;break}if((c[k+(b<<2)>>2]|0)==(c[m+(b<<2)>>2]|0))b=b+1|0;else{b=0;break a}}c:while(1){if((d|0)>=(o|0)){r=54;break a}f=k+(d<<2)|0;g=d+1|0;a=k+(g<<2)|0;b=c[f>>2]|0;while(1){if((b|0)>=(c[a>>2]|0))break;c[q+(c[l+(b<<2)>>2]<<2)>>2]=b;b=b+1|0}d=c[m+(d<<2)>>2]|0;e=c[m+(g<<2)>>2]|0;b=d;while(1){if((b|0)>=(e|0)){b=d;break}if((c[q+(c[n+(b<<2)>>2]<<2)>>2]|0)<(c[f>>2]|0)){b=0;break a}else b=b+1|0}while(1){if((b|0)>=(e|0)){d=g;continue c}d=b<<1;a=c[q+(c[n+(b<<2)>>2]<<2)>>2]<<1;u=+h[i+(d<<3)>>3]-+h[j+(a<<3)>>3];if((u>=0.0?u:-u)>1.0e-07){b=0;break a}u=+h[i+((d|1)<<3)>>3]-+h[j+((a|1)<<3)>>3];if((u>=0.0?u:-u)>1.0e-07){b=0;break a}else b=b+1|0}}}case 4:{i=c[b>>2]|0;f=c[d>>2]|0;b=0;d:while(1){if((b|0)>=(o|0)){r=54;break a}e=k+(b<<2)|0;g=b+1|0;a=k+(g<<2)|0;d=c[e>>2]|0;while(1){if((d|0)>=(c[a>>2]|0))break;c[q+(c[l+(d<<2)>>2]<<2)>>2]=d;d=d+1|0}b=c[m+(b<<2)>>2]|0;a=c[m+(g<<2)>>2]|0;d=b;while(1){if((d|0)>=(a|0))break;if((c[q+(c[n+(d<<2)>>2]<<2)>>2]|0)<(c[e>>2]|0)){b=0;break a}else d=d+1|0}while(1){if((b|0)>=(a|0)){b=g;continue d}if((c[f+(b<<2)>>2]|0)==(c[i+(c[q+(c[n+(b<<2)>>2]<<2)>>2]<<2)>>2]|0))b=b+1|0;else{b=0;break a}}}}case 8:{a=0;e:while(1){if((a|0)>=(o|0)){r=54;break a}e=k+(a<<2)|0;f=a+1|0;d=k+(f<<2)|0;b=c[e>>2]|0;while(1){if((b|0)>=(c[d>>2]|0))break;c[q+(c[l+(b<<2)>>2]<<2)>>2]=b;b=b+1|0}d=c[m+(f<<2)>>2]|0;b=c[m+(a<<2)>>2]|0;while(1){if((b|0)>=(d|0)){a=f;continue e}if((c[q+(c[n+(b<<2)>>2]<<2)>>2]|0)<(c[e>>2]|0)){b=0;break a}else b=b+1|0}}}default:b=0}while(0);if((r|0)==54){d=c[s>>2]|0;if(p)b=1;else{c[s>>2]=d|2;b=3}c[s>>2]=b|d;b=1}l6(q);nw(t)}else b=0;else b=1}else b=0;return b|0}function uw(a){a=a|0;var b=0,d=0,e=0,f=0;if(!a)b=0;else{e=a+8|0;f=a+40|0;b=ww(c[a>>2]|0,c[a+4>>2]|0,c[e>>2]|0,c[a+16>>2]|0,c[f>>2]|0,c[a+32>>2]|0)|0;d=a+20|0;B6(c[b+20>>2]|0,c[d>>2]|0,(c[a>>2]<<2)+4|0)|0;B6(c[b+24>>2]|0,c[a+24>>2]|0,c[(c[d>>2]|0)+(c[a>>2]<<2)>>2]<<2|0)|0;d=c[a+28>>2]|0;if(d|0)B6(c[b+28>>2]|0,d|0,S(c[e>>2]|0,c[f>>2]|0)|0)|0;c[b+36>>2]=c[a+36>>2];c[b+8>>2]=c[e>>2]}return b|0}function vw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;r=c[a+20>>2]|0;t=c[a+24>>2]|0;u=c[b+20>>2]|0;v=c[b+24>>2]|0;if(!((a|0)!=0&(b|0)!=0))Aa(95282,95244,973,95289);s=c[a+32>>2]|0;if(!((s|0)==1?(s|0)==(c[b+32>>2]|0):0))Aa(95306,95244,974,95289);f=a+16|0;d=c[f>>2]|0;if((d|0)!=(c[b+16>>2]|0))Aa(95356,95244,975,95289);q=c[a>>2]|0;e=c[a+4>>2]|0;if(((q|0)==(c[b>>2]|0)?(e|0)==(c[b+4>>2]|0):0)?(w=ow(q,e,(c[b+8>>2]|0)+(c[a+8>>2]|0)|0,d,1)|0,w|0):0){o=c[w+20>>2]|0;p=c[w+24>>2]|0;s=IK(e<<2)|0;d=0;while(1){if((d|0)>=(e|0))break;c[s+(d<<2)>>2]=-1;d=d+1|0}c[o>>2]=0;d=a+28|0;a=b+28|0;e=w+28|0;a:do switch(c[f>>2]|0){case 1:{m=c[d>>2]|0;l=c[a>>2]|0;j=c[e>>2]|0;d=0;b=0;while(1){if((b|0)>=(q|0))break a;k=b+1|0;e=r+(k<<2)|0;a=c[r+(b<<2)>>2]|0;while(1){if((a|0)>=(c[e>>2]|0))break;n=t+(a<<2)|0;c[s+(c[n>>2]<<2)>>2]=d;c[p+(d<<2)>>2]=c[n>>2];h[j+(d<<3)>>3]=+h[m+(a<<3)>>3];a=a+1|0;d=d+1|0}f=u+(k<<2)|0;g=o+(b<<2)|0;b=c[u+(b<<2)>>2]|0;while(1){if((b|0)>=(c[f>>2]|0))break;a=c[v+(b<<2)>>2]|0;e=c[s+(a<<2)>>2]|0;i=+h[l+(b<<3)>>3];if((e|0)<(c[g>>2]|0)){c[p+(d<<2)>>2]=a;h[j+(d<<3)>>3]=i;d=d+1|0}else{n=j+(e<<3)|0;h[n>>3]=i+ +h[n>>3]}b=b+1|0}c[o+(k<<2)>>2]=d;b=k}}case 2:{n=c[d>>2]|0;m=c[a>>2]|0;k=c[e>>2]|0;b=0;d=0;while(1){if((b|0)>=(q|0))break a;l=b+1|0;e=r+(l<<2)|0;a=c[r+(b<<2)>>2]|0;while(1){if((a|0)>=(c[e>>2]|0))break;g=t+(a<<2)|0;c[s+(c[g>>2]<<2)>>2]=d;c[p+(d<<2)>>2]=c[g>>2];g=a<<1;j=d<<1;h[k+(j<<3)>>3]=+h[n+(g<<3)>>3];h[k+((j|1)<<3)>>3]=+h[n+((g|1)<<3)>>3];a=a+1|0;d=d+1|0}g=u+(l<<2)|0;j=o+(b<<2)|0;f=c[u+(b<<2)>>2]|0;while(1){if((f|0)>=(c[g>>2]|0))break;a=c[v+(f<<2)>>2]|0;e=c[s+(a<<2)>>2]|0;x=f<<1;b=m+((x|1)<<3)|0;i=+h[m+(x<<3)>>3];if((e|0)<(c[j>>2]|0)){c[p+(d<<2)>>2]=a;x=d<<1;h[k+(x<<3)>>3]=i;h[k+((x|1)<<3)>>3]=+h[b>>3];d=d+1|0}else{x=e<<1;e=k+(x<<3)|0;h[e>>3]=i+ +h[e>>3];x=k+((x|1)<<3)|0;h[x>>3]=+h[b>>3]+ +h[x>>3]}f=f+1|0}c[o+(l<<2)>>2]=d;b=l}}case 4:{n=c[d>>2]|0;m=c[a>>2]|0;k=c[e>>2]|0;b=0;d=0;while(1){if((b|0)>=(q|0))break a;l=b+1|0;e=r+(l<<2)|0;a=c[r+(b<<2)>>2]|0;while(1){if((a|0)>=(c[e>>2]|0))break;x=t+(a<<2)|0;c[s+(c[x>>2]<<2)>>2]=d;c[p+(d<<2)>>2]=c[x>>2];c[k+(d<<2)>>2]=c[n+(a<<2)>>2];a=a+1|0;d=d+1|0}g=u+(l<<2)|0;j=o+(b<<2)|0;f=c[u+(b<<2)>>2]|0;while(1){if((f|0)>=(c[g>>2]|0))break;a=c[v+(f<<2)>>2]|0;e=c[s+(a<<2)>>2]|0;b=m+(f<<2)|0;if((e|0)<(c[j>>2]|0)){c[p+(d<<2)>>2]=a;c[k+(d<<2)>>2]=c[b>>2];d=d+1|0}else{x=k+(e<<2)|0;c[x>>2]=(c[x>>2]|0)+(c[b>>2]|0)}f=f+1|0}c[o+(l<<2)>>2]=d;b=l}}case 8:{d=0;b=0;while(1){if((b|0)>=(q|0))break a;j=b+1|0;e=r+(j<<2)|0;a=c[r+(b<<2)>>2]|0;while(1){if((a|0)>=(c[e>>2]|0))break;x=t+(a<<2)|0;c[s+(c[x>>2]<<2)>>2]=d;c[p+(d<<2)>>2]=c[x>>2];d=d+1|0;a=a+1|0}f=u+(j<<2)|0;g=o+(b<<2)|0;e=c[u+(b<<2)>>2]|0;while(1){if((e|0)>=(c[f>>2]|0))break;a=c[v+(e<<2)>>2]|0;if((c[s+(a<<2)>>2]|0)<(c[g>>2]|0)){c[p+(d<<2)>>2]=a;d=d+1|0}e=e+1|0}c[o+(j<<2)>>2]=d;b=j}}default:d=0}while(0);c[w+8>>2]=d;l6(s);return w|0}return 0}function ww(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;a=qw(a,b,d,e,f)|0;if((c|0)>0)rw(a,c)|0;return a|0}function xw(a,b){a=a|0;b=b|0;var d=0;if(!(tw(a,b)|0)){b=mw(a)|0;if(!b)b=0;else{d=vw(a,b)|0;nw(b);b=d+36|0;c[b>>2]=c[b>>2]|3;b=d;d=5}}else{b=uw(a)|0;d=5}if((d|0)==5)b=yw(b)|0;return b|0}function yw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(!a)a=0;else{k=c[a+20>>2]|0;l=c[a+24>>2]|0;d=c[k>>2]|0;m=a+8|0;b=a+28|0;b:do switch(c[a+16>>2]|0){case 1:{j=c[b>>2]|0;i=0;b=0;while(1){if((i|0)>=(c[a>>2]|0))break b;f=i+1|0;g=k+(f<<2)|0;while(1){e=c[g>>2]|0;if((d|0)>=(e|0))break;e=c[l+(d<<2)>>2]|0;if((e|0)!=(i|0)){c[l+(b<<2)>>2]=e;h[j+(b<<3)>>3]=+h[j+(d<<3)>>3];b=b+1|0}d=d+1|0}c[g>>2]=b;i=f;d=e}}case 2:{j=c[b>>2]|0;i=0;b=0;while(1){if((i|0)>=(c[a>>2]|0))break b;f=i+1|0;g=k+(f<<2)|0;while(1){e=c[g>>2]|0;if((d|0)>=(e|0))break;e=c[l+(d<<2)>>2]|0;if((e|0)!=(i|0)){c[l+(b<<2)>>2]=e;n=d<<1;e=b<<1;h[j+(e<<3)>>3]=+h[j+(n<<3)>>3];h[j+((e|1)<<3)>>3]=+h[j+((n|1)<<3)>>3];b=b+1|0}d=d+1|0}c[g>>2]=b;i=f;d=e}}case 4:{j=c[b>>2]|0;i=0;b=0;while(1){if((i|0)>=(c[a>>2]|0))break b;f=i+1|0;g=k+(f<<2)|0;while(1){e=c[g>>2]|0;if((d|0)>=(e|0))break;e=c[l+(d<<2)>>2]|0;if((e|0)!=(i|0)){c[l+(b<<2)>>2]=e;c[j+(b<<2)>>2]=c[j+(d<<2)>>2];b=b+1|0}d=d+1|0}c[g>>2]=b;i=f;d=e}}case 8:{i=0;b=0;while(1){if((i|0)>=(c[a>>2]|0))break b;f=i+1|0;g=k+(f<<2)|0;while(1){e=c[g>>2]|0;if((d|0)>=(e|0))break;e=c[l+(d<<2)>>2]|0;if((e|0)!=(i|0)){c[l+(b<<2)>>2]=e;b=b+1|0}d=d+1|0}c[g>>2]=b;i=f;d=e}}default:{a=0;break a}}while(0);c[m>>2]=b}while(0);return a|0}function zw(a){a=a|0;if((c[a+32>>2]|0)==2)return Aw(c[a+8>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[a+20>>2]|0,c[a+24>>2]|0,c[a+28>>2]|0,c[a+16>>2]|0,c[a+40>>2]|0)|0;else Aa(95401,95244,803,95427);return 0}function Aw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Bw(a,b,c,d,e,f,g,h,1)|0}function Bw(a,b,d,e,f,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if(!((a|0)>-1&((b|0)>0&(d|0)>0)))Aa(95463,95244,843,95489);j=ww(b,d,a,i,j,1)|0;if(!j)Aa(95534,95244,847,95489);v=c[j+20>>2]|0;u=c[j+24>>2]|0;m=b+1|0;l=0;while(1){if((l|0)==(m|0))break;c[v+(l<<2)>>2]=0;l=l+1|0}n=j+28|0;a:do switch(i|0){case 1:{n=c[n>>2]|0;l=0;while(1){if((l|0)>=(a|0)){r=0;break}m=c[e+(l<<2)>>2]|0;if(!((m|0)>-1&(m|0)<(b|0))){t=13;break}s=c[f+(l<<2)>>2]|0;if(!((s|0)>-1&(s|0)<(d|0))){t=13;break}s=v+(m+1<<2)|0;c[s>>2]=(c[s>>2]|0)+1;l=l+1|0}if((t|0)==13)Aa(138697,95244,862,95489);while(1){if((r|0)==(b|0)){l=0;break}t=r+1|0;d=v+(t<<2)|0;c[d>>2]=(c[d>>2]|0)+(c[v+(r<<2)>>2]|0);r=t}while(1){if((l|0)==(a|0))break;s=v+(c[e+(l<<2)>>2]<<2)|0;t=c[s>>2]|0;h[n+(t<<3)>>3]=+h[g+(l<<3)>>3];d=c[f+(l<<2)>>2]|0;c[s>>2]=t+1;c[u+(t<<2)>>2]=d;l=l+1|0}while(1){if((b|0)<=0)break a;f=b+-1|0;c[v+(b<<2)>>2]=c[v+(f<<2)>>2];b=f}}case 2:{n=c[n>>2]|0;l=0;while(1){if((l|0)>=(a|0)){s=0;break}m=c[e+(l<<2)>>2]|0;if(!((m|0)>-1&(m|0)<(b|0))){t=25;break}r=c[f+(l<<2)>>2]|0;if(!((r|0)>-1&(r|0)<(d|0))){t=25;break}r=v+(m+1<<2)|0;c[r>>2]=(c[r>>2]|0)+1;l=l+1|0}if((t|0)==25)Aa(138697,95244,880,95489);while(1){if((s|0)==(b|0)){l=0;break}t=s+1|0;d=v+(t<<2)|0;c[d>>2]=(c[d>>2]|0)+(c[v+(s<<2)>>2]|0);s=t}while(1){if((l|0)==(a|0))break;s=v+(c[e+(l<<2)>>2]<<2)|0;t=c[s>>2]|0;d=t<<1;h[n+(d<<3)>>3]=+h[g>>3];h[n+((d|1)<<3)>>3]=+h[g+8>>3];d=c[f+(l<<2)>>2]|0;c[s>>2]=t+1;c[u+(t<<2)>>2]=d;g=g+16|0;l=l+1|0}while(1){if((b|0)<=0)break a;f=b+-1|0;c[v+(b<<2)>>2]=c[v+(f<<2)>>2];b=f}}case 4:{n=c[n>>2]|0;l=0;while(1){if((l|0)>=(a|0)){q=0;break}m=c[e+(l<<2)>>2]|0;if(!((m|0)>-1&(m|0)<(b|0))){t=37;break}s=c[f+(l<<2)>>2]|0;if(!((s|0)>-1&(s|0)<(d|0))){t=37;break}s=v+(m+1<<2)|0;c[s>>2]=(c[s>>2]|0)+1;l=l+1|0}if((t|0)==37)Aa(138697,95244,899,95489);while(1){if((q|0)==(b|0)){l=0;break}t=q+1|0;d=v+(t<<2)|0;c[d>>2]=(c[d>>2]|0)+(c[v+(q<<2)>>2]|0);q=t}while(1){if((l|0)==(a|0))break;s=e+(l<<2)|0;c[n+(c[v+(c[s>>2]<<2)>>2]<<2)>>2]=c[g+(l<<2)>>2];d=c[f+(l<<2)>>2]|0;s=v+(c[s>>2]<<2)|0;t=c[s>>2]|0;c[s>>2]=t+1;c[u+(t<<2)>>2]=d;l=l+1|0}while(1){if((b|0)<=0)break a;f=b+-1|0;c[v+(b<<2)>>2]=c[v+(f<<2)>>2];b=f}}case 8:{g=0;while(1){if((g|0)>=(a|0)){o=0;break}l=c[e+(g<<2)>>2]|0;if(!((l|0)>-1&(l|0)<(b|0))){t=48;break}s=c[f+(g<<2)>>2]|0;if(!((s|0)>-1&(s|0)<(d|0))){t=48;break}s=v+(l+1<<2)|0;c[s>>2]=(c[s>>2]|0)+1;g=g+1|0}if((t|0)==48)Aa(138697,95244,915,95489);while(1){if((o|0)==(b|0)){g=0;break}t=o+1|0;d=v+(t<<2)|0;c[d>>2]=(c[d>>2]|0)+(c[v+(o<<2)>>2]|0);o=t}while(1){if((g|0)==(a|0))break;d=c[f+(g<<2)>>2]|0;s=v+(c[e+(g<<2)>>2]<<2)|0;t=c[s>>2]|0;c[s>>2]=t+1;c[u+(t<<2)>>2]=d;g=g+1|0}while(1){if((b|0)<=0)break a;f=b+-1|0;c[v+(b<<2)>>2]=c[v+(f<<2)>>2];b=f}}case 16:{l=0;while(1){if((l|0)>=(a|0)){p=0;break}m=c[e+(l<<2)>>2]|0;if(!((m|0)>-1&(m|0)<(b|0))){t=59;break}s=c[f+(l<<2)>>2]|0;if(!((s|0)>-1&(s|0)<(d|0))){t=59;break}s=v+(m+1<<2)|0;c[s>>2]=(c[s>>2]|0)+1;l=l+1|0}if((t|0)==59)Aa(138697,95244,930,95489);while(1){if((p|0)==(b|0))break;t=p+1|0;d=v+(t<<2)|0;c[d>>2]=(c[d>>2]|0)+(c[v+(p<<2)>>2]|0);p=t}B6(c[n>>2]|0,g|0,S(c[j+40>>2]|0,a)|0)|0;g=0;while(1){if((g|0)==(a|0))break;d=c[f+(g<<2)>>2]|0;s=v+(c[e+(g<<2)>>2]<<2)|0;t=c[s>>2]|0;c[s>>2]=t+1;c[u+(t<<2)>>2]=d;g=g+1|0}while(1){if((b|0)<=0)break a;f=b+-1|0;c[v+(b<<2)>>2]=c[v+(f<<2)>>2];b=f}}default:Aa(138697,95244,944,95489)}while(0);c[v>>2]=0;c[j+8>>2]=a;if(k)j=Cw(j,k)|0;return j|0}function Cw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=c[a+20>>2]|0;w=c[a+24>>2]|0;e=c[a+16>>2]|0;s=c[a+4>>2]|0;a:do if(b){r=s<<2;u=IK(r)|0;d=0;while(1){if((d|0)>=(s|0))break;c[u+(d<<2)>>2]=-1;d=d+1|0}d=a+28|0;b:do switch(e|0){case 1:{k=c[d>>2]|0;f=0;e=c[v>>2]|0;d=0;c:while(1){if((d|0)>=(c[a>>2]|0)){x=f;y=u;break b}m=d+1|0;n=v+(m<<2)|0;j=v+(d<<2)|0;d=f;while(1){b=c[n>>2]|0;if((e|0)>=(b|0))break;b=w+(e<<2)|0;f=c[b>>2]|0;g=c[u+(f<<2)>>2]|0;i=k+(e<<3)|0;if((g|0)<(c[j>>2]|0)){c[w+(d<<2)>>2]=f;h[k+(d<<3)>>3]=+h[i>>3];c[u+(c[b>>2]<<2)>>2]=d;d=d+1|0}else{if((c[w+(g<<2)>>2]|0)!=(f|0))break c;t=k+(g<<3)|0;h[t>>3]=+h[i>>3]+ +h[t>>3]}e=e+1|0}c[n>>2]=d;f=d;e=b;d=m}Aa(95536,95244,1792,95561);break}case 2:{t=c[d>>2]|0;switch(b|0){case 1:{b=c[v>>2]|0;e=0;d=0;d:while(1){if((e|0)>=(c[a>>2]|0)){x=d;y=u;break b}m=e+1|0;n=v+(m<<2)|0;k=v+(e<<2)|0;while(1){e=c[n>>2]|0;if((b|0)>=(e|0))break;e=w+(b<<2)|0;f=c[e>>2]|0;g=c[u+(f<<2)>>2]|0;j=b<<1;i=t+(j<<3)|0;j=t+((j|1)<<3)|0;if((g|0)<(c[k>>2]|0)){c[w+(d<<2)>>2]=f;s=d<<1;h[t+(s<<3)>>3]=+h[i>>3];h[t+((s|1)<<3)>>3]=+h[j>>3];c[u+(c[e>>2]<<2)>>2]=d;d=d+1|0}else{if((c[w+(g<<2)>>2]|0)!=(f|0))break d;s=g<<1;r=t+(s<<3)|0;h[r>>3]=+h[i>>3]+ +h[r>>3];s=t+((s|1)<<3)|0;h[s>>3]=+h[j>>3]+ +h[s>>3]}b=b+1|0}c[n>>2]=d;b=e;e=m}Aa(95536,95244,1815,95561);break}case 4:{b=c[v>>2]|0;e=0;d=0;e:while(1){if((e|0)>=(c[a>>2]|0)){x=d;y=u;break b}m=e+1|0;n=v+(m<<2)|0;k=v+(e<<2)|0;while(1){e=c[n>>2]|0;if((b|0)>=(e|0))break;i=w+(b<<2)|0;j=c[i>>2]|0;e=c[u+(j<<2)>>2]|0;g=b<<1;f=t+(g<<3)|0;g=t+((g|1)<<3)|0;if((e|0)<(c[k>>2]|0)){c[w+(d<<2)>>2]=j;s=d<<1;h[t+(s<<3)>>3]=+h[f>>3];h[t+((s|1)<<3)>>3]=+h[g>>3];c[u+(c[i>>2]<<2)>>2]=d;d=d+1|0}else{if((c[w+(e<<2)>>2]|0)!=(j|0))break e;s=e<<1;r=t+(s<<3)|0;h[r>>3]=+h[f>>3]+ +h[r>>3];h[t+((s|1)<<3)>>3]=+h[g>>3]}b=b+1|0}c[n>>2]=d;b=e;e=m}Aa(95536,95244,1835,95561);break}default:{p=t+8|0;switch(b|0){case 2:break;case 3:{f=~~+h[p>>3];i=c[a>>2]|0;d=f;e=0;g=0;f:while(1){if((g|0)>=(i|0))break;j=g+1|0;k=c[v+(j<<2)>>2]|0;b=d;d=c[v+(g<<2)>>2]|0;while(1){if((d|0)>=(k|0)){d=b;g=j;continue f}q=~~+h[t+(e<<1<<3)>>3];b=(b|0)>(q|0)?b:q;f=(f|0)>(q|0)?f:q;e=e+1|0;d=d+1|0}}l6(u);e=d-f+1|0;o=IK(S(e,r)|0)|0;e=S(e,s)|0;d=0;while(1){if((d|0)>=(e|0))break;c[o+(d<<2)>>2]=-1;d=d+1|0}d=0;b=c[v>>2]|0;e=0;g:while(1){if((e|0)>=(c[a>>2]|0)){x=d;y=o;break b}m=e+1|0;n=v+(m<<2)|0;k=v+(e<<2)|0;while(1){e=c[n>>2]|0;if((b|0)>=(e|0))break;e=c[w+(b<<2)>>2]|0;j=b<<1;l=+h[t+(j<<3)>>3];g=o+((S(~~l-f|0,s)|0)+e<<2)|0;i=c[g>>2]|0;j=t+((j|1)<<3)|0;if((i|0)<(c[k>>2]|0)){c[w+(d<<2)>>2]=e;q=d<<1;h[t+(q<<3)>>3]=l;h[t+((q|1)<<3)>>3]=+h[j>>3];c[g>>2]=d;d=d+1|0}else{if((c[w+(i<<2)>>2]|0)!=(e|0))break g;q=i<<1;h[t+(q<<3)>>3]=l;q=t+((q|1)<<3)|0;h[q>>3]=+h[j>>3]+ +h[q>>3]}b=b+1|0}c[n>>2]=d;b=e;e=m}Aa(95614,95244,1905,95561);break}default:{x=0;y=u;break b}}q=~~+h[p>>3];i=c[a>>2]|0;e=q;g=0;d=0;h:while(1){if((g|0)>=(i|0))break;j=g+1|0;k=c[v+(j<<2)>>2]|0;f=d;b=q;d=c[v+(g<<2)>>2]|0;while(1){if((d|0)>=(k|0)){q=b;g=j;d=f;continue h}q=~~+h[t+((f<<1|1)<<3)>>3];f=f+1|0;e=(e|0)>(q|0)?e:q;b=(b|0)<(q|0)?b:q;d=d+1|0}}l6(u);p=e-q+1|0;o=IK(S(p,r)|0)|0;p=S(p,s)|0;d=0;while(1){if((d|0)>=(p|0))break;c[o+(d<<2)>>2]=-1;d=d+1|0}d=0;b=c[v>>2]|0;e=0;i:while(1){if((e|0)>=(c[a>>2]|0)){x=d;y=o;break b}m=e+1|0;n=v+(m<<2)|0;k=v+(e<<2)|0;while(1){e=c[n>>2]|0;if((b|0)>=(e|0))break;e=c[w+(b<<2)>>2]|0;j=b<<1;l=+h[t+((j|1)<<3)>>3];f=(S(~~l-q|0,s)|0)+e|0;g=o+(f<<2)|0;i=c[g>>2]|0;j=t+(j<<3)|0;if((i|0)<(c[k>>2]|0)){c[w+(d<<2)>>2]=e;u=d<<1;h[t+(u<<3)>>3]=+h[j>>3];h[t+((u|1)<<3)>>3]=l;c[g>>2]=d;d=d+1|0}else{if((f|0)>=(p|0)){d=56;break i}if((c[w+(i<<2)>>2]|0)!=(e|0)){d=58;break i}u=i<<1;r=t+(u<<3)|0;h[r>>3]=+h[j>>3]+ +h[r>>3];h[t+((u|1)<<3)>>3]=l}b=b+1|0}c[n>>2]=d;b=e;e=m}if((d|0)==56)Aa(95593,95244,1869,95561);else if((d|0)==58)Aa(95614,95244,1870,95561)}}break}case 4:{k=c[d>>2]|0;e=0;d=0;b=c[v>>2]|0;j:while(1){if((e|0)>=(c[a>>2]|0)){x=d;y=u;break b}m=e+1|0;n=v+(m<<2)|0;j=v+(e<<2)|0;while(1){f=c[n>>2]|0;if((b|0)>=(f|0))break;e=w+(b<<2)|0;f=c[e>>2]|0;g=c[u+(f<<2)>>2]|0;i=k+(b<<2)|0;if((g|0)<(c[j>>2]|0)){c[w+(d<<2)>>2]=f;c[k+(d<<2)>>2]=c[i>>2];c[u+(c[e>>2]<<2)>>2]=d;d=d+1|0}else{if((c[w+(g<<2)>>2]|0)!=(f|0))break j;t=k+(g<<2)|0;c[t>>2]=(c[t>>2]|0)+(c[i>>2]|0)}b=b+1|0}c[n>>2]=d;e=m;b=f}Aa(95536,95244,1929,95561);break}case 8:{e=0;d=0;b=c[v>>2]|0;k:while(1){if((e|0)>=(c[a>>2]|0)){x=d;y=u;break b}j=e+1|0;k=v+(j<<2)|0;i=v+(e<<2)|0;while(1){f=c[k>>2]|0;if((b|0)>=(f|0))break;e=w+(b<<2)|0;f=c[e>>2]|0;g=c[u+(f<<2)>>2]|0;if((g|0)>=(c[i>>2]|0)){if((c[w+(g<<2)>>2]|0)!=(f|0))break k}else{c[w+(d<<2)>>2]=f;c[u+(c[e>>2]<<2)>>2]=d;d=d+1|0}b=b+1|0}c[k>>2]=d;e=j;b=f}Aa(95536,95244,1948,95561);break}default:{a=0;break a}}while(0);c[a+8>>2]=x;l6(y)}while(0);return a|0}function Dw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;if(!d)Ew(a,c,e,g,b,f);else Fw(a,c,e,g,b,f);return}function Ew(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;if((c[a+32>>2]|0)!=1)Aa(95220,95244,1121,95784);if((c[a+16>>2]|0)!=1)Aa(95665,95244,1122,95784);p=c[a+28>>2]|0;q=c[a+20>>2]|0;r=c[a+24>>2]|0;s=c[a>>2]|0;n=c[a+4>>2]|0;a=c[d>>2]|0;i=(a|0)!=0;o=(g|0)!=0;if(!f){if(!i)a=IK(S(e<<3,s)|0)|0;g=0;a:while(1){if((g|0)>=(s|0))break;m=S(g,e)|0;i=0;while(1){if((i|0)>=(e|0))break;h[a+(i+m<<3)>>3]=0.0;i=i+1|0}k=g+1|0;l=c[q+(k<<2)>>2]|0;i=c[q+(g<<2)>>2]|0;while(1){if((i|0)>=(l|0)){g=k;continue a}f=p+(i<<3)|0;j=r+(i<<2)|0;g=0;while(1){if((g|0)>=(e|0))break;t=+h[f>>3]*+h[b+((S(c[j>>2]|0,e)|0)+g<<3)>>3];n=a+(g+m<<3)|0;h[n>>3]=+h[n>>3]+t;g=g+1|0}i=i+1|0}}if(o)Hw(a,s,e)}else{if(!i)a=IK(S(e<<3,n)|0)|0;g=S(n,e)|0;i=0;while(1){if((i|0)>=(g|0)){i=0;break}h[a+(i<<3)>>3]=0.0;i=i+1|0}b:while(1){if((i|0)>=(s|0))break;k=i+1|0;l=c[q+(k<<2)>>2]|0;m=S(i,e)|0;i=c[q+(i<<2)>>2]|0;while(1){if((i|0)>=(l|0)){i=k;continue b}f=p+(i<<3)|0;j=r+(i<<2)|0;g=0;while(1){if((g|0)>=(e|0))break;u=a+((S(c[j>>2]|0,e)|0)+g<<3)|0;h[u>>3]=+h[f>>3]*+h[b+(g+m<<3)>>3]+ +h[u>>3];g=g+1|0}i=i+1|0}}if(o)Hw(a,n,e)}c[d>>2]=a;return}function Fw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;if((c[a+32>>2]|0)!=1)Aa(95220,95244,1163,95636);if((c[a+16>>2]|0)!=1)Aa(95665,95244,1164,95636);h=c[d>>2]|0;k=c[a>>2]|0;m=c[a+4>>2]|0;i=(h|0)!=0;j=(g|0)!=0;if(!f){if(!i)h=IK(S(e<<3,k)|0)|0;g=0;while(1){if((g|0)>=(e|0))break;c[n>>2]=h+((S(g,k)|0)<<3);Gw(a,b+((S(g,m)|0)<<3)|0,n,0);g=g+1|0}if(!j)Hw(h,e,k)}else{if(!i)h=IK(S(e<<3,m)|0)|0;g=0;while(1){if((g|0)>=(e|0))break;c[n>>2]=h+((S(g,m)|0)<<3);Gw(a,b+((S(g,k)|0)<<3)|0,n,f);g=g+1|0}if(!j)Hw(h,e,m)}c[d>>2]=h;l=o;return}function Gw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;if((c[a+32>>2]|0)!=1)Aa(95220,95244,1222,95693);n=c[a+16>>2]|0;switch(n|0){case 4:case 1:break;default:Aa(95722,95244,1223,95693)}r=c[a+20>>2]|0;p=c[a+24>>2]|0;s=c[a>>2]|0;o=c[a+4>>2]|0;i=c[d>>2]|0;l=s<<3;m=(i|0)!=0;e=(e|0)!=0;j=(b|0)!=0;k=o<<3;q=c[a+28>>2]|0;a:do switch(n|0){case 1:if(j){if(!e){if(m)g=i;else g=IK(l)|0;e=0;b:while(1){if((e|0)>=(s|0))break a;a=g+(e<<3)|0;h[a>>3]=0.0;i=e+1|0;j=c[r+(i<<2)>>2]|0;e=c[r+(e<<2)>>2]|0;f=0.0;while(1){if((e|0)>=(j|0)){e=i;continue b}t=f+ +h[q+(e<<3)>>3]*+h[b+(c[p+(e<<2)>>2]<<3)>>3];h[a>>3]=t;e=e+1|0;f=t}}}if(m)g=i;else g=IK(k)|0;e=0;while(1){if((e|0)>=(o|0)){e=0;break}h[g+(e<<3)>>3]=0.0;e=e+1|0}c:while(1){if((e|0)>=(s|0))break a;a=e+1|0;i=c[r+(a<<2)>>2]|0;j=b+(e<<3)|0;e=c[r+(e<<2)>>2]|0;while(1){if((e|0)>=(i|0)){e=a;continue c}o=g+(c[p+(e<<2)>>2]<<3)|0;h[o>>3]=+h[q+(e<<3)>>3]*+h[j>>3]+ +h[o>>3];e=e+1|0}}}else{if(!e){if(m)g=i;else g=IK(l)|0;e=0;d:while(1){if((e|0)>=(s|0))break a;a=g+(e<<3)|0;h[a>>3]=0.0;i=e+1|0;j=c[r+(i<<2)>>2]|0;e=c[r+(e<<2)>>2]|0;f=0.0;while(1){if((e|0)>=(j|0)){e=i;continue d}t=+h[q+(e<<3)>>3]+f;h[a>>3]=t;e=e+1|0;f=t}}}if(!m)i=IK(k)|0;e=0;while(1){if((e|0)>=(o|0)){e=0;break}h[i+(e<<3)>>3]=0.0;e=e+1|0}e:while(1){if((e|0)>=(s|0)){g=i;break a}g=e+1|0;a=c[r+(g<<2)>>2]|0;e=c[r+(e<<2)>>2]|0;while(1){if((e|0)>=(a|0)){e=g;continue e}b=i+(c[p+(e<<2)>>2]<<3)|0;h[b>>3]=+h[q+(e<<3)>>3]+ +h[b>>3];e=e+1|0}}}case 4:if(j){if(!e){if(m)g=i;else g=IK(l)|0;e=0;f:while(1){if((e|0)>=(s|0))break a;a=g+(e<<3)|0;h[a>>3]=0.0;i=e+1|0;j=c[r+(i<<2)>>2]|0;e=c[r+(e<<2)>>2]|0;f=0.0;while(1){if((e|0)>=(j|0)){e=i;continue f}t=f+ +(c[q+(e<<2)>>2]|0)*+h[b+(c[p+(e<<2)>>2]<<3)>>3];h[a>>3]=t;e=e+1|0;f=t}}}if(m)g=i;else g=IK(k)|0;e=0;while(1){if((e|0)>=(o|0)){e=0;break}h[g+(e<<3)>>3]=0.0;e=e+1|0}g:while(1){if((e|0)>=(s|0))break a;a=e+1|0;i=c[r+(a<<2)>>2]|0;j=b+(e<<3)|0;e=c[r+(e<<2)>>2]|0;while(1){if((e|0)>=(i|0)){e=a;continue g}o=g+(c[p+(e<<2)>>2]<<3)|0;h[o>>3]=+(c[q+(e<<2)>>2]|0)*+h[j>>3]+ +h[o>>3];e=e+1|0}}}else{if(!e){if(m)g=i;else g=IK(l)|0;e=0;h:while(1){if((e|0)>=(s|0))break a;a=g+(e<<3)|0;h[a>>3]=0.0;i=e+1|0;j=c[r+(i<<2)>>2]|0;e=c[r+(e<<2)>>2]|0;f=0.0;while(1){if((e|0)>=(j|0)){e=i;continue h}t=f+ +(c[q+(e<<2)>>2]|0);h[a>>3]=t;e=e+1|0;f=t}}}if(!m)i=IK(k)|0;e=0;while(1){if((e|0)>=(o|0)){e=0;break}h[i+(e<<3)>>3]=0.0;e=e+1|0}i:while(1){if((e|0)>=(s|0)){g=i;break a}g=e+1|0;a=c[r+(g<<2)>>2]|0;e=c[r+(e<<2)>>2]|0;while(1){if((e|0)>=(a|0)){e=g;continue i}b=i+(c[p+(e<<2)>>2]<<3)|0;h[b>>3]=+(c[q+(e<<2)>>2]|0)+ +h[b>>3];e=e+1|0}}}default:Aa(138697,95244,1315,95693)}while(0);c[d>>2]=g;return}function Hw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=S(b<<3,c)|0;f=IK(d)|0;B6(f|0,a|0,d|0)|0;d=0;while(1){if((d|0)>=(b|0))break;g=S(d,c)|0;e=0;while(1){if((e|0)>=(c|0))break;h[a+((S(e,b)|0)+d<<3)>>3]=+h[f+(e+g<<3)>>3];e=e+1|0}d=d+1|0}l6(f);return}function Iw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;z=c[a+20>>2]|0;A=c[a+24>>2]|0;B=c[b+20>>2]|0;C=c[b+24>>2]|0;y=c[a+32>>2]|0;if(!((y|0)==1?(y|0)==(c[b+32>>2]|0):0))Aa(95306,95244,1408,95813);y=c[a>>2]|0;if(((c[a+4>>2]|0)==(c[b>>2]|0)?(n=c[a+16>>2]|0,(n|0)==(c[b+16>>2]|0)):0)?(m=b+4|0,D=IK(c[m>>2]<<2)|0,(D|0)!=0):0){d=0;while(1){if((d|0)>=(c[m>>2]|0)){e=0;d=0;break}c[D+(d<<2)>>2]=-1;d=d+1|0}a:while(1){if((d|0)>=(y|0))break;j=d+1|0;k=z+(j<<2)|0;l=-2-d|0;i=c[z+(d<<2)>>2]|0;while(1){if((i|0)>=(c[k>>2]|0)){d=j;continue a}f=c[A+(i<<2)>>2]|0;g=B+(f+1<<2)|0;f=c[B+(f<<2)>>2]|0;while(1){if((f|0)>=(c[g>>2]|0))break;d=D+(c[C+(f<<2)>>2]<<2)|0;if((c[d>>2]|0)!=(l|0)){c[d>>2]=l;e=e+1|0}f=f+1|0}i=i+1|0}}d=ow(y,c[m>>2]|0,e,n,1)|0;b:do if(!d)d=0;else{v=c[d+20>>2]|0;w=c[d+24>>2]|0;f=b+28|0;g=d+28|0;e=a+28|0;c:do switch(n|0){case 1:{s=c[e>>2]|0;r=c[f>>2]|0;n=c[g>>2]|0;c[v>>2]=0;e=0;f=0;d:while(1){if((e|0)>=(y|0)){x=f;break c}o=e+1|0;p=z+(o<<2)|0;q=v+(e<<2)|0;a=c[z+(e<<2)>>2]|0;while(1){if((a|0)>=(c[p>>2]|0))break;l=c[A+(a<<2)>>2]|0;m=B+(l+1<<2)|0;b=s+(a<<3)|0;l=c[B+(l<<2)>>2]|0;while(1){if((l|0)>=(c[m>>2]|0))break;e=C+(l<<2)|0;g=c[e>>2]|0;i=D+(g<<2)|0;j=c[i>>2]|0;k=r+(l<<3)|0;if((j|0)<(c[q>>2]|0)){c[i>>2]=f;c[w+(f<<2)>>2]=c[e>>2];h[n+(f<<3)>>3]=+h[b>>3]*+h[k>>3];f=f+1|0}else{if((c[w+(j<<2)>>2]|0)!=(g|0))break d;u=n+(j<<3)|0;h[u>>3]=+h[u>>3]+ +h[b>>3]*+h[k>>3]}l=l+1|0}a=a+1|0}c[v+(o<<2)>>2]=f;e=o}Aa(95835,95244,1468,95813);break}case 2:{u=c[e>>2]|0;t=c[f>>2]|0;p=c[g>>2]|0;c[v>>2]=0;e=0;f=0;e:while(1){if((e|0)>=(y|0)){x=f;break c}q=e+1|0;r=z+(q<<2)|0;s=v+(e<<2)|0;o=c[z+(e<<2)>>2]|0;while(1){if((o|0)>=(c[r>>2]|0))break;m=c[A+(o<<2)>>2]|0;b=B+(m+1<<2)|0;n=o<<1;a=u+(n<<3)|0;n=u+((n|1)<<3)|0;m=c[B+(m<<2)>>2]|0;while(1){if((m|0)>=(c[b>>2]|0))break;e=C+(m<<2)|0;g=c[e>>2]|0;i=D+(g<<2)|0;j=c[i>>2]|0;l=m<<1;k=t+(l<<3)|0;l=t+((l|1)<<3)|0;if((j|0)<(c[s>>2]|0)){c[i>>2]=f;c[w+(f<<2)>>2]=c[e>>2];j=f<<1;h[p+(j<<3)>>3]=+h[a>>3]*+h[k>>3]-+h[n>>3]*+h[l>>3];h[p+((j|1)<<3)>>3]=+h[a>>3]*+h[l>>3]+ +h[n>>3]*+h[k>>3];f=f+1|0}else{if((c[w+(j<<2)>>2]|0)!=(g|0))break e;j=j<<1;i=p+(j<<3)|0;h[i>>3]=+h[i>>3]+(+h[a>>3]*+h[k>>3]-+h[n>>3]*+h[l>>3]);j=p+((j|1)<<3)|0;h[j>>3]=+h[a>>3]*+h[l>>3]+ +h[n>>3]*+h[k>>3]+ +h[j>>3]}m=m+1|0}o=o+1|0}c[v+(q<<2)>>2]=f;e=q}Aa(95835,95244,1497,95813);break}case 4:{s=c[e>>2]|0;r=c[f>>2]|0;n=c[g>>2]|0;c[v>>2]=0;e=0;f=0;f:while(1){if((f|0)>=(y|0)){x=e;break c}o=f+1|0;p=z+(o<<2)|0;q=v+(f<<2)|0;m=c[z+(f<<2)>>2]|0;while(1){if((m|0)>=(c[p>>2]|0))break;l=c[A+(m<<2)>>2]|0;b=B+(l+1<<2)|0;a=s+(m<<2)|0;l=c[B+(l<<2)>>2]|0;while(1){if((l|0)>=(c[b>>2]|0))break;f=C+(l<<2)|0;g=c[f>>2]|0;i=D+(g<<2)|0;j=c[i>>2]|0;k=r+(l<<2)|0;if((j|0)<(c[q>>2]|0)){c[i>>2]=e;c[w+(e<<2)>>2]=c[f>>2];c[n+(e<<2)>>2]=S(c[k>>2]|0,c[a>>2]|0)|0;e=e+1|0}else{if((c[w+(j<<2)>>2]|0)!=(g|0))break f;t=S(c[k>>2]|0,c[a>>2]|0)|0;u=n+(j<<2)|0;c[u>>2]=(c[u>>2]|0)+t}l=l+1|0}m=m+1|0}c[v+(o<<2)>>2]=e;f=o}Aa(95835,95244,1523,95813);break}case 8:{c[v>>2]=0;e=0;f=0;g:while(1){if((f|0)>=(y|0)){x=e;break c}b=f+1|0;a=z+(b<<2)|0;n=v+(f<<2)|0;l=c[z+(f<<2)>>2]|0;while(1){if((l|0)>=(c[a>>2]|0))break;k=c[A+(l<<2)>>2]|0;m=B+(k+1<<2)|0;k=c[B+(k<<2)>>2]|0;while(1){if((k|0)>=(c[m>>2]|0))break;f=C+(k<<2)|0;g=c[f>>2]|0;i=D+(g<<2)|0;j=c[i>>2]|0;if((j|0)>=(c[n>>2]|0)){if((c[w+(j<<2)>>2]|0)!=(g|0))break g}else{c[i>>2]=e;c[w+(e<<2)>>2]=c[f>>2];e=e+1|0}k=k+1|0}l=l+1|0}c[v+(b<<2)>>2]=e;f=b}Aa(95835,95244,1543,95813);break}default:{nw(d);d=0;break b}}while(0);c[d+8>>2]=x}while(0);l6(D)}else d=0;return d|0}function Jw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,O=0.0;H=c[a+20>>2]|0;I=c[a+24>>2]|0;J=c[b+20>>2]|0;D=c[b+24>>2]|0;E=c[d+20>>2]|0;F=c[d+24>>2]|0;G=c[a+32>>2]|0;if(!((G|0)==1?(G|0)==(c[b+32>>2]|0):0))Aa(95306,95244,1574,95860);G=c[a>>2]|0;if(((((c[a+4>>2]|0)==(c[b>>2]|0)?(c[b+4>>2]|0)==(c[d>>2]|0):0)?(q=c[a+16>>2]|0,(q|0)==(c[b+16>>2]|0)):0)?(q|0)==(c[d+16>>2]|0):0)?(p=d+4|0,K=IK(c[p>>2]<<2)|0,(K|0)!=0):0){e=0;while(1){if((e|0)>=(c[p>>2]|0)){f=0;e=0;break}c[K+(e<<2)>>2]=-1;e=e+1|0}a:while(1){if((e|0)>=(G|0))break;m=e+1|0;n=H+(m<<2)|0;o=-2-e|0;l=c[H+(e<<2)>>2]|0;while(1){if((l|0)>=(c[n>>2]|0)){e=m;continue a}j=c[I+(l<<2)>>2]|0;k=J+(j+1<<2)|0;j=c[J+(j<<2)>>2]|0;while(1){if((j|0)>=(c[k>>2]|0))break;g=c[D+(j<<2)>>2]|0;i=E+(g+1<<2)|0;g=c[E+(g<<2)>>2]|0;while(1){if((g|0)>=(c[i>>2]|0))break;e=K+(c[F+(g<<2)>>2]<<2)|0;if((c[e>>2]|0)!=(o|0)){c[e>>2]=o;f=f+1|0}g=g+1|0}j=j+1|0}l=l+1|0}}e=ow(G,c[p>>2]|0,f,q,1)|0;b:do if(!e)e=0;else{A=c[e+20>>2]|0;B=c[e+24>>2]|0;g=b+28|0;f=a+28|0;j=e+28|0;i=d+28|0;c:do switch(q|0){case 1:{w=c[f>>2]|0;v=c[g>>2]|0;u=c[i>>2]|0;r=c[j>>2]|0;c[A>>2]=0;f=0;g=0;d:while(1){if((f|0)>=(G|0)){C=g;break c}s=f+1|0;t=H+(s<<2)|0;q=A+(f<<2)|0;d=c[H+(f<<2)>>2]|0;while(1){if((d|0)>=(c[t>>2]|0))break;p=c[I+(d<<2)>>2]|0;b=J+(p+1<<2)|0;a=w+(d<<3)|0;p=c[J+(p<<2)>>2]|0;while(1){if((p|0)>=(c[b>>2]|0))break;m=c[D+(p<<2)>>2]|0;n=E+(m+1<<2)|0;o=v+(p<<3)|0;m=c[E+(m<<2)>>2]|0;while(1){if((m|0)>=(c[n>>2]|0))break;f=F+(m<<2)|0;i=c[f>>2]|0;j=K+(i<<2)|0;k=c[j>>2]|0;l=u+(m<<3)|0;if((k|0)<(c[q>>2]|0)){c[j>>2]=g;c[B+(g<<2)>>2]=c[f>>2];h[r+(g<<3)>>3]=+h[a>>3]*+h[o>>3]*+h[l>>3];g=g+1|0}else{if((c[B+(k<<2)>>2]|0)!=(i|0))break d;z=r+(k<<3)|0;h[z>>3]=+h[z>>3]+ +h[a>>3]*+h[o>>3]*+h[l>>3]}m=m+1|0}p=p+1|0}d=d+1|0}c[A+(s<<2)>>2]=g;f=s}Aa(95883,95244,1642,95860);break}case 2:{z=c[f>>2]|0;y=c[g>>2]|0;x=c[i>>2]|0;t=c[j>>2]|0;c[A>>2]=0;f=0;g=0;e:while(1){if((g|0)>=(G|0)){C=f;break c}u=g+1|0;v=H+(u<<2)|0;w=A+(g<<2)|0;d=c[H+(g<<2)>>2]|0;while(1){if((d|0)>=(c[v>>2]|0))break;o=c[I+(d<<2)>>2]|0;q=J+(o+1<<2)|0;s=d<<1;r=z+(s<<3)|0;s=z+((s|1)<<3)|0;o=c[J+(o<<2)>>2]|0;while(1){if((o|0)>=(c[q>>2]|0))break;n=c[D+(o<<2)>>2]|0;p=E+(n+1<<2)|0;a=o<<1;b=y+(a<<3)|0;a=y+((a|1)<<3)|0;n=c[E+(n<<2)>>2]|0;while(1){if((n|0)>=(c[p>>2]|0))break;g=F+(n<<2)|0;i=c[g>>2]|0;j=K+(i<<2)|0;k=c[j>>2]|0;m=n<<1;l=x+(m<<3)|0;m=x+((m|1)<<3)|0;if((k|0)<(c[w>>2]|0)){c[j>>2]=f;c[B+(f<<2)>>2]=c[g>>2];M=+h[r>>3];N=+h[b>>3];L=+h[s>>3];O=+h[a>>3];k=f<<1;h[t+(k<<3)>>3]=+h[l>>3]*(M*N-L*O)-(N*L+M*O)*+h[m>>3];O=+h[r>>3];M=+h[a>>3];L=+h[s>>3];N=+h[b>>3];h[t+((k|1)<<3)>>3]=+h[l>>3]*(O*M+L*N)+(O*N-M*L)*+h[m>>3];f=f+1|0}else{if((c[B+(k<<2)>>2]|0)!=(i|0))break e;N=+h[r>>3];M=+h[b>>3];O=+h[s>>3];L=+h[a>>3];k=k<<1;j=t+(k<<3)|0;h[j>>3]=+h[j>>3]+(+h[l>>3]*(N*M-O*L)-(M*O+N*L)*+h[m>>3]);L=+h[r>>3];N=+h[a>>3];O=+h[s>>3];M=+h[b>>3];k=t+((k|1)<<3)|0;h[k>>3]=+h[l>>3]*(L*N+O*M)+(L*M-N*O)*+h[m>>3]+ +h[k>>3]}n=n+1|0}o=o+1|0}d=d+1|0}c[A+(u<<2)>>2]=f;g=u}Aa(95883,95244,1674,95860);break}case 4:{w=c[f>>2]|0;v=c[g>>2]|0;u=c[i>>2]|0;q=c[j>>2]|0;c[A>>2]=0;f=0;g=0;f:while(1){if((g|0)>=(G|0)){C=f;break c}r=g+1|0;s=H+(r<<2)|0;t=A+(g<<2)|0;b=c[H+(g<<2)>>2]|0;while(1){if((b|0)>=(c[s>>2]|0))break;n=c[I+(b<<2)>>2]|0;a=J+(n+1<<2)|0;d=w+(b<<2)|0;n=c[J+(n<<2)>>2]|0;while(1){if((n|0)>=(c[a>>2]|0))break;m=c[D+(n<<2)>>2]|0;o=E+(m+1<<2)|0;p=v+(n<<2)|0;m=c[E+(m<<2)>>2]|0;while(1){if((m|0)>=(c[o>>2]|0))break;g=F+(m<<2)|0;i=c[g>>2]|0;j=K+(i<<2)|0;k=c[j>>2]|0;l=u+(m<<2)|0;if((k|0)<(c[t>>2]|0)){c[j>>2]=f;c[B+(f<<2)>>2]=c[g>>2];y=S(c[p>>2]|0,c[d>>2]|0)|0;y=S(y,c[l>>2]|0)|0;z=q+(f<<2)|0;c[z>>2]=(c[z>>2]|0)+y;f=f+1|0}else{if((c[B+(k<<2)>>2]|0)!=(i|0))break f;y=S(c[p>>2]|0,c[d>>2]|0)|0;y=S(y,c[l>>2]|0)|0;z=q+(k<<2)|0;c[z>>2]=(c[z>>2]|0)+y}m=m+1|0}n=n+1|0}b=b+1|0}c[A+(r<<2)>>2]=f;g=r}Aa(95883,95244,1706,95860);break}case 8:{c[A>>2]=0;f=0;g=0;g:while(1){if((g|0)>=(G|0)){C=f;break c}b=g+1|0;a=H+(b<<2)|0;d=A+(g<<2)|0;o=c[H+(g<<2)>>2]|0;while(1){if((o|0)>=(c[a>>2]|0))break;m=c[I+(o<<2)>>2]|0;p=J+(m+1<<2)|0;m=c[J+(m<<2)>>2]|0;while(1){if((m|0)>=(c[p>>2]|0))break;l=c[D+(m<<2)>>2]|0;n=E+(l+1<<2)|0;l=c[E+(l<<2)>>2]|0;while(1){if((l|0)>=(c[n>>2]|0))break;g=F+(l<<2)|0;i=c[g>>2]|0;j=K+(i<<2)|0;k=c[j>>2]|0;if((k|0)>=(c[d>>2]|0)){if((c[B+(k<<2)>>2]|0)!=(i|0))break g}else{c[j>>2]=f;c[B+(f<<2)>>2]=c[g>>2];f=f+1|0}l=l+1|0}m=m+1|0}o=o+1|0}c[A+(b<<2)>>2]=f;g=b}Aa(95883,95244,1729,95860);break}default:{nw(e);e=0;break b}}while(0);c[e+8>>2]=C}while(0);l6(K)}else e=0;return e|0}function Kw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;if((c[a+32>>2]|0)!=2)Aa(95401,95244,1971,95908);if((b|0)>=1){h=c[a+8>>2]|0;g=h+b|0;if((g|0)>=(c[a+12>>2]|0))Lw(a,g+10|0)|0;i=h<<2;g=b<<2;B6((c[a+20>>2]|0)+i|0,d|0,g|0)|0;B6((c[a+24>>2]|0)+i|0,e|0,g|0)|0;g=c[a+40>>2]|0;if(g|0){i=S(g,b)|0;h=S(g,h)|0;B6((c[a+28>>2]|0)+h|0,f|0,i|0)|0}f=a+4|0;h=0;while(1){if((h|0)>=(b|0))break;g=c[d+(h<<2)>>2]|0;if((g|0)>=(c[a>>2]|0))c[a>>2]=g+1;g=c[e+(h<<2)>>2]|0;if((g|0)>=(c[f>>2]|0))c[f>>2]=g+1;h=h+1|0}i=a+8|0;c[i>>2]=(c[i>>2]|0)+b}return a|0}function Lw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b<<2;f=a+28|0;if((c[a+32>>2]|0)==2){e=a+20|0;c[e>>2]=KK(c[e>>2]|0,d)|0;e=a+24|0;c[e>>2]=KK(c[e>>2]|0,d)|0;d=c[a+40>>2]|0;if((d|0)>0){e=c[f>>2]|0;d=S(d,b)|0;if(!e)d=IK(d)|0;else d=KK(e,d)|0;c[f>>2]=d}}else{e=a+24|0;c[e>>2]=KK(c[e>>2]|0,d)|0;d=c[a+40>>2]|0;if((d|0)>0){e=c[f>>2]|0;d=S(d,b)|0;if(!e)d=IK(d)|0;else d=KK(e,d)|0;c[f>>2]=d}}c[a+12>>2]=b;return a|0}function Mw(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(!a)a=0;else{l=c[a+20>>2]|0;k=c[a+24>>2]|0;b=a+28|0;b:do switch(c[a+16>>2]|0){case 1:{i=c[b>>2]|0;e=c[a>>2]|0;b=0;c:while(1){if((b|0)>=(e|0))break b;f=b+1|0;g=c[l+(f<<2)>>2]|0;b=c[l+(b<<2)>>2]|0;d=+(g-b|0);while(1){if((b|0)>=(g|0)){b=f;continue c}k=i+(b<<3)|0;h[k>>3]=+h[k>>3]/d;b=b+1|0}}}case 2:{f=c[b>>2]|0;g=c[a>>2]|0;b=0;d:while(1){if((b|0)>=(g|0))break b;i=b+1|0;j=c[l+(i<<2)>>2]|0;e=c[l+(b<<2)>>2]|0;d=+(j-e|0);while(1){if((e|0)>=(j|0)){b=i;continue d}if((c[k+(e<<2)>>2]|0)!=(b|0)){m=e<<1;n=f+(m<<3)|0;h[n>>3]=+h[n>>3]/d;m=f+((m|1)<<3)|0;h[m>>3]=+h[m>>3]/d}e=e+1|0}}}case 4:{Aa(138697,95244,2192,95949);break}case 8:break;default:{a=0;break a}}while(0)}while(0);return a|0}function Nw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((a|0)!=0?(b=a+8|0,d=c[b>>2]|0,e=c[a+4>>2]|0,(e|0)==(c[a>>2]|0)):0){g=c[a+24>>2]|0;a=c[a+20>>2]|0;f=ow(e,e,d,8,1)|0;B6(c[f+20>>2]|0,a|0,(e<<2)+4|0)|0;B6(c[f+24>>2]|0,g|0,d<<2|0)|0;c[f+8>>2]=c[b>>2];a=sw(f,1)|0;nw(f);a=yw(a)|0;e=a+8|0;d=IK(c[e>>2]<<3)|0;c[a+28>>2]=d;e=c[e>>2]|0;b=0;while(1){if((b|0)>=(e|0))break;h[d+(b<<3)>>3]=1.0;b=b+1|0}c[a+16>>2]=1;c[a+40>>2]=8}else a=0;return a|0}function Ow(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;q=c[a+20>>2]|0;r=c[a+24>>2]|0;w=c[a+4>>2]|0;o=c[a>>2]|0;s=w<<2;t=IK(s)|0;u=IK(s+4|0)|0;v=IK(s)|0;s=IK(s)|0;p=u+4|0;a=0;while(1){if((a|0)>=(w|0))break;c[t+(a<<2)>>2]=0;a=a+1|0}c[p>>2]=w;a=0;while(1){if((a|0)>=(w|0)){h=1;l=0;break}c[v+(a<<2)>>2]=-1;a=a+1|0}a:while(1){if((l|0)>=(o|0))break;g=q+(l<<2)|0;m=l+1|0;n=q+(m<<2)|0;a=c[g>>2]|0;while(1){f=c[n>>2]|0;if((a|0)>=(f|0))break;k=p+(c[t+(c[r+(a<<2)>>2]<<2)>>2]<<2)|0;c[k>>2]=(c[k>>2]|0)+-1;a=a+1|0}a=h;k=c[g>>2]|0;while(1){if((k|0)>=(f|0)){h=a;l=m;continue a}j=r+(k<<2)|0;g=t+(c[j>>2]<<2)|0;i=c[g>>2]|0;h=v+(i<<2)|0;f=s+(i<<2)|0;if((c[h>>2]|0)<(l|0)){c[h>>2]=l;g=p+(i<<2)|0;if(!(c[g>>2]|0)){c[g>>2]=1;g=a;a=i}else{c[f>>2]=a;c[p+(a<<2)>>2]=1;g=a+1|0;f=t+(c[j>>2]<<2)|0}c[f>>2]=a;a=g}else{c[g>>2]=c[f>>2];j=p+(c[f>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1}k=k+1|0;f=c[n>>2]|0}}c[u>>2]=0;a=0;f=0;while(1){if((a|0)>=(h|0))break;q=a+1|0;p=u+(q<<2)|0;r=(c[p>>2]|0)+f|0;c[p>>2]=r;a=q;f=r}c[d>>2]=s;a=0;while(1){if((a|0)>=(w|0)){a=h;break}r=u+(c[t+(a<<2)>>2]<<2)|0;d=c[r>>2]|0;c[r>>2]=d+1;c[s+(d<<2)>>2]=a;a=a+1|0}while(1){if((a|0)<=0)break;w=a+-1|0;c[u+(a<<2)>>2]=c[u+(w<<2)>>2];a=w}c[u>>2]=0;c[e>>2]=u;c[b>>2]=h;l6(v);l6(t);return}function Pw(){return +(+(U4()|0)/2147483647.0)}function Qw(a){a=a|0;if((a|0)>1)return (U4()|0)%(a|0)|0|0;else Aa(95983,95989,58,95999);return 0}function Rw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;a:do if((a|0)<1)b=0;else{b=IK(a<<2)|0;d=0;while(1){if((d|0)==(a|0))break;c[b+(d<<2)>>2]=d;d=d+1|0}while(1){if((a|0)<=1)break a;e=Qw(a)|0;d=a+-1|0;g=b+(d<<2)|0;f=c[g>>2]|0;e=b+(e<<2)|0;c[g>>2]=c[e>>2];c[e>>2]=f;a=d}}while(0);return b|0}function Sw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=0;while(1){if((d|0)>=(a|0))break;e=c+(d<<3)|0;h[e>>3]=+h[b+(d<<3)>>3]-+h[e>>3];d=d+1|0}return c|0}function Tw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0;d=0;e=0.0;while(1){if((d|0)>=(a|0))break;f=e+ +h[b+(d<<3)>>3]*+h[c+(d<<3)>>3];d=d+1|0;e=f}return +e}function Uw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0;e=0;while(1){if((e|0)>=(a|0))break;f=c+(e<<3)|0;h[f>>3]=+h[b+(e<<3)>>3]+ +h[f>>3]*d;e=e+1|0}return c|0}function Vw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0;e=0;while(1){if((e|0)>=(a|0))break;f=b+(e<<3)|0;h[f>>3]=+h[f>>3]+ +h[c+(e<<3)>>3]*d;e=e+1|0}return b|0}function Ww(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0.0;f=S(c,b)|0;d=S(d,b)|0;e=0.0;c=0;while(1){if((c|0)>=(b|0))break;g=+h[a+(c+f<<3)>>3]-+h[a+(c+d<<3)>>3];e=e+g*g;c=c+1|0}g=+G(+e);return +(g>1.0e-15?g:1.0e-15)}function Xw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0.0;f=S(c,b)|0;d=S(d,b)|0;e=0.0;c=0;while(1){if((c|0)>=(b|0))break;g=+h[a+(c+f<<3)>>3]-+h[a+(c+d<<3)>>3];e=e+g*g;c=c+1|0}return +(+G(+e))}function Yw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0.0;d=0.0;e=0;while(1){if((e|0)>=(c|0))break;f=+h[a+(e<<3)>>3]-+h[b+(e<<3)>>3];d=d+f*f;e=e+1|0}return +(+G(+d))}function Zw(a,b,c,d,e,f,g){a=+a;b=+b;c=+c;d=+d;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0.0;p=l;l=l+80|0;n=p+48|0;m=p+24|0;o=p;i=0;while(1){if((i|0)>=(f|0)){j=0;break}q=+h[g+(i<<3)>>3];h[n+(i<<3)>>3]=q;h[m+(i<<3)>>3]=q;i=i+1|0}while(1){if((j|0)>=(e|0))break;k=S(j,f)|0;i=0;while(1){if((i|0)>=(f|0))break;s=+h[g+(i+k<<3)>>3];r=n+(i<<3)|0;q=+h[r>>3];h[r>>3]=s>3];h[r>>3]=s>q?s:q;i=i+1|0}j=j+1|0}q=+h[m>>3]-+h[n>>3];c=q!=0.0?(c-a)/q:1.0;q=+h[m+8>>3]-+h[n+8>>3];s=(d-b)/q;c=q!=0.0?(c>3]=a;h[o+8>>3]=b;h[o+16>>3]=0.0;j=0;while(1){if((j|0)>=(e|0))break;k=S(j,f)|0;i=0;while(1){if((i|0)>=(f|0))break;r=g+(i+k<<3)|0;h[r>>3]=+h[o+(i<<3)>>3]+c*(+h[r>>3]-+h[n+(i<<3)>>3]);i=i+1|0}j=j+1|0}l=p;return}function _w(a,b){a=a|0;b=b|0;if((qB(a)|0)==1){a=c[(c[(gC(a)|0)+16>>2]|0)+132>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}else{$w(a);if(!((bP(NA(b,96005)|0)|0)<<24>>24))b=Jy(a,186376)|0;else b=ax(a)|0;Sy(a,b,186376);bx(b)}return}function $w(a){a=a|0;var b=0;b=uC(c[c[(c[(gC(a)|0)+16>>2]|0)+112>>2]>>2]|0)|0;a=c[46967]|0;if((b|0)!=(a|0)){c[46597]=0;c[46967]=b;c[46968]=DA(b,0,96014,0)|0;c[46969]=DA(c[46967]|0,1,96022,0)|0;c[46970]=DA(c[46967]|0,1,96039,0)|0;a=c[46967]|0}c[46971]=NA(a,96039)|0;Dy(186376);c[46596]=1;h[23301]=+YO(c[46967]|0,c[46968]|0,1.0,0.0);c[46598]=c[46969];c[46599]=c[46970];c[46600]=c[46971];return}function ax(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+144|0;e=f;d=f+8|0;b=c[46597]|0;c[46597]=b+1;c[e>>2]=b;i2(d,96535,e)|0;d=Ey(LD(a,d,1)|0)|0;e=d+8|0;b=gC(a)|0;while(1){if(!b)break;lC(c[e>>2]|0,b,1)|0;c[(c[(c[b+16>>2]|0)+112>>2]|0)+12>>2]=d;b=hC(a,b)|0}l=f;return d|0}function bx(a){a=a|0;Ry(a);return}function cx(a,b){a=a|0;b=b|0;var d=0;d=IK(32)|0;c[d>>2]=4;h[d+8>>3]=.75;c[d+16>>2]=1073741824;c[d+20>>2]=1;c[d+24>>2]=a;c[d+28>>2]=b;return d|0}function dx(a){a=a|0;l6(a);return}function ex(a){a=a|0;var b=0,d=0;if(!a)return;d=c[a+8>>2]|0;do if(d|0){if(c[a>>2]|0){nw(d);b=c[a+12>>2]|0;if(!b)break;nw(b);break}if(c[a+36>>2]|0?(nw(d),b=c[a+12>>2]|0,b|0):0)nw(b)}while(0);nw(c[a+16>>2]|0);nw(c[a+20>>2]|0);b=c[a+24>>2]|0;if(b|0?(c[a>>2]|0)>0:0)l6(b);ex(c[a+28>>2]|0);l6(a);return}function fx(a,b,d,e,f,g,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0;v=l;l=l+32|0;n=v+16|0;o=v+12|0;p=v+8|0;q=v+4|0;r=v;c[n>>2]=a;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[i>>2]=0;c[j>>2]=0;c[b>>2]=0;c[g>>2]=0;c[e>>2]=0;s=k+28|0;t=k+8|0;u=+(c[a+4>>2]|0);f=d;do{gx(a,n,f,o,0,r,p,q,k,m);f=c[n>>2]|0;if(!f)break;d=c[f+4>>2]|0;f=c[i>>2]|0;a=c[p>>2]|0;if(!f){c[i>>2]=a;c[j>>2]=c[q>>2]}else{a=Iw(f,a)|0;nw(c[i>>2]|0);nw(c[p>>2]|0);c[i>>2]=a;a=Iw(c[q>>2]|0,c[j>>2]|0)|0;nw(c[j>>2]|0);nw(c[q>>2]|0);c[j>>2]=a}f=c[b>>2]|0;if(f|0)nw(f);c[b>>2]=c[n>>2];f=c[e>>2]|0;if(f|0)nw(f);f=c[o>>2]|0;c[e>>2]=f;a=c[g>>2]|0;if(a){l6(a);f=c[o>>2]|0}c[g>>2]=c[r>>2];a=c[n>>2]|0;c[r>>2]=0;if(!(+(d|0)>u*+h[t>>3]))break}while((c[s>>2]|0)==1);l=v;return}function gx(a,b,d,e,f,g,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+32|0;E=I+28|0;p=I+24|0;C=I+20|0;F=I+16|0;s=I+12|0;G=I+8|0;H=I+4|0;n=I;c[E>>2]=0;c[p>>2]=0;c[F>>2]=0;c[G>>2]=0;c[H>>2]=0;c[b>>2]=0;c[e>>2]=0;c[i>>2]=0;c[j>>2]=0;D=c[a>>2]|0;o=k+24|0;c[m>>2]=c[o>>2];q=c[o>>2]|0;v=k+8|0;t=D<<2;x=k+28|0;r=k+20|0;w=+(D|0);a:do switch(q|0){case 12:{c[o>>2]=3;c[m>>2]=3;gx(a,b,d,e,f,g,i,j,k,m);if((((c[b>>2]|0)==0?(c[o>>2]=4,c[m>>2]=4,gx(a,b,d,e,f,g,i,j,k,m),(c[b>>2]|0)==0):0)?(c[o>>2]=6,c[m>>2]=6,gx(a,b,d,e,f,g,i,j,k,m),(c[b>>2]|0)==0):0)?(c[o>>2]=9,c[m>>2]=9,gx(a,b,d,e,f,g,i,j,k,m),(c[b>>2]|0)==0):0){c[o>>2]=2;c[m>>2]=2;gx(a,b,d,e,f,g,i,j,k,m)}c[o>>2]=12;p=0;q=0;r=0;o=0;n=0;m=0;break}case 3:case 6:case 4:{d=c[r>>2]|0;switch(q|0){case 3:{hx(a,d,G,H,n);break}case 4:{ix(a,d,G,H,n);break}default:jx(a,G,H,n)}u=c[n>>2]|0;if(!(c[x>>2]|0)){if((u|0)==(D|0)?1:+(u|0)>w*+h[v>>3]){p=0;q=0;r=0;o=0;n=0;m=0;break a}}else if((u|0)==(D|0)){p=0;q=0;r=0;o=0;n=0;m=0;break a}if((u|0)>=(c[k>>2]|0)){s=IK(t)|0;t=IK(t)|0;v=IK(D<<3)|0;c[C>>2]=0;o=c[H>>2]|0;p=c[G>>2]|0;n=0;d=0;b:while(1){if((n|0)>=(u|0))break;q=n+1|0;r=o+(q<<2)|0;m=c[o+(n<<2)>>2]|0;while(1){if((m|0)>=(c[r>>2]|0)){n=q;continue b}c[s+(d<<2)>>2]=c[p+(m<<2)>>2];c[t+(c[C>>2]<<2)>>2]=n;z=c[C>>2]|0;A=z+1|0;c[C>>2]=A;h[v+(z<<3)>>3]=1.0;m=m+1|0;d=A}}D=Aw(d,D,u,s,t,v,1,8)|0;c[i>>2]=D;c[j>>2]=mw(D)|0;c[e>>2]=0;i=Jw(c[j>>2]|0,a,c[i>>2]|0)|0;c[b>>2]=i;if(!i){p=v;q=t;r=s;o=s;n=t;m=v}else{Gw(c[j>>2]|0,f,g,0);c[j>>2]=Mw(c[j>>2]|0)|0;p=c[b>>2]|0;q=p+36|0;c[q>>2]=c[q>>2]|3;c[b>>2]=yw(p)|0;p=v;q=t;r=s;o=s;n=t;m=v}}else{p=0;q=0;r=0;o=0;n=0;m=0}break}case 1:{kx(a,c[r>>2]|0,E,p);d=c[o>>2]|0;if((d|0)==2)B=24;else B=25;break}case 2:{B=24;break}case 5:{B=26;break}case 10:case 9:{d=c[r>>2]|0;if((q|0)==9)nx(a,d,F,s,C);else ox(a,d,F,s,C);z=c[a+20>>2]|0;A=c[a+24>>2]|0;y=c[s>>2]|0;if(!(c[x>>2]|0)){if((y|0)==(D|0)?1:+(y|0)>w*+h[v>>3]){p=0;q=0;r=0;o=0;n=0;m=0;break a}}else if((y|0)==(D|0)){p=0;q=0;r=0;o=0;n=0;m=0;break a}if((y|0)>=(c[k>>2]|0)){x=c[C>>2]|0;v=x<<2;u=IK(v)|0;v=IK(v)|0;x=IK(x<<3)|0;c[C>>2]=0;s=c[F>>2]|0;r=0;o=0;c:while(1){if((r|0)>=(D|0))break;d=s+(r<<2)|0;t=r+1|0;if((c[d>>2]|0)!=-1){c[u+(o<<2)>>2]=r;c[v+(c[C>>2]<<2)>>2]=c[d>>2];q=c[C>>2]|0;k=q+1|0;c[C>>2]=k;h[x+(q<<3)>>3]=1.0;r=t;o=k;continue}n=c[z+(r<<2)>>2]|0;q=z+(t<<2)|0;p=c[q>>2]|0;d=0;m=n;while(1){if((m|0)>=(p|0))break;d=((c[s+(c[A+(m<<2)>>2]<<2)>>2]|0)>>>31^1)+d|0;m=m+1|0}w=1.0/+(d|0);d=p;while(1){if((n|0)>=(d|0)){r=t;continue c}m=A+(n<<2)|0;if((c[s+(c[m>>2]<<2)>>2]|0)>-1){c[u+(o<<2)>>2]=r;c[v+(c[C>>2]<<2)>>2]=c[s+(c[m>>2]<<2)>>2];d=c[C>>2]|0;m=d+1|0;c[C>>2]=m;h[x+(d<<3)>>3]=w;d=c[q>>2]|0}else m=o;n=n+1|0;o=m}}D=Aw(o,D,y,u,v,x,1,8)|0;c[i>>2]=D;D=mw(D)|0;c[j>>2]=D;i=Jw(D,a,c[i>>2]|0)|0;c[b>>2]=i;if(!i){p=x;q=v;r=u;o=u;n=v;m=x}else{Gw(c[j>>2]|0,f,g,0);p=c[b>>2]|0;q=p+36|0;c[q>>2]=c[q>>2]|3;c[b>>2]=yw(p)|0;c[e>>2]=0;p=x;q=v;r=u;o=u;n=v;m=x}}else{p=0;q=0;r=0;o=0;n=0;m=0}break}default:{p=0;q=0;r=0;o=0;n=0;m=0}}while(0);if((B|0)==24){lx(a,c[r>>2]|0,E,p);d=c[o>>2]|0;B=25}if((B|0)==25)if((d|0)==5)B=26;else B=27;if((B|0)==26){mx(a,c[r>>2]|0,E,p);B=27}do if((B|0)==27){d=c[p>>2]|0;if(!(c[x>>2]|0)){if((d|0)==(D|0)?1:+(d|0)>w*+h[v>>3]){p=0;q=0;r=0;o=0;n=0;m=0;break}}else if((d|0)==(D|0)){p=0;q=0;r=0;o=0;n=0;m=0;break}if((d|0)>=(c[k>>2]|0)){s=IK(t)|0;t=IK(t)|0;u=IK(D<<3)|0;c[C>>2]=0;q=c[E>>2]|0;d=0;p=0;while(1){if((p|0)>=(D|0))break;m=q+(p<<2)|0;n=c[m>>2]|0;if((n|0)>-1){c[s+(c[C>>2]<<2)>>2]=p;c[t+(c[C>>2]<<2)>>2]=d;B=c[C>>2]|0;o=B+1|0;c[C>>2]=o;h[u+(B<<3)>>3]=1.0;if((n|0)!=(p|0)){c[s+(o<<2)>>2]=c[m>>2];c[t+(c[C>>2]<<2)>>2]=d;B=c[C>>2]|0;c[C>>2]=B+1;h[u+(B<<3)>>3]=1.0;c[q+(c[m>>2]<<2)>>2]=-1}c[m>>2]=-1;d=d+1|0}p=p+1|0}D=Aw(c[C>>2]|0,D,d,s,t,u,1,8)|0;c[i>>2]=D;D=mw(D)|0;c[j>>2]=D;i=Jw(D,a,c[i>>2]|0)|0;c[b>>2]=i;if(!i){p=u;q=t;r=s;o=s;n=t;m=u}else{Gw(c[j>>2]|0,f,g,0);c[j>>2]=Mw(c[j>>2]|0)|0;p=c[b>>2]|0;q=p+36|0;c[q>>2]=c[q>>2]|3;c[b>>2]=yw(p)|0;c[e>>2]=0;p=u;q=t;r=s;o=s;n=t;m=u}}else{p=0;q=0;r=0;o=0;n=0;m=0}}while(0);d=c[E>>2]|0;if(d|0)l6(d);d=c[F>>2]|0;if(d|0)l6(d);if(r|0)l6(o);if(q|0)l6(n);if(p|0)l6(m);d=c[G>>2]|0;if(d|0)l6(d);d=c[H>>2]|0;if(d|0)l6(d);l=I;return}function hx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=c[a+20>>2]|0;u=c[a+24>>2]|0;w=c[a>>2]|0;v=w<<2;c[d>>2]=IK(v)|0;c[e>>2]=IK(v+4|0)|0;v=IK(v)|0;g=0;while(1){if((g|0)>=(w|0))break;c[v+(g<<2)>>2]=g;g=g+1|0}c[f>>2]=0;r=c[e>>2]|0;c[r>>2]=0;s=c[a+28>>2]|0;a:do if(!b){g=0;a=0;b:while(1){while(1){if((a|0)>=(w|0)){b=0;j=0.0;a=0;break b}b=a;a=a+1|0;if((c[v+(b<<2)>>2]|0)==-1)continue;b=c[t+(b<<2)>>2]|0;if(((c[t+(a<<2)>>2]|0)-b|0)==1)break}l=c[u+(b<<2)>>2]|0;c[v+(l<<2)>>2]=-1;m=c[d>>2]|0;c[m+(g<<2)>>2]=l;n=t+(l+1<<2)|0;k=c[t+(l<<2)>>2]|0;g=g+1|0;while(1){if((k|0)>=(c[n>>2]|0))break;b=u+(k<<2)|0;i=c[b>>2]|0;if((l|0)!=(i|0)?((c[t+(i+1<<2)>>2]|0)-(c[t+(i<<2)>>2]|0)|0)==1:0){c[v+(i<<2)>>2]=-1;c[m+(g<<2)>>2]=c[b>>2];g=g+1|0}k=k+1|0}i=c[f>>2]|0;b=c[r+(i<<2)>>2]|0;i=i+1|0;c[f>>2]=i;i=r+(i<<2)|0;if((g-b|0)<5){c[i>>2]=g;continue}e=b+1|0;c[i>>2]=e;b=e;i=e;while(1){if(!((i|0)<(g|0)&(b|0)<(g|0)))continue b;e=i+3|0;e=(g|0)<(e|0)?g:e;q=(c[f>>2]|0)+1|0;c[f>>2]=q;c[r+(q<<2)>>2]=e;b=b+1|0;i=e}}c:while(1){while(1){while(1){if((a|0)>=(w|0)){a=0;break c}n=v+(a<<2)|0;q=a+1|0;if((c[n>>2]|0)==-1)a=q;else break}p=c[t+(q<<2)>>2]|0;l=1;m=c[t+(a<<2)>>2]|0;while(1){i=(l|0)!=0;if((m|0)>=(p|0))break;k=c[u+(m<<2)>>2]|0;if((a|0)!=(k|0)?(c[v+(k<<2)>>2]|0)!=-1:0){o=+h[s+(m<<3)>>3];if(!i?!(o>j):0)i=0;else{i=0;b=k;j=o}}else i=l;l=i;m=m+1|0}if(i)a=q;else break}c[v+(b<<2)>>2]=-1;c[n>>2]=-1;p=c[d>>2]|0;c[p+(g<<2)>>2]=a;e=g+2|0;c[p+(g+1<<2)>>2]=b;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[r+(a<<2)>>2]=e;a=q;g=e}while(1){if((a|0)>=(w|0))break a;if((c[v+(a<<2)>>2]|0)==(a|0)){u=g+1|0;c[(c[d>>2]|0)+(g<<2)>>2]=a;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[r+(g<<2)>>2]=u;g=u}a=a+1|0}}else{r=Rw(w)|0;n=0;g=0;while(1){if((n|0)>=(w|0)){q=0;a=0;j=0.0;break}a=c[r+(n<<2)>>2]|0;d:do if((c[v+(a<<2)>>2]|0)!=-1?(p=c[t+(a<<2)>>2]|0,((c[t+(a+1<<2)>>2]|0)-p|0)==1):0){k=c[u+(p<<2)>>2]|0;c[v+(k<<2)>>2]=-1;l=c[d>>2]|0;c[l+(g<<2)>>2]=k;m=t+(k+1<<2)|0;i=c[t+(k<<2)>>2]|0;g=g+1|0;while(1){if((i|0)>=(c[m>>2]|0))break;a=u+(i<<2)|0;b=c[a>>2]|0;if((k|0)!=(b|0)?((c[t+(b+1<<2)>>2]|0)-(c[t+(b<<2)>>2]|0)|0)==1:0){c[v+(b<<2)>>2]=-1;c[l+(g<<2)>>2]=c[a>>2];g=g+1|0}i=i+1|0}i=c[e>>2]|0;q=c[f>>2]|0;a=c[i+(q<<2)>>2]|0;q=q+1|0;b=i+(q<<2)|0;c[f>>2]=q;if((g-a|0)<5){c[b>>2]=g;break}q=a+1|0;c[b>>2]=q;a=q;b=q;while(1){if(!((b|0)<(g|0)&(a|0)<(g|0)))break d;q=b+3|0;q=(g|0)<(q|0)?g:q;m=(c[f>>2]|0)+1|0;c[f>>2]=m;c[i+(m<<2)>>2]=q;a=a+1|0;b=q}}while(0);n=n+1|0}while(1){if((q|0)>=(w|0)){a=0;break}m=c[r+(q<<2)>>2]|0;n=v+(m<<2)|0;if((c[n>>2]|0)!=-1){p=c[t+(m+1<<2)>>2]|0;k=1;l=c[t+(m<<2)>>2]|0;while(1){b=(k|0)!=0;if((l|0)>=(p|0))break;i=c[u+(l<<2)>>2]|0;if((m|0)!=(i|0)?(c[v+(i<<2)>>2]|0)!=-1:0){o=+h[s+(l<<3)>>3];if(!b?!(o>j):0)b=0;else{b=0;a=i;j=o}}else b=k;k=b;l=l+1|0}if(!b){c[v+(a<<2)>>2]=-1;c[n>>2]=-1;n=c[d>>2]|0;c[n+(g<<2)>>2]=m;p=g+2|0;c[n+(g+1<<2)>>2]=a;n=c[e>>2]|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[n+(g<<2)>>2]=p;g=p}}q=q+1|0}while(1){if((a|0)>=(w|0))break;if((c[v+(a<<2)>>2]|0)==(a|0)){u=g+1|0;c[(c[d>>2]|0)+(g<<2)>>2]=a;t=c[e>>2]|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[t+(g<<2)>>2]=u;g=u}a=a+1|0}l6(r)}while(0);l6(v);return}function ix(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+16|0;q=A+8|0;y=A+4|0;z=A;c[y>>2]=0;c[z>>2]=0;v=c[a+20>>2]|0;u=c[a+24>>2]|0;w=c[a>>2]|0;x=w<<2;c[d>>2]=IK(x)|0;c[e>>2]=IK(x+4|0)|0;x=IK(x)|0;g=0;while(1){if((g|0)>=(w|0))break;c[x+(g<<2)>>2]=g;g=g+1|0}Ow(a,q,y,z);c[f>>2]=0;s=c[e>>2]|0;c[s>>2]=0;t=c[a+28>>2]|0;g=0;a=0;a:while(1){k=c[q>>2]|0;m=c[z>>2]|0;do{if((a|0)>=(k|0))break a;n=a;a=a+1|0;p=m+(a<<2)|0;i=c[p>>2]|0;n=c[m+(n<<2)>>2]|0}while((i-n|0)<2);m=c[y>>2]|0;k=c[s+(c[f>>2]<<2)>>2]|0;while(1){if((n|0)>=(i|0))break;r=m+(n<<2)|0;c[x+(c[r>>2]<<2)>>2]=-1;i=g+1|0;c[(c[d>>2]|0)+(g<<2)>>2]=c[r>>2];if((i-k|0)>3){g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[s+(g<<2)>>2]=i;g=i}else g=k;k=g;n=n+1|0;g=i;i=c[p>>2]|0}if((g|0)<=(k|0))continue;r=(c[f>>2]|0)+1|0;c[f>>2]=r;c[s+(r<<2)>>2]=g}b:do if(!b){i=0;j=0.0;a=0;c:while(1){while(1){while(1){if((a|0)>=(w|0)){a=0;break c}b=x+(a<<2)|0;r=a+1|0;if((c[b>>2]|0)==-1)a=r;else break}q=c[v+(r<<2)>>2]|0;n=1;p=c[v+(a<<2)>>2]|0;while(1){k=(n|0)!=0;if((p|0)>=(q|0))break;m=c[u+(p<<2)>>2]|0;if((a|0)!=(m|0)?(c[x+(m<<2)>>2]|0)!=-1:0){o=+h[t+(p<<3)>>3];if(!k?!(o>j):0)k=0;else{k=0;i=m;j=o}}else k=n;n=k;p=p+1|0}if(k)a=r;else break}c[x+(i<<2)>>2]=-1;c[b>>2]=-1;q=c[d>>2]|0;c[q+(g<<2)>>2]=a;e=g+2|0;c[q+(g+1<<2)>>2]=i;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[s+(a<<2)>>2]=e;a=r;g=e}while(1){if((a|0)>=(w|0))break b;if((c[x+(a<<2)>>2]|0)==(a|0)){v=g+1|0;c[(c[d>>2]|0)+(g<<2)>>2]=a;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[s+(g<<2)>>2]=v;g=v}a=a+1|0}}else{s=Rw(w)|0;r=0;a=0;j=0.0;while(1){if((r|0)>=(w|0)){a=0;break}p=c[s+(r<<2)>>2]|0;b=x+(p<<2)|0;if((c[b>>2]|0)!=-1){q=c[v+(p+1<<2)>>2]|0;m=1;n=c[v+(p<<2)>>2]|0;while(1){i=(m|0)!=0;if((n|0)>=(q|0))break;k=c[u+(n<<2)>>2]|0;if((p|0)!=(k|0)?(c[x+(k<<2)>>2]|0)!=-1:0){o=+h[t+(n<<3)>>3];if(!i?!(o>j):0)i=0;else{i=0;a=k;j=o}}else i=m;m=i;n=n+1|0}if(!i){c[x+(a<<2)>>2]=-1;c[b>>2]=-1;b=c[d>>2]|0;c[b+(g<<2)>>2]=p;q=g+2|0;c[b+(g+1<<2)>>2]=a;b=c[e>>2]|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[b+(g<<2)>>2]=q;g=q}}r=r+1|0}while(1){if((a|0)>=(w|0))break;if((c[x+(a<<2)>>2]|0)==(a|0)){v=g+1|0;c[(c[d>>2]|0)+(g<<2)>>2]=a;u=c[e>>2]|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[u+(g<<2)>>2]=v;g=v}a=a+1|0}l6(s)}while(0);l6(c[y>>2]|0);l6(c[z>>2]|0);l6(x);l=A;return}function jx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;r=c[a+20>>2]|0;s=c[a+24>>2]|0;v=c[a>>2]|0;u=v<<2;c[b>>2]=IK(u)|0;c[d>>2]=IK(u+4|0)|0;u=IK(u)|0;q=IK(v<<4)|0;f=0;while(1){if((f|0)>=(v|0))break;c[u+(f<<2)>>2]=f;f=f+1|0}c[e>>2]=0;c[c[d>>2]>>2]=0;o=c[a+28>>2]|0;t=Rw(v)|0;f=0;m=0;while(1){if((m|0)>=(v|0)){m=0;break}a=c[t+(m<<2)>>2]|0;a:do if((c[u+(a<<2)>>2]|0)!=-1?(n=c[r+(a<<2)>>2]|0,((c[r+(a+1<<2)>>2]|0)-n|0)==1):0){j=c[s+(n<<2)>>2]|0;c[u+(j<<2)>>2]=-1;k=c[b>>2]|0;c[k+(f<<2)>>2]=j;l=r+(j+1<<2)|0;i=c[r+(j<<2)>>2]|0;f=f+1|0;while(1){if((i|0)>=(c[l>>2]|0))break;a=s+(i<<2)|0;g=c[a>>2]|0;if((j|0)!=(g|0)?((c[r+(g+1<<2)>>2]|0)-(c[r+(g<<2)>>2]|0)|0)==1:0){c[u+(g<<2)>>2]=-1;c[k+(f<<2)>>2]=c[a>>2];f=f+1|0}i=i+1|0}i=c[d>>2]|0;l=c[e>>2]|0;a=c[i+(l<<2)>>2]|0;l=l+1|0;g=i+(l<<2)|0;c[e>>2]=l;if((f-a|0)<5){c[g>>2]=f;break}l=a+1|0;c[g>>2]=l;a=l;g=l;while(1){if(!((g|0)<(f|0)&(a|0)<(f|0)))break a;l=g+3|0;l=(f|0)<(l|0)?f:l;k=(c[e>>2]|0)+1|0;c[e>>2]=k;c[i+(k<<2)>>2]=l;a=a+1|0;g=l}}while(0);m=m+1|0}while(1){if((m|0)>=(v|0)){a=0;break}k=c[t+(m<<2)>>2]|0;l=u+(k<<2)|0;if((c[l>>2]|0)!=-1){j=c[r+(k+1<<2)>>2]|0;a=0;i=c[r+(k<<2)>>2]|0;while(1){if((i|0)>=(j|0))break;g=c[s+(i<<2)>>2]|0;if((k|0)!=(g|0)?(p=a<<1,(c[u+(g<<2)>>2]|0)!=-1):0){h[q+(p<<3)>>3]=+(g|0);h[q+((p|1)<<3)>>3]=+h[o+(i<<3)>>3];a=a+1|0}i=i+1|0}if((a|0)>0){k3(q,a,16,81);i=(a|0)<3?a:3;j=c[b>>2]|0;g=0;while(1){a=f+1|0;f=j+(f<<2)|0;if((g|0)>=(i|0))break;n=~~+h[q+(g<<1<<3)>>3];c[u+(n<<2)>>2]=-1;c[f>>2]=n;g=g+1|0;f=a}c[l>>2]=-1;c[f>>2]=k;n=c[d>>2]|0;f=(c[e>>2]|0)+1|0;c[e>>2]=f;c[n+(f<<2)>>2]=a;f=a}}m=m+1|0}while(1){if((a|0)>=(v|0))break;if((c[u+(a<<2)>>2]|0)==(a|0)){s=f+1|0;c[(c[b>>2]|0)+(f<<2)>>2]=a;r=c[d>>2]|0;f=(c[e>>2]|0)+1|0;c[e>>2]=f;c[r+(f<<2)>>2]=s;f=s}a=a+1|0}l6(t);l6(u);return}function kx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=c[a+20>>2]|0;q=c[a+24>>2]|0;r=c[a>>2]|0;f=c[a+4>>2]|0;k=IK(r<<2)|0;c[d>>2]=k;a=0;while(1){if((a|0)>=(r|0))break;c[k+(a<<2)>>2]=a;a=a+1|0}c[e>>2]=f;a:do if(!b){f=0;b:while(1){if((f|0)>=(r|0))break a;b=f+1|0;g=p+(b<<2)|0;h=k+(f<<2)|0;a=c[p+(f<<2)>>2]|0;while(1){if((a|0)>=(c[g>>2]|0)){f=b;continue b}i=q+(a<<2)|0;j=c[i>>2]|0;if(((f|0)!=(j|0)?(l=k+(j<<2)|0,(c[l>>2]|0)==(j|0)):0)?(c[h>>2]|0)==(f|0):0){c[l>>2]=f;c[h>>2]=c[i>>2];c[e>>2]=(c[e>>2]|0)+-1}a=a+1|0}}}else{b=Rw(r)|0;a=0;while(1){if((a|0)>=(r|0))break;g=c[b+(a<<2)>>2]|0;h=p+(g+1<<2)|0;f=c[p+(g<<2)>>2]|0;while(1){if((f|0)>=(c[h>>2]|0))break;i=q+(f<<2)|0;j=c[i>>2]|0;if(((g|0)!=(j|0)?(m=c[d>>2]|0,n=m+(j<<2)|0,(c[n>>2]|0)==(j|0)):0)?(o=m+(g<<2)|0,(c[o>>2]|0)==(g|0)):0){c[n>>2]=g;c[o>>2]=c[i>>2];c[e>>2]=(c[e>>2]|0)+-1}f=f+1|0}a=a+1|0}l6(b)}while(0);return}function lx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=c[a+20>>2]|0;t=c[a+24>>2]|0;u=c[a>>2]|0;g=c[a+4>>2]|0;p=IK(u<<2)|0;c[d>>2]=p;f=0;while(1){if((f|0)>=(u|0))break;c[p+(f<<2)>>2]=f;f=f+1|0}c[e>>2]=g;r=c[a+28>>2]|0;a:do if(!b){f=0;i=0.0;l=0;while(1){if((l|0)>=(u|0))break a;m=l+1|0;n=c[s+(m<<2)>>2]|0;o=p+(l<<2)|0;b=1;k=c[s+(l<<2)>>2]|0;while(1){a=(b|0)!=0;if((k|0)>=(n|0))break;g=c[t+(k<<2)>>2]|0;if(((l|0)!=(g|0)?(c[p+(g<<2)>>2]|0)==(g|0):0)?(c[o>>2]|0)==(l|0):0){j=+h[r+(k<<3)>>3];if(!a?!(j>i):0)a=0;else{a=0;f=g;i=j}}else a=b;b=a;k=k+1|0}if(a){l=m;continue}c[p+(f<<2)>>2]=l;c[p+(l<<2)>>2]=f;c[e>>2]=(c[e>>2]|0)+-1;l=m}}else{q=Rw(u)|0;p=0;f=0;i=0.0;while(1){if((p|0)>=(u|0))break;l=c[q+(p<<2)>>2]|0;m=c[d>>2]|0;n=m+(l<<2)|0;if((c[n>>2]|0)==(l|0)){o=c[s+(l+1<<2)>>2]|0;k=c[s+(l<<2)>>2]|0;b=1;while(1){a=(b|0)!=0;if((k|0)>=(o|0))break;g=c[t+(k<<2)>>2]|0;if((l|0)!=(g|0)?(c[m+(g<<2)>>2]|0)==(g|0):0){j=+h[r+(k<<3)>>3];if(!a?!(j>i):0)a=0;else{a=0;f=g;i=j}}else a=b;k=k+1|0;b=a}if(!a){c[m+(f<<2)>>2]=l;c[n>>2]=f;c[e>>2]=(c[e>>2]|0)+-1}}p=p+1|0}l6(q)}while(0);return}function mx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=c[a+20>>2]|0;u=c[a+24>>2]|0;v=c[a>>2]|0;g=c[a+4>>2]|0;q=IK(v<<2)|0;c[d>>2]=q;f=0;while(1){if((f|0)>=(v|0))break;c[q+(f<<2)>>2]=f;f=f+1|0}c[e>>2]=g;s=c[a+28>>2]|0;a:do if(!b){f=0;i=0.0;l=0;while(1){if((l|0)>=(v|0))break a;k=c[t+(l<<2)>>2]|0;m=l+1|0;n=c[t+(m<<2)>>2]|0;o=+(n-k|0);p=q+(l<<2)|0;b=1;while(1){a=(b|0)!=0;if((k|0)>=(n|0))break;g=c[u+(k<<2)>>2]|0;if(((l|0)!=(g|0)?(c[q+(g<<2)>>2]|0)==(g|0):0)?(c[p>>2]|0)==(l|0):0){j=+h[s+(k<<3)>>3]/o/+((c[t+(g+1<<2)>>2]|0)-(c[t+(g<<2)>>2]|0)|0);if(!a?!(j>i):0)a=0;else{a=0;f=g;i=j}}else a=b;b=a;k=k+1|0}if(a){l=m;continue}c[q+(f<<2)>>2]=l;c[q+(l<<2)>>2]=f;c[e>>2]=(c[e>>2]|0)+-1;l=m}}else{r=Rw(v)|0;q=0;f=0;i=0.0;while(1){if((q|0)>=(v|0))break;l=c[r+(q<<2)>>2]|0;m=c[d>>2]|0;n=m+(l<<2)|0;if((c[n>>2]|0)==(l|0)){k=c[t+(l<<2)>>2]|0;p=c[t+(l+1<<2)>>2]|0;o=+(p-k|0);b=1;while(1){a=(b|0)!=0;if((k|0)>=(p|0))break;g=c[u+(k<<2)>>2]|0;if((l|0)!=(g|0)?(c[m+(g<<2)>>2]|0)==(g|0):0){j=+h[s+(k<<3)>>3]/o/+((c[t+(g+1<<2)>>2]|0)-(c[t+(g<<2)>>2]|0)|0);if(!a?!(j>i):0)a=0;else{a=0;f=g;i=j}}else a=b;k=k+1|0;b=a}if(!a){c[m+(f<<2)>>2]=l;c[n>>2]=f;c[e>>2]=(c[e>>2]|0)+-1}}q=q+1|0}l6(r)}while(0);return}function nx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[a+20>>2]|0;n=c[a+24>>2]|0;l=c[a>>2]|0;j=IK(l<<2)|0;c[d>>2]=j;a=0;while(1){if((a|0)>=(l|0))break;c[j+(a<<2)>>2]=-100;a=a+1|0}c[e>>2]=0;c[f>>2]=0;a:do if(!b){h=0;b:while(1){if((h|0)>=(l|0))break a;a=j+(h<<2)|0;i=h+1|0;if((c[a>>2]|0)!=-100){h=i;continue}b=c[e>>2]|0;c[e>>2]=b+1;c[a>>2]=b;b=m+(i<<2)|0;a=c[m+(h<<2)>>2]|0;while(1){if((a|0)>=(c[b>>2]|0)){h=i;continue b}g=c[n+(a<<2)>>2]|0;if((h|0)!=(g|0)){c[j+(g<<2)>>2]=-1;c[f>>2]=(c[f>>2]|0)+1}a=a+1|0}}}else{i=Rw(l)|0;h=0;while(1){if((h|0)>=(l|0))break;j=c[i+(h<<2)>>2]|0;k=c[d>>2]|0;a=k+(j<<2)|0;c:do if((c[a>>2]|0)==-100){b=c[e>>2]|0;c[e>>2]=b+1;c[a>>2]=b;b=m+(j+1<<2)|0;a=c[m+(j<<2)>>2]|0;while(1){if((a|0)>=(c[b>>2]|0))break c;g=c[n+(a<<2)>>2]|0;if((j|0)!=(g|0)){c[k+(g<<2)>>2]=-1;c[f>>2]=(c[f>>2]|0)+1}a=a+1|0}}while(0);h=h+1|0}l6(i)}while(0);c[f>>2]=(c[f>>2]|0)+(c[e>>2]|0);return}function ox(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;n=q+4|0;o=q;p=c[a+20>>2]|0;m=c[a+24>>2]|0;h=c[a>>2]|0;a=IK(h<<2)|0;c[d>>2]=a;g=0;while(1){c[n>>2]=g;if((g|0)>=(h|0))break;c[a+(g<<2)>>2]=-100;g=(c[n>>2]|0)+1|0}c[e>>2]=0;c[f>>2]=0;k=ux(h,(h<<1)+-2|0)|0;a:do if(!b){a=0;while(1){c[n>>2]=a;if((a|0)>=(h|0))break a;j=a+1|0;wx(k,a,(c[p+(j<<2)>>2]|0)-(c[p+(a<<2)>>2]|0)|0)|0;a=j}}else{g=Rw(h)|0;a=0;while(1){if((a|0)>=(h|0))break;j=c[g+(a<<2)>>2]|0;c[n>>2]=j;wx(k,j,(c[p+(j+1<<2)>>2]|0)-(c[p+(j<<2)>>2]|0)|0)|0;a=a+1|0}l6(g)}while(0);b:while(1){j=(xx(k,n,o)|0)==0;a=c[e>>2]|0;if(j)break;c[e>>2]=a+1;c[(c[d>>2]|0)+(c[n>>2]<<2)>>2]=a;a=c[n>>2]|0;j=c[p+(a<<2)>>2]|0;while(1){if((j|0)>=(c[p+(a+1<<2)>>2]|0))continue b;i=c[m+(j<<2)>>2]|0;if((a|0)!=(i|0)){c:do if((c[(c[d>>2]|0)+(i<<2)>>2]|0)==-100){zx(k,i)|0;c[(c[d>>2]|0)+(i<<2)>>2]=-1;g=p+(i+1<<2)|0;a=c[p+(i<<2)>>2]|0;while(1){if((a|0)>=(c[g>>2]|0))break c;b=m+(a<<2)|0;h=c[b>>2]|0;if((i|0)!=(h|0)?(c[(c[d>>2]|0)+(h<<2)>>2]|0)==-100:0){h=yx(k,h)|0;c[o>>2]=h;wx(k,c[b>>2]|0,h+1|0)|0}a=a+1|0}}while(0);c[f>>2]=(c[f>>2]|0)+1;a=c[n>>2]|0}j=j+1|0}}c[f>>2]=(c[f>>2]|0)+a;vx(k);l=q;return}function px(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a+8>>3];c=+h[b+8>>3];return (d>c?-1:d>2]|0)==1:0)f=a;else f=Nw(a)|0;do if(!b)b=0;else{if(tw(b,0)|0?(c[b+16>>2]|0)==1:0)break;b=xw(b,0)|0}while(0);d=rx(f,b,d)|0;b=sx(d,e)|0;if((f|0)!=(a|0))c[d+36>>2]=1;return b|0}function rx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(!a)a=0;else{e=IK(44)|0;c[e>>2]=0;c[e+4>>2]=c[a+4>>2];c[e+8>>2]=a;c[e+12>>2]=b;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=d;c[e+28>>2]=0;c[e+32>>2]=0;c[e+36>>2]=0;a=e}return a|0}function sx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=0;if((c[a>>2]|0)<((c[b+16>>2]|0)+-1|0)?(fx(c[a+8>>2]|0,i,c[a+12>>2]|0,j,0,f,g,h,b,e),d=c[i>>2]|0,d|0):0){i=c[j>>2]|0;j=rx(d,i,c[f>>2]|0)|0;c[a+28>>2]=j;c[j+40>>2]=c[e>>2];c[j>>2]=(c[a>>2]|0)+1;c[j+4>>2]=c[d>>2];c[j+8>>2]=d;c[j+12>>2]=i;c[j+16>>2]=c[g>>2];c[a+20>>2]=c[h>>2];c[j+32>>2]=a;sx(j,b)|0}l=k;return a|0}function tx(a){a=a|0;var b=0;while(1){b=c[a+28>>2]|0;if(!b)break;else a=b}return a|0}function ux(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=IK(28)|0;c[f>>2]=0;c[f+4>>2]=a;c[f+8>>2]=b;c[f+12>>2]=-1;e=f+16|0;c[e>>2]=IK((b<<2)+4|0)|0;d=0;while(1){if((d|0)>(b|0))break;c[(c[e>>2]|0)+(d<<2)>>2]=0;d=d+1|0}b=(a<<2)+4|0;e=f+20|0;c[e>>2]=IK(b)|0;d=0;while(1){if((d|0)>(a|0))break;c[(c[e>>2]|0)+(d<<2)>>2]=0;d=d+1|0}b=IK(b)|0;c[f+24>>2]=b;d=0;while(1){if((d|0)>(a|0))break;c[b+(d<<2)>>2]=-999;d=d+1|0}return f|0}function vx(a){a=a|0;var b=0,d=0,e=0,f=0;if(a|0){e=a+16|0;b=c[e>>2]|0;if(b|0){f=a+8|0;d=0;while(1){if((d|0)>(c[f>>2]|0))break;zy(c[b+(d<<2)>>2]|0,105);d=d+1|0;b=c[e>>2]|0}l6(b)}b=c[a+20>>2]|0;if(b|0)l6(b);l6(c[a+24>>2]|0);l6(a)}return}function wx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=a+8|0;l=a+20|0;i=a+24|0;m=a+16|0;if(!a)Aa(139256,96044,69,96060);while(1){if((c[h>>2]|0)<(d|0)){j=4;break}e=(c[l>>2]|0)+(b<<2)|0;f=c[e>>2]|0;g=c[a>>2]|0;k=(c[i>>2]|0)+(b<<2)|0;if(!f)break;n=c[k>>2]|0;c[e>>2]=0;c[a>>2]=g+-1;Cy(f,105,(c[m>>2]|0)+(n<<2)|0)}if((j|0)==4)Aa(96079,96044,70,96060);c[a>>2]=g+1;e=a+12|0;if((c[e>>2]|0)<(d|0))c[e>>2]=d;c[k>>2]=d;e=IK(4)|0;c[e>>2]=b;f=c[(c[m>>2]|0)+(d<<2)>>2]|0;if(!f)e=yy(e)|0;else e=Ay(f,e)|0;c[(c[l>>2]|0)+(b<<2)>>2]=e;c[(c[m>>2]|0)+(d<<2)>>2]=e;return a|0}function xx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((a|0)!=0?(c[a>>2]|0)>=1:0){f=a+12|0;e=c[f>>2]|0;c[d>>2]=e;c[a>>2]=(c[a>>2]|0)+-1;d=a+16|0;g=c[(c[d>>2]|0)+(e<<2)>>2]|0;c[b>>2]=c[(By(g)|0)>>2];Cy(g,105,(c[d>>2]|0)+(e<<2)|0);d=c[d>>2]|0;if(!(c[d+(e<<2)>>2]|0)){while(1){if((e|0)<=-1)break;if(c[d+(e<<2)>>2]|0)break;e=e+-1|0}c[f>>2]=e}e=c[b>>2]|0;c[(c[a+20>>2]|0)+(e<<2)>>2]=0;c[(c[a+24>>2]|0)+(e<<2)>>2]=-999;e=1}else e=0;return e|0}function yx(a,b){a=a|0;b=b|0;return c[(c[a+24>>2]|0)+(b<<2)>>2]|0}function zx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)>=1):0){h=a+24|0;d=c[(c[h>>2]|0)+(b<<2)>>2]|0;c[a>>2]=e+-1;f=a+20|0;e=a+16|0;Cy(c[(c[f>>2]|0)+(b<<2)>>2]|0,105,(c[e>>2]|0)+(d<<2)|0);a=a+12|0;if((d|0)==(c[a>>2]|0)?(g=c[e>>2]|0,(c[g+(d<<2)>>2]|0)==0):0){while(1){if((d|0)<=-1)break;if(c[g+(d<<2)>>2]|0)break;d=d+-1|0}c[a>>2]=d}c[(c[f>>2]|0)+(b<<2)>>2]=0;c[(c[h>>2]|0)+(b<<2)>>2]=-999;d=1}else d=0;return d|0}function Ax(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if(!(tw(a,0)|0))Aa(96096,96132,260,96147);w=uw(a)|0;x=c[w+20>>2]|0;y=c[w+24>>2]|0;a=w+16|0;e=w+28|0;if((c[a>>2]|0)==1)v=c[e>>2]|0;else{l6(c[e>>2]|0);c[a>>2]=1;v=IK(c[w+8>>2]<<3)|0;c[e>>2]=v}r=IK(c[w>>2]<<2)|0;a=0;while(1){e=c[w>>2]|0;if((a|0)>=(e|0)){q=0;a=e;break}c[r+(a<<2)>>2]=-1;a=a+1|0}a:while(1){if((q|0)>=(a|0)){g=0.0;k=0.0;f=0;u=0;t=a;break}p=q+1|0;i=x+(p<<2)|0;m=x+(q<<2)|0;j=(c[i>>2]|0)-(c[m>>2]|0)|0;c[r+(q<<2)>>2]=q;e=c[m>>2]|0;while(1){o=c[i>>2]|0;if((e|0)>=(o|0))break;a=c[y+(e<<2)>>2]|0;if((q|0)!=(a|0))c[r+(a<<2)>>2]=q;e=e+1|0}n=+(j|0);e=c[m>>2]|0;while(1){if((e|0)>=(o|0))break;a=c[y+(e<<2)>>2]|0;if((q|0)!=(a|0)){i=c[x+(a+1<<2)>>2]|0;a=c[x+(a<<2)>>2]|0;l=n+ +(i-a|0);while(1){if((a|0)>=(i|0))break;l=(c[r+(c[y+(a<<2)>>2]<<2)>>2]|0)==(q|0)?l+-1.0:l;a=a+1|0}h[v+(e<<3)>>3]=l;if(!(l>0.0)){s=23;break a}}e=e+1|0}q=p;a=c[w>>2]|0}if((s|0)==23)Aa(96169,96132,290,96147);while(1){if((u|0)>=(t|0))break;i=u+1|0;j=x+(i<<2)|0;e=c[x+(u<<2)>>2]|0;while(1){if((e|0)>=(c[j>>2]|0))break;a=c[y+(e<<2)>>2]|0;if((u|0)==(a|0))a=f;else{k=k+ +Xw(d,b,u,a);g=g+ +h[v+(e<<3)>>3];a=f+1|0}f=a;e=e+1|0}u=i;t=c[w>>2]|0}n=+(f|0);g=k/n/(g/n);a=0;b:while(1){if((a|0)>=(t|0))break;i=a+1|0;j=c[x+(i<<2)>>2]|0;e=c[x+(a<<2)>>2]|0;while(1){if((e|0)>=(j|0)){a=i;continue b}f=v+(e<<3)|0;if((a|0)!=(c[y+(e<<2)>>2]|0))h[f>>3]=g*+h[f>>3];e=e+1|0}}return w|0}function Bx(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0;N=c[a>>2]|0;O=c[a+20>>2]|0;P=c[a+24>>2]|0;if(!(tw(a,0)|0))Aa(96096,96132,333,96177);Q=Ax(a,b,e)|0;R=IK(56)|0;S=R+32|0;h[S>>3]=1.0;c[R+20>>2]=0;c[R+24>>2]=0;h[R+40>>3]=.01;c[R+48>>2]=~~+G(+(+(c[a>>2]|0)));g=N<<3;K=IK(g)|0;c[R+12>>2]=K;a=0;while(1){if((a|0)>=(N|0))break;h[K+(a<<3)>>3]=d;a=a+1|0}L=IK(N<<2)|0;J=IK(g)|0;j=0;while(1){if((j|0)>=(N|0)){n=0;break}k=J+(j<<3)|0;h[k>>3]=0.0;l=j+1|0;m=O+(l<<2)|0;i=c[O+(j<<2)>>2]|0;a=0;d=0.0;while(1){if((i|0)>=(c[m>>2]|0))break;g=c[P+(i<<2)>>2]|0;if((j|0)!=(g|0)){d=+Xw(e,b,j,g);d=d+ +h[k>>3];h[k>>3]=d;a=a+1|0}i=i+1|0}if((a|0)<=0){o=14;break}h[k>>3]=d/+(a|0);j=l}if((o|0)==14)Aa(96209,96132,358,96177);while(1){if((n|0)>=(N|0)){a=0;l=0;break}c[L+(n<<2)>>2]=-1;n=n+1|0}a:while(1){if((l|0)>=(N|0))break;c[L+(l<<2)>>2]=l;j=O+(l<<2)|0;m=l+1|0;n=O+(m<<2)|0;i=c[j>>2]|0;while(1){g=c[n>>2]|0;if((i|0)>=(g|0))break;g=L+(c[P+(i<<2)>>2]<<2)|0;if((c[g>>2]|0)!=(l|0)){c[g>>2]=l;a=a+1|0}i=i+1|0}k=c[j>>2]|0;while(1){if((k|0)>=(g|0)){l=m;continue a}i=c[P+(k<<2)>>2]|0;j=O+(i+1<<2)|0;i=c[O+(i<<2)>>2]|0;while(1){if((i|0)>=(c[j>>2]|0))break;g=L+(c[P+(i<<2)>>2]<<2)|0;if((c[g>>2]|0)!=(l|0)){c[g>>2]=l;a=a+1|0}i=i+1|0}k=k+1|0;g=c[n>>2]|0}}g=a+N|0;F=R+4|0;c[F>>2]=ow(N,N,g,1,1)|0;g=ow(N,N,g,1,1)|0;I=R+8|0;c[I>>2]=g;a=c[F>>2]|0;do if(!((g|0)==0|(a|0)==0)){D=c[a+20>>2]|0;C=c[a+24>>2]|0;A=c[a+28>>2]|0;E=c[g+28>>2]|0;B=c[g+20>>2]|0;x=c[g+24>>2]|0;c[B>>2]=0;c[D>>2]=0;y=(f|0)==0;z=(f|0)==2;f=(f|0)==1;d=0.0;p=0.0;o=0;i=0;b:while(1){if((o|0)>=(N|0)){o=62;break}t=o+N|0;c[L+(o<<2)>>2]=t;k=O+(o<<2)|0;u=o+1|0;v=O+(u<<2)|0;w=J+(o<<3)|0;q=0.0;r=0.0;j=c[k>>2]|0;while(1){a=c[v>>2]|0;if((j|0)>=(a|0))break;g=c[P+(j<<2)>>2]|0;a=L+(g<<2)|0;if((c[a>>2]|0)!=(t|0)){c[a>>2]=t;c[C+(i<<2)>>2]=g;do if(y)s=1.0;else{if(f){s=(+h[w>>3]+ +h[J+(g<<3)>>3])*.5;break}if(!z){o=44;break b}s=+H(+(+Ww(e,b,o,g)),.4)}while(0);U=-1.0/(s*s);h[A+(i<<3)>>3]=U;c[x+(i<<2)>>2]=g;T=s*U;n=E+(i<<3)|0;h[n>>3]=T;p=p+T*+Xw(e,b,o,g);T=+h[n>>3];i=i+1|0;q=q+U;r=r+T;d=d+s*T}j=j+1|0}n=c[k>>2]|0;while(1){if((n|0)>=(a|0))break;k=c[P+(n<<2)>>2]|0;l=O+(k+1<<2)|0;m=J+(k<<3)|0;j=c[O+(k<<2)>>2]|0;while(1){if((j|0)>=(c[l>>2]|0))break;g=P+(j<<2)|0;a=L+(c[g>>2]<<2)|0;if((c[a>>2]|0)!=(t|0)){c[a>>2]=t;do if(y)s=2.0;else{if(f){s=(+h[w>>3]+ +h[m>>3]*2.0+ +h[J+(c[g>>2]<<3)>>3])*.5;break}if(!z){o=57;break b}s=+H(+(+Ww(e,b,o,c[g>>2]|0)),.4)}while(0);c[C+(i<<2)>>2]=c[g>>2];T=-1.0/(s*s);h[A+(i<<3)>>3]=T;c[x+(i<<2)>>2]=c[g>>2];U=s*T;a=E+(i<<3)|0;h[a>>3]=U;p=p+U*+Xw(e,b,c[g>>2]|0,k);U=+h[a>>3];i=i+1|0;q=q+T;r=r+U;d=d+s*U}j=j+1|0}n=n+1|0;a=c[v>>2]|0}c[C+(i<<2)>>2]=o;w=K+(o<<3)|0;U=-(q*+h[w>>3]);h[w>>3]=U;h[A+(i<<3)>>3]=U-q;c[x+(i<<2)>>2]=o;h[E+(i<<3)>>3]=-r;i=i+1|0;c[D+(u<<2)>>2]=i;c[B+(u<<2)>>2]=i;o=u}if((o|0)==44){_3(96216,29,1,c[15715]|0)|0;Aa(138697,96132,418,96177)}else if((o|0)==57){_3(96216,29,1,c[15715]|0)|0;Aa(138697,96132,460,96177)}else if((o|0)==62){d=p/d;a=0;while(1){if((a|0)>=(i|0))break;P=E+(a<<3)|0;h[P>>3]=d*+h[P>>3];a=a+1|0}h[S>>3]=d;c[(c[F>>2]|0)+8>>2]=i;c[(c[I>>2]|0)+8>>2]=i;l6(L);l6(J);nw(Q);M=R;break}}else{Cx(R);M=0}while(0);return M|0}function Cx(a){a=a|0;var b=0;if(a|0){b=c[a+4>>2]|0;if(b|0)nw(b);b=c[a+8>>2]|0;if(b|0)nw(b);b=c[a+12>>2]|0;if(b|0)l6(b);b=c[a+20>>2]|0;if(b|0)db[c[a+16>>2]&127](b);l6(a)}return}function Dx(a,b,d,e,f,g){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0;O=c[a>>2]|0;if(tw(a,0)|0?(c[a+16>>2]|0)==1:0){k=S(O,b)|0;j=0.0;i=0;while(1){if((i|0)>=(k|0))break;u=+h[e+(i<<3)>>3];j=j+u*u;i=i+1|0}a:do if(j==0.0){i=0;while(1){if((i|0)>=(k|0))break a;h[e+(i<<3)>>3]=+Pw()*72.0;i=i+1|0}}while(0);J=c[a+20>>2]|0;K=c[a+24>>2]|0;L=c[a+28>>2]|0;i=IK(56)|0;N=i+32|0;h[N>>3]=1.0;c[i+20>>2]=0;c[i+24>>2]=0;c[i>>2]=a;h[i+40>>3]=.01;c[i+48>>2]=~~+G(+(+(c[a>>2]|0)));M=IK(O<<3)|0;c[i+12>>2]=M;k=0;while(1){if((k|0)>=(O|0))break;h[M+(k<<3)>>3]=d;k=k+1|0}a=(c[a+8>>2]|0)+O|0;H=i+4|0;c[H>>2]=ow(O,O,a,1,1)|0;a=ow(O,O,a,1,1)|0;I=i+8|0;c[I>>2]=a;k=c[H>>2]|0;if(!((a|0)==0|(k|0)==0)){B=c[k+20>>2]|0;C=c[k+24>>2]|0;D=c[a+20>>2]|0;E=c[a+24>>2]|0;z=c[k+28>>2]|0;F=c[a+28>>2]|0;c[D>>2]=0;c[B>>2]=0;t=0.0;u=0.0;A=0;w=0;b:while(1){if((w|0)>=(O|0))break;x=w+1|0;y=J+(x<<2)|0;l=0.0;m=0.0;v=c[J+(w<<2)>>2]|0;j=t;d=u;k=A;while(1){o=z+(k<<3)|0;a=C+(k<<2)|0;p=F+(k<<3)|0;q=E+(k<<2)|0;if((v|0)>=(c[y>>2]|0))break;r=c[K+(v<<2)>>2]|0;if((r|0)!=(w|0)){c[a>>2]=r;s=+h[L+(v<<3)>>3];n=s*s;a=n==0.0;switch(f|0){case 2:{n=a?-1.0e5:-1.0/n;break}case 1:{n=a?-1.0e5:-1.0/s;break}case 0:{n=-1.0;break}default:{P=23;break b}}h[o>>3]=n;c[q>>2]=r;Q=s*n;h[p>>3]=Q;d=d+Q*+Xw(e,b,w,r);Q=+h[p>>3];l=l+n;m=m+Q;j=j+s*Q;k=k+1|0}v=v+1|0}c[a>>2]=w;A=M+(w<<3)|0;t=-(l*+h[A>>3]);h[A>>3]=t;h[o>>3]=t-l;c[q>>2]=w;h[p>>3]=-m;A=k+1|0;c[B+(x<<2)>>2]=A;c[D+(x<<2)>>2]=A;t=j;u=d;w=x}if((P|0)==23)Aa(138697,96132,591,96313);j=(g|0)==0?1.0:u/t;if(j==0.0)i=0;else{k=0;while(1){if((k|0)>=(A|0))break;P=F+(k<<3)|0;h[P>>3]=j*+h[P>>3];k=k+1|0}h[N>>3]=j;c[(c[H>>2]|0)+8>>2]=A;c[(c[I>>2]|0)+8>>2]=A}}else{Cx(i);i=0}return i|0}Aa(96246,96132,525,96313);return 0}function Ex(a){a=a|0;Cx(a);return}function Fx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return +(+Gx(a,b,c,d,e))}function Gx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0;U=l;l=l+16|0;Q=U+12|0;T=U+8|0;n=U+4|0;k=U;m=c[a+4>>2]|0;i=c[a+8>>2]|0;c[Q>>2]=0;c[T>>2]=0;c[n>>2]=0;L=c[a+12>>2]|0;c[k>>2]=0;M=uw(i)|0;N=c[m>>2]|0;O=S(N,b)|0;g=O<<3;R=IK(g)|0;if((R|0)!=0?(P=S(b<<3,N)|0,B6(R|0,d|0,P|0)|0,K=IK(g)|0,c[T>>2]=K,(K|0)!=0):0){J=c[i+20>>2]|0;K=c[i+24>>2]|0;E=c[i+28>>2]|0;F=c[M+28>>2]|0;H=c[m+28>>2]|0;I=a+24|0;g=a+20|0;switch(c[I>>2]|0){case 1:{Hx(c[g>>2]|0,N,b,d,k,n);g=c[k>>2]|0;if(!g){B=0.0;C=0.0;g=0}else{m=vw(m,g)|0;B=0.0;C=0.0}break}case 2:{g=c[g>>2]|0;B=+h[g+8>>3];C=+h[g>>3];g=0;break}default:{B=0.0;C=0.0;g=0}}z=(L|0)==0;A=a+48|0;y=a+40|0;i=c[n>>2]|0;j=1.0;k=0;a:while(1){x=k+1|0;if(!((k|0)<(e|0)&j>f))break;b:do if((c[I>>2]|0)==4){n=c[T>>2]|0;k=0;while(1){if((k|0)>=(N|0))break b;o=S(k,b)|0;a=0;while(1){if((a|0)>=(b|0))break;h[n+(a+o<<3)>>3]=0.0;a=a+1|0}k=k+1|0}}else{t=0;while(1){if((t|0)>=(N|0))break;v=t+1|0;w=J+(v<<2)|0;p=0.0;u=c[J+(t<<2)>>2]|0;k=-1;while(1){if((u|0)>=(c[w>>2]|0))break;n=K+(u<<2)|0;a=c[n>>2]|0;if((t|0)==(a|0))k=u;else{s=+Xw(d,b,t,a);o=E+(u<<3)|0;r=+h[o>>3];q=F+(u<<3)|0;if(r==0.0)r=0.0;else{if(s==0.0){r=r/+h[H+(u<<3)>>3];a=0;while(1){if((a|0)>=(b|0))break;s=r*((+Pw()+.0001)*.0001);V=d+((S(c[n>>2]|0,b)|0)+a<<3)|0;h[V>>3]=+h[V>>3]+s;a=a+1|0}s=+Xw(d,b,t,c[n>>2]|0);r=+h[o>>3]}r=r/s}h[q>>3]=r;p=p+r}u=u+1|0}if((k|0)<=-1){D=25;break a}h[F+(k<<3)>>3]=-p;t=v}Dw(M,0,d,0,T,0,b)}while(0);c:do if(!z){n=c[T>>2]|0;k=0;while(1){if((k|0)>=(N|0))break c;o=L+(k<<3)|0;q=S(k,b)|0;a=0;while(1){if((a|0)>=(b|0))break;w=a+q|0;V=n+(w<<3)|0;h[V>>3]=+h[o>>3]*+h[R+(w<<3)>>3]+ +h[V>>3];a=a+1|0}k=k+1|0}}while(0);switch(c[I>>2]|0){case 1:{n=c[T>>2]|0;k=0;while(1){if((k|0)>=(N|0))break;o=S(k,b)|0;a=0;while(1){if((a|0)>=(b|0))break;D=a+o|0;V=n+(D<<3)|0;h[V>>3]=+h[i+(D<<3)>>3]+ +h[V>>3];a=a+1|0}k=k+1|0}k=n;p=+h[y>>3];a=c[A>>2]|0;D=51;break}case 2:{Ix(N,b,d,c[T>>2]|0,C,B);k=c[T>>2]|0;p=+h[y>>3];a=c[A>>2]|0;if((c[I>>2]|0)==2)Jx(m,C,b,d,k,p,a,Q);else D=51;break}default:{k=c[T>>2]|0;p=+h[y>>3];a=c[A>>2]|0;D=51}}if((D|0)==51){D=0;+cy(m,b,d,k,p,a,0,Q)}if(c[Q>>2]|0)break;j=+Kx(N,b,d,c[T>>2]|0);j=j/+G(+(+Tw(O,d,d)));B6(d|0,c[T>>2]|0,P|0)|0;k=x}if((D|0)==25)Aa(96350,96132,895,96361);nw(M);if(g){nw(g);nw(m)}}else{nw(M);j=1.0;i=0}l6(R);g=c[T>>2]|0;if(g|0)l6(g);if(i|0)l6(i);l=U;return +j}function Hx(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0.0;q=c[a+8>>2]|0;B=c[a+12>>2]|0;y=c[a+16>>2]|0;A=c[a+32>>2]|0;z=c[A+20>>2]|0;A=c[A+24>>2]|0;m=a+20|0;s=c[m>>2]|0;n=a+24|0;r=c[n>>2]|0;o=a+28|0;p=c[o>>2]|0;x=+h[a>>3];a=(s|0)!=0;i=(r|0)!=0|(p|0)!=0;a:do if((q|2|0)==3){if(!a){if(i)Aa(96395,96132,692,96412);else{j=0;l=0}while(1){if((j|0)>=(B|0))break;w=c[y+(j<<2)>>2]|0;t=+((c[z+(w+1<<2)>>2]|0)-(c[z+(w<<2)>>2]|0)|0)+1.0;j=j+1|0;l=~~(t*t)+l|0}r=l<<2;s=IK(r)|0;c[m>>2]=s;r=IK(r)|0;c[n>>2]=r;p=IK(l<<3)|0;c[o>>2]=p}u=0;a=0;while(1){if((u|0)>=(B|0))break;o=c[y+(u<<2)>>2]|0;q=z+(o<<2)|0;j=c[q>>2]|0;i=c[A+(j<<2)>>2]|0;j=c[A+(j+1<<2)>>2]|0;b:do if((i|0)!=(j|0)){C=+Ww(e,d,i,j);C=C*C;n=z+(o+1<<2)|0;t=+((c[n>>2]|0)-(c[q>>2]|0)|0);c[s+(a<<2)>>2]=o;c[r+(a<<2)>>2]=o;h[p+(a<<3)>>3]=x/C;k=C*(t*t);t=-(x/(C*t));j=c[q>>2]|0;while(1){a=a+1|0;i=c[n>>2]|0;if((j|0)>=(i|0))break;c[s+(a<<2)>>2]=o;c[r+(a<<2)>>2]=c[A+(j<<2)>>2];h[p+(a<<3)>>3]=t;j=j+1|0}k=x/k;m=c[q>>2]|0;while(1){if((m|0)>=(i|0))break b;l=c[A+(m<<2)>>2]|0;c[s+(a<<2)>>2]=l;c[r+(a<<2)>>2]=o;h[p+(a<<3)>>3]=t;j=c[q>>2]|0;while(1){a=a+1|0;i=c[n>>2]|0;if((j|0)>=(i|0))break;w=c[A+(j<<2)>>2]|0;c[s+(a<<2)>>2]=l;c[r+(a<<2)>>2]=w;h[p+(a<<3)>>3]=k;j=j+1|0}m=m+1|0}}while(0);u=u+1|0}i=Aw(a,b,b,s,r,p,1,8)|0;a=0}else{switch(q|0){case 2:case 4:break;default:{i=0;a=0;break a}}do if(!a)if(i)Aa(96395,96132,734,96412);else{v=B<<2;w=IK(v)|0;c[m>>2]=w;v=IK(v)|0;c[n>>2]=v;u=IK(B<<3)|0;c[o>>2]=u;break}else{u=p;v=r;w=s}while(0);a=IK(S(b<<3,d)|0)|0;j=S(d,b)|0;i=0;while(1){if((i|0)>=(j|0)){o=0;break}h[a+(i<<3)>>3]=0.0;i=i+1|0}while(1){if((o|0)>=(B|0))break;p=c[y+(o<<2)>>2]|0;l=z+(p<<2)|0;m=c[l>>2]|0;k=+Ww(e,d,c[A+(m<<2)>>2]|0,c[A+(m+1<<2)>>2]|0);c[w+(o<<2)>>2]=p;c[v+(o<<2)>>2]=p;k=x/k;h[u+(o<<3)>>3]=k;l=c[l>>2]|0;m=c[z+(p+1<<2)>>2]|0;p=S(p,d)|0;j=l;while(1){if((j|0)>=(m|0))break;n=S(c[A+(j<<2)>>2]|0,d)|0;i=0;while(1){if((i|0)>=(d|0))break;s=a+(i+p<<3)|0;h[s>>3]=+h[e+(i+n<<3)>>3]+ +h[s>>3];i=i+1|0}j=j+1|0}k=k/+(m-l|0);i=0;while(1){if((i|0)>=(d|0))break;s=a+(i+p<<3)|0;h[s>>3]=+h[s>>3]*k;i=i+1|0}o=o+1|0}i=Aw(o,b,b,w,v,u,1,8)|0}while(0);c[f>>2]=i;c[g>>2]=a;return}function Ix(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0;f=e*f;g=0;a:while(1){if((g|0)>=(a|0))break;l=g+1|0;m=S(g,b)|0;i=l;while(1){if((i|0)==(a|0)){g=l;continue a}e=+Ww(c,b,g,i);k=S(i,b)|0;j=0;while(1){if((j|0)>=(b|0))break;p=j+m|0;n=j+k|0;o=f*((+h[c+(p<<3)>>3]-+h[c+(n<<3)>>3])/e);p=d+(p<<3)|0;h[p>>3]=+h[p>>3]+o;n=d+(n<<3)|0;h[n>>3]=+h[n>>3]-o;j=j+1|0}i=i+1|0}}return}function Jx(a,b,d,e,f,g,h,i){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=i|0;var j=0,k=0;k=Tx(a,b)|0;j=Yx(a,b)|0;+$x(k,j,c[a>>2]|0,d,e,f,g,h,i);return}function Kx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,l=0;f=0;i=0.0;while(1){if((f|0)>=(a|0))break;j=S(f,b)|0;e=0;g=0.0;while(1){if((e|0)>=(b|0))break;l=e+j|0;k=+h[d+(l<<3)>>3]-+h[c+(l<<3)>>3];e=e+1|0;g=g+k*k}f=f+1|0;i=i+ +G(+g)}return +i}function Lx(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0;A=c[a>>2]|0;p=c[a+20>>2]|0;q=c[a+24>>2]|0;if(!(tw(a,0)|0))Aa(96096,96132,1034,96434);r=A<<3;B=IK(r)|0;j=0;while(1){if((j|0)>=(A|0))break;m=B+(j<<3)|0;h[m>>3]=0.0;n=j+1|0;o=p+(n<<2)|0;l=c[p+(j<<2)>>2]|0;g=0;k=0.0;while(1){if((l|0)>=(c[o>>2]|0))break;i=c[q+(l<<2)>>2]|0;if((j|0)!=(i|0)){k=+Xw(e,b,j,i);k=k+ +h[m>>3];h[m>>3]=k;g=g+1|0}l=l+1|0}if((g|0)<=0){z=11;break}h[m>>3]=k/+(g|0);j=n}if((z|0)==11)Aa(96209,96132,1046,96434);g=IK(56)|0;y=g+32|0;h[y>>3]=1.0;c[g+20>>2]=0;c[g+24>>2]=0;h[g+40>>3]=.01;c[g+48>>2]=~~+G(+(+(c[a>>2]|0)));x=IK(r)|0;c[g+12>>2]=x;i=0;while(1){if((i|0)>=(A|0))break;h[x+(i<<3)>>3]=d;i=i+1|0}do if((A|0)>2)if(!f){i=ey(A,b,e)|0;break}else{i=dy(A,b,e)|0;break}else i=uw(a)|0;while(0);f=g+4|0;c[f>>2]=vw(a,i)|0;nw(i);j=uw(c[f>>2]|0)|0;c[g+8>>2]=j;i=c[f>>2]|0;if((j|0)==0|(i|0)==0){Mx(g);g=0}else{r=c[i+20>>2]|0;q=c[i+24>>2]|0;p=c[i+28>>2]|0;f=c[j+28>>2]|0;v=0.0;w=0.0;m=0;while(1){if((m|0)>=(A|0))break;o=m+1|0;n=r+(o<<2)|0;u=0.0;d=0.0;j=-1;s=v;t=w;l=c[r+(m<<2)>>2]|0;while(1){if((l|0)>=(c[n>>2]|0))break;i=c[q+(l<<2)>>2]|0;if((i|0)==(m|0)){k=u;i=l}else{D=+H(+(+Ww(e,b,m,i)),.6);k=1.0/(D*D);h[p+(l<<3)>>3]=k;C=D*k;a=f+(l<<3)|0;h[a>>3]=C;t=t+C*+Xw(e,b,m,i);C=+h[a>>3];k=u+k;d=d+C;i=j;s=s+D*C}u=k;j=i;l=l+1|0}a=x+(m<<3)|0;k=-(u*+h[a>>3]);h[a>>3]=k;if((j|0)<=-1){z=31;break}h[p+(j<<3)>>3]=k-u;h[f+(j<<3)>>3]=-d;v=s;w=t;m=o}if((z|0)==31)Aa(96455,96132,1112,96434);k=w/v;j=c[r+(A<<2)>>2]|0;i=0;while(1){if((i|0)>=(j|0))break;A=f+(i<<3)|0;h[A>>3]=k*+h[A>>3];i=i+1|0}h[y>>3]=k;l6(B)}return g|0}function Mx(a){a=a|0;Cx(a);return}function Nx(a,b,c){a=a|0;b=b|0;c=c|0;+Gx(a,b,c,50,.001);return}function Ox(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=c[a>>2]|0;A=c[a+20>>2]|0;B=c[a+24>>2]|0;if(!(tw(a,0)|0))Aa(96096,96132,1149,96466);v=Ax(a,b,e)|0;w=c[v+28>>2]|0;a=IK(8)|0;x=IK(z<<2)|0;y=IK(z<<3)|0;i=0;while(1){if((i|0)>=(z|0)){o=0;break}l=y+(i<<3)|0;h[l>>3]=0.0;m=i+1|0;n=A+(m<<2)|0;j=c[A+(i<<2)>>2]|0;f=0;k=0.0;while(1){if((j|0)>=(c[n>>2]|0))break;g=c[B+(j<<2)>>2]|0;if((i|0)!=(g|0)){k=+Xw(e,b,i,g);k=k+ +h[l>>3];h[l>>3]=k;f=f+1|0}j=j+1|0}if((f|0)<=0){p=11;break}h[l>>3]=k/+(f|0);i=m}if((p|0)==11)Aa(96209,96132,1167,96466);while(1){if((o|0)>=(z|0)){m=0;f=0;break}c[x+(o<<2)>>2]=-1;o=o+1|0}a:while(1){if((m|0)>=(z|0))break;c[x+(m<<2)>>2]=m;j=A+(m<<2)|0;n=m+1|0;o=A+(n<<2)|0;i=c[j>>2]|0;while(1){g=c[o>>2]|0;if((i|0)>=(g|0))break;g=x+(c[B+(i<<2)>>2]<<2)|0;if((c[g>>2]|0)!=(m|0)){c[g>>2]=m;f=f+1|0}i=i+1|0}l=c[j>>2]|0;while(1){if((l|0)>=(g|0)){m=n;continue a}i=c[B+(l<<2)>>2]|0;j=A+(i+1<<2)|0;i=c[A+(i<<2)>>2]|0;while(1){if((i|0)>=(c[j>>2]|0))break;g=x+(c[B+(i<<2)>>2]<<2)|0;if((c[g>>2]|0)!=(m|0)){c[g>>2]=m;f=f+1|0}i=i+1|0}l=l+1|0;g=c[o>>2]|0}}e=ow(z,z,f,1,1)|0;c[a>>2]=e;if(!e){Px(a);a=0}else{p=c[e+20>>2]|0;q=c[e+24>>2]|0;r=c[e+28>>2]|0;c[p>>2]=0;g=0;f=0;while(1){if((g|0)>=(z|0))break;s=g+z|0;c[x+(g<<2)>>2]=s;l=A+(g<<2)|0;t=g+1|0;u=A+(t<<2)|0;b=y+(g<<3)|0;j=c[l>>2]|0;while(1){g=c[u>>2]|0;if((j|0)>=(g|0))break;g=c[B+(j<<2)>>2]|0;i=x+(g<<2)|0;if((c[i>>2]|0)!=(s|0)){c[i>>2]=s;c[q+(f<<2)>>2]=g;o=r+(f<<3)|0;h[o>>3]=(+h[b>>3]+ +h[y+(g<<3)>>3])*.5;h[o>>3]=+h[w+(j<<3)>>3];f=f+1|0}j=j+1|0}o=c[l>>2]|0;while(1){if((o|0)>=(g|0))break;j=c[B+(o<<2)>>2]|0;l=A+(j+1<<2)|0;m=y+(j<<3)|0;n=w+(o<<3)|0;j=c[A+(j<<2)>>2]|0;while(1){if((j|0)>=(c[l>>2]|0))break;g=B+(j<<2)|0;i=x+(c[g>>2]<<2)|0;if((c[i>>2]|0)!=(s|0)){c[i>>2]=s;c[q+(f<<2)>>2]=c[g>>2];i=r+(f<<3)|0;h[i>>3]=(+h[b>>3]+ +h[m>>3]*2.0+ +h[y+(c[g>>2]<<3)>>3])*.5;h[i>>3]=+h[n>>3]+ +h[w+(j<<3)>>3];f=f+1|0}j=j+1|0}o=o+1|0;g=c[u>>2]|0}c[p+(t<<2)>>2]=f;g=t}c[e+8>>2]=f;A=Vp()|0;B=a+4|0;c[B>>2]=A;B6(A|0,d|0,168)|0;B=c[B>>2]|0;c[B+16>>2]=0;c[B+40>>2]=1;A=B+96|0;h[A>>3]=+h[A>>3]*.5;c[B+80>>2]=20;l6(x);l6(y);nw(v)}return a|0}function Px(a){a=a|0;var b=0;if(a|0){b=c[a>>2]|0;if(b|0)nw(b);a=c[a+4>>2]|0;if(a|0)Wp(a)}return}function Qx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+16|0;h=g;c[h>>2]=0;pq(e,b,c[a>>2]|0,c[a+4>>2]|0,d,f,h);if(!(c[h>>2]|0)){l=g;return}else Aa(96485,96132,1262,96491)}function Rx(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;c[g>>2]=0;g=c[d+120>>2]|0;a:do switch(g|0){case 5:case 6:{if((c[b>>2]|0)>2){b=Lx(b,a,0.0,f,(g|0)!=6&1)|0;Nx(b,a,f);Mx(b)}break}case 4:{g=0;while(1){if((g|0)==1)break a;i=Ox(b,a,d,f)|0;Qx(i,b,e,a,f);Px(i);g=g+1|0}}case 1:{d=0;h=6;break}case 2:{d=1;h=6;break}case 3:{d=2;h=6;break}default:{}}while(0);b:do if((h|0)==6){g=0;while(1){if((g|0)==1)break b;i=Bx(b,a,.05,f,d)|0;+Gx(i,a,f,50,.001);Cx(i);g=g+1|0}}while(0);return}function Sx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0.0,j=0,k=0;k=l;l=l+16|0;f=k;c[f>>2]=d;j=c[a>>2]|0;a=c[j+8>>2]|0;i=+h[j>>3];j=c[a>>2]|0;Gw(a,b,f,0);a=0;g=0.0;while(1){if((a|0)>=(j|0))break;e=g+ +h[b+(a<<3)>>3];a=a+1|0;g=e}d=c[f>>2]|0;e=+(j|0);a=0;while(1){if((a|0)>=(j|0))break;f=d+(a<<3)|0;h[f>>3]=+h[f>>3]+i*(e*+h[b+(a<<3)>>3]-g);a=a+1|0}l=k;return d|0}function Tx(a,b){a=a|0;b=+b;var d=0,e=0;d=IK(8)|0;e=IK(16)|0;c[d>>2]=e;h[e>>3]=b;c[e+8>>2]=a;c[d+4>>2]=28;return d|0}function Ux(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=d;Gw(c[a>>2]|0,b,e,0);l=f;return c[e>>2]|0}function Vx(a){a=a|0;var b=0;b=IK(8)|0;c[b>>2]=a;c[b+4>>2]=29;return b|0}function Wx(a){a=a|0;if(a|0)l6(a);return}function Xx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[a>>2]|0;e=~~+h[f>>3];f=f+8|0;a=0;while(1){if((a|0)>=(e|0))break;h[d+(a<<3)>>3]=+h[b+(a<<3)>>3]*+h[f+(a<<3)>>3];a=a+1|0}return d|0}function Yx(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0.0;m=c[a>>2]|0;o=c[a+20>>2]|0;p=c[a+24>>2]|0;k=c[a+28>>2]|0;l=IK(8)|0;i=IK((m<<3)+8|0)|0;c[l>>2]=i;h[i>>3]=+(m|0);i=i+8|0;q=+(m+-1|0);j=1.0/q;b=q*b;a=0;a:while(1){if((a|0)>=(m|0))break;e=i+(a<<3)|0;h[e>>3]=j;f=a+1|0;g=c[o+(f<<2)>>2]|0;d=c[o+(a<<2)>>2]|0;while(1){if((d|0)>=(g|0)){a=f;continue a}if((a|0)==(c[p+(d<<2)>>2]|0)?(n=+h[k+(d<<3)>>3],(n>=0.0?n:-n)>0.0):0)h[e>>3]=1.0/(b+n);d=d+1|0}}c[l+4>>2]=30;return l|0}function Zx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0;i=c[a>>2]|0;k=c[a+20>>2]|0;l=c[a+24>>2]|0;m=c[a+28>>2]|0;n=IK(8)|0;d=IK((c[a>>2]<<3)+8|0)|0;c[n>>2]=d;h[d>>3]=+(i|0);d=d+8|0;a=0;a:while(1){if((a|0)>=(i|0))break;e=d+(a<<3)|0;h[e>>3]=1.0;f=a+1|0;g=c[k+(f<<2)>>2]|0;b=c[k+(a<<2)>>2]|0;while(1){if((b|0)>=(g|0)){a=f;continue a}if((a|0)==(c[l+(b<<2)>>2]|0)?(j=+h[m+(b<<3)>>3],(j>=0.0?j:-j)>0.0):0)h[e>>3]=1.0/j;b=b+1|0}}c[n+4>>2]=30;return n|0}function _x(a){a=a|0;l6(c[a>>2]|0);if(a|0)l6(a);return}function $x(a,b,c,d,e,f,g,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;i=i|0;j=j|0;var k=0.0,l=0,m=0.0,n=0,o=0,p=0;o=c<<3;n=IK(o)|0;o=IK(o)|0;l=0;m=0.0;while(1){if((l|0)<(d|0))j=0;else break;while(1){if((j|0)>=(c|0))break;p=(S(j,d)|0)+l|0;h[n+(j<<3)>>3]=+h[e+(p<<3)>>3];h[o+(j<<3)>>3]=+h[f+(p<<3)>>3];j=j+1|0}k=+ay(a,b,c,n,o,g,i);j=0;while(1){if((j|0)>=(c|0))break;h[f+((S(j,d)|0)+l<<3)>>3]=+h[n+(j<<3)>>3];j=j+1|0}l=l+1|0;m=m+k}l6(n);l6(o);return +m}function ay(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;var i=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0.0,t=0,u=0;r=c[a+4>>2]|0;p=c[b+4>>2]|0;q=d<<3;i=IK(q)|0;k=IK(q)|0;t=IK(q)|0;l=IK(q)|0;k=eb[r&63](a,e,k)|0;m=Sw(d,f,k)|0;o=+(d|0);s=+G(+(+Tw(d,m,m)))/o;n=s*g;m=0;f=t;j=1.0;g=s;while(1){if(!(g>n&(m|0)<(h|0)))break;i=eb[p&63](b,k,i)|0;g=+Tw(d,k,i);if((m|0)>0)Uw(d,i,f,g/j)|0;else B6(f|0,i|0,q|0)|0;u=eb[r&63](a,f,l)|0;j=g/+Tw(d,f,u);Vw(d,e,f,j)|0;t=Vw(d,k,u,-j)|0;m=m+1|0;j=g;l=u;g=+G(+(+Tw(d,t,t)))/o}l6(i);l6(k);l6(f);l6(l);return +g}function by(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+16|0;B=C;y=c[a+4>>2]|0;z=y<<3;A=IK(z)|0;u=IK(z)|0;v=IK(z)|0;w=c[a+20>>2]|0;x=c[a+24>>2]|0;s=c[a+28>>2]|0;t=c[15715]|0;r=0;while(1){if((r|0)<(b|0))g=0;else break;while(1){if((g|0)>=(y|0)){a=0;break}q=(S(g,b)|0)+r|0;h[A+(g<<3)>>3]=+h[d+(q<<3)>>3];h[v+(g<<3)>>3]=+h[e+(q<<3)>>3];g=g+1|0}while(1){if((a|0)<(f|0))n=0;else{g=0;break}while(1){if((n|0)>=(y|0))break;o=c[w+(n<<2)>>2]|0;p=n+1|0;q=c[w+(p<<2)>>2]|0;m=o;j=0.0;i=0.0;while(1){if((m|0)>=(q|0))break;g=c[x+(m<<2)>>2]|0;k=+h[s+(m<<3)>>3];if((g|0)==(n|0))i=k;else j=j+k*+h[A+(g<<3)>>3];m=m+1|0}if(j==0.0){c[B>>2]=q-o;z4(t,96513,B)|0}h[u+(n<<3)>>3]=(+h[v+(n<<3)>>3]-j)/i;n=p}B6(A|0,u|0,z|0)|0;a=a+1|0}while(1){if((g|0)>=(y|0))break;h[e+((S(g,b)|0)+r<<3)>>3]=+h[A+(g<<3)>>3];g=g+1|0}r=r+1|0}l6(A);l6(u);l6(v);l=C;return e|0}function cy(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;i=i|0;var j=0;j=c[a>>2]|0;c[i>>2]=0;switch(h|0){case 0:{h=Vx(a)|0;i=Zx(a)|0;f=+$x(h,i,j,b,d,e,f,g,0);Wx(h);_x(i);break}case 1:{by(a,b,d,e,g,0)|0;f=0.0;break}default:f=0.0}return +f}function dy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;k=o;m=o+20|0;f=o+16|0;g=o+12|0;i=o+8|0;h[k>>3]=1.0;j=a<<3;n=IK(j)|0;j=IK(j)|0;b=0;while(1){if((b|0)>=(a|0))break;e=b<<1;h[n+(b<<3)>>3]=+h[d+(e<<3)>>3];h[j+(b<<3)>>3]=+h[d+((e|1)<<3)>>3];b=b+1|0}c[m>>2]=b;if((a|0)>2)d=Wr(n,j,a,i)|0;else{c[i>>2]=0;d=0}e=ow(a,a,1,1,2)|0;b=0;while(1){c[m>>2]=b;if((b|0)>=(c[i>>2]|0))break;p=b<<1;c[f>>2]=c[d+(p<<2)>>2];c[g>>2]=c[d+((p|1)<<2)>>2];Kw(e,1,f,g,k)|0;b=(c[m>>2]|0)+1|0}if((a|0)==2){c[f>>2]=0;c[g>>2]=1;Kw(e,1,f,g,k)|0;b=0}else b=0;while(1){c[m>>2]=b;if((b|0)>=(a|0))break;Kw(e,1,m,m,k)|0;b=(c[m>>2]|0)+1|0}a=zw(e)|0;nw(e);p=sw(a,0)|0;nw(a);l6(d);l6(n);l6(j);l=o;return p|0}function ey(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m+8|0;i=m;h[i>>3]=1.0;k=a<<3;j=IK(k)|0;k=IK(k)|0;e=0;while(1){if((e|0)>=(a|0))break;f=S(e,b)|0;h[j+(e<<3)>>3]=+h[d+(f<<3)>>3];h[k+(e<<3)>>3]=+h[d+(f+1<<3)>>3];e=e+1|0}c[g>>2]=e;e=Xr(j,k,a,0)|0;f=ow(a,a,1,1,2)|0;b=0;while(1){c[g>>2]=b;if((b|0)<(a|0))d=1;else{b=0;break}while(1){if((d|0)>=(c[e+(b*12|0)>>2]|0))break;Kw(f,1,g,(c[e+(b*12|0)+4>>2]|0)+(d<<2)|0,i)|0;d=d+1|0;b=c[g>>2]|0}b=b+1|0}while(1){c[g>>2]=b;if((b|0)>=(a|0))break;Kw(f,1,g,g,i)|0;b=(c[g>>2]|0)+1|0}i=sw(zw(f)|0,0)|0;nw(f);l6(j);l6(k);Yr(e);l=m;return i|0}function fy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;gy(f,c);hy(a,b,c,f);iy(b,f,d);jy(f);l=e;return}function gy(a,b){a=a|0;b=b|0;c[a>>2]=IK(b<<4)|0;c[a+4>>2]=b;c[a+8>>2]=0;return}function hy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+64|0;r=D+32|0;u=D+48|0;v=D+16|0;w=D;t=b<<2;A=IK(t)|0;C=IK(t)|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;s=IK(t)|0;t=IK(t)|0;f=0;while(1){if((f|0)>=(b|0))break;c[s+(f<<2)>>2]=f;f=f+1|0}q=b+-1|0;ft(a,s,0,q);f=0;while(1){if((f|0)>=(b|0))break;c[t+(c[s+(f<<2)>>2]<<2)>>2]=f;f=f+1|0}ly(u,a,s,b);f=1;while(1){if((f|0)>=(b|0)){f=0;break}c[A+(c[s+(f<<2)>>2]<<2)>>2]=c[s+(f+-1<<2)>>2];f=f+1|0}while(1){if((f|0)>=(q|0))break;p=f+1|0;c[C+(c[s+(f<<2)>>2]<<2)>>2]=c[s+(p<<2)>>2];f=p}k=e+8|0;m=e+4|0;n=v+4|0;o=w+4|0;p=w+8|0;j=0;while(1){if((j|0)>=(d|0))break;if(!((my(u,v)|0)<<24>>24))break;f=c[k>>2]|0;b=c[m>>2]|0;if((f|0)<(b|0))b=c[e>>2]|0;else{c[m>>2]=b<<1;b=n6(c[e>>2]|0,b<<5)|0;c[e>>2]=b;f=c[k>>2]|0}c[k>>2]=f+1;f=b+(f<<4)|0;c[f>>2]=c[v>>2];c[f+4>>2]=c[v+4>>2];c[f+8>>2]=c[v+8>>2];c[f+12>>2]=c[v+12>>2];f=c[v>>2]|0;b=c[t+(f<<2)>>2]|0;g=c[n>>2]|0;i=c[t+(g<<2)>>2]|0;if((b|0)>0?(x=c[s+(b+-1<<2)>>2]|0,y=C+(x<<2)|0,(c[t+(c[y>>2]<<2)>>2]|0)<(i|0)):0){c[w>>2]=x;c[o>>2]=g;h[p>>3]=+h[a+(g<<3)>>3]-+h[a+(x<<3)>>3];c[r>>2]=c[w>>2];c[r+4>>2]=c[w+4>>2];c[r+8>>2]=c[w+8>>2];c[r+12>>2]=c[w+12>>2];ny(u,r);c[y>>2]=g;c[A+(g<<2)>>2]=x}if((i|0)<(q|0)?(z=c[s+(i+1<<2)>>2]|0,B=A+(z<<2)|0,(c[t+(c[B>>2]<<2)>>2]|0)>(b|0)):0){c[w>>2]=f;c[o>>2]=z;h[p>>3]=+h[a+(z<<3)>>3]-+h[a+(f<<3)>>3];c[r>>2]=c[w>>2];c[r+4>>2]=c[w+4>>2];c[r+8>>2]=c[w+8>>2];c[r+12>>2]=c[w+12>>2];ny(u,r);c[B>>2]=f;c[C+(f<<2)>>2]=z}j=j+1|0}l6(A);l6(C);l6(s);l6(t);oy(u);l=D;return}function iy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=IK(a<<2)|0;l=b+8|0;i=c[l>>2]|0;j=(i<<1)+a|0;h=j<<2;e=IK(h)|0;h=IK(h)|0;f=0;while(1){if((f|0)>=(a|0))break;c[k+(f<<2)>>2]=1;f=f+1|0}f=0;while(1){if((f|0)>=(i|0)){f=0;break}n=c[b>>2]|0;m=c[n+(f<<4)+4>>2]|0;n=k+(c[n+(f<<4)>>2]<<2)|0;c[n>>2]=(c[n>>2]|0)+1;m=k+(m<<2)|0;c[m>>2]=(c[m>>2]|0)+1;f=f+1|0}while(1){if((f|0)>=(j|0))break;g[h+(f<<2)>>2]=1.0;f=f+1|0}i=IK(a*20|0)|0;c[d>>2]=i;f=0;while(1){if((f|0)>=(a|0))break;c[i+(f*20|0)>>2]=1;c[i+(f*20|0)+8>>2]=h;c[i+(f*20|0)+4>>2]=e;c[e>>2]=f;g[h>>2]=0.0;n=c[k+(f<<2)>>2]|0;h=h+(n<<2)|0;e=e+(n<<2)|0;f=f+1|0}l6(k);while(1){e=c[l>>2]|0;if(!e)break;n=e+-1|0;c[l>>2]=n;m=c[b>>2]|0;ky(i,c[m+(n<<4)>>2]|0,c[m+(n<<4)+4>>2]|0)}return}function jy(a){a=a|0;l6(c[a>>2]|0);return}function ky(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0;f=a+(b*20|0)|0;h=c[f>>2]|0;i=c[a+(b*20|0)+4>>2]|0;e=0;while(1){if((e|0)>=(h|0)){j=4;break}if((c[i+(e<<2)>>2]|0)==(d|0))break;else e=e+1|0}if((j|0)==4?(c[f>>2]=h+1,c[i+(h<<2)>>2]=d,i=c[a+(d*20|0)+4>>2]|0,h=a+(d*20|0)|0,j=c[h>>2]|0,c[h>>2]=j+1,c[i+(j<<2)>>2]=b,c[a+8>>2]|0):0){j=c[a+(b*20|0)+8>>2]|0;g[j>>2]=+g[j>>2]+-1.0;j=c[a+(d*20|0)+8>>2]|0;g[j>>2]=+g[j>>2]+-1.0}return}function ly(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0,l=0;f=e+-1|0;c[a+4>>2]=f;c[a+8>>2]=f;c[a>>2]=IK(f<<4)|0;e=0;while(1){if((e|0)>=(f|0))break;l=c[d+(e<<2)>>2]|0;g=e+1|0;k=c[d+(g<<2)>>2]|0;j=+h[b+(k<<3)>>3]-+h[b+(l<<3)>>3];i=c[a>>2]|0;c[i+(e<<4)>>2]=l;c[i+(e<<4)+4>>2]=k;h[i+(e<<4)+8>>3]=j;e=g}e=(f|0)/2|0;while(1){if((e|0)<=-1)break;py(a,e);e=e+-1|0}return}function my(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;if(!(c[d>>2]|0))a=0;else{e=c[a>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];b=c[a>>2]|0;e=b+((c[d>>2]|0)+-1<<4)|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[d>>2]=(c[d>>2]|0)+-1;py(a,0);a=1}return a|0}function ny(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;i=a+4|0;j=c[i>>2]|0;d=a+8|0;if((j|0)==(c[d>>2]|0)){c[d>>2]=j<<1;e=n6(c[a>>2]|0,j<<5)|0;c[a>>2]=e;d=c[i>>2]|0}else{d=j;e=c[a>>2]|0}c[i>>2]=d+1;e=e+(j<<4)|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];e=j;while(1){if((e|0)<=0)break;d=c[a>>2]|0;f=+h[d+(e<<4)+8>>3];b=e>>>1;g=+h[d+(b<<4)+8>>3];if(!(f>2]|0}j=d+(e<<4)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];i=d+(b<<4)|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];j=(c[a>>2]|0)+(b<<4)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];e=b}l=m;return}function oy(a){a=a|0;l6(c[a>>2]|0);return}function py(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;i=m;j=a+4|0;while(1){d=b<<1;g=d|1;if((d|0)<(c[j>>2]|0)){n=c[a>>2]|0;e=+h[n+(d<<4)+8>>3];f=+h[n+(b<<4)+8>>3];if(!(e>2]|0)){n=c[a>>2]|0;e=+h[n+(g<<4)+8>>3];f=+h[n+(d<<4)+8>>3];if(!(e>2]|0;n=g+(d<<4)|0;c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];g=g+(b<<4)|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];n=(c[a>>2]|0)+(b<<4)|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];b=d}l=m;return}function qy(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=+d;e=+e;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0.0;l=(f|0)!=0;if(!l){f=IK(b<<3)|0;if(!(gu(a,b,f,b)|0))m=3;else{a=1;m=17}}else m=3;if((m|0)==3){k=HK(b<<2)|0;c[g>>2]=k;a=0;while(1){if((a|0)>=(b|0))break;c[k+(a<<2)>>2]=a;a=a+1|0}a=b+-1|0;ft(f,k,0,a);n=+h[f+(c[k>>2]<<3)>>3];e=(+h[f+(c[k+(a<<2)>>2]<<3)>>3]-n)*e/+(a|0);e=e=(b|0))break;n=+h[f+(c[k+(g<<2)>>2]<<3)>>3];a=(n-d>e&1)+a|0;g=g+1|0;d=n}c[j>>2]=a;a:do if(!a){k=IK(4)|0;c[i>>2]=k;c[k>>2]=b}else{j=IK(a<<2)|0;c[i>>2]=j;a=0;g=1;while(1){if((g|0)>=(b|0))break a;if(+h[f+(c[k+(g<<2)>>2]<<3)>>3]-+h[f+(c[k+(g+-1<<2)>>2]<<3)>>3]>e){c[j+(a<<2)>>2]=g;a=a+1|0}g=g+1|0}}while(0);if(l)a=0;else{a=0;m=17}}if((m|0)==17)l6(f);return a|0}function ry(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c[46972]|0;if(d|0)sn(d);c[46972]=rn(b,b,0.0)|0;d=c[46973]|0;if(d|0)l6(d);c[46973]=HK(b<<2)|0;d=c[46974]|0;if(d|0)l6(d);n=HK(b<<3)|0;c[46974]=n;o=c[46972]|0;p=c[46973]|0;i=0;while(1){if((i|0)>=(b|0)){e=10;break}e=a+(i<<2)|0;g=o+(i<<2)|0;f=0.0;d=0;while(1){if((d|0)==(b|0))break;j=+h[(c[e>>2]|0)+(d<<3)>>3];h[(c[g>>2]|0)+(d<<3)>>3]=j;j=+F(+j);f=f>3]=1.0/f;c[p+(i<<2)>>2]=i;i=i+1|0}a:do if((e|0)==10){m=b+-1|0;d=0;l=0;b:while(1){if((l|0)<(m|0)){e=l;f=0.0}else break;while(1){if((e|0)>=(b|0))break;k=c[p+(e<<2)>>2]|0;j=+F(+(+h[(c[o+(k<<2)>>2]|0)+(l<<3)>>3]));j=j*+h[n+(k<<3)>>3];k=f>2]|0;c[e>>2]=c[g>>2];c[g>>2]=k}i=c[o+(c[e>>2]<<2)>>2]|0;f=+h[i+(l<<3)>>3];k=l+1|0;g=k;while(1){if((g|0)>=(b|0)){l=k;continue b}a=c[o+(c[p+(g<<2)>>2]<<2)>>2]|0;e=a+(l<<3)|0;j=+h[e>>3]/f;h[e>>3]=j;c:do if(j!=0.0){e=k;while(1){if((e|0)>=(b|0))break c;q=a+(e<<3)|0;h[q>>3]=+h[q>>3]-j*+h[i+(e<<3)>>3];e=e+1|0}}while(0);g=g+1|0}}d=+h[(c[o+(c[p+(m<<2)>>2]<<2)>>2]|0)+(m<<3)>>3]!=0.0&1}else if((e|0)==15){h[d>>3]=0.0;d=0}while(0);return d|0}function sy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,l=0;k=c[46973]|0;l=c[46972]|0;j=0;while(1){if((j|0)>=(d|0)){e=d;break}g=c[k+(j<<2)>>2]|0;i=l+(g<<2)|0;f=0.0;e=0;while(1){if((e|0)==(j|0))break;f=f+ +h[(c[i>>2]|0)+(e<<3)>>3]*+h[a+(e<<3)>>3];e=e+1|0}h[a+(j<<3)>>3]=+h[b+(g<<3)>>3]-f;j=j+1|0}while(1){b=e+-1|0;if((e|0)<=0)break;g=c[l+(c[k+(b<<2)>>2]<<2)>>2]|0;f=0.0;while(1){if((e|0)>=(d|0))break;f=f+ +h[g+(e<<3)>>3]*+h[a+(e<<3)>>3];e=e+1|0}e=a+(b<<3)|0;h[e>>3]=(+h[e>>3]-f)/+h[g+(b<<3)>>3];e=b}return}function ty(a){a=a|0;var b=0;b=IK(8)|0;c[b>>2]=a;c[b+4>>2]=0;return b|0}function uy(a,b){a=a|0;b=b|0;var d=0,e=0;if(a|0)do{d=a;a=c[a+4>>2]|0;e=c[d>>2]|0;if(e|0)db[b&127](e);l6(d)}while((a|0)!=0);return}function vy(a,b){a=a|0;b=b|0;b=ty(b)|0;c[b+4>>2]=a;return b|0}function wy(a){a=a|0;return c[a>>2]|0}function xy(a){a=a|0;return c[a+4>>2]|0}function yy(a){a=a|0;var b=0;b=IK(12)|0;c[b>>2]=a;c[b+4>>2]=0;c[b+8>>2]=0;return b|0}function zy(a,b){a=a|0;b=b|0;var d=0,e=0;if(a|0)do{d=a;a=c[a+4>>2]|0;e=c[d>>2]|0;if(e|0)db[b&127](e);l6(d)}while((a|0)!=0);return}function Ay(a,b){a=a|0;b=b|0;b=yy(b)|0;if(a|0){c[b+4>>2]=a;c[a+8>>2]=b}return b|0}function By(a){a=a|0;return c[a>>2]|0}function Cy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if(a|0){e=c[a+4>>2]|0;f=c[a+8>>2]|0;g=c[a>>2]|0;if(g|0)db[b&127](g);l6(a);if(e|0)c[e+8>>2]=f;c[(f|0?f+4|0:d)>>2]=e}return}function Dy(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;return}function Ey(a){a=a|0;var b=0;b=HK(64)|0;Dy(b+36|0);c[b+8>>2]=a;return b|0}function Fy(a){a=a|0;if(a|0){$y(c[a+32>>2]|0);l6(a)}return}function Gy(a){a=a|0;return qB(c[a+8>>2]|0)|0}function Hy(a,b){a=a|0;b=b|0;var d=0,e=0;c[b+4>>2]=0;d=a+4|0;e=c[d>>2]|0;c[((e|0)==0?a:e+4|0)>>2]=b;c[d>>2]=b;return}function Iy(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;if(!d){c[a>>2]=b;a=a+4|0}else c[b+4>>2]=d;c[a>>2]=b;return}function Jy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;Ky(a,b);j=c[b>>2]|0;h=c[j+4>>2]|0;while(1){if(!h)break;k=c[h+8>>2]|0;i=gC(k)|0;d=c[(c[i+16>>2]|0)+112>>2]|0;a=c[d+16+4>>2]|0;d=c[d+8>>2]|0;f=i;i=hC(k,i)|0;while(1){if(!i)break;e=c[(c[i+16>>2]|0)+112>>2]|0;g=c[e+16+4>>2]|0;if((g|0)<(a|0)){f=i;d=c[e+8>>2]|0;a=g}i=hC(k,i)|0}i=c[(c[d+16>>2]|0)+112>>2]|0;k=i+4|0;c[k>>2]=c[k>>2]|8;c[h>>2]=f;k=c[h+4>>2]|0;Hy((c[i+12>>2]|0)+36|0,h);h=k}Dy(b);return j|0}function Ky(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;h=j+8|0;f=c[d+24>>2]|0;if(!((f|0)!=0?(e=qC(b,f,0)|0,(e|0)!=0):0))g=3;a:do if((g|0)==3){f=d+20|0;b:do if(c[f>>2]|0){e=gC(b)|0;while(1){if(!e)break b;if((aP(c[c[(c[e+16>>2]|0)+112>>2]>>2]|0,c[f>>2]|0,0)|0)<<24>>24)break a;e=hC(b,e)|0}}while(0);e=gC(b)|0}while(0);if(a[195234]|0){g=c[15715]|0;c[i>>2]=HB(e)|0;z4(g,96524,i)|0}c[h+4>>2]=0;c[h>>2]=0;Ly(b,e,d,1,h);l=j;return}function Ly(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=d+8|0;j=c[l>>2]|0;c[l>>2]=j+1;l=b+16|0;k=c[(c[l>>2]|0)+112>>2]|0;c[k+16+4>>2]=j;c[k+24>>2]=j;k=(e|0)!=0;j=ZA(a,b)|0;while(1){if(!j)break;e=c[j>>2]&3;g=c[((e|0)==2?j:j+-48|0)+40>>2]|0;h=c[(c[j+16>>2]|0)+120>>2]|0;i=(c[h>>2]|0)!=0;if((g|0)==(b|0)){e=c[((e|0)==3?j:j+48|0)+40>>2]|0;if(i)g=e;else{c[h>>2]=-1;g=e}}else if(!i)c[h>>2]=1;e=g+16|0;h=c[(c[e>>2]|0)+112>>2]|0;i=c[h+16+4>>2]|0;do if(!i){c[h+8>>2]=b;My(f,j);Ly(a,g,d,0,f);i=c[(c[l>>2]|0)+112>>2]|0;m=i+24|0;h=(c[(c[e>>2]|0)+112>>2]|0)+24|0;c[m>>2]=c[(c[(c[((c[m>>2]|0)<(c[h>>2]|0)?b:g)+16>>2]|0)+112>>2]|0)+24>>2];if((c[h>>2]|0)>=(c[i+16+4>>2]|0)){e=0;do{h=Ny(f)|0;g=(c[c[(c[h+16>>2]|0)+120>>2]>>2]|0)==1;g=c[((c[h>>2]&3|0)==((g?2:3)|0)?h:h+((g?-1:1)*48|0)|0)+40>>2]|0;if(!(c[(c[(c[g+16>>2]|0)+112>>2]|0)+12>>2]|0)){if(!e)e=Oy(a,d)|0;Py(e,g)}}while((h|0)!=(j|0));if(e|0){if((c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==0?(Gy(e)|0)>1:0)Py(e,b);if(k?(c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==(e|0):0){Iy(d,e);break}Hy(d,e)}}}else{e=c[(c[l>>2]|0)+112>>2]|0;if((c[e+8>>2]|0)!=(g|0)){m=e+24|0;h=c[m>>2]|0;c[m>>2]=(h|0)<(i|0)?h:i}}while(0);j=_A(a,j,b)|0}if(k?(c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==0:0){m=Oy(a,d)|0;Py(m,b);Iy(d,m)}return}function My(a,b){a=a|0;b=b|0;c[(c[(c[b+16>>2]|0)+120>>2]|0)+4>>2]=c[a>>2];c[a>>2]=b;b=a+4|0;c[b>>2]=(c[b>>2]|0)+1;return}function Ny(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b)Aa(138697,96555,65,96567);d=a+4|0;e=c[d>>2]|0;if((e|0)>0){c[a>>2]=c[(c[(c[b+16>>2]|0)+120>>2]|0)+4>>2];c[d>>2]=e+-1;return b|0}else Aa(96545,96555,61,96567);return 0}function Oy(a,b){a=a|0;b=b|0;return Ey(Qy(a,b)|0)|0}function Py(a,b){a=a|0;b=b|0;lC(c[a+8>>2]|0,b,1)|0;c[(c[(c[b+16>>2]|0)+112>>2]|0)+12>>2]=a;return}function Qy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;f=d;e=d+8|0;g=b+12|0;b=c[g>>2]|0;c[g>>2]=b+1;c[f>>2]=b;i2(e,96535,f)|0;b=LD(a,e,1)|0;RC(b,137786,280,1)|0;l=d;return b|0}function Ry(a){a=a|0;var b=0,d=0;b=c[a+36>>2]|0;while(1){if(!b)break;d=c[b+4>>2]|0;Ry(b);b=d}Fy(a);return}function Sy(a,b,c){a=a|0;b=b|0;c=c|0;Ty(a,b,+h[c+32>>3]);return}function Ty(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;e=b+36|0;f=0;while(1){e=c[e>>2]|0;if(!e)break;Ty(a,e,d);e=e+4|0;f=f+1|0}e=jz(a,b,d)|0;c[b+32>>2]=e;a=gz(e)|0;if((f|0)>0)d=+Uy(f,a,e,b,d);else d=3.141592653589793;if((((a|0)==1?(g=c[b>>2]|0,g|0):0)?c[(c[(c[g+16>>2]|0)+112>>2]|0)+8>>2]|0:0)?(i=b+48|0,h[i>>3]=d,d<0.0):0)h[i>>3]=d+6.283185307179586;return}function Uy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+48|0;t=v;u=HK(a*56|0)|0;c[t+40>>2]=c[e+36>>2];p=e+16|0;j=+h[p>>3];q=t+8|0;h[q>>3]=j;h[t>>3]=j;c[t+44>>2]=c[e>>2];j=6.283185307179586/+(b|0);h[t+16>>3]=j;r=t+24|0;h[r>>3]=-1.0;s=t+32|0;h[s>>3]=-1.0;k=0;o=0;g=0.0;while(1){i=c[d>>2]|0;if(!i)break;d=c[i>>2]|0;if(!(c[(c[(c[d+16>>2]|0)+112>>2]|0)+4>>2]&8))d=o;else{n=u+(o*56|0)|0;c[n>>2]=d;h[u+(o*56|0)+8>>3]=+(k|0)*j;d=o+1|0;g=+Vy(n,t,f)}k=k+1|0;o=d;d=i+4|0}a:do if((o|0)==1){h[u+40>>3]=1.0;d=0}else{n=u+8|0;if((o|0)==2){j=+h[u+64>>3]-+h[n>>3];Wy(u,u+56|0,j>3.141592653589793?6.283185307179586-j:j);d=0;break}else{m=u;d=0}while(1){if((d|0)>=(o|0)){d=0;break a}d=d+1|0;k=m+56|0;j=+h[m+8>>3];if((d|0)==(o|0)){i=u;j=+h[n>>3]-j+6.283185307179586}else{i=k;j=+h[m+64>>3]-j}Wy(m,i,j);m=k}}while(0);while(1){if((d|0)>=(o|0))break;Xy(u+(d*56|0)|0,t,b,f);d=d+1|0}l6(u);if((a|0)==1){f=f*.5+g;Yy(e,-f,0.0,0.0);h[p>>3]=f+ +h[p>>3];u=e+56|0;c[u>>2]=c[u>>2]|1}else h[p>>3]=+h[q>>3];l=v;return +((+h[r>>3]+ +h[s>>3])*.5+-3.141592653589793)}function Vy(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0;i=0;f=0.0;g=0.0;e=b+40|0;while(1){j=c[e>>2]|0;if(!j)break;e=c[j>>2]|0;if(!e)e=0;else e=c[(c[(c[e+16>>2]|0)+112>>2]|0)+8>>2]|0;if((e|0)==(c[a>>2]|0)){k=+h[j+16>>3];e=i+1|0;f=f+(k*2.0+d);g=g>3]=f;c[a+48>>2]=i;h[a+16>>3]=g+(+h[b>>3]+d);h[a+24>>3]=g;return +g}function Wy(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=+h[b+16>>3];d=+h[a+16>>3];c=(+h[a+32>>3]*e+ +h[b+32>>3]*d)/(e*(c*2.0*d));c=c<1.0?1.0:c;a=a+40|0;if(c>+h[a>>3])h[a>>3]=c;a=b+40|0;if(c>+h[a>>3])h[a>>3]=c;return}function Xy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0.0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0.0,D=0.0;y=b+8|0;x=+h[y>>3];z=b+24|0;l=+h[z>>3];A=b+32|0;k=+h[A>>3];f=+h[a+40>>3]*+h[a+16>>3];u=(d|0)==1;v=a+48|0;w=a+8|0;g=+h[a+32>>3];if(u){i=g/6.283185307179586;i=f>i?f:i;f=i*6.283185307179586-g;if(f>0.0){e=f/+(c[v>>2]|0)+e;g=0.0;f=i}else{g=0.0;f=i}}else g=+h[w>>3]-g/(f*2.0);s=f+ +h[a+24>>3];t=s>x;p=e/f;q=((c[v>>2]|0)+1|0)/2|0;r=p*.5;m=b+40|0;i=k;e=l;n=0;o=0.0;while(1){m=c[m>>2]|0;if(!m)break;j=c[m>>2]|0;if(!j)j=0;else j=c[(c[(c[j+16>>2]|0)+112>>2]|0)+8>>2]|0;if((j|0)==(c[a>>2]|0)?(gz(c[m+32>>2]|0)|0)>=1:0){k=+h[m+16>>3]/f;l=r+k;do if(!u)if((c[v>>2]|0)==1){g=+h[w>>3];break}else{g=g+l;break}else{if(g!=0.0)g=(c[v>>2]|0)==2?3.141592653589793:g+k;i=g;e=e<0.0?g:e}while(0);D=f*+I(+g);C=f*+J(+g);Yy(m,D,C,+Zy(m,D,C,g));g=(u?p+k:l)+g;n=n+1|0;j=n;k=(n|0)==(q|0)?g:o}else{j=n;k=o}m=m+4|0;n=j;o=k}f=t?s:x;if((d|0)>1?(B=c[a>>2]|0,(B|0)==(c[b+44>>2]|0)):0)h[(c[(c[B+16>>2]|0)+112>>2]|0)+24>>3]=o;h[y>>3]=f;h[z>>3]=e;h[A>>3]=i;return}function Yy(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0;m=c[a+8>>2]|0;n=e!=0.0;f=gC(m)|0;while(1){if(!f)break;k=c[(c[f+16>>2]|0)+132>>2]|0;l=k+8|0;i=+h[k>>3];g=+h[l>>3];if(n){p=+I(+e);o=+J(+e);j=i*p-g*o;g=g*p+i*o}else j=i;h[k>>3]=j+b;h[l>>3]=g+d;f=hC(m,f)|0}f=a+36|0;while(1){f=c[f>>2]|0;if(!f)break;Yy(f,b,d,e);f=f+4|0}return}function Zy(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0.0,g=0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0;n=c[a+8>>2]|0;f=+h[a+48>>3];do if(!(f>=0.0)){if((gz(c[a+32>>2]|0)|0)==2){f=e+-1.5707963267948966;break}m=c[a>>2]|0;o=m+16|0;l=c[(c[o>>2]|0)+132>>2]|0;k=+h[l>>3]+b;f=+h[l+8>>3]+d;f=k*k+f*f;l=gC(n)|0;g=m;while(1){if(!l)break;if((l|0)!=(m|0)?(p=c[(c[l+16>>2]|0)+132>>2]|0,k=+h[p>>3]+b,i=+h[p+8>>3]+d,i=k*k+i*i,i>3];k=+h[a+16>>3]-j;g=c[o>>2]|0;p=c[g+132>>2]|0;f=+h[p>>3];i=+h[p+8>>3];if(f>-k?(c[a+56>>2]&1|0)!=0:0){i=+O(+i,+(k+f));f=+I(+i);f=1.5707963267948966-i-+M(+(f*((k-j/f)/+G(+(b*b+d*d)))))+e;break}else{f=3.141592653589793-+O(+i,+f);f=f-+h[(c[g+112>>2]|0)+24>>3]+e;f=f>6.283185307179586?f+-6.283185307179586:f;break}}else f=0.0}else{f=3.141592653589793-f+e;f=f<0.0?f+6.283185307179586:f}while(0);return +f}function _y(){return HK(12)|0}function $y(a){a=a|0;var b=0,d=0;if(a|0){b=c[a>>2]|0;while(1){if(!b)break;d=c[b+4>>2]|0;l6(b);b=d}l6(a)}return}function az(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=bz(d)|0;h=a+8|0;c[h>>2]=(c[h>>2]|0)+1;h=a+4|0;i=c[h>>2]|0;d=(b|0)==0?i:b;b=d+4|0;e=g+4|0;f=g+8|0;if((d|0)==(i|0)){c[(i|0?b:a)>>2]=g;c[f>>2]=i;c[e>>2]=0;c[h>>2]=g}else{a=c[b>>2]|0;c[b>>2]=g;c[f>>2]=d;c[a+8>>2]=g;c[e>>2]=a}return}function bz(a){a=a|0;var b=0;b=HK(12)|0;c[b>>2]=a;return b|0}function cz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;b=d;while(1){if(!b)break;g=b+4|0;e=c[g>>2]|0;f=b+8|0;c[g>>2]=c[f>>2];c[f>>2]=e;b=e}f=a+4|0;g=c[f>>2]|0;c[f>>2]=d;c[a>>2]=g;return a|0}function dz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a>>2]|0;if((d|0)!=(b|0)){f=b+8|0;e=c[f>>2]|0;c[a>>2]=b;c[f>>2]=0;b=a+4|0;a=c[b>>2]|0;c[a+4>>2]=d;c[d+8>>2]=a;c[b>>2]=e;c[e+4>>2]=0}return}function ez(a){a=a|0;var b=0,d=0,e=0;d=_y()|0;e=d+4|0;b=0;while(1){a=c[a>>2]|0;if(!a)break;az(d,b,c[a>>2]|0);b=c[e>>2]|0;a=a+4|0}return d|0}function fz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=c[a>>2]|0;while(1){if(!m){k=4;break}l=m+4|0;f=c[l>>2]|0;if((c[m>>2]|0)==(b|0))break;else m=f}if((k|0)==4)Aa(96571,96578,217,96589);h=a+4|0;j=m+8|0;i=c[j>>2]|0;c[(i|0?i+4|0:a)>>2]=f;c[(f|0?f+8|0:h)>>2]=i;i=c[a>>2]|0;f=0;g=i;while(1){if(!g)break;b=g+4|0;if((c[g>>2]|0)==(d|0)){k=8;break}f=g;g=c[b>>2]|0}if((k|0)==8){do if(!e){b=g+8|0;if((g|0)==(i|0)){c[a>>2]=m;c[l>>2]=i;c[j>>2]=0;break}else{c[f+4>>2]=m;c[j>>2]=f;c[l>>2]=g;break}}else if((g|0)==(c[h>>2]|0)){c[h>>2]=m;c[l>>2]=0;c[j>>2]=g;break}else{c[j>>2]=g;c[l>>2]=c[b>>2];c[(c[b>>2]|0)+8>>2]=m;break}while(0);c[b>>2]=m}return}function gz(a){a=a|0;return c[a+8>>2]|0}function hz(a,b){a=a|0;b=b|0;iz(a,cz(b)|0);l6(b);return}function iz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[b>>2]|0;if(d|0){e=a+4|0;f=c[e>>2]|0;c[f+4>>2]=d;c[d+8>>2]=f;c[e>>2]=c[b+4>>2];d=a+8|0;c[d>>2]=(c[d>>2]|0)+(c[b+8>>2]|0)}return}function jz(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0;m=c[b+8>>2]|0;kz(a,b);l=lz(m)|0;a=nz(mz(l)|0)|0;oz(m,a);m=pz(a,m)|0;a=gz(m)|0;j=+qz(m);k=(a|0)==1;f=+(a|0);i=f*(j+d)/6.283185307179586;g=k?0.0:i;a=m;while(1){a=c[a>>2]|0;if(!a)break;if(c[(c[(c[(c[a>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&8|0){e=4;break}a=a+4|0}if((e|0)==4)dz(m,a);d=6.283185307179586/f;e=0;a=m;while(1){a=c[a>>2]|0;if(!a)break;n=c[(c[a>>2]|0)+16>>2]|0;p=c[n+112>>2]|0;c[p+16>>2]=e;h[p+24>>3]=0.0;f=d*+(e|0);o=g*+I(+f);n=c[n+132>>2]|0;h[n>>3]=o;h[n+8>>3]=g*+J(+f);e=e+1|0;a=a+4|0}o=k?j*.5:i;h[b+16>>3]=o;h[b+24>>3]=o;h[b+48>>3]=-1.0;pB(l)|0;return m|0}function kz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[b+8>>2]|0;d=gC(f)|0;while(1){if(!d)break;e=UA(a,d)|0;while(1){if(!e)break;if((c[(c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+12>>2]|0)==(b|0))jB(f,e,1)|0;e=WA(a,e)|0}d=hC(f,d)|0}return}function lz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k;f=wz(a,g)|0;g=c[g>>2]|0;i=qB(g)|0;h=xz(g)|0;i=i+-3|0;e=0;while(1){if((e|0)>=(i|0))break;j=Gz(h)|0;d=ZA(g,j)|0;while(1){if(!d)break;b=c[d>>2]&3;a=c[((b|0)==2?d:d+-48|0)+40>>2]|0;if((j|0)==(a|0))a=c[((b|0)==3?d:d+48|0)+40>>2]|0;Fz(h,a);d=_A(g,d,j)|0}yz(g,j,f);d=ZA(g,j)|0;while(1){if(!d)break;b=c[d>>2]&3;a=c[((b|0)==2?d:d+-48|0)+40>>2]|0;if((j|0)==(a|0))a=c[((b|0)==3?d:d+48|0)+40>>2]|0;b=(c[a+16>>2]|0)+236|0;c[b>>2]=(c[b>>2]|0)+-1;Ez(h,a);d=_A(g,d,j)|0}tC(g,j)|0;e=e+1|0}pB(g)|0;Dz(h);l=k;return f|0}function mz(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+144|0;b=f;e=f+8|0;d=c[46975]|0;c[46975]=d+1;c[b>>2]=d;i2(e,96604,b)|0;e=LD(a,e,1)|0;RC(e,137786,280,1)|0;b=gC(a)|0;while(1){if(!b)break;lC(e,b,1)|0;d=c[(c[b+16>>2]|0)+112>>2]|0;c[d+16+12>>2]=0;c[d+32>>2]=0;d=d+4|0;c[d>>2]=c[d>>2]&-2;b=hC(a,b)|0}b=gC(a)|0;while(1){if(!b)break;d=c[(c[b+16>>2]|0)+112>>2]|0;if(!(c[d+4>>2]&1)){c[d+16>>2]=0;vz(a,b,e)}b=hC(a,b)|0}l=f;return e|0}function nz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((qB(a)|0)!=1){d=gC(a)|0;while(1){if(!d)break;b=0;e=ZA(a,d)|0;while(1){if(!e)break;b=b+1|0;e=_A(a,e,d)|0}if((b|0)==1)uz(d,d,0,0);d=hC(a,d)|0}b=0;f=0;d=gC(a)|0;while(1){if(!d)break;g=c[(c[d+16>>2]|0)+112>>2]|0;g=(c[g+32>>2]|0)+(c[g+16+12>>2]|0)|0;e=(g|0)>(b|0);b=e?g:b;f=e?d:f;d=hC(a,d)|0}b=_y()|0;e=f+16|0;d=(c[(c[e>>2]|0)+112>>2]|0)+16+4|0;while(1){d=c[d>>2]|0;if((d|0)==(f|0))break;az(b,0,d);d=c[(c[d+16>>2]|0)+112>>2]|0;g=d+4|0;c[g>>2]=c[g>>2]|16;d=d+16|0}az(b,0,f);g=c[(c[e>>2]|0)+112>>2]|0;a=g+4|0;c[a>>2]=c[a>>2]|16;if(c[g+32>>2]|0){a=_y()|0;d=(c[(c[e>>2]|0)+112>>2]|0)+24|0;while(1){d=c[d>>2]|0;if((d|0)==(f|0))break;az(a,0,d);d=c[(c[d+16>>2]|0)+112>>2]|0;g=d+4|0;c[g>>2]=c[g>>2]|16;d=d+16|0}hz(b,a)}}else{b=_y()|0;g=gC(a)|0;az(b,0,g);g=(c[(c[g+16>>2]|0)+112>>2]|0)+4|0;c[g>>2]=c[g>>2]|16}return b|0}function oz(a,b){a=a|0;b=b|0;var d=0;d=gC(a)|0;while(1){if(!d)break;if(!(c[(c[(c[d+16>>2]|0)+112>>2]|0)+4>>2]&16))tz(a,d,b);d=hC(a,d)|0}return}function pz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;d=rz(a,b)|0;c[f>>2]=d;a:do if(d){e=0;while(1){if((e|0)>=10)break a;a=sz(a,b,f)|0;h=d;d=c[f>>2]|0;if((h|0)==(d|0)|(d|0)==0)break;else e=e+1|0}}while(0);l=g;return a|0}function qz(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0;b=0.0;while(1){a=c[a>>2]|0;if(!a)break;f=c[(c[c[(c[(c[a>>2]|0)+16>>2]|0)+112>>2]>>2]|0)+16>>2]|0;d=+h[f+32>>3];d=d>b?d:b;e=+h[f+40>>3];b=e>d?e:d;a=a+4|0}return +b}function rz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=Hz()|0;e=gC(b)|0;while(1){if(!e)break;d=UA(b,e)|0;while(1){if(!d)break;c[c[(c[d+16>>2]|0)+120>>2]>>2]=0;d=WA(b,d)|0}e=hC(b,e)|0}j=1;d=0;while(1){h=c[a>>2]|0;if(!h)break;i=c[h>>2]|0;g=ZA(b,i)|0;while(1){if(!g)break;f=g+16|0;if((c[c[(c[f>>2]|0)+120>>2]>>2]|0)>0){a=eb[c[k>>2]&63](k,0,128)|0;while(1){if(!a)break;e=c[a+8>>2]|0;if((c[c[(c[e+16>>2]|0)+120>>2]>>2]|0)>(c[c[(c[f>>2]|0)+120>>2]>>2]|0)?(l=c[e>>2]&3,(c[((l|0)==2?e:e+-48|0)+40>>2]|0)!=(i|0)):0)d=((c[((l|0)==3?e:e+48|0)+40>>2]|0)!=(i|0)&1)+d|0;a=eb[c[k>>2]&63](k,a,8)|0}Nz(k,g)}g=_A(b,g,i)|0}e=ZA(b,i)|0;while(1){if(!e)break;a=c[(c[e+16>>2]|0)+120>>2]|0;if(!(c[a>>2]|0)){c[a>>2]=j;Mz(k,e)}e=_A(b,e,i)|0}a=h+4|0;j=j+1|0}Lz(k);return d|0}function sz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[d>>2]|0;k=gC(b)|0;a:while(1){if(!k)break;j=ZA(b,k)|0;while(1){if(!j)break;g=c[j>>2]&3;f=c[((g|0)==3?j:j+48|0)+40>>2]|0;if((f|0)==(k|0))f=c[((g|0)==2?j:j+-48|0)+40>>2]|0;i=0;while(1){if((i|0)>=2)break;h=ez(a)|0;fz(a,k,f,i);g=rz(a,b)|0;if((g|0)<(e|0)){$y(h);if(!g){e=0;break a}else e=g}else{$y(a);a=h}i=i+1|0}j=_A(b,j,k)|0}k=hC(b,k)|0}c[d>>2]=e;return a|0}function tz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=_y()|0;e=UA(a,b)|0;while(1){if(!e)break;h=e+-48|0;az(j,0,c[((c[e>>2]&3|0)==2?e:h)+40>>2]|0);h=(c[(c[(c[((c[e>>2]&3|0)==2?e:h)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[h>>2]=c[h>>2]|32;e=WA(a,e)|0}e=XA(a,b)|0;while(1){if(!e)break;h=e+48|0;az(j,0,c[((c[e>>2]&3|0)==3?e:h)+40>>2]|0);h=(c[(c[(c[((c[e>>2]&3|0)==3?e:h)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[h>>2]=c[h>>2]|32;e=YA(a,e)|0}a:do if((gz(j)|0)>1){f=c[d>>2]|0;g=d+4|0;a=f;while(1){if(!a){i=16;break a}h=a+4|0;if((a|0)==(c[g>>2]|0))e=f;else e=c[h>>2]|0;if(c[(c[(c[(c[a>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0?c[(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0:0)break;a=c[h>>2]|0}az(d,a,b)}else i=16;while(0);b:do if((i|0)==16){c:do if((gz(j)|0)>0){e=d;while(1){e=c[e>>2]|0;if(!e)break c;if(c[(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break;e=e+4|0}az(d,e,b);break b}while(0);az(d,0,b)}while(0);e=j;while(1){e=c[e>>2]|0;if(!e)break;d=(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[d>>2]=c[d>>2]&-33;e=e+4|0}$y(j);return}function uz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=e;e=c[(c[b+16>>2]|0)+112>>2]|0;while(1){e=c[e+16>>2]|0;if(!e)break;k=d+1|0;e=c[(c[e+16>>2]|0)+112>>2]|0;h=e+16|0;g=h+12|0;b=c[g>>2]|0;h=h+4|0;if(b){i=e+24|0;j=e+32|0;if((b|0)>(d|0)){l=10;break}d=c[h>>2]|0;if((d|0)!=(f|0)){if(!((c[j>>2]|0)!=0?(c[i>>2]|0)==(f|0):0))f=d;c[i>>2]=d;c[j>>2]=b}}c[h>>2]=a;c[g>>2]=k;d=k}if((l|0)==10?(c[j>>2]|0)<=(d|0):0){c[i>>2]=a;c[j>>2]=k}return}function vz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[(c[b+16>>2]|0)+112>>2]|0)+4|0;c[g>>2]=c[g>>2]|1;g=ZA(a,b)|0;while(1){if(!g)break;f=c[g>>2]&3;e=c[((f|0)==2?g:g+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((f|0)==3?g:g+48|0)+40>>2]|0;f=e+16|0;if(!(c[(c[(c[f>>2]|0)+112>>2]|0)+4>>2]&1)){jB(d,g,1)|0;c[(c[(c[f>>2]|0)+112>>2]|0)+16>>2]=b;vz(a,e,d)}g=_A(a,g,b)|0}return}function wz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+144|0;i=j+8|0;h=j;d=j+16|0;g=c[46976]|0;c[46976]=g+1;c[h>>2]=g;i2(d,96613,h)|0;h=LD(a,d,1)|0;RC(h,137786,280,1)|0;g=c[46976]|0;c[46976]=g+1;c[i>>2]=g;i2(d,96613,i)|0;c[i>>2]=c[a+24>>2];i=lB(d,i,0)|0;d=gC(a)|0;while(1){if(!d)break;lC(h,d,1)|0;g=qC(i,HB(d)|0,1)|0;RC(g,137750,304,1)|0;c[(c[(c[d+16>>2]|0)+112>>2]|0)+16>>2]=g;d=hC(a,d)|0}e=gC(a)|0;while(1){if(!e)break;f=c[(c[(c[e+16>>2]|0)+112>>2]|0)+16>>2]|0;g=f+16|0;d=UA(a,e)|0;while(1){if(!d)break;jB(h,d,1)|0;k=c[(c[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+16>>2]|0;m=fB(i,f,k,0,1)|0;RC(m,137763,176,1)|0;c[(c[m+16>>2]|0)+116>>2]=d;m=(c[g>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;k=(c[k+16>>2]|0)+236|0;c[k>>2]=(c[k>>2]|0)+1;d=WA(a,d)|0}e=hC(a,e)|0}c[b>>2]=i;l=j;return h|0}function xz(a){a=a|0;var b=0,c=0;c=zz()|0;b=gC(a)|0;while(1){if(!b)break;Ez(c,b);b=hC(a,b)|0}return c|0}function yz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=c[(c[b+16>>2]|0)+236>>2]|0;p=m<<2;o=IK(p)|0;p=IK(p)|0;i=0;l=ZA(a,b)|0;n=0;f=0;while(1){if(!l)break;e=c[l>>2]&3;g=c[((e|0)==2?l:l+-48|0)+40>>2]|0;if((g|0)==(b|0))g=c[((e|0)==3?l:l+48|0)+40>>2]|0;h=0;k=ZA(a,b)|0;j=i;while(1){if(!k)break;if((k|0)!=(l|0)){i=c[k>>2]&3;e=c[((i|0)==2?k:k+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((i|0)==3?k:k+48|0)+40>>2]|0;i=fB(a,g,e,0,0)|0;if(i)if(g>>>0>>0){e=j+1|0;h=i+16|0;i=c[(c[h>>2]|0)+116>>2]|0;if(!i)h=1;else{tC(d,i)|0;c[(c[h>>2]|0)+116>>2]=0;h=1}}else{h=1;e=j}else e=j}else e=j;k=_A(a,k,b)|0;j=e}if(!h){c[p+(n<<2)>>2]=g;e=n+1|0}else{c[o+(f<<2)>>2]=g;e=n;f=f+1|0}i=j;l=_A(a,l,b)|0;n=e}e=m+-1-i|0;a:do if((e|0)>0){if((e|0)<(n|0))g=0;else{if((e|0)!=(n|0))break;f=c[o>>2]|0;g=f+16|0;e=0;while(1){if((e|0)>=(n|0))break a;m=c[p+(e<<2)>>2]|0;RC(fB(a,f,m,0,1)|0,137763,176,1)|0;d=(c[g>>2]|0)+236|0;c[d>>2]=(c[d>>2]|0)+1;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;e=e+1|0}}while(1){if((g|0)>=(n|0)){f=2;break}f=g|1;if((f|0)>=(n|0)){f=2;break}d=c[p+(g<<2)>>2]|0;m=c[p+(f<<2)>>2]|0;RC(fB(a,d,m,0,1)|0,137763,176,1)|0;d=(c[d+16>>2]|0)+236|0;c[d>>2]=(c[d>>2]|0)+1;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;g=g+2|0;e=e+-1|0}while(1){if((e|0)<=0)break a;m=c[p>>2]|0;n=c[p+(f<<2)>>2]|0;RC(fB(a,m,n,0,1)|0,137763,176,1)|0;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;n=(c[n+16>>2]|0)+236|0;c[n>>2]=(c[n>>2]|0)+1;f=f+1|0;e=e+-1|0}}while(0);l6(p);l6(o);return}function zz(){return Sz(18280,c[4591]|0)|0}function Az(a,b,d){a=a|0;b=b|0;d=d|0;d=IK(16)|0;c[d+12>>2]=0;c[d+8>>2]=c[b+8>>2];return d|0}function Bz(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function Cz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return ((b|0)<(e|0)?-1:(b|0)>(e|0)&1)|0}function Dz(a){a=a|0;Oz(a)|0;return}function Ez(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d;e=b+16|0;c[f+8>>2]=c[(c[e>>2]|0)+236>>2];a=(eb[c[a>>2]&63](a,f,1)|0)+12|0;c[(c[e>>2]|0)+164>>2]=c[a>>2];c[a>>2]=b;l=d;return}function Fz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;e=b+16|0;c[f+8>>2]=c[(c[e>>2]|0)+236>>2];f=eb[c[a>>2]&63](a,f,4)|0;if(!f)Aa(96623,96626,107,96636);d=f+12|0;g=c[d>>2]|0;if((g|0)==(b|0)){b=c[(c[e>>2]|0)+164>>2]|0;c[d>>2]=b;if(!b)eb[c[a>>2]&63](a,f,2)|0}else{f=g;d=g+16|0;while(1){a=c[(c[d>>2]|0)+164>>2]|0;e=(a|0)!=0;d=a+16|0;if(!(e&(a|0)!=(b|0)))break;else f=a}if(e)c[(c[f+16>>2]|0)+164>>2]=c[(c[d>>2]|0)+164>>2]}l=h;return}function Gz(a){a=a|0;var b=0,d=0,e=0,f=0;d=eb[c[a>>2]&63](a,0,128)|0;if(d){f=d+12|0;b=c[f>>2]|0;e=c[(c[b+16>>2]|0)+164>>2]|0;c[f>>2]=e;if(!e)eb[c[a>>2]&63](a,d,2)|0}else b=0;return b|0}function Hz(){return Sz(18316,c[4591]|0)|0}function Iz(a,b,d){a=a|0;b=b|0;d=d|0;d=IK(12)|0;c[d+8>>2]=c[b+8>>2];return d|0}function Jz(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function Kz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return (b>>>0>e>>>0?1:(b>>>0>>0)<<31>>31)|0}function Lz(a){a=a|0;Oz(a)|0;return}function Mz(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e+8>>2]=b;eb[c[a>>2]&63](a,e,1)|0;l=d;return}function Nz(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e+8>>2]=b;eb[c[a>>2]&63](a,e,2)|0;l=d;return}function Oz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;do if((a|0)!=0?(c[a+24>>2]|0)<=0:0){h=c[a+4>>2]|0;g=h+32|0;b=c[g>>2]|0;if(b){b=tb[b&127](a,2,0,h)|0;if((b|0)<0){b=-1;break}}else b=0;if(c[a+28>>2]|0)Xz(a,0)|0;e=(b|0)==0;f=a+12|0;if(e){eb[c[c[a+16>>2]>>2]&63](a,0,64)|0;if((Uz(a)|0)>0){b=-1;break}d=a+8|0;b=c[d>>2]|0;if((c[b+12>>2]|0)>0){tb[c[f>>2]&127](a,c[b+8>>2]|0,0,h)|0;b=c[d>>2]|0}tb[c[f>>2]&127](a,b,0,h)|0}b=c[a+20>>2]|0;if(b){if(e&(b|0)==1)tb[c[f>>2]&127](a,a,0,h)|0}else l6(a);b=c[g>>2]|0;if(!b)b=0;else{tb[b&127](a,6,0,h)|0;b=0}}else b=-1;while(0);return b|0}function Pz(a){a=a|0;var b=0,d=0,e=0;e=a+8|0;b=c[e>>2]|0;d=c[b>>2]|0;a:do if(!(d&12)){if(!(d&3)){d=b+8|0;a=c[d>>2]|0;c[d>>2]=0;break}a=Qz(a)|0;d=c[e>>2]|0;b=c[d+8>>2]|0;d=b+(c[d+12>>2]<<2)|0;while(1){if(b>>>0>=d>>>0)break a;c[b>>2]=0;b=b+4|0}}else a=c[b+4>>2]|0;while(0);e=c[e>>2]|0;c[e>>2]=c[e>>2]&-4097;c[e+16>>2]=0;c[e+4>>2]=0;return a|0}function Qz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+8|0;b=c[g>>2]|0;d=c[b>>2]|0;e=b+4|0;if(!(d&4096)){a=b+8|0;a:do if(!(d&3)){if(d&112|0){a=c[a>>2]|0;break}a=c[e>>2]|0;if(!a)a=0;else{while(1){b=a+4|0;d=c[b>>2]|0;if(!d){e=a;break}c[b>>2]=c[d>>2];c[d>>2]=a;a=d}while(1){b=c[e>>2]|0;if(!b)break a;d=c[b+4>>2]|0;if(!d){e=b;continue}while(1){c[b+4>>2]=c[d>>2];c[d>>2]=b;b=c[d+4>>2]|0;if(!b)break;else{f=d;d=b;b=f}}c[e>>2]=d;e=d}}}else{e=c[a>>2]|0;f=e+(c[b+12>>2]<<2)|0;b=0;a=0;while(1){if(e>>>0>=f>>>0)break a;d=c[e>>2]|0;if(d){if(!b){b=d;a=d}else c[b>>2]=d;while(1){d=c[b>>2]|0;if(!d)break;else b=d}c[e>>2]=b}e=e+4|0}}while(0);g=c[g>>2]|0;c[g+4>>2]=a;c[g>>2]=c[g>>2]|4096}else a=c[e>>2]|0;return a|0}function Rz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=a+8|0;if(c[c[t>>2]>>2]&4096|0)Tz(a,0)|0;s=c[a+4>>2]|0;k=c[s>>2]|0;l=c[s+4>>2]|0;p=s+8|0;i=c[p>>2]|0;m=c[s+20>>2]|0;n=a+20|0;f=c[n>>2]&-32769;c[n>>2]=f;q=s+16|0;v=0-i|0;r=a+12|0;w=(i|0)<0;o=(d&4098|0)!=0;a:do if(!b){if(d&384|0){f=c[t>>2]|0;e=c[f+8>>2]|0;if(!e){e=0;break}if(d&256){e=c[e+4>>2]|0;c[f+4>>2]=e;if(!e){e=0;break}}else c[f+4>>2]=e;if(w){e=c[e+8>>2]|0;break}else{e=e+v|0;break}}if(o){e=c[t>>2]|0;if(c[e>>2]&144|0){e=0;break}e=c[e+8>>2]|0;if(!e){e=0;break}else{i=e;u=86;break}}if(!(d&64))e=0;else{b:do if((c[q>>2]|0)!=0|w){e=c[(c[t>>2]|0)+8>>2]|0;while(1){if(!e)break b;f=c[e>>2]|0;g=c[q>>2]|0;if(g|0){if(w)h=c[e+8>>2]|0;else h=e+v|0;rb[g&127](a,h,s)}if((c[p>>2]|0)>=0){e=f;continue}tb[c[r>>2]&127](a,e,0,s)|0;e=f}}while(0);e=c[t>>2]|0;c[e+4>>2]=0;c[e+8>>2]=0;c[(c[t>>2]|0)+16>>2]=0;e=0}}else{if(d&2049|0){g=s+12|0;e=c[g>>2]|0;h=(d&1|0)==0;if(!(h|(e|0)==0)){e=eb[e&63](a,b,s)|0;if(!e){e=0;break}else f=e}else f=b;do if((i|0)>-1)b=f+i|0;else{e=tb[c[r>>2]&127](a,0,12,s)|0;if(e|0){c[e+8>>2]=f;b=e;break}if(!(c[g>>2]|0)){e=0;break a}e=c[q>>2]|0;if(h|(e|0)==0){e=0;break a}rb[e&127](a,f,s);e=0;break a}while(0);e=c[t>>2]|0;f=c[e>>2]|0;g=(d&8192|0)!=0;i=b+4|0;h=e+8|0;do if(!(f&128)){if(!(f&16))if(!(f&32)){u=52;break}else{u=48;break}f=c[e+4>>2]|0;e=(f|0)!=0;if(g){if(!e){u=52;break}e=c[f>>2]|0;if(!e){u=52;break}c[b>>2]=e;c[e+4>>2]=b;c[i>>2]=f;c[f>>2]=b;break}else{if(!e){u=48;break}e=c[h>>2]|0;if((f|0)==(e|0)){u=49;break}d=f+4|0;s=c[d>>2]|0;c[i>>2]=s;c[s>>2]=b;c[b>>2]=f;c[d>>2]=b;break}}else if(g)u=52;else u=48;while(0);if((u|0)==48){e=c[h>>2]|0;u=49}else if((u|0)==52){e=c[h>>2]|0;if(!e){c[h>>2]=b;e=b}else{d=e+4|0;c[c[d>>2]>>2]=b;c[i>>2]=c[d>>2]}c[e+4>>2]=b;c[b>>2]=0}if((u|0)==49){c[b>>2]=e;if(!e)e=b;else c[i>>2]=c[e+4>>2];c[e+4>>2]=b;c[(c[t>>2]|0)+8>>2]=b}e=c[t>>2]|0;f=e+16|0;g=c[f>>2]|0;if((g|0)>-1)c[f>>2]=g+1;c[e+4>>2]=b;if(w){e=c[b+8>>2]|0;break}else{e=b+v|0;break}}do if(!(d&512)){h=c[t>>2]|0;e=c[h+4>>2]|0;if(e|0){if(w)g=c[e+8>>2]|0;else g=e+v|0;if((g|0)==(b|0))break}e=b+k|0;if((l|0)<0){b=c[e>>2]|0;j=1;u=70}else{b=e;j=0;u=70}}else{h=c[t>>2]|0;j=(l|0)<0;u=70}while(0);if((u|0)==70){g=(m|0)==0;i=(l|0)<1;e=h+8|0;do{e=c[e>>2]|0;if(!e){e=0;break a}if(w)f=c[e+8>>2]|0;else f=e+v|0;f=f+k|0;if(j)f=c[f>>2]|0;do if(g)if(i){f=f2(b,f)|0;break}else{f=g2(b,f,l)|0;break}else f=tb[m&127](a,b,f,s)|0;while(0)}while((f|0)!=0);f=c[n>>2]|0}c[n>>2]=f|32768;if(!o){f=c[t>>2]|0;do if(!(d&8)){if(!(d&16)){c[f+4>>2]=e;break}if((e|0)==(c[f+8>>2]|0)){c[f+4>>2]=0;e=0;break a}else{e=e+4|0;u=110;break}}else u=110;while(0);if((u|0)==110){e=c[e>>2]|0;c[f+4>>2]=e;if(!e){e=0;break}}if(w){e=c[e+8>>2]|0;break}else{e=e+v|0;break}}else{i=e;u=86}}while(0);if((u|0)==86){e=c[i>>2]|0;g=i+4|0;if(e){c[e+4>>2]=c[g>>2];e=c[i>>2]|0}f=(c[t>>2]|0)+8|0;u=c[f>>2]|0;h=u+4|0;if((i|0)==(u|0)){c[f>>2]=e;e=c[(c[t>>2]|0)+8>>2]|0;if(e|0)c[e+4>>2]=c[h>>2]}else{c[c[g>>2]>>2]=e;if((i|0)==(c[h>>2]|0))c[h>>2]=c[g>>2]}e=c[t>>2]|0;f=e+4|0;if((i|0)==(c[f>>2]|0))g=c[i>>2]|0;else g=0;c[f>>2]=g;u=e+16|0;c[u>>2]=(c[u>>2]|0)+-1;if(w)e=c[i+8>>2]|0;else e=i+v|0;f=c[q>>2]|0;if(!((d&2|0)==0|(f|0)==0))rb[f&127](a,e,s);if((c[p>>2]|0)<0)tb[c[r>>2]&127](a,i,0,s)|0}return e|0}function Sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k;a:do if((a|0)!=0&(b|0)!=0?(f=k6(40)|0,(f|0)!=0):0){c[f>>2]=0;c[f+16>>2]=0;c[f+4>>2]=0;_z(f,a,0)|0;d=f+20|0;j=a+32|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;d=c[j>>2]|0;g=b+4|0;do if(d){c[h>>2]=0;d=tb[d&127](f,1,h,a)|0;if((d|0)>=0)if(d){e=c[h>>2]|0;if(e|0)if(!(c[g>>2]&c[e>>2])){d=f;i=12;break}else{d=f;break}d=a+28|0;if(!(c[d>>2]|0)){d=f;i=12}else{l6(f);e=tb[c[d>>2]&127](0,0,40,a)|0;if(!e){d=0;break a}c[e>>2]=0;c[e+16>>2]=0;c[e+4>>2]=0;_z(e,a,0)|0;c[e+20>>2]=1;c[e+24>>2]=0;c[e+32>>2]=0;c[e+28>>2]=0;d=e;f=e;i=11}}else{d=f;i=11}else{d=f;i=12}}else{d=f;i=11}while(0);if((i|0)==11){e=tb[c[d+12>>2]&127](d,0,28,a)|0;c[h>>2]=e;if(!e){d=f;i=12}else{c[e>>2]=c[g>>2];h=e+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0}}if((i|0)==12){l6(d);d=0;break}c[d+8>>2]=e;c[d>>2]=c[b>>2];c[d+16>>2]=b;e=c[j>>2]|0;if(e)tb[e&127](d,5,f,a)|0}else d=0;while(0);l=k;return d|0}function Tz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[c[a+16>>2]>>2]|0;j=a+8|0;f=c[j>>2]|0;g=c[f>>2]|0;d=f+4|0;e=f+16|0;if(!b)if(!(g&4096))b=-1;else{h=1;b=c[d>>2]|0;k=5}else if(!(c[e>>2]|0)){h=0;k=5}else b=-1;a:do if((k|0)==5){c[f>>2]=g&-4097;if(!(g&3)){if(!(g&12)){c[d>>2]=0;d=f+8|0}c[d>>2]=b;if(h){b=0;break}c[(c[j>>2]|0)+16>>2]=-1;b=0;break}c[d>>2]=0;if(!h){c[e>>2]=0;while(1){if(!b){b=0;break a}k=c[b>>2]|0;eb[i&63](a,b,32)|0;b=k}}e=c[f+8>>2]|0;f=e+(c[f+12>>2]<<2)|0;while(1){if(e>>>0>=f>>>0){b=0;break a}d=c[e>>2]|0;if(d){c[e>>2]=b;b=c[d>>2]|0;c[d>>2]=0}e=e+4|0}}while(0);return b|0}function Uz(a){a=a|0;var b=0,d=0,e=0;b=a+8|0;d=c[b>>2]|0;if(c[d>>2]&4096){Tz(a,0)|0;d=c[b>>2]|0}e=d+16|0;a=c[e>>2]|0;do if((a|0)<0){b=c[d>>2]|0;if(b&12|0){a=Vz(c[d+4>>2]|0)|0;c[e>>2]=a;break}if(b&112){a=0;b=d+8|0;while(1){b=c[b>>2]|0;if(!b)break;a=a+1|0}c[e>>2]=a}}while(0);return a|0}function Vz(a){a=a|0;var b=0;if(!a)return 0;else{b=Vz(c[a+4>>2]|0)|0;return b+1+(Vz(c[a>>2]|0)|0)|0}return 0}function Wz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+128|0;F=Q+120|0;p=Q;P=a+8|0;e=c[P>>2]|0;if(c[e>>2]&4096){Tz(a,0)|0;e=c[P>>2]|0}M=c[a+4>>2]|0;J=c[M>>2]|0;K=c[M+4>>2]|0;y=M+8|0;v=c[y>>2]|0;L=c[M+20>>2]|0;t=a+20|0;c[t>>2]=c[t>>2]&-32769;h=c[e+4>>2]|0;B=a+12|0;A=M+16|0;N=0-v|0;O=(v|0)<0;j=(h|0)!=0;a:do if(!b)if((d&448|0)==0|j^1)e=0;else{if(!(d&64)){b:do if(!(d&256)){e=h;while(1){f=e+4|0;g=c[f>>2]|0;if(!g)break b;c[f>>2]=c[g>>2];c[g>>2]=e;e=g}}else{e=h;while(1){f=c[e>>2]|0;if(!f)break b;a=f+4|0;c[e>>2]=c[a>>2];c[a>>2]=e;e=f}}while(0);c[(c[P>>2]|0)+4>>2]=e;if(O){e=c[e+8>>2]|0;break}else{e=e+N|0;break}}if((c[A>>2]|0)!=0|O){e=h;do{h=e;while(1){e=h+4|0;f=c[e>>2]|0;if(!f)break;c[e>>2]=c[f>>2];c[f>>2]=h;h=f}e=c[h>>2]|0;f=c[A>>2]|0;if(f|0){if(O)g=c[h+8>>2]|0;else g=h+N|0;rb[f&127](a,g,M)}if((c[y>>2]|0)<0)tb[c[B>>2]&127](a,h,0,M)|0}while((e|0)!=0);e=c[P>>2]|0}c[e+16>>2]=0;c[e+4>>2]=0;e=0}else{D=a+16|0;G=(K|0)<0;E=F+4|0;u=(d&4098|0)!=0;H=(L|0)!=0;C=(d&2|0)!=0;I=(K|0)<1;i=b+J|0;c:do if((c[(c[D>>2]|0)+4>>2]|0)!=8|u^1)x=44;else{if(G)g=c[i>>2]|0;else g=i;f=eb[c[a>>2]&63](a,b,4)|0;while(1){if(!f){x=44;break c}e=f+J|0;if(G)e=c[e>>2]|0;do if(!H)if(I){e=f2(g,e)|0;break}else{e=g2(g,e,K)|0;break}else e=tb[L&127](a,g,e,M)|0;while(0);if(e|0){x=44;break c}if((f|0)==(b|0))break;f=eb[c[a>>2]&63](a,f,8)|0}h=c[(c[P>>2]|0)+4>>2]|0;c[F>>2]=c[h+4>>2];c[E>>2]=c[h>>2];e=F;x=174}while(0);d:do if((x|0)==44){z=(d&516|0)!=0;s=(d&32|0)!=0;do if(!(d&2565)){if(s){if(O)g=c[b+8>>2]|0;else g=b+N|0;e=g+J|0;if(G)e=c[e>>2]|0;if(j){r=b;q=e;m=b;x=62;break}else{e=b;o=F;n=F;h=0;m=b;break}}if(j){if(O)e=c[h+8>>2]|0;else e=h+N|0;if((e|0)!=(b|0))if(G){g=b;r=0;q=c[i>>2]|0;m=0;x=62}else{g=b;r=0;q=i;m=0;x=62}else{g=b;e=0;o=F;n=F;m=0}}else{g=b;e=0;o=F;n=F;h=0;m=0}}else{e=(d&512|0)!=0;if(e|G^1)e=e?b:i;else e=c[i>>2]|0;if(j){g=b;r=0;q=e;m=0;x=62}else{g=b;e=0;o=F;n=F;h=0;m=0}}while(0);e:do if((x|0)==62){f:do if((c[(c[D>>2]|0)+4>>2]|0)==4?(o=c[(c[P>>2]|0)+24>>2]|0,!((o|0)==0|z^1)):0){i=0;j=h;while(1){if((i|0)>=(o|0)){f=F;n=F;k=0;break}b=j+8|0;e=j+N|0;if(O)f=c[b>>2]|0;else f=e;f=f+J|0;if(G)f=c[f>>2]|0;do if(!H)if(I){f=f2(q,f)|0;break}else{f=g2(q,f,K)|0;break}else f=tb[L&127](a,q,f,M)|0;while(0);if(!f){x=75;break}c[p+(i<<2)>>2]=f;j=c[((f|0)<0?j+4|0:j)>>2]|0;if(!j){e=0;break a}else i=i+1|0}if((x|0)==75){if(!O)break a;e=c[b>>2]|0;break a}while(1){if((k|0)>=(o|0)){e=h;break f}j=f+4|0;b=c[p+((k|1)<<2)>>2]|0;do if((c[p+(k<<2)>>2]|0)<0){e=h+4|0;i=c[e>>2]|0;if((b|0)<0){c[e>>2]=c[i>>2];c[i>>2]=h;c[j>>2]=i;f=i;h=n;e=i+4|0;break}else{c[n>>2]=i;c[j>>2]=h;f=h;h=i;e=i;break}}else{i=c[h>>2]|0;e=i+4|0;if((b|0)>0){c[h>>2]=c[e>>2];c[e>>2]=h;c[n>>2]=i;h=i;e=i;break}else{c[j>>2]=i;c[n>>2]=h;f=i;break}}while(0);n=h;k=k+2|0;h=c[e>>2]|0}}else{f=F;n=F;e=h}while(0);g:while(1){i=f;h=e;while(1){if(O)e=c[h+8>>2]|0;else e=h+N|0;e=e+J|0;if(G)e=c[e>>2]|0;do if(!H)if(I){e=f2(q,e)|0;break}else{e=g2(q,e,K)|0;break}else e=tb[L&127](a,q,e,M)|0;while(0);if(!e){e=r;o=i;break e}j=i+4|0;if((e|0)>=0)break;f=h+4|0;i=c[f>>2]|0;if(!i){x=115;break g}if(O)e=c[i+8>>2]|0;else e=i+N|0;e=e+J|0;if(G)e=c[e>>2]|0;do if(!H)if(I){e=f2(q,e)|0;break}else{e=g2(q,e,K)|0;break}else e=tb[L&127](a,q,e,M)|0;while(0);if((e|0)>=0){x=112;break}c[f>>2]=c[i>>2];c[i>>2]=h;c[j>>2]=i;h=c[i+4>>2]|0;if(!h){e=r;o=i;h=0;break e}}if((x|0)==112){x=0;if(!e){x=113;break}c[n>>2]=i;c[j>>2]=h;e=c[i>>2]|0;if(!e){e=r;o=h;n=i;h=0;break e}else{f=h;n=i;continue}}b=c[h>>2]|0;if(!b){x=133;break}if(O)e=c[b+8>>2]|0;else e=b+N|0;e=e+J|0;if(G)e=c[e>>2]|0;do if(!H)if(I){e=f2(q,e)|0;break}else{e=g2(q,e,K)|0;break}else e=tb[L&127](a,q,e,M)|0;while(0);f=b+4|0;if((e|0)>0){c[h>>2]=c[f>>2];c[f>>2]=h;c[n>>2]=b;e=c[b>>2]|0;if(!e){e=r;o=i;n=b;h=0;break e}else{f=i;n=b;continue}}if(!e){x=131;break}c[j>>2]=b;c[n>>2]=h;e=c[f>>2]|0;if(!e){e=r;o=b;n=h;h=0;break e}else{f=b;n=h}}if((x|0)==113){c[j>>2]=h;e=r;o=h;h=i;break}else if((x|0)==115){c[j>>2]=h;e=r;o=h;h=0;break}else if((x|0)==131){c[n>>2]=h;e=r;o=i;n=h;h=b;break}else if((x|0)==133){c[n>>2]=h;e=r;o=i;n=h;h=0;break}}while(0);i=o+4|0;j=(d&8|0)!=0;b=(d&2049|0)!=0;k=(d&16|0)!=0;do if(!h){c[i>>2]=0;c[n>>2]=0;if(!j)if(!k){if(z){e=o;break d}if(b)x=199;else{if(!s){g=0;e=o;break d}C=(c[P>>2]|0)+16|0;c[C>>2]=(c[C>>2]|0)+1}}else x=169;else x=163}else{c[t>>2]=c[t>>2]|32768;f=h+4|0;c[n>>2]=c[f>>2];c[i>>2]=c[h>>2];if(!z){if(j){c[f>>2]=c[F>>2];c[h>>2]=0;c[F>>2]=h;x=163;break}if(k){c[h>>2]=c[E>>2];c[f>>2]=0;c[E>>2]=h;x=169;break}if(u){e=o;x=174;break d}if(b){if(c[(c[D>>2]|0)+4>>2]&4|0){e=h;break}c[f>>2]=0;c[h>>2]=c[E>>2];c[E>>2]=h;x=199;break}if(!s){e=0;break a}if(!(c[(c[D>>2]|0)+4>>2]&4)){c[e+4>>2]=0;c[e>>2]=c[E>>2];c[E>>2]=m;e=(c[P>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+1;e=h;break}e=c[A>>2]|0;if(e|0)rb[e&127](a,g,M);if((c[y>>2]|0)<0){tb[c[B>>2]&127](a,m,0,M)|0;e=h}else e=h}else e=h}while(0);if((x|0)==163){e=c[E>>2]|0;if(!e){e=o;break}while(1){f=e+4|0;g=c[f>>2]|0;if(!g)break;c[f>>2]=c[g>>2];c[g>>2]=e;e=g}c[E>>2]=c[e>>2]}else if((x|0)==169){e=c[F>>2]|0;if(!e){e=o;break}while(1){f=c[e>>2]|0;if(!f)break;C=f+4|0;c[e>>2]=c[C>>2];c[C>>2]=e;e=f}c[F>>2]=c[e+4>>2]}else if((x|0)==199){i=M+12|0;e=c[i>>2]|0;f=(d&1|0)==0;if(!(f|(e|0)==0))g=eb[e&63](a,g,M)|0;do if(g){if((v|0)>-1){e=g+v|0;x=209;break}e=tb[c[B>>2]&127](a,0,12,M)|0;if(e|0){c[e+8>>2]=g;break}if((c[i>>2]|0)!=0?(w=c[A>>2]|0,!(f|(w|0)==0)):0){rb[w&127](a,g,M);x=209}else x=209}else{e=h;x=209}while(0);if((x|0)==209)if(!e){e=o;break}f=(c[P>>2]|0)+16|0;g=c[f>>2]|0;if((g|0)>-1)c[f>>2]=g+1}c[e+4>>2]=c[F>>2];c[e>>2]=c[E>>2];h:do if(!((c[(c[D>>2]|0)+4>>2]&8|0)==0|z^1)){if(O)f=c[e+8>>2]|0;else f=e+N|0;f=f+J|0;if(G)f=c[f>>2]|0;while(1){i=e+4|0;g=c[i>>2]|0;if(!g)break h;while(1){h=c[g>>2]|0;if(!h)break;F=h+4|0;c[g>>2]=c[F>>2];c[F>>2]=g;g=h}c[i>>2]=g;if(O)h=c[g+8>>2]|0;else h=g+N|0;h=h+J|0;if(G)h=c[h>>2]|0;do if(!H)if(I){h=f2(f,h)|0;break}else{h=g2(f,h,K)|0;break}else h=tb[L&127](a,f,h,M)|0;while(0);if(h|0)break h;c[i>>2]=c[g>>2];c[g>>2]=e;e=g}}while(0);c[(c[P>>2]|0)+4>>2]=e;if(O){e=c[e+8>>2]|0;break a}else{e=e+N|0;break a}}while(0);if((x|0)==174){if(O)g=c[h+8>>2]|0;else g=h+N|0;f=c[A>>2]|0;if(!((f|0)==0|C^1))rb[f&127](a,g,M);if((c[y>>2]|0)<0)tb[c[B>>2]&127](a,h,0,M)|0;O=(c[P>>2]|0)+16|0;N=c[O>>2]|0;c[O>>2]=(N|0)<1?-1:N+-1|0}do{f=e+4|0;e=c[f>>2]|0}while((e|0)!=0);c[f>>2]=c[F>>2];c[(c[P>>2]|0)+4>>2]=c[E>>2];e=C?g:0}while(0);l=Q;return e|0}function Xz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if(c[c[a+8>>2]>>2]&4096|0)Tz(a,0)|0;f=(b|0)!=0;g=a+16|0;if(f){if(c[c[b+8>>2]>>2]&4096|0)Tz(b,0)|0;if((c[b+16>>2]|0)==(c[g>>2]|0)){d=b;e=7}else b=0}else{d=0;e=7}a:do if((e|0)==7){while(1){if(!d)break;if((d|0)==(a|0)){b=0;break a}d=c[d+28>>2]|0;e=7}d=a+28|0;e=c[d>>2]|0;if(e|0){h=e+24|0;c[h>>2]=(c[h>>2]|0)+-1}c[a+32>>2]=0;c[d>>2]=0;if(f){c[d>>2]=b;c[a>>2]=31;h=b+24|0;c[h>>2]=(c[h>>2]|0)+1;break}else{c[a>>2]=c[c[g>>2]>>2];b=e;break}}while(0);return b|0}function Yz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=a+16|0;a:do if(!(d&99)){p=a+32|0;if((d&516|0)==0?(e=(c[(c[f>>2]|0)+4>>2]&12|0)!=0,(d&384|0)==0|e):0){if(e){if(!(d&408)){e=0;break}n=(d&136|0)!=0;o=(d&272|0)!=0;m=0;f=0;e=0;while(1){if(!a)break;l=eb[c[c[a+16>>2]>>2]&63](a,b,d)|0;do if(!l)g=m;else{h=c[a+4>>2]|0;i=c[h+4>>2]|0;j=c[h+20>>2]|0;g=l+(c[h>>2]|0)|0;if((i|0)<0)k=c[g>>2]|0;else k=g;if(e|0){do if(!j)if((i|0)<1){g=f2(k,f)|0;break}else{g=g2(k,f,i)|0;break}else g=tb[j&127](a,k,f,h)|0;while(0);if(!(n&(g|0)<0|o&(g|0)>0)){g=m;break}}g=a;f=k;e=l}while(0);m=g;a=c[a+28>>2]|0}c[p>>2]=m;break}if(!(d&24)){e=0;break}f=c[p>>2]|0;if(f){e=c[(c[f+4>>2]|0)+8>>2]|0;g=c[(c[f+8>>2]|0)+4>>2]|0;if((e|0)<0)e=c[g+8>>2]|0;else e=g+(0-e)|0;if((e|0)==(b|0))e=b;else{f=a;h=32}}else{f=a;h=32}do if((h|0)==32){while(1){if(!f){h=33;break}e=eb[c[c[f+16>>2]>>2]&63](f,b,4)|0;if(e|0){h=36;break}f=c[f+28>>2]|0;h=32}if((h|0)==33){c[p>>2]=0;e=0;break a}else if((h|0)==36){c[p>>2]=f;break}}while(0);i=(d<<4&128^128)+128|0;e=eb[c[c[f+16>>2]>>2]&63](f,e,d)|0;while(1){h=f+16|0;while(1){if(!e)break;else g=a;while(1){if((g|0)==(f|0))break a;if(eb[c[c[g+16>>2]>>2]&63](g,e,4)|0)break;g=c[g+28>>2]|0}e=eb[c[c[h>>2]>>2]&63](f,e,d)|0}f=c[f+28>>2]|0;c[p>>2]=f;if(!f){e=0;break a}e=eb[c[c[f+16>>2]>>2]&63](f,0,i)|0}}while(1){if(!a){a=0;e=0;break}e=eb[c[c[a+16>>2]>>2]&63](a,b,d)|0;if(e|0)break;a=c[a+28>>2]|0}c[p>>2]=a}else e=eb[c[c[f>>2]>>2]&63](a,b,d)|0;while(0);return e|0}function Zz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+32|0;f=eb[c[a>>2]&63](a,0,128)|0;do{if(!f){e=0;break}h=c[g>>2]|0;e=f;f=eb[c[a>>2]&63](a,f,8)|0;e=eb[b&63]((h|0)==0?a:h,e,d)|0}while((e|0)>=0);return e|0}function _z(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=a+4|0;n=c[f>>2]|0;g=b+28|0;h=a+12|0;a:do if(n)if(b){m=c[c[a+16>>2]>>2]|0;i=a+8|0;if(c[c[i>>2]>>2]&4096|0)Tz(a,0)|0;e=c[n+32>>2]|0;if(e|0?(tb[e&127](a,3,b,n)|0)<0:0){b=0;break}c[f>>2]=b;e=c[g>>2]|0;c[h>>2]=(e|0)==0?52:e;e=c[c[i>>2]>>2]|0;if(!(e&112)){l=(d&2|0)!=0;do if(!(e&2))if(!(e&3))if(!(d&1))break;else{b=n;break a}else if((d&3|0)==3){b=n;break a}else break;else if(l){b=n;break a}while(0);g=Qz(a)|0;e=c[i>>2]|0;k=c[e>>2]|0;c[e>>2]=k&-4097;c[e+4>>2]=0;c[e+16>>2]=0;b:do if(k&3|0){k=c[e+8>>2]|0;f=k+(c[e+12>>2]<<2)|0;e=k;while(1){if(e>>>0>=f>>>0)break b;c[e>>2]=0;e=e+4|0}}while(0);i=b+8|0;j=b+4|0;k=b+24|0;while(1){if(!g){b=n;break a}d=c[g>>2]|0;if(!l){e=c[i>>2]|0;if((e|0)<0)e=c[g+8>>2]|0;else e=g+(0-e)|0;h=c[j>>2]|0;e=e+(c[b>>2]|0)|0;if((h|0)<0)e=c[e>>2]|0;f=c[k>>2]|0;if(!f)e=aA(0,e,h)|0;else e=eb[f&63](a,e,b)|0;c[g+4>>2]=e}eb[m&63](a,g,32)|0;g=d}}else b=n}else b=n;else{c[f>>2]=b;n=c[g>>2]|0;c[h>>2]=(n|0)==0?52:n}while(0);return b|0}function $z(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=(c|0)==0;do if(!b)if(a)a=0;else a=k6(c)|0;else if(a){l6(b);a=0;break}else{a=n6(b,c)|0;break}while(0);return a|0}function aA(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;g=c;if((e|0)>=1){h=c+e+-1|0;g=(h>>>0>>0?c:h)+(1-g)&-2;f=c;while(1){if(f>>>0>=h>>>0)break;b=S(((d[f>>0]|0)<<8)+b+(d[f+1>>0]|0)|0,17109811)|0;f=f+2|0}f=c+g|0;if(f>>>0>h>>>0)c=e;else{c=e;b=S(((d[f>>0]|0)<<8)+b|0,17109811)|0}}else{while(1){f=a[c>>0]|0;if(!(f<<24>>24))break;h=a[c+1>>0]|0;e=S(((f&255)<<8)+b+(h&255)|0,17109811)|0;b=e;c=c+(h<<24>>24?2:1)|0}c=c-g|0}return S(b+c|0,17109811)|0}function bA(a){a=a|0;var b=0;b=c[46977]|0;c[46977]=a;return b|0}function cA(a){a=a|0;var b=0;b=c[46978]|0;c[46978]=a;return b|0}function dA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=eA(a,b,f)|0;l=e;return d|0}function eA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;e=(a|0)==3?c[46981]|0:(a|0)==2?1:a;c[46981]=e;g=c[46982]|0;c[46982]=g>>>0>e>>>0?g:e;g=(a|0)!=3;do if(e>>>0<(c[46978]|0)>>>0){a=c[46979]|0;if(!a){a=$5()|0;c[46979]=a;if(!a){a=1;break}}if(g){c[46980]=Y5(a)|0;a=c[46979]|0}l2(a,b,d)|0;a=0}else{if(c[46977]|0){fA(a,b,d);a=0;break}e=c[15715]|0;if(g){c[f>>2]=(a|0)==1?96650:96656;z4(e,96664,f)|0}l2(e,b,d)|0;a=0}while(0);l=h;return a|0}function fA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[46983]|0)==0?(f=k6(c[4600]|0)|0,c[46983]=f,(f|0)==0):0)Z3(96669,c[15715]|0)|0;else e=4;do if((e|0)==4){if((a|0)!=3){pb[c[46977]&63]((a|0)==1?96650:96656)|0;pb[c[46977]&63](97328)|0}while(1){a=k2(c[46983]|0,c[4600]|0,b,d)|0;f=c[46983]|0;e=c[4600]|0;if((a|0)>-1&(a|0)<(e|0)){e=7;break}g=e<<1;e=a+1|0;e=(g|0)>(e|0)?g:e;c[4600]=e;if(!(n6(f,e)|0)){e=9;break}}if((e|0)==7){pb[c[46977]&63](f)|0;break}else if((e|0)==9){Z3(96669,c[15715]|0)|0;break}}while(0);return}function gA(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;eA(1,a,e)|0;l=d;return}function hA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=b+12|0;if(!e){d=(d|0)==0?1024:d;c[f>>2]=1;e=k6(d)|0;c[b>>2]=e}else{c[b>>2]=e;c[f>>2]=0}c[b+8>>2]=e+d;c[b+4>>2]=e;a[e>>0]=0;return}function iA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;g=c[a>>2]|0;f=g;e=(c[h>>2]|0)-f|0;d=e<<1;e=e+b|0;d=e>>>0>d>>>0?e:d;e=a+4|0;f=(c[e>>2]|0)-f|0;b=a+12|0;if(!(c[b>>2]|0)){i=k6(d)|0;B6(i|0,g|0,f|0)|0;c[b>>2]=1;b=i}else b=n6(g,d)|0;c[a>>2]=b;c[e>>2]=b+f;c[h>>2]=b+d;return 0}function jA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=a+4|0;e=c[f>>2]|0;if((e+d|0)>>>0>(c[a+8>>2]|0)>>>0){iA(a,d)|0;e=c[f>>2]|0}B6(e|0,b|0,d|0)|0;c[f>>2]=(c[f>>2]|0)+d;return d|0}function kA(a,b){a=a|0;b=b|0;return jA(a,b,D3(b)|0)|0}function lA(a){a=a|0;if(c[a+12>>2]|0)l6(c[a>>2]|0);return}function mA(a){a=a|0;var b=0,e=0;b=a+4|0;e=c[b>>2]|0;if(e>>>0>(c[a>>2]|0)>>>0){c[b>>2]=e+-1;a=d[e>>0]|0}else a=-1;return a|0}function nA(a,b,d){a=a|0;b=b|0;d=d|0;fD(c[46985]|0,c[b+8>>2]|0)|0;fD(c[46985]|0,c[b+12>>2]|0)|0;bC(c[46985]|0,b);return}function oA(a,b){a=a|0;b=b|0;var c=0;c=PC(a,96717,0)|0;if((b|0)!=0&(c|0)==0){pA(a);c=PC(a,96717,0)|0}return c|0}function pA(a){a=a|0;var b=0,c=0,d=0;d=vC(a)|0;zE(d,d,107,0,1)|0;c=gC(d)|0;while(1){if(!c)break;rA(a,c);b=UA(d,c)|0;while(1){if(!b)break;sA(a,b);b=WA(d,b)|0}c=hC(d,c)|0}return}function qA(b){b=b|0;var c=0;c=b+24|0;a[c>>0]=a[c>>0]|64;xA(b);c=OD(b)|0;uA((c|0)==0?b:c,b);return}function rA(a,b){a=a|0;b=b|0;var d=0;d=tA(b)|0;if(!((d|0)!=0?(c[d+8>>2]|0)!=0:0))uA(a,b);return}function sA(a,b){a=a|0;b=b|0;var d=0;d=tA(b)|0;if(!((d|0)!=0?(c[d+8>>2]|0)!=0:0))uA(a,b);return}function tA(a){a=a|0;return PC(a,c[4610]|0,0)|0}function uA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=RC(b,c[4610]|0,16,0)|0;f=vA(a,c[b>>2]&3)|0;e=d+8|0;a:do if(!(c[e>>2]|0)){a=vC(a)|0;c[e>>2]=vA(a,c[b>>2]&3)|0;a=wA(b)|0;d=d+12|0;c[d>>2]=aC(uC(b)|0,((a|0)>4?a:4)<<2)|0;a=eb[c[f>>2]&63](f,0,128)|0;while(1){if(!a)break a;e=uC(b)|0;e=dD(e,c[a+12>>2]|0)|0;c[(c[d>>2]|0)+(c[a+16>>2]<<2)>>2]=e;a=eb[c[f>>2]&63](f,a,8)|0}}while(0);return}function vA(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;a=oA(a,0)|0;a:do if(!a)a=0;else switch(b|0){case 0:{a=c[a+16>>2]|0;break a}case 1:{a=c[a+8>>2]|0;break a}case 2:case 3:{a=c[a+12>>2]|0;break a}default:{c[d>>2]=b;dA(1,96730,d)|0;a=0;break a}}while(0);l=e;return a|0}function wA(a){a=a|0;var b=0;b=vC(uC(a)|0)|0;a=vA(b,c[a>>2]&3)|0;if(!a)a=0;else a=Uz(a)|0;return a|0}function xA(a){a=a|0;var b=0,d=0,e=0,f=0;d=RC(a,96717,20,0)|0;e=d+8|0;c[e>>2]=SD(a,18404,c[4599]|0)|0;f=d+12|0;c[f>>2]=SD(a,18404,c[4599]|0)|0;d=d+16|0;c[d>>2]=SD(a,18404,c[4599]|0)|0;b=OD(a)|0;if(!b){b=c[46984]|0;if(!((b|0)==0|(b|0)==(a|0))){b=oA(b,0)|0;yA(c[b+8>>2]|0,c[e>>2]|0,a,1);yA(c[b+12>>2]|0,c[f>>2]|0,a,2);yA(c[b+16>>2]|0,c[d>>2]|0,a,0)}}else{a=oA(b,0)|0;Xz(c[e>>2]|0,c[a+8>>2]|0)|0;Xz(c[f>>2]|0,c[a+12>>2]|0)|0;Xz(c[d>>2]|0,c[a+16>>2]|0)|0}return}function yA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=eb[c[b>>2]&63](b,0,128)|0;while(1){if(!g)break;h=zA(e,c[g+8>>2]|0,c[g+12>>2]|0,c[g+16>>2]|0,f)|0;a[h+22>>0]=a[g+22>>0]|0;a[h+21>>0]=a[g+21>>0]|0;eb[c[d>>2]&63](d,h,1)|0;g=eb[c[b>>2]&63](b,g,8)|0}return}function zA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=aC(b,24)|0;a[h+20>>0]=g;c[h+8>>2]=dD(b,d)|0;c[h+12>>2]=dD(b,e)|0;c[h+16>>2]=f;return h|0}function AA(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e+8>>2]=b;b=eb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function BA(a,b){a=a|0;b=b|0;var c=0;c=Xz(a,0)|0;b=AA(a,b)|0;Xz(a,c)|0;return b|0}function CA(a,b){a=a|0;b=b|0;a=tA(a)|0;if(!a)a=0;else a=AA(c[a+8>>2]|0,b)|0;return a|0}function DA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!a){a=c[46984]|0;if(!a){c[f>>2]=c[4611];a=lB(0,f,0)|0;c[46984]=a}}if(!e)a=FA(a,b,d)|0;else a=EA(a,b,d,e)|0;l=g;return a|0}function EA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=vC(a)|0;oA(a,1)|0;g=vA(a,b)|0;f=BA(g,d)|0;a:do if(!f){f=AA(g,d)|0;if(f|0){f=zA(a,d,e,c[f+16>>2]|0,b)|0;eb[c[g>>2]&63](g,f,1)|0;h=16;break}g=vA(i,b)|0;f=zA(a,d,e,Uz(g)|0,b)|0;eb[c[g>>2]&63](g,f,1)|0;switch(b|0){case 0:{zE(i,i,57,f,1)|0;h=16;break a}case 1:{d=gC(i)|0;while(1){if(!d){h=16;break a}GA(a,d,f);d=hC(i,d)|0}}case 2:case 3:{g=gC(i)|0;while(1){if(!g){h=16;break a}d=UA(i,g)|0;while(1){if(!d)break;GA(a,d,f);d=WA(i,d)|0}g=hC(i,g)|0}}default:break a}}else{h=f+12|0;fD(a,c[h>>2]|0)|0;c[h>>2]=dD(a,e)|0;h=16}while(0);if((h|0)==16)if((b|0)==0&(f|0)!=0)HA(a,f,e)|0;yC(a,a,f);return f|0}function FA(a,b,c){a=a|0;b=b|0;c=c|0;a=vA(a,b)|0;if(!a)a=0;else a=AA(a,c)|0;return a|0}function GA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;b=tA(b)|0;f=d+16|0;e=c[f>>2]|0;if((e|0)>3){g=c[a+64>>2]|0;b=b+12|0;e=e<<2;c[b>>2]=tb[c[(c[g>>2]|0)+8>>2]&127](c[g+12>>2]|0,c[b>>2]|0,e,e+4|0)|0}else b=b+12|0;g=dD(a,c[d+12>>2]|0)|0;c[(c[b>>2]|0)+(c[f>>2]<<2)>>2]=g;return}function HA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=uC(a)|0;g=(tA(a)|0)+12|0;i=b+16|0;fD(h,c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]|0)|0;f=dD(h,d)|0;c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]=f;do if(!(c[a>>2]&3)){e=c[(oA(h,0)|0)+16>>2]|0;f=b+8|0;g=BA(e,c[f>>2]|0)|0;if(!g){i=zA(h,c[f>>2]|0,d,c[i>>2]|0,c[a>>2]&3)|0;eb[c[e>>2]&63](e,i,1)|0;break}else{i=g+12|0;fD(h,c[i>>2]|0)|0;c[i>>2]=dD(h,d)|0;break}}while(0);yC(h,a,b);return 0}function IA(a,b,d){a=a|0;b=b|0;d=d|0;a=vA(a,b)|0;do if(a){b=c[a>>2]|0;if(!d){a=eb[b&63](a,0,128)|0;break}else{a=eb[b&63](a,d,8)|0;break}}else a=0;while(0);return a|0}function JA(a){a=a|0;var b=0;c[46985]=a;b=tA(a)|0;if(b|0){KA(a,b);TC(a,c[b>>2]|0)|0}b=oA(a,0)|0;if(b)if(((UD(a,c[b+8>>2]|0)|0)==0?(UD(a,c[b+12>>2]|0)|0)==0:0)?(UD(a,c[b+16>>2]|0)|0)==0:0){TC(a,c[b>>2]|0)|0;b=0}else b=1;else b=0;return b|0}function KA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=uC(a)|0;e=wA(a)|0;b=b+12|0;a=0;while(1){d=c[b>>2]|0;if((a|0)>=(e|0))break;fD(f,c[d+(a<<2)>>2]|0)|0;a=a+1|0}bC(f,d);return}function LA(a){a=a|0;var b=0;b=tA(a)|0;if(b|0){KA(a,b);TC(a,c[4610]|0)|0}return}function MA(a){a=a|0;var b=0;b=tA(a)|0;if(b|0){KA(a,b);TC(a,c[4610]|0)|0}return}function NA(a,b){a=a|0;b=b|0;b=CA(a,b)|0;if(!b)b=0;else{a=c[(tA(a)|0)+12>>2]|0;b=c[a+(c[b+16>>2]<<2)>>2]|0}return b|0}function OA(a,b){a=a|0;b=b|0;a=c[(tA(a)|0)+12>>2]|0;return c[a+(c[b+16>>2]<<2)>>2]|0}function PA(a,b,c){a=a|0;b=b|0;c=c|0;b=CA(a,b)|0;if(!b)b=-1;else{HA(a,b,c)|0;b=0}return b|0}function QA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=uC(a)|0;f=DA(f,c[a>>2]&3,b,0)|0;if(!f){f=uC(a)|0;f=DA(f,c[a>>2]&3,b,e)|0}HA(a,f,d)|0;return 0}function RA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=uC(a)|0;f=c[a>>2]|0;a:do if(!((c[b>>2]^f)&3)){d=1;e=0;while(1){e=IA(g,f&3,e)|0;if(!e)break a;d=CA(b,c[e+8>>2]|0)|0;if(!d){d=1;break a}f=OA(a,e)|0;HA(b,d,f)|0;if(gD(f)|0)hD(OA(b,d)|0);d=0;f=c[a>>2]|0}}else d=1;while(0);return d|0}function SA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;a=c[b+40>>2]|0;f=c[d+40>>2]|0;if((a|0)==(f|0)){e=(c[b>>2]|0)>>>4;a=(c[d>>2]|0)>>>4;if(e>>>0>=a>>>0)if(e>>>0>a>>>0)a=1;else g=6;else a=-1}else{e=(c[a>>2]|0)>>>4;a=(c[f>>2]|0)>>>4;if(e>>>0>=a>>>0)if(e>>>0>a>>>0)a=1;else g=6;else a=-1}if((g|0)==6)a=0;return a|0}function TA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a=(c[b+40>>2]|0)+8|0;g=c[a>>2]|0;a=c[a+4>>2]|0;f=(c[d+40>>2]|0)+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;do if(!(a>>>0>>0|(a|0)==(f|0)&g>>>0>>0))if(a>>>0>f>>>0|(a|0)==(f|0)&g>>>0>e>>>0)a=1;else{e=b+8|0;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!((a|0)==0&(e|0)==0)?(i=d+8|0,h=c[i>>2]|0,i=c[i+4>>2]|0,!((h|0)==0&(i|0)==0)):0){if(e>>>0>>0|(e|0)==(i|0)&a>>>0>>0){a=-1;break}if(e>>>0>i>>>0|(e|0)==(i|0)&a>>>0>h>>>0){a=1;break}}a=0}else a=-1;while(0);return a|0}function UA(a,b){a=a|0;b=b|0;var d=0;b=VA(a,b)|0;if(!b)b=0;else{d=a+44|0;a=b+32|0;Tz(c[d>>2]|0,c[a>>2]|0)|0;b=c[d>>2]|0;b=eb[c[b>>2]&63](b,0,128)|0;c[a>>2]=Pz(c[d>>2]|0)|0}return b|0}function VA(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+48|0;d=e;if((c[b+24>>2]|0)==(a|0))a=b+28|0;else{c[d+16>>2]=b;a=c[a+40>>2]|0;a=eb[c[a>>2]&63](a,d,4)|0}l=e;return a|0}function WA(a,b){a=a|0;b=b|0;var d=0,e=0;d=VA(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;if(!d)a=0;else{e=a+44|0;d=d+32|0;Tz(c[e>>2]|0,c[d>>2]|0)|0;a=c[e>>2]|0;a=eb[c[a>>2]&63](a,b,8)|0;c[d>>2]=Pz(c[e>>2]|0)|0}return a|0}function XA(a,b){a=a|0;b=b|0;var d=0;b=VA(a,b)|0;if(!b)b=0;else{d=a+44|0;a=b+28|0;Tz(c[d>>2]|0,c[a>>2]|0)|0;b=c[d>>2]|0;b=eb[c[b>>2]&63](b,0,128)|0;c[a>>2]=Pz(c[d>>2]|0)|0}return b|0}function YA(a,b){a=a|0;b=b|0;var d=0,e=0;d=VA(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;if(!d)a=0;else{e=a+44|0;d=d+28|0;Tz(c[e>>2]|0,c[d>>2]|0)|0;a=c[e>>2]|0;a=eb[c[a>>2]&63](a,b,8)|0;c[d>>2]=Pz(c[e>>2]|0)|0}return a|0}function ZA(a,b){a=a|0;b=b|0;var c=0;c=UA(a,b)|0;if(!c)c=XA(a,b)|0;return c|0}function _A(a,b,d){a=a|0;b=b|0;d=d|0;a:do if((c[b>>2]&3|0)==2){b=WA(a,b)|0;if(!b){b=0;do{if(!b)b=XA(a,d)|0;else b=YA(a,b)|0;if(!b){b=0;break a}}while((c[b+40>>2]|0)==(d|0))}}else do{b=YA(a,b)|0;if(!b){b=0;break a}}while((c[b+40>>2]|0)==(d|0));while(0);return b|0}function $A(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+32|0;f=h+16|0;g=h;if((wB(a)|0)!=0?(c[g>>2]=0,c[g+4>>2]=0,c[g+8>>2]=0,c[g+12>>2]=0,c[f>>2]=c[g>>2],c[f+4>>2]=c[g+4>>2],c[f+8>>2]=c[g+8>>2],c[f+12>>2]=c[g+12>>2],(dB(a,b,e,f)|0)!=0):0)f=0;else f=((d[a+24>>0]|0)>>>2&1^1)&255|(b|0)!=(e|0);l=h;return f|0}function aB(a,b){a=a|0;b=b|0;cB(a,b);return}function bB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;lC(b,d,1)|0;lC(b,e,1)|0;h=aC(b,96)|0;i=h+48|0;l=oB(b,2)|0;j=c[i>>2]|0;k=c[h>>2]|0;m=h+8|0;c[m>>2]=f;c[m+4>>2]=g;m=h+56|0;c[m>>2]=f;c[m+4>>2]=g;g=l<<4;c[h>>2]=k&12|g|2;c[i>>2]=j&12|g|3;c[h+88>>2]=d;c[h+40>>2]=e;cB(b,h);if(a[b+24>>0]&64){RC(h,c[4610]|0,16,0)|0;sA(b,h)}wC(b,h);return h|0}function cB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+16|0;d=i;h=c[b>>2]&3;g=(h|0)==2?b:b+-48|0;h=(h|0)==3?b:b+48|0;e=c[h+40>>2]|0;f=c[g+40>>2]|0;while(1){if(!a)break;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if(dB(a,e,f,d)|0)break;j=VA(a,e)|0;m=a+44|0;eB(c[m>>2]|0,j+32|0,g);k=a+48|0;eB(c[k>>2]|0,j+24|0,g);j=VA(a,f)|0;eB(c[m>>2]|0,j+28|0,h);eB(c[k>>2]|0,j+20|0,h);a=OD(a)|0}l=i;return}function dB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+48|0;f=h;if(!((b|0)==0|(d|0)==0)?(c[f>>2]=c[e>>2],c[f+4>>2]=c[e+4>>2],c[f+8>>2]=c[e+8>>2],c[f+12>>2]=c[e+12>>2],c[f+40>>2]=b,g=VA(a,d)|0,(g|0)!=0):0){e=a+48|0;g=g+20|0;Tz(c[e>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;a=eb[c[a>>2]&63](a,f,4)|0;c[g>>2]=Pz(c[e>>2]|0)|0}else a=0;l=h;return a|0}function eB(a,b,d){a=a|0;b=b|0;d=d|0;Tz(a,c[b>>2]|0)|0;eb[c[a>>2]&63](a,d,1)|0;c[b>>2]=Pz(a)|0;return}function fB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;i=o+24|0;m=o+16|0;j=o;h=(f|0)!=0;do if(!(EB(a,2,e,m,0)|0)){if(e|0)if(h){n=18;break}else{f=0;break}if(h?(wB(a)|0)==0:0){n=18;break}n=j;c[n>>2]=0;c[n+4>>2]=0;c[j>>2]=0;n=j+8|0;c[n>>2]=0;c[n+4>>2]=0;n=7}else{g=j;c[g>>2]=0;c[g+4>>2]=0;g=m;k=c[g+4>>2]|0;n=j+8|0;c[n>>2]=c[g>>2];c[n+4>>2]=k;c[j>>2]=2;n=7}while(0);a:do if((n|0)==7){c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];f=dB(a,b,d,i)|0;if(f|0)break;if(!(vB(a)|0))k=0;else{c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];k=dB(a,d,b,i)|0}g=(k|0)!=0;f=h^1;do if(g|f)g=g^1;else{f=vC(a)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];f=dB(f,b,d,i)|0;if(!f){if(!(vB(a)|0)){g=1;f=0;break}f=vC(a)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];f=dB(f,d,b,i)|0;if(!f){g=1;f=0;break}}aB(a,f);break a}while(0);if(f|g^1)f=g?0:k;else n=18}while(0);if((n|0)==18)if(($A(a,b,d)|0)!=0?(EB(a,2,e,m,1)|0)!=0:0){f=m;f=bB(a,b,d,c[f>>2]|0,c[f+4>>2]|0)|0;IB(a,2,f)}else f=0;l=o;return f|0}function gB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;d=(c[b>>2]&3|0)==3;g=d?b+-48|0:b;d=d?b:b+48|0;b=c[g+40>>2]|0;h=VA(a,c[d+40>>2]|0)|0;f=a+44|0;hB(c[f>>2]|0,h+32|0,g);e=a+48|0;hB(c[e>>2]|0,h+24|0,g);b=VA(a,b)|0;hB(c[f>>2]|0,b+28|0,d);hB(c[e>>2]|0,b+20|0,d);return}function hB(a,b,d){a=a|0;b=b|0;d=d|0;Tz(a,c[b>>2]|0)|0;eb[c[a>>2]&63](a,d,2)|0;c[b>>2]=Pz(a)|0;return}function iB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e;d=(c[d>>2]&3|0)==2?d:d+-48|0;g=c[d>>2]&3;h=c[((g|0)==3?d:d+48|0)+40>>2]|0;g=c[((g|0)==2?d:d+-48|0)+40>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];if(dB(b,h,g,f)|0){if((vC(b)|0)==(b|0)){if(a[b+24>>0]&64)MA(d);AC(b,d);ZC(d);h=d+8|0;GB(b,2,c[h>>2]|0,c[h+4>>2]|0)}if(!(zE(b,d,58,0,0)|0))if((vC(b)|0)==(b|0)){bC(b,d);d=0}else d=0;else d=-1}else d=-1;l=e;return d|0}function jB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;f=lC(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0,d)|0;g=lC(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0,d)|0;do if((f|0)!=0&(g|0)!=0){c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];e=dB(a,f,g,e)|0;f=(e|0)==0;if(!((d|0)!=0&f)){if(f)break}else{cB(a,b);e=b}d=c[e>>2]&3;l=h;return ((d|0)==(c[b>>2]&3|0)?e:e+(((d|0)==3?-1:1)*48|0)|0)|0}while(0);l=h;return 0}function kB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=b+8|0;e=d+8|0;e=t6(c[b>>2]|0,c[b+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;return ((e|0)==0?0:e>>31|1)|0}function lB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;g=h;j=mB(e)|0;f=vb[c[(c[j>>2]|0)+4>>2]&127](c[j+12>>2]|0,72)|0;c[f>>2]=c[f>>2]&-4;i=f+64|0;c[i>>2]=j;k=f+24|0;d=c[d>>2]|0;c[k>>2]=d;a[k>>0]=d&255|8;c[f+60>>2]=f;e=vb[c[c[j+4>>2]>>2]&127](f,e)|0;c[(c[i>>2]|0)+16>>2]=e;if(EB(f,0,b,g,1)|0){i=g;j=c[i+4>>2]|0;k=f+8|0;c[k>>2]=c[i>>2];c[k+4>>2]=j}k=nB(f)|0;IB(k,0,f);l=h;return k|0}function mB(b){b=b|0;var d=0,e=0,f=0,g=0;d=(b|0)!=0;if(d){e=c[b>>2]|0;e=(e|0)==0?18780:e}else e=18780;g=pb[c[e>>2]&63](b)|0;f=vb[c[e+4>>2]&127](g,80)|0;c[f>>2]=e;c[f+12>>2]=g;if(d){g=c[b+4>>2]|0;c[f+4>>2]=(g|0)==0?18656:g;b=c[b+8>>2]|0;b=(b|0)==0?18756:b}else{c[f+4>>2]=18656;b=18756}c[f+8>>2]=b;a[f+52>>0]=1;return f|0}function nB(b){b=b|0;var d=0,e=0;c[b+36>>2]=SD(b,18836,c[4599]|0)|0;c[b+40>>2]=SD(b,18800,c[4599]|0)|0;d=(vC(b)|0)==(b|0);c[b+44>>2]=SD(b,d?18448:18484,c[4599]|0)|0;d=(vC(b)|0)==(b|0);c[b+48>>2]=SD(b,d?18520:18556,c[4599]|0)|0;c[b+52>>2]=SD(b,18592,c[4599]|0)|0;d=OD(b)|0;if(!((d|0)!=0?(e=oB(d,0)|0,c[b>>2]=c[b>>2]&15|e<<4,e=c[d+52>>2]|0,eb[c[e>>2]&63](e,b,1)|0,!(a[d+24>>0]&64)):0))qA(b);wC(b,b);return b|0}function oB(a,b){a=a|0;b=b|0;var d=0;d=(c[a+64>>2]|0)+24+(b<<3)|0;b=d;b=w6(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;a=D;c[d>>2]=b;c[d+4>>2]=a;D=a;return b|0}function pB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;f=OD(b)|0;g=(f|0)==0;h=b+64|0;if(g?(c[(c[c[h>>2]>>2]|0)+16>>2]|0)!=0:0){AC(b,b);d=b+8|0;GB(b,0,c[d>>2]|0,c[d+4>>2]|0);d=c[h>>2]|0;db[c[(c[d>>2]|0)+16>>2]&127](c[d+12>>2]|0);d=0}else e=4;do if((e|0)==4){d=MD(b)|0;while(1){if(!d)break;e=ND(d)|0;pB(d)|0;d=e}d=gC(b)|0;while(1){if(!d)break;e=hC(b,d)|0;sC(b,d)|0;d=e}RB(b);AC(b,b);if(((((UD(b,c[b+40>>2]|0)|0)==0?(UD(b,c[b+36>>2]|0)|0)==0:0)?(UD(b,c[b+48>>2]|0)|0)==0:0)?(UD(b,c[b+44>>2]|0)|0)==0:0)?(UD(b,c[b+52>>2]|0)|0)==0:0){if(a[b+24>>0]&64?JA(b)|0:0){d=-1;break}ZC(b);e=b+8|0;GB(b,0,c[e>>2]|0,c[e+4>>2]|0);if(!g){PD(f,b)|0;bC(f,b);d=0;break}while(1){d=c[h>>2]|0;e=c[d+48>>2]|0;if(!e)break;DC(b,c[e>>2]|0)|0}db[c[(c[d+4>>2]|0)+20>>2]&127](c[d+16>>2]|0);if(!(_C(b)|0)){d=c[h>>2]|0;h=c[d+12>>2]|0;g=(c[d>>2]|0)+12|0;lb[c[g>>2]&63](h,b);lb[c[g>>2]&63](h,d);d=0}else d=-1}else d=-1}while(0);return d|0}function qB(a){a=a|0;return Uz(c[a+40>>2]|0)|0}function rB(a){a=a|0;var b=0,c=0,d=0;b=0;c=gC(a)|0;while(1){if(!c)break;d=(sB(a,c,0,1)|0)+b|0;b=d;c=hC(a,c)|0}return b|0}function sB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=VA(a,b)|0;if(f){a=a+44|0;if(!e)b=0;else b=tB(c[a>>2]|0,f+32|0)|0;if(d)b=(tB(c[a>>2]|0,f+28|0)|0)+b|0}else b=0;return b|0}function tB(a,b){a=a|0;b=b|0;var d=0;Tz(a,c[b>>2]|0)|0;d=Uz(a)|0;c[b>>2]=Pz(a)|0;return d|0}function uB(b){b=b|0;return a[b+24>>0]&1|0}function vB(a){a=a|0;return (uB(a)|0)==0|0}function wB(a){a=a|0;return (d[a+24>>0]|0)>>>1&1|0}function xB(a,b){a=a|0;b=b|0;return a|0}function yB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!d){f=1392;d=c[f>>2]|0;f=c[f+4>>2]|0;c[e>>2]=d;c[e+4>>2]=f;f=w6(d|0,f|0,2,0)|0;e=1392;c[e>>2]=f;c[e+4>>2]=D}else{if(!f)a=aD(a,d)|0;else a=dD(a,d)|0;c[e>>2]=a;c[e+4>>2]=0}return 1}function zB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function AB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((c&1|0)==0&0==0)fD(a,c)|0;return}function BB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((c&1|0)==0&0==0?c:0)|0}function CB(a){a=a|0;return}function DB(a,b,c){a=a|0;b=b|0;c=c|0;return} +function Ol(a){a=a|0;var d=0,e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;if(b[a+236>>1]|0)Aa(88706,88689,190,88725);d=c[a+196>>2]|0;a=(b[a+238>>1]<<6)+192|0;if(!d)a=IK(a)|0;else a=KK(d,a)|0;e=a+64|0;a=c[g>>2]|0;c[a+196>>2]=e;a=b[a+238>>1]|0;while(1){d=e+(a<<6)|0;if((a|0)<=-1)break;a=a+-1|0;e=e+(a<<6)|0;f=d+64|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));e=c[(c[g>>2]|0)+196>>2]|0}c[e+(a<<6)+8>>2]=0;c[d>>2]=0;e=HK(8)|0;g=c[g>>2]|0;f=c[g+196>>2]|0;c[f+(a<<6)+12>>2]=e;c[f+(a<<6)+4>>2]=e;c[f+(a<<6)+56>>2]=0;h[f+(a<<6)+24>>3]=1.0;h[f+(a<<6)+16>>3]=1.0;h[f+(a<<6)+40>>3]=1.0;h[f+(a<<6)+32>>3]=1.0;g=g+236|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;return}function Pl(b){b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0;j=b+16|0;if(c[(c[j>>2]|0)+96>>2]|0){m=b+48|0;k=dg(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)|0;d=c[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+232>>2]|0;l=Ql(k,b)|0;n=k+16|0;e=c[n>>2]|0;g=c[e+196>>2]|0;o=d+-1|0;i=c[c[g+(o<<6)+4>>2]>>2]|0;if(!i)f=+h[(c[(c[c[g+(d<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +h[g+(d<<6)+24>>3]+ +(c[e+252>>2]|0);else f=+h[(c[i+16>>2]|0)+24>>3]-+h[g+(o<<6)+16>>3];d=Rl(k,o,l)|0;k=c[(c[j>>2]|0)+96>>2]|0;q=+h[k+24>>3];p=+h[k+32>>3];j=(c[(c[n>>2]|0)+116>>2]&1|0)==0;r=j?p:q;g=d+16|0;e=c[g>>2]|0;h[e+80>>3]=r;l=~~(r*.5);p=(j?q:p)*.5;h[e+96>>3]=p;h[e+88>>3]=p;c[e+104>>2]=k;h[e+24>>3]=+(l+~~f|0);e=kh(d,c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0,b)|0;e=c[e+16>>2]|0;h[e+16>>3]=-+h[(c[g>>2]|0)+88>>3];h[e+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+96>>3];a[e+112>>0]=4;e=b+-48|0;d=kh(d,c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0,b)|0;g=c[g>>2]|0;d=c[d+16>>2]|0;h[d+16>>3]=+h[g+96>>3];h[d+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+88>>3];a[d+112>>0]=4;d=c[(c[n>>2]|0)+196>>2]|0;e=d+(o<<6)+16|0;f=+(l|0);if(+h[e>>3]>3]=f;d=d+(o<<6)+24|0;if(+h[d>>3]>3]=f;c[g+112>>2]=b}return}function Ql(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+8|0;f=n+4|0;g=n;d=c[b>>2]&3;e=c[((d|0)==3?b:b+48|0)+40>>2]|0;k=(c[(c[e+16>>2]|0)+232>>2]|0)+-1|0;a=c[(c[a+16>>2]|0)+196>>2]|0;h=c[a+(k<<6)+4>>2]|0;a=c[a+(k<<6)>>2]|0;k=j+8|0;c[k>>2]=-1;c[j>>2]=-1;m=j+12|0;c[m>>2]=a;i=j+4|0;c[i>>2]=a;Sl(e,c[((d|0)==2?b:b+-48|0)+40>>2]|0,f,g);f=c[f>>2]|0;g=c[g>>2]|0;d=0;e=a;b=-1;while(1){if((d|0)>=(e|0))break;e=e+-1|0;Tl(c[h+(d<<2)>>2]|0,j,f,g);if((d|0)!=(e|0))Tl(c[h+(e<<2)>>2]|0,j,f,g);a=c[i>>2]|0;b=c[j>>2]|0;if((a-b|0)<2)break;else d=d+1|0}if((b|0)>(a|0))a=(c[m>>2]|0)+(c[k>>2]|0)|0;else a=a+b|0;l=n;return (a+1|0)/2|0|0}function Rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+16|0;e=c[(c[g>>2]|0)+196>>2]|0;f=c[e+(b<<6)+4>>2]|0;e=(c[e+(b<<6)>>2]<<2)+8|0;if(!f)f=IK(e)|0;else f=KK(f,e)|0;e=c[(c[g>>2]|0)+196>>2]|0;c[e+(b<<6)+4>>2]=f;e=c[e+(b<<6)>>2]|0;while(1){if((e|0)<=(d|0))break;h=e+-1|0;i=c[f+(h<<2)>>2]|0;c[f+(e<<2)>>2]=i;i=(c[i+16>>2]|0)+236|0;c[i>>2]=(c[i>>2]|0)+1;e=h}h=ph(a)|0;i=f+(d<<2)|0;c[i>>2]=h;h=c[h+16>>2]|0;c[h+236>>2]=d;c[h+232>>2]=b;g=(c[(c[g>>2]|0)+196>>2]|0)+(b<<6)|0;h=(c[g>>2]|0)+1|0;c[g>>2]=h;c[f+(h<<2)>>2]=0;return c[i>>2]|0}function Sl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a=c[(c[a+16>>2]|0)+236>>2]|0;b=c[(c[b+16>>2]|0)+236>>2]|0;f=(a|0)>(b|0);c[d>>2]=f?b:a;c[e>>2]=f?a:b;return}function Tl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;h=o+4|0;g=o;b=c[b+16>>2]|0;do if((a[b+156>>0]|0)==1){n=c[b+236>>2]|0;m=d+4|0;j=c[b+180>>2]|0;if(c[b+176>>2]|0){b=0;g=0;h=0;while(1){i=c[j+(h<<2)>>2]|0;if(!i)break;i=c[(c[(c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;k=(i|0)>(e|0);b=k?((i|0)<(f|0)?b:1):b;g=k?g:1;h=h+1|0}if(g<<24>>24!=0&b<<24>>24==0){c[d>>2]=n+1;break}if(!(g<<24>>24==0&b<<24>>24!=0))break;c[m>>2]=n+-1;break}if((c[b+184>>2]|0)!=2)Aa(88669,88689,63,88696);k=c[j>>2]|0;j=c[j+4>>2]|0;Sl(c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0,h,g);j=c[g>>2]|0;k=d+8|0;if((j|0)<=(e|0)){c[d>>2]=n;c[k>>2]=n;break}i=c[h>>2]|0;h=d+12|0;if((i|0)>=(f|0)){c[m>>2]=n;c[h>>2]=n;break}b=(i|0)<(e|0);g=(j|0)>(f|0);if(!(g&b)){if(!(!b?!((j|0)<(f|0)&(i|0)==(e|0)):0))c[k>>2]=n;if(!g?!((j|0)==(f|0)&(i|0)>(e|0)):0)break;c[h>>2]=n}}while(0);l=o;return}function Ul(a){a=a|0;c[47180]=1;mm(a);c[47180]=0;return}function Vl(a){a=a|0;c[47180]=2;mm(a);c[47180]=0;return}function Wl(a){a=a|0;var b=0;RC(a,137750,304,1)|0;qP(a);b=HK((e[(c[(uC(a)|0)+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[a+16>>2]|0)+132>>2]=b;oQ(a,c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&1);return}function Xl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;u=l;l=l+64|0;j=u+48|0;p=u+40|0;k=u+24|0;i=u+8|0;s=u+56|0;n=u;do if((b|0)!=0?(t=e+16|0,q=c[(c[t>>2]|0)+132>>2]|0,g=OA(e,b)|0,(a[g>>0]|0)!=0):0){a[s>>0]=0;m=q+16|0;r=(d|0)!=0;b=q+8|0;if((c[47184]|0)>2?(c[i>>2]=q,c[i+4>>2]=b,c[i+8>>2]=m,c[i+12>>2]=s,(q4(g,88807,i)|0)>2):0){a[(c[t>>2]|0)+119>>0]=1;g=c[47184]|0;a:do if(+h[23314]>0.0){b=0;while(1){if((b|0)>=(g|0))break a;p=q+(b<<3)|0;h[p>>3]=+h[p>>3]/+h[23314];b=b+1|0}}while(0);if((g|0)>3)Cn(e,f,3);if((a[s>>0]|0)!=33){if(!r){b=1;break}if(!((bP(OA(e,d)|0)|0)<<24>>24)){b=1;break}}a[(c[t>>2]|0)+119>>0]=3;b=1;break}c[k>>2]=q;c[k+4>>2]=b;c[k+8>>2]=s;if((q4(g,102050,k)|0)<=1){c[j>>2]=HB(e)|0;c[j+4>>2]=g;dA(1,88821,j)|0;b=0;break}a[(c[t>>2]|0)+119>>0]=1;g=c[47184]|0;b:do if(+h[23314]>0.0){b=0;while(1){if((b|0)>=(g|0))break b;k=q+(b<<3)|0;h[k>>3]=+h[k>>3]/+h[23314];b=b+1|0}}while(0);do if((g|0)>2){b=c[47233]|0;if((b|0?(o=OA(e,b)|0,o|0):0)?(c[p>>2]=n,(q4(o,101510,p)|0)==1):0){w=+h[23314];v=+h[n>>3];h[m>>3]=w>0.0?v/w:v;Cn(e,f,3);break}Dn(e,f)}while(0);if((a[s>>0]|0)!=33){if(!r){b=1;break}if(!((bP(OA(e,d)|0)|0)<<24>>24)){b=1;break}}a[(c[t>>2]|0)+119>>0]=3;b=1}else b=0;while(0);l=u;return b|0}function Yl(a){a=a|0;var b=0,c=0;c=gC(a)|0;while(1){if(!c)break;b=UA(a,c)|0;while(1){if(!b)break;WP(b);b=WA(a,b)|0}UP(c);c=hC(a,c)|0}Zl(a);return}function Zl(a){a=a|0;if((c[47180]|0)!=0|(c[46837]|0)<0)An(a);if((vC(a)|0)!=(a|0))XC(a,0,137786);return}function _l(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;m=q+32|0;o=q;k=DA(b,0,102938,0)|0;e=DA(b,0,102972,0)|0;p=cP(NA(b,88865)|0,0)|0;if(!e)e=DA(b,0,102972,195341)|0;zn(b)|0;n=b+16|0;i=0;while(1){j=c[(c[(c[n>>2]|0)+152>>2]|0)+(i<<2)>>2]|0;if(!j){f=12;break}g=j+16|0;f=c[g>>2]|0;if(!(a[f+119>>0]|0)){if(h2(HB(j)|0,108307,7)|0){f=8;break}f=c[g>>2]|0}f=c[f+108>>2]|0;if(f|0)$l(j,f,102934);i=i+1|0}a:do if((f|0)==8){p=HB(j)|0;e=HB(b)|0;c[m>>2]=p;c[m+4>>2]=e;dA(1,88877,m)|0;e=-1}else if((f|0)==12){am(b,k,e);j=bm(b)|0;e=c[(c[n>>2]|0)+8>>2]|0;if(!(c[e+88>>2]|0))e=0;else{c[e+84>>2]=0;e=1}g=(d|0)!=0;i=(e|0)!=0;if(!(i|g&(c[47180]|0)==1^1)?(lr(b)|0)!=0:0){f=c[(c[n>>2]|0)+12>>2]|0;if(!f)f=1;else{a[f+81>>0]=0;f=1}}else f=0;zP(b);if(i){d=(c[n>>2]|0)+16|0;lI(o,b);c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];c[d+16>>2]=c[o+16>>2];c[d+20>>2]=c[o+20>>2];c[d+24>>2]=c[o+24>>2];c[d+28>>2]=c[o+28>>2]}if(!g){c[47185]=1;f=gC(b)|0;while(1){if(!f)break a;p=c[f+16>>2]|0;o=c[p+132>>2]|0;h[p+16>>3]=+h[o>>3]*72.0;h[p+24>>3]=+h[o+8>>3]*72.0;f=hC(b,f)|0}}do if(!(p<<24>>24!=0|i)){p=c[n>>2]|0;if(!(+h[p+16>>3]!=0.0)?!(+h[p+24>>3]!=0.0):0)break;Zm(b)}while(0);if(!((j|0)!=0&(f|(Xm(b)|0)<<24>>24!=0))){if((j|0)==2){c[47185]=1;break}}else cm(b);Wm(b,0)}while(0);l=q;return e|0}function $l(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0;k=l;l=l+48|0;j=k+32|0;f=k+24|0;g=k+16|0;i=k;b=NA(b,e)|0;if(b|0?(c[j>>2]=f,c[j+4>>2]=g,(q4(b,105804,j)|0)==2):0){j=d+56|0;fm(i,+h[f>>3],+h[g>>3]);c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];a[d+81>>0]=1}l=k;return}function am(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+32|0;f=m+24|0;g=m+16|0;i=m;j=b+16|0;if((d|0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0)?(n=OA(b,d)|0,c[k>>2]=f,c[k+4>>2]=g,(q4(n,105804,k)|0)==2):0){n=(c[(c[j>>2]|0)+12>>2]|0)+56|0;fm(i,+h[f>>3],+h[g>>3]);c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];a[(c[(c[j>>2]|0)+12>>2]|0)+81>>0]=1}a:do if(e|0){f=MD(b)|0;while(1){if(!f)break a;gm(f,b,d,e);f=ND(f)|0}}while(0);l=m;return}function bm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(rB(a)|0){f=DA(a,2,102924,0)|0;if(!((f|0)==0|(c[47180]|0)<2)){b=0;e=gC(a)|0;while(1){if(!e)break;d=UA(a,e)|0;while(1){if(!d)break;g=((dm(f,d)|0)!=0&1)+b|0;d=WA(a,d)|0;b=g}e=hC(a,e)|0}if(b){b=(b|0)==(rB(a)|0);b=b?2:1}else b=0}else b=0}else b=2;return b|0}function cm(a){a=a|0;var b=0,d=0,e=0;d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;XP(b);e=b+16|0;AK(c[(c[e>>2]|0)+96>>2]|0);AK(c[(c[e>>2]|0)+108>>2]|0);AK(c[(c[e>>2]|0)+100>>2]|0);AK(c[(c[e>>2]|0)+104>>2]|0);b=WA(a,b)|0}d=hC(a,d)|0}return}function dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;B=l;l=l+96|0;z=B+72|0;x=B+56|0;A=B+48|0;y=B+32|0;w=B+16|0;r=B+88|0;s=B+8|0;t=B;u=B+84|0;v=B+80|0;b=OA(d,b)|0;do if(a[b>>0]|0){FH(d,u,v);q=1;f=0;e=0;j=0.0;i=0.0;k=0.0;g=0.0;a:while(1){c[w>>2]=s;c[w+4>>2]=t;c[w+8>>2]=r;if((q4(b,88914,w)|0)==2){p=1;b=b+(c[r>>2]|0)|0;i=+h[s>>3];g=+h[t>>3]}else p=e;c[y>>2]=s;c[y+4>>2]=t;c[y+8>>2]=r;if((q4(b,88926,y)|0)==2){o=1;b=b+(c[r>>2]|0)|0;j=+h[s>>3];k=+h[t>>3]}else o=f;m=em(b)|0;if(!((m|0)>3&((m|0)%3|0|0)==1)){e=8;break}n=IK(m<<4)|0;e=n;f=m;while(1){if(!f)break;c[x>>2]=s;c[x+4>>2]=t;c[x+8>>2]=r;if((q4(b,88996,x)|0)<2){e=13;break a}C=b+(c[r>>2]|0)|0;h[e>>3]=+h[s>>3];h[e+8>>3]=+h[t>>3];e=e+16|0;f=f+-1|0;b=C}while(1){e=a[b>>0]|0;f=b+1|0;if(!(X1(e<<24>>24)|0))break;else b=f}C=e<<24>>24==0;b=C?b:f;q=C?0:q;f=aO(d,m)|0;if(p|0){c[f+8>>2]=c[u>>2];h[f+16>>3]=i;h[f+24>>3]=g}if(o|0){c[f+12>>2]=c[v>>2];h[f+32>>3]=j;h[f+40>>3]=k}e=0;while(1){if((e|0)>=(m|0))break;C=(c[f>>2]|0)+(e<<4)|0;D=n+(e<<4)|0;c[C>>2]=c[D>>2];c[C+4>>2]=c[D+4>>2];c[C+8>>2]=c[D+8>>2];c[C+12>>2]=c[D+12>>2];e=e+1|0}l6(n);if(!q){e=26;break}else{f=o;e=p}}if((e|0)==8){XP(d);if(a[194051]|0){b=0;break}a[194051]=1;D=HB(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;b=HB(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;c[A>>2]=D;c[A+4>>2]=b;dA(0,88939,A)|0;b=0;break}else if((e|0)==13){if(!(a[194051]|0)){a[194051]=1;C=HB(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;D=HB(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;c[z>>2]=C;c[z+4>>2]=D;dA(0,89006,z)|0}l6(n);XP(d);b=0;break}else if((e|0)==26){f=d+16|0;b=c[f>>2]|0;e=c[b+96>>2]|0;if(e){$l(d,e,102938);b=c[f>>2]|0}e=c[b+108>>2]|0;if(e){$l(d,e,102934);b=c[f>>2]|0}e=c[b+100>>2]|0;if(e){$l(d,e,102941);b=c[f>>2]|0}b=c[b+104>>2]|0;if(!b){b=1;break}$l(d,b,102949);b=1;break}}else b=0;while(0);l=B;return b|0}function em(b){b=b|0;var c=0,d=0;d=0;do{while(1){c=a[b>>0]|0;if(!(X1(c&255)|0))break;else b=b+1|0}a:do if(!(c<<24>>24))c=0;else{d=d+1|0;while(1){if(!(c<<24>>24)){c=0;break a}if(c<<24>>24==59|(X1(c&255)|0)!=0)break a;c=b+1|0;b=c;c=a[c>>0]|0}}while(0)}while((X1(c&255)|0)!=0);return d|0}function fm(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function gm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+32|0;f=h;if((h2(HB(a)|0,108307,7)|0)==0?(hm(a,e,f)|0)!=0:0){RC(a,137786,280,1)|0;i=(c[a+16>>2]|0)+16|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];im(b,a);am(a,d,e)}else g=4;a:do if((g|0)==4){a=MD(a)|0;while(1){if(!a)break a;gm(a,b,d,e);a=ND(a)|0}}while(0);l=h;return}function hm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0;i=l;l=l+48|0;j=i+32|0;g=i;k=OA(a,b)|0;a=g+8|0;b=g+24|0;c[j>>2]=g;c[j+4>>2]=a;c[j+8>>2]=g+16;c[j+12>>2]=b;if((q4(k,89054,j)|0)==4){e=+h[a>>3];f=+h[b>>3];if(e>f){h[a>>3]=f;h[b>>3]=e};c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[d+16>>2]=c[g+16>>2];c[d+20>>2]=c[g+20>>2];c[d+24>>2]=c[g+24>>2];c[d+28>>2]=c[g+28>>2];a=1}else a=0;l=i;return a|0}function im(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+16|0;d=c[e>>2]|0;g=d+180|0;a=c[g>>2]|0;f=a+1|0;c[g>>2]=f;d=c[d+184>>2]|0;a=a+2|0;if(!d)a=HK(a<<2)|0;else a=JK(d,a,4,f)|0;c[(c[e>>2]|0)+184>>2]=a;c[a+(f<<2)>>2]=b;sK(b);return}function jm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;m=n+8|0;k=n;i=n+16|0;j=n+12|0;h=NA(b,89070)|0;do if((h|0)!=0?(g=a[h>>0]|0,g<<24>>24!=0):0){g=g&255;if(!(P2(g)|0))if((e|0)==2|(g+-48|0)>>>0<10)e=h;else break;else{if(!(h2(h,89076,4)|0)){e=0;break}if(!(h2(h,105812,7)|0)){e=1;break}if(h2(h,89081,6)|0)if((e|0)==2)e=h;else break;else e=h+6|0}if(!(((d[e>>0]|0)+-48|0)>>>0<10?(c[k>>2]=j,(q4(e,100234,k)|0)>=1):0)){k=e4()|0;k=(Ya(0)|0)^k;c[j>>2]=k;c[m>>2]=k;i2(i,100234,m)|0;PA(b,89070,i)|0}c[f>>2]=c[j>>2];e=2}while(0);l=n;return e|0}function km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f+4|0;c[e>>2]=1;d=jm(a,d,e)|0;if((d|0)!=2&(c[46838]|0)!=0)dA(0,89088,f)|0;if((d|0)==1)lm(a,b);W4(c[e>>2]|0);l=f;return d|0}function lm(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0.0;g=+(d|0);i=6.283185307179586/g;e=gC(b)|0;f=0.0;while(1){if(!e)break;l=g*+I(+f);j=c[e+16>>2]|0;k=c[j+132>>2]|0;h[k>>3]=l;h[k+8>>3]=g*+J(+f);a[j+119>>0]=1;if((c[47184]|0)>2)Dn(e,d);e=hC(b,e)|0;f=i+f}return}function mm(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0;r=l;l=l+80|0;d=r+24|0;n=r+32|0;k=r;p=r+28|0;m=r+64|0;q=+h[23314];do if(c[47180]|0){h[23314]=72.0;nm(b);om(b);if((_l(b,1)|0)<0){dA(3,89136,d)|0;break}else{aM(b,0);f=32;break}}else{o=cP(NA(b,88865)|0,0)|0;h[23314]=+ZO(b);nm(b);g=pm(b)|0;Kq(b,k,0)|0;i=qm(b)|0;j=kH(b,0,n)|0;d=jH(b,-1,8)|0;c[46837]=d;e=(d|0)<0;do if(!j){if((g|0)!=0&e){c[46837]=8;c[n+16>>2]=2;f=11;break}c[n+16>>2]=2;if((d|0)<=-1){rm(b,g,i);Nq(b,k)|0;om(b);if(!(o<<24>>24)){cn(b);break}else{sm(b);break}}else f=11}else if(e){c[46837]=8;f=11}else f=11;while(0);if((f|0)==11){j=qG(b,p,89164,m)|0;d=c[p>>2]|0;do if((d|0)<=1){rm(b,g,i);Nq(b,k)|0;if(!(o<<24>>24)){cn(b);break}else{sm(b);break}}else{f=o<<24>>24==0;e=0;while(1){if((e|0)>=(d|0))break;d=c[j+(e<<2)>>2]|0;IG(d)|0;rm(d,g,i);Nq(d,k)|0;mQ(d,2);if(f)cn(d);else sm(d);e=e+1|0;d=c[p>>2]|0}if(!(a[m>>0]|0))e=0;else{e=HK(d)|0;a[e>>0]=1;d=c[p>>2]|0}c[n+8>>2]=c[46837];c[n+20>>2]=e;c[n+12>>2]=1;gH(d,j,b,n)|0;l6(e)}while(0);zP(b);om(b);d=0;while(1){if((d|0)>=(c[p>>2]|0))break;n=c[j+(d<<2)>>2]|0;An(n);TC(n,137786)|0;tC(b,n)|0;d=d+1|0}l6(j)}aM(b,o<<24>>24==0&1);f=32}while(0);if((f|0)==32)h[23314]=q;l=r;return}function nm(a){a=a|0;var d=0,e=0,f=0,g=0;mQ(a,2);f=XO(a,DA(a,0,91669,0)|0,2,2)|0;d=(XO(a,DA(a,0,91675,0)|0,f,2)|0)&65535;b[(c[(vC(a)|0)+16>>2]|0)+176>>1]=d;d=c[(c[a+60>>2]|0)+16>>2]|0;g=d+176|0;e=b[g>>1]|0;e=(e&65535)<10?e:10;b[g>>1]=e;e=e&65535;c[47184]=e;b[d+178>>1]=(f|0)<(e|0)?f:e;Cm(a);return}function om(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+1040|0;e=f;d=f+8|0;a:do if((c[47184]|0)>2&(c[47233]|0)!=0){b=gC(a)|0;while(1){if(!b)break a;h[e>>3]=+h[(c[(c[b+16>>2]|0)+132>>2]|0)+16>>3]*72.0;i2(d,101510,e)|0;HA(b,c[47233]|0,d)|0;b=hC(a,b)|0}}while(0);l=f;return}function pm(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=NA(b,89849)|0;a:do if(!d)b=1;else{switch(a[d>>0]|0){case 0:{b=1;break a}case 75:{if(!(f2(d,89854)|0)){b=0;break a}break}case 109:{if(!(f2(d,89857)|0)){b=1;break a}break}case 104:{if(!(f2(d,89863)|0)){b=2;break a}break}default:{}}b=HB(b)|0;c[e>>2]=d;c[e+4>>2]=b;dA(0,89868,e)|0;b=1}while(0);l=f;return b|0}function qm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=h+16|0;f=h+8|0;e=h;d=NA(b,89632)|0;a:do if(!d)b=0;else{switch(a[d>>0]|0){case 0:{b=0;break a}case 99:{if(!(f2(d,89638)|0)){b=1;break a}break}case 115:{if(!(f2(d,89646)|0)){b=2;break a}if(!(f2(d,89653)|0)){b=0;break a}break}case 109:{if(!(f2(d,89663)|0)){if(DA(b,2,92794,0)|0){b=3;break a}c[e>>2]=HB(b)|0;dA(0,89667,e)|0;dA(3,89730,f)|0;b=0;break a}break}default:{}}b=HB(b)|0;c[g>>2]=d;c[g+4>>2]=b;dA(0,89787,g)|0;b=0}while(0);l=h;return b|0}function rm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=NA(a,91362)|0;if(!e)if((b|0)==1)e=200;else e=(qB(a)|0)*100|0;else e=d6(e)|0;c[47183]=e;e=tn(a,b)|0;do if(!((e|0)<2|(c[47183]|0)<0))if(!b){um(a,e,d);break}else{tm(a,e,b,d,c[47184]|0);break}while(0);return}function sm(a){a=a|0;zP(a);Wm(a,1);return}function tm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;s=v+40|0;p=v+24|0;o=v;q=v+48|0;u=v+44|0;r=(e|0)==2;j=km(b,d,r?0:2)|0;k=Bm(b)|0;m=k|4;t=IK(g<<2)|0;c[t>>2]=IK(S(d<<3,g)|0)|0;i=c[47184]|0;g=1;while(1){if((g|0)>=(i|0))break;c[t+(g<<2)>>2]=(c[t>>2]|0)+((S(g,d)|0)<<3);g=g+1|0}i=(j|0)==0;g=i?m:k;if(a[195234]|0){m=c[15715]|0;k=c[47183]|0;n=+h[23315];c[o>>2]=f;c[o+4>>2]=i&1;c[o+8>>2]=g&3;c[o+12>>2]=k;h[o+16>>3]=n;z4(m,89445,o)|0;_3(89502,15,1,m)|0;RO();_3(89518,13,1,m)|0}o=xm(b,d,q,e,f,u)|0;if(a[195234]|0){m=c[15715]|0;n=+SO();c[p>>2]=d;h[p+8>>3]=n;z4(m,89532,p)|0}if((e|0)!=1){n=+YO(b,DA(b,0,89551,0)|0,0.0,-1797693134862315708145274.0e284);if(r){g=yr(o,d,c[q>>2]|0,t,c[u>>2]|0,c[47184]|0,g,f,c[47183]|0,n)|0;i=12}else i=14}else{g=ln(o,d,c[q>>2]|0,t,c[u>>2]|0,c[47184]|0,g,f,c[47183]|0)|0;i=12}if((i|0)==12)if((g|0)<0)dA(3,89561,s)|0;else i=14;a:do if((i|0)==14){i=gC(b)|0;while(1){if(!i)break a;m=c[i+16>>2]|0;j=c[m+120>>2]|0;k=c[47184]|0;m=m+132|0;g=0;while(1){if((g|0)>=(k|0))break;h[(c[m>>2]|0)+(g<<3)>>3]=+h[(c[t+(g<<2)>>2]|0)+(j<<3)>>3];g=g+1|0}i=hC(b,i)|0}}while(0);Zr(o);l6(c[t>>2]|0);l6(t);l6(c[u>>2]|0);l=v;return}function um(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0;i=l;l=l+48|0;g=i+32|0;f=i;switch(e|0){case 2:{vm(b,d);break}case 1:{if(!(ur(b,d)|0)){c[f>>2]=HB(b)|0;dA(0,89174,f)|0;dA(3,93665,i+8|0)|0;dA(3,89226,i+16|0)|0;dA(3,89298,i+24|0)|0;Rn(b,d)}break}default:{Rn(b,d);if((e|0)==3)wm(b)}}Fn(b,d);Gn(b,d);if(a[195234]|0){f=c[15715]|0;k=c[47183]|0;j=+h[23315];c[g>>2]=e;c[g+4>>2]=k;h[g+8>>3]=j;z4(f,89336,g)|0;RO()}Hn(b,d);l=i;return}function vm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+16|0;g=xm(a,b,j,0,2,0)|0;i=$s(g,b)|0;e=a+16|0;a=0;while(1){if((a|0)>=(b|0))break;f=i+(a<<2)|0;d=0;while(1){if((d|0)==(b|0))break;h[(c[(c[(c[e>>2]|0)+160>>2]|0)+(a<<2)>>2]|0)+(d<<3)>>3]=+(c[(c[f>>2]|0)+(d<<2)>>2]|0);d=d+1|0}a=a+1|0}l6(c[i>>2]|0);l6(i);Zr(g);l=j;return}function wm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0;f=a+16|0;d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;g=c[b>>2]&3;e=(c[c[((g|0)==3?b:b+48|0)+40>>2]>>2]|0)>>>4;g=(c[c[((g|0)==2?b:b+-48|0)+40>>2]>>2]|0)>>>4;if((e|0)!=(g|0)){j=+h[(c[b+16>>2]|0)+136>>3];i=c[(c[f>>2]|0)+160>>2]|0;h[(c[i+(g<<2)>>2]|0)+(e<<3)>>3]=j;h[(c[i+(e<<2)>>2]|0)+(g<<3)>>3]=j}b=WA(a,b)|0}d=hC(a,d)|0}return}function xm(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0;j=rB(a)|0;H=TL()|0;if((f|0)==2){k=0;E=0}else{E=DA(a,2,92794,0)|0;k=(c[47236]|0)!=0&1;E=(E|0)!=0}B=(e|1|0)==3;F=IK(b*20|0)|0;G=IK(b<<2)|0;l=(j<<1)+b<<2;m=IK(l)|0;A=B|E;if(A)f=IK(l)|0;else f=0;D=(k|0)!=0;if(D)j=IK(l)|0;else j=0;if(B)k=IK(l)|0;else k=0;l=0;y=gC(a)|0;z=0;while(1){if(!y)break;WL(H);if((c[(c[y+16>>2]|0)+120>>2]|0)!=(z|0)){C=12;break}c[G+(z<<2)>>2]=y;v=F+(z*20|0)+4|0;c[v>>2]=m;w=F+(z*20|0)+8|0;c[w>>2]=A?f:0;x=F+(z*20|0)+12|0;c[x>>2]=D?j:0;c[F+(z*20|0)+16>>2]=B?k:0;s=1;u=ZA(a,y)|0;t=1;r=l;m=m+4|0;f=A?f+4|0:f;j=D?j+4|0:j;k=B?k+4|0:k;while(1){if(!u)break;p=c[u>>2]&3;q=u+-48|0;l=u+48|0;do if((c[((p|0)==2?u:q)+40>>2]|0)==(c[((p|0)==3?u:l)+40>>2]|0)){n=s;p=t;l=r}else{n=ym(H,u,s)|0;p=u+16|0;if((n|0)!=(s|0)){if(D){q=(c[x>>2]|0)+(n<<2)|0;g[q>>2]=+h[(c[p>>2]|0)+128>>3]+ +g[q>>2]}if(!E){n=s;p=t;l=r;break}n=(c[w>>2]|0)+(n<<2)|0;I=+h[(c[p>>2]|0)+136>>3];o=+(~~+g[n>>2]|0);g[n>>2]=I>o?I:o;n=s;p=t;l=r;break}J=c[u>>2]&3;l=(J|0)==3?u:l;r=r+1|0;n=s+1|0;s=m+4|0;c[m>>2]=c[(c[(c[((c[l+40>>2]|0)==(y|0)?((J|0)==2?u:q):l)+40>>2]|0)+16>>2]|0)+120>>2];if(D){g[j>>2]=+h[(c[p>>2]|0)+128>>3];j=j+4|0}m=f+4|0;if(E){g[f>>2]=+h[(c[p>>2]|0)+136>>3];if(B)C=27;else f=m}else if(B){g[f>>2]=1.0;C=27}if((C|0)==27){C=0;f=NA(u,101860)|0;l=k+4|0;if((f|0)!=0?(h2(f,136010,4)|0)==0:0)o=0.0;else o=(y|0)==(c[((c[u>>2]&3|0)==2?u:q)+40>>2]|0)?1.0:-1.0;g[k>>2]=o;f=m;k=l}p=t+1|0;l=r;m=s}while(0);s=n;u=_A(a,u,y)|0;t=p;r=l}c[F+(z*20|0)>>2]=t;c[c[v>>2]>>2]=z;l=r;y=hC(a,y)|0;z=z+1|0}if((C|0)==12)Aa(89375,89390,819,89402);if(B)zm(F,b,e,G);n=(l|0)/2|0;a:do if((n|0)!=(rB(a)|0)){l=(n<<1)+b<<2;k=KK(c[F+4>>2]|0,l)|0;if(E)f=KK(c[F+8>>2]|0,l)|0;if(D){m=0;j=KK(c[F+12>>2]|0,l)|0}else m=0;while(1){if((m|0)>=(b|0))break a;l=c[F+(m*20|0)>>2]|0;c[F+(m*20|0)+4>>2]=k;if(E){c[F+(m*20|0)+8>>2]=f;f=f+(l<<2)|0}if(D){c[F+(m*20|0)+12>>2]=j;j=j+(l<<2)|0}m=m+1|0;k=k+(l<<2)|0}}while(0);c[d>>2]=n;if(!i)l6(G);else c[i>>2]=G;XL(H);return F|0}function ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[b>>2]&3;e=c[(c[(c[((f|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;b=c[(c[(c[((f|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;f=(e|0)>(b|0);return YL(a,f?b:e,f?e:b,d)|0}function zm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=0;while(1){if((g|0)>=(d|0)){g=0;break}h=c[(c[f+(g<<2)>>2]|0)+16>>2]|0;a[h+157>>0]=0;a[h+158>>0]=0;g=g+1|0}while(1){if((g|0)>=(d|0))break;if(!(a[(c[(c[f+(g<<2)>>2]|0)+16>>2]|0)+157>>0]|0))Am(b,g,e,f);g=g+1|0}return}function Am(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0;q=(c[f+(d<<2)>>2]|0)+16|0;l=c[q>>2]|0;a[l+157>>0]=1;a[l+158>>0]=1;l=b+(d*20|0)|0;m=b+(d*20|0)+16|0;n=b+(d*20|0)+4|0;o=(e|0)==3?-1.0:1.0;k=1;a:while(1){if((k|0)>=(c[l>>2]|0)){h=14;break}h=(c[m>>2]|0)+(k<<2)|0;do if(!(+g[h>>2]==1.0)){p=c[(c[n>>2]|0)+(k<<2)>>2]|0;i=c[(c[f+(p<<2)>>2]|0)+16>>2]|0;if(!(a[i+158>>0]|0)){if(a[i+157>>0]|0)break;Am(b,p,e,f);break}g[h>>2]=o;i=c[b+(p*20|0)>>2]|0;j=b+(p*20|0)+4|0;h=1;while(1){if((h|0)>=(i|0)){h=9;break a}if((c[(c[j>>2]|0)+(h<<2)>>2]|0)==(d|0))break;h=h+1|0}g[(c[b+(p*20|0)+16>>2]|0)+(h<<2)>>2]=-1.0}while(0);k=k+1|0}if((h|0)==9)Aa(89416,89390,721,89436);else if((h|0)==14){a[(c[q>>2]|0)+158>>0]=0;return}}function Bm(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;a=XO(a,DA(a,0,89577,0)|0,2,0)|0;if((a|0)==0|(a|0)>2){c[b>>2]=89577;dA(0,89586,b)|0;a=2}l=d;return a|0}function Cm(a){a=a|0;var b=0,d=0,e=0;d=qB(a)|0;c[46838]=DA(a,1,102924,0)|0;e=DA(a,1,90961,0)|0;b=gC(a)|0;while(1){if(!b)break;Wl(b);Xl(c[46838]|0,e,b,d)|0;b=hC(a,b)|0}d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;Dm(b);b=WA(a,b)|0}d=hC(a,d)|0}return}function Dm(a){a=a|0;var b=0.0;RC(a,137763,176,1)|0;rP(a)|0;b=+YO(a,c[47236]|0,1.0,1.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function Em(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0;a=HK(64)|0;e=a+8|0;f=d+8|0;g=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));d=c[d+56>>2]|0;c[a+56>>2]=d;b[(c[d+16>>2]|0)+168>>1]=1;return a|0}function Fm(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function Gm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if(a>>>0<=e>>>0)if(a>>>0>=e>>>0){e=c[b+24>>2]|0;a=c[d+24>>2]|0;if(e>>>0<=a>>>0)if(e>>>0>=a>>>0){a=~~(+h[b+8>>3]-+h[d+8>>3]);if(!a){a=~~(+h[b+16>>3]-+h[d+16>>3]);if(!a){a=~~(+h[b+32>>3]-+h[d+32>>3]);if(!a)a=~~(+h[b+40>>3]-+h[d+40>>3])}}}else a=-1;else a=1}else a=-1;else a=1;return a|0}function Hm(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0.0,j=0,k=0,m=0;k=l;l=l+16|0;g=k;h=e+16|0;m=b[(c[h>>2]|0)+168>>1]|0;j=m<<16>>16;i=+(f|0);if(m<<16>>16!=1&(a[195236]|0)==0){h=IK(j<<2)|0;f=0;while(1){if((f|0)>=(j|0))break;c[h+(f<<2)>>2]=e;e=c[(c[e+16>>2]|0)+172>>2]|0;f=f+1|0}jO(d,h,0,j,i,i,17832);e=0;while(1){if((e|0)>=(j|0))break;f=c[h+(e<<2)>>2]|0;g=f+16|0;if(c[(c[g>>2]|0)+96>>2]|0){m=uC(c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)|0;xP(m,c[(c[g>>2]|0)+96>>2]|0)}qO(f);e=e+1|0}l6(h)}else{c[g>>2]=e;jO(d,g,0,1,i,i,17832);if(c[(c[h>>2]|0)+96>>2]|0){m=uC(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;xP(m,c[(c[h>>2]|0)+96>>2]|0)}qO(e)}l=k;return}function Im(a){a=a|0;return 0}function Jm(a){a=a|0;return 0}function Km(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0,R=0.0,S=0,T=0,U=0;U=l;l=l+384|0;P=U+368|0;Q=U+112|0;y=U+32|0;q=U+336|0;D=U+320|0;E=U+304|0;F=U+288|0;H=U+272|0;z=U+256|0;A=U+240|0;B=U+224|0;C=U+208|0;i=U+192|0;r=U+176|0;s=U+160|0;t=U+144|0;u=U+128|0;v=U+96|0;w=U+16|0;x=U;S=d+4|0;T=b+16|0;a:do switch(UM(b)|0){case 3:case 1:{b=HK(8)|0;f=c[T>>2]|0;i=c[f+12>>2]|0;do if(!(e<<24>>24)){f=c[i+8>>2]|0;if((f|0)>2){R=0.0;y=c[i+44>>2]|0;q=0;K=+g[d>>2];L=+g[S>>2];break}else{R=+S4()*.01;f=8;y=0;q=1;K=0.0;L=0.0;break}}else if(!(c[i+40>>2]&2048)){L=+h[f+88>>3];K=-L;R=+h[f+80>>3];O=R*-.5;h[y>>3]=K;h[y+8>>3]=O;h[y+16>>3]=L;h[y+24>>3]=O;R=R*.5;h[y+32>>3]=L;h[y+40>>3]=R;h[y+48>>3]=K;h[y+56>>3]=R;R=0.0;f=4;q=0;K=0.0;L=0.0;break}else{wP(q,i);K=+h[q>>3];O=+h[q+8>>3];L=+h[q+16>>3];R=+h[q+24>>3];h[y>>3]=K;h[y+8>>3]=O;h[y+16>>3]=L;h[y+24>>3]=O;h[y+32>>3]=L;h[y+40>>3]=R;h[y+48>>3]=K;h[y+56>>3]=R;R=0.0;f=4;q=0;K=0.0;L=0.0;break}while(0);c[b+4>>2]=f;r=HK(f<<4)|0;c[b>>2]=r;s=d+8|0;M=+(f|0);t=(f|0)==4;N=-K;O=-L;e=0;while(1){if((f|0)<=(e|0))break a;i=(a[s>>0]|0)!=0;u=c[T>>2]|0;do if(q){k=R+ +(e|0)*6.283185307179586/M;o=+I(+k);k=+J(+k);p=+g[d>>2];m=+g[S>>2];j=+h[u+80>>3];n=+h[u+96>>3]+ +h[u+88>>3];if(i){k=k*(m+j);j=o*(p+n)}else{k=k*m*j;j=o*p*n}m=j*.5;j=k*.5}else{n=+h[y+(e<<4)+8>>3];m=+h[y+(e<<4)>>3];if(!i){m=K*m;j=L*n;break}if(!t){j=+G(+(n*n+m*m));m=m*(K/j+1.0);j=n*(L/j+1.0);break}switch(e|0){case 0:{k=L;j=K;break}case 1:{k=L;j=N;break}case 2:{k=O;j=N;break}case 3:{k=O;j=K;break}default:{k=0.0;j=0.0}}m=m+j;j=n+k}while(0);Q=f-e+-1|0;h[r+(Q<<4)>>3]=m+ +h[u+16>>3];h[r+(Q<<4)+8>>3]=j+ +h[u+24>>3];e=e+1|0}}case 2:{b=c[(c[T>>2]|0)+12>>2]|0;j=+h[b+16>>3];n=+h[b+24>>3];k=+h[b+32>>3];m=+h[b+40>>3];b=HK(8)|0;c[b+4>>2]=4;f=HK(64)|0;c[b>>2]=f;T=(c[T>>2]|0)+16|0;c[Q>>2]=c[T>>2];c[Q+4>>2]=c[T+4>>2];c[Q+8>>2]=c[T+8>>2];c[Q+12>>2]=c[T+12>>2];if(!(a[d+8>>0]|0)){c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(z,j,n,P,d);c[f>>2]=c[z>>2];c[f+4>>2]=c[z+4>>2];c[f+8>>2]=c[z+8>>2];c[f+12>>2]=c[z+12>>2];T=(c[b>>2]|0)+16|0;c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(A,j,m,P,d);c[T>>2]=c[A>>2];c[T+4>>2]=c[A+4>>2];c[T+8>>2]=c[A+8>>2];c[T+12>>2]=c[A+12>>2];T=(c[b>>2]|0)+32|0;c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(B,k,m,P,d);c[T>>2]=c[B>>2];c[T+4>>2]=c[B+4>>2];c[T+8>>2]=c[B+8>>2];c[T+12>>2]=c[B+12>>2];T=(c[b>>2]|0)+48|0;c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(C,k,n,P,d);c[T>>2]=c[C>>2];c[T+4>>2]=c[C+4>>2];c[T+8>>2]=c[C+8>>2];c[T+12>>2]=c[C+12>>2];break a}else{R=j-+g[d>>2];O=n-+g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(D,R,O,P);c[f>>2]=c[D>>2];c[f+4>>2]=c[D+4>>2];c[f+8>>2]=c[D+8>>2];c[f+12>>2]=c[D+12>>2];T=(c[b>>2]|0)+16|0;O=j-+g[d>>2];R=m+ +g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(E,O,R,P);c[T>>2]=c[E>>2];c[T+4>>2]=c[E+4>>2];c[T+8>>2]=c[E+8>>2];c[T+12>>2]=c[E+12>>2];T=(c[b>>2]|0)+32|0;R=k+ +g[d>>2];O=m+ +g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(F,R,O,P);c[T>>2]=c[F>>2];c[T+4>>2]=c[F+4>>2];c[T+8>>2]=c[F+8>>2];c[T+12>>2]=c[F+12>>2];T=(c[b>>2]|0)+48|0;O=k+ +g[d>>2];R=n-+g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(H,O,R,P);c[T>>2]=c[H>>2];c[T+4>>2]=c[H+4>>2];c[T+8>>2]=c[H+8>>2];c[T+12>>2]=c[H+12>>2];break a}}case 4:{b=HK(8)|0;c[b+4>>2]=4;f=HK(64)|0;c[b>>2]=f;H=c[T>>2]|0;F=H+16|0;c[Q>>2]=c[F>>2];c[Q+4>>2]=c[F+4>>2];c[Q+8>>2]=c[F+8>>2];c[Q+12>>2]=c[F+12>>2];j=-+h[H+88>>3];k=-+h[H+80>>3];if(!(a[d+8>>0]|0)){c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(u,j,k,P,d);c[f>>2]=c[u>>2];c[f+4>>2]=c[u+4>>2];c[f+8>>2]=c[u+8>>2];c[f+12>>2]=c[u+12>>2];S=(c[b>>2]|0)+16|0;H=c[T>>2]|0;O=-+h[H+88>>3];R=+h[H+80>>3];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(v,O,R,P,d);c[S>>2]=c[v>>2];c[S+4>>2]=c[v+4>>2];c[S+8>>2]=c[v+8>>2];c[S+12>>2]=c[v+12>>2];S=(c[b>>2]|0)+32|0;H=c[T>>2]|0;R=+h[H+96>>3];O=+h[H+80>>3];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(w,R,O,P,d);c[S>>2]=c[w>>2];c[S+4>>2]=c[w+4>>2];c[S+8>>2]=c[w+8>>2];c[S+12>>2]=c[w+12>>2];S=(c[b>>2]|0)+48|0;T=c[T>>2]|0;O=+h[T+96>>3];R=-+h[T+80>>3];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(x,O,R,P,d);c[S>>2]=c[x>>2];c[S+4>>2]=c[x+4>>2];c[S+8>>2]=c[x+8>>2];c[S+12>>2]=c[x+12>>2];break a}else{R=j-+g[d>>2];O=k-+g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(i,R,O,P);c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];H=(c[b>>2]|0)+16|0;F=c[T>>2]|0;O=-+h[F+88>>3]-+g[d>>2];R=+h[F+80>>3]+ +g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(r,O,R,P);c[H>>2]=c[r>>2];c[H+4>>2]=c[r+4>>2];c[H+8>>2]=c[r+8>>2];c[H+12>>2]=c[r+12>>2];H=(c[b>>2]|0)+32|0;F=c[T>>2]|0;R=+h[F+96>>3]+ +g[d>>2];O=+h[F+80>>3]+ +g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(s,R,O,P);c[H>>2]=c[s>>2];c[H+4>>2]=c[s+4>>2];c[H+8>>2]=c[s+8>>2];c[H+12>>2]=c[s+12>>2];H=(c[b>>2]|0)+48|0;T=c[T>>2]|0;O=+h[T+96>>3]+ +g[d>>2];R=-+h[T+80>>3]-+g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(t,O,R,P);c[H>>2]=c[t>>2];c[H+4>>2]=c[t+4>>2];c[H+8>>2]=c[t+8>>2];c[H+12>>2]=c[t+12>>2];break a}}default:b=0}while(0);l=U;return b|0}function Lm(a,b,c,d){a=a|0;b=+b;c=+c;d=d|0;c=+h[d+8>>3]+c;h[a>>3]=+h[d>>3]+b;h[a+8>>3]=c;return}function Mm(a,b,c,d,e){a=a|0;b=+b;c=+c;d=d|0;e=e|0;c=+h[d+8>>3]+ +g[e+4>>2]*c;h[a>>3]=+h[d>>3]+ +g[e>>2]*b;h[a+8>>3]=c;return}function Nm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+112|0;j=o+88|0;i=o+72|0;k=o+32|0;m=o+16|0;n=o;f=o+56|0;g=o+40|0;h=b+48|0;r=(c[(c[((c[b>>2]&3|0)==3?b:h)+40>>2]|0)+16>>2]|0)+16|0;p=b+16|0;q=(c[p>>2]|0)+16|0;c[i>>2]=c[r>>2];c[i+4>>2]=c[r+4>>2];c[i+8>>2]=c[r+8>>2];c[i+12>>2]=c[r+12>>2];c[j>>2]=c[q>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[j+12>>2]=c[q+12>>2];Om(f,i,j);c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];f=b+-48|0;q=(c[(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)+16>>2]|0)+16|0;p=(c[p>>2]|0)+56|0;c[i>>2]=c[q>>2];c[i+4>>2]=c[q+4>>2];c[i+8>>2]=c[q+8>>2];c[i+12>>2]=c[q+12>>2];c[j>>2]=c[p>>2];c[j+4>>2]=c[p+4>>2];c[j+8>>2]=c[p+8>>2];c[j+12>>2]=c[p+12>>2];Om(g,i,j);c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];if(!e){g=-1111;f=-1111}else{r=c[b>>2]&3;g=c[(c[(c[((r|0)==2?b:f)+40>>2]|0)+16>>2]|0)+288>>2]|0;f=c[(c[(c[((r|0)==3?b:h)+40>>2]|0)+16>>2]|0)+288>>2]|0};c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];KX(d,i,f,j,g,k)|0;p=k;q=c[p+4>>2]|0;r=a;c[r>>2]=c[p>>2];c[r+4>>2]=q;l=o;return}function Om(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]+ +h[c+8>>3];h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=d;return}function Pm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+144|0;r=w+104|0;s=w+88|0;q=w+80|0;p=w+72|0;m=w+64|0;u=w+128|0;o=w+32|0;n=w+124|0;v=w+16|0;t=w;k=w+120|0;j=(c[b+16>>2]|0)+144|0;i=c[j>>2]|0;j=c[j+4>>2]|0;h=m;c[h>>2]=i;c[h+4>>2]=j;h=i;c[v>>2]=c[h>>2];c[v+4>>2]=c[h+4>>2];c[v+8>>2]=c[h+8>>2];c[v+12>>2]=c[h+12>>2];j=i+(j+-1<<4)|0;c[t>>2]=c[j>>2];c[t+4>>2]=c[j+4>>2];c[t+8>>2]=c[j+8>>2];c[t+12>>2]=c[j+12>>2];a:do if(!(g<<24>>24)){h=-1111;g=-1111}else{h=-1111;g=-1111;j=0;while(1){if((j|0)>=(f|0))break a;i=e+(j<<2)|0;if((g|0)==-1111){g=c[i>>2]|0;c[s>>2]=c[g>>2];c[s+4>>2]=c[g+4>>2];c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];g=(LX(s,r)|0)==0;g=g?-1111:j}if((h|0)==-1111){h=c[i>>2]|0;c[s>>2]=c[h>>2];c[s+4>>2]=c[h+4>>2];c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];h=(LX(s,r)|0)==0;h=h?-1111:j}j=j+1|0}}while(0);Qm(e,f,g,h,k,n);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;h=c[k>>2]|0;n=c[n>>2]|0;c[r>>2]=c[m>>2];c[r+4>>2]=c[m+4>>2];g=b+48|0;if((MX(h,n,r,o,u)|0)<0){u=HB(c[((c[b>>2]&3|0)==3?b:g)+40>>2]|0)|0;v=HB(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[p>>2]=u;c[p+4>>2]=v;dA(1,89929,p)|0}else{if((d[195234]|0)>1){p=c[15715]|0;n=HB(c[((c[b>>2]&3|0)==3?b:g)+40>>2]|0)|0;g=b+-48|0;o=HB(c[((c[b>>2]&3|0)==2?b:g)+40>>2]|0)|0;c[q>>2]=n;c[q+4>>2]=o;z4(p,89977,q)|0}else g=b+-48|0;bO(b,c[((c[b>>2]&3|0)==2?b:g)+40>>2]|0,c[u>>2]|0,c[u+4>>2]|0,17832);l6(h);c[s>>2]=c[v>>2];c[s+4>>2]=c[v+4>>2];c[s+8>>2]=c[v+8>>2];c[s+12>>2]=c[v+12>>2];c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];wO(a,b,s,r)}l=w;return}function Qm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=0;h=0;while(1){if((i|0)>=(b|0))break;if(!((i|0)==(d|0)|(i|0)==(e|0)))h=(c[(c[a+(i<<2)>>2]|0)+4>>2]|0)+h|0;i=i+1|0}o=IK(h<<5)|0;i=0;n=0;while(1){if((n|0)>=(b|0))break;a:do if(!((n|0)==(d|0)|(n|0)==(e|0))){m=a+(n<<2)|0;l=0;while(1){j=c[m>>2]|0;k=c[j+4>>2]|0;if((l|0)>=(k|0))break a;p=l+1|0;q=o+(i<<5)|0;j=(c[j>>2]|0)+(l<<4)|0;c[q>>2]=c[j>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[q+12>>2]=c[j+12>>2];j=o+(i<<5)+16|0;k=(c[c[m>>2]>>2]|0)+(((p|0)<(k|0)?p:0)<<4)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];l=p;i=i+1|0}}while(0);n=n+1|0}if((i|0)==(h|0)){c[f>>2]=o;c[g>>2]=h;return}else Aa(89991,89998,77,90013)}function Rm(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+32|0;m=o+12|0;f=o;mr(f,a);c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];f=gC(a)|0;while(1){if(!f)break;g=UA(a,f)|0;while(1){if(!g)break;XN(g);g=WA(a,g)|0}f=hC(a,f)|0}h=Sz(17796,c[4591]|0)|0;f=gC(a)|0;while(1){if(!f)break;g=UA(a,f)|0;while(1){if(!g)break;i=g+16|0;if((c[47180]|0)>1?(j=c[i>>2]|0,(c[j+8>>2]|0)!=0):0){p=j+168|0;b[p>>1]=(b[p>>1]|0)+1<<16>>16}else n=14;if((n|0)==14?(n=0,k=Sm(h,g)|0,(k|0)!=(g|0)):0){p=c[k+16>>2]|0;q=p+168|0;b[q>>1]=(b[q>>1]|0)+1<<16>>16;p=p+172|0;c[(c[i>>2]|0)+172>>2]=c[p>>2];c[p>>2]=g}g=WA(a,g)|0}f=hC(a,f)|0}Oz(h)|0;if(!(eb[d&63](a,m,e)|0)){c[47185]=1;f=0}else f=1;l=o;return f|0}function Sm(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0;t=l;l=l+64|0;s=t;e=c[b>>2]&3;k=c[((e|0)==3?b:b+48|0)+40>>2]|0;e=c[((e|0)==2?b:b+-48|0)+40>>2]|0;j=c[b+16>>2]|0;o=j+24|0;f=j+56|0;i=j+64|0;j=j+16|0;do if(k>>>0>=e>>>0){if(k>>>0>e>>>0){r=e;e=k;p=+h[j>>3];q=+h[o>>3];g=+h[f>>3];d=+h[i>>3];break}m=+h[f>>3];n=+h[i>>3];g=+h[j>>3];d=+h[o>>3];if(!(gm)){f=d>n;if(d>3];q=+h[i>>3];g=+h[j>>3];d=+h[o>>3]}while(0);c[s+8>>2]=r;h[s+16>>3]=g;h[s+24>>3]=d;c[s+32>>2]=e;h[s+40>>3]=p;h[s+48>>3]=q;c[s+56>>2]=b;s=c[(eb[c[a>>2]&63](a,s,1)|0)+56>>2]|0;l=t;return s|0}function Tm(a,b){a=a|0;b=b|0;return Rm(a,24,b)|0}function Um(d,e,f){d=d|0;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0;G=l;l=l+112|0;C=G+88|0;B=G+72|0;t=G+56|0;p=G+24|0;o=G;u=G+64|0;D=G+40|0;E=G+8|0;i=(c[47180]|0)>1&1;s=(f|0)==8;do if((f|0)>5){r=HK((qB(d)|0)<<2)|0;n=s&1;m=gC(d)|0;q=0;while(1){if(!m)break;j=Km(m,e,n)|0;k=(c[m+16>>2]|0)+288|0;if(!j){c[k>>2]=-1111;j=q}else{c[k>>2]=q;c[r+(q<<2)>>2]=j;j=q+1|0}m=hC(d,m)|0;q=j}if(r){j=it(r,q)|0;if(j|0){if(s){z=0;A=r;y=r;v=1;break}z=HX(r,q)|0;A=r;y=r;v=1;break}if(s){dA(0,90027,o)|0;j=0;z=0;A=r;y=r;v=1;break}else{H=+g[e+4>>2];h[p>>3]=+g[e>>2];h[p+8>>3]=H;dA(0,90105,p)|0;j=0;z=0;A=r;y=r;v=1;break}}else{j=0;z=0;A=0;y=0;v=0}}else{j=0;z=0;A=0;q=0;y=0;v=0}while(0);w=(f|0)==10;x=(z|0)!=0;j=s&(j|0)!=0;if(a[195234]|0){s=c[15715]|0;c[t>>2]=j|x^1?(j?90187:90204):w?110357:90218;z4(s,90228,t)|0}a:do if(!x){if(j){pQ(d,0);i=1}}else{k=gC(d)|0;while(1){if(!k)break a;j=UA(d,k)|0;while(1){if(!j)break;t=(c[j+16>>2]|0)+144|0;Nm(u,j,z,1,0,0);r=u;s=c[r+4>>2]|0;c[t>>2]=c[r>>2];c[t+4>>2]=s;j=WA(d,j)|0}k=hC(d,k)|0}}while(0);p=(i|0)==0;r=d+60|0;i=0;o=gC(d)|0;j=0;while(1){if(!o)break;s=o+16|0;e=UA(d,o)|0;while(1){if(!e)break;n=c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;m=e+16|0;k=c[m>>2]|0;if(!p?(c[k+8>>2]|0)!=0:0){u=(c[s>>2]|0)+16|0;t=k+16|0;c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];c[C>>2]=c[t>>2];c[C+4>>2]=c[t+4>>2];c[C+8>>2]=c[t+8>>2];c[C+12>>2]=c[t+12>>2];Om(D,B,C);t=(c[n+16>>2]|0)+16|0;u=(c[m>>2]|0)+56|0;c[B>>2]=c[t>>2];c[B+4>>2]=c[t+4>>2];c[B+8>>2]=c[t+8>>2];c[B+12>>2]=c[t+12>>2];c[C>>2]=c[u>>2];c[C+4>>2]=c[u+4>>2];c[C+8>>2]=c[u+8>>2];c[C+12>>2]=c[u+12>>2];Om(E,B,C);c[B>>2]=c[D>>2];c[B+4>>2]=c[D+4>>2];c[B+8>>2]=c[D+8>>2];c[B+12>>2]=c[D+12>>2];c[C>>2]=c[E>>2];c[C+4>>2]=c[E+4>>2];c[C+8>>2]=c[E+8>>2];c[C+12>>2]=c[E+12>>2];wO(d,e,B,C)}else F=33;b:do if((F|0)==33){F=0;u=b[k+168>>1]|0;k=u<<16>>16;if(u<<16>>16){if((o|0)==(n|0)){if(!i){j=HK(96)|0;c[j+84>>2]=HK(((qB(d)|0)<<5)+11520|0)|0;i=j}Hm(i,e,c[(c[(c[r>>2]|0)+16>>2]|0)+248>>2]|0);break}if(!x){MM(d,e,f,17832);break}k=a[195236]|0?1:k;m=e;n=0;while(1){if((n|0)>=(k|0))break b;if(w)Pm(d,m,A,q,1);else Vm(d,m);m=c[(c[m+16>>2]|0)+172>>2]|0;n=n+1|0}}}while(0);e=WA(d,e)|0}o=hC(d,o)|0}if(x)JX(z);if(i|0){l6(c[i+84>>2]|0);l6(j)}if(v){i=0;while(1){if((i|0)>=(q|0))break;l6(c[A+(i<<2)>>2]|0);i=i+1|0}l6(y)}l=G;return 0}function Vm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;k=l;l=l+96|0;g=k+64|0;f=k+48|0;e=k+40|0;h=k+80|0;m=k+32|0;i=k+16|0;j=k;n=(c[b+16>>2]|0)+144|0;o=c[n>>2]|0;n=c[n+4>>2]|0;p=m;c[p>>2]=o;c[p+4>>2]=n;p=o;c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];n=o+(n+-1<<4)|0;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];DY(g,h);if((d[195234]|0)>1){o=c[15715]|0;m=HB(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;p=b+-48|0;n=HB(c[((c[b>>2]&3|0)==2?b:p)+40>>2]|0)|0;c[e>>2]=m;c[e+4>>2]=n;z4(o,90253,e)|0;e=p}else e=b+-48|0;bO(b,c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0,c[h>>2]|0,c[h+4>>2]|0,17832);c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];wO(a,b,f,g);l=k;return}function Wm(a,d){a=a|0;d=d|0;var e=0;e=b[(c[a+16>>2]|0)+136>>1]&14;if(d<<24>>24)Xm(a)|0;if(e<<16>>16)Tm(a,e&65535)|0;return}function Xm(a){a=a|0;var b=0,d=0,e=0,f=0;d=Ym(a)|0;b=gC(a)|0;while(1){if(!b)break;e=c[b+16>>2]|0;f=c[e+132>>2]|0;h[e+16>>3]=+h[f>>3]*72.0;h[e+24>>3]=+h[f+8>>3]*72.0;b=hC(a,b)|0}return d|0}function Ym(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0;a:do if((c[a+60>>2]|0)==(a|0)?(d=a+16|0,e=c[d>>2]|0,(c[(c[e+8>>2]|0)+84>>2]|0)!=0):0){if(!(+h[e+16>>3]!=0.0)?!(+h[e+24>>3]!=0.0):0)b=0;else{Zm(a);b=1;e=c[d>>2]|0}m=(c[e+116>>2]&1|0)!=0;l=e+40|0;j=e+32|0;if(m){i=+h[j>>3];h[j>>3]=+h[l>>3];h[l>>3]=i}d=c[e+8>>2]|0;e=d+64|0;k=d+72|0;b:do switch(c[d+84>>2]|0){case 2:{f=+h[e>>3];if(f<=0.0)break a;g=f/+h[j>>3];f=+h[k>>3]/+h[l>>3];if(g<1.0|f<1.0)if(g>3];if(f<=0.0)break a;g=f/+h[j>>3];f=+h[k>>3]/+h[l>>3];if(!(g>1.0&f>1.0))break a;f=g>3];f=+h[l>>3]/+h[j>>3];if(f1){d=gC(a)|0;while(1){if(!d)break c;b=UA(a,d)|0;while(1){if(!b)break;if(c[(c[b+16>>2]|0)+8>>2]|0)_m(b,f,g);b=WA(a,b)|0}d=hC(a,d)|0}}while(0);b=gC(a)|0;while(1){if(!b)break;m=c[(c[b+16>>2]|0)+132>>2]|0;h[m>>3]=f*+h[m>>3];m=m+8|0;h[m>>3]=g*+h[m>>3];b=hC(a,b)|0}$m(a,f,g);b=1}else b=0;while(0);return b|0}function Zm(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;k=n+16|0;m=n;d=(c[b+16>>2]|0)+16|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];f=+h[m>>3];g=f/72.0;i=+h[m+8>>3];j=i/72.0;d=gC(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;o=c[e+132>>2]|0;h[o>>3]=+h[o>>3]-g;o=o+8|0;h[o>>3]=+h[o>>3]-j;e=c[e+108>>2]|0;if(e|0?a[e+81>>0]|0:0){o=e+56|0;h[o>>3]=+h[o>>3]-f;o=e+64|0;h[o>>3]=+h[o>>3]-i}d=hC(b,d)|0}e=gC(b)|0;while(1){if(!e)break;d=UA(b,e)|0;while(1){if(!d)break;if(c[(c[d+16>>2]|0)+8>>2]|0){c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];an(d,k)}d=WA(b,d)|0}e=hC(b,e)|0}c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];bn(b,k);l=n;return}function _m(b,d,e){b=b|0;d=+d;e=+e;var f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0;r=c[b>>2]&3;k=c[(c[(c[((r|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;u=d+-1.0;s=u*+h[k>>3]*72.0;v=e+-1.0;t=v*+h[k+8>>3]*72.0;r=c[(c[(c[((r|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;u=u*+h[r>>3]*72.0;v=v*+h[r+8>>3]*72.0;r=c[b+16>>2]|0;k=c[r+8>>2]|0;l=c[k+4>>2]|0;m=l+-1|0;b=0;k=c[k>>2]|0;while(1){if((b|0)>=(l|0))break;n=c[k+4>>2]|0;o=(b|0)==(m|0);p=n+-1|0;i=0;j=c[k>>2]|0;while(1){if((i|0)>=(n|0))break;q=j+8|0;f=+h[j>>3];g=+h[q>>3];do if(i|b)if(o&(i|0)==(p|0)){h[j>>3]=s+f;f=t+g;break}else{h[j>>3]=f*d;f=g*e;break}else{h[j>>3]=u+f;f=v+g}while(0);h[q>>3]=f;i=i+1|0;j=j+16|0}if(c[k+8>>2]|0){q=k+16|0;h[q>>3]=u+ +h[q>>3];q=k+24|0;h[q>>3]=v+ +h[q>>3]}if(c[k+12>>2]|0){q=k+32|0;h[q>>3]=s+ +h[q>>3];q=k+40|0;h[q>>3]=t+ +h[q>>3]}b=b+1|0;k=k+48|0}b=c[r+96>>2]|0;if(b|0?a[b+81>>0]|0:0){q=b+56|0;h[q>>3]=+h[q>>3]*d;q=b+64|0;h[q>>3]=+h[q>>3]*e}b=c[r+100>>2]|0;if(b|0?a[b+81>>0]|0:0){q=b+56|0;h[q>>3]=s+ +h[q>>3];q=b+64|0;h[q>>3]=t+ +h[q>>3]}b=c[r+104>>2]|0;if(b|0?a[b+81>>0]|0:0){r=b+56|0;h[r>>3]=u+ +h[r>>3];r=b+64|0;h[r>>3]=v+ +h[r>>3]}return}function $m(b,d,e){b=b|0;d=+d;e=+e;var f=0,g=0,i=0;i=b+16|0;g=c[i>>2]|0;b=g+32|0;h[b>>3]=+h[b>>3]*d;b=g+40|0;h[b>>3]=+h[b>>3]*e;b=g+16|0;h[b>>3]=+h[b>>3]*d;b=g+24|0;h[b>>3]=+h[b>>3]*e;b=c[g+12>>2]|0;if((b|0)!=0?(a[b+81>>0]|0)!=0:0){f=b+56|0;h[f>>3]=+h[f>>3]*d;f=b+64|0;h[f>>3]=+h[f>>3]*e;f=1;b=g}else{f=1;b=g}while(1){if((f|0)>(c[b+180>>2]|0))break;$m(c[(c[b+184>>2]|0)+(f<<2)>>2]|0,d,e);f=f+1|0;b=c[i>>2]|0}return}function an(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0;k=c[b+16>>2]|0;b=c[k+8>>2]|0;j=c[b+4>>2]|0;l=d+8|0;b=c[b>>2]|0;g=0;while(1){if((g|0)>=(j|0))break;i=c[b+4>>2]|0;e=c[b>>2]|0;f=0;while(1){if((f|0)>=(i|0))break;h[e>>3]=+h[e>>3]-+h[d>>3];m=e+8|0;h[m>>3]=+h[m>>3]-+h[l>>3];e=e+16|0;f=f+1|0}if(c[b+8>>2]|0){m=b+16|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+24|0;h[m>>3]=+h[m>>3]-+h[l>>3]}if(c[b+12>>2]|0){m=b+32|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+40|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=b+48|0;g=g+1|0}b=c[k+96>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+108>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+100>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+104>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}return}function bn(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;j=k;g=+h[d>>3];i=b+16|0;b=c[i>>2]|0;e=b+32|0;h[e>>3]=+h[e>>3]-g;f=+h[d+8>>3];e=b+40|0;h[e>>3]=+h[e>>3]-f;e=b+16|0;h[e>>3]=+h[e>>3]-g;e=b+24|0;h[e>>3]=+h[e>>3]-f;e=c[b+12>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){m=e+56|0;h[m>>3]=+h[m>>3]-g;e=e+64|0;h[e>>3]=+h[e>>3]-f;e=1}else e=1;while(1){if((e|0)>(c[b+180>>2]|0))break;m=c[(c[b+184>>2]|0)+(e<<2)>>2]|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];bn(m,j);e=e+1|0;b=c[i>>2]|0}l=k;return}function cn(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0,i=0,j=0;i=l;l=l+16|0;d=i;zP(a);e=a+16|0;b=c[e>>2]|0;f=+h[b+16>>3]/72.0;g=+h[b+24>>3]/72.0;b=gC(a)|0;while(1){if(!b)break;j=c[(c[b+16>>2]|0)+132>>2]|0;h[j>>3]=+h[j>>3]-f;j=j+8|0;h[j>>3]=+h[j>>3]-g;b=hC(a,b)|0}j=(c[e>>2]|0)+16|0;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];dn(a,d);Wm(a,1);l=i;return}function dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0;g=l;l=l+16|0;f=g;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[(c[e+184>>2]|0)+(a<<2)>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];dn(e,f);a=a+1|0}j=+h[b>>3];f=e+32|0;h[f>>3]=+h[f>>3]-j;i=+h[b+8>>3];b=e+40|0;h[b>>3]=+h[b>>3]-i;b=e+16|0;h[b>>3]=+h[b>>3]-j;b=e+24|0;h[b>>3]=+h[b>>3]-i;l=g;return}function en(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=(e|0)>2;n=0;o=0;j=c[f+4>>2]|0;b=c[f>>2]|0;while(1){if((o|0)>=(d|0)){b=0;break}i=c[(c[g+(o<<2)>>2]|0)+16>>2]|0;l=a[i+119>>0]|0;a:do if(!(l<<24>>24)){k=b+8|0;h[b>>3]=+S4();i=j+8|0;h[j>>3]=+S4();if(p){b=2;while(1){if((b|0)==(e|0)){j=n;b=k;break a}q=+S4();h[(c[f+(b<<2)>>2]|0)+(o<<3)>>3]=q;b=b+1|0}}else{j=n;b=k}}else{k=c[i+132>>2]|0;m=b+8|0;h[b>>3]=+h[k>>3];i=j+8|0;h[j>>3]=+h[k+8>>3];b:do if(p){j=2;b=k+16|0;while(1){if((j|0)==(e|0))break b;h[(c[f+(j<<2)>>2]|0)+(o<<3)>>3]=+h[b>>3];j=j+1|0;b=b+8|0}}while(0);j=(l&255)>1?1:n;b=m}while(0);n=j;o=o+1|0;j=i}while(1){if((b|0)>=(e|0))break;Et(d,c[f+(b<<2)>>2]|0);b=b+1|0}return n|0}function fn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0;d=HK(((S(b+1|0,b)|0)/2|0)<<2)|0;n=rn(b,b,0.0)|0;o=rn(b,b,0.0)|0;a:do if(!(c[a+8>>2]|0)){e=0;while(1){if((e|0)>=(b|0))break a;i=c[a+(e*20|0)>>2]|0;j=a+(e*20|0)+4|0;k=n+(e<<2)|0;f=1;while(1){if((f|0)>=(i|0))break;m=c[(c[j>>2]|0)+(f<<2)>>2]|0;h[(c[n+(m<<2)>>2]|0)+(e<<3)>>3]=-1.0;h[(c[k>>2]|0)+(m<<3)>>3]=-1.0;f=f+1|0}e=e+1|0}}else{e=0;while(1){if((e|0)>=(b|0))break a;i=c[a+(e*20|0)>>2]|0;j=a+(e*20|0)+4|0;k=a+(e*20|0)+8|0;m=n+(e<<2)|0;f=1;while(1){if((f|0)>=(i|0))break;p=c[(c[j>>2]|0)+(f<<2)>>2]|0;l=-1.0/+g[(c[k>>2]|0)+(f<<2)>>2];h[(c[n+(p<<2)>>2]|0)+(e<<3)>>3]=l;h[(c[m>>2]|0)+(p<<3)>>3]=l;f=f+1|0}e=e+1|0}}while(0);b:do if(!(tr(b,n,o)|0)){l6(d);d=0}else{f=0;j=0;m=b;while(1){if((j|0)>=(b|0))break b;k=o+(j<<2)|0;e=j;i=f;while(1){if((e|0)==(b|0))break;if((j|0)==(e|0))l=0.0;else{p=c[k>>2]|0;l=+h[p+(j<<3)>>3]+ +h[(c[o+(e<<2)>>2]|0)+(e<<3)>>3]-+h[p+(e<<3)>>3]*2.0}g[d+(i<<2)>>2]=l;e=e+1|0;i=i+1|0}f=f+m|0;j=j+1|0;m=m+-1|0}}while(0);sn(n);sn(o);return d|0}function gn(b,d){b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=l;l=l+16|0;r=s;if(c[b+8>>2]|0){e=hn(b,d)|0;i=0.0;f=0;q=0;while(1){if((q|0)>=(d|0))break;f=f+q|0;p=c[b+(q*20|0)>>2]|0;m=b+(q*20|0)+4|0;n=(S(q,d)|0)-f|0;o=b+(q*20|0)+8|0;k=1;while(1){if((k|0)>=(p|0))break;j=c[(c[m>>2]|0)+(k<<2)>>2]|0;if((j|0)>=(q|0)){j=e+(n+j<<2)|0;t=+g[(c[o>>2]|0)+(k<<2)>>2];i=i+ +F(+(+g[j>>2]-t));g[j>>2]=t}k=k+1|0}q=q+1|0}if(a[195234]|0){d=c[15715]|0;h[r>>3]=i;z4(d,90269,r)|0}}else e=0;l=s;return e|0}function hn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m;i=HK(((S(b+1|0,b)|0)/2|0)<<2)|0;j=HK(b<<2)|0;rr(h,b);d=0;f=0;k=b;while(1){if((d|0)>=(b|0))break;es(d,a,b,j);e=d;g=f;while(1){if((e|0)==(b|0))break;c[i+(g<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0;g=g+1|0}d=d+1|0;f=f+k|0;k=k+-1|0}l6(j);sr(h);l=m;return i|0}function jn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;i=n;j=HK(((S(b+1|0,b)|0)/2|0)<<2)|0;k=HK(b<<2)|0;rr(i,b);d=0;f=0;m=b;while(1){if((d|0)>=(b|0))break;nr(d,a,b,k,i);e=d;h=f;while(1){if((e|0)==(b|0))break;g[j+(h<<2)>>2]=+(c[k+(e<<2)>>2]|0);e=e+1|0;h=h+1|0}d=d+1|0;f=f+m|0;m=m+-1|0}l6(k);sr(i);l=n;return j|0}function kn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=a+8|0;d=c[r>>2]|0;e=0;f=0;while(1){if((f|0)>=(b|0))break;e=(c[a+(f*20|0)>>2]|0)+e|0;f=f+1|0}f=HK(e<<2)|0;q=HK(b<<2)|0;e=0;while(1){if((e|0)>=(b|0))break;c[q+(e<<2)>>2]=0;e=e+1|0}if(!(c[r>>2]|0)){h=0;while(1){if((h|0)>=(b|0))break;c[a+(h*20|0)+8>>2]=f;Ws(a,h,q);i=a+(h*20|0)|0;j=c[i>>2]|0;k=a+(h*20|0)+4|0;l=+(j+-1|0);e=1;while(1){if((e|0)>=(j|0))break;p=c[(c[k>>2]|0)+(e<<2)>>2]|0;s=l+ +((c[a+(p*20|0)>>2]|0)+-1|0);g[f+(e<<2)>>2]=s-+((Vs(a,h,p,q)|0)<<1|0);e=e+1|0}Xs(a,h,q);f=f+(c[i>>2]<<2)|0;h=h+1|0}f=jn(a,b)|0}else{j=0;while(1){if((j|0)>=(b|0))break;Ws(a,j,q);k=a+(j*20|0)|0;m=c[k>>2]|0;n=a+(j*20|0)+4|0;o=m+-2|0;p=a+(j*20|0)+8|0;i=1;while(1){if((i|0)>=(m|0))break;e=c[(c[n>>2]|0)+(i<<2)>>2]|0;h=o+(c[a+(e*20|0)>>2]|0)|0;s=+(h-((Vs(a,j,e,q)|0)<<1)|0);l=+g[(c[p>>2]|0)+(i<<2)>>2];if(s>l)l=+(h-((Vs(a,j,e,q)|0)<<1)|0);g[f+(i<<2)>>2]=l;i=i+1|0}Xs(a,j,q);c[p>>2]=f;f=f+(c[k>>2]<<2)|0;j=j+1|0}f=hn(a,b)|0}l6(q);l6(c[r>>2]|0);c[r>>2]=0;a:do if(d|0){e=0;while(1){if((e|0)>=(b|0))break a;c[a+(e*20|0)+8>>2]=d;d=d+(c[a+(e*20|0)>>2]<<2)|0;e=e+1|0}}while(0);return f|0}function ln(b,e,f,i,j,k,m,n,o){b=b|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0.0;N=l;l=l+80|0;M=N+56|0;L=N+48|0;A=N+40|0;v=N+32|0;t=N+24|0;s=N+16|0;q=N+8|0;p=N;r=m&4;K=m&3;a:do if((o|0)<0)f=0;else{if(a[195234]|0)RO();m=(n|0)==2;b:do if(m){if(a[195234]|0)_3(93591,24,1,c[15715]|0)|0;f=kn(b,e)|0;x=14}else{switch(n|0){case 1:{f=fn(b,e)|0;if(f|0){J=f;break b}dA(0,93616,p)|0;dA(3,93665,q)|0;x=15;break b}case 3:break;default:{x=15;break b}}if(a[195234]|0)_3(93718,21,1,c[15715]|0)|0;f=gn(b,e)|0;x=14}while(0);if((x|0)==14)if(!f)x=15;else J=f;do if((x|0)==15){if(a[195234]|0)_3(93740,26,1,c[15715]|0)|0;if(!(c[b+8>>2]|0)){J=jn(b,e)|0;break}else{J=hn(b,e)|0;break}}while(0);if(a[195234]|0){I=c[15715]|0;h[s>>3]=+SO();z4(I,93767,s)|0;_3(93779,25,1,I)|0;RO()}c:do if((e|0)>1&(r|0)!=0)if((mn(b,e,i,k,r,K,m&1)|0)<0){v=0;t=0;f=-1;b=0;s=0;r=0;q=0;p=0;n=0;m=0}else{m=0;while(1){if((m|0)>=(k|0)){z=0;x=34;break c}n=i+(m<<2)|0;u=1.0;f=0;while(1){if((f|0)==(e|0)){f=0;break}y=+F(+(+h[(c[n>>2]|0)+(f<<3)>>3]));u=y>u?y:u;f=f+1|0}while(1){if((f|0)==(e|0)){f=0;break}I=(c[n>>2]|0)+(f<<3)|0;h[I>>3]=+h[I>>3]/u;f=f+1|0}while(1){if((f|0)==(e|0))break;y=(+S4()+-.5)*1.0e-06;I=(c[n>>2]|0)+(f<<3)|0;h[I>>3]=+h[I>>3]+y;f=f+1|0}Et(e,c[n>>2]|0);m=m+1|0}}else{z=en(0,e,k,i,j)|0;x=34}while(0);d:do if((x|0)==34){if(a[195234]|0){I=c[15715]|0;h[t>>3]=+SO();z4(I,93805,t)|0}if((e|0)==1|(o|0)==0){f=0;break a}if(a[195234]|0){I=c[15715]|0;h[v>>3]=+SO();z4(I,93767,v)|0;_3(90291,26,1,I)|0;RO()}r=k<<2;I=HK(r)|0;b=e<<2;s=S(b,k)|0;H=HK(s)|0;f=0;while(1){if((f|0)>=(k|0))break;n=H+((S(f,e)|0)<<2)|0;c[I+(f<<2)>>2]=n;p=i+(f<<2)|0;m=0;while(1){if((m|0)>=(e|0))break;g[n+(m<<2)>>2]=+h[(c[p>>2]|0)+(m<<3)>>3];m=m+1|0}f=f+1|0}G=e+-1|0;e:do if(!K){f=0;u=0.0;p=0;while(1){if((p|0)>=(G|0))break e;q=e-p|0;n=f;m=1;while(1){f=n+1|0;if((m|0)>=(q|0))break;n=f;u=u+ +g[J+(f<<2)>>2];m=m+1|0}p=p+1|0}}else u=+(e|0)*+(G|0)*.5;while(0);C=(S(e+1|0,e)|0)/2|0;D=(K|0)==2;if(D)_t(C,J);$t(C,J);E=e<<3;n=HK(E)|0;u6(n|0,0,E|0)|0;f=0;p=0;while(1){if((p|0)>=(G|0)){f=e;m=0;p=0;break}q=e-p|0;w=0.0;m=1;while(1){f=f+1|0;if((m|0)>=(q|0))break;y=+g[J+(f<<2)>>2];B=n+(m+p<<3)|0;h[B>>3]=+h[B>>3]-y;w=w+y;m=m+1|0}B=n+(p<<3)|0;h[B>>3]=+h[B>>3]-w;p=p+1|0}while(1){if((m|0)>=(e|0))break;g[J+(p<<2)>>2]=+h[n+(m<<3)>>3];B=f+p|0;f=f+-1|0;m=m+1|0;p=B}B=HK(r)|0;c[B>>2]=HK(s)|0;f=1;while(1){if((f|0)>=(k|0))break;c[B+(f<<2)>>2]=(c[B>>2]|0)+((S(f,e)|0)<<2);f=f+1|0}q=HK(b)|0;p=HK(b)|0;m=HK(C<<2)|0;if(a[195234]|0){x=c[15715]|0;h[A>>3]=+SO();z4(x,93767,A)|0;_3(90318,15,1,x)|0;RO()}x=(z|0)==0;z=c[15715]|0;f=0;r=0;y=1797693134862315708145274.0e284;while(1){if(!(r<<24>>24==0&(f|0)<(o|0)))break;u6(n|0,0,E|0)|0;if(D){au(C,J,m);v=0;b=0}else{v=0;b=0}while(1){if((v|0)>=(G|0)){r=e;s=0;b=0;break}t=e-v+-1|0;Yt(t,0.0,p);r=0;while(1){if((r|0)>=(k|0))break;A=I+(r<<2)|0;Yt(t,+g[(c[A>>2]|0)+(v<<2)>>2],q);Tt(t,q,-1.0,(c[A>>2]|0)+(v<<2)+4|0);_t(t,q);St(t,q,p,p);r=r+1|0}bu(t,p);r=0;while(1){if((r|0)>=(t|0))break;s=p+(r<<2)|0;w=+g[s>>2];if(w>=3402823466385288598117041.0e14|w<0.0)g[s>>2]=0.0;r=r+1|0}r=b+1|0;b=v+1|0;f:do if(D){w=0.0;s=0;while(1){if((s|0)>=(t|0))break f;A=m+(r<<2)|0;O=+g[p+(s<<2)>>2]*+g[A>>2];g[A>>2]=O;A=n+(b+s<<3)|0;h[A>>3]=+h[A>>3]-O;w=w+O;r=r+1|0;s=s+1|0}}else{w=0.0;s=0;while(1){if((s|0)>=(t|0))break f;O=+g[p+(s<<2)>>2];g[m+(r<<2)>>2]=O;A=n+(b+s<<3)|0;h[A>>3]=+h[A>>3]-O;w=w+O;r=r+1|0;s=s+1|0}}while(0);A=n+(v<<3)|0;h[A>>3]=+h[A>>3]-w;v=b;b=r}while(1){if((s|0)>=(e|0)){r=0;break}g[m+(b<<2)>>2]=+h[n+(s<<3)>>3];A=r+b|0;r=r+-1|0;s=s+1|0;b=A}while(1){if((r|0)>=(k|0)){w=0.0;r=0;break}Qt(m,e,c[I+(r<<2)>>2]|0,c[B+(r<<2)>>2]|0);r=r+1|0}while(1){if((r|0)>=(k|0))break;w=w+ +Wt(e,c[I+(r<<2)>>2]|0,c[B+(r<<2)>>2]|0);r=r+1|0}w=u+w*2.0;r=0;while(1){if((r|0)>=(k|0))break;A=I+(r<<2)|0;Qt(J,e,c[A>>2]|0,q);w=w-+Wt(e,c[A>>2]|0,q);r=r+1|0}P=y-w;O=+h[23315];r=(w=0.0?P:-P)/y=(k|0))break;t=I+(b<<2)|0;s=c[t>>2]|0;g:do if(x){if((xr(J,s,c[B+(b<<2)>>2]|0,e,.001,e)|0)<0){v=B;t=J;f=-1;b=H;s=I;r=B;break d}}else{Vt(e,s,q);if((xr(J,q,c[B+(b<<2)>>2]|0,e,.001,e)|0)<0){v=B;t=J;f=-1;b=H;s=I;r=B;break d}else s=0;while(1){if((s|0)>=(e|0))break g;if((d[(c[(c[j+(s<<2)>>2]|0)+16>>2]|0)+119>>0]|0)<=1)c[(c[t>>2]|0)+(s<<2)>>2]=c[q+(s<<2)>>2];s=s+1|0}}while(0);b=b+1|0}if(((f|0)%5|0|0)==0&(a[195234]|0)!=0?(h[L>>3]=w,z4(z,90672,L)|0,((f+5|0)%50|0|0)==0):0)W5(10,z)|0;f=f+1|0;y=w}if(!(a[195234]|0))r=0;else{O=+nn(I,J,k,e,K);P=+SO();h[M>>3]=O;c[M+8>>2]=f;h[M+16>>3]=P;z4(z,90334,M)|0;r=0}while(1){if((r|0)>=(k|0)){v=B;t=J;b=H;s=I;r=B;break d}b=I+(r<<2)|0;t=i+(r<<2)|0;s=0;while(1){if((s|0)>=(e|0))break;h[(c[t>>2]|0)+(s<<3)>>3]=+g[(c[b>>2]|0)+(s<<2)>>2];s=s+1|0}r=r+1|0}}while(0);l6(b);l6(s);l6(t);if(v|0){l6(c[v>>2]|0);l6(r)}l6(q);l6(p);l6(n);l6(m)}while(0);l=N;return f|0}function mn(b,d,e,f,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0.0,q=0,r=0,s=0.0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+32|0;o=Q+24|0;P=Q+8|0;H=Q+4|0;N=Q;M=(d|0)<50?d:50;O=IK(M<<2)|0;G=d<<3;n=IK(S(G,M)|0)|0;m=0;while(1){if((m|0)>=(M|0))break;c[O+(m<<2)>>2]=n+((S(m,d)|0)<<3);m=m+1|0}D=M<<1;D=(D|0)>50?D:50;D=(D|0)>(d|0)?d:D;c[o>>2]=0;os(b,d,D,o,k);ps(c[o>>2]|0,d,D);ju(c[o>>2]|0,D,d,O,M);l6(c[c[o>>2]>>2]|0);l6(c[o>>2]|0);D=d<<2;L=IK(D)|0;m=0;while(1){if((m|0)>=(d|0))break;c[L+(m<<2)>>2]=-1;m=m+1|0}rr(P,d);J=c[b+8>>2]|0;I=(k|0)!=0;if(I)at(b,d);B=IK(D)|0;K=IK(160)|0;n=IK(d*160|0)|0;C=IK(160)|0;m=0;while(1){if((m|0)==40)break;c[C+(m<<2)>>2]=n+((S(m,d)|0)<<2);m=m+1|0}m=(U4()|0)%(d|0)|0;c[L+(m<<2)>>2]=0;c[K>>2]=m;n=c[C>>2]|0;if(I){_r(m,b,d,n);n=0;o=0}else{nr(m,b,d,n,P);n=0;o=0}while(1){if((o|0)>=(d|0)){r=1;break}E=c[(c[C>>2]|0)+(o<<2)>>2]|0;c[B+(o<<2)>>2]=E;A=(E|0)>(n|0);m=A?o:m;n=A?E:n;o=o+1|0}while(1){if((r|0)==40){m=0;break}c[L+(m<<2)>>2]=r;c[K+(r<<2)>>2]=m;t=C+(r<<2)|0;n=c[t>>2]|0;if(I){_r(m,b,d,n);q=0;n=0}else{nr(m,b,d,n,P);q=0;n=0}while(1){if((q|0)>=(d|0))break;o=B+(q<<2)|0;E=c[o>>2]|0;k=c[(c[t>>2]|0)+(q<<2)>>2]|0;k=(E|0)<(k|0)?E:k;c[o>>2]=k;if((k|0)<=(n|0)){if((k|0)==(n|0)?((U4()|0)%(q+1|0)|0|0)==0:0){n=c[o>>2]|0;m=q}}else{n=k;m=q}q=q+1|0}r=r+1|0}while(1){if((m|0)>=(d|0))break;c[B+(m<<2)>>2]=-1;m=m+1|0}w=IK(D)|0;E=IK(d<<4)|0;x=d+-1|0;y=x<<2;A=0;k=0;o=0;n=0;v=0;while(1){if((v|0)>=(d|0))break;m=L+(v<<2)|0;z=v+1|0;a:do if((c[m>>2]|0)>-1){r=E+(v<<4)+4|0;c[r>>2]=IK(y)|0;t=IK(y)|0;c[E+(v<<4)+8>>2]=t;c[E+(v<<4)>>2]=x;a[E+(v<<4)+12>>0]=1;q=C+(c[m>>2]<<2)|0;m=0;while(1){if((m|0)==(v|0)){m=z;break}c[(c[r>>2]|0)+(m<<2)>>2]=m;c[t+(m<<2)>>2]=c[(c[q>>2]|0)+(m<<2)>>2];m=m+1|0}while(1){if((m|0)==(d|0)){m=x;break a}v=m+-1|0;c[(c[r>>2]|0)+(v<<2)>>2]=m;c[t+(v<<2)>>2]=c[(c[q>>2]|0)+(m<<2)>>2];m=m+1|0}}else{if((n|0)<40){o=IK(D)|0;k=IK(D)|0;n=d;m=1}else m=0;a[E+(v<<4)+12>>0]=m;c[E+(v<<4)+4>>2]=o;c[E+(v<<4)+8>>2]=k;c[E+(v<<4)>>2]=40;m=0;while(1){if((m|0)==40)break;c[o+(m<<2)>>2]=c[K+(m<<2)>>2];c[k+(m<<2)>>2]=c[(c[C+(m<<2)>>2]|0)+(v<<2)>>2];m=m+1|0}k=k+160|0;o=o+160|0;n=n+-40|0;m=40}while(0);A=m+A|0;v=z}l6(B);l6(w);if(C|0){l6(c[C>>2]|0);l6(C)}C=IK(d*20|0)|0;q=A+d<<2;r=IK(q)|0;v=(j|0)==2;q=IK(q)|0;t=0;while(1){if((t|0)>=(d|0))break;c[C+(t*20|0)+4>>2]=r;c[C+(t*20|0)+8>>2]=q;m=(c[E+(t<<4)>>2]|0)+1|0;w=C+(t*20|0)|0;c[w>>2]=m;o=(c[E+(t<<4)+8>>2]|0)+-4|0;k=E+(t<<4)+4|0;b:do if(v){p=0.0;n=1;while(1){if((n|0)>=(m|0))break b;c[r+(n<<2)>>2]=c[(c[k>>2]|0)+(n+-1<<2)>>2];u=+(c[o+(n<<2)>>2]|0);u=-1.0/(u*u);g[q+(n<<2)>>2]=u;p=p-u;n=n+1|0;m=c[w>>2]|0}}else{p=0.0;n=1;while(1){if((n|0)>=(m|0))break b;c[r+(n<<2)>>2]=c[(c[k>>2]|0)+(n+-1<<2)>>2];u=-1.0/+(c[o+(n<<2)>>2]|0);g[q+(n<<2)>>2]=u;p=p-u;n=n+1|0;m=c[w>>2]|0}}while(0);c[r>>2]=t;g[q>>2]=p;D=c[w>>2]|0;q=q+(D<<2)|0;r=r+(D<<2)|0;t=t+1|0}B=IK(f<<2)|0;c[B>>2]=IK(S(f<<3,M)|0)|0;m=1;while(1){if((m|0)>=(f|0))break;c[B+(m<<2)>>2]=(c[B>>2]|0)+((S(m,M)|0)<<3);m=m+1|0}c:do if(i){m=0;while(1){if((m|0)>=(f|0))break;o=B+(m<<2)|0;n=0;while(1){if((n|0)>=(M|0))break;h[(c[o>>2]|0)+(n<<3)>>3]=0.0;n=n+1|0}m=m+1|0}if((f|0)!=2){m=0;while(1){if((m|0)>=(f|0)){m=0;break c}h[(c[B+(m<<2)>>2]|0)+(m<<3)>>3]=1.0;m=m+1|0}}h[c[B>>2]>>3]=1.0;m=B+4|0;if(!((ku(O,M,d,c[m>>2]|0)|0)<<24>>24)){n=c[m>>2]|0;m=0;while(1){if((m|0)>=(M|0))break;h[n+(m<<3)>>3]=0.0;m=m+1|0}h[n+8>>3]=1.0;m=0}else m=0}else{n=0;while(1){if((n|0)>=(f|0)){m=0;break c}o=B+(n<<2)|0;m=0;while(1){if((m|0)>=(M|0))break;u=+(U4()|0)/2147483647.0;h[(c[o>>2]|0)+(m<<3)>>3]=u;m=m+1|0}n=n+1|0}}while(0);while(1){if((m|0)>=(f|0))break;Ot(O,d,M,c[B+(m<<2)>>2]|0,c[e+(m<<2)>>2]|0);m=m+1|0}c[H>>2]=0;c[N>>2]=0;Dt(C,O,d,M,H);Bt(O,c[H>>2]|0,M,d,M,N);l6(c[c[H>>2]>>2]|0);l6(c[H>>2]|0);z=IK(G)|0;A=IK(M<<3)|0;m=0;n=0;p=+on(e,E,f,d,j);d:while(1){if((n|0)<50&m<<24>>24==0)x=0;else break;while(1){if((x|0)>=(f|0))break;y=e+(x<<2)|0;o=0;while(1){if((o|0)>=(d|0))break;q=z+(o<<3)|0;h[q>>3]=0.0;r=(c[E+(o<<4)+8>>2]|0)+-4|0;t=c[C+(o*20|0)+4>>2]|0;v=c[C+(o*20|0)+8>>2]|0;w=C+(o*20|0)|0;s=0.0;k=1;while(1){if((k|0)>=(c[w>>2]|0))break;m=c[t+(k<<2)>>2]|0;u=+ct(e,f,o,m);if(u>1.0e-30){u=-(+g[v+(k<<2)>>2]*+(c[r+(k<<2)>>2]|0))/u;h[q>>3]=+h[q>>3]+ +h[(c[y>>2]|0)+(m<<3)>>3]*u;s=s-u}k=k+1|0}h[q>>3]=+h[q>>3]+s*+h[(c[y>>2]|0)+(o<<3)>>3];o=o+1|0}At(O,M,d,z,A);m=B+(x<<2)|0;if(wr(c[N>>2]|0,c[m>>2]|0,A,M,.001,M,0)|0){n=-1;break d}Ot(O,d,M,c[m>>2]|0,c[y>>2]|0);x=x+1|0}if(!(n&1)){u=+on(e,E,f,d,j);p=+F(+(u-p))/(u+1.0e-10);m=p<+h[23315]&1;p=u}else m=0;n=n+1|0}l6(A);l6(z);if(I){bt(b,d,J);m=0}else m=0;while(1){if((m|0)>=(d|0))break;if(a[E+(m<<4)+12>>0]|0){l6(c[E+(m<<4)+4>>2]|0);l6(c[E+(m<<4)+8>>2]|0)}m=m+1|0}l6(E);l6(c[C+4>>2]|0);l6(c[C+8>>2]|0);l6(C);l6(L);l6(K);l6(c[B>>2]|0);l6(B);m=c[N>>2]|0;if(m|0){l6(c[m>>2]|0);l6(c[N>>2]|0)}l6(c[O>>2]|0);l6(O);sr(P);l=Q;return n|0}function nn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0;q=e+-1|0;o=(f|0)==2;h=0.0;f=0;m=0;while(1){if((m|0)>=(q|0))break;p=e-m|0;n=1;while(1){f=f+1|0;if((n|0)>=(p|0))break;k=n+m|0;i=0.0;j=0;while(1){if((j|0)>=(d|0))break;r=c[a+(j<<2)>>2]|0;l=+g[r+(m<<2)>>2]-+g[r+(k<<2)>>2];i=i+l*l;j=j+1|0}i=+G(+i);l=+g[b+(f<<2)>>2];if(o){i=1.0/+G(+l)-i;i=i*i}else{i=1.0/l-i;i=i*i}n=n+1|0;h=h+l*i}m=m+1|0}return +h}function on(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;a:do if((f|0)==2){g=0.0;l=0;while(1){if((l|0)>=(e|0))break a;n=c[b+(l<<4)>>2]|0;o=b+(l<<4)+4|0;m=b+(l<<4)+8|0;k=0;while(1){if((k|0)>=(n|0))break;j=c[(c[o>>2]|0)+(k<<2)>>2]|0;if((j|0)>(l|0)){i=0.0;f=0;while(1){if((f|0)>=(d|0))break;q=c[a+(f<<2)>>2]|0;p=+h[q+(l<<3)>>3]-+h[q+(j<<3)>>3];i=i+p*p;f=f+1|0}i=+G(+i);p=+(c[(c[m>>2]|0)+(k<<2)>>2]|0);i=p-i;g=g+i*i/(p*p)}k=k+1|0}l=l+1|0}}else{l=0;g=0.0;while(1){if((l|0)>=(e|0))break a;m=c[b+(l<<4)>>2]|0;n=b+(l<<4)+4|0;o=b+(l<<4)+8|0;k=0;while(1){if((k|0)>=(m|0))break;j=c[(c[n>>2]|0)+(k<<2)>>2]|0;if((j|0)>(l|0)){i=0.0;f=0;while(1){if((f|0)>=(d|0))break;q=c[a+(f<<2)>>2]|0;p=+h[q+(l<<3)>>3]-+h[q+(j<<3)>>3];i=i+p*p;f=f+1|0}i=+G(+i);p=+(c[(c[o>>2]|0)+(k<<2)>>2]|0);i=p-i;g=g+i*i/p}k=k+1|0}l=l+1|0}}while(0);return +g}function pn(a){a=+a;a=+G(+a);return +(a*(a*a))}function qn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0;g=c[47184]|0;e=0.0;f=0;while(1){if((f|0)>=(g|0))break;i=+h[a+(f<<3)>>3]-+h[b+(f<<3)>>3];h[d+(f<<3)>>3]=i;e=e+i*i;f=f+1|0}return +(+G(+e))}function rn(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;i=HK(a<<2)|0;f=0;g=HK(S(a<<3,b)|0)|0;while(1){if((f|0)>=(a|0))break;c[i+(f<<2)>>2]=g;e=0;while(1){if((e|0)>=(b|0))break;h[g+(e<<3)>>3]=d;e=e+1|0}f=f+1|0;g=g+(b<<3)|0}return i|0}function sn(a){a=a|0;if(a|0){l6(c[a>>2]|0);l6(a)}return}function tn(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0;o=l;l=l+16|0;f=o;k=o+8|0;if(a[195234]|0){n=c[15715]|0;j=HB(b)|0;m=qB(b)|0;c[f>>2]=j;c[f+4>>2]=m;z4(n,90372,f)|0}a:do if(a[195235]|0){i=b+60|0;f=gC(b)|0;b:while(1){if(!f)break a;j=hC(b,f)|0;switch(un(b,f,k)|0){case 0:{tC(c[i>>2]|0,f)|0;f=j;continue b}case 1:{tC(c[i>>2]|0,f)|0;f=vn(b,c[k>>2]|0,j)|0;continue b}default:{f=j;continue b}}}}while(0);n=qB(b)|0;m=rB(b)|0;k=DA(b,2,92794,0)|0;g=+(n|0);c:do if(!d){h[23315]=g*.0001;nK(b,109187,186520);f=NA(c[b+60>>2]|0,90401)|0;if(!f)e=.99;else e=+a6(f);h[23317]=e;f=HK((n<<2)+4|0)|0;j=b+16|0;c[(c[j>>2]|0)+152>>2]=f;f=0;e=0.0;i=gC(b)|0;while(1){if(!i)break c;c[(c[(c[j>>2]|0)+152>>2]|0)+(f<<2)>>2]=i;q=c[i+16>>2]|0;c[q+120>>2]=f;c[q+124>>2]=-1;p=e+ +wn(b,i,k);f=f+1|0;e=p;i=hC(b,i)|0}}else{h[23315]=.0001;nK(b,109187,186520);f=0;e=0.0;i=gC(b)|0;while(1){if(!i)break c;c[(c[i+16>>2]|0)+120>>2]=f;p=e+ +wn(b,i,k);f=f+1|0;e=p;i=hC(b,i)|0}}while(0);f=NA(b,90409)|0;if((f|0)!=0?(a[f>>0]|0)!=0:0){e=+h[23315];g=+a6(f);if(!(e>g))e=g}else e=e/+(((m|0)>1?m:1)|0)*+G(+g)+1.0;h[23316]=e;if(!(c[47180]|d)){d=rn(n,n,e)|0;q=b+16|0;c[(c[q>>2]|0)+160>>2]=d;d=rn(n,n,1.0)|0;c[(c[q>>2]|0)+164>>2]=d;d=rn(n,c[47184]|0,1.0)|0;c[(c[q>>2]|0)+168>>2]=d;d=xn(n,n,c[47184]|0)|0;c[(c[q>>2]|0)+172>>2]=d}l=o;return n|0}function un(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=0;e=0;j=ZA(a,b)|0;a:while(1){if(!j)break;h=c[j>>2]&3;g=c[((h|0)==2?j:j+-48|0)+40>>2]|0;h=c[((h|0)==3?j:j+48|0)+40>>2]|0;do if((g|0)!=(h|0)){i=(h|0)==(b|0);if((e|0)!=1){f=i?g:h;c[d>>2]=f;e=e+1|0;break}if(!((g|0)==(f|0)&i)?!((g|0)==(b|0)&(h|0)==(f|0)):0){e=2;break a}else e=1}while(0);j=_A(a,j,b)|0}return e|0}function vn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=a+60|0;a:while(1){b:while(1){if(!b)break a;switch(un(a,b,f)|0){case 0:{e=5;break b}case 1:{e=8;break b}default:b=0}}if((e|0)==5){if((d|0)==(b|0))d=hC(a,d)|0;tC(c[g>>2]|0,b)|0;b=0;continue}else if((e|0)==8){if((d|0)==(b|0))d=hC(a,d)|0;tC(c[g>>2]|0,b)|0;b=c[f>>2]|0;continue}}l=h;return d|0}function wn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+8|0;g=k;b=UA(a,b)|0;e=0.0;while(1){if(!b)break;switch(yn(b,d,g)|0){case 0:{f=+h[g>>3];break}case 2:{c[i>>2]=HB(a)|0;h[i+8>>3]=1.0;dA(3,90421,i)|0;j=6;break}default:j=6}if((j|0)==6){j=0;h[g>>3]=1.0;f=1.0}h[(c[b+16>>2]|0)+136>>3]=f;b=WA(a,b)|0;e=e+f}l=k;return +e}function xn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0;j=HK((a<<2)+4|0)|0;k=(b<<2)+4|0;l=d<<3;g=0;while(1){if((g|0)>=(a|0))break;i=j+(g<<2)|0;c[i>>2]=HK(k)|0;f=0;while(1){if((f|0)>=(b|0))break;e=HK(l)|0;c[(c[i>>2]|0)+(f<<2)>>2]=e;e=0;while(1){if((e|0)>=(d|0))break;h[(c[(c[i>>2]|0)+(f<<2)>>2]|0)+(e<<3)>>3]=0.0;e=e+1|0}f=f+1|0}c[(c[i>>2]|0)+(f<<2)>>2]=0;g=g+1|0}c[j+(g<<2)>>2]=0;return j|0}function yn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;do if((d|0)!=0?(f=OA(b,d)|0,(a[f>>0]|0)!=0):0){c[i>>2]=e;if(((q4(f,101510,i)|0)>=1?(g=+h[e>>3],!(g<0.0)):0)?g!=0.0|(c[47180]|0)!=0:0){b=0;break}c[j>>2]=f;dA(0,90448,j)|0;b=2}else b=1;while(0);l=k;return b|0}function zn(a){a=a|0;return tn(a,0)|0}function An(a){a=a|0;a=a+16|0;l6(c[(c[a>>2]|0)+152>>2]|0);if(!(c[47180]|0)){sn(c[(c[a>>2]|0)+160>>2]|0);sn(c[(c[a>>2]|0)+164>>2]|0);sn(c[(c[a>>2]|0)+168>>2]|0);Bn(c[(c[a>>2]|0)+172>>2]|0);c[(c[a>>2]|0)+172>>2]=0}return}function Bn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0){f=0;while(1){g=a+(f<<2)|0;b=c[g>>2]|0;if(!b)break;else e=0;while(1){d=c[b+(e<<2)>>2]|0;if(!d)break;l6(d);e=e+1|0;b=c[g>>2]|0}l6(b);f=f+1|0}l6(a)}return}function Cn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+(b|0);b=a+16|0;while(1){if((d|0)>=(c[47184]|0))break;f=e*+S4();h[(c[(c[b>>2]|0)+132>>2]|0)+(d<<3)>>3]=f;d=d+1|0}return}function Dn(a,b){a=a|0;b=b|0;Cn(a,b,2);return}function En(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0;e=+(b|0);f=e*+S4();d=a+16|0;h[c[(c[d>>2]|0)+132>>2]>>3]=f;e=e*+S4();h[(c[(c[d>>2]|0)+132>>2]|0)+8>>3]=e;if((c[47184]|0)>2)Dn(a,b);return}function Fn(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(a[195234]|0)_3(90466,26,1,c[15715]|0)|0;d=km(b,d,2)|0;a:do if((d|0)!=1){if(!(c[46839]|d)){dA(0,90493,e)|0;c[46839]=1}b=b+16|0;d=0;while(1){e=c[(c[(c[b>>2]|0)+152>>2]|0)+(d<<2)>>2]|0;if(!e)break a;if(!(a[(c[e+16>>2]|0)+119>>0]|0))En(e,1);d=d+1|0}}while(0);l=f;return}function Gn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+96|0;q=r+80|0;o=r;if(a[195234]|0){_3(90542,25,1,c[15715]|0)|0;RO()}p=b+16|0;i=c[p>>2]|0;m=c[i+164>>2]|0;i=c[i+160>>2]|0;n=0;while(1){if((n|0)>=(d|0))break;j=i+(n<<2)|0;k=m+(n<<2)|0;f=0;while(1){if((f|0)==(n|0))break;g=+h[(c[j>>2]|0)+(f<<3)>>3];g=1.0/(g*g);e=c[(c[p>>2]|0)+152>>2]|0;e=fB(b,c[e+(n<<2)>>2]|0,c[e+(f<<2)>>2]|0,0,0)|0;if(e)g=g*+h[(c[e+16>>2]|0)+128>>3];h[(c[m+(f<<2)>>2]|0)+(n<<3)>>3]=g;h[(c[k>>2]|0)+(f<<3)>>3]=g;f=f+1|0}n=n+1|0}b=c[47184]|0;f=0;while(1){if((f|0)<(d|0))e=0;else break;while(1){if((e|0)>=(b|0))break;h[(c[(c[(c[p>>2]|0)+168>>2]|0)+(f<<2)>>2]|0)+(e<<3)>>3]=0.0;e=e+1|0}f=f+1|0}j=0;while(1){e=c[(c[(c[p>>2]|0)+152>>2]|0)+(j<<2)>>2]|0;if(!e)break;b=e+16|0;e=0;while(1){if((e|0)>=(d|0))break;a:do if((j|0)!=(e|0)){g=+qn(c[(c[b>>2]|0)+132>>2]|0,c[(c[(c[(c[(c[p>>2]|0)+152>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+132>>2]|0,o);i=c[47184]|0;f=0;while(1){if((f|0)>=(i|0))break a;n=c[p>>2]|0;s=+h[o+(f<<3)>>3];s=+h[(c[(c[n+164>>2]|0)+(j<<2)>>2]|0)+(e<<3)>>3]*(s-s*+h[(c[(c[n+160>>2]|0)+(j<<2)>>2]|0)+(e<<3)>>3]/g);h[(c[(c[(c[n+172>>2]|0)+(j<<2)>>2]|0)+(e<<2)>>2]|0)+(f<<3)>>3]=s;n=(c[(c[n+168>>2]|0)+(j<<2)>>2]|0)+(f<<3)|0;h[n>>3]=s+ +h[n>>3];f=f+1|0}}while(0);e=e+1|0}j=j+1|0}if(a[195234]|0){p=c[15715]|0;h[q>>3]=+SO();z4(p,90568,q)|0}l=r;return}function Hn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,m=0;j=l;l=l+32|0;i=j+24|0;g=j+8|0;f=j;k=+h[23315];h[23235]=k*k;while(1){e=In(b,d)|0;if(!e)break;Jn(b,d,e)}if(!(a[195234]|0))d=b+16|0;else{e=c[15715]|0;h[f>>3]=+Kn(b,d);z4(e,90578,f)|0;d=b+16|0;m=c[(c[d>>2]|0)+156>>2]|0;f=(m|0)==(c[47183]|0)?90592:195341;k=+SO();c[g>>2]=m;c[g+4>>2]=f;h[g+8>>3]=k;z4(e,90594,g)|0}d=c[(c[d>>2]|0)+156>>2]|0;if((d|0)==(c[47183]|0)){m=HB(b)|0;c[i>>2]=d;c[i+4>>2]=m;dA(0,90621,i)|0}l=j;return}function In(b,e){b=b|0;e=e|0;var f=0.0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=l;l=l+16|0;r=s;p=(c[46841]|0)+1|0;c[46841]=p;b=c[b+16>>2]|0;if((c[b+156>>2]|0)<(c[47183]|0)){n=b+152|0;o=c[47184]|0;m=b+168|0;b=0;f=0.0;k=0;while(1){if((k|0)>=(e|0))break;i=c[(c[n>>2]|0)+(k<<2)>>2]|0;if((d[(c[i+16>>2]|0)+119>>0]|0)<=1){j=0.0;g=0;while(1){if((g|0)>=(o|0))break;t=+h[(c[(c[m>>2]|0)+(k<<2)>>2]|0)+(g<<3)>>3];j=j+t*t;g=g+1|0}if(j>f){b=i;f=j}}k=k+1|0}if(!(f<+h[23235])){if((a[195234]|0)!=0&((p|0)%100|0|0)==0?(q=c[15715]|0,h[r>>3]=+G(+f),z4(q,90672,r)|0,((c[46841]|0)%1e3|0|0)==0):0)W5(10,q)|0}else b=0}else b=0;l=s;return b|0}function Jn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;k=d+16|0;m=c[(c[k>>2]|0)+120>>2]|0;f=c[46840]|0;if(!f){g=c[47184]|0;g=IK(S(g<<3,g)|0)|0}else{g=c[47184]|0;g=KK(f,S(g<<3,g)|0)|0}c[46840]=g;Ln(a,b,m,g);i=c[47184]|0;j=a+16|0;f=0;while(1){if((f|0)>=(i|0))break;h[185888+(f<<3)>>3]=-+h[(c[(c[(c[j>>2]|0)+168>>2]|0)+(m<<2)>>2]|0)+(f<<3)>>3];f=f+1|0}Uu(g,185968,185888,i);f=0;while(1){if((f|0)>=(c[47184]|0))break;e=+h[23317];e=e+ +S4()*((1.0-e)*2.0);i=185968+(f<<3)|0;e=+h[i>>3]*e;h[i>>3]=e;i=(c[(c[k>>2]|0)+132>>2]|0)+(f<<3)|0;h[i>>3]=e+ +h[i>>3];f=f+1|0}k=(c[j>>2]|0)+156|0;c[k>>2]=(c[k>>2]|0)+1;Mn(a,b,m);if(pP()|0){g=c[47184]|0;e=0.0;f=0;while(1){if((f|0)>=(g|0))break;e=e+ +F(+(+h[185968+(f<<3)>>3]));f=f+1|0}e=+G(+e);m=c[15715]|0;c[n>>2]=HB(d)|0;h[n+8>>3]=e;z4(m,90663,n)|0}l=o;return}function Kn(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=b+-1|0;n=a+16|0;o=c[47184]|0;g=0;d=0.0;a:while(1){if((g|0)>=(q|0))break;m=c[n>>2]|0;p=c[m+152>>2]|0;j=g+1|0;k=(c[p+(g<<2)>>2]|0)+16|0;l=m+164|0;m=m+160|0;i=j;while(1){if((i|0)>=(b|0)){g=j;continue a}f=(c[p+(i<<2)>>2]|0)+16|0;a=0;e=0.0;while(1){if((a|0)>=(o|0))break;r=+h[(c[(c[k>>2]|0)+132>>2]|0)+(a<<3)>>3]-+h[(c[(c[f>>2]|0)+132>>2]|0)+(a<<3)>>3];a=a+1|0;e=e+r*r}r=+h[(c[(c[m>>2]|0)+(g<<2)>>2]|0)+(i<<3)>>3];r=d+ +h[(c[(c[l>>2]|0)+(g<<2)>>2]|0)+(i<<3)>>3]*(e+r*r-r*2.0*+G(+e));i=i+1|0;d=r}}return +d}function Ln(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+80|0;w=x;v=c[a+16>>2]|0;k=c[v+164>>2]|0;m=c[v+160>>2]|0;v=c[v+152>>2]|0;j=c[v+(d<<2)>>2]|0;g=c[47184]|0;a=0;while(1){if((a|0)>=(g|0))break;i=S(g,a)|0;f=0;while(1){if((f|0)==(g|0))break;h[e+(f+i<<3)>>3]=0.0;f=f+1|0}a=a+1|0}u=c[47184]|0;t=j+16|0;s=k+(d<<2)|0;k=m+(d<<2)|0;j=0;while(1){if((j|0)>=(b|0))break;a:do if((j|0)!=(d|0)){f=(c[v+(j<<2)>>2]|0)+16|0;r=0.0;a=0;while(1){if((a|0)>=(u|0))break;q=+h[(c[(c[t>>2]|0)+132>>2]|0)+(a<<3)>>3]-+h[(c[(c[f>>2]|0)+132>>2]|0)+(a<<3)>>3];h[w+(a<<3)>>3]=q;r=r+q*q;a=a+1|0}n=1.0/+pn(r);i=0;while(1){if((i|0)>=(u|0))break a;f=(c[s>>2]|0)+(j<<3)|0;g=(c[k>>2]|0)+(j<<3)|0;o=+h[w+(i<<3)>>3];a=0;while(1){p=+h[f>>3];q=+h[g>>3];if((a|0)==(i|0))break;m=e+((S(a,u)|0)+i<<3)|0;h[m>>3]=+h[m>>3]+n*(p*q*o*+h[w+(a<<3)>>3]);a=a+1|0}m=e+((S(u,i)|0)+i<<3)|0;h[m>>3]=p*(1.0-n*(q*(r-o*o)))+ +h[m>>3];i=i+1|0}}while(0);j=j+1|0}f=c[47184]|0;i=1;while(1){if((i|0)>=(f|0))break;g=S(f,i)|0;a=0;while(1){if((a|0)==(i|0))break;h[e+(a+g<<3)>>3]=+h[e+((S(a,f)|0)+i<<3)>>3];a=a+1|0}i=i+1|0}l=x;return}function Mn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;m=l;l=l+80|0;k=m;j=a+16|0;f=c[j>>2]|0;g=c[(c[f+152>>2]|0)+(d<<2)>>2]|0;e=c[47184]|0;f=f+168|0;a=0;while(1){if((a|0)>=(e|0))break;h[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3]=0.0;a=a+1|0}f=g+16|0;a=0;while(1){if((a|0)>=(b|0))break;a:do if((a|0)!=(d|0)){i=+qn(c[(c[f>>2]|0)+132>>2]|0,c[(c[(c[(c[(c[j>>2]|0)+152>>2]|0)+(a<<2)>>2]|0)+16>>2]|0)+132>>2]|0,k);g=c[47184]|0;e=0;while(1){if((e|0)>=(g|0))break a;n=c[j>>2]|0;q=c[n+172>>2]|0;r=(c[(c[q+(d<<2)>>2]|0)+(a<<2)>>2]|0)+(e<<3)|0;o=+h[k+(e<<3)>>3];o=+h[(c[(c[n+164>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3]*(o-o*+h[(c[(c[n+160>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3]/i);h[r>>3]=o;n=c[n+168>>2]|0;s=(c[n+(d<<2)>>2]|0)+(e<<3)|0;h[s>>3]=+h[s>>3]+o;q=(c[(c[q+(a<<2)>>2]|0)+(d<<2)>>2]|0)+(e<<3)|0;o=+h[q>>3];p=-+h[r>>3];h[q>>3]=p;n=(c[n+(a<<2)>>2]|0)+(e<<3)|0;h[n>>3]=p-o+ +h[n>>3];e=e+1|0}}while(0);a=a+1|0}l=m;return}function Nn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0;d=a+16|0;g=c[46842]|0;b=c[(c[d>>2]|0)+124>>2]|0;while(1){if((b|0)<=0)break;i=(b+-1|0)/2|0;j=g+(i<<2)|0;e=c[j>>2]|0;f=e+16|0;if(+h[(c[f>>2]|0)+136>>3]<=+h[(c[d>>2]|0)+136>>3])break;c[j>>2]=a;c[(c[d>>2]|0)+124>>2]=i;c[g+(b<<2)>>2]=e;c[(c[f>>2]|0)+124>>2]=b;b=i}return}function On(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;i=a+16|0;j=c[46843]|0;k=c[46842]|0;g=c[(c[i>>2]|0)+124>>2]|0;while(1){e=g<<1|1;if((e|0)>=(j|0))break;d=e+1|0;if((d|0)<(j|0)){f=c[k+(d<<2)>>2]|0;b=c[k+(e<<2)>>2]|0;if(+h[(c[f+16>>2]|0)+136>>3]<+h[(c[b+16>>2]|0)+136>>3]){e=d;b=f}else l=6}else{b=c[k+(e<<2)>>2]|0;l=6}if((l|0)==6)l=0;d=b+16|0;if(+h[(c[i>>2]|0)+136>>3]<=+h[(c[d>>2]|0)+136>>3])break;c[k+(e<<2)>>2]=a;c[(c[i>>2]|0)+124>>2]=e;c[k+(g<<2)>>2]=b;c[(c[d>>2]|0)+124>>2]=g;g=e}return}function Pn(a){a=a|0;var b=0,d=0;b=(c[a+16>>2]|0)+124|0;if((c[b>>2]|0)>=0)Aa(90678,90698,643,90706);d=c[46843]|0;c[46843]=d+1;c[b>>2]=d;c[(c[46842]|0)+(d<<2)>>2]=a;if((d|0)>0)Nn(a);return}function Qn(){var a=0,b=0,d=0,e=0;b=c[46843]|0;if(!b)a=0;else{e=c[46842]|0;a=c[e>>2]|0;d=b+-1|0;c[46843]=d;b=c[e+(d<<2)>>2]|0;c[e>>2]=b;c[(c[b+16>>2]|0)+124>>2]=0;if((d|0)>1)On(b);c[(c[a+16>>2]|0)+124>>2]=-1}return a|0}function Rn(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[46842]=HK((d<<2)+4|0)|0;if(a[195234]|0){_3(90720,28,1,c[15715]|0)|0;RO()}d=gC(b)|0;while(1){if(!d)break;Sn(b,d);d=hC(b,d)|0}if(a[195234]|0){b=c[15715]|0;h[e>>3]=+SO();z4(b,90568,e)|0}l6(c[46842]|0);l=f;return}function Sn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0;e=c[(c[a+16>>2]|0)+152>>2]|0;f=+h[23316];d=0;while(1){g=c[e+(d<<2)>>2]|0;if(!g)break;h[(c[g+16>>2]|0)+136>>3]=f;d=d+1|0}c[46844]=b;k=c[b+16>>2]|0;h[k+136>>3]=0.0;c[k+128>>2]=0;Pn(b);a:while(1){j=Qn()|0;if(!j)break;d=c[46844]|0;k=j+16|0;if((j|0)!=(d|0))Tn(a,d,j,+h[(c[k>>2]|0)+136>>3]);i=ZA(a,j)|0;while(1){if(!i)continue a;d=c[i>>2]&3;b=c[((d|0)==3?i:i+48|0)+40>>2]|0;if((b|0)==(j|0))b=c[((d|0)==2?i:i+-48|0)+40>>2]|0;d=c[k>>2]|0;f=+h[d+136>>3]+ +h[(c[i+16>>2]|0)+136>>3];e=c[b+16>>2]|0;g=e+136|0;do if(+h[g>>3]>f){h[g>>3]=f;if((c[e+124>>2]|0)>-1){Nn(b);break}else{c[e+128>>2]=(c[d+128>>2]|0)+1;Pn(b);break}}while(0);i=_A(a,i,j)|0}}return}function Tn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;b=c[(c[b+16>>2]|0)+120>>2]|0;d=c[(c[d+16>>2]|0)+120>>2]|0;a=c[(c[a+16>>2]|0)+160>>2]|0;h[(c[a+(d<<2)>>2]|0)+(b<<3)>>3]=e;h[(c[a+(b<<2)>>2]|0)+(d<<3)>>3]=e;return}function Un(a){a=a|0;mQ(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[47184]=2;Vn(a);return}function Vn(a){a=a|0;var b=0,d=0,e=0,f=0;b=qB(a)|0;e=HK(b*56|0)|0;b=HK((b<<2)+4|0)|0;f=a+16|0;c[(c[f>>2]|0)+152>>2]=b;b=gC(a)|0;d=0;while(1){if(!b)break;Wl(b);c[(c[b+16>>2]|0)+112>>2]=e+(d*56|0);c[(c[(c[f>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;b=hC(a,b)|0;d=d+1|0}d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;Wn(b);b=WA(a,b)|0}d=hC(a,d)|0}return}function Wn(a){a=a|0;var b=0.0;RC(a,137763,176,1)|0;rP(a)|0;b=+YO(a,c[47236]|0,1.0,0.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function Xn(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;m=u+32|0;i=u+24|0;g=u+16|0;j=u;t=u+72|0;p=u+40|0;if(qB(b)|0){Un(b);f=NA(b,96039)|0;if(f)if(a[f>>0]|0){d=qC(b,f,0)|0;if(!d){c[g>>2]=f;dA(0,90749,g)|0;dA(3,90789,i)|0;d=0;s=1}else s=0}else{d=0;s=1}else{d=0;s=0}n=DA(b,1,96039,0)|0;o=(n|0)!=0;f=NA(b,141045)|0;if((f|0?a[f>>0]|0:0)?(k=j+8|0,c[m>>2]=j,c[m+4>>2]=k,(q4(f,105804,m)|0)==1):0)h[k>>3]=+h[j>>3];if(qB(b)|0){m=BG(b,t,0)|0;if((c[t>>2]|0)==1){g=(d|0)!=0;do if(g)e=d;else{if(o?(e=Yn(b,n)|0,e|0):0)break;e=0}while(0);f=Wu(b,e)|0;if(!((e|0)!=0|o^1))HA(f,n,137699)|0;r=(gC(b)|0)+16|0;l6(c[(c[r>>2]|0)+112>>2]|0);c[(c[r>>2]|0)+112>>2]=0;lr(b)|0;cn(b);d=(s|0)==0|g?d:f}else{iH(b,2,8,p)|0;c[p+12>>2]=0;k=(s|0)==0;j=0;while(1){if((j|0)>=(c[t>>2]|0))break;g=c[m+(j<<2)>>2]|0;e=(d|0)!=0;if(e?(EC(g,d)|0)!=0:0)f=d;else r=23;do if((r|0)==23){r=0;if(o?(q=Yn(g,n)|0,q|0):0){f=q;break}f=0}while(0);IG(g)|0;i=Wu(g,f)|0;d=k|e?d:i;if(o?(f|0)==0|(f|0)==(d|0):0)HA(i,n,137699)|0;lr(g)|0;j=j+1|0}r=(gC(b)|0)+16|0;l6(c[(c[r>>2]|0)+112>>2]|0);c[(c[r>>2]|0)+112>>2]=0;hH(c[t>>2]|0,m,b,p)|0;cn(b)}e=0;while(1){if((e|0)>=(c[t>>2]|0))break;tC(b,c[m+(e<<2)>>2]|0)|0;e=e+1|0}l6(m)}if(s|0)PA(b,96039,HB(d)|0)|0;rM(b)}l=u;return}function Yn(a,b){a=a|0;b=b|0;var c=0;c=gC(a)|0;while(1){if(!c){c=0;break}if((bP(OA(c,b)|0)|0)<<24>>24)break;c=hC(a,c)|0}return c|0}function Zn(a){a=a|0;var b=0,c=0;b=gC(a)|0;if(b|0){while(1){if(!b)break;c=UA(a,b)|0;while(1){if(!c)break;WP(c);c=WA(a,c)|0}UP(b);b=hC(a,b)|0}_n(a)}return}function _n(a){a=a|0;l6(c[(c[a+16>>2]|0)+152>>2]|0);if((vC(a)|0)!=(a|0))XC(a,0,137786);return}function $n(a){a=a|0;ao(a);if(!((qB(a)|0)==0?!(c[(c[a+16>>2]|0)+180>>2]|0):0)){kv(a);rM(a)}return}function ao(a){a=a|0;c[47201]=DA(a,1,108531,108537)|0;mQ(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[47184]=2;bo(a,0);co(a);return}function bo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;h=(b|0)==0;if(h){go(g);b=g}d=MD(a)|0;while(1){if(!d)break;if(!(h2(HB(d)|0,108307,7)|0)){RC(d,137786,280,1)|0;ho(b,d);bo(d,0)}else bo(d,b);d=ND(d)|0}if(h?(e=c[g+8>>2]|0,f=a+16|0,c[(c[f>>2]|0)+180>>2]=e,e|0):0){h=KK(c[g>>2]|0,(e<<2)+4|0)|0;c[(c[f>>2]|0)+184>>2]=h}l=i;return}function co(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=HK((qB(a)|0)<<2)|0;b=HK(((qB(a)|0)<<2)+4|0)|0;g=a+16|0;c[(c[g>>2]|0)+152>>2]=b;b=gC(a)|0;d=0;while(1){if(!b)break;RC(b,137750,304,1)|0;c[(c[b+16>>2]|0)+112>>2]=f+(d<<2);c[(c[(c[g>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;eo(b);e=UA(a,b)|0;while(1){if(!e)break;fo(e);e=WA(a,e)|0}b=hC(a,b)|0;d=d+1|0}return}function eo(a){a=a|0;PA(a,108531,108537)|0;return}function fo(a){a=a|0;RC(a,137763,304,1)|0;return}function go(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=KK(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function io(a){a=a|0;var b=0,d=0;b=gC(a)|0;if(b|0){l6(c[(c[b+16>>2]|0)+112>>2]|0);while(1){if(!b)break;d=UA(a,b)|0;while(1){if(!d)break;WP(d);d=WA(a,d)|0}UP(b);b=hC(a,b)|0}jo(a)}return}function jo(a){a=a|0;l6(c[(c[a+16>>2]|0)+152>>2]|0);if((vC(a)|0)!=(a|0))XC(a,0,137786);return}function ko(a){a=a|0;var d=0,e=0,f=0;lo(a);mo(a,0);no(a,0);oo(a,0);d=c[a+16>>2]|0;if(!(c[(c[d+8>>2]|0)+84>>2]|0)){d=b[d+136>>1]&14;if(d<<16>>16)Tm(a,d&65535)|0}else{d=gC(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;e=c[f+132>>2]|0;h[e>>3]=+h[f+16>>3]/72.0;h[e+8>>3]=+h[f+24>>3]/72.0;d=hC(a,d)|0}Wm(a,1)}rM(a);return}function lo(a){a=a|0;var d=0,e=0;mQ(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[47184]=2;d=gC(a)|0;while(1){if(!d)break;Wl(d);d=hC(a,d)|0}e=gC(a)|0;while(1){if(!e)break;d=UA(a,e)|0;while(1){if(!d)break;RC(d,137763,176,1)|0;rP(d)|0;d=WA(a,d)|0}e=hC(a,e)|0}return}function mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;h=(b|0)==0;if(h){to(g);b=g}d=MD(a)|0;while(1){if(!d)break;if(!(h2(HB(d)|0,108307,7)|0)){RC(d,137786,280,1)|0;sK(d);uo(b,d);mo(d,0)}else mo(d,b);d=ND(d)|0}if(h?(e=c[g+8>>2]|0,f=a+16|0,c[(c[f>>2]|0)+180>>2]=e,e|0):0){h=KK(c[g>>2]|0,(e<<2)+4|0)|0;c[(c[f>>2]|0)+184>>2]=h}l=i;return}function no(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=l;l=l+448|0;J=T+400|0;I=T+384|0;S=T+344|0;R=T+320|0;Q=T+248|0;G=T+208|0;A=T+152|0;B=T+96|0;p=T+88|0;e=T+64|0;L=T+32|0;M=T;E=T+416|0;u=T+304|0;z=T+288|0;N=T+192|0;O=T+176|0;P=T+136|0;K=T+72|0;o=c[a+60>>2]|0;if((d[195234]|0)>1){po(b);H=c[15715]|0;c[e>>2]=HB(a)|0;z4(H,91024,e)|0}H=a+16|0;g=b+1|0;e=1;f=0;while(1){i=c[H>>2]|0;if((e|0)>(c[i+180>>2]|0))break;F=c[(c[i+184>>2]|0)+(e<<2)>>2]|0;no(F,g);e=e+1|0;f=(qB(F)|0)+f|0}r=(qB(a)|0)-f|0;e=c[H>>2]|0;F=(c[e+180>>2]|0)+r|0;v=(F|0)==0;if(v?(c[e+12>>2]|0)==0:0){S=e+16|0;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;h[e+40>>3]=18.0;h[e+32>>3]=18.0}else{e=E+16|0;do if((iH(a,4,4,E)|0)>>>0>=3)if((c[e>>2]|0)==4?(c[E+28>>2]&2|0)!=0:0){f=DA(o,0,99491,0)|0;e=DA(o,1,99491,0)|0;if((f|0)!=0|(e|0)!=0){c[E+24>>2]=HK(F<<2)|0;break}else{c[p>>2]=HB(a)|0;dA(0,90878,p)|0;e=0;f=0;break}}else{e=0;f=0}else{c[e>>2]=3;e=0;f=0}while(0);C=HK(F<<5)|0;D=HK(F<<2)|0;s=E+24|0;o=(f|0)!=0;q=0;i=1;while(1){g=c[H>>2]|0;if((i|0)>(c[g+180>>2]|0))break;g=c[(c[g+184>>2]|0)+(i<<2)>>2]|0;y=C+(q<<5)|0;x=(c[g+16>>2]|0)+16|0;c[y>>2]=c[x>>2];c[y+4>>2]=c[x+4>>2];c[y+8>>2]=c[x+8>>2];c[y+12>>2]=c[x+12>>2];c[y+16>>2]=c[x+16>>2];c[y+20>>2]=c[x+20>>2];c[y+24>>2]=c[x+24>>2];c[y+28>>2]=c[x+28>>2];if(o&(c[s>>2]|0)!=0){y=XO(g,f,0,0)|0;c[(c[s>>2]|0)+(q<<2)>>2]=y}c[D+(q<<2)>>2]=g;q=q+1|0;i=i+1|0}w=L+16|0;x=L+8|0;y=L+24|0;a:do if((r|0)>0){p=(e|0)!=0;o=gC(a)|0;f=q;while(1){if(!o)break a;g=c[o+16>>2]|0;i=g+112|0;if(!(c[i>>2]|0)){c[i>>2]=a;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;h[w>>3]=+h[g+88>>3]+ +h[g+96>>3];h[y>>3]=+h[g+80>>3];t=C+(f<<5)|0;c[t>>2]=c[L>>2];c[t+4>>2]=c[L+4>>2];c[t+8>>2]=c[L+8>>2];c[t+12>>2]=c[L+12>>2];c[t+16>>2]=c[L+16>>2];c[t+20>>2]=c[L+20>>2];c[t+24>>2]=c[L+24>>2];c[t+28>>2]=c[L+28>>2];if(p&(c[s>>2]|0)!=0){t=XO(o,e,0,0)|0;c[(c[s>>2]|0)+(f<<2)>>2]=t}c[D+(f<<2)>>2]=o;f=f+1|0}o=hC(a,o)|0}}while(0);t=bH(F,C,E)|0;e=c[s>>2]|0;if(e|0)l6(e);qo(M,2147483647.0,2147483647.0);r=M+16|0;qo(u,-2147483647.0,-2147483647.0);c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];o=M+24|0;p=M+8|0;q=c[15715]|0;e=0;while(1){i=c[H>>2]|0;if((e|0)>=(F|0))break;k=+(c[t+(e<<3)>>2]|0);n=+(c[t+(e<<3)+4>>2]|0);f=C+(e<<5)|0;c[L>>2]=c[f>>2];c[L+4>>2]=c[f+4>>2];c[L+8>>2]=c[f+8>>2];c[L+12>>2]=c[f+12>>2];c[L+16>>2]=c[f+16>>2];c[L+20>>2]=c[f+20>>2];c[L+24>>2]=c[f+24>>2];c[L+28>>2]=c[f+28>>2];j=k+ +h[L>>3];h[L>>3]=j;k=k+ +h[w>>3];h[w>>3]=k;m=n+ +h[x>>3];h[x>>3]=m;n=n+ +h[y>>3];h[y>>3]=n;h[M>>3]=+h[(+h[M>>3]>3];h[p>>3]=+h[(+h[p>>3]>3];h[r>>3]=+h[(+h[r>>3]>k?M:L)+16>>3];h[o>>3]=+h[(+h[o>>3]>n?M:L)+24>>3];f=c[D+(e<<2)>>2]|0;g=f+16|0;if((e|0)<(c[i+180>>2]|0)){u=(c[g>>2]|0)+16|0;c[u>>2]=c[L>>2];c[u+4>>2]=c[L+4>>2];c[u+8>>2]=c[L+8>>2];c[u+12>>2]=c[L+12>>2];c[u+16>>2]=c[L+16>>2];c[u+20>>2]=c[L+20>>2];c[u+24>>2]=c[L+24>>2];c[u+28>>2]=c[L+28>>2];if((d[195234]|0)>1){po(b);c[B>>2]=HB(f)|0;h[B+8>>3]=j;h[B+16>>3]=m;h[B+24>>3]=k;h[B+32>>3]=n;z4(q,90857,B)|0}}else{u=(c[g>>2]|0)+16|0;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[J>>2]=c[w>>2];c[J+4>>2]=c[w+4>>2];c[J+8>>2]=c[w+8>>2];c[J+12>>2]=c[w+12>>2];ro(z,I,J);c[u>>2]=c[z>>2];c[u+4>>2]=c[z+4>>2];c[u+8>>2]=c[z+8>>2];c[u+12>>2]=c[z+12>>2];if((d[195234]|0)>1){po(b);u=HB(f)|0;s=c[g>>2]|0;m=+h[s+16>>3];n=+h[s+24>>3];c[A>>2]=u;h[A+8>>3]=m;h[A+16>>3]=n;z4(q,90845,A)|0}}e=e+1|0}e=c[i+12>>2]|0;if(e|0){j=+h[e+24>>3];if(v){k=+h[e+32>>3];c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;h[r>>3]=j;h[o>>3]=k;k=j;m=0.0}else{k=+h[r>>3];m=+h[M>>3]}n=j-(k-m);j=n*.5;if(n>0.0){h[M>>3]=m-j;h[r>>3]=k+j}}if((b|0)>0)j=+((c[E+8>>2]|0)>>>0)*.5;else j=0.0;k=+h[M>>3]-j;h[M>>3]=k;m=j+ +h[r>>3];h[r>>3]=m;n=+h[p>>3]-(j+ +h[i+56>>3]);h[p>>3]=n;j=+h[o>>3]+(j+ +h[i+88>>3]);h[o>>3]=j;if((d[195234]|0)>1){po(b);c[G>>2]=HB(a)|0;h[G+8>>3]=k;h[G+16>>3]=n;h[G+24>>3]=m;h[G+32>>3]=j;z4(q,90857,G)|0}e=0;while(1){if((e|0)>=(F|0))break;f=c[D+(e<<2)>>2]|0;g=f+16|0;if((e|0)<(c[(c[H>>2]|0)+180>>2]|0)){G=(c[g>>2]|0)+16|0;c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];c[L+16>>2]=c[G+16>>2];c[L+20>>2]=c[G+20>>2];c[L+24>>2]=c[G+24>>2];c[L+28>>2]=c[G+28>>2];c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];so(L,I,J);c[I>>2]=c[w>>2];c[I+4>>2]=c[w+4>>2];c[I+8>>2]=c[w+8>>2];c[I+12>>2]=c[w+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];so(N,I,J);c[w>>2]=c[N>>2];c[w+4>>2]=c[N+4>>2];c[w+8>>2]=c[N+8>>2];c[w+12>>2]=c[N+12>>2];G=(c[g>>2]|0)+16|0;c[G>>2]=c[L>>2];c[G+4>>2]=c[L+4>>2];c[G+8>>2]=c[L+8>>2];c[G+12>>2]=c[L+12>>2];c[G+16>>2]=c[L+16>>2];c[G+20>>2]=c[L+20>>2];c[G+24>>2]=c[L+24>>2];c[G+28>>2]=c[L+28>>2];if((d[195234]|0)>1){po(b);G=HB(f)|0;j=+h[L>>3];k=+h[x>>3];m=+h[w>>3];n=+h[y>>3];c[Q>>2]=G;h[Q+8>>3]=j;h[Q+16>>3]=k;h[Q+24>>3]=m;h[Q+32>>3]=n;z4(q,90857,Q)|0}}else{G=(c[g>>2]|0)+16|0;c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];so(O,I,J);c[G>>2]=c[O>>2];c[G+4>>2]=c[O+4>>2];c[G+8>>2]=c[O+8>>2];c[G+12>>2]=c[O+12>>2];if((d[195234]|0)>1){po(b);G=HB(f)|0;E=c[g>>2]|0;m=+h[E+16>>3];n=+h[E+24>>3];c[R>>2]=G;h[R+8>>3]=m;h[R+16>>3]=n;z4(q,90845,R)|0}}e=e+1|0}c[I>>2]=c[r>>2];c[I+4>>2]=c[r+4>>2];c[I+8>>2]=c[r+8>>2];c[I+12>>2]=c[r+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];so(P,I,J);c[r>>2]=c[P>>2];c[r+4>>2]=c[P+4>>2];c[r+8>>2]=c[P+8>>2];c[r+12>>2]=c[P+12>>2];c[I>>2]=c[M>>2];c[I+4>>2]=c[M+4>>2];c[I+8>>2]=c[M+8>>2];c[I+12>>2]=c[M+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];so(K,I,J);c[M>>2]=c[K>>2];c[M+4>>2]=c[K+4>>2];c[M+8>>2]=c[K+8>>2];c[M+12>>2]=c[K+12>>2];R=(c[H>>2]|0)+16|0;c[R>>2]=c[M>>2];c[R+4>>2]=c[M+4>>2];c[R+8>>2]=c[M+8>>2];c[R+12>>2]=c[M+12>>2];c[R+16>>2]=c[M+16>>2];c[R+20>>2]=c[M+20>>2];c[R+24>>2]=c[M+24>>2];c[R+28>>2]=c[M+28>>2];if((d[195234]|0)>1){po(b);R=HB(a)|0;j=+h[M>>3];k=+h[p>>3];m=+h[r>>3];n=+h[o>>3];c[S>>2]=R;h[S+8>>3]=j;h[S+16>>3]=k;h[S+24>>3]=m;h[S+32>>3]=n;z4(q,90857,S)|0}l6(C);l6(D);l6(t)}l=T;return}function oo(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0;u=l;l=l+80|0;t=u+32|0;j=u+8|0;e=u;s=a+16|0;p=c[s>>2]|0;q=+h[p+16>>3];r=+h[p+24>>3];if((d[195234]|0)>1){po(b);p=c[15715]|0;c[e>>2]=HB(a)|0;z4(p,90830,e)|0}p=(b|0)!=0;a:do if(p){e=gC(a)|0;f=c[15715]|0;while(1){if(!e)break a;g=e+16|0;i=c[g>>2]|0;if((c[i+112>>2]|0)==(a|0)?(v=i+16|0,h[v>>3]=q+ +h[v>>3],i=i+24|0,h[i>>3]=r+ +h[i>>3],(d[195234]|0)>1):0){po(b);v=HB(e)|0;i=c[g>>2]|0;n=+h[i+16>>3];o=+h[i+24>>3];c[j>>2]=v;h[j+8>>3]=n;h[j+16>>3]=o;z4(f,90845,j)|0}e=hC(a,e)|0}}else f=c[15715]|0;while(0);j=b+1|0;a=1;while(1){e=c[s>>2]|0;if((a|0)>(c[e+180>>2]|0))break;i=c[(c[e+184>>2]|0)+(a<<2)>>2]|0;if(p){g=i+16|0;e=c[g>>2]|0;k=q+ +h[e+16>>3];m=r+ +h[e+24>>3];n=q+ +h[e+32>>3];o=r+ +h[e+40>>3];if((d[195234]|0)>1){po(b);c[t>>2]=HB(i)|0;h[t+8>>3]=k;h[t+16>>3]=m;h[t+24>>3]=n;h[t+32>>3]=o;z4(f,90857,t)|0;e=c[g>>2]|0}h[e+16>>3]=k;h[e+24>>3]=m;h[e+32>>3]=n;h[e+40>>3]=o}oo(i,j);a=a+1|0}l=u;return}function po(a){a=a|0;var b=0;b=c[15715]|0;while(1){if((a|0)<=0)break;Z3(90875,b)|0;a=a+-1|0}return}function qo(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function ro(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[b+8>>3]+ +h[c+8>>3])*.5;h[a>>3]=(+h[b>>3]+ +h[c>>3])*.5;h[a+8>>3]=d;return}function so(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function to(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function uo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=KK(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function vo(a){a=a|0;var b=0;b=gC(a)|0;while(1){if(!b)break;UP(b);b=hC(a,b)|0}wo(a);return}function wo(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;a=1;while(1){e=c[b>>2]|0;d=c[e+184>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[d+(a<<2)>>2]|0;AK(c[(c[e+16>>2]|0)+12>>2]|0);wo(e);a=a+1|0}l6(d);return}function xo(a){a=a|0;var b=0,d=0,e=0;WC(a,1,137750,304,1);FP(a)|0;b=HK(((qB(a)|0)<<2)+4|0)|0;e=a+16|0;c[(c[e>>2]|0)+152>>2]=b;b=0;d=gC(a)|0;while(1){if(!d)break;yo(d);c[(c[(c[e>>2]|0)+152>>2]|0)+(b<<2)>>2]=d;c[(c[d+16>>2]|0)+120>>2]=b;b=b+1|0;d=hC(a,d)|0}e=DA(a,2,92794,0)|0;d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;zo(b,e);b=WA(a,b)|0}d=hC(a,d)|0}Ao(a);return}function yo(a){a=a|0;var b=0;qP(a);b=HK((e[(c[(uC(a)|0)+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[a+16>>2]|0)+132>>2]=b;oQ(a,c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&1);return}function zo(a,b){a=a|0;b=b|0;var d=0,e=0.0;RC(a,137763,176,1)|0;e=+YO(a,c[47236]|0,1.0,0.0);d=a+16|0;h[(c[d>>2]|0)+128>>3]=e;e=+YO(a,b,+h[(c[5180]|0)+32>>3],0.0);h[(c[d>>2]|0)+136>>3]=e;rP(a)|0;return}function Ao(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+32|0;q=r+16|0;p=r;m=r+24|0;n=DA(b,1,102924,0)|0;a:do if(n|0){o=DA(b,1,90961,0)|0;i=b+16|0;j=(o|0)==0;k=c[15715]|0;g=0;while(1){e=c[(c[(c[i>>2]|0)+152>>2]|0)+(g<<2)>>2]|0;if(!e)break a;b=OA(e,n)|0;do if(a[b>>0]|0){f=e+16|0;d=c[(c[f>>2]|0)+132>>2]|0;a[m>>0]=0;c[p>>2]=d;c[p+4>>2]=d+8;c[p+8>>2]=m;if((q4(b,102050,p)|0)<=1){c[q>>2]=HB(e)|0;c[q+4>>2]=b;z4(k,90965,q)|0;break}b:do if(+h[23314]>0.0){b=0;while(1){if((b|0)==2)break b;s=d+(b<<3)|0;h[s>>3]=+h[s>>3]/+h[23314];b=b+1|0}}while(0);b=c[f>>2]|0;a[b+119>>0]=1;if((a[m>>0]|0)!=33){if(j)break;if(!((bP(OA(e,o)|0)|0)<<24>>24))break;b=c[f>>2]|0}a[b+119>>0]=3}while(0);g=g+1|0}}while(0);l=r;return}function Bo(a){a=a|0;var b=0,c=0;c=gC(a)|0;while(1){if(!c)break;b=UA(a,c)|0;while(1){if(!b)break;WP(b);b=WA(a,b)|0}UP(c);c=hC(a,c)|0}Co(a);return}function Co(a){a=a|0;Do(a);a=a+16|0;l6(c[(c[a>>2]|0)+152>>2]|0);l6(c[(c[a>>2]|0)+140>>2]|0);return}function Do(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+16|0;f=1;while(1){e=c[g>>2]|0;b=c[e+184>>2]|0;if((f|0)>(c[e+180>>2]|0))break;e=c[b+(f<<2)>>2]|0;b=e+16|0;AK(c[(c[b>>2]|0)+12>>2]|0);d=c[(c[b>>2]|0)+140>>2]|0;if(d|0){l6(c[d>>2]|0);l6(c[(c[b>>2]|0)+140>>2]|0)}Do(e);f=f+1|0}l6(b);if((vC(a)|0)!=(a|0))TC(a,137786)|0;return}function Eo(a,b){a=a|0;b=b|0;c[b+4>>2]=DA(a,0,91017,0)|0;c[b+8>>2]=DA(a,0,141419,0)|0;c[b+12>>2]=DA(a,0,141351,0)|0;c[b>>2]=a;c[b+16>>2]=0;c[b+36>>2]=iH(a,2,4,b+20|0)|0;return}function Fo(a){a=a|0;var d=0,e=0;mQ(a,2);d=HK(56)|0;e=a+16|0;c[(c[e>>2]|0)+140>>2]=d;d=(XO(a,DA(a,0,91675,0)|0,2,2)|0)&65535;d=(d&65535)<10?d:10;b[(c[e>>2]|0)+176>>1]=d;c[47184]=d&65535;Go(a,0,a);cp(a);xo(a);return}function Go(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+16|0;j=m;k=(d|0)==0;if(k){Ho(j);d=j}g=e+16|0;f=MD(a)|0;while(1){if(!f)break;if(!(h2(HB(f)|0,108307,7)|0)){RC(f,137786,280,1)|0;n=HK(56)|0;p=c[f+16>>2]|0;c[p+140>>2]=n;o=c[g>>2]|0;b[p+176>>1]=b[o+176>>1]|0;c[n+44>>2]=(c[(c[o+140>>2]|0)+44>>2]|0)+1;c[n+48>>2]=e;Io(d,f);Go(f,0,f)}else Go(f,d,e);f=ND(f)|0}if(k?(h=c[j+8>>2]|0,i=a+16|0,c[(c[i>>2]|0)+180>>2]=h,h|0):0){p=KK(c[j>>2]|0,(h<<2)+4|0)|0;c[(c[i>>2]|0)+184>>2]=p}l=m;return}function Ho(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Io(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=KK(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function Jo(a){a=a|0;var b=0,c=0;b=l;l=l+64|0;c=b;Eo(a,c);Ko(a,c);Lo(a);Mo(a,a);No(a);l=b;return}function Ko(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0,w=0.0,x=0.0;s=l;l=l+64|0;r=s+48|0;e=s+40|0;o=s+56|0;n=s+52|0;m=s;if(a[195234]|0){q=c[15715]|0;c[e>>2]=HB(b)|0;z4(q,91024,e)|0}e=gC(b)|0;while(1){if(!e)break;c[(c[e+16>>2]|0)+164>>2]=0;e=hC(b,e)|0}p=Oo(b,d)|0;q=Fv(p,o,n)|0;e=q;while(1){k=e+4|0;f=c[e>>2]|0;if(!f)break;dp(f,m);e=gC(f)|0;while(1){if(!e)break;g=hC(f,e)|0;i=e+16|0;j=c[i>>2]|0;if(c[j+212>>2]|0){v=Po(e,f)|0;Ko(v,d);v=c[(c[v+16>>2]|0)+140>>2]|0;u=+h[v+24>>3];j=c[i>>2]|0;h[j+32>>3]=u;t=+h[v+32>>3];h[j+40>>3]=t;u=u*72.0*.5;h[j+88>>3]=u;h[j+96>>3]=u;h[j+80>>3]=t*72.0;e=g;continue}if(c[(c[j+112>>2]|0)+8>>2]|0){e=g;continue}tC(f,e)|0;e=g}if((qB(f)|0)<=1){e=k;continue}if((c[d>>2]|0)==(b|0))Iq(f)|0;qp(f,m);e=k}e=c[o>>2]|0;if((e|0)<=1)if((e|0)==1){zP(c[q>>2]|0);e=0}else e=0;else{if(!(c[n>>2]|0))f=0;else{f=HK(e)|0;a[f>>0]=1;e=c[o>>2]|0}c[d+40>>2]=f;e=OG(e,q,0,d+20|0)|0;l6(f)}Qo(p,c[o>>2]|0,q,e,b,d);l6(e);g=gC(p)|0;while(1){if(!g)break;e=c[g+16>>2]|0;f=c[e+212>>2]|0;i=e+132|0;if(!f){e=c[(c[e+112>>2]|0)+8>>2]|0;if(e|0){o=c[i>>2]|0;v=c[(c[e+16>>2]|0)+132>>2]|0;h[v>>3]=+h[o>>3];h[v+8>>3]=+h[o+8>>3]}}else{o=c[i>>2]|0;x=+h[e+32>>3];w=+h[o>>3]-x*.5;v=c[(c[f+16>>2]|0)+140>>2]|0;h[v+8>>3]=w;t=+h[e+40>>3];u=+h[o+8>>3]-t*.5;h[v+16>>3]=u;h[v+24>>3]=x+w;h[v+32>>3]=t+u}g=hC(p,g)|0}v=(c[(c[b+16>>2]|0)+140>>2]|0)+8|0;o=(c[(c[p+16>>2]|0)+140>>2]|0)+8|0;c[v>>2]=c[o>>2];c[v+4>>2]=c[o+4>>2];c[v+8>>2]=c[o+8>>2];c[v+12>>2]=c[o+12>>2];c[v+16>>2]=c[o+16>>2];c[v+20>>2]=c[o+20>>2];c[v+24>>2]=c[o+24>>2];c[v+28>>2]=c[o+28>>2];Ro(p,q);l6(q);if(a[195234]|0){v=c[15715]|0;c[r>>2]=HB(b)|0;z4(v,91035,r)|0}l=s;return}function Lo(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0.0;d=gC(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;if(a[e+118>>0]|0){k=c[(c[(c[e+212>>2]|0)+16>>2]|0)+140>>2]|0;j=+h[k+24>>3]-+h[k+8>>3];i=+h[k+32>>3]-+h[k+16>>3];m=j*.5;l=i*.5;g=m*72.0;f=l*72.0;k=c[e+132>>2]|0;h[k>>3]=m;h[k+8>>3]=l;h[e+32>>3]=j;h[e+40>>3]=i;h[e+96>>3]=g;h[e+88>>3]=g;h[e+80>>3]=i*72.0;e=c[(c[e+12>>2]|0)+44>>2]|0;h[e>>3]=g;h[e+8>>3]=f;i=-g;h[e+16>>3]=i;h[e+24>>3]=f;h[e+32>>3]=i;f=-f;h[e+40>>3]=f;h[e+48>>3]=g;h[e+56>>3]=f}d=hC(b,d)|0}return}function Mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0.0,n=0,o=0.0,p=0;i=a+16|0;j=c[(c[i>>2]|0)+140>>2]|0;f=+h[j+8>>3];g=+h[j+16>>3];j=(a|0)!=(b|0);a:do if(j){d=gC(a)|0;while(1){if(!d){a=1;break a}e=c[d+16>>2]|0;if((c[e+212>>2]|0)==(a|0)){e=c[e+132>>2]|0;h[e>>3]=f+ +h[e>>3];e=e+8|0;h[e>>3]=g+ +h[e>>3]}d=hC(a,d)|0}}else a=1;while(0);while(1){d=c[i>>2]|0;if((a|0)>(c[d+180>>2]|0))break;d=c[(c[d+184>>2]|0)+(a<<2)>>2]|0;if(j){e=c[(c[d+16>>2]|0)+140>>2]|0;p=e+8|0;n=e+16|0;l=e+24|0;e=e+32|0;o=g+ +h[n>>3];m=f+ +h[l>>3];k=g+ +h[e>>3];h[p>>3]=f+ +h[p>>3];h[n>>3]=o;h[l>>3]=m;h[e>>3]=k}Mo(d,b);a=a+1|0}return}function No(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0;b=a+16|0;a=c[b>>2]|0;d=c[a+140>>2]|0;g=+h[d+16>>3]*72.0;f=+h[d+24>>3]*72.0;e=+h[d+32>>3]*72.0;h[a+16>>3]=+h[d+8>>3]*72.0;h[a+24>>3]=g;h[a+32>>3]=f;h[a+40>>3]=e;a=1;while(1){d=c[b>>2]|0;if((a|0)>(c[d+180>>2]|0))break;No(c[(c[d+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}return}function Oo(e,f){e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+160|0;t=z+24|0;u=z+8|0;i=z;g=z+56|0;x=f+16|0;y=c[x>>2]|0;c[x>>2]=y+1;c[t>>2]=y;i2(g,91097,t)|0;if((d[195234]|0)>1){y=c[15715]|0;x=HB(e)|0;c[i>>2]=g;c[i+4>>2]=x;z4(y,91104,i)|0};c[t>>2]=c[4658];x=lB(91457,t,0)|0;RC(x,137786,280,1)|0;w=HK(56)|0;y=x+16|0;p=c[y>>2]|0;c[p+140>>2]=w;w=e+16|0;b[p+176>>1]=b[(c[w>>2]|0)+176>>1]|0;Xo(e,x,92808);Xo(e,x,93413);Xo(e,x,91503);p=f+4|0;q=t+16|0;r=t+8|0;s=t+24|0;k=0;o=1;while(1){g=c[w>>2]|0;if((o|0)>(c[g+180>>2]|0))break;c[t>>2]=c[332];c[t+4>>2]=c[333];c[t+8>>2]=c[334];c[t+12>>2]=c[335];c[t+16>>2]=c[336];c[t+20>>2]=c[337];c[t+24>>2]=c[338];c[t+28>>2]=c[339];i=c[(c[g+184>>2]|0)+(o<<2)>>2]|0;sK(i);j=Yo(x,HB(i)|0)|0;m=j+16|0;g=c[m>>2]|0;c[g+212>>2]=i;n=k+1|0;c[g+120>>2]=k;if(c[p>>2]|0)Zo(i,j,f,t);g=gC(i)|0;while(1){if(!g)break;c[(c[g+16>>2]|0)+164>>2]=j;g=hC(i,g)|0}g=c[m>>2]|0;if(a[g+119>>0]|0){m=c[g+132>>2]|0;h[m>>3]=(+h[t>>3]+ +h[q>>3])*.5;h[m+8>>3]=(+h[r>>3]+ +h[s>>3])*.5}k=n;o=o+1|0}m=gC(e)|0;while(1){if(!m)break;g=m+16|0;i=c[g>>2]|0;if(!(c[i+164>>2]|0)){j=i+212|0;t=c[j>>2]|0;if(t|0?(t|0)!=(c[(c[(c[w>>2]|0)+140>>2]|0)+48>>2]|0):0){v=18;break}c[j>>2]=e;if(!(a[i+118>>0]|0)){j=Yo(x,HB(m)|0)|0;i=c[g>>2]|0;c[i+164>>2]=j;j=c[j+16>>2]|0;c[j+120>>2]=k;h[j+32>>3]=+h[i+32>>3];h[j+40>>3]=+h[i+40>>3];h[j+88>>3]=+h[i+88>>3];h[j+96>>3]=+h[i+96>>3];h[j+80>>3]=+h[i+80>>3];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];g=a[i+119>>0]|0;if(g<<24>>24){f=c[i+132>>2]|0;t=c[j+132>>2]|0;h[t>>3]=+h[f>>3];h[t+8>>3]=+h[f+8>>3];a[j+119>>0]=g}c[(c[j+112>>2]|0)+8>>2]=m;g=k+1|0}else g=k}else g=k;m=hC(e,m)|0;k=g}if((v|0)==18){f=HB(m)|0;t=HB(e)|0;v=HB(c[(c[g>>2]|0)+212>>2]|0)|0;c[u>>2]=f;c[u+4>>2]=t;c[u+8>>2]=v;dA(1,91127,u)|0;Ca(187380,1)}n=gC(e)|0;while(1){if(!n)break;o=c[(c[n+16>>2]|0)+164>>2]|0;p=o+16|0;j=UA(e,n)|0;while(1){if(!j)break;g=c[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+164>>2]|0;if((g|0)!=(o|0)){if(g>>>0>o>>>0)m=fB(x,o,g,0,1)|0;else m=fB(x,g,o,0,1)|0;RC(m,137763,176,1)|0;i=c[j+16>>2]|0;v=c[m+16>>2]|0;h[v+136>>3]=+h[i+136>>3];h[v+128>>3]=+h[i+128>>3];g=c[(c[g+16>>2]|0)+112>>2]|0;i=g+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[(c[p>>2]|0)+112>>2]|0;u=i+4|0;c[u>>2]=(c[u>>2]|0)+1;if(!(c[v+172>>2]|0)){c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+1}_o(m,j)}j=WA(e,j)|0}n=hC(e,n)|0}g=c[(c[w>>2]|0)+140>>2]|0;i=c[g>>2]|0;if(i|0){j=HK((c[g+4>>2]<<4)+16|0)|0;c[c[(c[y>>2]|0)+140>>2]>>2]=j;g=0;while(1){if(!(c[i>>2]|0))break;n=c[(c[(c[i+4>>2]|0)+16>>2]|0)+164>>2]|0;if(n){$o(e,i);o=Yo(x,194052)|0;p=o+16|0;c[(c[p>>2]|0)+120>>2]=k;if(o>>>0>n>>>0)m=fB(x,n,o,0,1)|0;else m=fB(x,o,n,0,1)|0;RC(m,137763,176,1)|0;v=c[i>>2]|0;u=c[v+16>>2]|0;w=c[m+16>>2]|0;h[w+136>>3]=+h[u+136>>3];h[w+128>>3]=+h[u+128>>3];_o(m,v);v=c[(c[p>>2]|0)+112>>2]|0;w=v+4|0;c[w>>2]=(c[w>>2]|0)+1;w=c[(c[n+16>>2]|0)+112>>2]|0;u=w+4|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+1;c[j+4>>2]=o;h[j+8>>3]=+h[i+8>>3];c[j>>2]=m;g=g+1|0;j=j+16|0;k=k+1|0}i=i+16|0}c[(c[(c[y>>2]|0)+140>>2]|0)+4>>2]=g}l=z;return x|0}function Po(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;l=c[a+16>>2]|0;k=c[l+212>>2]|0;l=c[(c[l+112>>2]|0)+4>>2]|0;do if(l|0){j=HK((l<<4)+16|0)|0;f=Uo(a,b)|0;g=f+8|0;b=0;e=f;while(1){if(!(c[e>>2]|0))break;i=e+24|0;if(!(c[i>>2]|0))d=+h[g>>3]+6.283185307179586;else d=+h[e+32>>3];b=Vo(a,e,j,b,d)|0;e=i}if((b|0)==(l|0)){a=c[(c[k+16>>2]|0)+140>>2]|0;c[a>>2]=j;c[a+4>>2]=l;l6(f);break}else Aa(91043,91053,766,91062)}while(0);return k|0}function Qo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0;B=l;l=l+32|0;u=B+16|0;y=B;m=c[g+8>>2]|0;k=c[g+12>>2]|0;v=(c[g>>2]|0)==(f|0);z=(b|0)!=0;x=y+8|0;w=y+4|0;A=y+12|0;a:do if(z){n=c[(c[d>>2]|0)+16>>2]|0;j=+h[n+16>>3];m=~~(j+(j>=0.0?.5:-.5));c[y>>2]=m;j=+h[n+24>>3];g=~~(j+(j>=0.0?.5:-.5));c[w>>2]=g;j=+h[n+32>>3];k=~~(j+(j>=0.0?.5:-.5));c[x>>2]=k;j=+h[n+40>>3];n=~~(j+(j>=0.0?.5:-.5));c[A>>2]=n;if((b|0)>1){b=c[e>>2]|0;t=c[e+4>>2]|0;m=m+b|0;c[y>>2]=m;s=g+t|0;c[w>>2]=s;b=k+b|0;c[x>>2]=b;p=u+4|0;q=u+8|0;r=u+12|0;o=e;g=d;t=n+t|0;while(1){g=g+4|0;k=o+8|0;c[A>>2]=t;n=c[g>>2]|0;if(!n){p=0;break a}F=c[n+16>>2]|0;G=+h[F+16>>3];i=+h[F+24>>3];j=+h[F+32>>3];H=+h[F+40>>3];F=~~(H+(H>=0.0?.5:-.5));c[r>>2]=F;n=c[k>>2]|0;E=c[o+12>>2]|0;D=~~(G+(G>=0.0?.5:-.5))+n|0;c[u>>2]=D;C=~~(i+(i>=0.0?.5:-.5))+E|0;c[p>>2]=C;n=~~(j+(j>=0.0?.5:-.5))+n|0;c[q>>2]=n;E=F+E|0;c[r>>2]=E;D=c[((m|0)<(D|0)?y:u)>>2]|0;c[y>>2]=D;C=c[((s|0)<(C|0)?y:u)+4>>2]|0;c[w>>2]=C;n=c[((b|0)>(n|0)?y:u)+8>>2]|0;c[x>>2]=n;o=k;t=c[((t|0)>(E|0)?y:u)+12>>2]|0;m=D;s=C;b=n}}else{p=0;s=g;t=n;b=k}}else{c[y>>2]=0;c[w>>2]=0;b=XO(f,m,54,3)|0;c[x>>2]=b;t=XO(f,k,36,3)|0;c[A>>2]=t;p=1;s=0;m=0}while(0);n=f+16|0;o=c[n>>2]|0;g=c[o+12>>2]|0;if(g){H=+h[g+24>>3];g=~~(H+(H>=0.0?.5:-.5))+(m-b)|0;if((g|0)>0){g=g>>>1;m=m-g|0;c[y>>2]=m;b=g+b|0;c[x>>2]=b;g=0}else g=0}else g=p;if(v|(g|0)!=0){k=0;g=o}else{k=XO(a,c[47198]|0,8,0)|0;g=c[n>>2]|0}q=k-m|0;p=~~(+(k-s|0)+ +h[g+56>>3]);c[y>>2]=0;c[w>>2]=0;o=q+k+b|0;c[x>>2]=o;n=~~(+(p+k|0)+ +h[g+88>>3]+ +(t|0));c[A>>2]=n;b:do if(z){g=e;c:while(1){b=d+4|0;k=c[d>>2]|0;if(!k)break b;if(!g){m=0;d=q;g=p}else{m=g+8|0;d=(c[g>>2]|0)+q|0;g=(c[g+4>>2]|0)+p|0}j=+(d|0)/72.0;i=+(g|0)/72.0;d=gC(k)|0;while(1){if(!d){d=b;g=m;continue c}F=c[(c[d+16>>2]|0)+132>>2]|0;h[F>>3]=j+ +h[F>>3];F=F+8|0;h[F>>3]=i+ +h[F>>3];d=hC(k,d)|0}}}while(0);F=c[(c[a+16>>2]|0)+140>>2]|0;h[F+8>>3]=0.0;h[F+16>>3]=0.0;h[F+24>>3]=+(o|0)/72.0;h[F+32>>3]=+(n|0)/72.0;l=B;return}function Ro(a,b){a=a|0;b=b|0;var d=0,e=0;while(1){d=c[b>>2]|0;if(!d)break;So(d);TC(d,137786)|0;b=b+4|0}b=c[c[(c[a+16>>2]|0)+140>>2]>>2]|0;if(b|0)l6(b);So(a);TC(a,137786)|0;d=gC(a)|0;while(1){if(!d)break;e=hC(a,d)|0;b=UA(a,d)|0;while(1){if(!b)break;l6(c[(c[b+16>>2]|0)+172>>2]|0);TC(b,137763)|0;b=WA(a,b)|0}To(d);d=e}pB(a)|0;return}function So(a){a=a|0;l6(c[(c[a+16>>2]|0)+140>>2]|0);return}function To(a){a=a|0;var b=0;b=a+16|0;l6(c[(c[b>>2]|0)+112>>2]|0);l6(c[(c[b>>2]|0)+132>>2]|0);TC(a,137750)|0;return}function Uo(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0;k=a+16|0;l=c[c[(c[k>>2]|0)+112>>2]>>2]|0;m=HK((l*24|0)+24|0)|0;i=0;j=ZA(b,a)|0;while(1){if(!j)break;g=c[j>>2]&3;e=c[((g|0)==2?j:j+-48|0)+40>>2]|0;if((e|0)==(a|0))e=c[((g|0)==3?j:j+48|0)+40>>2]|0;e=c[(c[e+16>>2]|0)+132>>2]|0;g=c[(c[k>>2]|0)+132>>2]|0;d=+h[e>>3]-+h[g>>3];f=+h[e+8>>3]-+h[g+8>>3];c[m+(i*24|0)>>2]=j;h[m+(i*24|0)+8>>3]=+O(+f,+d);h[m+(i*24|0)+16>>3]=d*d+f*f;i=i+1|0;j=_A(b,j,a)|0}if((i|0)!=(l|0))Aa(91076,91053,642,91085);k3(m,l,24,67);a:do if((l|0)>1){a=l+-1|0;e=0;b:while(1){if((e|0)>=(a|0))break a;f=+h[m+(e*24|0)+8>>3];g=e+1|0;j=g;while(1){i=m+(j*24|0)+8|0;if((j|0)>=(l|0))break;if(!(+h[i>>3]==f))break;j=j+1|0}if((j|0)==(g|0)){e=g;continue}if((j|0)==(l|0))d=3.141592653589793;else d=+h[i>>3];d=(d-f)/+(j-e|0);d=d>.03490658503988659?.03490658503988659:d;f=0.0;while(1){if((e|0)>=(j|0))continue b;k=m+(e*24|0)+8|0;h[k>>3]=f+ +h[k>>3];f=d+f;e=e+1|0}}}while(0);return m|0}function Vo(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0,q=0;k=c[d>>2]|0;n=c[k+16>>2]|0;m=b[n+168>>1]|0;o=m<<16>>16;j=c[k>>2]&3;i=c[((j|0)==2?k:k+-48|0)+40>>2]|0;if((i|0)==(a|0))i=c[((j|0)==3?k:k+48|0)+40>>2]|0;p=+h[d+8>>3];g=(g-p)/+(m<<16>>16);g=g>.03490658503988659?.03490658503988659:g;q=i>>>0>a>>>0;m=o+f|0;l=q?g:-g;d=q?1:-1;k=0;j=c[n+172>>2]|0;i=q?f:m+-1|0;g=q?p:p+ +(o+-1|0)*g;while(1){if((k|0)>=(o|0))break;q=c[j>>2]|0;c[e+(i<<4)>>2]=q;f=c[q>>2]&3;n=(f|0)==3?q:q+48|0;c[e+(i<<4)+4>>2]=c[((c[(c[(c[n+40>>2]|0)+16>>2]|0)+164>>2]|0)==(a|0)?n:(f|0)==2?q:q+-48|0)+40>>2];h[e+(i<<4)+8>>3]=g;k=k+1|0;j=j+4|0;i=i+d|0;g=l+g}return m|0}function Wo(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c>d))if(!(c>3];c=+h[b+16>>3];if(d>c)a=1;else a=(d>31}else a=-1;else a=1;return a|0}function Xo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=DA(a,0,c,0)|0;do if(d|0){a=OA(a,d)|0;d=DA(b,0,c,0)|0;if(!d){DA(b,0,c,a)|0;break}else{HA(b,d,a)|0;break}}while(0);return}function Yo(a,b){a=a|0;b=b|0;var d=0,f=0;b=qC(a,b,1)|0;RC(b,137750,304,1)|0;f=HK(32)|0;d=b+16|0;c[(c[d>>2]|0)+112>>2]=f;a=IK((e[(c[a+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[d>>2]|0)+132>>2]=a;return b|0}function Zo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;n=q+56|0;m=q+32|0;o=q;p=q+64|0;i=c[e+4>>2]|0;k=OA(b,i)|0;do if(a[k>>0]|0){if((c[e>>2]|0)!=(b|0)){e=OA(OD(b)|0,i)|0;if((e|0)==(k|0))break;if(!(f2(k,e)|0))break}a[p>>0]=0;e=o+8|0;i=o+16|0;j=o+24|0;c[m>>2]=o;c[m+4>>2]=e;c[m+8>>2]=i;c[m+12>>2]=j;c[m+16>>2]=p;if((q4(k,91238,m)|0)<=3){c[n>>2]=HB(b)|0;c[n+4>>2]=k;dA(0,91256,n)|0;break}g=+h[23314];if(g>0.0){h[o>>3]=+h[o>>3]/g;h[e>>3]=+h[e>>3]/g;h[i>>3]=+h[i>>3]/g;h[j>>3]=+h[j>>3]/g}p=a[p>>0]|0;a[(c[d+16>>2]|0)+119>>0]=p<<24>>24==33?3:p<<24>>24==63?2:1;c[f>>2]=c[o>>2];c[f+4>>2]=c[o+4>>2];c[f+8>>2]=c[o+8>>2];c[f+12>>2]=c[o+12>>2];c[f+16>>2]=c[o+16>>2];c[f+20>>2]=c[o+20>>2];c[f+24>>2]=c[o+24>>2];c[f+28>>2]=c[o+28>>2]}while(0);l=q;return}function _o(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;f=a+16|0;g=c[f>>2]|0;e=c[g+172>>2]|0;g=b[g+168>>1]|0;a=(g<<2)+4|0;if(!e)a=IK(a)|0;else a=KK(e,a)|0;c[a+(g<<2)>>2]=d;d=c[f>>2]|0;c[d+172>>2]=a;d=d+168|0;b[d>>1]=(b[d>>1]|0)+1<<16>>16;return}function $o(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+48|0;h=i+24|0;g=i;e=c[b>>2]|0;d=c[e>>2]&3;f=c[((d|0)==2?e:e+-48|0)+40>>2]|0;d=c[((d|0)==3?e:e+48|0)+40>>2]|0;b=D3(HB(a)|0)|0;j=D3(HB(f)|0)|0;j=(b+8+j+(D3(HB(d)|0)|0)|0)>999;b=HB(a)|0;if(j){d=HB(d)|0;j=HB(f)|0;h=(c[e>>2]|0)>>>4;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=j;j=g+16|0;c[j>>2]=h;c[j+4>>2]=0;i2(194052,91196,g)|0}else{d=c[(c[d+16>>2]|0)+120>>2]|0;j=c[(c[f+16>>2]|0)+120>>2]|0;g=(c[e>>2]|0)>>>4;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=j;j=h+16|0;c[j>>2]=g;c[j+4>>2]=0;i2(194052,91215,h)|0}l=i;return}function ap(a){a=a|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0;j=4;i=k6(40)|0;c[i>>2]=0;g=+h[23314];o=0;f=+da(1,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,i|0,j|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)!=1){h[23314]=f;o=0;$(102,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,i|0,j|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)!=1){i=x6(187380,1,i|0,j|0)|0;j=D;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,i|0,j|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)!=1)d=0;else d=D}else d=D}else d=D;while(1){if(d|0)break;o=0;$(103,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,i|0,j|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;continue}o=0;la(22,a|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,i|0,j|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;continue}if(b[(c[a+16>>2]|0)+136>>1]&14){o=0;$(104,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,i|0,j|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;continue}}o=0;ha(22,a|0,0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,i|0,j|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1)d=D;else{k=12;break}}if((k|0)==12)h[23314]=g;l6(i|0);return}function bp(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;e=a+16|0;f=b[(c[e>>2]|0)+136>>1]&14;d=f&65535;if((f&65535)>8){if(f<<16>>16==12){if(Rm(a,25,10)|0){c[47180]=2;h=5}}else h=5;do if((h|0)==5)if(!(b[(c[e>>2]|0)+136>>1]&1)){Tm(a,d)|0;break}else{dA(0,91299,g)|0;d=2;break}while(0);c[47180]=0}if((c[47185]|0)<1)Tm(a,d)|0;l=i;return}function cp(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;e=l;l=l+16|0;f=c[5180]|0;c[46512]=c[f>>2];c[46513]=c[f+4>>2];c[46515]=c[f+8>>2];c[46517]=c[f+12>>2];h[23264]=0.0;h[23259]=+h[f+16>>3];h[23260]=+h[f+24>>3];c[46516]=XO(a,DA(a,0,91362,0)|0,600,0)|0;b=+YO(a,DA(a,0,91503,0)|0,.3,0.0);h[23261]=b;f=c[5180]|0;h[f+32>>3]=b;b=+h[f+40>>3];if(b==-1.0)b=+YO(a,DA(a,0,91370,0)|0,-1.0,0.0);h[23262]=b;c[46514]=1;f=jm(a,2,186056)|0;c[46526]=f;if(!f){dA(0,91373,e)|0;c[46514]=2}c[46542]=(S(c[46516]|0,c[46517]|0)|0)/100|0;d=+h[23261];h[23266]=d*d;if(c[46512]|0){b=+h[23264];if(b<=0.0){b=d*3.0;h[23264]=b}h[23265]=b*b}l=e;return}function dp(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0;j=l;l=l+16|0;d=j;g=c[c[(c[a+16>>2]|0)+140>>2]>>2]|0;i=ep(a,b)|0;fp(d,a,g);e=+h[d>>3];f=+h[d+8>>3];a:do if(!(c[46512]|0)){b=0;while(1){if((b|0)>=(c[46543]|0))break a;ip(a,+gp(b),g);b=b+1|0}}else{d=Hv(qB(a)|0)|0;Mv(d,qB(a)|0);b=0;while(1){if((b|0)>=(c[46543]|0))break;hp(a,+gp(b),g,d);b=b+1|0}Ov(d)}while(0);b:do if(e!=0.0|f!=0.0){b=gC(a)|0;while(1){if(!b)break b;g=c[(c[b+16>>2]|0)+132>>2]|0;h[g>>3]=e+ +h[g>>3];g=g+8|0;h[g>>3]=f+ +h[g>>3];b=hC(a,b)|0}}while(0);if(i|0)jp();l=j;return}function ep(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0;if(+h[23262]==-1.0){i=qB(a)|0;d=+h[23261];h[23262]=+h[23260]*d*+G(+(+(i|0)))/5.0;i=1}else{i=0;d=+h[23261]}g=c[46542]|0;h[b+8>>3]=+gp(g);h[b+16>>3]=d;h[b+24>>3]=+h[23259];e=c[46516]|0;a=e-g|0;c[b>>2]=a;f=c[46515]|0;do if((f|0)>-1){if((f|0)<=(g|0)){c[46543]=f;a=0;j=10;break}if((f|0)<=(e|0)){c[46543]=g;a=f-g|0;j=10}}else{c[46543]=g;j=10}while(0);if((j|0)==10)c[b+32>>2]=a;return i|0}function fp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;w=qB(d)|0;x=c[(c[(c[d+16>>2]|0)+140>>2]|0)+4>>2]|0;u=gC(d)|0;v=0;n=0;f=0;g=0;o=0;while(1){l=+(f|0);k=+(n|0);y=(v|0)!=0;if(!u)break;p=c[u+16>>2]|0;if(!(a[p+119>>0]|0))p=v;else{p=c[p+132>>2]|0;j=+h[p>>3];i=+h[p+8>>3];if(y){t=+(g|0);s=+(o|0);o=~~(i>s?i:s);n=~~(jt?j:t)}else{g=~~j;f=~~i;o=f;n=g}p=v+1|0}u=hC(d,u)|0;v=p}t=+h[23261]*(+G(+(+(w-x|0)))+1.0)*.5*1.2;h[23268]=t;h[23267]=t;if((v|0)!=1)if((v|0)>1){r=+(g+n|0)*.5;s=+(o+f|0)*.5;q=+(g-n|0)*1.2;k=+(o-f|0)*1.2;l=t*4.0*t;m=q*k/l;i=q*.5;j=k*.5;do if(!(m>=1.0)){if(m>0.0){j=+G(+m)*2.0;i=q/j;h[23267]=i;j=k/j;A=19;break}if(q>0.0){h[23267]=i;j=l/q*.5;A=19;break}if(k>0.0){i=l/k*.5;h[23267]=i;A=19}else{j=t;i=t}}else{h[23267]=i;A=19}while(0);if((A|0)==19)h[23268]=j;q=+O(+j,+i);t=i/+I(+q);h[23267]=t;i=j/+J(+q);h[23268]=i;j=t}else{r=0.0;s=0.0;j=t;i=t}else{r=k;s=l;j=t;i=t}h[23269]=j*j;h[23270]=i*i;if((c[46526]|0)==2)f=c[46514]|0;else{f=e4()|0;f=(Ya(0)|0)^f}W4(f);a:do if(!e){e=gC(d)|0;if(!y)while(1){if(!e)break a;t=+h[23267];t=t*(+S4()*2.0+-1.0);A=e+16|0;h[c[(c[A>>2]|0)+132>>2]>>3]=t;t=+h[23268];t=t*(+S4()*2.0+-1.0);h[(c[(c[A>>2]|0)+132>>2]|0)+8>>3]=t;e=hC(d,e)|0}while(1){if(!e)break a;f=e+16|0;g=c[f>>2]|0;if(!(a[g+119>>0]|0)){t=+h[23267];t=t*(+S4()*2.0+-1.0);h[c[(c[f>>2]|0)+132>>2]>>3]=t;t=+h[23268];t=t*(+S4()*2.0+-1.0);h[(c[(c[f>>2]|0)+132>>2]|0)+8>>3]=t}else{A=c[g+132>>2]|0;h[A>>3]=+h[A>>3]-r;A=A+8|0;h[A>>3]=+h[A>>3]-s}e=hC(d,e)|0}}else{while(1){if(!(c[e>>2]|0))break;w=e+8|0;t=r+ +h[23267]*+I(+(+h[w>>3]));y=c[(c[e+4>>2]|0)+16>>2]|0;x=c[y+132>>2]|0;h[x>>3]=t;h[x+8>>3]=s+ +h[23268]*+J(+(+h[w>>3]));a[y+119>>0]=1;e=e+16|0}m=r*.1;q=s*.1;u=gC(d)|0;while(1){if(!u)break a;p=u+16|0;e=c[p>>2]|0;if(!((c[(c[e+112>>2]|0)+8>>2]|0)==0?!(c[e+212>>2]|0):0))A=31;do if((A|0)==31){A=0;if(a[e+119>>0]|0){y=c[e+132>>2]|0;h[y>>3]=+h[y>>3]-r;y=y+8|0;h[y>>3]=+h[y>>3]-s;break}o=ZA(d,u)|0;n=0;j=0.0;i=0.0;while(1){if(!o)break;g=c[o>>2]&3;e=(g|0)==2?o:o+-48|0;f=c[e+40>>2]|0;g=(g|0)==3?o:o+48|0;if((f|0)!=(c[g+40>>2]|0)?(z=c[(c[((f|0)==(u|0)?g:e)+40>>2]|0)+16>>2]|0,(a[z+119>>0]|0)!=0):0){e=n+1|0;y=c[z+132>>2]|0;l=+h[y+8>>3];k=+h[y>>3];if(!n){j=k;i=l}else{B=+(n|0);t=+(e|0);j=(j*B+k)/t;i=(i*B+l)/t}}else e=n;o=_A(d,o,u)|0;n=e}do if((n|0)<=1)if((n|0)==1){f=c[p>>2]|0;e=c[f+132>>2]|0;h[e>>3]=m+j*.98;i=q+i*.9;break}else{i=+S4()*6.283185307179586;B=+S4()*.9;t=B*+h[23267]*+I(+i);f=c[p>>2]|0;e=c[f+132>>2]|0;h[e>>3]=t;i=B*+h[23268]*+J(+i);break}else{f=c[p>>2]|0;e=c[f+132>>2]|0;h[e>>3]=j}while(0);h[e+8>>3]=i;a[f+119>>0]=1}while(0);u=hC(d,u)|0}}while(0);h[b>>3]=r;h[b+8>>3]=s;return}function gp(a){a=a|0;var b=0;b=c[46516]|0;return +(+h[23262]*+(b-a|0)/+(b|0))}function hp(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0;if(!(b<=0.0)){Nv(e);f=gC(a)|0;while(1){if(!f)break;i=c[f+16>>2]|0;g=(c[i+112>>2]|0)+16|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;i=c[i+132>>2]|0;j=+h[23264];g=~~+E(+(+h[i>>3]/j));Qv(e,g,~~+E(+(+h[i+8>>3]/j)),f);f=hC(a,f)|0}g=gC(a)|0;while(1){if(!g)break;f=UA(a,g)|0;while(1){if(!f)break;i=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((g|0)!=(i|0))lp(g,i,f);f=WA(a,f)|0}g=hC(a,g)|0}Sv(e,26);mp(a,b,d)}return}function ip(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0;if(!(b<=0.0)){e=gC(a)|0;while(1){if(!e)break;g=(c[(c[e+16>>2]|0)+112>>2]|0)+16|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;e=hC(a,e)|0}g=gC(a)|0;while(1){if(!g)break;else e=g;while(1){e=hC(a,e)|0;if(!e)break;kp(g,e)}e=UA(a,g)|0;while(1){if(!e)break;f=c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;if((g|0)!=(f|0))lp(g,f,e);e=WA(a,e)|0}g=hC(a,g)|0}mp(a,b,d)}return}function jp(){h[23262]=-1.0;return}function kp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0;g=c[(c[b+16>>2]|0)+132>>2]|0;f=c[(c[a+16>>2]|0)+132>>2]|0;e=+h[g>>3]-+h[f>>3];d=+h[g+8>>3]-+h[f+8>>3];np(a,b,e,d,e*e+d*d);return}function lp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0;j=b+16|0;k=c[(c[j>>2]|0)+132>>2]|0;b=a+16|0;a=c[(c[b>>2]|0)+132>>2]|0;e=+h[k>>3]-+h[a>>3];f=+h[k+8>>3]-+h[a+8>>3];g=e;i=f;e=e*e;f=f*f;while(1){e=f+e;if(!(e==0.0))break;e=+(5-((U4()|0)%10|0)|0);f=+(5-((U4()|0)%10|0)|0);g=e;i=f;e=e*e;f=f*f}f=+G(+e);k=(c[46513]|0)==0;d=c[d+16>>2]|0;e=+h[d+136>>3];f=+h[d+128>>3]*(k?f:f-e)/(k?e:f);g=g*f;k=c[(c[j>>2]|0)+112>>2]|0;d=k+16|0;h[d>>3]=+h[d>>3]-g;i=i*f;k=k+24|0;h[k>>3]=+h[k>>3]-i;k=c[(c[b>>2]|0)+112>>2]|0;d=k+16|0;h[d>>3]=g+ +h[d>>3];k=k+24|0;h[k>>3]=i+ +h[k>>3];return}function mp(b,d,e){b=b|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0.0;o=d*d;n=(e|0)==0;l=gC(b)|0;while(1){if(!l)break;k=c[l+16>>2]|0;if(!(a[k+119>>0]&2)){e=c[k+112>>2]|0;f=+h[e+16>>3];g=+h[e+24>>3];i=f*f+g*g;j=c[k+132>>2]|0;m=j+8|0;if(!(i>3]+f;f=+h[m>>3]+g;do if(!n){g=+G(+(i*i/+h[23269]+f*f/+h[23270]));if((c[e+8>>2]|0)==0?(c[k+212>>2]|0)==0:0){h[j>>3]=i/g;f=f/g;break}if(!(g>=1.0)){h[j>>3]=i;break}else{h[j>>3]=i*.95/g;f=f*.95/g;break}}else h[j>>3]=i;while(0);h[m>>3]=f}l=hC(b,l)|0}return}function np(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=+f;var g=0,i=0;while(1){if(!(f==0.0))break;f=+(5-((U4()|0)%10|0)|0);e=+(5-((U4()|0)%10|0)|0);d=f;f=f*f+e*e}if(c[46513]|0)f=f*+G(+f);f=+h[23266]/f;i=c[a+16>>2]|0;g=c[i+112>>2]|0;a=c[b+16>>2]|0;b=c[a+112>>2]|0;if(((c[g+8>>2]|0)==0?(c[i+212>>2]|0)==0:0)?(c[b+8>>2]|0)==0:0)f=(c[a+212>>2]|0)==0?f*10.0:f;d=d*f;i=b+16|0;h[i>>3]=+h[i>>3]+d;e=e*f;i=b+24|0;h[i>>3]=e+ +h[i>>3];i=g+16|0;h[i>>3]=+h[i>>3]-d;i=g+24|0;h[i>>3]=+h[i>>3]-e;return}function op(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=c[b+8>>2]|0;g=c[b>>2]|0;e=c[b+4>>2]|0;b=f;while(1){if(!b)break;a=f;while(1){if(!a)break;if((b|0)!=(a|0))kp(c[b>>2]|0,c[a>>2]|0);a=c[a+4>>2]|0}b=c[b+4>>2]|0}h=g+-1|0;a=e+-1|0;pp(d,h,a,f);pp(d,h,e,f);b=e+1|0;pp(d,h,b,f);pp(d,g,a,f);pp(d,g,b,f);g=g+1|0;pp(d,g,a,f);pp(d,g,e,f);pp(d,g,b,f);return 0}function pp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0;a=Tv(a,b,d)|0;if((e|0)!=0&(a|0)!=0){k=a+8|0;do{d=c[e>>2]|0;j=d+16|0;a=k;while(1){a=c[a>>2]|0;if(!a)break;b=c[a>>2]|0;m=c[(c[b+16>>2]|0)+132>>2]|0;l=c[(c[j>>2]|0)+132>>2]|0;f=+h[m>>3]-+h[l>>3];g=+h[m+8>>3]-+h[l+8>>3];i=f*f+g*g;if(i<+h[23265])np(d,b,f,g,i);a=a+4|0}e=c[e+4>>2]|0}while((e|0)!=0)}return}function qp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h;e=NA(b,92808)|0;if(a[195234]|0)_3(91417,8,1,c[15715]|0)|0;if(!((e|0)!=0?(a[e>>0]|0)!=0:0))e=91426;f=F3(e,58)|0;do if(!f)f=0;else{if((f|0)!=(e|0)?((a[e>>0]|0)+-48|0)>>>0>=10:0){f=0;break}i=d6(e)|0;e=f+1|0;f=(i|0)>0?i:0}while(0);if(a[195234]|0){i=c[15715]|0;c[g>>2]=f;c[g+4>>2]=e;z4(i,91434,g)|0}if(!((f|0)!=0?!(rp(b,d,f)|0):0))kr(b,e)|0;l=h;return}function rp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;t=l;l=l+64|0;r=t;j=t+40|0;s=qB(b)|0;k=rB(b)|0;ir(j,b);c[46884]=c[j>>2];c[46885]=c[j+4>>2];c[46886]=c[j+8>>2];if(a[187544]|0){g[46884]=+g[46884]/72.0;g[46885]=+g[46885]/72.0}f=sp(b)|0;a:do if(!f)f=0;else{j=r;i=j+40|0;do{c[j>>2]=c[d>>2];j=j+4|0;d=d+4|0}while((j|0)<(i|0));j=r+16|0;q=+h[j>>3];o=+(k|0);p=+(S(s+-1|0,s)|0);i=0;n=q;while(1){if(!((f|0)!=0&(i|0)<(e|0)))break a;tp(s,r);m=+h[170]*+h[23272];h[23273]=m;h[23274]=o*m*2.0/p;d=0;while(1){if((d|0)>=(c[46550]|0))break;m=+up(d);if(m<=0.0)break;f=vp(b,m)|0;if(!f){f=0;break}else d=d+1|0}m=q+n;h[j>>3]=m;i=i+1|0;n=m}}while(0);l=t;return f|0}function sp(a){a=a|0;var b=0,c=0,d=0,e=0;b=0;e=gC(a)|0;while(1){if(!e)break;else d=e;while(1){c=hC(a,d)|0;if(!c)break;d=c;b=(yp(e,c)|0)+b|0}e=hC(a,e)|0}return b|0}function tp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0;e=+h[b+16>>3];h[171]=e;c[344]=c[b>>2];f=+h[b+8>>3];h[23276]=f;c[46550]=c[b+32>>2];d=+h[b+24>>3];if(d>0.0)h[170]=d;h[23272]=e*e;if(f==0.0)h[23276]=e*+G(+(+(a|0)))/5.0;return}function up(a){a=a|0;var b=0;b=c[344]|0;return +(+h[23276]*+(b-a|0)/+(b|0))}function vp(b,d){b=b|0;d=+d;var e=0,f=0,g=0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0;e=gC(b)|0;while(1){if(!e)break;j=(c[(c[e+16>>2]|0)+112>>2]|0)+16|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;e=hC(b,e)|0}e=0;j=gC(b)|0;while(1){if(!j)break;else g=j;while(1){f=hC(b,g)|0;if(!f)break;g=f;e=(wp(j,f)|0)+e|0}f=UA(b,j)|0;while(1){if(!f)break;xp(j,c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0);f=WA(b,f)|0}j=hC(b,j)|0}a:do if(!e)e=0;else{n=d*d;g=gC(b)|0;while(1){if(!g)break a;f=c[g+16>>2]|0;if((a[f+119>>0]|0)!=3){j=c[f+112>>2]|0;l=+h[j+16>>3];i=+h[j+24>>3];m=l*l+i*i;f=c[f+132>>2]|0;k=+h[f>>3];if(m>3]=l+k;else{m=+G(+m);h[f>>3]=k+l*d/m;i=i*d/m}j=f+8|0;h[j>>3]=i+ +h[j>>3]}g=hC(b,g)|0}}while(0);return e|0}function wp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0;g=c[(c[b+16>>2]|0)+132>>2]|0;f=c[(c[a+16>>2]|0)+132>>2]|0;e=+h[g>>3]-+h[f>>3];d=+h[g+8>>3]-+h[f+8>>3];return Ap(a,b,e,d,e*e+d*d)|0}function xp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0.0,k=0.0,l=0,m=0;if(!(yp(a,b)|0)){i=c[b+16>>2]|0;m=c[i+132>>2]|0;f=c[a+16>>2]|0;l=c[f+132>>2]|0;e=+h[m>>3]-+h[l>>3];g=+h[m+8>>3]-+h[l+8>>3];j=+G(+(e*e+g*g));d=+zp(a);d=d+ +zp(b);k=j-d;d=k*k/(j*(+h[171]+d));e=e*d;b=c[i+112>>2]|0;a=b+16|0;h[a>>3]=+h[a>>3]-e;d=g*d;b=b+24|0;h[b>>3]=+h[b>>3]-d;b=c[f+112>>2]|0;a=b+16|0;h[a>>3]=e+ +h[a>>3];b=b+24|0;h[b>>3]=d+ +h[b>>3]}return}function yp(b,d){b=b|0;d=d|0;var e=0.0,f=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0;f=c[d+16>>2]|0;m=c[f+132>>2]|0;b=c[b+16>>2]|0;d=c[b+132>>2]|0;l=+h[m>>3]-+h[d>>3];e=+h[m+8>>3]-+h[d+8>>3];d=(a[187544]|0)!=0;k=+h[b+32>>3];i=+g[46884];j=+h[f+32>>3];if(!((l<0.0?-l:l)<=(d?k*.5+i:k*i*.5)+(d?i+j*.5:j*i*.5)))d=0;else{j=+h[b+40>>3];l=+g[46885];k=+h[f+40>>3];d=(e<0.0?-e:e)<=(d?j*.5+l:j*l*.5)+(d?l+k*.5:k*l*.5)}return d&1|0}function zp(b){b=b|0;var d=0.0,e=0.0,f=0.0,i=0;i=(a[187544]|0)!=0;b=c[b+16>>2]|0;f=+h[b+32>>3];e=+g[46884];e=i?f*.5+e:f*e*.5;f=+h[b+40>>3];d=+g[46885];d=i?f*.5+d:f*d*.5;return +(+G(+(e*e+d*d)))}function Ap(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=+f;var g=0,i=0;while(1){if(!(f==0.0))break;f=+(5-((U4()|0)%10|0)|0);e=+(5-((U4()|0)%10|0)|0);d=f;f=f*f+e*e}g=yp(a,b)|0;f=((g|0)==0?+h[23274]:+h[23273])/f;d=d*f;b=c[(c[b+16>>2]|0)+112>>2]|0;i=b+16|0;h[i>>3]=+h[i>>3]+d;f=e*f;b=b+24|0;h[b>>3]=f+ +h[b>>3];b=c[(c[a+16>>2]|0)+112>>2]|0;a=b+16|0;h[a>>3]=+h[a>>3]-d;b=b+24|0;h[b>>3]=+h[b>>3]-f;return g|0}function Bp(a){a=a|0;mQ(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[47184]=2;Cp(a);return}function Cp(a){a=a|0;var b=0,d=0,e=0,f=0;e=HK((qB(a)|0)<<2)|0;b=HK(((qB(a)|0)<<2)+4|0)|0;f=a+16|0;c[(c[f>>2]|0)+152>>2]=b;b=gC(a)|0;d=0;while(1){if(!b)break;Wl(b);c[(c[b+16>>2]|0)+112>>2]=e+(d<<2);c[(c[(c[f>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;b=hC(a,b)|0;d=d+1|0}d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;Dp(b);b=WA(a,b)|0}d=hC(a,d)|0}return}function Dp(a){a=a|0;var b=0.0;RC(a,137763,176,1)|0;rP(a)|0;b=+YO(a,c[47236]|0,1.0,0.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function Ep(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+4|0;j=m;c[k>>2]=c[4660];k=lB(91457,k,0)|0;RC(k,91465,280,1)|0;c[(c[a+16>>2]|0)+140>>2]=k;d=gC(a)|0;while(1){if(!d)break;e=d+16|0;if(!(c[c[(c[e>>2]|0)+112>>2]>>2]|0)){i=Fp(k,HB(d)|0,d)|0;c[c[(c[e>>2]|0)+112>>2]>>2]=i}d=hC(a,d)|0}e=gC(a)|0;while(1){if(!e)break;d=UA(a,e)|0;while(1){if(!d)break;g=c[d>>2]&3;f=c[c[(c[(c[((g|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;g=c[c[(c[(c[((g|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((f|0)!=(g|0))RC(fB(k,f,g,0,1)|0,137763,176,1)|0;d=WA(a,d)|0}e=hC(a,e)|0}i=BG(k,j,0)|0;e=0;while(1){if((e|0)>=(c[j>>2]|0))break;g=c[i+(e<<2)>>2]|0;d=gC(g)|0;while(1){if(!d)break;f=UA(a,c[c[(c[d+16>>2]|0)+112>>2]>>2]|0)|0;while(1){if(!f)break;h=c[c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((d|0)!=(h|0)){h=fB(k,d,h,0,1)|0;RC(h,137763,176,1)|0;jB(g,h,1)|0}f=WA(a,f)|0}d=hC(g,d)|0}e=e+1|0}d=gC(k)|0;while(1){if(!d)break;e=UA(k,d)|0;while(1){if(!e)break;a=HK(8)|0;c[(c[e+16>>2]|0)+120>>2]=a;e=WA(k,e)|0}d=hC(k,d)|0}c[b>>2]=c[j>>2];l=m;return i|0}function Fp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=qC(a,b,1)|0;RC(b,137750,304,1)|0;e=HK(40)|0;a=b+16|0;c[(c[a>>2]|0)+112>>2]=e;e=HK(c[47184]<<3)|0;a=c[a>>2]|0;c[a+132>>2]=e;e=c[d+16>>2]|0;h[a+88>>3]=+h[e+88>>3];h[a+96>>3]=+h[e+96>>3];h[a+80>>3]=+h[e+80>>3];c[c[a+112>>2]>>2]=d;return b|0}function Gp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+48|0;b=h+32|0;e=h;if(qB(a)|0){g=Ep(a,b)|0;f=c[b>>2]|0;b=c[g>>2]|0;if((f|0)==1){_w(b,a);Hp(c[g>>2]|0);lr(a)|0}else{d=c[b+60>>2]|0;iH(a,2,8,e)|0;b=0;while(1){if((b|0)>=(f|0))break;i=c[g+(b<<2)>>2]|0;_w(i,a);lr(i)|0;b=b+1|0}hH(f,g,d,e)|0;b=0;while(1){if((b|0)>=(f|0))break;Hp(c[g+(b<<2)>>2]|0);b=b+1|0}}l6(g)}l=h;return}function Hp(a){a=a|0;var b=0,d=0,e=0;b=gC(a)|0;while(1){if(!b)break;d=c[b+16>>2]|0;e=c[d+132>>2]|0;d=c[(c[(c[c[d+112>>2]>>2]|0)+16>>2]|0)+132>>2]|0;h[d>>3]=+h[e>>3];h[d+8>>3]=+h[e+8>>3];b=hC(a,b)|0}return}function Ip(a){a=a|0;if(qB(a)|0){Bp(a);Gp(a);l6(c[(c[(gC(a)|0)+16>>2]|0)+112>>2]|0);cn(a);rM(a)}return}function Jp(a){a=a|0;var b=0,d=0,e=0;b=gC(a)|0;if(b|0){e=a+16|0;Kp(c[(c[e>>2]|0)+140>>2]|0);while(1){if(!b)break;d=UA(a,b)|0;while(1){if(!d)break;WP(d);d=WA(a,d)|0}UP(b);b=hC(a,b)|0}l6(c[(c[e>>2]|0)+152>>2]|0);if((vC(a)|0)!=(a|0))XC(a,0,137786)}return}function Kp(a){a=a|0;var b=0,d=0;d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;l6(c[(c[b+16>>2]|0)+120>>2]|0);b=WA(a,b)|0}b=d+16|0;l6(c[(c[b>>2]|0)+112>>2]|0);l6(c[(c[b>>2]|0)+132>>2]|0);d=hC(a,d)|0}pB(a)|0;return}function Lp(b){b=b|0;var d=0,e=0.0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+112|0;k=r+40|0;m=r+16|0;q=r+100|0;n=r;i=r+88|0;o=r+56|0;Mp(b);j=(c[47184]|0)==2;d=j&1;if(qB(b)|0){p=Vp()|0;Np(b,p);Kq(b,m,0)|0;f=p+124|0;if(j&(c[m>>2]|0)==18){c[f>>2]=c[m+8>>2];h[p+144>>3]=+h[m+16>>3];ir(i,b);if(!(a[i+8>>0]|0)){h[n>>3]=.05555555555555555;e=.05555555555555555}else{e=+g[i+4>>2];h[n>>3]=+g[i>>2]/72.0;e=e/72.0}h[n+8>>3]=e;d=0}else c[f>>2]=-1;if(a[195234]|0)Xp(p);j=BG(b,q,0)|0;if((c[q>>2]|0)==1){c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];Op(b,p,k);if(d|0)Nq(b,m)|0;cn(b);d=0}else{iH(b,2,8,o)|0;c[o+12>>2]=1;i=(d|0)==0;f=0;while(1){d=c[q>>2]|0;if((f|0)>=(d|0))break;d=c[j+(f<<2)>>2]|0;IG(d)|0;c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];Op(d,p,k);if(!i)Nq(d,m)|0;mQ(d,2);cn(d);f=f+1|0}hH(d,j,b,o)|0;d=0}while(1){if((d|0)>=(c[q>>2]|0))break;tC(b,c[j+(d<<2)>>2]|0)|0;d=d+1|0}l6(j);Wp(p)}rM(b);l=r;return}function Mp(a){a=a|0;var d=0,f=0;mQ(a,2);d=XO(a,DA(a,0,91669,0)|0,2,2)|0;f=(XO(a,DA(a,0,91675,0)|0,d,2)|0)&65535;b[(c[(vC(a)|0)+16>>2]|0)+176>>1]=f;if((e[(c[(vC(a)|0)+16>>2]|0)+176>>1]|0)<10)f=b[(c[(vC(a)|0)+16>>2]|0)+176>>1]|0;else f=10;b[(c[(vC(a)|0)+16>>2]|0)+176>>1]=f;f=f&65535;c[47184]=f;b[(c[(vC(a)|0)+16>>2]|0)+178>>1]=(d|0)<(f|0)?d:f;Sp(a);return}function Np(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+8|0;d=g+12|0;e=b+108|0;c[d>>2]=c[e>>2];if((jm(a,2,d)|0)!=2)dA(0,91470,g)|0;c[e>>2]=c[d>>2];h[b+24>>3]=+YO(a,DA(a,0,91503,0)|0,-1.0,0.0);h[b>>3]=-+YO(a,DA(a,0,91505,0)|0,1.0001234,0.0);c[b+40>>2]=XO(a,DA(a,0,91520,0)|0,2147483647,0)|0;c[b+120>>2]=Qp(a,DA(a,0,91527,0)|0)|0;c[b+132>>2]=Rp(a,DA(a,0,91537,0)|0)|0;c[b+136>>2]=0;c[b+112>>2]=(cP(NA(a,91546)|0,0)|0)&255;c[b+128>>2]=(cP(NA(a,91555)|0,1)|0)&255;h[b+152>>3]=+YO(a,DA(a,0,91570,0)|0,0.0,-1797693134862315708145274.0e284);d=XO(a,DA(a,0,91579,0)|0,0,0)|0;a=b+160|0;c[a>>2]=d;if((d|0)>4){c[f>>2]=d;dA(0,91592,f)|0;c[a>>2]=0}l=g;return}function Op(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;f=q;n=q+32|0;j=q+28|0;g=q+24|0;p=q+20|0;o=q+16|0;c[g>>2]=0;c[p>>2]=0;c[o>>2]=0;i=b+136|0;e=c[47184]|0;if((c[i>>2]|0)==1)m=Hq(a,e,o)|0;else m=Hq(a,e,0)|0;do if((c[b+124>>2]|0)>-1)if((c[b+160>>2]|0)>0){c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];k=Gq(a,f,g,p)|0;break}else{c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];k=Gq(a,f,0,0)|0;break}else k=0;while(0);e=Pp(a)|0;c[n>>2]=e;switch(c[i>>2]|0){case 1:case 0:{tq(c[47184]|0,m,c[o>>2]|0,b,0,k,e,c[g>>2]|0,c[p>>2]|0,j);break}case 5:{Fq(c[47184]|0,m,e,j);break}case 4:{e=c[o>>2]|0;if(!e)e=Nw(m)|0;else e=xw(e,0)|0;c[o>>2]=e;Aq(c[47184]|0,m,e,n,1,200,.001,j);break}default:{}}e=gC(a)|0;while(1){if(!e)break;d=c[47184]|0;g=c[e+16>>2]|0;b=(c[n>>2]|0)+((S(c[g+120>>2]|0,d)|0)<<3)|0;g=g+132|0;f=0;while(1){if((f|0)>=(d|0))break;h[(c[g>>2]|0)+(f<<3)>>3]=+h[b+(f<<3)>>3];f=f+1|0}e=hC(a,e)|0}l6(k);l6(c[n>>2]|0);nw(m);e=c[o>>2]|0;if(e|0)nw(e);e=c[p>>2]|0;if(e|0)l6(e);l=q;return}function Pp(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=c[47184]|0;j=HK(S(j<<3,qB(b)|0)|0)|0;a:do if(DA(b,1,102924,0)|0){f=gC(b)|0;while(1){if(!f)break a;d=c[f+16>>2]|0;b:do if(a[d+119>>0]|0){g=c[47184]|0;i=d+132|0;e=S(g,c[d+120>>2]|0)|0;d=0;while(1){if((d|0)>=(g|0))break b;h[j+(e+d<<3)>>3]=+h[(c[i>>2]|0)+(d<<3)>>3];d=d+1|0}}while(0);f=hC(b,f)|0}}while(0);return j|0}function Qp(b,c){b=b|0;c=c|0;do if(c){b=OA(b,c)|0;c=a[b>>0]|0;if((c+-48|0)>>>0<10){b=d6(b)|0;b=(b|0)<5?b:0;break}if(P2(c)|0)if(C3(b,91631)|0)if(C3(b,91640)|0)if(C3(b,136010)|0)if(!(C3(b,91651)|0))b=3;else{b=(C3(b,91662)|0)==0;b=b?4:0}else b=0;else b=1;else b=2;else b=0}else b=0;while(0);return b|0}function Rp(b,c){b=b|0;c=c|0;do if(c){b=OA(b,c)|0;c=a[b>>0]|0;if((c+-48|0)>>>0<10){b=d6(b)|0;b=b>>>0<3?b:1;break}if(P2(c)|0)if((C3(b,136010)|0)!=0?(C3(b,137609)|0)!=0:0)if(((C3(b,100031)|0)!=0?(C3(b,107953)|0)!=0:0)?(C3(b,107958)|0)!=0:0){b=(C3(b,91626)|0)==0;b=b?2:1}else b=1;else b=0;else b=1}else b=1;while(0);return b|0}function Sp(a){a=a|0;var b=0,c=0;b=gC(a)|0;while(1){if(!b)break;Wl(b);b=hC(a,b)|0}c=gC(a)|0;while(1){if(!c)break;b=UA(a,c)|0;while(1){if(!b)break;Tp(b);b=WA(a,b)|0}c=hC(a,c)|0}return}function Tp(a){a=a|0;RC(a,137763,176,1)|0;rP(a)|0;return}function Up(a){a=a|0;var b=0,c=0;c=gC(a)|0;while(1){if(!c)break;b=UA(a,c)|0;while(1){if(!b)break;WP(b);b=WA(a,b)|0}UP(c);c=hC(a,c)|0}return}function Vp(){var a=0,b=0;a=IK(168)|0;h[a>>3]=-1.0001234;h[a+8>>3]=1.0;c[a+16>>2]=1;h[a+24>>3]=-1.0;h[a+32>>3]=.2;c[a+40>>2]=0;c[a+44>>2]=4;c[a+48>>2]=1;c[a+52>>2]=45;c[a+56>>2]=10;h[a+64>>3]=.6;h[a+72>>3]=.001;c[a+80>>2]=500;h[a+88>>3]=.9;h[a+96>>3]=.1;c[a+104>>2]=1;c[a+108>>2]=123;b=a+112|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+128>>2]=1;c[a+132>>2]=3;c[a+136>>2]=0;h[a+144>>3]=-4.0;h[a+152>>3]=0.0;c[a+160>>2]=0;return a|0}function Wp(a){a=a|0;l6(a);return}function Xp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;b=l;l=l+176|0;d=b+160|0;f=b+152|0;g=b+128|0;k=b+112|0;j=b+88|0;m=b+64|0;n=b+56|0;o=b+40|0;q=b+24|0;p=b+16|0;r=b;e=c[15715]|0;_3(91679,27,1,e)|0;i=+h[a+8>>3];h[r>>3]=+h[a>>3];h[r+8>>3]=i;z4(e,91707,r)|0;r=c[a+108>>2]|0;c[p>>2]=c[a+16>>2];c[p+4>>2]=r;z4(e,91758,p)|0;i=+h[a+32>>3];h[q>>3]=+h[a+24>>3];h[q+8>>3]=i;z4(e,91785,q)|0;q=c[a+44>>2]|0;p=c[a+48>>2]|0;c[o>>2]=c[a+40>>2];c[o+4>>2]=q;c[o+8>>2]=p;z4(e,91808,o)|0;o=c[a+56>>2]|0;c[n>>2]=c[a+52>>2];c[n+4>>2]=o;z4(e,91859,n)|0;i=+h[a+72>>3];n=c[a+80>>2]|0;h[m>>3]=+h[a+64>>3];h[m+8>>3]=i;c[m+16>>2]=n;z4(e,91892,m)|0;i=+h[a+96>>3];m=c[a+104>>2]|0;h[j>>3]=+h[a+88>>3];h[j+8>>3]=i;c[j+16>>2]=m;z4(e,91950,j)|0;j=c[a+116>>2]|0;i=+h[a+152>>3];c[k>>2]=c[a+112>>2];c[k+4>>2]=j;h[k+8>>3]=i;z4(e,91996,k)|0;k=c[a+124>>2]|0;j=c[a+128>>2]|0;i=+h[a+144>>3];c[g>>2]=c[17844+(c[a+120>>2]<<2)>>2];c[g+4>>2]=k;c[g+8>>2]=j;h[g+16>>3]=i;z4(e,92049,g)|0;g=c[17888+(c[a+136>>2]<<2)>>2]|0;c[f>>2]=c[17872+(c[a+132>>2]<<2)>>2];c[f+4>>2]=g;z4(e,92114,f)|0;c[d>>2]=c[a+160>>2];z4(e,92144,d)|0;l=b;return}function Yp(a){a=a|0;l6(a);return}function Zp(a){a=a|0;var b=0;b=IK(184)|0;c[b>>2]=a;c[b+176>>2]=0;return b|0}function _p(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0;e=c[a>>2]|0;h[a+8+(e<<3)>>3]=b;f=a+176|0;g=c[a>>2]|0;i=g+1|0;d=g+-1|0;j=(g|0)>19;a:do switch(c[f>>2]|0){case 0:{if((g|0)==20)c[f>>2]=-1;else{c[f>>2]=1;d=j?20:i}c[a>>2]=d;break}case 1:if((g|0)<20?+h[a+8+(e+-1<<3)>>3]>b:0){c[a>>2]=j?20:i;break a}else{c[a>>2]=d;c[f>>2]=-1;break a}default:if((g|0)>0?+h[a+8+(e+1<<3)>>3]>b:0){c[a>>2]=d;break a}else{c[a>>2]=i;c[f>>2]=1;break a}}while(0);return}function $p(a){a=a|0;return c[a>>2]|0}function aq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;o=c[a+20>>2]|0;p=c[a+24>>2]|0;m=c[a>>2]|0;n=c[o+(m<<2)>>2]|0;if(!n)e=1.0;else{a=0;e=0.0;a:while(1){if((a|0)>=(m|0))break;j=a+1|0;k=c[o+(j<<2)>>2]|0;l=S(a,b)|0;i=c[o+(a<<2)>>2]|0;while(1){if((i|0)>=(k|0)){a=j;continue a}g=p+(i<<2)|0;a=0;f=0.0;while(1){if((a|0)>=(b|0))break;q=+h[d+(a+l<<3)>>3]-+h[d+((S(c[g>>2]|0,b)|0)<<3)>>3];a=a+1|0;f=f+q*q}i=i+1|0;e=e+ +G(+f)}}e=e/+(n|0)}return +e}function bq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=b+10|0;if((c[d>>2]|0)<=(b|0)){c[d>>2]=e;c[a>>2]=KK(c[a>>2]|0,e<<3)|0}return}function cq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=b+10|0;if((c[d>>2]|0)<=(b|0)){c[d>>2]=e;c[a>>2]=KK(c[a>>2]|0,e<<2)|0}return}function dq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;i=S(d,b)|0;b=S(c,b)|0;d=0;while(1){if((d|0)==2)break;h[j+(d<<3)>>3]=+h[a+(d+i<<3)>>3]-+h[a+(d+b<<3)>>3];d=d+1|0}g=+h[j>>3];f=+h[j+8>>3];do if(!((g>=0.0?g:-g)<=(f>=0.0?f:-f)*1.0e-05)){e=+N(+(f/g));if(g>0.0){if(!(f<0.0))break;e=e+6.283185307179586;break}else{if(!(g<0.0))break;e=e+3.141592653589793;break}}else e=f>0.0?1.5707963267948966:4.71238898038469;while(0);l=k;return +e}function eq(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3];c=+h[b>>3];return (d>c?1:(d>31)|0}function fq(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0.0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0,P=0,Q=0,R=0.0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;$=l;l=l+80|0;_=$+32|0;Z=$;q=+h[e>>3];n=e+24|0;o=+h[n>>3];p=e+32|0;k=+h[p>>3];R=+h[e+72>>3];T=c[e+80>>2]|0;U=+h[e+88>>3];r=+h[e+96>>3];V=c[e+104>>2]|0;W=e+56|0;j=c[W>>2]|0;do if(!((d|0)==0|(T|0)<1)?(X=c[d+4>>2]|0,!((b|0)<1|(X|0)<1)):0){Q=c[d>>2]|0;Y=Zp(j)|0;c[i>>2]=0;if((Q|0)!=(X|0)){c[i>>2]=-100;Yp(Y);c[W>>2]=j;break}O=sw(d,1)|0;P=c[O+20>>2]|0;Q=c[O+24>>2]|0;a:do if(c[e+16>>2]|0){T4(c[e+108>>2]|0);m=S(X,b)|0;j=0;while(1){if((j|0)>=(m|0))break a;h[g+(j<<3)>>3]=+Pw();j=j+1|0}}while(0);if(o<0.0){o=+aq(O,b,g);h[n>>3]=o}if(k<0.0){h[p>>3]=.2;k=.2}if(q>=0.0){h[e>>3]=-1.0;q=-1.0}N=+H(+o,+(1.0-q));B=+H(+k,+((2.0-q)/3.0))/o;C=S(X,b<<3)|0;D=IK(C)|0;E=IK(C)|0;F=e+116|0;I=e+64|0;J=c[15715]|0;K=O+8|0;L=Z+8|0;M=Z+16|0;z=0;A=0.0;w=r;while(1){B6(D|0,g|0,C|0)|0;x=$p(Y)|0;y=ew(b,X,x,g,(c[F>>2]|0)==0?0:f)|0;$v(y,E,g,+h[I>>3],q,N,Z,i);n=0;b:while(1){if((n|0)>=(X|0)){r=0.0;m=0;break}p=S(n,b)|0;s=E+(p<<3)|0;t=n+1|0;u=P+(t<<2)|0;m=c[P+(n<<2)>>2]|0;while(1){if((m|0)>=(c[u>>2]|0)){n=t;continue b}v=Q+(m<<2)|0;j=c[v>>2]|0;c:do if((j|0)!=(n|0)){k=+Xw(g,b,n,j);j=0;while(1){if((j|0)>=(b|0))break c;r=k*(B*(+h[g+(j+p<<3)>>3]-+h[g+((S(c[v>>2]|0,b)|0)+j<<3)>>3]));aa=s+(j<<3)|0;h[aa>>3]=+h[aa>>3]-r;j=j+1|0}}while(0);m=m+1|0}}while(1){if((m|0)>=(X|0))break;n=S(m,b)|0;p=E+(n<<3)|0;k=0.0;j=0;while(1){if((j|0)>=(b|0))break;ba=+h[p+(j<<3)>>3];k=k+ba*ba;j=j+1|0}k=+G(+k);r=r+k;d:do if(k>0.0){j=0;while(1){if((j|0)>=(b|0)){j=0;break d}aa=p+(j<<3)|0;h[aa>>3]=+h[aa>>3]/k;j=j+1|0}}else j=0;while(0);while(1){if((j|0)>=(b|0))break;aa=g+(j+n<<3)|0;h[aa>>3]=+h[aa>>3]+w*+h[p+(j<<3)>>3];j=j+1|0}m=m+1|0}z=z+1|0;if(!y){if(a[195234]|0){aa=c[K>>2]|0;c[_>>2]=z;h[_+8>>3]=w;h[_+16>>3]=r;c[_+24>>2]=aa;h[_+32>>3]=o;z4(J,92400,_)|0}}else{lw(y);_p(Y,+h[Z>>3]+ +h[L>>3]*.85+ +h[M>>3]*3.3)}w=+gq(V,w,r,A,U);if(!((z|0)<(T|0)&w>R))break;else A=r}if(c[e+112>>2]|0)hq(b,O,g);Yp(Y);c[W>>2]=x;l6(D);if((O|0)!=(d|0))nw(O);l6(E)}while(0);l=$;return}function gq(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0.0;f=b*e;if((a|0)!=0&!(c>=d)){if(!(d*.95>2]|0;C=c[b+20>>2]|0;t=c[b+24>>2]|0;c[v>>2]=10;c[A>>2]=10;u=IK(B<<2)|0;f=IK(80)|0;c[y>>2]=f;e=IK(40)|0;c[z>>2]=e;b=0;while(1){if((b|0)>=(B|0)){n=0;r=f;k=e;o=e;m=f;break}c[u+(b<<2)>>2]=0;b=b+1|0}while(1){if((n|0)>=(B|0))break;b=c[C+(n<<2)>>2]|0;a:do if((((c[C+(n+1<<2)>>2]|0)-b|0)==1?(c[u+(n<<2)>>2]|0)==0:0)?(w=c[t+(b<<2)>>2]|0,x=u+(w<<2)|0,(c[x>>2]|0)==0):0){c[x>>2]=1;q=C+(w+1<<2)|0;n=0;s=0;g=0.0;p=c[C+(w<<2)>>2]|0;k=o;b=r;while(1){if((p|0)>=(c[q>>2]|0))break;e=t+(p<<2)|0;f=c[e>>2]|0;if(((c[C+(f+1<<2)>>2]|0)-(c[C+(f<<2)>>2]|0)|0)==1){c[u+(f<<2)>>2]=1;cq(z,s,v);g=g+ +Xw(d,a,w,c[e>>2]|0);k=c[z>>2]|0;c[k+(s<<2)>>2]=c[e>>2];e=n;f=s+1|0}else{bq(y,n,A);j=+dq(d,a,w,c[e>>2]|0);b=c[y>>2]|0;h[b+(n<<3)>>3]=j;e=n+1|0;f=s;m=b}n=e;s=f;p=p+1|0}j=g/+(s|0);if((n|0)>0){iq(n,m);b=m}g=(s|0)>1?6.283185307179586/+(s+-1|0):0.0;e=0;i=0.0;while(1){if((e|0)>=(s|0)){o=k;f=k;break a}jq(d,a,j,i,w,c[k+(e<<2)>>2]|0);e=e+1|0;i=g+i}}else{e=n;f=k;b=r}while(0);n=e+1|0;r=b;k=f}l6(u);l6(r);l6(k);l=D;return}function iq(a,b){a=a|0;b=b|0;k3(b,a,8,68);return}function jq(a,b,c,d,e,f){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;var g=0.0;g=+I(+d)*c;e=S(e,b)|0;f=S(f,b)|0;h[a+(f<<3)>>3]=g+ +h[a+(e<<3)>>3];d=+J(+d)*c;h[a+(f+1<<3)>>3]=d+ +h[a+(e+1<<3)>>3];return}function kq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0,R=0.0,T=0,U=0,V=0,W=0;n=+h[d>>3];m=d+24|0;l=+h[m>>3];o=d+32|0;k=+h[o>>3];P=+h[d+72>>3];Q=c[d+80>>2]|0;R=+h[d+88>>3];r=+h[d+96>>3];T=c[d+104>>2]|0;i=c[d+56>>2]|0;_3(92499,32,1,c[15715]|0)|0;if(!((b|0)==0|(Q|0)<1)?(U=c[b>>2]|0,j=c[b+4>>2]|0,!((a|0)<1|(j|0)<1)):0){p=a<<3;V=IK(S(p,j)|0)|0;if((j|0)<(c[d+52>>2]|0)){J=0;K=0;L=0;M=0;N=0;O=0}else{Zp(i)|0;M=IK(a*80|0)|0;N=IK(80)|0;O=IK(80)|0;J=O;K=N;L=M}c[g>>2]=0;if((U|0)==(j|0)){D=sw(b,1)|0;E=c[D+20>>2]|0;F=c[D+24>>2]|0;I=S(U,a)|0;a:do if(c[d+16>>2]|0){T4(c[d+108>>2]|0);i=0;while(1){if((i|0)>=(I|0))break a;h[f+(i<<3)>>3]=+Pw();i=i+1|0}}while(0);if(l<0.0){l=+aq(D,a,f);h[m>>3]=l}if(k<0.0){h[o>>3]=.2;k=.2}if(n>=0.0){h[d>>3]=-1.0;n=-1.0}B=1.0-n;C=+H(+l,+B);z=+H(+k,+((2.0-n)/3.0))/l;A=IK(p)|0;w=S(U,p)|0;x=IK(w)|0;y=d+116|0;u=n==-1.0;v=(e|0)!=0;s=0;t=0.0;while(1){i=0;while(1){if((i|0)>=(I|0))break;h[V+(i<<3)>>3]=0.0;i=i+1|0}B6(x|0,f|0,w|0)|0;q=0;while(1){if((q|0)<(U|0))i=0;else{o=0;break}while(1){if((i|0)>=(a|0))break;h[A+(i<<3)>>3]=0.0;i=i+1|0}p=S(q,a)|0;b:do if(v&(c[y>>2]|0)!=0){i=0;while(1){if((i|0)==(U|0)){i=0;break b}c:do if((i|0)!=(q|0)){l=+Ww(f,a,q,i);g=e+(i<<3)|0;m=S(i,a)|0;n=l*l;j=0;while(1){if((j|0)>=(a|0))break c;o=A+(j<<3)|0;if(u)k=n;else k=+H(+l,+B);h[o>>3]=+h[o>>3]+C*+h[g>>3]*(+h[f+(j+p<<3)>>3]-+h[f+(j+m<<3)>>3])/k;j=j+1|0}}while(0);i=i+1|0}}else{i=0;while(1){if((i|0)==(U|0)){i=0;break b}d:do if((i|0)!=(q|0)){l=+Ww(f,a,q,i);g=S(i,a)|0;n=l*l;j=0;while(1){if((j|0)>=(a|0))break d;m=A+(j<<3)|0;if(u)k=n;else k=+H(+l,+B);h[m>>3]=+h[m>>3]+C*(+h[f+(j+p<<3)>>3]-+h[f+(j+g<<3)>>3])/k;j=j+1|0}}while(0);i=i+1|0}}while(0);while(1){if((i|0)>=(a|0))break;o=V+(i+p<<3)|0;h[o>>3]=+h[A+(i<<3)>>3]+ +h[o>>3];i=i+1|0}q=q+1|0}e:while(1){if((o|0)<(U|0))i=0;else{l=0.0;j=0;break}while(1){if((i|0)>=(a|0))break;h[A+(i<<3)>>3]=0.0;i=i+1|0}p=o+1|0;g=E+(p<<2)|0;q=S(o,a)|0;j=c[E+(o<<2)>>2]|0;while(1){if((j|0)>=(c[g>>2]|0)){i=0;break}m=F+(j<<2)|0;i=c[m>>2]|0;f:do if((i|0)!=(o|0)){k=+Xw(f,a,o,i);i=0;while(1){if((i|0)>=(a|0))break f;n=k*(z*(+h[f+(i+q<<3)>>3]-+h[f+((S(c[m>>2]|0,a)|0)+i<<3)>>3]));W=A+(i<<3)|0;h[W>>3]=+h[W>>3]-n;i=i+1|0}}while(0);j=j+1|0}while(1){if((i|0)>=(a|0)){o=p;continue e}W=V+(i+q<<3)|0;h[W>>3]=+h[A+(i<<3)>>3]+ +h[W>>3];i=i+1|0}}while(1){if((j|0)>=(U|0))break;g=S(j,a)|0;i=0;while(1){if((i|0)>=(a|0)){k=0.0;i=0;break}h[A+(i<<3)>>3]=+h[V+(i+g<<3)>>3];i=i+1|0}while(1){if((i|0)>=(a|0))break;n=+h[A+(i<<3)>>3];k=k+n*n;i=i+1|0}k=+G(+k);l=l+k;g:do if(k>0.0){i=0;while(1){if((i|0)>=(a|0)){i=0;break g}W=A+(i<<3)|0;h[W>>3]=+h[W>>3]/k;i=i+1|0}}else i=0;while(0);while(1){if((i|0)>=(a|0))break;W=f+(i+g<<3)|0;h[W>>3]=+h[W>>3]+r*+h[A+(i<<3)>>3];i=i+1|0}j=j+1|0}s=s+1|0;r=+gq(T,r,l,t,R);if(!((s|0)<(Q|0)&r>P))break;else t=l}if(c[d+112>>2]|0)hq(a,D,f);l6(x);if((D|0)!=(b|0))nw(D);l6(A)}else c[g>>2]=-100;if(L|0)l6(M);if(K|0)l6(N);if(J|0)l6(O);l6(V)}return}function lq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,I=0,J=0,K=0,L=0.0,M=0.0,N=0,O=0,P=0.0,Q=0.0,R=0,T=0,U=0,V=0,W=0,X=0.0,Y=0,Z=0.0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=l;l=l+32|0;aa=ia+24|0;ba=ia+20|0;fa=ia+16|0;ga=ia+12|0;ha=ia+8|0;W=ia;s=+h[d>>3];k=d+24|0;r=+h[k>>3];m=d+32|0;q=+h[m>>3];X=+h[d+72>>3];Y=c[d+80>>2]|0;Z=+h[d+88>>3];t=+h[d+96>>3];_=c[d+104>>2]|0;c[aa>>2]=0;c[ba>>2]=10;c[fa>>2]=0;c[ga>>2]=0;c[ha>>2]=0;h[W>>3]=0.0;ea=d+56|0;n=c[ea>>2]|0;if(!((b|0)==0|(Y|0)<1)?($=c[b>>2]|0,i=c[b+4>>2]|0,!((a|0)<1|(i|0)<1)):0){if((i|0)<(c[d+52>>2]|0)){da=0;ca=0}else{da=Zp(n)|0;c[fa>>2]=IK(a*80|0)|0;c[ga>>2]=IK(80)|0;c[ha>>2]=IK(80)|0;ca=1}c[g>>2]=0;a:do if(($|0)==(i|0)){o=sw(b,1)|0;R=c[o+20>>2]|0;T=c[o+24>>2]|0;b:do if(c[d+16>>2]|0){T4(c[d+108>>2]|0);j=S($,a)|0;i=0;while(1){if((i|0)>=(j|0))break b;h[f+(i<<3)>>3]=+Pw();i=i+1|0}}while(0);if(r<0.0){r=+aq(o,a,f);h[k>>3]=r}if(q<0.0){h[m>>3]=.2;q=.2}if(s>=0.0){h[d>>3]=-1.0;s=-1.0}P=1.0-s;Q=+H(+r,+P);M=+H(+q,+((2.0-s)/3.0))/r;N=a<<3;U=IK(N)|0;N=S($,N)|0;V=IK(N)|0;O=d+116|0;I=s==-1.0;J=d+64|0;K=(e|0)!=0;L=+($|0);i=0;E=0;F=0.0;while(1){E=E+1|0;B6(V|0,f|0,N|0)|0;if(ca){i=$p(da)|0;n=i;i=ew(a,$,i,f,(c[O>>2]|0)==0?0:e)|0}u=0.0;s=0.0;y=0;r=0.0;c:while(1){if((y|0)<($|0))j=0;else break;while(1){if((j|0)>=(a|0))break;h[U+(j<<3)>>3]=0.0;j=j+1|0}C=y+1|0;m=R+(C<<2)|0;D=S(y,a)|0;k=c[R+(y<<2)>>2]|0;while(1){if((k|0)>=(c[m>>2]|0))break;p=T+(k<<2)|0;j=c[p>>2]|0;d:do if((j|0)!=(y|0)){q=+Xw(f,a,y,j);j=0;while(1){if((j|0)>=(a|0))break d;w=q*(M*(+h[f+(j+D<<3)>>3]-+h[f+((S(c[p>>2]|0,a)|0)+j<<3)>>3]));B=U+(j<<3)|0;h[B>>3]=+h[B>>3]-w;j=j+1|0}}while(0);k=k+1|0}e:do if(!ca)if(K&(c[O>>2]|0)!=0){j=0;while(1){if((j|0)==($|0))break e;f:do if((j|0)!=(y|0)){v=+Ww(f,a,y,j);m=e+(j<<3)|0;p=S(j,a)|0;w=v*v;k=0;while(1){if((k|0)>=(a|0))break f;x=U+(k<<3)|0;if(I)q=w;else q=+H(+v,+P);h[x>>3]=+h[x>>3]+Q*+h[m>>3]*(+h[f+(k+D<<3)>>3]-+h[f+(k+p<<3)>>3])/q;k=k+1|0}}while(0);j=j+1|0}}else{j=0;while(1){if((j|0)==($|0))break e;g:do if((j|0)!=(y|0)){v=+Ww(f,a,y,j);m=S(j,a)|0;w=v*v;k=0;while(1){if((k|0)>=(a|0))break g;p=U+(k<<3)|0;if(I)q=w;else q=+H(+v,+P);h[p>>3]=+h[p>>3]+Q*(+h[f+(k+D<<3)>>3]-+h[f+(k+m<<3)>>3])/q;k=k+1|0}}while(0);j=j+1|0}}else{_v(i,+h[J>>3],f+(D<<3)|0,y,aa,ba,fa,ga,ha,W,g);u=u+ +h[W>>3];B=c[aa>>2]|0;s=s+ +(B|0);if(c[g>>2]|0){m=U;k=V;i=U;j=V;p=72;break a}m=c[ha>>2]|0;p=c[ga>>2]|0;x=c[fa>>2]|0;j=0;while(1){if((j|0)>=(B|0))break e;v=+h[m+(j<<3)>>3];v=v>1.0e-15?v:1.0e-15;y=p+(j<<3)|0;z=S(j,a)|0;w=v*v;k=0;while(1){if((k|0)>=(a|0))break;A=U+(k<<3)|0;if(I)q=w;else q=+H(+v,+P);h[A>>3]=+h[A>>3]+Q*+h[y>>3]*(+h[f+(k+D<<3)>>3]-+h[x+(k+z<<3)>>3])/q;k=k+1|0}j=j+1|0}}while(0);q=0.0;j=0;while(1){if((j|0)>=(a|0))break;w=+h[U+(j<<3)>>3];q=q+w*w;j=j+1|0}q=+G(+q);r=r+q;h:do if(q>0.0){j=0;while(1){if((j|0)>=(a|0)){j=0;break h}B=U+(j<<3)|0;h[B>>3]=+h[B>>3]/q;j=j+1|0}}else j=0;while(0);while(1){if((j|0)>=(a|0)){y=C;continue c}B=f+(j+D<<3)|0;h[B>>3]=+h[B>>3]+t*+h[U+(j<<3)>>3];j=j+1|0}}if(i|0){lw(i);_p(da,s/L*5.0+u/L)}t=+gq(_,t,r,F,Z);if(!((E|0)<(Y|0)&t>X))break;else F=r}if(!(c[d+112>>2]|0)){m=U;k=V;j=V;i=U;p=71}else{hq(a,o,f);m=U;k=V;j=V;i=U;p=71}}else{c[g>>2]=-100;o=b;m=0;k=0;j=0;i=0;p=71}while(0);if((p|0)==71)if(ca)p=72;if((p|0)==72){Yp(da);c[ea>>2]=n}if(k|0)l6(j);if((o|0)!=(b|0))nw(o);if(m|0)l6(i);i=c[fa>>2]|0;if(i|0)l6(i);i=c[ga>>2]|0;if(i|0)l6(i);i=c[ha>>2]|0;if(i|0)l6(i)}l=ia;return}function mq(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=+i;j=j|0;var k=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0,E=0.0,F=0.0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0,_=0,$=0.0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=l;l=l+48|0;p=ha+8|0;ca=ha+40|0;da=ha+36|0;X=ha+32|0;fa=ha+28|0;ga=ha+24|0;Y=ha;q=+h[e>>3];r=e+32|0;s=+h[r>>3];Z=+h[e+72>>3];_=c[e+80>>2]|0;$=+h[e+88>>3];u=+h[e+96>>3];aa=c[e+104>>2]|0;c[ca>>2]=0;c[da>>2]=10;c[X>>2]=0;c[fa>>2]=0;c[ga>>2]=0;h[Y>>3]=0.0;if(!((b|0)==0|(_|0)<1)?(ba=c[b>>2]|0,n=c[b+4>>2]|0,!((a|0)<1|(n|0)<1)):0){if((c[e+132>>2]|0)!=0?(n|0)>=(c[e+52>>2]|0):0){m=IK(a*80|0)|0;c[X>>2]=m;c[fa>>2]=IK(80)|0;c[ga>>2]=IK(80)|0;t=1;k=m}else{t=0;k=0;m=0}c[j>>2]=0;if((ba|0)==(n|0)){W=sw(b,1)|0;if(!d){V=0;k=W}else{V=c[d+28>>2]|0;k=d}U=c[k+24>>2]|0;T=c[k+20>>2]|0;o=+(ba|0);if(i<0.0){F=+nq(ba,T,V);E=+(c[T+(ba<<2)>>2]|0);i=E/(o*o-E)*i/+H(+F,+(q+1.0));R=c[15715]|0;h[p>>3]=F;h[p+8>>3]=i;z4(R,92532,p)|0}a:do if(c[e+16>>2]|0){_3(92554,24,1,c[15715]|0)|0;T4(c[e+108>>2]|0);m=S(ba,a)|0;k=0;while(1){if((k|0)>=(m|0))break a;h[g+(k<<3)>>3]=+Pw();k=k+1|0}}while(0);oq(ba,a,g,T,U,V);if(s<0.0)h[r>>3]=.2;if(!(q>=0.0))o=q;else{h[e>>3]=-1.0;o=-1.0}Q=a<<3;P=IK(Q)|0;Q=S(ba,Q)|0;R=IK(Q)|0;M=(t|0)!=0;N=e+116|0;O=o==-1.0;F=1.0-o;I=(f|0)!=0;J=(V|0)==0;K=e+8|0;L=e+64|0;k=0;D=0;E=0.0;o=1.0;C=u;b:while(1){D=D+1|0;B6(R|0,g|0,Q|0)|0;if(M)k=ew(a,ba,10,g,(c[N>>2]|0)==0?0:f)|0;t=0;s=0.0;c:while(1){if((t|0)<(ba|0))m=0;else break;while(1){if((m|0)>=(a|0))break;h[P+(m<<3)>>3]=0.0;m=m+1|0}B=t+1|0;r=T+(B<<2)|0;A=S(t,a)|0;p=c[T+(t<<2)>>2]|0;while(1){if((p|0)>=(c[r>>2]|0))break;d=U+(p<<2)|0;m=c[d>>2]|0;d:do if((m|0)!=(t|0)){z=+Ww(g,a,t,m);if(!J)o=+h[V+(p<<3)>>3];q=+h[K>>3];v=z-o;u=o*o;e:do if(!(q==2.0))if(q==1.0){q=1.0/u;m=0;while(1){if((m|0)>=(a|0))break e;u=-(v*(q*(+h[g+(m+A<<3)>>3]-+h[g+((S(c[d>>2]|0,a)|0)+m<<3)>>3])))/z;y=P+(m<<3)|0;h[y>>3]=+h[y>>3]+u;m=m+1|0}}else{q=1.0/+H(+o,+(q+1.0));m=0;while(1){if((m|0)>=(a|0))break e;u=q*(+h[g+(m+A<<3)>>3]-+h[g+((S(c[d>>2]|0,a)|0)+m<<3)>>3]);u=-(u*+H(+v,+(+h[K>>3])))/z;y=P+(m<<3)|0;h[y>>3]=+h[y>>3]+u;m=m+1|0}}else{q=1.0/(o*u);m=0;while(1){if((m|0)>=(a|0))break e;u=-(v*(v*(q*(+h[g+(m+A<<3)>>3]-+h[g+((S(c[d>>2]|0,a)|0)+m<<3)>>3]))))/z;y=P+(m<<3)|0;h[y>>3]=+h[y>>3]+u;m=m+1|0}}while(0);u=z*z;q=+H(+z,+F);if(I&(c[N>>2]|0)!=0){n=f+(p<<3)|0;q=O?u:q;m=0;while(1){if((m|0)>=(a|0))break d;y=P+(m<<3)|0;z=i*+h[n>>3]*(+h[g+(m+A<<3)>>3]-+h[g+((S(c[d>>2]|0,a)|0)+m<<3)>>3])/q;h[y>>3]=+h[y>>3]-z;m=m+1|0}}else{q=O?u:q;m=0;while(1){if((m|0)>=(a|0))break d;y=P+(m<<3)|0;z=i*(+h[g+(m+A<<3)>>3]-+h[g+((S(c[d>>2]|0,a)|0)+m<<3)>>3])/q;h[y>>3]=+h[y>>3]-z;m=m+1|0}}}while(0);p=p+1|0}f:do if(!M)if(I&(c[N>>2]|0)!=0){m=0;while(1){if((m|0)==(ba|0)){q=0.0;m=0;break f}g:do if((m|0)!=(t|0)){u=+Ww(g,a,t,m);d=f+(m<<3)|0;p=S(m,a)|0;v=u*u;n=0;while(1){if((n|0)>=(a|0))break g;r=P+(n<<3)|0;if(O)q=v;else q=+H(+u,+F);h[r>>3]=+h[r>>3]+i*+h[d>>3]*(+h[g+(n+A<<3)>>3]-+h[g+(n+p<<3)>>3])/q;n=n+1|0}}while(0);m=m+1|0}}else{m=0;while(1){if((m|0)==(ba|0)){q=0.0;m=0;break f}h:do if((m|0)!=(t|0)){u=+Ww(g,a,t,m);d=S(m,a)|0;v=u*u;n=0;while(1){if((n|0)>=(a|0))break h;p=P+(n<<3)|0;if(O)q=v;else q=+H(+u,+F);h[p>>3]=+h[p>>3]+i*(+h[g+(n+A<<3)>>3]-+h[g+(n+d<<3)>>3])/q;n=n+1|0}}while(0);m=m+1|0}}else{_v(k,+h[L>>3],g+(A<<3)|0,t,ca,da,X,fa,ga,Y,j);d=c[ca>>2]|0;if(c[j>>2]|0)break b;p=c[ga>>2]|0;r=c[fa>>2]|0;t=c[X>>2]|0;m=0;while(1){if((m|0)>=(d|0)){q=0.0;m=0;break f}u=+h[p+(m<<3)>>3];u=u>1.0e-15?u:1.0e-15;w=r+(m<<3)|0;x=S(m,a)|0;v=u*u;n=0;while(1){if((n|0)>=(a|0))break;y=P+(n<<3)|0;if(O)q=v;else q=+H(+u,+F);h[y>>3]=+h[y>>3]+i*+h[w>>3]*(+h[g+(n+A<<3)>>3]-+h[t+(n+x<<3)>>3])/q;n=n+1|0}m=m+1|0}}while(0);while(1){if((m|0)>=(a|0))break;z=+h[P+(m<<3)>>3];q=q+z*z;m=m+1|0}q=+G(+q);s=s+q;i:do if(q>0.0){m=0;while(1){if((m|0)>=(a|0)){m=0;break i}y=P+(m<<3)|0;h[y>>3]=+h[y>>3]/q;m=m+1|0}}else m=0;while(0);while(1){if((m|0)>=(a|0)){t=B;continue c}y=g+(m+A<<3)|0;h[y>>3]=+h[y>>3]+C*+h[P+(m<<3)>>3];m=m+1|0}}if(k|0)lw(k);C=+gq(aa,C,s,E,$);if(!((D|0)<(_|0)&C>Z)){ea=88;break}else E=s}if((ea|0)==88?c[e+112>>2]|0:0)hq(a,W,g);l6(R);if((W|0)!=(b|0))nw(W);l6(P);k=c[X>>2]|0;m=k}else c[j>>2]=-100;if(m|0)l6(k);k=c[fa>>2]|0;if(k|0)l6(k);k=c[ga>>2]|0;if(k|0)l6(k)}l=ha;return}function nq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0.0;if(!d)e=1.0;else{f=0;e=0.0;a:while(1){if((f|0)>=(a|0))break;g=f+1|0;i=c[b+(g<<2)>>2]|0;f=c[b+(f<<2)>>2]|0;while(1){if((f|0)>=(i|0)){f=g;continue a}j=e+ +h[d+(f<<3)>>3];f=f+1|0;e=j}}e=e/+(c[b+(a<<2)>>2]|0)}return +e}function oq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;v=l;l=l+16|0;u=v;t=(g|0)==0;k=0.0;m=0.0;n=1.0;j=0;a:while(1){if((j|0)>=(a|0))break;r=j+1|0;s=e+(r<<2)|0;q=c[e+(j<<2)>>2]|0;while(1){if((q|0)>=(c[s>>2]|0)){j=r;continue a}i=c[f+(q<<2)>>2]|0;b:do if((i|0)!=(j|0)){o=+Ww(d,b,j,i);if(!t)n=+h[g+(q<<3)>>3];w=1.0/(n*n);p=o*(n*w);o=o*(o*w);i=0;while(1){if((i|0)>=(b|0))break b;i=i+1|0;k=o+k;m=p+m}}while(0);q=q+1|0}}k=m/k;j=S(b,a)|0;i=0;while(1){if((i|0)>=(j|0))break;b=d+(i<<3)|0;h[b>>3]=k*+h[b>>3];i=i+1|0}d=c[15715]|0;h[u>>3]=k;z4(d,92579,u)|0;l=v;return} +function $g(a){a=a|0;var b=0,d=0,e=0;while(1){b=c[(c[a+16>>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;d=c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;e=c[d+232>>2]|0;a=c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;b=c[a+232>>2]|0;if((e|0)<=(b|0))if((e|0)<(b|0))a=1;else a=(c[d+236>>2]|0)<(c[a+236>>2]|0)&1;else a=0;return a|0}function ah(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+180|0;g=(c[b+16>>2]|0)+172|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=bh(a,f,b,e)|0;l=d;return b|0}function bh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[b+4>>2]|0;a:do if((f|0)>0?(g=c[e+4>>2]|0,(g|0)>0):0)if((f|0)<(g|0)){f=c[b>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)==(d|0))break;else e=e+1|0}}else{f=c[e>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)==(a|0))break;else e=e+1|0}}else b=0;while(0);return b|0}function ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+188|0;g=(c[b+16>>2]|0)+196|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=bh(a,f,b,e)|0;l=d;return b|0}function dh(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+180>>2]|0;d=(c[d+184>>2]<<2)+8|0;if(!b)b=IK(d)|0;else b=KK(b,d)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+180>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[f+180>>2]|0;f=f+184|0;d=c[f>>2]|0;c[f>>2]=d+1;c[b+(d<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=a+-48|0;d=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;b=c[d+172>>2]|0;d=(c[d+176>>2]<<2)+8|0;if(!b)b=IK(d)|0;else b=KK(b,d)|0;c[(c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;b=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;b=b+176|0;f=c[b>>2]|0;c[b>>2]=f+1;c[d+(f<<2)>>2]=a;f=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;c[(c[f+172>>2]|0)+(c[f+176>>2]<<2)>>2]=0;return a|0}function eh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+4|0;f=c[e>>2]|0;d=0;while(1){if((d|0)>=(f|0))break;g=c[a>>2]|0;h=g+(d<<2)|0;if((c[h>>2]|0)==(b|0)){i=4;break}else d=d+1|0}if((i|0)==4){i=f+-1|0;c[e>>2]=i;c[h>>2]=c[g+(i<<2)>>2];c[(c[a>>2]|0)+(i<<2)>>2]=0}return}function fh(a){a=a|0;if(!a)Aa(85823,85833,117,85842);else{eh((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180|0,a);eh((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172|0,a);return}}function gh(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+204>>2]|0;d=(c[d+208>>2]<<2)+8|0;if(!b)b=IK(d)|0;else b=KK(b,d)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+204>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[f+204>>2]|0;f=f+208|0;d=c[f>>2]|0;c[f>>2]=d+1;c[b+(d<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+204>>2]|0)+(c[e+208>>2]<<2)>>2]=0;return}function hh(a){a=a|0;ih(a,(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+204|0);return}function ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+4|0;e=c[h>>2]|0;g=c[b>>2]|0;d=0;while(1){if((d|0)>=(e|0)){f=4;break}if((c[g+(d<<2)>>2]|0)==(a|0))break;else d=d+1|0}if((f|0)==4){d=(e<<2)+8|0;if(!g)d=IK(d)|0;else d=KK(g,d)|0;c[b>>2]=d;f=c[h>>2]|0;g=f+1|0;c[h>>2]=g;c[d+(f<<2)>>2]=a;c[(c[b>>2]|0)+(g<<2)>>2]=0}return}function jh(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=HK(96)|0;g=o+48|0;c[g>>2]=c[g>>2]|3;c[o>>2]=c[o>>2]&-4|2;i=HK(176)|0;n=o+16|0;c[n>>2]=i;c[((c[o>>2]&3|0)==3?o:g)+40>>2]=d;j=o+-48|0;c[((c[o>>2]&3|0)==2?o:j)+40>>2]=e;a[i+112>>0]=1;if(!f){c[i+156>>2]=1;b[i+154>>1]=1;b[i+168>>1]=1;b[i+170>>1]=1}else{c[o>>2]=c[o>>2]&15|c[f>>2]&-16;c[g>>2]=c[g>>2]&15|c[f>>2]&-16;m=f+16|0;h=c[m>>2]|0;b[i+168>>1]=b[h+168>>1]|0;b[i+154>>1]=b[h+154>>1]|0;c[i+156>>2]=c[h+156>>2];b[i+170>>1]=b[h+170>>1]|0;d=c[((c[o>>2]&3|0)==3?o:g)+40>>2]|0;e=c[f>>2]&3;k=f+48|0;l=f+-48|0;if((d|0)!=(c[((e|0)==3?f:k)+40>>2]|0)){if((d|0)==(c[((e|0)==2?f:l)+40>>2]|0)){g=i+16|0;d=h+56|0;e=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0))}}else{g=i+16|0;d=h+16|0;e=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0))}d=c[((c[o>>2]&3|0)==2?o:j)+40>>2]|0;e=c[f>>2]&3;if((d|0)!=(c[((e|0)==2?f:l)+40>>2]|0)){if((d|0)==(c[((e|0)==3?f:k)+40>>2]|0)){g=(c[n>>2]|0)+56|0;d=(c[m>>2]|0)+16|0;e=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0))}}else{g=(c[n>>2]|0)+56|0;d=(c[m>>2]|0)+56|0;e=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0))}d=(c[m>>2]|0)+172|0;if(!(c[d>>2]|0))c[d>>2]=o;c[(c[n>>2]|0)+116>>2]=f}return o|0}function kh(a,b,c){a=a|0;b=b|0;c=c|0;return dh(jh(a,b,c)|0)|0}function lh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(c[a+16>>2]|0)+192|0;f=c[d>>2]|0;e=c[b+16>>2]|0;c[e+164>>2]=f;a=f;if(f|0)c[(c[a+16>>2]|0)+168>>2]=b;c[d>>2]=b;c[e+168>>2]=0;if((a|0)==(b|0))Aa(85859,85833,215,85875);else return}function mh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((a|0)==(b|0))Aa(85885,85833,220,85892);f=c[b+16>>2]|0;d=f+164|0;if(c[d>>2]|0)Aa(85905,85833,221,85892);e=(c[a+16>>2]|0)+164|0;c[d>>2]=c[e>>2];d=c[e>>2]|0;if(d|0)c[(c[d+16>>2]|0)+168>>2]=b;c[f+168>>2]=a;c[e>>2]=b;return}function nh(a,b){a=a|0;b=b|0;var d=0;if(!(oh(a,b)|0))Aa(85924,85833,231,85945);b=c[b+16>>2]|0;d=c[b+164>>2]|0;b=b+168|0;if(d|0)c[(c[d+16>>2]|0)+168>>2]=c[b>>2];b=c[b>>2]|0;if(!b)c[(c[a+16>>2]|0)+192>>2]=d;else c[(c[b+16>>2]|0)+164>>2]=d;return}function oh(a,b){a=a|0;b=b|0;a=(c[a+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if((a|0)==0|(a|0)==(b|0))break;a=(c[a+16>>2]|0)+164|0}return a|0}function ph(b){b=b|0;var d=0,e=0,f=0,g=0;d=HK(64)|0;c[d>>2]=c[d>>2]&-4|1;e=d+16|0;c[e>>2]=HK(304)|0;c[d+24>>2]=vC(b)|0;g=c[e>>2]|0;a[g+156>>0]=1;h[g+96>>3]=1.0;h[g+88>>3]=1.0;h[g+80>>3]=1.0;c[g+216>>2]=1;c[g+176>>2]=0;g=HK(20)|0;f=c[e>>2]|0;c[f+172>>2]=g;c[f+184>>2]=0;f=HK(20)|0;c[(c[e>>2]|0)+180>>2]=f;lh(b,d);b=(c[b+16>>2]|0)+232|0;c[b>>2]=(c[b>>2]|0)+1;return d|0}function qh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=d+48|0;f=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;e=c[f+188>>2]|0;f=(c[f+192>>2]<<2)+8|0;if(!e)e=IK(f)|0;else e=KK(e,f)|0;c[(c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0)+188>>2]=e;h=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;e=c[h+188>>2]|0;h=h+192|0;f=c[h>>2]|0;c[h>>2]=f+1;c[e+(f<<2)>>2]=d;g=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;c[(c[g+188>>2]|0)+(c[g+192>>2]<<2)>>2]=0;g=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;e=c[f+196>>2]|0;f=(c[f+200>>2]<<2)+8|0;if(!e)e=IK(f)|0;else e=KK(e,f)|0;c[(c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+196>>2]=e;e=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;f=c[e+196>>2]|0;e=e+200|0;h=c[e>>2]|0;c[e>>2]=h+1;c[f+(h<<2)>>2]=d;h=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;c[(c[h+196>>2]|0)+(c[h+200>>2]<<2)>>2]=0;a[(c[b+16>>2]|0)+240>>0]=1;a[(c[(dg(b)|0)+16>>2]|0)+240>>0]=1;return}function rh(a){a=a|0;var b=0,d=0;if(!a)Aa(85823,85833,269,85962);b=c[(c[a+16>>2]|0)+116>>2]|0;if(b|0?(d=(c[b+16>>2]|0)+172|0,(c[d>>2]|0)==(a|0)):0)c[d>>2]=0;eh((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+188|0,a);eh((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+196|0,a);return}function sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=(c[a+16>>2]|0)+172|0;e=c[d>>2]|0;do if((e|0)!=(b|0))if(!e){c[d>>2]=b;th(a,b);break}else Aa(87865,85833,340,86e3);else dA(0,85979,f)|0;while(0);l=f;return}function th(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;f=(c[d+16>>2]|0)+170|0;i=c[a+16>>2]|0;a=b[i+170>>1]|0;if((e[f>>1]|0)<(a&65535))b[f>>1]=a;g=i+168|0;h=i+154|0;f=i+156|0;a=d;while(1){if(!a)break;d=c[a+16>>2]|0;i=d+168|0;b[i>>1]=(e[i>>1]|0)+(e[g>>1]|0);i=d+154|0;b[i>>1]=(e[i>>1]|0)+(e[h>>1]|0);i=d+156|0;c[i>>2]=(c[i>>2]|0)+(c[f>>2]|0);a=c[d+172>>2]|0}return}function uh(d){d=d|0;var e=0,f=0,g=0,h=0;f=d+16|0;e=c[(c[f>>2]|0)+172>>2]|0;a:while(1){if(!e)break;vh(e,d);h=c[e+16>>2]|0;g=c[h+172>>2]|0;if(!(b[h+168>>1]|0))wh(e);while(1){if((a[(c[e+16>>2]|0)+112>>0]|0)!=1){e=g;continue a}e=c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){e=g;continue a}if((c[e+184>>2]|0)!=1){e=g;continue a}e=c[c[e+180>>2]>>2]|0;vh(e,d)}}c[(c[f>>2]|0)+172>>2]=0;return}function vh(a,d){a=a|0;d=d|0;var f=0;f=c[d+16>>2]|0;d=c[a+16>>2]|0;a=d+168|0;b[a>>1]=(e[a>>1]|0)-(e[f+168>>1]|0);a=d+154|0;b[a>>1]=(e[a>>1]|0)-(e[f+154>>1]|0);d=d+156|0;c[d>>2]=(c[d>>2]|0)-(c[f+156>>2]|0);return}function wh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)Aa(85823,85833,128,86013);g=a+48|0;d=0;while(1){b=c[a>>2]|0;e=(c[(c[((b&3|0)==3?a:g)+40>>2]|0)+16>>2]|0)+180|0;f=c[(c[e>>2]|0)+(d<<2)>>2]|0;if(!f)break;if((f|0)==(a|0))eh(e,a);d=d+1|0}g=a+-48|0;f=0;while(1){d=(c[(c[((b&3|0)==2?a:g)+40>>2]|0)+16>>2]|0)+172|0;e=c[(c[d>>2]|0)+(f<<2)>>2]|0;if(!e)break;if((e|0)==(a|0)){eh(d,a);b=c[a>>2]|0}f=f+1|0}return}function xh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+1040|0;n=p+4|0;o=p;m=p+8|0;k=a+16|0;a=c[k>>2]|0;j=b[a+236>>1]|0;while(1){if((j|0)>(b[a+238>>1]|0))break;i=c[a+196>>2]|0;h=i+(j<<6)|0;i=i+(j<<6)+4|0;g=0;a=0;while(1){d=(a|0)!=0;if((g|0)>=(c[h>>2]|0))break;e=c[(c[i>>2]|0)+(g<<2)>>2]|0;f=e+16|0;if(c[(c[f>>2]|0)+112>>2]|0){if(!d){c[n>>2]=c[4658];a=lB(86035,n,0)|0}c[o>>2]=g;i2(m,137696,o)|0;s=qC(a,m,1)|0;RC(s,91465,24,1)|0;d=c[(c[f>>2]|0)+180>>2]|0;q=c[d>>2]|0;q=c[(c[(c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;d=c[d+4>>2]|0;d=c[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;r=(q|0)>(d|0);f=c[s+16>>2]|0;c[f+12>>2]=r?d:q;c[f+16>>2]=r?q:d;c[f+20>>2]=e}g=g+1|0}if(d){if((qB(a)|0)>1)yh(a,h);pB(a)|0}j=j+1|0;a=c[k>>2]|0}l=p;return}function yh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=0;h=gC(a)|0;a:while(1){if(!h)break;i=hC(a,h)|0;j=h+16|0;g=i;while(1){if(!g){h=i;continue a}f=c[g+16>>2]|0;e=c[j>>2]|0;if((c[f+16>>2]|0)>(c[e+12>>2]|0)){if((c[e+16>>2]|0)<=(c[f+12>>2]|0))fB(a,h,g,0,1)|0}else{fB(a,g,h,0,1)|0;d=1}g=hC(a,g)|0}}do if(d|0){h=LD(a,86038,1)|0;j=HK((qB(a)|0)<<2)|0;i=HK((qB(a)|0)<<2)|0;f=b+4|0;e=gC(a)|0;b:while(1){if(!e){d=23;break}if((c[(c[e+16>>2]|0)+8>>2]|0)==0?sB(a,e,1,1)|0:0){c:do if(zh(a,e,h,i)|0){g=qB(h)|0;if((Ah(a,h,j)|0)!=(g|0)){d=17;break b}k3(i,g,4,60);d=0;while(1){if((d|0)>=(g|0))break c;b=i+(d<<2)|0;k=c[j+(d<<2)>>2]|0;c[(c[k+16>>2]|0)+236>>2]=c[b>>2];c[(c[f>>2]|0)+(c[b>>2]<<2)>>2]=k;d=d+1|0}}while(0);Ch(h)}e=hC(a,e)|0}if((d|0)==17)Aa(86043,86053,265,86064);else if((d|0)==23){l6(j);break}}while(0);return}function zh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=c[b+16>>2]|0;c[h+8>>2]=1;h=c[(c[(c[h+20>>2]|0)+16>>2]|0)+236>>2]|0;c[e+((qB(d)|0)<<2)>>2]=h;lC(d,b,1)|0;h=UA(a,b)|0;f=0;while(1){if(!h)break;j=c[h>>2]&3;g=c[((j|0)==2?h:h+-48|0)+40>>2]|0;i=c[g+16>>2]|0;f=((c[(c[(c[i+20>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[(c[(c[((j|0)==3?h:h+48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)+f|0;if(!(c[i+8>>2]|0))f=(zh(a,g,d,e)|0)+f|0;h=WA(a,h)|0}h=XA(a,b)|0;while(1){if(!h)break;i=c[h>>2]&3;g=c[((i|0)==3?h:h+48|0)+40>>2]|0;j=c[g+16>>2]|0;f=((c[(c[(c[(c[(c[((i|0)==2?h:h+-48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[j+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)+f|0;if(!(c[j+8>>2]|0))f=(zh(a,g,d,e)|0)+f|0;h=YA(a,h)|0}return f|0}function Ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=0;while(1){e=Dh(a,b)|0;if(!e)break;c[d+(f<<2)>>2]=c[(c[e+16>>2]|0)+20>>2];sC(b,e)|0;e=UA(a,e)|0;while(1){if(!e)break;g=WA(a,e)|0;iB(a,e)|0;e=g}f=f+1|0}return f|0}function Bh(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function Ch(a){a=a|0;var b=0,c=0;b=gC(a)|0;while(1){if(!b)break;c=hC(a,b)|0;sC(a,b)|0;b=c}return}function Dh(a,b){a=a|0;b=b|0;var c=0;c=gC(b)|0;while(1){if(!c){c=0;break}if(!(sB(a,c,1,0)|0))break;c=hC(b,c)|0}return c|0}function Eh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;Fh(b);i=b+16|0;f=0;e=0;while(1){if((f|0)>=(c[(c[i>>2]|0)+220>>2]|0))break;Gh(b,f);f=f+1|0;e=(Hh(b,0,d)|0)+e|0}Ih(b);h=1;while(1){f=c[i>>2]|0;g=c[f+180>>2]|0;if((h|0)>(g|0))break;g=(Jh(c[(c[f+184>>2]|0)+(h<<2)>>2]|0,d)|0)+e|0;h=h+1|0;e=g}do if((g|0)>0){f=NA(b,86078)|0;if(f|0?(bP(f)|0)<<24>>24==0:0)break;gl(b);a[194049]=1;e=Hh(b,2,d)|0}while(0);Kh(b,e);return}function Fh(d){d=d|0;var e=0;if(a[195234]|0)RO();a[194049]=0;c[46783]=d;e=((rB(dg(d)|0)|0)<<2)+4|0;c[46782]=HK(e)|0;c[46781]=HK(e)|0;Ai(d);e=d+16|0;if(b[(c[e>>2]|0)+136>>1]&16)Bi(d);Pk(d);Dl(d,1);Ci(d);Rh(d);e=c[e>>2]|0;c[46784]=b[e+236>>1];c[46785]=b[e+238>>1];return}function Gh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;a=c[a+16>>2]|0;c[a+192>>2]=c[(c[a+216>>2]|0)+(d<<2)>>2];a:do if((d|0)>0){d=b[a+238>>1]|0;e=a+196|0;a=b[a+236>>1]|0;while(1){if((a|0)>(d|0))break a;f=c[e>>2]|0;g=f+(a<<6)+4|0;f=f+(a<<6)|0;c[g>>2]=(c[g>>2]|0)+(c[f>>2]<<2);c[f>>2]=0;a=a+1|0}}while(0);return}function Hh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q;if((d|0)>1){f=fi(0)|0;gi(b)}else f=2147483647;o=c[15715]|0;n=d;g=0;d=f;while(1){if((n|0)>=3)break;g=c[47183]|0;if((n|0)==2)if((f|0)>(d|0)){ii(b);f=d}else f=d;else{f=(g|0)<4?g:4;if((dg(b)|0)==(b|0))hi(b,n);if(!n)Sh(b);Th(b);i=fi(0)|0;if((i|0)>(d|0)){g=f;f=i}else{gi(b);g=f;f=i;d=i}}i=0;m=0;while(1){j=(f|0)==0;if((m|0)>=(g|0))break;if(a[195234]|0){c[p>>2]=n;c[p+4>>2]=m;c[p+8>>2]=i;c[p+12>>2]=f;c[p+16>>2]=d;z4(o,86471,p)|0}k=i+1|0;if(j|(i|0)>=(c[46786]|0))break;ji(b,m);f=fi(0)|0;if((f|0)>(d|0))i=k;else{gi(b);i=+(f|0)<+(d|0)*+h[23234]?0:k;d=f}m=m+1|0}if(j){f=0;break}else n=n+1|0}if((f|0)>(d|0))ii(b);if((d|0)>0){ki(b,0);f=fi(0)|0}else f=d;a:do if(e|0){d=0;while(1){if((d|0)>=(g|0))break a;li(b);d=d+1|0}}while(0);l=q;return f|0}function Ih(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;o=q;ei(d);m=d+16|0;e=c[m>>2]|0;n=c[15715]|0;k=b[e+236>>1]|0;while(1){if((k|0)>(b[e+238>>1]|0))break;f=c[e+196>>2]|0;g=c[f+(k<<6)+8>>2]|0;c[f+(k<<6)>>2]=g;h=c[f+(k<<6)+12>>2]|0;c[f+(k<<6)+4>>2]=h;j=0;while(1){if((j|0)>=(g|0))break;i=c[h+(j<<2)>>2]|0;if(!i){p=6;break}c[(c[i+16>>2]|0)+236>>2]=j;j=j+1|0}if((p|0)==6){p=0;if(a[195234]|0){f=HB(d)|0;e=c[(c[(c[m>>2]|0)+196>>2]|0)+(k<<6)>>2]|0;c[o>>2]=f;c[o+4>>2]=k;c[o+8>>2]=j;c[o+12>>2]=e;z4(n,86421,o)|0;e=c[m>>2]|0;f=c[e+196>>2]|0}c[f+(k<<6)>>2]=j}k=k+1|0}l=q;return}function Jh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;al(a);Rh(a);Sh(a);Th(a);f=a+16|0;d=Hh(a,2,b)|0;e=1;while(1){g=c[f>>2]|0;if((e|0)>(c[g+180>>2]|0))break;d=(Jh(c[(c[g+184>>2]|0)+(e<<2)>>2]|0,b)|0)+d|0;e=e+1|0}Uh(a);return d|0}function Kh(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+16|0;p=q;f=c[46781]|0;if(f|0){l6(f);c[46781]=0}f=c[46782]|0;if(f|0){l6(f);c[46782]=0}o=d+16|0;f=1;while(1){g=c[o>>2]|0;if((f|0)>(c[g+180>>2]|0))break;Lh(c[(c[g+184>>2]|0)+(f<<2)>>2]|0);f=f+1|0}n=b[g+236>>1]|0;f=g;while(1){if((n|0)>(b[f+238>>1]|0))break;else m=0;while(1){f=c[f+196>>2]|0;if((m|0)>=(c[f+(n<<6)>>2]|0))break;k=(c[(c[f+(n<<6)+4>>2]|0)+(m<<2)>>2]|0)+16|0;f=c[k>>2]|0;c[f+236>>2]=m;f=c[f+188>>2]|0;a:do if(f|0){g=0;while(1){i=c[f+(g<<2)>>2]|0;if(!i)break a;j=i+16|0;if((a[(c[j>>2]|0)+112>>0]|0)==4){rh(i);l6(c[j>>2]|0);l6(i);g=g+-1|0;f=c[(c[k>>2]|0)+188>>2]|0}g=g+1|0}}while(0);m=m+1|0;f=c[o>>2]|0}Mh(c[f+(n<<6)+56>>2]|0);n=n+1|0;f=c[o>>2]|0}if(a[195234]|0){o=c[15715]|0;d=HB(d)|0;r=+SO();c[p>>2]=d;c[p+4>>2]=e;h[p+8>>3]=r;z4(o,86089,p)|0}l=q;return}function Lh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+16|0;d=1;while(1){f=c[g>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Lh(c[(c[f+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}a:do if(c[f+268>>2]|0){e=b[f+236>>1]|0;d=f;while(1){if((e|0)>(b[d+238>>1]|0))break a;j=c[(c[d+268>>2]|0)+(e<<2)>>2]|0;i=Nh(a,j,-1)|0;j=Nh(a,j,1)|0;c[(c[(c[g>>2]|0)+268>>2]|0)+(e<<2)>>2]=i;k=c[(c[(c[(dg(a)|0)+16>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0;i=c[(c[i+16>>2]|0)+236>>2]|0;f=c[g>>2]|0;h=c[f+196>>2]|0;c[h+(e<<6)+4>>2]=k+(i<<2);c[h+(e<<6)>>2]=(c[(c[j+16>>2]|0)+236>>2]|0)+1-i;e=e+1|0;d=f}}while(0);return}function Mh(a){a=a|0;if(a|0){l6(c[a+8>>2]|0);l6(a)}return}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=b;while(1){b=Oh(b,c)|0;if(!b)break;if(Ph(a,b)|0){d=b;continue}e=(Qh(a,b)|0)==0;d=e?d:b}return d|0}function Oh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a)Aa(86128,86053,1023,86130);a=a+16|0;if((b|0)<0){a=c[a>>2]|0;e=c[a+236>>2]|0;if((e|0)>0){a=(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(c[a+232>>2]<<6)+4|0;d=e+-1|0;f=7}else g=0}else{a=c[a>>2]|0;e=c[a+236>>2]|0;a=(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(c[a+232>>2]<<6)+4|0;d=e+1|0;f=7}if((f|0)==7){a=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(a)if((S((c[(c[a+16>>2]|0)+236>>2]|0)-e|0,b)|0)>0)g=a;else Aa(86139,86053,1029,86130);else g=0}return g|0}function Ph(b,d){b=b|0;d=d|0;if(!(a[(c[d+16>>2]|0)+156>>0]|0))b=(EC(b,d)|0)!=0;else b=0;return b&1|0}function Qh(b,d){b=b|0;d=d|0;var e=0,f=0;d=c[d+16>>2]|0;if(((a[d+156>>0]|0)==1?(c[d+176>>2]|0)==1:0)?(c[d+184>>2]|0)==1:0){d=c[d+180>>2]|0;while(1){d=c[d>>2]|0;e=c[d+16>>2]|0;if(!(a[e+112>>0]|0))break;else d=e+116|0}if(EC(b,d)|0)d=1;else f=7}else f=7;if((f|0)==7)d=0;return d|0}function Rh(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=c[47194]|0;a:do if((d|0)!=0|(c[47223]|0)!=0){d=_O(b,d,0)|0;if(d|0){switch(a[d>>0]|0){case 0:break a;case 111:{if(!(f2(d,86341)|0)){$h(b,1);break a}break}case 105:{if(!(f2(d,99036)|0)){$h(b,0);break a}break}default:{}}c[e>>2]=d;dA(1,86345,e)|0;break}d=MD(b)|0;while(1){if(!d)break;if(!(Mj(d)|0))Rh(d);d=ND(d)|0}if(c[47223]|0)ai(b)}while(0);l=f;return}function Sh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;e=c[k>>2]|0;j=b[e+236>>1]|0;while(1){if((j|0)>(b[e+238>>1]|0))break;else{f=0;i=0}while(1){g=c[e+196>>2]|0;h=c[g+(j<<6)>>2]|0;if((i|0)>=(h|0))break;g=c[(c[(c[g+(j<<6)+4>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;a[g+158>>0]=0;a[g+157>>0]=0;c[g+284>>2]=i;if((f|0)==0&(c[g+192>>2]|0)>0){f=Zh(h,h)|0;e=c[k>>2]|0;c[(c[e+196>>2]|0)+(j<<6)+56>>2]=f;f=1}i=i+1|0}a:do if(f){i=0;f=h;while(1){if((i|0)>=(f|0))break a;h=c[(c[g+(j<<6)+4>>2]|0)+(i<<2)>>2]|0;if(!(a[(c[h+16>>2]|0)+157>>0]|0)){_h(d,h);e=c[k>>2]|0;f=c[e+196>>2]|0;g=f;f=c[f+(j<<6)>>2]|0}i=i+1|0}}while(0);j=j+1|0}return}function Th(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=d+16|0;e=c[t>>2]|0;if(a[e+240>>0]|0){h=0;s=b[e+236>>1]|0;f=0;a:while(1){r=(h|0)!=0;if((s|0)>(b[e+238>>1]|0))break;g=c[e+196>>2]|0;i=c[g+(s<<6)>>2]|0;if(!i)g=h;else{g=c[g+(s<<6)+4>>2]|0;p=c[(c[(c[g>>2]|0)+16>>2]|0)+236>>2]|0;e=0;while(1){h=e+1|0;if((e|0)>=(i|0))break;a[(c[(c[g+(e<<2)>>2]|0)+16>>2]|0)+157>>0]=0;e=h}e=h<<2;if(r)q=KK(f,e)|0;else q=IK(e)|0;m=0;n=0;while(1){e=c[t>>2]|0;g=c[e+196>>2]|0;h=c[g+(s<<6)>>2]|0;i=e+116|0;o=q+(m<<2)|0;if((h|0)<=(n|0))break;j=c[(c[g+(s<<6)+4>>2]|0)+(((c[i>>2]&1|0)==0?h+~n|0:n)<<2)>>2]|0;l=j+16|0;e=0;k=0;while(1){i=c[l>>2]|0;if((e|0)>=(c[i+200>>2]|0)){g=0;h=0;e=i;break}i=((Vh(d,c[(c[i+196>>2]|0)+(e<<2)>>2]|0)|0)!=0&1)+k|0;e=e+1|0;k=i}while(1){if((h|0)>=(c[e+192>>2]|0))break;i=((Vh(d,c[(c[e+188>>2]|0)+(h<<2)>>2]|0)|0)!=0&1)+g|0;g=i;h=h+1|0;e=c[l>>2]|0}if(g|k)if((k|0)==0&(a[e+157>>0]|0)==0)e=(Wh(d,j,o,s)|0)+m|0;else e=m;else{c[o>>2]=j;e=m+1|0}m=e;n=n+1|0}b:do if(m){c:do if(!(c[i>>2]&1)){g=q;e=o;while(1){e=e+-4|0;if(g>>>0>=e>>>0){h=0;break c}o=c[g>>2]|0;c[g>>2]=c[e>>2];c[e>>2]=o;g=g+4|0}}else h=0;while(0);while(1){e=c[t>>2]|0;i=c[e+196>>2]|0;g=c[i+(s<<6)>>2]|0;if((h|0)>=(g|0)){m=0;h=i;break}o=c[q+(h<<2)>>2]|0;c[(c[i+(s<<6)+4>>2]|0)+(h<<2)>>2]=o;c[(c[o+16>>2]|0)+236>>2]=h+p;h=h+1|0}while(1){if((m|0)>=(g|0))break b;l=(c[(c[h+(s<<6)+4>>2]|0)+(m<<2)>>2]|0)+16|0;i=c[(c[l>>2]|0)+188>>2]|0;if(i){k=0;g=i;while(1){h=c[g+(k<<2)>>2]|0;e=c[t>>2]|0;if(!h)break;j=c[h>>2]&3;i=c[(c[(c[((j|0)==2?h:h+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;j=c[(c[(c[((j|0)==3?h:h+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;if(!(c[e+116>>2]&1))if((i|0)<(j|0))u=35;else e=k;else if((i|0)>(j|0))u=35;else e=k;if((u|0)==35){u=0;if(Vh(d,h)|0){u=36;break a}rh(h);Xh(d,h);e=k+-1|0;g=c[(c[l>>2]|0)+188>>2]|0}k=e+1|0}g=c[e+196>>2]|0;h=g;g=c[g+(s<<6)>>2]|0}m=m+1|0}}while(0);a[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(s<<6)+49>>0]=0;g=q;f=q}h=g;s=s+1|0}if((u|0)==36)Aa(86187,86053,1561,86226);if(r)l6(f)}return}function Uh(a){a=a|0;var d=0,e=0;e=a+16|0;a=c[e>>2]|0;a:do if(c[a+268>>2]|0){d=b[a+236>>1]|0;while(1){if((d|0)>(b[a+238>>1]|0))break a;c[(c[a+268>>2]|0)+(d<<2)>>2]=c[c[(c[a+196>>2]|0)+(d<<6)+4>>2]>>2];d=d+1|0;a=c[e>>2]|0}}while(0);return}function Vh(a,b){a=a|0;b=b|0;if((c[(c[b+16>>2]|0)+156>>2]|0)!=0?(Yh(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)!=0:0)a=(Yh(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)!=0&1;else a=0;return a|0}function Wh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=d+16|0;g=c[l>>2]|0;a[g+157>>0]=1;a:do if((c[g+192>>2]|0)>0){h=0;j=0;while(1){i=c[(c[g+188>>2]|0)+(j<<2)>>2]|0;if(!i)break a;if((Vh(b,i)|0)!=0?(k=c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,(a[(c[k+16>>2]|0)+157>>0]|0)==0):0)h=(Wh(b,k,e+(h<<2)|0,f)|0)+h|0;j=j+1|0;g=c[l>>2]|0}}else h=0;while(0);if((c[g+232>>2]|0)==(f|0)){c[e+(h<<2)>>2]=d;return h+1|0}else Aa(86239,86053,1490,86255);return 0}function Xh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=c[d>>2]&3;i=c[((h|0)==2?d:d+-48|0)+40>>2]|0;f=c[(c[i+16>>2]|0)+188>>2]|0;l=d+48|0;a:do if(!f)m=14;else{g=((h|0)==3?d:l)+40|0;e=0;while(1){j=c[f+(e<<2)>>2]|0;if(!j){m=14;break a}if((c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)==(c[g>>2]|0))break;else e=e+1|0}sh(d,j);e=(c[d+16>>2]|0)+172|0;if(!(c[e>>2]|0))c[e>>2]=j;e=c[j+16>>2]|0;if((a[e+112>>0]|0)==4?(k=e+116|0,(c[k>>2]|0)==0):0)c[k>>2]=d;b=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;e=c[b+204>>2]|0;b=(c[b+208>>2]<<2)+8|0;if(!e)e=IK(b)|0;else e=KK(e,b)|0;c[(c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0)+204>>2]=e;i=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;j=c[i+204>>2]|0;i=i+208|0;k=c[i>>2]|0;c[i>>2]=k+1;c[j+(k<<2)>>2]=d;l=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;c[(c[l+204>>2]|0)+(c[l+208>>2]<<2)>>2]=0}while(0);if((m|0)==14){m=jh(i,c[((h|0)==3?d:l)+40>>2]|0,d)|0;d=c[d+16>>2]|0;l=c[m+16>>2]|0;a[l+112>>0]=(a[d+112>>0]|0)==4?4:3;c[l+96>>2]=c[d+96>>2];qh(b,m)}return}function Yh(a,b){a=a|0;b=b|0;var c=0;c=Ph(a,b)|0;return Qh(a,b)|0|c|0}function Zh(a,b){a=a|0;b=b|0;var d=0;d=HK(12)|0;c[d>>2]=a;c[d+4>>2]=b;c[d+8>>2]=HK(S(b,a)|0)|0;return d|0}function _h(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;o=d+16|0;l=c[o>>2]|0;k=c[(c[(c[b+16>>2]|0)+196>>2]|0)+(c[l+232>>2]<<6)+56>>2]|0;a[l+157>>0]=1;a[l+158>>0]=1;l=(c[(c[(dg(b)|0)+16>>2]|0)+180>>2]|0)>0;e=c[o>>2]|0;f=c[e+188>>2]|0;a:do if(f){m=k+4|0;n=k+8|0;d=0;b:while(1){j=c[f+(d<<2)>>2]|0;if(!j){p=e;break a}g=j+-48|0;e=j+48|0;if(l){if((EC(b,c[((c[j>>2]&3|0)==3?j:e)+40>>2]|0)|0)!=0?(EC(b,c[((c[j>>2]&3|0)==2?j:g)+40>>2]|0)|0)!=0:0)q=7}else q=7;do if((q|0)==7){q=0;h=j+16|0;if(c[(c[h>>2]|0)+156>>2]|0){s=c[j>>2]&3;r=c[(c[((s|0)==2?j:g)+40>>2]|0)+16>>2]|0;i=c[r+284>>2]|0;f=(i|0)<(c[k>>2]|0);e=((s|0)==3?j:e)+40|0;if((a[r+158>>0]|0)==1){if(!f){q=10;break b}e=c[(c[(c[e>>2]|0)+16>>2]|0)+284>>2]|0;f=c[m>>2]|0;if((e|0)>=(f|0)){q=12;break b}a[(c[n>>2]|0)+((S(f,i)|0)+e)>>0]=1;rh(j);d=d+-1|0;if((a[(c[h>>2]|0)+112>>0]|0)==4)break;Xh(b,j);break}else{if(!f){q=16;break b}e=c[(c[(c[e>>2]|0)+16>>2]|0)+284>>2]|0;f=c[m>>2]|0;if((e|0)>=(f|0)){q=18;break b}a[(c[n>>2]|0)+((S(f,e)|0)+i)>>0]=1;e=c[((c[j>>2]&3|0)==2?j:g)+40>>2]|0;if(a[(c[e+16>>2]|0)+157>>0]|0)break;_h(b,e);break}}}while(0);f=c[o>>2]|0;d=d+1|0;e=f;f=c[f+188>>2]|0}if((q|0)==10)Aa(86265,86053,1251,86297);else if((q|0)==12)Aa(86309,86053,1252,86297);else if((q|0)==16)Aa(86265,86053,1260,86297);else if((q|0)==18)Aa(86309,86053,1261,86297)}else p=e;while(0);a[p+158>>0]=0;return}function $h(a,b){a=a|0;b=b|0;var c=0;c=gC(a)|0;while(1){if(!c)break;bi(a,c,b);c=hC(a,c)|0}return}function ai(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;d=gC(b)|0;while(1){if(!d)break;e=_O(d,c[47223]|0,0)|0;a:do if(e|0){switch(a[e>>0]|0){case 0:break a;case 111:{if(!(f2(e,86341)|0)){bi(b,d,1);break a}break}case 105:{if(!(f2(e,99036)|0)){bi(b,d,0);break a}break}default:{}}h=HB(d)|0;c[f>>2]=e;c[f+4>>2]=h;dA(1,86376,f)|0}while(0);d=hC(b,d)|0}l=g;return}function bi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[46782]|0;h=d+16|0;f=c[h>>2]|0;a:do if(!(c[f+212>>2]|0)){i=(e|0)!=0;b:do if(i){g=0;d=0;e=f;while(1){f=c[(c[e+180>>2]|0)+(g<<2)>>2]|0;if(!f)break b;if(!(ci(f)|0)){c[j+(d<<2)>>2]=f;d=d+1|0;e=c[h>>2]|0}g=g+1|0}}else{g=0;d=0;e=f;while(1){f=c[(c[e+172>>2]|0)+(g<<2)>>2]|0;if(!f)break b;if(!(ci(f)|0)){c[j+(d<<2)>>2]=f;d=d+1|0;e=c[h>>2]|0}g=g+1|0}}while(0);if((d|0)>=2){c[j+(d<<2)>>2]=0;k3(j,d,4,61);h=i?2:3;g=i?-1:1;f=1;while(1){d=c[j+(f<<2)>>2]|0;if(!d)break a;e=c[j+(f+-1<<2)>>2]|0;e=c[((c[e>>2]&3|0)==(h|0)?e:e+(g*48|0)|0)+40>>2]|0;d=c[((c[d>>2]&3|0)==(h|0)?d:d+(g*48|0)|0)+40>>2]|0;if(ch(e,d)|0)break a;i=jh(e,d,0)|0;a[(c[i+16>>2]|0)+112>>0]=4;qh(b,i);f=f+1|0}}}while(0);return}function ci(a){a=a|0;var b=0;while(1){b=c[(c[a+16>>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;return (c[(c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)!=(c[(c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)|0}function di(a,b){a=a|0;b=b|0;return ((c[c[a>>2]>>2]|0)>>>4)-((c[c[b>>2]>>2]|0)>>>4)|0}function ei(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=c[a+16>>2]|0;h=g+220|0;i=c[h>>2]|0;if((i|0)>=2){f=c[g+216>>2]|0;a=0;e=0;while(1){if((e|0)==(i|0))break;d=c[f+(e<<2)>>2]|0;if(a|0)c[(c[a+16>>2]|0)+164>>2]=d;j=c[d+16>>2]|0;c[j+168>>2]=a;a=d;d=j;while(1){d=c[d+164>>2]|0;if(!d)break;a=d;d=c[d+16>>2]|0}e=e+1|0}c[h>>2]=1;c[g+192>>2]=c[f>>2];b[g+236>>1]=c[46784];b[g+238>>1]=c[46785]}return}function fi(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=c[46783]|0;j=i+16|0;f=c[j>>2]|0;g=0;h=b[f+236>>1]|0;while(1){if((h|0)>=(b[f+238>>1]|0))break;d=c[f+196>>2]|0;if(!(a[d+(h<<6)+49>>0]|0)){e=yi(i,h)|0;d=c[j>>2]|0;f=c[d+196>>2]|0;c[f+(h<<6)+52>>2]=e;a[f+(h<<6)+49>>0]=1}else{e=c[d+(h<<6)+52>>2]|0;d=f}g=e+g|0;h=h+1|0;f=d}return g|0}function gi(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0;a=c[a+16>>2]|0;g=b[a+238>>1]|0;i=a+196|0;a=b[a+236>>1]|0;while(1){if((a|0)>(g|0))break;f=c[i>>2]|0;e=c[f+(a<<6)>>2]|0;f=f+(a<<6)+4|0;d=0;while(1){if((d|0)>=(e|0))break;j=c[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;h[j+16>>3]=+(c[j+236>>2]|0);d=d+1|0}a=a+1|0}return}function hi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;m=r;n=d+16|0;o=TO(c[(c[n>>2]|0)+232>>2]|0)|0;j=c[n>>2]|0;f=j+192|0;g=f;while(1){g=c[g>>2]|0;if(!g)break;g=c[g+16>>2]|0;a[g+157>>0]=0;g=g+164|0}h=b[j+238>>1]|0;i=j+196|0;g=b[j+236>>1]|0;while(1){if((g|0)>(h|0))break;c[(c[i>>2]|0)+(g<<6)>>2]=0;g=g+1|0}i=(e|0)==0;while(1){g=c[f>>2]|0;if(!g)break;h=g+16|0;f=c[h>>2]|0;if((c[c[(i?f+172|0:f+180|0)>>2]>>2]|0)==0?(k=f+157|0,(a[k>>0]|0)==0):0){a[k>>0]=1;VO(o,g);while(1){f=WO(o)|0;if(!f)break;if((a[(c[f+16>>2]|0)+159>>0]|0)==7){fl(d,f,e,o);continue}else{wi(d,f);xi(o,f,e);continue}}f=c[h>>2]|0}f=f+164|0}if(WO(o)|0)dA(1,86584,m)|0;f=c[n>>2]|0;j=b[f+236>>1]|0;while(1){if((j|0)>(b[f+238>>1]|0))break;a[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(j<<6)+49>>0]=0;if((c[f+116>>2]&1|0)!=0?(p=c[f+196>>2]|0,q=c[p+(j<<6)>>2]|0,(q|0)>0):0){g=c[p+(j<<6)+4>>2]|0;h=q+-1|0;i=(h|0)/2|0;f=0;while(1){if((f|0)>(i|0))break;qi(c[g+(f<<2)>>2]|0,c[g+(h-f<<2)>>2]|0);f=f+1|0}f=c[n>>2]|0}j=j+1|0}if((dg(d)|0)==(d|0)?(fi(0)|0)>0:0)ki(d,0);UO(o);l=r;return}function ii(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=d+16|0;d=c[n>>2]|0;f=b[d+236>>1]|0;e=b[d+238>>1]|0;l=e<<16>>16;m=d+196|0;g=f;while(1){if((g|0)>(l|0))break;k=c[m>>2]|0;j=c[k+(g<<6)>>2]|0;k=k+(g<<6)+4|0;i=0;while(1){if((i|0)>=(j|0))break;o=c[(c[(c[k>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;c[o+236>>2]=~~+h[o+16>>3];i=i+1|0}g=g+1|0}while(1){if((f|0)>(e<<16>>16|0))break;a[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(f<<6)+49>>0]=0;o=c[d+196>>2]|0;k3(c[o+(f<<6)+4>>2]|0,c[o+(f<<6)>>2]|0,4,62);o=c[n>>2]|0;f=f+1|0;e=b[o+238>>1]|0;d=o}return}function ji(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((d|0)%4|0|0)<2&1;f=c[a+16>>2]|0;i=b[f+238>>1]|0;j=i<<16>>16;f=b[f+236>>1]|0;g=f<<16>>16;h=c[(c[46783]|0)+16>>2]|0;if(!(d&1)){k=1;e=j;d=(f<<16>>16<=(b[h+236>>1]|0)&1)+g|0}else{k=-1;e=g;d=((i<<16>>16>=(b[h+238>>1]|0))<<31>>31)+j|0}e=k+e|0;while(1){if((d|0)==(e|0))break;ti(a,d,l,(si(a,d,d-k|0)|0)&255);d=d+k|0}ki(a,l^1);return}function ki(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;g=c[k>>2]|0;i=b[g+236>>1]|0;j=b[g+238>>1]|0;h=g+196|0;f=i<<16>>16;while(1){if((f|0)>(j|0)){h=i;break}a[(c[h>>2]|0)+(f<<6)+48>>0]=1;f=f+1|0}while(1){f=0;h=h<<16>>16;while(1){if((h|0)>(b[g+238>>1]|0))break;if(a[(c[g+196>>2]|0)+(h<<6)+48>>0]|0){f=(ri(d,h,e)|0)+f|0;g=c[k>>2]|0}h=h+1|0}if((f|0)<=0)break;h=b[g+236>>1]|0}return}function li(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=d+16|0;e=c[o>>2]|0;n=b[e+238>>1]|0;a:while(1){if((n|0)<(b[e+236>>1]|0)){e=16;break}f=c[e+196>>2]|0;a[f+(n<<6)+48>>0]=0;p=(n|0)>0;q=n+1|0;g=0;b:while(1){l=(c[f+(n<<6)>>2]|0)+-1|0;m=f+(n<<6)+4|0;k=f+(q<<6)|0;while(1){if((g|0)>=(l|0))break b;j=c[m>>2]|0;i=c[j+(g<<2)>>2]|0;g=g+1|0;j=c[j+(g<<2)>>2]|0;if((c[(c[i+16>>2]|0)+236>>2]|0)>=(c[(c[j+16>>2]|0)+236>>2]|0)){e=7;break a}if(mi(d,i,j)|0)continue;if(p){f=ni(i,j)|0;h=ni(j,i)|0}else{f=0;h=0}if((c[k>>2]|0)>0){f=(oi(i,j)|0)+f|0;h=(oi(j,i)|0)+h|0}if((h|0)<=(f|0))break}pi(d,n,i,j);e=c[o>>2]|0;f=c[e+196>>2]|0}n=n+-1|0}if((e|0)==7)Aa(86535,86053,721,86561);else if((e|0)==16)return}function mi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=c[d+16>>2]|0;i=c[j+212>>2]|0;f=c[e+16>>2]|0;g=c[f+212>>2]|0;h=(i|0)!=(g|0);do if(!(a[194049]|0))if((g|0)==0|((i|0)==0|h^1))k=9;else{if((a[j+159>>0]|0)==7?(a[j+156>>0]|0)==1:0){b=0;break}if((a[f+159>>0]|0)==7?(a[f+156>>0]|0)==1:0){b=0;break}b=1}else if(h)b=1;else k=9;while(0);if((k|0)==9){f=c[b+16>>2]|0;b=c[(c[f+196>>2]|0)+(c[j+232>>2]<<6)+56>>2]|0;if(!b)b=0;else{j=(c[f+116>>2]&1|0)==0;k=S(c[b+4>>2]|0,c[(c[(j?d:e)+16>>2]|0)+284>>2]|0)|0;b=a[(c[b+8>>2]|0)+((c[(c[(j?e:d)+16>>2]|0)+284>>2]|0)+k)>>0]|0}}return b|0}function ni(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+16|0;j=c[(c[d+16>>2]|0)+172>>2]|0;d=0;while(1){a=c[j>>2]|0;if(!a)break;i=c[a+16>>2]|0;k=b[i+154>>1]|0;g=c[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;i=i+16|0;f=c[(c[l>>2]|0)+172>>2]|0;a=d;while(1){d=c[f>>2]|0;if(!d)break;e=(c[(c[(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-g|0;d=d+16|0;if((e|0)<=0){if((e|0)==0?(m=c[d>>2]|0,+h[m+16>>3]>+h[i>>3]):0){d=m;n=9}}else{d=c[d>>2]|0;n=9}if((n|0)==9){n=0;a=(S(b[d+154>>1]|0,k)|0)+a|0}f=f+4|0}j=j+4|0;d=a}return d|0}function oi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+16|0;j=c[(c[d+16>>2]|0)+180>>2]|0;d=0;while(1){a=c[j>>2]|0;if(!a)break;i=c[a+16>>2]|0;k=b[i+154>>1]|0;g=c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;i=i+56|0;f=c[(c[l>>2]|0)+180>>2]|0;a=d;while(1){d=c[f>>2]|0;if(!d)break;e=(c[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-g|0;d=d+16|0;if((e|0)<=0){if((e|0)==0?(m=c[d>>2]|0,+h[m+56>>3]>+h[i>>3]):0){d=m;n=9}}else{d=c[d>>2]|0;n=9}if((n|0)==9){n=0;a=(S(b[d+154>>1]|0,k)|0)+a|0}f=f+4|0}j=j+4|0;d=a}return d|0}function pi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=a[(c[e+16>>2]|0)+156>>0]|0;if(i<<24>>24!=(a[(c[f+16>>2]|0)+156>>0]|0)){j=b+16|0;l=c[(c[j>>2]|0)+196>>2]|0;k=c[l+(d<<6)>>2]|0;l=l+(d<<6)+4|0;b=0;g=0;h=0;while(1){if((b|0)>=(k|0))break;o=(a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)==0;b=b+1|0;g=(o&1)+g|0;h=((o^1)&1)+h|0}i=i<<24>>24==0;h=(g|0)<(h|0)?(i?e:f):i?f:e;i=0;b=0;while(1){if((b|0)>=(k|0))break;i=(c[(c[l>>2]|0)+(b<<2)>>2]|0)==(h|0)?b:i;b=b+1|0}o=(a[(c[h+16>>2]|0)+156>>0]|0)==0&1;n=0;g=i;while(1){b=g+-1|0;if((g|0)<=0){m=0;b=i;break}if((a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0)){m=0;b=i;break}n=n+1|0;g=b}while(1){b=b+1|0;if((b|0)>=(k|0))break;if((a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0))break;m=m+1|0}qi(e,f);j=c[(c[j>>2]|0)+196>>2]|0;k=c[j+(d<<6)>>2]|0;j=j+(d<<6)+4|0;b=0;while(1){if((b|0)>=(k|0)){h=0;g=i;break}i=(c[(c[j>>2]|0)+(b<<2)>>2]|0)==(h|0)?b:i;b=b+1|0}while(1){b=g+-1|0;if((g|0)<=0){g=0;b=i;break}if((a[(c[(c[(c[j>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0)){g=0;b=i;break}h=h+1|0;g=b}while(1){b=b+1|0;if((b|0)>=(k|0))break;if((a[(c[(c[(c[j>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0))break;g=g+1|0}d=h-g|0;o=n-m|0;if((((d|0)>-1?d:0-d|0)|0)>(((o|0)>-1?o:0-o|0)|0))qi(e,f)}return}function qi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+16>>2]|0;e=c[f+232>>2]|0;f=f+236|0;d=c[f>>2]|0;g=b+16|0;h=c[(c[g>>2]|0)+236>>2]|0;c[f>>2]=h;f=(c[46783]|0)+16|0;c[(c[(c[(c[f>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(h<<2)>>2]=a;c[(c[g>>2]|0)+236>>2]=d;c[(c[(c[(c[f>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(d<<2)>>2]=b;return}function ri(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=d+16|0;n=c[(c[q>>2]|0)+196>>2]|0;a[n+(e<<6)+48>>0]=0;r=(e|0)>0;s=e+1|0;o=(f|0)!=0;p=e+-1|0;g=0;i=0;f=n;a:while(1){l=(c[f+(e<<6)>>2]|0)+-1|0;m=f+(e<<6)+4|0;h=f+(s<<6)|0;n=g;while(1){if((n|0)>=(l|0)){f=17;break a}k=c[m>>2]|0;j=c[k+(n<<2)>>2]|0;n=n+1|0;k=c[k+(n<<2)>>2]|0;if((c[(c[j+16>>2]|0)+236>>2]|0)>=(c[(c[k+16>>2]|0)+236>>2]|0)){f=5;break a}if(mi(d,j,k)|0)continue;if(r){f=ni(j,k)|0;g=ni(k,j)|0}else{f=0;g=0}if((c[h>>2]|0)>0){f=(oi(j,k)|0)+f|0;g=(oi(k,j)|0)+g|0}if((f|0)>(g|0))break;if((f|0)==(g|0)&(o&(f|0)>0)){f=g;break}}qi(j,k);i=f-g+i|0;g=c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0;a[g+(e<<6)+49>>0]=0;h=c[q>>2]|0;f=c[h+196>>2]|0;a[f+(e<<6)+48>>0]=1;if((b[h+236>>1]|0)<(e|0)){a[g+(p<<6)+49>>0]=0;a[f+(p<<6)+48>>0]=1}if((b[h+238>>1]|0)<=(e|0)){g=n;continue}a[g+(s<<6)+49>>0]=0;a[f+(s<<6)+48>>0]=1;g=n}if((f|0)==5)Aa(86535,86053,770,86569);else if((f|0)==17)return i|0;return 0}function si(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=c[46781]|0;q=a+16|0;a=c[(c[q>>2]|0)+196>>2]|0;r=c[a+(e<<6)+4>>2]|0;n=(f|0)>(e|0);o=p+4|0;m=0;while(1){f=c[a+(e<<6)>>2]|0;if((m|0)>=(f|0)){a=0;i=0;break}l=(c[r+(m<<2)>>2]|0)+16|0;k=c[l>>2]|0;a:do if(n){j=c[k+180>>2]|0;a=0;i=0;while(1){f=c[j+(i<<2)>>2]|0;if(!f)break a;g=c[f+16>>2]|0;if((b[g+154>>1]|0)>0){c[p+(a<<2)>>2]=d[g+88>>0]|c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8;a=a+1|0}i=i+1|0}}else{j=c[k+172>>2]|0;i=0;a=0;while(1){f=c[j+(i<<2)>>2]|0;if(!f)break a;g=c[f+16>>2]|0;if((b[g+154>>1]|0)>0){c[p+(a<<2)>>2]=d[g+48>>0]|c[(c[(c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8;a=a+1|0}i=i+1|0}}while(0);b:do switch(a|0){case 0:{h[k+240>>3]=-1.0;break}case 1:{h[k+240>>3]=+(c[p>>2]|0);break}case 2:{h[k+240>>3]=+(((c[o>>2]|0)+(c[p>>2]|0)|0)/2|0|0);break}default:{k3(p,a,4,60);f=(a|0)/2|0;j=c[p+(f<<2)>>2]|0;i=(c[l>>2]|0)+240|0;if(a&1|0){h[i>>3]=+(j|0);break b}g=(c[p+(a+-1<<2)>>2]|0)-j|0;a=c[p+(f+-1<<2)>>2]|0;f=a-(c[p>>2]|0)|0;if((f|0)==(g|0)){h[i>>3]=+((a+j|0)/2|0|0);break b}else{h[i>>3]=+(((S(f,j)|0)+(S(a,g)|0)|0)/(f+g|0)|0|0);break b}}}while(0);m=m+1|0;a=c[(c[q>>2]|0)+196>>2]|0}while(1){if((i|0)>=(f|0))break;g=c[r+(i<<2)>>2]|0;p=c[g+16>>2]|0;if((c[p+184>>2]|0)==0?(c[p+176>>2]|0)==0:0){a=(ui(g)|0|a&255)&255;f=c[(c[(c[q>>2]|0)+196>>2]|0)+(e<<6)>>2]|0}i=i+1|0}return a|0}function ti(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=c[(c[b+16>>2]|0)+196>>2]|0;q=c[m+(d<<6)+4>>2]|0;m=c[m+(d<<6)>>2]|0;o=(e|0)!=0;n=(f|e|0)==0;f=0;e=m;m=q+(m<<2)|0;while(1){l=e+-1|0;if((e|0)>0)e=q;else break;a:while(1){b:while(1){if(e>>>0>=m>>>0)break a;do{if(e>>>0>=m>>>0)break a;k=c[e>>2]|0;e=e+4|0}while(+h[(c[k+16>>2]|0)+240>>3]<0.0);g=0;while(1){if(e>>>0>=m>>>0)break a;i=c[e>>2]|0;if(!(g<<24>>24!=0?(c[(c[i+16>>2]|0)+212>>2]|0)!=0:0)){if(mi(b,k,i)|0)continue b;j=c[i+16>>2]|0;if(+h[j+240>>3]>=0.0)break;g=(c[j+212>>2]|0)==0?g:1}e=e+4|0}g=~~+h[(c[k+16>>2]|0)+240>>3];j=~~+h[(c[i+16>>2]|0)+240>>3];if((g|0)>(j|0)|o&(g|0)==(j|0))break}qi(k,i);f=f+1|0}e=l;m=n?m+-4|0:m}if(f|0?(p=c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0,a[p+(d<<6)+49>>0]=0,(d|0)>0):0)a[p+(d+-1<<6)+49>>0]=0;return}function ui(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,i=0;a=c[a+16>>2]|0;i=a+240|0;if((c[a+200>>2]|0)>0){g=c[a+196>>2]|0;a=c[g>>2]|0;a=c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0;d=1;while(1){e=c[g+(d<<2)>>2]|0;f=c[a+16>>2]|0;if(!e)break;e=c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;a=(c[(c[e+16>>2]|0)+236>>2]|0)>(c[f+236>>2]|0)?e:a;d=d+1|0}b=+h[f+240>>3];if(!(b>=0.0))a=1;else{h[i>>3]=b+1.0;a=0}}else if((c[a+192>>2]|0)>0){e=c[a+188>>2]|0;d=c[e>>2]|0;a=1;d=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;while(1){f=c[e+(a<<2)>>2]|0;g=c[d+16>>2]|0;if(!f)break;f=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;a=a+1|0;d=(c[(c[f+16>>2]|0)+236>>2]|0)<(c[g+236>>2]|0)?f:d}b=+h[g+240>>3];if(b>0.0){h[i>>3]=b+-1.0;a=0}else a=1}else a=1;return a|0}function vi(a,b){a=a|0;b=b|0;return (c[(c[(c[a>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[b>>2]|0)+16>>2]|0)+236>>2]|0)|0}function wi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+96|0;o=p+64|0;n=p+48|0;h=p+24|0;f=p;j=d+16|0;k=c[(c[j>>2]|0)+232>>2]|0;m=a+16|0;e=c[(c[m>>2]|0)+196>>2]|0;i=c[e+(k<<6)>>2]|0;do if((c[e+(k<<6)+8>>2]|0)>=1){c[(c[e+(k<<6)+4>>2]|0)+(i<<2)>>2]=d;c[(c[j>>2]|0)+236>>2]=i;a=c[m>>2]|0;f=c[a+196>>2]|0;e=f+(k<<6)|0;g=c[e>>2]|0;c[e>>2]=g+1;if((g|0)>=(c[f+(k<<6)+8>>2]|0))Aa(86649,86053,1346,86685);g=c[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]|0;if((i|0)>(g|0)){m=HB(d)|0;n=c[(c[j>>2]|0)+236>>2]|0;o=c[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]|0;c[h>>2]=1359;c[h+4>>2]=m;c[h+8>>2]=n;c[h+12>>2]=k;c[h+16>>2]=o;dA(1,86701,h)|0;break}e=b[a+236>>1]|0;a=b[a+238>>1]|0;if((k|0)<(e|0)|(k|0)>(a|0)){c[n>>2]=1364;c[n+4>>2]=k;c[n+8>>2]=e;c[n+12>>2]=a;dA(1,86774,n)|0;break}if(((c[f+(k<<6)+4>>2]|0)+(i<<2)|0)>>>0>((c[f+(k<<6)+12>>2]|0)+(g<<2)|0)>>>0){i=HB(d)|0;n=c[(c[m>>2]|0)+196>>2]|0;m=(c[n+(k<<6)+4>>2]|0)+(c[(c[j>>2]|0)+236>>2]<<2)|0;n=(c[n+(k<<6)+12>>2]|0)+(c[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]<<2)|0;c[o>>2]=1370;c[o+4>>2]=k;c[o+8>>2]=i;c[o+12>>2]=m;c[o+16>>2]=k;c[o+20>>2]=k;c[o+24>>2]=n;dA(1,86835,o)|0}}else{n=HB(a)|0;o=HB(d)|0;c[f>>2]=1339;c[f+4>>2]=n;c[f+8>>2]=o;c[f+12>>2]=k;c[f+16>>2]=i;dA(1,86594,f)|0}while(0);l=p;return}function xi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=d+16|0;a:do if(!e){g=0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+184>>2]|0))break a;d=c[(c[d+180>>2]|0)+(g<<2)>>2]|0;e=d+-48|0;f=(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;VO(b,c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)}g=g+1|0}}else{g=0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+176>>2]|0))break a;d=c[(c[d+172>>2]|0)+(g<<2)>>2]|0;e=d+48|0;f=(c[(c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)+16>>2]|0)+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;VO(b,c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)}g=g+1|0}}while(0);return}function yi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;t=u;g=d+16|0;f=c[(c[g>>2]|0)+196>>2]|0;r=c[f+(e<<6)+4>>2]|0;s=e+1|0;d=c[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(s<<6)>>2]|0;if((c[46787]|0)>(d|0))d=c[46788]|0;else{f=d+1|0;c[46787]=f;d=c[46788]|0;f=f<<2;if(!d)d=IK(f)|0;else d=KK(d,f)|0;c[46788]=d;f=c[(c[g>>2]|0)+196>>2]|0}q=f+(s<<6)|0;g=0;while(1){if((g|0)>=(c[q>>2]|0))break;c[d+(g<<2)>>2]=0;g=g+1|0}p=f+(e<<6)|0;o=0;g=0;d=0;while(1){j=c[p>>2]|0;if((o|0)>=(j|0))break;n=c[(c[(c[r+(o<<2)>>2]|0)+16>>2]|0)+180>>2]|0;a:do if((g|0)>0){m=c[46788]|0;k=0;while(1){h=c[n+(k<<2)>>2]|0;if(!h)break a;j=h+16|0;i=c[(c[(c[((c[h>>2]&3|0)==2?h:h+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;while(1){h=i+1|0;if((i|0)>=(g|0))break;i=h;d=(S(b[(c[j>>2]|0)+154>>1]|0,c[m+(h<<2)>>2]|0)|0)+d|0}k=k+1|0}}while(0);h=0;while(1){i=c[n+(h<<2)>>2]|0;if(!i)break;m=c[(c[(c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;k=(c[46788]|0)+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(b[(c[i+16>>2]|0)+154>>1]|0);g=(m|0)>(g|0)?m:g;h=h+1|0}o=o+1|0}i=f+(e<<6)+4|0;h=0;while(1){if((h|0)>=(j|0))break;g=c[(c[(c[i>>2]|0)+(h<<2)>>2]|0)+16>>2]|0;if(a[g+145>>0]|0){e=g+180|0;c[t>>2]=c[e>>2];c[t+4>>2]=c[e+4>>2];d=(zi(t,1)|0)+d|0}h=h+1|0}i=c[q>>2]|0;h=f+(s<<6)+4|0;g=0;while(1){if((g|0)>=(i|0))break;f=c[(c[(c[h>>2]|0)+(g<<2)>>2]|0)+16>>2]|0;if(a[f+145>>0]|0){s=f+172|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];d=(zi(t,-1)|0)+d|0}g=g+1|0}l=u;return d|0}function zi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(d|0)>0;l=c[a>>2]|0;d=0;a=0;a:while(1){m=c[l+(d<<2)>>2]|0;if(!m)break;d=d+1|0;k=m+16|0;if(n){j=m+-48|0;i=d;while(1){e=c[l+(i<<2)>>2]|0;if(!e)continue a;f=c[e+16>>2]|0;g=c[k>>2]|0;if(+((c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[((c[m>>2]&3|0)==2?m:j)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)*(+h[f+16>>3]-+h[g+16>>3])<0.0)a=(S(b[f+154>>1]|0,b[g+154>>1]|0)|0)+a|0;i=i+1|0}}else{j=m+48|0;i=d;while(1){e=c[l+(i<<2)>>2]|0;if(!e)continue a;f=c[e+16>>2]|0;g=c[k>>2]|0;if(+((c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[((c[m>>2]&3|0)==3?m:j)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)*(+h[f+56>>3]-+h[g+56>>3])<0.0)a=(S(b[f+154>>1]|0,b[g+154>>1]|0)|0)+a|0;i=i+1|0}}}return a|0}function Ai(a){a=a|0;var b=0.0,d=0.0;c[46786]=8;c[47183]=24;h[23234]=.995;a=NA(a,86957)|0;if(a|0?(b=+a6(a),b>0.0):0){d=b*+(c[46786]|0);c[46786]=~~(d<=1.0?1.0:d);b=b*+(c[47183]|0);c[47183]=~~(b<=1.0?1.0:b)}return}function Bi(a){a=a|0;var d=0,e=0;e=(b[(c[a+16>>2]|0)+238>>1]|0)+2|0;d=HK(e<<2)|0;Di(a,d,e,0)|0;l6(d);return}function Ci(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+16|0;i=HK((b[(c[h>>2]|0)+238>>1]<<2)+8|0)|0;g=gC(a)|0;while(1){if(!g)break;f=i+(c[(c[g+16>>2]|0)+232>>2]<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=UA(a,g)|0;while(1){if(!f)break;j=c[f>>2]&3;d=c[(c[(c[((j|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;j=c[(c[(c[((j|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;k=(d|0)>(j|0);e=k?d:j;d=k?j:d;while(1){d=d+1|0;if((d|0)>=(e|0))break;k=i+(d<<2)|0;c[k>>2]=(c[k>>2]|0)+1}f=WA(a,f)|0}g=hC(a,g)|0}f=HK((b[(c[h>>2]|0)+238>>1]<<6)+128|0)|0;e=c[h>>2]|0;c[e+196>>2]=f;d=b[e+236>>1]|0;while(1){if((d|0)>(b[e+238>>1]|0))break;j=i+(d<<2)|0;e=c[j>>2]|0;c[f+(d<<6)>>2]=e;c[f+(d<<6)+8>>2]=e;j=HK((c[j>>2]<<2)+4|0)|0;e=c[h>>2]|0;k=c[e+196>>2]|0;c[k+(d<<6)+4>>2]=j;c[k+(d<<6)+12>>2]=j;d=d+1|0;f=k}l6(i);return}function Di(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;m=a+16|0;i=1;while(1){g=c[m>>2]|0;if((i|0)>(c[g+180>>2]|0))break;l=Di(c[(c[g+184>>2]|0)+(i<<2)>>2]|0,d,e,f)|0;i=i+1|0;f=l}a:do if((dg(a)|0)!=(a|0)){u6(d|0,0,e<<2|0)|0;g=gC(a)|0;while(1){if(!g)break;k=g+16|0;c[d+(c[(c[k>>2]|0)+232>>2]<<2)>>2]=1;i=UA(a,g)|0;while(1){if(!i)break;l=i+-48|0;j=c[(c[k>>2]|0)+232>>2]|0;while(1){e=j+1|0;if((j|0)>=(c[(c[(c[((c[i>>2]&3|0)==2?i:l)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;c[d+(e<<2)>>2]=1;j=e}i=WA(a,i)|0}g=hC(a,g)|0}g=c[m>>2]|0;i=b[g+236>>1]|0;while(1){if((i|0)>(b[g+238>>1]|0))break a;if(!(c[d+(i<<2)>>2]|0)){if(!f)f=LD(dg(a)|0,86947,1)|0;g=qC(f,0,1)|0;RC(g,137750,304,1)|0;l=g+16|0;j=c[l>>2]|0;c[j+232>>2]=i;h[j+96>>3]=.5;h[j+88>>3]=.5;h[j+80>>3]=1.0;c[j+216>>2]=1;c[j+176>>2]=0;j=HK(20)|0;k=c[l>>2]|0;c[k+172>>2]=j;c[k+184>>2]=0;k=HK(20)|0;c[(c[l>>2]|0)+180>>2]=k;lC(a,g,1)|0;g=c[m>>2]|0}i=i+1|0}}while(0);return f|0}function Ei(a){a=a|0;var b=0,d=0;Uh(a);b=a+16|0;a=1;while(1){d=c[b>>2]|0;if((a|0)>(c[d+180>>2]|0))break;Ei(c[(c[d+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}return}function Fi(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=Gi(c[((b|0)==3?a:a+48|0)+40>>2]|0)|0;b=c[17348+(d*12|0)+((Gi(c[((b|0)==2?a:a+-48|0)+40>>2]|0)|0)<<2)>>2]|0;a=(c[a+16>>2]|0)+156|0;c[a>>2]=S(c[a>>2]|0,b)|0;return}function Gi(b){b=b|0;b=c[b+16>>2]|0;if((a[b+156>>0]|0)==1)b=2;else b=(a[b+160>>0]|0)<2&1;return b|0}function Hi(b,d){b=b|0;d=d|0;if(c[(c[b+16>>2]|0)+192>>2]|0){gl(b);Ii(b);if(a[195236]|0)ul(b);Ji(b);if(Ml(b)|0)Ii(b);Ki(b);if(sL(b,2,Li(b)|0)|0?(Mi(b),sL(b,2,Li(b)|0)|0):0)Aa(86965,86993,134,87004);Ni(b);Oi(b,d);Pi(b)}return}function Ii(d){d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;v=d+16|0;e=c[v>>2]|0;w=c[e+196>>2]|0;t=b[e+236>>1]|0;while(1){if((t|0)>(b[e+238>>1]|0))break;n=w+(t<<6)|0;o=w+(t<<6)+4|0;p=w+(t<<6)+40|0;q=w+(t<<6)+24|0;r=w+(t<<6)+32|0;s=w+(t<<6)+16|0;m=0;while(1){if((m|0)>=(c[n>>2]|0))break;l=(c[(c[o>>2]|0)+(m<<2)>>2]|0)+16|0;e=c[l>>2]|0;j=+h[e+80>>3]*.5;i=c[e+204>>2]|0;a:do if(i){g=0;while(1){f=c[i+(g<<2)>>2]|0;if(!f)break a;x=c[f>>2]&3;if((c[((x|0)==3?f:f+48|0)+40>>2]|0)==(c[((x|0)==2?f:f+-48|0)+40>>2]|0)?(u=c[(c[f+16>>2]|0)+96>>2]|0,(u|0)!=0):0){k=+h[u+32>>3]*.5;j=j>k?j:k}g=g+1|0}}while(0);if(+h[p>>3]>3]=j;h[p>>3]=j}if(+h[r>>3]>3]=j;h[r>>3]=j}i=c[e+212>>2]|0;if(i|0){if((i|0)==(d|0))g=0;else{g=XO(i,c[47198]|0,8,0)|0;e=c[l>>2]|0}f=c[e+232>>2]|0;e=c[i+16>>2]|0;j=j+ +(g|0);if((f|0)==(b[e+236>>1]|0)){x=e+128|0;k=+h[x>>3];h[x>>3]=k>j?k:j}if((f|0)==(b[e+238>>1]|0)){x=e+120|0;k=+h[x>>3];h[x>>3]=k>j?k:j}}m=m+1|0}t=t+1|0;e=c[v>>2]|0}m=oj(d)|0;g=c[v>>2]|0;e=b[g+238>>1]|0;h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[w+(e<<6)+16>>3];f=b[g+236>>1]|0;i=g+252|0;k=0.0;while(1){l=e+-1|0;if((e|0)<=(f|0))break;y=+h[w+(e<<6)+40>>3]+ +h[w+(l<<6)+32>>3]+ +(c[i>>2]|0);j=+h[w+(e<<6)+24>>3]+ +h[w+(l<<6)+16>>3]+8.0;j=y>j?y:j;if((c[w+(l<<6)>>2]|0)>0)h[(c[(c[c[w+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=j+ +h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];k=k>j?k:j;e=l}b:do if((m|0)!=0?(c[g+116>>2]&1|0)!=0:0){pj(d,0);g=c[v>>2]|0;if(a[g+276>>0]|0){e=b[g+238>>1]|0;f=b[g+236>>1]|0;j=+h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];k=0.0;while(1){i=e+-1|0;if((e|0)<=(f|0))break b;z=+h[(c[(c[c[w+(i<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];y=z-j;j=z;k=k>y?k:y;e=i}}}while(0);c:do if(a[g+276>>0]|0){i=b[g+236>>1]|0;f=b[g+238>>1]|0;while(1){e=f+-1|0;if((f|0)<=(i|0))break c;if((c[w+(e<<6)>>2]|0)<=0){f=e;continue}h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=k+ +h[(c[(c[c[w+(f<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];f=e}}while(0);e=g+192|0;while(1){e=c[e>>2]|0;if(!e)break;e=c[e+16>>2]|0;h[e+24>>3]=+h[(c[(c[c[w+(c[e+232>>2]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];e=e+164|0}return}function Ji(a){a=a|0;var b=0,d=0,e=0;kj(a);b=(c[a+16>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;e=b+16|0;b=c[e>>2]|0;d=c[b+224>>2]|0;if(d){lj(a,d);b=c[e>>2]|0}d=c[b+228>>2]|0;if(!d)d=b;else{lj(a,d);d=c[e>>2]|0}e=c[d+204>>2]|0;if(e|0){b=0;while(1)if(!(c[e+(b<<2)>>2]|0))break;else b=b+1|0}b=d+164|0}return}function Ki(a){a=a|0;Yi(a);Zi(a);_i(a);$i(a);aj(a);return}function Li(a){a=a|0;var b=0,c=0.0;b=NA(a,87193)|0;if(!b)a=2147483647;else{c=+a6(b);a=~~(c*+(qB(a)|0))}return a|0}function Mi(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=d+16|0;e=c[r>>2]|0;q=b[e+236>>1]|0;while(1){p=b[e+238>>1]|0;if((q|0)>(p|0)){s=19;break}n=c[e+196>>2]|0;o=n+(q<<6)|0;m=c[o>>2]|0;n=n+(q<<6)+4|0;l=0;f=0;a:while(1){if((l|0)>=(m|0)){s=14;break}f=c[(c[n>>2]|0)+(l<<2)>>2]|0;h=c[f+16>>2]|0;i=c[h+256>>2]|0;b:do if(i|0){g=0;while(1){j=c[i+(g<<2)>>2]|0;if(!j)break b;k=c[j>>2]&3;if((c[(c[(c[((k|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;if((c[(c[(c[((k|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;else g=g+1|0}}while(0);h=c[h+248>>2]|0;c:do if(h|0){g=0;while(1){i=c[h+(g<<2)>>2]|0;if(!i)break c;j=c[i>>2]&3;if((c[(c[(c[((j|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;if((c[(c[(c[((j|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;else g=g+1|0}}while(0);l=l+1|0}if((s|0)==14){s=0;if(f){f=c[c[n>>2]>>2]|0;e=c[c[o+(((q|0)<(p|0)?1:-1)<<6)+4>>2]>>2]|0;if(!e){s=16;break}o=ph(d)|0;p=o+16|0;a[(c[p>>2]|0)+156>>0]=2;Wi(o,f,0.0,0)|0;Wi(o,e,0.0,0)|0;c[(c[p>>2]|0)+232>>2]=c[(c[((c[(c[f+16>>2]|0)+232>>2]|0)<(c[(c[e+16>>2]|0)+232>>2]|0)?f:e)+16>>2]|0)+232>>2];e=c[r>>2]|0}}q=q+1|0}if((s|0)==16)Aa(87101,86993,111,87104);else if((s|0)==19)return}function Ni(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;a=c[a+16>>2]|0;i=c[a+196>>2]|0;e=b[a+238>>1]|0;a=b[a+236>>1]|0;while(1){if((a|0)>(e|0))break;f=c[i+(a<<6)>>2]|0;g=i+(a<<6)+4|0;d=0;while(1){if((d|0)>=(f|0))break;k=c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;j=k+232|0;h[k+16>>3]=+(c[j>>2]|0);c[j>>2]=a;d=d+1|0}a=a+1|0}return}function Oi(a,d){a=a|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0;Qi(a,a);i=a+16|0;l=c[i>>2]|0;a:do if((b[l+238>>1]|0)>0?(j=c[l+8>>2]|0,e=c[j+84>>2]|0,e|0):0){m=~~(+h[l+32>>3]-+h[l+16>>3]);n=~~(+h[l+40>>3]-+h[l+24>>3]);o=(c[l+116>>2]&1|0)==0;if((e|0)==4){p=Ri(a)|0;l=c[i>>2]|0;j=c[l+8>>2]|0}else p=(e|0)==2&1;q=+((o?m:n)|0);k=+((o?n:m)|0);i=j+72|0;e=j+64|0;b:do if(!(p<<24>>24)){switch(c[j+84>>2]|0){case 5:{f=+h[e>>3];if(f<=0.0)break a;k=f/+h[l+32>>3];q=+h[i>>3]/+h[l+40>>3];f=k1.0&q>1.0){k=f;break b}else break a}case 1:break;default:break a}g=+h[j+16>>3];f=k/q;if(f>3];if(f<=0.0)break a;g=f/q;f=+h[i>>3]/k;if(g<1.0|f<1.0)if(g>2]&1|0)==0;g=e?f:k;f=e?k:f;e=l+192|0;while(1){e=c[e>>2]|0;if(!e)break;e=c[e+16>>2]|0;p=e+16|0;q=f*+h[p>>3];h[p>>3]=+(~~(q+(q>=0.0?.5:-.5))|0);p=e+24|0;q=g*+h[p>>3];h[p>>3]=+(~~(q+(q>=0.0?.5:-.5))|0);e=e+164|0}Si(a,f,g)}while(0);if(d|0)Ti(a,d);return}function Pi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+16|0;b=(c[h>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;g=b+16|0;d=0;while(1){b=c[g>>2]|0;f=c[b+180>>2]|0;e=c[f+(d<<2)>>2]|0;if(!e)break;l6(c[e+16>>2]|0);l6(e);d=d+1|0}if(f){l6(f);b=c[g>>2]|0}d=c[b+172>>2]|0;if(d){l6(d);b=c[g>>2]|0}f=b+256|0;e=c[f+4>>2]|0;b=b+180|0;c[b>>2]=c[f>>2];c[b+4>>2]=e;b=c[g>>2]|0;e=b+248|0;f=c[e+4>>2]|0;b=b+172|0;c[b>>2]=c[e>>2];c[b+4>>2]=f;b=(c[g>>2]|0)+164|0}b=0;d=c[(c[h>>2]|0)+192>>2]|0;a:while(1){g=(b|0)==0;f=b+16|0;b=d;while(1){if(!b)break a;e=c[b+16>>2]|0;d=c[e+164>>2]|0;if((a[e+156>>0]|0)!=2)continue a;if(g)c[(c[h>>2]|0)+192>>2]=d;else c[(c[f>>2]|0)+164>>2]=d;l6(e);l6(b);b=d}}c[(c[(c[(c[h>>2]|0)+192>>2]|0)+16>>2]|0)+168>>2]=0;return}function Qi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+16|0;d=1;while(1){f=c[e>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Qi(c[(c[f+184>>2]|0)+(d<<2)>>2]|0,b);d=d+1|0}Vi(a,b);return}function Ri(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;s=l;l=l+80|0;e=s+64|0;d=s+48|0;f=s+16|0;m=s;r=s+32|0;a=a+16|0;b=c[(c[a>>2]|0)+8>>2]|0;t=b+48|0;c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];if((!(+h[f>>3]<.001)?(g=f+8|0,!(+h[g>>3]<.001)):0)?(i=b+32|0,c[m>>2]=c[i>>2],c[m+4>>2]=c[i+4>>2],c[m+8>>2]=c[i+8>>2],c[m+12>>2]=c[i+12>>2],c[d>>2]=c[f>>2],c[d+4>>2]=c[f+4>>2],c[d+8>>2]=c[f+8>>2],c[d+12>>2]=c[f+12>>2],c[e>>2]=c[i>>2],c[e+4>>2]=c[i+4>>2],c[e+8>>2]=c[i+8>>2],c[e+12>>2]=c[i+12>>2],Ui(r,d,e),c[f>>2]=c[r>>2],c[f+4>>2]=c[r+4>>2],c[f+8>>2]=c[r+8>>2],c[f+12>>2]=c[r+12>>2],c[d>>2]=c[r>>2],c[d+4>>2]=c[r+4>>2],c[d+8>>2]=c[r+8>>2],c[d+12>>2]=c[r+12>>2],c[e>>2]=c[m>>2],c[e+4>>2]=c[m+4>>2],c[e+8>>2]=c[m+8>>2],c[e+12>>2]=c[m+12>>2],Ui(f,d,e),i=c[a>>2]|0,j=+h[i+32>>3],k=+h[i+40>>3],n=+h[f>>3],o=n/j,p=+h[g>>3],q=p/k,!(o>=1.0&q>=1.0)):0){o=o.5?o:.5;q=p*+R(+(k*o/p))/k;p=j*(n*+R(+(j*o/n))/j);a=c[i+8>>2]|0;h[a+64>>3]=p;h[a+72>>3]=k*q;a=1}else a=0;l=s;return a|0}function Si(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;e=a+16|0;a=1;while(1){f=c[e>>2]|0;if((a|0)>(c[f+180>>2]|0))break;Si(c[(c[f+184>>2]|0)+(a<<2)>>2]|0,b,d);a=a+1|0}e=f+16|0;h[e>>3]=+h[e>>3]*b;e=f+24|0;h[e>>3]=+h[e>>3]*d;e=f+32|0;h[e>>3]=+h[e>>3]*b;f=f+40|0;h[f>>3]=+h[f>>3]*d;return}function Ti(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;k=n+24|0;i=n+16|0;g=n;o=c[b+16>>2]|0;f=+h[o+32>>3]-+h[o+16>>3];e=+h[o+40>>3]-+h[o+24>>3];j=f/e;if(a[195234]|0){o=c[15715]|0;h[g>>3]=j;h[g+8>>3]=f*e/1.0e4;z4(o,87017,g)|0;c[i>>2]=uk(b)|0;z4(o,87042,i)|0}e=+h[d>>3];b=d+24|0;do if(!(j>e*1.1)){if(!(j<=e*.8)){c[b>>2]=0;m=9;break}c[b>>2]=-1;if(a[195234]|0){_3(87052,34,1,c[15715]|0)|0;m=9}}else{c[b>>2]=~~(e*+((c[d+20>>2]|0)-(c[d+16>>2]|0)|0)/j);m=9}while(0);if((m|0)==9?a[195234]|0:0){o=c[15715]|0;c[k>>2]=c[b>>2];z4(o,87087,k)|0}l=n;return}function Ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function Vi(d,e){d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;n=(dg(d)|0)==(d|0);s=d+16|0;t=c[s>>2]|0;q=b[t+236>>1]|0;r=b[t+238>>1]|0;a:do if(n){n=t+196|0;m=q;g=-2147483647.0;f=2147483647.0;while(1){if((m|0)>(r|0))break;d=c[n>>2]|0;l=c[d+(m<<6)>>2]|0;if((l|0)!=0?(o=c[d+(m<<6)+4>>2]|0,p=c[o>>2]|0,(p|0)!=0):0){j=1;d=p;while(1){d=c[d+16>>2]|0;i=a[d+156>>0]|0;if(!((j|0)<(l|0)&i<<24>>24!=0))break;d=c[o+(j<<2)>>2]|0;j=j+1|0}if(!(i<<24>>24)){k=+h[d+16>>3]-+h[d+88>>3];j=f>2]|0)+16>>2]|0;if(!(a[d+156>>0]|0))break;else{d=i;i=i+-1|0}}u=+h[d+16>>3]+ +h[d+96>>3];g=g>u?g:u;f=j?f:k}}m=m+1|0}i=c[t+180>>2]|0;j=t+184|0;d=1;while(1){if((d|0)>(i|0))break a;p=c[(c[(c[j>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;u=+h[p+16>>3]+-8.0;k=+h[p+32>>3]+8.0;d=d+1|0;g=g>k?g:k;f=f>2]|0)+16>>2]|0)+232>>2]|0);f=+(c[(c[(c[t+256>>2]|0)+16>>2]|0)+232>>2]|0)}while(0);e=c[(c[e+16>>2]|0)+196>>2]|0;k=+h[(c[(c[c[e+(r<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[t+120>>3];u=+h[(c[(c[c[e+(q<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +h[t+128>>3];h[t+16>>3]=f;h[t+24>>3]=k;e=c[s>>2]|0;h[e+32>>3]=g;h[e+40>>3]=u;return}function Wi(a,d,e,f){a=a|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0,j=0;i=HK(96)|0;j=i+48|0;c[j>>2]=c[j>>2]|3;c[i>>2]=c[i>>2]&-4|2;g=HK(176)|0;h=i+16|0;c[h>>2]=g;c[((c[i>>2]&3|0)==3?i:j)+40>>2]=a;c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]=d;if(e>65535.0){Xi(e);e=65535.0;g=c[h>>2]|0}b[g+170>>1]=~~(e+(e>=0.0?.5:-.5));c[g+156>>2]=f;dh(i)|0;return i|0}function Xi(a){a=+a;var b=0,d=0;b=l;l=l+16|0;d=b;h[d>>3]=a;c[d+8>>2]=65535;dA(1,87117,d)|0;l=b;return}function Yi(a){a=a|0;var b=0,d=0,e=0,f=0;a=(c[a+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if(!a)break;f=a+16|0;e=c[f>>2]|0;a=e+172|0;d=c[a+4>>2]|0;e=e+248|0;c[e>>2]=c[a>>2];c[e+4>>2]=d;e=c[f>>2]|0;d=e+180|0;a=c[d+4>>2]|0;e=e+256|0;c[e>>2]=c[d>>2];c[e+4>>2]=a;e=c[f>>2]|0;a=c[e+180>>2]|0;d=0;while(1)if(!(c[a+(d<<2)>>2]|0))break;else d=d+1|0;b=c[e+172>>2]|0;a=0;while(1)if(!(c[b+(a<<2)>>2]|0))break;else a=a+1|0;c[e+176>>2]=0;a=HK((a+d<<2)+16|0)|0;e=c[f>>2]|0;c[e+172>>2]=a;c[e+184>>2]=0;e=HK(16)|0;a=c[f>>2]|0;c[a+180>>2]=e;a=a+164|0}return}function Zi(d){d=d|0;var f=0,g=0,i=0.0,j=0,k=0,m=0.0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0;z=l;l=l+16|0;w=z;x=d+16|0;u=c[x>>2]|0;y=c[u+196>>2]|0;d=(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1)!=0;v=c[u+248>>2]|0;c[w>>2]=v;c[w+4>>2]=d?5:v;v=b[u+236>>1]|0;d=u;while(1){if((v|0)>(b[d+238>>1]|0))break;r=y+(v<<6)+4|0;c[(c[(c[c[r>>2]>>2]|0)+16>>2]|0)+232>>2]=0;s=y+(v<<6)|0;t=+(c[w+((v&1)<<2)>>2]|0);m=0.0;k=0;a:while(1){if((k|0)>=(c[s>>2]|0))break;f=c[r>>2]|0;n=c[f+(k<<2)>>2]|0;u=n+16|0;d=c[u>>2]|0;i=+h[d+96>>3];h[d+240>>3]=i;if((c[d+208>>2]|0)>0){j=0;f=0;while(1){g=c[(c[d+204>>2]|0)+(j<<2)>>2]|0;if(!g)break;q=c[g>>2]&3;if((c[((q|0)==3?g:g+48|0)+40>>2]|0)==(c[((q|0)==2?g:g+-48|0)+40>>2]|0)){f=(iO(g)|0)+f|0;d=c[u>>2]|0}j=j+1|0}q=d+96|0;i=+(f|0)+ +h[q>>3];h[q>>3]=i;f=c[r>>2]|0}q=k+1|0;f=c[f+(q<<2)>>2]|0;if(!f)p=m;else{o=f+16|0;p=t+(i+ +h[(c[o>>2]|0)+88>>3]);Wi(n,f,p,0)|0;d=~~(m+p);c[(c[o>>2]|0)+232>>2]=d;p=+(d|0);d=c[u>>2]|0}f=c[d+112>>2]|0;if(f){j=c[d+256>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;d=(c[(c[(c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0);g=d?j:k;j=d?k:j;k=f+16|0;d=c[k>>2]|0;i=+((S(c[(c[x>>2]|0)+248>>2]|0,e[d+170>>1]|0)|0)/2|0|0);o=c[g>>2]&3;f=c[((o|0)==2?g:g+-48|0)+40>>2]|0;g=c[((o|0)==3?g:g+48|0)+40>>2]|0;if(!(ij(g,f)|0))Wi(f,g,+(~~(i+ +h[(c[f+16>>2]|0)+96>>3]+ +h[(c[g+16>>2]|0)+88>>3])|0),c[d+156>>2]|0)|0;d=c[j>>2]&3;f=c[((d|0)==3?j:j+48|0)+40>>2]|0;d=c[((d|0)==2?j:j+-48|0)+40>>2]|0;if(!(ij(d,f)|0)){Wi(f,d,+(~~(i+ +h[(c[f+16>>2]|0)+96>>3]+ +h[(c[d+16>>2]|0)+88>>3])|0),c[(c[k>>2]|0)+156>>2]|0)|0;o=0}else o=0}else o=0;while(1){d=c[u>>2]|0;if((o|0)>=(c[d+192>>2]|0)){m=p;k=q;continue a}k=c[(c[d+188>>2]|0)+(o<<2)>>2]|0;j=c[k>>2]&3;g=c[((j|0)==3?k:k+48|0)+40>>2]|0;j=c[((j|0)==2?k:k+-48|0)+40>>2]|0;d=(c[(c[g+16>>2]|0)+236>>2]|0)<(c[(c[j+16>>2]|0)+236>>2]|0);f=d?g:j;g=d?j:g;i=+h[(c[f+16>>2]|0)+96>>3]+ +h[(c[g+16>>2]|0)+88>>3];j=k+16|0;d=~~(i+ +(S(c[(c[x>>2]|0)+248>>2]|0,e[(c[j>>2]|0)+170>>1]|0)|0));n=ah(f,g)|0;m=+(d|0);if(!n){d=c[j>>2]|0;if(!(c[d+96>>2]|0))Wi(f,g,m,c[d+156>>2]|0)|0}else{d=c[j>>2]|0;A=+h[d+136>>3];i=i+ +(c[(c[x>>2]|0)+248>>2]|0)+ +(~~(A+(A>=0.0?.5:-.5))|0);f=~~(m>i?m:i);if((f|0)>65535){Xi(+(f|0));f=65535;d=c[j>>2]|0}j=c[n+16>>2]|0;g=j+170|0;B=e[g>>1]|0;b[g>>1]=(B|0)>(f|0)?B:f;j=j+156|0;c[j>>2]=c[(c[((c[j>>2]|0)>(c[d+156>>2]|0)?n:k)+16>>2]|0)+156>>2]}o=o+1|0}}v=v+1|0;d=c[x>>2]|0}l=z;return}function _i(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=(c[b+16>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;d=c[g>>2]|0;e=c[d+256>>2]|0;a:do if(e){f=0;while(1){e=c[e+(f<<2)>>2]|0;if(!e)break a;n=ph(b)|0;d=n+16|0;a[(c[d>>2]|0)+156>>0]=2;l=e+16|0;k=c[l>>2]|0;i=~~(+h[k+56>>3]-+h[k+16>>3]);m=(i|0)>0;j=m?0:0-i|0;i=m?i:0;m=e+48|0;Wi(n,c[((c[e>>2]&3|0)==3?e:m)+40>>2]|0,+(i+1|0),c[k+156>>2]|0)|0;k=e+-48|0;Wi(n,c[((c[e>>2]&3|0)==2?e:k)+40>>2]|0,+(j+1|0),c[(c[l>>2]|0)+156>>2]|0)|0;l=c[e>>2]&3;i=(c[(c[(c[((l|0)==3?e:m)+40>>2]|0)+16>>2]|0)+232>>2]|0)-i|0;e=(c[(c[(c[((l|0)==2?e:k)+40>>2]|0)+16>>2]|0)+232>>2]|0)-j|0;c[(c[d>>2]|0)+232>>2]=((i|0)<(e|0)?i:e)+-1;d=c[g>>2]|0;f=f+1|0;e=c[d+256>>2]|0}}while(0);d=d+164|0}return}function $i(a){a=a|0;if((c[(c[a+16>>2]|0)+180>>2]|0)>0){dj(a);ej(a);fj(a);gj(a)}return}function aj(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;e=a+16|0;f=c[(c[e>>2]|0)+8>>2]|0;if((c[f+84>>2]|0)==3?(b=+h[f+64>>3],d=+h[f+72>>3],!(b*d<=1.0)):0){bj(a);f=c[e>>2]|0;d=(c[f+116>>2]&1|0)==0?b:d;Wi(c[f+256>>2]|0,c[f+260>>2]|0,d<65535.0?d:65535.0,1e3)|0}return}function bj(a){a=a|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;e=XO(a,c[47198]|0,8,0)|0;cj(a);i=a+16|0;g=c[i>>2]|0;j=c[g+256>>2]|0;k=c[g+260>>2]|0;f=+(e|0);e=b[g+236>>1]|0;while(1){if((e|0)>(b[g+238>>1]|0))break;d=c[g+196>>2]|0;do if(c[d+(e<<6)>>2]|0){d=c[c[d+(e<<6)+4>>2]>>2]|0;if(!d){c[m>>2]=HB(a)|0;c[m+4>>2]=e;dA(1,87201,m)|0;break}else{Wi(j,d,f+ +h[(c[d+16>>2]|0)+88>>3]+ +h[g+96>>3],0)|0;g=c[i>>2]|0;d=c[g+196>>2]|0;d=c[(c[d+(e<<6)+4>>2]|0)+((c[d+(e<<6)>>2]|0)+-1<<2)>>2]|0;Wi(d,k,f+ +h[(c[d+16>>2]|0)+96>>3]+ +h[g+64>>3],0)|0;break}}while(0);e=e+1|0;g=c[i>>2]|0}l=n;return}function cj(b){b=b|0;var d=0,e=0,f=0;d=b+16|0;if(!(c[(c[d>>2]|0)+256>>2]|0)){f=ph(dg(b)|0)|0;a[(c[f+16>>2]|0)+156>>0]=2;e=ph(dg(b)|0)|0;a[(c[e+16>>2]|0)+156>>0]=2;if((c[(c[d>>2]|0)+12>>2]|0?(dg(b)|0)!=(b|0):0)?(c[(c[(vC(b)|0)+16>>2]|0)+116>>2]&1|0)==0:0){b=c[d>>2]|0;Wi(f,e,+(~~+h[b+48+((+h[b+48>>3]>+h[b+80>>3]?0:2)<<4)>>3]|0),0)|0}d=c[d>>2]|0;c[d+256>>2]=f;c[d+260>>2]=e}return}function dj(a){a=a|0;var b=0,d=0;b=a+16|0;do if((dg(a)|0)!=(a|0)){bj(a);a=c[b>>2]|0;a=ah(c[a+256>>2]|0,c[a+260>>2]|0)|0;if(!a){d=c[b>>2]|0;Wi(c[d+256>>2]|0,c[d+260>>2]|0,1.0,128)|0;break}else{d=(c[a+16>>2]|0)+156|0;c[d>>2]=(c[d>>2]|0)+128;break}}while(0);a=1;while(1){d=c[b>>2]|0;if((a|0)>(c[d+180>>2]|0))break;dj(c[(c[d+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}return}function ej(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;k=XO(d,c[47198]|0,8,0)|0;o=d+16|0;e=c[o>>2]|0;m=+(k|0);k=b[e+236>>1]|0;while(1){if((k|0)>(b[e+238>>1]|0)){f=1;break}e=c[e+196>>2]|0;a:do if(c[e+(k<<6)>>2]|0?(l=c[c[e+(k<<6)+4>>2]>>2]|0,l|0):0){i=l+16|0;f=c[(c[i>>2]|0)+236>>2]|0;while(1){if((f|0)<=0)break;f=f+-1|0;j=c[(c[(c[(c[(dg(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)+4>>2]|0)+(f<<2)>>2]|0;g=j+16|0;e=c[g>>2]|0;if(!(a[e+156>>0]|0)){n=10;break}if(hj(d,j)|0){n=9;break}}if((n|0)==9){e=c[g>>2]|0;n=10}if((n|0)==10){n=0;Wi(j,c[(c[o>>2]|0)+256>>2]|0,m+ +h[e+96>>3],0)|0}f=(c[(c[(c[o>>2]|0)+196>>2]|0)+(k<<6)>>2]|0)+(c[(c[i>>2]|0)+236>>2]|0)|0;while(1){if((f|0)>=(c[(c[(c[(dg(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)>>2]|0))break a;i=c[(c[(c[(c[(dg(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)+4>>2]|0)+(f<<2)>>2]|0;g=i+16|0;e=c[g>>2]|0;if(!(a[e+156>>0]|0))break;if(!(hj(d,i)|0))f=f+1|0;else{n=15;break}}if((n|0)==15){n=0;e=c[g>>2]|0}Wi(c[(c[o>>2]|0)+260>>2]|0,i,m+ +h[e+88>>3],0)|0}while(0);k=k+1|0;e=c[o>>2]|0}while(1){if((f|0)>(c[e+180>>2]|0))break;ej(c[(c[e+184>>2]|0)+(f<<2)>>2]|0);f=f+1|0;e=c[o>>2]|0}return}function fj(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0;e=XO(a,c[47198]|0,8,0)|0;cj(a);b=a+16|0;d=+(e|0);a=1;while(1){e=c[b>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[(c[e+184>>2]|0)+(a<<2)>>2]|0;cj(e);f=c[b>>2]|0;g=e+16|0;Wi(c[f+256>>2]|0,c[(c[g>>2]|0)+256>>2]|0,d+ +h[f+96>>3],0)|0;f=c[b>>2]|0;Wi(c[(c[g>>2]|0)+260>>2]|0,c[f+260>>2]|0,d+ +h[f+64>>3],0)|0;fj(e);a=a+1|0}return}function gj(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;d=XO(a,c[47198]|0,8,0)|0;n=a+16|0;a=1;while(1){f=c[n>>2]|0;e=c[f+180>>2]|0;if((a|0)>(e|0))break;cj(c[(c[f+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}m=+(d|0);l=1;a=e;d=f;while(1){if((l|0)>(a|0))break;k=l+1|0;j=k;while(1){e=c[d+184>>2]|0;f=c[e+(l<<2)>>2]|0;if((j|0)>(a|0))break;e=c[e+(j<<2)>>2]|0;g=(b[(c[f+16>>2]|0)+236>>1]|0)>(b[(c[e+16>>2]|0)+236>>1]|0);i=g?e:f;e=g?f:e;f=c[i+16>>2]|0;g=c[e+16>>2]|0;o=b[g+236>>1]|0;h=o<<16>>16;if((b[f+238>>1]|0)>=o<<16>>16){a=(c[(c[(c[c[(c[f+196>>2]|0)+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0)<(c[(c[(c[c[(c[g+196>>2]|0)+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0);Wi(c[(c[(a?i:e)+16>>2]|0)+260>>2]|0,c[(c[(a?e:i)+16>>2]|0)+256>>2]|0,m,0)|0;a=c[n>>2]|0;d=a;a=c[a+180>>2]|0}j=j+1|0}gj(f);d=c[n>>2]|0;l=k;a=c[d+180>>2]|0}return}function hj(b,d){b=b|0;d=d|0;var e=0;d=c[d+16>>2]|0;if((a[d+156>>0]|0)==1){d=c[c[d+256>>2]>>2]|0;while(1){e=c[(c[d+16>>2]|0)+116>>2]|0;if(!e)break;else d=e}if(!(EC(b,c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0))d=(EC(b,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0)==0&1;else d=0}else d=0;return d|0}function ij(a,b){a=a|0;b=b|0;return jj(a,b)|0}function jj(a,b){a=a|0;b=b|0;var d=0,e=0;a:do if((a|0)==(b|0))a=1;else{d=c[(c[a+16>>2]|0)+180>>2]|0;a=0;while(1){e=c[d+(a<<2)>>2]|0;if(!e){a=0;break a}if(!(jj(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,b)|0))a=a+1|0;else{a=1;break}}}while(0);return a|0}function kj(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=d+16|0;d=c[l>>2]|0;k=b[d+236>>1]|0;while(1){if((k|0)>(b[d+238>>1]|0))break;h=c[d+196>>2]|0;g=c[h+(k<<6)>>2]|0;h=h+(k<<6)+4|0;j=0;f=0;while(1){i=j+1|0;if((f|0)>=(g|0))break;e=c[(c[(c[h>>2]|0)+(f<<2)>>2]|0)+16>>2]|0;c[e+236>>2]=j;if((a[e+159>>0]|0)==6)e=(c[e+216>>2]|0)+j|0;else e=i;j=e;f=f+1|0}if((j|0)>(g|0)){e=c[h>>2]|0;d=i<<2;if(!e)d=IK(d)|0;else d=KK(e,d)|0;f=c[(c[l>>2]|0)+196>>2]|0;c[f+(k<<6)+4>>2]=d;g=c[f+(k<<6)>>2]|0;while(1){e=g+-1|0;if((g|0)<=0)break;f=c[d+(e<<2)>>2]|0;c[d+(c[(c[f+16>>2]|0)+236>>2]<<2)>>2]=f;f=c[(c[l>>2]|0)+196>>2]|0;g=e;d=c[f+(k<<6)+4>>2]|0}c[f+(k<<6)>>2]=j;c[d+(j<<2)>>2]=0;d=c[l>>2]|0}k=k+1|0}return}function lj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;n=o+32|0;m=o+8|0;d=o+24|0;k=o+16|0;j=o;e=b+16|0;f=c[e>>2]|0;a:do if((c[f+216>>2]|0)>=2){c[m>>2]=~~(+h[f+16>>3]-+h[f+88>>3]);c[m+4>>2]=~~+h[f+24>>3];c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];mj(d,b,n);g=d;i=c[g+4>>2]|0;d=m;c[d>>2]=c[g>>2];c[d+4>>2]=i;e=c[e>>2]|0;d=(c[e+236>>2]|0)+1|0;if((c[e+184>>2]|0)>0){j=c[c[e+180>>2]>>2]|0;j=XA(a,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)|0;while(1){if(!j)break a;i=(c[j>>2]&3|0)==2?j:j+-48|0;e=i+48|0;f=c[((c[i>>2]&3|0)==3?i:e)+40>>2]|0;if((f|0)!=(b|0)?(dP(f)|0)==(b|0):0){e=c[((c[i>>2]&3|0)==3?i:e)+40>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];nj(k,a,e,n,d);e=k;f=c[e+4>>2]|0;g=m;c[g>>2]=c[e>>2];c[g+4>>2]=f;uh(i);g=i+-48|0;f=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;e=c[f+172>>2]|0;f=(c[f+176>>2]<<2)+8|0;if(!e)e=IK(f)|0;else e=KK(e,f)|0;c[(c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0)+172>>2]=e;p=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;e=c[p+172>>2]|0;p=p+176|0;f=c[p>>2]|0;c[p>>2]=f+1;c[e+(f<<2)>>2]=i;i=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;c[(c[i+172>>2]|0)+(c[i+176>>2]<<2)>>2]=0;d=d+1|0}j=YA(a,j)|0}}else{i=c[c[e+172>>2]>>2]|0;i=UA(a,c[((c[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)|0;while(1){if(!i)break a;e=i+-48|0;f=c[((c[i>>2]&3|0)==2?i:e)+40>>2]|0;if((f|0)!=(b|0)?(dP(f)|0)==(b|0):0){e=c[((c[i>>2]&3|0)==2?i:e)+40>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];nj(j,a,e,n,d);e=j;f=c[e+4>>2]|0;g=m;c[g>>2]=c[e>>2];c[g+4>>2]=f;uh(i);g=i+48|0;f=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;e=c[f+180>>2]|0;f=(c[f+184>>2]<<2)+8|0;if(!e)e=IK(f)|0;else e=KK(e,f)|0;c[(c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0)+180>>2]=e;f=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;k=c[f+180>>2]|0;f=f+184|0;p=c[f>>2]|0;c[f>>2]=p+1;c[k+(p<<2)>>2]=i;p=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;c[(c[p+180>>2]|0)+(c[p+184>>2]<<2)>>2]=0;d=d+1|0}i=WA(a,i)|0}}}while(0);l=o;return}function mj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0;oQ(b,c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&1);e=c[b+16>>2]|0;h[e+24>>3]=+(c[d+4>>2]|0);f=+(c[d>>2]|0)+ +h[e+88>>3];h[e+16>>3]=f;f=f+ +h[e+96>>3];c[d>>2]=~~(f+ +(c[(c[(uC(b)|0)+16>>2]|0)+248>>2]|0));e=d;b=c[e+4>>2]|0;d=a;c[d>>2]=c[e>>2];c[d+4>>2]=b;return}function nj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;b=dg(b)|0;g=dP(d)|0;if((g|0)!=(d|0))mh(g,d);j=c[d+16>>2]|0;c[j+236>>2]=f;g=c[(c[g+16>>2]|0)+232>>2]|0;c[j+232>>2]=g;c[(c[(c[(c[b+16>>2]|0)+196>>2]|0)+(g<<6)+4>>2]|0)+(f<<2)>>2]=d;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];mj(a,d,h);l=i;return}function oj(a){a=a|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0;m=c[(c[(dg(a)|0)+16>>2]|0)+196>>2]|0;if((dg(a)|0)==(a|0))j=8.0;else j=+(XO(a,c[47198]|0,8,0)|0);l=a+16|0;g=c[l>>2]|0;f=0;k=1;e=+h[g+120>>3];d=+h[g+128>>3];while(1){if((k|0)>(c[g+180>>2]|0))break;i=c[(c[g+184>>2]|0)+(k<<2)>>2]|0;f=oj(i)|0|f;i=c[i+16>>2]|0;g=c[l>>2]|0;if((b[i+238>>1]|0)==(b[g+238>>1]|0)){n=j+ +h[i+120>>3];e=e>n?e:n}if((b[i+236>>1]|0)==(b[g+236>>1]|0)){n=j+ +h[i+128>>3];d=d>n?d:n}k=k+1|0}if((dg(a)|0)!=(a|0)?(c[(c[l>>2]|0)+12>>2]|0)!=0:0)if(!(c[(c[(vC(a)|0)+16>>2]|0)+116>>2]&1)){k=c[l>>2]|0;f=1;e=e+ +h[k+56>>3];d=d+ +h[k+88>>3]}else f=1;k=c[l>>2]|0;h[k+120>>3]=e;h[k+128>>3]=d;if((dg(a)|0)!=(a|0)){l=c[l>>2]|0;a=m+(b[l+236>>1]<<6)+24|0;n=+h[a>>3];h[a>>3]=n>d?n:d;m=m+(b[l+238>>1]<<6)+16|0;n=+h[m>>3];h[m>>3]=n>e?n:e}return f|0}function pj(a,d){a=a|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0.0;o=c[(c[(dg(a)|0)+16>>2]|0)+196>>2]|0;if((dg(a)|0)==(a|0))e=0;else e=XO(a,c[47198]|0,8,0)|0;l=a+16|0;i=c[l>>2]|0;m=e+d|0;k=+(e|0);j=1;f=+h[i+128>>3];g=+h[i+120>>3];e=i;while(1){if((j|0)>(c[e+180>>2]|0))break;i=c[(c[e+184>>2]|0)+(j<<2)>>2]|0;pj(i,m);i=c[i+16>>2]|0;e=c[l>>2]|0;if((b[i+238>>1]|0)==(b[e+238>>1]|0)){q=k+ +h[i+120>>3];g=g>q?g:q}if((b[i+236>>1]|0)==(b[e+236>>1]|0)){q=k+ +h[i+128>>3];f=f>q?f:q}j=j+1|0}h[e+120>>3]=g;h[e+128>>3]=f;if(((dg(a)|0)!=(a|0)?(n=c[l>>2]|0,c[n+12>>2]|0):0)?(p=+h[n+48+((+h[n+104>>3]>+h[n+72>>3]?3:1)<<4)+8>>3]-(f+(g+(+h[(c[(c[c[o+(b[n+236>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[(c[(c[c[o+(b[n+238>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]))),p>0.0):0)qj(a,~~p,d);if((dg(a)|0)!=(a|0)){n=c[l>>2]|0;m=o+(b[n+236>>1]<<6)+24|0;q=+h[m>>3];p=+h[n+128>>3];h[m>>3]=q>p?q:p;o=o+(b[n+238>>1]<<6)+16|0;p=+h[o>>3];q=+h[n+120>>3];h[o>>3]=p>q?p:q}return}function qj(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0;j=c[(dg(a)|0)+16>>2]|0;o=c[j+196>>2]|0;l=c[a+16>>2]|0;a=b[l+238>>1]|0;f=b[l+236>>1]|0;p=(d+1|0)/2|0;m=l+120|0;n=+(p|0)+ +h[m>>3];i=+(e|0);e=~~(n-(+h[o+(a<<6)+16>>3]-i));l=l+128|0;i=+h[o+(f<<6)+24>>3]-i;k=+(d-p|0)+ +h[l>>3];if((e|0)>0){g=+(e|0);while(1){if((a|0)<(f|0))break;if((c[o+(a<<6)>>2]|0)>0){p=(c[(c[c[o+(a<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;h[p>>3]=g+ +h[p>>3]}a=a+-1|0}g=k+g}else g=k;a=~~(g-i);a:do if((a|0)>0){e=b[j+236>>1]|0;g=+(a|0);while(1){a=f+-1|0;if((f|0)<=(e|0))break a;if((c[o+(a<<6)>>2]|0)<=0){f=a;continue}f=(c[(c[c[o+(a<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;h[f>>3]=g+ +h[f>>3];f=a}}while(0);h[l>>3]=k;h[m>>3]=n;return}function rj(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+16>>2]|0;f=a[e+84>>0]|0;b=c[d+16>>2]|0;do if(f<<24>>24==(a[b+84>>0]|0)){if(+h[e+56>>3]==+h[b+56>>3]){if(!(f<<24>>24==0?1:+h[e+64>>3]==+h[b+64>>3])){b=0;break}}else if(f<<24>>24){b=0;break}if(+h[e+16>>3]==+h[b+16>>3]?+h[e+24>>3]==+h[b+24>>3]:0){b=1;break}b=(a[e+44>>0]|0)==0}else b=0;while(0);return b&1|0}function sj(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=a+16|0;d=c[j>>2]|0;b[d+236>>1]=32767;b[d+238>>1]=-1;d=0;i=gC(a)|0;while(1){e=c[j>>2]|0;if(!i)break;f=e+238|0;g=c[(c[i+16>>2]|0)+232>>2]|0;h=g&65535;if((b[f>>1]|0)<(g|0))b[f>>1]=h;e=e+236|0;if((b[e>>1]|0)>(g|0))b[e>>1]=h;if(!d)d=i;else d=(g|0)<(c[(c[d+16>>2]|0)+232>>2]|0)?i:d;i=hC(a,i)|0}c[e+264>>2]=d;return}function tj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;b=NA(a,87246)|0;if(!b)b=2147483647;else{g=+a6(b);b=~~(g*+(qB(a)|0))}e=a+16|0;d=0;while(1){f=c[e>>2]|0;if((d|0)>=(c[f+220>>2]|0))break;c[f+192>>2]=c[(c[f+216>>2]|0)+(d<<2)>>2];sL(a,(c[f+180>>2]|0)==0&1,b)|0;d=d+1|0}return}function uj(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h;f=d+16|0;if(!(NA(d,87255)|0))wj(d,e);else{i=(c[f>>2]|0)+136|0;b[i>>1]=b[i>>1]|16;vj(d,e)}if(a[195234]|0){i=c[15715]|0;e=c[f>>2]|0;f=b[e+236>>1]|0;c[g>>2]=b[e+238>>1];c[g+4>>2]=f;z4(i,87263,g)|0}l=h;return}function vj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0.0;h=l;l=l+16|0;g=h;c[46789]=0;c[g>>2]=c[4658];g=lB(87473,g,0)|0;RC(g,87502,280,1)|0;CC(g,17444,17384);xj(a);d=NA(a,87246)|0;if(!d)e=2147483647;else{i=+a6(d);e=~~(i*+(qB(a)|0))}Nj(a,0);Oj(a,g);Pj(a,g);Qj(a,g,0,0);Rj(g);f=Sj(g)|0;Tj(g);if(b|0){Hk(g);vk(g)}d=NA(a,102887)|0;if(!d)d=-1;else d=d6(d)|0;LK(g,1,e,d)|0;Uj(a,g,f);pB(g)|0;l=h;return}function wj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;d=g;xj(a);do if(!b){yj(a,a);Kk(a);zj(d,a);h=d;d=c[h+4>>2]|0;b=e;c[b>>2]=c[h>>2];c[b+4>>2]=d;Dl(a,0);b=0}else{Hk(a);vk(a);yj(a,a);Kk(a);zj(d,a);i=d;d=c[i+4>>2]|0;h=e;c[h>>2]=c[i>>2];c[h+4>>2]=d;Dl(a,0);h=c[a+16>>2]|0;if((c[h+220>>2]|0)<=1?(c[h+180>>2]|0)<=0:0)break;c[b+32>>2]=1;b=0}while(0);sk(a);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];if(Aj(a,f)|0)Dl(a,0);if(!b)tj(a);else wk(a,b);Bj(a,b);Cj(a);l=g;return}function xj(d){d=d|0;var f=0,g=0,h=0;if(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1){g=gC(d)|0;while(1){if(!g)break;f=UA(d,g)|0;while(1){if(!f)break;h=(c[f+16>>2]|0)+170|0;b[h>>1]=(e[h>>1]|0)<<1;f=WA(d,f)|0}g=hC(d,g)|0}h=(c[d+16>>2]|0)+252|0;c[h>>2]=((c[h>>2]|0)+1|0)/2|0}return}function yj(a,b){a=a|0;b=b|0;var d=0;b=MD(b)|0;while(1){if(!b)break;d=Kj(b)|0;do if(d)if((d|0)==7&(c[47182]|0)==100){Gj(a,b);break}else{Lj(a,b,d);break}else yj(a,b);while(0);b=ND(b)|0}return}function zj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d+16|0;d=c[h>>2]|0;e=c[d+228>>2]|0;j=b+4|0;f=c[d+224>>2]|0;g=(f|0)==0;a:do if(!((e|0)==0&g)){if(!g){e=dP(f)|0;d=c[h>>2]|0;c[d+224>>2]=e;e=c[d+228>>2]|0}do if(e){d=dP(e)|0;e=c[h>>2]|0;c[e+228>>2]=d;if(d){e=d+16|0;d=c[e>>2]|0;f=(a[d+159>>0]|0)==5&1;while(1){d=c[c[d+180>>2]>>2]|0;if(!d){d=11;break}g=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;if((g|0)!=(dP(g)|0)){d=9;break}rk(d);d=c[e>>2]|0}if((d|0)==9)Aa(87366,87306,346,87398);else if((d|0)==11){k=f;i=c[h>>2]|0;break}}else{k=0;i=e}}else{k=0;i=d}while(0);d=c[i+224>>2]|0;if(!d){l=k;m=0}else{e=d+16|0;d=c[e>>2]|0;f=(a[d+159>>0]|0)==3&1;while(1){d=c[c[d+172>>2]>>2]|0;if(!d){l=k;m=f;break a}i=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((i|0)!=(dP(i)|0))break;rk(d);d=c[e>>2]|0}Aa(87411,87306,353,87398)}}else{l=0;m=0}while(0);c[b>>2]=m;c[j>>2]=l;return}function Aj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+16|0;i=c[j>>2]|0;if((c[i+228>>2]|0)==0?(c[i+224>>2]|0)==0:0)d=0;else e=3;a:do if((e|0)==3){g=gC(a)|0;i=d+4|0;h=c[d>>2]&65535;d=0;while(1){if(!g)break a;if((g|0)==(dP(g)|0)){f=g+16|0;e=c[f>>2]|0;if((c[e+184>>2]|0)==0?(k=c[(c[j>>2]|0)+228>>2]|0,!((k|0)==0|(g|0)==(k|0))):0){d=kh(g,k,0)|0;e=c[d+16>>2]|0;b[e+170>>1]=c[i>>2];c[e+156>>2]=0;e=c[f>>2]|0}if((c[e+176>>2]|0)==0?(l=c[(c[j>>2]|0)+224>>2]|0,!((l|0)==0|(g|0)==(l|0))):0){d=kh(l,g,0)|0;f=c[d+16>>2]|0;b[f+170>>1]=h;c[f+156>>2]=0}}g=hC(a,g)|0}}while(0);return (d|0)!=0|0}function Bj(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=gC(d)|0;l=d+16|0;f=c[l>>2]|0;a:do if(g){b[f+236>>1]=32767;b[f+238>>1]=-1;k=(e|0)==0;while(1){if(!g)break;f=dP(g)|0;j=c[g+16>>2]|0;h=j+232|0;e=c[h>>2]|0;if((f|0)!=(g|0)&(k|(e|0)==0)){e=(c[(c[f+16>>2]|0)+232>>2]|0)+e|0;c[h>>2]=e}f=c[l>>2]|0;h=f+238|0;i=e&65535;if((b[h>>1]|0)<(e|0))b[h>>1]=i;f=f+236|0;if((b[f>>1]|0)>(e|0))b[f>>1]=i;switch(a[j+159>>0]|0){case 6:case 0:break;default:fP(g)}g=hC(d,g)|0}if((dg(d)|0)==(d|0)){if((c[47182]|0)==100)e=1;else{Fj(d);break}while(1){f=c[l>>2]|0;if((e|0)>(c[f+180>>2]|0))break a;Ej(c[(c[f+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}}}else{b[f+238>>1]=0;b[f+236>>1]=0}while(0);return}function Cj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=b+16|0;e=0;while(1){d=c[j>>2]|0;if((e|0)>=(c[d+220>>2]|0))break;i=c[(c[d+216>>2]|0)+(e<<2)>>2]|0;c[d+192>>2]=i;d=i;while(1){if(!d)break;i=d+16|0;Dj((c[i>>2]|0)+172|0);Dj((c[i>>2]|0)+180|0);i=c[i>>2]|0;a[i+157>>0]=0;d=c[i+164>>2]|0}e=e+1|0}i=gC(b)|0;while(1){if(!i)break;h=UA(b,i)|0;while(1){if(!h)break;f=h+16|0;d=c[f>>2]|0;g=c[d+172>>2]|0;if((g|0)!=0?(k=g+16|0,(h|0)==(c[(c[k>>2]|0)+116>>2]|0)):0){d=gC(b)|0;while(1){if(!d)break;e=UA(b,d)|0;while(1){if(!e)break;if((h|0)!=(e|0)?(l=(c[e+16>>2]|0)+172|0,m=c[l>>2]|0,(m|0)!=0&(g|0)==(m|0)):0)c[l>>2]=0;e=WA(b,e)|0}d=hC(b,d)|0}l6(c[k>>2]|0);l6(g);d=c[f>>2]|0}c[d+172>>2]=0;h=WA(b,h)|0}i=hC(b,i)|0}l6(c[(c[j>>2]|0)+216>>2]|0);m=c[j>>2]|0;c[m+216>>2]=0;c[m+220>>2]=0;return}function Dj(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;while(1){if((b|0)<=-1)break;c[(c[a>>2]|0)+(b<<2)>>2]=0;b=b+-1|0}c[d>>2]=0;return}function Ej(a){a=a|0;var d=0,f=0,g=0;d=a+16|0;f=c[d>>2]|0;g=c[(c[(c[f+264>>2]|0)+16>>2]|0)+232>>2]|0;a=f+236|0;b[a>>1]=(e[a>>1]|0)+g;a=f+238|0;b[a>>1]=(e[a>>1]|0)+g;a=1;while(1){if((a|0)>(c[f+180>>2]|0))break;Ej(c[(c[f+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0;f=c[d>>2]|0}return}function Fj(b){b=b|0;var d=0;d=MD(dg(b)|0)|0;while(1){if(!d)break;if((a[(c[d+16>>2]|0)+274>>0]|0)==7)Gj(b,d);d=ND(d)|0}return}function Gj(a,b){a=a|0;b=b|0;var d=0;d=(c[b+16>>2]|0)+200|0;do if((c[d>>2]|0)==0?(c[d>>2]=a,Hj(a,b),gC(b)|0):0){Ij(a,b);if((c[47182]|0)==100){wj(b,0);Jj(b);break}else{sj(b);break}}while(0);return}function Hj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=b+16|0;g=gC(d)|0;while(1){if(!g)break;i=hC(d,g)|0;j=g+16|0;if(!(a[(c[j>>2]|0)+159>>0]|0))f=1;else{tC(d,g)|0;g=i;continue}while(1){e=c[h>>2]|0;b=c[e+180>>2]|0;if((f|0)>=(b|0))break;if(EC(c[(c[e+184>>2]|0)+(f<<2)>>2]|0,g)|0){k=7;break}f=f+1|0}if((k|0)==7){k=0;b=c[(c[h>>2]|0)+180>>2]|0}if((f|0)<(b|0))tC(d,g)|0;c[(c[j>>2]|0)+212>>2]=0;g=i}e=gC(d)|0;while(1){if(!e)break;b=UA(dg(d)|0,e)|0;while(1){if(!b)break;if(EC(d,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)jB(d,b,1)|0;b=WA(dg(d)|0,b)|0}e=hC(d,e)|0}return}function Ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+16|0;d=c[e>>2]|0;g=d+180|0;a=c[g>>2]|0;f=a+1|0;c[g>>2]=f;d=c[d+184>>2]|0;a=a+2|0;if(!d)a=HK(a<<2)|0;else a=JK(d,a,4,f)|0;c[(c[e>>2]|0)+184>>2]=a;c[a+(f<<2)>>2]=b;sK(b);return}function Jj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[b+16>>2]|0;d=g+192|0;h=0;while(1){d=c[d>>2]|0;if(!d)break;f=c[d+16>>2]|0;if(!(c[f+232>>2]|0))e=(a[f+156>>0]|0)==0?d:h;else e=h;d=f+164|0;h=e}if(!h)Aa(87291,87306,238,87313);c[g+264>>2]=h;d=gC(b)|0;while(1){if(!d){d=13;break}e=d+16|0;if(!((d|0)==(h|0)?1:(c[(c[e>>2]|0)+216>>2]|0)<2)){d=11;break}eP(d,h)|0;a[(c[e>>2]|0)+159>>0]=7;d=hC(b,d)|0}if((d|0)==11)Aa(87328,87306,242,87313);else if((d|0)==13)return}function Kj(b){b=b|0;var d=0;if(!(Mj(b)|0)){d=nP(NA(b,87443)|0,17396,17420)|0;a[(c[b+16>>2]|0)+274>>0]=d;b=d}else b=7;return b|0}function Lj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=gC(d)|0;a:do if(g|0){j=e&255;i=g+16|0;f=g;h=j;while(1){a[(c[f+16>>2]|0)+159>>0]=h;f=hC(d,f)|0;if(!f)break;eP(g,f)|0;h=a[(c[i>>2]|0)+159>>0]|0}b=b+16|0;switch(e|0){case 3:case 2:{f=c[b>>2]|0;h=c[f+224>>2]|0;if(h){g=eP(h,g)|0;f=c[b>>2]|0}c[f+224>>2]=g;break}case 5:case 4:{f=c[b>>2]|0;h=c[f+228>>2]|0;if(h){g=eP(h,g)|0;f=c[b>>2]|0}c[f+228>>2]=g;break}default:break a}switch(e|0){case 3:{f=f+224|0;break}case 5:{f=f+228|0;break}default:break a}a[(c[(c[f>>2]|0)+16>>2]|0)+159>>0]=j}while(0);return}function Mj(a){a=a|0;return (h2(HB(a)|0,108307,7)|0)==0|0}function Nj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m;if(!(gk(b)|0)){j=b+16|0;do if(DP(b)|0)if(!d){c[(c[j>>2]|0)+204>>2]=0;d=b;break}else{c[(c[j>>2]|0)+204>>2]=(c[(c[d+16>>2]|0)+204>>2]|0)+1;hk(b,d);d=b;break}while(0);e=MD(b)|0;while(1){if(!e)break;Nj(e,d);e=ND(e)|0}a:do if(DP(b)|0){e=gC(b)|0;while(1){if(!e)break a;f=(c[e+16>>2]|0)+212|0;if(!(c[f>>2]|0))c[f>>2]=b;e=hC(b,e)|0}}while(0);d=d+16|0;switch(ik(b)|0){case 3:{a[(c[d>>2]|0)+241>>0]=1;k=19;break}case 2:{k=19;break}case 5:{a[(c[d>>2]|0)+242>>0]=1;k=21;break}case 4:{k=21;break}case 1:{jk(b)|0;break}case 6:break;default:{e=HB(b)|0;f=NA(b,87443)|0;c[g>>2]=e;c[g+4>>2]=f;dA(0,87626,g)|0}}if((k|0)==19){k=jk(b)|0;k=kk(k,c[(c[d>>2]|0)+208>>2]|0)|0;c[(c[d>>2]|0)+208>>2]=k}else if((k|0)==21){k=jk(b)|0;k=kk(k,c[(c[d>>2]|0)+212>>2]|0)|0;c[(c[d>>2]|0)+212>>2]=k}if((DP(b)|0?(h=c[j>>2]|0,i=c[h+208>>2]|0,i|0):0)?(i|0)==(c[h+212>>2]|0):0){i=jk(b)|0;k=c[j>>2]|0;c[k+208>>2]=i;c[k+212>>2]=i}}l=m;return}function Oj(a,b){a=a|0;b=b|0;var d=0,e=0;c[46789]=0;d=gC(a)|0;while(1){if(!d)break;if((Vj(d)|0)==(d|0)){e=Yj(b,HB(d)|0)|0;c[(c[d+16>>2]|0)+148>>2]=e}d=hC(a,d)|0}d=gC(a)|0;while(1){if(!d)break;b=d+16|0;if(!(c[(c[b>>2]|0)+148>>2]|0)){e=c[(c[(Vj(d)|0)+16>>2]|0)+148>>2]|0;c[(c[b>>2]|0)+148>>2]=e}d=hC(a,d)|0}return}function Pj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=gC(a)|0;while(1){if(!h)break;d=c[(c[h+16>>2]|0)+148>>2]|0;i=UA(a,h)|0;while(1){if(!i)break;do if((bk(i)|0)==0?(j=i+-48|0,k=c[(c[(Vj(c[((c[i>>2]&3|0)==2?i:j)+40>>2]|0)|0)+16>>2]|0)+148>>2]|0,(d|0)!=(k|0)):0){f=c[i>>2]&3;g=i+48|0;e=((f|0)==3?i:g)+40|0;f=c[(c[(c[((f|0)==2?i:j)+40>>2]|0)+16>>2]|0)+212>>2]|0;if(!(ck(i)|0)){if((ak(c[(c[(c[e>>2]|0)+16>>2]|0)+212>>2]|0)|0)==0?(ak(f)|0)==0:0){dk(b,d,k,i);break}ek(b,d,k,i);break}else{f=Vj(c[e>>2]|0)|0;e=c[i>>2]&3;if((f|0)!=(c[(c[(c[(c[(c[((e|0)==3?i:g)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+212>>2]|0)?(g=Vj(c[((e|0)==2?i:j)+40>>2]|0)|0,(g|0)!=(c[(c[(c[(c[(c[((c[i>>2]&3|0)==2?i:j)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+208>>2]|0)):0)e=k;else{e=d;d=k}dk(b,d,e,i);break}}while(0);i=WA(a,i)|0}h=hC(a,h)|0}return}function Qj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((DP(a)|0)!=0?(ak(a)|0)!=0:0){i=gC(a)|0;while(1){f=(d|0)!=0;h=(e|0)!=0;if(!i)break;if(!(XA(a,i)|0)){g=c[(c[(Vj(i)|0)+16>>2]|0)+148>>2]|0;if(!f)d=Yj(b,87524)|0;fB(b,d,g,0,1)|0}if(!(UA(a,i)|0)){f=c[(c[(Vj(i)|0)+16>>2]|0)+148>>2]|0;if(!h)e=Yj(b,87529)|0;fB(b,f,e,0,1)|0}i=hC(a,i)|0}if(h&f){$j(fB(b,d,e,0,1)|0,0,1e3);f=d}else f=d}else f=d;d=MD(a)|0;while(1){if(!d)break;Qj(d,b,f,e);d=ND(d)|0}return}function Rj(b){b=b|0;var d=0,e=0;d=gC(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;a[e+158>>0]=0;a[e+157>>0]=0;d=hC(b,d)|0}d=gC(b)|0;while(1){if(!d)break;Zj(b,d);d=hC(b,d)|0}return}function Sj(a){a=a|0;var b=0,d=0,e=0,f=0;b=gC(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+128>>2]=0;b=hC(a,b)|0}b=0;e=gC(a)|0;while(1){if(!e)break;d=b+1|0;if(!(c[(c[e+16>>2]|0)+128>>2]|0)){Xj(a,e,d);b=d}e=hC(a,e)|0}a:do if((b|0)>1){f=Yj(a,87518)|0;d=1;e=gC(a)|0;while(1){if(!e)break a;if((c[(c[e+16>>2]|0)+128>>2]|0)==(d|0)){fB(a,f,e,0,1)|0;d=d+1|0}e=hC(a,e)|0}}while(0);return b|0}function Tj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=gC(a)|0;while(1){if(!g)break;h=g+16|0;f=UA(a,g)|0;while(1){if(!f)break;b=c[h>>2]|0;d=c[b+180>>2]|0;b=(c[b+184>>2]<<2)+8|0;if(!d)b=IK(b)|0;else b=KK(d,b)|0;d=c[h>>2]|0;c[d+180>>2]=b;d=d+184|0;e=c[d>>2]|0;c[d>>2]=e+1;c[b+(e<<2)>>2]=f;e=c[h>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=f+-48|0;d=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;b=c[d+172>>2]|0;d=(c[d+176>>2]<<2)+8|0;if(!b)b=IK(d)|0;else b=KK(b,d)|0;c[(c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;i=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;b=c[i+172>>2]|0;i=i+176|0;d=c[i>>2]|0;c[i>>2]=d+1;c[b+(d<<2)>>2]=f;e=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;c[(c[e+172>>2]|0)+(c[e+176>>2]<<2)>>2]=0;f=WA(a,f)|0}g=hC(a,g)|0}return}function Uj(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=a+16|0;p=c[n>>2]|0;b[p+236>>1]=32767;b[p+238>>1]=-1;a:do if((f|0)>1){h=HK((f<<2)+4|0)|0;g=f+1|0;f=1;while(1){if((f|0)==(g|0)){m=h;o=h;break a}c[h+(f<<2)>>2]=32767;f=f+1|0}}else{m=0;o=0}while(0);p=(m|0)!=0;h=gC(a)|0;while(1){if(!h)break;i=c[(c[(c[(Vj(h)|0)+16>>2]|0)+148>>2]|0)+16>>2]|0;j=c[i+232>>2]|0;k=c[h+16>>2]|0;c[k+232>>2]=j;f=c[n>>2]|0;g=f+238|0;l=j&65535;if((b[g>>1]|0)<(j|0))b[g>>1]=l;f=f+236|0;if((b[f>>1]|0)>(j|0))b[f>>1]=l;if(p){l=c[i+128>>2]|0;c[k+128>>2]=l;l=m+(l<<2)|0;k=c[l>>2]|0;c[l>>2]=(k|0)<(j|0)?k:j}h=hC(a,h)|0}b:do if(!p){m=b[(c[n>>2]|0)+236>>1]|0;g=m<<16>>16;if(m<<16>>16>0){f=gC(a)|0;while(1){if(!f)break;m=(c[f+16>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-g;f=hC(a,f)|0}f=c[n>>2]|0;n=f+236|0;b[n>>1]=(e[n>>1]|0)-g;f=f+238|0;b[f>>1]=(e[f>>1]|0)-g;f=0}else f=0}else{f=gC(a)|0;while(1){if(!f){f=1;break b}l=c[f+16>>2]|0;n=l+232|0;c[n>>2]=(c[n>>2]|0)-(c[m+(c[l+128>>2]<<2)>>2]|0);f=hC(a,f)|0}}while(0);Wj(a,f);i=gC(d)|0;while(1){if(!i)break;g=i+16|0;f=c[g>>2]|0;h=c[f+172>>2]|0;if(h){l6(h);f=c[g>>2]|0}f=c[f+180>>2]|0;if(f|0)l6(f);i=hC(d,i)|0}l6(c[(c[(gC(a)|0)+16>>2]|0)+112>>2]|0);f=gC(a)|0;while(1){if(!f)break;c[(c[f+16>>2]|0)+112>>2]=0;f=hC(a,f)|0}if(p)l6(o);return}function Vj(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;d=(c[b>>2]|0)+152|0;e=c[d>>2]|0;if(e){if((e|0)!=(a|0)){e=Vj(e)|0;c[(c[b>>2]|0)+152>>2]=e;return e|0}}else c[d>>2]=a;return a|0}function Wj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=a+16|0;e=1;while(1){f=c[j>>2]|0;if((e|0)>(c[f+180>>2]|0))break;Wj(c[(c[f+184>>2]|0)+(e<<2)>>2]|0,0);e=e+1|0}if((d|0)!=0|(c[f+200>>2]|0)!=0){b[f+236>>1]=32767;b[f+238>>1]=-1;e=0;i=gC(a)|0;while(1){d=c[j>>2]|0;if(!i)break;g=c[(c[i+16>>2]|0)+232>>2]|0;f=d+238|0;h=g&65535;if((b[f>>1]|0)<(g|0))b[f>>1]=h;d=d+236|0;if((b[d>>1]|0)>(g|0)){b[d>>1]=h;e=i}i=hC(a,i)|0}c[d+264>>2]=e}return}function Xj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[b+16>>2]|0)+128|0;a:do if(!(c[e>>2]|0)){c[e>>2]=d;e=UA(a,b)|0;while(1){if(!e)break;Xj(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,d);e=WA(a,e)|0}e=XA(a,b)|0;while(1){if(!e)break a;Xj(a,c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,d);e=YA(a,e)|0}}while(0);return}function Yj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=qC(a,b,1)|0;b=f+16|0;c[(c[b>>2]|0)+176>>2]=0;e=HK(20)|0;d=c[b>>2]|0;c[d+172>>2]=e;c[d+184>>2]=0;d=HK(20)|0;b=c[b>>2]|0;c[b+180>>2]=d;d=c[46789]|0;e=b+168|0;if(!d){c[e>>2]=0;c[(c[a+16>>2]|0)+192>>2]=f}else{c[e>>2]=d;c[(c[d+16>>2]|0)+164>>2]=f}c[46789]=f;c[b+164>>2]=0;return f|0}function Zj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=d+16|0;e=c[h>>2]|0;f=e+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;a[e+158>>0]=1;d=UA(b,d)|0;while(1){if(!d)break;e=WA(b,d)|0;f=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;g=c[f+16>>2]|0;if(a[g+158>>0]|0){_j(b,d);d=e;continue}if(a[g+157>>0]|0){d=e;continue}Zj(b,f);d=e}a[(c[h>>2]|0)+158>>0]=0}return}function _j(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;d=c[b>>2]&3;g=b+-48|0;f=b+48|0;d=fB(a,c[((d|0)==2?b:g)+40>>2]|0,c[((d|0)==3?b:f)+40>>2]|0,0,0)|0;if(!d){d=c[b>>2]&3;d=fB(a,c[((d|0)==2?b:g)+40>>2]|0,c[((d|0)==3?b:f)+40>>2]|0,0,1)|0}g=c[b+16>>2]|0;$j(d,e[g+170>>1]|0,c[g+156>>2]|0);tC(a,b)|0;return}function $j(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0;a=c[a+16>>2]|0;g=a+170|0;h=e[g>>1]|0;b[g>>1]=(h|0)>(d|0)?h:d;d=a+156|0;c[d>>2]=(c[d>>2]|0)+f;return}function ak(a){a=a|0;return (cP(NA(a,87534)|0,0)|0)&255|0}function bk(b){b=b|0;var d=0,e=0;d=c[47258]|0;if((((d|0)!=0?(e=OA(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0)?(bP(e)|0)<<24>>24==0:0)b=1;else b=0;return b|0}function ck(a){a=a|0;var b=0,d=0;d=c[a>>2]&3;b=c[(c[(c[((d|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;a=c[(c[(c[((d|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;if((b|0)==(a|0))return 1;else{d=fk(b,a)|0;return ((d|0)==(b|0)|(d|0)==(a|0))&1|0}return 0}function dk(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j;g=fB(a,b,d,0,0)|0;if(!g){g=fB(a,d,b,0,0)|0;if(!g){g=fB(a,b,d,0,1)|0;if(!g){b=HB(b)|0;f=HB(d)|0;c[h>>2]=b;c[h+4>>2]=f;dA(1,87551,h)|0}else i=4}else i=4}else i=4;if((i|0)==4){i=c[f+16>>2]|0;$j(g,e[i+170>>1]|0,c[i+156>>2]|0)}l=j;return}function ek(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+112|0;j=m;i=m+4|0;h=XA(a,d)|0;while(1){if(!h){k=6;break}n=UA(a,c[((c[h>>2]&3|0)==3?h:h+48|0)+40>>2]|0)|0;if(n|0?(c[((c[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)==(f|0):0)break;h=YA(a,h)|0}if((k|0)==6){n=c[46790]|0;c[46790]=n+1;c[j>>2]=n;i2(i,87542,j)|0;i=Yj(a,i)|0;n=fB(a,i,d,0,1)|0;i=fB(a,i,f,0,1)|0;f=c[g+16>>2]|0;k=f+156|0;n=(c[n+16>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+((c[k>>2]|0)*1e3|0);n=c[i+16>>2]|0;j=n+170|0;b[j>>1]=b[(c[((e[j>>1]|0)>(e[f+170>>1]|0)?i:g)+16>>2]|0)+170>>1]|0;n=n+156|0;c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0)}l=m;return}function fk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;a:while(1){e=a+16|0;while(1){if((a|0)==(b|0))break a;f=c[e>>2]|0;d=c[b+16>>2]|0;if((c[f+204>>2]|0)>=(c[d+204>>2]|0))break;b=c[d+200>>2]|0}a=c[f+200>>2]|0}return a|0}function gk(a){a=a|0;return (gC(a)|0)==0|0}function hk(a,b){a=a|0;b=b|0;c[(c[a+16>>2]|0)+200>>2]=b;Ij(b,a);Hj(b,a);return}function ik(b){b=b|0;var c=0;b=NA(b,87443)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)if(f2(b,87453)|0)if(f2(b,87457)|0)if(f2(b,87464)|0)if(f2(b,87468)|0)if(!(f2(b,87448)|0))b=1;else c=8;else b=5;else b=4;else b=3;else b=2;else c=8;if((c|0)==8)b=6;return b|0}function jk(a){a=a|0;var b=0,c=0;c=gC(a)|0;a:do if(!c)b=0;else{b=Vj(c)|0;while(1){c=hC(a,c)|0;if(!c)break a;kk(b,c)|0}}while(0);return b|0}function kk(a,b){a=a|0;b=b|0;if(b){a=Vj(a)|0;c[(c[(Vj(b)|0)+16>>2]|0)+152>>2]=a}return a|0}function lk(a,b,d){a=a|0;b=b|0;d=d|0;RC(b,87502,c[d>>2]|0,1)|0;return}function mk(a,b,d){a=a|0;b=b|0;d=d|0;RC(b,87669,c[d+4>>2]|0,1)|0;return}function nk(a,b,d){a=a|0;b=b|0;d=d|0;RC(b,87654,c[d+8>>2]|0,1)|0;return}function ok(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+240|0;m=p+120|0;n=p;c[47262]=DA(b,2,87684,0)|0;k=DA(b,2,87693,0)|0;c[47263]=k;a:do if((k|0)!=0|(c[47262]|0)!=0){k=gC(b)|0;while(1){if(!k)break a;j=0;d=0;i=ZA(b,k)|0;while(1){if(!i){f=0;break}e=c[i>>2]|0;g=e&3;f=c[((g|0)==2?i:i+-48|0)+40>>2]|0;h=i+48|0;b:do if((f|0)!=(c[((g|0)==3?i:h)+40>>2]|0)){g=c[47262]|0;do if((f|0)==(k|0)&(g|0)!=0){f=OA(i,g)|0;if(!(a[f>>0]|0)){e=c[i>>2]|0;break}else{e=j;d=pk(m,d,k,i,f)|0;break b}}while(0);f=c[47263]|0;if((f|0?(c[((e&3|0)==3?i:h)+40>>2]|0)==(k|0):0)?(o=OA(i,f)|0,(a[o>>0]|0)!=0):0)e=pk(n,j,k,i,o)|0;else e=j}else e=j;while(0);j=e;i=_A(b,i,k)|0}while(1){if((f|0)>=(d|0)){e=0;break}e=m+(f*24|0)+4|0;if((c[m+(f*24|0)+8>>2]|0)>1)qk(k,e);e=c[e>>2]|0;if(e|0)l6(e);f=f+1|0}while(1){if((e|0)>=(j|0))break;d=n+(e*24|0)+4|0;if((c[n+(e*24|0)+8>>2]|0)>1)qk(k,d);d=c[d>>2]|0;if(d|0)l6(d);e=e+1|0}k=hC(b,k)|0}}while(0);l=p;return}function pk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+16|0;n=s;p=s+12|0;q=s+8|0;r=0;while(1){m=b+(r*24|0)|0;if((r|0)>=(d|0)){o=10;break}j=c[m>>2]|0;if((a[j>>0]|0)==(a[g>>0]|0)?(f2(j,g)|0)==0:0){o=5;break}r=r+1|0}do if((o|0)==5){k=b+(r*24|0)+4|0;m=b+(r*24|0)+8|0;j=c[k>>2]|0;if(!j)j=IK((c[m>>2]<<2)+8|0)|0;else j=KK(j,(c[m>>2]<<2)+8|0)|0;c[k>>2]=j;n=c[m>>2]|0;o=n+1|0;c[m>>2]=o;c[j+(n<<2)>>2]=f;c[(c[k>>2]|0)+(o<<2)>>2]=0;o=13}else if((o|0)==10){j=b+(r*24|0)+4|0;k=b+(r*24|0)+8|0;if((d|0)>4){b=HB(e)|0;c[n>>2]=5;c[n+4>>2]=b;dA(1,87702,n)|0;break}else{c[k>>2]=0;t=HK(8)|0;c[j>>2]=t;n=c[k>>2]|0;o=n+1|0;c[k>>2]=o;c[t+(n<<2)>>2]=f;c[(c[j>>2]|0)+(o<<2)>>2]=0;c[m>>2]=g;c[b+(r*24|0)+12>>2]=0;h[b+(r*24|0)+16>>3]=0.0;d=d+1|0;o=13;break}}while(0);if((o|0)==13){FH(f,p,q);j=(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)==(e|0)?c[q>>2]|0:c[p>>2]|0;if(j){q=b+(r*24|0)+12|0;t=c[q>>2]|0;c[q>>2]=t+1;if(!t)i=+JH(f,j);else i=0.0;h[b+(r*24|0)+16>>3]=i}}l=s;return d|0}function qk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+80|0;t=x+68|0;u=x+64|0;s=x;v=d+4|0;m=c[v>>2]|0;w=b+16|0;n=c[w>>2]|0;q=+h[n+16>>3];r=+h[n+24>>3];j=0;o=0.0;p=0.0;while(1){if((j|0)>=(m|0))break;f=c[(c[d>>2]|0)+(j<<2)>>2]|0;i=c[f>>2]&3;e=c[((i|0)==2?f:f+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((i|0)==3?f:f+48|0)+40>>2]|0;i=c[e+16>>2]|0;y=+h[i+16>>3]-q;g=+h[i+24>>3]-r;k=+c2(y,g);j=j+1|0;o=o+y/k;p=p+g/k}k=+c2(o,p);g=+h[n+88>>3]+ +h[n+96>>3];y=+h[n+80>>3];n=g>y+ +(c[(c[(uC(b)|0)+16>>2]|0)+252>>2]|0);e=c[w>>2]|0;if(n)g=+h[e+88>>3]+ +h[e+96>>3];else{g=+h[e+80>>3];g=g+ +(c[(c[(uC(b)|0)+16>>2]|0)+252>>2]|0);e=c[w>>2]|0}y=o/k*g+ +h[e+16>>3];g=p/k*g+ +h[e+24>>3];h[s>>3]=q;m=s+8|0;h[m>>3]=r;h[s+16>>3]=(q*2.0+y)/3.0;h[s+24>>3]=(r*2.0+g)/3.0;h[s+32>>3]=(q+y*2.0)/3.0;h[s+40>>3]=(r+g*2.0)/3.0;h[s+48>>3]=y;h[s+56>>3]=g;_N(b,s);n=c[w>>2]|0;g=+h[s>>3]-+h[n+16>>3];k=+h[m>>3]-+h[n+24>>3];g=+(~~(g+(g>=0.0?.5:-.5))|0);k=+(~~(k+(k>=0.0?.5:-.5))|0);y=+h[n+88>>3];s=~~((y+g)*256.0/(y+ +h[n+96>>3]))&255;n=0;while(1){if((n|0)>=(c[v>>2]|0))break;m=c[(c[d>>2]|0)+(n<<2)>>2]|0;FH(m,t,u);while(1){if(!m)break;else f=m;while(1){if(!f){i=m;break}e=c[f>>2]|0;i=f+-48|0;j=f+16|0;if((c[((e&3|0)==2?f:i)+40>>2]|0)==(b|0)){e=c[j>>2]|0;h[e+56>>3]=g;h[e+64>>3]=k;h[e+72>>3]=0.0;c[e+80>>2]=0;a[e+84>>0]=1;a[e+85>>0]=0;a[e+86>>0]=0;a[e+87>>0]=0;a[e+88>>0]=s;a[e+89>>0]=0;c[e+92>>2]=0;e=c[f>>2]|0}if((c[((e&3|0)==3?f:f+48|0)+40>>2]|0)==(b|0)){e=c[j>>2]|0;h[e+16>>3]=g;h[e+24>>3]=k;h[e+32>>3]=0.0;c[e+40>>2]=0;a[e+44>>0]=1;a[e+45>>0]=0;a[e+46>>0]=0;a[e+47>>0]=0;a[e+48>>0]=s;a[e+49>>0]=0;c[e+52>>2]=0}if((a[(c[j>>2]|0)+112>>0]|0)!=1){f=0;continue}e=c[(c[((c[f>>2]&3|0)==2?f:i)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){f=0;continue}if((c[e+184>>2]|0)!=1){f=0;continue}f=c[c[e+180>>2]>>2]|0}while(1){if(!i)break;e=c[i>>2]|0;j=i+16|0;if((c[((e&3|0)==2?i:i+-48|0)+40>>2]|0)==(b|0)){e=c[j>>2]|0;h[e+56>>3]=g;h[e+64>>3]=k;h[e+72>>3]=0.0;c[e+80>>2]=0;a[e+84>>0]=1;a[e+85>>0]=0;a[e+86>>0]=0;a[e+87>>0]=0;a[e+88>>0]=s;a[e+89>>0]=0;c[e+92>>2]=0;e=c[i>>2]|0}f=i+48|0;if((c[((e&3|0)==3?i:f)+40>>2]|0)==(b|0)){e=c[j>>2]|0;h[e+16>>3]=g;h[e+24>>3]=k;h[e+32>>3]=0.0;c[e+40>>2]=0;a[e+44>>0]=1;a[e+45>>0]=0;a[e+46>>0]=0;a[e+47>>0]=0;a[e+48>>0]=s;a[e+49>>0]=0;c[e+52>>2]=0}if((a[(c[j>>2]|0)+112>>0]|0)!=1){i=0;continue}e=c[(c[((c[i>>2]&3|0)==3?i:f)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){i=0;continue}if((c[e+176>>2]|0)!=1){i=0;continue}i=c[c[e+172>>2]>>2]|0}m=c[(c[m+16>>2]|0)+172>>2]|0}n=n+1|0}a[(c[w>>2]|0)+145>>0]=1;l=x;return}function rk(a){a=a|0;var b=0,d=0,e=0;fh(a);b=c[a>>2]&3;d=a+-48|0;e=a+48|0;b=ah(c[((b|0)==2?a:d)+40>>2]|0,c[((b|0)==3?a:e)+40>>2]|0)|0;if(!b){b=c[a>>2]&3;kh(c[((b|0)==2?a:d)+40>>2]|0,c[((b|0)==3?a:e)+40>>2]|0,a)|0}else sh(a,b);return}function sk(b){b=b|0;var d=0,e=0,f=0,g=0;f=b+16|0;e=0;while(1){b=c[f>>2]|0;if((e|0)>=(c[b+220>>2]|0))break;d=c[(c[b+216>>2]|0)+(e<<2)>>2]|0;c[b+192>>2]=d;b=d;d=b;while(1){if(!d)break;g=c[d+16>>2]|0;a[g+157>>0]=0;d=c[g+164>>2]|0}while(1){if(!b)break;tk(b);b=c[(c[b+16>>2]|0)+164>>2]|0}e=e+1|0}return}function tk(b){b=b|0;var d=0,e=0,f=0,g=0;g=b+16|0;d=c[g>>2]|0;b=d+157|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[d+158>>0]=1;b=0;while(1){f=c[(c[d+180>>2]|0)+(b<<2)>>2]|0;if(!f)break;d=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;e=c[d+16>>2]|0;if(!(a[e+158>>0]|0)){if(!(a[e+157>>0]|0))tk(d)}else{rk(f);b=b+-1|0}b=b+1|0;d=c[g>>2]|0}a[d+158>>0]=0}return}function uk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=gC(a)|0;b=0;while(1){if(!e)break;d=UA(a,e)|0;while(1){if(!d)break;g=c[d>>2]&3;h=c[(c[(c[((g|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;g=c[(c[(c[((g|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;f=h-g|0;d=WA(a,d)|0;b=((h|0)==(g|0)?0:((f|0)>-1?f:0-f|0)+-1|0)+b|0}e=hC(a,e)|0}return b|0}function vk(b){b=b|0;var d=0,e=0,f=0,g=0;e=gC(b)|0;while(1){if(!e)break;g=c[e+16>>2]|0;f=c[g+176>>2]|0;g=g+172|0;d=0;while(1){if((d|0)>=(f|0))break;a[(c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+112>>0]=0;d=d+1|0}e=hC(b,e)|0}return}function wk(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;p=r;k=c[d+24>>2]|0;xk(b);m=(k|0)==-1;n=d+8|0;j=m^1;o=c[15715]|0;g=1797693134862315708145274.0e284;i=0;while(1){if(!(m|(i|0)<(k|0)))break;e=gC(b)|0;while(1){if(!e)break;c[(c[e+16>>2]|0)+232>>2]=0;e=hC(b,e)|0}tj(b);f=+yk(b);h[n>>3]=f;if(a[195234]|0){h[p>>3]=f;z4(o,87754,p)|0;f=+h[n>>3]}if(!(!(f<=+h[d>>3])&(!(g<=f)|j))){q=9;break}zk(b);g=f;i=i+1|0}if((q|0)==9){q=d+20|0;c[d+16>>2]=c[q>>2];c[q>>2]=i}tj(b);Ak(b);Bk();h[n>>3]=+yk(b);l=r;return}function xk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0;c[46794]=IK((qB(a)|0)*24|0)|0;c[46793]=0;b=gC(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+120>>2]=-1;b=hC(a,b)|0}l=gC(a)|0;while(1){if(!l)break;f=l+16|0;do if(!(c[(c[f>>2]|0)+216>>2]|0)){j=HK(4)|0;i=c[46794]|0;k=c[46793]|0;c[i+(k*24|0)>>2]=j;c[j>>2]=l;c[i+(k*24|0)+4>>2]=1;j=c[f>>2]|0;h[i+(k*24|0)+8>>3]=+h[j+32>>3];h[i+(k*24|0)+16>>3]=+h[j+40>>3];c[j+120>>2]=k;c[46793]=k+1}else{g=dP(l)|0;i=g+16|0;b=c[i>>2]|0;d=c[b+120>>2]|0;if((d|0)>-1){j=c[46794]|0;i=c[j+(d*24|0)>>2]|0;g=j+(d*24|0)+4|0;k=c[g>>2]|0;c[g>>2]=k+1;c[i+(k<<2)>>2]=l;k=c[f>>2]|0;i=j+(d*24|0)+8|0;h[i>>3]=+h[k+32>>3]+ +h[i>>3];j=j+(d*24|0)+16|0;m=+h[j>>3];n=+h[k+40>>3];h[j>>3]=m>2]=d;break}d=HK(c[b+216>>2]<<2)|0;j=c[46794]|0;k=c[46793]|0;b=j+(k*24|0)|0;c[b>>2]=d;c[d>>2]=g;d=j+(k*24|0)+4|0;e=j+(k*24|0)+8|0;if((g|0)==(l|0)){c[d>>2]=1;d=c[i>>2]|0;h[e>>3]=+h[d+32>>3];e=c[f>>2]|0;b=e}else{c[(c[b>>2]|0)+4>>2]=l;c[d>>2]=2;d=c[i>>2]|0;i=c[f>>2]|0;h[e>>3]=+h[d+32>>3]+ +h[i+32>>3];b=c[(+h[d+40>>3]<+h[i+40>>3]?l:g)+16>>2]|0;e=i}h[j+(k*24|0)+16>>3]=+h[b+40>>3];c[d+120>>2]=k;c[e+120>>2]=k;c[46793]=k+1}while(0);l=hC(a,l)|0}return}function yk(a){a=a|0;var b=0.0,d=0.0,e=0,f=0,g=0,i=0.0,j=0.0;Ak(a);g=c[46791]|0;e=c[a+16>>2]|0;b=+(S(c[e+252>>2]|0,g+-1|0)|0);f=c[46792]|0;e=e+248|0;a=0;d=0.0;while(1){if((a|0)>=(g|0))break;i=+h[f+(a*40|0)+24>>3]+ +(S(c[e>>2]|0,c[f+(a*40|0)+16>>2]|0)|0);j=b+ +h[f+(a*40|0)+32>>3];a=a+1|0;b=j;d=d=(qB(a)|0))break;c[(c[46795]|0)+(b<<2)>>2]=b;b=b+1|0}Ak(a);Ck(a);Dk(a);return}function Ak(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0;c[46791]=0;b=c[46792]|0;if(b|0){e=0;while(1){if((e|0)>=(c[46793]|0))break;d=c[b+(e*40|0)+4>>2]|0;if(d){l6(d);b=c[46792]|0}d=c[b+(e*40|0)+8>>2]|0;if(d){l6(d);b=c[46792]|0}e=e+1|0}l6(b)}c[46792]=HK((c[46793]|0)*40|0)|0;b=0;while(1){d=c[46793]|0;if((b|0)>=(d|0))break;l=HK(d<<2)|0;c[(c[46792]|0)+(b*40|0)+4>>2]=l;l=HK(c[46793]<<2)|0;m=c[46792]|0;c[m+(b*40|0)+8>>2]=l;c[m+(b*40|0)>>2]=b;c[m+(b*40|0)+12>>2]=0;c[m+(b*40|0)+16>>2]=0;m=m+(b*40|0)+24|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;b=b+1|0}e=gC(a)|0;while(1){if(!e)break;d=UA(a,e)|0;while(1){if(!d)break;i=c[d>>2]|0;f=d+-48|0;g=c[46792]|0;b=c[(c[(c[((i&3|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){b=b+1|0;if((b|0)>=(c[(c[(c[((i&3|0)==2?d:f)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;i=g+(b*40|0)+16|0;c[i>>2]=(c[i>>2]|0)+1;i=c[d>>2]|0}d=WA(a,d)|0}e=hC(a,e)|0}k=c[46793]|0;l=c[46794]|0;m=c[46792]|0;d=a+16|0;b=0;while(1){if((b|0)>=(k|0))break;e=l+(b*24|0)|0;f=(c[c[e>>2]>>2]|0)+16|0;g=c[(c[f>>2]|0)+232>>2]|0;if((g|0)>=(c[46791]|0))c[46791]=g+1;i=m+(g*40|0)+24|0;j=+h[i>>3];h[i>>3]=j+(+h[l+(b*24|0)+8>>3]*72.0+(j>0.0?+(c[(c[d>>2]|0)+248>>2]|0):0.0));i=m+(g*40|0)+32|0;j=+h[l+(b*24|0)+16>>3]*72.0;if(+h[i>>3]>3]=j;c[(c[m+(g*40|0)+4>>2]|0)+(c[m+(g*40|0)+12>>2]<<2)>>2]=e;a=m+((c[(c[f>>2]|0)+232>>2]|0)*40|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;b=b+1|0}return}function Bk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c[46791]|0;l=c[46792]|0;j=0;b=0;a=0;while(1){if((j|0)>=(k|0))break;i=c[l+(j*40|0)+12>>2]|0;d=l+(j*40|0)|0;e=(b|0)==0;a:do if(i)if(!e){if((c[d>>2]|0)>(a|0)){f=l+(j*40|0)+4|0;d=0;while(1){if((d|0)>=(i|0))break a;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;h=c[g+4>>2]|0;e=0;while(1){if((e|0)>=(h|0))break;m=(c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-b;e=e+1|0}d=d+1|0}}}else b=0;else{if(e)a=c[d>>2]|0;b=b+1|0}while(0);j=j+1|0}return}function Ck(a){a=a|0;var b=0;b=c[46795]|0;k3(b,qB(a)|0,4,63);return}function Dk(b){b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0;k=c[46791]|0;l=c[46792]|0;i=c[46795]|0;j=0;while(1){if((j|0)>=(k|0)){e=0;f=0.0;break}e=c[i+(j<<2)>>2]|0;g=j+1|0;if((c[l+(e*40|0)+12>>2]|0)<2)j=g;else{m=4;break}}if((m|0)==4)if((k|0)>(g|0))f=+h[l+((c[i+(g<<2)>>2]|0)*40|0)+24>>3];else f=0.0;a:do if((j|0)!=(k|0)){k3(c[l+(e*40|0)+4>>2]|0,c[l+(e*40|0)+12>>2]|0,4,64);g=c[46792]|0;d=+h[g+(e*40|0)+24>>3];if(!(!(f<=d*.25)?!(f>=d*3.0*.25):0))f=d*.5;t=c[g+(e*40|0)+12>>2]|0;s=b+16|0;p=0;q=0;d=0.0;i=0;r=0;while(1){if((r|0)>=(i+t|0))break a;do if(!(c[(c[g+(e*40|0)+8>>2]|0)+(r<<2)>>2]|0)){m=c[(c[g+(e*40|0)+4>>2]|0)+(r<<2)>>2]|0;b=m+8|0;n=+h[b>>3]*72.0;o=d>0.0?+(c[(c[s>>2]|0)+248>>2]|0):0.0;j=(q|0)!=0;if(!(j&!(d+n+o<=f))){k=j?p:m;j=j?q:1;d=d+(n+o);break}k=p+4|0;l=m+4|0;j=0;while(1){if((j|0)<(c[k>>2]|0))g=0;else break;while(1){if((g|0)>=(c[l>>2]|0))break;a[(c[(kh(c[(c[p>>2]|0)+(j<<2)>>2]|0,c[(c[m>>2]|0)+(g<<2)>>2]|0,0)|0)+16>>2]|0)+112>>0]=1;g=g+1|0}j=j+1|0}g=c[46792]|0;c[(c[g+(e*40|0)+8>>2]|0)+(r<<2)>>2]=1;k=g+(e*40|0)+12|0;c[k>>2]=(c[k>>2]|0)+-1;k=g+(e*40|0)+16|0;c[k>>2]=(c[k>>2]|0)+1;k=g+(e*40|0)+24|0;h[k>>3]=+h[k>>3]-(+h[b>>3]*72.0+ +(c[(c[s>>2]|0)+248>>2]|0));k=p;j=q}else{k=p;j=q;i=i+1|0}while(0);p=k;q=j;r=r+1|0}}while(0);return}function Ek(a,b){a=a|0;b=b|0;a=Fk(c[a>>2]|0)|0;b=Fk(c[b>>2]|0)|0;return ((b|0)<(a|0)&1)-((b|0)>(a|0)&1)|0}function Fk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+4|0;d=0;b=0;while(1){if((d|0)>=(c[f>>2]|0))break;e=c[(c[a>>2]|0)+(d<<2)>>2]|0;g=uC(e)|0;e=UA(g,e)|0;while(1){if(!e)break;e=WA(g,e)|0;b=b+1|0}d=d+1|0}return b|0}function Gk(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[46792]|0;e=+h[f+((c[b>>2]|0)*40|0)+24>>3];d=+h[f+((c[a>>2]|0)*40|0)+24>>3];return (e>d&1)-(e>2]|0)+216>>2]=0;b=hC(a,b)|0}return}function Ik(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;d=g+20|0;c[d>>2]=5;a=NA(a,99906)|0;if(a|0?(c[e>>2]=g,c[e+4>>2]=d,(q4(a,87769,e)|0)>=1):0)dA(0,87776,f)|0;c[b+24>>2]=0;c[b+32>>2]=0;l=g;return 0}function Jk(b){b=b|0;var d=0,e=0;d=c[47258]|0;if((((d|0)!=0?(e=OA(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0)?(bP(e)|0)<<24>>24==0:0)b=1;else b=0;return b|0}function Kk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;dl(a);b=gC(a)|0;while(1){if(!b)break;d=UA(a,b)|0;while(1){if(!d)break;do if(((c[(c[d+16>>2]|0)+172>>2]|0)==0?(Jk(d)|0)==0:0)?(e=d+48|0,f=dP(c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)|0,g=d+-48|0,h=dP(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)|0,(f|0)!=(h|0)):0){if((c[(c[f+16>>2]|0)+212>>2]|0)==0?(c[(c[h+16>>2]|0)+212>>2]|0)==0:0){i=ah(f,h)|0;if(!i){kh(f,h,d)|0;break}else{sh(d,i);break}}i=c[d>>2]&3;Lk(a,c[((i|0)==3?d:e)+40>>2]|0,c[((i|0)==2?d:g)+40>>2]|0,d)}while(0);d=WA(a,d)|0}b=hC(a,b)|0}return}function Lk(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=c[g>>2]&3;h=c[(c[((j|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0;i=c[h+212>>2]|0;if(!i)k=0;else k=(c[h+232>>2]|0)-(c[(c[(c[(c[i+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)|0;h=c[(c[((j|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0;i=c[h+212>>2]|0;if(!i)h=0;else h=(c[h+232>>2]|0)-(c[(c[(c[(c[i+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)|0;j=g+16|0;k=k-h+(e[(c[j>>2]|0)+170>>1]|0)|0;b=ph(b)|0;a[(c[b+16>>2]|0)+156>>0]=2;i=dP(d)|0;d=dP(f)|0;f=Wi(b,i,(k|0)>0?0.0:+(0-k|0),(c[(c[j>>2]|0)+156>>2]|0)*10|0)|0;c[(c[(Wi(b,d,+(((k|0)>0?k:0)|0),c[(c[j>>2]|0)+156>>2]|0)|0)+16>>2]|0)+116>>2]=g;c[(c[f+16>>2]|0)+116>>2]=g;return}function Mk(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=c[d>>2]&3;j=(k|0)==3?d:d+48|0;k=(k|0)==2?d:d+-48|0;k=c[(c[(c[((c[(c[(c[j+40>>2]|0)+16>>2]|0)+232>>2]|0)>(c[(c[(c[k+40>>2]|0)+16>>2]|0)+232>>2]|0)?j:k)+40>>2]|0)+16>>2]|0)+232>>2]|0;j=d+16|0;h=c[j>>2]|0;d=h+172|0;if(c[d>>2]|0)Aa(87865,87887,148,87896);c[d>>2]=f;i=(g|0)==0;d=f;while(1){g=c[d+16>>2]|0;if(!i){f=g+168|0;b[f>>1]=(e[f>>1]|0)+(e[h+168>>1]|0)}f=g+154|0;b[f>>1]=(e[f>>1]|0)+(e[h+154>>1]|0);g=g+156|0;c[g>>2]=(c[g>>2]|0)+(c[h+156>>2]|0);g=d+-48|0;h=c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0;if((c[(c[h+16>>2]|0)+232>>2]|0)==(k|0))break;Nk(a,h);d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0;if(!d)break;h=c[j>>2]|0}return}function Nk(a,b){a=a|0;b=b|0;var d=0.0;d=+((c[(c[a+16>>2]|0)+248>>2]|0)/2|0|0);b=c[b+16>>2]|0;a=b+88|0;h[a>>3]=+h[a>>3]+d;b=b+96|0;h[b>>3]=d+ +h[b>>3];return}function Ok(a,b){a=a|0;b=b|0;var d=0,e=0;if(((((a|0)!=0&(b|0)!=0?(e=c[a>>2]&3,d=c[b>>2]&3,(c[((e|0)==3?a:a+48|0)+40>>2]|0)==(c[((d|0)==3?b:b+48|0)+40>>2]|0)):0)?(c[((e|0)==2?a:a+-48|0)+40>>2]|0)==(c[((d|0)==2?b:b+-48|0)+40>>2]|0):0)?(c[(c[a+16>>2]|0)+96>>2]|0)==(c[(c[b+16>>2]|0)+96>>2]|0):0)?(rj(a,b)|0)!=0:0)a=1;else a=0;return a|0}function Pk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=b+16|0;d=c[t>>2]|0;c[d+192>>2]=0;c[d+232>>2]=0;dl(b);d=1;while(1){e=c[t>>2]|0;if((d|0)>(c[e+180>>2]|0))break;el(b,c[(c[e+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}h=gC(b)|0;while(1){if(!h)break;g=UA(b,h)|0;while(1){if(!g)break;d=c[g>>2]|0;e=(c[(c[((d&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+160|0;f=a[e>>0]|0;if(f<<24>>24<3){a[e>>0]=f+1<<24>>24;d=c[g>>2]|0}d=(c[(c[((d&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+160|0;e=a[d>>0]|0;if(e<<24>>24<3)a[d>>0]=e+1<<24>>24;g=WA(b,g)|0}h=hC(b,h)|0}m=gC(b)|0;while(1){if(!m)break;if((c[(c[m+16>>2]|0)+212>>2]|0)==0?(m|0)==(dP(m)|0):0){lh(b,m);l=(c[t>>2]|0)+232|0;c[l>>2]=(c[l>>2]|0)+1}d=0;l=UA(b,m)|0;while(1){if(!l)break;i=l+16|0;e=c[i>>2]|0;a:do if(!(c[e+172>>2]|0)){j=l+48|0;k=l+-48|0;f=d+16|0;if(Qk(l)|0){if(!(Ok(d,l)|0)){Rk(b,l);d=l;break}e=c[(c[f>>2]|0)+172>>2]|0;if(e|0){Mk(b,l,e,0);gh(l);break}i=c[l>>2]&3;if((c[(c[(c[((i|0)==3?l:j)+40>>2]|0)+16>>2]|0)+232>>2]|0)!=(c[(c[(c[((i|0)==2?l:k)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;sh(l,d);gh(l);break}if((d|0?(s=c[l>>2]&3,n=c[((s|0)==3?l:j)+40>>2]|0,o=c[d>>2]&3,(n|0)==(c[((o|0)==3?d:d+48|0)+40>>2]|0)):0)?(p=c[((s|0)==2?l:k)+40>>2]|0,(p|0)==(c[((o|0)==2?d:d+-48|0)+40>>2]|0)):0){if((c[(c[n+16>>2]|0)+232>>2]|0)==(c[(c[p+16>>2]|0)+232>>2]|0)){sh(l,d);gh(l);break}if(((c[e+96>>2]|0)==0?(c[(c[f>>2]|0)+96>>2]|0)==0:0)?rj(l,d)|0:0)if(!(a[195236]|0)){Mk(b,l,c[(c[f>>2]|0)+172>>2]|0,1);gh(l);break}else{a[(c[i>>2]|0)+112>>0]=6;break}}h=c[l>>2]&3;e=c[((h|0)==3?l:j)+40>>2]|0;if((e|0)==(c[((h|0)==2?l:k)+40>>2]|0)){gh(l);d=l;break}e=dP(e)|0;f=dP(c[((c[l>>2]&3|0)==2?l:k)+40>>2]|0)|0;h=c[l>>2]&3;if((c[((h|0)==3?l:j)+40>>2]|0)==(e|0)?(c[((h|0)==2?l:k)+40>>2]|0)==(f|0):0){g=c[(c[e+16>>2]|0)+232>>2]|0;h=c[(c[f+16>>2]|0)+232>>2]|0;if((g|0)==(h|0)){qh(b,l);d=l;break}if((h|0)>(g|0)){Sk(b,e,f,l);d=l;break}e=fB(b,f,e,0,0)|0;do if(e|0?(q=c[e>>2]&3,r=c[((q|0)==2?e:e+-48|0)+40>>2]|0,(r|0)!=(c[((c[l>>2]&3|0)==2?l:k)+40>>2]|0)):0){f=e+16|0;if(!(c[(c[f>>2]|0)+172>>2]|0))Sk(b,c[((q|0)==3?e:e+48|0)+40>>2]|0,r,e);if((c[(c[i>>2]|0)+96>>2]|0)==0?(c[(c[f>>2]|0)+96>>2]|0)==0:0){if(!(rj(l,e)|0))break;if(!(a[195236]|0)){gh(l);Mk(b,l,c[(c[f>>2]|0)+172>>2]|0,1);break a}else{a[(c[i>>2]|0)+112>>0]=6;a[(c[f>>2]|0)+153>>0]=1;break a}}}while(0);d=c[l>>2]&3;Sk(b,c[((d|0)==2?l:k)+40>>2]|0,c[((d|0)==3?l:j)+40>>2]|0,l);d=l}}else d=l;while(0);l=WA(b,l)|0}m=hC(b,m)|0}if((dg(b)|0)!=(b|0)){d=c[(c[t>>2]|0)+216>>2]|0;if(!d)d=IK(4)|0;else d=KK(d,4)|0;t=c[t>>2]|0;c[t+216>>2]=d;c[d>>2]=c[t+192>>2]}return}function Qk(b){b=b|0;var d=0;d=c[b>>2]&3;if((a[(c[(c[((d|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7)b=1;else b=(a[(c[(c[((d|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7;return b&1|0}function Rk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=Vk(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;g=Vk(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;i=(c[(c[f+16>>2]|0)+232>>2]|0)>(c[(c[g+16>>2]|0)+232>>2]|0);e=i?f:g;f=i?g:f;g=f+16|0;i=e+16|0;a:do if((c[(c[g>>2]|0)+212>>2]|0)!=(c[(c[i>>2]|0)+212>>2]|0)){h=ah(f,e)|0;if(h|0){Mk(b,d,h,1);break}if((c[(c[g>>2]|0)+232>>2]|0)!=(c[(c[i>>2]|0)+232>>2]|0)){Sk(b,f,e,d);e=(c[d+16>>2]|0)+172|0;while(1){e=c[e>>2]|0;if(!e)break a;f=e+-48|0;if((c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(c[(c[i>>2]|0)+232>>2]|0))break a;a[(c[e+16>>2]|0)+112>>0]=5;e=c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+180>>2]|0}}}while(0);return}function Sk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=e+16|0;f=c[k>>2]|0;g=b+16|0;j=d+16|0;if(!(c[f+96>>2]|0))i=-1;else i=((c[(c[j>>2]|0)+232>>2]|0)+(c[(c[g>>2]|0)+232>>2]|0)|0)/2|0;if(c[f+172>>2]|0)Aa(87908,87887,89,87933);h=c[(c[g>>2]|0)+232>>2]|0;while(1){g=h+1|0;f=c[(c[j>>2]|0)+232>>2]|0;if((h|0)>=(f|0))break;if((g|0)<(f|0)){if((g|0)==(i|0))f=Tk(a,e)|0;else f=Uk(a)|0;c[(c[f+16>>2]|0)+232>>2]=g}else f=d;Fi(kh(b,f,e)|0);h=g;b=f}if(!(c[(c[k>>2]|0)+172>>2]|0))Aa(87944,87887,103,87933);else return}function Tk(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0.0;i=d+16|0;g=c[(c[i>>2]|0)+96>>2]|0;e=+h[g+24>>3];f=+h[g+32>>3];g=ph(b)|0;d=g+16|0;c[(c[d>>2]|0)+104>>2]=c[(c[i>>2]|0)+96>>2];j=+(c[(c[(vC(g)|0)+16>>2]|0)+248>>2]|0);h[(c[d>>2]|0)+88>>3]=j;if(!(a[(c[i>>2]|0)+114>>0]|0)){b=(c[(c[(vC(b)|0)+16>>2]|0)+116>>2]&1|0)==0;i=c[d>>2]|0;h[i+80>>3]=b?f:e;h[i+96>>3]=b?e:f}return g|0}function Uk(a){a=a|0;var b=0;b=ph(a)|0;Nk(a,b);return b|0}function Vk(b){b=b|0;var d=0;d=c[b+16>>2]|0;if((a[d+159>>0]|0)==7)b=c[(c[(c[(c[d+212>>2]|0)+16>>2]|0)+268>>2]|0)+(c[d+232>>2]<<2)>>2]|0;else b=dP(b)|0;return b|0}function Wk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=dg(a)|0;h=gC(a)|0;while(1){if(!h)break;b=ZA(j,h)|0;i=0;while(1){if(!b)break;l=_A(j,b,h)|0;if(EC(a,b)|0){k=i;b=l;i=k;continue}k=(c[b>>2]&3|0)==2?b:b+-48|0;m=(Ok(i,k)|0)==0;e=c[k>>2]&3;b=c[((e|0)==3?k:k+48|0)+40>>2]|0;d=c[(c[b+16>>2]|0)+232>>2]|0;e=c[((e|0)==2?k:k+-48|0)+40>>2]|0;f=c[(c[e+16>>2]|0)+232>>2]|0;g=(d|0)==(f|0);if(!m){c[(c[k+16>>2]|0)+172>>2]=g?i:0;b=c[(c[i+16>>2]|0)+172>>2]|0;if(!b){m=i;b=l;i=m;continue}Mk(a,k,b,0);hh(k);m=i;b=l;i=m;continue}if(!g)if((f|0)>(d|0)){Xk(b,e,k);b=l;i=k;continue}else{Xk(e,b,k);b=l;i=k;continue}b=ch(b,e)|0;if(!b){qh(j,k);b=l;i=k;continue}if((k|0)==(b|0)){m=i;b=l;i=m;continue}hh(k);if(c[(c[k+16>>2]|0)+172>>2]|0){m=i;b=l;i=m;continue}sh(k,b);m=i;b=l;i=m}h=hC(a,h)|0}return}function Xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Yk(a)|0;e=Yk(b)|0;Zk(f,e,d,c[(c[d+16>>2]|0)+172>>2]|0,(f|0)==(a|0)&(e|0)==(b|0)?1:5);return}function Yk(b){b=b|0;var d=0,e=0,f=0;d=c[b+16>>2]|0;e=c[d+212>>2]|0;if((e|0)!=0?(f=c[e+16>>2]|0,(a[f+272>>0]|0)==0):0)b=c[(c[f+268>>2]|0)+(c[d+232>>2]<<2)>>2]|0;return b|0}function Zk(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=d+16|0;l=c[(c[n>>2]|0)+232>>2]|0;o=e+16|0;j=c[(c[o>>2]|0)+232>>2]|0;if((j|0)<=(l|0))Aa(87969,87997,81,88007);m=c[g>>2]&3;if(!((c[((m|0)==3?g:g+48|0)+40>>2]|0)==(d|0)?(c[((m|0)==2?g:g+-48|0)+40>>2]|0)==(e|0):0))i=5;a:do if((i|0)==5){i=f+16|0;if((b[(c[g+16>>2]|0)+168>>1]|0)>1){c[(c[i>>2]|0)+172>>2]=0;if(((j-l|0)==1?(k=ah(d,e)|0,k|0):0)?rj(f,k)|0:0){sh(f,k);if(a[(c[n>>2]|0)+156>>0]|0)break;if(a[(c[o>>2]|0)+156>>0]|0)break;gh(f);break}m=h&255;h=d;l=c[(c[n>>2]|0)+232>>2]|0;while(1){i=c[(c[o>>2]|0)+232>>2]|0;if((l|0)>=(i|0))break a;if((l|0)<(i+-1|0)){i=dg(d)|0;j=g+-48|0;i=_k(i,c[((c[g>>2]&3|0)==2?g:j)+40>>2]|0)|0;k=g}else{i=e;j=g+-48|0;k=g}a[(c[(kh(h,i,f)|0)+16>>2]|0)+112>>0]=m;n=(c[g+16>>2]|0)+168|0;b[n>>1]=(b[n>>1]|0)+-1<<16>>16;h=i;l=l+1|0;g=c[c[(c[(c[((c[k>>2]&3|0)==2?g:j)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}}do if((j-l|0)==1){g=ah(d,e)|0;if(g|0?rj(f,g)|0:0){c[(c[i>>2]|0)+172>>2]=g;m=c[g+16>>2]|0;a[m+112>>0]=h;m=m+168|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16;if(a[(c[n>>2]|0)+156>>0]|0)break;if(a[(c[o>>2]|0)+156>>0]|0)break;gh(f);break}c[(c[i>>2]|0)+172>>2]=0;g=kh(d,e,f)|0;a[(c[g+16>>2]|0)+112>>0]=h}while(0);l=c[(c[o>>2]|0)+232>>2]|0;if((l-(c[(c[n>>2]|0)+232>>2]|0)|0)>1){if((c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)!=(d|0)){c[(c[i>>2]|0)+172>>2]=0;l=kh(d,c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0,f)|0;c[(c[i>>2]|0)+172>>2]=l;fh(g);g=l;l=c[(c[o>>2]|0)+232>>2]|0}while(1){i=c[g>>2]&3;j=c[((i|0)==2?g:g+-48|0)+40>>2]|0;k=c[j+16>>2]|0;if((c[k+232>>2]|0)==(l|0))break;g=c[c[k+180>>2]>>2]|0}if((j|0)!=(e|0)){a[(c[(kh(c[((i|0)==3?g:g+48|0)+40>>2]|0,e,f)|0)+16>>2]|0)+112>>0]=h;fh(g)}}}while(0);return}function _k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b+16|0;b=c[d>>2]|0;e=c[b+232>>2]|0;$k(a,e,c[b+236>>2]|0,2);b=ph(a)|0;d=c[d>>2]|0;f=c[b+16>>2]|0;h[f+88>>3]=+h[d+88>>3];h[f+96>>3]=+h[d+96>>3];c[f+232>>2]=c[d+232>>2];d=(c[d+236>>2]|0)+1|0;c[f+236>>2]=d;c[(c[(c[(c[a+16>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(d<<2)>>2]=b;return b|0}function $k(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a+16|0;f=c[(c[h>>2]|0)+196>>2]|0;i=c[f+(b<<6)+4>>2]|0;a:do if((e|0)<1){d=d-e|0;while(1){g=d+1|0;a=c[f+(b<<6)>>2]|0;if((g|0)>=(a|0))break;a=c[i+(g<<2)>>2]|0;f=d+e|0;c[(c[a+16>>2]|0)+236>>2]=f;c[i+(f<<2)>>2]=a;d=g;f=c[(c[h>>2]|0)+196>>2]|0}g=e+-1|0;d=g+a|0;while(1){if((d|0)>=(a|0))break a;c[i+(d<<2)>>2]=0;f=c[(c[h>>2]|0)+196>>2]|0;d=d+1|0;a=c[f+(b<<6)>>2]|0}}else{g=e+-1|0;a=c[f+(b<<6)>>2]|0;while(1){a=a+-1|0;if((a|0)<=(d|0))break;j=c[i+(a<<2)>>2]|0;f=g+a|0;c[(c[j+16>>2]|0)+236>>2]=f;c[i+(f<<2)>>2]=j}f=e+d|0;a=d;while(1){a=a+1|0;if((a|0)>=(f|0))break;c[i+(a<<2)>>2]=0}a=c[(c[h>>2]|0)+196>>2]|0;f=a;a=c[a+(b<<6)>>2]|0}while(0);c[f+(b<<6)>>2]=g+a;return}function al(a){a=a|0;var b=0;Pk(a);b=c[a+16>>2]|0;c[b+220>>2]=1;c[c[b+216>>2]>>2]=c[b+192>>2];Ci(a);hi(a,0);bl(a);Wk(a);cl(a);return}function bl(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=dg(d)|0;n=d+16|0;f=c[n>>2]|0;l=b[f+236>>1]|0;o=m+16|0;e=l<<16>>16;if(l<<16>>16>0)a[(c[(c[o>>2]|0)+196>>2]|0)+(e+-1<<6)+49>>0]=0;l=e;while(1){if((l|0)>(b[f+238>>1]|0))break;k=c[(c[(c[(c[f+268>>2]|0)+(l<<2)>>2]|0)+16>>2]|0)+236>>2]|0;$k(m,l,k,c[(c[f+196>>2]|0)+(l<<6)>>2]|0);i=0;j=k;e=c[o>>2]|0;while(1){f=c[n>>2]|0;p=c[f+196>>2]|0;g=p+(l<<6)+4|0;e=c[e+196>>2]|0;h=c[e+(l<<6)+4>>2]|0;if((i|0)>=(c[p+(l<<6)>>2]|0))break;e=c[(c[g>>2]|0)+(i<<2)>>2]|0;c[h+(j<<2)>>2]=e;p=c[e+16>>2]|0;c[p+236>>2]=j;if((a[p+156>>0]|0)==1)c[e+24>>2]=vC(m)|0;nh(d,e);lh(m,e);e=c[o>>2]|0;p=e+232|0;c[p>>2]=(c[p>>2]|0)+1;i=i+1|0;j=j+1|0}c[g>>2]=h+(k<<2);a[e+(l<<6)+49>>0]=0;l=l+1|0}e=c[o>>2]|0;if((l|0)<(b[e+238>>1]|0))a[(c[e+196>>2]|0)+(l<<6)+49>>0]=0;a[f+272>>0]=1;return}function cl(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+16|0;d=c[i>>2]|0;h=b[d+236>>1]|0;while(1){if((h|0)>(b[d+238>>1]|0))break;f=c[(c[d+268>>2]|0)+(h<<2)>>2]|0;g=f+16|0;while(1){d=c[g>>2]|0;e=c[c[d+180>>2]>>2]|0;if(!e)break;fh(e)}while(1){d=c[c[d+172>>2]>>2]|0;if(!d)break;fh(d);d=c[g>>2]|0}nh(dg(a)|0,f);c[(c[(c[i>>2]|0)+268>>2]|0)+(h<<2)>>2]=0;h=h+1|0;d=c[i>>2]|0}return}function dl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;f=gC(b)|0;while(1){if(!f)break;e=f+16|0;d=c[e>>2]|0;if((a[d+159>>0]|0)==7){fP(f);d=c[e>>2]|0}c[d+212>>2]=0;f=hC(b,f)|0}m=b+16|0;k=1;while(1){d=c[m>>2]|0;if((k|0)>(c[d+180>>2]|0))break;h=c[(c[d+184>>2]|0)+(k<<2)>>2]|0;i=h+16|0;d=gC(h)|0;a:while(1){if(!d)break;j=hC(h,d)|0;e=d+16|0;if(a[(c[e>>2]|0)+159>>0]|0){f=HB(d)|0;g=HB(b)|0;c[n>>2]=f;c[n+4>>2]=g;dA(0,88016,n)|0;tC(h,d)|0;d=j;continue}gP(d,c[(c[i>>2]|0)+264>>2]|0);g=c[e>>2]|0;c[g+212>>2]=h;a[g+159>>0]=7;g=UA(h,d)|0;while(1){if(!g){d=j;continue a}d=c[(c[g+16>>2]|0)+172>>2]|0;b:do if(d|0)do{e=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break b;c[f+212>>2]=h;d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);g=WA(h,g)|0}}k=k+1|0}l=o;return}function el(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=e+16|0;g=HK((b[(c[k>>2]|0)+238>>1]<<2)+8|0)|0;f=c[k>>2]|0;c[f+268>>2]=g;g=0;h=b[f+236>>1]|0;while(1){if((h|0)>(b[f+238>>1]|0))break;f=ph(d)|0;c[(c[(c[k>>2]|0)+268>>2]|0)+(h<<2)>>2]=f;j=c[f+16>>2]|0;c[j+232>>2]=h;a[j+159>>0]=7;c[j+212>>2]=e;if(g|0){j=(c[(kh(g,f,0)|0)+16>>2]|0)+154|0;b[j>>1]=(b[j>>1]|0)*1e3}g=f;h=h+1|0;f=c[k>>2]|0}j=gC(e)|0;while(1){f=c[k>>2]|0;i=f+268|0;if(!j)break;h=(c[(c[i>>2]|0)+(c[(c[j+16>>2]|0)+232>>2]<<2)>>2]|0)+16|0;f=(c[h>>2]|0)+216|0;c[f>>2]=(c[f>>2]|0)+1;f=UA(e,j)|0;while(1){if(!f)break;i=c[f>>2]|0;d=f+-48|0;g=c[(c[(c[((i&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){if((g|0)>=(c[(c[(c[((i&3|0)==2?f:d)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;i=(c[(c[c[(c[h>>2]|0)+180>>2]>>2]|0)+16>>2]|0)+168|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;g=g+1|0;i=c[f>>2]|0}f=WA(e,f)|0}j=hC(e,j)|0}d=b[f+238>>1]|0;f=b[f+236>>1]|0;while(1){if((f|0)>(d|0))break;g=(c[(c[(c[i>>2]|0)+(f<<2)>>2]|0)+16>>2]|0)+216|0;h=c[g>>2]|0;if((h|0)>1)c[g>>2]=h+-1;f=f+1|0}return}function fl(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=(c[(c[e+16>>2]|0)+212>>2]|0)+16|0;e=c[k>>2]|0;j=f+1|0;if((a[e+273>>0]|0)!=(j|0)){i=b[e+236>>1]|0;while(1){h=b[e+238>>1]|0;if((i|0)>(h<<16>>16|0))break;wi(d,c[(c[e+268>>2]|0)+(i<<2)>>2]|0);i=i+1|0;e=c[k>>2]|0}i=b[e+236>>1]|0;while(1){if((i|0)>(h<<16>>16|0))break;xi(g,c[(c[e+268>>2]|0)+(i<<2)>>2]|0,f);d=c[k>>2]|0;i=i+1|0;h=b[d+238>>1]|0;e=d}a[e+273>>0]=j}return}function gl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=gC(b)|0;while(1){if(!h)break;c[(c[h+16>>2]|0)+212>>2]=0;g=UA(b,h)|0;while(1){if(!g)break;d=c[(c[g+16>>2]|0)+172>>2]|0;a:do if(d|0)do{e=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break a;c[f+212>>2]=0;d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);g=WA(b,g)|0}h=hC(b,h)|0}hl(b);return}function hl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=b+16|0;d=1;while(1){f=c[e>>2]|0;if((d|0)>(c[f+180>>2]|0))break;hl(c[(c[f+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}i=gC(b)|0;while(1){if(!i)break;d=(c[i+16>>2]|0)+212|0;if(!(c[d>>2]|0))c[d>>2]=b;h=UA(b,i)|0;while(1){if(!h)break;d=c[(c[h+16>>2]|0)+172>>2]|0;a:do if(d|0)do{e=c[d>>2]|0;g=d+-48|0;f=c[(c[((e&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break a;f=f+212|0;if(!(c[f>>2]|0)){c[f>>2]=b;e=c[d>>2]|0}d=c[c[(c[(c[((e&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);h=WA(b,h)|0}i=hC(b,i)|0}return}function il(a){a=a|0;var b=0,c=0,d=0;d=GP(a)|0;c=gC(a)|0;while(1){if(!c)break;b=UA(a,c)|0;while(1){if(!b)break;jl(b,d);b=WA(a,b)|0}c=hC(a,c)|0}Oz(d)|0;return}function jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=l;l=l+320|0;L=R+296|0;K=R+280|0;G=R+136|0;z=R+120|0;q=R+104|0;m=R+88|0;f=R+80|0;I=R+16|0;C=R;n=R+264|0;o=R+248|0;p=R+232|0;s=R+216|0;E=R+200|0;F=R+184|0;B=R+168|0;M=R+152|0;i=kl(NA(a,88070)|0,b)|0;u=kl(NA(a,88076)|0,b)|0;v=(u|0)!=0;h=(i|0)!=0;do if(h|v?(Q=a+16|0,e=c[(c[Q>>2]|0)+8>>2]|0,e|0):0){A=a+48|0;b=c[a>>2]&3;g=c[((b|0)==3?a:A)+40>>2]|0;if((c[e+4>>2]|0)>1){P=HB(g)|0;Q=HB(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)|0;c[f>>2]=P;c[f+4>>2]=Q;dA(0,88082,f)|0;break}P=c[e>>2]|0;k=c[P+4>>2]|0;y=a+-48|0;t=c[((b|0)==2?a:y)+40>>2]|0;N=IK(48)|0;w=P+12|0;c[N+12>>2]=c[w>>2];D=P+8|0;c[N+8>>2]=c[D>>2];H=P+16|0;j=P+32|0;k=k+-1|0;x=N+32|0;r=g+16|0;t=t+16|0;do if(h){g=(c[i+16>>2]|0)+16|0;i=(c[t>>2]|0)+16|0;c[L>>2]=c[i>>2];c[L+4>>2]=c[i+4>>2];c[L+8>>2]=c[i+8>>2];c[L+12>>2]=c[i+12>>2];if(!(ll(L,g)|0)){s=HB(c[((c[a>>2]&3|0)==3?a:A)+40>>2]|0)|0;J=HB(c[((c[a>>2]&3|0)==2?a:y)+40>>2]|0)|0;O=NA(a,88070)|0;c[m>>2]=s;c[m+4>>2]=J;c[m+8>>2]=O;dA(0,88123,m)|0;O=25;break}b=c[P>>2]|0;c[L>>2]=c[b>>2];c[L+4>>2]=c[b+4>>2];c[L+8>>2]=c[b+8>>2];c[L+12>>2]=c[b+12>>2];if(!(ll(L,g)|0))b=0;else{J=(c[r>>2]|0)+16|0;c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];if(ll(L,g)|0){s=HB(c[((c[a>>2]&3|0)==3?a:A)+40>>2]|0)|0;J=HB(c[((c[a>>2]&3|0)==2?a:y)+40>>2]|0)|0;O=NA(a,88070)|0;c[q>>2]=s;c[q+4>>2]=J;c[q+8>>2]=O;dA(0,88166,q)|0;O=25;break}if(!(c[D>>2]|0))Aa(88208,88219,369,88230);c[K>>2]=c[b>>2];c[K+4>>2]=c[b+4>>2];c[K+8>>2]=c[b+8>>2];c[K+12>>2]=c[b+12>>2];c[L>>2]=c[H>>2];c[L+4>>2]=c[H+4>>2];c[L+8>>2]=c[H+8>>2];c[L+12>>2]=c[H+12>>2];ml(C,K,L,g);J=(c[P>>2]|0)+48|0;c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];J=(c[P>>2]|0)+16|0;c[K>>2]=c[C>>2];c[K+4>>2]=c[C+4>>2];c[K+8>>2]=c[C+8>>2];c[K+12>>2]=c[C+12>>2];c[L>>2]=c[H>>2];c[L+4>>2]=c[H+4>>2];c[L+8>>2]=c[H+8>>2];c[L+12>>2]=c[H+12>>2];nl(n,K,L);c[J>>2]=c[n>>2];c[J+4>>2]=c[n+4>>2];c[J+8>>2]=c[n+8>>2];c[J+12>>2]=c[n+12>>2];J=c[P>>2]|0;b=J+16|0;c[K>>2]=c[b>>2];c[K+4>>2]=c[b+4>>2];c[K+8>>2]=c[b+8>>2];c[K+12>>2]=c[b+12>>2];c[L>>2]=c[H>>2];c[L+4>>2]=c[H+4>>2];c[L+8>>2]=c[H+8>>2];c[L+12>>2]=c[H+12>>2];nl(o,K,L);c[J>>2]=c[o>>2];c[J+4>>2]=c[o+4>>2];c[J+8>>2]=c[o+8>>2];c[J+12>>2]=c[o+12>>2];J=c[P>>2]|0;b=J+32|0;J=J+16|0;c[K>>2]=c[J>>2];c[K+4>>2]=c[J+4>>2];c[K+8>>2]=c[J+8>>2];c[K+12>>2]=c[J+12>>2];c[L>>2]=c[C>>2];c[L+4>>2]=c[C+4>>2];c[L+8>>2]=c[C+8>>2];c[L+12>>2]=c[C+12>>2];nl(p,K,L);c[b>>2]=c[p>>2];c[b+4>>2]=c[p+4>>2];c[b+8>>2]=c[p+8>>2];c[b+12>>2]=c[p+12>>2];b=c[w>>2]|0;if(!b){J=3;break}J=(SH(a,c[P>>2]|0,0,0,N,b)|0)+3|0;break}while(1){if((b|0)>=(k|0))break;if(ol((c[P>>2]|0)+(b<<4)|0,g)|0)break;b=b+3|0}e=c[w>>2]|0;f=(e|0)!=0;if((b|0)==(k|0))if(f){J=(c[P>>2]|0)+(k<<4)|0;c[K>>2]=c[j>>2];c[K+4>>2]=c[j+4>>2];c[K+8>>2]=c[j+8>>2];c[K+12>>2]=c[j+12>>2];c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];ml(s,K,L,g);c[x>>2]=c[s>>2];c[x+4>>2]=c[s+4>>2];c[x+8>>2]=c[s+8>>2];c[x+12>>2]=c[s+12>>2];J=k;break}else Aa(88247,88219,387,88230);else{if(f)b=SH(a,c[P>>2]|0,0,b,N,e)|0;J=b+3|0;break}}else O=25;while(0);if((O|0)==25)if(!(c[w>>2]|0))J=k;else{c[x>>2]=c[j>>2];c[x+4>>2]=c[j+4>>2];c[x+8>>2]=c[j+8>>2];c[x+12>>2]=c[j+12>>2];J=k}j=N+16|0;do if(v){i=(c[u+16>>2]|0)+16|0;v=(c[r>>2]|0)+16|0;c[L>>2]=c[v>>2];c[L+4>>2]=c[v+4>>2];c[L+8>>2]=c[v+8>>2];c[L+12>>2]=c[v+12>>2];if(!(ll(L,i)|0)){L=HB(c[((c[a>>2]&3|0)==3?a:A)+40>>2]|0)|0;M=HB(c[((c[a>>2]&3|0)==2?a:y)+40>>2]|0)|0;O=NA(a,88076)|0;c[z>>2]=L;c[z+4>>2]=M;c[z+8>>2]=O;dA(0,88258,z)|0;O=50;break}b=(c[P>>2]|0)+(J<<4)|0;c[L>>2]=c[b>>2];c[L+4>>2]=c[b+4>>2];c[L+8>>2]=c[b+8>>2];c[L+12>>2]=c[b+12>>2];h=J+-3|0;if(ll(L,i)|0){M=(c[t>>2]|0)+16|0;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];if(ll(L,i)|0){L=HB(c[((c[a>>2]&3|0)==3?a:A)+40>>2]|0)|0;M=HB(c[((c[a>>2]&3|0)==2?a:y)+40>>2]|0)|0;O=NA(a,88076)|0;c[G>>2]=L;c[G+4>>2]=M;c[G+8>>2]=O;dA(0,88301,G)|0;O=50;break}if(!(c[w>>2]|0))Aa(88247,88219,429,88230);c[K>>2]=c[b>>2];c[K+4>>2]=c[b+4>>2];c[K+8>>2]=c[b+8>>2];c[K+12>>2]=c[b+12>>2];c[L>>2]=c[x>>2];c[L+4>>2]=c[x+4>>2];c[L+8>>2]=c[x+8>>2];c[L+12>>2]=c[x+12>>2];ml(C,K,L,i);M=(c[P>>2]|0)+(h<<4)|0;c[M>>2]=c[C>>2];c[M+4>>2]=c[C+4>>2];c[M+8>>2]=c[C+8>>2];c[M+12>>2]=c[C+12>>2];M=J+-1|0;d=(c[P>>2]|0)+(M<<4)|0;c[K>>2]=c[C>>2];c[K+4>>2]=c[C+4>>2];c[K+8>>2]=c[C+8>>2];c[K+12>>2]=c[C+12>>2];c[L>>2]=c[x>>2];c[L+4>>2]=c[x+4>>2];c[L+8>>2]=c[x+8>>2];c[L+12>>2]=c[x+12>>2];nl(E,K,L);c[d>>2]=c[E>>2];c[d+4>>2]=c[E+4>>2];c[d+8>>2]=c[E+8>>2];c[d+12>>2]=c[E+12>>2];d=c[P>>2]|0;I=d+(J<<4)|0;d=d+(M<<4)|0;c[K>>2]=c[d>>2];c[K+4>>2]=c[d+4>>2];c[K+8>>2]=c[d+8>>2];c[K+12>>2]=c[d+12>>2];c[L>>2]=c[x>>2];c[L+4>>2]=c[x+4>>2];c[L+8>>2]=c[x+8>>2];c[L+12>>2]=c[x+12>>2];nl(F,K,L);c[I>>2]=c[F>>2];c[I+4>>2]=c[F+4>>2];c[I+8>>2]=c[F+8>>2];c[I+12>>2]=c[F+12>>2];I=c[P>>2]|0;d=I+(J+-2<<4)|0;M=I+(M<<4)|0;c[K>>2]=c[M>>2];c[K+4>>2]=c[M+4>>2];c[K+8>>2]=c[M+8>>2];c[K+12>>2]=c[M+12>>2];c[L>>2]=c[C>>2];c[L+4>>2]=c[C+4>>2];c[L+8>>2]=c[C+8>>2];c[L+12>>2]=c[C+12>>2];nl(B,K,L);c[d>>2]=c[B>>2];c[d+4>>2]=c[B+4>>2];c[d+8>>2]=c[B+8>>2];c[d+12>>2]=c[B+12>>2];d=c[D>>2]|0;if(!d){d=h;break}d=UH(a,c[P>>2]|0,h,h,N,d)|0;break}f=J;while(1){g=f+-3|0;if((f|0)>0)b=0;else break;while(1){if((b|0)==4)break;G=I+(b<<4)|0;F=(c[P>>2]|0)+(f-b<<4)|0;c[G>>2]=c[F>>2];c[G+4>>2]=c[F+4>>2];c[G+8>>2]=c[F+8>>2];c[G+12>>2]=c[F+12>>2];b=b+1|0}if(!(ol(I,i)|0))f=g;else{b=0;O=42;break}}a:do if((O|0)==42)while(1){O=0;if((b|0)==4)break a;O=(c[P>>2]|0)+(f-b<<4)|0;G=I+(b<<4)|0;c[O>>2]=c[G>>2];c[O+4>>2]=c[G+4>>2];c[O+8>>2]=c[G+8>>2];c[O+12>>2]=c[G+12>>2];b=b+1|0;O=42}while(0);b=c[D>>2]|0;e=(b|0)!=0;if(f|0){if(!e){d=g;break}d=UH(a,c[P>>2]|0,g,h,N,b)|0;break}if(e){d=c[P>>2]|0;c[K>>2]=c[H>>2];c[K+4>>2]=c[H+4>>2];c[K+8>>2]=c[H+8>>2];c[K+12>>2]=c[H+12>>2];c[L>>2]=c[d>>2];c[L+4>>2]=c[d+4>>2];c[L+8>>2]=c[d+8>>2];c[L+12>>2]=c[d+12>>2];ml(M,K,L,i);c[j>>2]=c[M>>2];c[j+4>>2]=c[M+4>>2];c[j+8>>2]=c[M+8>>2];c[j+12>>2]=c[M+12>>2];d=0;break}else Aa(88208,88219,452,88230)}else O=50;while(0);if((O|0)==50)if(!(c[D>>2]|0))d=0;else{c[j>>2]=c[H>>2];c[j+4>>2]=c[H+4>>2];c[j+8>>2]=c[H+8>>2];c[j+12>>2]=c[H+12>>2];d=0}b=J-d+1|0;f=N+4|0;c[f>>2]=b;c[N>>2]=IK(b<<4)|0;b=0;while(1){e=c[P>>2]|0;if((b|0)>=(c[f>>2]|0))break;O=(c[N>>2]|0)+(b<<4)|0;a=e+(d<<4)|0;c[O>>2]=c[a>>2];c[O+4>>2]=c[a+4>>2];c[O+8>>2]=c[a+8>>2];c[O+12>>2]=c[a+12>>2];d=d+1|0;b=b+1|0}l6(e);l6(P);c[c[(c[Q>>2]|0)+8>>2]>>2]=N}while(0);l=R;return}function kl(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((b|0)!=0?(a[b>>0]|0)!=0:0){d=IP(d,b)|0;if(!d){c[e>>2]=b;dA(0,88421,e)|0;d=0}}else d=0;l=f;return d|0}function ll(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3];if((+h[b>>3]<=d?d<=+h[b+16>>3]:0)?(c=+h[a+8>>3],+h[b+8>>3]<=c):0)a=c<=+h[b+24>>3];else a=0;return a&1|0}function ml(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+464|0;r=F+48|0;E=F+32|0;x=F+16|0;y=F;z=F+364|0;B=F+264|0;C=F+164|0;D=F+64|0;u=+h[b>>3];v=+h[b+8>>3];k=+h[d>>3];w=+h[d+8>>3];c[x>>2]=c[e>>2];c[x+4>>2]=c[e+4>>2];c[x+8>>2]=c[e+8>>2];c[x+12>>2]=c[e+12>>2];j=e+16|0;c[y>>2]=c[j>>2];c[y+4>>2]=c[j+4>>2];c[y+8>>2]=c[j+8>>2];c[y+12>>2]=c[j+12>>2];m=+h[x>>3];n=v-w;o=u-k;j=a+8|0;e=y+8|0;f=+h[x+8>>3];if(k=f?!(g<=+h[e>>3]):1)):0){s=g;t=m}else i=3;do if((i|0)==3){g=+h[y>>3];if(k>g?(p=v+ +(~~(n*(g-u)/o)|0),!(p>=f?!(p<=+h[e>>3]):1)):0){s=p;t=g;break}if(w=m)|!(q<=g))):0){s=f;t=q;break}f=+h[e>>3];if(w>f?(A=u+ +(~~(o*(f-v)/n)|0),!(!(A>=m)|!(A<=g))):0){s=f;t=A;break};c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];z=tl(r,z)|0;c[r>>2]=c[d>>2];c[r+4>>2]=c[d+4>>2];c[r+8>>2]=c[d+8>>2];c[r+12>>2]=c[d+12>>2];B=tl(r,B)|0;c[r>>2]=c[x>>2];c[r+4>>2]=c[x+4>>2];c[r+8>>2]=c[x+8>>2];c[r+12>>2]=c[x+12>>2];C=tl(r,C)|0;c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];D=tl(r,D)|0;c[E>>2]=z;c[E+4>>2]=B;c[E+8>>2]=C;c[E+12>>2]=D;dA(1,88343,E)|0;Aa(138697,88219,78,88395)}while(0);h[a>>3]=t;h[j>>3]=s;l=F;return}function nl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[b+8>>3]+ +h[c+8>>3])*.5;h[a>>3]=(+h[b>>3]+ +h[c>>3])*.5;h[a+8>>3]=d;return}function ol(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+80|0;j=m+16|0;k=m;e=0;while(1){if((e|0)==4)break;i=j+(e<<4)|0;g=a+(e<<4)|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];e=e+1|0}e=b+8|0;i=b+24|0;d=+pl(a,0.0,1.0,+h[b>>3],+h[e>>3],+h[i>>3]);if(d>=0.0&d<2.0)iP(k,j,3,d,a,0);else d=2.0;g=b+16|0;f=+pl(a,0.0,d>1.0?1.0:d,+h[g>>3],+h[e>>3],+h[i>>3]);if(f>=0.0&f1.0?1.0:d,+h[e>>3],+h[b>>3],+h[g>>3]);if(f>=0.0&f1.0?1.0:d,+h[i>>3],+h[b>>3],+h[g>>3]);if(f>=0.0&f>3]-d))<=.005){b=+h[a+56>>3];b=!(b>=e)|!(b<=f)?-1.0:c;break a}break}default:{}}iP(i,a,3,.5,j,k);g=(b+c)*.5;b=+pl(j,b,g,d,e,f);if(!(b>=0.0))b=+pl(k,g,c,d,e,f)}while(0);l=m;return +b}function ql(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m+80|0;k=m+16|0;i=m;a:do if(!(b==c)){switch(rl(a,d)|0){case 0:{b=-1.0;break a}case 1:{if(+F(+(+h[a+56>>3]-d))<=.005){b=+h[a+48>>3];b=!(b>=e)|!(b<=f)?-1.0:c;break a}break}default:{}}iP(i,a,3,.5,j,k);g=(b+c)*.5;b=+ql(j,b,g,d,e,f);if(!(b>=0.0))b=+ql(k,g,c,d,e,f)}while(0);l=m;return +b}function rl(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0,g=0,i=0;f=+h[a+8>>3];e=fb&1;c=1;d=e;e=(e|0)==0&1;while(1){if((c|0)==4)break;f=+h[a+(c<<4)+8>>3];i=fb&1;g=((d|0)!=0&(i|0)!=(d|0)&1)+e|0;c=c+1|0;d=i;e=g}return e|0}function sl(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0,g=0,i=0;f=+h[a>>3];e=fb&1;c=1;d=e;e=(e|0)==0&1;while(1){if((c|0)==4)break;f=+h[a+(c<<4)>>3];i=fb&1;g=((d|0)!=0&(i|0)!=(d|0)&1)+e|0;c=c+1|0;d=i;e=g}return e|0}function tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=l;l=l+16|0;d=c;e=+h[a+8>>3];h[d>>3]=+h[a>>3];h[d+8>>3]=e;i2(b,88409,d)|0;l=c;return b|0}function ul(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;s=v;u=4;t=k6(40)|0;c[t>>2]=0;r=a+16|0;e=c[r>>2]|0;a:do if(((b[e+238>>1]|0)-(b[e+236>>1]|0)|0)>=2){m=1;d=e;e=c[e+196>>2]|0;b:while(1){n=m+1|0;if(!(c[e+(n<<6)>>2]|0)){q=15;break}else k=0;while(1){h=c[e+(m<<6)>>2]|0;if((k|0)>=(h|0)){m=n;continue b}i=c[(c[e+(m<<6)+4>>2]|0)+(k<<2)>>2]|0;o=0;g=la(20,i|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=A6(c[d>>2]|0,t|0,u|0)|0;if(!f)Ca(d|0,p|0);D=p}else f=-1;if((f|0)==1){d=D;break b}j=k+1|0;if(g<<24>>24){g=j;d=h;while(1){if((g|0)>=(d|0))break;o=0;d=ra(65,i|0,c[(c[e+(m<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,t|0,u|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){d=D;break b}if(!(d<<24>>24))break;d=c[(c[r>>2]|0)+196>>2]|0;g=g+1|0;e=d;d=c[d+(m<<6)>>2]|0}if((g-k|0)>1){o=0;ba(15,a|0,m|0,k|0,g+-1|0,1);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,t|0,u|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;break b}}}e=c[r>>2]|0;k=j;d=e;e=c[e+196>>2]|0}}c:do if((q|0)==15){while(1){if((m|0)>0)k=0;else break;while(1){e=c[d+196>>2]|0;h=c[e+(m<<6)>>2]|0;if((k|0)>=(h|0))break;i=c[(c[e+(m<<6)+4>>2]|0)+(k<<2)>>2]|0;o=0;g=la(21,i|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=A6(c[d>>2]|0,t|0,u|0)|0;if(!f)Ca(d|0,p|0);D=p}else f=-1;if((f|0)==1){d=D;break c}j=k+1|0;if(g<<24>>24){g=j;d=h;while(1){if((g|0)>=(d|0))break;o=0;d=ra(66,i|0,c[(c[e+(m<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,t|0,u|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){d=D;break c}if(!(d<<24>>24))break;d=c[(c[r>>2]|0)+196>>2]|0;g=g+1|0;e=d;d=c[d+(m<<6)>>2]|0}if((g-k|0)>1){o=0;ba(15,a|0,m|0,k|0,g+-1|0,0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,t|0,u|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;break c}}}k=j;d=c[r>>2]|0}m=m+-1|0;q=15}t=x6(187184,1,t|0,u|0)|0;u=D;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,t|0,u|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1)d=D;else d=0}while(0);d:while(1){if(d){o=0;aa(23,3,88449,s|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,t|0,u|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;continue}else break}else f=1;while(1){d=c[r>>2]|0;if((f|0)>(c[d+180>>2]|0))break a;o=0;$(101,c[(c[d+184>>2]|0)+(f<<2)>>2]|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,t|0,u|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;continue d}f=f+1|0}}}while(0);l6(t|0);l=v;return}function vl(b){b=b|0;b=c[b+16>>2]|0;if(((a[b+156>>0]|0)==1?(c[b+176>>2]|0)==1:0)?(c[b+184>>2]|0)==1:0)b=(c[b+104>>2]|0)==0&1;else b=0;return b|0}function wl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;h=i+40|0;g=i;e=c[c[(c[a+16>>2]|0)+172>>2]>>2]|0;a=c[c[(c[b+16>>2]|0)+172>>2]>>2]|0;if(((vl(b)|0)<<24>>24!=0?(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0):0)?(Cl(e,a)|0)<<24>>24!=0:0){d=(c[a+16>>2]|0)+16|0;f=g;a=(c[e+16>>2]|0)+16|0;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));f=h;a=d;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));a=(eg(g,h)|0)==0&1}else a=0;l=i;return a|0}function xl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+16|0;q=c[(c[(c[(c[t>>2]|0)+196>>2]|0)+(b<<6)+4>>2]|0)+(d<<2)>>2]|0;p=d+1|0;m=(f|0)==1;n=q+16|0;l=p;while(1){if((l|0)>(e|0)){g=e;s=p;break}o=c[(c[(c[(c[t>>2]|0)+196>>2]|0)+(b<<6)+4>>2]|0)+(l<<2)>>2]|0;k=o+16|0;a:do if(m)while(1){d=c[k>>2]|0;j=c[c[d+180>>2]>>2]|0;if(!j)break a;h=c[(c[n>>2]|0)+180>>2]|0;i=j+-48|0;f=0;while(1){d=c[h+(f<<2)>>2]|0;if(!d){r=8;break}if((c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)==(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0))break;else f=f+1|0}if((r|0)==8){r=0;d=kh(q,c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0,j)|0}while(1){f=c[c[(c[k>>2]|0)+172>>2]>>2]|0;if(!f)break;sh(f,d);fh(f)}fh(j)}else while(1){d=c[k>>2]|0;j=c[c[d+172>>2]>>2]|0;if(!j)break a;h=c[(c[n>>2]|0)+172>>2]|0;i=j+48|0;f=0;while(1){d=c[h+(f<<2)>>2]|0;if(!d){r=17;break}if((c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)==(c[((c[j>>2]&3|0)==3?j:i)+40>>2]|0))break;else f=f+1|0}if((r|0)==17){r=0;d=kh(c[((c[j>>2]&3|0)==3?j:i)+40>>2]|0,q,j)|0}while(1){f=c[c[(c[k>>2]|0)+180>>2]>>2]|0;if(!f)break;sh(f,d);fh(f)}fh(j)}while(0);if((c[d+176>>2]|0)!=(0-(c[d+184>>2]|0)|0)){r=23;break}nh(a,o);l=l+1|0}if((r|0)==23)Aa(88585,88629,115,88636);while(1){g=g+1|0;f=c[(c[t>>2]|0)+196>>2]|0;d=f+(b<<6)|0;f=c[f+(b<<6)+4>>2]|0;h=f+(s<<2)|0;if((g|0)>=(c[d>>2]|0))break;r=c[f+(g<<2)>>2]|0;c[h>>2]=r;c[(c[r+16>>2]|0)+236>>2]=s;s=s+1|0}c[d>>2]=s;c[h>>2]=0;return}function yl(b){b=b|0;b=c[b+16>>2]|0;if(((a[b+156>>0]|0)==1?(c[b+184>>2]|0)==1:0)?(c[b+176>>2]|0)==1:0)b=(c[b+104>>2]|0)==0&1;else b=0;return b|0}function zl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;h=i+40|0;g=i;e=c[c[(c[a+16>>2]|0)+180>>2]>>2]|0;a=c[c[(c[b+16>>2]|0)+180>>2]>>2]|0;if(((yl(b)|0)<<24>>24!=0?(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)==(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0):0)?(Cl(e,a)|0)<<24>>24!=0:0){d=(c[a+16>>2]|0)+56|0;f=g;a=(c[e+16>>2]|0)+56|0;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));f=h;a=d;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));a=(eg(g,h)|0)==0&1}else a=0;l=i;return a|0}function Al(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;p=r+16|0;o=r;m=d+16|0;f=c[m>>2]|0;e=b[f+236>>1]|0;while(1){if((e|0)>(b[f+238>>1]|0))break;c[(c[f+268>>2]|0)+(e<<2)>>2]=0;e=e+1|0;f=c[m>>2]|0}sj(d);j=gC(d)|0;while(1){if(!j)break;Bl(d,j);i=UA(d,j)|0;while(1){if(!i)break;else f=i;while(1){e=c[(c[f+16>>2]|0)+172>>2]|0;if(!e)break;else f=e}h=i+-48|0;while(1){e=f+-48|0;g=c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0;if((c[(c[g+16>>2]|0)+232>>2]|0)>=(c[(c[(c[((c[i>>2]&3|0)==2?i:h)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;Bl(d,g);f=c[c[(c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}i=WA(d,i)|0}j=hC(d,j)|0}e=c[m>>2]|0;i=b[e+236>>1]|0;while(1){if((i|0)>(b[e+238>>1]|0)){k=1;n=e;break}e=c[(c[e+268>>2]|0)+(i<<2)>>2]|0;j=c[(c[(c[(dg(d)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;f=e+16|0;if((c[j+(c[(c[f>>2]|0)+236>>2]<<2)>>2]|0)!=(e|0)){q=17;break}h=c[(c[(c[(dg(d)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;e=c[m>>2]|0;f=c[e+196>>2]|0;c[f+(i<<6)+4>>2]=h+(c[(c[(c[(c[e+268>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+236>>2]<<2);e=-1;h=0;a:while(1){if((h|0)>=(c[f+(i<<6)>>2]|0))break;f=c[(c[f+(i<<6)+4>>2]|0)+(h<<2)>>2]|0;if(!f)break;g=c[f+16>>2]|0;b:do if(!(a[g+156>>0]|0))if(!(EC(d,f)|0))break a;else e=h;else{f=c[c[g+172>>2]>>2]|0;while(1){if(!f)break b;g=c[(c[f+16>>2]|0)+116>>2]|0;if(!g)break;else f=g}if(EC(d,c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)|0){j=(EC(d,c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)|0)==0;e=j?e:h}}while(0);h=h+1|0;f=c[(c[m>>2]|0)+196>>2]|0}if((e|0)==-1){c[p>>2]=HB(d)|0;c[p+4>>2]=i;dA(0,88549,p)|0}j=c[m>>2]|0;c[(c[j+196>>2]|0)+(i<<6)>>2]=e+1;i=i+1|0;e=j}if((q|0)==17){p=HB(e)|0;q=c[(c[f>>2]|0)+236>>2]|0;c[o>>2]=p;c[o+4>>2]=q;c[o+8>>2]=i;dA(1,88491,o)|0;Ca(187184,1)}while(1){if((k|0)>(c[n+180>>2]|0))break;Al(c[(c[n+184>>2]|0)+(k<<2)>>2]|0);k=k+1|0;n=c[m>>2]|0}l=r;return}function Bl(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+16>>2]|0;a=(c[(c[a+16>>2]|0)+268>>2]|0)+(c[d+232>>2]<<2)|0;e=c[a>>2]|0;if(!((e|0)!=0?(c[(c[e+16>>2]|0)+236>>2]|0)<=(c[d+236>>2]|0):0))c[a>>2]=b;return}function Cl(b,d){b=b|0;d=d|0;var e=0,f=0;while(1){f=c[b+16>>2]|0;if(!(a[f+112>>0]|0))break;b=c[f+116>>2]|0}while(1){e=c[d+16>>2]|0;if(!(a[e+112>>0]|0))break;d=c[e+116>>2]|0}if((a[f+153>>0]|0)==0?(a[e+153>>0]|0)==0:0){f=c[d>>2]&3;e=c[b>>2]&3;b=(S((c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0,(c[(c[(c[((f|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((f|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)|0)>0&1}else b=0;return b|0}function Dl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+544|0;j=k+528|0;El(j,k+512|0,k);e=(a[194050]|0)+1<<24>>24;a[194050]=e<<24>>24==0?1:e;e=c[b+16>>2]|0;c[e+220>>2]=0;c[e+232>>2]=0;e=(d|0)>0;d=gC(b)|0;while(1){if(!d)break;if(e?(h=c[d+16>>2]|0,i=c[h+212>>2]|0,(i|0)!=0):0){g=c[(c[(c[i+16>>2]|0)+268>>2]|0)+(c[h+232>>2]<<2)>>2]|0;f=7}else f=6;if((f|0)==6?(f=0,(d|0)==(dP(d)|0)):0){g=d;f=7}if((f|0)==7?(0,(a[(c[g+16>>2]|0)+157>>0]|0)!=(a[194050]|0)):0){Fl(b);Gl(j,b,g);Hl(b)}d=hC(b,d)|0}Il(j);l=k;return}function El(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=d;c[b+4>>2]=d+512;c[b+12>>2]=0;c[b+8>>2]=0;c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=d;return}function Fl(a){a=a|0;c[(c[a+16>>2]|0)+192>>2]=0;c[46835]=0;return}function Gl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q;Jl(b,e);k=p+8|0;m=p+16|0;n=p+24|0;a:while(1){o=Kl(b)|0;if(!o)break;e=o+16|0;if((a[(c[e>>2]|0)+157>>0]|0)==(a[194050]|0))continue;Ll(d,o);h=c[e>>2]|0;g=h+180|0;j=c[g+4>>2]|0;i=p;c[i>>2]=c[g>>2];c[i+4>>2]=j;i=h+172|0;j=c[i+4>>2]|0;g=k;c[g>>2]=c[i>>2];c[g+4>>2]=j;g=h+188|0;j=c[g+4>>2]|0;i=m;c[i>>2]=c[g>>2];c[i+4>>2]=j;h=h+196|0;i=c[h+4>>2]|0;j=n;c[j>>2]=c[h>>2];c[j+4>>2]=i;j=3;while(1){if((j|0)<=-1)continue a;e=c[p+(j<<3)>>2]|0;b:do if(e|0){i=(c[p+(j<<3)+4>>2]|0)+-1|0;h=e+(i<<2)|0;while(1){if((i|0)<=-1)break b;f=c[h>>2]|0;g=c[f>>2]&3;e=c[((g|0)==2?f:f+-48|0)+40>>2]|0;if((e|0)==(o|0))e=c[((g|0)==3?f:f+48|0)+40>>2]|0;if((a[(c[e+16>>2]|0)+157>>0]|0)!=(a[194050]|0)?(e|0)==(dP(e)|0):0)Jl(b,e);h=h+-4|0;i=i+-1|0}}while(0);j=j+-1|0}}l=q;return}function Hl(a){a=a|0;var b=0,d=0,e=0,f=0;d=a+16|0;a=c[d>>2]|0;f=a+220|0;e=c[f>>2]|0;b=e+1|0;c[f>>2]=b;a=c[a+216>>2]|0;b=b<<2;if(!a)a=IK(b)|0;else a=KK(a,b)|0;f=c[d>>2]|0;c[f+216>>2]=a;c[a+(e<<2)>>2]=c[f+192>>2];return}function Il(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;while(1){if(!a)break;b=c[a+12>>2]|0;l6(c[a>>2]|0);l6(a);a=b}return}function Jl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+8|0;g=k;j=b+8|0;f=c[j>>2]|0;i=b+4|0;b=c[i>>2]|0;if((f|0)==(c[b+4>>2]|0)){f=c[b+12>>2]|0;if(!f){f=HK(16)|0;if(!f)dA(1,99270,g)|0;c[f+8>>2]=c[i>>2];c[f+12>>2]=0;b=HK(4e6)|0;c[f>>2]=b;if(!b){dA(1,88649,h)|0;b=c[f>>2]|0}c[f+4>>2]=b+4e6;c[(c[i>>2]|0)+12>>2]=f}c[i>>2]=f;f=c[f>>2]|0;c[j>>2]=f}a[(c[e+16>>2]|0)+157>>0]=(d[194050]|0)+1;c[j>>2]=f+4;c[f>>2]=e;l=k;return}function Kl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;d=a+4|0;e=c[d>>2]|0;if((b|0)==(c[e>>2]|0))if((e|0)==(c[a>>2]|0))b=0;else{b=c[e+8>>2]|0;c[d>>2]=b;b=c[b+4>>2]|0;c[f>>2]=b;g=4}else g=4;if((g|0)==4){b=b+-4|0;c[f>>2]=b;b=c[b>>2]|0}return b|0}function Ll(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=c[b+16>>2]|0;g=f+232|0;c[g>>2]=(c[g>>2]|0)+1;g=c[d+16>>2]|0;a[g+157>>0]=a[194050]|0;b=c[46835]|0;e=g+168|0;if(!b){c[e>>2]=0;c[f+192>>2]=d}else{c[e>>2]=b;c[(c[b+16>>2]|0)+164>>2]=d}c[46835]=d;c[g+164>>2]=0;return}function Ml(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;m=b+16|0;d=(c[m>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;d=c[g>>2]|0;e=c[d+188>>2]|0;a:do if(!e)f=0;else{f=0;while(1){e=c[e+(f<<2)>>2]|0;if(!e){f=0;break a}Nl(e);d=c[g>>2]|0;f=f+1|0;e=c[d+188>>2]|0}}while(0);while(1){if((f|0)>=(c[d+208>>2]|0))break;e=c[(c[d+204>>2]|0)+(f<<2)>>2]|0;l=c[e>>2]&3;if((c[(c[(c[((l|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)==(c[(c[(c[((l|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)){Nl(e);d=c[g>>2]|0}f=f+1|0}d=d+164|0}l=c[m>>2]|0;d=c[l+196>>2]|0;if(!((c[d+56>>2]|0)==0?(c[l+180>>2]|0)<=0:0))i=13;b:do if((i|0)==13){i=c[d+4>>2]|0;g=0;c:while(1){d=c[i+(g<<2)>>2]|0;if(!d)break b;e=c[(c[d+16>>2]|0)+196>>2]|0;d=0;while(1){f=c[e+(d<<2)>>2]|0;if(!f)break;l=c[f+16>>2]|0;if(c[l+96>>2]|0?(a[l+113>>0]|0)==0:0)break c;d=d+1|0}g=g+1|0}Ol(b)}while(0);Ei(b);e=0;d=(c[m>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;l=d+16|0;d=c[l>>2]|0;f=c[d+188>>2]|0;d:do if(f){k=0;while(1){g=c[f+(k<<2)>>2]|0;if(!g){k=0;break}i=c[g+16>>2]|0;j=c[i+96>>2]|0;do if(j)if(!(a[i+113>>0]|0)){Pl(g);f=c[l>>2]|0;e=1;d=f;f=c[f+188>>2]|0;break}else{h[i+136>>3]=+h[((c[(c[m>>2]|0)+116>>2]&1|0)==0?j+24|0:j+32|0)>>3];break}while(0);k=k+1|0}while(1){if((k|0)>=(c[d+208>>2]|0))break d;i=c[(c[d+204>>2]|0)+(k<<2)>>2]|0;j=c[i>>2]&3;g=c[((j|0)==3?i:i+48|0)+40>>2]|0;j=c[((j|0)==2?i:i+-48|0)+40>>2]|0;do if(!((g|0)==(j|0)?1:(c[(c[g+16>>2]|0)+232>>2]|0)!=(c[(c[j+16>>2]|0)+232>>2]|0))){f=i;do{j=c[f+16>>2]|0;f=c[j+172>>2]|0}while((f|0)!=0);f=a[j+113>>0]|0;g=c[i+16>>2]|0;a[g+113>>0]=f;g=c[g+96>>2]|0;if(g)if(!(f<<24>>24)){Pl(i);e=1;d=c[l>>2]|0;break}else{o=+h[((c[(c[m>>2]|0)+116>>2]&1|0)==0?g+24|0:g+32|0)>>3];j=j+136|0;n=+h[j>>3];h[j>>3]=o>n?o:n;break}}while(0);k=k+1|0}}while(0);d=d+164|0}if(e|0){xh(b);Lh(b)}return e|0}function Nl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b>>2]&3;i=c[((d|0)==3?b:b+48|0)+40>>2]|0;f=i+16|0;g=c[(c[f>>2]|0)+236>>2]|0;d=c[(c[(c[((d|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;h=(g|0)<(d|0);e=h?d:g;i=c[(c[(dg(i)|0)+16>>2]|0)+196>>2]|0;f=i+(c[(c[f>>2]|0)+232>>2]<<6)+4|0;d=h?g:d;a:while(1){d=d+1|0;if((d|0)>=(e|0))break;g=c[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;switch(a[g+156>>0]|0){case 0:break a;case 1:break;default:continue a}if(c[g+104>>2]|0)break}if((d|0)==(e|0))do{i=c[b+16>>2]|0;a[i+113>>0]=1;b=c[i+172>>2]|0}while((b|0)!=0);return} +function r3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;B6(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;B6(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);l=h;return}function s3(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+100|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=W1(b)|0}while((X1(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=W1(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;do{if((h|32|0)!=(a[153600+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=W1(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[153609+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=W1(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=W1(b)|0;if((e|0)==40)e=1;else{if(!(c[n>>2]|0)){g=s;break a}c[o>>2]=(c[o>>2]|0)+-1;g=s;break a}while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=W1(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(L1()|0)>>2]=22;U1(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=W1(b)|0;if((e|32|0)==120){g=+t3(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+u3(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(L1()|0)>>2]=22;U1(b,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*t}while(0);return +g}function t3(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=a+4|0;i=c[w>>2]|0;v=a+100|0;if(i>>>0<(c[v>>2]|0)>>>0){c[w>>2]=i+1;i=d[i>>0]|0;j=0}else{i=W1(a)|0;j=0}a:while(1){switch(i|0){case 46:{n=8;break a}case 48:break;default:{s=0;t=0;p=1.0;h=0.0;u=0;r=j;j=0;q=0;m=0;l=0;break a}}i=c[w>>2]|0;if(i>>>0<(c[v>>2]|0)>>>0){c[w>>2]=i+1;i=d[i>>0]|0;j=1;continue}else{i=W1(a)|0;j=1;continue}}if((n|0)==8){i=c[w>>2]|0;if(i>>>0<(c[v>>2]|0)>>>0){c[w>>2]=i+1;i=d[i>>0]|0}else i=W1(a)|0;if((i|0)==48){l=0;j=0;do{i=c[w>>2]|0;if(i>>>0<(c[v>>2]|0)>>>0){c[w>>2]=i+1;i=d[i>>0]|0}else i=W1(a)|0;l=w6(l|0,j|0,-1,-1)|0;j=D}while((i|0)==48);s=1;t=0;p=1.0;h=0.0;u=0;r=1;q=0;m=0}else{s=1;t=0;p=1.0;h=0.0;u=0;r=j;j=0;q=0;m=0;l=0}}while(1){n=i+-48|0;o=(i|0)==46;if(n>>>0>=10?!(o|((i|32)+-97|0)>>>0<6):0)break;if(o)if(!s){s=1;n=t;k=p;i=u;l=m;j=q}else{i=46;break}else{i=(i|0)>57?(i|32)+-87|0:n;do if(!((q|0)<0|(q|0)==0&m>>>0<8))if((q|0)<0|(q|0)==0&m>>>0<14){p=p*.0625;n=t;k=p;h=h+p*+(i|0);i=u;break}else{i=(t|0)!=0|(i|0)==0;n=i?t:1;k=p;h=i?h:h+p*.5;i=u;break}else{n=t;k=p;i=i+(u<<4)|0}while(0);m=w6(m|0,q|0,1,0)|0;r=1;q=D}o=c[w>>2]|0;if(o>>>0<(c[v>>2]|0)>>>0){c[w>>2]=o+1;t=n;p=k;u=i;i=d[o>>0]|0;continue}else{t=n;p=k;u=i;i=W1(a)|0;continue}}do if(!r){i=c[v>>2]|0;j=(i|0)!=0;if(j)c[w>>2]=(c[w>>2]|0)+-1;if(g){if(j)c[w>>2]=(c[w>>2]|0)+-1;if(!((s|0)==0|(i|0)==0))c[w>>2]=(c[w>>2]|0)+-1}else U1(a,0);h=+(f|0)*0.0}else{n=(s|0)==0;o=n?m:l;n=n?q:j;if((q|0)<0|(q|0)==0&m>>>0<8){j=u;l=q;do{j=j<<4;m=w6(m|0,l|0,1,0)|0;l=D}while((l|0)<0|(l|0)==0&m>>>0<8);m=j}else m=u;if((i|32|0)==112){j=v3(a,g)|0;i=D;if((j|0)==0&(i|0)==-2147483648){if(!g){U1(a,0);h=0.0;break}if(!(c[v>>2]|0)){j=0;i=0}else{c[w>>2]=(c[w>>2]|0)+-1;j=0;i=0}}}else if(!(c[v>>2]|0)){j=0;i=0}else{c[w>>2]=(c[w>>2]|0)+-1;j=0;i=0}l=v6(o|0,n|0,2)|0;l=w6(l|0,D|0,-32,-1)|0;l=w6(l|0,D|0,j|0,i|0)|0;i=D;if(!m){h=+(f|0)*0.0;break}w=0-e|0;g=((w|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>w>>>0){c[(L1()|0)>>2]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}w=e+-106|0;g=((w|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0>>0){c[(L1()|0)>>2]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{w=!(h>=.5);j=j<<1|(w^1)&1;h=h+(w?h:h+-1.0);l=w6(l|0,i|0,-1,-1)|0;i=D}while((j|0)>-1);p=h;m=j}else p=h;w=((b|0)<0)<<31>>31;e=t6(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=w6(e|0,D|0,l|0,i|0)|0;e=D;if((w|0)>(e|0)|(w|0)==(e|0)&b>>>0>i>>>0)if((i|0)>0)n=59;else{j=0;i=84;n=61}else{i=b;n=59}if((n|0)==59)if((i|0)<53){j=i;i=84-i|0;n=61}else{k=0.0;h=+(f|0)}if((n|0)==61){h=+(f|0);k=+x3(+w3(1.0,i),h);i=j}f=(m&1|0)==0&(p!=0.0&(i|0)<32);h=h*(f?0.0:p)+(k+h*+(((f&1)+m|0)>>>0))-k;if(!(h!=0.0))c[(L1()|0)>>2]=34;h=+z3(h,l)}while(0);return +h}function u3(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,G=0,H=0,I=0,J=0,K=0.0;J=l;l=l+512|0;G=J;H=f+e|0;I=0-H|0;B=a+4|0;C=a+100|0;k=0;a:while(1){switch(b|0){case 46:{z=6;break a}case 48:break;default:{v=0;p=k;q=0;o=0;break a}}b=c[B>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[B>>2]=b+1;b=d[b>>0]|0;k=1;continue}else{b=W1(a)|0;k=1;continue}}if((z|0)==6){b=c[B>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[B>>2]=b+1;b=d[b>>0]|0}else b=W1(a)|0;if((b|0)==48){k=0;b=0;while(1){k=w6(k|0,b|0,-1,-1)|0;o=D;b=c[B>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[B>>2]=b+1;b=d[b>>0]|0}else b=W1(a)|0;if((b|0)==48)b=o;else{v=1;p=1;q=k;break}}}else{v=1;p=k;q=0;o=0}}c[G>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){A=G+496|0;w=0;k=0;u=0;x=v;y=p;z=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;q=p;o=n}else break c;else{p=w6(p|0,n|0,1,0)|0;n=D;v=(b|0)!=48;if((k|0)>=125){if(!v)break;c[A>>2]=c[A>>2]|1;break}m=G+(k<<2)|0;if(!w)b=z;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;k=(y&1)+k|0;u=v?p:u;y=1}while(0);b=c[B>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[B>>2]=b+1;b=d[b>>0]|0}else b=W1(a)|0;z=b+-48|0;m=(b|0)==46;if(!(m|z>>>0<10)){v=x;m=y;z=29;break b}}b=w;m=(y|0)!=0;z=37}else{w=0;k=0;u=0;m=p;p=0;n=0;z=29}while(0);do if((z|0)==29){A=(v|0)==0;q=A?p:q;o=A?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;z=37;break}else{b=w;z=39;break}m=v3(a,h)|0;b=D;if((m|0)==0&(b|0)==-2147483648){if(!h){U1(a,0);i=0.0;break}if(!(c[C>>2]|0)){m=0;b=0}else{c[B>>2]=(c[B>>2]|0)+-1;m=0;b=0}}y=w6(m|0,b|0,q|0,o|0)|0;b=w;o=D;z=41}while(0);if((z|0)==37)if(c[C>>2]|0){c[B>>2]=(c[B>>2]|0)+-1;if(m){y=q;z=41}else z=40}else z=39;if((z|0)==39)if(m){y=q;z=41}else z=40;do if((z|0)==40){c[(L1()|0)>>2]=22;U1(a,0);i=0.0}else if((z|0)==41){m=c[G>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((y|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;C=((a|0)<0)<<31>>31;if((o|0)>(C|0)|(o|0)==(C|0)&y>>>0>a>>>0){c[(L1()|0)>>2]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;C=((a|0)<0)<<31>>31;if((o|0)<(C|0)|(o|0)==(C|0)&y>>>0>>0){c[(L1()|0)>>2]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=G+(k<<2)|0;m=c[n>>2]|0;do{m=m*10|0;b=b+1|0}while((b|0)!=9);c[n>>2]=m}k=k+1|0}if((u|0)<9?(u|0)<=(y|0)&(y|0)<18:0){b=c[G>>2]|0;if((y|0)==9){i=+(g|0)*+(b>>>0);break}if((y|0)<9){i=+(g|0)*+(b>>>0)/+(c[63704+(8-y<<2)>>2]|0);break}a=e+27+(S(y,-3)|0)|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[63704+(y+-10<<2)>>2]|0);break}}b=(y|0)%9|0;if(!b){b=0;n=0}else{u=(y|0)>-1?b:b+9|0;p=c[63704+(8-u<<2)>>2]|0;if(k){q=1e9/(p|0)|0;n=0;o=0;m=y;b=0;do{B=G+(b<<2)|0;C=c[B>>2]|0;a=((C>>>0)/(p>>>0)|0)+n|0;c[B>>2]=a;n=S(q,(C>>>0)%(p>>>0)|0)|0;a=(b|0)==(o|0)&(a|0)==0;m=a?m+-9|0:m;o=a?o+1&127:o;b=b+1|0}while((b|0)!=(k|0));if(!n)n=o;else{c[G+(k<<2)>>2]=n;n=o;k=k+1|0}}else{n=0;k=0;m=y}b=0;y=9-u+m|0}d:while(1){u=(y|0)<18;v=(y|0)==18;w=G+(n<<2)|0;while(1){if(!u){if(!v){m=y;break d}if((c[w>>2]|0)>>>0>=9007199){m=18;break d}}m=0;x=k;k=k+127|0;while(1){o=k&127;p=G+(o<<2)|0;k=v6(c[p>>2]|0,0,29)|0;k=w6(k|0,D|0,m|0,0)|0;m=D;if(m>>>0>0|(m|0)==0&k>>>0>1e9){q=E6(k|0,m|0,1e9,0)|0;k=J6(k|0,m|0,1e9,0)|0}else q=0;c[p>>2]=k;a=(o|0)==(n|0);x=(k|0)==0&(((o|0)!=(x+127&127|0)|a)^1)?o:x;if(a)break;else{m=q;k=o+-1|0}}b=b+-29|0;if(q|0)break;else k=x}n=n+127&127;k=x+127&127;m=G+((x+126&127)<<2)|0;if((n|0)==(x|0))c[m>>2]=c[m>>2]|c[G+(k<<2)>>2];else k=x;c[G+(n<<2)>>2]=q;y=y+9|0}e:while(1){w=k+1&127;x=G+((k+127&127)<<2)|0;while(1){q=(m|0)==18;v=(m|0)>27?9:1;y=n;while(1){n=0;while(1){o=n+y&127;if((o|0)==(k|0)){E=2;z=88;break}o=c[G+(o<<2)>>2]|0;p=c[63736+(n<<2)>>2]|0;if(o>>>0

>>0){E=2;z=88;break}if(o>>>0>p>>>0)break;n=n+1|0;if((n|0)>=2){E=n;z=88;break}}if((z|0)==88?(z=0,q&(E|0)==2):0){i=0.0;o=0;break e}b=v+b|0;if((y|0)==(k|0))y=k;else break}q=(1<>>v;p=0;n=y;o=y;do{B=G+(o<<2)|0;C=c[B>>2]|0;a=(C>>>v)+p|0;c[B>>2]=a;p=S(C&q,u)|0;a=(o|0)==(n|0)&(a|0)==0;m=a?m+-9|0:m;n=a?n+1&127:n;o=o+1&127}while((o|0)!=(k|0));if(!p)continue;if((w|0)!=(n|0))break;c[x>>2]=c[x>>2]|1}c[G+(k<<2)>>2]=p;k=w}do{n=o+y&127;m=k+1&127;if((n|0)==(k|0)){c[G+(m+-1<<2)>>2]=0;k=m}i=i*1.0e9+ +((c[G+(n<<2)>>2]|0)>>>0);o=o+1|0}while((o|0)!=2);t=+(g|0);j=t*i;o=b+53|0;p=o-f|0;q=(p|0)<(e|0);n=q?((p|0)>0?p:0):e;if((n|0)<53){K=+x3(+w3(1.0,105-n|0),j);r=+y3(j,+w3(1.0,53-n|0));s=K;i=r;r=K+(j-r)}else{s=0.0;i=0.0;r=j}m=y+2&127;if((m|0)!=(k|0)){m=c[G+(m<<2)>>2]|0;do if(m>>>0>=5e8){if((m|0)!=5e8){i=t*.75+i;break}if((y+3&127|0)==(k|0)){i=t*.5+i;break}else{i=t*.75+i;break}}else{if((m|0)==0?(y+3&127|0)==(k|0):0)break;i=t*.25+i}while(0);if((53-n|0)>1?!(+y3(i,1.0)!=0.0):0)j=i+1.0;else j=i}else j=i;i=r+j-s;do if((o&2147483647|0)>(-2-H|0)){H=!(+F(+i)>=9007199254740992.0);b=((H^1)&1)+b|0;i=H?i:i*.5;if((b+50|0)<=(I|0)?!(j!=0.0&(q&((n|0)!=(p|0)|H))):0)break;c[(L1()|0)>>2]=34}while(0);i=+z3(i,b)}while(0);l=J;return +i}function v3(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;e=c[k>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[k>>2]=e+1;e=d[e>>0]|0}else e=W1(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[k>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[k>>2]=e+1;e=d[e>>0]|0}else e=W1(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0)c[k>>2]=(c[k>>2]|0)+-1;break}default:f=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[k>>2]=(c[k>>2]|0)+-1;f=-2147483648;e=0}else{g=0;do{g=e+-48+(g*10|0)|0;e=c[k>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[k>>2]=e+1;e=d[e>>0]|0}else e=W1(a)|0}while((e+-48|0)>>>0<10&(g|0)<214748364);b=((g|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=G6(g|0,b|0,10,0)|0;g=D;e=w6(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;g=w6(e|0,D|0,b|0,g|0)|0;b=D;e=c[k>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[k>>2]=e+1;e=d[e>>0]|0}else e=W1(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&g>>>0<2061584302));h=e;i=g}else{h=e;i=g}e=c[j>>2]|0;if((h+-48|0)>>>0<10)do{g=c[k>>2]|0;if(g>>>0>>0){c[k>>2]=g+1;g=d[g>>0]|0}else{g=W1(a)|0;e=c[j>>2]|0}}while((g+-48|0)>>>0<10);if(e|0)c[k>>2]=(c[k>>2]|0)+-1;k=(f|0)!=0;e=t6(0,0,i|0,b|0)|0;f=k?D:b;e=k?e:i}D=f;return e|0}function w3(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;e=(d|0)<-1022;b=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((b|0)>-1022?b:-1022):d}}else{a=a*8988465674311579538646525.0e283;e=b+-1023|0;d=(e|0)>1023;b=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((b|0)<1023?b:1023):e}d=v6(b+1023|0,0,52)|0;e=D;c[j>>2]=d;c[j+4>>2]=e;return +(a*+h[j>>3])}function x3(a,b){a=+a;b=+b;return +(+e2(a,b))}function y3(a,b){a=+a;b=+b;return +(+A3(a,b))}function z3(a,b){a=+a;b=b|0;return +(+w3(a,b))}function A3(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h[j>>3]=a;i=c[j>>2]|0;l=c[j+4>>2]|0;h[j>>3]=b;n=c[j>>2]|0;o=c[j+4>>2]|0;e=z6(i|0,l|0,52)|0;e=e&2047;m=z6(n|0,o|0,52)|0;m=m&2047;p=l&-2147483648;g=v6(n|0,o|0,1)|0;k=D;a:do if(!((g|0)==0&(k|0)==0)?(f=B3(b)|0,d=D&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=v6(i|0,l|0,1)|0;f=D;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>g>>>0))return +((d|0)==(g|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=v6(i|0,l|0,12)|0;f=D;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=v6(d|0,f|0,1)|0;f=D}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;i=v6(i|0,l|0,1-e|0)|0;g=D}else g=l&1048575|1048576;if(!m){f=v6(n|0,o|0,12)|0;k=D;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=v6(f|0,k|0,1)|0;k=D}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=v6(n|0,o|0,1-d|0)|0;m=d;l=D}else l=o&1048575|1048576;f=t6(i|0,g|0,n|0,l|0)|0;d=D;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=i;d=g}i=v6(f|0,d|0,1)|0;g=D;e=e+-1|0;f=t6(i|0,g|0,n|0,l|0)|0;d=D;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=g;f=i}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=v6(f|0,d|0,1)|0;d=D;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=w6(f|0,d|0,0,-1048576)|0;d=D;e=v6(e|0,0,52)|0;d=d|D;e=o|e}else{e=z6(f|0,d|0,1-e|0)|0;d=D}c[j>>2]=e;c[j+4>>2]=d|p;b=+h[j>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function B3(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;D=c[j+4>>2]|0;return b|0}function C3(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;f=a[b>>0]|0;e=f&255;a:do if(f<<24>>24){g=f;do{f=a[c>>0]|0;if(!(f<<24>>24))break a;if(g<<24>>24!=f<<24>>24?(g=R1(e)|0,(g|0)!=(R1(f&255)|0)):0)break a;b=b+1|0;c=c+1|0;g=a[b>>0]|0;e=g&255}while(g<<24>>24!=0)}while(0);g=R1(e)|0;return g-(R1(d[c>>0]|0)|0)|0}function D3(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function E3(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;H3();c[e>>2]=a;c[e+4>>2]=b;b=K1(Ma(91,e|0)|0)|0;l=d;return b|0}function F3(b,c){b=b|0;c=c|0;b=G3(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function G3(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(D3(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=S(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function H3(){return}function I3(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;g=k;i=(f|0)==0?190424:f;f=c[i>>2]|0;a:do if(!d)if(!f)f=0;else j=17;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;if(f<<24>>24>-1){c[h>>2]=f&255;f=f<<24>>24!=0&1;break}g=(c[c[(J3()|0)+188>>2]>>2]|0)==0;f=a[d>>0]|0;if(g){c[h>>2]=f<<24>>24&57343;f=1;break}f=(f&255)+-194|0;if(f>>>0>50){j=17;break}f=c[62656+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;j=11}}else{g=e;j=11}b:do if((j|0)==11){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){j=17;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){j=17;break a}}c[i>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[i>>2]=f;f=-2}}while(0);if((j|0)==17){c[i>>2]=0;c[(L1()|0)>>2]=84;f=-1}l=k;return f|0}function J3(){return N1()|0}function K3(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+272|0;n=p+8|0;o=p;do if(!(a[d>>0]|0)){d=Na(153613)|0;if(d|0?a[d>>0]|0:0)break;d=Na(153620+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=Na(153692)|0;if(d|0?a[d>>0]|0:0)break;d=153697}while(0);e=0;a:do{switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0}while(e>>>0<15);f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)m=15;else{k=d;m=16}else{d=153697;m=15}if((m|0)==15)if(!(a[d+1>>0]|0))m=18;else{k=d;m=16}b:do if((m|0)==16)if((f2(k,153697)|0)!=0?(f2(k,153705)|0)!=0:0){d=c[47607]|0;if(d|0)do{if(!(f2(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);Ua(190432);d=c[47607]|0;c:do if(d|0){while(1){if(!(f2(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}Ra(190432);break b}while(0);d:do if(((c[47592]|0)==0?(g=Na(153711)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=G3(f,58)|0;d=a[h>>0]|0;g=((d<<24>>24!=0)<<31>>31)+(h-f)|0;if(g>>>0>>0){B6(n|0,f|0,g|0)|0;f=n+g|0;a[f>>0]=47;B6(f+1|0,k|0,e|0)|0;a[n+(j+g)>>0]=0;g=Oa(n|0,o|0)|0;if(g|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){m=41;break d}}d=k6(28)|0;f=c[o>>2]|0;if(!d){E3(g,f)|0;m=41;break}else{c[d>>2]=g;c[d+4>>2]=f;o=d+8|0;B6(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[47607];c[47607]=d;break}}else m=41;while(0);if((m|0)==41){d=k6(28)|0;if(d){c[d>>2]=c[15652];c[d+4>>2]=c[15653];o=d+8|0;B6(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[47607];c[47607]=d}}Ra(190432);d=(b|0)==0&(d|0)==0?62608:d}else{d=k;m=18}while(0);do if((m|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=62608;break}d=0}while(0);l=p;return d|0}function L3(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;do if(b>>>0>6)d=0;else{Ua(190440);if((b|0)!=6){d=M3(b,d)|0;Ra(190440);break}if(!d){d=197414;b=0}else{b=g;e=153724;f=b+16|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));f=0;do{b=G3(d,59)|0;e=b-d|0;if((e|0)<16){B6(g|0,d|0,e|0)|0;a[g+e>>0]=0;d=(a[b>>0]|0)==0?d:b+1|0}M3(f,g)|0;f=f+1|0}while((f|0)!=6);d=197414;b=0}do{f=c[190400+(b<<2)>>2]|0;f=f|0?f+8|0:153740;g=D3(f)|0;B6(d|0,f|0,g|0)|0;a[d+g>>0]=59;d=d+(g+1)|0;b=b+1|0}while((b|0)!=6);a[d+-1>>0]=0;Ra(190440);d=197414}while(0);l=h;return d|0}function M3(a,b){a=a|0;b=b|0;if(!b)a=c[190400+(a<<2)>>2]|0;else{b=K3(a,b)|0;c[190400+(a<<2)>>2]=b;a=b}return (a|0?a+8|0:153740)|0}function N3(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;if(!e)f=0;else{g=a[b>>0]|0;f=g&255;a:do if(g<<24>>24){h=g;do{e=e+-1|0;g=a[c>>0]|0;if(!((e|0)!=0&g<<24>>24!=0))break a;if(h<<24>>24!=g<<24>>24?(h=R1(f)|0,(h|0)!=(R1(g&255)|0)):0)break a;b=b+1|0;c=c+1|0;h=a[b>>0]|0;f=h&255}while(h<<24>>24!=0)}while(0);f=R1(f)|0;f=f-(R1(d[c>>0]|0)|0)|0}return f|0}function O3(a,b){a=a|0;b=b|0;P3(a,b)|0;return a|0}function P3(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Q3(a,b){a=+a;b=+b;var c=0.0,d=0.0,e=0.0,f=0.0;c=a*a;d=c*c;e=c*.5;f=1.0-e;return +(f+(1.0-f-e+(c*(c*(c*(c*2.480158728947673e-05+-.001388888888887411)+.0416666666666666)+d*d*(c*(2.087572321298175e-09-c*1.1359647557788195e-11)+-2.7557314351390663e-07))-a*b)))}function R3(a,b){a=+a;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+48|0;m=r+16|0;n=r;h[j>>3]=a;d=c[j>>2]|0;i=c[j+4>>2]|0;o=z6(d|0,i|0,63)|0;q=i&2147483647;do if(q>>>0<1074752123)if((i&1048575|0)!=598523){d=(o|0)!=0;if(q>>>0<1073928573)if(d){g=a+1.5707963267341256;k=g+6.077100506506192e-11;h[b>>3]=k;h[b+8>>3]=g-k+6.077100506506192e-11;d=-1;break}else{g=a+-1.5707963267341256;k=g+-6.077100506506192e-11;h[b>>3]=k;h[b+8>>3]=g-k+-6.077100506506192e-11;d=1;break}else if(d){g=a+3.1415926534682512;k=g+1.2154201013012384e-10;h[b>>3]=k;h[b+8>>3]=g-k+1.2154201013012384e-10;d=-2;break}else{g=a+-3.1415926534682512;k=g+-1.2154201013012384e-10;h[b>>3]=k;h[b+8>>3]=g-k+-1.2154201013012384e-10;d=2;break}}else p=21;else{if(q>>>0<1075594812)if(q>>>0<1075183037){if((q|0)==1074977148){p=21;break}if(!o){g=a+-4.712388980202377;k=g+-1.8231301519518578e-10;h[b>>3]=k;h[b+8>>3]=g-k+-1.8231301519518578e-10;d=3;break}else{g=a+4.712388980202377;k=g+1.8231301519518578e-10;h[b>>3]=k;h[b+8>>3]=g-k+1.8231301519518578e-10;d=-3;break}}else{if((q|0)==1075388923){p=21;break}if(!o){g=a+-6.2831853069365025;k=g+-2.430840202602477e-10;h[b>>3]=k;h[b+8>>3]=g-k+-2.430840202602477e-10;d=4;break}else{g=a+6.2831853069365025;k=g+2.430840202602477e-10;h[b>>3]=k;h[b+8>>3]=g-k+2.430840202602477e-10;d=-4;break}}if(q>>>0>=1094263291){if(q>>>0>2146435071){k=a-a;h[b+8>>3]=k;h[b>>3]=k;d=0;break}c[j>>2]=d;c[j+4>>2]=i&1048575|1096810496;a=+h[j>>3];d=0;do{k=+(~~a|0);h[m+(d<<3)>>3]=k;a=(a-k)*16777216.0;d=d+1|0}while((d|0)!=2);h[m+16>>3]=a;if(a==0.0){d=1;while(1)if(+h[m+(d<<3)>>3]==0.0)d=d+-1|0;else break}else d=2;d=S3(m,n,(q>>>20)+-1046|0,d+1|0,1)|0;e=+h[n>>3];a=+h[n+8>>3];if(!o){h[b>>3]=e;h[b+8>>3]=a;break}else{h[b>>3]=-e;h[b+8>>3]=-a;d=0-d|0;break}}else p=21}while(0);if((p|0)==21){g=a*.6366197723675814+6755399441055744.0+-6755399441055744.0;d=~~g;e=a-g*1.5707963267341256;f=g*6.077100506506192e-11;a=e-f;h[b>>3]=a;h[j>>3]=a;p=z6(c[j>>2]|0,c[j+4>>2]|0,52)|0;i=q>>>20;if((i-(p&2047)|0)>16){f=g*6.077100506303966e-11;k=e-f;f=g*2.0222662487959506e-21-(e-k-f);a=k-f;h[b>>3]=a;h[j>>3]=a;q=z6(c[j>>2]|0,c[j+4>>2]|0,52)|0;s=g*2.0222662487111665e-21;e=k-s;g=g*8.4784276603689e-32-(k-e-s);if((i-(q&2047)|0)>49){a=e-g;h[b>>3]=a;f=g}else e=k}h[b+8>>3]=e-a-f}l=r;return d|0}function S3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,F=0,G=0,H=0,I=0;I=l;l=l+560|0;C=I+480|0;A=I+320|0;H=I+160|0;F=I;D=c[63744+(f<<2)>>2]|0;q=e+-1|0;z=(d+-3|0)/24|0;z=(z|0)>0?z:0;B=S(z,-24)|0;j=d+-24+B|0;if((D+q|0)>=0){o=D+e|0;m=z-q|0;n=0;while(1){if((m|0)<0)g=0.0;else g=+(c[63760+(m<<2)>>2]|0);h[A+(n<<3)>>3]=g;n=n+1|0;if((n|0)==(o|0))break;else m=m+1|0}}p=(e|0)>0;o=0;while(1){if(p){n=o+q|0;g=0.0;m=0;do{g=g+ +h[a+(m<<3)>>3]*+h[A+(n-m<<3)>>3];m=m+1|0}while((m|0)!=(e|0))}else g=0.0;h[F+(o<<3)>>3]=g;if((o|0)<(D|0))o=o+1|0;else break}u=(j|0)>0;v=24-j|0;w=23-j|0;x=(e|0)>0;y=(j|0)==0;m=D;a:while(1){g=+h[F+(m<<3)>>3];p=(m|0)>0;if(p){n=m;o=0;while(1){k=+(~~(g*5.9604644775390625e-08)|0);c[C+(o<<2)>>2]=~~(g-k*16777216.0);t=n;n=n+-1|0;g=k+ +h[F+(n<<3)>>3];if((t|0)<=1)break;else o=o+1|0}}g=+w3(g,j);g=g-+E(+(g*.125))*8.0;n=~~g;g=g-+(n|0);do if(!u)if(!y)if(!(g>=.5)){q=0;t=n;break}else{o=2;G=20;break}else{o=c[C+(m+-1<<2)>>2]>>23;G=19;break}else{t=C+(m+-1<<2)|0;o=c[t>>2]|0;G=o>>v;o=o-(G<>2]=o;o=o>>w;n=G+n|0;G=19}while(0);if((G|0)==19){G=0;if((o|0)>0)G=20;else{q=o;t=n}}if((G|0)==20){G=0;t=n+1|0;if(p){n=0;s=0;do{q=C+(s<<2)|0;r=c[q>>2]|0;if(!n)if(!r)n=0;else{n=1;p=16777216;G=23}else{p=16777215;G=23}if((G|0)==23){G=0;c[q>>2]=p-r}s=s+1|0}while((s|0)!=(m|0))}else n=0;b:do if(u){switch(j|0){case 1:{p=8388607;break}case 2:{p=4194303;break}default:break b}s=C+(m+-1<<2)|0;c[s>>2]=c[s>>2]&p}while(0);if((o|0)==2){g=1.0-g;if(!n)q=2;else{q=2;g=g-+w3(1.0,j)}}else q=o}if(!(g==0.0)){G=42;break}if((m|0)>(D|0)){n=0;o=m;do{o=o+-1|0;n=c[C+(o<<2)>>2]|n}while((o|0)>(D|0));if(n){G=41;break}else n=1}else n=1;while(1)if(!(c[C+(D-n<<2)>>2]|0))n=n+1|0;else break;p=n+m|0;if((n|0)<=0){m=p;continue}while(1){o=m+1|0;n=m+e|0;h[A+(n<<3)>>3]=+(c[63760+(o+z<<2)>>2]|0);if(x){g=0.0;m=0;do{g=g+ +h[a+(m<<3)>>3]*+h[A+(n-m<<3)>>3];m=m+1|0}while((m|0)!=(e|0))}else g=0.0;h[F+(o<<3)>>3]=g;if((o|0)<(p|0))m=o;else{m=p;continue a}}}if((G|0)==41)while(1){G=0;j=j+-24|0;m=m+-1|0;if(!(c[C+(m<<2)>>2]|0))G=41;else{p=m;break}}else if((G|0)==42){g=+w3(g,0-j|0);if(g>=16777216.0){k=+(~~(g*5.9604644775390625e-08)|0);c[C+(m<<2)>>2]=~~(g-k*16777216.0);j=B+d|0;m=m+1|0;g=k}c[C+(m<<2)>>2]=~~g;p=m}o=(p|0)>-1;if(o){g=+w3(1.0,j);j=p;while(1){h[F+(j<<3)>>3]=g*+(c[C+(j<<2)>>2]|0);if((j|0)>0){g=g*5.9604644775390625e-08;j=j+-1|0}else break}if(o){m=p;while(1){n=p-m|0;j=0;g=0.0;while(1){g=g+ +h[10952+(j<<3)>>3]*+h[F+(j+m<<3)>>3];if((j|0)>=(D|0)|(j|0)>=(n|0))break;else j=j+1|0}h[H+(n<<3)>>3]=g;if((m|0)>0)m=m+-1|0;else break}}}switch(f|0){case 0:{if(o){g=0.0;j=p;while(1){g=g+ +h[H+(j<<3)>>3];if((j|0)>0)j=j+-1|0;else break}}else g=0.0;i=(q|0)==0?g:-g;G=73;break}case 2:case 1:{if(o){g=0.0;j=p;while(1){g=g+ +h[H+(j<<3)>>3];if((j|0)>0)j=j+-1|0;else break}}else g=0.0;m=(q|0)==0;h[b>>3]=m?g:-g;g=+h[H>>3]-g;if((p|0)>=1){j=1;while(1){g=g+ +h[H+(j<<3)>>3];if((j|0)==(p|0))break;else j=j+1|0}}i=m?g:-g;b=b+8|0;G=73;break}case 3:{if((p|0)>0){j=p;g=+h[H+(p<<3)>>3];do{G=j;j=j+-1|0;F=H+(j<<3)|0;k=+h[F>>3];i=g;g=k+g;h[H+(G<<3)>>3]=i+(k-g);h[F>>3]=g}while((G|0)>1);m=(p|0)>1;if(m){j=p;g=+h[H+(p<<3)>>3];do{F=j;j=j+-1|0;G=H+(j<<3)|0;k=+h[G>>3];i=g;g=k+g;h[H+(F<<3)>>3]=i+(k-g);h[G>>3]=g}while((j|0)>1);if(m){j=p;i=0.0;do{i=i+ +h[H+(j<<3)>>3];j=j+-1|0}while((j|0)>1)}else i=0.0}else i=0.0}else i=0.0;k=+h[H>>3];g=+h[H+8>>3];if(!q)h[b>>3]=k;else{h[b>>3]=-k;i=-i;g=-g}h[b+8>>3]=g;b=b+16|0;G=73;break}default:{}}if((G|0)==73)h[b>>3]=i;l=I;return t&7|0}function T3(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0.0,f=0.0;f=a*a;d=f*(f*f)*(f*1.58969099521155e-10+-2.5050760253406863e-08)+(f*(f*2.7557313707070068e-06+-1.984126982985795e-04)+.00833333333332249);e=f*a;if(!c)a=e*(f*d+-.16666666666666632)+a;else a=a-(e*.16666666666666632+(f*(b*.5-e*d)-b));return +a}function U3(a){a=+a;var b=0,d=0,e=0,f=0.0,g=0.0;h[j>>3]=a;d=c[j+4>>2]|0;b=d&2147483647;do if(b>>>0>2146435071)a=a+a;else{if(b>>>0<1048576){h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;b=d&2147483647;if(!b)break;else e=696219795}else e=715094163;c[j>>2]=0;c[j+4>>2]=((b>>>0)/3|0)+e|d&-2147483648;g=+h[j>>3];f=g*g*(g/a);h[j>>3]=g*(f*(f*f)*(f*.14599619288661245+-.758397934778766)+(f*(f*1.6214297201053545+-1.8849797954337717)+1.87595182427177));d=w6(c[j>>2]|0,c[j+4>>2]|0,-2147483648,0)|0;e=D;c[j>>2]=d&-1073741824;c[j+4>>2]=e;f=+h[j>>3];a=a/(f*f);a=f+f*((a-f)/(f+f+a))}while(0);return +a}function V3(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;k=+h[j>>3]+-1.0;i=k*(k*.5);l=k/(k+2.0);m=l*l;a=m*m;h[j>>3]=k-i;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;g=+h[j>>3];a=k-g-i+l*(i+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+m*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));m=g*.4342944818781689;i=+(e+(f>>>20)|0);l=i*.30102999566361177;k=l+m;a=k+(m+(l-k)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function W3(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;m=+h[j>>3]+-1.0;k=m*(m*.5);i=m/(m+2.0);l=i*i;a=l*l;h[j>>3]=m-k;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;g=+h[j>>3];a=m-g-k+i*(k+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));l=g*1.4426950407214463;k=+(e+(f>>>20)|0);i=k+l;a=i+(l+(k-i)+(a*1.4426950407214463+(g+a)*1.6751713164886512e-10))}return +a}function X3(a,b,d){a=+a;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,k=0,m=0;k=l;l=l+16|0;g=k;h[j>>3]=a;f=c[j+4>>2]&2147483647;do if(f>>>0<1072243196)if(f>>>0<1044816030){h[b>>3]=a;h[d>>3]=1.0;break}else{h[b>>3]=+T3(a,0.0,0);h[d>>3]=+Q3(a,0.0);break}else{if(f>>>0>2146435071){i=a-a;h[d>>3]=i;h[b>>3]=i;break}f=R3(a,g)|0;m=g+8|0;e=+T3(+h[g>>3],+h[m>>3],1);a=+Q3(+h[g>>3],+h[m>>3]);switch(f&3){case 0:{h[b>>3]=e;i=a;break}case 1:{h[b>>3]=a;i=-e;break}case 2:{h[b>>3]=-e;i=-a;break}case 3:{h[b>>3]=-a;i=e;break}default:{}}h[d>>3]=i}while(0);l=k;return}function Y3(a){a=a|0;var b=0,c=0;c=(D3(a)|0)+1|0;b=k6(c)|0;if(!b)b=0;else B6(b|0,a|0,c|0)|0;return b|0}function Z3(a,b){a=a|0;b=b|0;var c=0;c=D3(a)|0;return ((_3(a,1,c,b)|0)!=(c|0))<<31>>31|0}function _3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=S(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(n2(e)|0)==0;a=L2(a,f,e)|0;if(!g)o2(e)}else a=L2(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function $3(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+116>>2]|0;a=a+112|0;if(b|0)c[b+112>>2]=c[a>>2];a=c[a>>2]|0;if(!a)a=(a4()|0)+232|0;else a=a+116|0;c[a>>2]=b}return}function a4(){return N1()|0}function b4(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(M2(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((eb[c[b+36>>2]&63](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);l=m;return f|0}function c4(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(c[c[(d4()|0)+188>>2]>>2]|0)==0;b=a[e>>0]|0;if(h){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[62656+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);c[(L1()|0)>>2]=84;b=-1}while(0);l=j;return b|0}function d4(){return N1()|0}function e4(){var a=0,b=0;b=l;l=l+16|0;a=ya(20,b|0)|0;l=b;return a|0}function f4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;h=i+32|0;g=i+16|0;e=i;if(w2(153742,a[d>>0]|0,4)|0){f=g4(d)|0;c[e>>2]=b;c[e+4>>2]=f|32768;c[e+8>>2]=438;e=K1(Wa(5,e|0)|0)|0;if((e|0)>=0){if(f&524288|0){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;ua(221,g|0)|0}b=h4(e,d)|0;if(!b){c[h>>2]=e;xa(6,h|0)|0;b=0}}else b=0}else{c[(L1()|0)>>2]=22;b=0}l=i;return b|0}function g4(b){b=b|0;var c=0,d=0,e=0;d=(F3(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(F3(b,120)|0)==0;d=e?d:d|128;b=(F3(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function h4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;n=o+40|0;k=o+24|0;j=o+16|0;g=o;m=o+56|0;f=a[d>>0]|0;if(w2(153742,f<<24>>24,4)|0){e=k6(1156)|0;if(!e)e=0;else{h=e;i=h+124|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));if(!(F3(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(F3(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ua(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[j>>2]=b;c[j+4>>2]=3;f=ua(221,j|0)|0;if(!(f&1024)){c[k>>2]=b;c[k+4>>2]=4;c[k+8>>2]=f|1024;ua(221,k|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+132;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21523,c[n+8>>2]=m,(Qa(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=20;c[e+36>>2]=18;c[e+40>>2]=19;c[e+12>>2]=17;if(!(c[47591]|0))c[e+76>>2]=-1;i4(e)|0}}else{c[(L1()|0)>>2]=22;e=0}l=o;return e|0}function i4(a){a=a|0;var b=0,d=0;b=j4()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;k4();return a|0}function j4(){Ua(190448);return 190456}function k4(){Ra(190448);return}function l4(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1)f=n2(a)|0;else f=0;$3(a);g=(c[a>>2]&1|0)!=0;if(!g){e=j4()|0;d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[e>>2]|0)==(a|0))c[e>>2]=b;k4()}b=m4(a)|0;b=pb[c[a+12>>2]&63](a)|0|b;d=c[a+92>>2]|0;if(d|0)l6(d);if(g){if(f|0)o2(a)}else l6(a);return b|0}function m4(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=n4(a)|0;break}d=(n2(a)|0)==0;b=n4(a)|0;if(!d)o2(a)}else{if(!(c[15872]|0))b=0;else b=m4(c[15872]|0)|0;a=c[(j4()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=n2(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=n4(a)|0|b;if(d|0)o2(a);a=c[a+56>>2]|0}while((a|0)!=0);k4()}while(0);return b|0}function n4(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(eb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0)eb[c[a+40>>2]&63](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function o4(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c[f+76>>2]|0)>-1)l=n2(f)|0;else l=0;h=e+-1|0;g=(h|0)!=0;if((e|0)<2){m=f+74|0;k=a[m>>0]|0;a[m>>0]=k+255|k;if(l|0)o2(f);if(g)b=0;else a[b>>0]=0}else{a:do if(g){j=f+4|0;k=f+8|0;e=b;while(1){g=c[j>>2]|0;o=g;p=(c[k>>2]|0)-o|0;n=w2(g,10,p)|0;i=(n|0)==0;n=i?p:1-o+n|0;n=n>>>0>>0?n:h;B6(e|0,g|0,n|0)|0;g=(c[j>>2]|0)+n|0;c[j>>2]=g;e=e+n|0;h=h-n|0;if(!(i&(h|0)!=0)){m=17;break a}if(g>>>0>=(c[k>>2]|0)>>>0){g=Y1(f)|0;if((g|0)<0)break}else{c[j>>2]=g+1;g=d[g>>0]|0}h=h+-1|0;i=e+1|0;a[e>>0]=g;if(!((h|0)!=0&(g&255|0)!=10)){e=i;m=17;break a}else e=i}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)m=17;else b=0}else{e=b;m=17}while(0);if((m|0)==17)if(!b)b=0;else a[e>>0]=0;if(l)o2(f)}return b|0}function p4(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(n2(a)|0)==0;a=(c[a>>2]|0)>>>4&1}else a=(c[a>>2]|0)>>>4&1;return a|0}function q4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=r4(a,b,f)|0;l=e;return d|0}function r4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+128|0;e=g;f=e;h=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=44;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=t4(e,b,d)|0;l=g;return h|0}function s4(a,b,c){a=a|0;b=b|0;c=c|0;return x4(a,b,c)|0}function t4(b,e,f){b=b|0;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+288|0;K=Q+8|0;L=Q+17|0;M=Q;N=Q+16|0;if((c[b+76>>2]|0)>-1)P=n2(b)|0;else P=0;i=a[e>>0]|0;a:do if(i<<24>>24){z=b+4|0;A=b+100|0;B=b+108|0;C=b+8|0;E=L+10|0;F=L+33|0;y=K+4|0;G=L+46|0;H=L+94|0;I=L+1|0;J=L+1|0;m=e;u=0;e=0;k=0;j=0;b:while(1){c:do if(!(X1(i&255)|0)){i=i<<24>>24==37;d:do if(i){p=m+1|0;n=a[p>>0]|0;e:do switch(n<<24>>24){case 37:break d;case 42:{x=0;m=m+2|0;break}default:{i=(n&255)+-48|0;if(i>>>0<10?(a[m+2>>0]|0)==36:0){x=u4(f,i)|0;m=m+3|0;break e}m=(c[f>>2]|0)+(4-1)&~(4-1);x=c[m>>2]|0;c[f>>2]=m+4;m=p}}while(0);i=a[m>>0]|0;n=i&255;if((n+-48|0)>>>0<10){p=0;do{p=(p*10|0)+-48+n|0;m=m+1|0;i=a[m>>0]|0;n=i&255}while((n+-48|0)>>>0<10)}else p=0;i=i<<24>>24==109;w=(x|0)!=0;k=i?0:k;j=i?0:j;m=i?m+1|0:m;i=w&i;n=m+1|0;switch(a[m>>0]|0){case 104:{v=(a[n>>0]|0)==104;q=v?-2:-1;m=v?m+2|0:n;break}case 108:{v=(a[n>>0]|0)==108;q=v?3:1;m=v?m+2|0:n;break}case 106:{q=3;m=n;break}case 116:case 122:{q=1;m=n;break}case 76:{q=2;m=n;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{q=0;break}default:{O=137;break b}}s=d[m>>0]|0;t=(s&47|0)==3;s=t?s|32:s;t=t?1:q;r=s&255;switch(r<<24>>24){case 99:{p=(p|0)>1?p:1;break}case 91:break;case 110:{v4(x,t,u,((u|0)<0)<<31>>31);n=u;break c}default:{U1(b,0);do{n=c[z>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[z>>2]=n+1;n=d[n>>0]|0}else n=W1(b)|0}while((X1(n)|0)!=0);if(!(c[A>>2]|0))n=c[z>>2]|0;else{n=(c[z>>2]|0)+-1|0;c[z>>2]=n}u=(c[B>>2]|0)+u+n-(c[C>>2]|0)|0}}U1(b,p);n=c[z>>2]|0;q=c[A>>2]|0;if(n>>>0>>0)c[z>>2]=n+1;else{if((W1(b)|0)<0){O=137;break b}q=c[A>>2]|0}if(q|0)c[z>>2]=(c[z>>2]|0)+-1;f:do switch(r<<24>>24){case 91:case 99:case 115:{v=(s|0)==99;g:do if((s|16|0)==115){u6(I|0,-1,256)|0;a[L>>0]=0;if((s|0)==115){a[F>>0]=0;a[E>>0]=0;a[E+1>>0]=0;a[E+2>>0]=0;a[E+3>>0]=0;a[E+4>>0]=0}}else{n=m+1|0;s=(a[n>>0]|0)==94;r=s&1;m=s?m+2|0:n;u6(J|0,s&1|0,256)|0;a[L>>0]=0;switch(a[m>>0]|0){case 45:{n=G;O=64;break}case 93:{n=H;O=64;break}default:s=(r^1)&255}if((O|0)==64){O=0;s=(r^1)&255;a[n>>0]=s;m=m+1|0}while(1){n=a[m>>0]|0;h:do switch(n<<24>>24){case 0:{O=137;break b}case 93:break g;case 45:{r=m+1|0;n=a[r>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){m=m&255;do{m=m+1|0;a[L+m>>0]=s;n=a[r>>0]|0}while((m|0)<(n&255|0));m=r}else m=r;break}default:{}}while(0);a[L+((n&255)+1)>>0]=s;m=m+1|0}}while(0);n=v?p+1|0:31;s=(t|0)==1;i:do if(s){if(i){j=k6(n<<2)|0;if(!j){k=0;j=0;i=1;O=137;break b}}else j=x;c[K>>2]=0;c[y>>2]=0;r=n;k=0;j:while(1){q=(j|0)==0;do{k:while(1){n=c[z>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[z>>2]=n+1;n=d[n>>0]|0}else n=W1(b)|0;if(!(a[L+(n+1)>>0]|0))break j;a[N>>0]=n;switch(I3(M,N,1,K)|0){case -1:{k=0;O=137;break b}case -2:break;default:break k}}if(!q){c[j+(k<<2)>>2]=c[M>>2];k=k+1|0}}while(!(i&(k|0)==(r|0)));k=r<<1|1;n=n6(j,k<<2)|0;if(!n){k=0;i=1;O=137;break b}else{t=r;r=k;j=n;k=t}}if(!(w4(K)|0)){k=0;O=137;break b}else{n=k;k=0;r=j}}else{if(i){k=k6(n)|0;if(!k){k=0;j=0;i=1;O=137;break b}else{q=n;j=0}while(1){do{n=c[z>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[z>>2]=n+1;n=d[n>>0]|0}else n=W1(b)|0;if(!(a[L+(n+1)>>0]|0)){n=j;r=0;j=0;break i}a[k+j>>0]=n;j=j+1|0}while((j|0)!=(q|0));j=q<<1|1;n=n6(k,j)|0;if(!n){j=0;i=1;O=137;break b}else{t=q;q=j;k=n;j=t}}}if(!x){k=q;while(1){j=c[z>>2]|0;if(j>>>0>>0){c[z>>2]=j+1;j=d[j>>0]|0}else j=W1(b)|0;if(!(a[L+(j+1)>>0]|0)){n=0;k=0;r=0;j=0;break i}k=c[A>>2]|0}}else{n=0;k=q;while(1){j=c[z>>2]|0;if(j>>>0>>0){c[z>>2]=j+1;j=d[j>>0]|0}else j=W1(b)|0;if(!(a[L+(j+1)>>0]|0)){k=x;r=0;j=0;break i}a[x+n>>0]=j;n=n+1|0;k=c[A>>2]|0}}}while(0);if(!(c[A>>2]|0))q=c[z>>2]|0;else{q=(c[z>>2]|0)+-1|0;c[z>>2]=q}q=q-(c[C>>2]|0)+(c[B>>2]|0)|0;if(!q){O=139;break b}if(!((q|0)==(p|0)|v^1)){O=139;break b}do if(i)if(s){c[x>>2]=r;break}else{c[x>>2]=k;break}while(0);if(!v){if(r|0)c[r+(n<<2)>>2]=0;if(!k){k=0;break f}a[k+n>>0]=0}break}case 120:case 88:case 112:{n=16;O=125;break}case 111:{n=8;O=125;break}case 117:case 100:{n=10;O=125;break}case 105:{n=0;O=125;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{o=+s3(b,t,0);if((c[B>>2]|0)==((c[C>>2]|0)-(c[z>>2]|0)|0)){O=139;break b}if(x)switch(t|0){case 0:{g[x>>2]=o;break f}case 1:{h[x>>3]=o;break f}case 2:{h[x>>3]=o;break f}default:break f}break}default:{}}while(0);do if((O|0)==125){O=0;n=V1(b,n,0,-1,-1)|0;if((c[B>>2]|0)==((c[C>>2]|0)-(c[z>>2]|0)|0)){O=139;break b}if(w&(s|0)==112){c[x>>2]=n;break}else{v4(x,t,n,D);break}}while(0);e=(w&1)+e|0;n=(c[B>>2]|0)+u+(c[z>>2]|0)-(c[C>>2]|0)|0;break c}while(0);m=m+(i&1)|0;U1(b,0);i=c[z>>2]|0;if(i>>>0<(c[A>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=W1(b)|0;if((i|0)!=(d[m>>0]|0)){O=22;break b}n=u+1|0}else{while(1){i=m+1|0;if(!(X1(d[i>>0]|0)|0))break;else m=i}U1(b,0);do{i=c[z>>2]|0;if(i>>>0<(c[A>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=W1(b)|0}while((X1(i)|0)!=0);if(!(c[A>>2]|0))i=c[z>>2]|0;else{i=(c[z>>2]|0)+-1|0;c[z>>2]=i}n=(c[B>>2]|0)+u+i-(c[C>>2]|0)|0}while(0);m=m+1|0;i=a[m>>0]|0;if(!(i<<24>>24))break a;else u=n}if((O|0)==22){if(c[A>>2]|0)c[z>>2]=(c[z>>2]|0)+-1;if((e|0)!=0|(i|0)>-1)break;else{i=0;O=138}}else if((O|0)==137){i=i&1;if(!e)O=138}else if((O|0)==139)i=i&1;if((O|0)==138)e=-1;if(i){l6(k);l6(j)}}else e=0;while(0);if(P|0)o2(b);l=Q;return e|0}function u4(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}l=e;return a|0}function v4(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function w4(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function x4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=w2(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;B6(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function y4(a,b,c){a=a|0;b=b|0;c=c|0;return A4(a,b,c)|0}function z4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=l2(a,b,f)|0;l=e;return d|0}function A4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(n2(a)|0)==0;b=B4(a,b,d)|0;if(!e)o2(a)}else b=B4(a,b,d)|0;return b|0}function B4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(eb[c[a+36>>2]&63](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((eb[c[a+40>>2]&63](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function C4(b,c){b=b|0;c=c|0;var d=0;d=a[c>>0]|0;do if(d<<24>>24){b=F3(b,d<<24>>24)|0;if(b){if(a[c+1>>0]|0)if(a[b+1>>0]|0){if(!(a[c+2>>0]|0)){b=D4(b,c)|0;break}if(a[b+2>>0]|0){if(!(a[c+3>>0]|0)){b=E4(b,c)|0;break}if(a[b+3>>0]|0)if(!(a[c+4>>0]|0)){b=F4(b,c)|0;break}else{b=G4(b,c)|0;break}else b=0}else b=0}else b=0}else b=0}while(0);return b|0}function D4(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=(d[c>>0]|0)<<8|(d[c+1>>0]|0);f=d[b>>0]|0;while(1){c=b+1|0;e=a[c>>0]|0;if(!(e<<24>>24)){b=0;break}f=e&255|f<<8&65280;if((f|0)==(g|0))break;else b=c}return b|0}function E4(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;e=b+2|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(c&255)<<8;c=c<<24>>24!=0;if(!((b|0)==(f|0)|c^1))do{e=e+1|0;c=a[e>>0]|0;b=(c&255|b)<<8;c=c<<24>>24!=0}while(!((b|0)==(f|0)|c^1));return (c?e+-2|0:0)|0}function F4(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);c=b+3|0;g=a[c>>0]|0;e=g&255|((d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8);b=g<<24>>24!=0;if(!((e|0)==(f|0)|b^1))do{c=c+1|0;b=a[c>>0]|0;e=b&255|e<<8;b=b<<24>>24!=0}while(!((e|0)==(f|0)|b^1));return (b?c+-3|0:0)|0}function G4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+1056|0;t=v+1024|0;u=v;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;e=a[d>>0]|0;a:do if(e<<24>>24){s=0;f=e;e=e&255;while(1){if(!(a[b+s>>0]|0)){e=0;break a}r=t+(((f&255)>>>5&255)<<2)|0;c[r>>2]=c[r>>2]|1<<(f&31);s=s+1|0;c[u+(e<<2)>>2]=s;e=a[d+s>>0]|0;if(!(e<<24>>24))break;else{f=e;e=e&255}}m=s>>>0>1;if(m){f=0;k=-1;g=1;b:while(1){h=1;e=f;while(1){f=g;c:while(1){j=1;while(1){g=a[d+(j+k)>>0]|0;i=a[d+f>>0]|0;if(g<<24>>24!=i<<24>>24)break c;if((j|0)==(h|0))break;j=j+1|0;f=j+e|0;if(f>>>0>=s>>>0){n=h;e=k;break b}}e=h+e|0;f=e+1|0;if(f>>>0>=s>>>0){n=h;e=k;break b}}h=f-k|0;if((g&255)<=(i&255))break;g=f+1|0;if(g>>>0>=s>>>0){n=h;e=k;break b}else e=f}g=e+2|0;if(g>>>0>=s>>>0){n=1;break}else{f=e+1|0;k=e}}if(m){h=0;m=-1;i=1;while(1){f=1;g=h;while(1){h=i;d:while(1){k=1;while(1){i=a[d+(k+m)>>0]|0;j=a[d+h>>0]|0;if(i<<24>>24!=j<<24>>24)break d;if((k|0)==(f|0))break;k=k+1|0;h=k+g|0;if(h>>>0>=s>>>0){h=n;g=m;i=27;break a}}g=f+g|0;h=g+1|0;if(h>>>0>=s>>>0){h=n;g=m;i=27;break a}}f=h-m|0;if((i&255)>=(j&255))break;i=h+1|0;if(i>>>0>=s>>>0){h=n;g=m;i=27;break a}else g=h}i=g+2|0;if(i>>>0>=s>>>0){h=n;f=1;i=27;break}else{h=g+1|0;m=g}}}else{h=n;f=1;g=-1;i=27}}else{h=1;e=-1;f=1;g=-1;i=27}}else{h=1;e=-1;s=0;f=1;g=-1;i=27}while(0);e:do if((i|0)==27){q=(g+1|0)>>>0>(e+1|0)>>>0;f=q?f:h;q=q?g:e;r=q+1|0;if(!(g2(d,d+f|0,r)|0))p=s-f|0;else{f=s-q+-1|0;p=0;f=(q>>>0>f>>>0?q:f)+1|0}k=s|63;m=s+-1|0;n=(p|0)!=0;o=s-f|0;e=b;j=0;g=b;while(1){h=e;do if((g-h|0)>>>0>>0){i=w2(g,0,k)|0;if(i)if((i-h|0)>>>0>>0){e=0;break e}else break;else{i=g+k|0;break}}else i=g;while(0);g=a[e+m>>0]|0;f:do if(!(1<<(g&31)&c[t+(((g&255)>>>5&255)<<2)>>2])){h=0;g=s}else{g=s-(c[u+((g&255)<<2)>>2]|0)|0;if(g|0){h=0;g=n&(j|0)!=0&g>>>0>>0?o:g;break}g=r>>>0>j>>>0?r:j;h=a[d+g>>0]|0;g:do if(!(h<<24>>24))g=r;else{while(1){if(h<<24>>24!=(a[e+g>>0]|0))break;g=g+1|0;h=a[d+g>>0]|0;if(!(h<<24>>24)){g=r;break g}}h=0;g=g-q|0;break f}while(0);while(1){if(g>>>0<=j>>>0)break e;g=g+-1|0;if((a[d+g>>0]|0)!=(a[e+g>>0]|0)){h=p;g=f;break}}}while(0);e=e+g|0;j=h;g=i}}while(0);l=v;return e|0}function H4(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=K1(Pa(33,e|0)|0)|0;l=d;return b|0}function I4(a,b){a=a|0;b=b|0;return J4(a,b,(D3(a)|0)+1|0)|0}function J4(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function K4(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+32|0;i=j;h=((g|0)<0)<<31>>31;do if((g&4095|0)==0&(h&-4096|0)==0){if(b>>>0>2147483646){c[(L1()|0)>>2]=12;a=-1;break}if(e&16|0)H3();h=z6(g|0,h|0,12)|0;c[i>>2]=a;c[i+4>>2]=b;c[i+8>>2]=d;c[i+12>>2]=e;c[i+16>>2]=f;c[i+20>>2]=h;a=K1(Ga(192,i|0)|0)|0}else{c[(L1()|0)>>2]=22;a=-1}while(0);l=j;return a|0}function L4(a){a=a|0;return M4(a)|0}function M4(a){a=a|0;return L6(a|0)|0}function N4(a,b,c){a=a|0;b=b|0;c=c|0;O4(a,b,c)|0;return a|0}function O4(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);u6(b|0,0,e|0)|0;return b|0}function P4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[f+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);l=g;return d|0}function Q4(a,c){a=a|0;c=c|0;var d=0,f=0,g=0;g=a+2|0;f=a+4|0;d=G6((e[c+2>>1]|0)<<16|(e[c>>1]|0)|0,e[c+4>>1]|0|0,(e[g>>1]|0)<<16|(e[a>>1]|0)|0,e[f>>1]|0|0)|0;c=w6(d|0,D|0,e[c+6>>1]|0|0,0)|0;d=D;b[a>>1]=c;a=z6(c|0,d|0,16)|0;b[g>>1]=a;b[f>>1]=d;D=d&65535;return c|0}function R4(a){a=a|0;var b=0;b=Q4(a,66122)|0;b=v6(b|0,D|0,4)|0;a=D|1072693248;c[j>>2]=b;c[j+4>>2]=a;return +(+h[j>>3]+-1.0)}function S4(){return +(+R4(66116))}function T4(a){a=a|0;var b=0;b=186776;c[b>>2]=a+-1;c[b+4>>2]=0;return}function U4(){var a=0,b=0,d=0;b=186776;b=G6(c[b>>2]|0,c[b+4>>2]|0,1284865837,1481765933)|0;b=w6(b|0,D|0,1,0)|0;a=D;d=186776;c[d>>2]=b;c[d+4>>2]=a;a=z6(b|0,a|0,33)|0;return a|0}function V4(a){a=a|0;b[97016]=b[33058]|0;b[97017]=b[33059]|0;b[97018]=b[33060]|0;b[33058]=b[a>>1]|0;b[33059]=b[a+2>>1]|0;b[33060]=b[a+4>>1]|0;return 194032}function W4(a){a=a|0;var c=0,d=0;c=l;l=l+16|0;d=c;b[d>>1]=13070;b[d+2>>1]=a;b[d+4>>1]=a>>>16;V4(d)|0;l=c;return}function X4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;i=v;t=Y4()|0;a:do if(!t)b=12;else{u=Z4(0,0)|0;if(!u){_4(t);b=12;break}e=i+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[i>>2]=u;c[i+4>>2]=t;c[i+16>>2]=b;c[i+32>>2]=d;e=i+28|0;c[e>>2]=-1;b=$4(i)|0;b:do if(!b){h=i+20|0;f=c[h>>2]|0;c[a>>2]=f+-1;j=c[i+8>>2]|0;b=c[e>>2]|0;if((b|0)<(f|0)){g=m6(1,68)|0;if(g){r=b>>>31^1;c[g+60>>2]=r;c[g+28>>2]=f;if((d&8|0)==0|(r|0)!=0){b=a5(0,t,j,g)|0;if(b|0){h=0;i=0;f=0;e=0;break}f=c[g+40>>2]|0;if((f|0)>0){b=(f<<2)+4|0;e=k6(b)|0;if(!e){h=0;i=0;b=12;f=0;e=0;break}c[g+32>>2]=e;u6(e|0,-1,b|0)|0}else e=0;r=m6(f<<1|1,4)|0;c[g+36>>2]=r;if(!r){h=0;i=0;b=12;f=0;e=0;break}b=m6(c[h>>2]|0,12)|0;if(!b){h=0;i=0;b=12;f=0;e=0;break}c[g+16>>2]=b;b=a5(u,t,j,g)|0;if(!b)b=e;else{h=0;i=0;f=0;e=0;break}}else b=0;r=i+24|0;b=b5(u,t,j,r,b)|0;if(!b){b=c[r>>2]|0;c[r>>2]=b+1;b=c5(u,0,0,b)|0;if((b|0)!=0?(s=d5(u,j,b)|0,(s|0)!=0):0){b=e5(u,t,s)|0;if(!b){e=c[r>>2]|0;b=e<<2;p=k6(b)|0;if(p){q=k6(b)|0;if(q){if((e|0)>0)u6(p|0,0,e<<2|0)|0;f5(s,0,p,0)|0;f=c[r>>2]|0;if((f|0)>0){b=0;e=0;do{c[q+(e<<2)>>2]=b;o=p+(e<<2)|0;b=b+1+(c[o>>2]|0)|0;c[o>>2]=0;e=e+1|0}while((e|0)<(f|0));m=b}else m=0;n=m6(m+1|0,32)|0;if(n){c[g>>2]=n;o=g+4|0;c[o>>2]=m;b=f5(s,n,p,q)|0;if(!b){c[g+20>>2]=0;f=s+24|0;b=c[f>>2]|0;e=0;while(1){e=e+1|0;if((c[b>>2]|0)<=-1)break;else b=b+32|0}k=m6(e,32)|0;if(!k){h=p;i=q;b=12;f=p;e=q}else{c[g+8>>2]=k;b=c[f>>2]|0;e=c[b>>2]|0;if((e|0)>-1){j=b;b=0;do{c[k+(b<<5)+8>>2]=n+(c[q+(e<<2)>>2]<<5);c[k+(b<<5)+12>>2]=e;h=k+(b<<5)+16|0;c[h>>2]=0;i=j+12|0;f=c[i>>2]|0;if(f|0){e=0;do{w=e;e=e+1|0}while((c[f+(w<<2)>>2]|0)>-1);e=e<<2;f=k6(e)|0;c[h>>2]=f;if(!f){h=p;i=q;b=12;f=p;e=q;break b}B6(f|0,c[i>>2]|0,e|0)|0}c[k+(b<<5)+20>>2]=c[j+16>>2];b=b+1|0;j=j+32|0;e=c[j>>2]|0}while((e|0)>-1)}else b=0;c[k+(b<<5)+8>>2]=0;c[o>>2]=m;c[g+12>>2]=n+(c[q+(c[c[s+28>>2]>>2]<<2)>>2]<<5);c[g+52>>2]=c[r>>2];c[g+56>>2]=d;g5(u);_4(t);l6(p);l6(q);c[a+4>>2]=g;b=0;break a}}else{h=p;i=q;f=p;e=q}}else{h=p;i=q;b=12;f=p;e=q}}else{h=p;i=q;b=12;f=p;e=0}}else{h=p;i=0;b=12;f=0;e=0}}else{h=0;i=0;f=0;e=0}}else{h=0;i=0;b=12;f=0;e=0}}else{h=0;i=0;f=0;e=0}}else{h=0;i=0;b=12;f=0;e=0}}else{g=0;h=0;i=0;b=6;f=0;e=0}}else{g=0;h=0;i=0;f=0;e=0}while(0);g5(u);_4(t);if(h|0)l6(f);if(i|0)l6(e);c[a+4>>2]=g;h5(a)}while(0);l=v;return b|0}function Y4(){var a=0,b=0;a=k6(20)|0;do if(a){b=k6(2048)|0;c[a+16>>2]=b;if(!b){l6(a);a=0;break}else{c[a>>2]=512;c[a+4>>2]=1024e3;c[a+8>>2]=128;c[a+12>>2]=0;break}}while(0);return a|0}function Z4(a,b){a=a|0;b=b|0;if(!a)b=m6(1,24)|0;else{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0}return b|0}function _4(a){a=a|0;l6(c[a+16>>2]|0);l6(a);return}function $4(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;q=v+4|0;r=v;s=c[b+32>>2]&1;t=b+16|0;e=c[t>>2]|0;u=c[b+4>>2]|0;d=l5(u,0)|0;a:do if(!d){n=(s|0)!=0;o=b+8|0;p=b+12|0;m=n^1;d=0;k=1;b:while(1){g=0;h=d;f=0;c:while(1){d=a[e>>0]|0;if(n){if(d<<24>>24==40)break;if((h|0)!=0&d<<24>>24==41)j=13;else j=14}else if(d<<24>>24==92)switch(a[e+1>>0]|0){case 40:break c;case 41:{j=13;break}default:j=14}else j=14;if((j|0)==13){j=0;i=c5(c[b>>2]|0,-1,-1,-1)|0;c[o>>2]=i;if(!i){d=12;break a}else i=f}else if((j|0)==14){j=0;d=B5(b,e)|0;if(d|0)break a;i=f;e=c[p>>2]|0}while(1){d:while(1){d=a[e>>0]|0;switch(d<<24>>24){case 42:case 92:break;default:{if(!n)break d;switch(d<<24>>24){case 123:case 63:case 43:break;default:break d}}}d=d<<24>>24==92;if(n&d)break;f=e+1|0;if(d)switch(a[f>>0]|0){case 123:case 63:case 43:break;default:break d}e=d?f:e;if((!n?(e|0)==((c[t>>2]|0)+1|0):0)?(a[e+-1>>0]|0)==94:0)break;if((a[e>>0]|0)==123){e=C5(e+1|0,s,q,r)|0;if(!e){j=28;break b}d=c[r>>2]|0;f=c[b>>2]|0;if(!d)d=c5(f,-1,-1,-1)|0;else j=36}else{c[q>>2]=0;c[r>>2]=-1;d=a[e>>0]|0;if(d<<24>>24==43){c[q>>2]=1;d=a[e>>0]|0}if(d<<24>>24==63){c[r>>2]=1;d=1}else d=-1;e=e+1|0;f=c[b>>2]|0;j=36}if((j|0)==36){j=0;d=w5(f,c[o>>2]|0,c[q>>2]|0,d,0)|0}c[o>>2]=d;if(!d){d=12;break a}}g=d5(c[b>>2]|0,g,c[o>>2]|0)|0;f=a[e>>0]|0;do if(!n)if(f<<24>>24==92)if((a[e+1>>0]|0)==41){d=x5(c[b>>2]|0,i,g)|0;j=49}else{d=92;j=44}else{d=f;j=46}else{if(f<<24>>24!=124)if((h|0)!=0&f<<24>>24==41)f=41;else{d=f;j=44;break}else f=124;d=x5(c[b>>2]|0,i,g)|0;j=50}while(0);if((j|0)==44)if(d<<24>>24==92&m)if((a[e+1>>0]|0)==124)j=48;else{f=i;continue c}else j=46;if((j|0)==46)if(!(d<<24>>24))j=48;else{f=i;continue c}if((j|0)==48){d=x5(c[b>>2]|0,i,g)|0;if(f<<24>>24==92)j=49;else j=50}if((j|0)==49){j=0;if((a[e+1>>0]|0)==124){f=2;break}if(!h){d=8;break a}e=e+2|0;f=92}else if((j|0)==50){j=0;if(f<<24>>24==124){f=1;break}e=f<<24>>24==41?e+1|0:e}d=D5(b,d,m5(u)|0)|0;if(d|0)break a;d=f<<24>>24==0;f=(h|0)<1;if(f&d){j=56;break b}if(f|d){d=8;break a}g=n5(u)|0;h=h+-1|0;i=n5(u)|0}g=0;e=e+f|0;f=d}d=k5(u,f)|0;if(d|0)break a;d=k5(u,g)|0;if(d|0)break a;d=l5(u,k)|0;if(d|0)break a;d=h+1|0;k=k+1|0;e=n?e+1|0:e+2|0}if((j|0)==28){d=10;break}else if((j|0)==56){c[b+20>>2]=k;d=0;break}}while(0);l=v;return d|0}function a5(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=j5(d)|0;y=(b|0)==0|(f|0)==0;if(!y){c[f+48>>2]=0;c[c[f+36>>2]>>2]=-1}h=c[f+28>>2]|0;z=k6((h<<3)+8|0)|0;do if(!z)g=12;else{c[z>>2]=-1;A=k6((h<<2)+4|0)|0;if(!A){l6(z);g=12;break}c[A>>2]=-1;g=0;while(1)if(g>>>0>h>>>0)break;else g=g+1|0;k5(d,e)|0;g=l5(d,0)|0;a:do if((g|0)!=0|(j5(d)|0)<=(x|0)){e=z;n=0;h=0;m=0;l=-1}else{u=f+32|0;v=f+36|0;w=f+16|0;e=z;n=0;h=0;m=0;t=1;l=-1;s=0;while(1){b:do switch(m5(d)|0){case 6:{i=m5(d)|0;g=0;do{j=e+(g<<2)|0;g=g+1|0}while((c[j>>2]|0)>-1);c[j>>2]=i<<1|1;c[e+(g<<2)>>2]=-1;g=0;while(1)if((c[A+(g<<2)>>2]|0)>-1)g=g+1|0;else break;c[A+(g+-1<<2)>>2]=-1;g=0;j=t;i=s;break}case 0:{q=n5(d)|0;r=q+12|0;j=c[r>>2]|0;if((j|0)>-1){g=0;do{i=e+(g<<2)|0;g=g+1|0}while((c[i>>2]|0)>-1);c[i>>2]=j<<1;c[e+(g<<2)>>2]=-1;if(!y){g=0;while(1)if((c[A+(g<<2)>>2]|0)>-1)g=g+1|0;else break;i=(c[w>>2]|0)+(j*12|0)+8|0;c[i>>2]=0;if((g|0)>0){g=k6((g<<2)+4|0)|0;if(!g){g=12;j=t;i=s;break b}c[i>>2]=g;i=c[A>>2]|0;if((i|0)>-1){k=0;j=g;do{c[j>>2]=i;k=k+1|0;i=c[A+(k<<2)>>2]|0;j=g+(k<<2)|0}while((i|0)>-1);g=j}c[g>>2]=-1}}g=l5(d,c[r>>2]|0)|0;if(g|0){j=t;i=s;break b}g=l5(d,6)|0;if(g|0){j=t;i=s;break b}}c:do switch(c[q>>2]|0){case 0:{p=c[c[q+4>>2]>>2]|0;if((p|0)>-1|(p|0)==-4?(c[e>>2]|0)>-1:0){if(y){c[q+20>>2]=1;g=0}else{g=y5(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=s;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}z5(e,f,m)}c[e>>2]=-1;p=t+1|0;o=s;n=n+1|0;m=t}else{p=t;g=0;o=s}break}case 1:{j=c[q+4>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=k5(d,q)|0;if(!g){g=l5(d,5)|0;if(!g){g=k5(d,j)|0;if(!g){g=l5(d,0)|0;if(!g){i=k+20|0;g=l5(d,(c[i>>2]|0)+t|0)|0;if(!g){if((c[i>>2]|0)>0){i=(c[j+20>>2]|0)>0;g=i?t:-1;i=(i&1)+t|0}else{g=-1;i=t}g=l5(d,g)|0;if(!g){g=l5(d,4)|0;if(!g){g=k5(d,k)|0;if(!g){p=i;g=l5(d,0)|0;o=s}else{p=i;o=s}}else{p=i;o=s}}else{p=i;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}case 2:{i=c[q+4>>2]|0;if(y){if((c[e>>2]|0)>-1)g=1;else g=(a[i+12>>0]&1)!=0;g=l5(d,g&1)|0;if(g|0){p=t;o=s;break c}}else{g=l5(d,m)|0;if(g|0){p=t;o=s;break c}g=l5(d,a[i+12>>0]&1)|0;if(g|0){p=t;o=s;break c}}g=k5(d,q)|0;if(!g){g=l5(d,1)|0;if(!g){g=k5(d,c[i>>2]|0)|0;if(!g){g=l5(d,0)|0;if(!g){if((c[e>>2]|0)<=-1?(a[i+12>>0]&1)==0:0){p=t;g=0;o=0;break c}if(y)g=0;else{g=y5(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=(a[i+12>>0]&1)==0?s:1;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}z5(e,f,m)}c[e>>2]=-1;p=t+1|0;o=0;n=n+1|0;m=t}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}case 3:{j=c[q+4>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;i=(c[e>>2]|0)>-1;p=t+1|0;g=l5(d,i?p:t)|0;if(!g){g=l5(d,i?t:m)|0;if(!g){g=k5(d,e)|0;if(!g){g=l5(d,(c[e>>2]|0)>>>31^1)|0;if(!g){g=k5(d,q)|0;if(!g){g=k5(d,j)|0;if(!g){g=k5(d,k)|0;if(!g){g=l5(d,3)|0;if(!g){g=k5(d,j)|0;if(!g){g=l5(d,0)|0;if(!g){g=l5(d,2)|0;if(g|0){p=t;o=s;break c}g=k5(d,k)|0;if(g|0){p=t;o=s;break c}g=l5(d,0)|0;if(g|0){p=t;o=s;break c}if((c[e>>2]|0)>-1){if(y)g=0;else{g=y5(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=s;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}z5(e,f,m)}c[e>>2]=-1;n=n+1|0;m=t;i=p}else{g=0;i=t}t=(c[q+16>>2]|0)>0;p=t?i+2|0:i;o=s;m=t?i+1|0:m}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}default:{p=t;g=0;o=s}}while(0);j=c[r>>2]|0;if((j|0)>-1){i=0;do{k=A+(i<<2)|0;i=i+1|0}while((c[k>>2]|0)>-1);c[k>>2]=j;c[A+(i<<2)>>2]=-1;j=p;i=o}else{j=p;i=o}break}case 1:{g=n5(d)|0;if(y){i=c[(c[c[g+4>>2]>>2]|0)+20>>2]|0;c[g+20>>2]=(m5(d)|0)+i;i=0;l=-1}else{q=m5(d)|0;r=m5(d)|0;i=q;l=(q|0)==0?l:r}g=0;j=t;i=y?s:(i|0)==0&1;break}case 4:{i=m5(d)|0;j=m5(d)|0;g=0;m=(i|0)>-1?i:m;i=s;break}case 5:{g=n5(d)|0;if(y){j=c[g+4>>2]|0;c[g+20>>2]=(c[(c[j+4>>2]|0)+20>>2]|0)+(c[(c[j>>2]|0)+20>>2]|0);g=0;j=t;i=s}else{g=0;j=t;i=s}break}case 2:{while(1)if((c[e>>2]|0)>-1)e=e+4|0;else{g=0;j=t;i=s;break}break}case 3:{j=n5(d)|0;o=n5(d)|0;g=n5(d)|0;e=m5(d)|0;if(y){r=c[g+4>>2]|0;s=g+16|0;c[g+20>>2]=(c[(c[r>>2]|0)+20>>2]|0)+e+(c[(c[r+4>>2]|0)+20>>2]|0)+((c[s>>2]|0)>0?2:0);g=s}else g=g+16|0;e=n5(d)|0;i=m5(d)|0;k=m5(d)|0;if((c[g>>2]|0)>0){if(y)g=0;else{g=A5(b,j,i)|0;c[(c[u>>2]|0)+(i<<2)>>2]=1;if(!g)g=A5(b,o,k)|0;c[(c[u>>2]|0)+(k<<2)>>2]=1}n=n+2|0;j=t;i=1}else{g=0;j=t;i=1}break}default:{g=0;j=t;i=s}}while(0);if((g|0)!=0|(j5(d)|0)<=(x|0))break a;else{t=j;s=i}}}while(0);if(!y?(z5(e,f,m),(l|0)>-1):0){i=c[f+36>>2]|0;e=0;while(1){j=i+(e<<2)|0;k=e+1|0;if((c[j>>2]|0)>-1)e=k;else break}c[j>>2]=m;c[i+(k<<2)>>2]=l;c[i+(e+2<<2)>>2]=-1;h=h+1|0}c[f+48>>2]=n;c[f+40>>2]=n;c[f+44>>2]=h;l6(z);l6(A)}while(0);return g|0}function b5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;t=y+12|0;w=y+8|0;x=y+4|0;u=y;v=j5(b)|0;c[t>>2]=0;c[w>>2]=0;d=k5(b,d)|0;a:do if(!d){d=l5(b,0)|0;if(!d){b:do if((j5(b)|0)>(v|0)){g=0;i=0;j=0;c:while(1){q=m5(b)|0;r=n5(b)|0;d:do switch(q|0){case 0:{switch(c[r>>2]|0){case 0:{d=c[r+4>>2]|0;r=c[d>>2]|0;if(!((r|0)>-1|(r|0)==-4)){d=j;break d}r=d+8|0;d=(c[r>>2]|0)+j|0;c[r>>2]=d;if((d|0)<=(c[w>>2]|0)){d=j;break d}c[w>>2]=d;d=j;break d}case 3:{h=c[r+4>>2]|0;d=k5(b,c[h+4>>2]|0)|0;if(d|0)break b;d=l5(b,0)|0;if(d|0)break b;d=k5(b,c[h>>2]|0)|0;if(d|0)break b;break}case 1:{h=c[r+4>>2]|0;d=k5(b,c[h+4>>2]|0)|0;if(d|0)break b;d=l5(b,0)|0;if(d|0)break b;d=k5(b,c[h>>2]|0)|0;if(d|0)break b;break}case 2:{h=c[r+4>>2]|0;d=l5(b,j)|0;if(d|0)break b;d=k5(b,r)|0;if(d|0)break b;d=l5(b,1)|0;if(d|0)break b;d=k5(b,c[h>>2]|0)|0;if(d|0)break b;d=l5(b,0)|0;if(d|0)break b;if((c[h+4>>2]|0)<=1?(c[h+8>>2]|0)<=1:0)d=j;else{c[t>>2]=0;d=0}i=i+1|0;break d}default:{d=j;break d}}d=l5(b,0)|0;if(!d)d=j;else break b;break}case 1:{p=r+4|0;o=c[p>>2]|0;q=m5(b)|0;c[t>>2]=q;n=o+4|0;j=c[n>>2]|0;if((j|0)<=1)if((c[o+8>>2]|0)>1){c[x>>2]=0;if((j|0)>0)s=30;else{d=q;h=0;s=37}}else d=q;else{c[x>>2]=0;s=30}e:do if((s|0)==30){d=v5(a,b,c[o>>2]|0,(j|0)>1?1:2,t,f,u,w)|0;if(!d){h=0;k=q;m=1}else{s=34;break c}while(1){d=c[u>>2]|0;if(!h)h=d;else h=d5(a,h,d)|0;if(!h){d=12;s=34;break c}j=c[n>>2]|0;if((m|0)>=(j|0)){d=k;s=37;break e}k=c[t>>2]|0;m=m+1|0;d=v5(a,b,c[o>>2]|0,(m|0)<(j|0)?1:2,t,f,u,w)|0;if(d|0){s=34;break c}}}while(0);if((s|0)==37){s=0;n=o+8|0;k=c[n>>2]|0;if((k|0)==-1){k=c[t>>2]|0;d=v5(a,b,c[o>>2]|0,0,t,0,x,w)|0;if(d|0)break c;j=w5(a,c[x>>2]|0,0,-1,0)|0;c[x>>2]=j;if(!j){d=12;break c}else d=k}else if((j|0)<(k|0)){k=j;j=0;do{m=c[t>>2]|0;d=v5(a,b,c[o>>2]|0,0,t,0,u,w)|0;if(d|0){g=j;s=48;break c}d=c[u>>2]|0;if(!j)j=d;else j=d5(a,d,j)|0;if(!j){d=12;g=0;s=48;break c}d=c5(a,-1,-1,-1)|0;if(!d){d=12;g=j;s=48;break c}j=x5(a,d,j)|0;if(!j){d=12;g=0;s=48;break c}k=k+1|0}while((k|0)<(c[n>>2]|0));c[x>>2]=j;d=m}else j=0;c[t>>2]=d;if(h){if(j){h=d5(a,h,j)|0;s=54}}else{h=j;s=54}if((s|0)==54){s=0;if(!h){d=12;break c}}c[p>>2]=c[h+4>>2];c[r>>2]=c[h>>2]}i=i+-1|0;h=d-q+g|0;if(!i){c[t>>2]=h;g=h;i=0;d=h}else g=h;break}default:d=j}while(0);if((j5(b)|0)>(v|0))j=d;else{d=0;break b}}if((s|0)!=34)if((s|0)==48)c[x>>2]=g;break a}else{d=0;g=0}while(0);x=(c[e>>2]|0)+g|0;w=c[w>>2]|0;c[e>>2]=(w|0)>(x|0)?w:x}}while(0);l=y;return d|0}function c5(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=s5(a,0,0,1,20)|0;a=u5(a,0,f)|0;if(!a)a=0;else{c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=e}return a|0}function d5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b){e=s5(a,0,0,1,8)|0;a=u5(a,1,e)|0;if(!a)d=0;else{c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0);d=a}}return d|0}function e5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;j=o+4|0;k=o;m=j5(b)|0;d=k5(b,d)|0;a:do if(!d){d=l5(b,0)|0;if(!d)if((j5(b)|0)>(m|0)){b:while(1){h=m5(b)|0;i=n5(b)|0;c:do switch(h|0){case 0:switch(c[i>>2]|0){case 0:{g=c[i+4>>2]|0;f=c[g>>2]|0;if((f|0)==-4){c[i+8>>2]=0;d=g+8|0;h=o5(a,c[d>>2]|0,0,1114111,0,0,-1)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=o5(a,c[d>>2]|0,0,1114111,0,0,c[g+4>>2]|0)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}d=i+8|0;if((f|0)<0){c[d>>2]=1;h=p5(a)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=p5(a)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}else{c[d>>2]=0;d=g+8|0;e=g+4|0;h=o5(a,c[d>>2]|0,f,c[e>>2]|0,0,0,-1)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=o5(a,c[d>>2]|0,c[g>>2]|0,c[e>>2]|0,c[g+12>>2]|0,c[g+16>>2]|0,-1)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}}case 3:{d=k5(b,i)|0;if(d|0)break a;d=l5(b,1)|0;if(d|0)break a;e=i+4|0;d=k5(b,c[(c[e>>2]|0)+4>>2]|0)|0;if(d|0)break a;d=l5(b,0)|0;if(d|0)break a;d=k5(b,c[c[e>>2]>>2]|0)|0;if(d|0)break a;d=l5(b,0)|0;if(!d)break c;else break a}case 1:{d=k5(b,i)|0;if(d|0)break a;d=l5(b,2)|0;if(d|0)break a;e=i+4|0;d=k5(b,c[(c[e>>2]|0)+4>>2]|0)|0;if(d|0)break a;d=l5(b,0)|0;if(d|0)break a;d=k5(b,c[c[e>>2]>>2]|0)|0;if(d|0)break a;d=l5(b,0)|0;if(!d)break c;else break a}case 2:{d=k5(b,i)|0;if(d|0)break a;d=l5(b,3)|0;if(d|0)break a;d=k5(b,c[c[i+4>>2]>>2]|0)|0;if(d|0)break a;d=l5(b,0)|0;if(!d)break c;else break a}default:break c}case 1:{d=c[i+4>>2]|0;e=c[d>>2]|0;f=d+4|0;g=c[f>>2]|0;if(!(c[e+8>>2]|0))h=(c[g+8>>2]|0)!=0;else h=1;c[i+8>>2]=h&1;h=q5(a,c[e+24>>2]|0,c[g+24>>2]|0,0,0)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=q5(a,c[(c[d>>2]|0)+28>>2]|0,c[(c[f>>2]|0)+28>>2]|0,0,0)|0;c[i+28>>2]=h;if(!h){d=12;break a}break}case 3:{h=c[i+4>>2]|0;d=c[h>>2]|0;if(!(c[h+4>>2]|0))e=1;else e=(c[d+8>>2]|0)!=0&1;c[i+8>>2]=e;c[i+24>>2]=c[d+24>>2];c[i+28>>2]=c[d+28>>2];break}case 2:{g=c[i+4>>2]|0;d=c[g>>2]|0;e=d+8|0;if(!(c[e>>2]|0))f=0;else f=(c[(c[g+4>>2]|0)+8>>2]|0)!=0;c[i+8>>2]=f&1;if(c[e>>2]|0){d=r5(b,d,0,0,j)|0;if(d|0)break b;e=k6((c[j>>2]<<2)+4|0)|0;if(!e){d=12;break b}c[e>>2]=-1;c[k>>2]=0;d=r5(b,c[g>>2]|0,e,k,0)|0;if(d|0){n=45;break b}d=g+4|0;h=i+24|0;c[h>>2]=q5(a,c[(c[d>>2]|0)+24>>2]|0,c[(c[g>>2]|0)+24>>2]|0,e,c[k>>2]|0)|0;l6(e);if(!(c[h>>2]|0)){d=12;break b}else f=d}else{c[i+24>>2]=c[d+24>>2];f=g+4|0}d=c[f>>2]|0;if(c[d+8>>2]|0){d=r5(b,d,0,0,j)|0;if(d|0)break b;e=k6((c[j>>2]<<2)+4|0)|0;if(!e){d=12;break b}c[e>>2]=-1;c[k>>2]=0;d=r5(b,c[f>>2]|0,e,k,0)|0;if(d|0){n=52;break b}i=i+28|0;c[i>>2]=q5(a,c[(c[g>>2]|0)+28>>2]|0,c[(c[f>>2]|0)+28>>2]|0,e,c[k>>2]|0)|0;l6(e);if(!(c[i>>2]|0)){d=12;break b}}else c[i+28>>2]=c[d+28>>2];break}default:{}}while(0);if((j5(b)|0)<=(m|0)){d=0;break a}}if((n|0)==45)l6(e);else if((n|0)==52)l6(e)}else d=0}while(0);l=o;return d|0}function f5(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:while(1){switch(c[a>>2]|0){case 2:{a=c[a+4>>2]|0;if((c[a+8>>2]|0)==-1?(h=c[a>>2]|0,h=i5(c[h+28>>2]|0,c[h+24>>2]|0,b,d,e)|0,(h|0)!=0):0){a=h;break a}break}case 3:{f=c[a+4>>2]|0;a=f5(c[f>>2]|0,b,d,e)|0;if(a|0)break a;a=f+4|0;break}case 1:{f=c[a+4>>2]|0;g=f+4|0;a=i5(c[(c[f>>2]|0)+28>>2]|0,c[(c[g>>2]|0)+24>>2]|0,b,d,e)|0;if(a|0)break a;a=f5(c[f>>2]|0,b,d,e)|0;if(!a)a=g;else break a;break}default:{a=0;break a}}a=c[a>>2]|0}return a|0}function g5(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0)do{l6(c[b>>2]|0);d=b;b=c[b+4>>2]|0;l6(d)}while((b|0)!=0);l6(a);return}function h5(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=c[a+4>>2]|0;if(h|0){e=h+4|0;a=c[h>>2]|0;if(c[e>>2]|0){d=0;do{if(c[a+(d<<5)+8>>2]|0){b=c[a+(d<<5)+16>>2]|0;if(b){l6(b);a=c[h>>2]|0}b=c[a+(d<<5)+28>>2]|0;if(b){l6(b);a=c[h>>2]|0}}d=d+1|0}while(d>>>0<(c[e>>2]|0)>>>0)}if(a|0)l6(a);d=h+8|0;a=c[d>>2]|0;if(a|0){if(c[a+8>>2]|0){while(1){b=c[a+16>>2]|0;if(b|0)l6(b);if(!(c[a+40>>2]|0))break;else a=a+32|0}a=c[d>>2]|0}l6(a)}f=h+16|0;a=c[f>>2]|0;if(a|0){g=h+28|0;b=c[g>>2]|0;if(b){e=0;do{d=c[a+(e*12|0)+8>>2]|0;if(d){l6(d);b=c[g>>2]|0;a=c[f>>2]|0}e=e+1|0}while(e>>>0>>0)}l6(a)}a=c[h+32>>2]|0;if(a|0)l6(a);a=c[h+20>>2]|0;if(a|0)l6(a);a=c[h+36>>2]|0;if(a|0)l6(a);l6(h)}return}function i5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=c[a>>2]|0;h=(g|0)>-1;a:do if(!d)if(h){h=b+32|0;do{if((c[b>>2]|0)>-1?(y=e+(g<<2)|0,c[y>>2]=(c[y>>2]|0)+1,(c[h>>2]|0)>-1):0){g=h;do{y=e+(c[a>>2]<<2)|0;c[y>>2]=(c[y>>2]|0)+1;g=g+32|0}while((c[g>>2]|0)>-1)}a=a+32|0;g=c[a>>2]|0}while((g|0)>-1);g=0}else g=0;else if(h)while(1){h=c[b>>2]|0;b:do if((h|0)>-1){p=a+4|0;q=a+8|0;r=a+16|0;s=a+20|0;t=a+24|0;u=a+28|0;v=a+12|0;e=-1;g=b;while(1){o=h;while(1){if((o|0)!=(e|0))break;g=g+32|0;h=c[g>>2]|0;if((h|0)>-1)o=h;else break b}n=d+(c[f+(c[a>>2]<<2)>>2]<<5)|0;while(1){h=n+8|0;if(!(c[h>>2]|0))break;else n=n+32|0}c[n+40>>2]=0;c[n>>2]=c[p>>2];c[n+4>>2]=c[q>>2];c[h>>2]=d+(c[f+(o<<2)>>2]<<5);c[n+12>>2]=o;h=c[s>>2]|0;m=c[t>>2]|0;e=(m|0)!=0;i=c[g+16>>2]|c[r>>2]|(h|0?4:0)|(e?8:0);j=n+20|0;c[j>>2]=i;k=c[u>>2]|0;l=n+24|0;if((k|0)>-1){c[l>>2]=k;c[j>>2]=i|256}else c[l>>2]=h;if(e){h=0;do{l=h;h=h+1|0}while((c[m+(l<<2)>>2]|0)!=0);h=k6(h<<2)|0;c[n+28>>2]=h;if(!h){g=12;break a}k=c[t>>2]|0;e=c[k>>2]|0;if(e){j=0;i=h;do{c[i>>2]=e;j=j+1|0;e=c[k+(j<<2)>>2]|0;i=h+(j<<2)|0}while((e|0)!=0);h=i}c[h>>2]=0}else c[n+28>>2]=0;e=c[v>>2]|0;if(!e)h=0;else{h=0;while(1)if((c[e+(h<<2)>>2]|0)>-1)h=h+1|0;else break}k=g+12|0;i=c[k>>2]|0;if(!i)e=0;else{e=0;while(1)if((c[i+(e<<2)>>2]|0)>-1)e=e+1|0;else break}j=n+16|0;i=c[j>>2]|0;if(i|0)l6(i);c[j>>2]=0;h=e+h|0;if((h|0)>0){n=k6((h<<2)+4|0)|0;c[j>>2]=n;if(!n){g=12;break a}i=c[v>>2]|0;if((i|0)!=0?(w=c[i>>2]|0,(w|0)>-1):0){h=0;e=w;do{c[n+(h<<2)>>2]=e;h=h+1|0;e=c[i+(h<<2)>>2]|0}while((e|0)>-1);m=h}else m=0;j=c[k>>2]|0;if((j|0)!=0?(x=c[j>>2]|0,(x|0)>-1):0){k=(m|0)>0;h=m;i=0;l=x;do{c:do if(k){e=0;while(1){if((c[n+(e<<2)>>2]|0)==(l|0))break c;e=e+1|0;if((e|0)>=(m|0)){y=40;break}}}else y=40;while(0);if((y|0)==40){y=0;c[n+(h<<2)>>2]=l;h=h+1|0}i=i+1|0;l=c[j+(i<<2)>>2]|0}while((l|0)>-1)}else h=m;c[n+(h<<2)>>2]=-1}g=g+32|0;h=c[g>>2]|0;if((h|0)<=-1)break;else e=o}}while(0);a=a+32|0;if((c[a>>2]|0)<=-1){g=0;break}}else g=0;while(0);return g|0}function j5(a){a=a|0;return c[a+12>>2]|0}function k5(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[f>>2]=b;c[e>>2]=c[f>>2];b=t5(a,e)|0;l=d;return b|0}function l5(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[f>>2]=b;c[e>>2]=c[f>>2];b=t5(a,e)|0;l=d;return b|0}function m5(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=a+12|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;return c[b+(a<<2)>>2]|0}function n5(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=a+12|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;return c[b+(a<<2)>>2]|0}function o5(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=s5(a,0,0,1,64)|0;if(!a)a=0;else{c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+20>>2]=f;c[a+24>>2]=g;c[a+28>>2]=h;c[a+32>>2]=-1;c[a+36>>2]=-1;c[a+40>>2]=-1}return a|0}function p5(a){a=a|0;a=s5(a,0,0,1,32)|0;if(!a)a=0;else{c[a>>2]=-1;c[a+4>>2]=-1;c[a+8>>2]=-1}return a|0}function q5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(e|0)==0;if(o)n=0;else{g=0;while(1)if((c[e+(g<<2)>>2]|0)>-1)g=g+1|0;else{n=g;break}}h=0;while(1)if((c[b+(h<<5)>>2]|0)>-1)h=h+1|0;else{g=0;break}while(1)if((c[d+(g<<5)>>2]|0)>-1)g=g+1|0;else break;g=s5(a,0,0,1,(g+h<<5)+32|0)|0;a:do if(!g)g=0;else{h=c[b>>2]|0;if((h|0)>-1){m=(n|0)>0;i=0;while(1){c[g+(i<<5)>>2]=h;c[g+(i<<5)+4>>2]=c[b+(i<<5)+4>>2];c[g+(i<<5)+8>>2]=c[b+(i<<5)+8>>2];c[g+(i<<5)+16>>2]=c[b+(i<<5)+16>>2]|f;c[g+(i<<5)+20>>2]=c[b+(i<<5)+20>>2];c[g+(i<<5)+24>>2]=c[b+(i<<5)+24>>2];c[g+(i<<5)+28>>2]=c[b+(i<<5)+28>>2];l=b+(i<<5)+12|0;k=c[l>>2]|0;h=(k|0)==0;if(o&h)h=0;else{if(h)j=0;else{j=0;while(1)if((c[k+(j<<2)>>2]|0)>-1)j=j+1|0;else break}h=s5(a,0,0,0,(j+n<<2)+4|0)|0;if(!h){g=0;break a}if((j|0)>0){l=c[l>>2]|0;k=0;do{c[h+(k<<2)>>2]=c[l+(k<<2)>>2];k=k+1|0}while((k|0)!=(j|0))}else j=0;if(m){l=0;k=j;while(1){c[h+(k<<2)>>2]=c[e+(l<<2)>>2];k=l+1|0;if((k|0)==(n|0))break;else{l=k;k=k+j|0}}j=n+j|0}c[h+(j<<2)>>2]=-1}c[g+(i<<5)+12>>2]=h;i=i+1|0;h=c[b+(i<<5)>>2]|0;if((h|0)<=-1){n=i;break}}}else n=0;i=c[d>>2]|0;h=g+(n<<5)|0;if((i|0)>-1){m=0;l=n;do{c[h>>2]=i;c[g+(l<<5)+4>>2]=c[d+(m<<5)+4>>2];c[g+(l<<5)+8>>2]=c[d+(m<<5)+8>>2];c[g+(l<<5)+16>>2]=c[d+(m<<5)+16>>2];c[g+(l<<5)+20>>2]=c[d+(m<<5)+20>>2];c[g+(l<<5)+24>>2]=c[d+(m<<5)+24>>2];c[g+(l<<5)+28>>2]=c[d+(m<<5)+28>>2];k=d+(m<<5)+12|0;h=c[k>>2]|0;if(!h)h=0;else{i=0;while(1){j=i+1|0;if((c[h+(i<<2)>>2]|0)>-1)i=j;else break}h=s5(a,0,0,0,j<<2)|0;if(!h){g=0;break a}if((i|0)>0){k=c[k>>2]|0;j=0;do{c[h+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}else i=0;c[h+(i<<2)>>2]=-1}c[g+(l<<5)+12>>2]=h;m=m+1|0;i=c[d+(m<<5)>>2]|0;l=m+n|0;h=g+(l<<5)|0}while((i|0)>-1)}c[h>>2]=-1}while(0);return g|0}function r5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=j5(a)|0;p=(f|0)!=0;if(p)c[f>>2]=0;b=k5(a,b)|0;a:do if(!b){m=(d|0)==0;l=(e|0)==0;if((j5(a)|0)>(o|0))while(1){b=n5(a)|0;b:do switch(c[b>>2]|0){case 0:{b=c[b+4>>2]|0;switch(c[b>>2]|0){case -3:break;case -2:{if(l)break b;c[e>>2]=c[e>>2]|c[b+4>>2];break b}default:break b}h=c[b+4>>2]|0;if((h|0)>-1){c:do if(!m){b=0;while(1){i=d+(b<<2)|0;j=c[i>>2]|0;if((j|0)<=-1)break;if((j|0)==(h|0))break c;else b=b+1|0}c[i>>2]=h;c[d+(b+1<<2)>>2]=-1}while(0);if(p)c[f>>2]=(c[f>>2]|0)+1}break}case 3:{b=c[b+4>>2]|0;h=c[b>>2]|0;if(c[h+8>>2]|0){k=h;n=6;break b}b=c[b+4>>2]|0;if(c[b+8>>2]|0){k=b;n=6}break}case 1:{b=c[b+4>>2]|0;h=k5(a,c[b>>2]|0)|0;if(h|0){g=h;break a}k=c[b+4>>2]|0;n=6;break}case 2:{b=c[c[b+4>>2]>>2]|0;if(c[b+8>>2]|0){k=b;n=6}break}default:{}}while(0);if((n|0)==6?(n=0,g=k5(a,k)|0,g|0):0)break a;if((j5(a)|0)<=(o|0)){g=0;break a}}else g=0}else g=b;while(0);return g|0}function s5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=a+16|0;a:do if(!(c[h>>2]|0)){j=a+12|0;g=c[j>>2]|0;if(g>>>0>>0){do if(b)if(!d){c[h>>2]=1;d=0;break a}else{b=a+8|0;c[b>>2]=d;g=1024;break}else{g=f<<3;g=g>>>0>1024?g:1024;i=k6(8)|0;if(!i){c[h>>2]=1;d=0;break a}d=k6(g)|0;c[i>>2]=d;if(!d){l6(i);c[h>>2]=1;d=0;break a}c[i+4>>2]=0;b=a+4|0;h=c[b>>2]|0;if(h|0)c[h+4>>2]=i;if(!(c[a>>2]|0))c[a>>2]=i;c[b>>2]=i;b=a+8|0;c[b>>2]=d}while(0);c[j>>2]=g;h=b}else{d=a+8|0;h=d;d=c[d>>2]|0}b=d+f&3;b=((b|0)==0?0:4-b|0)+f|0;c[h>>2]=d+b;c[j>>2]=g-b;if(e)u6(d|0,0,b|0)|0}else d=0;while(0);return d|0}function t5(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k;d=a+12|0;e=c[d>>2]|0;j=c[a>>2]|0;if((e|0)>=(j|0)){d=c[a+4>>2]|0;if((j|0)<(d|0)?(f=(c[a+8>>2]|0)+j|0,f=(f|0)>(d|0)?d:f,h=a+16|0,i=n6(c[h>>2]|0,f<<2)|0,(i|0)!=0):0){c[a>>2]=f;c[h>>2]=i;c[g>>2]=c[b>>2];t5(a,g)|0;d=0}else d=12}else{c[(c[a+16>>2]|0)+(e<<2)>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)+1;d=0}l=k;return d|0}function u5(a,b,d){a=a|0;b=b|0;d=d|0;a=s5(a,0,0,1,32)|0;if((d|0)!=0&(a|0)!=0){c[a+4>>2]=d;c[a>>2]=b;c[a+8>>2]=-1;c[a+12>>2]=-1}else a=0;return a|0}function v5(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=j5(d)|0;k5(d,e)|0;e=l5(d,0)|0;a:do if(!e){r=(f&1|0)==0;q=(f&2|0)!=0;o=0;p=1;e=i;while(1){if((j5(d)|0)>(s|0))n=e;else{f=o;e=0;break a}b:while(1){c:while(1){switch(m5(d)|0){case 1:{i=7;break c}case 0:{e=n5(d)|0;switch(c[e>>2]|0){case 0:{i=9;break b}case 3:{i=19;break b}case 1:{i=26;break b}case 2:{i=33;break c}default:{}}break}default:{}}if((j5(d)|0)<=(s|0)){f=o;e=0;break a}}if((i|0)==7)e=n5(d)|0;else if((i|0)==33){f=c[e+4>>2]|0;e=k5(d,c[f>>2]|0)|0;if(e|0){f=o;break a}e=l5(d,0)|0;if(e|0){f=o;break a}e=w5(b,c[f>>2]|0,c[f+4>>2]|0,c[f+8>>2]|0,a[f+12>>0]&1)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}e=c[e+4>>2]|0}if((j5(d)|0)>(s|0))n=e;else{f=o;e=0;break a}}if((i|0)==9){m=c[e+4>>2]|0;k=c[m+8>>2]|0;i=c[m>>2]|0;e=c[m+4>>2]|0;if(!((i|0)>-1|(i|0)==-4)){f=(i|0)==-3;if(r|f^1)if(f)if(q&(p|0)!=0){c[h+(e<<2)>>2]=1;i=-3;l=k;f=o;k=0}else{i=-3;l=k;f=o;k=p}else{l=k;f=o;k=p}else{e=-1;i=-1;l=-1;f=o;k=p}}else{l=(c[g>>2]|0)+k|0;f=o+1|0;k=p}e=c5(b,i,e,l)|0;c[n>>2]=e;if(!e)e=12;else{e=c[e+4>>2]|0;c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];e=0}if((l|0)>(c[j>>2]|0)){c[j>>2]=l;l=f;f=n}else{l=f;f=n}}else if((i|0)==19){i=c[e+4>>2]|0;f=i+4|0;e=x5(b,c[i>>2]|0,c[f>>2]|0)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}m=c[e+4>>2]|0;e=k5(d,c[f>>2]|0)|0;if(e|0){f=o;break a}e=l5(d,0)|0;if(e|0){f=o;break a}e=k5(d,m+4|0)|0;if(e|0){f=o;break a}e=l5(d,1)|0;if(e|0){f=o;break a}e=k5(d,c[i>>2]|0)|0;if(e|0){f=o;break a}l=o;k=p;f=m;e=l5(d,0)|0}else if((i|0)==26){l=c[e+4>>2]|0;i=l+4|0;e=d5(b,c[l>>2]|0,c[i>>2]|0)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}f=c[e+4>>2]|0;c[f>>2]=0;k=f+4|0;c[k>>2]=0;e=k5(d,c[i>>2]|0)|0;if(e|0){f=o;break a}e=l5(d,0)|0;if(e|0){f=o;break a}e=k5(d,k)|0;if(e|0){f=o;break a}e=l5(d,1)|0;if(e|0){f=o;break a}e=k5(d,c[l>>2]|0)|0;if(e|0){f=o;break a}l=o;k=p;e=l5(d,0)|0}if(!e){o=l;p=k;e=f}else{f=l;break}}}else f=0;while(0);c[g>>2]=(c[g>>2]|0)+f;return e|0}function w5(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=s5(b,0,0,1,16)|0;b=u5(b,2,h)|0;if(!b)b=0;else{c[h>>2]=d;c[h+4>>2]=e;c[h+8>>2]=f;h=h+12|0;a[h>>0]=a[h>>0]&-2|g&1;c[b+16>>2]=c[d+16>>2]}return b|0}function x5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b){e=s5(a,0,0,1,8)|0;a=u5(a,3,e)|0;if((d|0)!=0&(a|0)!=0){c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0);d=a}else d=0}return d|0}function y5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=s5(a,0,0,0,8)|0;if(((e|0)!=0?(d=c5(a,-3,d,-1)|0,c[e>>2]=d,(d|0)!=0):0)?(f=s5(a,0,0,0,32)|0,c[e+4>>2]=f,(f|0)!=0):0){a=b+4|0;c[f+4>>2]=c[a>>2];c[f>>2]=c[b>>2];c[f+8>>2]=-1;c[f+12>>2]=-1;f=f+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a>>2]=e;c[b>>2]=1;a=0}else a=12;return a|0}function z5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[a>>2]|0;if((f|0)>-1){g=c[b+16>>2]|0;e=0;b=f;do{f=b>>>1;c[((b&1|0)==0?g+(f*12|0)|0:g+(f*12|0)+4|0)>>2]=d;e=e+1|0;b=c[a+(e<<2)>>2]|0}while((b|0)>-1)}c[a>>2]=-1;return}function A5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=s5(a,0,0,0,8)|0;if(((e|0)!=0?(d=c5(a,-3,d,-1)|0,c[e+4>>2]=d,(d|0)!=0):0)?(f=s5(a,0,0,0,32)|0,c[e>>2]=f,(f|0)!=0):0){a=b+4|0;c[f+4>>2]=c[a>>2];c[f>>2]=c[b>>2];c[f+8>>2]=-1;c[f+12>>2]=-1;f=f+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a>>2]=e;c[b>>2]=1;a=0}else a=12;return a|0}function B5(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m;i=b+32|0;h=c[i>>2]|0;g=h&1;a:do switch(a[d>>0]|0){case 91:{e=F5(b,d+1|0)|0;break}case 92:{e=d+1|0;f=G5(e)|0;if(f|0){e=B5(b,f)|0;c[b+12>>2]=d+2;break a}f=a[e>>0]|0;switch(f|0){case 0:{e=5;break a}case 98:{f=c5(c[b>>2]|0,-2,64,-1)|0;break}case 66:{f=c5(c[b>>2]|0,-2,128,-1)|0;break}case 60:{f=c5(c[b>>2]|0,-2,16,-1)|0;break}case 62:{f=c5(c[b>>2]|0,-2,32,-1)|0;break}case 120:{h=d+2|0;i=(a[h>>0]|0)==123;g=i?8:2;h=i?d+3|0:h;e=0;f=0;do{d=H5(a[h+e>>0]|0)|0;if((d|0)<0)break;f=d+(f<<4)|0;e=e+1|0}while((f|0)<1114112&(e|0)<(g|0));e=h+e|0;if(i){if((a[e>>0]|0)!=125){e=9;break a}e=e+1|0}j=c[b>>2]|0;i=b+24|0;k=c[i>>2]|0;c[i>>2]=k+1;f=c5(j,f,f,k)|0;e=e+-1|0;break}case 63:case 43:case 123:if(!g){e=13;break a}else{k=37;break a}case 124:{if(g|0){k=37;break a}e=c5(c[b>>2]|0,-1,-1,-1)|0;k=45;break a}default:{if(!((g|0)==0&(f+-49|0)>>>0<9)){k=37;break a}j=f+-48|0;k=c[b>>2]|0;i=b+24|0;f=c[i>>2]|0;c[i>>2]=f+1;f=c5(k,-4,j,f)|0;k=b+28|0;i=c[k>>2]|0;c[k>>2]=(j|0)<(i|0)?i:j}}d=e+1|0;e=f;k=45;break}case 46:{g=b+24|0;e=c[g>>2]|0;c[g>>2]=e+1;f=c[b>>2]|0;if(h&4){f=c5(f,0,9,e)|0;k=c[b>>2]|0;e=c[g>>2]|0;c[g>>2]=e+1;e=c5(k,11,1114111,e)|0;if((f|0)!=0&(e|0)!=0)e=x5(c[b>>2]|0,f,e)|0;else e=0}else e=c5(f,0,1114111,e)|0;d=d+1|0;k=45;break}case 94:{if((g|0)==0?(c[b+16>>2]|0)!=(d|0):0){e=d;k=37;break a}d=d+1|0;e=c5(c[b>>2]|0,-2,1,-1)|0;k=45;break}case 36:{e=d+1|0;if((g|0)==0?a[e>>0]|0:0){e=d;k=37;break a}d=e;e=c5(c[b>>2]|0,-2,2,-1)|0;k=45;break}case 63:case 43:case 123:case 42:{if(!g){e=d;k=37}else e=13;break}case 124:{if(!g){e=d;k=37}else k=36;break}case 0:{k=36;break}default:{e=d;k=37}}while(0);if((k|0)==36){e=c5(c[b>>2]|0,-1,-1,-1)|0;k=45}else if((k|0)==37){h=c4(j,e,-1)|0;if((h|0)<0)e=2;else{do if(c[i>>2]&2){if((a3(c[j>>2]|0)|0)==0?(Y2(c[j>>2]|0)|0)==0:0){k=43;break}i=c[b>>2]|0;n=g3(c[j>>2]|0)|0;g=g3(c[j>>2]|0)|0;f=b+24|0;g=c5(i,n,g,c[f>>2]|0)|0;n=c[b>>2]|0;i=c3(c[j>>2]|0)|0;d=c3(c[j>>2]|0)|0;d=c5(n,i,d,c[f>>2]|0)|0;if((g|0)!=0&(d|0)!=0)g=x5(c[b>>2]|0,g,d)|0;else g=0}else k=43;while(0);if((k|0)==43){g=c[j>>2]|0;f=b+24|0;g=c5(c[b>>2]|0,g,g,c[f>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+1;d=e+h|0;e=g;k=45}}if((k|0)==45)if(!e)e=12;else{c[b+8>>2]=e;c[b+12>>2]=d;e=0}l=m;return e|0}function C5(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+4|0;g=j;b=E5(b,i)|0;if((a[b>>0]|0)==44){b=E5(b+1|0,g)|0;h=c[g>>2]|0;g=c[i>>2]|0}else{i=c[i>>2]|0;c[g>>2]=i;h=i;g=i}do if(!(g>>>0>255|((h|0)>255|(h|0)>-1&(h|0)<(g|0)))){if(!d)if((a[b>>0]|0)==92)b=b+1|0;else{b=0;break}if((a[b>>0]|0)==125){c[e>>2]=g;c[f>>2]=h;b=b+1|0}else b=0}else b=0;while(0);l=j;return b|0}function D5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[b+12>>2]|0)>-1){e=c5(c[a>>2]|0,-1,-1,-1)|0;if((e|0)!=0?(f=d5(c[a>>2]|0,e,b)|0,(f|0)!=0):0){e=c[b+16>>2]|0;c[f+16>>2]=e;g=6}else e=12}else{f=b;e=c[b+16>>2]|0;g=6}if((g|0)==6){c[f+12>>2]=d;c[f+16>>2]=e+1;c[a+8>>2]=f;e=0}return e|0}function E5(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;c[d>>2]=-1;if(((a[b>>0]|0)+-48|0)>>>0<10){c[d>>2]=0;e=b;g=0;f=a[b>>0]|0;while(1){g=(g*10|0)+-48+(f<<24>>24)|0;c[d>>2]=g;b=e+1|0;f=a[b>>0]|0;if((g|0)>255|((f<<24>>24)+-48|0)>>>0>9)break;else e=b}}return b|0}function F5(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+288|0;e=s+264|0;g=s;c[e>>2]=c[b>>2];h=e+8|0;c[h>>2]=0;c[e+12>>2]=32;p=k6(128)|0;r=e+4|0;c[r>>2]=p;if(!p)d=12;else{f=g+4|0;c[f>>2]=0;p=(a[d>>0]|0)==94;c[g>>2]=p&1;d=I5(b,p?d+1|0:d,e,g)|0;a:do if(!d){p=(c[g>>2]|0)==0;if(!p){k3(c[r>>2]|0,c[h>>2]|0,4,111);d=K5(e)|0;if(!d){d=12;e=0;break}c[d>>2]=1114112;c[d+4>>2]=1114112;c[d+8>>2]=-1;d=c[f>>2]|0;if(d){e=d<<2;f=s5(c[b>>2]|0,0,0,0,e+4|0)|0;if(!f){d=12;e=0;break}B6(f|0,g+8|0,e|0)|0;c[f+(d<<2)>>2]=0}else f=0}else f=0;m=c[h>>2]|0;if((m|0)>0){n=c[r>>2]|0;o=b+24|0;e=0;d=0;k=0;while(1){i=c[n+(k<<2)>>2]|0;g=c[i>>2]|0;h=i+4|0;do if(!p){j=(c[h>>2]|0)+1|0;if((g|0)>(d|0)){c[i>>2]=d;c[h>>2]=g+-1;d=j;q=14;break}else{d=(j|0)>=(d|0)?j:d;break}}else q=14;while(0);if((q|0)==14){q=0;c[i+8>>2]=c[o>>2];c[i+16>>2]=f;j=u5(c[b>>2]|0,0,i)|0;e=x5(c[b>>2]|0,e,j)|0;if(!e){d=12;e=0;break a}}k=k+1|0;if((k|0)>=(m|0)){d=0;break}}}else{d=0;e=0}}else e=0;while(0);l6(c[r>>2]|0);r=b+24|0;c[r>>2]=(c[r>>2]|0)+1;c[b+8>>2]=e}l=s;return d|0}function G5(b){b=b|0;var d=0;d=a[b>>0]|0;b=0;while(1){if((a[64024+(b<<3)>>0]|0)==d<<24>>24)break;b=b+1|0;if((b|0)==12){b=12;break}}return c[64024+(b<<3)+4>>2]|0}function H5(a){a=a|0;var b=0;b=a+-48|0;if(b>>>0<10)return b|0;else{b=a|32;return ((b+-97|0)>>>0<6?b+-87|0:-1)|0}return 0}function I5(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+32|0;o=t;q=t+4|0;i=c4(o,d,-1)|0;g=a[d>>0]|0;a:do if((i|0)>=1){r=f+4|0;n=b+32|0;h=d;j=i;b:while(1){i=(h|0)==(d|0);if(!(i|g<<24>>24!=93)){s=5;break}c:do if(!(i|g<<24>>24!=45)){switch(a[h+1>>0]|0){case 93:break c;case 45:break;default:{g=11;break a}}if((a[h+2>>0]|0)==93){g=11;break a}}while(0);d:do if(g<<24>>24==91){switch(a[h+1>>0]|0){case 61:case 46:{g=3;break a}case 58:break;default:{s=17;break d}}i=h+2|0;g=0;e:while(1){switch(a[i+g>>0]|0){case 0:{s=16;break b}case 58:break e;default:{}}g=g+1|0;if((g|0)>=14){s=16;break b}}B6(q|0,i|0,g|0)|0;a[q+g>>0]=0;j=h3(q)|0;if(!j){s=16;break b}h=i+(g+2)|0;if((a[i+(g+1)>>0]|0)!=93){s=16;break b}if(!(c[f>>2]|0)){g=1114111;m=0;k=1;s=25}else{g=c[r>>2]|0;if((g|0)>63){g=12;break a}c[r>>2]=g+1;c[f+8+(g<<2)>>2]=j}}else s=17;while(0);if((s|0)==17){s=0;i=c[o>>2]|0;h=h+j|0;if((a[h>>0]|0)==45?(p=h+1|0,(a[p>>0]|0)!=93):0){h=c4(o,p,-1)|0;g=c[o>>2]|0;if((h|0)<1|(i|0)>(g|0)){g=11;break a}j=0;m=i;h=p+h|0;k=0;s=25}else{j=0;g=i;m=i;k=0;s=25}}if((s|0)==25){s=0;i=K5(e)|0;if(!i){g=12;break a}c[i>>2]=m;c[i+4>>2]=g;c[i+12>>2]=j;c[i+8>>2]=-1;if(!(k|(c[n>>2]&2|0)==0)?(L5(e,m,g)|0)!=0:0){g=12;break a}}j=c4(o,h,-1)|0;g=a[h>>0]|0;if((j|0)<1){s=3;break a}}if((s|0)==5){c[b+12>>2]=h+1;g=0;break}else if((s|0)==16){g=4;break}}else s=3;while(0);if((s|0)==3)g=g<<24>>24?2:7;l=t;return g|0}function J5(a,b){a=a|0;b=b|0;return (c[c[a>>2]>>2]|0)-(c[c[b>>2]>>2]|0)|0}function K5(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;d=c[h>>2]|0;e=a+12|0;f=c[e>>2]|0;if((d|0)>=(f|0))if((f|0)<=32767?(c[e>>2]=f<<1,g=a+4|0,b=n6(c[g>>2]|0,f<<3)|0,(b|0)!=0):0){c[g>>2]=b;d=c[h>>2]|0;i=6}else b=0;else{b=c[a+4>>2]|0;i=6}if((i|0)==6){c[h>>2]=d+1;i=s5(c[a>>2]|0,0,0,1,20)|0;c[b+(d<<2)>>2]=i;b=i}return b|0}function L5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a:do if((b|0)>(d|0))b=0;else while(1){b:do if(!(Y2(b)|0)){if(!(a3(b)|0)){b=b+1|0;break}f=c3(b)|0;e=f;while(1){g=b+1|0;e=e+1|0;if((b|0)>=(d|0)){h=f;b=g;g=12;break b}if((c3(g)|0)==(e|0))b=g;else{h=f;b=g;g=12;break}}}else{f=g3(b)|0;e=f;while(1){g=b+1|0;e=e+1|0;if((b|0)>=(d|0)){h=f;b=g;g=12;break b}if((g3(g)|0)==(e|0))b=g;else{h=f;b=g;g=12;break}}}while(0);if((g|0)==12){g=0;f=K5(a)|0;if(!f){b=-1;break a}c[f>>2]=h;c[f+4>>2]=e+-1;c[f+8>>2]=-1}if((b|0)>(d|0)){b=0;break}}while(0);return b|0}function M5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;i=c[a+4>>2]|0;j=i+56|0;h=(c[j>>2]&8|0)==0?d:0;a=c[i+40>>2]|0;if((a|0)>0&(h|0)!=0){a=k6(a<<2)|0;if(!a)a=12;else{g=a;d=a;m=3}}else{g=0;d=0;m=3}if((m|0)==3){if(!(c[i+60>>2]|0))a=O5(i,b,g,f,k)|0;else a=N5(i,b,g,f,k)|0;if(!a)P5(h,e,c[j>>2]|0,i,g,c[k>>2]|0);if(g)l6(d)}l=n;return a|0}function N5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+16|0;U=W;c[U>>2]=0;o=e&1;S=e&2;T=a+56|0;n=c[T>>2]&4;V=Z4(0,0)|0;a:do if(V){p=s5(V,0,0,0,32)|0;if(!p){g5(V);e=12;break}c[p+24>>2]=0;c[p+28>>2]=0;R=a+40|0;q=c[R>>2]|0;if(q){e=k6(q<<2)|0;if(!e){m=0;k=0;j=e;e=12;i=0;h=0;g=0}else{j=e;i=e;C=6}}else{j=0;i=0;C=6}b:do if((C|0)==6){e=c[a+28>>2]|0;if(e){e=k6(e<<3)|0;if(!e){m=e;k=0;e=12;h=0;g=0;break}else{m=e;h=e}}else{m=0;h=0}Q=a+52|0;e=c[Q>>2]|0;if(e){e=k6(e<<2)|0;if(!e){k=e;e=12;g=0;break}else{k=e;g=e}}else{k=0;g=0}M=a+8|0;N=a+12|0;O=(d|0)!=0;P=a+32|0;J=(n|0)!=0;K=(d|0)==0;L=(o|0)==0;I=(o|0)==0;s=b;e=1;r=-1;v=-1;n=q;B=0;c:while(1){if((n|0)>0){o=0;do{c[j+(o<<2)>>2]=-1;if(!K){c[d+(o<<2)>>2]=-1;n=c[R>>2]|0}o=o+1|0}while((o|0)<(n|0))}n=c[Q>>2]|0;if((n|0)>0)u6(g|0,0,n<<2|0)|0;G=e+r|0;e=c4(U,s,4)|0;if((e|0)<1)if((e|0)<0){e=1;break b}else e=1;F=s+e|0;H=c[U>>2]|0;n=c[M>>2]|0;o=n+8|0;if(c[o>>2]|0){w=(G|0)!=0;x=(B|0)==95;y=(G|0)==0;A=J&(B|0)==10;z=(G|0)<1&I;u=n;n=0;t=0;s=o;while(1){r=u+20|0;o=c[r>>2]|0;d:do if(o)if((o&1|0)==0|z|A){if(o&2|0?(E=c[U>>2]|0,!((E|S|0)==0|J&(E|0)==10)):0){q=t;break}do if(o&16|0){if(x){q=t;break d}if(R2(B)|0){q=t;break d}o=c[U>>2]|0;if((o|0)==95)break;if(!(R2(o)|0)){q=t;break d}}while(0);o=c[r>>2]|0;if(o&32){if(x){o=c[U>>2]|0;if((o|0)==95){q=t;break}}else{E=(R2(B)|0)==0;o=c[U>>2]|0;if(E|(o|0)==95){q=t;break}}if(R2(o)|0){q=t;break}o=c[r>>2]|0}q=c[U>>2]|0;do if((q|0)!=0&(w&(o&64|0)!=0)){if(x){o=q;q=1}else{q=(R2(B)|0)!=0;o=c[U>>2]|0}if((o|0)==95)if(q){q=t;break d}else break;else if(q^(R2(o)|0)!=0)break;else{q=t;break d}}while(0);if(!(c[r>>2]&128)){C=49;break}o=c[U>>2]|0;if(y|(o|0)==0){q=t;break}if(x)q=1;else{q=(R2(B)|0)!=0;o=c[U>>2]|0}if((o|0)==95)if(q){C=49;break}else{q=t;break}else if(q^(R2(o)|0)!=0){q=t;break}else{C=49;break}}else q=t;else C=49;while(0);do if((C|0)==49){C=0;if(!t){n=c[u+16>>2]|0;q=c[s>>2]|0;break}q=p+28|0;o=c[q>>2]|0;if(!o){o=s5(V,0,0,0,32)|0;if(!o){C=53;break c}c[o+24>>2]=p;c[o+28>>2]=0;E=s5(V,0,0,0,c[R>>2]<<2)|0;c[o+20>>2]=E;if(!E){C=60;break c}c[q>>2]=o;p=o}else p=o;c[p>>2]=G;c[p+4>>2]=F;c[p+8>>2]=c[s>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[U>>2];if((c[R>>2]|0)>0){q=c[p+20>>2]|0;o=0;do{c[q+(o<<2)>>2]=c[j+(o<<2)>>2];o=o+1|0}while((o|0)<(c[R>>2]|0))}o=c[u+16>>2]|0;if(!o)q=t;else{q=c[o>>2]|0;if((q|0)<=-1){q=t;break}r=c[p+20>>2]|0;do{o=o+4|0;c[r+(q<<2)>>2]=G;q=c[o>>2]|0}while((q|0)>-1);q=t}}while(0);s=u+40|0;if(!(c[s>>2]|0))break;else{u=u+32|0;t=q}}if(n){o=c[n>>2]|0;if((o|0)>-1)do{c[j+(o<<2)>>2]=G;n=n+4|0;o=c[n>>2]|0}while((o|0)>-1)}else n=0;if(!q)C=170;else{s=G;r=F;w=q;x=n;C=79}}else{n=0;C=170}e:while(1){if((C|0)==79){if((w|0)==(c[N>>2]|0)){if((v|0)>=(s|0)){if(!(O&(v|0)==(s|0))){n=x;C=170;continue}if(!(R5(c[R>>2]|0,c[P>>2]|0,j,d)|0)){n=x;C=170;continue}}if(!O){v=s;n=x;C=170;continue}if((c[R>>2]|0)>0)n=0;else{v=s;n=x;C=170;continue}while(1){c[d+(n<<2)>>2]=c[j+(n<<2)>>2];n=n+1|0;if((n|0)>=(c[R>>2]|0)){v=s;n=x;C=170;continue e}}}u=w+8|0;if((c[u>>2]|0)!=0?(c[w+20>>2]&256|0)!=0:0){o=c[w+24>>2]|0;P5(o+1|0,m,c[T>>2]&-9,a,j,s);E=c[m+(o<<3)>>2]|0;o=(c[m+(o<<3)+4>>2]|0)-E|0;if(h2(b+E|0,r+-1|0,o)|0){n=x;C=170;continue}E=(o|0)==0;n=E&1;q=k+(c[w+12>>2]<<2)|0;if(E?c[q>>2]|0:0){n=x;C=170;continue}c[q>>2]=n;o=o+-1|0;r=r+o|0;o=o+s|0;q=c[U>>2]|0;n=c4(U,r,4)|0;if((n|0)<1)if((n|0)<0){e=1;break b}else n=1;D=r+n|0;E=n}else{q=c[U>>2]|0;if(!q){n=x;C=170;continue}n=c4(U,r,4)|0;if((n|0)<1)if((n|0)<0){e=1;break b}else n=1;o=s;D=r+n|0;E=n}s=o+e|0;if(!(c[u>>2]|0)){e=E;n=x;C=170;continue}y=(s|0)!=0;z=(q|0)==95;A=(s|0)==0;C=J&(q|0)==10;B=(s|0)<1&L;t=0;n=x;while(1){f:do if((c[w>>2]|0)>>>0<=q>>>0){if((c[w+4>>2]|0)>>>0>>0)break;r=w+20|0;e=c[r>>2]|0;do if(e|0){if(!((e&1|0)==0|B|C))break f;if(e&2|0?(x=c[U>>2]|0,!((x|S|0)==0|J&(x|0)==10)):0)break f;do if(e&16|0){if(z)break f;if(R2(q)|0)break f;e=c[U>>2]|0;if((e|0)==95)break;if(!(R2(e)|0))break f}while(0);e=c[r>>2]|0;if(e&32){if(z){e=c[U>>2]|0;if((e|0)==95)break f}else{x=(R2(q)|0)==0;e=c[U>>2]|0;if(x|(e|0)==95)break f}if(R2(e)|0)break f;e=c[r>>2]|0}o=c[U>>2]|0;do if((o|0)!=0&(y&(e&64|0)!=0)){if(z)e=1;else{e=(R2(q)|0)!=0;o=c[U>>2]|0}if((o|0)==95)if(e)break f;else break;else if(e^(R2(o)|0)!=0)break;else break f}while(0);do if(c[r>>2]&128|0){e=c[U>>2]|0;if(A|(e|0)==0)break f;if(z)o=1;else{o=(R2(q)|0)!=0;e=c[U>>2]|0}if((e|0)==95)if(o)break;else break f;else if(o^(R2(e)|0)!=0)break f;else break}while(0);e=c[r>>2]|0;do if(e&4){if(c[T>>2]&2|0)break;if(!(W2(q,c[w+24>>2]|0)|0))break f;e=c[r>>2]|0}while(0);do if(e&4|0){if(!(c[T>>2]&2))break;x=c3(q)|0;e=w+24|0;if(W2(x,c[e>>2]|0)|0)break;x=g3(q)|0;if(!(W2(x,c[e>>2]|0)|0))break f}while(0);if(!(c[r>>2]&8))break;if(Q5(c[w+28>>2]|0,q,c[T>>2]&2)|0)break f}while(0);if(!t){t=c[u>>2]|0;n=c[w+16>>2]|0;break}o=p+28|0;e=c[o>>2]|0;if(!e){e=s5(V,0,0,0,32)|0;if(!e){C=144;break c}c[e+24>>2]=p;c[e+28>>2]=0;x=s5(V,0,0,0,c[R>>2]<<2)|0;c[e+20>>2]=x;if(!x){C=151;break c}c[o>>2]=e;p=e}else p=e;c[p>>2]=s;c[p+4>>2]=D;c[p+8>>2]=c[u>>2];c[p+12>>2]=c[w+12>>2];c[p+16>>2]=c[U>>2];if((c[R>>2]|0)>0){o=c[p+20>>2]|0;e=0;do{c[o+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)<(c[R>>2]|0))}e=c[w+16>>2]|0;if(!e)break;o=c[e>>2]|0;if((o|0)<=-1)break;r=c[p+20>>2]|0;do{c[r+(o<<2)>>2]=s;e=e+4|0;o=c[e>>2]|0}while((o|0)>-1)}while(0);u=w+40|0;if(!(c[u>>2]|0))break;else w=w+32|0}if(!t){e=E;C=170;continue}if(n){e=c[n>>2]|0;if((e|0)>-1){do{n=n+4|0;c[j+(e<<2)>>2]=s;e=c[n>>2]|0}while((e|0)>-1);q=v;o=D;e=E}else{q=v;o=D;e=E}}else{q=v;o=D;e=E;n=0}}else if((C|0)==170){C=0;r=c[p+24>>2]|0;if(!r)break;t=c[p+8>>2]|0;if(c[t+20>>2]&256|0)c[k+(c[p+12>>2]<<2)>>2]=0;s=c[p>>2]|0;u=c[p+4>>2]|0;c[U>>2]=c[p+16>>2];q=c[R>>2]|0;if((q|0)>0){p=c[p+20>>2]|0;o=0;do{c[j+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)<(q|0));p=r;q=v;o=u}else{p=r;q=v;o=u}}r=o;v=q;w=t;x=n;C=79}n=(v|0)>-1;if(n|(c[U>>2]|0)==0){C=179;break}c[U>>2]=H;s=F;r=G;n=c[R>>2]|0;B=H}if((C|0)==53){g5(V);if(j|0)l6(i);if(m|0)l6(h);if(!k){e=12;break a}l6(g);e=12;break a}else if((C|0)==60){g5(V);if(j|0)l6(i);if(m|0)l6(h);if(!k){e=12;break a}l6(g);e=12;break a}else if((C|0)==144){g5(V);if(j|0)l6(i);if(m|0)l6(h);if(!k){e=12;break a}l6(g);e=12;break a}else if((C|0)==151){g5(V);if(j|0)l6(i);if(m|0)l6(h);if(!k){e=12;break a}l6(g);e=12;break a}else if((C|0)==179){c[f>>2]=v;e=(n^1)&1;break}}while(0);g5(V);if(j|0)l6(i);if(m|0)l6(h);if(k)l6(g)}else e=12;while(0);l=W;return e|0}function O5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0;X=l;l=l+16|0;U=X;c[U>>2]=0;k=e&1;Q=e&2;R=a+56|0;j=c[R>>2]&4;if(!d)O=0;else O=c[a+40>>2]|0;P=O<<2;i=c[a+52>>2]|0;h=i<<3;g=h+8|0;e=P+12+h+(g+(S(P,i)|0)<<1)|0;V=k6(e)|0;if(!V)e=12;else{u6(V|0,0,e|0)|0;e=V+P|0;m=e&3;m=e+((m|0)==0?0:4-m|0)|0;e=m+g|0;n=e&3;n=e+((n|0)==0?0:4-n|0)|0;e=n+g|0;N=e&3;N=e+((N|0)==0?0:4-N|0)|0;e=N+h|0;g=e&3;h=(i|0)>0;if(h){e=e+((g|0)==0?0:4-g|0)|0;g=0;while(1){c[n+(g<<3)+4>>2]=e;e=e+P|0;c[m+(g<<3)+4>>2]=e;g=g+1|0;if((g|0)>=(i|0))break;else e=e+P|0}if(h){e=0;do{c[N+(e<<3)>>2]=-1;e=e+1|0}while((e|0)<(i|0))}}e=c4(U,b,4)|0;if((e|0)<1)if((e|0)<0)e=1;else{i=1;W=11}else{i=e;W=11}a:do if((W|0)==11){M=a+8|0;H=(j|0)!=0;I=(O|0)>0;J=a+12|0;K=a+44|0;L=a+32|0;E=a+36|0;F=(O|0)==0;G=(k|0)==0;D=(O|0)<1;C=(k|0)==0;h=0;v=b+i|0;u=0;j=0;e=-1;g=m;A=V;x=m;w=n;while(1){if((e|0)<0){k=c[M>>2]|0;a=k+8|0;b:do if(c[a>>2]|0){p=(u|0)!=0;q=(h|0)==95;r=(u|0)==0;t=H&(h|0)==10;s=(u|0)<1&G;while(1){c:while(1){o=k+12|0;if((c[N+(c[o>>2]<<3)>>2]|0)>=(u|0))break;n=k+20|0;b=c[n>>2]|0;if(!b){W=46;break}d:do if((b&1|0)==0|s|t){if(b&2|0?(B=c[U>>2]|0,!((B|Q|0)==0|H&(B|0)==10)):0)break;do if(b&16|0){if(q)break d;if(R2(h)|0)break d;b=c[U>>2]|0;if((b|0)==95)break;if(!(R2(b)|0))break d}while(0);b=c[n>>2]|0;if(b&32){if(q){b=c[U>>2]|0;if((b|0)==95)break}else{B=(R2(h)|0)==0;b=c[U>>2]|0;if(B|(b|0)==95)break}if(R2(b)|0)break;b=c[n>>2]|0}m=c[U>>2]|0;do if((m|0)!=0&(p&(b&64|0)!=0)){if(q)b=1;else{b=(R2(h)|0)!=0;m=c[U>>2]|0}if((m|0)==95)if(b)break d;else break;else if(b^(R2(m)|0)!=0)break;else break d}while(0);if(!(c[n>>2]&128)){W=46;break c}b=c[U>>2]|0;if(r|(b|0)==0)break;if(q)m=1;else{m=(R2(h)|0)!=0;b=c[U>>2]|0}if((b|0)==95)if(m){W=46;break c}else break;else if(m^(R2(b)|0)!=0)break;else{W=46;break c}}while(0);a=k+40|0;if(!(c[a>>2]|0))break b;else k=k+32|0}if((W|0)==46){W=0;c[g>>2]=c[a>>2];if(I)u6(c[g+4>>2]|0,-1,P|0)|0;a=c[k+16>>2]|0;if(a|0?(T=c[a>>2]|0,(T|0)>-1):0){m=g+4|0;b=T;do{if((b|0)<(O|0))c[(c[m>>2]|0)+(b<<2)>>2]=u;a=a+4|0;b=c[a>>2]|0}while((b|0)>-1)}a=(c[g>>2]|0)!=(c[J>>2]|0);if(a|D){j=a?j:1;e=a?e:u;a=g+4|0}else{a=g+4|0;j=c[a>>2]|0;e=0;do{c[d+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)!=(O|0));j=1;e=u}B=c[o>>2]|0;c[N+(B<<3)>>2]=u;c[N+(B<<3)+4>>2]=a;g=g+8|0}a=k+40|0;if(!(c[a>>2]|0))break;else k=k+32|0}}while(0);c[g>>2]=0;g=c[U>>2]|0;if(!g)break;else h=g}else{if(F)break;h=c[U>>2]|0;if(!((g|0)!=(x|0)&(h|0)!=0))break}B=u+i|0;g=c4(U,v,4)|0;if((g|0)<1)if((g|0)<0){e=1;break a}else i=1;else i=g;z=v+i|0;if((j|0)!=0&(c[K>>2]|0)!=0){if(!(c[x>>2]|0))g=w;else{o=c[E>>2]|0;p=c[o>>2]|0;q=(p|0)>-1;n=x;g=w;do{m=n+4|0;e:do if(q){a=0;b=p;do{k=c[o+((a|1)<<2)>>2]|0;if((b|0)>=(O|0))break e;j=c[m>>2]|0;if((c[j+(k<<2)>>2]|0)==(c[d+(k<<2)>>2]|0)?(c[j+(b<<2)>>2]|0)<(c[d+(b<<2)>>2]|0):0)break e;a=a+2|0;b=c[o+(a<<2)>>2]|0}while((b|0)>-1);a=m;W=75}else{a=m;j=c[m>>2]|0;W=75}while(0);if((W|0)==75){W=0;c[g>>2]=c[n>>2];v=g+4|0;y=c[v>>2]|0;c[v>>2]=j;c[a>>2]=y;g=g+8|0}n=n+8|0}while((c[n>>2]|0)!=0)}c[g>>2]=0;y=x;j=0}else{y=w;w=x}a=c[w>>2]|0;if(!a){a=A;g=y}else{r=(B|0)!=0;s=(h|0)==95;t=(B|0)==0;v=H&(h|0)==10;u=(B|0)<1&C;q=w;k=A;g=y;while(1){b=a+8|0;if(c[b>>2]|0){p=q+4|0;o=k;n=b;while(1){f:do if((c[a>>2]|0)>>>0<=h>>>0?(c[a+4>>2]|0)>>>0>=h>>>0:0){m=a+20|0;k=c[m>>2]|0;do if(k|0){if(!((k&1|0)==0|u|v)){k=o;break f}if(k&2|0?(A=c[U>>2]|0,!((A|Q|0)==0|H&(A|0)==10)):0){k=o;break f}do if(k&16|0){if(s){k=o;break f}if(R2(h)|0){k=o;break f}k=c[U>>2]|0;if((k|0)==95)break;if(!(R2(k)|0)){k=o;break f}}while(0);k=c[m>>2]|0;if(k&32){if(s){k=c[U>>2]|0;if((k|0)==95){k=o;break f}}else{A=(R2(h)|0)==0;k=c[U>>2]|0;if(A|(k|0)==95){k=o;break f}}if(R2(k)|0){k=o;break f}k=c[m>>2]|0}b=c[U>>2]|0;do if((b|0)!=0&(r&(k&64|0)!=0)){if(s)k=1;else{k=(R2(h)|0)!=0;b=c[U>>2]|0}if((b|0)==95)if(k){k=o;break f}else break;else if(k^(R2(b)|0)!=0)break;else{k=o;break f}}while(0);do if(c[m>>2]&128|0){k=c[U>>2]|0;if(t|(k|0)==0){k=o;break f}if(s)b=1;else{b=(R2(h)|0)!=0;k=c[U>>2]|0}if((k|0)==95)if(b)break;else{k=o;break f}else if(b^(R2(k)|0)!=0){k=o;break f}else break}while(0);k=c[m>>2]|0;do if(k&4){if(c[R>>2]&2|0)break;if(!(W2(h,c[a+24>>2]|0)|0)){k=o;break f}k=c[m>>2]|0}while(0);do if(k&4|0){if(!(c[R>>2]&2))break;A=c3(h)|0;k=a+24|0;if(W2(A,c[k>>2]|0)|0)break;A=g3(h)|0;if(!(W2(A,c[k>>2]|0)|0)){k=o;break f}}while(0);if(!(c[m>>2]&8))break;if(Q5(c[a+28>>2]|0,h,c[R>>2]&2)|0){k=o;break f}}while(0);if(I){b=c[p>>2]|0;k=0;do{c[o+(k<<2)>>2]=c[b+(k<<2)>>2];k=k+1|0}while((k|0)!=(O|0))}k=c[a+16>>2]|0;do if(k|0){b=c[k>>2]|0;if((b|0)<=-1)break;do{if((b|0)<(O|0))c[o+(b<<2)>>2]=B;k=k+4|0;b=c[k>>2]|0}while((b|0)>-1)}while(0);k=c[a+12>>2]|0;b=N+(k<<3)|0;if((c[b>>2]|0)>=(B|0)){k=c[N+(k<<3)+4>>2]|0;b=c[k>>2]|0;if(!(R5(O,c[L>>2]|0,o,b)|0)){k=o;break}c[k>>2]=o;if((c[n>>2]|0)!=(c[J>>2]|0)){k=b;break}if(I)e=0;else{j=1;k=b;e=B;break}while(1){c[d+(e<<2)>>2]=c[o+(e<<2)>>2];e=e+1|0;if((e|0)==(O|0)){j=1;k=b;e=B;break f}}}A=c[n>>2]|0;c[g>>2]=A;x=g+4|0;m=c[x>>2]|0;c[x>>2]=o;c[b>>2]=B;c[N+(k<<3)+4>>2]=x;do if((A|0)==(c[J>>2]|0)){if((e|0)==-1)if(I)e=0;else{e=B;j=1;break}else{if(!I)break;if((c[o>>2]|0)>(c[d>>2]|0))break;else e=0}do{c[d+(e<<2)>>2]=c[o+(e<<2)>>2];e=e+1|0}while((e|0)<(O|0));e=B;j=1}while(0);k=m;g=g+8|0}else k=o;while(0);n=a+40|0;if(!(c[n>>2]|0))break;else{a=a+32|0;o=k}}}q=q+8|0;a=c[q>>2]|0;if(!a){a=k;break}}}c[g>>2]=0;v=z;u=B;A=a;x=y}c[f>>2]=e;e=e>>>31}while(0);l6(V)}l=X;return e|0}function P5(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((d&8|0)==0&(g|0)>-1?(m=c[e+16>>2]|0,n=c[e+28>>2]|0,l=(a|0)!=0&(n|0)!=0,l):0){k=c[e+48>>2]|0;j=0;do{d=c[m+(j*12|0)>>2]|0;if((d|0)==(k|0))i=g;else i=c[f+(d<<2)>>2]|0;h=b+(j<<3)|0;c[h>>2]=i;d=c[m+(j*12|0)+4>>2]|0;if((d|0)==(k|0))d=g;else d=c[f+(d<<2)>>2]|0;e=b+(j<<3)+4|0;c[e>>2]=d;if((d|0)==-1|(i|0)==-1){c[e>>2]=-1;c[h>>2]=-1}j=j+1|0}while(j>>>0>>0&j>>>0>>0);if(l){d=0;do{i=b+(d<<3)+4|0;j=c[m+(d*12|0)+8>>2]|0;if(j|0?(o=c[j>>2]|0,(o|0)>-1):0){k=b+(d<<3)|0;h=0;f=o;e=c[k>>2]|0;do{if(!((e|0)>=(c[b+(f<<3)>>2]|0)?(c[i>>2]|0)<=(c[b+(f<<3)+4>>2]|0):0)){c[i>>2]=-1;c[k>>2]=-1;e=-1}h=h+1|0;f=c[j+(h<<2)>>2]|0}while((f|0)>-1)}d=d+1|0}while(d>>>0>>0&d>>>0>>0)}else d=0}else d=0;if(d>>>0>>0)u6(b+(d<<3)|0,-1,a-d<<3|0)|0;return}function Q5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[a>>2]|0;a:do if(!e)d=0;else{f=(d|0)==0;d=e;while(1){if(f){if(W2(b,d)|0){d=1;break a}}else{e=g3(b)|0;if(W2(e,c[a>>2]|0)|0){d=1;break a}e=c3(b)|0;if(W2(e,c[a>>2]|0)|0){d=1;break a}}a=a+4|0;d=c[a>>2]|0;if(!d){d=0;break}}}while(0);return d|0}function R5(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if((a|0)>0){f=0;while(1){h=c[d+(f<<2)>>2]|0;g=c[e+(f<<2)>>2]|0;if(!(c[b+(f<<2)>>2]|0)){if((h|0)<(g|0)){f=1;break a}if((h|0)>(g|0)){f=0;break a}}else{if((h|0)>(g|0)){f=1;break a}if((h|0)<(g|0)){f=0;break a}}f=f+1|0;if((f|0)>=(a|0)){f=0;break}}}else f=0;while(0);return f|0}function S5(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(n2(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=Y1(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=Y1(a)|0;break}}while(0);return b|0}function T5(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(n2(a)|0)==0;a=U5(a)|0}else a=U5(a)|0;return a|0}function U5(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=eb[c[a+40>>2]&63](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function V5(a){a=a|0;(c[a+76>>2]|0)>-1?n2(a)|0:0;return c[a+60>>2]|0}function W5(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b&255;e=b&255;if((c[d+76>>2]|0)>=0?(n2(d)|0)!=0:0){if((e|0)!=(a[d+75>>0]|0)?(h=d+20|0,i=c[h>>2]|0,i>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=i+1;a[i>>0]=j}else e=b4(d,b)|0;o2(d)}else k=3;do if((k|0)==3){if((e|0)!=(a[d+75>>0]|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=j;break}e=b4(d,b)|0}while(0);return e|0}function X5(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=S(e,d)|0;e=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)j=n2(f)|0;else j=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;m=(c[f+8>>2]|0)-h|0;i=m>>>0>>0?m:k;if((m|0)>0){B6(b|0,h|0,i|0)|0;c[g>>2]=h+i;g=k-i|0;b=b+i|0}else g=k;a:do if(!g)l=13;else{i=f+32|0;while(1){if(Z1(f)|0)break;h=eb[c[i>>2]&63](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else b=b+h|0}if(j|0)o2(f);e=((k-g|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(j)o2(f);return e|0}function Y5(a){a=a|0;return T5(a)|0}function Z5(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[15840]|0;if((c[f+76>>2]|0)>-1)g=n2(f)|0;else g=0;do if((Z3(b,f)|0)<0)b=1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;b=0;break}b=(b4(f,10)|0)<0}while(0);if(g|0)o2(f);return b<<31>>31|0}function _5(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;Xa(0,e|0)|0;d=0;e=(c[e+4>>2]|0)*65537^(e>>>4)+b;while(1){a[b+d>>0]=(e&15)+65|e<<1&32;d=d+1|0;if((d|0)==6)break;else e=e>>>5}l=f;return b|0}function $5(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;i=k+24|0;h=k+16|0;g=k;d=k+28|0;b=d;e=153835;f=b+20|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));e=d+13|0;b=0;while(1){_5(e)|0;c[g>>2]=d;c[g+4>>2]=32962;c[g+8>>2]=384;f=K1(Wa(5,g|0)|0)|0;b=b+1|0;if((f|0)>-1){j=4;break}if((b|0)>=100){b=0;break}}if((j|0)==4){c[h>>2]=d;Ta(10,h|0)|0;b=h4(f,153855)|0;if(!b){c[i>>2]=f;xa(6,i|0)|0;b=0}}l=k;return b|0}function a6(a){a=a|0;return +(+b6(a,0))}function b6(a,b){a=a|0;b=b|0;return +(+c6(a,b,1))}function c6(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=l;l=l+128|0;h=i;f=h;g=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;U1(h,0);e=+s3(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;l=i;return +e}function d6(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;while(1){e=a[b>>0]|0;c=e<<24>>24;f=b+1|0;if(!(X1(c)|0))break;else b=f}switch(c|0){case 45:{b=1;g=5;break}case 43:{b=0;g=5;break}default:{h=0;d=b;b=e}}if((g|0)==5){h=b;d=f;b=a[f>>0]|0}c=(b<<24>>24)+-48|0;if(c>>>0<10){b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (h|0?b:0-b|0)|0}function e6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!c)b=0;else{h=b;while(1){g=c>>>1;b=h+(S(g,d)|0)|0;f=vb[e&127](a,b)|0;if(!f)break a;if((c|0)==1){b=0;break a}f=(f|0)<0;c=f?g:c-g|0;if(!c){b=0;break}else h=f?h:b}}while(0);return b|0}function f6(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{i=f+(((e&255)>>>5&255)<<2)|0;c[i>>2]=c[i>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;if(!(e<<24>>24))d=b;else{d=b;do{if(c[f+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)|0)break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)d=G3(b,e<<24>>24)|0;l=h;return d-b|0}function g6(a,b){a=a|0;b=b|0;O3(a+(D3(a)|0)|0,b)|0;return a|0}function h6(b,c){b=b|0;c=c|0;c=b+(f6(b,c)|0)|0;return (a[c>>0]|0?c:0)|0}function i6(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[47615]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(P4(b,d)|0)|0;if(!(a[b>>0]|0)){c[47615]=0;b=0;break}d=b+(f6(b,d)|0)|0;c[47615]=d;if(!(a[d>>0]|0)){c[47615]=0;break}else{c[47615]=d+1;a[d>>0]=0;break}}while(0);return b|0}function j6(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!b){b=c[e>>2]|0;if(!b)b=0;else f=3}else f=3;do if((f|0)==3){b=b+(P4(b,d)|0)|0;if(!(a[b>>0]|0)){c[e>>2]=0;b=0;break}d=b+(f6(b,d)|0)|0;c[e>>2]=d;if(!(a[d>>0]|0)){c[e>>2]=0;break}else{c[e>>2]=d+1;a[d>>0]=0;break}}while(0);return b|0}function k6(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+16|0;o=K;do if(a>>>0<245){p=a>>>0<11?16:a+11&-8;a=p>>>3;t=c[47616]|0;d=t>>>a;if(d&3|0){a=(d&1^1)+a|0;d=190504+(a<<1<<2)|0;e=d+8|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[47620]|0)>>>0)Va();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Va()}else c[47616]=t&~(1<>2]=J|3;J=f+J+4|0;c[J>>2]=c[J>>2]|1;J=g;l=K;return J|0}s=c[47618]|0;if(p>>>0>s>>>0){if(d|0){i=2<>>12&16;a=a>>>i;e=a>>>5&8;a=a>>>e;g=a>>>2&4;a=a>>>g;d=a>>>1&2;a=a>>>d;b=a>>>1&1;b=(e|i|g|d|b)+(a>>>b)|0;a=190504+(b<<1<<2)|0;d=a+8|0;g=c[d>>2]|0;i=g+8|0;e=c[i>>2]|0;do if((a|0)!=(e|0)){if(e>>>0<(c[47620]|0)>>>0)Va();f=e+12|0;if((c[f>>2]|0)==(g|0)){c[f>>2]=a;c[d>>2]=e;j=t;break}else Va()}else{j=t&~(1<>2]=p|3;e=g+p|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(s|0){f=c[47621]|0;b=s>>>3;d=190504+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(c[47620]|0)>>>0)Va();else{k=a;m=b}}else{c[47616]=j|b;k=d;m=d+8|0}c[m>>2]=f;c[k+12>>2]=f;c[f+8>>2]=k;c[f+12>>2]=d}c[47618]=h;c[47621]=e;J=i;l=K;return J|0}k=c[47617]|0;if(k){a=(k&0-k)+-1|0;I=a>>>12&16;a=a>>>I;H=a>>>5&8;a=a>>>H;J=a>>>2&4;a=a>>>J;d=a>>>1&2;a=a>>>d;b=a>>>1&1;b=c[190768+((H|I|J|d|b)+(a>>>b)<<2)>>2]|0;a=(c[b+4>>2]&-8)-p|0;d=c[b+16+(((c[b+16>>2]|0)==0&1)<<2)>>2]|0;if(!d){j=b;h=a}else{do{I=(c[d+4>>2]&-8)-p|0;J=I>>>0>>0;a=J?I:a;b=J?d:b;d=c[d+16+(((c[d+16>>2]|0)==0&1)<<2)>>2]|0}while((d|0)!=0);j=b;h=a}f=c[47620]|0;if(j>>>0>>0)Va();i=j+p|0;if(j>>>0>=i>>>0)Va();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Va();else{c[a>>2]=0;n=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Va();b=e+12|0;if((c[b>>2]|0)!=(j|0))Va();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;n=d;break}else Va()}while(0);a:do if(g|0){b=c[j+28>>2]|0;a=190768+(b<<2)|0;do if((j|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[47617]=k&~(1<>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=n;if(!n)break a;else break}else Va();while(0);a=c[47620]|0;if(n>>>0>>0)Va();c[n+24>>2]=g;b=c[j+16>>2]|0;do if(b|0)if(b>>>0>>0)Va();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[j+20>>2]|0;if(b|0)if(b>>>0<(c[47620]|0)>>>0)Va();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(h>>>0<16){J=h+p|0;c[j+4>>2]=J|3;J=j+J+4|0;c[J>>2]=c[J>>2]|1}else{c[j+4>>2]=p|3;c[i+4>>2]=h|1;c[i+h>>2]=h;if(s|0){e=c[47621]|0;b=s>>>3;d=190504+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(c[47620]|0)>>>0)Va();else{q=a;r=b}}else{c[47616]=t|b;q=d;r=d+8|0}c[r>>2]=e;c[q+12>>2]=e;c[e+8>>2]=q;c[e+12>>2]=d}c[47618]=h;c[47621]=i}J=j+8|0;l=K;return J|0}}}else if(a>>>0<=4294967231){a=a+11|0;p=a&-8;k=c[47617]|0;if(k){e=0-p|0;a=a>>>8;if(a)if(p>>>0>16777215)i=31;else{r=(a+1048320|0)>>>16&8;C=a<>>16&4;C=C<>>16&2;i=14-(q|r|i)+(C<>>15)|0;i=p>>>(i+7|0)&1|i<<1}else i=0;d=c[190768+(i<<2)>>2]|0;b:do if(!d){d=0;a=0;C=81}else{a=0;h=p<<((i|0)==31?0:25-(i>>>1)|0);g=0;while(1){f=(c[d+4>>2]&-8)-p|0;if(f>>>0>>0)if(!f){a=d;e=0;f=d;C=85;break b}else{a=d;e=f}f=c[d+20>>2]|0;d=c[d+16+(h>>>31<<2)>>2]|0;g=(f|0)==0|(f|0)==(d|0)?g:f;f=(d|0)==0;if(f){d=g;C=81;break}else h=h<<((f^1)&1)}}while(0);if((C|0)==81){if((d|0)==0&(a|0)==0){a=2<>>12&16;r=r>>>m;j=r>>>5&8;r=r>>>j;n=r>>>2&4;r=r>>>n;q=r>>>1&2;r=r>>>q;d=r>>>1&1;a=0;d=c[190768+((j|m|n|q|d)+(r>>>d)<<2)>>2]|0}if(!d){j=a;i=e}else{f=d;C=85}}if((C|0)==85)while(1){C=0;d=(c[f+4>>2]&-8)-p|0;r=d>>>0>>0;d=r?d:e;a=r?f:a;f=c[f+16+(((c[f+16>>2]|0)==0&1)<<2)>>2]|0;if(!f){j=a;i=d;break}else{e=d;C=85}}if((j|0)!=0?i>>>0<((c[47618]|0)-p|0)>>>0:0){f=c[47620]|0;if(j>>>0>>0)Va();h=j+p|0;if(j>>>0>=h>>>0)Va();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){s=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Va();else{c[a>>2]=0;s=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Va();b=e+12|0;if((c[b>>2]|0)!=(j|0))Va();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;s=d;break}else Va()}while(0);c:do if(g){b=c[j+28>>2]|0;a=190768+(b<<2)|0;do if((j|0)==(c[a>>2]|0)){c[a>>2]=s;if(!s){t=k&~(1<>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=s;if(!s){t=k;break c}else break}else Va();while(0);a=c[47620]|0;if(s>>>0>>0)Va();c[s+24>>2]=g;b=c[j+16>>2]|0;do if(b|0)if(b>>>0>>0)Va();else{c[s+16>>2]=b;c[b+24>>2]=s;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[47620]|0)>>>0)Va();else{c[s+20>>2]=b;c[b+24>>2]=s;t=k;break}else t=k}else t=k;while(0);do if(i>>>0>=16){c[j+4>>2]=p|3;c[h+4>>2]=i|1;c[h+i>>2]=i;b=i>>>3;if(i>>>0<256){d=190504+(b<<1<<2)|0;a=c[47616]|0;b=1<>2]|0;if(a>>>0<(c[47620]|0)>>>0)Va();else{x=a;y=b}}else{c[47616]=a|b;x=d;y=d+8|0}c[y>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;b=14-(H|I|b)+(J<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;d=190768+(b<<2)|0;c[h+28>>2]=b;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);e=c[d>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(i|0)){C=139;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){C=136;break}else{a=a<<1;e=b}}if((C|0)==136)if(d>>>0<(c[47620]|0)>>>0)Va();else{c[d>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((C|0)==139){b=e+8|0;a=c[b>>2]|0;J=c[47620]|0;if(a>>>0>=J>>>0&e>>>0>=J>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=e;c[h+24>>2]=0;break}else Va()}}else{J=i+p|0;c[j+4>>2]=J|3;J=j+J+4|0;c[J>>2]=c[J>>2]|1}while(0);J=j+8|0;l=K;return J|0}}}else p=-1;while(0);d=c[47618]|0;if(d>>>0>=p>>>0){b=d-p|0;a=c[47621]|0;if(b>>>0>15){J=a+p|0;c[47621]=J;c[47618]=b;c[J+4>>2]=b|1;c[J+b>>2]=b;c[a+4>>2]=p|3}else{c[47618]=0;c[47621]=0;c[a+4>>2]=d|3;J=a+d+4|0;c[J>>2]=c[J>>2]|1}J=a+8|0;l=K;return J|0}h=c[47619]|0;if(h>>>0>p>>>0){H=h-p|0;c[47619]=H;J=c[47622]|0;I=J+p|0;c[47622]=I;c[I+4>>2]=H|1;c[J+4>>2]=p|3;J=J+8|0;l=K;return J|0}if(!(c[47734]|0)){c[47736]=4096;c[47735]=4096;c[47737]=-1;c[47738]=-1;c[47739]=0;c[47727]=0;a=o&-16^1431655768;c[o>>2]=a;c[47734]=a;a=4096}else a=c[47736]|0;i=p+48|0;j=p+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=p>>>0){J=0;l=K;return J|0}a=c[47726]|0;if(a|0?(x=c[47724]|0,y=x+k|0,y>>>0<=x>>>0|y>>>0>a>>>0):0){J=0;l=K;return J|0}d:do if(!(c[47727]&4)){d=c[47622]|0;e:do if(d){e=190912;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(w=e+4|0,(a+(c[w>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){C=163;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=H6(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[w>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;C=180;break d}}else{e=a;C=171}}else b=0}else C=163;while(0);do if((C|0)==163){d=H6(0)|0;if((d|0)!=(-1|0)?(b=d,u=c[47735]|0,v=u+-1|0,b=((v&b|0)==0?0:(v+b&0-u)-b|0)+k|0,u=c[47724]|0,v=b+u|0,b>>>0>p>>>0&b>>>0<2147483647):0){y=c[47726]|0;if(y|0?v>>>0<=u>>>0|v>>>0>y>>>0:0){b=0;break}a=H6(b|0)|0;if((a|0)==(d|0)){h=b;g=d;C=180;break d}else{e=a;C=171}}else b=0}while(0);do if((C|0)==171){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;C=180;break d}a=c[47736]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;C=180;break d}if((H6(a|0)|0)==(-1|0)){H6(d|0)|0;b=0;break}else{h=a+b|0;g=e;C=180;break d}}while(0);c[47727]=c[47727]|4;C=178}else{b=0;C=178}while(0);if(((C|0)==178?k>>>0<2147483647:0)?(B=H6(k|0)|0,y=H6(0)|0,z=y-B|0,A=z>>>0>(p+40|0)>>>0,!((B|0)==(-1|0)|A^1|B>>>0>>0&((B|0)!=(-1|0)&(y|0)!=(-1|0))^1)):0){h=A?z:b;g=B;C=180}if((C|0)==180){b=(c[47724]|0)+h|0;c[47724]=b;if(b>>>0>(c[47725]|0)>>>0)c[47725]=b;k=c[47622]|0;do if(k){b=190912;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){C=190;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((C|0)==190?(c[b+12>>2]&8|0)==0:0)?k>>>0>>0&k>>>0>=a>>>0:0){c[d>>2]=e+h;J=k+8|0;J=(J&7|0)==0?0:0-J&7;I=k+J|0;J=(c[47619]|0)+(h-J)|0;c[47622]=I;c[47619]=J;c[I+4>>2]=J|1;c[I+J+4>>2]=40;c[47623]=c[47738];break}b=c[47620]|0;if(g>>>0>>0){c[47620]=g;i=g}else i=b;d=g+h|0;b=190912;while(1){if((c[b>>2]|0)==(d|0)){C=198;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((C|0)==198?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;n=b+4|0;c[n>>2]=(c[n>>2]|0)+h;n=g+8|0;n=g+((n&7|0)==0?0:0-n&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;m=n+p|0;j=b-n-p|0;c[n+4>>2]=p|3;do if((b|0)!=(k|0)){if((b|0)==(c[47621]|0)){J=(c[47618]|0)+j|0;c[47618]=J;c[47621]=m;c[m+4>>2]=J|1;c[m+J>>2]=J;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;f=a>>>3;f:do if(a>>>0>=256){g=c[b+24>>2]|0;e=c[b+12>>2]|0;do if((e|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){H=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}if(d>>>0>>0)Va();else{c[d>>2]=0;H=a;break}}else{f=c[b+8>>2]|0;if(f>>>0>>0)Va();a=f+12|0;if((c[a>>2]|0)!=(b|0))Va();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;H=e;break}else Va()}while(0);if(!g)break;a=c[b+28>>2]|0;d=190768+(a<<2)|0;do if((b|0)!=(c[d>>2]|0))if(g>>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=H;if(!H)break f;else break}else Va();else{c[d>>2]=H;if(H|0)break;c[47617]=c[47617]&~(1<>>0>>0)Va();c[H+24>>2]=g;a=b+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0>>0)Va();else{c[H+16>>2]=d;c[d+24>>2]=H;break}while(0);a=c[a+4>>2]|0;if(!a)break;if(a>>>0<(c[47620]|0)>>>0)Va();else{c[H+20>>2]=a;c[a+24>>2]=H;break}}else{d=c[b+8>>2]|0;e=c[b+12>>2]|0;a=190504+(f<<1<<2)|0;do if((d|0)!=(a|0)){if(d>>>0>>0)Va();if((c[d+12>>2]|0)==(b|0))break;Va()}while(0);if((e|0)==(d|0)){c[47616]=c[47616]&~(1<>>0>>0)Va();a=e+8|0;if((c[a>>2]|0)==(b|0)){E=a;break}Va()}while(0);c[d+12>>2]=e;c[E>>2]=d}while(0);b=b+h|0;f=h+j|0}else f=j;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[m+4>>2]=f|1;c[m+f>>2]=f;b=f>>>3;if(f>>>0<256){d=190504+(b<<1<<2)|0;a=c[47616]|0;b=1<>2]|0;if(a>>>0>=(c[47620]|0)>>>0){I=a;J=b;break}Va()}while(0);c[J>>2]=m;c[I+12>>2]=m;c[m+8>>2]=I;c[m+12>>2]=d;break}b=f>>>8;do if(!b)b=0;else{if(f>>>0>16777215){b=31;break}I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;b=14-(H|I|b)+(J<>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=190768+(b<<2)|0;c[m+28>>2]=b;a=m+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[47617]|0;d=1<>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}a=f<<((b|0)==31?0:25-(b>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){C=265;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){C=262;break}else{a=a<<1;e=b}}if((C|0)==262)if(d>>>0<(c[47620]|0)>>>0)Va();else{c[d>>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}else if((C|0)==265){b=e+8|0;a=c[b>>2]|0;J=c[47620]|0;if(a>>>0>=J>>>0&e>>>0>=J>>>0){c[a+12>>2]=m;c[b>>2]=m;c[m+8>>2]=a;c[m+12>>2]=e;c[m+24>>2]=0;break}else Va()}}else{J=(c[47619]|0)+j|0;c[47619]=J;c[47622]=m;c[m+4>>2]=J|1}while(0);J=n+8|0;l=K;return J|0}b=190912;while(1){a=c[b>>2]|0;if(a>>>0<=k>>>0?(D=a+(c[b+4>>2]|0)|0,D>>>0>k>>>0):0)break;b=c[b+8>>2]|0}f=D+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=k+16|0;a=a>>>0>>0?k:a;b=a+8|0;d=g+8|0;d=(d&7|0)==0?0:0-d&7;J=g+d|0;d=h+-40-d|0;c[47622]=J;c[47619]=d;c[J+4>>2]=d|1;c[J+d+4>>2]=40;c[47623]=c[47738];d=a+4|0;c[d>>2]=27;c[b>>2]=c[47728];c[b+4>>2]=c[47729];c[b+8>>2]=c[47730];c[b+12>>2]=c[47731];c[47728]=g;c[47729]=h;c[47731]=0;c[47730]=b;b=a+24|0;do{J=b;b=b+4|0;c[b>>2]=7}while((J+8|0)>>>0>>0);if((a|0)!=(k|0)){g=a-k|0;c[d>>2]=c[d>>2]&-2;c[k+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=190504+(b<<1<<2)|0;a=c[47616]|0;b=1<>2]|0;if(a>>>0<(c[47620]|0)>>>0)Va();else{F=a;G=b}}else{c[47616]=a|b;F=d;G=d+8|0}c[G>>2]=k;c[F+12>>2]=k;c[k+8>>2]=F;c[k+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;d=14-(H|I|d)+(J<>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=190768+(d<<2)|0;c[k+28>>2]=d;c[k+20>>2]=0;c[f>>2]=0;b=c[47617]|0;a=1<>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(g|0)){C=292;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){C=289;break}else{a=a<<1;e=b}}if((C|0)==289)if(d>>>0<(c[47620]|0)>>>0)Va();else{c[d>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((C|0)==292){b=e+8|0;a=c[b>>2]|0;J=c[47620]|0;if(a>>>0>=J>>>0&e>>>0>=J>>>0){c[a+12>>2]=k;c[b>>2]=k;c[k+8>>2]=a;c[k+12>>2]=e;c[k+24>>2]=0;break}else Va()}}}else{J=c[47620]|0;if((J|0)==0|g>>>0>>0)c[47620]=g;c[47728]=g;c[47729]=h;c[47731]=0;c[47625]=c[47734];c[47624]=-1;b=0;do{J=190504+(b<<1<<2)|0;c[J+12>>2]=J;c[J+8>>2]=J;b=b+1|0}while((b|0)!=32);J=g+8|0;J=(J&7|0)==0?0:0-J&7;I=g+J|0;J=h+-40-J|0;c[47622]=I;c[47619]=J;c[I+4>>2]=J|1;c[I+J+4>>2]=40;c[47623]=c[47738]}while(0);b=c[47619]|0;if(b>>>0>p>>>0){H=b-p|0;c[47619]=H;J=c[47622]|0;I=J+p|0;c[47622]=I;c[I+4>>2]=H|1;c[J+4>>2]=p|3;J=J+8|0;l=K;return J|0}}c[(L1()|0)>>2]=12;J=0;l=K;return J|0}function l6(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!a)return;d=a+-8|0;h=c[47620]|0;if(d>>>0>>0)Va();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Va();e=a&-8;o=d+e|0;a:do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0>>0)Va();if((k|0)==(c[47621]|0)){a=o+4|0;b=c[a>>2]|0;if((b&3|0)!=3){r=k;f=j;m=k;break}c[47618]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=190504+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0>>0)Va();if((c[b+12>>2]|0)!=(k|0))Va()}if((d|0)==(b|0)){c[47616]=c[47616]&~(1<>>0>>0)Va();a=d+8|0;if((c[a>>2]|0)==(k|0))g=a;else Va()}else g=d+8|0;c[b+12>>2]=d;c[g>>2]=b;r=k;f=j;m=k;break}g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){d=k+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){i=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0>>0)Va();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0>>0)Va();a=e+12|0;if((c[a>>2]|0)!=(k|0))Va();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Va()}while(0);if(g){a=c[k+28>>2]|0;b=190768+(a<<2)|0;do if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[47617]=c[47617]&~(1<>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(k|0)&1)<<2)>>2]=i;if(!i){r=k;f=j;m=k;break a}else break}else Va();while(0);d=c[47620]|0;if(i>>>0>>0)Va();c[i+24>>2]=g;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0>>0)Va();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[47620]|0)>>>0)Va();else{c[i+20>>2]=a;c[a+24>>2]=i;r=k;f=j;m=k;break}else{r=k;f=j;m=k}}else{r=k;f=j;m=k}}else{r=d;f=e;m=d}while(0);if(m>>>0>=o>>>0)Va();a=o+4|0;b=c[a>>2]|0;if(!(b&1))Va();if(!(b&2)){a=c[47621]|0;if((o|0)==(c[47622]|0)){q=(c[47619]|0)+f|0;c[47619]=q;c[47622]=r;c[r+4>>2]=q|1;if((r|0)!=(a|0))return;c[47621]=0;c[47618]=0;return}if((o|0)==(a|0)){q=(c[47618]|0)+f|0;c[47618]=q;c[47621]=m;c[r+4>>2]=q|1;c[m+q>>2]=q;return}f=(b&-8)+f|0;e=b>>>3;b:do if(b>>>0>=256){g=c[o+24>>2]|0;a=c[o+12>>2]|0;do if((a|0)==(o|0)){d=o+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){n=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[47620]|0)>>>0)Va();else{c[b>>2]=0;n=a;break}}else{b=c[o+8>>2]|0;if(b>>>0<(c[47620]|0)>>>0)Va();d=b+12|0;if((c[d>>2]|0)!=(o|0))Va();e=a+8|0;if((c[e>>2]|0)==(o|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Va()}while(0);if(g|0){a=c[o+28>>2]|0;b=190768+(a<<2)|0;do if((o|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[47617]=c[47617]&~(1<>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(!n)break b;else break}else Va();while(0);d=c[47620]|0;if(n>>>0>>0)Va();c[n+24>>2]=g;a=o+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0>>0)Va();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[47620]|0)>>>0)Va();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[o+8>>2]|0;d=c[o+12>>2]|0;a=190504+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[47620]|0)>>>0)Va();if((c[b+12>>2]|0)!=(o|0))Va()}if((d|0)==(b|0)){c[47616]=c[47616]&~(1<>>0<(c[47620]|0)>>>0)Va();a=d+8|0;if((c[a>>2]|0)==(o|0))l=a;else Va()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[r+4>>2]=f|1;c[m+f>>2]=f;if((r|0)==(c[47621]|0)){c[47618]=f;return}}else{c[a>>2]=b&-2;c[r+4>>2]=f|1;c[m+f>>2]=f}a=f>>>3;if(f>>>0<256){d=190504+(a<<1<<2)|0;b=c[47616]|0;a=1<>2]|0;if(b>>>0<(c[47620]|0)>>>0)Va();else{p=b;q=a}}else{c[47616]=b|a;p=d;q=d+8|0}c[q>>2]=r;c[p+12>>2]=r;c[r+8>>2]=p;c[r+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{p=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;a=14-(o|p|a)+(q<>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=190768+(a<<2)|0;c[r+28>>2]=a;c[r+20>>2]=0;c[r+16>>2]=0;b=c[47617]|0;d=1<>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=124;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){a=121;break}else{b=b<<1;e=a}}if((a|0)==121)if(d>>>0<(c[47620]|0)>>>0)Va();else{c[d>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;break}else if((a|0)==124){a=e+8|0;b=c[a>>2]|0;q=c[47620]|0;if(b>>>0>=q>>>0&e>>>0>=q>>>0){c[b+12>>2]=r;c[a>>2]=r;c[r+8>>2]=b;c[r+12>>2]=e;c[r+24>>2]=0;break}else Va()}}else{c[47617]=b|d;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r}while(0);r=(c[47624]|0)+-1|0;c[47624]=r;if(!r)a=190920;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[47624]=-1;return}function m6(a,b){a=a|0;b=b|0;var d=0;if(a){d=S(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=k6(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;u6(a|0,0,d|0)|0;return a|0}function n6(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=k6(b)|0;return b|0}if(b>>>0>4294967231){c[(L1()|0)>>2]=12;b=0;return b|0}d=o6(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=k6(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;B6(d|0,a|0,(e>>>0>>0?e:b)|0)|0;l6(a);b=d;return b|0} +function o6(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=a+4|0;n=c[o>>2]|0;d=n&-8;k=a+d|0;i=c[47620]|0;e=n&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Va();f=c[k+4>>2]|0;if(!(f&1))Va();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[47736]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[o>>2]=n&1|b|2;c[m+4>>2]=d|3;o=m+d+4|0;c[o>>2]=c[o>>2]|1;p6(m,d);return a|0}if((k|0)==(c[47622]|0)){m=(c[47619]|0)+d|0;d=m-b|0;e=a+b|0;if(m>>>0<=b>>>0){a=0;return a|0}c[o>>2]=n&1|b|2;c[e+4>>2]=d|1;c[47622]=e;c[47619]=d;return a|0}if((k|0)==(c[47621]|0)){f=(c[47618]|0)+d|0;if(f>>>0>>0){a=0;return a|0}d=f-b|0;e=n&1;if(d>>>0>15){n=a+b|0;m=n+d|0;c[o>>2]=e|b|2;c[n+4>>2]=d|1;c[m>>2]=d;e=m+4|0;c[e>>2]=c[e>>2]&-2;e=n}else{c[o>>2]=e|f|2;e=a+f+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[47618]=d;c[47621]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0>>0){a=0;return a|0}m=l-b|0;g=f>>>3;a:do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){f=k+16|0;e=f+4|0;d=c[e>>2]|0;if(!d){d=c[f>>2]|0;if(!d){j=0;break}else e=f}while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Va();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0>>0)Va();d=g+12|0;if((c[d>>2]|0)!=(k|0))Va();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Va()}while(0);if(h|0){d=c[k+28>>2]|0;e=190768+(d<<2)|0;do if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[47617]=c[47617]&~(1<>>0>=(c[47620]|0)>>>0){c[h+16+(((c[h+16>>2]|0)!=(k|0)&1)<<2)>>2]=j;if(!j)break a;else break}else Va();while(0);f=c[47620]|0;if(j>>>0>>0)Va();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0>>0)Va();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[47620]|0)>>>0)Va();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=190504+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0>>0)Va();if((c[e+12>>2]|0)!=(k|0))Va()}if((f|0)==(e|0)){c[47616]=c[47616]&~(1<>>0>>0)Va();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Va()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);d=n&1;if(m>>>0<16){c[o>>2]=l|d|2;o=a+l+4|0;c[o>>2]=c[o>>2]|1;return a|0}else{n=a+b|0;c[o>>2]=d|b|2;c[n+4>>2]=m|3;o=n+m+4|0;c[o>>2]=c[o>>2]|1;p6(n,m);return a|0}return 0}function p6(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+b|0;d=c[a+4>>2]|0;a:do if(!(d&1)){g=c[a>>2]|0;if(!(d&3))return;l=a+(0-g)|0;k=g+b|0;i=c[47620]|0;if(l>>>0>>0)Va();if((l|0)==(c[47621]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;f=k;break}c[47618]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=g>>>3;if(g>>>0<256){d=c[l+8>>2]|0;b=c[l+12>>2]|0;a=190504+(e<<1<<2)|0;if((d|0)!=(a|0)){if(d>>>0>>0)Va();if((c[d+12>>2]|0)!=(l|0))Va()}if((b|0)==(d|0)){c[47616]=c[47616]&~(1<>>0>>0)Va();a=b+8|0;if((c[a>>2]|0)==(l|0))h=a;else Va()}else h=b+8|0;c[d+12>>2]=b;c[h>>2]=d;r=l;f=k;break}g=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){b=l+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){j=0;break}else d=b}while(1){b=a+20|0;e=c[b>>2]|0;if(e|0){a=e;d=b;continue}b=a+16|0;e=c[b>>2]|0;if(!e)break;else{a=e;d=b}}if(d>>>0>>0)Va();else{c[d>>2]=0;j=a;break}}else{e=c[l+8>>2]|0;if(e>>>0>>0)Va();a=e+12|0;if((c[a>>2]|0)!=(l|0))Va();d=b+8|0;if((c[d>>2]|0)==(l|0)){c[a>>2]=b;c[d>>2]=e;j=b;break}else Va()}while(0);if(g){a=c[l+28>>2]|0;d=190768+(a<<2)|0;do if((l|0)==(c[d>>2]|0)){c[d>>2]=j;if(!j){c[47617]=c[47617]&~(1<>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(l|0)&1)<<2)>>2]=j;if(!j){r=l;f=k;break a}else break}else Va();while(0);b=c[47620]|0;if(j>>>0>>0)Va();c[j+24>>2]=g;a=l+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0>>0)Va();else{c[j+16>>2]=d;c[d+24>>2]=j;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[47620]|0)>>>0)Va();else{c[j+20>>2]=a;c[a+24>>2]=j;r=l;f=k;break}else{r=l;f=k}}else{r=l;f=k}}else{r=a;f=b}while(0);h=c[47620]|0;if(o>>>0>>0)Va();a=o+4|0;d=c[a>>2]|0;if(!(d&2)){a=c[47621]|0;if((o|0)==(c[47622]|0)){q=(c[47619]|0)+f|0;c[47619]=q;c[47622]=r;c[r+4>>2]=q|1;if((r|0)!=(a|0))return;c[47621]=0;c[47618]=0;return}if((o|0)==(a|0)){q=(c[47618]|0)+f|0;c[47618]=q;c[47621]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}f=(d&-8)+f|0;e=d>>>3;b:do if(d>>>0>=256){g=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){b=o+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}else d=b}while(1){b=a+20|0;e=c[b>>2]|0;if(e|0){a=e;d=b;continue}b=a+16|0;e=c[b>>2]|0;if(!e)break;else{a=e;d=b}}if(d>>>0>>0)Va();else{c[d>>2]=0;n=a;break}}else{e=c[o+8>>2]|0;if(e>>>0>>0)Va();a=e+12|0;if((c[a>>2]|0)!=(o|0))Va();d=b+8|0;if((c[d>>2]|0)==(o|0)){c[a>>2]=b;c[d>>2]=e;n=b;break}else Va()}while(0);if(g|0){a=c[o+28>>2]|0;d=190768+(a<<2)|0;do if((o|0)==(c[d>>2]|0)){c[d>>2]=n;if(!n){c[47617]=c[47617]&~(1<>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(!n)break b;else break}else Va();while(0);b=c[47620]|0;if(n>>>0>>0)Va();c[n+24>>2]=g;a=o+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0>>0)Va();else{c[n+16>>2]=d;c[d+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[47620]|0)>>>0)Va();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{d=c[o+8>>2]|0;b=c[o+12>>2]|0;a=190504+(e<<1<<2)|0;if((d|0)!=(a|0)){if(d>>>0>>0)Va();if((c[d+12>>2]|0)!=(o|0))Va()}if((b|0)==(d|0)){c[47616]=c[47616]&~(1<>>0>>0)Va();a=b+8|0;if((c[a>>2]|0)==(o|0))m=a;else Va()}else m=b+8|0;c[d+12>>2]=b;c[m>>2]=d}while(0);c[r+4>>2]=f|1;c[r+f>>2]=f;if((r|0)==(c[47621]|0)){c[47618]=f;return}}else{c[a>>2]=d&-2;c[r+4>>2]=f|1;c[r+f>>2]=f}a=f>>>3;if(f>>>0<256){b=190504+(a<<1<<2)|0;d=c[47616]|0;a=1<>2]|0;if(d>>>0<(c[47620]|0)>>>0)Va();else{p=d;q=a}}else{c[47616]=d|a;p=b;q=b+8|0}c[q>>2]=r;c[p+12>>2]=r;c[r+8>>2]=p;c[r+12>>2]=b;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{p=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;a=14-(o|p|a)+(q<>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=190768+(a<<2)|0;c[r+28>>2]=a;c[r+20>>2]=0;c[r+16>>2]=0;d=c[47617]|0;b=1<>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}d=f<<((a|0)==31?0:25-(a>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=121;break}b=e+16+(d>>>31<<2)|0;a=c[b>>2]|0;if(!a){a=118;break}else{d=d<<1;e=a}}if((a|0)==118){if(b>>>0<(c[47620]|0)>>>0)Va();c[b>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((a|0)==121){a=e+8|0;d=c[a>>2]|0;q=c[47620]|0;if(!(d>>>0>=q>>>0&e>>>0>=q>>>0))Va();c[d+12>>2]=r;c[a>>2]=r;c[r+8>>2]=d;c[r+12>>2]=e;c[r+24>>2]=0;return}}function q6(a,b){a=a|0;b=b|0;if(a>>>0<9){b=k6(b)|0;return b|0}else{b=r6(a,b)|0;return b|0}return 0}function r6(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0>16?a:16;if(a+-1&a){d=16;while(1)if(d>>>0>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(L1()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=k6(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(d&a+-1){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;p6(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;h=b+g|0;c[a>>2]=g|d&1|2;c[h+4>>2]=i|3;g=h+i+4|0;c[g>>2]=c[g>>2]|1;p6(h,i)}i=b+8|0;return i|0}function s6(){}function t6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (D=d,a-c>>>0|0)|0}function u6(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function v6(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<>>0;return (D=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function x6(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;q=q+1|0;c[a>>2]=q;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=q;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;D=e;return d|0}f=f+1|0}e=e*2|0;d=n6(d|0,8*(e+1|0)|0)|0;d=x6(a|0,b|0,d|0,e|0)|0;D=e;return d|0}function y6(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<>c-32|0}function z6(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<>>c-32|0}function A6(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((f|0)<(d|0)){e=c[b+(f<<3)>>2]|0;if(!e)break;if((e|0)==(a|0))return c[b+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function B6(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return La(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function C6(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function D6(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (D=n,f)|0}else{if(!g){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (D=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(V(i|0)|0)-(V(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (D=n,f)|0}g=h-1|0;if(g&h|0){i=(V(h|0)|0)+33-(V(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (D=o,p)|0}else{p=C6(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (D=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (D=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (D=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((C6(i|0)|0)>>>0);return (D=o,p)|0}g=(V(i|0)|0)-(V(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (D=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=w6(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;t6(k|0,d|0,e|0,n|0)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=t6(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (D=o,p)|0}function E6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D6(a,b,c,d,0)|0}function F6(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=S(e,f)|0;d=a>>>16;a=(c>>>16)+(S(e,d)|0)|0;e=b>>>16;b=S(e,f)|0;return (D=(a>>>16)+(S(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function G6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=F6(e,f)|0;a=D;return (D=(S(b,f)|0)+(S(d,e)|0)+a|a&0,c|0|0)|0}function H6(a){a=a|0;var b=0,d=0;d=a+15&-16|0;b=c[i>>2]|0;a=b+d|0;if((d|0)>0&(a|0)<(b|0)|(a|0)<0){_()|0;Fa(12);return -1}c[i>>2]=a;if((a|0)>(Z()|0)?(Y()|0)==0:0){Fa(12);c[i>>2]=b;return -1}return b|0}function I6(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else B6(b,c,d)|0;return b|0}function J6(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g|0;D6(a,b,d,e,f)|0;l=g;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function K6(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function L6(a){a=a|0;return (a&255)<<8|a>>8&255|0}function M6(a,b){a=a|0;b=b|0;db[a&127](b|0)}function N6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return eb[a&63](b|0,c|0,d|0)|0}function O6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;fb[a&31](b|0,c|0,d|0,e|0,f|0)}function P6(a){a=a|0;return +gb[a&1]()}function Q6(a,b){a=a|0;b=b|0;return +hb[a&1](b|0)}function R6(a){a=a|0;return ib[a&3]()|0}function S6(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return jb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function T6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return kb[a&3](b|0,c|0,+d,+e)|0}function U6(a,b,c){a=a|0;b=b|0;c=c|0;lb[a&63](b|0,c|0)}function V6(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return mb[a&1](b|0,c|0,d|0,e|0,f|0,g|0)|0}function W6(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;nb[a&15](b|0,c|0,d|0,+e,+f,g|0)}function X6(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ob[a&0](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Y6(a,b){a=a|0;b=b|0;return pb[a&63](b|0)|0}function Z6(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;return +qb[a&7](+b,+c,+d)}function _6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;rb[a&127](b|0,c|0,d|0)}function $6(a){a=a|0;sb[a&15]()}function a7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return tb[a&127](b|0,c|0,d|0,e|0)|0}function b7(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ub[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function c7(a,b,c){a=a|0;b=b|0;c=c|0;return vb[a&127](b|0,c|0)|0}function d7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return wb[a&63](b|0,c|0,d|0,e|0,f|0)|0}function e7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;xb[a&31](b|0,c|0,d|0,e|0)}function f7(a){a=a|0;W(0)}function g7(a,b,c){a=a|0;b=b|0;c=c|0;W(1);return 0}function h7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;W(2)}function i7(){W(3);return 0.0}function j7(a){a=a|0;W(4);return 0.0}function k7(){W(5);return 0}function l7(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;W(6);return 0}function m7(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;W(7);return 0}function n7(a,b){a=a|0;b=b|0;W(8)}function o7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;W(9);return 0}function p7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;W(10)}function q7(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;W(11)}function r7(a){a=a|0;W(12);return 0}function s7(a,b,c){a=+a;b=+b;c=+c;W(13);return 0.0}function t7(a,b,c){a=a|0;b=b|0;c=c|0;W(14)}function u7(){W(15)}function v7(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W(16);return 0}function w7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;W(17)}function x7(a,b){a=a|0;b=b|0;W(18);return 0}function y7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;W(19);return 0}function z7(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W(20)} + +// EMSCRIPTEN_END_FUNCS +var db=[f7,Jb,Kb,Ob,Pb,Qb,ic,jc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Zc,_c,bd,cd,dd,ed,fd,gd,hd,td,ud,vd,xd,yd,zd,Ad,Bd,Cd,Dd,Ed,Pd,Qd,Rd,Td,Ud,Vd,Wd,Xd,Yd,Zd,_d,$d,be,oe,pe,qe,re,Ce,De,Ee,Ge,Te,Ue,Ve,Xe,Ye,Ze,_e,$e,af,bf,cf,df,nf,of,pf,qf,Tf,Of,mm,Yl,ap,Bo,Lp,Up,Xn,Zn,Ip,Jp,Ul,Vl,$n,io,ko,vo,CB,VM,lN,XM,WM,HN,sM,vM,FS,KS,Hf,Al,Fo,Jo,bp,l6,Uv,qA,wG,pI,TU,yR,zQ,LL,lV,OX,hY,iY,oY,f7,f7,f7,f7,f7,f7,f7,f7,f7];var eb=[g7,Em,Jv,Az,Iz,Rz,Wz,TB,XB,UL,NP,OU,w_,C_,W$,a0,k$,q$,I1,J1,P1,Q1,N2,dA,Um,xv,op,kt,Sx,Ux,Xx,Yz,rG,i2,LD,z4,OO,QL,FR,jY,C0,K$,w0,G0,s4,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7];var fb=[h7,$c,Fd,Md,ae,Fe,F_,G_,W_,X_,t0,d0,e0,t$,u$,xl,uG,AQ,o_,p_,h7,h7,h7,h7,h7,h7,h7,h7,h7,h7,h7,h7];var gb=[i7,SO];var hb=[j7,ZO];var ib=[k7,Yq,RK,IL];var jb=[l7,F0,v0,l7];var kb=[m7,su,nu,m7];var lb=[n7,Pc,Uc,jd,od,Ld,he,xe,Me,kf,wf,$B,pN,TN,LN,GN,jN,kN,PN,QN,IS,MS,aM,gA,sG,TK,qQ,PW,NX,kY,lY,pY,rY,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7];var mb=[o7,PX];var nb=[p7,KH,LH,MH,NH,OH,PH,QH,RH,p7,p7,p7,p7,p7,p7,p7];var ob=[q7];var pb=[r7,$g,ug,Im,Jm,VB,YB,FQ,GQ,xS,yS,zS,AS,BS,CS,DS,ES,H1,Fb,oF,vl,yl,Xm,IK,qB,gC,pB,NK,SK,rB,rQ,HK,wQ,xQ,qY,k6,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7];var qb=[s7,bJ,cJ,dJ,eJ,s7,s7,s7];var rb=[t7,Rb,Sb,Vb,Gc,Oc,Qc,Tc,id,kd,nd,Gd,Hd,Kd,ce,de,ge,se,te,we,He,Ie,Le,ef,ff,jf,rf,sf,vf,lk,mk,nk,Fm,Bz,Jz,nA,DB,dC,NC,RD,jG,OJ,JL,VL,uM,OP,RP,fR,dR,GS,HS,JS,LS,NS,PU,CW,BW,GA,gB,rC,VC,YC,MK,PO,OL,uQ,yQ,DW,FW,GW,OW,QW,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7];var sb=[u7,RO,OK,PK,QK,UK,VK,WK,UU,u7,u7,u7,u7,u7,u7,u7];var tb=[v7,Gm,Or,Kv,Cz,Kz,SA,QD,TA,kB,zB,BB,MB,LB,_B,cC,eC,KL,PP,gR,eR,cT,QU,kV,jV,q_,r_,s_,t_,u_,v_,x_,A_,E_,Q$,R$,S$,T$,U$,V$,X$,_$,c0,e$,f$,g$,h$,i$,j$,l$,o$,s$,$z,RC,vG,QO,dZ,hZ,oZ,yZ,HZ,MZ,KZ,NZ,H0,j_,a_,M$,N$,D0,E0,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7];var ub=[w7,Ub,Sc,md,Jd,fe,ve,Ke,hf,uf,BQ,w7,w7,w7,w7,w7];var vb=[x7,xB,UB,ZB,RN,SN,JN,FN,nN,ZW,_W,$W,aX,bX,cX,eX,fX,gX,hX,iX,jX,kX,lX,mX,nX,oX,pX,qX,rX,sX,tX,uX,vX,wX,xX,yX,zX,AX,BX,CX,y_,z_,B_,Y_,Z_,__,$_,a$,b$,c$,d$,Y$,Z$,$$,m$,n$,p$,mF,kg,_g,Bh,di,vi,Gk,Ek,wl,zl,Wo,eq,gr,Cr,Er,Gr,Hr,Jr,Ir,Ur,et,jt,lt,qv,px,CE,BE,AE,tG,hC,KK,GG,WG,RG,SG,TH,Z3,W5,MO,_P,NA,cV,UA,WA,sQ,f2,DT,YW,mY,nY,n6,l_,m_,n_,J5,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7];var wb=[y7,yB,oN,KN,J0,K0,L0,M0,O0,P0,Q0,R0,S0,U0,V0,W0,X0,Y0,T0,w1,x1,n1,g1,Z0,_0,$0,b1,a1,c1,d1,e1,f1,h1,i1,j1,k1,l1,m1,o1,p1,q1,r1,v1,t1,s1,u1,C1,y1,z1,A1,B1,D1,E1,F1,y7,y7,y7,y7,y7,y7,y7,y7,y7,y7];var xb=[z7,Tb,Rc,ld,wd,Id,Sd,ee,ue,Je,We,gf,tf,Kf,Jf,If,Gf,Ff,Ef,hc,Df,Cf,AB,mN,IN,D_,b0,r$,k3,tQ,vQ,O$];return{_i64Subtract:t6,_memset:u6,_bitshift64Lshr:z6,_bitshift64Shl:v6,_fflush:m4,_bitshift64Ashr:y6,_vizLastErrorMessage:Gb,_sbrk:H6,_memcpy:B6,_llvm_bswap_i32:K6,___muldi3:G6,___uremdi3:J6,_testSetjmp:A6,_llvm_cttz_i32:C6,_vizCreateFile:Hb,___udivmoddi4:D6,_realloc:n6,_i64Add:w6,_llvm_bswap_i16:L6,_emscripten_get_global_libc:G1,_htons:L4,___udivdi3:E6,___errno_location:L1,___muldsi3:F6,_vizRenderFromString:Ib,_saveSetjmp:x6,_free:l6,_dtextract:Pz,_memmove:I6,_malloc:k6,_memalign:q6,runPostSets:s6,stackAlloc:yb,stackSave:zb,stackRestore:Ab,establishStackSpace:Bb,setTempRet0:Db,getTempRet0:Eb,setThrew:Cb,stackAlloc:yb,stackSave:zb,stackRestore:Ab,establishStackSpace:Bb,setThrew:Cb,setTempRet0:Db,getTempRet0:Eb,dynCall_vi:M6,dynCall_iiii:N6,dynCall_viiiii:O6,dynCall_d:P6,dynCall_di:Q6,dynCall_i:R6,dynCall_iiiiiiiiiii:S6,dynCall_iiidd:T6,dynCall_vii:U6,dynCall_iiiiiii:V6,dynCall_viiiddi:W6,dynCall_viiiiiiiii:X6,dynCall_ii:Y6,dynCall_dddd:Z6,dynCall_viii:_6,dynCall_v:$6,dynCall_iiiii:a7,dynCall_viiiiii:b7,dynCall_iii:c7,dynCall_iiiiii:d7,dynCall_viiii:e7}}) + + +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var stackSave=Module["stackSave"]=asm["stackSave"];var _vizCreateFile=Module["_vizCreateFile"]=asm["_vizCreateFile"];var _vizLastErrorMessage=Module["_vizLastErrorMessage"]=asm["_vizLastErrorMessage"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var _vizRenderFromString=Module["_vizRenderFromString"]=asm["_vizRenderFromString"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _fflush=Module["_fflush"]=asm["_fflush"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var _htons=Module["_htons"]=asm["_htons"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setThrew=Module["setThrew"]=asm["setThrew"];var _dtextract=Module["_dtextract"]=asm["_dtextract"];var _memmove=Module["_memmove"]=asm["_memmove"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var _malloc=Module["_malloc"]=asm["_malloc"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var _memalign=Module["_memalign"]=asm["_memalign"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_d=Module["dynCall_d"]=asm["dynCall_d"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_iiiiiiiiiii=Module["dynCall_iiiiiiiiiii"]=asm["dynCall_iiiiiiiiiii"];var dynCall_iiidd=Module["dynCall_iiidd"]=asm["dynCall_iiidd"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_viiiddi=Module["dynCall_viiiddi"]=asm["dynCall_viiiddi"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_dddd=Module["dynCall_dddd"]=asm["dynCall_dddd"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run() + + + + + + return Module; +}; +function Viz(src) { + var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; + var format = options.format === undefined ? "svg" : options.format; + var engine = options.engine === undefined ? "dot" : options.engine; + var scale = options.scale; + var totalMemory = options.totalMemory; + var files = options.files === undefined ? [] : options.files; + var images = options.images === undefined ? [] : options.images; + var i; + + for (i = 0; i < images.length; i++) { + files.push({ path: images[i].path, data: "\n\n" }); + } + + if (format == "png-image-element") { + return Viz.svgXmlToPngImageElement(render(src, "svg", engine, totalMemory, files), scale); + } else { + return render(src, format, engine, totalMemory, files); + } +} + +function render(src, format, engine, totalMemory, files) { + var graphviz = Module({ TOTAL_MEMORY: totalMemory }); + var i; + + for (i = 0; i < files.length; i++) { + graphviz["ccall"]("vizCreateFile", "number", ["string", "string"], [files[i].path, files[i].data]); + } + + var resultPointer = graphviz["ccall"]("vizRenderFromString", "number", ["string", "string", "string"], [src, format, engine]); + var resultString = graphviz["Pointer_stringify"](resultPointer); + + var errorMessagePointer = graphviz["ccall"]("vizLastErrorMessage", "number", [], []); + var errorMessageString = graphviz["Pointer_stringify"](errorMessagePointer); + + if (errorMessageString != "") { + throw new Error(errorMessageString); + } + + return resultString; +} + +// https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding +function b64EncodeUnicode(str) { + return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) { + return String.fromCharCode('0x' + p1); + })); +} + +Viz.svgXmlToPngImageElement = function(svgXml, scale, callback) { + if (scale === undefined) { + if ("devicePixelRatio" in window && window.devicePixelRatio > 1) { + scale = window.devicePixelRatio; + } else { + scale = 1; + } + } + + var pngImage = new Image(); + + try { + if (typeof fabric === "object" && fabric.loadSVGFromString) { + fabric.loadSVGFromString(svgXml, function(objects, options) { + // If there's something wrong with the SVG, Fabric may return an empty array of objects. Graphviz appears to give us at least one element back even given an empty graph, so we will assume an error in this case. + if (objects.length == 0) { + if (callback !== undefined) { + callback(new Error("Error loading SVG with Fabric")); + return; + } else { + throw new Error("Error loading SVG with Fabric"); + } + } + + var element = document.createElement("canvas"); + element.width = options.width; + element.height = options.height; + + var canvas = new fabric.Canvas(element, { enableRetinaScaling: false }); + var obj = fabric.util.groupSVGElements(objects, options); + canvas.add(obj).renderAll(); + + pngImage.src = canvas.toDataURL({ multiplier: scale }); + pngImage.width = options.width; + pngImage.height = options.height; + + if (callback !== undefined) { + callback(null, pngImage); + } + }); + } else { + var svgImage = new Image(); + + svgImage.onload = function() { + var canvas = document.createElement("canvas"); + canvas.width = svgImage.width * scale; + canvas.height = svgImage.height * scale; + + var context = canvas.getContext("2d"); + context.drawImage(svgImage, 0, 0, canvas.width, canvas.height); + + pngImage.src = canvas.toDataURL("image/png"); + pngImage.width = svgImage.width; + pngImage.height = svgImage.height; + + if (callback !== undefined) { + callback(null, pngImage); + } + } + + svgImage.onerror = function(e) { + var error; + + if ('error' in e) { + error = e.error; + } else { + error = new Error('Error loading SVG'); + } + + if (callback !== undefined) { + callback(error); + } else { + throw error; + } + } + + svgImage.src = "data:image/svg+xml;base64," + b64EncodeUnicode(svgXml); + } + } catch (e) { + if (callback !== undefined) { + callback(e); + } else { + throw e; + } + } + + if (callback === undefined) { + return pngImage; + } +} + +Viz.svgXmlToPngBase64 = function(svgXml, scale, callback) { + Viz.svgXmlToPngImageElement(svgXml, scale, function(err, image) { + if (err) { + callback(err); + } else { + callback(null, image.src.slice("data:image/png;base64,".length)); + } + }); +} +if (typeof module === "object" && module.exports) { + module.exports = Viz; +} else { + global.Viz = Viz; +} + +})(this);